COMBINED GARBAGE COLLECTION AND DATA INTEGRITY CHECKING FOR A DISTRIBUTED KEY-VALUE STORE

    公开(公告)号:US20230145784A1

    公开(公告)日:2023-05-11

    申请号:US17680484

    申请日:2022-02-25

    Applicant: NetApp, Inc.

    CPC classification number: G06F12/0253 G06F16/2246 G06F16/2272

    Abstract: Systems and methods are described for a streamlined garbage collection process during which data integrity checking is also performed for a distributed key-value (KV) store utilized by a distributed storage management system. According to one embodiment, by making use of full or truncated block IDs (rather than an intermediate probabilistic data structure, such as a Bloom filter) for garbage collection, data integrity checking can be performed concurrently almost for free. During garbage collection, a block ID compare list is compared to block IDs within the distributed KV store. If a particular block ID is present in the distributed KV store but is missing from the block ID compare list, the corresponding data block represents garbage to be collected. If the particular block ID is present in the block ID compare list but missing from the distributed KV store, a data integrity error has been identified.

    COMBINED GARBAGE COLLECTION AND DATA INTEGRITY CHECKING FOR A DISTRIBUTED KEY-VALUE STORE

    公开(公告)号:US20240385959A1

    公开(公告)日:2024-11-21

    申请号:US18786848

    申请日:2024-07-29

    Applicant: NetApp, Inc.

    Abstract: Systems and methods are described for a streamlined garbage collection process during which data integrity checking is also performed for a distributed key-value (KV) store utilized by a distributed storage system. According to one embodiment, by making use of full or truncated block IDs (rather than an intermediate probabilistic data structure, such as a Bloom filter) for garbage collection, data integrity checking can be performed concurrently almost for free. During garbage collection, a block ID compare list may be compared to block IDs within the distributed KV store. If a particular block ID is present in the distributed KV store but is missing from the block ID compare list, the corresponding data block represents garbage to be collected. If the particular block ID is present in the block ID compare list but missing from the distributed KV store, a data integrity error has been identified.

    Combined garbage collection and data integrity checking for a distributed key-value store

    公开(公告)号:US12066933B2

    公开(公告)日:2024-08-20

    申请号:US17680484

    申请日:2022-02-25

    Applicant: NetApp, Inc.

    CPC classification number: G06F12/0253 G06F16/2246 G06F16/2272

    Abstract: Systems and methods are described for a streamlined garbage collection process during which data integrity checking is also performed for a distributed key-value (KV) store utilized by a distributed storage management system. According to one embodiment, by making use of full or truncated block IDs (rather than an intermediate probabilistic data structure, such as a Bloom filter) for garbage collection, data integrity checking can be performed concurrently almost for free. During garbage collection, a block ID compare list is compared to block IDs within the distributed KV store. If a particular block ID is present in the distributed KV store but is missing from the block ID compare list, the corresponding data block represents garbage to be collected. If the particular block ID is present in the block ID compare list but missing from the distributed KV store, a data integrity error has been identified.

    GARBAGE COLLECTION AND BIN SYNCHRONIZATION FOR DISTRIBUTED STORAGE ARCHITECTURE

    公开(公告)号:US20240220106A1

    公开(公告)日:2024-07-04

    申请号:US18607651

    申请日:2024-03-18

    Applicant: NetApp, Inc.

    CPC classification number: G06F3/0608 G06F3/0652 G06F3/067

    Abstract: Techniques are provided for implementing garbage collection and bin synchronization for a distributed storage architecture of worker nodes managing distributed storage composed of bins of blocks. As the distributed storage architecture scales out to accommodate more storage and worker nodes, garbage collection used to free unused blocks becomes unmanageable and slow. Accordingly garbage collection is improved by utilizing heuristics to dynamically speed up or down garbage collection and set sizes for subsets of a bin to process instead of the entire bin. This ensures that garbage collection does not use stale information about what blocks are in-use, and ensures garbage collection does not unduly impact client I/O processing or conversely falls behind on garbage collection. Garbage collection can be incorporated into a bin sync process to improve the efficiency of the bin sync process so that unused blocks are not needlessly copied by the bin sync process.

    Defragmentation for log structured merge tree to improve read and write amplification

    公开(公告)号:US11971859B2

    公开(公告)日:2024-04-30

    申请号:US17732046

    申请日:2022-04-28

    Applicant: NetApp Inc.

    CPC classification number: G06F16/1748 G06F16/182

    Abstract: Techniques are provided for implementing a defragmentation process during a merge operation performed by a re-compaction process upon a log structured merge tree. The log structured merge tree is used to store keys of key-value pairs within a key-value store. As the log structured merge tree fills with keys over time, the re-compaction process is performed to merge keys down to lower levels of the log structured merge tree to re-compact the keys. Re-compaction can result in fragmentation because there is a lack of spatial locality of where the re-compaction operations re-writes the keys within storage. Fragmentation increases read and write amplification when accessing the keys stored in different locations within the storage. Accordingly, the defragmentation process is performed during a last merge operation of the re-compaction process in order to store keys together within the storage, thus reducing read and write amplification when accessing the keys.

    Garbage collection and bin synchronization for distributed storage architecture

    公开(公告)号:US11934656B2

    公开(公告)日:2024-03-19

    申请号:US17717454

    申请日:2022-04-11

    Applicant: NetApp Inc.

    CPC classification number: G06F3/0608 G06F3/0652 G06F3/067

    Abstract: Techniques are provided for implementing garbage collection and bin synchronization for a distributed storage architecture of worker nodes managing distributed storage composed of bins of blocks. As the distributed storage architecture scales out to accommodate more storage and worker nodes, garbage collection used to free unused blocks becomes unmanageable and slow. Accordingly garbage collection is improved by utilizing heuristics to dynamically speed up or down garbage collection and set sizes for subsets of a bin to process instead of the entire bin. This ensures that garbage collection does not use stale information about what blocks are in-use, and ensures garbage collection does not unduly impact client I/O processing or conversely falls behind on garbage collection. Garbage collection can be incorporated into a bin sync process to improve the efficiency of the bin sync process so that unused blocks are not needlessly copied by the bin sync process.

    USE OF CLUSTER-LEVEL REDUNDANCY WITHIN A CLUSTER OF A DISTRIBUTED STORAGE MANAGEMENT SYSTEM TO ADDRESS NODE-LEVEL ERRORS

    公开(公告)号:US20230153214A1

    公开(公告)日:2023-05-18

    申请号:US17680653

    申请日:2022-02-25

    Applicant: NetApp, Inc.

    CPC classification number: G06F11/1662 G06F11/3034 G06F11/1088 G06F16/27

    Abstract: Systems and methods that make use of cluster-level redundancy within a distributed storage management system to address various node-level error scenarios are provided. According to one embodiment, a KV store of a node of a cluster of a distributed storage management system manages storage of data blocks as values and corresponding block IDs as keys. Data integrity errors are reported to the first node in the form of a list of missing block IDs that are in use but missing from the KV store. A metadata resynchronization process may then be caused to be performed, including for each block ID in the list of missing block IDs: (i) reading a data block corresponding to the block ID from another node of the cluster that maintains redundant information relating to the block ID; and (ii) restoring the block ID within the KV store by writing the data block to the node.

Patent Agency Ranking