CN112447228A - 执行乘法累加运算的非易失性存储器件 - Google Patents
执行乘法累加运算的非易失性存储器件 Download PDFInfo
- Publication number
- CN112447228A CN112447228A CN202010327413.6A CN202010327413A CN112447228A CN 112447228 A CN112447228 A CN 112447228A CN 202010327413 A CN202010327413 A CN 202010327413A CN 112447228 A CN112447228 A CN 112447228A
- Authority
- CN
- China
- Prior art keywords
- signal
- input
- calibration
- input signals
- voltage
- 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 52
- 238000005070 sampling Methods 0.000 claims description 21
- 239000003990 capacitor Substances 0.000 claims description 7
- 230000008878 coupling Effects 0.000 claims description 5
- 238000010168 coupling process Methods 0.000 claims description 5
- 238000005859 coupling reaction Methods 0.000 claims description 5
- 238000007599 discharging Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 claims 1
- 210000004027 cell Anatomy 0.000 description 72
- 210000002569 neuron Anatomy 0.000 description 19
- 101000641224 Homo sapiens Vimentin-type intermediate filament-associated coiled-coil protein Proteins 0.000 description 10
- 102100034331 Vimentin-type intermediate filament-associated coiled-coil protein Human genes 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 210000000225 synapse Anatomy 0.000 description 7
- 102100021935 C-C motif chemokine 26 Human genes 0.000 description 4
- 101000897493 Homo sapiens C-C motif chemokine 26 Proteins 0.000 description 4
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
- 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
- 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/30—Power supply 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/32—Timing 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
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Biomedical Technology (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Read Only Memory (AREA)
Abstract
本公开提供一种执行乘法累加运算的非易失性存储器件。一种非易失性存储器件,包括:存储单元阵列,其包括多个非易失性存储元件以及与所述多个非易失性存储元件耦接的位线,所述多个非易失性存储元件被配置为储存多个权重并且根据多个输入信号而分别被控制;以及计算输出电路,其被配置为产生与输入向量和权重向量之间的内积相对应的计算信号,所述输入向量对应于所述多个输入信号,所述权重向量对应于所述多个权重。
Description
相关申请的交叉引用
本申请要求于2019年9月5日提交的申请号为10-2019-0109898的韩国专利申请以及2020年4月13日提交的申请号为10-2020-0044466的韩国专利申请的优先权,其全部内容通过引用合并于此。
技术领域
各种实施例涉及执行乘法累加(MAC,multiplication and accumulation)运算的非易失性存储器件。
背景技术
神经网络广泛用于人工智能应用中,诸如图像识别和自动驾驶汽车中使用的技术。
在示例中,神经网络包括输入层、输出层以及在输入层与输出层之间的一个或更多个内层。
输出层、输入层和内层中的每个包括一个或更多个神经元。包含在相邻层中的神经元通过突触以各种方式连接。例如,突触从给定层中的神经元指向下一层中的神经元。可替代地或附加地,突触从上一层中的神经元指向给定层中的神经元。
每个神经元储存一个值。包括在输入层中的神经元的值根据输入信号(例如,要识别的图像)来确定。包含在内层和输出层中的神经元的值基于包含在对应的上一层中的神经元和突触。例如,在每个内层中的神经元的值基于神经网络中的上一层中的神经元的值。
每个突触具有权重。每个突触的权重均基于神经网络的训练操作。
在神经网络被训练之后,神经网络可以用于执行推理操作。在推理操作中,基于输入来设置输入层中的神经元的值,并且基于输入层中的神经元的值和连接各层的受过训练的突触的权重来设置下一层(例如,内层和输出层)中的神经元的值。输出层中神经元的值代表推理操作的结果。
例如,在推理操作中,其中通过在已训练了神经网络之后的神经网络执行图像识别,基于输入图像来设置输入层中的神经元的值,基于输入层中的神经元的值在内层执行多个操作,并且将图像识别的结果从内层输出在输出层。
在这样的推理操作中,必须通过卷积神经网络中的神经元执行大量的MAC运算。结果,期望一种能够有效地执行大量MAC运算的半导体器件。
发明内容
根据本公开的实施例,一种非易失性存储器件可以包括:存储单元阵列,其包括多个非易失性存储元件和与所述多个非易失性存储元件耦接的多个位线,所述多个非易失性存储元件被配置为储存多个权重并且根据多个输入信号分别被控制;以及计算输出电路,其被配置为产生与输入向量和权重向量之间的内积相对应的计算信号,所述所述输入向量对应于所述多个输入信号,所述权重向量对应于所述多个权重。
附图说明
附图(其中在各个单独的视图中类似的附图标记指代相同或功能相似的元件)以及下面的详细描述被并入说明书中并形成说明书的一部分,并且用于进一步示出包括各种特征的实施例,并解释这些实施例的各种原理和有益方面。
图1示出了根据本公开的实施例的闪存器件(flash memory device)。
图2示出了根据本公开的实施例的NAND串(NAND string)。
图3A和图3B示出了根据本公开的实施例的使用闪存单元的计算操作。
图4示出了根据本公开的实施例的输入电路的操作。
图5示出了根据本公开的实施例的第一输入电路。
图6示出了根据本公开的实施例的输出电路。
图7示出了根据本公开的实施例的计算输出电路。
图8示出了示出根据本公开的实施例的转换电路的操作的时序图。
图9示出了示出根据本公开的实施例的闪存器件的计算操作的时序图。
具体实施方式
下面将参考附图描述各个实施例。提供实施例是为了说明性目的,未明确示出或描述的其他实施例也是可能的。此外,可以对将在下面详细描述的本公开的实施例进行修改。
在以下公开内容中,非易失性存储器件利用闪存器件作为示例被公开,但是可以使用的非易失性存储器件的类型不必限于闪存器件。
图1是示出根据本公开的实施例的闪存器件1的框图。
闪存器件1包括闪存单元阵列100、输入电路200、输出电路300、命令解码器400和校准电路500。
命令解码器400以与在常规闪存器件中包括的命令解码器中执行的操作相同的方式来控制读取操作、编程操作和擦除操作。
在本实施例中,命令解码器400还另外执行计算操作所需的控制操作。
根据本实施例的闪存器件具有存储操作模式和计算操作模式。
在存储操作模式下,执行普通闪存器件的操作。在计算操作模式下,执行MAC运算。
命令解码器400可以输出模式信号MODE以对由逻辑值“0”指示的存储操作模式与由逻辑值“1”指示的计算操作模式进行区分。
闪存单元阵列100可以被称为存储单元阵列。
闪存单元阵列100包括多个NAND串、多个位线以及多个源极线。
图2示出了根据本公开实施例的、诸如可以包括在图1的闪存单元阵列100中的NAND串110。
NAND串110包括多个闪存单元F1,F2,...,Fn,和Fc,所述多个闪存单元连接在对应的位线BL与对应的源极线SL之间。
在下文中,NAND串可以被称为单元串,而闪存单元可以被称为存储单元或快闪存储单元。
NAND串110包括:位线选择开关N1,其将闪存单元F1与位线BL耦接;以及源极线选择开关N2,其将闪存单元Fc与源极线SL耦接。
在本实施例中,闪存单元Fc用于校准操作并且可以被称为校准单元。
在该实施例中,位线选择开关N1和源极线选择开关N2是NMOS晶体管。
多个闪存单元F1,F2,...,Fm和Fc可以是浮栅闪存单元或电荷俘获闪存单元。
每个闪存单元储存权重,并且储存权重的步骤在闪存器件1的编程操作中执行。
在所示的实施例中,每个闪存单元储存一比特的权重。在另一实施例中,每个闪存单元可以储存多个比特的权重。
图3A是示出利用闪存单元的计算操作的示图。
闪存单元根据电荷是被注入到浮置栅极中还是被注入到电荷俘获区中而具有低阈值电压VTH,L或高阈值电压VTH,H。
在本实施例中,当阈值电压为低时(诸如当阈值电压为低阈值电压VTH,L时),储存在闪存单元中的权重对应于逻辑值“1”,而当阈值电压为高时(诸如当阈值电压为高阈值电压VTH,H时),储存在闪存单元中的权重对应于逻辑值“0”。
在这种情况下,当向闪存单元的栅极施加输入电压VIN时,闪存单元的漏极-源极电压VDS根据阈值电压和输入电压VIN而变化。
此时,输入电压VIN可以被设置为低输入电压VIN,L或高输入电压VIN,H。
在本实施例中,低输入电压VIN,L对应于逻辑值“1”,而高输入电压VIN,H对应于逻辑值“0”。
如图3A所示,低输入电压VIN,L被设置为低于高输入电压VIN,H而高于高阈值电压VTH,H。
例如,低阈值电压VTH,L可以分布在0V与1V之间,而高阈值电压VTH,H可以分布在4V与5V之间。同样,低输入电压VIN,L可以是7V,而高输入电压VIN,H可以是11V。
因此,不管输入电压VIN的电平如何,闪存单元都被导通,但是闪存单元的导通电阻的大小可以根据闪存单元的阈值电压和输入电压VIN的大小而变化。
图3B示出了显示闪存单元的根据输入电压VIN和阈值电压VTH的漏极-源极电压VDS的各种值的表。该表假定通过闪存单元提供恒定电流。
在表中,乘积信号IWP对应于输入电压VIN与阈值电压VTH的乘积。在本实施例中,输入电压VIN和阈值电压VTH分别是1比特的信号(即,各自携带1比特的信息),因此乘积信号IWP的值为“0”或“1”。
漏极-源极电压VDS可以分为三种情况。
漏极-源极电压VDS的值“V1”(为最大值)对应于低输入电压VIN,L和高阈值电压VTH,H,这对应于由于输入电压VIN与阈值电压VTH之间的差较小而导致闪存单元的导通电阻较大的情况。
漏极-源极电压VDS的值“V2”(为中间值)对应于低输入电压VIN,L和低阈值电压VTH,L或高输入电压VIN,H和高阈值电压VTH,H,这对应于闪存单元的导通电阻为中等的情况。
漏极-源极电压VDS的值“V3”(为最小值)对应于高输入电压VIN,H和低阈值电压VTH,L,这对应于由于输入电压VIN与阈值电压VTH之间的差最大而导致闪存单元的导通电阻最小的情况。
在本实施例中,当漏极-源极电压VDS为V2或V3时,由闪存单元产生的乘积信号IWP对应于“0”。因为尽管V2和V3对应于相同的乘积信号,但是它们具有不同的电平,所以在本实施例中执行用于调整漏极-源极电压VDS电平的校准操作。将在下面详细描述校准操作。
在该实施例中,NAND串110包括串联连接的多个闪存单元。在这种情况下,在计算操作期间每个闪存单元的最大漏极-源极电压(即,V1)优选被设置为与输入电压的大小相比非常小。闪存单元的最大漏极-源极电压可以通过以下方式来控制,例如,通过闪存的设计,通过控制高阈值电压VTH,H的值,通过控制低输入电压VIN,L的值,通过控制流经闪存单元的电流的大小,或通过它们的组合。
由于在计算操作期间每个闪存单元的最大漏极-源极电压(即,V1)被设置为与输入电压的大小相比非常小,因此特定的闪存单元的输入电压与阈值电压之间的电压差基本上不受位于特定的闪存单元下方的闪存单元的漏极-源极电压的影响。
在计算操作模式中,NAND串被提供恒定电流。如果电流的大小为I,并且闪存单元的最大电阻为R1,则优选以下条件。
例如,当所有闪存单元的漏极-源极电压变为V1时,位线电压变为最大值,并且希望将该最大值设置为比低输入电压VIN,L与高阈值电压VTH,H之间的差小很多。在一个实施例中,位线电压的最大值可以被设置为小于100mV。
在本实施例中,位线选择开关N1由位线选择信号BSL控制,并且源极线选择开关N2由源极线选择信号CSL控制。
在本实施例中,位线选择信号BSL和源极线选择信号CSL可以由输入电路200提供,但是提供位线选择信号BSL和源极线选择信号CSL的配置可以进行各种改变。
输入电路200根据模式信号MODE而向闪存单元阵列100提供输入信号X1,X2,...,Xn和Xc。
图4是根据本公开的实施例的输入电路200的框图。
在该实施例中,输入电路200包括在计算操作模式下使用的第一输入电路210和在存储操作模式下使用的第二输入电路220。
第二输入电路220根据输入信号X1,X2,...,Xn和Xc而向闪存单元阵列100提供读取电压或通过电压作为字线信号PX1,PX2,...,PXn和PXc。
作为第(n+1)输入信号的输入信号Xc可以表示为Xn+1,而作为与第(n+1)输入信号相对应的信号的字线信号PXc可以表示为PXn+1。
在执行计算操作模式的过程中,可以控制编程操作和擦除操作。
由于该操作对应于正常的存储操作,因此可以使用第二输入电路220来执行。
也就是说,第二输入电路220也可以用于在计算操作模式期间所需的存储操作。
在存储操作模式下根据输入信号而提供字线信号的技术在本领域中是公知的,因此将省略其详细描述。
第一输入电路210在计算操作模式下将输入信号X1,X2,...,Xn转换为脉冲输入信号PX1,PX2,...,PXn。
在计算操作模式下,输入信号Xc用于校准并且可以被称为校准信号Xc。
在计算操作模式下,输入信号X1,X2,...,Xn可以各自作为相应的多个比特的信号被提供。
在该实施例中,脉冲输入信号PX1,PX2,...,PXn和PXc是分别具有与对应的输入信号X1,X2,...,Xn和Xc的值相对应的脉冲宽度的脉冲信号。
在计算操作模式中,脉冲输入信号PXc可以被称为脉冲校准信号PXc。
在本实施例中,输入信号X1,X2,...,Xn是从外部输入的信号,并且输入信号Xc由校准电路500提供。
校准电路500可以使用NAND串中包括的闪存单元的权重信息和输入信号X1,X2,...,Xn的值来执行校准操作。下面将详细描述校准电路500的操作。
图5是示出根据本公开的实施例的第一输入电路210的框图。
第一输入电路210包括转换电路211和延迟电路212,该延迟电路212将输入信号X1,X2,...,Xn延迟并向转换电路211提供已延迟的输入信号。
延迟电路212将输入信号X1,X2,...,Xn的输入延迟到转换电路211中,直到要用于控制校准信号Xc的值被确定为止。在一个实施例中,输入信号X1,X2,...,Xn在未被延迟电路212延迟的情况下被提供给校准电路500。
如上所述,在本实施例中,脉冲输入信号PX1,PX2,...,PXn和PXc是分别具有与输入信号X1,X2,...,Xn和Xc的值相对应的脉冲宽度的脉冲信号。
图8是示出根据本公开的实施例的在计算操作模式下转换电路211的操作的时序图。
在图8中,X1是“1111”(即,15),X2是“1000”(即,8),X3是“0100”(即,4),X4是“0010”(即,2)。
当输入到转换电路211的时钟信号CLK的周期为T时,PX1为具有15T宽度的低电平脉冲,PX2为具有8T宽度的低电平脉冲,PX3为具有4T宽度的低电平脉冲,并且PX4为具有2T宽度的低电平脉冲。在一个实施例中,在计算操作期间的脉冲输入信号PX1,PX2,...,PXn和PXc的低电平等于低输入电压VIN,L,而在计算操作期间的脉冲输入信号PX1,PX2,...,PXn和PXc的高电平等于高输入电压VIN,H。
返回参考图1,输出电路300与闪存单元阵列100的位线BL连接,以在存储操作模式下输出数据信号VOUT,并且在计算操作模式下输出计算信号VMAC。
图6是示出根据本公开的实施例的输出电路300的框图。
输出电路300包括第一开关301、第二开关302、计算输出电路310和数据输出电路320。
在本实施例中,第一开关301响应于处于高电平的模式信号MODE而被接通,并且第二开关302响应于处于低电平的模式信号MODE而被接通。
计算输出电路310基于从位线BL输出的位线电压VBL而输出计算信号VMAC。
数据输出电路320基于位线电压VBL而输出数据信号VOUT。
由于数据输出电路320的配置和操作与常规闪存器件中的基本相同,因此将省略其详细描述。
图7是示出根据本公开的实施例的计算输出电路310的电路图。
计算输出电路310包括通过位线BL向NAND串110提供恒定电流I的第一电流源311以及由位线电压VBL控制的第二电流源312。
计算输出电路310还包括:电容器313,其由从第二电流源312提供的计算电流IMAC充电,并且输出计算信号VMAC;以及复位开关314,其用于根据复位信号RESET而使电容器313放电。
计算输出电路310还可以包括根据采样时钟信号SCLK而将第二电流源312和电容器313耦接的采样开关315。
在该实施例中,采样时钟信号SCLK与输入到输入电路200的时钟信号CLK具有相同的频率。
采样时钟信号SCLK可以与时钟信号CLK具有预定的相位差。
第二电流源312包括:运算放大器3121,用于放大位线电压VBL与反馈电压VF之间的电压差;PMOS晶体管3122,其包括接收运算放大器3121的输出电压的栅极和输出计算电流IMAC的源极;以及电阻器3213,其连接在PMOS晶体管3122的源极与电源电压VDD之间。
位线电压VBL被输入到运算放大器3121的正输入端子,并且作为PMOS晶体管3122的源极电压的反馈电压VF被反馈到运算放大器3121的负输入端子。因此,第二电流源312产生计算电流IMAC,所述计算电流IMAC随着位线电压VBL的减小而增大,并且随着位线电压VBL的增大而减小。
计算输出电路310还可以包括用于将计算信号VMAC转换为数字信号的模数转换器(未示出)。
计算输出电路310还可以包括诸如通过从计算信号VMAC加上或减去偏移量、对计算信号VMAC进行放大或这两者来调整计算信号VMAC的电平的电路。
图9是示出根据本公开的实施例的闪存器件的计算操作的时序图。
在从T0到Tr的计算时段期间执行计算操作。在T0之前的时间中,如本文中所述执行校准操作以确定用于控制脉冲校准信号PXc的校准值C。
当采样时钟SCLK的周期为T并且输入信号的比特数为m时,计算时段应当至少等于(2m-1)T。在本实施例中,假定计算时段的持续时间为(2m-1)T。
在图9中,脉冲输入信号PX1是在T0和T1之间具有低电平的脉冲信号,脉冲输入信号PX2是在T0和T2之间具有低电平的脉冲信号,并且脉冲输入信号PX3是T0和T3之间具有低电平的脉冲信号。脉冲输入信号PX1,PX2,PX3,…的低电平的持续时间分别根据输入信号X1,X2,X3,…来确定。脉冲校准信号PXc的低电平从T0开始并且具有与校准值C相对应的持续时间。
如以上参考图3所述,在给定了由图7的计算输出电路310的第一电流源311提供的恒定电流的情况下,每个闪存单元的漏极-源极电压根据被供应给闪存单元的脉冲输入信号的值和储存在闪存单元中的权重值(对应于闪存单元的阈值电压)而被确定为V1、V2和V3中的一个,并通过闪存单元的漏极-源极电压之和来确定位线电压VBL。
在本实施例中,由转换电路211使用的采样时钟信号SCLK是与时钟信号CLK具有相同的频率并且与时钟信号CLK具有不同的相位的信号。
在图9中,根据相应的输入值,将脉冲输入信号的低电平间隔的宽度确定为时钟信号CLK或采样时钟信号SCLK的周期的倍数。
通过将时钟信号CLK延迟来产生采样时钟信号SCLK,使得采样时钟信号SCLK的高电平间隔不与脉冲输入信号的转变重叠。结果,在每个脉冲输入信号的低电平间隔期间,采样时钟信号SCLK具有一个或更多个高电平间隔。
在如图7所示的使用采样开关315的实施例中,电容器313仅在采样时钟信号SCLK处于高电平的间隔期间才通过由第二电流源312产生的计算电流IMAC进行充电。
因此,在图9中,计算信号VMAC在采样时钟信号SCLK处于高电平的每个间隔期间上升,并且在采样时钟信号SCLK处于低电平的每个间隔期间保持恒定电平。
采样时钟信号SCLK处于高电平的间隔可以被称为采样间隔。
在图9中,对于每个采样周期,位线电压VBL可以根据在采样周期期间具有低电平的脉冲输入信号的数量和闪存单元的权重而具有不同的值。结果,计算信号VMAC的形状可以根据脉冲输入信号的形状和储存在每个闪存单元中的权重而变化。
在时间Tr之后,复位信号同步于采样时钟信号SCLK被激活,从而使电容器313放电以将计算信号VMAC初始化来进行下一次计算。
在下文中,将描述校准电路500的操作。
如上所述,当闪存单元的漏极-源极电压VDS是V2或V3时,乘积信号IWP被认为是“0”。
在实施例中,当乘积信号IWP具有值“0”时,执行校准操作以将漏极-源极电压调整为实际上等于预定电压。
在该实施例中,当乘积信号IWP具有值“0”时,执行校准操作以将漏极-源极电压调整实际上为V2。即,针对漏极-源极电压变为V3的情况执行校准操作以将漏极-源极电压调整为实际上为V2。
校准单元Fc的阈值电压被设置为具有高阈值电压VTH,H。
在接收到输入信号X1,X2,...,Xn之后并且在执行计算操作之前,由校准电路500执行校准操作。在校准操作之后,脉冲校准信号PXc在计算操作期间被控制为在C个周期期间具有低电平VIN,L,并且在计算操作的其余部分期间具有高电平VIN,H,其中C是由校准操作产生的校准值。
对于校准操作,针对从输入信号X1,X2,...,Xn得到的脉冲输入信号PX1,PX2,...,PXn来对分别与输入电压VIN和阈值电压VTH的组合相对应的情况的数量进行计数。在一个实施例中,确定在计算操作中闪存单元两端的漏极-源极电压将等于V3的次数,并且该次数被用于确定针对计算操作的校准值。
下面,如表1所示,针对具有高阈值电压VTH,H的闪存单元,脉冲输入电压VIN处于低电平的间隔数被表示为N1,针对具有低阈值电压VTH,L的闪存单元,脉冲输入电压VIN处于低电平的间隔数表示为N2,针对具有高阈值电压VTH,H的闪存单元,脉冲输入电压VIN处于高电平的间隔数表示为N3,并且针对具有低阈值电压VTH,L的闪存单元,脉冲输入电压VIN处于高电平的间隔数表示为N4。因为数字N4对应于在IWP=0情况下的漏极-源极电压为V3而不是目标值V2的次数,所以除非使用校准,否则在输出中会出现与N4×(V2-V3)相对应的误差。
接下来,针对从校准信号Xc得到的脉冲校准信号PXc来确定分别与输入电压VIN和阈值电压VTH的组合相对应的情况的数量。具体地,确定N4,其对应于计算操作期间因为当对应的闪存单元Fi具有低阈值电压VTH,L时脉冲输入信号PXi为高输入电压VIN,H因而漏极-源极电压为V3的次数的总和,其中i=1…n。
校准电路500在计算操作期间使用储存在闪存单元中的权重W1...Wn和输入信号x1...xn的值来计算N4。在一个实施例中,校准电路将对应的权重Wi为0的输入信号xi的一的补码(ones-complement)进行求和。因此,
其中p是输入信号中的比特的数量,n是输入信号的数量。
在一个实施例中,在执行校准操作之前,将权重W1..Wn的值储存在校准电路500中的寄存器中。例如,权重W1..Wn的值可以在它们被编程到闪存单元中时被储存在校准电路500中。
校准单元Fc的阈值电压被固定为高阈值电压VTH,H。因此,当脉冲校准信号PXc为低输入电压值VIN,L(对应于逻辑1)时,在校准单元Fc两端的漏极-源极电压将是最高的漏极-源极电压V1,并且当脉冲校准信号PXc为高输入电压值VIN,H(对应于逻辑0)时,在校准单元Fc两端的漏极-源极电压将是中间漏极-源极电压V2。
因此,当校准信号Xc的值为C且m为校准信号Xc的比特的数量时,在与校准信号Xc相对应的脉冲校准信号PXc中具有低电平的间隔数为C并且处于高电平的间隔数为2m-1-C。
在不存在校准的情况下的一个计算时段期间产生的总位线电压VBL可以表示为下面的等式3,其对应于MAC运算的结果。
在以下等式中,位线选择开关的漏极-源极电压和源极线选择开关的漏极-源极电压被忽略。
VBL=N1·V1+(N2+N3)·V2+N4×V3 [等式3]
当执行校准操作时,即,当考虑NAND串的闪存单元Fc的操作时,可以由等式4给出位线电压VBL。
VBL=(N1+C)×V1+(N2+N3+2m-1-C)×V2+N4×V3 [等式4]
当执行校准操作时,校准单元Fc不应对计算结果产生负面影响,而应当补偿漏极-源极电压V2与漏极-源极电压V3之间的差。
因此,通过将下面的等式6中给出的校准值C插入上面的等式4中,在等式5中给出了在执行校准操作和计算操作之后产生的位线电压。
VBL=N1×V1+(N2+N3+N4+2m-1)×V2 [等式5]
表示校准结果的等式4的值和等式5的值应该彼此相同,并且因此,由于要校正的误差等于N4·(V2-V3),并且在处于高的脉冲校准信号PXc与处于低的脉冲校准信号PXc之间的位线电压差为V1-V2,因此当N4·(V2-V3)=C·(V1-V2)时,误差通过脉冲校准信号PXc被补偿,由此校准信号Xc的校准值C可以如以下等式6所示来确定。
值(V2-V3)/(V1-V2)可以是由闪存单元和设备的设计所确定的恒定值。因此,在一个实施例中,一旦校准电路500已经确定了N4,就可以利用例如乘以固定值或查找表来确定校准值C。
尽管出于说明性目的已经描述了各种实施例,但是对于本领域技术人员将显而易见的是,可以在不脱离由所附权利要求所限定的本公开的精神和范围的情况下,可以对所描述的实施例进行各种改变和修改。
Claims (15)
1.一种非易失性存储器件,包括:
存储单元阵列,其包括:
多个非易失性存储元件,被配置为储存多个权重,并且根据多个输入信号而分别被控制,和
位线,与所述多个非易失性存储元件耦接;以及
计算输出电路,其被配置为产生与输入向量和权重向量之间的内积相对应的计算信号,所述输入向量与所述多个输入信号相对应,所述权重向量与所述多个权重相对应。
2.根据权利要求1所述的非易失性存储器件,其中,所述存储单元阵列包括单元串,所述单元串包括串联连接的所述多个非易失性存储元件。
3.根据权利要求2所述的非易失性存储器件,其中,所述多个非易失性存储元件中的每个储存所述多个权重之中的对应权重,并且包括根据所述多个输入信号之中的对应输入信号而被控制的栅极以及与相邻的非易失性存储元件的源极耦接的漏极。
4.根据权利要求2所述的非易失性存储器件,其中,所述存储单元阵列还包括:位线选择开关,其根据位线选择信号而将所述单元串与所述位线耦接;以及源极线选择开关,其根据源极线选择信号而将所述单元串与源极线耦接。
5.根据权利要求1所述的非易失性存储器件,其中,所述计算输出电路包括被配置为向所述位线提供恒定电流的第一电流源,以及其中,在所述位线处的信号是由所述恒定电流感生的电压信号。
6.根据权利要求5所述的非易失性存储器件,其中,所述计算输出电路还包括第二电流源,所述第二电流源被配置为根据所述位线的电压而产生计算电流。
7.根据权利要求6所述的非易失性存储器件,其中,所述计算输出电路还包括由所述计算电流充电的电容器。
8.根据权利要求7所述的非易失性存储器件,其中,所述计算输出电路还包括采样开关,所述采样开关被配置为根据采样时钟而向所述第二电流源提供所述位线的电压。
9.根据权利要求8所述的非易失性存储器件,其中,所述计算输出电路还包括复位开关,其用于根据复位信号而使所述电容器放电。
10.根据权利要求6所述的非易失性存储器件,其中,所述第二电流源包括:
运算放大器,其被配置为放大所述位线的电压与反馈电压之间的差;
晶体管,其包括接收所述运算放大器的输出电压的栅极、源极以及漏极;和
电阻器,其耦接在电源电压与所述晶体管的所述源极或所述漏极中的一个之间,
其中,从所述晶体管的所述源极和所述漏极中的一个提供所述计算电流,以及
其中,从所述晶体管的所述源极和所述漏极中的另一个提供所述反馈电压。
11.根据权利要求1所述的非易失性存储器件,还包括:输入电路,其被配置为产生分别与所述多个输入信号相对应的多个脉冲输入信号,
其中,将所述多个脉冲输入信号提供给所述多个非易失性存储元件,以及
其中,所述多个脉冲输入信号中的每个是具有与相应的输入信号的值相对应的脉冲宽度的脉冲信号。
12.根据权利要求1所述的非易失性存储器件,还包括:
校准电路,其被配置为根据所述多个输入信号和所述多个权重而产生校准信号。
13.根据权利要求12所述的非易失性存储器件,其中,所述存储单元阵列还包括具有预定权重并且根据所述校准信号而被控制的非易失性校准存储元件,以及
其中,根据所述校准信号和所述预定权重来调整所述位线的电压。
14.根据权利要求13所述的非易失性存储器件,还包括输入电路,所述输入电路被配置为:
将所述多个输入信号和所述校准信号转换成多个脉冲输入信号和脉冲校准信号,
将所述多个脉冲输入信号和所述脉冲校准信号提供给所述多个非易失性存储元件和所述非易失性校准存储元件,
其中,所述多个脉冲输入信号中的每个具有与对应的输入信号的值相对应的脉冲宽度,并且所述脉冲校准信号具有与所述校准信号的值相对应的脉冲宽度。
15.根据权利要求1所述的非易失性存储器件,其中,所述非易失性存储器件是NAND闪存器件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2019-0109898 | 2019-09-05 | ||
KR20190109898 | 2019-09-05 | ||
KR10-2020-0044466 | 2020-04-13 | ||
KR1020200044466A KR20210029071A (ko) | 2019-09-05 | 2020-04-13 | Mac 연산 동작을 수행하는 비휘발성 메모리 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112447228A true CN112447228A (zh) | 2021-03-05 |
Family
ID=74733124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327413.6A Pending CN112447228A (zh) | 2019-09-05 | 2020-04-23 | 执行乘法累加运算的非易失性存储器件 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11397561B2 (zh) |
CN (1) | CN112447228A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114400031A (zh) * | 2022-03-24 | 2022-04-26 | 之江实验室 | 一种补码映射的rram存算一体芯片及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0833348A1 (en) * | 1996-09-30 | 1998-04-01 | STMicroelectronics S.r.l. | Method and circuit for checking multilevel programming of floating-gate nonvolatile memory cells, particlarly flash cells |
CN1973336A (zh) * | 2004-05-05 | 2007-05-30 | 桑迪士克股份有限公司 | 用于非易失性存储器的编程控制的双调谐管理方法 |
CN101796590A (zh) * | 2007-06-29 | 2010-08-04 | 桑迪士克公司 | 具有源极偏压全位线感测的非易失性存储器 |
CN107305784A (zh) * | 2016-04-19 | 2017-10-31 | 爱思开海力士有限公司 | 折叠电路及非易失性存储器件 |
CN109256169A (zh) * | 2017-07-12 | 2019-01-22 | 闪迪技术有限公司 | 用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 |
CN110047543A (zh) * | 2017-12-19 | 2019-07-23 | 三星电子株式会社 | 非易失性存储器件及其操作方法和存储系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101076880B1 (ko) | 2008-09-24 | 2011-10-25 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리소자의 프로그램 방법 |
US9430735B1 (en) | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
US9865350B2 (en) * | 2014-08-21 | 2018-01-09 | Meiji University | Content addressable memory, an index generator, and a registered information update method |
US10878317B2 (en) | 2017-09-11 | 2020-12-29 | Samsung Electronics Co., Ltd. | Method and system for performing analog complex vector-matrix multiplication |
-
2020
- 2020-04-21 US US16/854,759 patent/US11397561B2/en active Active
- 2020-04-23 CN CN202010327413.6A patent/CN112447228A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0833348A1 (en) * | 1996-09-30 | 1998-04-01 | STMicroelectronics S.r.l. | Method and circuit for checking multilevel programming of floating-gate nonvolatile memory cells, particlarly flash cells |
CN1973336A (zh) * | 2004-05-05 | 2007-05-30 | 桑迪士克股份有限公司 | 用于非易失性存储器的编程控制的双调谐管理方法 |
CN101796590A (zh) * | 2007-06-29 | 2010-08-04 | 桑迪士克公司 | 具有源极偏压全位线感测的非易失性存储器 |
CN107305784A (zh) * | 2016-04-19 | 2017-10-31 | 爱思开海力士有限公司 | 折叠电路及非易失性存储器件 |
CN109256169A (zh) * | 2017-07-12 | 2019-01-22 | 闪迪技术有限公司 | 用于管芯上控制存储器命令、时序和/或控制信号的系统和方法 |
CN110047543A (zh) * | 2017-12-19 | 2019-07-23 | 三星电子株式会社 | 非易失性存储器件及其操作方法和存储系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114400031A (zh) * | 2022-03-24 | 2022-04-26 | 之江实验室 | 一种补码映射的rram存算一体芯片及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20210072956A1 (en) | 2021-03-11 |
US11397561B2 (en) | 2022-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2732826B2 (ja) | 不揮発性半導体メモリ装置とそのワードライン駆動方法 | |
US9070475B2 (en) | Reading soft bits simultaneously | |
EP3161832B1 (en) | Reference architecture in a cross-point memory | |
EP1729302B1 (en) | A circuit for retrieving data stored in semiconductor memory cells | |
US7974134B2 (en) | Voltage generator to compensate sense amplifier trip point over temperature in non-volatile memory | |
US11526739B2 (en) | Nonvolatile memory device performing a multiplication and accumulation operation | |
US8503232B2 (en) | Semiconductor memory device and programming method thereof | |
US7417904B2 (en) | Adaptive gate voltage regulation | |
JP2011211767A (ja) | 半導体集積回路装置 | |
WO2005091714A2 (en) | Apparatus and methods for multi-level sensing in a memory array | |
US10930321B2 (en) | Apparatuses and methods for mixed charge pumps with voltage regulator circuits | |
CN111370044B (zh) | 半导体装置 | |
US10811102B2 (en) | Flash memory storage apparatus and reading method thereof | |
US20140119096A1 (en) | Semiconductor memory apparatus, program method and system | |
US11887645B2 (en) | Dual-precision analog memory cell and array | |
CN112447228A (zh) | 执行乘法累加运算的非易失性存储器件 | |
KR20210029071A (ko) | Mac 연산 동작을 수행하는 비휘발성 메모리 장치 | |
US20240013835A1 (en) | Semiconductor memory device performing a multiplication and accumulation operation | |
JP2004362749A (ja) | メモリアレー内のマルチレベル感知のための装置および方法 | |
US8138741B2 (en) | High voltage generator in semiconductor memory | |
KR102511526B1 (ko) | 하드웨어 기반 인공 신경망 제공 장치 | |
US8885405B2 (en) | Flash memory and associated programming method | |
KR20240007048A (ko) | Mac 연산을 수행하는 반도체 메모리 장치 | |
KR20240014147A (ko) | Mac 연산 동작을 수행하는 반도체 장치 | |
CN118138026A (zh) | 延时缓冲单元、电子装置、延时缓冲阵列及其操作方法 |
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 |