Data storage system dynamically re-marking slices for reclamation from internal file system to pool storage
US-10235286-B1 · Mar 19, 2019 · US
US11048416B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11048416-B2 |
| Application number | US-201816223736-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 18, 2018 |
| Priority date | Apr 28, 2018 |
| Publication date | Jun 29, 2021 |
| Grant date | Jun 29, 2021 |
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 system is associated with at least one part of multiple storage devices in a resource pool, a part of a storage space in a storage device being inaccessible to the storage system. Techniques involve: identifying an extent within the part of the storage space in the storage device as a free extent; selecting a group of storage devices each with a free extent from the multiple storage devices in response to determining a virtual address range in the storage system as specified by an access request is inaccessible; mapping the virtual address range to a physical address range of the free extents in the group of storage devices; and allocating a storage space specified by the physical address range to the storage system. Therefore, the expansion of the resource pool can be implemented more conveniently and rapidly, and performance of the storage system can be improved.
Opening claim text (preview).
The invention claimed is: 1. A method for managing a storage system, the storage system being associated with at least one part of multiple storage devices in a resource pool, at least one part of a storage space in a storage device among the multiple storage devices being inaccessible to the storage system, wherein the storage system is a storage system based on a Redundant Array of Independent Disks, the storage system comprising multiple slices, the method comprising: identifying an extent within the at least one part of the storage space in the storage device that is inaccessible to the storage system as a free extent when the storage device is added to the storage pool during an expansion of the storage pool, wherein the extent is inaccessible to the storage system because a mapping between the storage system and the storage device is not completely built; in response to receiving a slice access request for a slice among the multiple slices, determining an address range of the slice on the basis of a slice allocation table of the storage system; determining a virtual address range in the storage system on the basis of the address range of the slice, at least in part by determining an address of a bitmap associated with the address range of the slice, a corresponding bit in the bitmap indicating whether data in a corresponding slice among the multiple slices are zero, and determining the virtual address range on the basis of the address of the bitmap; selecting a group of storage devices each with a free extent from the multiple storage devices in response to determining that the virtual address range in the storage system is inaccessible; mapping the virtual address range to a physical address range of the free extents in the group of storage devices; and allocating a storage space specified by the physical address range to the storage system and selecting a storage space for the slice from the allocated storage space; wherein each of the multiple slices comprises a storage unit having a size equal to a predefined value that is smaller than each of the multiple extents; and wherein the bitmap comprises a total number of bits equal to a total number of slices in the storage system. 2. The method according to claim 1 , wherein the storage system is a storage system based on a Redundant Array of Independent Disks, and wherein selecting a group of storage devices each with a free extent from the multiple storage devices comprises: determining the number of storage devices in the group on the basis of configuration of the Redundant Array of Independent Disks; and selecting the group of storage devices on the basis of the number. 3. The method according to claim 1 , wherein selecting the group of storage devices on the basis of the number comprises: determining the free device number of storage devices with free extents from the multiple storage devices; and in response to determining the free device number meets the number, selecting devices storage devices with free extents as the group of storage devices from the multiple storage. 4. The method according to claim 3 , wherein selecting the group of storage devices on the basis of the number further comprises: moving, to the storage device, data in a first extent in a first storage device other than the storage device in response to determining the free device number does not meet the number; identifying the first extent as a free extent; and increasing the free device number. 5. The method according to claim 1 , further comprising: moving, to the storage device, data in a first extent in a first storage device other than the storage device; and identifying the first extent as a free extent. 6. The method according to claim 1 , further comprising: selecting a bitmap space for storing the bitmap from the allocated storage space; and in response to determining the user access is a write operation, writing target data specified by the write operation to the slice; and setting a bit in the bitmap, which is associated with the slice, to indicate data in the slice are non-zero. 7. The method according to claim 6 , wherein a physical address of at least one part of a storage space in the new storage device has not been built an address mapping relationship with the storage system. 8. The method according to claim 7 , further comprising: generating a slice access request for each slice among the multiple slices. 9. An apparatus for managing a storage system, comprising: at least one processor; a volatile memory; and a memory coupled to the at least one processor, the memory having instructions stored thereon, the instructions, when executed by the at least one processor, causing the apparatus to perform acts for managing a storage system, the storage system being associated with at least one part of multiple storage devices in a resource pool, at least one part of a storage space in a storage device among the multiple storage devices being inaccessible to the storage system, wherein the storage system is a storage system based on a Redundant Array of Independent Disks, the storage system comprising multiple slices, the acts including: identifying an extent within the at least one part of the storage space in the storage device that is inaccessible to the storage system as a free extent when the storage is added to the storage pool during an expansion of the storage pool, wherein the extent is inaccessible to the storage system because a mapping between the storage system and the storage device is not completely built, in response to receiving a slice access request for a slice among the multiple slices, determining an address range of the slice on the basis of a slice allocation table of the storage system, determining a virtual address range in the storage system on the basis of the address range of the slice, at least in part by determining an address of a bitmap associated with the address range of the slice, a corresponding bit in the bitmap indicating whether data in a corresponding slice among the multiple slices are zero, and determining the virtual address range on the basis of the address of the bitmap, selecting a group of storage devices each with a free extent from the multiple storage devices in response to determining that the virtual address range in the storage system as specified by an access request is inaccessible, mapping the virtual address range to a physical address range of the free extents in the group of storage devices, and allocating a storage space specified by the physical address range to the storage system and selecting a storage space for the slice from the allocated storage space, wherein each of the multiple slices comprises a storage unit having a size equal to a predefined value that is smaller than each of the multiple extents, and wherein the bitmap comprises a total number of bits equal to a total number of slices in the storage system. 10. The apparatus according to claim 9 , wherein the storage system is a storage system based on a Redundant Array of Independent Disks, and wherein selecting a group of storage devices each with a free extent from the multiple storage devices comprises: determining the number of storage devices in the group on the basis of configuration of the Redundant Array of Independent Disks; and selecting the group of storage devices on the basis of the number. 11. The apparatus according to claim 9 , wherein selecting the group of storage devices on the basis of the number comprises: determining the free device number of storage devices with free extents from the multiple storage devices; and in response to determining the free devic
Disk arrays, e.g. RAID, JBOD · CPC title
in relation to response time · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
at area level, e.g. provisioning of virtual or logical volumes · CPC title
for peripheral storage systems, e.g. disk cache · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.