Systems, methods, and apparatus for data placement in a storage device
An apparatus may include a storage device that may include at least one storage medium and a controller configured to control the at least one storage medium, wherein the controller may be configured to: receive a write command, wherein the write command may indicate a reclaim unit handle; perform, based on the reclaim unit handle, and based on an operation or condition of the storage device, a selection of a reclaim unit of the at least one storage medium; and store, based on the write command, data to the reclaim unit. The storage medium may include a first reclaim group including the first reclaim unit and a second reclaim group including a second reclaim unit of the at least one storage medium, and the selection of the first reclaim unit may include performing a selection of the first reclaim group.
1 . An apparatus comprising:
a storage device comprising:
at least one storage medium and a controller configured to control the at least one storage medium;
wherein the controller is configured to:
receive a write command, wherein the write command includes a namespace identifier (ID) and indicates a reclaim unit handle, wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs);
translate the namespace ID and the reclaim unit handle to a set of reclaim unit handles of the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of the storage device and a second reclaim unit handle indicating a second reclaim unit of the storage device;
perform a selection of the second reclaim unit based on translation of the reclaim unit handle of the write command and a conflict between the first reclaim unit and the write command; and
store data to the second reclaim unit based on the selection of the second reclaim unit.
2 . The apparatus of claim 1 , wherein:
the at least one storage medium comprises a first reclaim group including the first reclaim unit and a second reclaim group including the second reclaim unit; and
the selection of the second reclaim unit comprises performing a selection of the second reclaim group.
3 . The apparatus of claim 2 , wherein:
the selection of the second reclaim unit is based on a namespace; and
the namespace comprises the first reclaim unit and the second reclaim unit.
4 . The apparatus of claim 2 , wherein:
the controller is configured to receive a placement identifier with the write command;
the placement identifier comprises a placement handle; and
the selection of the second reclaim unit is based on the placement handle.
5 . The apparatus of claim 4 , wherein the placement handle corresponds to the second reclaim unit handle.
6 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises at least one of a programming operation of the at least one storage medium, a read operation of the at least one storage medium, or an erase operation of the at least one storage medium.
7 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a command queuing operation for the at least one storage medium.
8 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a completion status of a programming operation of the at least one storage medium.
9 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises a write buffering operation for the at least one storage medium.
10 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on an operation of the storage device that comprises an open block operation.
11 . The apparatus of claim 1 , wherein the conflict between the first reclaim unit and the write command is based on a condition of the storage device that comprises a wear state of at least a portion of the at least one storage medium.
12 . The apparatus of claim 1 , wherein the controller is configured to determine the conflict between the first reclaim unit and the write command based on a behavior of at least a portion of the at least one storage medium.
13 . The apparatus of claim 1 , wherein the controller is configured to:
receive an indication from a host; and
perform the selection of the reclaim unit based on the indication.
14 . The apparatus of claim 13 , wherein the indication comprises at least one of bandwidth information for the data or quality of service information for the data.
15 . The apparatus of claim 13 , wherein the indication comprises access information for the data.
16 . The apparatus of claim 13 , wherein the indication comprises allocation information for the data.
17 . An apparatus comprising:
at least one processor configured to:
select a reclaim unit of at least one storage medium of a storage device, the reclaim unit selected to store data;
send, to a controller of the storage device, a write command that includes a namespace identifier (ID) and indicates a reclaim unit handle for the reclaim unit of the at least one storage medium, wherein the reclaim unit handle maps, based on the namespace ID, to a set of reclaim unit handles that are selectable by the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of a first reclaim group of the storage device and a second reclaim unit handle indicating a second reclaim unit of a second reclaim group of the storage device, and wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs); and
send an indication about the data to store based on the write command, the data being stored at the second reclaim unit based on a conflict between the first reclaim unit and the write command.
18 . The apparatus of claim 17 , wherein the indication comprises one or more of bandwidth information for the data, quality of service information for the data, access information about the data, or allocation information about the data.
19 . A storage device comprising:
at least one storage medium; and
a controller configured to:
control the at least one storage medium;
receive a data operation request, wherein the data operation request includes a namespace identifier (ID) and indicates a reclaim unit handle, wherein at least a portion of data on the storage device is managed based on namespace IDs and logical block addresses (LBAs);
translate the namespace ID and the reclaim unit handle of the data operation request to a set of reclaim unit handles of the storage device, the set of reclaim unit handles including at least a first reclaim unit handle indicating a first reclaim unit of the storage device and a second reclaim unit handle indicating a second reclaim unit of the storage device; and
perform, based on the data operation request, a data operation associated with the second reclaim unit, wherein the data operation is based on a selection of the second reclaim unit based on a conflict between the first reclaim unit and the data operation request.
20 . The storage device of claim 19 , wherein:
the data operation comprises at least one of a write operation, a read operation, a copy operation, a deallocate operation, a sanitize operation, an erase operation, a format operation, or a compare and write operation, and
the LBAs are different from the namespace IDs.