TWI772877B - 用於資料移動之可程式化引擎 - Google Patents

用於資料移動之可程式化引擎 Download PDF

Info

Publication number
TWI772877B
TWI772877B TW109130608A TW109130608A TWI772877B TW I772877 B TWI772877 B TW I772877B TW 109130608 A TW109130608 A TW 109130608A TW 109130608 A TW109130608 A TW 109130608A TW I772877 B TWI772877 B TW I772877B
Authority
TW
Taiwan
Prior art keywords
memory
chip
memory chip
data
microchip
Prior art date
Application number
TW109130608A
Other languages
English (en)
Other versions
TW202125267A (zh
Inventor
肯尼斯 馬里安 柯維茲
希瓦姆 斯瓦米
山繆 E 布萊蕭
賈斯汀 M 依諾
亞明 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 TW202125267A publication Critical patent/TW202125267A/zh
Application granted granted Critical
Publication of TWI772877B publication Critical patent/TWI772877B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B63/00Resistance change memory devices, e.g. resistive RAM [ReRAM] devices
    • H10B63/80Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays
    • H10B63/84Arrangements comprising multiple bistable or multi-stable switching components of the same type on a plane parallel to the substrate, e.g. cross-point arrays arranged in a direction perpendicular to the substrate, e.g. 3D cell arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7207Details relating to flash memory management management of metadata or control data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本揭露提供一種記憶體晶片,其具有經組態以儲存自一微晶片傳輸之程式資料的一預定義記憶體區。該記憶體晶片亦具有一可程式化引擎,該可程式化引擎經組態以根據該預定義記憶體區中之所儲存程式資料促進存取一第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片。該預定義記憶體區可包括經組態為用於該可程式化引擎之一命令佇列的一部分,且該可程式化引擎可經組態以根據該命令佇列促進存取該第二記憶體晶片。

Description

用於資料移動之可程式化引擎
本文中所揭露之至少一些實施例係關於一種具有用於資料移動之可程式化引擎的記憶體晶片。再者,本文中所揭露之至少一些實施例係關於在彈性化地供應記憶體晶片串以形成記憶體時使用此記憶體晶片。
運算系統之記憶體可為層階式的。在電腦架構中常常被稱作記憶體層階,記憶體層階可基於諸如回應時間、複雜度、容量、持久性及記憶體頻寬之某些因素將電腦記憶體分成層階。此等因素可相關且可常常為進一步強調記憶體層階之有用性的取捨。
一般而言,記憶體層階影響電腦系統中之效能。使記憶體頻寬及速度優先於其他因素可能需要考慮記憶體層階之限制,諸如回應時間、複雜度、容量及持久性。為了管理此優先化,可組合不同類型之記憶體晶片以平衡較快的晶片與較可靠或較具成本效益的晶片等。各種晶片中之每一者可被視為記憶體層階之部分。且例如,為了減少較快晶片上之潛時,記憶體晶片組合中之其他晶片可藉由填充緩衝器及接著發信啟動晶片之間的資料傳送來作出回應。
記憶體層階可由具有不同類型之記憶體單元的晶片製成。舉例而言,記憶體單元可為動態隨機存取記憶體(DRAM)單元。DRAM為一種類型之隨機存取半導體記憶體,其將每一資料位元儲存於一記憶體胞元中,該記憶體胞元通常包括電容器及金屬氧化物半導體場效電晶體(MOSFET)。該電容器可被充電或放電,其表示位元之兩個值:「0」及「1」。在DRAM中,電容器上之電荷會洩漏,因此DRAM需要外部記憶體再新電路,該外部記憶體再新電路藉由恢復每電容器之原始電荷來週期性地重寫電容器中之資料。另一方面,在靜態隨機存取記憶體(SRAM)單元之情況下,不需要再新特徵。再者,DRAM被視為揮發性記憶體,此係因為其在電力被移除時快速地失去其資料。此不同於快閃記憶體及其他類型之非揮發性記憶體,諸如非揮發性隨機存取記憶體(NVRAM),其中資料儲存更持久。
一種類型之NVRAM為3D XPoint記憶體。在3D XPoint記憶體之情況下,記憶體單元結合可堆疊交叉柵格資料存取陣列基於體電阻之改變而儲存位元。3D XPoint記憶體相比DRAM可能更具成本效益,但相比快閃記憶體,成本效益較低。
快閃記憶體為另一類型之非揮發性記憶體。快閃記憶體之優點為其可經電抹除及重新程式化。快閃記憶體被視為具有兩個主要類型:「反及」(NAND)型快閃記憶體及「反或」(NOR)型快閃記憶體,該等記憶體以可實施快閃記憶體之記憶體單元的NAND及NOR邏輯閘命名。快閃記憶體單元或胞元展現類似於對應閘之特性的內部特性。NAND型快閃記憶體包括NAND閘。NOR型快閃記憶體包括NOR閘。可按可能小於整個裝置之區塊對NAND型快閃記憶體進行寫入及讀取。NOR型快閃記憶體准許將單個位元組寫入至經抹除位置或獨立地被讀取。因為NAND型快閃記憶體之優點,此記憶體常常已用於記憶卡、USB隨身碟及固態磁碟機。然而,一般而言,使用快閃記憶體之主要取捨為相較於諸如DRAM及NVRAM之其他類型之記憶體,其僅能夠在特定區塊中進行相對較小數目個寫入循環。
本揭露之一個態樣提供一種記憶體晶片,其包含:預定義記憶體區,其經組態以儲存自微晶片傳輸之程式資料;及可程式化引擎,其經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。
本揭露之另一態樣提供一種系統,其包含:第一記憶體晶片;第二記憶體晶片;及微晶片,其中該第一記憶體晶片包含:預定義記憶體區,其經組態以儲存自微晶片傳輸之程式資料;及可程式化引擎,其經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片,且其中該微晶片經組態以藉由將資料寫入第一記憶體晶片中之預定義記憶體區中來程式化可程式化引擎。
再者,本揭露之另一態樣提供一種系統,其包含:第一記憶體晶片;第二記憶體晶片;第三記憶體晶片;及處理器晶片,其經由第三記憶體晶片連接至第一記憶體晶片,其中該第一記憶體晶片包含:預定義記憶體區,其經組態以儲存經由第三記憶體晶片自處理器晶片傳輸之程式資料;及可程式化引擎,其經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片,且其中該處理器晶片經組態以藉由經由第三記憶體晶片將資料寫入第一記憶體晶片中之預定義記憶體區中來程式化可程式化引擎。
本文中所揭露之至少一些實施例係關於一種記憶體晶片(例如,參見圖9至圖11中所展示之第一記憶體晶片902),該記憶體晶片包括用於資料移動之可程式化引擎(例如,參見圖9至圖11中所展示之可程式化引擎910)。可在彈性化地供應記憶體晶片串以形成記憶體(例如,參見圖1至圖3中所展示之記憶體晶片串102以及圖4中所展示之記憶體晶片串402)時使用具有可程式化引擎之記憶體晶片的一或多個例項作為一或多個記憶體晶片。再者,具有可程式化引擎之記憶體晶片可為、包括或包括於具有資料移動器之記憶體晶片(例如,參見圖6至圖8中所展示之記憶體晶片602)中。舉例而言,可程式化引擎可提供資料移動器。
可程式化引擎可具有邏輯電路,該邏輯電路可經由具有可程式化引擎之記憶體晶片的記憶體區或經由連接至具有可程式化引擎之記憶體晶片的記憶體晶片之記憶體區程式化。基於記憶體區中之內容,可程式化引擎可執行不同操作以將資料移動至下游記憶體晶片,諸如下游快閃記憶體晶片。舉例而言,諸如系統單晶片(SoC)之處理器可將資料儲存於記憶體晶片中之兩個預定記憶體位址中,以識別待移動至下游記憶體晶片中之記憶體區。且處理器可在記憶體晶片中之第三預定記憶體位址處寫入命令(例如,執行命令)。
引擎之可程式化性可在於待移動之記憶體區的大小、待移動之記憶體區的位置、移動方向(諸如,至或自下游快閃記憶體晶片)。返回參考先前實例,當可程式化引擎偵測記憶體晶片中之命令時,其移動儲存於晶片中之資料。在執行命令期間,可程式化引擎可清除第三記憶體位址使得其不重複操作。
在一些實施例中,可程式化引擎可執行呈指令形式之命令集,此在某種程度上類似於習知處理器。在一些實施例中,可程式化引擎可包括暫存器,該等暫存器可保存用於將資料自記憶體晶片移動至下游記憶體晶片之參數。舉例而言,暫存器可包括用於定義儲存待移動之資料及用於移動操作之命令之記憶體區的各別暫存器。
諸如SoC之處理器晶片可直接連接至具有可程式化引擎之記憶體晶片(例如,參見圖9中所展示之處理器晶片924)。再者,處理器晶片可經由匯流排(例如,參見圖10中所展示之匯流排1004)連接至具有可程式化引擎之記憶體晶片。或,處理器晶片可經由另一記憶體晶片連接至具有可程式化引擎之記憶體晶片(例如,參見圖1中所展示之處理器晶片1112及第三記憶體晶片1102)。在處理器晶片與具有可程式化引擎之記憶體晶片之間具有間接連接的實施例中,兩個晶片之間的另一記憶體晶片可包括用於具有可程式化引擎之記憶體晶片的快取記憶體(例如,參見圖11中所展示之用於第一記憶體晶片902的快取記憶體1114)。
處理器晶片可藉由將資料儲存於具有可程式化引擎之記憶體晶片中的預定義記憶體區(例如,參見圖9至圖11中所展示之預定義記憶體區908)中來程式化可程式化引擎。預定義記憶體區可包括經組態為用於可程式化引擎之命令佇列(例如,參見圖9至圖11中所展示之命令佇列912)的部分。因此,處理器晶片可藉由將資料寫入至預定義記憶體區來控制具有可程式化引擎之記憶體晶片,以將資料移動至記憶體晶片或自記憶體晶片移動資料。且所寫入資料中之一些控制命令佇列。根據可程式化引擎,可藉由可程式化引擎將資料自記憶體晶片移動至第二記憶體晶片(例如,參見第二記憶體晶片926)。
在一些實施例中,記憶體晶片可包括經組態以儲存自微晶片傳輸之程式資料的預定義記憶體區。且記憶體晶片亦可包括可程式化引擎,該可程式化引擎經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。在此等實施例中,預定義記憶體區可包括經組態為用於可程式化引擎之命令佇列的部分,且可程式化引擎可經組態以根據命令佇列促進存取第二記憶體晶片。另外,所儲存程式資料之部分可經組態以控制命令佇列。且記憶體之一部分可經組態以儲存待移動至第二記憶體晶片之資料,且儲存於記憶體之該部分中的資料可根據命令佇列而移動。
包括用於資料移動之可程式化引擎的記憶體晶片可具有用於至處理器及記憶體微晶片之各別分開連接的兩個分開的接腳集合(例如,參見圖9中所展示之接腳集合904及906),或用於至兩個不同記憶體晶片之各別分開連接的兩個分開的接腳集合(例如,參見圖11中所展示之接腳集合1104及906)。處理器亦可具有用於至至少兩個不同記憶體晶片之連接的兩個分開的接腳集合,該等連接包括至具有可程式化引擎之記憶體晶片的連接(圖式中未描繪)。在一些實施例中,處理器不必具有多個分開的接腳集合以存取多個記憶體晶片。為節省處理器上之接腳,多個記憶體晶片可經由匯流排連接至處理器。在此等實施例中,處理器可經由匯流排(例如,參見圖10中所展示之匯流排1004)經由讀取具有引擎之記憶體晶片中的資料或將資料寫入該記憶體晶片中來存取可程式化引擎。再者,在一些實例中,為節省記憶體晶片之接腳,多個記憶體晶片可經由匯流排連接至彼此。
包括可程式化引擎之記憶體晶片可為非揮發性隨機存取記憶體(NVRAM)晶片,此係因為該記憶體晶片包括複數個NVRAM胞元。且在一些實施例中,複數個NVRAM胞元可包括複數個3D XPoint記憶體胞元。替代地,包括可程式化引擎之記憶體晶片可為動態隨機存取記憶體(DRAM)晶片,此係因為該記憶體晶片包括複數個DRAM胞元。再者,包括可程式化引擎之記憶體晶片可為快閃記憶體晶片,此係因為該記憶體晶片包括複數個快閃記憶體胞元。該複數個快閃記憶體胞元可包括複數個NAND型快閃記憶體胞元。
儲存於具有可程式化引擎之記憶體晶片中的記憶體之一部分中的資料可為可由處理器晶片直接或間接存取的(例如,參見圖9至圖11中所展示之記憶體之部分914)。且處理器晶片可自具有可程式化引擎之記憶體晶片讀取資料以及將資料寫入至該記憶體晶片。資料之讀取及寫入可為自及至記憶體晶片中之記憶體的部分。
在一些實施例中,連接至具有可程式化引擎之記憶體晶片的第二記憶體晶片(例如,參見第二記憶體晶片926)為DRAM晶片。在一些實施例中,第二記憶體晶片為NVRAM晶片。在一些實施例中,第二記憶體晶片為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)。
儲存於連接至具有可程式化引擎之記憶體晶片的第二記憶體晶片之記憶體之一部分(例如,參見圖9中所展示之記憶體之部分930)中的資料可為可藉由或經由具有可程式化引擎之記憶體晶片存取的。再者,當儲存於第二記憶體晶片之部分中的資料可經由記憶體晶片存取時,該資料有時正由另一記憶體晶片或處理器晶片(諸如,圖9至圖10中所展示之處理器晶片924)存取。且具有可程式化引擎之記憶體晶片可自第二記憶體晶片讀取資料以及將資料寫入至第二記憶體晶片。資料之讀取及寫入可為自及至第二記憶體晶片中之記憶體的部分。
本文中所描述之一些實施例可包括系統,該系統包括第一記憶體晶片、第二記憶體晶片及微晶片。在此等實施例中,第一記憶體晶片可包括經組態以儲存自微晶片傳輸之程式資料的預定義記憶體區。第一記憶體晶片亦可包括可程式化引擎,該可程式化引擎經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。再者,在此等實施例中,微晶片可經組態以藉由將資料寫入第一記憶體晶片中之預定義記憶體區中來程式化可程式化引擎。
本文中所描述之一些實施例可包括系統,該系統包括第一記憶體晶片、第二記憶體晶片、第三記憶體晶片及經由第三記憶體晶片連接至第一記憶體晶片之處理器晶片。在此等實施例中,第一記憶體晶片可包括預定義記憶體區,該預定義記憶體區經組態以儲存經由第三記憶體晶片自處理器晶片傳輸之程式資料。第一記憶體晶片亦可包括可程式化引擎,該可程式化引擎經組態以根據儲存於預定義記憶體區中之程式資料促進存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。處理器晶片可經組態以藉由經由第三記憶體晶片將資料寫入第一記憶體晶片中之預定義記憶體區中來程式化可程式化引擎。
再者,本文中所揭露之至少一些實施例係關於一種具有整合式資料移動器(例如,參見圖6至圖8以及本文中之對應文字)之記憶體晶片。且本文中所揭露之至少一些實施例係關於在彈性化地供應記憶體晶片串以形成記憶體時使用此記憶體晶片(例如,參見圖1至圖8以及本文中之對應文字)。舉例而言,可在彈性化地供應圖1至圖3中所展示之記憶體晶片串102以及圖4中所展示之記憶體晶片串402時使用圖6至圖8中所描繪之記憶體晶片的一或多個例項作為一或多個記憶體晶片。
出於本揭露之目的,資料移動器為記憶體晶片或裝置中管理至另一記憶體晶片或裝置之資料傳送的電路。此資料移動器可用於記憶體層階中之記憶體晶片或裝置的群組中。因此,資料移動器可促進資料自一個記憶體晶片或裝置移動至記憶體層階中之另一記憶體晶片或裝置。
包括整合式資料移動器(例如,參見資料移動器608)之記憶體晶片(例如,參見記憶體晶片602)可具有兩個分開的接腳集合(例如,參見圖6至圖8中所展示之接腳集合604及606),該等集合用於至第一微晶片或裝置(例如,參見圖6至圖8中所展示之第一微晶片或裝置624)及第二微晶片或裝置(例如,參見圖6至圖8中所展示之第二微晶片或裝置626)之各別分開連接。第一微晶片或裝置可為處理器,諸如系統單晶片(SoC)或另一記憶體晶片。第二微晶片或裝置可為另一記憶體晶片或諸如大容量儲存裝置之記憶體裝置。
在一些實施例中,除資料移動器以外,記憶體晶片亦可包括加密引擎(例如,參見圖8中所展示之加密引擎802)以保護待移動第二微晶片或裝置之資料。再者,在此等實施例及其他實施例中,記憶體晶片可包括閘道管理員(gatekeeper)裝置(例如,參見圖8中所展示之閘道管理員804),該閘道管理員裝置可執行對儲存於第二微晶片或裝置中之資料之存取的鑑認。
資料移動器可使用各種原則組合儲存於其至第二微晶片或裝置之路徑中之記憶體晶片(例如,參見具有可藉由如圖6至圖8中所展示之第一微晶片或裝置624存取之資料的記憶體之部分610)中的資料。此可改善第二微晶片或裝置之寫入效能及耐久性。
一般而言,記憶體晶片可包括第一接腳集合、第二接腳集合及整合式資料移動器。該第一接腳集合可經組態以允許記憶體晶片經由第一佈線耦接至第一微晶片或裝置。該第二接腳集合可經組態以允許記憶體晶片經由與第一佈線分開之第二佈線耦接至第二微晶片或裝置。該資料移動器可經組態以促進經由第二接腳集合存取第二微晶片或裝置,以自第二微晶片或裝置讀取資料且將資料寫入至第二微晶片或裝置。
該記憶體晶片可為非揮發性隨機存取記憶體(NVRAM)晶片,此係因為該記憶體晶片包括複數個NVRAM胞元。且在一些實施例中,複數個NVRAM胞元可包括複數個3D XPoint記憶體胞元。再者,該記憶體晶片可為動態隨機存取記憶體(DRAM)晶片,此係因為該記憶體晶片包括複數個DRAM胞元。再者,該記憶體晶片可為快閃記憶體晶片,此係因為該記憶體晶片包括複數個快閃記憶體胞元。該複數個快閃記憶體胞元可包括複數個NAND型快閃記憶體胞元。
第一微晶片或裝置可為另一記憶體晶片或記憶體裝置或處理器晶片或處理器裝置。在一些實施例中,例如,第一微晶片或裝置為SoC。在一些實施例中,例如,第一微晶片或裝置為DRAM晶片。在一些實施例中,例如,第一微晶片或裝置為NVRAM晶片。儲存於記憶體晶片之一部分中的資料可為可藉由或經由第一微晶片或裝置利用第一接腳集合存取的。再者,當儲存於記憶體晶片之部分中的資料可經由第一微晶片或裝置存取時,該資料正由另一記憶體晶片或裝置或處理器晶片或裝置存取。且第一微晶片或裝置可自記憶體晶片讀取資料以及將資料寫入至記憶體晶片。
第二微晶片或裝置可為另一記憶體晶片或記憶體裝置。在一些實施例中,例如,第二微晶片或裝置為DRAM晶片。在一些實施例中,例如,第二微晶片或裝置為NVRAM晶片。在一些實施例中,例如,第二微晶片或裝置為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)。儲存於第二微晶片或裝置之一部分中的資料可為可藉由或經由記憶體晶片利用第二接腳集合存取的。再者,當儲存於第二微晶片或裝置之部分中的資料可經由記憶體晶片存取時,該資料正由另一記憶體晶片或裝置或處理器晶片或裝置(諸如,第一微晶片或裝置)存取。且記憶體晶片可自第二微晶片或裝置讀取資料以及將資料寫入至第二微晶片或裝置。
資料移動器可經組態以藉由以區塊將資料移動至第二微晶片或裝置來組合儲存於記憶體晶片之一部分中的資料。舉例而言,資料移動器可經組態以藉由以區塊將資料移動至第二微晶片或裝置來組合儲存於記憶體晶片之部分中的資料,該資料可藉由或經由第一微晶片或裝置利用第一接腳集合存取。藉由以區塊移動資料,資料移動器可增加第二微晶片或裝置之寫入效能及耐久性,且記憶體晶片上之依序或區塊存取比記憶體晶片上之隨機存取快若干數量級。
在一些實施例中,區塊之粒度比最初儲存於記憶體晶片之一部分中的資料粗糙。舉例而言,區塊之粒度比最初儲存於記憶體晶片之部分中的資料粗糙,該資料可藉由或經由第一微晶片或裝置利用第一接腳集合存取。區塊之粒度比記憶體晶片中之預成塊資料(諸如,待由第一微晶片或裝置存取之資料)粗糙,此情形可降低至第二微晶片或裝置之資料寫入的頻率。
資料移動器亦可經組態以緩衝儲存於記憶體晶片之一部分中的資料(諸如,儲存於記憶體晶片之部分中的可由第一微晶片或裝置存取之資料)之改變的移動。且在此等實施例中,資料移動器亦可經組態以由於資料移動器進行之緩衝而將寫入請求以合適大小發送至第二微晶片或裝置。當第二微晶片或裝置為第二微晶片或裝置且至第二微晶片或裝置之寫入由於資料移動器進行之緩衝而呈合適大小時,第二微晶片或裝置可根據寫入抹除區塊且程式化第二微晶片或裝置中之區塊,而無需在第二微晶片或裝置中進行進一步處理或最少處理。此為整合於記憶體晶片中之資料移動器可改善第二微晶片或裝置之寫入效能及耐久性的一種實例方式。再者,在資料移動器進行緩衝之情況下且當對記憶體晶片之一部分中的資料(諸如,晶片之部分中可由第一微晶片或裝置存取之資料)進行頻繁及/或隨機的改變時,不必以對應方式頻繁地抹除及重新程式化第二微晶片或裝置,此係因為改變發生在記憶體晶片之部分中。
當第二微晶片或裝置為快閃記憶體晶片時,藉由資料移動器進行緩衝甚至更有益,此係因為緩衝可移除或至少限制出現在快閃記憶體中之寫入放大的效應。寫入放大可藉由緩衝減少或甚至消除,此係因為藉由緩衝,可將由記憶體晶片發送之寫入請求修改為接收快閃記憶體晶片所預期的合適大小或粒度。因此,快閃記憶體晶片可根據寫入請求抹除區塊且程式化區塊而無需寫入之可能複製,且因此避免在第二微晶片或裝置中進行進一步處理。
資料移動器亦可經組態以集束儲存於記憶體晶片之一部分中的資料(諸如,記憶體晶片之部分中的可由第一微晶片或裝置存取之資料)之改變中的所改變位址。在此等實施例中,資料移動器亦可經組態以將經集束之所改變位址寫入至記憶體晶片之另一部分中,從而經由對第二微晶片或裝置之寫入請求移動至第二微晶片或裝置。資料移動器之此等特徵可改善藉由資料移動器進行的緩衝及根據緩衝對寫入請求之發送,此係因為所改變位址之集束可藉由資料移動器控制以對應於接收第二微晶片或裝置所預期的合適大小或粒度。
在一些實施例中,記憶體晶片亦可包括用於第二微晶片或裝置之邏輯至實體映射(例如,參見圖6中所展示之邏輯至實體映射612)。且用於第二微晶片或裝置之邏輯至實體映射可經組態以使用經集束之所改變位址作為輸入。在一些其他實施例中,第二微晶片或裝置可包括用於自身的邏輯至實體映射(例如,參見圖7中所展示之邏輯至實體映射712),一旦在對第二微晶片或裝置之寫入請求中發送經集束之所改變位址,該映射便經組態以使用經集束之所改變位址作為輸入。
本文中所描述之一些實施例可包括系統,該系統包括中間記憶體晶片(例如,參見記憶體晶片602)、第一記憶體晶片(例如,參見第一微晶片或裝置624)及第二記憶體晶片(例如,參見第二微晶片或裝置626)。在此等實施例中,中間記憶體晶片可為NVRAM晶片(例如,3D XPoint記憶體晶片),第二記憶體晶片可為快閃記憶體晶片(例如,NAND型快閃記憶體晶片),且第一記憶體晶片可為DRAM晶片。本文中所描述之一些其他實施例可包括系統,該系統包括中間記憶體晶片(例如,參見記憶體晶片602)、第二記憶體晶片(例如,參見第二微晶片或裝置626)及處理器晶片,諸如SoC (例如,參見第一微晶片或裝置624)。在此等實施例中,中間記憶體晶片可為NVRAM晶片(例如,3D XPoint記憶體晶片)或DRAM晶片,且第二記憶體晶片可為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)或NVRAM晶片。
再者,本揭露之至少一些態樣係有關彈性化地供應記憶體晶片串以形成用於處理器晶片或系統單晶片(SoC)之記憶體,例如參見圖1至圖5以及本文中之對應文字。自接線至記憶體之處理器晶片或SoC的視角,記憶體之記憶體晶片串不會呈現為不同於單記憶體晶片實施方案;然而,藉由彈性化供應,達成使用記憶體晶片串之益處。舉例而言,藉由彈性化供應,可達成使用具有記憶體層階之記憶體晶片串的益處。
處理器晶片或SoC可直接接線至串中之第一記憶體晶片,且可與第一記憶體晶片互動,而無需感知該串中在該第一記憶體晶片下游之記憶體晶片。在記憶體中,第一記憶體晶片可直接接線至第二記憶體晶片,且可與第二記憶體晶片互動使得處理器晶片或SoC獲得第一記憶體晶片及第二記憶體晶片之串的益處,而無需感知第二記憶體晶片。且第二記憶體晶片可直接接線至第三記憶體晶片等,使得處理器晶片或SoC獲得多個記憶體晶片之串的益處,而無需感知在第一記憶體晶片下游之多個記憶體晶片且與該多個記憶體晶片互動。又在一些實施例中,串中之每一晶片感知該串中緊接在上游之晶片及緊接在下游之晶片且與該等晶片互動,而無需感知該串中在更上游或更下游之晶片。
在一些實施例中,該串中之第一記憶體晶片可為DRAM晶片。該串中緊接在第一晶片下游之第二記憶體晶片可為NVRAM晶片(例如,3D XPoint記憶體晶片)。該串中緊接在第二晶片下游之第三記憶體晶片可為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)。又舉例而言,該串可為DRAM至DRAM至NVRAM,或DRAM至NVRAM至NVRAM,或DRAM至快閃記憶體至快閃記憶體;但DRAM至NVRAM至快閃記憶體可提供將記憶體晶片串彈性化地供應為多階層記憶體之更有效解決方案。再者,出於理解本文中所揭露之記憶體晶片串的彈性化供應起見,實例將常常涉及記憶體晶片之三晶片串;然而,應理解,記憶體晶片串可包括多於三個記憶體晶片。
再者,出於本揭露的目的,應理解,DRAM、NVRAM、3D XPoint記憶體及快閃記憶體為用於個別記憶體單元之技術,且用於本文中所描述之記憶體晶片中之任一者的記憶體晶片可包括用於命令及位址解碼之邏輯電路以及DRAM、NVRAM、3D XPoint記憶體或快閃記憶體之記憶體單元的陣列。舉例而言,本文中所描述之DRAM晶片包括用於命令及位址解碼之邏輯電路以及DRAM之記憶體單元的陣列。又舉例而言,本文中所描述之NVRAM晶片包括用於命令及位址解碼之邏輯電路以及NVRAM之記憶體單元的陣列。且舉例而言,本文中所描述之快閃記憶體晶片包括用於命令及位址解碼之邏輯電路以及快閃記憶體之記憶體單元的陣列。
再者,用於本文中所描述之記憶體晶片中之任一者的記憶體晶片可包括用於傳入及/或傳出資料之快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的單元。舉例而言,實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
記憶體晶片串中之晶片中之每一者可經由例如周邊組件高速互連(PCIe)或串列進階附接技術(SATA)之佈線連接至緊接在下游及/或上游之晶片。記憶體晶片串中之晶片之間的連接中之每一者可與佈線依序地連接,且連接可彼此分開。記憶體晶片串中之每一晶片可包括用於連接至該串中之上游晶片及/或下游晶片的一或多個接腳集合。在一些實施例中,記憶體晶片串中之每一晶片可包括密封於IC封裝內之單個積體電路(IC)。在此等實施例中,IC封裝可包括封裝之邊界上的接腳集合。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第一記憶體晶片(例如,DRAM晶片)可包括可諸如藉由處理器晶片或SoC組態為用於記憶體晶片串中之第二記憶體晶片(例如,NVRAM晶片)之快取記憶體的部分。第一記憶體晶片中之記憶體單元之一部分可用作用於第二記憶體晶片之快取記憶體。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第二記憶體晶片可包括可諸如藉由第一記憶體晶片直接地且藉由處理器晶片或SoC間接地組態為用於存取記憶體晶片串中之第三記憶體晶片(例如,快閃記憶體晶片)之緩衝器的部分。第二記憶體晶片中之記憶體單元之一部分可用作用於存取第三記憶體晶片之緩衝器。再者,第二記憶體晶片可包括可諸如藉由第一記憶體晶片直接地且藉由處理器晶片或SoC間接地組態為用於邏輯至實體位址映射之表(邏輯至實體表)或一般組態為邏輯至實體位址映射的部分。第二記憶體晶片中之記憶體單元之一部分可用於邏輯至實體位址映射。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第三記憶體晶片可包括控制器,該控制器可使用第二記憶體晶片中之邏輯至實體位址映射以管理第三記憶體晶片之轉譯層(例如,快閃轉譯層功能)。第三記憶體晶片之轉譯層可包括邏輯至實體位址映射,諸如第二記憶體晶片中之邏輯至實體位址映射的複本或導出項。
再者,在一些實施例中,連接至記憶體之處理器晶片或SoC可藉由將資料寫入至第一記憶體晶片中來組態第一記憶體晶片中之快取記憶體的位置及大小、第二記憶體晶片中之緩衝器及邏輯至實體位址映射以及第一晶片中之快取記憶體原則參數(例如,直寫對比寫回)。且藉由處理器晶片或SoC進行之前述組態及設定可委派給第二資料處理晶片,使得自處理器晶片或SoC移除此等任務。舉例而言,具有記憶體晶片串之記憶體可具有與處理器晶片或SoC分開之專用控制器,該控制器經組態以為記憶體提供及控制前述組態及設定。
一般而言,藉由用以提供多階層記憶體之彈性化供應的本文中所描述之技術,將晶片串中之某些記憶體晶片上的記憶體單元之一部分分配為快取記憶體或緩衝器的彈性化性為記憶體晶片(例如,DRAM、NVRAM及快閃記憶體晶片)如何經組態以使連接性可工作且彈性化。快取記憶體及緩衝器操作允許不同大小及/或不同類型之下游記憶體裝置連接至上游裝置,且反之亦然。在某種意義上,記憶體控制器之一些功能性實施於記憶體晶片中以實現記憶體晶片中之快取記憶體及緩衝器的操作。
圖1說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統100。記憶體系統100包括記憶體之記憶體晶片串102中的第一記憶體晶片104。記憶體系統100亦包括記憶體晶片串102中之第二記憶體晶片106及記憶體晶片串中之第三記憶體晶片108。
在圖1中,第一記憶體晶片104直接接線至第二記憶體晶片106 (例如,參見佈線124),且經組態以直接與第二記憶體晶片互動。再者,第二記憶體晶片106直接接線至第三記憶體晶片108 (例如,參見佈線126),且經組態以直接與第三記憶體晶片互動。
再者,記憶體晶片串102中之每一晶片可包括用於連接至該串中之上游晶片及/或下游晶片的一或多個接腳集合(例如,參見接腳集合132、134、136及138)。在一些實施例中,記憶體晶片串(例如,參見記憶體晶片串102或圖4中所展示之記憶體晶片之群組的串402)中之每一晶片可包括密封於IC封裝內之單個IC。舉例而言,接腳集合132為第一記憶體晶片104之部分,且經由佈線124及為第二記憶體晶片106之部分的接腳集合134將第一記憶體晶片104連接至第二記憶體晶片106。佈線124連接兩個接腳集合132及134。又舉例而言,接腳集合136為第二記憶體晶片106之部分,且經由佈線126及為第三記憶體晶片108之部分的接腳集合138將第二記憶體晶片106連接至第三記憶體晶片108。佈線126連接兩個接腳集合136及138。
再者,如所展示,第一記憶體晶片104包括用於第二記憶體晶片106之快取記憶體114。且第二記憶體晶片106包括用於第三記憶體晶片108之緩衝器116以及用於第三記憶體晶片108之邏輯至實體映射118。
用於第二記憶體晶片106之快取記憶體114可藉由處理器晶片或記憶體控制器晶片(例如,參見圖2中所展示之處理器晶片202及圖3中所展示之記憶體控制器晶片302)來組態。第一記憶體晶片104中之快取記憶體114的位置及大小可藉由處理器晶片或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第一記憶體晶片中。再者,第一記憶體晶片104中之快取記憶體114的快取記憶體原則參數可藉由處理器或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第一記憶體晶片中。
用於第三記憶體晶片108之緩衝器116可藉由處理器晶片或記憶體控制器晶片(例如,參見圖2中所展示之處理器晶片202及圖3中所展示之記憶體控制器晶片302)來組態。第二記憶體晶片106中之緩衝器116的位置及大小可藉由處理器晶片或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第二記憶體晶片中,諸如間接地經由第一記憶體晶片104。再者,第二記憶體晶片106中之緩衝器116的緩衝器原則參數可藉由處理器或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第二記憶體晶片中,諸如經由第一記憶體晶片104間接地。
用於第三記憶體晶片108之邏輯至實體映射118可藉由處理器晶片或記憶體控制器晶片(例如,參見圖2中所展示之處理器晶片202及圖3中所展示之記憶體控制器晶片302)來組態。第二記憶體晶片106中之邏輯至實體映射118的位置及大小可藉由處理器晶片或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第二記憶體晶片中,諸如經由第一記憶體晶片104間接地。再者,第二記憶體晶片106中之邏輯至實體映射118的緩衝器原則參數可藉由處理器或記憶體控制器晶片利用對應資料來組態,該對應資料藉由處理器或記憶體控制器晶片寫入至第二記憶體晶片中,諸如經由第一記憶體晶片104間接地。
在一些實施例中,第三記憶體晶片108可具有該串中之晶片的最低記憶體頻寬。在一些實施例中,第一記憶體晶片104可具有該串中之晶片的最高記憶體頻寬。在此等實施例中,第二記憶體晶片106可具有該串中之晶片的次最高記憶體頻寬,使得第一記憶體晶片104具有該串中之晶片的最高記憶體頻寬且第三記憶體晶片108具有該串中之晶片的最低記憶體頻寬。
在一些實施例中,第一記憶體晶片104為或包括DRAM晶片。在一些實施例中,第一記憶體晶片104為或包括NVRAM晶片。在一些實施例中,第二記憶體晶片106為或包括DRAM晶片。在一些實施例中,第二記憶體晶片106為或包括NVRAM晶片。在一些實施例中,第三記憶體晶片108為或包括DRAM晶片。在一些實施例中,第三記憶體晶片108為或包括NVRAM晶片。且在一些實施例中,第三記憶體晶片108為或包括快閃記憶體晶片。
在具有一或多個DRAM晶片之實施例中,DRAM晶片可包括用於命令及位址解碼之邏輯電路以及DRAM之記憶體單元的陣列。再者,本文中所描述之DRAM晶片可包括用於傳入及/或傳出資料之快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的DRAM單元。舉例而言,在DRAM晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
在具有一或多個NVRAM晶片之實施例中,NVRAM晶片可包括用於命令及位址解碼之邏輯電路以及NVRAM之記憶體單元(諸如,3D XPoint記憶體之單元)的陣列。再者,本文中所描述之NVRAM晶片可包括用於傳入及/或傳出資料之快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的NVRAM單元。舉例而言,在NVRAM晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
在一些實施例中,NVRAM晶片可包括非揮發性記憶體胞元之交叉點陣列。非揮發性記憶體之交叉點陣列可結合可堆疊交叉柵格資料存取陣列基於體電阻之改變而執行位元儲存。另外,與許多基於快閃記憶體之記憶體相比,交叉點非揮發性記憶體可執行就地寫入操作,其中可在先前未抹除非揮發性記憶體胞元之情況下程式化非揮發性記憶體胞元。
如本文中所提及,NVRAM晶片可為或包括交叉點儲存器及記憶體裝置(例如,3D XPoint記憶體)。交叉點記憶體裝置使用無電晶體記憶體元件,其中之每一者具有堆疊在一起作為一行之記憶體胞元及選擇器。記憶體元件行經由兩個垂直導線分層連接,其中一個分層在記憶體元件行上方且另一分層在記憶體元件行下方。可在兩個層中之每一者上的一條導線之交叉點處個別地選擇每一記憶體元件。交叉點記憶體裝置為快速且非揮發性的,且可用作統一記憶體集區以供處理及儲存。
在具有一或多個快閃記憶體晶片之實施例中,快閃記憶體晶片可包括用於命令及位址解碼之邏輯電路以及快閃記憶體之記憶體單元(諸如,NAND型快閃記憶體之單元)的陣列。再者,本文中所描述之快閃記憶體晶片可包括用於傳入及/或傳出資料之快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的快閃記憶體單元。舉例而言,在快閃記憶體晶片上實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
又舉例而言,記憶體晶片串之實施例可包括DRAM至DRAM至NVRAM,或DRAM至NVRAM至NVRAM,或DRAM至快閃記憶體至快閃記憶體;然而,DRAM至NVRAM至快閃記憶體可提供將記憶體晶片串彈性化地供應為多階層記憶體之更有效解決方案。
再者,出於本揭露的目的,應理解,DRAM、NVRAM、3D XPoint記憶體及快閃記憶體為用於個別記憶體單元之技術,且用於本文中所描述之記憶體晶片中之任一者的記憶體晶片可包括用於命令及位址解碼之邏輯電路以及DRAM、NVRAM、3D XPoint記憶體或快閃記憶體之記憶體單元的陣列。舉例而言,本文中所描述之DRAM晶片包括用於命令及位址解碼之邏輯電路以及DRAM之記憶體單元的陣列。舉例而言,本文中所描述之NVRAM晶片包括用於命令及位址解碼之邏輯電路以及NVRAM之記憶體單元的陣列。舉例而言,本文中所描述之快閃記憶體晶片包括用於命令及位址解碼之邏輯電路以及快閃記憶體之記憶體單元的陣列。
再者,用於本文中所描述之記憶體晶片中之任一者的記憶體晶片可包括用於傳入及/或傳出資料之快取記憶體或緩衝記憶體。在一些實施例中,實施快取記憶體或緩衝記憶體之記憶體單元可不同於代管快取記憶體或緩衝記憶體之晶片上的單元。舉例而言,實施快取記憶體或緩衝記憶體之記憶體單元可為SRAM之記憶體單元。
圖2說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統100及處理器晶片202。在圖2中,處理器晶片202直接接線(例如,參見佈線204)至第一記憶體晶片104且經組態以直接與第一記憶體晶片互動。
在一些實施例中,處理器晶片202包括或為SoC。本文中所描述之SoC可為或包括整合運算裝置之任何兩個或多於兩個組件的積體電路或晶片。兩個或多於兩個組件可包括中央處理單元(CPU)、圖形處理單元(GPU)、記憶體、輸入/輸出埠及輔助儲存器中之至少一或多者。舉例而言,本文中所描述之SoC亦可在單個電路晶粒上包括CPU、GPU、圖形及記憶體介面、硬碟、USB連接性、隨機存取記憶體、唯讀記憶體、輔助儲存器或其任何組合。再者,在處理器晶片202為SoC之情況下,SoC至少包括CPU及/或GPU。
對於本文中所描述之SoC,兩個或多於兩個組件可嵌入於單個基板或微晶片(晶片)上。一般而言,SoC與基於主機板之習知架構的不同之處在於,SoC將其所有組件整合至單個積體電路中;而主機板容納及連接可拆卸或可替換組件。因為兩個或多於兩個組件整合於單個基板或晶片上,所以SoC比具有等效功能性之多晶片設計消耗更少功率且佔據小得多之面積。因此,在一些實施例中,本文中所描述之記憶體系統可與行動運算裝置(諸如,智慧型手機)、嵌入式系統及物聯網裝置中之SoC連接或為該等SoC之一部分。
處理器晶片202可經組態以組態用於第二記憶體晶片106之快取記憶體114。處理器晶片202亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態快取記憶體114之位置及大小。處理器晶片202亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態快取記憶體原則參數。
再者,處理器晶片202可經組態以組態用於第三記憶體晶片108之緩衝器116及/或用於第三記憶體晶片之邏輯至實體映射118。處理器晶片202亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態緩衝器116之位置及大小。處理器晶片202亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態邏輯至實體映射118之位置及大小。
圖3說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統100及記憶體控制器晶片302。在圖3中,記憶體控制器晶片302直接接線(例如,參見佈線304)至第一記憶體晶片104,且經組態以直接與第一記憶體晶片互動。
在一些實施例中,記憶體控制器晶片302包括或為SoC。此SoC可為或包括整合運算裝置之任何兩個或多於兩個組件的積體電路或晶片。兩個或多於兩個組件可包括分開的記憶體、輸入/輸出埠及分開的輔助儲存器中之至少一或多者。舉例而言,SoC可在單個電路晶粒上包括記憶體介面、硬碟、USB連接性、隨機存取記憶體、唯讀記憶體、輔助儲存器或其任何組合。再者,在記憶體控制器晶片302為SoC之情況下,SoC至少包括資料處理單元。
記憶體控制器晶片302可經組態以組態用於第二記憶體晶片106之快取記憶體114。記憶體控制器晶片302亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態快取記憶體114之位置及大小。記憶體控制器晶片302亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態快取記憶體原則參數。
再者,記憶體控制器晶片302可經組態以組態用於第三記憶體晶片108之緩衝器116及/或用於第三記憶體晶片之邏輯至實體映射118。記憶體控制器晶片302亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態緩衝器116之位置及大小。記憶體控制器晶片302亦可經組態以藉由將對應資料寫入至第一記憶體晶片104中來組態邏輯至實體映射118之位置及大小。
圖4說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統400,該多階層記憶體具有各自包括多個記憶體晶片之階層。記憶體系統400包括記憶體晶片之群組的串402。記憶體晶片之群組的串402包括記憶體晶片之第一群組,其包括第一類型之記憶體晶片(例如,參見記憶體晶片404a及404b,其為相同類型的晶片)。記憶體晶片之群組的串402包括記憶體晶片之第二群組,其包括第一類型之記憶體晶片或第二類型之記憶體晶片(例如,參見記憶體晶片406a及406b,其為相同類型之晶片)。記憶體晶片之群組的串402亦包括記憶體晶片之第三群組,其包括第一類型之記憶體晶片、第二類型之記憶體晶片或第三類型之記憶體晶片(例如,參見記憶體晶片408a及408b,其為相同類型之晶片)。第一類型之記憶體晶片可為或包括DRAM晶片。第二類型之記憶體晶片可為或包括NVRAM晶片。第三類型之記憶體晶片可為或包括快閃記憶體晶片。
再者,如圖4中所展示,記憶體晶片之第一群組中的晶片經由佈線424直接接線至記憶體晶片之第二群組中的晶片,且經組態以直接與記憶體晶片之第二群組中的晶片中之一或多者互動。再者,如圖4中所展示,記憶體晶片之第二群組中的晶片經由佈線426直接接線至記憶體晶片之第三群組中的晶片,且經組態以直接與記憶體晶片之第三群組中的晶片中之一或多者互動。
再者,如圖4中所展示,記憶體晶片之第一群組中的每一晶片包括用於記憶體晶片之第二群組的快取記憶體(例如,參見快取記憶體414)。且記憶體晶片之第二群組中的每一晶片包括用於記憶體晶片之第三群組的緩衝器416以及用於記憶體晶片之第三群組的邏輯至實體映射418。
在一些實施例中,記憶體晶片(例如,參見記憶體晶片408a及408b)之第三群組中的每一晶片相對於記憶體晶片之群組的串402中之其他晶片可具有最低記憶體頻寬。在一些實施例中,記憶體晶片(例如,參見記憶體晶片404a及404b)之第一群組中的每一晶片相對於記憶體晶片之群組的串402中之其他晶片可具有最高記憶體頻寬。在此等實施例中,記憶體晶片(例如,參見記憶體晶片406a及406b)之第二群組中的每一晶片相對於記憶體晶片之群組的串402中之其他晶片可具有次最高記憶體頻寬,使得記憶體晶片之第一群組中的每一晶片具有最高記憶體頻寬且記憶體晶片之第三群組中的每一晶片具有最低記憶體頻寬。
在一些實施例中,記憶體晶片(例如,參見記憶體晶片404a及404b)之第一群組可包括DRAM晶片或NVRAM晶片。在一些實施例中,記憶體晶片(例如,參見記憶體晶片406a及406b)之第二群組可包括DRAM晶片或NVRAM晶片。在一些實施例中,記憶體晶片(例如,參見記憶體晶片408a及408b)之第三群組可包括DRAM晶片、NVRAM晶片或快閃記憶體晶片。
如圖1至圖4中所展示,本揭露係有關於記憶體晶片串(例如,參見圖1至圖3中所展示之記憶體晶片串102或圖4中所展示之記憶體晶片之群組的串402)之彈性化供應。且記憶體晶片串之彈性化供應形成記憶體(例如,參見圖2中所展示之記憶體系統100或圖4中所展示之記憶體系統400)。
本文中所揭露之諸如記憶體系統100或400的記憶體系統可為其自身的設備或在其自身的封裝內。
在一些實施例中,本文中所揭露之諸如記憶體系統100或400的記憶體系統可與處理器晶片或SoC (例如,參見圖2)組合,且用於處理器晶片或SoC。當與處理器晶片或SoC組合且用於處理器晶片或SoC時,記憶體系統及處理器晶片或SoC可為單個設備之部分及/或組合成單個封裝。
再者,在一些實施例中,本文中所揭露之諸如記憶體系統100或400的記憶體系統可與記憶體控制器晶片(例如,參見圖3)組合。當與記憶體控制器晶片組合時,記憶體系統及記憶體控制器晶片可為單個設備之部分及/或組合成單個封裝。替代地,晶片串中之每一晶片或至少第一記憶體晶片及第二記憶體晶片可包括將類似功能性提供至圖3中所展示之記憶體控制器晶片的各別記憶體控制器。
自接線至記憶體(例如,參見圖2中所展示之處理器晶片202)或記憶體控制器晶片(例如,參見圖3中所展示之記憶體控制器晶片302)的處理器晶片或SoC之視角,記憶體之記憶體晶片串不會呈現為不同於單個記憶體晶片實施方案;然而,藉由彈性化供應,達成使用記憶體晶片串之益處。在此等實施例中,處理器晶片或SoC或記憶體控制器晶片可直接接線(例如,參見圖2中所展示之佈線204或圖3中所展示之佈線304)至記憶體晶片串102中之第一記憶體晶片(例如,參見第一記憶體晶片104)且可與第一記憶體晶片互動,而無需感知該串中在第一記憶體晶片下游之記憶體晶片(例如,參見在第一記憶體晶片104下游之第二記憶體晶片106及第三記憶體晶片108)。
在記憶體(例如,參見記憶體系統100或400)中,第一記憶體晶片(例如,參見第一記憶體晶片104,或記憶體晶片404a或404b中之一者)可直接接線至第二記憶體晶片(例如,參見第二記憶體晶片106,或記憶體晶片406a或406b中之一者)且可與第二記憶體晶片互動,使得處理器晶片、SoC或記憶體控制器晶片(例如,參見處理器晶片202及記憶體控制器晶片302)獲得第一記憶體晶片及第二記憶體晶片之串的益處而無需感知第二記憶體晶片。且第二記憶體晶片(例如,參見第二記憶體晶片106,或記憶體晶片406a或406b中之一者)可直接接線至第三記憶體晶片(例如,參見第三記憶體晶片108,或記憶體晶片408a或408b中之一者)等,使得處理器晶片、SoC或記憶體控制器晶片獲得多個記憶體晶片之串(例如,參見記憶體晶片串102或記憶體晶片之群組的串402)的益處而無需感知在第一記憶體晶片下游之多個記憶體晶片且與該多個記憶體晶片互動。再者,在一些實施例中,串中之每一晶片感知該串中緊接在上游之晶片及緊接在下游之晶片且與該等晶片互動,而無需感知該串中在更上游或更下游之晶片。
如所提及,藉由彈性化供應,可達成使用具有記憶體層階之記憶體晶片串的益處。因此,例如,在一些實施例中,串中之第一記憶體晶片(例如,參見第一記憶體晶片104)可為記憶體中具有最高記憶體頻寬之晶片。該串中緊接在第一晶片下游之第二記憶體晶片(例如,參見第二記憶體晶片106)可為記憶體之具有次最高記憶體頻寬的晶片(其可具有其他益處,諸如比第一晶片更便宜地製造或比第一晶片更可靠且持久地儲存資料)。該串中緊接在第二晶片下游之第三記憶體晶片(例如,參見第三記憶體晶片108)(或該串中之最終下游晶片,其中該串具有多於三個記憶體晶片)可具有最低記憶體頻寬。在此等實例中,第三記憶體晶片(或在具有多於三個記憶體晶片之其他實例中為最終下游晶片)可為用於儲存資料之最具成本效益的晶片或最可靠或持久的晶片。
在一些實施例中,該串中之第一記憶體晶片可為DRAM晶片。在此等實施例中,該串中緊接在第一晶片下游之第二記憶體晶片可為NVRAM晶片(例如,3D XPoint記憶體晶片)。且在此等實施例中,該串中緊接在第二晶片下游之第三記憶體晶片可為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)。
如所提及,出於理解此處所揭露之記憶體晶片串的彈性化供應起見,實例常常涉及記憶體晶片之三晶片串(例如,參見圖1至圖3中所展示之記憶體晶片串102及圖4中所展示之記憶體晶片之群組的串402);然而,應理解,記憶體晶片串可包括多於三個記憶體晶片或多於三個晶片群組,其中群組中之每一者為晶片階層。
如所提及,記憶體晶片串之一些實施例可包括:DRAM記憶體晶片,其為該串中之第一晶片;NVRAM晶片,其為該串中之第二晶片;及快閃記憶體晶片(例如,NAND型快閃記憶體晶片),其為該串中之第三晶片且可用作該串中之大容量記憶體晶片。在此等實施例中且在具有記憶體晶片類型之其他配置的其他實施例中,記憶體晶片串中之晶片中之每一者經由佈線(例如,PCIe或SATA)連接至緊接在下游及/或上游之晶片。記憶體晶片串中之晶片之間的連接中之每一者可與佈線依序地連接,且該等連接可彼此分開(例如,參見佈線124及126以及佈線424及426)。再者,記憶體晶片串中之每一晶片可包括用於連接至該串中之上游晶片及/或下游晶片的一或多個接腳集合(例如,參見圖1中所描繪之接腳集合132、134、136及138)。在一些實施例中,記憶體晶片串(例如,參見記憶體晶片串102或記憶體晶片之群組的串402)中之每一晶片可包括密封於IC封裝內之單個IC。在此等實施例中,IC封裝可包括封裝之邊界上的接腳集合(諸如,接腳集合132、134、136及138)。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第一記憶體晶片(例如,DRAM晶片)可包括可諸如藉由處理器晶片或SoC組態為用於該串中之第二記憶體晶片(例如,NVRAM晶片)之快取記憶體(例如,參見用於第二記憶體晶片之快取記憶體114)的部分。第一記憶體晶片中之記憶體單元之一部分可用作用於第二記憶體晶片之快取記憶體。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第二記憶體晶片可包括可諸如藉由第一記憶體晶片直接地且藉由處理器晶片或SoC間接地組態為用於存取記該串中之第三記憶體晶片(例如,快閃記憶體晶片)之緩衝器(例如,參見用於第三記憶體晶片之緩衝器116)的部分。第二記憶體晶片中之記憶體單元之一部分可用作用於存取第三記憶體晶片之緩衝器。再者,第二記憶體晶片可包括可諸如藉由第一記憶體晶片直接地且藉由處理器晶片或SoC間接地組態為用於邏輯至實體位址映射之表(邏輯至實體表)或一般組態為邏輯至實體位址映射(例如,參見邏輯至實體映射118)的部分。第二記憶體晶片中之記憶體單元之一部分可用於邏輯至實體位址映射。
用於處理器晶片或SoC之記憶體的記憶體晶片串中之第三記憶體晶片可包括控制器(例如,參見控制器128),該控制器可使用第二記憶體晶片中之邏輯至實體位址映射以管理第三記憶體晶片之轉譯層(例如,快閃轉譯層功能)(例如,參見轉譯層130)。第三記憶體晶片之轉譯層可包括邏輯至實體位址映射,諸如第二記憶體晶片中之邏輯至實體位址映射的複本或導出項。
再者,在一些實施例中,連接至記憶體之處理器晶片或SoC (例如,參見處理器晶片202)可藉由將資料寫入至第一記憶體晶片(例如,參見第一記憶體晶片104)中來組態第一記憶體晶片中之快取記憶體的位置及大小、第二記憶體晶片中之緩衝器及邏輯至實體位址映射以及第一晶片中之快取記憶體原則參數(例如,直寫對比寫回)。且藉由處理器晶片或SoC進行之前述組態及設定可委派給第二資料處理晶片,使得自處理器晶片或SoC (例如,參見圖3中所展示之記憶體控制器晶片302)移除此等任務。舉例而言,具有記憶體晶片串之記憶體可具有與處理器晶片或SoC分開之專用控制器,該控制器經組態以為記憶體(例如,參見記憶體控制器晶片302)提供及控制前述組態及設定。
出於本揭露的目的,應理解,記憶體晶片串中之記憶體晶片可由類似記憶體晶片之群組替換,使得該串包括類似晶片之群組的串(例如,參見圖4中所展示之記憶體晶片之群組的串402)。在此等實例中,類似晶片之每一群組為串中之節點。再者,在一些實施例中,記憶體晶片串之節點可由單晶片節點及多晶片節點(圖式中未描繪)之組合構成。舉例而言,在記憶體晶片串中,第一記憶體晶片(例如,DRAM晶片)可由類似記憶體晶片之群組(例如,DRAM晶片之群組)替換,第二記憶體晶片(例如,NVRAM晶片)可由類似記憶體晶片之群組(例如,NVRAM晶片之群組)替換,第三記憶體晶片(例如,快閃記憶體晶片)可由類似記憶體晶片之群組(例如,快閃記憶體晶片之群組)替換,或其某一組合。
圖5說明根據本揭露之一些實施例的實例運算裝置500之實例部分。運算裝置500可經由如圖5中所展示之電腦網路502通信耦接至其他運算裝置。運算裝置500至少包括匯流排504、處理器506 (諸如,CPU及/或圖2中所展示之處理器晶片202)、主記憶體508、網路介面510及資料儲存系統512。匯流排504通信耦接處理器506、主記憶體508、網路介面510及資料儲存系統512。運算裝置500包括電腦系統,該電腦系統至少包括經由匯流排504 (其可包括多個匯流排及佈線)彼此通信的處理器506、主記憶體508 (例如,唯讀記憶體(ROM)、快閃記憶體、諸如同步DRAM (SDRAM)或Rambus DRAM (RDRAM)之DRAM、NVRAM、SRAM等)及資料儲存系統512。
主記憶體508可包括圖1中所描繪之記憶體系統100。再者,主記憶體508可包括圖4中所描繪之記憶體系統400。在一些實施例中,資料儲存系統512可包括圖1中所描繪之記憶體系統100。且資料儲存系統512可包括圖4中所描繪之記憶體系統400。
處理器506可表示一或多個通用處理裝置,諸如微處理器、中央處理單元或其類似者。處理器506可為或包括圖2中所描繪之處理器202。處理器506可為複雜指令集運算(CISC)微處理器、精簡指令集運算(RISC)微處理器、超長指令字(VLIW)微處理器,或實施其他指令集之處理器,或實施指令集之組合的處理器。處理器506亦可為一或多個專用處理裝置,諸如特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、數位信號處理器(DSP)、網路處理器、記憶體中處理器(PIM)或其類似者。處理器506可經組態以執行用於執行本文中所論述之操作及步驟的指令。處理器506可進一步包括諸如網路介面510之網路介面裝置以經由諸如網路502之一或多個通信網路通信。
資料儲存系統512可包括機器可讀儲存媒體(亦稱為電腦可讀媒體),其上儲存有體現本文中所描述之方法或功能中之任何一或多者的一或多個指令集或軟體。該等指令在其藉由電腦系統執行期間亦可完全或至少部分地駐存於主記憶體508內及/或處理器506內,主記憶體508及處理器506亦構成機器可讀儲存媒體。
雖然記憶體、處理器及資料儲存部分在實例實施例中展示成各自為單個部分,但每一部分應被視為包括可儲存指令且執行其各別操作之單個部分或多個部分。術語「機器可讀儲存媒體」亦應被視為包括能夠儲存或編碼指令集以供機器執行且使機器執行本揭露之方法中之任何一或多者的任何媒體。術語「機器可讀儲存媒體」將相應地被視為包括但不限於固態記憶體、光學媒體及磁性媒體。
返回參考具有資料移動器之記憶體晶片,圖6說明根據本揭露之一些實施例的實例系統600,該系統包括具有整合式資料移動器608之記憶體晶片602。在圖6中,記憶體晶片602包括第一接腳集合604,該第一接腳集合經組態以允許記憶體晶片602經由第一佈線634耦接至第一微晶片或裝置624。亦展示,第一微晶片或裝置624具有接腳集合605,該接腳集合經組態以允許第一微晶片或裝置624經由第一佈線634耦接至記憶體晶片602。記憶體晶片602亦包括第二接腳集合606,該第二接腳集合經組態以允許記憶體晶片602經由與第一佈線634分開之第二佈線636耦接至第二微晶片或裝置626。亦展示,第二微晶片或裝置626具有接腳集合607,該接腳集合經組態以允許第二微晶片或裝置626經由第二佈線636耦接至記憶體晶片602。記憶體晶片602亦包括資料移動器608,該資料移動器經組態以促進經由第二接腳集合606存取第二微晶片或裝置626,以自第二微晶片或裝置626讀取資料且將資料寫入至第二微晶片或裝置626。
一般而言,資料移動器608可使用各種原則組合儲存於其至第二微晶片或裝置626之路徑中之記憶體晶片602中的資料。此可改善第二微晶片或裝置626之寫入效能及耐久性。舉例而言,記憶體晶片上之依序或區塊存取比記憶體晶片上之隨機存取快若干數量級。在一些實施例中,儲存於記憶體晶片602之記憶體之一部分610中的資料可藉由或經由第一微晶片或裝置624利用第一接腳組合604存取。且在此等實施例中,資料移動器608經組態以藉由以區塊將資料移動至第二微晶片或裝置626來組合儲存於記憶體晶片602之記憶體之部分610中的資料。因此,改善了第二微晶片或裝置626之寫入效能及耐久性。
再者,在此等實施例及其他實施例中,區塊之粒度可能比儲存於記憶體晶片602之記憶體之部分610中的資料粗糙。區塊之粒度比記憶體晶片602中之預成塊資料(諸如,待由第一微晶片或裝置存取之資料)粗糙,此情形可降低至第二微晶片或裝置之資料寫入的頻率。
在諸如圖6中所展示之一些實施例中,儲存於記憶體晶片602之記憶體之一部分610中的資料可為可藉由或經由第一微晶片或裝置624利用第一接腳集合604存取的。再者,當儲存於記憶體晶片602之記憶體之部分610中的資料可經由第一微晶片或裝置624存取時,該資料正由另一記憶體晶片或裝置或處理器晶片或裝置(未描繪於圖6中,但在一定程度上展示於圖2及圖3中,其中第二記憶體晶片106充當記憶體晶片602)存取。且第一微晶片或裝置624可自記憶體晶片602讀取資料以及將資料寫入至記憶體晶片602。
在諸如圖6中所展示之一些實施例中,儲存於第二微晶片或裝置626之記憶體之一部分630中的資料可為可藉由或經由記憶體晶片602利用第二接腳集合606存取的。再者,當儲存於第二微晶片或裝置626之記憶體之部分630中的資料可經由記憶體晶片602存取時,該資料正由另一記憶體晶片或裝置或處理器晶片或裝置(諸如,第一微晶片或裝置624)存取。且記憶體晶片602可自第二微晶片或裝置626讀取資料以及將資料寫入至第二微晶片或裝置626。
在諸如圖6中所展示之一些實施例中,資料移動器608經組態以緩衝儲存於記憶體晶片602之記憶體之部分610中的資料之改變的移動。再者,資料移動器608經組態以由於資料移動器608進行之緩衝而將寫入請求以合適大小發送至第二微晶片或裝置626。
當至第二微晶片或裝置626之寫入由於資料移動器608進行之緩衝而呈合適大小時,第二微晶片或裝置可根據寫入抹除區塊且程式化第二微晶片或裝置中之區塊,而無需在第二微晶片或裝置中進行進一步處理或最少處理。此為整合於記憶體晶片602中之資料移動器608可改善第二微晶片或裝置之寫入效能及耐久性的一種實例方式。再者,在資料移動器608進行緩衝之情況下且當對記憶體晶片602之一部分中的資料(諸如,可由第一微晶片或裝置存取之記憶體之部分610中的資料)進行頻繁及/或隨機的改變時,不必以對應方式頻繁地抹除及重新程式化第二微晶片或裝置626,此係因為改變發生在記憶體晶片602中。
當第二微晶片或裝置626為快閃記憶體晶片時,藉由資料移動器608進行緩衝甚至更有益,此係因為緩衝可移除或至少限制出現在快閃記憶體中之寫入放大的效應。寫入放大可藉由緩衝減少或甚至消除,此係因為藉由緩衝,可將由記憶體晶片602發送之寫入請求修改為接收快閃記憶體晶片所預期的合適大小或粒度。因此,快閃記憶體晶片可根據寫入請求抹除區塊且程式化區塊而無需寫入之可能複製,且因此避免在第二微晶片或裝置626中進行進一步處理。
再者,資料移動器608可經組態以集束儲存於記憶體晶片602之記憶體之部分610中的資料之改變中的所改變位址。且資料移動器608可經組態以將經集束之所改變位址寫入至記憶體晶片602之另一部分中,從而經由對第二微晶片或裝置626之寫入請求移動至第二微晶片或裝置626。藉由資料移動器608進行之集束可改善藉由資料移動器進行的緩衝及根據緩衝對寫入請求之發送,此係因為所改變位址之集束可藉由資料移動器控制以對應於接收第二微晶片或裝置626所預期的合適大小或粒度。
在諸如圖6中所展示之一些實施例中,記憶體晶片602包括用於第二微晶片或裝置626之邏輯至實體映射612,該邏輯至實體映射經組態以使用經集束之所改變位址作為輸入。
圖7說明根據本揭露之一些實施例的實例系統700,該系統包括圖6中所展示之記憶體晶片602以及接收自資料移動器傳送之資料且具有用於映射所接收資料之邏輯至實體映射(例如,參見邏輯至實體映射712)的微晶片或裝置。系統700類似於系統600,除了以下情況以外:在系統700中,用於第二微晶片或裝置626之邏輯至實體映射712提供於第二微晶片或裝置626中。此替代在記憶體晶片602上提供用於第二微晶片或裝置之邏輯至實體映射(例如,參見圖6中所描繪之邏輯至實體映射612)。
在類似於系統700之實施例的情況下,第二微晶片或裝置626包括用於自身的邏輯至實體映射712。且一旦自記憶體晶片602之資料移動器608在對第二微晶片或裝置626之寫入請求中發送經集束之所改變位址,邏輯至實體映射712便經組態以使用經集束之所改變位址作為輸入。換言之,一旦第二微晶片或裝置626在對第二微晶片或裝置626之寫入請求中接收到來自記憶體晶片602之資料移動器608的經集束之所改變位址,邏輯至實體映射712便經組態以使用經集束之所改變位址作為輸入。
圖8說明根據本揭露之一些實施例的實例系統800,該系統包括圖6中所展示之記憶體晶片602,該記憶體晶片亦展示為具有加密及鑑認電路系統(例如,參見加密引擎802及閘道管理員804)。如圖8中所展示,在一些實施例中,記憶體晶片602包括經組態以保護待移動至第二微晶片或裝置626以供長期儲存之資料的加密引擎802。再者,如所展示,在此等實施例中,記憶體晶片602包括閘道管理員804,該閘道管理員經組態以提供用於儲存於第二微晶片或裝置626中之安全資料之存取的鑑認程序。再者,閘道管理員804可經組態以根據鑑認程度對安全資料進行解密。在一些其他實施例中,加密引擎可代管於另一晶片或裝置上,而非代管於記憶體晶片602上。
圖7及圖8亦描繪說明於圖6中之其他組件。舉例而言,圖7及圖8描繪記憶體晶片602,該記憶體晶片包括經組態以允許記憶體晶片602經由第一佈線634耦接至第一微晶片或裝置624之第一接腳集合604。亦展示於圖7及圖8中,第一微晶片或裝置624具有接腳集合605,該接腳集合經組態以允許第一微晶片或裝置624經由第一佈線634耦接至記憶體晶片602。亦展示於圖7及圖8中,記憶體晶片602亦包括第二接腳集合606,該第二接腳集合經組態以允許記憶體晶片602經由與第一佈線634分開之第二佈線636耦接至第二微晶片或裝置626。亦展示,第二微晶片或裝置626具有接腳集合607,該接腳集合經組態以允許第二微晶片或裝置626經由第二佈線636耦接至記憶體晶片602。記憶體晶片602亦包括資料移動器608,該資料移動器經組態以促進經由第二接腳集合606存取第二微晶片或裝置626,以自第二微晶片或裝置626讀取資料且將資料寫入至第二微晶片或裝置626。
關於圖6至圖8中所展示之系統,記憶體晶片602可為NVRAM晶片,且在此等實施例之情況下,記憶體晶片602包括複數個NVRAM胞元。在此等實例中,複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。替代地,記憶體晶片602可為動態DRAM晶片,且在此等實施例之情況下,記憶體晶片602包括複數個DRAM胞元。再者,記憶體晶片602可為快閃記憶體晶片,且在此等實施例之情況下,記憶體晶片602包括複數個快閃記憶體胞元。在此等實施例中,複數個快閃記憶體胞元可為或包括複數個NAND型快閃記憶體胞元。
第二微晶片或裝置626可為另一記憶體晶片或記憶體裝置。在一些實施例中,例如,第二微晶片或裝置626為DRAM晶片。在一些實施例中,例如,第二微晶片或裝置626為NVRAM晶片。在一些實施例中,例如,第二微晶片或裝置626為快閃記憶體晶片(例如,NAND型快閃記憶體晶片)。
一些實施例可包括系統,該系統具有中間記憶體晶片(例如,參見圖6中所展示之記憶體晶片602)、第一記憶體晶片(例如,參見第一微晶片或裝置624)及第二記憶體晶片(例如,參見第二微晶片或裝置626)。且在此等實施例中,中間記憶體晶片包括第一接腳集合(例如,參見第一接腳集合604),該第一接腳集合經組態以允許中間記憶體晶片經由第一佈線(例如,參見佈線634)耦接至第一記憶體晶片。中間記憶體晶片亦可包括第二接腳集合(例如,參見第二接腳集合606),該第二接腳集合經組態以允許中間記憶體晶片經由與第一佈線分開之第二佈線(例如,參見佈線636)耦接至第二記憶體晶片。且中間記憶體晶片可包括資料移動器(例如,參見資料移動器608),該資料移動器經組態以促進經由第二接腳集合存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。
在此等實施例中,中間記憶體晶片可為NVRAM晶片,其中NVRAM晶片包括複數個NVRAM胞元。替代地,中間記憶體晶片可為DRAM晶片,其中DRAM晶片包括複數個DRAM胞元。在此等實例中,複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。
再者,在此等實施例中,第二記憶體晶片可為快閃記憶體晶片,其中快閃記憶體晶片包括複數個快閃記憶體胞元。在此等實施例中,複數個快閃記憶體胞元可為或包括複數個NAND型快閃記憶體胞元。替代地,第二記憶體晶片可為NVRAM晶片,其中NVRAM晶片包括複數個NVRAM胞元。在此等實例中,複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。再者,第二記憶體晶片可為DRAM晶片,其中DRAM晶片包括複數個DRAM胞元。
再者,在此等實施例中,第一記憶體晶片可為DRAM晶片,其中DRAM晶片包括複數個DRAM胞元。替代地,第一記憶體晶片可為NVRAM晶片,其中NVRAM晶片包括複數個NVRAM胞元。在此等實例中,複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。
一些實施例可包括系統,該系統具有中間記憶體晶片(例如,參見圖6中所展示之記憶體晶片602)、第二記憶體晶片(例如,參見第二微晶片或裝置626)及處理器晶片,諸如SoC (例如,參見第一微晶片或裝置624)。在此等實施例中,中間記憶體晶片包括第一接腳集合(例如,參見第一接腳集合604),該第一接腳集合經組態以允許中間記憶體晶片經由第一佈線(例如,參見佈線634)耦接至處理器晶片。再者,中間記憶體晶片可包括第二接腳集合(例如,參見第二接腳集合606),該第二接腳集合經組態以允許中間記憶體晶片經由與第一佈線分開之第二佈線(例如,參見佈線636)耦接至第二記憶體晶片。且,中間記憶體晶片可包括資料移動器(例如,參見資料移動器608),該資料移動器經組態以促進經由第二接腳集合及第二佈線存取第二記憶體晶片,以自第二記憶體晶片讀取資料且將資料寫入至第二記憶體晶片。
在一些實施例中,可在彈性化地供應圖1至圖3中所展示之記憶體晶片串102時使用記憶體晶片602之一或多個例項(諸如,圖6至圖8中所展示之記憶體晶片602的不同例項)作為一或多個記憶體晶片。再者,可在彈性化地供應圖4中所展示之記憶體晶片串402時使用記憶體晶片602之一或多個例項作為一或多個記憶體晶片。
再者,具有中間記憶體晶片(例如,參見圖6中所展示之記憶體晶片602)、第一記憶體晶片(例如,參見第一微晶片或裝置624)及第二記憶體晶片(例如,參見第二微晶片或裝置626)之系統可包括於圖1至圖3中所展示之記憶體晶片串102中。舉例而言,記憶體晶片602可為或包括第二記憶體晶片106,第一微晶片或裝置624可為或包括第一記憶體晶片104,且第二微晶片或裝置626可為或包括第三記憶體晶片108。
在一些實施例中,記憶體晶片602可為或包括記憶體晶片串102中之第一記憶體晶片104。在此等實施例中,例如,第一微晶片或裝置624可為或包括圖2中所展示之處理器晶片202或圖3中所展示之記憶體控制器晶片302。再者,在此等實施例中,第二微晶片或裝置626可為或包括記憶體晶片串102中之第二記憶體晶片106。
在一些實施例中,系統600、700及800中之任何一或多者可包括於圖5中所展示之主記憶體508及/或資料儲存系統512中。在此等實施例及其他實施例中,第一微晶片或裝置624可處理器506,為處理器之一部分或包括處理器。
如記憶體晶片602,本文中所描述之記憶體晶片(例如,參見記憶體晶片104、106及108)中的任何其他者可包括用於保護移動至記憶體晶片或移動通過記憶體晶片之資料的加密引擎及/或鑑認閘道管理員(例如,參見圖8中所展示之加密引擎802及閘道管理員804)。再者,如記憶體晶片602,本文中所描述之記憶體晶片(例如,參見記憶體晶片104、106及108)中的任何其他者可包括資料移動器,諸如資料移動器608。
返回參考具有用於資料移動之可程式化引擎的記憶體晶片,圖9說明根據本揭露之一些實施例的實例系統900,該系統包括第一記憶體晶片902,該第一記憶體晶片具有用於資料移動之可程式化引擎910以及至處理器晶片924 (例如,SoC)及第二記憶體晶片926之直接連接。
在圖9中,第一記憶體晶片902包括第一接腳集合904,該第一接腳集合經組態以允許第一記憶體晶片902經由第一佈線934耦接至處理器晶片924。亦展示,處理器晶片924具有接腳集合905,該接腳集合經組態以允許處理器晶片924經由第一佈線934耦接至第一記憶體晶片902。第一記憶體晶片902亦包括第二接腳集合906,該第二接腳集合經組態以允許第一記憶體晶片902經由與第一佈線934分開之第二佈線936耦接至第二記憶體晶片926。亦展示,第二記憶體晶片926具有接腳集合907,該接腳集合經組態以允許第二記憶體晶片926經由第二佈線936耦接至第一記憶體晶片902。第一記憶體晶片902亦包括預定義記憶體區908,該預定義記憶體區經組態以儲存經由接腳集合904及905以及佈線934自處理器晶片924傳輸之程式資料。第一記憶體晶片902亦包括可程式化引擎910,該可程式化引擎經組態以根據儲存於預定義記憶體區908中之程式資料促進存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。經由接腳集合906及907以及佈線936進行對第二記憶體晶片926之存取。
如圖9中所展示,預定義記憶體區908可包括經組態為用於可程式化引擎910之命令佇列912的部分。在此等實施例中,可程式化引擎910可經組態以根據命令佇列912促進存取第二記憶體晶片926。儲存於預定義記憶體區908中之程式資料之部分可經組態以控制命令佇列912。再者,第一記憶體晶片902可包括記憶體之部分914,該部分經組態以儲存待移動至第二記憶體晶片926之資料。儲存於記憶體之部分914中的資料可根據命令佇列912而移動至第二記憶體晶片926。儲存於記憶體之部分914中的資料可藉由處理器晶片924經由接腳集合904及905以及佈線934寫入至彼部分。
可程式化引擎910可經組態以促進經由接腳集合906及907以及佈線936存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。儲存於第二記憶體晶片926之記憶體之部分930中的資料可為可藉由或經由具有可程式化引擎910之第一記憶體晶片902存取的。當儲存於第二記憶體晶片926之記憶體之部分930中的資料可經由第一記憶體晶片902存取時,該資料正由處理器晶片924存取。第一記憶體晶片902可經由接腳集合906及907以及佈線936自第二記憶體晶片926之記憶體之部分930讀取資料以及將資料寫入至第二記憶體晶片926之記憶體之部分930。
在一些實施例中,第一記憶體晶片902可為或包括NVRAM晶片,該NVRAM晶片包括複數個NVRAM胞元。該複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。在一些實施例中,第一記憶體晶片902可為或包括DRAM晶片,該DRAM晶片包括複數個DRAM胞元。在一些實施例中,第一記憶體晶片902可為或包括快閃記憶體晶片,該快閃記憶體晶片包括複數個快閃記憶體胞元。該複數個快閃記憶體胞元可為或包括複數個NAND型快閃記憶體胞元。
在一些實施例中,第二記憶體晶片926可為或包括NVRAM晶片,該NVRAM晶片包括複數個NVRAM胞元。該複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。在一些實施例中,第二記憶體晶片926可為或包括快閃記憶體晶片,該快閃記憶體晶片包括複數個快閃記憶體胞元。該複數個快閃記憶體胞元可為或包括複數個NAND型快閃記憶體胞元。
圖10說明根據本揭露之一些實施例的實例系統1000,該系統包括圖9中所展示之第一記憶體晶片902,該第一記憶體晶片具有可程式化引擎910、至第二記憶體晶片926之直接連接及經由匯流排1004至處理器晶片924之連接。匯流排1004可為、包括或包括於圖5中所展示之匯流排504中。再者,系統1000包括圖9中所展示之第二記憶體晶片926。
在圖10中,第一記憶體晶片902經展示為包括第二接腳集合906,該第二接腳集合經組態以允許第一記憶體晶片902經由第二佈線936耦接至第二記憶體晶片926。亦展示第二記憶體晶片926,其具有接腳集合907,該接腳集合經組態以允許第二記憶體晶片926經由第二佈線936耦接至第一記憶體晶片902。在圖10中,第一記憶體晶片902亦展示為包括預定義記憶體區908、可程式化引擎910及經組態為用於可程式化引擎910之命令佇列912的部分。然而,在圖10中所展示之實施例中,儲存於記憶體之部分914中的資料可藉由處理器晶片924經由匯流排1004寫入至彼部分。圖10中亦展示與第一記憶體晶片902分開之第三記憶體晶片1002。第三記憶體晶片1002經由匯流排1004耦接至處理器晶片924。
類似於圖9中所展示之實施例,在圖10中所展示之系統1000中,可程式化引擎910可經組態以促進經由接腳集合906及907以及佈線936存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。儲存於第二記憶體晶片926之記憶體之部分930中的資料可為可藉由或經由具有可程式化引擎910之第一記憶體晶片902存取的。然而,當儲存於第二記憶體晶片926之記憶體之部分930中的資料可經由第一記憶體晶片902存取時,其正由處理器晶片924經由匯流排1004存取。
類似於圖9中所展示之實施例,在圖10中所展示之系統1000中,第一記憶體晶片902可經由接腳集合906及907以及佈線936自第二記憶體晶片926之記憶體之部分930讀取資料以及將資料寫入至第二記憶體晶片926之記憶體之部分930。然而,在系統1000中,第一記憶體晶片902 (或處理器晶片924)經由匯流排1004自第三記憶體晶片1002之記憶體之部分讀取資料以及經由匯流排1004將資料寫入至第三記憶體晶片1002之記憶體之部分。
在一些實施例中,第三記憶體晶片1002可為或包括NVRAM晶片,該NVRAM晶片包括複數個NVRAM胞元。該複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。在一些實施例中,第三記憶體晶片1002可為或包括DRAM晶片,該DRAM晶片包括複數個DRAM胞元。在一些實施例中,第三記憶體晶片1002可為或包括快閃記憶體晶片,該快閃記憶體晶片包括複數個快閃記憶體胞元。該複數個快閃記憶體胞元可為或包括複數個NAND型快閃記憶體胞元。
圖11說明根據本揭露之一些實施例的實例系統1100,該系統包括圖9中所展示之第一記憶體晶片902,該第一記憶體晶片具有可程式化引擎910以及至第二記憶體晶片926及第三記憶體晶片1102之直接連接。在圖11中,第一記憶體晶片902處於第二記憶體晶片926與第三記憶體晶片1102之間且將第二記憶體晶片與第三記憶體晶片分開。系統1100包括處理器晶片1112,該處理器晶片可為、包括或包括於SoC中。處理器晶片1112直接連接至第三記憶體晶片1102。第三記憶體晶片1102直接連接至處理器晶片1112及第一記憶體晶片902。且第三記憶體晶片1102處於第一記憶體晶片902與處理器晶片1112之間且將第一記憶體晶片與處理器晶片分開。換言之,在四個微晶片之串中,處理器晶片1112為第一節點,第三記憶體晶片1102為第二節點,第一記憶體晶片902為第三節點,且第二記憶體晶片926為第四節點。
在圖11中,第一記憶體晶片902包括接腳集合1104,該接腳集合經組態以允許第一記憶體晶片902經由佈線1106耦接至第三記憶體晶片1102。亦展示,第三記憶體晶片1102具有接腳集合1105,該接腳集合經組態以允許第三記憶體晶片1102經由佈線1106耦接至第一記憶體晶片902。類似於圖9及圖10中所展示之實施例,第一記憶體晶片902亦包括第二接腳集合906,該第二接腳集合經組態以允許第一記憶體晶片902經由與佈線1106分開之第二佈線936耦接至第二記憶體晶片926。亦展示,第三記憶體晶片1102具有接腳集合1108,該接腳集合經組態以允許第三記憶體晶片1102經由佈線1110耦接至處理器晶片1112。且處理器晶片1112具有接腳集合1109,該接腳集合經組態以允許處理器晶片1112經由佈線1110耦接至第三記憶體晶片1102。
在一些實施例中,第三記憶體晶片1102可為或包括NVRAM晶片,該NVRAM晶片包括複數個NVRAM胞元。該複數個NVRAM胞元可為或包括複數個3D XPoint記憶體胞元。在一些實施例中,第三記憶體晶片1102可為或包括DRAM晶片,該DRAM晶片包括複數個DRAM胞元。
換言之,系統1100包括微晶片串中之第一記憶體晶片902、第二記憶體晶片926、第三記憶體晶片1102及處理器晶片1112。在微晶片串中,處理器晶片1112經由第三記憶體晶片1102連接至第一記憶體晶片902。且第一記憶體晶片902處於第二記憶體晶片與第三記憶體晶片之間。第一記憶體晶片902包括預定義記憶體區908,該預定義記憶體區經組態以儲存經由第三記憶體晶片1102自處理器晶片1112傳輸之程式資料。第一記憶體晶片902亦包括可程式化引擎910,該可程式化引擎經組態以根據儲存於預定義記憶體區908中之程式資料促進存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。處理器晶片1112可經組態以藉由經由第三記憶體晶片1102將資料寫入第一記憶體晶片902中之預定義記憶體區908中來程式化可程式化引擎910。
再者,如圖11中所展示,第三記憶體晶片1102可包括用於第一記憶體晶片902之快取記憶體1114。在此等實施例中,處理器晶片1112可經組態以藉由經由用於第一記憶體晶片902之快取記憶體1114將資料寫入預定義記憶體區908中來程式化可程式化引擎910。
一般而言,關於圖9至圖11中所展示之實施例以及其他實施例,第一記憶體晶片902包括預定義記憶體區908,該預定義記憶體區經組態以儲存自微晶片(例如,參見圖9至圖10中所展示之處理器晶片924及圖11中所展示之第三記憶體晶片1102)傳輸之程式資料。第一記憶體晶片902亦包括可程式化引擎910,該可程式化引擎經組態以根據儲存於預定義記憶體區908中之程式資料促進存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。在此等實施例中,預定義記憶體區908可包括經組態為用於可程式化引擎910之命令佇列912的部分,且可程式化引擎910可經組態以根據命令佇列912促進存取第二記憶體晶片926。再者,第一記憶體晶片902可包括儲存於預定義記憶體區908中之程式資料之部分,該部分經組態以控制命令佇列912。第一記憶體晶片902亦可包括記憶體之部分914,該部分經組態以儲存待移動第二記憶體晶片926之資料,且儲存於記憶體之部分914中的資料可根據命令佇列912而移動。
一般而言,關於圖9至圖11中所展示之實施例以及其他實施例,諸如系統900、1000或1100中之一者的系統包括第一記憶體晶片902、第二記憶體晶片926及微晶片(例如,參見圖9至圖10中所展示之處理器晶片924及圖11中所展示之第三記憶體晶片1102)。在此等實施例中,第一記憶體晶片902包括:預定義記憶體區908,其經組態以儲存自微晶片傳輸之程式資料;以及可程式化引擎910,其經組態以根據儲存於預定義記憶體區908中之程式資料促進存取第二記憶體晶片926,以自第二記憶體晶片926讀取資料且將資料寫入至第二記憶體晶片926。微晶片經組態以藉由將資料寫入第一記憶體晶片902中之預定義記憶體區908中來程式化可程式化引擎910。類似地,在此等實施例中,預定義記憶體區908可包括經組態為用於可程式化引擎910之命令佇列912的部分,且可程式化引擎910可經組態以根據命令佇列912促進存取第二記憶體晶片926。再者,儲存於預定義記憶體區908中之程式資料之部分可經組態以控制命令佇列912。且第一記憶體晶片902可包括記憶體之部分914,該部分經組態以儲存待移動第二記憶體晶片926之資料,且儲存於記憶體之部分914中的資料可根據命令佇列912而移動。
在此等實施例中,微晶片為處理器晶片(例如,參見處理器晶片924)或第三記憶體晶片(例如,參見第三記憶體晶片1102)。當微晶片為第三記憶體晶片時,處理器晶片(例如,參見處理器晶片1112)可經組態以藉由經由第三記憶體晶片(例如,參見第三記憶體晶片1102)將資料寫入第一記憶體晶片902中之預定義記憶體區908中來程式化可程式化引擎910。在此等實例中,第三記憶體晶片可包括用於第一記憶體晶片902之快取記憶體(例如,參見用於第一記憶體晶片902之快取記憶體1114),且處理器晶片可經組態以藉由經由用於第一記憶體晶片902之快取記憶體1114將資料寫入第一記憶體晶片902中之預定義記憶體區908中來程式化可程式化引擎910。
在一些實施例中,可在彈性化地供應圖1至圖3中所展示之記憶體晶片串102時使用第一記憶體晶片902之一或多個例項(諸如,圖9至圖11中所展示之第一記憶體晶片902的不同例項)作為一或多個記憶體晶片。再者,可在彈性化地供應圖4中所展示之記憶體晶片串402時使用第一記憶體晶片902之一或多個例項作為一或多個記憶體晶片。另外,具有可程式化引擎910之第一記憶體晶片902可為、包括或包括於圖6至圖8中所展示之具有資料移動器608的記憶體晶片602中。舉例而言,可程式化引擎910可提供資料移動器608。
再者,系統900、1000及1100之至少部分可包括於圖1至圖3中所展示之記憶體晶片串102中。
在一些實施例中,第一記憶體晶片902可為或包括記憶體晶片串102中之第一記憶體晶片104或第二記憶體晶片106。在此等實施例中,例如,處理器晶片924或1112可為或包括圖2中所展示之處理器晶片202或圖3中所展示之記憶體控制器晶片302。再者,在一些實施例中,第三記憶體晶片1102可為或包括記憶體晶片串102中之第一記憶體晶片104或第二記憶體晶片106。在此等實施例中,例如,處理器晶片924或1112可為或包括圖2中所展示之處理器晶片202或圖3中所展示之記憶體控制器晶片302。
在一些實施例中,系統900、1000及1100中之任何一或多者的記憶體晶片可包括於圖5中所展示之主記憶體508及/或資料儲存系統512中。在此等實施例及其他實施例中,系統900、1000及1100中之任何一或多者的處理器晶片可為圖5中所展示之處理器506,為該處理器之部分或包括該處理器。
如記憶體晶片602,系統900、1000及1100中之任何一或多者的記憶體晶片中之任何一或多者可包括用於保護移動至記憶體晶片或經由記憶體晶片移動之資料的加密引擎及/或鑑認閘道管理員(例如,參見圖8中所展示之加密引擎802及閘道管理員804)。再者,如記憶體晶片602,系統900、1000及1100中之任何一或多者的記憶體晶片中之任何一或多者可包括資料移動器,諸如資料移動器608。
再者,本文中所描述之記憶體晶片中之任一者可包括圖9至圖11中所展示之第一記憶體晶片902的一或多個態樣。舉例而言,本文中所描述之記憶體晶片中的任何一或多者可包括預定義記憶體區908、可程式化引擎910及命令佇列912。
在前文的說明書中,本揭露之實施例已參考其特定實例實施例進行了描述。將顯而易見,可對其進行各種修改,而不脫離如以下申請專利範圍中所闡述的本揭露之實施例的更廣泛精神及範圍。因此,應在說明性意義上而非限制性意義上看待說明書及圖式。
100:記憶體系統 102:記憶體晶片串 104:第一記憶體晶片 106:第二記憶體晶片 108:第三記憶體晶片 114:快取記憶體 116:緩衝器 118:邏輯至實體映射 124:佈線 126:佈線 128:控制器 130:轉譯層 132:接腳集合 134:接腳集合 136:接腳集合 138:接腳集合 202:處理器晶片 204:佈線 302:記憶體控制器晶片 304:佈線 402:記憶體晶片之群組的串 404a:記憶體晶片 404b:記憶體晶片 406a:記憶體晶片 406b:記憶體晶片 408a:記憶體晶片 408b:記憶體晶片 414:快取記憶體 416:緩衝器 418:邏輯至實體映射 424:佈線 426:佈線 500:運算裝置 502:電腦網路 504:匯流排 506:處理器 508:主記憶體 510:網路介面 512:資料儲存系統 600:系統 602:記憶體晶片 604:第一接腳集合 605:接腳集合 606:第二接腳集合 607:接腳集合 608:整合式資料移動器 610:記憶體之部分 612:邏輯至實體映射 624:第一微晶片或裝置 626:第二微晶片或裝置 630:記憶體 634:第一佈線 636:第二佈線 700:系統 712:邏輯至實體映射 800:系統 802:加密引擎 804:閘道管理員 900:系統 902:第一記憶體晶片 904:第一接腳集合 905:接腳集合 906:第二接腳集合 907:接腳集合 908:預定義記憶體區 910:可程式化引擎 912:命令佇列 914:記憶體之部分 924:處理器晶片 926:第二記憶體晶片 930:記憶體之部分 934:第一佈線 936:第二佈線 1000:系統 1002:第三記憶體晶片 1004:匯流排 1100:系統 1102:第三記憶體晶片 1104:接腳集合 1105:接腳集合 1106:佈線 1108:接腳集合 1109:接腳集合 1110:佈線 1112:處理器晶片 1114:快取記憶體
將自下文所給出之詳細描述及自本揭露之各種實施例的附圖更充分地理解本揭露。
圖1說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統。
圖2說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統及處理器晶片。
圖3說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統及記憶體控制器晶片。
圖4說明根據本揭露之一些實施例的經組態以提供多階層記憶體之彈性化供應的實例記憶體系統,該多階層記憶體具有各自包括多個記憶體晶片之階層。
圖5說明根據本揭露之一些實施例的實例運算裝置之實例部分。
圖6說明根據本揭露之一些實施例的實例系統,該實例系統包括具有整合式資料移動器之記憶體晶片。
圖7說明根據本揭露之一些實施例的實例系統,該實例系統包括圖6中所展示之記憶體晶片以及微晶片或裝置,該微晶片或裝置接收自資料移動器傳送之資料且具有用於映射所接收資料之邏輯至實體映射。
圖8說明根據本揭露之一些實施例的實例系統,該實例系統包括圖6中所展示之記憶體晶片,該記憶體晶片亦展示為具有加密及鑑認電路系統。
圖9說明根據本揭露之一些實施例的實例系統,該系統包括記憶體晶片,該記憶體晶片具有用於資料移動之可程式化引擎以及至處理器晶片及第二記憶體晶片之直接連接。
圖10說明根據本揭露之一些實施例的實例系統,該系統包括圖9中所展示之記憶體晶片,該記憶體晶片具有可程式化引擎、至第二記憶體晶片之直接連接及經由匯流排至處理器晶片之連接。
圖11說明根據本揭露之一些實施例的實例系統,該系統包括圖9中所展示之記憶體晶片,該記憶體晶片具有可程式化引擎以及至第二記憶體晶片及第三記憶體晶片之直接連接。在圖11中,記憶體晶片處於第二記憶體晶片與第三記憶體晶片之間。
900:系統
902:第一記憶體晶片
904:第一接腳集合
905:接腳集合
906:第二接腳集合
907:接腳集合
908:預定義記憶體區
910:可程式化引擎
912:命令佇列
914:記憶體之部分
924:處理器晶片
926:第二記憶體晶片
930:記憶體之部分
934:第一佈線
936:第二佈線

Claims (20)

  1. 一種記憶體晶片,其包含:一預定義記憶體區,其經組態以儲存自一微晶片傳輸之程式資料;及一可程式化引擎,其經組態以根據儲存於該預定義記憶體區中之程式資料促進存取一第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片。
  2. 如請求項1之記憶體晶片,其中該預定義記憶體區包含經組態為用於該可程式化引擎之一命令佇列的一部分,且其中該可程式化引擎經組態以根據該命令佇列促進存取該第二記憶體晶片。
  3. 如請求項2之記憶體晶片,其中儲存於該預定義記憶體區中之該程式資料之一部分經組態以控制該命令佇列。
  4. 如請求項3之記憶體晶片,其包含經組態以儲存待移動至該第二記憶體晶片之資料的記憶體之一部分,且其中儲存於記憶體之該部分中的資料係根據該命令佇列而移動。
  5. 如請求項4之記憶體晶片,其包含:一第一接腳集合,其經組態以允許該記憶體晶片經由第一佈線耦接至該微晶片; 一第二接腳集合,其經組態以允許該記憶體晶片經由與該第一佈線分開之第二佈線耦接至該第二記憶體晶片;且其中該可程式化引擎經組態以根據儲存於該預定義記憶體區中之程式資料促進經由該第二接腳集合存取該第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片。
  6. 如請求項1之記憶體晶片,其中該記憶體晶片為一非揮發性隨機存取記憶體(NVRAM)晶片,且其中該記憶體晶片包含複數個NVRAM胞元。
  7. 如請求項6之記憶體晶片,其中該複數個NVRAM胞元為複數個3D XPoint記憶體胞元。
  8. 如請求項1之記憶體晶片,其中該記憶體晶片為一動態隨機存取記憶體(DRAM)晶片,且其中該記憶體晶片包含複數個DRAM胞元。
  9. 如請求項1之記憶體晶片,其中該記憶體晶片為一快閃記憶體晶片,且其中該記憶體晶片包含複數個快閃記憶體胞元。
  10. 一種記憶體系統,其包含:一第一記憶體晶片;一第二記憶體晶片;及一微晶片,其中該第一記憶體晶片包含: 一預定義記憶體區,其經組態以儲存自該微晶片傳輸之程式資料;及一可程式化引擎,其經組態以根據儲存於該預定義記憶體區中之程式資料促進存取該第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片,且其中該微晶片經組態以藉由將資料寫入該第一記憶體晶片中之該預定義記憶體區中來程式化該可程式化引擎。
  11. 如請求項10之記憶體系統,其中該預定義記憶體區包含經組態為用於該可程式化引擎之一命令佇列的一部分,且其中該可程式化引擎經組態以根據該命令佇列促進存取該第二記憶體晶片。
  12. 如請求項11之記憶體系統,其中儲存於該預定義記憶體區中之該程式資料之一部分經組態以控制該命令佇列。
  13. 如請求項12之記憶體系統,其中該第一記憶體晶片包含經組態以儲存待移動至該第二記憶體晶片之資料的記憶體之一部分,且其中儲存於記憶體之該部分中的資料係根據該命令佇列而移動。
  14. 如請求項13之記憶體系統,其中該第一記憶體晶片包含:一第一接腳集合,其經組態以允許該第一記憶體晶片經由第一佈線耦接至該微晶片;一第二接腳集合,其經組態以允許該第一記憶體晶片經由與該第一 佈線分開之第二佈線耦接至該第二記憶體晶片;且其中該可程式化引擎經組態以根據儲存於該預定義記憶體區中之程式資料促進經由該第二接腳集合存取該第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片。
  15. 如請求項14之記憶體系統,其中該微晶片為一處理器晶片。
  16. 如請求項14之記憶體系統,其中該微晶片為一第三記憶體晶片。
  17. 如請求項16之記憶體系統,其中一處理器晶片經組態以藉由經由該第三記憶體晶片將資料寫入該第一記憶體晶片中之該預定義記憶體區中來程式化該可程式化引擎。
  18. 如請求項17之記憶體系統,其中該第三記憶體晶片包含用於該第一記憶體晶片之一快取記憶體,且其中該處理器晶片經組態以藉由經由用於該第一記憶體晶片之該快取記憶體將資料寫入該第一記憶體晶片中之該預定義記憶體區中來程式化該可程式化引擎。
  19. 一種記憶體系統,其包含:一第一記憶體晶片;一第二記憶體晶片;一第三記憶體晶片;及一處理器晶片,其經由該第三記憶體晶片連接至該第一記憶體晶 片,其中該第一記憶體晶片包含:一預定義記憶體區,其經組態以儲存經由該第三記憶體晶片自該處理器晶片傳輸之程式資料;及一可程式化引擎,其經組態以根據儲存於該預定義記憶體區中之程式資料促進存取該第二記憶體晶片,以自該第二記憶體晶片讀取資料且將資料寫入至該第二記憶體晶片,且其中該處理器晶片經組態以藉由經由該第三記憶體晶片將資料寫入該第一記憶體晶片中之該預定義記憶體區中來程式化該可程式化引擎。
  20. 如請求項19之記憶體系統,其中該第三記憶體晶片包含用於該第一記憶體晶片之一快取記憶體,且其中該處理器晶片經組態以藉由經由用於該第一記憶體晶片之該快取記憶體將資料寫入該預定義記憶體區中來程式化該可程式化引擎。
TW109130608A 2019-09-17 2020-09-07 用於資料移動之可程式化引擎 TWI772877B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/573,785 US11163490B2 (en) 2019-09-17 2019-09-17 Programmable engine for data movement
US16/573,785 2019-09-17

Publications (2)

Publication Number Publication Date
TW202125267A TW202125267A (zh) 2021-07-01
TWI772877B true TWI772877B (zh) 2022-08-01

Family

ID=74868617

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109130608A TWI772877B (zh) 2019-09-17 2020-09-07 用於資料移動之可程式化引擎

Country Status (7)

Country Link
US (2) US11163490B2 (zh)
EP (1) EP4031979A4 (zh)
JP (1) JP2022547730A (zh)
KR (1) KR20220047839A (zh)
CN (1) CN114521250A (zh)
TW (1) TWI772877B (zh)
WO (1) WO2021055207A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11397694B2 (en) 2019-09-17 2022-07-26 Micron Technology, Inc. Memory chip connecting a system on a chip and an accelerator chip
US11416422B2 (en) 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
US20210096778A1 (en) * 2020-12-15 2021-04-01 Intel Corporation Host managed buffer to store a logical-to physical address table for a solid state drive

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200901028A (en) * 2007-05-10 2009-01-01 Nvidia Corp Message queuing system for parallel integrated circuit architecture and related method of operation
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
WO2015101827A1 (en) * 2013-12-31 2015-07-09 Mosys, Inc. Integrated main memory and coprocessor with low latency

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030112613A1 (en) 2002-10-22 2003-06-19 Hitachi, Ltd. IC card
JP2003006041A (ja) 2001-06-20 2003-01-10 Hitachi Ltd 半導体装置
US20030023958A1 (en) 2001-07-17 2003-01-30 Patel Mukesh K. Intermediate language accelerator chip
US20030212845A1 (en) 2002-05-07 2003-11-13 Court John William Method for high-speed data transfer across LDT and PCI buses
JPWO2004079583A1 (ja) * 2003-03-05 2006-06-08 富士通株式会社 データ転送制御装置およびdmaデータ転送制御方法
US20050086040A1 (en) * 2003-10-02 2005-04-21 Curtis Davis System incorporating physics processing unit
US7739479B2 (en) * 2003-10-02 2010-06-15 Nvidia Corporation Method for providing physics simulation data
US7895411B2 (en) * 2003-10-02 2011-02-22 Nvidia Corporation Physics processing unit
US7210008B2 (en) * 2003-12-18 2007-04-24 Intel Corporation Memory controller for padding and stripping data in response to read and write commands
US7185153B2 (en) * 2003-12-18 2007-02-27 Intel Corporation Packet assembly
US7206915B2 (en) 2004-06-03 2007-04-17 Emc Corp Virtual space manager for computer having a physical address extension feature
US7406634B2 (en) 2004-12-02 2008-07-29 Cisco Technology, Inc. Method and apparatus for utilizing an exception handler to avoid hanging up a CPU when a peripheral device does not respond
US20070165457A1 (en) 2005-09-30 2007-07-19 Jin-Ki Kim Nonvolatile memory system
US9195602B2 (en) 2007-03-30 2015-11-24 Rambus Inc. System including hierarchical memory modules having different types of integrated circuit memory devices
US8077644B2 (en) 2007-07-20 2011-12-13 Infineon Technologies Ag Data transfer in a computing device
US7721010B2 (en) 2007-10-31 2010-05-18 Qimonda North America Corp. Method and apparatus for implementing memory enabled systems using master-slave architecture
US20100217977A1 (en) * 2009-02-23 2010-08-26 William Preston Goodwill Systems and methods of security for an object based storage device
US8219746B2 (en) 2009-10-08 2012-07-10 International Business Machines Corporation Memory package utilizing at least two types of memories
US8131889B2 (en) * 2009-11-10 2012-03-06 Apple Inc. Command queue for peripheral component
US8463984B2 (en) * 2009-12-31 2013-06-11 Seagate Technology Llc Dynamic data flow management in a multiple cache architecture
US8595429B2 (en) 2010-08-24 2013-11-26 Qualcomm Incorporated Wide input/output memory with low density, low latency and high density, high latency blocks
US8726107B2 (en) * 2011-07-15 2014-05-13 Seagate Technology Llc Measurement of latency in data paths
CN103946811B (zh) 2011-09-30 2017-08-11 英特尔公司 用于实现具有不同操作模式的多级存储器分级结构的设备和方法
US9256915B2 (en) * 2012-01-27 2016-02-09 Qualcomm Incorporated Graphics processing unit buffer management
US9055069B2 (en) * 2012-03-19 2015-06-09 Xcelemor, Inc. Hardware computing system with software mediation and method of operation thereof
JP5888050B2 (ja) * 2012-03-27 2016-03-16 株式会社ソシオネクスト 半導体集積回路およびそのdma制御方法
US9256369B2 (en) * 2012-04-18 2016-02-09 Samsung Electronics Co., Ltd. Programmable memory controller
US9304828B2 (en) 2012-09-27 2016-04-05 Hitachi, Ltd. Hierarchy memory management
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US9274951B2 (en) 2013-05-31 2016-03-01 Altera Corporation Cache memory controller for accelerated data transfer
US10445025B2 (en) 2014-03-18 2019-10-15 Micron Technology, Inc. Apparatuses and methods having memory tier structure and recursively searching between tiers for address in a translation table where information is only directly transferred between controllers
US10437479B2 (en) 2014-08-19 2019-10-08 Samsung Electronics Co., Ltd. Unified addressing and hierarchical heterogeneous storage and memory
KR102208072B1 (ko) 2014-09-01 2021-01-27 삼성전자주식회사 데이터 처리 시스템
US20170017576A1 (en) 2015-07-16 2017-01-19 Qualcomm Incorporated Self-adaptive Cache Architecture Based on Run-time Hardware Counters and Offline Profiling of Applications
US10237350B2 (en) 2016-04-06 2019-03-19 Reniac, Inc. System and method for a database proxy
US10747694B2 (en) * 2016-06-07 2020-08-18 Ncorium Multi-level data cache and storage on a memory bus
US10397337B2 (en) 2016-07-27 2019-08-27 International Business Machines Corporation Independent internet connection generation
US10416896B2 (en) 2016-10-14 2019-09-17 Samsung Electronics Co., Ltd. Memory module, memory device, and processing device having a processor mode, and memory system
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
KR102407106B1 (ko) * 2018-01-29 2022-06-10 마이크론 테크놀로지, 인크. 프로그래밍 가능한 원자적 동작을 하는 메모리 컨트롤러
KR20190106228A (ko) 2018-03-08 2019-09-18 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US10949356B2 (en) 2019-06-14 2021-03-16 Intel Corporation Fast page fault handling process implemented on persistent memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200901028A (en) * 2007-05-10 2009-01-01 Nvidia Corp Message queuing system for parallel integrated circuit architecture and related method of operation
US20090063786A1 (en) * 2007-08-29 2009-03-05 Hakjune Oh Daisy-chain memory configuration and usage
WO2015101827A1 (en) * 2013-12-31 2015-07-09 Mosys, Inc. Integrated main memory and coprocessor with low latency

Also Published As

Publication number Publication date
JP2022547730A (ja) 2022-11-15
US20220050639A1 (en) 2022-02-17
CN114521250A (zh) 2022-05-20
EP4031979A4 (en) 2023-09-27
KR20220047839A (ko) 2022-04-19
US11163490B2 (en) 2021-11-02
TW202125267A (zh) 2021-07-01
EP4031979A1 (en) 2022-07-27
US20210081141A1 (en) 2021-03-18
WO2021055207A1 (en) 2021-03-25

Similar Documents

Publication Publication Date Title
TWI772877B (zh) 用於資料移動之可程式化引擎
US10387303B2 (en) Non-volatile storage system with compute engine to accelerate big data applications
CN108572933B (zh) 用于直接存储器存取的数据缓冲器指针找取
US10613778B2 (en) Dynamic host memory allocation to a memory controller
US10467037B2 (en) Storage device and user device supporting virtualization function
KR102403266B1 (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
TWI750798B (zh) 多階層記憶體之彈性化的供應
WO2018080785A1 (en) Non-volatile storage system with integrated compute engine and optimized use of local fast memory
US10901627B1 (en) Tracking persistent memory usage
KR102506135B1 (ko) 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US10474359B1 (en) Write minimization for de-allocated memory
US10691338B2 (en) Data storage device and data processing system including same
US11561909B2 (en) Bandwidth allocation for storage system commands in peer-to-peer environment
US20220391330A1 (en) Memory chip having an integrated data mover