專利名稱:雙列直插式存儲模塊中的相變存儲器的制作方法
技術領域:
本發明公開的主題涉及對存儲裝置的管理。
背景技術:
在例如計算機、蜂窩電話、PDA、數據日志記錄器、游戲和導航設備等多種類型的電 子設備中,使用了存儲裝置。在這些電子設備中,可以使用各種類型的存儲裝置,例如NAND 和NOR閃存、SRAM、DRAM和相變,以上僅作為幾個示例。與操作速度和高速緩存線大小的增 大相對應,在雙列直插式存儲模塊(DIMM)配置中可以封裝存儲裝置。例如,在計算平臺中 可以被用作主存儲器的這種DIMM可以包括并行安裝在DIMM上的多個DRAM存儲模塊。因 此,可以在并行的DRAM模塊上來分裂對于DMM的讀/寫請求,以便各個DRAM模塊分別提 供總的高速緩存線請求的一部分。這種DRAM器件典型地具有與例如讀/寫定時、存儲頁面 大小、和/或尋址協議等相關聯的特定固有參數。
發明內容
在實施例中,存儲裝置可以包括雙列直插式存儲模塊(DIMM),所述雙列直插式存 儲模塊包括相變存儲器(PCM)模塊。可以將這種PCM模塊安裝且并行地電連接在DIMM上。 在一個實施例中,可以包括例如計算系統的主存儲器的至少一部分的這種DIMM可以包括 存儲總線,以便與存儲器控制器進行通信。通過這種存儲總線,計算系統能夠通過存儲器控 制器來訪問DMM上的PCM模塊。例如,為實現這種實施例,系統可以包括DI匪,DI匪包括一個或多個PCM模塊、電 連接至系統的存儲總線、以及保持基本輸入/輸出系統(BIOS)的存儲器,其中,PCM模塊并 行地電連接至存儲總線,BIOS包括與PCM模塊相對應的參數。
參考以下附圖示出了非限制性和非窮盡性的實施例,其中,除非明確指出,不同的 圖中類似附圖標記表示類似部件。圖1是根據實施例的存儲器配置的示意圖。圖2是根據另一個實施例的存儲器配置的示意圖。圖3是根據實施例的存儲器控制處理的定時圖。圖4是根據實施例的存儲器控制處理的流程圖。圖5是根據實施例的計算系統和存儲裝置的示意圖。
具體實施例方式在本說明書中,對“一個實施例”或“實施例”的引述意味著,結合該實施例描述的 具體特征、結構或特點包括在所要求保護的主題的至少一個實施例中。因此,在本說明書中 多處出現的短語“在一個實施例中”或“在實施例中”不一定全部是指同一實施例。此外,具體特征、結構或特點可以結合在一個或更多實施例中。在實施例中,存儲裝置可以包括雙列直插式存儲模塊(DIMM),所述雙列直插式存 儲模塊包括相變存儲器(PCM)模塊。可以將這種PCM模塊安裝且并行地電連接在DIMM上。 在一個實施例中,可以包括例如計算系統的主存儲器的至少一部分的這種DIMM可以包括 存儲總線,以便與存儲器控制器進行通信。通過這種存儲總線,計算系統能夠通過存儲器控 制器來訪問DMM上的PCM模塊。在一個實施例中,DIMM可以適于至少部分地基于動態隨機存取存儲器(DRAM)模 塊來進行電操作。例如,DIMM可以包括一個或多個DRAM插座以容納一個或多個PCM模塊, 但是要求保護的主題并不局限于此。作為另一個示例,一個或多個PCM模塊可以包括DRAM 模式寄存器和/或DRAM接口,所述DRAM接口包括適合于DRAM的連接。如下文中更為詳細 的描述,可以通過使用適當的存儲器級和/或系統級處理和/或參數,將PCM模塊合并到這 種DIMM中。例如,計算系統可以包括基本輸入/輸出系統(BIOS),所述基本輸入/輸出系 統(BIOS)保持了與PCM模塊相對應的參數。例如,這種參數可以包括針對PCM模塊的定時、 等待時間和/或大小的值。在特定實施方式中,BIOS無需在系統引導啟動(system boot) 時測試PCM模塊。這種BIOS可以包括配置為操作PCM模塊的低級(low-level)驅動器。 此外,這種BIOS可以包括可執行代碼以讀取PCM模塊標識(ID)并對PCM模塊配置進行響 應。作為另一個示例,PCM模塊可以與附加等待時間(additive latency)相關聯,該附加 等待時間使得能夠在DIMM接收行地址之后立即將由例如存儲器控制器產生的列地址提供 給DIMM。可以將這種附加等待時間引入到PCM模塊的定時方案中,以便針對PCM的連續讀 取命令可以彼此緊密相隨,而不會例如存在延遲和在輸出數據中引入定時間隙。通常,寫入或編程處理可以用于在存儲裝置中存儲信息,而讀取處理可以用于獲 取所存儲的信息。可以從存儲裝置的全部或一部分中擦除所存儲的信息,和/或將新信息 寫入到存儲裝置的全部或一部分中。相當大量的這種程序擦除和/或程序_再編程周期會 使PCM的物理完整性(physical integrity)劣化。例如,施加在包括PCM在內的DMM的 成千上萬個程序擦除周期會降低DI匪的可靠性。如果使用這種PCM存儲器,限制和/或減 少程序擦除周期(或“循環周期(cycling)”)出現的次數是有利的,否則PCM存儲器會遭 遇以上情況。因此,在一個實施例中,一種管理DIMMide PCM模塊的循環周期的技術包括 對寫入數據進行高速緩存。具體地,一種例如DRAM高速緩沖存儲器的存儲裝置可以用于高 速緩存與PCM DIMM的特定地址相對應的寫入數據。可以至少部分地基于包括PCM DIMM在 內的PCM模塊的屬性,來選擇這種DRAM高速緩沖存儲器的存儲器大小。例如,這種屬性可 以包括PCM DI匪大小。例如,這種屬性可以包括PCM的循環周期規范、PCM故障率、PCM寫 入速度、包括PCM DIMM在內的系統的寫入使用模型、和/或使用的PCM寫入損耗水準測量 (leveling)技術。作為具體的示例,這種DRAM高速緩沖存儲器的大小的范圍可以是從大約 100KB到數十兆字節RAM,但是所要求包括的主題并不局限于此。在一個實施例中,PCM DIMM可以包括堆疊在封裝中的PCM模塊,其中每個封裝包 括多個存儲器管芯(die)。例如,這種封裝可以包括每個封裝兩個、四個或八個管芯,分別提 供一個、兩個、四個或八個1/0管腳。例如,這種實施方式的結果在于可以使用附加的PCM, 而不會對輸出驅動器造成額外負載。此外,如下文中的詳細描述,如果與DRAM相比在DIMM 中使用的PCM具有較少數目的組(bank)(分區),則組地址比特可以用于對跨多個PCM器件
5的多個組進行存取。圖1是根據實施例的包括多個DRAM模塊在內的DRAM DIMM100的示意圖,如圖所 示,DRAM DIMM 100包括DRAM 110、DRAM120和DRAM 130。盡管在具體實施例中可以包括八 個DRAM模塊,但是DRAM DMM可以包括任意數目的DRAM模塊。例如,可以給出第九個DRAM 模塊來提供糾錯,但是所要求保護的主題并不局限于此示例。各個DRAM模塊可以包括可尋 址存儲單元的矩陣,通過首先指定行地址并之后指定列地址,來訪問所述可尋址存儲單元。 塊箭頭150表示地址總線,存儲器控制器(未示出)可以通過該地址總線向DRAMDIMM 100 提供讀/寫地址。在一個具體實施方式
中,這種地址總線可以是16比特寬。塊箭頭160表 示數據總線,通過該數據總線,來自/去往DRAM模塊的并行數據可以向存儲器控制器和/ 或計算系統(未示出)的其他部分提供讀取數據,或從存儲器控制器和/或計算系統(未 示出)的其他部分接收寫入數據。在一個特定實施方式中,這種數據總線可以是64比特 寬,以考慮到八個并行連接的8比特DRAM模塊,但是所要求保護的主題并不局限于此。為 了對DRAM DIMM 100上的特定位置進行尋址,例如,如在下文中詳細描述的,可以在由塊箭 頭140表示的總線上由存儲器控制器將伴隨有行地址的激活命令一起提供給DRAM模塊110 到130。這種行地址總線140可以與各個DRAM模塊并行連接。在提供行地址之后,存儲器 控制器可以產生讀/寫命令,該讀/寫命令伴隨有列地址,并通過由塊箭頭170表示的總線 一起提供給各個DRAM模塊。當然,DRAM DIMM的這種特征和細節僅作為示例,所要求保護 的主題并不局限于此。圖2是根據實施例的包括多個PCM模塊在內的PCM DIMM 200的示意圖,PCM DIMM 200包括PCM 214、PCM 218、PCM 224和PCM228。PCM DIMM 200可以適于至少部分地基于 DRAM模塊來進行電操作。在這種情況下,至少部分地取決于各個PCM模塊中的存儲組的數 目,可以使用多于一個的PCM模塊來代替一個DRAM模塊。因此,PCMDIMM 200可以包括存儲 位點(memory site) 210和存儲位點220,在存儲位點210處,使用PCM 214和/或PCM 218 代替一個DRAM模塊,在存儲位點220處,使用PCM 224和/或PCM 228代替另一個DRAM模 塊。這里,存儲位點是指PCM DIMM 200中在PCM DIMM 200與DRAM或PCM模塊之間能夠進 行電子連接的位置。在具體的實施方式中,PCM模塊可以包括比DRAM模塊更多的電子連接。 例如,PCM DIMM 200可以包括具有四個組和3比特組地址(能夠對多達8個組進行尋址) 的PCM模塊;則可以對各具有四個組地址的兩個PCM器件進行尋址。因此,在具體的實施方 式中,PCM DIMM可以配備有與跨多個PCM器件的多個存儲組相對應的組地址比特。當然,這 種存儲位點可以包括比本實施例中所示和所述的PCM模塊的數目更多或更少的PCM模塊。 類似地,PCM DIMM 200可以包括比本實施例中所示和所述的這種存儲位點的數目更多或更 少的存儲位點。因此,所要求保護的主題并不局限于這種細節。與上述DRAM模塊相似,各個PCM模塊可以包括可尋址存儲單元的矩陣,通過首先 指定行地址并之后指定列地址,來訪問所述可尋址存儲單元。塊箭頭240表示地址總線,存 儲器控制器(未示出)通過該地址總線向PCM DIMM 200提供讀/寫地址。在一個具體實 施方式中,例如這種地址總線可以是16比特寬。塊箭頭250表示數據總線,通過該數據總 線來自/去往DRAM模塊的并行數據可以向存儲器控制器和/或計算系統(未示出)的其 他部分提供讀取數據,或從存儲器控制器和/或計算系統(未示出)的其他部分接收寫入 數據。在一個特定實施方式中,這種數據總線可以是64比特寬,以考慮到8個并行連接的PCM模塊組,每一組具有并行連接的8個比特,但是所要求保護的主題并不局限于此。為了 對PCM DIMM 200上的特定位置進行尋址,例如,可以,如在下文中詳細描述的,在由塊箭頭 230表示的總線上由存儲器控制器將伴隨有行地址的激活命令一起提供給PCM模塊214到 228。這種地址總線230可以與各個PCM模塊并行連接。在提供行地址之后,存儲器控制器 可以產生讀/寫命令,該讀/寫命令伴隨有列地址,并經由總線230 —起提供給各個存儲位 點210到220。還可以將伴隨著讀/寫命令的這種列地址經由塊箭頭260表示的總線提供 給各個PCM模塊214到228。當然,PCM DIMM的這種特征和細節僅作為示例,所要求保護的 主題并不局限于此。圖3是根據實施例的存儲器控制處理300的定時圖,圖4是存儲器控制處理400的 流程圖。以下的描述示例基于存儲器控制處理300和包括相同處理的存儲器控制處理400, 但是所要求保護的主題并不局限于此。如圖3所示,時鐘信號305可以建立存儲器處理的 定時。在塊410,存儲器控制器可以發出激活命令310,以打開PCM模塊(例如圖2所示的 PCM模塊214)的頁面或存儲組。在這種激活階段期間,PCM模塊可以從存儲器控制器接收 行地址315,如塊420所示。在塊430和440,存儲器控制器可以發出讀取指令320和列地 址325,由此提供要從中讀取數據的一個或多個存儲單元的存儲地址(行或列)。在具體實 施方式中,附加等待時間可以用于改進存儲處理調度可以背靠背(back-to-back)的方式 發出行地址和列地址,由此避免了例如輸出數據中的定時間隙。然而,這種定時間隙在某些 應用中是需要的,并且所要求保護的主題并不局限于此。例如,盡管圖3中未示出,但是在 激活命令310和讀取指令320之間可以存在一個或多個時鐘周期。具體地,可以使用列地 址選通(CAS)等待時間和/或附加等待時間,在激活命令之后立即發出讀取指令。不需要 在執行這種讀取指令之前將這種讀取指令內部地延遲預定數目的時鐘周期(由此造成附 加等待時間)。由于可以執行這種定時處理而無需附加的命令,因此可以避免存儲指令之間 的沖突。盡管對于這里所述的一個或多個實施例而言不是必要的,但是可以在PCM模塊的 模式寄存器中保持附加等待時間的值。因此,在塊460處發出另一個讀取指令330之前, 在塊450處經過了時間段t(XD。并發地,如塊470處,可以發出另一個列地址。在例如讀 取等待時間和列尋址等待時間之類的一個或多個等待時間之后,數據340可以是讀取指令 320的結果,數據350可以是讀取指令330的結果。在一個實施方式中,提供列地址以及在 對應地址處讀取存儲器的處理可以重復進行,直到例如到達所打開頁面的最后一列為止, 如塊480處所檢查的。在這種情況下,可以由存儲器控制器發出另一個激活命令以打開另 一個頁面。如上所述,可以將PCM模塊合并入適于至少部分地基于DRAM模塊來進行電操作 的DIMM中。為了適應這種PCM模塊,可以實施適當的存儲器級和/或系統級處理和/或參 數。例如,在系統級處,BIOS可以從PCM模塊中保持的一個或多個模式寄存器或其他存儲 器中獲取參數。僅作為一些示例,包括讀取等待時間、寫入等待時間、CAS等待時間、至第一 數據的內部讀取命令時間、內部讀/寫延遲的激活和/或附加延遲在內的這種參數可以對 應于PCM模塊。圖5是計算系統500的示例實施例的示意圖,計算系統500包括存儲裝置510。計 算裝置504可以代表可配置為管理存儲裝置510的任何設備、裝置和/或機器。存儲裝置 510可以包括存儲器控制器515和存儲器522。作為示例但非限制性地,計算裝置504可以包括一個或多個計算裝置和/或平臺,例如臺式計算機、膝上型計算機、工作站、服務器設 備等;一個或多個個人計算或通信裝置或設備,例如個人數字助理、移動通信設備等;計算 系統和/或關聯的服務提供商功能,例如數據庫或數據存儲服務提供商/系統;以及/或者 其任意組合。應該認識到,可以通過使用或包括硬件、固件、軟件或其任意組合,來實現系統500 中所示的多種裝置的全部或一部分、以及這里進一步描述的處理和方法。因此,作為示例但 非限制性地,計算裝置504可以包括至少一個處理單元520,通過總線540操作性地耦合 至存儲器522 ;以及主機或存儲器控制器515。處理單元520代表可配置為執行數據計算 過程或處理的至少一部分的一個或多個電路。作為示例但非限制性地,處理單元520可以 包括一個或多個處理器、控制器、微處理器、微控制器、專用集成電路、數字信號處理器、可 編程邏輯器件、現場可編程門陣列等、以及其任意組合。處理單元520可以與存儲器控制器 515通信,以處理例如讀取、寫入和/或擦除等存儲器相關操作,以及如上所述的存儲器分 區處理。處理單元520可以包括配置為與存儲器控制器515通信的操作系統。這種操作系 統例如可以生成要經由總線540發送至存儲器控制器515的命令。這種命令可以包括例如 讀/寫指令。計算裝置504可以包括基本輸入/輸出系統(BIOS),該BIOS保持了與PCM模 塊相對應的參數,PCM模塊可以與附加等待時間相關聯,該附加等待時間使得能夠在DIMM 接收行地址之后立即將由例如存儲器控制器515產生的列地址提供給DIMM。存儲器522代表任何數據存儲機構。存儲器522可以包括例如主存儲器524和/ 或次存儲器526。在特定實施例中,存儲器522可以包括如上所述的PCM DIMM。具體而言, 主存儲器524可以包括例如隨機存取存儲器、只讀存儲器等。雖然該示例中示出了主存儲 器524是與處理單元520分離的,但是應該理解,主存儲器524的全部或部分可以提供在處 理單元520內或者與處理單元520協同定位/耦合。根據實施例,存儲器522的一個或多個部分可以存儲對由存儲器522的特定狀態 表達的數據和/或信息進行表示的信號。例如,可以通過影響或改變存儲器522的這些部 分的狀態,來將代表數據和/或信息的電子信號“存儲”在存儲器522的一部分中,以將數 據和/或信息表示為二進制信息(例如,1和0)。由此,在具體實施方式
中,這種存儲器一 部分的狀態改變以存儲代表數據和/或信息的信號,構成了將存儲器522變換到不同的狀 態或事物。次存儲器526可以包括例如與主存儲器相同或類似類型的存儲器、以及/或者一 個或多個數據存儲裝置或系統,例如盤驅動、光盤驅動、磁帶驅動、固態存儲器驅動等。在特 定實施方式中,次存儲器526可以是操作性地容納計算機可讀介質528,或者可配置地與計 算機可讀介質528耦合。計算機可讀介質528可以包括例如能夠承載針對系統500中一個 或多個裝置的數據、代碼和/或指令的任何介質、和/或使得這些數據、代碼和/或指令可 訪問的任何介質。計算裝置504可以包括例如輸入/輸出532。輸入/輸出532可以代表可配置為 接受或引入人類和/或機器輸入的一個或多個裝置或特征、可配置為傳遞或提供人類和/ 或機器輸出的一個或多個裝置或特征。作為示例但非限制性地,輸入/輸出設備532可以 包括操作性配置的顯示器、揚聲器、鍵盤、鼠標、軌跡球、觸摸屏、數據端口等。雖然示出并描述了當前認為的示例實施例,但是本領域技術人員會理解,在不背
8離本發明要保護的主題的前提下,可以進行多種其他修改并替換等同物。此外,在不背離這 里所述的中心思想的前提下,可以進行多種修改來使特定情況適應本發明要保護的主題的 教義。因此,本發明要保護的主題不限于公開的特定實施例,而是也可以包括在所附權利要 求及其等同物范圍內的所有實施例。
權利要求
一種系統,包括雙列直插式存儲模塊DIMM,包括一個或多個相變存儲器PCM模塊;電連接到所述系統的存儲總線,其中所述PCM模塊并行地電連接到所述存儲總線;以及存儲器,保持基本輸入/輸出系統BIOS,所述BIOS包括與所述PCM模塊相對應的參數。
2.如權利要求1所述的系統,其中,所述參數包括所述PCM模塊的附加等待時間或列地 址選通CAS等待時間的值。
3.如權利要求1所述的系統,其中,所述PCM模塊與附加等待時間相關聯,所述附加等 待時間使得能夠在將行地址提供給所述DIMM之后立即將列地址提供給所述DIMM。
4.如權利要求1所述的系統,還包括動態隨機存取存儲器DRAM高速緩沖存儲器,用于高速緩存與所述DIMM的特定地址相 對應的寫入數據。
5.如權利要求1所述的系統,其中,組地址比特與一個或多個所述PCM模塊的多個存儲組相對應。
6.如權利要求1所述的系統,其中,所述DIMM包括所述系統的主存儲器。
7.如權利要求1所述的系統,其中,一個或多個所述PCM模塊包括動態隨機存取存儲器 DRAM模式寄存器和/或DRAM接口。
8.一種方法,包括向包括一個或多個相變存儲器PCM模塊的雙列直插式存儲模塊DIMM提供激活指令; 向所述PCM模塊提供行地址;以及在向所述PCM模塊提供后續的行地址之前,提供多個列地址。
9.如權利要求8所述的方法,還包括在向所述DIMM提供行地址之后立即向所述DIMM 提供所述多個列地址中的一個。
10.如權利要求8所述的方法,還包括在計算平臺的基本輸入/輸出系統BIOS中保持與所述PCM模塊相對應的參數。
11.如權利要求10所述的方法,其中所述參數包括所述PCM模塊的附加等待時間的值。
12.如權利要求8所述的方法,還包括通過在DRAM高速緩沖存儲器中高速緩存與所述DIMM的特定地址相對應的寫入數據, 來管理所述PCM模塊的循環周期限制。
13.如權利要求12所述的方法,還包括至少部分地基于所述PCM模塊的屬性,來選擇所述DRAM高速緩沖存儲器的存儲器大
14.如權利要求8所述的方法,還包括使用組地址比特來訪問一個或多個所述PCM器件的多個存儲組。
15.如權利要求10所述的方法,其中所述DIMM包括所述計算平臺的主存儲器。
16.一種存儲裝置,包括雙列直插式存儲模塊DIMM,適于至少部分地基于動態隨機存取存儲器DRAM來進行電 操作,其中所述DIMM包括一個或多個相變存儲器PCM模塊。
17.如權利要求16所述的存儲裝置,還包括電連接到計算系統的存儲總線,其中所述PCM模塊并行地電連接到所述存儲總線,所 述計算系統包括基本輸入/輸出系統BIOS,所述BIOS保持與所述PCM模塊相對應的參數。
18.如權利要求16所述的存儲裝置,還包括DRAM高速緩沖存儲器,用于高速緩存與所述DIMM的特定地址相對應的寫入數據。
19.一種方法,包括在計算平臺的基本輸入/輸出系統BIOS中,保持與雙列直插式存儲模塊DIMM上安裝 的一個或多個相變存儲器PCM模塊相對應的參數。
20.如權利要求19所述的方法,其中所述PCM模塊與附加等待時間相關聯,所述附加等 待時間使得能夠在將行地址提供給所述DIMM之后立即將列地址提供給所述DIMM。
21.如權利要求19所述的方法,還包括通過在DRAM高速緩沖存儲器中高速緩存與所述DIMM的特定地址相對應的寫入數據, 來管理所述PCM模塊的循環限制。
全文摘要
本發明公開的主題涉及存儲裝置以及存儲裝置的管理系統和方法,該系統包括雙列直插式存儲模塊DIMM,包括一個或多個相變存儲器PCM模塊;電連接到所述系統的存儲總線,其中所述PCM模塊并行地電連接到所述存儲總線;以及存儲器,保持基本輸入/輸出系統BIOS,所述BIOS包括與所述PCM模塊相對應的參數。存儲裝置包括雙列直插式存儲模塊DIMM,適于至少部分地基于動態隨機存取存儲器DRAM來進行電操作,其中所述DIMM包括一個或多個相變存儲器PCM模塊。
文檔編號G06F3/06GK101957726SQ20101022239
公開日2011年1月26日 申請日期2010年7月5日 優先權日2009年7月16日
發明者謝庫費·卡瓦米, 賈里德·E·赫爾伯特 申請人:恒憶有限責任公司