CN112786081A - 存算单元和芯片 - Google Patents
存算单元和芯片 Download PDFInfo
- Publication number
- CN112786081A CN112786081A CN201911127874.2A CN201911127874A CN112786081A CN 112786081 A CN112786081 A CN 112786081A CN 201911127874 A CN201911127874 A CN 201911127874A CN 112786081 A CN112786081 A CN 112786081A
- Authority
- CN
- China
- Prior art keywords
- transistor
- resistance
- memristor
- pole
- modulation unit
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
- G11C5/063—Voltage and signal distribution in integrated semi-conductor memory access lines, e.g. word-line, bit-line, cross-over resistance, propagation delay
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/147—Voltage reference generators, voltage or current regulators; Internally lowered supply levels; Compensation for voltage drops
Landscapes
- Engineering & Computer Science (AREA)
- Power Engineering (AREA)
- Semiconductor Memories (AREA)
Abstract
本申请提供了一种存算单元和芯片,可以应用于神经网络系统。该存算单元包括:第一晶体管、忆阻器以及电阻调制单元,所述电阻调制单元的第一端口、所述忆阻器的第一端口与所述第一晶体管的第一极连接,所述第一晶体管的第一极用于控制所述第一晶体管的导通和断开;所述电阻调制单元,用于根据所述忆阻器的阻值调节施加在所述第一晶体管的第一极的电压;所述忆阻器,用于存储第一数据,其中,所述忆阻器的阻值用于指示所述第一数据;所述第一晶体管,用于当在所述第一晶体管的第二极输入用于指示第二数据的电压时,从所述第一晶体管的第三极输出所述第一数据和所述第二数据的计算结果,能够显著的提高计算数据的吞吐量并降低计算系统的能耗。
Description
技术领域
本申请涉及存储领域,尤其涉及存算单元和芯片。
背景技术
随着大数据,人工智能和神经网络等新技术的发展,需要对海量的数据进行大规模的存储和计算,而传统的计算机结构存储器与处理器通过数据总线相连接,在进行计算时,存储器需要通过数据总线向处理器传送数据,处理器对于接收的数据进行计算处理,计算速度受到存储器通过数据总线传送数据的速度的限制。为了提高数据处理速度,提出了一种将处理器和存储器集成的芯片。该芯片包括存算阵列,存算阵列由大量相同的存算单元构成。
传统的存算单元中,输出电流的开关比较小,即,计算能力受到存算单元中的忆阻器的高电阻和低电阻的比值的限制,因此,由传统的存算单元构成的存算阵列不能进行大规模的计算。并且,忆阻器的阻值的波动会导致存算单元的计算结果有误差。
发明内容
本申请提供一种存算单元和芯片,能够提高存算单元的输出电流的开关比,降低因忆阻器的阻值波动而导致的计算结果误差,显著的提高计算数据的吞吐量并降低计算系统的能耗。
第一方面,提供了一种存算单元,包括:第一晶体管、忆阻器以及电阻调制单元,所述电阻调制单元的第一端口、所述忆阻器的第一端口与所述第一晶体管的第一极连接,所述第一晶体管的第一极用于控制所述第一晶体管的导通和断开;所述电阻调制单元,用于根据所述忆阻器的阻值调节施加在所述第一晶体管的第一极的电压;所述忆阻器,用于存储第一数据,其中,所述忆阻器的阻值用于指示所述第一数据;所述第一晶体管,用于当在所述第一晶体管的第二极输入用于指示第二数据的电压时,从所述第一晶体管的第三极输出所述第一数据和所述第二数据的计算结果。
其中,所述电阻调制单元的阻值随所述忆阻器的阻值的变化而发生改变。
具体地说,在本申请中,电阻调制单元的阻值可以根据施加在该电阻调至单元两端的电压的变化而变化。
并且,所述忆阻器是一种电阻随着施加在其上的电压变化而变化的器件。
在本申请中,可以使所述电阻调制单元和所述忆阻器串联,并且,施加至由所述电阻调制单元和所述忆阻器构成的串联电路两端的电压保持不变。从而,能够使所述电阻调制单元与所述忆阻器形成分压结构。
从而,能够实现所述电阻调制单元的阻值随所述忆阻器的阻值的变化而发生改变。
根据上述结构,如果所述忆阻器的阻值增大,则所述电阻调制单元的阻值减小;或者
如果所述忆阻器的阻值减小,则所述电阻调制单元的阻值增大。
并且,通过使所述电阻调制单元与所述忆阻器连接的端口(即第一端口)连接至第一晶体管的第一极(即,用于控制该第一晶体管导通与断开的极),能够使所述第一晶体管的第一极的电压随着所述忆阻器的分压的变化而变化。即,可以使得第一晶体管的第一极的变化范围与所述忆阻器的分压范围相同,也就是说,能够使所述存算单元的输出电流开关比远远大于所述忆阻器的阻值变化范围,从而提高了存算单元的输出电流的开关比。
此外,由于能够使所述第一晶体管的第一极的电压随着所述忆阻器的分压的变化而变化,因此能够降低忆阻器电阻在一定范围内波动对于第一极的电压的影响,即对输出电流影响较小,故所述存算单元还具有低波动性的特点,提高了输出电流的准确性,即能够减小存算单元的计算结构的误差。
可选地,所述第一晶体管包括双极性晶体管,此情况下,所述第一极包括所述双极性晶体管的基极(Base)。
可选地,所述第一晶体管包括场效应晶体管,此情况下,所述第一极包括栅极(Gate)结合第一方面,在第一方面的某些实现方式中,所述电阻调制单元包括第二晶体管,以及
所述电阻调制单元的第一端口包括除所述第二晶体管的第一极以外的任一极,其中,所述第二晶体管的第一极用于控制所述第二晶体管的导通和断开。
可选地,所述第二晶体管包括双极性晶体管,此情况下,所述第一极包括所述双极性晶体管的基极。
可选地,所述第二晶体管包括场效应晶体管,此情况下,所述第一极包括栅极。
如果忆阻器的电阻处于高阻态,第二晶体管工作在线性区,此时,第二晶体管的电阻最小,第一晶体管栅极上的电压达到最大值,第一晶体管输出电流最大。当忆阻器的电阻处于低阻态,第二晶体管工作在饱和区,第二晶体管的电阻最大,第一晶体管栅极上的电压达到最小值,第一晶体管的输出电流最小。
通过该方法可以利用第二晶体管的线性区电阻和饱和区电阻的阻值的变化,实现电阻调制的功能,使得第一晶体管输出电流开关比不受限于所述忆阻器的阻值变化范围,输出电流的开关比更大。
结合第一方面,在第一方面的某些实现方式中,所述电阻调制单元包括选通管或压敏电阻。
结合第一方面,在第一方面的某些实现方式中,所述忆阻器包括以下任意一种器件:相变存储器,铁电存储器,磁阻式随机存取存储器,或阻变存储器。
第二方面,提供了一种芯片,包括:存算阵列,所述存储阵列包括多个存算单元,其中,所述多个存算单元中的第一存算单元包括:第一晶体管、忆阻器以及电阻调制单元,所述电阻调制单元的第一端口、所述忆阻器的第一端口与所述第一晶体管的第一极连接,所述第一晶体管的第一极用于控制所述第一晶体管的导通和断开;所述电阻调制单元,用于根据所述忆阻器的阻值调节施加在所述第一晶体管的第一极的电压;所述忆阻器,用于存储第一数据,其中,所述忆阻器的阻值用于指示所述第一数据;所述第一晶体管,用于当在所述第一晶体管的第二极输入用于指示第二数据的电压时,从所述第一晶体管的第三极输出所述第一数据和所述第二数据的计算结果。
如上所述,由于本申请提供的存算单元的输出电流开关比远远大于所述忆阻器的阻值变化范围,提高了存算单元的输出电流的开关比,进而能够使本申请提供的具有多个存算单元构成的存算阵列的芯片的输出电流的开关比较大,即,计算能力不受到存算单元中的忆阻器的高电阻和低电阻的比值的限制,因此,不能进行大规模的计算。并且,能够减小因忆阻器的阻值的波动而导致的芯片计算结果的误差。
可选地,所述电阻调制单元的阻值随所述忆阻器的阻值的变化而发生改变。
例如,如果所述忆阻器的阻值增大,则所述电阻调制单元的阻值减小;或者
再例如,如果所述忆阻器的阻值减小,则所述电阻调制单元的阻值增大。
可选地,所述电阻调制单元包括选通管或压敏电阻。
此情况下,所述存算阵列包括M行*N列个存算单元,其中,M和N为大于1的整数,其中,位于同一行的多个存算单元中的电阻调制单元中的第二端口连接同一条位线(BitLine,BL);位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线(Read Line,RL),所述输入数据线用于输入待计算的数据;位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线(Computing Line,CL),所示输出数据线用于输出计算结果;位于同一列的多个存算单元中的忆阻器的第二端口连接同一条选择线Source Line,SL);其中,所述位线BL和所述选择线SL用于选通待执行计算的存算单元。
可选地,所述电阻调制单元包括第二晶体管,以及所述电阻调制单元的第一端口包括除所述第二晶体管的第一极以外的任一极,其中,所述第二晶体管的第一极用于控制所述第二晶体管的导通和断开。
此情况下,所述存算阵列包括M行*N列个存算单元,其中,M和N为大于1的整数,其中,位于同一列的多个存算单元中的电阻调制单元中的第二端口连接同一条位线,所述电阻调制单元的第二端口包括所述第二晶体管的第三极;位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线,所述输入数据线用于输入待计算的数据;位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线,所示输出数据线用于输出计算结果;位于同一列的多个存算单元中的忆阻器的第二端口连接同一条选择线;位于同一行的多个存算单元中的所述第二晶体管的第一极连接在同一个字线上,所述字线用于控制所述第二晶体管的导通和断开;其中,所述位线和所述选择线用于选通待执行计算的存算单元。
可选地,在所述存算阵列包括M行*N列个存算单元的情况下,位于同一列的多个存算单元中的电阻调制单元中的第二端口连接同一条位线,所述电阻调制单元的第二端口包括所述第二晶体管的第三极;位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线,所述输入数据线用于输入待计算的数据;位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线,所示输出数据线用于输出计算结果;位于同一行的多个存算单元中的忆阻器的第二端口连接同一条选择线;位于同一行的多个存算单元中的所述第二晶体管的第一极连接在同一个字线上,所述字线用于控制所述第二晶体管的导通和断开;其中,所述位线和所述选择线用于选通待执行计算的存算单元。
可选地,所述忆阻器包括以下任意一种器件:相变存储器,铁电存储器,磁阻式随机存取存储器或阻变存储器。
第三方面,提供了一种神经网络设备,包括至少一个第二方面及其任意一种可能的实现方式中的芯片。
附图说明
图1是适用本申请提供的存算单元和芯片的计算设备的示意性架构图;
图2是本申请的存算单元的结构图;
图3是本申请实施例的存算单元的一例的示意图;
图4是本申请实施例的存算单元的另一例的示意图;
图5是本申请实施例的芯片中的存算阵列示意图;
图6是本申请实施例的存算单元的再一例的示意图;
图7是本申请实施例的芯片中的存算阵列示意图;
图8是本申请实施例的芯片结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请提供的存算单元和芯片可以有效应用于例如神经网络设备等需要大规模计算的计算设备。
如图1所示,该计算设备(或者说,存算一体设备)包含存算阵列104,输入驱动电路101,输出读取电路102,输入驱动电路101连接到本申请提出的存算阵列的输入端,为存算阵列提供输入电压,启动阵列中的存算单元103;输出读取电路连接到本申请提出的存算阵列104的输出端,输出存算阵列中存算单元的计算结果。存算阵列104由存算单元103构成,即将若干个存算单元连接成规整的存算阵列,存算阵列的连接方式将在下文进行详细描述。
图2是本申请提出的存算单元200的结构图。如图2的(a)所示,该存算单元200包括:晶体管210(即,第一晶体管的一例)、忆阻器220和电阻调制单元230,下面分别对上述器件的功能和结构进行详细说明。
A.晶体管210
晶体管常常被作为一种可变电流开关,能够基于输入电压控制输出电流。晶体管利用电压信号来控制自身的开合,而且开关速度非常快。
一般地,晶体管包括三个端子或者称为三个极,其中一个极可以用于控制该晶体管导通或断开,例如,场效应晶体管的栅极(Gate)。
晶体管的输出电流与输入电压的关系大致可以分为三个区域:截止区,线性区,饱和区。截止区是指在输入电压小于阈值电压时,晶体管没有开启的状态,此时晶体管的输出电流为零;线性区是指输入电压在某一的电压区间内,晶体管的输出电流随着输入电压成线性变化;饱和区是指输入电压大于饱和电压时,晶体管的输出电流保持恒定值,并不随着输入电压的变化而变化。
在本申请中,例如,晶体管可以包括:场效应晶体管,例如,空穴型金属氧化物半导体场效应晶体管(P-Metal-Oxide-Semiconductor,PMOS),电子型的金属氧化物半导体场效应晶体管(N-Metal-Oxide-Semiconductor,NMOS)。其中,场效应晶体管包括三个极,分别是源极(Source)、栅极(Gate)和漏极(Drain)。
再例如,晶体管还可以包括双极性晶体管,其中,双极性晶体管包括三个极,分别是由N型跟P型组成发射极(Emitter)、基极(Base)和集电极(Collector)。
应理解,以上列举的晶体管仅为示例性说明,本申请并未限定于此,例如,还可以列举无结型晶体管、薄膜晶体管、二维材料晶体管、纳米线晶体管、鳍型场效应晶体管或栅极环绕型场效应晶体管等。
以下为了便于理解和说明,以场效应晶体管作为晶体管为例,进行详细说明。
即如图2的(b)所示,在本申请实施例中,该晶体管210包括:栅极节点212(即,第一极的一例)、源极节点214(即,第二极的一例)和漏极节点216(即,第三极的一例)。
B.忆阻器220
忆阻器是以非导性材料的电阻在外加电场作用下,在高阻态和低阻态之间实现可逆转换为基础的非易失性存储器。将阻变存储器从低阻态转换为高组态的过程,称为复位(Reset)操作,将阻变存储器从高组态转换为低阻态的过程,称为置位(Set)操作。一般性地,将对阻变存储器的这两种操作统称为编程操作。
忆阻器一般采用金属-介质层-金属的结构,该两层金属分别为两个电极,每个电极对应该阻变元器件的一个端口,即如图2的(b)所示,该忆阻器220,包括第一端口221。
示例性地,忆阻器可以列举为相变存储器(Phase Change Memory,PCM),铁电存储器,磁阻式随机存取存储器(Magnetoresistive Random Access memory,MRAM)和阻变存储器(Resistive Random Access Memory,RRAM)。
C.电阻调制单元230
电阻调制单元是指阻值能够随施加在其上的输入电压发生变化的器件,例如,上文中提到的金属氧化物半导体场效应晶体管,或者,用半导体和金属材料制成的其他电阻值可调的器件,例如,选通管,该器件根据两端电压,可以在高阻态和低阻态快速切换。
该电阻调制单元230,可以用两端口的器件实现(即,实现方式1),也可以用三端口的器件实现(即,实现方式2),本申请对此不作具体限定。下面将结合附图对上述两种实现方式进行详细说明。
实现方式1
如图2的(b)所示,该两端口的电阻调制单元230包括第一端口231,在该情况下,本申请实施例提供的存算单元的具体电路连接结构为:
电阻调制单元230的第一端口231、忆阻器220的第一端口221与晶体管210的栅极节点212连接。
实现方式2
如图2的(c)所示,该三端口的电阻调制单元230包括第一端口231和第一极232,在该情况下,本申请实施例提供的存算单元的具体电路连接结构为:
电阻调制单元230的第一端口、忆阻器220的第一端口与晶体管210的栅极节点212连接。
以上介绍了存算单元200的电路连接方式,下面介绍本申请实施例的存算单元的电阻调制单元230的电阻变化过程进行说明。
电阻调制单元230的电阻可以根据施加在该单元上的电压进行阻值调节,当阻变存储器220处于高阻状态时,由于阻变存储器220与电阻调制单元230形成分压结构,故阻变存储器220改变电阻调制单元230两端的电压,使该电阻调制单元230匹配到低阻状态,此时,栅极节点212的电压达到最大;当阻变存储器220处于低阻状态时,由于阻变存储器220与电阻调制单元230形成分压结构,故阻变存储器220改变了电阻调制单元230两端的电压,使该电阻调制单元230匹配到高阻状态,此时,栅极节点212的电压达到最小。
即根据本申请实施例提供的方案,由于晶体管210的输出电流(漏电流)与该晶体管210的栅极电压成正比关系,因此,晶体管210的输出电流的开关比并不受限于阻变存储器的阻值变化范围,也就是说,该存算单元的输出电流开关比远远大于该单元中的阻变存储器的高低阻值比。
因此,本申请提出的存算单元的结构,显著的提升了输出电流开关比,此外,由于输出电流对于晶体管210的栅极电压的波动性具有抑制作用,故存算单元还具有低波动性的特点,提高了输出电流的准确性。
以上,介绍了本申请提出的存算单元,下面以电阻调制单元是晶体管,阻变存储器是RRAM为例,如图3所示,示例性地,本实施例中晶体管210是NMOS(以下,简称M1),电阻自动调制单元230是PMOS(以下,简称M2),详细说明本申请提出的存算单元的工作原理。
M2的输出端漏极与RRAM的输入端串联形成串联节点,串联节点接到M1的栅极(以下,简称G1),并且,从M2的输入端源极为本实施例的存算单元提供第一输入电压(以下,简称V2),从RRAM的输出端为本实施例的存算单元提供第一地电压(以下,简称V3),从M1的漏极为本实施例的存算单元提供第二输入电压(以下,简称V1),从M1的源极为本实施例的存算单元提供第二地电压(以下,简称V4),该存算单元的输出为M1的漏电流(以下,简称I1)。
本申请实施例提供了具有读取和存储功能的存算单元,存储功能是指在数据写入操作后存储数据的功能,读取功能是指对于存储的数据进行读取与计算的功能,因此在使用时,可以分为两种操作,即数据读取操作与数据写入操作。
在进行读取数据操作时,外部电路(未图示)为存算单元的读取电压(即,V2),例如0.5V电压,V3为接地电压,在此过程中,需要确保V2与V3不会改变RRAM的电阻值,另外,V1为高电压,例如0.5V电压,V4为接地电压,从而使得M1导通。
如果RRAM处于最高阻值状态,则M2被从该M2的栅极(以下,简称G2)输入的电压配置在最低阻值状态,此时,G1的电压为最高电平,并且I1最大。
反之,如果RRAM处于最低阻值状态,则M2的G2被配置在最高阻值状态,此时,G1为最低电平,并且I1最小。
示例性地,在具体实施过程中,M1可以选用沟道宽/长比(W/L)为28nm/100nm的NMOS,M2可以选用沟道宽/长比(W/L)为300nm/100nm的PMOS。RRAM低阻为30kΩ,高阻为300kΩ。V2为0.5V电压,V1为0.5V电压。V3和V4为接地电压。向G2输入高电平为0.5V、低电平为0V的脉冲。
当RRAM为低阻30kΩ时,G1的电压为0.17V,I1为550pA。此时由于M2工作在饱和区,M2电阻约为58kΩ;当RRAM为高阻300kΩ时,G1点电压为0.47V,I1为1.49uA。此时M2工作在线性区,M2电阻约为19kΩ。因此,本申请实施例的输出电流的开态和关态的开关比(即最大电流与最小电流的比值)可以达到2000倍以上,远远大于RRAM的最高电阻与最低电阻的比值,即10倍。
因此,本申请实施例提供的存算单元可以实现提高M1的栅极电压变化范围,使存算单元的输出电流的变化范围不受限于RRAM的高低电阻的变化范围,从而提高了M1的开关电流比。
此外,在数据写入操作,即对RRAM编程时,M2的G2的电压为高电压,M2处于低阻值状态,V2和V3为写入电压,由于RRAM的电阻值是随着施加在其两端的电压变化而发生变化的器件,RRAM器件的电阻值会随着V2和V3电压值而改变,以达到对RRAM编程的目的。
因此,本申请实施例提供的存算单元可以实现读取数据和写入数据两种功能,进一步的,提高了存算单元的输出电流开关比,显著的提高了计算速度和计算量。
应理解,图3中的存算结构仅仅为示例性,本申请并未特别限定于此,例如,存算结构中M2还可以是NMOS,M1为PMOS,如图4的(a),或者M2还可以是PMOS,M1为PMOS,如图4的(b),或者M2还可以是NMOS,M1为NMOS,如图4的(c)。
以上介绍了本申请提出的存算单元,在实际使用时,可以将存算单元按照一定排布规则连接成大规模的存算阵列,以实现大规模存储和计算的功能。
本申请提供了一种芯片,该芯片包括存算阵列,该存算阵列由上述任意一种存算单元构成,其中,至少包括位线(以下,简称BL),源极线(以下,简称SL),输入数据线或者可以称为读取线(以下,简称RL),输出数据线或者可以称为计算线(以下,简称CL),存算阵列的连接方式将在下文结合图5和图7进行详细说明,在此不做赘述。
该存算阵列可以分为编程网络和计算网络,编程网络由存算单元中电阻调制单元与阻变存储器构成,计算网络由阻变存储器和晶体管210构成;编程时通过在BL与SL施加电压,选择存算阵列的编程网络中需要编程的阻变存储器,通过改变BL与SL上施加的电压值对阻变存储器的电阻进行编程操作;计算时,通过在RL上施加电压,开启该存算阵列中的计算网络中的晶体管210,计算网络中的输出电流从CL上输出并累加。
存算阵列能够同时实现数据的存储和计算的功能,避免了计算时通过数据总线将内存单元中的数据传输到计算单元的过程,有效的解决了计算机在计算过程中的“内存墙”的问题。
更进一步地,将编程网络和计算网络分割为独立的网络,在存算阵列进行计算时,由于构成存算阵列的存算单元的输出电流具有较高开关比,因此在计算时,可以同时开启更多存算阵列中的晶体管210,提高存算阵列的计算能力。
下面以存算阵列中的存算单元的晶体管210(以下,简称M1)是NMOS,电阻调制单元230为晶体管(以下,简称M2),M2是PMOS,阻变存储器220是RRAM为例,详细说明本申请提出的存算阵列的工作原理。
如图5所示,横竖方向均为三个存算单元连接的3×3存算阵列,包括3个存算单元行,和3个存算单元列;每个存算单元行包括一个RL和一个WL,每个存算单元列包括一个SL、一个CL和一个BL;其中,每行包括3个如图3所示的存算单元,每列包括3个如图3所示的存算单元,每行的M2的栅极节点与该行的WL电连接,每行的M1的源极节点与该行的RL电连接;每列的RRAM的一端与该列的SL电连接,每列的M1的漏极节点与该列的CL电连接,每列M1的漏极节点与该列的BL电连接。
也就是说,同一列的M2的漏极相连,构成该存算阵列的BL,同一列的RRAM的一端相连,构成该存算阵列的SL,同一列的M1的源极相连,构成该存算阵列的CL,同一行的M2的栅极相连,构成该存算阵列的WL,同一行的M1的漏极相连,构成该存算阵列的RL。存算阵列将编程网络和计算网络分为两个独立的网络,RRAM与M2构成编程网络,RRAM与M1构成计算网络。
编程时,通过对WL,BL,SL上施加电压,选中RRAM器件进行编程,这样可以达到编程过程中,对于其他器件的阻值不产生影响的效果;在进行计算读取操作时,通过对WL,BL,SL上施加电压,打开相应计算网络中的M1,通过对RL施加读取电压,在CL上输出计算结果,实现计算读取操作。
示例性地,使用此存算阵列在进行编程时,例如,对图5中的第一行第一列的RRAM进行编程操作,可选地,在该阵列中的WL1施加输入电压,使得第一行第一列的存算单元中的M2开启,当编程操作为置位操作(即,SET)时,可以在BL1上施加输入电压,SL1施加接地电压,当编程操作为复位操作(即,RESET)时,可以在SL1上施加输入电压,BL1施加接地电压,该单元中RRAM的电阻值被落在其两端的电压改变,完成RRAM编程过程。
由此可见,对存算阵列中RRAM进行编程时,需要对WL,BL,SL同时施加电压,因此,在对某一RRAM进行编程时,不会对其他器件的阻值产生影响。
示例性地,使用此存算阵列进行计算读取时,例如,对图5的存算阵列中所有RRAM存储的数据进行计算读取操作,对WL1,WL2,WL3施加控制电压(低电压),使得所有M2处于半开启状态,对BL1,BL2,BL3施加读取电压,对SL1,SL2,SL3施加接地电压,确保BL1,BL2,BL3和SL1,SL2,SL3两端的电压不会改变RRAM的阻值,对RL1,RL2,RL3施加输入电压(即,输入数据的电压),此时,该存算阵列中所有M1的输出电流分别在CL1,CL2,CL3上累加并输出,完成阵列的计算读取操作。
输入电压施加到该存算阵列中的RL1,RL2,RL3,控制存算阵列中的M1进行计算,当输入电压变化时,输出电流也随之呈线性变化,即可以实现当输入电压有多个比特状态时,输出电流也有相应多个比特状态。
本申请提出的结构既可以完成数据的存储功能,也可以完成数据的计算功能,避免了计算时通过数据总线将内存单元中的数据传输到计算单元的过程,有效的提高了计算的处理速度。此外,由于本申请提出的存算单元的输出电流具有极高开关比的特性,在使用存算单元构成的存算阵列进行计算时,可以同时开启阵列中更多列晶体管,显著的提高了计算能力,也就是说,在完成大规模的计算时,本申请提出的存算阵列降低了工作的次数,从而有效的降低了计算系统的能耗。
应理解,M1,M2,RRAM都是本申请实施例的方式,本申请中电阻调制单元还可以是选通管,压敏电阻等电阻会随分压自动变化的器件,阻变器件还可以是PCM、MRAM等电阻可变的非易失存储器,晶体管的类型可以是:空穴型或者电子型的金属氧化物半导体场效应晶体管、无结型晶体管、薄膜晶体管、二维材料晶体管、纳米线晶体管、鳍型场效应晶体管或栅极环绕型场效应晶体管,本申请对此并不作具体限定。
以上,是本申请实施例的存算单元和芯片的一种实现方式,下面,结合图6和图7,以电阻调制单元是选通管(以下,简称S),阻变器件是RRAM为例,晶体管210(以下,简称M)为NMOS,对本申请的另外一种存算单元和芯片的具体实施方式做详细说明。
如图6,本申请另一实施例的存算单元中,S的一端与RRAM的一端串联形成串联节点,S和RRAM的串联节点与M的栅极(以下,简称G)相连。
示例性地,在进行读取数据操作时,在S的另一端施加读取电压(以下,简称V2),V2小于改变RRAM电阻值的电压,在RRAM的另一端施加接地电压(以下,简称V3),在M的源极施加高电压(以下,简称V1),例如0.5V电压,在M的漏极施加接地电压(以下,简称V4)。如果RRAM处于高阻状态,则S分压较低,即处于高阻值状态,M的栅极G的电压最低,M的输出电流最小,反之,如果RRAM处于低阻状态,则S分压较高,工作在开启状态即处于低阻值状态,M的栅极G的电压最高,M的输出电流最大。
示例性地,在对RRAM编程时,S处于低阻值状态,在V2和V3上加上相应的写入电压,改写RRAM器件的电阻值,以达到对RRAM编程的目的。
因此,本申请实施例提供的存算单元可以实现提高M的栅极电压变化范围,使存算单元的输出电流的变化范围不受限于RRAM的高低电阻的变化范围,从而提高了M的开关电流比。
如图7,为本申请实施例提供的另一种芯片的存算阵列,本申请实施例的横竖方向均为三个存算单元连接的3×3存算阵列,由9个如图6所示的存算单元构成,包括3个存算单元行与3个存算单元列,每行包括一个BL和一个RL,每列包括一个SL和一个CL,每行的S的一端与该行的BL电连接,每行的M1的源极与该行的RL电连接,每列的RRAM的一端与该列的SL电连接,每列的M1的漏极与该列的CL电连接。
也就是说,同一行的选通管S的一端相连,构成该存算阵列的BL,同一列的RRAM的一端相连,构成该存算阵列的SL,同一行的M1的漏极相连,构成该存算阵列的RL,同一列的M1的源极相连,构成该存算阵列的CL。
示例性地,对该阵列中的RRAM编程时,向BL施加输入电压,向SL施加接地电压,对某一RRAM器件进行编程,为了对其他器件的阻值不产生影响,相应的,未选中的列的SL上需要施加一定的电压;在进行计算读取操作时,向RL施加读取电压,在CL上输出电流,实现计算读取操作。
示例性地,使用此存算阵列进行计算读取时,例如,对图7中的所有RRAM存储的数据进行计算读取操作,向BL1,BL2,BL3施加读取电压,向SL1,SL2,SL3施加接地电压,向RL1,RL2,RL3施加高电压,此时,存算阵列中所有M的输出电流分别在CL1,CL2,CL3上输出,完成阵列的计算读取操作。
本申请提出的结构既可以完成数据的存储功能也可以完成数据的计算功能,避免了计算时通过数据总线将内存单元中的数据传输到计算单元的过程,有效的提高了计算的处理速度。此外,由于存算单元的输出电流具有极高开关比的特性,在使用存算单元构成的存算阵列进行计算时,可以同时开启阵列中更多列晶体管,对其进行输出电流的累加和计算,显著的提高了计算能力,也就是说,在完成大规模的计算时,本申请提出的存算阵列降低了工作的次数,从而有效的降低了计算系统的能耗。
应当说明的是,本申请实施例中,阵列的行数和列数仅仅是举例说明,并不作具体限定,选通管可以是低电压导通,处于低电阻态、高电压关断,处于高电阻状态的器件,也可以是高电压导通,处于低电阻态、低电压关断,处于高电阻状态的器件;晶体管的类型可以是:空穴型或者电子型的金属氧化物半导体场效应晶体管、无结型晶体管、薄膜晶体管、二维材料晶体管、纳米线晶体管、鳍型场效应晶体管或栅极环绕型场效应晶体管,本申请不作具体限定。
本申请实施例还提供了一种芯片,包括如上所述的存算阵列。
并且,本申请还提供了一种存算设备,包括如上所述的至少一个芯片。
如图8示出了本申请的芯片800的一例,该芯片800由控制器810和存算阵列820构成,存算阵列820可以是上述实施例中如图5或图7所示的存算阵列的任意一种实现方式,控制器810中的控制电路完成如图5或图7实施例中对应的存算阵列820的控制方式,控制器810控制存算阵列820完成数据的存储和计算功能。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种存算单元,其特征在于,包括:第一晶体管、忆阻器以及电阻调制单元,所述电阻调制单元的第一端口、所述忆阻器的第一端口与所述第一晶体管的第一极连接,所述第一晶体管的第一极用于控制所述第一晶体管的导通和断开;
所述电阻调制单元,用于根据所述忆阻器的阻值调节施加在所述第一晶体管的第一极的电压;
所述忆阻器,用于存储第一数据,其中,所述忆阻器的阻值用于指示所述第一数据;
所述第一晶体管,用于当在所述第一晶体管的第二极输入用于指示第二数据的电压时,从所述第一晶体管的第三极输出所述第一数据和所述第二数据的计算结果。
2.如权利要求1所述的存算单元,其特征在于,所述电阻调制单元的阻值随所述忆阻器的阻值的变化而发生改变。
3.如权利要求2所述的存算单元,其特征在于,
如果所述忆阻器的阻值增大,则所述电阻调制单元的阻值减小;或
如果所述忆阻器的阻值减小,则所述电阻调制单元的阻值增大。
4.如权利要求1至3中任一项所述的存算单元,其特征在于,所述电阻调制单元包括第二晶体管,以及
所述电阻调制单元的第一端口包括除所述第二晶体管的第一极以外的任一极,其中,所述第二晶体管的第一极用于控制所述第二晶体管的导通和断开。
5.如权利要求1至3中任一项所述的存算单元,其特征在于,所述电阻调制单元包括选通管或压敏电阻。
6.如权利要求1至5任一项所述的存算单元,其特征在于,所述忆阻器包括以下任意一种器件:相变存储器,铁电存储器,磁阻式随机存取存储器或阻变存储器。
7.一种芯片,其特征在于,包括:
存算阵列,所述存储阵列包括多个存算单元,其中,所述多个存算单元中的第一存算单元包括:
第一晶体管、忆阻器以及电阻调制单元,所述电阻调制单元的第一端口、所述忆阻器的第一端口与所述第一晶体管的第一极连接,所述第一晶体管的第一极用于控制所述第一晶体管的导通和断开;
所述电阻调制单元,用于根据所述忆阻器的阻值调节施加在所述第一晶体管的第一极的电压;
所述忆阻器,用于存储第一数据,其中,所述忆阻器的阻值用于指示所述第一数据;
所述第一晶体管,用于当在所述第一晶体管的第二极输入用于指示第二数据的电压时,从所述第一晶体管的第三极输出所述第一数据和所述第二数据的计算结果。
8.如权利要求7所述的芯片,其特征在于,所述电阻调制单元的阻值随所述忆阻器的阻值的变化而发生改变。
9.如权利要求8所述的芯片,其特征在于,
如果所述忆阻器的阻值增大,则所述电阻调制单元的阻值减小;或
如果所述忆阻器的阻值减小,则所述电阻调制单元的阻值增大。
10.如权利要求7至9中任一项所述的芯片,其特征在于,所述电阻调制单元包括选通管或压敏电阻。
11.如权利要求10所述的芯片,其特征在于,所述存算阵列包括M行*N列个存算单元,其中,M和N为大于1的整数,其中,
位于同一行的多个存算单元中的电阻调制单元中的第二端口连接同一条位线;
位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线,所述输入数据线用于输入待计算的数据;
位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线,所示输出数据线用于输出计算结果;
位于同一列的多个存算单元中的忆阻器的第二端口连接同一条选择线;
其中,所述位线和所述选择线用于选通待执行计算的存算单元。
12.如权利要求7至9中任一项所述的芯片,其特征在于,所述电阻调制单元包括第二晶体管,以及
所述电阻调制单元的第一端口包括所述晶体管的第二极,所述第二极包括除所述第二晶体管的第一极以外的任一极,其中,所述第二晶体管的第一极用于控制所述第二晶体管的导通和断开。
13.如权利要求12所述的芯片,其特征在于,所述存算阵列包括M行*N列个存算单元,其中,M和N为大于1的整数,其中,
位于同一列的多个存算单元中的电阻调制单元中的第二端口连接同一条位线,所述电阻调制单元的第二端口包括所述第二晶体管的第三极;
位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线,所述输入数据线用于输入待计算的数据;
位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线,所示输出数据线用于输出计算结果;
位于同一列的多个存算单元中的忆阻器的第二端口连接同一条选择线;
位于同一行的多个存算单元中的所述第二晶体管的第一极连接在同一个字线上,所述字线用于控制所述第二晶体管的导通和断开;
其中,所述位线和所述选择线用于选通待执行计算的存算单元。
14.如权利要求12所述的芯片,其特征在于,所述存算阵列包括M行*N列个存算单元,其中,M和N为大于1的整数,其中,
位于同一列的多个存算单元中的电阻调制单元中的第二端口连接同一条位线,所述电阻调制单元的第二端口包括所述第二晶体管的第三极;
位于同一行的多个存算单元中的第一晶体管的第二极连接同一条输入数据线,所述输入数据线用于输入待计算的数据;
位于同一列的多个存算单元中的第一晶体管的第三极连接同一条输出数据线,所示输出数据线用于输出计算结果;
位于同一行的多个存算单元中的忆阻器的第二端口连接同一条选择线;
位于同一行的多个存算单元中的所述第二晶体管的第一极连接在同一个字线上,所述字线用于控制所述第二晶体管的导通和断开;
其中,所述位线和所述选择线用于选通待执行计算的存算单元。
15.如权利要求7至14中任一项所述的芯片,其特征在于,所述忆阻器包括以下任意一种器件:相变存储器,铁电存储器,磁阻式随机存取存储器或阻变存储器。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP20883621.3A EP4044186A4 (en) | 2019-11-01 | 2020-10-30 | STORAGE AND CALCULATION UNIT AND CHIP |
KR1020227017806A KR20220088488A (ko) | 2019-11-01 | 2020-10-30 | 저장 및 계산 유닛 및 칩 |
JP2022525236A JP7483879B2 (ja) | 2019-11-01 | 2020-10-30 | 記憶及び計算ユニット、及びチップ |
PCT/CN2020/125430 WO2021083356A1 (zh) | 2019-11-01 | 2020-10-30 | 存算单元和芯片 |
US17/733,233 US20220262435A1 (en) | 2019-11-01 | 2022-04-29 | Storage and Computing Unit and Chip |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019110617829 | 2019-11-01 | ||
CN201911061782 | 2019-11-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112786081A true CN112786081A (zh) | 2021-05-11 |
Family
ID=75749905
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911127874.2A Pending CN112786081A (zh) | 2019-11-01 | 2019-11-18 | 存算单元和芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112786081A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658627A (zh) * | 2021-07-26 | 2021-11-16 | 安徽大学 | 一种能区分阻态交叉的10t4r单元电路 |
WO2023177269A1 (en) * | 2022-03-18 | 2023-09-21 | Samsung Electronics Co., Ltd. | Neural network based method and device |
-
2019
- 2019-11-18 CN CN201911127874.2A patent/CN112786081A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113658627A (zh) * | 2021-07-26 | 2021-11-16 | 安徽大学 | 一种能区分阻态交叉的10t4r单元电路 |
CN113658627B (zh) * | 2021-07-26 | 2024-03-29 | 安徽大学 | 一种能区分阻态交叉的10t4r单元电路 |
WO2023177269A1 (en) * | 2022-03-18 | 2023-09-21 | Samsung Electronics Co., Ltd. | Neural network based method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11430511B2 (en) | Comparing input data to stored data | |
US10395738B2 (en) | Operations on memory cells | |
CN100483542C (zh) | 非易失性存储单元及非易失性半导体存储装置 | |
US9548335B2 (en) | Apparatuses and operation methods associated with resistive memory cell arrays with separate select lines | |
US8395929B2 (en) | Signal margin improvement for read operations in a cross-point memory array | |
KR100855585B1 (ko) | 소오스 라인 공유구조를 갖는 저항성 랜덤 억세스 메모리및 그에 따른 데이터 억세스 방법 | |
US11177009B2 (en) | Multi-state programming of memory cells | |
US11315633B2 (en) | Three-state programming of memory cells | |
US20220262435A1 (en) | Storage and Computing Unit and Chip | |
US20210117500A1 (en) | Methods to tolerate programming and retention errors of crossbar memory arrays | |
CN112786081A (zh) | 存算单元和芯片 | |
US10192616B2 (en) | Ovonic threshold switch (OTS) driver/selector uses unselect bias to pre-charge memory chip circuit and reduces unacceptable false selects | |
CN102473448B (zh) | 具有电阻性感测元件块擦除和单向写入的非易失性存储器阵列 | |
US20190157347A1 (en) | Test circuit block, variable resistance memory device including the same, and method of forming the variable resistance memory device | |
JP5688081B2 (ja) | ブロック消去および一方向書込みを行う抵抗検知素子を有する不揮発性メモリアレイ | |
JP2019139827A (ja) | 半導体記憶装置 | |
JPWO2013128854A1 (ja) | 不揮発性半導体記憶装置 | |
TWI751048B (zh) | 記憶體裝置及其操作方法 | |
TWI631562B (zh) | 電阻式非揮發記憶群以及記憶體架構及操作方法 | |
CN116935929A (zh) | 互补式存储电路及存储器 | |
US9478283B2 (en) | Nonvolatile semiconductor storage device having improved reading and writing speed characteristics | |
CN115035934A (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 |