TW202336748A - 決定施加至神經網路中的一或多個記憶體胞元的偏壓 - Google Patents

決定施加至神經網路中的一或多個記憶體胞元的偏壓 Download PDF

Info

Publication number
TW202336748A
TW202336748A TW111138728A TW111138728A TW202336748A TW 202336748 A TW202336748 A TW 202336748A TW 111138728 A TW111138728 A TW 111138728A TW 111138728 A TW111138728 A TW 111138728A TW 202336748 A TW202336748 A TW 202336748A
Authority
TW
Taiwan
Prior art keywords
array
voltage
memory cells
memory
memory cell
Prior art date
Application number
TW111138728A
Other languages
English (en)
Other versions
TWI843232B (zh
Inventor
曉萬 陳
Original Assignee
美商超捷公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/585,452 external-priority patent/US20230154528A1/en
Application filed by 美商超捷公司 filed Critical 美商超捷公司
Publication of TW202336748A publication Critical patent/TW202336748A/zh
Application granted granted Critical
Publication of TWI843232B publication Critical patent/TWI843232B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/54Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using elements simulating biological cells, e.g. neuron
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0408Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors
    • G11C16/0425Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells containing floating gate transistors comprising cells containing a merged floating gate and select transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B41/00Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates
    • H10B41/30Electrically erasable-and-programmable ROM [EEPROM] devices comprising floating gates characterised by the memory core region

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Biophysics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Non-Volatile Memory (AREA)
  • Read Only Memory (AREA)

Abstract

本發明揭示用於關於溫度改變時之準確度或功率消耗改良一深度學習人工神經網路中之一類比神經記憶體之眾多具體例。在某些具體例中,執行一種方法以即時決定一偏壓值以施加至一神經網路中之一或多個記憶體胞元。在其他具體例中,自一查找表決定一偏壓且在一讀取操作期間將該偏壓施加至一記憶體胞元之一端子。

Description

決定施加至神經網路中的一或多個記憶體胞元的偏壓
[優先權主張]本申請案主張於2021年11月12日提出申請且標題為「在效能、功率或溫度方面最佳化深度學習人工神經網路中的類比神經記憶體」(Optimization of Analog Neural Memory in a Deep Learning Artificial Neural Network as to Performance, Power, or Temperature)之美國臨時專利申請案第63/279,028號以及於2022年1月26日提出申請且標題為「決定施加至神經網路中的一或多個記憶體胞元的偏壓」(Determination of a Bias Voltage to Apply to One or More Memory Cells in a Neural Network)之美國專利申請案第17/585,452號之優先權。
揭示用於關於一變化溫度環境中之效能或功率改良一深度學習人工神經網路中之一類比神經記憶體之眾多具體例。
人工神經網路模仿生物神經網路(動物之中樞神經系統,尤其係大腦)且用於估計或近似可取決於大量輸入且通常未知之函數。人工神經網路通常包括彼此之間交換訊息之經互連「神經元」層。
圖1圖解說明一人工神經網路,其中圓圈表示輸入或神經元層。連接(稱作突觸)由箭頭表示且具有可基於經驗調諧之數值權重。此使得神經網路適於輸入且能夠學習。通常,神經網路包括一多輸入層。通常存在一或多個中間神經元層以及提供神經網路之輸出之一神經元輸出層。每一層級處之神經元基於自突觸接收之資料個別地或共同地做出一決策。
用於高效能資訊處理之人工神經網路之發展中之主要挑戰中之一者係適當硬體技術之缺乏。確實,實際神經網路依賴於實現神經元之間的高連接性(亦即,一極高計算平行性)之極大量突觸。原理上,此複雜性可藉助數位超級電腦或專門圖形處理單元叢集來實現。然而,除高成本之外,與消耗更少能量之生物網路(主要因為生物網路執行低精確度類比計算)相比,此等方法亦遭受低下能量效率。CMOS類比電路已用於人工神經網路,但大多數CMOS實施之突觸因神經元及突觸之高數量已過於笨重。
申請人先前在美國專利申請案第15/594,439號中揭示一種利用一或多個非揮發性記憶體陣列作為突觸之人工(類比)神經網路,該美國專利申請案以引用方式併入。該等非揮發性記憶體陣列操作為一類比神經記憶體。該神經網路裝置包括:第一複數個突觸,其經組態以接收第一複數個輸入且自其產生第一複數個輸出;及第一複數個神經元,其經組態以接收該第一複數個輸出。該第一複數個突觸包括複數個記憶體胞元,其中該等記憶體胞元中之每一者包括:經間隔開源極及汲極區域,其形成在一半導體基板中,其中一通道區域在源極區域與汲極區域之間延伸;一浮動閘極,其安置於該通道區域之一第一部分上方且與該第一部分絕緣;一非浮動閘極,其安置於該通道區域之一第二部分上方且與該第二部分絕緣。該複數個記憶體胞元中之每一者經組態以儲存對應於浮動閘極上之電子之一數量之一權重值。該複數個記憶體胞元經組態以將第一複數個輸入乘以所儲存權重值以產生第一複數個輸出。 非揮發性記憶體胞元
非揮發性記憶體係眾所周知的。舉例而言,以引用方式併入本文中之美國專利5,029,130 (「’130專利」)揭示一種分離閘極非揮發性記憶體胞元陣列,該陣列係一類型之快閃記憶體胞元。在圖2中展示此一記憶體胞元210。每一記憶體胞元210包括形成於半導體基板12中之源極區域14及汲極區域16,在源極區域與汲極區域之間具有通道區域18。浮動閘極20形成於通道區域18之一第一部分上方且與該第一部分絕緣(且控制其導電性),且形成於源極區域14之一部分上方。字線端子22 (其通常耦合至一字線)具有:一第一部分,其安置於通道區域18之一第二部分上方且與該第二部分絕緣(且控制其導電性);及一第二部分,其向上延伸且在浮動閘極20上方。浮動閘極20及字線端子22藉由一閘極氧化物與基板12絕緣。位元線24耦合至汲極區域16。
記憶體胞元210藉由將一高正電壓置於字線端子22上而抹除(其中電子自浮動閘極移除),此引起浮動閘極20上之電子經由富爾(FN)穿隧而從浮動閘極20穿隧過中間絕緣體到達字線端子22。
藉由用熱電子進行源極側注入(SSI) (其中將電子置於浮動閘極上)、藉由將一正電壓置於字線端子22上且將一正電壓置於源極區域14上來程式化記憶體胞元210。電子電流將自汲極區域16朝向源極區域14流動。當電子到達字線端子22與浮動閘極20之間的間隙時該等電子將加速且變熱。經加熱電子中之某些經加熱電子因來自浮動閘極20之吸引靜電力將注射穿過閘極氧化物至浮動閘極20上。
記憶體胞元210藉由將正讀取電壓置於汲極區域16及字線端子22上(此接通通道區域18在字線端子下方之部分)來讀取。若浮動閘極20帶正電(亦即,抹除了電子),則通道區域18在浮動閘極20下方之部分亦接通,且電流將跨越通道區域18流動,此被感測為經抹除或「1」狀態。若浮動閘極20帶負電(亦即,用電子進行程式化),則通道區域在浮動閘極20下方之部分大多或完全關斷,且電流將不跨越通道區域18流動(或將存在極少流動),此被感測為經程式化或「0」狀態。
表1繪示可在執行讀取、抹除及程式化操作時應用於記憶體胞元110之端子之典型電壓及電流範圍: 表1: 圖3之快閃記憶體胞元210之操作
   WL BL SL
讀取 2至3 V 0.6至2 V 0 V
抹除 ~11至13 V 0 V 0 V
程式化 1至2 V 10.5至3 µA 9至10 V
已知其他類型之快閃記憶體胞元之其他分離閘極記憶體胞元組態。舉例而言,圖3繪示一個四閘極記憶體胞元310,該四閘極記憶體胞元包含源極區域14、汲極區域16、通道區域18之一第一部分上方之浮動閘極20、通道區域18之一第二部分上方之一選定閘極22 (通常耦合至一字線WL)、浮動閘極20上方之一控制閘極28以及源極區域14上方之一抹除閘極30。在美國專利6,747,310中闡述了此組態,該美國專利出於所有目的以引用方式併入本文中。此處,除浮動閘極20之外,所有閘極均為非浮動閘極,此意味著該等閘極係電連接的或可連接至一電壓源。藉由將經加熱電子自身從通道區域18注入至浮動閘極20上來執行程式化。藉由使電子自浮動閘極20穿隧至抹除閘極30來執行抹除。
表2繪示可在執行讀取、抹除及程式化操作時應用於記憶體胞元310之端子之典型電壓及電流範圍: 表2: 圖3之快閃記憶體胞元310之操作
   WL/SG BL CG EG SL
讀取 1.0至2 V 0.6至2 V 0至2.6 V 0至2.6 V 0 V
抹除 -0.5 V/0 V 0 V 0 V/-8 V 8至12 V 0 V
程式化 1 V 0.1至1 µA 8至11 V 4.5至9 V 4.5至5 V
圖4繪示另一類型之快閃記憶體胞元之一個三閘極記憶體胞元410。除了記憶體胞元410不具有一單獨控制閘極以外,記憶體胞元410與圖3之記憶體胞元310是相同的。除了無施加控制閘極偏壓以外,抹除操作(其中抹除透過抹除閘極之使用而發生)及讀取操作類似於圖3之抹除操作及讀取操作。程式化操作亦在不具有控制閘極偏壓之情況下進行,且因此,在一程式化操作期間必須將一更高電壓施加於源極線上以補償控制閘極偏壓之缺乏。
表3繪示可在執行讀取、抹除及程式化操作時應用於記憶體胞元410之端子之典型電壓及電流範圍: 表3: 圖4之快閃記憶體胞元410之操作
   WL/SG BL EG SL
讀取 0.7至2.2 V 0.6至2 V 0至2.6 V 0 V
抹除 -0.5 V/0 V 0 V 11.5 V 0 V
程式化 1 V 0.2至3 µA 4.5 V 7至9 V
圖5繪示另一類型之快閃記憶體胞元之經堆疊閘極記憶體胞元510。記憶體胞元510類似於圖2之記憶體胞元210,除了以下之外:浮動閘極20在整個通道區域18上方延伸且控制閘極22 (其在此處將耦合至一字線)在浮動閘極20上方延伸,該浮動閘極與該控制閘極藉由一絕緣層分離(未展示)。藉由使電子自FG至基板之FN穿隧來進行抹除;藉由在通道18與汲極區域16之間的區域處進行通道熱電子(CHE)注入、藉由使電子自源極區域14朝向汲極區域16流動來進行程式化;且讀取操作類似於以一更高控制閘極電壓對記憶體胞元210進行之讀取操作。
表4繪示可在執行讀取、抹除及程式化操作時應用於記憶體胞元 510  之端子及基板 12 之典型電壓範圍: 表4:圖5之快閃記憶體胞元 510 之操作
   CG BL SL 基板
讀取 2至5 V 0.6至2 V 0 V 0 V
抹除 -8至-10 V/0 V FLT FLT 8至10 V / 15至20 V
程式化 8至12 V 3至5 V 0 V 0 V
本文中所闡述之方法及手段可應用於其他非揮發性記憶體技術,諸如但不限於以下各項:FINFET分離閘極快閃或堆疊閘極快閃記憶體、NAND快閃、SONOS (矽-氧化物-氮化物-氧化物-矽,氮化物中之電荷捕捉)、MONOS (金屬-氧化物-氮化物-氧化物-矽,氮化物中之金屬電荷捕捉)、ReRAM (電阻式隨機存取記憶體)、PCM (相變記憶體)、MRAM (磁性隨機存取記憶體)、FeRAM (鐵電式隨機存取記憶體)、CT (電荷捕捉)記憶體、CN (碳管)記憶體、OTP (雙位階或多位階一次可程式化)及CeRAM (相關電子隨機存取記憶體)。
為了在一人工神經網路中利用包含上文所闡述之非揮發性記憶體胞元之類型中之一者之記憶體陣列,做出了兩種修改。首先,線經組態使得每一記憶體胞元可個別地程式化、抹除及讀取,而不會不利地影響陣列中之其他記憶體胞元之記憶體狀態,如下文進一步闡釋。其次,提供對記憶體胞元之連續(類比)程式化。
具體而言,陣列中之每一記憶體胞元之記憶體狀態(亦即,浮動閘極上之電荷)可獨立地且以對其他記憶體胞元之最小擾動連續地自一完全抹除狀態改變至一完全程式化狀態。在另一具體例中,陣列中之每一記憶體胞元之記憶體狀態( 亦即,浮動閘極上之電荷)可獨立地且以對其他記憶體胞元之最小擾動連續地自一完全程式化狀態改變至一完全抹除狀態,且反之亦然。此意味著,胞元儲存係類比的或至少可儲存諸多離散值(諸如16或64個不同值)中之一者,此允許對記憶體陣列中之所有胞元進行極精確及個別調諧,且此使得記憶體陣列適合於儲存且對神經網路之突觸權重進行精細調諧調整。 採用非揮發性記憶體胞元陣列之神經網路
圖6概念地圖解說明利用本具體例之一非揮發性記憶體陣列之一神經網路之一非限制性實施例。此實施例將非揮發性記憶體陣列神經網路用於一面部辨識應用,但可使用一基於非揮發性記憶體陣列之神經網路來實施任何其他適當應用。
S0係輸入層,就此實施例而言係具有5位元精確度之一32x32像素RGB影像(亦即,三個32x32像素陣列,每一色彩R、G及B各一個陣列,每一像素為5位元精確度)。自輸入層S0前往層C1之突觸CB1在某些例項中應用不同權重集且在其他例項中應用共用權重,且藉助3x3像素重疊濾波器(核心)掃描輸入影像,使濾波器移位1像素(或如由模型所規定,1個以上像素)。具體而言,影像之一3x3部分(亦即,稱為一濾波器或核心)中之9個像素之值提供至突觸CB1,其中此9個輸入值乘以適當權重,且在對彼乘法之輸出求和之後,由CB1之一第一突觸決定且提供一單個輸出值以產生層C1之特徵圖中之一者之一像素。然後,3x3濾波器在輸入層S0內向右移位一個像素(亦即,在右邊添加三像素之行,且放棄左邊上之三像素之行),由此新定位濾波器中之9個像素值提供至突觸CB1,其中將該等像素值乘以相同權重且藉由相關聯突觸決定一第二單個輸出值。繼續此程式直至3x3濾波器跨越輸入層S0之整個32x32像素影像對所有三個色彩及對所有位元(精確度值)掃描為止。然後,使用不同權重集重複該程式以產生層C1之一不同特徵圖,直至計算完層C1之所有特徵圖為止。
在本實施例中,在層C1中存在各自具有30x30像素之16個特徵圖。每一像素係藉由將輸入乘以核心所提取之一新特徵像素,且因此每一特徵圖係一個二維陣列,且因此在此實施例中層C1構成二維陣列之16個層(應牢記,本文中所提及之層及陣列係邏輯關係,未必係物理關係–亦即,該等陣列未必定向於物理二維陣列中)。層C1中之16個特徵圖中之每一者係藉由應用於濾波器掃描之十六個不同突觸權重集中之一者產生的。 C1特徵圖可全部針對於同一影像特徵之不同態樣,諸如邊界識別。舉例而言,第一圖(使用用於產生此第一圖之所有掃描所共用之一第一權重集產生)可識別圓形邊緣,第二圖(使用不同於第一權重集之一第二權重集產生)可識別矩形邊緣或某些特徵之縱橫比等等。
在自層C1前往層S1之前應用一激勵函數P1 (池化),此將來自每一特徵圖中之連續、非重疊2x2區域之值池化。池化函數P1之目的係將鄰近位置平均(或亦可使用一最大值函數)以在進入下一階段之前(舉例而言)減少邊緣位置之相依性且減小資料大小。在層S1處,存在16個15x15特徵圖(亦即,十六個不同陣列各自具有15x15像素)。自層S1前往層C2之突觸CB2藉助4x4濾波器以1像素之一濾波器移位掃描層S1中之圖。在層C2處,存在22個12x12特徵圖。在自層C2前往層S2之前應用一激勵函數P2 (池化),此將來自每一特徵圖中之連序非重疊2x2區域之值池化。在層S2處,存在22個6x6特徵圖。在自層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型、雙曲正切或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(查找表)進行,該查找表將輸入Inputx映射至用於輸入VMM陣列32a之矩陣乘法器之適當類比位準。亦可藉由一類比轉類比(A/A)轉換器來進行輸入轉換以將一外部類比輸入轉換至一經映射類比輸入(至輸入VMM陣列32a)。
藉由輸入VMM陣列32a產生之輸出經提供為至下一VMM陣列(隱藏層級1) 32b之一輸入,VMM陣列32b繼而產生經提供為至下一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,該神經元VMM陣列尤其適合於如圖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) * Vt 2成比例,其中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 = β * (Vgs-Vth)*Vds ;β = u*Cox*Wt/L W = α (Vgs-Vth) 此意味著,線性區域中之權重W與(Vgs-Vth)成比例
一字線或控制閘極或位元線或源極線可用作線性區域中操作之記憶體胞元之輸入。位元線或源極線可用作記憶體胞元之輸出。
對於一I轉V線性轉換器,線性區域中操作之一記憶體胞元(諸如一參考記憶體胞元或一周邊記憶體胞元)或一電晶體可用於將一輸入/輸出電流線性地轉換成一輸入/輸出電壓。
或者,本文中所闡述之VMM陣列之記憶體胞元可經組態以在飽和區域中操作: Ids = ½ * β* (Vgs-Vth) 2;β = u*Cox*Wt/L Wα=(Vgs-Vth) 2,此意味著權重W與(Vgs-Vth) 2成比例
一字線、控制閘極或抹除閘極可用作在飽和區域中操作之記憶體胞元之輸入。位元線或源極線可用作輸出神經元之輸出。
或者,本文中所闡述之VMM陣列之記憶體胞元可用於一神經網路之每一層或多個層之所有區域或其一組合(次臨界、線性或飽和)中。
在美國專利第10,748,630號中闡述了圖7之VMM陣列32之其他具體例,該美國專利以引用方式併入本文中。如在該申請案中所闡述,一源線或一位元線可用作神經元輸出(電流求和輸出)。
圖10繪示神經元VMM陣列1000,該神經元VMM陣列尤其適合於如圖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之操作電壓及電流。表中之行指示針對選定胞元置於字線上之電壓、針對未選定胞元置於字線上之電壓、針對選定胞元置於位元線上之電壓、針對未選定胞元置於位元線上之電壓、針對選定胞元置於源極線上之電壓以及針對未選定胞元置於源極線上之電壓。列指示讀取、抹除及程式化操作。 表5:圖10之VMM陣列1000之操作:
   WL WL - 未選定 BL BL - 未選定 SL SL - 未選定
讀取 1至3.5 V -0.5 V/0 V 0.6至2 V(Ineuron) 0.6V至2 V/0 V 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.5V 4至10 V 0至1 V/FLT
圖11繪示神經元VMM陣列1100,該神經元VMM陣列尤其適合於如圖2中所展示之記憶體胞元210且用作一輸入層與下一層之間的突觸及神經元部分。VMM陣列1100包含非揮發性記憶體胞元之一記憶體陣列1103、第一非揮發性參考記憶體胞元之參考陣列1101以及第二非揮發性參考記憶體胞元之參考陣列1102。參考陣列1101及1102在VMM陣列1100之列方向上延伸。VMM陣列類似於VMM 1000,除了以下之外:在VMM陣列1100中,字線在垂直方向上延伸。此處,在一讀取操作期間,輸入提供於字線(WLA0、WLB0、WLA1、WLB2、WLA2、WLB2、WLA3、WLB3)上,且輸出顯現於源極線(SL0、SL1)上。置於每一源極線上之電流對來自連接至彼特定源極線之記憶體胞元之所有電流執行一求和函數。
表6繪示VMM陣列1100之操作電壓及電流。表中之行指示針對選定胞元置於字線上之電壓、針對未選定胞元置於字線上之電壓、針對選定胞元置於位元線上之電壓、針對未選定胞元置於位元線上之電壓、針對選定胞元置於源極線上之電壓以及針對未選定胞元置於源極線上之電壓。列指示讀取、抹除及程式化操作。 表6:圖11之VMM陣列1100之操作
   WL WL - 未選定 BL BL - 未選定 SL SL - 未選定
讀取 1至3.5 V -0.5 V/0 V 0.6至2 V 0.6 V至 2 V/0 V ~0.3至 1V(Ineuron) 0 V
抹除 ~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
圖12繪示神經元VMM陣列1200,該神經元VMM陣列尤其適合於如圖3中所展示之記憶體胞元310且用作一輸入層與下一層之間的突觸及神經元部分。VMM陣列1200包含非揮發性記憶體胞元之一記憶體陣列1203、第一非揮發性參考記憶體胞元之參考陣列1201以及第二非揮發性參考記憶體胞元之參考陣列1202。參考陣列1201及1202用於將流動至端子BLR0、BLR1、BLR2及BLR3中之電流輸入轉換成電壓輸入CG0、CG1、CG2及CG3。實際上,第一及第二非揮發性參考記憶體胞元係在電流輸入穿過BLR0、BLR1、BLR2及BLR3流動至其等中時透過多工器1212來二極體連接(僅部分地展示)的。多工器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之操作電壓及電流。表中之行指示針對選定胞元置於字線上之電壓、針對未選定胞元置於字線上之電壓、針對選定胞元置於位元線上之電壓、針對未選定胞元置於位元線上之電壓、針對選定胞元置於控制閘極上之電壓、針對與選定胞元處於同一扇區中之未選定胞元置於控制閘極上之電壓、針對與選定胞元處於一不同扇區中之未選定胞元置於控制閘極上之電壓、針對選定胞元置於抹除閘極上之電壓、針對未選定胞元置於抹除閘極上之電壓、針對選定胞元置於源極線上之電壓以及針對未選定胞元置於源極線上之電壓。列指示讀取、抹除及程式化操作。 表7:圖12之VMM陣列1200之操作
   WL WL-未選 定 BL BL- 未選定 CG CG-未 選定同 一扇區 CG- 未選 定 EG EG- 未選 定 SL SL-未選 定
讀 取 1.0至 2 V -0.5 V/0 V 0.6至 2V(Ineuron) 0 V 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
圖13繪示神經元VMM陣列1300,該神經元VMM陣列尤其適合於如圖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之操作電壓及電流。表中之行指示針對選定胞元置於字線上之電壓、針對未選定胞元置於字線上之電壓、針對選定胞元置於位元線上之電壓、針對未選定胞元置於位元線上之電壓、針對選定胞元置於控制閘極上之電壓、針對與選定胞元處於同一扇區中之未選定胞元置於控制閘極上之電壓、針對與選定胞元處於一不同扇區中之未選定胞元置於控制閘極上之電壓、針對選定胞元置於抹除閘極上之電壓、針對未選定胞元置於抹除閘極上之電壓、針對選定胞元置於源極線上之電壓以及針對未選定胞元置於源極線上之電壓。列指示讀取、抹除及程式化操作。 表8:圖13之VMM陣列1300之操作
   WL WL -未選定 BL BL- 未選定 CG CG-未 選定同 一扇區 CG- 未選定 EG EG- 未選定 SL SL- 未選定
讀 取 1.0至 2 V -0.5 V/ 0 V 0.6至 2V(Ineuron) 0 V 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 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至1uA 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
圖22繪示神經元VMM陣列2200,該神經元VMM陣列尤其適合於如圖2中所展示之記憶體胞元210且用作一輸入層與下一層之間的突觸及神經元部分。在VMM陣列2200中,分別在位元線BL 0、…、BL N上接收輸入INPUT 0、…、INPUT N,且分別在源極線SL 0、SL 1、SL 2及SL 3上產生輸出OUTPUT 1、OUTPUT 2、OUTPUT 3及OUTPUT 4
圖23繪示神經元VMM陣列2300,該神經元VMM陣列尤其適合於如圖2中所展示之記憶體胞元210且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,分別在源極線SL 0、SL 1、SL 2及SL 3上接收輸入INPUT 0、INPUT 1、INPUT 2及INPUT 3,且在位元線BL 0、…、BL N上產生輸出OUTPUT 0、…、OUTPUT N
圖24繪示神經元VMM陣列2400,該神經元VMM陣列尤其適合於如圖2中所展示之記憶體胞元210且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,分別在字線WL 0、…、WL M上接收輸入INPUT 0、…、INPUT M,且在位元線BL 0、…、BL N上產生輸出OUTPUT 0、…、OUTPUT N
圖25繪示神經元VMM陣列2500,該神經元VMM陣列尤其適合於如圖3中所展示之記憶體胞元310且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,分別在字線WL 0、…、WL M上接收輸入INPUT 0、…、INPUT M,且在位元線BL 0、…、BL N上產生輸出OUTPUT 0、…、OUTPUT N
圖26繪示神經元VMM陣列2600,該神經元VMM陣列尤其適合於如圖4中所展示之記憶體胞元410且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,分別在垂直控制閘極線CG 0、…、CG N上接收輸入INPUT 0、…、INPUT N,且在源極線SL 0及SL 1上產生輸出OUTPUT 1及OUTPUT 2
圖27繪示神經元VMM陣列2700,該神經元VMM陣列尤其適合於如圖4中所展示之記憶體胞元410且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,分別在分別耦合至位元線BL 0、…、BL N之位元線控制閘極之閘極2701-1、2701-2、…、2701-(N-1)及2701-N上接收輸入INPUT 0、…、INPUT N。在源極線SL 0及SL 1上產生例示性輸出OUTPUT 1及OUTPUT 2
圖28繪示神經元VMM陣列2800,該神經元VMM陣列尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510以及如圖7中所展示之記憶體胞元710,且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,在字線WL 0、…、WL M上接收輸入INPUT 0、…、INPUT M,且分別在位元線BL 0、…、BL N上產生輸出OUTPUT 0、…、OUTPUT N
圖29繪示神經元VMM陣列2900,該神經元VMM陣列尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510以及如圖7中所展示之記憶體胞元710,且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,在控制閘極線CG 0、…、CG M上接收輸入INPUT 0、…、INPUT M。分別在垂直源極線SL 0、…、SL N上產生輸出OUTPUT 0、…、OUTPUT N,其中每一源極線SL i耦合至行i中之所有記憶體胞元之源極線。
圖30繪示神經元VMM陣列3000,該神經元VMM陣列尤其適合於如圖3中所展示之記憶體胞元310、如圖5中所展示之記憶體胞元510以及如圖7中所展示之記憶體胞元710,且用作一輸入層與下一層之間的突觸及神經元部分。在此實施例中,在控制閘極線CG 0、…、CG M上接收輸入INPUT 0、…、INPUT M。分別在垂直位元線BL 0、…、BL N上產生輸出OUTPUT 0、…、OUTPUT N,其中每一位元線BL i耦合至行i中之所有記憶體胞元之位元線。 長短期記憶體
先前技術包括稱為長短期記憶體(LSTM)之一概念。LSTM單元通常用於神經網路中。LSTM允許一神經網路在預定任意時間間隔內記住資訊且將該資訊用於後續操作中。一慣用LSTM單元包含一胞元、一輸入閘極、一輸出閘極及一遺忘閘極。該三個閘極調節進入及離開胞元之資訊流以及在LSTM中記住之資訊之時間間隔。VMM尤其在LSTM單元中係有用的。
圖14繪示一例示性LSTM 1400。在此實施例中,LSTM 1400包含胞元1401、1402、1403及1404。胞元1401接收輸入向量x 0且產生輸出向量h 0及胞元狀態向量c 0。胞元1402接收輸入向量x 1、自胞元1401接收輸出向量(隱藏狀態)h 0且自胞元1401接收胞元狀態c 0,且產生輸出向量h 1及胞元狀態向量c 1。胞元1403接收輸入向量x 2、自胞元1402接收輸出向量(隱藏狀態)h 1且自胞元1402接收胞元狀態c 1,且產生輸出向量h 2及胞元狀態向量c 2。胞元1404接收輸入向量x 3、自胞元1403接收輸出向量(隱藏狀態)h 2且自胞元1403接收胞元狀態c 2,且產生輸出向量h 3。可使用額外胞元,且具有四個胞元之一LSTM僅係一實施例。
圖15繪示可用於圖14中之胞元1401、1402、1403及1404之一LSTM胞元1500之一例示性實施方案。LSTM胞元1500接收輸入向量x(t)、自一前一胞元接收胞元狀態向量c(t-1)且自一前一胞元接收輸出向量h(t-1),且產生胞元狀態向量c(t)及輸出向量h(t)。
LSTM胞元1500包含S型函數裝置1501、1502及1503,其每一者應用0與1之間的一數值以控制允許輸入向量中之每一分量有多少直通至輸出向量。LSTM胞元1500亦包含:雙曲正切裝置1504及1505,其用於將一雙曲正切函數應用於一輸入向量;乘法器裝置1506、1507及1508,其用於將兩個向量一起相乘;及加法裝置1509,其用於將兩個向量一起相加。輸出向量h(t)可提供至系統中之下一LSTM胞元,或該輸出向量可出於其他目的而存取。
圖16繪示一LSTM胞元1600,該LSTM胞元係LSTM胞元1500之一實施方案之一實施例。為了方便讀者,在LSTM胞元1600中使用與LSTM胞元1500相同之編號。S型函數裝置1501、1502及1503以及雙曲正切裝置1504各自包含多個VMM陣列1601及激勵函數區塊1602。因此,可看出,VMM陣列尤其在用於某些神經網路系統中之LSTM胞元中係有用的。乘法器裝置1506、1507及1508以及加法裝置1509以一數位方式或以一類比方式實施。激勵函數區塊1602可以一數位方式或以一類比方式實施。
在圖17中展示LSTM胞元1600之一替代方案(及LSTM胞元1500之一實施方案之另一實施例)。在圖17中,S型函數裝置1501、1502及1503以及雙曲正切裝置1504以一時間多工方式共用同一物理硬體(VMM陣列1701及激勵函數區塊1702)。LSTM胞元1700亦包含:乘法器裝置1703,其用於將兩個向量一起相乘;加法裝置1708,其用於將兩個向量一起相加;雙曲正切裝置1505 (其包含激勵函數區塊1702);暫存器1707,其用於在自S型函數區塊1702輸出i(t)時儲存值i(t);暫存器1704,其用於在透過多工器1710自乘法器裝置1703輸出值f(t) * c(t-1)時儲存該值;暫存器1705,其用於在透過多工器1710自乘法器裝置1703輸出值i(t) * u(t)時儲存該值;及暫存器1706,其用於在透過多工器1710自乘法器裝置1703輸出值o(t) * c~(t)時儲存該值;及多工器1709。
鑒於LSTM胞元1600含有多組VMM陣列1601及各別激勵函數區塊1602,LSTM胞元1700僅含有用於表示LSTM胞元1700之具體例中之多個層之一組VMM陣列1701及激勵函數區塊1702。LSTM胞元1700將需要比LSTM 1600更少之空間,如,LSTM胞元1700因VMM及激勵函數區塊將需要與LSTM胞元1600相比1/4之空間。
應進一步瞭解,LSTM單元通常將包含多個VMM陣列,該多個VMM陣列中之每一者需要由VMM陣列外部之某些電路區塊(諸如一求和器與激勵函數區塊及高電壓產生區塊)提供之功能性。為每一VMM陣列提供單獨電路區塊將需要半導體裝置內之一顯著量之空間且在某種程度上將係低效的。因此,下文所闡述之具體例減少VMM陣列自身外部所需要之電路。 閘式循環單元
一類比VMM實施方案可用於一GRU(閘式循環單元)系統。GRU係循環神經網路中之一閘控機構。除了GRU胞元通常含有比一LSTM胞元更少之組件之外,GRU類似於LSTM。
圖18繪示一例示性GRU 1800。在此實施例中,GRU 1800包含胞元1801、1802、1803及1804。胞元1801接收輸入向量x 0且產生輸出向量h 0。胞元1802接收輸入向量x 1、自胞元1801接收輸出向量h 0且產生輸出向量h 1。胞元1803接收輸入向量x 2且自胞元1802接收輸出向量(隱藏狀態)h 1且產生輸出向量h 2。胞元1804接收輸入向量x 3且自胞元1803接收輸出向量(隱藏狀態)h 2且產生輸出向量h 3。可使用額外胞元,且具有四個胞元之一GRU僅係一實施例。
圖19繪示可用於圖18之胞元1801、1802、1803及1804之一GRU胞元1900之一例示性實施方案。GRU胞元1900接收輸入向量x(t)且自一前一GRU胞元接收輸出向量h(t-1)且產生輸出向量h(t)。GRU胞元1900包含S型函數裝置1901及1902,該等S型函數裝置中之每一者將0與1之間的一數值應用於來自輸出向量h(t-1)及輸入向量x(t)之分量。GRU胞元1900亦包含:一雙曲正切裝置1903,其用於將一雙曲正切函數應用於一輸入向量;複數個乘法器裝置1904、1905及1906,其用於將兩個向量一起相乘;一加法裝置1907,其用於將兩個向量一起相加;及一互補裝置1908,其用於自1減去一輸入以產生一輸出。
圖20繪示一GRU胞元2000,該GRU胞元係GRU胞元1900之一實施方案之一實施例。為了方便讀者,在GRU胞元2000中使用與GRU胞元1900相同之編號。如在圖20中可看出,S型函數裝置1901及1902以及雙曲正切裝置1903各自包含多個VMM陣列2001及激勵函數區塊2002。 因此,可看出,VMM陣列尤其在用於某些神經網路系統中之GRU胞元中係有用的。乘法器裝置1904、1905、1906,加法裝置1907及互補裝置1908以一數位方式或以一類比方式實施。激勵函數區塊2002可以一數位方式或以一類比方式實施。
在圖21中展示GRU胞元2000之一替代方案(及GRU胞元1900之一實施方案之另一實施例)。在圖21中,GRU胞元2100利用VMM陣列2101及激勵函數區塊2102,該激勵函數區塊在組態為一S型函數時應用0與1之間的一數值以控制允許輸入向量中之每一分量有多少直通至輸出向量。在圖21中,S型函數裝置1901及1902以及雙曲正切裝置1903以一時間多工方式共用同一物理硬體(VMM陣列2101及激勵函數區塊2102)。GRU胞元2100亦包含:乘法器裝置2103,其用於將兩個向量一起相乘;加法裝置2105,其用於將兩個向量一起相加;互補裝置2109,其用於自1減去一輸入以產生一輸出;多工器2104;暫存器2106,其用於在透過多工器2104自乘法器裝置2103輸出值h(t-1) * r(t)時保持該值;暫存器2107,其用於在透過多工器2104自乘法器裝置2103輸出值h(t-1) *z(t)時保持該值;及暫存器2108,其用於在透過多工器2104自乘法器裝置2103輸出值h^(t) * (1-z(t))時保持該值。
鑒於GRU胞元2000含有多組VMM陣列2001及激勵函數區塊2002,GRU胞元2100僅含有用於表示GRU胞元2100之具體例中之多個層之一組VMM陣列2101及激勵函數區塊2102。GRU胞元2100將需要比GRU胞元2000更少之空間,因為與GRU胞元2000相比,GRU胞元2100對於VMM及激勵函數區塊將需要1/3之空間。
應進一步瞭解,GRU系統通常將包含多個VMM陣列,該多個VMM陣列中之每一者需要由VMM陣列外部之某些電路區塊(諸如一求和器與激勵函數區塊及高電壓產生區塊)提供之功能性。為每一VMM陣列提供單獨電路區塊將需要半導體裝置內之一顯著量之空間且在某種程度上將係低效的。因此,下文所闡述之具體例減少VMM陣列自身外部所需要之電路。
至VMM陣列之輸入可為一類比位準、一二進制位準、一脈衝、一時間調變脈衝或數位位元(在此情形中,需要一DAC將數位位元轉換至適當輸入類比位準),並且輸出可為一類比位準、一二進制位準、一時序脈衝、脈衝或數位位元(在此情形中,需要一輸出ADC將輸出類比位準轉換成數位位元)。
通常,對於一VMM陣列中之每一記憶體胞元,每一權重W可藉由一單個記憶體胞元或藉由一微分胞元或藉由兩個混合記憶體胞元實施(平均為2個胞元)。在微分胞元情形中,需要兩個記憶體胞元將一權重W實施為一微分權重(W = W+ – W-)。在兩個混合記憶體胞元中,需要兩個記憶體胞元將一權重W實施為兩個胞元之一平均值。
圖31繪示VMM系統3100。在某些具體例中,儲存於一VMM陣列中之權重W被儲存為微分對:W+ (正權重)與W- (負權重),其中W = (W+) - (W-)。在VMM系統3100中,一半之位元線經設計為W+線(亦即,連接至將儲存正權重W+之記憶體胞元之位元線),且另一半之位元線經設計為W-線(亦即,連接至實施負權重W-之記憶體胞元之位元線)。W-線以一交替方式散佈在W+線當中。減法運算由接收來自一W+線及一W-線之電流之一求和電路(諸如,求和電路3101及3102)來執行。將一W+線之輸出與一W-線之輸出組合在一起以有效地得出W = W+ - W-,其中每一對(W+、W-)胞元針對所有對(W+、W-)線。雖然上文已關於W-線以一交替方式散佈在W+線當中進行了闡述,但在其他具體例中,W+線與W-線可任意地位於陣列中之任何地方。
圖32繪示另一具體例。在VMM系統3210中,在第一陣列3211中實施正權重W+,且在一第二陣列3212中實施負權重W-,第二陣列3212與第一陣列分離,且所得權重由求和電路3213適當地組合在一起。
圖33繪示VMM系統3300。儲存於一VMM陣列中之權重W被儲存為微分對:W+ (正權重)與W- (負權重),其中W = (W+) - (W-)。VMM系統3300包含陣列3301及陣列3302。陣列3301及3302中之每一者中之一半之位元線經設計為W+線(亦即,連接至將儲存正權重W+之記憶體胞元之位元線),且陣列3301及3302中之每一者中之另一半之位元線經設計為W-線(亦即,連接至實施負權重W-之記憶體胞元之位元線)。W-線以一交替方式散佈在W+線當中。減法運算由接收來自一W+線及一W-線之電流之一求和電路(諸如,求和電路3303、3304、3305及3306)來執行。將來自每一陣列3301、3302之一W+線之輸出與一W-線之輸出分別組合在一起以有效地得出W = W+ - W-,其中每一對(W+、W-)胞元針對所有對(W+、W-)線。此外,來自每一陣列3301及3302之W值可透過求和電路3307及3308進一步組合,使得每一W值係來自陣列3301之一W值減去來自陣列3302之一W值之結果,此意味著,來自求和電路3307及3308之最終結果係兩個微分值中之一微分值。
用於類比神經記憶體系統中之每一非揮發性記憶體胞元將被抹除及程式化以將一極具體及精確量之電荷(亦即,電子之數量)保持在浮動閘極中。舉例而言,每一浮動閘極應保持N個不同值中之一者,其中N係可由每一胞元指示之不同權重之數量。N之實施例包括16、32、64、128及256。
類似地,一讀取操作應能夠準確地區分N個不同位準。
在某些例項中,準確度係非常重要的,且改良一系統之準確度(或許以功率消耗為代價)係合意的。在其他例項中,功率管理係非常重要的,且改良一系統之功率消耗(亦即,減少功率消耗)(或許以準確度為代價)係合意的。在其他例項中,在操作溫度改變時維持準確度之能力係合意的。代替功率消耗及準確度,可最大化諸如延時或其他效能準則之其他特性。
能夠更改一神經網路系統之特性以改良一變化溫度環境中之準確度或功率消耗將係合意的。
揭示用於關於溫度改變時之準確度、功率消耗或其他準則改良一深度學習人工神經網路中之一類比神經記憶體之眾多具體例。在某些具體例中,執行一種方法以即時決定一偏壓值以施加至一神經網路中之一或多個記憶體胞元。在其他具體例中,自一查找表決定一偏壓且在一讀取操作期間將該偏壓施加至一記憶體胞元之一端子。
本發明之人工神經網路利用CMOS技術與非揮發性記憶體陣列之一組合。 VMM系統概述
圖34繪示VMM系統3400之一方塊圖。VMM系統3400包含VMM陣列3401、列解碼器3402、高電壓解碼器3403、行解碼器3404、位元線驅動器3405、輸入電路3406、輸出電路3407、控制邏輯3408及偏壓產生器3409。VMM系統3400進一步包含高電壓產生區塊3410,該高電壓產生區塊包含電荷泵3411、電荷泵調節器3412及高電壓類比精確度位準產生器3413。VMM系統3400進一步包含(程式化/抹除或權重調諧)演算法控制器3414、類比電路3415、控制引擎3416 (可包括特殊函數,諸如但不限於算數函數、激勵函數、嵌入式微控制器邏輯)及測試控制邏輯3417。下文所闡述之系統及方法可在VMM系統3400中實施。
輸入電路3406可包括諸如以下各項之電路:一DAC(數位轉類比轉換器)、DPC(數位轉脈衝轉換器、數位轉時間調變脈衝轉換器)、AAC(類比轉類比轉換器,諸如一電流轉電壓轉換器、對數轉換器)、PAC(脈衝轉類比位準轉換器)或任何其他類型之轉換器。輸入電路3406可實施正規化、線性或非線性按比例放大/縮小函數或算數函數。輸入電路3406可對輸入位準實施一溫度補償函數。 輸入電路3406可實施諸如ReLU或S型之一激勵函數。輸出電路3407可包括諸如以下各項之電路:一ADC(類比轉數位轉換器,以將神經元類比輸出轉換至數位位元)、AAC(類比轉類比轉換器,諸如一電流轉電壓轉換器、對數轉換器)、APC(類比轉脈衝轉換器、類比轉時間調變脈衝轉換器)或任何其他類型之轉換器。輸出電路3407可實施諸如經整流線性激勵函數(ReLU)或S型之一激勵函數。輸出電路3407可對神經元輸出實施統計資料正規化、正則化、按比例放大/縮小/增益函數、統計捨入或算數函數(例如,加、減、除、乘、移位、取對數)。輸出電路3407可對神經元輸出或陣列輸出(諸如位元線輸出)實施一溫度補償函數,以便使陣列之功率消耗保持為大致恆定或諸如藉由使IV斜率保持為大致相同來改良陣列(神經元)輸出之精確度。
如上文所論述,一神經網路可包含諸多不同層,且在每一層內將執行涉及該層內之一或多個陣列中之所儲存權重值之諸多計算。某些層將比其他層更多地使用,且可瞭解,此等層基於其高使用頻率對神經網路之整體準確度更重要。
圖35繪示圖表3501,該圖表反映由發明者根據一MNIST(經修改國家標準與技術研究所)數字分類而收集的關於一MLP(多層感知器)神經網路內之權重之使用頻率之資料。在所展示實施例中,存在n個位準,其中每一L(L0、…、Ln)表示一權重範圍。如可看出,較低權重比其他權重範圍更頻繁地使用。對於此圖表,作為一實施例,Ln不會顯著地貢獻於整體網路效能。因此,可諸如藉由將施加至陣列之控制閘極電壓減小為位準Ln將Ln設置為一0值,由於在較低控制閘極電壓處汲取之較低胞元電流,此將產生較低功率消耗,而不會顯著地影響準確度。
一神經網路包含多個層。每一層可具有該層特有之一權重分佈。因此,每一層可需要一不同技術來改良整體網路效能。舉例而言,Ln可能在一第一層中僅貢獻一小量,但可能在一第二層中貢獻一顯著量。
本實施例提供改良一神經網路之操作之方法。雖然可利用術語最佳化,但應理解,該方法未必保證絕對最佳化(亦即,完全完美、功能性或盡可能有效),而是如本文中所使用之術語最佳化僅意味著對先前技術方法之一改良。
圖35亦繪示表3502,該表基於在一讀取操作期間施加至記憶體胞元之控制閘極之電壓VCG之改變而指示讀取操作之準確度。如可看出,使VCG自1.8 V下降至1.6 V對準確度不具有影響,且使VCG自1.5 V下降至1.4 V對準確度具有一小影響。隨著VCG(或VEG)降低,胞元電流基於次臨界方程式以指數方式降低。此指示,在某些情形中可在不犧牲準確度之情況下或在使準確度犧牲至一可接受程度時藉由使施加至一記憶體胞元之一端子之電壓下降來節省功率。類似地,線性區域中,一較低輸入列電壓產生較低電流。可進一步瞭解,操作溫度之改變可影響準確度及功率消耗兩者,且類似地,VCG及/或EG調變(亦即,量值之一增加或減少)可用於在溫度改變時獲得經改良功率及/或準確度。
基於圖35之此討論,可瞭解,可對一記憶體胞元之一或多個端子(諸如CG、EG、WL等)決定及施加不同偏壓以改良功率消耗(或許以準確度為代價,舉例而言,藉由降低所使用之VCG)、在靜態溫度條件期間改良準確度(或許以功率消耗為代價,舉例而言,藉由增加所使用之VCG)或在改變溫度條件期間改良或維持準確度(或許以功率消耗為代價,舉例而言,藉由在溫度改變時增加VCG)。代替準確度及功率消耗,可最大化其他效能特性。
牢記此等概念後,現在將闡述各種方法。
圖36繪示對一神經網路內之一特定層執行之神經網路層方法3600。舉例而言,此方法可對因其對整體網路準確度之顯著影響而視為更重要之一層(或一個以上層)執行。
在步驟3601中,在一讀取操作期間將預設電壓偏壓施加至一層之一陣列中之胞元之端子(例如,控制閘極端子)。預設電壓偏壓通常與在驗證一經程式化權重之驗證操作期間所使用之偏壓值相同。
在步驟3602中,進行效能推斷。
在步驟3603中,關於將預設偏壓施加至陣列時的網路之效能(例如,準確度),收集基線資料。舉例而言,此資料係指示一MNIST推斷操作之準確度之資料。此基線資料將用作步驟3605中之效能目標檢查之一參考點。
在步驟3604中,調變偏壓(例如,增加或減少一定增量)且然後將該等偏壓施加至陣列之層中之胞元之端子(例如,控制閘極端子)。
在步驟3605中,執行一效能目標檢查。若與步驟3603中執行之效能資料收集相比效能資料結果在一目標範圍內,則該方法進行至步驟3604直至不滿足效能目標為止,此時該方法進行至完成步驟3606,且該方法儲存前一偏壓條件,該前一偏壓條件為在目標範圍內產生效能資料之最後一組偏壓。
在步驟3606中,將前一組偏壓視為良好且儲存該前一組偏壓以供未來結合該層使用(諸如在一查找表中)。視情況,電流操作溫度可連同偏壓位準一起儲存。
圖37繪示神經網路陣列3700。神經網路陣列3700包含陣列3701-0、…、3701-n,其中n+1係神經網路3700中之陣列之數量。神經網路3700亦包含溫度感測器3703-i,其中i係感測器之數量,該等感測器感測神經網路3700中之一特定位置內之操作溫度。視情況,每一陣列3701-0、…、3701-n含有其自身溫度感測器3703 (使得i=n+1),使得每一溫度感測器3703與陣列3701-0、…、3701-n中之一者以及此陣列中含有之記憶體胞元相關聯。溫度對電壓偏壓查找表(LUT)3704-i被查閱,其中i係電壓偏壓查找表之數量,且基於所感測溫度,獲得用於一或多個端子(例如但不限於控制閘極端子或抹除閘極端子)之一(多個)偏壓。然後,稱為溫度偏壓3702之彼等偏壓施加至所討論之特定陣列中之每一胞元。因此,溫度偏壓3702-0施加至陣列3701-0等等。每一陣列3701-0、…、3701-n形成神經網路中之一或多個神經元。
圖38繪示陣列3801。舉例而言,陣列3801可用於圖37中之陣列3701-0、…、3701-n中之任一者。在此具體例中,不同偏壓(例如,VCG)可用於同一陣列3801內含有之不同子陣列3802-0、…、3802-k,亦即,陣列3801分割成多個子陣列。舉例而言,每一子陣列3802-0、…、3802-k可分別接收其自身溫度偏壓3803-0、…、3803-k。除允許基於在陣列3801內之不同位置處量測之具體操作溫度而進行補償之外,此具體例亦將適合於其中不同類型之權重儲存於每一子陣列3802中之一情況。舉例而言,子陣列3802-0可儲存範圍0至30 nA內之權重,陣列3801-1可儲存範圍30至60 nA內之權重等等,因為每一電流範圍可需要不同溫度偏壓。
此具體例亦將適合於其中不同陣列中之記憶體胞元以不同模式(區域)操作之一情況。舉例而言,子陣列3802-0中之胞元可以次臨界模式操作,而子陣列3802-n中之胞元可以線性模式操作,因為不同模式(區域)可需要不同溫度偏壓。
圖39繪示神經網路陣列3900。在此具體例中,關於圖38之教示擴展至神經網路陣列3900中之 m+1個陣列3901-0、…、3901-m。每一陣列3901劃分成 k+1個陣列3902-0a、…、3902-ka (其中 a係介於自0至 m之範圍內之陣列編號)。每一陣列3902分別接收其自身溫度偏壓3903-0a、…、3903-ka。應進一步理解,每一陣列3901可劃分成不同數量之陣列且不需要劃分成與其他陣列3901數量相同之陣列。
圖40A繪示神經網路陣列4000。在一單個層內進行之一典型神經網路讀取(推斷)操作中,一數位輸入值DIN[m:0]施加至陣列4001,此產生一數位輸出DOUT[n:0] (或者,一類比值)。陣列4001可係一陣列或一陣列之一部分。
在神經網路4000中,準則用於在查找表4003中找到一或多個值。舉例而言,該準則可包括所要輸入及輸出值、當前操作溫度值及一目標效能(例如,準確度或延時)(不管是否期望以最低功率消耗為目標)或一特定溫度下之效能。查找表4003然後將基於彼等準則提供偏壓。此後,在讀取操作期間將該等偏壓施加至陣列4001,此完成方法4000。陣列4001可包含非揮發性記憶體胞元或揮發性記憶體胞元。
圖40B繪示一偏壓查找表(BLUT)4020。陣列4021係揮發性或非揮發性記憶體胞元的一陣列或揮發性或非揮發性記憶體胞元的一陣列之一部分。陣列4021接收一數位輸入DIN[m:0]且輸出一數位輸出DOUT[n:0]。數位輸出資料型樣可取決於所要輸出而程式化,諸如但不限於依據線性或次臨界記憶體胞元關係或依據矽表徵資料。然後,數位輸出資料DOUT[n:0]施加至數位轉類比轉換器4022,該數位轉類比轉換器輸出將施加至所討論之陣列或子陣列之一合意偏壓類比電壓。舉例而言,BLUT 4020用於結合一溫度感測器來提供偏壓值(亦即,溫度偏壓)以改良神經網路效能。
圖41繪示偏壓產生電路4100。溫度感測器4101感測一操作溫度且以數位位元D[m:0]指示操作溫度。視情況,一計時器4104可在諸如(舉例而言)每10至100 ms (作為實例,矽增加攝氏1度所耗費之時間,其中攝氏1度為不會顯著地影響網路效能之可允許溫度改變)起始溫度感測及後續偏壓產生。彼等D[m:0]位元用於在查找表4102中執行一查找以找到應基於彼操作溫度施加之偏壓值,亦即,適當溫度偏壓。以數位位元D[k:0]指示偏壓值,將該偏壓值提供至數位轉類比轉換器4103,該數位轉類比轉換器將數位位元轉換成一偏壓,然後可在一讀取(推斷)操作期間將該偏壓施加至一陣列中之記憶體胞元之一端子(例如,控制閘極端子)。
圖42繪示按比例調整電路4200。溫度感測器4201感測一操作溫度且以數位位元D[n:0]指示操作溫度。彼等數位位元提供至換算器4202,該換算器亦因一神經元讀取操作而自一陣列接收輸出神經元電流Ineu。換算器4202對Ineu執行電流轉電壓轉換且基於D[n:0]對彼信號執行按比例調整。舉例而言,對於次臨界區域,較高溫度產生較高神經元電流(由於較高記憶體胞元電流),因此在將此電流施加至ADC 4203之前將該電流按比例縮小係合意的。對於線性區域,較高溫度通常產生較低神經元電流(由於較低胞元電流),因此在將此電流施加至ADC 4203之前將該電流按比例放大係合意的。結果係根據溫度之一更平衡類比值,將該更平衡類比值提供至類比轉數位轉換器4203,從而產生表示Ineu之按比例調整、數位版本之數位輸出位元D[n:0],按比例調整至少部分地補償感測操作溫度。
圖43繪示按比例調整電路4300,該按比例調整電路係來自圖42之換算器ITV(電流轉電壓轉換器)4202及類比轉數位轉換器4203之一實施方案。換算器4202具有一可程式化增益,該可程式化增益可藉由程式化一R值(供ITV電路使用R將神經元電流轉換成將藉由ADC數位化之一電壓)或一C值(供ITV電路使用C將神經元電流轉換成將藉由ADC數位化之一電壓)來程式化。換算器4202亦可實施為一可程式化電流鏡(針對神經元(位元線)電流)。ADC 4203係一可程式化n位元ADC,其中舉例而言,n可為4或8或12位元。
圖44A繪示校準電路4400,且圖44B繪示利用校準電路4400以值填充查找表4470之校準方法4450。電流數位轉類比轉換器4402耦合至記憶體胞元4401之位元線且耦合至比較器4403之非反相輸入,該比較器亦在其反相輸入處接收一參考電壓VREF。記憶體胞元4401可係一單個胞元或複數個胞元(例如,來自一參考陣列或一主陣列之一部分)。
如上文所陳述,用於類比神經記憶體系統中之每一非揮發性或揮發性記憶體胞元將被抹除及程式化以將一極具體及精確量之電荷(亦即,電子之數量)保持在浮動閘極中。舉例而言,每一浮動閘極應保持N個不同值中之一者,其中N係可由每一胞元指示之不同權重之數量。N之實施例包括16、32、64、128及256。對可儲存於記憶體胞元4401中之N個不同值中之每一者執行校準方法4450。每當執行校準方法4450時,將記憶體胞元4401程式化(調諧)為N個不同值中之1個值(諸如,10 nA之一讀取電流) (步驟4451)。
根據校準方法4450量測記憶體胞元4401之控制閘極上之電壓。藉由電流數位轉類比轉換器4402使位元線電流自一低電流(諸如,1 nA)變化至一高電流(諸如,100 nA),使得大小增加之電流得以施加,且比較器4403之輸出(稱為一比較輸出)得以監測。在某一時刻,比較輸出將發生值之改變(例如,自一「0」至一「1」) (步驟4452)。當翻轉發生時(亦即,在藉由電流數位轉類比轉換器4402使位元線電流發生任何改變之前),量測記憶體胞元4401之控制閘極電壓,且可將該控制閘極電壓儲存於查找表4470中。對可儲存於記憶體胞元中之其他N個可能值重複該方法。若使用一個以上胞元,則需要相應地調整藉由電流DAC (IDAC)提供之電流,舉例而言,若使用4個胞元(其中每一胞元為1 nA)(例如,平均而言),則IDAC電流係4 nA。將所得CG電壓儲存於查找表4470中(步驟4454)。
在另一具體例中,查找表4470經進一步擴展以包括所預期操作範圍內之複數個溫度值,使得查找表4470係一溫度偏壓查找表(TBLUT)。
舉例而言,在其中N=128 (其對應於一8位元輸入值)之一情況中,一等效電流範圍可為1 nA至128 nA,其中每一1 nA增量與N個位準中之一者相關聯。然後,校準電路4400及校準方法4450用於以CG電壓填充查找表4470,其中針對複數個不同溫度(例如,-40℃、-39℃、…0℃、…25℃、26℃、…、85℃)中之每一者填充所有128個位準。舉例而言,對於N=128,若使用10個不同溫度點,則將以1280個值填充查找表(對於10個不同溫度中之每一者,128個位準中之每一者一個值)。
在另一校準方法中,使用複數個胞元儲存表示陣列中之樣本之(權重)電流。然後,施加來自IDAC 4402之一偏壓電流,且如上文為複數個胞元中之每一者及其對應所儲存值(權重)提取CG。可根據溫度來決定此且將此儲存於一查找表中,使得可針對不同所儲存值(權重)自查找表召回隨著溫度改變之CG偏壓,且基於所討論之胞元之所儲存值將該CG偏壓施加至陣列。視情況,此可即時執行且在操作期間將偏壓施加至陣列中之各種胞元。
在另一具體例中,圖44之校準電路4400及校準方法4450可用於計算CG電壓之一平均值以針對複數個不同溫度中之每一者應用於N個位準中之每一者。舉例而言,針對N中之每一值及每一溫度,可採用M個不同讀數,且平均讀數儲存於查找表4470中。舉例而言,對於N=128,若使用10個不同溫度點,則將採用1280*M個讀數,其中1280個不同平均值儲存於查找表4470中。
在另一具體例中,代替對該複數個溫度中之每一者之所有N個可能值進行量測,而是可對一較小組可能值(例如,對N個可能值中之4個而非所有N個可能值)進行量測,且彼等較小組可能值之平均值可關於所使用之特定溫度儲存於查找表4470中。因此,若使用10個不同溫度,則查找表4470將僅含有10個值(一個值對應於10個不同溫度中之每一者)。
在另一具體例中,EG偏壓亦係變化的。以不同EG偏壓進行CG電壓之量測,且CG及EG偏壓儲存於查找表4470中。
圖45繪示用於基於對 n+1個不同記憶體胞元執行之量測來決定一平均偏壓之偏壓平均電路4500。對n+1個不同胞元執行校準方法4450,各自產生表示該胞元之「最佳」或平均偏壓之一電壓(例如,VCG)。
每一胞元與一量測區塊4501相關聯,此處展示為量測區塊4501-0至4501-n。每一量測區塊4501係相同的。量測區塊4501-0包含操作放大器4502-0、配置為一電流鏡之PMOS電晶體4503-0及4504-0、NMOS電晶體4505-0及電阻器4506-0。其他量測區塊4501含有相同組件。在操作期間,每一量測區塊4501透過其PMOS電晶體4504貢獻經鏡射電流,該經鏡射電流在電阻器4507之頂部端子處求和,電阻器4507可係一可變電阻器。輸出VOUT係作為輸入提供至區塊4501之各種電壓(乘以電阻器4507之值除以4506之值的適當比率)所得之平均值。輸出電壓VOUT = (R-4507/R-4506) * VIN0至VINn之總和,舉例而言,n = 3,R-4507/R4506 = 1/4,VOUT = (1/4) * (VIN0+VIN1+VIN2+VIN3) = 四個輸入電壓VIN0-3之平均電壓。
輸出電壓VOUT可作為一偏壓施加至神經網路記憶體陣列中之一或多個胞元之一控制閘極端子。
圖46A繪示偏壓產生區塊4600。偏壓產生區塊4600包含耦合至記憶體胞元4601之位元線且耦合至比較器4603之一非反相輸入之電流數位轉類比轉換器4602,比較器4603亦在其反相輸入處接收一參考電壓VREF(其中VREF與圖44中所展示之VREF相同)。列暫存器4604將一數位值DRIN[0:7]提供至IDAC 4602,IDAC將數位值轉換成施加至胞元4601之位元線端子之一電流。當閉合開關4605時,一外部電壓VIN施加至CG端子。閉合開關4606,且將電容器4607充電至與CG相同之電壓。當比較器4603之輸出改變時,斷開開關4606;在彼時電容器4607之電壓表示引起比較器4603之輸出改變之CG電壓,該CG電壓係一經決定偏壓。亦即,開關4606與電容器4607形成一取樣與保持電路。該電壓藉由緩衝器4608保持穩定,且然後施加至一陣列中之控制閘極。記憶體胞元4601可在次臨界區域或線性區域中操作。
圖46B繪示偏壓產生區塊4650,該偏壓產生區塊類似於偏壓產生區塊4600,除了以下之外:記憶體胞元4651經二極體連接以產生CG偏壓且不使用一比較器。可在圖44A中使用偏壓產生區塊4650以給查找表4470產生CG偏壓值。偏壓產生區塊4650包含耦合至記憶體胞元4651之位元線之電流數位轉類比轉換器4652。電流數位轉類比轉換器4652由列暫存器4654控制。胞元4651之控制閘極上之電壓藉由開關4656取樣,然後該開關使電容器4657充電至該電壓,在斷開開關4656之後,電容器4657保持該電壓。亦即,開關4656與電容器4657形成一取樣與保持電路。該電壓藉由緩衝器4658保持穩定,且然後施加至一陣列中之控制閘極。記憶體胞元4651可在次臨界區域或線性區域中操作。偏壓產生區塊4650將來自列暫存器4654之一輸入數位值DRIN[0:7]轉換成將施加至陣列之一等效CG電壓。
圖46C繪示偏壓產生區塊4680,該偏壓產生區塊類似於偏壓產生區塊4650,除了以下之外:該偏壓產生區塊添加了位準移位器4685。可在圖44A中使用偏壓產生區塊4680以給查找表4470產生CG偏壓值。偏壓產生區塊4680包含耦合至記憶體胞元4651之位元線之電流數位轉類比轉換器4652。電流數位轉類比轉換器4652由列暫存器4654控制。位準移位器4685置於電流數位轉類比轉換器4652之輸出與記憶體胞元4651之控制閘極端子之間,且舉例而言使電壓移位一偏壓(例如,0.2 V至0.5 V)。胞元4651之控制閘極上之電壓藉由開關4656取樣,然後該開關使電容器4657充電至該電壓,在斷開開關4656之後,電容器4657保持該電壓。亦即,開關4656與電容器4657形成一取樣與保持電路。該電壓藉由緩衝器4658保持穩定,且然後施加至一陣列中之控制閘極。記憶體胞元4651可在次臨界區域或線性區域中操作。偏壓產生區塊4650將來自列暫存器4654之一輸入數位值DRIN[0:7]轉換成將施加至陣列之一等效CG電壓。
圖47繪示對一神經網路內之一特定神經元執行之一神經網路神經元方法4700。在步驟4701中,將標稱偏壓施加至陣列之所關注特定神經元。此方法可對因其使用頻率而視為更重要之一神經元執行。步驟4702至4706與圖36中之步驟3602至3606係相同的。
圖48繪示神經網路方法4800。方法4800包含:感測與一第一組記憶體胞元相關聯之一操作溫度(步驟4801);基於所感測操作溫度在一查找表中決定一偏壓(步驟4802);將經決定偏壓施加至第一組記憶體胞元之端子(步驟4803);及對第一組記憶體胞元執行一讀取操作(步驟4804)。視情況,第一組記憶體胞元可包含一陣列中之所有胞元。視情況,第一組記憶體胞元可包含所有陣列中之所有胞元。視情況,方法4800進一步包含:感測與一第二組記憶體胞元相關聯之一操作溫度(步驟4805);基於第二所感測操作溫度在一查找表中決定一偏壓(步驟4806);將經決定偏壓施加至第二組記憶體胞元之端子(步驟4807);及對第二組記憶體胞元執行一讀取操作(步驟4808)。
圖49繪示神經網路操作方法4900,除了該偏壓校準係即時執行的之外,該神經網路操作方法類似於神經網路操作方法4800。神經網路操作方法4900包含:感測與一第一組記憶體胞元相關聯之一操作溫度(步驟4901);基於所感測操作溫度決定一偏壓(步驟4902);將經決定偏壓施加至第一組記憶體胞元之端子(步驟4903);及對第一組記憶體胞元執行一讀取操作(步驟4904)。視情況,第一組記憶體胞元可包含一陣列中之所有胞元。視情況,第一組記憶體胞元可包含所有陣列中之所有胞元。視情況,方法4900進一步包含:感測與一第二組記憶體胞元相關聯之一操作溫度(步驟4905);基於第二所感測操作溫度決定一偏壓(步驟4906);將經決定偏壓施加至第二組記憶體胞元之端子(步驟4907);及對第二組記憶體胞元執行一讀取操作(步驟4908)。
圖50繪示神經網路方法5000,該神經網路方法包含:程式化一或多個記憶體胞元(步驟5001);將複數個電流施加至經程式化記憶體胞元(步驟5002);量測每一經程式化記憶體胞元之一控制閘極端子之一電壓且將該電壓儲存為一胞元(儲存經程式化記憶體胞元中所儲存之值)之一經決定偏壓(步驟5003);基於使用儲存將儲存於一組記憶體胞元中之值之胞元之經決定偏壓將偏壓施加至該組記憶體胞元之端子(步驟5004);及對該組記憶體胞元執行一讀取操作(步驟5005)。
應注意,如本文中所使用,術語「在...上方(over)」及「在...上(on)」兩者皆包括性地包括「直接在...上」(在其之間未安置中間材料、元件或空間)以及「間接在...上」(在其之間安置有中間材料、元件或空間)。同樣地,術語「毗鄰」包括「直接毗鄰」(在其之間未安置中間材料、元件或空間)以及「間接毗鄰」(在其之間安置有中間材料、元件或空間),「安裝至」包括「直接安裝至」(在其之間未安置中間材料、元件或空間)及「間接安裝至」(在其之間安置有中間材料、元件或空間),且「電耦合」包括「直接電耦合至」(在其之間不具有將元件電連接在一起之中間材料或元件)及「間接電耦合至」(在其之間具有將元件電連接在一起之中間材料或元件)。舉例而言,「在一基板上方」形成一元件可包括:直接在基板上形成元件,在其之間不具有中間材料/元件;以及間接在基板上形成元件,在其之間具有一或多個中間材料/元件。
12:基板 14:源極區域 16:汲極區域 18:通道區域 20:浮動閘極 22:字線端子 24:位元線 28:控制閘極 30:抹除閘極 31:數位轉類比轉換器 32:向量與矩陣乘法(VMM)陣列 32a:VMM陣列 32b:VMM陣列 32c:VMM陣列 32d:VMM陣列 32e:VMM陣列 33:非揮發性記憶體胞元陣列 34:抹除閘極與字線閘極解碼器 35:控制閘極解碼器 36:位元線解碼器 37:源極線解碼器 38:微分求和器 39:激勵函數區塊 210,310,410,510:記憶體胞元 710:記憶體胞元 900:VMM陣列 901:記憶體陣列 902:參考陣列 903:控制閘極線 904:抹除閘極線 1000:VMM陣列 1001:參考陣列 1002:參考陣列 1003:記憶體陣列 1014:多工器 1100:VMM陣列 1101:參考陣列 1102:參考陣列 1103:記憶體陣列 1200:VMM陣列 1201:參考陣列 1202:參考陣列 1203:記憶體陣列 1204:級聯電晶體 1205:各別多工器 1212:多工器 1300:VMM陣列 1301:參考陣列 1302:參考陣列 1303:記憶體陣列 1314:多工器 1400:長短期記憶體(LSTM) 1401:胞元 1402:胞元 1403:胞元 1404:胞元 1500:LSTM胞元 1501:S型函數裝置 1502:S型函數裝置 1503:S型函數裝置 1504:雙曲正切裝置 1505:雙曲正切裝置 1506:乘法器裝置 1507:乘法器裝置 1508:乘法器裝置 1509:加法裝置 1600:LSTM胞元 1601:VMM陣列 1602:激勵函數區塊 1700:LSTM胞元 1701:VMM陣列 1702:激勵函數區塊 1703:乘法器裝置 1704:暫存器 1705:暫存器 1706:暫存器 1707:暫存器 1708:加法裝置 1709:多工器 1800:GRU(閘式循環單元) 1801:胞元 1802:胞元 1803:胞元 1804:胞元 1900:GRU胞元 1901:S型函數裝置 1902:S型函數裝置 1903:雙曲正切裝置 1904:乘法器裝置 1905:乘法器裝置 1906:乘法器裝置 1907:加法裝置 1908:互補裝置 2000:GRU胞元 2001:VMM陣列 2002:激勵函數區塊 2100:GRU胞元 2101:VMM陣列 2102:激勵函數區塊 2103:乘法器裝置 2104:多工器 2105:加法裝置 2106:暫存器 2107:暫存器 2108:暫存器 2109:互補裝置 2200:VMM陣列 2300:VMM陣列 2400:VMM陣列 2500:VMM陣列 2600:VMM陣列 2700:VMM陣列 2800:VMM陣列 2900:VMM陣列 3000:VMM陣列 3100:VMM系統 3101:求和電路 3102:求和電路 3210:VMM系統 3211:第一陣列 3212:第二陣列 3300:VMM系統 3301:陣列 3302:陣列 3303:求和電路 3304:求和電路 3305:求和電路 3306:求和電路 3307:求和電路 3308:求和電路 3400:VMM系統 3401:VMM陣列 3402:列解碼器 3403:高電壓解碼器 3404:行解碼器 3405:位元線驅動器 3406:輸入電路 3407:輸出電路 3408:控制邏輯 3409:偏壓產生器 3410:高電壓產生區塊 3411:電荷泵 3412:電荷泵調節器 3413:高電壓類比精確度位準產生器 3414:演算法控制器 3415:類比電路 3416:控制引擎 3417:測試控制邏輯 3501:圖表 3502:表 3600:神經網路層方法 3700:神經網路陣列 3701:陣列 3702:溫度偏壓 3703:溫度感測器 3704:溫度對電壓偏壓查找表 3801:陣列 3802:子陣列 3803:溫度偏壓 3900:神經網路陣列 3901:陣列 3902:陣列 3903:溫度偏壓 4000:神經網路陣列 4001:陣列 4003:查找表 4020:偏壓查找表(BLUT) 4021:陣列 4022:數位轉類比轉換器 4100:偏壓產生電路 4101:溫度感測器 4102:查找表 4103:數位轉類比轉換器 4104:計時器 4200:按比例調整電路 4201:溫度感測器 4202:換算器 4203:類比轉數位轉換器 4300:按比例調整電路 4400:校準電路 4401:記憶體胞元 4402:電流數位轉類比轉換器 4403:比較器 4470:查找表 4500:偏壓平均電路 4501:量測區塊 4507:電阻器 4600:偏壓產生區塊 4601:胞元 4602:電流數位轉類比轉換器 4603:比較器 4604:列暫存器 4605:開關 4606:開關 4607:電容器 4608:緩衝器 4650:偏壓產生區塊 4651:記憶體胞元 4652:電流數位轉類比轉換器 4654:列暫存器 4656:開關 4657:電容器 4658:緩衝器 4680:偏壓產生區塊 4685:位準移位器 4700:神經網路神經元方法 4800:神經網路方法 4900:神經網路操作方法 5000:神經網路方法 BL:位元線 C1:層 C2:層 C3:層 CB1:突觸 CB2:突觸 CB3:突觸 CB4:突觸 CG:控制閘極 EG:抹除閘極 P1:激勵函數 P2:激勵函數 S0:輸入層 S1:層 S2:層 SL:源極線 VREF:參考電壓 WL:字線
圖1係圖解說明一人工神經網路之一圖式。
圖2繪示一先前技術分離閘極快閃記憶體胞元。
圖3繪示另一先前技術分離閘極快閃記憶體胞元。
圖4繪示另一先前技術分離閘極快閃記憶體胞元。
圖5繪示另一先前技術分離閘極快閃記憶體胞元。
圖6係圖解說明利用一或多個非揮發性記憶體陣列之一例示性人工神經網路之不同層級之一圖式。
圖7係圖解說明一向量與矩陣乘法系統之一方塊圖。
圖8係圖解說明利用一或多個向量與矩陣乘法系統之一例示性人工神經網路之一方塊圖。
圖9繪示一向量與矩陣乘法系統之另一具體例。
圖10繪示一向量與矩陣乘法系統之另一具體例。
圖11繪示一向量與矩陣乘法系統之另一具體例。
圖12繪示一向量與矩陣乘法系統之另一具體例。
圖13繪示一向量與矩陣乘法系統之另一具體例。
圖14繪示一先前技術長短期記憶體系統。
圖15繪示供用於一長短期記憶體系統中之一例示性胞元。
圖16繪示圖15之例示性胞元之一具體例。
圖17繪示圖15之例示性胞元之另一具體例。
圖18繪示一先前技術閘式循環單元系統。
圖19繪示供用於一閘式循環單元系統中之一例示性胞元。
圖20繪示圖19之例示性胞元之一具體例。
圖21繪示圖19之例示性胞元之另一具體例。
圖22繪示一向量與矩陣乘法系統之另一具體例。
圖23繪示一向量與矩陣乘法系統之另一具體例。
圖24繪示一向量與矩陣乘法系統之另一具體例。
圖25繪示一向量與矩陣乘法系統之另一具體例。
圖26繪示一向量與矩陣乘法系統之另一具體例。
圖27繪示一向量與矩陣乘法系統之另一具體例。
圖28繪示一向量與矩陣乘法系統之另一具體例。
圖29繪示一向量與矩陣乘法系統之另一具體例。
圖30繪示一向量與矩陣乘法系統之另一具體例。
圖31繪示一向量與矩陣乘法系統之另一具體例。
圖32繪示一向量與矩陣乘法系統之另一具體例。
圖33繪示一向量與矩陣乘法系統之另一具體例。
圖34繪示一向量與矩陣乘法系統之另一具體例。
圖35繪示來自一神經網路之效能資料。
圖36繪示一神經網路方法。
圖37繪示一神經網路陣列。
圖38繪示一陣列。
圖39繪示一神經網路陣列。
圖40A繪示一方法。
圖40B繪示一偏壓查找表。
圖41繪示一方法。
圖42繪示一方法。
圖43繪示一換算器及一類比轉數位轉換器之一實施方案。
圖44A繪示一校準電路且圖44B繪示一校準方法。
圖45繪示一偏壓平均電路。
圖46A繪示一偏壓產生區塊。
圖46B繪示另一偏壓產生區塊。
圖46C繪示另一偏壓產生區塊。
圖47繪示一神經網路層方法。
圖48繪示一神經網路方法。
圖49繪示一神經網路方法。
圖50繪示一神經網路方法。
C1:層
C2:層
C3:層
CB1:突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激勵函數
P2:激勵函數
S0:輸入層
S1:層
S2:層

Claims (32)

  1. 一種用於一神經網路之方法,該方法包含: 感測與一組記憶體胞元相關聯之一操作溫度; 基於該所感測操作溫度在一查找表中決定一偏壓; 將該經決定偏壓施加至該組記憶體胞元之端子;及 對該組記憶體胞元執行一讀取操作。
  2. 如請求項1之方法,其中,偏壓自一記憶體胞元產生。
  3. 如請求項1之方法,其中,組記憶體胞元包含該神經網路中之一神經元。
  4. 如請求項1之方法,其中,組記憶體胞元位於一第一陣列中。
  5. 如請求項4之方法,其進一步包含: 感測與一第二組記憶體胞元相關聯之一第二操作溫度; 基於該第二操作溫度在一查找表中決定一第二偏壓; 將該經決定第二偏壓施加至該第二組記憶體胞元之端子,其中,該第二組記憶體胞元位於不同於該第一陣列之一第二陣列中;及 對該第二組記憶體胞元執行一讀取操作。
  6. 如請求項1之方法,其中,組記憶體胞元含在該神經網路中之一單個層中。
  7. 如請求項1之方法,其中,組記憶體胞元包含該神經網路中之複數個陣列中之所有記憶體胞元。
  8. 如請求項1之方法,其中,組記憶體胞元包含該神經網路中之複數個陣列中之一或多個選定陣列中之所有記憶體胞元。
  9. 如請求項1之方法,其中,組記憶體胞元包含分離閘極快閃記憶體胞元。
  10. 如請求項1之方法,其中,組記憶體胞元包含堆疊閘極快閃記憶體胞元。
  11. 一種用於填充一偏壓查找表之方法,該方法包含: 以N個值中之1個值程式化能夠儲存該N個值中之任一者之一記憶體胞元; 將一系列大小增加之電流施加至該經程式化記憶體胞元之一位元線; 比較該位元線之一電壓與一參考電壓以產生一比較輸出; 當該比較輸出改變值時,量測該記憶體胞元之一控制閘極端子之一電壓且將該電壓儲存於一查找表中。
  12. 如請求項11之方法,其中,記憶體陣列包含非揮發性記憶體胞元。
  13. 如請求項11之方法,其中,記憶體陣列包含揮發性記憶體胞元。
  14. 如請求項11之方法,其中,用一取樣與保持電路量測該控制閘極端子之該電壓。
  15. 一種用於一神經網路之方法,該方法包含: 感測一操作溫度; 用數位位元指示該所感測操作溫度;及 將一輸出神經元電流轉換成一電壓;及 回應於該等數位位元按比例調整該電壓。
  16. 一種用於產生一偏壓之電壓平均電路,其包含: 一可變電阻器,其耦合在一輸出節點與接地之間;及 複數個量測區塊,每一量測區塊將一各別輸入電壓轉換成一電流且將該電流鏡射至該輸出節點中; 其中該輸出節點將等於該等輸入電壓之一平均值之一偏壓提供至該複數個量測區塊。
  17. 如請求項16之電壓平均電路,其中,輸出節點處之一電壓等於由每一量測區塊提供之一值之一總和,該值包含由該量測區塊接收之該輸入電壓乘以該可變電阻器之比率除以該等量測區塊之該等電阻器之一總和乘以該等各別輸入電壓之總和。
  18. 如請求項17之電壓平均電路,其中,輸出電壓施加至該神經網路記憶體陣列中之一或多個胞元之一控制閘極端子。
  19. 一種用於一神經網路之方法,該方法包含: 感測與一組記憶體胞元相關聯之一操作溫度; 基於該所感測操作溫度決定一偏壓; 將該經決定偏壓施加至該組記憶體胞元之端子;及 對該組記憶體胞元執行一讀取操作。
  20. 如請求項19之方法,其中,組記憶體胞元包含該神經網路中之一神經元。
  21. 如請求項19之方法,其中,偏壓自一記憶體胞元產生。
  22. 一種用於產生一記憶體陣列之一偏壓之方法,該方法包含: 程式化一記憶體胞元以儲存一值; 將一系列大小增加之電流施加至該經程式化記憶體胞元之一位元線;及 量測該記憶體胞元之一控制閘極端子之一電壓以決定該偏壓。
  23. 如請求項22之方法,其進一步包含: 儲存該經決定偏壓。
  24. 如請求項23之方法,其進一步包括: 在對一記憶體胞元陣列中之一或多個記憶體胞元進行一操作期間,將該偏壓施加至該一或多個記憶體胞元。
  25. 如請求項24之方法,其中,陣列係一類比神經記憶體陣列。
  26. 如請求項23之方法,其包含: 針對該經程式化記憶體胞元之複數個不同操作溫度,執行該程式化、施加、量測及儲存步驟。
  27. 一種用於即時決定一神經網路中之一記憶體陣列之一偏壓之方法,該方法包含: 程式化一記憶體胞元以儲存一值; 將一預定電流施加至該經程式化記憶體胞元之一位元線;及 量測該記憶體胞元之一控制閘極端子之一電壓以決定該偏壓。
  28. 如請求項27之方法,其進一步包含: 儲存該偏壓。
  29. 如請求項28之方法,其進一步包含: 在對一記憶體胞元陣列中之一或多個記憶體胞元進行一操作期間,將該偏壓施加至該一或多個記憶體胞元。
  30. 如請求項29之方法,其中,陣列係一類比神經記憶體陣列。
  31. 如請求項28之方法,其包含: 針對該經程式化記憶體胞元之複數個不同操作溫度,執行該程式化、施加、量測及儲存步驟。
  32. 一種用於一神經網路之方法,該方法包含: 程式化一記憶體胞元; 將一系列大小增加之電流施加至該經程式化記憶體胞元之一位元線; 比較該位元線之一電壓與一參考電壓以產生一比較輸出; 當該比較輸出改變值時,量測該記憶體胞元之一控制閘極端子之一電壓且將該電壓儲存為一經決定偏壓; 將該經決定偏壓施加至該組記憶體胞元之端子;及 對該組記憶體胞元執行一讀取操作。
TW111138728A 2021-11-12 2022-10-13 決定施加至神經網路中的一或多個記憶體胞元的偏壓 TWI843232B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202163279028P 2021-11-12 2021-11-12
US63/279,028 2021-11-12
US17/585,452 US20230154528A1 (en) 2021-11-12 2022-01-26 Determination of a bias voltage to apply to one or more memory cells in a neural network
US17/585,452 2022-01-26
WOPCT/US22/14166 2022-01-27
PCT/US2022/014166 WO2023086117A1 (en) 2021-11-12 2022-01-27 Determination of a bias voltage to apply to one or more memory cells in a neural network

Publications (2)

Publication Number Publication Date
TW202336748A true TW202336748A (zh) 2023-09-16
TWI843232B TWI843232B (zh) 2024-05-21

Family

ID=

Also Published As

Publication number Publication date
KR20240052994A (ko) 2024-04-23
US20240062813A1 (en) 2024-02-22
EP4385015A1 (en) 2024-06-19
WO2023086117A1 (en) 2023-05-19
US20240062812A1 (en) 2024-02-22

Similar Documents

Publication Publication Date Title
JP7329151B2 (ja) 人工ニューラルネットワーク内のアナログニューラルメモリにおけるデータドリフトを補償するための回路
TWI809663B (zh) 用於人工神經網路中之類比神經記憶體之精確資料調校方法及裝置
TW202341014A (zh) 深度學習人工神經網路中電性參數的校準
KR20230110360A (ko) 딥 러닝 인공 신경망에서의 아날로그 신경 메모리를위한 디지털 출력 메케니즘
TWI843232B (zh) 決定施加至神經網路中的一或多個記憶體胞元的偏壓
TW202336748A (zh) 決定施加至神經網路中的一或多個記憶體胞元的偏壓
TWI842636B (zh) 深度學習人工神經網路中類比神經記憶體的輸出電路
TWI822198B (zh) 深度學習人工神經網路中類比神經記憶體的輸出電路
US20230154528A1 (en) Determination of a bias voltage to apply to one or more memory cells in a neural network
TWI846378B (zh) 利用類比輸入的向量矩陣乘法陣列
TWI834397B (zh) 包含類比陣列及數位陣列的人工神經網路
US20240104164A1 (en) Verification method and system in artificial neural network array
CN118043889A (zh) 要施加到神经网络中的一个或多个存储器单元的偏置电压的确定
TW202343451A (zh) 包含i-v斜率組構的參考陣列之人工神經網路
TW202422557A (zh) 人工神經網路陣列中的驗證方法及系統
TW202324211A (zh) 可配置為以類比形式或數位形式儲存神經記憶體權重資料的混合記憶體系統
WO2024063792A1 (en) Verification method and system in artificial neural network array
TW202341013A (zh) 深度學習人工神經網路中電性參數的校準
TW202314599A (zh) 深度學習人工神經網路中類比神經記憶體的輸入電路
CN117751406A (zh) 可配置为以模拟形式或数字形式存储神经存储器权重数据的混合存储器系统
CN117716427A (zh) 用于深度学习人工神经网络中的模拟神经存储器的输入电路