Providing Raid-10 with a configurable Raid width using a mapped raid group
First Claim
1. A method of providing RAID (Redundant Array of Independent Disks) data protection for a storage object in a data storage system, wherein the data storage system includes a storage processor and a set of physical drives communicably coupled to the storage processor, the method comprising:
- generating a mapped RAID group, wherein the mapped RAID group contains a plurality of RAID extents, wherein each RAID extent contained in the mapped RAID group is configured and arranged to indicate a plurality of drive extents that are used to store data directed to the RAID extent, and wherein each drive extent comprises a contiguous region of non-volatile data storage in the physical drives;
dividing the mapped RAID group into equal size subsets of the RAID extents in the mapped RAID group;
for each one of the subsets of the RAID extents in the mapped RAID group, allocating drive extents from a drive extent pool such that each drive extent indicated by the RAID extents in the subset is allocated from a different one of the physical drives; and
performing logical block rotation between the storage object and the mapped RAID group, wherein the logical block rotation causes data written to consecutive blocks of the storage object address space to be directed to different ones of the RAID extents in the mapped RAID group.
8 Assignments
0 Petitions
Accused Products
Abstract
A mapped RAID group is generated that contains multiple RAID extents, and each one of the RAID extents is configured and arranged to indicate multiple drive extents that are each a contiguous region of non-volatile data storage in a physical drive. The RAID extents are divided into equal size subsets based on a requested RAID width. Drive extents are allocated from a drive extent pool such that the drive extents indicated by RAID extents contained in the same subset are all allocated from different ones of the physical drives. Logical block rotation is performed between the storage object and the mapped RAID group, causing host data written to consecutive blocks of the storage object address space to be directed to different ones of the RAID extents in the mapped RAID group. Data mirroring is performed between drive extents contained within each of the individual RAID extents of the RAID group.
31 Citations
18 Claims
-
1. A method of providing RAID (Redundant Array of Independent Disks) data protection for a storage object in a data storage system, wherein the data storage system includes a storage processor and a set of physical drives communicably coupled to the storage processor, the method comprising:
-
generating a mapped RAID group, wherein the mapped RAID group contains a plurality of RAID extents, wherein each RAID extent contained in the mapped RAID group is configured and arranged to indicate a plurality of drive extents that are used to store data directed to the RAID extent, and wherein each drive extent comprises a contiguous region of non-volatile data storage in the physical drives; dividing the mapped RAID group into equal size subsets of the RAID extents in the mapped RAID group; for each one of the subsets of the RAID extents in the mapped RAID group, allocating drive extents from a drive extent pool such that each drive extent indicated by the RAID extents in the subset is allocated from a different one of the physical drives; and performing logical block rotation between the storage object and the mapped RAID group, wherein the logical block rotation causes data written to consecutive blocks of the storage object address space to be directed to different ones of the RAID extents in the mapped RAID group. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A data storage system that provides RAID (Redundant Array of Independent Disks) data protection for a storage object, comprising:
-
at least one storage processor including processing circuitry and a memory; a set of physical drives communicably coupled to the storage processor; and wherein the storage processor is configured and arranged to; generate a mapped RAID group, wherein the mapped RAID group contains a plurality of RAID extents, wherein each RAID extent contained in the mapped RAID group is configured and arranged to indicate a plurality of drive extents that are used to store data directed to the RAID extent, and wherein each drive extent comprises a contiguous region of non-volatile data storage in the physical drives, divide the mapped RAID group into equal size subsets of the RAID extents in the mapped RAID group, for each one of the subsets of the RAID extents in the mapped RAID group, allocate drive extents from a drive extent pool such that each drive extent indicated by the RAID extents in the subset is allocated from a different one of the physical drives, and perform logical block rotation between the storage object and the mapped RAID group, wherein the logical block rotation causes data written to consecutive blocks of the storage object address space to be directed to different ones of the RAID extents in the mapped RAID group. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product, comprising:
a non-transitory computer readable medium storing program code for providing RAID (Redundant Array of Independent Disks) data protection for a storage object in a data storage system, wherein the data storage system includes a storage processor and a set of non-volatile data storage devices communicably coupled to the storage processor, the set of instructions, when carried out by at least one processor in the storage processor, causing the storage processor to perform a method of; generating a mapped RAID group, wherein the mapped RAID group contains a plurality of RAID extents, wherein each RAID extent contained in the mapped RAID group is configured and arranged to indicate a plurality of drive extents that are used to store data directed to the RAID extent, and wherein each drive extent comprises a contiguous region of non-volatile data storage in the physical drives; dividing the mapped RAID group into equal size subsets of the RAID extents in the mapped RAID group; for each one of the subsets of the RAID extents in the mapped RAID group, allocating drive extents from a drive extent pool such that each drive extent indicated by the RAID extents in the subset is allocated from a different one of the physical drives; and performing logical block rotation between the storage object and the mapped RAID group, wherein the logical block rotation causes data written to consecutive blocks of the storage object address space to be directed to different ones of the RAID extents in the mapped RAID group. - View Dependent Claims (14, 15, 16, 17, 18)
Specification