TW202147320A - 低功率記憶體內計算位元格 - Google Patents

低功率記憶體內計算位元格 Download PDF

Info

Publication number
TW202147320A
TW202147320A TW110102711A TW110102711A TW202147320A TW 202147320 A TW202147320 A TW 202147320A TW 110102711 A TW110102711 A TW 110102711A TW 110102711 A TW110102711 A TW 110102711A TW 202147320 A TW202147320 A TW 202147320A
Authority
TW
Taiwan
Prior art keywords
transistor
memory computing
storage unit
capacitor
memory
Prior art date
Application number
TW110102711A
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 TW202147320A publication Critical patent/TW202147320A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • 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
    • 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/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
    • 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 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/16Multiple access memory array, e.g. addressing one storage element via at least two independent addressing line groups
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06GANALOGUE COMPUTERS
    • G06G7/00Devices in which the computing operation is performed by varying electric or magnetic quantities
    • G06G7/12Arrangements for performing computing operations, e.g. operational amplifiers
    • G06G7/16Arrangements for performing computing operations, e.g. operational amplifiers for multiplication or division

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Molecular Biology (AREA)
  • Neurology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Dram (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

提供了一種記憶體內計算位元格,其包括用於對儲存位元進行儲存的一對交叉耦合反相器。所述記憶體內計算位元格包括用於將所儲存的位元與輸入向量位元相乘的邏輯閘。用於邏輯閘的輸出節點連接到電容的第二板。電容的第一板連接到讀取位元線。

Description

低功率記憶體內計算位元格
本申請涉及記憶體內計算(compute-in-memory),並且更具體地,涉及低功率記憶體內計算位元格。本專利申請要求享有於2020年1月31日提交的、標題為“LOW-POWER COMPUTE-IN-MEMORY BITCELL”之美國非臨時專利申請案第16/779,491號的優先權,該非臨時申請案已轉讓給本受讓人,並且在此通過引用的方式明確地合併入本揭露書。
資料的電腦處理通常使用馮·諾依曼架構,其中,從記憶體中獲取資料以在算術和邏輯單元中進行處理。在諸如機器學習之類的計算密集型應用中,進出記憶體的資料流成為處理速度的瓶頸。為了解決這個資料移動瓶頸,已經開發了記憶體內計算架構,其中,資料處理硬體分佈在多個位元格中。
根據本揭露書的第一方面,提供了一種記憶體內計算儲存單元,包括:一對交叉耦合反相器,具有用於儲存位元的第一輸出節點;讀取位元線;具有響應於輸入位元之電壓的字元線;電容,具有連接到讀取位元線的第一板;以及第一通道電晶體,連接在所述第一輸出節點與所述電容之第二板之間、並且具有連接到所述字元線的閘極。
根據本揭露書的第二方面,提供了一種記憶體內計算儲存單元,其包括:一對交叉耦合反相器,具有用於儲存位元的第一輸出節點;讀取位元線;電容,具有連接到所述讀取位元線的第一板;以及,第一傳輸閘極,連接在所述第一輸出節點和所述電容之第二板之間,其中,所述第一傳輸閘極被配置為響應於輸入位元為真而關閉、並且被配置為響應於所述輸入位元為假而開啟。
根據本揭露書的第三方面,提供了一種乘法及累加電路,包括:排列成多個行的多個記憶體內計算儲存單元,其中,每一行包括讀取位元線,並且其中,每一列中的每個記憶體內計算儲存單元包括邏輯閘並且包括電容,所述邏輯閘被配置為將輸入位元與儲存位元相乘,所述電容具有連接到該行之讀取位元線的第一板、並且具有連接到用於所述邏輯閘之輸出節點的第二板。
根據本揭露書的第四方面,提供了一種記憶體內計算方法,該方法包括:在重置階段期間,當每個記憶體內計算儲存單元中用於電容的第一板連接至所述讀取位元線、並且當每個記憶體內計算儲存單元中用於每個電容的第二板接地時,將用於記憶體內計算儲存單元之行的讀取位元線充電至電源電壓;在每個記憶體內計算儲存單元中重置階段之後的運算階段期間,當所述讀取位元線保持充電到電源電壓時,將輸入向量的對應位元與用於所述記憶體內計算儲存單元的儲存位元相乘,以便利用乘積訊號來驅動所述記憶體內計算儲存單元之電容的所述第二板;以及,在所述運算階段之後的累加階段期間,當每個記憶體內計算儲存單元之電容的所述第二板接地以在所述讀取位元線上產生累加電壓時,將讀取位元線與電源電壓的電源節點進行隔離。
通過以下詳細描述可以更好地理解這些以及其他有利特徵。
提供了諸如記憶體內計算位元格之類的記憶體內計算儲存單元,其包括使用兩個交叉耦合反相器來儲存位元的SRAM單元。其中一個交叉耦合反相器使用儲存位元來驅動真(Q)輸出節點,而其餘交叉耦合反相器使用儲存位元的互補來驅動互補(QB)輸出節點。記憶體內計算儲存位元格另包括電容,所述電容具有連接到讀取位元線(RBL)的第一板。如本揭露書中所使用的,“連接”是指直接電連接,儘管這樣的直接連接可以通過諸如電阻、電容或電感之類的干預元件來實現。Q輸出節點通過諸如p型金屬氧化物半導體(PMOS)的第一通道電晶體來耦接到電容的第二板。類似地,QB輸出節點通過第二通道電晶體(例如,PMOS第二通道電晶體)耦接到電容的第二板。Q輸出節點在本揭露書中也被稱為第一輸出節點。類似地,QB輸出節點在本揭露書中也被稱為第二輸出節點。輸入向量位元係控制第一通道電晶體的閘極,而輸入向量位元的互補係控制第二通道電晶體的閘極。
用於電容的第二板通過諸如n型金屬氧化物半導體(NMOS)重置電晶體之類的重置電晶體接地,所述重置電晶體具有由讀取字元線(RWL)控制的閘極。在用於記憶體內計算位元格的重置階段期間,當讀取字元線設置到電源電壓VDD以對電容充電時,讀取位元線被充電到高達電源電壓VDD。在重置階段之後的運算階段期間,讀取字元線被放電以關閉重置電晶體,而讀取位元線保持充電至電源電壓VDD。如果輸入向量位元和儲存位元都為真,則第一通道電晶體開啟以將電容的第二板充電至電源電壓VDD。類似地,如果輸入向量位元和儲存位元都為假,則第二通道電晶體被開啟以對電容的第二板充電。由於在運算階段期間,電容的第一板保持連接到電源電壓VDD的電源節點,因此第二板向電源電壓VDD的充電使電容放電。另一方面,如果輸入向量位元和儲存位元具有互補值,則在運算階段期間第一通道電晶體和第二通道電晶體均未開啟。在那種情況下,電容的第二板保持放電,從而電容保持充電到電源電壓VDD。
如果輸入向量位元是低電位有效訊號,則在運算階段期間記憶體內計算儲存單元對輸入向量位元和儲存位元實施互斥非或運算(XNOR),其中,如果輸入向量位元和儲存位元都具有相同的二進制值,獲得邏輯輸出為真(電容充電),而如果輸入向量位元和儲存位元不具有相同的二進制值,則獲得邏輯輸出為假(電容放電)。取代地,如果輸入向量位元是高電位有效訊號,則記憶體內計算位元格將對儲存位元和輸入向量位元進行互斥或(XOR)運算。
所得到的記憶體內計算位元格是非常有利的,因為所得到的電容之充電是全軌的(即,充電到電源電壓VDD或放電到接地)。另外,不需要傳輸閘極來傳遞全軌輸出。此外,不需要將用於開啟重置電晶體的讀取字元線維持提高到大於電源電壓VDD以便得到軌到軌輸出。最後,重置電晶體以及記憶體內計算位元格中的其餘電晶體都可以是高電壓(厚氧化物)電晶體,以限制洩漏。現在將更詳細地討論一些示例性記憶體內計算位元格。
現在轉到附圖,圖1中顯示了示例性記憶體內計算位元格100。一對交叉耦合反相器105將儲存位元儲存在為真的輸出節點Q上,並且還將該位元的互補儲存在互補輸出節點QB上。如在SRAM領域中所已知,當寫入字元線(WWL)設置為電源電壓VDD以開啟相應的一對NMOS存取電晶體M1和M2時,儲存位元從位元線BL和互補位元線BLB寫入到記憶體內計算位元格100中。存取電晶體M1在本揭露書中也被稱為第一存取電晶體。類似地,存取電晶體M2在本揭露書中也被稱為第二存取電晶體。為真的輸出節點Q連接到PMOS第一通道電晶體P1的源極,且PMOS第一通道電晶體P1的汲極連接到電容C的第二板和NMOS重置電晶體M3的汲極。類似地,互補輸出節點QB連接到PMOS第二通道電晶體P2的源極,且PMOS第二通道電晶體P2的汲極連接到電容C的第二板及連接到重置電晶體M3的汲極。預充電字元線PCWL上的低電位有效輸入向量位元控制第一通道電晶體P1的閘極。類似地,互補預充電字元線PCWLB上的低電位有效輸入向量位之互補係控制第二通道電晶體P2的閘極。為了簡潔起見,預充電字元線PCWL在本揭露書中也僅表示為字元線。
電容C的第一板連接到讀取位元線RBL。在運算階段之前,電容C在用於記憶體內計算位元格100的重置階段被重置。在重置階段期間,重置線上的重置訊號被維持為將連接在讀取位元線與電源電壓VDD的節點之間之開關S1關閉。因此,在重置階段期間,讀取位元線被充電到電源電壓VDD。當重置訊號被維持時,讀取字元線還被維持連接到重置電晶體M3的閘極。重置電晶體M3的源極係接地,使得當讀取字元線被維持時,重置電晶體M3開啟以將電容C的第二板接地。在重置階段期間,電容C被充電至電源電壓VDD。在重置階段期間,預充電字元線和互補預充電字元線都被充電到電源電壓VDD,以保持通道電晶體P1和P2都關閉。
在運算階段計算儲存位元和輸入向量位的二進制乘積,當重置訊號被維持為保持讀取位元線充電到電源電壓VDD時,根據輸入向量位元的值對預充電字元線和互補預充電字元線來進行充電。在計算階段期間,讀取字元線被去維持,使得電容C的第二板相對於接地端浮動。在低電位有效實施例中,如果輸入向量位元為真,則預充電字元線被放電。同時,互補預充電字元線隨後被充電高達電源電壓VDD。相反,如果在低有效實施例中輸入向量位元為假,則在將互補預充電字元線放電的同時將預充電字元線充電至電源電壓VDD。如果由於輸入向量位元為真值、並且儲存位元也為真,而使預充電字元線放電,則通道電晶體P1將開啟,以將電容C的第二板充電至電源電壓VDD。由於讀取位元線連接到電源電壓VDD的電源節點,因此電容C會因為第二板的充電而放電。當儲存位元和輸入向量位元都為假時,針對電容C的相同放電也會發生。在那種情況下,第二通道電晶體P2開啟,以在運算階段期間對電容的第二板進行充電。但是,如果輸入向量位元和儲存位元具有互補的二進制值,則通道電晶體P1和P2均不會開啟。然後第二板保持放電,從而電容C保持充電。因此,所得的乘積是輸入向量位元與儲存位元的XNOR。另一方面,如果輸入向量位元是高電位有效訊號,則乘積將是輸入向量位元和儲存位元的XOR。
在運算階段之後是累加階段。在累加階段中,當重置訊號被去維持時,讀取字元線被維持。因此,在累加階段期間,由於開關S1根據重置訊號的去維持而開啟,因此讀取位元線與電源節點相隔離。隨著由於讀取字元線維持到電源電壓VDD而使重置電晶體M3開啟,電容C的第二板在累加階段期間接地。
如本揭露書所公開的,重置、運算、以及累加階段應用於乘法及累加電路中記憶體內計算位元格的行。圖2A中示出的示例性乘法及累加(MAC)電路200包括以行和列佈置的記憶體內計算位元格100之陣列220。陣列220中的儲存位元可以被視為形成與輸入向量din 225相乘的矩陣。例如,輸入向量din 225的維度可以是MAC電路200中的128個,使得輸入向量din 225的範圍從輸入向量之第1個位元din1到第128個位元din128。輸入向量din 225依序變化,因此對於每個實例,輸入向量din 225乘以儲存在陣列220中的矩陣,並將結果在序列積分器215中依序地積分。為了進行矩陣相乘,將輸入向量din 225以行為基礎與數組220的內容進行相乘。
在圖2B中更詳細地示出了陣列220的示例性行230。陣列220中的每一列由行230中的相應記憶體內計算位元格100來表示。為了說明清楚,在圖2B中僅示出了三個記憶體內計算位元格100,但是應當明白,陣列220的每一列將存在對應的記憶體內計算位元格100。由於輸入向量din 225具有128個維度,所以在陣列220中有128個列。將會明白,在可選實施例中,該維度可以改變。針對行230中第一列的記憶體內計算位元格100執行其儲存位元與輸入向量第1個位元din1的相乘。類似地,針對行230中第二列的記憶體內計算位元格100可以執行其儲存位元與輸入向量第二個位元din2的相乘,以此類推,使得針對行230中第128列的記憶體內計算位元格100可以執行其儲存位元與輸入向量最終位元din128的相乘。依據乘法結果,行230中每個記憶體內計算位元格100或維持其電容的充電,或者對其電容進行放電,並相應地在累加階段期間影響讀取位元線(RBL)的電壓。因此,讀取位元線對於行230中所有記憶體內計算位元格100是全域的。類似地,位元線(BL)和互補位元線(BLB)對於行230中的所有記憶體內計算位元格100也是全域的。圖1的開關S1是由行230中的PMOS電晶體P4來實現的。在一些實施例中,重置電晶體M3也被稱為第三電晶體,而電晶體P4也被稱為第四電晶體。在其他實施例中,重置電晶體M3被表示為第一電晶體,而電晶體P4被表示為第二電晶體。
在其儲存的位元與輸入向量din 225相乘之後,在累加階段中針對行230之讀取位元線上的電壓表示陣列220中儲存的矩陣之一列與輸入向量din相乘的類比結果225。讀取位元線電壓在本揭露書中也表示為累加電壓。為了將該類比結果轉換為數位值,每一行230包括類比至數位轉換器(ADC)205。在行230中,ADC 205是由比較器235來表示的。在一些實施例中,ADC 205可以是多位元ADC,其在由多位元求和電路210求和時提供數位結果,以便為矩陣列與輸入向量din 225的乘積提供多位元加權或數位結果。隨著輸入向量din 225依序地改變,輸入向量din 225的每個實例與每一行230中的儲存位元相乘,並且多位元結果儲存在相應的序列積分器215中。因此,在一些實施例中,針對每個行230,一對一地存在ADC 205、多位元求和電路210、以及序列積分器215。隨著輸入向量din 225被依序改變而形成依序輸入,每個序列積分器215對針對其行230的乘法及累加結果進行依序積分。
所得到的矩陣乘積是非常有利的,因為結果的線性度基本上取決於是否可以最小的變化程度來重現針對每個記憶體內計算位元格100的電容C。這在現代半導體製造技術中很容易實現,例如,通過將每個電容C實施為金屬層電容,從而使乘法及累加操作是有利地線性的。在可選實施例中,可以使用變容二極體、金屬-絕緣體-金屬電容或其他合適的結構來實現每個電容C。線性度還取決於ADC 205。為了減小每個ADC 205所需要的裸晶空間並改善線性度,可以修改記憶體內計算位元格100,使得可以如下在ADC 205的操作中使用電容C。圖3中示出了經示例性的修改後之記憶體內計算位元格300。除了引入了具有連接到電源節點的源極、和連接到電容C的第二板之汲極的PMOS電晶體P3之外,如針對記憶體內計算位元格100所討論的那樣佈置記憶體內計算位元格300。此外,開關S1以PMOS電晶體P4實施,也如圖2B所示。
電晶體P3的添加也是有利的,因為,例如在其中每個ADC 205是多位元連續近似暫存器(SAR)ADC的實施例中,電容C可以重新用作電容數位至類比轉換器(CDAC)的一部分。在累加階段中在記憶體內計算位元格300的行隨著跨行的相乘結果而對它們的讀取位元線進行充電之後,可以由另一電容(未圖示)對讀取字元線電壓進行取樣。利用由該附加電容捕獲的取樣電壓,然後可以將讀取位元線放電到接地端。接著,通過開啟在行中所選擇之記憶體內計算位元格300中的電晶體P3,藉由將所選擇的電容C之第二板驅動到電源電壓VDD,可以選擇性地提高所得到的取樣電壓。特別地,諸如由有限狀態機(未圖示)所控制的DAC訊號BTP被放電,以用於所選擇的記憶體內計算位元格300,來提升來自行乘積的取樣電壓。行中其餘記憶體內計算位元格300將使電容C的第二板浮動,從而不影響所期望的提升。可選地,藉由使所選擇的電容C的第二板接地,通過開啟在所選擇之記憶體內計算位元格300內的重置電晶體M3,藉由維持它們的DAC訊號BTP,可以選擇性地遞減取樣電壓。在具有128個列的記憶體內計算位元格300之實施例中,所得到的DAC解析度將是7位元。通常,可以通過相應地改變位元格300的陣列尺寸,來增加或減小解析度。
不管是否包括電晶體P3,本揭露書公開的記憶體內計算位元格乘法均不限於使用通道電晶體P1和P2來驅動相應電容C的第二板。舉例來說,可以修改記憶體內計算位元格100,以用傳輸閘取代通道電晶體P1和P2,如針對記憶體內計算位元格400的圖4所示。傳輸閘還確保了全軌訊號(接地或電源電壓VDD)被傳遞到電容C的第二板。具體地,第一傳輸閘T1控制針對交叉耦合反相器105的Q輸出節點上之儲存位元是否可以傳遞以影響電容C的第二板電壓。類似地,第二傳輸閘T2控制QB輸出節點上之儲存位元的互補是否可以傳遞,以影響電容C的第二板電壓。預充電字元線PCWLA和互補預充電字元線PCWLA_B控制傳輸閘T1或T2是開啟還是關閉。
輸入位元控制預充電字元線PCWLA的狀態。類似地,輸入位元的互補控制了互補預充電字元線PCWLA_B的狀態。第一傳輸閘T1被配置為使得第一傳輸閘T1響應於(XNOR實現方式中的低電位有效)輸入位元為真而關閉,並且使得第一傳輸閘T1響應於輸入位元為假而開啟。輸入位元(例如,輸入向量位元)可以是低電位有效或高電位有效,取決於是否期望基於XNOR的乘法或基於XOR的乘法。預充電字元線PCWLA驅動第一傳輸閘T1中的PMOS電晶體之閘極。類似地,互補預充電字元線PCWLA_B驅動第一傳輸閘T1中NMOS電晶體的閘極。
該耦合在第二傳輸閘T2中被反轉,使得互補預充電字元線PCWLA_B驅動第二傳輸閘T2中PMOS電晶體的閘極。類似地,預充電字元線PCWLA驅動第二傳輸閘T2中NMOS電晶體的閘極。因此,第二傳輸閘T2被配置為使得第二傳輸閘T2響應於互補輸入向量位元為真而關閉,並且使得第二傳輸閘T2響應於互補輸入向量位元為假而開啟。在評估階段期間,記憶體內計算位元格400執行基於XNOR(或基於XOR)的乘法,傳輸閘T1和T2中只有其中一個將被關閉,另一個將依據輸入位元的二進制狀態而開啟。記憶體內計算位元格400中其餘組件是如關於記憶體內計算位元格100所討論的。為了說明清楚起見,在圖4中沒有示出存取電晶體M1和M2、寫入字元線WWL、以及位元線BL和BLB。
記憶體內計算位元格300也可以被修改為包括第一傳輸閘T1和第二傳輸閘T2,如圖5中的記憶體內計算位元格500所示。記憶體內計算位元格500中的其餘組件是如針對圖3所討論的。為了說明清楚,圖5中沒有示出存取電晶體M1和M2、寫入字元線WWL、以及位元線BL和BLB。記憶體內計算位元格500中第一傳輸閘T1和第二傳輸閘T2的操作是如同關於記憶體內計算位元格400所討論的。
圖6中示出了示例性記憶體內計算方法的流程圖。該方法包括動作600,該動作600在重置階段期間發生,並且包括:當用於每個記憶體內計算儲存單元中的電容之第一板連接到讀取位元線時、並且當用於每個記憶體內計算儲存單元中每個電容之第二板接地時,對用於記憶體內計算儲存單元之一行的讀取位元線充電到電源電壓。當電晶體P4開啟並且為圖2B之行230維持每個讀取字元線時,發生這種重置階段的示例。
該方法另包括動作605,該動作605在重置階段之後的運算階段期間發生,並且包括:針對每個記憶體內計算儲存單元,當讀取位元線保持充電至電源電壓時,將輸入向量的對應位元與用於記憶體內計算儲存單元的儲存位元進行相乘,以便使用乘積訊號來驅動記憶體內計算儲存單元之電容的第二板。乘積訊號的一個示例是來自記憶體內計算位元格100和300中的通道電晶體P1和P2之XNOR輸出訊號、以及來自記憶體內計算位元格400和500的第一傳輸閘T1或第二傳輸閘T2之XNOR輸出訊號。在XOR邏輯閘實施例中,乘積訊號係為XOR輸出訊號。
最後,該方法包括動作610,動作610在運算階段之後的累加階段期間發生。動作610包括:當每個記憶體內計算儲存單元的電容之第二極接地時,將讀取位元線與用於電源電壓之電源節點進行隔離,以在讀取位元線上產生累加電壓。累加電壓的一個示例是在運算階段之後,在電晶體P4關閉重置電晶體M3開啟之後,用於記憶體內計算位元格100、300、400或500中任何一者的讀取位元線電壓。
如本揭露書所公開的記憶體內計算位元格可以有利地合併入任何合適的行動式設備或電子系統中。例如,如圖7中所示,蜂巢式電話700、膝上型電腦705和平板電腦710都可以包括具有記憶體內計算位元格的記憶體內計算,例如,用於根據本揭露書的機器學習應用。其他示例性電子系統(比如,音樂播放器、視頻播放器、通訊設備以及個人電腦)也可以被配置於根據本揭露書所構建的記憶體內計算。
將明白的是,在不脫離本揭露書的範圍的情況下,可以對本揭露書之設備的材料、裝置、配置以及使用的方法進行許多修改、替換和變型。鑒於此,本揭露書的範圍不應當限於本揭露書所示出和描述的具體實施例的範圍,因為它們僅是通過其一些示例的方式,而是應當與此後所附請求項的範圍及其功能等價物完全相稱。
100:記憶體內計算位元格 105:交叉耦合反相器 M1、M2:NMOS存取電晶體 M3:重置電晶體 P1、P2:PMOS通道電晶體 C:電容 S1:開關 200:乘法及累加電路 205:ADC 210:多位元求和電路 215:序列積分器 220:陣列 225:輸入向量 230:行 235:比較器 300:記憶體內計算位元格 P3、P4:PMOS電晶體 400:記憶體內計算位元格 T1、T2:傳輸閘 500:記憶體內計算位元格 600、605、610:動作 700:蜂巢式電話 705:膝上型電腦 710:平板電腦
圖1示出了根據本揭露書的一個方面之第一記憶體內計算位元格。
圖2A示出了根據本揭露書的一個方面之包括記憶體內計算位元格的陣列之乘法及累加電路。
圖2B示出了根據本揭露書的一個方面之用於乘法及累加電路的記憶體內計算位元格之行。
圖3示出了根據本揭露書的一個方面之第二記憶體內計算位元格。
圖4示出了根據本揭露書的一個方面之第三記憶體內計算位元格。
圖5示出了根據本揭露書的一個方面之第四記憶體內計算位元格。
圖6是根據本揭露書的一個方面之示例性記憶體內計算方法的流程圖。
圖7示出了根據本揭露書的一個方面之一些示例性電子系統,這些示例性電子系統均包括具有記憶體內計算位元格之陣列的乘法及累加電路。
通過參考下面的詳細描述,可以最佳地理解本揭露書的實施例及其優點。應當理解,相同的附圖標記用於標識在一個或多個附圖中示出的相同元件。
100:記憶體內計算位元格
105:交叉耦合反相器
M1、M2:NMOS存取電晶體
M3:重置電晶體
P1、P2:PMOS通道電晶體
C:電容
S1:開關

Claims (35)

  1. 一種記憶體內計算儲存單元,包括: 一對交叉耦合反相器,具有用於儲存位元的第一輸出節點; 讀取位元線; 具有響應於輸入位元之電壓的字元線; 電容,具有連接到所述讀取位元線的第一板;以及 第一通道電晶體,連接在所述第一輸出節點與所述電容的第二板之間,並且具有連接到所述字元線的閘極。
  2. 如請求項1所述的記憶體內計算儲存單元,其中,所述一對交叉耦合反相器包括用於所述儲存位元之互補的第二輸出節點;所述記憶體內計算儲存單元另包括: 互補字元線,具有響應於所述輸入位元之互補的電壓; 第二通道電晶體,連接在所述第二輸出節點與所述電容之所述第二板之間,並且具有連接到所述互補字元線的閘極。
  3. 如請求項2所述的記憶體內計算儲存單元,其中,所述第一通道電晶體和所述第二通道電晶體係皆為p型金屬氧化物半導體(PMOS)電晶體。
  4. 如請求項2所述的記憶體內計算儲存單元,另包括: 讀取字元線;以及 第三電晶體,連接在所述電容之所述第二板和接地端之間,並且具有連接到所述讀取字元線的閘極。
  5. 如請求項4所述的記憶體內計算儲存單元,其中,所述第三電晶體是n型金屬氧化物半導體(NMOS)電晶體,其具有連接到接地端的源極以及連接到所述電容之所述第二板的汲極。
  6. 如請求項4所述的記憶體內計算儲存單元,另包括: 第四電晶體,連接在電源電壓之電源節點與所述讀取位元線之間。
  7. 如請求項6所述的記憶體內計算儲存單元,其中,所述第四電晶體是PMOS電晶體,其具有連接到所述電源節點之源極和連接到所述讀取位元線的汲極。
  8. 如請求項7所述的記憶體內計算儲存單元,另包括: 用於重置訊號的重置線,其中,用於所述第四電晶體的閘極連接到所述重置線。
  9. 如請求項2所述的記憶體內計算儲存單元,另包括: 寫入位元線; 互補寫入位元線: 第一存取電晶體,連接在所述寫入位元線和所述第一輸出節點之間;以及 第二存取電晶體,連接在所述互補寫入位元線和所述第二輸出節點之間。
  10. 如請求項9所述的記憶體內計算儲存單元,另包括: 寫入字元線,其中,所述寫入字元線連接到所述第一存取電晶體的閘極、並且連接到所述第二存取電晶體的閘極。
  11. 如請求項6所述的記憶體內計算儲存單元,另包括:連接在所述電容之所述第二板和所述電源節點之間的第五電晶體。
  12. 如請求項1所述的記憶體內計算儲存單元,其中,所述記憶體內計算儲存單元被包括在多個記憶體內計算儲存單元所形成之陣列中的行內。
  13. 如請求項1所述的記憶體內計算儲存單元,其中,所述電容是從由金屬層電容、變容二極體和金屬-絕緣體-金屬電容組成之群組所選取的。
  14. 如請求項5所述的記憶體內計算儲存單元,其中,所述第三電晶體是厚氧化物電晶體。
  15. 一種記憶體內計算儲存單元,包括: 一對交叉耦合反相器,具有用於儲存位元的第一輸出節點; 讀取位元線; 電容,具有連接到所述讀取位元線的第一板;以及 第一傳輸閘極,連接在所述第一輸出節點和所述電容的第二板之間,其中,所述第一傳輸閘極被配置為響應於輸入位元為真而關閉並且被配置為響應於所述輸入位元為假而開啟。
  16. 如請求項15所述的記憶體內計算儲存單元,其中,所述一對交叉耦合反相器包括用於儲存位元之互補的第二輸出節點;所述記憶體內計算儲存單元另包括: 第二傳輸閘極,連接在所述第二輸出節點和所述電容之所述第二板之間,其中,所述第二傳輸閘極被配置為響應於所述輸入位元為真而開啟並且被配置為響應於所述輸入位元為假而關閉。
  17. 如請求項15所述的記憶體內計算儲存單元,其中,所述輸入位元是低電位有效訊號。
  18. 如請求項15所述的記憶體內計算儲存單元,另包括: 讀取字元線;以及 第一電晶體,連接在所述電容之所述第二板和接地端之間,並且具有連接到所述讀取字元線的閘極。
  19. 如請求項18所述的記憶體內計算儲存單元,其中,所述第一電晶體是具有連接到接地端的源極和連接到所述電容之所述第二板的汲極之n型金屬氧化物半導體(NMOS)電晶體。
  20. 如請求項18所述的記憶體內計算儲存單元,另包括: 第二電晶體,連接在用於電源電壓的電源節點和所述讀取位元線之間。
  21. 如請求項20所述的記憶體內計算儲存單元,其中,所述第二電晶體係為具有連接到所述電源節點的源極和連接到所述讀取位元線的汲極之PMOS電晶體。
  22. 如請求項21所述的記憶體內計算儲存單元,另包括: 用於重置訊號的重置線,其中,用於所述第二電晶體的閘極連接到所述重置線。
  23. 一種乘法及累加電路,包括: 排列成多個行的多個記憶體內計算儲存單元,其中,每一行包括讀取位元線,並且其中,每一行中的每個記憶體內計算儲存單元包括邏輯閘並且包括電容,所述邏輯閘被配置為將輸入位元與儲存位元相乘,所述電容具有連接到該行之讀取位元線的第一板、並且具有連接到用於所述邏輯閘之輸出節點的第二板。
  24. 如請求項23所述的乘法及累加電路,另包括: 一對一地對應於所述多個行的多個類比至數位轉換器,每個類比至數位轉換器被配置為將對應行之讀取位元線的電壓轉換為數位值。
  25. 如請求項24所述的乘法及累加電路,其中,每個類比至數位轉換器是多位元類比至數位轉換器。
  26. 如請求項24所述的乘法及累加電路,其中,每個類比至數位轉換器是包括數位至類比轉換器的連續近似暫存器類比至數位轉換器。
  27. 如請求項24所述的乘法及累加電路,另包括: 一對一地對應於所述多個行的多個序列積分器,其中,每個序列積分器被配置為對來自對應行之類比至數位轉換器的數位值進行積分。
  28. 如請求項23所述的乘法及累加電路,其中,每個邏輯閘係為互斥非或(XNOR)邏輯閘。
  29. 如請求項23所述的乘法及累加電路,其中,每個邏輯閘係為互斥或(XOR)邏輯閘。
  30. 如請求項23所述的乘法及累加電路,其中,所述乘法與累加電路被集成到行動式設備中。
  31. 如請求項30所述的乘法及累加電路,其中,所述行動式設備是蜂巢式電話。
  32. 一種記憶體內計算方法,包括: 在重置階段期間,當每個記憶體內計算儲存單元中用於電容的第一板連接至所述讀取位元線、並且當每個記憶體內計算儲存單元中用於每個電容的第二板係為接地時,將用於記憶體內計算儲存單元之行的讀取位元線充電至電源電壓; 在每個記憶體內計算儲存單元的所述重置階段之後的運算階段期間,當所述讀取位元線保持充電到電源電壓時,將輸入向量的對應位元與用於所述記憶體內計算儲存單元的儲存位元相乘,以便利用乘積訊號來驅動所述記憶體內計算儲存單元之電容的所述第二板;以及 在所述運算階段之後的累加階段期間,當每個記憶體內計算儲存單元之電容的所述第二板被接地以在所述讀取位元線上產生累加電壓時,將讀取位元線與用於電源電壓的電源節點進行隔離。
  33. 如請求項32所述的方法,另包括: 將所述累加電壓轉換為數位值。
  34. 如請求項32所述的方法,其中,所述輸入向量是用於機器學習應用的輸入向量。
  35. 如請求項32所述的方法,另包括: 依序改變所述輸入向量以形成數位值序列;以及 對所述數位值序列進行積分。
TW110102711A 2020-01-31 2021-01-25 低功率記憶體內計算位元格 TW202147320A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/779,491 US11657238B2 (en) 2020-01-31 2020-01-31 Low-power compute-in-memory bitcell
US16/779,491 2020-01-31

Publications (1)

Publication Number Publication Date
TW202147320A true TW202147320A (zh) 2021-12-16

Family

ID=74626209

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110102711A TW202147320A (zh) 2020-01-31 2021-01-25 低功率記憶體內計算位元格

Country Status (5)

Country Link
US (1) US11657238B2 (zh)
EP (1) EP4097721A1 (zh)
CN (1) CN115039177A (zh)
TW (1) TW202147320A (zh)
WO (1) WO2021154586A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11714570B2 (en) * 2020-02-26 2023-08-01 Taiwan Semiconductor Manufacturing Company, Ltd. Computing-in-memory device and method
US11586896B2 (en) * 2020-03-02 2023-02-21 Infineon Technologies LLC In-memory computing architecture and methods for performing MAC operations
US20220027130A1 (en) * 2020-07-27 2022-01-27 Robert Bosch Gmbh Time domain ratiometric readout interfaces for analog mixed-signal in memory compute crossbar networks
US11914973B2 (en) * 2020-11-19 2024-02-27 Apple Inc. Performing multiple bit computation and convolution in memory
US11551747B2 (en) * 2021-03-25 2023-01-10 Taiwan Semiconductor Manufacturing Company, Ltd. Computation apparatus and method using the same
US20230317150A1 (en) * 2022-03-30 2023-10-05 Qualcomm Incorporated Memory with Bitcell Power Boosting
WO2023224596A1 (en) * 2022-05-16 2023-11-23 The Trustees Of Princeton University Shared column adcs for in-memory-computing macros

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0354265B1 (de) 1988-08-11 1993-12-29 Siemens Aktiengesellschaft Integrierte Halbleiterschaltung mit einem Speicherbereich
JP2001053164A (ja) 1999-08-04 2001-02-23 Sony Corp 半導体記憶装置
TW201044791A (en) * 2009-04-24 2010-12-16 Integrated Device Tech Clock, frequency reference, and other reference signal generator with frequency stability over temperature variation
US8953365B2 (en) * 2013-06-07 2015-02-10 International Business Machines Corporation Capacitor backup for SRAM
KR102540082B1 (ko) 2015-09-17 2023-06-02 제너직 에이비 감소된 누설을 위한 sram 아키텍처들
US10699778B2 (en) * 2017-04-28 2020-06-30 Arizona Board Of Regents On Behalf Of Arizona State University Static random access memory (SRAM) cell and related SRAM array for deep neural network and machine learning applications
US11263522B2 (en) 2017-09-08 2022-03-01 Analog Devices, Inc. Analog switched-capacitor neural network
US10410714B2 (en) * 2017-09-20 2019-09-10 Qualcomm Incorporated Multi-level cell (MLC) static random access memory (SRAM) (MLC SRAM) cells configured to perform multiplication operations
US11669446B2 (en) * 2018-06-18 2023-06-06 The Trustees Of Princeton University Configurable in memory computing engine, platform, bit cells and layouts therefore
US10825509B2 (en) 2018-09-28 2020-11-03 Intel Corporation Full-rail digital read compute-in-memory circuit
US11061646B2 (en) 2018-09-28 2021-07-13 Intel Corporation Compute in memory circuits with multi-Vdd arrays and/or analog multipliers
JP7391874B2 (ja) * 2018-11-08 2023-12-05 株式会社半導体エネルギー研究所 半導体装置
WO2020139895A1 (en) * 2018-12-24 2020-07-02 The Trustees Of Columbia University In The City Of New York Circuits and methods for in-memory computing
US10825510B2 (en) * 2019-02-09 2020-11-03 Purdue Research Foundation Multi-bit dot product engine

Also Published As

Publication number Publication date
WO2021154586A1 (en) 2021-08-05
EP4097721A1 (en) 2022-12-07
US20210240442A1 (en) 2021-08-05
US11657238B2 (en) 2023-05-23
CN115039177A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
TW202147320A (zh) 低功率記憶體內計算位元格
US11783875B2 (en) Circuits and methods for in-memory computing
US20230108651A1 (en) Analog switched-capacitor neural network
US11024358B1 (en) Differential compute-in-memory bitcell
US8274841B2 (en) Semiconductor signal processing device
US11574173B2 (en) Power efficient near memory analog multiply-and-accumulate (MAC)
KR20220027082A (ko) 컴퓨트-인-메모리 비트 셀
US11372622B2 (en) Time-shared compute-in-memory bitcell
TWI750038B (zh) 記憶體裝置、計算裝置及計算方法
CN113467751A (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
Sharma et al. AND8T SRAM macro with improved linearity for multi-bit in-memory computing
Lin et al. A review on SRAM-based computing in-memory: Circuits, functions, and applications
US20220108742A1 (en) Differential charge sharing for compute-in-memory (cim) cell
TW202201396A (zh) 記憶體內計算動態隨機存取記憶體
CN115699184A (zh) 用于机器学习的基于电荷泵的电流模式神经元
TW202238593A (zh) 具有三元啟動的記憶體內運算
TW202234398A (zh) 具有電容性耦合寫操作的記憶體內計算位元單元
Bharti et al. Compute-in-memory using 6T SRAM for a wide variety of workloads
Kim et al. SRAM-Based Processing-in-Memory (PIM)
Jeong et al. MAC-DO: Charge Based Multi-Bit Analog In-Memory Accelerator Compatible with DRAM Using Output Stationary Mapping
CN117877553A (zh) 一种用于非易失性随机存储器的存内计算电路
TW202349884A (zh) 用於記憶體內運算巨集的共用行之類比數位轉換器
Li An energy efficient compute-in-memory SRAM for low power CNN based machine learning application