CN211016545U - 基于NAND Flash的存内计算芯片、存储装置以及终端 - Google Patents
基于NAND Flash的存内计算芯片、存储装置以及终端 Download PDFInfo
- Publication number
- CN211016545U CN211016545U CN202020208904.4U CN202020208904U CN211016545U CN 211016545 U CN211016545 U CN 211016545U CN 202020208904 U CN202020208904 U CN 202020208904U CN 211016545 U CN211016545 U CN 211016545U
- Authority
- CN
- China
- Prior art keywords
- nand flash
- row
- analog
- computing chip
- memory computing
- 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.)
- Active
Links
Images
Landscapes
- Read Only Memory (AREA)
Abstract
本实用新型提供一种基于NAND Flash的存内计算芯片、存储装置以及终端,该基于NAND Flash的存内计算芯片包括:NAND Flash单元阵列模块,包括多个阈值电压可调的NAND Flash单元,用于在计算模式下对接收的数据进行计算,在编程模式下进行数据存储。其中,当NAND Flash单元阵列模块处于计算模式时,可对接收的数据进行计算,处于编程模式时进行数据编程,即数据存储,进而实现了可以在基于NAND Flash的存内计算芯片中直接进行计算和数据存储,实现存算一体,不需要在存储器与处理器之间频繁传输数据,减少功耗与时间开销。
Description
技术领域
本实用新型涉及闪存芯片领域,尤其涉及一种基于NAND Flash的存内计算芯片、存储装置以及终端。
背景技术
在经典冯诺依曼计算体系结构中,存储器与处理器是分离的,两者之间通过数据总线进行数据传输。执行命令时,处理器先从存储器中读取数据,处理完之后,再把更新后的数据写回存储器当中,数据频繁搬移带来巨大的功耗与时间开销;而且,由于存储器带宽有限,不管处理器处理速度有多快,但仍受限于存储器的访问速度,极大地影响计算性能。尤其是,随着大数据与人工智能等应用的兴起,海量数据的处理使得冯诺依曼计算体系结构瓶颈越来越突出。
实用新型内容
针对现有技术中的问题,本实用新型提供一种基于NAND Flash的存内计算芯片、存储装置以及终端,能够至少部分地解决现有技术中存在的问题。
为了实现上述目的,本实用新型采用如下技术方案:
第一方面,提供一种基于NAND Flash的存内计算芯片,其特征在于,包括: NANDFlash单元阵列模块,包括多个阈值电压可调的NAND Flash单元,用于在计算模式下对接收的数据进行计算,在编程模式下进行数据存储。
进一步地,该NAND Flash单元阵列模块为二维结构;
每一行的所有NAND Flash单元的栅极均连接至同一个字线,多行NAND Flash单元对应连接多个字线;每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个NAND Flash单元的漏极接位线,该列的最后一个NAND Flash单元的源极接源线,多列NAND Flash单元对应多个位线和多个源线;
其中,该字线用于接收NAND Flash单元行选择信号;该位线作为电压输入端;该源线作为模拟电流输出端。
进一步地,该NAND Flash单元阵列模块为3D NAND Flash单元阵列模块。
进一步地,该3D NAND Flash单元阵列模块为三维结构;
该三维结构包括多层二维阵列,每层二维阵列的结构相同;
该二维阵列包括多行NAND Flash单元、设置在第一行NAND Flash单元上的顶晶体管行、设置在最后一行NAND Flash单元上的底晶体管行;
每一行的所有NAND Flash单元的栅极均连接在一起,形成字线,多行NAND Flash单元形成多个字线;
顶晶体管行的所有晶体管的栅极连接在一起,形成漏端选择栅;
底晶体管行的所有晶体管的栅极连接在一起,形成源端选择栅,所有晶体管的源极连接在一起,作为源线;
每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个 NANDFlash单元的漏极连接对应顶晶体管的源极,该顶晶体管的漏极作为位线端,多个顶晶体管对应多个位线端,该列的最后一个NAND Flash单元的源极连接对应底晶体管的漏极;
其中,各层二维阵列对应的位线端通过一位线连接在一起,形成多个位线,各层二维阵列对应的字线连接在一起;
其中,字线为NAND Flash单元行选择信号;位线为电压输入端;源线为模拟电流输出端。
进一步地,该NAND Flash单元阵列模块还包括:转换装置,连接在多个该电压输入端之前,用于将多个电流输入信号分别转换为电压输入信号,输至对应的该电压输入端。
进一步地,该转换装置包括多个NAND Flash单元;
每个该NAND Flash单元的栅极与漏极相连,接电流输入信号,同时连接至对应的该字线;
每个该NAND Flash单元的源极接入第一偏置电压。
进一步地,该NAND Flash单元阵列模块还包括:电流检测输出电路,连接在该模拟电流输出端之后,用于对该模拟电流输出端输出的模拟电流输出信号进行处理和输出。
进一步地,该电流检测输出电路包括:多个运算放大器,每个该运算放大器的正相输入端连接第二偏置电压,反相输入端连接至对应的该模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管。
进一步地,还包括:
模拟处理模块,连接该NAND Flash单元阵列模块,用于处理该NAND Flash 单元阵列模块输出的模拟电压/电流信号;
模数转换模块,连接该模拟处理模块,用于把模拟处理模块输出的模拟信号转换成数字信号;
算术后处理模块,连接该模数转换模块,用于处理该模数转换模块输出的数字信号,实现多种算术运算;
控制器,用于控制该存内计算芯片的状态与操作。
进一步地,该模拟处理模块包括:Sigmoid函数电路、ReLU函数电路或Tanh 函数电路。
第二方面,提供一种存储装置,包括上述基于NAND Flash的存内计算芯片。
第三方面,提供一种终端,包括:
微处理器;
通过接口数据线连接该微处理器的如上述基于NAND Flash的存内计算芯片。
本实用新型提供的基于NAND Flash的存内计算芯片、存储装置以及终端,该基于NAND Flash的存内计算芯片包括:NAND Flash单元阵列模块,包括多个阈值电压可调的NAND Flash单元,用于在计算模式下对接收的数据进行计算,在编程模式下进行数据存储。其中,当NAND Flash单元阵列模块处于计算模式时,可对接收的数据进行计算,处于编程模式时进行数据编程,即数据存储,进而实现了可以在基于NAND Flash的存内计算芯片中直接进行计算和数据存储,实现存算一体,不需要在存储器与处理器之间频繁传输数据,减少功耗与时间开销,提高处理性能,分担了处理器的工作,进而提高了整体计算体系结构的性能,并且由于无需频繁传输数据,对带宽没有要求。并且,当没有计算任务时,存内计算芯片可以用作普通的存储器,实现电器元件的复用,提高元件利用效率,节省集成电路的硬件成本。
为让本实用新型的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1a为本实用新型实施例中基于NAND Flash的存内计算芯片的结构框图一;
图1b为本实用新型实施例中基于NAND Flash的存内计算芯片的结构框图二;
图2示出了本实用新型实施例中NAND Flash单元阵列的一种电路图;
图3示出了本实用新型实施例中NAND Flash单元阵列的另一种电路图一;
图4示出了本实用新型实施例中NAND Flash单元阵列的另一种电路图二;
图5示出了本实用新型实施例中设有转换装置的NAND Flash单元阵列;
图6示出了本实用新型实施例中设有电流检测输出电路的NAND Flash单元阵列;
图7示出了本实用新型实施例同时设有转换装置和电流检测输出电路的 NANDFlash单元阵列;
图8示出了图2所示NAND Flash单元阵列实现正负值权重计算的原理;
图9和图10示出了图3所示NAND Flash单元阵列实现正负值权重计算的原理;
图11示出了本实用新型实施例中图2所示NAND Flash单元阵列利用常数权重实现正负值权重计算的原理;
图12和图13示出了图3所示NAND Flash单元阵列利用常数权重实现正负值权重计算的原理;
图14示出了本实用新型实施例中算术后处理模块中的一个可编程算术运算单元的结构框图;
图15为本实用新型实施例中可编程算术运算子单元的结构图;
图16示出了本实用新型实施例中终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
以下在实施方式中详细叙述本实用新型的详细特征以及优点,其内容足以使任何本领域技术人员,了解本实用新型的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求及图式,任何本领域技术人员可轻易地理解本实用新型相关的目的及优点。以下的实施例进一步详细说明本实用新型的观点,但非以任何观点限制本实用新型的范畴。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1a为本实用新型实施例中基于NAND Flash的存内计算芯片的结构框图一;如图1a所示,该基于NAND Flash的存内计算芯片包括:输入接口模块以及NAND Flash单元阵列模块,其中,输入接口模块与外部元件连接,例如与外部微处理器连接,用于接收待计算的数据,其中,待计算的数据可以为数字信号,也可以为模拟信号,本实用新型实施例对此不作限制;NAND Flash单元阵列模块包括多个阈值电压可调的NAND Flash单元,NAND Flash单元阵列模块用于在计算模式下对接收的数据进行计算(如加法运算、乘法运算、矩阵乘法运算等),在编程模式下进行数据存储。
其中,NAND Flash单元的阈值电压可调,即NAND Flash单元的跨导可调,相当于每个NAND Flash单元中存储一个可变的模拟权重数据,多个NAND Flash 单元形成模拟数据阵列,且阵列中的每个数据均可自由调节,根据NAND Flash 单元特性,每个NAND Flash单元的输出电流等于输入模拟数据乘以模拟权重数据,根据基尔霍夫定律,多个NAND Flash单元的输出电流等于每个可NAND Flash单元输出电流的和值,进而直接在NAND Flash单元阵列模块中实现各种计算。
通过采用上述技术方案,实现了可以在基于NAND Flash的存内计算芯片中直接进行计算和数据存储,实现存算一体,不需要在存储器与处理器之间频繁传输数据,减少功耗与时间开销,提高处理性能,分担了处理器的工作,进而提高了整体计算体系结构的性能,并且由于无需频繁传输数据,对带宽没有要求。并且,当没有计算任务时,存内计算芯片可以用作普通的存储器,实现电器元件的复用,提高元件利用效率,节省集成电路的硬件成本。
在一个可选的实施例中,参见图1b,该基于NAND Flash的存内计算芯片还可以包括:行列译码器模块以及编程电路模块。
行列译码器模块连接编程电路模块、输入接口模块与NAND Flash单元阵列模块,用于对所述NAND Flash单元阵列模块进行行列译码;
编程电路模块连接所述行列译码器模块,用于调控NAND Flash单元的阈值电压。
具体地,编程电路模块连接NAND Flash单元阵列中每一个NAND Flash单元的源极、栅极和/或衬底。
行列译码器模块用于在计算模式或编程模式下,选通需要的NAND Flash单元,以对NAND Flash单元施加模拟数据或编程/擦除电压。
其中,可通过预先设置NAND Flash单元阵列模块中的每个NAND Flash单元的阈值电压,相当于各NAND Flash单元分别存储了一个可变的模拟权重数据,通过对各NANDFlash单元的连接关系控制,实现不同计算功能,例如,根据NAND Flash单元特性,每个NANDFlash单元的输出电流等于模拟输入(如输入模拟电压)乘以模拟权重数据(权重可理解为跨导,因为NAND Flash单元的阈值电压可控,所以相当于跨导可控),实现乘法运算,若将不同NAND Flash单元的源极电流输出端连接形成电流输出端(相当于NAND Flash单元阵列的源线),根据基尔霍夫定律,则电流输出端输出的电流等于每个NAND Flash单元阵列模块输出电流之和,实现了加法运算,通过调整电路结构,还可以实现减法运算、除法运算。
通过控制编程电路模块并配合行列译码器模块可以动态设置NAND Flash单元阵列模块中的每个NAND Flash单元的阈值电压,实现了计算功能的动态可控,当需要某种运算时,对电路进行编程,然后执行计算功能,若不需要该种计算时,则可将用于该种计算的NAND Flash单元转用到其他计算中去,或者用于数据存储,实现功能上的灵活调节,使得NAND Flash单元的复用性更好,有效利用了资源。
在一个进一步地实施例中,编程电路模块包括:电压产生电路和电压控制电路,所述电压产生电路用于产生编程电压或者擦除电压,所述电压控制电路用于将所述编程电压加载至选定的NAND Flash单元的源极,或者,将擦除电压加载至选定的NAND Flash单元的栅极或衬底,以调控NAND Flash单元的阈值电压。
具体地,编程电路模块利用热电子注入效应,根据NAND Flash单元的阈值电压需求数据,向NAND Flash单元的源极施加高电压,将沟道电子加速到高速,从而增加NANDFlash单元的阈值电压。
并且,编程电路模块利用隧穿效应,根据NAND Flash单元阈值电压需求数据,向NAND Flash单元的栅极或衬底施加高电压,将电子从NAND Flash单元中吸引出来,以减少NAND Flash单元的阈值电压。
在一个可选的实施例中,继续参见图1b,该基于NAND Flash的存内计算芯片还可以包括:模拟处理模块、模数转换模块以及算术后处理模块。
模拟处理模块连接所述NAND Flash单元阵列模块,用于处理所述NAND Flash单元阵列模块输出的模拟电压/电流信号;
其中,模拟处理模块包括多种激活函数电路,例如Sigmoid函数电路,ReLU 函数电路,Tanh函数电路等;
模数转换模块连接所述模拟处理模块,用于把模拟处理模块输出的模拟信号转换成数字信号;
算术后处理模块连接所述模数转换模块,用于处理所述模数转换模块输出的数字信号,实现多种算术运算。
在一个可选的实施例中,该基于NAND Flash的存内计算芯片还可以包括:输入寄存器模块以及输出寄存器模块,所述输入寄存器模块连接在输入接口模块的后端,用于寄存输入接口模块输出的数据,输出寄存器模块连接在算术后处理模块的后端,用于寄存算术后处理模块输出的数据。
在一个可选的实施例中,该该基于NAND Flash的存内计算芯片还可以包括:控制器,所述控制器连接各个模块,用于控制所述存内计算芯片的状态与操作,比如控制NANDFlash单元阵列模块的工作模式,控制行列译码器模块进行行列译码,控制编程电路进行数据编程,选择模拟处理模块执行的处理,控制算术后处理模块执行的运算等。
在一个可选的实施例中,参见图2,NAND Flash单元阵列模块可包括多个 NANDFlash单元阵列,NAND Flash单元阵列可为二维结构;
每个NAND Flash单元可以简化为一个三端结构,包括栅极,漏极和源极。多个NANDFlash单元通过字线(WL),位线(BL)与源线(SL)进行阵列组织。
NAND Flash单元阵列可包括多个NAND Flash单元,多个NAND Flash单元呈阵列排布,每一行的所有NAND Flash单元的栅极均连接至同一个字线WL,多行NAND Flash单元对应连接多个字线WL1~WLN;每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个NAND Flash单元的漏极接位线BL,该列的最后一个NAND Flash单元的源极接源线SL,多列NAND Flash单元对应多个位线BL1~BLN和多个源线SL1~SLN;
其中,字线用于接收NAND Flash单元行选择信号;位线作为电压输入端;源线作为模拟电流输出端。
值得说明的是,每个NAND Flash单元的阈值电压均可调节。
由于NAND Flash单元阵列中每一列NAND Flash单元都是串联结构,因此NANDFlash单元阵列的最小读写单位为一个页(page,即一行,同一个字线WL 上的单元同时访问,每次访问只能访问一行),而最小的擦除单位为一个块(block,即多个页组成一个块,必须同时擦写)。
为了进一步提高存储密度,本实用新型实施例还提供了一种NAND Flash单元阵列模结构,参见图3,NAND Flash单元阵列采用3D NAND Flash技术,该3D NAND Flash单元阵列为三维结构,在2D的基础上,通过硅穿孔(TSV,Through Silicon Via) 等技术垂直叠加NAND Flash单元,在3D NAND Flash中,除了正常WL上的NAND Flash单元阵列,还需要在最上层与最下层增加一个正常的晶体管,通过垂直贯穿源端选择栅(SGS)与垂直贯穿漏端选择栅(SGD)为3D NAND Flash单元一列最上 /最下单元的源极与漏极连接线。
具体地,三维结构包括多层二维阵列,在图中多层二维阵列竖直平行排布,每层二维阵列的结构相同;
针对图中最外侧的二维阵列举例说明三维结构的具体结构,该二维阵列包括多行NAND Flash单元、设置在第一行NAND Flash单元上的顶晶体管行、设置在最后一行NANDFlash单元上的底晶体管行;
每一行的所有NAND Flash单元的栅极均连接在一起,形成字线WL,多行 NANDFlash单元形成多个字线WL1~WLN;
顶晶体管行的所有晶体管的栅极连接在一起,形成漏端选择栅SGD0;
底晶体管行的所有晶体管的栅极连接在一起,形成源端选择栅SGS0,所有晶体管的源极连接在一起,作为源线SL1,多层二维阵列形成多个源线SL1~SLN。
每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个 NANDFlash单元的漏极连接对应顶晶体管的源极,该顶晶体管的漏极作为位线端,多个顶晶体管对应多个位线端,该列的最后一个NAND Flash单元的源极连接对应底晶体管的漏极;
其中,各层二维阵列对应的位线端通过一位线连接在一起,形成多个位线BL1~BLN,各层二维阵列对应的字线连接在一起;
其中,字线为NAND Flash单元行选择信号;位线为电压输入端;源线为模拟电流输出端。
值得说明的是,3D NAND Flash阵列工作时,参见图4,网络权重存储于NAND Flash单元,激励信号通过位线进行输入:由于NAND Flash只能以页为单位进行读写操作,因此在不同页中存储神经网络不同层的权重(记为Wk,j),激励信号通过位线进行数据输入(电压信号)In1~InM,基于欧姆定律与基尔霍夫定律,可以在相应的源线上获得模拟电流输出,其值等于由于NAND Flash每次只能访问一个WL,因此神经网络不同层(不同WL)上的向量-矩阵乘法运算通过分时的方法进行串行运算。
在一个可选的实施例中,该NAND Flash单元阵列还包括:转换装置,该转换装置包括多个转换支路,每个转换支路连接在对应的所述电压输入端之前,用于将电流输入信号分别转换为电压输入信号,输至对应的所述电压输入端。
具体地,每个转换装置包括多个NAND Flash单元;
每个NAND Flash单元的栅极与漏极相连,接电流输入信号,同时连接至对应的字线;每个NAND Flash单元的源极接入第一偏置电压。
下面,以图5为例进行说明:每个漏端选择栅SGD之前,均设置一个NAND Flash单元,每个NAND Flash单元的栅极与漏极相连,接电流输入信号,同时连接至对应的字线;每个NAND Flash单元的源极接入第一偏置电压。
值得说明的是,图5所示结构与图4所示结构相比,调整了源级的布线方向。
在一个可选的实施例中,参见图6,NAND Flash单元阵列模包括:电流检测输出电路,该电流检测输出电路包括多个电流检测输出支路,每个电流检测输出支路连接在对应的模拟电流输出端之后,用于对所述模拟电流输出端输出的模拟电流输出信号进行处理和输出。
其中,通过该电流检测输出支路对运算完的电流进行精确处理并输出,能够有效实现电流精准输出。
具体地,所述电流检测输出支路包括:运算放大器,运算放大器的正相输入端连接第二偏置电压,反相输入端连接至对应的所述模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管。
其中,该第二固定偏置一般为高电压,该运算放大器将模拟电流输出端的电压控制在与正相输入端的电压相等,用来保证NAND Flash单元的栅源电压VGS仅由该NAND Flash单元对应的输入电压控制,进而使得运算放大器的输出端电压代表对应列NAND Flash单元的输出电流的幅度。
图7示出了图5所示阵列设置电流检测输出电路后的电路结构。通过该电流检测输出支路对运算完的电流进行精确处理并输出,能够有效实现电流精准输出。
本领域技术人员可以理解的是,对于权重阵列来说,权重有时会出现负值,可以通过将正值权重列和负值权重列需要间隔设置,比如奇数列存储正值权重,偶数列存储负值权重,或者反之,并且一个正值权重列与一个负值权重列连接至一减法电路,形成一个可存储正值也可存储负值的权重列,即由两列实现一列的功能,参见图8。
具体地,根据NAND Flash单元特性:I=VW,I表示输出电流,V表示承载电压、W表示NAND Flash单元中存储的权重,可将上式变为I=(VW+)-(VW-),其中W+与W-分别表示正值权重与负值权重,由此实现负值权重的运算。
对于3D NAND Flash单元阵列来说,其实现方式如图9和图10所示,一层二维阵列用于存储正值权重,一层二维阵列用于存储负值权重,正值权重层和负值权重层需要间隔设置,一个正值权重增与一个负值权重增连接至一减法电路,形成一个可存储正值也可存储负值的权重层,即由两层实现一层的功能。
为了进一步提高处理效率,减少硬件消耗,本实用新型实施例还提供了一种实现负值权重的方法,参见图11,通过正值权重与常数权重来实现(常数权重的电流输出被多个正值权重共享),从而不需要正值权重与负值权重成对实现,从而减小面积开销。
具体地,NAND Flash单元阵列包括:正值权重列和常数列,减法器的数量等于该正值权重列的数量且二者一一对应连接,常数列的数量小于该正值权重列的数量(本实施例中以常数列的数量为1对本申请的方案进行示例性说明)。
减法器的被减数输入端对应连接正值权重列的输出端,减数输入端连接该常数列的输出端,输出端运算结果;
其中,多个减法器的减数输入端连接同一常数列。
下面,对利用所示电路实现减法运算的原理进行说明:
在将权重阵列写入NAND Flash单元之前,将权重阵列中每一个元素均加上一个常数正值C,得到待配置权重阵列,该常数正值大于等于该权重阵列中绝对值最大的负值权重的绝对值,以此使得待配置权重阵列中没有负值权重;然后,将待配置权重阵列写入正值权重列,将常数正值写入该常数列中,一减法器的被减数输入端对应连接一正值权重列的输出端,减数输入端连接一常数列的输出端,输出端输出运算结果,即通过减法器在运算结果中减去该常数正值的影响,以此,不需要设置负值权重列,且多个正值权重列共享一常数列,能够简化电路结构,有效减少元器件数量,减小电路面积,降低成本开销,利于集成化。
值得说明的是,该NAND Flash单元阵列可以设置多个常数列,将多个常数列等分或不等分地穿插在整个阵列中,从而在NAND Flash单元阵列规模较大时,能有效减小共享该常数列的正值权重列的列数,以此,能够减少寄生参数的影响,提高驱动力,电路的使用和控制也能更灵活,提高运算的精度和速度。
本领域技术人员可以理解的是,当该常数列为多个时,可以统一设置该常数列的权重,此时,将权重阵列作为一个整体来考虑;也可以将每个常数列与其对应的正值权重列一起,作为一个运算单元,在进行实际应用中,可将权重阵列按列拆分,然后分配到不同的运算单元中,每个运算单元根据自身的运算任务,设置常数列的权重值,进行各自的运算,以此能够更加灵活地实现运算,并且,也可以实现多运算任务并行处理,能够有效提高运算速度和效率。
在一个进一步地实施例中,该NAND Flash单元阵列还包括:稳流模块,该稳流模块连接在常数列的输出端。
其中,通过在常数列的输出端设置稳流模块,可以有效减小寄生参数的影响,进一步提高驱动力,提高运算的精度和速度。
对于3D NAND Flash单元阵列来说,其利用正值权重和常数权重实现负值权重的方式如图12和图13所示,以层为单位存储正值权重或常数权重,对应层的输出连接至减法器。
该本领域技术人员可以理解的是,对于一些复杂的运算,在模拟向量-矩阵乘法运算的基础上,还会需要搭配一些算术运算,比如乘法运算、加法运算、减法运算、除法运算、移位运算、激活函数、取最大值、取最小值、取平均值、池化等中的一种或几种的组合,才能得到最终的运算结果。
因此,通过在模数转换模块的输出端设置可编程算术运算模块,实现对存储单元阵列输出的运算结果的进一步算术运算,提高了存算一体芯片的适用性,扩展了应用范围。
其中,该可编程算术运算模块包括用于分别实现不同算术运算的多个可编程算术运算单元。其中,可编程算术运算单元采用硬件实现,用于执行特定的算术运算。
该可编程算术运算模块的多个该可编程算术运算单元串行连接,参见图14,每个该可编程算术运算单元均包括:多路分配器30a、算术运算子单元30b以及多路选择器30c。
该多路分配器30a的输入端连接上一可编程算术运算单元或该模数转换模块,其中一个输出端连接该算术运算子单元30b,该算术运算子单元30b的输出端以及该多路分配器30a另一个输出端通过一个多路选择器30c连接下一可编程算术运算单元或输出寄存器模块或作为输出端,另外,该多路分配器30a以及该多路选择器30c的控制端均连接控制器。
具体地,第一可编程算术运算单元中的多路分配器的输入端连接该模数转换模块的输出端,其中一个输出端连接该第一可编程算术运算单元中的算术运算子单元的输入端,另一个输出端和该算术运算子单元的输出端通过一个多路选择器连接第二可编程算术运算单元的输入端,该多路分配器和该多路选择器的控制端连接控制器。
第二可编程算术运算单元中的多路分配器的输入端连接该第一可编程算术运算单元的输出端,其中一个输出端连接该第二可编程算术运算单元中的算术运算子单元的输入端,另一个输出端和该算术运算子单元的输出端通过一个多路选择器连接第三可编程算术运算单元的输入端,该多路分配器和该多路选择器的控制端连接该控制器。依此类推,直到第n可编程算术运算单元,该第n可编程算术运算单元中的多路分配器的输入端连接第n-1可编程算术运算单元的输出端,其中一个输出端连接该第n可编程算术运算单元中的算术运算子单元的输入端,另一个输出端和该算术运算子单元的输出端通过一个多路选择器连接输出寄存器的输入端或者作为输出端,该多路分配器和该多路选择器的控制端连接控制器。
控制器连接各可编程算术运算单元中的该多路分配器和该多路选择器,控制各可编程算术运算单元中的该多路分配器和该多路选择器,以选择该可编程算术运算单元中的算术运算子单元是否参与运算,以此实现多个可编程算术运算单元的排列组合配置,实现不同的复杂运算,灵活配置了算术运算功能。
在一个可选的实施例中,每个该可编程算术运算子单元均可以包括多个并排设置的算术运算器,例如乘法器、加法器、减法器、除法器、移位器、激活函数器、取最大值运算器、取最小值运算器、取平均值运算器、池化器中的一种或几种,各算术运算器之间并联,输入端分别连接至对应的多路分配器的输出端,输出端分别连接至对应的多路选择器的输入端,参见图15。
本实用新型实施例还提供一种存储装置,包括上述的基于NAND Flash的存内计算芯片。
优选地,该存储装置为NOR型快闪存储器或电可擦可编程只读存储器。
本实用新型实施例还提供一种基于NAND Flash的存内计算芯片的终端,该终端包括:微处理器以及通过接口数据线连接微处理器的基于NAND Flash的存内计算芯片,微处理器作为主设备,基于NAND Flash的存内计算芯片作为从设备,基于NAND Flash的存内计算芯片结构如上所述,在此不再赘述。
图16示出了本实用新型实施例中终端的结构框图。如图16所示,该终端包括如上所述的基于NAND Flash的存内计算芯片1、通信总线9m以及通信接口8m,该终端通过该通信接口8m与外部设备通信,接收数据或输出数据,通信接口8m 以及存内计算芯片1之间通过通信总线9m进行通信连接。
需要注意的是,上述图中所示内容,仅是为了方便说明本实用新型的实施例,但本实用新型并不以此为限,数字模拟转换电路亦可包括其它元件。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同相似的部分相互参见即可。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上各实施例仅用以说明本实用新型的技术方案,而非对其限制;尽管参照前述各实施例对本实用新型进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本实用新型各实施例技术方案的范围。
Claims (12)
1.一种基于NAND Flash的存内计算芯片,其特征在于,包括:NAND Flash单元阵列模块,包括多个阈值电压可调的NAND Flash单元,用于在计算模式下对接收的数据进行计算,在编程模式下进行数据存储。
2.根据权利要求1所述的基于NAND Flash的存内计算芯片,其特征在于,所述NANDFlash单元阵列模块为二维结构;
每一行的所有NAND Flash单元的栅极均连接至同一个字线,多行NAND Flash单元对应连接多个字线;每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个NAND Flash单元的漏极接位线,该列的最后一个NAND Flash单元的源极接源线,多列NANDFlash单元对应多个位线和多个源线;
其中,所述字线用于接收NAND Flash单元行选择信号;所述位线作为电压输入端;所述源线作为模拟电流输出端。
3.根据权利要求1所述的基于NAND Flash的存内计算芯片,其特征在于,所述NANDFlash单元阵列模块为3D NAND Flash单元阵列模块。
4.根据权利要求3所述的基于NAND Flash的存内计算芯片,其特征在于,所述3D NANDFlash单元阵列模块为三维结构;
所述三维结构包括多层二维阵列,每层二维阵列的结构相同;
所述二维阵列包括多行NAND Flash单元、设置在第一行NAND Flash单元上的顶晶体管行、设置在最后一行NAND Flash单元上的底晶体管行;
每一行的所有NAND Flash单元的栅极均连接在一起,形成字线,多行NAND Flash单元形成多个字线;
顶晶体管行的所有晶体管的栅极连接在一起,形成漏端选择栅;
底晶体管行的所有晶体管的栅极连接在一起,形成源端选择栅,所有晶体管的源极连接在一起,作为源线;
每一列的所有NAND Flash单元的源极和漏极首尾依次相连,该列的第一个NAND Flash单元的漏极连接对应顶晶体管的源极,该顶晶体管的漏极作为位线端,多个顶晶体管对应多个位线端,该列的最后一个NAND Flash单元的源极连接对应底晶体管的漏极;
其中,各层二维阵列对应的位线端通过一位线连接在一起,形成多个位线,各层二维阵列对应的字线连接在一起;
其中,字线为NAND Flash单元行选择信号;位线为电压输入端;源线为模拟电流输出端。
5.根据权利要求2或4所述的基于NAND Flash的存内计算芯片,其特征在于,所述NANDFlash单元阵列模块还包括:转换装置,连接在多个所述电压输入端之前,用于将多个电流输入信号分别转换为电压输入信号,输至对应的所述电压输入端。
6.根据权利要求5所述的基于NAND Flash的存内计算芯片,其特征在于,所述转换装置包括多个NAND Flash单元;
每个所述NAND Flash单元的栅极与漏极相连,接电流输入信号,同时连接至对应的所述字线;
每个所述NAND Flash单元的源极接入第一偏置电压。
7.根据权利要求2或4所述的基于NAND Flash的存内计算芯片,其特征在于,所述NANDFlash单元阵列模块还包括:电流检测输出电路,连接在所述模拟电流输出端之后,用于对所述模拟电流输出端输出的模拟电流输出信号进行处理和输出。
8.根据权利要求7所述的基于NAND Flash的存内计算芯片,其特征在于,所述电流检测输出电路包括:多个运算放大器,每个所述运算放大器的正相输入端连接第二偏置电压,反相输入端连接至对应的所述模拟电流输出端,并且,反相输入端与输出端之间连接一电阻器或晶体管。
9.根据权利要求1所述的基于NAND Flash的存内计算芯片,其特征在于,还包括:
模拟处理模块,连接所述NAND Flash单元阵列模块,用于处理所述NAND Flash单元阵列模块输出的模拟电压/电流信号;
模数转换模块,连接所述模拟处理模块,用于把模拟处理模块输出的模拟信号转换成数字信号;
算术后处理模块,连接所述模数转换模块,用于处理所述模数转换模块输出的数字信号,实现多种算术运算;
控制器,用于控制所述存内计算芯片的状态与操作。
10.根据权利要求9所述的基于NAND Flash的存内计算芯片,其特征在于,所述模拟处理模块包括:Sigmoid函数电路、ReLU函数电路或Tanh函数电路。
11.一种存储装置,其特征在于,包括权利要求1至10任一项所述基于NAND Flash的存内计算芯片。
12.一种终端,其特征在于,包括:
微处理器;
通过接口数据线连接所述微处理器的如权利要求1至10任一项所述基于NAND Flash的存内计算芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202020208904.4U CN211016545U (zh) | 2020-02-25 | 2020-02-25 | 基于NAND Flash的存内计算芯片、存储装置以及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202020208904.4U CN211016545U (zh) | 2020-02-25 | 2020-02-25 | 基于NAND Flash的存内计算芯片、存储装置以及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN211016545U true CN211016545U (zh) | 2020-07-14 |
Family
ID=71482348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202020208904.4U Active CN211016545U (zh) | 2020-02-25 | 2020-02-25 | 基于NAND Flash的存内计算芯片、存储装置以及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN211016545U (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111128279A (zh) * | 2020-02-25 | 2020-05-08 | 杭州知存智能科技有限公司 | 基于NAND Flash的存内计算芯片及其控制方法 |
CN113674786A (zh) * | 2021-08-20 | 2021-11-19 | 广东省大湾区集成电路与系统应用研究院 | 存内计算单元、模块和系统 |
CN114115507A (zh) * | 2021-11-30 | 2022-03-01 | 杭州海康威视数字技术股份有限公司 | 存储器及写数据的方法 |
CN114356840A (zh) * | 2021-12-15 | 2022-04-15 | 北京苹芯科技有限公司 | 具有存内/近存计算模块的SoC系统 |
-
2020
- 2020-02-25 CN CN202020208904.4U patent/CN211016545U/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111128279A (zh) * | 2020-02-25 | 2020-05-08 | 杭州知存智能科技有限公司 | 基于NAND Flash的存内计算芯片及其控制方法 |
CN113674786A (zh) * | 2021-08-20 | 2021-11-19 | 广东省大湾区集成电路与系统应用研究院 | 存内计算单元、模块和系统 |
CN114115507A (zh) * | 2021-11-30 | 2022-03-01 | 杭州海康威视数字技术股份有限公司 | 存储器及写数据的方法 |
CN114115507B (zh) * | 2021-11-30 | 2023-08-08 | 杭州海康威视数字技术股份有限公司 | 存储器及写数据的方法 |
CN114356840A (zh) * | 2021-12-15 | 2022-04-15 | 北京苹芯科技有限公司 | 具有存内/近存计算模块的SoC系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN211016545U (zh) | 基于NAND Flash的存内计算芯片、存储装置以及终端 | |
CN111128279A (zh) | 基于NAND Flash的存内计算芯片及其控制方法 | |
US11934480B2 (en) | NAND block architecture for in-memory multiply-and-accumulate operations | |
CN108763163B (zh) | 模拟向量-矩阵乘法运算电路 | |
EP3268969B1 (en) | Resistive memory arrays for performing multiply-accumulate operations | |
CN109800876B (zh) | 一种基于NOR Flash模块的神经网络的数据运算方法 | |
CN108777155B (zh) | 闪存芯片 | |
US20160196488A1 (en) | Neural network computing device, system and method | |
CN108038542B (zh) | 一种基于神经网络的存储模块、模组及数据处理方法 | |
WO2020172951A1 (zh) | 可软件定义存算一体芯片及其软件定义方法 | |
US20210081505A1 (en) | Graph transformer neural network force field for prediction of atomic forces and energies in molecular dynamic simulations | |
CN111611197B (zh) | 可软件定义的存算一体芯片的运算控制方法和装置 | |
CN109086249A (zh) | 模拟向量-矩阵乘法运算电路 | |
US10783963B1 (en) | In-memory computation device with inter-page and intra-page data circuits | |
CN209766043U (zh) | 存算一体芯片、存储单元阵列结构 | |
CN112151095A (zh) | 存算一体芯片、存储单元阵列结构 | |
CN111095300A (zh) | 使用半导体存储元件的神经网络运算电路 | |
CN111611534B (zh) | 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法 | |
CN112181895B (zh) | 可重构架构、加速器、电路部署和计算数据流方法 | |
CN209657299U (zh) | 模拟向量-矩阵乘法运算电路以及芯片 | |
CN111614353A (zh) | 一种存算一体芯片中数模转换电路与模数转换电路复用装置 | |
CN108073984B (zh) | 一种基于神经网络的存储模块及存储模组 | |
CN111859261B (zh) | 计算电路及其操作方法 | |
CN112632460B (zh) | 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路 | |
CN111949405A (zh) | 资源调度方法、硬件加速器及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |