TWI715926B - 在一儲存備份記憶體封裝中之韌體更新 - Google Patents
在一儲存備份記憶體封裝中之韌體更新 Download PDFInfo
- Publication number
- TWI715926B TWI715926B TW108104092A TW108104092A TWI715926B TW I715926 B TWI715926 B TW I715926B TW 108104092 A TW108104092 A TW 108104092A TW 108104092 A TW108104092 A TW 108104092A TW I715926 B TWI715926 B TW I715926B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory package
- memory
- firmware
- firmware image
- volatile part
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- 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/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Stored Programmes (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之一實例提供許多實施方案及互動細節。
本申請案係關於一種記憶體封裝,其包括:一揮發性部分;一非揮發性部分;一第一介面,其用來接收一韌體影像;一第二介面,其用來:接收一保存指示;及接收一韌體更新指示;及一處理器件,其用來:將該韌體影像儲存至該揮發性部分;基於該保存指示將該韌體影像自該揮發性部分傳送至該非揮發性部分;及基於該韌體更新指示執行該
記憶體封裝之一韌體更新。
本申請案亦係關於一種用於一記憶體封裝中之一韌體更新之方法,該方法包括:在該記憶體封裝之一第一介面處接收一韌體影像;將該韌體影像儲存至該記憶體封裝之一揮發性部分;在該記憶體封裝之一第二介面處接收一保存指示;基於該保存指示將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之一非揮發性部分;在該第二介面處接收一韌體更新指示;及基於該韌體更新指示執行該記憶體封裝之一韌體更新。
本申請案亦係關於至少一機器可讀媒體,其包含用於一記憶體封裝中之一韌體更新之指令,該等指令在由該記憶體封裝之處理電路系統執行時致使該記憶體封裝執行包括以下各者之操作:在該記憶體封裝之一第一介面處接收一韌體影像;將該韌體影像儲存至該記憶體封裝之一揮發性部分;在該記憶體封裝之一第二介面處接收一保存指示;基於該保存指示將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之一非揮發性部分;在該第二介面處接收一韌體更新指示;及基於該韌體更新指示執行該記憶體封裝之該韌體更新。
105:主機
110:非揮發性雙列直插記憶體模組(NVDIMM)/儲存備份記憶體封裝
113:韌體保存組件
115:第一介面
120:第二介面
125:控制器
130:揮發性儲存部分
135:NOR片段/串列NOR快閃記憶體片段
140:韌體影像
145:非揮發性儲存部分
150:電源
200:環境
205:主機器件
210:儲存備份記憶體封裝
215:處理器
220:記憶體控制器
225:封裝上控制器
230:電源
250:產品
305:訊息
310:訊息
315:訊息
320:訊息
325:操作
330:操作
335:訊息
340:訊息
345:訊息
400:方法
405:操作
410:操作
415:操作
420:操作
425:操作
430:操作
500:機器
502:硬體處理器
504:主記憶體
506:靜態記憶體
508:互連
510:顯示單元
512:文數字輸入器件
514:使用者介面(UI)導覽器件
516:感測器
518:信號產生器件
520:網路介面器件
521:大容量儲存器
522:機器可讀媒體
524:資料結構或指令
526:通信網路
528:輸出控制器
在隨附圖式之圖中以實例且非限制之方式繪示本發明,其中類似元件符號指示類似元件。
圖1繪示根據本發明之一些實施方案之用來實施一韌體更新管理之一NVDIMM之一實例。
圖2繪示根據本發明之一些實施方案之包含用於一儲存備份記憶體封裝中之韌體更新之一系統之一環境之一實例。
圖3繪示根據本發明之一些實施方案之用來在一儲存備份記憶體封裝中實施一韌體更新之一實例性組件訊息傳送。
圖4繪示根據本發明之一些實施方案之用於一儲存備份記憶體封裝中之韌體更新之一方法之一實例性流程圖。
圖5係繪示根據本發明之實施方案之一實例性電腦系統之一方塊圖,可在該電腦系統內執行一指令集以致使機器執行本文中所論述之方法論之任一或多者。
本申請案主張2018年2月8日申請之美國臨時申請案第62/627,969號及2018年8月3日申請之美國申請案第16/054,125號之優先權的權利,該等案之全部內容係以引用的方式併入本文中。
下文論述通常涉及符合NVDIMM-N標準系列之儲存備份記憶體封裝。然而,其他儲存備份記憶體封裝亦可受益於下文所描述之器件及技術。如上所述,NVDIMM-N器件將一NAND快閃記憶體器件定位於模組上。一控制器(例如,處理器件)亦包含於模組上。控制器通常係一特定應用積體電路(ASIC)、一場可程式化閘陣列(FPGA)或其他處理電路系統,其經配置或經程式化以管理模組之DRAM或SDRAM揮發性部分與快閃記憶體非揮發性部分(例如,備份DRAM或SDRAM記憶體之儲存器)之間的資料傳送。通常,控制器針對能量、空間(例如,晶粒大小)或程序(例如,使用較大特徵大小)效率而非針對運算速度最佳化。NVDIMM-N器件包含兩個介面,使一主機(例如,處理器)能夠將模組用於系統記憶體之一DDR版本4(DDR4)記憶體介面及使主機能夠直接與控制器通信之一
積體電路間(I2C、I2C或IIC)匯流排。
I2C係一封包交換匯流排,其使用以1百萬赫茲運行之一雙線連接(例如,一條線用於一時脈信號且一條線用於一資料信號)。因此,I2C對一系統內之諸多離散積體電路提供一靈活且有效之加成。然而,在與DDR4記憶體介面相比時,I2C非常慢,其中I2C具有每秒100或400千位元(Kbit)之輸送量,且DDR4具有每秒1,600百萬位元至3,200百萬位元(Mbit)之間的輸送量之資料速率。主機透過I2C與控制器通信通常涉及讀取及寫入控制器之暫存器。例如,一主機可藉由經由I2C設定開始及結束位址暫存器且致動一保存暫存器來將一部分保存命令發出至控制器。
通常,控制器執行韌體以完成各種任務。有時,韌體更新用於校正錯誤或增加此等任務之效率。傳統上,已使用直接主機至控制器介面(諸如I2C)來將一韌體更新傳達至控制器。通常,控制器接著將確認更新(例如,藉由比較更新與更新之一檢查總和,確認與更新相關聯之一密碼編譯金鑰),檢查更新之一版本等。一旦被確認,控制器便用更新替換其軟體且再起動以運行更新。
傳統更新之一問題隨著主機至控制器介面之速度而出現。例如,針對幾百萬位元組(例如,9.5百萬位元組)之一更新及一I2C主機至控制器介面,歸因於I2C匯流排上之低位元率及高信令負擔,僅將更新傳送至控制器可花費一小時或更長時間。
本發明之態樣涉及一儲存備份記憶體或記憶體子系統(例如,「記憶體器件」)中之一韌體更新。一記憶體子系統之一實例係一儲存系統,諸如一固態硬碟(SSD)。在一些實施例中,記憶體子系統係一混合記憶體/儲存子系統。一般而言,一主機系統可利用包含一或多個記憶體
組件之一記憶體子系統。主機系統可提供待儲存於記憶體子系統處之資料且可請求自記憶體子系統擷取之資料。
因此,為了解決主機至控制器介面速度問題,經由具有遠高於主機至控制器介面之一輸送量之記憶體介面將韌體更新自主機傳送至儲存備份記憶體封裝。然而,記憶體封裝之揮發性部分通常不由控制器之韌體更新部分自由存取。控制器通常限於按照主機之指示將記憶體封裝之一些或所有揮發性部分複製至非揮發性部分。為了避免控制器操作之一大量重工且維持對記憶體標準之順應性,主機將韌體更新寫入至揮發性部分且接著觸發揮發性部分之一保存。主機亦發信號通知保存與一韌體更新相關。控制器執行經指示保存且接著使用保存資料來存取非揮發性部分中之韌體更新。接著,控制器可對韌體更新執行確認且在確認通過時安裝更新執行。藉由採用此技術,儲存備份記憶體封裝可改良韌體更新時間,而無需顯著地重新設計儲存備份記憶體封裝之諸多組件。下文提供額外細節及實例。
圖1繪示根據本發明之一些實施方案之用來實施一韌體更新管理之一NVDIMM 110之一實例。在一實例中,NVDIMM 110符合一JEDEC NVDIMM-N標準系列。NVDIMM 110包含一控制器125、一揮發性儲存部分130、一非揮發性儲存部分145、一第一介面115(例如,一DDR介面)及一第二介面120(例如,一I2C匯流排)。揮發性部分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經配置以檢查此等自變量暫存器以擷取資料來完成命令。如上所述,在一韌體更新(例如,將一韌體影像140自主機105傳送至控制器125)之背景內容中,此程序可花費很長時間,從而影響系統可用性。為了解決此問題,儲存備份記憶體封裝110經由第一介面115例如自主機105接收韌體影像140。控制器125經配置以將韌體影像140儲存於揮發性部分130中。此操作操作為主機105與控制器125之間的一典型記憶體操作,例如,保存主機105上運行之應用程式之狀態資料,即使記憶體模組並非一儲存備份記憶體封裝,此亦係典型的。
控制器125經配置以在第二介面120處接收一保存指示。在一實例中,保存指示係記憶體封裝之一暫存器設定。在一實例中,暫存器
設定包含:一第一暫存器,其包含揮發性部分130內之一起始偏移;及一第二暫存器,其包含一長度。此處,起始偏移及長度對應於韌體影像140。設定自變量暫存器(例如,揮發性部分位址及長度)及設定一「保存命令」暫存器係I2C操作之慣用。然而,保存指示可呈現各種形式,諸如一中斷、一「保存」接腳上之一高或低電壓等。在一實例中,其中韌體影像140將由主機105儲存之揮發性部分之一約定位置(例如,位址)可減輕在保存指示中傳訊位址。類似地,在一實例中,亦可約定揮發性部分130中保留(例如,預先約定或預設)之韌體影像140位置之長度,從而再次減輕傳訊附加項。
控制器125經配置以基於保存指示將韌體影像140自揮發性部分130傳送至非揮發性部分145。此處,控制器125如在一典型儲存備份記憶體封裝保存中般操作。在一實例中,將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分亦基於例如自主機105提供之一韌體更新指示。
在一實例中,為了將韌體影像140自揮發性部分130傳送至非揮發性部分145,控制器125經配置以將韌體影像145傳送至記憶體封裝之非揮發性部分145之一NAND快閃記憶體片段。在此實例中,控制器125之NOR片段135亦被視為非揮發性部分145之部分。
在一實例中,控制器125經配置以確認韌體影像140。確認可為揮發性至非揮發性傳送之部分。在一實例中,為了確認韌體影像140,控制器125經配置以檢驗NAND快閃記憶體片段之一第一頁面以基於一更新標頭獨有之資料識別一韌體更新標頭。此資料可包含區分韌體影像140與其他資料之事物,諸如一製造商識別碼、一特定序列號範圍或其
他資料。
在一實例中,控制器125經配置以將韌體影像140自非揮發性部分145之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段135。在一實例中,此傳送包含自韌體更新移除標頭或錯誤校正碼(ECC)資料之至少一者。在此等實例中,NAND片段通常用來提供揮發性部分130備份,且NOR片段135係用於控制器操作之儲存器。因此,雖然控制器125可存取NAND片段,但用來實施韌體更新之其他控制器機制可期望韌體影像140經放置至NOR片段135中。
控制器125經配置以在第二介面120處接收一韌體更新指示。在一實例中,韌體更新指示係例如控制器125之一暫存器設定。在一實例中,暫存器設定包含即將經由記憶體封裝之非揮發性部分之一片段發生一韌體下載之一暫存器設定。此實例使例如控制器125能夠預期下一次保存實際上係韌體影像140。因此,控制器125可藉由使用來自保存操作之參數來將韌體影像140定位於非揮發性部分145中而避免更新指示中之傳訊附加項。在一實例中,暫存器設定包含根據一JEDEC BAEBI標準系列之韌體更新模式之一暫存器設定。在一實例中,JEDEC BAEBI標準系列包含一JESD245B.01標準。
控制器125經配置以基於韌體更新指示執行一韌體更新。在一實例中,為了執行韌體更新,控制器125經配置以驗證韌體更新之一檢查總和或簽章之至少一者。此驗證確保韌體係相容的(例如,如在韌體影像140之版本之間),未被破壞,或來自一可信源。在一實例中,控制器125經配置以更新一啟動向量以指向韌體影像140。因此,經驗證韌體影像140係儲存於NOR片段135之區域「B」中,而舊韌體影像係儲存於
NOR片段135之「A」區域中。經更新啟動向量最初包含區域「A」之一起始位址且現變為包含區域「B」之一起始位址。在一實例中,控制器125經配置以向一主機傳達韌體更新有效且已被接收。例如,此通信可為一中斷,或設定主機可自第二介面120讀取之一暫存器。在一實例中,控制器125經配置以回應於一重設命令之接收而再起動記憶體封裝,該重設命令係回應於向主機105傳達韌體更新有效且已被接收而傳輸。此處,記憶體封裝在再起動之後使用韌體更新。
NVDIMM 110可視情況包含與主機電力分離之一電源150。電源150可經併入至NVDIMM封裝中,或經連接至NVDIMM封裝(如所繪示)。在主機電力發生故障之情況下,電源150可提供電力以使控制器125能夠將資料自揮發性部分130移動至非揮發性部分145。
上文所描述之控制器125連同韌體影像140經由第一介面115之主機傳訊及傳送解決由儲存備份記憶體封裝中之韌體更新引起之可用性問題。藉由使用記憶體介面、執行一保存且接著使用來自非揮發性部分145之經保存韌體影像,NVDIMM 110可以傳統儲存備份記憶體器件之速度之諸多倍來實現韌體更新。此可導致系統使用者更頻繁地更新(其等之實例在下文關於圖2進行描述),且因此減少歸因於韌體錯誤之效能問題,或增加歸因於韌體漏洞之安全性。
圖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繪示根據本發明之一些實施方案之用來在一儲存備份記憶體封裝中實施一韌體更新之一實例性組件訊息傳送。所繪示之主機、記憶體介面(例如,DDR)、控制器介面(例如,I2C)及控制器組件類似於上文所描述者。在一實例中,記憶體介面及控制器介面係控制器之介面。在此實例中,所繪示訊息流程區分控制器之記憶體介面及控制器介面部分與控制器之其他部分,諸如執行韌體以執行其他動作之部分。
主機經由記憶體介面將一韌體更新影像寫入至DRAM中之一特定記憶體位址中(訊息305)。在一實例中,此DRAM位址可根據例如如由主機之一啟動子系統(例如,基本輸入輸出系統(BIOS)或統一可擴展韌體介面)提供之一主機記憶體映射中之一屬性分配為NV-DRAM。針對一使用案例,使DRAM中之韌體影像位址相對於非揮發性儲存器之起點為零。
接著,主機更新控制器之部分保存暫存器,其等指示控制器將DRAM內容之一部分(由一起始位址或偏移及長度指定之部分)傳送至NAND。在上述使用案例中,使主機指定自偏移零開始之10百萬位元。
主機通知控制器(例如經由一供應商特定暫存器)即將經由NAND請求一韌體影像更新(訊息310)。接著,主機啟用一韌體更新模式(例如,經由JEDEC BAEBI標準系列中指定之一暫存器)(訊息315)。經由控制器介面將暫存器設定傳達至控制器(訊息320)。
當控制器觀察到訊息310及315完成時,控制器針對韌體更新設定一「進行中操作」位元,執行部分保存(操作325),追蹤哪些非揮
發性儲存區塊已用來儲存保持韌體影像之DRAM內容。
接著,控制器驗證且儲存韌體影像(操作330)。此可包含將保存操作中使用之NAND之第一頁面讀取至控制器狀態記憶體(例如,由控制器用來保持狀態資料之RAM)中且在彼資料中搜尋韌體影像標頭。韌體影像標頭具有儲存於其中之足夠唯一資料(諸如供應商或產品識別符),以區分其與其他資料。控制器亦可將有效負載資料(例如,來自韌體影像之資料,排除標頭或ECC資料)自控制器記憶體移動至串列NOR中。
一旦整個韌體影像經傳送至NOR,則控制器可進行檢查總和且驗證韌體影像之一簽章以確保其被恰當地接收且該影像有效。在驗證韌體影像(訊息335)之後,可更新暖啟動向量,且發信號通知主機一有效韌體影像已被接收(訊息340)。
接著,主機將一重設發出至NVDIMM以在控制器上起動新韌體影像(訊息345)。在一實例中,主機在再起動之後將原始位址重新訓練為行位址延遲(RCD)。在一實例中,主機確保DRAM擾亂未被啟用。
圖4繪示根據本發明之一些實施方案之用於一儲存備份記憶體封裝中之韌體更新之一方法400之一實例性流程圖。方法400之操作經實施於電子硬體中,諸如上文關於圖1至圖2及下文關於圖5所描述之電子硬體(例如,在電路系統中)。
在操作405,(例如,在記憶體封裝之一第一介面處)接收一韌體影像。在一實例中,第一介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。在一實例中,記憶體封裝符合一NVDIMM。在一實例中,NVDIMM係根據一JEDEC標準系列之一NVDIMM-N類型。
在操作410,將韌體影像儲存至記憶體封裝之一揮發性部
分。在一實例中,回應於經由第一介面接收韌體影像而執行儲存。
在操作415,在記憶體封裝之一第二介面處接收一保存指示。在一實例中,第二介面係根據一I2C標準系列操作之一匯流排。在一實例中,保存指示係記憶體封裝之一暫存器設定。在一實例中,暫存器設定包含:一第一暫存器,其包含記憶體封裝之揮發性部分內之一起始偏移;及一第二暫存器,其包含一長度。此處,起始偏移及長度對應於韌體影像。
在操作420,基於保存指示將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分。在一實例中,將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分亦基於一韌體更新指示(例如,下述操作425)。
在一實例中,將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體影像傳送至記憶體封裝之非揮發性部分之一NAND快閃記憶體片段。在一實例中,將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含由記憶體封裝之一控制器確認韌體影像。在一實例中,確認韌體影像包含檢驗NAND快閃記憶體片段之一第一頁面以基於一更新標頭獨有之資料識別一韌體影像標頭。
在一實例中,將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體影像自記憶體封裝之非揮發性部分之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段。在一實例中,將韌體影像自NAND快閃記憶體片段傳送至串列NOR快閃記憶體片段包含自韌體影像移除標頭或錯誤校正碼(ECC)資料之至少一者。
在操作425,在第二介面處接收一韌體更新指示。在一實例中,韌體更新指示係記憶體封裝之一暫存器設定。在一實例中,暫存器設定包含即將經由記憶體封裝之非揮發性部分之一片段發生一韌體下載之一暫存器設定。在一實例中,暫存器設定包含根據一JEDEC BAEBI標準系列之韌體更新模式之一暫存器設定。在一實例中,JEDEC BAEBI標準系列包含一JESD245B.01標準。
在操作430,基於韌體更新指示執行記憶體封裝之一韌體更新。在一實例中,執行韌體更新包含驗證韌體影像之一檢查總和或一簽章之至少一者。在一實例中,執行韌體更新包含更新一啟動向量以指向韌體影像。在一實例中,執行韌體更新包含向一主機傳達韌體影像有效且已被接收。在一實例中,執行韌體更新包含回應於一重設命令之接收而再起動記憶體封裝,該重設命令係回應於向主機傳達韌體影像有效且已被接收而傳輸。此處,記憶體封裝在再起動之後使用韌體影像。
圖5繪示根據本發明之實施方案繪示一實例性電腦系統(例如,機器500)之一方塊圖,可在該電腦系統內執行一指令集以致使機器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固態儲存器件(例如,微型安全數位(microSDTM)卡等)。MMC器件包含具有一主機器件之數個平行介面(例如,一8位元平行介面),且通常為可自該主機器件卸除及分離之組件。相比而言,eMMCTM器件經附接至一電路板且被視為主機器件之一組件,該組件具有匹敵基於串列ATATM(串列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中,實例6之標的物包含,其中暫存器設定包含:
一第一暫存器,其包含揮發性部分內之一起始偏移;及一第二暫存器,其包含一長度,起始偏移及長度對應於韌體影像。
在實例8中,實例1至7之標的物包含,其中韌體更新指示係記憶體封裝之一暫存器設定。
在實例9中,實例8之標的物包含,其中暫存器設定包含即將經由非揮發性部分之一片段發生一韌體下載之一暫存器設定。
在實例10中,實例8至9之標的物包含,其中暫存器設定包含根據一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列之韌體更新模式之一暫存器設定。
在實例11中,實例10之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例12中,實例1至11之標的物包含,其中韌體影像自揮發性部分至非揮發性部分之傳送亦係基於韌體更新指示。
在實例13中,實例1至12之標的物包含,其中為了將韌體影像自揮發性部分傳送至非揮發性部分,處理器件將韌體影像傳送至非揮發性部分之一NAND快閃記憶體片段。
在實例14中,實例13之標的物包含,其中為了將韌體影像自揮發性部分傳送至非揮發性部分,處理器件確認韌體影像。
在實例15中,實例14之標的物包含,其中為了確認韌體影像,處理器件檢驗NAND快閃記憶體片段之一第一頁面以基於一更新標頭獨有之資料來識別一韌體影像標頭。
在實例16中,實例13至15之標的物包含,其中為了將韌體影像自揮發性部分傳送至非揮發性部分,處理器件將韌體影像自非揮發性
部分之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段。
在實例17中,實例16之標的物包含,其中為了將韌體影像自NAND快閃記憶體片段傳送至串列NOR快閃記憶體片段,處理器件自韌體影像移除標頭或錯誤校正碼(ECC)資料之至少一者。
在實例18中,實例16至17之標的物包含,其中為了執行韌體更新,處理器件驗證韌體影像之一檢查總和或簽章之至少一者。
在實例19中,實例16至18之標的物包含,其中為了執行韌體更新,處理器件:更新一啟動向量以指向韌體影像;及向主機傳達韌體影像有效且已被接收。
在實例20中,實例19之標的物包含,其中為了執行韌體更新,處理器件回應於一重設命令之接收而再起動記憶體封裝,重設命令係回應於向主機傳達韌體影像有效且已被接收而傳輸,其中記憶體封裝在再起動之後使用韌體影像。
實例21係一種用於一儲存備份記憶體封裝中之韌體更新之方法,該方法包括:回應於經由記憶體封裝之一第一介面接收一韌體影像而將韌體影像儲存至記憶體封裝之一揮發性部分;在記憶體封裝之一第二介面處接收一保存指示;基於保存指示將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之一非揮發性部分;在第二介面處接收一韌體更新指示;及基於韌體更新指示執行記憶體封裝之一韌體更新。
在實例22中,實例21之標的物包含,其中第二介面係根據一I2C標準系列操作之一匯流排。
在實例23中,實例21至22之標的物包含,其中第一介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例24中,實例23之標的物包含,其中記憶體封裝符合一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例25中,實例24之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例26中,實例21至25之標的物包含,其中保存指示係記憶體封裝之一暫存器設定。
在實例27中,實例26之標的物包含,其中暫存器設定包含:一第一暫存器,其包含記憶體封裝之揮發性部分內之一起始偏移;及一第二暫存器,其包含一長度,起始偏移及長度對應於韌體影像。
在實例28中,實例21至27之標的物包含,其中韌體更新指示係記憶體封裝之一暫存器設定。
在實例29中,實例28之標的物包含,其中暫存器設定包含即將經由記憶體封裝之非揮發性部分之一片段發生一韌體下載之一暫存器設定。
在實例30中,實例28至29之標的物包含,其中暫存器設定包含根據一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列之韌體更新模式之一暫存器設定。
在實例31中,實例30之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例32中,實例21至31之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分亦基於韌體更新指示。
在實例33中,實例21至32之標的物包含,其中將韌體影像
自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體影像傳送至記憶體封裝之非揮發性部分之一NAND快閃記憶體片段。
在實例34中,實例33之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含由記憶體封裝之一處理器件確認韌體影像。
在實例35中,實例34之標的物包含,其中確認韌體影像包含檢驗NAND快閃記憶體片段之一第一頁面以基於一更新標頭所獨有之資料識別一韌體影像標頭。
在實例36中,實例33至35之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體影像自記憶體封裝之非揮發性部分之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段。
在實例37中,實例36之標的物包含,其中將韌體影像自NAND快閃記憶體片段傳送至串列NOR快閃記憶體片段包含自韌體影像移除標頭或錯誤校正碼(ECC)資料之至少一者。
在實例38中,實例36至37之標的物包含,其中執行韌體更新包含確認韌體影像之一檢查總和或簽章之至少一者。
在實例39中,實例36至38之標的物包含,其中執行韌體更新包含:更新一啟動向量以指向韌體影像;及向主機傳達韌體影像有效且已被接收。
在實例40中,實例39之標的物包含,其中執行韌體更新包含回應於一重設命令之接收而再起動記憶體封裝,重設命令係回應於向主機傳達韌體影像有效且已被接收而傳輸,其中記憶體封裝在再起動之後使
用韌體影像。
實例41係至少一種包含用於一儲存備份記憶體封裝中之韌體更新之指令之機器可讀媒體,該等指令在由記憶體封裝之處理電路系統執行時致使記憶體封裝執行包括以下各者之操作:回應於經由記憶體封裝之一第一介面接收一韌體影像而將韌體影像儲存至記憶體封裝之一揮發性部分;在記憶體封裝之一第二介面處接收一保存指示;基於保存指示將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之一非揮發性部分;在第二介面處接收一韌體更新指示;及基於韌體更新指示執行記憶體封裝之一韌體更新。
在實例42中,實例41之標的物包含,其中第二介面係根據一I2C標準系列操作之一匯流排。
在實例43中,實例41至42之標的物包含,其中第一介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例44中,實例43之標的物包含,其中記憶體封裝符合一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例45中,實例44之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例46中,實例41至45之標的物包含,其中保存指示係記憶體封裝之一暫存器設定。
在實例47中,實例46之標的物包含,其中暫存器設定包含:一第一暫存器,其包含記憶體封裝之揮發性部分內之一起始偏移;及一第二暫存器,其包含一長度,起始偏移及長度對應於韌體影像。
在實例48中,實例41至47之標的物包含,其中韌體更新指
示係記憶體封裝之一暫存器設定。
在實例49中,實例48之標的物包含,其中暫存器設定包含即將經由記憶體封裝之非揮發性部分之一片段發生一韌體下載之一暫存器設定。
在實例50中,實例48至49之標的物包含,其中暫存器設定包含根據一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列之韌體更新模式之一暫存器設定。
在實例51中,實例50之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例52中,實例41至51之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分亦基於韌體更新指示。
在實例53中,實例41至52之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體影像傳送至記憶體封裝之非揮發性部分之一NAND快閃記憶體片段。
在實例54中,實例53之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含由記憶體封裝之一處理器件確認韌體影像。
在實例55中,實例54之標的物包含,其中確認韌體影像包含檢驗NAND快閃記憶體片段之一第一頁面以基於一更新標頭所獨有之資料識別一韌體影像標頭。
在實例56中,實例53至55之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分包含將韌體
影像自記憶體封裝之非揮發性部分之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段。
在實例57中,實例56之標的物包含,其中將韌體影像自NAND快閃記憶體片段傳送至串列NOR快閃記憶體片段包含自韌體影像移除標頭或錯誤校正碼(ECC)資料之至少一者。
在實例58中,實例56至57之標的物包含,其中執行韌體更新包含確認韌體影像之一檢查總和或簽章之至少一者。
在實例59中,實例56至58之標的物包含,其中執行韌體更新包含:更新一啟動向量以指向韌體影像;及向主機傳達韌體影像有效且已被接收。
在實例60中,實例59之標的物包含,其中執行韌體更新包含回應於一重設命令之接收而再起動記憶體封裝,重設命令係回應於向主機傳達韌體影像有效且已被接收而傳輸,其中記憶體封裝在再起動之後使用韌體影像。
實例61係一種用於一儲存備份記憶體封裝中之韌體更新之系統,該系統包括:用於回應於經由記憶體封裝之一第一介面接收一韌體影像而將韌體影像儲存至記憶體封裝之一揮發性部分之構件;用於在記憶體封裝之一第二介面處接收一保存指示之構件;用於基於保存指示將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之一非揮發性部分之構件;用於在第二介面處接收一韌體更新指示之構件;及用於基於韌體更新指示執行記憶體封裝之一韌體更新之構件。
在實例62中,實例61之標的物包含,其中第二介面係根據一I2C標準系列操作之一匯流排。
在實例63中,實例61至62之標的物包含,其中第一介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
在實例64中,實例63之標的物包含,其中記憶體封裝符合一非揮發性雙列直插記憶體模組(NVDIMM)。
在實例65中,實例64之標的物包含,其中NVDIMM係根據一聯合電子器件工程委員會(JEDEC)標準系列之一NVDIMM-N類型。
在實例66中,實例61至65之標的物包含,其中保存指示係記憶體封裝之一暫存器設定。
在實例67中,實例66之標的物包含,其中暫存器設定包含:一第一暫存器,其包含記憶體封裝之揮發性部分內之一起始偏移;及一第二暫存器,其包含一長度,起始偏移及長度對應於韌體影像。
在實例68中,實例61至67之標的物包含,其中韌體更新指示係記憶體封裝之一暫存器設定。
在實例69中,實例68之標的物包含,其中暫存器設定包含即將經由記憶體封裝之非揮發性部分之一片段發生一韌體下載之一暫存器設定。
在實例70中,實例68至69之標的物包含,其中暫存器設定包含根據一聯合電子器件工程委員會(JEDEC)位元組可定址能量備份介面(BAEBI)標準系列之韌體更新模式之一暫存器設定。
在實例71中,實例70之標的物包含,其中JEDEC BAEBI標準系列包含一JESD245B.01標準。
在實例72中,實例61至71之標的物包含,其中將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分亦基於韌體
更新指示。
在實例73中,實例61至72之標的物包含,其中用於將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分之構件包含用於將韌體影像傳送至記憶體封裝之非揮發性部分之一NAND快閃記憶體片段之構件。
在實例74中,實例73之標的物包含,其中用於將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分之構件包含用於由記憶體封裝之一處理器確認韌體影像之構件。
在實例75中,實例74之標的物包含,其中用於確認韌體影像之構件包含用於檢驗NAND快閃記憶體片段之一第一頁面以基於專屬於一更新標頭之資料識別一韌體影像標頭之構件。
在實例76中,實例73至75之標的物包含,其中用於將韌體影像自記憶體封裝之揮發性部分傳送至記憶體封裝之非揮發性部分之構件包含用於將韌體影像自記憶體封裝之非揮發性部分之NAND快閃記憶體片段傳送至一串列NOR快閃記憶體片段之構件。
在實例77中,實例76之標的物包含,其中用於將韌體影像自NAND快閃記憶體片段傳送至串列NOR快閃記憶體片段之構件包含用於自韌體影像移除標頭或錯誤校正碼(ECC)資料之至少一者之構件。
在實例78中,實例76至77之標的物包含,其中用於執行韌體更新之構件包含用於驗證韌體影像之一檢查總和或簽章之至少一者之構件。
在實例79中,實例76至78之標的物包含,其中用於執行韌體更新之構件包含:用於更新一啟動向量以指向韌體影像之構件;及用於
向主機傳達韌體影像有效且已被接收之構件。
在實例80中,實例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‧‧‧NOR片段/串列NOR快閃記憶體片段
140‧‧‧韌體影像
145‧‧‧非揮發性儲存部分
150‧‧‧電源
Claims (20)
- 一種記憶體封裝,其包括:一揮發性部分;一非揮發性部分;一第一硬體介面,用來在一主機系統與該揮發性部分之間傳達資料及用來接收一韌體影像;一第二硬體介面,用來在該主機系統與該記憶體封裝之一記憶體控制器之間傳達暫存器資料、用來接收一保存指示及用來接收一韌體更新指示;及一處理器件,用來執行包括以下各者之操作:回應於經由該第一硬體介面自該主機系統接收該韌體影像,致使該韌體影像儲存於該揮發性部分上;回應於經由該第二硬體介面自該主機系統接收該保存指示,將該韌體影像自該揮發性部分傳送至該非揮發性部分;及回應於經由該第二硬體介面自該主機系統接收該韌體更新指示,基於儲存於該非揮發性部分上之該韌體影像執行該記憶體封裝之一韌體更新。
- 如請求項1之記憶體封裝,其中該第二硬體介面係根據一積體電路間(I2C)標準系列操作之一匯流排。
- 如請求項1之記憶體封裝,其中該第一硬體介面係一雙倍資料速率 (DDR)隨機存取記憶體(RAM)介面。
- 如請求項1之記憶體封裝,其中將該韌體影像自該揮發性部分傳送至該非揮發性部分包括將該韌體影像傳送至該非揮發性部分之一NAND快閃記憶體片段。
- 如請求項4之記憶體封裝,其中將該韌體影像自該揮發性部分傳送至該非揮發性部分進一步包括將該韌體影像自該NAND快閃記憶體片段傳送至該非揮發性部分之一串列NOR快閃記憶體片段。
- 如請求項5之記憶體封裝,其中執行該韌體更新包括:更新一啟動向量(boot vector)以指向該韌體影像;及向該主機系統傳達該韌體影像有效且已被接收。
- 如請求項6之記憶體封裝,其中執行該韌體更新進一步包括回應於自該主機系統之一重設命令之接收而再起動該記憶體封裝,該重設命令係回應於向該主機系統傳達該韌體影像已被接收且有效而由該主機系統傳輸,其中該記憶體封裝在該再起動之後使用該韌體影像。
- 一種用於一記憶體封裝中之一韌體更新之方法,該方法包括:在該記憶體封裝之一第一硬體介面處接收一韌體影像,該第一硬體介面經組態以在一主機系統與該記憶體封裝之一揮發性部分之間傳達資料; 回應於經由該第一硬體介面自該主機系統接收該韌體影像,致使該韌體影像儲存於該記憶體封裝之該揮發性部分上;在該記憶體封裝之一第二硬體介面處接收一保存指示,該第二硬體介面經組態以在該主機系統與該記憶體封裝之一記憶體控制器之間傳達暫存器資料;回應於經由該第二硬體介面自該主機系統接收該保存指示,將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之一非揮發性部分;在該第二硬體介面處,接收一韌體更新指示;及回應於經由該第二硬體介面自該主機系統接收該韌體更新指示,基於儲存於該非揮發性部分上之該韌體影像執行該記憶體封裝之一韌體更新。
- 如請求項8之方法,其中該第二硬體介面係根據一積體電路間(I2C)標準系列操作之一匯流排。
- 如請求項8之方法,其中該第一硬體介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
- 如請求項8之方法,其中將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之該非揮發性部分包括將該韌體影像傳送至該記憶體封裝之該非揮發性部分之一NAND快閃記憶體片段。
- 如請求項11之方法,其中將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之該非揮發性部分進一步包括將該韌體影像自該NAND快閃記憶體片段傳送至該記憶體封裝之該非揮發性部分之一串列NOR快閃記憶體片段。
- 如請求項12之方法,其中執行該韌體更新包括:更新一啟動向量以指向該韌體影像;及向該主機系統傳達該韌體影像有效且已被接收。
- 如請求項13之方法,其中執行該韌體更新進一步包括回應於自該主機系統之一重設命令之接收而再起動該記憶體封裝,該重設命令係回應於向該主機系統傳達該韌體影像有效且已被接收而由該主機系統傳輸,其中該記憶體封裝在該再起動之後使用該韌體影像。
- 一種包含用於一記憶體封裝中之一韌體更新之指令之機器可讀媒體,該等指令在由該記憶體封裝之處理電路系統執行時,致使該記憶體封裝執行包括以下各者之操作:在該記憶體封裝之一第一硬體介面處接收一韌體影像,該第一硬體介面經組態以在一主機系統與該記憶體封裝之一揮發性部分之間傳達資料;回應於經由該第一硬體介面自該主機系統接收該韌體影像,致使該韌體影像儲存於該記憶體封裝之該揮發性部分上;在該記憶體封裝之一第二硬體介面處接收一保存指示,該第二硬體 介面經組態以在該主機系統與該記憶體封裝之一記憶體控制器之間傳達暫存器資料;回應於經由該第二硬體介面自該主機系統接收該保存指示,將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之一非揮發性部分;在該第二硬體介面處,接收一韌體更新指示;及回應於經由該第二硬體介面自該主機系統接收該韌體更新指示,基於儲存於該非揮發性部分上之該韌體影像執行該記憶體封裝之該韌體更新。
- 如請求項15之機器可讀媒體,其中該第二硬體介面係根據一積體電路間(I2C)標準系列操作之一匯流排。
- 如請求項15之機器可讀媒體,其中該第一硬體介面係一雙倍資料速率(DDR)隨機存取記憶體(RAM)介面。
- 如請求項15之機器可讀媒體,其中將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之該非揮發性部分包括將該韌體影像傳送至該記憶體封裝之該非揮發性部分之一NAND快閃記憶體片段。
- 如請求項18之機器可讀媒體,其中將該韌體影像自該記憶體封裝之該揮發性部分傳送至該記憶體封裝之該非揮發性部分進一步包括將該韌體影像自該NAND快閃記憶體片段傳送至該記憶體封裝之該非揮發性部分之 一串列NOR快閃記憶體片段。
- 如請求項19之機器可讀媒體,其中執行該韌體更新包括:更新一啟動向量以指向該韌體影像;及向該主機系統傳達該韌體影像有效且已被接收。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862627969P | 2018-02-08 | 2018-02-08 | |
US62/627,969 | 2018-02-08 | ||
US16/054,125 US11099831B2 (en) | 2018-02-08 | 2018-08-03 | Firmware update in a storage backed memory system |
US16/054,125 | 2018-08-03 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201937365A TW201937365A (zh) | 2019-09-16 |
TWI715926B true TWI715926B (zh) | 2021-01-11 |
Family
ID=67476049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108104092A TWI715926B (zh) | 2018-02-08 | 2019-02-01 | 在一儲存備份記憶體封裝中之韌體更新 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11099831B2 (zh) |
EP (1) | EP3750052A4 (zh) |
CN (1) | CN111819539A (zh) |
TW (1) | TWI715926B (zh) |
WO (1) | WO2019156876A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817502B (zh) * | 2022-05-13 | 2023-10-01 | 宇瞻科技股份有限公司 | 固態硬碟系統 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11099831B2 (en) * | 2018-02-08 | 2021-08-24 | Micron Technology, Inc. | Firmware update in a storage backed memory system |
US20190325139A1 (en) * | 2019-06-28 | 2019-10-24 | Intel Corporation | Secure updating of computing system firmware |
US11150890B2 (en) * | 2019-09-12 | 2021-10-19 | International Business Machines Corporation | File system synchronization-based updating |
TWI712045B (zh) * | 2020-01-16 | 2020-12-01 | 慧榮科技股份有限公司 | 資料儲存裝置修復方法 |
CN115443450A (zh) * | 2020-05-29 | 2022-12-06 | 惠普发展公司,有限责任合伙企业 | 通过供应设备进行bios配置 |
US20200326925A1 (en) * | 2020-06-26 | 2020-10-15 | Intel Corporation | Memory device firmware update and activation with memory access quiescence |
JP7327304B2 (ja) * | 2020-07-08 | 2023-08-16 | トヨタ自動車株式会社 | ソフトウェア更新装置、方法、プログラムおよび車両 |
US11580215B2 (en) * | 2020-09-14 | 2023-02-14 | Micron Technology, Inc. | Authenticating software images |
KR102635807B1 (ko) * | 2021-06-30 | 2024-02-13 | 한국전자통신연구원 | 펌웨어 메모리 맵 정보 추출 장치 및 방법 |
US20230004461A1 (en) * | 2021-07-02 | 2023-01-05 | Dell Products L.P. | Systems and methods for using pattern-based bit flips for faster write and consistent error recovery |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI267861B (en) * | 2005-09-06 | 2006-12-01 | Alcor Micro Corp | Method and device for loading configuration values of nonvolatile memory |
US20080126784A1 (en) * | 2006-08-28 | 2008-05-29 | Fujitsu Limited | Storage apparatus, control method, and control device |
TWI467485B (zh) * | 2011-06-07 | 2015-01-01 | Insyde Software Corp | Verification of the basic input and output system update method, the computer can read the recording media and computer program products |
US20170040057A1 (en) * | 2015-08-03 | 2017-02-09 | Youngjin Cho | Nonvolatile memory module having backup function |
US9858067B2 (en) * | 2015-10-05 | 2018-01-02 | Samsung Electronics Co., Ltd. | Electronic system with update control mechanism and method of operation thereof |
US20180004504A1 (en) * | 2011-06-07 | 2018-01-04 | Seagate Technology Llc | Management of device firmware update effects as seen by a host |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009495A (en) * | 1989-12-29 | 1999-12-28 | Packard Bell Nec | Protected address range in an electrically erasable programmable read only memory |
US5872967A (en) * | 1989-12-29 | 1999-02-16 | Packard Bell Nec | Method for warm boot from reset |
US5596713A (en) * | 1993-12-08 | 1997-01-21 | Zenith Data Systems Corporation | Method to prevent data loss in an electrically erasable read only memory |
US6282675B1 (en) * | 1997-08-06 | 2001-08-28 | Macronix International Co., Ltd. | Fault-tolerant architecture for in-circuit programming |
US6205548B1 (en) * | 1998-07-31 | 2001-03-20 | Intel Corporation | Methods and apparatus for updating a nonvolatile memory |
US20030095648A1 (en) * | 1999-10-05 | 2003-05-22 | Lifecor, Inc. | Fault-tolerant remote reprogramming for a patient-worn medical device |
US6711675B1 (en) * | 2000-02-11 | 2004-03-23 | Intel Corporation | Protected boot flow |
US7213152B1 (en) * | 2000-02-14 | 2007-05-01 | Intel Corporation | Modular bios update mechanism |
JP4083505B2 (ja) * | 2001-08-27 | 2008-04-30 | 株式会社リコー | 画像形成装置,プログラム更新方法および記録媒体 |
US7367514B2 (en) * | 2003-07-03 | 2008-05-06 | Hand Held Products, Inc. | Reprogramming system including reprogramming symbol |
US20060179308A1 (en) * | 2005-02-07 | 2006-08-10 | Andrew Morgan | System and method for providing a secure boot architecture |
US8645749B2 (en) * | 2009-02-04 | 2014-02-04 | Micron Technology, Inc. | Systems and methods for storing and recovering controller data in non-volatile memory devices |
US8566639B2 (en) * | 2009-02-11 | 2013-10-22 | Stec, Inc. | Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus |
CN102626000A (zh) * | 2009-07-06 | 2012-08-01 | 泰帝公司 | 基于双向无线电的统一通信系统 |
JP5564956B2 (ja) * | 2010-01-15 | 2014-08-06 | 富士通株式会社 | 情報処理装置及び情報処理装置のファームウェア更新方法 |
US20120060039A1 (en) * | 2010-03-05 | 2012-03-08 | Maxlinear, Inc. | Code Download and Firewall for Embedded Secure Application |
US8607210B2 (en) * | 2010-11-30 | 2013-12-10 | Micron Technology, Inc. | Code patching for non-volatile memory |
US9569320B2 (en) * | 2010-12-01 | 2017-02-14 | Seagate Technology Llc | Non-volatile memory program failure recovery via redundant arrays |
JP5395824B2 (ja) * | 2011-02-16 | 2014-01-22 | 株式会社東芝 | メモリシステム |
US8880779B2 (en) * | 2011-08-05 | 2014-11-04 | Apple Inc. | Debugging a memory subsystem |
US10803970B2 (en) * | 2011-11-14 | 2020-10-13 | Seagate Technology Llc | Solid-state disk manufacturing self test |
US9336130B2 (en) * | 2011-11-30 | 2016-05-10 | Sandisk Technologies Inc. | Methods, systems, and computer readable media for providing basic input/output system (BIOS) data and non-BIOS data on the same non-volatile memory |
US9792439B2 (en) * | 2012-09-19 | 2017-10-17 | Nxp B.V. | Method and system for securely updating firmware in a computing device |
US9329991B2 (en) * | 2013-01-22 | 2016-05-03 | Seagate Technology Llc | Translation layer partitioned between host and controller |
US9395924B2 (en) * | 2013-01-22 | 2016-07-19 | Seagate Technology Llc | Management of and region selection for writes to non-volatile memory |
US9727462B2 (en) * | 2013-01-30 | 2017-08-08 | Hewlett Packard Enterprise Development Lp | Runtime backup of data in a memory module |
WO2014120205A1 (en) * | 2013-01-31 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Replacement of a corrupt driver variable record |
US9053015B2 (en) | 2013-06-17 | 2015-06-09 | Topcon Positioning Systems, Inc. | NAND flash memory interface controller with GNSS receiver firmware booting capability |
US9703636B2 (en) * | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
WO2016003455A1 (en) * | 2014-07-02 | 2016-01-07 | Hewlett-Packard Development Company, L.P. | Firmware update |
US10268584B2 (en) * | 2014-08-20 | 2019-04-23 | Sandisk Technologies Llc | Adaptive host memory buffer (HMB) caching using unassisted hinting |
US20160350002A1 (en) * | 2015-05-29 | 2016-12-01 | Intel Corporation | Memory device specific self refresh entry and exit |
US20170010874A1 (en) * | 2015-07-06 | 2017-01-12 | Cisco Technology, Inc. | Provisioning storage devices in a data center |
DE102015112040A1 (de) * | 2015-07-23 | 2017-01-26 | Phoenix Contact Gmbh & Co. Kg | Verfahren und System zur Firmware-Aktualisierung einer Steuereinrichtung zur Prozesssteuerung |
US10152264B1 (en) * | 2017-08-11 | 2018-12-11 | Dell Products L.P. | Memory device update system |
US11099831B2 (en) * | 2018-02-08 | 2021-08-24 | Micron Technology, Inc. | Firmware update in a storage backed memory system |
US11966329B2 (en) * | 2018-04-12 | 2024-04-23 | Micron Technology, Inc. | Address map caching for a memory system |
US10635345B2 (en) * | 2018-08-31 | 2020-04-28 | Micron Technology, Inc. | Live firmware activation in a memory system |
-
2018
- 2018-08-03 US US16/054,125 patent/US11099831B2/en active Active
-
2019
- 2019-01-30 EP EP19751223.9A patent/EP3750052A4/en not_active Withdrawn
- 2019-01-30 CN CN201980017604.8A patent/CN111819539A/zh active Pending
- 2019-01-30 WO PCT/US2019/015917 patent/WO2019156876A1/en unknown
- 2019-02-01 TW TW108104092A patent/TWI715926B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI267861B (en) * | 2005-09-06 | 2006-12-01 | Alcor Micro Corp | Method and device for loading configuration values of nonvolatile memory |
US20080126784A1 (en) * | 2006-08-28 | 2008-05-29 | Fujitsu Limited | Storage apparatus, control method, and control device |
TWI467485B (zh) * | 2011-06-07 | 2015-01-01 | Insyde Software Corp | Verification of the basic input and output system update method, the computer can read the recording media and computer program products |
US20180004504A1 (en) * | 2011-06-07 | 2018-01-04 | Seagate Technology Llc | Management of device firmware update effects as seen by a host |
US20170040057A1 (en) * | 2015-08-03 | 2017-02-09 | Youngjin Cho | Nonvolatile memory module having backup function |
US9858067B2 (en) * | 2015-10-05 | 2018-01-02 | Samsung Electronics Co., Ltd. | Electronic system with update control mechanism and method of operation thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI817502B (zh) * | 2022-05-13 | 2023-10-01 | 宇瞻科技股份有限公司 | 固態硬碟系統 |
Also Published As
Publication number | Publication date |
---|---|
EP3750052A4 (en) | 2021-11-10 |
US20190243635A1 (en) | 2019-08-08 |
WO2019156876A1 (en) | 2019-08-15 |
CN111819539A (zh) | 2020-10-23 |
TW201937365A (zh) | 2019-09-16 |
US11099831B2 (en) | 2021-08-24 |
EP3750052A1 (en) | 2020-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI715926B (zh) | 在一儲存備份記憶體封裝中之韌體更新 | |
US9817652B2 (en) | Data storage device and method for reducing firmware update time and data processing system including the device | |
TWI704489B (zh) | 儲存備份記憶體封裝中之狀態管理 | |
US9678760B2 (en) | Memory card and storage system having authentication program and method for operating thereof | |
US10866737B2 (en) | Apparatus, method and system to store information for a solid state drive | |
US9087562B2 (en) | Non-volatile storage module having magnetic random access memory (MRAM) with a buffer window | |
CN110929261B (zh) | 存储器系统及其操作方法 | |
US9354818B2 (en) | Memory device and data storing method | |
US20200104063A1 (en) | Memory controller systems with nonvolatile memory for storing operating parameters | |
TW201939509A (zh) | 記憶體定址方法及相關聯的控制器 | |
US20200012439A1 (en) | Object transformation in a solid state drive | |
TWI668569B (zh) | 主機記憶體緩衝區配置方法、記憶體儲存裝置與記憶體控制電路單元 | |
TWI717687B (zh) | 儲存備份記憶體封裝保存觸發器 | |
JP2008065725A (ja) | Nand型フラッシュメモリデバイス及びこれを利用したコンピューティングシステムの起動方法 | |
KR102213665B1 (ko) | 인증 프로그램을 갖는 메모리 카드, 그것을 포함하는 스토리지 시스템, 및 그것의 동작 방법 | |
TW201926333A (zh) | 記憶體系統及其操作方法 |