TW201636847A - 分配與配置持續記憶體之技術 - Google Patents

分配與配置持續記憶體之技術 Download PDF

Info

Publication number
TW201636847A
TW201636847A TW104138576A TW104138576A TW201636847A TW 201636847 A TW201636847 A TW 201636847A TW 104138576 A TW104138576 A TW 104138576A TW 104138576 A TW104138576 A TW 104138576A TW 201636847 A TW201636847 A TW 201636847A
Authority
TW
Taiwan
Prior art keywords
memory
nvm
partitions
processor
management
Prior art date
Application number
TW104138576A
Other languages
English (en)
Other versions
TWI567551B (zh
Inventor
史考特W 其爾文
安迪M 魯道夫
馬希S 納度
木魯蓋莎米K 納齊穆蘇
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 TW201636847A publication Critical patent/TW201636847A/zh
Application granted granted Critical
Publication of TWI567551B publication Critical patent/TWI567551B/zh

Links

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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid 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/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • 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/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Microelectronics & Electronic Packaging (AREA)

Abstract

描述分配及/或配置持續記憶體之方法及設備。於一實施例中,記憶體控制器邏輯至少部分基於一或多個屬性而將非依電性記憶體配置成多個分割區。從該等多個分割區中之一或多者形成一或多個容積區區(為一應用程式或作業系統所可見)。該等一或多個容積區中之各者包括具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區區中之一或多者。於另一個實施例中,記憶體控制器邏輯配置一非依電性記憶體(NVM)雙排型記憶體模組(DIMM)成一持續性區域及一依電性區域。其它實施例也經揭示及請求專利。

Description

分配與配置持續記憶體之技術 發明領域
本文揭示大致上係有關於電子學領域。更明確言之,若干實施例大致上係有關於分配與配置持續記憶體之技術。
發明背景
通常,用以於計算系統儲存資料的記憶體可以是依電性(用以儲存依電性資訊)或非依電性(用以儲存持續性資訊)。儲存於依電性記憶體的依電性資料結構通常用於暫時性或中間資訊,其被要求於程式的執行時間支援程式功能。另一方面,儲存於非依電性(或持續記憶體)的持續資料結構係在程式的執行時間之後仍然可用且可重複使用。再者,在使用者或程式設計師決定讓資料變成持續性之前,新資料典型地首先產生為依電性資料。舉例言之,程式設計師或使用者可使得依電性結構在可由處理器直接存取的依電性主記憶體映射(亦即具現化)。另一方面,持續資料結構係在附接至輸入/輸出(I/O或IO)匯流排的非依電性儲存裝置例如旋轉碟片或以非依電性記憶體為基的裝置例如快閃記憶體上具現化。
隨著處理器中計算能力的提升,一項疑慮為記憶體可由處理器存取的速度。舉例言之,為了處理資料,處理器可能需要首先自一記憶體提取資料。在資料的處理完成之後,結果可能需儲存於記憶體。因此,記憶體存取速度可對總體系統效能有直接影響。
另一項重要考慮為功耗。舉例言之,於仰賴電儲存區電力的行動計算裝置中,極為要緊地須減低功耗以使得裝置能在行動期間操作。功耗對非行動計算裝置也要緊,原因在於過量功耗可能增加成本(例如,因額外功率使用、冷卻需求增加等),縮短組件壽命,限制了裝置可使用的位置等。
硬碟驅動裝置提供了相對低成本的儲存解決方案,用在許多計算節點之以單一微控制器為基礎的管理技術內以提供非依電性儲存裝置。然而,碟片驅動裝置比較非依電性記憶體諸如快閃記憶體或固態驅動裝置使用大量電力,原因在於碟片驅動裝置需要以相當高速旋轉碟片,及相對於旋轉中的碟片移動碟片頭以讀/寫資料。此種實體移動產熱且增加功耗。又,以快閃為基的驅動裝置當執行讀寫操作時比起硬碟驅動裝置遠更快速。為了達成此項目的,許多計算區段朝向非依電性的快閃記憶體裝置遷移。
依據本發明之一實施例,係特地提出一種設備,其包含:記憶體控制器邏輯,耦合至非依電性記憶體,用以至少部分基於一或多個屬性而將該非依電性記憶體配置 成多個分割區,其中一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者用以包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。
100‧‧‧計算系統
102、102-1~N、502、602、604‧‧‧處理器或中央處理單元(CPU)
104、112‧‧‧互連結構或匯流排
106-1~M‧‧‧核心1-M
108‧‧‧快取記憶體
110‧‧‧路由器
114‧‧‧依電性記憶體
116-1‧‧‧L1快取記憶體
120、510、742‧‧‧依電性記憶體控制器
125‧‧‧邏輯
150‧‧‧非依電性記憶體(NVM)控制器邏輯
152‧‧‧NVM記憶體
200‧‧‧系統主記憶體
202‧‧‧2LM引擎模組/邏輯、2LM引擎
204‧‧‧近記憶體控制器(NMC)
206‧‧‧遠記憶體控制器(FMC)
208‧‧‧第二層級記憶體、遠記憶體
210‧‧‧第一層級記憶體、近記憶體
350‧‧‧方法
352-360‧‧‧操作
500‧‧‧計算系統
503‧‧‧電腦網路
504‧‧‧互連網路或匯流排
506、620‧‧‧晶片組
508‧‧‧圖形記憶體控制中樞器(GMCH)
514‧‧‧圖形介面
516‧‧‧圖形加速器
517‧‧‧顯示器
518‧‧‧中樞器介面
520‧‧‧輸入/輸出控制中樞器(ICH)
522、640、644‧‧‧匯流排
524‧‧‧周邊橋接器或控制器
526‧‧‧音訊裝置
528‧‧‧碟片驅動裝置
530‧‧‧網路介面裝置
531‧‧‧天線
600‧‧‧系統
606、608‧‧‧記憶體控制器中樞器(MCH)
610、612、760‧‧‧記憶體
614、622、624‧‧‧點對點(PtP)介面
616、618、626、628、630、632‧‧‧PtP介面電路
634‧‧‧圖形電路
636‧‧‧圖形介面
637、641‧‧‧I/F
642‧‧‧匯流排橋接器
643、770‧‧‧I/O裝置
645‧‧‧鍵盤/滑鼠
646‧‧‧通訊裝置
647‧‧‧音訊裝置
648‧‧‧資料儲存裝置
649‧‧‧代碼
702‧‧‧SOC封裝
720‧‧‧中央處理單元(CPU)核心
730‧‧‧圖形處理單元(GPU)核心
740‧‧‧輸入/輸出(I/O)介面
詳細說明部分係參考附圖提供。附圖中,元件符號的最左位數識別該元件符號首次出現的圖式。於不同圖式中使用相同的元件符號指示相似的或相同的項目。
圖1、2、5、6、及7例示計算系統之實施例的方塊圖,其可運用以執行此處討論的各種實施例。
圖3A顯示依據一實施例一經配置的記憶體系統的方塊圖。
圖3B例示依據一實施例一種配置記憶體之方法的流程圖。
圖4A顯示依據一實施例NVM管理架構的一資料中心層級視圖。
圖4B例示依據一實施例二管理分割區的方塊圖。
圖4C例示依據一實施例一種配置記憶體之方法的流程圖。
較佳實施例之詳細說明
於後文詳細說明部分中,陳述無數特定細節以供 徹底瞭解各個實施例。但可無此等特定細節而實施各個實施例。於其它情況下,未曾以細節描述眾所周知之方法、程序、組件、及電路,俾便不遮掩特定實施例。又,實施例之各種面向可使用各種手段執行,諸如整合式半導體電路(「硬體」),組織成一或多個程式的電腦可讀取指令(「軟體」),或硬體與軟體之若干組合。用於本文揭示之目的,述及「邏輯」將表示硬體、軟體、或其若干組合。
如前文指出,今日用在電腦系統的依電性記憶體大部分係用於同質資源,以暫時性為基而分配給軟體處理程序。一實施例係有關於持續記憶體,配置以獨特特性其最佳適合以長期基礎儲存的資料之效能及可信度需要。如此處討論,持續記憶體被視為位元組可定址的記憶體,諸如標準動態隨機存取記憶體或DRAM(偶爾又稱主記憶體),但橫跨系統復置或功率損耗可維持其內容。此種持續記憶體之實例包括、位元組可定址3D交叉點記憶體諸如相變記憶體(PCM)、電阻式隨機存取記憶體、磁阻式RAM、自旋轉移矩RAM(STTRAM)。若干實施例係有關於具有獨特效能及/或可信度特性的持續記憶體之區域的探索;此等區域組織成服務品質(QoS)儲存區;及/或從此等QoS儲存區的持續記憶體之應用程式可見容積區的分配。
又復,非依電性記憶體(此處可互換稱作「持續記憶體」)當導入處理器(此處又互換稱作「CPU」或中央處理單元)記憶體階層時,提供了顯著配置彈性。又復,非依電性記憶體(NVM)雙排型記憶體模組(DIMM)可分割成一 依電性區域及一持續性區域。此等區域可以各種交插或可信度、可用性、及可服務性(RAS)模式操作以匹配工作負荷表現及使用者需要。舉例言之,RAS可以影響資料之耐久性的配置應用,諸如鏡射維持使用者資料的兩個複本以提高資料的耐久性。初始NVM配置可由系統基本輸入/輸出系統(BIOS)進行,原因在於其暗示至CPU位址映射關係。然而,BIOS無法瞭解使用者需要或決定工作負荷表現的特徵。為了達成此項目的,若干實施例:(a)使得使用者能全然利用由已分割的NVM DIMM所提供的彈性;(b)最小化因BIOS配置錯誤所致之使用者資料遺失的機會;及/或(c)使得使用者能取回儲存於DIMM上的持續性資料,即便於主機板故障之情況下亦復如此。
再者,此處討論之技術可提供於各種計算系統(例如,包括非行動計算裝置諸如桌上型電腦、工作站、伺服器、機架系統等,及行動計算裝置諸如智慧型電話、平板、超行動個人電腦(UMPC)、膝上型電腦、超筆電TM計算裝置、智慧型手表、智慧型眼鏡、智慧型手環等),包括參考圖1-7討論者。更明確言之,圖1例示依據一實施例一計算系統100之方塊圖。系統100包括一處理器102-1至102-N(此處通稱為「處理器102」或「處理器102」)。處理器102可透過互連結構或匯流排104通訊。各個處理器可包括各種組件,為求清晰,其中部分只參考處理器102-1討論。據此,其餘處理器102-1至102-N中之各者可包括與參照處理器102-1討論的相同的或相似的組件。
於一實施例中,處理器102-1可包括一或多個處理器核心106-1至106-M(此處稱作「核心106」或更通稱「核心106」)、一快取記憶體108(於各種實施例中,其可以是分享快取記憶體或專用快取記憶體)、及/或一路由器110。處理器核心106可具體實施於單一積體電路(IC)晶片上。再者,晶片可包括一或多個分享及/或專用快取記憶體(諸如快取記憶體108)、匯流排或互連結構(諸如匯流排或互連結構112)、邏輯120、邏輯150、記憶體控制器(諸如參考圖5-7討論者)、非依電性記憶體(NVM)152(例如,包括快閃記憶體、固態驅動裝置(SSD))等或其它組件。
於一個實施例中,路由器110可用於處理器102-1及/或系統100的各種組件間之通訊。再者,處理器102-1可包括多於一個路由器110。又復,多個路由器110可彼此通訊而使其能在處理器102-1的內部或外部的各種組件間安排資料路徑。
快取記憶體108可儲存資料(例如,包括指令)其由處理器102-1的一或多個組件諸如核心106利用。舉例言之,快取記憶體108可本地快取儲存於依電性記憶體114的資料以供由處理器102的組件更快速地存取。如圖1顯示,記憶體114可透過互連結構104與處理器102通訊。於一實施例中,快取記憶體108(可以是分享)可具有各種層級,例如,快取記憶體108可以是中間層級快取記憶體及/或最末層級快取記憶體(LLC)。又,核心106中之各者可包括層級1(L1)快取記憶體(116-1)(此處通稱作「L1快取記憶體116」)。處 理器102-1的各種組件可直接通訊、透過匯流排(例如,匯流排112)、及/或透過記憶體控制器或中樞器通訊。
如圖1中顯示,記憶體114可經由依電性記憶體控制器120耦合至系統100的其它組件。系統100也包括NVM記憶體控制器邏輯150用以耦合NVM記憶體152至系統100的各種組件。於若干實施例中,NVM記憶體(持續記憶體)152包括非依電性記憶體諸如奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)、快閃記憶體、自旋矩轉傳輸隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3D交叉點記憶體諸如相變記憶體(PCM)等。即便記憶體控制器150顯示為耦合至互連結構104與記憶體152間,邏輯150可以位在系統100內它處。舉例言之,於各種實施例中,邏輯150(或其部分)可設於處理器102、控制器120等中之一者內部。於一實施例中,邏輯150及NVM 152係包括於一SSD內。再者,邏輯150控制存取一或多個NVM裝置152(例如,於若干實施例中,一或多個NVM裝置設在相同的積體電路晶片上),如此處就各種實施例之討論。又,於一實施例中,記憶體控制器120與NVM控制器150可組合成單一控制器。
圖2例示依據一實施例二層級系統主記憶體的方塊圖。若干實施例係有關於系統主記憶體200包含兩個記憶體層級(此處又稱「2LM」)其包括系統碟片層級儲存裝置的快取子集(此外,例如,操作時間資料)。此種主記憶體包括第一層級記憶體210(此處又稱為「近記憶體」)包括例如由 依電性記憶體114(例如,包括動態隨機存取記憶體(DRAM))、NVM 152等製成的較小型較快速記憶體;及第二層級記憶體208(此處又稱為「遠記憶體」)包括例如較大型較慢(相較於近記憶體)依電性記憶體(例如,記憶體114)或非依電性記憶體儲存裝置(例如,NVM 152)。
於一實施例中,遠記憶體呈示給主機作業系統(OS)作為「主記憶體」,而近記憶體為針對遠記憶體的快取記憶體其對OS為透明,如此使得下述實施例顯然與通用主記憶體解決方案相同。二層級記憶體的管理可由透過主機中央處理單元(CPU)102(此處互換稱作「處理器」)執行的邏輯與模組的組合進行。近記憶體可透過一或多個高頻寬低延遲鏈路、匯流排、或互連結構耦合至主機系統CPU用於有效處理。遠記憶體可透過一或多個低頻寬高延遲鏈路、匯流排、或互連結構耦合至CPU(與近記憶體作比較)。
參考圖2,主記憶體200提供操作時間資料儲存及存取至CPU 102系統碟片儲存記憶體(諸如圖5之碟片驅動裝置528或圖6之資料儲存裝置648)的內容。CPU可包括快取記憶體,其將儲存主記憶體200之內容的一子集。遠記憶體可包含如此處討論的依電性或非依電性記憶體。於此等實施例中,近記憶體210服務遠記憶體208的低延遲及高頻寬(亦即用於CPU 102存取)快取記憶體,其可具有顯著較低頻寬及較高延遲(亦即用於CPU 102存取)。
於一實施例中,近記憶體210係由近記憶體控制器(NMC)204管理,而遠記憶體208係由遠記憶體控制器 (FMC)206管理。FMC 206報告遠記憶體208給系統OS作為主記憶體(亦即系統OS認知遠記憶體208之大小為系統主記憶體200的大小)。系統OS及系統應用程式「不知曉」近記憶體210的存在,原因在於其乃遠記憶體208的「透明」快取記憶體。
CPU 102進一步包含2LM引擎模組/邏輯202。「2LM引擎」乃邏輯構成體其可包含硬體及/或微代碼擴延以支援二層級主記憶體200。舉例言之,2LM引擎202可維持一整個標籤表,其追蹤遠記憶體208的全部架構可見元件的狀態。舉例言之,當CPU 102試圖存取主記憶體200中之一特定資料段時,2LM引擎202判定該資料段是否涵括於近記憶體210。若否,則2LM引擎202提取遠記憶體208中的該資料段及隨後將該資料段寫至近記憶體210(類似於快取遺失)。須瞭解因近記憶體210作為遠記憶體208的「快取記憶體」,2LM引擎202可進一步執行資料完美化或類似的快取效率處理。
又,2LM引擎202可管理遠記憶體208的其它面向。舉例言之,於實施例中,於該處遠記憶體208包含非依電性記憶體(例如,NVM 152),須瞭解非依電性記憶體諸如快閃記憶體因顯著讀/寫而遭致記憶體段的降級。如此,2LM引擎202可以對系統軟體為透明的方式執行功能,包括磨耗均平、不良區塊避開等。舉例言之,執行磨耗均平邏輯可包括於具有相對低抹除循序計數的遠記憶體208中的乾淨未經對映節段的一自由儲存區中選取節段。
於若干實施例中,近記憶體210的大小可比遠記憶體208小,但確切比值可依據例如預期用途而異。於此等實施例中,須瞭解因遠記憶體208可包含更緊密及/或更價廉的非依電性記憶體,故主記憶體200的大小可價廉地有效地增加而與系統中的DRAM(亦即近記憶體210)的量獨立無關。
於一個實施例中,遠記憶體208以壓縮形式儲存資料,而近記憶體210包括其對應解壓縮版本。如此,當近記憶體210請求遠記憶體208的內容時,FMC 206取回該內容,及以固定酬載大小回傳之,經調整而匹配使用中的壓縮演算法(例如,256B移轉)。
於一實施例中,提出一種機制用以管理持續記憶體具有獨特效能及/或可信度特性的區域。於一實施例中,該等特性係類似獨立磁碟冗餘陣列(RAID)6。持續記憶體之各區組織成儲存區,於若干實施例中,該等儲存區用作為容積區容量來源。此種系統之優點為:(a)持續記憶體區域可具有有價值的獨一特性;(b)區域編組成具有相似特性之儲存區,減低組配系統的複雜度;及/或(c)具有特定特性的容積區可自儲存區產生且可配合可自該等特性獲益的應用分配。
據此,若干實施例:(1)允許多個持續記憶體區域各自具有獨特有價值的特性;(2)藉導入儲存區及容積區之概念而摘要與簡化持續記憶體的配置;(3)提出應用可見持續記憶體容積區,其保有該容積區產生自其中的該儲存 區之獨特有價值的特性;及/或(4)允許應用自能夠使用具有匹配特性的容積區獲益。
圖3A顯示依據一實施例一經組配的記憶體系統的方塊圖。樣本非一致記憶體存取(NUMA)方塊顯示於圖3A,如Px(或分割區x)標記指示。圖3A顯示各種DIMM(各自例示為具有多個分割區的一行)。右個DIMM耦合至一個別記憶體控制器(諸如此處參考圖1-2及圖5-7討論的記憶體控制器)。於一實施例中,於該(等)記憶體控制器內完成交插及/或鏡射操作。
於圖3A中,P1-P10指示可能與持續記憶體的不同儲存區相關聯的下列樣本特性。P1至P10表示具有不同特性的不同儲存區:
P1:NUMA,256B通道/4K整合式記憶體控制器(iMC)交插,插座容錯域
P2:NUMA,無交插,DIMM容錯域
P3:NUMA,無交插,DIMM容錯域
P4:NUMA,無交插,DIMM容錯域
P5:NUMA,無交插,DIMM容錯域
P6:UMA,4K通道/1MB iMC交插,系統容錯域
P7:UMA,區塊可定址,系統容錯域
P8:NUMA,鏡射,DIMM容錯域
P9:NUMA,1MB通道/1MB iMC交插,插座容錯域
P10:NUMA,鏡射,DIMM容錯域
圖3B例示依據一實施例組配記憶體之一方法 350的流程圖。於一個實施例中,參考圖1-3A及圖5-7討論的各種組件可運用以從事參考圖3B討論的操作中之一或多者。於一實施例中,方法350的操作中之一或多者係於邏輯(例如,韌體)具體實施,諸如圖1之邏輯150及/或控制器120及/或參考其它圖式討論的其它記憶體控制器。
參考圖1至圖3B,於操作352,檢測或探索持續記憶體之區域的屬性(於附圖中顯示為標示以Px的方塊)。於若干實施例中,考慮的屬性包括下列中之一或多者:UMA、NUMA、交插類型、通訊通道寬度/速度、容錯域類型(例如,系統、DIMM、插座等)、鏡射狀態(亦即鏡射或非鏡射)等。於操作354,具有相似特性/屬性的區域被組織成服務品質(QoS)儲存區。貢獻容量給一給定儲存區的區域於附圖中標示以Px,於該處x為儲存區編號。
於操作356,QoS儲存區例如以下列中之一或多種形式為系統管理器所可用:儲存區名稱、儲存區中持續記憶體的效能及/或可信度特性、及/或儲存區內部之可用容量。
於操作358,管理器自儲存區容量產生一或多個容積區。此等於該圖中顯示為圓柱體。以該圖中容積區「v1」為例,其係由來自儲存區P6的限度組成,該儲存區為一致記憶體存取(UMA)交插儲存區,其含有來自系統內部全部非依電性DIMM(NVDIMM)的區域。同理,容積區「v2」使用來自儲存區P2的單一限度,具有NUMA效能特性,及其容錯域為單一NVDIMM。於資料中心環境中,來自個別節 點的容積區可經組合及管理為具有特定QoS特性的單一來源。舉例言之,雲端服務提供者(CSP)可提供兩型虛擬機情況,一者具有高度可信的持續儲存裝置及一者具有高效能儲存裝置。此等案例分別可自儲存區P10及P1形成。CSP可提供該等節點使得預期容量於各個QoS儲存區為可用。
於操作360,容積區暴露至作業系統及應用程式為持續記憶體或區塊裝置。於操作312,容積區分配給具有匹配特性的應用程式。舉例言之,「v1」分配給非為NUMA優化的工作負荷。
於若干實施例中,軟體界定資料中心可導入遞增程度的自動化如下:(1)自動化容積區產生:回應於工作負荷需求可動態地產生及催毀QoS容積區。因該等容積區為持續性,故當擁有容積區的應用程式永久性報廢時才能被刪除;(2)自動化儲存區產生:回應於工作負荷需求QoS儲存區可動態擴張及/或收縮;(3)當新型QoS儲存區可被導入作為新型工作負荷出現時可達到最高層級的自動化。舉例言之,要求更多可預測儲存頻寬的應用之需要可藉跨據一整個持續性DIMM的容積區而予滿足。具有該QoS特性的一儲存區不在原先列表中(參考圖3A),但可根據此處討論之技術界定。
再者,持續記憶體為新穎程式規劃模型正在緩慢由業界接受。借助於若干此處描述之實施例,應用程式可自持續記憶體取得最多。又,此等實施例可用於確保持續 記憶體技術嵌合軟體界定儲存裝置(SDS)基礎架構或視野內部,結果導致更為動態的資料中心。
如前文討論,非依電性記憶體當導入CPU記憶體階層內部時提供顯著配置彈性。又復,NVM DIMM可分割成依電性區域及持續性區域。此等區域可以各種交插或RAS模式操作以配合工作負荷表現及使用者需求。初始NVM配置可由系統基本輸入/輸出系統(BIOS)執行,原因在於其暗示CPU位址映射關係故。然而,BIOS係不在瞭解使用者需要或特徵化工表現的位置。為了達成此項目的,若干實施例:(a)使得使用者能完整利用由已分割的NVM DIMM提供的彈性;(b)最小化因BIOS配置錯誤造成的使用者資料遺失機會;及/或(c)即便於主機板故障之情況下,使得使用者能取回儲存於DIMM上的持續性資料。
但今日上市的NVM DIMM並不提供此種程度的彈性,故至目前為止業界未曾遭逢此項問題。舉例言之,第1型NVM DIMM含有由非依電性(NV)記憶體支持的DRAM。DRAM直接映射於CPU位址空間,但此等DIMM無法用作為NV儲存裝置。又,第3型NVM DIMM顯然類似區塊裝置,但無法用於依電性模式,此等DIMM上的NVM無法直接映射於CPU位址空間。據此,當製造商導入提供巨量彈性的下一代NVM技術時NVM DIMM的配置成問題。為了達成此項目的,若干實施例可給此種即將到臨的NVM技術提供彈性。
若干目前具體實施例包括DIMM串列存在檢測(SPD)唯讀記憶體(ROM)、碟片分割區資料、及RAID元資料。以下三表描述描述實施例與目前實施例各自之差異:
圖4A顯示依據一實施例NVM管理架構之一資料中心層級視圖。若干組件描述如後。顯示於相當底端的各個NVM DIMM可被分割成依電性及持續性/非依電性區域。此等二區域係映射於CPU位址空間。各個DIMM也含有兩個管理分割區P1及P2。P1及P2為透過專用管理(例如,信箱)介面可存取。信箱介面具體實施於NVM控制器。管理分割區為可存取,即便NVM DIMM未經以其它方式配置亦復如此,亦即,依電性及持續性區域係不映射於CPU位址空間。
BIOS以及NVM驅動裝置運用信箱介面以存取管理分割區。NVM驅動裝置借助於高階配置及功率介面(ACPI)規格(例如,修訂版5.0a,2013年11月13日)表及/或統一可擴延韌體介面(UEFI)規格(例如,修訂版2.4,2013年7月公告)枚舉NVM DIMM。舉例言之,該等表格載明DIMM 族群、配置選項/限制等。
本地管理應用組件藉發送訊息給NVM驅動裝置而存取管理分割區2。各型檔案系統層疊於NVM驅動裝置頂上。NVM驅動裝置與檔案系統一起提供了標準區塊及檔案系統應用程式規劃介面(API)給舊式應用程式。另一方面,持續記憶體(或PM)知曉應用程式(係指已經修改而瞭解記憶體可能是持續性及定位與重複使用先前儲存於持續記憶體的內容之軟體)能夠繞過驅動裝置層,及透過負荷/儲存指令直接存取NVM,例如,用於提高效能。
於資料中心環境中,在管理軟體層的工作負荷排程器知曉哪些應用程式係在各個系統上跑,因此橫跨依電性及持續性區域等有關NVM DIMM的分割區可做建議。
圖4B例示依據一實施例兩個管理分割區的方塊圖。即便參考圖4B只討論兩個管理分割區,但於各種實施例中,可運用更多管理分割區。更明確言之,管理分割區2(P2)維持以下三表:(1)NV DIMM電流配置,由BIOS儲存;(2)NV DIMM配置請求,由管理應用程式儲存;及(3)NV DIMM配置回應,由BIOS儲存。
管理分割區1(P1)維持NV DIMM電流配置,其也用作為最末已知良好(LKG)配置。NVM控制器限制存取P1,使得BIOS能夠讀/寫到P1,但OS驅動裝置/應用程式則否。如此確保有錯的/惡意OS軟體無法直接抹除LKG。
圖4C例示依據一實施例配置記憶體之方法的流程圖。於一個實施例中,參考圖1-4B及圖5-7討論的各種組 件可運用以從事參考圖4C討論的操作中之一或多者。於一實施例中,圖4C之一或多個操作係實施於邏輯(例如,韌體),諸如圖1之邏輯150及/或控制器120及/或參考其它圖式討論的其它記憶體控制器。
參考圖1至圖4C,第一,NVM配置/重新配置包括下列:(a)NVM管理機臺查詢位在各個系統上的管理應用程式有關NVM族群及配置選項之資訊;(b)管理應用程式自ACPI表及P2中之表取回此項資訊;(c)基於NVM配置資訊、來自使用者的輸入、來自工作負荷排程器的線索、及其它管理組件,NVM管理機臺可針對各個系統計算下一個NVM配置及通訊給管理應用程式。第二,管理應用程式儲存新配置於NVM DIMM管理分割區2,如圖4C顯示。第三,當重新啟動時,BIOS自NVM DIMM管理分割區2讀取新配置請求及處理之。若無新請求,則BIOS將施加來自管理分割區1的LKG配置。若BIOS能夠准許請求,則其重新配置DIMM及將此配置儲存於管理分割區。若BIOS不能准許請求,則其試圖使用LKG配置啟動。若LKG配置無法工作(例如,因DIMM故障故),則BIOS將以NVM非作用態模式啟動。針對每個已處理的請求,BIOS將回應儲存於管理分割區。第四,回應係由管理應用程式及NVM管理機臺消耗。
以主機板故障為例,使用者可將NVM DIMM實體上遷移到(例如,相同的)置換系統。新系統上的BIOS應用LKG配置及重新建構位址映射關係來匹配故障系統。若使用者以不正確順序安裝DIMM,則BIOS能夠以NVM非作 用態模式啟動及指導使用者朝向正確配置。
若干實施例之運用確保了終端使用者能夠探勘由NV DIMM提供的彈性。此點在資料中心以及客端市場兩者可能皆要緊。於資料中心環境中,NVM DIMM能夠配置/重新配置以匹配工作負荷、終端使用者服務層級合約(SLA)、或CSP總擁有成本(TCO)。於關鍵任務環境中,此等技術可用以組配熱添加NVM DIMM等。又,有關NVDIMM技術及更概略地本地儲存裝置的主要擔憂中之一者為當系統崩潰時使用者資料喪失的可能。為了解決此項問題,有些實施例提供緩和該等擔憂之辦法。
舉例言之,例如參考圖4A-4C之討論,若干實施例操作如下:1.BIOS將各種NVM配置選項及限制通訊給管理軟體層;2.管理軟體層判定在由BIOS規定的限制之下的最佳NVM配置。於此處理期間管理軟體可運用複雜演算法及使用者輸入;3.管理軟體透過位在各個NVM DIMM上的專用分割區而將期望配置通訊給BIOS;4.BIOS處理來自管理軟體的請求;a.若無新請求,則BIOS將應用最末已知良好(LKG)配置。LKG配置儲存於NVM DIMM上的另一個專用分割區上。LKG分割區只能由BIOS更新;b.若BIOS能夠准許該請求,則其重新配置DIMM且 提升此種配置為最末已知良好(LKG)配置;c.若BIOS不能准許該請求,則其落回LKG配置或NVM不作用態模式;d.針對每個已處理的請求,BIOS將回應儲存於NVM DIMM。回應係由管理軟體消耗;及/或5.若主機板不合格,則DIMM移動至類似的主機板,於該處BIOS可自於各個DIMM的LKG分割區讀取LKG配置,及設定NVM位址映射關係匹配前一系統。儲存於DIMM上的使用者資料現在可使用標準用具取回。
圖5例示依據一實施例一計算系統500的方塊圖。計算系統500可包括透過一互連網路(或匯流排)504通訊的一或多個中央處理單元(CPU)502或處理器。處理器502可包括通用處理器、網路處理器(其處理透過電腦網路503通訊的資料)、應用程式處理器(諸如胞狀電話、智慧型電話等中使用者)、或其它類型的處理器(包括精簡指令集電腦(RISC)處理器或複雜指令集電腦(CISC))。可運用各型電腦網路503包括有線網路(例如,乙太網路、十億位元網路、光纖網路等)或無線網路(諸如胞狀、3G(第三代胞狀電話技術或第三代無線格式(UWCC))、5G、低功率內嵌式(LPE)等)。再者,處理器502可具有單或多核心設計。具有多核心設計的處理器502可將不同類型的處理器核心整合在相同積體電路(IC)晶粒上。又,具有多核心設計的處理器502可實施為對稱性或非對稱性多處理器。
於一實施例中,處理器502中之一或多者可與圖1 之處理器102相同或相似。舉例言之,處理器502中之一或多者可包括核心106及/或快取記憶體108中之一或多者。又,參考圖1-4討論的操作可由系統500之一或多個組件執行。
一晶片組506也可與互連網路504通訊。晶片組506可包括一圖形記憶體控制中樞器(GMCH)508。GMCH 508可包括與記憶體114通訊的一記憶體控制器510(於一實施例中,其可與圖1之記憶體控制器120相同或相似)。系統500也可包括於各種位置(諸如圖5中顯示者,但可於系統500內的其它位置(圖中未顯示))的邏輯150(例如,耦合至NVM 152)。記憶體114可儲存資料,包括由CPU 502或涵括於計算系統500中之任何其它裝置執行的指令序列。於本發明之一個實施例中,記憶體114可包括一或多個依電性儲存(或記憶體)裝置諸如隨機存取記憶體(RAM)、動態RAM(DRAM)、同步DRAM(SDRAM)、靜態RAM(SRAM)、或其它類型的儲存裝置。也可運用非依電性記憶體諸如硬碟、快閃記憶體、位元組可定址3D交叉點記憶體(諸如PCM)、電阻式隨機存取記憶體、NAND記憶體、NOR記憶體及STTRAM。額外裝置可透過互連網路504通訊,諸如多個CPU及/或多個系統記憶體。
GMCH 508也可包括一圖形介面514其與一圖形加速器516通訊。於本發明之一個實施例中,圖形介面514可透過加速圖形埠(AGP)或周邊組件互連(PCI)(或PCI快速(PCIe)介面)與圖形加速器516通訊。於本發明之一實施例 中,一顯示器517(諸如平板顯示器、觸控螢幕等)可透過例如一信號轉換器而與圖形介面514通訊,該信號轉換器將儲存於一儲存裝置諸如視訊記憶體或系統記憶體內的一影像之一數位表示型態轉譯成由該顯示器解譯與顯示的顯示信號。由顯示裝置產生的顯示信號在由顯示器517解譯及隨後顯示在顯示器517上之前可通過各種控制裝置。
一中樞器介面518可允許GMCH 508與輸入/輸出控制中樞器(ICH)520通訊。ICH 520可給與計算系統500通訊的I/O裝置提供一介面。ICH 520可經由一周邊橋接器(或控制器)524而與一匯流排522通訊,諸如周邊組件互連(PCI)橋接器、通用串列匯流排(USB)控制器、或其它類型的周邊橋接器或控制器。橋接器524可提供CPU 502與周邊裝置間之一資料路徑。可運用其它類型的拓樸結構。又,多個匯流排例如可透過多個橋接器或控制器而與ICH 520通訊。再者,於各種實施例中,與ICH 520通訊的其它周邊裝置可包括整合式驅動電子裝置(IDE)或小型電腦系統介面(SCSI)硬碟驅動裝置、USB埠、鍵盤、滑鼠、並列埠、串列埠、軟碟驅動裝置、數位輸出支援(例如,數位視訊介面(DVI))、或其它裝置。
匯流排522可與一音訊裝置526、一或多個碟片驅動裝置528、及一網路介面裝置530(其例如透過有線或無線介面而與電腦網路503通訊)通訊。如圖顯示,網路介面裝置530可耦合至一天線531用以與電腦網路503無線地通訊(例如,透過美國電機及電子工程師學會(IEEE)802.11介面 (包括IEEE 802.11a/b/g/n等)、胞狀介面、3G、5G、LPE等)。其它裝置可透過匯流排522通訊。又,於若干實施例中,各種組件(諸如網路介面裝置530)可與GMCH 508通訊。此外,處理器502及GMCH 508可組合而形成單一晶片。又復,於其它實施例中,圖形加速器516可涵括於GMCH 508內部。
又復,計算系統500可包括依電性及/或非依電性記憶體(或儲存裝置)。舉例言之,非依電性記憶體可包括下列中之一或多者:唯讀記憶體(ROM)、可規劃ROM(PROM)、可抹除PROM(EPROM)、電氣EPROM(EEPROM)、碟片驅動裝置(例如,528)、軟碟、光碟ROM(CD-ROM)、數位影音碟(DVD)、快閃記憶體、磁光碟、或能夠儲存電子資料(例如,包括指令)的其它類型的非揮發性機器可讀取媒體。
圖6例示依據一實施例配置成點對點(PtP)配置的一計算系統600。更明確言之,圖6顯示一系統於該處處理器、記憶體、及輸入/輸出裝置係藉多個點對點介面互連。參考圖1-5討論的操作可由系統600的一或多個組件進行。
如圖6中例示,系統600可包括數個處理器,但為求清晰其中只顯示兩個,處理器602及604。處理器602及604可各自包括一本地記憶體控制器中樞器(MCH)606及608以使其能與記憶體610及612通訊。記憶體610及/或612可儲存各種資料,諸如參考圖1及/或圖5之記憶體114或NVM 152討論者。又,於若干實施例中,MCH 606及608可包括圖1之記憶體控制器120及/或邏輯150。
於一實施例中,處理器602及604可以是參考圖5討論的處理器502中之一者。處理器602及604可分別地使用點對點(PtP)介面電路616及618而透過PtP介面614交換資料。又,處理器602及604可使用點對點介面電路626、628、630、及632透過個別PtP介面622及624而各自與一晶片組620交換資料。晶片組620可例如,使用PtP介面電路637透過一高效能圖形介面636而與一高效能圖形電路634交換資料。如參考圖5討論,於若干實施例中,圖形介面636可耦合至一顯示裝置(例如,顯示器517)。
如圖6中顯示,圖1之核心106及/或快取記憶體108中之一或多者可位在處理器602及604內部。然而,其它實施例可存在於圖6之系統600內部的其它電路、邏輯單元、或裝置。又復,其它實施例可分散遍布圖6中例示的數個電路、邏輯單元、或裝置。
晶片組620可使用一PtP介面電路641與一匯流排640通訊。匯流排640可具有與其通訊的一或多個裝置,諸如匯流排橋接器642及I/O裝置643。透過一匯流排644,匯流排橋接器642可與其它裝置通訊,諸如鍵盤/滑鼠645、通訊裝置646(諸如數據機、網路介面裝置、或其它通訊裝置其可與電腦網路503通訊,如參考網路介面裝置530討論,例如包括透過天線531通訊)、音訊I/O裝置、及/或資料儲存裝置648。資料儲存裝置648可儲存代碼649其可由處理器602及/或604執行。
於若干實施例中,此處討論之組件中之一或多者 可在單晶片系統(SOC)裝置上實施。圖7例示依據一實施例一SOC封裝的方塊圖。如圖7中例示,SOC 702包括一或多個中央處理單元(CPU)核心720、一或多個圖形處理單元(GPU)核心730、一輸入/輸出(I/O)介面740、及一記憶體控制器742(其可與記憶體控制器120及/或邏輯150相似或相同)。SOC封裝702之各種組件可耦合至互連結構或匯流排,諸如此處參考其它圖式之討論。又,SOC封裝702可包括更多或更少的組件,諸如此處參考其它圖式之討論。又,SOC封裝702之各個組件可包括一或多個其它組件,諸如此處參考其它圖式之討論。於一個實施例中,SOC封裝702(及其組件)係設在一包括可由一處理器執行的指令之機器可讀取非暫態儲存媒體積體電路(IC)晶粒上,例如,其係封裝成單一半導體裝置。
如於圖7中例示,SOC封裝702透過記憶體控制器742耦合至一記憶體760(其可類似或與如此處參考其它圖式之討論的記憶體相同)。於一實施例中,記憶體760(或其部分)能夠整合至SOC封裝702上。
I/O介面740,例如可透過一互連結構及/或匯流排諸如此處參考其它圖式討論者,而耦合至一或多個I/O裝置770。I/O裝置770可包括鍵盤、滑鼠、觸控板、顯示器、影像/視訊擷取裝置(諸如相機或攝影機/視訊紀錄器)、觸控螢幕、揚聲器等中之一或多者。又復,於一實施例中,SOC封裝702可包括/整合邏輯150及/或記憶體控制器120。另外,邏輯150及/或記憶體控制器120可設在SOC封裝702外部 (亦即呈一離散邏輯)。
下列實例係有關於進一步實施例。實施例1包括一種設備其包含:記憶體控制器邏輯,耦合至非依電性記憶體,用以至少部分基於一或多個屬性而將該非依電性記憶體配置成多個分割區,其中一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者用以包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。實施例2包括實施例1之設備,其中該非依電性記憶體係用以映射入一處理器的位址空間以使得該處理器直接地定址該非依電性記憶體。實施例3包括實施例1之設備,其中該等一或多個屬性係用以包含下列中之一或多者:一致記憶體存取(UMA)、非一致記憶體存取(NUMA)、交插類型、通訊通道寬度或速度、容錯域類型、或鏡射狀態。實施例4包括實施例1之設備,其中該等一或多個容積區係用以橫跨系統復置或功率損耗而維持其內容。實施例5包括實施例1之設備,其中該非依電性記憶體係用以包含一或多個非依電性雙排型記憶體模組(DIMM)。實施例6包括實施例1之設備,其中該非依電性記憶體係用以包含下列中之一或多者:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)、快閃記憶體、自旋矩轉傳輸隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3D交叉點記憶體、及相變記憶體(PCM)。實施例7包括實施例1之設備,其中一或多個處理器 核心係耦合至該記憶體控制器邏輯用以存取儲存於該非依電性記憶體中之資料。實施例8包括實施例1之設備,其中該記憶體控制器邏輯、一或多個處理器核心、及該非依電性記憶體中之一或多者係在一相同積體電路晶粒上。
實施例9包括一種設備其包含:記憶體控制器邏輯,耦合至非依電性記憶體(NVM)雙排型記憶體模組(DIMM),用以將該NVM DIMM配置成一持續性區域及一依電性區域,其中該NVM DIMM係用以映射入一處理器的位址空間以使得該處理器直接地定址該NVM DIMM,其中該NVM DIMM係利用至少兩個管理分割區,其中即便於該NVM DIMM已經映射入該處理器的位址空間之前該等管理分割區係可被存取。實施例10包括實施例9之設備,其中該等管理分割區係透過一管理介面而可被存取。實施例11包括實施例10之設備,其中一基本輸入/輸出系統(BIOS)或一NVM驅動裝置中之一或多者係利用該管理介面以存取該等管理分割區。實施例12包括實施例11之設備,其中NVM驅動裝置係用以至少部分基於得自一高階配置及功率介面(ACPI)的資訊而利用該管理介面。實施例13包括實施例9之設備,其中該等至少兩個管理分割區中之一者係用以儲存對應於該NVM DIMM的一最末已知良好配置之資訊。實施例14包括實施例13之設備,其中儲存對應於該最末已知良好配置之資料的一分割區係被保護不受作業系統傷害。實施例15包括實施例13之設備,其中一基本輸入/輸出系統(BIOS)係用以存取儲存於其儲存對應於該最末已知良好配 置之資料的一分割區內的資料。實施例16包括實施例13之設備,其中管理軟體係用以利用該等至少兩個管理分割區中之一者以通訊NVM配置資料給一BIOS。實施例17包括實施例13之設備,其中,於主機板故障之情況下,該NVM DIMM係至少部分基於該最末已知良好配置資訊而被遷移至一置換系統。實施例18包括實施例9之設備,其中該NVM DIMM係用以包含下列中之一或多者:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)、快閃記憶體、自旋矩轉傳輸隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3D交叉點記憶體、及相變記憶體(PCM)。實施例19包括實施例9之設備,其中一或多個處理器核心係耦合至該記憶體控制器邏輯用以存取儲存於該NVM DIMM中之資料。
實施例20包括一種方法包含:至少部分基於一或多個屬性將非依電性記憶體配置成多個分割區,其中一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者用以包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。實施例21包括實施例20之方法,其進一步包含將該非依電性記憶體映射入一處理器的位址空間以使得該處理器直接地定址該非依電性記憶體。實施例22包括實施例20之方法,其中該等一或多個屬性係用以包含下列中之一或多者:一致記憶體存取(UMA)、非一致記憶體存取(NUMA)、交插類型、通訊通道 寬度或速度、容錯域類型、或鏡射狀態。
實施例23包括一種方法包含:將一NVM DIMM配置成一持續性區域及一依電性區域,其中該NVM DIMM係被映射入一處理器的位址空間以使得該處理器直接地定址該NVM DIMM,其中該NVM DIMM係利用至少兩個管理分割區,其中即便於該NVM DIMM已經映射入該處理器的位址空間之前該等管理分割區係可被存取。實施例24包括實施例23之方法,其中該等管理分割區係透過一管理介面而可被存取。實施例25包括實施例24之設備,其中一基本輸入/輸出系統(BIOS)或一NVM驅動裝置中之一或多者係利用該管理介面以存取該等管理分割區。
實施例26包括一種系統包含:一處理器,具有一或多個處理器核心;及記憶體控制器邏輯,耦合至該處理器及非依電性記憶體,用以至少部分基於一或多個屬性而將該非依電性記憶體配置成多個分割區,其中一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者用以包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。實施例27包括實施例26之系統,其中該非依電性記憶體係用以映射入一處理器的位址空間以使得該處理器直接地定址該非依電性記憶體。實施例28包括實施例26之系統,其中該等一或多個屬性係用以包含下列中之一或多者:一致記憶體存取(UMA)、非一致記憶體存取(NUMA)、交插類型、通訊通道寬度或速度、容 錯域類型、或鏡射狀態。
實施例29包括一種系統包含:一處理器具有一或多個處理器核心;及記憶體控制器邏輯,耦合至該處理器及一非依電性記憶體(NVM)雙排型記憶體模組(DIMM),用以將該NVM DIMM配置成一持續性區域及一依電性區域,其中該NVM DIMM係用以映射入一處理器的位址空間以使得該處理器直接地定址該NVM DIMM,其中該NVM DIMM係利用至少兩個管理分割區,其中即便於該NVM DIMM已經映射入該處理器的位址空間之前該等管理分割區係可被存取。實施例30包括實施例29之系統,其中該等管理分割區係透過一管理介面而可被存取。實施例31包括實施例30之系統,其中一基本輸入/輸出系統(BIOS)或一NVM驅動裝置中之一或多者係利用該管理介面以存取該等管理分割區。
實施例32包括一種設備包含用以執行如任何先前實施例中陳述之方法。
實施例33包括機器可讀取儲存裝置包括機器可讀取指令,其當執行時用以實施如任何先前實施例中陳述之方法或實現如任何先前實施例中陳述之設備。
於各種實施例中,此處討論的該等操作,例如參考圖1-7,可實現為硬體(例如,電路)、軟體、韌體、微碼、或其組合,其可提供為電腦程式產品,例如包括具體有形(例如,非暫態)機器可讀取或電腦可讀取媒體於其上儲存有指令(或軟體程序)用以規劃一電腦而執行此處討論之方 法。又,「邏輯」一詞可包括例如軟體、硬體、或軟體與硬體的組合。機器可讀取媒體可包括儲存裝置,諸如參考圖1-7討論者。
此外,此等具體有形電腦可讀取媒體可被下載為一電腦程式產品,其中該程式經由一通訊鏈路(例如,匯流排、數據機、或網路連結)藉資料信號(諸如於載波或其它傳播媒體)可自一遠端電腦(例如,伺服器)被移轉至一請求電腦(例如,客端裝置)。
於說明書中述及「一個實施例」或「一實施例」表示連結該實施例描述的特定特色、結構、或特性可涵括於至少一個具體實施例中。片語「於一個實施例中」出現於說明書中各處可以或可非全部皆係指相同的實施例。
又,於詳細說明部分及申請專利範圍中,可使用術語「耦合」及「連結」連同其衍生詞。於若干實施例中,「連結」可用以指示二或多個元件係彼此直接實體或電氣接觸。「耦合」可表示二或多個元件係直接實體或電氣接觸。然而,「耦合」也可表示二或多個元件可能並非為彼此直接接觸,但仍可彼此協作或互動。
如此,雖然已經以結構特色及/或方法動作的特定語言描述實施例,但須瞭解本案所請主旨可不僅限於所描述的特定特色或動作。反而,該等特定特色或動作係揭示為執行本案所請主旨之樣本形式。
350‧‧‧方法
352-360‧‧‧操作

Claims (25)

  1. 一種設備,其包含:記憶體控制器邏輯,其耦合至非依電性記憶體,用以至少部分基於一或多個屬性而將該非依電性記憶體配置成多個分割區,其中對一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者用以包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。
  2. 如請求項1之設備,其中該非依電性記憶體係用以映射入一處理器的位址空間以使得該處理器直接地定址該非依電性記憶體。
  3. 如請求項1之設備,其中該等一或多個屬性係用以包含下列中之一或多者:一致記憶體存取(UMA)、非一致記憶體存取(NUMA)、交插類型、通訊通道寬度或速度、容錯域之類型、或鏡射狀態。
  4. 如請求項1之設備,其中該等一或多個容積區係用以橫跨系統復置或功率損耗而維持其內容。
  5. 如請求項1之設備,其中該非依電性記憶體係用以包含一或多個非依電性雙排型記憶體模組(DIMM)。
  6. 如請求項1之設備,其中該非依電性記憶體係用以包含下列中之一或多者:奈米線記憶體、鐵電電晶體隨機存 取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)、快閃記憶體、自旋矩轉傳輸隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3D交叉點記憶體、及相變記憶體(PCM)。
  7. 如請求項1之設備,其中一或多個處理器核心係耦合至該記憶體控制器邏輯以存取儲存於該非依電性記憶體中之資料。
  8. 如請求項1之設備,其中該記憶體控制器邏輯、一或多個處理器核心、及該非依電性記憶體中之一或多者係在一相同積體電路晶粒上。
  9. 一種設備,其包含:記憶體控制器邏輯,其耦合至一非依電性記憶體(NVM)雙排型記憶體模組(DIMM),用以將該NVM DIMM配置成一持續性區域及一依電性區域,其中該NVM DIMM係用以映射入一處理器的位址空間以使得該處理器去直接地定址該NVM DIMM,其中該NVM DIMM係要利用至少兩個管理分割區,其中即便於該NVM DIMM已經被映射入該處理器的位址空間之前該等管理分割區係可被存取。
  10. 如請求項9之設備,其中該等管理分割區係透過一管理介面而可被存取。
  11. 如請求項10之設備,其中一基本輸入/輸出系統(BIOS)或一NVM驅動裝置中之一或多者係要利用該管理介面以存取該等管理分割區。
  12. 如請求項11之設備,其中NVM驅動裝置係用以至少部分基於得自一高階配置及功率介面(ACPI)的資訊而利用該管理介面。
  13. 如請求項9之設備,其中該等至少兩個管理分割區中之一者係用以儲存對應於該NVM DIMM的一最末已知良好配置之資訊。
  14. 如請求項13之設備,其中儲存對應於該最末已知良好配置之資料的一分割區係被保護不受作業系統傷害。
  15. 如請求項13之設備,其中一基本輸入/輸出系統(BIOS)係用以存取儲存於一分割區內的資料,而該分割區儲存對應於該最末已知良好配置之資料。
  16. 如請求項13之設備,其中管理軟體係用以利用該等至少兩個管理分割區中之一者以傳遞NVM配置資料給一BIOS。
  17. 如請求項13之設備,其中,於主機板故障之情況下,該NVM DIMM係至少部分基於該最末已知良好配置資訊而被遷移至一置換系統。
  18. 如請求項9之設備,其中該NVM DIMM係用以包含下列中之一或多者:奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、磁阻式隨機存取記憶體(MRAM)、快閃記憶體、自旋矩轉傳輸隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體、位元組可定址3D交叉點記憶體、及相變記憶體(PCM)。
  19. 如請求項9之設備,其中一或多個處理器核心係耦合至 該記憶體控制器邏輯以存取儲存於該NVM DIMM中之資料。
  20. 一種方法,其包含:至少部分基於一或多個屬性將非依電性記憶體配置成多個分割區,其中對一應用程式或作業系統所可見的一或多個容積區係自該等多個分割區中之一或多者形成,其中該等一或多個容積區中之各者包含具有至少一個與該等一或多個屬性相似的屬性的該等多個分割區中之一或多者。
  21. 如請求項20之方法,其進一步包含將該非依電性記憶體映射入一處理器的位址空間以使得該處理器去直接地定址該非依電性記憶體。
  22. 如請求項20之方法,其中該等一或多個屬性係用以包含下列中之一或多者:一致記憶體存取(UMA)、非一致記憶體存取(NUMA)、交插類型、通訊通道寬度或速度、容錯域之類型、或鏡射狀態。
  23. 一種方法,其包含:將一NVM DIMM配置成一持續性區域及一依電性區域,其中該NVM DIMM係被映射入一處理器的位址空間以使得該處理器去直接地定址該NVM DIMM,其中該NVM DIMM係要利用至少兩個管理分割區,其中即便於該NVM DIMM已經映射入該處理器的位址空間之前該 等管理分割區係可被存取。
  24. 如請求項23之方法,其中該等管理分割區係透過一管理介面而可被存取。
  25. 如請求項24之方法,其中一基本輸入/輸出系統(BIOS)或一NVM驅動裝置中之一或多者係要利用該管理介面以存取該等管理分割區。
TW104138576A 2014-12-22 2015-11-20 分配與配置持續記憶體之技術 TWI567551B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US14/580,125 US10126950B2 (en) 2014-12-22 2014-12-22 Allocating and configuring persistent memory

Publications (2)

Publication Number Publication Date
TW201636847A true TW201636847A (zh) 2016-10-16
TWI567551B TWI567551B (zh) 2017-01-21

Family

ID=56129384

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104138576A TWI567551B (zh) 2014-12-22 2015-11-20 分配與配置持續記憶體之技術

Country Status (5)

Country Link
US (3) US10126950B2 (zh)
KR (1) KR102519904B1 (zh)
CN (1) CN107077303B (zh)
TW (1) TWI567551B (zh)
WO (1) WO2016105790A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022825A (zh) * 2017-03-24 2022-09-06 三星电子株式会社 任务关键数据通信系统中管理短数据服务的方法和用户设备

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10126950B2 (en) 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
US9740603B2 (en) * 2015-08-06 2017-08-22 International Business Machines Corporation Managing content in persistent memory modules when organization of the persistent memory modules changes
US20170083254A1 (en) * 2015-09-19 2017-03-23 Qualcomm Incorporated Secure transaction management techniques
US9942631B2 (en) * 2015-09-25 2018-04-10 Intel Corporation Out-of-band platform tuning and configuration
US10169242B2 (en) * 2015-10-16 2019-01-01 SK Hynix Inc. Heterogeneous package in DIMM
US20170109074A1 (en) * 2015-10-16 2017-04-20 SK Hynix Inc. Memory system
US10180796B2 (en) * 2015-10-16 2019-01-15 SK Hynix Inc. Memory system
US10191664B2 (en) * 2015-10-16 2019-01-29 SK Hynix Inc. Memory system
US11138120B2 (en) 2015-10-16 2021-10-05 SK Hynix Inc. Memory system
US10810144B2 (en) 2016-06-08 2020-10-20 Samsung Electronics Co., Ltd. System and method for operating a DRR-compatible asynchronous memory module
US10210012B2 (en) 2016-06-27 2019-02-19 Intel Corporation Techniques for persistent memory virtualization
US10034407B2 (en) * 2016-07-22 2018-07-24 Intel Corporation Storage sled for a data center
US10515006B2 (en) 2016-07-29 2019-12-24 Samsung Electronics Co., Ltd. Pseudo main memory system
US10025714B2 (en) * 2016-09-30 2018-07-17 Super Micro Computer, Inc. Memory type range register with write-back cache strategy for NVDIMM memory locations
US9794366B1 (en) 2016-10-19 2017-10-17 Red Hat, Inc. Persistent-memory management
US11243782B2 (en) 2016-12-14 2022-02-08 Microsoft Technology Licensing, Llc Kernel soft reset using non-volatile RAM
US10180793B2 (en) 2017-01-31 2019-01-15 Hewlett Packard Enterprise Development Lp Performance attributes for memory
US10318175B2 (en) 2017-03-07 2019-06-11 Samsung Electronics Co., Ltd. SSD with heterogeneous NVM types
US10901894B2 (en) * 2017-03-10 2021-01-26 Oracle International Corporation Allocating and accessing memory pages with near and far memory blocks from heterogeneous memories
US10824371B2 (en) 2017-06-19 2020-11-03 Micron Technology, Inc. Managed NAND data compression
TWI645295B (zh) * 2017-06-20 2018-12-21 慧榮科技股份有限公司 資料儲存裝置與資料儲存方法
TWI617917B (zh) * 2017-08-28 2018-03-11 慧榮科技股份有限公司 用以優化資料儲存裝置之資料儲存方法及其資料儲存裝置
US11341490B2 (en) * 2017-10-11 2022-05-24 International Business Machines Corporation Carbon footprint blockchain network
EP3673378A4 (en) * 2017-10-31 2021-04-07 Hewlett-Packard Development Company, L.P. CONFIGURATION OF MEMORY MODULES WITH DOUBLE ROW OF NON-VOLATILE CONNECTIONS
US10776267B2 (en) * 2017-12-11 2020-09-15 Red Hat, Inc. Mirrored byte addressable storage
US10579517B2 (en) 2018-03-19 2020-03-03 Dell Products, Lp System and method for providing per channel frequency optimization in a double data rate memory system
US10635311B2 (en) * 2018-04-25 2020-04-28 Dell Products, L.P. Information handling system with reduced reset during dual in-line memory module goal reconfiguration
US11157319B2 (en) * 2018-06-06 2021-10-26 Western Digital Technologies, Inc. Processor with processor memory pairs for improved process switching and methods thereof
JP7071640B2 (ja) * 2018-09-20 2022-05-19 富士通株式会社 演算処理装置、情報処理装置及び演算処理装置の制御方法
TWI688859B (zh) * 2018-12-19 2020-03-21 財團法人工業技術研究院 記憶體控制器與記憶體頁面管理方法
US10896142B2 (en) * 2019-03-29 2021-01-19 Intel Corporation Non-volatile memory out-of-band management interface for all host processor power states
US10996893B2 (en) 2019-06-10 2021-05-04 Microsoft Technology Licensing, Llc Non-volatile storage partition identifier
US11113188B2 (en) 2019-08-21 2021-09-07 Microsoft Technology Licensing, Llc Data preservation using memory aperture flush order
US20210389885A1 (en) * 2020-06-16 2021-12-16 Western Digital Technologies, Inc. Fast Recovery For Persistent Memory Region (PMR) of a Data Storage Device
US11544186B2 (en) 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11429545B2 (en) * 2020-07-16 2022-08-30 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
US11544185B2 (en) 2020-07-16 2023-01-03 Silicon Motion, Inc. Method and apparatus for data reads in host performance acceleration mode
CN113946278A (zh) * 2020-07-16 2022-01-18 慧荣科技股份有限公司 主机效能加速模式的数据读取方法及装置
US20220114025A1 (en) * 2020-10-13 2022-04-14 Dell Products L.P. Dynamic memory allocation based on workload characterization and optimization
CN115220639A (zh) 2021-04-15 2022-10-21 伊姆西Ip控股有限责任公司 管理存储系统的方法、电子设备和计算机程序产品
US20240004562A1 (en) * 2022-06-30 2024-01-04 Advanced Micro Devices, Inc. Dynamic memory reconfiguration

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080320209A1 (en) 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
US6601212B1 (en) 2000-03-29 2003-07-29 Hewlett-Packard Development Company, Lp. Method and apparatus for downloading firmware to a non-volatile memory
EP1295293A2 (en) * 2000-06-09 2003-03-26 Koninklijke Philips Electronics N.V. Method of implicit partitioning the storage space available on a storage medium
US7069431B2 (en) * 2001-07-31 2006-06-27 Lenovo ( Singapore) Pte Ltd. Recovery of a BIOS image
US7370166B1 (en) * 2004-04-30 2008-05-06 Lexar Media, Inc. Secure portable storage device
ES2317039T3 (es) * 2004-07-27 2009-04-16 Telecom Italia S.P.A. Transmision de contenidos multimedia a una pluralidad de usuarios moviles.
US20070132049A1 (en) * 2005-12-12 2007-06-14 Stipe Barry C Unipolar resistance random access memory (RRAM) device and vertically stacked architecture
US7620784B2 (en) * 2006-06-09 2009-11-17 Microsoft Corporation High speed nonvolatile memory device using parallel writing among a plurality of interfaces
US8074017B2 (en) * 2006-08-11 2011-12-06 Intel Corporation On-disk caching for raid systems
US7886190B2 (en) 2006-09-29 2011-02-08 Intel Corporation System and method for enabling seamless boot recovery
WO2008069058A1 (ja) * 2006-12-08 2008-06-12 Nec Corporation 無線ネットワーク性能監視方法、無線通信システム、装置及びそのプログラム
US8874831B2 (en) * 2007-06-01 2014-10-28 Netlist, Inc. Flash-DRAM hybrid memory module
EP2271987A4 (en) * 2008-05-01 2011-04-20 Hewlett Packard Development Co STORING CONTROL POINT DATA IN NON-VOLATILE MEMORY
WO2009153982A1 (ja) 2008-06-20 2009-12-23 パナソニック株式会社 複数区分型不揮発性記憶装置およびシステム
US20110035540A1 (en) * 2009-08-10 2011-02-10 Adtron, Inc. Flash blade system architecture and method
US8954821B2 (en) 2009-12-29 2015-02-10 Microntechnology, Inc. Memory device having address and command selectable capabilities
US8854861B2 (en) 2009-12-29 2014-10-07 Micron Technology, Inc. Mixed mode programming for phase change memory
US10360143B2 (en) * 2010-07-01 2019-07-23 Qualcomm Incorporated Parallel use of integrated non-volatile memory and main volatile memory within a mobile device
US20120036308A1 (en) * 2010-08-06 2012-02-09 Swanson Robert C Supporting a secure readable memory region for pre-boot and secure mode operations
WO2012050934A2 (en) * 2010-09-28 2012-04-19 Fusion-Io, Inc. Apparatus, system, and method for a direct interface between a memory controller and non-volatile memory using a command protocol
US9575908B2 (en) * 2011-02-08 2017-02-21 Diablo Technologies Inc. System and method for unlocking additional functions of a module
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
WO2012119432A1 (zh) * 2011-08-31 2012-09-13 华为技术有限公司 提高计算机系统稳定性的方法及计算机系统
EP2761480A4 (en) * 2011-09-30 2015-06-24 Intel Corp APPARATUS AND METHOD FOR IMPLEMENTING MULTINIVE MEMORY HIERARCHY ON COMMON MEMORY CHANNELS
WO2013077890A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Collaborative processor and system performance and power management
WO2013077867A1 (en) * 2011-11-22 2013-05-30 Intel Corporation Access control for non-volatile random access memory across platform agents
KR101386013B1 (ko) * 2012-07-17 2014-04-16 주식회사 디에이아이오 하이브리드 스토리지 장치
CN104813409A (zh) * 2012-09-28 2015-07-29 惠普发展公司,有限责任合伙企业 在存储器错误检测和存储器错误校正之间动态选择
US9009421B2 (en) * 2012-11-13 2015-04-14 International Business Machines Corporation Dynamically improving memory affinity of logical partitions
US9110795B2 (en) * 2012-12-10 2015-08-18 Qualcomm Incorporated System and method for dynamically allocating memory in a memory subsystem having asymmetric memory components
US11221967B2 (en) * 2013-03-28 2022-01-11 Hewlett Packard Enterprise Development Lp Split mode addressing a persistent memory
US9552176B2 (en) * 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
US9880754B2 (en) * 2014-07-09 2018-01-30 Dell Products, Lp System and method for enabling transportability of a non volatile dual inline memory module
US10126950B2 (en) 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115022825A (zh) * 2017-03-24 2022-09-06 三星电子株式会社 任务关键数据通信系统中管理短数据服务的方法和用户设备
CN115022825B (zh) * 2017-03-24 2024-02-09 三星电子株式会社 任务关键数据通信系统中管理短数据服务的方法和用户设备

Also Published As

Publication number Publication date
KR20170100488A (ko) 2017-09-04
US20160179375A1 (en) 2016-06-23
TWI567551B (zh) 2017-01-21
US10339047B2 (en) 2019-07-02
US20190303288A1 (en) 2019-10-03
WO2016105790A1 (en) 2016-06-30
KR102519904B1 (ko) 2023-04-10
CN107077303B (zh) 2022-11-15
CN107077303A (zh) 2017-08-18
US10126950B2 (en) 2018-11-13
US20190065364A1 (en) 2019-02-28

Similar Documents

Publication Publication Date Title
TWI567551B (zh) 分配與配置持續記憶體之技術
US11966581B2 (en) Data management scheme in virtualized hyperscale environments
US11656775B2 (en) Virtualizing isolation areas of solid-state storage media
US8370833B2 (en) Method and system for implementing a virtual storage pool in a virtual environment
US10592337B1 (en) Systems and methods for distributing information across distributed storage devices
TW201329710A (zh) 用於實施多位準記憶體階層之設備與方法
CN107408019B (zh) 用于提高对非易失性存储器中的缺陷的抗干扰性的方法和装置
US20200348973A1 (en) Performance monitoring and resource management
JP2011258193A (ja) 持続性メモリのためのキャッシュコヒーレンスプロトコル
CN107624178B (zh) 快速归零的机柜式架构(rsa)和共享存储器控制器(smc)技术
KR20230094964A (ko) 이종 메모리 타겟의 인터리빙
US20200242067A1 (en) System and Method for I/O Aware Processor Configuration
US11023139B2 (en) System for speculative block IO aggregation to reduce uneven wearing of SCMs in virtualized compute node by offloading intensive block IOs
US20230315293A1 (en) Data management scheme in virtualized hyperscale environments
US20230004417A1 (en) Method and apparatus to select assignable device interfaces for virtual device composition
US10579392B2 (en) System and method for mapping physical memory with mixed storage class memories
TW202340931A (zh) 具有雜訊鄰居緩解及動態位址範圍分配的直接交換快取
US20190004860A1 (en) Dynamically configurable storage clusters