TWI689936B - 半導體積體電路 - Google Patents

半導體積體電路 Download PDF

Info

Publication number
TWI689936B
TWI689936B TW107142500A TW107142500A TWI689936B TW I689936 B TWI689936 B TW I689936B TW 107142500 A TW107142500 A TW 107142500A TW 107142500 A TW107142500 A TW 107142500A TW I689936 B TWI689936 B TW I689936B
Authority
TW
Taiwan
Prior art keywords
memory cell
data
output
semiconductor integrated
integrated circuit
Prior art date
Application number
TW107142500A
Other languages
English (en)
Other versions
TW202009929A (zh
Inventor
和田政春
Original Assignee
日商東芝記憶體股份有限公司
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 日商東芝記憶體股份有限公司 filed Critical 日商東芝記憶體股份有限公司
Publication of TW202009929A publication Critical patent/TW202009929A/zh
Application granted granted Critical
Publication of TWI689936B publication Critical patent/TWI689936B/zh

Links

Images

Classifications

    • 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
    • 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
    • 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
    • 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)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (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)
  • Memory System (AREA)
  • Image Analysis (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

半導體積體電路
實施形態係關於一種半導體積體電路。
當前正盛列關於AI(artificial intelligence,人工智能)晶片之技術開發。AI晶片係基於AI技術之具有運算處理功能之半導體積體電路。例如亦已知安裝著神經網路之晶片。
深度神經網路(Deep Neural Network:DNN)之一之捲積神經網路(Convolutional Neural Network:CNN)尤其於圖像識別處理之領域發揮優異之性能。CNN具備捲積層(Convolution layer)與池化層(Pooling layer)。
捲積層例如藉由使用由正方矩陣賦予之濾波器(核心)進行之捲積運算而抽取前一層之資料之特徵。例如,若將包含N列×M行之矩陣之圖像資料以3×3之濾波器捲積,則可算出(N-2)列×(M-2)行之特徵矢量(張量)。
池化層直接而言係為了縮小前一層之資料大小而設置。例如可藉由將捲積層之輸出以2×2之區域加以區分,並取區域內之代表值而削減資料量。將區域內之最大值傳遞給下一層稱為最大池化(Max Pooling)。原理上亦能夠抽取區域內之平均值、或最小值作為代表值。
為了將神經網路安裝於半導體晶片,例如會消耗用以記憶CNN之濾波器之大量之記憶體空間。而且,亦需要用以暫時儲存捲積運算之結果、或池化運算之結果之緩衝記憶體,記憶體空間進一步受到壓榨。若捲積層或池化層之數量增加,則事態將變得越發嚴重。
本發明之實施形態提供一種能夠以節省記憶體之方式安裝神經網路之半導體積體電路。
實施形態之半導體積體電路具備:交叉點型之記憶胞陣列;輸入部,其連接於向上述記憶胞陣列之輸入;以及輸出部,其連接於自上述記憶胞陣列之輸出。上述記憶胞陣列具備:多條字元線;多條位元線,其等與上述多條字元線交叉;以及複數個電阻變化型之記憶胞,其等分別形成於上述字元線與上述位元線之交叉點。上述輸入部具備:存取控制部,其按時間序列控制以矩陣表示之資料之對於上述記憶胞之存取;以及驅動器,其對連接於上述資料之存取對象之記憶胞之字元線施加與該資料之值對應之電壓。上述輸出部具備複數個保持電路,該等複數個保持電路保持上述位元線之輸出位準之於時間序列中之代表值。
[相關申請案]
本申請案享有以日本專利申請案2018-159344號(申請日:2018年8月28日)作為基礎申請案之優先權。本申請案藉由參考該基礎申請案而包含基礎申請案之全部內容。
以下,參考附圖對實施形態進行說明。以下所示之若干實施形態例示出用以將技術思想具體化之裝置及方法,並非係由構成零件之形狀、構造、配置等特定技術思想。各功能區塊可作為硬體及軟體之任一者或將兩者組合而成者實現。各功能區塊無需如以下例般區別。例如,一部分功能可由與例示之功能區塊不同之功能區塊執行。進而,例示之功能區塊亦可分割成更細之功能子區塊。再者,於以下之說明中,對於具有相同之功能及構成之要素標註相同之符號,僅於必要之情形時進行重複說明。  [一實施形態]  [1]概要  [1-1]關於CNN之說明
圖1係表示CNN之一例之概念圖。圖1所示之CNN係於輸入層(Input Layer)與輸出層(Output Layer)之間依次配置第1捲積層、第1池化層、第2捲積層、第2池化層、第3捲積層、第3池化層、局部連接層(Locally-connected layer)、全連接層(Fully-connected layer)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與峰值固持電路142串聯連接而成,且形成於位元線BL之各自之輸出段。轉換電路141將流經所連接之位元線BL之電流轉換成電壓。峰值固持電路142保持轉換電路141之輸出電壓之峰值,並作為輸出資料而保持。再者,亦可針對每一條位元線BL設置將所保持之峰值與基準電壓加以比較並加以二值化而輸出之比較電路。  [2-3]記憶胞陣列11之構成
圖6係表示記憶胞陣列11之等效電路之一例之圖。於記憶胞陣列11中,於字元線WL與位元線BL之交叉點之各者形成記憶胞MC。各記憶胞MC係所謂之二端子之電阻變化型記憶體,且係將可變電阻元件VR與雙極性二極體Di串聯連接而成。
電阻變化型記憶體能夠記憶模擬信息。各記憶胞MC將與CNN之濾波器之權重對應之電阻值記憶於可變電阻元件VR。更詳細而言,電阻值之倒數相當於實施形態之濾波器之權重。
二極體Di係為了抑制於向記憶胞MC之寫入動作時之朝周邊單元之潛行電流而設置。這種元件被稱為選擇器而為人所周知。於交叉點構造中,於向選擇記憶胞之寫入時,擔憂亦對非選擇記憶胞施加逆向偏壓。因此,藉由將選擇器串聯連接於記憶媒體(可變電阻元件)而抑制由逆向偏壓引起之潛行電流。再者,於實施形態中例示雙極性二極體Di作為選擇器,但並不限於此。可將根據二端子間之電壓高於閾值或低於閾值而實質上接通或斷開之各種元件用作選擇器。例如,使用利用有雙向效應之開關(例如,Ovonic Threshold Switch,雙向閾值開關)作為選擇器亦可獲得相同之效果。
圖7係記憶胞陣列11之立體圖。圖7中,將多條位元線(BL[BL1、BL2、…])相互平行地配置。以與這些位元線BL正交之方式將多條字元線(WL[WL1、WL2、…])相互平行地配置。而且,於BL與WL之交叉點之各者形成記憶體元件30。
圖8係表示神經網路之積和運算之概念圖。若對具有各個值X 1~X n之輸入資料例如以權重W 12~W n2進行積和運算(捲積:convolution),則可獲得輸出資料Y 2
圖9係用以說明交叉點型記憶胞陣列之積和運算之圖。例如,若將字元線WL以各個電壓值V 1~V n驅動,則於每一交叉點產生與記憶胞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將一維展開之資料移位,由此可進行與使濾波器滑動相同之運算。進而,藉由由峰值固持電路142保持峰值而可獲得表示與最大池化相同之結果之電壓值。
圖20係為了比較而表示既有之半導體積體電路之模式圖。既有之電路不具備使資料序列移位之移位暫存器、及控制其移位量及移位方向之控制電路12c,由此亦沒有設置峰值固持電路之動機。因此,需要選擇用於最大池化處理之位元線之輸出之最大值。又,需要另準備用以進行CNN用及最大池化用之處理之記憶體空間,從而會消耗相應之記憶體空間。
本來對應於捲積運算後之結果成為4×4尺寸之矩陣而需要16條位元線。因此與圖18相比消耗4倍之記憶體區域。於使用大容量之資料及大尺寸之濾波器之實際之CNN中,記憶體之消耗量進一步膨大。進而,若濾波器之通道數增加,則記憶體之消耗量會根據通道之數量而進一步倍增。
相對於此,實施形態中,藉由使輸入至記憶胞陣列之資料以時間序列進行移位而可明顯地削減記憶體容量。又,按時間序列獲得積和運算之結果作為電流之累加值,因此僅藉由轉換成電壓且保持最大值便可安裝最大池化,從而可進一步簡化電路。
因此,根據該實施形態,可提供一種能夠以節省記憶體之方式安裝神經網路之半導體積體電路。又,可節約記憶體空間,因此可期待成本削減。進而,與節約記憶體空間對應地,可將資源分配給其他之運算,從而亦可促進高速化。  [5]變化例  [5-1]關於記憶胞之驅動電壓之變化例
圖21係表示作為選擇器之二極體Di(圖6)之電壓-電流特性之一例之曲線圖。橫軸為電壓,縱軸為電流(對數)。圖中,V SW表示選擇器成為接通之電壓,於通常之記憶胞陣列中,於V SW以上之電壓區域驅動記憶胞。
然而,該變化例較佳為於V SW以下之電壓區域驅動記憶胞。接下來說明其理由。
亦即,於變化例中,將於各記憶胞產生之電流之累加值作為積和運算之結果而取出,因此尤其為了抑制輸出側之能量負載,較佳為將各個記憶胞之電流值抑制得儘可能低。記憶胞之數量越增加,該傾向越高。根據此種理由,於變化例中,於相當於選擇器之斷開區域之V SW以下之電壓區域驅動記憶胞。
再者,預測因降低電壓而難以保持精度。然而於應用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         移位暫存器 12b        MUX 12c         控制電路 14          輸出部 16          輸入輸出電路 17          位址暫存器 18          控制器(CONT) 19          電壓產生電路 20          雙向資料總線 30          記憶體元件 121        存取控制部 122        驅動器 141        轉換電路 142        峰值固持電路 A1         位址 A2         位址 A3         位址 A4         位址 ADD      位址 ALE       位址鎖存致能信號 BL         位元線 BL0        位元線 BL1        位元線 BL2        位元線 BL3        位元線 CLE       指令鎖存致能信號 CLK       時鐘信號 CMD      指令 /CE        晶片致能信號 I/O         輸入輸出端子 /RE        讀出致能信號 V 1電壓 V 2電壓 V 3電壓 V n電壓 V SW電壓 WL         字元線 WL0       字元線 WL1       字元線 WL2       字元線 WL3       字元線 WL'1      字元線 WL'2      字元線 WL'3      字元線 /WE        寫入致能信號
圖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係表示記憶胞陣列之另一例之立體圖。
11          記憶胞陣列 12          輸入部 12a         移位暫存器 12b        MUX 12c         控制電路 14          輸出部 121        存取控制部 122        驅動器 141        轉換電路 142        峰值固持電路 BL         位元線 WL         字元線

Claims (8)

  1. 一種半導體積體電路,其具備:  交叉點型之記憶胞陣列;  輸入部,其連接於向上述記憶胞陣列之輸入;以及  輸出部,其連接於自上述記憶胞陣列之輸出;且  上述記憶胞陣列具備:  多條字元線;  多條位元線,其等與上述多條字元線交叉;以及  複數個電阻變化型之記憶胞,其等分別形成於上述字元線與上述位元線之交叉點;且  上述輸入部具備:  存取控制部,其按時間序列控制以矩陣表示之資料對於上述記憶胞之存取;以及  驅動器,其對連接於上述資料之存取對象之記憶胞之字元線施加與該資料之值對應之電壓;且  上述輸出部具備,  複數個保持電路,其等保持上述位元線之輸出位準之於時間序列中之代表值。
  2. 如請求項1之半導體積體電路,其中  上述複數個記憶胞週期性地記憶與使用神經網路之捲積運算之濾波器之權重對應之電阻值。
  3. 如請求項2之半導體積體電路,其中  上述存取控制部具備:  移位電路,其使由將上述矩陣展開而得之一維序列表示之上述資料移位;  控制電路,其根據上述濾波器之尺寸及步長、以及上述矩陣之尺寸而按時間序列控制上述移位電路之移位量與移位方向;以及  連接部,其將經移位之上述資料連接於上述驅動器。
  4. 如請求項3之半導體積體電路,其中  上述連接部具備,  選擇電路,其選擇性地將上述經移位之上述資料連接於上述驅動器。
  5. 如請求項1之半導體積體電路,其中  上述保持電路具備:  複數個轉換電路,其等連接於上述位元線之各者,且將流經所連接之位元線之電流轉換成電壓;以及  複數個峰值固持電路,其等保持上述電壓之峰值。
  6. 如請求項5之半導體積體電路,其進而具備複數個比較電路,該等複數個比較電路將上述峰值固持電路之輸出根據基準電壓而二值化。
  7. 如請求項1之半導體積體電路,其中  上述記憶胞陣列進而具備:  選擇器元件,其分別設置於上述記憶胞與上述位元線或上述字元線之間。
  8. 如請求項7之半導體積體電路,其中  上述驅動器對連接於上述資料之存取對象之記憶胞之字元線施加與上述選擇器元件之斷開區域對應之電壓。
TW107142500A 2018-08-28 2018-11-28 半導體積體電路 TWI689936B (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
TW202009929A TW202009929A (zh) 2020-03-01
TWI689936B true TWI689936B (zh) 2020-04-01

Family

ID=69640117

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107142500A TWI689936B (zh) 2018-08-28 2018-11-28 半導體積體電路

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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12111878B2 (en) * 2018-10-12 2024-10-08 International Business Machines Corporation Efficient processing of convolutional neural network layers using analog-memory-based hardware
US11823771B2 (en) * 2020-01-30 2023-11-21 Stmicroelectronics S.R.L. Streaming access memory device, system and method
US11586896B2 (en) 2020-03-02 2023-02-21 Infineon Technologies LLC In-memory computing architecture and methods for performing MAC operations
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 (4)

* 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
TW201209831A (en) * 2010-06-01 2012-03-01 Samsung Electronics Co Ltd Flash memory device and system with program sequencer, and programming method
TW201631599A (zh) * 2015-02-16 2016-09-01 力晶科技股份有限公司 半導體記憶裝置及半導體積體電路裝置
TW201824092A (zh) * 2016-12-16 2018-07-01 南韓商愛思開海力士有限公司 用於標準化神經網路設備的裝置和方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
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
US9805303B2 (en) 2015-05-21 2017-10-31 Google Inc. Rotating data for neural network computations
CN106548124B (zh) 2015-09-17 2021-09-07 松下知识产权经营株式会社 主题推定系统、主题推定方法
GB2552014B (en) * 2016-07-07 2020-05-13 Advanced Risc Mach Ltd Reconfigurable artificial neural networks comprising programmable non-volatile memory elements
JP6968602B2 (ja) * 2016-07-14 2021-11-17 株式会社半導体エネルギー研究所 半導体装置、表示システム及び電子機器
US11501131B2 (en) * 2016-09-09 2022-11-15 SK Hynix Inc. Neural network hardware accelerator architectures and operating method thereof
CN106530210B (zh) * 2016-10-31 2019-09-06 北京大学 基于阻变存储器件阵列实现并行卷积计算的设备和方法
CN107341544B (zh) * 2017-06-30 2020-04-10 清华大学 一种基于可分割阵列的可重构加速器及其实现方法
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 (4)

* 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
TW201209831A (en) * 2010-06-01 2012-03-01 Samsung Electronics Co Ltd Flash memory device and system with program sequencer, and programming method
TW201631599A (zh) * 2015-02-16 2016-09-01 力晶科技股份有限公司 半導體記憶裝置及半導體積體電路裝置
TW201824092A (zh) * 2016-12-16 2018-07-01 南韓商愛思開海力士有限公司 用於標準化神經網路設備的裝置和方法

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI689936B (zh) 半導體積體電路
US11361216B2 (en) Neural network circuits having non-volatile synapse arrays
US11354569B2 (en) Neural network computation circuit including semiconductor storage elements
JP5214566B2 (ja) 抵抗変化メモリ装置
US11416744B2 (en) Max pooling processor based on 1T1R memory
CN110825345A (zh) 使用非易失性存储器单元的乘法
CN110729011B (zh) 用于类神经网路的存储器内运算装置
CN113688984B (zh) 一种基于磁性随机存储器的存内二值化神经网络计算电路
JP2006523358A (ja) 異なるメモリセルに対する同時読み取りおよび書き込み
CN112992226A (zh) 神经形态器件和存储器件
CN106448718A (zh) 存储器器件和操作存储器器件的方法
CN113785290A (zh) 基于存储器的矢量-矩阵乘法
CN113744779A (zh) 一种磁阻存储器单元、写控制方法及存算模块
CN110033797B (zh) 存储系统及存储方法
CN108154227B (zh) 一种使用模拟计算的神经网络芯片
CN116935929A (zh) 互补式存储电路及存储器
US7154775B2 (en) Magnetic random access memory
TWI782994B (zh) 記憶體系統
US11881260B2 (en) Neuromorphic computing device and method of designing the same
CN105895152A (zh) 一种基于单相导通存储单元的存储阵列读取方法
CN110600065B (zh) 具有对称特性的存储器单元及其构成的阵列电路
TWI753232B (zh) 半導體記憶裝置
CN105702287A (zh) 基于多比特阻态阻变器件的rram阵列读写方法及系统
JP7561906B2 (ja) メモリシステム及びメモリシステムの操作方法
JP7096070B2 (ja) 多数決処理装置、半導体記憶装置及び情報データの多数決方法