Patents by Inventor Wenguang Wang
Wenguang Wang 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: 20250145492Abstract: Provided are a cathode material for sodium-ion batteries, a preparation method therefor, and an application thereof, and the preparation method comprises the following steps: (1) mixing a nickel source, a manganese source, and a magnesium source to obtain a ternary salt solution, adding the ternary salt solution, a precipitating agent, a complexing agent, a boron source solution, and an organic additive to a reaction vessel in parallel flow, and performing a reaction to obtain a B-doped radially-packed hydroxide precursor; and (2) mixing the B-doped radially-packed hydroxide precursor obtained in step (1) with a sodium source, and performing sintering treatment to obtain the cathode material for sodium-ion batteries.Type: ApplicationFiled: April 10, 2023Publication date: May 8, 2025Inventors: Kaihua XU, Kun ZHANG, Zhaojian SUN, Cong LI, Wenguang WANG
-
Publication number: 20250147201Abstract: A quantitative simulation method for contributions of three origin of overpressure in sandstone is provided. Analytical testing data, well logging data, geological data, seismic data, and the like are collected and collated. A formation pressure characteristic of sandstone of a target horizon is analyzed and a burial history and a thermal history of the sandstone of the target horizon is reconstructed. An undercompacted pore pressure evolution history and an undercompacted hydrocarbon generation pressurized pore pressure evolution history, and a total pore pressure evolution history is quantitatively simulated. A quantitative analysis is performed on contributions of three origin of overpressure: quantitatively analyzing contributions of undercompaction, pressurization by hydrocarbon generation, and other origin to overpressure according to Ptotal=Punderc+Phydrog and Ptotal=Punderc+Phydrog+Ptotal to obtain overpressure evolution mechanisms of three origins.Type: ApplicationFiled: October 10, 2024Publication date: May 8, 2025Inventors: Wenguang WANG, Chengyan LIN, Xiaofei FU, Min WANG, Yan ZHANG, Huiting HU, Haixue WANG, Chao LIU, Shansi TIAN, Jinfeng ZHANG, Likai CUI, Zhida LIU, Yerejiepu HABULASHENMU
-
Publication number: 20250117133Abstract: Components of a distributed data object are synchronized using streamlined tracking metadata. A target component of the distributed data object is detected as it becomes available and stale. A source component that is up-to-date and that mirrors the address space of the detected target component is identified. A set of mapped address ranges and a set of unmapped address ranges of the identified source component are obtained. A mapped address range of the target component that corresponds with an unmapped address range of the source component is identified. The identified mapped address range of the target component is then synchronized with the corresponding unmapped address range of the source component. Thus, unmapped address ranges are synchronized without using tracking metadata of the source component.Type: ApplicationFiled: October 21, 2024Publication date: April 10, 2025Inventors: Wenguang WANG, Eric KNAUFT, Sudheer THOKALA
-
Patent number: 12271298Abstract: The disclosure herein describes deduplicating data chunks using chunk objects. A batch of data chunks is obtained from an original data object and a hash value is calculated for each data chunk. A first duplicate data chunk is identified using the hash value and a hash map. A chunk logical block address (LBA) of a chunk object is assigned to the duplicate data chunk. Payload data of the duplicate data chunk is migrated from the original data object to the chunk object, and a chunk map is updated to map the chunk LBA to a physical sector address (PSA) of the migrated payload data on the chunk object. A hash entry is updated to map to the chunk object and the chunk LBA. An address map of the original data object is updated to map an LBA of the duplicate data chunk to the chunk object and the chunk LBA.Type: GrantFiled: June 13, 2023Date of Patent: April 8, 2025Assignee: VMware LLCInventors: Enning Xiang, Wenguang Wang, Yifan Wang
-
Publication number: 20250103231Abstract: The disclosure herein describes converting a disk cluster to a different format. A format conversion instruction associated with a disk cluster is received. A first subgroup of disks of the disk cluster that are the emptiest disks of the disk cluster are identified and all data is evacuated from the first subgroup of disks to other disks of the disk cluster. The first subgroup of disks is reformatted based on the received format conversion instruction. A group of data objects stored in the disk cluster is converted based on the format conversion instruction and the converted group of data objects are written to the reformatted first subgroup of disks. The process iterates through the disks of the disk cluster to reformat all disks and convert all data objects based on the received format conversion instruction. The process reduces the write operations required to convert the format of the disk cluster.Type: ApplicationFiled: September 21, 2023Publication date: March 27, 2025Inventors: Ruiling Dou, Tao Xie, Zongliang Li, Asit Desai, Wenguang Wang, Litao Xia
-
Patent number: 12260105Abstract: The disclosure herein describes converting a disk cluster to a different format. A format conversion instruction associated with a disk cluster is received. A first subgroup of disks of the disk cluster that are the emptiest disks of the disk cluster are identified and all data is evacuated from the first subgroup of disks to other disks of the disk cluster. The first subgroup of disks is reformatted based on the received format conversion instruction. A group of data objects stored in the disk cluster is converted based on the format conversion instruction and the converted group of data objects are written to the reformatted first subgroup of disks. The process iterates through the disks of the disk cluster to reformat all disks and convert all data objects based on the received format conversion instruction. The process reduces the write operations required to convert the format of the disk cluster.Type: GrantFiled: September 21, 2023Date of Patent: March 25, 2025Assignee: VMware LLCInventors: Ruiling Dou, Tao Xie, Zongliang Li, Asit Desai, Wenguang Wang, Litao Xia
-
Publication number: 20250094401Abstract: A system manages a log-structured file system (LFS) by: receiving an input/output (I/O) operation for the LFS, the I/O operation prompting a key to be added to a first node of a tree metadata structure, the tree mapping addresses in a first address space to addresses in a second address space; determining that addition of the key to the first node would exceed a maximum number of keys allowed in the first node; adding a second node to the tree based on the determining, the second node containing the key; moving a quantity of keys from the first node to the second node such that a total number of keys resulting in the second node is less than half of the maximum number of keys, minus one, configured to be stored in nodes of the LFS; and writing updates to the tree metadata structure within the LFS.Type: ApplicationFiled: September 18, 2023Publication date: March 20, 2025Inventors: Quanxing LIU, Wenguang WANG, Eric KNAUFT, Enning XIANG, Salit GAZIT, Satish PUDI
-
Publication number: 20250086140Abstract: Workload-responsive distributed segment cleaning of log structured filesystems (LFSs) is disclosed. When multiple independent LFSs overlap on spanning a set of storage disks (including non-volatile memory express storage), a global segment cleaner (GSC) for each disk coordinates the cleaning rates of the local segment cleaners (LSCs) for each LFS having a presence on that disk. LFSs send usage information to relevant GSCs that select usage thresholds to trigger cleaning and cleaning rates. When capacity fullness (e.g., segments having at least one used block) meets a threshold, segment cleaning is performed at a rate based on capacity fullness and an equilibrium cleaning rate. Cleaning rates speed up when storage is more full, to provide capacity for burst writing events, but slow down when less full, to reduce overhead burden. LFSs clean at the highest rate identified for every GSC's usage threshold an LFS meets.Type: ApplicationFiled: September 12, 2023Publication date: March 13, 2025Inventors: Eric Knauft, Sriram Patil, Wenguang Wang, Abhay Kumar Jain, Maxime Austruy
-
Publication number: 20250086143Abstract: Workload-responsive segment cleaning of log structured filesystems (LFSs) is disclosed. When multiple independent LFSs overlap on spanning a set of storage disks (including non-volatile memory express storage), a global segment cleaner (GSC) for each disk coordinates the cleaning rates of the local segment cleaners (LSCs) for each LFS having a presence on that disk. LFSs send usage information to relevant GSCs that select usage thresholds to trigger cleaning and cleaning rates. When capacity fullness (e.g., segments having at least one used block) meets a threshold, segment cleaning is performed at a rate based on capacity fullness and an equilibrium cleaning rate. Cleaning rates speed up when storage is more full, to provide capacity for burst writing events, but slow down when less full, to reduce overhead burden. LFSs clean at the highest rate identified for every GSC's usage threshold an LFS meets.Type: ApplicationFiled: September 12, 2023Publication date: March 13, 2025Inventors: Eric Knauft, Sriram Patil, Wenguang Wang, Abhay Kumar Jain, Maxime Austruy
-
Patent number: 12248797Abstract: 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: GrantFiled: June 14, 2021Date of Patent: March 11, 2025Assignee: VMware LLCInventors: Enning Xiang, Wenguang Wang
-
Publication number: 20250038958Abstract: Aspects of the disclosure generate independent encryption keys for objects (e.g., virtual machine disks (VMDKs)) without requiring the management of multiple keys. An encryption manager obtains a primary encryption key, an object identifier (ID) comprising a globally unique ID (GUID) for an object, a data salt comprising the object ID and a data salt string, and a metadata salt comprising the object ID and a metadata salt string. A data encryption key is generated using the primary encryption key, the data salt, and a one-way function. A metadata encryption key is generated using the primary encryption key, the metadata salt, and the one-way function. Because the data salt string and metadata salt string differ, the data encryption and metadata encryption keys differ. Object IDs for different objects differ, so each object and its metadata have globally unique keys. Key generation (other than the primary key) is deterministic, simplifying key management.Type: ApplicationFiled: July 24, 2023Publication date: January 30, 2025Inventors: Abhay Kumar JAIN, Long YANG, Wenguang WANG, Chandrakanth GADHIRAJU
-
Patent number: 12212474Abstract: The present disclosure relates to bootstrapping an encrypted single node VSAN cluster. One method includes receiving a request to create an encrypted VSAN cluster from a single host in a software-defined datacenter, deploying a virtual server on a VSAN datastore of the software-defined datacenter, registering a native key provider (NKP) in the virtual server, creating an empty VSAN cluster encrypted by the NKP, adding the single host to the encrypted empty cluster to create a one-host encrypted cluster, registering a KMIP KMS in the virtual server, switching encryption of the one-host encrypted cluster from the NKP to the KMIP KMS, and adding another host to the one-host encrypted cluster to create the encrypted cluster.Type: GrantFiled: September 28, 2022Date of Patent: January 28, 2025Assignee: VMware LLCInventors: Tao Xie, Ruiling Dou, Wenguang Wang, Zongliang Li, Zhao Jin
-
Publication number: 20250028679Abstract: An example method of managing a log-structured file system (LFS) on a storage device includes: receiving, at storage software executing on a host, an operation that overwrites a data block, the data block included in a segment of the LFS; determining from first metadata stored on the storage device, a change in utilization of the segment from a first utilization value to a second utilization value; modifying second metadata stored on the storage device to change a relation between the segment and a first bucket to be a relation between the segment and a second bucket, the first utilization value included in a range of the first bucket and the second utilization value included in a range of the second bucket; and executing a garbage collection process for the LFS that uses the second metadata to identify for garbage collection a set of segments in the second bucket.Type: ApplicationFiled: July 20, 2023Publication date: January 23, 2025Inventors: Maxime AUSTRUY, Eric KNAUFT, Sriram PATIL, Abhay Kumar JAIN, Wenguang WANG
-
Patent number: 12189574Abstract: 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: GrantFiled: October 19, 2021Date of Patent: January 7, 2025Assignee: VMware LLCInventors: Enning Xiang, Wenguang Wang, Abhay Kumar Jain, Sriram Patil, Asit Desai, Eric Knauft
-
Publication number: 20240419583Abstract: The disclosure herein describes deduplicating data chunks using chunk objects. A batch of data chunks is obtained from an original data object and a hash value is calculated for each data chunk. A first duplicate data chunk is identified using the hash value and a hash map. A chunk logical block address (LBA) of a chunk object is assigned to the duplicate data chunk. Payload data of the duplicate data chunk is migrated from the original data object to the chunk object, and a chunk map is updated to map the chunk LBA to a physical sector address (PSA) of the migrated payload data on the chunk object. A hash entry is updated to map to the chunk object and the chunk LBA. An address map of the original data object is updated to map an LBA of the duplicate data chunk to the chunk object and the chunk LBA.Type: ApplicationFiled: June 13, 2023Publication date: December 19, 2024Inventors: Enning XIANG, Wenguang WANG, Yifan WANG
-
Publication number: 20240419350Abstract: Chunks of data are identified and deduplication is performed on the chunks of data using associated cyclic redundancy check (CRC) values. A plurality of CRC values is obtained that is associated with consecutive data blocks stored in a payload data store. Cut point CRC values are identified in the plurality of CRC values and CRC chunks are identified based on those cut point CRC values, wherein each CRC chunk is bounded by two consecutive cut point CRC values. A CRC chunk hash value is generated for each CRC chunk. A pair of duplicate CRC chunks is identified using the CRC chunk hash values and a deduplication operation is performed in association with the identified pair of duplicate CRC chunks. Using existing CRC values during the identification of chunk cut points reduces the computing resource costs associated with performing that process using the data blocks.Type: ApplicationFiled: June 13, 2023Publication date: December 19, 2024Inventors: Abhay Kumar JAIN, Wenguang WANG, Enning XIANG
-
Publication number: 20240411697Abstract: The disclosure herein describes managing write requests in a multi-layer data store using prefetch threads. Prefetch requests received at the multi-layer data store are added to a prefetch request queue. A first prefetch thread obtains a first prefetch request and a second prefetch thread obtains a second prefetch request from the prefetch request queue. A memory cache is updated with first metadata of the first prefetch request by the first prefetch thread and with second metadata of the second prefetch request by the second prefetch thread, in parallel. After the memory cache is updated, a data bank in memory reaches a flush threshold and data in the data bank is written to a second data store, wherein the first metadata and second metadata in the memory cache are used to update a metadata structure with respect to the data written to the second data store.Type: ApplicationFiled: June 6, 2023Publication date: December 12, 2024Inventors: Wenguang WANG, Quanxing LIU, Matthew B. AMDUR, Pascal RENAULD, Eric KNAUFT
-
Patent number: 12141063Abstract: 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: GrantFiled: September 1, 2022Date of Patent: November 12, 2024Assignee: VMware LLCInventors: Jiaqi Zuo, Junlong Gao, Wenguang Wang, Eric Knauft, Hardik Singh Negi
-
Patent number: 12131021Abstract: 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: GrantFiled: September 1, 2022Date of Patent: October 29, 2024Assignee: VMware LLCInventors: Wenguang Wang, Jiaqi Zuo, Hardik Singh Negi, Eric Knauft, Junlong Gao
-
Patent number: 12130791Abstract: 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: May 8, 2023Date of Patent: October 29, 2024Assignee: VMware LLCInventors: Hardik Singh Negi, Wenguang Wang, Eric Knauft