Utilization of a thin provision grid storage array

US10140038B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10140038-B2
Application numberUS-201615357179-A
CountryUS
Kind codeB2
Filing dateNov 21, 2016
Priority dateNov 21, 2016
Publication dateNov 27, 2018
Grant dateNov 27, 2018

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.

Provided are a computer program product, computer system, and method for utilization of a thin provision grid storage array. Storage devices are divided into a plurality of slices, wherein each of the slices has a same number of partitions. Volumes in a pool are configured, wherein the pool is associated with physical capacity of a slice, wherein a volume size is unlimited, and wherein a cumulative size of all volumes in the pool is unlimited. While data is being written to the volumes in the pool, partitions of a first slice of the plurality of slices are allocated to the volumes in the pool and, in response to determining that the first slice needs additional physical capacity, allocating a partition of a second slice to the first slice by updating a mapping table.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer program product, the computer program product comprising a computer readable storage medium having computer readable program code embodied therein that executes to perform operations, the operations comprising: providing a plurality of slices, wherein each of the plurality of slices has partitions accessed with physical addresses; providing a pool, wherein the pool has volumes accessed with logical addresses; providing a mapping table that includes columns for a slice identifier, a partition identifier, and a volume identifier; and while data is being written to the volumes in the pool, allocating partitions of a first slice of the plurality of slices to the volumes in the pool; and in response to determining that the first slice needs additional physical capacity, allocating an unused partition of a second slice to the first slice by: identifying a row of the mapping table for the unused partition of the second slice; and updating the row of the mapping table by changing the slice identifier to an identifier of the first slice and changing the partition identifier to a new partition identifier for the first slice. 2. The computer program product of claim 1 , wherein the computer readable program code embodied therein executes to perform operations, the operations comprising: allocating an amount of physical capacity to the pool; and provisioning one or more additional storage devices to allocate additional physical capacity to the pool. 3. The computer program product of claim 1 , wherein the computer readable program code embodied therein executes to perform operations, the operations comprising: tracking an amount of physical capacity used by the pool; and providing a User Interface (UI) to receive requests to display the amount of physical capacity used by the pool. 4. The computer program product of claim 1 , wherein garbage collection is not needed. 5. The computer program product of claim 1 , wherein the plurality of slices are on storage devices, and wherein a data structure is used to store indicators about which physical storage blocks of the storage devices have been updated. 6. A computer system, comprising: one or more processors, one or more computer-readable memories and one or more computer-readable, tangible storage devices; and program instructions, stored on at least one of the one or more computer-readable, tangible storage devices for execution by at least one of the one or more processors via at least one of the one or more memories, to perform operations comprising: providing a plurality of slices, wherein each of the plurality of slices has partitions accessed with physical addresses; providing a pool, wherein the pool has volumes accessed with logical addresses; providing a mapping table that includes columns for a slice identifier, a partition identifier, and a volume identifier; and while data is being written to the volumes in the pool, allocating partitions of a first slice of the plurality of slices to the volumes in the pool; and in response to determining that the first slice needs additional physical capacity, allocating an unused partition of a second slice to the first slice by: identifying a row of the mapping table for the unused partition of the second slice; and updating the row of the mapping table by changing the slice identifier to an identifier of the first slice and changing the partition identifier to a new partition identifier for the first slice. 7. The computer system of claim 6 , wherein the operations further comprise: allocating an amount of physical capacity to the pool; and provisioning one or more additional storage devices to allocate additional physical capacity to the pool. 8. The computer system of claim 6 , wherein the operations further comprise: tracking an amount of physical capacity used by the pool; and providing a User Interface (UI) to receive requests to display the amount of physical capacity used by the pool. 9. The computer system of claim 6 , wherein garbage collection is not needed. 10. The computer system of claim 6 , wherein the plurality of slices are on storage devices, and wherein a data structure is used to store indicators about which physical storage blocks of the storage devices have been updated. 11. A method, comprising: providing a plurality of slices, wherein each of the plurality of slices has partitions accessed with physical addresses; providing a pool, wherein the pool has volumes accessed with logical addresses; providing a mapping table that includes columns for a slice identifier, a partition identifier, and a volume identifier; and while data is being written to the volumes in the pool, allocating partitions of a first slice of the plurality of slices to the volumes in the pool; and in response to determining that the first slice needs additional physical capacity, allocating an unused partition of a second slice to the first slice by: identifying a row of the mapping table for the unused partition of the second slice; and updating the row of the mapping table by changing the slice identifier to an identifier of the first slice and changing the partition identifier to a new partition identifier for the first slice. 12. The method of claim 11 , further comprising: allocating an amount of physical capacity to the pool; and provisioning one or more additional storage devices to allocate additional physical capacity to the pool. 13. The method of claim 11 , further comprising: tracking an amount of physical capacity used by the pool; and providing a User Interface (UI) to receive requests to display the amount of physical capacity used by the pool. 14. The method of claim 11 , wherein garbage collection is not needed. 15. The method of claim 11 , wherein the plurality of slices are on storage devices, and wherein a data structure is used to store indicators about which physical storage blocks of the storage devices have been updated.

Assignees

Inventors

Classifications

  • at area level, e.g. provisioning of virtual or logical volumes · CPC title

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

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

  • G06F3/0619Primary

    in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Saving storage space on storage 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 US10140038B2 cover?
Provided are a computer program product, computer system, and method for utilization of a thin provision grid storage array. Storage devices are divided into a plurality of slices, wherein each of the slices has a same number of partitions. Volumes in a pool are configured, wherein the pool is associated with physical capacity of a slice, wherein a volume size is unlimited, and wherein a cumula…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F3/0619. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 27 2018 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).