CN110866596B - 半导体集成电路 - Google Patents

半导体集成电路 Download PDF

Info

Publication number
CN110866596B
CN110866596B CN201811531462.0A CN201811531462A CN110866596B CN 110866596 B CN110866596 B CN 110866596B CN 201811531462 A CN201811531462 A CN 201811531462A CN 110866596 B CN110866596 B CN 110866596B
Authority
CN
China
Prior art keywords
memory cell
data
output
cell array
semiconductor integrated
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
CN201811531462.0A
Other languages
English (en)
Other versions
CN110866596A (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 CN110866596A publication Critical patent/CN110866596A/zh
Application granted granted Critical
Publication of CN110866596B publication Critical patent/CN110866596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B63/00Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
    • H10B63/80Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
    • H10B63/84Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays arranged in a direction perpendicular to the substrate, e.g. 3D cell arrays
    • 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
    • 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
    • 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
    • G06N3/065Analogue 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/10Decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/72Array wherein the access device being a diode
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1036Read-write modes for single port memories, i.e. having either a random port or a serial port using data shift registers

Landscapes

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

Abstract

本发明的实施方式提供一种能够以节省存储器的方式安装神经网络的半导体集成电路。实施方式的半导体集成电路具备:交叉点型的存储单元阵列(11);输入部(12),连接于向存储单元阵列(11)的输入;以及输出部(14),连接于自存储单元阵列(11)的输出。存储单元阵列具备:多条字线(WL);多条位线(BL),与多条字线交叉;以及多个电阻变化型的存储单元(MC),分别形成在字线(WL)与位线(BL)的交叉点。输入部(12)具备:存取控制部,按时间序列控制以矩阵表示的数据的向存储单元(MC)的存取;以及驱动器,对连接于数据的存取地的存储单元(MC)的字线(WL)施加与该数据的值对应的电压。输出部(14)具备多个保持电路,保持位线(BL)的输出电平的在时间序列中的代表值。

Description

半导体集成电路
[相关申请案]
本申请案享有以日本专利申请案2018-159344号(申请日:2018年8月28日)作为基础申请案的优先权。本申请案通过参考该基础申请案而包含基础申请案的全部内容。
技术领域
实施方式涉及一种半导体集成电路。
背景技术
当前正盛行关于AI(artificial intelligence,人工智能)芯片的技术开发。AI芯片是基于AI技术的具有运算处理功能的半导体集成电路。例如也已知安装着神经网络的芯片。
深度神经网络(Deep Neural Network:DNN)之一的卷积神经网络(ConvolutionalNeural Network:CNN)尤其在图像识别处理的领域发挥优异的性能。CNN具备卷积层(Convolution layer)与池化层(Pooling layer)。
卷积层例如通过使用由正方矩阵赋予的滤波器(核心)进行的卷积运算而抽取前一层的数据的特征。例如,如果将包含N行×M列的矩阵的图像数据以3×3的滤波器卷积,那么可算出(N-2)行×(M-2)列的特征矢量(张量)。
池化层直接而言是为了缩小前一层的数据大小而设置。例如可通过将卷积层的输出以2×2的区域加以区分,并取区域内的代表值而削减数据量。将区域内的最大值传递给下一层称为最大池化(Max Pooling)。原理上也能够抽取区域内的平均值、或最小值作为代表值。
为了将神经网络安装在半导体芯片,例如会消耗用以存储CNN的滤波器的大量的存储器空间。而且,也需要用以暂时储存卷积运算的结果、或池化运算的结果的缓冲存储器,存储器空间进一步受到压榨。如果卷积层或池化层的数量增加,那么事态将变得越发严重。
发明内容
本发明的实施方式提供一种能够以节省存储器的方式安装神经网络的半导体集成电路。
实施方式的半导体集成电路具备:交叉点型的存储单元阵列;输入部,连接于向所述存储单元阵列的输入;以及输出部,连接于自所述存储单元阵列的输出。所述存储单元阵列具备:多条字线;多条位线,与所述多条字线交叉;以及多个电阻变化型的存储单元,分别形成在所述字线与所述位线的交叉点。所述输入部具备:存取控制部,按时间序列控制以矩阵表示的数据的向所述存储单元的存取;以及驱动器,对连接于所述数据的存取地的存储单元的字线施加与该数据的值对应的电压。所述输出部具备多个保持电路,保持所述位线的输出电平的在时间序列中的代表值。
附图说明
图1是表示卷积神经网络的一例的概念图。
图2是表示实施方式的识别系统1的一例的方块图。
图3是表示图2所示的识别器4的一例的概念图。
图4是表示实施方式的半导体集成电路的一例的方块图。
图5是表示图4所示的输入部12及输出部14的一例的方块图。
图6是表示存储单元阵列11的等效电路的一例的图。
图7是存储单元阵列11的立体图。
图8是表示神经网络的积和运算的概念图。
图9是用以说明交叉点型存储单元阵列的积和运算的图。
图10是表示实施方式中假定的输入数据的一例的图。
图11是表示实施方式中假定的CNN的滤波器的一例的图。
图12是表示储存卷积运算的结果的序列的一例的图。
图13是表示滤波器的应用区域、与序列要素A、E、I、M的关系的图。
图14是表示滤波器的应用区域、与序列要素B、F、J、N的关系的图。
图15是表示滤波器的应用区域、与序列要素C、G、K、O的关系的图。
图16是表示滤波器的应用区域、与序列要素D、H、L、P的关系的图。
图17是用以说明最大池化的图。
图18是用以说明实施方式的作用的图。
图19是用以说明实施方式的作用的时序图。
图20是为了进行比较而示出在既有的神经网络中消耗的存储区域的图。
图21是表示作为选择器的二极管Di的电压-电流特性的一例的曲线图。
图22是表示存储单元阵列的另一例的立体图。
具体实施方式
以下,参考附图对实施方式进行说明。以下所示的若干实施方式例示出用以将技术思想具体化的装置及方法,并非是由构成零件的形状、构造、配置等特定技术思想。各功能区块可作为硬件及软件的任一者或将两者组合而成者实现。各功能区块无需如以下例般区别。例如,一部分功能可由与例示的功能区块不同的功能区块执行。进而,例示的功能区块也可分割成更细的功能子区块。此外,在以下的说明中,对于具有相同的功能及构成的要素标注相同的符号,仅在必要的情况下进行重复说明。
[一实施方式]
[1]概要
[1-1]关于CNN的说明
图1是表示CNN的一例的概念图。图1所示的CNN是在输入层(Input Layer)与输出层(Output Layer)之间依次配置第1卷积层、第1池化层、第2卷积层、第2池化层、第3卷积层、第3池化层、局部连接层(Locally-connected layer)、全连接层(Fully-connectedlayer)1、以及全连接层2而构成。
将从输入层赋予的数据传递给第1卷积层,基于预先准备的滤波器实施卷积运算后,于紧随其后的第1池化层进行压缩。将以该(卷积→池化)作为1单元的处理重复执行3次之后,经过局部连接层、全连接层1、2,从输出层将输入数据的特征量输出。
各个卷积层的滤波器的参数(权重、偏压)例如作为在云计算系统(云端)中制成的学习完毕模型而存储在半导体集成电路中。
[1-2]关于CNN的应用例的说明
CNN例如可作为用以识别被捕捉为图像数据的对象的识别器来使用。将识别器、与用以使识别器学习的基础件等组合而构建识别系统。该实施方式中,列举从图像数据识别数字0~9的任一者的识别系统的例进行说明。
图2是表示实施方式的识别系统1的一例的方块图。识别系统1具备传感器2、学习装置3、识别器4、以及应用程序部5。
传感器2例如是影像传感器,输出彩色或灰度的图像数据。该图像数据被作为输入数据赋予给学习装置3及识别器4。输入数据由(n+1)个像素构成,各像素的值以Ak表示。
此外,在说明CNN的上下文中,也有将输入数据称为特征图的情况。输入数据可以是图像数据,也可以是从神经网络的前一层传递的数据。输入数据(特征图)可由M×N尺寸的矩阵表现。矩阵的各要素是运算对象的数据的值。数据的值可储存在将矩阵一维展开而得的M×N尺寸的序列中。
学习装置3从多个输入数据学习其特征,且产生识别器4的在CNN中的权重系数。学习装置3例如于被输入有传感数字“5”而获得的图像数据时,作为识别结果产生输出“5”的权重系数。学习装置3例如可作为云端的服务器电脑、或云端的服务等而实现。
识别器4从学习装置3取得CNN的权重系数。识别器4将输入数据应用于设置了权重系数的CNN,识别图像中所描绘的数字是什么。应用程序部5利用识别结果进行各种处理。此外,权重系数可由学习装置3反复产生。可通过每次更新识别器4的权重系数而使识别的精度提升。
图3是表示图2所示的识别器4的一例的概念图。识别器4例如也可通过1个或多个半导体集成电路而安装。识别器4具备输入层6、1个或多个隐蔽层7、以及输出层8。图3表示识别器4包含2层的隐蔽层7a、7b的例。该情况下,隐蔽层7a也可称为初级的隐蔽层。隐蔽层7b可称为继前一级的隐蔽层7a之后的隐蔽层,也可称为最终级的隐蔽层。
输入层6具有(n+1)个节点I0~In。例如,将输入数据的第k个像素值Ak设定在节点Ik。
隐蔽层7a具有(p+1)个节点P10~P1p。p为1以上的任意整数。节点P10~P1p的动作相同,故以下以节点P1k为代表进行说明。从输入层6的节点I0~In对节点P1k输入(n+1)个像素值A0~An。然后,节点P1k利用像素值A0~An、与和所述像素值的各者对应的权重系数Fk0~Fkn进行卷积运算,且将结果Bk传递给下一层。权重系数Fk0~Fkn从学习装置3取得。
隐蔽层7b具有(q+1)个节点P20~P2q。q为1以上的任意整数。节点P20~P2q的动作相同,故以下以节点P2k为代表进行说明。从前一级的隐蔽层7a的节点P10~P1p对节点P2k输入(p+1)个数字值B0~Bp。然后,节点P2k利用数字值B0~Bp、与和所述数字值的各者对应的权重系数Gk0~Gkp进行池化运算,且将结果Ck传递给下一层。权重系数Gk0~Gkp从学习装置3取得。
输出层8具有(r+1)个节点P30~P3r,对隐蔽层7b的输出再次进行运算处理而获得输出。以此方式依次传输多层的运算结果直至到达局部连接层(图1)为止。
[2]构成
[2-1]半导体集成电路的构成
图4是表示该实施方式的半导体集成电路的一例的方块图。半导体集成电路10具备交叉点型的存储单元阵列11、输入部12、输出部14、输入输出电路(I/O电路)16、地址寄存器17、控制器(CONT)18、以及电压产生电路19。
存储单元阵列11具备在行方向延伸的多条字线WL、以及在与行方向交叉(例如正交)的列方向延伸的多条位线BL。在字线WL与位线BL立体交叉的位置(交叉点),以将字线WL与位线BL连接的方式形成存储单元MC。各存储单元MC包含作为存储元件的ReRAM(Resistive Random Access Memory,电阻式随机存取存储器)元件。关于存储单元MC的具体的构成将在以下叙述。
输入部12在向存储单元阵列11的输入中,连接于多条字线WL。输入部12例如具备驱动字线WL的驱动器。输入部12将从地址寄存器17取得的行地址解码,并根据解码信号(行选择信号)而选择字线WL。关于输入部12的具体的构成将在以下叙述。
输出部14在自存储单元阵列11的输出中,连接于多条位线BL。输出部14具备读出电路(传感放大器)等,从各位线BL取出输出信号(Data),并发送至输入输出电路16。关于输出部14的具体的构成将在以下叙述。
输入输出电路16经由输入输出端子I/O而连接于外部装置。输入输出电路16与外部装置之间进行数据的交接。输入输出电路16与输出部14之间的数据的交接是经由双向数据总线20而进行。
控制器18控制半导体集成电路10的动作。控制器18例如从外部装置(主机控制器等)接收芯片使能信号/CE、地址锁存使能信号ALE、指令锁存使能信号CLE、写入使能信号/WE、以及读出使能信号/RE等外部控制信。修饰信号名的“/”表示低电平有效。
控制器18根据这些外部控制信号而识别从输入输出端子I/O供给的地址ADD与指令CMD。然后,控制器18将地址ADD经由地址寄存器17而发送至输入部12及输出部14。另外,控制器18将指令CMD进行解码。控制器18根据外部控制信号及指令而进行与数据的读出及数据的写入、以及数据的删除的各者相关的一系列控制。
电压产生电路19产生各动作所必要的内部电压(例如,包含从电源电压升压而得的电压)。电压产生电路19由控制器18控制,产生必要的电压。
[2-2]输入部12及输出部14的构成
图5是表示图4所示的输入部12及输出部14的一例的方块图。输入部12具备存取控制部121、及驱动器122。
存取控制部121根据时钟信号以时间序列控制输入数据向存储单元MC的存取。也就是说,存取控制部121将表示输入数据的矩阵要素的值、与存储单元MC的对应根据时钟信号以时分进行切换。
驱动器122对连接于成为各个输入数据的存取地的存储单元MC的字线WL施加与该数据的值对应的电压。也就是说,驱动器122对与和矩阵要素的值建立对应的存储单元MC相连的字线WL施加与该值对应的电压。
图5中,例如将由0~n的(n+1)个列表示的输入数据以一维序列展开,并输入至输入部12的存取控制部121。存取控制部121具备作为移位电路的移位寄存器12a、作为选择电路的MUX(Multiplexer,多路转换器)12b、及根据时钟信号对这些加以控制的控制电路12c。
移位寄存器12a暂时存储输入数据。然后,使输入数据按从控制电路12c赋予的移位量及移位方向移位,并储存在MUX12b。MUX12b将已移位的输入数据连接于驱动器122。
MUX12b将经利用移位寄存器12a移位的数据选择性地连接于驱动器122。通过设置MUX12b而可以较少的时钟数获得数据的移位量。数据移位的时钟数也可较多,也可省略MUX12b。
此处,控制电路12c根据应安装在存储单元阵列11的CNN中使用的滤波器的尺寸及步长、以及表示输入数据的矩阵的尺寸而按时间序列控制移位寄存器12a的移位量及移位方向。如业者既已所知,将应用滤波器的位置的间隔称为步长。另外,将M行N列的矩阵的尺寸以(M×N)表示。在考虑数据的填充的情况下,矩阵的尺寸比M行N列的尺寸大,例如成为(M+2)×(N+2)。
如果通过驱动器对若干条字线WL施加电压,那么与交叉点的存储单元MC的电阻值对应的电流会流过与所述字线交叉的位线。该电流的输出电平的代表值由输出部14的保持电路保持。
保持电路例如是将转换电路141与峰值固持(PH)电路142串联连接而成,且形成在位线BL的各自的输出级。转换电路141将流经所连接的位线BL的电流转换成电压。峰值固持(PH)电路142保持转换电路141的输出电压的峰值,并作为输出数据而保持。此外,也可针对每一条位线BL设置将所保持的峰值与基准电压加以比较并加以二值化而输出的比较电路。
[2-3]存储单元阵列11的构成
图6是表示存储单元阵列11的等效电路的一例的图。在存储单元阵列11中,在字线WL与位线BL的交叉点的各者形成存储单元MC。各存储单元MC是所谓的二端子的电阻变化型存储器,且是将可变电阻元件VR与双极性二极管Di串联连接而成。
电阻变化型存储器能够存储模拟信息。各存储单元MC将与CNN的滤波器的权重对应的电阻值存储在可变电阻元件VR。更详细而言,电阻值的倒数相当于实施方式的滤波器的权重。
二极管Di是为了抑制在向存储单元MC的写入动作时的朝周边单元的潜行电流而设置。这种元件被称为选择器而为人所周知。在交叉点构造中,在向选择存储单元的写入时,担忧也对非选择存储单元施加逆向偏压。因此,通过将选择器串联连接于存储媒体(可变电阻元件)而抑制由逆向偏压引起的潜行电流。此外,在实施方式中例示双极性二极管Di作为选择器,但并不限于此。可将根据二端子间的电压高于阈值抑或低于阈值而实质上接通或断开的各种元件用作选择器。例如,使用利用有双向效应的开关(例如,OvonicThreshold Switch,双向阈值开关)作为选择器也可获得相同的效果。
图7是存储单元阵列11的立体图。图7中,将多条位线(BL[BL1、BL2、…])相互平行地配置。以与这些位线BL正交的方式将多条字线(WL[WL1、WL2、…])相互平行地配置。而且,在BL与WL的交叉点的各者形成存储元件30。
图8是表示神经网络的积和运算的概念图。如果对具有各个值X1~Xn的输入数据例如以权重W12~Wn2进行积和运算(卷积:convolution),那么可获得输出数据Y2
图9是用以说明交叉点型存储单元阵列的积和运算的图。例如,如果将字线WL以各个电压值V1~Vn驱动,那么在每一交叉点产生与存储单元MC的电阻值的倒数成比例的电流。在各交叉点产生的电流是电阻值的倒数与电压值的积,从位线BL取出其总和。将表示电流值的式与图8的式加以比较,为完全相同的状态。也就是说,如果使用将权重的倒数作为电阻值而存储在存储单元的存储单元阵列,那么通过数据的多重选择与电流累加而可安装信号的积和运算。如此使用交叉点构造的存储单元阵列后,可以自然的形态将CNN安装在硬件电路。接下来,对所述构成的作用进行说明。
[3]作用
图10是表示实施方式中假定的输入数据的一例的图。为了简单地陈述,假定以6行×6列的正方矩阵表示的图像数据,当然并不限定于该尺寸,且并不限定于正方矩阵。矩阵的各要素的值例如表示图像数据的亮度。
图11是表示实施方式中假定的CNN的滤波器的一例的图。通过使用多个滤波器而可抽取多个特征量。在图11中表示使用6种(6通道)滤波器,当然并不限于此数量。将表示滤波器的矩阵要素以(a、b、c、d、e、f、g、h、i)表示。
图12是表示储存卷积运算的结果的序列的一例的图。例如,如果将图10的数据赋予给CNN的输入层(图1),那么将第1卷积层的积和运算的结果储存在图12的各序列要素A~P中。如果将6×6尺寸的矩阵以3×3尺寸的滤波器进行卷积,那么在未考虑填充的情况下,可获得4×4尺寸的输出。
图13~图16是表示滤波器的相对于输入数据的应用区域、与图12的各序列要素A~P的关系的图。序列要素A中储存表示滤波器的矩阵要素(a、b、c、d、e、f、g、h、i)的值、与输入数据矩阵的左上部分(阴影部位)(0、6、12、1、7、13、2、8、14)的积和运算的结果。以下同样地,将各图的阴影部位与序列要素B~P建立关联。
图13~图16的例中,表示以步长1进行3×3的卷积运算的处理顺序。可知积和运算的数据随着在CNN运算的过程中使滤波器的应用部位移动而具有周期性。
图17是用以说明最大池化的图。将16个序列要素A~P例如区分为2×2的区域,且取各区域的最大值,由此获得2×2的矩阵(α、β、γ、δ)。例如α是A、B、E、F中的最大值。图17表示以步长2进行2×2的最大池化的例。
图18是用以说明实施方式的作用的图。也参考图19的时序图而说明实施方式的作用。该实施方式中,采取在『对以(6×6)尺寸的矩阵表示的输入数据以(3×3)的滤波器进行步长1的卷积运算,且在2×2的区域进行步长2的最大池化』的条件下进行计算的CNN作为一例。
如图18所示,在所述的条件下,存储单元阵列具有36×4的矩阵构造。也就是说,消耗36条字线(WL0~WL35)、与4条位线(BL0~BL3)。将I、j设为指数,以(WLi、BLj)表示字线WLi与位线BLj的交点的存储单元。
将表示滤波器的矩阵要素a、b、c、d、e、f、g、h、i的值周期性地存储在各存储单元。例如将矩阵要素a的值存储在存储单元(WL0、BL0)、(WL12、BL1)、(WL2、BL2)、以及(WL14、BL3)。其他矩阵要素b、c、d、e、f、g、h、i的值也同样地分别存储在4个存储单元。
将一维展开的数据的序列输入至存储着权重的存储单元阵列11。在与地址A1(图19)对应的最初的步骤(1)中,对存储单元(WL0、BL0)分配数据0,且沿着字线的指数i增加的方向依次分配数据1~数据35。
对应于此,驱动器122对各字线施加与数据值对应的电压。此时,与电阻值对应的电流流经储存矩阵要素a、b、c、d、e、f、g、h、i的值的存储单元。然后,将电流的累加结果作为积和运算的结果从各位线BL输出。此外,在未存储权重的存储单元(与空白的矩阵对应:在电阻值最大(绝缘状态))时也流动微小的电流,但其值较小,为可忽略的程度。由此,未存储权重的存储单元对运算结果造成的影响可忽略。
步骤(1)中获得与图12的A、I、C、K对应的结果,如图19,转换电路141的输出由峰值固持(PH)电路142保持。
与图19的时钟信号(CLK)同步赋予下一个地址A2,在步骤(2)中,通过移位寄存器12a使数据上移1位。此处的移位量根据滤波器的尺寸及步长、以及数据矩阵的尺寸而设定。
所谓上方向,也就是说在图18中表示从对存储单元(WL0、BL0)分配了数据0的状态以分配数据1之方式移位。通过如此使移位寄存器12a发挥作用,而在位线BL0实现使滤波器滑动至图14的用以获得[B]的阴影区域的状态。也就是说,将数据(1、2、3)、(7、8、9)、(13、14、15)分别分配给滤波器的矩阵要素(a、d、g)、(b、e、h)、(c、f、j)。对应于此,由驱动器122对各字线施加电压,且将所产生的电流的累加的结果从各位线BL输出。
在各条位线BL1、BL2、BL3上也同时形成用以获得[J]、[D]、[L]的状态。由此,在步骤(2)中获得与图12的B、J、D、L对应的结果。在图19中,即使转换电路141的输出例如降低,也可将峰值固持(PH)电路142的输出以(1)的状态保持。
进而,如果赋予有下一个地址A3,那么在步骤(3)中,由移位寄存器12a使数据上移5位。此处的移位量根据滤波器的尺寸及步长、以及数据矩阵的尺寸而设定。如果仅为移位寄存器12a那么要消耗5个时钟,但通过将MUX12b组合则可使数据序列以5分之一的量、1个时钟移位。
由此,在位线BL0实现使滤波器滑动至图13的用以获得[E]的的阴影区域的状态。也就是说,将数据(6、7、8)、(12、13、14)、(18、19、20)分别分配给滤波器的矩阵要素(a、d、g)、(b、e、h)、(c、f、j)。对应于此,由驱动器122对各字线施加电压,且将所产生的电流的累加的结果从各位线BL输出。
在各条位线BL1、BL2、BL3上也同时形成用以获得[M]、[G]、[O]的状态。由此,在步骤(3)中获得与图12的E、M、G、O对应的结果。在图19中,如果转换电路141的输出增加,那么峰值固持(PH)电路142的输出也增加。
如果赋予有下一个地址A4,那么在步骤(4)中,由移位寄存器12a使数据上移1位。此处的移位量也根据滤波器的尺寸及步长、以及数据矩阵的尺寸而设定。
由此,在位线BL0实现使滤波器滑动至图14的用以获得[F]的阴影区域的状态。也就是说,将数据(7、8、9)、(13、14、15)、(19、20、21)分别分配给滤波器的矩阵要素(a、d、g)、(b、e、h)、(c、f、j)。对应于此,由驱动器122对各字线施加电压,且将所产生的电流的累加的结果从各位线BL输出。
在各条位线BL1、BL2、BL3上也同时形成用以获得[N]、[H]、[P]的状态。由此,在步骤(4)中获得与图12的F、N、H、P对应的结果。在图19中,即使转换电路141的输出降低,也可将峰值固持(PH)电路142的输出保持(3)的状态。
[4]效果
实施方式的半导体集成电路具备:存储单元阵列,具有多个存储单元;MUX及移位寄存器,控制向存储单元阵列的信号连接;转换电路,对存储单元阵列的输出进行处理;以及峰值固持电路,保持输出的最大值。而且,将CNN的权重存储在各个存储单元,由MUX与移位寄存器控制向存储单元的存取而进行卷积运算,且由峰值固持电路检测存储单元阵列的输出的最大值而进行最大池化的处理。
在实施方式中,将『对由(6×6)尺寸的矩阵所表示的输入数据以(3×3)的滤波器进行步长1的卷积运算,并在2×2的区域进行步长2的最大池化』的CNN安装在半导体集成电路。即,将滤波器的权重作为电阻值的倒数存储在36×4的矩阵构造的存储单元阵列中。另外,对字线施加与数据对应的电压,从位线取出在存储单元产生的电流的和,转换成电压且保持其最大值。进而,利用移位寄存器12a将一维展开的数据移位,由此可进行与使滤波器滑动相同的运算。进而,通过由峰值固持(PH)电路142保持峰值而可获得表示与最大池化相同的结果的电压值。
图20是为了比较而表示既有的半导体集成电路的模式图。既有的电路不具备使数据序列移位的移位寄存器、及控制其移位量及移位方向的控制电路12c,由此也没有设置峰值固持电路的动机。因此,需要选择用于最大池化处理的位线的输出的最大值。另外,需要另准备用以进行CNN用及最大池化用的处理的存储器空间,从而会消耗相应的存储器空间。
本来对应于卷积运算后的结果成为4×4尺寸的矩阵而需要16条位线。因此与图18相比消耗4倍的存储区域。在使用大容量的数据及大尺寸的滤波器的实际的CNN中,存储器的消耗量进一步膨大。进而,如果滤波器的通道数增加,那么存储器的消耗量会根据通道的数量而进一步倍增。
相对于此,实施方式中,通过使输入至存储单元阵列的数据以时间序列进行移位而可明显地削减存储器容量。另外,按时间序列获得积和运算的结果作为电流的累加值,因此仅通过转换成电压且保持最大值便可安装最大池化,从而可进一步简化电路。
因此,根据该实施方式,可提供一种能够以节省存储器的方式安装神经网络的半导体集成电路。另外,可节约存储器空间,因此可期待成本削减。进而,与节约存储器空间对应地,可将资源分配给其他的运算,从而也可促进高速化。
[5]变化例
[5-1]关于存储单元的驱动电压的变化例
图21是表示作为选择器的二极管Di(图6)的电压-电流特性的一例的曲线图。横轴为电压,纵轴为电流(对数)。图中,VSW表示选择器成为接通的电压,在通常的存储单元阵列中,在VSW以上的电压区域驱动存储单元。
然而,该变化例优选在VSW以下的电压区域驱动存储单元。接下来说明其理由。
也就是说,在变化例中,将在各存储单元产生的电流的累加值作为积和运算的结果而取出,因此尤其为了抑制输出侧的能量负载,优选将各个存储单元的电流值抑制得尽可能低。存储单元的数量越增加,该倾向越高。根据此种理由,在变化例中,在相当于选择器的断开区域的VSW以下的电压区域驱动存储单元。
此外,预测因降低电压而难以保持精度。然而在应用CNN的领域,要求较高精度的应用程序并不太多。例如在图像处理或图像识别等领域,此种倾向较强。由于此种缘故,在选择器的断开区域驱动存储单元,在自选择器的输出成为小电流的区域使用的优点较大。
[5-2]关于存储单元的驱动电压的变化例
图22是表示存储单元阵列的另一例的立体图,表示具备1层位线(BL[BL1、BL2、…])、与从上下夹入该位线的2层字线(WL[WL1、WL2、…]、(WL′[WL′1、WL′2、…]))的构造的存储单元阵列。考虑使2层字线中的一层对应于符号(+),且使另一层字线对应于符号(-)的应用。由此,可简易地处理具有正负值的数据。
此外,在所述各实施方式中,应用图1所示的构成作为CNN。然而,CNN并不限定于图1所示的构成,也可应用全连接型的多层神经网络。另外,层的总数、卷积层的数量、池化层的数量等也可根据系统要件而自由地设计。
另外,在所述各实施方式中,作为半导体存储装置,列举使用电阻变化型存储元件的ReRAM为例进行说明。然而,所述各实施方式并非限定于此,也能够应用在与ReRAM相同的电阻变化型的存储器,例如MRAM(Magnetic Random Access Memory,磁性随机存取存储器)、PCRAM(Phase-Change Random Access Memory,相位变化随机存取存储器)等。
此外,存储单元阵列的构成也并非限于图示的情况,对于具有相对于字线垂直地配置的位线(所谓垂直位线)的构成的存储单元阵列也能够应用所述各实施方式。
以上,对本发明的实施方式进行了说明,但本发明并非限定于所述实施方式,可在不脱离其主旨的范围内进行各种变化而实施。进而,所述实施方式中包含各种阶段的发明,通过将所揭示的构成要件适当组合而可抽取各种发明。例如,即使从所揭示的构成要件中删除若干构成要件,只要可获得特定的效果,便可作为发明而抽取。
[符号的说明]
1识别系统
2传感器
3学习装置
4识别器
5应用程序部
6输入层
7隐蔽层
7a隐蔽层
7b隐蔽层
8输出层
10半导体集成电路
11存储单元阵列
12输入部
12a移位寄存器
12c控制电路
14输出部
16输入输出电路
17地址寄存器
18控制器
19电压产生电路
20双向数据总线
30存储元件
121存取控制部
122驱动器
141转换电路
142峰值固持(PH)电路
BL位线
WL字线

Claims (5)

1.一种半导体集成电路,具备:
交叉点型的存储单元阵列;
输入部,连接于向所述存储单元阵列的输入;以及
输出部,连接于自所述存储单元阵列的输出;且
所述存储单元阵列具备:
多条字线;
多条位线,与所述多条字线交叉;以及
多个电阻变化型的存储单元,分别形成在所述字线与所述位线的交叉点;且
所述输入部具备:
存取控制部,按时间序列控制以矩阵表示的数据向所述存储单元的存取;以及
驱动器,对连接于所述数据的存取地的存储单元的字线施加与该数据的值对应的电压;且
所述输出部具备,
多个保持电路,保持所述位线的输出电平的在时间序列中的代表值;且
所述存储单元周期性地存储与使用神经网络的卷积运算的滤波器的权重对应的电阻值;
所述存取控制部具备:
移位电路,使由将所述矩阵展开而得的一维序列表示的所述数据移位;
控制电路,根据所述滤波器的尺寸及步长、以及所述矩阵的尺寸而按时间序列控制所述移位电路的移位量与移位方向;以及
连接部,将经移位的所述数据连接于所述驱动器;且
所述连接部具备,
选择电路,选择性地将所述经移位的所述数据连接于所述驱动器。
2.根据权利要求1所述的半导体集成电路,其中
所述存储单元阵列进而具备:
选择器元件,分别设置在所述存储单元与所述位线或所述字线之间。
3.根据权利要求2所述的半导体集成电路,其中
所述驱动器对连接于所述数据的存取地的存储单元的字线施加与所述选择器元件的断开区域对应的电压。
4.一种半导体集成电路,具备:
交叉点型的存储单元阵列;
输入部,连接于向所述存储单元阵列的输入;以及
输出部,连接于自所述存储单元阵列的输出;且
所述存储单元阵列具备:
多条字线;
多条位线,与所述多条字线交叉;以及
多个电阻变化型的存储单元,分别形成在所述字线与所述位线的交叉点;且
所述输入部具备:
存取控制部,按时间序列控制以矩阵表示的数据向所述存储单元的存取;以及
驱动器,对连接于所述数据的存取地的存储单元的字线施加与该数据的值对应的电压;且
所述输出部具备,
多个保持电路,保持所述位线的输出电平的在时间序列中的代表值;且
所述保持电路具备:
多个转换电路,连接于所述位线的各者,且将流经所连接的位线的电流转换成电压;以及
多个峰值固持电路,保持所述电压的峰值。
5.根据权利要求4所述的半导体集成电路,其中
进而具备多个比较电路,将所述峰值固持电路的输出根据基准电压而二值化。
CN201811531462.0A 2018-08-28 2018-12-14 半导体集成电路 Active CN110866596B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018-159344 2018-08-28
JP2018159344A JP2020035502A (ja) 2018-08-28 2018-08-28 半導体集積回路

Publications (2)

Publication Number Publication Date
CN110866596A CN110866596A (zh) 2020-03-06
CN110866596B true CN110866596B (zh) 2024-01-30

Family

ID=69640117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811531462.0A Active CN110866596B (zh) 2018-08-28 2018-12-14 半导体集成电路

Country Status (4)

Country Link
US (1) US10734448B2 (zh)
JP (1) JP2020035502A (zh)
CN (1) CN110866596B (zh)
TW (1) TWI689936B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11823771B2 (en) * 2020-01-30 2023-11-21 Stmicroelectronics S.R.L. Streaming access memory device, system and method
US11562240B2 (en) 2020-05-27 2023-01-24 International Business Machines Corporation Efficient tile mapping for row-by-row convolutional neural network mapping for analog artificial intelligence network inference
CN111652363B (zh) * 2020-06-08 2023-09-19 中国科学院微电子研究所 存算一体电路
TWI761029B (zh) * 2021-01-13 2022-04-11 財團法人工業技術研究院 用於記憶體內運算的記憶體裝置及資料權重狀態判斷方法
JP2022127409A (ja) 2021-02-19 2022-08-31 富士通株式会社 計算機および計算方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN107341544A (zh) * 2017-06-30 2017-11-10 清华大学 一种基于可分割阵列的可重构加速器及其实现方法
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5014235A (en) * 1987-12-15 1991-05-07 Steven G. Morton Convolution memory
US5923585A (en) * 1997-01-10 1999-07-13 Invox Technology Source biasing in non-volatile memory having row-based sectors
US7088860B2 (en) * 2001-03-28 2006-08-08 Canon Kabushiki Kaisha Dynamically reconfigurable signal processing circuit, pattern recognition apparatus, and image processing apparatus
KR101734204B1 (ko) * 2010-06-01 2017-05-12 삼성전자주식회사 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법
US9123411B2 (en) * 2013-10-11 2015-09-01 Kabushiki Kaisha Toshiba Memory device, method of controlling memory device, and memory system
US9466362B2 (en) * 2014-08-12 2016-10-11 Arizona Board Of Regents On Behalf Of Arizona State University Resistive cross-point architecture for robust data representation with arbitrary precision
EP3204888A4 (en) 2014-10-09 2017-10-04 Microsoft Technology Licensing, LLC Spatial pyramid pooling networks for image processing
JP6097775B2 (ja) * 2015-02-16 2017-03-15 力晶科技股▲ふん▼有限公司 半導体記憶装置及び半導体集積回路装置
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
CN106548124B (zh) 2015-09-17 2021-09-07 松下知识产权经营株式会社 主题推定系统、主题推定方法
US20180018565A1 (en) * 2016-07-14 2018-01-18 Semiconductor Energy Laboratory Co., Ltd. Semiconductor device, display system, and electronic device
US11501131B2 (en) * 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
KR102578124B1 (ko) * 2016-12-16 2023-09-14 에스케이하이닉스 주식회사 신경망 장치의 정규화 장치 및 방법
JP2019028569A (ja) * 2017-07-26 2019-02-21 株式会社東芝 メモリシステム、半導体記憶装置及び信号処理システム
US11263522B2 (en) * 2017-09-08 2022-03-01 Analog Devices, Inc. Analog switched-capacitor neural network
US11386644B2 (en) * 2017-10-17 2022-07-12 Xilinx, Inc. Image preprocessing for generalized image processing
US11521046B2 (en) * 2017-11-08 2022-12-06 Samsung Electronics Co., Ltd. Time-delayed convolutions for neural network device and method
US10643705B2 (en) * 2018-07-24 2020-05-05 Sandisk Technologies Llc Configurable precision neural network with differential binary non-volatile memory cell structure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007783A1 (en) * 2016-07-07 2018-01-11 Arm Ltd An artificial neural network
CN106530210A (zh) * 2016-10-31 2017-03-22 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN107341544A (zh) * 2017-06-30 2017-11-10 清华大学 一种基于可分割阵列的可重构加速器及其实现方法

Also Published As

Publication number Publication date
US10734448B2 (en) 2020-08-04
TWI689936B (zh) 2020-04-01
US20200075677A1 (en) 2020-03-05
CN110866596A (zh) 2020-03-06
JP2020035502A (ja) 2020-03-05
TW202009929A (zh) 2020-03-01

Similar Documents

Publication Publication Date Title
CN110866596B (zh) 半导体集成电路
US11568200B2 (en) Accelerating sparse matrix multiplication in storage class memory-based convolutional neural network inference
JP5214566B2 (ja) 抵抗変化メモリ装置
JP7173709B2 (ja) ニューラルネットワーク回路
CN1507631B (zh) 用以在写入存储器阵列时偏压选择和未选择阵列线的方法与装置
US11354569B2 (en) Neural network computation circuit including semiconductor storage elements
US9269430B1 (en) Memory device having cross point array structure, memory system, and method of operating memory device
US10672472B2 (en) Memory controller and memory system for suppression of fluctuation of voltage drop
KR20210075542A (ko) 스위칭 소자와 저항 소자를 포함하는 3차원 뉴로모픽 장치
KR100850283B1 (ko) 3차원 적층구조를 가지는 저항성 반도체 메모리 장치 및그의 워드라인 디코딩 방법
CN110033797B (zh) 存储系统及存储方法
JP2012069217A (ja) 不揮発性半導体記憶装置
KR102397231B1 (ko) 기억 장치 및 제어 방법
US11527276B2 (en) Semiconductor storage device
US11182128B2 (en) Multiply-accumulate operation device, multiply-accumulate operation methods, and systems
US7154775B2 (en) Magnetic random access memory
KR20040111368A (ko) 불휘발성 반도체 기억장치
US20190056884A1 (en) Memory controller, storage device, information processing system, and memory control method
CN115836347A (zh) 一种存储器及数据迁移方法
JP7096070B2 (ja) 多数決処理装置、半導体記憶装置及び情報データの多数決方法
CN102446556B (zh) 一种存储器及使用该存储器的方法
US20240184464A1 (en) Method for operating memory device and memory device
JP2023153736A (ja) メモリシステム及びメモリシステムの操作方法
CN105702287A (zh) 基于多比特阻态阻变器件的rram阵列读写方法及系统
CN117413317A (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

Address after: Tokyo

Applicant after: Kaixia Co.,Ltd.

Address before: Tokyo

Applicant before: TOSHIBA MEMORY Corp.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant