Management of pinned storage in flash based on flash-to-disk capacity ratio

US9684467B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9684467-B2
Application numberUS-201514812972-A
CountryUS
Kind codeB2
Filing dateJul 29, 2015
Priority dateMay 18, 2015
Publication dateJun 20, 2017
Grant dateJun 20, 2017

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.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing memory allocation in a network storage device, the method comprising: receiving a request to pin a volume being stored in a network storage device, the network storage device including disk storage and a solid state drive (SSD) cache, wherein pinned volumes in the network storage device are defined to have all active volume data cached in the SSD cache; determining a maximum amount of pinnable space in the SSD cache, wherein determining the maximum amount of pinnable space includes, reserving a first area in the SSD cache based on an amount of disk storage; and determining the maximum amount of pinnable space based on an amount of storage remaining in the SSD cache after reserving the first area; determining an available pinning space that is the maximum amount of pinnable space minus a current amount of pinned data in the SSD cache; and granting the request to pin the volume when the available pinning space is greater than or equal to a size of the volume; wherein reserving the first area in the SSD cache includes calculating a size of the first area as the amount of disk storage times a first predetermined value; and wherein determining the maximum amount of pinnable space includes: setting the amount of storage remaining in the SSD cache as a size of the SSD cache minus the size of the first area; if the amount of storage remaining in the SSD cache is less than or equal to zero, setting the maximum amount of pinnable space as zero; and if the amount of storage remaining in the SSD cache is greater than zero, setting the maximum amount of pinnable space as a second predetermined value times the amount of storage remaining in the SSD cache. 2. The method as recited in claim 1 , further including: detecting a decrease in a size of the SSD cache; recalculating the maximum amount of pinnable space in response to the detecting; and disabling pinning in the SSD when the maximum amount of pinnable space is less than the current amount of pinned data in the SSD cache. 3. The method as recited in claim 1 , further including: detecting an increase in the amount of disk storage; recalculating the maximum amount of pinnable space in response to the detecting; and disabling pinning in the SSD when the maximum amount of pinnable space is less than the current amount of pinned data in the SSD cache. 4. The method as recited in claim 1 , further including: detecting a loss of pinned data in the SSD cache; retrieving from disk storage the pinned data that was lost in the SSD cache; and re-pinning the retrieved pinned data in the SSD cache. 5. The method as recited in claim 1 , further including: detecting an increase in a size of the SSD cache; and re-calculating the maximum amount of pinnable space in the SSD cache based on the increase in the size of the SSD cache. 6. The method as recited in claim 1 , further including: detecting a decrease in a size of the SSD cache; re-calculating the maximum amount of pinnable space in the SSD cache based on the decrease in the size of the SSD cache; and disabling pinning for one or more volumes based on the re-calculated maximum amount of pinnable space in the SSD cache. 7. The method as recited in claim 1 , further including: denying the request to pin the volume when the available pinning space is less than the size of the volume. 8. A method for managing memory allocation in a network storage device, the method comprising: receiving a request to pin a volume being stored in a network storage device, the network storage device including disk storage and a solid state drive (SSD) cache, wherein pinned volumes in the network storage device are defined to have all active volume data cached in the SSD cache; determining a maximum amount of pinnable space in the SSD cache, wherein determining the maximum amount of pinnable space includes, reserving a first area in the SSD cache based on an amount of disk storage; and determining the maximum amount of pinnable space based on an amount of storage remaining in the SSD cache after reserving the first area; determining an available pinning space that is the maximum amount of pinnable space minus a current amount of pinned data in the SSD cache; granting the request to pin the volume when the available pinning space is greater than or equal to a size of the volume; and disabling pinning when a size of the reserved first area is equal or greater than a size of the SSD. 9. A network storage device comprising: disk storage; a solid state drive (SSD) cache, wherein pinned volumes in the network storage device are defined to have all active volume data cached in the SSD cache; and a processor operable to receive a request to pin a volume in the network storage device, the processor determining a maximum amount of pinnable space in the SSD cache in response to receiving the request, wherein the processor determines the maximum amount of pinnable space by reserving a first area in the SSD cache based on an amount of disk storage, and by determining the maximum amount of pinnable space based on an amount of storage remaining in the SSD cache after reserving the first area; wherein the processor determines an available pinning space that is the maximum amount of pinnable space minus a current amount of pinned data in the SSD cache, and the processor grants the request to pin the volume when the available pinning space is greater than or equal to a size of the volume; wherein the processor calculates a size of the first area as the amount of disk storage times a first predetermined value; wherein the processor sets the amount of storage remaining in the SSD cache as a size of the SSD cache minus the size of the first area, wherein the processor sets the maximum amount of pinnable space as zero when the amount of storage remaining in the SSD cache is less than or equal to zero, wherein the processor sets the maximum amount of pinnable space as a second predetermined value times the amount of storage remaining in the SSD cache when the amount of storage remaining in the SSD cache is greater than zero. 10. The network storage device as recited in claim 9 , wherein the processor is part of a controller within the network storage device, wherein the controller further includes non-volatile read random access memory (NVRAM) defined for storing incoming write requests. 11. The network storage device as recited in claim 9 , wherein upon detecting a decrease in a size of the SSD cache, the processor recalculates the maximum amount of pinnable space in response to the detecting, and the processor disables pinning in the SSD when the maximum amount of pinnable space is less than the current amount of pinned data in the SSD cache. 12. The network storage device as recited in claim 9 , wherein upon detecting an increase in the amount of disk storage, the processor recalculates the maximum amount of pinnable space in response to the detecting, and the processor disables pinning in the SSD when the maximum amount of pinnable space is less than the current amount of pinned data in the SSD cache. 13. A network storage device comprising: disk storage; a solid state drive (SSD) cache, wherein pinned volumes in the network storage device are defined to have all active volume data cached in the SSD cache; and a processor operable to receive a request to pin a volume in the network storage device, the processor determining a maximum amount of pinnable space in the SSD cache in response to receiving the request, wherein the processor determines the maximum amount of pinnable space by reserving a first area in the SSD c

Assignees

Inventors

Classifications

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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

  • Non-volatile memory · CPC title

  • Improving or facilitating administration, e.g. storage management · 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 US9684467B2 cover?
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 determ…
Who is the assignee on this patent?
Nimble Storage Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0631. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 20 2017 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).