CN109273035B - 闪存芯片的控制方法、终端 - Google Patents

闪存芯片的控制方法、终端 Download PDF

Info

Publication number
CN109273035B
CN109273035B CN201810872085.0A CN201810872085A CN109273035B CN 109273035 B CN109273035 B CN 109273035B CN 201810872085 A CN201810872085 A CN 201810872085A CN 109273035 B CN109273035 B CN 109273035B
Authority
CN
China
Prior art keywords
flash memory
data
calculation
module
control command
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
Application number
CN201810872085.0A
Other languages
English (en)
Other versions
CN109273035A (zh
Inventor
王绍迪
郭昕婕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Zhicun Computing Technology Co ltd
Original Assignee
Beijing Zhi Cun Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zhi Cun Technology Co Ltd filed Critical Beijing Zhi Cun Technology Co Ltd
Priority to CN201810872085.0A priority Critical patent/CN109273035B/zh
Publication of CN109273035A publication Critical patent/CN109273035A/zh
Application granted granted Critical
Publication of CN109273035B publication Critical patent/CN109273035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors

Abstract

本发明实施例提供一种闪存芯片的控制方法、终端,涉及闪存技术领域,可以在闪存芯片中直接进行数据的计算,从而分担了处理器的工作,进而提高了整体计算体系结构的性能。闪存芯片的控制方法包括:响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算;响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除;响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取。

Description

闪存芯片的控制方法、终端
技术领域
本发明涉及闪存技术领域,尤其涉及一种闪存芯片的控制方法、终端。
背景技术
闪存芯片是一种非易失性存储器,在冯诺依曼计算体系结构中,闪存芯片与处理器相互独立,两者之间通过数据总线进行连接,处理器先从闪存芯片中读取数据,然后对数据进行处理,再把处理完成的数据写入闪存芯片中。随着大数据应用的兴起,海量数据的传输与处理使得经典冯诺依曼计算体系结构面临性能挑战。
发明内容
本发明实施例提供一种闪存芯片的控制方法、装置及终端,可以控制闪存芯片进行计算、数据的写入、擦除和读取,从而能够分担处理器的工作,能够提高整体计算体系结构的性能。
为实现上述效果,本发明采用如下技术方案:
一种闪存芯片的控制方法,闪存芯片包括由多个可编程半导体器件组成的闪存模块,闪存芯片的控制方法包括:
接收控制命令、待处理数据及地址信号,控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算,产生计算结果;
响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除;
响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取,得到读取数据。
一实施例中,闪存芯片还包括:编程模块、行列译码器,
响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除,包括:
响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,行列译码器基于地址信号选通待编程的可编程半导体器件,编程模块基于待处理数据对选通的待编程的可编程半导体器件进行数据写入或擦除,实现数据存储或计算函数编程。
一实施例中,闪存芯片还包括:计算辅助模块,
响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算,包括:响应于控制命令中的计算指令,控制计算辅助模块和行列译码器,行列译码器基于地址信号选通用于计算的可编程半导体器件,计算辅助模块将待处理数据进行预设处理后输至选通的用于计算的可编程半导体器件,并控制闪存模块通过计算函数执行计算,得到计算结果。
一实施例中,闪存芯片还包括:读出模块,
响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取,包括:响应于控制命令中的读取指令,控制读出模块和行列译码器,行列译码器基于地址信号选通待读取的可编程半导体器件,读出模块读出选通的待读取的可编程半导体器件中的数据。
一实施例中,控制方法还包括:
将计算结果或读取数据通过主设备输出/从设备输入数据线发送至一微处理器。
一实施例中,控制方法还包括:
通过一使能信号数据线接收一微处理器发送的使能信号;
判断使能信号的类型,若使能信号为高电平使能信号,则结束控制;若使能信号为低电平使能信号,则通过一串行时钟数据线接收微处理器发送的时钟信号。
一实施例中,接收控制命令、待处理数据及地址信号,包括:
通过主设备输入/从设备输出数据线接收一微处理器发送的控制命令、待处理数据及地址信号。
一实施例中,可编程半导体器件采用浮栅晶体管。
本发明还提供一种闪存芯片的控制装置,闪存芯片包括由多个可编程半导体器件组成的闪存模块,闪存芯片的控制装置包括:
接收单元,接收控制命令、待处理数据及地址信号,控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
计算控制单元,响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算,产生计算结果;
编程控制单元,响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除;
读取控制单元,响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取,得到读取数据。
一实施例中,闪存芯片还包括:编程模块、行列译码器,
编程控制单元响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,行列译码器基于地址信号选通待编程的可编程半导体器件,编程模块基于待处理数据对选通的待编程的可编程半导体器件进行数据写入或擦除,实现数据存储或计算函数编程。
一实施例中,闪存芯片还包括:计算辅助模块,
计算控制单元响应于控制命令中的计算指令,控制计算辅助模块和行列译码器,行列译码器基于地址信号选通用于计算的可编程半导体器件,计算辅助模块将待处理数据进行预设处理后输至选通的用于计算的可编程半导体器件,并控制闪存模块通过计算函数执行计算,得到计算结果。
一实施例中,闪存芯片还包括:读出模块,
读取控制单元响应于控制命令中的读取指令,控制读出模块和行列译码器,行列译码器基于地址信号选通待读取的可编程半导体器件,读出模块读出选通的待读取的可编程半导体器件中的数据。
一实施例中,控制装置还包括:
输出单元,将计算结果或读取数据通过主设备输出/从设备输入数据线发送至一微处理器。
一实施例中,控制装置还包括:
使能单元,通过一使能信号数据线接收一微处理器发送的使能信号;
判断单元,判断使能信号的类型,若使能信号为高电平使能信号,则结束控制;若使能信号为低电平使能信号,则通过一串行时钟数据线接收微处理器发送的时钟信号。
一实施例中,接收单元通过主设备输入/从设备输出数据线接收一微处理器发送的控制命令、待处理数据及地址信号。
一实施例中,可编程半导体器件采用浮栅晶体管。
本发明还提供一种终端,包括:微处理器以及通过接口数据线连接微处理器的闪存芯片,闪存芯片包括由多个可编程半导体器件组成的闪存模块以及控制装置,控制装置用于执行上述控制方法。
一实施例中,接口数据线包括:
串行时钟数据线,用于微处理器向闪存芯片传输时钟信号;
主设备输入/从设备输出数据线,用于微处理器向闪存芯片传输控制命令、待处理数据及地址信号,控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
主设备输出/从设备输入数据线,用于闪存芯片向微处理器传输信号;
使能信号数据线,用于微处理器向闪存芯片传输使能信号。
在本发明提供的闪存芯片的控制方法、装置及终端,通过响应于微处理器的控制命令中的计算指令,控制闪存模块基于地址信号对待处理数据进行计算,响应于控制命令中的闪存编程指令,控制闪存模块基于地址信号对待处理数据进行数据的写入或擦除,通过采用上述方法,能够控制闪存芯片进行计算,从而分担了处理器的工作,进而提高了整体计算体系结构的性能。
另外,本发明提供的闪存芯片的控制方法、装置及终端,通过串行时钟数据线、主设备输入/从设备输出数据线、主设备输出/从设备输入数据线以及使能信号数据线实现闪存芯片与微处理器之间的高效全双工通信。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种闪存芯片的结构示意图;
图2为本发明一实施例中一种闪存芯片的控制方法流程图;
图3A为本发明实施例中闪存芯片的闪存模块的示意图;
图3B为本发明实施例中闪存芯片的闪存模块的另一种结构的示意图。
图4为本发明另一实施例中闪存芯片的控制方法流程图;
图5为本发明再一实施例中闪存芯片的控制方法流程图;
图6为本发明实施例中一种闪存芯片的控制装置的结构示意图;
图7为本发明实施例中一种终端的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本发明实施例提供一种闪存芯片的控制方法,本发明实施例中闪存芯片的结构如图1所示,该闪存芯片100包括由多个可编程半导体器件组成的闪存模块1、行列译码器2、编程模块3、计算辅助模块4、读取模块5,闪存模块1用于实现数据写入、擦除、读取等功能,其中的每个可编程半导体器件可以作为存储单元存储信息,另外,还可以利用可编程半导体器件可编程的特性,通过编程模块3按照特定的规律对可编程半导体器件进行编程,使得多个可编程半导体器件的阈值按照一定规律设定,使闪存模块1中形成计算函数,在计算模式下,对输入闪存模块1的数据进行计算(如加法运算、乘法运算、矩阵乘法运算等)。
本发明实施例闪存芯片的控制方法如图2所示,该方法包括:
步骤S201:接收控制命令、待处理数据及地址信号,其中,该控制命令包括:计算指令、闪存编程指令、读取指令中的任一个。
在该步骤中,闪存芯片100接收来自于例如微处理器等控制器发送的控制命令、待处理数据及地址信号。
步骤S202:判断控制命令的类型,若控制命令中包含计算指令,则执行步骤S203,若控制命令中包含闪存编程指令,则执行步骤S204,若控制命令中包含读取指令,则执行步骤S205。
步骤S203:响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算(如加法运算、乘法运算、矩阵乘法运算等),产生计算结果。
步骤S204:响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除。
步骤S205:响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取,得到读取数据。
该实施例中,进行计算的数据可以来自于微处理器发送的数据,也可以通过读取步骤从闪存芯片中直接读取,计算的结果可以发送至微处理器,也可以直接存储至闪存芯片。
需要说明的是,如果控制命令中仅包括计算指令,则仅执行步骤S203即可;如果控制命令中仅包括闪存编程指令,则仅执行步骤S204即可;如果控制命令中仅包括读取指令,则仅执行步骤S205即可;如果控制命令中同时包括上述三种指令中的两种指令,则需要执行对应的两个步骤,而且两个步骤的执行顺序根据两个指令的顺序进行,如果控制命令中同时包括上述三种指令,则需要执行对应的三个步骤,而且三个步骤的执行顺序根据三个指令的顺序进行。本发明实施例对于步骤S203、步骤S204、步骤S205的先后执行顺序不作限定,可以按任意顺序进行执行,也可以同时执行。
在本发明实施例中,闪存芯片中设置的闪存模块可以实现计算功能和闪存功能,通过响应于控制命令中的计算指令,控制闪存模块执行计算功能,通过响应于控制命令中的闪存编程指令,控制闪存模块执行闪存写入、擦除和读取功能,实现在闪存芯片中直接进行数据计算,无需闪存芯片之外的处理器进行相应的计算,从而分担了处理器的工作,进而提高了整体计算体系结构的性能。
可选地,上述可编程半导体器件可以为浮栅晶体管。可以通过控制浮栅晶体管中浮栅的电子数量来改变浮栅晶体管的阈值电压,从而更有利于通过可编程半导体器件组成的电路来实现计算功能。
下面,结合图3A和图3B举例说明该闪存模块进行模拟向量-矩阵乘法计算的全过程,该闪存模块包括M行×N列的可编程半导体器件阵列。
可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至闪存模块的同一字线,M行可编程半导体器件对应连接M条字线,每一列的所有可编程半导体器件的源极均连接至闪存模块的同一位线,N列可编程半导体器件对应连接N条位线,每一列的所有可编程半导体器件的漏极均连接至同一电流输出端,N列可编程半导体器件对应连接N个电流输出端。
其中,位线用于输入模拟电压信号,字线用于输入偏置电压信号,或者,位线用于输入偏置电压信号,字线用于输入模拟电压信号,
或者,可编程半导体器件阵列中,每一行的所有可编程半导体器件的栅极均连接至闪存模块的同一字线,M行可编程半导体器件对应连接M条字线,每一列的所有可编程半导体器件的漏极均连接至闪存模块的同一位线,N列可编程半导体器件对应连接N条位线,每一列的所有可编程半导体器件的源极均连接至同一电流输出端,N列可编程半导体器件对应连接N个电路输出端。
其中,字线用于输入模拟电压信号,位线用于输入偏置电压信号。
其中,N为大于等于零的正整数,M为大于等于零的正整数,M和N可以相等,也可以不等。
其中,通过响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除,能够动态调节各可编程半导体器件的阈值电压VTH,将各可编程半导体器件看作一个可变的等效模拟权重(记为WK,j,其中0<k<M和0<j<N分别代表行号和列号),相当于每个可编程半导体器件中存储一个模拟数据,而可编程半导体器件阵列则形成一个模拟数据阵列。
当栅极用于输入模拟电压信号时,如图3A所示,响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算时,将一列模拟电压信号V1~VM分别施加至M行可编程半导体器件,其中第K行所有可编程半导体器件的栅极均得到一模拟电压信号VK,漏极(或源极)输入一偏置电压Vb,源极(或漏极)分别输出电流信号Ik,1~Ik,N,其中,根据可编程半导体器件的特性,I=V×W,每个可编程半导体器件的输出电流等于栅压乘以该可编程半导体器件的权重,即IK,1=VKWK,1,IK,N=VKWK,N,因为每一列的所有可编程半导体器件的源极(或漏极)均连接至同一个源线,根据基尔霍夫定律,所以在该源线的电流Ij为该列所有可编程半导体器件的源极(或漏极)电流之和,即为
Figure BDA0001752402570000091
多条源线输出多个电流和
Figure BDA0001752402570000092
实现矩阵乘法运算功能。
其中,上述可编程半导体器件可采用浮栅晶体管实现。
可选地,该闪存模块还可以包括:转换装置,每一行的所有可编程半导体器件的栅极通过一个转换装置后均连接至同一字线,转换装置用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的字线。
优选地,转换装置包括多个可编程半导体器件。
每个可编程半导体器件的栅极与漏极相连,并连接至对应的字线。
每个可编程半导体器件的源极连接第一偏置电压,其中,第一偏置电压可以位地电压,即源极可以接地。
其中,将每个可编程半导体器件的栅极与漏极连接起来,用于接收模拟电流输入信号。
其中,转换装置中的可编程半导体器件可采用浮栅晶体管,还可采用金属半导体场效应晶体管或者电阻实现。
值得说明的是,上述的转换装置的实现方式只是一种示例,凡是能实现将电流输入信号转换为电压输入信号的电路结构或电路元件均可用于实施该转换装置。
当栅极用于输入偏置电压信号时,如图3B所示,电路工作时,将一行模拟电压信号V1~VN分别施加至N列可编程半导体器件,其中第K列所有可编程半导体器件的源极均得到一模拟电压信号VK,栅极输入一偏置电压Vb,漏极分别输出电流信号Ik,1~Ik,N,其中,根据可编程半导体器件的特性,I=V×W,每个可编程半导体器件的漏极输出电流等于源极电压乘以该可编程半导体器件的权重,即IK,1=VKWK,1,IK,n=VkWk,N,因为每一列的所有可编程半导体器件的漏极均连接至同一个模拟电流输出端,根据基尔霍夫定律,所以在该模拟电流输出端的电流Ij为该列所有可编程半导体器件的漏极电流之和,即为
Figure BDA0001752402570000101
多个模拟电流输出端输出多个电流和
Figure BDA0001752402570000102
实现矩阵乘法运算功能。
其中,由于可编程半导体器件的栅源电压VCS决定可编程半导体器件的输出电流,可编程半导体器件的输出电流对源极电压非常敏感,可能引起计算误差,而本实施例采用栅极耦合、漏极求和的拓扑结构,即使源极电压发生波动,也不会引起计算误差,能够提高计算的精度。
在一个可选的实施例中,可编程半导体器件可以采用浮栅晶体管实现。
在一个可选的实施例中,该闪存模块还可以包括:转换装置,用于将多个模拟电流输入信号分别转换为模拟电压输入信号,输至对应的位线。
在一个可选的实施例中,转换装置包括:多个运算放大器以及与多个运算放大器一一对应连接的多个可编程半导体器件。
每个运算放大器的反相输入端均连接至对应可编程半导体器件的漏极,正相输入端连接第一固定偏压Vd,
运算放大器的输出端与可编程半导体器件的源极相连,并连接至对应的位线,
可编程半导体器件的栅极连接第一固定偏压Vd。该实施例中,运算放大器的反相输入端用于接收模拟电流输入信号Iin~IinM
可选地,转换装置中可编程半导体器件可采用浮栅晶体管。
通过设置转换装置,使得本发明实施例中的模拟向量-矩阵乘法运算电路不仅适于模拟电压输入信号,还适于模拟电流输入信号,能够增加模拟向量-矩阵乘法运算电路的适用性。
值得说明的是,上述的转换装置的实现方式只是一种示例,凡是能实现将电流输入信号转换为电压输入信号的电路结构或电路元件均可用于实施该转换装置,可以理解的是,上述转换装置中的可编程半导体器件也可以采用电阻器、金属半导体场效应晶体管等器件实现。
在一个可选的实施例中,闪存芯片还可以包括:编程模块、行列译码器,该控制方法响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,行列译码器基于地址信号选通待编程的可编程半导体器件,编程模块基于待处理数据对选通的待编程的可编程半导体器件进行数据写入或擦除,实现数据存储或计算函数编程。
其中,编程模块连接可编程半导体器件阵列中每一个可编程半导体器件的源极、栅极和/或衬底,用于对选通的待编程的可编程半导体器件的阈值电压进行调节,实现数据存储或计算函数编程。
在一个优选的实施例中,编程模块包括:电压产生电路和电压控制电路,所述电压产生电路用于产生编程电压或者擦除电压,所述电压控制电路用于将所述编程电压加载至选通的待编程的可编程半导体器件的源极,或者,将擦除电压加载至选通的待编程的可编程半导体器件的栅极或衬底,以调控选通的待编程的可编程半导体器件的阈值电压。
具体地,编程模块利用热电子注入效应,根据可编程半导体器件的阈值电压需求数据,向可编程半导体器件的源极施加高电压,将沟道电子加速到高速,以增加可编程半导体器件的阈值电压。
并且,编程模块利用隧穿效应,根据可编程半导体器件阈值电压需求数据,向可编程半导体器件的栅极或衬底施加高电压,以减少可编程半导体器件的阈值电压。
在一个可选的实施例中,闪存芯片还包括:计算辅助模块,该控制方法响应于控制命令中的计算指令,控制计算辅助模块和行列译码器,行列译码器基于地址信号选通用于计算的可编程半导体器件,计算辅助模块将待处理数据进行预设处理后输至选通的用于计算的可编程半导体器件,并控制闪存模块通过计算函数执行计算,得到计算结果。
在一个可选的实施例中,闪存芯片还包括:读出模块,该控制方法响应于控制命令中的读取指令,控制读出模块和行列译码器,行列译码器基于地址信号选通待读取的可编程半导体器件,读出模块读出选通的待读取的可编程半导体器件中的数据。
值得说明的是,在响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,进行数据写入或擦除,实现数据存储或计算函数编程的步骤,之后,还可以包括:控制读出模块和行列译码器,读取由编程模块编程的可编程半导体器件中的数据,与待处理数据进行比较,判断编程是否准确,若编程存在偏差,则重新控制编程模块和行列译码器进行数据写入或擦除,直至编程准确,以保障数据的准确性,能够提高数据存储精度或计算精度。
在一个可选的实施例中,该控制方法可以通过主设备输入/从设备输出数据线接收一微处理器发送的控制命令、待处理数据及地址信号。
在一个可选的实施例中,如图4所示,该控制方法还可以包括:
步骤S206:将计算结果或读取数据通过主设备输出/从设备输入数据线发送至微处理器等控制器。
在一个可选的实施例中,如图5所示,该控制方法还包括:
步骤S501:通过一使能信号数据线接收一微处理器发送的使能信号。
步骤S502:判断使能信号的类型,若使能信号为高电平使能信号,则结束控制;若使能信号为低电平使能信号,则进行步骤S503。
步骤S503:通过一串行时钟数据线接收微处理器发送的时钟信号。
该实施例中,通过上述步骤,使得该闪存芯片在微控制器等控制装置的控制下启动,能够在空闲时停止工作,节省能耗。
可选地,上述各实施例中,可编程半导体器件可采用浮栅晶体管。
以上仅是举例说明本发明实施例提供的闪存芯片的控制方法,在具体实施时,上述各步骤不限于本发明实施例提供的上述步骤,还可以包括本领域技术人员可知的其他步骤,在此不作限定。
本发明实施例还提供了一种闪存芯片的控制装置,可以用于执行上述实施例所描述的控制方法,如下面的实施例所述。由于控制装置解决问题的原理与上述方法相似,因此控制装置的实施可以参见上述方法的实施,重复之处不再赘述。
图6为本发明实施例中一种闪存芯片的控制装置的结构示意图,其中,闪存芯片包括由多个可编程半导体器件组成的闪存模块,闪存芯片的控制装置用于执行上述控制方法,包括:接收单元61、计算控制单元62、编程控制单元64、读取控制单元66。
上述接收单元61用于接收控制命令、待处理数据及地址信号,控制命令包括:计算指令、闪存编程指令、读取指令中的任一个。
上述计算控制单元62响应于控制命令中的计算指令,基于地址信号控制闪存模块对待处理数据进行计算(如加法运算、乘法运算、矩阵乘法运算等),产生计算结果。
上述编程控制单元63响应于控制命令中的闪存编程指令,基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除。
上述读取控制单元66响应于控制命令中的读取指令,基于地址信号对闪存模块中的数据进行读取,得到读取数据。
该实施例中,通过控制装置进行控制,使得闪存模块能够实现计算功能,使得能够直接在闪存芯片中进行数据计算,无需闪存芯片之外的处理器进行相应的计算,从而分担了处理器的工作,进而提高了整体计算体系结构的性能。
在一个可选的实施例中,闪存芯片还包括:编程模块、行列译码器,其中,编程控制单元响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,行列译码器基于地址信号选通待编程的可编程半导体器件,编程模块基于待处理数据对选通的待编程的可编程半导体器件进行数据写入或擦除,实现数据存储或计算函数编程。
在一个可选的实施例中,闪存芯片还包括:计算辅助模块,其中,计算控制单元响应于控制命令中的计算指令,控制计算辅助模块和行列译码器,行列译码器基于地址信号选通用于计算的可编程半导体器件,计算辅助模块将待处理数据进行预设处理后输至选通的用于计算的可编程半导体器件,并控制闪存模块通过计算函数执行计算,得到计算结果。
在一个可选的实施例中,闪存芯片还包括:读出模块,其中,上述读取控制单元响应于控制命令中的读取指令,控制读出模块和行列译码器,行列译码器基于地址信号选通待读取的可编程半导体器件,读出模块读出选通的待读取的可编程半导体器件中的数据。
值得说明的是,在响应于控制命令中的闪存编程指令,控制编程模块和行列译码器,进行数据写入或擦除,实现数据存储或计算函数编程的步骤,之后,还可以包括:控制读出模块和行列译码器,读取由编程模块编程的可编程半导体器件中的数据,与待处理数据进行比较,判断编程是否准确,若编程存在偏差,则重新控制编程模块和行列译码器进行数据写入或擦除,直至编程准确,以保障数据的准确性,能够提高数据存储精度或计算精度。
在一个优选的实施例中,控制装置还包括:输出单元67,用于将计算结果或读取数据通过主设备输出/从设备输入数据线发送至一微处理器。
在一个可选的实施例中,控制装置还包括:使能单元65和判断单元64。
该使能单元65通过一使能信号数据线接收一微处理器发送的使能信号;
该判断单元64判断使能信号的类型,若使能信号为高电平使能信号,则结束控制;若使能信号为低电平使能信号,则通过一串行时钟数据线接收微处理器发送的时钟信号。
在一个可选的实施例中,接收单元通过主设备输入/从设备输出数据线接收一微处理器发送的控制命令、待处理数据及地址信号。
可选地,上述各实施例中,可编程半导体器件可采用浮栅晶体管。
图7为本发明实施例中一种终端的结构示意图。如图7所示,该终端包括:微处理器200以及通过接口数据线连接微处理器的闪存芯片100,微处理器200作为主设备,闪存芯片100作为从设备,闪存芯片100包括由多个可编程半导体器件组成的闪存模块1以及控制装置,控制装置用于执行上述控制方法。
在一个优选的实施例中,接口数据线包括:
串行时钟数据线(Serial CLocK,SCLK)701,用于微处理器向闪存芯片传输时钟信号,该时钟信号的频率可变;
主设备输入/从设备输出数据线(Master Input Slave Output,MISO)702,可以为8位单向数据线,用于微处理器向闪存芯片传输控制命令、待处理数据及地址信号,控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
主设备输出/从设备输入数据线(Master Output Slave Input,MOSI)703,可以为8位单向数据线,用于闪存芯片向微处理器传输信号;
使能信号数据线(Negative Slave Select,NSS)704,用于微处理器向闪存芯片传输使能信号,进而控制闪存芯片100是否被选中。
本发明实施例中终端的交互方法包括:
微处理器200通过使能信号数据线NSS704发送使能信号至闪存芯片100;
闪存芯片100通过使能信号数据线NSS704接收微处理器200发送的使能信号。
微处理器200判断使能信号电平是否为低,若是,则表示闪存芯片100被选中,则通过串行时钟数据线发送时钟信号,通过主设备输入/从设备输出数据线发送控制命令、待处理数据及地址信号;若否,则断开通信连接,交互结束;
闪存芯片100判断使能信号电平是否为低,若是,则表示闪存芯片100被选中,则通过串行时钟数据线接收时钟信号,通过主设备输入/从设备输出数据线接收控制命令、待处理数据及地址信号;若否,则交互结束;
闪存芯片100判断控制命令中包含何种指令,若控制命令中包含计算指令,则基于地址信号控制闪存模块1对待处理数据进行计算,产生计算结果;
在该步骤中,进行计算的数据可以来自于微处理器200发送的数据,也可以通过读取步骤从闪存芯片100中直接读取,计算的结果可以发送至微处理器200,也可以直接存储至闪存芯片100。
若控制命令中包含闪存编程指令,则基于地址信号控制闪存模块对待处理数据进行数据的写入或擦除;
若控制命令中包含读取指令,则基于地址信号对闪存模块中的数据进行读取,得到读取数据。
微处理器200通过使能信号数据线NSS发送高电平使能信号至闪存芯片100;
微处理器200断开与闪存芯片100之间的通信连接;
闪存芯片100通过使能信号数据线NSS接收高电平使能信号;
闪存芯片100断开与微处理器200之间的通信连接。
上述实施例中,微处理器与闪存芯片之间通过上述的数据线和交互过程,实现高效全双工通信。
上述各实施例中,可编程半导体器件可选用浮栅晶体管,该浮栅晶体管可为SONOS型浮栅晶体管(floating-gate transistor)、分裂式浮栅晶体管(Split-gate floating-gate transistor)或电荷式浮栅晶体管(Charge-trapping floating-gate transistor),包括但不限于此,所有能够通过调节浮栅中电子数量而调节晶体管本身阈值电压的晶体管均属于本发明实施例的保护范围。
综上所述,在本发明实施例提供的闪存芯片的控制方法、装置及终端,通过响应于微处理器的控制命令中的计算指令,控制闪存模块基于地址信号对待处理数据进行计算,响应于控制命令中的闪存编程指令,控制闪存模块基于地址信号对待处理数据进行数据的写入或擦除,通过采用上述方法,能够控制闪存芯片进行计算,从而分担了处理器的工作,进而提高了整体计算体系结构的性能。
另外,本发明提供的闪存芯片的控制方法、装置及终端,通过串行时钟数据线、主设备输入/从设备输出数据线、主设备输出/从设备输入数据线以及使能信号数据线实现闪存芯片与微处理器之间的高效全双工通信。
本发明实施例的终端可为计算机、手机、平板电脑等,对于该终端的其它必不可少的组成部分均为本领域的普通技术人员应该理解具有的,在此不做赘述,也不应作为对本发明的限制。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种闪存芯片的控制方法,其特征在于,
所述闪存芯片包括由多个可编程半导体器件组成的闪存模块,所述闪存芯片的控制方法包括:
接收控制命令、待处理数据及地址信号,所述控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
响应于所述控制命令中的所述计算指令,基于所述地址信号控制所述闪存模块对所述待处理数据进行计算,产生计算结果;
响应于所述控制命令中的所述闪存编程指令,基于所述地址信号控制所述闪存模块对待处理数据进行数据的写入或擦除;
响应于所述控制命令中的所述读取指令,基于所述地址信号对所述闪存模块中的数据进行读取,得到读取数据。
2.根据权利要求1所述控制方法,其特征在于,所述闪存芯片还包括:编程模块、行列译码器,
所述响应于所述控制命令中的闪存编程指令,基于所述地址信号控制所述闪存模块对所述待处理数据进行数据的写入或擦除,包括:
响应于所述控制命令中的所述闪存编程指令,控制所述编程模块和所述行列译码器,所述行列译码器基于所述地址信号选通待编程的可编程半导体器件,所述编程模块基于待处理数据对选通的待编程的可编程半导体器件进行数据写入或擦除,实现数据存储或计算函数编程。
3.根据权利要求2所述控制方法,其特征在于,所述闪存芯片还包括:计算辅助模块,
响应于所述控制命令中的所述计算指令,基于地址信号控制所述闪存模块对所述待处理数据进行计算,包括:响应于所述控制命令中的所述计算指令,控制所述计算辅助模块和所述行列译码器,所述行列译码器基于所述地址信号选通用于计算的可编程半导体器件,所述计算辅助模块将所述待处理数据进行预设处理后输至选通的用于计算的可编程半导体器件,并控制所述闪存模块通过计算函数执行计算,得到计算结果。
4.根据权利要求3所述控制方法,其特征在于,所述闪存芯片还包括:读出模块,
所述响应于所述控制命令中的所述读取指令,基于所述地址信号对所述闪存模块中的数据进行读取,包括:响应于所述控制命令中的所述读取指令,控制所述读出模块和所述行列译码器,所述行列译码器基于所述地址信号选通待读取的可编程半导体器件,所述读出模块读出选通的待读取的可编程半导体器件中的数据。
5.根据权利要求4所述控制方法,其特征在于,还包括:
将所述计算结果或所述读取数据通过主设备输出/从设备输入数据线发送至一微处理器。
6.根据权利要求5所述控制方法,其特征在于,还包括:
通过一使能信号数据线接收一微处理器发送的使能信号;
判断所述使能信号的类型,若所述使能信号为高电平使能信号,则结束控制;若所述使能信号为低电平使能信号,则通过一串行时钟数据线接收所述微处理器发送的时钟信号。
7.根据权利要求6所述控制方法,其特征在于,所述接收控制命令、待处理数据及地址信号,包括:
通过主设备输入/从设备输出数据线接收一微处理器发送的控制命令、待处理数据及地址信号。
8.根据权利要求1至7任一项所述控制方法,其特征在于,所述可编程半导体器件采用浮栅晶体管。
9.一种终端,其特征在于,包括:微处理器以及通过接口数据线连接所述微处理器的闪存芯片,所述闪存芯片包括由多个可编程半导体器件组成的闪存模块、编程模块、行列译码器、计算辅助模块以及读出模块,闪存芯片用于执行如权利要求1至8任一项所述控制方法。
10.根据权利要求9所述终端,其特征在于,所述接口数据线包括:
串行时钟数据线,用于所述微处理器向所述闪存芯片传输时钟信号;
主设备输入/从设备输出数据线,用于所述微处理器向所述闪存芯片传输控制命令、待处理数据及地址信号,所述控制命令包括:计算指令、闪存编程指令、读取指令中的任一个;
主设备输出/从设备输入数据线,用于所述闪存芯片向所述微处理器传输信号;
使能信号数据线,用于所述微处理器向所述闪存芯片传输使能信号。
CN201810872085.0A 2018-08-02 2018-08-02 闪存芯片的控制方法、终端 Active CN109273035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810872085.0A CN109273035B (zh) 2018-08-02 2018-08-02 闪存芯片的控制方法、终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810872085.0A CN109273035B (zh) 2018-08-02 2018-08-02 闪存芯片的控制方法、终端

Publications (2)

Publication Number Publication Date
CN109273035A CN109273035A (zh) 2019-01-25
CN109273035B true CN109273035B (zh) 2020-03-17

Family

ID=65152990

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810872085.0A Active CN109273035B (zh) 2018-08-02 2018-08-02 闪存芯片的控制方法、终端

Country Status (1)

Country Link
CN (1) CN109273035B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763163B (zh) 2018-08-02 2023-10-20 北京知存科技有限公司 模拟向量-矩阵乘法运算电路

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103729303B (zh) * 2014-01-20 2017-03-29 飞天诚信科技股份有限公司 一种Flash的数据写入和读取方法
US10192162B2 (en) * 2015-05-21 2019-01-29 Google Llc Vector computation unit in a neural network processor
WO2017131653A1 (en) * 2016-01-27 2017-08-03 Hewlett Packard Enterprise Development Lp In situ transposition
US9954558B1 (en) * 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR20180057431A (ko) * 2016-11-22 2018-05-30 삼성전자주식회사 비휘발성 메모리 장치
CN107122132A (zh) * 2017-04-21 2017-09-01 深圳市爱思拓信息存储技术有限公司 一种只能读取和输入数据的数据处理方法及其处理装置
CN108009640B (zh) * 2017-12-25 2020-04-28 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
CN208507187U (zh) * 2018-08-02 2019-02-15 北京知存科技有限公司 闪存芯片

Also Published As

Publication number Publication date
CN109273035A (zh) 2019-01-25

Similar Documents

Publication Publication Date Title
CN108763163B (zh) 模拟向量-矩阵乘法运算电路
CN109086249B (zh) 模拟向量-矩阵乘法运算电路
US9165662B2 (en) Semiconductor memory device and programming method thereof
EP3506266A1 (en) Methods and systems for performing a calculation across a memory array
CN108777155A (zh) 闪存芯片
US9001586B1 (en) Semiconductor memory device capable of preventing degradation of memory cells and method for erasing the same
KR20140013383A (ko) 불휘발성 메모리 장치 및 그것의 동작 방법
US20220157384A1 (en) Pulse-Width Modulated Multiplier
CN111128279A (zh) 基于NAND Flash的存内计算芯片及其控制方法
US20210200617A1 (en) Digital Backed Flash Refresh
KR20170011644A (ko) 반도체 메모리 장치 및 그것의 동작 방법
CN109284474B (zh) 一种加法器辅助实现图像卷积运算的闪存系统及方法
KR20180016854A (ko) 반도체 메모리 장치 및 그 동작 방법
CN109273035B (zh) 闪存芯片的控制方法、终端
CN111611534B (zh) 一种动态偏置模拟向量-矩阵乘法运算电路及其运算控制方法
CN110543937A (zh) 神经网络及操作方法、神经网络信息处理系统
CN208507187U (zh) 闪存芯片
KR20150034552A (ko) 반도체 메모리 장치 및 그것의 동작 방법
CN211016545U (zh) 基于NAND Flash的存内计算芯片、存储装置以及终端
US9601211B1 (en) Semiconductor memory device
KR20150142921A (ko) 반도체 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
CN112632460A (zh) 源极耦合、漏极求和的模拟向量-矩阵乘法运算电路
CN111859261B (zh) 计算电路及其操作方法
US10319446B2 (en) Semiconductor memory device
CN111243648A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Room 213-175, 2nd Floor, Building 1, No. 180 Kecheng Street, Qiaosi Street, Linping District, Hangzhou City, Zhejiang Province, 311100

Patentee after: Hangzhou Zhicun Computing Technology Co.,Ltd.

Country or region after: China

Address before: 1416, shining building, No. 35, Xueyuan Road, Haidian District, Beijing 100083

Patentee before: BEIJING WITINMEM TECHNOLOGY Co.,Ltd.

Country or region before: China