TW201945920A - 儲存備份記憶體封裝中之狀態管理 - Google Patents
儲存備份記憶體封裝中之狀態管理 Download PDFInfo
- Publication number
- TW201945920A TW201945920A TW108104311A TW108104311A TW201945920A TW 201945920 A TW201945920 A TW 201945920A TW 108104311 A TW108104311 A TW 108104311A TW 108104311 A TW108104311 A TW 108104311A TW 201945920 A TW201945920 A TW 201945920A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- attribute
- memory package
- interface
- package
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1063—Control signal output circuits, e.g. status or busy flags, feedback command signals
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0637—Permissions
-
- 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
- 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/068—Hybrid storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/005—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本文中揭示用於儲存備份記憶體中之狀態管理之器件及技術。可在該記憶體封裝之一第一介面處接收一經編碼訊息。此處,該記憶體封裝亦包含至一主機之一第二介面。可解碼該訊息以獲得包含一屬性之一經解碼訊息。可比較該屬性與一屬性集,該屬性集對應於該記憶體封裝之一廣告狀態。該比較實現該屬性係在該屬性集中之一判定。接著,可回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
Description
本申請案係關於儲存備份記憶體封裝,且更特定而言係關於儲存備份記憶體封裝中之狀態管理。
記憶體器件通常提供為電腦或其他電子器件中之內部半導體積體電路。存在諸多不同類型之記憶體,包含揮發性及非揮發性記憶體。記憶體器件儲存用於其他組件之資料。可由處理器或其他組件直接使用位元組可定址記憶體器件來儲存當前狀態資料以及不直接連接至一當前系統狀態之資料。區塊可定址器件(諸如硬碟機)係通常不能由系統組件直接用來儲存狀態資訊之儲存器件。通常,一記憶體器件用作一中間件,其中區塊定址資料在由系統使用之前載入至記憶體器件中。
揮發性記憶體需要電力來維持其資料,且包含隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)或同步動態隨機存取記憶體(SDRAM)等。揮發性記憶體器件廣泛地部署於運算系統中。通常,不同於可在頁面、區塊等中定址之儲存器件,此等器件係位元組可定址且因此可直接自處理器存取。如同SRAM及DRAM之揮發性記憶體亦足夠快以滿足使用者對器件效能之預期。
雖然揮發性記憶體之電力相依性在諸多境況下不是問題,但存在其中資料(諸如系統狀態資料、未提交異動等)損耗可成問題之例項。在此等境況中,損耗揮發性記憶體之電力可意謂資料損壞或不能診斷一問題,因為當揮發性記憶體斷電時問題之證據會丟失。為了解決此等例項,已嘗試各種技術。例如,電池備份RAM使用一輔助獨立電源、一電池來維持揮發性記憶體內容以防主電源停止運作。歸因於有限儲存持續時間(例如,當電池不再提供電力而丟失內容時),電池備份RAM具有有限效率。
非揮發性雙列直插記憶體模組(NVDIMM)組合一風行揮發性記憶體封裝標準系列(DIMM)與非揮發性儲存器(諸如NAND快閃記憶體)以提供揮發性記憶體內容之斷電保持達延長時間段。聯合電子器件工程委員會(JEDEC)已頒布與DIMM相關之若干標準,包含雙倍資料速率(DDR)記憶體介面及使用DDR介面之NVDIMM。NVDIMM-N係一JEDEC標準系列,其中一DIMM除包含DRAM或SRAM揮發性記憶體以外亦包含快閃儲存器及一控制器。位元組可定址能量備份介面(BAEBI)之JEDEC標準245B.01 (JESD245B.05)使用一NVDIMM之一實例提供許多實施方案及互動細節。
本申請案揭示一種用於一儲存備份記憶體封裝中之狀態管理之記憶體封裝,該記憶體封裝包括:一揮發性部分;一非揮發性部分;一第一介面,其用來接收一經編碼訊息;一第二介面,其用來與一主機通信;及一解碼器,其經耦合至該第一介面,該解碼器用來:解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息;比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
本申請案亦揭示一種方法,其包括:在一記憶體封裝之一第一介面處接收一經編碼訊息,該記憶體封裝包含用來與一主機通信之一第二介面;解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息;比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
本申請案進一步揭示至少一種包含指令之機器可讀媒體,該等指令在由一記憶體封裝之處理電路系統執行時致使該記憶體封裝執行包括以下各者之操作:在該記憶體封裝之一第一介面處接收一經編碼訊息,該記憶體封裝包含用來與一主機通信之一第二介面;解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息;比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
優先權申請案
本申請案主張2018年2月8日申請之美國臨時申請案第62/627,949號及2018年8月3日申請之美國申請案第16/054,144號之優先權的權利,該等案之全部內容係以引用的方式併入本文中。
下文論述通常涉及符合NVDIMM-N標準系列之儲存備份記憶體封裝。然而,其他儲存備份記憶體封裝亦可受益於下文所描述之器件及技術。如上所述,NVDIMM-N器件將一NAND快閃記憶體器件定位於模組上。一控制器亦包含於模組上。控制器通常係一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他處理電路系統,其經配置或經程式化以管理模組之DRAM或SDRAM揮發性部分與快閃記憶體非揮發性部分(例如,備份DRAM或SDRAM記憶體之儲存器)之間的資料傳送。通常,控制器針對能量、空間(例如,晶粒大小)或程序(例如,使用較大特徵大小)效率而非針對運算速度最佳化。NVDIMM-N器件包含兩個介面,使一主機(例如,處理器)能夠將模組用於系統記憶體之一DDR版本4 (DDR4)記憶體介面及使主機能夠直接與控制器通信之一積體電路間(I2C、I2
C或IIC)匯流排。
I2C係一封包交換匯流排,其使用一雙線連接(例如,一條線用於時脈信號且一條線用於資料信號)且支援1百萬赫茲資料速率。因此,I2C對一系統內之諸多離散積體電路提供一靈活且有效之加成。然而,在與DDR4記憶體介面相比時,I2C非常慢,其中I2C具有每秒100或400千位元(Kbit)之輸送量,且DDR4具有每秒1,600百萬位元至3,200百萬位元(Mbit)之間的輸送量之資料速率。主機透過I2C與控制器通信通常涉及讀取及寫入控制器之暫存器。例如,一主機可藉由經由I2C設定開始及結束位址暫存器且致動一保存暫存器來將一部分保存命令發出至控制器。
一些NVDIMM-N I2C協定(諸如BAEBI 2.1-1標準中定義之協定)具有隱式述詞(例如,之前發生)要求:若不考量要求,則可靠之正確通信成為問題。例如,災難性保存工作流程如下:
1.主機等待清除NVDIMM_CMD_STATUS0暫存器中之「進行中操作(Operation in Progress)」位元。此可經由主機進行I2C讀取輪詢(例如,主機經由I2C介面週期性地檢查暫存器值)來完成。
2.接著,主機設定NVDIMM_MGT_CMD0暫存器中之位元2(例如,清除CSAVE_STATUS暫存器)。此係清除狀態暫存器之一主機I2C寫入命令。此處,不要求主機等待任何種類之回應;意謂著此係一盲寫。
3.接著,主機設定NVDIMM_FUNC_CMD暫存器中之START_CSAVE位元。此係另一盲主機I2C寫入,因為主機不等待一回應。控制器需要設定「NVDIMM_CMD_STATUS0中之對應進行中位元」。
4.接著,主機檢查NVDIMM_CMD_STATUS0暫存器中之災難性保存進行中位元。若此檢查係清晰的,則主機檢查CSAVE_STATUS暫存器。若CSAVE_STATUS暫存器未指示災難性保存操作已完成,則主機重試操作3。控制器設定災難性保存進行中位元意欲在操作4中主機檢查彼位元之前,在操作3中發生。然而,如上所述,控制器通常不針對速度最佳化,且可遠慢於主機。此導致一可能競賽條件,其中控制器在主機執行操作4之前無法在操作3中設定適當狀態位元。因為控制器尚未修改進行中位元,所以主機將操作4中之暫存器值誤譯為控制器完成災難性保存,而事實上控制器甚至還沒來得及修改狀態以指示其已開始操作。主機對控制器狀態之此誤譯可導致若干操作故障,諸如主機未重試已失敗的操作。
本發明之態樣涉及一儲存備份記憶體或記憶體子系統(例如,「記憶體器件」)中之狀態管理。一記憶體子系統之一實例係一儲存系統,諸如一固態硬碟(SSD)。在一些實施例中,記憶體子系統係一混合記憶體/儲存子系統。一般而言,一主機系統可利用包含一或多個記憶體組件之一記憶體子系統。主機系統可提供待儲存於記憶體子系統處之資料且可請求自記憶體子系統擷取之資料。
為了解決競賽條件問題,修改控制器之I2C匯流排介面以檢驗(例如,窺探)主機之訊息且判定封包是否涉及對應於一廣告狀態指示(例如,可在儲存備份記憶體封裝外部讀取之一狀態指示)之一操作。修改可在用於I2C匯流排介面之一解碼器中。若訊息對應於與一廣告狀態指示對應之一操作(諸如上文所描述之災難性保存及對應暫存器位元),則I2C匯流排介面設定廣告狀態指示且將訊息提供至控制器。接著,控制器照常操作,包含在控制器完成操作時清除廣告狀態指示。此配置藉由在主機可重新讀取(例如,測試)廣告狀態指示之前針對選擇操作設定「忙碌位元」而無關於控制器參與完成操作之速度來防止競賽條件。下文描述額外細節及實例。
圖1繪示根據本發明之一些實施方案之實施狀態管理之一NVDIMM 110之一實例。在一實例中,NVDIMM 110符合一JEDEC NVDIMM-N標準系列。NVDIMM 110包含一控制器125、一揮發性儲存部分130、一非揮發性儲存部分145、一第一介面120 (例如,一I2C匯流排)及一第二介面115 (例如,一DDR介面)。揮發性部分130包含一或多個DRAM或SRAM積體電路(IC)以儲存用於經由第二介面115進行主機105之讀取或寫入操作之資料。非揮發性儲存部分145可以不需要電力來維持狀態之任何儲存技術實施。實例性非揮發性儲存技術可包含NAND快閃記憶體、NOR快閃記憶體、儲存類記憶體(例如,相變記憶體)、磁性儲存器及類似者。
第一介面120通常由主機105用來直接與控制器125通信以執行各種操作。控制器125經配置以在NVDIMM 110內實施此等操作。控制器125經實施為電子硬體,諸如一FPGA、ASIC、數位信號處理器(DSP)或其他處理電路系統,諸如此處所繪示之狀態控制組件113之一實例。在一實例中,控制器對電子硬體執行指令(例如,韌體)以執行操作。此係圖5中所繪示之狀態控制組件113之另一實例。BAEBI標準系列定義由順應性器件實施之數個操作。
當第一介面120係一I2C匯流排時,典型通信涉及主機105經由第一介面120設定控制器125中之暫存器。例如,主機105可設定一特定暫存器,使得彼暫存器中之一特定位元自零變成一。當此位元值變化對應於一命令之執行時,控制器125回應於位元修改而執行命令。若命令具有自變量,則主機105可設定對應於自變量之暫存器。在此情況中,控制器125經配置以檢查此等自變量暫存器以擷取資料來完成命令。
如上所述,因為主機105可能在一非常快處理器中實施,且控制器125未針對速度最佳化,所以可發生一競賽條件,其中主機105(其週期性地讀取一廣告值(例如,一暫存器或一暫存器之一部分))以判定一命令是否已完成,在調用一命令之後、在控制器125回應於命令調用而設定廣告狀態之前,嘗試讀取廣告狀態。此處,控制器125不夠快以在主機105執行首次檢查之前設定廣告值之期望值。當此發生時,主機105宛如命令完成般操作,而實際上控制器125甚至尚未開始。
為了解決競賽條件問題,控制器125經配置以透過第一介面120 (例如,在控制器125之一解碼器135處)接收一經編碼訊息。在第一介面120根據一I2C標準系列操作之情況下,訊息編碼係訊息之I2C市場化。解碼器135經配置以獲得包含一屬性之一經解碼訊息。在一實例中,屬性係一命令之一名稱。一命令名稱可在一封包化訊息之一有效負載中。在一實例中,屬性係一位址。一位址可在一封包化訊息之一標頭中。在一實例中,位址係一頁面指定符。在一實例中,位址包含一頁面指定符及一偏移兩者。
解碼器135或控制器125經配置以比較屬性與對應於記憶體封裝之一廣告狀態之一屬性集以判定屬性係在屬性集中。此處,廣告狀態意謂可在NVDIMM 110外部觀察到之NVDIMM 110之一狀態。例如,可由主機105讀取之一狀態位元(例如,一「忙碌位元」)或暫存器係一廣告狀態。在一實例中,廣告狀態指示控制器125是否存在一進行中操作。在一實例中,廣告狀態指示進行中操作之一類型。
可以若干方式實施屬性與屬性集之比較。在一實例中,屬性集經儲存於一表140或其他資料結構中。此處,解碼器135或控制器125經配置以匹配屬性與表140中之一記錄以判定屬性係在屬性集中。若不存在匹配,則屬性不對應於NVDIMM 110之一廣告狀態。在一實例中,由JEDEC BAEBI標準系列(諸如JESD245B.01標準)定義屬性集。
在一實例中,屬性集具有對應於頁面0之單個成員。在一實例中,屬性集之成員係具有一頁面指定符0以及對應於根據聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI) JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。因此,由解碼器135或控制器125藉由主機之命令位址中之偏移來識別此等命令,因為所有此等命令係在頁面0上。據此,表135可為對應於此等命令之偏移之一清單。
一旦解碼器135或控制器125判定自主機105發送之命令對應於一廣告狀態(例如,一「操作中」指示),則設定廣告狀態。在一實例中,在解碼器135將經解碼訊息提供至控制器125之組件之前修改廣告狀態。此確保在完成任何其他事情之前修改(例如,正確地設定)廣告狀態,從而確保控制器125在設定廣告狀態時作出最快回應。在一實例中,將與經解碼訊息內容同時修改之廣告狀態提供至控制器125。此處,若解碼器135僅基於訊息設定控制器暫存器,則廣告狀態暫存器與訊息中指定之暫存器同時設定。在此背景內容中,同時意謂觀察者(諸如主機105或控制器125)不可感知暫存器寫入之一差異,即使一個暫存器實際上可在另一暫存器之前寫入。
在一實例中,藉由設定一暫存器來修改廣告狀態。在一實例中,設定暫存器包含設定暫存器中之恰好一個位元。在此實例中,可由主機105首先讀取暫存器,修改所要位元,且回寫完整暫存器。在一實例中,修改暫存器中之恰好兩個位元以設定廣告狀態。在一實例中,設定恰好一個位元指示一操作正在進行中。在一實例中,設定恰好兩個位元指示一操作正在進行中(兩個位元之一者)及一操作指定(兩個位元之第二者)。此處,操作指定係操作之類型,諸如一命令名稱、命令系列等。在一實例中,暫存器具有頁面0-偏移0x61或頁面0-偏移0x62之一者之一位址。
NVDIMM 110可視情況包含與主機電力分離之一電源150。電源150可經併入至NVDIMM封裝中,或經連接至NVDIMM封裝(如所繪示)。在主機電力發生故障之情況下,電源150可提供電力以使控制器125能夠將資料自揮發性部分130移動至非揮發性部分145。
上文所描述之控制器125或解碼器135解決當今系統中使用之儲存備份記憶體封裝中存在之競賽條件問題,包含關於圖2所描述之問題。藉由在執行韌體以設定廣告狀態時移除控制器125延遲,且例如將屬性至廣告狀態檢查構建至解碼器130中,NVDIMM 110確保在主機105可嘗試首次讀取廣告狀態之前設定廣告狀態。
圖2繪示根據本發明之一些實施方案之包含用於一儲存備份記憶體封裝210中之狀態管理之一系統之一環境200之一實例。環境200包含一主機器件205及儲存備份記憶體封裝210。主機器件205或儲存備份記憶體封裝210可包含於各種產品250中,諸如資料中心伺服器、個人電腦或物聯網(IoT)器件(例如,冰箱或其他設備、感測器、馬達或致動器、行動通信器件、汽車、無人機等)以支援產品250之處理、通信或控制。該系統可為儲存備份記憶體封裝210或儲存備份記憶體封裝210之一組件,諸如封裝上控制器225。該系統亦可包含主機器件205之一記憶體控制器220或一處理器215。
一或多個通信介面可用來在儲存備份記憶體封裝210與主機器件205之一或多個其他組件(諸如處理器215)之間傳送資料。在一實例中,DDR4係一實施通信介面。在一實例中,I2C係一實施通信介面。主機器件205可包含一主機系統、一電子器件、一記憶卡讀取器、或儲存備份記憶體封裝210外部之一或多個其他電子器件。在一些實例中,主機205可為具有參考圖5之機器500所論述之組件之一些部分或全部之一機器。
處理器215 (其可稱為主機)通常指導或協調主機器件205及所包含組件之活動。記憶體控制器220支援主機器件205之組件之記憶體活動,包含使用儲存備份記憶體封裝210。記憶體控制器220可對儲存備份記憶體封裝210提供資料定址及命令協調。此等活動可包含至(例如,寫入或擦除)或自(例如,讀取)儲存備份記憶體封裝210之揮發性部分之晶片、階層或庫之一或多者之資料傳送。記憶體控制器215可尤其包含電路系統或韌體,包含一或多個組件或積體電路。例如,記憶體控制器215可包含一或多個記憶體控制單元、電路或組件,其(等)經組態以跨儲存備份記憶體封裝210控制存取且提供主機205與儲存備份記憶體封裝210之間之一轉譯層。記憶體控制器215可包含一或多個輸入/輸出(I/O)電路、線路或介面以將資料傳送至儲存備份記憶體封裝210或自儲存備份記憶體封裝210傳送資料。
記憶體控制器215可尤其包含電路系統或韌體,諸如與各種記憶體管理功能(諸如本文中所描述之解片段化或狀態管理技術)相關聯之數個組件或積體電路(例如,狀態管理組件113)。記憶體控制器215可將主機命令(例如,自一主機接收之命令)剖析或格式化成器件命令(例如,與一記憶體陣列之操作相關聯之命令等),或針對儲存備份記憶體封裝210或儲存備份記憶體封裝210之一或多個其他組件產生器件命令(例如,以完成各種記憶體管理功能)。
記憶體控制器215可尤其包含經組態以控制與將資料寫入至儲存備份記憶體封裝210之一或多個記憶體胞、自儲存備份記憶體封裝210之一或多個記憶體胞讀取資料或擦除儲存備份記憶體封裝210之一或多個記憶體胞相關聯之記憶體操作的電路系統或組件。例如,記憶體操作可係基於自主機205接收或由記憶體控制器215在內部產生的主機命令(例如,結合解片段化、錯誤校正、再新等)。記憶體控制器215可包含程式碼或邏輯,以使用一標準化協定(或來自一標準化協定之特徵) (諸如GDDR6)進行通信。
除一揮發性記憶體(例如,DRAM或SRAM)及一非揮發性部分(例如,快閃記憶體)之外,儲存備份記憶體封裝210亦可包含封裝上控制器225。儲存備份記憶體封裝210亦可包含一板上電源或外部電源230,諸如一電雙層電容器(例如,ELDC、超級電容器、超級電容、超電容器、超電容等)、電池等。電源230可獨立於其他主機電源,且當主機電力發生故障時,使封裝上控制器225能夠將資料自儲存備份記憶體封裝210之揮發性部分傳送至儲存備份記憶體封裝210之非揮發性部分。封裝上控制器225亦可將資料自非揮發性部分移動至揮發性部分(例如,在主機電力恢復時)或直接提供對非揮發性部分之存取。例如,與標準系統記憶體器件相比,此最後一種能力可在一主機崩潰期間實現更大錯誤分析。
圖3繪示根據本發明之一些實施方案之用來在一儲存備份記憶體封裝中實施狀態管理之一實例性組件訊息傳送。所繪示之主機、解碼器及控制器組件類似於上文所描述者。在一實例中,解碼器係控制器之一I2C匯流排介面。在此實例中,所繪示訊息流程區分控制器之解碼器部分與控制器之其他部分,諸如執行韌體以執行其他動作之部分。
通常,競賽條件解決方案涉及緊接在接收一I2C命令之後硬件設定「進行中操作」位元。當控制器已完成所討論操作時,控制器將清除該等位元。
主機寫入至特定命令暫存器以傳達至控制器(訊息305)。解碼器解碼I2C封包(操作310),匹配一封包屬性與一清單以判定命令涉及一「進行中操作」狀態暫存器位元(操作315)且搶先設定對應狀態暫存器中之適當位元(操作320)。在一實例中,設定適當位元包含設定一忙碌位元(例如,位元0)及一適當狀態位元。例如,根據JEDEC BAEBI標準:
NVDIMM_FUNC_CMD [x43]、ARM_CMD [x45]、FIRMWARE_OPS_CMD [x4A]、OPERATIONAL_UNIT_OPS_CMD [x4B]→NVDIMM_CMD_STATUS1 [x62];或
ES_FUNC_CMD0 [0x30]→ES_CMD_STATUS0 [0x50]
一旦設定狀態位元,則透過控制器之其餘部分給出命令(訊息325)。在一實例中,此需要設定狀態位元以及I2C資料封包中指定之暫存器。在此實例中,解碼器可用一中斷發信號通知控制器之其餘部分,或控制器可僅針對改變輪詢暫存器。
一旦控制已自解碼器移動至控制器,控制器便執行命令(操作330),包含在命令完成期間或之後設定正確狀態位元。
此處所繪示之訊息傳送及控制流程解決主機與控制器之間的時序問題,此可導致各種操作中之非預期結果。若干NVDIMM操作係關鍵的,且主機及控制器需要其等符合JEDEC BAEBI標準。在此等操作中,主機可發出一命令(例如,透過I2C介面)且檢查一狀態暫存器位元以判定命令何時完成。然而,BAEBI標準未指定命令接收與設定狀態暫存器之間的時序(例如,一最長完成時間)。在一些境況中,在主機查看位元之前,控制器還沒來得及設定位元。
藉由所繪示流程解決此問題。解碼器基於傳入請求設定狀態暫存器位元,而無需等待控制器(例如,控制器上運行之韌體)如此做。在某種意義上,解碼器「窺探」傳入命令以判定應設定哪個狀態暫存器位元(若有)。一旦解碼器觀察到一特定命令,則解碼器設定對應「吾乃忙碌位元」。因為BAEBI標準指定控制器需要實施之記憶體頁面(例如,暫存器位置)之一記憶體映射,所以解碼器可藉由匹配一傳入位址(例如,暫存器及暫存器內之頁面偏移)與具有狀態位元之命令之一位址清單來執行窺探。若記憶體位址匹配一表項目,則其具有一狀態位元。例如,頁面位址0及頁面偏移43識別NVDIMM_FUNC_CMD。在一實例中,I2C封包之資料(例如,有效負載)可具有可用於其他狀態位元之額外資訊。
在一實例中,查找表係解碼器中之一暫存器(例如,當實施為一ASIC時,該表係在ASIC內)。在一實例中,查找表係在與控制器共用之一記憶體中。
圖4繪示根據本發明之一些實施方案之用於一儲存備份記憶體封裝中之狀態管理之一方法400之一實例性流程圖。方法400之操作經實施於電子硬體中,諸如上文關於圖1至圖2及下文關於圖5所描述之電子硬體(例如,在電路系統中)。
在操作405,在一記憶體封裝之一第一介面處接收一經編碼訊息。此處,記憶體封裝亦包含至一主機之一第二介面。在一實例中,第一介面係根據一I2C標準系列操作之一匯流排。在一實例中,第二介面係一DDR (例如,DDR4) RAM介面。在一實例中,記憶體封裝係一NVDIMM。在一實例中,NVDIMM係根據一JEDEC標準系列之一NVDIMM-N類型。
在操作410,解碼訊息以獲得包含一屬性之一經解碼訊息。在一實例中,屬性係一命令之一名稱。在一實例中,屬性係一位址。在一實例中,位址係一頁面指定符。在一實例中,位址包含一頁面指定符及一偏移兩者。
在操作415,比較屬性與對應於記憶體封裝之一廣告狀態之一屬性集以判定屬性係在屬性集中。在一實例中,廣告狀態指示記憶體控制器是否存在一進行中操作。在一實例中,廣告狀態亦指示進行中操作之一類型。
在一實例中,將屬性集儲存於一表中。此處,比較屬性與屬性集涉及匹配屬性與表中之一記錄以判定屬性係在屬性集中。在一實例中,由一JEDEC BAEBI標準系列定義屬性集。在一實例中,JEDEC BAEBI標準系列包含一JESD245B.01標準。
在一實例中,屬性集具有對應於頁面0之單個成員。在一實例中,屬性集之成員係具有一頁面指定符0以及對應於根據JEDEC BAEBI JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。在一實例中,屬性集具有對應於頁面1之單個成員(例如,頁面1暫存一能源健康檢查)。在一實例中,屬性集之成員係具有一頁面指定符1及對應於ES_FUNC_CMD0之一偏移1之位址。
在操作420,回應於屬性係在屬性集中之判定而修改記憶體封裝之廣告狀態。在一實例中,對記憶體封裝之廣告狀態之修改發生在非揮發性記憶體封裝中包含之一記憶體控制器之一解碼器將經解碼訊息提供至記憶體控制器之組件之前。
在一實例中,修改記憶體封裝之廣告狀態包含設定記憶體封裝之一暫存器。在一實例中,設定暫存器包含設定暫存器中之恰好一個位元或恰好兩個位元。在一實例中,一個位元設定指示一操作正在進行中。在一實例中,兩個位元設定指示一操作正在進行中及一操作指定兩者。在一實例中,被設定暫存器具有以下一者之一位址:頁面0-偏移0x61或頁面0-偏移0x62。
圖5繪示可在其上執行本文中所論述之技術(例如,方法論)之任一或多者之一實例性機器500之一方塊圖。在替代實施例中,機器500可操作為一獨立器件或可連接(例如,網路連結)至其他機器。在一網路連結部署中,機器500可作為伺服器-用戶端網路環境中之一伺服器機器、一用戶端機器或兩者而操作。在一實例中,機器500可充當一同級間(P2P) (或其他分散式)網路環境中之一同級機器。機器500可為一個人電腦(PC)、一平板電腦PC、一機上盒(STB)、一個人數位助理(PDA)、一行動電話、一網路設備、一IoT器件、汽車系統、或能夠(循序或以其他方式)執行指定待由彼機器採取之動作之指令之任何機器。此外,雖然僅繪示單個機器,但術語「機器」亦應被視為包含個別或聯合執行一(或多)個指令集以執行本文中所論述之方法論之任一或多者(諸如雲端運算、軟體即服務(SaaS)、其他電腦叢集組態)之機器之任何集合。
如本文中所描述,實例可包含邏輯、組件、器件、封裝或機構,或可由邏輯、組件、器件、封裝或機構操作。電路系統(例如,一電路集合、處理電路系統等)係在包含硬體(例如,簡單電路、閘、邏輯等)之有形實體中實施之一電路集合(例如,一組電路)。電路系統成員資格可隨著時間及基礎硬體可變性而靈活。電路系統包含在操作時可單獨或組合地執行特定任務之成員。在一實例中,電路系統之硬體可經恆定地設計以實行一特定操作(例如,硬接線)。在一實例中,電路系統之硬體可包含可變連接之實體組件(例如,執行單元、電晶體、簡單電路等),包含實體上經修改(例如,不變質量之粒子磁性、電、可移動放置等)以編碼該特定操作之指令之一電腦可讀媒體。在連接實體組件中,硬體構成之基礎電性質(例如)自絕緣體改變至導體或反之亦然。指令使參與硬體(例如,執行單元或一負載機構)能夠經由可變連接產生硬體中之電路系統之成員以在操作中實行特定任務之部分。因此,當器件操作時,電腦可讀媒體通信地耦合至電路系統之其他組件。在一實例中,實體組件之任一者可用於一個以上電路系統之一個以上成員中。例如,在操作下,執行單元可在一時間點用於一第一電路系統之一第一電路中且在一不同時間由第一電路系統中之一第二電路或由一第二電路系統中之一第三電路重用。
機器(例如,電腦系統) 500可包含一硬體處理器502 (例如,一CPU、一GPU、一硬體處理器核心或其等任何組合)、一主記憶體504及一靜態記憶體506,其等中之一些或全部可經由一互連(例如,匯流排) 508彼此通信。機器500可進一步包含一顯示單元510、一文數字輸入器件512 (例如,一鍵盤)及一使用者介面(UI)導覽器件514 (例如,一滑鼠)。在一實例中,顯示單元510、輸入器件512及UI導覽器件514可為一觸控螢幕顯示器。機器500可另外包含一信號產生器件518 (例如,一揚聲器)、一網路介面器件520及一或多個感測器516,諸如一全球定位系統(GPS)感測器、羅盤、加速度計或其他感測器。機器500可包含一輸出控制器528,諸如用以通信或控制一或多個周邊器件(例如,一印表機、讀卡器等)之一串列(例如,通用串列匯流排(USB))、並列、或其他有線或無線(例如,紅外線(IR)、近場通信(NFC)等)連接。
機器500可包含一或多個機器可讀媒體522,其上儲存體現本文中所描述之技術或功能之任一或多者或由本文中所描述之技術或功能之任一或多者利用之一或多組資料結構或指令524 (例如,軟體),諸如狀態控制組件113。機器可讀媒體522可包含以下一或多者:主記憶體524、靜態記憶體506及大容量儲存器521。指令524可在由機器500執行期間完全或至少部分地駐留於主記憶體504、靜態記憶體506、大容量儲存器521或硬體處理器502內。在一實例中,硬體處理器502、主記憶體504、靜態記憶體506或大容量儲存器521之一者或任一組合可構成機器可讀媒體522。
雖然機器可讀媒體522被繪示為單個媒體,但術語「機器可讀媒體」可包含經組態以儲存一或多個指令524之單個媒體或多個媒體(例如,一集中式或分散式資料庫、或相關聯快取記憶體及伺服器)。
術語「機器可讀媒體」可包含能夠儲存、編碼或攜載藉由機器500執行且引起機器500執行本發明之技術之任一或多者之指令,或能夠儲存、編碼或攜載藉由此等指令使用或與此等指令相關聯之資料結構的任何媒體。非限制性機器可讀媒體實例可包含固態記憶體、光學及磁性媒體。在一實例中,一集結型(massed)機器可讀媒體包括具有含不變(例如,靜止)質量之複數個粒子之一機器可讀媒體。因此,集結型機器可讀媒體並非係暫時性傳播信號。集結型機器可讀媒體之特定實例可包含:非揮發性記憶體,諸如半導體記憶體器件(例如,EPROM、EEPROM)及快閃記憶體器件;磁碟,諸如內部硬碟及可抽換式磁碟;磁光碟;及CD-ROM及DVD-ROM磁碟。
指令524 (例如,軟體、程式、一作業系統(OS)等)或其他資料經儲存於大容量儲存器521上,可藉由記憶體504存取以供處理器502使用。記憶體504 (例如,DRAM)通常係快速但揮發性的,且因此不同於大容量儲存器521 (例如,一SSD)之一儲存類型,大容量儲存器521適於長期儲存(包含在一「關閉」狀態時)。由一使用者或機器500使用之指令524或資料通常載入於記憶體504中以供處理器502使用。當記憶體504已滿時,可分配來自大容量儲存器521之虛擬空間以補充記憶體504;然而,因為大容量儲存器521通常慢於記憶體504,且寫入速度通常係讀取速度的至少1/2,所以使用虛擬記憶體可大大地減少歸因於儲存器件延時之使用者體驗(相比於記憶體504,例如,DRAM)。此外,將大容量儲存器521用於虛擬記憶體可大大地減少大容量儲存器521之可用使用期限。
相比於虛擬記憶體,虛擬記憶體壓縮(例如,Linux®
內核特徵「ZRAM」)使用記憶體之部分作為經壓縮區塊儲存器以避免傳呼至大容量儲存器521。傳呼在經壓縮區塊中發生直至必須將此資料寫入至大容量儲存器521。虛擬記憶體壓縮增加記憶體504之可用大小,同時減少大容量儲存器521上之耗損。
針對行動電子器件或行動儲存器最佳化之儲存器件傳統上包含MMC固態儲存器件(例如,微型安全數位(microSD™)卡等)。MMC器件包含具有一主機器件之數個平行介面(例如,一8位元平行介面),且通常為可自該主機器件卸除及分離之組件。相比而言,eMMC™器件經附接至一電路板且被視為主機器件之一組件,該組件具有匹敵基於串列ATA™ (串列AT (進階技術)附接,或SATA)之SSD器件之讀取速度。然而,對於行動器件效能之需求持續增加,諸如完全啟用虛擬或擴增實境器件,利用增加之網路速度及類似者。回應於此需求,儲存器件已自並列通信介面轉換至串列通信介面。通用快閃儲存(UFS)器件(包含控制器及韌體)使用具有專用讀取/寫入路徑之一低電壓差動傳訊(LVDS)串列介面與一主機器件通信,從而進一步提高更大讀取/寫入速度。
可進一步透過通信網路526,使用一傳輸媒體,經由利用數個傳送協定之任一者(例如,訊框中繼、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資料塊協定(UDP)、超文字傳送協定(HTTP)等)的網路介面器件520來傳輸或接收指令524。例示性通信網路可包含一區域網路(LAN)、一廣域網路(WAN)、一封包資料網路(例如,網際網路)、行動電話網路(例如,蜂巢式網路)、簡易老式電話(POTS)網路,及無線資料網路(例如,電氣及電子工程師協會(IEEE) 802.11系列標準(稱為Wi-Fi®
)、IEEE 802.16系列標準(稱為WiMax®
)、IEEE 802.15.4系列標準)、同級間(P2P)網路,等等。在一實例中,網路介面器件520可包含一或多個實體插孔(例如,乙太網路、同軸或電話插孔)或一或多個天線,以連接至通信網路526。在一實例中,網路介面器件520可包含複數個天線,以使用單輸入多輸出(SIMO)、多輸入多輸出(MIMO)或多輸入單輸出(MISO)技術之至少一者來進行無線通信。術語「傳輸媒體」應被視為包含能夠儲存、編碼或攜載由機器500執行之指令的任何無形媒體,且包含促進此軟體之通信的數位或類比通信信號或其他無形媒體。
額外實例:
實例1係一種用於一儲存備份記憶體封裝中之狀態管理之記憶體封裝,記憶體封裝包括:一揮發性部分;一非揮發性部分;一第一介面,其用來接收一經編碼訊息;一第二介面,其用來與一主機通信;及第一介面之一解碼器,解碼器用來:解碼該訊息以獲得包含一屬性之一經解碼訊息;比較屬性與一屬性集以判定屬性係在屬性集中,屬性集對應於記憶體封裝之一廣告狀態;及回應於屬性係在屬性集中之判定而修改記憶體封裝之廣告狀態。
在實例2中,實例1之標的物包含,其中第一介面係根據一I2C標準系列操作之一匯流排。
在實例3中,實例1至2之標的物包含,其中第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例4中,實例3之標的物包含,其中記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例5中,實例4之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例6中,實例1至5之標的物包含一記憶體控制器,其中解碼器用來在解碼器將經解碼訊息提供至記憶體控制器之組件之前修改記憶體封裝之廣告狀態。
在實例7中,實例1至6之標的物包含,其中為了修改記憶體封裝之廣告狀態,解碼器設定記憶體封裝之一暫存器。
在實例8中,實例7之標的物包含,其中為了設定暫存器,解碼器設定暫存器中恰好一個位元或暫存器中恰好兩個位元,其中一個位元指示一進行中操作,且兩個位元指示一操作正在進行中及一操作指定兩者。
在實例9中,實例7至8之標的物包含,其中暫存器具有頁面0-偏移0x61或頁面0-偏移0x62之一者之一位址。
在實例10中,實例1至9之標的物包含一記憶體控制器,其中廣告狀態指示記憶體控制器是否存在一進行中操作。
在實例11中,實例10之標的物包含,其中廣告狀態亦指示進行中操作之一類型。
在實例12中,實例1至11之標的物包含,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義屬性集。
在實例13中,實例12之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例14中,實例1至13之標的物包含,其中屬性係一命令之一名稱。
在實例15中,實例1至14之標的物包含,其中屬性係一位址。
在實例16中,實例15之標的物包含,其中位址係一頁面指定符。
在實例17中,實例16之標的物包含,其中屬性集具有對應於頁面0之單個成員。
在實例18中,實例15至17之標的物包含,其中位址包含一頁面指定符及一偏移兩者。
在實例19中,實例18之標的物包含,其中屬性集之成員係具有一頁面指定符0以及對應於根據聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI) JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。
在實例20中,實例1至19之標的物包含,其中將屬性集儲存於一表中,且其中比較屬性與屬性集包含匹配屬性與表中之一記錄以判定屬性係在屬性集中。
實例21係一種用於一儲存備份記憶體封裝中之狀態管理之方法,該方法包括:在記憶體封裝之一第一介面處接收一經編碼訊息,記憶體封裝包含至一主機之一第二介面;解碼該訊息以獲得包含一屬性之一經解碼訊息;比較屬性與一屬性集以判定屬性係在屬性集中,屬性集對應於記憶體封裝之一廣告狀態;及回應於屬性係在屬性集中之判定而修改記憶體封裝之廣告狀態。
在實例22中,實例21之標的物包含,其中第一介面係根據一I2C標準系列操作之一匯流排。
在實例23中,實例21至22之標的物包含,其中第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例24中,實例23之標的物包含,其中記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例25中,實例24之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例26中,實例21至25之標的物包含,其中修改記憶體封裝之廣告狀態發生在非揮發性記憶體封裝中包含之一記憶體控制器之一解碼器將經解碼訊息提供至記憶體控制器之組件之前。
在實例27中,實例21至26之標的物包含,其中修改記憶體封裝之廣告狀態包含設定記憶體封裝之一暫存器。
在實例28中,實例27之標的物包含,其中設定暫存器包含設定暫存器中之恰好一個位元或暫存器中之恰好兩個位元,其中一個位元指示一進行中操作且兩個位元指示一操作正在進行中及一操作指定兩者。
在實例29中,實例27至28之標的物包含,其中暫存器具有頁面0-偏移0x61或頁面0-偏移0x62之一者之一位址。
在實例30中,實例21至29之標的物包含,其中廣告狀態指示非揮發性記憶體封裝中包含之一記憶體控制器是否存在一進行中操作。
在實例31中,實例30之標的物包含,其中廣告狀態亦指示進行中操作之一類型。
在實例32中,實例21至31之標的物包含,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義屬性集。
在實例33中,實例32之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例34中,實例21至33之標的物包含,其中屬性係一命令之一名稱。
在實例35中,實例21至34之標的物包含,其中屬性係一位址。
在實例36中,實例35之標的物包含,其中位址係一頁面指定符。
在實例37中,實例36之標的物包含,其中屬性集具有對應於頁面0之單個成員。
在實例38中,實例35至37之標的物包含,其中位址包含一頁面指定符及一偏移兩者。
在實例39中,實例38之標的物包含,其中屬性集之成員係具有一頁面指定符0以及對應於根據聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI) JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。
在實例40中,實例21至39之標的物包含,其中將屬性集儲存於一表中,且其中比較屬性與屬性集包含匹配屬性與表中之一記錄以判定屬性係在屬性集中。
實例41係至少一種包含用於一儲存備份記憶體封裝中之狀態管理之指令之機器可讀媒體,該等指令在由處理電路系統或記憶體封裝執行時致使記憶體封裝執行包括以下各者之操作:在記憶體封裝之一第一介面處接收一經編碼訊息,記憶體封裝包含至一主機之一第二介面;解碼該訊息以獲得包含一屬性之一經解碼訊息;比較屬性與一屬性集以判定屬性係在屬性集中,屬性集對應於記憶體封裝之一廣告狀態;及回應於屬性係在屬性集中之判定而修改記憶體封裝之廣告狀態。
在實例42中,實例41之標的物包含,其中第一介面係根據一I2C標準系列操作之一匯流排。
在實例43中,實例41至42之標的物包含,其中第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例44中,實例43之標的物包含,其中記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例45中,實例44之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例46中,實例41至45之標的物包含,其中修改記憶體封裝之廣告狀態發生在非揮發性記憶體封裝中包含之一記憶體控制器之一解碼器將經解碼訊息提供至記憶體控制器之組件之前。
在實例47中,實例41至46之標的物包含,其中修改記憶體封裝之廣告狀態包含設定記憶體封裝之一暫存器。
在實例48中,實例47之標的物包含,其中設定暫存器包含設定暫存器中之恰好一個位元或暫存器中之恰好兩個位元,其中一個位元指示一進行中操作且兩個位元指示一操作正在進行中及一操作指定兩者。
在實例49中,實例47-48之標的物包含,其中暫存器具有頁面0-偏移0x61或頁面0-偏移0x62之一者之一位址。
在實例50中,實例41至49之標的物包含,其中廣告狀態指示非揮發性記憶體封裝中包含之一記憶體控制器是否存在一進行中操作。
在實例51中,實例50之標的物包含,其中廣告狀態亦指示進行中操作之一類型。
在實例52中,實例41至51之標的物包含,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義屬性集。
在實例53中,實例52之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例54中,實例41至53之標的物包含,其中屬性係一命令之一名稱。
在實例55中,實例41至54之標的物包含,其中屬性係一位址。
在實例56中,實例55之標的物包含,其中位址係一頁面指定符。
在實例57中,實例56之標的物包含,其中屬性集具有對應於頁面0之單個成員。
在實例58中,實例55至57之標的物包含,其中位址包含一頁面指定符及一偏移兩者。
在實例59中,實例58之標的物包含,其中屬性集之成員係具有一頁面指定符0以及對應於根據聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI) JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。
在實例60中,實例41至59之標的物包含,其中將屬性集儲存於一表中,且其中比較屬性與屬性集包含匹配屬性與表中之一記錄以判定屬性係在屬性集中。
實例61係一種用於一儲存備份記憶體封裝中之狀態管理之系統,該系統包括:用於在記憶體封裝之一第一介面處接收一經編碼訊息之構件,記憶體封裝包含至一主機之一第二介面;用於解碼該訊息以獲得包含一屬性之一經解碼訊息之構件;用於比較屬性與一屬性集以判定屬性係在屬性集中之構件,屬性集對應於記憶體封裝之一廣告狀態;及用於回應於屬性係在屬性集中之判定而修改記憶體封裝之廣告狀態之構件。
在實例62中,實例61之標的物包含,其中第一介面係根據一I2C標準系列操作之一匯流排。
在實例63中,實例61至62之標的物包含,其中第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例64中,實例63之標的物包含,其中記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例65中,實例64之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例66中,實例61至65之標的物包含,其中修改記憶體封裝之廣告狀態發生在非揮發性記憶體封裝中包含之一記憶體控制器之一解碼器將經解碼訊息提供至記憶體控制器之組件之前。
在實例67中,實例61至66之標的物包含,其中用於修改記憶體封裝之廣告狀態之構件包含用於設定記憶體封裝之一暫存器之構件。
在實例68中,實例67之標的物包含,其中用於設定暫存器之構件包含用於設定暫存器中之恰好一個位元或暫存器中之恰好兩個位元之構件,其中一個位元指示一進行中操作且兩個位元指示一操作正在進行中及一操作指定兩者。
在實例69中,實例67-68之標的物包含,其中暫存器具有頁面0-偏移0x61或頁面0-偏移0x62之一者之一位址。
在實例70中,實例61至69之標的物包含,其中廣告狀態指示非揮發性記憶體封裝中包含之一記憶體控制器是否存在一進行中操作。
在實例71中,實例70之標的物包含,其中廣告狀態亦指示進行中操作之一類型。
在實例72中,實例61至71之標的物包含,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義屬性集。
在實例73中,實例72之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例74中,實例61至73之標的物包含,其中屬性係一命令之一名稱。
在實例75中,實例61至74之標的物包含,其中屬性係一位址。
在實例76中,實例75之標的物包含,其中位址係一頁面指定符。
在實例77中,實例76之標的物包含,其中屬性集具有對應於頁面0之單個成員。
在實例78中,實例75-77之標的物包含,其中位址包含一頁面指定符及一偏移兩者。
在實例79中,實例78之標的物包含,其中屬性集之成員係具有一頁面指定符0以及對應於根據聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI) JESD245B.01標準之NVDIMM_FUNC_CMD、ARM_CMD、FIRMWARE_OPS_CMD或OPERATIONAL_UNIT_OPS_CMD之一偏移1之位址。
在實例80中,實例61至79之標的物包含,其中將屬性集儲存於一表中,且其中比較屬性與屬性集包含匹配屬性與表中之一記錄以判定屬性係在屬性集中。
實例81係至少一種包含指令之機器可讀媒體,該等指令在由處理電路系統執行時致使處理電路系統執行操作以實施實例1至80中任一實例。
實例82係一種包括用來實施實例1至80中任一實例之構件之裝置。
實例83係一種用來實施實例1至80中任一實例之系統。
實例84係一種用來實施實例1至80中任一實例之方法。
上文實施方式包含對形成實施方式之一部分之隨附圖式之參考。圖式藉由圖解之方式展示可實踐本發明之特定實施例。此等實施例在本文中亦稱為「實例」。此等實例可包含除所展示或所描述元件之外之元件。然而,本發明人亦預期其中僅提供彼等所展示或所描述元件之實例。此外,本發明人亦預期使用關於一特定實例(或其之一或多個態樣)或關於本文中所展示或所描述之其他實例(或其之一或多個態樣)所展示或所描述之彼等元件之任何組合或排列之實例(或其之一或多個態樣)。
在本文件中,在專利文件中常使用術語「一(a或an)」來包含一個或一個以上,其獨立於「至少一個」或「一或多個」之任何其他例項或使用。在本文件中,使用術語「或」係指一非排他性「或」,使得「A或B」包含「A但非B」、「B但非A」及「A及B」,除非另有指示。在隨附發明申請專利範圍中,術語「包含」及「其中(in which)」用作各自術語「包括」及「其中(wherein)」之普通英語等效形式。又,在以下發明申請專利範圍中,術語「包含」及「包括」係開放式的,亦即,在一請求項中除列於此一術語之後的彼等元件之外亦包含若干元件之一系統、器件、物件、或程序仍被視為在彼請求項之範疇內。此外,在以下發明申請專利範圍中,術語「第一」、「第二」及「第三」等僅用作標籤,並不旨在對其對象強加數字要求。
如本文中所使用,操作一記憶體胞包含自該記憶體胞讀取、寫入至該記憶體胞或擦除該記憶體胞。將一記憶體胞放置於一預期狀態中之操作在本文中被稱為「程式化」,且可包含寫入至該記憶體胞或自該記憶體胞擦除兩者(例如,該記憶體胞可經程式化至一經擦除狀態)。
將理解,當一元件被稱為在另一元件「上」、「連接至」另一元件或與另一元件「耦合」時,其可直接在該另一元件上、連接至該另一元件或與該另一元件耦合或可存在中介元件。相比而言,當一元件被稱為「直接在另一元件上」、「直接連接至」另一元件或「直接與另一元件耦合」時,不存在中介元件或層。除非另有指示,否則若兩個元件在圖式中展示為用一線連接其等,則該兩個元件可耦合或直接耦合。
上文描述旨在係闡釋性而非限制性。舉例而言,上文所述之實例(或其之一或多個態樣)可彼此組合使用。在檢視上文描述後,諸如一般技術者可使用其他實施例。主張瞭解其並非用於解釋或限制發明申請專利範圍之範疇或含義。再者,在上文實施方式中,各種特徵可集合在一起以簡化本發明。此不應被解譯為期望一未主張之揭示特徵係任何請求項之關鍵。實情係,本發明標的可能在於少於一特定揭示實施例之全部特徵。因此,下文發明申請專利範圍在此併入實施方式中,其中各請求項自身作為一單獨實施例,且預期此等實施例可以各種組合或排列彼此組合。應參考隨附發明申請專利範圍連同此等發申請專利範圍所授權之等效物之全範圍來判定實施例之範疇。
105‧‧‧主機
110‧‧‧非揮發性雙列直插記憶體模組(NVDIMM)
113‧‧‧狀態控制組件
115‧‧‧第二介面
120‧‧‧第一介面
125‧‧‧控制器
130‧‧‧揮發性儲存部分
135‧‧‧解碼器
140‧‧‧表
145‧‧‧非揮發性儲存部分
150‧‧‧電源
200‧‧‧環境
205‧‧‧主機器件
210‧‧‧儲存備份記憶體封裝
215‧‧‧處理器
220‧‧‧記憶體控制器
225‧‧‧封裝上控制器
230‧‧‧電源
250‧‧‧產品
305‧‧‧訊息
310‧‧‧操作
315‧‧‧操作
320‧‧‧操作
325‧‧‧訊息
330‧‧‧操作
400‧‧‧方法
405‧‧‧操作
410‧‧‧操作
415‧‧‧操作
420‧‧‧操作
500‧‧‧機器
502‧‧‧硬體處理器
504‧‧‧主記憶體
506‧‧‧靜態記憶體
508‧‧‧互連
510‧‧‧顯示單元
512‧‧‧文數字輸入器件
514‧‧‧使用者界面(UI)導覽器件
516‧‧‧感測器
518‧‧‧信號產生器件
520‧‧‧網路介面器件
521‧‧‧大容量儲存器
522‧‧‧機器可讀媒體
524‧‧‧資料結構或指令
526‧‧‧通信網路
528‧‧‧輸出控制器
在隨附圖式之圖中以實例且非限制之方式繪示本發明,其中類似元件符號指示類似元件。
圖1繪示根據本發明之一些實施方案之實施狀態管理之一NVDIMM之一實例。
圖2繪示根據本發明之一些實施方案之包含用於一儲存備份記憶體封裝中之狀態管理之一系統之一環境之一實例。
圖3繪示根據本發明之一些實施方案之用來在一儲存備份記憶體封裝中實施狀態管理之一實例性組件訊息傳送。
圖4繪示根據本發明之一些實施方案之用於一儲存備份記憶體封裝中之狀態管理之一方法之一實例性流程圖。
圖5係繪示根據本發明之實施方案之一實例性電腦系統之一方塊圖,可在該電腦系統內執行一指令集以致使機器執行本文中所論述之方法論之任一或多者。
Claims (20)
- 一種用於一儲存備份記憶體封裝中之狀態管理之記憶體封裝,該記憶體封裝包括: 一揮發性部分; 一非揮發性部分; 一第一介面,用來接收一經編碼訊息; 一第二介面,用來與一主機通信;及 一解碼器,其經耦合至該第一介面,該解碼器用來: 解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息; 比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及 回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
- 如請求項1之記憶體封裝,其中該第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
- 如請求項2之記憶體封裝,其中該記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
- 如請求項1之記憶體封裝,其包括一記憶體控制器,其中該解碼器用來在該解碼器將該經解碼訊息提供至該記憶體控制器之一組件之前修改該記憶體封裝之該廣告狀態。
- 如請求項1之記憶體封裝,其包括一記憶體控制器,其中該廣告狀態指示該記憶體控制器是否存在一進行中操作。
- 如請求項1之記憶體封裝,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義該屬性集。
- 如請求項1之記憶體封裝,其中該屬性係一位址。
- 如請求項7之記憶體封裝,其中該位址係一頁面指定符。
- 一種方法,其包括: 在一記憶體封裝之一第一介面處接收一經編碼訊息,該記憶體封裝包含用來與一主機通信之一第二介面; 解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息; 比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及 回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
- 如請求項9之方法,其中該第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
- 如請求項10之方法,其中該記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
- 如請求項9之方法,其中修改該記憶體封裝之該廣告狀態發生在該非揮發性記憶體封裝中所包含之一記憶體控制器之一解碼器將該經解碼訊息提供至該記憶體控制器之一組件之前。
- 如請求項9之方法,其中該廣告狀態指示該非揮發性記憶體封裝中包含之一記憶體控制器是否存在一進行中操作。
- 如請求項9之方法,其中由一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列定義該屬性集。
- 如請求項9之方法,其中該屬性係一位址。
- 如請求項15之方法,其中該位址係一頁面指定符。
- 至少一種包含指令之機器可讀媒體,該等指令在由一記憶體封裝之處理電路系統執行時,致使該記憶體封裝執行包括以下各者之操作: 在該記憶體封裝之一第一介面處接收一經編碼訊息,該記憶體封裝包含用來與一主機通信之一第二介面; 解碼該經編碼訊息以獲得包含一屬性之一經解碼訊息; 比較該屬性與一屬性集以判定該屬性係在該屬性集中,該屬性集對應於該記憶體封裝之一廣告狀態;及 回應於該屬性係在該屬性集中之該判定而修改該記憶體封裝之該廣告狀態。
- 如請求項17之至少一種機器可讀媒體,其中該第二介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
- 如請求項18之至少一種機器可讀媒體,其中該記憶體封裝係一非揮發性雙列直插記憶體模組(NVDIMM)。
- 如請求項17之至少一種機器可讀媒體,其中修改該記憶體封裝之該廣告狀態發生在該非揮發性記憶體封裝中所包含之一記憶體控制器之一解碼器將該經解碼訊息提供至該記憶體控制器的組件之前。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862627949P | 2018-02-08 | 2018-02-08 | |
US62/627,949 | 2018-02-08 | ||
US16/054,144 | 2018-08-03 | ||
US16/054,144 US10838637B2 (en) | 2018-02-08 | 2018-08-03 | Status management in storage backed memory package |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201945920A true TW201945920A (zh) | 2019-12-01 |
TWI704489B TWI704489B (zh) | 2020-09-11 |
Family
ID=67476692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104311A TWI704489B (zh) | 2018-02-08 | 2019-02-01 | 儲存備份記憶體封裝中之狀態管理 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10838637B2 (zh) |
EP (1) | EP3750047A4 (zh) |
CN (2) | CN114816259A (zh) |
TW (1) | TWI704489B (zh) |
WO (1) | WO2019156883A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838637B2 (en) | 2018-02-08 | 2020-11-17 | Micron Technology, Inc. | Status management in storage backed memory package |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11132042B2 (en) | 2018-01-31 | 2021-09-28 | Hewlett Packard Enterprise Development Lp | Drive carrier assemblies |
US11403159B2 (en) * | 2018-01-31 | 2022-08-02 | Hewlett Packard Enterprise Development Lp | Device carrier assemblies |
US11803470B2 (en) * | 2020-09-25 | 2023-10-31 | Advanced Micro Devices, Inc. | Multi-level cache coherency protocol for cache line evictions |
CN115705149A (zh) * | 2021-08-05 | 2023-02-17 | 三星电子株式会社 | 近存储器处理模块、与主机***的同步方法和存储器*** |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6510503B2 (en) | 1998-07-27 | 2003-01-21 | Mosaid Technologies Incorporated | High bandwidth memory interface |
JP4451705B2 (ja) * | 2004-04-26 | 2010-04-14 | 株式会社日立製作所 | ストレージ装置、これを備えたストレージシステム、このシステムのデータ管理方法、及びストレージ装置のコントローラ実行プログラム |
US7398348B2 (en) | 2004-08-24 | 2008-07-08 | Sandisk 3D Llc | Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory |
KR102025088B1 (ko) * | 2012-09-03 | 2019-09-25 | 삼성전자 주식회사 | 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치 |
KR102156284B1 (ko) | 2013-11-27 | 2020-09-15 | 에스케이하이닉스 주식회사 | 메모리 및 이를 포함하는 메모리 모듈 |
US10025747B2 (en) | 2015-05-07 | 2018-07-17 | Samsung Electronics Co., Ltd. | I/O channel scrambling/ECC disassociated communication protocol |
US10387259B2 (en) | 2015-06-26 | 2019-08-20 | Intel Corporation | Instant restart in non volatile system memory computing systems with embedded programmable data checking |
KR20170012675A (ko) | 2015-07-22 | 2017-02-03 | 삼성전자주식회사 | 컴퓨팅 시스템 및 그것의 데이터 전송 방법 |
JP6479608B2 (ja) * | 2015-08-28 | 2019-03-06 | 東芝メモリ株式会社 | メモリ装置およびメモリ制御方法 |
US10031674B2 (en) | 2015-10-07 | 2018-07-24 | Samsung Electronics Co., Ltd. | DIMM SSD addressing performance techniques |
JP2018014050A (ja) * | 2016-07-22 | 2018-01-25 | 東芝メモリ株式会社 | メモリシステム |
US10509736B2 (en) * | 2016-07-29 | 2019-12-17 | Advanced Micro Devices, Inc. | Controlling access by IO devices to pages in a memory in a computing device |
US10241931B2 (en) | 2016-07-29 | 2019-03-26 | Advanced Micro Devices, Inc. | Controlling access to pages in a memory in a computing device |
US9971537B1 (en) * | 2016-10-26 | 2018-05-15 | Pure Storage, Inc. | Hardware support to track and transition flash LUNs into SLC mode |
US10838637B2 (en) | 2018-02-08 | 2020-11-17 | Micron Technology, Inc. | Status management in storage backed memory package |
-
2018
- 2018-08-03 US US16/054,144 patent/US10838637B2/en active Active
-
2019
- 2019-01-31 EP EP19750433.5A patent/EP3750047A4/en active Pending
- 2019-01-31 CN CN202210498737.5A patent/CN114816259A/zh active Pending
- 2019-01-31 CN CN201980017544.XA patent/CN111886572B/zh active Active
- 2019-01-31 WO PCT/US2019/016009 patent/WO2019156883A1/en unknown
- 2019-02-01 TW TW108104311A patent/TWI704489B/zh active
-
2020
- 2020-09-29 US US17/036,866 patent/US11442638B2/en active Active
-
2022
- 2022-08-25 US US17/895,766 patent/US11934671B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10838637B2 (en) | 2018-02-08 | 2020-11-17 | Micron Technology, Inc. | Status management in storage backed memory package |
US11442638B2 (en) | 2018-02-08 | 2022-09-13 | Micron Technology, Inc. | Status management in storage backed memory package |
US11934671B2 (en) | 2018-02-08 | 2024-03-19 | Micron Technology, Inc. | Status management in storage backed memory package |
Also Published As
Publication number | Publication date |
---|---|
US20220404992A1 (en) | 2022-12-22 |
CN111886572A (zh) | 2020-11-03 |
US11442638B2 (en) | 2022-09-13 |
CN111886572B (zh) | 2022-05-24 |
EP3750047A4 (en) | 2021-10-27 |
TWI704489B (zh) | 2020-09-11 |
US10838637B2 (en) | 2020-11-17 |
US11934671B2 (en) | 2024-03-19 |
US20190243568A1 (en) | 2019-08-08 |
US20210026549A1 (en) | 2021-01-28 |
WO2019156883A1 (en) | 2019-08-15 |
EP3750047A1 (en) | 2020-12-16 |
CN114816259A (zh) | 2022-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI715926B (zh) | 在一儲存備份記憶體封裝中之韌體更新 | |
TWI704489B (zh) | 儲存備份記憶體封裝中之狀態管理 | |
US9817652B2 (en) | Data storage device and method for reducing firmware update time and data processing system including the device | |
US9087562B2 (en) | Non-volatile storage module having magnetic random access memory (MRAM) with a buffer window | |
CN109388517A (zh) | 存储器控制器、包括存储器控制器的存储器***和应用处理器 | |
US9575887B2 (en) | Memory device, information-processing device and information-processing method | |
US20130159604A1 (en) | Memory storage device and memory controller and data writing method thereof | |
TWI564787B (zh) | 響應第二讀取請求之第一資料相關技術 | |
US9934100B2 (en) | Method of controlling memory swap operation and data processing system using same | |
US20190278704A1 (en) | Memory system, operating method thereof and electronic apparatus | |
TWI717687B (zh) | 儲存備份記憶體封裝保存觸發器 | |
KR102028666B1 (ko) | 비식별 요청을 처리하는 저장 장치 및 그것의 동작 방법 | |
US20230065395A1 (en) | Command retrieval and issuance policy | |
US10628322B2 (en) | Memory system and operating method thereof |