TWI830054B - 記憶體內運算裝置 - Google Patents
記憶體內運算裝置 Download PDFInfo
- Publication number
- TWI830054B TWI830054B TW110131671A TW110131671A TWI830054B TW I830054 B TWI830054 B TW I830054B TW 110131671 A TW110131671 A TW 110131671A TW 110131671 A TW110131671 A TW 110131671A TW I830054 B TWI830054 B TW I830054B
- Authority
- TW
- Taiwan
- Prior art keywords
- voltage
- memory
- detection circuit
- array
- output
- Prior art date
Links
- 238000001514 detection method Methods 0.000 claims abstract description 101
- 230000008713 feedback mechanism Effects 0.000 claims abstract description 12
- 230000003068 static effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 18
- 238000003491 array Methods 0.000 description 10
- 239000011159 matrix material Substances 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011065 in-situ storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/412—Digital 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/418—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/41—Digital 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/413—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction
- G11C11/417—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing, timing or power reduction for memory cells of the field-effect type
- G11C11/419—Read-write [R-W] circuits
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05F—SYSTEMS FOR REGULATING ELECTRIC OR MAGNETIC VARIABLES
- G05F1/00—Automatic systems in which deviations of an electric quantity from one or more predetermined values are detected at the output of the system and fed back to a device within the system to restore the detected quantity to its predetermined value or values, i.e. retroactive systems
- G05F1/10—Regulating voltage or current
- G05F1/46—Regulating voltage or current wherein the variable actually regulated by the final control device is dc
- G05F1/56—Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices
- G05F1/575—Regulating voltage or current wherein the variable actually regulated by the final control device is dc using semiconductor devices in series with the load as final control devices characterised by the feedback circuit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Power Sources (AREA)
- Static Random-Access Memory (AREA)
Abstract
本發明揭露一種記憶體內運算裝置,係包括互相連接之具有放大器與參考電流源之電壓調制器、具有複數運算單元之記憶體內運算陣列、及偵測電路。放大器具有電流輸入與電壓輸出並連接參考電流源,且電壓調制器提供輸出電壓以供給至記憶體內運算陣列。偵測電路之輸出電流輸入至電壓調制器中以和電壓調制器之參考電流源相比較,再依據比較結果執行負回授收斂或負回授機制,俾調控電壓調制器供給至記憶體內運算陣列之輸出電壓。
Description
本發明係關於一種運算裝置,特別是指一種記憶體內運算裝置。
在記憶體內運算(Computing-In-Memory;CIM)之架構中,記憶體之運算單元(bit cell)通常用以儲存神經網路之權重係數,而字元數則由濾波器大小與通道數來決定。當記憶體之字元線被激發時,所有相關之位元資訊會在位元線上進行累加,藉此達到平行化與乘積累加運算(Multiply Accumulate;MAC)之功能。
在運算單元之設計上,可分為電流模式與電荷模式等兩種操作。在傳統電流模式之乘積累加運算(MAC)時,位元線之輸出電流無法有效控制,往往導致輸出電流過大及額外之功率損耗,且感應放大器於過度偏壓下之電壓偏移等效應。
現有技術曾提出使用記憶體複製單元及二位元電流鏡產生類比之字元線(Word Line;WL)驅動電壓,藉此調節輸出電流。然而,此現有技術在小電流輸出之條件下,由於字元線(WL)驅動電壓較低,使得運算單元內之開關元件進入次臨界區,此時元件之輸出電流易受匹配度之影響,
導致輸出電流線性度劣化。
在電荷模式之操作中,記憶單元可對隔離電容進行預充電,而後經由電荷重新分配進行累加計算,故相較於電流模式之操作,電荷模式之最大優點在於可正規化輸出動態範圍,毋須顧慮位元線之過載問題,但為不影響面積之使用效率,單位電容值往往僅千兆分之一法拉(1fF)。所以,當電荷重分配時,容易受到電晶體與開關元件之寄生電容之影響,造成非線性之輸出響應,且電晶體之開關切換之注入電荷亦會造成取樣誤差。
因此,如何提供一種創新之運算裝置,以解決上述之問題或提供相關之功能,已成為本領域技術人員之一大研究課題。
本發明提供一種創新之記憶體內運算裝置,能將記憶體內運算陣列(如SRAM陣列)結合電壓調制器(如分散式電壓調制器)與偵測電路(如分散式運算單元內偵測電路),或者能採用次臨界之自動偏壓設計以降低記憶體內運算陣列之運算電路之功率消耗,又或者能依據電壓調制器所提供之精準之參考電流源以自動調整記憶體內運算陣列之運算單元之操作電壓,抑或者能以負回授收斂或負回授機制調控電壓調制器之輸出電壓。
本發明之記憶體內運算裝置包括:一具有放大器與參考電流源之電壓調制器,放大器係具有電流輸入與電壓輸出,且放大器與參考電流源互相連接;一具有複數運算單元之記憶體內運算陣列,係連接具有放大器與參考電流源之電壓調制器,其中,具有放大器與參考電流源之電壓調制器提供輸出電壓以供給至具有複數運算單元之記憶體內運算陣列;以
及一偵測電路,係分別連接電壓調制器與具有複數運算單元之記憶體內運算陣列,其中,偵測電路之輸出電流係輸入至具有放大器與參考電流源之電壓調制器中,以將偵測電路之輸出電流與電壓調制器之參考電流源相比較,再依據偵測電路之輸出電流與電壓調制器之參考電流源之比較結果執行負回授收斂或負回授機制,俾透過負回授收斂或負回授機制調控電壓調制器供給至具有複數運算單元之記憶體內運算陣列之輸出電壓。
為讓本發明之上述特徵與優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明。在以下描述內容中將部分闡述本發明之額外特徵及優點,且此等特徵及優點將部分自所述描述內容可得而知,或可藉由對本發明之實踐習得。應理解,前文一般描述與以下詳細描述兩者均為例示性及解釋性的,且不欲約束本發明所欲主張之範圍。
1:記憶體內運算裝置
10:電壓調制器
11:放大器
12:電流加法器
20:記憶體內運算陣列
21:運算單元
30:偵測電路
31:開關電路
32:電流源
40:字元線驅動器
50:預充電元件
60:控制器
70:重塑電路
80:邏輯控制器
A:等效矩陣
ADC:類比至數位轉換器
CBL:位元線電容元件
I1,I2,...,In:輸出電流
IMD:電流
IREF:參考電流源
LSB:最低有效位元
PRE:控制電壓
RBL:讀取用位元線
RWL:讀取字元線
VBL:位元線電壓
VDD,VDDSRAM,VPRE:供應電壓
VPRE:供應電壓
VWBL,VWBLB,VWWL:電壓
VWL1,VWL2,...,VWLn:驅動電壓
WBL:寫入位元線
WBLB:寫入位元線桿
WWL:寫入字元線
圖1為本發明之記憶體內運算裝置之基本電路架構示意圖;圖2A為本發明之記憶體內運算裝置中關於電壓調制器與偵測電路之連接細節圖;圖2B為本發明之記憶體內運算裝置中關於電壓調制器與偵測電路之操作時序示意圖;圖3為本發明之記憶體內運算裝置中關於電壓調制器、記憶體內運算陣列與偵測電路之連接關係示意圖;圖4A為本發明之記憶體內運算裝置中關於具有複數運算單元之記憶體內運算陣列結合電壓調制器之示意圖;
圖4B本發明之記憶體內運算裝置中關於具有複數運算單元之記憶體內運算陣列結合電壓調制器之操作時序示意圖;以及圖5為本發明之記憶體內運算裝置中關於記憶體內運算陣列等多個構件之完整電路連接狀態之示意圖。
以下藉由特定的具體實施形態說明本發明之實施方式,熟悉此技術之人士可由本說明書所揭示之內容了解本發明之其它優點與功效,亦可因而藉由其它不同的具體等同實施形態加以施行或運用。
圖1為本發明之記憶體內運算裝置1之基本電路架構示意圖。如圖所示,記憶體內運算裝置1可包括一電壓調制器(voltage regulator)10、一記憶體內運算陣列20、至少一(如複數)偵測電路30(如分散式運算單元內偵測電路)、至少一(如複數)字元線驅動器40、至少一(如複數)預充電元件50與至少一(如複數)類比至數位轉換器(Analog-to-Digital Converter)ADC等,且記憶體內運算陣列20可分別連接電壓調制器10、偵測電路30(如分散式運算單元內偵測電路)、字元線驅動器40、預充電元件50與類比至數位轉換器ADC。電壓調制器10可具有一放大器11、一參考電流源IREF與一電流加法器12,且記憶體內運算陣列20可具有複數運算單元21。本發明所述「連接」可代表「電性連接」或「訊號連接」,且「複數」可代表二個以上(如二、三、四或五個以上)。
例如,電壓調制器10可為分散式電壓調制器(distributed voltage regulator)等。記憶體內運算陣列20可為SRAM陣列(Static
Random Access Memory array;靜態隨機存取記憶體陣列)等記憶體內運算電路等,且運算單元21可為位元單元(如bit cell)等記憶體內運算單元。偵測電路30可為分散式運算單元內偵測電路等原位偵測電路(in-situ monitoring circuit)。但是,本發明並不以此為限。
電壓調制器10(如分散式電壓調制器)之輸出電壓可提供記憶體內運算陣列20(如SRAM陣列)與偵測電路30(如分散式運算單元內偵測電路)之供應電壓,且電壓調制器10之放大器11可具有電流輸入與電壓輸出。放大器11之電流輸入可為包括正端(+)與負端(-)之雙端輸入,放大器11之正端(+)與參考電流源IREF連接,放大器11之負端(-)與複數運算單元21(如位元單元)之位元線(bitline)連接,且複數運算單元21之位元線連接至電壓調制器10之一電流加法器12。
記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線可連接字元線驅動器40之電壓輸出,且複數運算單元21之位元線可連接(如直接連接)類比至數位轉換器ADC之輸入與預充電元件50之輸出。此記憶體內運算裝置1於操作時,可將字元線驅動器40之電壓輸入視為一個向量,並透過字元線驅動器40之電壓輸出以驅動記憶體內運算陣列20,記憶體內運算陣列20儲存一個等效矩陣A,最終於類比至數位轉換器ADC之電壓輸出為將等效矩陣A與向量兩者進行運算(如兩者相乘)得到之結果向量,亦即運算表示式為。
記憶體內運算裝置1之主要電路可大致分為具有放大器11與參考電流源IREF之電壓調制器10(如分散式電壓調制器)、具有複數運算單元21之記憶體內運算陣列20(如SRAM陣列)與偵測電路30(如分散式
運算單元內偵測電路)三個區塊。電壓調制器10可具有電流輸入與電壓輸出之電路結構,並提供輸出電壓以供給至具有複數運算單元21(如位元單元)之記憶體內運算陣列20(如SRAM陣列)之運算電路。偵測電路30(如分散式運算單元內偵測電路)之輸出電流可輸入至具有放大器11與參考電流源IREF之電壓調制器10(如分散式電壓調制器)中,以將偵測電路30之輸出電流與電壓調制器10之參考電流源IREF相比較,再依據偵測電路30之輸出電流與電壓調制器10之參考電流源IREF之比較結果執行負回授收斂或負回授機制,俾透過負回授收斂或負回授機制調控電壓調制器10供給至具有複數運算單元21(如位元單元)之記憶體內運算陣列20(如SRAM陣列)之輸出電壓。
圖2A為本發明之記憶體內運算裝置1中關於電壓調制器10(如分散式電壓調制器)與偵測電路30(如分散式運算單元內偵測電路)之連接細節圖,圖2B為本發明之記憶體內運算裝置1中關於電壓調制器10與偵測電路30之操作時序示意圖,並參閱圖1予以說明。
如圖2A所示,偵測電路30(如分散式運算單元內偵測電路)可由與記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)相同之單元所組成,偵測電路30之供應電壓VDD(見圖3)可連接電壓調制器10(如分散式電壓調制器)之放大器11之電壓輸出,放大器11之輸入可連接參考電流源IREF,且偵測電路30中之複數單元之位元線亦可連接放大器11之輸入。
在偵測電路30之操作原理方面,偵測電路30可透過控制邏輯電路以驅動偵測電路30之寫入字元線(Write Word Line)WWL,再將偵
測電路30之寫入位元線(Write Bit Line)WBL與寫入位元線桿(Write Bit Line Bar)WBLB之初始設定之位元寫入記憶體內運算陣列20(如SRAM陣列)中,即完成偵測電路30(如分散式運算單元內偵測電路)之操作之初始設定。
如圖2B所示,在偵測電路30之操作時序方面,可將偵測電路30之寫入字元線WWL上之電壓VWWL拉高,使記憶體內運算陣列20(如SRAM陣列)進行寫入,且透過寫入位元線WBL上之電壓VWBL與寫入位元線桿WBLB上之電壓VWBLB之高低差,將對應位元寫入偵測電路30(如分散式運算單元內偵測電路)中。
將對應位元寫入偵測電路30(如分散式運算單元內偵測電路)後,可透過控制邏輯電路以驅動讀取偵測電路30之讀取字元線(Read Word Line)RWL,使偵測電路30產生電流IMD以對電壓調制器10之輸出進行抽載,且將偵測電路30之電流IMD與電壓調制器10之準確之參考電流源IREF進行比較,再利用負回授收斂或負回授機制使偵測電路30之電流IMD與電壓調制器10之參考電流源IREF之數值接近,最終使得電壓調制器10(如分散式電壓調制器)提供至記憶體內運算陣列20(如SRAM陣列)之供應電壓VDDSRAM趨於穩定。
舉例而言,於正常操作電壓下,若無上述負回授收斂或負回授機制之調控,電壓較高之供應電壓VDDSRAM會使得偵測電路30之電流IMD較大,透過上述負回授收斂或負回授機制之調控能夠自動調整偵測電路30之電流IMD,使電流IMD與參考電流源IREF接近。又,在參考電流源IREF設定合理之情況下,能夠透過負回授收斂或負回授機制同時降低供應電壓
VDDSRAM與電流IMD之值,故可大幅降低記憶體內運算陣列20(如SRAM陣列)之功率消耗。
圖3為本發明之記憶體內運算裝置1中關於電壓調制器10(如分散式電壓調制器)、記憶體內運算陣列20(如SRAM陣列)與偵測電路30(如分散式運算單元內偵測電路)三者之連接關係示意圖,且記憶體內運算裝置1可進一步包括至少一控制器60(如控制電路)。
如圖3所示,可將圖2A中之偵測電路30之複數單元等效為一組開關電路31與電流源32串聯而成之電路,開關電路31之控制電壓可為偵測電路30中之字元線上之控制電壓,且字元線上之控制電壓可由控制器60(如控制電路)提供。可透過開啟偵測電路30中不同數量之開關電路,以使電壓調制器10(如分散式電壓調制器)之輸入電流發生改變,亦可透過電壓調制器10上之輸出電壓發生改變,以調整電壓調制器10(如分散式電壓調制器)、記憶體內運算陣列20(如SRAM陣列)與偵測電路30(如分散式運算單元內偵測電路)三者之供應電壓。
基於此概念之完整作法,記憶體內運算裝置1可包括一個或一組控制器60(如一控制電路或至少二控制器之組合),以將控制器60(如控制電路)之控制訊號輸入至偵測電路30(如分散式運算單元內偵測電路)中,且能利用上述偵測電路30(如分散式運算單元內偵測電路)之操作之初始設定,以正規化記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之輸出電流。此外,亦可藉由分區輸入相對應之最佳碼,使記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之操作電壓分區調整至最佳之操作電壓值,進而達
成功耗最佳化之效果。
圖4A為本發明之記憶體內運算裝置1中關於具有複數運算單元21(如位元單元)之記憶體內運算陣列20(如SRAM陣列)結合電壓調制器10之示意圖,圖4B本發明之記憶體內運算裝置1中關於具有複數運算單元21之記憶體內運算陣列20(如SRAM陣列)結合電壓調制器10之操作時序示意圖。
如圖4A與圖4B所示,電壓調制器10之放大器11之輸出電壓可作為偵測電路30(如分散式運算單元內偵測電路)與記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之供應電壓。記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線將由電壓所控制,例如複數運算單元21(如位元單元)之字元線之電壓來源可由字元線驅動器40之驅動電壓(VWL1,VWL2,...,VWLn)進行控制,俾於複數運算單元21(如位元單元)相連接之位元線上以電壓型式表示位元線電壓VBL之運算結果。前述n代表正整數,且字元線驅動器40可提供複數驅動電壓(VWL1,VWL2,...,VWLn)與一位元線電容元件CBL。
圖4A中之記憶體內運算裝置1亦包括一個如圖1所示之預充電元件50,且預充電元件50之輸出可一併連接複數運算單元21(如位元單元)之位元線。當預充電元件50之控制電壓PRE開啟預充電元件50時,預充電元件50可對互相連接之複數運算單元21(如位元單元)之位元線進行充電,且充電之電荷可視為儲存於位元線電容元件CBL上。
利用電壓調制器10(如分散式電壓調制器)所提供之供應電壓VDDSRAM可在正常模式(如傳統之SRAM操作模式)與記憶體內運算
(Computing-In-Memory;CIM)模式之間進行操作模式切換與動態調節操作電壓。於正常模式(如傳統之SRAM操作模式)時,供應電壓VDDSRAM可提供記憶體內運算陣列20(如SRAM陣列)一般之操作電壓。而於記憶體內運算模式(CIM mode)時,可依據上述概念給予分區間之偵測電路30(如分散式運算單元內偵測電路)之最佳碼,並藉由偵測電路30(如分散式運算單元內偵測電路)之輸出電流與電壓調制器10(如分散式電壓調制器)之精準之參考電流源IREF來調控記憶體內運算陣列20(如SRAM陣列)之操作電壓以最佳化分區間之功耗,使得偵測電路30之讀取用位元線(Read Bit-Line)RBL之元件進入次臨界(sub-threshold)區。由於字元線驅動器40之驅動電壓(VWL1,VWL2,...,VWLn)可為全擺幅,使得流過驅動記憶體內運算陣列20(如SRAM陣列)之輸出電流(I1,I2,...,In)之匹配度不受讀取用位元線RBL之元件之臨界電壓而影響,故能提高輸出電流(I1,I2,...,In)之線性度。而在固定字元線驅動器40之驅動電壓(VWL1,VWL2,...,VWLn)之開啟時間之情況下,將電壓調制器10(如分散式電壓調制器)結合記憶體內運算陣列20(如SRAM陣列)以進行記憶體內運算操作,亦能有效提升輸出電流(I1,I2,...,In)之線性度。
如圖4B所示,當偵測電路30(如分散式運算單元內偵測電路)完成初始狀態設定後,電壓調制器10(如分散式電壓調制器)可將供應電壓VDDSRAM依據參考電流源IREF與偵測電路30之輸出電流調整記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之操作電壓至次臨界區之操作狀態,以滿足功率預算之需求。之後,透過預充電元件50之預充電(PRE)訊號將複數運算單元21(如位元單元)相連接之
位元線上之位元線電壓VBL抬升至預充電元件50所設定之供應電壓VPRE,以使字元線驅動器40之驅動電壓(VWL1,VWL2,...,VWLn)抬升。
由於本發明採用記憶體內運算裝置1之架構,故記憶體內運算陣列20(如SRAM陣列)之運算單元21(如位元單元)之輸出電流(I1,I2,...,In)已完成正規化。又,因製程或溫度變異所產生之元件不匹配度,將會藉由電壓調控進行補償,並將於位元線電壓VBL之數值上反映其乘積累加運算(MAC)之類比輸出結果,且由類比至數位轉換器ADC將乘積累加運算(MAC)之類比輸出結果轉為數位碼,再搭配稀疏編碼等控制邏輯運算,以完成記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之運算。
LSB之中文為最低有效位元(Least Significant Bit),且LSB(最低有效位元)之技術意義為二進位制中最低數值之位元。如圖4B之時序圖所示,當一驅動電壓(如VWL1)進行放電一單位之時間時,即可於位元線電壓VBL上產生一單位之最低有效位元(1xLSB)之壓降;當二驅動電壓(如VWL1與VWL2)同時繼續進行放電二單位之時間時,即可於位元線電壓VBL上產生二單位之最低有效位元(2xLSB)之壓降;當三驅動電壓(如VWL1、VWL2與VWL3)同時繼續進行放電三單位之時間時,即可於位元線電壓VBL上產生三單位之最低有效位元(3xLSB)之壓降;當四驅動電壓(如VWL1、VWL2、VWL3與VWL4)同時繼續進行放電四單位之時間時,即可於位元線電壓VBL上產生四單位之最低有效位元(4xLSB)之壓降;依此類推。因此,如圖4B之時序圖之舉例說明,本發明能於位元線電壓VBL上依序
反映一單位之最低有效位元(1xLSB)之壓降、二單位之最低有效位元(2xLSB)之壓降、三單位之最低有效位元(3xLSB)之壓降與四單位之最低有效位元(4xLSB)之壓降所構成之乘積累加運算(MAC)之類比輸出結果。
圖5為本發明之記憶體內運算裝置1中關於記憶體內運算陣列20(如SRAM陣列)等多個構件之完整電路連接狀態之示意圖,用以呈現記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之完整架構。同時,記憶體內運算裝置1可進一步包括互相連接之一重塑電路70與至少一邏輯控制器80,且重塑電路70可為字元至二進制重塑電路(Word-to-Binary reshaping circuit)等。
如圖所示,當記憶體內運算陣列20(如SRAM陣列)操作於正常模式(如傳統之SRAM操作模式)時,字元線驅動器40之輸出與記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線連接,且記憶體內運算陣列20(如SRAM陣列)內部分的運算單元21(如位元單元)之位元線會互相連接。可利用字元線驅動器40之輸出電壓控制記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線,而在正常模式(如傳統之SRAM操作模式)時,會在部分的運算單元21(如位元單元)之位元線之連接處得到字元線驅動器40控制運算單元21(如位元單元)之字元線的運算結果。
當記憶體內運算陣列20(如SRAM陣列)操作於記憶體內運算模式(CIM mode)時,記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線之連接處會與邏輯控制器80之輸出線連接在一起,且電壓調制器10(如分散式電壓調制器)之輸出電壓可提供記憶體
內運算陣列20(如SRAM陣列)與偵測電路30(如分散式運算單元內偵測電路)之供應電壓。因此,電壓調制器10(如分散式電壓調制器)之輸出可與記憶體內運算陣列20(如SRAM陣列)及偵測電路30(如分散式運算單元內偵測電路)之供應電壓點相連接,且記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之位元線可與預充電元件50之輸出及類比至數位轉換器ADC之輸入相連接。
當進行記憶體內運算模式(CIM mode),且將字元線驅動器40之電壓輸入視為一個向量以電壓型式進行傳遞時,會先將字元線驅動器40之電壓輸入(向量)通過重塑電路70(如字元至二進制重塑電路)與邏輯控制器80,再透過邏輯控制器80之輸出電壓對記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線進行控制。當記憶體內運算陣列20(如SRAM陣列)之運算單元21(如位元單元)之字元線被驅動時,複數運算單元21(如位元單元)之字元線形成之等效矩陣A便會與前述向量執行運算,且運算結果將會反映在記憶體內運算陣列20(如SRAM陣列)內與部分運算單元21(如位元單元)相連接之位元線上,此相連接之位元線也會與類比至數位轉換器ADC之輸入連接在一起,故可由複數類比至數位轉換器ADC之輸出電壓中得到向量與記憶體內運算陣列20(如SRAM陣列)之複數運算單元21(如位元單元)之字元線形成之等效矩陣A兩者之運算的結果向量。
記憶體內運算陣列20(如SRAM陣列)之部分運算單元21(如位元單元)相連接之位元線上,亦有預充電元件50之輸出與運算單元21(如位元單元)之位元線相連。當預充電元件50之充電電壓PRE開啟預充電元
件50時,會對記憶體內運算陣列20(如SRAM陣列)之部分運算單元21(如位元單元)相連接之位元線進行充電。
本發明可於不同技術節點之半導體製程技術及各種記憶體單元組成之架構下實現,主要技術為將記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)結合電壓調制器10(如分散式電壓調制器),且於支援記憶體內運算之情況下,利用自動調整記憶體內運算陣列20(如SRAM陣列)之操作電壓,以克服記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之製程或操作溫度變異之影響,並降低記憶體內運算陣列20(如SRAM陣列)之運算電路之功率消耗,亦能達到記憶體內運算陣列20(如SRAM陣列)之大規模或複數運算單元21(如位元單元)之權重正規化,還能滿足類比至數位轉換器ADC之操作動態範圍之需求。
綜上,本發明之記憶體內運算裝置至少具有下列特色、優點或技術功效。
一、本發明能將記憶體內運算陣列(如SRAM陣列)結合電壓調制器(如分散式電壓調制器)與偵測電路(如分散式運算單元內偵測電路),以利調節記憶體內運算陣列(如SRAM陣列)之大規模或複數運算單元(如位元單元)之功耗,亦能大幅降低乘積累加運算(MAC)之功耗。
二、本發明能利用電壓調制技術,以克服記憶體內運算陣列(如SRAM陣列)之大規模或複數運算單元(如位元單元)之製程或操作溫度變異之影響。
三、本發明可以採用次臨界之自動偏壓設計,能降低記憶體
內運算陣列(如SRAM陣列)之運算電路之功率消耗,也能藉由電路自動偏壓以達到大規模或複數運算單元(如位元單元)之權重正規化,還能滿足類比電路之動態範圍需求。
四、本發明可以利用電壓調制器(如分散式電壓調制器)自動調整記憶體內運算陣列(如SRAM陣列)之大規模或複數運算單元(如位元單元)之操作電壓,以利提升運算單元之權重正規化或運算線性度。
五、本發明能結合電壓調制器(如分散式電壓調制器)與偵測電路(如分散式運算單元內偵測電路),並依據電壓調制器所提供之精準之參考電流源以自動調整記憶體內運算陣列(如SRAM陣列)之大規模或複數運算單元(如位元單元)之操作電壓,使運算單元於記憶體內運算模式(CIM mode)之低功耗下達到次臨界操作,亦能提升運算效能與線性度。
六、本發明透過偵測電路(如分散式運算單元內偵測電路)之電流輸出與電壓調制器(如分散式電壓調制器)之參考電流源相比較,以負回授收斂或負回授機制調控電壓調制器之輸出電壓,且將輸出電壓供給記憶體內運算陣列之大規模或複數運算單元(如位元單元),以利透過自動偏壓機制降低位元線上不必要之功率消耗,亦能同時達成大規模或複數運算單元(如位元單元)之正規化與提升線性度。
七、本發明可以應用於記憶體內運算陣列之大規模或複數運算單元(如位元單元)之開發,凡使用隨機存取記憶體單元建構之記憶體內運算電路設計皆能作為參考之技術指標。
八、本發明之概念不限定於6T、8T或10T(T代表電晶體)之架構,舉凡透過隨機存取記憶體建構之大規模或複數運算單元(如位元單
元),皆可使用偵測電路(如分散式運算單元內偵測電路)結合電壓調制器(如分散式電壓調制器)之方式,有效達成功率調節之效果,亦能提升運算單元之權重正規化。
上述實施形態僅例示性說明本發明之原理、特點及其功效,並非用以限制本發明之可實施範疇,任何熟習此項技藝之人士均能在不違背本發明之精神及範疇下,對上述實施形態進行修飾與改變。任何使用本發明所揭示內容而完成之等效改變及修飾,均仍應為申請專利範圍所涵蓋。因此,本發明之權利保護範圍應如申請專利範圍所列。
1:記憶體內運算裝置
10:電壓調制器
11:放大器
12:電流加法器
20:記憶體內運算陣列
21:運算單元
30:偵測電路
40:字元線驅動器
50:預充電元件
A:等效矩陣
ADC:類比至數位轉換器
IREF:參考電流源
PRE:控制電壓
Claims (12)
- 一種記憶體內運算裝置,包括:一具有放大器與參考電流源之電壓調制器,該放大器係具有電流輸入與電壓輸出,且該放大器與該參考電流源互相連接;一具有複數運算單元之記憶體內運算陣列,係連接該具有放大器與參考電流源之電壓調制器,其中,該具有放大器與參考電流源之電壓調制器提供輸出電壓以供給至該具有複數運算單元之記憶體內運算陣列;以及一偵測電路,係分別連接該電壓調制器與該具有複數運算單元之記憶體內運算陣列,其中,該偵測電路之輸出電流係輸入至該具有放大器與參考電流源之電壓調制器中,以將該偵測電路之輸出電流與該電壓調制器之參考電流源相比較,再依據該偵測電路之輸出電流與該電壓調制器之參考電流源之比較結果執行負回授收斂或負回授機制,俾透過該負回授收斂或負回授機制調控該電壓調制器供給至該具有複數運算單元之記憶體內運算陣列之該輸出電壓。
- 如請求項1所述之記憶體內運算裝置,其中,該電壓調制器、該具有複數運算單元之記憶體內運算陣列與該偵測電路分別為分散式電壓調制器、具有複數位元單元之靜態隨機存取記憶體(SRAM)陣列與分散式運算單元內偵測電路。
- 如請求項1所述之記憶體內運算裝置,其中,該放大器之電流輸入為包括正端與負端之雙端輸入,該放大器之正端與該參考電流源連接,該放大器之負端與該複數運算單元之位元線連接,且該複數運算單元之位元線連接至該電壓調制器之一電流加法器。
- 如請求項1所述之記憶體內運算裝置,其中,該偵測電路更透過控制邏輯電路以驅動該偵測電路之寫入字元線,且將該偵測電路之 寫入位元線與寫入位元線桿之初始設定之位元寫入該具有複數運算單元之記憶體內運算陣列中。
- 如請求項1所述之記憶體內運算裝置,其中,該偵測電路更透過控制邏輯電路以驅動讀取該偵測電路之讀取字元線,使該偵測電路產生電流以對該電壓調制器之輸出進行抽載,且將該偵測電路之電流與該電壓調制器之參考電流源進行比較,再利用該負回授收斂或負回授機制使該偵測電路之電流與該電壓調制器之參考電流源之數值接近。
- 如請求項1所述之記憶體內運算裝置,更包括一字元線驅動器、至少一預充電元件與至少一類比至數位轉換器,係分別連接該具有複數運算單元之記憶體內運算陣列,其中,該記憶體內運算陣列之複數運算單元之字元線連接該字元線驅動器之電壓輸出,且該複數運算單元之位元線連接該類比至數位轉換器之輸入與該預充電元件之輸出。
- 如請求項1所述之記憶體內運算裝置,更包括至少一控制器,其中,該偵測電路之複數單元係等效為一組開關電路與電流源串聯而成之電路,該開關電路之控制電壓為該偵測電路中之字元線上之控制電壓,且該字元線上之控制電壓由該控制器提供。
- 如請求項1所述之記憶體內運算裝置,更包括至少一字元線驅動器,其中,該電壓調制器之放大器之輸出電壓作為該偵測電路與該記憶體內運算陣列之複數運算單元之供應電壓,且該複數運算單元之字元線之電壓來源由該字元線驅動器之驅動電壓進行控制。
- 如請求項1所述之記憶體內運算裝置,更包括至少一預充電元件,且該預充電元件之輸出一併連接該複數運算單元之位元線,其中,當該預充電元件之控制電壓開啟該預充電元件時,該預充電元件對互相連 接之該複數運算單元之位元線進行充電,且該充電之電荷視為儲存於位元線電容元件上。
- 如請求項1所述之記憶體內運算裝置,更包括至少一預充電元件與至少一字元線驅動器,其中,該電壓調制器之供應電壓係依據該參考電流源與該偵測電路之輸出電流調整該記憶體內運算陣列之複數運算單元之操作電壓至次臨界區之操作狀態,且該預充電元件之預充電訊號將該複數運算單元相連接之位元線上之位元線電壓抬升至該預充電元件所設定之供應電壓,以使該字元線驅動器之驅動電壓抬升。
- 如請求項1所述之記憶體內運算裝置,其中,該電壓調制器所提供之供應電壓係在正常模式與記憶體內運算模式之間進行操作模式切換與動態調節操作電壓,於該正常模式時,該供應電壓提供該記憶體內運算陣列一般之操作電壓,而於該記憶體內運算模式時,藉由該偵測電路之輸出電流與該電壓調制器之參考電流源來調控該記憶體內運算陣列之操作電壓。
- 如請求項1所述之記憶體內運算裝置,更包括至少一字元線驅動器、一重塑電路與一邏輯控制器,其中,該字元線驅動器之電壓輸入係通過該重塑電路與該邏輯控制器,以透過該邏輯控制器之輸出電壓對該記憶體內運算陣列之複數運算單元之字元線進行控制。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110131671A TWI830054B (zh) | 2021-08-26 | 2021-08-26 | 記憶體內運算裝置 |
US17/578,591 US11934253B2 (en) | 2021-08-26 | 2022-01-19 | Computing-in-memory apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110131671A TWI830054B (zh) | 2021-08-26 | 2021-08-26 | 記憶體內運算裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202309890A TW202309890A (zh) | 2023-03-01 |
TWI830054B true TWI830054B (zh) | 2024-01-21 |
Family
ID=85285482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110131671A TWI830054B (zh) | 2021-08-26 | 2021-08-26 | 記憶體內運算裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11934253B2 (zh) |
TW (1) | TWI830054B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117271436B (zh) * | 2023-11-21 | 2024-02-02 | 安徽大学 | 基于sram的电流镜互补存内计算宏电路、及芯片 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170271005A1 (en) * | 2014-12-01 | 2017-09-21 | Commissaria À L'Énergie Atomique Et Aux Énergies Alternatives | Reading circuit for resistive memory |
US20180219519A1 (en) * | 2015-07-30 | 2018-08-02 | Circuit Seed, Llc | Low noise trans-impedance amplifiers based on complementary current field-effect transistor devices |
TW202013264A (zh) * | 2018-05-29 | 2020-04-01 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經元的記憶體內運算記憶體裝置之結構 |
US10839906B2 (en) * | 2018-10-01 | 2020-11-17 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | In memory computing (IMC) memory circuit having 6T cells |
US10915298B1 (en) * | 2019-10-08 | 2021-02-09 | Ali Tasdighi Far | Current mode multiply-accumulate for compute in memory binarized neural networks |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10684663B2 (en) * | 2017-12-28 | 2020-06-16 | Intel Corporation | Accurate voltage control to enhance power performance of circuits |
US10410690B1 (en) * | 2018-08-22 | 2019-09-10 | National Tsing Hua University | Reference-free multi-level sensing circuit for computing-in-memory applications, reference-free memory unit for computing-in-memory applications and sensing method thereof |
US10928886B2 (en) * | 2019-02-25 | 2021-02-23 | Intel Corporation | Frequency overshoot and voltage droop mitigation apparatus and method |
US11069395B2 (en) * | 2019-07-17 | 2021-07-20 | Mentium Technologies Inc. | Analog-to-digital converter for non-volatile memory arrays used for in-memory computation with floating bitlines |
US11460879B1 (en) * | 2021-06-25 | 2022-10-04 | Advanced Micro Devices, Inc. | System and method for controlling electrical current supply in a multi-processor core system via instruction per cycle reduction |
-
2021
- 2021-08-26 TW TW110131671A patent/TWI830054B/zh active
-
2022
- 2022-01-19 US US17/578,591 patent/US11934253B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170271005A1 (en) * | 2014-12-01 | 2017-09-21 | Commissaria À L'Énergie Atomique Et Aux Énergies Alternatives | Reading circuit for resistive memory |
US20180219519A1 (en) * | 2015-07-30 | 2018-08-02 | Circuit Seed, Llc | Low noise trans-impedance amplifiers based on complementary current field-effect transistor devices |
TW202013264A (zh) * | 2018-05-29 | 2020-04-01 | 英屬開曼群島商意騰科技股份有限公司 | 適用於人工神經元的記憶體內運算記憶體裝置之結構 |
US10839906B2 (en) * | 2018-10-01 | 2020-11-17 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | In memory computing (IMC) memory circuit having 6T cells |
US10915298B1 (en) * | 2019-10-08 | 2021-02-09 | Ali Tasdighi Far | Current mode multiply-accumulate for compute in memory binarized neural networks |
Also Published As
Publication number | Publication date |
---|---|
US11934253B2 (en) | 2024-03-19 |
US20230066113A1 (en) | 2023-03-02 |
TW202309890A (zh) | 2023-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10825510B2 (en) | Multi-bit dot product engine | |
US10825509B2 (en) | Full-rail digital read compute-in-memory circuit | |
US8947968B2 (en) | Memory having power saving mode | |
US8675439B2 (en) | Bit line voltage bias for low power memory design | |
US8358551B2 (en) | Reducing peak currents required for precharging data lines in memory devices | |
TWI830054B (zh) | 記憶體內運算裝置 | |
US6870785B1 (en) | Nonvolatile ferroelectric memory device having multi-bit control function | |
US6909626B2 (en) | Method and related circuit for accessing locations of a ferroelectric memory | |
JPH04344387A (ja) | 素子温度に応じたリフレッシュ動作を実行するためのリフレッシュ要請信号発生装置を用いた半導体メモリー装置 | |
Gupta et al. | Exploring processing in-memory for different technologies | |
CN113593624B (zh) | 存内逻辑电路 | |
WO2024221781A1 (zh) | 数据读写电路及其方法、存储器及其驱动方法、电子设备 | |
KR100819219B1 (ko) | 전하 리사이클링 방법, 메모리 장치 | |
US20040208044A1 (en) | Over-driven access method and device for ferroelectric memory | |
US20230386565A1 (en) | In-memory computation circuit using static random access memory (sram) array segmentation and local compute tile read based on weighted current | |
CN117056277A (zh) | 基于读写分离sram配置自适应扫描adc的乘累加存内计算电路 | |
Shin et al. | A PVT-robust customized 4T embedded DRAM cell array for accelerating binary neural networks | |
KR20180023867A (ko) | 메모리 회로 및 데이터 처리 시스템 | |
TWI784906B (zh) | 用於三元運算的記憶體裝置 | |
WO2024221782A1 (zh) | 数据读写电路及其方法、存储器及其驱动方法、电子设备 | |
US20240170062A1 (en) | Non-volatile static random access memory | |
US12131776B2 (en) | Non-volatile memory based compute-in-memory cell | |
US20240371431A1 (en) | Bitline sense amplifier and semiconductor device including the same | |
US20230253019A1 (en) | Memory device supporting in-memory mac operation between ternary input data and binary weight using charge sharing method and operation method thereof | |
CN118333119A (zh) | 存算单元、存算方法、存内计算区块及神经网络电路组件 |