Redundant array of independent disks level 5 (RAID 5) with a mirroring functionality
AssigneeLSI Corporation
InventorsRanjan Kumar, Preeti Badampudi, Shivprasad Prajapati
Life of this patent
Estimating the term…
Abstract
A redundant array of independent disks level 5 (RAID 5) with a mirroring functionality is disclosed. In one embodiment, a method for adding a mirroring functionality to a RAID 5 includes forming an array using at least three drives for storing data, creating multiple data blocks and a parity for the multiple data blocks based on the data for every (2N−1)th stripe of the array, and generating a mirror image of the multiple data blocks and the parity for the multiple data blocks for every (2N−1)th stripe to its respective 2Nth stripe of the array, where the N is an integer starting from 1.
Claims16
A method for adding a mirroring functionality to a RAID 5, comprising:
- forming an array using at least three drives for storing data;
- creating a plurality of data blocks and a parity for the plurality of data blocks based on the data for every (2N−1)th stripe of the array, wherein every (2N−1)th stripe is associated with a succeeding 2Nth stripe as its respective 2Nth stripe;
- generating a mirror image of the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe to its respective 2Nth stripe of the array, wherein the N comprises an integer starting from 1, wherein the generating the mirror image of the plurality of data blocks and the parity comprises shifting each of the plurality of data blocks and the parity for the plurality of data blocks in every 2Nth stripe by one drive from the (2N−1)th stripe;
- and
- recovering lost data based on the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe and its respective 2Nth stripe of operational drives of the RAID 5 if the RAID 5 comprises a single failed drive.
A non-transitory computer readable medium for adding a mirroring functionality to a RAID 5 having instructions that, when executed by a computer, cause the computer to perform a method comprising:
- forming an array using at least three drives for storing data;
- creating a plurality of data blocks and a parity for the plurality of data blocks based on the data for every (2N−1)th stripe of the array, wherein every (2N−1)th stripe is associated with a succeeding 2Nth stripe as its respective 2Nth stripe;
- generating a mirror image of the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe to its respective 2Nth stripe of the array, wherein the N comprises an integer starting from 1, wherein the generating the mirror image of the plurality of data blocks and the parity comprises shifting each of the plurality of data blocks and the parity for the plurality of data blocks in every 2Nth stripe by one drive from the (2N−1)th stripe;
- and
- recovering lost data based on the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe and its respective 2Nth stripe of operational drives of the RAID 5 if the RAID 5 comprises a single failed drive.
A RAID controller including hardware and coupled to a host central processing unit (CPU) for adding a mirroring functionality to a RAID 5 by performing a method comprising:
- forming an array using at least three drives for storing data;
- creating a plurality of data blocks and a parity for the plurality of data blocks based on the data for every (2N−1)th stripe of the array, wherein every (2N−1)th stripe is associated with a succeeding 2Nth stripe as its respective 2Nth stripe;
- generating a mirror image of the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe to its respective 2Nth stripe of the array, wherein the N comprises an integer starting from 1, wherein the generating the mirror image of the plurality of data blocks and the parity comprises shifting each of the plurality of data blocks and the parity for the plurality of data blocks in every 2Nth stripe by one drive from the (2N−1)th stripe;
- and
- recovering lost data based on the plurality of data blocks and the parity for the plurality of data blocks for every (2N−1)th stripe and its respective 2Nth stripe of operational drives of the RAID 5 if the RAID 5 comprises a single failed drive.
Dependencies are inferred from the claim text.