| CPC G06F 12/023 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0665 (2013.01); G06F 3/0689 (2013.01)] | 20 Claims |

|
1. A system, comprising:
at least one data storage device, wherein each data storage device of the at least one data storage device comprises:
a non-volatile storage medium configured to store host data for at least one host system; and
a host interface configured to communicate with the at least one host system using a storage protocol; and
a controller configured to:
determine a plurality of host connections to a plurality of namespaces in the at least one data storage device, wherein:
each namespace of the plurality of namespaces has a first allocated capacity;
at least one namespace of the plurality of namespaces is configured to allocate a portion of the first allocated capacity to a floating namespace pool; and
the portion of the first allocated capacity allocated to the floating namespace pool remains allocated to that at least one namespace until used by another namespace;
determine a redundant array of independent disks (RAID) configuration comprising a RAID set of namespaces from the plurality of namespaces;
store, based on the RAID configuration, host data to the RAID set of namespaces;
determine, for a target namespace of the RAID set of namespaces, whether a filled mark of the target namespace meets a flexible capacity threshold for the target namespace; and
allocate, responsive to the filled mark meeting the flexible capacity threshold, a capacity unit from the floating namespace pool to the target namespace to increase the first allocated capacity to a second allocated capacity.
|