IP Library Granted Patent US 10,409,508
Granted Patent B2
US 10,409,508 · App. 15/628,374 · Granted Sep 10, 2019

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

Inventors: Senthil Kumar Ramamoorthy (Sunnyvale, CA); Pradeep Shetty (San Jose, CA); Mukul Kumar Singh (San Jose, CA); Hy Vu (San Jose, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F3/0631G06F3/0604G06F3/067G06F3/0656G06F3/0685G06F12/0802G06F12/0868G06F2212/205G06F2212/222G06F2212/604G06F2212/7203
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,409,508
App. No.
15/628,374
Granted
Sep 10, 2019
Kind
B2
Abstract

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.

Claims (61)

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 updated to reflect one or more unpinned volumes is lower than the updated amount of pinnable storage space; or

disable pinning of all currently pinned volumes.

18. The network storage device of claim 16 , wherein the cache is a solid state drive (SSD) cache.

19. The network storage device of claim 18 , wherein the other storage is disk storage.

20. The network storage device of claim 16 , 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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: NIMBLE STORAGE, INC.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 048570/0798 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 14, 2019
From: RAMAMOORTHY, SENTHIL KUMAR; SHETTY, PRADEEP; SINGH, MUKUL KUMAR; VU, HY
To: NIMBLE STORAGE, INC.
Reel/Frame 047985/0314 →
Continuity (3)
Continuation 14812972 · Jul 29, 2015
Provisional Application 62163075 · May 18, 2015
Related Publication 20170285995A1 · Oct 5, 2017