-
1.
公开(公告)号:US11947827B2
公开(公告)日:2024-04-02
申请号:US16875624
申请日:2020-05-15
Applicant: VMware, Inc.
Inventor: Eric Knauft , Enning Xiang , Mansi Shah , Pascal Renauld , Yiqi Xu , Ojan Thornycroft , Pratik Desai , Zhihao Yao , Yizhou Luo
IPC: G06F3/06
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.
-
2.
公开(公告)号:US11573711B2
公开(公告)日:2023-02-07
申请号:US16827692
申请日:2020-03-23
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Eric Knauft , Vamsi Gunturu , Pascal Renauld
Abstract: A method for encrypting data in one or more data blocks is provided. The method receives a first data block to be written to a physical storage that includes one or more physical disks. The method applies a first random tweak to data indicative of the first data block to generate a first encrypted data block, and writes the first encrypted data block and the first random tweak to a first physical block of the physical storage. The method receives a second data block to be written to the physical storage. The method then applies a second random tweak, different than the first random tweak, to data indicative of the second data block to generate a second encrypted data block, and writes the second encrypted data block and the second random tweak to a second physical block of the physical storage.
-
3.
公开(公告)号:US11494083B2
公开(公告)日:2022-11-08
申请号:US16504204
申请日:2019-07-05
Applicant: VMWARE, INC.
Inventor: Yiqi Xu , Enning Xiang , Eric Knauft , Pascal Renauld
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.
-
公开(公告)号:US11157195B2
公开(公告)日:2021-10-26
申请号: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.
-
公开(公告)号:US20210311653A1
公开(公告)日:2021-10-07
申请号:US16842649
申请日:2020-04-07
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Vamsi Gunturu , Eric Knauft , Pascal Renauld
IPC: G06F3/06
Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.
-
公开(公告)号:US11687236B2
公开(公告)日:2023-06-27
申请号:US17181476
申请日:2021-02-22
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Pascal Renauld
IPC: G06F3/00 , G06F3/06 , G06F12/0873
CPC classification number: G06F3/0604 , G06F3/064 , G06F3/067 , G06F3/0629 , G06F3/0683 , G06F12/0873 , G06F2212/7201
Abstract: A method for compressing is provided. The method including receiving a block of data to store on at least one physical disk; determining whether to store the data in a data log as uncompressed or compressed data based on a determined size of resulting compressed data. When the method determines to store the data as compressed, compressing the data and storing the compressed data in at least one sector in the data log. Otherwise, the method stores the data, uncompressed, in a plurality of sectors in the data log. The method generates a one or more state bits indicating (i) whether the data is stored as uncompressed or compressed, and (ii) if the data is stored as compressed, a size of the compressed data. The method then stores the one or more state bits in an entry of a logical map table associated with an LBA that corresponds to the data block.
-
公开(公告)号:US11681661B2
公开(公告)日:2023-06-20
申请号:US17106037
申请日:2020-11-27
Applicant: VMWARE, INC.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld , Yiqi Xu , Pratik Desai , Yizhou Luo
IPC: G06F16/00 , G06F16/178 , G06F16/11 , G06F16/176 , G06F3/06 , G06F16/182 , G06F16/188
CPC classification number: G06F16/178 , G06F3/0604 , G06F3/065 , G06F3/067 , G06F16/125 , G06F16/128 , G06F16/1767 , G06F16/188 , G06F16/1824 , G06F16/1844
Abstract: Hybrid synchronization using a shadow component includes detecting a first component of a plurality of mirrored components of a distributed data object becoming unavailable. The mirrored components include a delta component (a special shadow component) and a regular mirror (shadow) component. The delta component indicates a shorter history of changes to data blocks of a log-structured file system (LFS) than is indicated by the regular mirror component. During the unavailability of the first component, at least one write I/O is committed by the delta component. The commit is tracked by the delta component in a first tracking bitmap associated with the delta component. Based at least on detecting the first component becoming available, the first component is synchronized with data from the delta component, based at least on changed data blocks indicated in the first tracking bitmap.
-
公开(公告)号:US11334277B2
公开(公告)日:2022-05-17
申请号:US16842649
申请日:2020-04-07
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Vamsi Gunturu , Eric Knauft , Pascal Renauld
IPC: G06F3/06
Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.
-
公开(公告)号:US11256583B2
公开(公告)日:2022-02-22
申请号:US16410549
申请日:2019-05-13
Applicant: VMware, Inc.
Inventor: Ruocheng Li , Enning Xiang , Eric Knauft , Pascal Renauld
Abstract: In one set of embodiments, a storage system can execute a repair process for a first component of a file or object stored on the storage system, where the repair process is initiated in response to the first component becoming inaccessible by the storage system, and where the file or object is split across a plurality of components including the first component. The executing can include, for each chunk in an address space of the first component starting from an initial chunk pointed to by a cursor: (1) determining whether the chunk is mapped to the first component, (2) if the chunk is mapped to the first component, copying data for the chunk from a mirror copy of the first component to a second component in the plurality of components, and (3) updating the cursor to point to a next chunk in the address space.
-
10.
公开(公告)号:US10666435B2
公开(公告)日:2020-05-26
申请号:US15866278
申请日:2018-01-09
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Jin Zhang , Haoran Zheng , Eric Knauft , Xin Li , Pascal Renauld , Bryan Fink
Abstract: A tenant's clear text data in a multi-tenant storage system can be encrypted using the tenant's cryptographic key to produce encrypted yet compressible data (“cryptographic data”). The cryptographic data can be encrypted using a system cryptographic key that is managed by the multi-tenant storage system and then stored. Use of the system cryptographic key allows for subsequent maintenance activities such as deduplication and compression to be performed on data stored in the multi-tenant storage system without having to access any of the tenants' cryptographic keys.
-
-
-
-
-
-
-
-
-