| CPC G06F 12/0253 (2013.01) [G06F 16/2246 (2019.01); G06F 16/2272 (2019.01)] | 23 Claims |

|
1. A method comprising:
maintaining, by a distributed key-value (KV) store of a distributed storage system, keys in a form of block identifiers (IDs) and associated values representing data blocks;
receiving, by the distributed KV store, a list of block IDs corresponding to those of the data blocks that are in use by the distributed storage system;
concurrently performing, by the distributed KV store, at least a portion of a garbage collection process and a data integrity check, by performing a comparison between the block IDs maintained within the distributed KV store and the list of block IDs in which (i) one or more unused block IDs, represented by absence from the list of block IDs and presence within the distributed KV store, is indicative of existence of garbage to be collected; and (ii) one or more missing block IDs, represented by presence within the list of block IDs and absence from the distributed KV store, is indicative of a data integrity error.
|