Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system
US-10126988-B1 · Nov 13, 2018 · US
US10296252B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10296252-B1 |
| Application number | US-201815888155-A |
| Country | US |
| Kind code | B1 |
| Filing date | Feb 5, 2018 |
| Priority date | Jan 31, 2018 |
| Publication date | May 21, 2019 |
| Grant date | May 21, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A mapped RAID system that reduces drive extent allocation changes when splitting a group of storage drives into a first partnership group and a second partnership group. A first drive is assigned to the first partnership group, and then additional drives are assigned to the first partnership group from the unassigned drives, such that each drive assigned to the first partnership group has a lowest movement count of all unassigned drives. A drive's movement count represents a count of drive extent allocations that must be changed if the drive is added to the first partnership group. After each drive is assigned to the first partnership group, the indication of the drive is removed from the list of unassigned drives. A group of RAID extent entries for the first partnership group consists of RAID extent entries indicating relatively higher total numbers of drive extents located in the first partnership group.
Opening claim text (preview).
What is claimed is: 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 an initial group of 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 extent entries, wherein each RAID extent entry indicates a plurality of drive extents that are allocated 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 drive extent comprises a contiguous region of non-volatile data storage located on one of the storage drives in the initial group of storage drives; splitting the initial group of storage drives into a first partnership group and a second partnership group, such that the RAID extent entries to which drive extents located in storage drives contained in the first partnership group are allocated only indicate drive extents located in the storage drives contained in the first partnership group, and such that RAID extent entries to which drive extents located in storage drives contained in the second partnership group are allocated only indicate drive extents located in the storage drives contained in the second partnership group, at least in part by: i) adding an indication of each storage drive in the initial group of storage drives to a list of unassigned storage drives, ii) assigning an initial storage drive to the first partnership group, wherein assigning the initial storage drive to the first partnership group includes removing the indication of the initial storage drive from the list of unassigned storage drives, iii) assigning a plurality of additional storage drives to the first partnership group, wherein assigning each individual one of the additional storage drives to the first partnership group includes a) determining a movement count for each storage drive indicated in the list of unassigned storage drives, the movement count representing a number of drive extent allocations that must be changed in the event that the storage drive is added to the first partnership group, b) determining a storage drive indicated in the list of unassigned storage drives that has a lowest movement count, c) assigning, to the first partnership group, the storage drive indicated in the list of unassigned storage drives that has the lowest movement count, and d) updating the list of unassigned storage drives by removing, from the list of unassigned storage drives, the indication of the storage drive indicated in the list of unassigned storage drives that has the lowest movement count, and iv) assigning those storage drives indicated in the list of unassigned storage drives after the plurality of additional storage drives has been added to the first partnership group to the second partnership group. 2. The method of claim 1 , wherein determining the movement count for each storage drive indicated in the list of unassigned storage drives further comprises: identifying all RAID extent entries in the RAID mapping table that indicate a drive extent that is located in the storage drive; for each RAID extent entry in the RAID mapping table that indicates a drive extent that is located in the storage drive, generating an external drive count that is equal to a total number of disk extents indicated by that RAID extent entry that are not located in either i) the storage drive, or ii) a storage drive previously assigned to the first partnership group; and generating the movement count for the storage drive by summing the external drive counts for all the RAID extent entries in the RAID mapping table that indicate a drive extent that is located in the storage drive. 3. The method of claim 2 , wherein splitting the initial group of storage drives into the first partnership group and the second partnership group further comprises: determining a first partnership group size that is equal to one half of a total number storage drives contained in the initial group of storage drives; and wherein assigning the plurality of additional storage drives to the first partnership group further comprises assigning additional storage drives to the first partnership group until a total number of storage drives assigned to the first partnership group is equal to the first partnership group size. 4. The method of claim 3 , wherein splitting the initial group of storage drives into the first partnership group and the second partnership group further comprises: identifying a subset of the RAID extent entries in the RAID mapping table that consists of a plurality of RAID extent entries that each indicate a higher total number of drive extents located on the storage drives contained in the first partnership group than any RAID extent entry in the RAID mapping table not included in the subset; creating a first RAID extent group corresponding to the first partnership group by assigning the RAID extent entries in the subset of RAID extent entries to the first RAID extent group; and creating a second RAID extent group corresponding the second partnership group by assigning all RAID extent entries in the RAID mapping table other than the RAID extents in the subset of RAID extent entries to the second RAID extent group. 5. The method of claim 4 , wherein identifying the subset of the RAID extent entries in the RAID mapping table that consists of the plurality of RAID extent entries that each indicate a higher total number of drive extents located in the storage drives contained in the first partnership group than any RAID extent entry in the RAID mapping table not included in the subset comprises: calculating a total capacity of the first partnership group, wherein the total capacity of the first partnership group comprises a total number of disk extents allocated from the first partnership group to RAID extent entries in the RAID mapping table; calculating a total number of RAID extent entries to be assigned to the first RAID extent group that is equal to the total capacity of the first partnership group divided by the number of drive extents indicated by each RAID extent entry; generating, for each RAID extent entry in the RAID mapping table, a corresponding first partnership group drive extent count equal to a total number of drive extents indicated by the RAID extent entry that are contained in the first partnership group; generating a sorted list of RAID extent entries by sorting the RAID extent entries in descending order of corresponding first partnership group drive extent count; and selecting a number of RAID extent entries located at the top of the sorted list of RAID extent entries that is equal to the total number of RAID extent entries to be assigned to the first RAID extent group. 6. The method of claim 5 , further comprising modifying at least one drive extent indication in at least one of the RAID extent entries to reflect the splitting of the initial group of storage drives into the first partnership group and the second partnership group by: selecting, from among the first partnership group and the second partnership group, a destination partnership group and a source partnership group, by i) comparing a total number of free drive extents in the first partnership group to a total number of free drive extents in the second partnership group, ii) selecting the one of the first partnership group and the second partnership group having a larger total number of free drive extents as the destination partnership group, and iii) selecting the one of the first partnership group and the second partnership group having a smaller tot
Disk arrays, e.g. RAID, JBOD · CPC title
in relation to throughput · CPC title
Improving I/O performance · CPC title
Management of blocks · CPC title
in relation to response time · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.