In an embodiment, a memory device includes functionality (e.g., mode, command, etc.) to concurrently activate/access a plurality of rows across a corresponding plurality of memory banks. In an embodiment, the plurality of memory banks belong to the same bank group. When concurrently accessing the memory banks of a bank group, the row address and column address are provided to all of the memory banks of the bank group.
In an embodiment, additional multiplexer/demultiplexer (e.g., steering logic) may be used to route non-payload (e.g., host metadata, non-host metadata such as memory device metadata, memory device counters, controller generated metadata, etc.) from the concurrently activated memory banks of the bank group to/from the data interface of the memory device. The steering logic may route and/or serialize the metadata from the concurrently activated memory banks of the bank group such that the non-payload data from a respective memory bank is communicated via the same data signal(s) (e.g., DQ[0], DQ[1], etc.) of the data interface. The steering logic may route and/or serialize the metadata from the concurrently activated memory banks of the bank group such that the non-payload data is communicated via the data interface using the same bit width and/or burst length as host data is communicated when only one memory bank is accessed.
The descriptions and embodiments disclosed herein may be made with references to DRAM memory devices. This, however, should be understood to be a first example. Other example memory technologies include, but are not limited to static random access memory (SRAM), non-volatile memory (such as flash), conductive bridging random access memory (CBRAM—a.k.a., programmable metallization cell-PMC), resistive random access memory (a.k.a., RRAM or ReRAM), magnetoresistive random-access memory (a.k.a., MRAM), Spin-Torque Transfer (a.k.a., STT-MRAM), phase change memory (a.k.a., PCM), ferroelectric random access memory (a.k.a., FeRAM, or FRAM), and the like, and/or combinations thereof. Accordingly, it should be understood that in the disclosures and/or descriptions given herein, these aforementioned technologies may be substituted for, included with, and/or encompassed within, references to memory IC die, memory devices, memory, DRAM, DRAM devices, memory arrays, and/or DRAM arrays made herein.
CA interface 121 of controller 120 is operatively coupled to CA interface 111 of memory device 110. CA interface 121 of controller 120 is operatively coupled to CA interface 111 of memory device 110 to at least communicate, from controller 120, commands, addresses, and configuration information to memory device 110. DQ interface 122 of controller 120 is operatively coupled to DQ interface 112 of memory device 110. DQ interface 122 of controller 120 is operatively coupled to DQ interface 112 of memory device 110 to communicate data between controller 120 and memory device 110.
Memory controller 120 and memory device 110 may be integrated circuit type devices, such as are commonly referred to as “chips”. A memory controller, such as memory controller 120, manages the flow of data going to and from memory devices and/or memory modules. Memory device 110 may be a standalone device, or may be a component of a memory module such as a DIMM module used in servers. Memory device 110 may be, or be part of, a component having a “stack” of memory devices. Memory device 110 may be a device that adheres to, or is compatible with, a dynamic random access memory (DRAM) specification. A memory controller can be a separate, standalone chip, or integrated into another chip. For example, a memory controller 120 may be included on a single die with a microprocessor, included as a chip co-packaged with one or more microprocessor chips, included as part of a more complex integrated circuit system such as a block of a system on a chip (SOC), or be remotely coupled to one or more microprocessors via a fabric interconnect or other type of interconnect.
CA interface 111 of memory device 110 is operatively coupled to row address distribution circuitry 116, column address distribution circuitry 117, and control circuitry 115. Row address distribution circuitry 116 is operatively coupled to row circuitry 131a-131c. Column address distribution circuitry 117 is operatively coupled to column circuitry 132a-132c. Row address distribution circuitry 116 is operatively coupled to row circuitry 131a-131c to at least activate rows in one or more of memory arrays 130a-130c. Column address distribution circuitry 117 is operatively coupled to column circuitry 132a-132c to at least sense values from activated rows, and to decode and provide the values of selected columns to other circuitry of memory device 110 (e.g., corresponding error control circuitry 133a-133c, data MUX circuitry 118, etc.) Error control circuitry 133a-133c may comprise error-detection code (EDC) and/or error correction code (ECC) functionality to detect and/or correct data and/or metadata errors.
Memory array 130a of memory device 110 is logically subdivided into column group 130aa-130ab (or MAT groups, columns of MATs, sections, assignments, and/or associations). Memory array 130b of memory device 110 is logically subdivided into column group 130ba-130bb. Memory array 130c of memory device 110 is logically subdivided into column group 130ca-130cb. Data column groups 130aa-130ca are to store data (e.g., host data) provided to controller 120. Metadata information fields 130ab-130cb are to store metadata associated with the rows in memory arrays 130a-130c. Thus, it should be understood that each row of memory arrays 130a-130c may be viewed as comprising two “fields”—a data field and a metadata field. In an embodiment, the metadata field of a row may be used to store a counter value or other information related to the row it is associated with and/or resides in (i.e., is activated in response to the same row address as the rest of the row—a.k.a., metadata field). At least how and when the metadata values associated with the rows of memory arrays 130a-130c are used and/or updated is controlled, commanded, and/or configured by controller 120.
Returning now to
In an embodiment, memory device 110 operates in at least two modes. In a first mode, memory device 110, in response to per-row commands (e.g., activate-ACT) or per-row column commands (e.g., read-RD, write-WR, etc.) updates (e.g., writes, increments, decrements, compares, etc. under the control of control circuitry 115), the metadata field (e.g., metadata field 150ab) of a single memory array (e.g., memory array 130a) as part of the process of performing the per-row or per-row column command. Also in this first mode, per-row or per-row column commands that communicate data via DQ interface 112 (e.g., as selected by data MUX circuitry 118) communicate the data from/to the row data field (e.g., row data field 150aa) of that single row of the single memory array (e.g., memory array 130a).
In particular, for example, in the first mode, and in response to a per-row activate (ACT) command, control circuitry 115 configures row address distribution circuitry 116 to activate a single row in a single one of memory arrays (e.g., only memory array 130a of memory arrays 130a-130c) thereby placing the contents of that row in column circuitry 132a. In response to a per-row column access command (e.g., read or write), control circuitry 115 configures data MUX circuitry 118 to route the addressed column data from/to the row data field (e.g., the row data from column circuitry group 132aa) to/from DQ interface 112).
In a second mode (e.g., in response to a command, register value, etc.), in an embodiment, memory device 110 accesses (e.g., reads or writes) data communicated via DQ interface 112 (e.g., as selected by data MUX circuitry 118) from/to the metadata field (e.g., metadata field 150ab). In an embodiment, memory device 110 may, in the second mode, access the rows of all of a group of memory arrays (e.g., memory arrays 130a-130c). In particular, if the memory arrays 130-130c are organized into bank groups, memory device 110 may, in the second mode, access the addressed row in all of the memory arrays (e.g., memory arrays 130a-130c) of the addressed bank group and communicate the data in the metadata fields of those rows via DQ interface 112. In other words, for example, while in the second mode (such as in response to a “per bank group” command—e.g., “activate bank group”—ACTbg), memory device 110 (e.g., under the control of control circuitry 115) provides the row address to all of the memory arrays 130a-130c of the bank group using row address distribution circuitry 116. In an embodiment, memory device 130 may have different timing (e.g., command to data, row command to column command, etc.) for concurrently activating and/or accessing the addressed row in all of the memory arrays 130a-130c of a bank group (i.e., in the second mode) when compared to activating and/or accessing only a row in a single memory array (i.e., in the first mode).
In an embodiment, controller 120, under the control of control circuitry 125, transmits a per-row command (e.g., activate command, precharge command) and an associated row address, to memory device 110. Controller also transmits a single-bank column command (e.g., read or write) and an associated column address. These are illustrated in
Based on the per-row command and at least a portion of the associated row address, control circuitry 115 configures row address distribution circuitry 116 to provide an indicator of the associated row address to row circuitry 131a that is coupled with a single memory array 130a to (at least) activate/precharge rows in that single memory array 130a. This is illustrated in
Based on the single bank column command, control circuitry 115 configures column address distribution circuitry 117 to provide an indicator of the associated column address to column circuitry 132a that is coupled with the single memory array 130a to (at least) receive values stored and/or to be stored in the row addressed by the associated row address. This is illustrated in
Based on the per-row command being a per-row command (e.g., based on memory device being in the first mode or the command defaulting to being a per-row command), control circuitry 115 configures data MUX circuitry 118 to communicate respective read/write data respectively from/to data column group 130aa respectively to/from DQ interface 112 via column circuitry group 132aa, and ECC 133a. This is illustrated in
In an embodiment, controller 120, under the control of control circuitry 125, transmits a multi-bank row command (e.g., activate command, precharge command) and an associated row address, to memory device 110. Controller also transmits a multi-bank column command (e.g., read or write). In some embodiments, controller 120 may also transmit an associated column address. These are illustrated in
Based on the multi-bank row command and at least a portion of the associated row address, control circuitry 115 configures row address distribution circuitry 116 to provide an indicator of the associated row address to row circuitries 131a-131c that are respectively coupled with a plurality of memory arrays 130a-130c to (at least) activate/precharge rows in those memory arrays 130a-130c. This is illustrated in
Based on the multi-bank column command, control circuitry 115 configures column address distribution circuitry 117 to provide an indicator of the associated column address to column circuitries 132a-132c that are respectively coupled with a plurality of memory arrays 130a-130c to (at least) receive values stored and/or to be stored in the row of each memory array 130a-130c addressed by the associated row address. This is illustrated in
Based on the multi-bank row command being a multi-bank row command (e.g., based on memory device being in the second mode or the command defaulting to being a multi-bank row command), control circuitry 115 configures data MUX circuitry 118 to communicate respective read/write data respectively from/to respective metadata column groups 130ab-130cb respectively to/from DQ interface 112 via respective column group circuitries 132ab-132cb, and respective ECC 133a-133c. This is illustrated in
MAT #8 218 is considered a “parity” MAT. Parity MAT #8 has 512 bitlines. Parity MAT #8 218 includes column select lines to access metadata parity (i.e., parity data associated with metadata). In particular, MAT #8 218 is accessed using two (2) “metadata parity” groupings of four (4) global data line (GDQ) pairs with 64 column select lines (CSL) and one (1) metadata parity column select line (MPCSL) each. Thus, data MAT #8 218, having two metadata parity select lines (MPCSLs) can access eight (8) bits of metadata parity data by sharing the two GDQ pairs with the columns used to access regular (e.g., “host”) data parity or ECC. In this embodiment, ECC circuitry 133 is shared between regular data accesses and metadata accesses and the 16 bits of metadata are padded with 96 bits of fixed data to fit the (136,128) ECC. In another embodiment, metadata access might have a dedicated separate ECC circuit and use part of the metadata as parity for the metadata e.g., using a (16,11) code. In that case MAT #8 218 does not require to provide parity bits in a metadata access.
In association with the first command sequence, and to the memory device, a first row address, a first bank address, and a first bank group address are transmitted (304). For example, in association with the first command sequence, controller 120 may transmit, to memory device 110, a first row address that includes fields for a first bank group address value, a first bank address value, and a first row of the bank address value. In response to the first command sequence and from the memory device, first data stored by a first single row of a first single DRAM bank of a first bank group of the memory device is received, where the first single row was addressed by the first row address, the first single DRAM bank was addressed by the first bank address, and the first bank group was addressed by the first bank group address (306). For example, from memory device 110, controller 120 may receive, in response to the first command sequence (e.g., ACT followed by a RD, and/or MRS followed by ACT, followed by RD) transmitted to memory device 110, a burst (e.g., 16 bytes) of data from the row addressed by the first bank group address value, the first bank address value, and the first row of the bank address value.
To the memory device, a second command sequence is transmitted (308). For example, controller 120, under the control of control circuitry 125, may transmit a second command sequence (e.g., ACTbg followed by a RD, and/or MRS followed by ACT, followed by RD) to memory device 110. In association with the second command sequence, and to the memory device, a second row address and a second bank group address are transmitted (310). For example, in association with the second command sequence, controller 120 may transmit, to memory device 110, a second row address that includes fields for a second bank group address value, a second bank address value, and a second row of the bank address value. In an example, the second bank address value may be ignored by memory device 110.
In response to the second command sequence and from the memory device, second data stored by each of a plurality of single rows of a corresponding plurality of DRAM banks of a second bank group of the memory device is received, where the plurality of single rows were addressed by the second row address, and the second bank group was addressed by the second bank group address (312). For example, from memory device 110, controller 120 may receive, in response to the second command sequence (e.g., ACTbg followed by RD, and/or MRS followed by ACT, followed by RD) transmitted to memory device 110, a burst (e.g., 16 bytes) of data from the rows in each of memory arrays 130a-130c addressed by the second row of the bank address value.
In association with the first command, and by the memory device, a first row address, a first bank address, and a first bank group address are received (404). For example, in association with the first command and from controller 120, memory device 110 may receive a first row address that includes fields for a first bank group address value, a first bank address value, and a first row of the bank address value. In response to the first command and by the memory device, a first single row of a first single DRAM bank of a first bank group of the memory device is activated, where the first single row was addressed by the first row address, the first single DRAM bank was addressed by the first bank address, and the first bank group was addressed by the first bank group address (406). For example, memory device 110 may, in response to the first command received by memory device 110, activate the single row addressed by the first bank group address value, in the bank addressed by the first bank address value in the bank group addressed by the first bank group address value.
By the memory device, a second command is received (408). For example, memory device 110 may receive a second command from controller 120. In association with the second command, and by the memory device, a second row address and a second bank group address are received (410). For example, in association with the second command, memory device 110 may receive a second row address that includes fields for a second bank group address value, a second bank address value, and a second row of the bank address value. In an example, memory device 110 may ignore the second bank address value.
In response to the second command and by the memory device, a plurality of single rows of a corresponding plurality of DRAM banks of a second bank group of the memory device are activated, where the plurality of single rows were addressed by the second row address, and the second bank group was addressed by the second bank group address (412). For example, memory device 110 may, in response to the second command received by memory device 110, activate the rows in each of memory arrays 130a-130c addressed by the second row of the bank address value.
In response to the first command and by the memory device, a first indicator of the first row address is transmitted to a first single DRAM bank of a first bank group of the memory device where the first single DRAM bank was addressed by the first bank address and the first bank group was addressed by the first bank group address (504). For example, in response to the first command, memory device 110 may configure row address distribution circuitry 116 to transmit an indicator of the first row value to row circuitry 131a and not transmit the indicator of the first row value to row circuitry 131b and row circuitry 131c.
By the memory device, a second command and associated second row address and second bank group address is received (506). For example, memory device 110 may receive, from controller 120, a second command in association with fields having a second bank group address value and a second row value. In response to the second command and by the memory device, a second indicator of the second row address is transmitted to each of a plurality of DRAM banks of a second bank group, where a single row in each of the plurality of DRAM banks of the second bank group is addressed by the second row address and the second bank group is addressed by the second bank group address (508). For example, in response to the second command, memory device 110 may configure row address distribution circuitry 116 to transmit an indicator of the second row value to row circuitry 131a, row circuitry 131b, and row circuitry 131c.
In response to the first command and by the memory device, a first indicator of the first row address and a second indicator of the first column address is transmitted to a first single DRAM bank of a first bank group of the memory device where the first single DRAM bank was addressed by the first bank address and the first bank group was addressed by the first bank group address (604). For example, in response to the first command, memory device 110 may configure row address distribution circuitry 116 to transmit an indicator of the first row value to row circuitry 131a and not transmit the indicator of the first row value to row circuitry 131b and row circuitry 131c, and memory device 110 may also configure column address distribution circuitry 117 to transmit an indicator of the first column value to column circuitry 132a and not transmit the indicator of the first column value to column circuitry 132b and column circuitry 132c.
By the memory device, a second command and associated second row address, second bank group address, and second column address is received (606). For example, memory device 110, may receive from controller 120, fields having a second bank group address value a second row value, and a second column address value in association with a second command. In response to the second command and by the memory device, a third indicator of the second row address and a fourth indicator of the second column address is transmitted to each of a plurality of DRAM banks of a second bank group, where the second bank group is addressed by the second bank group address (608). For example, in response to the second command, memory device 110 may configure row address distribution circuitry 116 to transmit an indicator of the second row value to row circuitry 131a, row circuitry 131b, and row circuitry 131c, and also configure column address distribution circuitry 117 to transmit an indicator of the second column value to column circuitry 132a, column circuitry 132b, and column circuitry 132c.
In association with the first command, and to the memory device, a first row address, a first bank address, and a first bank group address are transmitted (704). For example, in association with the first command, controller 120 may transmit, to memory device 110, a first row address that includes fields for a first bank group address value, a first bank address value, and a first row of the bank address value. In response to the first command and from the memory device, first data stored by a first single row of a first single DRAM bank of a first bank group of the memory device is received, where the first single row was addressed by the first row address, the first single DRAM bank was addressed by the first bank address, and the first bank group was addressed by the first bank group address (706). For example, from memory device 110, controller 120 may receive, in response to the first command transmitted to memory device 110, a burst (e.g., 16 bytes) of data from the row addressed by the first bank group address value, the first bank address value, and the first row of the bank address value.
To the memory device, a second command is transmitted (708). For example, controller 120, under the control of control circuitry 125, may transmit a second command to memory device 110. In association with the second command, and to the memory device, a second row address and a second bank group address are transmitted (710). For example, in association with the second command, controller 120 may transmit, to memory device 110, a second row address that includes fields for a second bank group address value, a second bank address value, and a second row of the bank address value. In an example, the second bank address value may be ignored by memory device 110.
In response to the second command and from the memory device, metadata distributed across each of a plurality of single rows of a corresponding plurality of DRAM banks of a second bank group of the memory device is received, where the plurality of single rows were addressed by the second row address, and the second bank group was addressed by the second bank group address (712). For example, from memory device 110, controller 120 may receive, in response to the second command transmitted to memory device 110, a burst (e.g., 16 bytes) of data from the metadata column groups 130ab-130cb of the rows in each of memory arrays 130a-130c addressed by the second row of the bank address value.
In association with a second command, and to the memory device, the second command, a first row address, a first bank address, and a first bank group address are transmitted (804). For example, in association with a second command, controller 120 may transmit, to memory device 110, the second command, a first row address that includes fields for a first bank group address value, a first bank address value, and a first row of the bank address value. In response to the second command and from the memory device, host data stored by a first single row of a first single DRAM bank of a first bank group of the memory device is received, where the first single row was addressed by the first row address, the first single DRAM bank was addressed by the first bank address, and the first bank group was addressed by the first bank group address (806). For example, from memory device 110, controller 120 may receive, in response to the second command transmitted to memory device 110, a burst (e.g., 16 bytes) of data from data column group 130aa of the row addressed by the first bank group address value, the first bank address value, and the first row of the bank address value.
To the memory device, a third command to configure the memory device to access metadata is transmitted (808). For example, controller 120, under the control of control circuitry 125, may transmit a third command to memory device 110, a command (e.g., MRS command) to place memory device 110 in a second mode that accesses data from metadata column group 130ab. In another example, controller 120, under the control of control circuitry 125, may transmit a “bank group” activate or “bank group” precharge command to memory device 110 that indicates memory device 110 is to be placed in a second mode where subsequent column commands access (read or write) data from/to data column group 130ab.
In association with the fourth command, and to the memory device, a second row address and a second bank group address are transmitted (810). For example, in association with the second command, controller 120 may transmit, to memory device 110, a second row address that includes fields for a second bank group address value, a second bank address value, and a second row of the bank address value. In an example, the second bank address value may be ignored by memory device 110.
In response to the fourth command and from the memory device, metadata distributed across each of a plurality of single rows of a corresponding plurality of DRAM banks of a second bank group of the memory device is received, where the plurality of single rows were addressed by the second row address, and the second bank group was addressed by the second bank group address (812). For example, from memory device 110, controller 120 may receive, in response to the fourth command transmitted to memory device 110, a burst (e.g., 16 bytes) of data from the metadata column groups 130ab-130cb of the rows in each of memory arrays 130a-130c addressed by the second row of the bank address value.
In association with a second command, and by the memory device, the second command, a first row address, a first bank address, and a first bank group address are received (904). For example, in association with a second command, memory device 110 may receive a first row address that includes fields for a first bank group address value, a first bank address value, and a first row of the bank address value. In response to the second command and by the memory device, host data stored by a first single row of a first single DRAM bank of a first bank group of the memory device is transmitted, where the first single row was addressed by the first row address, the first single DRAM bank was addressed by the first bank address, and the first bank group was addressed by the first bank group address (906). For example, by memory device 110 and in response to the second command received by memory device 110, a burst (e.g., 16 bytes) of data from data column group 130aa of the row addressed by the first bank group address value, the first bank address value, and the first row of the bank address value may be transmitted.
By the memory device, a third command to configure the memory device to access metadata is received (908). For example, memory device 110 may receive a third command (e.g., MRS command) to place memory device 110 in a second mode that accesses data from metadata column groups 130ab-130cb. In another example, memory device 110 may receive a “bank group” activate or “bank group” precharge command, from controller 120, that indicates memory device 110 is to be placed in a second mode where subsequent column commands access (read or write) data from/to data column group 130ab.
In association with the fourth command, and by the memory device, a second row address and a second bank group address are received (910). For example, in association with the second command, memory device 110 may receive a second row address that includes fields for a second bank group address value, a second bank address value, and a second row of the bank address value. In an example, the second bank address value may be ignored by memory device 110.
In response to the fourth command and by the memory device, metadata distributed across each of a plurality of single rows of a corresponding plurality of DRAM banks of a second bank group of the memory device are transmitted, where the plurality of single rows were addressed by the second row address, and the second bank group was addressed by the second bank group address (912). For example, by memory device 110 and in response to the fourth command received by memory device 110, a burst (e.g., 16 bytes) of data from the metadata column groups 130ab-130cb of the rows in each of memory arrays 130a-130c addressed by the second row of the bank address value may be transmitted.
The methods, systems and devices described above may be implemented in computer systems, or stored by computer systems. The methods described above may also be stored on a non-transitory computer readable medium. Devices, circuits, and systems described herein may be implemented using computer-aided design tools available in the art, and embodied by computer-readable files containing software descriptions of such circuits. This includes, but is not limited to one or more elements of memory system 100, and its components. These software descriptions may be: behavioral, register transfer, logic component, transistor, and layout geometry-level descriptions. Moreover, the software descriptions may be stored on storage media or communicated by carrier waves.
Data formats in which such descriptions may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email. Note that physical files may be implemented on machine-readable media such as: 4 mm magnetic tape, 8 mm magnetic tape, 3½ inch floppy media, CDs, DVDs, and so on.
Processors 1002 execute instructions of one or more processes 1012 stored in a memory 1004 to process and/or generate circuit component 1020 responsive to user inputs 1014 and parameters 1016. Processes 1012 may be any suitable electronic design automation (EDA) tool or portion thereof used to design, simulate, analyze, and/or verify electronic circuitry and/or generate photomasks for electronic circuitry. Representation 1020 includes data that describes all or portions of memory system 100, and its components, as shown in the Figures.
Representation 1020 may include one or more of behavioral, register transfer, logic component, transistor, and layout geometry-level descriptions. Moreover, representation 1020 may be stored on storage media or communicated by carrier waves.
Data formats in which representation 1020 may be implemented include, but are not limited to: formats supporting behavioral languages like C, formats supporting register transfer level (RTL) languages like Verilog and VHDL, formats supporting geometry description languages (such as GDSII, GDSIII, GDSIV, CIF, and MEBES), and other suitable formats and languages. Moreover, data transfers of such files on machine-readable media may be done electronically over the diverse media on the Internet or, for example, via email
User inputs 1014 may comprise input parameters from a keyboard, mouse, voice recognition interface, microphone and speakers, graphical display, touch screen, or other type of user interface device. This user interface may be distributed among multiple interface devices. Parameters 1016 may include specifications and/or characteristics that are input to help define representation 1020. For example, parameters 1016 may include information that defines device types (e.g., NFET, PFET, etc.), topology (e.g., block diagrams, circuit descriptions, schematics, etc.), and/or device descriptions (e.g., device properties, device dimensions, power supply voltages, simulation temperatures, simulation models, etc.).
Memory 1004 includes any suitable type, number, and/or configuration of non-transitory computer-readable storage media that stores processes 1012, user inputs 1014, parameters 1016, and circuit component 1020.
Communications devices 1006 include any suitable type, number, and/or configuration of wired and/or wireless devices that transmit information from processing system 1000 to another processing or storage system (not shown) and/or receive information from another processing or storage system (not shown). For example, communications devices 1006 may transmit circuit component 1020 to another system. Communications devices 1006 may receive processes 1012, user inputs 1014, parameters 1016, and/or circuit component 1020 and cause processes 1012, user inputs 1014, parameters 1016, and/or circuit component 1020 to be stored in memory 1004.
Implementations discussed herein include, but are not limited to, the following examples:
The foregoing description of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiment was chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.
Number | Date | Country | |
---|---|---|---|
63529907 | Jul 2023 | US |