TWI755339B - 用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 - Google Patents
用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 Download PDFInfo
- Publication number
- TWI755339B TWI755339B TW110123297A TW110123297A TWI755339B TW I755339 B TWI755339 B TW I755339B TW 110123297 A TW110123297 A TW 110123297A TW 110123297 A TW110123297 A TW 110123297A TW I755339 B TWI755339 B TW I755339B
- Authority
- TW
- Taiwan
- Prior art keywords
- cells
- array
- memory cells
- cell
- vmm
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 35
- 230000002950 deficient Effects 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 claims description 2
- 238000012549 training Methods 0.000 claims description 2
- 239000011159 matrix material Substances 0.000 abstract description 21
- 238000013528 artificial neural network Methods 0.000 abstract description 11
- 210000004027 cell Anatomy 0.000 description 172
- 210000002569 neuron Anatomy 0.000 description 30
- 210000000225 synapse Anatomy 0.000 description 30
- 230000006870 function Effects 0.000 description 20
- 238000003491 array Methods 0.000 description 15
- 239000000463 material Substances 0.000 description 11
- 239000000758 substrate Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 4
- 230000014759 maintenance of location Effects 0.000 description 3
- 230000037452 priming Effects 0.000 description 3
- 230000008672 reprogramming Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008929 regeneration Effects 0.000 description 2
- 238000011069 regeneration method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000000946 synaptic effect Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 102100036301 C-C chemokine receptor type 7 Human genes 0.000 description 1
- 102100031658 C-X-C chemokine receptor type 5 Human genes 0.000 description 1
- 101000716065 Homo sapiens C-C chemokine receptor type 7 Proteins 0.000 description 1
- 101000922405 Homo sapiens C-X-C chemokine receptor type 5 Proteins 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 210000003169 central nervous system Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000011065 in-situ storage Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 125000006850 spacer group Chemical group 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Images
Classifications
-
- 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/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- 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/08—Learning methods
-
- 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/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
- 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/26—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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply 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/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3431—Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/16—Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters
-
- 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/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
- 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
- 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/10—Programming or data input circuits
- G11C16/14—Circuits for erasing electrically, e.g. erase voltage switching circuits
- G11C16/16—Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
-
- 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
-
- 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
- G11C29/4401—Indication or identification of errors, e.g. for repair for self 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Biophysics (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
Abstract
揭示一種用於使用人工類神經網路中的一向量矩陣乘法(vector-by-matrix multiplication, VMM)陣列的資料再新方法及設備之多個實施例。揭示一種適用於偵測VMM陣列內的快閃記憶體單元中的資料漂移的資料漂移偵測器之各種實施例。
Description
優先權主張
本申請案主張於2018年3月14日申請之美國臨時專利申請案第62/642,867號之優先權,其名稱為「Method and Apparatus for Data Refresh for Analog Neuromorphic Memory in Artificial Neural Network」,以及主張於2018年5月25日申請之美國專利申請案第15/990,220號之優先權,其名稱為「Method and Apparatus for Data Refresh for Analog Non-volatile Memory in Deep Learning Neural Network」。
揭示一種用於使用人工類神經網路中的一向量矩陣乘法(vector-by-matrix multiplication, VMM)陣列中的快閃記憶體單元的資料再新方法及設備之多個實施例。
人工類神經網路模仿生物神經網路(動物的中樞神經系統,特別係大腦),其用以評估或近似可取決於大數目的輸入且通常未知的功能。人工類神經網路通常包括在彼此間交換訊息之互連的「神經元」的層。
圖1繪示一人工類神經網路,其中圓形表示神經元的輸入或層。連接(稱為突觸)係以箭頭表示,並具有可基於經驗調諧的數字權重。此使類神經網路適應輸入並能夠學習。一般而言,類神經網路包括多個輸入的一層。一般而言有一或多個神經元中間層,及提供類神經網路的輸出之一神經元輸出層。各級的神經元基於自突觸接收之資料個別地或共同地做決策。
用於高效能資訊處理的人工類神經網路之發展中的主要挑戰之一者係缺少適當的硬體技術。的確,實際的類神經網路依賴非常大數目的突觸,而在神經元之間實現高連接性,亦即,非常高的計算平行性。原理上,此種複雜性可以數位超級電腦或專用圖形處理單元叢集實現。然而,除了高成本以外,此等方法與生物網路相比時也苦於中等的能量效率,主要因為生物網路實施低精確度類比計算而消耗更少的能量。CMOS類比電路已用於人工類神經網路,但大多數CMOS實作的突觸在給定高數目的神經元及突觸情況下已過於龐大。
申請人先前在美國專利申請案第15/594,439號(其以引用方式併入本文中)中揭示一種人工(類比)類神經網路,其利用一或多個非揮發性記憶體陣列作為突觸。非揮發性記憶體陣列作為類比神經形態記憶體進行操作。該類神經網路裝置包括一第一複數個突觸及一第一複數個神經元,該第一複數個突觸經組態以接收一第一複數個輸入並由此產生一第一複數個輸出,該第一複數個神經元經組態以接收該第一複數個輸出。該第一複數個突觸包括複數個記憶體單元,其中該等記憶體單元之各者包括形成於一半導體基材中之間隔開的源極區域及汲極區域,其中一通道區域在該源極區域與該汲極區域之間延伸;一浮閘,其設置於該通道區域之一第一部分上方並與該第一部分絕緣;及一非浮閘,其設置於該通道區域之一第二部分上方並與該第二部分絕緣。該複數個記憶體單元之各者經組態來儲存對應於該浮閘上之數個電子的權重值。該複數個記憶體單元經組態以使該第一複數個輸入乘以所儲存的該等權重值,以產生該第一複數個輸出。
該類比神經形態記憶體系統中所用的各非揮發性記憶體單元必須經抹除及程式化以在該浮閘中保持一非常特定且精確的電荷量。例如,各浮閘必須保持N個不同值之一者,其中N係可由各單元指示之不同權重的數目。N的實例包括16、32、及64。
習知快閃記憶體裝置無需再新其等資料,此係因為各快閃記憶體單元可無限期保持其值(一般係限於兩個可能位準或有時四個可能位準,即,N = 2或4)。然而,在VNM中所使用的快閃記憶體單元中,因為N顯著較大,資料隨著時間而變得不正確(即,毀壞)的可能性增加,其係由於資料漂移隨著時間基於溫度及程序變異的改變而自然地發生。
所需要的係一種用於偵測VNM中的快閃記憶體單元中的資料漂移,以及將該單元中的資料再新至其原始、所欲狀態的機制。
揭示一種用於使用人工類神經網路中的一向量矩陣乘法(vector-by-matrix multiplication, VMM)陣列中的快閃記憶體單元的資料再新方法及設備之多個實施例。
本發明的人工類神經網路利用CMOS技術與非揮發性記憶體陣列的組合。
非揮發性記憶體單元
數位非揮發性記憶體係已知。例如,美國專利第5,029,130號(「'130專利」)揭示分離閘非揮發性記憶體單元之一陣列,且係為所有目的以引用方式併入本文中。此一類記憶體單元顯示於圖2中。各記憶體單元210包括形成在半導體基材12中的源極區域14及汲極區域16,其間具有通道區域18。浮閘20形成在通道區域18的第一部分上方且與該第一部分絕緣(且控制該第一部分的導電性),及形成在源極區域16的一部分上方。字線端子22(其一般耦接至字線)具有設置在通道區域18之第二部分上方且與該第二部分絕緣(且控制該第二部分的導電性)的第一部分,及向上並於浮閘20上方延伸的第二部分。浮閘20及字線端子22藉由閘極氧化物與基材12絕緣。位元線24耦接至汲極區域16。
記憶體單元210係藉由將高正電壓置於字線端子22上而抹除(其中將電子從浮閘移除),其導致浮閘20上的電子經由富爾諾罕穿隧而從浮閘20穿隧通過中間絕緣體至字線端子22。
記憶體單元210係藉由將正電壓置於字線端子22上及將正電壓置於源極16上而程式化(其中將電子置於浮閘上)。電子流將自源極16朝向汲極14流動。當電子抵達字線端子22與浮閘20之間的間隙時,其等將加速且變成經加熱的。由於來自浮閘20的吸引靜電力,該等經加熱電子的一些將通過閘極氧化物26注入至浮閘20上。
記憶體單元210係藉由將正讀取電壓置於汲極14及字線端子22上(其導通字線端子下方的通道區域)而讀取。若浮閘20帶正電荷(亦即電子經抹除並正耦接至汲極16),則浮閘20下方的通道區域部分亦經接通,且電流將跨通道區域18流動,其係感測為經抹除或「1」狀態。若浮閘20帶負電荷(亦即以電子程式化),則浮閘20下方的通道區域部分係大部分或完全斷開,且電流將不會跨通道區域18流動(或將有少許流動),其係感測為經程式化或「0」狀態。
表1描繪可施加至記憶體單元210的端子之用於執行讀取、抹除、及程式化操作的典型電壓範圍:
表1 :圖2 之快閃記憶體單元210 的操作
WL | BL | SL | |
讀取 | 2至3 V | 0.6至2 V | 0 V |
抹除 | ~11至13 V | 0 V | 0 V |
程式化 | 1至2 V | 1至3 µA | 9至10 V |
其它分離閘記憶體單元組態為已知。例如,圖3描繪四閘極記憶體單元310,其包含源極區域14、汲極區域16、在通道區域18的第一部分上方的浮閘20、在通道區域18的第二部分上方的選擇閘28(一般耦接至字線)、在浮閘20上方的控制閘22、及在源極區域14上方的抹除閘30。此組態描述於美國專利第6,747,310號中,其針對所有目的以引用方式併入本文中。此處,除了浮閘20以外的所有閘係非浮閘,意指其等經電氣連接或可連接至電壓源。程式化係藉由變熱的電子自通道區域18將其本身注入至浮閘20上來顯示。抹除係藉由自浮閘20至抹除閘30之電子穿隧來顯示。
表2描繪可施加至記憶體單元310的端子之用於執行讀取、抹除、及程式化操作的典型電壓範圍:
表2 :圖3 之快閃記憶體單元310 的操作
WL/SG | BL | CG | EG | SL | |
讀取 | 1.0至2 V | 0.6至2 V | 0至2.6 V | 0至2.6 V | 0 V |
抹除 | -0.5 V/0 V | 0 V | 0 V/-8 V | 8至12 V | 0 V |
程式化 | 1 V | 1 µA | 8至11 V | 4.5至9 V | 4.5至5 V |
圖4描繪分離閘三閘極記憶體單元410。記憶體單元410與圖3的記憶體單元310相同,除了記憶體單元410不具有分開控制閘。除了沒有控制閘偏壓以外,抹除操作(通過抹除閘抹除)與讀取操作與圖3所示者類似。程式化操作的完成也未使用控制閘偏壓,因此為了彌補對於控制閘偏壓的缺乏,源極線上的程式化電壓比較高。
表3描繪可施加至記憶體單元410的端子之用於執行讀取、抹除、及程式化操作的典型電壓範圍:
表3 :圖4 之快閃記憶體單元410 的操作
WL/SG | BL | EG | SL | |
讀取 | 0.7至2.2 V | 0.6至2 V | 0至2.6 V | 0 V |
抹除 | -0.5 V/0 V | 0 V | 11.5 V | 0 V |
程式化 | 1 V | 2至3 µA | 4.5 V | 7至9 V |
圖5描繪堆疊閘極記憶體單元510。記憶體單元510類似於圖2的記憶體單元210,除了浮閘20在整個通道區域18上方延伸,及控制閘22在浮閘20上方延伸,藉由絕緣層分隔。抹除、程式化、及讀取操作以與先前針對記憶體單元210描述的類似方式操作。
表4描繪可施加至記憶體單元510的端子之用於執行讀取、抹除、及程式化操作的典型電壓範圍:
表4 :圖5 之快閃記憶體單元510 的操作
CG | BL | SL | P-sub | |
讀取 | 2至5 V | 0.6至2 V | 0 V | 0 V |
抹除 | -8至-10 V/0 V | FLT | FLT | 8至10 V / 15至20 V |
程式化 | 8至12 V | 3至5 V | 0 V | 0 V |
為了在人工類神經網路中利用包含上述非揮發性記憶體單元之類型的一者的記憶體陣列,進行二種修改。第一,該等線經組態使得各記憶體單元可個別地程式化、抹除、及讀取而不會不利地影響陣列中之其他記憶體單元的記憶體狀態,如下文所進一步解釋者。第二,提供記憶體單元連續(類比)程式化。
具體而言,陣列中的各記憶體單元的記憶體狀態(亦即,浮閘上的電荷)可獨立地且對其他記憶體單元的干擾最小地從完全抹除狀態連續地改變至完全程式化狀態。在另一實施例中,陣列中的各記憶體單元的記憶體狀態(亦即,浮閘上的電荷)可獨立地且對其他記憶體單元的干擾最小地從完全程式化狀態連續地改變至完全抹除狀態,且反之亦然。此意指單元儲存係類比的或至少可儲存許多離散值(諸如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的第一神經元判定並提供用於產生特徵圖譜(feature map) C1之該等層的一者之像素的單一輸出值。然後將3×3濾波器右移一個像素(亦即,在右邊加入三個像素之行,並在左邊丟棄三個像素之行),藉此將此新定位濾波器中的9個像素值提供至突觸CB1,藉此將彼等乘以相同權重,並藉由關聯神經元判定第二單一輸出值。繼續此程序直到3×3濾波器針對所有三種顏色及所有位元(精確值)掃描整個32×32像素影像。然後使用不同組的權重重複該程序,以產生C1之不同的特徵圖譜,直到層C1的所有特徵圖譜已計算。
在本實例中,在C1處,有各具有30×30個像素之16個特徵圖譜。各像素係從將輸入與核心相乘所擷取的新特徵像素,且因此各特徵圖譜係二維陣列,且因此在此實例中,突觸CB1構成二維陣列的16層(請記住本文中所提及的神經元層及陣列係邏輯關係,不一定係實體關係-亦即,陣列不一定以實體的二維陣列定向)。16個特徵圖譜之各者係由經施加至濾波器掃描之十六組不同的突觸權重之一者產生。C1特徵圖譜可全部關於相同影像特徵的不同態樣,諸如邊界識別。例如,第一圖譜(使用第一組權重產生,用於所有掃描所共享而用以產生此第一圖譜)可識別圓形邊緣,第二圖譜(使用與第一組權重不同的第二組權重產生)可識別矩形邊緣,或某些特徵的縱橫比,並依此類推。
啟動功能P1(彙整)係在從C1到S1之前施加,其彙整來自各特徵圖譜中之連續、非重疊2×2區域的值。彙整階段的目的係平均附近位置(或也能使用max函數),以減少,例如,邊緣位置的相依性,並在進入下一階段之前減少資料大小。在S1處,有16個15×15特徵圖譜(亦即,各15×15像素的十六個不同陣列)。從S1到C2之CB2中的突觸及關聯神經元使用4×4濾波器,以1個像素的濾波器移位來掃描S1中的圖譜。在C2處,有22個12×12特徵圖譜。啟動功能P2(彙整)係在從C2到S2之前施加,其彙整來自各特徵圖譜中之連續、非重疊2×2區域的值。在S2處,有22個6×6特徵圖譜。將啟動功能施加在從S2到C3的突觸CB3處,其中C3中的每個神經元連接至S2中的每個圖譜。在C3處,有64個神經元。從C3到輸出S3的突觸CB4將S3完全連接至C3。在S3處的輸出包括10個神經元,其中最高的輸出神經元判定類別。該輸出可例如指示原始影像之內容的識別或類別。
突觸的各級係使用非揮發性記憶體單元的陣列或陣列的一部分實作。圖7係包括非揮發性記憶體單元且用作輸入層與次一層之間的突觸之向量矩陣乘法(vector-by-matrix multiplication, VMM)陣列的方塊圖。具體而言,VMM 32包括非揮發性記憶體單元33的陣列、抹除閘及字線閘解碼器34、控制閘解碼器35、位元線解碼器36、及源極線解碼器37,其等解碼記憶體陣列33的輸入。此實例中的源極線解碼器37也解碼記憶體單元陣列的輸出。替代地,位元線解碼器36可解碼記憶體陣列的輸出。記憶體陣列用作兩個目的。第一,其儲存將由VMM使用的權重。第二,記憶體陣列有效地將輸入乘以儲存在記憶體陣列中的權重並將其等每輸出線(源極線或位元線)加總以產生輸出,其將係至次一層的輸入或至最終層的輸入。藉由執行乘法及加法功能,記憶體陣列否定對分開的乘法及加法邏輯電路的需求,且亦由於原位記憶體運算而係有能源效率的。
將記憶體陣列的輸出供應至一差動加算器(諸如加總運算放大器)38,其加總記憶體單元陣列的輸出以創建用於該卷積的單一值。該差動加算器係諸如用以實現正權重及負權重與正輸入的加總。然後將該經加總輸出值供應至整流輸出的啟動功能電路39。啟動功能可包括S形(sigmoid)函數、雙曲正切(tanh)函數、ReLU函數。經整流輸出值變成作為次一層(例如,以上描述中的C1)之特徵圖譜的元素,然後經施加於次一突觸以產生次一特徵圖譜層或最終層。因此,在此實例中,記憶體陣列構成複數個突觸(其從神經元的先前層或從輸入層(諸如影像資料庫)接收其等的輸入),且加總運算放大器38及啟動功能電路39構成複數個神經元。
圖8係VMM之各種級的方塊圖。輸入係藉由數位轉類比轉換器31從數位轉換成類比,並提供至輸入VMM 32a。將由輸入VMM 32a產生的輸出提供作為至次一VMM(隱藏級1)32b的輸入,其繼而產生提供作為至次一VMM(隱藏級2)32b之輸入的輸出,並依此類推。VMM 32之各種層如卷積式類神經網路(convolutional neural network, CNN)之突觸及神經元的不同層而作用。各VMM可係獨立的非揮發性記憶體陣列,或多個VMM可利用相同的非揮發性記憶體陣列的不同部分,或多個VMM可利用相同的非揮發性記憶體陣列的重疊部分。
向量矩陣乘法(VMM) 陣列
圖9描繪神經元VMM 900,其特別適於圖2所示之類型的記憶體單元,且利用為輸入層與次一層之間的神經元的突觸及部件。VMM 900包含非揮發性記憶體單元的記憶體陣列903、參考陣列901、及參考陣列902。參考陣列901及參考陣列902用以將流入端子BLR0至3中的電流輸入轉換成電壓輸入WL0至3。如圖示之參考陣列901及902係在行方向上。一般而言,參考陣列方向正交於輸入線。實際上,參考記憶體單元係通過多工器(多工器914,其包括多工器及用於偏壓參考位元線的疊接電晶體VBLR)的二極體式連接,該等多工器具有流入其等的電流輸入。參考單元經調諧至目標參考位準。
記憶體陣列903供兩個目的使用。第一,其儲存將由VMM 900使用的權重。第二,記憶體陣列903有效地將輸入(在端子BLR0至3中提供的電流輸入;參考陣列901及902將此等電流輸入轉換成輸入電壓以供應至字線WL0至3)乘以儲存在記憶體陣列中的權重以產生輸出,該輸出將係至次一層的輸入或至最終層的輸入。藉由實施乘法功能,記憶體陣列否定對分開的乘法邏輯電路的需求,且也係有能源效率的。此處,電壓輸入係在字線上提供,且輸出在一讀取(推論)操作期間顯現於位元線上。置於位元線上的電流執行來自連接至位元線之記憶體單元的所有電流之一加總功能。
圖10描繪用於VMM 900的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之源極線、以及用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖11描繪神經元VMM 1100,其特別適於圖2所示之類型的記憶體單元,且利用為輸入層與次一層之間的神經元的突觸及部件。VMM 1100包含非揮發性記憶體單元的記憶體陣列1103、參考陣列1101、及參考陣列1102。VMM 1100類似於VMM 900,除了在VMM 1100中,字線在垂直方向上延行。有兩個參考陣列1101(在頂部,其提供將輸入電流轉換成用於偶數列之電壓的參考)及1102(在底部,其提供將輸入電流轉換成用於奇數列之電壓的參考)。此處,輸入係在字線上提供,且輸出在一讀取操作期間顯現於源極線上。置於源極線上的電流執行來自連接至源極線之記憶體單元的所有電流之一加總功能。
圖12描繪用於VMM 1100的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之源極線、以及用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖13描繪神經元VMM 1300,其特別適於圖3所示之類型的記憶體單元,且利用為輸入層與次一層之間的神經元的突觸及部件。VMM 1300包含非揮發性記憶體單元之記憶體陣列1301、參考陣列1302(提供將輸入電流轉換成用於偶數列之輸入電壓的參考)、及參考陣列1303(其提供將輸入電流轉換成用於奇數列之輸入電壓的參考)。VMM 1300類似於VMM 900,除了VMM 1300進一步包含耦接至一列記憶體單元之控制閘的控制線1306,以及耦接至鄰接列之記憶體單元之抹除閘的控制線1307。此處,字線、控制閘線、及抹除閘線具有相同的方向。VMM進一步包含參考位元線選擇電晶體1304(多工器1314之部分),其選擇性將參考位元線耦接至經選擇參考記憶體單元之位元線接觸件,以及開關1305(多工器1314之部分),其選擇性將參考位元線耦接至用於特定之經選擇參考記憶體單元的控制線1306。此處,輸入係在(記憶體陣列1301之)字線上提供,且輸出在一讀取操作期間出現於位元線(諸如位元線1309)上。置於位元線上的電流執行來自連接至位元線之記憶體單元的所有電流的加總功能。
圖14描繪用於VMM 1300的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之控制閘、用於與經選擇單元相同磁區中之未經選擇單元之控制閘、用於不同於經選擇單元之一磁區中之未經選擇單元之控制閘、用於經選擇單元之抹除閘、用於未經選擇單元之抹除閘、用於經選擇單元之源極線、用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖15描繪神經元VMM 1500,其特別適於圖3所示之類型的記憶體單元,且利用為輸入層與次一層之間的神經元的突觸及部件。VMM 1500類似於VMM 1100,除了在VMM 1500中,抹除閘線(諸如抹除閘線1501)在垂直方向上延行。此處,輸入經提供在字線上,且輸出出現在源極線上。置於位元線上的電流執行來自連接至位元線之記憶體單元的所有電流的加總功能。
圖16描繪用於VMM 1500的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之控制閘、用於與經選擇單元相同磁區中之未經選擇單元之控制閘、用於不同於經選擇單元之一磁區中之未經選擇單元之控制閘、用於經選擇單元之抹除閘、用於未經選擇單元之抹除閘、用於經選擇單元之源極線、用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖17描繪神經元VMM 1700,其特別適於圖3所示之類型的記憶體單元,且利用為輸入層與次一層之間的神經元的突觸及部件。VMM 1700包含非揮發性記憶體單元的記憶體陣列1701及參考陣列1702(在陣列的頂部)。替代地,可將另一參考陣列置於底部,類似於圖10者。在其他方面,VMM 1700類似於先前描述之VMM(除了在VMM 1700中),控制閘線(諸如控制閘線1703)在垂直方向上延行(因此參考陣列1702在列方向上,正交於輸入控制閘線),且抹除閘線(諸如抹除閘線1704)在水平方向上延行。此處,輸入經提供在控制閘線上,且輸出出現在源極線上。在一個實施例中,僅使用偶數列,且在另一實施例中,僅使用奇數列。置於源極線上的電流執行來自連接至源極線之記憶體單元的所有電流之一加總功能。
如本文針對類神經網路所描述的,快閃單元較佳地經組態以在次臨限區域中操作。
在本文中描述的記憶體單元以弱反轉偏壓:
Ids = Io * e
(Vg- Vth)/kVt= w * Io * e
(Vg)/kVtw = e
(- Vth)/kVt
對於使用記憶體單元以將輸入電流轉換成輸入電壓的I至V對數轉換器:
Vg= k*Vt*log [Ids/wp*Io]
對於使用作為向量矩陣乘法器VMM的記憶體陣列,輸出電流係:
Iout = wa * Io * e
(Vg)/kVt,即
Iout = (wa/wp) * Iin = W * Iin
W = e
(Vthp - Vtha)/kVt
字線或控制閘可使用為用於輸入電壓的記憶體單元之輸入。
替代地,快閃記憶體單元可經組態以在線性區域中操作:
Ids = beta* (Vgs-Vth)*Vds ; beta = u*Cox*W/L
W α (Vgs-Vth)
對於I至V線性轉換器,在線性區域中操作的記憶體單元可使用以將輸入/輸出電流線性地轉換成輸入/輸出電壓。
ESF向量矩陣乘法器的其他實施例描述於美國專利申請案第15/826,345號中,其以引用方式併入本文中。源極線或位元線可使用為神經元輸出(電流加總輸出)。
圖18描繪類比神經形態記憶體系統1800,其包含系統控制器1801、類比神經形態記憶體引擎1802、及類比神經形態記憶體引擎1803。類比神經形態記憶體引擎1802及類比神經形態記憶體引擎1803各自含有以權重來程式化的VNM陣列。類比神經形態記憶體引擎1803中的VNM中的陣列之一部分專用於用於判定資料是否已漂移的程序。
圖19描繪用於再新在VNM中資料的方法1900。取樣一組快閃記憶體單元(在步驟1901中樣本選擇)。針對由快閃記憶體單元(L0, … LN-1)所儲存的各可能的位準(N值)分析樣本,且在各對相鄰位準之間計算一差值(DRx)(步驟1902)。針對各位準,將差值(DRx)與目標(理想)(DRx_target)比較(步驟1903)。若差值(DRx)之任一者超過該目標,則設定一再新旗標(步驟1904)。然後發生還原資料程序(步驟1905)。此步驟可藉由晶片上(on-chip)控制器或藉由晶片外(off-chip)控制器來完成。在步驟1905,再調諧步驟(例如,再程式化)係針對各位準所定製。首先,單元經讀回,然後取決於該位準,對該位準施加差量再調諧。針對此目的可使用查找表(Icell對I-tuned target)。在此步驟中,使用調諧演算法(疊代驗證及程式化)以達到該目標(諸如,藉由使用美國專利申請案第15/826,345號中所述的演算法,其以引用方式併入本文中)。對於所取樣之資料保留單元,回復亦經完成。一旦各單元具有等於儲存在該單元中的位準之目標電流(步驟1906)的電流,則程序完成(步驟1908)。若從未達到彼情況,則單元被認定為不良且程序完成(步驟1907)。
圖20描繪用於再新在VNM中資料的另一方法2000。取樣一組例示性快閃記憶體單元(步驟2001)。針對由快閃記憶體單元(L0, … LN-1)所儲存的各可能的位準(N值)分析樣本,且在各對相鄰位準之間計算差值(DRx)(步驟2002)。針對各位準,將差值(DRx)與目標(理想)(DRx_target)比較(步驟2003)。若差值(DRx)之任一者超過該目標,則設定一再新旗標(步驟2004)。然後發生還原資料程序(步驟2005)。可藉由晶片上或晶片外控制器來完成該還原。在步驟2005,再調諧步驟(例如,再程式化)係針對各位準所定製。首先,單元(陣列單元及經取樣之資料保留單元)經讀回,然後取決於該位準,藉由微調增量還原演算法對該位準施加差量再調諧。針對此目的可使用查找表(Icell對I-tuned target)。在此步驟中,使用微調調諧演算法(微調步驟疊代驗證及程式化)以達到該目標(諸如,藉由使用美國專利申請案第15/826,345號中所述的演算法,其以引用方式併入本文中)。替代地,可藉由將來自訓練的所有權重轉移至VMM陣列而再程式化整個VMM陣列來完成資料還原。一旦各單元具有等於儲存在該單元中的位準之目標電流(步驟2006)的電流,則程序完成(步驟2007)。若從未達到彼情況,則單元被認定為不良(步驟2008)。然後使用冗餘陣列磁區置換不良陣列磁區(步驟2009)。若以此方式所使用的冗餘單元之數目超過臨限(步驟2010),則整個磁區被認定為不良(步驟2011)。
關於圖21及圖22,可係所欲的是識別「快速單元」,其等係在程式化操作期間相較於平均單元可從其等之浮閘相對快速地失去電荷的單元,因為此等快速單元隨著時間更易於發生資料漂移。在圖21中,可參照圖表2100來識別快速單元,如以相對較少的程式化嘗試(計數)而獲得高電流位準(Ircell)者。在圖22中,參照圖表2200,應理解的是,快速單元較正常單元可能具有高Ir操作範圍。圖22顯示用以資料保持(漂移)監測器的例示性單元。超過最小及最大範圍的單元係用於監測目的。此係用以創建具有較正常單元差的應力狀況的監測器單元。
圖23描繪資料漂移偵測方案。在此實例中,在目標1與目標2之間存在著特定電流位準係所欲的。若所感測之電流介於該等目標之間,則不需要再新,此意味著對於系統性能而言,漂移係可接受的。然而,若所感測之電流係在目標1與目標2之間的範圍外,則執行一資料再新(還原)程序。
圖24描繪資料漂移偵測器之實施例。資料漂移偵測器2400接收電流2402(其可係通過經選擇單元的感測電流位準或此等電流之間的差值)以及比較器2403中的參考電流2401,其輸出指示電流2402是否超過參考電流2401的值。資料漂移偵測器2400基於意欲已儲存在經選擇單元中的值,比較由經選擇單元所汲取的電流與目標電流。
圖25描繪資料漂移偵測器之另一實施例。資料漂移偵測器2500包含取樣及保持電容器2501與2504、開關2502及2505、電流源2506(其可係通過經選擇單元的感測電流位準或此等電流之間的差值)、參考電流2503、及比較器2507。在此實施例中,兩個電流源係由該等電容器通過經判定之斜坡時間時期取樣並保持,然後由比較器2507比較該等經取樣之值。因此,資料漂移偵測器2500基於意欲已儲存在經選擇單元中的值,比較由經選擇單元所汲取的經取樣電流與經取樣目標電流。
參照圖26,如圖表2600中所顯示,可基於對在發生顯著的資料漂移前可能有多少時間經過之瞭解來選擇資料漂移偵測器2500之取樣時期。相較於資料漂移偵測器2400,此可導致較少的功率消耗。
圖27描繪資料漂移偵測器之另一實施例。資料漂移偵測器2700包含經選擇之記憶體單元2701、電流源2702、參考電壓2703、及比較器2704。在此實施例中,在經選擇之記憶體單元2701之浮閘上儲存的電壓(節點2705上的電壓=~ VFG - VtFG)與參考電壓2703(其係經選擇之記憶體單元2701意欲儲存的電壓)之間進行直接比較。記憶體單元2701係以一源極隨耦器操作模式組態。參考電壓可係自一參考記憶體單元所產生。
應注意的是,如本文中所使用,「在…上方(over)」及「在…上(on)」之用語皆含括性地包括了「直接在…之上(directly on)」(無居中的材料、元件或間隔設置於其間)及「間接在…之上(indirectly on)」(有居中的材料、元件或間隔設置於其間)的含意。同樣地,「相鄰的(adjacent)」一詞包括了「直接相鄰的」(無居中的材料、元件或間隔設置於其間)及「間接相鄰的」(有居中的材料、元件或間隔設置於其間)的含意,「安裝於(mounted to)」一詞則包括了「直接安裝於(directly mounted to)」(無居中的材料、元件或間隔設置於其間)及「間接安裝於(indirectly mounted to)」(有居中的材料、元件或間隔設置於其間)的含意,以及「電耦接(electrically coupled)」一詞則包括了「直接電耦接(directly electrically coupled to)」(無居中的材料或元件於其間將各元件電性相連接)及「間接電耦接(indirectly electrically coupled to)」(有居中的材料或元件於其間將各元件電性相連接)的含意。舉例而言,「在基材上方(over a substrate)」形成元件可包括直接在基材上形成元件而其間無居中的材料/元件存在,以及間接在基材上形成元件而其間有一或多個居中的材料/元件存在。
12…半導體基材/基材
14…源極區域/汲極
16…汲極區域/源極/源極區域/汲極
18…通道區域
20…浮閘
22…字線端子/控制閘
24…位元線
26…閘極氧化物
28…選擇閘
30…抹除閘
31…數位轉類比轉換器
32…VMM
32a…VMM
32b…VMM(隱藏級1)/ VMM(隱藏級2)
33…非揮發性記憶體單元/記憶體陣列
34…抹除閘及字線閘解碼器
35…控制閘解碼器
36…位元線解碼器
37…源極線解碼器
38…差動加算器/加總運算放大器
39…啟動功能電路
210…記憶體單元/快閃記憶體單元
310…四閘極記憶體單元/快閃記憶體單元/記憶體單元
410…分離閘三閘極記憶體單元/快閃記憶體單元/記憶體單元
510…堆疊閘極記憶體單元/快閃記憶體單元/記憶體單元
900…VMM
901…參考陣列
902…參考陣列
903…記憶體陣列
914…多工器
1100…VMM
1101…參考陣列
1102…參考陣列
1103…記憶體陣列
1300…VMM
1301…記憶體陣列
1302…參考陣列
1303…參考陣列
1304…參考位元線選擇電晶體
1305…開關
1306…控制線
1307…控制線
1309…位元線
1314…多工器
1500…VMM
1501…抹除閘線
1700…VMM
1701…記憶體陣列
1702…參考陣列
1703…控制閘線
1704…抹除閘線
1800…類比神經形態記憶體系統
1801…系統控制器
1802…類比神經形態記憶體引擎
1803…類比神經形態記憶體引擎
1900…方法
1901…步驟
1902…步驟
1903…步驟
1904…步驟
1905…步驟
1906…步驟
1907…步驟
1908…步驟
2000…方法
2001…步驟
2002…步驟
2003…步驟
2004…步驟
2005…步驟
2006…步驟
2007…步驟
2008…步驟
2009…步驟
2010…步驟
2011…步驟
2100…圖表
2200…圖表
2400…資料漂移偵測器
2401…參考電流
2402…電流
2403…比較器
2500…資料漂移偵測器
2501…取樣及保持電容器
2502…開關
2503…參考電流
2504…取樣及保持電容器
2505…開關
2506…電流源
2507…比較器
2600…圖表
2700…資料漂移偵測器
2701…記憶體單元
2702…電流源
2703…參考電壓
2704…比較器
2705…節點
BLR0…流入端子/端子
BLR1…流入端子/端子
BLR2…流入端子/端子
BLR3…流入端子/端子
CB1…突觸
CB2…突觸
CB3…突觸
CB4…突觸
C1…特徵圖譜/層
P1…啟動功能
P2…啟動功能
VBLR…疊接電晶體
WL0…電壓輸入/字線
WL1…電壓輸入/字線
WL2…電壓輸入/字線
WL3…電壓輸入/字線
圖1係繪示一人工類神經網路的圖。
圖2係習知的2閘極非揮發性記憶體單元的截面側視圖。
圖3係習知的4閘極非揮發性記憶體單元的截面側視圖。
圖4係習知的3閘極非揮發性記憶體單元的截面側視圖。
圖5係另一習知的2閘極非揮發性記憶體單元的截面側視圖。
圖6係繪示利用非揮發性記憶體陣列的例示性人工類神經網路之不同級的圖。
圖7係繪示一向量乘法器矩陣的方塊圖。
圖8係繪示一向量乘法器矩陣之各種級的方塊圖。
圖9描繪一向量乘法器矩陣之實施例。
圖10描繪圖9之向量乘法器矩陣之操作電壓。
圖11描繪一向量乘法器矩陣之另一實施例。
圖12描繪圖11之向量乘法器矩陣之操作電壓。
圖13描繪一向量乘法器矩陣之另一實施例。
圖14描繪圖13之向量乘法器矩陣之操作電壓。
圖15描繪一向量乘法器矩陣之另一實施例。
圖16描繪圖15之向量乘法器矩陣之操作電壓。
圖17描繪一向量乘法器矩陣之另一實施例。
圖18描繪用於偵測一向量乘法器矩陣中的資料漂移之系統。
圖19描繪一資料再新方法。
圖20描繪另一資料再新方法。
圖21描繪一向量乘法器矩陣中的快速單元之特性。
圖22描繪一向量乘法器矩陣中的快速單元之特性。
圖23描繪用於評估資料漂移之機制。
圖24描繪資料漂移偵測器之實施例。
圖25描繪資料漂移偵測器之另一實施例。
圖26描繪圖25之實施例之例示性取樣時期。
圖27描繪資料漂移偵測器之另一實施例。
(無)
Claims (12)
- 一種在類比神經形態記憶體系統中的非揮發性記憶體單元之一陣列中偵測資料漂移的方法,該方法包含下列步驟:選擇該陣列內之該等非揮發性記憶體單元之一樣本;以及測試經選擇之該等單元以用於資料漂移偵測,該測試步驟包含:以N個位準之一者程式化經選擇之該等單元之各者;判定每一對相鄰位準之間的一差異;以及將每一差異與一目標值做比較。
- 如請求項1之方法,其進一步包含:當有任何差異超過該目標值時,執行一資料還原。
- 如請求項1之方法,其進一步包含:當有任何差異超過該目標值,設定一資料還原旗標。
- 如請求項2之方法,其進一步包含:當一經還原單元之任何電流不符合一目標時,將該經還原單元識別為一不良單元。
- 如請求項4之方法,其進一步包含:以一冗餘單元置換該不良單元。
- 如請求項2之方法,其中該資料還原包含單元調諧。
- 如請求項2之方法,其中該資料還原包含以對應於該等N個位準之一者的一目標量來單元調諧。
- 如請求項1或2之方法,其中該等記憶體單元係數個分離的閘記憶體單元。
- 如請求項1或2之方法,其中該等記憶體單元係數個堆疊的閘 極記憶體單元。
- 如請求項2之方法,其中該資料還原包含再轉移訓練權重至該等記憶體單元。
- 如請求項6之方法,其中該單元調諧包含疊代程式化及驗證。
- 如請求項7之方法,其中該目標量係儲存於一查找表中。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862642867P | 2018-03-14 | 2018-03-14 | |
US62/642,867 | 2018-03-14 | ||
US15/990,220 US10446246B2 (en) | 2018-03-14 | 2018-05-25 | Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network |
US15/990,220 | 2018-05-25 | ||
WOPCT/US19/13871 | 2019-01-16 | ||
PCT/US2019/013871 WO2019177687A1 (en) | 2018-03-14 | 2019-01-16 | Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202137074A TW202137074A (zh) | 2021-10-01 |
TWI755339B true TWI755339B (zh) | 2022-02-11 |
Family
ID=67906045
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110123297A TWI755339B (zh) | 2018-03-14 | 2019-02-18 | 用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 |
TW108105316A TWI696128B (zh) | 2018-03-14 | 2019-02-18 | 用於在深度學習類神經網路中的類比非揮發性記憶體之資料再新之方法 |
TW109116174A TWI733451B (zh) | 2018-03-14 | 2019-02-18 | 用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108105316A TWI696128B (zh) | 2018-03-14 | 2019-02-18 | 用於在深度學習類神經網路中的類比非揮發性記憶體之資料再新之方法 |
TW109116174A TWI733451B (zh) | 2018-03-14 | 2019-02-18 | 用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 |
Country Status (6)
Country | Link |
---|---|
US (3) | US10446246B2 (zh) |
EP (1) | EP3766071B1 (zh) |
JP (1) | JP7153737B2 (zh) |
KR (2) | KR102430151B1 (zh) |
TW (3) | TWI755339B (zh) |
WO (1) | WO2019177687A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110797067B (zh) * | 2019-10-21 | 2021-10-22 | 上海闪易半导体有限公司 | 存储阵列模块及其控制方法、装置、模组 |
CN111222626B (zh) * | 2019-11-07 | 2021-08-10 | 恒烁半导体(合肥)股份有限公司 | 一种基于NOR Flash模块的神经网络的数据切分运算方法 |
US11636322B2 (en) * | 2020-01-03 | 2023-04-25 | Silicon Storage Technology, Inc. | Precise data tuning method and apparatus for analog neural memory in an artificial neural network |
DE112021003900T5 (de) * | 2020-07-17 | 2023-07-13 | Semiconductor Energy Laboratory Co., Ltd. | Halbleitervorrichtung und elektronisches Gerät |
CN112053726B (zh) * | 2020-09-09 | 2022-04-12 | 哈尔滨工业大学 | 一种基于Er态阈值电压分布的闪存误擦除数据恢复方法 |
US11626168B2 (en) | 2021-03-10 | 2023-04-11 | Samsung Electronics Co.. Ltd. | De-noising using multiple threshold-expert machine learning models |
KR102612011B1 (ko) * | 2021-03-24 | 2023-12-07 | 광운대학교 산학협력단 | 인공 신경망 소자 및 이의 동작 방법 |
US12014768B2 (en) | 2021-07-29 | 2024-06-18 | Taiwan Semiconductor Manufacturing Company, Ltd. | DRAM computation circuit and method |
KR20240052994A (ko) * | 2021-11-12 | 2024-04-23 | 실리콘 스토리지 테크놀로지 인크 | 신경망에서 하나 이상의 메모리 셀에 인가할 바이어스 전압 결정 |
US11942144B2 (en) | 2022-01-24 | 2024-03-26 | Stmicroelectronics S.R.L. | In-memory computation system with drift compensation circuit |
CN115148248B (zh) * | 2022-09-06 | 2022-11-08 | 北京奎芯集成电路设计有限公司 | 基于深度学习的dram刷新方法和装置 |
KR102525664B1 (ko) * | 2022-09-15 | 2023-04-25 | 전남대학교산학협력단 | 메모리 반도체 최적의 예비자원 수 예측 방법 및 장치 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239505A (en) * | 1990-12-28 | 1993-08-24 | Intel Corporation | Floating gate non-volatile memory with blocks and memory refresh |
TW201642274A (zh) * | 2015-05-26 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統及其管理方法 |
TW201642276A (zh) * | 2015-05-29 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統以及其錯誤校正方法 |
US20170330109A1 (en) * | 2016-05-16 | 2017-11-16 | Purepredictive, Inc. | Predictive drift detection and correction |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5029130A (en) | 1990-01-22 | 1991-07-02 | Silicon Storage Technology, Inc. | Single transistor non-valatile electrically alterable semiconductor memory device |
US5479170A (en) * | 1992-10-16 | 1995-12-26 | California Institute Of Technology | Method and apparatus for long-term multi-valued storage in dynamic analog memory |
US5909449A (en) * | 1997-09-08 | 1999-06-01 | Invox Technology | Multibit-per-cell non-volatile memory with error detection and correction |
US6493270B2 (en) * | 1999-07-01 | 2002-12-10 | Micron Technology, Inc. | Leakage detection in programming algorithm for a flash memory device |
WO2001015172A2 (en) * | 1999-08-23 | 2001-03-01 | Micron Technology, Inc. | Flash memory with externally triggered detection and repair of leaky cells |
JP2001076496A (ja) * | 1999-09-02 | 2001-03-23 | Fujitsu Ltd | 不揮発性メモリのデータ化け防止回路およびその方法 |
US6396744B1 (en) * | 2000-04-25 | 2002-05-28 | Multi Level Memory Technology | Flash memory with dynamic refresh |
JP2002230984A (ja) * | 2001-02-05 | 2002-08-16 | Fujitsu 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 |
WO2004097839A1 (ja) * | 2003-04-28 | 2004-11-11 | Fujitsu Limited | 不揮発性半導体記憶装置及び不揮発性半導体記憶装置のプログラム方法 |
CN1710661A (zh) * | 2004-06-16 | 2005-12-21 | 皇家飞利浦电子股份有限公司 | 一种确定光盘读取信号质量的方法及装置 |
WO2006043225A1 (en) * | 2004-10-21 | 2006-04-27 | Koninklijke Philips Electronics N.V. | Memory device and method providing an average threshold based refresh mechanism |
US7551503B2 (en) * | 2005-06-24 | 2009-06-23 | Macronix International Co., Ltd. | Method for refreshing a flash memory |
US7558149B2 (en) * | 2006-01-24 | 2009-07-07 | Macronix International Co., Ltd. | Method and apparatus to control sensing time for nonvolatile memory |
EP1843356A1 (en) * | 2006-04-03 | 2007-10-10 | STMicroelectronics S.r.l. | Method and system for refreshing a memory device during reading thereof |
US7639542B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Maintenance operations for multi-level data storage cells |
US7869275B2 (en) * | 2006-10-07 | 2011-01-11 | Active-Semi, Inc. | Memory structure capable of bit-wise write or overwrite |
US8194487B2 (en) * | 2007-09-17 | 2012-06-05 | Micron Technology, Inc. | Refreshing data of memory cells with electrically floating body transistors |
US8000141B1 (en) * | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
JP2009140564A (ja) * | 2007-12-06 | 2009-06-25 | Toshiba Corp | Nand型フラッシュメモリおよびメモリシステム |
US7859932B2 (en) * | 2008-12-18 | 2010-12-28 | Sandisk Corporation | Data refresh for non-volatile storage |
US8032804B2 (en) * | 2009-01-12 | 2011-10-04 | Micron Technology, Inc. | Systems and methods for monitoring a memory system |
CN102834870B (zh) * | 2009-12-02 | 2016-03-30 | 美光科技公司 | 用于非易失性存储器的刷新架构及算法 |
KR101099911B1 (ko) * | 2009-12-17 | 2011-12-28 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 및 그 동작 방법 |
US8649215B2 (en) * | 2010-12-22 | 2014-02-11 | HGST Netherlands B.V. | Data management in flash memory using probability of charge disturbances |
US9159396B2 (en) * | 2011-06-30 | 2015-10-13 | Lattice Semiconductor Corporation | Mechanism for facilitating fine-grained self-refresh control for dynamic memory devices |
CN103999161B (zh) * | 2011-12-20 | 2016-09-28 | 英特尔公司 | 用于相变存储器漂移管理的设备和方法 |
US9645177B2 (en) * | 2012-05-04 | 2017-05-09 | Seagate Technology Llc | Retention-drift-history-based non-volatile memory read threshold optimization |
US9224089B2 (en) * | 2012-08-07 | 2015-12-29 | Qualcomm Incorporated | Method and apparatus for adaptive bit-allocation in neural systems |
US9378830B2 (en) * | 2013-07-16 | 2016-06-28 | Seagate Technology Llc | Partial reprogramming of solid-state non-volatile memory cells |
US9208847B2 (en) * | 2013-10-30 | 2015-12-08 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory devices with improved refreshing operations |
US9564219B2 (en) * | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
US10121553B2 (en) * | 2015-09-30 | 2018-11-06 | Sunrise Memory Corporation | Capacitive-coupled non-volatile thin-film transistor NOR strings in three-dimensional arrays |
KR102491133B1 (ko) * | 2016-03-21 | 2023-01-25 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
US11308383B2 (en) * | 2016-05-17 | 2022-04-19 | Silicon Storage Technology, Inc. | Deep learning neural network classifier using non-volatile memory array |
EP3367385B1 (en) * | 2017-02-28 | 2020-07-08 | ams AG | Memory arrangement and method for operating a memory arrangement |
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 |
KR102415867B1 (ko) * | 2017-11-29 | 2022-07-04 | 에스케이하이닉스 주식회사 | 메모리 셀의 결함을 제거하기 위한 메모리 시스템 및 그의 동작 방법 |
-
2018
- 2018-05-25 US US15/990,220 patent/US10446246B2/en active Active
-
2019
- 2019-01-16 KR KR1020207026690A patent/KR102430151B1/ko active IP Right Grant
- 2019-01-16 JP JP2020548669A patent/JP7153737B2/ja active Active
- 2019-01-16 EP EP19767098.7A patent/EP3766071B1/en active Active
- 2019-01-16 KR KR1020227026678A patent/KR102716617B1/ko active IP Right Grant
- 2019-01-16 WO PCT/US2019/013871 patent/WO2019177687A1/en unknown
- 2019-02-18 TW TW110123297A patent/TWI755339B/zh active
- 2019-02-18 TW TW108105316A patent/TWI696128B/zh active
- 2019-02-18 TW TW109116174A patent/TWI733451B/zh active
- 2019-05-16 US US16/414,714 patent/US10607710B2/en active Active
- 2019-10-02 US US16/590,798 patent/US10861568B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239505A (en) * | 1990-12-28 | 1993-08-24 | Intel Corporation | Floating gate non-volatile memory with blocks and memory refresh |
TW201642274A (zh) * | 2015-05-26 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統及其管理方法 |
TW201642276A (zh) * | 2015-05-29 | 2016-12-01 | 華邦電子股份有限公司 | 記憶體系統以及其錯誤校正方法 |
US20170330109A1 (en) * | 2016-05-16 | 2017-11-16 | Purepredictive, Inc. | Predictive drift detection and correction |
Also Published As
Publication number | Publication date |
---|---|
KR20220114095A (ko) | 2022-08-17 |
TWI733451B (zh) | 2021-07-11 |
TW202137074A (zh) | 2021-10-01 |
KR20200121347A (ko) | 2020-10-23 |
KR102716617B1 (ko) | 2024-10-14 |
US10607710B2 (en) | 2020-03-31 |
JP7153737B2 (ja) | 2022-10-14 |
EP3766071B1 (en) | 2022-11-23 |
TW202044127A (zh) | 2020-12-01 |
EP3766071A1 (en) | 2021-01-20 |
EP3766071A4 (en) | 2021-09-29 |
TW201939362A (zh) | 2019-10-01 |
WO2019177687A1 (en) | 2019-09-19 |
JP2021517704A (ja) | 2021-07-26 |
CN111837189A (zh) | 2020-10-27 |
US20190287631A1 (en) | 2019-09-19 |
US20200035310A1 (en) | 2020-01-30 |
US10861568B2 (en) | 2020-12-08 |
US20190341118A1 (en) | 2019-11-07 |
US10446246B2 (en) | 2019-10-15 |
KR102430151B1 (ko) | 2022-08-08 |
TWI696128B (zh) | 2020-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI755339B (zh) | 用於偵測類比神經形態記憶體系統中之單元中資料漂移之方法 | |
TWI764503B (zh) | 用於深度學習人工類神經網路中的類比類神經記憶體之解碼器 | |
TWI787099B (zh) | 用於在深度學習人工類神經網路中的類比類神經記憶體之高電壓產生之方法及設備 | |
US10910061B2 (en) | Method and apparatus for programming analog neural memory in a deep learning artificial neural network | |
KR102407363B1 (ko) | 사용 빈도에 기초하여 프로그램 상태 간극을 가변시키기 위한 메모리 디바이스 및 방법 | |
TWI784642B (zh) | 類比神經記憶體中之同時寫入及驗證操作 | |
CN115516565A (zh) | 人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列 | |
CN111837189B (zh) | 用于深度学习神经网络中的模拟非易失性存储器的数据刷新的方法和设备 | |
KR20240153606A (ko) | 심층 학습 신경망에서 아날로그 비휘발성 메모리를 위한 데이터 리프레쉬 방법 및 장치 | |
CN111886804B (zh) | 用于深度学习人工神经网络中的模拟神经存储器的解码器 | |
US20230244903A1 (en) | Artificial neural network comprising an analog array and a digital array | |
TW202437707A (zh) | 包括共模電路的電流至電壓轉換器 |