RU2020110130A - Постоянные записи для энергонезависимой памяти - Google Patents

Постоянные записи для энергонезависимой памяти Download PDF

Info

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
Application number
RU2020110130A
Other languages
English (en)
Other versions
RU2780441C2 (ru
RU2020110130A3 (ru
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 RU2020110130A publication Critical patent/RU2020110130A/ru
Publication of RU2020110130A3 publication Critical patent/RU2020110130A3/ru
Application granted granted Critical
Publication of RU2780441C2 publication Critical patent/RU2780441C2/ru

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2024Rewritable memory not requiring erasing, e.g. resistive or ferroelectric RAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary 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. Долговременный считываемый компьютером носитель хранения, содержащий код, который, при исполнении процессором, побуждает процессор выполнять постоянные операции, долговременный считываемый компьютером носитель хранения содержит
код для обеспечения, от хоста на систему памяти, команды постоянной записи и ассоциированных данных записи,
причем команда постоянной записи указывает системе памяти выполнить постоянную запись данных записи в энергонезависимую память.
RU2020110130A 2017-09-15 2018-08-14 Постоянные записи для энергонезависимой памяти RU2780441C2 (ru)

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

Publication number Publication date
ES2971138T3 (es) 2024-06-03
CL2020000647A1 (es) 2020-08-28
KR102425287B1 (ko) 2022-07-25
EP3682331B1 (en) 2023-12-27
HUE065310T2 (hu) 2024-05-28
WO2019055164A1 (en) 2019-03-21
SG11202001491YA (en) 2020-03-30
DK3682331T3 (da) 2024-01-29
BR112020004936A2 (pt) 2020-09-15
CA3073686C (en) 2023-10-03
CN111095224B (zh) 2023-11-14
PH12020500384A1 (en) 2020-12-07
PT3682331T (pt) 2024-01-26
AU2018334452B2 (en) 2023-03-16
MX2020002897A (es) 2020-07-22
TWI779082B (zh) 2022-10-01
JP7123129B2 (ja) 2022-08-22
IL272795B (en) 2022-08-01
CN111095224A (zh) 2020-05-01
AU2018334452A1 (en) 2020-03-19
EP3682331A1 (en) 2020-07-22
US20190087096A1 (en) 2019-03-21
SI3682331T1 (sl) 2024-03-29
KR20200051624A (ko) 2020-05-13
TW201933106A (zh) 2019-08-16
SA520411521B1 (ar) 2022-08-02
NZ761924A (en) 2022-05-27
US11194524B2 (en) 2021-12-07
JP2020534598A (ja) 2020-11-26
CO2020002863A2 (es) 2020-04-13
IL272795A (en) 2020-04-30
US11650765B2 (en) 2023-05-16
FI3682331T3 (fi) 2024-01-25
CA3073686A1 (en) 2019-03-21
RU2020110130A3 (ru) 2022-03-29
US20220050600A1 (en) 2022-02-17

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) 管理用于非易失性存储器的传输缓冲器