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.

    Synchronizing a stale component of a distributed object using multiple delta components during maintenance

    公开(公告)号:US11182261B1

    公开(公告)日:2021-11-23

    申请号:US17106050

    申请日:2020-11-27

    Applicant: VMware, Inc.

    Abstract: The disclosure herein describes enhancing data durability of a base component using multiple delta components. A first and second delta component are generated based on the base component becoming unavailable. A write operation targeted for the base component is routed to the first delta component and to the second delta component. Based on routing the write operation targeted for the base component to the first delta component and to the second delta component, a bit associated with a data block affected by the write operation is changed in each of the tracking bitmaps of the first and second delta components. Based on detecting the base component becoming available, one delta component of the first and second delta components is selected, and the data block affected by the routed write operation is synchronized from the selected delta component to the base component. Later, the first and second delta components are removed.

    RESOURCE FAIRNESS CONTROL IN DISTRIBUTED STORAGE SYSTEMS USING CONGESTION DATA

    公开(公告)号:US20190317665A1

    公开(公告)日:2019-10-17

    申请号:US15954512

    申请日:2018-04-16

    Applicant: VMware, Inc.

    Abstract: Computer system and method for managing storage requests in a distributed storage system uses congestion data related to processing of storage requests for local storage to adaptively adjust a bandwidth limit for a first class of storage requests to be processed. The bandwidth limit is enforced on the storage requests belonging to the first class of storage requests without enforcing any bandwidth limit on the storage requests belonging to a second class of storage requests.

    Synchronizing replicas with media errors in distributed storage systems

    公开(公告)号:US10198312B2

    公开(公告)日:2019-02-05

    申请号:US15943293

    申请日:2018-04-02

    Applicant: VMware, Inc.

    Abstract: Systems and techniques are described for transferring data. A described technique includes receiving a request to transmit a data block from a first data storage device to a second data storage device. An attempt to read the data block from the first data storage device is made. A media error resulting from the attempt to read the data block from the first data storage device is detected. In response to detecting the media error, a new data block is generated and includes mismatched checksum data that causes a checksum mismatched error when the new data block is accessed. The new data block is transmitted for storage at the second data storage device in place of the data block.

    Synchronizing a stale component of a distributed object using a delta component during maintenance

    公开(公告)号:US11947827B2

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

    申请号:US16875624

    申请日:2020-05-15

    Applicant: VMware, Inc.

    CPC classification number: G06F3/065 G06F3/0617 G06F3/0689

    Abstract: The disclosure herein describes enhancing data durability of a base component using a delta component. A delta component is generated based on the base component becoming unavailable. The delta component is configured to include unwritten storage space with an address space matching the base component and a tracking bitmap associated with data blocks of the address space of the delta component. Write operations targeted for the base component are routed to the delta component. Based on the routed write operations, bits associated with data blocks affected by the write operations are changed in the tracking bitmap. Based on the base component becoming available, data blocks affected by routed write operations are identified based on the tracking bitmap and the identified data blocks are synchronized from the delta component to the base component. The delta component is then removed.

    Reverse deletion of a chain of snapshots

    公开(公告)号:US11748300B2

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

    申请号:US17455519

    申请日:2021-11-18

    Applicant: VMware, Inc.

    CPC classification number: G06F16/128 G06F16/125 G06F16/14

    Abstract: A method for the reverse deletion of a plurality of snapshots in a chain of snapshots is provided. The method includes in reverse order, starting from a latest snapshot in time to an earliest snapshot in time of the plurality of snapshots: identifying at least one of a first set of one or more data blocks of a snapshot that are shared with an earlier snapshot in time in the chain of snapshots or a second set of one or more data blocks of the snapshot that are owned by the snapshot and processing the second set of one or more data blocks and skipping processing the first set of one or more data blocks, wherein processing the second set of one or more data blocks comprises performing one or more actions to maintain and/or delete data blocks of the second set of one or more data blocks.

    Deleting snapshot pages using sequence numbers and page lookups

    公开(公告)号:US11537297B1

    公开(公告)日:2022-12-27

    申请号:US17479594

    申请日:2021-09-20

    Applicant: VMware, Inc.

    Abstract: The present disclosure is related to methods, systems, and machine-readable media for deleting snapshot pages using sequence numbers and page lookups. A monotonically-increasing sequence number (SN) can be assigned to each created page of a first snapshot of a storage volume. A first snapshot sequence number (snapSN) can be assigned to the first snapshot responsive to a creation of a second snapshot, wherein the first snapSN is equal to a largest SN of the first snapshot. An SN can be assigned to each created page of the second snapshot, wherein a first page of the second snapshot is assigned an SN monotonically increased from the first snapSN. A second snapSN can be assigned to the second snapshot responsive to a creation of a third snapshot, wherein the second snapSN is equal to a largest SN of the second snapshot. An SN can be assigned to each created page of the third snapshot, wherein a first page of the third snapshot is assigned an SN monotonically increased from the second snapSN. A deletion process can be performed in response to receiving a request to delete the second snapshot that includes deleting a particular page of the second snapshot responsive to determining that the particular page is not shared between the second snapshot and the first snapshot or between the second snapshot and the third snapshot.

    AGGREGATING BLOCK MAPPING METADATA TO IMPROVE LINKED CLONE READ PERFORMANCE

    公开(公告)号:US20220398115A1

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

    申请号:US17346607

    申请日:2021-06-14

    Applicant: VMware, Inc.

    Abstract: Linked clone read performance when retrieving data from a clone is improved at least by aggregating block mapping metadata efficiently. Primary metadata for a child clone maps a logical block address (LBA) for data in a data region of the child clone to a physical sector address (PSA) for data in the data region of the child clone. At least a portion of primary metadata for a parent clone of the child clone is copied into archival metadata for the child clone. In response to a read request, data is returned from the child clone, parent clone, or another ancestor of the child clone based on whether or not a read request LBA is within the primary metadata for the child clone, or within the archival metadata.

    Performing resynchronization jobs in a distributed storage system based on a parallelism policy

    公开(公告)号:US11494083B2

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

    申请号:US16504204

    申请日:2019-07-05

    Applicant: VMWARE, INC.

    Abstract: The disclosure herein describes performing resynchronization (“resync”) jobs in a distributed storage system based on a parallelism policy. A resync job is obtained from a queue and input/output (I/O) resources that will be used during execution of the resync job are identified. Available bandwidth slots of each I/O resource of the identified I/O resources are determined. The parallelism policy is applied to the identified I/O resources and the available bandwidth slots. Based on the application of the parallelism policy, a bottleneck resource of the I/O resources is determined and a parallel I/O value is calculated based on the available bandwidth slots of the bottleneck resource, wherein the parallel I/O value indicates a quantity of I/O tasks that can be performed in parallel. The resync job is executed using the I/O resources, the execution of the resync job including performance of I/O tasks in parallel based on the parallel I/O value.

Patent Agency Ranking