Patents by Inventor Enning XIANG

Enning XIANG has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230153269
    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.
    Type: Application
    Filed: November 18, 2021
    Publication date: May 18, 2023
    Inventors: Enning XIANG, Wenguang WANG, Pranay SINGH
  • Publication number: 20230123478
    Abstract: Example methods and systems for accessing data in a log-structured file system having a plurality of snapshots of storage objects backed by a first-level copy-on-write (COW) B+ tree data structure and a plurality of second-level B+ tree data structures have been disclosed. One example method includes obtaining a first first-level mapping associated with a first snapshot from the plurality of snapshots based on a first logical block address, wherein each of the plurality of snapshots corresponds to each of the plurality of second-level B+ tree data structures, identifying a first second-level B+ tree data structure corresponding to one of the plurality of snapshots based on the first first-level mapping, obtaining a first second-level mapping based on the first logical block address in the first second-level B+ tree data structure, obtaining a first physical block address based on the first second-level mapping, and accessing data at the first physical block address.
    Type: Application
    Filed: October 19, 2021
    Publication date: April 20, 2023
    Applicant: VMware, Inc.
    Inventors: Enning XIANG, Wenguang WANG, Abhay Kumar JAIN, Sriram PATIL, Asit DESAI, Eric KNAUFT
  • Publication number: 20230104544
    Abstract: The present disclosure is related to methods, systems, and machine-readable media for managing extent sharing between snapshots using mapping addresses. A first mapping address can be assigned to a first extent responsive to a request to write the first extent. A second mapping address can be assigned to a second extent responsive to a request to write the second extent. A snapshot can be created. A snapshot mapping address, that is monotonically increased from the second mapping address, can be assigned to the snapshot. A third mapping address, that is monotonically increased from the second mapping address, can be assigned to a third extent of the snapshot responsive to a request to write the third extent.
    Type: Application
    Filed: October 4, 2021
    Publication date: April 6, 2023
    Applicant: VMware, Inc.
    Inventors: Wenguang Wang, Enning Xiang, Pranay Singh, Subhradyuti Sarkar
  • Publication number: 20230092177
    Abstract: A method of managing storage space of a storage device containing a plurality of snapshots of a file includes the steps of: recording a first count record that includes a number of data blocks that are owned by a first snapshot; after recording the first count record, recording a second count record that includes a number of data blocks that are both owned by the first snapshot and shared with a second snapshot that is a child snapshot of the first snapshot; and determining an amount of reclaimable space of the first snapshot as the difference between the numbers of data blocks of the first and second count records.
    Type: Application
    Filed: September 17, 2021
    Publication date: March 23, 2023
    Inventors: Enning XIANG, Wenguang WANG, Yiqi XU, Qinkai FAN
  • Publication number: 20230083104
    Abstract: At the time of deleting a snapshot, a storage system can allocate a buffer in volatile memory, scan a plurality of logical block address (LBA)-to-virtual block address (VBA) mappings included in a first tree metadata structure of the snapshot, and, for each scanned LBA-to-VBA mapping, identify in a second tree metadata structure a VBA-to-physical block address (PBA) mapping referenced by the LBA-to-VBA mapping. If the VBA-to-PBA mapping is exclusively owned by the snapshot, the storage system can add a record to the buffer that includes the VBA specified in the VBA-to-PBA mapping. The storage system can subsequently sort the records added to the buffer in VBA order and sequentially process the sorted records to remove their corresponding VBA-to-PBA mappings from the second tree metadata structure.
    Type: Application
    Filed: September 10, 2021
    Publication date: March 16, 2023
    Inventors: Enning Xiang, Pranay Singh, Wenguang Wang
  • Patent number: 11599554
    Abstract: The disclosure herein describes tracking changes to a stale component using a synchronization bitmap. A first component of a plurality of mirrored components of the distributed data object becomes available from an unavailable state, and a stale log sequence number (LSN) and a last committed LSN are identified. A synchronization bitmap of the first component associated with a range of LSNs (e.g., from the stale LSN to the last committed LSN) is created and configured to track changes to data blocks of the first component. A second component is identified based on the second component including a tracking bitmap associated with an LSN that matches the stale LSN of the first component. The first component is synchronized with data from the second component based on, wherein the synchronizing includes updating the synchronization bitmap to track changes made to data blocks of the first component.
    Type: Grant
    Filed: May 29, 2020
    Date of Patent: March 7, 2023
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Pascal Renauld, Sandeep Rangaswamy, Xin Li, Yiqi Xu, Venkata Ramanan
  • Patent number: 11593399
    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.
    Type: Grant
    Filed: June 22, 2021
    Date of Patent: February 28, 2023
    Assignee: VMWARE, INC.
    Inventors: Enning Xiang, Wenguang Wang, Pranay Singh, Subhradyuti Sarkar, Nitin Rastogi
  • Publication number: 20230059248
    Abstract: An example method of placing a durability component in a redundant array of independent/inexpensive disks (RAID) tree of an object stored in a virtual storage area network (vSAN) of a virtualized computing system is described. The method includes identifying a base component in the RAID tree that is unavailable due to a failure in the virtualized computing system; searching the RAID tree, from a level of the base component towards a root of the RAID tree, for a selected level to place a durability component that protects at least the base component, the selected level satisfying at least one of a plurality of constraints; and provisioning the durability component at the selected level of the RAID tree, the selected level being above the level of the base component in the RAID tree.
    Type: Application
    Filed: August 17, 2021
    Publication date: February 23, 2023
    Inventors: Yiqi XU, Enning XIANG
  • Publication number: 20230055813
    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.
    Type: Application
    Filed: October 20, 2022
    Publication date: February 23, 2023
    Inventors: Yiqi XU, Enning XIANG, Eric KNAUFT, Pascal RENAULD
  • Patent number: 11579786
    Abstract: A method for block addressing is provided. The method includes moving content of a data block referenced by a logical block address (LBA) from a first physical block corresponding to a first physical block address (PBA) to a second physical block corresponding to a second PBA, wherein prior to the moving a logical map maps the LBA to a middle block address (MBA) and a middle map maps the MBA to the first PBA and in response to the moving, updating the middle map to map the MBA to the second PBA instead of the first PBA.
    Type: Grant
    Filed: April 23, 2021
    Date of Patent: February 14, 2023
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Wenguang Wang
  • Patent number: 11573860
    Abstract: A method for verifying a consistency of snapshot metadata maintained in an ordered data structure for a plurality of snapshots in a snapshot hierarchy is provided. The method includes identifying a first plurality of nodes maintained in a first ordered data structure for a first snapshot that is a child of a second snapshot; for a first node of the first plurality of nodes, verifying the first node by checking for the first node in a second node map maintained in memory for the second snapshot, wherein the second node map includes a plurality of verified nodes in a second ordered data structure; and based on whether the first node is in the second node map: adding the first node to a first node map maintained in memory for the first snapshot, wherein the first node map includes verified nodes of the first plurality of nodes; or triggering an alarm.
    Type: Grant
    Filed: November 22, 2021
    Date of Patent: February 7, 2023
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Wenguang Wang, Mrityunjay Kumar
  • Publication number: 20230023307
    Abstract: Linked clone read performance (e.g., retrieving data) is improved at least by minimizing the number of input/output (I/O) operations. For a child clone, a local logical extent and an inherited logical extent are generated. The local logical extent comprises a logical block address (LBA) for data in a data region of the child clone and a physical sector address (PSA) corresponding to the LBA for the data in the data region of the child clone. The inherited logical extent spans logical extents that are accessible to the child clone. The inherited logical extent comprises an LBA for data in a data region of an ancestor of the child clone and a corresponding identifier (ID) of the ancestor. Data for an LBA in a read request may be rapidly found in the child clone (local logical extent) or an ancestor (inherited logical extent).
    Type: Application
    Filed: July 23, 2021
    Publication date: January 26, 2023
    Inventors: Enning XIANG, Wenguang WANG
  • Publication number: 20230028678
    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.
    Type: Application
    Filed: July 22, 2021
    Publication date: January 26, 2023
    Applicant: VMware, Inc.
    Inventors: Nitin Rastogi, Wenguang Wang, Pranay Singh, Subhradyuti Sarkar, Enning Xiang
  • Publication number: 20230018790
    Abstract: The disclosure herein describes enhancing data durability of a base component of a data object using an unplanned delta component during transient fault unavailability. A base component of a data object becoming unavailable due to a transient fault is detected. A delta component associated with the base component is generated, wherein the delta component includes unwritten storage space with an address space and a tracking bitmap including a plurality of bits associated with data blocks of the address space of the delta component. The stale LSN with which the base component is associated is assigned to the delta component and the delta component is synchronized with an active component of the data object based on the assigned stale LSN. The delta component records write I/O targeted for the base component and, based on detecting the base component becoming available, the base component is synchronized with the delta component.
    Type: Application
    Filed: July 15, 2021
    Publication date: January 19, 2023
    Inventors: Yiqi XU, Eric KNAUFT, Enning XIANG, Ojan THORNYCROFT, Asit DESAI, Varun SHAH
  • Publication number: 20230010516
    Abstract: A method for of input/output (I/O) quiescing in a write-ahead-log (WAL)-based storage system comprising a WAL, is provided. The method generally includes receiving a request to process a control operation for the storage system, determining whether a memory buffer includes payload data for one or more write requests previously received for the storage system and added to the WAL, forcing a flush of the payload data in the memory buffer to a persistent layer of the storage system when the memory buffer includes the payload data, and processing the control operation subsequent to completing the asynchronous flush, without waiting for processing of one or more other write requests in the WAL corresponding to payload data that was not added to the memory buffer prior to receiving the request to process the control operation.
    Type: Application
    Filed: July 6, 2021
    Publication date: January 12, 2023
    Inventors: Enning XIANG, Wenguang WANG, Nitin RASTOGI, Pranay SINGH, Subhradyuti SARKAR
  • Publication number: 20230004525
    Abstract: An example method of upgrading a distributed storage object from a first version to a second version includes: querying metadata of a first component configured according to the first version of the distributed storage object, the metadata defining extents of data on a disk group of the first component; populating, for a second component configured according to the second version of the distributed storage object, logical and middle maps based on the metadata such that initial entries in the logical map point to initial entries in the middle map, and the initial entries in the middle map point to physical addresses of the disk group of the first component; and reading the data from the disk group of the first component and writing the data to a disk group of the second component while updating the initial entries in the middle map.
    Type: Application
    Filed: July 2, 2021
    Publication date: January 5, 2023
    Inventors: Asit DESAI, Abhay Kumar JAIN, Wenguang WANG, Eric KNAUFT, Enning XIANG
  • Patent number: 11537297
    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.
    Type: Grant
    Filed: September 20, 2021
    Date of Patent: December 27, 2022
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Wenguang Wang, Pranay Singh, Subhradyuti Sarkar
  • Publication number: 20220405305
    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.
    Type: Application
    Filed: June 22, 2021
    Publication date: December 22, 2022
    Inventors: Enning Xiang, Wenguang Wang, Pranay Singh, Subhradyuti Sarkar, Nitin Rastogi
  • Publication number: 20220398115
    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.
    Type: Application
    Filed: June 14, 2021
    Publication date: December 15, 2022
    Inventors: Enning Xiang, Wenguang Wang
  • Publication number: 20220398030
    Abstract: A method for reverse range lookup in an ordered data structure of keys, wherein each key comprises a logical block address (LBA) and a snapshot identifier (ID) of one of one or more snapshots in a snapshot hierarchy, is provided. The keys in the ordered data structure are in an order from smallest to largest LBA, wherein in the order, keys having a same LBA are ordered from smallest to largest snapshot ID. The method includes determining a range of LBAs and traversing the ordered data structure in reverse order until a key is found that: has an LBA and a snapshot ID that is less than or equal to the last LBA and the largest snapshot ID, respectively. The method further includes adding an extent corresponding to the located key to an extent result list if the snapshot ID of the located key is not within a deny list.
    Type: Application
    Filed: June 15, 2021
    Publication date: December 15, 2022
    Inventors: Enning XIANG, Wenguang WANG