TWI805908B - 用於深度學習人工神經網路中之類比神經記憶體的輸出陣列神經元轉換與校正 - Google Patents
用於深度學習人工神經網路中之類比神經記憶體的輸出陣列神經元轉換與校正 Download PDFInfo
- Publication number
- TWI805908B TWI805908B TW109109709A TW109109709A TWI805908B TW I805908 B TWI805908 B TW I805908B TW 109109709 A TW109109709 A TW 109109709A TW 109109709 A TW109109709 A TW 109109709A TW I805908 B TWI805908 B TW I805908B
- Authority
- TW
- Taiwan
- Prior art keywords
- output
- input
- analog
- array
- memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
- 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
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- 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/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C27/00—Electric analogue stores, e.g. for storing instantaneous values
- G11C27/005—Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
-
- 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/44—Indication or identification of errors, e.g. for repair
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
-
- 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
-
- 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/045—Combinations of networks
-
- 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
- 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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C2029/5006—Current
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2216/00—Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
- G11C2216/02—Structural aspects of erasable programmable read-only memories
- G11C2216/04—Nonvolatile memory cell provided with a separate control gate for erasing the cells, i.e. erase gate, independent of the normal read control gate
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Neurology (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Read Only Memory (AREA)
- Non-Volatile Memory (AREA)
- Semiconductor Memories (AREA)
- Memory System (AREA)
- Image Processing (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本發明揭示利用非揮發性記憶體單元之用於類比神經記憶體系統的可組態輸入塊及輸出塊及實體佈局。輸入塊可經組態以支援設置於水平方向中之不同數目的陣列,及輸出塊可經組態以支援設置於垂直方向中之不同數目的陣列。揭示用於可組態輸入塊及輸出塊中之可調整組件。利用系統及方法來補償類比神經記憶體系統中之輸入塊及輸出塊的洩漏及偏移。
Description
[優先權主張] 本申請案主張2019年5月2日提出申請之美國臨時申請案第62/842,279號,標題「用於深度學習人工神經網路中之類比神經記憶體的可組態輸入塊及輸出塊與實體佈局(CONFIGURABLE INPUT BLOCKS AND OUTPUT BLOCKS AND PHYSICAL LAYOUT FOR ANALOG NEURAL MEMORY IN DEEP LEARNING ARTIFICIAL NEURAL NETWORK)」,及2019年6月21日提出申請之美國專利申請案第16/449,205號,標題「用於深度學習人工神經網路中之類比神經記憶體的輸出陣列神經元轉換與校正(OUTPUT ARRAY NEURON CONVERSION AND CALIBRATION FOR ANALOG NEURAL MEMORY IN DEEP LEARNING ARTIFICIAL NEURAL NETWORK)」的優先權。
揭示利用非揮發性記憶體單元(non-volatile memory cells)之用於類比神經記憶體系統的可組態輸入塊及輸出塊及相關實體佈局。
人工神經網路模仿生物神經網路(動物的中樞神經系統,特定而言腦)且被用來估計或概算可取決於大量輸入且一般不知曉的功能。人工神經網路一般包括於彼此間交換訊息的互連「神經元」層。
圖1繪示人工神經網路,其中圓圈代表輸入或神經元層。連接(稱為突觸)以箭頭表示,且其具有可基於經驗調整的數值權重。此使神經網路適應輸入並能夠學習。通常,神經網路包括多個輸入之層。通常存在一或多個神經元之中間層,及提供神經網路之輸出之神經元的輸出層。於各階的神經元個別地或集合地基於自突觸收到的資料進行決定。
於發展用於高效資訊處理之人工神經網路中的其中一個主要挑戰係缺少適當的硬體技術。實際上,實際的神經網路仰賴極大量突觸,從而於神經元之間實現高連接性,即相當高的計算平行性。大體上,可利用數位超級電腦或專業的圖形處理單元叢集達成此複雜性。然而,除了高成本外,此等方法與生物網路相比亦遭受中等的能量效率,其主要由於其執行低精確度類比計算而消耗少得多的能量。已將CMOS類比電路使用於人工神經網路,但鑒於需要大量神經元及突觸,大多數CMOS實施的突觸過於龐大。
申請人先前於美國專利申請案第15/594,439號(經公開為美國專利公開案第2017/0337466號,其以引用的方式併入)中揭示利用一或多個非揮發性記憶體陣列作為突觸之人工(類比)神經網路。非揮發性記憶體陣列操作為類比神經記憶體。神經網路裝置包括經組態以接收第一複數個輸入及自其產生第一複數個輸出之第一複數個突觸,及經組態以接收第一複數個輸出之第一複數個神經元。第一複數個突觸包括複數個記憶體單元,其中各個記憶體單元包括形成於半導體基板中之間隔開的源極及汲極區域與於其間延伸之通道區域,設置於通道區域之第一部分上方且與其隔離的浮動閘極及設置於通道區域之第二部分上方且與其隔離的非浮動閘極。複數個記憶體單元中之各者經組態以儲存對應於浮動閘極上之電子數的權重值。複數個記憶體單元經組態以將第一複數個輸入乘以儲存權重值來產生第一複數個輸出。
於類比神經記憶體系統中使用之各個非揮發性記憶體單元必須經抹除及程式化以於浮動閘極中收容非常特定且精確量的電荷,即電子數。舉例來說 ,各浮動閘極必須收容N個不同值中的一個,其中N係可由各單元指示之不同權重的數目。N的實例包括16、32、64、128、及256。
向量-矩陣乘法(vector by matrix multiplication;VMM)系統中的一項挑戰係快速且準確地自一VMM傳遞輸出作為另一VMM之輸入的能力,及在有效率地利用半導體晶粒內之實體空間的同時進行此工作。
所需要的是利用非揮發性記憶體單元之用於類比神經記憶體系統的可組態輸入塊及輸出塊與實體佈局。進一步需要用來補償用於該等系統之輸入塊及輸出塊中之洩漏及偏移的系統及方法。
揭示用來補償類比神經記憶體系統中輸入塊及輸出塊中之洩漏及偏移的系統及方法。
操作用於類比神經記憶體單元之輸出電路塊之方法的一具體例包括測量洩漏及/或偏移;儲存測得量作為第一值;及使用下式確定記憶體單元的最低有效位元(LSB):LSB = 取捨至下一階的第一值。
操作用於類比神經記憶體單元之輸出電路塊之另一具體例包括測量偏移或洩漏及儲存測得量作為第一值;叫回第一值;進行溫度調整;及使用下式確定記憶體單元範圍的最低有效位元(LSB):LSB = 取捨至下一階的第一值。
在自耦合至類比神經記憶體單元之陣列之輸出電路塊產生輸出的同時補償洩漏或偏移之方法的一具體例包括使用類比-數位轉換器測量輸出電路塊值中之洩漏或偏移以產生一數位洩漏或偏移值;儲存該數位洩漏或偏移值作為計數器中之第一值;及補償該洩漏或偏移。
本發明之人工神經網路利用CMOS技術及非揮發性記憶體陣列之組合。
非揮發性記憶體單元
熟知數位非揮發性記憶體。舉例來說,美國專利5,029,130 (「’130專利」)其以引用的方式併入本文,揭示分裂閘非揮發性記憶體單元之陣列,其係一類型的快閃記憶體單元。此一記憶體單元210顯示於圖2。各記憶體單元210包括形成於半導體基板12中之源極區域14及汲極區域16,其間具有通道區域18。浮動閘極20形成於通道區域18之第一部分上方並與其隔離(且控制其傳導性),及於源極區域14之一部分上方。字線端子22 (其通常耦合至字線)具有設置於通道區域18之第二部分上方並與其隔離(且控制其傳導性)的第一部分,及向上延伸且於浮動閘極20上方的第二部分。浮動閘極20及字線端子22藉由閘極氧化物與基板12隔離。位元線24耦合至汲極區域16。
經由將高正電壓置於字線端子22上(其導致浮動閘極20上之電子經由富爾-諾罕穿隧(Fowler-Nordheim tunneling)自浮動閘極20通過中間絕緣穿隧至字線端子22)來抹除記憶體單元210 (其中將電子自浮動閘極移除)。
經由將正電壓置於字線端子22上,及將正電壓置於源極區域14上來將記憶體單元210程式化(其中將電子置於浮動閘極上)。電子流將自源極區域14朝向汲極區域16流動。當電子到達字線端子22與浮動閘極20之間的間隙時,其將經加速及被加熱。一些經加熱電子將由於來自浮動閘極20之吸引靜電力而通過閘極氧化物注射於浮動閘極20上。
經由將正讀取電壓置於源極區域16及字線端子22上(其打開在字線端子下方之部分的通道區域18)來讀取記憶體單元210。若浮動閘極20帶正電(即抹除電子),則在浮動閘極20下方之部分的通道區域18亦經打開,且電流將流動穿過通道區域18,其經感測為經抹除或「1」狀態。若浮動閘極20帶負電(即經電子程式化),則在浮動閘極20下方之部分的通道區域大部分或完全經關閉,且電流將不流動(或將極少流動)穿過通道區域18,其經感測為經程式化或「0」狀態。
表1描述可經施加至記憶體單元110之端子來進行讀取、抹除、及程式操作的典型電壓範圍:表 1 :圖 2 之快閃記憶體單元 210 的操作
「
讀取1」
係其中單元電流係位元線上之輸出的讀取模式。「
讀取2」
係其中單元電流係源極線上之輸出的讀取模式。
WL | BL | SL | |
讀取1 | 0.5-3V | 0.1-2V | 0V |
讀取2 | 0.5-3V | 0-2V | 2-0.1V |
抹除 | ~11-13V | 0V | 0V |
程式 | 1-2V | 1-3μA | 9-10V |
圖3顯示記憶體單元310,其與圖2之記憶體單元210相似但添加控制閘極(CG)28。控制閘極28於程式化中係於高電壓(例如,10V)下偏壓,於抹除中為低或負(例如,0v/-8V),於讀取中為低或中範圍(例如,0v/2.5V)。其他端子係與圖2者類似地偏壓。
圖4描繪四閘極記憶體單元410,其包括源極區域14、汲極區域16、於通道區域18之第一部分上方之浮動電極20、於通道區域18之第二部分上方之選擇閘極22 (通常耦合至字線,WL)、於浮動閘極20上方之控制閘極28、及於源極區域14上方之抹除閘極30。此組態描述於美國專利6,747,310中,其以引用的方式併入本文中供所有用途用。在此,除了浮動閘極20外,所有閘極為非浮動閘極,此意謂其係電連接或可連接至電壓源。程式化係藉由來自通道區域18之受熱電子將其自身注入至浮動電極20上來進行。抹除係藉由自浮動閘極20至抹除閘極30之電子穿隧來進行。
表2描述可經施加至記憶體單元310之端子來進行讀取、抹除、及程式操作的典型電壓範圍:表 2 :圖 4 之快閃記憶體單元 410 的操作
「
讀取1」
係其中單元電流係位元線上之輸出的讀取模式。「
讀取2」
係其中單元電流係源極線上之輸出的讀取模式。
WL/SG | BL | CG | EG | SL | |
讀取1 | 0.5-2V | 0.1-2V | 0-2.6V | 0-2.6V | 0V |
讀取2 | 0.5-2V | 0-2V | 0-2.6V | 0-2.6V | 2-0.1V |
抹除 | ~0.5V/0V | 0V | 0V/-8V | 8-12V | 0V |
程式 | 1V | 1μA | 8-11V | 4.5-9V | 4.5-5V |
圖5顯示記憶體單元510,其與圖4之記憶體單元410相似,僅除了記憶體單元510不包含抹除閘極EG。抹除係經由使基板18偏壓至高電壓及使控制閘極CG 28偏壓至低或負電壓來進行。或者,抹除係經由使字線22偏壓至正電壓及使控制閘極28偏壓至負電壓來進行。程式化及讀取係與圖4相似。
圖6描繪三閘極記憶體單元610,其係另一類型的快閃記憶體單元。記憶體單元610與圖4之記憶體單元410相同,僅除了記憶體單元610不具有獨立的控制閘極。抹除操作(藉此通過使用抹除閘極進行抹除)及讀取操作係與圖4相似,僅除了未施加控制閘極偏壓。程式化操作亦係在無控制閘極偏壓下進行,結果,必需於程式操作期間於源極線上施加較高電壓來補償缺少控制閘極偏壓。
表3描述可經施加至記憶體單元610之端子來進行讀取、抹除、及程式操作的典型電壓範圍:表 3 :圖 6 之快閃記憶體單元 610 的操作
「
讀取1」
係其中單元電流係位元線上之輸出的讀取模式。「
讀取2」
係其中單元電流係源極線上之輸出的讀取模式。
WL/SG | BL | EG | SL | |
讀取1 | 0.5-2.2V | 0.1-2V | 0-2.6V | 0V |
讀取2 | 0.5-2.2V | 0-2V | 0-2.6V | 2-0.1V |
抹除 | -0.5V/0V | 0V | 11.5V | 0V |
程式 | 1V | 2-3μA | 4.5V | 7-9V |
圖7描繪疊閘記憶體單元710,其係另一類型的快閃記憶體單元。記憶體單元710與圖2之記憶體單元210相似,僅除了浮動閘極20於整個通道區域18上方延伸,及控制閘極22(其在此將耦合至字線)於浮動閘極20上方延伸,其藉由絕緣層(未圖示)分隔。抹除、程式化、及讀取操作以與先前針對記憶體單元210所述者的相似方式操作。
表4描述可經施加至記憶體單元710及基板12之端子來進行讀取、抹除、及程式操作的典型電壓範圍:表 4 :圖 7 之快閃記憶體單元 710 的操作
CG | BL | SL | 基板 | |
讀取1 | 0-5V | 0.1-2V | 0-2V | 0V |
讀取2 | 0.5-2V | 0-2V | 2-0.1V | 0V |
抹除 | -8至-10V/0V | FLT | FLT | 8-10V / 15-20V |
程式 | 8-12V | 3-5V/0V | 0V/3-5V | 0V |
「
讀取1」
係其中單元電流係位元線上之輸出的讀取模式。「
讀取2」
係其中單元電流係源極線上之輸出的讀取模式。視情況,在包括記憶體單元210、310、410、510、610、或710之列及行的陣列中,源極線可耦合至一列記憶體單元或至兩相鄰列的記憶體單元。換言之,源極線可由相鄰列的記憶體單元共用。
為於人工神經網路中利用包括上述非揮發性記憶體單元中之其中一類型的記憶體陣列,進行兩種修改。首先,組態線路使得各記憶體單元可個別地程式化、抹除、及讀取,而不會不利地影響陣列中之其他記憶體單元的記憶狀態,如進一步說明於下文。其次,提供記憶體單元的連續(類比)程式化。
明確言之,陣列中之各記憶體單元的記憶狀態(即於浮動閘極上之電荷)可獨立於其他記憶體單元且對其他記憶體單元具有最小干擾地自完全抹除狀態連續改變至完全程式化狀態。在另一具體例中,陣列中之各記憶體單元的記憶狀態(即於浮動閘極上之電荷)可獨立於其他記憶體單元且對其他記憶體單元具有最小干擾地自完全程式化狀態連續改變至完全抹除狀態,及反之亦然。此意謂單元儲存係類比的或至少可儲存許多離散值(諸如16或64個不同值)中之一者,其容許非常精確及個別調整記憶體陣列中之所有單元,且其使得記憶體陣列適合於儲存神經網路之突觸權重及對其進行微調。
文中描述的方法及手段可應用於其他非揮發性記憶體技術,諸如(但不限於)SONOS(矽-氧化物-氮化物-氧化物-矽,氮化物中之電荷捕捉(charge trap))、MONOS(金屬-氧化物-氮化物-氧化物-矽,氮化物中之金屬電荷捕捉)、ReRAM(電阻式隨機存取記憶體)、PCM(相變化記憶體)、MRAM(磁性隨機存取記憶體)、FeRAM(鐵電性隨機存取記憶體)、OTP (二階或多階一次可程式)、及CeRAM (相關電子隨機存取記憶體)。文中描述的方法及手段可應用於被用在神經網路的揮發性記憶體技術,諸如(但不限於)SRAM、DRAM、及揮發性突觸單元。
採用非揮發性記憶體單元陣列的神經網路
圖8概念性地繪示利用本具體例之非揮發性記憶體陣列之神經網路的非限制性實例。此實例將非揮發性記憶體陣列神經網路用於臉部辨識應用,但可使用以非揮發性記憶體陣列為基礎的神經網路來實行任何其他適當應用。
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特徵映射皆可經引導至相同影像特徵的不同態樣,諸如邊界識別。舉例來說,第一映射(使用第一權重組產生,第一權重組由用來產生此第一映射的所有掃描共用)可識別圓形邊緣,第二映射(使用不同於第一權重組的第二權重組產生)可識別矩形邊緣,或特定特徵的縱橫比,等等。
在自層C1進行至層S1之前應用激活函數P1(混合(pooling)),其混合來自各特徵映射中之連續、非重疊2×2區域之值。混合函數的目的係算出鄰近位置的平均值(或亦可使用最大值函數),以降低(例如)邊緣位置的相依性及在進行至下一階段之前降低資料大小。於層S1,存在16個15×15特徵映射(即十六個各15×15像素的不同陣列)。從層S1進行至層C2的突觸CB2利用4×4濾波器、利用1像素的濾波器位移掃描S1中之映射。於層C2,存在22個12×12特徵映射。在自層C2進行至層S2之前應用激活函數P2(混合),其混合來自各特徵映射中之連續非重疊2×2區域中的值。於層S2,存在22個6×6特徵映射。於自層S2進行至層C3的突觸CB3應用激活函數(混合),其中層C3中之每個神經元經由CB3之各別突觸連接至層S2中的每個映射。於層C3,存在64個神經元。從層C3進行至輸出層S3之突觸CB4將C3完全連接至S3,即層C3中之每個神經元連接至層S3中之每個神經元。S3處之輸出包括10個神經元,其中最高輸出神經元決定類別。此輸出可,例如,指示原始影像之內容的鑑別或分類。
各層的突觸係使用非揮發性記憶體單元的陣列、或陣列的一部分來實施。
圖9係可用於該用途之陣列的方塊圖。向量-矩陣乘法(VMM)系統32包括非揮發性記憶體單元且被利用作為一層與下一層之間的突觸(諸如圖6中之CB1、CB2、CB3、及CB4)。明確言之,VMM系統32包括VMM陣列33,其包括以列及行配置的非揮發性記憶體單元;抹除閘極及字線閘極解碼器34;控制閘極解碼器35;位元線解碼器36及源極線解碼器37,其解碼非揮發性記憶體單元陣列33的各別輸入。VMM陣列33的輸入可係來自抹除閘極及字線閘極解碼器34或來自控制閘極解碼器35。於此實例中之源極線解碼器37亦解碼VMM陣列33之輸出。或者,位元線解碼器36可解碼VMM陣列33之輸出。
VMM陣列33提供兩用途。首先,其儲存將由VMM系統32使用的權重。其次,VMM陣列33有效地將輸入乘以儲存於VMM陣列33中之權重並針對每個輸出線(源極線或位元線)將其加總以產生輸出,該輸出將係下一層之輸入或最終層之輸入。經由進行乘法及加法功能,VMM陣列33不需要獨立的乘法及加法邏輯電路且由於其之原位記憶體計算而亦係高能效的。
將VMM陣列33之輸出供應至微分加法器(諸如和值運算放大器(summing op-amp)或和值電流鏡)38,其將VMM陣列33的輸出加總以產生該卷積(convolution)的單一值。微分加法器38係經配置來進行正權重及負權重的加總。
然後將微分加法器38之經加總的輸出值供應至激活函數電路39,其矯正輸出。激活函數電路39可提供S形、雙曲正切(tanh)、ReLU函數、或任何其他非線性函數。激活函數電路39之經矯正的輸出值成為下一層(例如,圖8中之C1)之特徵映射的一元素,且然後應用至下一突觸以產生下一特徵映射層或最終層。因此,於此實例中,VMM陣列33構成複數個突觸(其自先前神經元層或自諸如影像資料庫的輸入層接收其之輸入),及加法器38及激活函數電路39構成複數個神經元。
圖9中VMM系統32之輸入(WLx、EGx、CGx、及視情況BLx及SLx)可係類比值、二元值、數位脈衝(在該情況中可能需要脈衝-類比轉換器PAC來將脈衝轉換為適當的輸入類比值)或數位位元(在該情況中提供DAC來將數位位元轉換為適當的輸入類比值)及輸出可係類比值、二元值、數位脈衝、或數位位元(在該情況中提供輸出ADC來將輸出類比值轉換為數位位元)。
圖10係描繪VMM系統32之多個層(在此標示為VMM系統32a、32b、32c、32d、及32e)之使用的方塊圖。如圖10所示,輸入(指示為Inputx)藉由數位-類比轉換器31自數位轉換為類比,並提供至輸入VMM系統32a。經轉換的類比輸入可係電壓或電流。第一層的輸入D/A轉換可經由使用針對輸入VMM系統32a之矩陣乘法器將輸入Inputx映射至適當類比值的函數或LUT(查找表)來進行。輸入轉換亦可利用類比-類比(A/A)轉換器將外部類比輸入轉換成至輸入VMM系統32a之映射類比輸入來進行。輸入轉換亦可藉由數位-數位脈衝(D/P)轉換器來進行,以將外部數位輸入轉換成至輸入VMM系統32a的一或多個映射數位脈衝。
由輸入VMM系統32a所產生的輸出作為輸入提供至下一VMM系統(隱藏階1) 32b,其繼而產生一輸出,該輸出作為輸入提供至下一VMM系統(隱藏階2) 32c,依此類推。VMM系統32的各個層作為卷積類神經網路(CNN)之突觸及神經元的不同層。各VMM系統32a、32b、32c、32d、及32e可係獨立式、實體非揮發性記憶體陣列,或多個VMM系統可利用相同實體非揮發性記憶體陣列之不同部分,或多個VMM系統可利用相同實體非揮發性記憶體系統之重疊部分。各VMM系統32a、32b、32c、32d、及32e亦可針對其陣列或神經元之各個部分時間多工化。圖10顯示之實例包含五個層(32a、32b、32c、32d、32e):一個輸入層(32a)、兩個隱藏層(32b、32c)、及兩個完全連接層(32d、32e)。熟悉技藝人士當明瞭此僅係例示性且系統可替代地包含多於兩個隱藏層及多於兩個完全連接層。此外,不同層可使用n位元記憶體單元(不同單元支援多個不同階)的不同組合,包括2階記憶體單元(意謂僅2階,「0」及「1」)。
VMM陣列
圖11描繪神經元VMM陣列1100,其尤其適用於如圖3所示之記憶體單元310,且被利用作為介於輸入層與下一層之間的突觸及神經元之部分。VMM陣列1100包含非揮發性記憶體單元之記憶體陣列1101及非揮發性參考記憶體單元之參考陣列1102 (位於陣列頂部)。或者,可將另一參考陣列置於底部。
在VMM陣列1100中,控制閘極線,諸如控制閘極線1103,於垂直方向中延伸(因此於列方向中之參考陣列1102正交於控制閘極線1103),及抹除閘極線,諸如抹除閘極線1104,於水平方向中延伸。在此,VMM陣列1100之輸入係於控制閘極線(CG0、CG1、CG2、CG3)上提供,及VMM陣列1100之輸出係於源極線(SL0、SL1)上出現。在一具體例中,僅使用偶數個列,及在另一具體例中,僅使用奇數個列。置於各源極線(分別為SL0、SL1)上之電流執行將來自連接至該特定源極線之記憶體單元之所有電流加總的功能。
如文中針對神經網路所述,VMM陣列1100之非揮發性記憶體單元,即VMM陣列1100之快閃記憶體,較佳經組態以於次臨限(sub-threshold)區域中操作。
文中描述之非揮發性參考記憶體單元及非揮發性記憶體單元係以弱倒轉偏壓:
Ids = Io * e( Vg- Vth ) /nVt
= w * Io * e(Vg)/nVt
,
其中 w = e( - Vth ) /nVt
其中Vg係記憶體單元上之閘極電壓;Vth係記憶體單元之臨限電壓;Vt係熱電壓 = k*T/q,其中k係波茲曼(Boltzmann)常數,T係克氏(Kelvin)溫度,及q係電子電荷;n係斜率因數= 1 + (Cdep/Cox),其中 Cdep = 空乏層之電容,及Cox係閘極氧化物層之電容;及Io係於等於臨限電壓之閘極電壓下之記憶體單元電流。Io正比於(Wt/L)*u*Cox* (n-1) * Vt2
,其中 u 係載子移動率及Wt 及L分別係記憶體單元之寬度及長度。
針對 I-V對數轉換器,使用記憶體單元(諸如參考記憶體單元或周邊記憶體單元)或電晶體來將輸入電流轉換為輸入電壓:
Vg= n*Vt*log [Ids/wp*Io]
在此,wp係參考或周邊記憶體單元之w。
針對使用作為向量矩陣乘法器VMM陣列之記憶體陣列,輸出電流係:
Iout = wa * Io * e(Vg)/nVt
,亦即
Iout = (wa/wp) * Iin = W * Iin
W = e( Vthp - Vtha ) /nVt
在此,wa = 記憶體陣列中之各記憶體單元之w。
可使用字線或控制閘極作為記憶體單元之輸入電壓之輸入。
或者,文中描述之VMM陣列之快閃記憶體單元可經組態以於線性區域中操作:
Ids = beta* (Vgs-Vth)*Vds ; beta = u*Cox*Wt/L,
其中Wt及 L 分別係電晶體之寬度及長度
W = α (Vgs-Vth),
意謂權重W與(Vgs-Vth)成正比
可使用字線或控制閘極或位元線或源極線作為於線性區域中操作之記憶體單元的輸入。可使用位元線或源極線作為記憶體單元之輸出。
針對I-V線性轉換器,可使用記憶體單元(諸如參考記憶體單元或周邊記憶體單元)或於線性區域中操作之電晶體或電阻器來將輸入/輸出電流線性轉換為輸入/輸出電壓。
或者,文中描述之VMM陣列之快閃記憶體單元可經組態以於飽和區域中操作:
Ids = ½ * beta* (Vgs-Vth)2
; beta = u*Cox*Wt/L
W = α (Vgs-Vth)2
, 意謂權重W與 (Vgs-Vth)2
成正比
可使用字線、控制閘極、或抹除閘極作為於飽和區域中操作之記憶體單元的輸入。可使用位元線或源極線作為輸出神經元之輸出。
或者,文中描述之VMM陣列之快閃記憶體單元可用於所有區域或其之組合(次臨限、線性、或飽和)。
圖9之VMM陣列32之其他具體例描述於美國專利申請案第15/826,345號中,該案以引用的方式併入本文。如該申請案中所說明,可使用源極線或位元線作為神經元輸出(電流和值輸出)。
圖12描繪神經元VMM陣列1200,其尤其適用於如圖2所示之記憶體單元210,且被利用作為輸入層與下一層之間的突觸。VMM陣列1200包含非揮發性記憶體單元之記憶體陣列1203、第一非揮發性參考記憶體單元之參考陣列1201、及第二非揮發性參考記憶體單元之參考陣列1202。配置於陣列之行方向中之參考陣列1201及1202用來將流入至端子BLR0、BLR1、BLR2、及BLR3中之電流輸入轉換成電壓輸入WL0、WL1、WL2、及WL3。實際上,第一及第二非揮發性參考記憶體單元係具有流入其中之電流輸入之通過多工器1214(僅部分描繪)連接的二極體。參考單元經調整(例如,程式化)至目標參考值。目標參考值係由參考小型陣列矩陣(未圖示)提供。
記憶體陣列1203提供兩用途。首先,其儲存將由VMM陣列1200使用於其之各別記憶體單元上之權重。其次,記憶體陣列1203有效地將輸入(即於端子BLR0、BLR1、BLR2、及BLR3中提供之電流輸入,參考陣列1201及1202將其轉換成輸入電壓以供應至字線WL0、WL1、WL2、及WL3)乘以儲存於記憶體陣列1203中之權重,然後將所有結果(記憶體單元電流)相加以產生各別位元線(BL0–BLN)上之輸出,其將係下一層之輸入或最終層之輸入。經由進行乘法及加法功能,記憶體陣列1203不需要獨立的乘法及加法邏輯電路且亦係高能效的。在此,於字線WL0、WL1、WL2、及WL3上提供電壓輸入,且輸出於讀取(推論)操作期間出現於各別位元線BL0–BLN上。置於各個位元線BL0–BLN上之電流執行來自連接至該特定位元線之所有非揮發性記憶體單元之電流的加總功能。
表5描述VMM陣列1200之操作電壓。表中之欄指示置於選定單元之字線、未選定單元之字線、選定單元之位元線、未選定單元之位元線、選定單元之源極線、及未選定單元之源極線上之電壓,其中FLT指示浮動,即未施加電壓。列指示讀取、抹除、及程式之操作。表 5 圖 12 之 VMM 陣列 1200 之操作:
WL | WL- 未選定 | BL | BL- 未選定 | SL | SL- 未選定 | |
讀取 | 0.5-3.5V | -0.5V/0V | 0.1-2V (Ineuron) | 0.6V-2V/FLT | 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 |
圖13描繪神經元VMM陣列1300,其尤其適用於如圖2所示之記憶體單元210,且被利用作為輸入層與下一層之間的突觸及神經元之部分。VMM陣列1300包含非揮發性記憶體單元之記憶體陣列1303、第一非揮發性參考記憶體單元之參考陣列1301、及第二非揮發性參考記憶體單元之參考陣列1302。參考陣列1301及1302於VMM陣列1300之列方向中延伸。VMM陣列與VMM 1100相似,僅除了在VMM陣列1300中,字線係於垂直方向中延伸。在此,輸入係於字線(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)上提供,及輸出於讀取操作期間出現於源極線(SL0、SL1)上。置於各源極線上之電流執行來自連接至該特定源極線之記憶體單元之所有電流的加總功能。
表6描述VMM陣列1300之操作電壓。表中之欄指示置於選定單元之字線、未選定單元之字線、選定單元之位元線、未選定單元之位元線、選定單元之源極線、及未選定單元之源極線上之電壓。列指示讀取、抹除、及程式之操作。表 6 圖 13 之 VMM 陣列 1300 之操作
WL | WL-未選定 | BL | BL-未選定 | SL | SL-未選定 | |
讀取 | 0.5-3.5V | -0.5V/0V | 0.1-2V | 0.1V- 2V/FLT | ~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 |
圖14描繪神經元VMM陣列1400,其尤其適用於如圖3所示之記憶體單元310,且被利用作為輸入層與下一層之間的突觸及神經元之部分。VMM陣列1400包含非揮發性記憶體單元之記憶體陣列1403、第一非揮發性參考記憶體單元之參考陣列1401、及第二非揮發性參考記憶體單元之參考陣列1402。參考陣列1401及1402用來將流入至端子BLR0、BLR1、BLR2、及BLR3中之電流輸入轉換成電壓輸入CG0、CG1、CG2、及CG3。實際上,第一及第二非揮發性參考記憶體單元係具有經由BLR0、BLR1、BLR2、及BLR3流入其中之電流輸入之通過多工器1412(僅部分顯示)連接的二極體。多工器1412各包括各別的多工器1405及串疊電晶體1404以確保於讀取操作期間於第一及第二非揮發性參考記憶體單元各者之位元線(諸如BLR0)上的恒定電壓。參考單元經調整至目標參考值。
記憶體陣列1403提供兩用途。首先,其儲存將由VMM陣列1400使用之權重。其次,記憶體陣列1403有效地將輸入(提供至端子BLR0、BLR1、BLR2、及BLR3之電流輸入,參考陣列1401及1402根據儲存於記憶體陣列中之權重將此等電流輸入轉換成輸入電壓以供應至控制閘極(CG0、CG1、CG2、及CG3),然後將所有結果(單元電流)相加以產生輸出,其出現在BL0–BLN上,且將係下一層之輸入或最終層之輸入。經由進行乘法及加法功能,記憶體陣列不需要獨立的乘法及加法邏輯電路且亦係高能效的。在此,於控制閘極線(CG0、CG1、CG2、及CG3)上提供輸入,且輸出於讀取操作期間出現於位元線(BL0–BLN)上。置於各位元線上之電流執行來自連接至該特定位元線之記憶體單元之所有電流的加總功能。
VMM陣列1400針對記憶體陣列1403中之非揮發性記憶體單元實施單向調整。換言之,將各非揮發性記憶體單元抹除然後部分程式化,直至於浮動閘極上達到期望電荷為止。此可,例如,使用說明於下的精度程式化技術來進行。如將過多電荷置於浮動閘極上(以致將錯誤值儲存於單元中),則必須抹除單元且必須重新開始部分程式化操作之順序。如所示,需將共用相同抹除閘極(諸如EG0或EG1)之兩列一起抹除(其稱為分頁抹除(page erase)),及其後將各單元部分程式化,直至於浮動閘極上達到期望電荷為止。
表7描述VMM陣列1400之操作電壓。表中之欄指示置於選定單元之字線、未選定單元之字線、選定單元之位元線、未選定單元之位元線、選定單元之控制閘極、在與選定單元相同區段中之未選定單元之控制閘極、在與選定單元不同區段中之未選定單元之控制閘極、選定單元之抹除閘極、未選定單元之抹除閘極、選定單元之源極線、及未選定單元之源極線上之電壓。列指示讀取、抹除、及程式之操作。表 7 圖 14 之 VMM 陣列 1400 之操作
WL | WL- 未選定 | BL | BL- 未選定 | CG | CG- 未選定 相同區段 | CG- 未選定 | EG | EG- 未選定 | SL | SL- 未選定 | |
讀取 | 0.5-2V | -0.5V/ 0V | 0.1-2V (Ineuron) | 0V/ FLT | 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- 1 uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
圖15描繪神經元VMM陣列1500,其尤其適用於如圖3所示之記憶體單元310,且被利用作為輸入層與下一層之間的突觸及神經元之部分。VMM陣列1500包含非揮發性記憶體單元之記憶體陣列1503、參考陣列1501或第一非揮發性參考記憶體單元、及第二非揮發性參考記憶體單元之參考陣列1502。EG線EGR0、EG0、EG1及EGR1係垂直延伸,而CG線CG0、CG1、CG2及CG3及SL線WL0、WL1、WL2及WL3係水平延伸。VMM陣列1500與VMM陣列1400相似,僅除了VMM陣列1500實施雙向調整,其中各個別單元可視需要經完全抹除、部分程式化、及部分抹除,以由於使用獨立的EG線而於浮動閘極上達成期望量的電荷。如所示,參考陣列1501及1502將端子BLR0、BLR1、BLR2、及BLR3中之輸入電流轉換成待施加至列方向中之記憶體單元的控制閘極電壓CG0、CG1、CG2、及CG3(通過多工器1514通過二極體連接之參考單元的作用)。電流輸出(神經元)係於位元線BL0 – BLN中,其中各位元線將來自連接至該特定位元線之非揮發性記憶體單元之所有電流加總。
表8描述VMM陣列1500之操作電壓。表中之欄指示置於選定單元之字線、未選定單元之字線、選定單元之位元線、未選定單元之位元線、選定單元之控制閘極、在與選定單元相同區段中之未選定單元之控制閘極、在與選定單元不同區段中之未選定單元之控制閘極、選定單元之抹除閘極、未選定單元之抹除閘極、選定單元之源極線、及未選定單元之源極線上之電壓。列指示讀取、抹除、及程式之操作。表 8 : 圖 15 之 VMM 陣列 1500 之操作
WL | WL- 未 選定 | BL | BL- 未 選定 | CG | CG- 未 選定 相同 區段 | CG- 未選定 | EG | EG- 未 選定 | SL | SL- 未 選定 | |
讀取 | 1.0-2V | -0.5V /0V | 0.6-2V (Ineuron) | 0V/FLT | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0-2.6V | 0V | 0V/FLT |
抹除 | 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-1 uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
圖24描繪神經元VMM陣列2400,其尤其適用於如圖2所示之記憶體單元210,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在VMM陣列2400中,輸入INPUT0
、…、 INPUTN
分別係於位元線BL0
、…、BLN
上接收,及輸出OUTPUT1
、OUTPUT2
、OUTPUT3
、及OUTPUT4
分別係於源極線SL0
、SL1
、SL2
、及SL3
上產生。
圖25描繪神經元VMM陣列2500,其尤其適用於如圖2所示之記憶體單元210,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、INPUT1
、INPUT2
、及INPUT3
分別係於源極線SL0
、SL1
、SL2
、及SL3
上接收,及輸出OUTPUT0
、…OUTPUTN
係於位元線BL0
、…、BLN
上產生。
圖26描繪神經元VMM陣列2600,其尤其適用於如圖2所示之記憶體單元210,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTM
分別係於字線WL0
、…、WLM
上接收,及輸出OUTPUT0
、…OUTPUTN
係於位元線BL0
、…、BLN
上產生。
圖27描繪神經元VMM陣列2700,其尤其適用於如圖3所示之記憶體單元310,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTM
分別係於字線WL0
、…、WLM
上接收,及輸出OUTPUT0
、…OUTPUTN
係於位元線BL0
、…、BLN
上產生。
圖28描繪神經元VMM陣列2800,其尤其適用於如圖4所示之記憶體單元410,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTn
分別係於垂直控制閘極線CG0
、…、CGN
上接收,及輸出OUTPUT1
及OUTPUT2
係於源極線SL0
及SL1
上產生。
圖29描繪神經元VMM陣列2900,其尤其適用於如圖4所示之記憶體單元410,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTN
分別係於位元線控制閘極2901-1、2901-2、…、2901-(N-1)、及2901-N的閘極上接收,其分別耦合至位元線BL0
、…、BLN
。例示性的輸出OUTPUT1
及OUTPUT2
係於源極線SL0
及SL1
上產生。
圖30描繪神經元VMM陣列3000,其尤其適用於如圖3所示之記憶體單元310、如圖5所示之記憶體單元510、及如圖7所示之記憶體單元710,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTM
係於字線WL0
、…、WLM
上接收,及輸出OUTPUT0
、…、OUTPUTN
分別係於位元線BL0
、…、BLN
上產生。
圖31描繪神經元VMM陣列3100,其尤其適用於如圖3所示之記憶體單元310、如圖5所示之記憶體單元510、及如圖7所示之記憶體單元710,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTM
係於控制閘極線CG0
、…、CGM
上接收。輸出OUTPUT0
、…、OUTPUTN
分別係於垂直源極線SL0
、…、SLN
上產生,其中各源極線SLi
係耦合至行i中之所有記憶體單元的源極線端子。
圖32描繪神經元VMM陣列3200,其尤其適用於如圖3所示之記憶體單元310、如圖5所示之記憶體單元510、及如圖7所示之記憶體單元710,且被利用作為輸入層與下一層之間的突觸及神經元之部分。在此實例中,輸入INPUT0
、…、INPUTM
係於控制閘極線CG0
、…、CGM
上接收。輸出OUTPUT0
、…、OUTPUTN
分別係於垂直位元線BL0
、…、BLN
上產生,其中各位元線BLi
係耦合至行i中之所有記憶體單元的位元線端子。
長短期記憶體
先前技術包括稱為長短期記憶體(LSTM)的概念。LSTM單元通常被用於神經網路中。LSTM容許神經網路在預定任意時間間隔內記憶資訊及於隨後操作中使用該資訊。習知之LSTM單元包含單元、輸入閘極、輸出閘極、及遺忘閘極(forget gate)。三個閘極調節資訊之流入及流出單元及資訊記憶於LSTM中之時間間隔。VMM尤其可用於LSTM單元。
圖16描繪例示性的LSTM 1600。於此實例中之LSTM 1600包含單元1601、1602、1603、及1604。單元1601接受輸入向量x0
及產生輸出向量h0
及單元狀態向量c0
。單元1602接收輸入向量x1
、來自單元1601之輸出向量(隱藏狀態)h0
、及來自單元1601之單元狀態c0
及產生輸出向量h1
及單元狀態向量c1
。單元1603接收輸入向量x2
、來自單元1602之輸出向量(隱藏狀態)h1
、及來自單元1602之單元狀態c1
及產生輸出向量h2
及單元狀態向量c2
。單元1604接收輸入向量x3
、來自單元1603之輸出向量(隱藏狀態)h2
、及來自單元1603之單元狀態c2
及產生輸出向量h3
。可使用額外的單元,且具有四個單元的LSTM僅係一實例。
圖17描繪LSTM單元1700的一例示性實施方案,其可用於圖16中之單元1601、1602、1603、及1604。LSTM單元1700接收輸入向量x(t)、來自先前單元的單元狀態向量c(t-1)、及來自先前單元的輸出向量h(t-1),並產生單元狀態向量c(t)及輸出向量h(t)。
LSTM單元1700包含S形函數裝置1701、1702、及1703,其各應用0與1之間的數值來控制容許輸入向量中之各組分通過至輸出向量的量。LSTM單元1700亦包含雙曲正切裝置1704及1705來將雙曲線正切函數應用至輸入向量,乘法器裝置1706、1707、及1708以將兩個向量乘在一起,及加法裝置1709以將兩個向量加在一起。可將輸出向量h(t)提供至系統中之下一LSTM單元,或其可經存取用於其他用途。
圖18描繪LSTM單元1800,其係LSTM單元1700之實施方案的一實例。為方便讀者起見,於LSTM單元1800中使用與LSTM單元1700相同的編號。S形函數裝置1701、1702、及1703及雙曲正切裝置1704各包含多個VMM陣列1801及啟動電路塊1802。因此,可看見VMM陣列尤其有用於被使用在特定神經網路系統中的LSTM單元。乘法器裝置1706、1707、及1708及加法裝置1709係以數位方式或類比方式實施。啟動函數塊1802可以數位方式或以類比方式實施。
圖19中顯示LSTM單元1800的一替代(及LSTM單元1700之實施方案的另一實例)。於圖19中,S形函數裝置1701、1702、及1703及雙曲正切裝置1704以時間多工方式共用相同的實體硬體(VMM陣列1901及啟動函數塊1902)。LSTM單元1900亦包含乘法器裝置1903以將兩個向量乘在一起,加法裝置1908以將兩個向量加在一起,雙曲正切裝置1705(其包含啟動電路塊1902),暫存器1907以當i(t)係來自S形函數塊1902之輸出時儲存值i(t),暫存器1904以當值f(t) * c(t-1)係自乘法器裝置1903通過多工器1910之輸出時儲存該值,暫存器1905以當值i(t) * u(t)係自乘法器裝置1903通過多工器1910之輸出時儲存該值,及暫存器1906以當值o(t) * c~(t)係自乘法器裝置1903通過多工器1910之輸出時儲存該值,及多工器1909。
雖然LSTM單元1800包含多組VMM陣列1801及各別的啟動函數塊1802,但LSTM單元1900僅包含一組VMM陣列1901及啟動函數塊1902,其被用來代表LSTM單元1900之具體例中的多個層。LSTM單元1900將需要較LSTM 1800少的空間,由於LSTM單元1900與LSTM單元1800相比,其VMM及啟動函數塊將需要1/4大的空間。
可進一步明瞭LSTM單元通常將包含多個VMM陣列,其各需要由位在VMM陣列外部之特定電路塊(諸如加法器及啟動電路塊及高電壓產生塊)所提供之功能性。針對各VMM陣列提供獨立的電路塊將需要半導體裝置內之顯著量的空間且將較為無效率。
閘控再流單元
可將類比VMM實施方案利用於GRU(閘控再流單元)系統。GRU係再流神經網路中的閘控機制。GRU與LSTM相似,僅除了GRU單元一般包含較LSTM單元少的組件。
圖20描繪一例示性的GRU 2000。此實例中之GRU 2000包含單元2001、2002、2003、及2004。單元2001接收輸入向量x0
及產生輸出向量h0
。單元2002接收輸入向量x1
、來自單元2001之輸出向量h0
及產生輸出向量h1
。單元2003接收輸入向量x2
及來自單元2002之輸出向量(隱藏狀態)h1
及產生輸出向量h2
。單元2004接收輸入向量x3
及來自單元2003之輸出向量(隱藏狀態)h2
及產生輸出向量h3
。可使用額外的單元,及具有四個單元之GRU僅係一實例。
圖21描繪GRU單元2100之一例示性實施方案,其可用於圖20之單元2001、2002、2003、及2004。GRU單元2100接收輸入向量x(t)及來自先前GRU單元之輸出向量h(t-1)及產生輸出向量h(t)。GRU單元2100包含S形函數裝置2101及2102,其各應用0與1之間的數值至來自輸出向量h(t-1)及輸入向量x(t)之組分。GRU單元2100亦包含雙曲正切裝置2103來將雙曲線正切函數應用至輸入向量;複數個乘法器裝置2104、2105、及2106,以將兩個向量乘在一起;加法裝置2107,以將兩個向量加在一起;及互補裝置2108,以自1減去輸入來產生輸出。
圖22描繪GRU單元2200,其係GRU單元2100之實施方案的一實例。為方便讀者起見,於GRU單元2200中使用與GRU單元2100相同的編號。如可於圖22中所見,S形函數裝置2101及2102、及雙曲正切裝置2103各包含多個VMM陣列2201及啟動函數塊2202。因此,可看見VMM陣列尤其有用於被使用在特定神經網路系統中的GRU單元。乘法器裝置2104、2105、2106、加法裝置2107、及互補裝置2108係以數位方式或類比方式實施。啟動函數塊2202可以數位方式或以類比方式實施。
圖23中顯示GRU單元2200的一替代(及GRU單元2300之實施方案的另一實例)。於圖23中,GRU單元2300利用VMM陣列2301及啟動函數塊2302,其當經組態為S形函數時,應用0與1之間的數值來控制容許輸入向量中之各組分通過至輸出向量的量。於圖23中,S形函數裝置2101及2102及雙曲正切裝置2103以時間多工方式共用相同的實體硬體(VMM陣列2301及啟動函數塊2302)。GRU單元2300亦包含乘法器裝置2303以將兩個向量乘在一起,加法裝置2305以將兩個向量加在一起,互補裝置2309以自1減去輸入來產生輸出,多工器2304,暫存器2306以當值h(t-1) * r(t)係自乘法器裝置2303通過多工器2304之輸出時收容該值,暫存器2307以當值h(t-1) *z(t)係自乘法器裝置2303通過多工器2304之輸出時收容該值,及暫存器2308以當值h^(t) * (1-z(t))係自乘法器裝置2303通過多工器2304之輸出時收容該值。
雖然GRU單元2200包含多組VMM陣列2201及啟動函數塊2202,但GRU單元2300僅包含一組VMM陣列2301及啟動函數塊2302,其被用來代表GRU單元2300之具體例中的多個層。GRU單元2300將需要較GRU單元2200少的空間,由於GRU單元2300與GRU單元2200相比,其VMM及啟動函數塊將需要1/3大的空間。
可進一步明瞭GRU系統通常將包含多個VMM陣列,其各需要由位在VMM陣列外部之特定電路塊(諸如加法器及啟動電路塊及高電壓產生塊)所提供之功能性。針對各VMM陣列提供獨立的電路塊將需要半導體裝置內之顯著量的空間且將較為無效率。
VMM陣列的輸入可係類比值、二元值、或數位位元(在此情況中需要DAC來將數位位元轉換為適當的輸入類比值)且輸出可係類比值、二元值、或數位位元(在此情況中需要輸出ADC來將輸出類比值轉換為數位位元)。
就VMM陣列中之各記憶體單元而言,各權重W可藉由單個記憶體單元或藉由單元差值或藉由兩個摻混記憶體單元(2個單元之平均)來實施。在單元差值情況中,需要兩個記憶體單元來將權重W實施為權重差(W = W+ – W-)。在兩個摻混記憶體單元之情況中,需要兩個記憶體單元來將權重W實施為兩個單元之平均值。
VMM陣列之可組態輸入-輸出系統
圖33描繪VMM系統3300。VMM系統3300包含VMM陣列3301(其可係基於先前論述之VMM陣列設計中之任一者,諸如VMM陣列1100、1200、1300、1400、1500、2400、2500、2600、2700、2800、2900、3000、3100、及3200或其他VMM陣列設計)、低電壓列解碼器3302、高電壓列解碼器3303、行解碼器3304、行驅動器3305、控制邏輯3306、偏壓電路3307、神經元輸出電路塊3308、輸入VMM電路塊3309、演算法控制器3310、高電壓產生器塊3311、類比電路塊3315、及控制邏輯3316。
輸入電路塊3309充當自外部輸入至記憶體陣列3301之輸入端子的介面。輸入電路塊3309可包含,但不限於,DAC (數位-類比轉換器)、DPC (數位-脈衝轉換器)、APC (類比-脈衝轉換器)、IVC (電流-電壓轉換器)、AAC (類比-類比轉換器,諸如電壓-電壓縮放器)、或FAC (頻率-類比轉換器)。神經元輸出塊3308充當自記憶體陣列輸出至外部介面(未圖示)的介面。神經元輸出塊3308可包含,但不限於,ADC (類比-數位轉換器)、APC (類比-脈衝轉換器)、DPC (數位-脈衝轉換器)、IVC (電流-電壓轉換器)、或IFC (電流-頻率轉換器)。神經元輸出塊3308可包括,但不限於,啟動函數、正規化電路、及/或再縮放電路。
圖34描繪VMM系統3400,其包含VMM陣列3401、3402、3403、及3404;高電壓列解碼器3405及3406;低電壓列解碼器3407及3408;輸入塊3409及3410 (各類似於圖33中之輸入塊3309);及輸出塊3411及3412。在此組態中,VMM陣列3401及3403共用一組位元線以及輸出塊3411,及VMM陣列3402及3404共用一組位元線以及輸出塊3412。VMM陣列3401及3403可同時讀取,其有效地將其組合成單個較大陣列,或其可於不同時間讀取。輸出塊3411及3412(類似於圖33中之輸出塊3308)係可組態以能夠一次性地自一個陣列(諸如僅自陣列3401或3403讀取)或一次性地自多個陣列(諸如自陣列3401及3403兩者讀取)處理讀取操作。
圖35A描繪VMM系統3500,其包含VMM陣列3503、3504、及3505;共用的全域高電壓列解碼器3506;局部高電壓列解碼器3507及3508;共用的低電壓列解碼器3509;及輸入塊3510。在此組態中,VMM陣列3503、3504、及3505共用輸入塊3510。VMM陣列3503、3504、及3505可同時通過輸入塊3510接收輸入(例如,字線、控制閘極線、抹除閘極線、或源極線上的電壓或脈衝),其有效地將其組合成單個較大VMM陣列,或其可於不同時間通過輸入塊3510接收輸入,其有效地將其作為三個具有相同輸入塊之相異VMM陣列操作。輸入塊3510係可組態以能夠將輸入一次性地提供至一個陣列或一次性地提供至多個陣列。
圖35B描繪VMM系統3550,其包含VMM陣列3511、3512、3513、及3514;全域高電壓解碼器3515;局部高電壓列解碼器3516、3517、及3518;共用的低電壓列解碼器3519;及輸入塊3520。在此組態中,VMM陣列3511、3512、3513、及3514共用輸入塊3520。VMM陣列3511、3512、3513、及3514可同時通過輸入塊3520接收輸入(例如,字線、控制閘極線、抹除閘極線、或源極線上之電壓或脈衝),其有效地將其組合成單個較大陣列,或其可於不同時間通過輸入塊3520接收輸入,其有效地將其作為三個具有相同輸入塊3520之相異VMM陣列操作。輸入塊3520係可組態以能夠將輸入一次性地提供至一個陣列或一次性地提供至多個陣列。舉例來說,圖35A之輸入塊3510係經組態以將輸入提供至3個陣列及輸入塊3520係經組態以針對4個陣列提供輸入。
圖36描繪VMM系統3600,其包含水平組3601及水平組3611。水平組3601包含VMM陣列3602及3603;共用的全域高電壓列解碼器3604;局部高電壓列解碼器3605;共用的低電壓列解碼器3606;及輸入塊3607。VMM陣列3602及3603共用輸入塊3607。輸入塊3607係可組態以能夠將輸入一次性地提供至一個陣列或一次性地提供至多個陣列。
水平組3611包含VMM陣列3612及3613;共用的全域高電壓解碼器3614;局部高電壓列解碼器3615;共用的低電壓列解碼器3616;及輸入塊3617。VMM陣列3612及3613共用輸入塊3617。輸入塊3617係可組態以能夠將輸入一次性地提供至一個陣列或一次性地提供至多個陣列。
在第一組態中,水平組3601利用輸出塊3608及3609,及水平組3611利用輸出塊3618及3619。輸出塊3608、3609、3618、及3619可輸出電流、數位脈衝、或數位位元作為輸出。在其中輸出數位位元的一個具體例中,輸出塊3608、3609、3618、及3619各輸出8個數位輸出位元。
在第二組態中,停用輸出塊3608及3609,及VMM陣列3602及3612共用輸出塊3618及VMM陣列3603及3613共用輸出塊3619。VMM陣列3602及3612可同時讀取,其有效地將其組合成單個較大垂直陣列(意謂每個位元線更多列),或其可於不同時間讀取。如VMM陣列3602及3612係同時讀取,則於其中各輸出塊將輸出8位元範圍之值的一個具體例中當僅耦合至一個陣列時,則輸出塊3608及3609各將輸出9位元範圍之值。此係歸因於已經由使用2個陣列作為單個大陣列而加倍之輸出神經元的動態範圍。在此情況,如下一陣列僅需要8位元之動態範圍,則輸出可能需要再縮放或正規化(例如,自9位元下縮至8位元)。在另一具體例中,當增加垂直陣列之數目時,輸出位元之數目可保持相同。
類似地,VMM陣列3603及3613可同時讀取,其有效地將其組合成單個較大陣列,或其可於不同時間讀取。輸出塊3618及3619係可組態以能夠一次性地自一個陣列或一次性地自多個陣列處理讀取操作。
在VMM系統3400、3500、3550、及3600中,當系統係可組態以利用各自具有輸入塊及/或輸出塊之不同數目的陣列時,則輸入塊或輸出塊本身亦必需係可組態的。舉例來說,在VMM系統3600中,如輸出塊3608、3609、3612、及3619當耦合至單一陣列時各自輸出8位元輸出,則輸出塊3618及3619各將需經組態以當其耦合至兩個陣列(例如,分別為陣列3602及3612,及陣列3603及3609)時輸出9位元輸出。如接著欲將該等輸出提供至另一VMM系統之輸入塊,若預期輸入塊為8位元輸入而非9位元輸入,則輸出將需先經正規化。已知許多用來將N-位元值轉換成M-位元值的類比及數位技術。在先前實例中,N將係9及M將係8,儘管熟悉技藝人士將明瞭N及M可係任何正整數。
額外的陣列可耦合至VMM系統3400、3500、3550、及3600中之輸入塊及輸出塊。舉例來說,在VMM系統3400中,多於兩個陣列可耦合至輸入塊3409及多於兩個陣列可耦合至輸入塊3410;在VMM系統3500中,多於三個陣列可耦合至輸入塊3510;在VMM系統3550中,多於四個陣列可耦合至輸入塊3520;及在VMM系統3600中,多於兩個陣列可耦合至輸入塊3607,多於兩個陣列可耦合至輸入塊3617,多於兩個陣列可耦合至輸入塊3618,及多於兩個陣列可耦合至輸出塊3619。在該等情況中,相關輸入塊及輸出塊需經進一步組態以容納額外的陣列。
VMM系統3400中之輸出塊3411及3412及輸出塊3618及3619需可針對在程式化操作後的驗證操作組態,驗證操作將受連接至輸出塊的陣列數目影響。再者,關於程式/抹除驗證(用於調整,意欲於記憶體之浮動閘極上產生特定電荷以產生期望單元電流),輸出塊電路之準確度(例如,10位元)需大於推論讀數所要求之準確度(例如,8位元)。舉例來說,驗證準確度>推論準確度,相差>=1位元,例如相差1-5位元。此係為確保一階與下一階之間的足夠邊際所需,諸如,但不限於,用於驗證結果分佈、資料保留偏移、溫度或變化。
此外,圖34、35A、35B、及36中之輸入塊3409、3410、3510、3520、3607、及3617及輸出塊3411、3412、3608、3609、3618、及3619需可組態用於校正過程,由於校正將受連接至輸出塊之陣列數目所影響。校正過程的實例包括補償偏移、洩漏、製程、及歸因於溫度變化之改變的過程。
在下一段落中,揭示用於輸入塊及輸出塊中以使得輸入塊及輸出塊能夠基於耦合至輸入塊或輸出塊之陣列數目來組態的各種可調整組分。
輸入塊及輸出塊之組分
圖37A描繪積分雙混合斜率類比-數位轉換器(ADC) 3700,其可用於輸出塊諸如圖34及36中之輸出塊3411、3412、3608、3609、3618、及3619中,其中輸出神經元,INEU
3706,係來自由輸出塊所接收之VMM陣列的輸出電流。積分雙混合斜率類比-數位轉換器(ADC) 3700將INEU
3706轉換成一系列數位/類比脈衝或數位輸出位元。圖37B描繪圖37A中之積分ADC 3700的操作波形。輸出波形3710、3711、及3714係針對一個電流值。輸出波形3712、3713、及3715係針對另一個較高電流值。波形3710及3712具有與輸出電流值成比例的脈衝寬度。波形3711及3713具有與輸出電流值成比例的其脈衝數目。波形3714及3715具有與輸出電流值成比例的數位輸出位元。
在一具體例中,ADC 3700將 INEU
3706 (其係由來自VMM陣列之輸出塊接收之類比輸出電流)轉換成數位脈衝,其寬度與神經元輸出塊中之類比輸出電流的量值成比例地變化,如圖38中描繪的實例所示。ADC 3700包含由積分運算放大器3701所構成的積分器及可調整積分電容器3702將INEU
3706相對於可調整參考電流IREF 3707積分。視情況,IREF 3707可包含具有0之溫度係數或具有追蹤神經元電流INEU
3706之溫度係數的帶隙濾波器。後者視情況可獲自包含於測試階段期間測得之值的參考陣列。於起始化階段期間,關閉開關3708。Vout 3703及至運算放大器3701之負端的輸入隨後將變為等於VREF值。其後,打開開關3708及於固定時間段tref期間,關閉開關S1及上調神經元電流INEU
3706。於固定時間段tref期間,Vout上升,及其斜率隨神經元電流改變而改變。其後,於時段tmeas期間,經由打開開關S1及關閉開關S2來向下積分恒定參考電流IREF持續時間段tmeas (於該時段期間Vout下降),其中tmeas係將Vout向下積分至VREF所需的時間。
當VOUT > VREFV時,輸出EC 3705將高,且在其他情況中將低。因此,EC 3705產生其寬度反映時段tmeas,其繼而再與電流INEU
3706成比例的脈衝(圖37B中之脈衝3710及3712)。
視情況,輸出脈衝EC 3705可經轉換成一系列均勻時段的脈衝以傳送至下一階段的電路,諸如另一VMM陣列之輸入塊。在時段tmeas開始時,輸出EC 3705係與參考時脈3741一起進入AND閘3740的輸入。輸出將係於VOUT > VREF之時段期間的脈衝系列3742(其中脈衝系列3742中之脈衝頻率係與時脈3741的頻率相同)。脈衝數目係與時段tmeas成比例,其又與電流INEU
3706成比例(圖37B中之波形3711及3713)。
視情況,脈衝系列3743可係計數器3720之輸入,計數器將計算脈衝系列3742中之脈衝數目且將產生計數值3721,其係脈衝系列3742中之脈衝數目的數位計數,其與神經元電流INEU
3706成正比。計數值3721包含一組數位位元(圖37B中之波形3714及3715)。
在另一具體例中,積分雙斜率ADC 3700可將神經元電流INEU
3706轉換成一脈衝,其中脈衝之寬度與神經元電流INEU
3706的量值成反比。此反轉可以數位或類比方式進行,且轉換成一系列脈衝,或數位位元用於輸出至隨後的電路。
可調整積分電容器3702及可調整參考電流IREF 3707係回應連接至積分雙混合斜率類比-數位轉換器(ADC) 3700之陣列數目N來調整。舉例來說,當N個陣列連接至積分雙混合斜率類比-數位轉換器(ADC) 3700時,可調整積分電容器3702經1/N調整,或可調整參考電流IREF 3707經N調整。
視情況,可當VMM陣列及ADC 3700處於或高於操作溫度以使存在於VMM陣列或控制電路內之任何漏電流偏移時進行校正步驟,且該偏移值隨後可自圖37A中之Ineu減去。除溫度變化之外,亦可進行校正步驟來補償製程或電壓供應變化。
輸出電路塊的操作方法包括先針對偏移及電壓供應變化補償進行校正。接下來,進行輸出轉換(諸如將神經元電流轉換為脈衝或數位位元),然後進行資料正規化以使輸出範圍與下一VMM陣列之輸入範圍對齊。資料正規化可包括資料壓縮或輸出資料量化(諸如將位元數比方說自10位元減小至8位元)。可於輸出轉換之後或於資料正規化、壓縮或量化之後進行啟動。校正演算法的實例參照以下論述之圖49、50A、50B、及51論述於下文。
圖39描繪電流-電壓轉換器3900,其視情況可用來將神經元輸出電流轉換成電壓,該電壓例如可被應用作為VMM記憶體陣列的輸入(例如,於WL或CG線上)。因此,電流-電壓轉換器3900可被使用於圖34、35A、35B、及36中的輸入塊3409、3410、3510、3520、3607、及3617中(當該等塊正接收類比電流(而非脈衝或數位資料)作為輸入時)。
電流-電壓轉換器3900包含運算放大器3901、可調整電容器3902、開關3903、開關3904、及電流源3905(其在此代表由輸入塊所接收之神經元電流INEU)。於電流至電壓操作期間,開關3903將打開,且開關3904將關閉。輸出Vout之振幅將與神經元電流INEU 3905之量值成比例地增加。
圖40描繪數位資料-電壓轉換器4000,其視情況可用來將經作為信號DIN接收之數位資料轉換成電壓,該電壓例如可被應用作為VMM記憶體陣列的輸入(例如,於WL或CG線上)。當關閉開關4002時,信號DIN之資料輸入將使IREF_u參考電流4001進入至電容器4003中,從而於其端子上產生電壓。因此,數位資料-電壓轉換器4000可被使用於圖34、35A、35B、及36中的輸入塊3409、3410、3510、3520、3607、及3617中(當該等塊正接收數位資料(而非脈衝或類比電流)作為輸入時)。此外,數位資料-電壓轉換器4000可經組態使得作為信號DIN於輸入處接收之數位資料經由打開開關4002及4004及關閉開關4005而直接饋送通過至輸出OUT。開關4002、4004及4005經如此組態以使得輸出OUT能夠接收電容器4003上之電壓或直接接收經作為信號DIN接收的數位資料。在所示之具體例中,信號DIN係作為資料脈衝接收。
數位資料-電壓脈衝轉換器4000包含可調整參考電流4001、開關4002、可變電容器4003、開關4004、及開關4005。可調整參考電流4001及可變電容器4003可經組態具有不同值以針對數位資料-電壓脈衝轉換器400所附接之陣列大小的差來進行調整。於操作期間,數位資料控制開關4002,使得開關4002在數位資料高的時候關閉。當開關關閉時,可調整參考電流4001將使可變電容器4003充電。開關4004在希望於節點OUT處提供輸出時,諸如當陣列準備好經讀取時關閉。在替代情况中,開關4004可打開及開關4005可關閉,且資料輸入可作為輸出通過。
圖41描繪可組態類比-數位轉換器4100,其視情況可用來將類比神經元電流轉換成數位資料。可組態類比-數位轉換器4100可被使用於輸出塊諸如圖34及36中之輸出塊3411、3412、3608、3609、3618、及3619中,其中輸出神經元INEU
4101係由輸出塊接收的輸出電流。
可組態類比-數位轉換器4100包含電流源4101、可變電阻器4102、及類比-數位轉換器4103。電流INEU 4101穿過可變電阻器4102 Rneu下降從而產生電壓Vneu = Ineu*Rneu。ADC 4103 (諸如,但不限於,積分ADC、SAR ADC、快閃ADC、或SigmaDelta ADC)將此電壓轉換成數位位元。
圖42描繪可組態電流-電壓轉換器4200,其視情況可用來將類比神經元電流轉換成可經應用為VMM記憶體陣列之輸入(例如,於WL或CG線上)的電壓。因此,可組態電流-電壓轉換器4200可被使用於圖34、35A、35B、及36中的輸入塊3409、3410、3510、3520、3607、及3617中(當該等塊正接收類比電流(而非脈衝或數位資料)作為輸入時)。可組態電流-電壓轉換器4200包含可調整電阻器Rin 4202且接收輸入電流Iin 4201(其係經接收的輸入電流)及產生Vin 4203, = Iin*Rin。
圖43A及43B描繪待使用於輸入塊、列解碼器、或輸出塊中之數位位元-脈衝寬度轉換器4300。來自數位位元-脈衝寬度轉換器4300之脈衝寬度輸出與數位位元之值成比例。
數位位元-脈衝寬度轉換器包含二元計數器4301。二元計數器4301之狀態Q [N:0]可藉由載入序列中之串聯或並聯資料載入。列控制邏輯4310輸出電壓脈衝WLEN,其具有與提供自諸如圖37中之積分ADC之塊之數位資料輸入之值成比例的脈衝寬度。
圖43B顯示輸出脈衝寬度之波形,其中寬度與數位位元值成比例。首先,反轉經接收數位位元中之資料,及將經反轉的數位位元串聯地或並聯地載入至計數器4301中。然後,如波形4320中所示經由以二元方式計數直至到達最大計數器值為止來藉由列控制邏輯4310產生列脈衝寬度。
表9中顯示針對DIN使用4位元值的一實例:表 9 :輸出脈衝寬度的數位輸入位元
DIN <3:0> | 計數 | 載入至計數器中之經反轉的 DIN<3:0> | 輸出脈衝寬度 =# 時脈 |
0000 | 0 | 1111 | 0 |
0001 | 1 | 1110 | 1 |
0010 | 2 | 1101 | 2 |
0011 | 3 | 1100 | 3 |
0100 | 4 | 1011 | 4 |
0101 | 5 | 1010 | 5 |
0110 | 6 | 1001 | 6 |
0111 | 7 | 1000 | 7 |
1000 | 8 | 0111 | 8 |
1001 | 9 | 0110 | 9 |
1010 | 10 | 0101 | 10 |
1011 | 11 | 0100 | 11 |
1100 | 12 | 0011 | 12 |
1101 | 13 | 0010 | 13 |
1110 | 14 | 0001 | 14 |
1111 | 15 | 0000 | 15 |
視情況,可使用脈衝系列-脈衝轉換器來將包含脈衝系列之輸出轉換成單一脈衝,該脈衝之寬度與待使用作為將應用至VMM陣列內之字線或控制閘極之VMM陣列之輸出之脈衝系列中的脈衝數目成比例地改變。脈衝系列-脈衝轉換器的一實例係具有控制邏輯的二元計數器。
另一具體例利用上升二元計數器及數位比較邏輯。換言之,輸出脈衝寬度係經由使用上升二元計數器計數直至二元計數器之數位輸出與數位輸入位元相同為止來產生。
另一具體例利用下降二元計數器。首先,將下降二元計數器串聯或並聯地載入數位資料輸入型態。接下來,經由倒數下降二元計數器直至二元計數器之數位輸出達到最小值(即「0」邏輯狀態)為止來產生輸出脈衝寬度。
圖44A描繪數位資料-脈衝列轉換器4400,其包含二元索引脈衝階段4401-i,其中i在0至N之範圍內(即最低有效位元LSB至最高有效位元MSB)。列轉換器4400被用來向陣列提供列輸入。各階段4401-i包含閂4402-i、開關4403-i、及列數位二元索引脈衝輸入4404-i (RDIN_Ti)。舉例來說,二元索引脈衝輸入4404-0 (RDIN_T0)具有等於一時間單位(即,1*tpls1單位)的脈衝寬度。二元索引脈衝輸入4404-1 (RDIN_T1)具有等於二時間單位(即,2*tpls1單位)的寬度。二元索引脈衝輸入4404-2 (RDIN_T2)具有等於四時間單位(即,4*tpls1單位)的寬度。二元索引脈衝輸入4403-3 (RDIN_T3)具有等於八時間單位(即,8*tpls1單位)的寬度。各列之型態DINi(來自神經元輸出)中的數位資料係儲存於閂4402-i中。如閂4402-i的輸出Qi係「1」,則其將通過開關4403-i將二元索引脈衝輸入4404-i (RDIN_Ti)轉移至時間加總轉換器節點4408。各時間加總轉換器節點4408連接至NAND閘4404的各別輸入,及NAND閘4404的輸出通過階移動反向器4405產生列轉換器WLIN/CGIN 4409的輸出。時間加總轉換器節點4408將二元索引脈衝輸入4404-i以回應於共同時脈信號CLK之時間依序加總,由於二元索引脈衝輸入4404-i (RDIN_Ti)係以依序方式一次一個數位位元地致動,例如自LSB至MSB,或自MSB至LSB,或任何無規的位元形態。
圖44B描繪例示性的波形4420。此處顯示列數位二元索引脈衝輸入4404-i (明確言之,4404-0、4404-1、4404-2、及4404-3)的實例信號,及來自階移動反向器4405的實例輸出,標示為WL0及WL3,其中WL0及WL3係自列轉換器4400電路產生。在此實例中,WL0係由其所擁有之列解碼器的列數位輸入4403-0及4403-3產生(WL0: Q0 =’1’, Q3 =’1’),及WL3係由其所擁有之列解碼器的列數位輸入4403-1及4403-2產生(WL3: Q1 =’1’, Q2 =’1’)。如未擁有任何列數位輸入4403-x,則WL0或WL3上沒有脈衝(圖44A中未顯示此情況的控制邏輯)。據認為來自其他列之數位-脈衝列轉換器4400的輸入(即至NAND閘4404的其他輸入)於此時段期間係高的。
圖44C描繪列數位脈衝產生器4410,其產生列數位二元索引脈衝輸入4403-i (RDIN_Ti),其中如以上關於圖44A所述,脈衝之寬度與數位位元之二元值成比例。
圖45A描繪斜坡類比-數位轉換器4400,其包含電流源4401(其代表經接收的神經元電流,Ineu)、開關4402、可變可組態電容器4403、及比較器4404,其接收跨越可變可組態電容器4403所產生之電壓(指示為Vneu)作為非反向輸入及可組態參考電壓Vreframp作為反向輸入及產生輸出Cout。Vreframp對於各比較時脈循環以離散階斜升。比較器4404比較Vneu與Vreframp,及結果,當Vneu>Vreframp時,輸出Cout將係「1」,及在其他情況中將係「0」。因此,輸出Cout將係一脈衝,其寬度回應Ineu而變化。較大的Ineu將導致Cout為「1」持續較長時間段,從而針對輸出Cout產生較寬脈衝。數位計數器4420將輸出Cout之各脈衝轉換成數位輸出位元,如圖45B中針對分別指示為OT1A及OT2A之兩不同Ineu電流所示。或者,斜坡電壓Vreframp係連續斜坡電壓4455,如圖45B之圖4450中所示。多斜坡具體例針對經由利用粗-細斜坡轉換演算法降低轉換時間示於圖45C。第一粗參考斜坡參考電壓4471係以快速方式斜升以算出各Ineu之子範圍。接下來,針對各子範圍分別使用細參考斜坡參考電壓4472(即Vreframp1及Vreframp2)來於各別子範圍內轉換Ineu電流。如圖示,存在兩個用於細參考斜坡電壓的子範圍。多於兩個粗/細階梯或兩個子範圍係可能的。
圖52描繪視情況用來替代圖37A及45A中之比較器3704及4404的比較器5200。比較器5200可係靜態比較器(其不一定利用時脈信號)或動態比較器(其利用比較時脈信號)。如比較器5200係動態比較器,則其可包含時脈交叉耦合反向器比較器、StrongARM比較器、或其他已知的動態比較器。當擁有粗賦能5203時,比較器5200作為粗比較器操作,及當擁有細賦能5204時,比較器5200作為細比較器操作。視情況可使用選擇信號5206來指示粗比較器模式或細賦能模式,或其視情況可用來組態比較器5200以作為靜態比較器或動態比較器操作。對於比較器5200作用為動態比較器的實例,比較器5200接收時脈信號5205。當作為動態比較器操作時,當比較器係粗比較器時,比較時脈信號5205將係第一頻率之第一時脈信號,及當比較器係細比較器時,時脈信號5205將係大於第一頻率之第二頻率的第二時脈信號。當作為粗比較器操作時,比較器5200將具有較低準確度及較慢速度,但與比較器5200作為細比較器操作的情況相比,將使用較低功率。因此,用於粗比較的動態比較器可利用慢比較時脈,而用於細比較的動態比較器可於轉換斜升時段期間利用快速比較時脈。
比較器5200比較陣列輸出5201與參考電壓5202,如同圖37A及45A中之比較器3704及4404的情況,及產生輸出5205。當比較器5200係作為粗比較器操作時,參考電壓5202可係偏移電壓。
在諸如圖37B及圖45B/45C所示產生數位輸出位元之轉換時段期間,比較器5200可分別於粗比較時段及細比較時段期間作用為粗比較器及作為細比較器。在此數位輸出位元轉換開始時,執行細或混合粗-細(粗並聯細)比較時段持續一固定時間段。接下來,執行粗比較時段,然後最後執行細比較以完成轉換。
圖46描繪演算法類比-數位輸出轉換器4600,其包含開關4601、開關4602、抽樣保持(S/H)電路4603、1位元類比-數位轉換器(ADC) 4604、1位元數位-類比轉換器(DAC) 4605、加法器4606、及兩個殘值運算放大器(2x運算放大器) 4607之增益。演算法類比-數位輸出轉換器4600回應於類比輸入Vin產生轉換數位輸出4608並控制施加至開關4602及4602的信號。於類比輸入Vin處接收之輸入(例如,圖45A中之Vneu)首先經S/H電路4603經開關4602取樣,然後於N個時脈循環中針對N位元進行轉換。針對各轉換時脈循環,1位元ADC 4604比較S/H電壓4609與參考電壓(例如,VREF/2,其中VREF係針對N位元的全標度電壓)並輸出數位位元(例如,若輸入<=VREF/2時輸出「0」及若輸入>VREF/2時輸出「1」)。此數位位元(其係數位輸出信號4608)繼而經1位元DAC 4605轉換為類比電壓(例如,至VREF/2或0V)並饋送至加法器4606以自S/H電壓4609中減去。2x殘值運算放大器4607接著將加法器差值電壓輸出放大成轉換殘值電壓4610,其通過開關4601饋送至S/H電路4603用於下一時脈循環。替代此1位元(即2階)演算法ADC,可使用1.5位元(即3階)演算法ADC來減小諸如來自ADC 4604及殘值運算放大器4607之偏移的效應。1.5位元演算法ADC需要1.5位元或2位元(即,4階) DAC。
圖47A顯示應用至輸出神經元來將代表輸出神經元之單元電流轉換成數位輸出位元的逐漸近似暫存器(SAR)類比-數位轉換器4700。SAR ADC 4700包含SAR 4701、數位-類比轉換器4702、及比較器4703。單元電流可跨越電阻器下降以產生電壓VCELL,其被應用來倒轉比較器4703的輸入。或者,單元電流可將抽樣保持電容器充電以產生電壓VCELL(諸如如圖45A中所示之Vneu)。然後SAR 4701使用二元搜尋來自MSB位元(最高有效位元)開始至LSB位元(最低有效位元)計算各位元。基於來自SAR 4701的數位位元(DN至D0),使用DAC 4702來設定比較器4703的適當類比參考電壓。比較器4703之輸出繼而饋送回至SAR 4701以選擇用於比較器4703之類比參考電壓的下一類比值。如圖47B所示,針對4位元數位輸出位元之實例,存在4個評估時段:經由在該範圍的一中點設定比較器4703之類比參考電壓的類比值來評估DOUT3的第一脈衝,接著經由在自該範圍之中點至該範圍之最大點的中途或自該範圍之中點至該範圍之最小點的中途設定比較器4703之類比參考電壓的類比值來評估DOUT2的第二脈衝。隨後為其他步驟,各步驟進一步改進比較器4703的類比參考電壓值。SAR 4701的連續輸出係輸出數位位元。一替代的SAR ADC電路係僅具有一個參考值及局部SC比的切換電容轉換(switched cap;SC)電路來連續地產生用於連續比較的比例參考值。
圖48顯示應用至輸出神經元來將單元電流4806 (ICELL或Ineu)轉換成數位輸出位元4807的ΣΔ類比-數位轉換器4800。包含運算放大器4801及可組態電容器4805 (Cint)的積分器將來自單元電流4806的電流及由1位元電流DAC 4804所產生之可組態參考電流的總和積分,DAC 4804將數位輸出4807轉換成電流。比較器4802將來自比較器4801之積分輸出電壓Vint與參考電壓VREF2進行比較,及將比較器4802的輸出饋送至時脈DFF 4803之D輸入。時脈DFF 4803提供對比較器4802之輸出回應的數位輸出流4807。數位輸出流4807可在作為數位輸出位元4807輸出之前饋送至數位過濾器。時脈DFF 4803的時脈週期係可針對不同的Ineu範圍組態。
現將分別參照圖49、50A、50B、及51論述校正方法4900、5010、5020、及5100。方法4900、5010、5020、及5100補償洩漏及/或偏移。洩漏可包含陣列洩漏及電路洩漏之一或多者。陣列洩漏可包含記憶體單元洩漏及來自解碼電路及行寫入電路之一或多者之洩漏的一或多者。偏移可包含陣列偏移及電路偏移之一或多者。陣列偏移可包含來自歸因於記憶體單元電容及單元接面電容之一或多者之陣列變化的偏移。電路偏移可包含來自解碼電路及行寫入電路之一或多者的偏移。
圖49描繪用來補償洩漏及/或偏移的校正方法4900。進行洩漏及/或偏移校正步驟(步驟4901)。測量洩漏及/或偏移及將測得量儲存為洩漏_值及/或偏移_值(步驟4902)。LSB係使用下式確定:LSB = 洩漏_值及/或偏移_值 + deltaLmin。視情況,deltaLmin係補償歸因於製程、溫度、雜訊、或使用退化之階間變化及確保階間之分離適當的電流值。deltaLmin視情況可自樣本資料表徵確定(步驟4903)。MSB係使用下式確定:MSB = LSB + (N-1)* deltaL,其中N係階數及deltaL係等於兩個連續階間之平均值或理想差的Δ階量。(步驟4904)。在一具體例中,DeltaL等於LSB。在另一具體例中,DeltaL係自樣本資料表徵確定。DeltaL可針對不同對的連續階具有均勻或不均勻值。
舉例來說,就6位元記憶體單元而言,存在64階電流,其中各階係關於神經網路應用中之一權重,其中N=64。可於此步驟中於校正期間及於測量步驟期間注入最小偏移電流以產生基線值。
表10包含4位元單元的例示性值:表 10 : 4 位元單元的例示性階 (16 階 ) :
階數 | 理想階 | 偏移/洩漏之經調整階 |
0 | 0 | |
1 | 1 | |
2 | 2 | |
3 | 3 | 3 |
4 | 4 | 4 |
5 | 5 | 5 |
6 | 6 | 6 |
7 | 7 | 7 |
8 | 8 | 8 |
9 | 9 | 9 |
10 | 10 | 10 |
11 | 11 | 11 |
12 | 12 | 12 |
13 | 13 | 13 |
14 | 14 | 14 |
15 | 15 | 15 |
16 | 16 | |
17 | 17 | |
18 | 18 |
圖50A及50B描繪校正方法5000,其包含即時校正方法5010及背景校正方法5020中之一或多者。
在即時校正方法5010中,進行洩漏及/或偏移校正,其包含測量洩漏及/或偏移及將測量值儲存為洩漏_值及/或偏移_值(步驟5011)。使用下式確定LSB:LSB階=洩漏_值及/或偏移_值加上deltaLmin。(步驟5012)。使用下式確定MSB:MSB = LSB + (N-1)*deltaL,其中N係階數(步驟5013)。關於圖49之deltaLmin及deltaL的描述亦適用於圖50A。數值實例如下:洩漏及偏移= 200pA,deltaLmin = 300pA, LSB = 500pA,deltaL = 400pA,N=16,則 MSB = 500pA + (16-1)*400pA = 6500pA。
在背景校正方法5020中,將偏移_值及/或洩漏_值+溫度資料儲存於熔線中(例如,偏移及/或洩漏相對溫度之查找表)(步驟5021)。此係於背景校正步驟中一次性或週期性地進行。叫回偏移_值及/或洩漏_值+溫度資料(步驟5022)。依據查找表或經由裝置電晶體方程式進行偏移_值及/或洩漏_值之溫度調整(步驟5023)。接著使用下式確定LSB:LSB階=偏移_值及/或洩漏_值+ deltaLmin(步驟5024)。使用下式確定MSB:MSB = LSB + (N-1)*deltaL(步驟5025)。關於圖49之deltaLmin及deltaL的描述亦適用於圖50B。溫度調整可藉由查找表進行或自裝置方程式(例如,次臨限、線性、或飽和方程式)外插。
圖51A描繪利用自動洩漏及/或偏移消去的校正及轉換方法5100。進行洩漏及/或偏移校正(步驟5101)。諸如藉由ADC轉換測量洩漏及/或偏移,及將測得的數位輸出儲存於計數器中(步驟5102)。啟動神經元輸出的轉換,及於計數器中進行倒數直至計數器達到零為止(其補償起始儲存於計數器中之洩漏及/或偏移),然後於數位輸出位元上進行正數(步驟5103)。
圖51B描繪利用自動洩漏及/或偏移消去的校正及轉換方法5110,其係方法5100的一變型。進行洩漏及/或偏移校正(步驟5111)。諸如藉由ADC轉換測量洩漏及/或偏移,及將測得的數位輸出儲存於暫存器中(步驟5112)。啟動神經元輸出的轉換,及於數位輸出位元上進行正數然後減去儲存的數位輸出(步驟5113)。
應注意,如文中所使用,術語「於…上方」及「於…上」皆涵蓋性地包括「直接位於…上」(其間未設置中間材料、元件或空間)及「間接位於…上」(其間設置有中間材料、元件或空間)。同樣地,術語「相鄰」包括「直接相鄰」(其間未設置中間材料、元件或空間)及「間接相鄰」(其間設置有中間材料、元件或空間),「經安裝至」包括「經直接安裝至」(其間未設置中間材料、元件或空間)及「經間接安裝至」(其間設置有中間材料、元件或空間),及「電耦合」包括「直接電耦合」(其間沒有將元件電連接在一起的中間材料或元件)及「間接電耦合」(其間有將元件電連接在一起的中間材料或元件)。舉例來說,「於一基板上方」形成一元件可包括直接於基板上形成元件,其間沒有中間材料/元件,以及間接地於基板上形成元件,其間具有一或多個中間材料/元件。
12:半導體基板
14:源極區域
16:汲極區域
18:通道區域
20:浮動閘極
22:字線端子;選擇閘極;控制閘極
24:位元線
28:控制閘極
30:抹除閘極
31:數位-類比轉換器
32:向量-矩陣乘法(VMM)系統
32a:VMM系統
32b:VMM系統
32c:VMM系統
32d:VMM系統
32e:VMM系統
33:VMM陣列
34:抹除閘極及字線閘極解碼器
35:控制閘極解碼器
36:位元線解碼器
37:源極線解碼器
38:微分加法器
39:激活函數電路
210:記憶體單元
310:記憶體單元
410:四閘極記憶體單元
510:記憶體單元
610:三閘極記憶體單元
710:疊閘記憶體單元
1100:神經元VMM陣列
1101:記憶體陣列
1102:參考陣列
1103:控制閘極線
1104:抹除閘極線
1200:神經元VMM陣列
1201:參考陣列
1202:參考陣列
1203:記憶體陣列
1214:多工器
1300:神經元VMM陣列
1301:參考陣列
1302:參考陣列
1303:記憶體陣列
1400:神經元VMM陣列
1401:參考陣列
1402:參考陣列
1403:記憶體陣列
1404:串疊電晶體
1405:多工器
1412:多工器
1500:神經元VMM陣列
1501:參考陣列
1502:參考陣列
1503:記憶體陣列
1514:多工器
1600:長短期記憶體
1601:單元
1602:單元
1603:單元
1604:單元
1700:長短期記憶體單元
1701:S形函數裝置
1702:S形函數裝置
1703:S形函數裝置
1704:雙曲正切裝置
1705:雙曲正切裝置
1706:乘法器裝置
1707:乘法器裝置
1708:乘法器裝置
1709:加法裝置
1800:長短期記憶體單元
1801:VMM陣列
1802:啟動電路塊
1900:長短期記憶體單元
1901:VMM陣列
1902:啟動電路塊
1903:乘法器裝置
1904:暫存器
1905:暫存器
1906:暫存器
1907:暫存器
1908:加法裝置
1909:多工器
1910:多工器
2000:閘控再流單元
2001:單元
2002:單元
2003:單元
2004:單元
2100:閘控再流單元
2101:S形函數裝置
2102:S形函數裝置
2103:雙曲正切裝置
2104:乘法器裝置
2105:乘法器裝置
2106:乘法器裝置
2107:加法裝置
2108:互補裝置
2200:閘控再流單元
2201:VMM陣列
2202:啟動函數塊
2300:閘控再流單元
2301:VMM陣列
2302:啟動函數塊
2303:乘法器裝置
2304:多工器
2305:加法裝置
2306:暫存器
2307:暫存器
2308:暫存器
2309:互補裝置
2400:神經元VMM陣列
2500:神經元VMM陣列
2600:神經元VMM陣列
2700:神經元VMM陣列
2800:神經元VMM陣列
2900:神經元VMM陣列
2901-1:位元線控制閘極
2901-2:位元線控制閘極
2901-(N-1):位元線控制閘極
2901-N:位元線控制閘極
3000:神經元VMM陣列
3100:神經元VMM陣列
3200:神經元VMM陣列
3300:VMM系統
3301:VMM陣列
3302:低電壓列解碼器
3303:高電壓列解碼器
3304:行解碼器
3305:行驅動器
3306:控制邏輯
3307:偏壓電路
3308:神經元輸出電路塊
3309:輸入VMM電路塊
3310:演算法控制器
3311:高電壓產生器塊
3315:類比電路塊
3316:控制邏輯
3400:VMM系統
3401:VMM陣列
3402:VMM陣列
3403:VMM陣列
3404:VMM陣列
3405:高電壓列解碼器
3406:高電壓列解碼器
3407:低電壓列解碼器
3408:低電壓列解碼器
3409:輸入塊
3410:輸入塊
3411:輸出塊
3412:輸出塊
3500:VMM系統
3503:VMM陣列
3504:VMM陣列
3505:VMM陣列
3506:共用的全域高電壓列解碼器
3507:局部高電壓列解碼器
3508:局部高電壓列解碼器
3509:共用的低電壓列解碼器
3510:輸入塊
3550:VMM系統
3511:VMM陣列
3512:VMM陣列
3513:VMM陣列
3514:VMM陣列
3515:全域高電壓解碼器
3516:局部高電壓列解碼器
3517:局部高電壓列解碼器
3518:局部高電壓列解碼器
3519:共用的低電壓列解碼器
3520:輸入塊
3600:VMM系統
3601:水平組
3602:VMM陣列
3603:VMM陣列
3604:全域高電壓列解碼器
3605:局部高電壓列解碼器
3606:低電壓列解碼器
3607:輸入塊
3608:輸出塊
3609:輸出塊
3611:水平組
3612:VMM陣列
3613:VMM陣列
3614:全域高電壓解碼器
3615:局部高電壓列解碼器
3616:低電壓列解碼器
3617:輸入塊
3618:輸出塊
3619:輸出塊
3700:積分雙混合斜率類比-數位轉換器(ADC)
3701:積分運算放大器
3702:可調整積分電容器
3703:Vout
3705:輸出脈衝EC
3706:輸出神經元;神經元電流
3707:可調整參考電流
3708:開關
3710:波形;脈衝
3711:波形
3712:波形;脈衝
3713:波形
3714:波形
3715:波形
3720:計數器
3721:計數值
3740:AND閘
3741:參考時脈
3742:脈衝系列
3900:電流-電壓轉換器
3901:運算放大器
3902:可調整電容器
3903:開關
3904:開關
3905:電流源
4000:數位資料-電壓轉換器
4001:參考電流
4002:開關
4003:電容器
4004:開關
4005:開關
4100:可組態類比-數位轉換器
4101:輸出神經元;電流源
4102:可變電阻器
4103:類比-數位轉換器
4200:可組態電流-電壓轉換器
4201:輸入電流
4202:可調整電阻器
4203:Vin
4300:數位位元-脈衝寬度轉換器
4301:二元計數器
4310:列控制邏輯
4320:波形
4400:數位資料-脈衝列轉換器;斜坡類比-數位轉換器
4401:電流源
4401-0:二元索引脈衝階段
4401-N:二元索引脈衝階段
4402:開關
4402-0:閂
4402-N:閂
4403:可變可組態電容器
4403-0:開關
4403-N:開關
4404:NAND閘;比較器
4404-0:二元索引脈衝輸入
4404-1:二元索引脈衝輸入
4404-2:二元索引脈衝輸入
4404-3:二元索引脈衝輸入
4404-N:二元索引脈衝輸入
4405:階移動反向器
4408:時間加總轉換器節點
4409:列轉換器WLIN/CGIN
4410:列數位脈衝產生器
4420:波形;數位計數器
4455:連續斜坡電壓
4471:第一粗參考斜坡參考電壓
4472:細參考斜坡參考電壓
4600:演算法類比-數位輸出轉換器
4601:開關
4602:開關
4603:抽樣保持(S/H)電路
4604:1位元類比-數位轉換器(ADC)
4605:1位元數位-類比轉換器(DAC)
4606:加法器
4607:殘值運算放大器
4608:數位輸出信號
4609:S/H電壓
4610:轉換殘值電壓
4700:逐漸近似暫存器(SAR)類比-數位轉換器
4701:SAR
4702:數位-類比轉換器
4703:比較器
4800:ΣΔ類比-數位轉換器
4801:運算放大器
4802:比較器
4803:時脈DFF
4804:1位元電流DAC
4805:可組態電容器
4806:單元電流
4807:數位輸出位元;數位輸出流
4900:校正方法
4901:步驟
4902:步驟
4903:步驟
4904:步驟
5000:校正方法
5010:即時校正方法
5011:步驟
5012:步驟
5013:步驟
5020:背景校正方法
5021:步驟
5022:步驟
5023:步驟
5024:步驟
5025:步驟
5100:校正及轉換方法
5101:步驟
5102:步驟
5103:步驟
5110:校正及轉換方法
5111:步驟
5112:步驟
5113:步驟
5200:比較器
5201:陣列輸出
5202:參考電壓
5203:粗賦能
5204:細賦能
5205:時脈信號
5206:選擇信號
BL0:位元線
BLN:位元線
BLR0:端子
BLR1:端子
BLR2:端子
BLR3:端子
c0:單元狀態向量
c1:單元狀態向量
c2:單元狀態向量
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
CG0:控制閘極線;電壓輸入
CG1:控制閘極線;電壓輸入
CG2:控制閘極線;電壓輸入
CG3:控制閘極線;電壓輸入
EG0:EG線;抹除閘極
EG1:EG線;抹除閘極
EGR0:EG線;抹除閘極
EGR1:EG線;抹除閘極
EGR10:EG線
h0:輸出向量
h1:輸出向量
h2:輸出向量
h3:輸出向量
P1:激活函數
P2:激活函數
S0:輸入層
S1:層;開關
S2:層;開關
S3:層;開關
SL0:源極線
SL1:源極線
SL2:源極線
SL3:源極線
WL:字線
WL0:字線
WL1:字線
WL2:字線
WL3:字線
WLA0:字線
WLA1:字線
WLA2:字線
WLA3:字線
WLB0:字線
WLB1:字線
WLB2:字線
WLB3:字線
X0:輸入向量
X1:輸入向量
X2:輸入向量
X3:輸入向量
圖1係繪示先前技術人工神經網路之圖。
圖2描繪先前技術分裂閘快閃記憶體單元。
圖3描繪另一先前技術分裂閘快閃記憶體單元。
圖4描繪另一先前技術分裂閘快閃記憶體單元。
圖5描繪另一先前技術分裂閘快閃記憶體單元。
圖6描繪另一先前技術分裂閘快閃記憶體單元。
圖7描繪先前技術疊閘快閃記憶體單元。
圖8係繪示利用一或多個非揮發性記憶體陣列之例示性人工神經網路之不同階的圖。
圖9係繪示向量-矩陣乘法系統之方塊圖。
圖10係繪示利用一或多個向量-矩陣乘法系統之例示性人工神經網路的方塊圖。
圖11描繪向量-矩陣乘法系統之另一具體例。
圖12描繪向量-矩陣乘法系統之另一具體例。
圖13描繪向量-矩陣乘法系統之另一具體例。
圖14描繪向量-矩陣乘法系統之另一具體例。
圖15描繪向量-矩陣乘法系統之另一具體例。
圖16描繪先前技術長短期記憶體系統。
圖17描繪用於長短期記憶體系統中之一例示性單元。
圖18描繪圖17之例示性單元的一具體例。
圖19描繪圖17之例示性單元的另一具體例。
圖20描繪先前技術閘控再流單元系統。
圖21描繪用於閘控再流單元系統之一例示性單元。
圖22描繪圖21之例示性單元的一具體例。
圖23描繪圖21之例示性單元的另一具體例。
圖24描繪向量-矩陣乘法系統之另一具體例。
圖25描繪向量-矩陣乘法系統之另一具體例。
圖26描繪向量-矩陣乘法系統之另一具體例。
圖27描繪向量-矩陣乘法系統之另一具體例。
圖28描繪向量-矩陣乘法系統之另一具體例。
圖29描繪向量-矩陣乘法系統之另一具體例。
圖30描繪向量-矩陣乘法系統之另一具體例。
圖31描繪向量-矩陣乘法系統之另一具體例。
圖32描繪向量-矩陣乘法系統之另一具體例。
圖33描繪向量-矩陣乘法系統之一例示性方塊圖。
圖34描繪向量-矩陣乘法系統之一例示性方塊圖,其中垂直毗鄰陣列共用一輸出塊。
圖35A描繪向量-矩陣乘法系統之一例示性方塊圖,其中水平毗鄰陣列共用一輸入塊。
圖35B描繪向量-矩陣乘法系統之一例示性方塊圖,其中水平毗鄰陣列共用一輸入塊。
圖36描繪向量-矩陣乘法系統之一例示性方塊圖。
圖37A描繪積分類比-數位轉換器之一具體例。
圖37B描繪圖37A之系統的例示性輸出波形。
圖38描繪可提供至圖37A之積分類比-數位轉換器之例示性輸入。
圖39描繪電流-電壓轉換器之一具體例。
圖40描繪數位資料-電壓轉換器。
圖41描繪可組態的類比-數位轉換器。
圖42描繪可組態的電流-電壓輸入電路。
圖43A描繪數位-脈衝列轉換器。
圖43B描繪圖43A之數位-脈衝列轉換器的例示性波形。
圖44A描繪數位-脈衝列轉換器。
圖44B描繪圖44A之數位-脈衝列轉換器的例示性波形。
圖44C描繪供圖44A之數位-脈衝列轉換器使用的列數位脈衝產生器。
圖45A描繪一斜坡類比-數位轉換器輸出轉換器。
圖45B及45C描繪供圖45A之斜坡類比-數位轉換器輸出轉換器使用的例示性參考電壓。
圖46描繪演算法類比-數位轉換器輸出轉換器4600。
圖47A描繪SAR ADC。
圖47B描繪用來產生圖47A之SAR ADC之數位輸出位元的演算法。
圖48描繪ΣΔ(sigma delta)類比-數位轉換器。
圖49描繪校正方法。
圖50A描繪即時校正方法。
圖50B描繪背景校正方法。
圖51A描繪校正及轉換方法。
圖51B描繪另一校正及轉換方法。
圖52描繪用於視需要供圖37A-37B及45A-45C之具體例使用的比較器。
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激活函數
P2:激活函數
S0:輸入層
S1:層
S2:層
S3:層
Claims (11)
- 一種操作類比神經記憶體單元之方法,該類比神經記憶體單元包括一類比神經記憶體及一輸出電路塊,其中,該類比神經記憶體包含具有唯讀記憶體單元之一記憶體陣列,一列解碼電路及一行寫入電路,其中該輸出電路塊連接該記憶體陣列,該方法包括:測量記憶體陣列偏移及電路偏移中之一或多者,其中,該記憶體陣列偏移包含來自歸因於該唯讀記憶體單元之單元電容及單元接面之一或多者之記憶體陣列變化的偏移,及該電路偏移包含來自該列解碼電路及該行寫入電路之一或多者的偏移;儲存測得量作為第一值;使用下式確定一最低有效位元(LSB)之電流臨限:LSB=第一值加上一常數;使用下式確定一最高有效位元(MSB)之電流臨限:MSB=LSB+(N-1)*△階量,其中N係總階數及△階量係兩個連續階間之差;及使用包含類比-數位轉換器的電路轉換該輸出電路塊所接收之類比輸出至數位輸出。
- 如請求項1之方法,其中,該△階量等於該LSB。
- 如請求項1之方法,其中,該△階係預定的。
- 如請求項1之方法,其中,該記憶體單元係分裂閘記憶體單元。
- 如請求項1之方法,其中,該類比-數位轉換器係積分類 比-數位轉換器。
- 如請求項1之方法,其中,該測量步驟包含進行類比-數位轉換及該儲存步驟包含將數位輸出儲存於計數器中。
- 一種操作類比神經記憶體單元之方法,該類比神經記憶體單元包括一類比神經記憶體及一輸出電路塊,其中,該類比神經記憶體包含具有唯讀記憶體單元之一記憶體陣列,一列解碼電路及一行寫入電路,其中該輸出電路塊連接該記憶體陣列,該方法包括:測量記憶體陣列偏移及電路偏移中之一或多者及儲存測得量作為第一值,其中,該記憶體陣列偏移包含來自歸因於該唯讀記憶體單元之單元電容及單元接面之一或多者之記憶體陣列變化的偏移,及該電路偏移包含來自該列解碼電路及該行寫入電路之一或多者的偏移;讀取該第一值;對該第一值進行溫度調整;使用下式確定一最低有效位元(LSB)之電流臨限:LSB=第一值加上一常數;使用下式確定一最高有效位元(MSB)之電流臨限:MSB=LSB+(N-1)*△階量,其中N係總階數及△階量係兩個連續階間之差;及使用包含類比-數位轉換器的電路轉換該輸出電路塊所接收之類比輸出至數位輸出。
- 如請求項7之方法,其中,該△階量等於該LSB。
- 如請求項7之方法,其中,該△階量係預定的。
- 如請求項7之方法,其中,該記憶體單元係分裂閘記憶體單元。
- 如請求項7之方法,其中,該類比-數位轉換器係積分類比-數位轉換器。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962842279P | 2019-05-02 | 2019-05-02 | |
US62/842,279 | 2019-05-02 | ||
US16/449,205 US20200349422A1 (en) | 2019-05-02 | 2019-06-21 | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
US16/449,205 | 2019-06-21 | ||
USPCT/US19/62073 | 2019-11-18 | ||
PCT/US2019/062073 WO2020222869A1 (en) | 2019-05-02 | 2019-11-18 | Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202042233A TW202042233A (zh) | 2020-11-16 |
TWI805908B true TWI805908B (zh) | 2023-06-21 |
Family
ID=73015948
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109709A TWI805908B (zh) | 2019-05-02 | 2020-03-24 | 用於深度學習人工神經網路中之類比神經記憶體的輸出陣列神經元轉換與校正 |
TW109109710A TWI805909B (zh) | 2019-05-02 | 2020-03-24 | 用於深度學習人工神經網路中之類比神經記憶體的可組態輸入塊及輸出塊與實體佈局 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109109710A TWI805909B (zh) | 2019-05-02 | 2020-03-24 | 用於深度學習人工神經網路中之類比神經記憶體的可組態輸入塊及輸出塊與實體佈局 |
Country Status (7)
Country | Link |
---|---|
US (2) | US11507642B2 (zh) |
EP (2) | EP3963513B1 (zh) |
JP (3) | JP7308290B2 (zh) |
KR (2) | KR102709575B1 (zh) |
CN (2) | CN113785311A (zh) |
TW (2) | TWI805908B (zh) |
WO (2) | WO2020222868A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10970630B1 (en) * | 2017-06-15 | 2021-04-06 | National Technology & Engineering Solutions Of Sandia, Llc | Neuromorphic computing architecture with dynamically accessible contexts |
US12075618B2 (en) | 2018-10-16 | 2024-08-27 | Silicon Storage Technology, Inc. | Input and digital output mechanisms for analog neural memory in a deep learning artificial neural network |
US20210125049A1 (en) * | 2019-10-29 | 2021-04-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | System for executing neural network |
US11600321B2 (en) | 2020-03-05 | 2023-03-07 | Silicon Storage Technology, Inc. | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
US11875852B2 (en) | 2020-07-06 | 2024-01-16 | Silicon Storage Technology, Inc. | Adaptive bias decoder to provide a voltage to a control gate line in an analog neural memory array in artificial neural network |
WO2022146468A1 (en) * | 2021-01-01 | 2022-07-07 | Silicon Storage Technology, Inc. | Digital output mechanisms for analog neural memory in a deep learning artificial neural network |
US20220215239A1 (en) * | 2021-01-01 | 2022-07-07 | Silicon Storage Technology, Inc. | Digital output mechanisms for analog neural memory in a deep learning artificial neural network |
US20220230064A1 (en) * | 2021-01-20 | 2022-07-21 | Mediatek Singapore Pte. Ltd. | Calibration of analog circuits for neural network computing |
US11693560B2 (en) * | 2021-01-22 | 2023-07-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture |
US11720784B2 (en) * | 2021-04-01 | 2023-08-08 | Mythic, Inc. | Systems and methods for enhancing inferential accuracy of an artificial neural network during training on a mixed-signal integrated circuit |
US20240242061A1 (en) | 2021-05-07 | 2024-07-18 | Blumind Inc. | System, method, and computer device for transistor-based neural networks |
TWI769875B (zh) * | 2021-06-24 | 2022-07-01 | 國立中央大學 | 深度學習網路裝置、其使用的記憶體存取方法與非揮發性儲存媒介 |
US11989440B2 (en) | 2021-08-11 | 2024-05-21 | Silicon Storage Technology, Inc. | Hybrid memory system configurable to store neural memory weight data in analog form or digital form |
JP2023088730A (ja) * | 2021-12-15 | 2023-06-27 | キオクシア株式会社 | 演算システム |
US11756565B2 (en) | 2022-01-25 | 2023-09-12 | Blumind Inc. | Analog systems and methods for audio feature extraction and natural language processing |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385436A2 (en) * | 1989-02-28 | 1990-09-05 | Fujitsu Limited | An error absorbing system in a neuron computer |
US20080158988A1 (en) * | 2005-05-04 | 2008-07-03 | Jennifer Taylor | Method and apparatus for sensing flash memory using delta sigma modulation |
US20080205158A1 (en) * | 2007-02-14 | 2008-08-28 | Stmicroelectronics S.R.I. | Reading method and circuit for a non-volatile memory device based on the adaptive generation of a reference electrical quantity |
US20100097254A1 (en) * | 2008-10-22 | 2010-04-22 | Industrial Technology Research Institute | Mixed-signal control apparatus of modulation system |
US20170012636A1 (en) * | 2015-07-08 | 2017-01-12 | Marvell World Trade Ltd. | Hybrid charge-sharing charge-redistribution dac for successive approximation analog-to-digital converters |
US9646685B2 (en) * | 2014-07-07 | 2017-05-09 | Samsung Electronics Co., Ltd. | Resistive memory device, resistive memory, and operating method of the resistive memory device |
US10123143B2 (en) * | 2016-09-26 | 2018-11-06 | Cirrus Logic, Inc. | Correction for speaker monitoring |
US10205463B1 (en) * | 2018-07-18 | 2019-02-12 | Teledyne Scientific & Imaging, Llc | Dual-gain single-slope ADC with digital CDS |
WO2019055182A1 (en) * | 2017-09-15 | 2019-03-21 | Silicon Storage Technology, Inc. | SYSTEM AND METHOD FOR IMPLEMENTING CONVOLUTE NEURAL NETWORKS CONFIGURABLE WITH FLASH MEMOIRES |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS55130229A (en) * | 1979-03-30 | 1980-10-08 | Mitsubishi Electric Corp | Analog-digital converter |
JPS6346581A (ja) * | 1986-08-13 | 1988-02-27 | Toshiba Corp | 半導体記憶装置 |
KR940001173B1 (ko) * | 1988-08-31 | 1994-02-16 | 후지쓰 가부시끼가이샤 | 뉴로 컴퓨터 |
US5029130A (en) | 1990-01-22 | 1991-07-02 | Silicon Storage Technology, Inc. | Single transistor non-valatile electrically alterable semiconductor memory device |
US5298796A (en) | 1992-07-08 | 1994-03-29 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Nonvolatile programmable neural network synaptic array |
JP3561096B2 (ja) * | 1996-09-10 | 2004-09-02 | 株式会社東芝 | 関数学習装置 |
JP3910707B2 (ja) * | 1997-12-01 | 2007-04-25 | 松下電器産業株式会社 | ディジタル信号処理回路 |
KR100370164B1 (ko) * | 2000-12-20 | 2003-01-30 | 주식회사 하이닉스반도체 | 비트라인의 누설전류 보상이 가능한 풀업회로 |
JP2003263624A (ja) * | 2002-03-07 | 2003-09-19 | Matsushita Electric Ind Co Ltd | ニューラル・ネットワーク装置の学習演算回路 |
US6747310B2 (en) | 2002-10-07 | 2004-06-08 | Actrans System Inc. | Flash memory cells with separated self-aligned select and erase gates, and process of fabrication |
US7395287B2 (en) * | 2003-12-15 | 2008-07-01 | Micrel, Inc. | Numerical value conversion using a saturation limited arithmetic logic unit supporting variable resolution operands |
JP2005322198A (ja) | 2004-04-07 | 2005-11-17 | Sony Corp | データ処理装置 |
US7129880B2 (en) * | 2004-08-09 | 2006-10-31 | Northrop Grumman Corporation | Auto-zoom sloped ADC |
US7768868B2 (en) | 2007-06-15 | 2010-08-03 | Micron Technology, Inc. | Digital filters for semiconductor devices |
US7755948B2 (en) * | 2008-08-19 | 2010-07-13 | Agere Systems Inc. | Process and temperature tolerant non-volatile memory |
TW201019327A (en) * | 2008-09-30 | 2010-05-16 | Lsi Corp | Methods and apparatus for soft data generation for memory devices using reference cells |
US8473439B2 (en) * | 2010-12-08 | 2013-06-25 | International Business Machines Corporation | Integrate and fire electronic neurons |
TWI530183B (zh) * | 2011-12-08 | 2016-04-11 | Sony Corp | An imaging element, a control method, and an imaging device |
US10217045B2 (en) * | 2012-07-16 | 2019-02-26 | Cornell University | Computation devices and artificial neurons based on nanoelectromechanical systems |
US9164526B2 (en) * | 2012-09-27 | 2015-10-20 | Sandisk Technologies Inc. | Sigma delta over-sampling charge pump analog-to-digital converter |
US8643168B1 (en) * | 2012-10-16 | 2014-02-04 | Lattice Semiconductor Corporation | Integrated circuit package with input capacitance compensation |
US9325321B2 (en) * | 2013-03-13 | 2016-04-26 | Microsemi SoC Corporation | Background auto-refresh apparatus and method for non-volatile memory array |
US9418333B2 (en) * | 2013-06-10 | 2016-08-16 | Samsung Electronics Co., Ltd. | Synapse array, pulse shaper circuit and neuromorphic system |
US10325655B2 (en) * | 2015-04-10 | 2019-06-18 | Hewlett Packard Enterprise Development Lp | Temperature compensation circuits |
US10748058B2 (en) * | 2015-12-28 | 2020-08-18 | International Business Machines Corporation | LUT based neuron membrane potential update scheme in STDP neuromorphic systems |
CN108780492B (zh) * | 2016-02-08 | 2021-12-14 | 斯佩罗设备公司 | 模拟协处理器 |
CN115995242A (zh) * | 2016-03-18 | 2023-04-21 | 株式会社半导体能源研究所 | 半导体装置 |
JP6833873B2 (ja) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
US11238887B2 (en) * | 2017-01-23 | 2022-02-01 | Dsp Group Ltd. | Interface to leaky spiking neurons |
JP2018133016A (ja) * | 2017-02-17 | 2018-08-23 | 株式会社半導体エネルギー研究所 | ニューラルネットワークシステム |
US10896367B2 (en) | 2017-03-07 | 2021-01-19 | Google Llc | Depth concatenation using a matrix computation unit |
WO2018163005A1 (ja) * | 2017-03-10 | 2018-09-13 | 株式会社半導体エネルギー研究所 | タッチパネルシステム、電子機器および半導体装置 |
US11568223B2 (en) * | 2017-04-14 | 2023-01-31 | Semiconductor Energy Laboratory Co., Ltd. | Neural network circuit |
US10460817B2 (en) | 2017-07-13 | 2019-10-29 | Qualcomm Incorporated | Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors |
EP3432226B1 (en) | 2017-07-19 | 2023-11-01 | IMEC vzw | Control plane organisation for flexible digital data plane |
JP2019028569A (ja) * | 2017-07-26 | 2019-02-21 | 株式会社東芝 | メモリシステム、半導体記憶装置及び信号処理システム |
KR20190020408A (ko) * | 2017-08-21 | 2019-03-04 | 에스케이하이닉스 주식회사 | 고 선형성의 투-스텝 싱글-슬롭 비교 장치 및 그에 따른 씨모스 이미지 센서 |
KR102126791B1 (ko) * | 2017-11-23 | 2020-06-25 | 서울대학교산학협력단 | 교차점 어레이를 이용한 신경 연결망 및 그 패턴 인식방법 |
US10748630B2 (en) | 2017-11-29 | 2020-08-18 | Silicon Storage Technology, Inc. | High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks |
US10594334B1 (en) * | 2018-04-17 | 2020-03-17 | Ali Tasdighi Far | Mixed-mode multipliers for artificial intelligence |
CN108932548A (zh) * | 2018-05-22 | 2018-12-04 | 中国科学技术大学苏州研究院 | 一种基于fpga的稀疏度神经网络加速系统 |
US10861553B2 (en) * | 2018-09-27 | 2020-12-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Device-region layout for embedded flash |
US11061646B2 (en) * | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
CN109658471B (zh) * | 2018-12-20 | 2023-07-25 | 上海联影医疗科技股份有限公司 | 一种医学图像重建方法和系统 |
WO2020146890A1 (en) * | 2019-01-11 | 2020-07-16 | Apple Inc. | Method for measurement of ue-to-ue reference signal in new radio networks with cross-link interference |
US10756748B1 (en) * | 2019-04-26 | 2020-08-25 | Xilinx, Inc. | Capacitor-enhanced comparator for switched-capacitor (SC) circuits with reduced kickback |
US11562249B2 (en) * | 2019-05-01 | 2023-01-24 | International Business Machines Corporation | DNN training with asymmetric RPU devices |
-
2019
- 2019-06-21 US US16/449,201 patent/US11507642B2/en active Active
- 2019-06-21 US US16/449,205 patent/US20200349422A1/en active Pending
- 2019-11-18 EP EP19817533.3A patent/EP3963513B1/en active Active
- 2019-11-18 EP EP19821455.3A patent/EP3963587B1/en active Active
- 2019-11-18 JP JP2021564789A patent/JP7308290B2/ja active Active
- 2019-11-18 KR KR1020217035908A patent/KR102709575B1/ko active IP Right Grant
- 2019-11-18 KR KR1020217035930A patent/KR102657705B1/ko active IP Right Grant
- 2019-11-18 JP JP2021564790A patent/JP2022531766A/ja active Pending
- 2019-11-18 CN CN201980095991.7A patent/CN113785311A/zh active Pending
- 2019-11-18 WO PCT/US2019/061902 patent/WO2020222868A1/en unknown
- 2019-11-18 WO PCT/US2019/062073 patent/WO2020222869A1/en unknown
- 2019-11-18 CN CN201980095990.2A patent/CN113785360A/zh active Pending
-
2020
- 2020-03-24 TW TW109109709A patent/TWI805908B/zh active
- 2020-03-24 TW TW109109710A patent/TWI805909B/zh active
-
2023
- 2023-07-03 JP JP2023109273A patent/JP2023139013A/ja active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0385436A2 (en) * | 1989-02-28 | 1990-09-05 | Fujitsu Limited | An error absorbing system in a neuron computer |
US20080158988A1 (en) * | 2005-05-04 | 2008-07-03 | Jennifer Taylor | Method and apparatus for sensing flash memory using delta sigma modulation |
US20080205158A1 (en) * | 2007-02-14 | 2008-08-28 | Stmicroelectronics S.R.I. | Reading method and circuit for a non-volatile memory device based on the adaptive generation of a reference electrical quantity |
US20100097254A1 (en) * | 2008-10-22 | 2010-04-22 | Industrial Technology Research Institute | Mixed-signal control apparatus of modulation system |
US9646685B2 (en) * | 2014-07-07 | 2017-05-09 | Samsung Electronics Co., Ltd. | Resistive memory device, resistive memory, and operating method of the resistive memory device |
US20170012636A1 (en) * | 2015-07-08 | 2017-01-12 | Marvell World Trade Ltd. | Hybrid charge-sharing charge-redistribution dac for successive approximation analog-to-digital converters |
US10123143B2 (en) * | 2016-09-26 | 2018-11-06 | Cirrus Logic, Inc. | Correction for speaker monitoring |
WO2019055182A1 (en) * | 2017-09-15 | 2019-03-21 | Silicon Storage Technology, Inc. | SYSTEM AND METHOD FOR IMPLEMENTING CONVOLUTE NEURAL NETWORKS CONFIGURABLE WITH FLASH MEMOIRES |
US10205463B1 (en) * | 2018-07-18 | 2019-02-12 | Teledyne Scientific & Imaging, Llc | Dual-gain single-slope ADC with digital CDS |
Non-Patent Citations (1)
Title |
---|
網路文獻 AVR127: Understanding ADC parameters ,https://www.microchip.com/wwwAppNotes/AppNotes.aspx?appnote=en590903,12/10/2016 * |
Also Published As
Publication number | Publication date |
---|---|
JP7308290B2 (ja) | 2023-07-13 |
KR102709575B1 (ko) | 2024-09-25 |
TW202042233A (zh) | 2020-11-16 |
US20200349421A1 (en) | 2020-11-05 |
EP3963587A1 (en) | 2022-03-09 |
EP3963513A1 (en) | 2022-03-09 |
JP2022531766A (ja) | 2022-07-11 |
TWI805909B (zh) | 2023-06-21 |
TW202044123A (zh) | 2020-12-01 |
KR20210147032A (ko) | 2021-12-06 |
EP3963513B1 (en) | 2024-04-17 |
US11507642B2 (en) | 2022-11-22 |
EP3963587B1 (en) | 2024-09-11 |
CN113785311A (zh) | 2021-12-10 |
JP2022539486A (ja) | 2022-09-12 |
US20200349422A1 (en) | 2020-11-05 |
WO2020222869A1 (en) | 2020-11-05 |
KR102657705B1 (ko) | 2024-04-15 |
CN113785360A (zh) | 2021-12-10 |
KR20210145809A (ko) | 2021-12-02 |
JP2023139013A (ja) | 2023-10-03 |
WO2020222868A1 (en) | 2020-11-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI805908B (zh) | 用於深度學習人工神經網路中之類比神經記憶體的輸出陣列神經元轉換與校正 | |
TWI799006B (zh) | 讀取選定非揮發性記憶體單元之方法 | |
KR102715858B1 (ko) | 딥 러닝 인공 신경 네트워크 내의 아날로그 신경 메모리의 프로그래밍을 위한 정밀도 튜닝 | |
JP7340101B2 (ja) | 人工ニューラルネットワークにおけるアナログニューラルメモリのための精密なプログラミング方法及び装置 | |
US11893478B2 (en) | Programmable output blocks for analog neural memory in a deep learning artificial neural network | |
TWI820532B (zh) | 深度學習人工神經網路中類比神經記憶體之數位輸出機制 | |
KR20230158570A (ko) | 딥 러닝 인공 신경망에서의 아날로그 뉴럴 메모리를 위한 출력 회로 | |
WO2022245384A1 (en) | Output circuit for analog neural memory in a deep learning artificial neural network | |
TWI784816B (zh) | 深度學習人工神經網路中類比神經記憶體之輸入及數位輸出機制 |