Back to results
US 9,069,472 B2Granted
Method for dispersing and collating I/O's from virtual machines for parallelization of I/O access and redundancy of storing virtual machine data
AssigneeAtlantis Computing, Inc.
InventorsChetan Venkatesh, Kartikeya Iyer
Life of this patent
Estimating the term…
Abstract
Methods and systems to disperse and collate I/O from virtual machines (VMs) among a plurality of near line controllers for parallelization of I/O's (parallel reads and parallel writes) and for providing redundancy for stored VM data is disclosed.
Claims28
A method, comprising:
- configuring a non-transitory data storage medium to store a virtual aggregate including N nodes, where N is an integer that is ≧3, each node having a node block size;
- receiving data to be stored among the N nodes;
- parsing the data into M data blocks where M is an integer that is ≧1;
- performing a hashing function on each data block to generate metadata (MD) comprising a hash table that is identical for copies of the MD;
- selecting for each data block a selected node of the N nodes, wherein the selecting comprises:
- mirroring the MD in a metadata field of the selected node,
- mirroring a data payload of the data block in a mirrored data field of the selected node, and
- striping the data payload of the data block in a striped data field of one or more other nodes of the N nodes that are not the selected node;
- and
- repeating the selecting until the MD and data payloads of all the M data blocks have been mirrored and striped into at least a portion of the N nodes.
7 more elements
A non-transitory computer readable medium including instructions that, when executed by a processor, cause the processor to perform a method, comprising:
- configuring a non-transitory data storage medium to store a virtual aggregate including N nodes, where N is an integer that is >3, each node having a node block size;
- receiving data to be stored among the N nodes;
- parsing the data into M data blocks where M is an integer that is ≧1;
- performing a hashing function on each data block to generate metadata (MD) comprising a hash table that is identical for copies of the MD;
- selecting for each data block a selected node of the N nodes, wherein the selecting comprises:
- mirroring the MD in a metadata field of the selected node,
- mirroring a data payload of the data block in a mirrored data field of the selected node, and
- striping the data payload of the data block in a striped data field of one or more other nodes of the N nodes that are not the selected node;
- and
- repeating the selecting until the MD and data payloads of all the M data blocks have been mirrored and striped into at least a portion of the N nodes.
7 more elements
A system comprising:
- a memory;
- and
- a processor coupled with the memory to:
- configure a non-transitory data storage medium to store a virtual aggregate including N nodes, where N is an integer that is >3, each node having a node block size;
- receive data to be stored among the N nodes;
- parse the data into M data blocks where M is an integer that is ≧1;
- perform a hashing function on each data block to generate metadata (MD) comprising a hash table that is identical for copies of the MD;
- select for each data block a selected node of the N nodes, wherein the selection comprises:
- mirror the MD in a metadata field of the selected node,
- mirror a data payload of the data block in a mirrored data field of the selected node, and
- stripe the data payload of the data block in a striped data field of one or more other nodes of the N nodes that are not the selected node;
- and
- repeat the selection until the MD and data payloads of all the M data blocks have been mirrored and striped into at least a portion of the N nodes.
10 more elements
Dependencies are inferred from the claim text.