CN111243648A - 闪存单元、闪存模块以及闪存芯片 - Google Patents
闪存单元、闪存模块以及闪存芯片 Download PDFInfo
- Publication number
- CN111243648A CN111243648A CN201811436944.8A CN201811436944A CN111243648A CN 111243648 A CN111243648 A CN 111243648A CN 201811436944 A CN201811436944 A CN 201811436944A CN 111243648 A CN111243648 A CN 111243648A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- circuit
- voltage
- programming
- transistor
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 261
- 239000004065 semiconductor Substances 0.000 claims abstract description 73
- 239000003990 capacitor Substances 0.000 claims abstract description 54
- 230000007774 longterm Effects 0.000 claims abstract description 8
- 230000002093 peripheral effect Effects 0.000 claims description 12
- 238000007599 discharging Methods 0.000 claims description 10
- 230000032683 aging Effects 0.000 abstract description 9
- 210000004027 cell Anatomy 0.000 description 42
- 238000013528 artificial neural network Methods 0.000 description 27
- 238000000034 method Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 6
- 238000011065 in-situ storage Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 239000000758 substrate Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000002035 prolonged effect Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 239000000243 solution Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000002784 hot electron Substances 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005036 potential barrier Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供一种闪存单元、闪存模块以及闪存芯片,该闪存单元包括:用于存储长时数据的可编程半导体器件以及用于存储临时数据的模拟电容单元,可编程半导体器件与模拟电容单元并联连接,其中,通过设置模拟电容单元存储临时数据,能够有效减少可编程半导体器件的擦写次数,避免可编程半导体器件的老化。
Description
技术领域
本发明涉及闪存技术领域,尤其涉及一种闪存单元、闪存模块以及闪存芯片。
背景技术
闪存是一种非易失性存储器,其通过调控闪存晶体管的阈值电压来实现数据的存储。根据闪存晶体管和阵列结构的不同,闪存主要分为NOR-型闪存和NAND-型闪 存。NAND-型闪存的读写以页和块为单位,其容量大、成本低,广泛应用于大规模 独立式存储器;NOR-型闪存支持数据的随机存取,与NAND-型闪存相比,密度较低、 容量较小、成本较高,主要应用于嵌入式存储器。
近年来,为了解决传统冯诺依曼计算体系结构瓶颈,存内计算 (Computing-In-Memory,CIM)得到人们的广泛研究,其基本思想是直接利用存储器 进行逻辑计算,从而减少存储器与处理器之间的数据传输量以及传输距离,降低功耗 的同时提高性能。
但是,因为闪存中的数据是通过对闪存晶体管进行擦写来更新,而闪存晶体管的擦写次数有限,频繁擦写容易使闪存晶体管老化,进而导致存内计算芯片老化。
发明内容
有鉴于此,本发明提供一种闪存单元、闪存模块以及闪存芯片,解决频繁擦写闪存晶体管导致存内计算芯片老化的问题。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,提供一种闪存单元,包括:用于存储长时数据的可编程半导体器件以及用于存储临时数据的模拟电容单元,该可编程半导体器件与该模拟电容单元并联连 接。
进一步地,该模拟电容单元包括:输出晶体管、充电晶体管、放电晶体管以及电容;
该输出晶体管的漏极连接该可编程半导体器件的漏极,源极连接该可编程半导体器件的源极,栅极连接该电容的一端;
该充电晶体管的源极连接高电压,栅极连接第一控制电压,漏极连接该电容的另一端;
该放电晶体管的源极连接低电压,栅极连接第二控制电压,漏极连接该电容的另一端。
进一步地,闪存单元还包括:编程电路,
该编程电路连接该充电晶体管的栅极和/或该放电晶体管的栅极,用于向该充电晶体管以及放电晶体管提供该第一控制电压和/或该第二控制电压。
进一步地,该编程电路还连接该可编程半导体器件,用于向该可编程半导体器件提供编程电压。
进一步地,该编程电路包括:电压产生电路和电压控制电路,该电压产生电路用于产生该第一控制电压和/或该第二控制电压和/或该编程电压,该电压控制电路用于 将该电压产生电路产生的电压加载至对应的充电晶体管和/或放电晶体管和/或可编程 半导体器件。
进一步地,闪存单元还包括:控制电路,连接该编程电路,用于控制该编程电路 工作。
第二方面,提供一种闪存模块,包括多个呈阵列布置的上述闪存单元以及外围电路、控制电路,该外围电路连接该闪存单元以及该控制电路。
进一步地,该外围电路包括:编程电路,该编程电路连接该闪存单元和该控制电路。
进一步地,该外围电路还包括:行列译码器,该行列译码器连接该闪存单元和该控制电路。
第三方面,提供一种闪存芯片,包括:输入接口电路、编程电路、行列译码器、 控制电路、输出接口电路以及多个闪存模块;每个闪存模块均包括呈阵列布置的多个 上述闪存单元;
多个该闪存模块串联组成串联支路;
该输入接口电路一端连接外部电路,另一端连接该串联支路的输入端;
该输出接口电路一端连接该串联支路的输出端,另一端连接外部电路;
该控制电路连接该编程电路、该行列译码器;
该编程电路、该行列译码器均连接各闪存模块。
第四方面,提供一种闪存芯片,包括:输入接口电路、编程电路、行列译码器、 控制电路、输出接口电路、片上存储器以及多个闪存模块;每个闪存模块均包括呈阵 列布置的多个上述闪存单元;
该输入接口电路一端连接外部电路,另一端连接该片上存储器的输入端;
该输出接口电路一端连接该片上存储器的输出端,另一端连接外部电路;
多个闪存模块分别连接该片上存储器;
该控制电路连接该编程电路、该行列译码器;
该编程电路、该行列译码器均连接各闪存模块。
本发明提供的闪存单元、闪存模块以及闪存芯片,包括:用于存储长时数据的可编程半导体器件以及用于存储临时数据的模拟电容单元,可编程半导体器件与模拟电 容单元并联连接,其中,通过设置模拟电容单元存储临时数据,能够有效减少可编程 半导体器件的擦写次数,避免可编程半导体器件的老化。
为让本发明的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅 是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提 下,还可以根据这些附图获得其他的附图。
图1为本发明实施例闪存单元的电路图一;
图2为本发明实施例闪存单元的电路图二;
图3为本发明实施例闪存单元的结构框图一;
图4为本发明实施例闪存单元的结构框图二;
图5为本发明实施例闪存模块的电路图;
图6为本发明实施例闪存芯片的电路图一;
图7为本发明实施例闪存芯片的电路图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的 所有其他实施例,都属于本发明保护的范围。
对于典型的神经网络或深度学习应用,通常包括两个方面,即训练和推理。训练是指通过已知的标记样本来得到神经网络的参数,而推理是指通过已训练好的神经网 络来预测未标记的样本。训练需要大量的计算与样本,以实现高准确率的推理。目前, 训练通常采用GPU/TPU这类具有大型算力的服务器来完成,十分不便,而且由于训 练、推理不是采用相同的介质,难免会产生参数失配,影响推理的准确率。因此,原 位训练得到人们的广泛研究,即训练和推理采用同一个介质。但是,对于传统基于 NOR-型闪存的存内计算芯片,原位训练是一个巨大的挑战,因为训练过程需要大量 的计算与样本,频繁地对NOR-型闪存晶体管进行擦写来不断更新神经网络参数,以 得到最终的高精度神经网络参数,而NOR-型闪存晶体管的擦写次数非常有限,根本 无法满足原位训练中参数更新的需求。
值得说明的是,将需要在一定间隔内更新的参数数值称为短时数据,比如神经网络训练时需要在一定间隔内调整网络的权重参数,则调整值为短时数据。将多个间隔 积累的数据值或者积累到一定规模的数据值称为长时数据,比如神经网络训练时,多 次调整的值积累到一定次数或一定规模之后的值为长时数据。
为此,本发明实施例提供一种闪存单元、闪存模块以及闪存芯片,通过设置模拟电容单元存储临时数据,能够有效减少可编程半导体器件的擦写次数,避免可编程半 导体器件的老化问题,进而使得该闪存单元、闪存模块以及闪存芯片能够适应频繁擦 写的场合,特别是神经网络或深度学习场合,支持神经网络原位训练。
图1为本发明实施例闪存单元的电路图一。如图1所示,该闪存单元1包括:用 于存储长时数据的可编程半导体器件F0以及用于存储临时数据的模拟电容单元2,可 编程半导体器件F0与模拟电容单元2并联连接。
其中,该可编程半导体器件的阈值电压可调,可以采用浮栅晶体管实现,比如:SONOS型浮栅晶体管(floating-gate transistor)、分裂式浮栅晶体管(Split-gatefloating-gate transistor)或电荷式浮栅晶体管(Charge-trapping floating-gatetransistor), 包括但不限于此,所有闪存中采用的闪存晶体管器件均属于本发明实施例的保护范 围。
浮栅晶体管包括衬底、绝缘层、栅极G、源极S、漏极D以及浮栅F,浮栅设置 于栅极与绝缘层之间,绝缘层设置于浮栅与衬底之间,用于保护浮栅中的电子不会泄 漏,浮栅中可以存储电子;通过调节浮栅中的电子数量,动态调节该浮栅晶体管的阈 值电压,由于浮栅晶体管的这种结构特性,可以将其看作一个可变的等效模拟权重, 存储一个模拟数据。
该可编程半导体器件F0的栅极连接字线WL、漏极连接位线BL、源极连接源线 SL。
其中,通过在可编程半导体器件F0上并联一个模拟电容单元2,当需要对可编程半导体器件F0进行擦写时,将需要增加或减少的电压值(相当于短时数据)施加在 模拟电容单元上,即调整模拟电容单元的电压。所述闪存单元的输出电流为该可编程 半导体器件F0的输出电流与模拟电容单元2的输出电流之和,因此,通过调整模拟 电容单元的电压即可实现闪存单元输出电流(即权重)调节的目的,当模拟电容单元 的擦写次数达到预设次数(比如10次、50次、100次、300次等,本发明实施例对 此不作限制)或预设电压(电压值在0.01V~2V的范围内,比如:0.05V、0.1V、0.5V、 0.8V、1V,本发明实施例对此不作限制)时,再将模拟电容单元的电压(相当于其 存储的数据)转存至可编程半导体器件F0,以此减少可编程半导体器件F0的擦写次 数,避免可编程半导体器件F0的老化。
图2为本发明实施例闪存单元的电路图二。如图2所示,该闪存单元1的模拟电 容单元2包括:输出晶体管N0、充电晶体管P0、放电晶体管Q0以及电容C0。
其中,输出晶体管N0的漏极连接可编程半导体器件F0的漏极,源极连接可编程 半导体器件F0的源极,栅极连接电容C0的一端;
充电晶体管P0的源极连接高电压,栅极连接第一控制电压Set,漏极连接电容 C0的另一端;
放电晶体管Q0的源极连接低电压,栅极连接第二控制电压Reset,漏极连接电容 C0的另一端。
其中,充电晶体管P0采用PMOS晶体管实现,该PMOS晶体管在负电压时导通; 放电晶体管Q0采用NMOS晶体管实现,该NMOS晶体管在正电压时导通。
当需要增加闪存单元的权重(即输出电流)时,可以通过将第一控制电压Set和 第二控制电压Reset设置为低,通过充电晶体管P0给电容C0充电,使电容C0的电压 升高,进而增加了输出晶体管N0的栅极电压,输出晶体管N0的输出电流是其栅极电 压的函数,以此增大了输出晶体管N0的输出电流,进而增大了模拟电容单元2的输 出电流,最终增加了闪存单元的权重。
当需要减少闪存单元的权重(即输出电流)时,可以通过将第一控制电压Set和 第二控制电压Reset设置为高,通过放电晶体管Q0给电容C0放电,使电容C0的电压 升降低,进而降低了输出晶体管N0的栅极电压,输出晶体管N0的输出电流是其栅极 电压的函数,以此减小了输出晶体管N0的输出电流,进而减小了模拟电容单元2的 输出电流,最终减小了闪存单元的权重。
图3为本发明实施例闪存单元的结构框图一。如图3所示,该闪存单元在包含图 2所示闪存单元1的基础上,还包括:编程电路2以及控制电路3。
其中,编程电路2连接闪存单元1中的充电晶体管P0的栅极和放电晶体管Q0的 栅极,用于向充电晶体管P0以及放电晶体管Q0提供第一控制电压Set和/或第二控制 电压Reset。
并且,该编程电路2还连接可编程半导体器件F0的源极、栅极和/或衬底,用于 产生编程电压或者擦除电压,将编程电压加载至可编程半导体器件F0的源极,或者, 将擦除电压加载至可编程半导体器件F0的栅极或衬底,以调控可编程半导体器件F0的阈值电压。
当将模拟电容单元2中的数据转存至可编程半导体器件F0时,将该编程电压施 加至可编程半导体器件F0,使可编程半导体器件F0的阈值电压增加量等于该模拟电 容单元2的电压。
具体地,编程电路利用热电子注入效应,向可编程半导体器件F0的源极施加高 电压,将沟道电子加速到高速,从而使一定数量电子越过势垒注入到浮栅中,进而增 加浮栅中电子数量,以增加可编程半导体器件F0的阈值电压;或者,编程电路利用 隧穿效应,向可编程半导体器件F0的栅极或衬底施加高电压,将浮栅中的电子从浮 栅中吸引出来,从而减少浮栅中电子数量,以减少可编程半导体器件F0的阈值电压。
控制电路3连接编程电路2,用于控制编程电路2产生的电压值以及输出方向(即控制编程电路2是向充电晶体管P0、放电晶体管Q0、可编程半导体器件F0中的任一 个或两个或三个输出电压,以及输出至充电晶体管P0、放电晶体管Q0、可编程半导 体器件F0的电压值大小)。
本领域技术人员可以理解的是,该编程电路2是一个集成的电路模块,该编程电路2可以包括:第一编程电路2a以及第二编程电路2b,如图4所示,该第一编程电 路2a连接闪存单元1中的充电晶体管P0的栅极和放电晶体管Q0的栅极,用于向充 电晶体管P0以及放电晶体管Q0提供第一控制电压Set和/或第二控制电压Reset;第 二编程电路2b连接可编程半导体器件F0的源极、栅极和/或衬底,用于产生编程电压 或者擦除电压,将编程电压加载至可编程半导体器件F0的源极,或者,将擦除电压 加载至可编程半导体器件F0的栅极或衬底,以调控可编程半导体器件F0的阈值电压。
具体地,该编程电路2可以包括:电压产生电路和电压控制电路,电压产生电路 用于产生所第一控制电压和/或第二控制电压和/或编程电压,电压控制电路用于将电 压产生电路产生的电压加载至对应的充电晶体管和/或放电晶体管和/或可编程半导体 器件。
本领域技术人员可以理解的是,在该编程电路2包括:电压产生电路和电压控制电路的基础上,该第一编程电路2a也包含电压产生电路和电压控制电路,该电压产 生电路用于产生第一控制电压和/或第二控制电压,电压控制电路用于将该电压产生 电路产生的电压加载至对应的充电晶体管和/或放电晶体管。
同理,该第二编程电路2b也包含电压产生电路和电压控制电路,该电压产生电 路用于产生编程电压,电压控制电路用于将编程电压加载至选定的可编程半导体器件 的源极,或者,加载至选定的可编程半导体器件的栅极或衬底,以调控可编程半导体 器件的阈值电压。
综上所述,本发明实施例提供的闪存单元1通过调整模拟电容单元2的电压即可实现闪存单元1输出电流调节的目的,当模拟电容单元2的擦写次数达到预设次数或 预设电压时,再将模拟电容单元2的电压(相当于其存储的数据)转存至可编程半导 体器件F0,以此减少可编程半导体器件F0的擦写次数,避免可编程半导体器件F0的 老化。
图5为本发明实施例闪存模块的电路图。如图5所示,该闪存模块包括:多个呈 阵列布置的如图1至图4所示的闪存单元以及外围电路(图中未示出)、控制电路(图 中未示出),外围电路连接各闪存单元以及控制电路。
在一个可选的实施例中,外围电路包括:编程电路和/或行列译码器。
编程电路连接各闪存单元和控制电路。编程电路用于在控制电路的控制下,向各个闪存单元供给不同的电压,与图3至图4所示的编程电路不同之处在于,本编程电 路分别与多个闪存单元连接,以控制多个闪存单元中选通的闪存单元,其原理及电路 连接以及具体组成部分参见图3至图4所述的编程电路,在此不再赘述。
行列译码器连接各闪存单元和控制电路,用于在控制电路的控制下选通部分或全部闪存单元;利用选通的闪存单元进行运算或存储工作,或者利用编程电路对选通的 闪存单元进行编程,其编程原理如上所述,相互参见即可,在此不再赘述。
其中,该闪存模块工作时,通过预先控制各闪存单元的输出电流,将各闪存单元看作一个可变的等效模拟权重,相当于存储一个模拟数据,闪存单元阵列则存储一个 模拟数据阵列。若将一列模拟电压向量或一列由模拟电流向量经转换装置转换成的模 拟电压向量施加至对应闪存单元,每个闪存单元输出的电流等于施加在其上的电压乘 以权重,因为每一列的所有闪存单元均连接至同一个输出端,所以该输出端的电流为 该列所有闪存单元输出电流之和,即为该列所有闪存单元的栅压(施加在其上的电压) 与权重的乘积之和,多列对应的多个输出端输出多个栅压与权重的乘积之和,实现矩 阵乘法运算功能。
当需要调节各闪存单元的输出电流(即等效模拟权重时),通过调整各闪存单元的模拟电容单元2的电压即可实现,当模拟电容单元2的擦写次数达到预设次数或预 设电压时,再将模拟电容单元2的电压(相当于其存储的数据)转存至对应的可编程 半导体器件F0。
闪存模块包括:NOR型闪存处理阵列和NAND型闪存处理阵列,当然,本发明不以 此为限。
在一个可选的实施例中,该闪存模块还可以包括ADC、DAC以及移位寄存器等 配套电路模块,用于辅助闪存模块处理深度学习神经网络任务。
该闪存模块通过采用上述闪存单元,闪存单元含有用于储存短时数据的模拟电容单元,能够有效减少可编程半导体器件的擦写次数,避免可编程半导体器件的老化, 进而提高闪存模块的使用寿命。
图6为本发明实施例闪存芯片的电路图一。如图6所示,该闪存芯片100包括: 输入接口电路10、编程电路30、行列译码器50、控制电路40、输出接口电路60以 及L个如图5所示的闪存模块20。闪存模块20包含呈阵列布置的如图1或图2所示 的闪存单元。
多个闪存模块20串联组成串联支路,用于实现运算功能或存储功能。
闪存模块包括:NOR型闪存处理阵列和NAND型闪存处理阵列,当然,本发明不以 此为限。
输入接口电路10一端连接外部电路,另一端连接串联支路的输入端,用于接收 外部电路的输入信号,并传输至该串联支路中;
输出接口电路60一端连接串联支路的输出端,另一端连接外部电路,用于将该 串联支路的输出信号输出至外部电路中;
控制电路40连接编程电路30、行列译码器50,用于控制编程电路30产生的电 压值以及输出方向,并控制该行列译码器50选通需要的闪存模块20中的部分或全部 闪存单元;
编程电路30、行列译码器50均连接各闪存模块20,该编程电路30用于向闪存 模块20供给不同的电压,与图3至图4所示的编程电路不同之处在于,本编程电路 分别与多个闪存模块中的多个闪存单元连接,以控制多个闪存单元中选通的闪存单 元,其原理及电路连接以及具体组成部分参见图3至图4所述的编程电路,在此不再 赘述。
该行列译码器50用于在控制电路40的控制下选通部分或全部闪存单元。利用选通的闪存单元进行运算或存储工作,或者利用编程电路对选通的闪存单元进行编程, 其编程原理如上所述,相互参见即可,在此不再赘述。
下面,以神经网络运算为例说明闪存芯片100的工作原理。
神经网络或深度学习等应用领域中,大部分计算是向量-矩阵乘加运算,闪存模块中含有阵列布置的多个闪存单元,每个闪存单元相当于存储了一个网络权重,闪存 模块中相当于存储了一个网络权重阵列,当输入信号施加至该闪存模块之后,根据基 尔霍夫定律,该闪存模块输出多个电流和,实现矩阵乘法运算功能。
该闪存芯片100利用多个闪存模块实现神经网络中多层神经元的运算,多个闪存模块串联连接,实现神经网络各层之间的数据传输。
输入接口电路接收外部电路输入的信号,可以看作一个向量,并将该向量施加至闪存模块1,通过多层级联的闪存模块,每一级的闪存模块完成神经网络中一层神经 元的运算,多级闪存模块相当于完成多层神经元的运算,进而实现神经网络运算,即 可得到处理结果。
在神经网络训练过程中,需要反复调整神经网络的参数(将每次需要调节的值看作短时数据),即:闪存模块中闪存单元的权重,此时通过调节闪存单元中模拟电容 单元的电压,即可实现闪存单元权重调节,当调节次数达到次数阈值或者模拟电容单 元的电压达到阈值电压时,通过控制电路控制编程电路产生编程电压施加至可编程半 导体器件,调节可编程半导体器件的阈值电压,使可编程半导体器件的阈值电压等于 原阈值电压加上模拟电容单元电压(相当于长时数据),并将模拟电容单元中的电压 全部放掉,接着再将短时数据存至模拟电容单元,如此反复,即可实现训练过程,并 且有效减少可编程半导体器件的擦写次数,防止可编程半导体器件老化,进而增加该 闪存芯片的使用寿命。
其中,通过控制电路40控制行列译码器50,以选通需要的闪存模块20中的部 分或全部闪存单元。
在一个可选的实施例中,该闪存芯片还可以包括ADC、DAC以及移位寄存器等 配套电路模块,用于辅助闪存模块处理深度学习神经网络任务。
图7为本发明实施例闪存芯片的电路图二。如图7所示,该闪存芯片200包括: 输入接口电路201、编程电路(图中未示出)、行列译码器(图中未示出)、控制电路 (图中未示出)、输出接口电路202、片上存储器203以及t-2个如图5所示的闪存模 块204;每个闪存模块204均包括呈阵列布置的多个如图1或图2所示的闪存单元;
输入接口电路201一端连接外部电路,另一端连接片上存储器203的输入端,用 于接收外部电路的输入信号,并传输至该片上存储器203中;
输出接口电路202一端连接片上存储器203的输出端,另一端连接外部电路,用 于将该片上存储器203中的数据输出至外部电路中;
多个闪存模块204分别连接片上存储器203,每个闪存模块204读取片上存储器203中的数据,并对数据进行运算处理,得到运算结果,并将运算结果回传至片上存 储器203中。
闪存模块包括:NOR型闪存处理阵列和NAND型闪存处理阵列,当然,本发明不以 此为限。
该片上存储器可采用SRAM、DRAM、FLASH等,包括但不限于此。
控制电路连接编程电路、行列译码器,用于控制编程电路产生的电压值以及输出方向,并控制该行列译码器选通需要的闪存模块中的部分或全部闪存单元;
编程电路、行列译码器均连接各闪存模块203,该编程电路用于向闪存模块203 供给不同的电压,与图3至图4所示的编程电路不同之处在于,本编程电路分别与多 个闪存模块中的多个闪存单元连接,以控制多个闪存单元中选通的闪存单元,其原理 及电路连接以及具体组成部分参见图3至图4所述的编程电路,在此不再赘述。
该行列译码器用于在控制电路的控制下选通闪存模块203中的部分或全部闪存单元。利用选通的闪存单元进行运算或存储工作,或者利用编程电路对选通的闪存单 元进行编程,其编程原理如上所述,相互参见即可,在此不再赘述。
下面,以神经网络运算为例说明闪存芯片200的工作原理。
与闪存芯片100相比,该闪存芯片200中,片上存储器用于存储输入数据与待处理数据(即各闪存模块的运算结果),闪存模块根据需要从片上存储器中读取数据进行 运算处理。若某一闪存模块需要对其他闪存模块的处理结果进行进一步运算处理,则 读取存储于片上存储器中的该处理结果即可,不需要将该闪存模块与其他闪存模块级 联起来,因此实现了各个闪存模块独立去耦合,进而在不同应用场景使用该闪存芯片 200时,可以根据不同运算需求选择性使用多个闪存模块中的部分或全部,实现不同 运算功能,从而增加了闪存芯片200的使用灵活性,适用性好。
在神经网络训练过程中,需要反复调整神经网络的参数(将每次需要调节的值看作短时数据),即:闪存模块中闪存单元的权重,此时通过调节闪存单元中模拟电容 单元的电压,即可实现闪存单元权重调节,当调节次数达到次数阈值或者模拟电容单 元的电压达到阈值电压时,通过控制电路控制编程电路产生编程电压施加至可编程半 导体器件,调节可编程半导体器件的阈值电压,使可编程半导体器件的阈值电压等于 原阈值电压加上模拟电容单元电压(相当于长时数据),并将模拟电容单元中的电压 全部放掉,接着再将短时数据存至模拟电容单元,如此反复,即可实现训练过程,并 且有效减少可编程半导体器件的擦写次数,防止可编程半导体器件老化,进而增加该 闪存芯片的使用寿命。
在一个可选的实施例中,该闪存芯片200还可以包括:写入电路、读取电路以及DAC、ADC以及移位寄存器等配套电路模块,用于辅助闪存模块处理深度学习神经网络 任务。
闪存模块的输出端依次连接ADC、写入电路、片上存储器。因为闪存模块输出 的运算结果为模拟信息,所以在闪存模块的输出端连接ADC,以将该模拟运算结果 转换为片上存储器能够存储的数字信号,该数字信号通过写入电路写入片上存储器的 预定地址,实现利用数字存储器存储模拟信息。
片上存储器的输出端依次连接读取电路、DAC、闪存模块,该读取电路用于从片 上存储器中读取该闪存模块所需数据,因该片上存储器为数字存储器,所以读取电路 读出的信号为数字信号,利用DAC将该数字信号转换为闪存模块所需的模拟输入信 号。
其中,该控制电路可用于控制每个闪存模块的工作状态、闪存模块中各闪存单元的权重、写入电路的写入地址以及读取电路的读取地址等。
其中,该工作状态包括运行状态和停止状态。具体地,当该闪存芯片工作于运算量较大的场合时,可以控制所有闪存模块均投入工作,当该闪存芯片工作于运算量较 小的场合时,可以控制部分闪存模块投入工作,实现芯片架构的灵活调节,有效增加 了该闪存芯片的适用性。
行列译码器用于选通待编程的闪存单元以及控制读取电路根据读取地址读取数据以及控制写入电路根据写入地址写入数据。
在闪存芯片中,每个闪存模块用于实现神经网络中部分神经元的运算,并将运算结果存储于片上存储器。
该闪存芯片适于应用在智能手机、平板电脑、智能穿戴设备、车载导航器、智能 电视、智能摄影机、智能手环、游戏设备、虚拟现实装置等电子设备中实现各种运算 功能,尤其是神经网络运算。
本领域技术人员可以理解的是,上述闪存单元、闪存模块以及闪存电路中,还可以包括常规的读取电路、写入电路以及滤波电路等外围电路结构,以使各闪存单元、 闪存模块以及闪存电路的功能更加完善,因该些电路属于现有设计,本领域技术人员 均可以理解,在各实施例中主要阐述本发明的核心方案,其他外围电路不再赘述。
综上所述,本发明实施例提供的闪存单元、闪存模块以及闪存芯片通过设置模拟电容单元存储临时数据,能够有效减少可编程半导体器件的擦写次数,避免可编程半 导体器件的老化,支持神经网络原位训练,在语音处理系统、图像处理系统、视频追 踪系统以及网络故障处理系统、地震资料处理系统、导航系统、侦查系统、智能监测 系统等采用神经网络进行运算的系统中应用广泛。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申 请的精神。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性 的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设 备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素, 并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术 人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述, 本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种闪存单元,其特征在于,包括:用于存储长时数据的可编程半导体器件以及用于存储临时数据的模拟电容单元,所述可编程半导体器件与所述模拟电容单元并联连接。
2.根据权利要求1所述闪存单元,其特征在于,所述模拟电容单元包括:输出晶体管、充电晶体管、放电晶体管以及电容;
所述输出晶体管的漏极连接所述可编程半导体器件的漏极,源极连接所述可编程半导体器件的源极,栅极连接所述电容的一端;
所述充电晶体管的源极连接高电压,栅极连接第一控制电压,漏极连接所述电容的另一端;
所述放电晶体管的源极连接低电压,栅极连接第二控制电压,漏极连接所述电容的另一端。
3.根据权利要求2所述闪存单元,其特征在于,还包括:编程电路,
所述编程电路连接所述充电晶体管的栅极和/或所述放电晶体管的栅极,用于向所述充电晶体管以及放电晶体管提供所述第一控制电压和/或所述第二控制电压。
4.根据权利要求3所述闪存单元,其特征在于,所述编程电路还连接所述可编程半导体器件,用于向所述可编程半导体器件提供编程电压。
5.根据权利要求4所述闪存单元,其特征在于,所述编程电路包括:电压产生电路和电压控制电路,所述电压产生电路用于产生所述第一控制电压和/或所述第二控制电压和/或所述编程电压,所述电压控制电路用于将所述电压产生电路产生的电压加载至对应的充电晶体管和/或放电晶体管和/或可编程半导体器件。
6.根据权利要求5所述闪存单元,其特征在于,还包括:控制电路,连接所述编程电路,用于控制所述编程电路工作。
7.一种闪存模块,其特征在于,包括多个呈阵列布置的如权利要求1至2任一项所述闪存单元以及外围电路、控制电路,所述外围电路连接所述闪存单元以及所述控制电路。
8.根据权利要求7所述闪存模块,其特征在于,所述外围电路包括:编程电路,所述编程电路连接所述闪存单元和所述控制电路。
9.根据权利要求8所述闪存模块,其特征在于,所述外围电路还包括:行列译码器,所述行列译码器连接所述闪存单元和所述控制电路。
10.一种闪存芯片,其特征在于,包括:输入接口电路、编程电路、行列译码器、控制电路、输出接口电路以及多个闪存模块;每个闪存模块均包括呈阵列布置的多个如权利要求1至2任一项所述闪存单元;
多个所述闪存模块串联组成串联支路;
所述输入接口电路一端连接外部电路,另一端连接所述串联支路的输入端;
所述输出接口电路一端连接所述串联支路的输出端,另一端连接外部电路;
所述控制电路连接所述编程电路、所述行列译码器;
所述编程电路、所述行列译码器均连接各闪存模块。
11.一种闪存芯片,其特征在于,包括:输入接口电路、编程电路、行列译码器、控制电路、输出接口电路、片上存储器以及多个闪存模块;每个闪存模块均包括呈阵列布置的多个如权利要求1至2任一项所述闪存单元;
所述输入接口电路一端连接外部电路,另一端连接所述片上存储器的输入端;
所述输出接口电路一端连接所述片上存储器的输出端,另一端连接外部电路;
多个闪存模块分别连接所述片上存储器;
所述控制电路连接所述编程电路、所述行列译码器;
所述编程电路、所述行列译码器均连接各闪存模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436944.8A CN111243648A (zh) | 2018-11-28 | 2018-11-28 | 闪存单元、闪存模块以及闪存芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811436944.8A CN111243648A (zh) | 2018-11-28 | 2018-11-28 | 闪存单元、闪存模块以及闪存芯片 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111243648A true CN111243648A (zh) | 2020-06-05 |
Family
ID=70868322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811436944.8A Pending CN111243648A (zh) | 2018-11-28 | 2018-11-28 | 闪存单元、闪存模块以及闪存芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111243648A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112687306A (zh) * | 2020-12-31 | 2021-04-20 | 中国科学技术大学 | 基于NOR Flash的距离计算装置及方法 |
-
2018
- 2018-11-28 CN CN201811436944.8A patent/CN111243648A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112687306A (zh) * | 2020-12-31 | 2021-04-20 | 中国科学技术大学 | 基于NOR Flash的距离计算装置及方法 |
CN112687306B (zh) * | 2020-12-31 | 2023-10-20 | 中国科学技术大学 | 基于NOR Flash的距离计算装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270764B2 (en) | Two-bit memory cell and circuit structure calculated in memory thereof | |
US11507808B2 (en) | Multi-layer vector-matrix multiplication apparatus for a deep neural network | |
US8780631B2 (en) | Memory devices having data lines included in top and bottom conductive lines | |
TWI716215B (zh) | 近記憶體計算系統及非揮發性記憶體單元 | |
US11205494B2 (en) | Non-volatile memory device and control method | |
US20230030801A1 (en) | Non-volatile memory device and control method | |
US11710523B2 (en) | Apparatus for discharging control gates after performing a sensing operation on a memory cell | |
US11335415B2 (en) | Memories having multiple voltage generation systems connected to a voltage regulator | |
CN110729011B (zh) | 用于类神经网路的存储器内运算装置 | |
US11238946B2 (en) | Apparatus and methods for seeding operations concurrently with data line set operations | |
US20140204677A1 (en) | Apparatuses and methods including memory write operation | |
US11715536B2 (en) | Apparatus for mitigating program disturb | |
CN110543937B (zh) | 神经网络及操作方法、神经网络信息处理系统 | |
US11455371B2 (en) | Computation circuit for performing vector-matrix multiplication and semiconductor device including the computation circuit | |
CN111243648A (zh) | 闪存单元、闪存模块以及闪存芯片 | |
CN114303195A (zh) | 擦除存储器 | |
CN209103825U (zh) | 闪存单元、闪存模块以及闪存芯片 | |
JP7014364B2 (ja) | メモリデバイスの操作方法 | |
US20230118494A1 (en) | Semiconductor memory device | |
CN112447246B (zh) | 用于减轻编程干扰的设备和方法 | |
JP7480391B2 (ja) | インメモリコンピューティングのための記憶装置 | |
TW202407579A (zh) | 包含三維積體電路的人工神經網路 | |
TW202403757A (zh) | 記憶體內計算用的記憶體裝置 | |
TW202305670A (zh) | 神經網路運算裝置及其運算方法 | |
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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 213-175, 2nd Floor, Building 1, No. 180 Kecheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 311100 Applicant after: Hangzhou Zhicun Computing Technology Co.,Ltd. Address before: 1416, shining building, No. 35, Xueyuan Road, Haidian District, Beijing 100083 Applicant before: BEIJING WITINMEM TECHNOLOGY Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information |