System and method for managing B tree node sharing using operation sequence numbers

    公开(公告)号:US11593399B2

    公开(公告)日:2023-02-28

    申请号:US17355125

    申请日:2021-06-22

    Applicant: VMware, Inc.

    Abstract: System and method for managing copy-on-write (COW) B tree structures for metadata of storage objects stored in a storage system determine, when a request to modify a target storage object stored in the storage system that requires a modification of a target leaf node in a B tree structure for metadata of the target storage object is received, whether an operation sequence number of the target leaf node is greater than a snapshot sequence number of a parent snapshot of a running point of the B tree structure. When the operation sequence number is greater than the snapshot sequence number, the target leaf mode is modified in place without copying the target leaf node. When the operation sequence number is not greater than the snapshot sequence number, the target leaf node is copied as a new leaf node for the B tree structure and the new leaf node is modified.

    DETERMINING SHARED NODES BETWEEN SNAPSHOTS USING PROBABILISTIC DATA STRUCTURES

    公开(公告)号:US20230028678A1

    公开(公告)日:2023-01-26

    申请号:US17383087

    申请日:2021-07-22

    Applicant: VMware, Inc.

    Abstract: The present disclosure is related to methods, systems, and machine-readable media for determining shared nodes between snapshots using probabilistic data structures. A unique identifier can be assigned to each node of a first tree data structure corresponding to a first snapshot of a virtual computing instance (VCI). A first probabilistic data structure representing the first tree data structure can be created that includes hashes of the identifiers assigned to the nodes of the first tree data structure. A unique identifier can be assigned to each node of a second tree data structure corresponding to a second snapshot of the VCI. A second probabilistic data structure representing the second tree data structure can be created that includes hashes of the identifiers assigned to the nodes of the second tree data structure. A particular node of the second tree data structure can be determined to be shared by the first tree data structure responsive to a determination that the first probabilistic data structure includes a hash of an identifier assigned to the particular node.

    Method and system for fast building and testing software

    公开(公告)号:US11467824B2

    公开(公告)日:2022-10-11

    申请号:US16994681

    申请日:2020-08-17

    Applicant: VMware, Inc.

    Abstract: Example methods are provided for performing fast building and testing a software suite with multiple software components. In one example, the method may include obtaining a changed code file, identifying a software component of the software suite impacted by the changed code file, and instructing to generate a software component build based on the software component but excluding other software components of the software suite. Before completing generating the software component build, the method may also include selecting a software suite build. The method further includes instructing to prepare a testbed based on the software suite build and instructing to test the software component build on the testbed.

    Efficient garbage collection of variable size chunking deduplication

    公开(公告)号:US11461229B2

    公开(公告)日:2022-10-04

    申请号:US16552954

    申请日:2019-08-27

    Applicant: VMware, Inc.

    Abstract: The present disclosure provides techniques for deallocating previously allocated storage blocks. The techniques include obtaining a list of chunk IDs to analyze, choosing a chunk ID, and determining the storage blocks spanned by the chunk corresponding to the chosen chunk ID. The technique further includes determining whether any file references any storage blocks spanned by the chunk. The determining may be performed by comparing an internal reference count to a total reference count, where the internal reference count is the number of reference to the storage block by a chunk ID data structure. If no files reference any of the storage blocks spanned by the chunk, then all the storage blocks of the chunk can be deallocated.

    System and method of resyncing n-way mirrored metadata on distributed storage systems without requiring checksum in the underlying storage

    公开(公告)号:US11379318B2

    公开(公告)日:2022-07-05

    申请号:US16870852

    申请日:2020-05-08

    Applicant: VMware, Inc.

    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resynchronizing data in a storage system. One of the methods includes receiving, by a first storage subsystem, a plurality of write requests corresponding to respective meta data blocks, wherein the first storage subsystem comprises a meta object; storing, by the first storage subsystem and for each write request, in each disk of the meta object, a version of the corresponding meta data block; determining that a particular disk of the meta object has failed; determining whether one or more valid versions of the meta data block are stored in respective other disks of the meta object; and in response to determining that one or more valid versions of the meta data block are stored in respective other disks of the meta object, resynchronizing the meta data block in the particular disk.

    SYSTEMS AND METHODS OF MAINTAINING FAULT TOLERANCE FOR NEW WRITES IN DEGRADED ERASURE CODED DISTRIBUTED STORAGE

    公开(公告)号:US20220100392A1

    公开(公告)日:2022-03-31

    申请号:US17033610

    申请日:2020-09-25

    Applicant: VMware Inc.

    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for maintaining fault tolerance for new writes in a storage system when one or more components of the storage system are unavailable. One of the methods includes determining that one or more first disks of a capacity object of a storage system are unavailable, wherein the storage system comprises a segment usage table identifying the plurality of segments of the capacity object; in response: identifying a plurality of available second disks, adding a plurality of new segments corresponding to the second disks to the capacity object, and adding data identifying the plurality of new segments to the segment usage table; and for each of one or more new write requests to the capacity object: identifying an available segment from the plurality of new segments, and writing data associated with the new write request to the identified available segment.

    DYNAMIC OVER-PROVISIONING OF SPACE IN A LOG-STRUCTURED FILE SYSTEM

    公开(公告)号:US20220058043A1

    公开(公告)日:2022-02-24

    申请号:US16999569

    申请日:2020-08-21

    Applicant: VMware, Inc.

    Abstract: The present disclosure is related to methods, systems, and machine-readable media for log-structured file system management operations. An aggregate amount of over-provisioned computing resources assigned to a plurality of log-structured file system (LFS) objects that are allocated for performance of memory management operations associated with a virtual storage area network (vSAN) can be determined. A subset of LFS objects that are candidates for performance of a particular memory management operation based on an amount of over-provisioned computing resources consumed by one or more LFS objects among the plurality of LFS objects exceeding a resource consumption threshold associated with the determined amount of over-provisioned computing resources assigned to the plurality of LFS objects can be selected. The particular memory management operation using one or more of the candidate LFS objects can be performed.

    System and methods of an efficient cache algorithm in a hierarchical storage system

    公开(公告)号:US11249914B2

    公开(公告)日:2022-02-15

    申请号:US15097159

    申请日:2016-04-12

    Applicant: VMware, Inc.

    Abstract: An in-memory cache for a computer system having a first storage and a second storage where the first storage is a cache for the second storage, tracks priority levels of block attributes stored therein. If a data item is cached in the first storage, the block attribute corresponding to the data item is stored in the in-memory cache as a high priority block attribute. If a data item evicted from the first storage, the block attribute corresponding to the data item is stored in the in-memory cache as a low priority block attribute. When the cache becomes full, the low priority block attributes are evicted before the high priority block attributes.

Patent Agency Ranking