Write atomicity management for memory subsystems
AssigneeMicron Technology, Inc.
InventorsNathan Jared Hughes, Karl D. Schuh, Tom Geukens
Life of this patent
Estimating the term…
Abstract
Exemplary methods, apparatuses, and systems include receiving an instruction to atomically write data to a memory component. A plurality of write commands for the first data are generated, including an end of atom indicator. The first plurality of write commands are sent to the memory component while accumulating a plurality of translation table updates corresponding to the write commands One or more translation tables are updated with the plurality of translation table updates in response to determining that the final write command has been successfully sent to the memory component.
Claims20
A computer-implemented method comprising:
- receiving, from a host system, a first instruction to write a first portion of data to a memory component, wherein the first instruction is an atomic write of the first portion of data and wherein a size of the first portion of data requires more than one write command to be sent to the memory component;
- generating a first plurality of write commands for the first portion of data, responsive to the receiving the first instruction, wherein a final write command includes an end-of-atom atomicity indicator;
- sending the first plurality of write commands to the memory component;
- accumulating a plurality of translation table updates corresponding to the first plurality of write commands;
- and
- updating one or more translation tables with the plurality of translation table updates in response to determining that the final write command has been successfully sent to the memory component.
A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to:
- receiving, from a host system, a first instruction to write a first portion of data to a memory component, wherein the first instruction is an atomic write of the first portion of data and wherein a size of the first portion of data requires more than one write command to be sent to the memory component;
- generating a first plurality of write commands for the first portion of data, responsive to the receiving the first instruction, wherein a final write command includes an end-of-atom atomicity indicator;
- sending the first plurality of write commands to the memory component;
- accumulating a plurality of translation table updates corresponding to the first plurality of write commands;
- and
- updating one or more translation tables with the plurality of translation table updates in response to determining that the final write command has been successfully sent to the memory component.
A system comprising:
- a memory component;
- and
- a processing device, operatively coupled with the memory component, to:
- receive, from a host system, a first instruction to write a first portion of data to the memory component, wherein the first instruction is an atomic write of the first portion of data and wherein a size of the first portion of data requires more than one write command to be sent to the memory component and wherein the first instruction includes a first range of logical block addresses specifying where to write the first portion of data;
- obtain a lock on the first range of logical block addresses, wherein the lock prevents the host system from writing to the first range of logical block addresses;
- generate a first plurality of write commands for the first portion of data, responsive to the receiving the first instruction, wherein a final write command includes an end-of-atom atomicity indicator;
- send the first plurality of write commands to the memory component;
- accumulate a plurality of translation table updates corresponding to the first plurality of write commands;
- and
- update one or more translation tables with the plurality of translation table updates in response to determining that the final write command has been successfully sent to the memory component.
Dependencies are inferred from the claim text.