TW201535116A - 統一記憶體控制器 - Google Patents

統一記憶體控制器 Download PDF

Info

Publication number
TW201535116A
TW201535116A TW103145226A TW103145226A TW201535116A TW 201535116 A TW201535116 A TW 201535116A TW 103145226 A TW103145226 A TW 103145226A TW 103145226 A TW103145226 A TW 103145226A TW 201535116 A TW201535116 A TW 201535116A
Authority
TW
Taiwan
Prior art keywords
data
memory
circuit
policy
umc
Prior art date
Application number
TW103145226A
Other languages
English (en)
Other versions
TWI544331B (zh
Inventor
安德魯R 威爾勒
鮑瑞斯 祖客曼
格瑞格 亞斯特法克
路斯W 哈瑞爾
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 TW201535116A publication Critical patent/TW201535116A/zh
Application granted granted Critical
Publication of TWI544331B publication Critical patent/TWI544331B/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/0604Improving or facilitating administration, e.g. storage management
    • 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
    • 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
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0625Power saving in storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • 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
    • 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/0647Migration 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • G06F3/0649Lifecycle management
    • 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/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • 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/60Details of cache memory
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Power Sources (AREA)
  • Transceivers (AREA)

Abstract

一種統一記憶體控制器(UMC),其傳送及接收資料至及自一局域性主機。該UMC也可藉由使用一位址映射器而管理資料安置及取回。該UMC也可以選擇地提供電力至複數個記憶體位置。該UMC也可基於使用被儲存於元資料儲存位置中之一性質的一策略而管理資料安置。該性質可以是描述被管理之資料的一性質。該UMC也可使用可以儲存藉由該電路來管理的資料之複製的其自有局域性快取。

Description

統一記憶體控制器 發明領域
本發明係有關於統一記憶體控制器。
發明背景
電腦資料儲存器傳統地分為於至少記憶體及儲存器之間的一層次結構。記憶體儲存資料並且是CPU可直接地存取。資料可以包含允許資訊被轉移至記憶體之快取線、網頁、範圍、物件、或任何其他的格式。在傳統層次結構之下,記憶體包含用於處理器暫存器、處理器快取、以及主要記憶體之另外的細分。對照之下,儲存器儲存資料,但不是CPU可直接地存取,並且代替地轉移資料至及自記憶體以使該資料是CPU可存取。
記憶體及儲存器中之技術在依電性、容量、成本、能量使用、以及性能上變化。通常,傳統層次結構中之技術越接近至CPU,則其被設計以更快地進行。但是,這些更快的記憶體技術,通常是更昂貴的並且比其他記憶體以及儲存器技術具有較低的容量。為了平衡這一點,傳統層次結構之較低等級使用之記憶體以及儲存器技術,雖 然較慢,但卻是較不昂貴且具有較高的資料容量。更進一步地,雖然一些電腦環境可致能自一技術至另一者之一些遷移性能,這些解決辦法不在硬體以及韌體位準工作,但卻可使用應用軟體被實行。
發明概要
依據本發明之一實施例,係特地提出一種統一記憶體控制器,其包括:一電路,用以進行下列事項:連接至一局域性主機,以至於該電路可經由一通訊鏈路而傳送及接收資料至及自該局域性主機;並且跨越複數個記憶體位置,經由一位址映射器而管理資料安置及取回;一元資料儲存器,其儲存藉由該電路來管理的資料之一性質;一策略引擎,其應用一策略至藉由該電路來管理的資料以便判定在該等複數個記憶體位置之間的資料之安置及取回,其中該策略基於有關被儲存於該元資料儲存器中之資料的一性質而判定資料之安置及取回;以及一快取,其儲存藉由該電路來管理的資料之複製。
100‧‧‧電腦系統
102‧‧‧電腦裝置
104‧‧‧處理器
106‧‧‧匯流排
108‧‧‧網路介面控制器(NIC)
110‧‧‧網路
112‧‧‧儲存器陣列網路(SAN)
114‧‧‧儲存器
116‧‧‧統一記憶體控制器(UMC)
118‧‧‧記憶體位置
120‧‧‧快速依電性記憶體
122‧‧‧慢速依電性記憶體
124‧‧‧快速非依電性(NVM)
126‧‧‧慢速NVM
128‧‧‧顯示介面
130‧‧‧顯示器
132‧‧‧鍵盤介面
134‧‧‧鍵盤
136‧‧‧輸入裝置介面
138‧‧‧輸入裝置
140‧‧‧印表機介面
142‧‧‧印表機
200‧‧‧UMC範例裝置
202‧‧‧UMC
204‧‧‧局域性主機
206‧‧‧通訊鏈路
208‧‧‧位址映射器
210‧‧‧策略引擎
212‧‧‧元資料儲存位置
214‧‧‧快取
300‧‧‧UMC範例裝置
302‧‧‧UMC
304‧‧‧互連
400‧‧‧UMC範例裝置
402‧‧‧UMC
404‧‧‧儲存位置
500‧‧‧範例裝置
502‧‧‧實體電腦可讀取媒體
504‧‧‧處理器
506‧‧‧UMC
600‧‧‧UMC管理資料安置及取回處理程序流程圖
602-612‧‧‧管理資料安置及取回處理步驟
某些範例於下面的詳細說明以及參照附圖被說明,於其中:根據此處所述之實行例,圖1展示一系統範例之方塊圖,該系統包含可被使用以控制UMC之電腦裝置;根據此處所述之實行例,圖2展示包含一UMC之裝置範例之方塊圖,該UMC被組態以跨越複數個記憶體 位置而管理資料安置及取回;根據此處所述之實行例,圖3展示包含一UMC之裝置範例的方塊圖,該UMC跨越複數個記憶體位置以管理資料安置及取回,以及經由一互連而連接至其他控制器及主機;根據此處所述之實行例,圖4展示包含一UMC之裝置範例的方塊圖,該UMC跨越複數個記憶體位置以及儲存位置以管理資料安置及取回,以及經由一互連而連接至其他控制器以及主機;根據此處所述之實行例,圖5展示一範例裝置以及包含程式碼之實體電腦可讀取媒體的方塊圖,該程式碼被組態以指引一處理器經由被安置於該電腦可讀取媒體上之一UMC而跨越複數個記憶體位置以管理資料安置及取回;以及根據此處所述之實行例,圖6展示用以藉由一UMC而跨越複數個記憶體以及儲存位置以管理資料安置及取回之處理範例的流程圖。
較佳實施例之詳細說明
此處所述之技術及範例揭示一統一記憶體控制器(UMC)之使用,該UMC跨越複數個記憶體(例如,不同的記憶體技術)及儲存位置而控制資料安置及取回。該UMC被考慮為“統一”之一原因是,其可以是被附帶至所有被控制的記憶體技術之唯一的記憶體控制器。該UMC也可 以被考慮為“統一”之另一原因是,其可呈現所控制之複數個記憶體技術,如UMC所連接之一局域性主機的一單一位址範圍。
一UMC可以是由電流可流經其中的導線或跡線而被連接之電子元件所構成的一電路。如此處所使用,一局域性主機通常可以是指具有UMC所連接之一處理器的一電腦。該UMC也可以被嵌入於局域性主機之內或電子式地或經由光學式地被連接。藉由UMC的資料之安置及取回可以藉由利用UMC之策略引擎被實行的一策略之應用而被判定。策略驅動行動之範例包含在記憶體型式之間的資料之重新安置,如此處所討論。為了協助策略之實行,該UMC可以私自地儲存有關該資料之性質,其包含資料是否應該永久地被儲存或資料最後被安置或被取回之時間。另外地,該UMC也可以選擇地導通及斷開於記憶體中位置以節省電力。更進一步地,該UMC可以選擇地將資料自一裝置或記憶體群集遷移至另一者,以便釋出一些記憶體範圍被斷電。選擇地或隨意地採取一行動取決於被實行之特定的策略以及該策略是否引導該UMC採取一行動或另一行動。
如此處所使用,一UMC也可以被組態以經由一互連而與另外的記憶體控制器連接,其中各個記憶體控制器可以是與其之自身局域性主機、記憶體、或儲存器技術相關聯。一連接UMC可以經由該等連接的記憶體控制器之使用而判定至及自所連接的記憶體以及局域性主機池之資料的安置及取回。為了幫助跨越複數個連接記憶體控制器 之一策略的實行,一UMC可以私自地儲存有關資料之另外的性質,例如,利用一特定主機被取回之頻率特定資料。這頻率量測定址該資料它本身,但不必定得是該資料被儲存於其中之記憶體中之位置。另外地,該UMC也可以選擇地提供電力(或甚至無電力)至,連接記憶體或儲存器之各個位置以節省電力。
圖1展示包含一電腦裝置102之一系統範例的方塊圖,該電腦裝置102可被使用以控制一UMC。該電腦裝置102包含一處理器104。該處理器104可以是一單核心處理器、一多核心處理器、一電腦聚集、一被實行於一電腦聚集中之虛擬處理器、或任何數量之其他適當的組態。匯流排106可以耦合該處理器104至電腦裝置102內之其他物件。該匯流排106可以是在一電腦中的元件之間轉移資料之任何通訊系統,其包含利用電線、光纖導線、或其他相似之交換媒體的連接。進一步地,該匯流排可以包含如同AMBA、PCI、PCI快送、超傳輸、無限寬頻之系統、以及其他相似系統。
匯流排106可以耦合處理器104至一網路介面控制器(NIC)108。該NIC108可以被使用以提供電腦系統可以存取一網路110。該網路110可以是一私用企業網路、一公用網路,例如,網際網路、或一組合之公用及私用網路,例如,企業網路,於其中複數個網站經由在一公用網路上之虛擬私人網路而被連接。
網路110可以進一步地提供存取一儲存器系統, 例如,一儲存器陣列網路(SAN)112。一儲存器陣列網路(SAN)是一專用網路,其提供存取整合資料儲存器並且致能一主機客戶裝置以存取或管理被儲存於一儲存器陣列中之資料容積。用以進行系統之程式碼、或其部份,可以被安置於SAN 112中。於一些範例中,用以運行系統100之程式碼被安置在別處,而一SAN 112可以不用呈現於系統100中。
匯流排106可以將該處理器104耦合至被安置在該電腦裝置102內部之儲存器114。該儲存器114可以包含一硬碟驅動器、一光學驅動器、一大拇哥驅動器、一固態RAM驅動器、或任何數量的其他裝置。該儲存器114可被使用以儲存該電腦裝置102之資料。用以進行系統100之程式碼、或其部份,可以被安置於儲存器114中。但是,取決於程式碼以及其他資料被儲存之處,該儲存器114可以被省略。
該處理器104進一步地經由匯流排106被耦合至一統一記憶體控制器(UMC)116,其被連接到複數個記憶體位置118並且跨越該等複數個記憶體位置118而管理資料安置及取回。該等記憶體位置118可以是來自複數個記憶體技術,其包含快速依電性記憶體120、慢速依電性記憶體122、快速非依電性(NVM)124、以及慢速NVM 126。被傳送至該UMC 116的資料可以將該資料再提交至任何被連接的記憶體位置。用以進行程式碼、或其部份的系統,可以被安置於該UMC 116之記憶體位置中。
記憶體位置可以包含記憶體中之各別的實際位置、記憶體中之各別的邏輯位置、各別的記憶體裝置,並且,如上所述,其是不受限定於一種單一記憶體技術。記憶體中之實際位置可以是在一單一記憶體裝置內之各別的實際位置或可以是在許多記憶體裝置中之各別的實際位置。記憶體中之各別的邏輯位置可以是一單一記憶體裝置中之各別的虛擬位置或可以是許多記憶體裝置中之各別的虛擬位置。一記憶體裝置包含用以儲存資料之實際結構,其是CPU可直接地存取並且可包含隨機存取記憶體模組、非依電性記憶體(NVM)模組、以及唯讀記憶體(ROM)模組,雖然一記憶體裝置是不受限定於這些技術。
更快地進行記憶體技術之一傳統特性是依電性,例如,記憶體使用電力以保留其之儲存資料。快速依電性記憶體120可以包含隨機存取記憶體,例如,靜態隨機存取記憶體(SRAM)以及動態隨機存取記憶體(DRAM)。快速依電性記憶體120也可以包含開發中的技術,例如,零電容器隨機存取記憶體(Z-RAM)、閘流體隨機存取記憶體(T-RAM)、以及雙晶體隨機存取記憶體(TTRAM)、或具有相似存取速率及依電性特性之任何其他型式的記憶體。慢速依電性記憶體122可以包含較慢且通常是較不昂貴之SRAM以及DRAM驅動器或同樣地具有依電性以及相對地比快速依電性記憶體120較慢速之任何其他的記憶體技術。
相對地,非依電性記憶體(NVM)不需要電力以 保持其之儲存資料。傳統地,非依電性記憶體已包含較慢以及較長期之儲存器技術,例如,ROM以及硬碟驅動器。但是最近,更快形式之NVM已被開發並且可能達到如目前所使用依電性記憶體技術的相似速度、容量、並有可能是更大的容量。快速NVM 124可以包含相變記憶體(PCRAM)、自旋轉扭矩隨機存取記憶體(STTRAM)、電阻式隨機存取記憶體(ReRAM)、鐵電式隨機存取記憶體(FeRAM)、或具有相似存取速率及非依電性特性之任何其他的記憶體技術。慢速NVM 126可以包含唯讀記憶體(ROM)或同樣地具有非依電性以及相對地比快速NVM 124較慢速之任何其他的記憶體技術。
該處理器104可以經由匯流排106被耦合至一顯示介面128。該顯示介面128可以驅動一顯示器130。該顯示器130可以包含,例如,一監視器、一投射器、一平面屏幕、或一其之組合。
該處理器104可以經由匯流排106被耦合至一鍵盤介面132。該鍵盤介面132可以將該電腦裝置102耦合至一鍵盤134。該鍵盤134可以是一完全鍵盤、一小鍵盤、或一伺服器單元上之面板控制。
該處理器104可以經由匯流排106被耦合至一輸入裝置介面136。該輸入裝置介面136可以將該電腦裝置102耦合至一輸入裝置138。該輸入裝置138可以是一指示器,例如,一滑鼠、軌跡儀、觸控屏幕、或便利人類控制以及輸入之其他裝置。
該處理器104可以經由匯流排106被耦合至一印表機介面140。該印表機介面140可以將該電腦裝置102耦合至一印表機142。
電腦系統100是不受限定於如上所述之該等裝置。例如,如果電腦裝置102是一伺服器,被使用作為與一使用者介面的裝置,例如,顯示器130、鍵盤134、以及印表機142,就其而言,可以被省略。進一步地,其他裝置可以呈現於一些範例中,例如,複數個NIC 108。
圖2展示包含一UMC之範例裝置200的方塊圖,該UMC被組態以跨越複數個記憶體位置118而管理資料安置及取回。具有相同標號之項目如相關於圖1中之說明。該UMC 202經由一通訊鏈路206介面至一局域性主機204。該通訊鏈路206可以是在該局域性主機204及該UMC 202之間的一實際連接。該通訊鏈路也可以是在該局域性主機204以及該UMC 202之間的一無線連接。該通訊鏈路206自該UMC 202發送資料至該局域性主機204,並且反之亦然。這資料發送可以經由封包、網頁或任何電子式地發送資料之其他裝置而發生。
該UMC 202連接至一個或多個位置118。該UMC包含一位址映射器208、一策略引擎210、一元資料儲存位置212、以及一快取214。該位址映射器208可以映射資料之虛擬位址至記憶體中之其實際位址。策略引擎210可以是可經由軟體程式庫被控制的一硬體電路之部件,例如,操作環境、平臺、或可能地應用位準存取。例如,一 EEPROM、或其他的非依電性記憶體,可以擁有自一SAN或其他的網路位置所下載之策略。
軟體程式庫之使用可以提供一最佳化演算法作為策略引擎210的策略以經由UMC 202而實行以及提供有關被儲存於元資料儲存位置212中之資料的性質。該最佳化演算法可以被設計以達成記憶體最有效的使用,並且可以包含啟發式方法之應用,如在範例中所述。該快取214可以儲存UMC 202取回以供用於局域性主機204或在記憶體118之間遷移的資料之複製。該元資料儲存位置212可以私自地儲存有關資料之性質,其包含利用該局域性主機204被提供之任何標記或暗示以協助策略引擎210應用一策略。有關該資料之性質也可包含下列之任何資訊,如關於相關資料何時被取回、哪個主機取回該資料(如果有複數個主機)、或簡單地特定資料已被取回之次數。標記或暗示可包含利用該局域性主機204被提供以協助策略引擎210應用一策略的任何物件,例如,來自該局域性主機204之一標記可以是資料為‘永久性’或‘非永久性’的任一者。策略引擎210應用一策略(例如,最佳化演算法或啟發式法之應用)的結果,可以藉由此處所述範例之使用被展示。
圖3展示包含一UMC 302之範例裝置300的方塊圖,該UMC 302用以跨越複數個記憶體位置118而管理資料安置及取回,且經由一互連304而連接至其他的控制器以及主機。相同標號的項目如有關於圖1及2中所說明。於這範例中,該UMC 302經由互連304而連接至另外的記憶 體控制器以及主機。該互連304可以是在該UMC 302以及該等另外的記憶體控制器及主機之間的一實際連接。該互連304也可以是在該UMC 302以及該等另外的記憶體控制器及主機之間的一無線連接。該互連304自該UMC 302將資料發送至該等另外的記憶體控制器並且反之亦然。這資料發送可能經由電子式地發送資料之封包、網頁或任何其他裝置而發生。
取決於被實行之策略,另外的記憶體控制器可以將供使用之資料轉運至另一被附帶之局域性主機。另外地,該等另外的記憶體控制器可被引導以將資料儲存於其之自有局域性記憶體中。更進一步地,該等另外的記憶體控制器可以被使用將資料轉運至一第三記憶體控制器或任何數量之鏈接的記憶體控制器。這些鏈接的記憶體控制器提供該UMC 302對於該等連接的控制器各者用以控制該資料安置之性能。進一步地,鏈接的記憶體控制器允許該UMC 302採用各個連接的資源,其包含跨越任何連接的記憶體裝置而置放資料或供應資料至任何連接的局域性主機。這圖形也考慮記憶體控制器之連接,以便促進切換結構、星狀結構、結構計算、或任何互連節點的其他組態。
圖4展示包含一UMC 402之範例裝置400的方塊圖,該UMC 402是用以跨越複數個記憶體位置118以及儲存位置404而管理資料安置及取回,以及經由一互連304而連接至其他的控制器以及主機。相同標號的項目如有關於圖1、2、以及3中所說明。儲存位置404可包含利用UMC 402直接地被連接以及被控制之非固態儲存器。同樣地,如果該UMC 402是被連接到它們自身地被連接到儲存位置之另外的記憶體控制器,這些裝置可能全部利用該UMC 402被匯集並且被控制。例如參看下面,其展示遷移資料至非固態儲存器,例如,一硬碟驅動器。
圖5展示一範例裝置500及實體電腦可讀取媒體502的方塊圖,其包含被組態而用以引導一處理器504以經由被安置於該電腦可讀取媒體502上之一UMC 506而跨越複數個記憶體位置118以管理資料安置及取回之程式碼。相同標號的項目是如有關於圖1、2、3、以及4中之被討論者。
“電腦可讀取媒體”可以是任何媒體,其可包含、儲存、或保持程式指令及資料以供指令執行系統,例如,一處理器之使用或配合。電腦可讀取媒體可包括,例如,許多實際媒體之任何一者,例如,電子式、磁式、光學式、電磁式、或半導體媒體。適當的電腦可讀取媒體之更多特定範例包含,但是不受限定於,一磁式電腦磁碟,例如,軟式磁碟片或硬碟驅動器、一隨機存取記憶體(RAM)、非依電性記憶體(NVM)、一唯讀記憶體(ROM)、一可消除可程控唯讀記憶體、或一輕便型裝置,例如,一光碟(CD)、大拇哥驅動器、或一數位視訊光碟(DVD)。
於這範例中,UMC 506被安置於其上之實體電腦可讀取媒體502可以是如上所述之任何記憶體技術的一記憶體位置。一位址映射器208、策略引擎210、一元資料 儲存位置212、以及一快取214各被安置於該實體電腦可讀取媒體500上,並且更明確地說是在UMC 506之內。其各如上所述。
在本圖形中,該UMC 506被置於該實體電腦可讀取媒體502上,並且經由一匯流排106被耦合至處理器504。但是,於其他範例中,該實體電腦可讀取媒體502以及UMC 506可以共同地被安置於該處理器504上。進一步地,於這範例中,附帶的記憶體位置118也可以被管理,如用於CPU之一另外的最後級位準快取。
圖6展示用以藉由一UMC而跨越複數個記憶體及儲存位置以管理資料安置及取回之範例處理程序600的流程圖。該處理程序開始於方塊602,其中一UMC,例如,如有關圖1-5之所述者,經由一通訊鏈路206自一局域性主機204而接收資料。
根據此處所述之實行例,圖6展示用以藉由一UMC跨越複數個記憶體以及儲存位置而管理資料安置及取回之處理程序範例的流程圖。
在方塊604,電路將資料之任何有關的啟發式資訊或其子集儲存於一元資料儲存位置中。在方塊606,該電路將該資料之一複製儲存於一快取中。
在方塊608,該電路將一策略應用至該資料,以便判定在該等記憶體位置118之間的資料之安置及取回。該判定可以是至少部分地,基於有關被儲存於該元資料儲存位置中之資料的一性質。該判定也可以是基於有關藉由 該電路來管理的資料、資料之子集、或其兩者之相關的啟發式資訊。
在方塊610,該電路跨越複數個記憶體位置118經由一位址映射器而管理資料安置及取回。在方塊612,該電路將未使用的記憶體位置斷電。該電路接著可以執行其他指令,或如果UMC已接收另外資料的話,則可以重複再次在方塊602開始之步驟。
範例
於一第一範例中,資料可以被標記為永久性的並且被傳送至UMC。該UMC啟始地可以將這資料提交至快速NVM(例如,PCRAM、STTRAM、或ReRAM),而同時置放一複製於一快速局域性快取中。一最佳化演算法可以判定NVM中之資料的一位置是不是很可能在不久的未來被引用。該UMC可以因此移動這位置至一較慢、較密集之永久儲存器(例如,慢速NVM),以釋出快速NVM,因而致能較高的系統性能。
於另一範例中,該UMC可將資料自該等記憶體位置之一處遷移至另一處以允許較高功率的記憶體技術減少電力消耗。該減少電力消耗之性能進一步地允許該UMC利用一特定記憶體技術之有益性質以最佳化性能、功率消耗、以及元件成本。減少一記憶體位置之電力消耗可以包含減少在相同記憶體裝置內之各別位置之電力消耗。例如,資料可以自一單一記憶體裝置中之許多記憶體位置、或區塊,被遷移至一單一記憶體位置或相同裝置中之區 塊。一旦被遷移,未使用的記憶體位置或區塊可以被減少電力消耗。此一記憶體裝置可以分離記憶體之各個區塊,因而各區塊可以自被耦合至一控制電晶體的一電壓源而分別地被供電。
於另一範例中,該UMC可以移動快速NVM中之位置至慢速NVM,例如,如果該UMC策略引擎(210)已藉由檢測性質而判定資料不是很可能在不久的未來被引用。這樣的一範例是藉由將不是最近或頻繁地被取回之資料自快速NVM移動至慢速NVM。更進一步地,如果該UMC經由相似啟發式或最佳化演算法而判定,該資料是經一較長的持續時間而很不可能被取回,則慢速NVM之位置可被壓縮或移動至甚至是更慢的、更密的、非固態儲存器中。例如,該UMC可以被使用以控制除了固態記憶體之外的碟片驅動位置。這致能較高地進行之記憶體以及系統之較大的效能以及使用。
於一範例中,其將是具有複數個記憶體控制器(其各具有彼此連接之複數個記憶體位置)之一葉片伺服器。如上所述地,至少,藉由記憶體位置之匯集、用以管理這些資源之UMC的性能、以及用以斷電記憶體中未使用的位置之UMC的性能,互連記憶體控制器以及它們之相關聯的局域性主機或記憶體位置之利益將成為更彰顯。
於另一範例中,在具有二個或更多個連接記憶體控制器之一系統中,它們之至少一者是一UMC,該等記憶體控制器以下列方式而共同作業,例如,傾向於要求主 機將資料部分地經由控制最接近領域或展域的該記憶體控制器而被移動或被遷移至該主機之最接近領域或展域。該傾向可使用被儲存於UMC之元資料儲存位置上的一性質被判定。一性質之一範例可以是一特定主機已取回一特定資料組集之頻率。另一被儲存的性質可以是一特定主機是如何近地取回一特定資料組集。另一性質可以是一特定資料片段之存取歷史。藉由傾向而移動資料可以藉由減低距離而改進全部性能以及因此改進資料之等待時間。如果資料組集恰好產生一“熱點”,這意味著接近一特定主機之緩衝器以及介面成為擁擠而導致長的需求以及返回等待時間(如利用該UMC所量測),則該資料可同樣地被分佈在複數個記憶體控制器之中以及記憶體位置附近以緩和交通擁塞。
於另一範例中,於具有二個或更多個記憶體控制器之一系統中,其中該等記憶體控制器之至少一者是一UMC,該等記憶體控制器以提供共用的記憶體匯集池之方式而共同作業。例如,如果一所給予的記憶體控制器採用全部其之快速依電性記憶體,但是另一連接記憶體控制器則未充分被利用,則該等記憶體控制器可作用如對於一所給予的主機提供一較快速的依電性記憶體位置之錯覺。進一步地,就記憶體分割的大小而論,利用UMC之這記憶體分割可以是靜態的或動態的。該等連接記憶體控制器進一步地藉由致動備用通道至一特定主機而允許一所給予的NVM或裝置中避免受壓蓄或擱置的資料。
於另一範例中,於具有二個或更多個連接記憶體控制器之一系統中,其中該等記憶體控制器之至少一者是一UMC,該等記憶體控制器以經由一UMC用以提供高可用性功能(例如,RAID)而管理以及引導複數個記憶體及/或儲存位置中之資料的重複或複製之方式而共同作業。
於另一範例中,該UMC基於一策略而判定,被安置於一快速NVM中之資料基於一被儲存的性質是否應該被移動進入一慢速NVM。如果是,則資料藉由該電路自一快速NVM被移動進入一慢速NVM。否則,該資料不被移動。
另一範例揭示實行一策略以藉由將資料自許多記憶體位置遷移至更多連續的記憶體位置而加固該資料。該電路接著可判定記憶體位置是否為未被使用。如果該電路判定有未使用的記憶體位置,則該電路可能不再需要提供電力於這些未使用的記憶體位置之維持以及管理中。否則,不需要採取行動。
雖然本技術以及範例可以容許各種修改以及不同的形式,上面討論之實施範例僅經由範例被展示。應了解,該等技術和範例是無意欲受限於此處揭示之該等特定範例。事實上,本技術包含落在附加申請專利範圍之真正精神及範疇之內的所有替代者、修改、以及等效者。
如上面所討論的,本發明在現有的解決辦法之上提供許多優點。其提供難得的較佳使用、較高表現的記憶體位置。其支援共用記憶體/儲存器“匯集池”以供利用較 寬廣之多樣化以及較高的記憶體位置容量。其經由智能式之資料安置(例如,資料被移動而更接近至要求的計算資源)而致能較高的性能。
進一步地,一UMC當移動資料時具有較大的彈性,以便如所需要地提供電力或無電力資源,因而改善能量效能。藉由將智能型啟發式管理放在硬體位準上,有關的統計可被收集於系統中之資料取回樣型任何地方上作為啟發式資訊,其允許在軟體領域之間總體的最佳化。如在這揭示之整體討論中,最佳化演算法不需要投射資料存取之未來頻率,但是,卻可以依靠用於最佳化資料之存取及取回之蒐集統計。更進一步地,該最佳化演算法不需要計算在各個處理器或複數個局域性主機之間的傳輸時間。這行動可以藉由於討論中之簡單地移動資料實際地較接近至特定處理器或局域性主機而近似。此處所揭示之資料管理即時地被進行,並且被設計以實行於線上系統中,如相對於離線之一者,例如,不是目前操作者。換言之,在某些範例中,本發明可能不知道或是可預定將被存取之對於資料安置以及遷移目的之特定資料,並且代替地可使用被儲存的性質而即時地操作。
118‧‧‧記憶體位置
120‧‧‧快速依電性記憶體
122‧‧‧慢速依電性記憶體
124‧‧‧快速NVM
126‧‧‧慢速NVM
200‧‧‧UMC範例裝置
202‧‧‧UMC
204‧‧‧局域性主機
206‧‧‧通訊鏈路
208‧‧‧位址映射器
210‧‧‧策略引擎
212‧‧‧元資料儲存位置
214‧‧‧快取

Claims (15)

  1. 一種統一記憶體控制器,其包括:一電路,用以進行下列事項:連接至一局域性主機,以至於該電路可經由一通訊鏈路而傳送及接收資料至及自該局域性主機;並且跨越複數個記憶體位置,經由一位址映射器而管理資料安置及取回;一元資料儲存器,其儲存藉由該電路來管理的資料之一性質;一策略引擎,其應用一策略至藉由該電路來管理的資料以便判定在該等複數個記憶體位置之間的資料之安置及取回,其中該策略基於有關被儲存於該元資料儲存器中之資料的一性質而判定資料之安置及取回;以及一快取,其儲存藉由該電路來管理的資料之複製。
  2. 如請求項1之統一記憶體控制器,其中該電路是用以在一快速非依電性記憶體位置與一慢速非依電性記憶體位置之間遷移資料。
  3. 如請求項2之統一記憶體控制器,其中實行一策略是從被儲存的性質而判定被儲存於一快速非依電性記憶體位置中之資料未於一策略判定時框之內被取回。
  4. 如請求項1之統一記憶體控制器,其中該電路是用以在一快速非依電性記憶體位置、一慢速非依電性記憶體位 置、一快速依電性記憶體位置、以及一慢速依電性記憶體位置之間遷移資料。
  5. 如請求項1之統一記憶體控制器,其中該電路是用以進行下列事項:將被儲存於一數量之記憶體位置中的資料遷移至一較少數量之一個或多個記憶體位置而導致有未使用的記憶體位置;以及選擇地提供電力至複數個未使用的記憶體位置。
  6. 如請求項1之統一記憶體控制器,其中該電路是用以與至少一另外的記憶體控制器連接,其中各個另外的被連接的記憶體控制器是用以管理對於至少一另外記憶體位置之資料安置及取回。
  7. 如請求項6之統一記憶體控制器,其中:該策略引擎是用以經由該電路而實行一策略,該策略對於與各另外地被連接的記憶體控制器相關聯之一另外地被連接的局域性主機而判定跨越各個記憶體位置之資料安置及取回;該策略引擎是用以經由該電路而實行一策略,該策略使用連接的記憶體控制器以及該等連接的記憶體控制器之記憶體位置而提供RAID性能。
  8. 一種電腦系統,其包括:一執行所儲存指令之處理器;一儲存指令之記憶體;以及一統一記憶體控制器(UMC),該記憶體控制器包 括:一電路,用以進行下列事項:連接至一處理器,以至於該電路可經由一通訊鏈路而傳送及接收資料至及自該處理器;並且跨越複數個記憶體位置,經由一位址映射器而管理資料安置及取回;一元資料儲存位置,其儲存藉由該電路來管理的資料之一性質;一策略引擎,其應用一策略至藉由該電路來管理的資料以便判定在該等複數個記憶體位置之間的資料之安置及取回,其中該策略基於有關被儲存於該元資料儲存器中之資料的一性質而判定資料之安置及取回;以及一快取,其儲存藉由該電路來管理的資料之複製。
  9. 如請求項8之電腦系統,其中該電路是用以在一快速非依電性記憶體位置與一慢速非依電性記憶體位置之間遷移資料。
  10. 如請求項9之電腦系統,進一步地包括電路,該電路是用以當一策略引擎實行一策略以從被儲存的性質而判定被儲存於一快速非依電性記憶體位置中之資料未於一策略判定時框之內被取回時而遷移資料。
  11. 如請求項8之電腦系統,其中該電路是用以進行下列事項:將被儲存於一數量之記憶體位置中的資料遷移至一較少數量之一個或多個記憶體位置而導致有未使用 的記憶體位置;以及選擇地提供電力至複數個未使用的記憶體位置。
  12. 如請求項8之電腦系統,其中該電路是用以與至少一另外的記憶體控制器連接,其中各個另外的被連接的記憶體控制器是用以管理對於至少一另外記憶體位置之資料安置及取回。
  13. 一種經由一統一記憶體控制器電路之資料管理的方法,其包括下列步驟:經由在一局域性主機與該電路之間的一通訊鏈路而傳送資料至及自該局域性主機;將有關藉由該電路來管理的該資料、該資料之子集、或其兩者之相關的啟發式資訊儲存於一元資料儲存位置中;儲存藉由該電路來管理的資料之複製於一快取中;應用一策略至藉由該電路來管理的資料,以便判定在複數個記憶體位置之間資料的安置,其中安置資料包括下列步驟:基於有關被儲存於該元資料儲存位置之資料的一性質而判定資料的安置;跨越複數個記憶體位置,經由一位址映射器而管理資料安置;以及選擇地提供電力至複數個記憶體位置。
  14. 如請求項13之方法,其中該電路進一步地藉由下列步驟而管理資料: 從一被儲存的性質而判定被儲存於一快速非依電性記憶體位置中之資料未於一策略判定時框之內被取回;當一策略引擎是用以實行一策略時,將那資料自一快速非依電性記憶體位置遷移至一慢速非依電性記憶體位置;並且選擇地提供電力至複數個未使用的記憶體位置。
  15. 如請求項13之方法,其中該電路進一步地藉由下列步驟而管理資料:藉由將被儲存於一數量之記憶體位置中之資料遷移至一較少數量之記憶體位置而產生未使用的記憶體位置;並且選擇地提供電力至複數個未使用的記憶體位置。
TW103145226A 2014-01-31 2014-12-24 統一記憶體控制器 TWI544331B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2014/014185 WO2015116173A2 (en) 2014-01-31 2014-01-31 Unifying memory controller

Publications (2)

Publication Number Publication Date
TW201535116A true TW201535116A (zh) 2015-09-16
TWI544331B TWI544331B (zh) 2016-08-01

Family

ID=53757885

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103145226A TWI544331B (zh) 2014-01-31 2014-12-24 統一記憶體控制器

Country Status (3)

Country Link
US (1) US9921747B2 (zh)
TW (1) TWI544331B (zh)
WO (1) WO2015116173A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836238B2 (en) 2015-12-31 2017-12-05 International Business Machines Corporation Hybrid compression for large history compressors
US10067705B2 (en) * 2015-12-31 2018-09-04 International Business Machines Corporation Hybrid compression for large history compressors

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003272358A1 (en) * 2002-09-16 2004-04-30 Tigi Corporation Storage system architectures and multiple caching arrangements
US7237021B2 (en) * 2003-04-04 2007-06-26 Bluearc Uk Limited Network-attached storage system, device, and method supporting multiple storage device types
US7603488B1 (en) 2003-07-15 2009-10-13 Alereon, Inc. Systems and methods for efficient memory management
US20050091342A1 (en) * 2003-09-30 2005-04-28 International Business Machines Corporation Method, system, and storage medium governing management of object persistence
US7701797B2 (en) 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US20090043831A1 (en) * 2007-08-11 2009-02-12 Mcm Portfolio Llc Smart Solid State Drive And Method For Handling Critical Files
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US8903772B1 (en) * 2007-10-25 2014-12-02 Emc Corporation Direct or indirect mapping policy for data blocks of a file in a file system
US8082387B2 (en) * 2007-10-29 2011-12-20 Micron Technology, Inc. Methods, systems, and devices for management of a memory system
US8527690B2 (en) 2008-06-26 2013-09-03 Microsoft Corporation Optimization of non-volatile solid-state memory by moving data based on data generation and memory wear
JP4711269B2 (ja) * 2008-11-21 2011-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーション メモリ電力制御方法及びメモリ電力制御プログラム
US20120110259A1 (en) * 2010-10-27 2012-05-03 Enmotus Inc. Tiered data storage system with data management and method of operation thereof
KR20120126678A (ko) 2011-05-12 2012-11-21 삼성전자주식회사 내구성을 향상한 비휘발성 메모리 장치 및 그 동작방법
US8635407B2 (en) 2011-09-30 2014-01-21 International Business Machines Corporation Direct memory address for solid-state drives
CN104126181A (zh) 2011-12-30 2014-10-29 英特尔公司 作为随机存取存储器的非易失性半导体存储装置的系统存取的薄变换
JP5931595B2 (ja) 2012-06-08 2016-06-08 株式会社日立製作所 情報処理装置
US9552288B2 (en) * 2013-02-08 2017-01-24 Seagate Technology Llc Multi-tiered memory with different metadata levels
JP2015035020A (ja) * 2013-08-07 2015-02-19 富士通株式会社 ストレージシステム、ストレージ制御装置及び制御プログラム
US9612776B2 (en) * 2013-12-31 2017-04-04 Dell Products, L.P. Dynamically updated user data cache for persistent productivity
US9811457B2 (en) * 2014-01-16 2017-11-07 Pure Storage, Inc. Data placement based on data retention in a tiered storage device system

Also Published As

Publication number Publication date
US9921747B2 (en) 2018-03-20
TWI544331B (zh) 2016-08-01
WO2015116173A2 (en) 2015-08-06
WO2015116173A3 (en) 2015-12-17
US20160342333A1 (en) 2016-11-24

Similar Documents

Publication Publication Date Title
US10725663B2 (en) Data management scheme in virtualized hyperscale environments
US20210311637A1 (en) Unified addressing and hierarchical heterogeneous storage and memory
TWI704457B (zh) 用以存取異質記憶體組件的記憶體虛擬化
US9852069B2 (en) RAM disk using non-volatile random access memory
TW202107297A (zh) 實施用於雲端遊戲資料儲存及擷取之高速資料通信組構之系統及方法
US11341059B2 (en) Using multiple memory elements in an input-output memory management unit for performing virtual address to physical address translations
TWI699697B (zh) 多形儲存裝置、儲存系統及儲存裝置的方法
TWI710912B (zh) 記憶體系統及實施於記憶體系統中之方法,以及非暫時性電腦儲存媒體
US10782904B2 (en) Host computing arrangement, remote server arrangement, storage system and methods thereof
TW201931142A (zh) 融合式記憶體裝置及其操作方法
TWI646423B (zh) 針對大型共享位址空間之映射機構
TWI544331B (zh) 統一記憶體控制器
KR20220050177A (ko) 3단의 계층적 메모리 시스템
US11775431B2 (en) Cache memory with randomized eviction
Arteaga et al. Dynamic block-level cache management for cloud computing systems
US9778870B2 (en) Power management for a distributed storage system accessible by a cluster in a virtualized computing environment
US20230315293A1 (en) Data management scheme in virtualized hyperscale environments
US20210326262A1 (en) Low latency metrics sharing across processor units
WO2016170632A1 (ja) 計算機及び電源制御方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees