US20210375353A1 - Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays - Google Patents
Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays Download PDFInfo
- Publication number
- US20210375353A1 US20210375353A1 US16/886,995 US202016886995A US2021375353A1 US 20210375353 A1 US20210375353 A1 US 20210375353A1 US 202016886995 A US202016886995 A US 202016886995A US 2021375353 A1 US2021375353 A1 US 2021375353A1
- Authority
- US
- United States
- Prior art keywords
- current
- source
- memory
- coupled
- reference current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003491 array Methods 0.000 title 1
- 238000004364 calculation method Methods 0.000 claims abstract description 18
- 238000000034 method Methods 0.000 claims description 10
- 102100037224 Noncompact myelin-associated protein Human genes 0.000 description 10
- 101710184695 Noncompact myelin-associated protein Proteins 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 8
- 101001005165 Bos taurus Lens fiber membrane intrinsic protein Proteins 0.000 description 5
- 101001053263 Homo sapiens Insulin gene enhancer protein ISL-1 Proteins 0.000 description 4
- 102100024392 Insulin gene enhancer protein ISL-1 Human genes 0.000 description 4
- 101100049574 Human herpesvirus 6A (strain Uganda-1102) U5 gene Proteins 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 101150064834 ssl1 gene Proteins 0.000 description 3
- 101001053270 Homo sapiens Insulin gene enhancer protein ISL-2 Proteins 0.000 description 2
- 102100024390 Insulin gene enhancer protein ISL-2 Human genes 0.000 description 2
- 102220142263 rs566605780 Human genes 0.000 description 2
- 102100031885 General transcription and DNA repair factor IIH helicase subunit XPB Human genes 0.000 description 1
- 101000920748 Homo sapiens General transcription and DNA repair factor IIH helicase subunit XPB Proteins 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 102220101353 rs61735044 Human genes 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F3/00—Non-retroactive systems for regulating electric variables by using an uncontrolled element, or an uncontrolled combination of elements, such element or such combination having self-regulating properties
- G05F3/02—Regulating voltage or current
- G05F3/08—Regulating voltage or current wherein the variable is dc
- G05F3/10—Regulating voltage or current wherein the variable is dc using uncontrolled devices with non-linear characteristics
- G05F3/16—Regulating voltage or current wherein the variable is dc using uncontrolled devices with non-linear characteristics being semiconductor devices
- G05F3/20—Regulating voltage or current wherein the variable is dc using uncontrolled devices with non-linear characteristics being semiconductor devices using diode- transistor combinations
- G05F3/26—Current mirrors
- G05F3/262—Current mirrors using field-effect transistors only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4085—Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4094—Bit-line management or control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/06—Sense amplifiers; Associated circuits, e.g. timing or triggering circuits
- G11C7/067—Single-ended amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/34—Analogue value compared with reference values
- H03M1/38—Analogue value compared with reference values sequentially only, e.g. successive approximation type
- H03M1/46—Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
- H03M1/462—Details of the control circuitry, e.g. of the successive approximation register
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0004—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C13/00—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
- G11C13/0002—Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
- G11C13/0021—Auxiliary circuits
- G11C13/0069—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/06—Sense amplifier related aspects
- G11C2207/063—Current sense amplifiers
Definitions
- the disclosure relates in general to a memory device and an operation method thereof.
- AI Artificial Intelligence
- machine learning have drawn attention.
- AI operations need a lot of Multiply Accumulate (MAC) operations.
- MAC Multiply Accumulate
- In-memory computation is widely proposed because the MAC operations are directly executed within the memory array, with much less data movements to save the power and latency.
- a memory device includes: a memory array including a plurality of memory cells and a plurality of bit lines; and a current converting circuit, coupled to the memory array.
- a memory array including a plurality of memory cells and a plurality of bit lines
- a current converting circuit coupled to the memory array.
- an operation method for a memory device including a memory array, the memory array including a plurality of memory cells and a plurality of bit lines.
- the operation method includes: generating, by the memory cells of the memory array, a source current corresponding to a calculation operation result in executing a calculation operation; and converting the source current into an output value, the output value for being an input signal provided to a next calculation operation.
- FIG. 1 shows a functional block diagram of a memory device according to one embodiment of the application.
- FIG. 2 shows a schematic diagram of source sensing of a memory array according to one embodiment of the application.
- FIG. 3 shows a circuit diagram of a current converting circuit according to one embodiment of the application.
- FIG. 4 shows a circuit diagram of a current converting circuit according to another one embodiment of the application.
- FIG. 5 shows a circuit diagram of a current converting circuit according to yet another embodiment of the application.
- FIG. 1 shows a functional block diagram of a memory device according to one embodiment of the application.
- the memory device 100 according to one embodiment of the application includes a memory array 110 and a current converting circuit 130 .
- the memory array 110 is coupled to the current converting circuit 130 .
- the memory array 110 In executing MAC (Multiply Accumulate) operations in an AI operations, the memory array 110 generates a source current ISL corresponding to the result of the MAC operation.
- the source current ISL is converted into an output value OUT_DC by the current converting circuit 130 , the output value OUT_DC representing the result of the MAC operation.
- the output value OUT_DC may be used as an input signal provided to a next calculation operation.
- a single memory device 100 is used as a single calculation unit, then the output value OUT_DC from the MAC operations performed by the memory device 100 may be input to the next calculation unit (i.e. another memory device 100 ) for performing next AI operations.
- FIG. 2 shows a schematic diagram of source sensing of a memory array according to one embodiment of the application.
- FIG. 2 illustrates the memory array as a 3D (three-dimension) memory array as an example, but the application is not limited by this.
- the memory array 110 includes a plurality of word lines WL 0 -WLN (N being a natural number), a plurality of bit lines (BL 1 -BL 2 as an example), a plurality of string select lines (SSL 1 -SSL 2 as an example) a plurality of source lines SL 1 -SL 2 and a plurality of memory cells T.
- the memory cells T are formed at intersections of the word lines and the bit lines.
- the memory array 110 includes a plurality of blocks (BK 1 , BK 2 , . . . ).
- the bit line voltage is as the input and the cell conductance of the memory cell T coupled to the bit line is as the weight, but the application is not limited by this.
- the source lines SL 1 or SL 2 are coupled to the sources of the memory cells T.
- the respective cell currents of the memory cells T are added via the source lines SL 1 -SL 2 as the source current ISL.
- the block BK 1 includes: at least one memory cell string coupled to the word line WL 1 ; and a string select line SSL 1 .
- the memory cell string includes a plurality of memory cells T coupled to each other.
- the string select lines SSL 1 of the block BK 1 is turn on.
- the word line WL 1 is selected, the memory cells T coupled to the selected word line WL 1 are also turned on.
- the weight of the memory cells on the word lines WL 1 are W 1 and W 2 , and the bit line voltage VBL 1 is on the bit line BL 1 while the bit line voltage VBL 2 is on the bit line BL 2 .
- the source current ISL 1 generated from the memory cells T coupled to the word line WL 1 is expressed as below:
- logic 1 represents high level while logic 0 represents low level.
- the block BK 1 includes a plurality of memory cell strings which are coupled to each other and coupled to the corresponding word lines WL 1 -WLN.
- the string select line SSL 1 in the block BK 1 is selected and conducted.
- the memory cells T are turned on.
- multiplication of the bit line voltages VBL 1 -VBL 2 and the weights of the memory cells T are added to generate the source current ISL 1 of the block BK 1 .
- the block BK 2 includes a plurality of memory cell strings which are coupled to each other and coupled to the corresponding word lines WL 1 -WLN.
- the source current ISL 2 of the block BK 2 is generated.
- the memory cells are sensed to generate the source current ISL. That is, the source current ISL from the memory array 110 is the sum of the source current generated by the memory cell of several blocks.
- FIG. 3 shows a circuit diagram of a current converting circuit according to one embodiment of the application.
- the current converting circuit 130 A includes: a voltage regulator 305 , transistors MP 12 -MP 13 and MN 11 -MN 12 and a reference current source IREF 1 .
- the voltage regulator 305 includes an operation amplifier A 1 and a transistor MP 11 .
- Two input terminals of the operation amplifier A 1 are coupled to a reference voltage VREF and the source of the transistor MP 11 , respectively.
- the output of the operation amplifier A 1 is coupled to the gate of the transistor MP 11 .
- the operation amplifier A 1 and the transistor MP 11 are used to provide a stable voltage.
- the source voltage of the transistor MP 11 is close to the reference voltage VREF.
- the drain voltage of the transistor MP 11 is close to the reference voltage VREF.
- the node voltage of the node N 11 is close to the reference voltage VREF, which can stabilize the source current ISL.
- the transistor MP 11 includes a source receiving the source current ISL; a gate coupled to the output of the operation amplifier A 1 : and a drain coupled to the node N 11 .
- the transistor MN 11 includes a source and a gate both coupled to the node N 11 : and a drain coupled to a reference voltage VSS.
- the reference voltage VSS may be a ground voltage.
- the transistor MN 12 includes a source coupled to an output OUT 1 ; a gate coupled to the gate of the transistor MN 11 and a drain coupled to the reference voltage VSS.
- the transistors MN 11 and MN 12 form a first current mirror to mirror the source current ISL for producing the current I 11 .
- the transistor MP 12 includes a source receiving the operation voltage VDD; a gate coupled to the gate of the transistor MP 13 (i.e. coupled to the node N 12 ) and a drain coupled to the output OUT 1 .
- the transistor MP 13 includes a source receiving the operation voltage VDD; a gate coupled to the gate of the transistor MP 12 (i.e. coupled to the node N 12 ) and the reference current source IREF 1 ; and a drain coupled to the reference current source IREF 1 .
- the transistors MP 12 and MP 13 form a second current mirror to mirror the reference current IREF 1 to generate the current I 12 .
- the node voltage of the node N 11 can be made approximately equal to the reference voltage VREF.
- the voltage level of the output OUT 1 is decided by the pull up strength of the transistor MP 12 and the pull down strength of the transistor MN 12 .
- the reference current IREF 1 may be adjusted if needed.
- the reference current IREF 1 may be set as M; while in another example, the reference current IREF 1 may be set as 2*M.
- the MAC operation result OUT 1 is generated, wherein OUT 1 is the output value OUT_DC.
- FIG. 4 shows a circuit diagram of a current converting circuit according to another one embodiment of the application.
- the current converting circuit 130 B includes a voltage regulator 405 , transistors MP 22 -MP 23 and MN 21 -MN 28 _P, a reference current source IREF 2 and a control logic circuit 410 .
- the voltage regulator 405 includes an operation amplifier A 2 and a transistor MP 21 .
- Operations of the operation amplifier A 2 , the transistors MP 21 -MP 23 , MN 21 and MN 22 may be the same or similar to that of the operation amplifier A 1 , the transistors MP 11 -MP 13 , MN 11 and MN 12 of FIG. 3 and thus are omitted.
- the control logic circuit 410 is for example but not limited by, an SAR (Successive Approximation Register) logic circuit.
- the control logic circuit 410 outputs enable signals (or control signals) EN 0 -ENP to the transistors MN 26 _ 0 -MN 26 _P, respectively.
- the gate of the transistor MN 25 receives the bias voltage VB 1 .
- the bias voltage VB 1 turns on the transistor MN 25 in a normal state.
- the enable signals EN 0 -ENP control the transistors MN 26 _ 0 -MN 26 _P as turned on or turned off, respectively.
- the control logic circuit 410 iteratively generates the enable signals EN 0 -ENP, wherein the enable signals EN 0 -ENP control the switch transistor group to control the value of the reference current IREF 1 .
- the reference current source IREF 2 flows through the transistor MN 24 .
- the transistors MN 24 , MN 27 and MN 28 _ 0 -MN 28 _P form a plurality of current mirrors (also referred as a current mirror group). For example, if the width-length ratio of the transistor MN 24 is set as 1, then the width-length ratio of the transistor MN 27 is set as 0.5, and the width-length ratios of the transistors MN 28 _ 0 -MN 28 _PMN 24 are set as 2 0 , 2 1 , . . . , 2 P , respectively.
- the current flowing through the transistor MN 27 is 0.5*IREF 2 ; the current flowing through the transistor MN 28 _ 0 is 2 0 *IREF 2 (if the transistor MN 26 _ 0 is turned on); the current flowing through the transistor MN 28 _ 1 is 2 1 *IREF 2 the transistor MN 26 _ 1 is conducted), and so on.
- the third current mirror formed by the transistors MN 21 and MN 22 mirrors the source current ISL to generate the current I 21 .
- a current I 22 is outputted on the current path of the MP 22 , wherein the current I 22 is the sum of the currents output from the transistors MN 27 and MN 28 _ 0 -MN 28 _P.
- the fourth current mirror formed by the transistors MP 22 and MP 23 mirrors the reference current IREF 1 to generate the current I 22 .
- the output OUT 2 is at high level (for example but not limited by logic 1); and if the current I 21 is smaller than the current I 22 , then the output OUT 2 is at low level (for example but not limited by logic 0).
- the control logic circuit 410 can make the current I 22 gradually approach the source current ISL.
- the control logic circuit 410 outputs the enable signals EN 0 -ENP.
- the current converting circuit 130 B of FIG. 4 generates the reference current IREF 1 on the current path of the transistor MP 23 .
- the transistor MN 24 , the reference current source IREF 2 , the control logic circuit 410 , the transistor MN 25 , the transistors MN 26 _ 0 -MN 26 _P, the transistor MN 27 , the transistors MN 28 _ 0 -MN 28 _P are used to generate the reference current IREF 1 of FIG. 3 .
- FIG. 5 shows a circuit diagram of a current converting circuit according to yet another embodiment of the application.
- the current converting circuit 130 C includes a voltage regulator 505 , transistors MN 31 -MN 33 , a resistor RL and an analog-to-digital converter (ADC) 510 .
- the voltage regulator 505 includes an operation amplifier A 3 and a transistor MP 31 .
- the current converting circuit 1300 of FIG. 5 outputs an MAC operation result OUT_DC having Q-bit resolution (Q being a natural number, and Q being the resolution of the ADC 510 ).
- the operations of the operation amplifier A 3 and the transistors MP 31 and MN 31 -MN 32 are the same or similar to that of the operation amplifier A 1 and the transistors MP 11 and MN 11 -MN 12 of FIG. 3 ; and thus the details thereof are omitted here.
- the transistor MN 33 includes a source coupled to the resistor RL; a gate receiving the bias voltage VB 2 and a drain coupled to the drain of the transistor MN 32 .
- the bias voltage VB 2 turns on the transistor MN 33 in a normal state.
- the fifth current mirror formed by the transistor MN 31 and MN 32 mirrors the source current ISL to generate the current I 3 .
- the current I 3 also flows through the resistor RL, and the node voltage of the node N 3 is VDD-RL*I 3 .
- the node voltage of the node N 3 is received by the ADC 510 .
- the node voltage of the node N 3 is related to the current value of the source current ISL.
- the ADC 510 converts the node voltage of the node N 3 into the MAC operation result OUT_DC.
- Embodiments of the application execute MAC operation via source side sensing.
- the memory cell current represents the multiplication of the input (for example but not limited by the bit line voltage) and the weight (for example but not limited by the cell conductance).
- the sources of the memory cells are coupled to the common node; and the source currents of the cells are summed to execute the MAC operations.
- the MAC operation results may be input into other MAC operation stages or input into a controller (not shown) for specific information or specific pattern identification, which may be used in AI, big data; machine learning fields.
- the memory device is for example 3D NAND flash memory device but the application is not limited by this.
- the application is also applied to other types of memory devices, which is still within the spirit and scope of the application.
- the bit line voltage is as the input
- the cell conductance is as the weight
- the memory cell current is the multiplication result obtained by multiplying the input and the weight.
- the application is not limited by this. In other possible embodiment of the application, any parameter combinations which control the cell current may be used as the input or the weight.
- the word line voltage may be used as the input; and the threshold voltage of the memory cell may be used as the weight. These are still within the spirit and the scope of the application.
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Electromagnetism (AREA)
- Nonlinear Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
A memory device includes: a memory array including a plurality of memory cells and a plurality of bit lines; and a current converting circuit, coupled to the memory array. In executing a calculation operation, the memory cells of the memory array generate a source current corresponding to a calculation operation result. The source current is converted by the current converting circuit into an output value for being an input signal provided to a next calculation operation.
Description
- The disclosure relates in general to a memory device and an operation method thereof.
- Big data, AI (Artificial Intelligence) and machine learning have drawn attention. AI operations need a lot of Multiply Accumulate (MAC) operations. Recently, AI hardware needs high performance but low power solution for MAC operations. In-memory computation is widely proposed because the MAC operations are directly executed within the memory array, with much less data movements to save the power and latency.
- Thus, how to implement large computation in-memory is important to big data, AI and machine learning fields.
- According to one embodiment, provided is a memory device. The memory device includes: a memory array including a plurality of memory cells and a plurality of bit lines; and a current converting circuit, coupled to the memory array. Wherein, in executing a calculation operation, the memory cells of the memory array generate a source current corresponding to a calculation operation result. The source current is converted by the current converting circuit into an output value for being an input signal provided to a next calculation operation.
- According to another embodiment, provided is an operation method for a memory device, the memory device including a memory array, the memory array including a plurality of memory cells and a plurality of bit lines. The operation method includes: generating, by the memory cells of the memory array, a source current corresponding to a calculation operation result in executing a calculation operation; and converting the source current into an output value, the output value for being an input signal provided to a next calculation operation.
-
FIG. 1 shows a functional block diagram of a memory device according to one embodiment of the application. -
FIG. 2 shows a schematic diagram of source sensing of a memory array according to one embodiment of the application. -
FIG. 3 shows a circuit diagram of a current converting circuit according to one embodiment of the application. -
FIG. 4 shows a circuit diagram of a current converting circuit according to another one embodiment of the application. -
FIG. 5 shows a circuit diagram of a current converting circuit according to yet another embodiment of the application. - In the following detailed description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. In other instances, well-known structures and devices are schematically shown in order to simplify the drawing.
- Technical terms of the disclosure are based on general definition in the technical field of the disclosure. If the disclosure describes or explains one or some terms, definition of the terms is based on the description or explanation of the disclosure. Each of the disclosed embodiments has one or more technical features. In possible implementation, one skilled person in the art would selectively implement part or all technical features of any embodiment of the disclosure or selectively combine part or all technical features of the embodiments of the disclosure.
-
FIG. 1 shows a functional block diagram of a memory device according to one embodiment of the application. As shown inFIG. 1 , thememory device 100 according to one embodiment of the application includes amemory array 110 and acurrent converting circuit 130. - The
memory array 110 is coupled to thecurrent converting circuit 130. In executing MAC (Multiply Accumulate) operations in an AI operations, thememory array 110 generates a source current ISL corresponding to the result of the MAC operation. The source current ISL is converted into an output value OUT_DC by thecurrent converting circuit 130, the output value OUT_DC representing the result of the MAC operation. The output value OUT_DC may be used as an input signal provided to a next calculation operation. For example, asingle memory device 100 is used as a single calculation unit, then the output value OUT_DC from the MAC operations performed by thememory device 100 may be input to the next calculation unit (i.e. another memory device 100) for performing next AI operations. -
FIG. 2 shows a schematic diagram of source sensing of a memory array according to one embodiment of the application.FIG. 2 illustrates the memory array as a 3D (three-dimension) memory array as an example, but the application is not limited by this. - As shown in
FIG. 2 , thememory array 110 includes a plurality of word lines WL0-WLN (N being a natural number), a plurality of bit lines (BL1-BL2 as an example), a plurality of string select lines (SSL1-SSL2 as an example) a plurality of source lines SL1-SL2 and a plurality of memory cells T. The memory cells T are formed at intersections of the word lines and the bit lines. Thememory array 110 includes a plurality of blocks (BK1, BK2, . . . ). - In the following, in executing MAC operations, the bit line voltage is as the input and the cell conductance of the memory cell T coupled to the bit line is as the weight, but the application is not limited by this. The cell current ICELL of the memory cell is the multiplication result of the bit line voltage VBL and the weight of the memory cell (for example but not limited by, the cell conductance GCELL), i.e. ICELL=VBL*GCELL.
- When the
memory array 110 includes a plurality of memory cells T, the source lines SL1 or SL2 are coupled to the sources of the memory cells T. The respective cell currents of the memory cells T are added via the source lines SL1-SL2 as the source current ISL. - Further, as shown in
FIG. 2 , the block BK1 includes: at least one memory cell string coupled to the word line WL1; and a string select line SSL1. The memory cell string includes a plurality of memory cells T coupled to each other. In MAC operations, the string select lines SSL1 of the block BK1 is turn on. When the word line WL1 is selected, the memory cells T coupled to the selected word line WL1 are also turned on. The weight of the memory cells on the word lines WL1 are W1 and W2, and the bit line voltage VBL1 is on the bit line BL1 while the bit line voltage VBL2 is on the bit line BL2. In MAC operations, the source current ISL1 generated from the memory cells T coupled to the word line WL1 is expressed as below: -
IS1=VBL1*W1+VBL2*W2 - When the input and the weight are expressed by logic values,
logic 1 represents high level whilelogic 0 represents low level. In the above case, if VBL1=1, VBL2=0, W1=1, W2=1, then ISL1=1*1+0*1=1. - Further, as shown in
FIG. 2 , the block BK1 includes a plurality of memory cell strings which are coupled to each other and coupled to the corresponding word lines WL1-WLN. In MAC operations, the string select line SSL1 in the block BK1 is selected and conducted. When the word lines WL1-WLn are selected, the memory cells T are turned on. In MAC operations, multiplication of the bit line voltages VBL1-VBL2 and the weights of the memory cells T are added to generate the source current ISL1 of the block BK1. Similarly, the block BK2 includes a plurality of memory cell strings which are coupled to each other and coupled to the corresponding word lines WL1-WLN. In MAC operations, when the string select line SSL2 in the block BK2 is selected and conducted, the source current ISL2 of the block BK2 is generated. The source current ISL from thememory array 110 is ISL=ISL1+ISL2. - Thus, the memory cells are sensed to generate the source current ISL. That is, the source current ISL from the
memory array 110 is the sum of the source current generated by the memory cell of several blocks. -
FIG. 3 shows a circuit diagram of a current converting circuit according to one embodiment of the application. The current convertingcircuit 130A includes: avoltage regulator 305, transistors MP12-MP13 and MN11-MN12 and a reference current source IREF1. Thevoltage regulator 305 includes an operation amplifier A1 and a transistor MP11. - Two input terminals of the operation amplifier A1 are coupled to a reference voltage VREF and the source of the transistor MP11, respectively. The output of the operation amplifier A1 is coupled to the gate of the transistor MP11. The operation amplifier A1 and the transistor MP11 are used to provide a stable voltage. In details, via the negative feedback of the operation amplifier A1 the source voltage of the transistor MP11 is close to the reference voltage VREF. When the transistor MP11 is turned on, the drain voltage of the transistor MP11 is close to the reference voltage VREF. Thus, the node voltage of the node N11 is close to the reference voltage VREF, which can stabilize the source current ISL.
- The transistor MP11 includes a source receiving the source current ISL; a gate coupled to the output of the operation amplifier A1: and a drain coupled to the node N11.
- The transistor MN11 includes a source and a gate both coupled to the node N11: and a drain coupled to a reference voltage VSS. The reference voltage VSS may be a ground voltage.
- The transistor MN12 includes a source coupled to an output OUT1; a gate coupled to the gate of the transistor MN11 and a drain coupled to the reference voltage VSS. The transistors MN11 and MN12 form a first current mirror to mirror the source current ISL for producing the current I11.
- The transistor MP12 includes a source receiving the operation voltage VDD; a gate coupled to the gate of the transistor MP13 (i.e. coupled to the node N12) and a drain coupled to the output OUT1.
- The transistor MP13 includes a source receiving the operation voltage VDD; a gate coupled to the gate of the transistor MP12 (i.e. coupled to the node N12) and the reference current source IREF1; and a drain coupled to the reference current source IREF1.
- The transistors MP12 and MP13 form a second current mirror to mirror the reference current IREF1 to generate the current I12.
- Operations of the current converting
circuit 130A are as follows. - Via the transistor MP11 and the operation amplifier A1, the node voltage of the node N11 can be made approximately equal to the reference voltage VREF. Via the first current mirror formed by the transistors MN11 and MN12, a current I11 is generated on the current path of the transistor MN12, wherein I11=ISL.
- Similarly, via the second current mirror formed by the transistors MP12 and MP13, a current I12 is generated on the current path of the transistor MP12, wherein I12=IREF1.
- The voltage level of the output OUT1 is decided by the pull up strength of the transistor MP12 and the pull down strength of the transistor MN12. Thus, if the current I11(=ISL) is larger than the current I12(=IREF1), then the output OUT1 is at high level (for example but not limited by logic 1); and vice versa, if the current I11(=ISL) is smaller than the current I12(=IREF1), then the output OUT1 is at low level (for example but not limited by logic 0). In one embodiment of the application, the reference current IREF1 may be adjusted if needed. For example, in one example, the reference current IREF1 may be set as M; while in another example, the reference current IREF1 may be set as 2*M.
- Thus, via the current converting
circuit 130A ofFIG. 3 , the MAC operation result OUT1 is generated, wherein OUT1 is the output value OUT_DC. -
FIG. 4 shows a circuit diagram of a current converting circuit according to another one embodiment of the application. The current convertingcircuit 130B includes avoltage regulator 405, transistors MP22-MP23 and MN21-MN28_P, a reference current source IREF2 and acontrol logic circuit 410. Thevoltage regulator 405 includes an operation amplifier A2 and a transistor MP21. - Operations of the operation amplifier A2, the transistors MP21-MP23, MN21 and MN22 may be the same or similar to that of the operation amplifier A1, the transistors MP11-MP13, MN11 and MN12 of
FIG. 3 and thus are omitted. - In one embodiment of the application, the
control logic circuit 410 is for example but not limited by, an SAR (Successive Approximation Register) logic circuit. Thecontrol logic circuit 410 outputs enable signals (or control signals) EN0-ENP to the transistors MN26_0-MN26_P, respectively. The transistors MN25 and MN26_0-MN26_P act as the switching transistors (also referred as a switch transistor group) to control the value of the reference current IREF1, wherein I22=IREF1. The gate of the transistor MN25 receives the bias voltage VB1. The bias voltage VB1 turns on the transistor MN25 in a normal state. The enable signals EN0-ENP control the transistors MN26_0-MN26_P as turned on or turned off, respectively. In accordance with the currents I22 and I21 (i.e. the source current ISL, I21=ISL), thecontrol logic circuit 410 iteratively generates the enable signals EN0-ENP, wherein the enable signals EN0-ENP control the switch transistor group to control the value of the reference current IREF1. - The reference current source IREF2 flows through the transistor MN24. The transistors MN24, MN27 and MN28_0-MN28_P form a plurality of current mirrors (also referred as a current mirror group). For example, if the width-length ratio of the transistor MN24 is set as 1, then the width-length ratio of the transistor MN27 is set as 0.5, and the width-length ratios of the transistors MN28_0-MN28_PMN24 are set as 20, 21, . . . , 2P, respectively. That is, the current flowing through the transistor MN27 is 0.5*IREF2; the current flowing through the transistor MN28_0 is 20*IREF2 (if the transistor MN26_0 is turned on); the current flowing through the transistor MN28_1 is 21*IREF2 the transistor MN26_1 is conducted), and so on.
- Operations of the current converting
circuit 130B are as follows. - Via the operation amplifier A2, the transistors MP21, MN21 and MN22, a current I21 is outputted on the current path of the MN22, wherein I21=ISL. The third current mirror formed by the transistors MN21 and MN22 mirrors the source current ISL to generate the current I21.
- Similarly, via the current mirror formed by the transistors MP22 and MP23, a current I22 is outputted on the current path of the MP22, wherein the current I22 is the sum of the currents output from the transistors MN27 and MN28_0-MN28_P. The fourth current mirror formed by the transistors MP22 and MP23 mirrors the reference current IREF1 to generate the current I22.
- If the current I21(=ISL) is larger than the current 22, then the output OUT2 is at high level (for example but not limited by logic 1); and if the current I21 is smaller than the current I22, then the output OUT2 is at low level (for example but not limited by logic 0).
- Via iteratively controlling the enable signals EN0-ENP, the
control logic circuit 410 can make the current I22 gradually approach the source current ISL. When the current I22 is closest to the source current ISL, thecontrol logic circuit 410 outputs the enable signals EN0-ENP. - Thus, the current converting
circuit 130B ofFIG. 4 generates the reference current IREF1 on the current path of the transistor MP23. The transistor MN24, the reference current source IREF2, thecontrol logic circuit 410, the transistor MN25, the transistors MN26_0-MN26_P, the transistor MN27, the transistors MN28_0-MN28_P are used to generate the reference current IREF1 ofFIG. 3 . -
FIG. 5 shows a circuit diagram of a current converting circuit according to yet another embodiment of the application. The current convertingcircuit 130C includes avoltage regulator 505, transistors MN31-MN33, a resistor RL and an analog-to-digital converter (ADC) 510. Thevoltage regulator 505 includes an operation amplifier A3 and a transistor MP31. The current converting circuit 1300 ofFIG. 5 outputs an MAC operation result OUT_DC having Q-bit resolution (Q being a natural number, and Q being the resolution of the ADC 510). - The operations of the operation amplifier A3 and the transistors MP31 and MN31-MN32 are the same or similar to that of the operation amplifier A1 and the transistors MP11 and MN11-MN12 of
FIG. 3 ; and thus the details thereof are omitted here. - The transistor MN33 includes a source coupled to the resistor RL; a gate receiving the bias voltage VB2 and a drain coupled to the drain of the transistor MN32. The bias voltage VB2 turns on the transistor MN33 in a normal state.
- Operations of the current converting
circuit 130C are as follows. - Via the operation amplifier A3 and the transistor MP31, MN31 and MN32, a current I3 is generated on the current path of the transistor MN32, wherein I3=ISL. The fifth current mirror formed by the transistor MN31 and MN32 mirrors the source current ISL to generate the current I3.
- The current I3 also flows through the resistor RL, and the node voltage of the node N3 is VDD-RL*I3. The node voltage of the node N3 is received by the
ADC 510. The node voltage of the node N3 is related to the current value of the source current ISL. TheADC 510 converts the node voltage of the node N3 into the MAC operation result OUT_DC. - Embodiments of the application execute MAC operation via source side sensing. The memory cell current represents the multiplication of the input (for example but not limited by the bit line voltage) and the weight (for example but not limited by the cell conductance). The sources of the memory cells are coupled to the common node; and the source currents of the cells are summed to execute the MAC operations. The MAC operation results may be input into other MAC operation stages or input into a controller (not shown) for specific information or specific pattern identification, which may be used in AI, big data; machine learning fields.
- In embodiments of the application, the memory device is for example 3D NAND flash memory device but the application is not limited by this. The application is also applied to other types of memory devices, which is still within the spirit and scope of the application.
- In the above example, the bit line voltage is as the input, the cell conductance is as the weight; and the memory cell current is the multiplication result obtained by multiplying the input and the weight. The application is not limited by this. In other possible embodiment of the application, any parameter combinations which control the cell current may be used as the input or the weight. For example, the word line voltage may be used as the input; and the threshold voltage of the memory cell may be used as the weight. These are still within the spirit and the scope of the application.
- It will be apparent to those skilled in the art that various modifications and variations can be made to the disclosed embodiments. It is intended that the specification and examples be considered as exemplary only, with a true scope of the disclosure being indicated by the following claims and their equivalents.
Claims (16)
1. A memory device including:
a memory array including a plurality of memory cells and a plurality of bit lines; and
a current converting circuit, coupled to the memory array,
wherein the current converting circuit includes:
a first reference current source for generating a first reference current,
a voltage regulator coupled to the memory array for receiving the source current;
a first current mirror, coupled to the voltage regulator for mirroring the source current into a first current; and
a second current mirror, coupled to the first current mirror and the first reference current source, for mirroring the first reference current into a second current;
wherein in executing a calculation operation, the memory cells of the memory array generate a source current corresponding to a calculation operation result; and
an output value of the current converting circuit is determined based on the source current and the first reference current, and the output value is configured to be an input signal provided to a next calculation operation.
2. (canceled)
3. The memory device according to claim 1 , wherein the current converting circuit includes:
a second reference current source for generating a second reference current;
a switch transistor group coupled to the second current mirror; and
a current mirror group, coupled to the switch transistor group and the second reference current source, for mirroring the second reference current into the second current;
wherein the switch transistor group determines the second current.
4. The memory device according to claim 3 , wherein the current converting circuit further includes a control logic circuit coupled to the switch transistor group, the control logic circuit iteratively generates a plurality of enable signals in accordance with the second current and the source current, and the enable signals being used for controlling the switch transistor group.
5. The memory device according to claim 4 , wherein the control logic circuit is an SAR (Successive Approximation Register) logic circuit.
6. (canceled)
7. The memory device according to claim 1 , wherein the source current is a multiply accumulate of a plurality of weights and a plurality of inputs.
8. The memory device according to claim 7 , wherein the weight includes a conductance of the memory cell or a threshold voltage of the memory cell, and the input includes a bit line voltage or a word line voltage.
9. An operation method for a memory device, the memory device including a memory array, the memory array including a plurality of memory cells and a plurality of bit lines, the operation method including:
generating, by the memory cells of the memory array, a source current corresponding to a calculation operation result in executing a calculation operation;
receiving the source current;
mirroring the source current into a first current
generating a first reference current;
mirroring the first reference current into a second current; and
converting the source current into an output value, the output value for being an input signal provided to a next calculation operation;
wherein the output value is determined based on the source current and the first reference current.
10. (canceled)
11. The operation method according to claim 9 , further including:
generating a second reference current;
mirroring the second reference current into the second current;
wherein the second current is further determined by a switch transistor group.
12. The operation method according to claim 11 , wherein a plurality of enable signals are iteratively generated in accordance with the second current and the source current, and the enable signals control the switch transistor group.
13. The operation method according to claim 12 , wherein the control logic circuit is an SAR (Successive Approximation Register) logic circuit.
14. (canceled)
15. The operation method according to claim 9 , wherein the source current is a multiply accumulate of a plurality of weights and a plurality of inputs.
16. The operation method according to claim 15 , wherein the weight includes a conductance of the memory cell or a threshold voltage of the memory cell, and the input includes a bit line voltage or a word line voltage.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,995 US11189339B1 (en) | 2020-05-29 | 2020-05-29 | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays |
CN202010593798.0A CN113741795B (en) | 2020-05-29 | 2020-06-24 | Memory device and method of operating the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/886,995 US11189339B1 (en) | 2020-05-29 | 2020-05-29 | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays |
Publications (2)
Publication Number | Publication Date |
---|---|
US11189339B1 US11189339B1 (en) | 2021-11-30 |
US20210375353A1 true US20210375353A1 (en) | 2021-12-02 |
Family
ID=78707035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/886,995 Active US11189339B1 (en) | 2020-05-29 | 2020-05-29 | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays |
Country Status (2)
Country | Link |
---|---|
US (1) | US11189339B1 (en) |
CN (1) | CN113741795B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11393523B1 (en) * | 2021-01-13 | 2022-07-19 | National Tsing Hua University | Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI839054B (en) * | 2022-12-29 | 2024-04-11 | 旺宏電子股份有限公司 | In memory computing (imc) memory device and method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704384B1 (en) * | 1999-07-16 | 2004-03-09 | Nec Corporation | Phase adjusting circuit and semiconductor memory incorporating the same |
US20190102358A1 (en) * | 2017-09-29 | 2019-04-04 | Crossbar, Inc. | Resistive random access memory matrix multiplication structures and methods |
US10528643B1 (en) * | 2018-08-01 | 2020-01-07 | Sandisk Technologies Llc | Vector-matrix multiplication using non-volatile memory cells |
US20200192971A1 (en) * | 2018-12-18 | 2020-06-18 | Macronix International Co., Ltd. | Nand block architecture for in-memory multiply-and-accumulate operations |
US20200201751A1 (en) * | 2018-12-24 | 2020-06-25 | Macronix International Co., Ltd. | Memory storage device and operation method thereof for implementing inner product operation |
US20200301667A1 (en) * | 2019-03-20 | 2020-09-24 | Macronix International Co., Ltd. | Non-volatile computing method in flash memory |
US20200372330A1 (en) * | 2019-05-22 | 2020-11-26 | Ememory Technology Inc. | Control circuit for multiply accumulate circuit of neural network system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103886903B (en) * | 2012-12-21 | 2017-11-03 | 华邦电子股份有限公司 | Reference cell scheme and method to produce reference current |
CN106157997B (en) * | 2015-04-09 | 2018-11-09 | 旺宏电子股份有限公司 | Memory device and its read method |
US9728253B2 (en) * | 2015-11-30 | 2017-08-08 | Windbond Electronics Corp. | Sense circuit for RRAM |
TWI615854B (en) | 2016-12-09 | 2018-02-21 | Powerchip Technology Corporation | Memory apparatus |
CN107622780B (en) * | 2017-09-27 | 2020-03-24 | 中国科学院上海微系统与信息技术研究所 | Three-dimensional vertical memory reading circuit and reading method thereof |
US10552510B2 (en) * | 2018-01-11 | 2020-02-04 | Mentium Technologies Inc. | Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays |
-
2020
- 2020-05-29 US US16/886,995 patent/US11189339B1/en active Active
- 2020-06-24 CN CN202010593798.0A patent/CN113741795B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6704384B1 (en) * | 1999-07-16 | 2004-03-09 | Nec Corporation | Phase adjusting circuit and semiconductor memory incorporating the same |
US20190102358A1 (en) * | 2017-09-29 | 2019-04-04 | Crossbar, Inc. | Resistive random access memory matrix multiplication structures and methods |
US10528643B1 (en) * | 2018-08-01 | 2020-01-07 | Sandisk Technologies Llc | Vector-matrix multiplication using non-volatile memory cells |
US20200192971A1 (en) * | 2018-12-18 | 2020-06-18 | Macronix International Co., Ltd. | Nand block architecture for in-memory multiply-and-accumulate operations |
US20200201751A1 (en) * | 2018-12-24 | 2020-06-25 | Macronix International Co., Ltd. | Memory storage device and operation method thereof for implementing inner product operation |
US20200301667A1 (en) * | 2019-03-20 | 2020-09-24 | Macronix International Co., Ltd. | Non-volatile computing method in flash memory |
US20200372330A1 (en) * | 2019-05-22 | 2020-11-26 | Ememory Technology Inc. | Control circuit for multiply accumulate circuit of neural network system |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11393523B1 (en) * | 2021-01-13 | 2022-07-19 | National Tsing Hua University | Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN113741795A (en) | 2021-12-03 |
US11189339B1 (en) | 2021-11-30 |
CN113741795B (en) | 2024-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
CN111722830B (en) | Nonvolatile computing method of flash memory | |
CN111985630B (en) | Control circuit applied to product accumulation circuit of neural network-like system | |
US10825510B2 (en) | Multi-bit dot product engine | |
JP2732826B2 (en) | Nonvolatile semiconductor memory device and word line driving method thereof | |
US11189339B1 (en) | Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays | |
US10783963B1 (en) | In-memory computation device with inter-page and intra-page data circuits | |
JP2001250391A (en) | Current sense amplifier | |
US11526739B2 (en) | Nonvolatile memory device performing a multiplication and accumulation operation | |
US20210342678A1 (en) | Compute-in-memory architecture for neural networks | |
TW202032545A (en) | Memory devices and methods for operating the same | |
CN109327219B (en) | Memristor RRAM-based logic operation system | |
CN114861900B (en) | Weight updating method and processing unit for memristor array | |
CN113593624B (en) | In-memory logic circuit | |
CN115796252A (en) | Weight writing method and device, electronic equipment and storage medium | |
US6084797A (en) | Method for reading a multiple-level memory cell | |
CN117497026A (en) | Memory unit, array circuit structure and data processing method | |
TWI732572B (en) | Memory device and operation method thereof | |
JPWO2021161808A5 (en) | Bistable circuits, electronic circuits and memory circuits | |
US11501841B2 (en) | Memory device and control method thereof | |
US20240028211A1 (en) | Memory device for computing in-memory | |
US11289152B2 (en) | In-memory multiply-add computing device adapted to process input signals with improved accuracy | |
US12057186B2 (en) | Semiconductor integrated circuit and information processing apparatus | |
US5295091A (en) | Analog implementation of a pattern classifier | |
US20230289143A1 (en) | Memory device and computing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |