[go: up one dir, main page]

TWI769335B - 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體 - Google Patents

用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體 Download PDF

Info

Publication number
TWI769335B
TWI769335B TW107138675A TW107138675A TWI769335B TW I769335 B TWI769335 B TW I769335B TW 107138675 A TW107138675 A TW 107138675A TW 107138675 A TW107138675 A TW 107138675A TW I769335 B TWI769335 B TW I769335B
Authority
TW
Taiwan
Prior art keywords
write
memory system
write buffer
host device
buffer space
Prior art date
Application number
TW107138675A
Other languages
English (en)
Other versions
TW201923588A (zh
Inventor
庫爾吉特 辛格 班斯
拉杰 拉馬努珍
韋斯利 昆霖
利永 王
Original Assignee
美商高通公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商高通公司 filed Critical 美商高通公司
Publication of TW201923588A publication Critical patent/TW201923588A/zh
Application granted granted Critical
Publication of TWI769335B publication Critical patent/TWI769335B/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本發明提供用於使一主機裝置與包含一非揮發性記憶體(NVM)之一記憶體系統的一媒體控制器之間的寫入信用同步的系統和方法,其中該主機裝置經組態以維持該主機裝置之一記憶體控制器中所實施的寫入信用(WC)計數器。該WC計數器追蹤及限制可發佈至該NVM的未處理寫入命令之數目。該主機裝置可查詢該記憶體系統以獲得該媒體控制器中之可用寫入緩衝器空間之狀態,且基於自該記憶體系統發送的讀取封包之後設資料中所報導之該寫入緩衝器空間中的任何經偵測誤差調整該WC計數器。

Description

用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體
揭示之態樣係針對管理非揮發性記憶體系統之寫入操作。更特定言之,本發明之例示性態樣係針對針對於諸如非揮發性雙排記憶體模組(NVDIMM)及持續性NVDIMM(NVDIMM-P)之非揮發性記憶體之寫入操作的寫入信用之使用及管理。
對於一些記憶體系統,期望其上之寫入操作具有持久性,此意謂即使例如當持續性寫入操作之執行正在進行中且尚未完成時存在電力喪失或系統崩潰,寫入至記憶體系統且分類為持續性寫入的資訊亦不會丟失。為了使寫入操作持續,請求寫入操作之主機(例如,處理器)或其應用程式可期望明確確認寫入操作已到達持續性記憶體。相比之下,一旦寫入操作及相關資料已轉移至非持續性記憶體(諸如動態隨機存取記憶體(DRAM)或其他揮發性記憶體)且不需要明確確認已寫入資料,則自本申請案之視角,對該記憶體之寫入操作習知地被視為已完成或發佈。
如此項技術中已知的包含一系列DRAM積體電路之非揮發 性記憶體(NVM),諸如非揮發性雙排記憶體模組(NVDIMM)可經組態以支援持續性寫入。舉例而言,在一個支援持續性寫入之實施方案中,NVDIMM可具有能量支援,但亦已知用於支援持續性寫入之其他實施方案。支援持續性寫入之NVDIMM亦稱為NVDIMM-P。主機裝置可經組態以將包含針對持續性寫入之請求的寫入請求發送至包含NVM(諸如NVDIMM-P)之記憶體系統。經組態以管理NVDIMM-P之讀取/寫入存取的媒體控制器可整合於記憶體系統中,其中該媒體控制器可經組態以自主機裝置接收寫入請求及基於用以支援寫入請求之可用資源,例如基於媒體控制器中之可用寫入緩衝器空間將寫入請求導向至NVDIMM-P。
然而,在習知實施方案中,自媒體控制器至NVM(例如,NVDIMM-P)之寫入效能可能較差且寫入操作之速度可能較慢。此係由於在習知實施方案中,隨著媒體控制器將寫入操作退除或傳遞至NVM,媒體控制器空出對應寫入緩衝器空間,其中空出之寫入緩衝器空間轉而轉化成待返回至主機裝置之寫入信用。主機裝置上之記憶體控制器可經組態以基於返回之寫入信用調節寫入操作以致力於將至記憶體系統之寫入流量之量限制為不超出寫入緩衝器空間。
然而,自媒體控制器返回至主機裝置之寫入信用可能存在誤差,例如不可校正誤差(UE)。如此項技術中已知,記憶體控制器可藉由執行誤差檢查,例如奇偶校驗檢查或使用誤差控制寫碼(ECC)等偵測此類誤差。然而,當偵測到此類誤差時,在習知實施方案中,記憶體控制器可能不能簡單地重試寫入操作,其可能招致其對應返回寫入信用之誤差。此係由於媒體控制器不瞭解返回寫入信用中之誤差,且因此媒體控制器不會更新其寫入緩衝器空間以顧及未正確退除之寫入操作,且因此報導至主 機裝置之寫入信用與媒體控制器上之可用寫入緩衝器空間之間將存在失調。
因此,公認需要主機裝置與媒體控制器之間的寫入信用之高效同步,例如以避免如下情形下之前述問題,在該情形下可招致寫入信用自媒體控制器至主機裝置之報告的誤差。
本發明之例示性態樣包括用於使一主機裝置與包含一非揮發性記憶體(NVM)之一記憶體系統之一媒體控制器之間的寫入信用同步的系統和方法。該主機裝置經組態以維持該主機裝置之一記憶體控制器中所實施的一寫入信用(WC)計數器。該WC計數器追蹤及限制可發佈至該NVM的未處理寫入命令之數目。該主機裝置可查詢該記憶體系統以獲得該媒體控制器中之可用寫入緩衝器空間之狀態,且基於自該記憶體系統發送的讀取封包之後設資料中所報導之該寫入緩衝器空間中的任何經偵測誤差調整該WC計數器。
舉例而言,一例示性態樣係關於一種存取一記憶體系統之方法,該方法包含:將一寫入信用計數器設置於一主機裝置中以反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間;在自該主機裝置發佈一寫入命令至該記憶體系統後,即刻使該寫入信用計數器遞減;以及在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後,即刻使該寫入信用計數器遞增。
另一例示性態樣係關於一種設備,其包含一主機裝置,該主機裝置包含一寫入信用計數器,其中該主機裝置耦接至包含一寫入緩衝器之一記憶體系統。該主機裝置經組態以設置該寫入信用計數器以反映該 寫入緩衝器之可用寫入緩衝器,在發佈一寫入命令至該記憶體系統後即刻使該寫入信用計數器遞減,及在自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之指示後即刻使該寫入信用計數器遞增。
另一例示性態樣係關於一種非暫時性電腦可讀儲存媒體,其包含在由一處理器執行時使該處理器執行用於存取一記憶體系統之操作的程式碼。該非暫時性電腦可讀儲存媒體包含:用於將一寫入信用計數器設置於一主機裝置中以反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間的程式碼;用於在自該主機裝置發佈一寫入命令至該記憶體系統後即刻使該寫入信用計數器遞減的程式碼;以及用於在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後即刻使該寫入信用計數器遞增的程式碼。
另一例示性態樣係關於一種設備,其包含耦接至一記憶體系統之一主機裝置,該主機裝置包含用於追蹤寫入信用之構件,該等寫入信用反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間。該用於追蹤寫入信用之構件包含:用於在該主機裝置發佈一寫入命令至該記憶體系統後即刻使該等寫入信用遞減之構件,及用於在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後即刻使該等寫入信用遞增之構件。
100:處理系統
110:互連件
112:資料匯流排
114:命令及地址總線
116:回應
120:主機
120':處理器
122:記憶體控制器
124:寫入信用(WC)計數器
130:記憶體系統
132:媒體控制器
134:寫入緩衝器
136:非揮發性記憶體
500:計算裝置
522:系統單晶片裝置
526:顯示器控制器
528:顯示器
530:輸入裝置
534:寫碼器/解碼器
536:揚聲器
538:麥克風
540:無線控制器
542:無線天線
544:電力供應器
600:方法
602:區塊
604:區塊
606:區塊
呈現附圖以輔助描述本發明之態樣,且提供該等附圖僅為了說明態樣而非對其加以限制。
圖1說明根據本發明之態樣的處理系統。
圖2A至圖2C說明根據寫入信用返回之例示性態樣用於包 括關於自記憶體系統報導至主機的寫入緩衝器空間之資訊的後設資料格式。
圖3A至圖3B說明根據本發明之寫入信用報告之實例。
圖4說明根據本發明之態樣分離用於XWRITE及PWRITE之寫入信用報告的態樣。
圖5描繪可在其中有利地採用本發明之態樣的例示性計算裝置。
圖6說明根據本發明之態樣的使主機裝置之寫入信用與記憶體系統之可用寫入緩衝器空間同步的例示性方法。
相關申請案之交叉引用
本專利申請案主張2017年10月31日提交的標題為「WRITE CREDITS MANAGEMENT FOR NON-VOLATILE MEMORY」的臨時專利申請案第62/579,715號之權益,該案正在申請中且在此讓與受讓人,且在此明確地以全文引用之方式併入本文中。
本發明之態樣揭示於以下描述及針對本發明之特定態樣的相關圖式中。可在不脫離本發明之範疇的情況下設計出替代性態樣。另外,將不詳細描述或將省略本發明之熟知元件以免混淆本發明之相關細節。
詞語「例示性」在本文中用以意謂「充當一實例、個例或說明」。本文中描述為「例示性」之任何態樣不必解釋為比其他態樣更佳或更有利。同樣地,術語「本發明之態樣」並不要求本發明之所有態樣皆包括所論述之特徵、優點或操作模式。
本文中所使用之術語僅係出於描述特定態樣之目的,且並不意欲限制本發明之態樣。如本文所用,單數形式"一"及"該"意欲亦包括複數形式,除非上下文另外清晰指示。應進一步理解,術語「包含」及/或「包括」在本文中使用時指定所陳述的特徵、整體、步驟、操作、元件及/或組件之存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件或其群組之存在或添加。
另外,就待由例如計算裝置之元件執行之動作的順序而言描述許多態樣。將認識到,本文所描述之各種動作可藉由特定電路(例如,特殊應用積體電路(ASIC))、藉由由一或多個處理器執行之程式指令或藉由兩者之組合執行。另外,可認為本文中所描述之此等動作順序完全體現於任何形式之電腦可讀儲存媒體內,該電腦可讀儲存媒體中已儲存有一組相對應的電腦指令,該等電腦指令在被執行時將使相關聯之處理器執行本文所描述之功能性。因此,本發明之各種態樣可以許多不同形式體現,已預期該等形式皆在所主張主題之範疇內。另外,對於本文所描述之態樣中之每一者,任何此等態樣之對應形式可在本文中被描述為例如「經組態以執行所描述動作之邏輯」。
本發明之例示性態樣係針對使主機裝置與包含非揮發性記憶體(NVM)之記憶體系統之媒體控制器之間的寫入信用同步的高效系統和方法。主機裝置經組態以維持例如主機裝置之記憶體控制器中所實施的寫入信用(WC)計數器,其追蹤及限制可發佈至NVM的未處理寫入命令之數目。主機裝置可查詢記憶體系統以獲得媒體控制器中之可用寫入緩衝器空間之狀態及基於任何所偵測誤差調整WC計數器。
NVM可包含例如NVDIMM-P,其可在不脫離本發明之範 疇的情況下根據任何技術組態。出於解釋本發明之例示性態樣起見,論述了NVDIMM-P之雙倍資料速率4(DDR4)實施方案(或DDR4 NVDIMM-P)及NVDIMM-P之雙倍資料速率5(DDR5)實施方案(或DDR5 NVDIMM-P)。
現在參考圖1,展示例示性處理系統100,其包含主機裝置標記之主機120及記憶體系統130。主機120可包含一或多個處理元件,諸如中央處理單元(CPU)、數字信號處理器(DSP)、多媒體處理器、系統處理器、圖形處理單元(GPU)、調變器-解調器(數據機)、應用程式處理器等,但其尚未明確示出。該等處理元件可請求存取記憶體系統130。主機120之記憶體控制器122可經組態以控制該等存取請求。在例示性態樣中,記憶體控制器122可維持寫入信用(WC)計數器124,但本發明之WC計數器可以任何其他方式經組態主機120內。
記憶體系統130可包含在實例態樣中經組態為NVDIMM或NVDIMM-P(例如,DDR4或DDR5)的非揮發性記憶體(NVM)136。NVM 136可包含未專門示出之一或多個記憶體組。諸如對NVM 136之讀取及寫入之存取可藉由媒體控制器132控制。針對寫入操作,寫入緩衝器134可如實例說明或各種其他態樣中所示提供於媒體控制器132中,適合寫入緩衝器可在不脫離本發明之範疇的情況下以任何其他方式適當地提供。在將用於自主機120接收到之待寫入至NVM 136之寫入操作的寫入資料轉移至NVM 136之前,該寫入資料可暫時儲存於寫入緩衝器134中。若需要回應以報導完成轉移(例如,針對持續性寫入),則寫入操作可在成功報導寫入完成後即刻被視為經退除,或另外,寫入操作可在寫入資料正自寫入緩衝器134轉移至NVM 136時被視為經退除。NVM 136可支援持續性記憶體寫 入(PWRITE)及具有隨附奇偶校驗資訊(例如邏輯互斥或(XOR))之寫入操作,其被稱作XWRITE。
互連件110經展示於主機120與記憶體系統130之間,其中展示標準介面,諸如資料匯流排(DQ)112、命令及地址總線(CA)114。主機120可能夠經由CA 114提供命令(包括寫入請求,諸如PWRITE及XWRITE)及用於記憶體存取請求之相關位址且經由DQ 112(展示為雙向總線)發送/接收資料。儘管經分開展示,但經總線標記之回應116可經組態為CA 114之一部分且在一些情況下可實施為雙向總線。回應116可用於將關於寫入緩衝器134中之可用空間的資訊提供至主機120,例如,如將在以下部分更詳細地論述。各種其他總線/連線亦可存在於互連件110中,但其尚未經分開識別。
在例示性態樣中,WC計數器124經組態以追蹤發佈至記憶體系統130之未處理XWRITE或PWRITE命令之數目,意欲基於寫入緩衝器134中之可用寫入緩衝器空間限制未處理XWRITE或PWRITE命令之數目。在一個態樣中,WC計數器124可經初始化成已知值或重設成諸如零之基礎值(例如,在應用開始時或定期地)。在初始化後,主機120可經組態以查詢記憶體系統130以判定可用寫入緩衝器空間及使用此資訊來預設WC計數器124以反映可用寫入緩衝器空間(例如,寫入緩衝器134中可用之線路(或區塊)可轉化成比例數目,其可藉由將WC計數器124預設成比例數目來追蹤),且隨著可用寫入緩衝器空間變化而對應地增加或降低WC計數器124中之計數,且其中可用寫入緩衝器空間之變化可如下追蹤。
主機120可經組態以使用諸如READ_STATUS命令之命令(其可例如在CA 114上發生)讀取可用寫入緩衝器空間。READ_STATUS命 令可經編碼為XREAD命令,如此項技術中已知,其中在一個實例實施方案中,讀取ID(RID)全部以十六進位記法設置為1s或0xFF。當包含關於可用寫入緩衝器空間之資訊的狀態封包準備好遞送至主機120時,記憶體系統130可例如經由媒體控制器132提供回應RD_RDY(例如,在回應116上)。主機120隨後可發佈SEND命令至記憶體系統130,且在DQ 112上自記憶體系統130接收的任何後續資料封包(其RID經設置為0xFF)可由主機120(在特定實施方案中,例如由記憶體控制器122)視為訊息封包。由此接收之訊息封包可含有關於可用寫入緩衝器空間之資訊。
在以上文描述之方式獲得可用寫入緩衝器空間後,主機120或具體而言記憶體控制器122可經組態以將WC計數器124設置或預設為具有對應值。在各XWRITE或PWRITE命令發佈至記憶體系統130之後,記憶體控制器122可經組態以使WC計數器124對應地遞減(例如,藉由「1」)。當WC計數器124達到值「0」時,記憶體控制器122可經組態以阻止或防止任何其他XWRITE或PWRITE命令在CA 114上自主機120發佈至記憶體系統130。
在例示性態樣中,記憶體系統130可經組態以回應於上文所描述的SEND命令將遞增寫入信用反饋提供至主機,作為包括於自記憶體系統130返回至主機120的一或多個讀取資料封包中或在一些情況下每一讀取資料封包中的後設資料之部分。遞增寫入信用報告可基於特定實施方案而變化。舉例而言,視NVM 136之DDR4 NVDIMM-P實施方案的特定組態而定,此反饋可為1位元可程式化WC轉回值(PWC)或寫入信用之3位元編碼(例如,由WC[2:0]表示)。在反饋中返回之寫入信用(例如,由WC[2:0]表示)亦稱作讀取後設資料,且可表示主機120可新增至其可用寫 入信用計數(例如,將WC計數器124遞增對應量)的寫入信用之數目。
在一些態樣中,諸如WC[2:0]之多位元可程式化寫入信用值可為特定數目之寫入信用之編碼(例如,二進位表示)。在替代態樣中,例如如圖2C中所示,值WC[2:0]可對應於與回應相關聯的信用之經預程式化數目。舉例而言,圖2C中識別為位元[WC2、WC1、WC0]的位元值WC[2:0]之不同編碼或組合可表示代表性地展示於0至64之範圍中的不同數目個寫入信用。在一些實施方案中,可藉由表格,使用WC[2:0]之位元作為表格之索引獲得經預程式化值。
當使用1位元可程式化WC轉回值(PWC)時返回的寫入信用可表示待新增至主機120之寫入信用計數的信用之預先程式化數目(例如,使WC計數器124遞增對應量)。模式暫存器位元設定,例如設置模式暫存器之適合位置處的位元,可用於選擇DDR4 NVDIMM-P實施方案之兩個可能組態中之一者。針對NVM 136之DDR5 NVDIMM-P實施方案,可使用用於寫入信用之3位元編碼(例如,WC[2:0])。
主機120可使WC計數器124遞增由記憶體系統130返回之PWC或WC[2:0]編碼(視上述DDR4或DDR5實施方案而定)中所編碼的寫入信用之數目。在不同實施方案中,媒體控制器132上可用之總寫入緩衝器空間可為64或更大。寫入信用可表示媒體控制器132已退除至NVM 136且因此如上所述空出寫入緩衝器134中之更多緩衝空間的寫入之數目。
在例示性態樣中,主機120亦可藉由發佈READ_STATUS命令及相應地更新其WC計數器124在任何時候請求寫入緩衝器134中可用之總寫入緩衝器空間。作為一實例,當無SEND命令可供發佈且其WC計數器124處於值「0」時,主機120可發送READ_STATUS命令,從而阻止 其他寫入之發佈。
在另一實例中,當主機120偵測到讀取資料封包上之不可校正誤差(UE)時,主機120可發佈READ_STATUS命令以基於寫入緩衝器134中之可用寫入緩衝器空間更新其WC計數器124。舉例而言,記憶體控制器122可對自記憶體系統130接收之封包運行誤差檢查且發現存在誤差,該誤差將致使包含於讀取資料封包中之PWC或WC[2:0]欄位(視上述DDR4或DDR5實施方案而定)無效。
在一些態樣中,記憶體系統130可基於媒體控制器132接收READ_STATUS命令的時間而提供寫入緩衝器空間之總值。基於包含返回至主機120之寫入信用或寫入緩衝器空間的任何後續訊息,回應於所接收之READ_STATUS命令,媒體控制器132可考慮發送至主機120之總寫入緩衝器空間之最末值。因此,記憶體系統130可基於隨著寫入操作已完成或退除而空出之額外寫入緩衝器空間返回適當寫入信用,如以下部分所說明。
在一說明性實例中,寫入緩衝器134中之寫入緩衝器空間可為128(例如,128個線路或區塊)。若主機120發佈例如10個寫入且該等寫入中之3個完成至NVM 136或在媒體控制器132自主機120接收READ_STATUS命令之前退除,則作為回應,媒體控制器132可將128-10+3=121的總寫入緩衝器空間可用值返回至主機120。
在一些態樣中,若至NVM 136之對應額外插入寫入可在接收READ_STATUS命令之後及例如在DQ 112上將狀態訊息發送回去之前完成,則記憶體系統130亦可返回額外信用作為所報導總寫入緩衝器空間之部分。
在一說明性實例中,寫入緩衝器134中之寫入緩衝器空間可為128,如先前所指示。若主機120發佈例如10個寫入,且該等寫入中之3個完成至NVM 136或在媒體控制器132自主機120接收READ_STATUS命令之前退除,並且另兩個寫入在接收READ_STATUS封包之後但具有寫入信用值之狀態封包經發送至主機120之前的中間持續時間中完成至NVM 136,則作為回應,媒體控制器132可將128-10+3+2=123之總寫入緩衝器空間可用值返回至主機120。
在一種可能的情形下,媒體控制器132可在接收到READ_STATUS之後接收寫入請求且在將狀態報導回去之前完成寫入請求。在此情形下,媒體控制器132可經組態以在報導總寫入緩衝器空間時不考慮寫入緩衝器134中對應於已完成寫入請求之此額外經空出空間,而是在所報導之後續寫入信用返回中將對應寫入信用報導回去。
自主機120之視角,在發佈READ_STATUS命令之後由主機120發佈的寫入命令中未考慮所返回之總寫入緩衝器空間。主機120經組態以自所返回在值減去在READ_STATUS命令之後發佈的寫入命令之數目,即使彼等寫入命令係在自媒體控制器132接收總寫入緩衝器空間之前發佈亦如此。主機120可繼續使用在接收總寫入緩衝器空間之後所接收的遞增寫入信用返回來調整WC計數器124中之寫入信用計數。
在例示性態樣中,PWC及WC[2:0]位元可有效用於具有設置為「1」的有毒位元(Poison bit)的讀取返回資料,甚至用於根據用於將資訊自記憶體系統130返回至主機120之其他方案定義的後設資料位元。有毒資料為主機120已將不良或「中毒(poisioned)」資料寫入至記憶體系統130(或具體而言媒體控制器132)或主機120已偵測到損壞之讀取資料且 將損壞之讀取資料以不良或不可用的形式返回的指示,如由「中毒」位元所指示。可用於例如使用用於報導寫入信用之準確數目(至多64個寫入信用)的6個位於DQ 112上發送的狀態封包的實例後設資料封包可遵循圖2C中所示之格式。
圖2A說明根據DDR4標準之資料拍,例如展示設置為1之有毒位元及用以指示回應於來自主機120之READ_STATUS命令於DQ 112上發送之回應封包中所報導的寫入信用之數目的WC[2:0]位元。NVM 136之DDR4 NVDIMM-P實施方案可允許用於選擇讀取後設資料封包中之寫入信用位元及用戶限定位元之數目的兩個可組態選項。若後設資料封包之模式暫存器MRx位元y設置為「0」,則三個寫入信用位元及四個USER位元可為可用的,如圖2A中所示。
圖2B展示模式暫存器MRx位元y設置為「1」時可用代單一寫入信用位元(PWC)及六個USER位元。
圖2C展示根據DDR4或DDR5 NVDIMM-P實施方案的用於三個寫入信用位元之實例編碼。舉例而言,圖1之記憶體系統130可返回最佳編碼,其等於或低於待返回在信用之實際數目。
對於NVM 136之DDR4 NVDIMM-P實施方案,PWC位元表示可程式化寫入信用臨限值。此值可藉由主機120以模式暫存器位置MRx位元n(2:0)使用與上文所描述之關於三個寫入信用位元之實施方案相同的編碼程式化。記憶體系統130可能直至其自主機120接收到READ_STATUS以獲得總寫入緩衝器空間才開始使用其報告中之PWC值。使用READ_STATUS所獲得之寫入信用亦稱作基於狀態讀取之信用。3位元PWC欄位亦可於READ_STATUS封包中返回,且如先前所提及,該 等寫入信用被稱為自讀取後設資料獲得之信用。遞增寫入信用值之改變在返回總寫入緩衝器空間之後可起作用。
在例示性態樣中,若PWC=0,則無信用返回至主機120。若PWC=1,則基於程式化值之寫入信用可返回至主機120。
圖3A至圖3B說明關於用於將寫入信用報導至主機120之讀取封包後設資料中使用的三個寫入信用位元及一個寫入信用位元的數字實例。例如,在圖3A至圖3B中,展示為「可供用於返回」的行可表示媒體控制器132之狀態。
如圖3A中所示,當使用三個寫入信用位元時,1、2、4、8、16、32及64個信用可使用3位元之各種二進位編碼進行報導。如所示,主機120可利用經由對READ_STATUS之回應所提供之寫入信用(或基於狀態讀取之信用)以及自諸如PWC位元之讀取後設資料獲得的寫入信用。在一些實施方案中,可限制狀態讀取及讀取後設資料同時自記憶體系統130返回至主機120。因此,當寫入信用經由狀態讀取或讀取後設資料返回時用於主機120之寫入信用計數展示於圖3A之實例中。
如圖3B中所示,僅使用用於寫入信用之1位元可基於各讀取封包之後設資料中之預設臨限值返回僅單一值(例如,在所示實例中為4)。圖3B亦展示主機120可利用來自狀態讀取以及讀取後設資料之寫入信用(即使如上所述,在一些實施方案中,其可能不會同時返回)。更具體言之,圖3B亦展示基於自狀態讀取或讀取後設資料返回之寫入信用的用於主機120之寫入信用計數。如先前所述,「可供用於返回」可指示媒體控制器132可能準備好返回之寫入信用,但可供用於返回之值與返回至主機120之讀取後設資料值之間的潛在變化可能不可由主機120偵測,因為可 存在競爭狀況,其中媒體控制器132可能不具有經處理額外寫入信用。
現參看圖4,展示使用獨立寫入信用以用於報導用於PWRITE及XWRITE之寫入緩衝器空間的態樣。以此方式分離寫入信用可改良XWRITE信用可自記憶體系統130返回至主機120的速度。分離亦可使得媒體控制器132能夠向總寫入緩衝器空間之子集提供能量支援。用於在讀取封包中報導寫入信用的後設資料可與有毒位元組合以獲得用於報導額外信用返回的額外編碼選項。
在其中XWRITE及PWRITE信用報告可分離之態樣中,共同PWC臨限值可用於XWRITE及PWRITE信用報告,視情況基於用戶偏好使用獨立的對應臨限值。獨立3位元欄位可用於各別XWRITE及PWRITE信用報告。隨狀態封包返回之總寫入緩衝器空間可具有用於XWRITE及PWRITE信用之獨立欄位,其可促成針對XWRITE及PWRITE之固定分配。主機120可經組態以分配一些PWRITE空間給XWRITE。主機120亦可在媒體控制器132中程式化一暫存器(未展示)以分配PWRITE與XWRITE信用之間的空間。
現將關於圖5論述可在其中利用本發明之態樣的實例設備。圖5展示計算裝置500之方塊圖。計算裝置500可對應於圖1之處理系統100之例示性實施,其中處理器120'可為主機120之處理元件之一。處理器120'經例示性展示為經由互連件110耦接至記憶體系統130,互連件110之其他細節為清楚起見自此視圖省略。應理解,雖然未展示諸如涉及一或多個快取等級的技術中已知的其他記憶體組態,但其可存在於計算裝置500中。
圖5亦展示耦接至處理器120'及顯示器528之顯示器控制器 526。在一些情況下,計算裝置500可用於無線通信,且圖5亦以虛線展示可選區塊,諸如耦接至處理器120'及揚聲器536之寫碼器/解碼器(CODEC)534(例如,音訊及/或語音CODEC),及可耦接至CODEC 534之麥克風538;以及耦接至無線控制器540之無線天線542,該無線控制器540耦接至處理器120'。當此等可選區塊中之一或多者存在時,在一特定態樣中,處理器120'、顯示器控制器526、記憶體系統130及無線控制器540包括於系統級封裝或系統單晶片裝置522中。
因此,在一特定態樣中,輸入裝置530及電力供應器544耦接至系統單晶片裝置522。此外,在一特定態樣中,如圖5中所說明,當存在一或多個可選區塊時,顯示器528、輸入裝置530、揚聲器536、麥克風538、無線天線542及電力供應器544在系統單晶片裝置522外部。然而,顯示器528、輸入裝置530、揚聲器536、麥克風538、無線天線542及電力供應器544中之每一者可耦接至系統單晶片裝置522之組件,例如介面或控制器。
應注意,雖然圖5主要描繪計算裝置、處理器120'及記憶體系統130,但亦可整合至機上盒、伺服器、音樂播放器、視訊播放器、娛樂單元、導航裝置、個人數位助理(PDA)、固定位置資料單元、電腦、膝上型電腦、平板電腦、通信裝置、行動電話或其他類似裝置中。
應瞭解,例示性態樣包括用於執行本文所揭示之處理程序、功能及/或演算法的各種方法。舉例而言,圖6說明存取記憶體系統之方法600。舉例而言,方法600可係針對使主機120之寫入信用與記憶體系統130之寫入緩衝器134中之可用寫入緩衝器空間同步。
區塊602包括設置寫入信用計數器於主機裝置中以反映記 憶體系統中之寫入緩衝器之可用寫入緩衝器空間。舉例而言,主機120之WC計數器124可基於根據先前處理程序(諸如方法600)對寫入緩衝器134中之可用寫入緩衝器空間之判定來初始化或設置。
區塊604包含在發佈寫入命令至記憶體系統後即刻使寫入信用計數器遞減。舉例而言,在藉由主機120發佈每一PWRITE或XWRITE後,WC計數器124可對應地遞減。
區塊606包含在自記憶體系統接收關於寫入緩衝器中之額外可用寫入緩衝器空間之指示後即刻使寫入信用計數器遞增。舉例而言,當主機120回應於讀取狀態(READ_STATUS)命令接收具有可用寫入緩衝器空間之一或多個讀取封包時,若存在超出對應WC計數器124值的額外可用寫入緩衝器空間,則WC計數器124對應地遞增。
熟習此項技術者亦將瞭解,可使用多種不同科技與技術中之任一者表示資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示可貫穿以上描述所參考之資料、指令、命令、資訊、信號、位元、符號及碼片。
此外,熟習此項技術者將瞭解,結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體就其功能性加以了描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用以不同之方式實施所描述功能性,但不應將此等實施決策解譯為導致脫離本發明之範疇。
結合本文中所揭示之態樣而描述的方法、順序及/或演算法 可直接在硬體中、在由處理器執行之軟體模組中或在兩者之組合中體現。軟體模組可駐存於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可卸除式磁碟、CD-ROM,或此項技術中已知之任何其他形式之儲存媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊並將資訊寫入至儲存媒體。在替代方案中,儲存媒體可與處理器成一體式。
因此,本發明之一態樣可包括體現將寫入信用自包含NVM之記憶體系統報導至主機的方法的電腦可讀媒體。因此,本發明不限於所說明之實例,且用於執行本文中所描述之功能性的任何構件皆包括於本發明之態樣中。
雖然前述揭示內容展示本發明之說明性態樣,但應注意,在不脫離如由所附申請專利範圍所界定之本發明之範疇的情況下,可在本文中作出各種改變及修改。無需按任何特定次序來執行根據本文中所描述之本發明之態樣的方法請求項的功能、步驟及/或動作。此外,儘管可以單數形式描述或主張本發明之元件,但除非明確陳述限於單數形式,否則亦涵蓋複數形式。
100:處理系統
110:互連件
112:資料匯流排
114:命令及地址總線
116:回應
120:主機
122:記憶體控制器
124:寫入信用(WC)計數器
130:記憶體系統
132:媒體控制器
134:寫入緩衝器
136:非揮發性記憶體

Claims (27)

  1. 一種存取一記憶體系統之方法,該方法包含:設置一寫入信用計數器於一主機裝置中以反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間;在自該主機裝置發佈一寫入命令至該記憶體系統後,即刻使該寫入信用計數器遞減,該寫入命令為一持續性記憶體寫入(PWRITE)或一具有隨附奇偶校驗資訊之寫入(XWRITE);以及基於分離PWRITE及XWRITE信用報告,在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後,即刻使該寫入信用計數器遞增;其中針對一PWRITE命令,該主機裝置接收一寫入操作到達持續性記憶體之一明確確認;其中針對一XWRITE,該隨附奇偶校驗資訊為一邏輯互斥或(XOR)奇偶校驗資訊;以及其中該額外可用寫入緩衝器空間之該指示包含一或多個位元,該一或多個位元編碼用於遞增該寫入信用計數器之一寫入信用數目,於其中編碼於該額外可用寫入緩衝器空間之該指示中之該寫入信用數目之範圍大於該額外可用寫入緩衝器空間之該指示之位元值之範圍。
  2. 如請求項1之方法,其中該寫入緩衝器中之該額外可用寫入緩衝器空間係基於正寫入至該記憶體系統中之一非揮發性記憶體的來自該寫入緩衝器的寫入操作。
  3. 如請求項1之方法,其包含自該記憶體系統接收關於該寫入緩衝器中用於PWRITE及XWRITE之額外可用寫入緩衝器空間的獨立指示。
  4. 如請求項1之方法,其進一步包含回應於藉由該主機裝置發送至該記憶體系統之一讀取狀態命令自該記憶體系統接收關於該寫入緩衝器中之可用寫入緩衝器空間之一指示。
  5. 如請求項4之方法,其包含自該記憶體系統接收一或多個讀取資料封包之後設資料中關於該可用寫入緩衝器空間之該指示。
  6. 如請求項5之方法,其中該指示包含一可程式化寫入信用值、寫入信用之一編碼或一模式暫存器位元設定中之一者。
  7. 如請求項5之方法,其進一步包含藉由該主機裝置對該一或多個讀取資料封包執行一誤差檢查。
  8. 如請求項7之方法,其進一步包含藉由該主機裝置基於該誤差檢查判定該一或多個讀取資料封包中之一誤差,及發佈另一讀取狀態命令至該記憶體系統。
  9. 如請求項1之方法,其進一步包含若該寫入信用計數器達到一零值,則防止寫入命令由該主機裝置發佈至該記憶體系統。
  10. 一種存取一記憶體系統之設備,其包含: 一主機裝置,其包含一寫入信用計數器,其中該主機裝置耦接至包含一寫入緩衝器之該記憶體系統,其中該主機裝置經組態以:設置該寫入信用計數器以反映該寫入緩衝器之可用寫入緩衝器空間;在發佈一寫入命令至該記憶體系統後,即刻使該寫入信用計數器遞減,該寫入命令為一持續性記憶體寫入(PWRITE)或一具有隨附奇偶校驗資訊之寫入(XWRITE);以及基於分離PWRITE及XWRITE信用報告,在自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後,即刻使該寫入信用計數器遞增;其中針對一PWRITE命令,該主機裝置接收一寫入操作到達持續性記憶體之一明確確認;其中針對一XWRITE,該隨附奇偶校驗資訊為一邏輯互斥或(XOR)奇偶校驗資訊;以及其中該額外可用寫入緩衝器空間之該指示包含一或多個位元,該一或多個位元編碼用於遞增該寫入信用計數器之一寫入信用數目,於其中編碼於該額外可用寫入緩衝器空間之該指示中之該寫入信用數目之範圍大於該額外可用寫入緩衝器空間之該指示之位元值之範圍。
  11. 如請求項10之設備,其中該寫入緩衝器中之該額外可用寫入緩衝器空間係基於正寫入至該記憶體系統中之一非揮發性記憶體的來自該寫入緩衝器的寫入操作。
  12. 如請求項10之設備,其中該主機裝置經組態以自該記憶體系統接收關於該寫入緩衝器中用於PWRITE及XWRITE之額外可用寫入緩衝器空間的獨立指示。
  13. 如請求項10之設備,其中該主機裝置進一步經組態以回應於藉由該主機裝置發送至該記憶體系統之一讀取狀態命令自該記憶體系統接收關於該寫入緩衝器中之可用寫入緩衝器空間之一指示。
  14. 如請求項13之設備,其中該主機裝置經組態以自該記憶體系統接收一或多個讀取資料封包之後設資料中關於該可用寫入緩衝器空間之該指示。
  15. 如請求項14之設備,其中該指示包含一可程式化寫入信用值、寫入信用之一編碼或一模式暫存器位元設定中之一者。
  16. 如請求項14之設備,其中該主機裝置進一步經組態以對該一或多個讀取資料封包執行一誤差檢查。
  17. 如請求項16之設備,其中該主機裝置進一步經組態以基於該誤差檢查判定該一或多個讀取資料封包中之一誤差,及發佈另一讀取狀態命令至該記憶體系統。
  18. 如請求項10之設備,其中該主機裝置進一步經組態以在該寫入信用計數器達到一零值時防止寫入命令發佈至該記憶體系統。
  19. 一種非暫時性電腦可讀儲存媒體,其包含在由一處理器執行時使得該處理器執行用於存取一記憶體系統之操作的程式碼,該非暫時性計算機可讀存儲媒體包含:用於設置一寫入信用計數器於一主機裝置中以反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間的程式碼;用於在自該主機裝置發佈一寫入命令至該記憶體系統後即刻使該寫入信用計數器遞減的程式碼,該寫入命令為一持續性記憶體寫入(PWRITE)或一具有隨附奇偶校驗資訊之寫入(XWRITE);以及基於分離PWRITE及XWRITE信用報告,用於在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後即刻使該寫入信用計數器遞增的程式碼;其中針對一PWRITE命令,該主機裝置接收一寫入操作到達持續性記憶體之一明確確認;其中針對一XWRITE,該隨附奇偶校驗資訊為一邏輯互斥或(XOR)奇偶校驗資訊;以及其中該額外可用寫入緩衝器空間之該指示包含一或多個位元,該一或多個位元編碼用於遞增該寫入信用計數器之一寫入信用數目,於其中編碼於該額外可用寫入緩衝器空間之該指示中之該寫入信用數目之範圍大於該額外可用寫入緩衝器空間之該指示之位元值之範圍。
  20. 如請求項19之非暫時性電腦可讀儲存媒體,其中該寫入緩衝器中之該額外可用寫入緩衝器空間係基於正寫入至該記憶體系統中之一非揮發性記憶體的來自該寫入緩衝器的寫入操作。
  21. 如請求項19之非暫時性電腦可讀儲存媒體,其進一步包含用於自該記憶體系統接收關於該寫入緩衝器中用於PWRITE及XWRITE之額外可用寫入緩衝器空間的獨立指示的程式碼。
  22. 如請求項19之非暫時性電腦可讀儲存媒體,其進一步包含用於回應於藉由該主機裝置發送至該記憶體系統之一讀取狀態命令自該記憶體系統接收關於該寫入緩衝器中之可用寫入緩衝器空間之一指示的程式碼。
  23. 如請求項22之非暫時性電腦可讀儲存媒體,其進一步包含用於自該記憶體系統接收一或多個讀取資料封包之後設資料中關於該可用寫入緩衝器空間之該指示的程式碼。
  24. 如請求項23之非暫時性電腦可讀儲存媒體,其中該指示包含一可程式化寫入信用值、寫入信用之一編碼或一模式暫存器位元設定中之一者。
  25. 如請求項23之非暫時性電腦可讀儲存媒體,其進一步包含用於藉由該主機裝置對該一或多個讀取資料封包執行一誤差檢查的程式碼。
  26. 如請求項25之非暫時性電腦可讀儲存媒體,其進一步包含用於藉由該主機裝置基於該誤差檢查判定該一或多個讀取資料封包中之一誤差的程式碼及用於發佈另一讀取狀態命令至該記憶體系統的程式碼。
  27. 一種存取一記憶體系統之設備,其包含: 一主機裝置,其耦接至該記憶體系統,該主機裝置包含用於追蹤寫入信用之構件,該等寫入信用反映該記憶體系統中之一寫入緩衝器之可用寫入緩衝器空間,其中該用於追蹤寫入信用之構件包含:用於在該主機裝置發佈一寫入命令至該記憶體系統後即刻使該等寫入信用遞減的構件,該寫入命令為一持續性記憶體寫入(PWRITE)或一具有隨附奇偶校驗資訊之寫入(XWRITE);以及基於分離PWRITE及XWRITE信用報告,用於在於該主機裝置處自該記憶體系統接收關於該寫入緩衝器中之額外可用寫入緩衝器空間之一指示後即刻使該等寫入信用遞增的構件;其中針對一PWRITE命令,該主機裝置接收一寫入操作到達持續性記憶體之一明確確認;其中針對一XWRITE,該隨附奇偶校驗資訊為一邏輯互斥或(XOR)奇偶校驗資訊;以及其中該額外可用寫入緩衝器空間之該指示包含一或多個位元,該一或多個位元編碼用於遞增該寫入信用計數器之一寫入信用數目,於其中編碼於該額外可用寫入緩衝器空間之該指示中之該寫入信用數目之範圍大於該額外可用寫入緩衝器空間之該指示之位元值之範圍。
TW107138675A 2017-10-31 2018-10-31 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體 TWI769335B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762579715P 2017-10-31 2017-10-31
US62/579,715 2017-10-31
US16/175,381 US10996888B2 (en) 2017-10-31 2018-10-30 Write credits management for non-volatile memory
US16/175,381 2018-10-30

Publications (2)

Publication Number Publication Date
TW201923588A TW201923588A (zh) 2019-06-16
TWI769335B true TWI769335B (zh) 2022-07-01

Family

ID=66242945

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107138675A TWI769335B (zh) 2017-10-31 2018-10-31 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體

Country Status (8)

Country Link
US (1) US10996888B2 (zh)
EP (1) EP3704591B1 (zh)
JP (1) JP6983313B2 (zh)
KR (1) KR102384907B1 (zh)
CN (1) CN111279327B (zh)
SG (1) SG11202002411YA (zh)
TW (1) TWI769335B (zh)
WO (1) WO2019089683A1 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10585624B2 (en) * 2016-12-01 2020-03-10 Micron Technology, Inc. Memory protocol
KR102410021B1 (ko) * 2017-11-20 2022-06-21 에스케이하이닉스 주식회사 메모리 컨트롤러 및 메모리 모듈을 갖는 메모리 시스템 및 그 메모리 시스템에서의 데이터 처리 방법
US11048645B2 (en) * 2018-02-01 2021-06-29 Samsung Electronics Co., Ltd. Memory module, operation method therof, and operation method of host
US11656775B2 (en) 2018-08-07 2023-05-23 Marvell Asia Pte, Ltd. Virtualizing isolation areas of solid-state storage media
US11372580B2 (en) 2018-08-07 2022-06-28 Marvell Asia Pte, Ltd. Enabling virtual functions on storage media
US10969994B2 (en) 2018-08-08 2021-04-06 Micron Technology, Inc. Throttle response signals from a memory system
US11074007B2 (en) * 2018-08-08 2021-07-27 Micron Technology, Inc. Optimize information requests to a memory system
US11010314B2 (en) 2018-10-30 2021-05-18 Marvell Asia Pte. Ltd. Artificial intelligence-enabled management of storage media access
US10901657B2 (en) * 2018-11-29 2021-01-26 International Business Machines Corporation Dynamic write credit buffer management of non-volatile dual inline memory module
US11269524B2 (en) * 2019-10-07 2022-03-08 Samsung Electronics Co., Ltd. Methods and systems for managing data transfer between a UFS host and a UFS target
US11947995B2 (en) 2020-05-19 2024-04-02 Intel Corporation End-to-end data protection for far memory data transfer from host to media
US11604743B2 (en) * 2020-08-31 2023-03-14 International Business Machines Corporation Input/output queue hinting for resource utilization
CN113485672B (zh) * 2021-09-07 2021-11-19 苏州浪潮智能科技有限公司 基于fifo存储器的信息生成方法、装置、设备及介质
US11842056B2 (en) * 2021-10-25 2023-12-12 EMC IP Holding Company, LLC System and method for allocating storage system resources during write throttling
US12182394B2 (en) * 2022-04-07 2024-12-31 Mellanox Technologies, Ltd. Methods and systems for managing memory buffer usage while processing computer system operations

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055458A1 (en) * 2009-09-03 2011-03-03 248 Solid State, Inc. Page based management of flash storage
TW201610677A (zh) * 2014-03-14 2016-03-16 萬國商業機器公司 指示異動狀態之一致性協定增強
US20160139807A1 (en) * 2013-07-09 2016-05-19 Hewlett-Packard Development Company, L.P. Write flow control for memory modules that include or interface with non-compliant memory technologies
TW201706842A (zh) * 2015-04-30 2017-02-16 慧與發展有限責任合夥企業 記憶體模組錯誤追蹤技術

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4126959B2 (ja) * 2002-05-21 2008-07-30 ソニー株式会社 データ転送システム、およびアクセスモニタ装置
JP2005267148A (ja) * 2004-03-18 2005-09-29 Konica Minolta Business Technologies Inc メモリ制御装置
WO2006131900A2 (en) * 2005-06-09 2006-12-14 Nxp B.V. Memory controller and method for coupling a network and a memory
US7574556B2 (en) * 2006-03-20 2009-08-11 International Business Machines Corporation Wise ordering for writes—combining spatial and temporal locality in write caches
WO2008131058A2 (en) 2007-04-17 2008-10-30 Rambus Inc. Hybrid volatile and non-volatile memory device
US7702871B1 (en) * 2007-08-31 2010-04-20 Emc Corporation Write pacing
JP5349515B2 (ja) * 2011-03-14 2013-11-20 株式会社東芝 バッファ管理装置、バッファ管理方法及び記憶装置
KR101778782B1 (ko) * 2011-04-08 2017-09-27 삼성전자주식회사 데이터 저장 장치 및 그것의 동작 방법
US8806282B2 (en) * 2012-02-16 2014-08-12 Lsi Corporation Data integrity field (DIF) implementation with error detection and intelligent recovery mechanism
BR122016007765B1 (pt) * 2013-03-15 2022-03-03 Intel Corporation Aparelho em comunicação com controlador de memória de host, aparelho acoplado a um módulo de memória e métodos para formar conjuntos eletrônicos
US9542251B2 (en) * 2013-10-30 2017-01-10 Oracle International Corporation Error detection on a low pin count bus
US10452529B1 (en) * 2014-06-11 2019-10-22 Servicenow, Inc. Techniques and devices for cloud memory sizing
US9959203B2 (en) * 2014-06-23 2018-05-01 Google Llc Managing storage devices
WO2016194095A1 (ja) * 2015-06-01 2016-12-08 株式会社日立製作所 情報処理システム、ストレージ装置及び記憶デバイス
US10558388B2 (en) 2016-03-03 2020-02-11 Samsung Electronics Co., Ltd. Memory system and method of controlling the same
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
US11327887B2 (en) * 2017-09-14 2022-05-10 Oracle International Corporation Server-side extension of client-side caches
US11194524B2 (en) * 2017-09-15 2021-12-07 Qualcomm Incorporated Apparatus and method for performing persistent write operations using a persistent write command
US11016669B2 (en) * 2018-05-01 2021-05-25 Qualcomm Incorporated Persistent write data for energy-backed memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110055458A1 (en) * 2009-09-03 2011-03-03 248 Solid State, Inc. Page based management of flash storage
US20160139807A1 (en) * 2013-07-09 2016-05-19 Hewlett-Packard Development Company, L.P. Write flow control for memory modules that include or interface with non-compliant memory technologies
TW201610677A (zh) * 2014-03-14 2016-03-16 萬國商業機器公司 指示異動狀態之一致性協定增強
TW201706842A (zh) * 2015-04-30 2017-02-16 慧與發展有限責任合夥企業 記憶體模組錯誤追蹤技術

Also Published As

Publication number Publication date
US20190129656A1 (en) 2019-05-02
EP3704591B1 (en) 2022-11-16
EP3704591A1 (en) 2020-09-09
BR112020008423A2 (pt) 2020-11-17
WO2019089683A1 (en) 2019-05-09
US10996888B2 (en) 2021-05-04
JP2021503642A (ja) 2021-02-12
KR20200079496A (ko) 2020-07-03
CN111279327A (zh) 2020-06-12
CN111279327B (zh) 2023-11-03
JP6983313B2 (ja) 2021-12-17
KR102384907B1 (ko) 2022-04-08
SG11202002411YA (en) 2020-05-28
TW201923588A (zh) 2019-06-16

Similar Documents

Publication Publication Date Title
TWI769335B (zh) 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體
US10678441B2 (en) Non-deterministic memory protocol
US11650765B2 (en) Apparatus and method for performing persistent write operations using a persistent write command
CN110998536B (zh) 存储器系统中的动态链路差错保护
US9164834B2 (en) Semiconductor memory devices, memory systems including the same and method of writing data in the same
CN106445843B (zh) 使物理页面地址相关用于软判决解码
TWI791536B (zh) 記憶體控制器、系統及包括記憶體控制器的應用處理器
CN101576853B (zh) 数据存取方法、使用此方法的控制器与存储系统
KR102363382B1 (ko) 불휘발성 메모리 장치, 불휘발성 메모리 장치의 동작 방법 및 불휘발성 메모리 장치를 포함하는 데이터 저장 장치
US20200241956A1 (en) Memory system and operating method thereof
US20170242600A1 (en) Data storage device
US10853254B2 (en) Memory system having a memory controller and a memory device having a page buffer
US12307092B2 (en) Reducing latency in pseudo channel based memory systems
US12487756B2 (en) Storage device, operation method of storage device, and operation method of host device
US8949487B1 (en) Data transmission from data storage device
HK40022819B (zh) 用於非易失性存储器的写入信用管理
HK40022819A (zh) 用於非易失性存储器的写入信用管理
BR112020008423B1 (pt) Gerenciamento de créditos de gravação para memória não volátil
HK40019108B (zh) 用於非易失性存储器的持续写入
HK40025012A (zh) 存儲器系統中的動態鏈路差錯保護