TWI895930B - 與非揮發性記憶體胞元陣列的冗餘相關的系統及方法 - Google Patents
與非揮發性記憶體胞元陣列的冗餘相關的系統及方法Info
- Publication number
- TWI895930B TWI895930B TW113101486A TW113101486A TWI895930B TW I895930 B TWI895930 B TW I895930B TW 113101486 A TW113101486 A TW 113101486A TW 113101486 A TW113101486 A TW 113101486A TW I895930 B TWI895930 B TW I895930B
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- memory cells
- row
- volatile memory
- redundant
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/26—Sensing or reading circuits; Data output circuits
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
-
- 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/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1202—Word line control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/1204—Bit line control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
Abstract
揭示用以實施冗餘之系統及方法的眾多實施例。在一個實施例中,一種系統包含非揮發性記憶體胞元之一陣列;非揮發性記憶體胞元之一冗餘陣列;及一輸入區塊,其耦接至該陣列中之各別列及該冗餘陣列中之各別列且包含列標籤暫存器及冗餘列標籤暫存器。
Description
本申請案主張在2023年2月1日申請且標題為「人工神經網路陣列之冗餘(Redundancy for Artificial Neural Network Array)」之美國臨時專利申請案第63/442,723號及在2023年4月14日申請且標題為「使用標籤暫存器之非揮發性記憶體胞元陣列的冗餘(Redundancy For An Array Of Non-Volatile Memory Cells Using Tag Registers)」之美國專利申請案第18/134,928號的優先權。
揭示用以實施使用標籤暫存器之非揮發性記憶體胞元陣列的冗餘之電路系統及方法的眾多實施例。
人工神經網路模擬生物神經網路(動物之中樞神經系統,特定而言為大腦)且用以估計或估算可取決於大量輸入且通常未知之功能。人工神經網路通常包括彼此交換訊息之互連「神經元」的層。
圖1例示人工神經網路,其中圓圈表示神經元之輸入或層。連接(稱為突觸)由箭頭表示,且具有可基於經驗進行調校之數值權重。此使得神經網路適應於輸入且能夠學習。通常,神經網路包括多個輸入之
層。通常存在一或多個中間神經元層及提供神經網路之輸出的輸出神經元層。各層級處之神經元基於自突觸接收到之資料而個別地或共同地作出決策。
用於高效能資訊處理之人工神經網路之發展中的主要挑戰中之一者為缺乏適當的硬體技術。實際上,實務神經網路依賴於大量突觸,從而實現神經元之間的高度連接性,亦即,極高計算平行性。原則上,此複雜性可利用數位超級電腦或特殊化圖形處理單元叢集來達成。然而,除高成本以外,相較於生物網路,此等方法亦受中等能效困擾,主要因為生物網路執行低精度類比計算,所以其消耗少得多的能量。CMOS類比電路已用於人工神經網路,但鑒於大量神經元及突觸,大多數CMOS實施之突觸已過於龐大。
申請人先前在美國專利申請公開案2017/0337466A1中揭示一種利用一或多個非揮發性記憶體陣列作為突觸之人工(類比)神經網路,該美國專利申請公開案以引用之方式併入。非揮發性記憶體陣列操作為類比神經記憶體,且包含配置成列及行之非揮發性記憶體胞元。神經網路包括:第一複數個突觸,其經組構以接收第一複數個輸入且自該第一複數個輸入產生第一複數個輸出;及第一複數個神經元,其經組構以接收第一複數個輸出。第一複數個突觸包括複數個記憶體胞元,其中該等記憶體胞元中之各者包括:形成於半導體基板中之間隔開的源極區及汲極區,其中通道區在源極區與汲極區之間延伸;浮動閘極,其裝設於通道區之第一部分上方且與該第一部分絕緣;及非浮動閘極,其裝設於通道區之第二部分上方且與該第二部分絕緣。複數個記憶體胞元中之各者儲存對應於浮動閘極上之電子數目的權重值。複數個記憶體胞元將第一複數個輸入乘以所儲存權重值以產生第一複數個輸出。
非揮發性記憶體胞元
非揮發性記憶體已為吾人所熟知。舉例而言,以引用之方式併入本文中的美國專利5,029,130(「'130專利」)揭示分離閘極非揮發性記憶體胞元之陣列,該等記憶體胞元為一種類型之快閃記憶體胞元。此類記憶體胞元210展示於圖2中。各記憶體胞元210包括形成於半導體基板12中之源極區14及汲極區16,其中通道區18在源極區與汲極區之間。浮動閘極20形成於通道區18之第一部分上方且與該第一部分絕緣(且控制該第一部分之導電性),且形成於源極區14之一部分上方。字線端子22(其通常耦接至字線)具有:第一部分,其裝設於通道區18之第二部分上方且與該第二部分絕緣(且控制該第二部分之導電性);及第二部分,其在浮動閘極20上及上方延伸。浮動閘極20及字線端子22藉由閘極氧化物與基板12絕緣。位元線24耦接至汲極區16。
記憶體胞元210藉由將高的正電壓置於字線端子22上來抹除(其中電子自浮動閘極移除),此使得浮動閘極20上之電子經由富爾-諾罕(Fowler-Nordheim)穿隧自浮動閘極20穿過中間絕緣物穿隧至字線端子22。
記憶體胞元210係藉由將正電壓置於字線端子22上及將正電壓置於源極區14上而藉由運用熱電子之源極側注入(SSI)而程式化(其中電子置於浮動閘極上)。電子電流將自汲極區16朝向源極區14流動。當電子到達字線端子22與浮動閘極20之間的間隙時,該等電子將加速且被加熱。經加熱電子中之一些將由於來自浮動閘極20之吸引靜電力而穿過閘極氧化物注入至浮動閘極20上。
記憶體胞元210係藉由將正的讀取電壓置於汲極區16及字線端子22上(此接通通道區18在字線端子下方之部分)來讀取。若浮動閘
極20帶正電(亦即,電子經抹除),則通道區18在浮動閘極20下方之部分亦接通,且電流將流經通道區18,此被感測為經抹除或「1」狀態。若浮動閘極20帶負電(亦即,用電子程式化),則通道區在浮動閘極20下方之部分大部分或完全斷開,且電流將不流經通道區18(或將存在極少電流),此被感測為經程式化或「0」狀態。
表1描述可施加至記憶體胞元210之端子以用於執行讀取、抹除及程式化操作的典型電壓及電流範圍:
其他分離閘極記憶體胞元組構已為吾人所知,該等分離閘極記憶體胞元組構為其他類型之快閃記憶體胞元。舉例而言,圖3描述四閘極記憶體胞元310,其包含源極區14、汲極區16、在通道區18之第一部分上方的浮動閘極20、在通道區18之第二部分上方的選擇閘極22(通常耦接至字線WL)、在浮動閘極20上方之控制閘極28,及在源極區14上方之抹除閘極30。此組構描繪於美國專利6,747,310中,該專利出於所有目的以引用之方式併入本文中。此處,除浮動閘極20以外,所有閘極皆為非浮動閘極,意謂該等閘極電連接或可電連接至電壓源。程式化係藉由來自通道區18之經加熱電子將自身注入至浮動閘極20上來執行。抹除係藉由電子自浮動閘極20穿隧至抹除閘極30來執行。
表2描述可施加至記憶體胞元310之端子以用於執行讀取、抹除及程式化操作的典型電壓及電流範圍:
圖4描述三閘極記憶體胞元410,其為另一類型之快閃記憶體胞元。記憶體胞元410與圖3之記憶體胞元310相同,其例外之處在於記憶體胞元410不具有單獨的控制閘極。抹除操作(由此透過使用抹除閘極來進行抹除)及讀取操作類似於圖3之抹除操作及讀取操作,其例外之處在於未施加控制閘極偏壓。程式化操作亦在無控制閘極偏壓之情況下進行,且結果,較高電壓在程式化操作期間施加於源極線上以補償控制閘極偏壓之缺乏。
表3描述可施加至記憶體胞元410之端子以用於執行讀取、抹除及程式化操作的典型電壓及電流範圍:
圖5描述堆疊閘極記憶體胞元510,其為另一類型之快閃記憶體胞元。記憶體胞元510類似於圖2之記憶體胞元210,其例外之處在於浮動閘極20在整個通道區18上方延伸,且控制閘極22(其在此處將耦接至字線)在浮動閘極20上方延伸,浮動閘極藉由絕緣層(圖中未示)與控制閘極分離。抹除係藉由電子自FG至基板之FN穿隧而進行,程式化係藉由通道區18與汲極區16之間的區處的通道熱電子(CHE)注入、藉由電子自
源極區14朝向汲極區16流動來進行,且讀取操作類似於針對具有較高控制閘極電壓之記憶體胞元210之讀取操作。
表4描述可施加至記憶體胞元510之端子以及基板12以用於執行讀取、抹除及程式化操作的典型電壓範圍:
本文中所描繪之方法及手段可應用於其他非揮發性記憶體技術,諸如但不限於FINFET分離閘極快閃記憶體或堆疊閘極快閃記憶體、NAND快閃記憶體、矽-氧化物-氮化物-氧化物-矽(SONOS,氮化物中之電荷捕捉)、金屬-氧化物-氮化物-氧化物-矽(MONOS,氮化物中之金屬電荷捕捉)、電阻式ram(ReRAM)、相變記憶體(PCM)、磁性ram(MRAM)、鐵電ram(FeRAM)、電荷捕捉(CT)記憶體、碳管(CN)記憶體、雙位準或多位準一次性可程式化(OTP)及相關電子ram(CeRAM)。
為了利用包含上文在人工神經網路中所描繪之非揮發性記憶體胞元的類型中之一者的記憶體陣列,進行兩個修改。首先,線經組構以使得各記憶體胞元可個別地經程式化、抹除及讀取而不會不利地影響陣列中之其他記憶體胞元的記憶體狀態,如下文進一步解釋。其次,提供記憶體胞元之連續(類比)程式化。
具體而言,陣列中之各記憶體胞元之記憶體狀態(亦即,浮動閘極上之電荷)可獨立地且在最少干擾其他記憶體胞元之情況下連續地自完全抹除狀態改變至完全程式化狀態,且反之亦然。此意謂胞元儲存器有效地為類比的或至少可儲存許多離散值(諸如,16或64個不同值)中
之一者,此允許記憶體陣列中之所有記憶體胞元的極精確及個別調校,且此使得記憶體陣列對於儲存及對神經網路之突觸權重進行微調調整而言係理想的。
使用非揮發性記憶體胞元陣列之神經網路
圖6在概念上例示利用本發明實施例之非揮發性記憶體陣列的神經網路之非限制性實施例。此實施例將非揮發性記憶體陣列神經網路用於面部辨識應用,但任何其他適當的應用皆可使用基於非揮發性記憶體陣列之神經網路來實施。
S0為輸入層,對於此實施例,該輸入層為具有5位元精度之32×32像素RGB影像(亦即,三個32×32像素陣列,每種色彩R、G及B一個陣列,各像素為5位元精度)。自輸入層S0進入層C1之突觸CB1在一些情況下應用不同權重集合且在其他情況下應用共用權重,且用3×3像素重疊濾波器(核心)掃描輸入影像,使濾波器移位1個像素(或多於1個像素,如由模型規定)。具體而言,將影像之3×3部分(亦即,被稱作濾波器或核心)中之9個像素的值提供至突觸CB1,在該等突觸中將此等9個輸入值乘以適當權重,且在對彼乘法之輸出進行求和之後,單個輸出值由第一突觸CB1判定及提供以用於產生層C1之特徵圖中之一者的像素。接著使3×3濾波器在輸入層S0內向右移位一個像素(亦即,在右側添加三個像素之行,且在左側丟棄三個像素之行),由此將此新定位濾波器中之9個像素值提供至突觸CB1,在該等突觸中將該等像素值乘以相同權重,且由相聯結突觸判定第二單個輸出值。此程序針對所有三種色彩且針對所有位元(精度值)繼續,直至3×3濾波器遍及輸入層S0之整個32×32像素影像進行掃描。接著使用不同權重集合重複該程序以產生層C1之不同特徵圖,直至已計算層C1之所有特徵圖。
在層C1中,在本發明實施例中,存在16個特徵圖,各特徵圖具有30×30個像素。各像素為自輸入與核心相乘而提取之新特徵像素,且因此各特徵圖為二維陣列,且因此在此實施例中,層C1構成二維陣列之16個層(應謹記,本文中所提及的層及陣列為邏輯關係,未必為實體關係,亦即,陣列未必按實體二維陣列定向)。層C1中之16個特徵圖中之各者皆由應用於濾波器掃描之突觸權重之十六個不同集合中的一者產生。C1特徵圖可皆針對同一影像特徵之不同態樣,諸如邊界識別。舉例而言,第一圖(使用第一權重集合產生,共用於用以產生此第一圖之所有掃描)可識別圓形邊緣,第二圖(使用不同於第一權重集合之第二權重集合產生)可識別矩形邊緣,或某些特徵之縱橫比等。
在自層C1進入層S1之前應用激勵函數P1(池化),其池化來自各特徵圖中之連續非重疊2×2區的值。池化函數P1之目的為使附近位置達到平均(或亦可使用max函數),以例如降低邊緣位置之相依性且在進入下一級之前減小資料大小。在層S1處,存在16個15×15特徵圖(亦即,各自具有15×15個像素之十六個不同陣列)。自層S1進入層C2之突觸CB2利用4×4濾波器掃描S1中之圖,其中濾波器移位為1個像素。在層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個神經元,其中最高輸出神經元判定類別。此輸出可例如指示原始影像之內容的識別或分類。
各突觸層係使用非揮發性記憶體胞元之陣列或陣列之一部分來實施。
圖7為可用於彼目的之陣列的方塊圖。向量矩陣乘法(VMM)陣列32包括非揮發性記憶體胞元,且用作一個層與下一層之間的突觸(諸如,圖6中之CB1、CB2、CB3及CB4)。具體而言,VMM陣列32包括:非揮發性記憶體胞元之陣列33;抹除閘極及字線閘極解碼器34;控制閘極解碼器35;位元線解碼器36;及源極線解碼器37,該等解碼器解碼非揮發性記憶體胞元陣列33之各別輸入。至VMM陣列32之輸入可來自抹除閘極及字線閘極解碼器34或來自控制閘極解碼器35。在此實施例中,源極線解碼器37亦解碼非揮發性記憶體胞元陣列33之輸出。替代地,位元線解碼器36可解碼非揮發性記憶體胞元陣列33之輸出。
非揮發性記憶體胞元陣列33用於兩個目的。首先,其儲存將由VMM陣列32使用的權重。其次,非揮發性記憶體胞元陣列33有效地將輸入乘以儲存於非揮發性記憶體胞元陣列33中之權重,且按輸出線(源極線或位元線)將結果相加以產生輸出,該輸出將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,非揮發性記憶體胞元陣列33消除對單獨的乘法及加法邏輯電路之需要,且由於其就地記憶體計算亦為功率高效的。
非揮發性記憶體胞元陣列33之輸出經供應至差分求和器(諸如,求和運算放大器或求和電流鏡)38,該求和器對非揮發性記憶體胞元陣列33之輸出進行求和以產生用於彼卷積之單個值。差分求和器38經配置以執行正權重與負權重之求和。
接著將差分求和器38之經求和輸出值供應至激勵函數區塊39,該區塊對輸出進行整流。激勵函數區塊39可提供S型(sigmoid)、雙
曲正切(tanh)或ReLU函數。激勵函數區塊39之經整流輸出值變成下一層(例如,圖6中之C1)之特徵圖的元素,且接著應用於下一突觸以產生下一特徵圖層或最終層。因此,在此實施例中,非揮發性記憶體胞元陣列33構成複數個突觸(其自前一神經元層或自諸如影像資料庫之輸入層接收其輸入),且求和運算放大器38及激勵函數區塊39構成複數個神經元。
至圖7中之VMM陣列32之輸入(WLx、EGx、CGx,以及選擇地,BLx及SLx)可為類比位準、二進位位準或數位位元(在此情況下,DAC被設置成為將數位位元轉換成適當輸入類比位準),且輸出可為類比位準、二進位位準或數位位元(在此情況下,輸出ADC被設置成為將輸出類比位準轉換成數位位元)。
圖8為描述VMM陣列32之眾多層之使用的方塊圖,該等陣列在此處標記為VMM陣列32a、32b、32c、32d及32e。如圖8中所展示,表示為Inputx之輸入由數位至類比轉換器31自數位轉換至類比,且被提供至輸入VMM陣列32a。經轉換之類比輸入可為電壓或電流。第一層之輸入D/A轉換可藉由使用函數或查找表(LUT)來進行,該函數或LUT將輸入Inputx映射至適用於輸入VMM陣列32a之矩陣乘法器的類比位準。輸入轉換亦可由類比至類比(A/A)轉換器進行以將外部類比輸入轉換為至輸入VMM陣列32a之經映射類比輸入。
由輸入VMM陣列32a產生之輸出被設置成為至下一VMM陣列(隱藏層級1)32b之輸入,該下一VMM系統又產生被設置成為至下一VMM陣列(隱藏層級2)32c之輸入的輸出,等等。VMM陣列32之各種層充當卷積神經網路(CNN)之突觸及神經元的不同層。各VMM陣列32a、32b、32c、32d及32e可為獨立的實體非揮發性記憶體陣列,或多個VMM陣列可利用同一實體非揮發性記憶體陣列之不同部分,或多個VMM陣列
可利用同一實體非揮發性記憶體陣列之重疊部分。圖8中所展示之實施例含有五個層(32a、32b、32c、32d、32e):一個輸入層(32a)、兩個隱藏層(32b、32c)及兩個完全連接層(32d、32e)。一般熟悉本技藝者應瞭解,此僅為實施例,且系統替代地可包含多於兩個隱藏層及多於兩個完全連接層。
向量乘矩陣乘法(VMM)陣列
圖9描述神經元VMM陣列900,其尤其適合於圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列900包含非揮發性記憶體胞元之記憶體陣列901及非揮發性參考記憶體胞元之參考陣列902(在陣列之頂部處)。替代地,另一參考陣列可置於底部處。
在VMM陣列900中,諸如控制閘極線903之控制閘極線在豎直方向上延行(因此,列方向上之參考陣列902與控制閘極線903正交),且諸如抹除閘極線904之抹除閘極線在水平方向上延行。此處,至VMM陣列900之輸入被設置於控制閘極線(CG0、CG1、CG2、CG3)上,且VMM陣列900之輸出出現於源極線(SL0、SL1)上。在一個實施例中,僅使用偶數列,且在另一實施例中,僅使用奇數列。置於各源極線(分別為SL0、SL1)上之電流對來自連接至彼特定源極線之記憶體胞元的所有電流執行求和函數。
如本文中針對神經網路所描述,VMM陣列900之非揮發性記憶體胞元,亦即,VMM陣列900之記憶體胞元310,可經組構以在次臨限區中操作。
本文中所描繪之非揮發性參考記憶體胞元及非揮發性記憶體胞元在弱反轉(次臨限區)中經偏壓:
Ids=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)*Vt2成比例,其中u為載流子遷移率,且Wt及L分別為記憶體胞元之寬度及長度。
對於使用記憶體胞元(諸如,參考記憶體胞元或周邊記憶體胞元)或電晶體將輸入電流轉換成輸入電壓之I至V對數轉換器:Vg=n*Vt*log[Ids/wp*Io]
其中,wp為參考或周邊記憶體胞元之w。
對於用作具有電流輸入之向量矩陣乘法器VMM陣列的記憶體陣列,輸出電流為:Iout=wa * Io * e(Vg)/nVt,亦即Iout=(wa/wp) * Iin=W * Iin W=e(Vthp-Vtha)/nVt
此處,wa=記憶體陣列中之各記憶體胞元之w。
Vthp為周邊記憶體胞元之有效臨限電壓,且Vtha為主(資料)記憶體胞元之有效臨限電壓。應注意,電晶體之臨限電壓為基板體偏壓電壓之函數,且表示為Vsb之基板體偏壓電壓可經調變以補償此溫度下之各種條件。臨限電壓Vth可表述為:Vth=Vth0+γ(SQRT|Vsb-2*φF)-SQRT|2* φF|)
其中Vth0為具有零基板偏壓之臨限電壓,φF為表面電位,且γ為體效應參數。
字線或控制閘極可用作用於輸入電壓之記憶體胞元之輸入。
替代地,本文中所描繪之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陣列的記憶體胞元可用於所有區或其組合(次臨限區、線性區或飽和區)中。
圖7之VMM陣列32的其他實施例描繪於美國專利第10,748,630號中,該專利以引用之方式併入本文中。如彼申請案中所描述,源極線或位元線可用作神經元輸出(電流求和輸出)。
圖10描述神經元VMM陣列1000,其尤其適合於圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸。VMM陣列1000包含非揮發性記憶體胞元之記憶體陣列1003、第一非揮發性參考記憶體胞元之參考陣列1001及第二非揮發性參考記憶體胞元之參考陣列1002。配置於陣列之行方向上的參考陣列1001及1002用以將流入端子BLR0、BLR1、BLR2及BLR3中之電流輸入轉換成電壓輸入WL0、WL1、WL2及WL3。實際上,第一及第二非揮發性參考記憶體胞元為二極體連接式貫穿多工器1014(僅部分描述),其中電流輸入流入該等多工器中。參考胞元經調校(例如,程式化)至目標參考位準。目標參考位準由參考小型陣列矩陣(圖中未示)提供。
記憶體陣列1003用於兩個目的。首先,其儲存將由VMM陣列1000在其各別記憶體胞元上使用之權重。其次,記憶體陣列1003有效地將輸入(亦即,在端子BLR0、BLR1、BLR2及BLR3中提供之電流輸入,其由參考陣列1001及1002轉換成輸入電壓以供應至字線WL0、WL1、WL2及WL3)乘以儲存於記憶體陣列1003中之權重,且接著將所有結果(記憶體胞元電流)相加以在各別位元線(BL0至BLN)上產生輸出,該輸出將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,記憶體陣列1003消除對單獨的乘法及加法邏輯電路之需求,且亦為功率高效的。此處,電壓輸入被設置於字線WL0、WL1、WL2及WL3上,且輸出在讀取(推斷)操作期間出現於各別位元線BL0至BLN上。置於位元線BL0
至BLN中之各者上的電流對來自連接至彼特定位元線之所有非揮發性記憶體胞元的電流執行求和函數。
表5描述用於VMM陣列1000之操作電壓及電流。表中之行指示置於以下各者上的電壓:用於選定胞元之字線、用於未選定胞元之字線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
圖11描述神經元VMM陣列1100,其尤其適合於圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1100包含非揮發性記憶體胞元之記憶體陣列1103、第一非揮發性參考記憶體胞元之參考陣列1101及第二非揮發性參考記憶體胞元之參考陣列1102。參考陣列1101及1102在VMM陣列1100之列方向上延行。VMM陣列類似於VMM 1000,其例外之處在於在VMM陣列1100中,字線在豎直方向上延行。此處,輸入被設置於字線(WLA0、WLB0、WLA1、WLB1、WLA2、WLB2、WLA3、WLB3)上,且輸出在讀取操作期間出現於源極線(SL0、SL1)上。置於各源極線上之電流對來自連接至彼特定源極線之記憶體胞元的所有電流執行求和函數。
表6描述用於VMM陣列1100之操作電壓及電流。表中之行指示置於以下各者上的電壓:用於選定胞元之字線、用於未選定胞元之字線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
圖12描述神經元VMM陣列1200,其尤其適合於圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1200包含非揮發性記憶體胞元之記憶體陣列1203、第一非揮發性參考記憶體胞元之參考陣列1201及第二非揮發性參考記憶體胞元之參考陣列1202。參考陣列1201及1202用以將流入端子BLR0、BLR1、BLR2及BLR3中之電流輸入轉換成電壓輸入CG0、CG1、CG2及CG3。實際上,第一及第二非揮發性參考記憶體胞元為二極體連接式貫穿多工器1212(僅部分描述),其中電流輸入透過BLR0、BLR1、BLR2及BLR3流入該等多工器中。多工器1212各自包括各別多工器1205及串疊電晶體1204以確保在讀取操作期間第一及第二非揮發性參考記憶體胞元中之各者之位元線(諸如,BLR0)上的恆定電壓。參考胞元經調校至目標參考位準。
記憶體陣列1203用於兩個目的。首先,其儲存將由VMM陣列1200使用之權重。其次,記憶體陣列1203有效地將輸入(提供至端子BLR0、BLR1、BLR2及BLR3之電流輸入,其中參考陣列1201及1202將此等電流輸入轉換成輸入電壓以供應至控制閘極(CG0、CG1、CG2及CG3)乘以儲存於記憶體陣列中之權重,且接著將所有結果(胞元電流)相加以產生輸出,該輸出呈現於BL0至BLN上,且將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,記憶體陣列消除對單獨的乘法及加法邏輯電路之需求,且亦為功率高效的。此處,輸入被設置於控制閘極線(CG0、CG1、CG2及CG3)上,且輸出在讀取操作期間出現於位元線
(BL0至BLN)上。置於各位元線上之電流對來自連接至彼特定位元線之記憶體胞元的所有電流執行求和函數。
VMM陣列1200針對記憶體陣列1203中之非揮發性記憶體胞元實施單向調校。亦即,各非揮發性記憶體胞元經抹除且接著經部分程式化,直至達到浮動閘極上之所需電荷。若過多電荷置於浮動閘極上(使得錯誤值儲存於胞元中),則胞元經抹除且部分程式化操作之序列重新開始。如所展示,共用同一抹除閘極(諸如,EG0或EG1)之兩列被一起抹除(此被稱為頁面抹除),且此後,各胞元經部分地程式化直至達到浮動閘極上之所需電荷。
表7描述用於VMM陣列1200之操作電壓及電流。表中之行指示置於以下各者上的電壓:用於選定胞元之字線、用於未選定胞元之字線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之控制閘極、用於與選定胞元在同一扇區中之未選定胞元的控制閘極、用於與選定胞元在不同扇區中之未選定胞元的控制閘極、用於選定胞元之抹除閘極、用於未選定胞元之抹除閘極、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
圖13描述神經元VMM陣列1300,其尤其適合於圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1300包含非揮發性記憶體胞元之記憶體陣列1303、第一非揮
發性參考記憶體胞元參考陣列1301及第二非揮發性參考記憶體胞元之參考陣列1302。EG線EGR0、EG0、EG1及EGR1豎直地延行,而CG線CG0、CG1、CG2及CG3以及SL線WL0、WL1、WL2及WL3水平地延行。VMM陣列1300類似於VMM陣列1400,其例外之處在於VMM陣列1300實施雙向調校,其中由於使用單獨的EG線,各個別胞元可視需要經完全抹除、部分程式化及部分抹除以達到浮動閘極上之所需電荷量。如所展示,參考陣列1301及1302將端子BLR0、BLR1、BLR2及BLR3中之輸入電流轉換成在列方向上待施加至記憶體胞元的控制閘極電壓CG0、CG1、CG2及CG3(透過二極體連接式參考胞元貫穿多工器1314之動作)。電流輸出(神經元)在位元線BL0至BLN中,其中各位元線對來自連接至彼特定位元線之非揮發性記憶體胞元的所有電流進行求和。
表8描述用於VMM陣列1300之操作電壓及電流。表中之行指示置於以下各者上的電壓:用於選定胞元之字線、用於未選定胞元之字線、用於選定胞元之位元線、用於未選定胞元之位元線、用於選定胞元之控制閘極、用於與選定胞元在同一扇區中之未選定胞元的控制閘極、用於與選定胞元在不同扇區中之未選定胞元的控制閘極、用於選定胞元之抹除閘極、用於未選定胞元之抹除閘極、用於選定胞元之源極線及用於未選定胞元之源極線。列指示讀取、抹除及程式化之操作。
圖14描述神經元VMM陣列1400,其尤其適合於圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在VMM陣列1400中,輸入INPUT0、...、INPUTN分別在位元線BL0、...、BLN上經接收,且輸出OUTPUT1、OUTPUT2、OUTPUT3及OUTPUT4分別產生於源極線SL0、SL1、SL2及SL3上。
圖15描述神經元VMM陣列1500,其尤其適合於圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、INPUT1、INPUT2及INPUT3分別在源極線SL0、SL1、SL2及SL3上經接收,且輸出OUTPUT0、...、OUTPUTN產生於位元線BL0、...、BLN上。
圖16描述神經元VMM陣列1600,其尤其適合於圖2中所展示之記憶體胞元210,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTM分別在字線WL0、...、WLM上經接收,且輸出OUTPUT0、...、OUTPUTN產生於位元線BL0、...、BLN上。
圖17描述神經元VMM陣列1700,其尤其適合於圖3中所展示之記憶體胞元310,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTM分別在字線WL0、...、WLM上經接收,且輸出OUTPUT0、...、OUTPUTN產生於位元線BL0、...、BLN上。
圖18描述神經元VMM陣列1800,其尤其適合於圖4中所展示之記憶體胞元410,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTn分別在豎直控制閘極線
CG0、...、CGN上經接收,且輸出OUTPUT1及OUTPUT2產生於源極線SL0及SL1上。
圖19描述神經元VMM陣列1900,其尤其適合於圖4中所展示之記憶體胞元410,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTN分別在位元線控制閘極1901-1、1901-2、...、1901-(N-1)及1901-N之閘極上經接收,該等位元線控制閘極分別耦接至位元線BL0、...、BLN。例示性輸出OUTPUT1及OUTPUT2產生於源極線SL0及SL1上。
圖20描述神經元VMM陣列2000,其尤其適合於圖3中所展示之記憶體胞元310、圖5中所展示之記憶體胞元510及圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTM在字線WL0、....、WLM上經接收,且輸出OUTPUT0、...、OUTPUTN分別產生於位元線BL0、...、BLN上。
圖21描述神經元VMM陣列2100,其尤其適合於圖3中所展示之記憶體胞元310、圖5中所展示之記憶體胞元510及圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTM在控制閘極線CG0、...、CGM上經接收。輸出OUTPUT0、...、OUTPUTN分別產生於豎直源極線SL0、...、SLN上,其中各源極線SLi耦接至行i中之所有記憶體胞元之源極線。
圖22描述神經元VMM陣列2200,其尤其適合於圖3中所展示之記憶體胞元310、圖5中所展示之記憶體胞元510及圖7中所展示之記憶體胞元710,且用作輸入層與下一層之間的突觸及神經元部分。在此實施例中,輸入INPUT0、...、INPUTM在控制閘極線CG0、...、CGM上經接
收。輸出OUTPUT0、...、OUTPUTN分別產生於豎直位元線BL0、...、BLN上,其中各位元線BLi耦接至行i中之所有記憶體胞元之位元線。
至VMM陣列之輸入可為類比位準、二進位位準、脈衝、時間調變脈衝或數位位元(在此情況下,需要DAC將數位位元轉換成適當的輸入類比位準),且輸出可為類比位準、二進位位準、時序脈衝、脈衝或數位位元(在此情況下,需要輸出ADC將輸出類比位準轉換成數位位元)。
一般而言,對於VMM陣列中之各記憶體胞元,各權重W可由單個記憶體胞元或差分胞元或兩個混合記憶體胞元(2個胞元之平均值)實施。在差分胞元情況下,需要兩個記憶體胞元以將權重W實施為差分權重(W=W+-W-)。在兩個混合記憶體胞元中,需要兩個記憶體胞元以將權重W實施為兩個胞元之平均值。
圖23描述VMM系統2300。在一些實施例中,儲存於VMM陣列中之權重W經儲存為差分對W+(正權重)及W-(負權重),其中W=(W+)-(W-)。在VMM系統2300中,一半位元線經指明為W+線,亦即,連接至將儲存正權重W+之記憶體胞元的位元線,且另一半位元線經指明為W-線,亦即,連接至實施負權重W-之記憶體胞元的位元線。W-線以交替方式穿插於W+線當中。減法運算係由自W+線及W-線接收電流之求和電路執行,諸如求和電路2301及2302。W+線之輸出及W-線之輸出組合在一起,從而對於所有(W+,W-)線對之每對(W+,W-)胞元,有效地得出W=W+-W-。雖然上文已關於W-線以交替方式穿插在W+線當中進行描繪,但在其他實施例中,W+線及W-線可任意地位於陣列中之任何位置。
圖24描述另一實施例。在VMM系統2410中,在第一陣列2411中實施正權重W+且在第二陣列2412(與第一陣列分離之第二陣列2412)中實施負權重W-,且所得權重藉由求和電路2413適當地組合在一起。
圖25描述VMM系統2500。儲存於VMM陣列中之權重W經儲存為差分對W+(正權重)及W-(負權重),其中W=(W+)-(W-)。VMM系統2500包含陣列2501及陣列2502。陣列2501及2502中之各者中的一半位元線經指明為W+線,亦即,連接至將儲存正權重W+之記憶體胞元的位元線,且陣列2501及2502中之各者中的另一半位元線經指明為W-線,亦即,連接至實施負權重W-之記憶體胞元的位元線。W-線以交替方式穿插於W+線當中。減法運算係由自W+線及W-線接收電流之求和電路執行,諸如求和電路2503、2504、2505及2506。來自各陣列2501、2502的W+線之輸出及W-線之輸出分別組合在一起,以針對所有(W+,W-)線對之各對(W+,W-)胞元,有效地得出W=W+-W-。此外,來自各陣列2501及2502之W值可透過求和電路2507及2508進一步組合,以使得各W值係來自陣列2501的W值減去來自陣列2502之W值的結果,此意謂來自求和電路2507及2508之最終結果係兩個差分值之差分值。
用於類比神經記憶體系統中之各非揮發性記憶體胞元待經抹除及程式化,以在浮動閘極中保持極特定且精確的電荷量,亦即,電子數目。舉例而言,各浮動閘極應保持N個不同值中之一者,其中N為可由各胞元指示之不同權重的數目。N之實施例包括16、32、64、128及256。
VMM及神經網路上下文之外的先前技術非揮發性記憶體系統提供冗餘列。在製造及測試期間,識別含有一或多個不良胞元之列且將此類不良列之位址連同彼不良列至特定冗餘列之映射一起記錄於非揮發性表中。在操作期間,若在寫入或讀取操作期間接收到不良列之位址,則系統停用彼列之讀取或寫入,且替代地啟用與非揮發性表中之不良列相聯結的特定冗餘列之讀取或寫入。
圖26揭示先前技術記憶體系統2600,該系統替換含有一或多個冗餘列之列。記憶體系統2600包含位址比較器2601、反相器2602、列解碼器2603、冗餘列解碼器2604、陣列2605、冗餘陣列2606及表2607。表2607在製造及測試期間填入有不良列之位址XA'[10:0]及經指派以替換各別不良列之各別冗餘列的位址XRA[10:0]。表2607儲存於諸如ROM、快閃記憶體或一組熔絲之非揮發性儲存裝置中。
在讀取或寫入操作期間,接收到位址XA[10:0]以用於讀取或寫入操作。位址比較器2601比較彼位址與儲存於表2607中之不良列的位址。在此實施例中,展示例示性不良位址XRA[10:0]。若位址比較器2601識別由ADDR MATCH指示之匹配,則接收到之位址XA[10:0]為已知不良位址。信號ADDR MATCH係作為啟用信號EN_RED_XDEC施加至冗餘列解碼器2604,且ADDR MATCH之反信號係作為停用信號DISABLE_XDEC_B施加至列解碼器2603。列解碼器2603亦接收位址XA[10:0]。然而,因為列解碼器2603接收停用信號,所以其不對陣列2605採取動作。實情為,冗餘列解碼器2604經啟用且啟用冗餘陣列2606中對應於先前已指派給由XA[10:0]指示之各別不良列之各別冗餘列的各別列,該各別冗餘列係作為XRA[10:0]自表2607獲得。因此,寫入或讀取操作係對各別冗餘列而非各別不良列執行。
此先前技術冗餘機制不適用於人工神經網路中之VMM中的神經讀取操作,此係因為在神經讀取操作期間,一次讀取多列,且未接收到可形成與已知不良列之一組位址進行比較之基礎的個別位址XA。因此,人工神經網路需要供在神經讀取操作期間使用的冗餘機制。
揭示用以實施使用標籤暫存器之非揮發性記憶體胞元陣列中的冗餘之電路系統及方法的眾多實施例。
12:半導體基板
14:源極區
16:汲極區
18:通道區
20:浮動閘極
22:字線端子/選擇閘極
24:位元線
28:控制閘極
30:抹除閘極
31,2804,2804-0,2804-1~2804-n:數位至類比轉換器
32,2701:VMM陣列
32a:輸入層/輸入VMM陣列
32b,32c:隱藏層/VMM陣列
32d,32e:完全連接層/VMM陣列
33:VMM陣列/神經網路陣列/非揮發性記憶體胞元陣列
34:抹除閘極及字線閘極解碼器
35:控制閘極解碼器
36:位元線解碼器
37:源極線解碼器
38:差分求和器/求和運算放大器
39:激勵函數區塊
210:記憶體胞元
310:四閘極記憶體胞元
410:三閘極記憶體胞元/快閃記憶體胞元
510:堆疊閘極記憶體胞元/快閃記憶體胞元
900,1000,1100,1200,1300,1400,1600,1700,1800,1900,2000,2100,2200:神經元VMM陣列
901,1003,1103,1203,1303:記憶體陣列
902,1001,1002,1101,1102,1201,1202,1301,1302:參考陣列
903,CGM-1,CGM:控制閘極線
904,EGR0,EGR1:EG線
1014,1212:二極體連接式貫穿多工器
1204:串疊電晶體
1205,1314:多工器
1500:神經元VMM陣列
1901-1,1901-2,1901-(N-1),1901-N:位元線控制閘極
2300,2410,2500,2700:VMM系統
2301,2302,2413,2503,2504,2505,2506,2507,2508:求和電路
2411:第一陣列
2412:第二陣列
2501,2502:陣列
2600:先前技術記憶體系統
2601,3001,3011,3101,3111,3504:位址比較器
2602:反相器
2603:列解碼器
2604:冗餘列解碼器
2605:陣列
2606,2719,2719A,2719B:冗餘陣列
2607,3513:表
2702:列解碼器
2703:高電壓解碼器
2704:行解碼器
2705:位元線驅動器
2706:輸入電路
2707:輸出電路
2708:控制邏輯
2709:偏壓產生器
2710:高電壓產生區塊
2711:電荷泵
2712:電荷泵調節器
2713:高電壓位準產生器
2714:演算法控制器
2715:類比電路系統
2716:控制引擎
2717:測試控制邏輯
2718:靜態隨機存取記憶體(SRAM)區塊
2800,2900:輸入區塊
2801,2801-0,2801-1~2801-n:位址解碼器
2802,2802-0,2802-1~2802-n:列暫存器
2803,2803-0,2803-1~2803-n:列標籤暫存器
2811,2811-0~2811-m:冗餘位址解碼器
2812,2812-0~2812-m:冗餘列暫存器
2813,2813-0~2813-m:冗餘列標籤暫存器
2814,2814-0~2814-m:冗餘數位至類比轉換器
2904:取樣保持(S/H)邏輯及緩衝器
2910:取樣保持(S/H)及DAC邏輯電路
2914:冗餘取樣保持邏輯及緩衝器
2920:全域數位至類比轉換器(DAC)
3000:標籤位元載入電路/列標籤暫存器載入電路
3002,3003,3012,3013,3102,3103,3112,3113:開關
3100:列暫存器載入電路
3200:列暫存器載入操作
3201,3202,3203,3204,3301,3302,3303,3304,3305,3401,3402,3403,3601,3602,3603:操作
3300:列標籤暫存器載入操作
3400,3600:神經讀取方法
3500:輸出區塊
3501:行多工器
3502:類比至數位轉換器
3503:行標籤暫存器
3511:冗餘行多工器
3512:冗餘類比至數位轉換器
ADDR MATCH:信號
BL0,BL1,BL2,BL3,BLN-1,BLN:豎直位元線
BLR0:端子/位元線
BLR1,BLR2,BLR3:端子
BLx,EGx,WLx,INPUT0,INPUT1,INPUT2,INPUT3,INPUT4,INPUTM-1,INPUTM,INPUTN-1,INPUTN,Inputx,DIN_INT:輸入
C1,C2,C3,S1,S2:層
CB1,CB2,CB3,CB4:突觸
CG0,CG1,CG2,CG3:豎直控制閘極線/電壓輸入/控制閘極電壓/類比電壓
CGn,CGR0,CGRm:類比電壓
CGN:豎直控制閘極線
CGx:輸入/類比電壓/類比輸出
CLK:時脈信號
DIN[127:0]:資料
DINx:數位輸入位元/啟用信號
DISABLE_XDEC_B:停用信號
EG0,EG1:抹除閘極/EG線
ENRDG:全域啟用信號
ENRT,ENRR,EN_RED_XDEC:啟用信號
OUTPUT0,OUTPUT1,OUTPUT2,OUTPUT3,OUTPUT4,OUTPUTN-1,OUTPUTN,Outputx:輸出
P1:激勵函數/池化函數
P2:激勵函數
S0:輸入層
S3:輸出層
SL0,SL1,SL2,SL3,SLN:豎直源極線
SL0EN,SL0ENB,VBSL2,VCAS:信號線
VBSL:線
WL0,WL1,WL2,WL3:電壓輸入/字線/SL線
WL4,WL5,WL6,WL7,WLM-1,WLM,WLA0,WLB0,WLA1,WLB1,WLA2,WLB2,WLA3,WLB3:字線
XA,XA[10:0],XA'[10:0],XRA[10:0]:位址
XA[k:0]:列位址
XA'[k:0]:已知不良位址
XRA[k:0]:冗餘位址
圖1為例示人工神經網路之圖。
圖2描述先前技術分離閘極快閃記憶體胞元。
圖3描述另一先前技術分離閘極快閃記憶體胞元。
圖4描述另一先前技術分離閘極快閃記憶體胞元。
圖5描述另一先前技術分離閘極快閃記憶體胞元。
圖6為例示利用一或多個非揮發性記憶體陣列之人工神經網路的不同層級之圖。
圖7為例示VMM系統之方塊圖。
圖8為例示利用一或多個VMM系統之例示性人工神經網路的方塊圖。
圖9描述VMM系統之另一實施例。
圖10描述VMM系統之另一實施例。
圖11描述VMM系統之另一實施例。
圖12描述VMM系統之另一實施例。
圖13描述VMM系統之另一實施例。
圖14描述VMM系統之另一實施例。
圖15描述VMM系統之另一實施例。
圖16描述VMM系統之另一實施例。
圖17描述VMM系統之另一實施例。
圖18描述VMM系統之另一實施例。
圖19描述VMM系統之另一實施例。
圖20描述VMM系統之另一實施例。
圖21描述VMM系統之另一實施例。
圖22描述VMM系統之另一實施例。
圖23描述VMM系統之另一實施例。
圖24描述VMM系統之另一實施例。
圖25描述VMM系統之另一實施例。
圖26描述具有冗餘之先前技術記憶體系統。
圖27描述VMM系統。
圖28描述用於實施VMM陣列中之列冗餘的例示性輸入區塊。
圖29描述用於實施VMM陣列中之列冗餘的例示性輸入區塊。
圖30描述列標籤暫存器載入電路。
圖31描述列暫存器載入電路。
圖32描述列暫存器載入操作。
圖33描述列標籤暫存器載入操作。
圖34描述神經讀取方法。
圖35描述用於實施VMM陣列中之行冗餘的輸出區塊。
圖36描述神經讀取方法。
VMM系統架構
圖27描述VMM系統2700之方塊圖。VMM系統2700包含VMM陣列2701、冗餘陣列3519A(冗餘列陣列)、冗餘陣列3519B(冗餘行陣列)、列解碼器2702、高電壓解碼器2703、行解碼器2704、位元線驅動器2705
(諸如,用於程式化之位元線控制電路系統)、輸入電路2706、輸出電路2707、控制邏輯2708及偏壓產生器2709。VMM系統2700進一步包含高電壓產生區塊2710,該高電壓產生區塊包含電荷泵2711、電荷泵調節器2712及高電壓位準產生器2713。VMM系統2700進一步包含(程式化/抹除,或權重調校)演算法控制器2714、類比電路系統2715、控制引擎2716(其可包括但不限於諸如算術函數、激勵函數之函數、嵌入式微控制器邏輯)、測試控制邏輯2717及靜態隨機存取記憶體(SRAM)區塊2718,該靜態隨機存取記憶體區塊用以儲存諸如用於輸入電路之中間資料(例如,激勵資料)或用於輸出電路之中間資料(神經元輸出資料、部分和輸出神經元資料)或用於程式化之資料輸入(諸如,用於一整列或用於多列之資料輸入)。此處,冗餘陣列3519A及3519B經展示為與VMM陣列2701相同的實體陣列之部分,但一般熟悉本技藝者應瞭解,冗餘陣列3519A及3519B以及VMM陣列2701替代地可位於各別單獨的實體陣列中。
輸入電路2706可包括電路,諸如DAC(數位至類比轉換器)、DPC(數位至脈衝轉換器、數位至時間調變脈衝轉換器)、AAC(類比至類比轉換器,諸如電流至電壓轉換器、對數轉換器)、PAC(脈衝至類比位準轉換器),或任何其他類型之轉換器。輸入電路2706可實施正規化、線性或非線性按比例放大/按比例縮小函數,或算術函數中之一或多者。輸入電路2706可對輸入位準實施溫度補償函數。輸入電路2706可實施激勵函數,諸如ReLU或S型。輸入電路2706可儲存在程式化或讀取操作期間作為輸入信號待施加或與輸入信號組合的數位激勵資料。數位激勵資料可儲存於暫存器中。輸入電路2706可包含用以驅動諸如CG、WL、EG及SL線之陣列端子的電路,其可包括取樣保持電路及緩衝器。DAC可用以將數位激勵資料轉換成待施加至陣列之類比輸入電壓。
輸出電路2707可包括電路,諸如ITV(電流至電壓電路)、ADC(類比至數位轉換器,其用以將神經元類比輸出轉換成數位位元)、AAC(類比至類比轉換器,諸如但不限於電流至電壓轉換器或對數轉換器)、APC(類比至脈衝轉換器、類比至時間調變脈衝轉換器),或任何其他類型之轉換器。輸出電路2707可將陣列輸出轉換成激勵資料。輸出電路2707可實施諸如整流線性激勵函數(ReLU)或S型之激勵函數。輸出電路2707可對神經元輸出實施統計正規化、正則化、按比例放大/按比例縮小/增益函數,統計捨位或算術函數(例如,加法、減法、除法、乘法、移位、對數)中之一或多者。輸出電路2707可對神經元輸出或陣列輸出(諸如,位元線輸出)實施溫度補償函數,以便使陣列之功率消耗在溫度範圍內保持大致恆定或改良陣列(神經元)輸出之精度,諸如藉由使IV斜率在溫度範圍內保持大致相同。輸出電路2707可包含用於儲存輸出資料之暫存器。
VMM陣列2701、冗餘陣列3519A及冗餘陣列3519B分別包含配置成列及行之非揮發性記憶體胞元之陣列,其中非揮發性記憶體胞元屬於分別在圖2、圖3、圖4或圖5中展示為記憶體胞元210、310、410或510之類型,或屬於一般熟悉本技藝者已知之其他類型。在一個實施例中,非揮發性記憶體胞元為如圖2、圖3或圖4中之分離閘極快閃記憶體胞元。在另一實施例中,非揮發性記憶體胞元為如圖5中之堆疊閘極快閃記憶體胞元。
圖28描述輸入區塊2800,其在VMM陣列2701之神經讀取操作期間提供列(或扇區)冗餘。輸入區塊2800包含:分別對應於VMM陣列2701中之列編號0至n中之一者的位址解碼器2801-0至2801-n;分別對應於冗餘陣列3519A中之冗餘列編號0至m中之一者的冗餘位址解碼器
2811-0至2811-m;分別對應於VMM陣列2701中之列編號0至n中之一者且耦接至相聯結之位址解碼器2801的列暫存器2802-0至2802-n;分別對應於冗餘陣列3519A中之冗餘列編號0至m中之一者且耦接至相聯結之冗餘位址解碼器2811的冗餘列暫存器2812-0至2812-m;分別對應於VMM陣列2701中之列編號0至n中之一者且耦接至相聯結之位址解碼器2801及列暫存器2802的列標籤暫存器2803-0至2803-n;分別對應於冗餘陣列3519A中之冗餘列編號0至m中之一者且耦接至相聯結之冗餘位址解碼器2811及冗餘列暫存器2812的冗餘列標籤暫存器2813-0至2813-m;分別對應於VMM陣列2701中之列編號0至n中之一者且耦接至相聯結之列暫存器2802及列標籤暫存器2803的數位至類比(DAC,其可被稱為列DAC或本端DAC)轉換器2804-0至2804-n;及分別對應於冗餘陣列3519A中之列編號0至m中之一者且耦接至相聯結之冗餘列暫存器2812及冗餘列標籤暫存器2813的冗餘數位至類比轉換器2814-0至2814-m。
選擇地,列組織成扇區且扇區組織成扇區群組。在一個實施例中,各別扇區含有兩列,且各別扇區群組含有四個扇區。選擇地,列暫存器2802及冗餘列暫存器2812可分別儲存8個位元、4個位元、16個位元或任何其他數目個位元。選擇地,列標籤暫存器2803及冗餘列標籤暫存器2813可分別儲存操作為其相聯結列之標籤位元的1個位元。
在神經讀取操作開始時,列暫存器2802-0至2802-n及冗餘列暫存器2812-0至2812-m載入有數位輸入位元DINx(其中x為DIN中之位元數目,諸如128個位元),其中數位輸入位元可來自原始輸入資料(例如,影像)或來自先前網路層之輸出,在神經讀取操作期間待施加至彼特定列。ENRR為用以啟用列暫存器之載入的啟用信號。時脈信號CLK用以在經啟用時將數位輸入位元DINx載入至各別的列暫存器2802及冗餘列
暫存器2812中。在一個實施例中,x=128且列暫存器2802及冗餘列暫存器2812分別儲存8個位元,在此情況下,可每時脈循環載入16個列暫存器2802及冗餘列暫存器2812。在VMM陣列2701之特定列已知為不良的情況下,替代用於不良列之列暫存器或除用於不良列之列暫存器以外,其相聯結之冗餘列暫存器亦將被載入。下文參考圖32更詳細地描述此暫存器載入操作。
再次參考圖28,在神經讀取操作開始時或在神經讀取操作之前,若相聯結列為良好列且經啟用(其將由針對彼列標籤位元=「1」接收到之DIN指示),則列標籤暫存器2803-0及2803-n分別載入有第一值(例如,「1」),且若相聯結列為不良列(其將由針對彼列標籤位元=「0」接收到之DIN指示),則載入有第二值(例如,「0」)。類似地,若冗餘列待使用且經啟用(其將由彼冗餘列標籤位元=「1」之DIN指示),則冗餘列標籤暫存器2813-0至2813-m分別載入有第三值(例如,「1」),且若不使用冗餘列(其將由彼冗餘列標籤位元=「0」之DIN指示),則載入有第四值(例如,「0」)。DINx、ENRT(其為用以啟用列標籤暫存器之載入的啟用信號)及CLK信號結合標籤位元載入電路3000用於此標籤暫存器載入操作,下文參考圖30更詳細地描述該標籤位元載入電路。在x=128之實施例中,每時脈循環載入128個列標籤暫存器2803及冗餘列標籤暫存器2813。下文參考圖33更詳細地描述此列標籤暫存器載入實施例。
替代地,替代使所有列標籤暫存器2803及所有冗餘列標籤暫存器2813載入有標籤位元值,使用列位址XA[k:0]以一次存取一個不良列或一個冗餘列,且使相聯結之列標籤暫存器2803直接載入有第二值(例如,「0」)以指示不良列且使相聯結之冗餘列標籤暫存器2813載入有第三值(例如,「1」)以指示待使用冗餘列。
再次參考圖28,在列暫存器2802、冗餘列暫存器2812、列標籤暫存器2803及冗餘列標籤暫存器2813經載入之後,可執行神經讀取操作。在神經讀取操作中,不需要位址(XA[k:0]),此係因為將一次讀取VMM陣列中之所有列,且彼等列之讀取操作替代地可藉由全域啟用信號ENRDG啟用。接收啟用信號ENRDG之所有列暫存器2802將輸出其儲存之激勵資料至其相聯結之數位至類比轉換器2804。若列標籤暫存器2803中之標籤位元指示良好列(例如,標籤位元=「1」),則列標籤暫存器2803將向相聯結之數位至類比轉換器2804確立輸出啟用信號(例如,輸出=「1」)。若列標籤暫存器2803中之標籤位元指示不良列(例如,標籤位元=「0」),則列標籤暫存器2803將向相聯結之數位至類比轉換器2804撤銷確立輸出啟用信號(例如,輸出=「0」)。自列標籤暫存器2803接收經確立之輸出啟用信號的數位至類比轉換器2804接著將會將自相聯結之列暫存器2802接收到的所接收數位值轉換成類比電壓CG0至CGn,該等類比電壓經施加至VMM陣列2701中之各別控制閘極線。
在另一實施例中,全域啟用信號ENRDG使得DAC能夠將來自列暫存器及標籤位元之輸入轉換成類比電壓CGx,該等電壓經施加至VMM陣列2701中之各別控制閘極。在此情況下,預先啟用列暫存器及標籤位元。在另一實施例中,全域啟用信號ENRDG使得DAC之類比輸出CGx能夠透過DAC輸出處之輸出多工器(圖中未示)而施加至VMM陣列2701中之各別控制閘極。在此情況下,預先啟用列暫存器、標籤位元及DAC。
類似地,在神經讀取操作期間,不需要冗餘位址(XRA[k:0]),且冗餘列之讀取操作替代地可藉由全域啟用信號ENRDG啟用。接收啟用信號ENRDG之所有冗餘列暫存器2812將輸出其儲存之激勵
資料至其相聯結之冗餘數位至類比轉換器2814。若列標籤暫存器2813中之標籤位元指示待使用冗餘列(例如,冗餘標籤位元=「1」),則冗餘列標籤暫存器2813將向相聯結之冗餘數位至類比轉換器2814確立輸出啟用信號(例如,輸出=「1」)。若冗餘列標籤暫存器2813中之標籤位元指示不使用冗餘列(例如,冗餘標籤位元=「0」),則冗餘列標籤暫存器2813將向相聯結之冗餘數位至類比轉換器2814撤銷確立輸出啟用信號(例如,輸出=「0」)。自冗餘列標籤暫存器2813接收經確立之輸出啟用信號的冗餘數位至類比轉換器2814將會將自相聯結之冗餘列暫存器2812接收到的數位值轉換成類比電壓CGR0至CGRm,該等類比電壓經施加至冗餘陣列2719A中之各別控制閘極線。類似地,對於規則列,替代地,全域啟用信號ENRDG啟用DAC,或對於規則列,啟用DAC之輸出。
最終結果為VMM陣列2701中之所有良好列而非不良列將接收輸入值,且冗餘陣列2719中與VMM陣列2701中之不良列相聯結的冗餘列將接收輸入值,且所需輸出電流將作為神經讀取操作之輸出自VMM陣列2701及冗餘陣列3519A接收(諸如,呈來自VMM陣列2701及冗餘陣列3519A之位元線之電流的形式)。列標籤暫存器及冗餘列標籤暫存器用以識別在神經讀取操作期間待讀取之列及冗餘列。
圖29描述類似於圖28中之輸入區塊2800的輸入區塊2900,其中DAC 2804及冗餘DAC 2814由各別的取樣保持(S/H)邏輯及緩衝器2904與冗餘取樣保持邏輯及緩衝器2914以及全域數位至類比轉換器(DAC)2920與取樣保持(S/H)及DAC邏輯電路2910替換。在神經讀取操作期間,將來自列暫存器2802及冗餘列暫存器2812之激勵資料提供至各別S/H邏輯及緩衝器2904。S/H及DAC邏輯2910將控制全域DAC 2920以將全域DAC類比電壓提供至本端S/H邏輯及緩衝器2904。S/H及DAC邏
輯2920連同邏輯S/H邏輯及緩衝器2904內部之邏輯將會將對應的全域DAC類比電壓取樣至邏輯S/H及邏輯緩衝器內部之本端緩衝器中。關於取樣保持緩衝器、全域數位至類比轉換器及S/H及DAC邏輯電路之實施的其他細節含於在2022年12月8日申請且標題為「人工神經網路陣列之輸入電路(Input Circuit for Artificial Neural Network Array)」之美國專利申請案第18/077,686號中,該申請案以引用之方式併入本文中。列標籤暫存器2803及冗餘列標籤暫存器2813以上文針對圖28所描述之相同方式產生經確立或經撤銷確立之輸出啟用信號。自列標籤暫存器2803或冗餘列標籤暫存器2813接收經確立之輸出啟用信號的取樣保持緩衝器2904及冗餘取樣保持緩衝器將會將其保持的類比電壓CGR0至CGRm施加至冗餘陣列2719A中之各別控制閘極線。
圖30描述列標籤暫存器載入電路3000,該電路包含位址比較器3001及3011以及開關3002、3003、3012及3013,且用以在載入操作期間將作為DIN接收到之標籤位元及冗餘標籤位元載入至列標籤暫存器2803及冗餘列標籤暫存器2813中。
位址比較器3001以及開關3002及3003用以將資料載入至列標籤暫存器2803中。位址比較器3001比較接收到之列位址XA[k:0]與儲存於表2607中之已知不良位址XA'[k:0]。若存在匹配,則開關3003閉合且開關3002斷開,且作為各別標籤暫存器之輸入的DIN_INT繫結至接地(亦即,DIN_INT=「0」)。此將使得載入至標籤位元暫存器中之標籤位元為「0」。若不存在匹配,則開關3003斷開且開關3002閉合,且DIN_INT為與接收到之DIN值相同的值,該DIN值將預設為「1」。作為此操作之結果,若列為良好列,則所儲存標籤位元將為「1」(第一值),且若列為不良列,則所儲存標籤位元將為「0」(第二值)。
位址比較器3011以及開關3012及3013用以程式化冗餘標籤位元暫存器2813。位址比較器3011比較接收到之列位址XA[k:0]與儲存於表2607中之已知不良位址XA'[k:0]。若存在匹配,則開關3013閉合且開關3012斷開,且DIN_INT將具有與接收到之DIN值相同的值,該DIN值將預設為「1」。此將使得載入至冗餘標籤位元暫存器中之冗餘標籤位元為「1」。若不存在匹配,則開關3013斷開且開關3012閉合,此將使得DIN_INT繫結至接地(亦即,DIN_INT=「0」)。此將使得載入至冗餘標籤位元暫存器中之冗餘標籤位元為「0」。作為此操作之結果,若待使用冗餘列,則所儲存之冗餘標籤位元將為「1」(第一值),且若不使用冗餘列,則所儲存之冗餘標籤位元將為「0」(第二值)。
圖31描述列暫存器載入電路3100,該電路包含位址比較器3101及3111以及開關3102、3103、3112及3113,且用以在載入操作期間使列暫存器2802及冗餘列暫存器2812具有作為DIN接收到之激勵資料。
位址比較器3101以及開關3102及3103用以將資料載入至列暫存器2802中。位址比較器3101比較接收到之列位址XA[k:0]與儲存於表2607中之已知不良位址XA'[k:0]。若存在匹配,則開關3103閉合且開關3102斷開,且作為各別列暫存器2802之輸入的DIN_INT繫結至接地(亦即,DIN_INT[7:0]=「0」)。此將使得載入至各別列暫存器2802中之位元全部為「0」。若不存在匹配,則開關3103斷開且開關3102閉合,且DIN_INT[7:0]為與接收到之DIN[7:0]值相同的值,意謂接收到之激勵資料將載入至列暫存器2802中。作為此操作之結果,若列為良好列,則將儲存激勵資料,且若列為不良列,則將儲存全0。
位址比較器3111以及開關3112及3113用以程式化冗餘列暫存器2812。位址比較器3111比較接收到之列位址XA[k:0]與儲存於表
2607中之已知不良位址XA'[k:0]。若存在匹配,則開關3113閉合且開關3112斷開,且DIN_INT[7:0]將具有與接收到之DIN[7:0]值相同的值,意謂接收到之激勵資料將載入至冗餘列暫存器2812中。若不存在匹配,則開關3113斷開且開關3112閉合,此將使得DIN_INT[7:0]繫結至接地(亦即,DIN_INT[7:0]=「0」)。此將使得載入至各別冗餘列暫存器2812中之位元全部為「0」。作為此操作之結果,若待使用冗餘列,則將儲存激勵資料,且若不使用冗餘列,則將儲存全0。
圖32描述列暫存器載入操作3200,該操作用以將列群組i之資料載入至先前參考圖28、圖30及圖31所描述之列暫存器2802及冗餘列暫存器2812中。
在操作3201中,輸入區塊2800接收列群組i之列群組位址(其包含容納於位址XA[k:0]中之第一位元集合以指示特定列群組)、列群組i內之列的列位址(其包含容納於位址XA[k:0]中之第二位元集合以識別列群組內之特定列),及待載入至對應於列群組i內之彼等列位址之列暫存器中的資料DIN[127:0]。
在操作3202中,系統判定列群組位址是否匹配含有如表2607中所指示之不良列的任何所儲存之列群組位址。若否,則列群組i及其列不含有任何不良列,且載入操作繼續進行至操作3204。若是,則列群組i含有至少一個不良列且載入操作繼續進行至操作3203。
在操作3203中,系統識別與列群組i中之不良列之列位址相聯結的彼等冗餘列暫存器,且其載入對應於相聯結之不良列位址的DIN[127:0]中之位元。舉例而言,若表2607指示列群組i中之列位址X1為不良列,則表2607將進一步識別冗餘列以代替列X1使用。此後,不良列X1之DIN[127:0]中的資料將載入至相聯結之冗餘列暫存器中。
在操作3204中,系統將DIN[127:0]載入至列群組i中之列暫存器中。此包括將資料載入至不良列X1中。不良列X1中之資料實際上將不用於後續讀取或神經讀取操作中,此係因為其相聯結之列標籤位元將指示其為不良列。替代地,系統替代地可不載入資料,或將諸如全「0」之已知型樣之資料載入至諸如列X1之任何不良列中。
圖33描述列標籤暫存器載入操作3300,該操作用以將資料載入至先前參考圖28、圖29及圖30所描述之列標籤暫存器2803及冗餘列標籤暫存器2813中。
在操作3301中,系統接收列群組i之列群組位址(其包含容納於位址XA[k:0]中之第一位元集合以指示特定列群組)、列群組i內之列的列位址(其包含容納於位址XA[k:0]中之第二位元集合以識別列群組內之特定列),及待載入至對應於列群組i內之彼等列位址之列標籤暫存器中的資料DIN[127:0]。
在操作3302中,系統判定列群組位址是否匹配含有如表2607中所指示之不良列的任何所儲存之列群組位址。若否,則列群組i不含有任何不良列,且載入操作繼續進行至操作3303。若是,則列群組i含有至少一個不良列且載入操作繼續進行至操作3304。
在操作3303中,系統將DIN[127:0]載入至列群組i中之列標籤暫存器中。
在操作3304中,系統藉由查閱表2607來識別與列群組i中之不良列相聯結的彼等冗餘列標籤暫存器,且將DIN[127:0](其可為全「1」)中之位元載入至對應於相聯結之列位址的冗餘列標籤暫存器中。舉例而言,若表2607指示群組i中之列位址X1為不良列,則表2607將進一步識別冗餘列以代替列X1使用。列標籤資料暫存器中與不良列X1相聯結之
列標籤資料將接著載入有「0」以指示該列為不良列。相聯結之冗餘列標籤資料暫存器中的冗餘列標籤資料將載入有「1」以指示待使用冗餘列。與列位址X1相聯結之DIN[127:0]中的列標籤資料將儲存於與冗餘列位址R1相聯結之冗餘列標籤暫存器中。
在操作3305中,對於並非不良列且與冗餘列不相聯之列,系統將DIN[127:0]載入至列群組i中之列標籤暫存器中,且對於與冗餘列相聯結之不良列,其將「0」載入至列標籤暫存器中。
以此方式,列標籤暫存器載入有位元以指示哪些列為良好列且哪些列為不良列,且冗餘列標籤暫存器載入有位元以指示哪些冗餘列在讀取或神經讀取操作期間待使用且哪些冗餘列在讀取或神經讀取操作期間不使用。
圖34描述神經讀取方法3400。神經讀取方法3400包含操作3401、3402及3403。
操作3401包含基於儲存於列標籤暫存器中之值將儲存於列暫存器中之資料轉換成類比電壓之第一集合,及將類比電壓之第一集合施加至非揮發性記憶體胞元之陣列中的非揮發性記憶體胞元之各別列。在一個選項下,轉換儲存於列暫存器中之資料包含藉由數位至類比轉換器自列標籤暫存器接收數位資料及產生類比電壓之第一集合。在另一選項下,轉換儲存於列暫存器中之資料包含藉由取樣保持緩衝器回應於來自列標籤暫存器之數位資料而取樣及保持類比電壓之第一集合。
操作3402包含基於儲存於冗餘列標籤暫存器中之值將儲存於冗餘列暫存器中之資料轉換成類比電壓之第二集合,及將類比電壓之第二集合施加至非揮發性記憶體胞元之冗餘陣列中的非揮發性記憶體胞元之各別列。在一個選項下,轉換儲存於冗餘列暫存器中之資料包含藉
由冗餘數位至類比轉換器自冗餘列標籤暫存器接收數位資料及產生類比電壓之第二集合。在另一選項下,轉換儲存於冗餘列暫存器中之資料包含藉由取樣保持緩衝器回應於來自冗餘列標籤暫存器之數位資料而取樣及保持類比電壓之第二集合。
操作3403包含自非揮發性記憶體胞元之陣列及非揮發性記憶體胞元之冗餘陣列接收電流。
方法3400中之陣列可包含非揮發性記憶體胞元之陣列。非揮發性記憶體胞元可包含堆疊閘極快閃記憶體胞元(諸如,屬於展示為圖5中之記憶體胞元510的類型)或分離閘極快閃記憶體胞元(諸如,屬於展示為圖2至圖4中之記憶體胞元210、310及410的類型)。
冗餘亦可在行基礎而非列基礎上實施。圖35描述使用圖27中之冗餘陣列2719B實施VMM陣列2701之行冗餘的輸出區塊3500。VMM陣列2701中之各行與各別行多工器3501、各別類比至數位轉換器3502、各別位址比較器3504及如所展示之開關相聯結。在神經讀取操作之前,識別已知為不良行(其可藉由與表3513中之位址進行比較來判定)之行位址之集合,且設定行標籤暫存器3503中之標籤位元以識別彼等不良行。舉例而言,標籤位元「0」可指示不良行,且標籤位元「1」可指示良好行。此後,在神經讀取操作期間,具有指示不良行之標籤位元且不藉由開關耦接至輸出的行。對於彼等行,冗餘陣列2719B中之對應冗餘行替代地使用冗餘行多工器3511及冗餘類比至數位轉換器3512以及所展示之相聯結開關來讀取。因此,將輸出來自VMM陣列2701中之良好行而非不良行的資料,且將輸出與冗餘陣列2719中之不良行相聯結的冗餘資料。行標籤暫存器3503中之標籤位元用以指示在神經讀取操作期間待使用之良好行及不使用之不良行。一或多個類比至數位轉換器3502將來自行多
工器3501之類比信號轉換成一或多個位元,且一或多個冗餘類比至數位轉換器3512將來自冗餘行多工器3511之類比信號轉換成一或多個位元。
圖36描述利用輸出區塊3500之神經讀取方法3600。方法3600包含操作3601、3602及3603。操作3601包含基於表中之資料將行標籤位元暫存器中與陣列中之行相聯結的行標籤位元設定為第一值或第二值。操作3602包含自陣列中與第一值之行標籤位元相聯結的行接收電流及藉由一或多個類比至數位轉換器將自陣列中之行接收到的電流轉換成數位資料。操作3603包含當冗餘陣列中之冗餘行與陣列中與第二值之行標籤位元相聯結的行相聯結時自冗餘行接收電流,及藉由一或多個冗餘類比至數位轉換器將自冗餘陣列中之冗餘行接收到的電流轉換成數位資料。
方法3600中之陣列可包含非揮發性記憶體胞元之陣列。非揮發性記憶體胞元可包含堆疊閘極快閃記憶體胞元(諸如,屬於展示為圖5中之記憶體胞元510的類型)或分離閘極快閃記憶體胞元(諸如,屬於展示為圖2至圖4中之記憶體胞元210、310及410的類型)。
應注意,如本文中所使用,術語「在...上方」及「在...上」兩者包括「在...正上方」(其間未裝設有中間材料、元件或空間)及「間接地在...上」(其間裝設有中間材料、元件或空間)。同樣地,術語「鄰近」包括「直接鄰近」(其間未裝設有中間材料、元件或空間)及「間接鄰近」(其間裝設有中間材料、元件或空間),「安裝至」包括「直接安裝至」(其間未裝設有中間材料、元件或空間)及「間接安裝至」(其間裝設有中間材料、元件或空間),且「電耦接」包括「直接電耦接至」(其間不具有將元件電連接在一起的中間材料或元件)及「間接電耦接至」(其間具有將元件電連接在一起的中間材料或元件)。舉例而言,「在基板上方」形成元件
可包括在基板正上方形成元件而其間不具有中間材料/元件,以及間接地在基板上形成元件,其間具有一或多種中間材料/元件。
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激勵函數/池化函數
P2:激勵函數
S0:輸入層
S1:層
S2:層
S3:輸出層
Claims (20)
- 一種與非揮發性記憶體胞元陣列的冗餘相關的系統,其包含: 非揮發性記憶體胞元之一陣列,該等非揮發性記憶體胞元配置成列及行; 非揮發性記憶體胞元之一冗餘陣列,該等非揮發性記憶體胞元配置成列及行;及 一輸入區塊,其耦接至該陣列中之各別列及該冗餘陣列中之各別列且包含列標籤暫存器及冗餘列標籤暫存器; 其中,列標籤暫存器分別儲存指示待使用之非揮發性記憶體胞元之該陣列之一各別列的一第一值及指示不使用之非揮發性記憶體胞元之該陣列之該各別列的一第二值中之一者,且冗餘列標籤暫存器分別儲存指示待使用之非揮發性記憶體胞元之該冗餘陣列之一各別列的一第三值及指示不使用之非揮發性記憶體胞元之該冗餘陣列之該各別列的一第四值中之一者,且其中,該等列標籤暫存器及該等冗餘列標籤暫存器識別在一神經讀取操作期間待讀取之列及冗餘列。
- 如請求項1之系統,其中,該輸入區塊包含分別耦接至該等列標籤暫存器之列暫存器。
- 如請求項2之系統,其中,該輸入區塊包含分別耦接至該等列暫存器之位址解碼器。
- 如請求項3之系統,其中,該輸入區塊包含耦接至該等列標籤暫存器之一或多個數位至類比轉換器。
- 如請求項3之系統,其中,該輸入區塊包含分別耦接至該等列標籤暫存器之取樣保持緩衝器。
- 如請求項1之系統,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 如請求項1之系統,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
- 一種與非揮發性記憶體胞元陣列的冗餘相關的方法,其包含: 基於儲存於列標籤暫存器中之值將儲存於列暫存器中之資料轉換成類比電壓之一第一集合,及將類比電壓之該第一集合施加至非揮發性記憶體胞元之一陣列中的非揮發性記憶體胞元之各別列; 基於儲存於冗餘列標籤暫存器中之值將儲存於冗餘列暫存器中之資料轉換成類比電壓之一第二集合,及將類比電壓之該第二集合施加至非揮發性記憶體胞元之一冗餘陣列中的非揮發性記憶體胞元之各別列;及 自非揮發性記憶體胞元之該陣列及非揮發性記憶體胞元之該冗餘陣列接收電流。
- 如請求項8之方法,其中, 該轉換儲存於列暫存器中之資料包含藉由數位至類比轉換器自該等列標籤暫存器接收數位資料及產生類比電壓之該第一集合;及 該轉換儲存於冗餘列暫存器中之資料包含藉由冗餘數位至類比轉換器自該等冗餘列標籤暫存器接收數位資料及產生類比電壓之該第二集合。
- 如請求項8之方法,其中, 該轉換儲存於列暫存器中之資料包含藉由取樣保持緩衝器回應於來自該等列標籤暫存器之數位資料而取樣及保持類比電壓之該第一集合;及 該轉換儲存於冗餘列暫存器中之資料包含藉由取樣保持緩衝器回應於來自該等冗餘列標籤暫存器之數位資料而取樣及保持類比電壓之該第二集合。
- 一種與非揮發性記憶體胞元陣列的冗餘相關的系統,其包含: 非揮發性記憶體胞元之一陣列,該等非揮發性記憶體胞元配置成列及行; 非揮發性記憶體胞元之一冗餘陣列,該等非揮發性記憶體胞元配置成列及行;及 一輸出區塊,其耦接至該陣列中之各別行及該冗餘陣列中之各別行且包含一行多工器、一行標籤暫存器及一冗餘行多工器; 其中,行標籤暫存器分別儲存指示待使用之非揮發性記憶體胞元之該陣列之一各別行的一第一值及指示不使用之非揮發性記憶體胞元之該陣列之該各別行且待使用之非揮發性記憶體胞元之該冗餘陣列之一相聯結冗餘行的一第二值中之一者,且其中,該等行標籤暫存器識別在一神經讀取操作期間待使用之行。
- 如請求項11之系統,其中,該輸出區塊包含用以將來自該行多工器之類比信號轉換成一或多個位元的一或多個類比至數位轉換器及用以將來自該冗餘行多工器之類比信號轉換成一或多個位元的一或多個冗餘類比至數位轉換器。
- 如請求項11之系統,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 如請求項11之系統,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
- 一種在一神經讀取操作期間與非揮發性記憶體胞元陣列的冗餘相關的方法,其包含: 讀取一行標籤暫存器中之行標籤位元; 自該陣列中與一第一值之行標籤位元相聯結的行中的所有非揮發性記憶體胞元接收電流;及 當一冗餘陣列中之冗餘行與該陣列中與一第二值之行標籤位元相聯結的行相聯結時,自該等冗餘行中的所有非揮發性記憶體胞元接收電流。
- 如請求項15之方法,其包含: 藉由一或多個類比至數位轉換器將自該陣列中之該等行接收到的該電流轉換成數位資料;及 藉由一或多個冗餘類比至數位轉換器將自該冗餘陣列中之該等冗餘行接收到的該電流轉換成數位資料。
- 如請求項15之方法,其包含: 基於一表中之資料將該行標籤位元暫存器中與該陣列中之行相聯結的行標籤位元設定為一第一值或一第二值。
- 如請求項15之方法,其中,該陣列包含非揮發性記憶體胞元之一陣列且該冗餘陣列包含非揮發性記憶體胞元之一陣列。
- 如請求項18之方法,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為分離閘極快閃記憶體胞元。
- 如請求項18之方法,其中,非揮發性記憶體胞元之該陣列中的該等非揮發性記憶體胞元及非揮發性記憶體胞元之該冗餘陣列中的該等非揮發性記憶體胞元為堆疊閘極快閃記憶體胞元。
Applications Claiming Priority (6)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363442723P | 2023-02-01 | 2023-02-01 | |
| US63/442,723 | 2023-02-01 | ||
| US18/134,928 US20240256146A1 (en) | 2023-02-01 | 2023-04-14 | Redundancy for an array of non-volatile memory cells using tag registers |
| US18/134,928 | 2023-04-14 | ||
| WOPCT/US23/19751 | 2023-04-25 | ||
| PCT/US2023/019751 WO2024162977A1 (en) | 2023-02-01 | 2023-04-25 | Redundancy for an array of non-volatile memory cells using tag registers and for a redundant array using tag registers |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW202447412A TW202447412A (zh) | 2024-12-01 |
| TWI895930B true TWI895930B (zh) | 2025-09-01 |
Family
ID=91964494
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW113101486A TWI895930B (zh) | 2023-02-01 | 2024-01-15 | 與非揮發性記憶體胞元陣列的冗餘相關的系統及方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20240256146A1 (zh) |
| EP (1) | EP4659247A1 (zh) |
| KR (1) | KR20250117813A (zh) |
| CN (1) | CN120604293A (zh) |
| TW (1) | TWI895930B (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080141067A1 (en) * | 2006-12-07 | 2008-06-12 | Arm Limited | Memory device and method of controlling access to such a memory device |
| US20100064186A1 (en) * | 2008-09-11 | 2010-03-11 | Micron Technology, Inc. | Methods, apparatus, and systems to repair memory |
| TW202141496A (zh) * | 2020-03-05 | 2021-11-01 | 美商超捷公司 | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH06275094A (ja) * | 1993-03-23 | 1994-09-30 | Mitsubishi Electric Corp | 半導体装置および半導体メモリ装置 |
| US5532966A (en) * | 1995-06-13 | 1996-07-02 | Alliance Semiconductor Corporation | Random access memory redundancy circuit employing fusible links |
| US6407944B1 (en) * | 1998-12-29 | 2002-06-18 | Samsung Electronics Co., Ltd. | Method for protecting an over-erasure of redundant memory cells during test for high-density nonvolatile memory semiconductor devices |
| US6249466B1 (en) * | 2000-03-23 | 2001-06-19 | Cypress Semiconductor Corp. | Row redundancy scheme |
| US11705196B2 (en) * | 2021-03-09 | 2023-07-18 | Tetramem Inc. | Auto-calibrating crossbar-based apparatuses |
-
2023
- 2023-04-14 US US18/134,928 patent/US20240256146A1/en active Pending
- 2023-04-25 EP EP23725489.1A patent/EP4659247A1/en active Pending
- 2023-04-25 KR KR1020257022219A patent/KR20250117813A/ko active Pending
- 2023-04-25 CN CN202380092749.0A patent/CN120604293A/zh active Pending
-
2024
- 2024-01-15 TW TW113101486A patent/TWI895930B/zh active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080141067A1 (en) * | 2006-12-07 | 2008-06-12 | Arm Limited | Memory device and method of controlling access to such a memory device |
| US20100064186A1 (en) * | 2008-09-11 | 2010-03-11 | Micron Technology, Inc. | Methods, apparatus, and systems to repair memory |
| TW202141496A (zh) * | 2020-03-05 | 2021-11-01 | 美商超捷公司 | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120604293A (zh) | 2025-09-05 |
| EP4659247A1 (en) | 2025-12-10 |
| TW202447412A (zh) | 2024-12-01 |
| KR20250117813A (ko) | 2025-08-05 |
| US20240256146A1 (en) | 2024-08-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7523674B2 (ja) | アナログニューラルメモリにおける書き込みと検証との同時動作 | |
| TWI848411B (zh) | 具有源極線下拉機制之非揮發性記憶體系統 | |
| JP2023525771A (ja) | 論理セル及び改善されたプログラミング機構を備える人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
| TWI884383B (zh) | 深度學習人工神經網路中類比神經記憶體的輸入電路 | |
| TWI885266B (zh) | 深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| TWI871592B (zh) | 有關於利用類比輸出的向量矩陣乘法陣列之系統 | |
| TWI870797B (zh) | 包含i-v斜率組構的參考陣列之人工神經網路 | |
| TWI895930B (zh) | 與非揮發性記憶體胞元陣列的冗餘相關的系統及方法 | |
| TWI897198B (zh) | 具有神經網路陣列的多工器之向量矩陣乘法系統及其操作方法 | |
| TWI898393B (zh) | 包括共模電路的電流至電壓轉換器 | |
| TWI908665B (zh) | 深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| TWI858367B (zh) | 混合記憶體系統、可重配置輸出區塊及可重配置輸入區塊 | |
| TWI907830B (zh) | 用於人工神經網路陣列的輸入電路及其操作方法 | |
| TWI903748B (zh) | 用以從向量矩陣乘法陣列產生數位輸出的系統及方法 | |
| WO2024162977A1 (en) | Redundancy for an array of non-volatile memory cells using tag registers and for a redundant array using tag registers | |
| TW202445416A (zh) | 遮蔽神經網路陣列中的稀疏輸入及輸出 | |
| TW202548759A (zh) | 具有神經網路陣列的多工器之向量矩陣乘法系統及其操作方法 | |
| TW202445417A (zh) | 用於深度學習人工神經網路中類比神經記憶體的分離陣列架構 | |
| WO2024162978A1 (en) | Multiplexors for neural network array | |
| TW202509817A (zh) | 用於向量矩陣乘法陣列的輸入區塊 | |
| KR20250034997A (ko) | 인공 신경망 어레이를 위한 입력 회로 | |
| KR20250044354A (ko) | 인공 신경망 어레이를 위한 출력 회로 |