US 12,073,118 B2
System and method for multi-node storage system flushing
Vladimir Shveidel, Pardes-Hana (IL); Jibing Dong, Beijing (CN); and Geng Han, Beijing (CN)
Assigned to EMC IP Holding Company, LLC, Hopkinton, MA (US)
Filed by EMC IP Holding Company, LLC, Hopkinton, MA (US)
Filed on Apr. 20, 2022, as Appl. No. 17/724,915.
Prior Publication US 2023/0342079 A1, Oct. 26, 2023
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0635 (2013.01); G06F 3/067 (2013.01); G06F 3/0689 (2013.01)] 17 Claims
OG exemplary drawing
 
1. A computer-implemented method, executed on a computing device, comprising:
processing, using a storage node of a plurality of storage nodes, one or more updates to one or more metadata pages of a multi-node storage system;
storing the one or more updates to the one or more metadata pages in one or more data containers in a cache memory system of the storage node, thus defining an active working set of data containers;
assigning flushing ownership for each data container of the active working set of data containers to one of the storage nodes of the plurality of storage nodes based upon, at least in part, an assigned flushing ownership for each data container of a frozen working set and a number of updates to the one or more metadata pages within the frozen working set processed by each storage node, thus defining an assigned flushing storage node for each data container of the active working set of data containers, wherein assigning flushing ownership for each data container of the active working set of data containers to one of the storage nodes of the plurality of storage nodes based upon, at least in part, an assigned flushing ownership for each data container of a frozen working set and a number of updates to the one or more metadata pages within the frozen working set processed by each storage node includes:
defining a processing balance value for the plurality of storage nodes based upon, at least in part, the number of updates to the one or more metadata pages within the frozen working set processed by each storage node,
determining a least utilized storage node of the plurality of storage nodes, and
defining a correction factor as a function of the processing balance value; and
flushing, using the assigned flushing storage node, the one or more updates to the one or more metadata pages from the one or more data containers of the active working set to a storage array.