Method and system for storing data
AssigneeHewlett-Packard Development Company, L.P.
InventorSrikanth Ananthamurthy
Life of this patent
Estimating the term…
Abstract
The present invention relates to methods for storing data and relates to a method for storing a plurality of stripes across a plurality of disks; wherein each stripe is comprised of a plurality of segments, wherein each segment is comprised of a first data chunk, a second data chunk, and a parity chunk being the parity of the first and second data chunks, and wherein all the chunks within a segment are stored on separate disks. In a preferred embodiment, each stripe includes at least one spare chunk.
Claims38
A method for storing a plurality of stripes across a plurality of disks;
- wherein each stripe is comprised of a plurality of segments, wherein each segment is comprised of a first data chunk, a second data chunk, and a parity chunk being the parity of the first and second data chunks, and wherein all the chunks within a segment are stored on separate disks.
A method as claimed in 2 wherein each stripe includes at least one spare chunk.
A method of storing a plurality of stripes across a plurality of disks, wherein each stripe is comprised of a plurality of data chunks, a parity chunk which is the parity of all the data chunks, and a mirror of one of the data chunks, and wherein all the chunks within a stripe are stored on separate disks.
A method as claimed in 11 wherein the data chunk that is mirrored is the data chunk which is most recently accessed within the stripe.
A method as claimed in 11 wherein the data chunk that is mirrored is the data chunk which is consecutively accessed in the stripe a specified number of times.
A system for storing data, including:
- a processor arranged for storing a data chunk within a segment on a disk, calculating a parity chunk for the data chunk and a second data chunk within the segment, and storing the parity chunk in the segment on a disk;
- and
- a plurality of disks arranged for storing a plurality of stripes, each stripe including a plurality of segments, each segment including two data chunks and a parity chunk;
- wherein all the chunks within a segment are stored on separate disks.
A system as claimed in 19 wherein each stripe also includes at least one spare chunk.
A system as claimed in 20 wherein each disk contains at least one spare chunk.
A system as claimed in 22 wherein the parity chunks of the segments are distributed evenly across the three disks.
A system for storing data, including:
- a processor arranged for storing a plurality of data chunks within a stripe on a disk, calculating a parity chunk for all the data chunks within the stripe, storing the parity chunk within the stripe on a disk, selecting one of the data chunks to be mirrored, and storing the selected data chunk within the stripe on a disk;
- and
- a plurality of disks arranged for storing a plurality of stripes, each stripe including a plurality of data chunks, a parity chunk, and a mirror of one of the data chunks;
- wherein all the chunks within a stripe are stored on separate disks.
A system as claimed in 27 wherein the data chunk is selected on the basis of being the data chunk consecutively accessed within the stripe a specified number of times.
Computer software for storing data, including:
- a module arranged for storing a data chunk within a segment on a disk, calculating a parity chunk for the data chunk and a second data chunk within the segment, and storing the parity chunk in the segment on a disk;
- wherein the segment is one of a plurality of segments all stored within one of a plurality of stripes across a plurality of disks and wherein all the chunks within a segment are stored on separate disks.
Computer software for storing data, including:
- a module arranged for storing a plurality of data chunks within a stripe on a disk, calculating a parity chunk for all the data chunks within the stripe, storing the parity chunk within the stripe on a disk, selecting one of the data chunks to be mirrored, and storing the selected data chunk within the stripe on a disk;
- wherein all the chunks within the stripe are stored on separate disks.
Dependencies are inferred from the claim text.