TW202141496A - 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 - Google Patents
人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 Download PDFInfo
- Publication number
- TW202141496A TW202141496A TW110106617A TW110106617A TW202141496A TW 202141496 A TW202141496 A TW 202141496A TW 110106617 A TW110106617 A TW 110106617A TW 110106617 A TW110106617 A TW 110106617A TW 202141496 A TW202141496 A TW 202141496A
- Authority
- TW
- Taiwan
- Prior art keywords
- array
- rows
- memory cells
- cells
- analog
- Prior art date
Links
Images
Classifications
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
- G06N3/065—Analogue means
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0416—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a single floating gate transistor and no select transistor, e.g. UV EPROM
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0408—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
- G11C16/0425—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/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/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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
- G11C16/28—Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
- G11C16/3427—Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/14—Dummy cell management; Sense reference voltage generators
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/005—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements using switched capacitors, e.g. dynamic amplifiers; using switched capacitors as resistors in differential amplifiers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F3/00—Amplifiers with only discharge tubes or only semiconductor devices as amplifying elements
- H03F3/45—Differential amplifiers
- H03F3/45071—Differential amplifiers with semiconductor devices only
- H03F3/45076—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier
- H03F3/45475—Differential amplifiers with semiconductor devices only characterised by the way of implementation of the active amplifying circuit in the differential amplifier using IC blocks as the active amplifying circuit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/14—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
- H03M1/145—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit the steps being performed sequentially in series-connected stages
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/14—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit
- H03M1/16—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps
- H03M1/164—Conversion in steps with each step involving the same or a different conversion means and delivering more than one bit with scale factor modification, i.e. by changing the amplification between the steps the steps being performed sequentially in series-connected stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2203/00—Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
- H03F2203/45—Indexing scheme relating to differential amplifiers
- H03F2203/45526—Indexing scheme relating to differential amplifiers the FBC comprising a resistor-capacitor combination and being coupled between the LC and the IC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03F—AMPLIFIERS
- H03F2203/00—Indexing scheme relating to amplifiers with only discharge tubes or only semiconductor devices as amplifying elements covered by H03F3/00
- H03F2203/45—Indexing scheme relating to differential amplifiers
- H03F2203/45536—Indexing scheme relating to differential amplifiers the FBC comprising a switch and being coupled between the LC and the IC
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/34—Analogue value compared with reference values
- H03M1/38—Analogue value compared with reference values sequentially only, e.g. successive approximation type
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/34—Analogue value compared with reference values
- H03M1/38—Analogue value compared with reference values sequentially only, e.g. successive approximation type
- H03M1/46—Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
- H03M1/466—Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter using switched capacitors
- H03M1/468—Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter using switched capacitors in which the input S/H circuit is merged with the feedback DAC array
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/50—Analogue/digital converters with intermediate conversion to time interval
- H03M1/56—Input signal compared with linear ramp
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)
- Microelectronics & Electronic Packaging (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Neurology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Non-Volatile Memory (AREA)
- Read Only Memory (AREA)
- Networks Using Active Elements (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Static Random-Access Memory (AREA)
- Semiconductor Memories (AREA)
Abstract
揭示類比神經記憶體陣列之眾多具體例。在一個具體例中,一種類比神經記憶體系統包含:非揮發性記憶體單元之一陣列,其中該等單元配置成列及行,該等行配置成實體上鄰近的行對,其中在每一鄰近對內,該鄰近對中之一行包含儲存W+值之單元,且該鄰近對中之一行包含儲存W-值之單元,其中根據公式W = (W+) - (W-),該鄰近對中之鄰近單元儲存一差異權重W。在另一具體例中,一種類比神經記憶體系統包含:儲存W+值之非揮發性記憶體單元的一第一陣列;及儲存W-值之一第二陣列。
Description
[優先權主張]本申請案主張在2020年3月5日申請且標題為「人工神經網路中具有適應性權重映射及分佈式功率之具有準確陣列源極阻抗的類比神經記憶體陣列(Analog Neural Memory Array in Artificial Neural Network With Accurate Array Source Impedance With Adaptive Weight Mapping and Distributed Power)」的美國臨時申請案第62/985,826號及在2020年8月6日申請且標題為「人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列(Analog Neural Memory Array Storing Synapsis Weights In Differential Cell Pairs in Artificial Neural Network)」的美國專利申請案第16/987,101號的優先權。
揭示類比神經記憶體陣列之眾多具體例。在某些具體例中,突觸權重儲存於陣列中之差異單元對中。在某些具體例中,在單元正被讀取時,該陣列內之位元線至位元線的功率消耗實質上為恆定的。在某些具體例中,權重映射經適應性地執行以獲得功率及雜訊之最佳效能。
人工神經網路模擬生物神經網路(動物之中樞神經系統,特定而言為大腦)且用以估計或估算可取決於大量輸入且通常未知之功能。人工神經網路通常包括彼此交換訊息之互連「神經元」的層。
圖1繪示人工神經網路,其中圓圈表示神經元之輸入或層。連接(被稱為突觸)由箭頭表示,且具有可基於經驗進行調節之數值權重。此使得人工神經網路適應於輸入且能夠學習。通常,人工神經網路包括多個輸入之層。通常存在一或多個中間神經元層及提供神經網路之輸出的輸出神經元層。每一層級處之神經元基於自突觸接收到之資料而個別地或共同地作出決策。
用於高效能資訊處理之人工神經網路之發展中的主要挑戰中之一者為缺乏適當的硬體技術。事實上,實際人工神經網路依賴於極大量突觸,從而實現神經元之間的高度連接性,亦即,極高計算並行性。原則上,此複雜性可利用數位超級電腦或專門圖形處理單元叢集來達成。然而,除高成本之外,相較於生物網路,此等方法亦受中等能效困擾,主要因為生物網路執行低精確度類比計算,所以其消耗少得多的能量。CMOS類比電路已用於人工神經網路,但鑒於大量神經元及突觸,大多數CMOS實施突觸已過於龐大。
申請人先前在公開為美國專利公開案2017/0337466之美國專利申請案第15/594,439號中揭示了一種人工(類比)神經網路,其利用一或多個非揮發性記憶體陣列作為突觸,該專利申請案以引用之方式併入。非揮發性記憶體陣列作為類比神經形態記憶體操作。如本文中所使用,術語神經形態意謂實施神經系統之模型的電路系統。類比神經形態記憶體包括:第一複數個突觸,其經組構以接收第一複數個輸入且自第一複數個輸入產生第一複數個輸出;及第一複數個神經元,其經組構以接收第一複數個輸出。該第一複數個突觸包括複數個記憶體單元,其中該等記憶體單元中之每一者包括:形成於半導體基板中之隔開的源極區及汲極區,其中通道區在源極區與汲極區之間延伸;浮動閘極,其裝設於通道區之第一部分上方且與該第一部分絕緣;及非浮動閘極,其裝設於通道區之第二部分上方且與該第二部分絕緣。該複數個記憶體單元中之每一者經組構以儲存對應於浮動閘極上之電子數目的權重值。該複數個記憶體單元經組構以將第一複數個輸入乘以所儲存權重值以產生第一複數個輸出。以此方式配置之記憶體單元陣列可被稱作向量矩陣乘法(vector by matrix multiplication;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。
記憶體單元210藉由將高的正電壓置於字線端子22上來抹除(其中電子自浮動閘極移除),此使得浮動閘極20上之電子經由富爾-諾罕(Fowler-Nordheim)穿隧自浮動閘極20穿過中間絕緣物穿隧至字線端子22。
記憶體單元210藉由將正電壓置於字線端子22上且將正電壓置於源極區14上來程式化(其中電子置於浮動閘極上)。電子電流將自汲極區16朝向源極區14 (源極線端子)流動。當電子到達字線端子22與浮動閘極20之間的間隙時,該等電子將加速且被給予能量(加熱)。一些經加熱電子將因為來自浮動閘極20之吸引靜電力而穿過閘極氧化物注入至浮動閘極20上。
記憶體單元210係藉由將正的讀取電壓置於汲極區16及字線端子22上(此接通通道區18之在字線端子下方的部分)來讀取。若浮動閘極20帶正電(亦即,電子經抹除),則通道區18之在浮動閘極20下方的部分亦接通,且電流將流經通道區18,此被感測為經抹除或「1」狀態。若浮動閘極20帶負電(亦即,用電子程式化),則通道區之在浮動閘極20下方的部分大部分或完全斷開,且電流將不流經通道區18 (或將存在極少電流),其被感測為經程式化或「0」狀態。
表1描繪可施加至記憶體單元110之端子以用於執行讀取、抹除及程式化操作的典型電壓範圍:
表1:圖2之快閃記憶體單元210的操作
「讀取1」為單元電流在位元線上輸出之讀取模式。「讀取2」為單元電流在源極線端子上輸出之讀取模式。
WL | BL | SL | |
讀取1 | 0.5-3 V | 0.1-2 V | 0 V |
讀取2 | 0.5-3 V | 0-2 V | 2-0.1 V |
抹除 | ~11-13 V | 0 V | 0 V |
程式化 | 1-2 V | 1-3 μA | 9-10 V |
圖3展示記憶體單元310,其類似於圖2之記憶體單元210,且添加了控制閘極(CG)端子28。控制閘極端子28在程式化時經偏壓於高電壓(例如,10 V)下;在抹除時經偏壓於低或負電壓(例如,0 V/-8 V)下;在讀取時經偏壓於低或中間範圍(例如,0 V/2.5 V)下。其他端子以類似於圖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-2 V | 0.1-2 V | 0-2.6 V | 0-2.6 V | 0 V |
讀取2 | 0.5-2 V | 0-2 V | 0-2.6 V | 0-2.6 V | 2-0.1 V |
抹除 | -0.5 V/0 V | 0 V | 0 V/-8 V | 8-12 V | 0 V |
程式化 | 1 V | 1 μA | 8-11 V | 4.5-9 V | 4.5-5 V |
圖5展示記憶體單元510,其類似於圖4之記憶體單元410,除了記憶體單元510不含有抹除閘極EG端子之外。抹除係藉由將基板12偏壓至高電壓及將控制閘極CG端子28偏壓至低或負電壓來執行。替代地,抹除係藉由將字線端子22偏壓至正電壓及將控制閘極端子28偏壓至負電壓來執行。程式化及讀取類似於圖4之程式化及讀取。
圖6描繪三閘極記憶體單元610,其為另一類型之快閃記憶體單元。記憶體單元610與圖4之記憶體單元410相同,除了記憶體單元610不具有分開的控制閘極端子之外。抹除操作(其中經由使用抹除閘極端子進行抹除)及讀取操作類似於圖4之抹除操作及讀取操作,除了未施加控制閘極偏壓之外。程式化操作亦在無控制閘極偏壓之情況下進行,且結果,在程式化操作期間必須於源極線端子上施加較高電壓以補償控制閘極偏壓之缺乏。
表3描繪可施加至記憶體單元610之端子以用於執行讀取、抹除及程式化操作的典型電壓範圍:
表3:圖6之快閃記憶體單元610的操作
「讀取1」為單元電流在位元線上輸出之讀取模式。「讀取2」為單元電流在源極線端子上輸出之讀取模式。
WL/SG | BL | EG | SL | |
讀取1 | 0.5-2.2 V | 0.1-2 V | 0-2.6 V | 0 V |
讀取2 | 0.5-2.2 V | 0-2 V | 0-2.6 V | 2-0.1 V |
抹除 | -0.5 V/0 V | 0 V | 11.5 V | 0 V |
程式化 | 1 V | 2-3 μA | 4.5 V | 7-9 V |
圖7描繪堆疊閘極記憶體單元710,其為另一類型之快閃記憶體單元。記憶體單元710類似於圖2之記憶體單元210,除了以下情況之外:浮動閘極20在整個通道區18上方延伸以及控制閘極端子22(其在此處將耦接至字線)在藉由絕緣層(圖中未示)分開的浮動閘極20上方延伸。程式化係使用在緊鄰汲極區16之通道區中自通道18至浮動閘極20的熱電子注入來執行,且抹除係使用自浮動閘極20至基板12之富爾-諾罕電子穿隧來執行。讀取操作以與先前針對記憶體單元210所描繪之方式類似的方式操作。
表4描繪可施加至記憶體單元710之端子以及基板12以用於執行讀取、抹除及程式化操作的典型電壓範圍:
表4:圖7之快閃記憶體單元710的操作
CG | BL | SL | 基板 | |
讀取1 | 0-5 V | 0.1-2 V | 0-2 V | 0 V |
讀取2 | 0.5-2 V | 0-2 V | 2-0.1 V | 0 V |
抹除 | -8至-10 V/0 V | FLT | FLT | 8-10 V/15-20 V |
程式化 | 8-12 V | 3-5 V/0 V | 0 V/3-5 V | 0 V |
「讀取1」為單元電流在位元線上輸出之讀取模式。「讀取2」為單元電流在源極線端子上輸出之讀取模式。視情況,在包含記憶體單元210、310、410、510、610或710之列及行的陣列中,源極線可耦接至記憶體單元之一列或記憶體單元之相鄰兩列。亦即,源極線端子可由記憶體單元之鄰近列共用。
圖8描繪雙分離閘極記憶體單元810。雙分離閘極記憶體單元810包含一對記憶體單元(A在左側且B在右側),其中記憶體單元中之每一者包含:浮動閘極(FGA、FGB) 20,其裝設於基板12上方且與該基板絕緣;控制閘極28 (CGA、CGB),其裝設於浮動閘極20上方且與該浮動閘極絕緣;抹除閘極30 (EG),其鄰近浮動及控制閘極20/28裝設並與該等閘極絕緣且裝設於基板12上方並與該基板絕緣,其中抹除閘極形成為T形,使得每一控制閘極CGA、CGB之頂部拐角面向T形抹除閘極之各別內部拐角以改善抹除效率;及基板中鄰近於浮動閘極20之汲極區16 (DRA、DRB)(其中位元線接點24 (BLA、BLB)連接至各別汲極擴散區16 (DRA、DRB))。記憶體單元形成為共用共同抹除閘極30之記憶體單元對。此單元設計與上文參考圖2至圖7所論述之記憶體單元的不同之處至少在於:對於每一記憶體單元,其缺少在抹除閘極EG下方之源極區、缺少選擇閘極(亦被稱作字線)且缺少通道區。實情為,單個連續通道區18在兩個記憶體單元下方延伸(亦即,自一個記憶體單元之汲極區16延伸至另一記憶體單元之汲極區16)。為了讀取或程式化一個記憶體單元,另一記憶體單元之控制閘極28經由至其間的浮動閘極20之電壓耦接而升高至足夠電壓以接通基礎通道區部分(例如,為了讀取或程式化單元A,FGB上之電壓經由自CGB之電壓耦接而升高以接通FGB下方之通道區部分)。抹除係使用自浮動閘極20A及/或浮動閘極20B至抹除閘極30之富爾-諾罕電子穿隧來執行。程式化係使用自通道18至浮動閘極20之熱電子注入來執行。
表5描繪可施加至記憶體單元810之端子以用於執行讀取、抹除及程式化操作的典型電壓範圍。選擇單元A (FGA、CGA、BLA)以用於讀取、程式化及抹除操作。
表5:圖8之快閃記憶體單元810的操作
CGA | BLA | EG | CGB | BLB | |
讀取 | 1.5-4 V | 0.1-0.8 V | 2.5 V | 1.5-4 V | 0 |
抹除 | 0 V至-8 V | 0 V | 8 V至11.5 V | 0 V至4 V (Vcginhe) | 0 V |
程式化1 | 10.5 V | 4.5 V | 1.5 V | 4 | Iprog |
程式化2 | 4 V至8 V | 0 V | -4 V至-8 V | 0 V至-2 V (Vcginhp) | 0 V |
為了在人工神經網路中利用包含上文所描述之非揮發性記憶體單元類型中之一者的記憶體陣列,在一個具體例中,進行兩個修改。首先,線經組構以使得每一記憶體單元可個別地經程式化、抹除及讀取而不會不利地影響陣列中之其他記憶體單元的記憶體狀態,如下文進一步解釋。其次,提供記憶體單元之連續(類比)程式化。
具體而言,陣列中之每一記憶體單元的記憶體狀態(亦即,浮動閘極上之電荷)可連續地自完全抹除狀態改變至完全程式化狀態,該改變為獨立的且對其他記憶體單元之干擾最少。在另一具體例中,陣列中之每一記憶體單元的記憶體狀態(亦即,浮動閘極上之電荷)可連續地自完全程式化狀態改變至完全抹除狀態或自完全抹除狀態改變至完全程式化狀態,該改變為獨立的且對其他記憶體單元之干擾最少。此意謂單元儲存為類比的,或至少可儲存許多離散值(諸如,16或256個不同值)中之一者,此允許對記憶體陣列中之所有單元進行極精確且個別的調節,且此使得記憶體陣列對於儲存及精細地調節神經網路之突觸權重係理想的。
本文中所描述之方法及手段可應用於其他非揮發性記憶體技術,諸如但不限於FINFET分離閘極快閃記憶體或堆疊閘極快閃記憶體、氧化矽-氮化物-氧化物-矽(SONOS,氮化物中之電荷阱)、金屬-氧化物-氮化物-氧化物-矽(MONOS,氮化物中之金屬電荷阱)、電阻式ram (ReRAM)、相變記憶體(PCM)、磁性ram (MRAM)、鐵電ram (FeRAM)、雙位準或多位準一次性可程式化(OTP)及相關電子ram (CeRAM)。本文中所描述之方法及手段可應用於用於神經網路之揮發性記憶體技術,諸如但不限於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之特徵圖中之一者的像素。接著使3×3濾波器在輸入層S0內向右移位一個像素(亦即,在右側添加三個像素之行,且在左側丟棄三個像素之行),由此將此新定位濾波器中之9個像素值提供至突觸CB1,在該突觸中將該等像素值乘以相同權重,且第二單個輸出值由相關聯突觸判定。此程序針對所有三種色彩且針對所有位元(精確度值)繼續,直至3×3濾波器掃描輸入層S0之整個32×32像素影像。該程序接著使用不同權重集合重複以產生C1之不同特徵圖,直至已計算層C1之所有特徵圖。
在層C1中,在本發明實施例中,存在16個特徵圖,其中每一特徵圖具有30×30個像素。每一像素為自輸入與核心相乘而提取之新特徵像素,且因此每一特徵圖為二維陣列,且因此在此實施例中,層C1構成二維陣列之16個層(應謹記,本文中所提及之層及陣列為邏輯關係,未必為實體關係—亦即,陣列未必定向於實體二維陣列中)。層C1中之16個特徵圖中的每一者皆由應用於濾波器掃描之突觸權重之十六個不同集合中的一者產生。C1特徵圖可皆針對同一影像特徵之不同態樣,諸如邊界識別。舉例而言,第一圖(使用第一權重集合產生,用以產生此第一圖之所有掃描共用該第一權重集合)可識別圓形邊緣,第二圖(使用不同於第一權重集合之第二權重集合產生)可識別矩形邊緣,或某些特徵之縱橫比等。
在自層C1進入層S1之前應用激發函數P1 (池化(pooling)),其池化來自每一特徵圖中之連續非重疊2×2區的值。池化函數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個神經元,其中最高輸出神經元判定類別。此輸出可例如指示原始影像之內容的識別或分類。
每一突觸層係使用非揮發性記憶體單元之陣列或陣列之一部分來實施。
圖10為可用於彼目的之系統的方塊圖。VMM系統32包括非揮發性記憶體單元,且用作一個層與下一層之間的突觸(諸如,圖6中之CB1、CB2、CB3及CB4)。具體而言,VMM系統32包含:VMM陣列33,其包含配置成列及行之非揮發性記憶體單元;抹除閘極及字線閘極解碼器34;控制閘極解碼器35;位元線解碼器36;及源極線解碼器37,該等解碼器解碼非揮發性記憶體單元陣列33之各別輸入。至VMM陣列33之輸入可來自抹除閘極及字線閘極解碼器34或來自控制閘極解碼器35。在此實施例中,源極線解碼器37亦解碼VMM陣列33之輸出。替代地,位元線解碼器36可解碼VMM陣列33之輸出。
VMM陣列33用於兩個目的。首先,其儲存將由VMM系統32使用的權重。其次,VMM陣列33有效地將輸入乘以儲存於VMM陣列33中之權重,且按輸出線(源極線或位元線)將結果相加以產生輸出,該輸出將為至下一層之輸入或至最終層之輸入。藉由執行乘法及加法函數,VMM陣列33消除對個別的乘法及加法邏輯電路之需要,且由於其就地記憶體計算亦為功率高效的。
VMM陣列33之輸出經供應至差分求和器(諸如,求和運算放大器或求和電流鏡) 38,其對非揮發性記憶體單元陣列33之輸出進行求和以產生用於彼卷積之單個值。差分求和器38經配置以執行正權重輸入與負權重輸入之求和以輸出單個值。
接著將差分求和器38之經求和輸出值供應至激發函數電路39,該電路對輸出進行整流。激發函數電路39可提供S型(sigmoid)、雙曲正切(tanh)、ReLU函數,或任何其他非線性函數。激發函數電路39之經整流輸出值變成下一層(例如,圖8中之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中所展示,表示為Inputx之輸入由數位至類比轉換器31自數位轉換至類比,且被提供至輸入VMM系統32a。經轉換之類比輸入可為電壓或電流。第一層之輸入D/A轉換可藉由使用函數或查找表(LUT)來進行,該函數或LUT將輸入Inputx映射至適用於輸入VMM系統32a之矩陣乘法器的類比位準。輸入轉換亦可由類比至類比(A/A)轉換器進行以將外部類比輸入轉換為至輸入VMM系統32a之經映射類比輸入。輸入轉換亦可由數位至數位脈衝(D/P)轉換器進行以將外部數位輸入轉換為至輸入VMM系統32a之一或多個經映射數位脈衝。
由輸入VMM系統32a產生之輸出被提供為至下一VMM系統(隱藏層級1) 32b之輸入,該下一VMM系統又產生被提供為至下一VMM系統(隱藏層級2) 32c之輸入的輸出,等等。VMM系統32之各種層充當卷積神經網路(convolutional neural network;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)在水平方向上延行。此處,至VMM陣列1200之輸入提供於控制閘極線(CG0、CG1、CG2、CG3)上,且VMM陣列1200之輸出出現於源極線(SL0、SL1)上。在一個具體例中,僅偶數列被使用,且在另一具體例中,僅奇數列被使用。置於每一源極線(分別為SL0、SL1)上之電流對來自連接至彼特定源極線之記憶體單元的所有電流執行求和函數。
如本文中針對神經網路所描述,VMM陣列1200之非揮發性記憶體單元較佳經組構以在亞臨限區中操作。
本文中所描繪之非揮發性參考記憶體單元及非揮發性記憶體單元在亞臨限區中經偏壓:
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分別為記憶體單元之寬度及長度。
對於使用記憶體單元(諸如,參考記憶體單元或周邊記憶體單元)或電晶體將輸入電流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)/nVt
Iin = wp * Io * e(Vg)/nVt
此處,wa=記憶體陣列中之每一記憶體單元的w,且wp為參考或周邊記憶體單元之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。實際上,第一及第二非揮發性參考記憶體單元為二極體連接式貫穿多工器(diode-connected through multiplexor) 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-未選定 | BL | BL-未選定 | SL | SL-未選定 | |
讀取 | 0.5-3.5 V | -0.5 V/0 V | 0.1-2V (Ineuron) | 0.6V-2 V/FLT | 0 V | 0 V |
抹除 | ~5-13 V | 0 V | 0 V | 0 V | 0 V | 0 V |
程式化 | 1-2 V | -0.5 V/0 V | 0.1-3 uA | Vinh ~2.5 V | 4-10 V | 0-1 V/FLT |
圖14描繪神經元VMM陣列1400,其尤其適合於如圖2中所展示之記憶體單元210,且用作輸入層與下一層之間的突觸及神經元部分。VMM陣列1400包含非揮發性記憶體單元之記憶體陣列1403、第一非揮發性參考記憶體單元之參考陣列1401及第二非揮發性參考記憶體單元之參考陣列1402。參考陣列1401及1402在VMM陣列1400之列方向上延行。VMM陣列類似於VMM 1300,除了在VMM陣列1400中,字線在豎直方向上延行之外。此處,輸入提供於字線(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)上,且輸出在讀取操作期間出現於源極線(SL0、SL1)上。置於每一源極線上之電流對來自連接至彼特定源極線之記憶體單元的所有電流執行求和函數。
表7描繪用於VMM陣列1400之操作電壓。表中之行指示置於以下各者上的電壓:用於選定單元之字線、用於未選定單元之字線、用於選定單元之位元線、用於未選定單元之位元線、用於選定單元之源極線及用於未選定單元之源極線。列指示讀取、抹除及程式化之操作。
表7:圖14之VMM陣列1400的操作
WL | WL-未選定 | BL | BL-未選定 | SL | SL-未選定 | |
讀取 | 0.5-3.5 V | -0.5 V/0 V | 0.1-2 V | 0.1 V-2 V/FLT | ~0.3-1 V (Ineuron) | 0V |
抹除 | ~5-13 V | 0 V | 0 V | 0 V | 0 V | SL-抑制(~4-8 V) |
程式化 | 1-2 V | -0.5 V/0 V | 0.1-3 uA | Vinh ~2.5 V | 4-10 V | 0-1 V/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及串疊(cascoding)電晶體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-未選定 | BL | BL-未選定 | CG | CG-未選定 同一扇區 | CG-未選定 | EG | EG-未選定 | SL | SL-未選定 | |
讀取 | 0.5-2 V | -0.5 V/0 V | 0.1-2 V (Ineuron) | 0 V/FLT | 0-2.6 V | 0-2.6 V | 0-2.6 V | 0-2.6 V | 0-2.6 V | 0 V | 0 V |
抹除 | 0 V | 0 V | 0 V | 0 V | 0 V | 0-2.6 V | 0-2.6 V | 5-12 V | 0-2.6 V | 0 V | 0 V |
程式化 | 0.7-1 V | -0.5 V/0 V | 0.1-1 uA | Vinh (1-2 V) | 4-11 V | 0-2.6 V | 0-2.6 V | 4.5-5 V | 0-2.6 V | 4.5-5 V | 0-1 V |
圖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陣列1500,除了VMM陣列1600實施雙向調節之外,其中由於使用個別的EG線,每一個別單元可視需要經完全抹除、部分程式化及部分抹除以達到浮動閘極上之所要電荷量。如所展示,參考陣列1601及1602將端子BLR0、BLR1、BLR2及BLR3中之輸入電流轉換成待在列方向上施加至記憶體單元之控制閘極電壓CG0、CG1、CG2及CG3 (經由二極體連接式參考單元貫穿多工器1614之動作)。電流輸出(神經元)在位元線BL0至BLN中,其中每一位元線對來自連接至彼特定位元線之非揮發性記憶體單元的所有電流進行求和。
表9描繪用於VMM陣列1600的操作電壓。表中之行指示置於以下各者上的電壓:用於選定單元之字線、用於未選定單元之字線、用於選定單元之位元線、用於未選定單元之位元線、用於選定單元之控制閘極、用於與選定單元在同一扇區中之未選定單元的控制閘極、用於與選定單元在不同扇區中之未選定單元的控制閘極、用於選定單元之抹除閘極、用於未選定單元之抹除閘極、用於選定單元之源極線及用於未選定單元之源極線。列指示讀取、抹除及程式化之操作。
表9:圖16之VMM陣列1600的操作
WL | WL-未選定 | BL | BL-未選定 | CG | CG-未選定 同一扇區 | CG-未選定 | EG | EG-未選定 | SL | SL-未選定 | |
讀取 | 1.0-2 V | -0.5 V/ 0 V | 0.6-2 V (Ineuron) | 0 V/FLT | 0-2.6 V | 0 -2.6 V | 0-2.6 V | 0-2.6 V | 0-2.6 V | 0 V | 0 V/FLT |
抹除 | 0 V | 0 V | 0 V | 0 V | 0 V | 4-9 V | 0-2.6 V | 5-12 V | 0-2.6 V | 0 V | 0 V |
程式化 | 0.7-1 V | -0.5 V/ 0 V | 0.1-1 uA | Vinh (1-2V) | 4-11 V | 0-2.6 V | 0-2.6 V | 4.5-5 V | 0-2.6 V | 4.5- 5 V | 0-1 V |
至VMM陣列之輸入可為類比位準、二進位位準、時序脈衝或數位位元,且輸出可為類比位準、二進位位準、時序脈衝或數位位元(在此狀況下,需要輸出ADC將輸出類比位準電流或電壓轉換成數位位元)。
對於VMM陣列中之每一記憶體單元,每一權重W可由單個記憶體單元或差分單元或兩個混合記憶體單元(2個或多於2個單元之平均值)實施。在差分單元狀況下,需要兩個記憶體單元以將權重W實施為差分權重(W = W+ - W-)。在兩個混合記憶體單元中,需要兩個記憶體單元以將權重W實施為兩個單元之平均值。
非揮發性記憶體單元之先前技術陣列的一個缺陷為在陣列之源阻抗中且沿著陣列輸出線(諸如,位元線)存在大的差異及隨之而來的精確度及功率消耗之差異,此取決於選擇哪一單元及其狀態以用於讀取、程式化或抹除操作。另一缺陷為其可能對雜訊敏感。
需要一種對雜訊具有較低敏感性的改良VMM系統。
進一步需要一種在操作(讀取、程式化或抹除)期間具有陣列之實質恆定源阻抗而無關於選擇哪一或多個單元的改良VMM系統。
進一步需要一種在操作(讀取、程式化或抹除)期間具有實質恆定功率消耗而無關於選擇哪一或多個單元的改良VMM系統。
揭示類比神經記憶體陣列之眾多具體例。在某些具體例中,在該陣列中之每一記憶體單元正被操作時,該記憶體單元具有一大致恆定的源阻抗。在某些具體例中,在單元正被讀取時,該陣列內之位元線至位元線的功率消耗實質上為恆定的。在某些具體例中,權重映射經適應性地執行以獲得功率及雜訊之最佳效能。
在一個具體例中,一種類比神經記憶體系統包含:非揮發性記憶體單元之一陣列,其中該等單元配置成列及行,該等行配置成實體上鄰近的行對;其中在每一鄰近對內,該鄰近對中之一行包含儲存W+值之單元,且該鄰近對中之一行包含儲存W-值之單元,其中根據公式W = (W+) - (W-),該鄰近對中之鄰近單元儲存一差異權重W。
在另一具體例中,一種類比神經記憶體系統包含:非揮發性記憶體單元之一第一陣列,其中該等單元配置成列及行且該等行中之一或多者中的該等非揮發性記憶體單元儲存W+值;及非揮發性記憶體單元之一第二陣列,其中該等單元配置成列及行且該等行中之一或多者中的該等非揮發性記憶體單元儲存W-值;其中根據公式W = (W+) - (W-),來自該第一陣列及該第二陣列之單元對儲存一差異權重W。
本發明之人工神經網路利用CMOS技術與非揮發性記憶體陣列之組合。
改良VMM系統的具體例
圖17描繪VMM系統1700之方塊圖。VMM系統1700包含VMM陣列1701、列解碼器1702、高電壓解碼器1703、行解碼器1704、位元線驅動器1705、輸入電路1706、輸出電路1707、控制邏輯1708及偏壓產生器1709。VMM系統1700進一步包含高電壓產生區塊1710,該高電壓產生區塊包含電荷泵1711、電荷泵調節器1712及高電壓位準產生器1713。VMM系統1700進一步包含演算法控制器1714、類比電路系統1715、控制邏輯1716及測試控制邏輯1717。下文所描述之系統及方法可實施於VMM系統1700中。
輸入電路1706可包括諸如數位至類比轉換器(DAC)、數位至脈衝轉換器(DPC)、數位至時間轉換器(DTC)、類比至類比轉換器(AAC,諸如電流至電壓轉換器)、脈衝至類比位準轉換器(PAC)或任何其他類型之轉換器的電路。輸入電路1706可實施正規化、尺度函數(scaling function)或算術函數。輸入電路1706可對輸入實施溫度補償功能,諸如依據溫度而調變輸出電壓/電流/時間/脈衝。輸入電路1706可實施諸如ReLU或S型之激發函數。
輸出電路1707可包括諸如類比至數位轉換器(ADC,將神經元類比輸出轉換成數位位元)、類比至類比轉換器(AAC,諸如電流至電壓轉換器)、類比至時間轉換器(ATC)、類比至脈衝轉換器(APC)或任何其他類型之轉換器的電路。輸出電路1707可實施諸如ReLU或S型之激發函數。輸出電路1707可對神經元輸出實施統計正規化、正則化、擴大/縮小函數、統計捨入或算術函數(例如,加法、減法、除法、乘法、移位、對數),該等神經元輸出為VMM陣列1701之輸出。輸出電路1707可對神經元輸出(諸如,電壓/電流/時間/脈衝)或陣列輸出(諸如,位元線輸出)實施溫度補償功能,以便使VMM陣列1701之功率消耗保持大致恆定或諸如藉由使I-V斜率大致相同來改善VMM陣列1701 (神經元)輸出之精確度。
圖18A描繪先前技術VMM系統1800。VMM系統1800包含:例示性單元1801及1802;例示性位元線開關1803a、1803b、1803c、1803d (其將位元線連接至感測電路系統);例示性虛設位元線開關1804a、1804b、1804c、1004d (其在讀取時耦接至低偏壓位準,諸如接地(或接近接地));以及例示性虛設單元1805及1806 (源極線下拉單元)。位元線開關1803a耦接至用以儲存VMM系統1800中之資料的單元之行,包括單元1801及1802。虛設位元線開關1804a、1804b、1804c、1804各自耦接至單元之行(位元線),該等單元為用以儲存VMM系統1800中之資料的虛設單元。亦可被稱作源極線下拉位元線之此虛設位元線在讀取操作期間用作源極線下拉,意謂其用以經由虛設位元線中之虛設單元將源極線拉至低偏壓位準,諸如接地(或接近接地)。應注意,虛設位元線開關1804a、1804b、1804c、1804及位元線開關1803a、1803b、1803c、1803d兩者出現於陣列之同一末端上,亦即,其皆出現於其耦接之單元的行之共同末端處且因此排列在單個列中。
VMM系統1800之一個缺陷為每一單元之輸入阻抗由於通過相關位元線開關、單元本身及相關虛設位元線開關之電路徑的長度而極大地變化。舉例而言,圖18B展示通過位元線開關1803、單元1801、虛設單元1805及虛設位元線開關1804之電路徑。類似地,圖18C展示通過位元線開關1803、豎直金屬位元線1807、單元1802、虛設單元1806、豎直金屬位元線1808及虛設位元線開關1804之電路徑。如可看到,通過單元1802之路徑橫越位元線及虛設位元線的顯著較大長度,其與較高電容及較高電阻相關聯。此導致單元1802在位元線或源極線中具有比圖18B中之單元1801更大的寄生阻抗。舉例而言,此可變性為缺陷,此係因為其導致如適用於讀取或驗證(用於程式化/抹除調節循環)單元之單元輸出的精確度之變化,此取決於單元在陣列內之部位。
圖19A描繪VMM系統1900,其對先前技術VMM系統1800進行改良。VMM系統1900包含:例示性單元1901及1902;例示性位元線開關1903a、1903b、1903c及1903d,其將位元線連接至感測電路系統;例示性虛設單元1905及1906,其可充當源極線下拉單元;以及例示性虛設位元線開關1904a、1904b、1904c及1904d。作為一實施例,虛設位元線開關1904a之一個末端在讀取操作期間連接至諸如接地之低電壓位準,且另一末端連接至用作源極線下拉之虛設單元1905及1906。如可看到,例示性虛設位元線開關1904a及其他虛設位元線開關位於陣列的與位元線開關1903a及其他位元線開關相對的末端上。
此設計之益處可見於圖19B及圖19C中。在圖19B中,選擇單元1901以供讀取,且在圖19C中,選擇單元1902以供讀取。
圖19B描繪通過位元線開關1903、單元1901、虛設單元1905 (源極線下拉單元)、豎直金屬位元線1908及虛設位元線開關1904 (其在讀取操作期間耦接至諸如接地之低位準)的電路徑。圖19C描繪通過位元線開關1903、豎直金屬線1907、單元1902、虛設單元1906 (源極線下拉單元)及虛設位元線開關1904之電路徑。就互連長度而言,該等路徑實質上相同,此對於VMM系統1900中之所有單元皆成立。結果,每一單元之位元線阻抗加上源極線阻抗的阻抗實質上相同,意謂在陣列中之每一單元的讀取或驗證操作期間所汲取的寄生電壓降之量的變化實質上相同。
圖20描繪具有全域源極線下拉位元線之VMM系統2000。VMM系統2000類似於VMM系統1900,除了以下情況之外:虛設位元線2005a至2005n或2007a至2007n連接在一起(以充當全域源極線下拉線,從而在讀取或驗證期間將記憶體單元源極線拉至接地位準);諸如虛設位元線開關2001及2002之虛設位元線開關連接或耦接至標記為ARYGND (陣列接地)之共同接地;及源極線一起耦接至源極線開關2004,其將源極線選擇性地拉至接地。此等改變進一步減小陣列中之每一單元之寄生阻抗在讀取或驗證操作期間的變化。
在替代具體例中,可使用一或多條虛設位元線及一或多個虛設位元線開關而非源極線開關2004以將源極線拉至接地。
在另一具體例中,可在列之間利用虛設列作為實體障壁以避免列之間的(兩個鄰近單元之)FG至FG耦接。
圖21A描繪VMM系統2100。在一些具體例中,儲存於VMM中之權重W儲存為差分對W+ (正權重)及W-(負權重),其中W = (W+) - (W-)。在VMM系統2100中,將一半位元線指明為W+線,亦即,連接至將儲存正權重W+之記憶體單元的位元線,且將另一半位元線指明為W-線,亦即,連接至實施負權重W-之記憶體單元的位元線。W-線以交替方式穿插於W+線之間。減法運算係由自W+線及W-線接收電流之求和電路執行,諸如求和電路2101及2102。W+線之輸出及W-線之輸出組合在一起,從而對於所有(W+、W-)線對之每對(W+、W-)單元,有效地得出W = W+ - W-。視情況,虛設位元線及源極線下拉位元線(諸如,圖19及圖20中所展示之彼等位元線)可用於VMM系統2100中以避免(兩個鄰近單元之)FG至FG耦接及/或減小源極線在讀取或驗證操作期間的IR電壓降。
圖21B描繪另一具體例。在VMM系統2110中,在第一陣列2111中實施正權重W+且在與第一陣列分開之第二陣列2112中實施負權重W-,且所得權重藉由求和電路2113適當地組合在一起。視情況,虛設位元線及源極線下拉位元線(諸如,圖19及圖20中所展示之彼等位元線)可用於VMM系統2110中以避免FG至FG耦接及/或減小源極線在讀取或驗證操作期間的IR電壓降。
VMM系統可經設計使得W+及W-對以如下方式置放於陣列內:減少FG至FG耦接或跨越陣列及輸出電路以更均勻的方式分佈功率消耗。此在下文參考表10及11進行描述。關於FG至FG耦接現象之額外細節見於由同一受讓人在2020年2月26日申請且標題為「深度學習人工神經網路中之類比神經記憶體單元的超精確調節(Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network)」的美國臨時專利申請案第62/981,757號中,該申請案以引用之方式併入本文中。
表10A展示兩對(W+、W-)位元線之配置的例示性實體佈局。一對為BL0及BL1,且第二對為BL2及BL3。在此實施例中,4個列耦接至源極線下拉位元線BLPWDN。BLPWDN置放於每對(W+、W-)位元線之間以防止一對(W+、W-)位元線與另一對(W+、W-)位元線之間的耦接(例如,FG至FG耦接)。因此,BLPWDN充當(W+、W-)位元線對之間的實體障壁。
表10A:W、W-對之例示性佈局
BLPWDN | BL0 | BL1 | BLPWDN | BL2 | BL3 | BLPWDN | |
列0 | W01+ | W01- | W02+ | W02- | |||
列1 | W11+ | W11- | W12+ | W12- | |||
列2 | W21+ | W21- | W22+ | W22- | |||
列3 | W31+ | W31- | W32+ | W32- |
表10B展示不同的例示性權重組合。「1」意謂單元被使用且具有真實輸出值,且「0」意謂單元不被使用且不具有值或不具有有效輸出值。
表10B:W+、W-對之例示性權重組合
BLPWDN | BL0 | BL1 | BLPWDN | BL2 | BL3 | BLPWDN | |
列0 | 1 | 0 | 1 | 0 | |||
列1 | 0 | 1 | 0 | 1 | |||
列2 | 0 | 1 | 1 | 0 | |||
列3 | 1 | 1 | 1 | 1 |
表11A展示(w+、w-)對線BL0/1及BL2/3之實體配置的另一陣列具體例。陣列包括冗餘線BL01及BL23以及源極線下拉位元線BLPWDN。冗餘位元線BL01用以重新映射來自對BL0/1之值,且冗餘位元線BL23用以重新映射來自對BL2/3之值,此將展示於後表中。
表11A:W+、W-對之例示性佈局
BLPWDN | BL01 | BL0 | BL1 | BL2 | BL3 | BL23 | BLPWDN | |
列0 | W01+ | W01- | W02+ | W02- | ||||
列1 | W11+ | W11- | W12+ | W12- | ||||
列2 | W21+ | W21- | W22+ | W22- | ||||
列3 | W31+ | W31- | W32+ | W32- |
表11B展示實施例,其中不需要重新映射分佈式權重值,基本上在鄰近位元線之間不存在鄰近「1」。
表11B:W+、W-對之例示性權重組合
BLPWDN | BL01 | BL0 | BL1 | BL2 | BL3 | BL23 | BLPWDN | |
列0 | 1 | 0 | 1 | 0 | ||||
列1 | 0 | 1 | 0 | 1 | ||||
列2 | 1 | 0 | 1 | 0 | ||||
列3 | 0 | 1 | 0 | 1 |
表11C展示需要重新映射分佈式權重之實施例。此處,BL1及BL3中存在鄰近「1」,其導致鄰近位元線耦接。因此,如表11D中所展示,重新映射該等值,導致任何鄰近位元線之間無鄰近「1」值。此外,藉由重新映射,此刻減小沿著位元線之總電流,其導致該位元線中的值更精確,其亦導致沿著位元線之分佈式功率消耗更多。視情況,額外位元線(BL01、BL23)視情況可用以充當冗餘行。
表11C:w+、w-對之例示性權重組合
表11D:w+、w-對之經重新映射權重組合
BLPWDN | BL01 | BL0 | BL1 | BL2 | BL3 | BL23 | BLPWDN | |
列0 | 0 | 1 | 1 | 0 | ||||
列1 | 0 | 1 | 1 | 0 | ||||
列2 | 0 | 1 | 1 | 0 | ||||
列3 | 0 | 1 | 1 | 0 |
BLPWDN | BL01 | BL0 | BL1 | BL2 | BL3 | BL23 | BLPWDN | |
列0 | 0 | 0 | 1 | 0 | 0 | 1 | ||
列1 | 1 | 0 | 0 | 1 | 0 | 0 | ||
列2 | 0 | 0 | 1 | 0 | 0 | 1 | ||
列3 | 1 | 0 | 0 | 1 | 0 | 0 |
表11E及11F描繪將有雜訊單元(或有缺陷單元)重新映射至諸如表11E中之BL01、BL23或表11F中之BL0B及BL1B之冗餘行中的另一具體例。
表11E:w+、w-對之經重新映射權重組合
表11F:w+、w-對之經重新映射權重組合
BLPWDN | BL01 | BL0 | BL1 | BL2 | BL3 | BL23 | BLPWDN | |
列0 | 0 | 0 | 1 | 0 | 0 | 1 | ||
列1 | 1 | 0 | 有雜訊或有缺陷單元 (未使用) | 1 | 0 | 0 | ||
列2 | 0 | 0 | 1 | 有雜訊或有缺陷單元 (未使用) | 0 | 1 | ||
列3 | 1 | 0 | 0 | 1 | 0 | 0 |
BLPWDN | BL0A | BL0B | BL1A | BL1B | BLPWDN | |
列0 | 1 | 0 | 0 | 0 | ||
列1 | 有雜訊或有缺陷單元 (未使用) | 1 | 1 | 0 | ||
列2 | 1 | 0 | 有雜訊或有缺陷單元 (未使用) | 1 | ||
列3 | 0 | 0 | 1 | 0 |
表11G展示適合於圖21B之陣列的實體配置之具體例。由於每一位元線具有正權重或負權重,因此對於每一位元線,需要充當源極線下拉之虛設位元線或真實虛設位元線(未使用,例如深入或部分程式化或部分抹除)及實體障壁以避免FG至FG耦接。
表11G:w+、w-對之例示性佈局
在圖10x至圖11x中,源極線下拉位元線BLPWDN可實施為真實虛設位元線BLDUM或隔離位元線BLISO,意謂此等位元線係用以將資料位元線彼此隔離,因此避免鄰近單元之FG至FG耦接。不使用此等位元線,因此將其調節(程式化或抹除)至不會引起FG至FG耦接或使其不易受同一列或同一扇區中被調節(程式化或抹除)之其他單元之干擾的狀態,例如深入或部分程式化之單元或部分抹除之單元,使得FG電壓處於低位準狀態下。
BLPWDN | BL0 | BLPWDN | BL1 | BLPWDN | |
列0 | W01+/- | W02+/- | |||
列1 | W11+/- | W12+/- | |||
列2 | W21+/- | W22+/- | |||
列3 | W31+/- | W32+/- |
在另一具體例中,耦接至單元行之調節位元線鄰近於耦接至單元行之目標位元線,且調節位元線單元係用來在程式化操作期間使用鄰近單元之間的FG至FG耦接將目標位元線單元調節至所要目標值。視情況,可在目標位元線的與鄰近於調節位元線之一側相對的一側上使用源極線下拉位元線。
可實施映射有雜訊或有缺陷單元之替代具體例,其中將此類單元指明為未使用單元,意謂其經(深入)程式化以不對神經元輸出貢獻任何值。
可實施識別快速單元(其為可經程式化以比典型單元更快達到某一值之單元)之替代具體例,其中快速單元經識別且經受更精確的調節演算法以在程式化操作期間不會超過目標。
圖22描繪VMM系統2200。VMM系統2200包含可包括於迄今論述之VMM陣列中之任一者中的冗餘陣列2201。若附接至位元線開關之任一行被視為有缺陷的,則冗餘陣列2201可用作冗餘以替換有缺陷行。冗餘陣列可具有其自身的冗餘陣列(神經元)輸出(例如,位元線)及/或冗餘寫入及驗證電路及/或ADC電路以用於冗餘目的。舉例而言,當需要冗餘時,冗餘ADC之輸出將替換不良位元線之ADC的輸出。冗餘陣列2201亦可用於權重映射,諸如描述於表10A及10B中,以達成位元線間的相對均勻的功率分佈。
圖23描繪VMM系統2300,其包含陣列2301、陣列2302、行多工器2303、區域位元線LBL 2305a至2305d、全域位元線GBL 2308及2309,以及虛設位元線開關2305a至2305d。行多工器2303係用來將陣列2301之各別頂部區域位元線2305或陣列2302之底部區域位元線2305選擇為全域位元線2308。在一個具體例中,(金屬)全域位元線2308具有與區域位元線之數目(例如,8或16)相同的數目條線。在另一具體例中,每N數目條區域位元線,全域位元線2308僅具有一條(金屬)線,諸如每8或16條區域位元線僅具有一條全域位元線。行多工器2303可將鄰近全域位元線(諸如,GBL 2309)多工至所關注全域位元線(諸如,GBL 2308)中以有效地增加當前全域位元線之寬度。此減小所關注全域位元線(GBL 2308)上之電壓降。
現將描述可與本文中所描述之VMM系統中之任一者一起使用的各種輸出電路。
圖24描繪VMM系統2400。VMM系統2400包含:陣列2410;移位暫存器(SR) 2401;數位至類比轉換器(DAC) 2402,其自SR 2401接收輸入且輸出等效(類比或偽類比)位準或資訊(例如,電壓/時序);求和器電路2403;類比至數位轉換器(ADC) 2404;及位元線開關(圖中未示)。虛設位元線及虛設位元線開關存在但未展示。如所展示,ADC電路可組合在一起以建立具有較大精確度(亦即,較大數目個位元)之單個ADC。
求和器電路2403可包括展示於圖25至圖27中之電路。其可包括但不限於用於正規化、縮放、算術運算(例如,加法、減法)、激活或統計捨入。
圖25描繪可藉由可變電阻器調整之電流至電壓求和器電路2500,其包含:電流源2501-1、…、2501-n,其分別汲取電流Ineu(1)、…、Ineu(n)(其為自VMM陣列之位元線接收到的電流)、運算放大器2502、可變保持電容器2504及可變電阻器2503。運算放大器2502輸出電壓Vneuout = R2503 * (Ineu(1) + … + Ineu(n)),其與電流Ineu(1)、…、Ineu(n)之總和成比例。保持電容器2504係用來在開關2506斷開時保持輸出電壓。舉例而言,使用此保持輸出電壓以藉由ADC電路轉換成數位位元。
圖26描繪可藉由可變電容器(基本上為積分器)調整之電流至電壓求和器電路2600,其包含:電流源2601-1、…、2601-n,其分別汲取電流Ineu(1)、…、Ineu(n)(其為自VMM陣列之位元線接收到的電流)、運算放大器2602、可變電容器2603及開關2604。運算放大器2602輸出電壓Vneuout 2605 = (Ineu(1) +、…、+ Ineu(n))*積分時間/C2603,其與電流Ineu(1)、…、Ineu(n)之總和成比例。
圖27A描繪可藉由可變電容器(亦即,開關電容器SC電路)調整之電壓求和器2700,其包含開關2701及2702、可變電容器2703及2704、運算放大器2705、可變電容器2706以及開關S1 2707。當開關2701閉合時,將輸入Vin0提供至運算放大器2705。當開關2702閉合時,將輸入Vin1提供至運算放大器2705。視情況,開關2701及2702不同時閉合。運算放大器2705產生輸出Vout,該輸出為輸入(Vin0及/或Vin1,此取決於開關2701及2702當中之哪一開關閉合)之經放大版本。亦即,Vout = Cin/Cout * (Vin),Cin為C2703或C2704,Cout為C2706。舉例而言,Vout = Cin/Cout * Σ (Vinx),Cin = C2703 = C2704,其中Vinx可為Vin0或Vin1。在一個具體例中,Vin0為W+電壓且Vin1為W-電壓,且電壓求和器2700將該等電壓加在一起(W+ - W-,藉由啟用開關之適當極性)以產生輸出電壓Vout。
圖27B描繪電壓求和器2750,其包含開關2751 (S1)、2752 (S3)、2753 (S2)及2754 (S4)、可變輸入電容器2758、運算放大器2755、可變反饋電容器2756及開關2757 (S5)。在一個具體例中,Vin0為W+電壓且Vin1為W-電壓,且電壓求和器2750將該等電壓加在一起以產生輸出電壓Vout (W+ - W-,藉由啟用開關之適當極性)。
對於輸入=Vin0:當開關2754及2751閉合且開關2753、2752及2757斷開時,輸入Vin0經提供至電容器2758之頂部端子,該電容器之底部端子連接至VREF。接著,開關2751斷開且開關2753閉合以將電荷自電容器2758轉移至反饋電容器2756中。基本上,接著輸出VOUT = (C2758/C2756) * Vin0 (對於作為實施例之VREF=0的狀況)。
對於輸入=Vin1:當開關2753、2754及2757閉合且開關2751、2752及2757斷開時,電容器2758之兩個端子放電至VREF。接著,開關2754斷開且開關2752閉合,以將電容器2758之底部端子充電至Vin1,此又將反饋電容器2756充電至VOUT = -(C2758/C2756) * Vin1 (對於VREF=0之狀況)。
因此,若在實施上文針對Vin0所描述之序列之後實施上文針對Vin1輸入所描述之序列,則對於作為實施例之VREF=0的狀況,VOUT = (C2758/C2756) * (Vin 0 - Vin1)。此係用來例如實現W = W+ - W-。
如圖27中所展示之每一ADC可經組構以與下一ADC組合以藉由ADC之適當設計來實現較高位元實施方案。
再次參考圖17,至VMM陣列1701之輸入及自VMM陣列1701之輸出可呈數位或類比形式。舉例而言:
• 至DAC之依序輸入IN[0:q]:
• 在一個具體例中,輸入電路1706依序接收數位輸入,自IN0開始,接著IN1、…、接著INq。所有輸入位元具有相同VCGin。輸入位元被提供至DAC,其接著將類比信號作為輸入施加至VMM陣列1701。在ADC之前或在ADC之後,藉由調整二進位索引乘法器對所有位元線(神經元)輸出進行求和。
• 在另一具體例中,使用調整神經元(位元線)二進位索引乘法器方法。如圖20中所展示,實施例求和器具有兩條位元線BL0及Bln。權重跨越多條位元線BL0至BLn而分佈。舉例而言,存在4條位元線BL0、BL1、BL2、BL3。來自位元線BL0之輸出將乘以2^0=1。來自代表第n二進位位元位置之位元線BLn的輸出乘以2^n,例如,對於n=3,2^3=8。接著,將來自所有位元線之輸出在適當地乘以二進位位元位置2^n之後一起求和。接著,此藉由ADC數位化。此方法意謂所有單元僅具有二進位範圍,多位準範圍(n位元)藉由周邊電路(意謂藉由求和器電路)實現。因此,對於記憶體單元之最高偏壓位準,所有位元線之電壓降大致相同。
• 在另一具體例中,以依序方式施加數位輸入IN0、IN1、…、接著INq。每一輸入位元具有對應類比值VCGin。在ADC之前或在ADC之後,對所有神經元輸出進行求和以用於所有輸入位元評估。
• 至DAC之並列輸入:
• 在另一具體例中,以並列方式將輸入IN0、…、INq提供至DAC。每一輸入IN[0:q]具有對應類比值VCGin。在ADC之前或在ADC之後,藉由調整二進位索引乘法器方法對所有神經元輸出進行求和。
在涉及陣列之依序操作的具體例中,功率更均勻地分佈。
在利用神經元(位元線)二進位索引方法之具體例中,由於耦接至位元線之每一單元僅含有二進位位準,因此陣列中之功率消耗減小,2^n位準藉由求和器電路實現。
圖28A、圖28B及圖28C描繪可用於圖24中之求和器電路2403及類比至數位轉換器2404的輸出電路。
圖28A描繪輸出電路2800,其包含類比至數位轉換器2802,該類比至數位轉換器接收神經元輸出2801且輸出輸出數位位元2803。
圖28B描繪輸出電路2810,該輸出電路包含神經元輸出電路2811及類比至數位轉換器2812,其一起接收神經元輸出2801且產生輸出2813。
圖28C描繪輸出電路2820,該輸出電路包含神經元輸出電路2821及轉換器2822,其一起接收神經元輸出2801且產生輸出2823。
神經元輸出電路2811或2821可例如但不限於執行求和、縮放、正規化或算術運算。轉換器2822可例如但不限於執行ADC、PDC、AAC或APC操作。
圖29描繪神經元輸出電路2900,該神經元輸出電路包含可調整(縮放)電流源2901及可調整(縮放)電流源2902,其一起產生輸出iOUT
,該輸出為神經元輸出。此電路可執行正權重W+與負權重W-之求和,亦即,W = W+ - W-,且同時放大或縮小輸出神經元電流(經由可調整電流源2901及2902之調整)。亦即,IW+
為W+之縮放版本,且IW-
為W-之縮放版本。
圖30描繪可組構串聯類比至數位轉換器3000。其包括積分器3070,該積分器將神經元輸出電流積分至積分電容器3002 (Cint)中。
在一個具體例中,將VRAMP 3050提供至比較器3004之反相輸入。數位輸出(計數值) 3021由斜坡VRAMP 3050產生,直至比較器3004切換極性,其中計數器3020自斜坡之開始對時脈脈衝進行計數。
在另一具體例中,將VREF 3055提供至比較器3004之反相輸入。VC 3010藉由斜坡電流3051 (IREF)斜降,直至VOUT 3003達到VREF 3055,此時EC 3005信號停用計數器3020之計數。取決於目標應用,(n位元) ADC 3000可組構以具有較低精確度(少於n個位元)或較高精確度(多於n個位元)。精確度之可組構性係藉由但不限於組構電容器3002之電容、電流3051 (IREF)、VRAMP 3050之斜坡速率或時脈3041之時脈頻率來實現。
在另一具體例中,VMM陣列之ADC電路經組構以具有低於n個位元之精確度,且另一VMM陣列之ADC電路經組構以具有大於n個位元之高精確度。
在另一具體例中,一個神經元電路之串聯ADC電路3000的一個實例係經組構以與下一神經元電路之串聯ADC電路3000的另一實例組合,從而產生具有高於n位元精確度之ADC電路,其係諸如藉由組合串聯ADC電路3000之兩個實例的積分電容器3002。
圖31描繪可組構神經元逐次近似暫存器(successive approximation register;SAR)類比至數位轉換器3100。此電路為基於使用二進位電容器之電荷再分佈的逐次近似轉換器。其包括二進位CDAC (基於電容器之DAC) 3101、運算放大器/比較器3102以及SAR邏輯及暫存器3103。如所展示,GndV 3104為低電壓參考位準,例如接地位準。SAR邏輯及暫存器3103提供數位輸出3106。
圖32描繪可組構神經元組合SAR類比至數位轉換器電路3200。此電路將來自兩個神經元電路之兩個n位元ADC組合成一個以達成比n位元高的精確度,例如對於用於一個神經元電路之4位元ADC,此電路可藉由組合兩個4位元ADC達成>4位元精確度,諸如8位元ADC精確度。組合電路拓樸等效於分離電容器(橋接電容器(cap)或注意電容器(attention cap)) SAR ADC電路,例如藉由組合兩個鄰近4位元4C SAR ADC電路產生之8位元4C至4C SAR ADC。橋接電路3204 (Csplit)用以實現此情形,此電路之電容=(CDAC電容器單元之總數/CDAC電容器單元之總數-1)。
圖33描繪可用於以管線式方式與下一SAR ADC組合以增加位元之數目的管線式SAR ADC電路3300。SAR ADC電路3300包含二進位CDAC (基於電容器之DAC) 3301、運算放大器/比較器3302、運算放大器/比較器3303、SAR邏輯及暫存器3304。如所展示,GndV 3104為低電壓參考位準,例如接地位準。SAR邏輯及暫存器3103提供數位輸出3106。Vin為輸入電壓,VREF為參考電壓且GndV為接地電壓。Vresidue由電容器3305產生且作為輸入提供至SAR ADC之下一級。
關於可組構輸出神經元(諸如,可組構神經元ADC)電路之額外實施細節可見於由同一受讓人在2019年6月21申請且標題為「用於深度學習人工神經網路中之類比神經記憶體的可組構輸入區塊及輸出區塊以及實體佈局(Configurable Input Blocks and Output Blocks and Physical Layout for Analog Neural Memory in a Deep Learning Artificial Neural Network)」的美國專利申請案第16/449,201號中,該申請案以引用之方式併入本文中。
應注意,如本文中所使用,術語「在…上方」及「在…上」兩者包括「在…正上方」(其間未裝設有中間材料、元件或空間)及「間接地在…上」(其間設置有中間材料、元件或空間)。同樣地,術語「鄰近」包括「直接鄰近」(其間未設置有中間材料、元件或空間)及「間接鄰近」(其間設置有中間材料、元件或空間),「安裝至」包括「直接安裝至」(其間未設置有中間材料、元件或空間)及「間接安裝至」(其間設置有中間材料、元件或空間),且「電耦接」包括「直接電耦接至」(其間不具有將元件電連接在一起的中間材料或元件)及「間接電耦接至」(其間具有將元件電連接在一起的中間材料或元件)。舉例而言,「在基板上方」形成元件可包括在基板正上方形成元件而其間不具有中間材料/元件,以及間接地在基板上形成元件,其間具有一或多種中間材料/元件。
12:半導體基板
14:源極區
16:汲極區/汲極擴散區
18:通道區/通道
20、20A、20B:浮動閘極
22:字線端子/選擇閘極/控制閘極端子
24:位元線端子/位元線接點
28:控制閘極(CG)端子/控制閘極/控制閘極CG端子
30:抹除閘極
31、2402:數位至類比轉換器
32、1700、1800、1900、2000、2100、2110、2200、2300、2400:VMM系統
32a:VMM系統/輸入層
32b、32c:VMM系統/隱藏層
32d、32e:VMM系統/完全連接層
33、1701:VMM陣列
34:抹除閘極及字線閘極解碼器
35:控制閘極解碼器
36:位元線解碼器
37:源極線解碼器
38:差分求和器
39:激發函數電路
210:快閃記憶體單元
310、510:記憶體單元
410:四閘極記憶體單元/快閃記憶體單元
610:三閘極記憶體單元/快閃記憶體單元
710:堆疊閘極記憶體單元/快閃記憶體單元
810:雙分離閘極記憶體單元/快閃記憶體單元
1200、1300、1400、1500、1600:神經元VMM陣列
1201、1303、1403、1503、1603:非揮發性記憶體單元之記憶體陣列
1202:非揮發性參考記憶體單元之參考陣列
1203:控制閘極線
1204:抹除閘極線
1301、1401、1501、1601:第一非揮發性參考記憶體單元之參考陣列
1302、1402、1502、1602:第二非揮發性參考記憶體單元之參考陣列
1314:二極體連接式貫穿多工器
1504:串疊電晶體
1505、1512:多工器
1614:二極體連接式參考單元貫穿多工器
1702:列解碼器
1703:高電壓解碼器
1704:行解碼器
1705:位元線驅動器
1706:輸入電路
1707、2800、2810、2820:輸出電路
1708、1716:控制邏輯
1709:偏壓產生器
1710:高電壓產生區塊
1711:電荷泵
1712:電荷泵調節器
1713:高電壓位準產生器
1714:演算法控制器
1715:類比電路系統
1717:測試控制邏輯
1801、1802、1901、1902:單元
1803、1803a、1803b、1803c、1803d、1903a、1903b、1903c、1903d:位元線開關
1804、1804a、1804b、1804c、1804d、1904、1904a、1904b、1904c、1904d、2001、2002:虛設位元線開關
1805、1806、1905、1906:虛設單元
1807、1808、1907、1908:豎直金屬位元線
2004:源極線開關
2005a-2005n、2007a-2007n:虛設位元線
2101、2102、2113:求和電路
2111:第一陣列
2112:第一陣列
2201:冗餘陣列
2301、2302、2410:陣列
2303:行多工器
2305:區域位元線LBL
2305a-2305d:區域位元線LBL/虛設位元線開關
2308、2309:全域位元線
2401:移位暫存器(SR)
2403:求和器電路
2404、2802、2812:類比至數位轉換器(ADC)
2500、2600:電流至電壓求和器電路
2501-1~2501-n、2601-1~2601-n、2901、2902:電流源
2502、2602、2705、2755:運算放大器
2503、2603、2703、2704:可變電阻器
2504:可變保持電容器
2506、2604、2701、2702、2707、2751、2752、2753、2754、2757:開關
2605:電壓Vneuout
2700、2750:電壓求和器
2706:可變電容器
2756:可變反饋電容器
2758:可變輸入電容器
2801:神經元輸出
2803:輸出數位位元
2811、2821、2900:神經元輸出電路
2813、2823:輸出
2822:轉換器
3000:可組構串聯類比至數位轉換器
3002:積分電容器
3003:VOUT
3004:比較器
3005:EC
3010:VC
3020:計數器
3021、3106:數位輸出
3041:時脈
3050:VRAMP
3051:斜坡電流
3055:VREF
3070:積分器
3100:可組構神經元逐次近似暫存器(SAR)類比至數位轉換器
3101:二進位CDAC (基於電容器之DAC)
3102、3302、3303:運算放大器/比較器
3103、3304:SAR邏輯及暫存器
3104:GndV
3200:可組構神經元組合SAR類比至數位轉換器電路
3204:橋接電路
3300:管線式SAR ADC電路
3301:二進位CDAC (基於電容器之DAC)
3305:電容器
ARYGND:共同接地
BL0~BLN:位元線
BLR0、BLR1、BLR2、BLR3:端子
C1、C2、C3、S1、S2:層
CB1:第一突觸
CB2、CB3、CB4:突觸
CG0、CG1、CG2、CG3:控制閘極線/電壓輸入/控制閘極/控制閘極電壓
EG0、EG1、EGR0、EGR1:EG線
Ineu(1)~Ineu(n):電流
P1:激發函數/池化函數
P2:激發函數
S0:輸入層
S3:輸出層
SL0、SL1:源極線
Vin0、Vin1、WLx、EGx、CGx、BLx、SLx:輸入
Vout:輸出
WL0、WL1、WL2、WL3:字線/電壓輸入/SL線
WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、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陣列之另一具體例。
圖17描繪VMM系統。
圖18A、圖18B及圖18C描述先前技術VMM陣列。
圖19A、圖19B及圖19C描繪改良VMM陣列。
圖20描繪另一改良VMM陣列。
圖21A及圖21B描繪另一改良VMM陣列。
圖22描繪包含冗餘陣列之另一改良VMM陣列。
圖23描繪另一改良VMM系統,其包含兩個VMM陣列及共用虛設位元線開關電路系統。
圖24描繪另一改良VMM系統。
圖25描繪求和器電路之具體例。
圖26描繪求和器電路之另一具體例。
圖27A描繪求和器電路之另一具體例。
圖27B描繪求和器電路之另一具體例。
圖28A描繪輸出電路之具體例。
圖28B描繪輸出電路之另一具體例。
圖28C描繪輸出電路之另一具體例。
圖29描繪神經元輸出電路。
圖30描繪類比至數位轉換器之具體例。
圖31描繪類比至數位轉換器之另一具體例。
圖32描繪類比至數位轉換器之另一具體例。
圖33描繪類比至數位轉換器之另一具體例。
2000:VMM系統
2001:虛設位元線開關
2002:虛設位元線開關
2004:源極線開關
2005a:虛設位元線
2005n:虛設位元線
2007a:虛設位元線
2007n:虛設位元線
CG0、CG1、CG2、CG3:控制閘極線/電壓輸入/控制閘極/控制閘極電壓
EG0、EG1:EG線
SL0、SL1:源極線
WL0、WL1、WL2、WL3:字線/電壓輸入/SL線
Claims (33)
- 一種類比神經記憶體系統,其包含: 非揮發性記憶體單元之一陣列,其中該等單元配置成列及行,該等行配置成實體上鄰近的行對; 其中在每一鄰近對內,該鄰近對中之一行包含儲存W+值之單元,且該鄰近對中之一行包含儲存W-值之單元,其中根據公式W = (W+) - (W-),該鄰近對中之鄰近單元儲存一差異權重W。
- 如請求項1之系統,其進一步包含緊鄰該等鄰近行對中之至少一者的一虛設行。
- 如請求項2之系統,其中,該虛設行充當一源極線下拉位元線。
- 如請求項1之系統,其中,該陣列包含用作一冗餘陣列之一組非揮發性記憶體單元行。
- 如請求項1之系統,其中,該陣列中之該等非揮發性記憶體單元為分離閘極快閃記憶體單元。
- 如請求項1之系統,其中,該陣列中之該等非揮發性記憶體單元為堆疊閘極快閃記憶體單元。
- 如請求項1之系統,其進一步包含用於對來自一或多條位元線之輸出進行求和的一求和器。
- 如請求項7之系統,其中,該求和器可基於一可變電阻器而調整。
- 如請求項7之系統,其中,該求和器可基於一可變電容器而調整。
- 如請求項7之系統,其中,該求和器包含一開關電容器電路及一運算放大器。
- 如請求項7之系統,其進一步包含用於將該求和器之一輸出轉換成一數位信號的一類比至數位轉換器。
- 如請求項11之系統,其中,該類比至數位轉換器包含一逐次近似暫存器。
- 如請求項12之系統,其中,該類比至數位轉換器為一管線式類比至數位轉換器。
- 如請求項1之系統,其進一步包含: 一冗餘行,其中儲存於一W+行或一W-行中之值重新映射至該冗餘行。
- 如請求項14之系統,其中,該重新映射移除一鄰近行對中之兩個鄰近單元之間的耦接。
- 如請求項14之系統,其中,該重新映射在位元線之間重新分佈功率或電壓降中之一或多者。
- 如請求項14之系統,其中,該重新映射將雜訊單元重新映射至該冗餘行中。
- 一種類比神經記憶體系統,其包含: 非揮發性記憶體單元之一第一陣列,其中該等單元配置成列及行,且該等行中之一或多者中的該等非揮發性記憶體單元儲存W+值;及 非揮發性記憶體單元之一第二陣列,其中該等單元配置成列及行,且該等行中之一或多者中的該等非揮發性記憶體單元儲存W-值; 其中根據公式W = (W+) - (W-),來自該第一陣列及該第二陣列之單元對儲存一差異權重W。
- 如請求項18之系統,其進一步包含源極線下拉位元線。
- 如請求項18之系統,其進一步包含冗餘行。
- 如請求項20之系統,其中,該等冗餘行係用來重新映射來自一W+或W-行之權重。
- 如請求項21之系統,其中,該等冗餘行係用來重新映射權重以避免浮動閘極至浮動閘極耦接。
- 如請求項21之系統,其中,該等冗餘行係用來重新映射權重以在該等行中更均勻地分佈功率。
- 如請求項21之系統,其中,該等冗餘行係用來重新映射來自有雜訊或有缺陷單元之權重。
- 如請求項18之系統,其中,該第一陣列及該第二陣列中之該等非揮發性記憶體單元為分離閘極快閃記憶體單元。
- 如請求項18之系統,其中,該第一陣列及該第二陣列中之該等非揮發性記憶體單元為堆疊閘極快閃記憶體單元。
- 如請求項18之系統,其進一步包含用於對來自一或多條位元線之輸出進行求和的一求和器。
- 如請求項27之系統,其中,該求和器可基於一可變電阻器而調整。
- 如請求項27之系統,其中,該求和器可基於一可變電容器而調整。
- 如請求項27之系統,其中,該求和器包含一開關電容器電路及一運算放大器。
- 如請求項27之系統,其進一步包含用於將該求和器之一輸出轉換成一數位信號的一類比至數位轉換器。
- 如請求項31之系統,其中,該類比至數位轉換器包含一逐次近似暫存器。
- 如請求項31之系統,其中,該類比至數位轉換器為一管線式類比至數位轉換器。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202062985826P | 2020-03-05 | 2020-03-05 | |
US62/985,826 | 2020-03-05 | ||
US16/987,101 | 2020-08-06 | ||
US16/987,101 US11600321B2 (en) | 2020-03-05 | 2020-08-06 | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
PCT/US2020/049294 WO2021178003A1 (en) | 2020-03-05 | 2020-09-04 | Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network |
WOPCT/US20/49294 | 2020-09-04 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202141496A true TW202141496A (zh) | 2021-11-01 |
TWI790551B TWI790551B (zh) | 2023-01-21 |
Family
ID=77556303
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110106204A TWI769710B (zh) | 2020-03-05 | 2021-02-23 | 人工神經網路中具有適應性權重映射和分佈式功率之具有實質恆定陣列源極阻抗的類比神經記憶體陣列 |
TW112106041A TWI832710B (zh) | 2020-03-05 | 2021-02-25 | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 |
TW110106617A TWI790551B (zh) | 2020-03-05 | 2021-02-25 | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110106204A TWI769710B (zh) | 2020-03-05 | 2021-02-23 | 人工神經網路中具有適應性權重映射和分佈式功率之具有實質恆定陣列源極阻抗的類比神經記憶體陣列 |
TW112106041A TWI832710B (zh) | 2020-03-05 | 2021-02-25 | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 |
Country Status (7)
Country | Link |
---|---|
US (3) | US11600321B2 (zh) |
EP (3) | EP4407874A2 (zh) |
JP (4) | JP7428820B2 (zh) |
KR (2) | KR20220144382A (zh) |
CN (2) | CN115210811A (zh) |
TW (3) | TWI769710B (zh) |
WO (2) | WO2021178002A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI827119B (zh) * | 2021-12-15 | 2023-12-21 | 日商鎧俠股份有限公司 | 演算系統 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6708146B2 (ja) * | 2017-03-03 | 2020-06-10 | 株式会社デンソー | ニューラルネットワーク回路 |
US20210125049A1 (en) * | 2019-10-29 | 2021-04-29 | Taiwan Semiconductor Manufacturing Co., Ltd. | System for executing 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 |
US20210350217A1 (en) * | 2020-05-10 | 2021-11-11 | Silicon Storage Technology, Inc. | Analog neural memory array in artificial neural network with source line pulldown mechanism |
US11875852B2 (en) * | 2020-07-06 | 2024-01-16 | Silicon Storage Technology, Inc. | Adaptive bias decoder to provide a voltage to a control gate line in an analog neural memory array in artificial neural network |
US20240028211A1 (en) | 2022-07-13 | 2024-01-25 | Macronix International Co., Ltd. | Memory device for computing in-memory |
KR20240017546A (ko) * | 2022-08-01 | 2024-02-08 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 동작 방법 |
KR102705669B1 (ko) * | 2022-11-22 | 2024-09-11 | 경북대학교 산학협력단 | 합성곱 신경망의 하드웨어 커널 시스템 |
CN116486857B (zh) * | 2023-05-17 | 2024-04-02 | 北京大学 | 一种基于电荷再分配的存内计算电路 |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5022009A (en) | 1988-06-02 | 1991-06-04 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device having reading operation of information by differential amplification |
US5023837A (en) | 1989-09-05 | 1991-06-11 | Texas Instruments Incorporated | Bitline segmentation in logic arrays |
US5029130A (en) | 1990-01-22 | 1991-07-02 | Silicon Storage Technology, Inc. | Single transistor non-valatile electrically alterable semiconductor memory device |
US5256911A (en) * | 1992-06-10 | 1993-10-26 | Intel Corporation | Neural network with multiplexed snyaptic processing |
KR100316060B1 (ko) | 1998-06-16 | 2002-02-19 | 박종섭 | 플래시메모리의레이아웃및그형성방법 |
US6069824A (en) * | 1999-03-03 | 2000-05-30 | Matsushita Electric Industrial Co., Ltd. | Semiconductor memory device |
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 |
US7313023B2 (en) | 2005-03-11 | 2007-12-25 | Sandisk Corporation | Partition of non-volatile memory array to reduce bit line capacitance |
KR101380187B1 (ko) | 2007-10-08 | 2014-04-03 | 삼성전자주식회사 | 저전력, 낮은 독출 디스터번스를 갖는 비휘발성 메모리 장치 및 그것의 프리챠지 방법 및 독출 방법 |
KR101434401B1 (ko) * | 2007-12-17 | 2014-08-27 | 삼성전자주식회사 | 집적 회로 메모리 장치 |
US8379456B2 (en) * | 2009-10-14 | 2013-02-19 | Samsung Electronics Co., Ltd. | Nonvolatile memory devices having dummy cell and bias methods thereof |
CN106531212B (zh) | 2015-09-11 | 2020-02-07 | 硅存储技术公司 | 将存储器单元用作源极线下拉电路的闪速存储器系统 |
CN116842306A (zh) * | 2016-03-23 | 2023-10-03 | Gsi 科技公司 | 存储器内矩阵乘法及其在神经网络中的使用 |
JP6833873B2 (ja) | 2016-05-17 | 2021-02-24 | シリコン ストーリッジ テクノロージー インコーポレイテッドSilicon Storage Technology, Inc. | 不揮発性メモリアレイを使用したディープラーニングニューラルネットワーク分類器 |
US9953719B2 (en) | 2016-05-18 | 2018-04-24 | Silicon Storage Technology, Inc. | Flash memory cell and associated decoders |
US9910827B2 (en) | 2016-07-01 | 2018-03-06 | Hewlett Packard Enterprise Development Lp | Vector-matrix multiplications involving negative values |
US9875780B1 (en) | 2016-08-30 | 2018-01-23 | International Business Machines Corporation | STT MRAM source line configuration |
US10303998B2 (en) * | 2017-09-28 | 2019-05-28 | International Business Machines Corporation | Floating gate for neural network inference |
US11354562B2 (en) | 2018-01-03 | 2022-06-07 | Silicon Storage Technology, Inc. | Programmable neuron for analog non-volatile memory in deep learning artificial neural network |
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 |
US10957392B2 (en) * | 2018-01-17 | 2021-03-23 | Macronix International Co., Ltd. | 2D and 3D sum-of-products array for neuromorphic computing system |
US10719296B2 (en) * | 2018-01-17 | 2020-07-21 | Macronix International Co., Ltd. | Sum-of-products accelerator array |
US10242737B1 (en) * | 2018-02-13 | 2019-03-26 | Macronix International Co., Ltd. | Device structure for neuromorphic computing system |
US10735675B2 (en) * | 2018-04-13 | 2020-08-04 | Cornell University | Configurable image processing system and methods for operating a configurable image processing system for multiple applications |
JP7124498B2 (ja) * | 2018-07-06 | 2022-08-24 | 株式会社デンソー | ニューラルネットワーク回路 |
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 |
CN108695332B (zh) * | 2018-05-18 | 2021-05-07 | 上海华虹宏力半导体制造有限公司 | 分栅式闪存及其形成方法、控制方法 |
KR102105936B1 (ko) | 2018-06-25 | 2020-05-28 | 포항공과대학교 산학협력단 | 웨이트 행렬 입력 회로 및 웨이트 행렬 회로 |
US11568229B2 (en) | 2018-07-11 | 2023-01-31 | Silicon Storage Technology, Inc. | Redundant memory access for rows or columns containing faulty memory cells in analog neural memory in deep learning artificial neural network |
US10643119B2 (en) * | 2018-07-24 | 2020-05-05 | Sandisk Technologies Llc | Differential non-volatile memory cell for 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 |
US11042797B2 (en) * | 2019-01-08 | 2021-06-22 | SimpleMachines Inc. | Accelerating parallel processing of data in a recurrent neural network |
US11132176B2 (en) * | 2019-03-20 | 2021-09-28 | Macronix International Co., Ltd. | Non-volatile computing method in flash memory |
US11507642B2 (en) | 2019-05-02 | 2022-11-22 | Silicon Storage Technology, Inc. | Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network |
-
2020
- 2020-08-06 US US16/987,101 patent/US11600321B2/en active Active
- 2020-08-06 US US16/986,812 patent/US11355184B2/en active Active
- 2020-09-03 EP EP24181465.6A patent/EP4407874A2/en active Pending
- 2020-09-03 EP EP20781134.0A patent/EP4115423B1/en active Active
- 2020-09-03 WO PCT/US2020/049291 patent/WO2021178002A1/en unknown
- 2020-09-03 KR KR1020227031897A patent/KR20220144382A/ko active IP Right Grant
- 2020-09-03 JP JP2022552600A patent/JP7428820B2/ja active Active
- 2020-09-03 CN CN202080097957.6A patent/CN115210811A/zh active Pending
- 2020-09-04 JP JP2022552598A patent/JP2023515679A/ja active Pending
- 2020-09-04 EP EP20780397.4A patent/EP4115343A1/en active Pending
- 2020-09-04 WO PCT/US2020/049294 patent/WO2021178003A1/en unknown
- 2020-09-04 KR KR1020227027175A patent/KR20220125305A/ko not_active Application Discontinuation
- 2020-09-04 CN CN202080097943.4A patent/CN115280327A/zh active Pending
-
2021
- 2021-02-23 TW TW110106204A patent/TWI769710B/zh active
- 2021-02-25 TW TW112106041A patent/TWI832710B/zh active
- 2021-02-25 TW TW110106617A patent/TWI790551B/zh active
-
2023
- 2023-01-30 US US18/103,383 patent/US11908513B2/en active Active
-
2024
- 2024-01-25 JP JP2024009484A patent/JP2024056734A/ja active Pending
- 2024-05-29 JP JP2024087159A patent/JP2024116189A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI827119B (zh) * | 2021-12-15 | 2023-12-21 | 日商鎧俠股份有限公司 | 演算系統 |
Also Published As
Publication number | Publication date |
---|---|
US11355184B2 (en) | 2022-06-07 |
TWI832710B (zh) | 2024-02-11 |
TW202322128A (zh) | 2023-06-01 |
JP2023515680A (ja) | 2023-04-13 |
WO2021178002A1 (en) | 2021-09-10 |
CN115210811A (zh) | 2022-10-18 |
US20210280239A1 (en) | 2021-09-09 |
EP4115423A1 (en) | 2023-01-11 |
KR20220125305A (ko) | 2022-09-14 |
TW202203226A (zh) | 2022-01-16 |
JP2024056734A (ja) | 2024-04-23 |
JP7428820B2 (ja) | 2024-02-06 |
US11908513B2 (en) | 2024-02-20 |
EP4115343A1 (en) | 2023-01-11 |
US11600321B2 (en) | 2023-03-07 |
WO2021178003A1 (en) | 2021-09-10 |
TWI790551B (zh) | 2023-01-21 |
US20210280240A1 (en) | 2021-09-09 |
TWI769710B (zh) | 2022-07-01 |
KR20220144382A (ko) | 2022-10-26 |
EP4115423B1 (en) | 2024-07-24 |
JP2024116189A (ja) | 2024-08-27 |
EP4407874A2 (en) | 2024-07-31 |
US20230178147A1 (en) | 2023-06-08 |
JP2023515679A (ja) | 2023-04-13 |
CN115280327A (zh) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI832710B (zh) | 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列 | |
JP2024105278A (ja) | ソース線プルダウン機構を備えた人工ニューラルネットワーク内のアナログニューラルメモリアレイ | |
TWI819298B (zh) | 包含邏輯單元之人工神經網路中之類比神經記憶體陣列及經改良之程式化機制 | |
TWI780719B (zh) | 非揮發性記憶體系統 | |
US20240256846A1 (en) | Multiplexors for neural network array | |
US20230048411A1 (en) | Input circuitry for analog neural memory in a deep learning artificial neural network | |
WO2024162978A1 (en) | Multiplexors for neural network array |