Determining an effective capacity of a drive extent pool generated from one or more drive groups in an array of storage drives of a data storage system that uses mapped RAID (redundant array of independent disks) technology
First Claim
1. A method of providing RAID (Redundant Array of Independent Disks) data protection for at least one storage object in a data storage system, wherein the data storage system includes a storage processor and at least one group of storage drives communicably coupled to the storage processor, the method comprising:
- generating a drive extent pool from the at least one group of storage drives communicably coupled to the storage processor, wherein the drive extent pool indicates a plurality of drive extents located in the at least one group of storage drives, wherein each drive extent indicated by the drive extent pool comprises a contiguous region of non-volatile data storage located in one of the storage drives contained in the at least one group of storage drives, and wherein each drive extent has a size equal to a predetermined drive extent size;
generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry indicates a unique plurality of drive extents that are allocated from the drive extent pool to the RAID extent entry and that are used to persistently store host data written to a portion of an address space of the storage object corresponding to the RAID extent entry, and wherein each RAID extent entry indicates the same total number of drive extents; and
determining an effective capacity of the drive extent pool at least in part by;
i) generating a minimum drive count that is equal to the total number of drive extents indicated by each RAID extent entry plus one,ii) selecting a sub-group of storage drives from the group of storage drives, wherein the selected sub-group contains storage drives in the group of storage drives having individual physical capacities that are not less than the physical capacity of any storage drive not contained in the selected sub-group, and wherein a total number of storage drives contained in the selected sub-group is equal to the minimum drive count;
iii) assigning an individual effective capacity to each one of the storage drives contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives contained in the selected sub-group is equal to an individual physical capacity of a storage drive contained in the selected sub-group that has a smallest individual physical capacity of any storage drive contained in the selected sub-group,iv) assigning an individual effective capacity to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group is equal to that to the physical capacity of that storage drive,v) generating a total effective capacity of the group of storage drives that is equal to a sum of the all the individual effective capacities assigned to the storage drives in the group of storage drives, andvi) setting the effective capacity of the drive extent pool to the total effective capacity of the group of storage drives.
7 Assignments
0 Petitions
Accused Products
Abstract
Technology for determining an effective capacity of a drive extent pool that is generated from at least one group of storage drives. A sub-group of storage drives having relatively higher physical capacities is selected from the group. The number of storage drives in the sub-group is equal to a total number of drive extents indicated by each entry in a RAID mapping table. Each storage drive in the sub-group is assigned an individual effective capacity equal to an individual physical capacity of a storage drive in the sub-group having the smallest individual physical capacity. Each storage drive in the group not contained in the sub-group is assigned an individual effective capacity equal to its own physical capacity. An effective capacity of the drive extent pool is set to a sum of the all the individual effective capacities assigned to the storage drives in the group of storage drives.
-
Citations
19 Claims
-
1. A method of providing RAID (Redundant Array of Independent Disks) data protection for at least one storage object in a data storage system, wherein the data storage system includes a storage processor and at least one group of storage drives communicably coupled to the storage processor, the method comprising:
-
generating a drive extent pool from the at least one group of storage drives communicably coupled to the storage processor, wherein the drive extent pool indicates a plurality of drive extents located in the at least one group of storage drives, wherein each drive extent indicated by the drive extent pool comprises a contiguous region of non-volatile data storage located in one of the storage drives contained in the at least one group of storage drives, and wherein each drive extent has a size equal to a predetermined drive extent size; generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry indicates a unique plurality of drive extents that are allocated from the drive extent pool to the RAID extent entry and that are used to persistently store host data written to a portion of an address space of the storage object corresponding to the RAID extent entry, and wherein each RAID extent entry indicates the same total number of drive extents; and determining an effective capacity of the drive extent pool at least in part by; i) generating a minimum drive count that is equal to the total number of drive extents indicated by each RAID extent entry plus one, ii) selecting a sub-group of storage drives from the group of storage drives, wherein the selected sub-group contains storage drives in the group of storage drives having individual physical capacities that are not less than the physical capacity of any storage drive not contained in the selected sub-group, and wherein a total number of storage drives contained in the selected sub-group is equal to the minimum drive count; iii) assigning an individual effective capacity to each one of the storage drives contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives contained in the selected sub-group is equal to an individual physical capacity of a storage drive contained in the selected sub-group that has a smallest individual physical capacity of any storage drive contained in the selected sub-group, iv) assigning an individual effective capacity to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group is equal to that to the physical capacity of that storage drive, v) generating a total effective capacity of the group of storage drives that is equal to a sum of the all the individual effective capacities assigned to the storage drives in the group of storage drives, and vi) setting the effective capacity of the drive extent pool to the total effective capacity of the group of storage drives. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A data storage system that provides RAID (Redundant Array of Independent Disks) data protection for at least one storage object, comprising:
-
at least one storage processor including processing circuitry and a memory; at least one group of storage drives communicably coupled to the storage processor; and wherein the storage processor is configured and arranged to; generate a drive extent pool from the at least one group of storage drives communicably coupled to the storage processor, wherein the drive extent pool indicates a plurality of drive extents located in the at least one group of storage drives, wherein each drive extent indicated by the drive extent pool comprises a contiguous region of non-volatile data storage located in one of the storage drives contained in the at least one group of storage drives, and wherein each drive extent has a size equal to a predetermined drive extent size; generate a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry indicates a unique plurality of drive extents that are allocated from the drive extent pool to the RAID extent entry and that are used to persistently store host data written to a portion of an address space of the storage object corresponding to the RAID extent entry, and wherein each RAID extent entry indicates the same total number of drive extents; and Wherein to determine an effective capacity of the drive extent pool the storage processor is configured and arranged to; i) generate a minimum drive count that is equal to the total number of drive extents indicated by each RAID extent entry plus one, ii) select a sub-group of storage drives from the group of storage drives, wherein the selected sub-group contains storage drives in the group of storage drives having individual physical capacities that are not less than the physical capacity of any storage drive not contained in the selected sub-group, and wherein a total number of storage drives contained in the selected sub-group is equal to the minimum drive count; iii) assign an individual effective capacity to each one of the storage drives contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives contained in the selected sub-group is equal to an individual physical capacity of a storage drive contained in the selected sub-group that has a smallest individual physical capacity of any storage drive contained in the selected sub-group, iv) assign an individual effective capacity to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group is equal to that to the physical capacity of that storage drive, v) generate a total effective capacity of the group of storage drives that is equal to a sum of the all the individual effective capacities assigned to the storage drives in the group of storage drives, and vi) set the effective capacity of the drive extent pool to the total effective capacity of the group of storage drives. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable medium for providing RAID (Redundant Array of Independent Disks) data protection for at least one storage object, comprising instructions stored thereon, that when executed on processing circuitry in a storage processor, perform the steps of:
-
generating a drive extent pool from the at least one group of storage drives communicably coupled to the storage processor, wherein the drive extent pool indicates a plurality of drive extents located in the at least one group of storage drives, wherein each drive extent indicated by the drive extent pool comprises a contiguous region of non-volatile data storage located in one of the storage drives contained in the at least one group of storage drives, and wherein each drive extent has a size equal to a predetermined drive extent size; generating a RAID mapping table, wherein the RAID mapping table contains a plurality of RAID extent entries, wherein each RAID extent entry indicates a unique plurality of drive extents that are allocated from the drive extent pool to the RAID extent entry and that are used to persistently store host data written to a portion of an address space of the storage object corresponding to the RAID extent entry, and wherein each RAID extent entry indicates the same total number of drive extents; and determining an effective capacity of the drive extent pool at least in part by; i) generating a minimum drive count that is equal to the total number of drive extents indicated by each RAID extent entry plus one, ii) selecting a sub-group of storage drives from the group of storage drives, wherein the selected sub-group contains storage drives in the group of storage drives having individual physical capacities that are not less than the physical capacity of any storage drive not contained in the selected sub-group, and wherein a total number of storage drives contained in the selected sub-group is equal to the minimum drive count, iii) assigning an individual effective capacity to each one of the storage drives contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives contained in the selected sub-group is equal to an individual physical capacity of a storage drive contained in the selected sub-group that has a smallest individual physical capacity of any storage drive contained in the selected sub-group, iv) assigning an individual effective capacity to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group, wherein the individual effective capacity assigned to each one of the storage drives in the group of storage drives that is not contained in the selected sub-group is equal to that to the physical capacity of that storage drive, v) generating a total effective capacity of the group of storage drives that is equal to a sum of the all the individual effective capacities assigned to the storage drives in the group of storage drives, and vi) setting the effective capacity of the drive extent pool to the total effective capacity of the group of storage drives.
-
Specification