TW202205295A - 用於類比矩陣操作的唯讀記憶體架構 - Google Patents

用於類比矩陣操作的唯讀記憶體架構 Download PDF

Info

Publication number
TW202205295A
TW202205295A TW110127273A TW110127273A TW202205295A TW 202205295 A TW202205295 A TW 202205295A TW 110127273 A TW110127273 A TW 110127273A TW 110127273 A TW110127273 A TW 110127273A TW 202205295 A TW202205295 A TW 202205295A
Authority
TW
Taiwan
Prior art keywords
unit
rom
input
voltage
bit line
Prior art date
Application number
TW110127273A
Other languages
English (en)
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 TW202205295A publication Critical patent/TW202205295A/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4085Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4094Bit-line management or control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • 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
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • G11C5/05Supporting of cores in matrix
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/41Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming static cells with positive feedback, i.e. cells not needing refreshing or charge regeneration, e.g. bistable multivibrator or Schmitt trigger
    • G11C11/413Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
    • G11C11/417Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
    • G11C11/419Read-write [R-W] circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/16Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Neurology (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Image Analysis (AREA)
  • Complex Calculations (AREA)
  • Semiconductor Memories (AREA)

Abstract

一種用於一神經網路之矩陣操作中之唯讀記憶體(ROM)運算單元包含:一單位元件,其包括一或多個連接件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。

Description

用於類比矩陣操作的唯讀記憶體架構
本發明係關於具有人工智慧能力的電腦系統,其包括神經網路。
當前機器學習且尤其神經網路(neural network;NN)模型可包括多個層之組合,其中每一層中有不同數目個權重。每一層可對涉及經儲存權重以及至每一層之輸入的多個乘加(multiply-accumulate;MAC)運算進行運算。雖然NN在分類任務中已經極成功(推斷),但隨著任務難度增加,可能需要具有較多層且每一層有較多權重之較大網路。隨著神經網路大小增加,用於權重之所需記憶體以及實施網路所需的運算能力亦增加。在典型的數位硬體實施中,大量權重無法全儲存於同一特殊應用積體電路(application-specific integrated circuit;ASIC)上,該特殊應用積體電路執行MAC運算,且需要運用晶片外記憶體之有效資料傳送。由多個乘加步驟組成之MAC運算以及資料傳送兩者就時間及能量而言係成本高的。替代地,可使用記憶體內運算及混合信號操作以便增加效能及效率。可在高密度記憶體內部執行類比運算(乘法及加法),該高密度記憶體充當(例如,在處理器、控制器、微處理器等中之)MAC運算單元。權重經儲存,且運算在同一位置處進行,從而縮減資料傳送所需之量。可針對輸入及權重之較大集合同時執行整個MAC運算,從而分攤關於數位處理器中之順序運算的成本。
根據一個實施例,一種用於一神經網路之矩陣操作中之唯讀記憶體(ROM)運算單元包含:一單位元件,其包括一或多個連接件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
根據一第二實施例,一種用於一神經網路之矩陣操作中的混合記憶體運算單元包括:一第一層,其包括隨機存取記憶體(RAM),該隨機存取記憶體包括一RAM運算單元,其中該RAM運算單元被配置以儲存可再程式化任務參數;一第二層,其包括唯讀記憶體(ROM),該唯讀記憶體包括一單位元件,該單位元件包括一或多個連接件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
根據一第三實施例,一種用於一神經網路之矩陣操作中之唯讀記憶體(ROM)運算單元包括:複數個層級,其形成一三維(3D)結構,該三維結構含有包括一或多個連接件之至少一單位元件,其中與該運算單元相關聯之一權重係回應於在單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
本文中描述本發明之實施例。然而,應理解,經揭示實施例僅僅為實例且其他實施例可採取各種及替代形式。圖未必按比例繪製;一些特徵可經放大或最小化以展示特定組件之細節。因此,本文中所揭示之特定結構及功能細節不應解釋為限制性,而僅為用於教示所屬技術領域中具通常知識者各自不同地使用實施例的一個代表性基礎。如所屬技術領域中具通常知識者將理解,參考圖中之任一者所說明且描述之各種特徵可與一或多個其他圖中所說明之特徵組合以產生未明確地說明或描述之實施例。所說明特徵之組合為典型應用提供代表性實施例。然而,對於特定應用或實施,可能需要根據本發明之教示之特徵的各種組合及修改。
用於機器學習(machine learning;ML)且尤其用於神經網路(NN)運算之專用處理器最近取得了進展。此類演算法需要輸入資料值與經儲存權重之間的一連串矩陣向量乘法,其典型地基於隨機梯度下降使用學習演算法來訓練。專用處理器經設計以有效地對乘加(MAC)運算(點積)進行運算,該乘加運算形成大部分NN演算法之基礎。MAC運算將值之向量或張量作為輸入(亦被稱作啟動)。輸入與權重值之向量或張量逐元素地相乘。MAC運算之輸出係乘積之向量之求和。每一MAC運算係類似於NN中之神經元,且網路中之每一層需要多個MAC之運算。其他功能,諸如批次正規化或池化,可由定製處理器支援,但基本上不像MAC一樣需要這些運算。亦可需要定製神經網路處理器以促進輸入資料及權重之處置,包括以高效方式儲存及傳送至對MAC運算進行運算之區塊。
用於機器學習之定製數位處理器變得較常見。定製數位處理器中之大部分均遵循類似GPU之架構,其包括大量平行處理的元件。這些處理元件對乘法及部分求和進行運算,該些乘法及求和依序相加以便對整個MAC運算進行運算。這些定製數位處理器存在多個實施,其以各自具有其自身優點的多種方式處置輸入啟動、權重及部分求和之分佈及重新使用。典型地,較大數目的權重值(可能數百萬個)需要在記憶體與處理單元之間傳送,此會帶來顯著開銷。
基於記憶體內運算(IMC)之原理的處理器可使用記憶體技術之物理屬性以在記憶體單元內而非在單獨的運算單元內直接執行運算。IMC架構之一個優點係將權重值儲存在進行運算之相同位置中,從而不需要在非本端記憶體中連續地提取及儲存權重值。可將權重重新用於多個MAC運算且無需任一額外資料傳送。另一優點係可在單次運算中對用於所有輸入及權重之整個MAC運算同時進行運算,例如,運算複雜性係恆定的(O(1)),此不同於涉及如上文所描述之數位實施所需的部分求和之順序運算。
圖1說明DEQ網路之表示。DEQ網路可實施如2020年6月8日提交的名為「用於多刻度深度均衡模型之系統及方法(SYSTEM AND METHOD FOR MULTISCALE DEEP EQUILIBRIUM)」之申請案第16/895,683號中所描述的功能、網路及訓練,該申請案特此以全文引用之方式併入。DEQ可具有單層。圖1之DEQ模型及網路中利用兩個重要方程式。第一方程式,方程式1(在下文展示),該方程式可界定單層DEQ模型。其可由該模型/網路
Figure 02_image001
之非線性函數
Figure 02_image003
組成。至網路之輸入可經界定為
Figure 02_image005
且輸入偏差可經界定為
Figure 02_image007
。應注意,雖然方程式1為一般表示,但其可能不表示DEQ網路之所有可能的實施例。舉例而言,線性算子
Figure 02_image009
不僅可指矩陣乘法,且亦可指深度網路中常見的卷積或其他結構化線性算子。且隱藏單元或隱藏狀態
Figure 02_image001
不僅可表示多於恰好典型的「單個」隱藏單元,且亦可表示例如多個不同時間或空間尺度上的多個隱藏單元之級聯。方程式2描述隱式的非線性微分方程式,其根
Figure 02_image011
係未知的且需要對該些根進行求解以評估DEQ網路。為了對根進行求解,可針對
Figure 02_image011
對成本函數(方程式3)反覆地進行求解。當對方程式3反覆地進行求解時,網路經設定為初始狀態,
Figure 02_image013
。該反覆接著繼續計算成本函數(
Figure 02_image015
)之下一個值,該成本函數在下文被稱作方程式3。當成本函數小於預定義公差ε(如方程式4中所展示)時,可認為求根已完成(根被求解)。當在k次反覆之後符合此條件時,假設
Figure 02_image017
,方程式4。應注意,在根求解期間,輸入
Figure 02_image005
Figure 02_image007
被視為恆定的,且使用此反覆製程實施用於DEQ網路之訓練及推斷兩者。
1 DEQ 模型之方程式
方程式 #
  
Figure 02_image019
  
1
  
Figure 02_image021
  
2
  
Figure 02_image023
  
   3
  
Figure 02_image025
 
Figure 02_image027
  
4
根據以上方程式1及方程式2,可產生描述方程式2之計算的信號流圖,如圖2中所展示。該信號流圖可經表示為具有非線性函數𝜎之基於矩陣之運算。此可藉由將進一步論述之電子運算結構來實施。
在下文提供用於圖2中之變數的定義:
2 :變數定義
變數 描述
Figure 02_image029
模型輸入。其可為純量、向量或全張量
Figure 02_image031
DEQ模型之當前狀態。其可為純量、向量或全張量
Figure 02_image033
DEQ模型之均衡狀態。其可為純量、向量或全張量
Figure 02_image035
DEQ模型之權重。其可為純量、向量或全張量
算子「∙」
Figure 02_image037
Figure 02_image039
:「∙」可為變數
Figure 02_image041
Figure 02_image029
Figure 02_image043
、z之間的任一線性運算,例如純量運算、簡單矩陣乘法或卷積。
Figure 02_image045
DEQ輸入偏差。其可為純量、向量或全張量。
Figure 02_image047
求和
Figure 02_image049
非線性函數,其對純量、向量或張量輸入進行運算。其輸出可為純量、向量或張量
y DEQ模型之輸出。其可為純量、向量或全張量。其為DEQ網路狀態之任意函數。
Figure 02_image051
DEQ狀態之任一函數。其輸入可為純量、向量或張量。其輸出可為純量、向量或張量
如圖2中所展示,DEQ網路可由多個乘法及求和表示,諸如輸入、偏差及輸出狀態之卷積。此常常可被稱作點積或乘加(multiply and accumulate;MAC)運算。因而,可用於實施標準卷積神經網路之電路可經修改以實施DEQ網路。主要修改為實現運算之方式。在標準神經網路中,運算不接收當前輸出狀態對網路之輸入的連續時間回饋。典型地,若發生回饋,則其會延遲發生,亦即,其為先前運算之結果。
根之類比運算:穩定至均衡條件,而非反覆:
圖3說明具有非線性放大器309之簡單的反相電路300之實施例。非線性放大器309可具有延遲,諸如單極放大器。該電路可具有第一電阻器305及第二電阻器307。第一電阻器305可隨時間推移接收輸入301。DEQ方法之一個態樣為用於DEQ中之推斷及訓練的求根可類似於穩定至均衡之實體系統(電、機械、流體等)。DEQ模型中之有效地推斷及訓練可使用穩定至均衡點311之實體系統來實施(求根A)。作為一實例,吾人可將簡單的反相放大器視為經展示為電路300中之放大器309的反相放大器。此類比電路可具有非線性的增益301,σ,其具有小信號增益
Figure 02_image053
及單極(簡單延遲
Figure 02_image055
),圖3a。在此狀況下,吾人可展示此電路實施函數,類似於方程式1之方程式5(在以下表中展示)。對於此實例,可隨時間推移對方程式5之根進行求解,例如,如在方程式6、7及8中。可在方程式6、7及8中展示類比計算將漸近地(以指數方式)接近或穩定至均衡狀態
Figure 02_image057
。用於此電路之指數穩定的時間常數係由方程式8界定。應注意,由於放大器之有限增益及指數穩定,因此可能從未到達理想的均衡狀態
Figure 02_image059
以下方程式可表示圖3的反相電路300:
Figure 02_image061
Figure 02_image063
用於簡單的反相電路之實例之輸出的近似解(根):
Figure 02_image065
Figure 02_image067
具有非線性放大器309之簡單的反相電路300可具有延遲310(例如,單極放大器)。此類比回饋電路300可為用於類比DEQ網路之基本構建區塊之實例實施。在以下表中在表3中展示表示簡單的反相電路之方程式及用於簡單的反相電路之輸出之近似解(根):
3 :用於簡單的反相電路之方程式
方程式 #
Figure 02_image069
  
5
  
Figure 02_image071
  
6
  
Figure 02_image073
  
7
  
Figure 02_image075
  
8
以上實例說明可使用連續時間類比電路來實施DEQ網路以對DEQ網路之根進行運算。應注意,DEQ網路之根為網路之最終狀態z(t)。其亦說明有限放大器增益
Figure 02_image053
及有限頻寬
Figure 02_image077
如何可產生最終均衡狀態或根
Figure 02_image011
之誤差。對於使用類比運算之DEQ網路,其準確度及或
Figure 02_image011
之誤差取決於允許電路穩定之時間或在讀出其輸出之前允許多少時間常數
Figure 02_image079
經過,如方程式9中所展示。此可類似於數位運算中之反覆根求解方法,其中對解進行運算所需之反覆或時間之數目取決於所需準確度或最終誤差公差
Figure 02_image081
。然而,對於類比電路系統,最終狀態之誤差之量亦取決於藉由放大器增益設定之有限增益誤差,方程式9。根據方程式9、10,吾人可對關於放大器增益及頻寬之要求進行運算以得到所要準確度。舉例而言,99.9%或0.1%的誤差需要約9.9位元的準確度。此可需要長於七個時間常數之潛時,
Figure 02_image083
,及大於1000之放大器增益。因此,在放大器及用於實施DEQ網路之網路之設計中必須考慮類比或經混合信號DEQ網路之所要準確度及潛時。
4 :用於放大器增益及頻寬之方程式
方程式 #
  
Figure 02_image085
  
9
  
Figure 02_image087
  
10
一般而言,類比方法可能不遞送與數位實施相稱之運算準確度。然而,對於可使用較低準確度實施之應用或較低SNR應用,當進行類比處理時,在整個系統功率方面,可存在優點。由此,使用DEQ網路之類比運算可針對嵌入式應用實現極低能量機器學習,對於該些嵌入式應用,這些DEQ網路之能量可根據本申請案之所要潛時/速度而定製。
在先前章節中,吾人描述如何可使用連續時間類比運算來實施DEQ模型。此係基於知曉DEQ網路可使用方程式1來模型化且其可使用圖2中所展示之信號流圖來模型化200。此圖及其其他延伸部分在下文形成所有發明之基礎。
經混合信號電路架構之許多實施例可用於基於圖2中之信號流圖來實施DEQ模型/網路。
圖4說明基於反相放大器409a、409b、409c之多輸入多狀態DEQ模型400之實例。因此,DEQ模型可基於反相放大器及電阻網路兩者。在此類實例中,可存在三個輸入401a、401b、401c(
Figure 02_image089
Figure 02_image091
)、三個狀態403a、403b、403c(
Figure 02_image093
Figure 02_image095
),及輸出450,y。輸出層420b可利用電阻器1/O1 、1/O2 及1/O3 ,以應用輸入之權重且指導作為輸出450之啟動函數。隱藏狀態(z)可為放大器409a、409b、409c之輸出。這些放大器中之第一放大器可為反相放大器例如自圖3至多輸入及多輸出DEQ網路(圖4)之擴展。此實例可在DEQ網路狀態
Figure 02_image097
方面實施全連接網路,例如對每一輸入之所有狀態回饋。為了完整起見,提供用於DEQ模型均衡狀態(方程式11、12)及輸出(方程式13)之方程式。在此類實例中,為簡單起見,可假設放大器之增益420a、420b為無限的。在以下表中提供方程式:
5
方程式 #
  
Figure 02_image099
  
11
  
Figure 02_image101
  
12
  
Figure 02_image103
  
13
應注意,在一般狀況下,除了全連接架構之外,可使用其他類型的連接。另外,網路400之電阻器可用諸如憶阻器或電容器之其他電組件或組件之組合來替換。最終,其他放大器組態,諸如非反相放大器或開關電容器放大器亦可用於實施與此類似之DEQ網路。
圖5說明使用運算結構503實施之DEQ網路500。輸出層511可為或可並非運算結構503之部分。在此實例中,來自方程式1之隱式矩陣乘法(點積、卷積)可實施於結構503中。非線性的函數σ(∙)可在運算結構內部或外部實施。運算結構503回應於接收可為數位或類比之輸入501及偏差502而在類比領域中執行DEQ均衡狀態之連續時間計算。運算結構503陣列通常為使用諸如電阻器、電容器、電晶體或這些裝置之組合的組件實施的阻抗陣列。一些運算結構503亦可使用諸如SRAM或DRAM之揮發性記憶體技術或諸如快閃記憶體、RRAM、MRAM、PCM等之非揮發性記憶體(nonvolatile memory;NVM)技術來實施。當使用這些記憶體技術中之任一者時,運算結構可被稱作記憶體內運算結構或IMC結構。DEQ網路之輸出層511(圖5)可使用數位、類比運算或其一組合(經混合信號)來實施。在一些狀況下,在用於計算均衡狀態
Figure 02_image011
之相同運算結構中實施輸出層511可為最佳的。應注意,均衡狀態為DEQ網路之根,且通常為網路之最終狀態z=z*。輸入xb 可為在運算結構內部轉換為類比的數位信號。或該些輸入可為類比的。通常,DEQ網路之根509(z)將作為類比信號經回饋至運算結構503中。然而,可存在其中狀態509作為數位信號或基於時間之信號回饋之替代性實施例。至輸出層之輸入以及輸出,
Figure 02_image105
及函數
Figure 02_image107
,可使用數位、類比或經混合信號電路系統來實施。
圖6說明運算結構600之實例。運算結構600僅僅為可用於各種實施例中之運算結構之示例。方程式可表示藉由結構600執行之運算。圖6為運算結構之實例。元素611,
Figure 02_image109
,可使用諸如電阻器(RRAM,PCM)、電容器、電晶體或這些裝置之組合的不同組件來實施。這些元素可用於執行列603上之輸入信號與藉由元素611(
Figure 02_image109
)之值判定的權重之點積或卷積。此類比求和係基於基本的電現象,諸如電流累加(柯爾科夫電流定律(Kirkoff's current law))、電荷守恆(電荷累加、再分配)、歐姆定律等。這些基本現象可本質上實現電荷、電流及電壓之領域中的類比計算或求和及乘法。列驅動器612可取決於用於運算結構600中之裝置的類型來執行不同功能。在一些狀況下,該些列驅動器可為完全數位或類比的。換言之,其執行數位至類比轉換。可在列驅動器612處接收輸入601。通常,電荷、電流、電壓之求和典型地發生在行607上。感測放大器(或「amp」)609可用作用於求和之第一放大級,且可具有取決於網路之類型的不同功能。舉例而言,對於DEQ網路,感測放大器可實施非線性函數σ(∙),其可採用諸如經整流線性單元(reLU)之雙曲正切或其他熟知的非線性啟動函數的形式。
圖7為可用於實施DEQ網路之運算結構之實施例的一個實施例之圖示。在此實例中,輸入偏差,b =
Figure 02_image111
,使用感測放大器來相加。可存在用於使用類比運算結構實施DEQ之與圖7相關聯的若干變化。舉例而言,對於多個行或所有行,可存在一個感測放大器709,或在感測放大器上。每一列703可存在一個列驅動器702,或多個或所有列703可存在一個列驅動器702。在另一實施例中,感測放大器709可實施任一非線性函數。另外,感測放大器709可用於添加偏差b 。一般而言,若需要結構輸出之數位化,則感測放大器709亦可用類比至數位轉換器替換或為類比至數位轉換器之部分,或亦可用輸出層711替換或為輸出層之部分。感測放大器709可用於實現較準確求和—其可包括電荷或電流累加。在實施例之又一變體中,列驅動器702可將類比、數位信號驅動至列703上。列驅動器702亦可驅動基於時間之信號(脈衝、脈寬調變(pulse-width-modulation;PWM)信號等)。結構元件713,
Figure 02_image109
,可為實現運算(乘法、求和)之任一元件。由此,結構元件可為電阻器、電容器、電晶體等。任一組合可用以對用於電腦結構中之方程式進行求解。
相比於圖7中所展示之實施例,圖8展示如何可使用運算結構800來利用偏差820,b,而非藉由感測放大器809來添加。在圖8之此實例中,輸入偏差,b =
Figure 02_image111
,係使用電腦結構來添加。亦可藉由其他方式來添加偏差820。若需要結構輸出之數位化,則感測放大器809亦可用類比至數位轉換器替換或為類比至數位轉換器之部分,或亦可用輸出層811替換或為輸出層之部分。感測放大器809可為非線性函數,其對純量、向量或張量輸入進行運算。輸出亦可為純量、向量或張量。
圖9說明展示輸出層911運算可併入至運算結構中之一種方式的替代性實施例。輸出層911亦可由不同於感測放大器909之感測放大器910組成。輸入901可經饋送至列驅動器902中。輸出層911可包括感測放大器910。另一感測放大器909可用以將各種狀態輸出回至列驅動器902,直至滿足收斂為止。DEQ模型之最終輸出可由感測放大器910輸出。
本發明亦可考慮DEQ網路,且依賴於當前及先前網路根及輸入。已經展示DEQ模型/網路之較早的實例,其中輸出狀態,
Figure 02_image001
,係隨輸入,
Figure 02_image005
,及連續時間之狀態的回饋而變化,且無延遲。然而,存在其中DEQ網路狀態可為先前(延遲的)輸入及根之函數的狀況。依賴於先前狀態及輸入之連續時間DEQ網路可通常由方程式14及15描述。
6 - 連續時間 DEQ 網路:
方程式 #
  
Figure 02_image113
  
14
  
Figure 02_image115
  
15
在以上方程式中,輸入及狀態兩者均藉由連續時間延遲
Figure 02_image117
來延遲。方程式15中展示用於實施DEQ網路之一個可能函數。
圖10為實施方程式14及15之網路之實例。圖2說明依賴於先前狀態及輸入之DEQ網路1000之實施例。可用方程式16及17來描述離散時間DEQ模型。在此狀況下,DEQ網路1000為在較早時間
Figure 02_image119
出現之先前狀態及輸入之函數。典型地,在這些系統中,
Figure 02_image121
1109被認為等效於
Figure 02_image123
。DEQ輸出狀態之隨後計算之間的時間為
Figure 02_image125
Figure 02_image127
可藉由系統時鐘(亦即
Figure 02_image129
)設定。或該系統可為自定時的或可為異步的。在此狀況下,隨後計算之間的時間係僅依賴於硬體可計算下一個狀態之速度。隨時間推移之輸入1001可以與時間1005相關的的延遲來饋送。偏差1002亦可經輸入至電腦結構1003。運算結構1003可以另一時間延遲1007再饋送狀態1009。電腦結構1003可將最終狀態1009輸出至輸出層1011。輸入1001、偏差1002及輸出1003可為純量、向量或全張量。其亦可為DEQ網路狀態之任意函數。
7 - 離散時間 DEQ 網路:
方程式 #
  
Figure 02_image131
  
16
  
Figure 02_image133
  
17
圖11說明離散時間DEQ網路1100之圖。在此實例中,網路1100利用運算結構1103。
圖11說明藉由以上展示之方程式16及17描述的DEQ網路之一般實例。網路1100可接收輸入1101,其中多個先前輸入在待發送至電腦結構1103之輸入處由延遲1105提供。經取樣狀態1109可發送至輸出層1111。當前狀態1109亦可以藉由延遲1107提供之先前狀態經回饋至運算結構1103。輸出層1111可輸出最終輸出y ( n ) 1113,包括隨時間推移之DEQ模型的DEQ模型之函數。輸出1113可為純量、向量或全張量。其亦可為DEQ網路狀態之任意函數。
圖12為DEQ之信號流程圖。其可為離散時間實施。圖13中展示用於DEQ離散時間系統之波形。在一個實例中,圖12中展示基於離散時間之DEQ網路。在此狀況下,有時
Figure 02_image135
對DEQ網路之輸入及狀態進行取樣。取樣保持1203、1207之輸出可具有延遲。第二取樣保持1207將輸出DEQ狀態之函數。該輸入可為純量、向量或張量,以及輸出係相同的。輸出1211可為DEQ模型,或純量、向量或張量。
圖3說明用於DEQ離散時間系統之波形的實例。對於此實例,取樣保持可為理想的且具有零延遲。圖13亦說明描述用於DEQ網路之輸入及輸出的時間順序之波形。此為有趣的實例,此係因為運算結構在運算(圖13)期間以連續時間對保持恆定的離散時間輸入x(n)、z(n)及b(n)進行運算。輸出狀態,z(t),以連續時間穩定至均衡狀態,
Figure 02_image137
。應注意,均衡狀態,
Figure 02_image139
,可經取樣且接著用於輸出層中之運算。
圖14說明用於具有額外的延遲輸入及回饋之DEQ離散時間實施的信號流程圖。取樣保持電路1403可隨時間推移擷取輸入1401。時間延遲輸入1404(例如,作為一實例,經展示為一個時鐘週期,但可為任何類型之遲延週期)可經饋送至求和區塊1405中,該求和區塊可為運算結構。求和區塊1405可基於各種輸入及狀態實施非線性函數。求和區塊1405可考慮一或多個時鐘週期之根之延遲,如圖14中所展示。求和區塊1405可將根輸出至第二取樣保持電路1407。取樣保持電路1407可將DEQ模型之狀態輸出至函數1409。最終,DEQ模型之輸出1411可作為DEQ網路狀態之任意函數而輸出。
圖15說明記憶體內運算MAC區塊之方塊圖。在一個簡單實施中,可沿著水平尺寸提供N 個輸入啟動(每一列單位元件一個),且可沿著豎直尺寸產生M 個MAC輸出(每一行單位元件一個)。因此,列驅動器1503可將N 次啟動輸出至陣列1501。陣列可將M 行輸出至行讀出器1505。輸入啟動及輸出係由諸如電壓之物理參數表示。「神經元」可指包括連接至該行之所有單位元件之單個行。多個神經元(行)鄰近地連接,且各自輸出單個MAC運算之結果。可視情況包括重設區塊1507以便將陣列重設至指定的起始條件。
圖16說明陣列之4×4子集,諸如N×M 陣列1501之四乘四子集。因此,該圖可詳述MAC陣列之內部,該MAC陣列展示連接至字線1609及位元線1611之單個元件。輸入(
Figure 02_image141
)可作為單位元解析度(二進位)值或以較高解析度(多位元)解析度提供,但始終以類比方式在每一行中執行求和。每一單位元件儲存可為單位元解析度(二進位)或具有較高(多位元)解析度之權重值(
Figure 02_image143
)。使用單位胞元中之電路元件的物理參數(例如導電率)來儲存權重。陣列之每一行之輸出(
Figure 02_image145
)為可保持在類比領域中之類比值,針對處理器內部之另一用途(諸如針對至另一MAC區塊之輸入)數位化,或用作最終輸出。對於動態讀出方案,可視情況包括重設區塊1607以便將陣列重設至指定的起始條件。
圖17說明多種技術,其用於擴展所展示之架構以按比例縮放至更高解析度權重、更高解析度輸入啟動及差動運行。多個單位元件可並行使用以增加如圖17(a)中所展示之權重解析度。權重值亦可使用溫度計碼、二進碼或其他碼來編碼(亦即,權重
Figure 02_image147
可拆分成多個經編碼分量,
Figure 02_image149
Figure 02_image151
等)。如圖17(b)中所展示,對應於經編碼權重分量之單位胞元可橫跨多個位元線來連接。對應的位元線之部分結果(例如,
Figure 02_image153
Figure 02_image155
)係藉由數位或類比領域中之行讀出電路系統來組合。對於溫度計譯碼方案,權重之每一分量(例如,
Figure 02_image149
Figure 02_image151
)對MAC運算之結果具有相同影響。然而,對於二進位或其他譯碼方案,每一權重分量對MAC運算之結果具有按比例縮放的影響。此按比例縮放可在行讀出1705電路系統內用數位方式實現。替代地,表示單位胞元內之權重值的物理參數(例如,導電率)可適當地按比例縮放以匹配編碼方案。如圖17(c)中所展示,代替對物理參數按比例縮放,多個單位元件可在一些行中並行使用以匹配編碼方案。亦可使用類似於圖17(b)及圖17(c)中所展示之技術的技術來增加輸入啟動之解析度。輸入啟動值亦可使用溫度計碼、二進碼或其他碼來編碼(例如,輸入
Figure 02_image157
經拆分成多個經編碼分量,
Figure 02_image159
Figure 02_image161
等)。如圖17(d)中所展示,這些輸入值經提供至含有相同權重值且連接至同一位元線之單位元件。舉例而言,權重值
Figure 02_image163
以單個行經儲存在所有單位胞元中,該些單位胞元亦連接至分量
Figure 02_image157
。對於溫度計譯碼方案,輸入之每一分量(例如,
Figure 02_image159
Figure 02_image161
)對MAC運算之結果具有相同影響。然而,對於二進位或其他譯碼方案,每一輸入分量可對MAC運算之結果具有按比例縮放的影響。可藉由適當地對表示輸入啟動之物理參數(例如,電壓)按比例縮放來實現此按比例縮放以匹配編碼方案。反而,表示儲存在一些列中之單位元件中之權重值的物理參數(例如,導電率)可按比例縮放以便對輸入啟動之個別分量的影響按比例縮放且匹配編碼方案。替代地,如圖17(e)中所展示,多個單位元件可在一些列中並行使用以對輸入啟動之個別分量的影響按比例縮放且匹配編碼方案。
亦可使用針對供應雜訊及變化提供穩定性同時增加動態範圍之差分技術,如圖17(f)及圖17(g)中所展示。圖17(f)展示差分權重方案,其中互補權重值(例如,
Figure 02_image147
Figure 02_image165
)經儲存在單位元件中,該些單位元件連接至互補位元線但連接至相同的輸入啟動。互補位元線之輸出(例如,
Figure 02_image167
Figure 02_image169
)可藉由行讀出電路以差分方式讀出。圖17(g)展示差分輸入啟動方案,其中互補輸入啟動值(例如,
Figure 02_image157
Figure 02_image171
)經提供在單獨的字線上。互補字線可連接至儲存相同權重值的單位元件,但連接至互補位元線。如前所述,互補位元線之輸出(例如,
Figure 02_image167
Figure 02_image169
)藉由行讀出電路以差分方式讀出。
圖17中所描述之技術彼此相容且可用於相同實施中。因此,各種權重方案可互換使用。
在諸如圖17(a)中所展示之一個實施例中,多個單位胞元可用於增加經儲存權重之解析度。在諸如圖17(b)中所展示之另一實施例中,儲存經編碼權重1701之分量之單位胞元1701可連接至單獨的位元線。單獨位元線之部分結果可在類比或數位領域中之行讀取電路中組合。在諸如圖17(c)中所展示之另一實施例中,多個單位胞元可在一些行上並行使用以便匹配編碼方案。在諸如圖17(d)中所展示之另一實施例中,經編碼輸入啟動可應用於保持相同權重值且連接至同一位元線之單位胞元,以便增加輸入啟動函數之解析度。在諸如圖17(e)之另一實施例中,多個單位胞元可在一些列1703中並行使用,以便按比例縮放輸入啟動函數之影響且匹配編碼方案。在圖17(f)之實施例中,差分權重連接至單獨的位元線。位元線上之差分輸出係使用差分行讀出電路來讀取。在實施例中(圖17(g)),差分輸入啟動經提供至連接至單獨的位元線之重複權重。位元線上之差分輸出係使用差分行讀出電路來讀取。該實施例亦可包括重設區塊1707。
列驅動器1703、陣列中之單位胞元及行讀出1705電路共同起作用以執行MAC運算。列驅動器及行讀出電路共同形成至MAC引擎之介面。至MAC引擎之輸入可在諸如電壓、電流、電荷或時間之多個可能域中之一者中表示。相同域或另一域可用作輸出。舉例而言,電壓驅動器可用於沿著字線提供輸入啟動,且電流讀出電路可用於自位元線讀取輸出。這些介面電路可為靜態的,其中每當應用新的輸入時,陣列之輸出自然地穩定至MAC運算值之輸出,或這些介面電路可為動態的。在動態實施中,若干時脈相位可用於諸如在開關電容器方案中完成單個MAC運算。介面電路亦可為基於時間的。舉例而言,輸入啟動值可經編碼於電壓脈衝之寬度或持續時間中。
圖18說明展示實例介面電路。圖18(a)展示基於電壓之列驅動器(例如數位至類比轉換器(digital-to-analog converter;DAC),接著為電壓緩衝器),其在用於每一輸入值(In1、In2、In3等)之字線
Figure 02_image173
上提供新的靜態電壓,
Figure 02_image175
。圖18(b)展示基於電壓脈寬調變(pulse-width modulation;PWM)之方案,其提供與輸入啟動值成比例的具有可變寬度之電壓脈衝。替代地,可使用脈衝密度調變(pulse-density modulation;PDM)方案,其中與輸入啟動值成比例之多個脈衝應用於字線。在PDM方案中,每一脈衝具有相同寬度/持續時間。圖18(c)展示當前的基於PWM之方案,其提供與輸入啟動值成比例的具有可變寬度之電流脈衝
Figure 02_image177
。用於每一輸入的在字線上產生之電壓,
Figure 02_image175
,取決於字線之電流位準、脈衝持續時間及阻抗。因此,基於電流之驅動器較適合於實施,其中字線阻抗係恆定的(獨立於輸入啟動或經儲存權重值)。亦可使用PDM方案以代替PWM及電流驅動器,以得到類似效應。圖18(d)展示列讀取電路,其自位元線
Figure 02_image179
直接讀取電壓
Figure 02_image181
或電流
Figure 02_image183
。亦可使用如圖18(e)中所展示之跨阻抗(transimpedance;TIA)放大器來讀出來自位元線
Figure 02_image179
之電流
Figure 02_image183
。TIA將位元線電壓
Figure 02_image181
維持為虛接地,且位元線電流係藉由阻抗
Figure 02_image185
分流以將值轉換為電壓。圖18(f)展示充當電荷積累器之電容式TIA。電容式TIA可連同開關電容器方案一起使用,以讀出基於電荷之信號。類比至數位轉換器(analog-to-digital converter;ADC)可直接在如圖18(g)中所展示之位元線上使用,以將類比值(例如電壓、電流或電荷)轉換為數位值,或其可跟隨另一放大器(以虛線展示)。圖18(h)展示差分讀出方案(其可基於圖18(d)至圖18(g)中所展示之方案中之任一者),讀取鄰近行或行集合之間的輸出量(例如電壓、電流或電荷)之差。在差分實施中,互補權重儲存在鄰近行中之單位胞元中。
在MAC引擎陣列內,單位元件促進輸入啟動與經儲存權重值之間的乘法運算。另外,單位元件亦可充當轉導元件。該單位元件亦可自諸如電壓、電流或時間之輸入域轉換為諸如電壓、電流、電荷或時間之另一域,該另一域將藉助於共用位元線累積且自MAC引擎讀出。
在許多NN演算法中,可訓練偏差(偏移項)經添加至MAC運算之輸出。此可藉由將一或多列單位元件專用於儲存偏差參數且將適當的輸入應用於對應的字線而在諸如圖16中所展示之陣列結構的陣列結構內促進。該偏差亦可包括在行讀出結構內部之類比或數位電路內部或包括在MAC單元之後在至NN之下一層的輸入之前的電路系統中。
圖18說明用於MAC引擎之介面電路系統的實施之實例。舉例而言,圖18(a)為靜態電壓輸入之圖示。在另一實例中,圖18(b)說明脈衝密度調變電壓脈衝。在又一實施例中,圖18(c)說明直流電壓或電流讀出。在另一例示性實施例中,圖18(d)展示跨阻抗放大器讀出。在另一實施例中,圖18(e)說明用於基於電荷之讀出的電容式跨阻抗放大器(電荷積累器)。在另一圖示中,圖18(g),ADC可用於直接讀出MAC運算之結果或可跟隨放大器。在又一圖示中,圖18(h)利用鄰近行或行集合(
Figure 02_image179
Figure 02_image187
)之間的差分讀出。
若干類型的隨機存取記憶體(random-access memory;RAM)技術已經用於經混合信號IMC NN處理器,諸如SRAM、電阻式RAM(resistive RAM;RRAM)或相變記憶體(phase change memory;PCM)、磁阻式RAM(magnetoresistive RAM;MRAM)、鐵電場效電晶體(ferroelectric field-effect transistor;FeFET)及快閃記憶體。可以任何次序讀取且更新使用這些RAM技術之記憶體。SRAM為揮發性RAM記憶體技術,其典型地經組織為具有六個、八個或更多電晶體之可儲存二進位權重值的單位胞元。另外,SRAM可廣泛地用於大部分標準積體電路製程中且不需要任一特殊處理。上文所列之除快閃記憶體之外的其他技術為新興的非揮發性記憶體(被稱作eNVM或NVRAM),且可儲存二進位值、具有更多解析度位元之值或類比值。這些不同NVRAM技術中之單位元件可在物理上小於SRAM胞元,可能縮減至該技術之最小特徵大小(例如,約為單個電晶體之大小)。然而,許多NVRAM技術仍處於開發中,典型地不可用於標準積體電路製程中,且具有較高成本。另外,由於這些NVRAM技術需要重新程式化諸如電阻之物理參數,因此該些NVRAM技術因較差穩定性、保持、產率及漂移效能而具有問題。
一次可程式化唯讀記憶體(read-only memory;ROM)可用於IMC處理器之單位元件中。可在處理器之製造期間或在處理器之製造不久之後程式化ROM陣列。基於ROM之處理器可使用該技術所固有之組件在任一積體電路製程中設計,且在效能、安全性及成本方面具有優勢。該些基於ROM之處理器非常適合於不需要在現場重新程式化之應用程式,諸如部署在物聯網(internet-of-thing;IoT)應用程式之邊緣處的低成本感測器。對於其他應用程式,基於ROM之運算單元亦可沿著含有RAM之運算單元使用。大多數模型參數可為固定的,同時為一些NN演算法維持一組專用的可再程式化的任務特定參數。此可藉由將大多數模型參數儲存在基於ROM之運算單元內部而在基於IMC之處理器中實現,其中較少數目的任務特定參數使用諸如SRAM之技術儲存在基於RAM之運算單元中。此方法維持基於ROM之IMC架構之大部分優點,同時允許針對任務專業化之可程式化性、處理隨時間推移變化之操作條件,及邊緣處之訓練。
圖19說明CMOS半導體製程之實例。基於ROM之IMC運算單元中之權重值可在製造期間或在製造不久之後經一次性程式化。CMOS半導體製程中之後段製程(back end of line;BEOL)電互連件(在圖19中展示)係用於實現可程式化性。舉例而言,金屬連接件、至基於矽之裝置(諸如電晶體、電阻器或二極體)之接點或金屬層之間的通孔可用於重新配置儲存在NN中之權重。此可在前段製程(front end of line;FEOL)處理係藉由改變微影光罩而完成之後來便宜地進行,該些微影光罩用於在BEOL製程中界定金屬、接點或通孔層。最終,可以儲存經部分處理之CMOS晶圓以用於稍後配置。可在處理該層(諸如金屬、接點或通孔層)之前停止晶圓處理,且該晶圓處理可用於界定儲存在基於ROM之運算單元中的權重。彼時,可儲存晶圓以用於稍後的程式化,同時處理剩餘的層。此使得能夠以低成本在僅改變小數目的光罩或甚至僅改變單個光罩層之情況下快速生產不同版本的基於ROM之運算單元。
如所展示,典型的CMOS半導體製程之橫截面展示前段製程(FEOL),其含有以矽製成之裝置—電阻器、電晶體、電容器。以及後段製程(BEOL),其界定晶片上之電互連件。應注意,BEOL層堆疊典型地亦可含有電氣裝置,諸如電容器、電感器、電阻器等。在較進階製程中,BEOL層堆疊亦可具有非揮發性記憶體,諸如PCM、RRAM及3D NAND快閃記憶體。
圖20說明關於具有字線2001及位元線2003之單位胞元的連接之間的實施例之各種實例。舉例而言,在圖20(a)中,該實施例說明連接至位元線2003及字線2001兩者之單位胞元2005。在圖20(b)中,金屬連接件經改變以便改變儲存在該胞元中之權重值。在圖20(c)中,該實施例展示類似實例,其中接點連接件或通孔連接件2007經改變以便改變權重值。因此,單位胞元權重係藉由移除接點連接件或通孔連接件來改變。替代地,單位胞元內之內部金屬連接件可經修改以便程式化儲存在單位胞元中之權重。舉例而言,如圖20(d)中所展示,金屬層連接件可用於連接至零、一個或多個連接選項(例如,C1、C2或C3)。在此類實施例中,該權重係藉由選擇內部金屬連接件2009來改變。圖20(e)展示可使用接點連接件或通孔連接件代替金屬層連接件。一次可程式化eFuse亦可用於程式化權重值,然而,該些一次可程式化eFuse可能不如使用金屬、接點或通孔之程式化一樣節省面積。
使用圖20中所展示之方法程式化的基於ROM之運算單元亦可與圖17中所展示之實施及在上文描述且在圖18中展示之讀出方案相容。舉例而言,其中並聯連接多個單位胞元之圖17(a)中所展示之方案可與圖20(d)及圖20(e)中所展示之程式化方法組合。被動(例如,電阻器及電容器)及/或主動(例如,電晶體)元件可包括在單位胞元中,其中經儲存權重值判定該些被動及/或主動元件互連之方式。舉例而言,為了儲存權重值「3」,三個電晶體可並聯連接且連接至字線及位元線。代替多個電晶體,亦可使用單個電晶體之根據所要權重重新配置之多個指形件。
可存在用於基於ROM之記憶體內運算(in-memory compute;IMC)運算單元的多個實施。該些實施可涉及電晶體及/或被動元件(電阻器及電容器)之組合。這些實施中之每一者利用通常可用於廣泛使用的標準積體電路製程中、不需要專用技術且因此可以低成本實施之元件。此外,由於這些實施在該技術中使用經良好模型化之組件,因此相較於上文所提及之實驗或新興的技術(例如,RRAM及MRAM),其效能係穩定的且可得到保證。電晶體及被動元件可用該技術製造成約最小特徵大小,從而允許這些實施極緊湊且具有低面積開銷,從而直接轉化為低成本。將在下文描述基於ROM之運算單元之若干特定的實施及其運算。此主要藉由ROM中之單位元件之結構來區分,如下文進一步論述。
出於這些原因,基於ROM之IMC單元相比於其他技術具有以下優點。舉例而言,基於ROM之IMC單元並不具有穩定性、保持、產率,或漂移問題,該些問題對於使用如PCM、RRAM、MRAM、FeFET或快閃記憶體之非揮發性記憶體技術的長期操作,可能為一個問題。另外,基於ROM之IMC單元不會受到在如SRAM之技術中消耗大量靜態功率之漏電流的影響。
基於ROM之單位胞元可使用可廣泛用於所有積體電路製程中之元件(例如,電阻器、電容器及電晶體)來設計,且不需要具有高成本之專用技術。可製造具有高密度、大小約為單個電晶體之ROM單位元件,從而進一步降低成本且允許需要大量(例如,數百萬個)參數之演算法儲存在單個晶片上。
程式化單位元件可以不需要電路系統,從而節省面積、成本及功率。基於ROM之運算單元可提供機密性,此係由於不包括用以直接再程式化或讀取記憶體之電路,且因此極難以自運算單元複製模型參數(及演算法)。出於類似原因,基於ROM之運算單元亦可具有高完整性及真實性。因此,在部署感測器之後,可能無法再程式化經儲存模型參數,從而使運算單元防篡改。
基於ROM之運算單元可單獨使用BEOL金屬、接點或通孔連接件來程式化。若諸如頂部或最後一個金屬層之一個層或小數目的層係用於程式化運算單元,則晶圓可經製造直至程式化層,且經儲存。必要時,BEOL處理可在僅改變一個光罩或小數目的光罩之情況下完成,以便使用經更新或不同演算法製造運算單元,以提高效能、任務專業化或完全新的應用程式。此可以低成本進行,此係因為僅小數目的光罩或甚至單個光罩需要修改。
使用圖21至圖34中所展示之基於ROM之元件的所有以下運算單元實施可使用如圖20中所展示之金屬、接點或通孔連接件來程式化。為了說明每一實施之操作,使用單極權重編碼(例如,權重值「0」或「1」)及用於每一實施之單個介面方案來呈現實例。使用圖17中所展示之方案,其他權重編碼,諸如雙極權重(例如,權重值「-1」或「1」)或多位元權重值係可能的。可使用其他介面方案,諸如圖18中的不同變型。編碼方法及介面(驅動器及讀出方案)之選擇將取決於技術限制以及效能度量,諸如面積、成本、潛時、輸送量及信雜比。
圖21說明利用第一實施之基於ROM之單個電晶體(1T)運算單元的實例。單個電晶體可用作ROM單位元件,其儲存二進位權重值,例如「0」或「1」。此可運用若干實施來實現。圖21說明第一實施,其中單個NMOS電晶體2103可用作單位元件,其具有連接至字線之第一(汲極)端子及連接至位元線之第二(源極)端子。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。該權重可在電晶體之閘極連接中經編碼為電壓
Figure 02_image193
或電壓
Figure 02_image195
。若電晶體之閘極
Figure 02_image197
連接至
Figure 02_image193
,則該裝置接通且對應的經儲存權重
Figure 02_image199
可經視為「1」。該電晶體可充當具有有效電阻
Figure 02_image201
及導電率
Figure 02_image203
之電阻器。替代地,若電晶體閘極連接至
Figure 02_image195
,則該裝置可斷開,且
Figure 02_image199
經視為「0」。亦可藉由使閘極連接至
Figure 02_image193
且將一個或兩個端子與字線或位元線斷開連接而將該權重設定為「0」。該電晶體可充當具有有效電阻
Figure 02_image205
及導電率
Figure 02_image207
之電阻器。此實施亦可與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。可在以下公式中描述導電值與權重值之間的關係:
Figure 02_image209
(18)
Figure 02_image211
可為將權重轉換為導電率之縮放因數,且
Figure 02_image213
為亦可等於零之偏移。
如上文所描述,可存在列驅動器及行讀出電路之多個可能實施(基於電壓或電流,靜態或動態)。在一個實施例中,單個可能的驅動及讀出方案可為實例(靜態、基於電壓之輸入啟動及電流讀出)。在此實施中,不需要重設區塊且可省去該重設區塊。僅考慮單個位元線及行(對應於NN中之單個神經元),藉由沿著字線將輸入啟動(
Figure 02_image215
)應用為電壓(
Figure 02_image175
)2101來執行乘法運算,該字線可攜載二進位資訊(數位)或多個資訊位元(高達類比值):
Figure 02_image217
(19)
Figure 02_image219
為將啟動值轉換為電壓之縮放因數,且
Figure 02_image221
項為亦可等於零之偏移。啟動電壓在電晶體中產生與其有效導電率成比例且因此表示與經儲存權重值之乘法之電流:
Figure 02_image223
(20)
若行中之每一電晶體之第二端子在跨阻抗放大器之輸入處連接至同一位元線(如圖18中所展示)且保持在恆定電壓位準(
Figure 02_image225
),則電流累加表示累積運算:
Figure 02_image227
(21)
在使用其中
Figure 02_image229
之二進位權重值之實例實施中,組合方程式(等式)18、19及21得出:
Figure 02_image231
(22)
方程式22中之求和2109表示整個MAC運算。該電流可使用跨阻抗放大器經轉變為電壓,且接著在隨後的類比至數位轉換器級中數位化。替代地,該電流可直接使用電流輸入ADC數位化或經緩衝且傳遞至後續的級。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。該電路亦可包括重設區塊2107。
圖22說明使用單個電晶體作為單位元件之交替實施。在此實施例中,電晶體閘極端子連接至字線,第一端子(汲極)連接至位元線,且第二端子(源極)連接至參考電壓。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。此參考電壓可經展示為信號接地,但亦可為取決於系統設計之另一電壓。可藉由在CMOS製程中使用金屬、接點或通孔連接件(圖22中之虛線)來連接或斷開閘極、汲極或源極中之一或多者與字線、位元線或參考電壓而在單位胞元中編碼該權重。當連接所有這些端子時,儲存在電晶體
Figure 02_image197
中之權重
Figure 02_image199
為「1」。取決於電晶體之偏置方案,存在模型化權重對裝置參數之影響的多種方式。若在三極體區中使電晶體偏置,該電晶體可經模型化為具有有效電阻
Figure 02_image201
及導電率
Figure 02_image203
之電阻器。替代地,若在飽和或亞臨限值區中使電晶體偏置,則該電晶體可經模型化為提供電流
Figure 02_image233
之電流源。若斷開端子中之任一者,則儲存在電晶體
Figure 02_image197
中之權重
Figure 02_image199
為「0」。若在三極體區中使電晶體偏置,則該電晶體可經模型化為具有有效電阻
Figure 02_image205
及導電率
Figure 02_image207
之電阻器(若端子與位元線或參考電壓斷開,則𝑅𝑜𝑓𝑓可為極大的)。替代地,若在飽和或亞臨限值區中使電晶體偏置,則該電晶體可經模型化為提供電流
Figure 02_image235
之電流源。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。對於當「接通」電晶體處於三極體區中且經模型化為阻抗時之狀況,可使用方程式18來描述導電值與權重值之間的關係。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於電壓或電流,靜態或動態)。此處,對於電晶體在三極體區2203中經模型化為阻抗之狀況,吾人將僅將單個可能的驅動及讀出方案描述為實例(靜態、基於電壓之輸入啟動及電流讀出)。在此實施中,不需要重設區塊且可省去該重設區塊。輸入啟動
Figure 02_image215
可在如上文且在方程式19中所描述之電壓
Figure 02_image175
中經編碼。該電壓
Figure 02_image175
(經展示為電壓2201)可採用類比值,其進一步調變電晶體之導電率。替代地,
Figure 02_image175
可為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
,之兩個位準。在其中
Figure 02_image175
係低之狀況下,該電晶體始終為斷開的,而不管權重值如何。穿過單位元件之電流對應於啟動與權重之相乘且藉由以下方程式描述:
Figure 02_image241
(23)
僅考慮單個位元線及行(對應於NN中之單個神經元),沿著如上文所描述之位元線對來自單位元件之所有電流進行求和:
Figure 02_image243
(24)
組合方程式24與方程式18且使用
Figure 02_image245
,得出:
Figure 02_image247
(25)
在此實施中,電壓
Figure 02_image225
不能亦為0 V且必須不同於在每一電晶體之源極處連接之參考電壓以便產生電流。方程式25中之求和2109表示整個MAC運算。該電流可使用跨阻抗放大器經轉變為電壓,且接著在隨後的類比至數位轉換器級中數位化。替代地,該電流可直接使用電流輸入ADC數位化或經緩衝且傳遞至後續的級。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
圖23說明使用單個電晶體作為單位元件之替代性實施例。在此實施例中,電晶體閘極端子連接至字線,第一端子(汲極)連接至位元線,且第二端子(源極)連接至一組參考電壓中之一者。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。藉由選擇可能的參考電壓中之一者且將其連接至電晶體來程式化該權重,其中每一位準對應於單個權重值。展示三個參考電壓2303(
Figure 02_image249
Figure 02_image251
Figure 02_image253
),然而,可使用參考電壓之任一整數
Figure 02_image255
。較多參考電壓位準實現較大數目的權重位準(較高解析度),且較少參考電壓僅允許較少數目個權重位準(較低解析度)。有可能允許電晶體與對應於一個額外位準(總共
Figure 02_image257
)之所有參考電壓斷開。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。參考電壓位準可自任一分佈汲取(亦即,其可能不均勻地間隔開),但可使用線性分佈。個別單位胞元中之參考電壓位準
Figure 02_image259
對應於權重位準
Figure 02_image199
且可藉由以下表達式描述:
Figure 02_image261
(26)
Figure 02_image263
為將權重值轉換為電壓位準之縮放因數,且
Figure 02_image265
為亦可等於零之偏移項。在此狀況下,吾人可將電晶體
Figure 02_image197
之電阻及導電率分別地模型化為恆定值:
Figure 02_image267
Figure 02_image269
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於電壓或電流,靜態或動態)。此處,吾人將會僅將單個可能驅動及讀出方案描述為實例(靜態、基於電壓之輸入啟動及電流讀出)。在此實施中,不需要重設區塊且可省去該重設區塊。輸入啟動
Figure 02_image215
可在如上文及方程式19中所描述之電壓
Figure 02_image175
(經展示為2301)中編碼。電壓
Figure 02_image175
可採用對電晶體之導電率進行調變之類比值。替代地,
Figure 02_image175
可為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
之兩個位準。在其中
Figure 02_image175
係低之狀況下,該電晶體始終為斷開的,而不管權重值如何。穿過單位元件之電流對應於啟動與權重之相乘且藉由以下方程式描述:
Figure 02_image271
(27)
僅考慮單個位元線及行(對應於NN中之單個神經元),在如上文所描述之位元線中對來自單位元件之所有電流進行求和:
Figure 02_image273
(28)
組合方程式28與方程式26且使用
Figure 02_image275
Figure 02_image277
,得出:
Figure 02_image279
(29)
方程式29中之求和2309表示整個MAC運算。該電流可使用跨阻抗放大器經轉變為電壓,且接著在隨後的類比至數位轉換器級中數位化。替代地,該電流可直接使用電流輸入ADC數位化或經緩衝且傳遞至後續的級。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
圖24說明利用單個電容器作為單位元件之基於ROM之MAC陣列的實施。展示
Figure 02_image189
Figure 02_image281
陣列之三乘三陣列子區段。一個端子連接至位元線且一個端子連接至字線。該權重係在端子之連接中編碼。對於二進位權重值(例如,
Figure 02_image199
為「0」或「1」),該些端子均經連接或一個或兩個端子係斷開的。當兩個端子均經連接時,經儲存權重
Figure 02_image283
,否則
Figure 02_image285
。至字線之連接可為可程式化的,如以虛線所展示,然而,可替代地使用位元線連接或兩個連接。可並行地使用較多電容器以便具有其他權重位準。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。電容器值可用權重位準來編碼,且可經描述為:
Figure 02_image287
(30)
Figure 02_image289
為將權重值轉換為電容之縮放因數,且
Figure 02_image291
為亦可等於零之偏移項(例如固定寄生電容)。應注意,若僅單個單位電容器與二進位權重值(「0」或「1」)一起使用,則
Figure 02_image289
為單位電容。若僅單個電容器係用於二進位權重值,則
Figure 02_image293
可採用之最大值經定義為
Figure 02_image295
且表示電容與
Figure 02_image291
之求和。若在每一單位元件中使用
Figure 02_image297
個電容器以提供
Figure 02_image299
個權重位準,則
Figure 02_image295
等於所有電容器以及
Figure 02_image291
之求和。通常,
Figure 02_image301
,其中
Figure 02_image303
為可能的最大權重值。
如上文所描述,可存在列驅動器及行讀出電路之多個可能實施(基於動態電壓、電流、電荷或時間)。在一個實施例中,該系統將單個可能的驅動及讀出方案揭示為實例(動態、基於電壓之輸入啟動及基於電壓之讀出)。在此實施例中,使用重設區塊。輸入啟動
Figure 02_image215
可在如在上文且在方程式19中所描述之電壓
Figure 02_image175
(經展示為2401)中經編碼。電壓
Figure 02_image175
可採用類比值。替代地,
Figure 02_image175
可為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
之兩個位準。最初,所有字線均經設定為複歸電壓
Figure 02_image305
,且重設區塊(其亦可與讀出電路整合)係用於將位元線電壓重設為電壓
Figure 02_image307
。在下一步驟中,該位元線經釋放,且輸入啟動電壓
Figure 02_image175
在字線上經確證。輸入啟動電壓連同電容值引起來自每一單位元件之小電荷沿著對應的總位元線電容來共用:
Figure 02_image309
(31)
連接至位元線之總電容
Figure 02_image311
係藉由以下方程式給出:
Figure 02_image313
(32)
Figure 02_image315
表示在位元線上連接之任一額外固定電容。僅考慮單個位元線及行(對應於NN中之單個神經元),在位元線上產生之總電壓
Figure 02_image181
係與所有
Figure 02_image317
之總和成比例,且因素與
Figure 02_image305
Figure 02_image307
相關:
Figure 02_image319
(33)
組合方程式19、30及33與
Figure 02_image321
Figure 02_image323
Figure 02_image325
Figure 02_image327
Figure 02_image329
得出:
Figure 02_image331
(34)
方程式34中之求和表示整個MAC運算。可使用電壓-電壓緩衝器或放大器自每一位元線讀取此電壓,且該電壓接著在隨後的類比至數位轉換器級中經數位化。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。根據方程式32,應注意,電容
Figure 02_image311
取決於權重值且因此擴展方程式34得出:
Figure 02_image333
(35)
根據方程式35,分母中存在與所有權重值之總和相關的額外項,其將會將誤差引入至MAC運算中。若所有權重之求和2409之結果係可預測的及/或具有最小變化,則可在系統位準處或在訓練待在運算單元上運行之神經網路演算法期間校準此誤差以便使其為可忽略的。
圖25說明基於ROM之MAC陣列之替代性實施例,該基於ROM之MAC陣列利用單個電容器作為解決在先前章節中提及之問題的單位元件。在此實施例中,電容器之端子中之一者連接至字線或連接至經展示為接地之參考電壓,但可為任一其他電壓位準。在此實施例中,位元線上之總電容係獨立於權重值且藉由以下方程式36給出:
Figure 02_image335
(36)
藉由使用如針對先前實施描述之基於相同動態電壓之輸入啟動及基於電壓之讀出方案,可能產生用於如方程式34中之位元線電壓
Figure 02_image181
之相同表達式,同時使用用於
Figure 02_image311
之方程式36(假設
Figure 02_image337
)。此求和可表示整個MAC運算,且不存在基於所有權重值之總求和2509的誤差項或相關性。可使用電壓-電壓緩衝器或放大器自每一位元線讀取此電壓,且該電壓接著在隨後的類比至數位轉換器級中經數位化。可使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
圖26(a)說明在單位元件中利用單個電晶體及單個電容器之基於ROM之MAC陣列的實施。該電容器可為與電晶體分離之元件,或可為電容中之一者,諸如源極(或汲極)二極體電容自身。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段。在每一字線與位元線之間串聯連接電晶體及電容器。可切換電晶體及電容器之次序。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。在電晶體至電壓
Figure 02_image193
或至電壓
Figure 02_image195
之閘極連接中編碼權重。在此實施中,每一電晶體充當開關,其使位元線與字線之間的對應的電容器之並聯切斷或閉合。電晶體導電值並不重要,但其應足夠高以允許適當的動態穩定,其中電容器值取決於所要操作頻率。若電晶體
Figure 02_image197
之閘極連接至
Figure 02_image193
,則該裝置係接通的,且對應的經儲存權重
Figure 02_image199
經視為「1」。替代地,若電晶體閘極連接至
Figure 02_image195
,則該裝置係斷開的且
Figure 02_image199
經視為「0」。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。該電晶體充當一次可程式化電壓控制之開關,其使字線與位元線之間的電容器之並聯切斷或閉合。因此,上文所描述的電路(例如,圖26)可以與圖24相同之方法模型化。使用方程式30藉由電晶體
Figure 02_image197
之閘極之狀態,該權重修改單位元件之有效電容
Figure 02_image293
,如藉由位元線所見。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於動態電壓、電流或電荷)。此實施可對針對圖24之電路描述之以下相同動態輸入啟動及基於電壓之讀出進行運算。給定一組輸入啟動及權重值,方程式31至35可用於運算MAC運算之輸出。可使用電壓-電壓緩衝器或放大器自每一位元線讀取此電壓,且該電壓接著在隨後的類比至數位轉換器級中經數位化。可使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。分母(方程式18)中可存在與所有權重值之總和相關的額外項,其將會將誤差引入至MAC運算中。若所有權重之求和之結果係可預測的及/或具有最小變化,則可在系統位準處校準此誤差且此誤差如先前所描述為可忽略的。
圖26(b)中展示圖26(a)中之單位胞元之替代性實施例,其可取決於權重值對
Figure 02_image311
之問題進行求解。在單位胞元之此實施中,包括至參考電壓(經展示為接地,但其可為另一電壓)之額外電位金屬、接點或通孔連接件,僅在電晶體之閘極連接至
Figure 02_image195
之狀況下連接該連接件。否則,此實施係與圖26(a)中所展示之實施相同。以此方式,每一位元線之總電容獨立於權重值保持恆定,且係藉由方程式36給定。
圖27(a)說明使用單個電晶體及電容器作為單位元件之交替實施。展示
Figure 02_image189
Figure 02_image281
陣列2703之三乘三陣列子區段。電晶體及電容器可在每一位元線與經展示為接地之參考電壓之間串聯連接,但可使用另一參考電壓。可切換電晶體及電容器之次序。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。藉由在CMOS製程中使用金屬、接點或通孔連接件來連接或斷開電晶體閘極、電晶體汲極、電晶體源極或電容器端子中之一或多者與字線、位元線或參考電壓而在單位胞元中編碼權重(如藉由圖27(a)中之虛線所說明)。當連接所有這些端子時,儲存在單位胞元中之權重
Figure 02_image199
為「1」。若斷開端子中之任一者,則儲存在電晶體中之權重
Figure 02_image199
為「0」。此實施亦可與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。類似於先前的電容實施,該權重基於如在方程式30中之權重值來修改單位元件之有效電容
Figure 02_image293
,如位元線所見。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於動態電壓、電流、電荷或時間)。在一個實施例中,僅單個可能的驅動及讀出方案作為一實例(動態、基於電壓之輸入啟動及基於電壓之讀出)。在此實施中,使用重設區塊。輸入啟動
Figure 02_image215
可在如上文且在方程式19中所描述之電壓
Figure 02_image175
中經編碼。
Figure 02_image175
為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
之兩個位準。對於低電壓位準,該電晶體係斷開的,且對於高位準,該電晶體係接通的(在位元線與參考電壓之間連接電容器)。最初,所有啟動
Figure 02_image175
在字線上經確證,且使用重設區塊(其亦可與讀取電路整合),位元線經預充電至電壓
Figure 02_image307
。在下一步驟中,位元線經釋放且所有字線經確證至高電壓位準,使得開啟所有電晶體。輸入啟動電壓連同單元電容值引起來自每一單位元件之小電荷沿著對應的總位元線電容來共用:
Figure 02_image339
(37)
連接至位元線之總電容
Figure 02_image311
係藉由方程式32給出。僅考慮單個位元線及行(對應於NN中之單個神經元),在位元線上產生之總電壓
Figure 02_image181
係與所有
Figure 02_image317
之總和成比例,且因素係與複歸電壓
Figure 02_image307
相關:
Figure 02_image341
(38)
組合方程式30及38與
Figure 02_image323
Figure 02_image325
得出:
Figure 02_image343
(39)
方程式39中之求和表示整個MAC運算。可使用電壓-電壓緩衝器或放大器自每一位元線讀取此電壓,且該電壓接著在隨後的類比至數位轉換器級中經數位化。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。根據方程式32,應注意,電容
Figure 02_image311
取決於權重值且因此擴展方程式39得出:
Figure 02_image345
(40)
此係類似於用於圖24中所展示之實施的方程式35。分母中存在與所有權重值之總和相關的額外項,其將會將誤差引入至MAC運算中。若所有權重之求和之結果係可預測的及/或具有最小變化,則可在系統位準處校準此誤差且此誤差如先前所描述為可忽略的。
圖27(b)中展示圖27(a)中之單位胞元之交替實施,其取決於權重值對
Figure 02_image311
之問題進行求解。類似於圖27(a),當電晶體閘極連接至位元線時,其源極連接至參考電壓(例如,接地),其汲極連接至電容器,且電容器連接至位元線,儲存在單位胞元中之權重值為「1」。為了儲存值「0」,該電晶體不連接至電容器,且電容器反而連接至參考電壓(經展示為接地,但其可為另一電壓)。此實施可與圖27(a)中所展示之實施相同。以此方式,每一位元線之總電容可獨立於權重值保持恆定,且係藉由方程式36給定。
圖28說明在單位元件中使用兩個電晶體及電容器之實施。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段2805。電容器連接至對應的位元線,且一個電晶體之閘極連接至字線。相同電晶體將電容器之另一端部連接至一組參考電壓中之一者。展示三個參考電壓((
Figure 02_image249
Figure 02_image251
Figure 02_image253
),然而,可使用參考電壓之任一整數
Figure 02_image255
。較多參考電壓位準實現較大數目的權重位準(較高解析度),且較少參考電壓位準僅允許較少數目個權重位準(較低解析度)。另一電晶體將在兩個電晶體與電容器之間共用的節點連接至另一參考電壓
Figure 02_image347
。第二電晶體之此閘極連接至開啟及斷開電晶體之電壓信號
Figure 02_image349
。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。藉由在CMOS製程中使用金屬、接點或通孔連接件連接或斷開
Figure 02_image255
個參考件中之一者來在單位胞元中編碼權重。在每一單位元件中應僅連接一個參考電壓。此方法允許在每一單位元件內部編碼
Figure 02_image255
個許多權重位準。另外,有可能允許電晶體與所有參考電壓斷開,從而提供一個額外位準(總計
Figure 02_image257
)。可使用豎直堆疊之金屬層在整個MAC陣列中供應參考電壓,以便節省面積且允許高密度單位元件亦可支援任意高的權重精確度。參考電壓位準可自任一分佈汲取(亦即,其可能不均勻地間隔開),但通常可使用線性分佈。個別單位胞元中之參考電壓位準
Figure 02_image259
對應於權重位準
Figure 02_image199
,且可藉由方程式26中之表達式描述。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。舉例而言,亦可使用如針對先前實施所描述之金屬、接點或通孔連接件來程式化電容器
Figure 02_image293
。若電容器並非可程式化的,則其具有值
Figure 02_image351
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於動態電壓、電流或電荷)。此處,吾人將會僅將單個可能驅動及讀出方案描述為實例(靜態、基於電壓之輸入啟動及基於電壓之讀出)。在此實施中,使用重設區塊。輸入啟動
Figure 02_image215
可在如上文且在方程式19中所描述之電壓
Figure 02_image175
中經編碼。
Figure 02_image175
可為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
之兩個位準。對於低電壓位準,該電晶體
Figure 02_image197
係斷開的,且對於高位準,該電晶體係接通的(在位元線與經選擇參考電壓
Figure 02_image259
之間連接電容器)。最初,所有啟動
Figure 02_image175
在字線上經確證,使
Figure 02_image349
為低的以斷開第二電晶體,且使用重設區塊(其亦可與讀出電路整合),位元線經預充電至電壓
Figure 02_image307
。在下一步驟中,位元線經釋放,且使所有字線達至低電壓位準,使得斷開所有電晶體
Figure 02_image197
。接著,使
Figure 02_image349
為高的,以便將電壓
Figure 02_image347
連接至電容器。考慮其中單位胞元電容器固定在
Figure 02_image351
處之狀況,此程序使得來自每一單位元件電容之小電荷
Figure 02_image353
沿著對應的總位元線電容共用:
Figure 02_image355
(41)
連接至位元線之總電容
Figure 02_image311
經給定為:
Figure 02_image357
(42)
在此狀況下,
Figure 02_image311
不取決於權重值。僅考慮單個位元線及行(對應於NN中之單個神經元),在位元線上產生之總電壓
Figure 02_image181
係與所有
Figure 02_image317
之總和成比例,且因素與
Figure 02_image347
Figure 02_image307
相關:
Figure 02_image359
(43)
組合方程式26及43與
Figure 02_image275
Figure 02_image329
Figure 02_image361
Figure 02_image325
得出:
Figure 02_image363
(44)
方程式44中之求和表示整個MAC運算。應注意,在此情境下,該運算係反向的。可使用電壓緩衝器或放大器自每一位元線讀取此電壓,且該電壓接著在隨後的類比至數位轉換器級中經數位化。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
圖29說明基於單個電晶體及單個電容器ROM之運算單元之實施例。此實施係與圖28中之實施相同,惟省去連接至
Figure 02_image347
之電晶體除外。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於動態電壓、電流或電荷)。在一個實施例中,類似於針對圖28所描述之方案的單個可能驅動及讀出方案可用作一實例(動態、基於電壓之輸入啟動及基於電壓之讀出)。在此實施中,使用重設區塊。輸入啟動
Figure 02_image215
可在如上文且在方程式19中所描述之電壓
Figure 02_image175
中經編碼。
Figure 02_image175
可為數位信號,其僅具有分別為低或高、對應於
Figure 02_image237
Figure 02_image239
之兩個位準。對於低電壓位準,該電晶體
Figure 02_image197
係斷開的,且對於高位準,該電晶體係接通的(在位元線與經選擇參考電壓
Figure 02_image259
之間連接電容器)。最初,所有啟動
Figure 02_image175
在字線上經確證。使用重設區塊(其亦可與讀取電路整合),位元線經預充電至電壓
Figure 02_image307
。在下一步驟中,位元線經釋放,且使所有字線達至高電壓位準(使得開啟所有電晶體
Figure 02_image197
),且使用在陣列外部的驅動器將所有參考電壓位準設定為相同電壓位準
Figure 02_image347
。在讀出階段期間,所有單位電容器將連接於位元線與電壓
Figure 02_image347
之間。以此方式,此實施與圖28之實施以相同方式操作,且MAC運算可由以下方程式41至44表示。可使用電壓緩衝器或放大器自每一位元線讀取輸出電壓,且該輸出電壓接著在隨後的類比至數位轉換器級中經數位化。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
圖30說明使用單個電阻器作為單位元件之基於ROM之MAC陣列的實施例。展示
Figure 02_image189
Figure 02_image191
陣列之三乘三陣列子區段。在電阻器與字線及/或位元線之連接中對權重進行編碼。對於二進位權重值(例如,
Figure 02_image199
為「0」或「1」),對於
Figure 02_image283
,該端子連接至字線及位元線兩者,且對於
Figure 02_image285
,該端子與字線及/或位元線斷開。可並行使用較多電阻器以便具有其他權重位準。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。電阻器
Figure 02_image365
之導電值
Figure 02_image367
使用權重位準來編碼,且可使用方程式18來描述,此與用於圖21中之實施相同。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於電壓或電流,靜態或動態)。此處,吾人將會僅將單個可能驅動及讀出方案描述為實例(靜態、基於電壓之輸入啟動及電流讀出)。在此實施中,不需要重設區塊且可省去該重設區塊。僅考慮單個位元線及行(對應於NN中之單個神經元),藉由沿著字線將輸入啟動(
Figure 02_image215
)應用為電壓(
Figure 02_image175
)來執行乘法運算,該字線可攜載二進位資訊(數位)或多個資訊位元(類比值),如在方程式19中。
使用方程式20、21及22描述之MAC運算可與圖21相同。行電流可使用跨阻抗放大器經轉變為電壓,且接著在隨後的類比至數位轉換器級中數位化。替代地,該電流可直接使用電流輸入ADC數位化或經緩衝且傳遞至後續的級。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
如上文所描述,可沿著相同的基於IMC之處理器內的基於RAM之運算單元使用基於ROM之運算單元。基於ROM之運算單元可為先前章節中所提及之實施中之任一者。另外,可使用上文所提及之類型RAM(或NVRAM)中之任一者,諸如SRAM、RRAM、PCM、MRAM、FeRAM或快閃記憶體。可藉由將大多數固定的模型參數儲存在ROM元件內部來維持基於ROM之運算單元在效能、可靠性及安全性方面之優點。記憶體之較小子集可儲存可在RAM中經再程式化之任務特定參數。此方案維持RAM的大部分優點,同時允許任務專業化在部署之後更新,以應對不同的操作條件或改良演算法,且允許邊緣處之訓練。
圖31針對任意機器學習演算法說明基於IMC之處理器內之運算單元的若干實施例。機器學習演算法可由若干層組成,每一層含有多個神經元。不同類型的運算單元可用於如圖31(a)中所展示之不同層,其中基於ROM之運算單元係用於層u 之運算且基於RAM之運算係用於層u +1。此兩個層之次序可顛倒,且可在基於RAM之或不同類型的IMC運算單元可在連續層中交錯之後使用基於ROM之運算單元。圖31(b)展示一實施,其中多種類型的運算單元係用於神經網路中之同一層內之運算。圖31(c)及圖31(d)展示其中使用含有混合式ROM及RAM運算單元之運算單元來實施層之實例。
此可藉由使用如圖32(a)及圖32(b)中所展示之在同一位元線上在類比領域中直接連接的多種類型的記憶體來實現,其中沿著基於諸如RRAM、PCM或MRAM之RAM之類型的單位胞元來使用一次可程式化電晶體。在圖32(a)中,具有不同類型之單位胞元的鄰近區塊連接至同一位元線。在圖32(b)中,不同類型的單位胞元經交錯且連接至同一位元線以用於類比求和。替代地,可使用具有不同類型的記憶體之多個行,如圖32(c)及圖32(d)中所展示,其中MAC運算之結果分別經組合在類比及數位域中。基於ROM之單位胞元及/或基於RAM之單位胞元之數目可在行與行之間不同。上文所描述且在圖32中所展示之技術彼此相容。圖32中所展示之實施亦與圖17中所展示之技術相容,以用於增加輸入啟動或權重以及差動運行之解析度。
圖33(a)說明組合ROM與RAM兩者之運算單元之實施例。此實施使用在圖21中引入之基於電晶體(1T)之ROM拓樸及圖33(b)中所展示之標準的六個電晶體(6T)SRAM結構。
Figure 02_image193
Figure 02_image195
可分別為高供應電壓及低供應電壓。亦可使用其他標準的SRAM結構,諸如七個電晶體(7T)、八個電晶體(8T)或十個電晶體(10T)結構。圖33(a)中展示
Figure 02_image189
Figure 02_image191
陣列之四乘四個子集。可使用基於ROM之單位胞元與基於SRAM之單位胞元之任一比例。可使用PMOS電晶體代替NMOS裝置。另外,可切換源極及汲極端子連接。藉由如上文所描述之金屬、接點或通孔連接件在ROM單位胞元中對權重進行一次程式化。使用特定的控制信號(SEL)及專用額外位元線(分別為用於正及負SRAM位元線之P及N)在基於SRAM之單位胞元中程式化權重。若權重值「1」經儲存在單位胞元之SRAM中,則對應的電晶體之閘極連接至
Figure 02_image193
。相反地,若權重值「0」經儲存在單位胞元之SRAM中,則對應的電晶體之閘極連接至
Figure 02_image195
。對於ROM元件及基於SRAM之元件兩者,權重可被視為用連接於字線與位元線之間的電晶體之導電率來編碼,如方程式(1)中所描述。
如上文所描述,存在列驅動器及行讀出電路之多個可能實施(基於電壓或電流,靜態或動態)。舉例而言,可使用靜態、基於電壓之輸入啟動及電流讀出,如針對圖21中之實施所描述。對於此方案,在方程式19至22之後且如上文所描述來描述用於個別行之整個MAC運算。該電流可使用跨阻抗放大器經轉變為電壓,且接著在隨後的類比至數位轉換器級中數位化。替代地,該電流可直接使用電流輸入ADC數位化或經緩衝且傳遞至後續的級。使用儲存在該行中之權重在陣列之每一行(神經元)中執行此運算。
在一些實施中,基於SRAM之單位胞元可僅包括於一些行中而非包括於所有行中。舉例而言,可僅每隔一行包括SRAM,如圖33(c)中所展示。由於SRAM在單位胞元中之存在需要額外電晶體,因此,此方法可用於縮減總面積及成本,同時仍維持可程式化程度。另外,可使用差分實施,如圖33(d)中所展示。在此實施中,SRAM胞元之差分輸出係用於控制陣列中之鄰近行中的電晶體之閘極。鄰近行中之對應的基於ROM之單位胞元亦必須以差分方式經譯碼,如所展示。讀出電路亦必須為差分實施,從而讀取鄰近行之間的輸出量(例如電壓、電流或電荷)之差。此實施亦與圖17中所展示之用於增加輸入啟動或權重以及差動運行之解析度的技術相容。這些實施亦與圖32中所展示之變化相容。
圖33(a)說明與基於SRAM之單位胞元用於同一IMC陣列中之基於1T ROM之單位胞元的實施例,其中在位元線上進行類比求和。圖33(b)說明使用
Figure 02_image193
Figure 02_image195
作為高供應電壓位準及低供應電壓位準之標準的6T單位胞元之實施例。圖33(c)說明可在一些行中省去基於SRAM之單位胞元之實例以便節省面積及成本。圖33(d)說明一差分實施,其中單個SRAM係用於將互補值提供至鄰近行中之電晶體。
圖32及圖33中所展示之實施例僅為實例實施例,且上文所描述的基於ROM之元件與基於RAM之元件的其他組合亦為可能的。混合式ROM/RAM架構之選擇將藉由最佳化如面積、功率消耗、潛時、輸送量及信雜比之效能度量來判定。
若干基於ROM之IMC陣列(諸如具有圖24及圖25中所展示之電容式實施之實施例)可完全在積體電路製程之金屬層中製造。另外,完全在金屬層中製造諸如用於RRAM或PCM之一些類別的基於RAM之IMC陣列可為可能的。此特徵允許IMC運算單元之3D整合,從而實現節省成本且改善效能之較高密度權重儲存及運算。
圖34(a)說明基板層中之具有IMC陣列之3D堆疊的基於ROM之IMC陣列及金屬層中之IMC陣列中之一或多者的實施例。圖34(b)說明一或多個基於ROM之IMC陣列可在金屬層中在基板中的基於RAM之IMC陣列上方進行3D堆疊。圖34(c)說明一或多個基於ROM之IMC陣列可在具有一或多個基於RAM之IMC陣列的金屬層中在基板中之基於ROM之IMC陣列上方進行3D堆疊。圖34(d)說明一或多個基於ROM之IMC陣列可在具有一或多個基於RAM之IMC之金屬層中在基板中之另一基於RAM之IMC陣列上方進行3D堆疊。
如圖34(a)中所展示,一或多個基於ROM之IMC陣列(例如,圖24及圖25之實施例)可在金屬層中在另一基於ROM之IMC陣列上方進行3D堆疊,該另一基於ROM之IMC陣列使用基板層及下部金屬層(例如,圖21至圖23及圖26至圖29中之基於電晶體之實施的實施例)。基板層可為半導體材料層,該半導體材料層可為矽晶圓或其他類型的材料。如圖34(b)中所展示,一或多個基於ROM之IMC陣列可基於諸如SRAM之技術在基於RAM之基板IMC陣列上方進行3D堆疊。一或多個基於RAM之金屬層IMC陣列可在無論是否具有基於ROM之金屬層IMC陣列之情況下在基於ROM之基板IMC陣列(圖34(c))或基於RAM之基板IMC陣列(圖34(d))上方進行3D堆疊。
圖35說明具有基於神經網路之分類器之「邊緣」感測裝置的實例,該分類器用以對有限數目個類別進行分類以觸發喚醒功能,該喚醒功能又使得能夠將用於進一步處理之巨量資料傳輸至雲端。圖35(b)為典型的矩陣乘加運算,其可在神經網路內實行。圖35(c)說明記憶體及算術邏輯單元(arithmetic logic unit;ALU)之配置。
減少此能源消耗之方法係藉由併有被稱作記憶體內運算之方案。在此方法中,神經網路之權重係固定的且經儲存在進行計算之處,且因此資料移動可極大地降低。就使用數位電路之神經網路硬體實施而言,此可經配置為一架構,其中記憶體及算術單元以一方式分佈,使得資料儲存裝置更接近其目的地處理器。一個更高效率的替代方案為基於控制電路電壓及電流之電路網路屬性來實現乘加計算(multiply and add calculation;MAC)。此使得能夠瞬時部署例如藉由諸如電阻器之阻抗實施的輸入啟動,例如,橫跨大型權重網路的電壓或電流位準。乘法運算接著藉由按比例縮放輸入啟動之權重元件之阻抗來實現,且求和藉由電路節點中之瞬時電流或電荷包求和來進行。此類比MAC運算之結果可藉助於資料轉換器而容易地用於讀出。
可出於矩陣乘加運算之目的來使用被稱作交叉式網路之類比電路組態。此類網路(例如,在圖36中說明)經由數位至類比轉換器(digital-to-analog converter;DAC)藉由存取列(字線)應用整數神經元啟動值Xi 。這些字線橫跨字線部署類比電壓Xi .Vref , DAC ,其中Vref , DAC 為DAC之參考電壓。沿著每一字線,多個權重元件置放於與行(位元線)之交叉點處。這些權重元件係藉助於阻抗(導電率)來實施,其中每一元件為單位導電率G之整數Wij 倍,從而產生G.Wij 。每一位元線與具有對應的權重之多個字線在其交叉點處交叉,且因此實施求和節點以添加電流。對於第j個位元線,此電流可藉由連接至該位元線之權重元件而經寫為所有電流之求和:
Figure 02_image369
(45)
當此位元線電流係由具有增益RTIA 之跨阻抗放大器來處理時,該放大器在每一位元線產生由以下方程式表示之電壓Vj
Figure 02_image371
(46)
此電壓Vj 接著藉助於類比至數位轉換器(ADC)參考電壓Vref , ADC 而經數位化為整數Yj ,從而將其捨位為整數Yj (round(x)函數):
Figure 02_image373
(47)
為簡單起見,吾人可採用Vref , DAC = Vref , ADC 及RTIA = 1/G,且接著方程式(3)簡化為:
Figure 02_image375
(48)
此展示每一位元線實施用於輸入啟動與第j行權重矩陣之間的乘法的乘加結果,且因此所有Yj 值形成矩陣點積結果。對於圖36中所展示之狀況,4×1啟動矩陣X乘以4×4權重矩陣W產生1×4矩陣Y:
Figure 02_image377
(49)
圖36中所展示之交叉式網路介面的缺陷中之一些可為將連續啟動電壓施加至字線及在位元線中運行電流(高度取決於權重元件類型及值範圍)以及ADC、DAC、驅動器及感測放大器之靜態功率消耗增加了能耗。另外,每一ADC及DAC係由通常轉化為大晶片面積之許多主動及被動子組件組成,且因此限制介面與交叉開關之間距大小且限制大尺度。由於類比組件變化,DAC及ADC之傳送特性匹配的假設(簡單的假設Vref , DAC =Vref , ADC )在實現中並不正確。在大規模網路中包括此類非理想性使得訓練較複雜。在深度神經網路中,通常,ADC及DAC之動態範圍需要在層與層之間按比例縮放,此增加了大量複雜性及設計工作。
圖36說明藉由交叉式網路實施之類比乘加運算之實施例,該交叉式網路在電流域中使用藉由整數經加權導電率及求和實施之類比輸入啟動及權重。
在過去,交叉式網路之啟動輸入已經修改以使用脈寬調變時域信號而非圖36中所展示之振幅域啟動。圖37(a)中展示併有經儲存在二進位記憶體胞元(諸如SRAM胞元)中之二進位權重的此類網路之實例。相較於藉由位元線運行電流,此方法可具有較高能效,此係因為其主要依賴於附接至位元線之電容器(寄生電容或有意添加之電容器)上之電荷求和。圖37(a)中所展示之交叉式網路藉助於脈衝產生器實施其啟動輸入,該些脈衝產生器參考具有持續時間Ta 之單位時間參考。此處,由Xi 表示之整數啟動輸入判定啟動持續時間等於Xi .Ta 舉例而言,整數輸入啟動7係由持續時間7.Ta 處之脈衝表示。
圖37(a)說明交叉式網路,其具有脈寬調變啟動信號及嵌入於記憶體中之二進位權重,該些二進位權重判定關於差分位元線電容之放電極性。圖37(b)說明網路之時序操作。類似於圖36之交叉式網路,字線橫跨許多位元線廣播啟動,其中權重元件在每一字線與位元線之交叉點處經儲存在記憶體胞元中。位元線可以差分方式配置,亦即每一線係由具有電壓VBLj 及VBLbj 之兩條線構成。這些位元線各自具有由CBL 表示之總電容,且最初在運算之前經充電至預充電電壓VP 。當在每一點積運算開始時經預充電時,橫跨位元線之由Vdj = VBLj - VBLbj 表示之差分電壓自零開始(在圖37(b)中展示)。對於每一字線之脈寬調變啟動之持續時間,開關SW將位元線電容器連接至保持「10」或「01」狀態之記憶體胞元(保持產生兩個狀態之0或1值的左手側及右手側或SRAM胞元)。假設開關不具有導通電阻,且電容器想總電阻係藉由電阻RBL 模型化。取決於儲存在權重記憶體中之狀態(「+1 = 10」或「-1 = 01」類似於位元線電容之充電/放電極性),位元線電容中之一者朝向供應充電,且另一位元線電容朝向接地放電(圖37(a))。一旦所有脈寬調變輸入啟動應用於字線,由於疊加,經移除或添加(取決於權重)至每一位元線電容之總電荷(取決於啟動)橫跨位元線產生差分電壓(對於具有所有權重「1」之狀況,參見圖37(b)):
Figure 02_image379
(50)
位元線電壓Vdj 係藉由類比至數位轉換參考電壓Vref , ADC 來轉換以導出整數位元線點積結果:
Figure 02_image381
(51)
此方案藉由移除用於圖36中之DAC來簡化啟動,且藉由位元線之電荷域運算來改善能量效率,然而,振幅域讀出之複雜性及能耗(由位元線ADC所需)保持不變。
圖38說明用經脈寬調變之啟動而啟動且用振幅域類比至數位轉換器在振幅域中讀出的基於憶阻器之交叉式網路。在此類實施例中,類似於圖38(a)之實施的實施在經加權電阻器中實施權重(導電值)。此可為用於不具有可程式化性之網路的固定電路元件,或可藉由利用諸如憶阻器元件之元件而變得可程式化(諸如圖38(b)中所展示之可程式化導電值)。用於位元線之脈寬調變啟動及其產生以及差分結構之組態類似於圖37(a)之組態。不同之處在於權重值Wij ,其可比圖37(a)之二進位位準具有較多位準。圖38(b)中展示橫跨導電率之7個位準的雙極權重值之狀況。假設Wij (用於負權重值之Wbij )為整數值,其物理實施係藉由導電率Gij = G0 + Wij .Gu or Gij = G0 - Wbij .Gu 。矩陣點積乘加運算藉由將位元線預充電至預充電電壓VP 而開始。每一字線將脈寬調變啟動輸入Xi 攜載至開關SW。在啟動輸入之持續時間內,這些開關藉由由Wij (及Wbij )判定之權重導電值而提供至接地之放電路徑。由於所有時間常數之疊加,因此,一旦應用所有啟動輸入,差分電壓Vdj 橫跨位元線出現,該差分電壓首先係藉由以下方程式來判定:
Figure 02_image383
(52)
位元線電壓係藉由ADC數位化。在過去,在存在由參考導電值形成之額外列之情況下,藉由應用多循環充電及放電操作,將ADC之操作及交叉開關之操作嵌入。此有助於以需要多循環充電及放電操作及用於實施振幅域ADC操作之橫跨交叉開關之額外列的導電率為代價來緩解(方程式52)之非線性關係。
本發明之實施例說明用於類比乘加交叉式網路之啟動及讀出的時域介面。此類介面替代用於先前技術中之振幅域方案。其可受益於以下事實:在至交叉開關字線之啟動輸入轉化為脈寬調變時域信號之情況下,可在位元線處藉由時間量測來量測藉由各種交叉式網路組態實施之時間常數(充電時間、整合時間、放電時間)之疊加,其中可參考用於產生啟動之相同時間基準來進行時間至數位轉換。另外,本發明提議以比例式方式配置的時間量測,使得促成電阻器、電容器、參考電壓、電流、時間等之絕對值的非理想性將抵消,從而產生線性點積矩陣乘法輸出,其首先僅為整數輸入啟動及權重之函數。
圖39說明至點積計算交叉式網路的基於時間之介面。可展示時間輸入及輸出介面,以及39(b)可展示介面周邊裝置為數位至時間及時間至數位轉換器(time-to-digital converter;TDC),且在39(c)中,可展示時域操作。時域操作在此類類比交叉式乘加網路之可擴展性及可靠性方面具有若干益處。圖39(a)說明至具有時域周邊介面電路之交叉式網路的時域介面。這些周邊電路在圖39(b)中展示,且主要實施數位至時間及時間至數位轉換之功能。該些啟動係參考時間Tref 藉由形成器(脈衝產生器)產生,該時間由整數輸入Xj 按比例縮放,且MAC輸出藉助於時間至數位轉換器(TDC)自時域轉換為數位。TDC量測由標記兩個事件之開始及停止信號標記的輸入時間(圖39(c))。為了實現時間量測,需要參考時間。對於TDC,此通常係由TDC之輸入頻率(fref )或時間基準Tref = 1/fref 設定。將此類轉換器應用於點積交叉式網路之介面具有若干益處:
TDC之電路架構較接近於數位電路(對於中等時間解析度,TDC實施可與計數器一樣簡單,或對於高解析度狀況,環振盪器及暫存器可與計數器組合)。此類類型之電路系統具有若干益處:
深度神經網路之每一隱藏層所需的動態範圍之按比例縮放在TDC中而非在ADC中更容易實施。當使用TDC時,此可與將額外位元添加至計數器且在較長時間段內計數以將動態範圍加倍一樣簡單,而在ADC中,此類調適可對複雜性、大小及功率消耗具有嚴重影響。
TDC消耗與切換邏輯閘(如數位電路)相關聯之動態功率,而非由用於ADC中之線性類比電路消耗的靜態功率。相較於ADC,此提供優良的能量效率。
半數位電路架構使得其積體電路實現之佔據面積極小,且因此使其適合於使用類比交叉式乘加網路之較大規模的深度神經網路。
可相對於由用於實施網路權重之相同單位類比電阻或電容產生的參考時間常數來量測每一位元線之所得輸出時間。此實現比例式量測方案,其藉由首先消除類比元件之變化而極大地增強點積結果之穩定性。
藉由至以時域配置的交叉式網路之輸入及輸出介面,脈寬調變啟動產生器之時間基準可與TDC之時間基準同步(圖39c),從而接著針對至交叉式網路之類比及數位介面產生匹配的傳送特性。此對於振幅域介面係不可行的,此係因為DAC及ADC或脈寬調變器及ADC之特性本質上係不匹配的。
圖40A說明功能方塊圖,且在圖40A及圖40C中展示至基於交叉式網路之混合信號點積運算硬體的經提議時域介面之操作,且在圖40B中具有時域操作波形。此方塊圖係時域及比例式讀出操作之基礎,且將經展示為可擴展至基於不同電學屬性(電荷域、電流域等)及權重實施(諸如ROM、SRAM、M/R/PC/RAM之記憶體元件)的各種交叉式網路。為了簡化經提議方法之描述,首先展示單端結構(僅正權重值)。至具有雙極操作及差分位元線之實際實施的擴展可自此基本架構得出,且將稍後展示。
在圖40中,展示至具有比例式輸出評估之交叉式混合信號點積計算網路之時域介面之實施例。在圖40(a)中,說明具有脈寬經調變輸入啟動及基於TDC之讀出的概念方塊圖。在圖40(b)中,說明與時域輸入、輸出及控制以及參考信號相關聯的波形。且在圖40(c)中,利用按比例縮放電流源之時域比例式實施參考參考電流源Iref
在此實施例中,權重經展示為藉由利用單位導電率G實施之阻抗,該單位導電率係藉由適當的整數權重Wij 按比例縮放。輸入啟動信號係基於藉由整數啟動值Xi 按比例縮放之參考時間Ta 由脈寬調變產生器來產生。這些輸入啟動信號係沿著字線廣播,該些字線接著在將字線連接至位元線之對應的權重阻抗處與位元線交叉。每一位元線可連接至積分器,其在每一點積計算自由給定參考電壓Vref 界定之重設狀態開始其操作(藉助於「重設」信號執行)。一旦具有振幅Va 之脈寬調變啟動應用於所有字線,與權重相關聯之導電率將脈寬調變啟動轉換為經注入至每一位元線中之總淨電荷量(藉由流動電流Ij 來遞送),該總淨電荷量係藉由對應的積分器進行積分。第j位元線之電荷為:
Figure 02_image385
(方程式53)
由於應用輸入啟動及電荷積分,因此每一積分器會產生由Vintj 表示之輸出電壓,該輸出電壓為積分器增益之函數(圖40b)。一旦應用所有啟動(且所有經加權電荷經積分),由開始表示之信號藉由單位導電率G將積分器輸出連接至電壓-Va ,該電壓為脈寬調變輸入啟動之振幅之負值。同時,連接至位元線之TDC開始量測時間。至-Va 之連接自積分器移除電荷(藉由放電電流Idischarge , j )。電荷之移除接著縮減積分器輸出電壓Vintj ,且此情形繼續,直至監視積分器輸出電壓之比較器偵測到積分器已達到其原始複歸值Vref 為止。一旦偵測到此位準,則停止信號係由比較器產生且傳遞至TDC以停止量測時間。因而,在啟動階段期間進行積分之總電荷Qj 係使用藉由單位導電率G構造的參考放電路徑而被完全地移除。移除此電荷(放電)所需之時間係:
Figure 02_image387
(54)
TDC在其輸出處產生數位整數值Yj ,其藉由round ( x ) 之捨位函數(量化函數)與tOD , j 及TDC參考時間Tref 成比例:
Figure 02_image389
(55)
將(54)代入(55)得到:
Figure 02_image391
(56)
TDC參考時間Tref 及脈寬調變器啟動產生器之時間基準Ta 兩者以整數比率與相同的系統時脈Tclock 同步。因此,Tref 及Ta 具有由k 表示之整數比率。同步允許k 能夠經選擇為整數或兩個整數值M與N之比率,亦即k = M/N。此亦處理較早提及之量化:
Figure 02_image393
(57)
將(57)代入(56)會產生比例式線性位元線輸出量測Yj ,其僅取決於輸入整數啟動Xi 、整數權重值Wij 及固定常數k:
Figure 02_image395
(58)
圖40(c)中展示經提議比例式時域交叉式網路實施之替代圖示。在此實施例中,參考參考電流源Iref 之整數的按比例縮放之電流源實施網路權重。放電路徑可由參考同一源且具有相反極性之一列電流源構成。網路中之信號之時域操作及波形恰好類似於圖40(b)中所展示之時域操作及波形。與圖40(a)中所說明之實施例之不同之處在於充電及放電電流係藉由利用主動電流源而非被動阻抗來產生。控管點積計算及比例式運算之方程式與方程式(53)至(59)保持相同,其中唯一的不同之處在於表示方程式(53)及(54)中之圖40(a)之充電及放電電流的
Figure 02_image397
應用Iref 替換。
就點積實施而言,方程式(58)說明實施至交叉式網路之比例式時域介面之經提議方法的重要性。時域中之比例式輸出評估首先係獨立於任何絕對參數值,諸如形成權重之單位阻抗或電流源(G或Iref )、諸如參考電壓Vref 或啟動振幅
Figure 02_image399
之電壓位準、諸如積分器增益及輸出位準Vintj之電荷積分參數,以及時間基準值
Figure 02_image401
運用啟動產生器及依賴於數位電路(計數器)之TDC且使用相同的時間基準
Figure 02_image403
,其輸入/輸出傳送特性(數位至時間及時間至數位)與一階匹配且因此不影響準確度。
就硬體及能耗效率而言,經提議方案可具有若干益處。首先,可用於介面中之僅有的類比電路中之一者為每一位元線之比較器,其在每一點積計算運算一次,從而最小化介面電路之靜態功率消耗且最大化其輸送量(相較於ADC介面)。電荷積分可使用位元線電容被動地進行或運用主動積分器主動地進行以獲得較高準確度,然而,位元線積分器可運用諸如基於反相器之主動積分器的低功率電路來實施。
經提議時域介面技術可基於不同記憶體元件(揮發性的,諸如SRAM,或非揮發性的,諸如浮動閘極快閃記憶體、ROM、RRAM、MRAM等)應用於各種組態的交叉式網路。經提議時域介面技術亦可應用於實施混合式記憶體架構(例如部分地基於SRAM及部分地基於ROM或用於混合信號記憶體內運算之不同記憶體元件的任何組合)之網路。
靜態隨機存取記憶體(Static Random-Access Memory;SRAM)可用於在記憶體運算中儲存權重。SRAM可提供待用於使用多級輸入或二進位輸入之網路中的二進位權重元件。點積輸出亦可為二進位或多級的。每一組態可具有其自身的特性及優缺點,然而,當採用使用SRAM胞元以便儲存權重之多級輸入啟動及多級點積輸出評估時,相較於利用振幅域介面之目前先進技術,經提議時域介面提供硬體及能量效率以及高精度計算結果。接下來,引入三個架構,其利用基於SRAM之交叉式網路之時域比例式介面:
圖41說明時域多級啟動輸入、多級點積輸出、基於SRAM之記憶體內運算交叉式網路。圖41(a)中所展示之網路可基於平衡的電流積分,其使用單位阻抗及TDC位元線轉換器且使用利用位元線電容之被動積分。圖41(b)說明用主動積分器替換被動積分器。圖41(c)說明具有輸入及輸出時間值之時域介面之操作。此交叉式網路之實施例可利用單位導電值G ,以將經儲存SRAM記憶體內容轉換為雙極電流(推拉電流分量),該雙極電流係藉由差分積分器進行積分。差分位元線結構意謂二進位權重值用作+1及-1值。每一胞元需要6個電晶體(6T胞元),其中4個電晶體實施SRAM核心且2個用於應用啟動信號圖41(b)中之積分器以較多能量及晶片面積為代價提供較佳積分準確度。圖41(c)中之網路之操作係與圖6a中所展示之基礎網路架構相同。該操作自用於位元線積分器之重設狀態開始,將該些位元線積分器重設為共模參考電壓Vref (例如SRAM供應Vdd 的一半,亦即Vref = 0.5Vdd )。接著,此後為應用脈寬調變啟動輸入Xi 。啟動時間基準Ta 及TDC參考時脈Tref 係與系統時脈Tclock 同步。權重導電率G使得雙極電荷(取決於經儲存SRAM值)流動至位元線積分器中,從而產生每一位元線產生之差分電壓Vintj 。在應用輸入之後,確證開始信號,以啟用放電支路。此支路使用兩個單位導電率G以藉由將經積分電荷排回至Vref 來移除該經積分電荷(在應用啟動輸入之前積分器起動的相同初始條件)。當確證開始信號時,TDC開始量測時間。一旦積分器傳遞差分零電壓,則比較器藉由產生STOPj 信號來停止TDC(圖41(c))。使用方程式(54)且用Vdd 替換Va (用於脈寬調變輸入啟動之SRAM供應以及振幅),假設與(57)所建議相同的同步的時間基準之間的比率,TDC數位輸出可經定義為:
Figure 02_image405
(59)
此展示點積結果,其首先僅為SRAM記憶體中之整數啟動輸入及經儲存權重之函數。應注意,當實施二進位權重網路時,導電率G可僅由6T胞元中之開關電晶體之導通電阻表示,且因此未必需要為單獨的物理阻抗。
圖42說明至用於點積計算的交叉式網路之基於SRAM之多級輸入、多級輸出時域介面。圖42(a)說明基於使用8T胞元SRAM及平衡的電流源之完全平衡的電流積分之網路,及匹配的完全平衡的放電路徑以及時間量測區塊。圖42(b)說明藉由SRAM判定之平衡的電流積分之極性及藉由積分器極性判定且藉由「斬波器(Chopper)」應用之平衡的放電相位之極性。圖42(a)說明具有時域比例式介面的基於SRAM之交叉式網路之另一方法,其中單位電晶體而非單位阻抗實施完全地平衡的電流源,以在藉由輸入啟動判定之時間的持續時間內對位元線電容上之電荷進行積分。此處,提議8電晶體(8T)胞元,其中4個電晶體形成保持權重值之SRAM核心,且其他4個電晶體實施完全平衡的電流源,其極性藉由儲存在SRAM中之值來判定。8T SRAM胞元中之推拉單位電流源參考具有電流Iref 之參考分支。參考電流係藉助於參考二極體連接之電晶體MPref 及MNref 來複製,從而產生用於使8T胞元PMOS及NMOS電流源偏壓之字線電壓VGP 及VGN 。這些字線電壓匹配MPref 及MNref 且產生+/-Iref 電流。圖42(b)展示對於對應於權重值+1及-1之兩個狀態,如何判定電流之平衡注入極性。SRAM狀態藉由僅將電流源之共用源極端子偏壓為Vdd (供應)或GND(接地)而判定啟用哪一電流源且停用哪一電流源。經提議連接藉由以相反的方式開啟及斷開電流源來保證平衡的電流方向。在藉由對應的輸入啟動Xi 判定之持續時間內藉由字線將電壓VGP 及VGN 應用於8T胞元電流源電晶體閘極。網路之整體功能操作係與(圖41(c))之實施例相同。相較於此實施例,比例式放電階段需要額外考慮。應藉由利用用於比例式操作之匹配的平衡電流源來實行放電階段。正確的放電極性(為了使得自積分器移除電荷而非添加電荷)係藉由利用相同位元線比較器輸出來判定。比較器輸出僅僅保存關於經積分電荷在啟動階段結束時之極性的資訊。此位元係用於控制「斬波器(Chopper)」區塊將NMOS及PMOS放電電流源連接至位元線之極性(參見圖42(b))。停用斬波器,直至應用開始信號為止。此時,TDC開始量測時間,且放電路徑單位電流源按照正確的極性自電容器移除電荷,直至比較器跳閘(當積分器輸出超過零時)為止。藉由停止信號標記之此事件停止TDC時間量測。因此,時域操作完全類似於圖41(c)中之架構的時域操作。
圖42(a)中所展示之被動位元線積分器亦可用圖41(b)中所展示之相同的主動積分器替換。相較於其他實施例,此網路提供精確度電荷積分及比例式輸出評估。對於在推導(59)中假設之相同的時序條件,網路輸出為:
Figure 02_image407
(60)
此再次為具有來自電路值之一階獨立性的比例式點積輸出。應注意,圖42中之架構亦可在充電及放電階段兩者中用單端位元線及單極電流源來實施。
圖43說明電荷再劃分架構。圖43(a)中所展示之電荷再分佈架構實施至8電晶體SRAM胞元(8T胞元)架構之多級輸入啟動及多級輸出時域介面。此處,每一8T胞元亦包括單位電容CU ,其取決於經程式化SRAM權重值+1或-1,將在「Vdd 」與「GND」之間或在「GND」與「Vdd 」之間充電。輸入啟動轉變為脈衝列,其中脈衝之數目等於整數輸入啟動Xi 。每一脈衝具有自與系統時脈Tclock 同步之信號Ta 提取的單位脈寬。取樣時脈TS 具有與Ta 相同的週期,但相較於Ta 具有相反的相位(圖43b)。每一字線廣播用於啟動之脈衝列,其中該字線係在與位元線之交叉點處由8T胞元接收。在8T胞元內,藉由輸入啟動操作之開關以藉由SRAM值判定之極性對CU 上之電荷進行取樣。在相反相位(藉由TS 界定)下,來自所有CU之電荷將經傳送至連接至位元線之積分器(積分器自重設零相位開始)。一旦應用所有的輸入啟動脈衝,則藉由位元線積分器進行積分之總電荷係:
Figure 02_image409
(61)
在此階段之後,當TDC開始量測時間時,確證開始信號(參見圖43(b)),且同時,該開始信號藉由切換單位放電電容器CU 以開始排空積分器而啟用穿過連接至取樣時脈TS 之AND閘極的放電路徑。放電極性係藉由連接至位元線積分器輸出之相同比較器來判定,且將用於當積分器被排空時停止TDC。放電時間tOD , j 可藉由經移除直至其達至初始重設狀態零之總電荷及以速率TS (TS = Ta )切換之電容器CU 之有效電阻來判定:
Figure 02_image411
(62)
時間tOD , j 係按照如藉由方程式(57)所描述之相同的同步比率運用參考參考時脈Tref 之TDC來量測,TDC之數位輸出計數Yj 可藉由以下方程式來判定:
Figure 02_image413
(63)
此展示比例式點積輸出計算首先獨立於所有電路參數且僅為整數啟動及權重之函數。應注意,位元線可運用全差分的開關電容器電路來實施。另外,積分電容不需要匹配8T胞元電容,此係因為積分器增益與比例式點積輸出不相關。僅應使放電路徑之電容器為8T胞元電容之整數比率,且具有相同類型之電容器。只要放電時脈(在圖43(a)之狀況下,使用取樣時脈TS )係與該系統之主時脈同步,此電容及放電時脈頻率之值亦與點積輸出不相關。
圖44說明應用於用於記憶體內運算點積計算之交叉式網路之時域介面方案的基於唯讀記憶體(ROM)之實例。輸入4401可由脈衝產生器4403接收。在圖44(a)中,展示具有基於ROM之可程式化權重的基礎架構之實施例。在圖44(b)中,展示具有基於ROM之權重程式化(量值及極性)的基於差分位元線導電率之架構的實施例。其他實施例(諸如圖40至圖43)中所展示之時域點積矩陣乘加交叉式網路可被考慮用於其中權重值作為唯讀記憶體(ROM)硬佈線之實施。此適合於其中不預期網路權重(或網路權重之部分)在實施用於記憶體內運算之硬體之後改變的應用。此技術將藉由使諸如阻抗(例如,如圖44中所展示)或電流源及電容器(例如,如下文在圖45中所展示)之較多的單位電路元件被容易地製造且經選擇為在稍後階段連接(例如作為後段製程金屬選項或NVM雷射熔融選項)而實現權重極性或甚至權重值之程式化。對於不同產品的不同權重值4405模式仍可修改基礎硬體。網路之各個部分仍可運用SRAM記憶體胞元來實現為SRAM及ROM實施之混合以提供某一可程式化性。
圖44之實施例改變圖40之一般基線架構,以及圖41之差分結構(基於單位阻抗),且因此已經轉換為基於ROM之時域交叉式網路且在圖44中展示。出於說明起見,在電路中在每一字線與位元線交叉點處預製了多個單位阻抗G,且金屬選項允許所要數目個單位阻抗連接至位元線且因此實現權重值之按比例縮放。亦可藉助於中間區段改變極性,該中間區段判定位元線阻抗之哪一側應連接至正或負電壓。此結構之時域比例式操作相較於圖40及圖41保持不變,且提供完全相同的益處。
圖45說明基於ROM之時域介面。圖45(a)說明應用於具有可程式化電容值及極性的基於電荷再分佈之交叉式網路位元線之實施例。圖45(b)說明具有可程式化電流量值及極性的基於參考電流源之交叉式網路。圖45中展示圖42及圖43之結構的基於ROM之替代方案。此處,圖45(a)之電荷再分佈網路藉助於金屬選項在每一ROM胞元具有可程式化電容值,該金屬選項使所要數目個預製的電容器並聯且將該些預製的電容器連接至該胞元。另外,位於中間之另一金屬選項藉由判定電容器充電極性來判定權重極性。圖45(b)中之架構為基於圖42架構之完全平衡的電流積分架構,其中預製的單位電流源可藉助於金屬選項以及極性選擇選項而連接至位元線。圖45之實施例中之架構的比例式時域操作在具有所有相關聯的益處之情況下保持類似於圖42及圖43展示之實施例。基於ROM之架構可以用於預製元件之增加的硬體為代價在製造後提供某一位準之權重可程式化性的可能性。該架構可與基於SRAM之記憶體組合,以將網路或權重之部分實施為ROM與SRAM之混合,以用於部分可程式化性。
圖46說明具有時域比例式介面之基於浮動閘極快閃或FeFET之交叉式網路的實例。可在脈寬產生器4603處接收輸入4601。神經網路權重可以非揮發性記憶體之形式在晶片上儲存(程式化)。此實現了可重組態硬體(相比於基於ROM之網路),其可在無需再程式化網路權重之情況下循環供電(相比於基於SRAM之網路)。另外,任一多級權重儲存能力允許增加網路效能(相比於二進位權重)以及節省晶片面積(相比於基於ROM及SRAM之方法)。一種實施此類記憶體內運算方案之方法係藉由使用浮動閘極快閃記憶體架構,其中權重經儲存在電晶體之臨限電壓中。另一方法為利用鐵電場效電晶體(Ferroelectric Field Effect Transistor;FeFET),其中鐵電層之磁極化經添加至電晶體之閘極結構且提供非揮發性儲存方法。可利用此類裝置來實現用於計算矩陣點積之交叉式記憶體內運算網路。時域比例式啟動及輸出評估技術可應用於這些網路以便提供比例式量測、線性度、小佔據面積及可擴展介面之基本益處。涉及浮動閘極電晶體或FeFET之結構經視為與2電晶體(2T)胞元相同,該2電晶體胞元具有充當存取切換器之一個電晶體及作為實施神經網路之權重的可程式化臨限電壓電晶體之另一電晶體。可程式化臨限值電晶體可用作三極體操作區中之可變電阻器或亞臨限或飽和操作區中之電流源。在較簡化的實施中,1T胞元以字線4607位準併入選擇器開關。
若可程式化臨限值電晶體用作電阻器,則電晶體之通道電導Gij 係藉由以下方程式來判定:
Figure 02_image415
(64)
其中Vgs 為電晶體閘極-源極電壓,β 為與其尺寸(寬度/長度)之縱橫比、電荷載流子移動力等成比例的電晶體參數,且VTH , ij 為穿過浮動或磁閘極之經程式化臨限電壓,其最終控制權重導電率Gij 。為了將權重導電率配置成具有整數比率m ,亦即具有值:G 2G 3G 4G 等,經程式化臨限電壓與基線臨限電壓VTH , b 之關係必須產生最小單位權重導電率G。換言之,對於提供導電率m×G(其中m = 1, 2, 3, 4, …)之電晶體,其臨限電壓VTH , m 相較於基線電晶體應滿足以下關係:
Figure 02_image417
(65)
其產生:
Figure 02_image419
(66)
用於使用方程式(63)獲得線性比導電率之設計空間經限於可能3或4個導電位準,此係因為用於最小的可能的Vgs 及可能的經程式化臨限電壓之邊界受到限制(受供應電壓及電晶體特性限制)。換言之,由於方程式66之性質,對於相同類型的電晶體,獲得較大導電率產生負臨限電壓位準,此可能為不可行的(圖47頂部)。在設計空間及以下方程式(66)內,首先可達至通道電導之間的整數比率(對於有限數目個位準),且使用相同的電晶體縱橫比。考慮到這一點,比例式時域介面可應用於交叉式網路,其採用浮動閘極快閃或FeFET電晶體。
圖46說明具有時域比例式介面之基於浮動閘極快閃或FeFET之交叉式網路。圖46(a)展示基於電晶體通道電導之基於2T胞元之網路4620(三極體操作)。圖46(b)說明基於電流源之基於2T胞元之網路(亞臨限或飽和)。圖46(c)說明基於電晶體通道電導之具有合併的字線開關的基於1T胞元之網路(三極體操作)。圖46(d)說明基於電流源之具有合併的字線開關之基於1T胞元之網路(亞臨限或飽和)。可使用基線導電率G以便形成放電路徑。此在圖46(a)中展示。該些啟動作為脈寬調變信號應用。此網路之操作類似於圖40(a)之操作,且其輸出藉由方程式(54)至(58)判定。應注意,通道電導係藉由電晶體之汲極-源極電壓Vds 調變,且因此較佳的為將位元線保持在經控制DC電壓,亦即藉由採用在求和節點處提供經調節DC電壓之主動積分器而非被動積分器。圖46(c)中展示圖46(a)之網路的替代方案,其中使用1T胞元電晶體且經切換選擇器在字線處合併。
若可程式化臨限值電晶體用作電流源,則在飽和狀態下操作之情況下,電晶體之通道電流遵循平方定律:
Figure 02_image421
(67)
若電晶體在亞臨限值下操作,則其遵循指數關係:
Figure 02_image423
(68)
其中IS 為飽和電流,n 為亞臨限值之電晶體參數,且VT 為熱電壓(在室溫下為25 mV)。對於藉由Iij 實施之線性權重比率,亦即為了使電晶體之通道電流相對於具有基線臨限電壓VTH , b 之單位電晶體具有整數比率,亦即Im = m×Iref ,VTH , m 應再次經配置為具有以下關係:
對於飽和操作:
Figure 02_image425
(69)
對於亞臨限操作:
Figure 02_image427
(70)
再次,供應及最小以及最大的可程式化臨限值的限制設置了對可實現的位準之可能數量的限制,以獲得權重之間的整數比率。可程式化的臨限值電晶體可經配置為交叉式網路中之電流源,該交叉式網路用與單位電流源一起利用之放電路徑來實施如圖46(b)中所展示之包括比例式時域讀出之網路權重。此網路之操作類似於圖40(c)之操作,且其比例式矩陣點積輸出係藉由方程式(58)導出。圖12d中展示圖46(b)之網路的替代方案,其中使用1T胞元電晶體且經切換選擇器在字線處合併。
應注意,對於用時域比例式操作方案實施較大數目的權重位準,浮動閘極快閃或FeFET之基於電流源之架構相比於藉助於通道電導實施權重之網路實現更大數目的位準(儘管可實施負臨限電壓,然而,產生線性位準意謂應用接近零或負的閘極-源極電壓,此可能為較不實際的。)。電流源實施主要由於其電流源實施之指數性質而實現具有正臨限電壓之較多整數比率位準(相比於通道電導與經程式化臨限電壓之線性相關性)。此在圖47中加以說明,圖47說明用於實施導電及電流源之整數數目個位準之臨限電壓範圍(在飽和區及亞臨限區中)。若實施了二進位權重,則此並非問題,在該狀況下,單位浮動閘極或FeFET電晶體將以二進位(接通/斷開)方式操作。在該狀況下,圖46(a)及圖46(b)之時域網路以相同方式操作,且具有相同的比例式操作益處。
圖47說明VTH , ij 之範圍,其用以利用通道電導(頂部)或飽和(中間)或亞臨限值(底部)下之電流源來實施交叉式網路之線性地按比例縮放之權重。
諸如RRAM或相變記憶體(Phase Change Memory;PCM)等之電阻記憶體(憶阻器)出於記憶體內運算的目的為藉由利用記憶體元件實施神經網路權重提供了面積有效方式。使用憶阻器來實施計算矩陣點積之交叉式網路可與經提議時域比例式介面組合,以最大化面積及能量效率以及提供可擴展的介面,該可擴展的介面首先獨立於電路元件之製程、溫度及電壓變化。若干實施例可用於架構。
在第一實施例中,該實施例可基於圖40中所展示之基礎架構,且係藉由用可程式化憶阻器元件替換權重導電率G.Wij 、實施導電值及使用基線憶阻器導電率G來實施實現比例式充電及放電操作之放電路徑來實現。在關於匹配的權重及放電路徑元件以及同步的時間基準之條件下,放電時間之時域評估產生點積,該點積首先為整數輸入及權重按比例縮放值之函數。方程式(58)表示輸出及積分函數可藉助於主動(具有放大器之積分器)或被動(位元線電容)積分來實施。
圖48說明利用位元線電容及憶阻器導電率之兩相被動放電。假設具有足夠輸入共模電壓拒斥能力之正負號比較器的可用性,該方法在如何執行比例式時間量測方面與其他實施例略有不同。如在圖48a中所說明,此方法可利用兩相被動放電,其使用位元線電容CBL 及憶阻器導電率,其藉助於按比例縮放單位導電率Gu 之雙極整數權重±Wij 來圍繞基線導電率G0 (圖38(b)中所展示之導電特性)以差分方式配置:
Figure 02_image429
(71)
各自連接至電容CBL 之由VBLj 及VBLbj 表示的差分位元線電壓具有至接地之放電路徑。脈寬調變器4803控制附接至憶阻器開關之字線4809。此提供由經加權憶阻器及啟動脈寬控管之朝向接地的位元線4802之放電相位4813。第二放電路徑係藉由參考導電率控制且提供比例式時間量測。連接至每一差分位元線之兩個端子的兩個類比比較器將位元線電壓VBLj 及VBLbj 與臨限電壓Vref 進行比較(亦可以輸送量之成本為代價來在位元線當中共用比較器)。圖48(b)中展示時域讀出方案之操作。位元線自預充電狀態開始而達至預充電電壓VP 。接著,應用脈寬調變啟動信號(藉由啟動輸入Xi 按比例縮放且與時間基準Ta 同步)。該些啟動在藉由啟動判定之持續時間內驅動開關,該些開關藉由權重導電率來使位元線電容器放電。一旦應用所有啟動(如圖48(b)中所展示),指數放電時間藉由經加權時間常數之疊加會橫跨位元線產生全微分電壓VOD ,亦即VOD , j = VBLj - VBLbj
Figure 02_image431
(72)
在第二階段中,位元線係藉由具有導電率Gref 之參考導電分支進行放電,且藉由受「放電」信號控制之放電開關來啟用。在此階段期間,每一位元線電壓最終超過臨限位準Vref ,此時,對應的比較器產生邏輯信號。邏輯區塊接收兩個比較器輸出且產生開始及停止信號(當第一比較器觸發時產生開始,且當第二比較器觸發時產生停止)。這些信號經饋送至位元線之時間至數位轉換器(TDC)4819,其量測開始事件與停止事件之間的時間tOD , j 。tOD , j 時間為每一位元線在將啟動應用於比較器臨限電壓Vref 之後(參見圖48(b))自其狀態放電所需之由tdis , Pj 表示之時間與tdis , Mj 之間的差,且可經導出為:
Figure 02_image433
(73)
Figure 02_image435
(74)
Figure 02_image437
(75)
藉由將Gref 選擇為Gu 之整數倍,亦即Gref =M .Gu ,時域量測tOD , j 就導電率而言係按比率量測的:
Figure 02_image439
(76)
時間至數位轉換器之功能可簡化為計數至N之計數器之功能,N為具有適合持續時間tOD , j 之時間段Tref 之參考時脈的週期之數目:
Figure 02_image441
(77)
使脈寬調變啟動之時間單位Ta 與如藉由方程式(57)所描述之TDC之時間基準Tref 同步4815,會不再需要量化函數(round(x))且TDC之經數位化整數N輸出可重寫為:
Figure 02_image443
(78)
其展示實施矩陣點積輸出之線性及比例式評估之經提議方案。
圖49說明基於憶阻器之被動放電方法,其具有使用一個比較器之比例式時域點積輸出評估。在圖49(a)中,圖示展示交叉式網路及導電。在圖49(b)中,說明時域操作波形。圖48(a)中所展示之網路之操作的替代方案為圖49(a)中所展示之實施。此處,可兩次使用單個比較器區塊(而非兩個),且可去除參考電壓Vref 。在將脈寬調變啟動輸入應用於字線且完成位元線電容之經加權放電之後,該比較器判定位元線電壓VBLj 或VBLbj 中之哪一者係兩者中之較大電壓。比較器輸出信號接著判定藉由參考放電路徑放電之具有較大電壓之位元線,而另一位元線之電容器(具有較小電壓)上之電荷保持不變(參見圖49(b))。此藉助於圖49(a)中所展示之AND及NOT邏輯閘極而僅僅應用於參考路徑放電控制開關。當確證控制信號「放電/開始」時,參考路徑放電開始,從而使具有最大電壓之位元線放電且開始TDC時間量測。當比較器輸入之正負號改變時,例如使位元線端子之電壓放電變得小於非放電線,比較器輸出雙態觸發停止事件且將停止事件標記至TDC以停止時間量測。開始與停止之間的時間差形成時間TOD , j ,其藉由等化較大電壓位元線藉由參考導電率Gref 而放電至較小電壓位元線之電壓所需的時間來導出。在時間TOD , j 之後等化兩個電壓產生:
Figure 02_image445
(79)
重新配置方程式產生:
Figure 02_image447
(80)
其中TOD 可經導出為:
Figure 02_image449
(81)
方程式(81)再次展示第三方法亦實施交叉式網路點積輸出之比例式評估,其一階獨立於具有同步啟動及TDC時間參考(方程式57)以及比例式阻抗位準(Gref =M .Gu )之電路元件值,從而產生如藉由方程式(78)所描述之相同數位輸出Yj ,例如,僅為整數啟動及權重之函數。
本文中所揭示之製程、方法或演算法可遞送至處理裝置、控制器或電腦/可由處理裝置、控制器或電腦實施,該處理裝置、控制器或電腦可包括任一現有的可程式化電子控制單元或專用電子控制單元。類似地,該些製程、方法或演算法可經儲存為可由控制器或電腦執行之呈許多形式之資料及指令,該些形式包括但不限於永久地儲存於諸如ROM裝置之不可寫入儲存媒體上之資訊,及可改變地儲存於諸如軟碟、磁帶、CD、RAM裝置及其他磁性及光學媒體之可寫入儲存媒體上的資訊。該些製程、方法或演算法亦可實施於軟體可執行物件中。替代地,該些製程、方法或演算法可使用合適的硬體組件來整體或部分地體現,該些硬體組件諸如特殊應用積體電路(ASIC)、場可程式化閘陣列(Field-Programmable Gate Array;FPGA)、狀態機、控制器或其他硬體組件或裝置,硬體、軟體及韌體組件之組合。
雖然上文描述例示性實施例,但並不意欲這些實施例描述申請專利範圍涵蓋之所有可能形式。說明書中使用之字詞為描述而非限制之字詞,且應理解,在不脫離本發明之精神及範圍的情況下可進行各種改變。如先前所描述,各種實施例之特徵可組合以形成本發明之可能未明確地描述或說明之其他實施例。雖然各種實施例可能經描述為相比於其他實施例或先前技術實施在一或多個所要特性方面提供優點或為較佳的,但所屬技術領域中具通常知識者認識到,一或多個特徵或特性可能受損以實現所要的整個系統屬性,其取決於特定應用及實施。這些屬性可包括但不限於成本、強度、耐用性、生命週期成本、可銷售性、外觀、包裝、大小、可維護性、重量、可製造性、組裝難度等。由此,在任何實施例經描述為相比於其他實施例或先前技術實施就一或多個特性而言較不合乎需要之情況下,這些實施例不在本發明之範圍外部且對於特定應用可為合乎需要的。
300:反相電路 301:輸入 305:第一電阻器 307:第二電阻器 309:非線性放大器 310:延遲 311:均衡點 400:多輸入多狀態DEQ模型 401a:輸入 401b:輸入 401c:輸入 403a:狀態 403b:狀態 403c:狀態 409a:反相放大器 409b:反相放大器 409c:反相放大器 420a:增益 420b:輸出層 450:輸出 500:DEQ網路 501:輸入 503:運算結構 504:輸出層 509:根 511:輸出層 600:運算結構 601:輸入 603:列 607:行 609:感測放大器 611:元素 612:列驅動器 702:列驅動器 703:列 709:感測放大器 711:輸出層 713:結構元件 800:運算結構 809:感測放大器 811:輸出層 820:偏差 901:輸入 902:列驅動器 909:感測放大器 910:感測放大器 911:輸出層 1000:DEQ網路 1001:輸入 1002:偏差 1003:運算結構 1005:時間 1007:另一時間延遲 1009:狀態 1011:輸出層 1100:離散時間DEQ網路 1101:輸入 1103:電腦結構 1105:延遲 1107:延遲 1109:經取樣狀態 1111:輸出層 1113:輸出 1203:取樣保持 1207:取樣保持 1211:輸出 1401:輸入 1403:取樣保持電路 1404:時間延遲輸入 1405:求和區塊 1407:第二取樣保持電路 1409:函數 1411:輸出 1501:陣列 1503:列驅動器 1505:行讀出器 1507:重設區塊 1607:重設區塊 1609:字線 1611:位元線 1701:單位胞元 1703:列驅動器 1705:行讀出 1707:重設區塊 2001:字線 2003:位元線 2005:單位胞元 2007:接點連接件或通孔連接件 2009:內部金屬連接件 2101:電壓 2103:單個NMOS電晶體 2107:重設區塊 2109:求和 2201:電壓 2203:三極體區 2301:電壓 2303:參考電壓 2309:求和 2401:電壓 2409:求和 2509:總求和 2703:N乘M陣列 2805:三乘三陣列子區段 4401:輸入 4403:脈衝產生器 4405:權重值 4601:輸入 4603:脈寬產生器 4607:字線 4620:基於2T胞元之網路 4802:位元線 4803:脈寬調變器 4809:字線 4813:放電相位 4815:同步 4819:時間至數位轉換器(TDC) SW:開關
[圖1]說明DEQ網路之表示。
[圖2]說明用於DEQ網路之信號流程圖之實施例。
[圖3]說明具有非線性放大器309之簡單的反相電路300之實施例。
[圖4]說明基於反相放大器之多輸入多狀態DEQ模型之實例。
[圖5]說明用運算結構503及輸出層504實施之DEQ網路500。
[圖6]說明運算結構600之實例。
[圖7]為可用於實施DEQ網路之通用運算結構之一個實施例的圖示。
[圖8]說明可如何使用運算結構來利用偏差。
[圖9]說明替代性實施例,其展示併入至運算結構中之輸出層運算之實施例。
[圖10]為連續時間DEQ網路之實例,該連續時間DEQ網路之輸出為當前及先前輸入以及輸出的連續時間函數。
[圖11]為離散時間DEQ網路之實例,該離散時間DEQ網路之輸出為當前及先前輸入以及輸出之離散時間函數。
[圖12]說明不依賴於先前輸入或輸出之DEQ網路的離散時間實施之信號流程圖。
[圖13]說明用於來自圖12之實施例之DEQ離散時間系統的波形。
[圖14]說明具有額外延遲輸入及回饋之DEQ離散時間實施之信號流程圖。
[圖15]說明記憶體內運算MAC區塊之方塊圖。
[圖16]說明陣列之4×4子集,諸如N×M陣列之四乘四子集。
[圖17(a)]至[圖17(g)]說明多種技術,其用於擴展所展示之架構以按比例縮放至更高解析度權重、更高解析度輸入啟動及差動運行。
[圖18(a)]至[圖18(h)]說明展示實例介面電路。
[圖19]說明CMOS半導體製程之實例。
[圖20(a)]至[圖20(e)]說明關於具有字線及位元線之單位胞元的連接與單位胞元中之內部連接之間的實施例之各種實例。
[圖21]說明利用第一實施之基於單個電晶體(1T)ROM之運算單元的實例。
[圖22]說明使用單個電晶體作為單位元件之交替實施。
[圖23]說明使用單個電晶體作為單位元件之替代性實施例。
[圖24]說明利用單個電容器作為單位元件之基於ROM之MAC陣列的實施。
[圖25]說明利用單個電容器作為單位元件之基於ROM之MAC陣列的替代性實施例。
[圖26(a)]至[圖26(b)]說明在單位元件中利用單個電晶體及單個電容器之基於ROM之MAC陣列的實施。
[圖27(a)]至[圖27(b)]說明使用單個電晶體及電容器作為單位元件之交替實施。
[圖28]說明在單位元件中使用兩個電晶體及電容器之實施。
[圖29]說明基於單個電晶體及單個電容器ROM之運算單元之實施例。
[圖30]說明使用單個電阻器作為單位元件之基於ROM之MAC陣列的實施例。
[圖31(a)]至[圖31(d)]針對任意機器學習演算法說明基於IMC之處理器內之運算單元的若干實施例。
[圖32(a)]至[圖32(d)]說明一實施例,其中不同類型的單位胞元交錯且連接至同一位元線。
[圖33(a)]至[圖33(d)]說明組合ROM與RAM兩者之運算單元之實施例。
[圖34(a)]至[圖34(d)]說明3D堆疊的基於ROM之IMC陣列之各種實施例。
[圖35(a)]至[圖35(c)]說明「邊緣」感測裝置之實例。
[圖36]說明藉由交叉式網路實施之類比相乘及加法運算之實施例。
[圖37(a)]至[圖37(b)]說明具有嵌入於記憶體中之經脈寬調變之啟動信號及二元權重的交叉式網路。
[圖38(a)]至[圖38(c)]說明用經脈寬調變之啟動而啟動且用振幅域類比至數位轉換器在振幅域中讀出的基於憶阻器之交叉式網路。
[圖39(a)]至[圖39(c)]說明至點積計算交叉式網路的基於時間之介面。
[圖40(a)]至[圖40(c)]說明至混合信號點積運算硬體之經提議時域介面的功能方塊圖及操作。
[圖41(a)]至[圖41(c)]說明時域多級啟動輸入、多級點積輸出、基於SRAM之記憶體內運算交叉式網路。
[圖42(a)]至[圖42(b)]說明至用於點積計算的交叉式網路之基於SRAM之多級輸入、多級輸出時域介面。
[圖43(a)]至[圖43(b)]說明電荷再劃分架構。
[圖44(a)]至[圖44(b)]說明應用於用於記憶體內運算點積計算之交叉式網路之時域介面方案的基於唯讀記憶體(Read Only Memory;ROM)之實例。
[圖45(a)]至[圖45(b)]說明基於ROM之電荷再分佈時域介面。
[圖46(a)]至[圖46(d)]說明具有時域比例式介面之基於浮動閘極快閃或FeFET之交叉式網路的實例。
[圖47]說明用以利用飽和或子臨限值中之通道電導或電流源來實施交叉式網路之經線性地按比例縮放之權重的電晶體臨限電壓之範圍。
[圖48(a)]至[圖48(b)]說明利用位元線電容及憶阻器導電率之兩相被動放電。
[圖49(a)]至[圖49(b)]說明基於憶阻器之被動放電方法,其具有使用一個比較器之比例式時域點積輸出評估。
2101:電壓
2103:單個NMOS電晶體
2107:重設區塊
2109:求和

Claims (20)

  1. 一種用於一神經網路之矩陣操作中之唯讀記憶體(ROM)運算單元,其包含: 一單位元件,其包括一或多個連接件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接; 一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
  2. 如請求項1之ROM運算單元,其中與該運算單元相關聯之該權重係回應於該單位胞元內部之組件之間的連接或回應於缺乏該連接。
  3. 如請求項1之ROM運算單元,其中該些被動電元件包括至少一電阻器或一電容器。
  4. 如請求項1之ROM運算單元,其中該些主動電元件包括一單個電晶體,該單個電晶體包括連接至該位元線之一第一端子及連接至一參考電壓之一第二端子。
  5. 如請求項1之ROM運算單元,其中該一或多個連接件利用一或多個金屬接點或通孔連接件。
  6. 如請求項1之ROM運算單元,其中該一或多個主動元件包括複數個電晶體,該複數個電晶體各自包括至該字線或該位元線之一第一端子連接件,及至該字線或該位元線之一第二端子連接件。
  7. 如請求項1之ROM運算單元,其中該些主動電元件包括一單個電晶體,該單個電晶體包括連接至該字線之一閘極端子。
  8. 如請求項1之ROM運算單元,其中該些被動電元件包括用於第一二進位權重值而連接至該位元線且用於第二二進位權重值而連接至該字線的一單個電阻器或電容器,其中該第一二進位權重值及該第二二進位權重值為一相同值或不同值。
  9. 如請求項1之ROM運算單元,其中該些被動電元件包括用於一二進位權重值而連接至該位元線及該字線之一單個電阻器或電容器。
  10. 一種用於一神經網路之矩陣操作中之混合記憶體運算單元,其包含: 一第一層,其包括隨機存取記憶體(RAM),該隨機存取記憶體包括一RAM運算單元,其中該RAM運算單元被配置以儲存可再程式化任務參數; 一第二層,其包括唯讀記憶體(ROM),該唯讀記憶體包括一單位元件,該單位元件包括一或多個連接件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及 一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
  11. 如請求項10之混合記憶體運算單元,其中該RAM為RRAM、PCM、SRM、FeRAM、快閃記憶體或MRAM。
  12. 如請求項10之混合記憶體運算單元,其中該第一層及該第二層為一相同層。
  13. 如請求項10之混合記憶體運算單元,其中該ROM為一非揮發性記憶體。
  14. 如請求項10之混合記憶體運算單元,其中該第一層處於一第一區塊中,且該第二層為一鄰近區塊中之一相同層。
  15. 一種用於一神經網路之矩陣操作中之唯讀記憶體(ROM)運算單元,其包含: 複數個層級,其形成一三維(3D)結構,該三維結構含有包括一或多個連接件之至少一單位元件,其中與該運算單元相關聯之一權重係回應於單位胞元內部或在該單位元件與用以形成該ROM運算單元中之列及行之陣列的一字線及一位元線之間的一連接或回應於缺乏該連接;及 一或多個被動電元件或主動電元件,其位於該單位元件中,其中該些被動電元件或該些主動電元件被配置以調整與該運算單元相關聯之該權重,其中該ROM運算單元被配置以接收一輸入且輸出與該矩陣操作相關聯之一值,其中該值係回應於該輸入及該權重。
  16. 如請求項15之ROM運算單元,其中該3D結構包括複數個該些ROM運算單元。
  17. 如請求項15之ROM運算單元,其中該3D結構包括一或多個可再程式化的基於記憶體之運算單元。
  18. 如請求項17之ROM運算單元,其中該些可再程式化的基於記憶體之運算單元為RRAM、PCM、SRAM、FeRAM及快閃記憶體。
  19. 如請求項15之ROM運算單元,其中該複數個層級各自含有一或多個運算單元。
  20. 如請求項15之ROM運算單元,其中一或多個基於ROM之IMC陣列係利用一基板層及一下部金屬層而在另一基於ROM之IMC陣列上方的一金屬層中進行3D堆疊。
TW110127273A 2020-07-27 2021-07-26 用於類比矩陣操作的唯讀記憶體架構 TW202205295A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/940,115 US11404106B2 (en) 2020-07-27 2020-07-27 Read only memory architecture for analog matrix operations
US16/940,115 2020-07-27

Publications (1)

Publication Number Publication Date
TW202205295A true TW202205295A (zh) 2022-02-01

Family

ID=79179477

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110127273A TW202205295A (zh) 2020-07-27 2021-07-26 用於類比矩陣操作的唯讀記憶體架構

Country Status (4)

Country Link
US (1) US11404106B2 (zh)
CN (1) CN113990370A (zh)
DE (1) DE102021207970A1 (zh)
TW (1) TW202205295A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230238047A1 (en) * 2022-01-21 2023-07-27 National Tsing Hua University Memory unit with time domain edge delay accumulation for computing-in-memory applications and computing method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11637561B2 (en) * 2020-11-18 2023-04-25 IP Great Incorporated Method of data conversion for computing-in-memory
US11908458B2 (en) * 2020-12-29 2024-02-20 International Business Machines Corporation Customization of recurrent neural network transducers for speech recognition
KR20220141652A (ko) * 2021-04-13 2022-10-20 삼성전자주식회사 멀티-비트 연산 장치 및 방법
US11942144B2 (en) * 2022-01-24 2024-03-26 Stmicroelectronics S.R.L. In-memory computation system with drift compensation circuit
WO2023141701A1 (en) * 2022-01-25 2023-08-03 Blumind Inc. Analog systems and methods for audio feature extraction and natural language processing
KR20230136353A (ko) * 2022-03-18 2023-09-26 삼성전자주식회사 뉴럴 네트워크 회로 및 장치
WO2023187782A1 (en) * 2022-03-29 2023-10-05 Spinedge Ltd Apparatus and methods for approximate neural network inference
CN117910424B (zh) * 2024-03-20 2024-05-28 安徽大学 时域存算单元、时域量化单元、及时域存内计算结构

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247206A (en) * 1992-03-12 1993-09-21 Intel Corporation Neural network accommodating parallel synaptic weight adjustments in a single cycle
JP6674838B2 (ja) * 2015-05-21 2020-04-01 株式会社半導体エネルギー研究所 電子装置
CN110491847B (zh) * 2018-05-14 2020-12-29 北京信息科技大学 基于硅通孔的神经元功能电路单元
US10643705B2 (en) * 2018-07-24 2020-05-05 Sandisk Technologies Llc Configurable precision neural network with differential binary non-volatile memory cell structure
US20200356847A1 (en) * 2019-05-07 2020-11-12 Hrl Laboratories, Llc Transistorless all-memristor neuromorphic circuits for in-memory computing
US10915451B2 (en) * 2019-05-10 2021-02-09 Samsung Electronics Co., Ltd. Bandwidth boosted stacked memory
US11436478B2 (en) * 2019-05-22 2022-09-06 Ememory Technology Inc. Control circuit for multiply accumulate circuit of neural network system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230238047A1 (en) * 2022-01-21 2023-07-27 National Tsing Hua University Memory unit with time domain edge delay accumulation for computing-in-memory applications and computing method thereof
US11967357B2 (en) * 2022-01-21 2024-04-23 National Tsing Hua University Memory unit with time domain edge delay accumulation for computing-in-memory applications and computing method thereof

Also Published As

Publication number Publication date
US20220028444A1 (en) 2022-01-27
CN113990370A (zh) 2022-01-28
US11404106B2 (en) 2022-08-02
DE102021207970A1 (de) 2022-01-27

Similar Documents

Publication Publication Date Title
TW202205295A (zh) 用於類比矩陣操作的唯讀記憶體架構
TW202205113A (zh) 用於記憶體運算交叉式網路中的類比混合信號之時域比例式讀出介面
TW202219840A (zh) 用於深度均衡模型的硬體運算結構
Jaiswal et al. 8T SRAM cell as a multibit dot-product engine for beyond von Neumann computing
US20210151102A1 (en) Circuit methodology for highly linear and symmetric resistive processing unit
CN110352436B (zh) 用于神经网络训练的具有迟滞更新的电阻处理单元
US10453527B1 (en) In-cell differential read-out circuitry for reading signed weight values in resistive processing unit architecture
US11756610B2 (en) Apparatus and method with in-memory delay dependent processing
Mu et al. SRAM-based in-memory computing macro featuring voltage-mode accumulator and row-by-row ADC for processing neural networks
Zhou et al. Ml-hw co-design of noise-robust tinyml models and always-on analog compute-in-memory edge accelerator
KR20240006614A (ko) 트랜지스터 기반 신경망을 위한 시스템, 방법 및 컴퓨터 디바이스
Wan et al. Edge AI without compromise: efficient, versatile and accurate neurocomputing in resistive random-access memory
Lepri et al. In-memory computing for machine learning and deep learning
Roy et al. Fundamental limits on the computational accuracy of resistive crossbar-based in-memory architectures
CN116601710A (zh) 用于模拟电阻交叉阵列中的不同操作的读出电路的动态配置
García-Redondo et al. Training DNN IoT applications for deployment on analog NVM crossbars
US20200395053A1 (en) Integrated circuits
Wei et al. Neuromorphic computing systems with emerging devices
Dorzhigulov et al. Spiking CMOS-NVM mixed-signal neuromorphic ConvNet with circuit-and training-optimized temporal subsampling
Chen et al. A Low-Cost Training Method of ReRAM Inference Accelerator Chips for Binarized Neural Networks to Recover Accuracy Degradation due to Statistical Variabilities
Amer Analog Mixed Signal Circuits Design with Emerging Technologies for AI and Edge Computing: From New Devices to New System Architectures
Correll Analog In-Memory Computing on Non-Volatile Crossbar Arrays
Zurla et al. Designing Circuits for AiMC Based on Non-Volatile Memories: a Tutorial Brief on Trade-offs and Strategies for ADCs and DACs Co-design
Song et al. A Ta2O5/ZnO Synaptic SE-FET for supervised learning in a crossbar
Song et al. A 4-bit Calibration-Free Computing-In-Memory Macro With 3T1C Current-Programed Dynamic-Cascode Multi-Level-Cell eDRAM