US 11,892,977 B2
Stored entity metadata re-balancing upon storage expansion
Ido Yellin, Tel Aviv (IL); Avi Goren, Tel Aviv (IL); and Oded Sonin, Tel Aviv (IL)
Assigned to VAST DATA LTD., Tel Aviv (IL)
Filed by VAST DATA LTD., Tel Aviv (IL)
Filed on Oct. 14, 2021, as Appl. No. 17/450,994.
Prior Publication US 2023/0117571 A1, Apr. 20, 2023
Int. Cl. G06F 16/16 (2019.01)
CPC G06F 16/164 (2019.01) 18 Claims
OG exemplary drawing
 
1. A method for synchronizing multiple compute entities during stored entity metadata re-balancing that is performed upon an expansion of a storage system, the method comprises:
instructing multiple compute entities, by an expansion manager and during a first phase of the stored entity metadata re-balancing, to:
(i) lookup any stored entity metadata, during the first phase, in both current and next locations of metadata entries of the stored entity metadata by using:
a current translation function for linking identifiers of stored entities to stored entities metadata; wherein the current translation function is based on a size value of a current storage space allocated to stored entities metadata; and
a next translation function for linking identifiers of stored entities to stored entities metadata; wherein the next translation function is based on a size value of a next storage space allocated to stored entities metadata; wherein the current space is expanded during the expansion of the storage system to provide the next storage space; and
(ii) update any stored entity metadata accessed using the current translation function without updating stored entity metadata accessed using the next translation function;
accessing a stored entity, by any of the multiple compute entities that receives an access request after being instructed and during the first phase, wherein the accessing comprises: using the current translation function for looking up a current location of a metadata entry of the stored entity, using the next translation function for looking up a next location of the metadata entry, and updating the stored entity metadata at the current location; and
instructing the multiple compute entities, by the expansion manager and during a second phase of the stored entities metadata re-balancing to:
update, any stored entity metadata accessed using the next translation function without updating stored entity metadata accessed using the current translation function;
lookup any stored entity metadata by using the next translation function and by using the current translation function.