TW202349884A - 用於記憶體內運算巨集的共用行之類比數位轉換器 - Google Patents

用於記憶體內運算巨集的共用行之類比數位轉換器 Download PDF

Info

Publication number
TW202349884A
TW202349884A TW112118016A TW112118016A TW202349884A TW 202349884 A TW202349884 A TW 202349884A TW 112118016 A TW112118016 A TW 112118016A TW 112118016 A TW112118016 A TW 112118016A TW 202349884 A TW202349884 A TW 202349884A
Authority
TW
Taiwan
Prior art keywords
row
bit
bit cell
analog
signal
Prior art date
Application number
TW112118016A
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 TW202349884A publication Critical patent/TW202349884A/zh

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/124Sampling or signal conditioning arrangements specially adapted for A/D converters
    • H03M1/1245Details of sampling arrangements or methods
    • 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/412Digital 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 using field-effect transistors only
    • 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
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • H03M1/122Shared using a single converter or a part thereof for multiple channels, e.g. a residue amplifier for multiple stages
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/34Analogue value compared with reference values
    • H03M1/38Analogue value compared with reference values sequentially only, e.g. successive approximation type
    • H03M1/46Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter
    • H03M1/466Analogue value compared with reference values sequentially only, e.g. successive approximation type with digital/analogue converter for supplying reference values to converter using switched capacitors
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • H03M1/123Simultaneous, i.e. using one converter per channel but with common control or reference circuits for multiple converters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Complex Calculations (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

各種實施例包含用於縮擴及加總藉由N×M位元格陣列中的記憶體內運算位元格行所提供的複數個加權資料代表性類比訊號的系統、方法、架構、機制、設備及其改進使得加權資料代表性類比訊號的類比累加或加總提供經縮擴的結果供進一步處理。

Description

用於記憶體內運算巨集的共用行之類比數位轉換器
相關申請案的交叉參考 本申請是相關於2021年4月2日提交的美國專利申請號17/221,399,其為美國專利申請號17/252,521的部分連續案,其主張於2018年6月18日提交的美國臨時專利申請號62/686,296、於2018年7月24日提交的美國臨時專利申請號62/702,629、於2018年11月2日提交的美國臨時專利申請號62/754,805以及於2018年11月7日提交的美國臨時專利申請號62/756,951的權益,該申請的全部內容藉由引用而併入於此。
本發明相關於記憶體內運算的領域,特別地是相關於將例如由記憶體內運算格陣列的多個平行輸出所提供而表示加權資料的類比訊號予以縮擴、加總及轉換成數位資料。
本部分是為了向讀者介紹本領域的各個方面,且可能相關於以下敘述及/或主張的本發明的各個方面。相信這個討論能有助於提供背景資訊給讀者,以促使對本發明的各個方面更好的理解。因此,應理解這些陳述是依此而閱讀,而非作為先前技術承認。
電荷領域記憶體內運算(in‑memory computing, IMC)近來作為可靠以及可縮擴的記憶體內運算運行方法而興起。於此,在記憶體位元格中的運算操作以電荷提供它們的結果,一般是使用透過電容器的電壓至電荷轉換。因此,位元格電路涉及在給定的位元格內的本地電容器的適當切換,其中那個本地電容器也是適當地耦合至其他的位元格電容器,以產生跨耦合之位元格的集合運算結果。記憶體內運算適合實施矩陣向量乘法,其中矩陣元素被儲存於記憶體陣列中,且向量元素是以平行的方式在記憶體陣列上傳播。
不同於如習知記憶體中所做的一次取得個別的位元,IMC運算架構的優勢在於是透過儲存在記憶體中許多位元取得運算結果。這藉由降低所需的資料獲取週期的數量而提升系統能源效率以及速度。通常來說,運算結果在記憶體行內得出,其中:平行輸入資料被提供到列,運算(例如乘法)是藉由其內儲存有資料的記憶體位元格執行;且進一步而言,運算(例如累加)是在行位元線上執行以提供對單個輸出的減少。相對於單一位元存取,經減少的輸出一般將有增加的待解決之動態範圍(也就是訊號位準的數量)。進一步地,行運算通常是採用類比操作,藉此可使適用於在該受侷限的記憶體電路(例如位元格、位元線)內之運算並可致能增加的動態範圍。為了將行的類比輸出轉換為數位表示,此使得各個行要有類比數位轉換器(analog-to-digital converter, ADC),以適合在架構中進一步處理。
先前技術中的各種缺陷藉由用於縮擴及加總由N×M位元格陣列內的記憶體內運算行所提供的複數個加權資料代表性類比訊號的系統、方法、架構、機制、設備及其改良而被解決,使得加權資料代表性類比訊號的類比累加或加總提供經縮擴結果以供進一步處理。
各個位元格在量測或評估階段中在各自的輸出元素(例如輸出電容器)提供操作的結果,該結果具有基於位元格在位元格列中的位置而與其關聯的權重(例如結果從LSB到MSB的二進制或其他的加權),使得位元格行中的各個位元格關聯於相同的權重。
關聯於各個行的類比訊號(例如電壓或電荷)在縮擴階段中隨著各自的行權重而被縮擴,使得經縮擴的類比訊號(例如電壓或電荷)的加總或累加提供包含記憶體內運算結果的類比領域表示的加總/累加類比訊號,記憶體內運算結果然後被類比數位轉換(analog to digital conversion, ADC)以及進一步處理。
擴縮階段可包含在位元格行內隨著那行的對應加權值而切斷一些位元格,使得當各個行內的剩餘位元格(例如它們的輸出電容器)的電荷位準被累加以提供累加/加總類比訊號,藉由各個行對其貢獻的電荷與那行的加權值成比例。
擴縮階段可包含例如電荷分離器或電荷分離器網路的訊號分離器,其中由位元格行內的位元格所提供的總電荷被分離,以隨著對應的那行的對應加權值提供代表其的類比訊號或電荷位準。這可在ADC之前執行,使得提供到ADC的累加/加總類比訊號被適當地縮擴,或它可與ADC的取樣保持(sample and hold, S/H)一併執行,例如藉由連續近似式ADC的電荷分離器元素的選擇性開關。
一些實施例提供用於縮擴及加總複數個加權資料代表性類比訊號的設備,其中各個類比訊號包含關聯於在位元格的記憶體內運算(IMC)陣列中的個別複數個耦合位元格輸出的電壓,該設備包含:複數個電荷分離器電路,各個該電荷分離器電路經配置而處理各自的加權資料代表性類比訊號,以在各自的輸出電容器產生輸出訊號,該輸出電容器具有隨著各自的加權值縮擴的電容值;其中,在操作的測量階段中,該電荷分離器電路輸出訊號為耦合至關聯於類比數位轉換器(ADC)的輸入的取樣保持電路,該類比數位轉換器經配置而從其中生成代表該加權資料代表性類比訊號的加總的數位輸出。
本發明的其他目的、優點和新穎特徵將部分地在以下描述中說明,且對於本技術領域中具有通常知識者在檢視以下內容後將變得清楚明瞭或者可藉由本發明的實作而得知。本發明的目的和優點可藉由所附的專利範圍中特別指出的手段及組合來實現和獲得。
以下描述和圖式僅說明本發明的原理。因此應理解儘管此處未明確描述或示出,本技術領域中具通常知識者將能夠設想出各種設置,其體現本發明的原理並且被包括在範圍內。此外,此處所引用的所有例子主要旨在明確僅用於教學目的,以幫助讀者理解本發明的原理以及發明人為促進本領域所貢獻的概念,並且應被解釋為沒有限於這些具體引用的例子和條件。此外,此處所使用用語「或」是指非排他性,或除非另有說明(例如「或否則」或是「或替代」)。再者,此處所描述的各種實施例不一定是相互排斥的,因為一些實施例可以與一個或多個其他實施例組合以形成新的實施例。
本申請的眾多創新教示將連同特別參考當前偏好的示範的實施例來描述。然而,應理解此類型的實施例僅提供此處的創新之教示的許多有利用途中的幾個例子。一般而言,在本申請的說明書中的陳述不必然對各種要求保護的發明中的任一個進行限制。再者,某些陳述可能適用於某些發明特徵,但不適用於其他特徵。本技術領域中具有通常知識者以及藉由此處的教示而獲知的人會了解到本發明也適用於各種其他的技術領域或實施例。
在進一步詳述本發明之前,應理解本發明並非限於所述的特定實施例,它當然可以變化。由於本發明的範圍僅由所附的專利範圍所限定,也應理解此處所使用的術語是只為了敘述特定實施例,而非意圖做為限定。
在提供一數值範圍的情況下,應理解在該範圍的上限及下限之間的各個中間值(到下限的單位的十分之一,除非上下文另有明確規定)及該所說的範圍中的其他任何所說的值或中間值為涵蓋在本發明中。這些較小範圍的上限和下限可以獨立地包括在較小範圍內也包含在本發明內,受所述範圍內的任何具體排除的限制。在所述範圍包括一個或兩個界限的情況下,排除這些所包括的界限之一個或兩者的範圍也包含在本發明中。
除非另有定義,此處所使用的所有技術及科學術語與本發明所屬技術領域中具有通常知識者所普遍理解的意思相同。雖然與此處所述相似或同等的任何方法及材料也能被用於本發明的實作或測試中,此處僅敘述有限數量的示範之方法及材料。務必留意如此處和所附的專利範圍中所使用的,單數形式「一」及「該」包括複數參照物,除非上下文另有明確規定。
各個實施例將以儲存在記憶體中的許多位元所取得的運算結果的IMC運算架構的上下文中討論,例如在記憶體行中獲得的運算結果,其中:平行輸入資料被提供到列,運算(例如乘法)是藉由其內儲存有資料的記憶體位元格執行;且進一步運算(例如累加)是在行位元線上執行以在各個行位元線提供代表關聯於各自的位元線的運算結果的各自的類比輸出訊號,於此描述為被提供為電荷位準,然而在替代的實施例中,行類比輸出可包含電流位準或電壓位準。
各種實施例的一些實施例涉及IMC運算架構、設備、方法及其部分,經配置以避免對各個行或位元線使用個別的類比數位轉換器(ADC)的方式取得多個平行行或位元線的運算結果指示性輸出。也就是,不同於將關聯於各個位元線或行的類比輸出訊號轉換成適用於在IMC運算架構中進一步運算的個別的數位表示,各種實施例是使用關聯於位元線或行的類比輸出訊號執行一些這種進一步的處理,以在維持類比輸出訊號準確度的同時,降低實施IMC運算架構的功能所需的ADC數量(也就是降低ADC量化誤差及其他誤差影響)。
第1圖圖像化地顯示記憶體內運算(IMC)架構的典型結構。具體地,如第1圖所示的記憶體內運算架構100是由記憶體陣列(可以是基於標準的位元格或修改的位元格)所組成,記憶體內運算涉及二組附加的、「垂直的」訊號;也就是(1)輸入線;以及(2)累加線。如第1圖,可以看出所示的二維的位元格陣列,其中複數個記憶體內運算通道110-1至110-N的各個(總體為記憶內運算通道110)包含各自的位元格行,其中在通道中的各個位元格是關聯於共同的累加線以及位元線(行)、以及各自的輸入線以及字元線(列)。應留意訊號的行與列在此處中被表示為相對於彼此「垂直」以單純地指示位元格陣列(例如如第1圖所示之二維的位元格陣列)中的列/行關係。此處所用用語「垂直」並非意圖表達任何特定的幾何關係。
訊號的輸入/位元以及累加/位元組可與記憶體內既有的訊號(例如字元線、位元線)物理地結合或可以是分開的。為了實施矩陣-向量乘法,矩陣元素首先被載入到記憶體格中。然後,多個輸入向量元素(可能是全部)透過輸入線被一起施加。這導致在各個記憶體位元格發生本地的運算操作(通常是某種形式的乘法)。運算操作的結果然後被驅動到共同的累加線。以這種方式,累加線代表藉由輸入向量元素所啟動的多個位元格的運算結果。這與是透過位元線而存取一次一個位元格的標準記憶體存取不同,由單一個字元線啟動。
如所述的記憶體內運算,具有數個重要的特性。第一,運算通常是類比的。這是由於記憶體的受侷限的結構以及位元格需要比藉由基於簡單數位開關的概念更豐富的運算模型。第二,在位元格的本地操作通常涉及以儲存在位元格的1位元表示而進行運算。這是由於在標準記憶體陣列的位元格並非以二進制加權的方式互相耦合;任何這種的耦合必須是藉由從周邊讀出/位元格存取的方法達成。以下為敘述本發明提出之對記憶體運算的擴展。
儘管記憶體內運算具有習知的數位加速欠缺之解決矩陣-向量乘法的潛能,但典型的運算管道會涉及圍繞矩陣-向量乘法的一些其他操作。通常地,這樣的操作藉由習知的數位加速妥善解決;儘管如此,在解決關聯於記憶體內運算的通用運算模式、高流通量(且因此需要高通訊頻寬至/自其)以及平行性質的適當架構中,在靠近記憶體內運算硬體的地方置放這種加速硬體可能是高價的。由於許多圍繞的操作會較佳地在數位領域完成,所以各個記憶體內運算累加線接續有包括透過ADC的類比數位轉換,我們因此將其稱為記憶體內運算通道。一大主要的挑戰是將ADC硬體整合進各個記憶體內運算通道的間距,而本發明所採用之適當的佈局方法致能這件事。
將ADC引入接續於各個運算通道能夠致能記憶體內運算的有效率的延伸,以分別支援多位元矩陣及向量元素(透過位元平行位元串列(bit‑parallel/bit‑serial, BPBS)運算)。位元平行運算涉及在不同的記憶體內運算行載入不同的矩陣元素位元。從不同的行的ADC輸出然後被適當地位元位移以代表對應的位元權重,以及對行組執行數位累加以產生多位元矩陣元素運算結果。另一方面,位元串列運算涉及一次施加一個輸入向量元素的各個位元,每次儲存ADC輸出並將儲存的輸出適當地位元移位,在與對應於後續輸入向量位元的下一個輸出進行數位累加之前。致能類比與數位運算的混和的這種BPBS方法是高效率的,因為它利用了類比的高效率低精度機制(1位元)及數位的高效率高精度機制(多位元),同時克服了關聯於習知記憶體操作的存取成本。
第2圖顯示根據實施例的致能N位元(5位元)輸入處理的記憶體內運算(IMC)巨集的完整的列/行平行(1152列×256行)乘法位元格(multiplying bit-cell, M-BC)陣列的方塊圖。
第2圖的示範的IMC巨集(可被用以實施例如記憶體內運算陣列(compute-in-memory array, CIMA)結構等前面述及的結構)是透過28奈米製程提供,且經配置為提供完整列/行平行矩陣向量乘法(matrix-vector multiplication, MVM),用於利用基於金屬邊緣(線路)電容器的精密類比運算、用於擴展二進制輸入向量元素到5位元(5-b)輸入向量元素、以及與上面討論的IMC及CIMA實施例相比,用於提升能量效率了大約16倍以及流通量提高了5倍。
須留意第2-3圖的實施例以將運算能量及資料移動減少幾個數量級的方式實施MVM操作(其在運算密集及資料密集的AI工作負載佔主要地位)。這是透過在位元格中有效率的類比運算,且因此從記憶體存取運算結果(例如內積)而非個別位元來達成。但是,如此做會從根本上建立能量/流通量與SNR的取捨,其中類比會引入運算雜訊,而存取運算結果會增加動態範圍(也就是為給定讀出架構的降低SNR)。
有益地,基於金屬邊緣電容器的IMC達到非常低的來自類比的非理想性之雜訊,且因此可能有極高的動態範圍。至少一些的實施例利用這個精準的基於電容器的運算機制以可靠地致能如此處所述之改良的動態範圍。
第2圖顯示記憶體內運算巨集200的方塊圖,包含:10T SRAM乘法位元格(M-BC)的1152(列)×256(行)陣列210;對其標準寫/讀的周邊(例如位元線(BL)解碼器240以及256個BL驅動器242-1至242-256、字元線(WL)解碼器250以及1152個WL驅動器252-1至252-1152、以及用於控制解碼器240/250的控制區塊245);對其提供5位元輸入向量元素的周邊(例如1152個動態範圍倍增(DRD)DAC 220-1至220-1152、以及對應的控制器225);用於將來自各個行的運算結果數位化的周邊(例如256個8位元SAR ADC 260-1至260-256),以及行重置機制265-1至265-256(例如CMOS開關經配置為在操作的重置階段中將行運算線CL的輸出電壓位準拉至重置電壓V RST,以及在操作的評估階段中致能行運算線CL的電壓位準反映它們各自的運算結果)。
IMC巨集200的10T SRAM乘法位元格(M-BC)的1152(列)×256(行)的陣列210以類似於以上關於各種圖式所描述的方式操作。特別地,儘管寫/讀通常是逐列執行,MVM操作通常是藉由將對應於類神經網路輸入激勵的輸入向量元素一次施加到所有或一些列。也就是,各個DRD-DAC 220 j(響應於各自的5位元輸入向量元素X j[4:0])產生各自的差動輸出訊號(IA j/IAb j),差動輸出訊號在對應的M-BC列中的各個M-BC j與儲存的權重(W ij/Wb ij)進行1位元乘法,以及透過運算線(CL)上的M-BC電容器的電荷重新分配進行累加以在每行中產生內積,然後透過各個行的各自ADC 260將其數位化。形成陣列210的個別10T SRAM M-BC的操作將在下面隨著第3圖更詳細地描述。
第3圖顯示根據實施例的乘法位元格(M-BC)的電路架構以及適合用於實施第2圖的10T SRAM M-BC,以及與上面關於各個圖式所描述之類似的陣列元素。第3圖的M-BC 300包含用於達成權重儲存以及乘法的高度密集的結構,藉此將使用這種M-BC實施的i列j行陣列中的資料傳播距離及控制訊號最小化,例如10T SRAM乘法位元格(M-BC)的1152(列)×256(行)陣列。
示範的M-BC 300包括六電晶體位元格部320、第一開關SW1、第二開關SW2、電容器C、字元線(WL)210、第一位元線(BLj)312、第二位元線(BLbj)314、以及運算線(CL)315。
六電晶體位元格部320被描繪為位於M-BC 300的中間部分,並且包括六個電晶體304a-304f。六電晶體位元格部320能被用於儲存,以及讀及寫資料。在一個例子中,六電晶體位元格部320儲存過濾器權重。在一些例子中,資料透過字元線(WL)310、第一位元線(BL)312以及第二位元線(BLb)314寫至M-BC 300。
乘法位元格300包括第一COMS開關SW1以及第二COMS開關SW2。第一開關SW1顯示為被第一啟動訊號A (A ij)所控制,使得當關閉時,SW1將由DRD-DAC 220提供之接收的差動輸出訊號的其中一個(說明性地為IA)耦合至電容C的第一端。第二開關SW2顯示為被第二啟動訊號Ab (Ab ij)所控制,使得當關閉時,SW2將對應的DRD-DAC 220的另一個接收的差動輸出訊號的其中一個(說明性地為IAb)耦合至電容C的第一端。電容C的第二端連接於運算線(CL)。應留意在各種其他的實施例中,提供至開關SW1及SW2的輸入訊號可包括固定電壓(例如V dd)、接地電壓或一些其他電壓位準。
包括第一開關SW1以及第二開關SW2的M-BC 300能實施對儲存在六電晶體位元格部320的資料的運算。運算的結果被驅動為電容器C上的電荷。根據各種實施方式,電容器C可位於位元格300上方並且不利用電路上的額外區域。在一些實施方式中,V dd或接地二者任一的邏輯值被驅動於電容器C上。在其他的實施例中,隨著開關SW1及開關SW2的操作,在電容器C上被驅動的電壓可以包括正電壓或負電壓,並且輸出電壓位準是藉由對應的DRD-DAC 220產生。
藉此,儲存在電容器C的電荷(作為被驅動電壓的函數)是高度穩定的,因為電容器C的值自身是高度穩定的以及被驅動電壓是高度穩定的(例如被驅動向上至供應器電壓或向下至接地)。在一些例子中,電容器C是金屬-氧化物-金屬(MOM)指狀電容器,且在一些例子中,電容器C是1.2fF MOM電容器。MOM電容器具有非常好的匹配溫度以及處理特性,並藉此具有高度線性及穩定地運算操作。需留意藉由在M-BC操作的重置及評估階段中改變電晶體及/或開關SW1及SW2連接及/或運作的方式,其他種類的邏輯函數能使用M-BC實施。
在各種實施例中,六電晶體位元格部320是使用不同數量的電晶體,且可具有不同的架構。在一些例子中,位元格部320可以是SRAM、DRAM、MRAM或RRAM。 M-BC 輸出之改良的 IMC 累加及縮擴
如上面關於第2圖所顯示,N=5(5位元)輸入處理記憶體內運算(IMC)巨集200設想完整的列/行平行(1152列×256行)乘法位元格(M-BC)陣列,例如如上關於第3圖所顯示的M-BC 300。需進一步留意IMC巨集200顯示為對於陣列210中的各個連接的M-BC行使用一個8位元類比數位轉換器(ADC)。也就是,藉由作為說明性地256行的各個所提供的類比訊號在如上以及各種相關專利申請案中所述的進一步處理之前被各自的8位元ADC個別地轉換成8位元數位表示。
特別地,現在將描述經配置以結合多個平行行的輸出的IMC架構中的各種實施例,例如在需要以儲存在位元格中的多位元資料進行乘法,但是位元精度不能容納在單一位元格內的情況下。在這種情況下,能採用位元平行處理,其中儲存資料的最高有效位元在一個行的位元格中,儲存資料的次高有效位元在下一行的位元格中,以此類推,一直到儲存資料的最低有效位元(通常儲存資料元素的位元全都在同一行中)。在這種情況下,各個行代表對應於運算輸出的特定位元權重的元件。由於乘法累加操作的線性性質,總體運算輸出能藉此藉由以適當地二進制加權的係數對各個行輸出進行縮擴,然後將不同的經縮擴的行輸出部分進行加總來得出。一般來說,對儲存在不同行中的資料的位元加權不需要是二進制的;這藉由對各個行輸出套用各自的縮擴係數(不一定是二進制加權)可以很容易地支持這一點。
對於多個平行行或位元線的指示輸出運算結果的縮擴與加總可以在ADC之前或之後執行。如果在ADC之前進行,縮擴與加總操作必須在對各自的類比訊號進行,類比訊號可以是電壓、電流、電荷……等。
例如,在經配置以將兩個向量(或一個向量及一個純量)相乘的位元格記憶體內運算(IMC)陣列的背景中,V1中的各個元素乘以V2中的各個元素,然後將總數累加而得出結果。儲存在記憶體中的向量V1的多個位元被映射到多個行,並且輸入向量V2的輸入位元被依序提供給各個行,以用於乘法及位元移位的迭代。每行(在本例子中)包括關聯於加權結果(例如多位元字元中的位元位置)的各自的總電壓或儲存的電荷,說明性地,例如4位元二進制字元(MSB、MSB-1、MSB-2、LSB)的二進制加權結果表示4位元輸入向量V2與儲存向量V1的各個元素相乘的結果。
不同於在行的A/D轉換之後在數位領域中執行位元移位來解析乘法結果(例如所有輸入向量元素乘以所有儲存的向量元素的結果),各種實施例是提供隨著行權重或縮擴因數(例如位元位置)對關聯於各個行的總電壓或儲存電荷的類比領域縮擴,每行的縮擴電壓/電荷的累加以提供乘法結果的類比表示(例如類比電壓/電荷位準代表4位元輸入向量V2乘以儲存向量V1的各個元素的結果),然後累加電壓/電荷位準受到A/D轉換以提供最終的乘法結果的數位表示。例如,對於4位元輸入向量,4位元是藉由一個類比位準來代表且只需要一個週期,而不是做4個週期的位元平行位元串列操作。
第4A-4B圖圖像化地顯示有助於說明各種實施例的用於對運算結果指示性輸出進行縮擴與加總的機制。
具體地,各個機制被描述為對四個運算結果指示性輸出進行縮擴及加總,其中各個輸出代表各自的四個行或位元線的一個,其代表關聯於儲存在各自的連接之位元格輸出電容器行上的電荷的電壓位準,電壓位準代表累加結果的各自的加權部分,例如累加結果的二進制加權部分。如圖所示,四個行b、b+1、b+2、b+3代表累加的4位元運算結果的二進制加權資料,其中最高有效位元(MSB)由行b表示且最低有效位元(LSB)由行b+3表示。
如第4A-4B圖所示,並且如此處一般描述的,四個IMC行(IMCb至IMCb+3)中的各個提供儲存在形成行的各自的複數個位元格輸出電容器的各自的電壓訊號或電壓位準,並且表示累加結果的各自的二進制加權部分。
在各種實施例中,四個IMC行(IMCb到IMCb+3)中的各個可提供電流訊號/位準或一些其他類型的訊號/位準,而非電壓訊號/位準,以對於各個IMC行表示累加結果的各自的二進制加權部分(例如,諸如藉由緩衝器電路或者藉由基於電阻器或電晶體的電壓或電荷分離器電路,而非IMC輸出電容器及/或基於電容器的電壓或電荷分離器電路等提供之電流或電壓訊號的訊號)。進一步地,其他實施例可依據應用、為IMC選擇的元件及/或其他因素而使用其他類型的加權及/或縮擴,而非使用二進制加權及/或縮擴。藉此,各種實施例提供用於根據權重因數選擇性地衰減或放大加權訊號(或使用的任何類型)的機制,以在加總之後提供代表累計結果的總訊號位準(電壓位準、電流位準、電荷位準等)。第4A圖的機制設想在ADC處理之前對運算結果的累加加權部分進行縮擴及加總。
如第4A圖所示並且一般地描述在本文中,四個IMC行(IMCb到IMCb+3)中的各個提供儲存在形成行的各自的複數個位元格輸出電容器的各自的電壓訊號或電壓位準,並且表示累加結果的各自的二進制加權部分。這些電壓訊號/位準被縮擴以反映它們各自相對於彼此的二進制權重。具體來說,LSB行(b+3)乘以縮擴因數2 0=1,下一行(b+2)乘以縮擴因數2 1=2,下一行(b+1)乘以縮擴因數為2 2=4,並且最後一行(b)的乘以縮擴因數為2 3=8。然後將經縮擴後的電壓位準加總以提供表示累加結果的電壓位準,累加結果藉由ADC轉換器轉換為數位表示。
如第4B圖的機制設想對運算結果的累加加權部分進行縮擴與加總結合ADC處理。具體地,關於第4B圖討論的縮擴及加總函數是藉由修改ADC的操作的各種參數來實施的,如下面將更詳細地敘述。
應留意儘管第4A-4B圖顯示出四個行在ADC之前或之內被結合的情況,一般而言可以以這種方式結合任意數量的行。進一步地,ADC之前/之內的這種縮擴與加總可以與ADC之後任意數量的輸出之間的縮擴與加總結合;這涉及數位領域中的加總以及套用與數位縮擴係數(其減少為二進制加權的按位移位)。除了對於實施的實用性進行最佳化之外,如下所述,這使得量化誤差效果能夠得到最佳地管理。
第4C-4D圖圖像化地顯示有助於說明各種實施例的用於對運算結果指示性輸出進行縮擴與加總的機制。如上面關於第4A-4B圖的討論一般適用於第4C-4D圖。值得注意的是,第4C-4D圖設想縮擴函數,其中LSB行(b+3)乘以縮擴因數1/2 0,下一行(b+2)乘以縮擴因數1/2 1,下一行(b+1)乘以縮擴因數1/2 2,最後一行(b)乘以縮擴因數1/2 3。然後將經縮擴的電壓位準相加,以提供表示累加結果的電壓位準,累加結果藉由ADC轉換器轉換為數位表示。 基於電容器的類比縮擴及加總
第5圖圖像化地顯示出M-BC陣列中的示範的IMC行。如第5圖所示,各個M-BC 300行(1到N)執行輸入(IA 1/IA b1到IA N/IAb N)與加權值(W b,1到W b,N)的乘法以提供各自的結果作為儲存在各自的輸出電容器上的輸出電壓,輸出電容器可以選擇性地耦合到輸出行線CL b。特別地,第5圖顯示切換式電容器的使用,藉此行累加(減少)操作是透過特定行中的電容器上的電荷重新分佈來執行。本質上,各個位元格電容器形成例如電壓/電荷分離器電路之訊號分離器電路的接腳,導致輸出電壓(也就是耦合所有電容器的節點)穩定成電壓/電荷分離器輸入(也就是接腳的驅動側)的平均值。這樣的平均值提供累加的縮擴/標準化版本,其中縮擴因數由電荷分佈的總電容所設定(也就是V=Q/C)。因此,行輸出電壓的縮擴及加總可以藉由設定涉及的電容,然後將所涉及的跨行的行電容短路在一起來達成。
根據各種實施例,基於電容器的類比縮擴及加總可透過如下將討論的幾種方法來達成;說明性地,(1)設定及將行電容短路,以及(2)對輔助電容上的行電壓取樣,然後設定並將輔助電容短路(其中輔助電容可以與ADC取樣保持電路結合)。 設定並將行電容短路
基於電容的IMC通常涉及兩個階段:(1)重置,藉由將電容器的耦合節點短路成特定參考電壓使所有電容器上的電荷被重置;(2)評估,其中電容器的耦合節點短路成參考電壓被解除,並且例如電壓/電荷分離器電路的訊號分離器電路的輸入接腳被驅動(透過位元格)。之後,各個行輸出電壓能藉由ADC進行取樣以進行後續數位化。
對於ADC之前的跨行的短路及類比縮擴,可以添加額外的階段,其於此表示為縮擴。行輸出電壓穩定後,可以斷開所有跨行電容器的耦合,以在跨將被短路在一起的行產生經縮擴的量的剩餘電容。然後,跨行的短路電容可以藉由ADC取樣以進行數位化。作為例子,此方法在第6圖中對於二進制加權縮擴的情況顯示。
第6圖圖像化地顯示有助於理解實施例的記憶體內運算架構的位元格陣列內的二進制加權縮擴的例子。具體來說,第6圖顯示八個IMC列(R1至R8)乘以四個IMC行(CL b至CL b+3)的乘法位元格的說明性的位元格輸出電容器陣列,各個IMC行透過各自的開關(S b至S b+3)選擇性地耦合到ADC的輸出。陣列在CL b+3的列R7及R8之間的、CL b+2的列R6及R7之間以及CL b+1的列R4及R5之間的各處還包括附加開關S。附加開關S被引入至行內這些位置以斷開/允許在行內不同點的一些行電容器的耦合。
在操作的重置階段及操作的評估階段中的各個中,附加開關S為關閉,藉此致能行內的所有電容的耦合。在操作的縮擴階段中,附加開關S打開,並且剩餘的行電容透過行開關S b至S b+3短路在一起,並將結果訊號提供給ADC。
需留意在各個輸出電容器的電容C實質上相同的情況下,附加開關S的使用導致對於具有更多輸出電容器的那些行的後續訊號電壓有更大電荷貢獻。如此,具有八個位元格電容器的行CL b為實際地被加權兩倍於具有四個位元格電容器的行CL b+1的加權,其為實際地被加權兩倍於具有二個位元格電容器的行CL b+2的加權,其為實際地被加權兩倍於具有一個位元格電容器的行CL b+3的加權。
考慮到由於使用附加開關S而產生的電荷加權,施加到ADC的結果電壓訊號代表經縮擴的累加輸出訊號且能藉由ADC直接地數位化以提供累加輸出訊號的數位表示。
發明人指出引入開關(無論是為了斷開行電容器的耦合,或者是為了使跨行電容短路)會增加寄生電容,且這些寄生電容也應被適當地加權(二進制或其他),用於行的精確縮擴及加總。如此,在各種實施例中,寄生抵銷開關S PO或其他結構被添加到陣列以平衡行中的總開關相關寄生電容。
寄生抵銷開關S PO或其他結構可包括有作用或無作用的開關。例如,對於行中如上所述有作用的各個附加開關S,類似的有作用或無作用(例如始終關閉)的開關可包括於用於形成位元格陣列的基板(例如VLSI基板)中。
藉此,在使用二進制加權的一些實施例中,除了在行中操作以影響如此處所述的加權的附加開關S之外,一個或多個的其他行已在對應位置中形成類似結構的寄生抵銷開關S PO,使得列與列之間的電容差異被避免。這個技術也可與實施除二進制加權之外的加權方案的實施例一起使用。寄生抵銷開關S PO的數量及位置可以根據製造技術及其他因素而修改,所有相關的是寄生抵銷開關S PO以平衡或抵銷由附加開關S給電路的寄生電容的方式形成,以盡可能避免相關的縮放誤差。 取樣、設定以及將輔助電容短路
在其他的實施例中,並非使用相同的電容器用於行運算以及跨行縮擴操作,而是各個行電容器組的電壓首先經由例如電壓/電荷分離器電路(也就是經配置用於電荷共享/取樣的電容器網路)的訊號分離器電路內的輔助取樣電容器進行取樣,其中關聯於行的輔助取樣電容器具有經選擇以產生適合於那行的縮擴輸出的值。取樣電容器可以包含為每行形成的額外電容器、ADC自身的取樣保持電容器(整合在ADC內或與ADC分離)、或某些其他的電容器。
在這些實施例中,關聯於特定行的訊號是透過關聯於那行的電荷分離器電路的輔助電容器來取樣,電容器可以選擇性地耦合到那行或分離器電路。
各種實施例設想透過加權輸入ADC處理關聯於各個行的訊號;也就是,具有多個輸入的ADC,其中這些輸入中的各個都可以被加權,並且所得到的加權訊號被加總以用於ADC處理,從而提供數位輸出訊號。
第7-9圖顯示記憶體內運算架構的輸出ADC附近或之內的二進制加權縮擴的各種實施例的電路圖。需留意儘管第7-9圖的實施例一般地被描繪和描述為處理由儲存在例如如上所述的位元格輸出電容器的電荷提供的電壓訊號,但實施例也可用於處理例如先前第4A-4B圖討論的其他類型的訊號(例如電壓、電流等)。
第7圖顯示有助於理解各種實施例的電路圖。具體地,第7圖的電路700設想複數個電容性電路(例如四個),各個電容性電路操作以與各自的取樣或輔助電容器共享儲存在跨各自的複數個位元格輸出電容器的一部分電荷,以在其提供代表累加結果的各自的加權部分的各自的電壓輸出訊號,其中跨取樣或輔助電容器所取樣的電壓被提供至ADC用於進一步處理。
需特別留意在輔助電容器上的取樣操作是透過電荷共享操作來達成。因此,取樣導致取樣電壓以係數C COL/(C COL+C AUX)的縮擴,其中C COL是總行電容且C AUX是輔助取樣電容。這使得確保C COL及C AUX跨行良好地匹配以及C AUX在開始時充分地放電以減少錯誤非常重要。然後,C AUX隨後被分解為二進制加權部分,以將適當的二進制加權部分短路在一起,用於精確縮擴及加總。
具體地,電荷分離器電路(更廣泛地訊號分離器電路)的電容是重要的,其中共享電容是在電荷共享事件的情況下的縮擴機制(二進制加權或其他),例如與對應的電容器電壓/電荷分離器電路共享複數個位元格輸出電容器上儲存的電荷。在這種情況下,使用負載平衡電容器(如第7-9圖所示)以確保各個電容器電荷分離器電路具有實質相同的電容。
在各種實施例中,縮擴是藉由其他手段單獨或組合來達成,而非電荷共享。例如,在各種實施例中,各個加權資料代表性類比訊號的縮擴可以透過電荷、電壓、電流或阻抗縮擴技術達成,該縮擴技術依賴於將被縮擴的類比訊號的性質(例如使用加權或二進制加權電容分離器網路、電阻分離器網路等等)。如本文最頻繁描述,各種例子提供基於電容性電荷共享或再分配的電荷分離器電路,以縮擴基於電荷或基於電壓的加權資料代表性類比訊號。
一般而言,複數個加權資料代表性類比訊號(例如按行二進制加權)的各個被縮擴,使得特定加權資料代表性類比訊號對於所有各種加權資料代表性類比訊號的整體或累加訊號位準的類比訊號貢獻(電荷、電壓、電流等)與那個資料代表性類比訊號的權重(例如與該資料代表性類比訊號的列位置相關聯的權重)成比例。
例如,如果位元格運算輸出是透過電阻性/傳導性輸出阻抗(而非電容性)提供,那麼縮擴電路可以包括電阻性縮擴或訊號分離元件、電晶體縮擴或訊號分離元件、或一些其他的縮擴或訊號分離元件,其適合指示電荷位準的各自的加權/縮擴或指示電荷位準的訊號(例如電壓/電荷分離器電路、電荷共享網路等等)。在這種情況下,不需要使用負載平衡電容器,因為經穩定的訊號不依賴於電容性負載。
在這個二進制加權的例子中,來自行CL b的取樣訊號的權重是給定為行CL b+1的權重的兩倍,其給定為行CL b+2的兩倍,其給定為行CL b+3的兩倍。如此,透過檢視第7圖可看出,控制各個開關以使得各個行的電壓/電荷分離器電路的電容相同(也就是C),但各個電壓/電荷分離器電路的取樣或輔助電容器不同。具體來說,行CL b的取樣或輔助電容器為C (C/2 + C/2),對於行CL b+1為C/2,對於行CL b+2為C/4,對於行CL b+3是C/8。各個取樣或輔助電容器上存在的訊號代表累加結果的各自縮擴部分,並且藉由將行的各個取樣或輔助電容器連接在一起並將那個訊號提供至ADC可生成累加結果的數位表示。如圖所示,各個行的電壓/電荷分離器電路的電容將會相同,使得來自電荷共享事件的誤差在電壓/電荷分離器電路上均一化,從而避免電壓/電荷分離器電路之間的任何相對誤差。
第8圖顯示有助於理解各種實施例的電路圖。具體地,第8-9圖顯示第7圖的電壓/電荷分離器電路,其中在電荷共享事件中(例如在操作的測量或評估階段中)所有取樣或輔助電容器上取樣的電壓被結合到連續近似式暫存器(SAR)ADC中的取樣保持(SH)。其中SH還用作為回授數位類比轉換器(DAC)。這種方法允許緊密的佈局,其對於IMC讀出ADC是理想的。
需留意第8-9圖顯示接收關聯於僅僅四個加權輸入訊號的累加輸入電壓的8位元ADC。如果八個加權輸入訊號由8位元ADC處理,那麼八個加權輸入訊號的各個起初會藉由各自的分離器電路縮擴。在使用電容器分離器電路的情況下,附加的四個(例如LSB)電壓/電荷分離器電路的各個的電容也會與起初的四個(例如MSB)電壓/電荷分離器電路相同,並且各自的取樣或輔助電容器會對應地被縮擴(例如C/16、C/32、C/64及C/128,假設四個行代表累加結果的接下去的四個LSB值)。
在第8-9圖的S/H SAR ADC中,S/H整合到ADC中。SAR ADC包括回授電路,其中數位類比轉換器(DAC)是透過SAR邏輯所提供的不同數位輸入訊號來調整,以最終產生對應於提供至ADC的類比輸入電壓的DAC輸出電壓,藉此決定代表至ADC的類比輸入電壓的數位字元或位元。
類比輸入電壓是在各個電壓/電荷分離器電路的各個取樣電容器(也就是表示為C、C/2、C/4及C/8的電容器)的底板進行取樣。與DAC的回授碼關聯的電壓然後被連續地施加到電容器的另一個板,並且在這樣做時,導致在該處產生二進制加權訊號以用於比較目的(也就是用於決定ADC輸出值)。
舉例而言,第8圖的電路800設想ADC SH/DAC被劃分為四個分區,用於從四個IMC行取得輸入。四個分區的各個具有相等的電容,以確保相對的取樣誤差/縮擴不顯著。然後四個分區的各個都進一步地分成藉由ADC處理以數位化的部分及不進行處理的部分。進一步處理的部分對應於跨行的二進制加權電容。各個行輸出被取樣至各個分區的一側上,然後僅有此進一步處理的部分於另一側上隨後被耦合在一起。剩餘的部分在另一側保持未耦合(保持與參考電壓短路),並隨後在未來取樣之前放電。
以這種方式耦合分區部分,導致ADC SH/DAC中的行輸出的縮擴及加總。然後,SAR 數位化以標準的方式進行,產生最終的數位輸出碼。作為一例,經縮擴及加總的電荷在SH/DAC的一端被取樣,而另一端則由回授數位控制訊號驅動。這導致回授的數位控制訊號在饋送到比較器的訊號上產生各自的負電壓偏移。當負電壓偏移將由於取樣電荷的電壓抵消時(也就是藉由使比較器電壓回到固定的參考),從而獲得最終的數位輸出碼。也可以採用其他形式的SAR數位化,例如將DAC與S/H分離。
第10圖顯示適合用於各種實施例中的二進制加權電流分離器縮擴電路的各種實施例的電路圖。可以看出來自MSB行CLb的加權資料代表性類比訊號實際地被加權為行CL b+1的兩倍,其實際地被加權為行CL b+2的兩倍,其實際地被加權為行CL b+3的兩倍。 效益及限制
上述的實施例利用在ADC之前進行縮擴及加總的方法,並且具有在記憶體內運算實施例的上下文中跨經加總的行所共享的ADC的主要效益。這使得ADC能量及面積消耗能被攤銷。
基於設定及短路行電容器的方法具有不需要額外的輔助電容器的特定優點。在輔助電容器與ADC SH結合的情況下,益處是不會增加ADC複雜度(能使用標準的ADC)。
基於對輔助電容器(可能與ADC SH及DAC整合)取樣的方法具有不需要額外的縮擴階段(在重置及評估之後)的效益,並且不會增加IMC架構複雜度(例如由於開關的添加以形成/斷開位元格電容器組之間的耦合)。
總體而言,類比縮擴加總的限制在於藉由ADC而待數位化的訊號的總動態範圍增加。然後,ADC執行訊號的量化至特定的解析度,因此會引入量化誤差。相對於ADC後縮擴及加總,量化誤差有所減輕,其中各個行輸出都會產生量化(也就是在各個行輸出數位化之後類比殘餘無法被恢復,而ADC前縮擴及加總會產生一個量化事件);然而,由於數位位元成長的能量/面積成本較低,ADC後縮擴及加總對於量化誤差具有淨效益。ADC前縮擴及加總的量化誤差能藉由提高ADC解析度而減少,但代價是ADC能量/面積開銷。
各種實施例(儘管主要在二進制加權縮擴因數的上下文中描述)適合在行值的任意類比縮擴中使用。也就是,儘管本公開主要描述饋送共享之ADC的行具有二進制加權縮擴因數的結構,但應理解可使用任意的縮擴因數。
進一步地,應理解縮擴因數可以是可配置的。應留意非二進制加權縮擴因數的主要好處在於替代的數字格式(也就是非二進制整數)可以之後用於儲存在記憶體格中的矩陣權重。這是有價值的,因為量化神經網絡可以利用替代的數位格式(例如其中位元位置代表1.5、4等的冪,而不是2)來對於如何管理權重動態範圍取捨進行最佳化。
進一步地,相等的縮擴因數可被使用以增加相對於單行運算的總電荷訊號。以這種方式,可以達成減輕不同電荷雜訊來源的影響。
進一步地,縮擴因數的可配置性以使得動態的基礎上的上述兩個特徵成為可能,其中例如安排在執行時間中的不同記憶體內運算可藉此最佳化。這種可配置性需要跨行的可配置的電容器設定,其可以使用耦合至不同行輸出的電容式數位類比轉換器(DAC)來達成,藉此提供數位配置控制。
各種實施例設想補償跨行的電容失配。具體地,在行縮擴是藉由跨行的電容的相對比率所決定的情況下,由於寄生電容導致的相對比率的偏差會導致運算錯誤。如本文討論的,這在各種實施例中透過複數個實際的方法的任一個來克服。
例如,在一些實施例中,透過謹慎的佈局及寄生電容估算來匹配臨界電容。具體而言,影響寄生電容的佈局特徵在陣列和陣列外圍中匹配,例如在製造過程中於超大型積體(VLSI)電路的基板或層上。
在設定並將行電容短路的情況下,這應該包括考量用於形成/斷開行電容之間的耦合連接的行開關。作為例子,這可以藉由引入虛擬MOSFET開關(其可以保持靜態地打開或關閉)以匹配其他行中的實際MOSFET開關的寄生現象,或者藉由調整MOSFET開關的幾何形狀以使其保持跨行的比例縮擴來達成。
在取樣、設定及將輔助電容短路的情況下,這可以藉由匹配從行到輔助電容的連接(及周圍特徵)的佈局以及藉由匹配輔助電容自身的佈局來達成。
進一步地,電容DAC可以被耦合到各個行輸出以致能引入線性可調的電壓衰減的可削減電容負載,以補償寄生電容中的失配。
如本文所述,各種實施例中的一些實施例涉及IMC運算架構、設備、方法及其部分,經配置以避免為各個行或位元線使用個別的類比數位轉換器(ADC)的方式獲取多個平行行或位元線的運算結果指示性輸出。也就是,不同於將關聯於各個位元線或行的類比輸出訊號轉換成適用於在IMC運算架構中進一步運算的個別的數位表示,各種實施例使用關聯於位元線或行的類比輸出訊號執行一些這種進一步的處理,以在維持類比輸出訊號準確度的同時,降低實施IMC運算架構的功能所需的ADC數量(也就是降低ADC量化誤差及其他誤差影響)。
對於此處所述的系統、方法、設備、機制、技術及其部分關聯於圖式可進行各種修改,這樣的修改被認為在本發明的範圍內。例如,雖然於此描述的各種實施例中呈現步驟的特定順序或功能元件的排列,在各種實施例的上下文內可利用其他步驟或功能元件的各種順序/排列。進一步地,雖然可以單獨討論對於實施例的修改,各種實施例可以同時或依次使用多個修改、複合修改等等。
雖然如上所述已公開了特定的系統、設備、方法、機制等等,在不脫離本文的發明構思的情況下,除了已經描述的之外,對於本技術領域中具有通常知識者來說更多的修改是可能的。因此,除了該公開內容的精神之外,發明的標的不受限制。此外,在解讀該公開內容時,所有用語都應盡可能廣泛的方式進行解讀且與上下文一致。特別地,用語「包含」應被解讀為以非排他的方式指代元件或步驟,表明所引用的元件、組件或步驟可以存在、使用或組合未明確提到的其他元素、元件或步驟。此外,本文列出的參考文獻也是本申請的一部分,並將其整體透過提述併入,就像在本文中完全闡述一樣。
雖然此處詳細示出並描述結合本發明教示的各種實施例,但是本技術領域中具有通常知識者能輕鬆地設計出仍然結合這些教示的許多其他變化的實施例。因此,雖然前面針對本發明的各種實施例,但在不脫離其基本範圍的情況下可以設計本發明的其他和進一步的實施例。
100:記憶體內運算架構 110-1至110-N:記憶體內運算通道 200:IMC巨集 210:陣列 220:DRD-DAC 220-1至220-1152:動態範圍倍增(DRD)DAC 225:控制器 240:解碼器 242-1至242-256:BL驅動器 245:控制區塊 250:解碼器 252-1至252-1152:WL驅動器 260-1至260-256:SAR ADC 300:M-BC 304a-304f:電晶體 310:字元線 312:第一位元線 314:第二位元線 315:運算線 320:六電晶體位元格部 CL b至CL b+3:行 S:附加開關 S b至S b+3:開關 SW1:開關 SW2:開關 R1至R8:列
包含於且構成本說明書之部分的所附圖式顯示出了本發明的實施例,並且與上面給出的本發明的概括說明和下面給出的實施例的詳細說明一起用於解釋本發明的原理。
第1圖圖像化地顯示記憶體內運算(IMC)架構的典型結構;
第2圖顯示致能N位元(5位元)輸入處理的記憶體內運算(IMC)巨集的完整的列/行平行(1152列×256行)的乘法位元格(M-BC)陣列的方塊圖;
第3圖顯示適合用於第2圖的M-BC陣列內的乘法位元格的電路架構;
第4A-4B圖圖像化地顯示有助於說明各種實施例的用於對運算結果指示性輸出進行縮擴與加總的機制;
第4C-4D圖圖像化地顯示有助於說明各種實施例的用於對運算結果指示性輸出進行縮擴與加總的機制;
第5圖圖像化地顯示M-BC陣列中的示範的IMC行;
第6圖圖像化地顯示有助於理解實施例的記憶體內運算架構的位元格陣列內二進制加權縮擴的例子;
第7-9圖顯示記憶體內運算架構的輸出ADC近接或之內的二進制加權縮擴的各個實施例的電路圖;以及
第10圖顯示適合用於各個實施例中的二進制加權電流分離器縮擴電路的各個實施例的電路圖。
應理解所附之圖式並非必然按比例,呈現出本發明的基本原理的各種特徵的稍微簡化的表示。此處公開的運算順序的特定設計特徵,包括例如各種元件的特定尺寸、方向、位置、形狀,將部分地由特定的預期應用和使用環境決定。所示實施例的某些特徵相對於其他已被放大或變形以幫助觀看及清楚的理解。特別地,薄型的特徵可被加厚,例如,為了明確或說明。
300:M-BC

Claims (20)

  1. 一種用於縮擴及加總複數個加權資料代表性類比訊號的設備,其中,各個類比訊號包含關聯於在位元格的記憶體內運算(IMC)陣列中的各自的複數個耦合位元格輸出的電壓,該設備包含: 複數個訊號分離器電路,各個該訊號分離器電路經配置而處理各自的加權資料代表性類比訊號以產生輸出訊號,該輸出訊號具有隨著各自的加權值縮擴的值, 其中,在操作的測量階段中,該訊號分離器電路輸出訊號為耦合至類比數位轉換器(ADC)的輸入,該類比數位轉換器經配置而從其中生成代表該加權資料代表性類比訊號的加總的數位輸出。
  2. 如請求項1之設備,其中該訊號分離器電路具有電壓分離器電路。
  3. 如請求項1之設備,其中: 各個位元格輸出透過各自的輸出電容器而提供;以及 該訊號分離器電路包含電荷分離器電路。
  4. 如請求項3之用於縮擴及加總複數個加權資料代表性類比訊號的設備,其中: 各個類比訊號代表儲存於位元格的記憶體內運算陣列中的各自的複數個耦合位元格輸出電容器的電荷;以及 複數個該訊號分離器電路的各個具有實質相似的總電容,且各自的輸出電容器具有電容,經選擇而提供對應縮擴的輸出訊號,響應於儲存於各自的複數個該耦合位元格輸出電容器的一部分的電荷的對其之轉移。
  5. 如請求項2之設備,其中該訊號分離器電路與該類比數位轉換器內的取樣保持電路整合。
  6. 如請求項1之設備,其中該類比訊號包含N個待二進制加權的類比訊號,其中N是大於1的整數,該設備包含: 最低有效位元(LSB)訊號分離器電路,其總電容為C以及輸出電容器為C/2 N-1,該最低有效位元訊號分離器電路經配置而處理最低有效位元代表性類比訊號;以及 最高有效位元(MSB)訊號分離器電路,其總電容為C以及輸出電容器為C,該最高有效位元訊號分離器電路經配置而處理最高有效位元代表性類比訊號。
  7. 如請求項1之設備,包含: 次低有效位元(LSB+1)訊號分離器電路,其總電容為C以及輸出電容器為C/N,該最低有效位元訊號分離器電路經配置而處理次低有效位元代表性類比訊號;以及 最高有效位元(MSB)訊號分離器電路,其總電容為C以及輸出電容器為C/2,該最高有效位元訊號分離器電路經配置而處理最高有效位元代表性類比訊號。
  8. 如請求項3之設備,其中至少一些的位元格行內設置有各自的切斷開關,用於從該位元格行的剩餘部分切斷該位元格行的第一部分,使得由該位元格行的該剩餘部分所提供的類比訊號被縮擴到與行相關聯的權重。
  9. 如請求項8之設備,更包含複數個開關,經配置而將該位元格行的該剩餘部分的互相耦合以藉此提供代表加權累加結果的類比訊號。
  10. 一種用於基於電容器之記憶體內運算(IMC)的類比縮擴及加總設備,其中在N×M位元格陣列中的各個位元格在各自的輸出電容器提供關聯於記憶體內運算操作的加權對應部分的電壓位準,其中儲存關聯於相同權重的電壓位準的位元格輸出電容器的行為耦合於一起以對彼權重提供各自的加權資料代表性類比訊號,該設備包含: 複數個訊號分離器電路,各個該訊號分離器電路經配置而處理各自的位元格輸出電容器行的各自的加權資料代表性類比訊號,以在各自的輸出電容器產生輸出訊號,該輸出電容器具有隨著各自的加權值縮擴的電容值; 其中,在操作的測量階段中,該訊號分離器電路的該輸出電容器為耦合至關聯於類比數位轉換器(ADC)的輸入的取樣保持電路,該類比數位轉換器經配置而從其中生成代表該加權資料代表性類比訊號的總和的數位輸出。
  11. 如請求項10之類比縮擴及加總設備,其中該加權資料代表類比訊號的各個行代表各自的該記憶體內運算操作的加總結果的二進制加權資料位元。
  12. 如請求項11之類比縮擴及加總設備,其中: 在操作的重置階段中,儲存在各個該位元格輸出電容器行的電荷被實質地移除; 在操作的評估階段中,儲存在各個該位元格輸出電容器行的電荷對於各自的行的總電荷提供對應貢獻;以及 在操作的該測量階段中,各個該加權資料代表性類比訊號隨著自身的加權位準而縮擴,以藉此提供代表將被該類比數位轉換器處理的累加結果的類比訊號的加權部分。
  13. 一種用於基於電容器之記憶體內運算(IMC)的類比縮擴及加總設備,其中在N×M位元格陣列中的各個位元格在各自的輸出電容器提供關聯於記憶體內運算操作的加權各自部分的電壓位準,其中儲存關聯於相同權重的電壓位準的位元格輸出電容器行為耦合於一起以對彼權重提供各自的加權資料代表性類比訊號,該設備包含: 複數個訊號分離器電路,各個該訊號分離器電路經配置而處理各自的加權資料代表性類比訊號,以在由連續近似式暫存器(SAR)類比數位轉換器(ADC)所選擇地控制的各自的輸出電容器產生輸出訊號;其中 在操作的重置階段中,儲存在各個該位元格輸出電容器行的電荷被實質地移除; 在操作的評估階段中,儲存在各個該位元格輸出電容器行的電荷對於各自的行的總電荷提供對應貢獻;以及 在操作的該測量階段中,在一個以上的該位元格輸出電容器行中的開關被啟動以切斷該位元格輸出電容器的至少一部分,其中針對各個行的位元格輸出電容器的剩餘部分具有反映出該行的加權值的總電容,其中在各個行中的剩餘的耦合電容器為耦合於一起且至該類比數位轉換器的輸入。
  14. 一種用於縮擴及加總複數個加權資料代表性類比訊號的設備,其中各個加權資料代表性類比訊號包含由位元格的記憶體內運算(IMC)陣列中的各自的耦合之位元格行所提供的電壓、電流或電荷,該設備包含: 至少一些耦合之該位元格行,具有各自的切斷開關設置於其中,用於從該位元格行的剩餘部分切斷該位元格行的第一部分,使得由該位元格行的該剩餘部分所提供的類比訊號被縮擴到與行相關聯的權重;以及 開關,經配置而將位元格行的該剩餘部分互相耦合以藉此提供代表累加結果的類比訊號。
  15. 如請求項14之設備,其中: 該位元格的各個包含輸出電容器,用於儲存指示位元格操作的電荷;以及 各個該位元格行係關聯於各自的資料加權值。
  16. 如請求項15之設備,其中各個行係關聯於與該行的權重成比例的位元格輸出電容器的剩餘部分。
  17. 如請求項15之設備,更包含複數個寄生抵銷開關,經配置而對該切斷開關的加權寄生電容進行補償。
  18. 如請求項15之設備,其中該類比訊號包含N個二進制加權類比訊號,其中N是大於1的整數,該設備包含記憶體內運算陣列中的N個各自的耦合之位元格輸出電容器行。
  19. 如請求項15之設備,其中該加權資料代表性類比訊號至少包含最高有效位元(MSB)二進制加權資料代表類比訊號及最低有效位元(LSB)二進制加權資料代表類比訊號。
  20. 如請求項19之設備,其中該加權資料代表性類比訊號更包含至少一個額外的二進制加權資料代表性類比訊號。
TW112118016A 2022-05-16 2023-05-16 用於記憶體內運算巨集的共用行之類比數位轉換器 TW202349884A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/745,322 2022-05-16
US17/745,322 US20230370082A1 (en) 2022-05-16 2022-05-16 Shared column adcs for in-memory-computing macros

Publications (1)

Publication Number Publication Date
TW202349884A true TW202349884A (zh) 2023-12-16

Family

ID=88698472

Family Applications (1)

Application Number Title Priority Date Filing Date
TW112118016A TW202349884A (zh) 2022-05-16 2023-05-16 用於記憶體內運算巨集的共用行之類比數位轉換器

Country Status (2)

Country Link
US (1) US20230370082A1 (zh)
TW (1) TW202349884A (zh)

Also Published As

Publication number Publication date
US20230370082A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US11714749B2 (en) Efficient reset and evaluation operation of multiplying bit-cells for in-memory computing
US11948659B2 (en) Sub-cell, mac array and bit-width reconfigurable mixed-signal in-memory computing module
Lee et al. Fully row/column-parallel in-memory computing SRAM macro employing capacitor-based mixed-signal computation with 5-b inputs
US7812757B1 (en) Hybrid analog-to-digital converter (ADC) with binary-weighted-capacitor sampling array and a sub-sampling charge-redistributing array for sub-voltage generation
US5973633A (en) Weighted capacitor array with selective grouping to form array elements
Bankman et al. An 8-bit, 16 input, 3.2 pJ/op switched-capacitor dot product circuit in 28-nm FDSOI CMOS
US20130076546A1 (en) Charge compensation calibration for high resolution data converter
TW202147320A (zh) 低功率記憶體內計算位元格
CN110750231B (zh) 一种面向卷积神经网络的双相系数可调模拟乘法计算电路
KR20130093489A (ko) A/d 변환기
EP3985670A1 (en) Subunit, mac array, and analog and digital combined in-memory computing module having reconstructable bit width
Khaddam-Aljameh et al. An SRAM-based multibit in-memory matrix-vector multiplier with a precision that scales linearly in area, time, and power
Correll et al. A fully integrated reprogrammable CMOS-RRAM compute-in-memory coprocessor for neuromorphic applications
Wang et al. A charge domain SRAM compute-in-memory macro with C-2C ladder-based 8-bit MAC unit in 22-nm FinFET process for edge inference
CN111934689B (zh) 一种高精度模数转换器及转换方法
Hsieh et al. 7.6 A 70.85-86.27 TOPS/W PVT-insensitive 8b word-wise ACIM with post-processing relaxation
Krishnan et al. Hybrid RRAM/SRAM in-memory computing for robust DNN acceleration
Caselli et al. Charge sharing and charge injection A/D converters for analog in-memory computing
CN114759927A (zh) 一种应用于模拟存内计算的逐次逼近型模数转换器电路
Gopal et al. An ultra low-energy DAC for successive approximation ADCs
US20200210822A1 (en) Multibit Neural Network
TW202349884A (zh) 用於記憶體內運算巨集的共用行之類比數位轉換器
Yang et al. A 4-Bit Mixed-Signal MAC Macro With One-Shot ADC Conversion
Rasul et al. A 128x128 SRAM macro with embedded matrix-vector multiplication exploiting passive gain via MOS capacitor for machine learning application
Chae et al. A Multi-Bit In-Memory-Computing SRAM Macro Using Column-Wise Charge Redistribution for DNN Inference in Edge Computing Devices