TW202230115A - 運算裝置及運算方法 - Google Patents

運算裝置及運算方法 Download PDF

Info

Publication number
TW202230115A
TW202230115A TW110122827A TW110122827A TW202230115A TW 202230115 A TW202230115 A TW 202230115A TW 110122827 A TW110122827 A TW 110122827A TW 110122827 A TW110122827 A TW 110122827A TW 202230115 A TW202230115 A TW 202230115A
Authority
TW
Taiwan
Prior art keywords
current
memory
input
transistor
computing device
Prior art date
Application number
TW110122827A
Other languages
English (en)
Other versions
TWI803889B (zh
Inventor
池育德
李嘉富
琮永 張
Original Assignee
台灣積體電路製造股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 台灣積體電路製造股份有限公司 filed Critical 台灣積體電路製造股份有限公司
Publication of TW202230115A publication Critical patent/TW202230115A/zh
Application granted granted Critical
Publication of TWI803889B publication Critical patent/TWI803889B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/418Address 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/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/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Biophysics (AREA)
  • Neurology (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Static Random-Access Memory (AREA)
  • Analogue/Digital Conversion (AREA)
  • Monitoring And Testing Of Nuclear Reactors (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Measuring Pulse, Heart Rate, Blood Pressure Or Blood Flow (AREA)

Abstract

本揭露包含記憶體內運算裝置,在一些實例中包括按列與行排列的二維記憶體單元陣列,每一記憶體單元由九個電晶體的基於電流的SRAM製成。每一記憶體單元包括六個電晶體的SRAM單元及電流源,該電流源由切換電晶體耦接至與記憶體單元所在的一行記憶體單元相關聯的輸出線,該電流源由輸入線上的輸入訊號控制。電流源包括由六個電晶體SRAM單元的狀態控制的切換電晶體,及一電流調節電晶體,該電流調節電晶體經調適以產生具有一位準的電流,該位準由施加於閘極處的控制訊號判定。可設定控制訊號,以使得每一輸出線中的總電流在記憶體單元的每一連續行中以因數2增加。

Description

用於記憶體內運算及混合運算與儲存之記憶體結構的靜態隨機存取記憶體單元
本揭示案大體上係關於記憶體內運算或記憶體中運算(「compute-in-memory, CIM」),且更特具體而言係關於用於資料處理(諸如乘積累加(「multiply-accumulate, MAC」)運算)中的記憶體陣列。記憶體中運算或記憶體內運算系統將資訊儲存於電腦的主隨機存取記憶體(random-access memory, RAM)中,且執行記憶體單元級的計算,而非在每一運算運算步驟中都於主RAM與資料儲存之間移動大量資料。由於當資料儲存於RAM中時,存取所儲存的資料更快,因此記憶體中運算允許即時分析資料,從而在商業及機器學習應用中實現更快的報告及決策。目前努力改進記憶體中運算系統的性能。
以下揭示案提供用於實現所提供標的之不同特徵的許多不同的實施例或實例。為簡化本揭示案,下文描述元件和佈置的特定實例。當然,此等僅為實例,不意欲具有限制性。舉例而言,在下文的描述中,在第二特徵上方或其上形成第一特徵可包括第一及第二特徵直接相接觸而形成的實施例,亦可包括第一及第二特徵之間形成額外特徵而使得第一及第二特徵並非直接相接觸的實施例。此外,本揭示案可在各個實例中重複元件符號及/或字母。這種重複是出於簡潔和清晰的目的,且本身並未規定所討論的各個實施例及/或構造之間具有關係。
本揭示案中展示的具體實例係關於記憶體中運算。記憶體中運算的應用的一個實例係乘積累加(「multiply-accumulate, MAC」)運算,其中輸入數值陣列與另一數值(加權)陣列(行)中的各別元件相乘(加權),並且將乘積相加(累加)以得出輸出總和。這在數學上類似於兩個向量的點積(或純量積),在此程序中,兩個向量的分量成對相乘,並且對分量對的乘積求和。在諸如人工神經網路的某些人工智慧(artificial intelligence, AI)系統中,數值陣列可與多行權重加權。與每一行的加權產生各別的輸出總和。由此藉由將輸入數值陣列與多個行的矩陣加權而得出輸出總和陣列。
一種常見類型的積體電路記憶體為靜態隨機存取記憶體(static random-access memory, SRAM)裝置。典型的SRAM記憶體裝置具有記憶體單元陣列。在一些實例中,每一記憶體單元使用連接於上參考電位與下參考電位(例如接地)之間的六個電晶體(6T),使得待儲存的資訊佔據兩個儲存節點中的一者,互補資訊儲存於另一儲存節點。SRAM單元中的每一位元儲存於電晶體中的四者上,此四個電晶體形成兩個交叉耦合反相器。另兩個電晶體連接至記憶體單元字線(WL’),以藉由選擇性地將單元連接至其位元線(BL’)而在讀取及寫入操作期間控制對記憶體單元的存取。當啟用字線時,連接至位元線的感測放大器感測並輸出所儲存的資訊。當處理記憶體單元資料時,常常使用連接至位元線的輸入/輸出(I/O)電路。
根據本揭示案的一些態樣,記憶體中運算(compute-in-memory, CIM)系統包括記憶體陣列,其中除常規(例如6T SRAM)的記憶體單元外,每一記憶體單元具有受控的電流源,此電流源具有電流調節電晶體及切換電晶體,此切換電晶體由記憶體節點(Q或QB,其中維持對應於所儲存值的電壓)控制,並且經調適以使電流通過電流調節電晶體。每一行記憶體單元中的電流調節電晶體由共用電流控制線上的電流控制電壓控制(設定)。在一些實施例中,不同行的電流控制電壓相互相差2次方的冪數,使得每一電流源中的電流與儲存於彼行中對應記憶體單元中的位元的位值(2 0、2 1、2 3等)成正比。每一記憶體單元亦具有切換電晶體(WLC),此切換電晶體經調適以將受控的電流源連接至電流求和位元線(BL)。藉由共用CIM字線(WL)控制(導通或關閉)每一列記憶體單元的切換電晶體(WLC)。在一些實施例中,每一記憶體單元包括傳統的記憶體單元(其為6T SRAM)、受控的電流源及WLC,並且這形成九個電晶體(「nine-transistor, 9T」)的基於電流的SRAM單元,其適用於以傳統方式儲存數位資訊及執行CIM。
根據本揭示案的某些態樣,可使用WL上的一列脈衝(脈衝的數量對應於輸入值)或單次脈衝(脈衝的寬度對應於輸入值)實現多位元輸入。舉例而言,在一些實施例中,可使用4位元輸入,但其他位元寬度在本揭示案的範疇內。舉例而言,用0 (0000 2) WL脈衝表示0輸入,用3 WL脈衝表示3 10(0011 2)輸入,用15 WL脈衝表示15 10(1111 2)輸入,諸如此類。
在一些實施例中,可用輸入訊號乘以排列於一行中的多位元(例如四位元)加權(亦即加權值)。藉由自對應於多位元加權的每一位元的一行中的所有單元對共用BL充電來實現多位元加權輸入的累加,由此每一BL上的電壓指示來自連接至BL的每一單元的電流和,並且指示輸入總和,其中每一輸入由與該行相關聯的二進制權重加權。由此對BL執行乘積累加功能,並且總BL電流與權位和多位元輸入的位元乘積成正比。隨後將對應於多位元權行的所有BL的電流相加,產生類比訊號(例如一時段的電壓或訊號),此類比訊號的值因此為多位元輸入的總和,其中每一輸入與多位元權重加權。由於每一行的電流控制電壓對應於該行的位值,權重的最高有效位元(most significant bit, MSB)比權重的最低有效位元(least significant bit, LSB)對最終電流和的貢獻更大。最終類比訊號由此反映每一BL的正確有效度。舉例而言,在具有一行四位元權重的情況下,最大MSB對最終電壓(或時長)的貢獻將為LSB的貢獻的八(2 3)倍,第二MSB的貢獻將為LSB的貢獻的四(2 2)倍,並且第三MSB(或第二LSB)的貢獻將為LSB的貢獻的兩(2 1)倍。
在另外某些實施例中,一些實例中使用諸如連續近似暫存器(「successive-approximation-register, SAR」)ADC或時域ADC的類比數位轉換器(analog-to-digital converter, ADC),將最終類比訊號轉換為多位元數位輸出。
參考第1圖及第10圖,在下文進一步解釋此等實施例的詳細態樣之前,提供一些例示性實施例的概述。在諸如人工智慧的某些應用中,提出模型系統。將一組輸入(例如數值)提供至模型系統,此模型系統處理輸入並且產生輸出。將輸出與所要的輸出比較,並且如果輸出與所要的輸出不夠相近,則調整模型系統並且重複過程,直至模型系統的輸出與所要的輸出足夠相近。舉例而言,為具有能夠讀取的機器,可為模型系統提供字母的一組片段。系統接收片段(輸入)並且根據算法處理片段,並且輸出字母(系統判定其接收)。如果輸出字母不同於輸入字母,則可調整並再次測試系統,直至輸出以足夠高百分比的次數與輸入匹配。
對於一些應用,模型系統可為乘積累加系統,其藉由將每一輸入與一值(有時稱為「加權」)相乘來處理一組輸入,並且將乘積相加(累加)。系統可包括排列於列與行中的二維元件陣列,元件中的每一者儲存加權,並且能夠接收輸入且產生輸出,此輸出為輸入與所儲存加權的算術乘積。模型系統可將每一輸入提供至整列元件,並且將每一行元件的輸出相加。
舉例而言,第10圖中展示的系統(1000)具有元件或單元(1020)的二維陣列(在此實例中為3x3)(1010),每一元件或單元儲存加權。每一單元(1020)連接至輸入線WL,並且每一行中的單元連接至同一輸入線BL。在第10圖中,用電阻器的符號象徵性地表示每一單元,因為如果將電阻性元件替換為第1圖中所示的9T的基於電流的SRAM單元(120),則BL中產生的輸出電流(Y A、Y B、Y C)與電阻性元件的輸入電壓(X 0、X 1、X 2)的關係類似於輸出電流與輸入脈衝的關係。亦即,每一電流Y j (j = 0, 1, 2)在使用電阻性元件(1020)的情況下為輸入電壓X i 與第j行中各別電導G ij 的乘積的總和,或在使用SRAM元件(1020)的情況下為指示數值的輸入訊號與第j行中各別二進制加權的乘積的總和。
如第1圖中所示,每一單元(120)具有節點Q,其由SRAM單元維持於一電壓,此電壓指示儲存於單元中的值(加權)。如可自第1圖中的示意圖容易地理解,對於每一單元,當輸入WL為二進制「1」,電流調節電晶體導通時,如果Q為「1」,則單元(120)將自BL汲取電流,如果Q為「0」,則單元(120)不汲取電流。當WL為二進制「0」時,不管Q的值如何,單元(120)都不汲取電流。如果指定時段汲取的電流量(亦即汲取的某一電荷量)超過閾值,則為輸出「1」,由此單一單元(120)的輸出如下表所示:
輸入(WL) 加權 Q 輸出(BL)
0 0 0
0 1 0
1 0 0
1 1 1
自此表可以明顯地看出,輸出為輸入與加權的乘積。
另外,由於同一行中的單元(120)共用同一BL,因此BL中的電流為流向連接至BL的所有單元(120)的電流的總和。因此,每一BL中的電流表示輸入(WL)與各別所儲存權重的二進制乘積的總和。此外,由於通過每一電流調節電晶體的電流與電流調節控制線(CL (190))處的閘極電壓成正比,因此每一BL中的總電流與對應CL上的電壓成正比。
再次參考第1圖,在使用多位元(在此實例中為四位元)權重進行乘積累加運算的系統中,向多個(例如四個)單元(120)提供每一輸入(WL),每一單元(120)儲存多位元加權中的一位元。每一BL連接至具有同一位值(亦即2 0、2 1、2 2、2 3等)的一行單元(120)。分別地對應於BL[0]、BL[1]、BL[2]及BL[3]的CL上的電壓在此實例中為對應於BL[0]的CL上的電壓的1倍、2倍、4倍及8倍。因此,相比於BL[0]上的總電流,每一BL中的總電流乘以因數1, 2, 4及8(亦即2 0、2 1、2 2、2 3)。由此,每一BL[j]中的總電流與該BL的位值(2 j )成正比。由此,每一BL[j]中的總電流與輸入和多位元權的第j個數位的乘積總和與BL位值的乘積成正比。
此外,另外參考第5圖,由於BL經平行地連接,通過電阻器(510)的總電流為每一行多位元加權(W n或W n+1)的所有BL的電流和。由此可以明顯地看出,總電流為所有輸入訊號的總和與各別多位元權重的乘積(加權)。
最後,如第5圖中所示且在下文更詳細地描述,根據歐姆定律,每一行多位元加權(W n或W n+1)的所有BL的電流和轉換為電壓,並且藉由類比數位轉換器(analog-to-digital, ADC)將經轉換的訊號轉換為數位輸出,以獲得對應於輸入與儲存於單元(120)中的多位元加權的乘積總和的數位輸出。在一些實施例中,如第7圖中所示且在下文更詳細地描述的實例,每一行多位元加權(W n或W n+1)的所有BL的電流和亦可轉換為時域訊號(亦即脈衝寬度或脈衝計數),隨後可(例如)藉由計數器將此時域訊號轉換為數位訊號。
另外,如第1圖中所示,由於CIM系統(100)中的記憶體單元(120)各自具有6T SRAM單元,CIM系統(100)自身可簡單地用作記憶體陣列,將位元線BL’及BLB’用作資料線,將位元線WL’用作寫入線。替代地,位元線BL’及BLB’可用於將資料寫入(由WL’致能)至記憶體單元(120),並且位元線BL可用於自記憶體單元(120)讀取(由WL’致能)資料。
為解釋上述的系統並且更詳細地解釋其運算,參考第1圖,在一些實施例中CIM系統(100)包括以列及行排列的記憶體單元(120)的二維(「two-dimensional, 2D」)陣列(110)。每一記憶體單元(120)包括6T SRAM單元(130)、受控的電流源(150)及CIM電流切換電晶體(WLC (160))。2D記憶體陣列(110)進一步包括:一組CIM字線(WL (170)),每一列一個CIM字線;一組CIM位元線(BL (180)),每一行一個CIM位元線;及一組電流調節控制線(CL (190))。
在這種情況下,每一6T SRAM單元(130)包括:第一反相器(132),其由p型金屬氧化物半導體(metal-oxide-semiconductor, MOS)場效電晶體(p-type metal-oxide-semiconductor field-effect transistor, PMOS)(142)及n型MOS場效電晶體(n-type MOS field-effect transistor)(144)製成,此p型金屬氧化物半導體場效電晶體(142)及n型金屬氧化物半導體場效電晶體(144)串聯地(亦即源極-汲極電流路徑串聯地)連接於高參考電壓(諸如VDD)與低參考電壓(諸如接地)之間;第二反相器(134),其由PMOS (146)及NMOS (148)製成,此PMOS (146)及NMOS (148)串聯地連接於高參考電壓(諸如VDD)與低參考電壓(諸如接地)之間;及兩個寫入存取電晶體(136、138),其在此實例中為NMOS的。反相器(132、134)反相耦合,亦即一反相器的輸出(Q, QB))(亦即源極/汲極電流路徑之間的連接點)耦合至另一反相器的輸入(亦即閘極)。寫入存取電晶體(136, 138)各自的源極/汲極電流路徑連接於反相耦合反相器(132, 134)的各別連接點與各別位元線(BL’、BLB’)之間,且其閘極連接至字線(WL’)。
在此實例中,每一受控的電流源(150)包括相互串聯連接的電流切換電晶體(152)及電流調節電晶體(154)。受控的電流源(150)進一步與CIM電流切換電晶體(WLC (160))串聯連接。電流切換電晶體(152)的閘極連接至儲存節點(Q, QB)中的一者(例如反相節點QB)。電流調節電晶體的閘極連接至經調節的電流控制線(190)。CIM電流切換電晶體(WLC (160))的閘極連接至CIM字線(WL (170))。
在此實例中,電流切換電晶體(152)、電流調節電晶體(154)及CIM電流切換電晶體(WLC (160))均為NMOS。如下文藉由實例所展示,可使用其他類型的電晶體和連接。舉例而言,可使用PMOS,電流源切換電晶體(152)的閘極可連接至6T記憶體單元(130)的非反相輸出(Q)。
在CIM運算中,可藉由常規方法將多位元加權寫入至6T SRAM單元,每一單元(130)儲存「1」或「0」。為運算輸出的加權和,電流調節電晶體(154)的閘極由電流調節控制線(CL (190))施加偏壓。如上文所解釋,由於每一記憶體單元(120),在任何瞬時流向或來自位元線BL[j]的單元電流 I cell為WL上的輸入訊號與儲存於單元中的位元值的乘積。單元電流進一步與CL (190)上的閘極電壓成正比。因此,每一BL (180)中的總電流與所有輸入訊號和儲存於該行中的各別加權的乘積的總和成正比,並且與該行的CL上的電壓成正比。
在一些實施例中,諸如第1圖中所示的實例,儲存多位元加權(在此實例中為4位),每一多位元加權都在列中(在此實例中為4位寬)。在此實例中,自最低有效位元(least-significant bit, LSB)至最高有效位元(most-significant bit, MSB)由左向右排列位元。由此,每一行由左向右具有1、2、4及8的位值。相應地,對應CL (190)上的偏壓由左向右亦具有1、2、4及8的相對值。結果是對於該(第j)行,每一BL上的總電流與位值2 j成正比。
上文的實例假定通過電流調節電晶體(154)的電流與閘極電壓成正比,但此成正比條件是非必要的。對於WL上的輸出與儲存於彼行各別記憶體單元(120)中的加權的同一乘積和,其他閘極電壓可適用於實現所要的BL電流比。
在一些實施例中,自諸如零溫度係數電路(「ZTC」)或NMOS或PMOS電流鏡的精密電源(電流或電壓源)提供CL上的閘極電流。在一些實施例中的CIM運算中,諸如當不自任何單元讀取資料或不將資料寫入至任何單元時,可使用VDD的較低電壓(例如2伏特)以確保單元(130)將正確地保留資料。在此情況下,可將SRAM設定為保留模式,降低電源以節省電力。
可使用其他運算裝置設置。舉例而言,在一些實施例中,諸如第2圖中所示的裝置(200)(其與第1圖中的裝置相同),每一單元120的電流調節電晶體(154)的源極連接至6T單元130的儲存節點210(在此實例中為Q)。使用此設置,降低BL漏電流。
在一些實施例中,諸如第3圖中所示的裝置(300)(其與第1圖中的裝置相同),在每一單元(120)中的電流源(350)中使用PMOS電晶體(352、354),而非使用NMOS電晶體(152、154)。
在一些實施例中,諸如第4圖中所示的裝置(400)(其與第3圖中的裝置相同),每一單元120的電流調節電晶體(354)的汲極連接至6T單元130的儲存節點410(在此實例中為Q)。使用此設置,降低BL漏電流。
參考第5圖,在一些實施例中,對每一行多位元加權(W n、W n+1等)的所有BL的電流I j求和,其通過電阻器(510)以產生電壓(∑I j)R,其中R為電阻器(510)的電阻。如上文所解釋,電流和(及因此電壓亦)與輸入和各別多位元加權的乘積的總和成正比。隨後向ADC (550)的輸入線(520)施加電壓,這產生數位輸出(560),其與輸入的加權和成正比。結果上實現記憶體內運算。
在一些實施例中,可經由各別的輸入線(520、530、540)將上文描述的來自多位元加權的多行的輸出電壓提供至同一ADC (550)。特定地,在一些實施例中,可使用高速連續近似暫存器(「successive-approximation-register, SAR」)ADC,諸如第6A圖中所示的例示性SAR ADC (600)。相比於N個ADC運算(每一位元線一個),基於電流的CIM允許在一個ADC運算中進行轉換。已知此SAR ADC的結構及運算,並且將不在此對其詳細地描述。簡言之,電容比為2(例如5位轉換器中的C、C/2、C/4、C/8、C/16及C/16「虛設」電容器)的電容器連接於共用端(620),此共用端連接至比較器(610)的輸入(反相)。在一些實施例中,比較器(610)的另一輸入(非反相)接地。起始地,電容器的其他端連接至輸入電壓V in,隨後接地(630)。隨後,由最大的電容至最小的電容,由接地至參考電壓V Ref,順序地切換電容器的非共用端,根據共用端處的電壓為正或負,比較器的輸出為0或1。根據比較器的輸出,剛剛連接至V Ref的電容器再次接地或保持為連接至V Ref。此等步驟中的比較器(610)的輸出為V in的數位近似,先產生MSB,最後產生LSB。
對於N位的SAR ADC,大體上需要N+1個時脈週期完成取樣和逐位元比較步驟。由此,舉例而言,對於第6A圖中所示的5位元SAR ADC,需要6個時脈週期完成自類比訊號至數位訊號的轉換。
使用基於電流的SRAM,對於同一位元行中的所有單元且對於同一行多位元加權的所有位元行,同時執行電流求和。另外,在一些實施例中,如第6B圖中所示,用脈衝列表示WL上的每一輸入數值,脈衝的數量與輸入數值成正比。舉例而言,0 (0000 2)的輸入產生0脈衝,3 10(0011 2)的輸入產生3個RWL脈衝,15 10(1111 2)的輸入產生15個RWL脈衝,諸如此類。替代地,亦可使用單一脈衝,脈衝寬度與輸入數值成正比。舉例而言,1 (0001 2)的輸入產生具有一單位寬度的脈衝,3 10(0011 2)的輸入產生具有三單位寬度的脈衝,15 10(1111 2)的輸入產生15單位寬度的脈衝,諸如此類。在一些實施例中,當執行CIM時,如果輸入訊號取樣週期足以包括整個脈衝計數或脈衝寬度,則輸入(520、530、540)處的訊號與多位元輸入訊號和各別多位元加權的乘積的總和成正比。在此CIM運算中,對於N位輸入,如上文所解釋,需要N個時脈週期對輸入取樣,並且需要N+1個時脈週期將類比CIM輸出轉換為數位輸出。亦即,需要2N+1個時脈週期完成CIM運算。N位輸入需要單一ADC運算(包括多個時脈週期(例如對於5位元轉換需要11個))。相反地,在常規的多位元CIM運算中,需要N個ADC運算(每一輸入位元需要一個)。因此,如第6B圖中所示,根據一些實施例,藉由基於電流的CIM電路及其運算實現較低的功耗及潛時。
第6C圖為根據本案之一些實施例所繪示之SAR ADC 600C的示意圖。請參照第6C圖及第6A圖,SAR ADC 600C為SAR ADC 600的一種實施例。
如第6C圖所示,SAR ADC 600C包含電容C60~C65、開關C60~C66以及比較器601。電容C60~C65的多個第一端在節點N61彼此耦接。電容C60~C65的多個第二端分別耦接開關C60~C65。開關C60~C65選擇性地耦接參考電壓V Ref、輸入電壓V in或電壓VSS。開關S66耦接於節點N61及參考電壓V Ref之間。比較器601的一輸出端耦接電壓VSS,比較器601的另一輸出端耦接節點N61。在一些實施例中,電壓VSS為接地電壓。
在一些實施例中,在MAC操作的第j個週期中,對應的第j個開關用以連接至輸入電壓V in,並且其他開關用以連接至參考電壓V Ref。此時,輸入電壓V in對應於第5圖所示之記憶體陣列的第j行的部分和Pj。在一些實施例中,部分和Pj對應於輸入電壓X j 與對應電導G ij 的乘積的總和,亦即
Figure 02_image001
。對應地,在第j個週期中,部分和Pj係藉由第j個電容取樣。
舉例來說,在MAC操作的第一個週期中,第一開關S61連接至輸入電壓V in,並且其他開關S60及S62~S65連接至參考電壓V Ref。此時,部分和P1係藉由第一電容C61取樣。
在部分和P1儲存於電容C61之後,MAC操作的第一個週期開始,第二開關S62連接至輸入電壓V in,並且其他開關S60~S61及S63~S65連接至參考電壓V Ref。此時,部分和P2係藉由第二電容C62取樣。
在MAC操作的五個週期後,開關S60~S65連接至電壓VSS。此時,節點N61的節點電壓VN等同於
Figure 02_image003
。在一些實施例中,在MAC操作之前,節點電壓VN被設定為參考電壓V Ref。在一些實施例中,開關S66用以導通以將節點電壓VN設定在參考電壓V Ref
在一些實施例中,在藉由部分和P1~P5設定節點電壓VN之後,SAR ADC 600C用以將節點電壓VN轉換為一數位信號。
在一些實施例中,對於一電容值C而言,電容C60~C65的電容值分別為C/16、C/16、C/8、C/4、C/2及C。在第6C圖中所示的實施例中,SAR ADC 600C包含用於設定節點電壓VN的五個開關S60~S65以及五個電容C60~C65。在不同的實施例中,SAR ADC 600C包含對應於記憶體陣列中不同數量的行的不同數量的開關及電容。
在一些先前的做法中,SAR ADC對於每一部分和輸出一數位信號。如此一來,對於多個部分和,SAR ADC進行多次的類比至數位轉換,其導致更多的電能消耗以及更多的延遲。
相較於上述做法,在本揭示內容的一些實施例中,部分和P1~P5係藉由電容C60~C65取樣以設定節點電壓VN。節點電壓VN對應於多個部分和P1~P5。對應地,對於多個部分和P1~P5只需要一次的類比至數位轉換,並且對應降低了電能消耗以及延遲。
在一些實施例中,諸如第7圖中所示的實例,可使用時域ADC將類似於第5圖中所示的運算裝置500的運算裝置(700)中的每一行多位元加權的組合BL電流轉換為數位訊號。在一些實施例中,時域ADC包括具有電容C的電容器(710)及如第7圖中所示而連接的比較器(750)。經由線(720)將組合BL電流提供至電容器(710)。向比較器(750)的輸入施加V Ref及電容器(710)上的電壓。將電容器充電至參考電壓V Ref所需的時間與電流成反比例,該時間可由(例如)計數器(未圖示)量測,此計數器連接至比較器(750)的輸出且由此輸出操作。亦即,計算器運行直至電容器電壓達到V Ref,並且比較器(750)的輸出轉換狀態且停止計數器。由此,計數為類比輸入的數位表示。
類似於上文SAR ADC的實例,N位輸入需要單一ADC運算,而非N個ADC運算(每一輸入位元一個)。
更一般而言,在一些實施例中,如第8圖中所概述,運算方法(800)包括:在操作(810),將多數位數值中的一組數位儲存於一組各別記憶體元件中,數位中的每一者具有值與位值;在操作(820),根據儲存於各別記憶體元件中的數位的值,導通或關閉一組電流源,每一電流源與記憶體元件中的各別者相關聯;在操作(830),對電流源中的每一者施加控制訊號已設定電流位準,其中電流源係根據儲存於各別記憶體元件中的數位的位值設定提供電流;及在操作(840),通過輸入線施加輸入訊號以啟動一組開關裝置(每一開關裝置與記憶體元件中的各別者相關聯),允許各別電流源提供的電流流動至與記憶體元件相關聯的輸出線。
可使用不同於上文所揭示者的其他變化。舉例而言,可使用不同於SRAM單元的其他類型的記憶體單元。舉例而言,可使用非揮發性記憶體(non-volatile memory)單元(諸如FeRAM、FeFET及FLASH)代替6T SRAM單元。
本文所揭示的各個實例相比於傳統的裝置及方法具有某些優點。舉例而言,如第9圖中的例示性系統所示,由於記憶體元件可存取為傳統的記憶體或CIM元件,因此可減少或不使用諸如外部DRAM的外部記憶體。某些實施例的設計提供靈活性。舉例而言,可使用SRAM或NVM 。SRAM具有快速寫入及高寫入持久性的優點,NVM具有非揮發性、佔地面積小、低漏電且能夠立刻啟動裝置的優點。基於SRAM的記憶體內運算可降低能耗。SRAM亦可實現CIM的權重的運行中更新,亦即當基於舊的權值進行運算輸出時,將新的權值寫入至記憶體中。在人工神經網路應用中,常常需要MAC運算的疊代,每一疊代使用不同組的權值。由於非揮發性記憶體陣列的速度相對低,需要多個陣列來儲存多個組的權值。相反,使用上文所揭示的某些實施例中的SRAM單元,由於此等記憶體單元的速度快,在神經網路運算中,單一SRAM陣列可重載入連續組的權值。
在一些實施例中,如第9圖中所示,可自記憶體模組更新諸如積體電路(900)的CIM裝置的CIM的權值,在一些實施例中此記憶體模組可為晶片上記憶體(910)。在一些實施例中,可用壓縮形式儲存權值,並且權值可在提供至SRAM陣列(930)以用於CIM之前由解壓縮模組(920)解壓縮。已知壓縮及解壓縮系統及方法。舉例而言,參見Song Han,「有效的深度學習方法及硬體」,史丹福大學博士論文(2017)(可在http://purl.stanford.edu/qf934gh3708獲得),其以引用的方式併入至本文中。
上文概述若干實施例的特徵,使得熟習此項技術者可較佳地理解本揭示案的態樣。熟習此項技術者應理解他們可容易地以本揭示案為基礎來設計或修改其他製程或結構,以達到相同的目的及/或獲得本文所介紹的實施例的相同優點。熟習此項技術者亦應認識到此等等效構造不脫離本揭示案的精神及範疇,並且他們可在不脫離本揭示案的精神及範疇的情況下作出各種改變、替換及更改。
100:CIM系統 110:記憶體陣列 120:單元 130:單元 132:反相器 134:反相器 136:寫入存取電晶體 138:寫入存取電晶體 142:p型金屬氧化物半導體場效電晶體 144:n型金屬氧化物半導體場效電晶體 146:PMOS 148:NMOS 150:電流源 152:電晶體 154:電晶體 160:CIM電流切換電晶體 170:CIM字線 180:位元線(BL) 190:控制線(CL) 210:儲存節點 350:電流源 352:PMOS電晶體 354:電晶體 410:儲存節點 500:運算裝置 510:電阻器 520:輸入線 530:輸入線 540:輸入線 550:ADC 560:數位輸出 600:SARADC 610、601:比較器 620:共用端 630:接地 700:運算裝置 710:電容器 720:線 750:比較器 800:運算方法 810:操作 820:操作 830:操作 840:操作 900:積體電路 910:晶片上記憶體 920:解壓縮模組 930:SRAM陣列 1000:系統 1010:二維陣列 1020:單元/元件
當結合附圖閲讀時,自以下詳細描述最佳地理解本揭示案的態樣。應注意,根據工業中的標準實務,各個特徵未按比例繪製。事實上,出於討論清晰的目的,可任意增加或減少各個特徵的尺寸。 第1圖為根據一些實施例的記憶體中運算系統的示意圖,此記憶體中運算系統包括四位精度的加權運算子系統,其中每一記憶體元件使用包括電流源的9個電晶體(「9-transistor; 9T」)的基於電流的靜態隨機存取記憶體(「static random-access memory; SRAM」)。 第2圖為根據一些實施例的類似於第1圖中所示的記憶體中運算系統的記憶體中運算系統的示意圖,不同點在於每一記憶體元件中的電流調節電晶體的源極連接至節點Q。 第3圖為根據一些實施例的類似於第1圖中所示的記憶體中運算系統的記憶體中運算系統的示意圖,不同點在於電流源中的電晶體為p通道金屬氧化物半導體場效電晶體(metal oxide semiconductor field effect transistor, MOSFET)(p-channel metal oxide semiconductor, PMOS)。 第4圖為根據一些實施例的類似於第3圖中所示的記憶體中運算系統的記憶體中運算系統的示意圖,不同點在於每一記憶體元件中的電流調節電晶體的汲極連接至節點Q。 第5圖為根據一些實施例的方塊圖,其圖示對來自記憶體單元行的位元線的電流求合,以及使用一或多個類比數位轉換器(「analog-to-digital converter, ADC」)將總和轉換為數位輸出。 第6A圖圖示根據一些實施例的與基於電流的SRAM一起使用的連續近似暫存器(「successive-approximation-register, SAR」)ADC。 第6B圖圖示根據一些實施例的使用基於電流的SRAM對加權輸出求和,以及將脈衝計數用作輸入。 第6C圖圖示根據一些實施例的與基於電流的SRAM一起使用的SAR ADC。 第7圖圖示根據一些實施例的使用時域ADC產生對應於輸入的類比加權和的數位訊號。 第8圖圖示根據一些實施例的運算過程。 第9圖概述根據一些實施例的運算過程。 第10圖圖示根據一些實施例的CIM運算。
國內寄存資訊(請依寄存機構、日期、號碼順序註記) 無 國外寄存資訊(請依寄存國家、機構、日期、號碼順序註記) 無
800:運算方法
810:操作
820:操作
830:操作
840:操作

Claims (20)

  1. 一種運算裝置,包含: 一記憶體陣列,包含以多個記憶體單元的列及行分組的複數個記憶體單元,該些記憶體單元中的每一者包含經調適以儲存資料的一記憶體單位,包含一第一切換裝置及一電流產生器裝置的一電流源,及一第二切換裝置; 複數個輸入線,每一輸入線連接至一各別列中的該些第二切換裝置,且經調適以向該列中的該些第二切換裝置傳輸一輸入訊號; 複數個輸出線,每一輸出線與該記憶體單位的一各別行相關聯;及 複數個電流控制器,每一電流控制器通過一電流控制線連接至該些記憶體單元的一各別行中的該些電流產生器裝置,且經調適以設定由該些記憶體單元的該各別行中的該些電流產生器裝置產生的電流的一位準; 其中記憶體單元的該些行中的每一者中的該第二切換裝置經調適以根據自該輸入線接收的該輸入訊號將該記憶體單元中的該電流源及與該行相關聯的該輸出線連接或斷接,且該些記憶體單元中的每一者中的該第一切換裝置經調適以根據儲存於該記憶體單元中的記憶體單位中的該資料允許或阻止電流自該電流產生器裝置流出。
  2. 如請求項1所述之運算裝置,其中該些電流控制器經調適以設定由該些電流產生器裝置產生的電流的該些位準,該些位準在該些記憶體單元的每一連續行中以因數2增加。
  3. 如請求項1所述之運算裝置,其中在該些記憶體單元中的每一者中:該記憶體單位包含一靜態隨機存取記憶體單元,靜態隨機存取記憶體單元經調適以在一儲存節點處儲存一訊號;該第一切換裝置包含一第一電晶體,該第一電晶體具有連接至該儲存節點的一閘極;該電流產生器裝置包含一第二電晶體,該第二電晶體具有連接至與該記憶體單元所在的該行相關聯的該電流控制線的一閘極;且該第二切換裝置包含一第三電晶體,該第三電晶體具有連接至該記憶體單元所在的該列相關聯的該輸入線的一閘極。
  4. 如請求項3所述之運算裝置,其中該些靜態隨機存取記憶體單元中的每一者為一具有六個電晶體的靜態隨機存取記憶體。
  5. 如請求項3所述之運算裝置,其中該第一電晶體及該第三電晶體經調適以根據儲存於該儲存節點處的該訊號及於該第三電晶體的該閘極處接收的該輸入訊號的一組合,允許或阻止由該第二電晶體產生的該電流流向該輸出線。
  6. 如請求項1所述之運算裝置,其中該記憶體單位中的每一者經調適以儲存指示一權值的一訊號,每一輸入訊號指示一輸入數值,且該第一切換裝置、該第二切換裝置及該電流源經調適以共同地向與該記憶體單元相關聯的該輸出線提供一電流,該電流具有一位準,該位準指示儲存於該記憶體單位中的該權值與由該輸入訊號指示的該輸入數值的一乘積。
  7. 如請求項6所述之運算裝置,其中對於每一記憶體單元:該記憶體單位為具有兩個儲存節點的一靜態隨機存取記憶體單元,該兩個儲存節點經調適以儲存指示相互互補的二進制值的各別訊號,其中形成一串聯組合的該第一、第二及第三電晶體具有兩個端,其中一端連接至該輸出線,且其中該第一電晶體的該閘極連接至該些儲存節點中的一者。
  8. 如請求項7所述之運算裝置,其中該串聯連接的另一端連接至該些儲存節點的另一者。
  9. 如請求項1所述之運算裝置,進一步包含一類比數位轉換器,其中該些輸出線相互連接且經調適以產生一訊號,該訊號指示該些輸出線的組合電流,其中該類比數位轉換器經調適以接收該訊號且將該訊號轉換為一數位訊號。
  10. 如請求項9所述之運算裝置,其中該類比數位轉換器包含一連續近似暫存器類比數位轉換器。
  11. 如請求項9所述之運算裝置,其中該類比數位轉換器包含一時域類比數位轉換器。
  12. 如請求項1所述之運算裝置,其中每一記憶體單元進一步包含一資料輸入/輸出線及一資料致能線,該資料致能線經調適以使該記憶體單位能通過該資料輸入/輸出線接收資料,並且允許通過該資料輸入/輸出線自該記憶體單位檢索資料。
  13. 一種運算裝置,包含: 複數個輸入線; 複數個輸出線; 複數個控制訊號產生器; 複數個電流控制線,每一電流控制線連接至該些控制訊號產生器中的一各別者;及 複數個記憶體單元,邏輯地排列於由多個列與多個行構成的一二維陣列中,每一列與該些輸入線中的一各別者相關聯,每一行與該些輸出線和該些電流控制線中的一各別者相關聯,該記憶體單元中的每一者包括: 一記憶體單位,具有至少兩個記憶體狀態; 一第一切換電晶體,經調適以自該記憶體單位接收指示該記憶狀態的一訊號,且至少部分地根據該記憶狀態導通或關閉; 一第二切換電晶體,經調適以自與該記憶體單元相關聯的該輸入線接收一輸入訊號,且經調適以至少部分地根據該輸入訊號導通或關閉;及 一電流調節電晶體,經調適以經由與該記憶體單元相關聯的該電流控制線,自與該記憶體單元相關聯的該控制訊號產生器接收一控制訊號,且至少部分地根據該控制訊號產生具有一位準的一電流; 該第一切換電晶體、該第二切換電晶體及該電流調節電晶體經連接以向該輸出線傳輸具有該位準的該電流,該位準由該記憶狀態、該輸入訊號及該控制訊號的一組合判定。
  14. 如請求項13所述之運算裝置,其中該些記憶狀態中的每一者對應於一數字加權值,且該輸入訊號對應於一數字輸入值,其中該第一切換電晶體、該第二切換電晶體及該電流調節電晶體經連接以向該輸出線傳輸具有該位準的該電流,該位準與對應於該記憶體狀態的該數值加權值和對應於該輸入訊號的該數字輸入值的一乘積成正比。
  15. 如請求項14所述之運算裝置,其中該第一切換電晶體、該第二切換電晶體及該電流調節電晶體經連接以形成一串聯組合,該串聯組合具有兩個端,其中一端連接至該輸出線,其中該記憶體單位具有一儲存節點,在該儲存節點處該記憶體單位經調適以儲存指示該記憶狀態的該訊號,其中該第一切換電晶體具有連接至該儲存節點的一閘極,該第二電晶體具有連接至該輸入線的一閘極,且該電流調節電晶體具有連接至該電流控制線的一閘極。
  16. 如請求項15所述之運算裝置,其中多個電流控制器經調適以設定由該些電流調節電晶體產生的該些位準的電流,該些位準的電流在該些記憶體單元的每一連續行中以因數2增加。
  17. 如請求項16所述之運算裝置,進一步包含具有一輸入的一類比數位轉換器,其中該些輸出線連接於一共用節點處,該共用節點連接至該類比數位轉換器的該輸入。
  18. 如請求項17所述之運算裝置,其中該共用節點進一步連接至一電阻器或一電容器。
  19. 一種運算的方法,包含: 將一多位元數值中的複數個數位儲存於複數個各別記憶體元件中,該些數位中的每一者具有一值及一位值; 根據儲存於各別記憶體元件中的該數位的該值,導通或關閉複數個電流源,每一電流源與該些記憶體元件中的一各別者相關聯; 向該些電流源中的每一者施加一控制訊號,以根據儲存於各別記憶體元件中的該數位的該位值設定該電流源將提供的一位準的電流;及 通過一輸入線施加一輸入訊號以啟動複數個開關裝置,以允許由該各別電流源提供的該電流流動至與該記憶體元件相關聯的一輸出線,每一開關裝置與該些記憶體元件中的一各別者相關聯。
  20. 如請求項19所述之方法,其中該施加一輸入訊號包含施加具有一脈衝計數的一列複數個脈衝或具有一脈衝寬度的一單一脈衝,及自提供至該輸出線的該電流獲取一量值,該量值與該脈衝計數或該脈衝寬度和該所儲存多位元數值的一乘積成正比。
TW110122827A 2021-01-22 2021-06-22 運算裝置及運算方法 TWI803889B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/155,362 US11693560B2 (en) 2021-01-22 2021-01-22 SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture
US17/155,362 2021-01-22

Publications (2)

Publication Number Publication Date
TW202230115A true TW202230115A (zh) 2022-08-01
TWI803889B TWI803889B (zh) 2023-06-01

Family

ID=82320635

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110122827A TWI803889B (zh) 2021-01-22 2021-06-22 運算裝置及運算方法

Country Status (5)

Country Link
US (2) US11693560B2 (zh)
KR (1) KR102470924B1 (zh)
CN (1) CN114822638A (zh)
DE (1) DE102021101727A1 (zh)
TW (1) TWI803889B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693560B2 (en) * 2021-01-22 2023-07-04 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4010995B2 (ja) * 2003-07-31 2007-11-21 Necエレクトロニクス株式会社 半導体メモリ及びそのリファレンス電位発生方法
US8885400B2 (en) * 2013-02-21 2014-11-11 Sandisk 3D Llc Compensation scheme for non-volatile memory
US9467638B2 (en) * 2013-08-13 2016-10-11 The Hong Kong University Of Science And Technology Sensory array with non-correlated double sampling random access-reset pixel and multi-channel readout
TWI655442B (zh) 2014-05-02 2019-04-01 日商半導體能源研究所股份有限公司 輸入/輸出裝置
CN110352596B (zh) 2017-03-24 2023-04-25 株式会社半导体能源研究所 半导体装置、显示系统及电子设备
US10236053B1 (en) 2017-10-17 2019-03-19 R&D 3 Llc Method and circuit device incorporating time-to-transition signal node sensing
TWI705391B (zh) * 2018-05-29 2020-09-21 英屬開曼群島商意騰科技股份有限公司 適用於人工神經元的記憶體內運算記憶體裝置及記憶體內運算記憶體區塊
KR102599662B1 (ko) * 2018-07-27 2023-11-07 삼성전자주식회사 주어진 동작 환경에 적합한 쓰기 전류에 기초하여 동작하는 메모리 장치 및 쓰기 전류를 구동하는 방법
US10642922B2 (en) * 2018-09-28 2020-05-05 Intel Corporation Binary, ternary and bit serial compute-in-memory circuits
EP3671750A1 (en) 2018-12-21 2020-06-24 IMEC vzw Synapse circuit with memory
US11507642B2 (en) 2019-05-02 2022-11-22 Silicon Storage Technology, Inc. Configurable input blocks and output blocks and physical layout for analog neural memory in deep learning artificial neural network
US11449741B2 (en) 2019-07-19 2022-09-20 Silicon Storage Technology, Inc. Testing circuitry and methods for analog neural memory in artificial neural network
US11322195B2 (en) * 2019-11-27 2022-05-03 Taiwan Semiconductor Manufacturing Company, Ltd. Compute in memory system
US11430491B2 (en) * 2020-04-30 2022-08-30 Taiwan Semiconductor Manufacturing Company, Ltd. Device and method for reading data in memory
US11170852B1 (en) * 2020-06-24 2021-11-09 Sandisk Technologies Llc Cross-bar arrays having steering element with diode
CN112181895B (zh) 2020-09-02 2023-06-06 上海交通大学 可重构架构、加速器、电路部署和计算数据流方法
US11693560B2 (en) * 2021-01-22 2023-07-04 Taiwan Semiconductor Manufacturing Company, Ltd. SRAM-based cell for in-memory computing and hybrid computations/storage memory architecture

Also Published As

Publication number Publication date
KR20220106641A (ko) 2022-07-29
TWI803889B (zh) 2023-06-01
US20230297235A1 (en) 2023-09-21
US11693560B2 (en) 2023-07-04
CN114822638A (zh) 2022-07-29
US20220236869A1 (en) 2022-07-28
DE102021101727A1 (de) 2022-07-28
KR102470924B1 (ko) 2022-11-25

Similar Documents

Publication Publication Date Title
CN112951294B (zh) 计算设备以及计算方法
Hung et al. A four-megabit compute-in-memory macro with eight-bit precision based on CMOS and resistive random-access memory for AI edge devices
CN113467751B (zh) 一种基于磁性随机存储器的模拟域存内计算阵列结构
CN113255904A (zh) 电压裕度增强型电容耦合存算一体单元、子阵列及装置
Mu et al. SRAM-based in-memory computing macro featuring voltage-mode accumulator and row-by-row ADC for processing neural networks
TW202135076A (zh) 記憶體裝置、計算裝置及計算方法
KR20210134500A (ko) 메모리 내 데이터 판독을 위한 디바이스 및 방법
US20230297235A1 (en) Sram-based cell for in-memory computing and hybrid computations/storage memory architecture
Jeong et al. Variation-tolerant and low r-ratio compute-in-memory reram macro with capacitive ternary mac operation
Song et al. A 28 nm 16 kb bit-scalable charge-domain transpose 6T SRAM in-memory computing macro
CN115080501A (zh) 基于局部电容电荷共享的sram存算一体芯片
US20240086708A1 (en) Sram architecture for convolutional neural network application
Ye et al. A 28-nm RRAM computing-in-memory macro using weighted hybrid 2T1R cell array and reference subtracting sense amplifier for AI edge inference
US20220108742A1 (en) Differential charge sharing for compute-in-memory (cim) cell
TW202201396A (zh) 記憶體內計算動態隨機存取記憶體
Zhang et al. CP-SRAM: charge-pulsation SRAM marco for ultra-high energy-efficiency computing-in-memory
Kim et al. A charge-domain 10T SRAM based in-memory-computing macro for low energy and highly accurate DNN inference
Saragada et al. In-memory computation with improved linearity using adaptive sparsity-based compact thermometric code
Zang et al. 282-to-607 TOPS/W, 7T-SRAM Based CiM with Reconfigurable Column SAR ADC for Neural Network Processing
CN113160860B (zh) 计算系统、计算器件和计算方法
Kim et al. A Capacitive Computing-In-Memory Circuit with Low Input Loading SRAM Bitcell and Adjustable ADC Input Range
Bian et al. In-MRAM computing elements with single-step convolution and fully connected for BNN/TNN
US11809838B2 (en) Memory device and operation method thereof
Song et al. A 4-bit Calibration-Free Computing-In-Memory Macro With 3T1C Current-Programed Dynamic-Cascode Multi-Level-Cell eDRAM
Ananthanarayanan et al. Design and Analysis of Multibit Multiply and Accumulate (MAC) unit: An Analog In-Memory Computing Approach