-
公开(公告)号:US20190303013A1
公开(公告)日:2019-10-03
申请号:US16445649
申请日:2019-06-19
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld
IPC: G06F3/06
Abstract: Systems and techniques are described for transferring data. A described technique includes determining that a first replica of an object stored at a first host has become available to a distributed storage system after previously being unavailable to the distributed storage system. The object includes a range of memory addresses at which data of the object is stored. In response to determining that the first replica has become available, resyncing data for the first replica is obtained. The resyncing data indicates whether each range of memory addresses is synchronized at the first replica with other replicas of the object. Tracking data for the first replica is obtained. The tracking data indicates whether data stored at the range of memory addresses of the object has been modified at a second replica while the first replica was unavailable. The resyncing data is updated based on the tracking data.
-
公开(公告)号:US11860736B2
公开(公告)日:2024-01-02
申请号:US17644618
申请日:2021-12-16
Applicant: VMware, Inc.
Inventor: Enning Xiang , Pranay Singh , Junlong Gao , Hardik Singh Negi , Wenguang Wang
CPC classification number: G06F11/1407 , G06F11/1474 , G06F16/128 , G06F16/2246
Abstract: A method for resumeable snapshot deletion is provided. A method for deletion of nodes maintained in an ordered data structure for a first snapshot includes processing the nodes maintained in the ordered data structure according to a defined order, setting a node path cursor with a pointer to a node and an indication of the deletion of the node; storing the node path cursor in a persistent storage; and during processing of the nodes: detecting a failure; after the failure, checking the pointer of the node path cursor; and resuming processing of the nodes starting from the first node indicated by the pointer.
-
13.
公开(公告)号:US11797214B2
公开(公告)日:2023-10-24
申请号:US17646993
申请日:2022-01-04
Applicant: VMware, Inc.
Inventor: Pranay Singh , Enning Xiang , Wenguang Wang , Fan Ni
IPC: G06F3/06
CPC classification number: G06F3/0652 , G06F3/064 , G06F3/0604 , G06F3/0679
Abstract: A method for deleting one or more snapshots using micro-batch processing is provided. The method includes receiving a request to delete the one or more snapshots, identifying one or more middle map extents exclusively owned by the one or more snapshots requested to be deleted, wherein metadata for the one or more snapshots is stored in one or more logical maps having logical map extents mapping logical block addresses (LBAs) to middle block addresses (MBAs) and a middle map having middle map extents mapping MBAs to physical block addresses (PBAs) of physical locations where data blocks are written, adding MBAs of the identified one or more middle map extents in a batch, determining a first micro-batch including a first subset of the MBAs in the batch, the first subset of MBAs being MBAs less than a first upper bound MBA, and using a first transaction to delete the middle map extents corresponding to the first subset of MBAs included in the first micro-batch.
-
公开(公告)号:US11507411B1
公开(公告)日:2022-11-22
申请号:US17382443
申请日:2021-07-22
Applicant: VMware, Inc.
Inventor: Enning Xiang , Yiqi Xu
IPC: G06F9/46 , G06F11/14 , H04L47/283 , G06F9/455
Abstract: A method of ensuring atomicity of transactions across a plurality of active hosts in a distributed environment, is provided. The method generally includes receiving, from a client, a second request to commit a second transaction subsequent to receiving a first request to commit a first transaction; assigning a second prepare identifier (ID) to the second transaction, wherein the second prepare ID assigned to the second transaction is greater than a first prepare ID assigned to the first transaction; transmitting, to the plurality of active hosts, instructions to prepare for committing the second transaction, the instructions including the second prepare ID; receiving, from each host, an acknowledgement indicating successful preparation for committing the second transaction; and transmitting, to the plurality of active hosts, instructions to commit the second transaction prior to receiving, from each host, an acknowledgement indicating successful preparation for committing the first transaction.
-
公开(公告)号:US11455255B1
公开(公告)日:2022-09-27
申请号:US17328281
申请日:2021-05-24
Applicant: VMware, Inc.
Inventor: Abhay Kumar Jain , Sriram Patil , Wenguang Wang , Enning Xiang , Asit A. Desai
Abstract: Techniques for improving the read performance of an LFS-based storage system that supports COW snapshotting are provided. In one set of embodiments, the storage system can implement an intermediate map for each storage object in the system that is keyed by a composite key consisting of snapshot identifier (major key) and LBA (minor key). With this approach, contiguous logical block addresses (LBAs) of a storage object or its snapshots will map to contiguous -to-PBA mappings in the storage object's intermediate map, resulting in good spatial locality for those LBAs and robust read performance.
-
公开(公告)号:US11422904B2
公开(公告)日:2022-08-23
申请号:US17106004
申请日:2020-11-27
Applicant: VMware, Inc.
Inventor: Enning Xiang , Ojan Thornycroft , Varun Shah , Eric Knauft , Asit Desai , Yiqi Xu
Abstract: The disclosure herein describes placing delta components of a base component in target fault domains. One or more delta components are generated. When a first fault domain that lacks a sibling component of the base component is identified, the first fault domain is selected as a single delta target fault domain and a single delta component is placed on the single delta target fault domain. When a second fault domain that includes a first sibling component of the base component is identified and a third fault domain that includes a second sibling component of the base component is identified, the second fault domain and the third fault domain are selected as a first double delta target fault domain and a second double delta target fault domain, and a first double delta component and a second double delta component are placed on the first and second double delta target fault domains.
-
公开(公告)号:US10965739B2
公开(公告)日:2021-03-30
申请号:US15947313
申请日:2018-04-06
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Yiqi Xu , Xiaochuan Shen
Abstract: Computer system and method for managing storage requests in a distributed storage system uses congestion signals associated with storage requests, which are generated based on congestion at local storage of the computer system that supports a virtual storage area network. The storage requests are differentiated between a first class of storage requests and at least one other class of storage requests. For a storage request of the first class of storage requests, an actual ratio of a current average bandwidth of the first class of storage requests to a current average bandwidth of a second class of storage requests is calculated and compared with an expected ratio. The congestion signal associated with the storage request is then adjusted and transmitted to at least one source of storage requests for storage request fairness control.
-
18.
公开(公告)号:US10803086B2
公开(公告)日:2020-10-13
申请号:US15660753
申请日:2017-07-26
Applicant: VMware, Inc.
Inventor: Pascal Renauld , Enning Xiang , Eric Knauft
IPC: G06F16/30 , G06F16/27 , G06F9/455 , G06F3/06 , G06F16/188
Abstract: Component objects of a virtual disk are backed by first storage nodes, which are at a primary site, and second storage nodes, which are at a secondary site. The method of resynchronizing the component objects of the virtual disk includes, at a coordinating node at the primary site, responsive to a second storage node coming back online, identifying an out-of-sync block of the second storage node, locating the out-of-sync block in an address space maintained for blocks of the virtual disk, and transmitting a resync command to a replication module of a coordinating node at the secondary site, the resync command identifying the out-of-sync block within the address space.
-
公开(公告)号:US10509708B2
公开(公告)日:2019-12-17
申请号:US15621130
申请日:2017-06-13
Applicant: VMware, Inc.
Inventor: Enning Xiang , Yiqi Xu
Abstract: Techniques are disclosed for resynchronizing a node of a distributed storage system with other nodes of the distributed storage system. Some embodiments presented herein include a computer-implemented method for resynchronizing a node of a distributed storage system with other nodes of the distributed storage system. The method comprises identifying an out-of-sync block of the node. The method further comprises determining that the out-of-sync block is a code block, wherein the code block is generated by performing an erasure coding operation on data blocks which are stored in the other nodes. The method further comprises locating a mirrored code block in an address space maintained for mirrored code blocks. The method further comprises storing contents of the mirrored code block in a storage location of the out-of-sync block.
-
公开(公告)号:US10445144B1
公开(公告)日:2019-10-15
申请号:US15955900
申请日:2018-04-18
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Vishal Kher
Abstract: Embodiments include estimating a workload of a resynchronization task for a data component in a logical storage system. Embodiments include detecting a connection from the data component, wherein the data component was previously disconnected. Embodiments further include determining a layout of the data storage system. Embodiments further include estimating the workload of the resynchronization task based on the layout. If the layout indicates that the data component has an active mirror component, embodiments include estimating the workload to be a used capacity of the active mirror component. If the layout indicates that the data component does not have an active mirror component and that the data component has a stale mirror component, embodiments include estimating the workload to be a sum of a used capacity of the stale mirror component and an estimated size of missed input/output operations. One or more actions may be performed based on the estimate.
-
-
-
-
-
-
-
-
-