Fast data recovery from HDD failure
First Claim
1. A storage system comprising:
- a plurality of drives, wherein each of the plurality of drives is configured to include a plurality of parcels; and
a controller configured to;
provide a virtual volume to a host computer; and
store data into the plurality of drives by stripes, wherein each stripe includes M data and N parity data where the M and N are integers, the N parity data is calculated based on the M data for each stripe, the M data and N parity data are stored in M+N parcels of the plurality of parcels respectively, and each of the M+N parcels belongs to different M+N drives respectively,wherein the plurality of parcels include first M+N parcels including a first stripe and second M+N parcels including a second stripe,wherein a first drive of the plurality of drives includes both one of the first M+N parcels and one of the second M+N parcels, and a second drive of the plurality of drives includes either one of the first M+N parcels or one of the second M+N parcels, andwherein a plurality of pages are created on the M+N parcels, where each of the pages includes a plurality of stripes and each of the pages is allocated to the virtual volume in page unit according to a write command.
0 Assignments
0 Petitions
Accused Products
Abstract
A storage system comprises a first storage device having a first plurality of hard disk drives and a first controller. The first controller stores data in the first plurality of hard disk drives by stripes. Each stripe includes M data and N parity data allocated to M+N hard disk drives of the first plurality of hard disk drives. A first hard disk drive includes data or parity data of both a first stripe of the stripes and a second stripe of the stripes, while a second hard disk drive includes data or parity data of only one of the first stripe or the second stripe. During data recovery involving failure of one of the first plurality of hard disk drives, the data in the failed hard disk drive is recovered for each stripe by calculation using data and parity data in other hard disk drives for each stripe.
26 Citations
15 Claims
-
1. A storage system comprising:
-
a plurality of drives, wherein each of the plurality of drives is configured to include a plurality of parcels; and a controller configured to; provide a virtual volume to a host computer; and store data into the plurality of drives by stripes, wherein each stripe includes M data and N parity data where the M and N are integers, the N parity data is calculated based on the M data for each stripe, the M data and N parity data are stored in M+N parcels of the plurality of parcels respectively, and each of the M+N parcels belongs to different M+N drives respectively, wherein the plurality of parcels include first M+N parcels including a first stripe and second M+N parcels including a second stripe, wherein a first drive of the plurality of drives includes both one of the first M+N parcels and one of the second M+N parcels, and a second drive of the plurality of drives includes either one of the first M+N parcels or one of the second M+N parcels, and wherein a plurality of pages are created on the M+N parcels, where each of the pages includes a plurality of stripes and each of the pages is allocated to the virtual volume in page unit according to a write command. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage management method for a storage system, wherein the storage system has a plurality of drives and a controller, the method comprising:
-
providing a virtual volume to a host computer; dividing each of the plurality of drives into a plurality of parcels; and storing data into the plurality of drives by stripes, wherein each stripe includes M data and N parity data where the M and N are integers, the N parity data is calculated based on the M data for each stripe, the M data and N parity data are stored in M+N parcels of the plurality of parcels respectively, and each of the M+N parcels belongs to different M+N drives respectively, wherein the plurality of parcels include first M+N parcels including a first stripe and second M+N parcels including a second stripe, wherein a first drive of the plurality of drives includes both one of the first M+N parcels and one of the second M+N parcels, and a second drive of the plurality of drives includes either one of the first M+N parcels or one of the second M+N parcels, and wherein a plurality of pages are created on the M+N parcels, where each of the pages includes a plurality of stripes and each of the pages is allocated to the virtual volume in page unit. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A non-transitory computer-readable medium storing a plurality of instructions for controlling a data processor to perform storage management for a storage system, wherein the storage system has a plurality of drives and a controller, the instructions comprising:
-
instructions that cause the data processor to provide a virtual volume to a host computer; instructions that cause the data processor to divide each of the plurality of drives into a plurality of parcels; and instructions that cause the data processor to store data into the plurality of drives by stripes, wherein each stripe includes M data and N parity data where the M and N are integers, the N parity data is calculated based on the M data for each stripe, the M data and N parity data are stored in M+N parcels of the plurality of parcels respectively, and each of the M+N parcels belongs to different M+N drives respectively, wherein the plurality of parcels include first M+N parcels including a first stripe and second M+N parcels including a second stripe, wherein a first drive of the plurality of drives includes both one of the first M+N parcels and one of the second M+N parcels, and a second drive of the plurality of drives includes either one of the first M+N parcels or one of the second M+N parcels, and wherein a plurality of pages are created on the M+N parcels, where each of the pages includes a plurality of stripes and each of the pages is allocated to the virtual volume in page unit. - View Dependent Claims (14, 15)
-
Specification