[go: up one dir, main page]

TWI783369B - 準揮發性系統級記憶體 - Google Patents

準揮發性系統級記憶體 Download PDF

Info

Publication number
TWI783369B
TWI783369B TW110104437A TW110104437A TWI783369B TW I783369 B TWI783369 B TW I783369B TW 110104437 A TW110104437 A TW 110104437A TW 110104437 A TW110104437 A TW 110104437A TW I783369 B TWI783369 B TW I783369B
Authority
TW
Taiwan
Prior art keywords
memory
quasi
data
memory device
volatile memory
Prior art date
Application number
TW110104437A
Other languages
English (en)
Other versions
TW202143048A (zh
Inventor
羅伯D 諾瑪
伊萊 哈拉利
坎德克 納茲魯爾 奎德
法蘭克 士強 李
理查S 謝爾尼科夫
允哲 金
梅爾達德 莫菲蒂
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 TW202143048A publication Critical patent/TW202143048A/zh
Application granted granted Critical
Publication of TWI783369B publication Critical patent/TWI783369B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • H10W72/20
    • H10W90/00
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • H10W90/297
    • H10W90/722
    • H10W90/792

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Read Only Memory (AREA)

Abstract

可以由準揮發記憶體電路、邏輯電路和靜態隨機存取記憶體電路建造的高容量的系統記憶體。使用該靜態隨機存取記憶體電路作為該準揮發記憶體電路的緩衝器或快取,該系統記憶體可以達到該靜態隨機存取記憶體電路的延遲性能,並且可以作為程式碼記憶體。該系統記憶體也能進行直接記憶體存取操作,以及包含用於計算性記憶體工作的數值邏輯單元。該系統記憶體可以包含一或多個嵌入式處理器。此外,該系統記憶體可以為多個主機記憶體透過多個主機埠存取的多通道記憶體。該系統記憶體可以為雙排插記憶體模組格式。

Description

準揮發性系統級記憶體
本發明係關於半導體記憶體與其用法和技術。更精確地說,本發明係關於與半導體記憶體積體電路、使用半導體記憶體積體電路的模組、其範例結構與其用法相關連的系統能力。
本申請係關於(i)於2020年二月7日申請的美國臨時專利申請案I,申請案號為62/971,589,名稱為「準揮發記憶體系統」;(ii)於2020年二月24日申請的美國臨時專利申請案II,申請案號為62/980,596,名稱為「準揮發記憶體系統級記憶體」;(iii)於2020年五月20日申請的美國臨時專利申請案III,申請案號為63/027,850,名稱為「準揮發記憶體系統級記憶體」。本申請也相關於(i)於2020年二月7日申請的美國臨時專利申請案IV,申請案號為62/971,720,名稱為「具有低有效延遲的高容量記憶體電路」;以及(ii)於2020年二月24日申請的美國臨時專利申請案V,申請案號為62/980,571,名稱為「用於共享記憶體存取的通道控制器」。美國臨時專利申請案I至V(通稱為臨時專利申請案)的全部內容在此作為參考。
具有多種不同技術與架構的傳統記憶體系統已為人所知。舉例來說,可以基於主機計算機、電信裝置或其他硬體與軟體(此後,上述的記憶體存取裝置被稱之為主機、主機處理器或主機系統)的需求與記憶體存 取的態樣來選擇一記憶體系統當中的元件。在傳統的主機系統當中,記憶體系統可以包含不同種類的記憶體,諸如隨機存取記憶體、快閃記憶體、唯讀記憶體以及其他合適種類的記憶體裝置。
在先前技術當中,隨機存取記憶體是典型的揮發記憶體裝置,其用於儲存主機中最常存取的資料。當斷電時,揮發記憶體會喪失它的資料。隨機存取記憶體的例子包含靜態隨機存取記憶體與動態隨機存取記憶體。典型的靜態隨機存取記憶體電路是由交叉耦合電晶體(cross-coupled transistor)組成的單一位元正反器(flip-flop)。典型的動態隨機存取記憶體電路包含一個存取電晶體與一個存儲電容。為了補償從該電容洩漏的電荷,動態隨機存取記憶體電路需要經常再充電(refresh)以便保持其儲存的資料。由於典型的動態隨機存取記憶體電路比典型的靜態隨機存取記憶體電路具有較少的元器件,動態隨機存取記憶體電路能夠比靜態隨機存取記憶體電路達到更高的資料密度,然而,典型的靜態隨機存取記憶體電路的速度較快,且不需要再充電。
由於它們的成本與密度優勢,動態隨機存取記憶體是服務主機系統的主宰技術,其中有很多主機系統被稱之為中央處理器。如在本申請中提到的,中央處理器一詞可以指涉用於管理並存取記憶體系統的任何邏輯電路,因此包含了如圖形處理器之類的這種裝置。最近,由於越來越難改進其電路密度(例如,縮小該存儲電容的實際尺寸),所以看來動態隨機存取記憶體將要到達其極限。當動態隨機存取記憶體電容尺寸縮小時,需要較高的再充電率,導致能耗增加。改變再充電頻率的一項障礙是合規的主機系統必須遵循的工業標準(例如JEDEC所制定的雙倍資料率DDR標 準)。再者,較高的再充電率減少了可供主機存取記憶體的時間佔比,因而嚴重地影響效能。維持傳統再充電率的一種方法是在每一個再充電循環中對更多記憶體單元進行再充電,但要付出能耗與散熱的代價。這些情況限制了動態隨機存取記憶體密度的目前的成長速率。
因此,長久以來就需要一種不同的記憶體類型,其不具有傳統功率與密度的限制。一種新型態的記憶體,稱之為準揮發記憶體,被人們相信可以具有如動態隨機存取記憶體相當的性能,但具有遠較高的密度。例如,在2018年十一月16日核發的美國專利第10,121,553號,名稱為「在三維陣列中的電容性耦合的非揮發性薄膜電晶體非或串」(稱之為哈拉利Harari專利)揭露了準揮發記憶體。本申請在此使用哈拉利專利的全部內容做為參考。如同那些非揮發記憶體,準揮發記憶體的每一個記憶體單元利用在電荷儲存材料(例如ONO)中的電荷作為資料位元。在一範例中,可以利用在一半導體基板上形成的非或形態的記憶體串的三維陣列實現一種高密度的準揮發記憶體。由於其電荷儲存層的特性,典型的準揮發記憶體單元比動態隨機存取記憶體單元具有遠較長的資料留存時間,因此有比動態隨機存取記憶體單元更低的再充電率。舉例來說,一種典型的動態隨機存取記憶體系統設計為每78微秒就要再充電;然而,具有類似的存取效能的準揮發記憶體可以每隔10分鐘才需要再充電。較低的再充電率使得準揮發記憶體在較低的電源、較少的散熱與較高的備便率方面具有很大的優勢。該記憶體備便率(availability)提供了更好的主機效能。
在非揮發記憶體與準揮發記憶體進行寫入操作時,需要先進行擦除操作,準揮發記憶體以遠遠較短的時間內(例如,十分之一微秒的等 級)完成這項作業。此外,由於非揮發記憶體通常需要同時對大的記憶體單元區塊同時進行該擦除操作,因此通常需要由複雜的控制器來管理該擦除操作。再者,由於在較低電壓下操作所導致的低磨耗率(wear-out),典型的準揮發記憶體單元(1012擦除-編程循環)較傳統的非揮發記憶體記憶體(104擦除-編程循環)具有較高的耐用度。
根據本發明的一實施例,一記憶體裝置包含:(a)多個準揮發記憶體電路,其每一個該準揮發記憶體電路形成於一獨立的半導體基板上,並且透過該些半導體基板中形成的矽穿孔互連;以及(b)一記憶體控制器電路,也形成於一半導體基板,其與該些準揮發記憶體電路的該些半導體基板是獨立的,其中該記憶體控制器電路透過混合接合連接到該些準揮發記憶體電路之一,以及其中該記憶體控制器電路用於操作該些準揮發記憶體電路以作為一或多個準揮發記憶體。該記憶體裝置可以用於形成較大的記憶體裝置,例如印刷電路板記憶體模組,雙排插記憶體模組、或是任何能用晶圓級堆疊技術製作的記憶體模組。
在一實施例中,每一個準揮發記憶體電路包含在其所形成的該半導體基板上,以二維度陣列(例如以列和行)排列的多個模組化記憶體電路(磚)。每一個準揮發記憶體電路可以在邏輯上或實體上由多個記憶體排或排組組成。記憶體控制器電路也可以被模組化,以便令多個模組化控制電路混合接合到相應的該些磚,以達成模組化的控制與記憶體功能。
多個準揮發記憶體電路可以一個堆疊在另一個之上以便具有統一的足印,但不需要彼此相同。舉例來說,某些準揮發記憶體電路可 以比其他的準揮發記憶體電路具有更多層的記憶體單元。該些準揮發記憶體電路也可以具有不同的操作性能。
根據本發明的一實施例,在該準揮發記憶體電路中實現的該準揮發記憶體可以由一或多個不重疊的區分組成。該記憶體控制器電路可以提供多個記憶體控制器,每一個記憶體控制器負責一群指定區分的控制操作。每個區分群可以由一主機處理器透過一個記憶體介面存取一記憶體通道。
本發明的準揮發記憶體電路可以執行記憶體內計算指令,而該記憶體控制器電路可以包含計算元件,例如一或多個數值邏輯單元或處理器(例如精簡指令集電腦處理器)。此外,記憶體內部間的複製操作,直接記憶體存取操作與搜尋操作可以由該些計算元件執行,而無須主機介入。
該些靜態隨機存取記憶體電路可以用於多種應用,諸如資料緩衝、作為該些計算元件的程式儲存區,以及該準揮發記憶體電路的快取記憶體。當針對主機處理器的準揮發記憶體交易和快取線交易的資料單位作適當的選擇,以及選用適合的資料預提取策略,本發明的準揮發記憶體可以達到接近該些靜態隨機存取記憶體電路的有效性能。可以實作多種不同的記憶體讀取與寫回策略,以便滿足準揮發記憶體所適用之應用的要求。
根據本發明的一實施例,可以利用一雙排插記憶體模組形式來打造一準揮發記憶體系統(準揮發記憶體雙排插記憶體模組/QVDIMM)。該準揮發記憶體雙排插記憶體模組可以利用先前所提的該些準揮發記憶體裝置、一記憶體介面與一雙排插記憶體模組處理器電路來打造,該雙排插記憶體模組處理器電路用於控制該些記憶體裝置與該記憶體介面電路的操 作。該準揮發記憶體雙排插記憶體模組可以支援多記憶體通道。此外,該記憶體內計算與操作能力(例如記憶體內間的複製與搜尋操作)可以在雙排插記憶體模組層級執行。再者,當雙排插記憶體模組處理器電路跨越多個準揮發記憶體雙排插記憶體模組來執行上述操作時,這些能力可以延伸到更高的層級。
可以藉由以下的詳細說明與相關的圖式更好地理解本發明。
100:準揮發記憶體模組
101:記憶體晶片
102:控制器晶片
103-1、103-2、103-3、103-n:磚
104:解碼器與驅動電路
105:讀取放大器
106:銅柱
107-1、107-2:排
108:排組
300:準揮發記憶體模組
301a、301b、301c:記憶體晶片
302:控制器晶片
303a、303b、303c:記憶體通道或信號群
304:中介裝置
305:錫球
500:選擇電路
501a、501b、501c:記憶體晶片
502:控制器晶片
701:多工器
702:暫存器檔案
200:準揮發記憶體模組
201a、201b、201c:準揮發記憶體模組
202a、202b、202c:控制器晶片
203:中介層晶片
204:封裝體基板
205:錫球
400:準揮發模組
401a、401b、401c、401d:記憶體晶片
402:控制器晶片
403a、403b:信號群
404a:記憶體控制器(左)
404b:記憶體控制器(右)
600:記憶體控制電路
601a、601b、601c、601d:區分
602a~602n:多工器
603:位址解碼器
604:驅動電路
605:記憶體介面電路
606a、606b、606c、606d:匯流排
608:數值邏輯電路
800:控制器晶片
703:多工器
704:數值邏輯單元
705:序列器或狀態機
900:準揮發記憶體模組
901:位址與資料多工器
902:直接記憶體存取控制邏輯電路
903:可配置的輸入與輸出埠
904:精簡指令集電腦處理器匯流排
911:直接記憶體存取記憶體介面匯流排
912:處理器匯流排
1000:準揮發記憶體模組
1001a:指令段
1001b:狀態段
1002a:靜態隨機存取記憶體指令段
1002b:靜態隨機存取記憶體狀態段
1300:電腦系統
1301:中央處理器
1302:圖形處理器
1303a、1303b:準揮發記憶體模組
1304:周邊控制器
1305:磁碟快取
801a:記憶體介面
801b:記憶體介面或處理器匯流排
802:準揮發記憶體
802a、802b:記憶體陣列支援電路
803:序列埠
804、804a、804b:精簡指令集電腦處理器
805、805a、805b:靜態隨機存取記憶體
850:控制器晶片
1200:準揮發記憶體模組
1201:快取控制器
1202:主機介面
1400:準揮發記憶體雙排插記憶體模組
1401、1401a~1401d:記憶體介面
1402:交換矩陣
1403、1403a~1403d:靜態隨機存取記憶體
1404、1404a~1040d:記憶體區分
1405a~1405d:記憶體通道
1410a~1410d:處理器
1306:Gen-z介面
1501:處理器
1502a~1502h:準揮發記憶體模組
1503:準揮發記憶體陣列
1510a~1510d:準揮發記憶體雙排插記憶體模組
1700:準揮發記憶體模組
1701:記憶體晶片
1702:控制器晶片
1711:磚
1712:記憶體介面
1713:讀取放大器
1714、1714a、1714b:靜態隨機存取記憶體
1715:快取控制器
1716:記憶體介面
1717:磚
1719e、1719n:頁解碼器
1900:快取控制器
1901:準揮發記憶體
1901(i)~1901(n):準揮發記憶體
1902:快取狀態機
1450:電腦系統
1600:準揮發記憶體雙排插記憶模組
1601:處理器
1602:靜態隨機存取記憶體
1603:雙排插記憶體模組控制電路
1604a~1604c:準揮發記憶體模組
1605:準揮發記憶體模組
1606:記憶體介面資料匯流排
1607:控制匯流排
1800:流程
2100:準揮發記憶體雙排插記憶體模組控制器
2101:指令緩衝器
2102:狀態緩衝器
2103a、2103b:控制邏輯電路
2104:緩衝器
2105:緩衝器
2106:精簡指令集電腦處理器
2107:讀取/寫入資料信號
2108:位址信號
2109:主機介面電路
2110:靜態隨機存取記憶體
1903(i):位址緩衝器部分
1903(ii):標籤部分
1904:主機介面電路
1905:資料快取
1905(i)~1905(n):靜態隨機存取記憶體快取緩衝器資料
1906:讀取/寫入狀態機
1907:糾錯碼電路
1908:頁緩衝器
1909:位址解碼器與輸入和輸出驅動電路
1910:記憶體陣列
1911:資料匯流排
1913:記憶體介面匯流排
1914(i)、1914(ii):位址匯流排
1915:靜態隨機存取記憶體快取緩衝器
1950:快取控制器的一操作範例
1951:多工器
1952(i)~1952(n):序列器
1953:主機寫入資料匯流排
1954:寫入資料匯流排
2111:I2C序列介面
2130:處理器匯流排
2131:記憶體匯流排
2140:主機介面匯流排
2200:準揮發記憶體雙排插記憶體模組
2201:中介(interposer)裝置
2202:非揮發記憶體模組
2205:準揮發記憶體雙排插記憶體模組快取控制器
2204(i)~2204(viii):準揮發記憶體模組
2206(i)、2206(ii):導線群
2207(i)、2207(ii):邊緣連接器
2300:格柵球陣列插座系統
2301:中介裝置
2303:中央處理器
2304:準揮發記憶體模組
2305:圖形處理器
2308(i)、2308(ii):記憶體介面電路
2309:插座
2310:現場可程式化邏輯閘陣列電路
2400:封裝體
1955:位址匯流排
1970:系統
1990:系統
Asgn0、Asgn1、Asgn2:識別碼
Address:位址信號
CS0、CS1、CS2:信號
CLK:時脈信號
CPU:中央處理器
Die 0、Die 1、Die 2、die3:晶片
Data:資料信號
DMA:直接記憶體存取
DIMM:雙排插記憶體
DDR:雙倍資料率
Disk:磁碟
Dirty:骯髒
GRND、gnd:地面
HBM:高頻寬記憶體
Hit:命中
Infrd:讀取的資訊
Infwr:寫入的資訊
In:輸入
I/O:輸入/輸出
2401(i)、2401(ii):塔型連接器
2403:塔型中介裝置
2404:外殼
Intf:介面
Intf Cnt:介面計數器
NIC:網路介面卡
Out:輸出
Page(s):頁
Partial:部分
QVM:準揮發記憶體
RISC:精簡指令集電腦
Row:列
SRAM:靜態隨機存取記憶體
SA:讀取放大器
TSV(s):矽穿孔
USB:通用序列匯流排
[以下為圖18之符號說明]
New CMD:新指令
RD:讀取
Page In SRAM:該頁已存在靜態隨機存取記憶體
Rd Data and Send to host:讀取資料並且送到主機
Exit Rd/Read:讀取結束
Fetch page:提取頁
Fetch Lookahead Pages:提取預測頁
WR:寫入
Rd Pg to SRAM:將頁讀取到靜態隨機存取記憶體
Update Page:更新頁
Look ahead Pgs present:預測頁已讀取
Queue for write:寫入操作排進佇列
Check ok to write:檢查寫入完成
Active page not this page:本頁非致活頁
Erase Page:擦除頁
Check if Conflicts:檢查是否衝突
Program Page:編程頁
Mark as Rd Page:標記為讀取頁
Exit to start:回到開始處
圖1(a)、1(b)、1(c)(i)與1(c)(ii)顯示多晶片的準揮發記憶體模組100,其包含了記憶體晶片101與控制器晶片102;多個記憶體陣列由記憶體晶片101上的磚所組成,用於控制記憶體晶片101的該些記憶體陣列的一記憶體控制器102形成於記憶體晶片上。
圖2顯示根據本申請一實施例的準揮發記憶體模組200,其包含在一個封裝體內的多個準揮發記憶體模組201a、201b與201c以及中介層晶片203。
圖3顯示根據本發明一實施例的準揮發記憶體模組300,其包含記憶體晶片301a至301c與控制器晶片302,其組織為記憶體通道或信號群303a至303c。
圖4顯示根據本發明一實施例的準揮發模組400,其包含區分為信號群403a與403b的記憶體晶片401a至401d和控制器晶片402。
圖5顯示根據本發明一實施例的選擇電路500,其用於將識別碼Asgn0、Asgn1與Asgn2的其中之一指定給每一個記憶體晶片501a至501c,使得每一個記憶體晶片係根據一相應的選擇信號CS0、CS1與CS2加以選擇。
圖6顯示根據本發明一實施例的準揮發記憶體模組中的記憶體控制電路600;該記憶體控制電路600處理一信號群當中的讀取與寫入操作,該信號群包含了區分601a至601d,每一個區分由準揮發記憶體模組中的一記憶體晶片所提供。
圖7為根據本發明一實施例的一種數值邏輯電路608,其具有記憶體內檔案複製的功能。
圖8(a)為根據本發明一實施例的準揮發記憶體模組中的控制器晶片800的一方塊示意圖,其包含精簡指令集電腦處理器804與靜態隨機存取記憶體805。
圖8(b)為根據本發明一實施例的準揮發記憶體模組中的控制器晶片850的一方塊示意圖,其包含精簡指令集電腦處理器804a與804b,其分別由靜態隨機存取記憶體805a與805b提供服務。
圖9為根據本發明一實施例的準揮發記憶體模組900的一功能方塊示意圖。
圖10顯示根據本發明一實施例之使用指令-狀態交換協定的準揮發記憶體模組1000。
圖11為根據本發明一實施例的指令段1001a與狀態段1001b,其以佇列的方式組織。
圖12為根據本發明一實施例的準揮發記憶體模組1200的一功能方塊示意圖,準揮發記憶體模組1200包含快取控制器1201。
圖13為根據本發明一實施例的電腦系統1300的一功能方塊示意圖,該電腦系統1300包含中央處理器1301、圖形處理器1302、由準揮 發記憶體模組1303a與1303b實現的準揮發記憶體、磁碟快取(或隨機存取記憶體磁碟)1305與周邊控制器1304,上述的全部都藉由Gen-z介面1306進行通信。
圖14(a)顯示根據本發明一實施例的準揮發記憶體雙排插記憶體模組1400,其包含了記憶體區分1404a至1404d,每個區分分別包含相應的靜態隨機存取記憶體1403a至1403d。
圖14(b)顯示根據本申請一實施例的電腦系統1450,其包含分別耦接到準揮發記憶體雙排插記憶體模組1400的記憶體通道1405a至1405d的處理器1410a至1410d。
圖15(a)、15(b)、15(c)與15(d)為分別根據本發明一實施例的準揮發記憶體雙排插記憶體模組1510a至1510d,每個準揮發記憶體雙排插記憶體模組包含處理器1501,其分別以(a)單級(rank)架構和8位元記憶體介面,(b)雙級架構和16位元記憶體介面,(c)四級架構和32位元記憶體介面,(d)單級架構和64位元記憶體介面來存取八個準揮發記憶體模組(亦即準揮發記憶體模組1502a至1502h)。
圖16為根據本發明一實施例的準揮發記憶體雙排插記憶體模組1600的一方塊示意圖,其包含的精簡指令集電腦處理器1601用於管理在準揮發記憶體雙排插記憶體模組1600當中的準揮發記憶體內的記憶體內計算。
圖17(a)與(b)為根據本發明一實施例提供準揮發記憶體模組1700中的記憶體晶片1701的磚1711到控制器晶片1702的記憶體介面1712的一讀取路徑的一功能示意圖。
圖18為根據本發明一實施例,實施所述的快取策略的一快取控制器(例如快取控制器1715)的一簡化流程圖1800。
圖19為根據本申請一實施例的準揮發記憶體1901上的快取控制器1900的操作的方塊示意圖。
圖20(a)顯示根據本發明一實施例的快取控制器1900的一範例1950的操作細節。
圖20(b)顯示根據本發明一實施例的系統1970,其中資料緩衝器1905被區分為靜態隨機存取記憶體區塊1905(i),…,1905(n),每個區分的大小為準揮發記憶體1901的一個記憶體區塊,使得在資料緩衝器1905中的每個靜態隨機存取記憶體區塊會快取準揮發記憶體1901相對應排的一個記憶體區塊。
圖20(c)為根據本發明一實施例的系統1990,其靜態隨機存取記憶體資料緩衝器1905可以從準揮發記憶體1901分開來定址。
圖21為根據本發明一實施例的準揮發記憶體雙排插記憶體模組控制器2100,其包含了能實現記憶體內計算指令的精簡指令集電腦處理器2106、指令緩衝器2101與狀態緩衝器2102。
圖22顯示根據本發明一實施例的準揮發記憶體雙排插記憶體模組2200當中的中介裝置2201(例如一塊矽基板),該中介裝置2201容納了在準揮發記憶體模組與一或多個處理器(例如由一或多個晶片或模組所提供)之間所需的線路。
圖23(a)與23(b)分別為根據本發明一實施例的包含中介裝置2301的格柵球陣列插座系統2300之範例的側視圖和上視圖。
圖24顯示根據本發明一實施例的封裝體2400,其包含由塔型連接器(tower connector)2402(i)與2402(ii)所連接的多個系統板,該塔型連接器接觸該些系統板的板連接器。
雖然前述的圖式描繪了本發明的多種範例,但本發明並不受限於這些已描繪的範例。在這些圖式當中,相似的標號標示著類似的結構元件。再者,圖式的描繪方式並不需要按照比例。
在此詳細說明當中,本發明的不同實施例或範例可以用不同的方式加以實作,包括以系統、流程、裝置、記錄在電腦可讀取媒體中的一連串程式指令(例如一電腦可讀取儲存媒介或是透過光學、電子或無線通信連結的一電腦網路中的一連串程式指令)。
本發明可以適用於一種系統,其整合了一準揮發記憶體晶片與一邏輯晶片(例如使用混合接合),以便獲得該系統架構中的系統級特徵所帶來的新功能。上述的某些功能已經被揭露了,例如在申請中的坎德克(Khandker)專利申請案,於2020年一月29日提出申請,美國專利申請號為16/776,279的「具有利用晶圓接合的嵌入式高頻寬高容量記憶體的裝置」。特別是,準揮發記憶體可以被用於在記憶體為中心之計算的應用,而現行的動態隨機存取記憶體為基礎的系統架構是無法達成的。坎德克專利申請案的全部內容在此作為參考。
如同坎德克專利申請案所揭露的,可以在多晶片的形式打造準揮發記憶體電路,如圖1(a)至圖1(c)所示,其中至少有一個具有一記憶體陣列的晶片(記憶體晶片)以及一個具有記憶體控制器的晶片(控制器晶片)。 如圖1(a)所示,多晶片的準揮發記憶體模組100包含了記憶體晶片101與控制器晶片102,兩者以銅互連導體(混合接合或柱)106彼此互連。大數量的混合接合提供了高頻寬的資料介面。如同圖1(b)所示,在記憶體晶片101之上許多的記憶體陣列被組成一個二維磚103-1至103-n的陣列(多個磚是以列和行進行排列)。如圖1(c)(i)所示,每個磚也可以包含用於致活字組線的列解碼器與驅動電路104,每條字組線用於存取該磚當中的一排記憶體單元。在一實施例當中,如圖1(c)(i)所示,在每塊磚當中有多層平面的多行記憶體單元。多個行解碼器致活多條位元線,每條位元線選擇一層平面的一行記憶體單元,當與一條致活的字組線配合時,可以選擇一個記憶體單元。在一實施例中,每行記憶體單元的多層平面的記憶體單元分享讀取放大器105中的同一群讀取放大器。在一實施例中,藉由以一適合的群組大小(例如一次選擇八個位元或一個位元組)選擇連續的多條位元線,被選擇列的記憶體單元組成可以同時被讀取和輸出的一頁記憶體單元。圖1(c)(ii)顯示一致活頁的位元透過銅柱106輸出到控制器晶片102。可以使用任何合適的頁的大小(例如1024或2048個位元)。
用於存取記憶體晶片101的記憶體陣列的記憶體控制器形成於控制器晶片102。除了傳統的記憶體控制功能之外,記憶體控制器晶片102也可以包含一或多個外部介面,諸如供主機存取與其他系統功能的記憶體介面。另類地,該記憶體控制功能也可以分散到記憶體晶片101與控制器晶片102(亦即,某些控制器電路實作在記憶體晶片101之上)在此種狀況下,坎德克專利申請案揭露了利用適合於記憶體電路的製程來製作記憶體晶片,以及利用最適合於低電壓快速邏輯電路的一先進製程來製造控制器晶片, 在坎德克專利申請案當中稱之為隨伴晶片。和傳統電路相比,該隨伴晶片顯著地改善了記憶體陣列的存取。
在一實施例中,一個具有八層(亦即八個平面)的記憶體陣列提供了八頁資料以對應到每一個致活列。如果層數增加到16,則每一致活列就可以提供16頁的資料,而不會影響到磚的足印面積。當有四層平面以及每頁1024位元時,磚中的每一列具有4096個位元。當然,一塊磚裡面的列的數量可以調大或調小,以便根據所欲適用的應用來配合較長或較短的存取時間。
如圖1(b)所示,在記憶體晶片102當中的磚被排列成一個二維度陣列(亦即成列與成行排列的磚)。在此配置下,每一列的磚(磚列)形成一個操作單元,稱之為排。接下來,多個排的群組形成排組。舉例來說,圖1(b)顯示排107-1與107-2形成排組108。在此配置下,一排組內的多個排以多工的方式共享資料輸入與輸出匯流排。磚是一種建築區塊,能讓系統的配置具有彈性,以便滿足應用的需求。以磚為基礎的設計特性能以模組化的結構來混合接合連接控制器晶片102,這也導致了控制器電路的模組化。舉例來說,控制器可以採用一種基於排和排組的設計來實現同時存取大量資料。可以在控制邏輯電路中配置資料傳輸與控制,以便實現這種控制機制的多種變化。
除此之外,透過矽穿孔,多個記憶體晶片可以一個疊在一個之上彼此互連,並且在記憶體磚之間傳送資料。這種堆疊的記憶體晶片需要維持一種內部的正規拓樸與控制結構。舉例來說,在堆疊中每一個記憶體晶片的記憶體陣列可以根據以下會討論到的指定與選擇的方法論 (assign-and-select methodology)加以控制。這一種組織能夠實現讓堆疊中的每一個記憶體晶片都能完全享有對控制器晶片的高頻寬混合接合介面。此外,能因應不同的應用需要,以多種變化來得到客製化設計;可以藉由適當地配置控制器晶片中的控制器邏輯電路來實現上述的多種變化。所得到的記憶體系統具有能從一高頻寬記憶體介面存取的大的記憶體容量。
整合了至少一個記憶體晶片與至少一個控制器模組的準揮發記憶體模組實現了較快的記憶體控制器操作,也就是較快的記憶體效能。此外,由於一或多個記憶體晶片和一或多個控制器晶片可以分別利用其適合的製程獨立製造,實現了傳統記憶體電路所未能達到的新能力。藉由將具有配置與優化來適用特定記憶體操作的記憶體和控制器晶片整合在一起,準揮發記憶體模組可以讓每一個記憶體或控制器晶片的晶片面積縮小。可以利用一或多個整合技術來整合這些晶片,例如混合接合、矽穿孔、暴露的接觸點或其他適合的技術來達到非常高的互連密度。當多個記憶體晶片堆疊起來提供大記憶體容量時,能夠達到上述的優點,同時在多個記憶體晶片中共享一個記憶體控制器能夠減少單位成本。
圖2顯示根據本申請一實施例的準揮發記憶體模組200,其包含在一個封裝體內的多個準揮發記憶體模組201a、201b與201c以及中介層晶片203。如圖2所示,準揮發記憶體模組201a與201b的每一個包含兩個堆疊起來的記憶體晶片,準揮發記憶體模組201c包含三個堆疊起來的記憶體晶片;例如,在準揮發記憶體模組201a、201b與201c中的一個記憶體晶片可以藉由該記憶體晶片的一面,透過微凸塊或混合接合接收來自於另一個堆疊中的記憶體晶片的信號。這些接收信號可以由形成於該記憶體晶片表面的 導體傳導至矽穿孔TSVs,其再將信號傳導至該記憶體晶片的另一面導體。準揮發記憶體模組201a至201c係由其分別相應的控制器晶片202a至202c所控制。在準揮發記憶體模組201a至201c之間的信號傳導係經由形成於中介層基板203(例如一矽晶片)上的導體。準揮發記憶體模組200可以被固封在一傳統封裝體。在圖2當中,準揮發記憶體模組200的資料與控制信號可以藉由外部電路來傳入與傳出,例如,透過封裝體基板204(例如一印刷電路板)的錫球205連接以及透過每一個準揮發記憶體模組201a至201c的錫凸塊連接。每一個準揮發記憶體模組201a至201c的記憶體晶片可以堆疊在單一個記憶體控制器之上,每一個記憶體晶片提供至該記憶體控制器的信號集合實質上是相同的。如果需要的話,每一個記憶體晶片的信號可以藉由中間的記憶體晶片的矽穿孔TSVs連接到該控制器晶片。在這種方式下,這些記憶體晶片形成一個整合的記憶體系統,每一個記憶體晶片所接收的信號透過選擇線進行閘控。可以透過關閉任何記憶體晶片來節能。
除了堆疊中的記憶體晶片以外,準揮發記憶體模組也能包含具有其他功能的晶片,以類似的方式傳遞其信號。因此,在一準揮發記憶體模組的記憶體陣列可以用來支援那些非記憶體晶片的額外功能。因此,較小的裝置(如行動電話以及其他可攜裝置)可以被整合到一準揮發記憶體模組中形成一個非常緊緻的封裝體。再者,這種方法能讓這些小型裝置的功能電路直接透過高頻寬的連接(例如混合接合)來連上記憶體晶片,藉此達到高效能與低功耗,並且避免了瓶頸(亦即傳統記憶體匯流排以及晶片外所需的輸入與輸出驅動電路)。
當控制器晶片是由先進製程所製造時,相較於所關連的高容 量記憶體晶片的足印,記憶體控制器可以只佔用一塊小型的矽面積。優選地,記憶體晶片與控制器可以實質地使用相同的矽面積,能夠透過較短的導體來傳送之間的信令,據此避免了互連電路的延遲。據此,如有必要,控制器晶片內可以有由其他邏輯電路來佔用的矽面積。
記憶體介面提供了外部裝置(例如主機處理器)對準揮發記憶體模組的存取。在傳統記憶體系統中,是由典型的工業標準記憶體介面(例如雙倍資料率DDR或高頻寬記憶體介面)來提供存取功能。無論記憶體容量的多寡,傳統的記憶體介面是由記憶體控制器加以控制,記憶體控制器管理該記憶體系統內部組織的所有適當的信號。準揮發記憶體模組的記憶體介面也可以使用這種傳統方法來實作。舉例來說,準揮發記憶體模組可以和符合工業標準雙排插記憶體(DIMM)規格的記憶體介面封裝在一起。在一實施例中,連接到每一個記憶體晶片中的記憶體陣列的外部介面實質上是相同的。在這種配置下,每一個記憶體晶片的輸入與輸出資料的緩衝區是安排在控制器晶片當中,諸如在外部介面的邏輯電路當中。這樣的方法維持了與既有系統設計的相容性,並且提供了準揮發記憶體模組內部的傳遞效率,其前提是在記憶體控制器與每一個記憶體晶片之間與在記憶體晶片之間的信號傳遞與協定都是模組化的,並且實質上相同的。另一種做法是,當記憶體控制器獨立地連接到每一個記憶體晶片時,由於不同的繞線路徑形成不同的信號延遲時間所導致記憶體晶片之間的時脈變化,會讓取樣時間窗縮小,具有較高的錯誤率,需要額外的驅動電路給較長的線路,佔用更大的空間與較高的能耗。
圖3顯示根據本發明一實施例的準揮發記憶體模組300,其包 含記憶體晶片301a至301c與控制器晶片302,其組織為記憶體通道或信號群303a至303c。如圖3所示,每一個信號群是由記憶體晶片301a至301c中的電路所支援,而記憶體晶片301a至301c分別由控制器晶片302中的相對應電路加以控制。舉例來說,對於信號群303a與303b的每一個而言,每一個記憶體晶片的信號群的電路共享控制器晶片302的該相對應電路。在控制器302與每一個記憶體晶片之間的信號交換是藉由混合接合與矽穿孔TSVs的組合來達成。在這種安排底下,舉例來說,每個信號群可以獨立地提供自己的再充電信號以便服務其記憶體陣列,而不需要在信號群之間進行同步。在每一個信號群當中,進入每一個記憶體晶片的信號被直接傳導到形成於控制器晶片302之上的一外部介面。透過外部介面傳送的信號係經由封裝基板(例如印刷電路板),使得這些信號透過錫球305傳遞到外部的連接。(另類的做法是,未示出的中介層基板用於提供往額外準揮發記憶體模組或其他積體電路的連接。)如圖3所示,外部的連接通常包含了電源與地面電位接腳、介面控制與資料信號、以及任何合適的其他信號。
在一實施例當中,高容量的記憶體系統可以具有兩個以上的外部介面,每一個外部介面獨立地服務至少一個記憶體通道或內部信號群。在高容量記憶體系統當中,記憶體電路可以被區分為兩個不同的記憶體通道,使得由一個記憶體晶片堆疊組成的準揮發記憶體模組在邏輯上可以被視為由兩個記憶體晶片堆疊所組成的準揮發記憶體模組。這種雙重存取的功能係透過獨立控制的埠來達成更有效率的雙記憶體通道的存取。對具有128Gb或256Gb記憶體晶片的準揮發記憶體模組來說,與32Gb的動態隨機存取記憶體相比,有雙通道介面是具有優勢的。(1Gb是230個資料位元; 1GB是233個資料位元)對於具有更多容量的記憶體晶片來說,甚至可以適用更多數量的通道。
圖4顯示根據本發明一實施例的準揮發模組400,其包含區分為記憶體通道403a與403b的記憶體晶片401a至401d和控制器晶片402。在圖4當中,區分為記憶體通道403a與403b的記憶體晶片401a至401d的電路係分別由記憶體控制器404a和404b加以控制。由於準揮發記憶體陣列具有高容量,將單一個堆疊區分成更多數量的記憶體通道來提供兩個以上的記憶體介面能夠適用於許多應用當中。例如,單一準揮發記憶體模組可以支援一個具有多個處理器的系統,其中每一個處理器被分配到該準揮發記憶體模組的一個獨立記憶體通道以便執行其對應的獨立作業。這種多通道的做法確保了在記憶體層級有足夠小的粒度(granularity)以便達到更好的系統級效能。
圖5顯示根據本發明一實施例的選擇電路500,其用於將識別碼Asgn0、Asgn1與Asgn2的其中之一指定給每一個記憶體晶片501a至501c,使得每一個記憶體晶片係根據一相應的選擇信號CS0、CS1與CS2加以選擇。可以區分控制器晶片502,例如用於支援控制器晶片502中的兩個獨立記憶體控制器所獨立操作的兩個獨立記憶體通道。在這種情況下,在控制器晶片502當中的每一個記憶體通道的記憶體控制器所產生的指定與選擇信號(assignment and selection)可以通過專用路徑的矽穿孔傳送,並且由每一個記憶體晶片對其解碼。這種指定與選擇方法可以容易地延伸到在堆疊中的額外記憶體晶片。當被選擇的記憶體晶片的相對應電路以該記憶體系統的一種階級(rank)進行操作時,選擇信號CS0與CS1可以作為階級(rank)指定 者。另一種做法是,選擇信號CS0與CS1可以用於選擇一排組或一排或任何合適的記憶體組織。當然,還有其它指定與選擇方法存在,也可以加以實現,圖5所示的指定與選擇方法僅只是眾多方法當中的一種而已。該指定與選擇信號可以實現一種節能機制,以便選擇性地關閉或開啟任何記憶體晶片中的電路。
在準揮發記憶體模組中的記憶體通道的配置方法(亦即,如何區分記憶體晶片中的記憶體陣列)影響到記憶體使用的彈性。舉例來說,一記憶體通道可以包含記憶體晶片中垂直對齊的多塊磚所組成的群。在該組織當中,當在一塊磚當中的位元線短得適當,即便這些位元線不是銅作的導體(例如多晶矽),仍可以執行快速的讀取與寫入操作。如同先前關於圖1(c)(i)與(ii)的討論,每塊磚可以包含列和行解碼器與驅動電路(亦即字組線與位元線)和讀取放大器。在一個三維度的記憶體陣列裡,每塊磚包含多層平面彼此上下相疊的貳維度記憶體單元陣列。
圖6顯示根據本發明一實施例的準揮發記憶體模組中的記憶體控制電路600;該記憶體控制電路600處理一記憶體通道當中的讀取與寫入操作,該記憶體通道包含了區分601a至601d,每一個區分由準揮發記憶體模組中的一記憶體晶片所提供。如圖6所示,區分601a至601d的每一個可以包含在一記憶體晶片中的一或多個磚(例如單一塊磚、一磚列、一排或一排組)。(當然在圖6僅以示範的原因示出四個區分,任何合適數量的區分都有可能。)在一讀取操作當中,資料與控制信號係通過記憶體介面電路605利用讀取匯流排606a進行通信。類似地,在一寫入操作當中,資料與控制信號係通過記憶體介面電路605利用寫入匯流排606b進行通信。記憶體電路 600也處理直接記憶體存取操作,其為一主機處理器要求將記憶體位址中一段落位置的資料複製到記憶體位址的另一段落位置。(如本領域普通技術人員已知,上述記憶體位址的段落位置可以對應到映射到記憶體的一周邊裝置。)數值邏輯電路608執行記憶體控制電路600被要求的記憶體操作,通過匯流排606d自區分601a至601d接收輸入的資料信號,並且通過匯流排606d將輸出的資料信號寫回到區分601a至601d。在數值邏輯電路608的控制之下,位址解碼器603解譯每一個記憶體位置以便提供(i)解碼後的位址(例如列與行的位址到驅動電路604以便活化被要求的字組線與位元線供記憶體存取;以及(ii)給多工器602a至602n的控制信號,這些多工器連接了區分601a至601d與匯流排606a至606c其中之一。
圖6的記憶體通道可以提供,例如來自於區分601a至601d的32Gb記憶體,每個區分為一記憶體晶片上的一塊磚。如果每塊磚包含兩倍的平面層,每個區分包含兩倍的磚,或是每個信號群包含兩倍的區分數量時,記憶體容量可以加倍。在一實施例中,在同一個基板(矽晶圓)上製造記憶體晶片的流程可以在(a)製造一預定數量的平面層後儲存(stored away),或(b)製作完成。那些儲存的基板可以再增加額外的平面(例如四個額外的平面)後完成,以便讓每個記憶體晶片有更大的容量。此方法也能允許在已經製作預定數量平面的記憶體晶片上進行測試。另一種做法是,可以加入額外的列或平面以便調整每塊磚的大小。當上述的調整不會顯著地增加負載與驅動的需求時,可以在短期(short order)內實現新的記憶體設計。據此,基礎的記憶體設計能夠在數種容量的世代中重複利用,而不會有擴充放大所帶來的問題。
本發明預期未來的記憶體系統(例如:每個記憶體晶片具有128Gb或更高的容量)會因為包含計算機系統的功能而變得更加複雜(例如加入了更多智能與卸載更多的計算工作到控制器)。舉例來說,除了提供序列器或特殊硬體功能(例如直接記憶體存取控制),精簡指令集電腦處理器可以應用到控制器晶片以便執行記憶體的高階作業。上述的精簡指令集電腦(RISC)一詞是reduced instruction set computer的縮寫,其包含了任何如ARM、MIPS、IBM的PowerChip所提供的處理器核心與其客製化的處理器電路、圖形處理器以及任何適用用於晶片上系統(SOC,system on a chip)的適合的處理器或電路的邏輯電路。隨著時間經過,會有多種功能與硬體的改進可以適用到周邊裝置內。例如,許多傳統的主機計算機功能可能被移走卸載。
當中央處理器達到其技術上的限制,效能的改善越見困難時,從主機處理器卸載掉記憶體操作是具有優點的。諸如擴增中央處理器的核心數量與核心的超執行緒(hyperthreading)之類的平行處理程度的提高,由於能耗成本隨著核心數量的增加而提高,其優點正逐漸減少。所衍生出的熱耗散變得如此顯著,使得要花費中央處理器的計算時脈來監控溫度,並且要執行節能措施(例如當符合某些條件時,關閉核心)。
除開記憶體之外,已經在周邊裝置中使用特殊化的裝置以便卸載分擔中央處理器的負擔。例如,傳統上從磁碟複製檔案到磁碟的作業是將檔案從來源處讀取到記憶體,並且再將其寫入到目標處,即便在同一片磁碟中進行複製也不例外。這類的作業同時牽涉到網路通道與記憶體。如能讓裝置在內部執行該複製作業,或是在裝置之間進行作業,而不用將 資料搬入記憶體的話,就能避免記憶體涉入。既可以加快這樣的作業,又更具效率,減少能耗和中央處理器的負擔。透過將收入的檔案直接傳送到磁碟內而不要先將其收入記憶體內,可以把這類的功能放置到網路控制器當中。相反地,檔案可以直接從磁碟傳送到區域網路或廣域網路。加速電路取代中央處理器來執行特殊工作(例如在存儲系統中對檔案進行加密)的,而在傳統上,這些工作都是由中央處理器在記憶體內進行作業。由於無須牽涉到中央處理器與記憶體,不只能減少中央處理器的能耗,還能夠減少記憶體和記憶體通道的活動。
在於將中央處理器的功能卸載到記憶體系統方面,在傳統的記憶體(例如以動態隨機存取記憶體為基礎的記憶體)上增加功能需要花費高成本,由於新功能要做在記憶體晶片之上,因此會降低記憶體密度。然而,對於準揮發記憶體模組而言,可以在控制器晶片的可供利用的晶片面積上實現上述功能。當多個記憶體晶片上的多個陣列共享一顆控制器晶片上的單一記憶體控制器時,或許可以減少能耗。相較於動態隨機存取記憶體而言,準揮發記憶體單元的較長資料保存期間也提供了較低再充電率的優點,亦即顯著地節能。
例如,圖6的記憶體控制電路600實現了從記憶體的一區(來源區)將檔案複製到另一區(目標區)的功能。在一實施例中,一序列器或一狀態機會追蹤來源區的位址與目標區的位址。在目標區的每一個位置都被讀取之後,三態(tri-state)驅動電路可以用於將資料驅動到讀取匯流排606b,其將被轉移到寫入匯流排606a或直接記憶體存取/數值邏輯單元匯流排606c。在實質的同一時間,位址解碼器接收到相應的目標位址,使得在寫 入匯流排606a或直接記憶體存取/數值邏輯單元匯流排606c上的資料被寫入到目標區的相應目標位置。當所有目標位置中的資料都被複製到相應的目標位置之後,上述的複製作業完成。
另一種執行上述複製作業的方法可見圖7所示。圖7為根據本發明一實施例的一種數值邏輯電路608,其具有記憶體內檔案複製的功能。序列器或狀態機705控制數值邏輯電路608的運作。一開始,數值邏輯電路608在暫存器檔案702的指定暫存器當中保留初始的來源位址與初始的目標位址。由初始的來源位址開始,逐一讀取其後所有位址的相應記憶體位置,並且將從每一個位置讀取的資料載入到匯流排606d,其再被傳送到多工器701,以便被鎖存到暫存器檔案702當中。接著,資料從暫存器檔案702當中被數值邏輯單元704提取到匯流排606c,接著再被寫回到相應目標位址的記憶體內。序列器或狀態機705維護來源與目標區域的下一個位址,在每一次匯流排的交易(transaction)之後更新位址的值。序列器或狀態機705繼續此複製操作,值到所有的資料都從來源區域複製到目標區域。
在準揮發記憶體當中,每一次匯流排的交易都是以頁為單位執行記憶體的讀取和寫入,而不像傳統的記憶體通道,通常是以8位元或16位元作為單位執行。回想在準揮發記憶體模組的資料轉移是透過高頻寬的混合接合或銅柱來進行,資料轉移不需要信號離開晶片時所需的驅動電路,因此,複製並不是功率密集的操作。此外,和傳統的記憶體通道相比,以頁作為單元顯示了遠遠較高的頻寬。
利用在準揮發記憶體模組中所包含的數值邏輯電路608,可以實現許多其他的記憶體相關或非記憶體相關的功能。如圖7所示,數值邏 輯電路608可以實現直接記憶體存取功能。此外,利用包含在數值邏輯電路608當中的數值邏輯單元704,並不僅僅侷限於實現如直接記憶體存取功能之類需要連續記憶體位址的功能,還可能實現其他種的變形。如圖7所示,數值邏輯電路608自介面匯流排606a、606b與直接記憶體存取匯流排606c、606d接收資料,並且也從其數值邏輯單元704輸出資料反饋回去。
基於這個理由,優選地利用數值邏輯單元作為直接記憶體存取的硬體。數值邏輯單元的輸入與輸出都是透過來源與目標位址暫存器的多工機制。
主機處理器可以基於一鑰匙(key)進行搜尋(例如基於檔名來搜尋檔案,或是基於某欄位值來搜尋一筆資料)。可以利用數值邏輯單元608來執行上述的功能。對此操作而言,可以為序列器或狀態機705定義出一搜尋指令,其用於(i)把搜尋鑰匙鎖存到暫存器檔案702當中;(ii)序列器或狀態機705存取目標可能存在的記憶體位置(例如某一目錄或一組資料的集合);(iii)數值邏輯單元704比對該搜尋鑰匙與從每一個記憶體位置所讀取的資料;以及(iv)回答呼叫的程序搜尋結果為命中或未檢出,以及任何相關的資料(例如,已辨識出目標的檔案所在的位置)。數值邏輯單元704用於產生不連續的位址。舉例來說,在結構化的資料當中(例如包含行與列的表格),數值邏輯單元704可以輕易地產生存取特定欄位(如列)的位址。此種能力可以提供搜尋作業極大的效率。以此方式,可以依照特定規則格式化、操弄或是檢查在記憶體中的任何資料集合或檔案。
除了位址操作以外,數值邏輯電路608的數值邏輯單元704還可以執行資料自記憶體讀取或寫入到記憶體的操作。實際上,可以在從 記憶體或暫存器檔案702的任何位置所取出的任何資料上,執行任何數值或邏輯運算,該數值或邏輯運算的結果也可以寫入暫存器檔案702或記憶體的任何位置。許多由中央處理器透過記憶體介面自記憶體取得資料的工作,可以被卸載到準揮發記憶體模組所提供的數值邏輯電路,而只需要不顯著的矽面積。由於不需要透過記憶體介面讓資料自記憶體晶片轉移出去或進來,準揮發記憶體可以節能並具有高處理速度。其他能夠輕易地整合在數值邏輯電路608的電路包含,如用於對齊資料的桶型移位器(barrel shifter)。桶型移位器對將要提供到數值邏輯單元704的資料進行處理,以便減少數值邏輯單元704的資料寬度並且提供數值邏輯運算的更多彈性。在準揮發記憶體模組當中,將控制器晶片的面積控制和記憶體晶片的面積維持實質相同,就可以付出少許甚至不付額外的代價改進或增添新功能到記憶體。
可以實現不同複雜程度的數值邏輯單元704。例如,數值邏輯單元704可以是一種相對簡單的邏輯電路,整合一組資料暫存器的集合以便提供簡單的數值或邏輯運算功能(例如:加法、減法、與邏輯運算、或邏輯運算、非邏輯運算或乘法)。另類地,數值邏輯單元704可以是一個通用的微處理器(例如精簡指令集電腦處理器)。例如,序列器或狀態機705可以用於執行一特定直接位址空間對應暫存器所指定的記憶體資料內的指令,該些指令由該主機記憶體所載入。另類地,序列器或狀態機705可以執行該準揮發記憶體內的一保留區所載入的微碼。序列器或狀態機705也可以是精簡指令集電腦處理器。總結來說,在準揮發記憶體模組中提供計算單元(例如處理器)能提供記憶體內計算所帶來的巨大彈性。
在一實施例中,除了暫存器檔案702以外,還可以包含一快 速記憶體(例如,靜態隨機存取記憶體)以供數值邏輯單元704進行數值邏輯運算。圖8(a)為根據本發明一實施例的準揮發記憶體模組中的控制器晶片800的一方塊示意圖,其包含精簡指令集電腦處理器804與靜態隨機存取記憶體805。如圖8(a)所示,控制器晶片800包含記憶體介面801a與801b,記憶體陣列支援電路802a與802b、精簡指令集電腦處理器804、靜態隨機存取記憶體805與序列埠803。記憶體介面801a與801b包含工業標準記憶體介面匯流排(例如任何一種雙倍資料率介面),能讓主機處理器存取該記憶體。記憶體陣列支援電路802a與802b提供諸如讀取放大器、緩衝器、列解碼器與驅動電路之類的支援電路,以便支援在準揮發記憶體模組中的記憶體晶片的記憶體陣列。序列埠803讓主機處理器能夠將碼載入到靜態隨機存取記憶體805以便讓精簡指令集電腦處理器804執行。靜態隨機存取記憶體805可以由記憶體或是經由記憶體介面801a與801b載入內容。一旦載入之後,精簡指令集電腦處理器804負責在控制器晶片800執行的所有高階計算。在此實施例中,精簡指令集電腦處理器804管理準揮發記憶體的兩個記憶體區分。控制器晶片800的一或多個內部記憶體匯流排(未示出)可以實作在記憶體陣列支援電路802a與802b之內,以便在該準揮發記憶體的兩個區分內部與之間進行資料轉移。圖8(b)為根據本發明一實施例的準揮發記憶體模組中的控制器晶片850的一方塊示意圖,其包含精簡指令集電腦處理器804a與804b,其分別由靜態隨機存取記憶體805a與805b提供服務。
在圖8(b)當中,精簡指令集電腦處理器804a與804b分別透過記憶體陣列支援電路802a與802b以及記憶體介面801a與801b,各自負責一半的準揮發記憶體的運作。在準揮發記憶體的兩個區分之間的資料轉移,可 以透過精簡指令集電腦處理器804a與804b之間的處理器間通訊(inter-processor communication)來達成。精簡指令集電腦處理器804a與804b的其中之一可以作為主控方(master)來主導準揮發記憶體的兩個區分之間的資料轉移。另類地,精簡指令集電腦處理器804a與804b和其相關的靜態隨機存取記憶體805a與805b可以在整個記憶體上平行地運行,透過一個仲裁協定來解決存取的衝突。
利用在嵌入式處理器或處理器當中實現的記憶體內計算指令,在避免通過如工業標準記憶體介面匯流排(如雙倍資料率)之類的瓶頸進行資料轉移的情況下,準揮發記憶體模組提供一個顯著大容量的準揮發記憶體用於獲得並且操弄資料。記憶體介面801a與801b的其中一個可以轉換成為一個高速處理器匯流排,以供主機處理器發送用於記憶體內計算、記憶體內部複製、或直接記憶體存取類操作的指令,利用低成本的機制來移動或操弄大區塊的資料。準揮發記憶體模組變成是一種嵌入式處理器,其具有存取大量低能耗記憶體系統的能力。
圖9為根據本發明一實施例的準揮發記憶體模組900的一功能方塊示意圖。準揮發記憶體模組900可以為一種準揮發記憶體模組900的實施範例,其具有如圖8(a)所示的控制器晶片800所表示的控制器晶片。如圖9所示,在直接記憶體存取指令設定之後,直接記憶體存取記憶體介面匯流排911與相關的直接記憶體存取控制邏輯電路902提供準揮發記憶體802與一外部裝置之間的快速資料轉移,而不需要主機處理器的介入。此外,處理器匯流排912與處理器匯流排電路904讓精簡指令集電腦處理器804與主機處理器溝通,或執行其他的資料交易。再者,直接記憶體存取介面匯 流排911與處理器匯流排912之外,準揮發記憶體模組也可以實作如工業標準雙倍資料率形式介面的一記憶體介面。序列埠803讓精簡指令集電腦處理器804透過一個I2C介面藉由下載到靜態隨機存取記憶體805的程式碼成為可開機運作的(bootable)。另類地,準揮發記憶體模組的一部分可以被配置為可透過處理器匯流排912存取的唯讀的非揮發記憶體(例如為可擦除可編程的唯讀記憶體EPROM),其可以用於儲存開機時的執行碼。
在準揮發記憶體模組900中執行作業的一種方式是透過一種指令狀態交換協定(command status exchange protocol)。在一實施例當中,主機電腦與精簡指令集電腦處理器804在一記憶體空間的一部份中維護一份工作檔案,可以利用信號協同的方式讓主機處理器和精簡指令集電腦處理器804進行存取。圖10顯示根據本發明一實施例之使用指令狀態交換協定的準揮發記憶體模組1000,其為圖9所示的準揮發記憶體模組900的一變化型。如圖10所示,主機處理器可以發出記憶體指令到精簡指令集電腦處理器804,其位於靜態隨機存取記憶體的指令段1001a(或是暫存器檔案)當中。當每個指令都完成後,或是在指令執行的預定點,精簡指令集電腦處理器804在靜態隨機存取記憶體記憶體的狀態段1001b(或是在一相應的暫存器檔案)回報指令執行的狀態。在這種作法下,準揮發記憶體模組1000可以同時支援由精簡指令集電腦處理器804處理的多個指令。在一實施例中,指令段1001a與狀態段1001b可以被組織為一個循環佇列(circular queue)。指令段1001a與狀態段1001b當中的每一個元素(entry)可以是預定數量的位元組(例如64或128位元組),其可以透過一適合的協定由主機處理器經處理器匯流排912進行寫入或讀取。一種類似的指令-狀態交換協定可以類似地在記憶體匯 流排911上實現(由記憶體介面902控制),以便執行一或多個周邊裝置與準揮發記憶體模組1000之間的直接記憶體存取型態的指令。
圖11為根據本發明一實施例的指令段1001a與狀態段1001b,其以佇列(亦即先進先出的緩衝區)的方式組織。在一實施例中,該佇列可以是循環佇列,亦即當其他的元素都是致活時,會覆寫最舊的元素。如圖11所示,主機處理器將連續的指令載入到指令段1001a,精簡指令集電腦處理器804依照指令進來的順序讀取它們。當指令完成或是在指令執行的每個預定點,精簡指令集電腦處理器804會在狀態段1001b寫入一個元素,而主機處理器會提取這個元素以便監控指令的執行。當完成一個指令時,精簡指令集電腦處理器804在狀態段1001b載入一相應的元素,然後發出中斷信號(或任何合適的喚醒信號)到主機處理器。由於在執行指令時只有最少的互動,精簡指令集電腦處理器804所代理的工作可說是主機工作的有效率的卸載。在許多應用當中,精簡指令集電腦處理器804可以執行由主機處理器下載到靜態隨機存取記憶體805預定位置的碼,而不使用前述的指令-狀態交換協定。
由於準揮發記憶體模組較傳統的動態隨機存取記憶體為基礎的記憶體具有較長的存取延遲時間,在使用多種快取控制與緩衝技術下,靜態隨機存取記憶體805允許準揮發記憶體模組得以在較高效的速度與較佳的耐久度下操作。如圖10與圖11所示的範例使用了對指令與狀態訊息進行緩衝的作法。另一種緩衝的使用方式是速度匹配(speed matching),以便在記憶體介面達到較高的吞吐量,當高速資料流(例如直接記憶體存取操作)在記憶體介面的每個匯流排交易以位元組或字組為單位的同時,在準揮 發記憶體模組內部每一個讀取或寫入的記憶體存取是利用遠遠較大的資料單位(例如一或多頁)來執行。靜態隨機存取記憶體805提供緩衝區以便積累從高速資料流傳來的資料,以便執行頁的寫入操作。從準揮發記憶體所提取的資料頁可以從靜態隨機存取記憶體805輸出到記憶體介面。可以藉由交錯記憶體操作(亦即在靜態隨機存取記憶體805的緩衝區中填入一頁資料的同時,將靜態隨機存取記憶體805另一個緩衝區中先前填入的資料寫回到準揮發記憶體)來達成效率。速度匹配(speed matching)維持了記憶體介面的高吞吐量,無論是從準揮發記憶體中讀取或是寫入資料。
靜態隨機存取記憶體805也可以用來快取從準揮發記憶體中提取的資料。圖12為根據本發明一實施例的準揮發記憶體模組1200的一功能方塊示意圖,準揮發記憶體模組1200包含快取控制器1201。如圖12所示,快取控制器1201管理準揮發記憶體1203的靜態隨機存取記憶體快取805。在一快取操作當中,快取控制器1201攔截從主機介面1202所收到的任何對於準揮發記憶體1203的讀取或寫入存取。在一寫入操作中,快取控制器1201寫入到靜態隨機存取記憶體805的一快取頁,並且將該快取頁同時寫回到準揮發記憶體1203,或是根據一快取寫回策略,在下一時間寫回。快取控制器1201可以服務來自於靜態隨機存取記憶體805的一快取頁的一讀取指令(亦即命中hit);否則(亦即錯失miss),當該頁尚未被快取時,快取控制器1201將該頁包含的資料自準揮發記憶體1203中提取出來存到靜態隨機存取記憶體805。在錯失的情況中,新的快取頁可能會淘汰另一個快取頁。根據該寫回策略,被淘汰的快取頁可能需要寫回。在一實施例當中,每個快取頁包含4kb的資料。舉例來說,可以根據應用的需求或方便起見,來決定頁的大 小。舉例來說,許多記憶體管理器依照典型的磁碟叢集(cluster)的大小作為儲存程式碼的區塊大小。在某些實施例中,基於一預期的參考模式,可以預提取(prefetch)並且快取連續多頁,以便為這些連續頁的未來存取作準備。最近被存取的快取頁通常被保留在靜態隨機存取記憶體805當中,而不會被立刻淘汰(例如被寫回,如果是一寫入操作存取該快取頁的話)。可以使用在動態隨機存取記憶體或準揮發記憶體模組當中所儲存的邏輯或實體頁表來實行預提取。偵測頁分配時的破碎情況可以避免不必要的預提取。當實施快取時,在某些應用當中,準揮發記憶體的有效效能可以逼近靜態隨機存取記憶體。當具有這種程度的效能時,準揮發記憶體具有顯著的成本優勢,因為準揮發記憶體的密度遠高於靜態隨機存取記憶體。
主機介面1202可以根據應用的需求(例如高速、低功耗、高容量或任何合適的組合),由任一工業標準介面(例如雙倍資料率、靜態隨機存取記憶體、Gen-Z、PCIe、CXL與CCIX)來實現。當具有有效的靜態隨機存取記憶體快取時,若所欲的應用偏好將準揮發記憶體當成是高速操作的高密度靜態隨機存取記憶體,可以使用靜態隨機存取記憶體介面作為主機介面1202。此外,也可以使用CXL、CCIX與Gen-z介面,以便提供更多的主機處理器控制。當用於媒體伺服器、網頁主機伺服器或任何圖形應用(例如任何應用需要將高資料吞吐量輸出到網路)時,準揮發記憶體模組可以具有PCIe介面(亦即PCIe控制器)作為主機介面1202。
圖13為根據本發明一實施例的電腦系統1300的一功能方塊示意圖,該電腦系統1300包含中央處理器1301、圖形處理器1302、由準揮發記憶體模組1303a與1303b實現的一準揮發記憶體、磁碟快取(或隨機存取 記憶體磁碟)1305與周邊控制器1304,上述的全部都藉由Gen-z介面1306進行通信。如圖13所示,可以利用一準揮發記憶體模組實現隨機存取記憶體磁碟1305。準揮發記憶體模組1303a與1303b和隨機存取記憶體磁碟1305當中的每一個可以在功能上配置為圖12所示的準揮發記憶體模組1200的形式。Gen-z介面1306提供一高速匯流排以便支援周邊裝置(例如磁碟、以USB埠連接的其他裝置、局部有線網路、無線網路或一PCIe匯流排)存取該準揮發記憶體或隨機存取記憶體磁碟1305。在這種架構中,隨機存取記憶體磁碟1305以相對應於圖10的準揮發記憶體模組1000的形式,提供一前端到該周邊裝置。據此,隨機存取記憶體磁碟1305能使用靜態隨機存取記憶體型態的介面,為任何周邊裝置提供高速高吞吐量的存取。當具有靜態隨機存取記憶體快取來同時服務中央處理器1301或圖形處理器1302時,隨機存取記憶體磁碟1305可以使用直接記憶體存取來從每一個周邊裝置預提取連續資料到準揮發記憶體陣列當中,以維護持續性的資料轉移,據此減少等待的狀態或偶爾的暫停。
由準揮發記憶體模組組成的雙排插記憶體模組具有記憶體內的計算能力,而不只是一個高容量的記憶體裝置,還可以是用於卸載傳統中央處理器工作的一個獨立計算裝置。當在積體電路封裝(亦即晶片)當中的每一個準揮發記憶體模組提供256Gb(在單一個記憶體晶片)時,一個具有八個晶片的準揮發記憶體雙排插記憶體模組可以在單面的雙排插記憶體模組提供2Tb或256GB的記憶體容量。比較起來,由具有現代八個動態隨機存取記憶體晶片的雙排插記憶體模組只提供32Gb或4GB資料。換言之,和現代動態隨機存取記憶體晶片所組成的雙排插記憶體模組相比,準揮發記憶 體雙排插記憶體模組提供64倍的密度優勢。此外,如果根據圖8(b)所示的準揮發記憶體模組850所示的架構,每一個準揮發記憶體模組可以實作兩個精簡指令集電腦處理器,一個準揮發記憶體雙排插記憶體模組可以具有最多16個精簡指令集電腦處理器的計算能力。
如圖2和圖3所示的方式堆疊晶片,準揮發記憶體模組的具有四個晶片的單一堆疊提供1TB的容量。記憶體內計算的能力打破了傳統記憶體介面的瓶頸。利用資料操作、快取與多種緩衝方法,在記憶體內的計算使得準揮發記憶體模組能夠變成具有計算能力的主機層級的裝置。美國臨時專利申請案IV揭露了在多個中央處理器之間分享一記憶體的多種方法,其透過一交換矩陣讓多個主機通道來存取相同的記憶體區塊。圖14(a)顯示根據本發明一實施例的準揮發記憶體雙排插記憶體模組1400,其包含了記憶體區分1404a至1404d,每個區分分別包含相應的靜態隨機存取記憶體1403a至1403d。準揮發記憶體雙排插記憶體模組1400可以包含一或多個準揮發記憶體模組。如圖14(a)所示,準揮發記憶體雙排插記憶體模組1400包含記憶體介面1401a至1401d,分別控制記憶體通道1405a至1405d。交換矩陣1402可以配置為任何的記憶體通道1405a至1405d能夠存取任一個記憶體區分1404a至104d。在靜態隨機存取記憶體1403a至1403d的記憶體快取確保每個記憶體區分都是一個高容量且低延遲的記憶體。
如上所述,準揮發記憶體雙排插記憶體模組1400也可以提供記憶體內計算能力。例如,在記憶體通道1405a至1405d之間的資料分享可以通過準揮發記憶體雙排插記憶體模組1400內部的記憶體區分1404a至1404d所組成的記憶體來達成。在準揮發記憶體雙排插記憶體模組1400當中 的準揮發記憶體模組內的精簡指令集電腦處理器可以做為主控方(master),以便其在準揮發記憶體內所指定的部分中存取資料的轉移或對資料進行操作。在一實施例中,每一個記憶體通道可以被指派到一記憶體空間的一部份,其又被對應到該記憶體區分的特定部分,以便實現準揮發記憶體的通道共享以及統一的記憶體存取(UMA,unified memory access)。當準揮發記憶體被區分之後,如果有多個埠能夠存取每個區分,就能預期有更高的效能,因為多個埠減少了資源衝突所造成的延遲。
圖14(b)顯示根據本申請一實施例的電腦系統1450,其包含分別耦接到準揮發記憶體雙排插記憶體模組1400的記憶體通道1405a至1405d的處理器1410a至1410d。處理器1410a至1410d當中的每一個可以是任何合適的計算裝置,其需要存取記憶體,例如其為一中央處理器、一圖形處理器或一可重複配置的處理器(例如由現場可程式化邏輯閘陣列FPGA構成的處理器)。如圖14(b)所示,每一個記憶體通道1405a至1405d可以分別被設定為支援任何合適的工業標準記憶體介面(例如:DDR4、DDR5或高頻寬記憶體介面)。在圖14(b)所示的配置下,可以區分準揮發記憶體雙排插記憶體模組1400,使得每一個通道都專屬於準揮發記憶體的一部份,或是,一或多個記憶體通道能夠共享準揮發記憶體的全部或一部分。在一個分享的配置當中,從分享的通道之一存取一記憶體區塊的動作會被一號誌信號(semaphore)所保護(例如,可以在配置暫存器中的一位元集合來實現號誌信號),此情況發生於當有另一個記憶體通道正在存取該記憶體區塊時。被卡住的記憶體通道可以在一佇列中等待。當前述記憶體區塊的存取完畢之後,會釋放號誌信號。在另一個實施例當中,一個上游控制器可以用來當 衝突發生時進行仲裁,以便根據某些靜態設定或動態設定的排序規則來給定優先順序。如圖14(a)所示,每個記憶體區分可以包含靜態隨機存取記憶體電路。在本申請中作為參考的美國臨時專利申請案III討論了使用靜態隨機存取記憶體電路的多種方式。例如,靜態隨機存取記憶體電路可以用來作為緩衝記憶體、快取記憶體或另類的合適行為,以便為所相關的記憶體區分加速記憶體的操作,或是做為所相關的記憶體區分作為快取記憶體。
圖14(a)與14(b)的準揮發記憶體雙排插記憶體模組能讓系統在記憶體介面的記憶體端執行顯著大量的計算工作(記憶體中心計算memory-centric computing)。記憶體為中心的計算避免了等待資料讀出記憶體的延遲時間。相比於邏輯電路透過多層快取來存取資料,此方法利用在短距離內的暫存器至暫存器的資料轉移進行存取(因此減少了電阻電容延遲),所以具有顯著的優勢。本發明透過提供高容量記憶體(例如,每個記憶體晶片具有數十到數百GB,其利用遠大於8位元或128位元的邏輯區塊來進行存取,上述的8位元或128位元分別定義於JEDEC固態科技協會的動態隨機存取記憶體與高頻寬記憶體標準之中)來達成記憶體中心計算。在準揮發記憶體雙排插記憶體模組當中,每個準揮發記憶體模組具有一或多個記憶體晶片,其具有以磚的形式所結構的記憶體電路,在每次記憶體交易當中都能以1024或更多的位元進行讀取。準揮發記憶體可以是具有多個埠的記憶體。在多個埠的記憶體當中,記憶體被分為多個記憶體區塊,每個區塊可以被一或多個專屬的埠進行存取。當具有調校好大小的記憶體區分和合適數量的埠時,上述的結構能讓一個大記憶體的多個記憶體區塊平行地存取,而減少衝突的可能性。
圖15(a)至(d)為根據本發明一實施例的準揮發記憶體雙排插記憶體模組1510a-1510d,每個準揮發記憶體雙排插記憶體模組包含處理器1501,其分別以(a)單級架構和8位元記憶體介面,(b)雙級架構和16位元記憶體介面,(c)四級架構和32位元記憶體介面,(d)單級架構和64位元記憶體介面來存取八個準揮發記憶體模組(亦即準揮發記憶體模組1502a至1502h)。在圖15(a)當中,處理器1501在每個讀取或寫入操作時同時存取八個準揮發記憶體模組,用於每一個準揮發記憶體模組的一個定址的記憶體晶片中的一磚列。當準揮發記憶體雙排插記憶體模組在每個寫入或讀取的操作中接收或提供64位元的資料時,處理器1501從每個所存取的準揮發記憶體模組選擇8位元的資料。
在圖15(b)當中,準揮發記憶體模組1502a至1502h可以被分成兩群,每群包含四個準揮發記憶體模組,處理器在每次讀取或寫入操作時存取這兩群當中的一群。在此種配置下,可以透過一或兩個記憶體通道來存取準揮發記憶體。當準揮發記憶體雙排插記憶體模組在每個寫入或讀取的操作中接收或提供64位元的資料時,處理器1501從每個所存取的準揮發記憶體模組選擇16位元的資料。
在圖15(c)當中,準揮發記憶體模組1502a至1502h可以被分成四群,每群包含兩個準揮發記憶體模組,處理器在每次讀取或寫入操作時存取這四群當中的一群。在此種配置下,可以透過一、兩或四個記憶體通道來存取準揮發記憶體。當準揮發記憶體雙排插記憶體模組在每個寫入或讀取的操作中接收或提供64位元的資料時,處理器1501從每個所存取的準揮發記憶體模組選擇32位元的資料。
在圖15(d)當中,準揮發記憶體模組1502a至1502h可以被分成八群,每群包含兩個準揮發記憶體模組,處理器在每次讀取或寫入操作時存取這四群當中的一群。在此種配置下,可以透過一、二、四或八個記憶體通道來存取準揮發記憶體。當準揮發記憶體雙排插記憶體模組在每個寫入或讀取的操作中接收或提供64位元的資料時,處理器1501從每個所存取的準揮發記憶體模組選擇64位元的資料。在此種配置下,在每個準揮發記憶體晶片與準揮發記憶體雙排插記憶體模組1510d的共同記憶體介面匯流排之間傳輸資料用的導線之多,可能需要一個中介層(例如一獨立的印刷電路板層或是一矽基板)。
在圖15(a)至(d)當中的每一個,由於處理器1501處理所有在準揮發記憶體雙排插記憶體模組1510a至1510d內的讀取和寫入操作,所以不需要用於在進出該準揮發記憶體雙排插記憶體模組介面時的複雜資料結構與控制信號來進行緩衝,儘管此機制在通過多個記憶體通道來支援多個記憶體模組的雙排插記憶體模組當中通常是必要的。因此,這種準揮發記憶體雙排插記憶體模組兼顧了成本與電路版空間的效率。如上所述,處理器1501的複雜度取決於想要在準揮發記憶體雙排插記憶體模組內部執行的記憶體內的計算。在最簡單的範例當中,可以由如圖7所示的準揮發記憶體模組直接記憶體存取與邏輯計算單元電路以及作為控制器使用的單一個雙排插記憶體模組寬的處理器來實作處理器1501。
圖16為根據本發明一實施例的準揮發記憶體雙排插記憶體模組1600的一方塊示意圖,其包含的精簡指令集電腦處理器1601用於管理在準揮發記憶體雙排插記憶體模組1600當中的準揮發記憶體內的記憶體內 計算。準揮發記憶體雙排插記憶體模組1600具有包含處理器1601與靜態隨機存取記憶體1602的準揮發記憶體雙排插記憶體模組控制器,準揮發記憶體雙排插記憶體模組1600實作出一種準揮發記憶體,其能夠處理來自於主機處理器所發出的高階指令,使其在準揮發記憶體雙排插記憶體模組1600的準揮發記憶體內執行。準揮發記憶體雙排插記憶體模組1600優選地具有兩個或更多的記憶體通道,例如由共享的記憶體介面資料匯流排1606所提供的記憶體通道,能用於存取準揮發記憶體雙排插記憶體模組1600的準揮發記憶體。例如圖6所示,準揮發記憶體是以準揮發記憶體模組1604a至1604c以及1605的形式存在,其中準揮發記憶體模組1604a至1604c提供了多個埠來存取其記憶體陣列。處理器1601管理經由共享控制匯流排1607的所有記憶體存取,可以利用整個記憶體來完成多個記憶體內計算工作。舉例來說,資料可以在準揮發記憶體雙排插記憶體模組1600內部的任何準揮發記憶體模組複製或移動到任何其他的準揮發記憶體模組。在每個準揮發記憶體模組的控制器晶片當中的計算能力與處理器1601結合之後,可以適用於許多人工智慧的應用。
多個準揮發記憶體雙排插記憶體模組可以共用一個介面資料匯流排1606以便創造出一個更大的記憶體內計算的記憶體裝置。一種投標(bidding)協定可以用來讓多個準揮發記憶體雙排插記憶體模組的處理器取得介面資料匯流排的存取權。能夠互連多個準揮發記憶體雙排插記憶體模組的能力,使得利用大量資料進行的記憶體內計算以及在多個準揮發記憶體雙排插記憶體模組之間的資料轉移能夠最小化主機的干預。傳統的雙排插記憶體模組可能在每次匯流排交易時提供8、16或32位元的記憶體存取 能力。由於準揮發記憶體雙排插記憶體模組具有較寬的內部匯流排,許多應用可以適用較寬的記憶體介面匯流排。應用程式編程介面(API Application Programming Interface)能讓程式設計師利用記憶體內計算的指令(諸如複製、移動或搜尋)。
為了發掘其計算能力,準揮發記憶體雙排插記憶體模組可以視為一種系統裝置。舉例來說,準揮發記憶體雙排插記憶體模組可以提供一個快閃記憶體介面,當符合特定編程條件時,可以將準揮發記憶體配置為一種非揮發記憶體(例如快閃記憶體)。為了支援非揮發記憶體讀取、寫入和擦除操作,處理器1601可以作為快閃控制器。由於其可以提供快速的「寫入到快閃」和「從快閃載入」的操作,準揮發記憶體雙排插記憶體模組可以作為一個系統裝置,其能夠讓系統快速地開機,或者是在系統電力中斷之前儲存重要資料的能力(例如,通過定期的筆記journaling)與查核點(checkpoint);這類的操作可以由準揮發記憶體雙排插記憶體模組內部的計算資料進行管理。在先前技術當中,這些工作必須由傳統儲存系統(例如固態硬碟)來執行,其和準揮發記憶體相比是顯著地較慢的裝置。用於這些工作的時間與額外開銷限制了所能儲存重要資料或查核點的數量與頻率。再者,讓多個記憶體通道能夠存取一個準揮發記憶體雙排插記憶體模組,準揮發記憶體雙排插記憶體模組的任何部分能讓多個裝置共享。這種資料共享的能力特別適合於以交易為主的應用,其中大多數為適合平行處理的短暫工作(例如搜尋的應用)。
根據一實施例,當對準揮發記憶體雙排插記憶體模組發出一讀取指令時,相應於一頁當中的某特定位址的該頁資料會透過讀取放大器 與鎖存器讀取到暫存器或是靜態隨機存取記憶體的一相關部分。方便使用的頁的大小是1kb或是2kb。初始的頁的存取貢獻了整頁的存取延遲。在此情況下,初始的存取延遲是從列位址的解碼至資料準備好放到記憶體介面之間的時間。優選地,在準揮發記憶體模組上的初始頁存取需要不到100納秒。對後續讀取同一頁的指令來說,由於初始存取已經將資料鎖存到暫存器或靜態隨機存取記憶體裡,其讀取延遲將顯著地較短,也就是發生在自暫存器或靜態隨機存取記憶體讀取資料到資料準備好放到記憶體介面之間的時間,大約是在20-40納秒左右。在大多數的應用當中,記憶體存取都是以64位元快取線或是64位元組的快取位元組區塊為單位。由於1kb大小的頁具有128個位元組或16個8位元組的快取線。當需要整頁的資料時,由於準揮發記憶體模組只有一次是100納秒的初始存取延遲,接下來的31次存取的每一次只有35納秒的延遲,這些延遲是令人滿意的。在準揮發記憶體模組當中,在控制器晶片中的記憶體控制器會追蹤每頁的存取,以便利用後續存取的較短時間。
準揮發記憶體雙排插記憶體模組也可以支援傳統的預備/忙碌(ready/busy)協定(例如NVMDIMM-P標準)。在這類協定之下,從主機處理器發起的記憶體存取可以會被暫停到資料預備好為止,此時記憶體介面會送出一預備好的信號來通知主機處理器,告知記憶體介面已經準備好其索要的資料。準揮發記憶體雙排插記憶體模組的處理器監控在暫存器或靜態隨機存取記憶體當中的頁的可用性。當該頁尚未被提取到暫存器或靜態隨機存取記憶體時,處理器不會發出該預備好的信號,直到該頁已經被提取到暫存器或靜態隨機存取記憶體,且記憶體介面已經準備好要送出被索要 的資料。然而,如果被索要的資料已經存在於暫存器或靜態隨機存取記憶體當中,被索要的資料會被傳送到該記憶體介面,並且發出該預備好的信號。為了判斷被索要的資料是否已經存在於暫存器或靜態隨機存取記憶體當中,準揮發記憶體雙排插記憶體模組的處理器會將已經被提取的該頁的排、列與頁位址和被索要資料的位址進行比較。利用預備/忙碌協定,準揮發記憶體雙排插記憶體模組的有效讀取延遲也許可以比傳統以動態隨機存取記憶體為基礎的記憶體的性能較好。
預測式預提取額外的連續頁到靜態隨機存取記憶體當中可能更進一步地攤銷初始記憶體存取的延遲時間,因為有許多程式連貫性地存取連續頁。預測式預提取額外的連續頁到靜態隨機存取記憶體是基於這些頁將會在近期內被索要的預測。在此之後,「預提取」與「預測式預提取」是可互換的。
在準揮發記憶體模組的一實施例當中,在一塊磚內的三維記憶體陣列具有多層相疊的記憶體串,一串疊在另一串之上,每塊磚當中的每個列位址是共享的,原因是一組連續頁的資料被儲存在垂直層疊的記憶體串的多層結構之中。例如,在一實施例當中,每塊磚在八層結構中包含4K(212)列的記憶體單元。在每塊磚當中,每一列位址包含八層結構,每層結構包含連續八個1kb頁、2kb頁、8kb或16kb資料。在某些實施例當中,每一層可以具有更多頁的資料來達成更高的記憶體密度。每一次讀取或寫入的存取使得共享該列位址(致活頁)的所有頁的資料一次性地轉移到靜態隨機存取記憶體。此外,對應於一或多個連續列位址的多個頁也可以被預提取到靜態隨機存取記憶體。例如,位於相鄰磚的頁也可以被致活,因為其具 有相同列位址而被提取。如果需要的話,在讀取或寫入操作中指定位址的連續頁位址所對應的頁也可以被預提取到靜態隨機存取記憶體。由於預提取的動作可以和已經被快取頁的讀取存取同時進行,預提取減少了有效的存取延遲。
在實施例的一種變化當中,對一預定數量的記憶體區塊進行快取,其基於一種用於減少存取延遲的策略,該策略係藉由將資料分散到獨立的驅動電路或讀取放大器組所寫入或輸出的多個記憶體區塊。舉例來說,每個記憶體區塊可以包含在準揮發記憶體當中的一磚列的所有磚的相同列位址致活的所有頁。由於在該磚列的每一塊磚在被寫入或輸出時使用不同組的驅動電路或讀取放大器,致活的多個頁可以獨立地(例如平行地或以任何適合的流水線方式同時實施)載入到靜態隨機存取記憶體。對致活頁的同時存取顯著地降低了它們個別的有效存取延遲。在靜態隨機存取記憶體當中預提取和快取預定數量的致活記憶體區塊不僅僅能降低延遲(例如達成接近靜態隨機存取記憶體等級的有效讀取延遲,如20-25納秒),還能夠增加吞吐量。當程式設計師與編譯器能夠注意到並且利用同時存取,有很大的機率能夠降低延遲,並且增進程式執行的效率。
圖17(a)與(b)為根據本發明一實施例提供準揮發記憶體模組1700中的記憶體晶片1701的磚1711到控制器晶片1702的記憶體介面1712的一讀取路徑的一功能示意圖。如圖17(a),磚1711包含4K(222)個列,每個列1717有多個2Kb頁的記憶體單元(例如每層有一或多個2Kb頁)。圖17(b)顯示在每一列1717當中,頁解碼器1719a至1719n為讀取放大器1713個別地致活這些2Kb頁1718a-1718n。每個被讀取的頁從讀取放大器1713被鎖存到靜態隨機存 取記憶體1714a。圖17(a)顯示記憶體晶片1701的靜態隨機存取記憶體1714(2kb)和控制器晶片1702的靜態隨機存取記憶體1714b(128kb)。當控制器晶片1702以邏輯電路所使用更先進的製程製造時,靜態隨機存取記憶體1714b比靜態隨機存取記憶體1714a具有更大的密度,因此能在給定的矽面積上具有更大的容量。在某些實施例中,靜態隨機存取記憶體1714b的容量受限於用在精簡指令集電腦處理器和多個記憶體通道介面的邏輯電路之外的剩餘空間。在任何實施例中,控制器晶片中的邏輯電路與靜態隨機存取記憶體容量的折衝考量係取決於它的特定應用。在某些實施例中,某些應用要求的非揮發記憶體可以由準揮發記憶體模組1700的記憶體晶片1701或控制器晶片1702提供。在準揮發記憶體模組1700提供非揮發記憶體能用於儲存重要資料、查核點資料或其他的關鍵系統資料。
在準揮發記憶體的一編程操作中,資料被寫到一個已擦除的記憶體單元中。因此,擦除操作要先於編程操作。擦除操作與後續的編程操作的集合稱之為寫入程序(write sequence)。在一實施例當中,一個256KB頁的每一個擦除或編程大約需時500納秒,因此一個寫入程序的延遲大約是一個微秒。如果對一個8位元組快取線的寫入要求總是會觸發準揮發記憶體的寫入操作的話,對每個2kb頁的靜態隨機存取記憶體的快取來說,可能需要32個寫入程序。對準揮發記憶體作如此頻繁的寫入操作對於準揮發記憶體的耐用度是有害的。為了減少這類損害,來自主機處理器的寫入指令可以進入佇列,儘管在寫入指令中的資料立即被寫入到靜態隨機存取記憶體當中的快取頁內,連同其重新計算的糾錯碼(ECC)。稍後,快取控制器1715透過將靜態隨機存取記憶體當中的資料寫入到準揮發記憶體來執行該寫入 指令。直到排入佇列的寫入指令已經在準揮發記憶體中完成之後,任何對於該頁的讀取將由靜態隨機存取記憶體中的快取頁提供資料。快取頁寫入到準揮發記憶體的動作可以延遲到後續讀寫指令需要對映射到同一靜態隨機存取記憶體位置的另一頁進行操作時(致活頁的替換)。實質上,上述討論的相同方法可以應用到記憶體區塊的快取。上述延遲寫回的策略增強了準揮發記憶體的耐用度。在本發明中關於一頁、一個記憶體區塊或甚至是一個檔案的寫入操作可以在一延長的時段當中,與來自於主機處理器的許多寫入指令一起執行,以便節省能耗並且增強耐用度。
執行上述的快取策略的快取控制器1715可以利用軟體、韌體或這兩者進行實作。當對某頁的讀取或寫入存取導致致活頁的替換時,而被替換的頁包含了至少一個在佇列中寫入操作的資料的話,就會產生等待狀態以便暫停上述的讀取或寫入存取。如前所述,寫入程序需要花費一微秒。預提取連續頁能和被替換頁的寫入程序同時進行。預提取的動作因此隱藏了被替換頁的寫入延遲。可能會發生讀取致活頁之一的讀取存取到達,而對於該頁的寫入存取正在完成。處理上述讀取存取的一種方法就是暫停未完成的寫入操作,並且在繼續該寫入操作之前,先從靜態隨機存取記憶體服務該讀取存取。只有當該寫入程序中的擦除操作的時間實質上長於該寫入程序的編程操作時間時,上述的方法才是合理的。當寫入程序所需要的時間夠短時,暫停一個正在執行中的寫入程序來服務一個讀取存取是不必要的。
當接收到一個寫入要求,其資料要寫入到一個沒有排進佇列的寫入指令所對應的頁時,該寫入要求可以透過一個「讀取-修改-寫入」程 序來完成。在一個「讀取-修改-寫入」程序當中,該頁首先被快取到靜態隨機存取記憶體內,其或許需要一個致活頁的替換操作。接著,根據該寫入要求,在靜態隨機存取記憶體內的快取頁被修改,並且同時將該快取頁寫回到準揮發記憶體的一寫入操作被排入佇列當中。如果在接到該寫入要求的時候,對致活頁的所有先前的寫入要求都已經完成,藉由(i)修改靜態隨機存取記憶體當中的快取頁,以及(ii)將寫回到準揮發記憶體的一寫入操作排入佇列,就能滿足該寫入要求。當接到致活頁的一寫入要求的時候,該致活頁仍有一個未完成的寫入操作在佇列中時,可以藉由(i)如果前一個寫入操作已經開始作動,則等待其完成,(ii)根據現在的寫入要求,修改靜態隨機存取記憶體當中的快取頁,以及(iii)將寫回到準揮發記憶體的一寫入操作排入佇列,就能完成該寫入要求。若前一個寫入操作尚未開始作動,可以藉由(i)在靜態隨機存取記憶體的快取頁當中合併現有與先前一個寫入操作的資料,(ii)取消先前在佇列中的寫入操作,以及(iii)將合併後的快取頁寫回到準揮發記憶體的一寫入操作排入佇列,就能滿足該寫入要求。在此同時,任何讀取存取可以由靜態隨機存取記憶體內已更新的快取頁來服務。在佇列中一寫入操作所需要的準揮發記憶體中的頁並不需要再充電。對準揮發記憶體中某頁的任何在佇列中的寫入操作,可以在該頁所指定的再充電時間執行。
圖18為根據本發明一實施例,實施如上所述的快取策略的一快取控制器(例如快取控制器1715)的一簡化流程圖1800。(為了清楚顯示的原因,圖18省略了某些非必要的細節,例如糾錯碼的計算或再計算。)下列是本發明之快取控制器的功能性工作的清單:
1.接收一讀取或寫入指令;
2(a)針對一讀取指令:(i)當索要的資料在靜態隨機存取記憶體致活頁之一(亦即已經被快取),自靜態隨機存取記憶體服務該讀取指令;(ii)否則,自準揮發記憶體將索要資料的頁提取並且快取到靜態隨機存取記憶體內,並且自靜態隨機存取記憶體服務該讀取指令;
2(b)針對一寫入指令:(i)自準揮發記憶體將該寫入指令所指定的位址的頁提取並且快取到靜態隨機存取記憶體內;(ii)將該寫入指令所指定的資料合併到該快取頁;以及(iii)將該快取頁的一寫入程序排入佇列中;
3.(如果想要的話)從準揮發記憶體快取一頁到靜態隨機存取記憶體之後預提取後續頁;
4.當執行佇列中一致活頁的寫入操作到準揮發記憶體時,在所有相關於該致活頁的頁被預提取完成之前等待。在完成之後,才進行該寫入操作。否則,延遲該佇列中的該寫入操作,直到上述的預提取作業完成。
5.如果該讀取指令導致致活頁的替換,利用預備/忙碌協定來致活等待狀態。如果不支援等待狀態,傳回一錯誤信號,以便通知該主機處理器根據一適合的重試策略在之後重試。
關於致活頁的替換(亦即被要求的頁不在靜態隨機存取記憶體的當前快取中),如果不用預備/忙碌協定,則偏好回報錯誤到該主機處理器,而不是讓主機處理器一直等待到替換頁被載入為止。在適合的時機點主機處理器進行重試時,會發現替換頁已經被載入到靜態隨機存取記憶體 當中。在一實施例當中,準揮發記憶體可能需要100納秒來將被要求頁放置到靜態隨機存取記憶體內,以及25納秒來對該快取頁執行一個後續的讀取。因此,可以達成每一次的快取錯失需要125納秒的存取時間,而不包含快取控制器內的任何開銷延遲。在大多數應用中,快取錯失應該是相對較少發生的事件,所以過多的快取錯失表示該應用不適合當前的快取策略。一種適合的錯誤紀錄方式,其可以為簡單的錯誤計數器,可以用來提供調整快取策略的指標。在一實施例中,當錯誤的累積數值超過一預設門檻值時,可以設立配置暫存器的一個位元,用於警告主機處理器。如果需要的話,在調整或改變快取控制器的快取策略之後,主機處理器可以清除該設立的位元。
在大多數的應用中,虛擬位址被轉譯為傳統動態隨機存取記憶體中的一實體位址,其指向一個4KB的記憶體區塊,這也是一個磁碟叢集的慣常大小。當一使用者工作(job)的記憶體影像可以有利地區分為許多4KB區塊時,其可以在不同的時機點由一虛擬記憶體系統從磁碟載入到記憶體的不同位置。為了存取一個載入的記憶體區塊,主機處理器通常使用一個邏輯至實體位址轉換表,其通常存在於一組轉換暫存器內。這種安排意味著以多個4KB區塊的合適倍數為單位的頁數可以是一個合適於預提取到記憶體的資料單位。它的大小可以是系統開機時被初始化的一個參數。
圖19為根據本申請一實施例的準揮發記憶體1901上的快取控制器1900的操作的方塊示意圖。如圖19所示,快取控制器1900包含(i)快取狀態機1902,其為控制該快取控制器1900操作的電路,(ii)靜態隨機存取記憶體快取緩衝器1915,其包含了資料快取1905與位址緩衝器1903,以及(iii) 主機介面電路1904(例如為工業標準雙倍資料率記憶體介面),其用於控制記憶體介面匯流排1913。資料快取1905與位址緩衝器1903包含了位址暫存器部分1903(i)與標籤(TAG)部分1903(ii),其以傳統的方式為準揮發記憶體1901提供了資料快取(亦即,至少將標籤部分1903(ii)實現為內容定址記憶體電路)。和靜態隨機存取記憶體快取緩衝器1915合在一起,準揮發記憶體1901透過主機介面電路1904提供主機處理器可存取的一高速記憶體。
在圖19當中,準揮發記憶體1901包含(i)記憶體陣列1910,(ii)用於控制準揮發記憶體1901的讀取和寫入操作兩者的讀寫狀態機1906,(iii)位址解碼器與輸入和輸出驅動電路1909,(iv)頁緩衝器1908,(v)糾錯碼(ECC)電路1907,以及(vi)資料匯流排1911。主機處理器透過主機介面1904的一讀取或一寫入存取中的位址由位址匯流排1914(i)提供,會被快取狀態機1902對位址緩衝區1903(i)進行檢查比對,用於判斷該讀取或寫入要求的資料是否已經快取在資料快取1905內。如此,對於一讀取操作而言,被索要的資料從該資料快取1905的快取頁中讀取出來,並且回到主機處理器。對於一寫入操作而言,主機處理器透過主機介面1904所指示的資料會被合併到該快取資料內,如上所述,會有一個寫入操作排進佇列當中,以便將合併後的資料隨後寫回到準揮發記憶體1901。否則,亦即當該讀取或寫入操作的資料不存在於靜態隨機存取記憶體資料快取1905內時,快取狀態機1902會使得讀寫狀態機1906來鎖存該讀取或寫入要求的位址到電路1909中的一位址緩衝器,位址由位址匯流排1914(i)提供,並且啟動所要求的讀取或寫入操作。對於一讀取操作而言,索要的資料被輸出到資料緩衝器1904,並且由電路1909驅動到資料匯流排1911之上以便快取到靜態隨機存取記憶體的快取緩衝器1905以及 主機介面1904,用於提供索要資料到該主機處理器。對於一寫入操作而言,快取狀態機1902利用讀寫狀態機1906執行如上所述的讀取-修改-寫入操作程序。
能夠根據系統操作特徵而變化的好的預提取策略特別具有優勢。在一實施例中,快取狀態機1902包含了監控電路,以便使得系統分析者能夠建議與改善預提取策略來獲得最佳的操作。圖20(a)顯示根據本發明一實施例的快取控制器1900的一範例1950的操作細節。如上所述,在一寫入操作中,接收自主機處理器而在記憶體介面匯流排1913上的資料會被合併到靜態隨機存取記憶體快取1905的快取頁中,並且在快取狀態機1902的控制之下,將一隨後進行的寫入到準揮發記憶體1901的操作排進佇列。
圖20(a)顯示主機介面電路1904,其將記憶體介面匯流排1913上的寫入資料提供到主機寫入資料匯流排1953,在此,該寫入資料再被多工器1951驅動到寫入資料匯流排1954以便鎖存到資料緩衝器1905。對一個讀取操作來說,從準揮發記憶體1901的頁緩衝器1908所提取的資料被提供到資料匯流排1911,在此,主機介面電路1904驅動該資料到記憶體介面匯流排1903,與多工器1951在寫入資料匯流排1954的作動同時。主機處理器在每一個讀取或寫入操作所指定的位址從記憶體介面匯流排1913,藉由主機介面電路1904傳送到位址匯流排1955,在此,該位址被鎖存到位址緩衝器1903(亦即通過位址匯流排1914(ii)至位址部分1903(i)和標籤部分1903(ii))。當資料在快取狀態機1902所屬的序列器1952的控制之下被寫回到準揮發記憶體1901時,該位址和該快取資料分別被提供到位址匯流排1914(i)(圖19)與資料匯流排1911。
在一讀取操作中,通常會從資料緩衝器1905中讀出資料,並且透過記憶體介面匯流排1913提供至主機處理器;同時,基於位址緩衝區1903的標籤部分1903(ii),序列器1952會從準揮發記憶體1901預提取額外的頁到資料緩衝器1905。標籤部分1903(ii)可以是一種內容定址記憶體,其不只通過一個命中/錯失位元來標示在讀取要求中的位址所相關的資料是否已經快取(亦即快取命中),而且還通過一個「骯髒」位元(dirty bit)來表示有一或多個寫入要求,要把快取的資料寫回到準揮發記憶體1901。這些信號位元指示序列器1952是否要進行額外頁的預提取或者是將快取頁寫回到準揮發記憶體1901。序列器1952可以包含電路,用於監控記憶體操作和根據所監控的記憶體操作中的任何被偵測的存取樣態來選取適合的預提取和寫回策略。
當準揮發記憶體1901具有多個埠(亦即可以由兩個或更多個資料匯流排進行存取),控制器晶片可以為每一個埠提供一個獨立的快取控制器。每個埠可以獨立地對其相關的記憶體區分進行操作,而資料緩衝器1905可以進行區分,使得每個區分對應到準揮發記憶體1901的某一不重疊的部分。另類地,資料緩衝器1905可以分享給多個埠,標籤部分1903(ii)中配置的一個埠控制位元用於表示哪一個埠存取準揮發記憶體1901的相對應埠分。在這種配置下,可以用單一個快取控制器來服務所有的埠。快取控制器組織的選項取決於,像是如何分享準揮發記憶體1901以及是否存在一或多個精簡指令集電腦處理器。
高命中率是高系統效能的基礎。例如,當從快取資料中提取索要的資料需要25納秒,而不從快取提取時需要100納秒,98%的命中率代表著有效存取時間為.98 x 25+.02 x 100=27納秒。這種效能高於大多數的動 態隨機存取記憶體。此外,快取的使用以及寫入操作的延遲改善了準揮發記憶體1901的耐用度、干擾(disturb)和能耗。
在某些實施例中,當以記憶體區塊的排組織時,準揮發記憶體1901能達成區塊層級的快取。在此種配置下,如圖20(b)所示的系統1970,資料緩衝器1905被區分為靜態隨機存取記憶體區塊1905(i),…,1905(n),每個區分的大小為準揮發記憶體1901的一個記憶體區塊。在資料緩衝器1905中的每個靜態隨機存取記憶體區塊會快取準揮發記憶體1901相對應排的一個記憶體區塊。雖然每個靜態隨機存取記憶體區塊需要一個獨立分離的快取控制器(亦即,快取記憶體1952(i),…1952(n),每個快取控制器可以只具備有限的功能而相對地簡單。系統1970特別適合於經常寫入操作的應用。由於大多數的存取服務來自於靜態隨機存取記憶體區塊,可以預期較長的寫入延遲時間被隱藏住,而且還有較佳的耐用度。
圖20(c)為根據本發明一實施例的系統1990,其靜態隨機存取記憶體資料緩衝器1905可以從準揮發記憶體1901分開來定址。如圖20(c)所示,準揮發記憶體1901的記憶體區塊1901(i),…,1901(n)被分配到連續位址,而資料緩衝器1905的靜態隨機存取記憶體區塊1905(i),…,1905(n)被分配到一位址空間的連續位址,其位於記憶體區塊1901(i),…,1901(n)的位址空間的上方或下方。另類地,記憶體區塊1901(i),…,1901(n)中的每一個區塊被分配到一段位址,其與相鄰的記憶體區塊隔開一預定的位址間隙(gap)。而這些位址間隙被分別地分配給靜態隨機存取記憶體區塊1905(i),…,1905(n)。在主機處理器可能會指派靜態隨機存取記憶體區塊作為經常存取的重要資料(例如,檔案的元數據metadata、重要的表格或目錄)以確保能以 短延遲存取這樣的資料的特定應用當中,上述的結構將具有優勢。有利的是,在記憶體內計算的應用當中,靜態隨機存取記憶體區塊也可以被一或多個板上處理器存取。
在某些實施例中,可以由準揮發記憶體雙排插記憶體模組中的一控制器處理或輔助處理快取功能。該控制器(準揮發記憶體雙排插記憶體模組控制器)可以實作為準揮發記憶體雙排插記憶體模組當中的一個精簡指令集電腦處理器。這樣的精簡指令集電腦處理器可以作為許多從屬的(slave)記憶體內計算單元的主控者(master),用於控制將記憶體內計算工作分配到利用準揮發記憶體內所存資料進行運作的從屬處理器。在一實施例中,準揮發記憶體雙排插記憶體模組控制器會解析(parse)高階計算指令,並且產生多個低階記憶體內計算指令,以便讓多個從屬的記憶體內計算單元執行。在此安排下,可以將每個準揮發記憶體單元的控制器晶片所包含的一大塊邏輯區域分配給額外的資料處理功能(例如,記憶體通道或任何由精簡指令集電腦處理器控制或時作的系統功能)。
圖21為根據本發明一實施例的準揮發記憶體雙排插記憶體模組控制器2100,其包含了能實現記憶體內計算指令的精簡指令集電腦處理器2106、指令緩衝器2101與狀態緩衝器2102。如圖21所示,精簡指令集電腦處理器2106監控在主機介面匯流排2140出現的記憶體內計算指令。這樣的指令可以表示為一特殊位置的一寫入操作(亦即一位址對應指令)。通過控制邏輯電路2103a,該記憶體內計算指令被載入到指令緩衝器2101。精簡指令集電腦處理器2106可以將該記憶體內計算指令解碼成為一或多個操作以及它們相關的運算元(如果有的話),其分別被載入到緩衝器2104和2105,以便在 準揮發記憶體的適當部分執行。該操作與其相關的資料分別透過處理器匯流排2130與記憶體匯流排2131遞送到準揮發記憶體的指定部分。精簡指令集電腦處理器2106可以監控操作的狀態。狀態資訊可以儲存在狀態緩衝器2102並且允許主機處理器透過一或多個狀態指令來查詢。準揮發記憶體雙排插記憶體模組控制器2100提供一組可擴充的系統化記憶體內計算指令與狀態查詢,而不是由分散在準揮發記憶體內各個區分的一組臨時暫存器來提供。
根據本發明的一實施例,準揮發記憶體雙排插記憶體模組控制器(例如:準揮發記憶體雙排插記憶體模組控制器2100)可以包含一個快閃記憶體埠,其允許準揮發記憶體的一部份以非揮發記憶體的方式運作。在此配置下,準揮發記憶體的基礎資料可以被封存在非揮發記憶體的部分。在非揮發記憶體部分內的資料可以在斷電後回復。非揮發記憶體部分可以也用來儲存精簡指令集電腦處理器2106的韌體,其用於準揮發記憶體雙排插記憶體模組控制器2100的開機啟動。非揮發記憶體部分消除了用於持續寫入操作的記憶體軟體和應用程式編程介面。非揮發記憶體部分可以鏡像地複製到準揮發記憶體以便能更快速地讀取操作。
在準揮發記憶體雙排插記憶體模組中實作準揮發記憶體的額外埠影響到如何在準揮發記憶體內傳遞信號。準揮發記憶體的複雜度或準揮發記憶體雙排插記憶體模組快取控制器需要封裝技術的配合。舉例來說,準揮發記憶體可以是多個準揮發記憶體模組,每個模組包含了多層的記憶體晶片以便達成非常高的記憶體容量。圖22顯示準揮發記憶體雙排插記憶體模組2200當中的中介(interposer)裝置2201(例如一塊矽基板)。中介裝置2201容納了在準揮發記憶體模組與一或多個處理器(例如由每個準揮發記憶 體模組的一或多個控制器晶片所提供)之間所需的線路。如圖22所示,非揮發記憶體模組2202、準揮發記憶體模組2204(i)至(viii)以及準揮發記憶體雙排插記憶體模組快取控制器2205是由導線群2206(i)與2206(ii)所互相連接,並且組織為在中介裝置2201上的對應記憶體通道。中介裝置2201讓單一矽基板的一平面上的多個記憶體通道之間的信號傳遞。此外,可以在中介裝置2201的矽基板提供矽穿孔,以便讓另一平面的多個迷你球連接到主機處理器或是透過工業標準記憶體介面(例如雙倍資料率)連接到另一個外部電路。對該工業標準記憶體介面的存取可以透過附加印刷電路板上的邊緣連接器(edge connector)來完成。另類地,如圖22所示,印刷電路板邊緣連接器2207(i)與2207(ii)係藉由導線群2206(i)和(ii)接入並連接到中介裝置2201,以便藉由一或多個記憶體介面(未示出)讓外部存取記憶體通道。
對於一個更高容量的準揮發記憶體來說,可以用格柵球陣列插座(ball grid array socket)來取代邊緣連接器。圖23(a)與23(b)分別為根據本發明一實施例的包含中介裝置2301的格柵球陣列插座系統2300之範例的側視圖和上視圖。如圖23(a)所示,格柵球陣列插座系統2300包含準揮發記憶體模組2304、圖形處理器2303、中央處理器2305、記憶體介面電路2308(i)和2308(ii)和現場可程式化邏輯閘陣列電路2310,上述裝置係位在中介裝置2301的一第一平面,並且由該第一平面的導體互相連接。如上所述,中介裝置2301可以是一矽基板,其在相對的平面具有多個迷你球連接器,其透過矽穿孔和中介裝置2301第一表面的導體互相連接。插座2309包含高密度的針腳或其他種連接器以供外部存取;插座2309的高密度針腳透過一合適的技術連接到中介裝置2301上的迷你球(例如一種零力插座,其可以使用槓桿施力將中介裝置 2301抵住插座2309來緊固連接)。系統2300因此提供了非常高密度與低能耗的解決方案,以便縮短繞線連接距離將不同的處理器或計算裝置(例如:中央處理器2303、圖形處理器2305或現場可程式化邏輯閘陣列電路2310)連接到高密度準揮發記憶體。在此的準揮發記憶體模組2304可以具有任何數量的記憶體和控制器晶片,以便達到任何合適的記憶體容量。準揮發記憶體模組2304是一個低功耗裝置,因為它有較不頻繁的再充電需求,以及在多個記憶體晶片當中有較短的連接距離。
透過堆疊可以達成更高的密度,例如,有多個系統板,每個系統板透過邊緣連接器或插座連接,每個系統板具有如圖22所示的結構(例如邊緣連接器為基礎)或如圖23(a)與23(b)(以插座為基礎)。圖24顯示封裝體2400,其包含由塔型連接器(tower connector)2402(i)與2402(ii)所連接的多個系統板,該塔型連接器接觸該些系統板的板連接器。額外的互連可以由塔型中介裝置(tower interposer device)2403提供,舉例來說,其具有如中介裝置2201所描述的一種結構。包含塔型中介裝置2403的堆疊結構,可以被封裝在以任何適合封裝技術所實現的外殼2404內。封裝體2400提供能適用在一系統中的緊緻解決方案,例如,傳統的雙排插記憶體模組介面或PCIe介面,其類似於連接到傳統隨機存取記憶體磁碟附加裝置的PCIe介面。封裝體2400提供了一種彈性高密度的記憶體附加裝置。
上述的詳細說明與其隨伴的圖式係用於描述本發明特定實施例,而非用於限定本發明。在本發明的範圍中可以具有可能的許多修正與變化。本發明的不同面向在下列申請專利權利內定義。
200:準揮發記憶體模組
201a、201b、201c:準揮發記憶體模組
202a、202b、202c:控制器晶片
203:中介層晶片
204:封裝體基板
205:錫球
Die 1、Die 2、die3:晶片
TSVs:矽穿孔

Claims (87)

  1. 一種記憶體裝置,包含:複數個準揮發記憶體電路,其每一個該準揮發記憶體電路形成於一獨立的半導體基板上,並且透過該些半導體基板中形成的矽穿孔互連;以及一記憶體控制器電路,也形成於一半導體基板,其與該些準揮發記憶體電路的半導體基板是獨立的,其中該記憶體控制器電路透過混合接合連接到該些準揮發記憶體電路之一,以及其中該記憶體控制器電路用於操作該些準揮發記憶體電路以作為一或多個準揮發記憶體。
  2. 如請求項1所述的記憶體裝置,其中該記憶體裝置是用於形成一印刷電路板記憶體電路的一印刷電路板上互連的複數個記憶體裝置的其中之一。
  3. 如請求項1所述的記憶體裝置,其中該記憶體裝置是用於形成一雙排插記憶體模組的互連的複數個記憶體裝置的其中之一。
  4. 如請求項1所述的記憶體裝置,其中該準揮發記憶體電路利用晶圓級(wafer level)堆疊技術來堆疊該些準揮發記憶體電路。
  5. 如請求項1所述的記憶體裝置,其中每一該準揮發記憶體電路包含在其所形成的該半導體基板上,以貳維度陣列排列的複數個磚,該磚為一模組化記憶體電路。
  6. 如請求項5所述的記憶體裝置,其中該貳維度陣列係以列和行來組成,其中在該貳維度陣列中的每一列的該些磚形成一或多個記憶體排。
  7. 如請求項6所述的記憶體裝置,其中在該多個記憶體排的該些磚形成一記憶體排組。
  8. 如請求項6所述的記憶體裝置,其中該記憶體控制器電路包含多個模組化邏輯電路,其安排使得每一個該模組化邏輯電路的位置可以利用混合接合到相應的該些磚其中之一互連。
  9. 如請求項8所述的記憶體裝置,其中每一個該準揮發記憶體電路的該些磚包含記憶體單元的多層陣列,其中該些準揮發記憶體電路中的一第一準揮發記憶體電路的該些磚與該些準揮發記憶體電路中的一第二準 揮發記憶體電路的該些磚分別具有不同層數量的記憶體單元陣列。
  10. 如請求項9所述的記憶體裝置,其中每一個該模組化邏輯電路係設置為互連到該第一準揮發記憶體電路與該第二準揮發記憶體電路的該些磚。
  11. 如請求項5所述的記憶體裝置,其中該些磚包含一第一型態與一第二型態,該第一型態的磚與該第二型態的磚具有不同的操作性能。
  12. 如請求項5所述的記憶體裝置,其中在每一個該準揮發記憶體電路中的該貳維度陣列係以列和行來組成,其中該些準揮發記憶體電路中的一第一準揮發記憶體電路的該貳維度陣列與該些準揮發記憶體電路中的一第二準揮發記憶體電路的該貳維度陣列具有不同的列數。
  13. 如請求項5所述的記憶體裝置,其中(i)該些準揮發記憶體電路的該些磚具有一或多個區分;(ii)該記憶體控制器電路包含一或多個記憶體控制器來控制該些區分,以及(iii)當該記憶體控制器的數量大於一時,該些區分的數量也大於一,而且並不重疊,其中每一個該記憶體控制器被指定到一或多個該些區分以及其中每一個該記憶體控制器係用於獨立地控制其所指定之該些區分的操作。
  14. 如請求項13所述的記憶體裝置,其中每一個該區分包含來自於該些準揮發記憶體電路中不只一個準揮發記憶體電路的所選磚。
  15. 如請求項13所述的記憶體裝置,其中每一個該區分被組織為複數個記憶體排。
  16. 如請求項13所述的記憶體裝置,其中每一個該記憶體控制器係透過混合接合到其所控制的一或多個該些區分。
  17. 如請求項13所述的記憶體裝置,其中每一個該記憶體控制器與其控制的該準揮發記憶體電路的該區分組成一個記憶體通道。
  18. 如請求項13所述的記憶體裝置,更包含一記憶體介面其允許一主機處理器存取該記憶體裝置。
  19. 如請求項18所述的記憶體裝置,更包含一多工電路用於連接該記憶體介面至該些記憶體控制器的其中之一。
  20. 如請求項19所述的記憶體裝置,更包含一或多個額外的記憶體介面,其中該多工電路用於連接該些額外的記憶體介面的其中之一與共 享區分中的其中之一。
  21. 如請求項20所述的記憶體裝置,其中一種投標(bidding)協定規範從任一個該記憶體介面到每一個記憶體控制器的存取,使得在任一時間點,該記憶體控制器只被該些記憶體介面中唯一一個存取。
  22. 如請求項21所述的記憶體裝置,其中每一個記憶體介面用於存取多個區分。
  23. 如請求項13所述的記憶體裝置,其中每個控制器更包含一個數值邏輯單元。
  24. 如請求項23所述的記憶體裝置,其中該控制器包含一第一邏輯電路用於記憶體位址與一第二邏輯電路用於處理已經儲存或正要儲存到該區分的資料。
  25. 如請求項24所述的記憶體裝置,其中該數值邏輯單元由該第一邏輯電路與該第二邏輯電路共享。
  26. 如請求項24所述的記憶體裝置,其中該數值邏輯單元為該第一邏輯電路的一部份。
  27. 如請求項26所述的記憶體裝置,其中該數值邏輯單元產生在該區分內一個直接記憶體存取操作所用到的位址。
  28. 如請求項26所述的記憶體裝置,其中該數值邏輯單元執行對位址值增加或減少一特定值的操作。
  29. 如請求項28所述的記憶體裝置,其中該控制器執行一複製操作,其用於在該區分的一部份移動到該些區分的另一部分。
  30. 如請求項29所述的記憶體裝置,其中該複製操作所移動的資料是以頁為單位,其中每一頁包含至少512個位元。
  31. 如請求項23所述的記憶體裝置,其中該數值邏輯單元在該區分所儲存的資料上執行一搜尋操作。
  32. 如請求項23所述的記憶體裝置,其中該數值邏輯單元在該區分中所選擇的資料上執行數值或邏輯運算。
  33. 如請求項32所述的記憶體裝置,其中該數值或邏輯運算是在以頁為單位的資料上進行,其中每頁包含至少512個位元。
  34. 如請求項23所述的記憶體裝置,其中該數值邏輯單元為該記 憶體控制器中的一處理器的一部份。
  35. 如請求項34所述的記憶體裝置,其中該處理器包含一精簡指令集電腦處理器。
  36. 如請求項34所述的記憶體裝置,其中每個記憶體控制器更包含由該處理器存取的一靜態隨機存取記憶體電路。
  37. 如請求項36所述的記憶體裝置,其中該處理器在該些準揮發記憶體電路內所儲存的資料上執行數值或邏輯運算。
  38. 如請求項37所述的記憶體裝置,更包含一記憶體介面,使得一主機處理器能存取該記憶體裝置。
  39. 如請求項38所述的記憶體裝置,其中該記憶體介面包含一序列記憶體介面。
  40. 如請求項39所述的記憶體裝置,更包含一非揮發記憶體模組,其中該序列記憶體介面於開機時自該非揮發記憶體模組載入用於該記憶體控制器電路的開機碼到該靜態隨機存取記憶體電路。
  41. 如請求項38所述的記憶體裝置,其中該處理器執行由該主機處理器透過該記憶體介面提供的多個記憶體內計算指令。
  42. 如請求項41所述的記憶體裝置,其中該主機處理器藉由寫入資料封包來提供該多個記憶體內計算指令,每個該資料封包包含載入到該靜態隨機存取記憶體電路的該多個記憶體內計算指令其中之一。
  43. 如請求項42所述的記憶體裝置,其中該靜態隨機存取記憶體電路包含一循環指令緩衝區,用於存放複數個該資料封包。
  44. 如請求項41所述的記憶體裝置,其中該處理器提供該主機處理器一或多個狀態封包,其相應於該主機處理器所提供之每一個指令的狀態資訊。
  45. 如請求項44所述的記憶體裝置,其中該靜態隨機存取記憶體電路包含一循環狀態緩衝區,由該處理器將該些狀態封包寫入該循環狀態緩衝區,其中該主機處理器透過該記憶體介面存取該循環狀態緩衝區。
  46. 如請求項38所述的記憶體裝置,更包含配置在該靜態隨機存取記憶體電路內的一快取記憶體,該快取記憶體快取由該些區分中所提取的資料頁,每頁至少有512個位元,其中該主機處理器透過指定一記憶體 位址來自該些區分索要資料或將資料寫入至該些區分,被索要的該些資料係以一快取線作為單位,該快取線不大於512個位元。
  47. 如請求項46所述的記憶體裝置,其中該記憶體介面更包含一資料緩衝器,資料係透過該資料緩衝器在該主機處理器和該記憶體控制器電路之間傳送。
  48. 如請求項46所述的記憶體裝置,更包含一快取記憶體控制器用於管理在該快取記憶體內的快取資料,當該主機處理器要求讀取資料時,該快取控制器將(i)與所指定的該記憶體位址相關的資料頁提取出來並且快取到該快取記憶體內,此發生於當該資料頁尚未快取在該快取記憶體內時,以及(ii)透過該記憶體介面將要求的該資料傳送到該主機處理器。
  49. 如請求項48所述的記憶體裝置,其中當該主機處理器要求寫入資料,該快取控制器將(i)與所指定的該記憶體位址相關的資料頁提取出來並且快取到該快取記憶體內,此發生於當該資料頁尚未快取在該快取記憶體內時,以及(ii)把所欲寫入的該資料合併到快取頁。
  50. 如請求項49所述的記憶體裝置,其中該快取控制器在合併要寫到該快取頁的該資料時,產生檢查位元。
  51. 如請求項49所述的記憶體裝置,其中該快取控制器更於一寫回操作中,將該已合併資料寫入到所指定的該記憶體位址所在的該區分。
  52. 如請求項51所述的記憶體裝置,其中該快取控制器維護與每個資料頁相關的多個標籤位元,其用於指示該資料頁已被更新並且等待一寫回操作以便寫回到該些區分。
  53. 如請求項51所述的記憶體裝置,其中該記憶體控制器在預定的多個時機點執行該區分內的記憶體單元的多個再充電操作,以及其中該寫回操作替換該多個再充電操作的其中之一。
  54. 如請求項48所述的記憶體裝置,其中該快取控制器於指定的該記憶體位置相關的資料頁之外,預提取多個資料頁。
  55. 如請求項54所述的記憶體裝置,其中該區分由多個資料區塊組成,每一個資料區塊由一組獨立不重複的驅動電路或讀取放大器提供服務,以及其中預提取的資料頁由一個以上的資料區塊中提取。
  56. 如請求項55所述的記憶體裝置,其中每個資料區塊包含4096 列。
  57. 如請求項56所述的記憶體裝置,其中每一列由一或多頁組成。
  58. 如請求項56所述的記憶體裝置,其中該快取控制器於偵測到該主機處理器存取一記憶體區塊時,基於被存取之該記憶體區塊相關的一位址,預提取一記憶體區塊的資料。
  59. 如請求項48所述的記憶體裝置,其中該控制器更包含一內容定址記憶體,其用於儲存位於該快取記憶體內之資料頁相關的位址。
  60. 如請求項48所述的記憶體裝置,其中該控制器更包含一頁表以便存取該快取記憶體內儲存的資料頁。
  61. 如請求項60所述的記憶體裝置,其中該快取控制器藉由比對該主機處理器所指定的一位址與該內容定址記憶體來判斷一資料頁是否快取在該快取記憶體內。
  62. 如請求項61所述的記憶體裝置,其中當由該主機處理器所指定的該位址相關的資料頁並未快取在該快取記憶體內時,該快取記憶體於該記憶體介面上產生一等待狀態。
  63. 如請求項62所述的記憶體裝置,其中該等待狀態停止由該主機處理器通過該記憶體介面的記憶體存取要求。
  64. 如請求項48所述的記憶體裝置,其中該快取控制器基於被索要的一位址轉譯而成的另一位址來存取一記憶體。
  65. 如請求項48所述的記憶體裝置,其中該快取控制器自一作業系統接收有關於一資料預提取策略的操作活動。
  66. 如請求項48所述的記憶體裝置,其中每個區分由多個記憶體排組成,以及其中每個快取控制器對一指定的記憶體排的集合的該快取記憶體所快取的資料進行操作。
  67. 如請求項66所述的記憶體裝置,更包含在該靜態隨機存取記憶體電路內的一元資料緩衝器,其相關於每一個指定的記憶體排的集合,其中該主機處理器維護在該元資料緩衝器中相關於每一個指定的記憶體排的集合的元資料。
  68. 如請求項34所述的記憶體裝置,其中該處理器執行該些準揮發記憶體電路的干擾測試。
  69. 一種雙排插記憶體模組,包含:複數個記憶體裝置,每一個該記憶體裝置實質為請求項13所述的記憶體裝置;一記憶體介面電路,用於令一外部處理器存取該些記憶體裝置;以及一雙排插記憶體模組處理器電路,用於控制該些記憶體裝置與該記憶體介面電路的操作。
  70. 如請求項69所述的雙排插記憶體模組,其中該些記憶體裝置由多個記憶體通道組成,每一個該記憶體通道獨立地透過該記憶體介面電路進行存取。
  71. 如請求項70所述的雙排插記憶體模組,其中該雙排插記憶體模組處理器電路包含複數個記憶體通道控制器,每一個該記憶體通道控制器相應於該些記憶體通道之一,並且用於控制其的記憶體存取操作。
  72. 如請求項70所述的雙排插記憶體模組,其中該雙排插記憶體模組處理器電路控制在記憶體通道之間的資料移動。
  73. 如請求項70所述的雙排插記憶體模組,其中該外部處理器提供由該些記憶體控制器於其相應之區分內儲存之資料上執行的多個記憶體內計算指令。
  74. 如請求項73所述的雙排插記憶體模組,其中該處理器電路協調由該些記憶體控制器所執行的該些記憶體內計算指令。
  75. 如請求項73所述的雙排插記憶體模組,其中該雙排插記憶體模組為複數個雙排插記憶體模組的部份,該些雙排插記憶體模組共享由每一個雙排插記憶體模組的該記憶體介面存取的一共同記憶體匯流排。
  76. 如請求項75所述的雙排插記憶體模組,其中透過該共同記憶體匯流排於該些雙排插記憶體模組中任一對之間的資料移動,是透過該對雙排插記憶體模組的該些雙排插記憶體模組處理器電路進行協調。
  77. 如請求項76所述的雙排插記憶體模組,其中該資料移動係源於該外部處理器提供到該對雙排插記憶體模組其中之一或兩者的一複製指令。
  78. 如請求項75所述的雙排插記憶體模組,其中該外部處理器係提供多個操作指令至該些雙排插記憶體模組的兩個或多個雙排插記憶體模 組的該些記憶體控制器。
  79. 如請求項78所述的雙排插記憶體模組,其中該些操作指令包含一搜尋操作。
  80. 如請求項78所述的雙排插記憶體模組,其中該些操作指令包含一複製操作。
  81. 如請求項70所述的雙排插記憶體模組,其中該處理器電路透過一處理器匯流排存取一非揮發記憶體。
  82. 如請求項81所述的雙排插記憶體模組,其中該處理器電路作為該非揮發記憶體的一持續或快閃記憶體控制器。
  83. 如請求項82所述的雙排插記憶體模組,其中該非揮發記憶體儲存該處理器電路的一或多個開機資料,以及該雙排插記憶體模組的元資料、查核點資料以及筆記資料。
  84. 如請求項82所述的雙排插記憶體模組,其中該非揮發記憶體儲存該記憶體內計算指令的應用程式編程介面。
  85. 如請求項84所述的雙排插記憶體模組,其中該外部處理器透過該記憶體介面下載該些記憶體內計算指令的執行碼以便令該些記憶體控制器執行。
  86. 一記憶體系統,包含:複數個記憶體裝置,每一個該記憶體裝置實質為請求項1所述的記憶體裝置,該複數個記憶體裝置彼此互連以形成一雙排插記憶體模組;以及一處理器,用於控制該複數個記憶體裝置內的操作。
  87. 如請求項86所述的系統,其中該處理器包含一精簡指令集電腦處理器。
TW110104437A 2020-02-07 2021-02-05 準揮發性系統級記憶體 TWI783369B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202062971859P 2020-02-07 2020-02-07
US62/971,859 2020-02-07
US202062980596P 2020-02-24 2020-02-24
US62/980,596 2020-02-24
US202063027850P 2020-05-20 2020-05-20
US63/027,850 2020-05-20

Publications (2)

Publication Number Publication Date
TW202143048A TW202143048A (zh) 2021-11-16
TWI783369B true TWI783369B (zh) 2022-11-11

Family

ID=77178694

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110104437A TWI783369B (zh) 2020-02-07 2021-02-05 準揮發性系統級記憶體

Country Status (5)

Country Link
US (3) US11580038B2 (zh)
EP (1) EP4100839A4 (zh)
CN (1) CN115362436A (zh)
TW (1) TWI783369B (zh)
WO (1) WO2021158994A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
WO2018236937A1 (en) * 2017-06-20 2018-12-27 Sunrise Memory Corporation NON-THREE DIMENSIONAL MEMORY MATRIX ARCHITECTURE AND METHODS OF MAKING THE SAME
US11670620B2 (en) 2019-01-30 2023-06-06 Sunrise Memory Corporation Device with embedded high-bandwidth, high-capacity memory using wafer bonding
US11398492B2 (en) 2019-02-11 2022-07-26 Sunrise Memory Corporation Vertical thing-film transistor and application as bit-line connector for 3-dimensional memory arrays
WO2021127218A1 (en) 2019-12-19 2021-06-24 Sunrise Memory Corporation Process for preparing a channel region of a thin-film transistor
US11610911B2 (en) 2020-01-07 2023-03-21 Micron Technology, Inc. Semiconductor assemblies including combination memory and methods of manufacturing the same
US11621257B2 (en) * 2020-02-03 2023-04-04 Micron Technology, Inc. Wafer-scale memory techniques
US11675500B2 (en) 2020-02-07 2023-06-13 Sunrise Memory Corporation High capacity memory circuit with low effective latency
CN115362436A (zh) 2020-02-07 2022-11-18 日升存储公司 准易失性系统级存储器
US11507301B2 (en) 2020-02-24 2022-11-22 Sunrise Memory Corporation Memory module implementing memory centric architecture
WO2021173209A1 (en) 2020-02-24 2021-09-02 Sunrise Memory Corporation High capacity memory module including wafer-section memory circuit
US11467834B2 (en) * 2020-04-01 2022-10-11 Samsung Electronics Co., Ltd. In-memory computing with cache coherent protocol
US20210374056A1 (en) * 2020-05-28 2021-12-02 Samsung Electronics Co., Ltd. Systems and methods for scalable and coherent memory devices
US12170265B2 (en) * 2020-06-29 2024-12-17 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor package
WO2022108848A1 (en) 2020-11-17 2022-05-27 Sunrise Memory Corporation Methods for reducing disturb errors by refreshing data alongside programming or erase operations
US11360890B1 (en) * 2021-02-03 2022-06-14 Ambarella International Lp Request buffering scheme
WO2022173700A1 (en) * 2021-02-10 2022-08-18 Sunrise Memory Corporation Memory interface with configurable high-speed serial data lanes for high bandwidth memory
US12158852B2 (en) * 2021-06-25 2024-12-03 Intel Corporation Circuitry and methods for direct memory access instruction set architecture support for flexible dense compute using a reconfigurable spatial array
TW202310429A (zh) 2021-07-16 2023-03-01 美商日升存儲公司 薄膜鐵電電晶體的三維記憶體串陣列
US12045495B2 (en) * 2021-08-05 2024-07-23 Micron Technology, Inc. Read latency and suspend modes
US12402319B2 (en) 2021-09-14 2025-08-26 Sunrise Memory Corporation Three-dimensional memory string array of thin-film ferroelectric transistors formed with an oxide semiconductor channel
CN114049905B (zh) * 2021-12-16 2024-04-09 西安紫光国芯半导体有限公司 非易失三维存储单元、存储方法、芯片组件和电子设备
TWI828052B (zh) * 2022-01-27 2024-01-01 鯨鏈科技股份有限公司 基於晶體堆疊架構的計算機系統和記憶體管理方法
TWI808694B (zh) * 2022-03-23 2023-07-11 英業達股份有限公司 以電路板之電路傳送指令測試連接介面之裝置、系統及方法
CN114756483A (zh) * 2022-03-31 2022-07-15 深圳清华大学研究院 基于核间存储访问的子图分段优化方法及应用
US12019513B2 (en) 2022-04-27 2024-06-25 Micron Technology, Inc. Apparatuses, systems, and methods for per row error scrub information
JP2023178769A (ja) * 2022-06-06 2023-12-18 富士通株式会社 演算処理装置および演算処理方法
US11755465B1 (en) * 2022-07-29 2023-09-12 Lemon Inc. Method of superposition of multiple commands execution
US12210749B2 (en) 2022-08-03 2025-01-28 Sunrise Memory Corporation Memory controller including a write staging buffer to manage write requests for a high capacity memory circuit with large number of independently accessible memory banks
US12499047B2 (en) * 2023-01-30 2025-12-16 SanDisk Technologies, Inc. Enhanced read cache for stream switching in storage device
US12524298B2 (en) 2023-01-31 2026-01-13 Micron Technology, Inc. Apparatuses and methods for bounded fault compliant metadata storage
KR20240129405A (ko) * 2023-02-20 2024-08-27 에스케이하이닉스 주식회사 사이즈가 상이한 메모리 셀들을 포함하는 메모리
US12530261B2 (en) 2023-02-21 2026-01-20 Micron Technology, Inc. Apparatuses, systems, and methods for storing and accessing memory metadata and error correction code data
US12536096B2 (en) 2023-02-23 2026-01-27 Micron Technology, Inc. Apparatuses and methods for settings for adjustable write timing
US12406321B2 (en) * 2023-02-27 2025-09-02 Qualcomm Incorporated Elimination cache
CN116599791A (zh) * 2023-06-08 2023-08-15 长沙市英威腾电气技术有限公司 一种多主站点访问从站点的通讯方法、装置以及介质
US12475065B2 (en) * 2023-08-02 2025-11-18 Dell Products, L.P. Flash arbitration in heterogeneous computing platforms
US20250110825A1 (en) * 2023-10-03 2025-04-03 Micron Technology, Inc. Apparatuses and methods for read/modify/write single-pass metadata access operations
US20250307190A1 (en) * 2024-03-28 2025-10-02 Advanced Micro Devices, Inc. On-chip collective operations
CN119336279A (zh) * 2024-12-23 2025-01-21 西安紫光国芯半导体股份有限公司 一种存储设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201435729A (zh) * 2012-11-20 2014-09-16 Charles I Peddle 固態硬碟機架構
US20170092371A1 (en) * 2015-09-30 2017-03-30 Eli Harari Capacitive-coupled non-volatile thin-film transistor strings in three dimensional arrays
US20180366489A1 (en) * 2017-06-20 2018-12-20 Sunrise Memory Corporation 3-Dimensional NOR Memory Array Architecture and Methods for Fabrication Thereof
US20190206890A1 (en) * 2017-12-28 2019-07-04 Sunrise Memory Corporation 3-Dimensional NOR Memory Array with Very Fine Pitch: Device and Method
US20190332561A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Configuration of multi-die modules with through-silicon vias
US20200035560A1 (en) * 2016-08-26 2020-01-30 Intel Corporation Integrated circuit device structures and double-sided fabrication techniques

Family Cites Families (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4213139A (en) 1978-05-18 1980-07-15 Texas Instruments Incorporated Double level polysilicon series transistor cell
US4984153A (en) 1988-04-27 1991-01-08 Unisys Corporation Storage locking control for a plurality of processors which share a common storage unit
JP2531802B2 (ja) 1989-09-28 1996-09-04 甲府日本電気株式会社 リクエストバッファ制御システム
US5583808A (en) 1994-09-16 1996-12-10 National Semiconductor Corporation EPROM array segmented for high performance and method for controlling same
US5646886A (en) 1995-05-24 1997-07-08 National Semiconductor Corporation Flash memory having segmented array for improved operation
JPH098290A (ja) 1995-06-20 1997-01-10 Mitsubishi Electric Corp 半導体装置及びその製造方法
US5789776A (en) 1995-09-22 1998-08-04 Nvx Corporation Single poly memory cell and array
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5915167A (en) 1997-04-04 1999-06-22 Elm Technology Corporation Three dimensional structure memory
US6551857B2 (en) 1997-04-04 2003-04-22 Elm Technology Corporation Three dimensional structure integrated circuits
US6057862A (en) 1997-07-01 2000-05-02 Memtrax Llc Computer system having a common display memory and main memory
KR100242723B1 (ko) 1997-08-12 2000-02-01 윤종용 불휘발성 반도체 메모리 장치의 셀 어레이 구조 및 그 제조방법
US6040605A (en) 1998-01-28 2000-03-21 Hitachi, Ltd. Semiconductor memory device
US6107133A (en) 1998-05-28 2000-08-22 International Business Machines Corporation Method for making a five square vertical DRAM cell
JP2000200842A (ja) 1998-11-04 2000-07-18 Sony Corp 不揮発性半導体記憶装置、製造方法および書き込み方法
US6118171A (en) 1998-12-21 2000-09-12 Motorola, Inc. Semiconductor device having a pedestal structure and method of making
JP2000285016A (ja) 1999-03-30 2000-10-13 Sanyo Electric Co Ltd メモリ制御回路
JP4899241B2 (ja) 1999-12-06 2012-03-21 ソニー株式会社 不揮発性半導体記憶装置およびその動作方法
JP2001357682A (ja) 2000-06-12 2001-12-26 Sony Corp メモリシステムおよびそのプログラム方法
US6580124B1 (en) 2000-08-14 2003-06-17 Matrix Semiconductor Inc. Multigate semiconductor device with vertical channel current and method of fabrication
EP2323164B1 (en) 2000-08-14 2015-11-25 SanDisk 3D LLC Multilevel memory array and method for making same
US6621725B2 (en) 2000-08-17 2003-09-16 Kabushiki Kaisha Toshiba Semiconductor memory device with floating storage bulk region and method of manufacturing the same
US20020193484A1 (en) 2001-02-02 2002-12-19 The 54 Group, Ltd. Polymeric resins impregnated with insect repellants
US6531727B2 (en) 2001-02-09 2003-03-11 Micron Technology, Inc. Open bit line DRAM with ultra thin body transistors
US6744094B2 (en) 2001-08-24 2004-06-01 Micron Technology Inc. Floating gate transistor with horizontal gate layers stacked next to vertical body
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
US6873004B1 (en) 2002-02-04 2005-03-29 Nexflash Technologies, Inc. Virtual ground single transistor memory cell, memory array incorporating same, and method of operation thereof
US7064018B2 (en) 2002-07-08 2006-06-20 Viciciv Technology Methods for fabricating three dimensional integrated circuits
US6774458B2 (en) 2002-07-23 2004-08-10 Hewlett Packard Development Company, L.P. Vertical interconnection structure and methods
JP4206707B2 (ja) 2002-08-27 2009-01-14 株式会社日立製作所 通信品質設定装置、方法及びプログラム
US7005350B2 (en) 2002-12-31 2006-02-28 Matrix Semiconductor, Inc. Method for fabricating programmable memory array structures incorporating series-connected transistor strings
KR100881201B1 (ko) 2003-01-09 2009-02-05 삼성전자주식회사 사이드 게이트를 구비하는 소노스 메모리 소자 및 그제조방법
US7308524B2 (en) 2003-01-13 2007-12-11 Silicon Pipe, Inc Memory chain
US7307308B2 (en) 2003-04-07 2007-12-11 Silicon Storage Technology, Inc. Buried bit line non-volatile floating gate memory cell with independent controllable control gate in a trench, and array thereof, and method of formation
JP4108537B2 (ja) 2003-05-28 2008-06-25 富士雄 舛岡 半導体装置
KR100546331B1 (ko) 2003-06-03 2006-01-26 삼성전자주식회사 스택 뱅크들 마다 독립적으로 동작하는 멀티 포트 메모리장치
US20040262772A1 (en) 2003-06-30 2004-12-30 Shriram Ramanathan Methods for bonding wafers using a metal interlayer
JP4545423B2 (ja) 2003-12-09 2010-09-15 ルネサスエレクトロニクス株式会社 半導体装置
US7475174B2 (en) 2004-03-17 2009-01-06 Super Talent Electronics, Inc. Flash / phase-change memory in multi-ring topology using serial-link packet interface
US7221613B2 (en) 2004-05-26 2007-05-22 Freescale Semiconductor, Inc. Memory with serial input/output terminals for address and data and method therefor
US7378702B2 (en) 2004-06-21 2008-05-27 Sang-Yun Lee Vertical memory device structures
JP4407431B2 (ja) 2004-08-30 2010-02-03 株式会社日立製作所 計算機システム及び計算機システムの帯域制御方法
US7284226B1 (en) 2004-10-01 2007-10-16 Xilinx, Inc. Methods and structures of providing modular integrated circuits
US7366826B2 (en) 2004-12-16 2008-04-29 Sandisk Corporation Non-volatile memory and method with multi-stream update tracking
US7412560B2 (en) 2004-12-16 2008-08-12 Sandisk Corporation Non-volatile memory and method with multi-stream updating
US7493441B2 (en) 2005-03-15 2009-02-17 Dot Hill Systems Corporation Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data
US8314024B2 (en) 2008-12-19 2012-11-20 Unity Semiconductor Corporation Device fabrication
KR100673105B1 (ko) 2005-03-31 2007-01-22 주식회사 하이닉스반도체 반도체 소자의 수직형 트랜지스터 및 그의 형성 방법
US7515453B2 (en) 2005-06-24 2009-04-07 Metaram, Inc. Integrated memory core and memory interface circuit
US7612411B2 (en) 2005-08-03 2009-11-03 Walker Andrew J Dual-gate device and method
TWI543185B (zh) 2005-09-30 2016-07-21 考文森智財管理公司 具有輸出控制之記憶體及其系統
US20070192518A1 (en) 2006-02-14 2007-08-16 Aarohi Communications, Inc., A California Corporation Apparatus for performing I/O sharing & virtualization
JP4745108B2 (ja) 2006-04-06 2011-08-10 株式会社東芝 不揮発性半導体記憶装置
US7457902B2 (en) 2006-07-21 2008-11-25 Emulex Design & Manufacturing Corporation Lock and release mechanism for out-of-order frame prevention and support of native command queueing in FC-SATA
US20080091888A1 (en) 2006-10-17 2008-04-17 Motorola, Inc. Memory system having baseboard located memory buffer unit
JP2008251138A (ja) 2007-03-30 2008-10-16 Toshiba Corp 不揮発性半導体メモリ、不揮発性半導体メモリの制御方法、不揮発性半導体メモリシステム、及びメモリカード
US8706914B2 (en) 2007-04-23 2014-04-22 David D. Duchesneau Computing infrastructure
US20090179253A1 (en) 2007-05-25 2009-07-16 Cypress Semiconductor Corporation Oxide-nitride-oxide stack having multiple oxynitride layers
JP5130596B2 (ja) 2007-05-30 2013-01-30 国立大学法人東北大学 半導体装置
US8059443B2 (en) 2007-10-23 2011-11-15 Hewlett-Packard Development Company, L.P. Three-dimensional memory module architectures
US20090157946A1 (en) 2007-12-12 2009-06-18 Siamak Arya Memory having improved read capability
US7898857B2 (en) 2008-03-20 2011-03-01 Micron Technology, Inc. Memory structure having volatile and non-volatile memory portions
JP5354944B2 (ja) 2008-03-27 2013-11-27 株式会社東芝 半導体装置および電界効果トランジスタ
US8072811B2 (en) 2008-05-07 2011-12-06 Aplus Flash Technology, Inc, NAND based NMOS NOR flash memory cell, a NAND based NMOS NOR flash memory array, and a method of forming a NAND based NMOS NOR flash memory array
KR101660430B1 (ko) * 2009-08-14 2016-09-27 삼성전자 주식회사 반도체 패키지
US9116828B2 (en) 2008-06-11 2015-08-25 Micron Technology, Inc. Data bus inversion usable in a memory system
WO2009154799A1 (en) 2008-06-20 2009-12-23 Aplus Flash Technology, Inc. An apparatus and method for inhibiting excess leakage current in unselected nonvolatile memory cells in an array
DE102008036453A1 (de) 2008-08-05 2010-02-11 Infineon Technologies Ag Verfahren zum Versenden von Daten und Kommunikationseinrichtung
JP5331427B2 (ja) 2008-09-29 2013-10-30 株式会社日立製作所 半導体装置
US20100121994A1 (en) 2008-11-10 2010-05-13 International Business Machines Corporation Stacked memory array
JP2010118580A (ja) 2008-11-14 2010-05-27 Toshiba Corp 不揮発性半導体記憶装置
US8148763B2 (en) 2008-11-25 2012-04-03 Samsung Electronics Co., Ltd. Three-dimensional semiconductor devices
KR20110110106A (ko) 2008-12-09 2011-10-06 램버스 인코포레이티드 병행 및 파이프라인화 메모리 동작을 위한 비휘발성 메모리 디바이스
JP4956598B2 (ja) 2009-02-27 2012-06-20 シャープ株式会社 不揮発性半導体記憶装置及びその製造方法
US8178396B2 (en) 2009-03-11 2012-05-15 Micron Technology, Inc. Methods for forming three-dimensional memory devices, and related structures
US8284601B2 (en) 2009-04-01 2012-10-09 Samsung Electronics Co., Ltd. Semiconductor memory device comprising three-dimensional memory cell array
US8139418B2 (en) 2009-04-27 2012-03-20 Micron Technology, Inc. Techniques for controlling a direct injection semiconductor memory device
KR101635504B1 (ko) 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
JP2011028540A (ja) 2009-07-27 2011-02-10 Renesas Electronics Corp 情報処理システム、キャッシュメモリの制御方法、プログラム及びコンパイラ
KR20110018753A (ko) 2009-08-18 2011-02-24 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
US8417917B2 (en) * 2009-09-30 2013-04-09 International Business Machines Corporation Processor core stacking for efficient collaboration
JP5031809B2 (ja) 2009-11-13 2012-09-26 ユニサンティス エレクトロニクス シンガポール プライベート リミテッド 半導体装置
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
US8247895B2 (en) 2010-01-08 2012-08-21 International Business Machines Corporation 4D device process and structure
JP2010108522A (ja) 2010-02-02 2010-05-13 Toshiba Corp メモリシステムの制御方法
US8026521B1 (en) 2010-10-11 2011-09-27 Monolithic 3D Inc. Semiconductor device and structure
US8966208B2 (en) * 2010-02-25 2015-02-24 Conversant Ip Management Inc. Semiconductor memory device with plural memory die and controller die
KR101660432B1 (ko) 2010-06-07 2016-09-27 삼성전자 주식회사 수직 구조의 반도체 메모리 소자
US10217667B2 (en) 2011-06-28 2019-02-26 Monolithic 3D Inc. 3D semiconductor device, fabrication method and system
KR20120072211A (ko) 2010-12-23 2012-07-03 한국전자통신연구원 메모리 매핑장치 및 이를 구비한 멀티프로세서 시스템온칩 플랫폼
US8630114B2 (en) 2011-01-19 2014-01-14 Macronix International Co., Ltd. Memory architecture of 3D NOR array
KR20120085591A (ko) 2011-01-24 2012-08-01 김진선 3차원 비휘발성 메모리 소자, 그 동작 방법 및 그 제조 방법
US8952418B2 (en) 2011-03-01 2015-02-10 Micron Technology, Inc. Gated bipolar junction transistors
WO2012125719A2 (en) * 2011-03-14 2012-09-20 Rambus Inc. Methods and apparatus for testing inaccessible interface circuits in a semiconductor device
JP2012204684A (ja) 2011-03-25 2012-10-22 Toshiba Corp 不揮発性半導体記憶装置
US9559216B2 (en) 2011-06-06 2017-01-31 Micron Technology, Inc. Semiconductor memory device and method for biasing same
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US8527695B2 (en) 2011-07-29 2013-09-03 The Boeing Company System for updating an associative memory
US8878278B2 (en) 2012-03-21 2014-11-04 Sandisk Technologies Inc. Compact three dimensional vertical NAND and method of making thereof
JP2013214552A (ja) 2012-03-30 2013-10-17 Toshiba Corp 半導体装置とその製造方法
US9645177B2 (en) 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US9054183B2 (en) 2012-07-13 2015-06-09 United Silicon Carbide, Inc. Trenched and implanted accumulation mode metal-oxide-semiconductor field-effect transistor
US9697147B2 (en) 2012-08-06 2017-07-04 Advanced Micro Devices, Inc. Stacked memory device with metadata management
US8922243B2 (en) 2012-12-23 2014-12-30 Advanced Micro Devices, Inc. Die-stacked memory device with reconfigurable logic
KR101975534B1 (ko) 2012-09-11 2019-05-07 삼성전자주식회사 연산기능을 갖는 반도체 메모리 장치
US8984368B2 (en) * 2012-10-11 2015-03-17 Advanced Micro Devices, Inc. High reliability memory controller
JP2014093319A (ja) 2012-10-31 2014-05-19 Toshiba Corp 半導体装置およびその製造方法
WO2014087441A1 (en) 2012-12-03 2014-06-12 Hitachi, Ltd. Computer system and method of controlling computer system
US10403766B2 (en) 2012-12-04 2019-09-03 Conversant Intellectual Property Management Inc. NAND flash memory with vertical cell stack structure and method for manufacturing same
US8878271B2 (en) 2013-03-01 2014-11-04 Micron Technology, Inc. Vertical access device and apparatuses having a body connection line, and related method of operating the same
US9202694B2 (en) 2013-03-04 2015-12-01 Sandisk 3D Llc Vertical bit line non-volatile memory systems and methods of fabrication
US8902663B1 (en) 2013-03-11 2014-12-02 Monolithic 3D Inc. Method of maintaining a memory state
US10840239B2 (en) 2014-08-26 2020-11-17 Monolithic 3D Inc. 3D semiconductor device and structure
US20180033960A1 (en) 2013-03-15 2018-02-01 Adesto Technologies Corporation Nonvolatile memory elements having conductive structures with semimetals and/or semiconductors
US9297971B2 (en) * 2013-04-26 2016-03-29 Oracle International Corporation Hybrid-integrated photonic chip package with an interposer
US9368625B2 (en) 2013-05-01 2016-06-14 Zeno Semiconductor, Inc. NAND string utilizing floating body memory cell
US9281044B2 (en) 2013-05-17 2016-03-08 Micron Technology, Inc. Apparatuses having a ferroelectric field-effect transistor memory array and related method
CN103366798B (zh) 2013-07-10 2016-02-17 格科微电子(上海)有限公司 动态随机存取存储器及制造方法、半导体封装件及封装方法
US9934043B2 (en) 2013-08-08 2018-04-03 Linear Algebra Technologies Limited Apparatus, systems, and methods for providing computational imaging pipeline
US9337210B2 (en) 2013-08-12 2016-05-10 Micron Technology, Inc. Vertical ferroelectric field effect transistor constructions, constructions comprising a pair of vertical ferroelectric field effect transistors, vertical strings of ferroelectric field effect transistors, and vertical strings of laterally opposing pairs of vertical ferroelectric field effect transistors
US9837132B2 (en) * 2013-09-24 2017-12-05 Rambus, Inc. High capacity memory system
US9368214B2 (en) 2013-10-03 2016-06-14 Apple Inc. Programmable peak-current control in non-volatile memory devices
US8971676B1 (en) * 2013-10-07 2015-03-03 Oracle International Corporation Hybrid-integrated photonic chip package
WO2015061337A1 (en) 2013-10-21 2015-04-30 Sehat Sutardja Final level cache system and corresponding method
KR102128469B1 (ko) 2013-11-08 2020-06-30 삼성전자주식회사 반도체 장치
US9190293B2 (en) 2013-12-18 2015-11-17 Applied Materials, Inc. Even tungsten etch for high aspect ratio trenches
WO2015095612A1 (en) * 2013-12-18 2015-06-25 Rambus Inc. High capacity memory system with improved command-address and chip-select signaling mode
KR102066743B1 (ko) 2014-01-09 2020-01-15 삼성전자주식회사 비휘발성 메모리 장치 및 그 형성방법
US10169948B2 (en) 2014-01-31 2019-01-01 International Business Machines Corporation Prioritizing storage operation requests utilizing data attributes
KR102183713B1 (ko) 2014-02-13 2020-11-26 삼성전자주식회사 3차원 반도체 장치의 계단형 연결 구조 및 이를 형성하는 방법
US9368601B2 (en) 2014-02-28 2016-06-14 Sandisk Technologies Inc. Method for forming oxide below control gate in vertical channel thin film transistor
US20150279431A1 (en) 2014-04-01 2015-10-01 Micron Technology, Inc. Stacked semiconductor die assemblies with partitioned logic and associated systems and methods
KR102251809B1 (ko) 2014-05-28 2021-05-13 삼성전자주식회사 메모리 시스템, 메모리 인터페이스 장치 및 메모리 시스템에서의 인터페이싱 방법
US20150372099A1 (en) 2014-06-19 2015-12-24 Taiwan Semiconductor Manufacturing Company, Ltd. Contact silicide formation using a spike annealing process
US20160013156A1 (en) 2014-07-14 2016-01-14 Apple Inc. Package-on-package options with multiple layer 3-d stacking
KR102140788B1 (ko) 2014-07-18 2020-08-03 삼성전자주식회사 저항성 메모리 장치, 저항성 메모리 시스템 및 저항성 메모리 장치의 동작방법
US9685429B2 (en) 2014-07-29 2017-06-20 Dyi-chung Hu Stacked package-on-package memory devices
JP6203152B2 (ja) 2014-09-12 2017-09-27 東芝メモリ株式会社 半導体記憶装置の製造方法
US10014317B2 (en) 2014-09-23 2018-07-03 Haibing Peng Three-dimensional non-volatile NOR-type flash memory
US9230985B1 (en) 2014-10-15 2016-01-05 Sandisk 3D Llc Vertical TFT with tunnel barrier
US9595566B2 (en) 2015-02-25 2017-03-14 Sandisk Technologies Llc Floating staircase word lines and process in a 3D non-volatile memory having vertical bit lines
US20190148286A1 (en) 2015-09-21 2019-05-16 Monolithic 3D Inc. Multi-level semiconductor device and structure with memory
US11978731B2 (en) 2015-09-21 2024-05-07 Monolithic 3D Inc. Method to produce a multi-level semiconductor memory device and structure
US10007573B2 (en) 2015-04-27 2018-06-26 Invensas Corporation Preferred state encoding in non-volatile memories
KR20160128127A (ko) 2015-04-28 2016-11-07 에스케이하이닉스 주식회사 반도체 장치 및 그 제조 방법
KR102298661B1 (ko) 2015-04-30 2021-09-07 삼성전자주식회사 저장 장치 및 그것의 초기화 방법
US9620605B2 (en) 2015-05-15 2017-04-11 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor device structure and method
US10116557B2 (en) 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
US10254968B1 (en) 2015-06-10 2019-04-09 Firquest Llc Hybrid memory device for lookup operations
CN115942752A (zh) 2015-09-21 2023-04-07 莫诺利特斯3D有限公司 3d半导体器件和结构
US9412752B1 (en) 2015-09-22 2016-08-09 Macronix International Co., Ltd. Reference line and bit line structure for 3D memory
US9842651B2 (en) 2015-11-25 2017-12-12 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin film transistor strings
US9892800B2 (en) 2015-09-30 2018-02-13 Sunrise Memory Corporation Multi-gate NOR flash thin-film transistor strings arranged in stacked horizontal active strips with vertical control gates
US11120884B2 (en) 2015-09-30 2021-09-14 Sunrise Memory Corporation Implementing logic function and generating analog signals using NOR memory strings
US10102884B2 (en) 2015-10-22 2018-10-16 International Business Machines Corporation Distributed serialized data buffer and a memory module for a cascadable and extended memory subsystem
US9831266B2 (en) 2015-11-20 2017-11-28 Sandisk Technologies Llc Three-dimensional NAND device containing support pedestal structures for a buried source line and method of making the same
WO2017111790A1 (en) 2015-12-23 2017-06-29 Manusharow Mathew J Improving size and efficiency of dies
US9997232B2 (en) * 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10083722B2 (en) * 2016-06-08 2018-09-25 Samsung Electronics Co., Ltd. Memory device for performing internal process and operating method thereof
US9985046B2 (en) 2016-06-13 2018-05-29 Sandisk Technologies Llc Method of forming a staircase in a semiconductor device using a linear alignment control feature
US10417098B2 (en) 2016-06-28 2019-09-17 International Business Machines Corporation File level access to block level incremental backups of a virtual disk
EP3504728A4 (en) * 2016-08-26 2020-09-09 Sunrise Memory Corporation CAPACITIVE-COUPLING NON-VOLATILE THIN-LAYER TRANSISTOR CHAIN IN THREE-DIMENSIONAL NETWORKS
US9995785B2 (en) 2016-09-30 2018-06-12 Intel Corporation Stacked semiconductor package and method for performing bare die testing on a functional die in a stacked semiconductor package
KR102791220B1 (ko) 2017-01-23 2025-04-07 에스케이하이닉스 주식회사 쓰기 버퍼를 이용한 중복-쓰기 동작을 수행하는 메모리장치 및 메모리장치의 읽기 및 쓰기 방법
JP2018148071A (ja) 2017-03-07 2018-09-20 東芝メモリ株式会社 記憶装置
JP2018152419A (ja) 2017-03-10 2018-09-27 東芝メモリ株式会社 半導体記憶装置
US20180285252A1 (en) * 2017-04-01 2018-10-04 Intel Corporation Optimized memory access bandwidth devices, systems, and methods for processing low spatial locality data
US10217719B2 (en) * 2017-04-06 2019-02-26 Micron Technology, Inc. Semiconductor device assemblies with molded support substrates
US10521343B2 (en) 2017-06-12 2019-12-31 Western Digital Technologies, Inc. Storage system with a controller having a persistent memory interface to local memory
US10884656B2 (en) * 2017-06-16 2021-01-05 Microsoft Technology Licensing, Llc Performing background functions using logic integrated with a memory
US10608008B2 (en) 2017-06-20 2020-03-31 Sunrise Memory Corporation 3-dimensional nor strings with segmented shared source regions
US10692874B2 (en) 2017-06-20 2020-06-23 Sunrise Memory Corporation 3-dimensional NOR string arrays in segmented stacks
US10460817B2 (en) 2017-07-13 2019-10-29 Qualcomm Incorporated Multiple (multi-) level cell (MLC) non-volatile (NV) memory (NVM) matrix circuits for performing matrix computations with multi-bit input vectors
US10431596B2 (en) 2017-08-28 2019-10-01 Sunrise Memory Corporation Staggered word line architecture for reduced disturb in 3-dimensional NOR memory arrays
CN110785843A (zh) 2017-08-31 2020-02-11 美光科技公司 具有带有两个晶体管及一个电容器的存储器单元且具有与参考电压耦合的晶体管的主体区的设备
US11126550B1 (en) 2017-09-01 2021-09-21 Crossbar, Inc Integrating a resistive memory system into a multicore CPU die to achieve massive memory parallelism
US10630296B2 (en) 2017-09-12 2020-04-21 iCometrue Company Ltd. Logic drive with brain-like elasticity and integrality based on standard commodity FPGA IC chips using non-volatile memory cells
US10283452B2 (en) 2017-09-15 2019-05-07 Yangtze Memory Technology Co., Ltd. Three-dimensional memory devices having a plurality of NAND strings
CN107658317B (zh) 2017-09-15 2019-01-01 长江存储科技有限责任公司 一种半导体装置及其制备方法
US10445181B2 (en) 2017-10-23 2019-10-15 Western Digital Technologies, Inc. Lossless synchronization software reset
US10290332B1 (en) 2017-10-31 2019-05-14 Sandisk Technologies Llc Signal path optimization for read operations in storage devices
US10896916B2 (en) 2017-11-17 2021-01-19 Sunrise Memory Corporation Reverse memory cell
US10606513B2 (en) 2017-12-06 2020-03-31 Western Digital Technologies, Inc. Volatility management for non-volatile memory device
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
US10283493B1 (en) 2018-01-17 2019-05-07 Sandisk Technologies Llc Three-dimensional memory device containing bonded memory die and peripheral logic die and method of making thereof
US10475812B2 (en) 2018-02-02 2019-11-12 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin-film transistor strings
US10381378B1 (en) 2018-02-02 2019-08-13 Sunrise Memory Corporation Three-dimensional vertical NOR flash thin-film transistor strings
KR20190097930A (ko) * 2018-02-13 2019-08-21 삼성전자주식회사 채널 별 메모리 용량을 조절하는 메모리 장치 및 이를 포함하는 메모리 시스템
US10644826B2 (en) * 2018-02-23 2020-05-05 Advanced Micro Devices, Inc. Flexibile interfaces using through-silicon via technology
KR102512754B1 (ko) 2018-03-30 2023-03-23 삼성전자주식회사 관통 전극을 통해 전송되는 제어 신호를 이용하여 데이터를 샘플링하는 메모리 장치
CN108649031A (zh) 2018-04-09 2018-10-12 复旦大学 基于自整流特性材料的二维超快准非易失存储器及其制备方法
US10742217B2 (en) * 2018-04-12 2020-08-11 Apple Inc. Systems and methods for implementing a scalable system
US10679688B2 (en) 2018-04-16 2020-06-09 Samsung Electronics Co., Ltd. Ferroelectric-based memory cell usable in on-logic chip memory
US10431576B1 (en) 2018-04-20 2019-10-01 Taiwan Semiconductor Manufacturing Company, Ltd. Memory cell array and method of manufacturing same
TWI659359B (zh) 2018-04-27 2019-05-11 慧榮科技股份有限公司 控制儲存裝置之方法
US10748931B2 (en) 2018-05-08 2020-08-18 Micron Technology, Inc. Integrated assemblies having ferroelectric transistors with body regions coupled to carrier reservoirs
US10319696B1 (en) 2018-05-10 2019-06-11 Micron Technology, Inc. Methods for fabricating 3D semiconductor device packages, resulting packages and systems incorporating such packages
US10515907B2 (en) 2018-05-17 2019-12-24 Sandisk Technologies Llc Three-dimensional memory device containing hydrogen diffusion blocking structures and method of making the same
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US10651153B2 (en) 2018-06-18 2020-05-12 Intel Corporation Three-dimensional (3D) memory with shared control circuitry using wafer-to-wafer bonding
FR3082638B1 (fr) 2018-06-18 2021-07-02 Commissariat Energie Atomique Conception d'un circuit 3d comprenant des macros
US12300688B2 (en) 2018-07-02 2025-05-13 Shanghai Denglin Technologies Co. Ltd Configurable random-access memory (RAM) array including through-silicon via (TSV) bypassing physical layer
US11069696B2 (en) 2018-07-12 2021-07-20 Sunrise Memory Corporation Device structure for a 3-dimensional NOR memory array and methods for improved erase operations applied thereto
US10692837B1 (en) 2018-07-20 2020-06-23 Xilinx, Inc. Chip package assembly with modular core dice
TWI757635B (zh) 2018-09-20 2022-03-11 美商森恩萊斯記憶體公司 記憶體結構及其用於電性連接三維記憶裝置之多水平導電層之階梯結構的製作方法
TWI713195B (zh) 2018-09-24 2020-12-11 美商森恩萊斯記憶體公司 三維nor記憶電路製程中之晶圓接合及其形成之積體電路
US10565138B2 (en) 2018-09-28 2020-02-18 Intel Corporation Memory device with multiple memory arrays to facilitate in-memory computation
EP3891801A4 (en) * 2018-12-04 2022-08-24 Sunrise Memory Corporation Methods for forming multilayer horizontal nor-type thin-film memory strings
US11086733B2 (en) 2018-12-19 2021-08-10 Micron Technology, Inc. Reporting control information errors
US11670620B2 (en) * 2019-01-30 2023-06-06 Sunrise Memory Corporation Device with embedded high-bandwidth, high-capacity memory using wafer bonding
US10990534B2 (en) 2019-01-31 2021-04-27 Intel Corporation Device, system and method to facilitate disaster recovery for a multi-processor platform
US11398492B2 (en) 2019-02-11 2022-07-26 Sunrise Memory Corporation Vertical thing-film transistor and application as bit-line connector for 3-dimensional memory arrays
TWI764128B (zh) 2019-04-09 2022-05-11 美商森恩萊斯記憶體公司 具有後通道應用之準揮發性記憶體裝置
CN110192269A (zh) 2019-04-15 2019-08-30 长江存储科技有限责任公司 三维nand存储器件与多个功能芯片的集成
US11152343B1 (en) * 2019-05-31 2021-10-19 Kepler Computing, Inc. 3D integrated ultra high-bandwidth multi-stacked memory
US10923450B2 (en) 2019-06-11 2021-02-16 Intel Corporation Memory arrays with bonded and shared logic circuitry
JP2021026375A (ja) 2019-08-01 2021-02-22 株式会社日立製作所 ストレージシステム
US11500803B2 (en) 2019-09-03 2022-11-15 Qorvo Us, Inc. Programmable slave circuit on a communication bus
KR102845463B1 (ko) 2020-01-15 2025-08-11 삼성전자주식회사 병렬 연산 처리를 수행하는 메모리 장치 및 그 동작방법, 그리고 메모리 장치를 제어하는 메모리 컨트롤러의 동작방법
US11675500B2 (en) 2020-02-07 2023-06-13 Sunrise Memory Corporation High capacity memory circuit with low effective latency
CN115362436A (zh) 2020-02-07 2022-11-18 日升存储公司 准易失性系统级存储器
WO2021173209A1 (en) 2020-02-24 2021-09-02 Sunrise Memory Corporation High capacity memory module including wafer-section memory circuit
KR20210115954A (ko) 2020-03-17 2021-09-27 에스케이하이닉스 주식회사 컨트롤러 및 메모리 시스템
US11269779B2 (en) 2020-05-27 2022-03-08 Microsoft Technology Licensing, Llc Memory system with a predictable read latency from media with a long write latency
US11513729B1 (en) 2020-07-13 2022-11-29 Lightbits Labs Ltd. Distributed write buffer for storage systems
US11693582B2 (en) 2020-08-07 2023-07-04 Intel Corporation Automatic read calibration operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201435729A (zh) * 2012-11-20 2014-09-16 Charles I Peddle 固態硬碟機架構
US20170092371A1 (en) * 2015-09-30 2017-03-30 Eli Harari Capacitive-coupled non-volatile thin-film transistor strings in three dimensional arrays
US20200035560A1 (en) * 2016-08-26 2020-01-30 Intel Corporation Integrated circuit device structures and double-sided fabrication techniques
US20180366489A1 (en) * 2017-06-20 2018-12-20 Sunrise Memory Corporation 3-Dimensional NOR Memory Array Architecture and Methods for Fabrication Thereof
US20190206890A1 (en) * 2017-12-28 2019-07-04 Sunrise Memory Corporation 3-Dimensional NOR Memory Array with Very Fine Pitch: Device and Method
US20190332561A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Configuration of multi-die modules with through-silicon vias

Also Published As

Publication number Publication date
US12105650B2 (en) 2024-10-01
EP4100839A1 (en) 2022-12-14
US20210248094A1 (en) 2021-08-12
EP4100839A4 (en) 2024-03-13
US20240411711A1 (en) 2024-12-12
US11580038B2 (en) 2023-02-14
WO2021158994A1 (en) 2021-08-12
TW202143048A (zh) 2021-11-16
US20230131169A1 (en) 2023-04-27
CN115362436A (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
TWI783369B (zh) 準揮發性系統級記憶體
US10817201B2 (en) Multi-level memory with direct access
US11789644B2 (en) Memory centric system incorporating computational memory
Lee et al. Tiered-latency DRAM: A low latency and low cost DRAM architecture
US10169242B2 (en) Heterogeneous package in DIMM
US9990143B2 (en) Memory system
TW202125773A (zh) 具有增進記憶體側快取實施之多層記憶體
US10191664B2 (en) Memory system
US12373110B2 (en) Memory controller for a high capacity memory circuit using virtual bank addressing
US20170109277A1 (en) Memory system
US20170109062A1 (en) Memory system
US20170109066A1 (en) Memory system
US20170109086A1 (en) Memory system
US20170109072A1 (en) Memory system
US20170109071A1 (en) Memory system
US20170109067A1 (en) Memory system
Babaie et al. Efficient Caching with A Tag-enhanced DRAM
US20170109069A1 (en) Memory system