-
公开(公告)号: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.
-
公开(公告)号:US10977143B2
公开(公告)日:2021-04-13
申请号:US15844412
申请日:2017-12-15
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Richard P. Spillane , Kapil Chowksey , Rob Johnson , Wenguang Wang
Abstract: Data storage system and method for managing transaction requests to the data storage system utilizes an active write ahead log and a standby write ahead log to apply the transaction requests to a storage data structure stored in a storage system of the data storage system.
-
公开(公告)号:US20190108104A1
公开(公告)日:2019-04-11
申请号:US15727211
申请日:2017-10-06
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Richard P. Spillane , Kapil Chowksey , Rob Johnson , Wenguang Wang
CPC classification number: G06F11/1471 , G06F11/1474 , G06F16/2246 , G06F16/2358 , G06F2201/825 , G06F2201/87
Abstract: Data storage system and method for managing transaction requests to the data storage system utilizes a write ahead log to write transaction requests received at the data storage system during a current checkpoint generation. After the transaction requests in the write ahead log are applied to a copy-on-write (COW) storage data structure stored in a storage system, one of first and second allocation bitmaps is updated to reflect changes in the COW storage data structure with respect to allocation of storage space in the storage system, and one of first and second super blocks is updated with references to central nodes of the COW storage data structure. After the allocation bitmap and the super block have been updated, an end indicator for the current checkpoint generation is written in the write ahead log to indicate that processing of the transaction requests for the current checkpoint generation has been completed.
-
公开(公告)号: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.
-
公开(公告)号:US10649959B2
公开(公告)日:2020-05-12
申请号:US15717613
申请日:2017-09-27
Applicant: VMware, Inc.
Inventor: Abhishek Gupta , Richard P Spillane , Kapil Chowksey , Wenguang Wang , Robert T Johnson
Abstract: A Bε-tree associated with a file system on a storage volume includes a hierarchy of nodes. Each node includes a buffer portion that can be characterized by a fixed maximum allowable size to store key-value pairs as messages in the buffer. Messages can be initially buffered in the root node of the Bε-tree, and flushed to descendent children from the root node. Messages stored in the buffers can be indexed using a B+-tree data structure. As the B+-tree data structure in a buffer grows (due to receiving flushed messages) and shrinks (due to messages being flushed), disk blocks can be allocated from the storage volume to increase the actual size of the buffer and deallocated from the buffer to reduce the actual size of the buffer.
-
8.
公开(公告)号:US10592530B2
公开(公告)日:2020-03-17
申请号:US15878341
申请日:2018-01-23
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Abhishek Gupta , Kapil Chowksey , Richard P. Spillane , Rob Johnson
Abstract: Data storage system and method for managing transaction requests in the data storage system utilizes prepare requests for a transaction request for multiple data storage operations. The prepare requests are sent to selected destination storage nodes of the data storage system to handle the multiple data storage operations. Each prepare request includes at least one of the multiple data storage operations to be handled by a particular destination data store node and a list of the destination storage nodes involved in the transaction request.
-
公开(公告)号:US11093450B2
公开(公告)日:2021-08-17
申请号:US15717704
申请日:2017-09-27
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Abhishek Gupta , Richard P Spillane , Kapil Chowksey , Robert T Johnson
Abstract: A Bε-tree associated with a file system on a storage volume includes a hierarchy of nodes. Each node includes a buffer portion to store key-value pairs as messages in the buffer. Each node can be characterized by having a maximum allowable size that is periodically updated at run time. The buffers in the nodes of the Bε-tree are therefore characterized by having a maximum allowed size that can vary over time.
-
公开(公告)号: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.
-
-
-
-
-
-
-
-
-