JPWO2019055164A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2019055164A5
JPWO2019055164A5 JP2020514756A JP2020514756A JPWO2019055164A5 JP WO2019055164 A5 JPWO2019055164 A5 JP WO2019055164A5 JP 2020514756 A JP2020514756 A JP 2020514756A JP 2020514756 A JP2020514756 A JP 2020514756A JP WO2019055164 A5 JPWO2019055164 A5 JP WO2019055164A5
Authority
JP
Japan
Prior art keywords
persistent
nvdimm
persistent write
host
write
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2020514756A
Other languages
English (en)
Other versions
JP7123129B2 (ja
JP2020534598A5 (ja
JP2020534598A (ja
Publication date
Priority claimed from US15/706,530 external-priority patent/US11194524B2/en
Application filed filed Critical
Publication of JP2020534598A publication Critical patent/JP2020534598A/ja
Publication of JP2020534598A5 publication Critical patent/JP2020534598A5/ja
Publication of JPWO2019055164A5 publication Critical patent/JPWO2019055164A5/ja
Application granted granted Critical
Publication of JP7123129B2 publication Critical patent/JP7123129B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (30)

  1. 永続動作を実行する方法であって、
    Persistent Writeをサポートするように構成された不揮発性デュアルインラインメモリモジュール(NVDIMM)によって、ホストからPersistent Writeコマンドおよび関連する書込みデータを受信するステップと、
    前記Persistent Writeコマンドに基づいて、前記NVDIMM内の不揮発性メモリへの前記書込みデータのPersistent Writeを実行するステップと
    前記Persistent Writeの完了が成功すると、前記ホストから前記Persistent Writeコマンドに関連付けられた書込み識別情報(WID)を受信するステップと、
    前記ホストから、複数のPersistent Writeのための送信要求ステータスを関連するWIDとともに受信するステップと、
    前記NVDIMMによって、共通のWIDを有する2つ以上のPersistent Writeコマンドのグループを受信し、前記グループの最後のPersistent WriteコマンドのためのPersistent Write完了指示を提供するステップと
    を含み、
    前記最後のPersistent WriteコマンドがPersistビットを1に設定し、
    残りのPersistent WriteコマンドがそれぞれのPersistビットを0に設定する、方法。
  2. 前記Persistent Writeの完了が成功すると、前記NVDIMMから、Persistent Write完了指示を前記関連するWIDとともに前記ホストに送信するステップをさらに含む、請求項1に記載の方法。
  3. 前記Persistent Write完了指示を送信するステップが、前記NVDIMMから、2つ以上のPersistent Write完了指示を、対応する2つ以上のPersistent Writeコマンドが前記ホストから受信された順序とは異なる順序で前記ホストに送信するステップを含む、請求項2に記載の方法。
  4. 前記NVDIMMから、ステータスパケットを前記ホストに送信するステップをさらに含み、
    前記ステータスパケットが、実行が完了したPersistent WriteコマンドのためのWIDを含む、請求項1に記載の方法。
  5. 前記WIDが、Persistent Writeおよび有効ビットのマルチビット識別情報を含む、請求項1に記載の方法。
  6. 前記NVDIMMによって、前記ホストからFLUSHコマンドを受信するステップをさらに含み、
    前記FLUSHコマンドが、揮発性媒体にバッファされたすべての以前の書込みが不揮発性または永続メモリにプッシュされるべきであることを示す、請求項1に記載の方法。
  7. 前記NVDIMMから、前記FLUSHコマンドの実行の完了時にFLUSH完了指示を前記ホストに送信するステップをさらに含む、請求項6に記載の方法。
  8. 前記NVDIMMによって、
    1つまたは複数のPersistent Writeコマンドを受信するステップと、
    完了した前記1つまたは複数のPersistent Writeコマンドのステータスを完了ビットマップにおいて維持し、保留中の前記1つまたは複数のPersistent Writeコマンドのステータスを保留中ビットマップにおいて維持するステップと、
    前記ホストからのステータスの要求時に、訂正不可能なエラーがない場合は前記完了ビットマップを提供するか、または訂正不可能なエラーがある場合は前記保留中ビットマップを提供するステップと
    をさらに含む、請求項1に記載の方法。
  9. 永続動作を実行する方法であって、
    ホストから、Persistent Writeコマンドおよび関連する書込みデータをPersistent Writeをサポートするように構成された不揮発性デュアルインラインメモリモジュール(NVDIMM)に送信するステップと、
    前記Persistent Writeの完了が成功すると、前記ホストから、前記Persistent Writeコマンドに関連付けられた書込み識別情報(WID)を前記NVDIMMに提供するステップと、
    前記ホストから、複数のPersistent Writeのための送信要求ステータスを関連するWIDとともに前記NVDIMMに送信するステップと、
    前記ホストから、共通のWIDを有する2つ以上のPersistent Writeコマンドのグループを前記NVDIMMに送信し、前記NVDIMMから、前記グループの最後のPersistent WriteコマンドのためのPersistent Write完了指示を受信するステップと
    を含み、
    前記最後のPersistent WriteコマンドがPersistビットを1に設定し、
    残りのPersistent WriteコマンドがそれぞれのPersistビットを0に設定し、
    前記Persistent Writeコマンドは、不揮発性メモリへの前記書込みデータのPersistent Writeを実行するように前記NVDIMMに示す、方法。
  10. 前記Persistent Writeの完了が成功すると、前記ホストにおいて、前記NVDIMMから、Persistent Write完了指示を前記関連するWIDとともに受信するステップをさらに含む、請求項9に記載の方法。
  11. 前記Persistent Write完了指示を受信するステップが、前記NVDIMMから、2つ以上のPersistent Write完了指示を、対応する2つ以上のPersistent Writeコマンドが前記ホストから前記NVDIMMに送信された順序とは異なる順序で受信するステップを含む、請求項10に記載の方法。
  12. 前記ホストによって、前記NVDIMMから、ステータスパケットを受信するステップをさらに含み、
    前記ステータスパケットが、実行が完了したPersistent WriteコマンドのためのWIDを含む、請求項11に記載の方法。
  13. 前記WIDが、Persistent Writeおよび有効ビットのマルチビット識別情報を含む、請求項9に記載の方法。
  14. 前記ホストからFLUSHコマンドを前記NVDIMMに送信するステップをさらに含み、
    前記FLUSHコマンドが、揮発性媒体にバッファされたすべての以前の書込みが不揮発性または永続メモリに前記NVDIMMによってプッシュされるべきであることを示す、請求項9に記載の方法。
  15. 前記NVDIMMによる前記FLUSHコマンドの実行の完了時にFLUSH完了指示を前記ホストにおいて受信するステップをさらに含む、請求項14に記載の方法。
  16. 装置であって、
    ホストと、
    Persistent Writeをサポートするように構成された不揮発性デュアルインラインメモリモジュール(NVDIMM)と
    を備え、前記NVDIMMが、
    前記ホストから前記Persistent Writeコマンドおよび関連する書込みデータを受信することと、
    前記Persistent Writeコマンドに基づいて、前記NVDIMM内の不揮発性メモリへの前記書込みデータのPersistent Writeを実行することと、
    前記Persistent Writeの完了が成功すると、前記ホストから前記Persistent Writeコマンドに関連付けられた書込み識別情報(WID)を受信することと、
    前記ホストから、複数のPersistent Writeのための送信要求ステータスを関連するWIDとともに受信することと、
    共通のWIDを有する2つ以上のPersistent Writeコマンドのグループを受信し、前記グループの最後のPersistent WriteコマンドのためのPersistent Write完了指示を提供すること
    を行うように構成され、
    前記最後のPersistent WriteコマンドがPersistビットを1に設定し、
    残りのPersistent WriteコマンドがそれぞれのPersistビットを0に設定する、装置。
  17. 前記NVDIMMが、
    前記Persistent Writeの完了が成功すると、Persistent Write完了指示を前記関連するWIDとともに前記ホストに提供することを行うようにさらに構成される、請求項16に記載の装置。
  18. 前記NVDIMMが、
    2つ以上のPersistent Write完了指示を、対応する2つ以上のPersistent Writeコマンドが前記ホストから受信された順序とは異なる順序で前記ホストに提供することを行うようにさらに構成される、請求項17に記載の装置。
  19. 前記NVDIMMが、
    ステータスパケットを前記ホストに提供することを行うようにさらに構成され、
    前記ステータスパケットが、実行が完了したPersistent WriteコマンドのためのWIDを含む、請求項18に記載の装置。
  20. 前記WIDが、Persistent Writeおよび有効ビットのマルチビット識別情報を含む、請求項16に記載の装置。
  21. 前記NVDIMMが、
    前記ホストからFLUSHコマンドを受信することを行うようにさらに構成され、
    前記FLUSHコマンドが、揮発性媒体にバッファされたすべての以前の書込みが不揮発性または永続メモリにプッシュされるべきであることを示す、請求項16に記載の装置。
  22. 前記NVDIMMが、
    前記FLUSHコマンドの実行の完了時にFLUSH完了指示を前記ホストに提供することを行うようにさらに構成される、請求項21に記載の装置。
  23. 前記NVDIMMが、
    1つまたは複数のPersistent Writeコマンドを受信することと、
    完了した前記1つまたは複数のPersistent Writeコマンドのステータスを完了ビットマップにおいて維持し、保留中の前記1つまたは複数のPersistent Writeコマンドのステータスを保留中ビットマップにおいて維持することと、
    前記ホストからのステータスの要求時に、訂正不可能なエラーがない場合は前記完了ビットマップを提供するか、または訂正不可能なエラーがある場合は前記保留中ビットマップを提供することと
    を行うようにさらに構成される、請求項16に記載の装置。
  24. 装置であって、
    Persistent Writeコマンドおよび関連する書込みデータを送信するように構成されたホストと、
    前記ホストから前記Persistent Writeコマンドおよび前記関連する書込みデータを受信するように構成された不揮発性デュアルインラインメモリモジュール(NVDIMM)と
    を備え、
    前記Persistent Writeコマンドは、前記NVDIMMの不揮発性メモリへの前記書込みデータのPersistent Writeを実行するように前記NVDIMMに示し、
    前記ホストが、
    前記Persistent Writeコマンドに関連付けられた書込み識別情報(WID)を前記NVDIMMに提供し、前記Persistent Writeの完了が成功すると、複数のPersistent Writeのための送信要求ステータスを関連するWIDとともに前記NVDIMMに送信することと、
    共通のWIDを有する2つ以上のPersistent Writeコマンドのグループを前記NVDIMMに送信し、前記NVDIMMから、前記グループの最後のPersistent WriteコマンドのためのPersistent Write完了指示を受信すること
    を行うようにさらに構成され、
    前記最後のPersistent WriteコマンドがPersistビットを1に設定し、
    残りのPersistent WriteコマンドがそれぞれのPersistビットを0に設定する、装置。
  25. 前記ホストが、
    前記Persistent Writeの完了が成功すると、前記NVDIMMから、Persistent Write完了指示を前記関連するWIDとともに受信することを行うようにさらに構成される、請求項24に記載の装置。
  26. 前記ホストが、
    前記NVDIMMから、2つ以上のPersistent Write完了指示を、対応する2つ以上のPersistent Writeコマンドが前記NVDIMMに送信された順序とは異なる順序で受信することを行うようにさらに構成される、請求項25に記載の装置。
  27. 前記ホストが、
    前記NVDIMMから、ステータスパケットを受信することを行うようにさらに構成され、
    前記ステータスパケットが、実行が完了したPersistent WriteコマンドのためのWIDを含む、請求項26に記載の装置。
  28. 前記WIDが、Persistent Writeおよび有効ビットのマルチビット識別情報を含む、請求項27に記載の装置。
  29. 前記ホストが、
    FLUSHコマンドを前記NVDIMMに送信することを行うようにさらに構成され、
    前記FLUSHコマンドが、揮発性媒体にバッファされたすべての以前の書込みが不揮発性または永続メモリに前記NVDIMMによってプッシュされるべきであることを示す、請求項24に記載の装置。
  30. 前記ホストが、
    前記NVDIMMによる前記FLUSHコマンドの実行の完了時にFLUSH完了指示を受信することを行うようにさらに構成される、請求項29に記載の装置。
JP2020514756A 2017-09-15 2018-08-14 不揮発性メモリのためのPersistent Write Active JP7123129B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/706,530 US11194524B2 (en) 2017-09-15 2017-09-15 Apparatus and method for performing persistent write operations using a persistent write command
US15/706,530 2017-09-15
PCT/US2018/046590 WO2019055164A1 (en) 2017-09-15 2018-08-14 PERSISTENT SCRIPTURES FOR NON-VOLATILE MEMORY

Publications (4)

Publication Number Publication Date
JP2020534598A JP2020534598A (ja) 2020-11-26
JP2020534598A5 JP2020534598A5 (ja) 2021-09-02
JPWO2019055164A5 true JPWO2019055164A5 (ja) 2022-03-11
JP7123129B2 JP7123129B2 (ja) 2022-08-22

Family

ID=63449690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020514756A Active JP7123129B2 (ja) 2017-09-15 2018-08-14 不揮発性メモリのためのPersistent Write

Country Status (22)

Country Link
US (2) US11194524B2 (ja)
EP (1) EP3682331B1 (ja)
JP (1) JP7123129B2 (ja)
KR (1) KR102425287B1 (ja)
CN (1) CN111095224B (ja)
AU (1) AU2018334452B2 (ja)
BR (1) BR112020004936A2 (ja)
CA (1) CA3073686C (ja)
CL (1) CL2020000647A1 (ja)
CO (1) CO2020002863A2 (ja)
DK (1) DK3682331T3 (ja)
FI (1) FI3682331T3 (ja)
IL (1) IL272795B (ja)
MX (1) MX2020002897A (ja)
NZ (1) NZ761924A (ja)
PH (1) PH12020500384A1 (ja)
PT (1) PT3682331T (ja)
SA (1) SA520411521B1 (ja)
SG (1) SG11202001491YA (ja)
SI (1) SI3682331T1 (ja)
TW (1) TWI779082B (ja)
WO (1) WO2019055164A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10534540B2 (en) * 2016-06-06 2020-01-14 Micron Technology, Inc. Memory protocol
US11194524B2 (en) 2017-09-15 2021-12-07 Qualcomm Incorporated Apparatus and method for performing persistent write operations using a persistent write command
US10996888B2 (en) * 2017-10-31 2021-05-04 Qualcomm Incorporated Write credits management for non-volatile memory
KR102426107B1 (ko) * 2017-12-20 2022-07-28 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR20190088790A (ko) * 2018-01-19 2019-07-29 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US11048645B2 (en) * 2018-02-01 2021-06-29 Samsung Electronics Co., Ltd. Memory module, operation method therof, and operation method of host
US11709774B2 (en) * 2019-08-07 2023-07-25 Intel Corporation Data consistency and durability over distributed persistent memory systems
US11656967B2 (en) * 2020-02-13 2023-05-23 MemRay Corporation Method and apparatus for supporting persistence and computing device
US11886744B2 (en) * 2021-12-15 2024-01-30 Nvidia Corporation Systems, methods, and apparatuses for making writes to persistent memory

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AP2001002117A0 (en) 1998-10-02 2001-06-30 Worldspace Man Corp System for providing a user with active and passive access to cached content.
US7139885B2 (en) 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US8250329B2 (en) * 2007-10-24 2012-08-21 International Business Machines Corporation Preemptive write-inhibition for thin provisioning storage subsystem
US7930361B2 (en) 2008-09-15 2011-04-19 Dell Products L.P. System and method for management of remotely shared data
US8700842B2 (en) * 2010-04-12 2014-04-15 Sandisk Enterprise Ip Llc Minimizing write operations to a flash memory-based object store
WO2012020544A1 (ja) * 2010-08-11 2012-02-16 日本電気株式会社 データ処理システム、データ処理方法、およびプログラム
US10817421B2 (en) * 2010-12-13 2020-10-27 Sandisk Technologies Llc Persistent data structures
US8656130B2 (en) * 2011-12-23 2014-02-18 International Business Machines Corporation Low latency and persistent data storage
US9122810B2 (en) * 2012-05-18 2015-09-01 Dell Products, Lp System and method for providing input/output functionality to a processing node
US9081606B2 (en) * 2012-11-13 2015-07-14 International Business Machines Corporation Asynchronous persistent stores for transactions
US9501398B2 (en) * 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
WO2014142908A1 (en) 2013-03-14 2014-09-18 Hewlett-Packard Development Company, L.P. Multiversioned nonvolatile memory hierarchy for persistent memory
US9417974B2 (en) * 2013-03-28 2016-08-16 Microsoft Technology Licensing, Llc. Transaction processing for database in persistent system
JP6192192B2 (ja) 2013-07-26 2017-09-06 インテル・コーポレーション 不揮発性メモリインターフェース
US9389976B2 (en) 2014-04-09 2016-07-12 Intel Corporation Distributed persistent memory using asynchronous streaming of log records
US10061719B2 (en) * 2014-12-25 2018-08-28 Intel Corporation Packed write completions
US9886194B2 (en) * 2015-07-13 2018-02-06 Samsung Electronics Co., Ltd. NVDIMM adaptive access mode and smart partition mechanism
US9946492B2 (en) * 2015-10-30 2018-04-17 Arm Limited Controlling persistent writes to non-volatile memory based on persist buffer data and a persist barrier within a sequence of program instructions
US10719236B2 (en) 2015-11-20 2020-07-21 Arm Ltd. Memory controller with non-volatile buffer for persistent memory operations
US10691553B2 (en) 2015-12-16 2020-06-23 Netapp, Inc. Persistent memory based distributed-journal file system
US10970175B2 (en) * 2016-06-15 2021-04-06 Sap Se Flexible per-request data durability in databases and other data stores
US10127074B2 (en) * 2017-01-27 2018-11-13 Futurewei Technologies, Inc. Transaction identification synchronization
US11175853B2 (en) * 2017-05-09 2021-11-16 Samsung Electronics Co., Ltd. Systems and methods for write and flush support in hybrid memory
EP3663901B1 (en) * 2017-08-31 2022-12-28 Huawei Technologies Co., Ltd. Information writing method and device
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

Similar Documents

Publication Publication Date Title
JP2020534598A5 (ja)
TWI408556B (zh) 記憶體控制器及用於運作記憶體裝置之方法
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
CN110770710A (zh) 用于控制数据加速的装置和方法
TWI443513B (zh) 記憶體儲存裝置、記憶體控制器與資料寫入方法
KR102281946B1 (ko) 반도체 메모리 장치를 제어하는 컨트롤러 및 그것의 동작 방법
KR102641107B1 (ko) 스토리지 장치, 이를 포함하는 시스템 및 그 동작 방법
TWI519953B (zh) 資料儲存裝置以及快閃記憶體控制方法
US20120254114A1 (en) Method and system for replicating data
US20130067143A1 (en) Memory device and method of controlling the same
TWI648742B (zh) 重試讀取方法以及使用該方法的裝置
TWI715248B (zh) 主機輸出入命令的執行裝置及方法及電腦程式產品
US10013373B1 (en) Multi-level message passing descriptor
US20200226026A1 (en) Data storage devices and methods for firmware failure prevention
CN109284241A (zh) 存储等待时间信息的存储设备、处理器和计算系统
US20190155765A1 (en) Operation method of host system including storage device and operation method of storage device controller
JPWO2019055164A5 (ja)
CN109213439A (zh) 用于减少写入延时的系统和方法
JP6649989B2 (ja) ストレージシステム及びその制御方法
US11205473B2 (en) Dual SLC/QLC programming and resource releasing
TWI582599B (zh) 資料傳輸方法、記憶體控制器、資料傳輸系統
US8688898B2 (en) Memory device configured to execute plural access commands in parallel and memory access method therefor
KR102327878B1 (ko) 반도체 장치 및 반도체 시스템
KR20210060867A (ko) 데이터 저장 장치 및 그것의 동작 방법
US20100325373A1 (en) Duplexing Apparatus and Duplexing Control Method