Patents by Inventor Eric KNAUFT

Eric KNAUFT 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: 20240111755
    Abstract: System and method for managing different classes of storage input/output (I/O) requests for a two-phase commit operation in a distributed storage system assigns reserved log sequence values to each of storage I/O requests of a first class, which are added to a two-phase commit queue. The reserved log sequence values of the storage I/O requests of the first class in the two-phase commit queue are assigned to some of the storage I/O requests of the second class, which are added to the two-phase commit queue.
    Type: Application
    Filed: September 30, 2022
    Publication date: April 4, 2024
    Inventors: Yiqi Xu, Eric Knauft, Enning Xiang
  • Patent number: 11947827
    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.
    Type: Grant
    Filed: May 15, 2020
    Date of Patent: April 2, 2024
    Assignee: VMware, Inc.
    Inventors: Eric Knauft, Enning Xiang, Mansi Shah, Pascal Renauld, Yiqi Xu, Ojan Thornycroft, Pratik Desai, Zhihao Yao, Yizhou Luo
  • Publication number: 20240078179
    Abstract: A method for efficient write-back for journal truncation is provided. A method includes maintaining a journal in a memory of a computing system including a plurality of records. Each record indicates a transaction associated with one or more pages in an ordered data structure and maintaining a dirty list including an entry for each page indicated by a record in the journal. Each entry in the dirty list includes a respective first log sequence number (LSN) associated with a least recent record of the plurality of records that indicates the page and a respective second LSN associated with a most recent record of the plurality of records that indicates the page. The method includes determining to truncate the journal. The method includes identifying one or more records, of the plurality of records, from the journal to write back to a disk, where the identifying is based on the dirty list.
    Type: Application
    Filed: September 1, 2022
    Publication date: March 7, 2024
    Inventors: Jiaqi ZUO, Junlong Gao, Wenguang Wang, Eric Knauft, Hardik Singh Negi
  • Publication number: 20240078010
    Abstract: A method for efficient journal truncation is provided. A method for journal truncation includes maintaining a journal in a memory of a computing system including a plurality of records. Each record indicates a transaction in an ordered data structure. The method includes maintaining a truncation queue in the memory including one or more entries. Each entry in the truncation queue includes a physical on-disk offset associated with a different record of the plurality of records. The method includes determining to truncate the journal and truncating records, of the plurality of records, from the journal starting from a beginning record in the journal up to the record with the physical on-disk offset associated a least recent entry of the one or more entries in the truncation queue, where the truncating includes removing the records from the memory.
    Type: Application
    Filed: September 1, 2022
    Publication date: March 7, 2024
    Inventors: Wenguang WANG, Jiaqi Zuo, Hardik Singh Negi, Eric Knauft, Junlong Gao
  • Publication number: 20240070080
    Abstract: The disclosure describes growing a data cache using a background hash bucket growth process. A first memory portion is allocated to the data buffer of the data cache and a second memory portion is allocated to the metadata buffer of the data cache based on the cache growth instruction. The quantity of hash buckets in the hash bucket buffer is increased and the background hash bucket growth process is initiated, wherein the process is configured to rehash hash bucket entries of the hash bucket buffer in the increased quantity of hash buckets. A data entry is stored in the data buffer using the allocated first memory portion of the data cache and metadata associated with the data entry is stored using the allocated second memory portion of the metadata buffer, wherein a hash bucket entry associated with the data entry is stored in the increased quantity of hash buckets.
    Type: Application
    Filed: August 31, 2022
    Publication date: February 29, 2024
    Inventors: Wenguang WANG, Yanxing PAN, Junlong GAO, Mounesh BADIGER, Eric KNAUFT, Vamsidhar GUNTURU
  • Patent number: 11907161
    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: Grant
    Filed: July 2, 2021
    Date of Patent: February 20, 2024
    Assignee: VMware, Inc.
    Inventors: Asit Desai, Abhay Kumar Jain, Wenguang Wang, Eric Knauft, Enning Xiang
  • Patent number: 11847033
    Abstract: System and method for managing distributed storage objects for host unavailability in a distributed storage system uses at least one of a crash indicator in a specific on-disk block and a paused object indicator for a distributed storage object to determine whether to perform data recovery for the distributed storage object. When the crash indicator is set or the paused object indicator implies that the distributed storage object is a paused object, the distributed storage object is left as a paused object without perform the data recovery for the distributed storage object. When the crash indicator is unset and the paused object indicator implies that the distributed storage object is not a paused object, the data recovery for the distributed storage object is performed.
    Type: Grant
    Filed: August 28, 2022
    Date of Patent: December 19, 2023
    Assignee: VMWARE, INC.
    Inventors: Junlong Gao, Kevin Rayfeng Li, Wenguang Wang, Eric Knauft, Pascal Renauld, Quanxing Liu, Satish Pudi
  • Patent number: 11803469
    Abstract: The disclosure herein describes storing data using a capacity data storage tier and a smaller performance data storage tier. The capacity data storage tier includes capacity data storage hardware configured to store log-structured leaf pages (LLPs), and the performance data storage tier includes performance data storage hardware. A virtual address table (VAT) includes a set of virtual address entries referencing the LLPs. A tree-structured index includes index nodes referencing the set of virtual address entries of the VAT. Data to be stored is received, and at least a first portion of metadata associated with the received data is stored in the LLPs using the VAT, and at least a second portion of metadata associated with the received data is stored in the performance data storage tier. The architecture reduces space usage of the performance data storage tier.
    Type: Grant
    Filed: August 24, 2021
    Date of Patent: October 31, 2023
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Long Yang, Maxime Austruy, Matthew B. Amdur, Eric Knauft
  • Publication number: 20230281180
    Abstract: A method for modifying key-value pairs of a B+ tree is provided. The method receives a request to modify a particular key-value pair. Each node of the tree has a modification number. The method traverses a path on the tree from the root node toward the particular node. The traversing includes upon reaching a parent node of the path, acquiring a shared lock on both the parent node and a child node one level below the parent node. Upon determining that the child node is the particular node, the method stores the modification number of the particular node, releases the shared lock on the particular node, compares a current modification number of the node with its stored number, and acquires an exclusive lock on the node if the numbers are the same. The method increments the current modification number of the node and modifies it while in the exclusive lock.
    Type: Application
    Filed: May 8, 2023
    Publication date: September 7, 2023
    Inventors: Hardik Singh NEGI, Wenguang WANG, Eric KNAUFT
  • Publication number: 20230281167
    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.
    Type: Application
    Filed: May 9, 2023
    Publication date: September 7, 2023
    Inventors: Enning XIANG, Eric KNAUFT, Pascal RENAULD, Yiqi XU, Pratik DESAI, Yizhou LUO
  • Patent number: 11748139
    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.
    Type: Grant
    Filed: August 21, 2020
    Date of Patent: September 5, 2023
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft, Pascal Renauld, Matt Amdur, Blake Lewis, Peng Mi
  • Patent number: 11729113
    Abstract: Embodiments of the disclosure provide techniques for partitioning a resource object into multiple resource components of a cluster of host computer nodes in a distributed resources system. The distributed resources system translates high-level policy requirements into a resource configuration that the system accommodates. The system determines an allocation based on the policy requirements and identifies resource configurations that are available. Upon selecting a resource configuration, the distributed resources system assigns the allocation and associated values to the selected configuration and publishes the new configuration to other host computer nodes in the cluster.
    Type: Grant
    Filed: May 13, 2021
    Date of Patent: August 15, 2023
    Assignee: VMware, Inc.
    Inventors: Christos Karamanolis, William Earl, Eric Knauft, Pascal Renauld
  • Patent number: 11681661
    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.
    Type: Grant
    Filed: November 27, 2020
    Date of Patent: June 20, 2023
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Eric Knauft, Pascal Renauld, Yiqi Xu, Pratik Desai, Yizhou Luo
  • Patent number: 11663186
    Abstract: A method for modifying key-value pairs of a B+ tree is provided. The method receives a request to modify a particular key-value pair. Each node of the tree has a modification number. The method traverses a path on the tree from the root node toward the particular node. The traversing includes upon reaching a parent node of the path, acquiring a shared lock on both the parent node and a child node one level below the parent node. Upon determining that the child node is the particular node, the method stores the modification number of the particular node, releases the shared lock on the particular node, compares a current modification number of the node with its stored number, and acquires an exclusive lock on the node if the numbers are the same. The method increments the current modification number of the node and modifies it while in the exclusive lock.
    Type: Grant
    Filed: February 17, 2021
    Date of Patent: May 30, 2023
    Assignee: VMware, Inc.
    Inventors: Hardik Singh Negi, Wenguang Wang, Eric Knauft
  • Patent number: 11663098
    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: Grant
    Filed: July 15, 2021
    Date of Patent: May 30, 2023
    Assignee: VMware, Inc.
    Inventors: Yiqi Xu, Eric Knauft, Enning Xiang, Ojan Thornycroft, Asit Desai, Varun Shah
  • 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
  • Patent number: 11625370
    Abstract: Techniques for reducing data log recovery time and metadata write amplification when checkpointing a data log of a storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can determine whether the data log has reached a first threshold size, where the data log comprises a plurality of data log records, and where each data log record includes data and metadata for a write request directed to the storage object. If the data log has reached the first threshold size, the node can copy, from each of the plurality of data log records, the metadata for the write request to a corresponding metadata log entry in a metadata log of the storage object. The node can then truncate the data log by removing the plurality of data log records.
    Type: Grant
    Filed: April 7, 2020
    Date of Patent: April 11, 2023
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft
  • Publication number: 20230064693
    Abstract: The disclosure herein describes storing data using a capacity data storage tier and a smaller performance data storage tier. The capacity data storage tier includes capacity data storage hardware configured to store log-structured leaf pages (LLPs), and the performance data storage tier includes performance data storage hardware. A virtual address table (VAT) includes a set of virtual address entries referencing the LLPs. A tree-structured index includes index nodes referencing the set of virtual address entries of the VAT. Data to be stored is received, and at least a first portion of metadata associated with the received data is stored in the LLPs using the VAT, and at least a second portion of metadata associated with the received data is stored in the performance data storage tier. The architecture reduces space usage of the performance data storage tier.
    Type: Application
    Filed: August 24, 2021
    Publication date: March 2, 2023
    Inventors: Wenguang WANG, Long YANG, Maxime AUSTRUY, Matthew B. AMDUR, Eric KNAUFT
  • 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: 11573711
    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.
    Type: Grant
    Filed: March 23, 2020
    Date of Patent: February 7, 2023
    Assignee: VMware, Inc.
    Inventors: Wenguang Wang, Eric Knauft, Vamsi Gunturu, Pascal Renauld