RU2020110130A - Постоянные записи для энергонезависимой памяти - Google Patents
Постоянные записи для энергонезависимой памяти Download PDFInfo
- Publication number
- RU2020110130A RU2020110130A RU2020110130A RU2020110130A RU2020110130A RU 2020110130 A RU2020110130 A RU 2020110130A RU 2020110130 A RU2020110130 A RU 2020110130A RU 2020110130 A RU2020110130 A RU 2020110130A RU 2020110130 A RU2020110130 A RU 2020110130A
- Authority
- RU
- Russia
- Prior art keywords
- write
- persistent
- host
- memory system
- permanent
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- 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/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
- G06F2212/2024—Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Solid-Sorbent Or Filter-Aiding Compositions (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Claims (71)
1. Способ выполнения постоянных операций, причем способ содержит:
прием, в системе памяти, команды постоянной записи и ассоциированных данных записи от хоста; и
выполнение постоянной записи данных записи в энергонезависимую память в системе памяти на основе команды постоянной записи.
2. Способ по п. 1, дополнительно содержащий прием идентификации записи (WID), ассоциированной с командой постоянной записи, от хоста.
3. Способ по п. 2, дополнительно содержащий обеспечение, от системы памяти после успешного завершения постоянной записи, указания завершения постоянной записи вместе с ассоциированной WID на хост.
4. Способ по п. 3, содержащий обеспечение двух или более указаний завершения постоянной записи на хост в порядке, отличном от порядка, в котором соответствующие две или более команды постоянной записи были приняты от хоста.
5. Способ по п. 3, дополнительно содержащий прием от хоста запроса отправить статус для одной или нескольких постоянных записей вместе с ассоциированными WID.
6. Способ по п. 5, дополнительно содержащий обеспечение пакета статусов на хост, пакет статусов содержит WID для команд постоянной записи, исполнение которых было завершено.
7. Способ по п. 2, причем WID содержит многобитовую идентификацию постоянной записи и действительный бит.
8. Способ по п. 2, дополнительно содержащий прием группы из двух или более команд постоянной записи с общей WID, причем последняя команда постоянной записи из группы имеет бит Persist, установленный в 1, и оставшиеся команды постоянной записи имеют соответственные биты Persist, установленные в 0, и обеспечение указания завершения постоянной записи для последней команды постоянной записи.
9. Способ по п. 1, дополнительно содержащий прием команды FLUSH от хоста, причем команда FLUSH указывает, что все предшествующие записи, буферизованные в энергозависимых носителях, должны помещаться в энергонезависимую или постоянную память.
10. Способ по п. 9, дополнительно содержащий обеспечение указания завершения FLUSH после завершения исполнения команды FLUSH на хост.
11. Способ по п. 1, дополнительно содержащий прием одной или нескольких команд постоянной записи, поддержание статусов одной или нескольких команд постоянной записи, завершенных в завершенной битовой карте, и статусов одной или нескольких команд постоянной записи, ожидающих в ожидающей битовой карте, и после запроса на статус от хоста, обеспечение завершенной битовой карты, если не имеется неисправимой ошибки, или ожидающей битовой карты, если имеется неисправимая ошибка.
12. Способ по п. 1, причем система памяти представляет собой энергонезависимый двусторонний модуль памяти, сконфигурированный, чтобы поддерживать постоянные записи (NVDIMM-P).
13. Способ выполнения постоянных операций, причем способ содержит:
обеспечение, от хоста на систему памяти, команды постоянной записи и ассоциированных данных записи,
причем команда постоянной записи указывает системе памяти выполнить постоянную запись данных записи в энергонезависимую память.
14. Способ по п. 13, дополнительно содержащий обеспечение идентификации записи (WID), ассоциированной с командой постоянной записи, на систему памяти от хоста.
15. Способ по п. 14, дополнительно содержащий прием в хосте указания завершения постоянной записи вместе с ассоциированной WID от системы памяти после успешного завершения постоянной записи.
16. Способ по п. 15, содержащий прием от системы памяти двух или более указаний завершения постоянной записи в порядке, отличном от порядка, в котором соответствующие две или более команды постоянной записи были отправлены от хоста на систему памяти.
17. Способ по п. 14, дополнительно содержащий отправку, от хоста на систему памяти, запроса отправить статус для одной или нескольких постоянных записей вместе с ассоциированными WID.
18. Способ по п. 17, дополнительно содержащий прием пакета статусов хостом от системы памяти, пакет статусов содержит WID для команд постоянной записи, исполнение которых было завершено.
19. Способ по п. 14, причем WID содержит многобитовую идентификацию постоянной записи и действительный бит.
20. Способ по п. 14, дополнительно содержащий отправку от хоста на систему памяти группы из двух или более команд постоянной записи с общей WID, причем последняя команда постоянной записи из группы имеет бит Persist, установленный в 1, и оставшиеся постоянные записи имеют соответственные биты Persist, установленные в 0, и прием от системы памяти указания завершения постоянной записи для последней постоянной записи.
21. Способ по п. 13, дополнительно содержащий отправку команды FLUSH от хоста на систему памяти, причем команда FLUSH указывает, что все предшествующие записи, буферизованные в энергозависимых носителях, должны помещаться в энергонезависимую или постоянную память системой памяти.
22. Способ по п. 21, дополнительно содержащий прием в хосте указания завершения FLUSH после завершения системой памяти исполнения команды FLUSH.
23. Способ по п. 13, причем система памяти представляет собой энергонезависимый двусторонний модуль памяти, сконфигурированный, чтобы поддерживать постоянные записи (NVDIMM-P).
24. Устройство, содержащее:
систему памяти, сконфигурированную, чтобы:
принимать команду постоянной записи и ассоциированные данные записи от хоста; и
выполнять постоянную запись данных записи в энергонезависимую память в системе памяти на основе команды постоянной записи.
25. Устройство по п. 24, причем система памяти дополнительно сконфигурирована, чтобы принимать идентификацию записи (WID), ассоциированную с командой постоянной записи, от хоста.
26. Устройство по п. 25, причем система памяти дополнительно сконфигурирована, чтобы обеспечивать, после успешного завершения постоянной записи, указание завершения постоянной записи вместе с ассоциированной WID на хост.
27. Устройство по п. 26, причем система памяти дополнительно сконфигурирована, чтобы обеспечивать два или более указания завершения постоянной записи на хост в порядке, отличном от порядка, в котором соответствующие две или более команды постоянной записи были приняты от хоста.
28. Устройство по п. 26, причем система памяти дополнительно сконфигурирована, чтобы принимать от хоста запрос отправить статус для одной или нескольких постоянных записей вместе с ассоциированными WID.
29. Устройство по п. 27, причем система памяти дополнительно сконфигурирована, чтобы обеспечивать пакет статусов на хост, пакет статусов содержит WID для команд постоянной записи, исполнение которых было завершено.
30. Устройство по п. 25, причем WID содержит многобитовую идентификацию постоянной записи и действительный бит.
31. Устройство по п. 25, причем система памяти дополнительно сконфигурирована, чтобы принимать группу из двух или более команд постоянной записи с общей WID, причем последняя команда постоянной записи из группы имеет бит Persist, установленный в 1, и оставшиеся команды постоянной записи имеют соответственные биты Persist, установленные в 0, и обеспечивать указание завершения постоянной записи для последней команды постоянной записи.
32. Устройство по п. 24, причем система памяти дополнительно сконфигурирована, чтобы принимать команду FLUSH от хоста, причем команда FLUSH указывает, что все предшествующие записи, буферизованные в энергозависимых носителях, должны помещаться в энергонезависимую или постоянную память.
33. Устройство по п. 32, причем система памяти дополнительно сконфигурирована, чтобы обеспечивать указание завершения FLUSH после завершения исполнения команды FLUSH на хост.
34. Устройство по п. 24, причем система памяти дополнительно сконфигурирована, чтобы принимать одну или несколько команд постоянной записи; поддерживать статусы одной или нескольких команд постоянной записи, завершенных в завершенной битовой карте, и статусы одной или нескольких ожидающих команд постоянной записи в ожидающей битовой карте; и после запроса на статус от хоста обеспечивать завершенную битовую карту, если не имеется неисправимой ошибки, или ожидающую битовую карту, если имеется неисправимая ошибка.
35. Устройство по п. 24, причем система памяти представляет собой энергонезависимый двусторонний модуль памяти, сконфигурированный, чтобы поддерживать постоянные записи (NVDIMM-P).
36. Устройство по п. 24, интегрированное в устройство, выбранное из группы, состоящей из телевизионной приставки, сервера, музыкального проигрывателя, видеопроигрывателя, развлекательного устройства, навигационного устройства, персонального цифрового ассистента (PDA), блока данных с фиксированным местоположением, компьютера, ноутбука, планшета, устройства связи и мобильного телефона.
37. Устройство, содержащее:
хост, сконфигурированный, чтобы обеспечивать команду постоянной записи и ассоциированные данные записи на систему памяти,
причем команда постоянной записи указывает системе памяти выполнить постоянную запись данных записи в энергонезависимую память.
38. Устройство по п. 37, причем хост дополнительно сконфигурирован, чтобы обеспечивать идентификацию записи (WID), ассоциированную с командой постоянной записи, на систему памяти.
39. Устройство по п. 38, причем хост дополнительно сконфигурирован, чтобы принимать указание завершения постоянной записи вместе с ассоциированной WID от системы памяти после успешного завершения постоянной записи.
40. Устройство по п. 39, причем хост дополнительно сконфигурирован, чтобы принимать от системы памяти два или более указания завершения постоянной записи в порядке, отличном от порядка, в котором соответствующие две или более команды постоянной записи были отправлены на систему памяти.
41. Устройство по п. 38, причем хост дополнительно сконфигурирован, чтобы отправлять на систему памяти запрос отправить статус для одной или нескольких постоянных записей вместе с ассоциированными WID.
42. Устройство по п. 41, причем хост дополнительно сконфигурирован, чтобы принимать пакет статусов от системы памяти, пакет статусов содержит WID для команд постоянной записи, исполнение которых было завершено.
43. Устройство по п. 42, причем WID содержит многобитовую идентификацию постоянной записи и действительный бит.
44. Устройство по п. 38, причем хост дополнительно сконфигурирован, чтобы отправлять на систему памяти группу из двух или более команд постоянной записи с общей WID, причем последняя команда постоянной записи из группы имеет бит Persist, установленный в 1, и оставшиеся постоянные записи имеют соответственные биты Persist, установленные в 0, и принимать от системы памяти указание завершения постоянной записи для последней постоянной записи.
45. Устройство по п. 37, причем хост дополнительно сконфигурирован, чтобы отправлять команду FLUSH на систему памяти, причем команда FLUSH указывает, что все предшествующие записи, буферизованные в энергозависимых носителях, должны помещаться в энергонезависимую или постоянную память системой памяти.
46. Устройство по п. 45, причем хост дополнительно сконфигурирован, чтобы принимать указание завершения FLUSH после завершения системой памяти исполнения команды FLUSH.
47. Устройство по п. 37, причем система памяти представляет собой энергонезависимый двусторонний модуль памяти, сконфигурированный, чтобы поддерживать постоянные записи (NVDIMM-P).
48. Устройство по п. 37, интегрированное в устройство, выбранное из группы, состоящей из телевизионной приставки, сервера, музыкального проигрывателя, видеопроигрывателя, развлекательного устройства, навигационного устройства, персонального цифрового ассистента (PDA), блока данных с фиксированным местоположением, компьютера, ноутбука, планшета, устройства связи и мобильного телефона.
49. Устройство, содержащее:
средство для хранения данных, содержащее:
средство для приема команды постоянной записи и ассоциированных данных записи от хоста; и
средство для выполнения постоянной записи данных записи в энергонезависимую память в средстве для хранения, на основе команды постоянной записи.
50. Устройство, содержащее:
средство для обработки, содержащее:
средство для обеспечения команды постоянной записи и ассоциированных данных записи на систему памяти;
причем команда постоянной записи указывает системе памяти выполнить постоянную запись данных записи в энергонезависимую память.
51. Долговременный считываемый компьютером носитель хранения, содержащий код, который, при исполнении процессором, побуждает процессор выполнять постоянные операции, долговременный считываемый компьютером носитель хранения содержит
код для приема, в системе памяти, команды постоянной записи и ассоциированных данных записи от хоста; и
код для выполнения постоянной записи данных записи в энергонезависимую память в системе памяти на основе команды постоянной записи.
52. Долговременный считываемый компьютером носитель хранения, содержащий код, который, при исполнении процессором, побуждает процессор выполнять постоянные операции, долговременный считываемый компьютером носитель хранения содержит
код для обеспечения, от хоста на систему памяти, команды постоянной записи и ассоциированных данных записи,
причем команда постоянной записи указывает системе памяти выполнить постоянную запись данных записи в энергонезависимую память.
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 (3)
Publication Number | Publication Date |
---|---|
RU2020110130A true RU2020110130A (ru) | 2021-10-15 |
RU2020110130A3 RU2020110130A3 (ru) | 2022-03-29 |
RU2780441C2 RU2780441C2 (ru) | 2022-09-23 |
Family
ID=
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9400744B2 (en) | Magnetic random access memory journal for multi-level cell flash memory | |
JP5344411B2 (ja) | シリアルインターフェースメモリの同時読み出し及び書き込みメモリ動作 | |
US9110786B2 (en) | Read operation prior to retrieval of scatter gather list | |
CN107122317B (zh) | 数据存储装置 | |
JP2020534598A5 (ru) | ||
US20150253992A1 (en) | Memory system and control method | |
US20150089310A1 (en) | Use of error correction pointers to handle errors in memory | |
US10811103B2 (en) | Memory controller, memory system, and method of operating memory system | |
JP2014182832A5 (ja) | 格納装置、不揮発性格納装置及びその運営体系イメージプログラム方法 | |
US20200371885A1 (en) | Memory system and method for operating the same | |
WO2019089683A1 (en) | Write credits management for non-volatile memory | |
US20170123946A1 (en) | Data recovery in memory devices | |
CN110059032B (zh) | 存储器接口及具有存储器接口的存储器控制器 | |
US11294814B2 (en) | Memory system having a memory controller and a memory device having a page buffer | |
KR20180118329A (ko) | 메모리 시스템, 데이터 처리 시스템 및 그것의 동작 방법 | |
US10445252B2 (en) | Storage device and operating method performed by the same | |
FI3682331T3 (fi) | Pysyvät kirjoitukset haihtumattomaan muistiin | |
CN103425589A (zh) | 控制装置、存储装置以及存储控制方法 | |
US10296233B2 (en) | Method of managing message transmission flow and storage device using the method | |
US20170310341A1 (en) | Efficient data path architecture for flash devices | |
CN111722795A (zh) | 存储系统以及用于控制存储系统的方法 | |
US10432230B2 (en) | Error detection or correction of a portion of a codeword in a memory device | |
US10340025B2 (en) | Data-storage device and block-releasing method | |
US20160070648A1 (en) | Data storage system and operation method thereof | |
CN105765540A (zh) | 管理用于非易失性存储器的传输缓冲器 |