HOST-CONTROLLED FLASH TRANSLATION LAYER SNAPSHOT
First Claim
1. A data storage device comprising:
- a non-volatile solid-state storage device;
a volatile solid-state memory device configured to store a data structure that maps logical block addresses stored in the data storage device to respective physical memory locations in the non-volatile solid-state storage device; and
a controller configured to;
(i) upon updating the data structure, determine whether a host command to flush the updated data structure has been received, and (ii) if the host command to flush the updated data structure has been received, copy the contents of the updated data structure into the non-volatile solid-state device.
4 Assignments
0 Petitions
Accused Products
Abstract
A flash translation layer (FTL) map stored in the non-volatile portion of a solid-state drive is updated when a firmware flag indicates the contents of this FTL map are not consistent with the contents of an FTL map stored in a volatile memory device of the SSD (e.g., the drive DRAM). Given this flag indication, the solid-state drive may copy the contents of the FTL map stored in the drive DRAM to the non-volatile portion of the SSD under various circumstances, including when a host command to flush the updated data structure is received, when a link state between the data storage device and the host changes, when a power connection to the data storage device is broken, or upon receiving a host command to go into a sleep state or a lower power state.
54 Citations
20 Claims
-
1. A data storage device comprising:
-
a non-volatile solid-state storage device; a volatile solid-state memory device configured to store a data structure that maps logical block addresses stored in the data storage device to respective physical memory locations in the non-volatile solid-state storage device; and a controller configured to;
(i) upon updating the data structure, determine whether a host command to flush the updated data structure has been received, and (ii) if the host command to flush the updated data structure has been received, copy the contents of the updated data structure into the non-volatile solid-state device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a storage device that includes a non-volatile solid-state device and a volatile solid-state memory device that is configured to store a first data structure that maps logical block addresses stored in the data storage device to respective physical memory locations in the non-volatile solid-state storage device, the method comprising:
-
determining whether the contents of the first data structure are consistent with the contents of a corresponding second data structure stored in the non-volatile solid-state storage device; based on the contents of the first data structure being consistent with the contents of a corresponding second data structure, determining whether a host command to flush the first data structure has been received, and if the host command to flush the first data structure has been received, copying the contents of the first data structure into the non-volatile solid-state device. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
Specification