-
公开(公告)号:US10581602B2
公开(公告)日:2020-03-03
申请号:US15866185
申请日:2018-01-09
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Xin Li , Haoran Zheng , Eric Knauft , Jin Zhang , Pascal Renauld , Bryan Fink
Abstract: A multi-tenant storage system can store clear text data and associated clear text checksum received from a storage tenant using their associated cryptographic key (“cryptokey”). When the clear text data is compressible, cryptographic data (“cryptodata”) is generated from a concatenation of the clear text checksum and compressed clear text data using the cryptokey. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. When the clear text data is uncompressible, cryptographic data (“cryptodata”) is generated by encrypting the clear text data using the cryptokey with an extra verification step to make sure the clear text checksum can be rebuilt during the read request. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. The cryptodata and associated cryptochecksum are stored in the multi-tenant storage system, so that repairs to damaged cryptodata can be made using the associated cryptochecksum.
-
公开(公告)号:US10419498B2
公开(公告)日:2019-09-17
申请号:US14956284
申请日:2015-12-01
Applicant: VMware, Inc.
Inventor: Eric Knauft , Luke Lu , Wenguang Wang , Pascal Renauld , Radu Berinde , Ruocheng Li
Abstract: Examples perform input/output (I/O) requests, issued by a plurality of clients to an owner-node, in a virtual storage area network (vSAN) environment. I/O requests are guaranteed, as all I/O requests are performed during non-overlapping, exclusive sessions between one client at a time and the owner node. The owner node rejects requests for simultaneous sessions, and duplicate sessions are prevented by requiring that a client refresh its memory state after termination of a previous session.
-
公开(公告)号:US10365852B2
公开(公告)日:2019-07-30
申请号:US15223337
申请日:2016-07-29
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld
IPC: G06F3/06
Abstract: Systems and techniques are described for transferring data. A described technique includes determining that a first replica of an object stored at a first host has become available to a distributed storage system after previously being unavailable to the distributed storage system. The object includes a range of memory addresses at which data of the object is stored. In response to determining that the first replica has become available, resyncing data for the first replica is obtained. The resyncing data indicates whether each range of memory addresses is synchronized at the first replica with other replicas of the object. Tracking data for the first replica is obtained. The tracking data indicates whether data stored at the range of memory addresses of the object has been modified at a second replica while the first replica was unavailable. The resyncing data is updated based on the tracking data.
-
公开(公告)号:US20180032257A1
公开(公告)日:2018-02-01
申请号:US15223337
申请日:2016-07-29
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld
IPC: G06F3/06
CPC classification number: G06F3/065 , G06F3/0617 , G06F3/0619 , G06F3/067
Abstract: Systems and techniques are described for transferring data. A described technique includes determining that a first replica of an object stored at a first host has become available to a distributed storage system after previously being unavailable to the distributed storage system. The object includes a range of memory addresses at which data of the object is stored. In response to determining that the first replica has become available, resyncing data for the first replica is obtained. The resyncing data indicates whether each range of memory addresses is synchronized at the first replica with other replicas of the object. Tracking data for the first replica is obtained. The tracking data indicates whether data stored at the range of memory addresses of the object has been modified at a second replica while the first replica was unavailable. The resyncing data is updated based on the tracking data.
-
公开(公告)号:US20180004593A1
公开(公告)日:2018-01-04
申请号:US15199128
申请日:2016-06-30
Applicant: VMware, Inc.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld , Xin Li
CPC classification number: G06F11/1004 , G06F3/0619 , G06F3/064 , G06F3/0683
Abstract: Systems and techniques are described for transferring data. A described technique includes receiving a request to transmit a data block from a first data storage device to a second data storage device. An attempt to read the data block from the first data storage device is made. A media error resulting from the attempt to read the data block from the first data storage device is detected. In response to detecting the media error, a new data block is generated and includes mismatched checksum data that causes a checksum mismatched error when the new data block is accessed. The new data block is transmitted for storage at the second data storage device in place of the data block.
-
公开(公告)号:US09830234B2
公开(公告)日:2017-11-28
申请号:US14469526
申请日:2014-08-26
Applicant: VMware, Inc.
Inventor: William Earl , Christos Karamanolis , Eric Knauft , Pascal Renauld
CPC classification number: G06F11/1471 , G06F17/30171 , G06F17/30191 , G06F17/30371 , G06F2009/45579 , H04L67/1097
Abstract: Embodiments of the disclosure provide techniques for updating a distributed transaction log on a previously offline resource object component using distributed transaction logs from active host computer nodes from separate RAID mirror configurations. Each component object maintains a journal (log) where distributed transactions are recorded. If a component object goes offline and subsequently returns (e.g., if the node hosting the component object reboots), the component object is marked as stale. To return the component object to an active state, a distributed resources module retrieves the journals from other resource component objects from other RAID configurations where the data is mirrored. The module filters corresponding data that is missing in the journal of the previously offline corresponding object and merges the filtered data to the journal.
-
公开(公告)号:US20240111755A1
公开(公告)日:2024-04-04
申请号:US17957941
申请日:2022-09-30
Applicant: VMware, Inc.
Inventor: Yiqi Xu , Eric Knauft , Enning Xiang
CPC classification number: G06F16/2379 , G06F13/1668 , G06F16/2308
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.
-
公开(公告)号:US20240078179A1
公开(公告)日:2024-03-07
申请号:US17929197
申请日:2022-09-01
Applicant: VMware, Inc.
Inventor: Jiaqi ZUO , Junlong Gao , Wenguang Wang , Eric Knauft , Hardik Singh Negi
IPC: G06F12/0804 , G06F12/0882
CPC classification number: G06F12/0804 , G06F12/0882
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.
-
公开(公告)号:US11681661B2
公开(公告)日:2023-06-20
申请号:US17106037
申请日:2020-11-27
Applicant: VMWARE, INC.
Inventor: Enning Xiang , Eric Knauft , Pascal Renauld , Yiqi Xu , Pratik Desai , Yizhou Luo
IPC: G06F16/00 , G06F16/178 , G06F16/11 , G06F16/176 , G06F3/06 , G06F16/182 , G06F16/188
CPC classification number: G06F16/178 , G06F3/0604 , G06F3/065 , G06F3/067 , G06F16/125 , G06F16/128 , G06F16/1767 , G06F16/188 , G06F16/1824 , G06F16/1844
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.
-
30.
公开(公告)号:US11334277B2
公开(公告)日:2022-05-17
申请号:US16842649
申请日:2020-04-07
Applicant: VMware, Inc.
Inventor: Wenguang Wang , Vamsi Gunturu , Eric Knauft , Pascal Renauld
IPC: G06F3/06
Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.
-
-
-
-
-
-
-
-
-