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: 20240111755Abstract: 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: ApplicationFiled: September 30, 2022Publication date: April 4, 2024Inventors: Yiqi Xu, Eric Knauft, Enning Xiang
-
Patent number: 11947827Abstract: 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: GrantFiled: May 15, 2020Date of Patent: April 2, 2024Assignee: VMware, Inc.Inventors: Eric Knauft, Enning Xiang, Mansi Shah, Pascal Renauld, Yiqi Xu, Ojan Thornycroft, Pratik Desai, Zhihao Yao, Yizhou Luo
-
Publication number: 20240078179Abstract: 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: ApplicationFiled: September 1, 2022Publication date: March 7, 2024Inventors: Jiaqi ZUO, Junlong Gao, Wenguang Wang, Eric Knauft, Hardik Singh Negi
-
Publication number: 20240078010Abstract: 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: ApplicationFiled: September 1, 2022Publication date: March 7, 2024Inventors: Wenguang WANG, Jiaqi Zuo, Hardik Singh Negi, Eric Knauft, Junlong Gao
-
Publication number: 20240070080Abstract: 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: ApplicationFiled: August 31, 2022Publication date: February 29, 2024Inventors: Wenguang WANG, Yanxing PAN, Junlong GAO, Mounesh BADIGER, Eric KNAUFT, Vamsidhar GUNTURU
-
Patent number: 11907161Abstract: 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: GrantFiled: July 2, 2021Date of Patent: February 20, 2024Assignee: VMware, Inc.Inventors: Asit Desai, Abhay Kumar Jain, Wenguang Wang, Eric Knauft, Enning Xiang
-
Patent number: 11847033Abstract: 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: GrantFiled: August 28, 2022Date of Patent: December 19, 2023Assignee: VMWARE, INC.Inventors: Junlong Gao, Kevin Rayfeng Li, Wenguang Wang, Eric Knauft, Pascal Renauld, Quanxing Liu, Satish Pudi
-
Patent number: 11803469Abstract: 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: GrantFiled: August 24, 2021Date of Patent: October 31, 2023Assignee: VMware, Inc.Inventors: Wenguang Wang, Long Yang, Maxime Austruy, Matthew B. Amdur, Eric Knauft
-
Publication number: 20230281180Abstract: 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: ApplicationFiled: May 8, 2023Publication date: September 7, 2023Inventors: Hardik Singh NEGI, Wenguang WANG, Eric KNAUFT
-
Publication number: 20230281167Abstract: 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: ApplicationFiled: May 9, 2023Publication date: September 7, 2023Inventors: Enning XIANG, Eric KNAUFT, Pascal RENAULD, Yiqi XU, Pratik DESAI, Yizhou LUO
-
Patent number: 11748139Abstract: 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: GrantFiled: August 21, 2020Date of Patent: September 5, 2023Assignee: VMware, Inc.Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft, Pascal Renauld, Matt Amdur, Blake Lewis, Peng Mi
-
Patent number: 11729113Abstract: 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: GrantFiled: May 13, 2021Date of Patent: August 15, 2023Assignee: VMware, Inc.Inventors: Christos Karamanolis, William Earl, Eric Knauft, Pascal Renauld
-
Patent number: 11681661Abstract: 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: GrantFiled: November 27, 2020Date of Patent: June 20, 2023Assignee: VMware, Inc.Inventors: Enning Xiang, Eric Knauft, Pascal Renauld, Yiqi Xu, Pratik Desai, Yizhou Luo
-
Patent number: 11663186Abstract: 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: GrantFiled: February 17, 2021Date of Patent: May 30, 2023Assignee: VMware, Inc.Inventors: Hardik Singh Negi, Wenguang Wang, Eric Knauft
-
Patent number: 11663098Abstract: 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: GrantFiled: July 15, 2021Date of Patent: May 30, 2023Assignee: VMware, Inc.Inventors: Yiqi Xu, Eric Knauft, Enning Xiang, Ojan Thornycroft, Asit Desai, Varun Shah
-
Publication number: 20230123478Abstract: 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: ApplicationFiled: October 19, 2021Publication date: April 20, 2023Applicant: VMware, Inc.Inventors: Enning XIANG, Wenguang WANG, Abhay Kumar JAIN, Sriram PATIL, Asit DESAI, Eric KNAUFT
-
Patent number: 11625370Abstract: 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: GrantFiled: April 7, 2020Date of Patent: April 11, 2023Assignee: VMware, Inc.Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft
-
Publication number: 20230064693Abstract: 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: ApplicationFiled: August 24, 2021Publication date: March 2, 2023Inventors: Wenguang WANG, Long YANG, Maxime AUSTRUY, Matthew B. AMDUR, Eric KNAUFT
-
Publication number: 20230055813Abstract: 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: ApplicationFiled: October 20, 2022Publication date: February 23, 2023Inventors: Yiqi XU, Enning XIANG, Eric KNAUFT, Pascal RENAULD
-
Patent number: 11573711Abstract: 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: GrantFiled: March 23, 2020Date of Patent: February 7, 2023Assignee: VMware, Inc.Inventors: Wenguang Wang, Eric Knauft, Vamsi Gunturu, Pascal Renauld