Mapping storage extents into resiliency groups

US11023147B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11023147-B2
Application numberUS-201916598585-A
CountryUS
Kind codeB2
Filing dateOct 10, 2019
Priority dateOct 10, 2019
Publication dateJun 1, 2021
Grant dateJun 1, 2021

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.

Techniques for mapping large storage extents (“ubers”) into storage drive groups (“resiliency groups”) in a data storage system. The techniques can include, as the capacity of storage drives included in a first resiliency group is used up, forming a second resiliency group with one or more new storage drives. The disclosed techniques can further include allocating one or more storage drives from the first resiliency group to the second resiliency group to satisfy a requirement of a predetermined RAID storage configuration, and performing a reduced number of data movement operations to assure that data slices of one or more ubers initially assigned to the first resiliency group are allocated to storage drives in the same first or second resiliency group. In this way, data storage systems can be made to support a desired storage drive expansion with a reduced number of new storage drives.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of mapping ubers into resiliency groups in a data storage system, comprising: as a capacity of storage drives allocated to a first resiliency group is used up, forming an additional second resiliency group with one or more new storage drives; reallocating one or more of the storage drives from the first resiliency group to the second resiliency group to satisfy a requirement of a predetermined redundant array of independent disks (RAID) storage configuration, the reallocating of the storage drives causing data slices of one or more ubers to be distributed among storage drives in the first resiliency group and the second resiliency group; performing a minimal number of data movement operations to move the data slices of each of the one or more ubers distributed among the storage drives in the first resiliency group and the second resiliency group to the same first or second resiliency group; having reallocated the storage drives from the first resiliency group to the second resiliency group, determining, for each respective uber among the one or more ubers distributed in the first and second resiliency group, a first number of data slices of the respective uber that are allocated to storage drives in the first resiliency group and a second number of data slices of the respective uber that are allocated to storage drives in the second resiliency group; and for each respective uber among the one or more ubers distributed in the first and second resiliency group, determining a maximum number among the first number and the second number of data slices of the respective uber. 2. The method of claim 1 further comprising: having performed the minimal number of data movement operations to move the data slices of the respective ubers to the same first or second resiliency group, forming one or more sub-groups of storage drives in each of the first resiliency group and the second resiliency group, each sub-group of storage drives being arranged in the predetermined RAID storage configuration. 3. The method of claim 1 further comprising: having determined the maximum number of the data slices of the respective uber, obtaining an available storage capacity of a respective resiliency group among the first resiliency group and the second resiliency group that corresponds to the maximum number of the data slices of the respective uber. 4. The method of claim 3 further comprising: determining that the available storage capacity of the respective resiliency group is sufficient to store all of the data slices of the respective uber; and assigning the respective uber to the respective resiliency group. 5. The method of claim 4 wherein the performing of the minimal number of data movement operations includes moving a minimum number of the data slices of the respective uber to the respective resiliency group to store all of the data slices of the respective uber in the respective resiliency group. 6. The method of claim 5 wherein the moving of the minimum number of the data slices of the respective uber to the respective resiliency group includes storing each of the data slices of the respective uber in a spare data slice of a respective storage drive in the respective resiliency group. 7. The method of claim 5 wherein the moving of the minimum number of the data slices of the respective uber to the respective resiliency group further includes determining that no spare data slices are available in the respective resiliency group, and storing each of the data slices of the respective uber in a reserved data slice of a respective storage drive in the respective resiliency group. 8. A data storage system, comprising: a storage drive array including a plurality of storage drives allocated to a first resiliency group; a memory; and processing circuitry configured to execute program instructions out of the memory: to form, as a capacity of storage drives allocated to a first resiliency group is used up, an additional second resiliency group with one or more new storage drives; to reallocate one or more of the storage drives from the first resiliency group to the second resiliency group to satisfy a requirement of a predetermined redundant array of independent disks (RAID) storage configuration, thereby causing data slices of one or more ubers to be distributed among storage drives in the first resiliency group and the second resiliency group; and to perform a minimal number of data movement operations to move the data slices of each of the one or more ubers distributed among the storage drives in the first resiliency group and the second resiliency group to the same first or second resiliency group; having reallocated the storage drives from the first resiliency group to the second resiliency group, to determine, for each respective uber among the one or more ubers distributed in the first and second resiliency group, a first number of data slices of the respective uber that are allocated to storage drives in the first resiliency group and a second number of data slices of the respective uber that are allocated to storage drives in the second resiliency group; and to determine, for each respective uber among the one or more ubers distributed in the first and second resiliency group, a maximum number among the first number and the second number of data slices of the respective uber. 9. The data storage system of claim 8 wherein the processing circuitry is further configured to execute the program instructions out of the memory: having performed the minimal number of data movement operations to move the data slices of the respective ubers to the same first or second resiliency group, to form one or more sub-groups of storage drives in each of the first resiliency group and the second resiliency group, each sub-group of storage drives being arranged in the predetermined RAID storage configuration. 10. The data storage system of claim 8 wherein the processing circuitry is further configured to execute the program instructions out of the memory: having determined the maximum number of the data slices of the respective uber, to obtain an available storage capacity of a respective resiliency group among the first resiliency group and the second resiliency group that corresponds to the maximum number of the data slices of the respective uber. 11. The data storage system of claim 10 wherein the processing circuitry is further configured to execute the program instructions out of the memory: to determine that the available storage capacity of the respective resiliency group is sufficient to store all of the data slices of the respective uber; and to assign the respective uber to the respective resiliency group. 12. The data storage system of claim 11 wherein the processing circuitry is further configured to execute the program instructions out of the memory: to move a minimum number of the data slices of the respective uber to the respective resiliency group for storing all of the data slices of the respective uber in the respective resiliency group. 13. The data storage system of claim 12 wherein the processing circuitry is further configured to execute the program instructions out of the memory: to store each of the data slices of the respective uber in a spare data slice of a respective storage drive in the respective resiliency group. 14. The data storage system of claim 12 wherein the processing circuitry is further configured to execute the program instructions out of the memory: to determine that no spare data slices are available in the respective resiliency group; and to store each of the data

Assignees

Inventors

Classifications

  • Parity data used in redundant arrays of independent storages, e.g. in RAID systems · CPC title

  • G06F3/0689Primary

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

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • G06F3/0631Primary

    by allocating resources to storage systems · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · 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 US11023147B2 cover?
Techniques for mapping large storage extents (“ubers”) into storage drive groups (“resiliency groups”) in a data storage system. The techniques can include, as the capacity of storage drives included in a first resiliency group is used up, forming a second resiliency group with one or more new storage drives. The disclosed techniques can further include allocating one or more storage drives fro…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F3/0689. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 01 2021 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).