Managing data placement in storage systems
US-10082959-B1 · Sep 25, 2018 · US
US10635344B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10635344-B2 |
| Application number | US-201615139374-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 27, 2016 |
| Priority date | Apr 27, 2016 |
| Publication date | Apr 28, 2020 |
| Grant date | Apr 28, 2020 |
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 storage drive array with available storage space for user data with storage capacity in the array allocated to distributed spare space. The distributed spare space spreads portions of a spare drive across multiple storage drives in the array. By monitoring the amount of spare space available in the array, a determination may be whether the amount of spare space falls below a threshold number of drives. If there is un-used space in the available storage space which is greater than one drive of space, a drive of space to spare space may be dynamically re-allocated in a distributed pattern across the drives of the array.
Opening claim text (preview).
What is claimed is: 1. A computer program product for dynamic spare storage allocation, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to: provide a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising: a first portion of used space storing user data; a second portion of unused space available for storing the user data; and a third portion of spare space providing redundancy to the first RAID 6 array; wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives; wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives; wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives; determine that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives; in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determine that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives; in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and in response to migrating the user data, reduce each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increase each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 2. The computer program product of claim 1 , the program instructions further configured to cause the processor to: receive notification from the first RAID 6 array of a new maximum allowed logical block address in the form of the first RAID 6 array's previous maximum allowed logical block address less a size of the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 3. The computer program product of claim 1 , the program instructions further configured to cause the processor to: receive notification from the first RAID 6 array of a new array size in the form of the first RAID 6 array's previous size less a size of the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 4. The computer program product of claim 1 , the program instructions further configured to cause the processor to: receive notification from the first RAID 6 array of designated logical block addresses greater than a new maximum allowed logical block address being new spare space. 5. A method for dynamic spare storage allocation, the method comprising: providing a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising: a first portion of used space storing user data; a second portion of unused space available for storing the user data; and a third portion of spare space providing redundancy to the first RAID 6 array; wherein a first cumulative amount of used space storing the user data in the first RAID 6 array includes each of the first portion of used space storing the user data of the first number of disk drives; wherein a second cumulative amount of unused space available for storing the user data in the first RAID 6 array includes each of the second portion of unused space available for storing the user data of the first number of disk drives; wherein a third cumulative amount of spare space providing redundancy to the first RAID 6 array in the first RAID 6 array includes each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives; determining that the third cumulative amount of spare space falls below two disk drives selected from the first number of disk drives; in response to determining that the third cumulative amount of spare space falls below the two disk drives selected from the first number of disk drives, determining that the second cumulative amount of unused space is greater than one disk drive selected from the first number of disk drives; in response to determining that the second cumulative amount of unused space is greater than the one disk drive selected from the first number of disk drives, migrating the user data within each of the first number of disk drives to re-allocate locations of the second portion of unused space in each of the first number of disk drives; and in response to migrating the user data, reducing each of the second portion of unused space available for storing the user data of the first number of disk drives by a first amount and increasing each of the third portion of spare space providing redundancy to the first RAID 6 array of the first number of disk drives by the first amount, wherein the first amount is equal to the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 6. The method of claim 5 , further comprising: receiving notification from the first RAID 6 array of a new maximum allowed logical block address in the form of the first RAID 6 array's previous maximum allowed logical block address less a size of the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 7. The method of claim 5 , further comprising: receiving notification from the first RAID 6 array of a new array size in the form of the first RAID 6 array's previous size less a size of the one disk drive selected from the first number of disk drives divided by the first number of disk drives. 8. The method of claim 5 , further comprising: receiving notification from the first RAID 6 array of designated logical block addresses greater than a new maximum allowed logical block address being new spare space. 9. The method of claim 5 , wherein the method is implemented as a service in a cloud environment. 10. A system for dynamic spare storage allocation, the system comprising: a processor; and a computer-readable storage medium storing program instructions which, when executed by the processor, are configured to cause the processor to perform a method comprising: providing a storage array comprising a first redundant array of independent disks (RAID) 6 array, the first RAID 6 array having a first number of disk drives, each disk drive of the first number of disk drives having a storage space comprising: a first portion of used space stori
Saving storage space on storage systems · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
by allocating resources to storage systems · CPC title
Monitoring storage devices or systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.