Accumulating i/o operations into a single combined i/o operation for implementation by an underlying storage device layer
US-2024143234-A1 · May 2, 2024 · US
US10126988B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10126988-B1 |
| Application number | US-201715662478-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jul 28, 2017 |
| Priority date | Jul 28, 2017 |
| Publication date | Nov 13, 2018 |
| Grant date | Nov 13, 2018 |
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.
Techniques are provided within a mapped RAID (Redundant Array of Independent Disks) system for assigning RAID extents to partnership groups and changing drive extent indications within RAID extents when splitting a group of storage drives into partnership groups. RAID extents are assigned to a RAID extent group corresponding to a newly created partnership group from a subset of RAID extents that contain RAID extents indicating higher total numbers of drive extents located in the physical data storage devices contained in the partnership group. When changing drive extent indications in RAID extents, new drive extents may be allocated to replace drive extents located outside of a partnership group such that a resulting variance in the values of a neighborhood matrix for the partnership group is minimized, to ensure that RAID extents are evenly distributed across the drives in the corresponding partnership group, to prevent drive rebuild performance from being compromised.
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 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 indicates a predetermined number 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 located on one of the physical storage drives; splitting the initial group of physical data storage drives into a first partnership group of physical data storage drives and a second partnership group of physical data storage drives; identifying a subset of the RAID extents in the RAID mapping table that consists of a plurality of RAID extents that each indicate a higher total number of drive extents located on the physical data storage devices contained in the first partnership group than any RAID extent 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 extents in the subset of RAID extents to the first RAID extent group; and creating a second RAID extent group corresponding the second partnership group by assigning all RAID extents in the RAID mapping table other than the RAID extents in the subset of RAID extents to the second RAID extent group. 2. The method of claim 1 , wherein identifying the subset of the RAID extents in the RAID mapping table that consists of the plurality of RAID extents that each indicate a higher total number of drive extents located in the physical data storage devices contained in the first partnership group than any RAID extent 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 extents in the RAID mapping table; calculating a total number of RAID extents 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; generating, for each RAID extent 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 that are contained in the first partnership group; generating a sorted list of RAID extents by sorting the RAID extents in descending order of corresponding first partnership group drive extent count; and selecting a number of RAID extents located at the top of the sorted list of RAID extents that is equal to the total number of RAID extents to be assigned to the first RAID extent group. 3. The method of claim 2 , further comprising modifying at least one drive extent indication in at least one of the RAID extents to reflect the splitting of the initial group of physical data 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 total number of free drive extents as the source partnership group; identifying a drive extent to be released, wherein the drive extent to be released is located on one of the physical data storage drives contained in the source partnership group and is allocated to a RAID extent in the RAID extent group corresponding to the destination partnership group; allocating a new drive extent from the free drive extents in the destination partnership group to the RAID extent in the RAID extent group corresponding to the destination partnership group; copying data stored on the drive extent to be released to the new drive extent; modifying the RAID extent in the RAID extent group corresponding to the destination partnership group to indicate the new drive extent instead of the drive extent to be released; and releasing the drive extent to be released to the free drive extents in the source partnership group. 4. The method of claim 3 , wherein allocating the new drive extent from the free drive extents in the destination partnership group includes: generating a neighborhood matrix for the destination partnership group, wherein each element in the neighborhood matrix for the destination partnership group corresponds to a pair of drives contained in the destination partnership group and stores a value equal to a total number of RAID extents in the RAID extent group corresponding to the destination partnership group that indicate both i) at least one drive extent located on a first one of the drives in the pair of drives corresponding to the element, and ii) at least one drive extent located on a second one of the drives in the pair of drives corresponding to the element; generating a list of candidate drives contained in the destination partnership group, wherein each one of the candidate drives has located thereon at least one free drive extent; assigning, to each one of the candidate drives, a variance weighting that is equal to a variance of the values of the elements in the neighborhood matrix for the destination partnership group resulting from modifying the neighborhood matrix to indicate that the new drive extent was allocated from the candidate drive; selecting one of the candidate drives having a lowest assigned variance weighting; and allocating the new drive extent from the candidate drive having the lowest assigned variance weighting. 5. The method of claim 4 , further comprising: detecting the addition of a new physical data storage drive to the data storage system; in response to detecting the addition of the new physical data storage drive to the data storage system, comparing a total number of physical data storage drives in the data storage system to a predetermined maximum drive group size; and wherein splitting the initial group of physical data storage drives into the first partnership group of physical data storage drives and the second partnership group of physical data storage drives is performed in response to detecting that the total number of physical data storage drives in the data storage system exceeds the maximum drive group size. 6. The method of claim 5 , wherein each RAID extent in the RAID mapping table indicates the same number of drive extents; wherein a minimum number of physical data storage drives required to provide RAID data protection for the storage object in the data storage system is greater than the number of drive extents indicated by each RAID extent in the RAID mapping table; and wherein the maximum drive group size is at least twice as large as the minimum number of physical data storage drives required to provide RAID data protection for the storage object in a data storage system. 7. The method claim 6 , wherein splitting the group of physical data storage drives into the first partnership group of physical data storage driv
in relation to data integrity, e.g. data losses, bit errors · CPC title
Matrix or vector computation {, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization (matrix transposition G06F7/78)} · CPC title
by allocating resources to storage systems · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.