TW201642120A - 雙埠非依電性雙直列記憶體模組 - Google Patents
雙埠非依電性雙直列記憶體模組 Download PDFInfo
- Publication number
- TW201642120A TW201642120A TW105109714A TW105109714A TW201642120A TW 201642120 A TW201642120 A TW 201642120A TW 105109714 A TW105109714 A TW 105109714A TW 105109714 A TW105109714 A TW 105109714A TW 201642120 A TW201642120 A TW 201642120A
- Authority
- TW
- Taiwan
- Prior art keywords
- dual
- nvdimm
- memory
- port
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/805—Real-time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/65—Details of virtual memory and virtual address translation
- G06F2212/656—Address space sharing
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)
- Hardware Redundancy (AREA)
Abstract
根據一實例,一雙埠非依電性雙直列記憶體模組(NVDIMM)包括有一第一埠,該第一埠使一中央處理單元(CPU)得以存取該雙埠NVDIMM之通用記憶體,還包括有一第二埠,該第二埠使一外部NVDIMM管理器電路得以存取該雙埠NVDIMM之該通用記憶體。因此,該雙埠NVDIMM之一媒體控制器可在該通用記憶體中儲存透過該第一埠接收自該CPU之資料,控制接收自該CPU之雙埠設定值,以及透過該雙埠NVDIMM之該第二埠傳送該所儲存資料至該NVDIMM管理器電路。
Description
本發明係有關於雙埠非依電性雙直列記憶體模組。
一非依電性雙直列記憶體模組(NVDIMM)乃是一種可整合成一運算平台之主記憶體的電腦記憶體模組。該NVDIMM、或該NVDIMM與主機伺服器在電力因為一非預期電力喪失、系統損毁、或一正常系統停機而遭移除時將資料保留住。該NVDIMM舉例而言,可包括有用以在電力喪失事件或毀滅性事件時維持資料之通用或永續記憶體。
依據本發明之一實施例,係特地提出一種雙埠非依電性雙直列記憶體模組(NVDIMM),其包含有:一第一埠,該第一埠使一中央處理單元(CPU)得以存取該雙埠NVDIMM之通用記憶體;一第二埠,該第二埠使一外部NVDIMM管理器電路得以存取該雙埠NVDIMM之該通用記憶體,其中該NVDIMM管理器電路與遠端儲存器介接;以及一用以進行下列動作之媒體控制器:在該通用記憶體中儲存透過該雙埠NVDIMM之該第一埠接收自該CPU之資料,控制透過該雙埠NVDIMM之該第一埠接收自該CPU用
於該雙埠NVDIMM之雙埠設定值,其中該等雙埠設定值包括有主動-主動冗餘流量(redundancy flow)及主動-被動冗餘流量其中至少一者;以及透過該雙埠NVDIMM之該第二埠傳送該所儲存資料至該NVDIMM管理器電路。
100、414、713‧‧‧雙埠NVDIMM
110‧‧‧媒體控制器
120A~120N‧‧‧通用記憶體
130‧‧‧第一埠
140‧‧‧第二埠
150‧‧‧中央處理單元
160、416、714‧‧‧NVDIMM管理器電路
170、417‧‧‧DMA引擎
180、920‧‧‧組織互連
212‧‧‧儲存模組
214‧‧‧雙埠模組
216‧‧‧取回模組
310~320、510~530、610~620‧‧‧弧線
400、700‧‧‧記憶體組織架構
410‧‧‧主要應用記憶體伺服器
412、712‧‧‧處理器
418‧‧‧組織互連晶片
420、720‧‧‧記憶體組織管理器
430、730‧‧‧組織網路
440、740‧‧‧記憶體陣列伺服器
450‧‧‧次要複本應用記憶體伺服器
710‧‧‧主要刀鋒包殼
711‧‧‧應用記憶體伺服器
715‧‧‧互連擴充插槽模組
750‧‧‧次要刀鋒包殼
800‧‧‧方法
810~830‧‧‧程序塊
900‧‧‧運算裝置
902‧‧‧控制器
910‧‧‧電腦可讀媒體
912‧‧‧儲存指令
914‧‧‧雙埠指令
916‧‧‧取回/傳送指令
本揭露之特徵係以舉例方式來說明,但不受限於以下(多個)圖式,其中相似的符號指示相似的元件,其中:圖1根據本揭露之一實例,展示一雙埠非依電性雙直列記憶體模組(NVDIMM)的一方塊圖;圖2根據本揭露之一實例,展示該雙埠NVDIMM之一媒體控制器的一方塊圖;圖3根據本揭露之一實例,展示該雙埠NVDIMM之一主動-被動實作態樣的一方塊圖;圖4根據本揭露之一實例,展示記憶體組織架構的一方塊圖,該記憶體組織架構包括有該雙埠NVDIMM之該主動-被動實作態樣;圖5根據本揭露之一實例,展示該雙埠NVDIMM之一主動-主動實作態樣的一方塊圖;圖6根據本揭露之另一實例,展示該雙埠NVDIMM之一主動-主動實作態樣的一方塊圖;圖7根據本揭露之一實例,展示記憶體組織架構的一方塊圖,該記憶體組織架構包括有該雙埠NVDIMM之該主動-主動實作態樣;圖8根據本揭露之一實例,展示一方法的一流程
圖,用來使用一雙埠NVDIMM促進高可用性能力;以及圖9根據本揭露之一實例,展示一運算裝置之一示意圖,該運算裝置可運用於進行一媒體控制器之各種功能。
為了簡便起見及說明性目的,本揭露主要是以其一實例來說明。在以下說明中,提出許多特定細節是為了透徹理解本揭露。然而,即將顯而易見的是,實踐本揭露可不受限於這些特定細節。在其他例子中,為了避免非必要地混淆本揭露,一些方法及結構並未詳細說明。「一」一語及其詞形變化於本文中使用時,乃意欲表示一特定元件其中至少一者,「包括有」一詞及其詞形變化意味著包括有但不限於,而「基於」一詞意味著至少部分基於。
本文中所揭示的是用於記憶體應用伺服器之雙埠非依電性雙直列記憶體模組(NVDIMM)之實例。該等所揭示實例之雙埠架構容許經由任一埠口主控一NVDIMM。舉例來說,一埠口乃是一介面或共享邊界,兩個不同運算系統組件可透過該埠口交換資訊。該雙埠NVDIMM可包括有通用記憶體(例如永續記憶體),例如憶阻器為基之記憶體、磁阻隨機存取記憶體(MRAM)、磁泡記憶體、賽道記憶體、鐵電隨機存取記憶體(FRAM)、相變記憶體(PCM)、可規劃金屬化胞元(PMC)、電阻性隨機存取記憶體(RRAM)、奈米RAM等等。
該雙埠NVDIMM可包括有一第一埠,該第一埠使一中央處理單元(CPU)得以存取該雙埠NVDIMM之通用
記憶體。關於這點,一作業系統(OS)及/或一應用程式可透過該第一埠主控該雙埠NVDIMM。根據本揭露之一實例,該雙埠NVDIMM亦可包括有一第二埠,該第二埠使一本機NVDIMM管理器電路得以存取該雙埠NVDIMM之該通用記憶體。該NVDIMM管理器電路舉例而言,可位於一記憶體應用伺服器本機處,但可位於該記憶體應用伺服器中雙埠NVDIMM的外部。再者,該NVDIMM管理器電路可與位於該雙埠NVDIMM之該記憶體應用伺服器外部的遠端儲存器介接。該雙埠NVDIMM亦可包括有一媒體控制器,該媒體控制器是用來儲存透過該雙埠NVDIMM之該第一埠接收自該CPU的資料,根據一透過該雙埠NVDIMM之該第一埠來自該CPU之請求來控制用於該雙埠NVDIMM之雙埠設定值,取回該所儲存資料以供透過該雙埠NVDIMM之該第二埠傳送至該NVDIMM管理器電路之用,以及還原該通用記憶體中從該雙埠NVDIMM之該第二埠接收到的資料。
根據一實例,該等雙埠NVDIMM可包括有直接記憶體存取(DMA)引擎,該直接記憶體存取引擎與該媒體控制器整合,以透過該雙埠NVDIMM之該第二埠,將該所儲存資料複寫至遠端儲存器。藉由將該所儲存資料複寫至遠端儲存器,該所儲存資料因此具有持久性。持久性資料由於複寫至遠端儲存器而具有永久性、高可用性、及可恢復性。該遠端儲存器可包括有,但不限於一互連(例如一刀鋒包殼之一互連模組擴充插槽)、一記憶體陣列伺服器、及一記憶體組織網路之一複本記憶體應用伺服器。根據另一
實例,該DMA引擎也可與該雙埠NVDIMM外部之該NVDIMM管理器電路整合。
當該CPU請求儲存一交易酬載時,由於所具有的是單埠NVDIMM,該CPU必須阻絕該交易,才能將該交易酬載之位元組從該DIMM移動至一網路OS為基之驅動程式堆疊,例如具備RDMA功能之網路介面控制器(NIC)上之一伺服器訊息塊(SMB)/遠端直接記憶體存取(RDMA)軟體堆疊。該OS為基之驅動程式堆疊接著將該交易酬載之位元組移動至一遠端儲存器,其在遠端儲存器中儲存該等位元組,並且傳送一確認至該CPU。該CPU一收到該確認,最後便可接著解除組絕該交易。如此,一使用者在該CPU為持久性而將該交易酬載複寫至遠端儲存器時必須等待。因此,在該CPU或軟體級實施一高可用性模型致使恢復時間增加,並且可能在出現一失效時導致資料遭截留。高可用性模型係設計用來將系統失效狀況降到最低,並且處置諸如記憶體應用伺服器等伺服器的特定失效模式,以使得隨時都可存取該所儲存資料。遭截留資料意指為儲存於NVDIMM之該通用記憶體中尚不具備持久性(即尚未複寫至遠端儲存器)的資料。由於恢復時間及遭截留資料增加,使用者可能對為了通用記憶體所設定的產業目標感到失望。
根據所揭示的實例,雙埠NVDIMM可在一硬體級實施高可用性模型,其對於CPU是透明的。也就是說,一雙埠NVDIMM可在背景中進行一資料移轉,以使得該CPU不用背負上述以單埠NVDIMM進行耗時資料移轉的重
擔。舉例而言,該CPU可請求該雙埠NVDIMM的兩埠口都設定為一主動狀態(即主動-主動冗餘流量)。該主動-主動設定容許該CPU及該NVDIMM管理器電路兩者同時存取該雙埠NVDIMM。關於這點,與該媒體控制器整合之該DMA引擎可透過該雙埠NVDIMM之該主動第二埠,即時或於一預定觸發時間將接收自CPU之該資料複寫至該遠端儲存器。替代地,該CPU可請求該雙埠NVDIMM之該第一埠係設定為一主動狀態,而該雙埠NVDIMM之該第二埠係設定為一被動狀態(即主動-被動冗餘流量)。該主動-被動設定容許該CPU主動存取該雙埠NVDIMM,同時該NVDIMM管理器電路處於待命狀態作為一容錯移轉伺服器。關於這點,一可與該外部NVDIMM管理器電路整合之外部DMA引擎可請求該媒體控制器於一預定觸發時間取回該通用記憶體中之該所儲存資料,以容許該外部DMA引擎透過該雙埠NVDIMM之該被動第二埠,對該遠端儲存器建立該所儲存資料之一離線副本。
該等所揭示的雙埠NVDIMM實例所提供的技術效益及優點在於,增強應用程式及/或作業系統之恢復時間目的及恢復資料目的。這容許應用程式及/或作業系統從通用記憶體效能增強受益,同時在硬體平台中獲得彈性,甚至在其軟體高可用性最複雜支援方面也獲得彈性。這些效益乃使用單一架構化設計來達成,該單一架構化設計使舊有軟體架構過渡到一新領域,應用程式及作業系統在此新領域可直接存取通用記憶體。舉例而言,該等所揭示之雙埠NVDIMM
提供一硬體擴充,可利用系統晶片在記憶體應用伺服器彼此間快速移動一組織通道上遭截留的NVDIMM資料。換句話說,該雙埠NVDIMM可確保該遭截留NVDIMM資料因複寫該資料至遠端儲存器而變持久。該等所揭示實例的組織通道可專屬或共享於一客製化或一傳統網路組織(例如乙太網路)。因此,利用該等所揭示的雙埠NVDIMM,可將單一架構客製化成在一刀鋒包殼中之記憶體應用伺服器彼此間、在不同機架之間、或在資料中心彼此間按照硬體速度移動NVDIMM資料以達到企業級的彈性。
請參照圖1,其根據本揭露之一實例,展示雙埠NVDIMM 100的一方塊圖。應瞭解的是,雙埠NVDIMM 100可包括有附加組件,而且可移除及/或修改本文中所述該等組件之一或多者,但不會脫離雙埠NVDIMM 100之一範疇。雙埠NVDIMM 100可包括有一媒體控制器110、通用記憶體120A至120N(其中通用記憶體組件的數量可大於或等於一)、一第一埠130、以及一第二埠140。
雙埠NVDIMM 100乃是一種可整合成一運算平台之主記憶體的電腦記憶體模組。雙埠NVDIMM 100可包括於一記憶體應用伺服器中,該記憶體應用伺服器乃是一刀鋒包殼之一部分。雙埠NVDIMM 100舉例而言,可包括有用以在電力喪失事件發生時維持資料的通用記憶體120A至120N(例如永續)。該通用記憶體可包括有,但不限於憶阻器為基之記憶體、磁阻隨機存取記憶體(MRAM)、磁泡記憶體、賽道記憶體、鐵電隨機存取記憶體(FRAM)、相變記
憶體(PCM)、可規劃金屬化胞元(PMC)、電阻性隨機存取記憶體(RRAM)、奈米RAM等等。
媒體控制器110舉例來說,可與其相關聯通用記憶體120A至120N連通,並且控制一中央處理單元(CPU)150及一NVDIMM管理器電路160對通用記憶體120A至120N之存取。舉例而言,媒體控制器110可透過第一埠130及第二埠140對通用記憶體120A至120N提供存取。各埠口舉例來說,乃是一介面或共享邊界,CPU 150及NVDIMM管理器電路160可跨越該介面或共享邊界存取通用記憶體120A至120N之區域。
根據一實例,CPU 150可透過第一埠130存取通用記憶體120A至120N。CPU 150可以是一微處理器、一微控制器、一特定應用積體電路(ASIC)、可現場規劃閘陣列(FPGA)、或其他類型之電路,用來對一運算平台進行各種處理功能。在一個實例中,CPU 150乃是一伺服器。CPU 150代表一應用程式及/或作業系統,舉例來說,可透過雙埠NVDIMM 100之第一埠130,對媒體控制器110產生諸如讀取、寫入、調換等基本請求序列。
根據一實例,NVDIMM管理器電路160可透過第二埠140存取通用記憶體120A至120N。NVDIMM管理器電路160位於雙埠NVDIMM 100外部,並且經由一組織介面晶片介接至一網路記憶體組織,該組織架構介面晶片對該網路記憶體組織中諸如複本記憶體應用伺服器、及記憶體陣列伺服器之遠端儲存器具有網路連線。NVDIMM管理器電
路160可以是一系統晶片(SOC),該系統晶片將一處理器核心與記憶體整合成單一晶片。
如下文實例中進一步所論述,一直接記憶體存取(DMA)引擎170可整合成媒體控制器110或NVDIMM管理器電路160。DMA引擎170舉例而言,可在獨立於CPU 150之硬體子系統之間移動資料位元組。圖1中所示的各種組件可藉由一組織互連(例如匯流排)180來耦合,其中組織互連180可以是一於該等各種組件之間轉移資料的通訊系統。
圖2根據本揭露之一實例,展示雙埠NVDIMM 100之一媒體控制器110的一方塊圖。媒體控制器110可包括有並且處理一儲存模組212、一雙埠模組214、及一取回模組216之功能。這些功能提供一含括能力組合,用來在實施雙埠NVDIMM 100時,增強應用程式彈性及資料移轉效能。
儲存模組212舉例來說,可在通用記憶體120A至120N中儲存透過雙埠NVDIMM 100之第一埠130接收自CPU 150之資料,並且將從雙埠NVDIMM 100之第二埠140接收到的資料還原到雙埠NVDIMM 100之通用記憶體120A至120N,以供一複本記憶體應用伺服器之一CPU透過該雙埠NVDIMM之第一埠130存取之用。雙埠模組214舉例來說,可根據透過雙埠NVDIMM 100之第一埠130來自CPU 150之一請求,確認及控制雙埠NVDIMM 100之雙埠設定值。取回模組216舉例來說,可取回該所儲存資料以供透過雙埠NVDIMM 100之第二埠140傳送至外部NVDIMM管理器電路160之用。因此,該所取回資料可透過雙埠NVDIMM
100之第二埠140複寫至遠端儲存器,並且因此具有持久性。
下文更詳細論述的是媒體控制器110之模組112至116。在這項實例中,模組112至116乃是實施於硬體中之電路。在另一實例中,如下文進一步論述者,模組112至116的功能可以是一非暫時性電腦可讀媒體上所儲存、並由一媒體控制器所執行的機器可讀指令。
圖3根據本揭露之一實例,展示雙埠NVDIMM 100之一主動-被動實作態樣的一方塊圖。在雙埠NVDIMM 100的這個實作態樣中,DMA引擎170係位於雙埠NVDIMM 100外部,並且與NVDIMM管理器電路160整合。CPU 150可如弧線310所示透過第一埠130對該媒體控制器發出請求。舉例而言,CPU 150可透第一埠130發出的請求包括有一用以將資料儲存於通用記憶體120A至120N中之寫入請求、及一雙埠設定請求。該雙埠設定請求可包括有一用於以下動作之請求:使媒體控制器110將雙埠NVDIMM 110之第一埠130設定為一主動狀態,以使得CPU 150能主動存取雙埠NVDIMM 100,並且將雙埠NVDIMM 100之第二埠140設定為一被動狀態,用來將NVDIMM管理器電路160指定為一待機容錯移轉伺服器。
根據這項實例,媒體控制器110可於一預定觸發時間從外部DMA引擎170接收一請求,用以取回通用記憶體120A至120N中之該所儲存資料,並且透過該雙埠NVDIMM之被動第二埠140,傳送該所儲存資料至外部DMA引擎170,如弧線320所示。外部DMA引擎170可接著經由
NVDIMM管理器電路160藉由在遠端儲存器中建立該所儲存資料之一離線副本而使該所儲存資料具有持久性。
圖4根據本揭露之一實例,展示記憶體組織架構400的一方塊圖,該記憶體組織架構400包括有雙埠NVDIMM 100之該主動-被動實作態樣。應瞭解的是,記憶體組織架構400可包括有附加組件,而且可移除及/或修改本文中所述該等組件之一或多者,但不會脫離記憶體組織架構400之一範疇。記憶體組織架構400可包括有一主要應用記憶體伺服器410、一記憶體組織管理器420、組織網路430、記憶體陣列伺服器440、及次要複本應用記憶體伺服器450,上列屬於唯讀應用記憶體伺服器。
主要應用記憶體伺服器410可包括有一處理器412、雙埠NVDIMM 414、一NVDIMM管理器電路416、以及一組織互連晶片(FIC)418。處理器412舉例而言,可以是上述的CPU 150。處理器412可經由雙埠NVDIMM 414之該等第一埠,可發出一請求以在通用記憶體中儲存資料,並且請求雙埠NVDIMM 414之該等第二埠設定為一被動狀態以將NVDIMM管理器電路416指定為一待機容錯移轉伺服器。NVDIMM管理器電路416舉例而言,可以是上述的NVDIMM管理器電路160。在此記憶體組織架構400中,DMA引擎417與NVDIMM管理器電路416整合。NVDIMM管理器電路416之DMA引擎417可透過雙埠NVDIMM 414之第二埠存取該等雙埠NVDIMM,以於一預定觸發時間取回所儲存資料。DMA引擎417可接著將所取回資料位元組經由
FIC 418移動至遠端儲存器及組織網路430,以在諸如記憶體陣列伺服器440及/或次要複本應用記憶體伺服器450之遠端儲存器中建立該所儲存資料之一持久性離線副本。
根據一實例,主要應用記憶體伺服器410可經由帶外管理通道,將參數遞送至組織管理器420。這些參數可包括有與組織網路430及/或記憶體陣列伺服器440上加密金鑰之加密及管理相關聯的參數。這些參數亦可包括有高可用性屬性及容量(例如靜態的或動態的),並且根據雙埠NVDIMM 414、組織管理器420及記憶體陣列伺服器440所提供的服務層協議(SLA)來存取要求(例如期望延遲、佇列深度等)。
組織管理器420可設置、監測並協調記憶體組織架構400之一所選擇高可用性能力。舉例而言,組織管理器420可協同執行該等高可用性能力之該等應用記憶體伺服器,管理記憶體陣列伺服器440之通用記憶體範圍,該等高可用性能力係針對雙埠NVDIMM 414而啟用。組織管理器420可認可記憶體陣列伺服器440上的記憶體範圍。可為了儲存及存取最佳化而將這些已認可記憶體範圍加密、壓縮或甚至是剖析。組織管理器420可傳送記憶體陣列伺服器440之事件通知至該記憶體組織中之該等應用記憶體伺服器。根據其他實例,組織管理器440可將已認可記憶體範圍移轉至其他記憶體陣列伺服器,將組織網路430中所有該等(例如主要410及次要450)應用記憶體伺服器與記憶體陣列伺服器440同步更新,以及可控制是否要或不要在組織網路
430中共享記憶體陣列伺服器440。
根據一實例,NVDIMM管理器電路416可與組織管理器420同步,使用網路組織430將一具有可能最佳化(例如加密及壓縮)之資料工作組合移動至所選擇記憶體陣列伺服器440。根據另一實例,在組織管理器420的控制下,對次要複本應用記憶體伺服器450(例如作為主要應用記憶體伺服器410之一次要複本的其他記憶體應用伺服器或記憶體應用伺服器之機架)的連接係依照持久且資料安全的方式來建立,以提供另一層級之高可用性冗餘及存取效能增強效果。
圖5根據本揭露之一實例,展示該雙埠NVDIMM 100之一主動-主動實作態樣的一方塊圖。在雙埠NVDIMM 100的這個實作態樣中,DMA引擎170與媒體控制器110整合。CPU 150可如弧線510所示透過第一埠130對該媒體控制110器發出請求。舉例而言,CPU 150可透第一埠130發出的請求包括有一用以將資料儲存於通用記憶體120A至120N中之寫入請求、及一雙埠設定請求。該雙埠設定請求可包括有一用於以下動作之請求:令媒體控制器110將雙埠NVDIMM 110之第一埠130、及雙埠NVDIMM 100之第二埠140設定為主動狀態,以使得CPU 150與NVDIMM管理器電路160可同時存取雙埠NVDIMM 100。
根據這項實例,媒體控制器110之整合式DMA引擎170可如弧線520所示,將該所接收資料儲存到通用記憶體120A至120N,並且如弧線530自動透過主動第二埠140將
該資料之該等位元組即時移動至NVDIMM管理器電路160,以將該資料複寫至遠端儲存器中。
圖6根據本揭露之另一實例,展示該雙埠NVDIMM 100之一主動-主動實作態樣的一方塊圖。在雙埠NVDIMM 100的這個實作態樣中,DMA引擎170亦與媒體控制器110整合。CPU 150可如弧線610所示,透過第一埠130對該媒體控制110器發出請求。舉例而言,CPU 150可透第一埠130發出的請求包括有一用以將資料儲存於通用記憶體120A至120N中之寫入請求、及一雙埠設定請求。該雙埠設定請求可包括有一用於以下動作之請求:令媒體控制器110將雙埠NVDIMM 110之第一埠130、及雙埠NVDIMM 100之第二埠140設定為主動狀態,以使得CPU 150與NVDIMM管理器電路160可同時存取雙埠NVDIMM 100。
然而,根據這項實例,整合式DMA引擎170未即時複寫接收自該CPU之該資料。反而,記憶體控制器110之整合式DMA引擎170可如弧線620所示,於一預定觸發時間取回通用記憶體120A至120N中之該所儲存資料。關於這點,整合式DMA引擎170可如弧線330所示,透過該雙埠NVDIMM之被動第二埠140,傳送該所儲存資料至NVDIMM管理器電路160,以在遠端儲存器中複寫該資料。
圖7根據本揭露之一實例,展示記憶體組織架構700的一方塊圖,該記憶體組織架構包括有該雙埠NVDIMM 100之該主動-主動實作態樣。應瞭解的是,記憶體組織架構700可包括有附加組件,而且可移除及/或修改本文中所
述該等組件之一或多者,但不會脫離記憶體組織架構700之一範疇。記憶體組織架構700可包括有一主要刀鋒包殼710、一記憶體組織管理器720、組織網路730、記憶體陣列伺服器740、以及次要刀鋒包殼750。
該主要刀鋒包殼可包括有伺服器刀鋒,該等伺服器刀鋒包含有複數個應用記憶體伺服器711。複數個應用記憶體伺服器711各可包括有一處理器712及雙埠NVDIMM 713。處理器712舉例而言,可以是上述的CPU 150。在這項實例中,雙埠NVDIMM 713各具有整合於其記憶體控制器內之一DMA引擎。處理器712可經由雙埠NVDIMM 713之該等第一埠,發出一用以進行以下動作的請求:在通用記憶體中儲存資料,以及請求將雙埠NVDIMM 711之該等第二埠設定為一主動狀態,以容許互連擴充插槽模組(ICM)715之NVDIMM管理器電路714對雙埠NVDIMM 711進行同時存取。NVDIMM管理器電路714係整合於記憶體刀鋒包殼710之ICM 715中。ICM 715舉例而言,亦可包括有用於在ICM 715內進行儲存之雙埠NVDIMM。
在這項實例中,該等DMA引擎係整合於應用記憶體伺服器711之各該複數個雙埠NVDIMM 713之媒體控制器內,可自動透過雙埠NVDIMM 713之該等主動第二埠,將接收自處理器712之資料位元組即時移動至NVDIMM管理器714,以供複寫至ICM 715上該等雙埠NVDIMM之用。根據另一實例,該等DMA引擎反而可於一預定時間,觸發透過該等主動第二埠將該等所儲存資料移轉至
NVDIMM管理器714,以供複寫至ICM 715上該等雙埠NVDIMM之用。
記憶體組織架構700乃是一階層式解決方案,其中ICM 715可用於快速複寫出自複數個記憶體應用伺服器711的資料。此階層式解決方案容許所複寫資料儲存於主要記憶體刀鋒包殼710內。隨著在ICM擴充插槽715內(但位於複數個記憶體應用伺服器711遠端處)進行資料複寫,可管理並控制所複寫資料作為持久性儲存之用。由於刀鋒記憶體包殼710中儲存有持久性資料,緊密耦合之本機為中心、高可用性域(例如該包殼內之一主動-主動冗餘應用記憶體伺服器解決方案)是有可能的。
根據另一實例,NVDIMM管理器714可與組織管理器720搭配,經由組織網路730將所儲存資料複寫至記憶體陣列伺服器740及次要刀鋒包殼750,用以提供另一層級之高可用性冗餘,並且使記憶體組織架構700中的效能增強。組織管理器720、組織網路730、記憶體陣列伺服器740、及次要刀鋒包殼750的功能類似於以上圖4中所述組織管理器420、組織網路430、記憶體陣列伺服器440、及次要複本應用記憶體伺服器450的功能。
請參照圖8,其根據本揭露之一實例,展示有一方法800的一流程圖,用來使用該雙埠NVDIMM促進高可用性能力。對於所屬技術領域中具有通常知識者應該顯而易見的是,方法800代表廣義例示,並且可新增其他序列,或可移除、修改或重新安排現存次序,但不會脫離本方法之
範疇。
於程序塊810中,媒體控制器110之儲存模組212舉例來說,可在該雙埠NVDIMM之通用記憶體中,儲存透過該雙埠NVDIMM之一第一埠接收自一中央處理單元(CPU)之資料。根據另一實例,儲存模組212亦可將從該雙埠NVDIMM之一第二埠接收到的資料還原到該雙埠NVDIMM之該通用記憶體,以供一複本記憶體應用伺服器之一CPU透過該雙埠NVDIMM之該第一埠存取之用。
於程序塊820中,媒體控制器110之雙埠模組214舉例來說,可透過該雙埠NVDIMM之該第一埠自該CPU接收用於該雙埠NVDIMM之雙埠設定值。該所接收雙埠設定值可包括有一主動-主動或主動-被動高可用性設定值。
回應於從該CPU接收主動-主動設定值,雙埠模組214可啟動該雙埠NVDIMM之該第一埠及該第二埠,以使得該CPU及NVDIMM管理器電路可同時存取該雙埠NVDIMM。該直接記憶體存取(DMA)引擎可與該雙埠NVDIMM之該媒體控制器整合以供該主動-主動設定之用。
替代地,雙埠模組214回應於從該CPU接收主動-被動設定值,可將該雙埠NVDIMM之該第一埠設定為一主動狀態,以使得該CPU能主動存取該雙埠NVDIMM,並且將該雙埠NVDIMM之該第二埠設定為一被動狀態,用來將該NVDIMM管理器電路指定為一待機容錯移轉伺服器。該直接記憶體存取(DMA)引擎可與一外部NVDIMM管理器電路整合以供該主動-主動設定之用。
於程序塊830,媒體控制器110之取回模組216可取回接收自一中央處理單元(CPU)之該資料,並且基於該等所接收雙埠設定值,透過該雙埠NVDIMM之一第二埠,傳送該資料至該外部NVDIMM管理器電路。
舉例而言,若該所接收雙埠設定值屬於主動-主動,則取回模組216可自動透過該雙埠NVDIMM之該主動第二埠,將接收自該CPU之該資料即時傳送至該外部NVDIMM管理器電路以供複寫至遠端儲存器之用。在該所接收雙埠設定值屬於主動-主動之另一實例中,取回模組216可等待一預定觸發時間,以透過該雙埠NVDIMM之該主動第二埠,傳送通用記憶體中所儲存之該資料至該NVDIMM管理器電路以供複寫至遠端儲存器之用。
替代地,若該所接收雙埠設定值屬於主動-被動,則取回模組216可於該預定時間取回該通用記憶體中所儲存之該資料,如該DMA引擎所請求者。關於這點,取回模組216可透過該雙埠NVDIMM之該被動第二埠傳送該所取回資料至該NVDIMM管理器電路,以對遠端儲存器建立該資料之一離線副本。
方法800中所提操作有一些或全部可含在任何所欲電腦可存取媒體中作為公用程式、程式、或次程式。另外,方法800可藉由電腦程式來具體實現,可依照有效及無效等各種形式而存在。舉例而言,可作為包括有原始碼、物件碼、可執行碼、或其他格式之機器可讀指令而存在。以上任何一者可在一非暫時性電腦可讀儲存媒體上具體實現。
非暫時性電腦可讀媒體之實例包括有習知的電腦系統RAM、ROM、EPROM、EEPROM、及磁碟或光碟、或磁帶或光帶。因此,要瞭解的是,任何能夠執行上述功能之電子裝置可進行以上列舉的那些功能。
現請參照圖9,根據一例示性實作態樣,所示為一運算裝置900之一示意圖,該運算裝置可運用於進行媒體控制器110之各種功能。裝置900可包括有一藉由一組織互連920耦合至一電腦可讀媒體910之控制器902。電腦可讀媒體910可以是任何參與對控制器902提供指令以供執行之用的適當媒體。舉例而言,電腦可讀媒體910可以是諸如一光碟或一磁碟之非依電性媒體;諸如記憶體之依電性媒體。
電腦可讀媒體910可儲存用以進行方法800之指令。舉例而言,電腦可讀媒體910可包括有機器可讀指令,例如用以在該雙埠NVDIMM之通用記憶體中儲存透過該雙埠NVDIMM之一第一埠從一中央處理單元(CPU)接收到的資料之儲存指令912、用以指定透過該雙埠NVDIMM之該第一埠接收自該CPU用於該雙埠NVDIMM之雙埠設定值之雙埠指令914、以及用以取回接收自該CPU之該資料並基於該等所接收雙埠設定值透過該雙埠NVDIMM之一第二埠傳送該資料至一外部NVDIMM管理器電路之取回/傳送指令916。關於這點,電腦可讀媒體910可包括有用以在由控制器902執行時進行方法800之機器可讀指令。
本文中所述及所示乃是本揭露之實例還有一些變例。本文中使用的用語、說明及圖式係僅以例示方式提
出,而且不意味著限制。許多變例在本揭露的範疇內是有可能的,本揭露係意欲要由以下申請專利範圍及其均等論述來界定,其中除非另有所指,所有用語都要以最廣義合理的概念來看待。
100‧‧‧雙埠NVDIMM
110‧‧‧媒體控制器
120A~120N‧‧‧通用記憶體
130‧‧‧第一埠
140‧‧‧第二埠
150‧‧‧中央處理單元
160‧‧‧NVDIMM管理器電路
170‧‧‧DMA引擎
180‧‧‧組織互連
Claims (15)
- 一種雙埠非依電性雙直列記憶體模組(NVDIMM),其包含有:一第一埠,該第一埠使一中央處理單元(CPU)得以存取該雙埠NVDIMM之通用記憶體;一第二埠,該第二埠使一外部NVDIMM管理器電路得以存取該雙埠NVDIMM之該通用記憶體,其中該NVDIMM管理器電路與遠端儲存器介接;以及一用以進行下列動作之媒體控制器在該通用記憶體中儲存透過該雙埠NVDIMM之該第一埠接收自該CPU之資料,控制透過該雙埠NVDIMM之該第一埠接收自該CPU用於該雙埠NVDIMM之雙埠設定值,其中該等雙埠設定值包括有主動-主動冗餘流量(redundancy flow)及主動-被動冗餘流量其中至少一者;以及透過該雙埠NVDIMM之該第二埠傳送該所儲存資料至該NVDIMM管理器電路。
- 如請求項1之雙埠NVDIMM,其中回應於將該等雙埠設定值控制為該主動-主動冗餘流量,該媒體控制器是用來將該雙埠NVDIMM之該第一埠及該第二埠兩者都設定為一主動狀態,以使得該CPU及NVDIMM管理器電路可同時存取該雙埠NVDIMM。
- 如請求項2之雙埠NVDIMM,其中該媒體控制器包含有一整合式直接記憶體存取(DMA)引擎,用來透過該雙埠NVDIMM之該主動第二埠,將該所儲存資料移轉至該NVDIMM管理器電路以供複寫至遠端儲存器之用。
- 如請求項3之雙埠NVDIMM,其中該整合式DMA引擎是用來進行下列動作其中至少一者:自動透過該雙埠NVDIMM之該主動第二埠,即時將該所儲存資料複寫至該遠端儲存器;以及於一預定時間取回通用記憶體中之該所儲存資料,以透過該雙埠NVDIMM之該主動第二埠,傳送至該NVDIMM管理器電路以供複寫至該遠端儲存器之用。
- 如請求項1之雙埠NVDIMM,其中該媒體控制器回應於將該等雙埠設定值控制為該主動-被動冗餘流量,將該雙埠NVDIMM之該第一埠設定為一主動狀態,以使得該CPU能主動存取該雙埠NVDIMM,並且將該雙埠NVDIMM之該第二埠設定為一被動狀態,用來將該NVDIMM管理器電路指定為一待機容錯移轉伺服器。
- 如請求項5之雙埠NVDIMM,其中該媒體控制器是用來:從一與該NVDIMM管理器電路整合之外部DMA引擎接收一請求,以透過該雙埠NVDIMM之該被動第二埠,於一預定時間從通用記憶體取回該所儲存資料;以及透過該雙埠NVDIMM之該被動第二埠,將該所儲存資料傳送至該NVDIMM管理器電路,以在該遠端儲存器中建立該所儲存資料之一離線副本。
- 如請求項1之雙埠NVDIMM,其中該媒體控制器是用來還原該通用記憶體中從該雙埠NVDIMM之該第二埠接收到的資料,以供一複本記憶體應用伺服器之一CPU存取之用。
- 如請求項1之雙埠NVDIMM,其中該媒體控制器是用來將該所儲存資料傳送至遠端儲存器,該遠端儲存器包含有一記憶體陣列伺服器、一複本記憶體應用伺服器、及位於一互連內之永續儲存器其中至少一者,其中該遠端儲存器位於一應用記憶體伺服器的外部,該應用記憶體伺服器包含有該媒體控制器及該CPU。
- 一種使用一雙埠非依電性雙直列記憶體模組(NVDIMM)促進高可用性能力之方法,其包含有:藉由一媒體控制器,在該雙埠NVDIMM之通用記憶體中,儲存透過該雙埠NVDIMM之一第一埠接收自一中央處理單元(CPU)之資料;控制透過該雙埠NVDIMM之該第一埠接收自該CPU用於該雙埠NVDIMM之雙埠設定值;以及透過該雙埠NVDIMM之一第二埠傳送該資料至一外部NVDIMM管理器電路。
- 如請求項9之方法,其中一直接記憶體存取(DMA)引擎與該雙埠NVDIMM之該媒體控制器整合,以及控制該等雙埠設定值包含有啟動該雙埠NVDIMM之該第一埠及該第二埠兩者,以使得該CPU及NVDIMM管理器電路可同時存取該雙埠NVDIMM。
- 如請求項10之方法,其中傳送該資料至該NVDIMM管理器電路更包含有下列其中一者:自動透過該雙埠NVDIMM之該主動第二埠,即時傳送該資料至該NVDIMM管理器電路以供複寫至遠端儲存器之用,以及於一預定觸發時間,透過該雙埠NVDIMM之該主動第二埠,傳送通用記憶體中所儲存之該資料至該NVDIMM管理器電路以供複寫至遠端儲存器之用。
- 如請求項9之方法,其中一DMA引擎與該NVDIMM管理器電路整合,以及其中控制該雙埠設定值更包含有將該雙埠NVDIMM之該第一埠設定為一主動狀態以使得該CPU能主動存取該雙埠NVDIMM、及將該雙埠NVDIMM之該第二埠設定為一被動狀態以將該NVDIMM管理器電路指定為一待機容錯移轉伺服器。
- 如請求項12之方法,其中傳送該資料至該NVDIMM管理器電路更包含有:於該預定時間取回該DMA引擎所請求之該通用記憶體中所儲存之該資料,以及透過該雙埠NVDIMM之該被動第二埠傳送該資料至該NVDIMM管理器電路,以對遠端儲存器建立該資料之一離線副本。
- 如請求項9之方法,其包含有將從該雙埠NVDIMM之該第二埠接收到的資料還原到該雙埠NVDIMM之該通用記憶體,以供一複本記憶體應用伺服器之一CPU透過該 雙埠NVDIMM之該第一埠存取之用。
- 一種使用一雙埠非依電性雙直列記憶體模組(NVDIMM)促進高可用性能力之非暫時性電腦可讀媒體,其包括有可藉由一處理器執行用以進行下列動作的機器可讀指令:透過該雙埠NVDIMM之一第一埠從一中央處理單元(CPU)接收資料;在該雙埠NVDIMM之通用記憶體中儲存該資料;確認一由該CPU所選擇之高可用性設定值,其中該高可用性設定值包括有一主動-主動冗餘流量及一主動-被動冗餘流量其中至少一者;以及基於該確認之高可用性設定值,透過該雙埠NVDIMM之一第二埠傳送該所儲存資料至一外部NVDIMM管理器電路以供複寫至遠端儲存器之用。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/028625 WO2016175857A1 (en) | 2015-04-30 | 2015-04-30 | Dual-port non-volatile dual in-line memory modules |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201642120A true TW201642120A (zh) | 2016-12-01 |
Family
ID=57198678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105109714A TW201642120A (zh) | 2015-04-30 | 2016-03-28 | 雙埠非依電性雙直列記憶體模組 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10649680B2 (zh) |
TW (1) | TW201642120A (zh) |
WO (1) | WO2016175857A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11023140B2 (en) * | 2017-12-21 | 2021-06-01 | Micron Technology, Inc. | NVDIMM with removable storage |
US10884776B2 (en) | 2018-04-27 | 2021-01-05 | International Business Machines Corporation | Seamless virtual machine halt and restart on a server |
US11099779B2 (en) | 2018-09-24 | 2021-08-24 | Micron Technology, Inc. | Addressing in memory with a read identification (RID) number |
US10732892B2 (en) | 2018-09-24 | 2020-08-04 | Micron Technology, Inc. | Data transfer in port switch memory |
US10949117B2 (en) | 2018-09-24 | 2021-03-16 | Micron Technology, Inc. | Direct data transfer in memory and between devices of a memory module |
US20200272564A1 (en) | 2019-02-22 | 2020-08-27 | Micron Technology, Inc. | Memory device interface and method |
US11301403B2 (en) | 2019-03-01 | 2022-04-12 | Micron Technology, Inc. | Command bus in memory |
US10789015B2 (en) | 2019-03-01 | 2020-09-29 | Micron Technology, Inc. | Background operations in memory |
US11126251B2 (en) * | 2019-03-01 | 2021-09-21 | Micron Technology, Inc. | Power management in memory |
US10901734B2 (en) | 2019-03-01 | 2021-01-26 | Micron Technology, Inc. | Memory mapping using commands to transfer data and/or perform logic operations |
US11003396B2 (en) | 2019-03-01 | 2021-05-11 | Micron Technology, Inc. | Dual speed memory |
EP4081954A4 (en) | 2019-12-27 | 2023-04-05 | Micron Technology, Inc. | NEUROMORPHIC STORAGE DEVICE AND METHOD |
EP4085458A4 (en) | 2019-12-30 | 2023-05-31 | Micron Technology, Inc. | STORAGE DEVICE INTERFACE AND METHOD |
US11538508B2 (en) * | 2019-12-31 | 2022-12-27 | Micron Technology, Inc. | Memory module multiple port buffer techniques |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4633440A (en) | 1984-12-31 | 1986-12-30 | International Business Machines | Multi-port memory chip in a hierarchical memory |
US7024518B2 (en) * | 1998-02-13 | 2006-04-04 | Intel Corporation | Dual-port buffer-to-memory interface |
US6816889B1 (en) * | 2001-07-03 | 2004-11-09 | Advanced Micro Devices, Inc. | Assignment of dual port memory banks for a CPU and a host channel adapter in an InfiniBand computing node |
US20060095620A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for merging bus data in a memory subsystem |
US8874831B2 (en) | 2007-06-01 | 2014-10-28 | Netlist, Inc. | Flash-DRAM hybrid memory module |
KR20110013867A (ko) * | 2009-08-04 | 2011-02-10 | 삼성전자주식회사 | 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템 |
US9672169B2 (en) * | 2010-06-30 | 2017-06-06 | Texas Instruments Incorporated | Dual in line memory module with multiple memory interfaces |
US8949502B2 (en) * | 2010-11-18 | 2015-02-03 | Nimble Storage, Inc. | PCIe NVRAM card based on NVDIMM |
US9552175B2 (en) | 2011-02-08 | 2017-01-24 | Diablo Technologies Inc. | System and method for providing a command buffer in a memory system |
WO2014003764A1 (en) | 2012-06-28 | 2014-01-03 | Hewlett-Packard Development Company, L.P. | Memory module with a dual-port buffer |
US10031820B2 (en) * | 2013-01-17 | 2018-07-24 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Mirroring high performance and high availablity applications across server computers |
GB2510180A (en) * | 2013-01-29 | 2014-07-30 | Ibm | Selective restoration of data from non-volatile storage to volatile memory |
US9471259B2 (en) * | 2014-01-28 | 2016-10-18 | Netapp, Inc. | Shared storage architecture |
US9887008B2 (en) * | 2014-03-10 | 2018-02-06 | Futurewei Technologies, Inc. | DDR4-SSD dual-port DIMM device |
US9852779B2 (en) * | 2014-03-12 | 2017-12-26 | Futurewei Technologies, Inc. | Dual-port DDR4-DIMMs of SDRAM and NVRAM for SSD-blades and multi-CPU servers |
US20150261446A1 (en) * | 2014-03-12 | 2015-09-17 | Futurewei Technologies, Inc. | Ddr4-onfi ssd 1-to-n bus adaptation and expansion controller |
US9552217B2 (en) * | 2014-06-28 | 2017-01-24 | Vmware, Inc. | Using active/active asynchronous replicated storage for live migration |
-
2015
- 2015-04-30 US US15/540,237 patent/US10649680B2/en active Active
- 2015-04-30 WO PCT/US2015/028625 patent/WO2016175857A1/en active Application Filing
-
2016
- 2016-03-28 TW TW105109714A patent/TW201642120A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US10649680B2 (en) | 2020-05-12 |
US20180004422A1 (en) | 2018-01-04 |
WO2016175857A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201642120A (zh) | 雙埠非依電性雙直列記憶體模組 | |
EP3028162B1 (en) | Direct access to persistent memory of shared storage | |
US10382540B2 (en) | Synchronizing storage state information | |
JP2023071843A (ja) | 分散型ファイルシステムのための暗号化 | |
KR20200078382A (ko) | 개시자 모드를 갖는 솔리드-스테이트 드라이브 | |
US10157017B2 (en) | Replicating data using dual-port non-volatile dual in-line memory modules | |
US20170242822A1 (en) | Dram appliance for data persistence | |
US20170371776A1 (en) | Migrating data using dual-port non-volatile dual in-line memory modules | |
US10915448B2 (en) | Storage device initiated copy back operation | |
TW200413908A (en) | Communication-link-attached persistent memory device | |
US9367398B1 (en) | Backing up journal data to a memory of another node | |
US10901626B1 (en) | Storage device | |
US20100082920A1 (en) | Tracking Metadata Changes During Data Copy In A Storage System | |
EP2979187B1 (en) | Data flush of group table | |
US10872036B1 (en) | Methods for facilitating efficient storage operations using host-managed solid-state disks and devices thereof | |
US11693818B2 (en) | Data migration in a distributive file system | |
TW201107981A (en) | Method and apparatus for protecting the integrity of cached data in a direct-attached storage (DAS) system | |
US11994944B2 (en) | Efficient networking for a distributed storage system | |
US20220137864A1 (en) | Memory expander, host device using memory expander, and operation method of sever system including memory expander | |
US10757175B2 (en) | Synchronization optimization based upon allocation data | |
US20190340089A1 (en) | Method and apparatus to provide uninterrupted operation of mission critical distributed in-memory applications | |
US10942807B2 (en) | Storage system spanning multiple failure domains | |
US11238010B2 (en) | Sand timer algorithm for tracking in-flight data storage requests for data replication | |
EP3343384A1 (en) | Data operations performed between computing nodes using direct memory access (dma) | |
US10191690B2 (en) | Storage system, control device, memory device, data access method, and program recording medium |