Storing raid data as encoded data slices in a dispersed storage network
AssigneeCleversafe, Inc.
InventorsGary W. Grube, Timothy W. Markison
Life of this patent
Estimating the term…
Abstract
A method begins by a processing module receiving data for storage and interpreting the data to identify the data as redundant array of independent disks (RAID) data. The method continues with the processing module interpreting the RAID data to identify at least one of RAID block data and RAID parity data. When the RAID data includes RAID block data and RAID parity data the method continues with the processing module encoding the RAID block data in accordance with error coding dispersal storage function parameters to produce at least one set of encoded data slices and outputting the at least one set of encoded data slices to a dispersed storage network memory.
Claims16
A method for a computer of a dispersed storage network to convert data stored in a redundant array of independent disks (RAID) format into data in a dispersed storage error encoded format, the method comprises:
- receiving the data for storage;
- interpreting the data to identify sets of RAID data blocks and corresponding RAID parity blocks;
- and
- for a set of RAID data blocks and a corresponding RAID parity block:
- converting format of the data from the RAID format to the dispersed storage error encoded format by:
- reconstructing a portion of the data from the at least some of the RAID data blocks of the set of RAID data blocks and, when needed, the corresponding RAID parity block;
- generating a data matrix of the portion of the data;
- generating a set of encoded data slices by encoding the data matrix using an encoding matrix in accordance with error coding dispersal storage function parameters, wherein the set of encoded data slices includes a total number of encoded data slices, wherein the portion of the data is recoverable from a threshold number of encoded data slices of the set of encoded data slices, and wherein the threshold number is at least two less than the total number;
- and
- outputting the set of encoded data slices to a set of storage units of a dispersed storage network (DSN) memory for storage therein.
A method for a computer of a dispersed storage network to read data that is stored in a dispersed storage error encoded format as data having a redundant array of independent disks (RAID) format, the method comprises:
- receiving a data retrieval request;
- determining whether the data retrieval request is a redundant array of independent disks (RAID) data retrieval request or an error coding dispersed storage request;
- when the data retrieval request is the RAID data retrieval request, converting the data retrieval request into the error coding dispersed storage request to retrieve a threshold number of encoded data slices of a set of encoded data slices, wherein the set of encoded data slices includes a total number of encoded data slices, wherein the data is recoverable from the threshold number of encoded data slices, and wherein the threshold number is at least two less than the total number;
- decoding the threshold number set of encoded data slices in accordance with error coding dispersal storage function parameters to produce the data;
- interpreting the data to determine whether the data represents a stripe of RAID data or a stripe-block of RAID data, wherein a stripe of RAID data includes a set of RAID data blocks and a corresponding RAID parity block and the stripe-block of RAID data includes the set of data blocks;
- and
- when the data represents the stripe of RAID data:
- generating the corresponding RAID parity block from the set of RAID data blocks;
- and
- outputting the set of RAID data blocks and the corresponding RAID parity block.
A computer comprises:
- an interface;
- a memory;
- and
- a processing module operably coupled to the interface and the memory, wherein the processing module is operable to:
- receive, via the interface, the data for storage;
- interpret the data to identify sets of RAID data blocks and corresponding RAID parity blocks;
- and
- for a set of RAID data blocks and a corresponding RAID parity block:
- convert format of the data from the RAID format to the dispersed storage error encoded format by:
- reconstructing a portion of the data from the at least some of the RAID data blocks of the set of RAID data blocks and, when needed, the corresponding RAID parity block;
- generating a data matrix of the portion of the data;
- generating a set of encoded data slices by encoding the data matrix using an encoding matrix in accordance with error coding dispersal storage function parameters, wherein the set of encoded data slices includes a total number of encoded data slices, wherein the portion of the data is recoverable from a threshold number of encoded data slices of the set of encoded data slices, and wherein the threshold number is at least two less than the total number;
- and
- output, via the interface, the set of encoded data slices to a set of storage units of a dispersed storage network (DSN) memory for storage therein.
A computer comprises:
- an interface;
- a memory;
- and
- a processing module operably coupled to the interface and the memory, wherein the processing module is operable to:
- receive, via the interface, a data retrieval request;
- determine whether the data retrieval request is a redundant array of independent disks (RAID) data retrieval request or an error coding dispersed storage request;
- when the data retrieval request is the RAID data retrieval request, converting the data retrieval request into the error coding dispersed storage request to retrieve, via the interface, a threshold number of encoded data slices of a set of encoded data slices, wherein the set of encoded data slices includes a total number of encoded data slices, wherein the data is recoverable from the threshold number of encoded data slices, and wherein the threshold number is at least two less than the total number;
- decode the threshold number set of encoded data slices in accordance with error coding dispersal storage function parameters to produce the data;
- interpret the data to determine whether the data represents a stripe of RAID data or a stripe-block of RAID data, wherein a stripe of RAID data includes a set of RAID data blocks and a corresponding RAID parity block and the stripe-block of RAID data includes the set of data blocks;
- and
- when the data represents the stripe of data:
- generate the corresponding RAID parity block from the set of RAID data blocks;
- and
- output the set of RAID data blocks and the corresponding RAID parity block.
Dependencies are inferred from the claim text.