CN112115078B - 存储系统、存储控制器及半导体存储装置 - Google Patents

存储系统、存储控制器及半导体存储装置 Download PDF

Info

Publication number
CN112115078B
CN112115078B CN202010013639.9A CN202010013639A CN112115078B CN 112115078 B CN112115078 B CN 112115078B CN 202010013639 A CN202010013639 A CN 202010013639A CN 112115078 B CN112115078 B CN 112115078B
Authority
CN
China
Prior art keywords
data
memory
arithmetic operation
target data
nonvolatile semiconductor
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
CN202010013639.9A
Other languages
English (en)
Other versions
CN112115078A (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.)
Kioxia Corp
Original Assignee
Kioxia Corp
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 Kioxia Corp filed Critical Kioxia Corp
Publication of CN112115078A publication Critical patent/CN112115078A/zh
Application granted granted Critical
Publication of CN112115078B publication Critical patent/CN112115078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output 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/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/08Address circuits; Decoders; Word-line control circuits
    • 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/24Bit-line control circuits
    • 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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5642Multilevel memory with buffers, latches, registers at input or output
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)

Abstract

本发明的实施方式提供一种用于神经网络的存储系统、存储控制器、及半导体存储装置。实施方式的存储系统具备:控制部,发送包含第1数据的第1指令集;及半导体存储装置,通过从所述控制部接收所述第1指令集,将基于所述第1指令集的第2数据发送到所述控制部。

Description

存储系统、存储控制器及半导体存储装置
[相关申请案]
本申请案享有以日本专利申请案2019-113565号(申请日:2019年6月19日)为基础申请案的优先权。本申请案通过参考该基础申请案而包含基础申请案的全部内容。
技术领域
本发明的实施方式涉及一种用于神经网络的存储系统、存储控制器及半导体存储装置。
背景技术
业界正在开发人工智能(Artificial Intelligence:AI)。作为AI技术之一,考虑神经网络。神经网络是模仿脑的神经元及突触而想出的模型,至少包含学习及识别的2个阶段的处理。在学习阶段,从大量输入学习其特征,构建用于识别处理的神经网络。在识别阶段,使用所构建的神经网络来识别新的输入是何者。
发明内容
本发明的实施方式提供一种用于神经网络的存储系统、存储控制器及半导体存储装置。
实施方式的存储系统具备:控制部,发送包含第1数据的第1指令集;及半导体存储装置,通过从所述控制部接收所述第1指令集,将基于所述第1指令集的第2数据发送到所述控制部。
附图说明
图1是表示识别系统中的学习阶段及识别阶段的概念图。
图2是第1实施方式的识别系统的方块图。
图3是表示第1实施方式的识别装置的概念的图。
图4是具备第1实施方式的半导体存储装置的存储系统的方块图。
图5是第1实施方式的半导体存储装置的方块图。
图6是表示第1实施方式的存储胞阵列的图。
图7是表示第1实施方式的存储胞的阈值分布的图。
图8是第1实施方式的半导体存储装置所具备的感测放大器及数据寄存器的方块图。
图9是表示第1实施方式的感测放大器的电路图。
图10是表示第1实施方式的存储系统的动作的流程图。
图11是表示识别阶段中的存储系统的动作中的指令集、及波形图的图。
图12是表示读取动作的指令序列的图。
图13是表示写入动作的指令序列的图。
图14是表示存储在锁存电路及位计数器中的具体数据的图。
图15是表示存储在锁存电路中的数据的种类的图。
图16是第2实施方式的半导体存储装置的方块图。
图17是表示第2实施方式的源极线控制电路的一例的电路图。
图18是表示通常的读出动作的一例的图。
图19是用来对胞电流的不均进行说明的图。
图20是用来对第2实施方式中的读出动作的一例进行说明的图。
图21是表示第2实施方式中的字线WL及位线BL的动作图像的图。
图22是用来对消除由胞电流的不均所引起的影响进行说明的图。
图23是表示图10的变化例的存储系统的动作的流程图。
图24是表示图23的后续的流程图。
具体实施方式
以下,参考附图对实施方式进行说明。以下所示的若干实施方式例示用来将技术思想具体化的装置及方法,并未通过构成零件的形状、构造、配置等对技术思想进行特定。各功能方块能够作为硬件及软件中的任一者或者组合两者而成者实现。并非必须像以下示例那样区分各功能方块。例如,一部分功能也可通过与例示的功能方块不同的功能方块执行。进而,例示的功能方块也可分割成更细的功能子方块。此外,在以下说明中,对于具有相同功能及构成的要素,标注相同符号,且仅于需要情况下进行重复说明。
<1>第1实施方式
<1-1>构成
<1-1-1>识别系统的概要
在本实施方式中,对利用神经网络的识别系统(装置)进行说明。识别系统在学习阶段,学习用来对识别对象数据(输入数据)的内容进行识别的参数,在识别阶段,基于学习结果对识别对象数据进行识别。所谓识别对象数据是指成为要识别的对象的数据,例如图像数据、音频数据、文本数据等。以下,作为一例,对识别对象数据为图像数据,使用能够识别图像数据的神经网络的情况进行说明。
如图1所示,在本实施方式的识别系统中,在学习阶段,将用来学习的多个数据(数据集)输入到作为识别系统的一部分的识别装置中。识别装置基于数据集构建神经网络(学习完成模型)。
更具体来说,识别装置构建用来将识别对象数据分类的神经网络。识别装置当构建神经网络时,使用输入数据及标签的评价。标签的评价包括表示数据的内容符合标签的“正评价”、及表示数据的内容不符合标签的“负评价”。正评价或负评价与“0”“1”等得分(正解得分、或识别得分)建立关联,这些得分也称为正解值(Ground Truth)。此外,“得分”是数值,表示利用神经网络交换的信号本身。识别装置对所输入的数据集进行运算,以作为运算结果的识别得分(也记载为推断结果)接近预先准备的正解得分的方式调整运算时的参数。另外,所谓“识别得分”,表示所输入的数据集、与已和所输入的数据集建立关联的标签的符合程度。所谓“正解得分”,表示已和所输入的数据集建立关联的标签的评价。
而且,当构建神经网络时,作为识别阶段,识别系统能够使用该神经网络识别任意数据(所输入的数据集)为何者(识别结果的输出)。
<1-1-2>识别系统的构成
继而,使用图2对本实施方式的识别系统进行说明。图2是表示识别系统的硬件构成的方块图。
如图2所示,识别系统1包含输入输出接口(I/F)2、控制部(CPU:CentralProcessing Unit,中央处理器)3、存储器4、及识别装置5。输入输出接口2、控制部3、存储器4、及识别装置5分别连接于控制器总线。
输入输出接口2例如为输入数据集或输出识别结果的输入输出控制电路(装置)。输入输出接口2可为依据UFS(Universal Flash Storage,通用闪速存储器)标准的UFS接口,也可为依据SAS(Serial Attached SCSI,串列SCSI(Small Computer SystemInterface,小型计算机系统接口))标准的SAS接口,也可为依据其他标准的接口,也可为通信电缆本身。
控制部3控制识别系统1的全体。
存储器4例如包含RAM(Random Access Memory,随机存取存储器)、ROM(Read OnlyMemory,只读存储器)。
识别装置5在学习阶段,例如从数据集学习特征,构建神经网络。所构建的神经网络表现为识别装置5中的各运算部中所使用的权重系数(也可简单地记载为权重)。也就是说,识别装置5例如构建如下神经网络,即在输入有与描画有某图像“X”的图像对应的输入数据时,输出输入数据为图像“X”。识别装置5通过接收多个输入数据,可提高神经网络的精度。
识别装置5在识别阶段,获取神经网络中的权重系数。在神经网络经更新时,识别装置5通过获取新的神经网络的权重系数,而提高识别的精度。已获取权重系数的识别装置5接收识别对象的输入数据。然后,识别装置5将输入数据输入到使用权重系数的神经网络,而对输入数据进行识别。
识别系统1的各功能是通过以下方式实现,即控制部3使指定的软件读入到存储器4等硬件上,基于控制部3的控制进行存储器4中的数据的读出及写入。
<1-1-3>识别装置
<1-1-3-1>识别装置的概念
所谓神经网络是将人脑模型化而成,由模仿一个个被称为神经元的神经细胞而成的模型的集合所构成。
神经元分别具备输入层、中间层、输出层。
从输入层的神经元输出的信息成为向中间层的神经元的输入,从中间层的神经元输出的信息成为向输出层的神经元的输入。
向神经元的输入成为对将权重乘以输入数据所得之值加上偏差所得之值。针对该合计值,通过经由特定函数而决定最终输出值。决定该输出值的函数成为激活函数。作为激活函数的示例,可列举s型函数、softmax函数、恒等函数、ReLU(Rectified Linear Unit,修正线性单元)等。
接下来,使用图3对本实施方式的识别系统的识别装置5的概念进行说明。图3是表示本实施方式的识别系统的识别装置5的概念的方块图。此处,对识别阶段中的识别装置5的概念进行说明。
如图3所示,识别装置5具备输入层51、隐藏层52、及输出层53。
输入层51并联地配置有输入用节点。输入用节点获取输入数据X并向隐藏层52中所含的节点输出(分配)。本实施方式的所谓节点,是指模仿脑的神经元而成的模型。另外,也可将节点记载为神经元。
在图3中,为了简便,而示出了输入层51包含并联的4个节点的情况。在图3中,在4个节点分别存储数据X1~X4
隐藏层52并联地配置有处理用节点。处理用节点分别使用权重系数对处理数据进行运算(积和运算),并将运算结果(运算数据)Y输出到后续层的节点(1个或多个节点)。
在图3中,为了简单而示出了隐藏层52包含并联的3个节点的情况。积和运算的结果,将数据Y1~Y3存储到隐藏层的节点中。该数据Y1~Y3成为下一次积和运算的输入数据。另外,将权重W11~W34分别与从输入层51到隐藏层52的多个边沿建立对应。
以下,对数据X与数据Y与权重W的关系进行具体说明。在存储数据Y1的节点,存储权重W11及数据X1的乘积、权重W12及数据X2的乘积、权重W13及数据X3的乘积、以及权重W14及数据X4的乘积的和(ΣW1i*Xi)。同样地,在存储数据Y2的节点,存储权重W21及数据X1的乘积、权重W22及数据X2的乘积、权重W23及数据X3的乘积、以及权重W24及数据X4的乘积的和(ΣW2i*Xi)。另外,在存储数据Y3的节点,存储权重W31及数据X1的乘积、权重W32及数据X2的乘积、权重W33及数据X3的乘积、以及权重W34及数据X4的乘积的和(ΣW3i*Xi)。如上所述,成为Yk=ΣWki*Xi这种关系。
输出层53并联地配置有与标签的数量相同数量的输出用节点。该标签与识别对象数据建立关联。输出层53基于从隐藏层52接收到的数据,在每个输出用节点进行激活函数的运算,并输出识别得分。也就是说,在识别装置5中,针对每个标签输出识别得分。例如在识别装置5识别“车”、“树”、“人”此3个图像时,输出层53根据“车”、“树”、“人”此3个标签而配置有3个输出用神经元。输出用神经元输出与“车”标签对应的识别得分、与“树”标签对应的识别得分、与“人”标签对应的识别得分。在图3中,为了简单,而示出了输出层53包含并联的2个节点的情况。作为激活函数的运算结果,从输出层53的节点获得数据Z1、Z2
此外,上文所述的输入层51、隐藏层52、及输出层53中所含的节点的数量可适当变更。尤其在隐藏层52中,虽然只图示了1级处理节点群,但也可具备2级以上的处理节点。将隐藏层52具备多级处理节点群的情况记载为“深度学习”。
<1-1-3-2>识别装置的具体构成
<1-1-3-2-1>存储系统
此处,作为用来实现识别装置5的具体硬件构成,列举存储系统400进行说明。
如图4所示,存储系统400具备NAND(Not AND,与非)型闪速存储器100及存储控制器200。存储控制器200及NAND型闪速存储器100例如也可通过它们的组合来构成一个半导体存储装置,作为该例,可列举像SD(Secure Digital,安全数字)(注册商标)卡那样的存储卡、或SSD(solid state drive,固态驱动器)等。
NAND型闪速存储器100具备多个存储胞晶体管,非易失地存储数据。NAND型闪速存储器100通过NAND总线与存储控制器200连接,基于来自存储控制器200的主机指令(命令)进行动作。更具体来说,NAND型闪速存储器100与存储控制器200进行例如8位的信号DQ0~DQ7(以下,在不限定DQ0~DQ7的情况下,简单地标记为信号DQ、或信号DQ[7:0])的接收发送。在信号DQ0~DQ7中,例如包含数据、地址、及指令。另外,NAND型闪速存储器100从存储控制器200接收例如芯片使能信号CEn、指令锁存使能信号CLE、地址锁存使能信号ALE、写入使能信号WEn、及读出使能信号REn。然后,NAND型闪速存储器100向存储控制器200发送就绪/忙碌信号R/Bn。
芯片使能信号CEn是用来启用NAND型闪速存储器100的信号,例如以Low(“L”)电平断定。指令锁存使能信号CLE是表示信号DQ为指令的信号,例如以High(“H”)电平断定。地址锁存使能信号ALE是表示信号DQ为地址的信号,例如以“H”电平断定。写入使能信号WEn是用来将接收到的信号向NAND型闪速存储器100内取入的信号,每当从存储控制器200接收指令、地址、及数据等时,例如以“L”电平断定。因此,每当切换WEn时,将信号DQ取入到NAND型闪速存储器100内。读出使能信号REn是用来供存储控制器200从NAND型闪速存储器100读出数据的信号。读出使能信号REn例如以“L”电平断定。就绪/忙碌信号R/Bn是表示NAND型闪速存储器100为忙碌状态还是就绪状态(无法从存储控制器200接收指令的状态还是能够从存储控制器200接收指令的状态)的信号,例如在NAND型闪速存储器100为忙碌状态时设为“L”电平。
存储控制器200例如响应来自控制部3的主机指令,对NAND型闪速存储器100命令数据的读出、写入、删除等。另外,存储控制器200对NAND型闪速存储器100的存储空间进行管理。
存储控制器200包含主机接口电路(主机I/F)210、内置存储器(RAM:RandomAccessMemory)220、处理器(CPU)230、缓冲存储器240、NAND接口电路(NAND I/F)250、及错误校正电路(ECC)260。
主机接口电路210经由控制器总线与外部(控制部3等)连接,掌管与外部的通信。主机接口电路210对处理器230及缓冲存储器240传输从外部接收到的主机指令及数据。另外,主机接口电路210响应处理器230的命令,而向外部传输缓冲存储器240内的数据。
NAND接口电路250经由NAND总线与NAND型闪速存储器100连接,掌管与NAND型闪速存储器100的通信。NAND接口电路250对NAND型闪速存储器100传输从处理器230接收到的命令。另外,NAND接口电路250在写入时,对NAND型闪速存储器100传输缓冲存储器240内的写入数据。进而,NAND接口电路250在读出时,对缓冲存储器240传输从NAND型闪速存储器100读出的数据。
处理器230控制存储控制器200全体的动作。另外,处理器230根据外部的主机指令而发行各种指令并发送到NAND型闪速存储器100。例如,处理器230在从外部接收到与写入相关的主机指令时,响应该指令,对NAND型闪速存储器100发送与写入相关的NAND指令。读出及删除时也同样如此。另外,处理器230执行损耗均衡等用来管理NAND型闪速存储器100的各种处理。进而,处理器230执行各种运算。例如,处理器230执行数据的加密处理或随机化处理等。
错误校正电路260执行数据的错误校正处理。
内置存储器220例如为DRAM(Dynamic Random Access Memory,动态随机存取存储器)、或SRAM(Static RAM,静态随机存取存储器)等半导体存储器,作为处理器230的作业区域来使用。而且,内置存储器220保存用来管理NAND型闪速存储器100的固件、或各种管理表格等。
此外,此处,作为识别装置5的硬件构成,列举了存储系统400,但并不限于此。作为其它示例,也可采用存储控制器200作为控制部3的硬件构成,采用NAND型闪速存储器100作为识别装置5的硬件构成。
<1-1-3-2-2>NAND型闪速存储器100
接下来,使用图5对NAND型闪速存储器100的构成进行说明。此外,在图5中,利用箭头线示出了各区块间的连接的一部分,但区块间的连接并不限于此。
如图5所示,NAND型闪速存储器100包含输入输出电路15、逻辑控制电路16、状态寄存器18、地址寄存器19、指令寄存器20、定序器17、就绪/忙碌电路21、电压产生电路22、存储胞阵列10、行解码器11、感测放大器模块12、数据寄存器/位计数器13、及列解码器14。
输入输出电路15控制与存储控制器200的信号DQ的输入输出。更具体来说,输入输出电路15具备输入电路及输出电路。输入电路将从存储控制器200接收到的数据DAT(写入数据WD)发送到数据寄存器/位计数器13,将地址ADD发送到地址寄存器19,将指令CMD发送到指令寄存器20。输出电路将从状态寄存器18接收到的状态信息STS、从数据寄存器/位计数器13接收到的数据DAT(读出数据RD)、及从地址寄存器19接收到的地址ADD发送到存储控制器200。
逻辑控制电路16从存储控制器200接收例如芯片使能信号CEn、指令锁存使能信号CLE、地址锁存使能信号ALE、写入使能信号WEn、及读出使能信号REn。然后,逻辑控制电路16根据所接收到的信号对输入输出电路15及定序器17进行控制。
状态寄存器18例如暂时地保存数据的写入、读出、及删除动作的状态信息STS,并对存储控制器200通知动作是否已正常结束。
地址寄存器19经由输入输出电路15暂时地保存从存储控制器200接收到的地址ADD。而且,地址寄存器19向行解码器11传输行地址RA,向列解码器14传输列地址CA。
指令寄存器20经由输入输出电路15暂时地保存从存储控制器200接收到的指令CMD,并向定序器17传输。
定序器17控制NAND型闪速存储器100全体的动作。更具体来说,定序器17根据指令寄存器20所保存的指令CMD,控制例如状态寄存器18、就绪/忙碌电路21、电压产生电路22、行解码器11、感测放大器模块12、数据寄存器/位计数器13、及列解码器14等,执行写入动作、读出动作、及删除动作等。另外,定序器17包含寄存器(未图示)。
就绪/忙碌电路21根据定序器17的动作状況,将就绪/忙碌信号R/Bn发送到存储控制器200。
电压产生电路22根据定序器17的控制,产生写入动作、读出动作、及删除动作所需的电压,并将该产生的电压供给到例如存储胞阵列10、行解码器11、及感测放大器模块12等。行解码器11及感测放大器模块12将从电压产生电路22供给的电压施加到存储胞阵列10内的存储胞晶体管。
存储胞阵列10包含区块BLK0~BLKn(n为0以上的整数)。区块BLK是与位线及字线建立关联的多个非易失性存储胞的集合,例如成为数据的删除单位。NAND型闪速存储器100也可通过例如应用MLC(Multi-Level Cell,多级胞)方式等,使各存储胞存储2位以上的数据。
行解码器11对行地址RA进行解码。行解码器11根据解码结果选择区块BLK中的任一者,进而选择任一存储胞单元。然后,行解码器11将所需电压施加到区块BLK。
感测放大器模块12在读出动作时,对从存储胞阵列10读出的数据进行感测。然后,感测放大器模块12将读出数据RD发送到数据寄存器/位计数器13。另外,感测放大器模块12在写入动作时,将写入数据WD发送到存储胞阵列10。
数据寄存器/位计数器13具备多个锁存电路。锁存电路保存写入数据WD及读出数据RD。例如在写入动作中,数据寄存器/位计数器13暂时地保存从输入输出电路15接收到的写入数据WD,并发送到感测放大器模块12。另外,例如在读出动作中,数据寄存器/位计数器13暂时地保存从感测放大器模块12接收到的读出数据RD,并发送到输入输出电路15。
列解码器14例如在写入动作、读出动作、及删除动作时对列地址CA进行解码,并根据解码结果而选择数据寄存器/位计数器13内的锁存电路。
<1-1-3-2-3>存储胞阵列
图6是表示第1实施方式中的NAND型闪速存储器100中所含的存储胞阵列10的构成例的电路图,表示关于存储胞阵列10内的1个区块BLK的详细电路构成。如图6所示,区块BLK例如包含4个串单元SU0~SU3。
各串单元SU包含分别与位线BL0~BLm(m为0以上的整数)建立关联的多个NAND串NS。各NAND串NS例如包含存储胞晶体管MT0~MT7以及选择晶体管ST1及ST2。
存储胞晶体管MT具备控制栅极及电荷储存层,非易失地存储数据。各NAND串NS中所含的存储胞晶体管MT0~MT7串联地连接于选择晶体管ST1的源极与选择晶体管ST2的漏极之间。同一区块BLK中所含的各NAND串NS的存储胞晶体管MT0的控制栅极(多个控制栅极)共通地连接于字线WL0。同样地,同一区块BLK中所含的多个NAND串NS的存储胞晶体管MT1~MT7的控制栅极分别共通地连接于字线WL1~WL7。此外,在以下说明中,将各个串单元SU内连接于共通的字线WL的多个存储胞晶体管MT设为胞单元(CU)。而且,将胞单元所存储的1位数据的集合称为“页”。由此,在将2位数据存储于1个存储胞晶体管MT内的情况下,胞单元存储2页量的数据。
选择晶体管ST1及ST2用于选择各种动作时的串单元SU。与同一列地址对应的NAND串NS中所含的选择晶体管ST1的漏极共通地连接于对应的位线BL。串单元SU0中所含的多个选择晶体管ST1的栅极共通地连接于选择栅极线SGD0。同样地,串单元SU1~SU3中所含的多个选择晶体管ST1的栅极分别共通地连接于选择栅极线SGD1~SGD3。在同一区块BLK中,多个选择晶体管ST2的源极共通地连接于一个源极线SL,多个选择晶体管ST2的栅极共通地连接于一个选择栅极线SGS。
在以上所说明的存储胞阵列10的电路构成中,字线WL0~WL7设置于每个区块BLK。位线BL0~BLm在多个区块BLK间共有。源极线SL在多个区块BLK间共有。此外,以上所说明的各区块BLK所包含的串单元SU的个数、与各NAND串NS所包含的存储胞晶体管MT以及选择晶体管ST1及ST2的个数仅为一例,也可设计为任意个数。字线WL以及选择栅极线SGD及SGS的根数,根据存储胞晶体管MT以及选择晶体管ST1及ST2的个数而变更。
由存储胞阵列10的多个存储胞晶体管MT的阈值电压所形成的阈值电压分布例如成为图7所示。图7表示1个存储胞晶体管MT存储2位数据的情况下的存储胞晶体管MT的阈值电压分布及读出电压,纵轴与存储胞晶体管MT的个数对应,横轴与存储胞晶体管MT的阈值电压Vth对应。如图7所示,多个存储胞晶体管MT基于所存储的数据的位数而形成多个阈值电压分布。以下,作为写入方式的一例,对使1个存储胞晶体管MT存储2位数据的MLC(Multi-Level Cell,多层胞)方式进行说明。
如图7所示,在MLC方式的情况下,多个存储胞晶体管MT形成4个阈值电压分布。将该4个阈值电压分布从阈值电压较低者起依序称为“Er”状态、“A”状态、“B”状态、“C”状态。在MLC方式中,例如对“Er”状态、“A”状态、“B”状态、及“C”状态分别分配“11(大写/小写)”数据、“10”数据、“00”数据、及“01”数据。
而且,在以上所说明的阈值电压分布中,在相邻的阈值电压分布之间分别设定读出电压。例如,读出电压AR被设定于“Er”状态下的最高阈值电压与“A”状态下的最低阈值电压之间,在对存储胞晶体管MT的阈值电压是包含于“Er”状态的阈值电压分布中还是包含于“A”状态以上的阈值电压分布中进行判断的动作中使用。当对存储胞晶体管MT施加读出电压AR时,与“Er”状态对应的存储胞晶体管成为导通状态,与“A”状态、“B”状态、及“C”状态对应的存储胞晶体管成为断开状态。其它读出电压也同样设定。读出电压BR被设定于“A”状态的阈值电压分布与“B”状态的阈值电压分布之间,读出电压CR被设定于“B”状态的阈值电压分布与“C”状态的阈值电压分布之间。将读出通过电压VREAD设定为比阈值电压最高的阈值电压分布中的最高阈值电压更高的电压。也就是说,读出通过电压VREAD施加至栅极的存储胞晶体管MT不论所存储的数据如何均导通。
此外,存储于以上所说明的1个存储胞晶体管MT中的数据的位数、与针对存储胞晶体管MT的阈值电压分布的数据的分配仅为一例。另外,其它各种数据的分配也可应用于阈值电压分布。另外,各读出电压及读出通过电压可通过各方式设定为相同的电压值,也可设定为不同的电压值。
此外,以上所说明的存储胞阵列10的构成也可为其它构成。关于其它存储胞阵列10的构成,例如记载于被称为“三维积层非易失性半导体存储器”的2009年3月19日提出申请的美国专利申请案12/407,403号、称为“三维积层非易失性半导体存储器”的2009年3月18日提出申请的美国专利申请案12/406,524号、称为“非易失性半导体存储装置及其制造方法”的2010年3月25日提出申请的美国专利申请案12/679,991号、称为“半导体存储器及其制造方法”的2009年3月23日提出申请的美国专利申请案12/532,030号中。这些专利申请案的全部内容以参考的形式引用于本案说明书中。
<1-1-3-2-4>感测放大器模块12及数据寄存器/位计数器13
接下来,使用图8对感测放大器模块12及数据寄存器/位计数器13的构成进行说明。
如图8所示,感测放大器模块12包含与各位线BL0~BLm对应设置的感测放大器SA(0)~SA(m)。
感测放大器SA在读出动作时,对读出到所对应的位线BL的数据进行感测,判断数据是“0”数据还是“1”数据。另外,在写入动作时,根据写入数据WD而对位线BL施加电压。
数据寄存器/位计数器13具备数据寄存器13A、及位计数器13B。
数据寄存器13A针对每个感测放大器SA具备锁存电路组130。
锁存电路组130包含多个锁存电路DL(0)~(X)(X:为任意自然数)、锁存电路XDL、及运算电路OP。感测放大器SA、锁存电路DL(0)~(X)、及锁存电路XDL以能够彼此接收发送数据的方式连接。
锁存电路DL例如暂时地保存数据。锁存电路XDL暂时地保存从感测放大器SA接收到的读出数据RD及从输入输出电路15接收到的写入数据WD。更具体来说,输入输出电路15接收到的写入数据WD经由锁存电路XDL传输到锁存电路DL、或感测放大器SA中的任一者。另外,从感测放大器SA接收到的读出数据RD经由锁存电路XDL传输到输入输出电路15。
运算电路OP根据锁存电路DL(0)~(X)、及锁存电路XDL中所存储的数据进行运算(例如积运算)。
位计数器13B接收从锁存电路组130输出的积运算结果,进行和运算。
<1-1-3-2-5>感测放大器
以上所说明的各感测放大器SA的详细电路构成例如成为如图9所示。图9表示关于感测放大器模块12内的1个感测放大器SA的详细电路构成的一例。
感测放大器SA例如在读出动作中,对读出于所对应的位线BL的数据进行感测,判断所读出的数据是“0”还是“1”。如图9所示,感测放大器SA包含PMOS(P-channelMetal-Oxide-Semiconductor,P通道金属氧化物半导体)晶体管30、NMOS(N-channelMetal-Oxide-Semiconductor,N通道金属氧化物半导体)晶体管31~37、及电容器38。
晶体管30的一端连接于电源线,晶体管30的栅极连接于节点INV。晶体管31的一端连接于晶体管30的另一端,晶体管31的另一端连接于节点COM,晶体管31的栅极被输入控制信号BLX。晶体管32的一端连接于节点COM,晶体管32的另一端连接于对应的位线BL,对晶体管32的栅极输入控制信号BLC。晶体管33的一端连接于节点COM,晶体管33的另一端连接于节点SRC,晶体管33的栅极连接于节点INV。晶体管34的一端连接于晶体管30的另一端,晶体管34的另一端连接于节点SEN,对晶体管34的栅极输入控制信号HLL。晶体管35的一端连接于节点SEN,晶体管35的另一端连接于节点COM,对晶体管35的栅极输入控制信号XXL。对晶体管36的一端输入时脉CLK,晶体管36的栅极连接于节点SEN。晶体管37的一端连接于晶体管36的另一端,晶体管37的另一端连接于总线LBUS,对晶体管37的栅极输入控制信号STB。电容器38的一端连接于节点SEN,对电容器38的另一端输入时脉CLK。
另外,在图9中,表示锁存电路DL的一例。
如图9所示,锁存电路DL具备反相器40及41、以及NMOS晶体管42及43。
反相器40的输入端子连接于节点LAT,输出端子连接于节点INV。反相器41的输入端子连接于节点INV,输出端子连接于节点LAT。晶体管42的一端连接于节点INV,另一端连接于总线LBUS,对栅极输入控制信号STI。晶体管43的一端连接于节点LAT,另一端连接于总线LBUS,对栅极输入控制信号STL。其它锁存电路DL的电路构成也相同,所以省略说明。
此外,实施方式中的数据寄存器/位计数器13的构成并不限于此。例如,数据寄存器/位计数器13所具备的锁存电路DL的个数可设计为任意个数。在该情况下,锁存电路的个数例如根据1个存储胞晶体管MT所保存的数据的位数来设计。另外,在以上说明中,列举了感测放大器SA及位线BL以1对1方式对应的情况,但并不限于此。例如,多个位线BL也可经由选择器连接于1个感测放大器SA。
<1-2>动作
<1-2-1>动作流程
使用图10对识别阶段中的存储系统400的动作流程进行说明。此处,对以下情况进行说明:在存储系统400被输入了识别对象数据时,NAND型闪速存储器100使用存储胞阵列10中所存储的神经网络对识别对象数据进行识别。
[S1001]
存储控制器200当从外部接收到识别对象数据时,对NAND型闪速存储器100的输入输出电路15发行包含所接收到的识别对象数据的积和运算指令集。该积和运算指令集是用来使NAND型闪速存储器100作为上述隐藏层52发挥功能的指令集。积和运算指令集的具体例将于后文叙述。
[S1002]
输入输出电路15在接收到积和运算指令集时,将积和运算指令集中的指令供给到定序器17。定序器17通过接收指令,而在NAND型闪速存储器100中进行积和运算。
[S1003]
输入输出电路15在接收到积和运算指令集时,将积和运算指令集中的识别对象数据(输入数据)供给到数据寄存器13A。
[S1004]
数据寄存器13A将接收到的输入数据存储于锁存电路DL中。
[S1005]
定序器17根据积和运算指令集,使感测放大器SA从存储胞阵列10读出权重系数(以下为权重数据)。
[S1006]
感测放大器SA将从存储胞阵列10读出的权重数据供给到数据寄存器13A。权重数据与神经网络的权重系数对应,且在对处理数据进行积和运算时使用。
[S1007]
数据寄存器13A将接收到的权重数据存储于锁存电路DL中。此时,存储权重数据的锁存电路DL与存储有输入数据的锁存电路DL不同。
[S1008]
数据寄存器13A对所存储的输入数据、及权重数据进行积运算。然后,数据寄存器13A将积运算的结果存储于锁存电路DL中。
[S1009]
数据寄存器13A将积运算的结果供给到位计数器13B。
[S1010]
位计数器13B通过数字运算、或模拟运算来进行基于积运算结果的和运算。这样,通过数据寄存器13A进行输入数据及权重数据的积运算,且通过位计数器13B进行积运算结果的和运算,由此可进行上文所述的积和运算。
[S1011]
位计数器13B将积和运算的结果供给到输入输出电路15。
[S1012]
然后,输入输出电路15将积和运算的结果供给到存储控制器200。
此外,此处为了简单,对仅进行一次积和运算的情况进行了说明,但并不限于此。例如,于在隐藏层52设置多级处理用节点时,NAND型闪速存储器100也可根据级数重复进行步骤S1005~S1010。
<1-2-2>指令集、及波形图
接下来,使用图11对识别阶段中的存储系统400的动作中的指令集、及波形图进行说明。
如图11所示,存储控制器200在NAND型闪速存储器100为“就绪状态(R/Bn信号为H电平)”时,对输入输出电路15发行积和运算指令集(S1001)。所谓积和运算指令集,包含用来使NAND型闪速存储器100执行积和运算的第1指令(XAH)、用来指定存储有权重数据的存储胞的地址(ADD)、用于积和运算的输入数据(DATA)、及用来使NAND型闪速存储器100执行积和运算的第2指令(XBH)。
然后,NAND型闪速存储器100当依序接收到第1指令(XAH)、地址(ADD)、输入数据(DATA)、及第2指令(XBH)时,开始积和运算,从“就绪状态(R/Bn信号为H电平)”成为“忙碌状态(R/Bn信号为L电平)”。
自此开始,对步骤S1005中的选择字线WL、控制信号INV、BLC、BLX、HLL、XXL、STB、选择位线BL、及源极线SL进行说明。
在时刻T1,定序器17使控制信号INV的电位成为L电平,将控制信号BLC的电位从Vss升压到Vblc,将控制信号BLX的电位从Vss升压到Vblc。由此,感测放大器SA的晶体管30、31、及32成为导通状态,位线BL的电位从Vss升压到VBL(参考图9)。另外,定序器17将源极线SL的电位从Vss升压到VSL。
在时刻T2,定序器17将选择字线WL的电位从Vss升压到AR。由此,在连接选择字线WL的选择存储胞导通的情况下,位线BL的电位降低,在选择存储胞不导通的情况下,维持位线BL的电位。进而,定序器17将控制信号HLL的电位从L电平升压到H电平。由此,晶体管34成为导通状态,感测放大器SA的节点SEN被充电(参考图9)。
在时刻T3,定序器17将控制信号HLL的电位从H电平降压到L电平,将控制信号XXL的电位从L电平升压到H电平。由此,晶体管35成为导通状态,位线BL与节点SEN经由晶体管35、及32电性连接。由此,节点SEN的电位成为基于位线BL电位的电位(参考图9)。
在时刻T4,定序器17将控制信号XXL的电位维持为H电平,并且将控制信号STB的电位从L电平升压到H电平。由此,晶体管37成为导通状态,将基于晶体管36的栅极电极的电位的信息传输到总线LBUS(参考图9)。然后,总线LBUS的电位被作为与电压AR相关的结果存储于锁存电路DL中。
具体来说,在选择存储胞导通时,位线BL的电位下降,其结果节点SEN的电位也下降。由此,晶体管36成为断开状态,维持总线LBUS的电位。相对于此,在选择存储胞断开时,维持位线BL的电位,其结果也维持节点SEN的电位。由此,晶体管36成为导通状态,总线LBUS连接于CLK,电位被降压。
如上所述,时刻T2~时刻T5的动作是用来读出“A状态”的动作(A状态读取)。
继而,在时刻T5~时刻T6,定序器17将选择字线WL的电位从AR升压到BR,且进行与上文所述的时刻T2~时刻T5相同的动作,由此进行用来读出“B状态”的动作(B状态读取)。
继而,在时刻T6~时刻T7,定序器17将选择字线WL的电位从BR升压到CR,且进行与上文所述的时刻T2~时刻T5相同的动作,由此进行用来读出“C状态”的动作(C状态读取)。
如上所述,通过进行时刻T1~时刻T7的动作,可将权重数据读出于锁存电路DL。
然后,定序器17使用锁存电路组130进行积运算,使用位计数器13B进行和运算。其结果为,定序器17将位计数器13B的运算结果作为积和运算结果(DATA)输出到存储控制器200中(S1012)。
此外,将信号DQ的接收发送统称记载为指令序列。
<1-2-3>比较例
此处,对本实施方式中的指令序列、与读取动作及写入动作的指令序列的不同进行说明。首先,使用图12对读取动作进行说明。如图12所示,关于读取动作,首先,存储控制器200对NAND型闪速存储器100发行读取指令集,由此从NAND型闪速存储器100的存储胞阵列10向数据寄存器/位计数器13读出数据。然后,存储控制器200通过对NAND型闪速存储器100发行数据输出指令集,可接收读出到数据寄存器/位计数器13的数据。
继而,使用图13对写入动作进行说明。如图13所示,关于写入动作,存储控制器200对NAND型闪速存储器100发行写入指令集(包含写入数据),由此可将写入数据写入到NAND型闪速存储器100的存储胞阵列10中。
这样,在读取动作中,存储控制器200发行将读取指令集发行后(成为忙碌状态后)的数据输出指令集,由此将数据作为信号DQ输出。另外,在写入动作中,存储控制器200发行包含写入数据的写入指令集,由此可将写入数据写入到存储胞阵列10中。
<1-3>效果
在本实施方式中,存储控制器200通过发行包含识别对象数据及权重数据的地址的积和运算指令集,可从NAND型闪速存储器100接收基于识别对象数据及权重数据的积和运算结果。
近年来,NAND型闪速存储器的1页的大小变大为几KB。由此,NAND型闪速存储器具备大容量的数据寄存器,由此表现优异的Sequential Write/Read(顺序写入/读取)性能。但是,并没有将这种技术优势应用于AI技术的具体报告。例如,如果能够将存储技术应用于AI中特征性的运算方法或运算法则,则有可能开拓新的技术领域,从而能够为人们的生活或社会做出贡献。
由此,在本实施方式中,因为存储控制器200仅通过对1页的大小较大的NAND型闪速存储器发行积和运算指令集,就能够进行积和运算,所以能够容易地实现高速的AI功能。由此,仅通过使用NAND型闪速存储器,就能够容易地获得高品质的AI功能。
<1-4>具体例
继而,对识别对象数据输入到NAND型闪速存储器中的情况下的第1实施方式的具体例进行说明。尤其表示识别对象数据、权重数据、以及运算结果的流程。
如图3所示。在着眼于一个识别对象数据的情况下(例如X1),一个数据用于与隐藏层52中的并联排列的节点的数量对应的运算。例如,在图3的示例的情况下,数据X1用于数据Y1、Y2、Y3。也就是说,数据X1与权重W11、W21、及W31中的各者进行积运算。在上文所述的NAND型闪速存储器中,在一个锁存电路组130进行一个积运算。在图3的示例的情况下,进行3次关于数据X1的积运算,所以使用3个锁存电路组130。具体来说,如图14所示,将各识别对象数据(X1~X4)分别分配到3个锁存电路组130。此外,如上所述,识别对象数据根据对一个识别对象数据进行积运算的次数而变化。在本例的情况下,数据X1~X4分别需要3个。也就是说,输入到数据寄存器13A的识别对象数据需要为X1、X1、X1、X2、X2、X2、X3、X3、X3。该识别对象数据可由存储控制器200产生,也可由定序器17产生,也可由其它构成产生。然后,从存储胞阵列10向锁存电路读出用来与各识别对象数据进行积运算的权重数据。然后,在锁存电路组130中,进行所读出的权重数据、与识别对象数据的积运算,并将积运算结果存储于数据锁存中。另外,与积和运算结果相加的偏差(常数项)B1~B3也作为权重数据被存储于锁存电路中。
然后,在位计数器13B中,从各锁存电路组130读出积运算结果,进行和运算,而算出积和运算结果。位计数器13B产生隐藏层的数据Y,且产生输出数据。
此处,使用图15对锁存电路组130的具体使用方法进行说明。在图15中,对权重数据、及识别对象数据分别为4值(多值)的情况进行说明。
如图15所示,锁存电路组130为了判断4值数据,而需要AR的读出结果、BR的读出结果、及CR的读出结果。在图15中,例如在数据锁存器DL(A)中存储AR的读出结果(“A”旗标),例如在数据锁存器DL(B)中存储BR的读出结果(“B”旗标),例如在数据锁存器DL(C)中存储CR的读出结果(“C”旗标)。锁存电路组130能够根据DL(A)、DL(B)、及DL(C)中所存储的数据而决定权重数据。此外,在权重数据为4值以外的情况下,也可使用视需要的数据锁存器DL。
4值的识别对象数据例如存储于2个数据锁存器DL(D)、DL(E)中。此外,在识别对象数据为4值以外的情况下,也可使用视需要的数据锁存器DL。
积运算结果例如存储于数据锁存电路DL(F)中。但是,积运算结果也可进而使用其它数据锁存器DL。
而且,和运算在位计数器13B中进行,可将积和运算结果存储于未图示的存储区域中。
<2>第2实施方式
继而,对第2实施方式进行说明。在第1实施方式中,经由位线判定数据,但是在第2实施方式中,对经由源极线判定数据的情况进行说明。对于与第1实施方式相同的部分省略说明。
<2-1>识别装置的具体构成
<2-1-1>NAND型闪速存储器
此处,作为用来实现识别装置5的具体硬件构成,列举存储系统400进行说明。
如图16所示,存储系统400中所含的NAND型闪速存储器100进而具备源极线控制电路23。源极线控制电路23控制源极线SL的电位。
<2-1-2>电压产生电路及源极线控制电路
使用图17对电压产生电路22及源极线控制电路23进行说明。
在图17中,示出了电压产生电路22的一部分。电压产生电路22具备恒电流源50、NMOS晶体管51、52、54及55、以及电阻元件53。在图17所示的电压产生电路22中,示出了产生感测放大器SA的信号BLC的电路、及对源极线进行充电的电路。
具体来说,恒电流源50产生电流Iref1,作为信号BLC进行供给。NMOS晶体管51的一端及栅极电极连接于恒电流源50的输出端。
NMOS晶体管52的一端被输入信号Vint,栅极电极被输入信号Initialize,另一端连接于NMOS晶体管51的另一端。
电阻元件53的一端连接于NMOS晶体管51及52的另一端。
NMOS晶体管54的一端连接于电阻元件53的另一端,栅极电极被输入信号SWtoSRC,另一端连接于源极线SL。
NMOS晶体管55的一端连接于电阻元件53的另一端,栅极电极被输入信号SWtoVSS,另一端连接于基准电位VSS。
源极线控制电路23具备电压比较部23-1、及检测电路23-2。源极线控制电路23能够对全胞电流(Icell_total)进行监控并转换成数字值。也就是说,图17的电路是利用模拟电路来判定胞源极电流值(流经源极线的电流的值)的电路的一例。在图17中,与积和运算结果对应的电流值Icell_total通过电流镜电路反射,与由调整器所提供的电流值(参考值)进行比较。
电压比较部23-1将源极线SL的电位与基准电位VREF_SRC进行比较,并且对源极线SL提供电位。如图所示,电压比较部23-1具备PMOS晶体管60、比较器61、及NMOS晶体管62。
PMOS晶体管60的栅极被输入预充电信号PRECH,一端被从外部提供电压VCC,另一端连接于源极线SL。信号PRECH在数据的读出动作时的位线的预充电时被设为“L”电平,由此使PMOS晶体管60成为导通状态。其结果为,源极线SL的电位上升。
比较器61的正转输入端子(+)连接于源极线SL,反转输入端子(-)被输入电压VREF_SRC。也就是说,比较器61将源极线SL的电位与电压VREF_SRC进行比较,在源极线SL的电位超出电压VREF_SRC时输出“H”电平。电压VREF_SRC设为与关于阈值电压最低的“0”数据的读出电平V01的绝对值相同、或大于该绝对值的值。
NMOS晶体管62的漏极连接于源极线SL,源极接地,比较器61的比较结果提供至栅极。以下,将NMOS晶体管62的栅极、也就是比较器61的输出节点称为节点G_Source。另外,以下将NMOS晶体管62的栅极宽度W称为栅极宽度Wsource1。
检测电路23-2具备PMOS晶体管70、71、74及75、比较器72、以及NMOS晶体管73、76、77、80、81-1、81-2、82-1、82-2、84-1及84-2。
PMOS晶体管70的源极连接于电源电位VDD,栅极及漏极连接。将PMOS晶体管70的栅极及漏极连接的节点称为P_GATE。例如将PMOS晶体管70所供给的电流记载为Iref2。
PMOS晶体管71的源极连接于电源电位VDD,栅极连接于节点P_GATE。例如将PMOS晶体管71所供给的电流记载为Iref3。
PMOS晶体管70及PMOS晶体管71构成电流镜。由此,电流Iref2与电流Iref3为比例关系。
比较器72的正转输入端子(+)连接于PMOS晶体管70的漏极,反转输入端子(-)连接有PMOS晶体管71的漏极。也就是说,比较器72将PMOS晶体管70的漏极的电位VA与PMOS晶体管71的漏极的电位VB进行比较,在电位VA超出电位VB时输出“H”电平。
NMOS晶体管73的漏极连接于节点P_GATE,源极接地,比较器61的比较结果提供至栅极。另外,以下将NMOS晶体管73的栅极宽度W称为栅极宽度Wsource2。
PMOS晶体管74的源极连接于电源电位VDD,栅极及漏极彼此连接。
PMOS晶体管75的源极连接于电源电位VDD,栅极连接于PMOS晶体管74的栅极及漏极,漏极连接于节点N_Gate。
PMOS晶体管74及75构成电流镜。
NMOS晶体管76的漏极及栅极连接于节点N_GATE,源极接地。
NMOS晶体管77的漏极连接于PMOS晶体管71的漏极,栅极连接于节点N_GATE,源极接地。
NMOS晶体管76及77构成电流镜。
NMOS晶体管80的漏极及栅极被供给参考电流Iref,源极接地。
NMOS晶体管81-1的漏极连接于PMOS晶体管74的栅极及漏极,栅极被供给参考电流Iref。
NMOS晶体管81-2的漏极连接于NMOS晶体管81-1的源极,栅极被供给信号1bai,源极接地。
NMOS晶体管82-1具备并联的2个NMOS晶体管(特性与NMOS晶体管81-1相同的晶体管),各个漏极连接于PMOS晶体管74的栅极及漏极,栅极被供给参考电流Iref。
NMOS晶体管82-2具备并联的2个NMOS晶体管(特性与NMOS晶体管81-2相同的晶体管),各个漏极连接于NMOS晶体管82-1的源极,栅极被供给信号2bai,源极接地。
NMOS晶体管84-1具备并联的4个NMOS晶体管(特性与NMOS晶体管81-1相同的晶体管),各个漏极连接于PMOS晶体管74的栅极及漏极,栅极被供给参考电流Iref。
NMOS晶体管84-2具备并联的4个NMOS晶体管(特性与NMOS晶体管81-2相同的晶体管),各个漏极连接于NMOS晶体管82-1的源极,栅极被供给信号4bai,源极接地。
定序器17通过适当地使信号1bai、2bai、4bai成为“H”电平,而控制流经PMOS晶体管74及75的电流值。由此,定序器17能够控制流经NMOS晶体管76及77的电流值,其结果为能够任意地控制电位VB。
<2-2>动作
如上所述,源极线控制电路23通过电流镜电路对与积和运算结果对应的电流值Icell_total进行反射,与由调整器所提供的电流值(参考值)进行比较。此处,为了提高运算精度,重要的是抑制胞电流Icell的不均。
例如,如图18及图19所示,即使使用读出电压AR及读出电压BR进行读出动作,例如施加有电压BR时的电流Icell不均达20nA~100nA的情况也不稀奇。
由此,在第2实施方式中,通过使读出电压阶段性地变化并进行大小判定,而最终检测出胞源极电流的绝对值。参考图20对该情况进行说明。
图20及图21是用来对第2实施方式中的读出动作的一例进行说明的图。在第2实施方式中,例如像将对选择字线(Selected WL)施加的读出电压AR设为A0R、A1R、…这样,例如将1个状态分割成N个阶段(N stage)。如图21所示,最先使用读出电压A0R进行读出,对流经源极线SL的电流进行监控而锁定电流所流经的位线BL。接下来进行使用读出电压A1R的读出,对流经源极线的电流进行监控而锁定电流所流经的位线BL。使用其它分割的读出电压重复进行相同的动作。此外,定序器17在每次施加读出电压时,通过启动信号STB,能够将读出结果存储于锁存电路中。
如图22所示,在所述过程中的任一读出动作中,均能够使判定为1的Icell与20nA[毫微安培]左右一致。由此,能够提高积和运算的精度。
<2-3>效果
如上所述,在第2实施方式中,从读出动作时的流经源极线的电流侦测积和运算结果。也就是说,根据输入数据对选择位线BL进行预充电,将在AR导通的位线BL锁定。接下来,通过施加读出电压AR、BR、CR,分别对流经源极线的电流进行监控,从其电流值获得积和运算结果。
此时,通过阶段性地细分各状态下的读取电压,而使因胞电流的不均引起的对精度的不良影响降低到可忽略的程度。通过上述方式,能够以足够的精度从读出动作时的流经源极线的电流侦测积和运算结果。
特别在第2实施方式中,能够在存储胞阵列内一次性执行和运算,所以能够有助于芯片尺寸的缩小等。
在既有的半导体存储装置中,在读出时选择所有位线。也就是说,没有根据输入数据的逻辑电平来选择位线的概念。由此,说到底无法达到执行积和运算的想法。
相对于此,在第2实施方式中,可通过以下方式实现积和运算结果,即,根据输入数据的逻辑电平选择位线,进而使阈值电压阶段性地上升,锁定已导通的位线,在该重复过程中侦测流经源极线的电流。
根据上述内容,通过第2实施方式,也可提供一种具备运算功能的半导体存储装置。
<3>其它
此外,本发明并不限于所述第1及第2实施方式。例如在第1实施方式中,在获得积和运算的结果之前获得积运算的结果,所以也可将积运算的结果取出到NAND型闪速存储器100的外部。此外,能够取出到NAND型闪速存储器100的外部的信息可为积和运算的结果,也可为将该结果代入到激活函数中所得的推断结果。
在图10中,NAND型闪速存储器100将积和运算结果供给到存储控制器200中(步骤S1012)。但是,NAND型闪速存储器100也可将推断结果(识别得分)供给到存储控制器200。该推断结果表示所输入的数据集(输入数据)、与已和输入数据建立关联的标签的符合程度。例如,NAND型闪速存储器100在所输入的数据为照片的情况下,判断所输入的数据是何种照片(例如人、车、树等)。将该推断的结果记载为推断结果(识别得分)。
此处,使用图23及图24对图10的变化例进行说明。
[S1001]~[S1010]
因为与图10中所说明的动作相同,所以省略说明。
[S1013]
位计数器13B当结束积和运算时,对定序器17通知该结束意旨。
[S1014]
使用图24对步骤S1013的后续进行说明。
定序器17当接收到积和运算已结束的意旨时,判定是否已将运算进行到最终层。更具体来说,定序器17对隐藏层52中所含的多个处理节点中最后进行的处理节点的处理是否已结束进行判定。
[S1015]
定序器17在判定最后进行的处理节点的处理未结束时,将最新的积和运算结果作为输入数据进行积和运算。
具体来说,定序器17将数据寄存器13A中所存储的最新的积和运算结果输入到激活函数中进行运算,使数据寄存器13A存储激活函数的运算结果作为向下一层的输入数据。此外,在为最终层的情况下,通过本步骤获得推断结果。
[S1016]
数据寄存器13A存储激活函数的运算结果作为向下一层的输入数据。然后,NAND型闪速存储器100重复步骤S1005。
这样,定序器17在判定最后进行的处理节点的处理未结束的情况下,重复步骤S1015、S1016、S1005~S1010、S1013、及S1014。
[S1017]
定序器17在判定最后进行的处理节点的处理已结束的情况下,使数据寄存器13A中所存储的运算结果作为推断结果从NAND型闪速存储器100输出。
[S1018]
数据寄存器13A依据定序器17的命令,将推断结果供给到输入输出电路15中。
[S1019]
然后,输入输出电路15将推断结果供给到存储控制器200中。由此,NAND型闪速存储器100也可将推断结果(识别得分)供给到存储控制器200中。
已对本发明的若干实施方式进行说明,但这些实施方式是作为示例提出的,并未意图限定发明范围。这些新的实施方式能够以其它各种方式实施,可在不脱离发明的主旨的范围内进行各种省略、更换、变更。这些实施方式或其变化包含于发明的范围或主旨内,并且包含于权利要求书中所记载的发明及其均等的范围内。
[符号的说明]
1 识别系统
2 输入输出接口
3 控制部
4 存储器
5 识别装置
10 存储胞阵列
11 行解码器
12 感测放大器模块
13 数据寄存器/位计数器
13A 数据寄存器
13B 位计数器
14 列解码器
15 输入输出电路
16 逻辑控制电路
17 定序器
18 状态寄存器
19 地址寄存器
20 指令寄存器
21 就绪/忙碌电路
22 电压产生电路
23 源极线控制电路
23-1 电压比较部
23-2 检测电路
100 NAND型闪速存储器
130 锁存电路组
200 存储控制器
210 主机接口电路
220 内置存储器
230 处理器
240 缓冲存储器
250 NAND接口电路
260 错误校正电路
400 存储系统

Claims (13)

1.一种存储系统,具备:
存储控制器,构成为发送包含算术运算目标数据和指定存储胞存储权重数据的地址的指令集;及
非易失性半导体存储器,连接到所述存储控制器,
其中所述非易失性半导体存储器包含:
输入输出电路,构成为从所述存储控制器接收所述指令集;
所述存储胞,构成为存储所述权重数据;
感测放大器,构成为当接收到所述指令集时,基于所述地址,从所述存储胞读出所述权重数据;
电压产生器,构成为基于所述指令集,将电压施加到所述存储胞和所述感测放大器;
第1锁存电路,构成为存储所述算术运算目标数据;及
第2锁存电路,构成为存储从所述存储胞读出的所述权重数据,且
其中所述输入输出电路向所述存储控制器发送使用所述第1锁存电路和所述第2锁存电路的算术运算结果数据。
2.根据权利要求1所述的存储系统,其中
所述非易失性半导体存储器还包含列解码器,所述列解码器根据所述地址来选择所述第2锁存电路。
3.根据权利要求1所述的存储系统,其中
所述非易失性半导体存储器还包含存储胞阵列,所述存储胞阵列具备多个存储胞,且构成为当输入所述算术运算目标数据时,通过存储在所述存储胞阵列中的神经网络来识别所述算术运算目标数据。
4.根据权利要求1所述的存储系统,其中所述算术运算结果数据表示所述算术运算目标数据与已和所述算术运算目标数据建立关联的标签之间的符合程度。
5.根据权利要求1所述的存储系统,其中所述非易失性半导体存储器为NAND型闪速存储器。
6.根据权利要求1所述的存储系统,其中所述存储控制器包含构成为从外部设备接收所述算术运算目标数据的第1接口电路和构成为将所述指令集传输到所述非易失性半导体存储器的第2接口电路。
7.一种存储控制器,构成为:
将包含算术运算目标数据和指定存储胞存储权重数据的地址的指令集发送到非易失性半导体存储器;
使所述非易失性半导体存储器使用所述算术运算目标数据和所述权重数据进行算术运算;且
从所述非易失性半导体存储器接收算术运算结果数据。
8.根据权利要求7所述的存储控制器,具备:
第1接口电路,构成为从外部设备接收算术运算目标数据,及
第2接口电路,构成为将所述算术运算目标数据发送到所述非易失性半导体存储器。
9.一种非易失性半导体存储器,具备:
输入输出电路,构成为从存储控制器接收指令集,所述指令集包含算术运算目标数据和指定存储胞存储权重数据的地址;
所述存储胞,构成为存储所述权重数据;
感测放大器,构成为当接收到所述指令集时,基于所述地址从所述存储胞读出所述权重数据;
电压产生器,构成为基于所述指令集将电压施加到所述存储胞和所述感测放大器;
第1锁存电路,构成为存储所述算术运算目标数据;及
第2锁存电路,构成为存储从所述存储胞读出的所述权重数据,
其中所述输入输出电路向所述存储控制器发送使用所述第1锁存电路和所述第2锁存电路的算术运算结果数据。
10.根据权利要求9所述的非易失性半导体存储器,还具备:
列解码器,构成为基于所述地址选择所述第2锁存电路。
11.根据权利要求9所述的非易失性半导体存储器,还具备:
存储胞阵列,包含多个存储胞,
其中当输入所述算术运算目标数据时,通过存储在所述存储胞阵列中的神经网络来识别所述算术运算目标数据。
12.根据权利要求9所述的非易失性半导体存储器,其中所述算术运算结果数据表示所述算术运算目标数据与已和所述算术运算目标数据建立关联的标签之间的符合程度。
13.根据权利要求9所述的非易失性半导体存储器,其中所述非易失性半导体存储器为NAND型闪速存储器。
CN202010013639.9A 2019-06-19 2020-01-07 存储系统、存储控制器及半导体存储装置 Active CN112115078B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019113565A JP2020205003A (ja) 2019-06-19 2019-06-19 メモリシステム、メモリコントローラ、及び半導体記憶装置
JP2019-113565 2019-06-19

Publications (2)

Publication Number Publication Date
CN112115078A CN112115078A (zh) 2020-12-22
CN112115078B true CN112115078B (zh) 2024-04-05

Family

ID=73798736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010013639.9A Active CN112115078B (zh) 2019-06-19 2020-01-07 存储系统、存储控制器及半导体存储装置

Country Status (4)

Country Link
US (3) US11169742B2 (zh)
JP (1) JP2020205003A (zh)
CN (1) CN112115078B (zh)
TW (2) TWI768277B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022144449A (ja) * 2021-03-19 2022-10-03 キオクシア株式会社 メモリシステム、メモリシステムの制御方法及びホストデバイス
CN115188404A (zh) * 2021-04-07 2022-10-14 华为技术有限公司 存储装置和处理数据的方法
JP2022170342A (ja) 2021-04-28 2022-11-10 キオクシア株式会社 半導体記憶装置
JP7104843B1 (ja) * 2021-08-31 2022-07-21 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
JP2023141561A (ja) * 2022-03-24 2023-10-05 キオクシア株式会社 半導体記憶装置
US20230317124A1 (en) * 2022-04-05 2023-10-05 Taiwan Semiconductor Manufacturing Company, Ltd. Memory system and operating method of memory system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
CN106575517A (zh) * 2014-09-22 2017-04-19 英特尔公司 用于基于存储器数据确定比较信息的装置、系统和方法
WO2018189620A1 (ja) * 2017-04-14 2018-10-18 株式会社半導体エネルギー研究所 ニューラルネットワーク回路

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6781895B1 (en) * 1991-12-19 2004-08-24 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device and memory system using the same
JP5142692B2 (ja) 2007-12-11 2013-02-13 株式会社東芝 不揮発性半導体記憶装置
JP4635066B2 (ja) 2008-03-19 2011-02-16 株式会社東芝 半導体記憶装置
JP2009238874A (ja) 2008-03-26 2009-10-15 Toshiba Corp 半導体メモリ及びその製造方法
JP5283960B2 (ja) 2008-04-23 2013-09-04 株式会社東芝 三次元積層不揮発性半導体メモリ
JP2009266944A (ja) 2008-04-23 2009-11-12 Toshiba Corp 三次元積層不揮発性半導体メモリ
US20150269480A1 (en) * 2014-03-21 2015-09-24 Qualcomm Incorporated Implementing a neural-network processor
US10489680B2 (en) * 2016-10-04 2019-11-26 Magic Leap, Inc. Efficient data layouts for convolutional neural networks
US10896367B2 (en) * 2017-03-07 2021-01-19 Google Llc Depth concatenation using a matrix computation unit
US11475274B2 (en) * 2017-04-21 2022-10-18 International Business Machines Corporation Parameter criticality-aware resilience
US11783160B2 (en) * 2018-01-30 2023-10-10 Intel Corporation Memoryless weight storage hardware for neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
CN106575517A (zh) * 2014-09-22 2017-04-19 英特尔公司 用于基于存储器数据确定比较信息的装置、系统和方法
WO2018189620A1 (ja) * 2017-04-14 2018-10-18 株式会社半導体エネルギー研究所 ニューラルネットワーク回路

Also Published As

Publication number Publication date
US11789656B2 (en) 2023-10-17
JP2020205003A (ja) 2020-12-24
CN112115078A (zh) 2020-12-22
TW202234407A (zh) 2022-09-01
TWI768277B (zh) 2022-06-21
US20200401347A1 (en) 2020-12-24
US20220027094A1 (en) 2022-01-27
US20230409241A1 (en) 2023-12-21
US11169742B2 (en) 2021-11-09
TW202101203A (zh) 2021-01-01

Similar Documents

Publication Publication Date Title
CN112115078B (zh) 存储系统、存储控制器及半导体存储装置
US10629259B2 (en) Non-volatile memory device and on-chip valley search (OCVS) read method thereof
KR102599123B1 (ko) 인공 신경망 모델에 기초하여 읽기 레벨들을 추론하는 스토리지 장치 및 인공 신경망 모델의 학습 방법
US10910080B2 (en) Nonvolatile memory device configured to adjust a read parameter based on degradation level
CN110299174B (zh) 半导体存储装置
JPH1027486A (ja) 不揮発性半導体記憶装置および書込み方法
US11720268B2 (en) Managing a mode to access a memory component or a logic component for machine learning computation in a memory sub-system
US11915766B2 (en) Automatic program voltage selection network
CN115938445A (zh) 半导体存储器设备和操作该半导体存储器设备的方法
JP2022050898A (ja) メモリシステムおよびメモリシステムの制御方法
CN111326196B (zh) 半导体存储装置
JP4364207B2 (ja) 不揮発性半導体記憶装置
US20240177786A1 (en) Page buffer, memory device including page buffer and memory system including memory device
JP4302118B2 (ja) 不揮発性半導体記憶装置
US20240185932A1 (en) Memory device and method of operating the same
JP4302117B2 (ja) 不揮発性半導体記憶装置
JP3905936B2 (ja) 不揮発性半導体記憶装置
KR20220104514A (ko) 페이지 버퍼, 이를 포함하는 반도체 메모리 장치 및 이의 동작 방법
JP2024046271A (ja) 半導体記憶装置
CN118800305A (zh) 半导体装置及其运算方法
JP2006228426A (ja) 不揮発性半導体記憶装置
JP2006196181A (ja) 不揮発性半導体記憶装置

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