TWI705444B - 運算記憶體之架構 - Google Patents

運算記憶體之架構 Download PDF

Info

Publication number
TWI705444B
TWI705444B TW107134397A TW107134397A TWI705444B TW I705444 B TWI705444 B TW I705444B TW 107134397 A TW107134397 A TW 107134397A TW 107134397 A TW107134397 A TW 107134397A TW I705444 B TWI705444 B TW I705444B
Authority
TW
Taiwan
Prior art keywords
data
bit
memory
lines
resistive
Prior art date
Application number
TW107134397A
Other languages
English (en)
Other versions
TW201933359A (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 TW201933359A publication Critical patent/TW201933359A/zh
Application granted granted Critical
Publication of TWI705444B publication Critical patent/TWI705444B/zh

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0069Writing or programming circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/18Bit line organisation; Bit line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/14Word line organisation; Word line lay-out
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0026Bit-line or column circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0023Address circuits or decoders
    • G11C13/0028Word-line or row circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/003Cell access
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0097Erasing, e.g. resetting, circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/71Three dimensional array
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/75Array having a NAND structure comprising, for example, memory cells in series or memory elements in series, a memory element being a memory cell in parallel with an access transistor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Semiconductor Memories (AREA)

Abstract

本文中提供一種運算記憶體架構。非揮發性記憶體架構可包含:電阻性隨機存取記憶體陣列,其包含多組位元線及多條字元線;第一資料介面,其用於從外接裝置接收資料、及用於將資料輸出至該外接裝置;以及第二資料介面,其用於將資料輸出至該外接裝置。非揮發性記憶體架構亦可包含可編程處理元件,其與該電阻性隨機存取記憶體陣列之該多組位元線之相應集合連接、且連接至該資料介面。該等可編程處理元件係組配成用來經由該相應位元線集合從該電阻性隨機存取記憶體陣列接收所儲存資料、或經由該資料介面從該外接裝置接收外部資料,並且對該外部資料或該所儲存資料執行邏輯或數學演算法、及產生已處理資料。

Description

運算記憶體之架構 [相關申請案交互參照]
本申請案主張2017年9月29日提出申請題為「LOGIC,COMPUTING AND MANAGEMENT APPLICATIONS FOR RESISTIVE MEMORY DEVICES」之美國臨時專利申請案第62/566,001號之利益,其全文係明確合併於本文中作為參考。
本揭露大體上係關於用於具有線內(inline)處理能力之電子記憶體之架構。
電阻性切換記憶體在積體電路技術領域裡代表新近的新發明。儘管許多電阻性切換記憶體技術仍在開發階段,但本案(多名)發明人已示範電阻性切換記憶體的各種技術概念,並且該等技術概念是在一或多個驗證階段用以證實或駁斥相關理論或技術。本案(多名)發明人認為電阻性切換記憶體技術展示出令人信服的證據,可在半導體電子產業保持超越競爭技術的實質優點。
隨著時間演變,技術上的進步已使諸如電晶體等可在半導體晶片之給定幾何區域上製作之半導體裝置的數量增加。半導體裝置數量增加蘊涵著記憶體容量增加且半導體晶片及相關聯電子裝置之處理能力提升。
本案(多名)發明人為電阻性切換記憶體提出之模型利用二端結 構。舉例來說,二端記憶體技術與閘控電晶體形成對比,在閘控電晶體中,兩個接端間的傳導性是由稱為閘極接端的第三接端所仲裁。二端記憶體裝置可在功能及結構方面與三端裝置不同。舉例來說,某些二端裝置可建構於一對傳導接觸部之間,與具有相鄰於一組傳導接端的第三接端不同。二端記憶體裝置可藉由在該對傳導接觸部之一者或兩者施加刺激來控制,而不是可透過施加至第三接端來操作。本揭露的(多名)發明人進一步意識到各種二端記憶體技術,例如:相變記憶體、磁阻式記憶體、傳導橋接記憶體、以及其它二端記憶體。
儘管許多電阻性記憶體技術仍在開發階段,本發明之受讓人已示範電阻性記憶體的各種技術概念,並且該等技術概念是在一或多個驗證階段用以證實或駁斥(多)種相關理論。即便如此,電阻性記憶體技術仍有希望在半導體電子產業保持超越競爭技術的實質優點。
隨著電阻性記憶體技術的模型經過測試並取得成果,將該等結果理論外推到以電阻性記憶體取代習知記憶體的記憶體裝置。舉例來說,本發明的受讓人已進行與包含電阻性記憶體而非互補式金屬氧化物半導體(CMOS)NAND或NOR記憶體之記憶體陣列之軟體模型有關的研究。軟體投射暗示二端記憶體陣列可對電子裝置提供顯著效益,包括功率消耗降低、記憶密度更高、技術節點先進、或效能改善等等。
鑑於現有研究,本案(多名)發明人努力發現二端記憶體可對電子裝置提供實際效益的應用。
以下介紹本說明書的簡化摘要,以便對本說明書之一些態樣有基本的了解。本摘要並非本說明書之延伸概述。用意不在於識別本說明書之重要 或關鍵元件,也不在於敍述本說明書任何特定具體實施例之範疇、或申請專利範圍之任何範疇。目的是要以簡化形式介紹本說明書之一些概念,作為本揭露所介紹更詳細說明的引言。
一態樣係關於一種可包含電阻性隨機存取記憶體陣列之非揮發性記憶體架構,該電阻性隨機存取記憶體陣列包含多組位元線及多條字元線。該非揮發性記憶體架構亦可包含用於從外接裝置接收資料、及用於將資料輸出至該外接裝置之第一資料介面。再者,該非揮發性記憶體架構亦可包含用於將資料輸出至該外接裝置之第二資料介面。該第二資料介面包含與第一頻寬不同之第二頻寬。
根據一實施例,該第二資料介面從該多組位元線選擇位元線子集。繼這項實施例,該第一資料介面從該多組位元線選擇所有位元線。
根據一些實作態樣,該非揮發性記憶體架構可包含與該電阻性隨機存取記憶體陣列之該多組位元線之相應集合連接之可編程處理元件。該等可編程處理元件可組配成用來從該電阻性隨機存取記憶體陣列、及經由相應位元線集合接收所儲存資料、或從該外接裝置接收外部資料。再者,該等可編程處理元件可對該外部資料或該所儲存資料執行邏輯或數學演算法,並且產生已處理資料。
根據一實作態樣,該非揮發性記憶體架構可更包含連接該多組位元線之讀取感測放大器。該讀取感測放大器可組配成用來從該電阻性隨機存取記憶體陣列之記憶胞獲得該所儲存資料。
在一實作態樣中,該等可編程處理元件可位於該資料介面與該電阻性隨機存取記憶體陣列之間。該可編程處理元件可與該電阻性隨機存取記憶 體陣列之該多組位元線實體連接。
根據一些實作態樣,該等可編程處理元件之第一處理元件可與第一組該等位元線相關聯,並且該等處理元件之第二處理元件可與第二組該等位元線相關聯。在一實作態樣中,該第一組該等位元線中位元線之第一數量可與該第二組該等位元線中該等位元線之第二數量相同。在一替代實作態樣中,該第一組該等位元線中位元線之第一數量可與該第二組該等位元線中該等位元線之第二數量不同。
在另一實作態樣中,該非揮發性記憶體架構可包含與該等可編程處理元件相關聯之校正碼解碼器。繼這種實作態樣,該等校正碼解碼器可組配成用來搭配從該電阻性隨機存取記憶體陣列接收該所儲存資料之該等可編程處理元件對該所儲存資料中之錯誤位元進行識別及校正。
根據一些實作態樣,該電阻性隨機存取記憶體陣列可包含字元線起始指標及字元線終止指標。繼這種實作態樣,該字元線起始指標及該字元線終止指標可組配成用來將該電阻性隨機存取記憶體陣列處所儲存資料之子集識別為該所儲存資料。該字元線起始指標及該字元線終止指標可有助於僅將資料子集轉移至該等可編程處理元件。
另一態樣係關於一種方法,其可包含:在非揮發性記憶體之可編程處理元件處,從電阻性隨機存取記憶體陣列接收所儲存資料、或經由資料介面從外接裝置接收外部資料。該電阻性隨機存取記憶體陣列可包含多組位元線及多條字元線。可透過相應位元線集合接收該所儲存資料。該方法亦可包含:藉由該等可編程處理元件,基於對該外部資料或該所儲存資料之邏輯或數學演算法之執行來產生已處理資料。該等可編程處理元件可平行進行該執行。
一態樣係關於一種非揮發性記憶體邏輯系統,其可包含(多條)位元線及一組字元線。該非揮發性記憶體邏輯系統中亦可在該(等)位元線與該組字元線之間的相應交截處包括一組電阻性切換記憶體電路。該等電阻性切換記憶體電路內之電阻性切換記憶胞可編程有對應於第一資料矩陣之相應位元值。接著,向該非揮發性記憶體邏輯系統提供藉由輸入到該等字元線上之一組電流表示之第二資料矩陣作為系統輸入。該非揮發性記憶體邏輯系統回應於該第二資料矩陣之輸入、及該等電阻性切換記憶胞對該第一資料矩陣之編程,在該(等)位元線上產生輸出。在一具體實施例中,該輸出可以是該第一資料矩陣及該第二資料矩陣之內積乘法結果。
根據一種實作態樣,該非揮發性記憶體邏輯系統之輸出可藉由其(多條)位元線上之輸出電流來提供。該(等)位元線上之該輸出電流可以是該組字元線上輸入之電壓或電流、及該組電阻性切換記憶胞之該等電阻性狀態(例如:該第一資料矩陣)之函數。在一具體實施例中,具有高邏輯值(例如:高電壓或電流)之字元線、及具有高邏輯值(例如:低電阻狀態)之電阻性切換記憶體電路可產生連至接地之低電阻路徑,在該非揮發性記憶體邏輯系統之位元線上導致電流(或小範圍之電流)。如果在該字元線上有該高邏輯值,並且有該高邏輯值編程至該電阻性切換記憶體電路,則相同位元線上之諸附加電阻性切換記憶體電路各可產生連至接地之附加低電阻路徑,並且因此在該位元線上產生附加電流(或者小範圍之該電流),其具有加成性。字元線上之低邏輯值、或編程至電阻性切換記憶體電路之低邏輯值在該字元線上導致連至接地之高電阻路徑,因此附加電流不存在或可忽略。藉由測量該位元線上之若干電流單位,可判定編程至該電阻性切換記憶體電路之第一資料矩陣與該字元線上該等電流之第二資料矩陣 之內積。
根據一實作態樣,可將第一資料矩陣編程至非揮發性記憶體邏輯系統之一或多條位元線上之電阻性切換記憶體電路。舉一項操作實施例,此第一資料矩陣可作用為資料濾波器(例如:內積資料濾波器或內核)。可將不同第二資料矩陣施加至該組字元線以為該第一資料矩陣取得不同內積結果。因此,憑藉將該電阻性切換記憶體電路設定為該第一資料矩陣之單一編程操作,可在較短時間內取得該第一資料矩陣之多個內積結果。舉例來說,在各此類輸入之後於該組字元線上輸入一不同第二資料矩陣序列、及在該(等)位元線上取得相應輸出電流,可產生該第一資料矩陣與各該不同第二資料矩陣序列之內積結果。
在一實作態樣中,所揭示之非揮發性記憶體邏輯系統可包含交截該組字元線之多條位元線,在各字元線-位元線交截處具有電阻性切換記憶體電路。繼這種實作態樣,編程至該電阻性切換記憶體電路之第一資料矩陣可以是二維矩陣(例如:n×m資料矩陣,其中n及m兩者都是大於1之正數)。在各項具體實施例中,可在各該多條位元線上之電阻性切換記憶體電路處接收該組字元線上輸入之該第二資料矩陣(例如:一維資料矩陣),使一維乘二維內積結果起作用。在進一步具體實施例中,該第一資料矩陣可藉由將位元線上之電流乘以2n,利用該二維矩陣來仿真多位元數,其中,n為與該位元線相關聯之位元階(例如:0階、一階、二階等等)。非二進制多位數可藉由將位元線上之電流乘以xn來仿真(例如,對於基階10數,x等於10,以此類推)。
於再進一步實作態樣中,所揭示之非揮發性記憶體邏輯系統可實施二維第一資料矩陣與二維第二資料矩陣之內積。如上述,可將二維第一資料矩陣編程至該電阻性切換記憶體電路。再者,二維第二資料矩陣之輸入可藉由 將該二維第二資料矩陣之接連位元階(各接連位元階為該第二資料矩陣之一維部分)輸入到字元線上(例如,在不同時脈週期輸入)、並且將接連位元階內積結果乘以其相應位元階(例如,對於二進制系統為2n,其中n為位元階)來仿真。接著,將諸接連一維乘二維內積運算(乘以其位元階)之結果求和,以產生該二維第一資料矩陣與該二維第二資料矩陣之內積之結果。
以下說明及圖式提出本說明書之某些說明性態樣。然而,這些態樣所指係各種方式中可運用本說明書之原理的其中一些。本說明書之其它優點及新穎特徵經由以下本說明書之詳細說明且搭配圖式將會變為顯而易見。
10、100、700‧‧‧運算記憶體架構
12‧‧‧實體介面
14‧‧‧邏輯介面
16、18、20、1506‧‧‧感測放大器
102‧‧‧類比電路系統
104‧‧‧ReRAM陣列
106‧‧‧讀取感測器
108‧‧‧I/O、資料介面
202‧‧‧第一輸入、第一輸入資料
204、904‧‧‧第二輸入
206‧‧‧輸出
300、400、800‧‧‧記憶體陣列架構
302、304、306‧‧‧校正碼解碼器
500、1502‧‧‧記憶體陣列
502‧‧‧類比電路系統及寫入電路
504‧‧‧計數器
600‧‧‧電阻性隨機存取記憶體陣列、記憶體陣列
602‧‧‧第一資料集
604‧‧‧第二資料集
802‧‧‧影像輸入、影像輸入記憶體
900‧‧‧卷積加速器
902‧‧‧第一輸入
1000~1306‧‧‧運算記憶體架構
1500‧‧‧操作與控制環境
1504‧‧‧行控制器
1508‧‧‧參考與控制信號產生器
1510‧‧‧列控制器
1512‧‧‧輸入暨輸入/輸出緩衝器
1514‧‧‧時脈源
1516‧‧‧位址暫存器
1518‧‧‧命令介面
1520‧‧‧狀態機
1602~1604、3502~3506‧‧‧步驟
1700、1800、2000、2100、2200、2400、2402、2900、3100、3200、3300、3400‧‧‧電路
1702、1802~1806、1906、2002~2008、2502~2508、2602~2610‧‧‧位元線
1704~1708、1808~1812‧‧‧字元線
1814、1900、1908‧‧‧濾波電路、電路
1816、1902、1910‧‧‧電阻性記憶體
1818、2306~2310‧‧‧電晶體
1820‧‧‧閘極
1904‧‧‧字元線D
1912‧‧‧NMOS電晶體X、NMOS電晶體、電晶體x
1914‧‧‧反相器
1916‧‧‧NMOS電晶體
1918‧‧‧PMOS電晶體
1920、1924‧‧‧共用節點
1922‧‧‧分壓器
1926‧‧‧位元線、電晶體元件
1928‧‧‧閂鎖器
1930‧‧‧閂鎖致能電晶體
1932‧‧‧編程/抹除輸入
2010‧‧‧電流放大器電路
2012、2102、2208‧‧‧求和電路
2104‧‧‧類比數位轉換器、ADC
2106‧‧‧MAC、累加器
2202~2206‧‧‧矩陣乘法電路
2210‧‧‧ADC
2300‧‧‧示意性布局
2302、2304、2614‧‧‧濾波電路
2312‧‧‧電阻性切換記憶體裝置
2500‧‧‧卷積加速器
2600‧‧‧矩陣卷積
2612‧‧‧求和電路
2700、2800‧‧‧圖表
2702‧‧‧水平軸
2704‧‧‧垂直軸
3000‧‧‧帶正負號矩陣乘法、矩陣乘法
3202、3302‧‧‧正濾波電路
3204、3304‧‧‧負濾波電路
3600‧‧‧環境
3602‧‧‧電腦
3604‧‧‧處理單元
3606‧‧‧系統記憶體
3607‧‧‧編解碼器
3608‧‧‧輸出配接器
3610‧‧‧系統匯流排
3612‧‧‧揮發性記憶體
3614‧‧‧非揮發性記憶體
3616‧‧‧碟片儲存裝置
3618‧‧‧介面
3620‧‧‧輸出裝置
3622‧‧‧輸入裝置
3624‧‧‧作業系統
3626‧‧‧應用程式
3628‧‧‧程式模組
3630‧‧‧程式資料
3632‧‧‧介面埠
3634‧‧‧遠端電腦
3636‧‧‧記憶體儲存裝置、輸出裝置
3638‧‧‧網路介面
3640‧‧‧通訊連線
本發明的許多態樣、具體實施例、目的、及優點經由考量以下的詳細說明、並搭配附圖將會顯而易見,在附圖中,全文相同的元件符號係指相似的部分。在本說明書中,提出許多特定細節的目的為的是要能夠透徹了解本揭露。然而,應了解無需這些特定細節、或利用其它方法、組件、材料等,也可實踐本揭露之某些態樣。在其它實例中,眾所周知的結構及裝置是以方塊圖形式展示而有助於說明本揭露;第1圖根據本揭露之一具體實施例,繪示包含記憶體陣列之例示性運算記憶體架構的示意圖
第2圖根據本揭露之一具體實施例,繪示例示性記憶體陣列架構;第3圖根據本揭露之一具體實施例,繪示例示性處理元件;第4圖根據本揭露之一具體實施例,繪示包括奇偶校驗位元之例示性記憶體陣列架構;第5圖根據本揭露之一具體實施例,繪示包括共享奇偶校驗位元 之例示性記憶體陣列架構;第6圖根據本揭露之一具體實施例,繪示共享寫入電路系統之多個記憶體陣列之一實施例;第7圖根據本揭露之一具體實施例,繪示例示性電阻性隨機存取記憶體陣列;第8圖根據本揭露之一具體實施例,繪示另一例示性運算記憶體架構;第9圖根據本揭露之一或多項具體實施例,繪示再一例示性記憶體陣列架構;第10圖根據本揭露之一具體實施例,繪示例示性卷積加速器;第11圖根據本揭露之一具體實施例,繪示又另一例示性運算記憶體架構;第12圖根據本揭露之一具體實施例,繪示再一例示性運算記憶體架構;第13圖根據本揭露之一具體實施例,繪示一例示性運算記憶體架構,其說明諸處理元件之間的互通;第14圖根據本揭露之一具體實施例,繪示以串聯方式串接之多個運算記憶體架構之一實施例;第15圖根據本揭露之某些具體實施例,繪示例示性電子操作環境的方塊圖;第16圖根據本文中提供之一或多項具體實施例,為非揮發性記憶體架構之操作繪示例示方法的流程圖; 第17圖根據本揭露之一具體實施例,繪示可用於矩陣乘法(例如:內積乘法)之例示性電路的示意圖;第18圖根據本揭露之一具體實施例,繪示代表3 x 3矩陣與3 x 1矩陣乘法之例示性電路的示意圖;第19A至19H圖根據本揭露之一具體實施例,繪示包含電阻性記憶體之濾波電路之例示性替代實作態樣;第20圖根據本揭露之一具體實施例,繪示用於實施1x3對3x1矩陣乘法之例示性、非限制性電路;第21圖根據本揭露之一具體實施例,繪示用於實施矩陣乘法之另一例示性、非限制性電路;第22圖根據本揭露之一具體實施例,繪示可用於矩陣乘法之另一例示性、非限制性電路;第23圖根據本揭露之一具體實施例,繪示用於矩陣乘法之另一例示性、非限制性電路;第24圖根據本揭露之一具體實施例,為卷積算術繪示用於內積加速器(DPA)之例示性、非限制性電路;第25圖根據本揭露之一具體實施例,繪示卷積加速器之例示性、替代具體實施例;第26圖根據本揭露之一具體實施例,繪示另一例示性、非限制性矩陣卷積;第27圖根據本揭露之一具體實施例,為導通/斷開電阻繪示值及分布之例示性、非限制性圖表; 第28圖根據本揭露之一具體實施例,繪示多階電阻ReRAM之例示性、非限制性圖表;第29圖根據本揭露之一具體實施例,為利用4狀態(2位元)多階電阻ReRAM之矩陣乘法繪示例示性電路;第30圖根據本揭露之一具體實施例,繪示帶正負號矩陣乘法之例示性、非限制性實施,合併正及負位元值作為一實施例;第31圖根據本揭露之一具體實施例,繪示用於在多條位元線上感測及減去電流之例示性、非限制性電路;第32圖根據本揭露之一具體實施例,繪示用於帶正負號矩陣乘法之例示性、非限制性替代電路;第33圖根據本揭露之一具體實施例,為帶正負號矩陣乘法繪示一替代具體實施例之例示性、非限制性電路;第34圖根據本揭露之一具體實施例,繪示用於帶正負號矩陣內積之例示性、非限制性電路;第35圖根據本揭露之一具體實施例,為電阻性隨機存取記憶體矩陣乘法結構之操作繪示例示方法的流程圖;以及第36圖根據本揭露之某些具體實施例,繪示例示性運算環境的方塊圖。
顧名思義,二端記憶體裝置具有兩個接端或電極。在本文中,「電極」及「接端」等詞可互換使用。大體上,二端記憶體之第一電極稱為「頂端電極」(TE),並且二端記憶體之第二電極稱為「底端電極」(BE),但據瞭解,二 端記憶體裝置之電極可根據任何合適的配置,包括記憶胞之組件(實質)並列而不是互相上下重疊之水平配置,並且包括記憶胞堆疊係以非直角建構至下伏基材之傾斜配置。位於二端記憶體裝置之TE與BE之間者典型為介面層,有時稱為切換層、電阻性切換介質(RSM)或電阻性切換層(RSL)。當合併RSM時,二端記憶體裝置可稱為(二端)電阻性切換裝置。在至少一些所揭示具體實施例中,可提供非揮發性電阻性切換裝置作為資料儲存裝置,並且可提供與非揮發性電阻性切換裝置串聯之揮發性電阻性切換裝置,以作用為用於資料儲存裝置之存取裝置(亦稱為選擇器裝置)。在此類具體實施例中,存取裝置可緩和1電晶體-許多電阻性記憶胞(1TnR)架構中之電流洩漏,但不限於此效益。
電阻性切換記憶體之一項實施例為絲形電阻性記憶胞。一般而言,絲形電阻性記憶胞之組成可依據裝置而變,其選擇不同組件以實現所欲特性(例如:揮發性/非揮發性、導通/斷開電流比、切換時間、讀取時間、記憶體耐久性、編程/抹除週期等等)。絲形電阻性記憶胞之一項實施例可包含:傳導層,例如金屬、金屬合金(舉例來說,包括諸如TiW等等的金屬-金屬合金、及各種合適的金屬-非金屬合金)、金屬氮化物(例如包含TiN、TaN或其它合適的金屬氮化物化合物);視需要的介面層(例如摻雜p型(或n型)矽(Si)支承層(例如p型或n型Si支承層、p型或n型多晶矽、p型或n型多晶SiGe等);RSL;以及能夠被電離之含活性金屬層。在合適的條件下,含活性金屬層可向RSL提供絲極形成離子。在此類具體實施例中,傳導絲極(例如:藉由離子形成者)可通過至少一RSL子集而有助於導電性,並且舉一實施例來說,可藉由絲極與傳導層間的穿隧電阻來判定基於絲極之裝置之電阻。
RSL(在所屬技術領域中亦稱為電阻性切換介質(RSM))可包含例 如未摻雜之含非晶Si層、具有本質特性之半導體層、氮化矽(例如:SiN、Si3N4、SiNx,其中x為正數等)、Si亞氧化物(例如:SiOx,其中x具有介於0.1與2之間的值)、Si亞氮化物、金屬氧化物、金屬氮化物、非化學計量之矽化合物、含矽與氮之材料、含金屬與氮之材料等等。適用於RSL之非晶及/或非化學計量材料之其它實施例可包括SiXGeYOZ(其中X、Y及Z為相應合適的正數)、氧化矽(例如:SiON,其中N為合適的正數)、氮氧化矽、未摻雜非晶Si(a-Si)、非晶SiGe(a-SiGe)、TaOB(其中B為合適的正數)、HfOC(其中C為合適的正數)、TiOD(其中D為合適的數字)、Al2OE(其中E為合適的正數)、其它合適的氧化物等等、氮化物(例如:AiN、SiN)、或類似者、或其合適的組合。
在一些具體實施例中,作為非揮發性記憶體裝置之部分運用之RSL(非揮發性RSL)可包括較大量(例如相較於揮發性選擇器裝置)之材料空洞或缺陷以在RSL內(至少低電壓處)截留中性金屬粒子。該較大量空洞或缺陷可有助於形成厚、穩定之中性金屬粒子結構。在此一結構中,這些遭截留的粒子可使非揮發性記憶體裝置在沒有外部刺激(例如:電力)的情況下維持低電阻狀態,以達成非揮發性操作。在其它具體實施例中,用於揮發性選擇器裝置之RSL(揮發性RSL)可具有非常少的材料空洞或缺陷。在用來粒子截留的空洞/缺陷少的情況下,揮發性RSL中形成之傳導絲極會相當薄,並且在沒有適當高之外部刺激(例如:電場、電壓、電流、焦耳加熱、或其合適的組合)之情況下會不穩定。此外,在揮發性選擇器裝置之情況下,可將中性金屬粒子選定為具有高表面能,並且在揮發性RSL內具有良好之擴散性。這導致傳導絲極可回應於合適的刺激而快速形成,但是也相當容易變形,舉例來說,回應於外部刺激降到低於變形幅度而變形。要注意的是,用於選擇器裝置之揮發性RSL及傳導絲極可與用於非揮 發性記憶體裝置之傳導絲極及非揮發性RSL具有不同電氣特性。舉例來說,選擇器裝置RSL可具有更高的材料電阻、以及可具有更高的導通/斷開電流比等等。
用於基於絲形之記憶胞的含活性金屬層可包括(但不限於):銀(Ag)、金(Au)、鈦(Ti)、氮化鈦(TiN)、或鈦、鎳(Ni)、銅(Cu)、鋁(Al)、鉻(Cr)、鉭(Ta)、鐵(Fe)、錳(Mn)、鎢(W)、釩(V)、鈷(Co)、鉑(Pt)、鉿(Hf)及鈀(Pd)等其它合適化合物等等。在本揭露之一些態樣中,其它合適的傳導材料、以及化合物、氧化物、例如氮化物、合金、或前述之組合物或類似材料可用於含活性金屬層。再者,在至少一項具體實施例中,含活性金屬層可運用非化學計量化合物,諸如非化學計量金屬氧化物或金屬氮化物(例如:AlOx、AlNx、CuOx、CuNx、AgOx、AgNx等等,其中x為合適的正數0<x<2,不同的非化學計量化合物可具有不同值)、或其它合適的金屬化合物。
在一或多項具體實施例中,所揭示之絲形電阻性切換裝置可包括活性金屬層,該活性金屬層包括選自於由下列所組成群組之金屬氮化物:TiNx、TaNx、AlNx、CuNx、WNx及AgNx,其中x為正數。在一(多)項進一步具體實施例中,活性金屬層可包含選自於由下列所組成群組之金屬氧化物:TiOx、TaOx、AlOx、CuOx、WOx及AgOx。在又另一(些)具體實施例中,活性金屬層可包含選自於由下列所組成群組之金屬氧氮化物:TiOaNb、AlOaNb、CuOaNb、WOaNb及AgOaNb,其中a與b為正數。所揭示之絲形電阻性切換裝置可更包含切換層,該切換層包含選自於由下列所組成群組之切換材料:SiOy、AlNy、TiOy、TaOy、AlOy、CuOy、TiNx、TiNy、TaNx、TaNy、SiOx、SiNy、AlNx、CuNx、CuNy、AgNx、AgNy、TiOx、TaOx、AlOx、CuOx、AgOx及AgOy,其中x與y為正數,並且y大於x。以上各種組合是在本發明之具體實施例範疇內 設想並且列入考量。
在一項實施例中,所揭示之絲形電阻性切換裝置包含粒子施體層(例如:含活性金屬層),該粒子施體層包含金屬化合物及電阻性切換層。在這項實施例之一項替代具體實施例中,粒子施體層包含金屬氮化物:MNx、例如AgNx、TiNx、AlNx等,並且電阻性切換層包含金屬氮化物:MNy、例如AgNy、TiNy、AlNy等等,其中y及x為正數,並且在一些情況下,y大於x。在一替代具體實施例中,粒子施體層包含金屬氧化物:MOx、例如AgOx、TiOx、AlOx等等,並且電阻性切換層包含金屬氧化物:MOy、例如AgOy、TiOy、AlOy、或類似者,其中y及x為正數,並且在某些情況下,y大於x。在又另一替代方案中,粒子施體層之金屬化合物為MNx(例如:AgNx、TiNx、AlNx等),並且電阻性切換層係選自由MOy(例如:AgOx、TiOx、AlOx等)及SiOy所組成之群組,其中x及y典型為非化學計量值。
代表化合物中一種元素相對另一元素(或其它元素)之值或比率的變數x、a、b等等於本文中使用時,可具有適用於相應化合物之不同值,並且用意不在於表示化合物之間相同或類似之值或比率。一些與(多項)前述實施例類似之本揭露之具體實施例相關細節可在下列美國專利申請案查到,該等美國專利申請案係授權予本專利申請案之受讓人:2007年10月19日提出申請之申請案第13/875,541號、及2009年10月8日提出申請之申請案第12/575,921號;各該前述專利申請案特此係為了所有目的而全文各別以參考方式合併於本文中。
如上述,將編程電壓(亦稱為「編程脈衝」)施加至二端記憶體之一個電極可造成傳導絲極在介面層(例如:RSL)中形成。按照慣例且如本文中大體上所述,TE接收編程脈衝,並且BE接地(或者相較於編程脈衝保持處於更低 電壓或相反極性),但這用意並非在成為所有具體實施例之限制。反過來說,將「抹除脈衝」(大體上是作為編程脈衝之相反極性脈衝、或作為編程脈衝施加至相反電極之脈衝)施加至一個電極會破壞絲極之連續性,舉例來說,藉由將形成絲極之金屬粒子或其它材料驅送回頭朝向活性金屬源來破壞。此傳導絲極之性質以及其存在性或不存在性對二端記憶胞之電氣特性有影響,舉例如:當存在傳導絲極時,跨過兩個接端之電阻降低及/或電導(conductance)升高,與不存在傳導絲極時截然不同。
在編程或抹除脈衝之後,可斷言(assert)讀取脈衝。此讀取脈衝之幅度相對於編程或抹除脈衝典型更低,並且典型不足以影響傳導絲極及/或變更二端記憶胞之狀態。藉由將讀取脈衝施加至二端記憶體之一個電極,所測電流(例如:Ion)可表示二端記憶胞之傳導狀態。舉例而言,當傳導絲極已形成時(例如,回應於編程脈衝之施加而形成),胞元之電導大於其它情況,並且回應於讀取脈衝,所測電流(例如:Ion)讀數將更大。另一方面,當傳導絲極遭受移除時(例如,回應於抹除脈衝之施加而遭受移除),胞元之電阻高,因為介面層具有較高電阻,所以胞元之電導更低,並且回應於讀取脈衝,所測電流(例如:Ioff)讀數將更低。按照慣例,當形成傳導絲極時,記憶胞被稱為處於具有高電導之「導通狀態」。當傳導絲極不存在時,記憶胞被稱為處於「斷開狀態」。可將處於導通狀態或斷開狀態之記憶胞以邏輯方式映射至二進制值,舉例如:「1」及「0」。據了解,本文中所使用與胞元之狀態相關聯之慣例、或相關聯之邏輯二進制映射用意不在於限制,因為可搭配所揭示專利標的來運用包括相反慣例在內之其它慣例。本文中詳述之技巧係搭配單階胞元(SLC)記憶體予以說明及繪示,但據了解,所揭示之技巧亦可用於多階胞元(MLC)記憶體,其中單一記憶胞可保留一 組可測性有區別之狀態,其代表資訊之多個位元。
藉由將數位資訊映射至二端記憶胞之非揮發性電阻狀態,可在此類裝置處儲存數位資訊。含有許多這些二端記憶胞之電子裝置同樣可儲存大量資料。高密度陣列係組配成用來為晶片空間之給定區域含有儘可能多之記憶胞,藉此使記憶體晶片、或系統晶片裝置之資料儲存容量達到最大。
對於晶圓內諸金屬線交截處形成之二端記憶體(例如:縱橫陣列),本揭露之(多名)發明人意識到用於配置記憶胞之兩種一般慣例。第一種慣例是1T1R記憶體陣列,其中各記憶胞係藉由相關聯之電晶體與周圍電路系統之電氣效應(例如:電流,包括(諸)洩漏路徑電流)隔離。第二種慣例是1TnR記憶體陣列(n為大於一之正數),其中多記憶胞群組係藉由一個(或多個)電晶體與周圍電路系統之電氣效應隔離。在1T1R的情況中,可將個別記憶胞組配成在諸記憶胞之間具有高電流抑制,為1T1R記憶體陣列顯著降低洩漏路徑電流。在1TnR背景中,個別記憶胞可包括選擇器裝置(例如:揮發性、二端絲形電阻裝置),以抑制藉由一個(或多個)電晶體隔離之多記憶胞群組中之洩漏路徑電流。
例示性運算記憶體架構
本揭露係參考圖式說明各項態樣或特徵,其中相同的參考元件符號全文係用於指稱為相似的元件。在本說明書中,提出許多特定細節的目的為的是要能夠透徹了解本揭露。然而,應了解無需這些特定細節、或利用其它方法、組件、材料等,也可實踐揭露之某些態樣。在其它實例中,眾所周知的結構及裝置是以方塊圖形式展示而有助於說明本揭露。
一開始請參閱第1圖,所示為根據本揭露之一具體實施例包含記憶體陣列之例示性運算記憶體架構10的示意圖。第1圖之實施例為8位元邏輯 介面及512位元實體介面;64KB(512K位元)記憶體陣列。
運算記憶體架構10可包含記憶體陣列,該記憶體陣列包含兩個介面,即實體介面12及邏輯介面14。舉例而言,實體介面12可以是實體存取模式。實體介面12可以是寬型介面(例如:高流通量/頻寬(BW))。舉例而言,實體介面12可為512位元。實體介面12可使用小型、低功率唯讀感測放大器(SA)16,係在第1圖之頂端處以數列三角形繪示。將感測放大器之輸出繪示為實體IO(例如:PIO_0至PIO_511)。唯讀感測放大器16可以是大量讀取感測放大器。再者,唯讀感測放大器16可消耗小、低電流。邏輯存取模式期間不使用唯讀感測放大器16。
邏輯介面16可以是邏輯存取模式。邏輯介面14可以是窄型介面(例如:低流通量/頻寬)。舉例而言,邏輯介面14可為8位元。如圖所示,邏輯介面14可利用更大、高功率讀取/寫入感測放大器。舉例而言,邏輯介面14可包含第一感測放大器16、第二感測放大器18、到第八感測放大器20。實體介面12可具有高流通量/頻寬。讀取/寫入感測放大器(例如:第一感測放大器16、第二感測放大器18、到第八感測放大器20)可利用較大、高電流。再者,實體存取模式期間不利用讀取/寫入感測放大器。將感測放大器之輸出繪示為邏輯IO(例如:LIO_0至LIO_7)。
記憶體陣列可具有兩種操作模式:邏輯及實體(或寬型及窄型)。實體或寬型模式中不使用低位址位元。舉例而言,在實體或寬型模式期間,不使用YMux,僅將XMux用於選擇字元線(WL)。再者,在實體或寬型模式期間,使用所有位元線(例如:予以解碼)。在邏輯或窄型模式中,YMux及XMux兩者都予以使用。舉例而言,可將XMux用於選擇字元線,可將YMux用於選擇位 元線。
舉例而言,記憶體陣列可具有不對稱性,並且可包含兩個介面。一個介面可包含用於寫入及視需要讀取之少量輸入/輸出(IO)及大型感測放大器。這些讀取及寫入採邏輯方式,因為位元線在YMux中附近遭到剷除。第二介面可包含針對電流消耗、速度、及尺寸而最佳化之大量IO及小型感測放大器。第二介面不使用YMux,僅使用XMux,因為是一次讀取所有位元線,因此低電流SA為讀取大量位元線(例如:512、2048或甚至更多)之必要條件。由於這些記憶體係針對讀取密集型應用,因此可接受更慢且更低頻寬之寫入。再者,由於所有位元線都被讀取,因此其為實體讀取。因為可實體讀取資料,並且可進行一些實體至邏輯映射,所以邏輯讀取是檢查資料之選項,但並非必要條件。因此,記憶體包含兩個介面,使用YMux之邏輯慢速BW及高頻寬實體(無YMux);不對稱流通量。
進一步詳言之,在邏輯或窄型模式中,XMux(選擇字元線)及YMux(選擇位元線子集)兩者都可使用所有位址線來解碼位元組(或字組或雙字組)。在實體或寬型模式下,由於正在感測所有位元線,所以僅有XMux被用於選擇字元線而不使用YMux。因此,可以有模式暫存器,舉例而言,用來選擇存取類型(窄型或寬型)。
儲存器架構中可有各種感測程序。感測程序可基於意欲產品之(諸)規格及架構來設計。舉例來說且非限制,如果要感測許多位元線(例如,同時感測超過1000條位元線)、以及使產品保持作用中且電流可管理(例如:低電流,諸如約小於50mA),則可採用純充電與放電感測程序。根據此程序,可將意欲位元線預充電。再者,可啟動所選記憶胞(一列胞元)。如果胞元經編程為導 通,則將位元線放電。如果胞元未經編程且電阻高,則預充電值將保持不變。可將簡易閂鎖型感測用於偵檢位元線之狀態。可將閂鎖器設計成以有限電流操作,使得平均電流消耗不超過50mA。這可以是許多NAND產品中採用之常見感測程序。
然而,如果速度(或低延遲)有必要且為優先考量時,則需要提供主動感測。根據主動感測協定,可設定參考電流/電壓(例如,電流可保持高)。可將參考電流設在介於胞元之高電阻狀態與低電阻狀態之間的中心點。所有感測放大器(運算放大器)都作用中,並且待命監測記憶胞之狀態。可將疊接電晶體用於箝制位元線以降低位元線擺幅(例如,用於快速感測)。可使用短預充電階段。當啟動所選胞元時,將電流注入所選胞元。具有低電阻之胞元將對注入之電流起反應,並且相關聯之感測放大器將改變其狀態。具有高電阻之胞元將保持不變,並且相關聯之感測放大器將保持處於其目前狀態。注意到的是,每條位元線注入之主動電流、及各感測電路(OPAMP)中之主動電流將使此方法之電流消耗增大。再者,此方法中之所選位元線因各主動感測放大器之電流消耗而受到限制。另外,憑藉這種感測方案,更快之感測係以更耗電流之感測放大器來實現。在一實施例中,許多位元線可用於影像資料,並且少量位元線可用於內核(卷積)資料。由於經常使用內核,因此可使用更高功率之感測放大器。
注意到的是,讀取/寫入SA電路之大部分可與寫入操作相關聯,其實際上為兩個單獨編程及抹除操作。這將使SA更大。還可將設計SA之不同技巧用於唯讀SA。
進一步詳言之,讀取/寫入感測可包括使其大於讀取感測之許多附加組件。以下是讀取/寫入感測所需附加組件之非限制性實施例:寫入感測電路、 驗證電路、類比參考電路、及/或陣列參考電路及記憶胞。寫入感測電路可需要更大電晶體以提供設定及重設(或編程/抹除)需要之電流驅動。驗證電路係用於感測受寫胞元並檢查及查看其是否已受寫。這通常是與標準讀取感測不同之電路,因為其需要將感測裕度移位至比標準讀取感測高很多或低很多之位準,才能檢查良好之「0」及良好之「1」資料。類比參考電路係用於產生「0」、及「1」驗證裕度位準。進一步添增陣列參考電路及記憶胞以確保跨佈晶粒或晶圓之參考追蹤過程變化。
第2圖根據本揭露之一具體實施例,繪示例示性運算記憶體架構100的示意圖。運算記憶體架構100可包含非常寬之記憶體陣列及高度平行之運算引擎。習知記憶體陣列可具有多條位元線及字元線。舉例而言,習知記憶體陣列可具有32位元輸出(或64位元輸出)。即使這些習知記憶體陣列可具有多條位元線及字元線,仍僅提供對32位元(或64位元)陣列之存取。相比之下,本文中提供之各項態樣使記憶體陣列有能力大約在相同時間讀取比習知限制更大量之位元(例如:1,024位元、2,048位元、或更多位元)。因此,各項態樣可增加記憶體容量,並且可提升處理能力,本文中將有所論述。
運算記憶體架構100可包括類比電路系統102。運算記憶體架構100中亦包括電阻性隨機存取記憶體或ReRAM陣列104,其包含多組位元線及多條字元線。運算記憶體架構100中亦可包括連接至多組位元線、並且組配成用來從ReRAM陣列104之記憶胞獲得所儲存資料之讀取感測器106或讀取感測放大器。根據一些實作態樣,運算記憶體架構100可具有讀取密集性(read intensive)。舉例而言,對於給定數量之位元線(例如:1,024、2,048或其它合適的數量),每條位元線可有一個讀取感測放大器,其可為讀取操作提供高流通量。 另外,每組位元(例如:8、16、或32位元)可有寫入感測放大器。如此,類比電路系統102可包括與(多個)寫入操作相關聯之感測放大器,可維持小尺寸,並且與寫入操作相關聯之電流消耗可維持偏低。再者,運算記憶體架構100可包含多條字元線,所示為第一字元線(WL 0)至字元線K-1(WL K-1),其中K為整數。除了這K條字元線以外,運算記憶體架構100還可包括1,024條位元線、2,048條位元線,以此類推。
可編程處理元件(PE)可位於陣列(例如:ReRAM陣列104)頂部,並且可連接至ReRAM陣列104之多條位元線之相應群組或集合。再者,一或多個可編程處理元件可連接至資料介面。舉例而言,這一或多個處理元件可位於與輸入/輸出線(例如:I/O 108)相鄰處。所示為第一處理元件(PE 1)、第二處理元件(PE 2)、到第N處理元件(PE N),其中N為整數。如圖所示,這一或多個可編程處理元件可位於資料介面與ReRAM陣列104之間,並且可與ReRAM陣列104之多組位元線實體連接。
這一或多個可編程處理元件可獨立地運算或判定相應功能(例如:感測、匹配、邏輯演算法、數學演算法等等),並且輸出獨立處理功能之結果。這一或多個可編程處理元件可組配成用來經由相應之位元線集合從ReRAM陣列104接收所儲存資料、及/或經由資料介面從外接裝置接收資料。再者,這一或多個可編程處理元件可對該外部資料、及/或對該所儲存資料執行邏輯或數學演算法,並且產生已處理的資料。
根據一些實作態樣,可循序及/或隨機地啟動字元線。然而,與由字元線啟動之位元線群組連接之所有處理元件都將從由該字元線啟動之記憶胞接收資料。隨著啟動不同字元線(例如,一次一條字元線),可將資料從不同列之 記憶胞提供至處理元件。
根據一非限制性實施例,運算記憶體架構100可包含2,048條位元線,並且一或多個處理元件可利用16個輸入位元。因此,在處理元件與相同數量之位元線相關聯之實作態樣中,可有128個處理元件位於ReRAM陣列104頂部。因此,運算記憶體架構100可用於高度平行運算。
根據一些實作態樣,不同數量之位元線可連接至這一或多個處理元件之相應處理元件。舉例而言,第一處理元件可與8條位元線相關聯,並且第二處理元件可與16條位元線相關聯。第一處理元件及第二處理元件存取相同字元線上之資料,然而,第二處理元件在這項實施例中使用比第一處理元件更多之位元線。再者,提供至這一或多個處理元件之資料大體上來自同一字元線。
在第2圖之實施例中,第一組位元線專用於PE 1,第二組位元線專用於PE 2,以此類推。因此,當字元線0(例如:WL 0)啟動時,舉例而言,PE 1藉由第一組位元線而從WL 0及第一組位元線上之第一記憶胞群組接收其相應資訊。再者,當字元線0啟動時,PE 2藉由第二組位元線從WL 0及第二組位元線上之第二記憶胞群組接收其相應資訊,以此類推。當字元線1(WL 1)啟動時,PE 1再次透過第一組位元線從WL 1及第一組位元線上之第三記憶胞群組接收其相應資訊,並且PE 2透過第二組位元線從WL 1及第二組位元線上之第四記憶胞群組接收其相應資訊,以此類推。因此,引擎可將給定字元線上之資料饋送至與該字元線上之記憶胞連接之不同處理元件,並且對於ReRAM陣列104之不同字元線重複此過程。
根據一些實施方案,如果記憶體陣列之一或多條位元線有缺陷,則可藉由停用與該等有缺陷位元線相關聯之一或多個處理元件來繼續利用該記 憶體陣列。可停用這一或多個處理元件,及/或可忽略或捨棄其運算值。因此,可提升生產良率,其可降低與運算記憶體架構100相關聯之成本。
例示性運算記憶體架構100可組配成用來藉由可編程處理元件PE 1至PE N來進行各種邏輯或數學功能。此類功能之一些非限制性實施例可包括感測功能、型樣辨識,特徵擷取、NAND運算、NOR運算、XOR運算、或任何其它合適的邏輯或處理操作,還可包括各種數學功能,以此類推。舉例而言且非限制,對於特徵擷取,可將一組特徵保留在叢庫(library)或資料存放區中(例如,編程到記憶體陣列裡)。對於這項實施例,可有數千個特徵資料,其中可將這數千個特徵資料之相應集合提供至一或多個處理元件(例如,這一或多個處理元件之一處理元件從ReRAM陣列104接收其相應輸入)。因此,第一處理元件(例如:PE 1)可接收其相應特徵資料、第二處理元件(例如:PE 2)可接收其相應特徵資料,以此類推。
在一特定終端使用實施例中,可將型樣辨識及特徵擷取用於實施臉部辨識。可將用於分析資料集以識別或推斷臉部特徵資訊之指令引導至處理元件以進行特定任務。在一實施例中,可將預拍攝之臉部特徵/圖片編程到ReRAM陣列104裡。監控攝影機(或其它影像拍攝裝置)可拍攝要分析物之圖片,然後可將所拍攝之圖片資料饋送到一或多個處理元件內,其中所拍攝之圖片係藉由一或多個處理元件針對其相應之所儲存圖片來處理。將與預拍攝圖片相關聯之相應所儲存資料饋送至其對應之一或多個處理元件,處理元件會針對所拍攝圖片實施臉部辨識演算法。
因為該等處理元件係整合在運算記憶體架構100內,所以可搭配陣列中之所儲存影像來實施臉部辨識。在一具體實施例中,可將複數個處理元 件用來對不同資料集平行實施臉部辨識演算法。或者,可將不同處理元件用來對資料之子集實施臉部辨識演算法之不同子集。在一項特定實施例中,可將運算記憶體架構100併入電子裝置(例如:數位保全攝影機),其拍攝進入由該電子裝置所監視之區域之個人之圖片。可將諸如公司員工等經授權的個人之圖片儲存到ReRAM陣列104內,並且處理元件可將圖片資料與所儲存圖片資料作比較,以在例如臉部辨識之例子中,判斷所監視區域內之個人是否為所儲存圖片資料代表之經授權個人。根據一實作態樣,亦可將諸如員工姓名、工作位置等等與匹配相關聯之細節儲存在ReRAM陣列104中,以藉由運算記憶體架構100來促進附加的機載處理(onboard processing)。
注意到的是,資料係保留在記憶體中,不是保留在(諸)處理元件中。然而,處理元件對輸入資料及ReRAM陣列104上之資料進行邏輯或數學運算以產生已處理資料,可將其從運算記憶體架構100輸出、或儲存在運算記憶體架構100內之一些暫存器或記憶體、或ReRAM陣列內之暫存記憶體區中。
如上述,處理元件可對單獨指令、對單獨資料、以及採整合方式對公用指令集或資料集進行平行操作。舉前述關於臉部辨識範例之一實施例來說,可向兩個處理元件(例如:PE 1及PE 2)提供代表所拍攝人員圖片之同一組圖片資料。兩處理元件都可將相應之所拍攝圖片資料與其在ReRAM陣列104之相應位元線中之經授權人員之所儲存圖片資料作比較,舉例來說,PE 1根據所儲存圖片資料評估該圖片資料,並且無法判定匹配。PE 1可輸出臉部辨識失敗。然而,PE 2評估圖片資料並將其判定為與對應於PE 2之位元線中之所儲存圖片資料匹配,以及輸出臉部辨識成功。雖然這項實施例係針對兩個處理元件作論述,如本文中所提供之記憶體架構可包括多個處理元件(例如:1,000個處理 元件、10,000個處理元件等等)。因此,可將數百(或甚至數千)個圖片與輸入資料作比較,並且多個處理元件可同時將傳入圖片與相應之所儲存圖片作比較。再者,所揭示之態樣雖然係針對影像或圖片作論述,但仍不受限於與光學辨識相關之實作態樣。反而,處理之進行可用於任何合適的簡易邏輯或數學演算法(例如:AND運算、NOR運算、乘法等),用於不同複雜程度之邏輯或數學演算法(例如,用於情緒分析之機器學習算法),舉例來說,包括字組、對話等等,用於模擬之神經網路、導數微積分、或其它合適的機器實施演算法。注意到的是,比較(或其它功能)之準確度可與一或多個處理元件可用之資料量成正比。
在另一實施例中,可根據本文中提供之各項態樣來處理社交媒體摘要(social media feeds)。社交媒體摘要中包括之情緒及/或字組可藉由一或多個處理元件來判定。可將情緒或詞組編程到ReRAM陣列104裡。可將社交媒體摘要饋送至處理元件並與情感及詞組作比較。根據一實作態樣,計數器可與運算記憶體架構100相關聯,並用於判定透過社交媒體摘要共享特定情緒之次數。再者,舉例而言,如果有125則社交媒體摘要,則不必同時將所有125則摘要全都輸入至處理元件。反而,可在不同時間提供一或多則摘要(或其它資料,諸如影像)。
第2圖根據本揭露之一具體實施例,繪示例示性處理元件200。處理元件200可以是第2圖之PE 1、PE 2、到PE N。如圖所示,處理元件200可具有多個輸入(例如:兩個輸入、三個輸入等),即第一輸入202及第二輸入204。可將第一輸入202組配成用來從ReRAM陣列接收資料。因此,第一輸入202可包括儲存在ReRAM陣列(例如:第2圖之ReRAM陣列104)處、並且在連接至處理元件之相應位元線上遭到上拉(pulled up)之資料。可將第二輸入204 組配成用來從外接裝置接收資料。因此,第二輸入204可包括傳入資料(incoming data),其可透過資料介面、或一或多條輸入/輸出線(例如:第2圖之I/O 108)來接收。透過第二輸入204接收之傳入資料可源於諸如整合型電子裝置(例如:提供圖片資料之攝影機)或主機運算裝置(例如:提供社交媒體摘要資料)等運算記憶體架構100外部之來源、或其它合適的裝置。
可從記憶體陣列之其它處理元件之輸出單獨提供輸出206。然而,根據一些實作態樣,輸出206可與來自其它處理元件之相應輸出串接。舉例而言,各種輸出可串接在一起、進行處理、以及產生單一輸出。根據一些實作態樣,已處理之資料可僅藉由輸出206回應於(多個)條件之滿足(例如,回應於已處理之資料在某一臨界參數範圍內或匹配與第一輸入資料202相關聯之類別參數)來選擇性地提供。根據一些實作態樣,可提供一或多個輸出,並且一實體可進行匹配判斷。
第3圖根據本揭露之一具體實施例,繪示包括奇偶校驗位元(parity bit)之例示性記憶體陣列架構300。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
如圖所示,一或多個校正碼解碼器可識別儲存在ReRAM陣列104裡之資料中之(多個)錯誤,並且在將(錯誤之)資料發送至一或多個處理元件前先校正該(等)資料錯誤。舉例而言,第一校正碼解碼器302可與PE 1相關聯,第二校正碼解碼器304可與PE 2相關聯,並且第N校正碼解碼器306可與PE N相關聯。儲存在ReRAM陣列104處之資料子集可與用於錯誤校正演算法之奇偶校驗位元相關聯。在一實施例中,16位元處理元件可將數個位元用於奇偶校驗(例如:5個位元、6個位元等等)。奇偶校驗位元可以是分配予相應處理元件之 附加位元,使得例示性處理元件保留其16個位元,以便進行其相關聯之功能。如與第2圖之運算記憶體架構100作比較,第4圖之記憶體陣列架構300包含前往一或多個處理元件之兩個附加位元。然而,與所示及所述數量相比,其它實作態樣可將更少或更多位元線用於奇偶校驗。
第4圖根據本揭露之一具體實施例,繪示包括共享奇偶校驗位元之例示性記憶體陣列架構400。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
根據一些實作態樣,為了最佳化與奇偶校驗相關聯之額外負擔,可對一個以上的處理元件做奇偶校驗。如圖所示,可將校正碼解碼器402用於兩個處理元件(例如:PE 1及PE 2)。然而,在其它實作態樣中,多於兩個處理元件可共享校正碼解碼器。因此,校正解碼器可在將資料發送至一或多個處理元件前先校正資料。校正碼可為了有效率的校正涵蓋範圍而橫跨多個處理元件。
第5圖根據本揭露之一具體實施例,繪示共享寫入電路系統邏輯之多個記憶體陣列500之一實施例。根據一態樣,多個陣列之間可共享寫入電路系統,如藉由類比電路系統及寫入電路502所示。在這項實施例中,類比電路系統及寫入電路502係由位於類比電路系統及寫入電路502上面及下面之多個記憶體陣列所共享。按照這種方式,記憶體架構之佔位面積(或幾何面積)不必與多個記憶體陣列之空間成比例增大。然而,憑藉共享之類比電路系統及寫入電路502可能會讓用於讀取及寫入之頻寬減小(例如,稍微更長之處理時間),但這樣的好處在於面積效率增大(例如,與未共享寫入電路系統邏輯之記憶體陣列相比,記憶體架構之尺寸使用更小空間)。類比電路系統及寫入電路502主要係用於初始化ReRAM陣列、及對陣列進行不頻繁的更新,因此不會影響引擎之效 能。各記憶體陣列仍然可維持其專用讀取感測器,該記憶體陣列是在一般運算操作期間使用。
根據一些實作態樣,可循序存取字元線,並且列解碼器可以是計數器504或x多工器(例如:x mux)。舉例而言,計數器504可從零開始,然後計數一、二、三,以此類推。這不需要全列解碼。舉例而言,計數器可在計數時從一條字元線進展到下一條字元線。根據另一實作態樣,計數器可以是具有滾動位元(rolling bit)之移位暫存器。舉例而言,移位暫存器可具有零及/或一,並且可隨著其循序通過字元線而移位。
第6圖根據本揭露之一具體實施例,繪示例示性電阻性隨機存取記憶體陣列600。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
電阻性隨機存取記憶體陣列600可包含一或多個字元線起始指標及一或多個字元線終止指標,可將這些指標組配成用來分別指示一或多個資料群組之開始及結束。在一些實作態樣中,電阻性隨機存取記憶體陣列600可具有用於一或多個處理元件之多個資料集及/或特徵。舉例而言,第一資料集係以虛線框602繪示,並且第二資料集係以虛線框604繪示。在第7圖中,對於第一資料集,可在字元線0(WL 0)處提供第一字元線起始指標,並且可在字元線M-1(WL M-1)處提供第一字元線終止指標。對於第二資料集,可在字元線M(WL M)處提供第二字元線起始指標,並且可在字元線K-1(WL K-1)處提供第二字元線終止指標。
為了選擇要發送至(多個)處理元件之其中一個資料集,可將字元線起始指標設定為資料集開始處之字元線,並且可將字元線終止指標設定為資 料集結束處之第二字元線。控制器可從字元線起始指標開始並且在字元線終止指標處結束,循序啟動字元線,以選擇性地將一個資料集從多個資料集發送至(多個)處理元件。
根據一實作態樣,可循序選擇字元線。再者,計數器或移位暫存器可當作字元線位址解碼器使用。一或多個處理元件可處理相同輸入資料,並且因此可共享I/O 108。
類別可與傳入資料之至少一部分相關聯。在一實施例中,ReRAM中之第一資料集與第一類別相關聯,並且ReRAM中之第二資料集與第二類別相關聯。為了例示性目的,第一類別與「動物」有關,並且第二類別與「樹」有關。根據這項實施例,當收到傳入資料時,提供識別與資料相關聯類別之指示(例如,資料係指定予兩種類別之一(例如:樹或動物))。基於指示符,處理元件擷取ReRAM中之第一資料集或第二資料集。對於與樹類別相關聯之資料,處理元件可擷取ReRAM中與樹相關聯之第二資料集以進行匹配。
此類分類亦可施用於第6圖之陣列,並且如果已知傳入資料之類型,則僅需要啟動具有該資料類別類型之處理元件(或處理引擎)。不需要啟動其它處理元件,因為已知那些其它處理元件將不進行匹配。因為不必啟動過多的處理元件,因此從而可節省電力。
因此,如果兩種類別互斥(諸如動物及樹之實施例),則只在分類為已知時才啟動這一或多個處理元件之子集。然而,如果二或更多種類別未互斥(例如,有一些重疊),則啟動所有處理元件。
再者,與不同類別相關之不同資料部分可置放在記憶體之不同部分中。在一實施例中,字元線0至字元線M-1(例如:第7圖中之WL 0至WL M-1) 可具有用於第一類別之特徵,並且字元線M至字元線K-1(例如:WL M至WL K-1)可具有用於第二類別之特徵。如果事先知道用於傳入資料(其可儲存在ReRAM陣列104中)之類別,則可利用與該類別相關聯之字元線,並且那些字元線可將資料推送至處理元件。因此,陣列中之特徵可有兩倍之多而不顯著增加陣列之尺寸。
然而,繼續以上實施例,如果事先不知道類別,或者兩類別集都應該予以利用(例如,不互斥),則可先處理第一集合,然後可處理第二集合。因此,邏輯中可包括兩倍特徵集而不使陣列之尺寸顯著改變,然而,處理速度可耗約兩倍時間。因此,憑藉相同引擎,可將資料與兩倍特徵集作比較。
根據一實作態樣,記憶體陣列600之ReRAM陣列104之尺寸可顯著小於類比電路系統102及讀取感測器106,並且如此,將字元線增加2或4倍將不會使記憶體陣列600之尺寸實質增大。增加字元線數量可增加ReRAM陣列104中可儲存之特徵數量。
本文中包括之圖解係針對數個記憶胞、記憶胞組件、或記憶體架構之間的交互作用作說明。應領會的是,此類圖解可包括那些記憶胞、其中載明之組件及架構、一些載明之記憶胞/組件/架構、或合適的替代或附加記憶胞/組件/架構。亦可將子組件實施為電連接至其它子組件,而不是被包含於一母架構內。此外,可將所揭示的某些具體實施例視情況合適而實施為其它所揭示具體實施例之(多個)部分。另外,注意到的是,可將一或多個所揭示過程組合成提供聚合功能的單一過程。舉例來說,編程過程可包含抹除過程,以有助於藉由單一過程來編程並抹除半導體胞元,或反之亦然。另外,應領會的是,多個胞元記憶體架構的各別列可成群抹除(例如:多列同時抹除)或個別抹除。此外,應 領會的是,特定列上的多個記憶體胞可成群(例如:將多個記憶體胞同時讀取/編程)或個別讀取或編程。所揭示架構之組件亦可與未在本文中具體說明但所屬技術領域中具有通常知識者已知、或明顯可藉由本文中所提供之上下文得知的一或多個其它組件交互作用。
第7圖根據本揭露之一具體實施例,繪示另一例示性運算記憶體架構700。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
如圖所示,ReRAM陣列104可包括用於處理元件之組態資訊。如圖所示,第一組態資訊(Config 1)對應於第一處理元件(PE 1);第二組態資訊(Config 2)對應於第二處理元件(PE 2);以及第N組態資訊(Config N)對應於第N處理元件(PE N)。注意到的是,處理元件不必相同。
可將組態資訊寫入至ReRAM陣列104。一接通電源或接通電源之後,便可將組態資訊平行載入到對應之處理元件。因此,在初始化期間,採用平行方式,可將Config 1載入到PE 1;可將Config 2載入到PE 2;以及可將Config N載入到PE N。各處理元件可具有其儲存在ReRAM中之唯一組態資訊,並在接通電源或初始化期間載入。根據一些實作態樣,資訊之平行載入可縮減接通電源時間或從待機喚醒,其可改善系統延遲並提升處理效率。
第8圖根據本揭露之一或多項具體實施例,繪示再一例示性記憶體陣列架構800。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。這項實施例類似於第2圖之運算記憶體架構100。然而,對於第9圖之運算記憶體架構800,可不利用處理元件,而改利用卷積加速器。
如圖所示,ReRAM陣列104中可包括一或多個內核(或特徵資 訊)。舉例而言,所示為第一內核(Kernel 1)、第二內核(Kernel 2)、到第N內核(Kernel N),其中N為整數。一或多個可編程卷積加速器(CA)可位於陣列(例如:ReRAM陣列104)頂部。舉例而言,所示為第一卷積加速器(CA 1)、第二卷積加速器(CA 2)、到第N卷積加速器(CA N),其中N為整數。
這一或多個可編程卷積加速器可連接至ReRAM陣列104之多條位元線之相應群組或集合。再者,這一或多個可編程卷積加速器可連接至資料介面108。如圖所示,這一或多個可編程卷積加速器可位於資料介面與ReRAM陣列104之間,並且可與ReRAM陣列104之多組位元線、及影像輸入802實體連接。
這一或多個可編程卷積加速器可在影像輸入802中之所儲存影像與其相應內核之間平行進行卷積,並且將結果儲存在濾波影像記憶體中。這一或多個可編程卷積加速器可組配成用來經由相應之位元線集合從ReRAM陣列104接收所儲存資料(內核),並且經由資料介面108從影像輸入記憶體802接收資料。再者,這一或多個可編程卷積加速器可使用其對應之內核對輸入資料(例如:影像輸入802)執行邏輯或數學演算法,並且將所產生之已處理資料儲存在其相應之輸出記憶體(例如:濾波影像記憶體)中。在卷積運算結束時,各該輸出記憶體可含有對應於公用輸入資料及其對應內核之已處理資料。
第9圖根據本揭露之一具體實施例,繪示例示性卷積加速器900。卷積加速器900舉例而言,可以是第9圖之CA 1、CA 2、到CA N。卷積加速器900可具有多個輸入,舉例如第一輸入902及第二輸入904。第一輸入902可組配成用來從ReRAM陣列接收資料,並且可包括儲存在ReRAM陣列(例如:第9圖之ReRAM陣列104)中之資料。第二輸入904可組配成用來接收資料。舉例而 言,第二輸入904可以是透過資料介面及/或一或多個輸入/輸出線(例如:第9圖之I/O 108)接收之記憶體或傳入資料。
在一實施例中,可將來自影像輸入緩衝器中之影像之像素輸入至卷積加速器。再者,卷積加速器可載入有其對應之內核。卷積加速器可對輸入像素及對應之內核進行卷積,可將結果儲存在對應影像濾波緩衝器之記憶體位置中。一經儲存結果或將結果儲存之後,便可將來自影像輸入緩衝器之下一組像素輸入(或呈現)至卷積加速器。該下一組像素可用內核進行卷積,並且儲存在對應濾波影像緩衝器中之另一位置中,直到整個輸入影像已處理並且濾波影像緩衝器可具有相同輸入影像之N組獨立濾波影像。濾波影像可用相同HPM(階層式平行性與階層式記憶體)或另一HPM中之其它內核集合來進一步濾波。根據一實作態樣,可將卷積之平行性用於加速神經網路運算。
第10圖根據本揭露之一具體實施例,繪示又另一例示性運算記憶體架構1000。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。如圖所示,ReRAM陣列104可包含可在接通電源序列期間使用之組態資訊。再者,ReRAM陣列104可包含可由處理元件用於經組配或在組配之後便進行卷積或型樣匹配之內核或特徵資訊。
如圖所示,第一內核(Kernel 1)可對應於Config 1及PE 1;第二內核(Kernel 2)可對應於Config 2及PE 2;並且第N內核(Kernel N)可對應於Config N及PE N。在電源接通或初始化期間,採用平行方式,可將Config 1載入到PE 1;可將Config 2載入到PE 2;以及可將Config N載入到PE N。此資訊之平行載入可縮減接通電源時間,其可提升處理效率。初始化之後,處理元件可使用儲存在ReRAM中之內核資料或特徵資料。
第11圖根據本揭露之一具體實施例,繪示再一例示性運算記憶體架構1100。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。運算記憶體架構1100包含為了通用性而組配之運算元件,使得可將運算記憶體架構1100用於不同應用。
如圖所示,ReRAM陣列104可包含組態資訊及內核。再者,ReRAM陣列104可包含繪示為第一特徵(Features 1)、第二特徵(Features 2)、到第N特徵(Features N)之各種特徵資料。再者,卷積加速器及處理元件可位於陣列(例如:ReRAM陣列104)頂部。
在一實施例中,可為了使用處理元件及/或卷積加速器而組配該裝置。再者,該裝置可組配成用來在處理元件及/或卷積加速器之間動態切換。當進行動態切換時,可將組態資料用於組配該裝置。之後,可將內核資料用於卷積加速器,並且可將特徵資料用於處理元件。因此,一或多個運算引擎(或一或多個元件)可在ReRAM陣列104中具有相應資料集,並且可為了該組態(例如:處理元件之使用、或卷積加速器之使用)適當地予以載入至引擎。
第12圖根據本揭露之一具體實施例,繪示一例示性運算記憶體架構1200,其說明諸處理元件之間的互通。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
運算記憶體架構1200之諸處理元件可在其之間進行通訊以選擇所包含資料與匹配準則最緊密匹配之處理元件。舉例而言,在處理元件將輸入資料與其相關聯特徵資料作比較之情況下,處理元件可彼此通訊以判定與輸入最緊密匹配之獲勝處理元件。來自獲勝處理元件之資訊為向主機報告之資訊。或者,主機從所有處理元件讀取結果,並且主機基於比較接收自所有處理元件 之所得資料來選擇待用資訊。
第13圖根據本揭露之一具體實施例,繪示以串聯方式串接之多個運算記憶體架構之一實施例。為求扼要,本文中所述其它具體實施例中運用之相似元件不予以重複說明。
如圖所示,第一運算記憶體架構1300可採用串聯方式置放有第二運算記憶體架構1304到第N運算記憶體架構1306。第14圖之所示運算記憶體架構舉例而言,可類似於第13圖之運算記憶體架構1200。
根據一實作態樣,採串聯方式將記憶體架構串接會使處理元件之數量增加。再者,處理元件之間用以選擇與資訊最緊密匹配之處理元件而進行之互通會使主機為了搜尋最佳匹配所需之處理能力降低。另外,當多個運算記憶體架構串接在一起時,會使處理能力降低更顯著,如第14圖所示。
例示性操作環境
為了替所揭示之專利標的之各項態樣提供背景,第15圖及以下說明用意在於以簡短、一般性的方式說明合適的環境,可在該環境中實施或處理所揭示專利標的之各項態樣。儘管以上已在半導體架構、及用於製作及操作此類架構之程序方法的一般性內容中說明本案之專利標的,但所屬技術領域中具有通常知識者仍將了解的是,本揭露亦可搭配其它架構或程序方法來實施。此外,所屬技術領域中具有通常知識者將了解揭示之程序可獨自或搭配主電腦用處理系統或電腦處理器來實踐,其可包括單處理器或多處理器電腦系統、迷你運算裝置、大型電腦、以及個人電腦、手持式運算裝置(例如:PDA、手機、手錶)、微處理器式或可編程消費性或工業用電子器件、及類似者。所示態樣亦可在分散式運算環境中實踐,其中任務係藉由透過通訊網路聯結的遠端處理裝 置來進行。然而,本案新發明之一些(若非全部)態樣可在單機型電子裝置上實踐,諸如記憶卡、快閃記憶體模組、可卸除記憶體(例如:CF卡、USB記憶條、SD卡、microSD卡)、或類似者。在分散式運算環境中,程式模組可置於本機及遠端記憶儲存模組或裝置中。
第15圖根據本揭露之態樣,為多庫記憶胞陣列之記憶體陣列1502繪示例示性操作與控制環境1500的方塊圖。在本揭露之至少一項態樣中,記憶體陣列1502可包含選自於各種記憶胞技術的記憶體。在至少一項具體實施例中,記憶體陣列1502可包含配置成緊密二維或三維架構之二端記憶體技術。合適的二端記憶體技術可包括電阻性切換記憶體、傳導橋接記憶體、相變記憶體、有機記憶體、磁阻式記憶體、或類似者,或前述合適的組合。在又另一具體實施例中,記憶體陣列1502可組配成用來根據如本文中提供之讀取操作來進行操作。
可相鄰於記憶體陣列1502形成行控制器1504及感測放大器1506。此外,可將行控制器1504組配成用來啟動(或為了啟動而識別)記憶體陣列1502之位元線子集。一旦對那些位元線施加合適的編程、抹除或讀取電壓後,行控制器1504便可利用一(多個)參考與控制信號產生器1218所提供之控制信號來啟動並操作位元線子集之相應者。未啟動位元線可保持處於抑制電壓(亦由(多個)參考與控制信號產生器1508來施加),用以緩和或避免這些未啟動位元線上之位元-干擾效應。
另外,操作與控制環境1500可包含列控制器1510。列控制器1510可在相鄰於記憶體陣列1502之字元線處形成並與之電連接。再者,利用(多個)參考與控制信號產生器1508之控制信號,列控制器1510可用合適的選擇電壓選 擇特定列之記憶胞。此外,列控制器1510可藉由在所選字元線處施加合適的電壓而有助於編程、抹除或讀取操作。
感測放大器1506可自記憶體陣列1502之已啟動記憶胞讀取資料或將資料寫入至記憶體陣列1502之已啟動記憶胞,該等已啟動記憶胞係藉由行控制器1504與列控制器1510來選擇。可將從記憶體陣列1502讀出之資料提供至輸入暨輸入/輸出緩衝器1512。同樣地,待寫入至記憶體陣列1502之資料可自輸入暨輸入/輸出緩衝器1512接收,並且寫入至記憶體陣列1502之已啟動記憶胞。
一(多)個時脈源1514可提供相應時脈而有助於列控制器1510及行控制器1504之讀取、寫入、以及編程操作之時序。(多個)時脈源1514可回應於操作與控制環境1500所接收之外部或內部命令,進一步有助於字元線或位元線之選擇。輸入暨輸入/輸出緩衝器1512可包含命令與位址輸入、以及雙向資料輸入與輸出。指令係透過該命令與位址輸入來提供,而待寫入至記憶體陣列1502之資料與讀取自記憶體陣列1502之資料係在該雙向資料輸入與輸出上輸送,有助於連接至外部主機設備,諸如:電腦或其它處理裝置(下面未圖示,但請參閱例如:第36圖之電腦3602)。
輸入暨輸入/輸出緩衝器1512可組配成用來接收寫入資料、接收抹除指令、接收狀態或維護指令、輸出讀出資料、輸出狀態資訊、及接收位址資料與命令資料,以及用於相應指令之位址資料。位址資料可藉由位址暫存器1516來轉移至列控制器1510及行控制器1504。另外,輸入資料係經由介於感測放大器1506與輸入暨輸入/輸出緩衝器1512之間的信號輸入線來傳送至記憶體陣列1502,而輸出資料係經由自感測放大器1506連至輸入暨輸入/輸出緩衝器 1512之信號輸出線從記憶體陣列1502接收。可自主機設備接收輸入資料,並且可經由I/O匯流排遞送輸出資料至主機設備。
可向命令介面1518提供接收自主機設備之命令。命令介面1518可組配成用來自主機設備接收外部控制信號,並且判斷送至輸入暨輸入/輸出緩衝器1512之資料輸入是否為寫入資料、命令、或位址。可將輸入命令轉移至狀態機1520。
狀態機1520可組配成用來管理記憶體陣列1502(及多庫記憶體陣列之其它記憶庫)之編程及再編程。向狀態機1520提供之指令係根據控制邏輯組態來實施,使狀態機1520能夠管理讀取、寫入、抹除、資料輸入、資料輸出、以及其它與記憶體陣列1502相關聯之功能。在一些態樣中,狀態機1520可發送及接收與各種命令的接收或執行成功與否有關之應答及否定應答。在進一步具體實施例中,狀態機1520可解碼並實施狀態相關命令、解碼並實施組態命令等等。
狀態機1520可控制(多個)時脈源1514或(多個)參考與控制信號產生器1508以實施讀取、寫入、抹除、輸入、輸出等功能。(多個)時脈源1514之控制可造成組配成用來有助於列控制器1510及行控制器1504實施特定功能之輸出脈衝。可將輸出脈衝轉移至例如行控制器1504之所選位元線、例如列控制器1510之所選字元線。
用於運算記憶體架構之例示方法
鑑於上述例示圖,參考流程圖將更加領會可根據所揭示專利標的來實施之程序方法。儘管是為了簡單闡釋之目的而以一連串程序塊展示並說明方法,但仍要了解並領會到的是,本案之專利標的不受限於程序塊之順序,因 為有一些程序塊可按照不同順序出現、及/或與其它在本文中所繪示並說明的程序塊同時出現。此外,並非需要所有繪示之程序塊才可實施本文所述之方法。另外,應進一步領會的是,本說明書全文所揭示之方法能夠在製品上儲存,而有助於輸送並轉移此類方法至電子裝置。製品一詞於使用時,用意在於含括可由任何電腦可讀裝置、搭配載體之裝置、或儲存媒體存取的電腦程式。
第16圖根據本文中提供之一或多項具體實施例,為非揮發性記憶體架構之操作繪示例示方法1600的流程圖。方法1600始於步驟1602,在非揮發性記憶體之可編程處理元件處,從電阻性隨機存取記憶體陣列接收所儲存資料、或經由資料介面從外接裝置接收外部資料。該電阻性隨機存取記憶體陣列可包含多組位元線及多條字元線。再者,可透過相應位元線集合接收所儲存資料。
在一些實作態樣中,從電阻性隨機存取記憶體陣列接收所儲存資料可包含從校正碼解碼器接收所儲存資料。校正碼解碼器可與可編程處理元件相關聯,該可編程處理元件可對所儲存資料中之錯誤位元進行識別及校正。另外或替代地,從電阻性隨機存取記憶體陣列接收所儲存資料可包含:藉由與電阻性隨機存取記憶體陣列相關聯之字元線起始指標及字元線終止指標,基於對資料子集之識別來接收所儲存資料之子集。
根據一些實作態樣,可編程處理元件係位於資料介面與電阻性隨機存取記憶體陣列之間,並且與電阻性隨機存取記憶體陣列之多組位元線實體連接。根據一些實作態樣,該等可編程處理元件之第一處理元件可與第一組該等位元線相關聯,並且該等可編程處理元件之第二處理元件可與第二組該等位元線相關聯。繼這種實作態樣,該第一組該等位元線中的位元線之第一數量可 與該第二組該等位元線中的該等位元線之第二數量相同。或者,該第一組該等位元線中的位元線之第一數量可與該第二組該等位元線中的該等位元線之第二數量不同。
於步驟1604,該方法可包括:藉由該等可編程處理元件,基於對該外部資料或該所儲存資料執行邏輯或數學演算法來產生已處理資料。該等可編程處理元件可平行或實質平行地進行該執行(例如,第一可編程處理元件進行其相應執行與第二可編程處理元件進行其相應執行可大約同時發生)。根據一實作態樣,產生已處理資料可包含藉由可編程處理元件來獨立地對外部資料或所儲存資料執行邏輯或數學演算法。
在一具體實施例中,方法1600可包含:從電阻性隨機存取記憶體陣列接收所儲存資料包含從連接至多組位元線之讀取感測放大器接收所儲存資料,其中讀取感測放大器從電阻性隨機存取記憶體陣列之記憶胞獲得所儲存資料。
在進一步具體實施例中,方法1600可包含:可編程處理元件係位於資料介面與電阻性隨機存取記憶體陣列之間,並且與電阻性隨機存取記憶體陣列之多組位元線實體連接。
在一具體實施例中,方法1600可包含:從電阻性隨機存取記憶體陣列接收所儲存資料,其包含從校正碼解碼器接收所儲存資料,其中校正碼解碼器與可編程處理元件相關聯,並且識別及校正所儲存資料中之錯誤位元。
在進一步具體實施例中,方法1600可包含:其中從電阻性隨機存取記憶體陣列接收所儲存資料包含藉由與電阻性隨機存取記憶體陣列相關聯之字元線起始指標及字元線終止指標,基於對資料子集之識別來接收所儲存資 料之子集。
在另一具體實施例中,方法1600可包含:其中產生已處理資料包含藉由可編程處理元件來獨立地對外部資料或所儲存資料執行邏輯或數學演算法。
例示性矩陣乘法具體實施例
現請參閱第17圖,所示為根據本揭露之一具體實施例,可用於矩陣乘法(例如:內積乘法)之例示性電路1700的示意圖。矩陣乘法(或矩陣乘積)是一種從兩個資料矩陣產生乘積資料矩陣之運算。內積(亦稱為純量積)是一種取用兩個等長數字序列並回傳單一數字之運算。實施矩陣乘法運算之電子電路可用非揮發性電阻性記憶體電路來部分地實施,本文中有所論述。所揭示電阻性記憶體電路之各項具體實施例提供具有低功耗、高處理速度、小晶片密度、及低製作成本之內積加速器。
為達論述之目的,第一資料矩陣係以編程到一組電阻性記憶體電路之資料位元序列來表示,並且第二資料矩陣係以連至電阻性記憶體電路之電氣輸入來表示。在各項具體實施例中,電氣輸入舉例來說,可包括以邏輯高輸入信號或邏輯低輸入信號表示之二進制輸入。在各項具體實施例中,二進制(電氣)輸入可藉由電流、電壓、電場、或其它合適的電氣輸入、或前述之適當組合來體現。
例示性電路1700可用於1 x 3矩陣對3×1矩陣乘法,其中各資料及濾波器具有二進制值(0或1)。因此,第一資料矩陣可包括被編程到一組電阻 性記憶體電路(亦稱為輸入資料)
Figure 107134397-A0202-12-0042-1
(例如:一組濾波器F)之資料位元,並且第 二資料矩陣可包括連至電阻性記憶體電路(亦稱為啟動資料位元)[D0D1D2](例如:一資料集)之電氣輸入。
例示性電路1700可包括位元線1702及多條字元線,該多條字元線係繪示為第一字元線1704、第二字元線1706、及第三字元線1708。位元線與多條字元線之交截處為相應之電阻性記憶體電路,係以虛圓表示。可將電阻性記憶體電路編程以儲存第一資料位元矩陣,亦稱為(多個)資料濾波器F。藉由在相應交截處施用合適的編程(或抹除)信號,可將這些電阻性記憶體電路再編程以儲存不同資料位元矩陣。下面將提供與組件電阻性記憶體電路(本文亦稱為濾波器、或濾波電路)有關之進一步細節。
如所述,濾波電路可用第一輸入矩陣之相應輸入資料位元來填充(或編程)。舉例而言,位元線1702與第一字元線1704交截處之第一濾波電路可用第一資料矩陣之第一輸入資料F0來編程。在二進制情況下,可從而將F0編程為0或1,但也可在本揭露之範疇內實施非二進制系統。位元線1702與第二字元線1706交截處之第二濾波電路可用第一資料矩陣之第二輸入資料F1來編程。再者,位元線1702與第三字元線1708交截處之第三濾波電路可用第一資料矩陣之第三輸入資料F2來編程。舉一特定實施例來說,藉由將F0編程為1、將F1編程為0、及將F2編程為1,可將資料矩陣:1 0 1編程至第17圖之濾波器。由於將輸入資料F0、F1、及F2編程到濾波器裡,故濾波器(內核)之值在進行後續編程操作對濾波器再編程之前不會改變(例如:維持靜態)。
字元線處之輸入電壓或電流可包括第二資料矩陣之相應啟動位元值。因此,第一字元線1704可接收第二資料矩陣之第一啟動資料D0。第二字元線1706可接收第二資料矩陣之第二啟動資料D1。再者,第三字元線1708可接收第二資料矩陣之第三啟動資料D2。舉另一特定實施例來說,為了輸入第二資料矩陣:0 0 1,D0上提供用於第一啟動資料之高信號,D1上提供用於第二啟動資料之低信號,並且D2上提供用於第三啟動資料之低信號。
可根據以下方程式將1 x 3對3×1矩陣乘法施用於例示性電路1700:
Figure 107134397-A0202-12-0043-2
為了說明各項態樣,被編程為值「1」之電阻性記憶體電路表示處於低電阻性狀態(LRS)之非揮發性電阻性記憶胞,並且被編程為值「0」之電阻性記憶體電路表示處於高電阻性狀態(HRS)之非揮發性電阻性記憶胞。為了第17圖所實施之1 x 3矩陣乘法,搭配產生矩陣乘法輸出,將讀取電壓VREAD施加至位元線1702。可將各濾波器F0、F1、F2處之相應電阻性記憶體電路組配成用來提供連至接地之低電阻路徑,如果被編程為輸入值「1」並且回應於啟動值「1」,則對位元線1702上之VREAD作出回應而產生單位電流。如果被編程為輸入值「0」或回應於啟動值「0」,則濾波器F0、F1、F2導致連至接地之高電阻路徑,位元線1702上不產生顯著電流。
舉一特定實施例來說,如果輸入資料之值為「0」或啟動資料之值為「0」,則在特定字元線上,位元線1702上由該特定字元線提供之電流之 貢獻為「0」。舉另一實施例來說,如果啟動資料D0之值為「0」並且輸入資料F0之值為「1」,則位元線1702上與第一字元線1704相關聯之電流值之貢獻為「0」。舉一附加實施例來說,如果啟動資料D0之值為「1」並且輸入資料F0之值為「0」,則位元線1702上與字元線1704相關聯之電流之貢獻同樣為「0」。在一進一步實施例中,如果啟動資料D0之值為「1」並且輸入資料F0之值為「1」,則位元線1702上與字元線1704相關聯之電流之貢獻為「1單位」,而且對於字元線1706及1708也類似如此。倘若多條字元線1704、1706、1708具有編程為「1」之輸入資料位元,並且接收啟動值「1」,則位元線1702上將測得單位電流之多個(加成性(additive))實例。因此,藉由施用方程式1,並且測量位元線1702上之電流,可獲得1×3矩陣與3×1之內積輸出。注意到的是,「0」電流為不對位元線顯著有貢獻之電流,並且從而不影響加成性電流。
第18圖根據本揭露之一具體實施例,繪示代表3 x 1矩陣與3 x 3矩陣乘法之例示性電路1800的示意圖。例示性電路1800包括三條位元線,所示為第一位元線1802、第二位元線1804、及第三位元線1806。例示性電路1800中還包括三條字元線,所示為第一字元線1808、第二字元線1810、及第三字元線1812。
對於3×1對3×3矩陣乘法,第一輸入資料矩陣可包括輸入資料 位元
Figure 107134397-A0202-12-0044-3
,並且第二資料矩陣可包括啟動資料位元[D0D1D2]。在這種情況 下,可將矩陣乘法表示為:
Figure 107134397-A0202-12-0045-4
類似於第17圖,濾波器F可用第一資料矩陣之相應輸入資料來編程。舉例而言,第一位元線1802與第一字元線1808交截處之第一濾波電路可用第一資料矩陣之第一輸入資料F0來編程。第一位元線1802與第二字元線1810交截處之第二濾波電路可用第一資料矩陣之第二輸入資料F1來編程。第一位元線1802與第三字元線1812交截處之第三濾波電路可用第一資料矩陣之第三輸入資料F2來編程。
按照類似方式,第二位元線1804與第一字元線1808交截處之第四濾波電路可用第一資料矩陣之第四輸入資料F3來編程。第二位元線1804與第二字元線1810交截處之第五濾波電路可用第一資料矩陣之第五輸入資料F4來編程。第二位元線1804與第三字元線1812交截處之第六濾波電路可用第一資料矩陣之第六輸入資料F5來編程。
再者,第三位元線1806與第一字元線1808交截處之第七濾波電路可用第一資料矩陣之第七輸入資料位元F6來編程。第三位元線1806與第二字元線1810交截處之第八濾波電路可用第一資料矩陣之第八輸入資料位元F7來編程。第三位元線1806與第三字元線1812交截處之第九濾波電路可用第一資料矩陣之第九輸入資料位元F8來編程。
由於將輸入資料位元F0、F1、F2、F3、F4、F5、F6、F7、及F8編程到濾波器之非揮發性電阻性記憶胞裡(例如,電阻性記憶體1816或第19B圖,下文有論述),所以F(內核)之值在進行後續編程操作(例如,將新輸入資料矩陣 編程到濾波器裡)前不會改變(例如:保持靜態)。因此,可將濾波器F編程,並且可變更資料D,然後可基於濾波器F之值及資料D之值來取得結果。
如所述,字元線與位元線之交截可包括相應之非揮發性電阻性記憶胞,可在記憶體陣列內採用不同方式連接該等非揮發性電阻性記憶胞。舉例而言,濾波電路1814之分解圖中繪示第三位元線1806與第三字元線1812交截處之圓圈區域。如圖所示,電阻性記憶體1816可連接至電晶體1818。在這項實施例中,啟動值D進入電晶體1818之閘極1820。因此,如果第九輸入資料F8為「1」(例如,電阻性記憶體1816處於低電阻狀態),並且第三啟動D2為「1」(電晶體1818啟動),則濾波器F8提供連至接地之低電阻路徑,並且回應於VREAD而在第三位元線1806上消耗(draw)單位電流。如果第九輸入資料F8為「0」(例如,電阻性記憶體1816處於高電阻狀態),雖然閘極1820處高且電晶體1818從而啟動,但通過電阻性記憶體1816之電流仍將可忽略(例如,如果有任何電流流經第三位元線1806,將會很小)。對於在位元線上有貢獻(例如:匯聚)之電流,相應之輸入資料位元及相應之啟動資料位元兩者都應該具有值「1」。因此,如果字元線上之所有啟動資料位元都具有值「1」,並且字元線上所有輸入資料都編程有值「1」,則將有三個單位電流對第三位元線1806上測量之電流有貢獻。因此,位元線之總和為流經位元線之三條電流路徑之組合(方程式1)。
第19A圖根據本揭露之一具體實施例,繪示包含電阻性記憶體之濾波電路1900之替代實作態樣。在這項具體實施例中,濾波電路1900包括實施為單一電阻器之電阻性記憶體1902,該單一電阻器具有連接至字元線D 1904之第一端、及連接至位元線1906之第二端。第19A圖之電阻性記憶體實作態樣在所用實體區域方面具有小尺寸,因為電路中僅包括單一二端電阻性記憶胞。 然而,第19A圖之例示性具體實施例可具有大量之電流洩漏,並從而在位元線1906上具有電流可變性,因為所有電阻器(其中位元線1906上部署多個濾波電路1900)一律處於選定狀態,並且即使「D」(字元線)之值為「1」,所有電阻器仍貢獻(匯聚)電流。應該選擇電阻器之值及其分布以校正位元線上總和之偵檢。
第19B圖根據本揭露之具體實施例,繪示包含電阻性記憶體1910之濾波電路1908之另一例示性替代具體實施例。濾波電路1908包括電阻性記憶體1910、第一NMOS電晶體X 1912、反相器1914、第二NMOS電晶體1916、及PMOS電晶體1918。第一NMOS電晶體X 1912處於「導通」或「斷開」,在路徑中沒有電阻器。在VBIAS為低的情況下,PMOS電晶體1918啟動,並且向反相器1914、PMOS電晶體1918及第二NMOS電晶體1916所共享之共用節點1920提供VCC。如果第二NMOS電晶體1916關閉(例如,D具有低輸入),或如果電阻性記憶體1910儲存「0」(例如,具有高電阻狀態),則共用節點1920與接地有效隔離,並且VCC出現在反相器1914之輸入處,其將低信號(例如:「0」)輸出至第一NMOS電晶體1912之閘極。在此狀況下,第一NMOS電晶體1912關閉,並且不提供連至接地之低電阻路徑,從而不在位元線1906上消耗顯著電流。反言之,如果D為高(啟動第二NMOS電晶體1916),並且電阻性記憶體1910儲存「1」(具有低電阻狀態),則共用節點1920連接至接地,從而反相器1914將高信號(例如:「1」)輸出至第一NMOS電晶體1912之閘極。在這種狀態下,第一NMOS電晶體1912啟動,提供連至接地之低電阻路徑,並且回應於VREAD,將在位元線1906上消耗電流。
在一替代實作態樣中,可移除反相器1914,從而電路將在內積為「0」時匯聚電流。第一NMOS 1912可在低電阻狀態及高電阻狀態下具有非常 高之一致性,實質上降低位元線1906上之單位電流的可變性,在單一位元線1906上實現準確且更大量之濾波電路1908而不會失去對諸適當內積輸出值作區分之能力。與本文所述之其它濾波電路相比,組件(例如:電晶體)數量更多之情況下,濾波電路1908在晶片上佔用更大面積。
如與第19A圖之濾波電路1900、及第19B圖之濾波電路1908相比,第18圖之濾波電路1814在尺寸方面處於中間(例如,一個二端非揮發性電阻性記憶胞、及一個電晶體)。再者,因為電晶體在D為「0」時斷開,所以第18圖之濾波電路1814在電流可變性方面處於中間。當D為「1」時,單一位元線1906上之電阻性記憶胞之間的可變性會影響位元線1906上所測電流之可變性,其進而會限制每條位元線1906之濾波電路1814的數量。
第19C至19H圖中所示為分壓器1922,其包含兩個電阻性切換記憶體元件,即第一或頂端電阻性切換記憶體元件、及第二或底端電阻性切換記憶體元件。還在該兩個電阻性切換記憶體元件之間包括共用節點1924。1926處繪示位元線,並且連接至各位元線1926之電晶體(例如:請參閱第19B圖之電晶體x 1912)可基於給定位元線1926所需之乘率來調整尺寸(例如,匹配位元線1926在矩陣乘法陣列中之位置)。
在第19C圖之實作態樣中,共用節點1924作用為連至電晶體元件1926之輸出。就這種實作態樣來說,第一電阻性切換記憶體元件為F,並且第二電阻性切換記憶體元件為F bar。因此,代表兩種狀態。第一狀態是由具有高電阻之F及具有低電阻之F bar所代表之狀況。在第一狀態中,施加Vcc並且在共用節點1924處有電壓(或可忽略之電壓)。因此,電壓未出現在電晶體元件1926之閘極處。第二狀態是由具有低電阻之F及具有高電阻之F bar所代表之狀 況。在第二狀態中,施加Vcc並且電壓將出現在共用節點1924處。因此,電壓出現在電晶體元件1926之閘極處。如圖所示,D係連接至電晶體元件1926之源極,用於實施第一電路(「1」)。
在第19D圖之電路中,頂端或第一電阻性切換記憶體元件為F bar,並且底端或第二電阻性切換記憶體元件為F。類似於第一電路,當第一電阻性切換記憶體元件(例如:F bar)具有高電阻、且第二第一電阻性切換記憶體元件(例如:F)具有低電阻時,共用節點1924處沒有(或有最小)電壓。然而,當第一電阻性切換記憶體元件具有低電阻且第二第一電阻性切換記憶體元件具有高電阻時,有電壓施加在共用節點1924處。在第二電路之具體實施例中,共用節點1924為電晶體元件1926之源極輸入,並且D控制電晶體元件1926之閘極。
第19E圖之電路包含分壓器1922及共用節點1924,其代表分壓器1922之輸出。這項具體實施例中還包括閂鎖器1928及閂鎖致能電晶體1930。將分壓器1922之輸出值載入至閂鎖器1928。接著,閂鎖致能電晶體1930關閉(例如:斷開),以使得可斷開Vcc。按照這種方式,分壓器1922因閂鎖器1928及閂鎖致能電晶體1930之操作而不需要持續供電。之後,第三電路如同第二電路般操作。因此,第二電路與第三電路之間的差異在於第三電路截留分壓器1922之輸出值,以使得Vcc可在分壓器1922處斷開。
對於第19F、19G及19H圖,選擇電晶體x1、x2及x4之電阻值,以在D0、D1及D2上實現所欲電流輸出。舉一項實施例來說,x4電晶體之電阻Rx4可以是x1電晶體之電阻Rx1的四倍,而x2電晶體之電阻Rx2可以是Rx1的兩倍。然而,這項實施例決非限制,並且取決於設計選擇,可提供電晶體x1、x2及x4之其它相對強度。第19F圖之電路為多位元版本,其類似於第19C圖之電路之 單位元版本操作。第19G圖之電路為多位元版本,其類似於第19D圖之電路之單位元版本操作。再者,第19H圖之電路為多位元版本,其類似於第19E圖之電路之單位元版本操作。
所示還有相應之編程/抹除輸入1932。在一實施例中,為了編程,可將編程輸入提供至分壓器1922之共用節點1924。根據一些實作態樣,可視需要搭配編程輸入將接地或Vcc變更為合適的編程或抹除電壓,以編程或抹除第一電阻性記憶體或第二電阻性記憶體。
第20圖根據本揭露之一具體實施例,繪示用於實施1x3對3x1矩陣乘法之例示性、非限制性電路2000。在這種實作態樣中,各濾波器F為四個位元(及四個濾波電路),並且各資料D為一個位元。提供電流放大器電路2010以建模更高階位元數(在用於這項實施例之二進制系統中,其中電流放大為2n,並且n為位元階(0階位元、1階位、2階位元、3階位元)。如所屬技術領域所理解,可修改電路2000以建模不同尺寸之矩陣、及不同數量之位元。因此,以下矩陣乘數適用。
Figure 107134397-A0202-12-0050-58
在前圖中,資料D為單位元,並且濾波器F為單位元。在第20圖之實作態樣中,資料D為一個位元,但濾波器F為四個位元。因此,F0=F0.3,F0.2,F0.1,F0.0,其中0.3、0.2、0.1、及0.0分別代表F0之三階、二階、一階、及零階位元。按照類似方式,F1=F1.3,F1.2,F1.1,F1.0且F2=F2.3,F2.2,F2.1,F2.0
所示為四條位元線,即第一位元線2002、第二位元線2004、第 三位元線2006、及第四位元線2008。第一位元線2002可包括最低有效位元(LSB)或位元0(例如:F0.0、F1.0、及F2.0)。第二位元線2004可包括第二LSB或位元1(例如:F0.1、F1.1、及F2.1)。第三位元線2004可包括第二最高有效位元(MSB)或位元2(例如:F0.2、F1.2、及F2.2)。再者,第四位元線2008可包括MSB或位元3(F0.3、F1.3、及F2.3)。
回應於啟動位元值D0、D1、及D2為字元線1820上之輸入,將第一位元線2002上消耗之電流提供至求和電路2012以取得LSB值(例如:乘數為1)。要注意的是,第20圖中電路2000之輸出為求和電路2012之輸出。將第二位元線2004上對啟動位元值之輸入作出回應之電流提供至x2電流倍增電路(例如:x2電流鏡、或類似者)以仿真第二LSB之相對值。因此,x2倍增電路將位元線2004上之電流乘以因子二,以取得第二LSB值。亦將第二LSB提供至求和電路2012。類似的是,將第三位元線2006上之電流提供至x4電流倍增電路,於求和電路2012處接收其輸出(第二MSB值),並且將第四位元線2008上之電流輸入至x8電流倍增電路(仿真三階二進制位元),其將MSB輸出至求和電路2012。2010處繪示例示性電流鏡X8的分解圖,但仍可利用其它合適的電流倍增電路作為替代方案。再者,根據一些實作態樣(舉一實施例來說,例如:2n條位元線及每個位元階之濾波電路,先將其預求和,再於求和電路2012處接收),可利用另一位元階乘數推導方式,而不是利用電路倍增器。
LSB、第二LSB(x2電流倍增電路之輸出)、第二MSB(x4電流倍增電路之輸出)、及MSB(x8電流倍增電路之輸出)藉由求和電路2012相加求和,以推導方程式19之矩陣之內積結果,見上文。然而,注意到的是,可利用其它合適的加法器(例如:數位加法器、類比加法器等),並且為了例示性目的僅繪示 2012處之加法器。
第21圖根據本揭露之一具體實施例,繪示用於實施矩陣乘法之另一例示性、非限制性電路2100。在這種實作態樣中,矩陣乘法為1×3(D)對3×1(F)矩陣乘法,其中F為4位元寬並且D為M位元寬,其可包括任何位元數量(例如:8個位元、16個位元、32個位元等等)。
如圖所示,電路2100可類似於第20圖之電路2000。相應輸入濾波器位元F可包括四個位元,例如表示為F2=F2.3,F2.2,F2.1,F2.0。按照類似方式,F1=F1.3,F1.2,F1.1,F1.0且F0=F0.3,F0.2,F0.1,F0.0。可將輸入資料位元表示為D0=D0.M-1,D0.M-2,……,D0.1,D0.0。因此,以下矩陣乘數適用:
Figure 107134397-A0202-12-0052-6
在第21圖所示之實施例中,資料D包含8個位元(例如:這項實施例中M等於8)。在實施期間,於各時脈週期,各位元線接收D個位元。因此,在第一時脈週期(時脈1)期間,位元線2002、2004、2006、及2008上之濾波電路同時接收DX.0位元。將來自濾波電路之諸相應位元線電流輸出相乘(分別為x8、x4、x2、x1)以仿真相應位元階,然後在求和電路2102處求和。求和電路2102之輸出係在類比數位轉換器(ADC)2104處轉換成數位形式,並且在第一時脈週期內儲存於MAC 2106中。因此,用於DX.0位元之整個4位元濾波電路同時啟動,為第一時脈週期之所有4個F位元產生第一D位元(DX.0)之內積輸出。
在第二時脈週期(時脈2)內,將DX.1位元輸入至所有位元線,並且所有位元線將其電流輸出至乘法器並相乘(分別為x8、x4、x2、x1)以仿真其相 應位元階。然後,這些值在求和電路2102處求和,並且在ADC 2104處轉換成數位形式。再次地採同時方式進行,以便在第二時脈週期為第二D位元(再次地為所有4個F位元)產生第二內積輸出。MAC 2106可將ADC 2104之輸出乘以二(x2),並且可將結果加到先前儲存之值。
在隨後之時脈週期重複此過程,直到第M-1個D位元之M個時脈週期。累加器MAC 2106(例如,透過乘法累加(MAC)運算)將4個F位元計算之結果乘以(2** Clock_Cycle-1),並且於各時脈週期結束時將其加到先前儲存在MAC 2106中之值。因此,在M個時脈週期結束時,MAC 2106已將M位元×4位元內積之整個結果相加。注意到的是,實施乘法運算前,先將累加器2106設定為零。
第22圖根據本揭露之一具體實施例,繪示可用於矩陣乘法之另一電路2200之另一例示性、非限制性實施例。矩陣乘法在這項實施例中為1x3至3x1,並且濾波器F包含四個位元;資料D包含三個位元(例如,如果接續第21圖中提供之實施例,則M=3,見上文)。第22圖之實施例繪示例示性矩陣乘法,將單獨硬體電路用於各D位元,而不是以一次一個位元的方式將資料移位到單一此類硬體電路,共移位M次,並且用MAC 2106將結果相乘及相加,如參照第21圖之電路2100所述者。
如圖所示,電路2200包含第21圖之電路2100,計重複三次(各資料D位元一次),係繪示為第一矩陣乘法電路2202、第二矩陣乘法電路2204、及第三矩陣乘法電路2206。因此,根據第22圖之實作態樣利用三組濾波電路(或舉例而言,M組濾波電路,其中D包含另一數字M),而不是在不同時脈週期將後續D位元輸入到同組濾波電路中,如參照第21圖所述者。第一電路2202、第 二電路2204、及第三電路2206之操作類似於第21圖之電路500。這種實作態樣可利用以下方程式。
Figure 107134397-A0202-12-0054-7
更高階F位元的仿真係藉由以上參照電路2100所述之x2、x4、x8乘法器來實現,見上文。同樣地,藉由乘以第一電路2202之輸出x1(D位元之LSB)、乘以第二電路2204之輸出×2(D位元之第二LSB)、乘以第三電路2206之輸出×4(D位元之MSB)來為D位元實現位元階之仿真。以另種方式陳述,可將第一電路2202之輸出施加於沒有乘法器之求和電路2208處,以為D位元取得LSB值(例如:乘數為1)。將LSB值提供至求和電路2208。可將第二電路2204之第二輸出提供至x2電流倍增電路,以為D位元取得第二LSB值。將第二LSB值提供至求和電路2208。再者,可將第三電路2206之第三輸出提供至x4電流倍增電路,以為D位元取得MSB值。亦將MSB值提供至求和電路2208。重申一下,乘法器(例如:x1、x2、x4)可基於與相應矩陣乘法電路2202、2204、2206相關聯之D位元之相應位元階來判定。第一電路2202與零階D位元相關聯,第二濾波器或第二電路2204與一階D位元相關聯,而第三濾波器或第三電路2206與二階D位元相關聯。如圖所示,該等運算可採用類比方式來進行,然後可藉由ADC 2210轉換成數位。
第23圖根據本揭露之一具體實施例,繪示用於矩陣乘法之另一例示性、非限制性電路。在這種實作態樣中,啟動資料D包含三個位元,並且輸入資料F包含四個位元。第23圖左側之示意圖2300繪示與前述圖式(例如: 第22圖,見上文)類似之位元線布局及濾波電路方位。相比之下,示意圖2300為為各D位元提供單獨之輸入字元線,並且提供不同濾波電路2304,以同時地接收多個字元線輸入及仿真更高階D位元。濾波電路2304係以濾波電路2302之局部截圖予以更詳細地繪示。注意到的是,電路2302為第19B圖中之電路1908之擴充。
右側之濾波電路2302繪示示意性布局2300之虛線橢圓中所示電路2304的分解圖。如濾波電路2302所示,三條字元線D1.0、D1.1、及D1.2將輸入提供至濾波電路2302。對於其它具體實施例,可修改濾波電路2302以順應更大量的D位元及更大量的字元線。再者,可將濾波電路2302編程到單一電阻性切換記憶體裝置2312裡,其代表該等F位元其中一相關聯者之值(例如,在濾波電路2302之情況下為F位元F1.0)。按照類似方式,濾波電路2302之另一迭代(其中相應F位元之適當值係編程至電阻性切換記憶體裝置)係為了D1.x而設於各位元線與字元線之截面處,並且同樣地,為了D0.x及D2.x而設於各位元線與字元線之截面處,如示意性布局2300所示。
請繼續參閱濾波電路2302,電阻性切換記憶體裝置之值結合D1.0、D1.1、及D1.2之值係組配成用來將電晶體2306、2308、2310「導通」或「斷開」。請注意,電晶體2306、2308及2310分別具有x1、x2、x4標示,暗示其在啟動時之相對電導,並從而暗示作用時從位元線2314消耗之相對電流。更明確地,對於這項實施例,可將電晶體2310選定為在作用時具有電晶體2306之電導之大約4倍,並且可將電晶體2308選定為在作用時具有電晶體2306之電導之大約2倍。此相對電流倍增效應可仿真D位元之更高階(例如,接收x1相對電流倍增之零階D位元、接收2x相對電流倍增之一階D位元,以此類推)。各電晶 體2306、2308、2310處之操作類似於第3B圖之電路308之操作,其中將各字元線D1.0、D1.1、及D1.2輸入至相應電路,並且除非將兩電阻性切換記憶體裝置2312都編程為低電阻狀態且其相關聯之D位元字元線(例如:D1.0)「1」、或高值,否則給定之電晶體(例如:電晶體2306)關閉。將電阻性切換記憶體裝置2312抹除至高電阻狀態時,電路2302將不向位元線2314貢獻實質電流。
為了說明此操作,如果電阻性切換記憶體裝置2312儲存「0」(例如,處於高電阻狀態),則Vcc出現在相應反相器之輸入處,該等相應反相器輸出相應低信號(例如,「0」至NMOS電晶體之相應閘極)。在此狀況下,NMOS電晶體關閉,並且不提供連至接地之低電阻路徑,從而不在位元線2314上消耗顯著電流。
反言之,如果電阻性切換記憶體2306儲存「1」(例如,處於低電阻狀態),則相應之D位元輸入將判斷電晶體2306、2308、2310之任何給定閘極處之Vcc是否拉至接地。如果D位元D1.0具有例如為「1」之輸入資料位元,則電晶體2306之閘極處之Vcc接地,並且將低信號輸入至位於電晶體2306之閘極處之反相器。此類反相器將高信號(例如:「1」)輸出至NMOS電晶體2306之閘極。在這種狀態下,NMOS電晶體啟動,提供連至接地之低電阻路徑,並且將在位元線上消耗對應之電流。對於電晶體2308及2310、以及其相應之D位元輸入D1.1及D1.2,此操作類似。所具啟動資料位元為「0」之字元線將不會對位元線上消耗之電流有貢獻。
第24圖根據本揭露之一具體實施例,為卷積算術繪示用於內積加速器(DPA)之例示性、非限制性電路2400。這種實作態樣中有3×3資料矩陣(D0、D1、...D8)及3x3內核(F0、F1、...F8)。再者,資料及內核為單位元(例如: 1位元資料、1位元內核)。可利用以下方程式:
Figure 107134397-A0202-12-0057-8
在這種實作態樣中,將內核疊置在資料上方,如電路2400中所示。因此,將濾波器置於資料頂部,並且將資料位元及濾波器位元之結果輸入到求和電路以取得結果。根據一些實作態樣,卷積不必為3×3矩陣;反而,可利用任何數字(例如:5×5矩陣、7×7矩陣等等)。
進一步詳言之,所有D值都可予以同時輸入,並且藉由相應之F濾波電路來作用,以在位元線與字元線之截面處判定電路2402對位元線上電流之貢獻。如果Dx為「1」並且其相應之電阻性切換記憶體裝置儲存「1」(例如,其處於低電阻狀態),則各電路2402向位元線貢獻電流。因此,來自電路2402之諸電流將在位元線上同時相加,並且可單次測量總和。
第25圖根據本揭露之一具體實施例,繪示卷積加速器2500之例示性、替代具體實施例。不乘以電流以仿真更高階F位元,而是在給定位元線上提供有重複之字元線集合,各字元線具有可在位元線上消耗電流之濾波電路。第25圖有助於電流倍增,其利用附加硬體仿真更高位元階,而不是利用電流倍增電路(例如:電流鏡)來仿真。最低有效位元線2502具有單一組字元線及濾波電路,第二最低有效位元線具有兩組字元線及濾波電路,第三最低有效位元線具有三組字元線及濾波電路,以此類推,直到具有Y組字元線及濾波電路之最高有效位元線,Y為卷積加速器2500中之位元線數量(以及濾波器位元、或F位元之數量)。
對於具有Y位元濾波器之n×n矩陣,矩陣乘法係藉由等於濾波器尺寸之位元線數量(行數)、或Y、及等於n2*2Y-1之列數N來建模。注意到的是,灰色圓圈代表對矩陣乘法沒有影響之電路,例如因為那些位元線-字元線交截處不存在濾波電路,或因為那些濾波電路之電阻性切換記憶體裝置全都遭抹除(例如,處於高電阻狀態),並且不對位元線2502、2504、2506、2508上之電流有可測量貢獻。
卷積加速器2500之陣列維度(字元線及位元線之數量)係由矩陣尺寸n及濾波器Y中之位元數來判定。行數等於位元濾波器尺寸Y,並且列數係藉由方程式n2*2Y-1來給定。在一實施例中,5 x 5矩陣及6位元濾波器可導致800 x 6之陣列尺寸,其係由下列推導出:n2 * 2Y-1=52 * 26-1=52 * 25=25 * 32=800
在另一實施例中,對於矩陣3 x 3及8位元濾波器,陣列尺寸為1152 x 8,其推導如下:n2 * 2Y-1=32 * 28-1=32 * 27=9 * 128=1152
資料位元連串地移位,每個資料位元迭代一次。再者,MAC可 將資料乘以2 **(迭代-1),並且可將資料累加。在一替代實作態樣中,卷積加速器之附加陣列各接收一次迭代之D位元,並且可對結果求和。
對於第25圖之實作態樣,以下方程式代表藉由卷積加速器2500來實施之矩陣乘法。
Figure 107134397-A0202-12-0059-9
第26圖根據本揭露之一具體實施例,繪示另一例示性、非限制性矩陣卷積2600。這種實作態樣利用多位元濾波器及多位元內核。輸入資料位元F包含K個位元,並且啟動資料位元包含L個位元,其中K與L為整數。根據一些實作態樣,K與L為同值。然而,根據一些實作態樣,K與L為不同值。
如圖所示,有K條位元線,即第一位元線2602、第二位元線2604、直至第K-2位元線2606、第K-1位元線2608、及第K位元線2610。第一位元線2602可包括LSB或零階位元:位元0。第二位元線2604可包括第二LSB或一階位元:位元1。第K-2位元線2606可包括第三最高有效位元(第三MSB)或位元K-2。第四位元線2608可包括第二MSB或K02。再者,第五位元線2610可包括MSB或位元K-1。
回應於啟動位元值為字元線上之輸入,將第一位元線2602上消耗之電流提供至求和電路2612,以為K位元濾波器取得LSB值(例如:乘數為1)。將第二位元線2604上對啟動位元值之輸入作出回應之電流提供至x2電流倍增電路(例如:x2電流鏡、或類似者)以仿真第二LSB之相對值。因此,x2倍增 電路將位元線2604上之電流乘以因子二,以取得第二LSB。亦將第三MSB提供至求和電路2612。按照類似方式,將K-2位元線2606上之電流提供至x2i電流倍增電路,其輸出係接收於求和電路處(例如:第三MSB值),其中「i」為佔位整數,並且其值係基於與該倍增器電路之位元線相關聯之位元線號來判定(例如,對於第三MSB為k減3)。對於K-2位元線2606,電流倍增電路將為x2K-3乘法器。類似的是,將第二MSB位元線2608上之電流提供至x2i電流倍增電路,其輸出係接收於求和電路處(例如:第二MSB值),其中在這種情況下,電流乘法電路將是x2K-2乘法器。最後,將K位元線2610上之電流提供至x2K-1電流倍增電路,其輸出係接收於求和電路2612處(例如:MSB值)。
右邊(其為濾波電路F1.0的分解圖)之濾波電路2614包括電晶體x1、x2、到x2L-1,具有為更高階D位元提供電流倍增之相對電導值(啟動時)。對於第26圖之矩陣卷積2600,以下方程式代表藉由所示電路來實施之矩陣乘法。
Figure 107134397-A0202-12-0060-10
第27圖根據本揭露之一具體實施例,為多個電阻性切換記憶體裝置之導通/斷開電阻值,繪示值及分布的例示性、非限制性圖表2700。水平軸2702上繪示電阻,並且在垂直軸2704上繪示計數(此類記憶體裝置之數量)。在水平軸2702上,低(導通)電阻狀態位在左邊,而高(斷開)電阻狀態位在右邊。各狀態包含一系列電阻值,可就此將記憶體裝置分類為處於該狀態。
胞元之電阻及其在各狀態下之分布可以是第18圖中之1814、或 第19A圖中之電路1900之電路設計中之一個因子。在寫入/ReRAM更新不常發生之讀取密集型應用中,可將ReRAM寫入演算法(編程及抹除)最佳化以分別使「導通」及「斷開」電阻達到最大、以及使「導通」及「斷開」狀態之電阻分布縮窄。再者,寬型分布會負面影響運算,尤其是處於「斷開」狀態之寬型分布。
在第27圖所示電阻性切換記憶體電路(例如:1,000個ReRAM)之樣本中,低電阻狀態之實際電阻值對於樣本電阻性切換記憶體電路具有第一分布,並且對於高電阻狀態,那些樣本電阻性切換記憶體電路有第二實際電阻分布。在理想情況下,那些分布應儘可能緊密。
如本文中所述,濾波器中編程之資料位元可能未經常改變,並且運算階段期間不進行編程。如本文中所述,可施用不同寫入演算法來使ReRAM之導通/斷開狀態分布、以及比率達到最大。
第28圖根據本揭露之一具體實施例,繪示多階電阻ReRAM之例示性、非限制性圖表2800。可將多位元ReRAM用於在矩陣乘法中建模多個濾波器位元,這可有效減少陣列中之行數(位元線數量)、及與位元線相關聯之電路數量。
單一多階ReRAM可儲存之位元越多,可用單一濾波電路建模之濾波器位元便越多。第29圖根據本揭露之一具體實施例,為利用4狀態(2位元)多階電阻(MLR)ReRAM之1x3對3x1矩陣乘法繪示例示性電路2900。對於此矩陣乘法,各濾波器F為4個位元,並且啟動資料位元D為1個位元。2位元MLC提供具有四種狀態之電阻性切換記憶體電路。具有2位元MLC濾波電路之各位元線可代表兩個4位元F位元。因此,兩個此類位元線(如圖所示,第二位元線 接收x4乘法)可建模4位元濾波器。因此,以下方程式可代表藉由電路2900來實施之矩陣乘法:
Figure 107134397-A0202-12-0062-11
MLC之電阻狀態可選擇成具有與濾波器Fx之值匹配之比例電阻值。在由電路2900給定之實施例中,MLC濾波電路可具有ReRAM,其具有代表最低電阻狀態之電阻狀態0、代表最高電阻狀態之電阻狀態3、以及所代表電阻狀態介於狀態0與3之間的電阻狀態1及2,其中狀態1具有比狀態2更低之電阻。如所述,可將MLC電阻性記憶體裝置用於減少位元線數量,以為矩陣乘法縮小陣列尺寸,並且省電。
第30圖根據本揭露之一具體實施例,繪示帶正負號矩陣乘法3000之例示性、非限制性實施,合併正及負位元值作為一實施例。在一具體實施例中,各F位元由兩條位元線表示,即用於該F位元之正位元線及負位元線,各位元線自有其濾波電路。將具有正值之F位元編程到正位元線上之濾波電路裡(負位元線濾波電路維持遭抹除),並且將具有負值之F位元編程到負位元線裡(正位元線濾波電路維持遭抹除)。舉一明確非限制性實施例來說,對於F位元值「0」,不將任何值編程至正位元線濾波電路或負位元線濾波電路(例如,兩濾波電路都遭抹除)。如果F位元值為「1」,則將正位元線編程。如果結果為「-1」,則將負位元線編程。當濾波電路處收到啟動資料時,正位元線包括所有正電流之總和,而負位元線包括負電流之總和。在這種情況下,從正位元線減去負位元線以推導給定F位元之結果。對於這種實作態樣,在矩陣乘法3000之例示性 電路中實施以下方程式:
Figure 107134397-A0202-12-0063-12
Figure 107134397-A0202-12-0063-13
啟動位元D為[111],而輸入濾波器位元則為[-1 0 1]。D位元與F位元兩者都是單位元數(僅限零階位元)。請注意,右下圖繪示正位元線及負位元線編程以實現[-1 0 1]輸入濾波器位元矩陣。
第31圖根據本揭露之一具體實施例,繪示用於在多條位元線上感測及減去電流之例示性、非限制性電路3100。減去來自位元線之電流(例如,從正位元線之電流中減去來自負位元線之電流)。結果可為正或負。
根據一些實作態樣,可加入IREF以取得正結果。可設計用於產生IREF之電路系統以使IREF+I2-I1之結果為正。因此,任何後級電路系統僅必須處理一個方向之電流。所以IREF>max(I2,I1)達數uA。
第32圖根據本揭露之一具體實施例,繪示用於帶正負號矩陣乘法之例示性、非限制性替代電路3200。F1的分解圖係藉由正濾波電路3202及負濾波電路3204來繪示。該(等)正濾波器將貢獻(例如:匯聚)電流(順向加到位元線上之電流);負濾波器將逆向源收(source)電流(順向從位元線上之電流減去)。結果是正與負電流在位元線中累積。按照慣例,如果位元線上貢獻電流,則結果為正。然而,如果位元線上源收電流,則結果為負。
第33圖根據本揭露之一具體實施例,為帶正負號矩陣乘法繪示 一替代具體實施例之例示性、非限制性電路3300。濾波電路F1的分解圖係藉由正濾波電路3302及負濾波電路3304來繪示。正濾波電路3302將貢獻電流;負濾波電路3304將源收該電流。結果是電流在位元線中累積。
第34圖根據本揭露之一具體實施例,繪示用於1x2帶正負號矩陣內積之例示性、非限制性電路3400。對於這種實作態樣,濾波器F為4個位元,並且資料D為3個位元。
當使用帶正負號算術時,MSB包括正負號。舉例而言,0xA4(-92)等於0x80(-128)+0x24(36)。負元素乘法之電流貢獻係用來當作對電流之貢獻者。濾波器之MSB與資料之MSB相乘係用來當作來源,因為其為兩個負數之乘積。因此,以下關係適用:(非MSB) x (非MSB)->來源
MSB x MSB->來源
(非MSB) x MSB->匯點
MSB x (非MSB)->匯點
本文中包括之圖解係參照數個記憶胞、記憶胞組件、或記憶體架構之間的交互作用作說明。應領會的是,此類圖解可包括那些記憶胞、其中載明之組件及架構、一些載明之記憶胞/組件/架構、或合適的替代或附加記憶胞/組件/架構。亦可將子組件實施為電連接至其它子組件,而不是包括於上層架構內。此外,可將所揭示具體實施例其中一些視情況實施為其它所揭示具體實施例之(多個)部分。另外,注意到的是,可將一或多個所揭示過程組合成提供聚合功能的單一過程。舉例來說,編程過程可包含有助於藉由單一過程編程並抹除半導體胞元之抹除過程,或反之亦然。另外,應領會的是,多個胞元記憶體架 構的各別列可成群抹除(例如:多列同時抹除)或個別抹除。此外,應領會的是,特定列上的多個記憶體胞可予以成群或個別讀取或編程(例如:將多個記憶體胞同時讀取/編程)。所揭示架構之組件亦可與未在本文中具體說明但所屬技術領域中具有通常知識者已知、或藉由本文中所提供之上下文證實的一或多個其它組件交互作用。
用於電阻性隨機存取記憶體矩陣乘法結構之例示方法
第35圖根據本揭露之一具體實施例,為電阻性隨機存取記憶體矩陣乘法結構之操作繪示例示方法3500的流程圖。於步驟3502,一組電阻性切換記憶體電路可編程有對應於第一資料矩陣之相應位元值。該組電阻性切換記憶體電路可位於位元線與一組字元線之間的相應交截處。舉例而言,電阻性切換記憶體電路可位於位元線上。於3504,可將一組電流輸入到該組字元線之字元線上。該組電流可代表第二資料矩陣。
於步驟3506,基於第二資料矩陣之輸入、及電阻性切換記憶胞對第一資料矩陣之編程,可有助於位元線上輸出之產生。在一實作態樣中,有助於輸出之產生可包含有助於第一資料矩陣與第二資料矩陣之內積乘法結果之輸出。根據另一實作態樣,有助於輸出之產生可包含基於施加至該組字元線之第二資料矩陣為第一資料矩陣取得不同內積結果。
在一實施例中,該組電阻性切換記憶體電路可包含電阻性切換記憶胞。編程至該組電阻性切換記憶體電路之第一資料矩陣可以是二維矩陣。在一實施例中,第一資料矩陣可以是資料濾波器。
根據一些實作態樣,有助於輸出之產生可包含有助於將電阻性切換記憶體電路設定為第一資料矩陣之第一編程操作。再者,對於這種實作態樣, 第一資料矩陣之第一組多個內積結果可基於第一編程操作來取得。
在一些實作態樣中,方法3500可包含在該組字元線上輸入第二資料矩陣序列。再者,對於這些實作態樣,方法3500可包含基於輸入第二資料矩陣序列來取得第二資料矩陣之第二組多個內積結果。
在一具體實施例中,方法3500可包含有助於第一資料矩陣與第二資料矩陣之內積乘法結果之輸出。
在另一具體實施例中,方法3500可包含其中有助於輸出之產生包含基於施加至該組字元線之第二資料矩陣而為第一資料矩陣取得不同內積結果。
在其它具體實施例中,方法3500可包含電阻性切換記憶體電路位於位元線上。在一附加具體實施例中,方法3500可包含被編程到該組電阻性切換記憶體電路之第一資料矩陣為二維矩陣。在又其它具體實施例中,方法3500可包含第一資料矩陣為資料濾波器。
在又其它具體實施例中,方法3500可包含其中有助於輸出之產生包含:有助於第一編程操作,將電阻性切換記憶體電路設定為第一資料矩陣;以及基於第一編程操作來取得第一資料矩陣之第一組多個內積結果。
在一附加具體實施例中,方法3500可包含在該組字元線上輸入第二資料矩陣序列;以及基於輸入第二資料矩陣序列來取得第二資料矩陣之第二組多個內積結果。
可用一或多個所揭示具體實施例來操作之例示性運算環境
請參閱第36圖,用於實施本案專利標的各項態樣的合適環境3600包括電腦3602。電腦3602包括處理單元3604、系統記憶體3606、編解碼 器3607、以及系統匯流排3610。系統匯流排3610將包括但不侷限於系統記憶體3606的系統組件耦接至處理單元3604。處理單元3604可為各種可用處理器之任一者。雙微處理器及其它多處理器架構亦可作為處理單元3604運用。
系統匯流排3610可為數種匯流排結構之任一者,包括記憶體匯流排或記憶體控制器、週邊匯流排或外部匯流排、及/或使用下列任意各種可用匯流排架構之區域匯流排:包括但不侷限於工業標準架構(ISA)、微通道架構(MSA)、擴充型工業標準架構(EISA)、智慧電子驅動器(IDE)、VESA區域匯流排(VLB)、週邊組件互連(PCI)、卡片匯流排、通用序列匯流排(USB)、加速圖形埠(AGP)、個人電腦記憶卡國際協會匯流排(PCMCIA)、火線(IEEE 1394)、以及小型電腦系統介面(SCSI)。
系統記憶體3606包括揮發性記憶體3612及非揮發性記憶體3614。非揮發性記憶體3614中儲存基本輸入輸出系統(BIOS),其含有用以在例如在起動期間於電腦3602內元件間移送資訊之基本常駐程式。另外,根據本技術革新,編解碼器3607可包括編碼器或解碼器之至少一者,其中編碼器或解碼器之該至少一者可由硬體、軟體、或硬體與軟體之組合所組成。雖然編解碼器3607是繪示成單獨組件,但非揮發性記憶體3614內仍可含有編解碼器3607。舉例來說(而非限制),非揮發性記憶體3614可包括唯讀記憶體(ROM)、可編程ROM(PROM)、電氣可編程ROM(EPROM)、電氣可抹除可編程ROM(EEPROM)、或快閃記憶體。揮發性記憶體3612包括作用為外部快取記憶體之隨機存取記憶體(RAM)。根據本態樣,揮發性記憶體可儲存寫入操作重試邏輯(未示於第36圖)及類似者。舉例來說(而非限制),RAM可呈許多種形式,例如:靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、同步DRAM(SDRAM)、雙 倍資料速率SDRAM(DDR SDRAM)、以及增強型SDRAM(ESDRAM)。
電腦3602亦可包括可卸除/非可卸除、揮發性/非揮發性電腦儲存媒體。舉例而言,第36圖說明碟片儲存裝置3616。碟片儲存裝置3616包括但不限於下列的裝置,像是:磁碟機、固態硬碟(SSD)軟式磁碟機、磁帶機、Jaz磁碟驅動機、壓縮磁碟、LS-100驅動機、快閃記憶卡、或記憶條。另外,碟片儲存裝置3616可包括單獨或與其它儲存媒體組合的儲存媒體,包括不受限於光碟機,例如:光碟ROM裝置(CD-ROM)、CD可記錄驅動機(CD-R Drive)、CD可寫入驅動機(CD-RW Drive)或數位通用碟ROM驅動機(DVD-ROM)。為了有助於碟片儲存裝置3616連接至系統匯流排3610,典型為使用諸如介面3618之可卸除或非可卸除介面。領會到的是,碟片儲存裝置3616可儲存與使用者有關的資訊。可能將此類資訊儲存於或提供至伺服器、或提供至使用者裝置上執行的應用程式。在一項具體實施例中,可(例如藉由(多個)輸出裝置3636)向使用者通知儲存至碟片儲存裝置3616及/或傳送至伺服器或應用程式之資訊的類型。使用者可有機會選擇加入或選擇退出用伺服器或應用程式收集此類資訊、及/或與之共用此類資訊(例如,藉由從(多個)輸入裝置3622輸入)。
要領會的是,第36圖描述在使用者與合適的操作環境3600中所述之基本電腦資源之間作用為中介體之軟體。此類軟體包括作業系統3624。可在碟片儲存裝置3616上儲存作業系統3624,作用是控制及分配電腦系統3602的資源。應用程式3626透過諸如系統記憶體3606中或碟片儲存裝置3616上任一者儲存之開機/關機異動表等程式模組3628及程式資料3630,藉由作業系統3624利用資源之管理。要領會的是,可利用各種作業系統或作業系統之組合來實施主張之專利標的。
使用者透過(多個)輸入裝置3622將命令或資訊輸入到電腦3602裡。輸入裝置3622包括但不限於諸如滑鼠、軌跡球、尖筆、觸控板、鍵盤、麥克風、搖桿、遊戲板、衛星接收碟、掃描器、電視調諧卡、數位攝影機、數位視訊攝影機、網路攝影機、及類似者等指向裝置。這些及其它輸入裝置經由(多個)介面埠3632,透過系統匯流排3610連接至處理單元3604。舉例而言,(多個)介面埠3632包括序列埠、平行埠、遊戲埠、以及通用序列匯流排(USB)。(多個)輸出裝置3620將同類型連接埠其中一些作為(多個)輸入裝置3622使用。因此,舉例而言,USB埠可用於提供輸入至電腦3602,並且從電腦3602輸出資訊至輸出裝置3620。提供輸出配接器3608,用以說明諸如監視器、揚聲器及印表機等輸出裝置3620中需要特殊配接器之一些輸出裝置3620。舉例來說(而非限制),輸出配接器3608包括在輸出裝置3620與系統匯流排3610間提供連接手段之視訊及音效卡。應注意的是,其它裝置及/或裝置之系統同時提供諸如(多個)遠端電腦3634之輸入及輸出能力。
電腦3602可邏輯連線至諸如(多個)遠端電腦3634之一或多個遠端電腦而在網路連線環境中操作。(多個)遠端電腦3634可以是個人電腦、伺服器、路由器、網路PC、工作站、微處理器為主之電器、同級裝置、智慧型手機、平板、或其它網路節點,並且典型為包括相對於電腦3602所述元件之許多者。為了簡潔起見,(多個)遠端電腦3634係僅繪示有一記憶體儲存裝置3636。(多個)遠端電腦3634係透過網路介面3638、並接著經由(多條)通訊連線3640邏輯連線至電腦3602。網路介面3638含括有線及/或無線通訊網路,例如:區域網路(LAN)與廣域網路(WAN)及蜂巢式網路。LAN技術包括光纖分散式資料介面(FDDI)、銅線分散資料介面(CDDI)、乙太網路、符記環及類似者。WAN技術包括但不限 於點對點鏈接、像是整合服務數位網路(ISDN)及其變例之電路交換網路、分封交換網路、以及數位用戶線(DSL)。
(多條)通訊連線3640係指用於將網路介面3638連接至系統匯流排3610之硬體/軟體。所示通訊連線3640雖是為了清楚說明而位於電腦3602內部,但其仍可位於電腦3602外部。僅就例示性目的而言,為了連線至網路介面3638而必要之硬體/軟體包括內部及外部技術,例如:包括正規電話級數據機之數據機、纜線數據機與DSL數據機、ISDN配接器、以及有線與無線乙太網路卡、集線器、以及路由器。
本揭露之所示態樣亦可在分散式運算環境中實踐,其中特定任務是藉由透過通訊網路聯結的遠端處理裝置來進行。在分散式運算環境中,程式模組或儲存之資訊、指令、或類似者可置於本機及遠端記憶體儲存裝置中。
此外,要領會的是,本文中所述的各個組件可包括一(多)個電路,其可包括具合適的值以便實施一(多)項本揭露之具體實施例的組件及電路元件。再者,可領會的是,各個組件中有許多可在一或多個IC晶片上實施。舉例而言,在一項具體實施例中,可在單一IC晶片中實施一組組件。在其它具體實施例中,在單獨的IC晶片上製作或實施各別組件之一或多者。
如本文中所使用者,用語「組件」、「系統」、「架構」及類似者意味著電腦或電子相關實體,可為硬體、硬體與軟體之組合、軟體(例如:執行時)、或軔體。舉例而言,組件可為一或多個電晶體、記憶體單元、電晶體或記憶體單元之配置、閘陣列、可編程閘陣列、特定應用積體電路、控制器、處理器、在處理器上執行之程序、物件、可執行檔、存取半導體記憶體或與半導體記憶體介接之程式或應用程式、電腦、或類似者、或其合適的組合。組件可 包括可抹除編程(例如:至少部分儲存於可抹除記憶體中之程序指令)或硬編程(例如:製造時燒入非可抹除記憶體之程序指令)。
舉例來說,取自記憶體執行之程序及處理器都可以是組件。舉另一實施例來說,架構可包括下列之配置:電子硬體(例如:並聯或串聯電晶體)、處理指令及處理器,該處理器以適用於電子硬體配置之方式實施處理指令。另外,架構可包括單一組件(例如:電晶體、閘陣列...)或組件之配置(例如:電晶體之串聯或並聯配置、與程式電路連接之閘陣列、電源線、電接地、輸入信號線及輸出信號線等等)。系統可包括一或多個組件以及一或多個架構。一項實施例可包括切換組塊架構,包含交叉之輸入/輸出線與通道閘電晶體,以及(多個)電源、(多個)信號產生器、(多條)通訊匯流排、控制器、I/O介面、位址暫存器等等。要領會的是,定義中有某些重疊是在預期中,而且架構或系統可為單機型組件、或另一架構、系統等之組件。
除了前述以外,揭示之專利標的還可實施為方法、設備、或使用典型製造、編程或工程技術之製品,用以產生硬體、韌體、軟體、或任何其合適的組合以控制用以實施所揭示專利標的之電子裝置。本文中使用之用語「設備」及「製品」意味著含括電子裝置、半導體裝置、電腦、可取用自任何電腦可讀裝置、載體、或媒體之電腦程式。電腦可讀媒體可包括硬體媒體、或軟體媒體。另外,媒體可包括非暫存媒體、或傳送媒體。在一項實施例中,非暫存媒體可包括電腦可讀硬體媒體。電腦可讀硬體媒體的特定實施例可包括但不限於磁儲存裝置(例如:硬碟、軟碟、磁條...)、光碟(例如:光碟(CD)、數位通用碟(DVD)...)、智慧卡、以及快閃記憶體裝置(例如:卡、條、鍵驅動機...)。電腦可讀傳送媒體可包括載波、或類似者。當然,所屬領域技術人員將認得可對這 種組態進行修改而不脫離所揭示專利標的之範疇或精神。
上述包括本技術革新之實施例。當然,不可能為了描述本技術革新而描述所有可想到的組件或方法組合,但所屬技術領域中具有通常知識者可了解的是,本技術革新的許多進一步組合及排列是可行的。揭示之專利標的從而意味著囊括落於本揭露之精神與範疇內的所有此類改變、修改及變例。再者,就用語「包括」、「具有」及其變形係用於詳細描述或申請專利範圍的方面來說,此類用語意味著與用語「包含」類似的可兼性,而在當作申請專利範圍中的轉折詞使用時係詮釋為「包含」。
此外,字詞「例示性」在本文中係用來意指當作實施例、實例、或說明使用。本文中描述為「例示性」之任何態樣或設計都不必然要解讀為比其它態樣或設計較佳或有利。更確切地說,字詞例示性的使用目的在於以具體形式介紹概念。如本申請書中所使用,「或」一詞意味著可兼的「或」而不是排他的「或」。亦即,除非另有指明或內容中有清楚表達,「X運用A或B」意味著自然可兼排列之任一者。亦即,若X運用A;X運用B;或X同時運用A與B,則在前述實例任一者下都滿足「X運用A或B」。另外,冠詞「一」如本申請書及隨附申請專利範圍中所使用,大體上應該解讀成意為「一或多個」,除非另有指明或內容中有清楚表達係針對單數形。
另外,已依據電子記憶體內資料位元上的演算法或程序操作來介紹詳細說明之某些部分。這些程序說明或表示法係為所屬技術領域中具有通常知識者為了有效傳達其努力成果之內容予同樣具有通常知識者所運用的機制。本文的程序基本上係設想為導致所欲結果之作用的自相容序列。該些作用需要物理量之物理操縱。即使非屬必要,這些量典型採取的形式仍是能夠儲存、移 送、組合、比較、及/或按另一種方式操縱之電性及/或磁性信號。
基於通用原則,已證實這些信號便於指稱為位元、值、元件、符號、字母、項目、數字、或類似者。然而,應該牢記的是,所有這些及類似術語是要與適當的物理量相關聯,並且只是施用於這些數量的便利標籤。除非另有具體敍述或前述論述顯而易見,否則領會到的是,在全部揭示之專利標的中,利用諸如處理、運算、複製、仿效、判定、或傳送、及類似者等用語係指稱為處理系統、及/或類似消費性或工業用電子裝置或機器之動作及程序,其將(多個)電子裝置之電路、暫存器、或記憶體內表示為物理(電氣或電子)量之資料或信號操縱或轉換成機器或電腦系統記憶體或暫存器或其它此類資訊儲存器、傳輸及/或顯示裝置內以類似方式表示為物理量之其它資料或信號。
關於上述組件、架構、電路、程序及類似者所執行的各種功能,用於描述此類組件之用語(包括對「手段」之參考)除非另有所指,否則意味著對應於執行所述組件(例如:功能均等者)指定功能之任何組件,即便在結構上與執行具體實施例之例示性態樣所示之本文中之功能之所揭示結構不均等亦然。另外,儘管可能已僅對數種實作態樣中其中一種揭示特定特徵,此特徵仍可與其它實作態樣之一或多個其它特徵組合,正如就任何給定或特定應用可能所欲及有利者。亦將認知的是,具體實施例包括具有電腦可執行指令以供執行各項程序之作用及/或事件之用的系統以及電腦可讀媒體。
1300、1302、1304‧‧‧運算記憶體架構

Claims (20)

  1. 一種非揮發性記憶體架構,包含:電阻性隨機存取記憶體陣列,包含多組位元線及多條字元線;第一資料介面,用於從外接裝置接收資料、及用於將資料輸出至該外接裝置,該第一資料介面包含第一頻寬以及第一數量之輸入及輸出線,該第一數量之輸入及輸出線係用於對應該第一頻寬,將第一數量之位元寫至該電阻性隨機存取記憶體陣列,或從該電阻性隨機存取記憶體陣列讀取該第一數量之位元;以及第二資料介面,用於將資料輸出至該外接裝置,該第二資料介面包含與該第一頻寬不同之第二頻寬以及第二數量之輸出線,該第二數量之輸出線係用於對應該第二頻寬,從該電阻性隨機存取記憶體陣列讀取第二數量之位元,其中,該第二數量之輸出線及該第二數量之位元分別大於該第一數量之輸入及輸出線及該第一數量之位元。
  2. 如申請專利範圍第1項所述之非揮發性記憶體架構,其中,該第一資料介面係包含多工器之邏輯介面,該多工器係用於從該多組位元線選擇位元線子集以對應該第一頻寬,從該電阻性隨機存取記憶體陣列讀取該第一數量之位元或是將該第一數量之位元寫至該電阻性隨機存取記憶體陣列,以及其中,該第二資料介面係實體介面,其連接該多組位元線中體現該第二數量之位元的所有位元線,並同時對應該第二頻寬,從該電阻性隨機存取記憶體陣列輸出該第二數量之位元。
  3. 如申請專利範圍第1項所述之非揮發性記憶體架構,進一步包含:可編程處理元件,與該電阻性隨機存取記憶體陣列之該多組位元線之相應集合連接,其中,該等可編程處理元件係組配成用來經由該相應位元線集合從該 電阻性隨機存取記憶體陣列接收所儲存資料、或從該外接裝置接收外部資料,並且對該外部資料或該所儲存資料執行邏輯或數學演算法、及產生已處理資料。
  4. 如申請專利範圍第3項所述之非揮發性記憶體架構,進一步包含讀取感測放大器,連接至該多組位元線、及組配成用來從該電阻性隨機存取記憶體陣列之記憶胞獲得該所儲存資料。
  5. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,該等可編程處理元件係位於該第一資料介面與該電阻性隨機存取記憶體陣列之間,並且與該電阻性隨機存取記憶體陣列之該多組位元線實體連接。
  6. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,該等可編程處理元件之第一處理元件與第一組該等位元線相關聯,並且該等可編程處理元件之第二處理元件與第二組該等位元線相關聯。
  7. 如申請專利範圍第3項所述之非揮發性記憶體架構,進一步包含校正碼解碼器,與該等可編程處理元件相關聯、並且組配成用來搭配從該電阻性隨機存取記憶體陣列接收該所儲存資料之該等可編程處理元件對該所儲存資料中之錯誤位元進行識別及校正。
  8. 如申請專利範圍第7項所述之非揮發性記憶體架構,其中,該等校正碼解碼器之相應校正碼解碼器與該等可編程處理元件之相應可編程處理元件相關聯。
  9. 如申請專利範圍第7項所述之非揮發性記憶體架構,其中,該等校正碼解碼器之相應校正碼解碼器與該等可編程處理元件之至少兩個可編程處理元件相關聯。
  10. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,該電阻性隨機存取記憶體陣列包含字元線起始指標及字元線終止指標,以及其中,該字元線起始指標及該字元線終止指標係組配成用來將該電阻性隨機存取記憶體陣列處所儲存資料之子集識別為該所儲存資料,並且有助於僅將資料之該子集轉移至該等可編程處理元件。
  11. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,該等可編程處理元件之可編程處理元件獨立地對該外部資料或該所儲存資料執行該邏輯或數學演算法,並且產生該已處理資料。
  12. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,基於判定與該可編程處理元件連接之多組位元線之該集合之至少一條位元線有缺陷,而停用該等可編程處理元件之可編程處理元件。
  13. 如申請專利範圍第3項所述之非揮發性記憶體架構,其中,基於判定與該可編程處理元件連接之多組位元線之該集合之至少一條位元線有缺陷,而忽略該等可編程處理元件之可編程處理元件之運算值。
  14. 如申請專利範圍第3項所述之非揮發性記憶體架構,進一步包含:寫入電路系統邏輯,在該電阻性隨機存取記憶體陣列與另一電阻性隨機存取記憶體陣列之間共享;以及多工器,有助於對該電阻性隨機存取記憶體之該多條字元線、及該另一電阻性隨機存取記憶體陣列之其它多條字元線進行循序存取。
  15. 一種非揮發性記憶體邏輯系統,包含:位元線及一組字元線; 一組電阻性切換記憶體電路,介於該等位元線與該組字元線之間相應交截處,其中,該組電阻性切換記憶體電路內之電阻性切換記憶胞係編程有對應於第一資料矩陣之相應位元值,並且其中,向該非揮發性記憶體邏輯系統提供藉由輸入到該組字元線之字元線上之一組電流表示之第二資料矩陣作為系統輸入,以及其中,回應於該第二資料矩陣到該組字元線之該字元線上之輸入,該非揮發性記憶體邏輯系統在該等位元線上產生輸出,該輸出係生成第三資料矩陣之該第一資料矩陣及該第二資料矩陣的函數。
  16. 如申請專利範圍第15項所述之非揮發性記憶體邏輯系統,其中,該第三資料矩陣為該第一資料矩陣及該第二資料矩陣之內積乘法結果。
  17. 如申請專利範圍第15項所述之非揮發性記憶體邏輯系統,其中,該第三資料矩陣之值響應於該第二資料矩陣施加至該組字元線之不同值及該第一資料矩陣之該位元值保持恆定而變化。
  18. 如申請專利範圍第15項所述之非揮發性記憶體邏輯系統,其中,該組電阻性切換記憶體電路之電阻性切換記憶體電路包括單一電阻性切換記憶體,或是在分壓器布置中的一對電阻性切換記憶體。
  19. 如申請專利範圍第15項所述之非揮發性記憶體邏輯系統,其中,編程至該組電阻性切換記憶體電路之該第一資料矩陣為二維矩陣。
  20. 如申請專利範圍第15項所述之非揮發性記憶體邏輯系統,其中,該輸出係由該等位元線上之相應輸出電流所提供,並且其中,該等位元線上之該等相應輸出電流為該組字元線上之電壓或電流輸入、及該電阻性切換記憶胞相應該第一資料矩陣之該相應位元值之電阻性狀態之函數。
TW107134397A 2017-09-29 2018-09-28 運算記憶體之架構 TWI705444B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762566001P 2017-09-29 2017-09-29
US62/566,001 2017-09-29

Publications (2)

Publication Number Publication Date
TW201933359A TW201933359A (zh) 2019-08-16
TWI705444B true TWI705444B (zh) 2020-09-21

Family

ID=65896175

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107134397A TWI705444B (zh) 2017-09-29 2018-09-28 運算記憶體之架構

Country Status (4)

Country Link
US (3) US11127460B2 (zh)
CN (1) CN111433851B (zh)
TW (1) TWI705444B (zh)
WO (1) WO2019067980A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI788795B (zh) * 2021-02-26 2023-01-01 威強電工業電腦股份有限公司 電源管理電路及其系統

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11056185B2 (en) * 2018-10-12 2021-07-06 International Business Machines Corporation Apparatus for deep learning operations on resistive crossbar array
US10998037B2 (en) * 2019-05-07 2021-05-04 Memryx Incorporated Memory processing units and methods of computing dot products
US11194886B2 (en) * 2019-05-09 2021-12-07 Applied Materials, Inc. Bit-ordered binary-weighted multiplier-accumulator
US20210011732A1 (en) * 2019-07-09 2021-01-14 MemryX Inc. Matrix Data Reuse Techniques in Processing Systems
CN112348160B (zh) * 2019-08-08 2024-04-12 浙江欣奕华智能科技有限公司 一种卷积神经网络加速方法及系统
US11829729B2 (en) 2019-09-05 2023-11-28 Micron Technology, Inc. Spatiotemporal fused-multiply-add, and related systems, methods and devices
US11650746B2 (en) * 2019-09-05 2023-05-16 Micron Technology, Inc. Intelligent write-amplification reduction for data storage devices configured on autonomous vehicles
US11934824B2 (en) 2019-09-05 2024-03-19 Micron Technology, Inc. Methods for performing processing-in-memory operations, and related memory devices and systems
US11435946B2 (en) * 2019-09-05 2022-09-06 Micron Technology, Inc. Intelligent wear leveling with reduced write-amplification for data storage devices configured on autonomous vehicles
US11693657B2 (en) 2019-09-05 2023-07-04 Micron Technology, Inc. Methods for performing fused-multiply-add operations on serially allocated data within a processing-in-memory capable memory device, and related memory devices and systems
US11507816B2 (en) * 2019-09-19 2022-11-22 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
US11657273B2 (en) 2019-12-27 2023-05-23 Industrial Technology Research Institute Hardware structure aware adaptive learning based power modeling method and system
US11423984B2 (en) * 2020-04-06 2022-08-23 Crossbar, Inc. Distinct chip identifier sequence utilizing unclonable characteristics of resistive memory on a chip
US11189339B1 (en) * 2020-05-29 2021-11-30 Macronix International Co., Ltd. Performing in-memory computing based on multiply-accumulate operations using non-volatile memory arrays
US11537861B2 (en) * 2020-06-23 2022-12-27 Micron Technology, Inc. Methods of performing processing-in-memory operations, and related devices and systems
CN111626414B (zh) * 2020-07-30 2020-10-27 电子科技大学 一种动态多精度神经网络加速单元
CN112106139A (zh) 2020-08-13 2020-12-18 长江存储科技有限责任公司 闪速存储器设备
TWI734604B (zh) * 2020-09-03 2021-07-21 旺宏電子股份有限公司 三維nand人工智慧加速器之辨識方法與控制電路
JP2022050191A (ja) * 2020-09-17 2022-03-30 キオクシア株式会社 半導体記憶装置及び情報処理装置
US11393523B1 (en) * 2021-01-13 2022-07-19 National Tsing Hua University Memory unit with asymmetric group-modulated input scheme and current-to-voltage signal stacking scheme for non-volatile computing-in-memory applications and computing method thereof
KR102582800B1 (ko) * 2021-04-09 2023-09-26 광운대학교 산학협력단 분할된 비트라인 기반 계산 메모리 장치를 이용한 곱의 합 연산을 수행하는 방법
US20230317161A1 (en) * 2022-03-31 2023-10-05 Crossbar, Inc. Matrix multiplication with resistive memory circuit having good substrate density

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150123706A1 (en) * 2012-06-01 2015-05-07 The Regents Of The University Of California Programmable logic circuit architecture using resistive memory elements
US20160232951A1 (en) * 2015-02-05 2016-08-11 The Board Of Trustees Of The University Of Illinois Compute memory
US20170032839A1 (en) * 2008-08-14 2017-02-02 Nantero Inc. Methods for programming and accessing ddr compatible resistive change element arrays
US20170300415A1 (en) * 2016-03-14 2017-10-19 Intel Corporation Asymmetrical memory management
US20180075893A1 (en) * 2016-09-13 2018-03-15 Toshiba Memory Corporation Semiconductor memory device

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163481A (en) * 1999-10-29 2000-12-19 Advanced Micro Devices, Inc. Flash memory wordline tracking across whole chip
JP2003272386A (ja) 2002-03-20 2003-09-26 Mitsubishi Electric Corp Tcamセル、tcamセルアレイ、アドレス検索メモリおよびネットワークアドレス検索装置
US7095642B1 (en) 2003-03-27 2006-08-22 Cypress Semiconductor Corporation Method and circuit for reducing defect current from array element failures in random access memories
US7257013B2 (en) * 2005-09-08 2007-08-14 Infineon Technologies Ag Method for writing data into a memory cell of a conductive bridging random access memory, memory circuit and CBRAM memory circuit
US7466620B2 (en) * 2006-01-04 2008-12-16 Baker Mohammad System and method for low power wordline logic for a memory
US7570523B2 (en) * 2006-07-31 2009-08-04 Sandisk 3D Llc Method for using two data busses for memory array block selection
US7463546B2 (en) * 2006-07-31 2008-12-09 Sandisk 3D Llc Method for using a passive element memory array incorporating reversible polarity word line and bit line decoders
KR100855966B1 (ko) * 2007-01-04 2008-09-02 삼성전자주식회사 멀티 디코딩이 가능한 양방향성 rram 및 이를 이용하는데이터 기입 방법
US20120030396A1 (en) 2009-03-02 2012-02-02 Zhichun Zhu Decoupled Memory Modules: Building High-Bandwidth Memory Systems from Low-Speed Dynamic Random Access Memory Devices
CN101750458B (zh) 2009-11-05 2013-04-17 香港科技大学 一种检测人体中毒品残留的方法
WO2011088526A1 (en) 2010-01-25 2011-07-28 Idatamap Pty Ltd Improved content addressable memory (cam)
US8773887B1 (en) * 2011-05-25 2014-07-08 Peter K. Naji Resistive memory devices and related methods
US8619459B1 (en) 2011-06-23 2013-12-31 Crossbar, Inc. High operating speed resistive random access memory
US9116781B2 (en) 2011-10-17 2015-08-25 Rambus Inc. Memory controller and memory device command protocol
US20140071761A1 (en) 2012-09-10 2014-03-13 Sandisk Technologies Inc. Non-volatile storage with joint hard bit and soft bit reading
US9306851B1 (en) 2012-10-17 2016-04-05 Marvell International Ltd. Apparatus and methods to store data in a network device and perform longest prefix match (LPM) processing
US8982647B2 (en) 2012-11-14 2015-03-17 Crossbar, Inc. Resistive random access memory equalization and sensing
US10157669B2 (en) 2013-04-02 2018-12-18 Micron Technology, Inc. Method of storing and retrieving information for a resistive random access memory (RRAM) with multi-memory cells per bit
US9455048B2 (en) 2013-06-28 2016-09-27 Sandisk Technologies Llc NAND flash word line management using multiple fragment pools
CN105431906B (zh) 2013-07-31 2018-06-05 慧与发展有限责任合伙企业 存储器单元、数据存储装置以及形成存储器单元的方法
US9698202B2 (en) 2015-03-02 2017-07-04 Sandisk Technologies Llc Parallel bit line three-dimensional resistive random access memory
US9524210B1 (en) 2015-03-02 2016-12-20 Crossbar, Inc. Separating bits represented by a MLC in connection with ECC
US9779785B2 (en) * 2015-05-11 2017-10-03 Wisconsin Alumni Research Foundation Computer architecture using compute/storage tiles
US10027715B2 (en) 2015-06-03 2018-07-17 Samsung Electronics Co., Ltd. Electronic device and method for encrypting content
US10083140B2 (en) * 2015-12-18 2018-09-25 Intel Corporation DRAM data path sharing via a segmented global data bus
US9928899B2 (en) * 2015-12-29 2018-03-27 Taiwan Semiconductor Manufacturing Co., Ltd. Flying and twisted bit line architecture for dual-port static random-access memory (DP SRAM)
WO2017131792A1 (en) 2016-01-30 2017-08-03 Hewlett Packard Enterprise Development Lp Dot product engine with negation indicator
CN107533668B (zh) * 2016-03-11 2021-01-26 慧与发展有限责任合伙企业 用于计算神经网络的节点值的硬件加速器和方法
US10346347B2 (en) * 2016-10-03 2019-07-09 The Regents Of The University Of Michigan Field-programmable crossbar array for reconfigurable computing
US20190006019A1 (en) * 2017-06-28 2019-01-03 Sandisk Technologies Llc Word line leakage detection using source and sink currents
KR102385569B1 (ko) 2018-01-03 2022-04-12 삼성전자주식회사 메모리 장치
US10825512B1 (en) * 2019-08-27 2020-11-03 Nxp Usa, Inc. Memory reads of weight values

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170032839A1 (en) * 2008-08-14 2017-02-02 Nantero Inc. Methods for programming and accessing ddr compatible resistive change element arrays
US20150123706A1 (en) * 2012-06-01 2015-05-07 The Regents Of The University Of California Programmable logic circuit architecture using resistive memory elements
US20160232951A1 (en) * 2015-02-05 2016-08-11 The Board Of Trustees Of The University Of Illinois Compute memory
US20170300415A1 (en) * 2016-03-14 2017-10-19 Intel Corporation Asymmetrical memory management
US20180075893A1 (en) * 2016-09-13 2018-03-15 Toshiba Memory Corporation Semiconductor memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI788795B (zh) * 2021-02-26 2023-01-01 威強電工業電腦股份有限公司 電源管理電路及其系統

Also Published As

Publication number Publication date
US11222696B1 (en) 2022-01-11
US10699785B2 (en) 2020-06-30
TW201933359A (zh) 2019-08-16
WO2019067980A1 (en) 2019-04-04
US20190102358A1 (en) 2019-04-04
US20190103162A1 (en) 2019-04-04
US11127460B2 (en) 2021-09-21
CN111433851B (zh) 2023-10-31
CN111433851A (zh) 2020-07-17

Similar Documents

Publication Publication Date Title
TWI705444B (zh) 運算記憶體之架構
Chen et al. CMOS-integrated memristive non-volatile computing-in-memory for AI edge processors
Wan et al. A compute-in-memory chip based on resistive random-access memory
Hirtzlin et al. Digital biologically plausible implementation of binarized neural networks with differential hafnium oxide resistive memory arrays
US8676734B2 (en) Methods and systems for replaceable synaptic weight storage in neuro-processors
CN105304114B (zh) 存储装置和操作存储系统的方法
US10832746B2 (en) Non-volatile in-memory computing device
CN105336366B (zh) 包含并联晶体管和双端子开关器件的nand阵列
US9659645B2 (en) Resistive memory device and method of writing data
Li et al. SAPIENS: A 64-kb RRAM-based non-volatile associative memory for one-shot learning and inference at the edge
US10910052B2 (en) Material implication operations in memory
WO2021126294A1 (en) Kernel transformation techniques to reduce power consumption of binary input, binary weight in-memory convolutional neural network inference engine
CN106448718B (zh) 存储器器件和操作存储器器件的方法
US10475511B1 (en) Read operation with data latch and signal termination for 1TNR memory array
Liu et al. A weighted sensing scheme for ReRAM-based cross-point memory array
KR102191393B1 (ko) 저항성 랜덤 액세스 메모리 프로그래밍 및 소거 기술들 및 장치
TWI783539B (zh) 具有外部磁場程式化輔助的超低電力推理引擎
CN113270123A (zh) 存储器装置
US10489700B1 (en) Neuromorphic logic for an array of high on/off ratio non-volatile memory cells
Lebdeh et al. Memristive device based circuits for computation-in-memory architectures
Kingra et al. Dual-configuration in-memory computing bitcells using SiOx RRAM for binary neural networks
US9613694B1 (en) Enhanced programming of two-terminal memory
US20220366211A1 (en) Dropout in neutral networks using threshold switching selectors in non-volatile memories
Chiu et al. A CMOS-integrated spintronic compute-in-memory macro for secure AI edge devices
US10749529B2 (en) Memory device including integrated deterministic pattern recognition circuitry