TWI834955B - 人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整 - Google Patents

人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整 Download PDF

Info

Publication number
TWI834955B
TWI834955B TW110108871A TW110108871A TWI834955B TW I834955 B TWI834955 B TW I834955B TW 110108871 A TW110108871 A TW 110108871A TW 110108871 A TW110108871 A TW 110108871A TW I834955 B TWI834955 B TW I834955B
Authority
TW
Taiwan
Prior art keywords
volatile memory
voltage
gate
array
memory cells
Prior art date
Application number
TW110108871A
Other languages
English (en)
Other versions
TW202141502A (zh
Inventor
曉萬 陳
順 武
史蒂芬 鄭
史丹利 洪
英 李
史蒂芬 利姆克
維平 蒂瓦里
恩漢 杜
Original Assignee
美商超捷公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商超捷公司 filed Critical 美商超捷公司
Publication of TW202141502A publication Critical patent/TW202141502A/zh
Application granted granted Critical
Publication of TWI834955B publication Critical patent/TWI834955B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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
    • G06N3/065Analogue means
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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/08Address circuits; Decoders; Word-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/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/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/02Structural aspects of erasable programmable read-only memories
    • G11C2216/04Nonvolatile memory cell provided with a separate control gate for erasing the cells, i.e. erase gate, independent of the normal read control gate

Landscapes

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

Abstract

揭示了用於執行一類比神經記憶體中非揮發性記憶體單元之一分頁或一字元之調整的眾多具體例。亦揭示了用於在該精確調整程序期間產生施加至該等非揮發性記憶體單元之端子之高電壓的高電壓電路。亦揭示了用於在調整期間將該等電壓施加至該等端子以最小化干擾之出現的程式化序列。

Description

人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整
[優先權主張]本申請案主張2020年3月22日申請且標題為「人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整(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)」之美國臨時專利申請案第62/993,008號及2020年9月17日申請的標題為「人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整(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)」之美國專利申請案第17/024,410號之優先權。
揭示了用於執行類比神經記憶體中非揮發性記憶體單元之分頁或字元之精確調整的眾多具體例。亦揭示了在精確調整程序期間所使用之高電壓電路及程式化序列。
人工神經網路模擬生物神經網路(動物之中樞神經系統,特定言之,大腦)且用於估計或估算可取決於大量輸入且通常未知的功能。人工神經網路通常包括彼此交換訊息之互連「神經元」的層。
圖1說明人工神經網路,其中圓形表示神經元之輸入或層。連接(被稱作突觸)由箭頭表示,且具有可基於經驗進行調整之數值權重。此使得人工神經網路適應於輸入且能夠學習。通常,人工神經網路包括多個輸入之層。通常存在一或多個中間神經元層及提供神經網路之輸出的輸出神經元層。各層級處之神經元基於自突觸所接收之資料而個別地或共同地作出決策。
用於高效能資訊處理之人工神經網路之發展中的主要挑戰之一在於缺乏充分的硬體技術。實際上,切實可行的人工神經網路依賴於極大量之突觸,從而實現神經元之間的高連接性,亦即極高計算並行性。原則上,此複雜性可利用數位超級電腦或專用圖形處理單元叢集來達成。然而,除高成本之外,與生物網路相比,此等方法亦受中等能效困擾,主要因為生物網路執行低精確度類比計算,所以其消耗少得多的能量。CMOS類比電路已用於人工神經網路,但鑒於大量神經元及突觸,大多數CMOS實施突觸已過於龐大。
申請人先前在公開為美國專利公開案第2017/0337466號之美國專利申請案第15/594,439號中揭示了一種人工(類比)神經網路,其利用一或多個非揮發性記憶體陣列作為突觸,該美國專利公開案以引用之方式併入。非揮發性記憶體陣列用作類比神經形態記憶體。如本文中所使用,術語神經形態意謂實施神經系統之模型的電路系統。類比神經形態記憶體包括第一複數個突觸,該第一複數個突觸經組構以接收第一複數個輸入且自該第一複數個輸入產生第一複數個輸出;及經組構以接收第一複數個輸出之第一複數個神經元。第一複數個突觸包括複數個記憶體單元,其中該等記憶體單元中之每一者包括:形成於半導體基板中之間隔開的源極區及汲極區,其中通道區在源極區與汲極區之間延伸;浮動閘極,其裝設於通道區之第一部分上方且與該第一部分絕緣;以及非浮動閘極,其裝設於通道區之第二部分上方且與該第二部分絕緣。複數個記憶體單元中之每一者經組構以儲存對應於浮動閘極上之電子數目的權重值。複數個記憶體單元經組構以使第一複數個輸入乘以所儲存權重值以產生第一複數個輸出。以此方式配置之記憶體單元陣列可被稱作向量矩陣乘法(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 的操作
   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
「讀取1」為其中單元電流在位元線上輸出之讀取模式。「讀取2」為其中單元電流在源極線端子上輸出之讀取模式。
圖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 之操作
   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
「讀取1」為其中單元電流在位元線上輸出之讀取模式。「讀取2」為其中單元電流在源極線端子上輸出之讀取模式。
圖5展示記憶體單元510,其類似於圖4的記憶體單元410,除了記憶體單元510不含有抹除閘極EG端子之外。藉由將基板18偏壓至高壓及將控制閘極CG端子28偏壓至低或負電壓而執行抹除。替代地,藉由將字線端子22偏壓至正電壓及將控制閘極端子28偏壓至負電壓來執行抹除。程式化及讀取類似於圖4之程式化及讀取。
圖6描繪三閘極記憶體單元610,其為另一類型之快閃記憶體單元。記憶體單元610與圖4的記憶體單元410相同,除了記憶體單元610不具有單獨的控制閘極端子之外。抹除操作(其中藉由使用抹除閘極端子進行抹除)及讀取操作類似於圖4的抹除操作及讀取操作,除了未施加控制閘極偏壓之外。程式化操作亦在無控制閘極偏壓之情況下進行,且結果,在程式化操作期間較高電壓必須施加在源極線端子上以補償控制閘極偏壓之缺乏。
表3描繪可應用於記憶體單元610之端子以用於執行讀取、抹除及程式化操作的典型電壓範圍: 3 6 之快閃記憶體單元 610 的操作
   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
「讀取1」為其中單元電流在位元線上輸出之讀取模式。「讀取2」為其中單元電流在源極線端子上輸出之讀取模式。
圖7描繪堆疊閘極記憶體單元710,其為另一類型之快閃記憶體單元。除了浮動閘極20在整個通道區18上方延伸,且控制閘極端子22 (其在此處將耦接至字線)在浮動閘極20上方延伸以外,記憶體單元710類似於圖2的記憶體單元210,該浮動閘極由絕緣層(未展示)分離。使用自通道18至緊鄰汲極區16之通道區中之浮動閘極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包含裝設在基板12上方且與該基板絕緣之浮動閘極(FG) 20、裝設在浮動閘極20上方且與該浮動閘極絕緣之控制閘極28 (CG)、與浮動閘極20及控制閘極28相鄰裝設且與該浮動閘極及該控制閘極絕緣且裝設在基板12上方且與該基板絕緣之抹除閘極30 (EG),其中抹除閘極30產生為具有T形狀,使得控制閘極CG之頂部轉角面向T形抹除閘極之內部轉角以改良抹除效率,且基板中之汲極區16 (DR)與浮動閘極20相鄰(藉由連接至汲極擴散區16 (DR)之位元線接點24 (BL))。記憶體單元形成為記憶體單元對(左側上之A及右側上之B),共用共同抹除閘極30。此單元設計與上文參考圖2至圖7所論述之記憶體單元之不同之處至少在於其對於每一記憶體單元缺少抹除閘極EG下方之源極區、缺少選擇閘極(亦被稱作字線),且缺少通道區。替代地,單個連續通道區18在兩個記憶體單元下方延伸(亦即,自一個記憶體單元之汲極區16A延伸至另一記憶體單元之汲極區16B)。為了讀取或程式化一個記憶體單元,其他記憶體單元之控制閘極28經由耦接至其間的浮動閘極20之電壓而升高至足夠電壓以接通基礎通道區部分(例如,為了讀取或程式化單元A,FGB 20B上之電壓經由自CGB 28B耦接之電壓而升高以接通FGB 20B下方之通道區部分)。使用自浮動閘極20至抹除閘極30之富爾-諾罕電子穿隧來執行抹除。使用自通道18至浮動閘極20之熱電子注入來執行程式化,此在表5中指示為程式化1。替代地,使用自抹除閘極30至浮動閘極20之富爾-諾罕電子穿隧來執行程式化,此在表5中指示為程式化2。替代地,使用自通道18至浮動閘極20之富爾-諾罕電子穿隧來執行程式化,在此情況下,條件類似於程式化2,除了基板12偏壓在低壓或負電壓下而抹除閘極30偏壓在低正電壓下之外。
表5描繪可應用於記憶體單元810之端子以用於執行讀取、抹除及程式化操作的典型電壓範圍。在此表格中,假定選擇單元A (具有端子EG、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至11.5 V 0 V -4 V至-11.5 V 0 V至-2 V (Vcginhp) 0 V
為了利用包含上文在人工神經網路中所描繪之非揮發性記憶體單元類型中之一者的記憶體陣列,進行兩個修改。首先,線經組構以使得每一記憶體單元可個別地程式化、抹除及讀取而不會不利地影響陣列中之其他記憶體單元之記憶體狀態,如下文進一步解釋。其次,提供記憶體單元之連續(類比)程式化。
特定言之,陣列中之每一記憶體單元之記憶體狀態(亦即,浮動閘極上之電荷)可連續地自完全抹除狀態改變為完全程式化狀態,其方式為獨立的且對其他記憶體單元之干擾最少。在另一具體例中,陣列中之每一記憶體單元之記憶體狀態(亦即,浮動閘極上之電荷)可連續地自完全程式化狀態改變為完全抹除狀態,且反之亦然,其方式為獨立的且對其他記憶體單元之干擾最小。此意謂單元儲存為類比的,或至少可儲存許多離散值(諸如16或64個不同值)中之一者,此允許對記憶體陣列中之所有單元進行極精確且個別的調整,且此使得記憶體陣列對於儲存神經網路之突觸權重及對該等突觸權重進行精細調整調節係理想的。
本文中所描述之方法及手段可應用於其他非揮發性記憶體技術,諸如但不限於FINFET分離閘極快閃或堆疊閘極快閃記憶體、反及閘快閃、3D快閃、SONOS (矽-氧化物-氮化物-氧化物-矽,氮化物中之電荷捕捉)、MONOS (金屬-氧化物-氮化物-氧化物-矽,氮化物中之金屬電荷捕捉)、ReRAM (電阻式ram)、PCM (相變記憶體)、MRAM (磁性ram)、FeRAM (鐵電ram)、OTP (雙層級或多層級一次性可程式化)及CeRAM (相關電子ram)。本文中所描述之方法及手段可應用於用於神經網路之揮發性記憶體技術,諸如SRAM、DRAM及其他揮發性突觸單元,但不限於此。 採用非揮發性記憶體單元陣列之神經網路
圖9在概念上說明利用本具體例之非揮發性記憶體陣列的神經網路之非限制性實施例。此實施例將非揮發性記憶體陣列神經網路用於面部辨識應用,但任何其他適當應用皆可使用基於非揮發性記憶體陣列之神經網路來實施。
S0為輸入層,對於此實施例,該輸入層為具有5位元精確度之32×32像素RGB影像(亦即,三個32×32像素陣列,每種色彩R、G及B一個陣列,每一像素為5位元精確度)。自輸入層S0行進至層C1之突觸CB1在一些情況下施加不同權重集合且在其他情況下共用權重,且用3×3像素重疊濾波器(核心)掃描輸入影像,使濾波器移位1個像素(或多於1個像素,如由模型規定)。特定言之,影像(亦即,稱作濾波器或核心)之3×3部分中之9個像素的值被提供至突觸CB1,其中使此9個輸入值乘以適當權重,且在對彼乘法之輸出求和之後,判定單一輸出值且由第一突觸CB1提供該單一輸出值以用於產生特徵圖層C1中之一者的像素。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區的值。池化函數之目的為使附近位置達到平均數(或亦可使用最大函數),以例如降低邊緣位置之相依性且在進入下一級之前縮減資料大小。在層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之一或多個列映射濾波器(核心)之權重。
VMM陣列33的輸出經供應至差分求和器(諸如求和運算放大器或求和電流鏡) 38,其對VMM陣列33之輸出進行求和以產生用於彼卷積之單個值。差分求和器38經配置以執行正權重輸入與負權重輸入之求和以輸出單個值。
隨後將差分求和器38之總計輸出值供應至對輸出進行整流之激發函數電路39。激發函數電路39可提供S型(sigmoid)、雙曲正切(tanh)、ReLU函數,或任何其他非線性函數。激發函數電路39之經整流輸出值變成下一層(例如圖9中之C1)之特徵圖之元素,且隨後應用於下一突觸以產生下一特徵圖層或最終層。因此,在此實施例中,VMM陣列33構成複數個突觸(其自先前神經元層或自諸如影像資料庫之輸入層接收其輸入),並且求和器38及激發函數電路39構成複數個神經元。
圖10中至VMM系統32之輸入(WLx、EGx、CGx及可選擇地BLx及SLx)可為類比層級、二進位層級、數位定時脈衝(在此情況下,可需要脈衝至類比轉換器PAC以將脈衝轉換為適合的輸入類比層級)或數位位元(在此情況下,提供DAC以將數位位元轉換為適合的輸入類比層級)且輸出可為類比層級(例如,電流、電壓或電荷)、二進位層級、數位脈衝或數位位元(在此情況下,提供輸出ADC以將輸出類比層級轉換成數位位元)。
圖11為描繪VMM系統32 (此處標記為VMM系統32a、32b、32c、32d及32e)之眾多層之使用的方塊圖。如圖11中所展示,表示為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之各種層充當卷積神經網路(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之非揮發性記憶體單元較佳經組構以在亞臨限區中操作。
本文中所描述之非揮發性參考記憶體單元及非揮發性記憶體單元在弱反轉(weak inversion)中經偏壓: 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。
對於用作向量矩陣乘法器VMM陣列之記憶體陣列,輸出電流為: Iout = wa * Io * e(Vg)/nVt ,亦即 Iout = (wa/wp) * Iin = W * Iin W = wa/wp = e(Vthp - Vtha)/nVt Iin = wp * Io * e(Vg)/nVt 此處,wa =記憶體陣列中之每一記憶體單元之W。Vthp為參考記憶體單元(或周邊記憶體單元或電晶體)之(等效或有效)臨限電壓且Vtha為陣列記憶體單元之(等效或有效)臨限電壓。
字線或控制閘極可用作用於輸入電壓之記憶體單元之輸入。
替代地,本文中所描述之VMM陣列的非揮發性記憶體單元可經組構以在線性區中操作: Ids = beta* (Vgs-Vth)*Vds;beta = u*Cox*Wt/L,Wa (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-2 V (Ineuron) 0.6 V-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、WLB1、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) 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
圖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陣列1600,除了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-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
至VMM陣列之輸入可為類比層級、二進位層級、定時脈衝或數位位元,且輸出可為類比層級、二進位層級、定時脈衝或數位位元(在此情況下,需要輸出ADC將輸出類比層級電流或電壓轉換成數位位元)。
對於VMM陣列中之每一記憶體單元,每一權重W可由單個記憶體單元或差分單元或兩個混合記憶體單元(2個或更多個單元之平均值)實施。在差分單元情況下,需要兩個記憶體單元以將權重w實施為差分權重(w = w+ - w-)。在兩個混合記憶體單元中,需要兩個記憶體單元以將權重w實施為兩個單元之平均值。
準確且精確地程式化及抹除非揮發性記憶體單元以確保將正確量之電荷置放於浮動閘極上以將正確權重儲存在單元中係必要的。
需要VMM系統,其允許在字元或分頁基礎上進行精確調整,其中字元通常包含各儲存多個邏輯位元(亦即,多層級單元,各儲存例如3至8個位元)之8至64個記憶體單元,且分頁包含各儲存多個邏輯位元之64個記憶體單元。進一步需要高電壓電路以產生所需電壓。進一步需要改良程式化序列以使諸如抹除閘極干擾及控制閘極干擾等非所要效應之出現率最小化。
揭示了用於執行類比神經記憶體中非揮發性記憶體單元之分頁或字元之精確調整的眾多具體例。亦揭示了用於在精確調整程序期間產生施加至非揮發性記憶體單元之端子之高電壓的高電壓電路。亦揭示了用於在精確調整期間將電壓施加至端子以最小化干擾之出現的程式化序列。
在一個具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及複數個抹除閘極啟用電晶體,每一抹除閘極啟用電晶體耦接至非揮發性記憶體單元之字元之抹除閘極端子。
在另一具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及複數個抹除閘極啟用電晶體,每一抹除閘極啟用電晶體耦接至非揮發性記憶體單元之分頁之抹除閘極端子,該分頁包含相鄰列中之非揮發性記憶體單元之兩個字元。
在另一具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及複數條抹除閘極線,每一抹除閘極線耦接至非揮發性記憶體單元之分頁之抹除閘極端子,該分頁包含相鄰列中之非揮發性記憶體單元之兩個字元。
在另一具體例中,一種對非揮發性記憶體單元之字元或分頁執行調整之方法,該方法包含抹除非揮發性記憶體單元之字元或分頁;對非揮發性記憶體單元之字元或分頁執行軟程式化;對非揮發性記憶體單元之字元或分頁執行粗略程式化;對非揮發性記憶體單元之字元或分頁執行精細程式化;以及在非揮發性記憶體單元之字元或分頁中識別任何快速位元使得彼等位元可使用不同於正常(非快速及非緩慢)位元之序列來程式化。
在另一具體例中,一種程式化以列及行配置之非揮發性記憶體單元陣列中非揮發性記憶體單元之字元之方法,每一非揮發性記憶體單元包含控制閘極端子、源極線端子及抹除閘極端子,該方法包含在第一時間段期間使非揮發性記憶體單元之字元之控制閘極端子上的電壓斜升;在第一時間段之後的第二時間段期間使非揮發性記憶體單元之字元之源極線端子上的電壓斜升;以及在第二時間段之後的第三時間段期間使非揮發性記憶體單元之字元之抹除閘極線端子上的電壓斜升。
在另一具體例中,一種程式化以列及行配置之非揮發性記憶體單元陣列中非揮發性記憶體單元之字元之方法,每一非揮發性記憶體單元包含控制閘極端子、源極線端子及抹除閘極端子,該方法包含在第一時間段期間使非揮發性記憶體單元之字元之控制閘極端子上的電壓斜升至中間電壓;在第一時間段之後的第二時間段期間使非揮發性記憶體單元之字元之源極線端子上的電壓斜升;在第二時間段之後的第三時間段期間使非揮發性記憶體單元之字元之抹除閘極線端子上的電壓斜升;以及在第三時間段之後的第四時間段期間使非揮發性記憶體單元之字元之控制閘極端子上的電壓進一步斜升。
在另一具體例中,一種程式化以列及行配置之非揮發性記憶體單元陣列中非揮發性記憶體單元之字元之方法,每一非揮發性記憶體單元包含控制閘極端子、源極線端子及抹除閘極端子,該方法包含在第一時間段期間使非揮發性記憶體單元之字元之控制閘極端子上的電壓斜升至第一中間電壓;在第一時間段之後的第二時間段期間使非揮發性記憶體單元之字元之源極線端子上的電壓斜升至第二中間電壓;以及在第二時間段之後的第三時間段期間使非揮發性記憶體單元之字元之抹除閘極線端子上的電壓斜升並使非揮發性記憶體單元之字元之源極線端子上的電壓進一步斜升並使非揮發性記憶體單元之字元之控制閘極端子上的電壓進一步斜升至第三中間電壓;以及在第三時間段之後的第四時間段期間使非揮發性記憶體單元之字元之控制閘極端子上的電壓進一步斜升。
在另一具體例中,一種程式化以列及行配置之非揮發性記憶體單元陣列中非揮發性記憶體單元之字元之方法,每一非揮發性記憶體單元包含控制閘極端子、源極線端子及抹除閘極端子,該方法包含在第一時間段期間使非揮發性記憶體單元之字元之源極線端子上的電壓斜升;以及在第一時間段之後的第二時間段期間使非揮發性記憶體單元之字元之抹除閘極線端子上的電壓斜升並使非揮發性記憶體單元之字元之控制閘極端子上的電壓斜升。
在另一具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及電路解碼器區塊,其包含用於提供抹除閘極解碼信號之抹除閘極解碼器、用於提供兩個控制閘極信號之控制閘極解碼器及提供源極線解碼信號之源極線解碼器。
在另一具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及電路解碼器區塊,其包含用於提供抹除閘極解碼信號之抹除閘極解碼器、用於提供四個控制閘極信號之控制閘極解碼器及提供源極線解碼信號之源極線解碼器。
在另一具體例中,一種類比神經記憶體系統包含以列及行配置之非揮發性記憶體單元陣列,每一非揮發性記憶體單元包含字線端子、位元線端子及抹除閘極端子;複數條字線,每一字線耦接至一列非揮發性記憶體單元之字線端子;複數條位元線,每一位元線耦接至一行非揮發性記憶體單元之位元線端子;以及電路解碼器區塊,其包含用於提供兩個抹除閘極解碼信號之抹除閘極解碼器、用於提供八個控制閘極信號之控制閘極解碼器及提供源極線解碼信號之源極線解碼器。
本發明之人工神經網路利用CMOS技術與非揮發性記憶體陣列之組合。 具有基於分頁或字元之調整之改良VMM系統
圖17描繪VMM陣列1700。VMM陣列1700實施對非揮發性記憶體單元之分頁之雙向調整。此處,例示性分頁1701包含兩個字元,其各自處於不同列中。字元包括複數個記憶體單元,例如8至64個。特殊字元可包括僅一個單元或幾個單元。相鄰列對共用源極線,諸如SL0或SL1。分頁1701中之所有單元共用受抹除閘極啟用電晶體1702控制之共同抹除閘極線,該抹除閘極啟用電晶體控制電壓至例示性分頁集合1701中之所有單元之抹除閘極端子EGW之提供。此處,分頁1701中之所有單元可同時抹除。此後,分頁1701中之單元可經由程式化及抹除操作雙向調整且分頁1701中之一些單元可經由程式化操作單向調整。程式化操作可包括下文參考圖20及圖21所描述之精確程式化技術。若過多電子電荷置於浮動閘極上(這將使得不正確電流值儲存於單元中,亦即低於預期電流值之電流值),則該單元必須經抹除且必須重新開始部分程式化操作之序列。
圖18描繪VMM陣列1800。VMM陣列1800實施對非揮發性記憶體單元之字元之雙向調整。此處,例示性字元1801包含成一列之複數個單元。字元1801中之所有單元共用受抹除閘極啟用電晶體1802控制之共同抹除閘極線,該抹除閘極啟用電晶體控制電壓至字元1801中之所有單元之抹除閘極端子之提供。此處,字元1801中之所有單元可同時抹除。此後,字元1801中之單元可經由程式化及抹除操作雙向調整。程式化操作可包括下文描述之精確程式化技術。若過多電子電荷置於浮動閘極上(使得不正確電流值儲存於單元中,亦即低於預期電流值之電流值),則該單元必須經抹除且必須重新開始部分程式化操作之序列。
圖19描繪VMM陣列1900。VMM陣列1900實施對非揮發性記憶體單元之字元之雙向調整。此處,例示性字元1901包含單元之兩個半字元。每一半字元屬於共用抹除閘極之一列。字元1901中之所有單元共用連接至抹除閘極端子EGW之共同抹除閘極線。不同於在VMM陣列1800及1700中,不存在抹除閘極啟用電晶體。此處,字元1901中之所有單元可同時抹除。此後,字元1901中之單元可經由程式化及抹除操作雙向調整。程式化操作可包括下文描述之精確程式化技術。若過多電子電荷置於浮動閘極上(使得不正確電流值儲存於單元中,亦即低於預期電流值之電流值),則該單元必須經抹除且必須重新開始部分程式化操作之序列。
儘管圖17、圖18及圖19中未展示,但可使用源極線下拉位元線、調整位元線(用於超精細程式化)、虛設位元線及冗餘位元線,如2020年2月26日申請且標題為「深度學習人工神經網路中類比神經記憶體單元之超精確調整(Ultra-Precise Tuning of Analog Neural Memory Cells In A Deep Learning Artificial Neural Network)」之美國臨時專利申請案第62/981,757號中所描述,該美國臨時專利申請案以引用之方式併入本文中。
圖20A描繪調整分頁/字元演算法2000,其可應用於圖17至圖19中之VMM陣列1700、1800或1900。
首先,字元或分頁經抹除(步驟2001)。其次,對未使用單元執行深度程式化(步驟2002)。深度程式化用於將單元程式化為一狀態(或目標層級),其在讀取操作期間具有可忽略的單元電流,例如<pA範圍。第三,對字元或分頁內之單元執行粗略程式化(步驟2003)。粗略程式化用於將單元程式化為粗略目標層級,例如在目標之50至500%內,具有較大(粗略)增量電壓及/或程式化電流及/或程式化定時。第四,對字元或分頁內之單元執行精細程式化(步驟2004)。精細程式化用於將單元程式化為精細目標層級,例如在目標之+/-5至30%內,具有較小(精細)增量程式化電壓及/或程式化電流及/或程式化定時。第五,可選擇地對字元或分頁內之單元執行超精細程式化(步驟2005)。超精細程式化用於將單元程式化為最終目標層級,具有精確極小增量電壓及/或程式化電流及/或程式化定時。在粗略/精細/超精細程式化中之最終目標層級內達成的百分比相對於增量層級及/或程式化定時之量值進行權衡以最小化諸如來自程式化量化雜訊(增量量值)、干擾雜訊、各種耦合雜訊、FG-FG耦合雜訊等之雜訊。
圖20B描繪調整分頁/字元演算法2050,其可應用於圖17至圖19中之VMM陣列1700、1800或1900。調整分頁/字元演算法2050類似於圖20A中之調整分頁/字元演算法2000,除調整分頁/字元演算法2050進一步包括用於處置快速或緩慢位元之步驟以外。步驟2001至2005如圖20A中而進行。在步驟2006中或替代地在步驟2003中,判定字元或分頁含有任何快速位元抑或緩慢位元(步驟2006)。快速位元為相較於正常位元需要程式化之較短時間段以達到所需層級的位元,且緩慢位元為相較於正常位元需要程式化之較長時間段以達到所需層級的位元。快速位元可藉由監測單元之程式化速率(程式化速度),諸如藉由量測差量Ir/差量tprog(隨時間推移之電流改變,例如K個連續脈衝內之電流改變)>預先判定之R因子來偵測,例如K=2個脈衝。緩慢位元可藉由監測程式化速率差量Ir/差量tprog<預先判定之R因子來偵測。若否,則演算法停止。若是,則快速位元或緩慢位元單元經識別及標記。此後,彼字元或分頁之任何程式化將利用快速位元或緩慢位元演算法,如下文參考圖21A及圖21B所論述。
申請人先前揭示2020年2月26日申請且標題為「深度學習人工神經網路中類比神經記憶體單元之超精確調整(Ultra-Precise Tuning of Analog Neural Memory Cells in a Deep Learning Artificial Neural Network)」之美國臨時專利申請案第62/981,757號中用於執行粗略程式化、精細程式化及超精細程式化之各種技術,該美國臨時專利申請案以引用之方式併入本文中。
圖21A描繪快速位元演算法2100。若字元或分頁已經判定為含有一或多個快速位元單元,亦被稱作快速位元,則執行此演算法。首先,字元或分頁經抹除或部分經抹除(步驟2101)。其次,快速位元經程式化及驗證(步驟2102)。此例如在小於預設(或恆定)電壓增量及/或小於預設程式化電流及/或小於預設定時之情況下進行。接下來,正常位元,亦即未標記為快速位元或緩慢位元之所有位元經程式化及驗證(步驟2103)。此例如在粗略/精細/超精細電壓增量及/或程式化電流及/或定時之預設設定之情況下進行。
圖21B描繪緩慢位元演算法2150。若字元或分頁已經判定為含有一或多個緩慢位元單元,則執行此演算法。首先,字元或分頁經抹除或部分經抹除(步驟2151)。其次,緩慢位元單元經程式化及驗證(步驟2152)。此例如在大於預設電壓增量及/或大於預設程式化電流及/或大於預設定時之情況下進行。接下來,正常位元,亦即未標記為緩慢位元或快速位元之所有位元經程式化及驗證(步驟2153)。此例如在粗略/精細/超精細電壓增量及/或程式化電流及/或定時之預設設定之情況下進行。
在一個具體例中,緩慢位元單元首先經調整以避免對相同分頁/字元中之其他單元之干擾,接著快速位元單元經調整,且接著正常位元單元經調整。
在一個具體例中,緩慢位元單元首先經調整(以避免對相同分頁/字元中之其他單元之干擾),接著正常位元單元經調整,且接著快速位元單元經調整。
圖22描繪VMM系統2200之方塊圖。VMM系統2200包含VMM陣列2201、列解碼器2202、高電壓解碼器2203、行解碼器2204、位元線驅動器2205、輸入電路2206、輸出電路2207、控制邏輯2208及偏壓產生器2209。VMM系統2200進一步包含高電壓產生區塊2210,其包含電荷泵2211、電荷泵調節器2212及高電壓位準產生器2213。VMM系統2200進一步包含(程式化/抹除,或亦稱為權重調整)演算法控制器2214、類比電路系統2215、控制邏輯2216及測試控制邏輯2217。下文描述之系統及方法可實施於VMM系統2200中。
輸入電路2206可包括諸如DAC (數位至類比轉換器)、 DPC (數位至脈衝轉換器)、AAC (類比至類比轉換器,諸如電流至電壓轉換器)、PAC (脈衝至類比層級轉換器)或任何其他類型之轉換器等電路。輸入電路2206可實施正規化、線性或非線性放大/縮小函數,或算術函數。輸入電路2206可實施溫度補償功能以用於輸入。輸入電路2206可實施諸如ReLU或S型等激發函數。輸出電路2207可包括諸如ADC (類比至數位轉換器,以將神經元類比輸出轉換成數位位元)、AAC (類比至類比轉換器,諸如電流至電壓轉換器)、APC (類比至脈衝轉換器)或任何其他類型之轉換器等電路。輸出電路2207可實施諸如ReLU或S型等激發函數。輸出電路2207可實施統計正規化、正則化、放大/縮小函數,統計捨入或算術函數(例如,加法、減法、除法、乘法、移位、對數)以用於神經元輸出。輸出電路2207可實施溫度補償功能以用於神經元輸出或陣列輸出(諸如位元線輸出),以便使陣列之功耗保持近似恆定或諸如藉由使IV斜率保持近似相同而改良陣列(神經元)輸出之精確性。
圖23描繪高電壓產生區塊2300,其為來自圖22之高電壓產生區塊2210之具體例。高電壓產生區塊2300包含電荷泵2211及電荷泵調節器2212,其產生各種高電壓且受啟用信號(此處標記為EN_CP)控制。電荷泵2211及電荷泵調節器2212提供必需的高電壓以控制閘極高電壓產生器2301、抹除閘極高電壓產生器2302及源極線高電壓產生器2303,其分別受標記為EN_CGGEN、EN_EGGEN及EN_SLGEN之啟用信號控制,且在VMM陣列內在程式化、抹除或讀取操作期間按需要提供高電壓信號以分別控制閘極線、抹除閘極線及源極線。
圖24描繪用於供應高壓電源之高電壓最大值電路,其識別第一高電壓HV1與第二高電壓HV2之間最高的電壓並輸出最高電壓。比較器2401接收HV1div及HV2div,其分別為HV1及HV2之層級移位之經分壓(亦即,低壓)版本。比較器2401在HV1大於HV2時在線COMPO上輸出高信號,且在HV1低於HV2時在線COMPO上輸出低信號。比較器2401在線COMPO上之輸出經提供至高電壓位準移位器2402及高電壓位準移位器2403。若比較器2401之輸出低,則高電壓位準移位器2402在線2402B上輸出低信號且高電壓位準移位器2403在線2403A上輸出低信號。若比較器2401之輸出高,則高電壓位準移位器2402在線2402A上輸出低信號且高電壓位準移位器2403在線2403B上輸出低信號。PMOS電晶體2404、2405、2406及2407如所示組構,亦即其閘極耦接至線2402A、2402B、2403A及2403B中之各別者。若高電壓位準移位器2402在線2402B上輸出低信號且高電壓位準移位器2403在線2403A上輸出低信號,則高電壓輸出2408將等效於HV2,跨越PMOS電晶體2406、2407之任何較小壓降。若高電壓位準移位器2402在線2402A上輸出低信號且高電壓位準移位器2403在線2403B上輸出低信號,則高電壓輸出2408將等效於HV1,跨越PMOS電晶體2404、2405之任何較小壓降。
圖25描繪高電壓產生區塊2500,其為高電壓產生區塊2412之另一具體例。此處,高電壓產生區塊2500包含藉由信號EN_CP啟用之電荷泵及調節器2501、高電壓增量參考產生器2503,及高電壓緩衝器運算放大器2502。電荷泵調節器2503之輸出之電壓可基於發送至高電壓增量參考產生器2503中之MOS電晶體之閘極的信號藉由微調由電荷泵2501輸出的饋送至高電壓運算放大器之輸入HVOPA的輸出電壓HVSUP之部分來控制。
圖26描繪高電壓產生器區塊2600,其為高電壓產生區塊2412之另一具體例。高電壓產生區塊2600接收輸入VIN(低壓信號)並產生輸出HV輸出(高電壓信號),且包含運算放大器2603、可變電阻器2601及可變電阻器2602,其中運算放大器2603之增益取決於可變電阻器2601及/或可變電阻器2602之值。高電壓增量值因此受可變電阻器2601及/或電阻器2602之值控制。
圖27A描繪斜降控制電路2700,其包含箝位PMOS電晶體2701、啟用NMOS電晶體2702及偏流NMOS電晶體2703,如所示而組構。斜降電路2700接收待在PMOS電晶體2701之源極處斜降之電壓HV並在PMOS電晶體2701之汲極處產生輸出信號VHV_DET,其將具有HV之峰值且將回應於饋送至啟用NMOS電晶體2702之閘極之信號ENRMP而朝向接地斜降,從而自低變高。當ENRMP等於高時,輸出信號VHV_DET將藉由受偏流NMOS電晶體2703控制之電流自HV值斜降至Vcas+Vt PH值。
圖27B展示另一斜降控制電路2750,其包含級聯NMOS電晶體2751、分流NMOS電晶體2753(提供斜變電流)、啟用NMOS電晶體2572、電流源2754及電容器2755。HV節點斜降速率受I/C(=I或參考電流源2754/電容器2755之電容)控制。
圖28描繪斜升電路2800,其包含級聯NMOS電晶體2801、啟用NMOS電晶體2802、電流分流NMOS電晶體2803、電流源2805及電容器2804,如所示而組構。斜升電路2800藉由分流通過NMOS電晶體2803之電流藉由I/C(=I參考電流源2805/電容器2804之電容)的比率來控制HV節點之斜變速率。HV節點上之斜變速率使得經由電容器2804注入之電流等於電流源2805。
圖29A、圖29B及圖29C描繪VMM高電壓解碼電路,其包含字線解碼器電路2901、源極線解碼器電路2904及高電壓位準移位器2908,適合於與圖2中所展示之類型之記憶體單元一起使用。
在圖29A中,字線解碼器電路2901包含PMOS選擇電晶體2902(受信號HVO_B控制)及NMOS取消選擇電晶體2903(受信號HVO_B控制),如所示而組構。HVSUP為諸如自電荷-泵及調節器供應之高電壓供應。WLSUP在啟用HVO_B時為字線WL提供電壓供應。
在圖29B中,源極線解碼器電路2904包含NMOS監測電晶體2905(受信號HVO控制)、驅動電晶體2906(受信號HVO控制),及取消選擇電晶體2907(受信號HVO_B控制),如所示而組構。當信號HVO較高時,線SLSUP上出現之電壓傳遞至線SL,並在監測線SL_MON上出現。當信號HVO_B較高時,下拉線SL。
在圖29C中,高電壓位準移位器2908接收啟用信號EN並輸出高電壓信號HVO及其在HVSUP (例如12 V)與HVSUP_LOW供應(例如0 V(當HVSUP例如等於中間位準約5 V時)或2.5 V(當HVSUP為例如12 V時))之間的補充HVO_B。舉例而言,HVO可為5 V且HVO_B可為0 V,或HVO可為12 V且HVO_B可為2.5 V。
圖30A至圖30D描繪VMM高電壓解碼電路,其包含抹除閘極解碼器電路3001、控制閘極解碼器電路3004、源極線解碼器電路3007及高電壓位準移位器3011,適合於與圖3中展示之類型之記憶體單元一起使用。
在圖30A及圖30B中,抹除閘極解碼器電路3001及控制閘極解碼器電路3004與圖29A中之字線解碼器電路2901使用相同設計。
在圖30C中,源極線解碼器電路3007與圖29中之源極線解碼器電路2904使用相同設計。
在圖30D中,高電壓位準移位器3011與圖29中之高電壓位準移位器2908使用相同設計。
圖31至圖34描述在程式化操作期間施加至一或多個非揮發性記憶體單元之控制閘極端子、源極線端子及抹除閘極端子之電壓之程式化序列。
圖31描繪程式化序列3100,其中控制閘極電壓CG在第一時段期間斜升,接著源極線電壓SL在第二時段期間斜升,且接著抹除閘極電壓EG在第三時段期間斜升。全部三個電壓在第四時段期間在其峰值處進入平台期,且接著斜變序列反轉,抹除閘極電壓EG在第五時段期間斜降,源極線電壓SL在第六時段期間斜降,且控制閘極電壓CG在第七時段期間斜降。程式化序列3100使抹除閘極干擾出現率最小化。
圖32描繪程式化序列3200,其中控制閘極電壓CG在第一時段期間斜升至中間值,接著源極線電壓SL在第二時段期間斜升至其峰值,且接著抹除閘極電壓EG在第三時段斜升至其峰值,且接著控制閘極電壓CG在第四時段期間斜升至其峰值。全部三個電壓在第五時段期間在其峰值處進入平台期,且接著控制閘極電壓CG在第六時段期間斜降至中間值,抹除閘極電壓EG在第七時段期間斜降,源極線電壓SL在第八時段期間斜降,且控制閘極電壓CG接著在第九時段期間斜降至接地。
圖33描繪程式化序列3300,其中控制閘極電壓CG首先在第一時段期間斜升至第一中間值,且接著源極線電壓SL在第二時段期間斜升至第二中間值。接著,在第三時段期間,控制閘極電壓CG斜升至第三中間值,同時源極線電壓SL斜升至其峰值電壓且抹除閘極電壓EG斜升至其峰值電壓。最後,在第四時段期間,控制閘極電壓CG斜升至其峰值電壓。接著,全部三個電壓在第五時段期間在其峰值處進入平台期。接著,在第六時段期間,控制閘極電壓CG斜降至第三中間值,接著在第七時段期間源極線電壓SL斜降至第二中間值,接著在第八時段期間控制閘極電壓CG斜降至第一中間值,接著在第九時段期間抹除閘極電壓EG斜降至接地,接著在第十時段期間源極線電壓SL斜降至接地,且接著在第十一時段期間控制閘極電壓CG斜降至接地。
圖34描繪程式化序列3400,其中源極線電壓SL在第一時段期間斜升至峰值,且接著在第二時段期間控制閘極線電壓CG斜升至其峰值,同時抹除閘極電壓EG斜升至其峰值。接著,在第三時段期間,全部三個電壓在其峰值處進入平台期。接著,控制閘極線電壓CG在第四時段期間斜降,同時抹除閘極電壓EG斜降,且接著在第五時段期間源極線電壓SL斜降。程式化序列3400使控制閘極干擾出現率最小化。
圖35描繪抹除序列3500,其中抑制控制閘極或抑制源極線(CG-inh或SL-inh,在操作期間適用於未選定單元)在第一時段期間斜升,且接著抹除閘極電壓EG在第二時段期間斜升。接著,所有電壓在第三時間段期間在其峰值處進入平台期。接著,抹除閘極電壓EG在第四時段期間斜降,且接著抑制控制閘極或抑制源極線(CG-inh或SL-inh)在第五時段期間斜降。舉例而言,此序列適合於適合於諸如圖12、圖14、圖16、圖19等雙向調整之陣列。
圖36A、圖36B及圖36C描繪高電壓解碼器3600,其利用圖30中之解碼子電路區塊3001(EG dec)、3004(CG dec)、3007(SL dec)。不同配置之子電路區塊如所示進行以最佳化不同組構及進行最佳化。
圖36A展示包含電路解碼器區塊3602之電路解碼器區塊3601。電路解碼器區塊3602包括提供一個EG解碼信號之EG dec、提供兩個CG解碼信號之CG dec及提供一個SL解碼信號之SL dec。
圖36B展示包含電路解碼器區塊3612之電路解碼器區塊3611。電路解碼器區塊3612包括提供一個EG解碼信號之EG dec、提供四個CG解碼信號之CG dec及提供一個SL解碼信號之SL dec。
圖36C展示包含電路解碼器區塊3622之電路解碼器區塊3621。電路解碼器區塊3622包括提供兩個EG解碼信號之EG dec、提供八個CG解碼信號之CG dec及提供一個SL解碼信號之SL dec。
圖37描繪高電壓鎖存電路3700。高電壓鎖存電路3700包含由PMOS電晶體3711及3712與NMOS電晶體3713及3714與啟用電晶體3715及3716形成的交叉耦接之高電壓電晶體反流器。啟用信號ENB 3706及EN 3705在VHVSUP 3701處於中間電壓(例如,約1.8至5 V)時為邏輯信號(例如,0 V/Vdd)且在VHVSUP 3701處於大於中間HV電壓(例如,>5 V)之電壓時且在VHVSUP_LOW 3702處於諸如1.8 V等中間位準時處於另一中間電壓(例如,信號EN 3705 = ENB 3706 = Vdd = 1.8 V)。產生輸出HVOUT 3704及互補信號HVOUTB 3703。
應注意,如本文中所使用,術語「在…上方」及「在…上」兩者包括「直接在…上」(其間未裝設有中間材料、元件或空間)及「間接地在…上」(其間裝設有中間材料、元件或空間)。同樣地,術語「相鄰」包括「直接相鄰」(其間未裝設有中間材料、元件或空間)及「間接相鄰」(其間裝設有中間材料、元件或空間),「安裝至」包括「直接安裝至」(其間未裝設有中間材料、元件或空間)及「間接安裝至」(其間裝設有中間材料、元件或空間),且「電耦接」包括「直接電耦接至」(其間無將元件電連接在一起的中間材料或元件)及「間接電耦接至」(其間具有將元件電連接在一起的中間材料或元件)。舉例而言,「在基板上方」形成元件可包括直接在基板上形成元件而其間無中間材料/元件,以及間接地在基板上形成元件而其間具有一或多種中間材料/元件。
12:半導體基板 14:源極區 16,16A,16B:汲極區 18:通道區 20:浮動閘極 20B:FGB 22:字線端子/選擇閘極 24:位元線端子 28:控制閘極(CG)端子 28B:CGB 30:抹除閘極 31:數位至類比轉換器 32,32a,32b,32c,32d,32e,2200:向量矩陣乘法(VMM)系統 33:VMM陣列/非揮發性記憶體單元陣列 34:抹除閘極及字線閘極解碼器 35:控制閘極解碼器 36:位元線解碼器 37:源極線解碼器 38:差分求和器 39:激發函數電路 210,310,510:記憶體單元 410:四閘極記憶體單元 610:三閘極記憶體單元 710:堆疊閘極記憶體單元 810:雙分離閘極記憶體單元 1200,1300,1400,1500,1600,1700,1800,1900,2201:VMM陣列 1201,1303,1403,1503,1603:記憶體陣列 1202,1301,1302,1401,1402,1501,1502,1601,1602:參考陣列 1203:控制閘極線 1204:抹除閘極線 1314,1512:二極體連接式貫穿多工器 1504:串疊電晶體 1505:多工器 1614:二極體連接式參考單元貫穿多工器 1701:分頁 1702,1802:抹除閘極啟用電晶體 1801,1901:字元 2000,2050:調整分頁/字元演算法 2001,2002,2003,2004,2005,2006,2015,2100x,2101,2102,2103,2151,2152,2153:步驟 2100:快速位元演算法 2150:緩慢位元演算法 2202:列解碼器 2203:高電壓解碼器 2204:行解碼器 2205:位元線驅動器 2206:輸入電路 2207:輸出電路 2208,2216:控制邏輯 2209:偏壓產生器 2210,2300,2500,2600:高電壓產生區塊 2211:電荷泵 2212:電荷泵調節器 2213:高電壓位準產生器 2214:演算法控制器 2215:類比電路系統 2217:測試控制邏輯 2301:閘極高電壓產生器 2302:抹除閘極高電壓產生器 2303:源極線高電壓產生器 2401:比較器 2402,2403,2908,3011:高電壓位準移位器 2402A,2402B,2403A,2403B:線 2404,2405,2406,2407,3711,3712:PMOS電晶體 2408:高電壓輸出 2501:電荷泵及調節器 2502:高電壓緩衝器運算放大器 2503:高電壓增量參考產生器 2601,2602:可變電阻器 2603:運算放大器 2700,2750:斜降控制電路 2701:箝位PMOS電晶體 2702,2572,2802:啟用NMOS電晶體 2703:偏流NMOS電晶體 2751,2801:級聯NMOS電晶體 2753:分流NMOS電晶體 2754,2805:電流源 2755,2804:電容器 2800:斜升電路 2803:電流分流NMOS電晶體 2901:字線解碼器電路 2902:PMOS選擇電晶體 2903:NMOS取消選擇電晶體 2904,3007:源極線解碼器電路 2905:NMOS監測電晶體 2906:驅動電晶體 2907:取消選擇電晶體 3001:抹除閘極解碼器電路/解碼子電路區塊 3004:控制閘極解碼器電路/解碼子電路區塊 3100,3200,3300,3400:程式化序列 3500:抹除序列 3600:高電壓解碼器 3601,3602,3611,3612,3621,3622:電路解碼器區塊 3700:高電壓鎖存電路 3701:VHVSUP 3702:VHVSUP_LOW 3703:互補信號HVOUTB 3704:輸出HVOUT 3705:信號EN 3706:啟用信號ENB 3713,3714:NMOS電晶體 3715,3716:啟用電晶體 BL,BL0,BL1,BL2,BL3,BLN,BLR0,BLR1,BLR2,BLR3,BLAR,BLAR2,BLAR3,BLBR0,BLBR1,BLBR2,BLBR3,BLm,BLn,BLk:位元線 CB1,CB2,CB3,CB4:突觸 CG,CG0,CG1,CG2,CG3:控制閘極 EG,EG0,EG1,EGR0,EGR1,EGW,EGm:抹除閘極 HV1:第一高電壓 HV2:第二高電壓 P1,P2:激發函數 S0:輸入層 S1,S2,C1,C2,C3:層 S3:輸出層 SL,SL0,SL1,SLRA0,SLRB0:源極線 WL,WL0,WL1,WL2,WL3,WLR0,WLR1,WLA0,WLA1,WLA2,WLA3,WLB0,WLB1,WLB2,WLB3:字線
圖1描繪先前技術人工神經網路。
圖2描繪先前技術分離閘極快閃記憶體單元。
圖3描繪另一先前技術分離閘極快閃記憶體單元。
圖4描繪另一先前技術分離閘極快閃記憶體單元。
圖5描繪另一先前技術分離閘極快閃記憶體單元。
圖6描繪另一先前技術分離閘極快閃記憶體單元。
圖7描繪先前技術堆疊閘極快閃記憶體單元。
圖8描繪先前技術雙分離閘極記憶體單元。
圖9描繪利用一或多個VMM陣列之例示性人工神經網路之不同層級。
圖10描繪包含VMM陣列及其他電路系統之VMM系統。
圖11描繪利用一或多個VMM系統之例示性人工神經網路。
圖12描繪VMM陣列之具體例。
圖13描繪VMM陣列之另一具體例。
圖14描繪VMM陣列之另一具體例。
圖15描繪VMM陣列之另一具體例。
圖16描繪VMM陣列之另一具體例。
圖17描繪具有分頁基礎上之抹除能力之VMM陣列的具體例。
圖18描繪具有字元基礎上之抹除能力之VMM陣列的具體例。
圖19描繪具有字元基礎上之抹除能力之VMM陣列的另一具體例。
圖20A及圖20B描繪分頁或字元基礎上之雙向調整演算法。
圖21A描繪快速位元演算法。
圖21B描繪緩慢位元演算法。
圖22描繪VMM系統。
圖23描繪高電壓產生區塊。
圖24描繪高電壓最大值電路。
圖25描繪另一高電壓產生區塊。
圖26描繪另一高電壓產生區塊。
圖27A及圖27B描繪斜降電路之具體例。
圖28描繪斜升電路。
圖29A至圖29C描繪高電壓解碼電路之具體例。
圖30A至圖30D描繪高電壓解碼電路之具體例。
圖31描繪程式化序列。
圖32描繪另一程式化序列。
圖33描繪另一程式化序列。
圖34描繪另一程式化序列。
圖35描繪抹除序列。
圖36A至圖36C描繪高電壓解碼電路之具體例。
圖37描繪高電壓鎖存電路。
C1:層
C2:層
C3:層
CB1:第一突觸
CB2:突觸
CB3:突觸
CB4:突觸
P1:激發函數
P2:激發函數
S0:輸入層
S1:層
S2:層
S3:輸出層

Claims (5)

  1. 一種對非揮發性記憶體單元之一字元或一分頁執行調整之方法,該方法包含:在非揮發性記憶體單元之該字元或分頁中識別任何快速位元;執行一第一程序以程式化及驗證非揮發性記憶體單元之該字元或分頁中之快速位元;以及執行一第二程序以程式化及驗證非揮發性記憶體單元之該字元或分頁中之其他所有位元;其中,該第一程序相較於該第二程序對於施加程式化電壓利用較小的定時持續時間。
  2. 如請求項1之方法,其中,該識別步驟包含監測該字元或分頁中每一單元之程式化速率。
  3. 如請求項1之方法,其中,該識別步驟包含在該字元或分頁中每一單元之程式化期間監測隨時間推移之電流改變。
  4. 如請求項1之方法,其進一步包含抹除非揮發性記憶體單元之該字元或分頁。
  5. 如請求項1之方法,其進一步包含對非揮發性記憶體單元之該字元或分頁執行軟程式化。
TW110108871A 2020-03-22 2021-03-12 人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整 TWI834955B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202062993008P 2020-03-22 2020-03-22
US62/993,008 2020-03-22
US17/024,410 US11532354B2 (en) 2020-03-22 2020-09-17 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
US17/024,410 2020-09-17
PCT/US2020/052068 WO2021194547A1 (en) 2020-03-22 2020-09-22 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
WOPCT/US20/52068 2020-09-22

Publications (2)

Publication Number Publication Date
TW202141502A TW202141502A (zh) 2021-11-01
TWI834955B true TWI834955B (zh) 2024-03-11

Family

ID=77748196

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110108871A TWI834955B (zh) 2020-03-22 2021-03-12 人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整

Country Status (7)

Country Link
US (3) US11532354B2 (zh)
EP (1) EP4128239A1 (zh)
JP (1) JP2023518469A (zh)
KR (1) KR20220141855A (zh)
CN (1) CN115298738A (zh)
TW (1) TWI834955B (zh)
WO (1) WO2021194547A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755899B2 (en) * 2019-11-11 2023-09-12 Silicon Storage Technology, Inc. Precise programming method and apparatus for analog neural memory in an artificial neural network
KR102582419B1 (ko) * 2021-08-04 2023-09-26 한국과학기술원 인 메모리 컴퓨팅을 통해 컨벌루션 뉴럴 네트워크 연산을 수행하는 방법
CN114597232B (zh) * 2022-05-10 2022-07-19 华中科技大学 一种实现负权重的矩阵乘和运算的crossbar器件制备方法
US20240112729A1 (en) * 2022-09-22 2024-04-04 Silicon Storage Technology, Inc. Multiple Row Programming Operation In Artificial Neural Network Array

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658329A (zh) * 2004-02-19 2005-08-24 恩益禧电子股份有限公司 非易失半导体存储设备以及在其中编程的方法
TW200733114A (en) * 2005-10-27 2007-09-01 Sandisk Corp Method for programming of multi-state non-volatile memory using smart verify
TWI306607B (en) * 2005-04-05 2009-02-21 Sandisk Corp Faster programming of higher level states in multi-level cell flash memory
TW201027548A (en) * 2008-10-10 2010-07-16 Sandisk Corp Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
TW201133492A (en) * 2009-12-15 2011-10-01 Sandisk Corp Programming non-volatile storage with fast bit detection and verify skip
TW201230045A (en) * 2011-01-06 2012-07-16 Macronix Int Co Ltd Method for increasing program speed and control read windows for multi-level cell non-volatile memory
TW201333957A (zh) * 2011-11-09 2013-08-16 Sandisk Technologies Inc 用於非揮發性儲存器之不穩定程式化偵測
TW201933361A (zh) * 2017-11-29 2019-08-16 美商超捷公司 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029130A (en) 1990-01-22 1991-07-02 Silicon Storage Technology, Inc. Single transistor non-valatile electrically alterable semiconductor memory device
US6160739A (en) * 1999-04-16 2000-12-12 Sandisk Corporation Non-volatile memories with improved endurance and extended lifetime
US6643185B1 (en) 2002-08-07 2003-11-04 Advanced Micro Devices, Inc. Method for repairing over-erasure of fast bits on floating gate memory devices
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
JP2013143155A (ja) 2012-01-06 2013-07-22 Powerchip Technology Corp 不揮発性半導体記憶装置とその書き込み方法
US9430735B1 (en) * 2012-02-23 2016-08-30 Micron Technology, Inc. Neural network in a memory device
KR102083271B1 (ko) 2012-07-31 2020-03-02 삼성전자주식회사 플래시 메모리의 물리적 특성을 이용하여 난수를 생성하는 플래시 메모리 시스템 및 그것의 난수 생성 방법
KR102012903B1 (ko) * 2012-10-30 2019-08-21 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 프로그램 방법
US9361995B1 (en) 2015-01-21 2016-06-07 Silicon Storage Technology, Inc. Flash memory system using complementary voltage supplies
US11055606B2 (en) * 2016-03-21 2021-07-06 HangZhou HaiCun Information Technology Co., Ltd. Vertically integrated neuro-processor
WO2017200883A1 (en) * 2016-05-17 2017-11-23 Silicon Storage Technology, Inc. Deep learning neural network classifier using non-volatile memory array
US9953719B2 (en) 2016-05-18 2018-04-24 Silicon Storage Technology, Inc. Flash memory cell and associated decoders
US10026486B1 (en) * 2017-03-06 2018-07-17 Sandisk Technologies Llc First read countermeasures in memory
US10699779B2 (en) * 2017-11-29 2020-06-30 Silicon Storage Technology, Inc. Neural network classifier using array of two-gate non-volatile memory cells
US11361215B2 (en) * 2017-11-29 2022-06-14 Anaflash Inc. Neural network circuits having non-volatile synapse arrays
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
US10559353B2 (en) * 2018-06-06 2020-02-11 Micron Technology, Inc. Weight storage using memory device
US20230022531A1 (en) 2018-11-18 2023-01-26 NEO Semiconductor, Inc. Methods and apparatus for nand flash memory
KR20210003351A (ko) * 2019-07-01 2021-01-12 삼성전자주식회사 불휘발성 메모리 장치 및 이의 동작 방법
US20210193671A1 (en) * 2019-12-20 2021-06-24 Silicon Storage Technology, Inc. Method Of Forming A Device With Split Gate Non-volatile Memory Cells, HV Devices Having Planar Channel Regions And FINFET Logic Devices
US11636322B2 (en) * 2020-01-03 2023-04-25 Silicon Storage Technology, Inc. Precise data tuning method and apparatus for analog neural memory in an artificial neural network
US11393535B2 (en) 2020-02-26 2022-07-19 Silicon Storage Technology, Inc. Ultra-precise tuning of analog neural memory cells in a deep learning artificial neural network
US11600321B2 (en) * 2020-03-05 2023-03-07 Silicon Storage Technology, Inc. Analog neural memory array storing synapsis weights in differential cell pairs in artificial neural network

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1658329A (zh) * 2004-02-19 2005-08-24 恩益禧电子股份有限公司 非易失半导体存储设备以及在其中编程的方法
TWI306607B (en) * 2005-04-05 2009-02-21 Sandisk Corp Faster programming of higher level states in multi-level cell flash memory
TW200733114A (en) * 2005-10-27 2007-09-01 Sandisk Corp Method for programming of multi-state non-volatile memory using smart verify
TW201027548A (en) * 2008-10-10 2010-07-16 Sandisk Corp Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
TW201133492A (en) * 2009-12-15 2011-10-01 Sandisk Corp Programming non-volatile storage with fast bit detection and verify skip
TW201230045A (en) * 2011-01-06 2012-07-16 Macronix Int Co Ltd Method for increasing program speed and control read windows for multi-level cell non-volatile memory
TW201333957A (zh) * 2011-11-09 2013-08-16 Sandisk Technologies Inc 用於非揮發性儲存器之不穩定程式化偵測
TW201933361A (zh) * 2017-11-29 2019-08-16 美商超捷公司 用於人工類神經網路中之類比神經形態記憶體之高精確度及高效率調諧機制及演算法

Also Published As

Publication number Publication date
US20210295907A1 (en) 2021-09-23
US11798619B2 (en) 2023-10-24
US20220336010A1 (en) 2022-10-20
US11915747B2 (en) 2024-02-27
US11532354B2 (en) 2022-12-20
CN115298738A (zh) 2022-11-04
WO2021194547A1 (en) 2021-09-30
EP4128239A1 (en) 2023-02-08
TW202141502A (zh) 2021-11-01
US20220336011A1 (en) 2022-10-20
JP2023518469A (ja) 2023-05-01
KR20220141855A (ko) 2022-10-20

Similar Documents

Publication Publication Date Title
TWI821047B (zh) 用於在深度學習人工類神經網路中的類比類神經記憶體之高電壓產生之方法及設備
TWI834955B (zh) 人工神經網路中類比神經記憶體陣列之非揮發性記憶體單元及相關高電壓電路之分頁或字元的精確調整
EP3963512B1 (en) Decoding system and physical layout for analog neural memory in deep learning artificial neural network
TWI790551B (zh) 人工神經網路中於差異單元對中儲存有突觸權重的類比神經記憶體陣列
US20230119017A1 (en) Adjustable programming circuit for neural network
TWI784642B (zh) 類比神經記憶體中之同時寫入及驗證操作
TW202147322A (zh) 深度學習人工神經網路中類比神經記憶體之字線和控制閘極線串聯解碼器
CN115968495A (zh) 用于人工神经网络中的模拟神经存储器阵列的自适应偏置解码器
CN115516565A (zh) 人工神经网络中的具有源极线拉低机构的模拟神经存储器阵列
US11989440B2 (en) Hybrid memory system configurable to store neural memory weight data in analog form or digital form
US20230325646A1 (en) Artificial neural network comprising reference array for i-v slope configuration
US20240112729A1 (en) Multiple Row Programming Operation In Artificial Neural Network Array
US20230229903A1 (en) Split array architecture for analog neural memory in a deep learning artificial neural network
US20230325650A1 (en) Vector-by-matrix-multiplication array utilizing analog outputs
WO2023195999A1 (en) Artificial neural network comprising reference array for i-v slope configuration
EP4341934A1 (en) Split array architecture for analog neural memory in a deep learning artificial neural network
WO2023146567A1 (en) Artificial neural network comprising an analog array and a digital array