Management of pinned storage in flash based on flash-to-disk capacity ratio
US-9684467-B2 · Jun 20, 2017 · US
US10409508B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10409508-B2 |
| Application number | US-201715628374-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 20, 2017 |
| Priority date | May 18, 2015 |
| Publication date | Sep 10, 2019 |
| Grant date | Sep 10, 2019 |
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.
Methods, systems, and programs are presented for managing a storage device memory. One method includes an operation for receiving a request to pin a volume stored in the storage device. The device includes disk storage and a solid state drive (SSD) cache, where pinned volumes in the storage device have all active volume data in the SSD cache. Further, the method includes an operation for determining the maximum amount of pinnable space in the SSD cache, the maximum amount of pinnable space being calculated based on the sizes of the disk storage and the SSD cache. Further, the method includes operations for determining the available pinning space, which is the maximum amount of pinnable space minus the current amount of pinned data in the SSD cache, and for granting the request to pin the volume when the available pinning space is greater than or equal to a size of the volume.
Opening claim text (preview).
What is claimed is: 1. A method for managing memory allocation in a network storage device, the method comprising: calculating, by a processor, an amount of pinnable storage space in a cache of a network storage device after reserving a space in the cache for caching, the network storage device including the cache and other storage to store one or more volumes, wherein pinned volumes of the one or more volumes of the other storage are to have all active volume data cached in the cache; detecting, by the processor, a change in an amount of the other storage in the network storage device; determining an updated capacity of the other storage; determining an updated ratio of a capacity of the cache to the capacity of the other storage based on the updated capacity of the other storage; recalculating the reserved space in the cache based on the updated capacity of the other storage to update the reserved space in the cache for caching, wherein an updated remaining space in the cache is based on the updated reserved space in the cache; updating the amount of pinnable storage space in the cache based on the updated capacity of the other storage and the updated ratio; and in response to a determination that a total amount of pinned data is greater than the updated amount of pinnable storage space in the cache, disabling, by the processor, a number of the pinned volumes in the network storage device to bring the total amount of pinned data to below the updated amount of pinnable storage space. 2. The method of claim 1 , wherein updating the amount of pinnable storage space in the cache comprises: determining the updated amount of pinnable storage space in the cache based on the updated remaining space. 3. The method of claim 2 , further comprising: setting the updated amount of pinnable storage space to zero when the updated amount of pinnable storage space initially determined is negative; and disabling pinning to the cache of volumes stored in the other storage. 4. The method of claim 2 , wherein: the recalculating the reserved space comprises recalculating the reserved space in the cache based on a first proportion of the updated disk capacity of the other storage; the determining the updated amount of pinnable storage space comprises determining the updated amount of pinnable storage space based on a second proportion of the updated remaining space. 5. The method of claim 1 , wherein the disabling the number of pinned volumes includes at least one of: iteratively unpinning pinned volumes of lowest priority until the amount of pinned volumes updated to reflect one or more unpinned volumes is lower than the updated amount of pinnable storage space; or disabling pinning of all currently pinned volumes. 6. The method of claim 1 , wherein the cache is a solid state drive (SSD) cache. 7. The method of claim 6 , wherein the other storage is disk storage. 8. The method of claim 1 , wherein: the updated ratio of the capacity of the cache to the capacity of the other storage is the capacity of the cache divided by the updated capacity of the other storage. 9. A non-transitory computer-readable medium storing a computer program for upgrading a data storage system, the computer program being executable to cause a processor to: calculate an amount of pinnable storage space in a cache of a network storage device after reserving a space in the cache for caching, the network storage device including the cache and other storage to store one or more volumes, wherein pinned volumes of the one or more volumes of the other storage are to have all active volume data cached in the cache; detect a change in an amount of the other storage in the network storage device; determine an updated capacity of the other storage; determine an updated ratio of a capacity of the cache to the capacity of the other storage, based on the updated capacity of the other storage; recalculate the reserved space in the cache based on the updated capacity of the other storage to update the reserved space in the cache for caching, wherein an updated remaining space in the cache is based on the updated reserved space; update the amount of pinnable storage space in the cache based on the updated capacity of the other storage and the updated ratio; and in response to a determination that a total amount of pinned data is greater than the updated amount of pinnable storage space in the cache, disable a number of the pinned volumes in the network storage device to bring the total amount of pinned data to below the updated amount of pinnable storage space. 10. The non-transitory computer-readable medium of claim 9 , wherein the computer program is executable to cause the processor to: set the updated amount of pinnable storage space to zero when the updated amount of pinnable storage space initially determined is negative; and disable pinning to the cache of volumes stored in the other storage. 11. The non-transitory computer-readable medium of claim 7 , wherein the computer program is executable to cause the processor to: disable pinning of all currently pinned volumes. 12. The non-transitory computer-readable medium of claim 7 , wherein the computer program is executable to cause the processor to: iteratively unpin pinned volumes of lowest priority until the amount of pinned volumes updated to reflect one or more unpinned volumes is lower than the updated amount of pinnable storage space. 13. The non-transitory computer-readable medium of claim 9 , wherein the cache is a solid state drive (SSD) cache. 14. The non-transitory computer-readable medium of claim 13 , wherein the other storage is disk storage. 15. The non-transitory computer-readable medium of claim 9 , wherein: the updated ratio of the capacity of the cache to the capacity of the other storage is the capacity of the cache divided by the updated capacity of the other storage. 16. A network storage device comprising: a cache; other storage, different than the cache, to store one or more volumes, wherein pinned volumes of the one or more volumes of the other storage are to have all active volume data cached in the cache; a processor; and a non-transitory computer readable medium storing instructions that are executable to cause the processor to: calculate an amount of pinnable storage space in the cache after reserving a space in the cache for caching; detect a change in an amount of the other storage in the network storage device; determine an updated capacity of the other storage; determine an updated ratio of a capacity of the cache to the capacity of the other storage, based on the updated capacity of the other storage; recalculate the reserved space in the cache based on the updated capacity of the other storage to update the reserved space in the cache for caching, wherein an updated remaining space in the cache is based on the updated reserved space; update the amount of pinnable storage space in the cache based on the updated capacity of the other storage and the updated ratio; and in response to a determination that a total amount of pinned data is greater than the updated amount of pinnable storage space in the cache, disable a number of the pinned volumes in the network storage device to bring the total amount of pinned data to below the updated amount of pinnable storage space. 17. The network storage device of claim 16 , wherein the instructions to disable are executable to cause the processor to at least one of: iteratively unpin pinned volumes of the lowest priority until the amount of pinned volumes u
Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks · CPC title
Data buffering arrangements · CPC title
Hybrid memory, e.g. using both volatile and non-volatile memory · CPC title
Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.