-
1.
公开(公告)号:US11599554B2
公开(公告)日:2023-03-07
申请号:US16888527
申请日:2020-05-29
Applicant: VMware, Inc.
Inventor: Enning Xiang , Pascal Renauld , Sandeep Rangaswamy , Xin Li , Yiqi Xu , Venkata Ramanan
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.
-
公开(公告)号:US11093471B2
公开(公告)日:2021-08-17
申请号:US16000142
申请日:2018-06-05
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Richard P. Spillane , Robert T. Johnson , Wenguang Wang , Kapil Chowksey , Jorge Guerra Delgado , Sandeep Rangaswamy , Srinath Premachandran
Abstract: Embodiments herein are directed towards systems and methods for performing range lookups in Bε-trees. One example method involves receiving a request to return key-value pairs within a range of keys from the Bε-tree. The Bε-tree includes a plurality of nodes, each node being associated with a buffer that stores key-value pairs. The method further involves determining a fractional size of the range of keys. The method further involves, for each level of the Bε-tree, obtaining from within one or more buffers of one or more nodes of the level, a set of key-value pairs within the range of keys up to a size equal to the fractional size and transferring the set of key-value pairs to a result data structure. The method further involves sorting and merging all key-value pairs in the result data structure and returning the result data structure in response to the request.
-
公开(公告)号:US20200151268A1
公开(公告)日:2020-05-14
申请号:US16184861
申请日:2018-11-08
Applicant: VMware, Inc.
Inventor: Robert T. Johnson , Abhishek Gupta , Jorge Guerra Delgado , Ittai Abraham , Richard P. Spillane , Srinath Premachandran , Sandeep Rangaswamy , Kapil Chowksey
IPC: G06F17/30
Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. When a compaction trigger condition exists, packet compaction is performed including a data element compaction operation. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.
-
公开(公告)号:US20170199674A1
公开(公告)日:2017-07-13
申请号:US14993827
申请日:2016-01-12
Applicant: VMware, Inc.
Inventor: Jorge Guerra Delgado , Kiran Joshi , Edward J. Goggin , Srinath Premachandran , Sandeep Rangaswamy
IPC: G06F3/06
CPC classification number: G06F3/0608 , G06F3/0641 , G06F3/0665 , G06F3/0683
Abstract: Techniques for implementing data deduplication in conjunction with thick and thin provisioning of storage objects are provided. In one embodiment, a system can receive a write request directed to a storage object stored by the system and can determine whether the storage object is a thin or thick object. If the storage object is a thin object, the system can calculate a usage value by adding a total amount of physical storage space used in the system to a total amount of storage space reserved for thick storage objects in the system and further subtracting a total amount of reserved storage space for the thick storage objects that are filled with unique data. The system can then reject the write request if the usage value is not less than the total storage capacity of the system.
-
公开(公告)号:US11461027B2
公开(公告)日:2022-10-04
申请号:US15653249
申请日:2017-07-18
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Jorge Guerra Delgado , Sandeep Rangaswamy , Srinath Premachandran , Pascal Renauld
IPC: G06F16/21 , G06F3/06 , G06F16/215
Abstract: Techniques for enabling deduplication-aware load balancing in a distributed storage system are provided. In one set of embodiments, a node of the distributed storage system can receive an I/O (Input/Output) request pertaining to a data block of a storage object stored on a local storage component of the node. The node can further determine whether the I/O request requires insertion of a new entry into a deduplication hash table associated with the local storage component or deletion of an existing entry from the deduplication hash table. If the I/O request requires insertion of a new hash table entry, the node can add an identifier of the data block into a probabilistic data structure associated with the local storage component, where the probabilistic data structure is configured to maintain information regarding distinct data blocks that are likely present in the local storage component. Alternatively, if the I/O request requires deletion of an existing hash table entry, the node can remove the identifier of the data block from the probabilistic data structure.
-
公开(公告)号:US11010334B2
公开(公告)日:2021-05-18
申请号:US15947072
申请日:2018-04-06
Applicant: VMware, Inc.
Inventor: Jorge Guerra Delgado , Richard P. Spillane , Kapil Chowksey , Sandeep Rangaswamy , Abhishek Gupta , Srinath Premachandran
IPC: G06F16/11 , G06F9/455 , G06F16/188 , G06F16/22 , G06F16/23
Abstract: Embodiments described herein involve improved management of snapshots of a file system. Embodiments include copying a first root node of a first snapshot to a second snapshot, the second snapshot referencing other nodes of the first snapshot. Embodiments further include incrementing reference counts of the other nodes of the first snapshot. Embodiments further include adding a storage address of the first root node to a list. Embodiments further include, each time that a copy on write operation is performed for a node of the other nodes, adding a storage address of the node to the list and decrementing the reference count of the node. Embodiments further include iterating through the list and, for each storage address in the list, decrementing the reference count of the node corresponding to the storage address and, if the reference count of the node reaches zero, freeing storage space at the storage address.
-
公开(公告)号:US20190188098A1
公开(公告)日:2019-06-20
申请号:US15844539
申请日:2017-12-16
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Jorge Guerra Delgado , Kapil Chowksey , Sandeep Rangaswamy , Srinath Premachandran
CPC classification number: G06F11/2069 , G06F3/065 , G06F3/067 , G06F11/2082 , G06F2201/84
Abstract: The subject matter described herein is generally directed towards tracking and recovering a disk allocation state. An on-disk log of operations is maintained to describe operations performed to an in-memory partial reference count map. Upon a crash of a host computing device during a checkpoint operation to an on-disk complete reference count map, the on-disk log of operations is used to undo and then redo the operations, or just redo the operations. In this manner, a disk allocation state prior to the crash is recreated in the on-disk complete reference count map with atomicity and crash consistency.
-
公开(公告)号:US09977599B2
公开(公告)日:2018-05-22
申请号:US14993827
申请日:2016-01-12
Applicant: VMware, Inc.
Inventor: Jorge Guerra Delgado , Kiran Joshi , Edward J Goggin , Srinath Premachandran , Sandeep Rangaswamy
IPC: G06F3/06
CPC classification number: G06F3/0608 , G06F3/0641 , G06F3/0665 , G06F3/0683
Abstract: Techniques for implementing data deduplication in conjunction with thick and thin provisioning of storage objects are provided. In one embodiment, a system can receive a write request directed to a storage object stored by the system and can determine whether the storage object is a thin or thick object. If the storage object is a thin object, the system can calculate a usage value by adding a total amount of physical storage space used in the system to a total amount of storage space reserved for thick storage objects in the system and further subtracting a total amount of reserved storage space for the thick storage objects that are filled with unique data. The system can then reject the write request if the usage value is not less than the total storage capacity of the system.
-
公开(公告)号:US11836134B2
公开(公告)日:2023-12-05
申请号:US15927030
申请日:2018-03-20
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Rob T. Johnson , Srinath Premachandran , Richard P. Spillane , Sandeep Rangaswamy , Jorge Guerra Delgado , Kapil Chowksey , Wenguang Wang
IPC: G06F16/2453 , G06F9/54 , G06F16/17 , G06F16/27 , G06F16/22
CPC classification number: G06F16/24547 , G06F9/544 , G06F16/17 , G06F16/2246 , G06F16/27
Abstract: Exemplary methods, apparatuses, and systems include a file system process obtaining locks on a first node and a second node in a tree structure, with the second node being a child node of the first node. The file system process determines a quantity of child nodes of the second. While holding the locks on the first and second nodes, the file system determines whether to proactively split or merge the second node. In response to determining that the quantity of child nodes is within a first range, the file system process splits the second node. If the file system process determines that the quantity of child nodes is within a second range, the file system process merges the second node.
-
公开(公告)号:US11061881B2
公开(公告)日:2021-07-13
申请号:US16184861
申请日:2018-11-08
Applicant: VMware, Inc.
Inventor: Robert T Johnson , Abhishek Gupta , Jorge Guerra Delgado , Ittai Abraham , Richard P Spillane , Srinath Premachandran , Sandeep Rangaswamy , Kapil Chowksey
IPC: G06F16/22
Abstract: A buffer tree structure includes, at each internal node, a buffer having a compacted portion and an uncompacted portion. Insertion of data elements to the buffer tree can occur units called packets. A packet is initially stored in the uncompacted portion of a receiving node's buffer. When a compaction trigger condition exists, packet compaction is performed including a data element compaction operation. A buffer-emptying (flush) operation pushes the compacted packets to children nodes.
-
-
-
-
-
-
-
-
-