CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01)] | 22 Claims |
1. An apparatus, comprising:
a non-volatile memory; and
a controller coupled with the non-volatile memory and configured to cause the apparatus to:
receive, over an interface between the apparatus and a host device, a write command for an atomic write operation in which data associated with the write command is linked together for writing to the non-volatile memory;
determine, based at least in part on receiving the write command,
metadata for the atomic write operation, and a set of pages of the non-volatile memory for storing the data associated with the atomic write operation;
write, to each page in the set of pages for storing the data associated with the atomic write operation, and before writing any of the data to the set of pages, the metadata, wherein the metadata in a page of the set of pages indicates that the page is in the set of pages for storing the data associated with the atomic write operation;
write, to a page of the set of pages based at least in part on writing a subset of the data to the page, validity information indicating that some of the data has been successfully written to the page; and
determine, in response to a failure event and based at least in part on the validity information, whether each page of the set of pages has been written with a respective amount of the data for the atomic write operation.
|