TWI786857B - 資料處理裝置 - Google Patents
資料處理裝置 Download PDFInfo
- Publication number
- TWI786857B TWI786857B TW110136298A TW110136298A TWI786857B TW I786857 B TWI786857 B TW I786857B TW 110136298 A TW110136298 A TW 110136298A TW 110136298 A TW110136298 A TW 110136298A TW I786857 B TWI786857 B TW I786857B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- page
- processing device
- block
- data processing
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/544—Methods 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/5443—Sum of products
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4097—Bit-line organisation, e.g. bit-line layout, folded bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4085—Word line control circuits, e.g. word line drivers, - boosters, - pull-up, - pull-down, - precharge
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/107—Serial-parallel conversion of data or prefetch
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Dram (AREA)
- Communication Control (AREA)
Abstract
一種裝置,包括儲存單元陣列,複數個頁面暫存器及運算處理元件。儲存單元陣列分成複數個區塊。複數個頁面暫存器耦接至該儲存單元陣列的邊緣區塊,該些頁面暫存器是基於頁面複製方法存取頁面資料。運算處理元件連接到該些頁面暫存器,用以處理來自該些頁面暫存器的有條件及/或直接讀取的資料以完成人工智慧系統之機器學習中的乘法及/或累加。
Description
本發明是關於一種記憶體管理的裝置,特別是指一種使用低功率和資料存取頁面資料複製方案來增強儲存單元陣列中的預存取的裝置。此外,本發明也是關於一種頁面資料複製的裝置,用於存鎖頁面資料複製方法存取的資料,並用於條件式存取資料。條件式存取的資料是處理程序的預處理結果並發送到運算單元以完成人工智慧系統的運算。
動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)之類的記憶體可用於為儲存用戶資料,並且最大化存取頻寬可被視為關於DRAM設計的一些重要考慮因素之一。然而,在現有技術的資料存取方法中可能會出現一些問題。例如,在預取數、總功耗、歸一化存取能量效率(即每位元存取能量)和儲存區域之間可能存在一些問題。更具體來說,在沒有顯著增加記憶體面積的情況下,DRAM晶片的常規單元陣列架構可能已經達到了預取次數的極限。因此,需要一種新的資料存取架構和方法來解決該問題。
但是即使可以克服記憶體陣列的最大資料預取次數的限制,在另一個晶片中處理資料的晶片的存取頻寬仍然受到晶片間接口頻寬的限制。此外,驅動晶片間接口會產生功耗和散熱問題,進一步限制系統性能。對此,採用所公開的記憶體架構和特殊的資料存取方案,結合近站運算處理單元,可以實現解決問題所需要的高頻寬和短資料流。
作為這些問題的解決方案,實施例提出一種基於記憶體的裝置。裝置包括連接到儲存單元陣列的邊緣區塊的一組頁面暫存器,基於頁面複製方法從儲存單元陣列存取資料,以及包括運算處理元件和頁面暫存器的處理區塊,其中資料可以從頁面暫存器有條件地存取,或從頁面暫存器由本地存取資料,之後可以將運算處理元件處理的資料複製到處理區塊的頁面暫存器或相鄰處理區塊中的頁面暫存器,從而在人工智慧系統中實現此種運算的可行性。
儲存單元陣列可以包括耦接到儲存單元陣列並通過解碼器的預定解碼序列,並且矩陣向量乘法、矩陣-矩陣乘法或原位卷積的列解碼器和頁面暫存器解碼器結合在運算處理元件執行的運算來完成。頁面暫存器、運算處理元件和儲存單元陣列可以整合在同一半導體晶片中或者可以整合在至少兩個不同的半導體晶片並且半導體晶片彼此耦接。
100:記憶體模組
101:記憶庫
102:次級半導體晶片
110:字元線解碼器
120:儲存單元陣列
130:頁面暫存器
150:周邊電路
152:存取電路
BL,BLF:位元線
WL:字元線
Cap:電容
SEN,SENf:驅動訊號
BLSA:位元線感測放大器
第1圖是根據本發明實施例記憶體模組資料存取裝置的示意圖。
第2圖是與第1圖中記憶體模組位元線感測放大器區塊與儲存單元陣列區塊的示意圖。
第3圖是第1圖中的記憶體模組的1T1C的儲存單元示意圖。
第4圖是第1圖所示的記憶體模組的位元線感測放大器的示意圖。
第5圖是實施例中頁面資料複製方法的示意圖。
第6A及6B圖是傳統1T1C架構和2T2C架構記憶體的位元線開放陣列中資料複製
示意圖。
第6C圖是實施例1T1C單元陣列中的資料複製的示意圖。
第7A及7B圖是另一種傳統儲存區塊的開放位元線陣列中資料複製的示意圖。
第8圖是開放位元線陣列的資料複製的操作示意圖。
第9圖是陣列資料存取方法對晶片周邊設備的應用的示意圖。
第10A圖是人工智慧加速器耦接到中央處理單元以處理機器學習的示意圖。
第10B圖是人工智慧加速器耦接到中央處理單元及大容量記憶體以處理機器學習的示意圖。
第11圖是人工智慧加速器實現於示例晶片的示意圖。
第12圖是用於條件式存取儲存的資料的頁面暫存器的示意圖。
第13圖是實施例向量相乘時乘法與加法的置換的示意圖。
第14A及14B圖是實施例卷積運算的過程的示意圖。
第1圖是根據本發明實施例記憶體模組100資料存取(例如讀/寫/移動)裝置的示意圖。資料存取裝置可以包括至少記憶體模組100的一部分(例如,一部分或全部)。資料存取裝置可以包括記憶體模組100的部分記憶體架構。又例如,資料存取裝置可以包括部分記憶體架構和相關的控制機制的組合。或者,資料存取裝置可以包括整個記憶體模組100。
如第1圖所示,記憶體模組100可以包括記憶庫101和次級半導體晶片102,記憶庫101可以包括字元線解碼器110、多個儲存單元的儲存單元陣列120,例如M×N個儲存單元(M和N為正整數),以及分別耦接至儲存單元陣列120的多條
位元線和多條字元線,例如N條位元線{BL(1),BL(2),...,BL(N)}和M條字元線{WL(1),WL(2),...,WL(M)}耦接至(M×N)個儲存單元,但本發明不限於此。根據一些實施例,除了字元線驅動器之外,字元線解碼器110也可以位於次級半導體晶片102中。例如,字元線解碼器110的前端可以設於次級半導體晶片102中,字元線解碼器110的後端(可包括字元線驅動器)可以設於記憶庫101中。
記憶庫101還可包括多個位元線感測放大器(bit-line sense amplifiers,BLSA),分別通過多條位元線耦接至儲存單元陣列120,例如頁面暫存器130的N個位元線感測放大器BLSA,以及多條主資料線,連接到頁面暫存器130的N個位元線感測放大器BLSA,其中多條主資料線可以作為記憶庫101的對外資料接口。例如,次級半導體晶片102可以電連接到記憶庫101,但本發明不限於此。此外,次級半導體晶片102可以包括周邊電路150,周邊電路150可以包括存取電路152。例如,次級半導體晶片102可以包括多個位於存取電路152的次級放大器。
儲存單元陣列120可以用於儲存用於主機系統的資料,並且記憶體模組100可以安裝在主機系統中。主機系統可以是多功能行動電話、平板電腦、桌機或筆電。多條位元線,例如N條位元線{BL(1),BL(2),...,BL(N)},和多條字元線,例如M條字元線{WL(1),WL(2),…,WL(M)}可以用以執行儲存單元陣列120的存取控制。根據實施例,多個位元線感測放大器BLSA可以用以感測從多個除存單元的多個位元線訊號,例如(M×N)個儲存單元,並將多個位元線訊號分別轉換為多個放大訊號。
關於儲存單元陣列120的存取控制的一些實施細節描述如下。根據一些實施例,字元線解碼器110可解碼其存取的控制訊號,例如列選擇訊號,以確
定是否選擇(啟動)對應於字元線WL(m)的一列儲存單元(例如m可以代表落在區間[0,M])內的整數,其中字元線解碼器110可以在儲存單元陣列120的存取控制區間作為列解碼器(row decoder)。
參照第1圖,裝置可包括記憶體模組100中的記憶庫101,但本發明不限於此,裝置還包括次級半導體晶片102。根據一些實施例,除了記憶庫101之外,記憶體模組100可以包括次級半導體晶片102的至少一部分(例如,一部分或全部)。記憶體模組100之外具有任何功能的一或多個電路可以被整合到次級半導體晶片102中。
根據一些實施例,第1圖所示的架構可能會有所不同。例如,儲存單元陣列120可以根據預定的位元線長度被分為多個儲存單元陣列區塊,以提高存取速度,並且位元線感測放大器BLSA,例如頁面暫存器130中的N個位元線感測放大器BLSA,可以被分成多個位元線感測放大器區塊BLSA,對應地耦接到多個儲存單元陣列區塊,用以執行相關的感測操作。
第2圖是與第1圖中記憶體模組位元線感測放大器區塊BLSA與儲存單元陣列區塊交錯的示意圖。第2圖可以作為第1圖所示架構中的儲存單元陣列區塊和位元線感測放大器區塊BLSA的示例。此外,任意兩個儲存單元陣列區塊可以相同或相似,任意兩個位元線感測放大器區塊BLSA可以相同或相似。
第3圖是第1圖中的記憶體模組100的1T1C的(一電晶體,一電容)儲存單元(例如,DRAM單元)示意圖。儲存單元可以是儲存單元陣列120的多個儲存單元中的任一個儲存單元。參考第3圖,儲存單元可以耦接至一字元線,例如字元
線WL(m),或一位元線,例如位元線BL(n),的開關。開關可為電晶體,例如金屬氧化物半導體場效應電晶體。儲存單元還可包括電容Cap。電容Cap可用於儲存電荷,電荷的不同狀態可指示位元訊息(例如0或1),但本發明不限於此。一些實施例還可以利用2T2C(二電晶體、二電容)儲存單元來增加可靠性。本領域技術人員習知一般2T2C儲存單元的結構和功能。
第4圖是第1圖所示的記憶體模組100的位元線感測放大器BLSA的示意圖。如第4圖所示,位元線感測放大器BLSA可以是一個鎖存器,包括兩個交叉連接的反相器。具體而言,兩個交叉連接的反相器可以各自耦接到多條位元線中的兩條位元線(BL_0和BL_1)。兩條位元線可以分別耦接不同儲存單元。每個反相器可以被一組驅動訊號驅動,例如驅動訊號SENf和SEN。
位元線感測放大器BLSA可以根據驅動訊號SENf和SEN進行操作,分別取得各自的位元訊號(電壓)。記憶體模組100中的記憶庫101可以根據存取字元線解碼器110的訊號選擇多個儲存單元中的任一個。例如,在第一讀取階段,位元線感測放大器BLSA可以通過BL_0取得兩個儲存單元中第一個儲存單元的位元訊息,例如放大第一儲存單元的位元訊號。又例如,在第二讀取階段,位元線感測放大器BLSA可以通過BL_1取得兩個儲存單元中的第二儲存單元的位元訊號,並放大第二儲存單元位元訊號。
位元線感測放大器BLSA由兩個驅動訊號SENf和SEN控制。位元線感測放大器BLSA應用是在一次移動一頁資料。一頁資料定義為儲存在由同一條字元線啟動的所有儲存單元中的資料,因此位元線感測放大器BLSA應用不需要列選擇線和資料線,如此可節省成本並降低晶片面積和複雜性。通過順序啟動相
鄰的位元線感測放大器區塊BLSA,第一位元線感測放大器BLSA中存在的資料將被複製到下一順序的位元線感測放大器BLSA。在實施例中,一頁資料可以在垂直於字元線的任一方向上從來源位置被傳輸到目標位置。
例如,可以通過啟用第一區塊和第二區塊之間的位元線感測放大器BLSA使鎖存電壓傳輸到第二區塊中的位元線。實施例還可使用第二區塊和第三區塊之間的位元線感測放大器BLSA傳輸第二區塊中位元線的電壓使鎖存電壓傳輸到第三區塊中的位元線。使用這種依序啟動位元線感測放大器BLSA的方法,電壓可以從一個區塊依序傳輸到相鄰區塊,直到到達目標位置。來源電壓可通過啟動適當的字元線讀取,或者來源電壓可以由資料存取電路152提供並電壓被加載到位元線上。
因此,實施例可啟動來源位置處的字元線,將來源位置的儲存單元的電壓加載到對應的位元線上,通過啟動相鄰位元線感測放大器BLSA的鎖存電壓。電壓可以從區塊依序傳輸到相鄰區塊直到到達目標位置。目標位置可以是資料存取電路152或另一個儲存單元陣列區塊。
第5圖是實施例中頁面資料複製方法的示意圖。第5圖的上半部分示出了示例記憶庫的一部分的功能示意圖。儲存單元陣列區塊用虛線標出並編號為0至4,並且每個儲存單元陣列區塊部分包括一字元線。位元線感測放大器區塊BLSA_0至BLSA_3設置在每個儲存單元陣列區塊之間,並且每個位元線感測放大器BLSA通過位元線連接到相鄰的儲存單元陣列區塊。
如第5圖所示,在BLSA_0啟動後(即SENf為0v,SEN為VDD),頁面
資料從開路字元線的單元中讀出,並從儲存單元陣列區塊0複製到儲存單元陣列區塊1(圓圈1)。之後,在BLSA_1啟動後,頁面資料從儲存單元陣列區塊1複製到儲存單元陣列區塊2(圓圈2)。接下來,在啟動BLSA_2後,頁面資料從儲存單元陣列區塊2複製到儲存單元陣列區塊(圓圈3)。最後,在啟動BLSA_3後,將頁面資料從儲存單元陣列區塊3複製到儲存單元陣列區塊4(圓圈4)。
第6A和6B圖是傳統1T1C架構和2T2C架構記憶體的位元線開放陣列中資料複製示意圖。實施例所公開的資料複製方法無法在第6A圖所示的傳統開放位元線陣列中實行(例如從第6A圖中的儲存單元陣列區塊2複製到儲存單元陣列區塊3)。為了解決這個問題,第6B圖是通過在每個儲存單元中電連接第一位元線和第二位元線而對開放位元線陣列進行的結構修改的示意圖。第6B圖的結構確保無論資料存於於位元線BLF或BL上,儲存在先前位元線感測放大器BLSA中的資料都可用於隨後相鄰的位元線感測放大器BLSA。第6C圖是1T1C單元陣列中的資料複製的示意圖(從傳統的1T1C開放位元線陣列修改所形成)。
第7A和7B圖說明了另一種傳統儲存區塊的開放位元線陣列中的資料複製。與第6A圖和6B的先前實施例一樣,實施例所公開的資料複製方法無法在圖7A所示的傳統開放位元線陣列中實行(例如從第7A圖中的儲存單元陣列區塊2複製到儲存單元陣列區塊3)。為了解決這個問題,第7B圖是對開放位元線陣列進行的結構修改的示意圖。在第7B圖中,每個位元線感測放大器BLSA連接到四個電晶體,每個電晶體具有第一端、第二端和控制端。一儲存區塊中的第一位元線耦接至第一電晶體的第一端、第一電晶體的第二端、第一節點、第二電晶體的第一端、第二電晶體的第二端以及相鄰儲存區塊中的第一位元線,如第7B圖所示。儲存區塊中的第二位元線耦接至第三電晶體的第一端、第三電晶體的
第二端、第二節點、第四電晶體的第一端、第四電晶體的第二端以及與相鄰儲存區塊中的第二位元線。位元線感測放大器BLSA耦接至第一節點和第二節點。如此即可確保四個電晶體中的每一電晶體在相鄰的儲存單元陣列中位元線感測放大器BLSA電連接位元線BLF和BL,以確保資料電壓可正確傳輸。
第8圖是開放位元線陣列的資料複製操作示意圖。時間在圖中自上而下推移,資料從左向右複製。在第8圖中,儲存單元陣列區塊2的儲存單元在預充電後,字元線會被啟動,資料從儲存單元中被讀取和放大,並且資料A會被鎖存到適當的位元線感測放大器BLSA,字元線在這之後會被關閉。當後續位元線感測放大器BLSA被啟動時,資料A會從當前位元線感測放大器BLSA複製到後續位元線感測放大器BLSA。位元線感測放大器BLSA啟動過程會持續,將資料A從一位元線感測放大器BLSA傳輸到下一位元線感測放大器BLSA,最後到達目標位置。
這種頁面複製方法的一些好處包括:1.取得DRAM陣列可以提供的最大資料預取;2.可不使用資料線感測放大器並節省不必要的列選擇線解碼器的功耗;3.因著位元線BL和BLF的固有電壓半振幅而節省能源;4.應用位元線在字元線之前(BL-before-WL)的頁面資料寫入方法可實現快速低功耗的資料寫入。
第9圖是陣列資料存取方法對晶片周邊設備的應用的示意圖。該方法為遠程、寬匯流排、節能的資料傳輸方法。第9圖與第8圖相似,不同之處在於
第9圖包括跨位元線感測放大器BLSA傳輸的電壓值。如第9圖所示,由於位元線感測放大器BLSA放大讀取值1或0,並由於電路預充電至VDD的1/2,因此傳輸電壓的最大振幅為1/2。
與1/2電壓振幅將資料複製或移動到晶片邊緣區域的互補式金屬氧化物半導體(CMOS)相比,此方法具有優勢。與傳統的小振幅中頻電壓相比,本方法沒有接收器的直流電流消耗,並且與差動中頻電壓(differential intermediate frequency)一樣穩定(小振幅中頻電壓需要參考電壓或1/2中頻電壓)。
簡而言之,在選擇一字元線並將儲存單元的電荷加載到位元線上後,儲存單元陣列的第一儲存單元陣列區塊中這些位元線上的訊號可以通過啟動第一儲存單元陣列區塊和與其相鄰區塊之間的位元線感測放大器BLSA來放大和鎖存,即可以使鎖存電壓傳輸到第二儲存單元陣列區塊中的位元線。以相同的方式,可以利用第二儲存單元陣列區塊和第三儲存單元陣列區塊之間的鎖存器進一步將電壓傳輸到第三儲存單元陣列區塊。電壓可以依序從一個區塊傳輸到隨後的相鄰區塊,最終到達目標位置。這可以作為記憶體晶片中頁面資料寫入的一種方法,頁面資料可以從頁面暫存器依次傳輸到相鄰區塊,再從該區塊傳輸到後續的相鄰區塊,最後到達目標區塊。啟動儲存單元陣列目標區塊的字元線包括將電壓形式的資料寫入目標區塊中的目標字元線。
實施例所描述的頁面複製方法可應用在人工智慧加速器(AI accelerator)。與大多數神經網路一樣,卷積神經網路(Convolutional Neural Network,CNN)是計算密集型且功耗高運算器。其所需的資料傳輸功耗高達神經網路總功耗和運行時間的90-99%,因此需要減少其資料傳輸的數量及/或資料傳輸的距離。
卷積神經網路不同於許多類型的神經網路,因為卷積神經網路不是完全彼此連接。因此,至少在接近或到達輸出層之前,輸入的圖像通常可以被劃分為多個視窗。基於這個原因,卷積神經網路中的大部分處理層可以一次使用單個視窗,直到視窗輸出單一結果。顯而易見,卷積神經網路一次可以並行或處理多個視窗,但是通過卷積神經網路的每一層對每個視窗的處理過程不涉及任何其他視窗的處理過程。這種視窗的單獨處理過程稱為本地化資料流。同樣的本地化資料流也可以分別應用於多通道卷積神經網路中的每個通道,例如分別處理RGB顏色輸入圖像中的RGB顏色。
如第10A圖所示,人工智慧加速器可以耦接至中央處理單元並與其結合操作。此外,如第10B圖所示,人工智慧加速器還可以耦接至中央處理單元和大容量的主記憶體並與其結合操作,以處理例如涉及大量資料的機器學習。在一些實施例中,頁面暫存器、運算處理元件和儲存單元陣列整合在同一半導體晶片中。在其他實施例中,頁面暫存器、運算處理元件和儲存單元陣列整合在至少兩個不同的半導體晶片並且半導體晶片彼此耦接。
第11圖是人工智慧加速器實現於示例晶片的示意圖。第11圖所示的晶片可以應用於利用本地化資料流的人工智慧加速器。如第11圖所示,晶片可劃分為多個單元,每個單元包括兩個儲存單元陣列和一個處理區塊。每個單元可用於獨立處理單個資料窗口。每個儲存單元陣列可以是動態隨機存取記憶體陣列,然而實施例不限於動態隨機存取記憶體。
如第11圖所示,處理區塊包括的多個頁面暫存器並且中間連接運算
處理元件。每一個頁面暫存器的另一側耦接到兩個中的所對應的一儲存單元陣列的邊緣區塊。頁面暫存器用以利用先前描述的頁面複製方法從耦接的儲存單元陣列存取資料。運算處理元件用以處理來自頁面暫存器的條件式存取資料。運算處理元件可以分別進行不同通道的資料累加。
頁面暫存器和最靠近頁面暫存器的儲存單元陣列區塊可被指定為運算用的高速緩存記憶體。每個儲存單元陣列包括耦接到儲存單元陣列的列解碼器和行解碼器。通過解碼器的預定解碼序列,卷積神經網路的卷積運算可結合處理區塊中執行的運算來完成。
如第11圖所示,實施例可利用頁面複製方法存取來自儲存單元陣列頂部的資料頁面,並儲存在與運算處理元件相鄰的頁面暫存器中。運算處理元件可處理儲存在頁面暫存器中的條件式存取資料,並將結果儲存在另一個頁面暫存器中。之後,儲存的結果資料使用頁面複製方法儲存在儲存單元陣列中,並且實施例可以根據需要多次重複資料流以完成本地化資料流的處理,而不需要任何長距離資料傳輸。
上述的條件式存取資料流目的在通過在每一層的處理中使用加法代替乘法來進一步減少資料傳輸、資料移動消耗的能量和複雜性,可通過使用頁面資料暫存器來完成的,如第12圖所示,實施例可根據W(例如權重資料)有條件式的存取X(例如特徵圖像資料)。
如第13圖所示,一8位元資料乘以另一8位元資料可以表示為一個8個元素的向量X0至X7乘以另一個8個元素的向量W0至W7,乘積為16位元向量資
料。實施例可以控制第12圖的頁面暫存器條件式存取逐位元乘法資料以計算如第13圖所示的16位元的向量資料。例如,位元A3的資料需要X3×W0、X2×W1、X1×W2及X0×W3的總和,X3×W0表示X3和W0的乘積。
之後,實施例可以將處理區塊作為乘法結果累加的資料複製到原位處理區塊的頁面暫存器或相鄰處理區塊中的頁面暫存器。由於資料傳輸佔卷積神經網路所消耗功率的90%至99%,因此這種頁面複製與條件式存取相結合的方法可顯著節省功率。
簡而言之,條件式存取資料包括通過啟動表示為Wj的選擇位元來存取Xi(儲存在儲存單元陣列一行中的頁面資料),使得存取的資料為Xi×Wj(即Xi AND Wj)而不是原本的Xi,並且條件式存取資料的總和Xi×Wj在特定排列中等於兩個向量X和W的乘積。此外,條件式存取的資料包括通過啟動多個選擇位元(Wj,Wj+1,Wj+2,...)來存取Xi(儲存在儲存單元陣列的一行中的頁面資料)。結果可表示為(Xi×Wj,Xi×Wj+1,Xi×Wj+2,...),這些條件式存取資料在特定排列中的總和等於兩個向量X和W的乘積。
第14A及14B圖分別說明卷積運算的過程。在第14A圖的實施例中,使用了3×3×3的濾波器,應用於輸入資料的三個通道。圖中右側,因為一個通道的濾波器是3×3,所以一個通道的特徵圖像素資料會乘以3×3矩陣的9個像素資料之一,其結果為9個圖像。然後像素資料會儲存在儲存單元陣列,或者,通過一些存取方法(例如頁面複製方案),儲存在最接近的運算處理元件區塊的高速緩衝記憶體中。
第14B圖是儲存在對應儲存單元陣列位置中的逐像素相乘資料總和的示意圖。實施例跳過列及/或行的資料存取以配合卷積窗口的運算處理。
綜上所述,頁面資料可以依序從一個區塊傳輸到相鄰區塊,並從重複傳輸直到到達目標區塊。在基於此頁面資料複製方法的裝置中,使用條件式存取方法結合算術從頁面暫存器存取資料單元可以最少的資料移動執行深度卷積神經網路的運算,在人工智慧系統中實現高性能和節省能耗必需以最低限度的資料移動方式執行運算,因此本發明實施例可達到此目的。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100:記憶體模組
101:記憶庫
102:次級半導體晶片
110:字元線解碼器
120:儲存單元陣列
130:頁面暫存器
150:周邊電路
152:存取電路
BL,BLF:位元線
WL:字元線
Claims (12)
- 一種資料處理裝置,包括:一儲存單元陣列,分成複數個區塊;複數個頁面暫存器,連接至該儲存單元陣列的該些區塊的一邊緣區塊,該些頁面暫存器是基於一頁面複製方法存取頁面資料;及一運算處理元件,連接到該些頁面暫存器,其中有條件地及/或直接地讀取來自該些頁面暫存器的資料係被處理以完成人工智慧系統之機器學習中的乘法及/或累加。
- 如請求項1所述的資料處理裝置,其中該儲存單元陣列包括一列解碼器及一頁面暫存器解碼器,皆耦接至該儲存單元陣列,並且通過該列解碼器及該頁面暫存器解碼器之順序,矩陣向量乘法、矩陣-矩陣乘法或就地捲積(in-place convolution)可藉由結合該運算處理元件中執行的算術來完成。
- 如請求項1所述的資料處理裝置,其中該運算處理元件分別執行不同通道的資料累加。
- 如請求項1所述的資料處理裝置,其中靠近該些頁面暫存器的儲存單元陣列區塊是被指定為在運算期間儲存中間資料的高速緩衝記憶體。
- 如請求項1所述的資料處理裝置,其係與一中央處理器結合操作用以處理機器學習。
- 如請求項1所述的資料處理裝置,其中該些頁面暫存器、該運算處理元件及該儲存單元陣列係整合於同一半導體晶片。
- 如請求項1所述的資料處理裝置,其中該些頁面暫存器、該運算處理元件及該儲存單元陣列係整合於至少兩個不同的半導體晶片中,並且該些半導體晶片彼此耦接。
- 如請求項1所述的資料處理裝置,其中該儲存單元陣列的該邊緣區塊與該儲存單元陣列的一周邊區塊相鄰。
- 如請求項1所述的資料處理裝置,其中該儲存單元陣列是動態隨機存取記憶體陣列。
- 如請求項1所述的資料處理裝置,其中頁面複製存取的資料Xi被鎖存在該些頁面暫存器的一頁面暫存器中,並且通過啟動該頁面暫存器的列選擇位元,表示為Wj,使存取的資料是XiWj,並且條件式存取的資料XiWj在特定排列中的總和等於兩個向量X和W的乘積。
- 如請求項1所述的資料處理裝置,其中頁面複製存取的資料Xi被鎖存在該些頁面暫存器的一頁面暫存器中,並且通過啟動多個選擇位元,該些選擇位元表示為向量W(Wj,Wj+1,Wj+2,...)並且該些選擇位元耦接至同一頁面暫存器,使存取的資料表示為向量XiW或(Xi×Wj,Xi×Wj+1,Xi×Wj+2,...),該些資料在特定排列中的總和等於兩個向量X和W的乘積。
- 如請求項1所述的資料處理裝置,其中由該運算處理元件累加的資料被複製到一相鄰處理區塊中的複數個頁面暫存器。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/037,755 | 2020-09-30 | ||
US17/037,755 US11250904B1 (en) | 2020-09-30 | 2020-09-30 | DRAM with inter-section, page-data-copy scheme for low power and wide data access |
US17/476,473 | 2021-09-15 | ||
US17/476,473 US11755685B2 (en) | 2020-09-30 | 2021-09-15 | Apparatus for data processing in conjunction with memory array access |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202215426A TW202215426A (zh) | 2022-04-16 |
TWI786857B true TWI786857B (zh) | 2022-12-11 |
Family
ID=80821320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110136298A TWI786857B (zh) | 2020-09-30 | 2021-09-29 | 資料處理裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11755685B2 (zh) |
CN (1) | CN114333928A (zh) |
TW (1) | TWI786857B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069851A1 (en) * | 2004-09-30 | 2006-03-30 | Chung Hyun-Mo | Integrated circuit memory devices that support detection of write errors occuring during power failures and methods of operating same |
US8812777B2 (en) * | 2011-12-09 | 2014-08-19 | Hynix Semiconductor Inc. | Nonvolatile memory device |
US9870833B2 (en) * | 2016-03-23 | 2018-01-16 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including page buffer and method for verifying program operation thereof |
US10403389B2 (en) * | 2016-06-16 | 2019-09-03 | Micron Technology, Inc. | Array plate short repair |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100224769B1 (ko) | 1995-12-29 | 1999-10-15 | 김영환 | 고속 버스트 리드/라이트 동작에 적합한 데이타 버스 라인 구조를 갖는 반도체 메모리 장치 |
JP3961680B2 (ja) * | 1998-06-30 | 2007-08-22 | 株式会社東芝 | 半導体記憶装置 |
US6198682B1 (en) | 1999-02-13 | 2001-03-06 | Integrated Device Technology, Inc. | Hierarchical dynamic memory array architecture using read amplifiers separate from bit line sense amplifiers |
JP2001053243A (ja) | 1999-08-06 | 2001-02-23 | Hitachi Ltd | 半導体記憶装置とメモリモジュール |
JP2002216471A (ja) * | 2001-01-17 | 2002-08-02 | Mitsubishi Electric Corp | 半導体記憶装置 |
JP3881869B2 (ja) | 2001-11-05 | 2007-02-14 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
KR100602188B1 (ko) | 2004-07-27 | 2006-07-19 | 주식회사 하이닉스반도체 | 비트라인 센스앰프 및 이를 구비하는 반도체 메모리 소자 |
KR100555568B1 (ko) | 2004-08-03 | 2006-03-03 | 삼성전자주식회사 | 온/오프 제어가 가능한 로컬 센스 증폭 회로를 구비하는반도체 메모리 장치 |
KR100935720B1 (ko) | 2007-05-17 | 2010-01-08 | 주식회사 하이닉스반도체 | 입/출력라인 감지증폭기 및 이를 이용한 반도체 메모리장치 |
JP5319917B2 (ja) * | 2007-12-28 | 2013-10-16 | 株式会社東芝 | 半導体記憶装置 |
US8760921B2 (en) * | 2012-08-28 | 2014-06-24 | Kabushiki Kaisha Toshiba | Storage device and control method of nonvolatile memory |
US9922695B2 (en) * | 2015-03-25 | 2018-03-20 | Intel Corporation | Apparatus and method for page copying within sections of a memory |
US9767919B1 (en) | 2016-04-15 | 2017-09-19 | Micron Technology, Inc. | Systems and methods for testing a semiconductor memory device having a reference memory array |
KR20190073102A (ko) | 2017-12-18 | 2019-06-26 | 삼성전자주식회사 | 비트 라인 감지 증폭기, 반도체 메모리 장치, 그리고 그것의 멀티 비트 데이터의 센싱 방법 |
US10956813B2 (en) * | 2018-09-28 | 2021-03-23 | Intel Corporation | Compute-in-memory circuit having a multi-level read wire with isolated voltage distributions |
US11061646B2 (en) * | 2018-09-28 | 2021-07-13 | Intel Corporation | Compute in memory circuits with multi-Vdd arrays and/or analog multipliers |
US11138499B2 (en) * | 2018-09-28 | 2021-10-05 | Intel Corporation | Applications of back-end-of-line (BEOL) capacitors in compute-in-memory (CIM) circuits |
US11231930B2 (en) * | 2019-11-25 | 2022-01-25 | Alibaba Group Holding Limited | Methods and systems for fetching data for an accelerator |
US11183231B2 (en) | 2019-11-25 | 2021-11-23 | Piecemakers Technology, Inc. | Apparatus for enhancing prefetch access in memory module |
-
2021
- 2021-09-15 US US17/476,473 patent/US11755685B2/en active Active
- 2021-09-29 TW TW110136298A patent/TWI786857B/zh active
- 2021-09-30 CN CN202111160358.7A patent/CN114333928A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069851A1 (en) * | 2004-09-30 | 2006-03-30 | Chung Hyun-Mo | Integrated circuit memory devices that support detection of write errors occuring during power failures and methods of operating same |
US8812777B2 (en) * | 2011-12-09 | 2014-08-19 | Hynix Semiconductor Inc. | Nonvolatile memory device |
US9870833B2 (en) * | 2016-03-23 | 2018-01-16 | Samsung Electronics Co., Ltd. | Nonvolatile memory device including page buffer and method for verifying program operation thereof |
US10403389B2 (en) * | 2016-06-16 | 2019-09-03 | Micron Technology, Inc. | Array plate short repair |
Also Published As
Publication number | Publication date |
---|---|
US20220100816A1 (en) | 2022-03-31 |
TW202215426A (zh) | 2022-04-16 |
US11755685B2 (en) | 2023-09-12 |
CN114333928A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5568428A (en) | Memory device and serial-parallel data transform circuit | |
US5499215A (en) | Semiconductor memory | |
US6775172B2 (en) | Nonvolatile ferroelectric memory and method for driving the same | |
JPH0836885A (ja) | ダイナミックランダムアクセスメモリ | |
JP3181311B2 (ja) | 半導体記憶装置 | |
US6574128B1 (en) | Mid array isolate circuit layout | |
US6515927B2 (en) | Semiconductor memory having a wide bus-bandwidth for input/output data | |
JPH05234362A (ja) | 半導体記憶装置 | |
JP2823466B2 (ja) | 半導体記憶装置 | |
TWI786857B (zh) | 資料處理裝置 | |
JP2002074938A (ja) | 半導体記憶装置 | |
US20040119105A1 (en) | Ferroelectric memory | |
WO2022082796A1 (zh) | 一种存储器及数据迁移方法 | |
US6822917B2 (en) | Data write circuit in memory system and data write method | |
WO1999004398A1 (fr) | Memoire a capacite de traitement | |
US20110304382A1 (en) | Semiconductor device and data processing system | |
JP2004355691A (ja) | 半導体装置 | |
JPH05314763A (ja) | 半導体記憶装置 | |
TWI755211B (zh) | 對資料在記憶體陣列區塊間作讀取、寫入及複製的方法、及記憶體晶片 | |
US6021064A (en) | Layout for data storage circuit using shared bit line and method therefor | |
US7099178B2 (en) | Ferromagnetic random access memory | |
JP2590701B2 (ja) | 半導体記憶装置 | |
US20230368834A1 (en) | Apparatus for Page-copy Data Accessing | |
WO2009064619A1 (en) | Apparatus and method for segmentation of a memory device | |
JPH1131794A (ja) | 半導体記憶装置 |