Data storage device and method for metadata retrieval and bypassing
A data storage device and method are disclosed for metadata retrieval and bypassing. In one embodiment, a data storage device is provided comprising a memory and one or more processors. The one or more processors, individually or in combination, are configured to: receive, from a host, a request for one, but not both, of data and its associated metadata; and in response to receiving the request: read the data from the memory; extract the metadata from the data; and send one, but not both, of the data and the extracted metadata to the host, per the request received from the host. Other embodiments are provided.
1 . A data storage device comprising:
a memory; and
one or more processors, individually or in combination, configured to:
store data and its associated metadata in the memory, wherein the associated metadata comprises a plurality of pieces of metadata;
receive a request from an application on a host; and
in response to receiving the request:
read the data and its associated metadata from the memory;
use a pre-agreed indexing of the associated metadata to extract a subset of the plurality of pieces of the metadata per a requirement of the application on the host; and
send the extracted subset of the plurality of pieces of the metadata to the host.
2 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to store the extracted subset of the plurality of pieces of the metadata in a buffer in the data storage device.
3 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to store the extracted subset of the plurality of pieces of the metadata in a region in the memory.
4 . The data storage device of claim 3 , wherein the region in the memory is transparent to the host.
5 . The data storage device of claim 3 , wherein the one or more processors, individually or in combination, are further configured to bias an endurance characteristic of the region of the memory.
6 . The data storage device of claim 3 , wherein the one or more processors, individually or in combination, are further configured to receive, from the host, a key-value associated with the data and its associated metadata.
7 . The data storage device of claim 1 , wherein the one or more processors, individually or in combination, are further configured to receive, from the host, an identification of a logical range in the memory storing the data and its associated metadata.
8 . The data storage device of claim 1 , wherein the associated metadata is all of the metadata associated with the data.
9 . The data storage device of claim 1 , wherein the associated metadata is some, but not all, of the metadata associated with the data.
10 . The data storage device of claim 9 , wherein the some, but not all, of the associated metadata is identified in a data structure.
11 . The data storage device of claim 1 , wherein the subset of the plurality of pieces of the metadata is extracted using an extraction algorithm specified by a standard.
12 . The data storage device of claim 1 , wherein the subset of the plurality of pieces of the metadata is extracted using a vendor-specific extraction algorithm.
13 . The data storage device of claim 1 , wherein the memory comprises a three-dimensional memory.
14 . A method comprising:
performing in a data storage device comprising a memory:
storing data and its associated metadata in the memory, wherein the associated metadata comprises a plurality of pieces of metadata;
receiving a request from an application on a host; and
in response to receiving the request:
reading the data and its associated metadata from the memory;
using a pre-agreed indexing of the associated metadata to extract a subset of the plurality of pieces of the metadata per a requirement of the application on the host; and
sending the extracted subset of the plurality of pieces of the metatdata to the host.
15 . The method of claim 14 , wherein the associated metadata is stored in a compute-specific block of the memory and the data is stored in a non-compute-specific block of the memory.
16 . The method of claim 14 , wherein the associated metadata is stored in a block of the memory that has relatively-higher endurance than a block of the memory storing the data.
17 . The method of claim 14 , wherein the associated metadata is stored in a block that has relatively-greater error protection than a block of the memory storing the data.
18 . The method of claim 14 , wherein a block storing the associated metadata and/or a block storing the data is a device-specific location.
19 . The method of claim 14 , wherein a block storing the associated metadata and/or a block storing the data is a host-transparent location.
20 . A data storage device comprising:
a memory; and
means for:
storing data and its associated metadata in the memory, wherein the associated metadata comprises a plurality of pieces of metadata;
receiving a request from an application on a host; and
in response to receiving the request:
reading the data and its associated metadata from the memory:
using a pre-agreed indexing of the associated metadata to extract a subset of the plurality of pieces of the metadata per a requirement of the application on the host; and
sending the extracted subset of the plurality of pieces of the metadata to the host.