Data storage device with metadata command
A data storage device may include an interface that is arranged and configured to interface with a host, a command bus, multiple memory devices that are operably coupled to the command bus and a controller that is operably coupled to the interface and to the command bus. The controller may be arranged and configured to receive a read metadata command for a specified one of the memory devices from the host using the interface, read metadata from the specified memory device and communicate the metadata to the host using the interface.
1. A data storage device comprising:
an interface that is arranged and configured to interface with a host;
a command bus;
multiple memory devices that are operably coupled to the command bus; and
a controller that is operably coupled to the interface and to the command bus, wherein the controller is arranged and configured to:
receive a single read metadata command for a specified one or more of the memory devices from the host using the interface, wherein metadata comprises a logical sector number and a generation number;
read the metadata from multiple pages of the one or more specified memory devices in response to the single read metadata command; and
communicate the metadata from the multiple pages to the host using the interface.
2. The data storage device of claim 1 wherein the metadata is used to create a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data.
3. The data storage device of claim 1 wherein the generation number indicates a version of data associated with the logical sector number.
4. The data storage device of claim 1 wherein the metadata comprises an error correction code.
5. The data storage device of claim 1 wherein when the single read metadata command returns an error, the controller is arranged and configured to:
re-read the metadata from the specified one or more memory devices multiple times;
combine the metadata into a single metadata result; and
communicate the single metadata result to the host using the interface.
6. The data storage device of claim 1 wherein the controller is further arranged and configured to:
receive multiple read metadata commands for multiple different specified memory devices from the host using the interface;
read metadata from the specified memory devices in parallel; and
communicate the metadata to the host using the interface.
7. A non-transitory machine-readable storage medium having recorded and stored thereon instructions that, when executed, perform the actions of:
receiving a single read metadata command for a specified one or more memory devices of multiple memory devices from a host using an interface, wherein metadata comprises a logical sector number and a generation number;
reading the metadata from multiple pages of the one or more specified memory devices in response to the single read metadata command; and
communicating the metadata from the multiple pages to the host using the interface.
8. The non-transitory machine-readable storage medium of claim 7 wherein the metadata is used to create a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data.
9. The non-transitory machine-readable storage medium of claim 7 wherein the generation number indicates a version of data associated with the logical sector number.
10. The non-transitory machine-readable storage medium of claim 7 wherein the metadata comprises an error correction code.
11. The non-transitory machine-readable storage medium of claim 7 wherein when the single read metadata command returns an error, the instructions that, when executed, further perform the actions of:
re-reading the metadata from the specified one or more memory devices multiple times;
combining the metadata into a single metadata result; and
communicating the single metadata result to the host using the interface.
12. The non-transitory machine-readable storage medium of claim 7 wherein the instructions that, when executed, further perform the actions of:
receiving multiple read metadata commands for multiple different specified memory devices from the host using the interface;
reading metadata from the specified memory devices in parallel; and
communicating the metadata to the host using the interface.
13. A non-transitory machine-readable storage medium having recorded and stored thereon instructions that, when executed, perform the actions of:
communicating a single read metadata command to a controller using an interface to read metadata from multiple pages of one or more specified memory devices of multiple memory devices, wherein the metadata comprises a logical sector number and a generation number;
receiving the metadata from the multiple pages from the controller using the interface; and
generating a table to map physical addresses of data stored in the specified one or more memory devices to logical addresses for the data using the metadata.
14. The non-transitory machine-readable storage medium of claim 13 wherein the generation number indicates a version of data associated with the logical sector number.
15. The non-transitory machine-readable storage medium of claim 13 wherein the instructions that, when executed, further perform the actions of:
communicating multiple read metadata commands to the controller using the interface to read metadata from multiple specified memory devices;
receiving the metadata from the controller using the interface; and
generating the table to map physical addresses of the data stored in the multiple memory devices to logical addresses for the data using the metadata.
16. The non-transitory machine-readable storage medium of claim 13 wherein the metadata comprises an error correction code.