Memory device with data scrubbing capability and methods
US-2024393961-A1 · Nov 28, 2024 · US
US10140038B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10140038-B2 |
| Application number | US-201615357179-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 21, 2016 |
| Priority date | Nov 21, 2016 |
| Publication date | Nov 27, 2018 |
| Grant date | Nov 27, 2018 |
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.
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.
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.
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
in relation to data integrity, e.g. data losses, bit errors · CPC title
Saving storage space on storage systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.