Dynamic spare storage allocation by creating logical volumes from unused space allocated for user data of a raid storage

US10635344B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10635344-B2
Application numberUS-201615139374-A
CountryUS
Kind codeB2
Filing dateApr 27, 2016
Priority dateApr 27, 2016
Publication dateApr 28, 2020
Grant dateApr 28, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • Saving storage space on storage systems · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • G06F3/0631Primary

    by allocating resources to storage systems · CPC title

  • G06F3/0653Primary

    Monitoring storage devices or systems · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10635344B2 cover?
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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0631. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 28 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).