CN112447229A - 执行乘法累加运算的非易失性存储器件 - Google Patents
执行乘法累加运算的非易失性存储器件 Download PDFInfo
- Publication number
- CN112447229A CN112447229A CN202010327878.1A CN202010327878A CN112447229A CN 112447229 A CN112447229 A CN 112447229A CN 202010327878 A CN202010327878 A CN 202010327878A CN 112447229 A CN112447229 A CN 112447229A
- Authority
- CN
- China
- Prior art keywords
- volatile storage
- voltage
- output circuit
- storage device
- input signals
- 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.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 claims abstract description 54
- 239000000872 buffer Substances 0.000 claims description 18
- 238000009825 accumulation Methods 0.000 claims description 8
- 239000003990 capacitor Substances 0.000 claims description 8
- 230000008878 coupling Effects 0.000 claims description 4
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 239000004065 semiconductor Substances 0.000 claims description 2
- 238000007599 discharging Methods 0.000 claims 1
- 229910044991 metal oxide Inorganic materials 0.000 claims 1
- 150000004706 metal oxides Chemical class 0.000 claims 1
- 210000004027 cell Anatomy 0.000 description 51
- 210000002569 neuron Anatomy 0.000 description 19
- 101000641224 Homo sapiens Vimentin-type intermediate filament-associated coiled-coil protein Proteins 0.000 description 8
- 102100034331 Vimentin-type intermediate filament-associated coiled-coil protein Human genes 0.000 description 8
- 238000013528 artificial neural network Methods 0.000 description 8
- 210000000225 synapse Anatomy 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/5443—Sum of products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/38—Indexing scheme relating to groups G06F7/38 - G06F7/575
- G06F2207/48—Indexing scheme relating to groups G06F7/48 - G06F7/575
- G06F2207/4802—Special implementations
- G06F2207/4814—Non-logic devices, e.g. operational amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Abstract
本公开提供一种执行乘法累加运算的非易失性存储器件。非易失性存储器件包括存储单元阵列和计算输出电路。存储单元阵列包括:多个非易失性存储元件,被配置为分别储存多个权重;以及多个位线,根据多个输入信号耦接到多个非易失性存储元件。计算输出电路被配置为根据多个输入信号而从在所述多个位线处引起的电压产生计算信号。
Description
相关申请的交叉引用
本申请要求于2019年9月5日提交的申请号为10-2019-0109899的韩国专利申请以及2020年3月27日提交的申请号为10-2020-0037872的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及执行乘法累加(MAC,multiplication and accumulation)运算的非易失性存储器件。
背景技术
神经网络广泛用于人工智能应用中,诸如图像识别和自动驾驶汽车中使用的技术。
在示例中,神经网络包括输入层、输出层以及在输入层与输出层之间的一个或更多个内层。
输出层、输入层和内层中的每个包括一个或更多个神经元。包含在相邻层中的神经元通过突触以各种方式连接。例如,突触从给定层中的神经元指向下一层中的神经元。可替代地或附加地,突触从上一层中的神经元指向给定层中的神经元。
每个神经元储存一个值。包括在输入层中的神经元的值根据输入信号(例如,要识别的图像)来确定。包含在内层和输出层中的神经元的值基于包含在对应的上一层中的神经元和突触。例如,在每个内层中的神经元的值基于神经网络中的上一层中的神经元的值。
每个突触具有权重。每个突触的权重均基于神经网络的训练操作。
在神经网络被训练之后,神经网络可以用于执行推理操作。在推理操作中,基于输入来设置输入层中的神经元的值,并且基于输入层中的神经元的值和连接各层的受过训练的突触的权重来设置下一层(例如,内层和输出层)中的神经元的值。输出层中神经元的值代表推理操作的结果。
例如,在推理操作中,其中通过在已训练了神经网络之后的神经网络执行图像识别,基于输入图像来设置输入层中的神经元的值,基于输入层中的神经元的值在内层执行多个操作,并且将图像识别的结果从内层输出在输出层。
在这样的推理操作中,必须通过卷积神经网络中的所有神经元执行大量的MAC运算。结果,期望一种能够有效地执行大量MAC运算的半导体器件。
发明内容
根据本公开的实施例,一种非易失性存储器件可以包括存储单元阵列和计算输出电路。存储单元阵列可以包括:多个非易失性存储元件,其被配置为分别储存多个权重;以及多个位线,其根据多个输入信号而耦接到多个非易失性存储元件。计算输出电路可以被配置为根据多个输入信号而从在多个位线处引起的电压产生计算信号。
附图说明
附图(其中在各个单独的视图中类似的附图标记指代相同或功能相似的元件)以及下面的详细描述被并入说明书中并形成说明书的一部分,并且用于进一步示出包括各种特征的实施例,并解释这些实施例的各种原理和有益方面。
图1示出根据本公开的实施例的闪存器件(flash memory device)。
图2示出根据本公开的实施例的输出电路。
图3示出根据本公开的实施例的闪存单元阵列和输出电路。
图4示出根据本公开的实施例的闪存器件的操作。
图5示出根据本公开的实施例的输入电路的操作。
图6示出根据本公开的实施例的闪存器件的计算操作。
图7A至图7C和图8A至图8C示出根据本公开的实施例的2比特的闪存器件的计算操作。
具体实施方式
下面将参考附图描述各个实施例。提供实施例是为了说明性目的,未明确示出或描述的其他实施例也是可能的。此外,可以对将在下面详细描述的本公开的实施例进行修改。
在以下公开内容中,非易失性存储器件利用闪存器件作为示例被公开,但是非易失性存储器件的类型不必限于闪存器件。
图1示出了根据本公开的实施例的闪存器件1。
根据本公开的闪存器件1包括命令解码器100、输出电路200、闪存单元阵列300、输入电路400和字线控制电路500。
闪存单元阵列300可以被称为存储单元阵列。
与包括在常规闪存器件中的命令解码器类似,命令解码器100控制包括读取操作、编程操作和擦除操作的操作。
在本实施例中,命令解码器100还另外执行计算操作所需的控制操作。
根据本实施例的闪存器件具有存储操作模式和计算操作模式。
在存储操作模式下,可以执行普通闪存器件的操作。在计算操作模式下,可以执行MAC运算。
命令解码器100可以输出模式信号MODE以将存储操作模式与计算操作模式区分开。
例如,在存储操作模式下,模式信号MODE可以具有与逻辑值“0”相对应的低电平,而在计算操作模式下,模式信号MODE可以具有与逻辑值“1”相对应的高电平。
输出电路200与闪存单元阵列300的位线BL耦接,以在存储操作模式下输出数据信号VOUT以及在计算操作模式下输出计算信号VMAC。在一个实施例中,输出电路200针对多个位线BL中的每个输出相应的数据信号VOUT,但是针对多个位线BL仅输出一个计算信号VMAC。
图2是示出根据本公开的实施例的输出电路200的框图。
输出电路200包括第一开关201、第二开关202、计算输出电路210和数据输出电路220。
在本实施例中,当模式信号MODE处于高电平时,第一开关201被接通,而当模式信号MODE处于低电平时,第二开关202被接通。
计算输出电路210根据从位线BL输出的信号而输出计算信号VMAC。
数据输出电路220根据从位线BL输出的信号而输出数据信号VOUT。
由于数据输出电路220的配置和操作与常规闪存器件中的基本相同,因此将省略其详细描述。
将参考图3详细描述计算输出电路210与闪存单元阵列300的配置和操作。
返回参考图1,输入电路400根据模式信号MODE而向闪存单元阵列300提供输入信号X1,X2,...,Xn。
在存储操作模式中,将输入信号X1,X2,...,Xn照原样提供给闪存单元阵列300,以控制位线选择开关。
在存储操作模式中,可以将输入信号X1,X2,...,Xn中的每个用作1比特的位线选择信号。
在计算操作模式中,输入信号X1,X2,...,Xn被转换为脉冲输入信号PX1,PX2,...,PXn。
在计算操作模式中,输入信号X1,X2,...,Xn中的每个可以作为多比特信号被提供。
在该实施例中,脉冲输入信号PX1,PX2,...,PXn是各自具有与输入信号X1,X2,...,Xn中的对应一个的值相对应的宽度的脉冲信号。
图5是示出根据本公开的实施例的处于计算操作模式下的输入电路400的操作的时序图。
在图5中,X1是“1111”(即,15),X2是“1000”(即,8),X3是“0100”(即,4),并且X4是“0010”(即,2)。
当时钟信号CLK的周期为T时,PX1为具有15T宽度的脉冲,PX2为具有8T宽度的脉冲,PX3为具有4T宽度的脉冲,以及PX4为具有2T宽度的脉冲。
返回参考图1,字线控制电路500向闪存单元阵列300提供多个字线电压VW1,VW2,...,VWn。
字线控制电路500还可以提供源极线选择信号CSL。
字线控制电路500的配置与常规闪存器件中基本相同。
例如,在读取操作中,多个字线电压分别具有读取电压VRead或通过电压VPass的电平。
在计算操作模式下,字线控制电路500可以控制读取操作、编程操作和擦除操作,其中,字线控制电路500的操作与存储操作模式下基本相同。
因此,未公开字线控制电路500的详细配置。
图3是示出根据本公开的实施例的处于计算操作模式下的闪存单元阵列300和输出电路200的电路图。
在计算操作模式下,图2的第一开关201被接通,而第二开关202被关断。
因此,在图3中未示出第一开关201、第二开关202和数据输出电路220。
闪存单元阵列300包括多个NAND串(NAND string)310-1,310-2,...,310-n。
NAND串310-1耦接在对应的位线BL与源极线SL之间,并且包括串联连接的多个闪存单元F1,F2,...,Fm。
在下文中,NAND串可以被称为单元串,而闪存单元可以被称为存储单元或存储单元元件。
NAND串310-1包括:位线选择开关N1,其将闪存单元F1耦接到位线BL;以及源极线选择开关N2,其将闪存单元Fm耦接到源极线SL。
在本实施例中,位线选择开关N1和源极线选择开关N2是NMOS晶体管。
多个闪存单元F1,F2,...,Fm可以是浮栅闪存单元或电荷俘获闪存单元。
在闪存器件1中每个闪存单元通过编程操作储存各自的权重。
在所示的实施例中,每个闪存单元储存一比特的权重。在另一实施例中,每个闪存单元可以储存多比特权重,而下面将描述其中每个闪存单元储存2比特权重的实施例。
图4是示出闪存单元的操作的示图。
闪存单元根据电荷是被注入到浮置栅极中(在浮置栅极闪存单元中)还是被注入到电荷俘获区中(在电荷俘获闪存单元中)而具有低阈值电压或高阈值电压。
在本实施例中,当阈值电压为低时,权重对应于逻辑值“1”,而当阈值电压为高时,权重对应于逻辑值“0”。
在这种情况下,当向闪存单元的栅极施加具有在低阈值电压与高阈值电压之间的电压的读取电压VRead时,闪存单元的漏极-源极电压根据阈值电压而变化。
例如,当阈值电压被编程为低时,向闪存单元施加读取电压导致闪存单元的低电阻状态,从而导致低的漏极-源极电压。
相反,当阈值电压被编程为高时,向闪存单元施加读取电压导致闪存单元的高电阻状态,从而导致高的漏极-源极电压。
通过电压VPass高于高阈值电压,使得被施加有通过电压的闪存单元一直处于低电阻状态。
在本实施例中,向闪存单元F1,F2,...,Fm中的一个施加读取电压VRead,并向其他闪存单元施加通过电压VPass。
在本实施例中,由于在每个闪存单元中储存了单个比特的权重,因此相同的读取电压VRead被施加到图3中的多个NAND串310-1,310-2,...,310-n。
当闪存单元储存多比特权重时,可以为每个NAND串提供不同电平的读取电压,这将参考图7A至图7C和图8A至图8C进行详细描述。
在本实施例中,通过脉冲输入信号PX1控制位线选择开关N1的接通和关断,并且通过源极线选择信号CSL控制源极线选择开关N2的接通和关断。
当NAND串310-1被选中时,源极线选择信号CSL可以被接通。
在本实施例中,源极线选择信号CSL可以由字线控制电路500提供,但是用于提供源极线选择信号CSL的配置可以进行各种改变。
位线选择开关N1在脉冲输入信号PX1处于高电平的时段中被接通以将位线BL耦接到多个闪存单元F1,F2,...,Fm。
当位线选择开关N1被接通时,根据在施加了读取电压VRead的闪存单元F1中所编程的权重来确定位线电压VIwp1。
计算输出电路200包括与多个NAND串310-1,310-2,...,310相对应的多个倍增输出电路(multiplication output circuit)211-1,211-2,...,211-n。
多个倍增输出电路中的每个输出与对应的脉冲输入信号和闪存单元中所编程的权重的乘积相对应的电流。
例如,倍增输出电路211-1输出倍增电流I1,该倍增电流I1具有与脉冲输入信号PX1和闪存单元F1中所编程的权重W1的乘积相对应的对时间的积分。例如,在所示的实施例中,在脉冲输入信号PX1具有高值的时段期间,倍增输出电路211-1输出具有由闪存单元F1中所编程的权重W1确定的电流的倍增电流I1,而在脉冲输入信号PX1具有低值的时段期间,倍增输出电路211-1基本不输出电流。
倍增输出电路211-1通过图2的第一开关201耦接到位线BL。如上所述,在图3中省略了第一开关201。
倍增输出电路211-1包括:缓冲器221,其缓冲位线电压VIwp1并且输出缓冲器输出电压Vbuf1;以及电流源P1,其根据缓冲器输出电压Vbuf1而产生倍增电流I1。
在该实施例中,电流源P1是PMOS晶体管,其栅极接收缓冲器输出电压Vbuf1,其源极耦接到电源电压VDD,并且其漏极输出倍增电流I1。
电流源P1还可以包括:电阻器R2,其耦接在电源电压VDD与电流源P1的PMOS晶体管的源极之间。
电阻器R1可以耦接在缓冲器221的输入端子与电源电压VDD之间。
在这种情况下,缓冲器221的输入端子的电压,即位线电压VIwp1,对应于通过将电源电压VDD除以NAND串310-1的电阻与电阻R1之间的比率而得到的电压。
当脉冲输入信号PX1为低电平时,位线选择开关N1被关断,因此位线电压VIwp1被上拉至电源电压VDD。此时,缓冲器输出电压Vbuf1处于高电平,并且电流源P1的PMOS晶体管被截止。
当脉冲输入信号PX1处于高电平时,位线选择开关N1被接通,因此位线电压VIwp1根据闪存单元F1的编程状态而变为接近电源电压VDD的电压或接近源极线电压的电压(即,接地电压)。
例如,如果闪存单元F1被编程为高电阻状态(即,高阈值电压)并且其中W1对应于“0”,则NAND串310-1的电阻变为大值,并且位线电压VIwp1变为接近电源电压VDD的电压,并且缓冲器输出电压Vbuf1变高。
如果闪存单元F1被编程为低电阻状态(即,低阈值电压)并且其中W1对应于“1”,则NAND串310-1的电阻变小,并且位线电压VIwp1变为接近接地电压的电压,并且缓冲器输出电压Vbuf1变低。
当缓冲器输出电压Vbuf1处于高电平时,PMOS晶体管P1被截止,使得倍增电流I1变为零。
当缓冲器输出电压Vbuf1处于低电平时,PMOS晶体管P1被导通,使得倍增电流I1变得大于零。
计算输出电路210还包括累积电容器212和复位开关213。
累积电容器212根据多个倍增电流I1,I2,...,In的总和被充电,以输出计算电压VMAC。
复位开关213根据复位信号RESET而使累积电容器212放电。
图6是示出根据本公开的实施例的闪存器件的计算操作的时序图。
在图6中,假定与脉冲输入信号PX1相对应的权重W1和与脉冲输入信号PX2相对应的权重W2均为“1”。此外,假定其他权重W3…Wn为“0”。因此,不论脉冲输入信号PX3…PXn的值如何,倍增输出电路211-3…211-n都不产生倍增电流,因此未在图6中示出。
在图6中,脉冲输入信号PX1在第零时间T0与第二时间T2之间具有高电平,因此缓冲器输出电压Vbuf1在时间T0与T2之间具有低电平。
因此,在时间T0与T2之间提供了倍增电流I1以对累积电容器212进行充电。
另外,脉冲输入信号PX2在第零时间T0与第一时间T1之间具有高电平,因此缓冲器输出电压Vbuf2在时间T0与T1之间具有低电平。
因此,在时间T0与T1之间提供了倍增电流I2以对累积电容器212进行充电。
计算电压VMAC在时间T0与T1之间(其间提供了倍增电流I1和I2)根据倍增电流I1和倍增电流I2之和迅速增大,然后在时间T1与T2之间(根据倍增电流I1,因为在此时段期间倍增电流I2为零)较缓慢地增大。
在第三时间T3处,复位信号RESET被激活以使累积电容器212放电。T0与T3之间的间隔可以对应于计算时段。
紧接在第三时间T3之前的计算电压VMAC对应于输入向量(具有输入信号X1,X2,...,Xn作为元素)与权重向量(具有权重信号W1,W2,...,Wn作为元素)之间的内积。
图3假定已编程了每个NAND串的第一闪存单元的权重。
在另一实施例中,可以在每个NAND串的其他闪存单元中对权重进行编程,在这种情况下,闪存单元阵列可以储存在权重矩阵中所包括的全部权重。
在这种情况下,可以通过对闪存单元阵列的每一行执行前述操作来得到权重矩阵与输入向量的乘法运算。
计算输出电路210还可以包括用于将计算电压VMAC转换为数字信号的模数转换器。
计算输出电路210还可以包括用于调整计算电压VMAC的电平的电路。
图7和图8示出了当每个权重是2比特数据时的计算操作。
由于权重是2比特数据,因此权重可以处于四个状态(包括“00”、“01”、“10”和“11”)之一。
在实施例中,当每个权重是2比特数据时,图6所示的计算操作被重复3次以产生最终计算电压。
也就是说,当每个权重是2比特数据时,在经过了三次图6所示的计算时段之后,复位信号被激活。
在一个计算时段期间执行的计算操作可以被称为计算步骤。
图7A至图7C分别对应于三个计算步骤。在每个计算步骤期间,都调整读取电压的电平。
在图7A所示的第一计算步骤中,读取电压被设置为能够区分“10”和“01”的第一电压VRead1。
在图7B所示的第二计算步骤中,读取电压被设置为能够区分“11”和“10”的第二电压VRead2。
在图7C所示的第三计算步骤中,读取电压被设置为能够区分“01”和“00”的第三电压VRead3。
图8A至图8C示出了X2与W2的乘法处理。
PX2被表示为具有8T宽度的脉冲,因为X2如图5所示为8,PX2在第一至第三计算步骤中保持相同的形式。
在图8A至图8C中,假定权重W2为“10”。
由于在第一计算步骤中读取电压被设置为第一电压VRead1,因此在第一计算步骤中权重被识别为1。
由于在第二计算步骤中读取电压被设置为第二电压VRead2,因此在第二计算步骤中权重被识别为0。
由于在第三计算步骤中读取电压被设置为第三电压VRead3,因此在第三计算步骤中权重被识别为1。
由于最终计算电压对应于将在执行第一至第三计算步骤时产生的计算电压相加的结果,因此权重W2最终被识别为“10”。
在图8A至图8C中,仅示出了X2与W2的乘积,但是可以对X1至Xn和W1至Wn全部同时执行类似的操作,并且最终可以产生MAC运算结果。
对于3比特或更多比特的权重,计算操作可以与上述类似地执行,除了在计算操作中执行的计算步骤数之外。
如果权重的比特数为K,则可以在总共执行2K-1个计算步骤之后获得最终计算电压。在每个计算步骤中,读取电压被设置为不同,以便可以区分两个相邻的权重。
由于本领域技术人员可以容易地从前面的描述中得出计算操作,因此将不重复详细的公开。
尽管已经出于说明性目的描述了各个实施例,但是对于本领域技术人员显而易见的是,可以在不脱离如所附权利要求所限定的本公开的精神和范围的情况下,对所描述的实施例进行各种改变和修改。
Claims (14)
1.一种非易失性存储器件,包括:
存储单元阵列,其包括:
多个非易失性存储元件,被配置为分别储存多个权重,以及
多个位线,根据多个输入信号而耦接到所述多个非易失性存储元件;
计算输出电路,被配置为根据所述多个输入信号而从在所述多个位线处分别引起的电压产生计算信号。
2.根据权利要求1所述的非易失性存储器件,其中,所述存储单元阵列包括:
多个单元串,每个单元串包括所述多个非易失性存储元件中的一个;以及
多个位线选择开关,根据所述多个输入信号而将所述多个单元串耦接到所述多个位线。
3.根据权利要求2所述的非易失性存储器件,
其中,所述存储单元阵列还包括多个字线,以及
其中,所述多个单元串中的每个单元串包括串联耦接的多个存储单元,每个单元串中的每个存储单元包括通过所述多个字线中的相应字线接收相应的字线信号的栅极。
4.根据权利要求2所述的非易失性存储器件,其中,所述存储单元阵列还包括:
源极线,以及
多个源极线选择开关,其根据多个源极线选择信号而分别将所述多个单元串耦接到所述源极线。
5.根据权利要求2所述的非易失性存储器件,还包括:输入电路,被配置为将所述多个输入信号转换为多个脉冲输入信号,
其中,所述多个位线选择开关根据所述多个脉冲输入信号而将所述多个单元串与所述多个位线耦接;以及
其中,所述多个脉冲输入信号是其宽度分别与相应的输入信号的值相对应的脉冲信号。
6.根据权利要求1所述的非易失性存储器件,其中,所述计算输出电路包括多个倍增输出电路,以及
其中,所述多个倍增输出电路中的每个产生与所述多个输入信号中的对应一个和所述多个权重中的对应一个之间的乘积相对应的相应倍增电流。
7.根据权利要求6所述的非易失性存储器件,其中,所述多个倍增输出电路中的倍增输出电路包括:电流源,其被配置为根据所述多个位线之中的对应一个的电压来产生所述倍增输出电路的所述倍增电流。
8.根据权利要求7所述的非易失性存储器件,其中,所述倍增输出电路还包括:
电阻器,其耦接在电源电压与所述多个位线之中的对应位线之间;和
缓冲器,其被配置为对在所述电阻器与所述多个位线之中的对应一个之间的公共节点的电压进行缓冲,以便产生缓冲器输出电压。
9.根据权利要求8所述的非易失性存储器件,其中,所述电流源是p沟道金属氧化物半导体PMOS晶体管,所述PMOS晶体管包括接收所述缓冲器输出电压的栅极、耦合到所述电源电压的源极以及输出所述倍增输出电路的所述倍增电流的漏极。
10.根据权利要求9所述的非易失性存储器件,其中,所述电流源还包括:电阻器,其耦接在所述电源电压与所述PMOS晶体管的源极之间。
11.根据权利要求6所述的非易失性存储器件,其中,所述计算输出电路还包括:累积电容器,其通过来自所述多个倍增输出电路的所述倍增电流而被充电。
12.根据权利要求11所述的非易失性存储器件,其中,所述计算输出电路还包括:复位开关,其用于根据复位信号使所述累积电容器放电。
13.根据权利要求1所述的非易失性存储器件,其中,所述非易失性存储器件是NAND闪存器件。
14.根据权利要求6所述的非易失性存储器件,其中,所述多个权重中的每个是K比特的数据,并且所述多个倍增输出电路中的每个执行2K-1次计算步骤以产生相应的倍增电流,其中K是自然数,以及其中提供给所述多个非易失性存储元件之一的读取电压在每个计算步骤中被设置为不同。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0109899 | 2019-09-05 | ||
KR20190109899 | 2019-09-05 | ||
KR1020200037872A KR20210029070A (ko) | 2019-09-05 | 2020-03-27 | Mac 연산 동작을 수행하는 비휘발성 메모리 장치 |
KR10-2020-0037872 | 2020-03-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112447229A true CN112447229A (zh) | 2021-03-05 |
Family
ID=74733463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327878.1A Pending CN112447229A (zh) | 2019-09-05 | 2020-04-23 | 执行乘法累加运算的非易失性存储器件 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11526739B2 (zh) |
CN (1) | CN112447229A (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015204126A (ja) | 2014-04-16 | 2015-11-16 | 株式会社東芝 | 半導体記憶装置 |
US11500613B2 (en) * | 2020-02-06 | 2022-11-15 | National Tsing Hua University | Memory unit with multiply-accumulate assist scheme for multi-bit convolutional neural network based computing-in-memory applications and computing method thereof |
DE102020133585A1 (de) * | 2020-12-15 | 2022-06-15 | Infineon Technologies Ag | Vorrichtungen und systeme für bestimmte speicherinterne verarbeitungen |
CN112992232B (zh) * | 2021-04-28 | 2021-08-17 | 中科院微电子研究所南京智能技术研究院 | 一种多位正负单比特存内计算单元、阵列及装置 |
US11942144B2 (en) | 2022-01-24 | 2024-03-26 | Stmicroelectronics S.R.L. | In-memory computation system with drift compensation circuit |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090027140A (ko) * | 2007-09-11 | 2009-03-16 | 삼성전자주식회사 | 비휘발성 메모리 소자의 프로그램 방법 |
WO2014210424A2 (en) * | 2013-06-27 | 2014-12-31 | Aplus Flash Technology, Inc. | Novel nand array architecture for multiple simultaneous program and read |
US20170271023A1 (en) * | 2016-03-15 | 2017-09-21 | Kabushiki Kaisha Toshiba | Memory device |
US20190102170A1 (en) * | 2018-09-28 | 2019-04-04 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
US10340003B1 (en) * | 2018-07-06 | 2019-07-02 | National Tsing Hua University | Input-pattern aware reference generation system and computing-in-memory system including the same |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101076880B1 (ko) | 2008-09-24 | 2011-10-25 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리소자의 프로그램 방법 |
JP2011029965A (ja) * | 2009-07-27 | 2011-02-10 | Panasonic Corp | 半導体装置 |
US9430735B1 (en) | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
CN108446097B (zh) | 2018-03-09 | 2021-06-25 | 恒烁半导体(合肥)股份有限公司 | 一种基于NOR Flash模块的数据运算方法 |
-
2020
- 2020-04-02 US US16/838,916 patent/US11526739B2/en active Active
- 2020-04-23 CN CN202010327878.1A patent/CN112447229A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090027140A (ko) * | 2007-09-11 | 2009-03-16 | 삼성전자주식회사 | 비휘발성 메모리 소자의 프로그램 방법 |
WO2014210424A2 (en) * | 2013-06-27 | 2014-12-31 | Aplus Flash Technology, Inc. | Novel nand array architecture for multiple simultaneous program and read |
US20170271023A1 (en) * | 2016-03-15 | 2017-09-21 | Kabushiki Kaisha Toshiba | Memory device |
US10340003B1 (en) * | 2018-07-06 | 2019-07-02 | National Tsing Hua University | Input-pattern aware reference generation system and computing-in-memory system including the same |
US20190102170A1 (en) * | 2018-09-28 | 2019-04-04 | Intel Corporation | Techniques for current-sensing circuit design for compute-in-memory |
Also Published As
Publication number | Publication date |
---|---|
US20210073621A1 (en) | 2021-03-11 |
US11526739B2 (en) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11663457B2 (en) | Neural network circuits having non-volatile synapse arrays | |
US11526739B2 (en) | Nonvolatile memory device performing a multiplication and accumulation operation | |
JP2732826B2 (ja) | 不揮発性半導体メモリ装置とそのワードライン駆動方法 | |
US9070475B2 (en) | Reading soft bits simultaneously | |
JP4987904B2 (ja) | 不揮発性メモリ | |
US8773917B2 (en) | Word line kicking when sensing non-volatile storage | |
US7336532B2 (en) | Method for reading NAND memory device and memory cell array thereof | |
Lee et al. | High-density and highly-reliable binary neural networks using NAND flash memory cells as synaptic devices | |
JP2002319286A (ja) | 不揮発性記憶装置および記憶システム | |
TWI716215B (zh) | 近記憶體計算系統及非揮發性記憶體單元 | |
JPH11195299A (ja) | 不揮発性半導体記憶装置 | |
JP2009070539A (ja) | 不揮発性メモリ装置及びそのマルチレベルセルプログラム方法 | |
JP2018513516A (ja) | 不揮発性メモリのための多状態プログラミング | |
US10297337B2 (en) | Hierarchical fail bit counting circuit in memory device | |
KR20190133532A (ko) | 트랜스포즈가 가능한 가중치 셀 및 이의 어레이 | |
US5995412A (en) | Nonvolatile semiconductor storage device and writing method thereof | |
JPH11134879A (ja) | 不揮発性半導体記憶装置 | |
JP5925644B2 (ja) | 半導体記憶装置 | |
KR20210029070A (ko) | Mac 연산 동작을 수행하는 비휘발성 메모리 장치 | |
US11397561B2 (en) | Nonvolatile memory device performing a multiplicaiton and accumulation operation | |
JP3125190B2 (ja) | メモリセルセンシング回路及びメモリセルセンシング方法 | |
CN117157636A (zh) | 存算一体装置、系统及其操作方法 | |
KR20210029071A (ko) | Mac 연산 동작을 수행하는 비휘발성 메모리 장치 | |
US20240013835A1 (en) | Semiconductor memory device performing a multiplication and accumulation operation | |
JP4130784B2 (ja) | 多値メモリ回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |