US 11,941,297 B2
Garbage collection and bin synchronization for distributed storage architecture
Manan Dahyabhai Patel, Sunnyvale, CA (US); and Wei Sun, Boulder, CO (US)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp Inc., San Jose, CA (US)
Filed on Apr. 11, 2022, as Appl. No. 17/717,469.
Prior Publication US 2023/0325116 A1, Oct. 12, 2023
Int. Cl. G06F 12/00 (2006.01); G06F 3/06 (2006.01); G06F 12/02 (2006.01)
CPC G06F 3/0659 (2013.01) [G06F 3/0604 (2013.01); G06F 3/064 (2013.01); G06F 3/0679 (2013.01); G06F 12/0253 (2013.01)] 20 Claims
OG exemplary drawing
 
13. A method comprising:
generating, by instances of a slice service hosted at each worker node of a distributed storage architecture of distributed storage managed by the worker nodes, probabilistic structures used to indicate block identifiers of in-use blocks of the distributed storage that are used by the worker nodes to store data;
managing, by instances of a block service hosted at each worker node, bins composed of one or more blocks of the distributed storage managed by the worker node; and
performing, by a bin sync service, a bin sync process to copy blocks from a first bin managed by a first block service of a first worker node to a second bin managed by a second block service of a second worker node, wherein the bin sync service implements a garbage collection service through the first block service upon the first bin to free unused blocks during the bin sync process as freed blocks that are skipped by the bin sync process, wherein the unused blocks are identified based upon the unused blocks having block identifiers not occurring within probabilistic structures received from the instances of the slice service at the worker nodes.