TWI784642B - 類比神經記憶體中之同時寫入及驗證操作 - Google Patents
類比神經記憶體中之同時寫入及驗證操作 Download PDFInfo
- Publication number
- TWI784642B TWI784642B TW110127811A TW110127811A TWI784642B TW I784642 B TWI784642 B TW I784642B TW 110127811 A TW110127811 A TW 110127811A TW 110127811 A TW110127811 A TW 110127811A TW I784642 B TWI784642 B TW I784642B
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- memory
- block
- vmm
- volatile memory
- Prior art date
Links
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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- 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/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
-
- 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
- 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
-
- 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/12—Programming voltage switching 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/24—Bit-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/26—Sensing or reading circuits; Data output circuits
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
- Complex Calculations (AREA)
- Memory System (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
揭露能夠同時寫入及驗證操作之類比神經記憶體系統的許多具體例。在一些具體例中,同時操作發生在不同記憶庫的記憶體之間。在其它具體例中,同時操作發生在不同區塊的記憶體之間,其中每個區塊包括兩個或更多個記憶庫的記憶體。這些具體例顯著地減少在類比神經記憶體系統中權重寫入及驗證操作的時間耗費。
Description
[優先權主張]本申請案主張2020年8月25日提出申請之名稱為「類比神經記憶體中之同時寫入及驗證操作」的美國臨時專利申請案第63/070,051號及2021年3月2日提出申請之名稱為「類比神經記憶體中之同時寫入及驗證操作」的美國專利申請案第17/190,376號之優先權。
揭露能夠同時寫入及驗證操作之類比神經記憶體陣列及相關電路的許多具體例。
人工神經網路模擬生物神經網路(動物的中樞神經系統,特別是大腦)及用於估計或近似可依賴於大量輸入且通常是未知的函數。人工神經網路通常包括可彼此交換信息之互連的「神經元」層。
圖1說明人工神經網路,其中圓圈表示神經元輸入或層。連結(稱為突觸)以箭頭來表示,並且具有可根據經驗調整的數字權重。這使得人工神經網路適應於輸入且能夠學習。通常,人工神經網路包括一層多個輸入。通常有一個或多個神經元中間層及提供神經網路輸出的一個神經元輸出層。每個層級的神經元個別地或共同地根據從突觸接收的資料做出決定。
開發用於高性能資訊處理之人工神經網路的主要挑戰中之一是缺乏足夠的硬體技術。實際上,實際的人工神經網路依賴於非常大量的突觸,以使神經元之間的高連結性(亦即,非常高的計算並行性)成為可能。原則上,這樣的複雜性可以用數位超級電腦或專用圖形處理單元叢集來實現。然而,除了高成本之外,相較於生物網路,這些方法還遭受平庸的能量效率,其中生物網路消耗非常少的能量,主要是因為它們執行低精度類比計算。CMOS類比電路已經用於人工神經網路,但是有鑑於大量的神經元及突觸,大多數CMOS實施的突觸過於龐大。
申請人以前在美國專利申請案第15/594,439號(其被公開為美國專利公開第2017/0337466號)中揭露一種人工(類比)神經網路,其利用一個或多個非揮發性記憶體陣列作為突觸,上述美國專利申請案通過引用併入本文。非揮發性記憶體陣列作為類比神經形態記憶體來操作。如本文所使用,術語神經形態意指實施神經系統模型的電路。類比神經形態記憶體包括複數個第一突觸,其構造成接收複數個第一輸入並由此產生複數個第一輸出;以及複數個第一神經元,其構造成接收複數個第一輸出。複數個第一突觸包括複數個記憶體單元,其中每個記憶體單元包括間隔開的源極及汲極區域形成在半導體基板中,並且具有通道區域在其間延伸;浮動閘極,設置在通道區域的第一部分上方且與通道區域的第一部分絕緣;以及非浮動閘極,設置在通道區域的第二部分上方且與通道區域的第二部分絕緣。複數個記憶體單元中之每一個構造成儲存與浮動閘極上之一些電子相對應的權重值。複數個記憶體單元構造成將複數個第一輸入乘以儲存的權重值,以產生複數個第一輸出。以這種方式配置之記憶體單元陣列可以稱為向量矩陣乘法(VMM)陣列。可選地,記憶體單元為非揮發性記憶體單元。
現在將論述可以在VMM中使用之不同非揮發性記憶體單元的實例。
非揮發性記憶體單元
可以在VMM陣列中使用各種類型的已知非揮發性記憶體單元。例如,美國專利第5,029,130號(「'130專利」),在此通過參考併入本文,揭露一種分離式閘極非揮發性記憶體單元(一種類型的快閃記憶體單元)陣列。這樣的記憶體單元210顯示在圖2中。每個記憶體單元210包括在半導體基板12中形成之源極區域14及汲極區域16,並且在其間具有通道區域18。浮動閘極20形成在通道區域18的第一部分上方且與其絕緣(並控制其導電性),並且形成在源極區域14的一部分上方。字元線端子22(通常耦接至字元線)具有第一部分及第二部分,其中第一部分設置在通道區域18的第二部分上方且與其絕緣(並控制其導電性),而第二部分向上延伸且在浮動閘極20上方。浮動閘極20及字元線端子22藉由閘極氧化物與基板12絕緣。位元線端子24耦接至汲極區域16。
藉由在字元線端子22上施加高正電壓來抹除記憶體單元210(其中從浮動閘極移除電子),這導致浮動閘極20上的電子藉由富爾-諾罕穿隧(Fowler-Nordheim tunneling)從浮動閘極20隧穿中間絕緣體至字元線端子22。
藉由在字元線端子22上施加正電壓及在源極區域14上施加正電壓來程式化記憶體單元210(其中在浮動閘極上放置電子)。電子流將從汲極區域16流向源極區域14(源極線端子)。當電子到達字元線端子22與浮動閘極20之間的間隙時,電子將加速並被激發(被加熱)。由於來自浮動閘極20的靜電吸引力,一些加熱的電子將通過閘極氧化物注入至浮動閘極20上。
藉由在汲極區域16及字元線端子22上施加正讀取電壓(這會導通在字元線端子下方之通道區域18的部分)來讀取記憶體單元210。如果浮動閘極20帶正電(亦即,被抹除電子),則浮動閘極20下方之通道區域18的部分亦導通,並且電流將流過通道區域18,因而被感測為抹除狀態或狀態「1」。如果浮動閘極20帶負電(亦即,用電子來程式化),則浮動閘極20下方之通道區域的部分大部分地或完全地截止,並且電流不會流過(或者少數流過)通道區域18,因而被感測為程式化狀態或狀態「0」。
表1描繪可以施加至記憶體單元210的端子以執行讀取、抹除及程式化操作的典型電壓範圍:
表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。在程式化中以例如10V的高電壓施加偏壓於控制閘極端子28,在抹除中以例如0V/-8V的低電壓或負電壓施加偏壓於控制閘極端子28,在讀取中以例如0V/2.5V的低電壓或中間範圍電壓施加偏壓於控制閘極端子28。其它端子相似於圖2來施加偏壓。
圖4描繪四閘極記憶體單元410,包括源極區域14、汲極區域16、在通道區域18的第一部分上方之浮動閘極20、在通道區域18的第二部分上方之選擇閘極22(通常耦接至字元線WL)、在浮動閘極20上方之控制閘極28以及在源極區域14上方之抹除閘極30。這種組態被描述在美國專利第6,747,310號中,為了各種目的通過引用將其併入本文。這裡,除浮動閘極20外,所有閘極皆是非浮動閘極,這意味著它們電連接或可連接至電壓源。藉由將加熱的電子從通道區域18注入至浮動閘極20上來執行程式化。藉由電子從浮動閘極20隧穿至抹除閘極30來執行抹除。
表2描繪可以施加至記憶體單元410的端子以執行讀取、抹除及程式化操作的典型電壓範圍:
表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,除記憶體單元510不包含抹除閘極EG端子外,其相似於圖4的記憶體單元410。藉由將基板18偏壓於高電壓及以將控制閘極CG端子28偏壓於低電壓或負電壓來執行抹除。或者,藉由將字元線端子22偏壓於正電壓及以將控制閘極端子28偏壓於負電壓來執行抹除。程式化及讀取與圖4相似。
圖6描繪三閘極記憶體單元610,其為另一種類型的快閃記憶體單元。除記憶體單元610不具有單獨的控制閘極端子外,記憶體單元610與圖4的記憶體單元410相同。除沒有施加控制閘極偏壓外,抹除操作(藉由抹除閘極端子的使用來抹除)及讀取操作相似於圖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,其為另一種類型的快閃記憶體單元。除浮動閘極20在整個通道區域18上方延伸及控制閘極端子22(在此將耦接至字元線)在浮動閘極20上方延伸且以絕緣層(未顯示)隔開外,記憶體單元710相似於圖2的記憶體單元210。在緊鄰汲極區域16的通道區域中使用從通道18至浮動閘極20的熱電子注入來執行程式化,並且使用從浮動閘極20至基板12的Fowler-Nordheim電子穿隧來執行抹除。讀取操作以與先前針對記憶體單元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之陣列中,源極線可以耦接至一列記憶體單元或兩列相鄰的記憶體單元。亦即,源極線端子可以由相鄰列的記憶體單元共用。
圖8描繪雙分離式閘極記憶體單元810。雙分離式閘極記憶體單元810包括浮動閘極(FG)20,設置在基板12上方且與基板12絕緣; 控制閘極(CG)28,設置在浮動閘極20上方且與浮動閘極20絕緣;抹除閘極(EG)30,設置成與浮動及控制閘極20/28相鄰且與浮動及控制閘極20/28絕緣,並且設置在基板12上方且與基板12絕緣,其中抹除閘極30形成有T型形狀,使得控制閘極28的頂角面向T型抹除閘極30的內角,以提高抹除效率;以及汲極區域(DR)16,在基板12中與浮動閘極20相鄰(具有連接至汲極擴散區域(DR)16的位元線接點24(BL))。將記憶體單元形成為多個記憶體單元對(左側的A及右側的B),共用共同抹除閘極30。這種單元設計與以上圖2-7所論述之記憶體單元的不同至少在於:它在抹除閘極30下方缺少源極區域,缺少選擇閘極(亦稱為字元線),並且缺少用於每個記憶體單元的通道區域。取而代之的是,單個連續通道區域18在兩個記憶體單元下方延伸(亦即,從一個記憶體單元的汲極區域16延伸至另一個記憶體單元的汲極區域16)。為了讀取或程式化一個記憶體單元,將另一個記憶體單元的控制閘極28提升至足夠的電壓,以藉由耦合至控制閘極28與通道區域18之間的浮動閘極20之電壓來導通下面的通道區域部分(例如,為了讀取或程式化單元A,藉由來自CGB的電壓耦合來增加FGB上的電壓,以導通在FGB下方的通道區域部分)。使用從浮動閘極20至抹除閘極30的Fowler Nordheim電子穿隧來執行抹除。使用從通道區域18至浮動閘極20的熱電子注入來執行程式化,這在表5中被表示為程式化1。或者,使用從抹除閘極30至浮動閘極20的Fowler Nordheim電子穿隧來執行程式化,這在表5中被表示為程式化2。或者,使用從通道區域18至浮動閘極20的Fowler Nordheim電子穿隧來執行程式化,在這種情況下,除了將基板12偏壓於低電壓或負電壓,而將抹除閘極30偏壓於低正電壓外,條件類似於程式化2。
表5描繪可以施加至雙分離式閘極記憶體單元810的端子以執行讀取、抹除及程式化操作的典型電壓範圍:
表5:圖8的快閃記憶體單元810之操作
| CGA | BLA | EG | CGB | BLB | |
| 讀取 | 1.5-4V | 0.1-0.8V | 2.5V | 1.5-4V | 0 |
| 抹除 | 0V至-8V | 0V | 8V至11.5V | 0V至4V (Vcginhe) | 0V |
| 程式化1 | 10.5V | 4.5V | 1.5V | 4 | Iprog |
| 程式化2 | 4V至11.5V | 0V | -4V至-11.5V | 0V至-2V (Vcginhp) | 0V |
為了在人工神經網路中利用包括上述類型的非揮發性記憶體單元中之一的記憶體陣列,實施兩種修改。第一,如下面進一步說明,線路配置成使得每個記憶體單元可以個別地被程式化、抹除及讀取,而不會不利地影響陣列中之其它記憶體單元的記憶狀態。第二,提供記憶體單元的連續(類比)程式化。
具體地,陣列中之每個記憶體單元的記憶狀態(亦即,浮動閘極上的電荷)可以獨立地且以對其它記憶體單元的最小干擾從完全抹除狀態連續地變成完全程式化狀態。在另一個具體例中,陣列中之每個記憶體單元的記憶狀態(亦即,浮動閘極上的電荷)可以獨立地且以對其它記憶體單元的最小干擾從完全程式化狀態連續地變成完全抹除狀態,反之亦然。這意味著單元儲存係類比的,或者至少可以儲存許多離散值(例如,16或64個不同值)中之一個,這允許對記憶體陣列中之所有單元進行非常精確且個別的調整,並且這使記憶體陣列非常適合儲存神經網路的突觸權重及對其進行微調。
本文所述之方法及手段可以應用於其它非揮發性記憶體技術,例如,FINFET分離式閘極快閃或堆疊式閘極快閃記憶體、NAND快閃記憶體、SONOS(矽-氧化物-氮化物-氧化物-矽,氮化物中的電荷捕捉)、MONOS(金屬-氧化物-氮化物-氧化物-矽,氮化物中的金屬電荷捕捉)、ReRAM(電阻式ram)、PCM(相變化記憶體)、MRAM(磁性ram)、FeRAM(鐵電ram)、OTP(雙層或多層一次性可程式)以及CeRAM(關聯電子ram),但不限於此。本文描述的方法及手段可以應用於神經網路中使用之揮發性記憶體技術,例如,SRAM、DRAM及其他揮發性突觸單元,但不限於此。
使用非揮發性記憶體單元陣列的神經網路
圖9概念性地說明利用本具體例的非揮發性記憶體陣列之神經網路的非限制性實例。此實例將非揮發性記憶體陣列神經網路用於臉部辨識應用,但是可以基於神經網路使用非揮發性記憶體陣列來實施任何其它適當的應用。
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的特徵圖(feature maps)其中之一的一個像素。然後,在輸入層S0內將3×3濾波器向右移動一個像素(亦即,添加在右側之三個像素的行及丟棄在左側之三個像素的行),藉以將這個新定位的濾波器中之9個像素值提供給突觸CB1,其中將它們乘以相同的權重,並且由相關的突觸確定第二個單一輸出值。持續這個過程,直到3×3濾波器針對所有三種顏色及所有位元(精度值)掃描輸入層S0的整個32×32像素影像為止。然後,使用不同組的權重重複這個過程,以產生層C1的一個不同特徵圖,直到已經計算層C1的所有特徵圖為止。
在層C1處,在本實例中,具有16個特徵圖,每個特徵圖有30×30像素。每個像素是從輸入與核心相乘得到之新特徵像素,因此每個特徵圖是二維陣列,因此在這個實例中,層C1構成16層二維陣列(記住這裡引用的層及陣列是邏輯關係,不一定是實體關係,亦即,陣列不一定以實體二維陣列來定向)。層C1中之16個特徵圖的每個特徵圖由應用於濾波器掃描之16組不同的突觸權重中之一組來產生。C1特徵圖可以全部有關於同一個影像特徵的不同態樣,例如邊界識別。例如,第一圖(使用第一組權重所產生,第一組權重對用於產生此第一圖的所有掃描係共用的)可以識別圓形邊緣,第二圖(使用與第一組權重不同的第二組權重所產生)可以識別矩形邊緣或某些特徵的長寬比等等。
在從層C1到層S1之前應用激勵函數P1(池化(pooling)),其對來自每個特徵圖中之連續的非重疊2×2區域的數值進行池化。池化函數的目的是算出附近位置的平均值(或者亦可以使用最大值函數),以減少例如邊緣位置的依賴性及在進入下一階段之前減小資料大小。在層S1處,具有16個15×15特徵圖(亦即,16個不同陣列,每個陣列有15×15像素)。從層S1到層C2的突觸CB2用4×4濾波器掃描層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個神經元,其中最高輸出神經元確定類別。此輸出可能例如表示原始影像的內容之識別或分類。
使用一個陣列的非揮發性記憶體單元或一個陣列的非揮發性記憶體單元之一部分來實施每層突觸。
圖10係可用於那個目的之系統的方塊圖。VMM系統32包括非揮發性記憶體單元,並用作一層與下一層之間的突觸(例如,圖9中之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的輸出被供應至差分加法器(例如,加總運算放大器或加總電流鏡)38,其將VMM陣列33的輸出加總,以產生用於卷積(convolution)的單一數值。差分加法器38配置成執行正權重輸入與負權重輸入的總和,以輸出所述單一數值。
然後,將差分加法器38之加總的輸出值供應至激勵函數電路39,其對輸出進行整流。激勵函數電路39可以提供sigmoid、tanh、ReLU函數或任何其它非線性函數。激勵函數電路39之經整流的輸出值變成作為下一層(例如,圖9中之C1)之特徵圖的元素,然後應用於下一個突觸,以產生下一個特徵圖層或最後一層。因此,在此實例中,VMM陣列33構成複數個突觸(其從先前的神經元層或從諸如影像資料庫的輸入層接收它們的輸入),並且加法器38及激勵函數電路39構成複數個神經元。
圖10中至VMM系統32的輸入(WLx、EGx、CGx以及任選的BLx及SLx)可以是類比位準、二進制位準、數位脈衝(在這種情況下,可能需要脈衝至類比轉換器PAC,以將脈衝轉換為適當的輸入類比位準)或數位位元(在這種情況下,提供DAC,以將數位位元轉換為適當的輸入類比位準),並且輸出可以是類比位準(例如,電流、電壓或電荷)、二進制位準、數位脈衝或數位位元(在這種情況下,提供輸出ADC,以將輸出類比位準轉換為數位位元)。
圖11係描繪許多層的VMM系統32之使用的方塊圖,這裡標記為VMM系統32a、32b、32c、32d及32e。如圖11所示,藉由數位至類比轉換器31將輸入(表示為Inputx)從數位轉換成類比,並提供至輸入VMM系統32a。經轉換的類比輸入可以是電壓或電流。用於第一層的輸入D/A轉換可以藉由使用函數或LUT(查找表)來完成,LUT(查找表)將輸入Inputx映射至用於輸入VMM系統32a的矩陣乘數之適當類比位準。輸入轉換亦可以藉由類比至類比(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亦可以對其陣列或神經元的各個部分進行時間多工。圖11所示的實例包含五層(32a、32b、32c、32d、32e):一個輸入層(32a)、兩個隱藏層(32b、32c)及兩個完全連接層(32d、32e)。所屬技術領域之具通常技藝人士將理解,這僅僅是示例性的,並且系統反而可以包括超過兩個隱藏層及超過兩個完全連接層。
VMM陣列
圖12描繪神經元VMM陣列1200,其特別適用於圖3中所示之記憶體單元310,並且用作輸入層與下一層之間的突觸及神經元的零件。VMM陣列1200包括非揮發性記憶體單元的記憶體陣列1201及非揮發性參考記憶體單元的參考陣列1202(在陣列的上方)。或者,可以在底部放置另一個參考陣列。
在VMM陣列1200中,諸如控制閘極線1203的控制閘極線在垂直方向上延伸(因此,在列方向上的參考陣列1202與控制閘極線1203正交),並且諸如抹除閘極線1204的抹除閘極線在水平方向延伸。這裡,在控制閘極線(CG0、CG1、CG2、CG3)上提供對VMM陣列1200的輸入,而VMM陣列1200的輸出出現在源極線(SL0、SL1)上。在一個具體例中,僅使用偶數列,而在另一個具體例中,僅使用奇數列。在每條源極線(SL0、SL1)上之電流執行來自連接至那條特定源極線之記憶體單元的所有電流之加總函數。
如本文針對神經網路所述,VMM陣列1200的非揮發性記憶體單元(亦即,VMM陣列1200的記憶體單元310)較佳地配置成在次臨界區域中操作。
在弱倒轉中施加偏壓於本文所述之非揮發性參考記憶體單元及非揮發性記憶體單元:
Ids=Io*e
(Vg-Vth)/nVt=w*Io*e
(Vg)/nVt,
其中w=e
(-Vth)/nVt,
其中Ids係汲極至源極電流;Vg係在記憶體單元上的閘極電壓;Vth係記憶體單元的臨界電壓;Vt係熱電壓=k*T/q,其中k係波茲曼常數,T係克氏溫度,q係電荷;n係斜率因數=1+(Cdep/Cox),其中Cdep=空乏層的電容,Cox係閘極氧化層的電容;Io係閘極電壓等於臨界電壓時的記憶體單元電流,Io與(Wt/L)*u*Cox*(n-1)*Vt
2成比例,其中u係載子遷移率,Wt及L分別是記憶體單元的寬度及長度。
對於使用記憶體單元(例如,參考記憶體單元或周邊記憶體單元)或電晶體將輸入電流Ids轉換成輸入電壓Vg之I至V對數轉換器:
Vg=n*Vt*log[Ids/wp*Io]
在此,wp係參考或周邊記憶體單元的w。
對於使用記憶體單元(例如,參考記憶體單元或周邊記憶體單元)或電晶體將輸入電流Ids轉換成輸入電壓Vg之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)/nVtIin=wp*Io*e
(Vg)/nVt在此,wa=記憶體陣列中的每一記憶體單元的w。
字元線或控制閘極可以用作為用於輸入電壓之記憶體單元的輸入。
或者,本文所述之VMM陣列的非揮發性記憶體單元可以配置成在線性區域中操作:
Ids=beta*(Vgs-Vth)*Vds;beta=u*Cox*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陣列的記憶體單元可以用於神經網路的每個層或多個層之所有區域或其組合中(次臨界、線性或飽和)。
圖13描繪神經元VMM陣列1300,其特別適用於圖2所示之記憶體單元210,並且用以作為輸入層與下一層之間的突觸。VMM陣列1300包括非揮發性記憶體單元的記憶體陣列1303、第一非揮發性參考記憶體單元的參考陣列1301及第二非揮發性參考記憶體單元的參考陣列1302。配置在陣列的行方向上之參考陣列1301及1302用於將流入端子BLR0、BLR1、BLR2及BLR3的電流輸入轉換成電壓輸入WL0、WL1、WL2及WL3。實際上,第一及第二非揮發性參考記憶體單元係以二極體形式經由多工器1314(僅部分被描繪)與流入它們的電流輸入連接。將參考單元調整(例如,程式化)至目標參考位準。目標參考位準由參考微型陣列矩陣(未顯示)來提供。
記憶體陣列1303提供兩個用途。第一,它儲存將被VMM陣列1300使用在其個別記憶體單元上的權重。第二,記憶體陣列1303有效地將輸入(亦即,在端子BLR0、BLR1、BLR2及BLR3中提供的電流輸入,參考陣列1301及1302將該電流輸入轉換成輸入電壓,以供應至字元線WL0、WL1、WL2及WL3)乘以記憶體陣列1303中所儲存之權重,然後將所有結果(記憶體單元電流)相加,以在各自的位元線(BL0-BLN)上產生輸出,該輸出將是下一層的輸入或最後一層的輸入。藉由執行乘法及加法函數,記憶體陣列1303不需要個別的乘法及加法邏輯電路,並且還具有功率效率。這裡,電壓輸入被提供在字元線WL0、WL1、WL2及WL3上,並且輸出在讀取(推斷)操作期間出現在位元線BL0-BLN上。在位元線BL0-BLN的每條位元線上之電流執行來自連接至那條特定位元線之所有非揮發性記憶體單元的電流之加總函數。
表6描繪VMM陣列1300的操作電壓。表中之行表示在被選單元的字元線、未被選單元的字元線、被選單元的位元線、未被選單元的位元線、被選單元的源極線及未被選單元的源極線上之電壓,其中FLT表示浮動,亦即,未強加電壓。列表示讀取、抹除及程式化的操作。
表6:圖13的VMM陣列1300之操作
| WL | WL-unsel | BL | BL-unsel | SL | SL-unsel | |
| 讀取 | 0.5-3.5V | -0.5V/0V | 0.1-2V(I神經元) | 0.6V-2V/FLT | 0V | 0V |
| 抹除 | ~5-13V | 0V | 0V | 0V | 0V | 0V |
| 程式化 | 1-2V | -0.5V/0V | 0.1-3uA | Vinh~2.5V | 4-10V | 0-1V/FLT |
圖14描繪神經元VMM陣列1400,其特別適用於圖2所示之記憶體單元210,並且用以作為輸入層與下一層之間的突觸及神經元的零件。VMM陣列1400包括非揮發性記憶體單元的記憶體陣列1403、第一非揮發性參考記憶體單元的參考陣列1401及第二非揮發性參考記憶體單元的參考陣列1402。參考陣列1401及1402在VMM陣列1400的列方向上延伸。除了在VMM陣列1400中,字元線在垂直方向上延伸外,VMM陣列與VMM 1300相似。這裡,在字元線(WLA0、WLB0、WLA1、WLB1、WLA2、WLB2、WLA3、WLB3)上提供輸入,並且在讀取操作期間輸出在源極線(SL0,SL1)上呈現。在每條源極線上之電流執行來自連接至那條特定源極線之記憶體單元的所有電流之加總函數。
表7描繪VMM陣列1400的操作電壓。表中之行表示在被選單元的字元線、未被選單元的字元線、被選單元的位元線、未被選單元的位元線、被選單元的源極線及未被選單元的源極線上之電壓。列表示讀取、抹除及程式化的操作。
表7:圖14的VMM陣列1400之操作
| WL | WL-unsel | BL | BL-unsel | SL | SL-unsel | |
| 讀取 | 0.5-3.5V | -0.5V/0V | 0.1-2V | 0.1V-2V/FLT | ~0.3-1V (I神經元) | 0V |
| 抹除 | ~5-13V | 0V | 0V | 0V | 0V | SL-禁止(~4-8V) |
| 程式化 | 1-2V | -0.5V/0V | 0.1-3uA | Vinh~2.5V | 4-10V | 0-1V/FLT |
圖15描繪神經元VMM陣列1500,其特別適用於圖3所示之記憶體單元310,並且用以作為輸入層與下一層之間的突觸及神經元的零件。VMM陣列1500包括非揮發性記憶體單元的記憶體陣列1503、第一非揮發性參考記憶體單元的參考陣列1501及第二非揮發性參考記憶體單元的參考陣列1502。參考陣列1501及1502用於將流入端子BLR0、BLR1、BLR2及BLR3的電流輸入轉換成電壓輸入CG0、CG1、CG2及CG3。實際上,第一及第二非揮發性參考記憶體單元係以二極體形式經由多工器1512(僅部分被顯示)與經由BLR0、BLR1、BLR2及BLR3流入它們的電流輸入連接。多工器1512各自包括各自的多工器1505及疊接電晶體1504,以在讀取操作期間確保第一及第二非揮發性參考記憶體單元中之每一者的位元線(諸如BLR0)上的恆定電壓。將參考單元調整至目標參考位準。
記憶體陣列1503提供兩個用途。第一,它儲存將被VMM陣列1500使用的權重。第二,記憶體陣列1503有效地將輸入(被提供至端子BLR0、BLR1、BLR2及BLR3的電流輸入,參考陣列1501及1502將這些電流輸入轉換成輸入電壓,以供應至控制閘極(CG0、CG1、CG2及CG3))乘以記憶體陣列中所儲存之權重,然後將所有結果(單元電流)相加,以產生輸出,該輸出顯現在BL0-BLN上且將是下一層的輸入或最後一層的輸入。藉由執行乘法及加法函數,記憶體陣列不需要個別的乘法及加法邏輯電路,並且還具有功率效率。這裡,在控制閘極線(CG0、CG1、CG2及CG3)上提供輸入,並且輸出在讀取操作期間出現在位元線(BL0-BLN)上。在每條位元線上之電流執行來自連接至那條特定位元線之記憶體單元的所有電流之加總函數。
VMM陣列1500針對記憶體陣列1503中之非揮發性記憶體單元實施單向調整。亦即,抹除及然後部分程式化每個非揮發性記憶體單元,直到達到浮動閘極上之期望電荷為止。如果使太多電荷置於浮動閘極上(使得錯誤值儲存在單元中),則抹除單元並且重新開始部分程式化操作的順序。如圖所示,共用同一個抹除閘極(例如,EG0或EG1)的兩列一起被抹除(稱為頁抹除),之後,部分程式化每個單元,直到達到浮動閘極上之期望電荷為止。
表8描繪VMM陣列1500的操作電壓。表中之行表示在被選單元的字元線、未被選單元的字元線、被選單元的位元線、未被選單元的位元線、被選單元的控制閘極、與被選單元相同的區段中之未被選單元的控制閘極、與被選單元不同的區段中之未被選單元的控制閘極、被選單元的抹除閘極、未被選單元的抹除閘極、被選單元的源極線及未被選單元的源極線上之電壓。列表示讀取、抹除及程式化的操作。
表8:圖15的VMM陣列1500之操作
| WL | WL- unsel | BL | BL- unsel | CG | 同區段CG- unsel | CG- unsel | EG | EG- unsel | SL | SL- unsel | |
| 讀取 | 0.5-2V | -0.5V/0V | 0.1-2V (I神經元) | 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-1uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
圖16描繪神經元VMM陣列1600,其特別適用於圖3所示之記憶體單元310,並且用以作為輸入層與下一層之間的突觸及神經元的零件。VMM陣列1600包括非揮發性記憶體單元的記憶體陣列1603、第一非揮發性參考記憶體單元的參考陣列1601及第二非揮發性參考記憶體單元的參考陣列1602。EG線EGR0、EG0、EG1及EGR1垂直延伸,而CG線CG0、CG1、CG2及CG3以及SL線WL0、WL1、WL2及WL3水平延伸。除VMM陣列1600實施雙向調整外,VMM陣列1600與VMM陣列1500相似,其中每個個別單元可以完全被抹除、部分被程式化及根據需要部分被抹除,以由於個別EG線的使用而在浮動閘極上達到所需的電荷量。如圖所示,參考陣列1601及1602將端子BLR0、BLR1、BLR2及BLR3中之輸入電流轉換成要施加至列方向上的記憶體單元之控制閘極電壓CG0、CG1、CG2及CG3(經由多工器1614通過以二極體形式連接之參考單元的作用)。電流輸出(神經元)位於位元線BL0-BLN中,其中每條位元線將來自與那條特定位元線連接之非揮發性記憶體單元的所有電流加總。
表9描繪VMM陣列1600的操作電壓。表中之行表示在被選單元的字元線、未被選單元的字元線、被選單元的位元線、未被選單元的位元線、被選單元的控制閘極、與被選單元相同的區段中之未被選單元的控制閘極、與被選單元不同的區段中之未被選單元的控制閘極、被選單元的抹除閘極、未被選單元的抹除閘極、被選單元的源極線及未被選單元的源極線上之電壓。列表示讀取、抹除及程式化的操作。
表9:圖16的VMM陣列1600之操作
| WL | WL- unsel | BL | BL- unsel | CG | 同區段 CG-unsel | CG- unsel | EG | EG- unsel | SL | SL- unsel | |
| 讀取 | 1.0-2V | -0.5V/0V | 0.6-2V (I神經元) | 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-1uA | Vinh (1-2V) | 4-11V | 0-2.6V | 0-2.6V | 4.5-5V | 0-2.6V | 4.5-5V | 0-1V |
VMM陣列的輸入可以是類比位準、二進制位準、時序脈衝或數位位元,而輸出可以是類比位準、二進制位準、時序脈衝或數位位元(在這種情況下,需要輸出ADC將輸出類比位準電流或電壓轉換為數位位元)。
對於一個VMM陣列中之每個記憶體單元,每個權重W可以由單一記憶體單元或由一個差分單元或由兩個混合記憶體單元(平均2個以上單元)來實施。在差分單元的情況下,需要兩個記憶體單元來實施權重W成為差分權重(W=W+–W-)。在兩個混合記憶體單元方面,需要兩個記憶體單元來實施權重w成為兩個單元的平均值。
習知技藝VMM系統的一個挑戰是將所需的類比值儲存在一個單元中-其包括一個或多個寫入及驗證操作序列-可能花費相對大量的時間,因為相較於只能儲存兩個可能值(亦即,1及0)之傳統記憶體陣列需要更高的精度。在此,寫入操作包括抹除操作、程式化操作、或抹除操作與程式化操作兩者,而驗證操作是用於確認寫入操作被正確執行之讀取操作。
需要一種可減少用於將所需的類比值儲存在被選非揮發性記憶體單元中的時間耗費(timing overhead)之改進的VMM系統。再者,希望有一種VMM系統,這種VMM系統可以寫入在VMM陣列中的記憶體單元(例如,以在神經網路中執行權重更新),且同時讀取VMM 陣列中的其它記憶體單元(例如,以在權重調整操作期間執行驗證操作或對神經網路進行推斷)。
揭露能夠同時寫入及驗證或讀取操作之VMM系統電路的許多具體例。「寫入」意指例如藉由程式化及/或抹除記憶體單元來改變儲存在記憶體單元中之權重的操作。「驗證」意指感測記憶體單元的輸出(例如,單元電流)並確認其已達到目標之操作。「讀取」意指感測記憶體單元的輸出之操作。在一些具體例中,同時寫入及驗證或讀取操作發生在不同記憶庫的記憶體之間。在其它具體例中,同時寫入及驗證或讀取操作發生在不同區塊的記憶體之間,其中每個區塊包括兩個或更多個記憶庫的記憶體。這些具體例顯著地減少在VMM陣列中權重寫入及驗證或讀取操作的時間耗費。在一個具體例中,一種類比神經記憶體系統包括:一第一記憶庫,包括一第一陣列的非揮發性記憶體單元;一第二記憶庫,包括一第二陣列的非揮發性記憶體單元;寫入電路,由該第一記憶庫及該第二記憶庫共用;感測電路,由該第一記憶庫及該第二記憶庫共用;以及控制電路,用於同時地使用該寫入電路對該第一記憶庫及該第二記憶庫中之一執行一寫入操作且使用該感測電路對該第一記憶庫及該第二記憶庫中之另一者執行一驗證操作。
在另一個具體例中,揭露一種在一類比神經記憶體中執行同時寫入及驗證操作之方法,該類比神經記憶體包括一第一記憶庫及一第二記憶庫,該第一記憶庫包括一第一陣列的非揮發性記憶體單元,而該第二記憶庫包括一第二陣列的非揮發性記憶體單元。該方法包括同時對該第一記憶庫及該第二記憶庫中之一執行一寫入操作且對該第一記憶庫及該第二記憶庫中之另一者執行一驗證操作。
在另一個具體例中,一種類比神經記憶體系統包括:一第一區塊,包括兩個或更多個記憶庫的非揮發性記憶體單元,每個記憶庫包括一陣列的非揮發性記憶體單元;一第二區塊,包括兩個或更多個記憶庫的非揮發性記憶體單元,每個記憶庫包括一陣列的非揮發性記憶體單元;以及控制電路,用於同時對該第一區塊及該第二區塊中之一執行一寫入操作且對該第一區塊及該第二區塊中之另一者執行一驗證操作。
在另一個具體例中,揭露一種在一類比神經記憶體中執行同時寫入及驗證操作之方法,該類比神經記憶體包括一第一區塊及一第二區塊,該第一區塊包括兩個或更多個記憶庫的非揮發性記憶體單元,並且該第二區塊包括兩個或更多個記憶庫的非揮發性記憶體單元。該方法包括同時對該第一區塊及該第二區塊中之一執行一寫入操作且對該第一區塊及該第二區塊中之另一者執行一讀取操作。
在另一個具體例中,揭露一種在一神經網路中執行同時寫入及驗證或讀取操作之方法,該神經網路包括多個向量矩陣乘法(VMM)陣列的記憶體單元。該方法包括對不同的VMM陣列同時執行一寫入操作及一驗證或讀取操作。
本發明之類比神經網路的VMM系統利用CMOS技術與非揮發性記憶體陣列的組合。
改進的VMM系統之具體例
圖17A描繪VMM系統1700的方塊圖。VMM系統1700包括記憶庫1731及記憶庫1732。記憶庫1731包括VMM陣列1701、DAC(數位至類比轉換器)及列解碼器(列輸入電路)1702、高電壓解碼器1703以及行解碼器1704。記憶庫1732包括VMM陣列1705、DAC及列解碼器1706、高電壓解碼器1707以及行解碼器1708。DAC及列解碼器1702用於例如在神經讀取(神經網路的推斷操作)期間將列輸入數位位元轉換成要被施加至VMM陣列1701的類比偏壓/時序。
VMM系統1700進一步包括高電壓HV產生區塊1710,其包括電荷泵1711、電荷泵調節器1712及高電壓位準產生器1713。VMM系統1700進一步包括低電壓LV產生區塊1718、演算法控制器1714、類比電路1715、控制邏輯1716及測試控制邏輯1717。
VMM系統1700進一步包括感測電路(位元線/行輸出電路)1721及(行)寫入電路1722,兩者由VMM1701及VMM1705來共用。感測電路1721包括用於驗證及用於神經讀取(用於推斷,例如包括類比至數位ADC電路)的電路。寫入電路1722控制記憶體單元至權重目標(單元電流目標)的程式化/抹除,例如控制位元線偏壓或可程式電流位準。因此,在圖17B中,感測電路1721在VMM陣列1701的驗證或讀取操作期間耦接至VMM陣列1701,而寫入電路1722在VMM陣列1705的寫入操作(程式化或抹除)期間耦接至VMM陣列1705。同樣地,在圖17C中,感測電路1721在VMM陣列1705的驗證或讀取操作期間耦接至VMM陣列1705,而寫入電路1722在VMM陣列1701的寫入操作期間耦接至VMM陣列1701。
再次參考圖17A,區塊1741是一個邏輯單元,其包括記憶庫1731、記憶庫1732、感測電路1721及寫入電路1722。
圖18A描繪VMM系統1800,它是圖17的VMM系統1700的變型。VMM系統1800包括與VMM系統1700相同的組件,並且具有兩倍的VMM陣列及相關電路。雖然VMM系統1800被描繪為具有兩倍的VMM陣列,但是這絕不是意味著限定用,並且在沒有超出範圍的情況下可以提供任何數量的VMM陣列。因此,VMM系統1800進一步包括記憶庫1831及記憶庫1832。記憶庫1831包括VMM陣列1801、DAC及列解碼器(列輸入電路)1802、高電壓解碼器1803以及行解碼器1804。記憶庫1832包括VMM陣列1805、DAC及列解碼器1806、高電壓解碼器1807以及行解碼器1808。VMM系統1800進一步包括感測電路1821及寫入電路1822,兩者由VMM 1801及VMM 1805來共用。
高電壓產生區塊1710、低電壓產生區塊1718、演算法控制器1714、類比電路1715、控制邏輯1716及測試控制邏輯1717由VMM陣列1701、1705、1801及1805來共用。
區塊1841是包括記憶庫1831、記憶庫1832、感測電路1821及寫入電路1822的邏輯單元。
圖18B再次描繪VMM系統1800。在此,區塊1851是包括記憶庫1731、1732、1831及1832;感測電路1721及1821;以及寫入電路1722及1822的邏輯單元。因此,如本文所使用,「區塊」可以由兩個記憶庫或超過兩個記憶庫組成。
圖19描繪用於在遍及多個記憶庫(例如,圖17-18中所示的那些記憶庫)上執行同時驗證及寫入操作的控制信號1900,該多個記憶庫可以使用在類比神經記憶體系統中。控制信號1900由控制邏輯1716、演算法控制器1714、高電壓產生區塊1710及低電壓產生區塊1718的組合產生,它們可以一起或部分地稱為控制電路1903。在此實例中,將記憶庫劃分成數組-組1901(包括第一記憶庫及可能的其它記憶庫)及組1902(包括第二記憶庫及可能的其它記憶庫)。回應控制信號1900,當正在使用寫入電路(例如,寫入電路1722或1822,未顯示)寫入(以wrt來表示)記憶庫組1901時,正在使用感測電路(例如,感測電路1721或1821,未顯示)驗證(讀取)(以vfy來表示)記憶庫組1902。回應控制信號1900,當正在驗證(或讀取)記憶庫組1901時,正在寫入(程式化或抹除)記憶庫組1902。藉由在記憶庫上同時操作而不是依序操作,程式化及驗證過程的總時間可減少一半。
圖20描繪用於在遍及多個記憶庫上執行同時驗證及寫入操作的控制信號2000。包括控制信號2010及2020的控制信號2000由控制邏輯1716、演算法控制器1714、高電壓產生區塊1710及低電壓產生區塊1718的組合產生,它們同樣可以一起或部分地稱為控制電路1903。在此實例中,將記憶庫劃分成數組-組2001(例如,可以包括第一記憶庫及可能的其它記憶庫)、組2002(例如,可以包括第二記憶庫及可能的其它記憶庫)、組2003(例如,可以包括第三記憶庫及可能的其它記憶庫)以及組2004(例如,可以包括第四記憶庫及可能的其它記憶庫)。回應控制信號2010,當正在使用寫入電路(例如,寫入電路1722或1822,未顯示)寫入記憶庫組2001時,正在使用感測電路(例如,感測電路1721或1821,未顯示)驗證(或讀取)記憶庫組2002。回應控制信號2010,當正在驗證(或讀取)記憶庫組2001時,正在寫入記憶庫組2002,而當正在寫入記憶庫組2001時,正在驗證(或讀取)記憶庫組2002。回應控制信號2020,當正在寫入及驗證(或讀取)記憶庫組2003時,例如為了推斷神經網路操作正在讀取(或驗證)記憶庫組2004,並且當正在寫入記憶庫組2003時 ,正在驗證(或讀取)記憶庫組2004。藉由在區塊上同時操作而不是依序操作,程式化及驗證過程的總時間可減少一半。並且,藉由在區塊上同時操作,神經網路的某個部分可以執行神經讀取(為了推斷),而其它部分例如為了權重更新而執行寫入操作。
圖21顯示圖20的一個實施例。VMM系統2100包括區塊陣列,區塊陣列的第一列包括區塊 2101
0,0、…、2101
0,m,以及區塊陣列的最後一列包括區塊2101
n,0、…、2101
n,m,其中m是VMM系統2100中之區塊的整數行數,而n是VMM系統2100中之區塊的整數列數。在此實例中,參考圖20,區塊2101
0,0、2101
n,0、2101
n,m(以及未顯示之陣列中的某些其它區塊)是在區塊的組2001中,而區塊2101
0,m(以及未顯示之陣列中的某些其它區塊)是在區塊的組2002中。在圖21中捕獲的特定時刻,在組2001中的區塊(例如,可以包括第一區塊,第一區塊包括兩個或更多個記憶庫的非揮發性記憶體單元,每個記憶庫包括一個非揮發性記憶體單元陣列)正在被寫入,而在組2002中的區塊(例如,可以包括第二區塊,第二區塊包括兩個或更多個記憶庫的非揮發性記憶體單元,每個記憶庫包括一個非揮發性記憶體單元陣列)正在被驗證(讀取)。
圖22顯示圖17A的一個實施例。VMM系統2200包括VMM陣列1701及1705;感測電路1721;寫入電路1722;第一及第二寫入多工器2201及2202;以及第一及第二讀取(驗證)多工器2203及2204。第一寫入多工器2201在被致能時將VMM陣列1701耦接至寫入電路1722。第二寫入多工器2202在被致能時將VMM陣列1705耦接至寫入電路1722。第一讀取多工器2203在被致能時將VMM陣列1701耦接至感測電路1721。第二讀取多工器2204在被致能時將VMM陣列1705耦接至感測電路1721。以上已經用兩個寫入多工器及兩個讀取多工器來進行描述,應該理解,這並不意味著限制。在沒有超出範圍的情況下,可以使用單個多工器來取代兩個單獨的多工器。
圖23顯示圖17A的另一個實施例。VMM系統2300包括VMM陣列1701及1705;感測電路1721;寫入電路1722;第一及第二寫入多工器2301及2302;第一及第二讀取(驗證)多工器2303及2304;以及行多工器2305。第一寫入多工器2301在被致能時將VMM陣列1701耦接至寫入電路1722。第二寫入多工器2302在被致能時將VMM陣列1705耦接至寫入電路1722。第一讀取多工器2303在被致能時將VMM陣列1701耦接至感測電路1721。第二讀取多工器2304在被致能時將VMM陣列1705耦接至感測電路1721。行多工器2305在被致能時將VMM陣列1701中的位元線連接至VMM陣列1705中的位元線,使得VMM陣列1701及1705因而耦接至相同的位元線且可以被控制為單個陣列。以上已經用兩個寫入多工器及兩個讀取多工器來進行描述,應該理解,這並不意味著限制。在沒有超出範圍的情況下,可以使用單個多工器來取代兩個單獨的多工器。
應該注意,如本文所使用,術語「在…上方」及「在…上」均包含性地包括「直接在…上」(沒有中間材料、元件或空間設置在其間)及「間接在…上」(中間材料、元件或空間設置在其間)。同樣地,術語「相鄰」包括「直接相鄰」(沒有中間材料、元件或空間設置在其間)及「間接相鄰」(中間材料、元件或空間設置在其間),「安裝至」包括「直接安裝至」(沒有中間材料、元件或空間設置在其間)及「間接安裝至」(中間材料、元件或空間設置在其間),以及「電耦接至」包括「直接電耦接至」(沒有中間材料或元件在其間將元件電連接在一起)及「間接電耦接至」(中間材料或元件在其間將元件電連接在一起)。例如,「在基板上方」形成元件可以包括在基板上直接形成元件而在其間沒有中間材料/元件,以及在基板上間接形成元件而在其間具有一個或多個中間材料/元件。
12:半導體基板
14:源極區域
16:汲極區域
18:通道區域
20:浮動閘極
22:字元線端子
24:位元線端子
28:控制閘極(CG)端子
30:抹除閘極
31:數位至類比轉換器
32:VMM系統
32a:MM系統
32b:VMM系統
32c:VMM系統
32d:VMM系統
32e:VMM系統
33:VMM陣列
34:抹除閘極及字元線閘極解碼器
35:控制閘極解碼器
36:位元線解碼器
37:源極線解碼器
38:差分加法器
39:激勵函數電路
210:記憶體單元
310:記憶體單元
410:記憶體單元
510:記憶體單元
610:3-閘極記憶體單元
710:堆疊式閘極記憶體單元
810:雙分離式閘極記憶體單元
1200:神經元VMM陣列
1201:揮發性記憶體單元的記憶體陣列
1202:非揮發性參考記憶體單元的參考陣列
1203:控制閘極線
1204:抹除閘極線
1300:神經元VMM陣列
1301:第一非揮發性參考記憶體單元的參考陣列
1302:第二非揮發性參考記憶體單元的參考陣列
1303:非揮發性記憶體單元的記憶體陣列
1314:多工器
1400:神經元VMM陣列
1401:第一非揮發性參考記憶體單元的參考陣列
1402:第二非揮發性參考記憶體單元的參考陣列
1403:非揮發性記憶體單元的記憶體陣列
1500:神經元VMM陣列
1501:第一非揮發性參考記憶體單元的參考陣列
1502:第二非揮發性參考記憶體單元的參考陣列
1503:非揮發性記憶體單元的記憶體陣列
1504:疊接電晶體
1505:多工器
1512:多工器
1600:神經元VMM陣列
1601:第一非揮發性參考記憶體單元的參考陣列
1602:第二非揮發性參考記憶體單元的參考陣列
1603:非揮發性記憶體單元的記憶體陣列
1614:多工器
1700:VMM系統
1701:VMM陣列
1702:DAC及列解碼器
1703:高電壓解碼器
1704:行解碼器
1705:VMM陣列
1706:DAC及列解碼器
1707:高電壓解碼器
1708:行解碼器
1710:高電壓HV產生區塊
1711:電荷泵
1712:電荷泵調節器
1713:高電壓位準產生器
1714:演算法控制器
1715:類比電路
1716:控制邏輯
1717:測試控制邏輯
1718:低電壓LV產生區塊
1721:感測電路
1722:寫入電路
1731:記憶庫
1732:記憶庫
1741:區塊
1800:VMM系統
1801:VMM陣列
1802:DAC及列解碼器
1803:高電壓解碼器
1804:行解碼器
1805:VMM陣列
1806:DAC及列解碼器
1807:高電壓解碼器
1808:行解碼器
1821:感測電路
1822:寫入電路
1831:記憶庫
1832:記憶庫
1841:區塊
1851:區塊
1900:控制信號
1901:組
1902:組
1903:控制電路
2000:控制信號
2001:組
2002:組
2003:組
2004:組
2010:控制信號
2020:控制信號
2100:VMM系統
2101
0,0:區塊
2101
0,m:區塊
2101
n,0:區塊
2101
n,m:區塊
2200:VMM系統
2201:第一寫入多工器
2202:第二寫入多工器
2203:第一讀取(驗證)多工器
2204:第二讀取(驗證)多工器
2300:VMM系統
2301:第一寫入多工器
2302:第二寫入多工器
2303:第一讀取(驗證)多工器
2304:第二讀取(驗證)多工器
2305:行多工器
BL0-BLN:位元線
BLR0:端子
BLR1:端子
BLR2:端子
BLR3:端子
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
CG0:控制閘極線(電壓輸入)
CG1:控制閘極線(電壓輸入)
CG2:控制閘極線(電壓輸入)
CG3:控制閘極線(電壓輸入)
P1:激勵函數
P2:激勵函數
S0:輸入層
S1:層
S2:層
S3:輸出層
SL0:源極線
SL1:源極線
WL0:電壓輸入(字元線)
WL1:電壓輸入(字元線)
WL2:電壓輸入(字元線)
WL3:電壓輸入(字元線)
WLA0:字元線
WLA1:字元線
WLA2:字元線
WLA3:字元線
WLB0:字元線
WLB1:字元線
WLB2:字元線
WLB3:字元線
圖1描繪習知技藝的人工神經網路。
圖2描繪習知技藝的分離式閘極快閃記憶體單元。
圖3描繪另一個習知技藝的分離式閘極快閃記憶體單元。
圖4描繪另一個習知技藝的分離式閘極快閃記憶體單元。
圖5描繪另一個習知技藝的分離式閘極快閃記憶體單元。
圖6描繪另一個習知技藝的分離式閘極快閃記憶體單元。
圖7描繪習知技藝的堆疊式閘極快閃記憶體單元。
圖8描繪雙分離式閘極記憶體單元。
圖9描繪利用一個或多個VMM陣列之示例性人工神經網路的不同層級。
圖10描繪包括VMM陣列及其它電路的VMM系統。
圖11描繪利用一個或多個VMM系統之示例性人工神經網路。
圖12描繪VMM陣列的一個具體例。
圖13描繪VMM陣列的另一個具體例。
圖14描繪VMM陣列的另一個具體例。
圖15描繪VMM陣列的另一個具體例。
圖16描繪VMM陣列的另一個具體例。
圖17A描繪包括兩個記憶庫的VMM系統。
圖17B描繪圖17A的VMM系統,其中正在驗證第一記憶庫且正在寫入第二記憶庫。
圖17C描繪圖17A的VMM系統,其中正在寫入第一記憶庫且正在驗證第二記憶庫。
圖18A描繪包括被組織成兩個區塊之四個記憶庫的VMM系統。
圖18B描繪包括被組織成一個區塊之四個記憶庫的VMM系統。
圖19描繪在一個記憶庫接著一個記憶庫基礎上同時寫入及驗證操作之控制信號及電路。
圖20描繪在一個區塊接著一個區塊基礎上同時寫入及驗證操作之控制信號及電路。
圖21描繪配置成在一個區塊接著一個區塊基礎上同時寫入及驗證操作之VMM系統。
圖22描繪配置成在一個記憶庫接著一個記憶庫基礎上同時寫入及驗證操作之VMM系統。
圖23描繪配置成在一個記憶庫接著一個記憶庫基礎上同時寫入及驗證操作之另一個VMM系統。
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激勵函數
P2:激勵函數
S0:輸入層
S1:層
S2:層
S3:輸出層
Claims (9)
- 一種類比神經記憶體系統,包括:一第一區塊,包括:一第一記憶庫,包括一第一陣列的非揮發性記憶體單元;一第二記憶庫,包括一第二陣列的非揮發性記憶體單元;第一寫入電路,由該第一記憶庫及該第二記憶庫共用;以及第一感測電路,由該第一記憶庫及該第二記憶庫共用;一第二區塊,包括:一第三記憶庫,包括一第三陣列的非揮發性記憶體單元;一第四記憶庫,包括一第四陣列的非揮發性記憶體單元;第二寫入電路,由該第三記憶庫及該第四記憶庫共用;以及第二感測電路,由該第三記憶庫及該第四記憶庫共用;控制電路,用於同時使用在該第一區塊上的該第一寫入電路及在該第二區塊上的該第二寫入電路中之一者執行一寫入操作,且使用在該第一區塊上的該第一感測電路及在該第二區塊上的該第二感測電路中之一者執行一驗證操作。
- 如請求項1之系統,其中,該第一區塊中的該等非揮發性記憶體單元及該第二區塊中的該等非揮發性記憶體單元係堆疊式閘極非揮發性記憶體單元。
- 如請求項1之系統,其中,該第一區塊中的該等非揮發性記憶體單元及該第二區塊中的該等非揮發性記憶體單元係分離式閘極非揮發性記憶體單元。
- 如請求項1之系統,其中,該第一記憶庫藉由一第一寫入多工器耦接至該第一寫入電路,而藉由一第一讀取多工器耦接至該第一感測電路。
- 如請求項4之系統,其中,該第二記憶庫藉由一第二寫入多工器耦接至該第一寫入電路,而藉由一第二讀取多工器耦接至該第一感測電路。
- 如請求項5之系統,其中,該第一記憶庫藉由一行多工器耦接至該第二記憶庫。
- 一種在一類比神經記憶體中執行同時寫入及驗證操作之方法,該類比神經記憶體包括一第一區塊及一第二區塊,該第一區塊包括一第一記憶庫及一第二記憶庫,該第一記憶庫包括一第一陣列的非揮發性記憶體單元,而該第二記憶庫包括一第二陣列的非揮發性記憶體單元,該第二區塊包括一第三記憶庫及一第四記憶庫,該第三記憶庫包括一第三陣列的非揮發性記憶體單元,而該第四記憶庫包括一第四陣列的非揮發性記憶體單元,該方法包括:同時對該第一區塊及該第二區塊中之一者執行一寫入操作,且對該第一區塊及該第二區塊中之另一者執行一驗證操作。
- 如請求項7之方法,其中,該第一區塊中的該等非揮發性記憶體單元及該第二區塊中的該等非揮發性記憶體單元係堆疊式閘極非揮發性記憶體單元。
- 如請求項7之方法,其中,該第一區塊中的該等非揮發性記憶體單元及該第二區塊中的該等非揮發性記憶體單元係分離式閘極非 揮發性記憶體單元。
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202063070051P | 2020-08-25 | 2020-08-25 | |
| US63/070,051 | 2020-08-25 | ||
| US17/190,376 US12217165B2 (en) | 2020-08-25 | 2021-03-02 | Concurrent write and verify operations in an analog neural memory |
| US17/190,376 | 2021-03-02 | ||
| PCT/US2021/020963 WO2022046171A1 (en) | 2020-08-25 | 2021-03-04 | Concurrent write and verify operations in an analog neural memory |
| WOPCT/US21/20963 | 2021-03-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202217825A TW202217825A (zh) | 2022-05-01 |
| TWI784642B true TWI784642B (zh) | 2022-11-21 |
Family
ID=75396852
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110127811A TWI784642B (zh) | 2020-08-25 | 2021-07-29 | 類比神經記憶體中之同時寫入及驗證操作 |
Country Status (7)
| Country | Link |
|---|---|
| US (1) | US12217165B2 (zh) |
| EP (1) | EP4205116B1 (zh) |
| JP (1) | JP7523674B2 (zh) |
| KR (1) | KR102732231B1 (zh) |
| CN (1) | CN115885345A (zh) |
| TW (1) | TWI784642B (zh) |
| WO (1) | WO2022046171A1 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TW202248883A (zh) * | 2021-05-31 | 2022-12-16 | 汎思數據股份有限公司 | 深度學習神經網路儲存與推論方法 |
| US12217819B2 (en) * | 2021-08-05 | 2025-02-04 | Taiwan Semiconductor Manufacturing Company, Ltd. | Computing device, memory controller, and method for performing an in-memory computation |
| US12336180B2 (en) * | 2022-08-08 | 2025-06-17 | Taiwan Semiconductor Manufacturing Company, Ltd. | Memory cell array with increased source bias voltage |
| US20240256846A1 (en) * | 2023-02-01 | 2024-08-01 | Silicon Storage Technology, Inc | Multiplexors for neural network array |
| WO2024162978A1 (en) * | 2023-02-01 | 2024-08-08 | Silicon Storage Technology, Inc. | Multiplexors for neural network array |
| US20240331762A1 (en) * | 2023-03-28 | 2024-10-03 | Micron Technology, Inc. | Memory device using wordline calibration for matrix vector multiplication |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6215705B1 (en) * | 2000-02-10 | 2001-04-10 | Advanced Micro Devices, Inc. | Simultaneous program, program-verify scheme |
| US20010053091A1 (en) * | 2000-06-05 | 2001-12-20 | Mitsubishi Denki Kabushiki Kaisha | Nonvolatile memory with background operation function |
| TW200421348A (en) * | 2002-11-14 | 2004-10-16 | Aplus Flash Technology Inc | A combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations |
| US7197607B2 (en) * | 2000-07-28 | 2007-03-27 | Micron Technology, Inc. | Non-volatile memory with concurrent write and read operation to differing banks |
| US20200065650A1 (en) * | 2018-08-21 | 2020-02-27 | Silicon Storage Technology, lnc. | Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components |
Family Cites Families (17)
| 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 |
| US6310805B1 (en) * | 2000-03-07 | 2001-10-30 | Advanced Micro Devices, Inc. | Architecture for a dual-bank page mode memory with redundancy |
| JP3544935B2 (ja) | 2000-10-19 | 2004-07-21 | Necマイクロシステム株式会社 | 不揮発性半導体記憶装置及びそのオートプログラムの実行方法 |
| US7177197B2 (en) * | 2001-09-17 | 2007-02-13 | Sandisk Corporation | Latched programming of memory and method |
| 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 |
| US7130222B1 (en) * | 2005-09-26 | 2006-10-31 | Macronix International Co., Ltd. | Nonvolatile memory with program while program verify |
| US7539062B2 (en) * | 2006-12-20 | 2009-05-26 | Micron Technology, Inc. | Interleaved memory program and verify method, device and system |
| CN101548335B (zh) * | 2007-08-01 | 2012-07-11 | 松下电器产业株式会社 | 非易失性存储装置 |
| JP2010108541A (ja) * | 2008-10-29 | 2010-05-13 | Samsung Electronics Co Ltd | 不揮発性半導体記憶装置の書込み方法および書込み装置 |
| JP4653833B2 (ja) | 2008-11-04 | 2011-03-16 | シャープ株式会社 | 不揮発性半導体記憶装置及びその制御方法 |
| JP5416079B2 (ja) | 2010-12-16 | 2014-02-12 | 株式会社日立製作所 | 半導体記憶装置、およびメモリモジュール |
| US20150310904A1 (en) * | 2014-04-28 | 2015-10-29 | Qualcomm Incorporated | System and method of concurrent read/write magneto-resistive memory |
| US10395699B2 (en) * | 2014-09-25 | 2019-08-27 | Everspin Technologies, Inc. | Memory device with shared amplifier circuitry |
| JP6833873B2 (ja) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
| TWI626658B (zh) * | 2016-06-14 | 2018-06-11 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
| WO2019133299A1 (en) * | 2017-12-27 | 2019-07-04 | Spin Transfer Technologies, Inc. | A memory device with a dual y-multiplexer structure for performing two simultaneous operations on the same row of a memory bank |
| US11107535B2 (en) * | 2019-09-10 | 2021-08-31 | Adesto Technologies Corporation | Memory device with adaptive noise and voltage suppression during read-while-write operations |
-
2021
- 2021-03-02 US US17/190,376 patent/US12217165B2/en active Active
- 2021-03-04 WO PCT/US2021/020963 patent/WO2022046171A1/en not_active Ceased
- 2021-03-04 EP EP21716877.2A patent/EP4205116B1/en active Active
- 2021-03-04 JP JP2023512707A patent/JP7523674B2/ja active Active
- 2021-03-04 CN CN202180051165.XA patent/CN115885345A/zh active Pending
- 2021-03-04 KR KR1020237003332A patent/KR102732231B1/ko active Active
- 2021-07-29 TW TW110127811A patent/TWI784642B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6215705B1 (en) * | 2000-02-10 | 2001-04-10 | Advanced Micro Devices, Inc. | Simultaneous program, program-verify scheme |
| US20010053091A1 (en) * | 2000-06-05 | 2001-12-20 | Mitsubishi Denki Kabushiki Kaisha | Nonvolatile memory with background operation function |
| US7197607B2 (en) * | 2000-07-28 | 2007-03-27 | Micron Technology, Inc. | Non-volatile memory with concurrent write and read operation to differing banks |
| TW200421348A (en) * | 2002-11-14 | 2004-10-16 | Aplus Flash Technology Inc | A combination nonvolatile memory using unified technology with byte, page and block write and simultaneous read and write operations |
| US20200065650A1 (en) * | 2018-08-21 | 2020-02-27 | Silicon Storage Technology, lnc. | Analog neural memory system for deep learning neural network comprising multiple vector-by-matrix multiplication arrays and shared components |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2022046171A1 (en) | 2022-03-03 |
| KR102732231B1 (ko) | 2024-11-19 |
| US20220067499A1 (en) | 2022-03-03 |
| KR20230029953A (ko) | 2023-03-03 |
| US12217165B2 (en) | 2025-02-04 |
| JP7523674B2 (ja) | 2024-07-26 |
| EP4205116A1 (en) | 2023-07-05 |
| EP4205116B1 (en) | 2025-06-11 |
| JP2023539845A (ja) | 2023-09-20 |
| CN115885345A (zh) | 2023-03-31 |
| TW202217825A (zh) | 2022-05-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI780415B (zh) | 用於深度學習人工神經網路中之類比神經記憶體的解碼系統與實體佈局 | |
| JP7756198B2 (ja) | 人工ニューラルネットワーク内の差分セル対にシナプシス重みを記憶するアナログニューラルメモリアレイ | |
| TWI784642B (zh) | 類比神經記憶體中之同時寫入及驗證操作 | |
| KR102823670B1 (ko) | 인공 신경망에서 아날로그 신경 메모리 어레이를 위한 비휘발성 메모리 셀들 및 연관된 고전압 회로들의 페이지 또는 워드의 정밀 튜닝 | |
| TWI848411B (zh) | 具有源極線下拉機制之非揮發性記憶體系統 | |
| JP2023525771A (ja) | 論理セル及び改善されたプログラミング機構を備える人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
| TWI885266B (zh) | 深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| US20220374696A1 (en) | Split array architecture for analog neural memory in a deep learning artificial neural network | |
| TWI897198B (zh) | 具有神經網路陣列的多工器之向量矩陣乘法系統及其操作方法 | |
| TWI908665B (zh) | 深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| TW202324211A (zh) | 可配置為以類比形式或數位形式儲存神經記憶體權重資料的混合記憶體系統 | |
| WO2024162978A1 (en) | Multiplexors for neural network array | |
| TW202445417A (zh) | 用於深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| TW202331569A (zh) | 包含類比陣列及數位陣列的人工神經網路 | |
| KR20250123877A (ko) | 공통 모드 회로를 포함하는 전류-전압 변환기 | |
| TW202447412A (zh) | 使用標籤暫存器之非揮發性記憶體胞元陣列的冗餘 |