CPC G06F 3/064 (2013.01) [G06F 3/0644 (2013.01); G06F 3/0679 (2013.01); G06F 3/0604 (2013.01)] | 20 Claims |
1. A computer-implemented method comprising:
partitioning a plurality of non-volatile solid state drives (SSDs) into a plurality of zones;
for a first zone of the plurality of zones, partitioning the first zone into a first portion and a second portion, wherein the first portion is assigned to a first node for allocating physical blocks of storage used exclusively by the first node, and wherein the second portion is assigned to a second node for allocating physical blocks of storage used exclusively by the second node, wherein a first boundary denotes a boundary partitioning the first zone into the first portion and the second portion;
maintaining, by each of the first node and the second node, a plurality of parameters used exclusively by said each node, wherein the plurality of parameters includes a first parameter denoting the first zone as an active zone to be used for allocating physical blocks of storage for said each node, wherein the plurality of parameters includes a second parameter identifying the first boundary as an active zone boundary in the active zone denoted by the first parameter, wherein said each node only allocates physical storage blocks from a corresponding portion of the active zone denoted by the first parameter, wherein the corresponding portion of the active zone of said each node is in accordance with the active zone boundary identified by the second parameter;
allocating, for the first node, a first plurality of physical blocks from the first portion used exclusively by the first node;
determining that the first node has consumed a threshold amount of the first portion of the first zone; and
responsive to determining the first node has consumed the threshold amount of the first portion of the first zone, dynamically determining a second boundary denoting a repartitioning of the first zone into a revised first portion and a revised second portion, wherein the revised first portion is assigned to the first node for allocating physical blocks of storage used exclusively by the first node, wherein the revised second portion is assigned to the second node for allocating physical blocks of storage used exclusively by the second node.
|