Atomic write command support in a solid state drive
First Claim
1. A method of performing an atomic write command in a data storage device comprising a volatile memory and a plurality of non-volatile memory devices that are configured to store a plurality of physical pages, the method comprising:
- storing data in a plurality of logical pages (L-Pages), each of the plurality of L-Pages being associated with a logical address;
maintaining a logical-to-physical address translation map in the volatile memory, the translation map being configured to enable determination of a physical location, within one or more of the physical pages, of the data referenced by each logical address;
receiving the atomic write command;
maintaining, in the plurality of non-volatile memory devices, a plurality of system journals (S-Journals) defining physical-to-logical address correspondences, each journal comprising a plurality of system journal entries, each entry configured to associate the one or more physical pages to an L-Page;
storing data specified by the atomic write command in at least one L-Page, the storing further comprising generating an S-Journal entry for each of the at least one L-Page storing data specified by the atomic write command, the generated S-Journal entry being configured to enable a determination of whether the atomic write command was completed or not completed upon reconstruction of the translation map; and
deferring an update to at least one entry in the translation map associated with the at least one L-Page storing the data specified by the atomic write command until all L-Pages storing data specified by the atomic write command have been written in a power-safe manner.
15 Assignments
0 Petitions
Accused Products
Abstract
A method of performing an atomic write command in a data storage device comprising a volatile memory and a plurality of non-volatile memory devices configured to store a plurality of physical pages. The method may comprise storing data in a plurality of logical pages (L-Pages), each associated with a logical address. A logical-to-physical address translation map may be maintained in the volatile memory, and may be configured to enable determination of a physical location, within one or more of the physical pages, of the data referenced by each logical address. The data specified by a received atomic write command may be stored one or more L-Pages. Updates to the entry or entries in the translation map associated with the L-Page(s) storing the data specified by the atomic write command may be deferred until all L-Pages storing data specified by the atomic write command have been written in a power-safe manner.
-
Citations
39 Claims
-
1. A method of performing an atomic write command in a data storage device comprising a volatile memory and a plurality of non-volatile memory devices that are configured to store a plurality of physical pages, the method comprising:
-
storing data in a plurality of logical pages (L-Pages), each of the plurality of L-Pages being associated with a logical address; maintaining a logical-to-physical address translation map in the volatile memory, the translation map being configured to enable determination of a physical location, within one or more of the physical pages, of the data referenced by each logical address; receiving the atomic write command; maintaining, in the plurality of non-volatile memory devices, a plurality of system journals (S-Journals) defining physical-to-logical address correspondences, each journal comprising a plurality of system journal entries, each entry configured to associate the one or more physical pages to an L-Page; storing data specified by the atomic write command in at least one L-Page, the storing further comprising generating an S-Journal entry for each of the at least one L-Page storing data specified by the atomic write command, the generated S-Journal entry being configured to enable a determination of whether the atomic write command was completed or not completed upon reconstruction of the translation map; and deferring an update to at least one entry in the translation map associated with the at least one L-Page storing the data specified by the atomic write command until all L-Pages storing data specified by the atomic write command have been written in a power-safe manner. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A data storage device controller, comprising:
-
a processor, the processor being configured to perform an atomic write command in a data storage device comprising a volatile memory and a plurality of non-volatile memory devices that are configured to store a plurality of physical pages, by at least; storing data in a plurality of logical pages (L-Pages), each of the plurality of L-Pages being associated with a logical address; maintaining a logical-to-physical address translation map in the volatile memory, the translation map being configured to enable determination of a physical location, within one or more of the physical pages, of the data referenced by each logical address; receiving the atomic write command; maintaining, in the plurality of non-volatile memory devices, a plurality of system journals (S-Journals) defining physical-to-logical address correspondences, each journal comprising a plurality of system journal entries, each entry configured to associate the one or more physical pages to an L-Page; storing data specified by the atomic write command in at least one L-Page, the storing further comprising generating an S-Journal entry for each of the at least one L-Page storing data specified by the atomic write command, the generated S-Journal entry being configured to enable a determination of whether the atomic write command was completed or not completed upon reconstruction of the translation map; and deferring an update to at least one entry in the translation map associated with the at least one L-Page storing the data specified by the atomic write command until all L-Pages storing data specified by the atomic write command have been written in a power-safe manner. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification