TWI694448B - 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法 - Google Patents

用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法 Download PDF

Info

Publication number
TWI694448B
TWI694448B TW107142536A TW107142536A TWI694448B TW I694448 B TWI694448 B TW I694448B TW 107142536 A TW107142536 A TW 107142536A TW 107142536 A TW107142536 A TW 107142536A TW I694448 B TWI694448 B TW I694448B
Authority
TW
Taiwan
Prior art keywords
cell
current
voltage
memory cells
gate
Prior art date
Application number
TW107142536A
Other languages
English (en)
Other versions
TW201933361A (zh
Inventor
曉萬 陳
維平 蒂瓦里
恩漢 杜
史蒂芬 利姆克
聖托西 哈里哈蘭
史丹利 洪
Original Assignee
美商超捷公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商超捷公司 filed Critical 美商超捷公司
Publication of TW201933361A publication Critical patent/TW201933361A/zh
Application granted granted Critical
Publication of TWI694448B publication Critical patent/TWI694448B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0425Erasable 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

一種人工類神經網路裝置,其利用包含一或多個非揮發性記憶體陣列的類比神經形態記憶體。實施例包含經改善的機制及演算法以用於調諧非揮發性記憶體陣列,使得記憶體單元的浮閘可使用所欲的電荷量迅速而精確地注入以表示由人工類神經網路用作一權重之一類比值。

Description

用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調 諧機制及演算法 相關申請案之交互參考
本專利申請案主張2017年11月29日申請之美國專利申請案第15/826,345號的優先權。
揭示針對在一人工類神經網路中使用之一類比神經形態記憶體內之調諧單元的眾多實施例。
人工類神經網路模仿生物神經網路(動物的中樞神經系統,特別係大腦),其用以評估或近似可取決於大數目的輸入且通常未知的功能。人工類神經網路通常包括在彼此間交換訊息之互連的「神經元」的層。圖1繪示一人工類神經網路,其中圓形表示神經元的輸入或層。連接(稱為突觸)係以箭頭表示,並具有可基於經驗調諧的數字權重。此使類神經網路適應輸入並能夠學習。一般而言,類神經網路包括多個輸入的一層。一般而言有一或多個神經元中間層,及提供類神經網路的輸出之一神經元輸出層。各級的神經元基於自突觸接收之資料個別地或共同地做決策。
用於高效能資訊處理的人工類神經網路之發展中的主要挑戰之一者係缺少適當的硬體技術。的確,實際的類神經網路依賴非常大數目的突觸,而在神經元之間實現高連接性,亦即,非常高的計算平行性。原理上,此種複雜性可以數位超級電腦或專用圖形處理單元叢集實現。然而,除了高成本以外,此等方法與生物網路相比時也苦於中等的能量效率,主要因為生物網路實施低精確度類比計算而消耗更少的能量。CMOS類比電路已用於人工類神經網路,但大多數CMOS實作的突觸在給定高數目的神經元及突觸情況下已過於龐大。
申請人先前在美國專利申請案第15/594,439號(其以引用方式併入本文中)中揭示一種人工(類比)類神經網路,其利用一或多個非揮發性記憶體陣列作為突觸。非揮發性記憶體陣列作為類比神經形態記憶體進行操作。該類神經網路裝置包括一第一複數個突觸及一第一複數個神經元,該第一複數個突觸經組態以接收一第一複數個輸入並由此產生一第一複數個輸出,該第一複數個神經元經組態以接收該第一複數個輸出。該第一複數個突觸包括複數個記憶體單元,其中該等記憶體單元之各者包括形成於一半導體基材中之間隔開的源極區域及汲極區域,其中一通道區域在該源極區域與該汲極區域之間延伸;一浮閘,其設置於該通道區域之一第一部分上方並與該第一部分絕緣;及一非浮閘,其設置於該通道區域之一第二部分上方並與該第二部分絕緣。該複數個記憶體單元之各者經組態來儲存對應於該浮閘上之數個電子的權重值。該複數個記憶體單元經組態以使該第一複數個輸入乘以所儲存的該等權重值,以產生該第一複數個輸出。
該類比神經形態中所用的各非揮發性記憶體單元必須經抹除及程式化以在該浮閘中保持一非常特定且精確的電荷量。例如,各浮閘必須保持N個不同值之一者,其中N係可由各單元指示之不同權重的數目。N的實例包括16、32、及64。先前技術缺乏用於調諧各單元之一快速且精確的機制以確保該單元含有所欲的電荷量。
所需的係經改善的機制及演算法,以用於調諧人工類神經網路中所用之一類比神經形態記憶體。
於本揭示的一個態樣中,本發明揭露一種用於在非揮發性記憶體單元之一陣列內識別可經迅速程式化的非揮發性記憶體單元之方法,該方法包含抹除一非揮發性記憶體單元;以一第一電壓程式化該非揮發性記憶體單元;測量在一讀取操作期間通過該非揮發性記憶體單元之一第一電流;以一第二電壓程式化該非揮發性記憶體單元;測量在一讀取操作期間通過該非揮發性記憶體單元之一第二電流;及若該第二電流與該第一電流之間的差異超過一臨限值,儲存指示該非揮發性記憶體單元可經迅速程式化的資料。
10‧‧‧記憶體單元
12‧‧‧半導體基材/基材
14‧‧‧源極區域/源極
14a‧‧‧源極線
16‧‧‧汲極區域/汲極
16a‧‧‧位元線
16a1‧‧‧第一位元線
16a2‧‧‧第二位元線
18‧‧‧通道區域
20‧‧‧浮閘
22‧‧‧控制閘
22a‧‧‧第一部分/控制閘線/控制閘
22a1‧‧‧控制閘線
22a2‧‧‧控制閘線
22b‧‧‧第二部分
24‧‧‧中間絕緣體
26‧‧‧閘極氧化物
28‧‧‧選擇閘
28a‧‧‧選擇閘線/輸入線/線
28a1‧‧‧選擇閘線/選擇線/線
28a2‧‧‧選擇閘線/線
30‧‧‧抹除閘
30a‧‧‧抹除閘線
31‧‧‧數位類比轉換器
32‧‧‧VMM(向量矩陣乘法)
32a‧‧‧輸入VMM
32b‧‧‧VMM
33‧‧‧記憶體陣列/非揮發性記憶體
34‧‧‧抹除閘及字線閘解碼器
35‧‧‧控制閘解碼器
36‧‧‧位元線解碼器
37‧‧‧源極線解碼器
38‧‧‧加總運算放大器
39‧‧‧啟動功能電路
40‧‧‧數位類比轉換器(DAC)
42‧‧‧電壓至電流轉換器V/I Conv
44‧‧‧電流比較器IComp
46‧‧‧電壓比較器VComp
48‧‧‧電流至電壓轉換器I/V Conv
50‧‧‧電流至電壓對數轉換器
52‧‧‧電壓至電流對數轉換器
54‧‧‧參考Gnd的電流加算器
56‧‧‧參考Vdd的電流加算器
3500‧‧‧VMM
3501‧‧‧參考陣列
3502‧‧‧參考陣列
3503‧‧‧記憶體陣列
3700‧‧‧VMM
3701‧‧‧參考陣列
3702‧‧‧參考陣列
3703‧‧‧記憶體陣列
3900‧‧‧VMM
3901‧‧‧參考陣列
3902‧‧‧參考陣列
3903‧‧‧記憶體陣列
4100‧‧‧VMM
4101‧‧‧參考陣列
4102‧‧‧參考陣列
4103‧‧‧記憶體陣列
4300‧‧‧調諧演算法
4301‧‧‧步驟
4302‧‧‧步驟
4303‧‧‧步驟
4304‧‧‧步驟
4305‧‧‧步驟
4306‧‧‧步驟
4307‧‧‧步驟
4308‧‧‧步驟
4309‧‧‧步驟
4310‧‧‧步驟
4311‧‧‧步驟
4320‧‧‧查找表
4400‧‧‧調諧演算法
4401‧‧‧步驟
4402‧‧‧步驟
4403‧‧‧步驟
4404‧‧‧步驟
4405‧‧‧步驟
4406‧‧‧步驟
4407‧‧‧步驟
4408‧‧‧步驟
4500‧‧‧調諧演算法
4501‧‧‧步驟
4502‧‧‧步驟
4503‧‧‧步驟
4504‧‧‧步驟
4505‧‧‧步驟
4506‧‧‧步驟
4507‧‧‧步驟
4508‧‧‧步驟
4509‧‧‧步驟
4510‧‧‧粗略演算法
4511‧‧‧精細演算法
4600‧‧‧均勻步階演算法
4700‧‧‧均勻對數步階(除以十)、粗略/精細演算法
4800‧‧‧二元搜尋步階、粗略/精細演算法
圖1係繪示一人工類神經網路的圖。
圖2係習知的2閘極非揮發性記憶體單元的側截面圖。
圖3係繪示用於圖2之記憶體單元之一習知陣列架構的圖。
圖4係習知的2閘極非揮發性記憶體單元的側截面圖。
圖5係繪示用於圖4之記憶體單元之一習知陣列架構的圖。
圖6係習知的4閘極非揮發性記憶體單元的側截面圖。
圖7係繪示用於圖6之記憶體單元之一習知陣列架構的圖。
圖8A係繪示均勻間隔之類神經網路權重等級分派的圖。
圖8B係繪示不均勻間隔之類神經網路權重等級分派的圖。
圖9係繪示一雙向調諧演算法的流程圖。
圖10係繪示使用電流比較之權重映射的方塊圖。
圖11係繪示使用電壓比較之權重映射的方塊圖。
圖12係繪示利用一非揮發性記憶體陣列之一例示性類神經網路之不同等級的圖。
圖13係繪示一向量乘法器矩陣的方塊圖。
圖14係繪示一向量乘法器矩陣之各種級的方塊圖。
圖15至圖16係繪示四閘極記憶體單元的陣列之第一架構的示意圖。
圖17至圖18係繪示四閘極記憶體單元的陣列之第二架構的示意圖。
圖19係繪示四閘極記憶體單元之一陣列之一第三架構的示意圖。
圖20係繪示四閘極記憶體單元之一陣列之一第四架構的示意圖。
圖21係繪示四閘極記憶體單元之一陣列之一第五架構的示意圖。
圖22係繪示四閘極記憶體單元之一陣列之一第六架構的示意圖。
圖23係繪示二閘極記憶體單元之一陣列之一第一架構的示意圖。
圖24係繪示二閘極記憶體單元之一陣列之一第二架構的示意圖。
圖25係繪示一電流至電壓對數轉換器的圖。
圖26係繪示一電壓至電流對數轉換器的圖。
圖27係繪示一參考Gnd的電流加算器的圖。
圖28係繪示一參考Vdd的電流加算器的圖。
圖29係繪示一非揮發性記憶體陣列之N2個類神經網輸入之使用的圖。
圖30係繪示一非揮發性記憶體陣列之N2個類神經網輸入之使用的圖。
圖31係繪示具有週期性移位輸入線之一非揮發性記憶體陣列之類神經網輸入之使用的圖。
圖32係繪示圖15之記憶體陣列架構的示意圖,但具有週期性移位輸入線。
圖33係繪示圖20之記憶體陣列架構的示意圖,但具有週期性移位輸入線。
圖34係可用於一人工類神經網路中之一先前技術非揮發性記憶體單元的截面圖。
圖35描繪非揮發性記憶體單元的一陣列,其用於在一人工類神經網路中使用。
圖36描繪用以在圖35之非揮發性記憶體單元上執行操作之操作電壓。
圖37描繪非揮發性記憶體單元的一陣列,其用於在一人工類神經網路中使用。
圖38描繪用以在圖37之非揮發性記憶體單元上執行操作之操作電壓。
圖39描繪非揮發性記憶體單元的一陣列,其用於在一人工類神經網路中使用。
圖40描繪用以在圖39之非揮發性記憶體單元上執行操作之操作電壓。
圖41描繪非揮發性記憶體單元的一陣列,其用於在一人工類神經網路中使用。
圖42描繪用以在圖41之非揮發性記憶體單元上執行操作之操作電壓。
圖43描繪一演算法,其用於在非揮發性記憶體單元之一陣列內以不同的程式化速度特性調諧單元。
圖44描繪一演算法,其用於識別可在非揮發性記憶體單元之一陣列內經迅速程式化的單元。
圖45描繪一演算法,其用於調諧包含一粗略程式化序列及一精細程式化序列之單元。
圖46描繪一均勻步階演算法,其用於調諧一非揮發性記憶體單元。
圖47描繪一均勻對數步階演算法,其包含用於調諧一非揮發性記憶體單元的粗略及精細步階。
圖48描繪一二元搜尋步階演算法,其包含用於調諧一非揮發性記憶體單元的粗略及精細步階。
圖49描繪用於一非揮發性記憶體單元之一調諧序列的一波形。
圖50描繪用於一非揮發性記憶體單元之一調諧序列的一波形。
本發明的人工類神經網路利用CMOS技術與非揮發性記憶體陣列的組合。數位非揮發性記憶體係已知。例如,美國專利第5,029,130號(「'130專利」)揭示分離閘非揮發性記憶體單元之一陣列,且係為所有目的以引用方式併入本文中。該記憶體單元係顯示於圖2中。各記憶體單元10包括形成於一半導體基材12中之源極區域14與汲極區域16,其中有一通道區域18位於其間。一浮閘20形成於通道區域18之一第一部分上方且與該第一部分絕緣(且控制該第一部分的導電性),並形成於汲極區域16的一部分上方。一控制閘22具有一第一部分22a及一第二部分22b,第一部分22a設置於通道區18之一第二部分上方且與該第二部分絕緣(且控制該第二部分的導電性),第二部分22b向上延伸且延伸於浮閘20上方。浮閘20及控制閘22係藉由一閘極氧化物26而與基材12絕緣。
藉由將一高正電壓置於控制閘22上來抹除記憶體單元(其中將電子自浮閘移除),其導致浮閘20上的電子藉由富爾諾罕穿隧自浮閘20穿隧通過中間絕緣體24至控制閘22。
藉由將一正電壓置於控制閘22上以及將一正電壓置於汲極16上來程式化記憶體單元(其中將電子置於浮閘上)。電子流將自源極14朝向汲極16流動。當電子抵達控制閘22與浮閘20之間的間隙時,電子將加速且變成經加熱的。由於來自浮閘20的吸引靜電力,該等經加熱電子的一些將通過閘極氧化物26注入至浮閘20上。
藉由將正讀取電壓置於汲極16及控制閘22上來讀取記憶體單元(其接通控制閘下方的通道區域)。若浮閘20帶正電荷(亦即電子經抹除並正耦接至汲極16),則浮閘20下方的通道區域部分亦經接通,且電流將跨通道區域18流動,其係感測為經抹除或「1」狀態。若浮閘20帶負電荷(亦即以電子程式化),則浮閘20下方的通道區域部分係大部分或完全斷開,且電流將不會跨通道區域18流動(或將有少許流動),其係感測為經程式化或「0」狀態。
先前技術記憶體陣列的架構係顯示於圖3中。記憶體單元10經以列與行配置。在各行中,記憶體單元以鏡像方式端對端地配置,以使其等形成為成對的記憶體單元,各對共享一共用的源極區域14(S),且各組相鄰的記憶體單元對共享一共用的汲極區域16(D)。用於任何給定之記憶體單元列的所有源極區域14係藉由一源極線14a電氣連接在一起。用於任何給定之記憶體單元行的所有汲極區域16係藉由一位元線16a電氣連接在一起。用於任何給定之記憶體單元列的所有控制閘22係藉由一控制閘線22a電氣連接在一起。因此,雖然記憶體單元可經個別地程式化及讀取,但記憶體單元之抹除係一列一列地執行(各列記憶體單元係藉由施加一高電壓在控制閘線22a上而一起抹除)。若欲抹除一特定記憶體單元,則也將相同列中的所有記憶體單元抹除。
所屬技術領域中具有通常知識者瞭解源極與汲極可互換,其中浮閘可於源極而非汲極上方部分地延伸,如圖4所示(二閘極記憶體單元)。圖5最佳地繪示對應的記憶體單元架構,其包括記憶體 單元10、源極線14a、位元線16a、及控制閘線22a。如由圖式明顯可見者,相同列的記憶體單元10共享相同的源極線14a及相同的控制閘線22a,而相同行之所有單元的汲極電氣連接至相同的位元線16a。該陣列設計係針對數位應用而最佳化,並例如藉由分別施加1.6V及7.6V至經選擇的控制閘線22a及源極線14a並將經選擇的位元線16a接地,來允許經選擇單元之個別程式化。藉由在未經選取的位元線16a上施加一大於2伏的電壓並將其餘的線接地來避免干擾相同對中之非選取的記憶體單元。記憶體單元10無法個別地抹除,因為負責抹除的程序(電子自浮閘20至控制閘22之Fowler-Nordheim穿隧)僅受到汲極電壓(亦即,對在列方向中共享相同源極線14a的兩個相鄰單元而言唯一可係不同的電壓)的微弱影響。
具有多於兩個閘極之分離閘記憶體單元亦為已知。例如,四閘極記憶體單元具有源極區域14、汲極區域16、在通道區域18之一第一部分上方的浮閘20、在通道區域18之一第二部分上方的選擇閘28、在浮閘20上方的控制閘22、及在源極區域14上方的抹除閘30係已知,如圖6所示(參見例如美國專利第6,747,310號),其係為所有目的以引用方式併入本文中。此處,除了浮閘20以外的所有閘係非浮閘,意指其等經電氣連接或可連接至電壓源。程式化係藉由變熱的電子自通道區域18將其本身注入至浮閘20上來顯示。抹除係藉由自浮閘20至抹除閘30之電子穿隧來顯示。
另一類型之先前技術的分離閘三閘極記憶體單元係顯示於圖34中。除了不具有一分開的控制閘以外,圖34的分離閘記憶體 單元與圖6的分離閘記憶體單元完全相同。除了沒有控制閘偏壓以外,抹除操作(透過抹除閘進行抹除)與讀取操作類似於圖6所示者。程式化操作也並未使用控制閘偏壓,因此為了彌補對於控制閘偏壓的缺乏,源極線上的程式化電壓比較高。
表1描繪執行讀取、抹除與程式化操作時,可施加至四個端子的典型電壓範圍:
Figure 107142536-A0202-12-0010-1
用於一四閘極記憶體單元陣列的架構可依圖7所示者來組態。在此實施例中,各水平選擇閘線28a將用於彼列記憶體單元的所有選擇閘28電氣連接在一起。各水平控制閘線22a將用於彼列記憶體單元的所有控制閘22電氣連接在一起。各水平源極線14a將用於共享源極區域14之兩列記憶體單元的所有源極區域14電氣連接在一起。各位元線16a將用於彼行記憶體單元的所有汲極區域16電氣連接在一起。各抹除閘線30a將用於共享抹除閘30之兩列記憶體單元的所有抹除閘30電氣連接在一起。正如先前架構,個別的記憶體單元可經獨立地程式化及讀取。然而,無法個別地抹除單元。抹除係藉由將一高正 電壓置於抹除閘線30a上來執行,其導致同時抹除共享相同抹除閘線30a的兩列記憶體單元。例示性操作電壓可包括在下方表2中者(在此實施例中,選擇閘線28a可稱為字線WL):
Figure 107142536-A0202-12-0011-2
為了利用包含上述類型的非揮發性記憶體單元中的一者之記憶體陣列,進行了兩種修改。第一,該等線經重組態使得各記憶體單元可個別地程式化、抹除、及讀取而不會不利地影響陣列中之其他記憶體單元的記憶體狀態,如下文所進一步解釋者。第二,提供記憶體單元連續(類比)程式化。具體而言,陣列中的各記憶體單元的記憶體狀態(亦即,浮閘上的電荷)可獨立地且對其他記憶體單元的干擾最小地從完全抹除狀態連續地改變至完全程式化狀態,且反之亦然。此意指單元儲存係類比的或至少可儲存許多離散值(諸如16或32個不同的值)之一者,其允許非常精確及個別的調諧記憶體陣列中的所有單元,且其使記憶體陣列非常適於儲存類神經網路的突觸權重並對該等突觸權重進行微調調整。
記憶體單元程式化及儲存
類神經網路權重等級分配在儲存於記憶體單元中時可經均勻地間隔(如圖8A所示)或經不均勻地間隔(如圖8B所示)。非揮發性記憶體單元的程式化可使用一雙向調諧演算法實施,諸如圖9所示者。Icell係經程式化之目標單元的讀取電流,且Itarget係當該單元經理想地程式化時所欲的讀取電流。讀取目標單元讀取電流Icell(步驟1),並與目標讀取電流Itarget比較(步驟2)。若目標單元讀取電流Icell大於目標讀取電流Itarget,實施程式化調諧程序(步驟3)以增加浮閘上的電子數目(其中查詢表係用以判定控制閘上所欲的程式化電壓VCG)(步驟3a至步驟3b),其可依需要重複(步驟3c)。若目標單元讀取電流Icell小於目標讀取電流Itarget,實施抹除調諧程序(步驟4)以減少浮閘上的電子數目(其中查詢表係用以判定抹除閘上所欲的抹除電壓VEG)(步驟4a至步驟4b),其可根據需要重複(步驟4c)。若程式化調諧程序過衝(overshoot)目標讀取電流,則實施抹除調諧程序(步驟3d並從步驟4a開始),且反之亦然(步驟4d並從步驟3a開始),直到達成目標讀取電流(在可接受的δ值內)。
非揮發性記憶體單元的程式化可替代地使用其使用程式化調諧的單向調諧演算法實作。以此演算法,記憶體單元最初係完全抹除,然後實施圖9中的程式化調諧步驟3a至3c,直到目標單元的讀取電流到達目標臨限值。替代地,非揮發性記憶體單元的調諧可使用其使用抹除調諧的單向調諧演算法實作。在此方法中,記憶體單元 最初係完全程式化,然後執行圖9中的抹除調諧步驟4a至4c,直到目標單元的讀取電流到達目標臨限值。
圖10係繪示使用電流比較之權重映射的圖。權重數位位元(例如,5位元權重用於各突觸,表示記憶體單元的目標數位權重)係輸入至數位類比轉換器(DAC)40,其將位元轉換至電壓Vout(例如64個電壓位準-5個位元)。Vout係藉由電壓至電流轉換器V/I Conv 42轉換至電流Iout(例如,64個電流位準-5個位元)。電流係供應至電流比較器IComp 44。程式化或抹除演算法啟用係輸入至記憶體單元10(例如,抹除:遞增EG電壓;或程式化:遞增CG電壓)。記憶體單元電流輸出Icellout(亦即,來自讀取操作)係供應至電流比較器IComp 44。電流比較器IComp 44比較記憶體單元電流Icellout與從權重數位位元導出的電流Iout,以產生指示儲存在記憶體單元10中之權重的信號。
圖11係繪示使用電壓比較之權重映射的圖。權重數位位元(例如,5位元權重用於各突觸)係輸入至數位類比轉換器(DAC)40,其將位元轉換至電壓Vout(例如,64個電壓位準-5個位元)。Vout係供應至電壓比較器VComp 46。程式化或抹除演算法啟用係輸入至記憶體單元10(例如,抹除:遞增EG電壓;或程式化:遞增CG電壓)。記憶體單元電流輸出Icellout係供應至電流至電壓轉換器I/V Conv 48,以用於轉換至電壓V2out(例如,64個電壓位準-5個位元)。電壓V2out係供應至電壓比較器VComp 46。電壓比較器 VComp 46比較電壓Vout與V2 out以產生指示儲存在記憶體單元10中之權重的信號。
採用非揮發性記憶體單元陣列的類神經網路
圖12概念性地繪示利用一非揮發性記憶體陣列之一類神經網路的一非限制性實例。此實例將非揮發性記憶體陣列類神經網路使用於面部識別應用,但任何其他適當應用可使用基於非揮發性記憶體陣列的類神經網路實作。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個神經元,其中最高的輸出神經元判定類別。該輸出可例如指示原始影像之內容的識別或類別。
突觸的各級係使用非揮發性記憶體單元的陣列或陣列的一部分實作。圖13係包括非揮發性記憶體單元且係用作一輸入層與次一層之間的突觸之向量矩陣乘法(vector-by-matrix multiplication,VMM)陣列的方塊圖。具體而言,VMM 32包括非揮發性記憶體33的陣列、抹除閘及字線閘解碼器34、控制閘解碼器35、位元線解碼器36、及源極線解碼器37,其等解碼記憶體陣列33的輸入。此實例中的源極線解碼器37也解碼記憶體單元陣列的輸出。記憶體陣列用作兩個目的。第一,其儲存將由VMM使用的權重。第二,記憶體陣列有效地將輸入乘以儲存在記憶體陣列中的權重以產生輸出,其將係至次一層的輸入或至最終層的輸入。藉由執行乘法功能,記憶體陣列否定對分開的乘法邏輯電路的需求,且亦由於原位記憶體運算而係有能源效率的。
將記憶體陣列的輸出供應至一差分加算器(諸如加總運算放大器)38,其加總記憶體單元陣列的輸出以創建用於該卷積的單一值。該差分加算器係諸如用以實現正權重及負權重與正輸入的加總。然後將該經加總輸出值供應至整流輸出的啟動功能電路39。啟動功能可包括S型(sigmoid)函數、雙曲正切(tanh)函數、ReLU函數。經整流 輸出值變成作為次一層(例如,以上描述中的C1)之特徵圖譜的元素,然後經施加於次一突觸以產生次一特徵圖譜層或最終層。因此,在此實例中,記憶體陣列構成複數個突觸(其從神經元的先前層或從輸入層(諸如影像資料庫)接收其等的輸入),且加總運算放大器38及啟動功能電路39構成複數個神經元。
圖14係VMM之各種級的方塊圖。如圖14所示,輸入係由數位類比轉換器31來從數位轉換成類比,並提供至輸入VMM 32a。將由輸入VMM 32a生成的輸出提供作為至次一VMM(隱藏級1)32b的輸入,其繼而生成提供作為至次一VMM(隱藏級2)32b之輸入的輸出,並依此類推。VMM 32之各種層如卷積式類神經網路(CNN)之突觸及神經元的不同層而作用。各VMM可係獨立的非揮發性記憶體陣列,或多個VMM可利用相同的非揮發性記憶體陣列的不同部分,或多個VMM可利用相同的非揮發性記憶體陣列的重疊部分。
圖15繪示四閘極記憶體單元(亦即,諸如圖6所示者)的一陣列,其經配置為一汲極加總矩陣乘法器。用於圖15之陣列的各種閘極及區域線與圖7中者相同(對於對應結構具有相同的元件編號),除了抹除閘線30a垂直地而非水平地延行(亦即,各抹除閘線30a將用於記憶體單元之該行的所有抹除閘30連接在一起)以外,使得各記憶體單元10可獨立地經程式化、抹除、及讀取。在記憶體單元之各者以該單元的適當權重值程式化後,該陣列充當汲極加總矩陣乘法器。矩陣輸入係Vin0...Vin7,並係置放於選擇閘線28a上。用於圖15的陣列之輸出的矩陣Iout0...IoutN係產生在位元線16a上。對於該 行中的所有單元,各輸出Iout係單元電流I乘以儲存在該單元中之權重W的和:Iout=Σ(Iij*Wij)
各記憶體單元(或記憶體單元對)充當具有表示為輸出電流Iout之權重值的單一突觸,該輸出電流藉由儲存在該行中之記憶體單元(或記憶體單元對)中的權重值之和決定。任何給定突觸的輸出係以電流的形式。因此,第一階段之後的各後續VMM階段較佳地包括用於將來自先前VMM階段的進入電流轉換成待使用作為輸入電壓Vin之電壓的電路系統。圖16繪示此類電流至電壓轉換電路系統的一實例,該電流至電壓轉換電路系統係將進入電流Iin0…IinN對數轉換為輸入電壓Vin0..VinN之記憶體單元的一經修改列。
本文中描述的記憶體單元以弱反轉偏壓,Ids=Io*e(Vg-Vth)/kVt=w*Io*e(Vg)/kVt
w=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
圖17及圖18繪示四閘極記憶體單元(亦即,諸如圖6所示者)之一陣列的另一組態,其經配置為一汲極加總矩陣乘法器。圖17及圖18之陣列的線與圖15及圖16之陣列中者相同,除了源極線14a垂直地而非水平地延行(亦即,各源極線14a將記憶體單元之該行的所有源極區域14連接在一起),及抹除閘線30a水平地而非垂直地延行(亦即,各抹除閘線30a將記憶體單元對之該列的所有抹除閘30連接在一起)以外,使得各記憶體單元可獨立地經程式化、抹除、及讀取。矩陣輸入Vin0...VinN保留在選擇閘線28a上,且矩陣輸出Iout0...IoutN保留在位元線16a上。
圖19繪示四閘極記憶體單元(亦即,諸如圖6所示者)之一陣列的另一組態,其經配置為一閘極耦接/源極加總矩陣乘法器。用於圖19之陣列的線與圖15及圖16中者相同,除了選擇閘線28a垂直地延行且記憶體單元的各行有其等的二者。具體而言,記憶體單元的各行包括兩個選擇閘線:第一選擇閘線28a1將奇數列記憶體單元的所有選擇閘28連接在一起,且第二選擇閘線28a2將偶數列記憶體單元的所有選擇閘28連接在一起。
在圖19之頂部及底部的電路用以將輸入電流Iin0...IinN對數轉換成輸入電壓Vin0..VinN。顯示於此圖中的矩陣輸入係Vin0...Vin5並經置放於選擇閘線28a1及28a2上。具體而言,將輸入Vin0經置放於行1中之奇數單元的選擇線28a1上。Vin1係置放 於行1中之偶數單元的選擇閘線28a2上。Vin2係置放於行2中之奇數單元的選擇閘線28a1上。Vin3係置放於行2中之偶數單元的選擇閘線28a2上,並依此類推。將矩陣輸出Iout0...Iout3提供在源極線14a上。位元線16a以固定偏壓電壓VBLrd而偏壓。對於記憶體單元之該列中的所有單元,各輸出Iout係單元電流I乘以儲存在該單元中之權重W的和。因此,對於此架構,記憶體單元的各列充當具有表示為輸出電流Iout之權重值的單一突觸,該輸出電流藉由儲存在該列中之記憶體單元中的權重值之和決定。
圖20繪示四閘極記憶體單元(亦即,諸如圖6所示者)之一陣列的另一組態,其經配置為一閘極耦接/源極加總矩陣乘法器。用於圖20之陣列的線與圖19中者相同,除了位元線16垂直地延行且記憶體單元的各行有其等的二者。具體而言,記憶體單元的各行包括兩個位元線:將相鄰的雙記憶體單元(共享相同的位元線接觸件的二個記憶體單元)的所有汲極區域連接在一起之第一位元線16a1,及將次一相鄰的雙記憶體單元的所有汲極區域連接在一起之第二位元線16a2。矩陣輸入Vin0...VinN保留在選擇閘線28a1及28a2上,且矩陣輸出Iout0...IoutN保留在源極線14a上。所有第一位元線16a1的組係以一偏壓位準(例如,1.2v)來偏壓,且所有第二位元線16a2的組係以另一偏壓位準(例如,0v)來偏壓。源極線14a以虛擬偏壓位準(例如,0.6v)來偏壓。對於共享共同源極線14a的各對記憶體單元,輸出電流將係頂部單元減底部單元的差動輸出。因此,各輸出Iout係此等差動輸出的和: Iout=Σ(Iiju*Wiju-Iijd*Wijd)
SL電壓~½ Vdd,~0.6v因此,對於此架構,成對記憶體單元的各列充當具有表示為輸出電流Iout之權重值的單一突觸,該輸出電流係由儲存在成對記憶體單元的該列中之記憶體單元中的權重值(例如,一個正權重及一個負權重)所決定之差動輸出的和。
圖21繪示四閘極記憶體單元(亦即,諸如圖6所示者)之一陣列的另一組態,其經配置為一閘極耦接/源極加總矩陣乘法器。用於圖21之陣列的線與圖20中者相同,除了抹除閘30a水平地延行,且控制閘線22a垂直地延行且記憶體單元的各行有其等的二者。具體而言,記憶體單元的各行包括兩個控制閘線:第一控制閘線22a1將奇數列記憶體單元的所有控制閘22a連接在一起,且第二控制閘線22a2將偶數列記憶體單元的所有控制閘22a連接在一起。矩陣輸入Vin0...VinN保留在選擇閘線28a1及28a2上,且矩陣輸出Iout0...IoutN保留在源極線14a上。
圖22繪示四閘極記憶體單元(亦即,諸如圖6所示者)之一陣列的另一組態,其經配置為一源極加總矩陣乘法器。用於圖22之陣列的線及輸入與圖17中者相同。然而,將其等提供在源極線14a上,而不是將輸出提供在位元線16a上。矩陣輸入Vin0...VinN保留在選擇閘線28a上。
圖23繪示二閘極記憶體單元(亦即,諸如圖1所示者)之一陣列的一組態,其經配置為一汲極加總矩陣乘法器。用於圖23之陣列的線與圖5中者相同,除了水平源極線14a已以垂直源極線14a置換。具體而言,各源極線14a經連接至記憶體單元之該行中的所有源極區域。矩陣輸入Vin0...VinN係置放於控制閘線22a上。矩陣輸出Iout0...IoutN係產生在位元線16a上。對於該行中的所有單元,各輸出Iout係單元電流I乘以儲存在該單元中之權重W的和。記憶體單元的各行充當具有表示為輸出電流Iout之權重值的單一突觸,該輸出電流藉由儲存在該行中之記憶體單元中的權重值之和決定。
圖24繪示二閘極記憶體單元(亦即,諸如圖1所示者)之一陣列的一組態,其經配置為一源極加總矩陣乘法器。用於圖24之陣列的線與圖5中者相同,除了控制閘線22a垂直地延行且記憶體單元的各行有其等的二者。具體而言,記憶體單元的各行包括兩個控制閘線:第一控制閘線22a1將奇數列記憶體單元的所有控制閘22a連接在一起,且第二控制閘線22a2將偶數列記憶體單元的所有控制閘22a連接在一起。
此組態的矩陣輸入係Vin0...VinN並經置放於控制閘線22a1及22a2上。具體而言,輸入Vin0係置放於行1中之奇數列單元的控制閘線22a1上。Vin1係置放於行1中之偶數列單元的控制閘線22a2上。Vin2係置放於行2中之奇數列單元的控制閘線22a1上。Vin3係置放於行2中之偶數列單元的控制閘線22a2上,並依此類推。矩陣輸出Iout0...IoutN係產生在源極線14a上。對於共享共同源極線 14a的各對記憶體單元,輸出電流將係頂部單元減底部單元的差動輸出。因此,對於此架構,成對記憶體單元的各列充當具有表示為輸出電流Iout之權重值的單一突觸,該輸出電流係由儲存在成對記憶體單元的該列中之記憶體單元中的權重值所決定之差動輸出的和。
圖15至圖16、圖19、及圖20之實施例的例示性操作電壓包括:
Figure 107142536-A0202-12-0023-3
近似數值包括:
Figure 107142536-A0202-12-0023-4
圖17至圖18及圖22之實施例的例示性操作電壓包括:
Figure 107142536-A0202-12-0024-5
近似數值包括:
Figure 107142536-A0202-12-0024-6
圖25繪示用於與本發明併用之一例示性電流至電壓對數轉換器50(WL=選擇閘線、CG=控制閘線、EG=抹除閘線)。記憶體係偏壓在弱反轉區中,Ids=Io*e(Vg-Vth)/kVt。圖26繪示用於與本發明併用之一例示性電壓至電流對數轉換器52。記憶體係偏壓在弱反轉區中。圖27繪示用於與本發明併用之一參考Gnd的電流加算器54。 圖28以下繪示用於與本發明併用之一參考Vdd的電流加算器56。負載的實例包括二極體、非揮發性記憶體單元、及電阻器。
上述記憶體陣列組態實作前饋的分類引擎。訓練係藉由將「權重」值儲存在記憶體單元(創建突觸陣列)中而完成,其意指個別單元的次臨限斜率因子已被修改。神經元係藉由加總突觸之輸出及取決於神經元臨限(例如,做決策)排除或不排除而實作。
以下步驟可用以處理輸入電流IE(例如,輸入電流直接來自用於影像識別之特徵計算的輸出):
步驟1-轉換為更容易以非揮發性記憶體處理的對數尺度。
˙使用雙極電晶體的輸入電流至電壓轉換。雙極電晶體的偏壓電壓VBE與射極電流有對數關係。
˙VBE=a*lnIE-b→VBE
Figure 107142536-A0202-12-0025-67
lnIE
- 其中a(比率)及b(偏壓或偏移)係常數
˙生成VBE電壓使得記憶體單元將在次臨限區域中操作。
步驟2-將所生成的偏壓VBE施加至字線(在次臨限區域中)。
˙CMOS電晶體的輸出電流IDRAIN與輸入電壓(VGS)、熱電壓(UT)、及κ(k=Cox/(Cox+Cdep))有指數關係,其中Cox及Cdep線性取決於浮閘上的電荷。
˙IDRAIN
Figure 107142536-A0202-12-0025-68
Exp(kVBE/UT),或
˙lnIDRAIN
Figure 107142536-A0202-12-0025-69
kVBE/UT
˙IDRAIN的對數與VBE的倍數及浮閘上的電荷(相關於κ)有線性關係,其中UT在指定溫度係常數。
˙輸出=輸入*權重的關係對於突觸存在。
單元之各者的輸出(IDRAIN)在讀取模式中可連結在一起以加總陣列或陣列之扇區中之各突觸的值。一旦IDRAIN已經加總,其可經饋送至電流比較器中,並取決於單一感知類神經網路的比較而輸出「邏輯」0或1。一感知(一扇區)已於上文描述。來自各感知的輸出可經饋送到用於多個感知的次一組扇區。
在基於記憶體的卷積式類神經網路中,一組輸入需要乘以某些權重以產生隱藏層或輸出層的所欲結果。如上文所解釋的,一種技術係使用M×M濾波器(核心)(例如,N×N矩陣掃描先前影像,該M×M濾波器在水平及垂直方向兩者中跨該影像移位X個像素。只要有足夠的輸入至記憶體陣列,像素的掃描可至少部分地並行完成。例如,如圖29所示,可使用M=6的濾波器尺寸(亦即,36個像素的6×6陣列)以使用X=2的移位掃描一NXN影像陣列。在該實例中,將濾波器中之第一列的六個像素提供至對N2個輸入之記憶體陣列的前6個輸入。然後,將濾波器中之第二列的六個像素提供至N2個輸入之第二N個輸入中的前6個輸入,並依此類推。此係表示在圖29中之圖的第一列中,其中該等點表示如上文所陳述之用於與輸入的乘法之儲存在記憶體陣列中的權重。然後,濾波器向右移位二個像素,並將已移位濾波器中之第一列的六個像素提供至第一N個輸入的第三至第八輸入,將第二列的六個像素提供至第二N個輸入的第三至第八輸入,並依此類推。一旦將濾波器完全移位到影像右側,濾波器係重定位回到左側,但向下移位二個像素,其中該程序再次重複,直到掃描整個 NxN影像。各組水平移位掃描可以梯形形狀表示,該梯形形狀顯示N2個記憶體陣列輸入的何者具備用於乘法的資料。
據此,使用掃描間的二個像素移位及6×6的濾波器尺寸,N×N影像陣列的掃描需要N2個輸入及((N-4)/2))2列。圖30圖形地顯示梯形形狀,其指示記憶體陣列中的權重如何針對濾波器掃描儲存。各列的陰影區代表在一組水平掃描期間施加於輸入的權重。箭頭指示記憶體陣列的線性輸入線(例如,在圖15中之接收輸入資料的輸入線28a以線性方式完全延伸跨記憶體陣列,各一者總是存取記憶體單元的相同列;在圖19之陣列的情況中,輸入線之各者總是存取記憶體單元的相同行)。白色區指示無資料提供給輸入之處。因此,白色區域指示記憶體單元陣列的無效率使用。
藉由如圖31所示地重組態記憶體陣列,可增加效率,並減少輸入的總數。具體而言,將記憶體陣列的輸入線週期地移位至另一列或行,因此減少陣列的未使用部分,並因此減少實施掃描所需之陣列上的重複輸入線的數目。具體而言,在本實例之移位X=2的情況中,箭頭指示各輸入線週期地移位兩列或兩行,將寬間隔記憶體單元利用梯形形狀轉換成緊密間隔記憶體單元利用矩形形狀。雖然在記憶體單元部分之間需要用於導線束的額外空間以實作此移位,但記憶體單元陣列中所需要的輸入數目大幅減少(僅5n+6)。
圖32繪示圖15的陣列,但對於用作輸入線的線28a具有兩列的週期性移位。輸入線之列中的週期性移位可類似地實作在圖17、圖22、及圖23的陣列中。圖33繪示圖20的陣列,但對於用作 輸入線的線28a1及28a2具有兩行的週期性移位。輸入線之行中的週期性移位可類似地實作在圖19、圖21、及圖24的陣列中。
改善的調諧機制及演算法
現將描述用於改善的調諧機制及演算法的實施例。調諧係如下的程序:藉其驗證所欲的電荷量經儲存在一非揮發性記憶體單元的浮閘中,也就是,確保非揮發性記憶體單元儲存所欲的值。
圖35描繪神經元VMM 3500,其特別適於圖2所示之類型的記憶體單元,且係用作一輸入層與次一層之間的突觸。VMM 3500包含非揮發性記憶體單元的記憶體陣列3503、參考陣列3501、及參考陣列3502。參考陣列3501及3502用以將流入端子BLR0至3中的電流輸入轉換成電壓輸入WL0至3。實際上,參考記憶體單元係透過多工器與流入其等的電流輸入連接的二極體。參考單元經調諧至目標參考位準。記憶體陣列3503供兩個目的所用。第一,其儲存將由VMM 3500使用的權重。第二,記憶體陣列3503有效地將輸入(端子BLR0至3中所提供的電流輸入;參考陣列3501及3502將此等電流輸入轉換成輸入電壓以供應給字線WL0至3)乘以儲存在記憶體陣列中的權重以產生輸出,該輸出將係至次一層的輸入或至最終層的輸入。藉由實施乘法功能,記憶體陣列否定對分開的乘法邏輯電路的需求,且也係有能源效率的。此處,電壓輸入係在字線上提供,且輸出在一讀取(推論)操作期間顯現於位元線上。置於位元線上的電流執行來自連接至位元線之記憶體單元的所有電流之一加總功能。
圖36描繪用於VMM 3500的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之源極線、以及用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖37描繪神經元VMM 3700,其特別適於圖2所示之類型的記憶體單元,且係用作一輸入層與次一層之間的突觸。VMM 3700包含非揮發性記憶體單元的記憶體陣列3703、參考陣列3701、及參考陣列3702。VMM 3700類似於VMM 3500,除了在VMM 3700中,字線在垂直方向上延行。此處,輸入係在字線上提供,且輸出在一讀取操作期間顯現於源極線上。置於源極線上的電流執行來自連接至源極線之記憶體單元的所有電流之一加總功能。
圖38描繪用於VMM 3700的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之源極線、以及用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖39描繪神經元VMM 3900,其特別適於圖6所示之類型的記憶體單元,且係用作一輸入層與次一層之間的突觸。VMM 3900包含非揮發性記憶體單元的記憶體陣列3903、參考陣列3901、及參考陣列3902。參考陣列3901及3902用以將流入端子BLR0至3中的電流輸入轉換成電壓輸入CG0至3。實際上,參考記憶體單元係 透過多工器與流入其等的電流輸入經二極體連接。參考單元經調諧至目標參考位準。記憶體陣列3903供兩個目的所用。第一,其儲存將由VMM 3900使用的權重。第二,記憶體陣列3903有效地將輸入(提供給端子BLR0至3的電流輸入;參考陣列3901及3902將此等電流輸入轉換成輸入電壓以供應給控制閘CG0至3)乘以儲存在記憶體陣列中的權重以產生輸出,該輸出將係至次一層的輸入或至最終層的輸入。藉由實施乘法功能,記憶體陣列否定對分開的乘法邏輯電路的需求,且也係有能源效率的。此處,輸入係在字線上提供,且輸出在一讀取操作期間顯現於位元線上。置於位元線上的電流執行來自連接至位元線之記憶體單元的所有電流之一加總功能。
VMM 3900針對記憶體陣列3903中的記憶體單元實施單向調諧。也就是,各單元經抹除,並接著經部分程式化,直到達到浮閘上的所欲電荷。若將太多電荷置於浮閘上(使得錯誤的值經儲存在單元中),則必須抹除單元,且部分程式化操作的序列必須重新開始。如所示,共享相同抹除閘的兩列需要一起抹除(已知為頁面抹除),其後,各單元經部分程式化直到達到浮閘上的所欲電荷, 圖40描繪用於VMM 3900的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之控制閘、用於與經選擇單元相同扇區中之未經選擇單元之控制閘、用於不同於經選擇單元之一扇區中之未經選擇單元之控制閘、用於經選擇單元之抹除閘、用於未經選擇單元之抹除閘、用於經選擇單元之源極線、 用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖41描繪神經元VMM 4100,其特別適於圖6所示之類型的記憶體單元,且係用作一輸入層與次一層之間的突觸。VMM 4100包含非揮發性記憶體單元的記憶體陣列4103、參考陣列4101、及參考陣列4102。除了VMM 4100實施雙向調諧以外,VMM 4100類似於VMM 3900,其中各個別單元可經完全抹除、部分程式化、及依需要部分抹除以達到浮閘上所欲的電荷量。如所示,參考陣列4101及4102將端子BLR0至3中的輸入電流轉換成欲在列方向上施加至記憶體單元之控制閘電壓CG0至3(通過透過多工器經二極體式連接之參考單元的動作)。電流輸出(神經元)係在位元線中,其將來自連接至位元線之記憶體單元的所有電流加總。
圖42描繪用於VMM 4100的操作電壓。表中的行指示置於用於經選擇單元之字線、用於未經選擇單元之字線、用於經選擇單元之位元線、用於未經選擇單元之位元線、用於經選擇單元之控制閘、用於與經選擇單元相同扇區中之未經選擇單元之控制閘、用於不同於經選擇單元之一扇區中之未經選擇單元之控制閘、用於經選擇單元之抹除閘、用於未經選擇單元之抹除閘、用於經選擇單元之源極線、用於未經選擇單元之源極線上的電壓。列指示讀取、抹除、及程式化操作。
圖43描繪調諧演算法4300。調諧演算法4300辨識個別的記憶體單元可係快速或慢速。一快速單元係可迅速程式化的一者, 而一慢速單元或一正規單元係相較於快速單元在一程式化操作期間耗費較大量時間來達到相同狀態的一者。此差別係歸因於個別單元特性及差異的物理。
調諧演算法4300包含下列步驟序列。第一,一記憶體單元頁面經抹除(步驟4301)。系統接著基於查找表4320判定記憶體陣列中的哪些單元係快速單元,該查找表係在一組態序列期間聚集且若用於一單元的特性改變則可在操作期間更新(從快速至慢速或慢速至快速)(步驟4302)。查找表4320可包括例如所有快速非揮發性記憶體單元的一位址列表。或者其可含有用於陣列中之各單元的一項目,且該項目可係單一位元,其中「1」指示一快速單元而「0」指示一慢速正規單元。
若一單元係一快速單元,則實施一快速調諧演算法,其中一相對大電荷係透過一部分程式化操作來添加至快速單元的浮閘(步驟4303)。在各部分程式化操作之後,執行一驗證序列以判定在一讀取操作中通過單元的Icell是否大於Itarget 1(步驟4304)。若否,則再次執行部分程式化操作。若是,則判定是否Icell<Imargin_0V(步驟4305)。若是,則在記憶體單元中已達到所欲狀態,且調諧序列完成(步驟4306)。若否,則單元已較預期更快地程式化,且其係在查找表4320中標示為一快速單元(步驟4307)。由於太多電荷已置於浮閘上,單元不使用,且其必須再次經抹除(步驟4302)。
若步驟4302斷定一單元係一慢速單元,則實施一低調諧演算法,其中一較小電荷係透過一部分程式化操作來添加至慢速單 元的浮閘(步驟4308)。在各部分程式化操作之後,執行一驗證序列以判定在一讀取操作中通過單元的Icell是否大於Itarget 1(步驟4309)。若否,則再次執行部分程式化操作。若是,則判定是否Icell<Imargin_0V(步驟4310)。若是,則在記憶體單元中已達到所欲狀態,且調諧序列完成(步驟4311)。若否,則單元已較預期更快地程式化,且其係在查找表4320中標示為一快速單元(步驟4307)。由於太多電荷已置於浮閘上,單元不使用,且其必須再次經抹除(步驟4302)。快速調諧演算法可使用一大寫入(例如程式化)電壓增量或寬寫入脈衝寬度來實施,低調諧演算法可使用一小寫入電壓增量或一窄寫入脈衝寬度來實施。
圖44描繪調諧演算法4400。調諧演算法4400可在一組態序列期間使用以識別一記憶體陣列中係快速單元之單元。調諧演算法4400包含下列步驟序列。一頁面經抹除(步驟4401)。以一電壓VCG_diagnosis程式化一單元(步驟4402)。電流Icell1係在一讀取操作期間通過該單元測量(步驟4403)。以一電壓VCG_diagnosis+d V程式化該單元(步驟4404)。電流Icell2係在一讀取操作期間通過該單元測量(步驟4405)。就Icell2與Icell1之間的差值是否超過Icell_0V作出一判定(步驟4406)。若否,則該單元係一正規或慢速單元(步驟4407)。若是,則該單元係一快速單元,且其係在查找表4320中識別為一快速單元(步驟4408)。如圖44中所含的曲線圖所示,一快速單元將回應於步驟4404而在其浮閘上累積電荷。增量程式化電壓d係一小電壓,且將不影響針對正規或慢速單元的累積電荷。 也就是,快速單元回應於相對小的程式化電壓而在其等之浮閘上累積電荷。替代地,可使用兩個抹除脈衝以提取落入快速位元區域中之記憶體單元的差異電流。在此情況下,首先對所有單元進行深度程式化。
圖45描繪調諧演算法4500。調諧演算法4500結合粗略演算法4510(其中一單元係以相對大增量程式化)及精細演算法4511(其中該單元係以相對小增量程式化)。此最小化過衝所欲電壓的發生並增加系統的總體速度。
調諧演算法4500包含下列步驟序列。一頁面經抹除(步驟4501)。接著執行粗略演算法4510,其包含步驟4502及4503。以VCG-C_init+dV-C、N_pulseC=NCi+1程式化一單元(步驟4502)。電流Icell係在一讀取操作期間通過該單元測量,並就是否Icell>Icell_offset作出一判定(步驟4503)。若是,則精細演算法4511開始,其包含步驟4504及4505。以VCGFiniti(=VCG-C last-Vstep)+dV-F、N_pulseF=NFi+1程式化該單元(步驟4504)。電流Icell係在一讀取操作期間通過該單元測量,並就是否Icell>Icell_target作出一判定(步驟4505)。若是,則已達到所欲電荷,且調諧程序完成(步驟4506)。若否,則判定是否f N_pulseF=N max(步驟4507)。若是,則該單元經判定係一不良單元並在一查找表中如此標示(步驟4508)。若否,則重複步驟4504。若步驟4503的結果為否,則判定是否N_pulseC=NCmax(步驟4509)。若是,則該單元經判定係一不良單元並在一查找表中如此標示(步驟4508)。若 否,則重複步驟4502。替代地,可使用寬寫入脈衝寬度代替粗略電壓位準,並可使用窄寫入脈衝寬度代替精細電壓位準。
現將參照圖46至50描述關於圖43及圖45之調諧操作的額外細節。
圖46描繪用於均勻步階演算法4600的例示性值。在此實例中,近似的程式化目標電壓係8V。此目標電壓係例如提取自一查找表或電流目標Itarget對目標程式化電壓的一模型。初始以4V程式化該單元。其後,精細程式化包含使用最大為400的步階數以0.01V的步階大小進行程式化。
圖47描繪用於均勻對數步階(除以十)、粗略/精細演算法4700的例示性值。在此實例中,近似的程式化目標電壓係8V。初始以4V程式化該單元。其後,粗略程式化包含使用最大為10的步階數以0.4V(=4V/10)的對數步階大小進行程式化。其後,發生一第一精細程式化序列,其中一部分抹除操作使浮閘電壓減少0.2V,且其後,程式化使用最大為6的步階數以0.1V的步階大小發生。接著,發生一第二精細程式化序列,其中發生0.1V的一部分抹除操作,且其後,程式化使用最大為20的步階數以0.01V(=0.1V/10)的對數步階大小發生。因此,脈衝總數係46。
圖48描繪二元搜尋步階、粗略/精細演算法4800。在此實例中,近似的程式化目標電壓再次係8V。初始以4V程式化該單元。其後,粗略程式化以差異程式化電壓除以二(即2V、1V、0.5V、0.25V、0.125V、及0.625V)的步階發生。其後,執行一抹 除步驟使浮閘電壓減少0.0625V,且其後,精細程式化使用最大為19的步階數以0.01V的一固定增量發生。此脈衝總數係25。
圖49描繪演算法4800的一例示性波形。如可見到的,粗略程式化使電壓增加,直到Icell超過一臨限。接著執行降壓使電壓減少0.0625V,且其後發生精細程式化。降壓係欲避免次一程式化脈衝之潛在的程式化過衝。
圖50描繪用於本文所述之粗略-精細演算法之另一例示性波形。首先,發生粗略程式化。第二,發生精細程式化。第三,一旦達到適當電壓,記錄程式化電荷的總量及/或記錄步階,使得其後,可以所欲的精確電荷使用單一恆定電壓程式化操作達到適當的程式化位準。替代地,調諧演算法可由下列組成:由寬脈衝寬度及/或大電壓增量組成的粗略脈衝以及由恆定脈衝寬度及/或恆定電壓脈衝組成的精細脈衝。
在替代實施例中,圖15、圖16、圖17、圖18、圖19、圖20、圖21、圖22、圖25、圖26、圖32、及圖33的實施例可經修改使得輸入係控制閘而非選擇閘(字線)。類似地,圖39及圖41的實施例可經修改使得輸入係選擇閘(字線)而非控制閘。
應注意的是,如本文中所使用,「在…上方(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)」形成元件可包括直接在基材上形成元件而其間無居中的材料/元件存在,以及間接在基材上形成元件而其間有一或多個居中的材料/元件存在。
4300‧‧‧調諧演算法
4301‧‧‧步驟
4302‧‧‧步驟
4303‧‧‧步驟
4304‧‧‧步驟
4305‧‧‧步驟
4307‧‧‧步驟
4308‧‧‧步驟
4309‧‧‧步驟
4310‧‧‧步驟
4311‧‧‧步驟
4320‧‧‧查找表
4306‧‧‧步驟

Claims (15)

  1. 一種用於調諧類神經網路中的複數個非揮發性記憶體單元以儲存該等複數個非揮發性記憶體單元之各者中的一權重等級之方法,該方法包含:抹除該等複數個非揮發性記憶體單元;以及在該等複數個非揮發性記憶體單元之各者上執行一調諧演算法,該調諧演算法包含:判定用於該單元之一臨限電流,其中該臨限電流係相關於一個要被儲存於該單元中之所欲權重等級;在該單元上執行一粗略程式化序列,其包含:使用初始之一電壓來程式化該單元;及使用等於先前之電壓增量之值的一部分之新的一電壓增量來程式化該單元,直到通過該單元的電流在一讀取操作期間超過該臨限電流;及在該單元上執行一精細程式化序列,其包含:移除該單元之該浮閘上的該電荷的一部分;以及使用一精細電壓增量來程式化該單元,直到通過該單元的該電流在一讀取操作期間超過該臨限電流,其中該精細電壓增量小於每個在該粗略程式化序列期間被施加的電壓增量。
  2. 如請求項1之方法,其中該記憶體單元係一分離2閘極快閃記憶體單元。
  3. 如請求項1之方法,其中該記憶體單元係一分離3閘極快閃記憶體單元。
  4. 如請求項1之方法,其中該記憶體單元係一分離4閘極快閃記憶體單元。
  5. 如請求項1之方法,其中該記憶體單元操作於一次臨限區域中。
  6. 一種用於調諧複數個非揮發性類比神經形態記憶體單元之方法,該方法包含:抹除該等複數個非揮發性類比神經形態記憶體單元;以及在該等複數個非揮發性類比神經形態記憶體單元之各者上執行一調諧演算法,該調諧演算法包含:判定用於該單元之一電流臨限,其中該電流臨限係相關於一個要被儲存於該單元中之所欲權重等級;在該單元上執行一粗略程式化序列,其包含:使用一第一電壓增量在該單元上執行一第一程式化操作;及重複該第一程式化操作,直到通過該單元的該電流在一讀取操作期間超過該電流臨限;及在該單元上執行一精細程式化序列,其包含:移除該單元之該浮閘上的該電荷的一部分;以及使用一第二電壓增量來程式化該單元,直到通過該單元的該電流在一讀取操作期間超過該電流臨限,其中該第二電壓增量小於該第一電壓增量。
  7. 如請求項6之方法,其進一步包含:在該單元上執行一第二精細程式化序列,其包含:移除該單元之該浮閘上的該電荷的一部分; 使用一第三電壓增量來程式化該單元,直到通過該單元的該電流在一讀取操作期間超過該電流臨限,其中該第三電壓增量小於該第二電壓增量。
  8. 如請求項6之方法,其中該粗略程式化係一二元搜尋程式化。
  9. 如請求項6之方法,其中該粗略程式化及該精細程式化係對數步階程式化。
  10. 如請求項6之方法,其中該粗略程式化的脈衝寬度大於該精細程式化的脈衝寬度。
  11. 如請求項6之方法,其中該程式化包括固定脈衝寬度程式化。
  12. 如請求項6之方法,其中該記憶體單元係一分離2閘極快閃記憶體單元。
  13. 如請求項6之方法,其中該記憶體單元係一分離3閘極快閃記憶體單元。
  14. 如請求項6之方法,其中該記憶體單元係一分離4閘極快閃記憶體單元。
  15. 如請求項6之方法,其中該記憶體單元操作於一次臨限區域中。
TW107142536A 2017-11-29 2018-11-28 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法 TWI694448B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/826,345 2017-11-29
US15/826,345 US10748630B2 (en) 2017-11-29 2017-11-29 High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
??PCT/US18/58297 2018-10-30
PCT/US2018/058297 WO2019108334A1 (en) 2017-11-29 2018-10-30 High precision and highly efficient tuning mechanisms and algorithms for analog neuromorphic memory in artificial neural networks
WOPCT/US18/58297 2018-10-30

Publications (2)

Publication Number Publication Date
TW201933361A TW201933361A (zh) 2019-08-16
TWI694448B true TWI694448B (zh) 2020-05-21

Family

ID=66632616

Family Applications (2)

Application Number Title Priority Date Filing Date
TW109114909A TWI740487B (zh) 2017-11-29 2018-11-28 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法
TW107142536A TWI694448B (zh) 2017-11-29 2018-11-28 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW109114909A TWI740487B (zh) 2017-11-29 2018-11-28 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法

Country Status (7)

Country Link
US (1) US10748630B2 (zh)
EP (2) EP3676840B1 (zh)
JP (2) JP7210585B2 (zh)
KR (1) KR102331445B1 (zh)
CN (2) CN111386572B (zh)
TW (2) TWI740487B (zh)
WO (1) WO2019108334A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI834397B (zh) * 2022-01-28 2024-03-01 美商超捷公司 包含類比陣列及數位陣列的人工神經網路

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552510B2 (en) * 2018-01-11 2020-02-04 Mentium Technologies Inc. Vector-by-matrix multiplier modules based on non-volatile 2D and 3D memory arrays
US10446246B2 (en) * 2018-03-14 2019-10-15 Silicon Storage Technology, Inc. Method and apparatus for data refresh for analog non-volatile memory in deep learning neural network
US10522226B2 (en) 2018-05-01 2019-12-31 Silicon Storage Technology, Inc. Method and apparatus for high voltage generation for analog neural memory in deep learning artificial neural network
US10860918B2 (en) 2018-08-21 2020-12-08 Silicon Storage Technology, Inc. Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components
US10755783B2 (en) 2018-08-27 2020-08-25 Silicon Storage Technology Temperature and leakage compensation for memory cells in an analog neural memory system used in a deep learning neural network
US10741568B2 (en) 2018-10-16 2020-08-11 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US11636325B2 (en) 2018-10-24 2023-04-25 Macronix International Co., Ltd. In-memory data pooling for machine learning
US11562229B2 (en) * 2018-11-30 2023-01-24 Macronix International Co., Ltd. Convolution accelerator using in-memory computation
US11934480B2 (en) 2018-12-18 2024-03-19 Macronix International Co., Ltd. NAND block architecture for in-memory multiply-and-accumulate operations
US11893478B2 (en) 2019-01-18 2024-02-06 Silicon Storage Technology, Inc. Programmable output blocks for analog neural memory in a deep learning artificial neural network
US11023559B2 (en) 2019-01-25 2021-06-01 Microsemi Soc Corp. Apparatus and method for combining analog neural net with FPGA routing in a monolithic integrated circuit
US11586898B2 (en) * 2019-01-29 2023-02-21 Silicon Storage Technology, Inc. Precision programming circuit for analog neural memory in deep learning artificial neural network
US11423979B2 (en) 2019-04-29 2022-08-23 Silicon Storage Technology, Inc. Decoding system and physical layout for analog neural memory in deep learning artificial neural network
US20200349422A1 (en) 2019-05-02 2020-11-05 Silicon Storage Technology, Inc. Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network
US11393546B2 (en) 2019-07-19 2022-07-19 Silicon Storage Technology, Inc. Testing circuitry and methods for analog neural memory in artificial neural network
US11449741B2 (en) 2019-07-19 2022-09-20 Silicon Storage Technology, Inc. Testing circuitry and methods for analog neural memory in artificial neural network
US11507816B2 (en) * 2019-09-19 2022-11-22 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
KR20210050243A (ko) * 2019-10-28 2021-05-07 삼성전자주식회사 뉴로모픽 패키지 장치 및 뉴로모픽 컴퓨팅 시스템
US11755899B2 (en) * 2019-11-11 2023-09-12 Silicon Storage Technology, Inc. Precise programming method and apparatus for analog neural memory in an artificial neural network
KR20210082676A (ko) 2019-12-26 2021-07-06 삼성전자주식회사 셀 단위로 액세스 가능한 스토리지 장치 및 그 동작방법
KR102556249B1 (ko) * 2020-01-02 2023-07-14 서울대학교산학협력단 신경망을 위한 시냅스 스트링 어레이 아키텍처
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
US11393535B2 (en) * 2020-02-26 2022-07-19 Silicon Storage Technology, Inc. Ultra-precise tuning of analog neural memory cells in a deep learning artificial neural network
US11532354B2 (en) * 2020-03-22 2022-12-20 Silicon Storage Technology, Inc. Precision tuning of a page or word of non-volatile memory cells and associated high voltage circuits for an analog neural memory array in an artificial neural network
CN115064200A (zh) * 2020-04-29 2022-09-16 长江存储科技有限责任公司 存储器件及其编程方法
US11682459B2 (en) 2020-05-13 2023-06-20 Silicon Storage Technology, Inc. Analog neural memory array in artificial neural network comprising logical cells and improved programming mechanism
US11289164B2 (en) 2020-06-03 2022-03-29 Silicon Storage Technology, Inc. Word line and control gate line tandem decoder for analog neural memory in deep learning artificial neural network
US20220108158A1 (en) * 2020-10-02 2022-04-07 Sandisk Technologies Llc Ultralow power inference engine with external magnetic field programming assistance
JP2022076545A (ja) * 2020-11-10 2022-05-20 ルネサスエレクトロニクス株式会社 半導体装置
WO2022245384A1 (en) 2021-05-19 2022-11-24 Silicon Storage Technology, Inc. Output circuit for analog neural memory in a deep learning artificial neural network
WO2022260692A1 (en) * 2021-06-08 2022-12-15 Silicon Storage Technology, Inc. Method of reducing random telegraph noise in non-volatile memory by grouping and screening memory cells
US11769558B2 (en) * 2021-06-08 2023-09-26 Silicon Storage Technology, Inc. Method of reducing random telegraph noise in non-volatile memory by grouping and screening memory cells
US20230049032A1 (en) 2021-08-02 2023-02-16 Silicon Storage Technology, Inc. Output circuitry for analog neural memory in a deep learning artificial neural network
US20230048411A1 (en) 2021-08-02 2023-02-16 Silicon Storage Technology, Inc. Input circuitry for analog neural memory in a deep learning artificial neural network
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
EP4385015A1 (en) 2021-11-12 2024-06-19 Silicon Storage Technology Inc. Determination of a bias voltage to apply to one or more memory cells in a neural network
US20230306246A1 (en) 2022-02-08 2023-09-28 Silicon Storage Technology, Inc. Calibration of electrical parameters in a deep learning artificial neural network
WO2023154075A1 (en) 2022-02-08 2023-08-17 Silicon Storage Technology, Inc. Calibration of electrical parameters in a deep learning artificial neural network
WO2023196001A1 (en) 2022-04-06 2023-10-12 Silicon Storage Technology, Inc. Artificial neural network comprising a three-dimensional integrated circuit
WO2023196000A1 (en) 2022-04-07 2023-10-12 Silicon Storage Technology, Inc. Vector-by-matrix-multiplication array utilizing analog inputs
WO2023196002A1 (en) 2022-04-07 2023-10-12 Silicon Storage Technology, Inc. Vector-by-matrix-multiplication array utilizing analog outputs
WO2023195999A1 (en) 2022-04-07 2023-10-12 Silicon Storage Technology, Inc. Artificial neural network comprising reference array for i-v slope configuration
US12014793B2 (en) * 2022-04-13 2024-06-18 Silicon Storage Technology, Inc. Method of screening non-volatile memory cells
WO2023250453A2 (en) * 2022-06-24 2023-12-28 Washington University Fowler-nordheim devices and methods and systems for continual learning and memory consolidation using fowler-nordheim devices
WO2024063792A1 (en) 2022-09-22 2024-03-28 Silicon Storage Technology, Inc. Verification method and system in artificial neural network array
US20240112729A1 (en) 2022-09-22 2024-04-04 Silicon Storage Technology, Inc. Multiple Row Programming Operation In Artificial Neural Network Array
WO2024063793A1 (en) 2022-09-22 2024-03-28 Silicon Storage Technology, Inc. Input circuit for artificial neural network array
US20240112003A1 (en) 2022-09-22 2024-04-04 Silicon Storage Technology, Inc. Output circuit for artificial neural network array

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104120A1 (en) * 2004-11-16 2006-05-18 Hemink Gerrit J High speed programming system with reduced over programming
US20090103361A1 (en) * 2007-05-04 2009-04-23 Lee Wang Level verification and adjustment for multi-level cell (mlc) non-volatile memory (nvm)
US20130044544A1 (en) * 2011-08-19 2013-02-21 Kabushiki Kaisha Toshiba Nonvolatile memory device
US20140054667A1 (en) * 2012-08-23 2014-02-27 Silicon Storage Technology, Inc. Split-Gate Memory Cell With Depletion-Mode Floating Gate Channel, And Method Of Making Same
US20160093382A1 (en) * 2014-09-29 2016-03-31 Kabushiki Kaisha Toshiba Memory device and method for operating the same
US20160180945A1 (en) * 2014-12-23 2016-06-23 SanDisk Technologies, Inc. Efficient scanning of nonvolatile memory blocks

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2603414B1 (fr) 1986-08-29 1988-10-28 Bull Sa Amplificateur de lecture
US5621336A (en) 1989-06-02 1997-04-15 Shibata; Tadashi Neuron circuit
JP3122756B2 (ja) 1991-01-12 2001-01-09 直 柴田 半導体装置
JPH0318985A (ja) 1989-06-16 1991-01-28 Hitachi Ltd 情報処理装置
US4961002A (en) 1989-07-13 1990-10-02 Intel Corporation Synapse cell employing dual gate transistor structure
KR920010344B1 (ko) 1989-12-29 1992-11-27 삼성전자주식회사 반도체 메모리 어레이의 구성방법
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
US5146602A (en) 1990-12-26 1992-09-08 Intel Corporation Method of increasing the accuracy of an analog neural network and the like
US5138576A (en) 1991-11-06 1992-08-11 Altera Corporation Method and apparatus for erasing an array of electrically erasable EPROM cells
EP0562737B1 (en) 1992-03-26 1998-06-17 Hitachi, Ltd. Flash memory
US5336936A (en) 1992-05-06 1994-08-09 Synaptics, Incorporated One-transistor adaptable analog storage element and array
US5264734A (en) 1992-05-19 1993-11-23 Intel Corporation Difference calculating neural network utilizing switched capacitors
US5256911A (en) 1992-06-10 1993-10-26 Intel Corporation Neural network with multiplexed snyaptic processing
US5386132A (en) 1992-11-02 1995-01-31 Wong; Chun C. D. Multimedia storage system with highly compact memory device
JP2835272B2 (ja) 1993-12-21 1998-12-14 株式会社東芝 半導体記憶装置
KR0151623B1 (ko) 1994-12-07 1998-10-01 문정환 이이피롬 셀 및 그 제조방법
US5825063A (en) 1995-03-07 1998-10-20 California Institute Of Technology Three-terminal silicon synaptic device
US5554874A (en) 1995-06-05 1996-09-10 Quantum Effect Design, Inc. Six-transistor cell with wide bit-line pitch, double words lines, and bit-line contact shared among four cells
US5721702A (en) 1995-08-01 1998-02-24 Micron Quantum Devices, Inc. Reference voltage generator using flash memory cells
US6683645B1 (en) 1995-12-01 2004-01-27 Qinetiq Limited Imaging system with low sensitivity to variation in scene illumination
US6222777B1 (en) 1999-04-09 2001-04-24 Sun Microsystems, Inc. Output circuit for alternating multiple bit line per column memory architecture
US6829598B2 (en) 2000-10-02 2004-12-07 Texas Instruments Incorporated Method and apparatus for modeling a neural synapse function by utilizing a single conventional MOSFET
US6563167B2 (en) 2001-01-05 2003-05-13 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with floating gates having multiple sharp edges
US6563733B2 (en) 2001-05-24 2003-05-13 Winbond Electronics Corporation Memory array architectures based on a triple-polysilicon source-side injection non-volatile memory cell
KR100983295B1 (ko) * 2002-03-22 2010-09-24 조지아 테크 리서치 코오포레이션 부동 게이트 아날로그 회로
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
JP2004171686A (ja) 2002-11-20 2004-06-17 Renesas Technology Corp 不揮発性半導体記憶装置およびそのデータ消去方法
US6822910B2 (en) 2002-12-29 2004-11-23 Macronix International Co., Ltd. Non-volatile memory and operating method thereof
US7630237B2 (en) * 2003-02-06 2009-12-08 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
US6856551B2 (en) 2003-02-06 2005-02-15 Sandisk Corporation System and method for programming cells in non-volatile integrated memory devices
CN1836289A (zh) * 2003-08-13 2006-09-20 皇家飞利浦电子股份有限公司 改进的电荷俘获非易失性存储器的擦除和读取方案
TWI220560B (en) 2003-10-27 2004-08-21 Powerchip Semiconductor Corp NAND flash memory cell architecture, NAND flash memory cell array, manufacturing method and operating method of the same
US7139198B2 (en) * 2004-01-27 2006-11-21 Sandisk Corporation Efficient verification for coarse/fine programming of non-volatile memory
KR100539247B1 (ko) * 2004-02-04 2005-12-27 삼성전자주식회사 스플릿 게이트형 비휘발성 반도체 메모리 소자 및 그제조방법
US7315056B2 (en) 2004-06-07 2008-01-01 Silicon Storage Technology, Inc. Semiconductor memory array of floating gate memory cells with program/erase and select gates
TWI270199B (en) 2005-01-31 2007-01-01 Powerchip Semiconductor Corp Non-volatile memory and manufacturing method and operating method thereof
US7656710B1 (en) * 2005-07-14 2010-02-02 Sau Ching Wong Adaptive operations for nonvolatile memories
US7304890B2 (en) 2005-12-13 2007-12-04 Atmel Corporation Double byte select high voltage line for EEPROM memory block
JP2007323716A (ja) * 2006-05-31 2007-12-13 Renesas Technology Corp 半導体集積回路
JP2008130182A (ja) * 2006-11-22 2008-06-05 Sharp Corp 不揮発性半導体記憶装置
US7630246B2 (en) 2007-06-18 2009-12-08 Micron Technology, Inc. Programming rate identification and control in a solid state memory
US20090039410A1 (en) 2007-08-06 2009-02-12 Xian Liu Split Gate Non-Volatile Flash Memory Cell Having A Floating Gate, Control Gate, Select Gate And An Erase Gate With An Overhang Over The Floating Gate, Array And Method Of Manufacturing
US7894267B2 (en) 2007-10-30 2011-02-22 Spansion Llc Deterministic programming algorithm that provides tighter cell distributions with a reduced number of programming pulses
US8289775B2 (en) * 2008-06-20 2012-10-16 Aplus Flash Technology, Inc. Apparatus and method for inhibiting excess leakage current in unselected nonvolatile memory cells in an array
US7852683B2 (en) 2008-07-02 2010-12-14 Sandisk Corporation Correcting for over programming non-volatile storage
JP2010267341A (ja) 2009-05-15 2010-11-25 Renesas Electronics Corp 半導体装置
US8325521B2 (en) 2010-10-08 2012-12-04 Taiwan Semiconductor Manufacturing Company, Ltd. Structure and inhibited operation of flash memory with split gate
US8892487B2 (en) 2010-12-30 2014-11-18 International Business Machines Corporation Electronic synapses for reinforcement learning
US8909576B2 (en) 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US8760955B2 (en) 2011-10-21 2014-06-24 Taiwan Semiconductor Manufacturing Company, Ltd. Electrical fuse memory arrays
US9275748B2 (en) 2013-03-14 2016-03-01 Silicon Storage Technology, Inc. Low leakage, low threshold voltage, split-gate flash cell operation
KR102125376B1 (ko) * 2013-07-01 2020-06-23 삼성전자주식회사 저장 장치 및 그것의 쓰기 방법
JP2015053098A (ja) * 2013-09-09 2015-03-19 株式会社東芝 不揮発性半導体記憶装置
US10095718B2 (en) 2013-10-16 2018-10-09 University Of Tennessee Research Foundation Method and apparatus for constructing a dynamic adaptive neural network array (DANNA)
US20150213898A1 (en) 2014-01-27 2015-07-30 Silicon Storage Technololgy, Inc. Byte Erasable Non-volatile Memory Architecture And Method Of Erasing Same
US20150324691A1 (en) * 2014-05-07 2015-11-12 Seagate Technology Llc Neural network connections using nonvolatile memory devices
US9286982B2 (en) 2014-08-08 2016-03-15 Silicon Storage Technology, Inc. Flash memory system with EEPROM functionality
US10312248B2 (en) 2014-11-12 2019-06-04 Silicon Storage Technology, Inc. Virtual ground non-volatile memory array
US9620216B2 (en) * 2015-02-17 2017-04-11 Silicon Storage Technology, Inc. Flash memory device configurable to provide read only memory functionality
CN105990367B (zh) 2015-02-27 2019-03-12 硅存储技术公司 具有rom单元的非易失性存储器单元阵列
WO2017200883A1 (en) * 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
US10269440B2 (en) 2016-05-17 2019-04-23 Silicon Storage Technology, Inc. Flash memory array with individual memory cell read, program and erase
WO2017200850A1 (en) 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Array of three-gate flash memory cells with individual memory cell read, program and erase
US9910827B2 (en) 2016-07-01 2018-03-06 Hewlett Packard Enterprise Development Lp Vector-matrix multiplications involving negative values
US10748059B2 (en) * 2017-04-05 2020-08-18 International Business Machines Corporation Architecture for an electrochemical artificial neural network
CN109522753B (zh) 2017-09-18 2020-11-06 清华大学 电路结构及其驱动方法、芯片及其认证方法、电子设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060104120A1 (en) * 2004-11-16 2006-05-18 Hemink Gerrit J High speed programming system with reduced over programming
US20090103361A1 (en) * 2007-05-04 2009-04-23 Lee Wang Level verification and adjustment for multi-level cell (mlc) non-volatile memory (nvm)
US20130044544A1 (en) * 2011-08-19 2013-02-21 Kabushiki Kaisha Toshiba Nonvolatile memory device
US20140054667A1 (en) * 2012-08-23 2014-02-27 Silicon Storage Technology, Inc. Split-Gate Memory Cell With Depletion-Mode Floating Gate Channel, And Method Of Making Same
US20160093382A1 (en) * 2014-09-29 2016-03-31 Kabushiki Kaisha Toshiba Memory device and method for operating the same
US20160180945A1 (en) * 2014-12-23 2016-06-23 SanDisk Technologies, Inc. Efficient scanning of nonvolatile memory blocks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI834397B (zh) * 2022-01-28 2024-03-01 美商超捷公司 包含類比陣列及數位陣列的人工神經網路

Also Published As

Publication number Publication date
EP3676840B1 (en) 2022-08-31
KR20200060739A (ko) 2020-06-01
JP2021504868A (ja) 2021-02-15
US10748630B2 (en) 2020-08-18
CN117292731A (zh) 2023-12-26
TW201933361A (zh) 2019-08-16
US20190164617A1 (en) 2019-05-30
CN111386572A (zh) 2020-07-07
CN111386572B (zh) 2023-11-21
EP3676840A4 (en) 2021-08-18
TWI740487B (zh) 2021-09-21
JP7210585B2 (ja) 2023-01-23
TW202030735A (zh) 2020-08-16
WO2019108334A1 (en) 2019-06-06
JP7492042B2 (ja) 2024-05-28
EP3676840A1 (en) 2020-07-08
EP4116979A1 (en) 2023-01-11
JP2023052302A (ja) 2023-04-11
KR102331445B1 (ko) 2021-12-02

Similar Documents

Publication Publication Date Title
TWI694448B (zh) 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法
US11829859B2 (en) Verification of a weight stored in a non-volatile memory cell in a neural network following a programming operation
TWI693610B (zh) 用於以快閃記憶體實作可組態卷積式類神經網路的系統及方法
CN113366503B (zh) 使用二栅极非易失性存储器单元阵列的神经网络分类器
JP7008167B1 (ja) 使用頻度に基づいてプログラム状態の分離を変更するためのメモリデバイス及び方法
CN113366504B (zh) 使用四栅极非易失性存储器单元阵列的神经网络分类器