Method, device, and program product for creating extent array in storage system

US11656776B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11656776-B2
Application numberUS-202117318359-A
CountryUS
Kind codeB2
Filing dateMay 12, 2021
Priority dateNov 27, 2020
Publication dateMay 23, 2023
Grant dateMay 23, 2023

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.

In creating an extent array in a storage system, in response to receiving a request to generate an extent array using idle extents in storage devices, a width of an extent stripe is determined, and a size of the extent array is designated by the storage system. A first extent group and a second extent group are respectively selected from the storage devices based on the width to form a first extent stripe and a second extent stripe, and a first extent at a given position in the first extent group and a second extent at a given position in the second extent group are respectively located in different storage devices. Based on the first extent stripe and the second extent stripe, an address mapping representing the extent array is generated. The address mapping includes association between extent identifiers of extents and extent indexes of the extents.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of generating an extent array in a storage system that comprises a plurality of storage devices, the method comprising: determining, in response to receiving a request to generate an extent array using idle extents in the plurality of storage devices, a width of an extent stripe in the extent array, wherein a size of the extent array is designated by the storage system; respectively selecting a first group of extents and a second group of extents from the plurality of storage devices based on the width to form a first extent stripe and a second extent stripe, wherein respectively selecting the first group of extents and the second group of extents includes assigning extent identifiers to extents in the plurality of storage devices, each extent identifier indicating (i) a corresponding extent stripe and (ii) a position in the corresponding extent stripe, the position being a relative placement in an ordered list of extents forming the corresponding extent stripe, wherein a first extent at a given position in the first extent stripe and a second extent at a given position in the second extent stripe are respectively located in different storage devices among the plurality of storage devices, the given position in the first extent stripe being equal to the given position in the second extent stripe; wherein the method further comprises: generating an address mapping representing the extent array based on the first extent stripe and the second extent stripe, wherein the address mapping comprises an association relationship between the extent identifiers and extent indexes of the extents in the extent array; wherein assigning the extent identifiers includes assigning, to the extents, (i) extent stripe numbers indicating corresponding extent stripes and (ii) position numbers indicating positions in the corresponding extent stripes; and wherein generating the address mapping includes calculating respective values of the extent indexes using the extent stripe numbers and the position numbers. 2. The method according to claim 1 , wherein selecting the first group of extents and the second group of extents comprises: selecting the first group of extents from a first set of storage devices in the plurality of storage devices based on the width; determining a number of a second set of storage devices other than the first set of storage devices in the plurality of storage devices; and selecting the second group of extents from the second set of storage devices in response to a determination that the number of the second set of storage devices is not less than the width. 3. The method according to claim 1 , wherein selecting the first group of extents and the second group of extents includes: selecting the first group of extents from a first set of storage devices in the plurality of storage devices based on the width; determining a number of a second set of storage devices other than the first set of storage devices in the plurality of storage devices; and in response to a determination that the number of the second set of storage devices is less than the width: selecting a part of the second group of extents from the second set of storage devices based on the number of the second set of storage devices; and selecting a remaining part of the second group of extents from the first set of storage devices based on a difference between the width and the number of the second part of storage devices. 4. The method according to claim 2 , further comprising: sorting the plurality of storage devices; and determining, based on the width, the first set of storage devices and the second set of storage devices in the plurality of storage devices that are sorted. 5. The method according to claim 1 , wherein generating the address mapping comprises: creating the address mapping of the extent array based on extent identifiers of the extents in the first group of extents and the second group of extents. 6. The method according to claim 5 , wherein the extent identifiers comprise identifiers of stripes where the extents are located and positions of the extents in the stripes, and creating the address mapping comprises: determining the extent indexes of the extents in the extent array based on the identifiers of the stripes, the positions, and the width. 7. The method according to claim 1 , wherein the plurality of storage devices are divided into a first domain and a second domain, and wherein respectively selecting the first group of extents and the second group of extents comprises: selecting the first group of extents from a plurality of storage devices located in the first domain; and selecting the second group of extents from a plurality of storage devices located in the second domain. 8. The method according to claim 1 , further comprising: in response to a determination that an offline storage device appears in the plurality of storage devices, determining, based on the address mapping, an index of at least one offline extent located in the offline storage device in the extent array; determining, based on the index, an address range of a group of extents involved in reconstruction in the extent array; and reconstructing data in the extent array based on the address range. 9. The method according to claim 1 , further comprising: in response to a determination that an abnormal storage device appears in the plurality of storage devices, wherein the abnormal storage device is accessible and there is an access abnormality, determining, based on the address mapping, an index of at least one abnormal extent located in the abnormal storage device in the extent array; determining, based on the index, an address range of a group of extents involved in migration in the extent array; and migrating data in the extent array based on the address range. 10. The method according to claim 1 , further comprising: determining the number of stripes that should be comprised in the extent array according to the size of the extent array and the width; in response to the number of current stripes in the extent array being less than the number of the stripes, selecting a third group of extents from the plurality of storage devices based on the width to form a third group of stripes; and adding the third group of stripes to the extent array. 11. An electronic device, comprising: at least one processor; and a memory coupled to the at least one processor, wherein the memory has instructions stored therein which, when executed by the at least one processor, cause the device to perform a method of generating an extent array in a storage system that comprises a plurality of storage devices, and the method comprises: determining, in response to receiving a request to generate an extent array using idle extents in the plurality of storage devices, a width of an extent stripe in the extent array, wherein a size of the extent array is designated by the storage system; respectively selecting a first group of extents and a second group of extents from the plurality of storage devices based on the width to form a first extent stripe and a second extent stripe, respectively selecting a first group of extents and a second group of extents from the plurality of storage devices based on the width to form a first extent stripe and a second extent stripe, wherein respectively selecting the first group of extents and the second group of extents includes assigning extent identifiers to extents in the plurality of storage devices, each extent identifier indicating (i) a corresponding extent stripe and (ii) a position in the corresponding extent stripe, the position being a relat

Assignees

Inventors

Classifications

  • G06F3/0689Primary

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

  • Management of blocks · CPC title

  • G06F3/0638Primary

    Organizing or formatting or addressing of data · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Management of space entities, e.g. partitions, extents, pools · 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 US11656776B2 cover?
In creating an extent array in a storage system, in response to receiving a request to generate an extent array using idle extents in storage devices, a width of an extent stripe is determined, and a size of the extent array is designated by the storage system. A first extent group and a second extent group are respectively selected from the storage devices based on the width to form a first ex…
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 May 23 2023 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).