TW202343451A - 包含i-v斜率組構的參考陣列之人工神經網路 - Google Patents
包含i-v斜率組構的參考陣列之人工神經網路 Download PDFInfo
- Publication number
- TW202343451A TW202343451A TW112109055A TW112109055A TW202343451A TW 202343451 A TW202343451 A TW 202343451A TW 112109055 A TW112109055 A TW 112109055A TW 112109055 A TW112109055 A TW 112109055A TW 202343451 A TW202343451 A TW 202343451A
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- arrays
- memory cells
- reference arrays
- vmm
- Prior art date
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 238000003491 array Methods 0.000 claims abstract description 113
- 239000011159 matrix material Substances 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims description 241
- 239000013598 vector Substances 0.000 claims description 69
- 238000007667 floating Methods 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 19
- 239000002184 metal Substances 0.000 claims description 18
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000002955 isolation Methods 0.000 claims description 2
- 210000004027 cell Anatomy 0.000 description 358
- 230000006870 function Effects 0.000 description 66
- 210000000225 synapse Anatomy 0.000 description 39
- 230000004913 activation Effects 0.000 description 35
- 210000002569 neuron Anatomy 0.000 description 33
- 230000001537 neural effect Effects 0.000 description 19
- 239000000872 buffer Substances 0.000 description 17
- 239000000758 substrate Substances 0.000 description 16
- 239000000463 material Substances 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 102100036301 C-C chemokine receptor type 7 Human genes 0.000 description 7
- 102100031658 C-X-C chemokine receptor type 5 Human genes 0.000 description 7
- 101000716065 Homo sapiens C-C chemokine receptor type 7 Proteins 0.000 description 7
- 101000922405 Homo sapiens C-X-C chemokine receptor type 5 Proteins 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000009966 trimming Methods 0.000 description 7
- 238000009792 diffusion process Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000000295 complement effect Effects 0.000 description 4
- 239000007943 implant Substances 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 230000006403 short-term memory Effects 0.000 description 4
- 230000000946 synaptic effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000004205 output neuron Anatomy 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 229910052710 silicon Inorganic materials 0.000 description 3
- 239000010703 silicon Substances 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 102100023226 Early growth response protein 1 Human genes 0.000 description 2
- 101001049697 Homo sapiens Early growth response protein 1 Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000002784 hot electron Substances 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 150000004767 nitrides Chemical class 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 238000010396 two-hybrid screening Methods 0.000 description 2
- 101150095491 AACS gene Proteins 0.000 description 1
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- LPQOADBMXVRBNX-UHFFFAOYSA-N ac1ldcw0 Chemical compound Cl.C1CN(C)CCN1C1=C(F)C=C2C(=O)C(C(O)=O)=CN3CCSC1=C32 LPQOADBMXVRBNX-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 229910052799 carbon Inorganic materials 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 210000001153 interneuron Anatomy 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 210000001082 somatic cell Anatomy 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/54—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0425—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/08—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements
- G11C17/10—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using semiconductor devices, e.g. bipolar elements in which contents are determined during manufacturing by a predetermined arrangement of coupling elements, e.g. mask-programmable ROM
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C29/24—Accessing extra cells, e.g. dummy cells or redundant cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/14—Dummy cell management; Sense reference voltage generators
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Non-Volatile Memory (AREA)
- Image Analysis (AREA)
- Complex Calculations (AREA)
Abstract
本發明揭示一人工神經網路之大量實例,該人工神經網路包含用於一向量矩陣乘法陣列之組構之複數個參考陣列。在一個實例中,一種系統包含:一向量矩陣乘法陣列,其位於一人工神經網路中;及複數個參考陣列,其特徵為不同的I-V曲線,其中該複數個參考陣列中之一或多者用於在操作期間產生該向量矩陣乘法陣列之輸入電壓。
Description
[優先權主張]
本申請案主張2022年4月7日申請且名稱為「Artificial Neural Network Comprising Monte Carlo Reference Array for I-V Slope Configuration」之美國臨時專利申請案第63/328,543號及2022年6月23日申請且名稱為「Artificial Neural Network Comprising Reference Array for I-V Slope Configuration」之美國專利申請案第17/848,381號的優先權。
揭示人工神經網路之大量實例,該人工神經網路包含用於主陣列中之I-V斜率組構的參考陣列。
人工神經網路模擬生物神經網路(動物之中樞神經系統,特別地,大腦)且用於估計或估算可取決於大量輸入且通常未知的功能。人工神經網路通常包括彼此交換訊息之互連「神經元」的層。
圖1繪示人工神經網路,其中圓形表示神經元之輸入或層。連接(稱為突觸)由箭頭表示,且具有可基於經驗進行調諧之數值權重。此使得神經網路適應於輸入且能夠學習。典型地,神經網路包括一層多個輸入。典型地存在一或多個中間神經元層及提供神經網路之輸出的輸出神經元層。每一層級處之神經元基於自突觸所接收之資料而個別地或共同地作出決策。
用於高效能資訊處理之人工神經網路發展中的其中一個主要挑戰在於缺乏充分的硬體技術。實際上,切實可行的神經網路依賴於極大量之突觸,從而實現神經元之間的高連接性,亦即極高計算並行性。原則上,此複雜性可利用數位超級電腦或專用圖形處理單元叢集來達成。然而,除高成本之外,與生物網路相比,此等方法亦受中等能效困擾,主要因為生物網路執行低精確度類比計算,所以其消耗少得多的能量。CMOS類比電路已用於人工神經網路,但鑒於大量神經元及突觸,故大部分實施CMOS之突觸已過於龐大。
申請人先前在美國專利申請公開案2017/0337466A1中揭示一種利用一或多個非揮發性記憶體陣列作為突觸之人工(類比)神經網路,該美國專利申請公開案以引用之方式併入。非揮發性記憶體陣列操作為類比神經記憶體,且包含以列及行配置之非揮發性記憶體胞元。神經網路包括:第一複數個突觸,其被組構成接收第一複數個輸入且自該第一複數個輸入產生第一複數個輸出;及第一複數個神經元,其被組構成接收第一複數個輸出。第一複數個突觸包括複數個記憶體胞元,其中該等記憶體胞元中之各者包括:形成於半導體基板中之間隔開的源極區及汲極區,以及在源極區與汲極區之間延伸的通道區;浮動閘極,其裝設於通道區之第一部分上方且與該第一部分絕緣;及非浮動閘極,其裝設於通道區之第二部分上方且與該第二部分絕緣。複數個記憶體胞元中之各者儲存對應於浮動閘極上之電子數目的權重值。複數個記憶體胞元將第一複數個輸入乘以所儲存權重值以產生第一複數個輸出。
非揮發性記憶體胞元
非揮發性記憶體為人所熟知。舉例而言,以引用方式併入本文中之美國專利5,029,130 (「'130專利」)揭示了一種分離閘極非揮發性記憶體胞元陣列,其為一種類型之快閃記憶體胞元。此記憶體胞元210顯示於圖2中。各記憶體胞元210包括形成於半導體基板12中之源極區14及汲極區16以及該源極區與該汲極區之間的通道區18。浮動閘極20形成於通道區18之第一部分上方並與該第一部分絕緣(且控制該第一部分之導電性),且形成於源極區14之一部分上方。字元線端子22 (其通常耦接至字元線)具有:第一部分,其裝設於通道區18之第二部分上方且與該第二部分絕緣(且控制該第二部分之導電性);及第二部分,其在浮動閘極20上及上方延伸。浮動閘極20及字元線端子22藉由閘極氧化物與基板12絕緣。位元線24耦接至汲極區16。
記憶體胞元210藉由將高正電壓置放於字元線端子22上來抹除(其中電子自浮動閘極移除),此使得浮動閘極20上之電子經由富爾-諾罕(Fowler-Nordheim;FN)穿隧自浮動閘極20穿過中間絕緣件穿隧至字元線端子22。
記憶體胞元210係藉由將正電壓置放於字元線端子22上並將正電壓置放於源極區14上而藉由運用熱電子之源極側注入(SSI)而經程式化(其中電子置放於浮動閘極上)。電子電流將自汲極區16朝向源極區14流動。當電子到達字元線端子22與浮動閘極20之間的間隙時,該等電子將加速並且被加熱。經加熱電子中之一些將因來自浮動閘極20之吸引靜電力而穿過閘極氧化物注入至浮動閘極20上。
記憶體胞元210藉由將正讀取電壓置於汲極區16及字元線端子22上來讀取(此接通通道區18之在字元線端子下的部分)。若浮動閘極20帶正電(亦即,電子被抹除),則通道區18之在浮動閘極20下方的部分亦接通,且電流將跨越通道區18流動,此被感測為抹除或「1」狀態。若浮動閘極20帶負電(亦即,用電子程式化),則通道區之在浮動閘極20下方的部分被大部分或完全斷開,且電流將不流動跨越通道區18(或將只有極少電流流動跨越該通道區),此被感測為經程式化或「0」狀態。
表1描述可施加至記憶體胞元210之端子以用於執行讀取、抹除及程式化操作的典型電壓及電流範圍:
表1:圖2之快閃記憶體胞元210之操作
WL | BL | SL | |
讀取 | 2-3V | 0.6-2V | 0V |
抹除 | ~11-13V | 0V | 0V |
程式化 | 1-2V | 10.5-3μA | 9-10V |
其他分離閘極記憶體胞元組構為吾人所知,其為其他類型之快閃記憶體胞元。舉例而言,圖3描繪四閘極記憶體胞元310,其包含源極區14、汲極區16、在通道區18之第一部分上方的浮動閘極20、在通道區18之第二部分上方的選擇閘極22 (通常耦接至字元線WL)、在浮動閘極20上方之控制閘極28以及在源極區14上方之抹除閘極30。此組構描繪於美國專利6,747,310中,其出於所有目的以引用之方式併入本文中。此處,除浮動閘極20以外,所有閘極皆為非浮動閘極,此意謂該等閘極電連接或可電連接至電壓源。程式化藉由來自通道區18之經加熱電子將自身注入至浮動閘極20上來執行。抹除藉由自浮動閘極20至抹除閘極30之電子穿隧來執行。
表2描繪可施加至記憶體胞元310之端子以用於執行讀取、抹除及程式化操作之典型電壓及電流範圍:
表2:圖3之快閃記憶體胞元310之操作
WL/SG | BL | CG | EG | SL | |
讀取 | 1.0-2V | 0.6-2V | 0-2.6V | 0-2.6V | 0V |
抹除 | -0.5V/0V | 0V | 0V/-8V | 8-12V | 0V |
程式化 | 1V | 0.1-1μA | 8-11V | 4.5-9V | 4.5-5V |
圖4描繪三閘極記憶體胞元410,其為另一類型之快閃記憶體胞元。記憶體胞元410與圖3之記憶體胞元310相同,除記憶體胞元410不具有單獨控制閘極外。抹除操作(其中抹除經由使用抹除閘極來進行)及讀取操作類似於圖3之抹除操作及讀取操作,除未施加控制閘極偏壓外。程式化操作亦在無控制閘極偏壓之情況下進行,且因此,較高電壓在程式化操作期間施加於源極線上以補償控制閘極偏壓之缺乏。
表3描繪可施加至記憶體胞元410之端子以用於執行讀取、抹除及程式化操作的典型電壓及電流範圍:
表3:圖4之快閃記憶體胞元410之操作
WL/SG | BL | EG | SL | |
讀取 | 0.7-2.2V | 0.6-2V | 0-2.6V | 0V |
抹除 | -0.5V/0V | 0V | 11.5V | 0V |
程式化 | 1V | 0.2-3μA | 4.5V | 7-9V |
圖5描繪堆疊閘極記憶體胞元510,其為另一類型之快閃記憶體胞元。記憶體胞元510類似於圖2之記憶體胞元210,除浮動閘極20在整個通道區18上方延伸,且控制閘極22 (其在此處將耦接至字元線)在浮動閘極20上方延伸,藉由絕緣層(圖中未示)分離以外。該抹除藉由電子自FG至基板之FN穿隧而進行,程式化藉由在通道區18與汲極區16之間的區處進行通道熱電子(CHE)注入、藉由電子自源極區14朝向汲極區16流動來進行,且讀取操作類似於針對具有較高控制閘極電壓之記憶體胞元210之讀取操作。
表4描述可施加至記憶體胞元510之端子及基板12以用於執行讀取、抹除及程式化操作的典型電壓範圍:
表4:圖5之快閃記憶體胞元510之操作
CG | BL | SL | 基板 | |||
讀取 | 2-5V | 0.6-2V | 0V | 0V | ||
抹除 | -8至-10V/0V | FLT | FLT | 8-10V / 15-20V | ||
程式化 | 8-12V | 3-5V | 0V | 0V | ||
本文中所描繪之方法及手段可應用於其他非揮發性記憶體技術,諸如但不限於FINFET分離閘極快閃或堆疊閘極快閃記憶體、NAND快閃、氧化矽-氮化物-氧化物-矽(SONOS,氮化物中之電荷捕捉)、金屬-氧化物-氮化物-氧化物-矽(MONOS,氮化物中之金屬電荷捕捉)、電阻式ram (ReRAM)、相變記憶體(PCM)、磁性ram (MRAM)、鐵電ram (FeRAM)、電荷捕捉(CT)記憶體、碳管(CN)記憶體、雙層級或多層級一次性可程式化(OTP)及相關電子ram (CeRAM)。
為了利用包含上文在人工神經網路中所描繪之非揮發性記憶體胞元類型中之一者的記憶體陣列,進行二個修改。首先,線被組構成使得各記憶體胞元可個別地經程式化、抹除及讀取而不會不利地影響陣列中之其他記憶體胞元的記憶狀態,如下文進一步解釋。其次,提供記憶體胞元之連續(類比)程式化。
具體而言,陣列中之各記憶體胞元之記憶狀態(亦即,浮動閘極上之電荷)可獨立地且在最少干擾其他記憶體胞元之情況下連續地自完全抹除狀態改變至完全程式化狀態,且反之亦然。此意謂胞元儲存器有效地類比或至少可儲存許多離散值(諸如,16或64個不同值)中之一者,此允許記憶體陣列中之所有記憶體胞元的極精確及個別調諧,且此使得記憶體陣列對於儲存及對神經網路之突觸權重進行微調調整而言係理想的。
採用非揮發性記憶體胞元陣列之神經網路
圖6在概念上繪示利用本發明實例之非揮發性記憶體陣列的神經網路之非限制性實例。此實例將非揮發性記憶體陣列神經網路用於人臉辨識應用,但任何其他適當應用皆可使用基於非揮發性記憶體陣列之神經網路來實施。
S0為輸入層,對於此實例,該輸入層為具有5位元精確度之32×32像素RGB影像(亦即,三個32×32像素陣列,色彩R、G及B各一個陣列,各像素為5位元精確度)。在一些情況下,自輸入層S0進入層C1之突觸CB1施加不同權重集合,而在其它情況下共用權重且用3×3像素重疊濾波器(核心)掃描輸入影像,將濾波器移位1個像素(或大於1像素,如由模型指定)。具體地,影像之3×3部分(亦即,被稱作濾波器或核心)中之9個像素的值被提供給突觸CB1,其中此等9個輸入值乘以適當權重,且在求和彼相乘之輸出之後,單個輸出值被判定且藉由CB1之第一突觸提供,用於產生層C1之特徵圖中之一者的像素。3×3濾波器接著在輸入層S0內向右移位一個像素(亦即,在右側上添加三個像素之行,且在左側上丟棄三個像素之行),藉此將此新定位濾波器中之9個像素值提供至突觸CB1,其中使該等像素值乘以相同權重,且第二單一輸出值藉由相關突觸來判定。此程序針對所有三種色彩且針對所有位元(精度值)繼續,直至3×3濾波器跨越輸入層S0之整個32×32像素影像進行掃描為止。程序接著使用不同權重集合進行重複以產生層C1之不同特徵圖,直至層C1之所有特徵圖已被計算為止。
在本實例中,在層C1中存在16個特徵圖,各特徵圖具有30×30個像素。各像素為自輸入與核心相乘而提取之新特徵像素,且因此各特徵圖為二維陣列,且因此在此實例中,層C1構成二維陣列之16個層(應謹記,本文中所提及之層及陣列為邏輯關係,未必為實體關係-亦即,陣列未必定向於實體二維陣列中)。層C1中之16個特徵圖中的各者皆由應用於濾波器掃描之突觸權重之十六個不同集合中的一者產生。C1特徵圖可皆針對同一影像特徵之不同態樣,諸如邊界識別。舉例而言,第一圖(使用第一權重集合產生,共用於用以產生此第一圖之所有掃描)可識別圓形邊緣,第二圖(使用不同於第一權重集合之第二權重集合產生)可識別矩形邊緣,或某些特徵的縱橫比等。
激活函數P1 (池化(pooling))在自層C1進入層S1之前應用,其池化來自各特徵圖中之連續非重疊2×2區的值。池化函數P1之目的為使附近位置達到平均數(或亦可使用最大函數),以例如降低邊緣位置之相依性且在進入下一階段之前減小資料大小。在層S1處,存在16個15×15特徵圖(亦即,各自具有15×15像素之十六個不同陣列)。自層S1進入層C2之突觸CB2利用4×4濾波器掃描層S1中之圖,其中濾波器移位1個像素。在層C2處,存在22個12×12特徵圖。激活函數P2 (池化)在自層C2進入層S2之前應用,其池化來自各特徵圖中之連續非重疊2×2區的值。在層S2處,存在22個6×6特徵圖。激活函數(池化)在自層S2進入層C3之突觸CB3處應用,其中層C3中之每個神經元經由CB3之各別突觸連接至層S2中之每個圖。在層C3處,存在64個神經元。自層C3進入輸出層S3之突觸CB4將C3完全連接至S3,亦即,層C3中之每一神經元連接至層S3中之每一神經元。層S3處之輸出包括10個神經元,其中最高輸出神經元判定類別。此輸出可例如指示原始影像之內容的識別或分類。
各突觸層係使用非揮發性記憶體胞元之陣列或陣列之一部分來實施。
圖7為可用於彼目的之陣列的方塊圖。向量矩陣乘法(VMM)陣列32包括非揮發性記憶體胞元,且用作一層與下一層之間的突觸(諸如圖6中之CB1、CB2、CB3及CB4)。具體地,VMM陣列32包括非揮發性記憶體胞元陣列33、抹除閘極及字元線閘極解碼器34、控制閘極解碼器35、位元線解碼器36及源極線解碼器37,該等解碼器對非揮發性記憶體胞元陣列33之各別輸入進行解碼。至VMM陣列32之輸入可來自抹除閘極及字元線閘極解碼器34或來自控制閘極解碼器35。在此實例中,源極線解碼器37亦對非揮發性記憶體胞元陣列33之輸出進行解碼。替代地,位元線解碼器36可解碼非揮發性記憶體胞元陣列33之輸出。
非揮發性記憶體胞元陣列33用於二個目的。首先,其儲存將由VMM陣列32使用之權重。其次,非揮發性記憶體胞元陣列33有效地使輸入乘以儲存於非揮發性記憶體胞元陣列33中之權重,且按輸出線(源極線或位元線)將結果相加以產生輸出,該輸出將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,非揮發性記憶體胞元陣列33消除對單獨的乘法及加法邏輯電路之需求,且由於其原位記憶體計算而亦為功率高效的。
非揮發性記憶體胞元陣列33之輸出被供應至差分求和器(諸如求和運算放大器或求和電流鏡)38,該差分求和器對非揮發性記憶體胞元陣列33之輸出求和以產生用於彼卷積之單一值。差分求和器38經配置以執行正權重與負權重之求和。
接著將差分求和器38之總計輸出值供應至激活函數區塊39,該激活函數區塊對輸出進行矯正。激活函數區塊39可提供S型(sigmoid)、雙曲正切(tanh)或ReLU函數。激活函數區塊39之經矯正輸出值變成作為下一層(例如,圖6中之C1)之特徵圖之元素,且接著應用於下一突觸以產生下一特徵圖層或最終層。因此,在此實例中,非揮發性記憶體胞元陣列33構成複數個突觸(其自前一神經元層或自諸如影像資料庫之輸入層接收該等突觸之輸入),且求和運算放大器38及激活函數區塊39構成複數個神經元。
至圖7中之VMM陣列32之輸入(WLx,EGx,CGx,以及選擇性地BLx及SLx)可為類比層級、二進位層級或數位位元(在此情況下,DAC被設置成為將數位位元轉換成適當輸入類比層級),且輸出可為類比層級、二進位層級或數位位元(在此情況下,輸出ADC被設置成為將輸出類比層級轉換成數位位元)。
圖8為描繪此處標記為VMM陣列32a、32b、32c、32d及32e之VMM陣列32的眾多層之使用的方塊圖。如圖8中所顯示,表示為Inputx之輸入由數位至類比轉換器31自數位轉換成類比,且被提供至輸入VMM陣列32a。經轉換類比輸入可為電壓或電流。第一層之輸入D/A轉換可藉由使用函數或查找表(LUT)來進行,該函數或LUT將輸入Inputx映射至用於輸入VMM陣列32a之矩陣乘法器的適當類比層級。輸入轉換亦可藉由類比至類比(A/A)轉換器來進行以將外部類比輸入轉換成至輸入VMM陣列32a之經映射類比輸入。
由輸入VMM陣列32a產生之輸出被設置為至下一VMM陣列(隱藏層級1) 32b之輸入,該下一VMM陣列又產生輸出,該輸出被設置為至下一VMM陣列(隱藏層級2) 32c之輸入,等等。VMM陣列32之各種層充當卷積神經網路(CNN)之不同突觸層及神經元層。各VMM陣列32a、32b、32c、32d及32e可為單獨的實體非揮發性記憶體陣列,或多個VMM陣列可利用相同實體非揮發性記憶體陣列之不同部分,或多個VMM陣列可利用相同實體非揮發性記憶體陣列之重疊部分。圖8中所展示之實例含有五個層(32a、32b、32c、32d、32e):一個輸入層(32a)、二個隱藏層(32b、32c)及二個完全連接層(32d、32e)。一般熟悉本技藝者應瞭解,此僅為實例,且系統替代地可包含多於二個隱藏層及多於二個完全連接層。
向量矩陣乘法(VMM)陣列
圖9描繪神經元VMM陣列900,其尤其適合於如圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列900包含非揮發性記憶體胞元之記憶體陣列901及非揮發性參考記憶體胞元之參考陣列902 (在陣列之頂部處)。替代地,另一參考陣列可置放於底部處。
在VMM陣列900中,諸如控制閘極線903之控制閘極線在豎直方向上延行(因此,列方向上之參考陣列902與控制閘極線903正交),且諸如抹除閘極線904之抹除閘極線在水平方向上延行。此處,至VMM陣列900之輸入被設置於控制閘極線(CG0、CG1、CG2、CG3)上,且VMM陣列900之輸出出現於源極線(SL0、SL1)上。在一個實例中,僅使用偶數列,且在另一實例中,僅使用奇數列。置放於各源極線(分別為SL0、SL1)上之電流對來自連接至彼特定源極線之記憶體胞元的所有電流執行求和函數。
如本文中針對神經網路所描繪,VMM陣列900之非揮發性記憶體胞元,亦即,VMM陣列900之記憶體胞元310,可被組構成在次臨限區中操作。
本文中所描述之非揮發性參考記憶體胞元及非揮發性記憶體胞元在弱反轉(次臨限區)中經偏壓:
,
其中
其中Ids為汲極至源極電流;Vg為記憶體胞元上之閘極電壓;Vth為記憶體胞元之臨限電壓;Vt為熱電壓= k*T/q,其中k為波茲曼常數(Boltzmann constant),T為以克耳文(Kelvin)為單位之溫度,並且q為電子電荷;n為斜率因數= 1 + (Cdep/Cox),其中Cdep =耗盡層之電容,並且Cox為閘極氧化物層之電容;Io為等於臨限電壓之閘極電壓下之記憶體胞元電流,Io為與(Wt/L)*u*Cox* (n-1) * Vt
2成比例,其中u為記憶體胞元之載流子遷移率,且Wt及L分別為寬度及長度。
對於使用記憶體胞元(諸如參考記憶體胞元或周邊記憶體胞元)或電晶體將輸入電流轉換成輸入電壓之I至V對數轉換器:
其中,wp為參考或周邊記憶體胞元之w。
對於用作具有電流輸入之向量矩陣乘法器VMM陣列之記憶體陣列,輸出電流為:
,亦即
此處,wa =記憶體陣列中之各記憶體胞元之w。
Vthp為周邊記憶體胞元之有效臨限電壓,且Vtha為主(資料)記憶體胞元之有效臨限電壓。應注意,電晶體之臨限電壓為基板基底偏壓電壓之函數,且表示為Vsb之基板基底偏壓電壓可經調變以補償此溫度下之各種條件。臨限電壓Vth可表述為:
其中Vth0為具有零基板偏壓之臨限電壓,φF為表面電位,且γ為體效應參數。
字元線或控制閘極可用作用於輸入電壓之記憶體胞元之輸入。
替代地,本文中所描繪之VMM陣列之快閃記憶體胞元可被組構成在線性區中操作:
;
此意謂線性區中之權重W與(Vgs-Vth)成比例。
字元線或控制閘極或位元線或源極線可用作在線性區中操作之記憶體胞元的輸入。位元線或源極線可用作記憶體胞元之輸出。
對於I至V線性轉換器,記憶體胞元(諸如,參考記憶體胞元或周邊記憶體胞元)或在線性區中操作之電晶體可用以將輸入/輸出電流線性地轉換成輸入/輸出電壓。
替代地,本文中所描繪之VMM陣列之記憶體胞元可被組構成在飽和區中操作:
;
,此意謂權重W與(Vgs-Vth)
2成比例。
字元線、控制閘極或抹除閘極可用作在飽和區中操作之記憶體胞元之輸入。位元線或源極線可用作輸出神經元之輸出。
替代地,本文中所描繪之VMM陣列之記憶體胞元可用於神經網路之各層或多層之所有區或其組合(次臨限區、線性區或飽和區)中。
圖7之VMM陣列32的其他實例描述於美國專利第10,748,630號中,該專利以引用之方式併入本文中。如彼申請案中所描述,源極線或位元線可用作神經元輸出(電流求和輸出)。
圖10描繪神經元VMM陣列1000,其尤其適合於如圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸。VMM陣列1000包含非揮發性記憶體胞元之記憶體陣列1003、第一非揮發性參考記憶體胞元之參考陣列1001及第二非揮發性參考記憶體胞元之參考陣列1002。配置於陣列之行方向上之參考陣列1001及1002用以將流動至端子BLR0、BLR1、BLR2及BLR3中之電流輸入轉換成至WL0、WL1、WL2及WL3之電壓輸入。實際上,第一及第二非揮發性參考記憶體胞元為二極體連接式貫穿多工器1014 (僅部分描述),其中電流輸入流入該等多工器中。參考胞元經調節(例如,經程式化)至目標參考層級。目標參考層級由參考小型陣列矩陣(圖中未示)提供。
記憶體陣列1003用於二個目的。首先,其儲存將由VMM陣列1000在其各別記憶體胞元上使用之權重。其次,記憶體陣列1003有效地使輸入(亦即,在端子BLR0、BLR1、BLR2及BLR3中提供之電流輸入,其由參考陣列1001及1002轉換成輸入電壓以供應至字元線WL0、WL1、WL2及WL3)乘以儲存於記憶體陣列1003中之權重,且隨後將所有結果(記憶體胞元電流)相加以在各別位元線(BL0至BLN)上產生輸出,該輸出將為至下一層的輸入或至最終層之輸入。藉由執行乘法及加法函數,記憶體陣列1003消除對單獨的乘法及加法邏輯電路之需求,且亦為功率高效的。此處,電壓輸入設置於字元線WL0、WL1、WL2及WL3上,且輸出在讀取(推理)操作期間出現於各別位元線BL0至BLN上。置放於位元線BL0至BLN中之各者上的電流對來自連接至彼特定位元線之所有非揮發性記憶體胞元的電流執行求和函數。
表5描繪用於VMM陣列1000之操作電壓及電流。表中之行指示置放於以下各者上之電壓:用於選定胞元之字元線、用於未選定胞元之字元線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
表5:圖10之VMM陣列1000之操作:
WL | WL-未選定 | BL | BL-未選定 | SL | SL-未選定 | |
讀取 | 1-3.5V | -0.5V/0V | 0.6-2V(Ineuron) | 0.6V-2V/0V | 0V | 0V |
抹除 | ~5-13V | 0V | 0V | 0V | 0V | 0V |
程式化 | 1-2V | -0.5V/0V | 0.1-3 uA | Vinh~2.5V | 4-10V | 0-1V/FLT |
圖11描繪神經元VMM陣列1100,其尤其適合於如圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1100包含非揮發性記憶體胞元之記憶體陣列1103、第一非揮發性參考記憶體胞元之參考陣列1101及第二非揮發性參考記憶體胞元之參考陣列1102。參考陣列1101及1102在VMM陣列1100之列方向上延行。VMM陣列類似於VMM 1000,除在VMM陣列1100中字元線在豎直方向上延行外。此處,輸入被設置於字元線(WLA0、WLB0、WLA1、WLB1、WLA2、WLB2、WLA3、WLB3)上,且輸出在讀取操作期間出現於源極線(SL0、SL1)上。置放於各源極線上之電流對來自連接至彼特定源極線之記憶體胞元的所有電流執行求和函數。
表6描繪用於VMM陣列1100之操作電壓及電流。表中之行指示置放於以下各者上之電壓:用於選定胞元之字元線、用於未選定胞元之字元線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
表6:圖11之VMM陣列1100之操作
WL | WL-未選定 | BL | BL-未選定 | SL | SL-未選定 | |
讀取 | 1-3.5V | -0.5V/0V | 0.6-2V | 0.6V-2V/0V | ~0.3-1V (Ineuron) | 0V |
抹除 | ~5-13V | 0V | 0V | 0V | 0V | SL-禁止(~4-8V) |
程式化 | 1-2V | -0.5V/0V | 0.1-3 uA | Vinh ~2.5V | 4-10V | 0-1V/FLT |
圖12描繪神經元VMM陣列1200,其尤其適合於如圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1200包含非揮發性記憶體胞元之記憶體陣列1203、第一非揮發性參考記憶體胞元之參考陣列1201及第二非揮發性參考記憶體胞元之參考陣列1202。參考陣列1201及1202用以將流入端子BLR0、BLR1、BLR2及BLR3中之電流輸入轉換成電壓輸入CG0、CG1、CG2及CG3。實際上,第一及第二非揮發性參考記憶體胞元為二極體連接之貫穿多工器1212 (僅部分展示),其中電流輸入經由BLR0、BLR1、BLR2及BLR3流入該等多工器中。多工器1212各自包括各別多工器1205及串疊電晶體1204以確保在讀取操作期間第一及第二非揮發性參考記憶體胞元中之各者之位元線(諸如BLR0)上的恆定電壓。參考胞元經調諧至目標參考層級。
記憶體陣列1203用於二個目的。首先,其儲存將由VMM陣列1200使用之權重。其次,記憶體陣列1203有效地使輸入(提供至端子BLR0、BLR1、BLR2及BLR3之電流輸入,其中參考陣列1201及1202將此等電流輸入轉換成輸入電壓以供應至控制閘極(CG0、CG1、CG2及CG3)乘以儲存於記憶體陣列中之權重,且接著將所有結果(胞元電流)相加以產生輸出,該輸出顯現於BL0至BLN上,且將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,記憶體陣列消除對單獨的乘法及加法邏輯電路之需求,且亦為功率高效的。此處,輸入設置於控制閘極線(CG0、CG1、CG2及CG3)上,且輸出在讀取操作期間出現於位元線(BL0至BLN)上。置放於各位元線上之電流對來自連接至彼特定位元線之記憶體胞元的所有電流執行求和函數。
VMM陣列1200針對記憶體陣列1203中之非揮發性記憶體胞元實施單向調諧。亦即,各非揮發性記憶體胞元經抹除且接著經部分程式化,直至達到浮動閘極上之所要電荷為止。若過多電荷被置放於浮動閘極上(使得錯誤值儲存於胞元中),則胞元被抹除且部分程式化操作之序列重新開始。如所展示,共用相同抹除閘極(諸如EG0或EG1)之二個列被一起抹除(此已知為頁面抹除),且此後,各胞元經部分程式化直至達到浮動閘極上之所要電荷為止。
表7描繪用於VMM陣列1200之操作電壓及電流。該表中之行指示置放於以下各者上之電壓:用於選定胞元之字元線、用於未選定胞元之字元線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之控制閘極、用於與選定胞元處於同一扇區中的未選定胞元之控制閘極、用於與選定胞元處於不同扇區中的未選定胞元之控制閘極、用於選定胞元之抹除閘極、用於未選定胞元之抹除閘極、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
表7:圖12之VMM陣列1200之操作
WL | WL- 未選定 | BL | BL- 未選定 | CG | CG-未 選定同 一扇區 | CG-未 選定 | EG | EG-未 選定 | SL | SL-未 選定 | |
讀取 | 1.0-2V | -0.5V/ 0V | 0.6-2V (Ineuron) | 0V | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0V | 0V |
抹除 | 0V | 0V | 0V | 0V | 0V | 0-2.6V | 0-2.6V | 5-12V | 0-2.6V | 0V | 0V |
程式化 | 0.7-1V | -0.5V/ 0V | 0.1-1uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
圖13描繪神經元VMM陣列1300,其尤其適合於如圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1300包含非揮發性記憶體胞元之記憶體陣列1303、第一非揮發性參考記憶體胞元之參考陣列1301及第二非揮發性參考記憶體胞元之參考陣列1302。EG線EGR0、EG0、EG1及EGR1豎直地延行,而CG線CG0、CG1、CG2及CG3以及WL線WL0、WL1、WL2及WL3水平地延行。VMM陣列1300類似於VMM陣列1400,除VMM陣列1300實施雙向調諧外,其中由於使用單獨的EG線,各個別胞元可視需要經完全抹除、部分程式化及部分抹除以達到浮動閘極上之所需電荷量。如所展示,參考陣列1301及1302將端子BLR0、BLR1、BLR2及BLR3中之輸入電流轉換成待在列方向上施加至記憶體胞元之控制閘極電壓CG0、CG1、CG2及CG3 (經由二極體連接式參考胞元貫穿多工器1314進行之動作)。電流輸出(神經元)在位元線BL0至BLN中,其中各位元線對來自連接至彼特定位元線之非揮發性記憶體胞元的所有電流進行求和。
表8描繪用於VMM陣列1300之操作電壓及電流。該表中之行指示置放於以下各者上之電壓:用於選定胞元之字元線、用於未選定胞元之字元線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之控制閘極、用於與選定胞元處於同一扇區中的未選定胞元之控制閘極、用於與選定胞元處於不同扇區中的未選定胞元之控制閘極、用於選定胞元之抹除閘極、用於未選定胞元之抹除閘極、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
表8:圖13之VMM陣列1300之操作
WL | WL-未 選定 | BL | BL-未 選定 | CG | CG-未 選定同 一扇區 | CG- 未選定 | EG | EG-未 選定 | SL | SL-未 選定 | |
讀取 | 1.0-2V | -0.5V/ 0V | 0.6-2V (Ineuron) | 0V | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0V | 0V |
抹除 | 0V | 0V | 0V | 0V | 0V | 4-9V | 0-2.6V | 5-12V | 0-2.6V | 0V | 0V |
程式化 | 0.7-1V | -0.5V/ 0V | 0.1-1uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
圖22描繪神經元VMM陣列2200,其尤其適合於如圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在VMM陣列2200中,輸入INPUT
0、…、INPUT
N分別接收於位元線BL
0、…、BL
N上,且輸出OUTPUT
1、OUTPUT
2、OUTPUT
3及OUTPUT
4分別產生於源極線SL
0、SL
1、SL
2及SL
3上。
圖23描繪神經元VMM陣列2300,其尤其適合於如圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、INPUT
1、INPUT
2及INPUT
3分別接收於源極線SL
0、SL
1、SL
2及SL
3上,且輸出OUTPUT
0、…、OUTPUT
N產生於位元線BL
0、…、BL
N上。
圖24描繪神經元VMM陣列2400,其尤其適合於如圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、…、INPUT
M分別接收於字元線WL
0、…、WL
M上,且輸出OUTPUT
0、…、OUTPUT
N產生於位元線BL
0、…、BL
N上。
圖25描繪神經元VMM陣列2500,其尤其適合於如圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、...、INPUT
M分別接收於字元線WL
0、...、WL
M上,且輸出OUTPUT
0、...、OUTPUT
N產生於位元線BL
0、...、BL
N上。
圖26描繪神經元VMM陣列2600,其尤其適合於如圖4中所展示之記憶體胞元410,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、...、INPUT
N分別接收於豎直控制閘極線CG
0、...、CG
N上,且輸出OUTPUT
1及OUTPUT
2產生於源極線SL
0及SL
1上。
圖27描繪神經元VMM陣列2700,其尤其適合於如圖4中所展示之記憶體胞元410,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、…、INPUT
N分別接收於位元線控制閘極2701-1、2701-2、…、2701-(N-1)及2701-N之閘極上,該等閘極分別耦接至位元線BL
0、…、BL
N。實例輸出OUTPUT
1及OUTPUT
2產生於源極線SL
0及SL
1上。
圖28描繪神經元VMM陣列2800,其尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510及如圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、…、INPUT
M接收於字元線WL
0、…、WL
M上,且輸出OUTPUT
0、…、OUTPUT
N分別產生於位元線BL
0、…、BL
N上。
圖29描繪神經元VMM陣列2900,其尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510及如圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、...、INPUT
M接收於控制閘極線CG
0、...、CG
M上。輸出OUTPUT
0、...、OUTPUT
N分別產生於豎直源極線SL
0、...、SL
N上,其中各源極線SL
i耦接至行i中之所有記憶體胞元之源極線。
圖30描繪神經元VMM陣列3000,其尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510及如圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實例中,輸入INPUT
0、...、INPUT
M接收於控制閘極線CG
0、...、CG
M上。輸出OUTPUT
0、...、OUTPUT
N分別產生於豎直位元線BL
0、...、BL
N上,其中各位元線BL
i耦接至行i中之所有記憶體胞元之位元線。
長短期記憶體
先前技術包括被稱為長短期記憶體(LSTM)之概念。LSTM單元常常用於神經網路中。LSTM允許神經網路在預定任意時間間隔內記住資訊且在後續操作中使用彼資訊。習知LSTM單元包含胞元、輸入閘極、輸出閘極及遺忘閘極。三個閘極調節資訊進入及離開胞元之流動及在LSTM中記住資訊之時間間隔。VMM尤其適用於LSTM單元。
圖14描繪實例LSTM 1400。此實例中之LSTM 1400包含胞元1401、1402、1403及1404。胞元1401接收輸入向量x
0,且產生輸出向量h
0及胞元狀態向量c
0。胞元1402接收輸入向量x
1、來自胞元1401之輸出向量(隱藏狀態) h
0及來自胞元1401之胞元狀態c
0,且產生輸出向量h
1及胞元狀態向量c
1。胞元1403接收輸入向量x
2、來自胞元1402之輸出向量(隱藏狀態) h
1及來自胞元1402之胞元狀態c
1,且產生輸出向量h
2及胞元狀態向量c
2。胞元1404接收輸入向量x
3、來自胞元1403之輸出向量(隱藏狀態) h
2及來自胞元1403之胞元狀態c
2,且產生輸出向量h
3。可使用額外胞元,且具有四個胞元之LSTM僅為實例。
圖15描繪LSTM胞元1500之示範性實施,其可用於圖14中之胞元1401、1402、1403及1404。LSTM胞元1500接收輸入向量x(t)、來自前一胞元之胞元狀態向量c(t-1)及來自前一胞元之輸出向量h(t-1),且產生胞元狀態向量c(t)及輸出向量h(t)。
LSTM胞元1500包含S型函數構件1501、1502及1503,其中之各者應用0與1之間的數字以控制輸入向量中之各分量被允許通過輸出向量之量。LSTM胞元1500亦包含用以將雙曲正切函數應用於輸入向量之雙曲正切構件1504及1505、用以使二個向量相乘在一起之乘法器構件1506、1507及1508,及用以將二個向量相加在一起之加法構件1509。可將輸出向量h(t)提供至系統中之下一LSTM胞元,或可出於其他目的來存取該輸出向量。
圖16描繪LSTM胞元1600,其為LSTM胞元1500之實施的實例。為了方便讀者,來自LSTM胞元1500之相同編號用於LSTM胞元1600中。S型函數構件1501、1502及1503以及雙曲正切構件1504各自包含多個VMM陣列1601及激活函數區塊1602。因此,可見VMM陣列尤其適用於在某些神經網路系統中使用之LSTM胞元。乘法器構件1506、1507及1508以及加法構件1509以數位方式或以類比方式實施。激活函數區塊1602可以數位方式或以類比方式實施。
圖17中展示LSTM胞元1600之替代方案(及LSTM胞元1500之實施的另一實例)。在圖17中,S型函數構件1501、1502及1503以及雙曲正切構件1504以時間多工方式共用相同實體硬體(VMM陣列1701及激活函數區塊1702)。LSTM胞元1700亦包含:乘法器構件1703,其用以使二個向量相乘在一起;加法構件1708,其用以將二個向量相加在一起;雙曲正切構件1505 (其包含激活函數區塊1702);暫存器1707,其用以當i(t)自S型函數區塊1702輸出時儲存值i(t);暫存器1704,其用以當值f(t) * c(t-1)經由多工器1710自乘法器構件1703輸出時儲存該值;暫存器1705,其用以當值i(t) * u(t)經由多工器1710自乘法器構件1703輸出時儲存該值;及暫存器1706,其用以當值o(t) * c~(t)經由多工器1710及多工器1709自乘法器構件1703輸出時儲存該值。
LSTM胞元1600含有VMM陣列1601及各別激活函數區塊1602之多個集合,而LSTM胞元1700僅含有VMM陣列1701及激活函數區塊1702之一個集合,其用於表示LSTM胞元1700之實例中之多個層。LSTM胞元1700將需要相較於LSTM 1600較少的空間,此係因為LSTM胞元1700相比於LSTM胞元1600將需要1/4之空間用於VMM及激活函數區塊。
可進一步瞭解,LSTM胞元將通常包含多個VMM陣列,其中之各者需要由VMM陣列外部之某些電路區塊,諸如求和器及激活函數區塊以及高電壓產生區塊所提供之功能性。向各VMM陣列提供單獨電路區塊將需要半導體構件內之大量空間且將略微低效。因此,下文所描述之實例減少在VMM陣列自身外部所需之電路系統。
閘控遞回單元
類比VMM實施可用於閘控遞回單元(GRU)系統。GRU為遞回神經網路中之閘控機制。GRU類似於LSTM,除GRU胞元通常含有少於LSTM胞元之組件外。
圖18描繪示範性GRU 1800。此實例中之GRU 1800包含胞元1801、1802、1803及1804。胞元1801接收輸入向量x
0並且產生輸出向量h
0。胞元1802接收輸入向量x
1、來自胞元1801之輸出向量h
0,且產生輸出向量h
1。胞元1803接收輸入向量x
2及來自胞元1802之輸出向量(隱藏狀態) h
1,且產生輸出向量h
2。胞元1804接收輸入向量x
3及來自胞元1803之輸出向量(隱藏狀態) h
2且產生輸出向量h
3。可使用額外胞元,且具有四個胞元之GRU僅為實例。
圖19描繪GRU胞元1900之示範性實施,其可用於圖18之胞元1801、1802、1803及1804。GRU胞元1900接收輸入向量x(t)及來自前一GRU胞元之輸出向量h(t-1),且產生輸出向量h(t)。GRU胞元1900包含S型函數構件1901及1902,其中之各者將0與1之間的數字應用至來自輸出向量h(t-1)及輸入向量x(t)之分量。GRU胞元1900亦包含用以將雙曲正切函數應用至輸入向量之雙曲正切構件1903,用以將二個向量相乘在一起之複數個乘法器構件1904、1905及1906,用以將二個向量相加在一起之加法構件1907及用以自1減去輸入以產生輸出之互補構件1908。
圖20描繪GRU胞元2000,其為GRU胞元1900之實施的實例。為了方便讀者,來自GRU胞元1900之相同編號用於GRU胞元2000中。如圖20中可見,S型函數構件1901及1902以及雙曲正切構件1903各自包含多個VMM陣列2001及激活函數區塊2002。因此,可見VMM陣列尤其用於在某些神經網路系統中使用之GRU胞元。乘法器構件1904、1905、1906、加法構件1907及互補構件1908以數位方式或以類比方式實施。激活函數區塊2002可以數位方式或以類比方式實施。
GRU胞元2000之替代方案(及GRU胞元1900之實施的另一實例)展示於圖21中。在圖21中,GRU胞元2100利用VMM陣列2101及激活函數區塊2102,該激活函數區塊在被組構為S型函數時應用0與1之間的數字以控制輸入向量中之各分量被允許通過輸出向量之量。在圖21中,S型函數構件1901及1902以及雙曲正切構件1903以時間多工方式共用相同實體硬體(VMM陣列2101及激活函數區塊2102)。GRU胞元2100亦包含:乘法器構件2103,其用以使二個向量相乘在一起;加法構件2105,其用以使二個向量相加在一起;互補構件2109,其用以自1減去輸入以產生輸出;多工器2104;暫存器2106,其用以當值h(t-1) * r(t)經由多工器2104自乘法器構件2103輸出時保存該值;暫存器2107,其用以當值h(t-1) *z(t)經由多工器2104自乘法器構件2103輸出時保存該值;及暫存器2108,其用以當值h^(t) * (1-z(t))經由多工器2104自乘法器構件2103輸出時保存該值。
GRU胞元2000含有VMM陣列2001及激活函數區塊2002之多個集合,而GRU胞元2100僅含有VMM陣列2101及激活函數區塊2102的一個集合,其用於表示GRU胞元2100之實例中的多個層。GRU胞元2100將需要相較於GRU胞元2000較少的空間,此係因為GRU胞元2100相比於GRU胞元2000將需要1/3之空間以用於VMM及激活函數區塊。
可進一步瞭解,GRU系統將通常包含多個VMM陣列,其中之各者需要由VMM陣列外部之某些電路區塊,諸如求和器及激活函數區塊以及高電壓產生區塊所提供之功能性。向各VMM陣列提供單獨電路區塊將需要半導體構件內之大量空間且將略微低效。因此,下文所描述之實例減少在VMM陣列自身外部所需之電路系統。
至VMM陣列之輸入可為類比層級、二進位層級、脈衝、時間調變脈衝或數位位元(在此情況下,需要DAC將數位位元轉換成適當的輸入類比層級),且輸出可為類比層級、二進位層級、定時脈衝、脈衝或數位位元(在此情況下,需要輸出ADC將輸出類比層級轉換成數位位元)。
一般而言,對於VMM陣列中之各記憶體胞元,各權重W可由單一記憶體胞元或差分胞元或二個混合記憶體胞元(2個胞元之平均值)實施。在差分胞元情況下,需要二個記憶體胞元以將權重W實施為差分權重(W = W+ - W-)。在二個混合記憶體胞元中,需要二個記憶體胞元以將權重W實施為二個胞元之平均值。
圖31描述VMM系統3100。在一些實例中,儲存於VMM陣列中之權重W經儲存為差分對W+ (正權重)及W- (負權重),其中W = (W+) - (W-)。在VMM系統3100中,一半位元線被指定為W+線,亦即,連接至將儲存正權重W+之記憶體胞元的位元線,且另一半位元線被指定為W-線,亦即,連接至實施負權重W-之記憶體胞元的位元線。W-線以交替方式穿插於W+線當中。減法運算由自W+線及W-線接收電流之求和電路執行,該求和電路諸如為求和電路3101及3102。W+線之輸出及W-線之輸出組合在一起,從而對於所有對(W+, W-)線之各對(W+, W-)胞元,有效地得出W = W+ - W-。雖然上文已關於W-線以交替方式穿插在W+線當中進行描述,但在其他實例中,W+線及W-線可任意地位於陣列中之任何位置。
圖32描繪另一實例。在VMM系統3210中,正權重W+實施於第一陣列3211中且負權重W-實施於第二陣列3212中,第二陣列3212與第一陣列分離,且所得權重係藉由求和電路3213適當地組合在一起。
圖33描述VMM系統3300。儲存於VMM陣列中之權重W經儲存為差分對W+ (正權重)及W- (負權重),其中W = (W+) - (W-)。VMM系統3300包含陣列3301及陣列3302。陣列3301及3302中之各者中的一半位元線被指定為W+線,亦即,連接至將儲存正權重W+之記憶體胞元的位元線,且陣列3301及3302中之各者中的另一半位元線被指定為W-線,亦即,連接至實施負權重W-之記憶體胞元的位元線。W-線以交替方式穿插於W+線當中。減法運算由自W+線及W-線接收電流之求和電路執行,該求和電路諸如為求和電路3303、3304、3305及3306。來自各陣列3301、3302之W+線之輸出及W-線之輸出分別組合在一起,從而對於所有(W+, W-)線對之各(W+, W-)胞元對,有效地得出W = W+ - W-。另外,來自各陣列3301及3302之W值可經由求和電路3307及3308進一步組合,以使得各W值為來自陣列3301之W值減去來自陣列3302之W值的結果,此意謂來自求和電路3307及3308之最終結果為二個差分值之差分值。
用於類比神經記憶體系統中之各非揮發性記憶體胞元待經抹除及程式化,以在浮動閘極中保持極特定且精確的電荷量,亦即電子數目。舉例而言,各浮動閘極應保存N個不同值中之一者,其中N為可由各胞元指示之不同權重的數目。N之實例包括16、32、64、128及256。
為了確保VMM系統之準確度,補償發生之天然變化至關重要。舉例而言,I-V斜率可歸因於天然過程變化而在同一記憶體陣列內變化,且其可隨著操作溫度改變而變化。I-V斜率係指在電壓施加至記憶體胞元之諸如控制閘極端子之端子時由記憶體胞元汲取之電流之間的關係。希望能夠補償記憶體陣列之部分或所有之I-V斜率的此類改變。
描述用於提供神經網路系統之大量實例,該神經網路系統包含含有有意變化範圍之複數個參考陣列,使得可選擇緊密接近操作陣列之參考陣列的適當部分進行操作。
VMM系統架構
圖34描繪VMM系統3400之方塊圖。VMM系統3400包含VMM陣列3401、列解碼器3402、高電壓解碼器3403、行解碼器3404、位元線驅動器3405、輸入電路3406、輸出電路3407、控制邏輯3408及偏壓產生器3409。VMM系統3400進一步包含高電壓產生區塊3410,該高電壓產生區塊包含電荷泵3411、電荷泵調節器3412及高電壓位準產生器3413。VMM系統3400進一步包含(程式化/抹除,或權重調諧)演算法控制器3414、類比電路系統3415、控制引擎3416 (其可包括但不限於特殊函數,諸如算術函數、激活函數、嵌入式微控制器邏輯)及測試控制邏輯3417。
輸入電路3406可包括電路,諸如數位至類比轉換器(DAC)、數位至脈衝轉換器(DPC、數位至時間調變脈衝轉換器)、類比至類比轉換器(AAC,諸如電流至電壓轉換器、對數轉換器)、脈衝至類比位準轉換器(PAC)或任何其他類型之轉換器。輸入電路3406可實施正規化、線性或非線性按比例放大/按比例縮小函數,或算術函數中之一或多者。輸入電路3406可針對輸入位準實施溫度補償函數。輸入電路3406可實施諸如ReLU或S型之激活函數。
輸出電路3407可包括電路,諸如類比至數位轉換器(ADC,其用以將神經元類比輸出轉換成數位位元)、類比至類比轉換器(AAC,諸如電流至電壓轉換器、對數轉換器)、類比至脈衝轉換器(APC、類比至時間調變脈衝轉換器)或任何其他類型之轉換器。輸出電路3407可實施激活函數,諸如整流線性激活函數(ReLU)或S型。輸出電路3407可實施統計正規化、正則化、按比例放大/按比例縮小/增益函數,統計捨入或算術函數(例如,加法、減法、除法、乘法、移位、對數)中之一或多者以用於神經元輸出。輸出電路3407可針對神經元輸出或陣列輸出(諸如位元線輸出)實施溫度補償函數,以便使陣列之功率消耗保持近似恆定或諸如藉由使IV斜率保持大致相同而改良陣列(神經元)輸出之精度。
圖35及圖36描繪嵌入至與VMM陣列相同之實體陣列中的參考陣列之實施例。
圖35描繪實體陣列3500。實體陣列3500選擇性地包含非揮發性記憶體胞元之陣列。非揮發性記憶體胞元選擇性地可包含堆疊閘極快閃記憶體胞元或分離閘極快閃記憶體胞元。
實體陣列3500劃分為二種類型之陣列,VMM陣列3401 (如在圖34中)及參考陣列3501。參考陣列3501包含複數個參考陣列,如圖38及圖39中所示。在一個實施例中,VMM陣列3401及參考陣列3501共用相同位元線。在另一實施例中,VMM陣列3401及參考陣列3501使用單獨位元線集合,其中二個位元線集合斷開連接。示範性實體佈局展示於圖40A及圖40B中。
圖36描繪實體陣列3600,其劃分為二個陣列,VMM陣列3401及參考陣列3501。在一個實施例中,VMM陣列3401及參考陣列3501共用一或多個水平線集合,諸如字元線、控制閘極線及抹除線。在另一實施例中,VMM陣列3401及參考陣列3501並不共用任何水平線集合。
圖37描繪參考陣列3501及VMM陣列3401位於單獨實體陣列中之實施例。舉例而言,在二個陣列之間可存在基板分離或主動擴散分離。實體陣列3701含有VMM陣列3401,而實體陣列3702含有參考陣列3501。VMM陣列3401及參考陣列3501並不共用任何位元線、字元線、控制閘極線或抹除線。
圖38描繪參考陣列3501之實施例。此處,參考陣列3501包含複數個參考陣列,諸如參考陣列3801-0、3801-1、...、3801-(n-1)及3801-n。因此,參考陣列3501包含n+1個不同參考陣列。不同參考陣列可具有使得各別參考陣列特徵為與其他參考陣列不同的I-V曲線之不同特性。舉例而言,各別參考陣列可在其以下中之一或多者的尺寸上變化:(1)各別參考陣列之電晶體之控制閘極線的寬度;(2)各別參考陣列之電晶體之字元線的寬度;(3)各別參考陣列之電晶體之浮動閘極的寬度;(4)各別參考陣列中之非揮發性記憶體胞元之總寬度;(5)各別參考陣列內之淺溝槽隔離(STI)間隔;或(6)其他特性。此外,參考陣列可分別在一或多個構件植入條件或摻雜特性(諸如但不限於井植入條件、源極植入條件、汲極植入條件)上變化。
圖39描繪參考陣列3501之另一實施例。此處,參考陣列3501包含複數個參考陣列,諸如參考陣列3901-0、3901-1、...、3901-(n-1)及3901-n以及3902-0、3902-1、...、3902-(n-1)及3902-n。因此,參考陣列3501包含2*(n+1)個不同參考陣列。如在圖38中,不同參考陣列可具有使得各別參考陣列特徵為與其他參考陣列不同的I-V曲線之不同特性。舉例而言,各別參考陣列可在其以下中之一或多者的尺寸上變化:控制閘極寬度、字元線寬度、浮動閘極寬度、陣列中之非揮發性記憶體胞元之總寬度、STI間隔及構件植入條件,但不限於此。
圖40A描繪VMM陣列及參考陣列之實體佈局。VMM系統4001包含VMM陣列4002及參考陣列4004。示範性位元線BL0耦接至VMM陣列4002,且示範性位元線BLR0耦接至參考陣列4004。因實施例使用VMM陣列4002中之金屬層M1至M4,耦接至VMM陣列4002之位元線BL0可被稱為VMM陣列位元線BL0,且金屬層M2至M4亦連接至周邊電路系統(諸如行解碼器),而實施例僅使用金屬層M1作為例子,耦接至參考陣列4004之位元線BLR0可被稱為參考陣列位元線BLR0。VMM陣列4002及參考陣列4004為同一實體陣列4003之部分。實體陣列4003包含基板4005及擴散層4006,兩者均由VMM陣列4002及參考陣列4004共用。實體陣列4003藉由使用斷開之金屬互連件以電氣方式分割以用於VMM陣列4002及參考陣列4004。舉例而言,如可見,VMM陣列金屬位元線BL0及參考陣列金屬位元線BLR0兩者使用金屬層M1但彼此斷開連接。對於VMM陣列4002及參考陣列4004兩者使用同一實體陣列4003減少在使用單獨實體陣列時會發生之來自程序均勻性及區域開銷之任何實體影響。
圖40B描繪用於VMM陣列及參考陣列之實體佈局之另一具體例,該實體佈局類似於圖40A中之實體佈局,除在此VMM系統4051中,VMM陣列4052之擴散層4056及參考陣列4004之擴散層4057為分離的之外。
圖41描繪經執行以校準VMM系統之參考陣列選擇方法4100。方法4100可在製造或測試程序期間執行,或其可在VMM系統之即時操作期間執行。在操作4101中,選擇複數個參考陣列作為校準程序之候選者。舉例而言,選擇複數個參考陣列作為調整VMM陣列之I-V (電流-電壓)斜率的候選者。在操作4102中,對於複數個參考陣列,判定各別度量。舉例而言,度量可為目標電路效能度量或目標神經網路效能度量。在操作4103中,識別複數個參考陣列中產生最接近目標值之度量的參考陣列。在操作4104中,使用在操作4103中識別之參考陣列來校準VMM陣列。
圖42A描繪自具有不同實體特性之記憶體陣列擷取之資料。圖42B描繪自具有不同電特性之記憶體陣列(諸如藉由井植入)擷取之資料。如可見,記憶體胞元之I-V斜率可基於記憶體胞元當中之實體或電氣變化而變化。
圖43描繪參考陣列3501中之參考記憶體胞元4300之實體佈局的實施例,其中吾人可瞭解,控制閘極寬度、字元線寬度、浮動閘極寬度、總寬度及STI間隔之尺寸可基於所使用之製造程序及佈局而變化。此等為上文參考圖38及圖39所提及之特性之實施例,該等特性可自參考陣列至參考陣列變化。
圖44至圖48提供參考陣列3501可如何用於校準VMM陣列3401之實施例。
圖44描繪示範性列偏壓校準電路4400,其包含電流數位至類比轉換器(DAC) 4401、運算放大器4402及參考記憶體胞元4403。參考記憶體胞元4403可為圖35至圖39之參考陣列中之參考胞元。列偏壓校準電路4400提供參考CG偏壓。CG偏壓可接著直接施加至VMM陣列中之CG端子以在彼等胞元上提供偏壓電壓,或CG偏壓可用於較大系統中,諸如圖45中之列DAC偏壓產生器4500、圖46中之列DAC偏壓產生器4600、圖47中之輸入區塊4700或圖48中之輸入區塊4800,其又產生可施加至VMM陣列中之CG端子或其他端子以在彼等胞元上提供偏壓電壓之偏壓電壓。
參考記憶體胞元4403可特定地來自圖41中之方法4100之操作4103中所選擇的參考陣列。輸入DIN[0:n]選擇由電流DAC 4401產生之電流。所產生之電流為VMM陣列3401中之記憶體胞元理想地將產生對應於DIN[0:n]之值的所儲存權重之目標電流。舉例而言,若DIN為8位元值,則將存在256個DIN可能值及256個各別電流位準,該等電流位準理想地將在讀取操作期間在儲存對應於該值之權重的VMM陣列3401中之記憶體胞元上產生。
運算放大器4402輸出參考記憶體胞元4403之端子CG上之電壓CGbias。基於運算放大器之固有性質,運算放大器4402調整此輸出電壓,直至其反相輸入端子上之電壓等於其正相輸入端子上之電壓VREF (其可為任意參考值,諸如0.5V)。運算放大器4402之輸出電壓經取樣且可作為偏壓電壓施加至VMM陣列3401中之記憶體胞元的控制閘極端子,或替代地作為類比輸入施加至陣列。替代地,CGbias可用於系統中,諸如圖45中之列DAC偏壓產生器4500、圖46中之列DAC偏壓產生器4600、圖47中之輸入區塊4700或圖48中之輸入區塊4800。
參考胞元4403可為單一胞元或可包含多個胞元。舉例而言,多個參考胞元可用於獲得平均效應或反映神經網路層之權重分佈。舉例而言,可選擇多個參考胞元使得50%之參考胞元反映低權重值,20%之參考胞元反映中間權重值,且30%之參考胞元反映高權重值,以試圖近似人工神經網路中之VMM陣列中的典型權重分佈。
或者,舉例而言,列偏壓校準電路4400之例示可用於產生不同CGbias位準,諸如高、中以及低CGbias位準。舉例而言,低CGbias位準(VREFL)可使用多個參考胞元(例如,1個胞元、2個胞元、...、32個胞元)產生,其中各胞元具有3 nA之目標電流(由電流數位至類比轉換器4401產生),該目標電流表示5位元胞元之記憶體胞元的32個位準中之第1位準;高CGbias位準(VREFH)可使用多個參考胞元(例如,1個胞元、2個胞元、...、32個胞元)產生,其中各胞元具有96 nA之目標電流,該目標電流表示5位元胞元之記憶體胞元的32個位準中之第32位準;及中間CGbias位準(VREFM)可使用多個參考胞元(例如,1個胞元、2個胞元、...、32個胞元)產生,其中各胞元具有48 nA之目標電流,該目標電流表示5位元胞元之記憶體胞元的32個位準中之第16位準。以此方式,列偏壓校準電路4400之三個實例可用於產生高電壓VREFH、中間電壓VREFM及低電壓VREFL。
對於串列DAC輸入(諸如包含一次施加一個數位輸入位元序列之輸入,其中對應數位輸出經移位且針對各二進位輸入位元位置添加)或定時輸入(脈衝寬度調變輸入或脈衝計數輸入)之情況,施加至VMM陣列之CG偏壓電壓可藉由圖44之列偏壓校準電路4400提供。
圖45描繪列DAC偏壓產生器4500,其包含電壓梯4501、映射區塊4502及輸出緩衝器4503。電壓梯4501產生複數個電壓位準(L0、...、Lk),其分別將電壓提供至VMM陣列以取決於選定電壓模式(線性或次臨限)使VMM陣列在線性模式或次臨限模式中操作。舉例而言,對於次臨限值操作,電壓梯4501可具有8至14位元之解析度。控制邏輯(未展示)控制列DAC偏壓產生器4500之操作(藉由執行諸如使用諸如EN之啟用信號啟用各種區塊的功能,從而將控制信號提供至多工器,及其他控制功能)。
映射區塊4502將來自電壓梯4501之位準轉換成各別類比輸出,諸如表示8位元輸出之電壓,且將映射區塊4502之輸出饋送至輸出緩衝器4503。
輸出緩衝器4503之輸出描繪為DAC_OUT 4590,其接著作為偏壓電壓(諸如在CG端子上)施加至VMM陣列中之一列記憶體胞元以更改彼等胞元之I-V斜率。至少當該陣列在次臨限區中操作時,各層級(由修整區塊L0_trm、...、Ln_trm表示)之局部修整被設置於映射區塊4502內。將此偏壓電壓施加至例如該記憶體胞元列之控制閘極線將在次臨限區中之溫度範圍內達成VMM陣列中之記憶體胞元的非線性I-V斜率。可瞭解,DAC_OUT 4590使用多個參考陣列(例如,一個參考陣列以產生VREFH且另一參考陣列以產生VREFL)產生。
電壓梯4501接收高參考電壓VREFH (諸如由上文所描述之圖44中的列偏壓校準電路4400的例示產生之VREFH)及低參考電壓VREFL (諸如由上文所描述之圖44中的列偏壓校準電路4400的例示產生之VREFL)。VREFH對應於可儲存於VMM陣列中之胞元中的最高可能值,且VREFL對應於可儲存於VMM陣列中之胞元中的最低可能值。電壓梯4501包含選擇性地根據線性函數或對數函數用於產生在VREFL與VREFH之間的一系列電壓之複數個電阻器。舉例而言,電壓梯中之頂部電阻器的頂部節點將具有電壓VREFH,且由於頂部電阻器上之電壓降,電阻器之底部將具有較低電壓。底部電阻器之底部節點將具有電壓VREFL。電壓梯藉此產生複數個電壓位準(L0、...、Lk)(例如,k可為4095),當期望將電壓提供至VMM陣列以使VMM陣列之非揮發性記憶體胞元在線性模式或次臨限值模式中操作時需要該等電壓位準。
映射區塊4502接收數位輸入DIN [n:0],其用於使用映射區塊4502內部之子區塊4563選擇m+1個類比電壓中之一者,其中(m+1) = 2^(n+1)。舉例而言,若(n+1)=8,則(m+1)=256。映射區塊4502包含(m+1)個修整區塊4562及(m+1)個多工器4563。映射區塊4502將來自DAC 4501之k+1個電壓位準轉換成對應於DIN[n:0]之各別類比輸出。此係藉由對各層級(由修整區塊L0_trm、...、Lm_trm表示)之局部修整來達成,此可例如在陣列中之非揮發性記憶體胞元在次臨限值區中操作時為有用的。此為VMM陣列中之非揮發性記憶體胞元在次臨限區或線性區中之溫度內達成最佳匹配I-V斜率所期望的。
藉由調整參考電壓VREFL及VREFH,亦調整k+1個位準之範圍。此係例如為了匹配此輸入區塊之輸出範圍與記憶體胞元之輸入範圍。此亦可藉由調整(諸如在高溫下更低及在低溫下更高移位)參考位準VREFL及VREFH來執行溫度補償,以達成由於溫度變化而可能需要的記憶體胞元之閘極偏壓的期望範圍。進一步的個別位準調整及溫度補償藉由映射區塊4502之位準修整電路來進行,例如以用於最佳神經網路準確度。
圖46描繪列DAC偏壓產生器4600。列DAC偏壓產生器4600類似於列DAC偏壓產生器4500,除使用電壓梯4601而非電壓梯4501外。電壓梯4601類似於電壓梯4501,其中添加中間參考位準VREFM (諸如由上文所描述之圖44中之列偏壓校準電路4400的例示產生之VREFM)。VREFM參考位準之調整及溫度行為控制為類似於VREFH及VREFL參考位準之調整及溫度行為。其包括額外緩衝器4603以將中間參考位準施加至該梯中,以進一步調整GDAC 5480與記憶體陣列之輸入的I-V斜率匹配。儘管電壓梯4601使用三個電壓參考位準(VREFH、VREFM及VREFL),但可理解,可替代地使用其他數目個電壓參考位準。
參考電壓係使用來自n+1個參考陣列3801或3901之參考記憶體胞元4403,自圖44中之列偏壓校準電路4400之例示之CGbias輸出產生。列DAC偏壓產生器4600提供待施加至VMM陣列之列的偏壓電壓(DAC_OUT 4602)。
圖47描繪待用於將輸入提供至VMM陣列,諸如圖34中之VMM陣列3401的示範性輸入區塊4700。輸入區塊4700包含:全域數位至類比轉換器(DAC) 4701;位址列解碼器4702-0至4702-n,其各自對應於VMM陣列中之編號為0至n的列中之一者;列暫存器4703-0至4703-n,其各自對應於VMM陣列中之編號為0至n的列中之一者;數位比較器區塊4704-0至4704-n,其各自對應於VMM陣列中之編號為0至n的列中之一者;列取樣保持(S/H)緩衝器4705-0至4705-n,其各自對應於VMM陣列中之編號為0至n的列中之一者;輸出信號4706-0至4706-n,其各自對應於VMM陣列中之編號為0至n的列中之一者;及計數器4707。
全域DAC 4701選擇性地可包含圖45中之列DAC偏壓產生器4500或圖46中之列DAC偏壓產生器4600,具有由圖44中之列偏壓校準電路4400之例示提供的參考電壓位準VREFH、VREFL及選擇性地VREFM。
用於特定列之列暫存器4703、數位比較器4704及列取樣保持緩衝器4705的各集合可被視為用於彼特定列之局部數位類比轉換器,其中用於彼局部數位轉換器之電壓供應由全域DAC 4701提供,如下文所解釋。
位址列解碼器4702-0至4702-n接收列位址ADD[n:0]及啟用信號EN。當ADD[n:0]為彼特定列之位址時且當EN被確立時,各位址列解碼器之表示為ENROW的輸出為高。列暫存器4703-0至4703-n載入有彼特定列之各別數位輸入位元DINx (其中x為位元之數目,諸如8或16位元),其中載入操作由時鐘信號CLK觸發,其中DINx為彼特定列之激活輸入以執行向量乘法矩陣運算。當特定位址列解碼器4702之輸出為高時,相關聯之列暫存器4703被啟用且輸出其數位位元DINx。當由信號EN啟用時,計數器4707對另一時鐘信號CLKB中之脈衝進行計數。計數器4707之輸出為計數值。數位比較器區塊4704-0至4704-n比較儲存於各別列暫存器4703中之各者中的激活值DINx與計數值。若計數值匹配儲存於特定列暫存器4702中之值,則各別數位比較器區塊4704使得對應列S/H緩衝器4705能夠取樣且保持來自全域DAC 4701之類比輸出值。全域DAC 4701對計數值(其亦匹配用於所討論列之列暫存器4703的DINx)執行數位至類比轉換。各列S/H緩衝器4705輸出所保持類比值作為輸出信號4706。若例如x=8且DINx為8位元輸入(意謂DINx存在256個不同值),則計數器4707將計數直至256且接著重設。在進行此時,其將已覆蓋DINx之所有可能值,且各列S/H緩衝器4705將已載入有其相關聯值DINx。
舉例而言,輸出信號4706可在彼特定列中之程式化或讀取操作期間或在讀取所有列之神經讀取操作期間被施加至控制閘極線或字元線。在神經讀取期間,所有S/H緩衝器4705經啟用以經由各別輸出信號4706驅動陣列輸入端子,從而導致位元線電流由VMM陣列輸出,該等電流接著由諸如電流至電壓轉換器(ITV)電路及類比至數位轉換器(ADC)電路之輸出電路處理。
各個各別輸出信號4706可在彼特定列中之程式化或讀取操作期間施加至例如各別控制閘極線或字元線。
在另一實施例中,列取樣保持緩衝器4704可由多個列以時間多工方式共用。
圖48描繪待用於將輸入提供至VMM陣列,諸如圖34中之VMM陣列3401的示範性輸入區塊4800。輸入區塊4800類似於圖44中之輸入區塊4400,但提供來自全域數位至類比轉換器之多個輸出以用於神經讀取操作。輸入區塊4800包含:全域數位至類比轉換器4801;位址列解碼器4802-0至4802-n,其各自對應於編號為0至n之列中之各別列;列暫存器4803-0至4803-n,其各自對應於編號為0至n之列中之各別列;數位比較器4804-0至4804-n,其各自對應於編號為0至n之列中之各別列;列取樣保持緩衝器4805-0至4805-n,其各自對應於編號為0至n之列中之各別列;及輸出信號4806-0至4806-n,其各自對應於編號為0至n之列中之各別列。
全域DAC 4801選擇性地可包含圖45中之列DAC偏壓產生器4500或圖46中之列DAC偏壓產生器4600,具有由圖44中之列偏壓校準電路4400之例示提供的參考電壓位準VREFH、VREFL及選擇性地VREFM。
位址列解碼器4802-0至4802-n接收列位址ADD[n:0]及啟用信號EN。當ADD[n:0]為彼特定列之位址時且當EN被確立時,各位址列解碼器4802之表示為ENROW的輸出為高。列暫存器4803-0至4803-n載入有彼特定列之各別數位輸入位元DINx (其中x為位元之數目,諸如8或16位元),其中載入由時鐘信號CLK觸發,其中DINx為彼特定列之激活輸入。當特定位址列解碼器4802之輸出ENROW為高時,相關聯之列暫存器4803被啟用且輸出其數位位元DINx。當由信號EN啟用時,計數器4807對另一時鐘信號CLKB中之脈衝進行計數。計數器4807之輸出為計數值。數位比較器區塊4804-0至4804-n比較儲存於各別列暫存器4803中之各者中的激活值DINx與計數值。若計數值與儲存於特定列暫存器4802中之值匹配,則對應列S/H緩衝器4805由各別數位比較器區塊4804啟用,以取樣且保持來自GDAC 4801之類比輸出值。如所展示,存在來自GDAC 4801之兩條豎直類比輸出線。舉例而言,對於8位元GDAC 4801,一條線可遞送0至127個類比位準(對應於00000000至01111111)之輸出,且另一線可遞送128至255個類比位準(對應於10000000至11111111)之輸出。兩條線可同時操作以將列DAC取樣時間自256個(DAC)時鐘減少至128個(DAC)時鐘。各列S/H緩衝器4805僅自GDAC 4801接收輸出中之一者。舉例而言,輸出信號4806可在彼特定列中之程式化操作期間施加至控制閘極線或字元線。
選擇性地,全域數位至類比轉換器4801可包含用於奇數列之第一全域DAC及用於偶數列之第二全域DAC。
圖49描繪參考陣列3501之示範性佈局。參考陣列3501包含參考陣列4901-0、4901-1、4901-2及4901-3,其耦接至同一金屬層(諸如金屬層M1)中之各別共用位元線。舉例而言,各別參考陣列4901可實施上文關於圖44至圖46所描述之低位準(VREFL)、中間位準(VREFM)或高位準(VREFH) CG參考偏壓,但不限於此。當特定位元線用於一個參考陣列時,連接至位元線之另一參考陣列中之胞元經深度程式化以使得其不傳導任何電流且基本上停用。以此方式,各位元線可有效地專用於參考陣列中之僅一者。
圖50描繪參考陣列3501之示範性佈局。參考陣列3501包含參考陣列5001-0、5001-1、5001-2及5001-3,其分別耦接至不同金屬層(諸如金屬層M4、M3、M2及M1)中之各別位元線。舉例而言,各別參考陣列4901實施上文關於圖44至圖46所描述之低位準(VREFL)、中間位準(VREFM)或高位準(VREFH) CG參考偏壓,但不限於此。
圖51描繪參考陣列3501之示範性佈局。參考陣列3501包含參考陣列5101-0、5101-1、5101-2及5101-3,其為分別耦接至同一金屬層(諸如金屬層M1)中之位元線。舉例而言,各別參考陣列4901實施上文關於圖44至圖46所描述之低位準(VREFL)、中間位準(VREFM)或高位準(VREFH) CG參考偏壓,但不限於此。此處,各位元線僅電耦接至參考陣列中之一者且與其他參考陣列以電氣方式斷開連接。
應注意,如本文中所使用,術語「在...上方」及「在...上」兩者包括性地包括「直接在...上」(其間未裝設有中間材料、元件或空間)及「間接地在...上」(其間裝設有中間材料、元件或空間)。同樣地,術語「鄰近」包括「直接鄰近」(其間未裝設有中間材料、元件或空間)及「間接鄰近」(其間裝設有中間材料、元件或空間),「安裝至」包括「直接安裝至」(其間未裝設有中間材料、元件或空間)及「間接安裝至」(其間裝設有中間材料、元件或空間),且「電耦接」包括「直接電耦接至」(其間無將元件電連接在一起之中間材料或元件)及「間接電耦接至」(其間具有將元件電連接在一起之中間材料或元件)。舉例而言,「在基板上方」形成元件可包括直接在基板上形成元件而其間無中間材料/元件,以及間接地在基板上形成元件而其間具有一或多種中間材料/元件。
12:半導體基板
14:源極區
16:汲極區
18:通道區
20:浮動閘極
22:字元線端子
24:位元線
28:控制閘極
30:抹除閘極
31:數位至類比轉換器
32,32a,32b,32c,32d,32e:向量矩陣乘法陣列
33:非揮發性記憶體胞元陣列
34:抹除閘極及字元線閘極解碼器
35:控制閘極解碼器
36:位元線解碼器
37:源極線解碼器
38:差分求和器
39,1602,1702,2002,2102:激活函數區塊
210,310,410,510:記憶體胞元
900,1000,1100,1200,1300,1601,1701,2001,2101,2200,2300,2400,2500,2600,2700,2800,2900,3000,3401,4002:VMM陣列
901,1003,1103,1203,1303:記憶體陣列
902,1001,1002,1101,1102,1201,1202,1301,1302,3501,3801-0,3801-1,...,3801-(n-1),3801-n,3901-0,3901-1,...,3901-(n-1),3901-n,3902-0,3902-1,...,3902-(n-1),3902-n,4004,4901-0,4901-1,4901-2,4901-3,5001-0,5001-1,5001-2,5001-3,5101-0,5101-1,5101-2,5101-3:參考陣列
903:控制閘極線
904:抹除閘極線
1012,1014:二極體連接式貫穿多工器
1204:串疊電晶體
1205:多工器
1314:二極體連接式參考胞元貫穿多工器
1400:LSTM
1401,1402,1403,1404,1801,1802,1803,1804:胞元
1500,1600,1700:LSTM胞元
1501,1502,1503,1901,1902:S型函數構件
1504,1505,1903:雙曲正切構件
1506,1507,1508,1703,1904,1905,1906,2103:乘法器構件
1509,1708,1907,2105:加法構件
1704,1705,1706,1707,2106,2107,2108:暫存器
1709,1710,2104:多工器
1800:GRU
1900,2000,2100:GRU胞元
1908,2109:互補構件
2701-1,2701-2,…,2701-(N-1),2701-N:位元線控制閘極
3100,3210,3300,3400,4001:VMM系統
3101,3102,3213,3303,3304,3305,3306,3307,3308:求和電路
3211:第一陣列
3212:第二陣列
3301,3302:陣列
3402:列解碼器
3403:高電壓解碼器
3404:行解碼器
3405:位元線驅動器
3406:輸入電路
3407:輸出電路
3408:控制邏輯
3409:偏壓產生器
3410:高電壓產生區塊
3411:電荷泵
3412:電荷泵調節器
3413:高電壓位準產生器
3414:演算法控制器
3415:類比電路系統
3416:控制引擎
3417:測試控制邏輯
3500,3600,3701,3702,4003:實體陣列
4005:基板
4006,4056,4057:擴散層
4100:參考陣列選擇方法
4101,4102,4103,4104:操作
4300:參考記憶體胞元
4400:列偏壓校準電路
4401:電流數位至類比轉換器
4402:運算放大器
4403:參考記憶體胞元
4500,4600:列DAC偏壓產生器
4501,4601:電壓梯
4502:映射區塊
4503:輸出緩衝器
4562_0,4562_1,...,4562_m-1,4562_m:修整區塊
4563_0,4563_1,...,4563_m-1,4563_m:子區塊/多工器
4590,4602:DAC_OUT
4063:額外緩衝器
4700,4800:輸入區塊
4701,4801:全域數位至類比轉換器
4702-0,4702-1,...,4702-(n-1),4702-n,4802-0,4802-1,...,4802-(n-1),4802-n:位址列解碼器
4703-0,4703-1,...,4703-(n-1),4703-n,4803-0,4803-1,...,4803-(n-1),4803-n:列暫存器
4704-0,4704-1,...,4704-(n-1),4704-n,4804-0,4804-1,...,4804-(n-1),4804-n:數位比較器區塊
4705-0,4705-1,...,4705-(n-1),4705-n,4805-0,4805-1,...,4805-(n-1),4805-n:列取樣保持緩衝器
4706-0,4706-1,...,4706-(n-1),4706-n,4806-0,4806-1,...,4806-(n-1),4806-n:輸出信號
4707:計數器
ADD[n:0]:列位址
BL0,BL1,BL2,BL3,…,BLN,BLBR0:位元線
BLR0,BLR1,BLR2,BLR3,CG:端子
c
0,c
1,c
2,c
3,c(t-1),c(t):胞元狀態向量
C1,C2,C3,S1,S2,S3:層
CB1,CB2,CB3,CB4:突觸
CG0,CG1,CG2,CG3,CG
M-1,CG
M:控制閘極線/控制閘極電壓
CGbias:電壓
CLK,CLKB:時鐘信號
DIN [n:0]:數位輸入
DINx:數位輸入位元
EG0,EG1:抹除閘極/EG線
EGR0,EGR1:EG線
EN:啟用信號
h
0,h
1,h
2,h
3,h(t-1),h(t):輸出向量
INPUT
0,INPUT
1,…,INPUT
N-1,INPUT
N,INPUT
M-1,INPUT
M,DIN[0:n]:輸入
L0,L1,...,Lk-1,Lk:電壓位準
M1,M2,M3,M4:金屬層
OUTPUT
0,OUTPUT
1,OUTPUT
2,OUTPUT
3,OUTPUT
4,OUTPUT
N-1,OUTPUT
N,ENROW:輸出
P1,P2:激活函數
S0:輸入層
S1,S2,S3:層
SL0,SL1,SL2,SL3:源極線
VREFH:高電壓
VREFL:低電壓
VREFM:中間電壓
WL0,WL1,WL2,WL3,WL4,WL5,WL6,WL7,WL
M-1,WL
M,WLA0,WLB0,WLA1,WLB1,WLA2,WLB2,WLA3,WLB3:字元線
x
0,x
1,x
2,x
3,x(t):輸入向量
圖1為繪示人工神經網路之圖。
圖2描繪先前技術分離閘極快閃記憶體胞元。
圖3描繪另一先前技術分離閘極快閃記憶體胞元。
圖4描繪另一先前技術分離閘極快閃記憶體胞元。
圖5描繪另一先前技術分離閘極快閃記憶體胞元。
圖6為繪示利用一或多個非揮發性記憶體陣列之例示性人工神經網路之不同層級的圖。
圖7為繪示VMM系統之方塊圖。
圖8為繪示利用一或多個VMM系統之示範性人工神經網路的方塊圖。
圖9描繪VMM系統之另一實例。
圖10描繪VMM系統之另一實例。
圖11描繪VMM系統之另一實例。
圖12描繪VMM系統之另一實例。
圖13描繪VMM系統之另一實例。
圖14描繪先前技術長短期記憶體系統。
圖15描繪供用於長短期記憶體系統中之示範性胞元。
圖16描繪圖15之胞元之示範性實施。
圖17描繪圖15之胞元之另一示範性實施。
圖18描繪先前技術閘控遞回單元系統。
圖19描繪用於閘控遞回單元系統中之示範性胞元。
圖20描繪圖19之胞元的示範性實施。
圖21描繪圖19之胞元之另一示範性實施。
圖22描繪VMM系統之另一實例。
圖23描繪VMM系統之另一實例。
圖24描繪VMM系統之另一實例。
圖25描繪VMM系統之另一實例。
圖26描繪VMM系統之另一實例。
圖27描繪VMM系統之另一實例。
圖28描繪VMM系統之另一實例。
圖29描繪VMM系統之另一實例。
圖30描繪VMM系統之另一實例。
圖31描繪VMM系統之另一實例。
圖32描繪VMM系統之另一實例。
圖33描繪VMM系統之另一實例。
圖34描繪VMM系統之實例。
圖35描繪VMM陣列及參考陣列之實例。
圖36描繪VMM陣列及參考陣列之實例。
圖37描繪VMM陣列及參考陣列之實例。
圖38描繪參考陣列之實例。
圖39描繪參考陣列之實例。
圖40A及圖40B描繪類比陣列及嵌入式參考陣列之實體佈局。
圖41描繪參考陣列選擇方法。
圖42A及圖42B描繪具有不同I-V斜率之胞元的資料之實例。
圖43描繪記憶體胞元之實體佈局的實例。
圖44描繪校準電路之實例。
圖45描繪列DAC偏壓產生器。
圖46描繪列DAC偏壓產生器。
圖47描繪全域列DAC解碼器。
圖48描繪全域列DAC解碼器。
圖49描繪參考陣列之示範性佈局。
圖50描繪參考陣列之示範性佈局。
圖51描繪參考陣列之示範性佈局。
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激活函數
P2:激活函數
S0:輸入層
S1:層
S2:層
S3:層
Claims (37)
- 一種系統,其包含: 一向量矩陣乘法陣列,其位於一人工神經網路中;及 複數個參考陣列,其特徵為不同的I-V曲線,其中該複數個參考陣列中之一或多者用於在操作期間產生該向量矩陣乘法陣列之輸入電壓。
- 如請求項1之系統,其包含一控制電路,該控制電路經由該複數個參考陣列中之該一或多者的參考胞元提供一目標電流以產生該輸入電壓。
- 如請求項1之系統,其中,該複數個參考陣列中之該等各別參考陣列在至少一個尺寸上不同。
- 如請求項3之系統,其中,該尺寸為該各別參考陣列之電晶體之一控制閘極線的寬度。
- 如請求項3之系統,其中,該尺寸為該各別參考陣列之電晶體之一字元線的寬度。
- 如請求項3之系統,其中,該尺寸為該各別參考陣列之電晶體之一浮動閘極的寬度。
- 如請求項3之系統,其中,該尺寸為該各別參考陣列中之一非揮發性記憶體胞元的總寬度。
- 如請求項3之系統,其中,該尺寸為該各別參考陣列之電晶體之淺溝槽隔離間隔。
- 如請求項1之系統,其中,該複數個參考陣列中之該等各別參考陣列在一摻雜特性上不同。
- 如請求項1之系統,其中,該複數個參考陣列及該神經網路陣列包含非揮發性記憶體胞元。
- 如請求項10之系統,其中,該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
- 如請求項10之系統,其中,該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 如請求項1之系統,其中,該等參考陣列產生該神經網路陣列之一偏壓。
- 如請求項1之系統,其中,該等參考陣列產生該神經網路陣列之列的一偏壓。
- 如請求項1之系統,其中,該複數個參考陣列及該向量矩陣乘法陣列位於同一實體陣列中。
- 如請求項1之系統,其中,該複數個參考陣列及該向量矩陣乘法陣列位於不同實體陣列中。
- 如請求項1之系統,其中,該複數個參考陣列中之各別參考陣列具有不同電特性。
- 一種方法,其包含: 判定複數個參考陣列之各別度量; 識別該複數個參考陣列中所判定之度量最接近一目標值之一參考陣列;及 使用所識別之參考陣列來產生一人工神經網路中之一向量矩陣乘法陣列之輸入偏壓。
- 如請求項18之方法,其中,該複數個參考陣列及該人工神經網路陣列位於同一實體陣列中。
- 如請求項18之方法,其中,該複數個參考陣列及該人工神經網路陣列位於不同實體陣列中。
- 如請求項18之方法,其中,該複數個參考陣列中之各別參考陣列具有不同電特性。
- 如請求項18之方法,其中,該複數個參考陣列中之各別參考陣列在一摻雜特性上不同。
- 如請求項18之方法,其中,校準包含產生一偏壓電壓及將該偏壓電壓施加至該向量矩陣乘法陣列中之記憶體胞元。
- 如請求項18之方法,其中,該參考陣列產生該神經網路陣列之列的一偏壓。
- 如請求項18之方法,其中,該複數個參考陣列及該人工神經網路陣列包含非揮發性記憶體胞元。
- 如請求項21之方法,其中,該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
- 如請求項21之方法,其中,該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 一種系統,其包含: 一向量矩陣乘法陣列;及 複數個參考陣列,其中該複數個參考陣列中之一或多者用於在操作期間產生施加至該向量矩陣乘法陣列之一偏壓輸入。
- 如請求項28之系統,其中,該向量矩陣乘法陣列為一神經網路陣列。
- 如請求項28之系統,其中,該複數個參考陣列及該向量矩陣乘法陣列包含非揮發性記憶體胞元。
- 如請求項30之系統,其中,該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
- 如請求項30之系統,其中,該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 一種系統,其包含: 複數個參考陣列,其中該複數個參考陣列中之一或多者用於在操作期間產生一向量矩陣乘法陣列之一偏壓電壓。
- 如請求項33之系統,其中,該複數個參考陣列耦接至同一金屬層中之位元線。
- 如請求項33之系統,其中,該複數個參考陣列中之胞元經深度程式化。
- 如請求項33之系統,其中,該複數個參考陣列耦接至不同金屬層中之位元線。
- 如請求項36之系統,其中,該複數個參考陣列使用同一金屬層來將位元線佈線至一周邊電路系統。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263328543P | 2022-04-07 | 2022-04-07 | |
US63/328,543 | 2022-04-07 | ||
US17/848,381 | 2022-06-23 | ||
US17/848,381 US20230325646A1 (en) | 2022-04-07 | 2022-06-23 | Artificial neural network comprising reference array for i-v slope configuration |
PCT/US2022/037229 WO2023195999A1 (en) | 2022-04-07 | 2022-07-14 | Artificial neural network comprising reference array for i-v slope configuration |
WOPCT/US22/37229 | 2022-07-14 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202343451A true TW202343451A (zh) | 2023-11-01 |
Family
ID=88239440
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112109055A TW202343451A (zh) | 2022-04-07 | 2023-03-13 | 包含i-v斜率組構的參考陣列之人工神經網路 |
Country Status (4)
Country | Link |
---|---|
US (2) | US20230325646A1 (zh) |
KR (1) | KR20240137066A (zh) |
CN (1) | CN118742906A (zh) |
TW (1) | TW202343451A (zh) |
-
2022
- 2022-06-23 US US17/848,381 patent/US20230325646A1/en active Pending
- 2022-07-14 CN CN202280092086.8A patent/CN118742906A/zh active Pending
- 2022-07-14 KR KR1020247028022A patent/KR20240137066A/ko unknown
-
2023
- 2023-03-13 TW TW112109055A patent/TW202343451A/zh unknown
- 2023-12-13 US US18/538,951 patent/US20240119272A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240119272A1 (en) | 2024-04-11 |
CN118742906A (zh) | 2024-10-01 |
KR20240137066A (ko) | 2024-09-19 |
US20230325646A1 (en) | 2023-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI815065B (zh) | 在向量矩陣乘法陣列之讀取操作期間補償漂移誤差之電路及方法 | |
JP2023515531A (ja) | 深層学習人工ニューラルネットワークにおけるアナログニューラルメモリセルの超精密チューニング | |
JP2024056734A (ja) | 適応型重みマッピング及び分散電力を有する実質的に一定のアレイソースインピーダンスを有する人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
TWI814383B (zh) | 深度學習人工神經網路中類比神經記憶體的輸出電路 | |
KR20220156878A (ko) | 논리 셀 및 개선된 프로그래밍 메커니즘을 포함하는 인공 신경망에서의 아날로그 신경 메모리 어레이 | |
TW202341014A (zh) | 深度學習人工神經網路中電性參數的校準 | |
TWI848411B (zh) | 具有源極線下拉機制之非揮發性記憶體系統 | |
TW202343451A (zh) | 包含i-v斜率組構的參考陣列之人工神經網路 | |
TWI822198B (zh) | 深度學習人工神經網路中類比神經記憶體的輸出電路 | |
TWI843232B (zh) | 決定施加至神經網路中的一或多個記憶體胞元的偏壓 | |
TWI846378B (zh) | 利用類比輸入的向量矩陣乘法陣列 | |
TWI834397B (zh) | 包含類比陣列及數位陣列的人工神經網路 | |
US20240104164A1 (en) | Verification method and system in artificial neural network array | |
US20230154528A1 (en) | Determination of a bias voltage to apply to one or more memory cells in a neural network | |
WO2023195999A1 (en) | Artificial neural network comprising reference array for i-v slope configuration | |
TW202422557A (zh) | 人工神經網路陣列中的驗證方法及系統 | |
TW202343311A (zh) | 利用類比輸出的向量矩陣乘法陣列 | |
TW202324211A (zh) | 可配置為以類比形式或數位形式儲存神經記憶體權重資料的混合記憶體系統 | |
TW202407579A (zh) | 包含三維積體電路的人工神經網路 | |
TW202431252A (zh) | 決定施加至神經網路中的一或多個記憶體胞元的偏壓 | |
TW202314599A (zh) | 深度學習人工神經網路中類比神經記憶體的輸入電路 | |
TW202437707A (zh) | 包括共模電路的電流至電壓轉換器 | |
TW202341013A (zh) | 深度學習人工神經網路中電性參數的校準 | |
TW202433468A (zh) | 神經網路陣列的多工器 | |
CN118043889A (zh) | 要施加到神经网络中的一个或多个存储器单元的偏置电压的确定 |