Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
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 group of physical data storage drives communicably coupled to the storage processor, the method comprising:
- generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extents, wherein each RAID extent contained in the RAID mapping table represents a single data stripe and contains indications of a plurality of drive extents for persistently storing host data written to the storage object, and wherein each drive extent comprises a contiguous region of non-volatile data storage in one of the physical data storage drives;
detecting the addition of a new physical data storage drive to the group of physical data storage drives;
in response to detecting the addition of the new physical data storage drive to the group of physical data storage drives, comparing a total number of physical data storage drives in the group of physical data storage drives to a predetermined maximum drive group size, wherein the predetermined maximum drive group size is equal to a maximum number of physical data storage drives that may be contained in the group of physical data storage drives before a level of concurrent processing available during a rebuild process becomes limited by performance of at least one resource in the data storage system other than the physical data storage drives; and
in response to detecting that the total number of physical data storage drives in the group of physical data storage drives exceeds the maximum drive group size, i) dividing the group of physical data storage drives into a plurality of partnership groups of physical data storage drives, wherein each physical data storage drive from the group of physical data storage drives is contained in only one of the partnership groups of physical data storage drives, and wherein each partnership group of physical data storage drives contains a number of physical data storage drives that is less than the maximum drive group size, and ii) dividing the RAID extents in the RAID mapping table into a plurality of RAID extent groups, wherein each one of the RAID extent groups is stored in the RAID mapping table and contains multiple RAID extents and corresponds to one of the partnership groups of physical data storage drives, and wherein the RAID extents in each RAID extent group contain indications only of drive extents that are located in physical data storage drives contained in the corresponding one of the partnership groups of physical drives.
7 Assignments
0 Petitions
Accused Products
Abstract
In response to detecting that a total number of physical data storage drives in a group of physical data storage drives exceeds a maximum drive group size, the group of physical data storage drives is divided into a multiple partnership groups, and RAID extents in a RAID mapping table are divided into multiple RAID extent groups. Each one of the RAID extent groups contains multiple RAID extents and corresponds to one of the partnership groups of physical data storage drives. The RAID extents in each RAID extent group only indicate physical data storage drives contained in the corresponding partnership group of physical data storage drives, in order to ensure that data recovery and RAID extent rebuilding after a drive failure involve only the physical data storage drives within the same partnership group as the failed physical data storage drive.
-
Citations
21 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 group of physical data storage drives communicably coupled to the storage processor, the method comprising:
-
generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extents, wherein each RAID extent contained in the RAID mapping table represents a single data stripe and contains indications of a plurality of drive extents for persistently storing host data written to the storage object, and wherein each drive extent comprises a contiguous region of non-volatile data storage in one of the physical data storage drives; detecting the addition of a new physical data storage drive to the group of physical data storage drives; in response to detecting the addition of the new physical data storage drive to the group of physical data storage drives, comparing a total number of physical data storage drives in the group of physical data storage drives to a predetermined maximum drive group size, wherein the predetermined maximum drive group size is equal to a maximum number of physical data storage drives that may be contained in the group of physical data storage drives before a level of concurrent processing available during a rebuild process becomes limited by performance of at least one resource in the data storage system other than the physical data storage drives; and in response to detecting that the total number of physical data storage drives in the group of physical data storage drives exceeds the maximum drive group size, i) dividing the group of physical data storage drives into a plurality of partnership groups of physical data storage drives, wherein each physical data storage drive from the group of physical data storage drives is contained in only one of the partnership groups of physical data storage drives, and wherein each partnership group of physical data storage drives contains a number of physical data storage drives that is less than the maximum drive group size, and ii) dividing the RAID extents in the RAID mapping table into a plurality of RAID extent groups, wherein each one of the RAID extent groups is stored in the RAID mapping table and contains multiple RAID extents and corresponds to one of the partnership groups of physical data storage drives, and wherein the RAID extents in each RAID extent group contain indications only of drive extents that are located in physical data storage drives contained in the corresponding one of the partnership groups of physical drives. - View Dependent Claims (2, 3, 4, 5, 6, 19, 20, 21)
-
-
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 data storage drives communicably coupled to the storage processor; and wherein the storage processor is configured and arranged to; generate a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extents, wherein each RAID extent contained in the RAID mapping table represents a single data stripe and contains indications of a plurality of drive extents for persistently storing host data written to the storage object, and wherein each drive extent comprises a contiguous region of non-volatile data storage in one of the physical data storage drives; detect the addition of a new physical data storage drive to the group of physical data storage drives; in response to detecting the addition of the new physical data storage drive to the group of physical data storage drives, compare a total number of physical data storage drives in the group of physical data storage drives to a predetermined maximum drive group size, wherein the predetermined maximum drive group size is equal to a maximum number of physical data storage drives that may be contained in the group of physical data storage drives before a level of concurrent processing available during a rebuild process becomes limited by performance of at least one resource in the data storage system other than the physical data storage drives; and in response to detecting that the total number of physical data storage drives in the group of physical data storage drives exceeds the maximum drive group size, i) divide the group of physical data storage drives into a plurality of partnership groups of physical data storage drives, wherein each physical data storage drive from the group of physical data storage drives is contained in only one of the partnership groups of physical data storage drives, and wherein each partnership group of physical data storage drives contains a number of physical data storage drives that is less than the maximum drive group size, and ii) divide the RAID extents in the RAID mapping table into a plurality of RAID extent groups, wherein each one of the RAID extent groups is stored in the RAID mapping table and contains multiple RAID extents and corresponds to one of the partnership groups of physical data storage drives, and wherein the RAID extents in each RAID extent group contain indications only of drive extents that are located in physical data storage drives contained in the corresponding one of the partnership groups of physical drives. - 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 RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extents, wherein each RAID extent contained in the RAID mapping table represents a single data stripe and contains indications of a plurality of drive extents for persistently storing host data written to the storage object, and wherein each drive extent comprises a contiguous region of non-volatile data storage in one of the physical data storage drives; detecting the addition of a new physical data storage drive to the group of physical data storage drives; in response to detecting the addition of the new physical data storage drive to the group of physical data storage drives, comparing a total number of physical data storage drives in the group of physical data storage drives to a predetermined maximum drive group size, wherein the predetermined maximum drive group size is equal to a maximum number of physical data storage drives that may be contained in the group of physical data storage drives before a level of concurrent processing available during a rebuild process becomes limited by performance of at least one resource in the data storage system other than the physical data storage drives; and in response to detecting that the total number of physical data storage drives in the group of physical data storage drives exceeds the maximum drive group size, i) dividing the group of physical data storage drives into a plurality of partnership groups of physical data storage drives, wherein each physical data storage drive from the group of physical data storage drives is contained in only one of the partnership groups of physical data storage drives, and wherein each partnership group of physical data storage drives contains a number of physical data storage drives that is less than the maximum drive group size, and ii) dividing the RAID extents in the RAID mapping table into a plurality of RAID extent groups, wherein each one of the RAID extent groups is stored in the RAID mapping table and contains multiple RAID extents and corresponds to one of the partnership groups of physical data storage drives, and wherein the RAID extents in each RAID extent group contains indications only of drive extents that are located in physical data storage drives contained in the corresponding one of the partnership groups of physical drives. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification