IP Library Granted Patent US 9,507,526
Granted Patent B2
US 9,507,526 · App. 14/594,828 · Granted Nov 29, 2016

Just-in time remote data storage allocation

Inventors: Assaf B. Levy (Ramat Hasharon, IL); Vered Rosen (Tel-Aviv, IL); Roee Alon (Kfar-Bilu, IL); Dekel Sharabi (Tel-Aviv, IL); Michael Yakobi (Tel-Aviv, IL)
Assignee: NetApp, Inc.
G06F3/0605G06F3/061G06F3/067G06F3/0631G06F3/0644G06F3/0653H04L67/1097H04L67/30
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 9,507,526
App. No.
14/594,828
Granted
Nov 29, 2016
Kind
B2
Abstract

A just-in-time storage allocation is initiated for storage at a remote storage device having storage disks. Each of multiple containers comprises a grouping of one or more of the storage disks. The just-in-time storage allocation includes an application profile that includes a priority criteria for the storage of either a priority of performance over efficiency or a priority of efficiency over performance A determination is made of whether at least one container of the multiple containers satisfies the priority criteria based on at least one attribute of the at least one container. The storage is allocated in the at least one container, in response to the at least one container satisfying the priority criteria.

Claims (47)

1. A method comprising:

initiating a just-in-time storage allocation for storage at a remote storage device having storage disks, wherein each of multiple containers comprises a grouping of one or more of the storage disks, wherein the just-in-time storage allocation includes an application profile that includes a priority criteria for the storage of either a priority of performance over efficiency or a priority of efficiency over performance;

determining whether at least one container of the multiple containers satisfies the priority criteria based on at least one attribute of the at least one container; and

allocating the storage in the at least one container, in response to the at least one container satisfying the priority criteria.

2. The method of claim 1 , wherein the at least one attribute comprises a number of the one or more storage disks in the at least one container.

3. The method of claim 1 , wherein the at least one attribute comprises a size of the one or more storage disks in the at least one container.

4. The method of claim 1 , further comprising:

adding at least one additional storage disk to the at least one container, in response to determining that the at least one container needs the at least one additional storage disk to allocate the storage in the at least one container.

5. The method of claim 1 , further comprising:

determining whether free space in the at least one container is below a free space ratio after including the storage as part of an allocated storage for the at least one container; and

adding at least one additional storage disk to the at least one container, in response to determining that the free space in the at least one container is below a free space ratio after including the storage as part of the allocated storage for the at least one container.

6. The method of claim 1 , further comprising:

determining whether an over provisioning rate of the at least one container is below an over provisioning ratio after including the storage as part of an allocated storage for the at least one container; and

adding at least one additional storage disk to the at least one container, in response to determining that the over provisioning rate of the at least one container is below the over provisioning ratio after including the storage as part of the allocated storage for the at least one container.

7. The method of claim 1 , wherein the initiating is in response to a request from an application for the storage.

8. The method of claim 1 , wherein the one or more storage disks in the at least one container have a same storage disk type.

9. The method of claim 1 , wherein more than one container of the multiple containers satisfy the priority criteria in the application profile based on the at least one attribute of the at least one container, wherein the method comprises:

allocating the storage in a container of the more than one container that has a least number of storage disks.

10. A non-transitory machine readable medium having stored thereon instructions comprising machine executable code which when executed by at least one machine, causes the at least one machine to:

initiate a just-in-time storage allocation for storage at a remote storage device having storage disks, wherein each of multiple containers comprises a grouping of one or more of the storage disks, wherein the just-in-time storage allocation includes an application profile that includes a priority criteria for the storage of either a priority of performance over efficiency or a priority of efficiency over performance;

determine whether at least one container of the multiple containers satisfies the priority criteria based on at least one attribute of the at least one container, wherein the at least one attribute comprises a number of the one or more storage disks in the at least one container; and

allocate the storage in the at least one container, in response to satisfaction by the at least one container of the priority criteria in the application profile.

11. The non-transitory machine readable medium of claim 10 , wherein the at least one attribute comprises a size of the one or more storage disks in the at least one container.

12. The non-transitory machine readable medium of claim 10 , wherein the machine executable code which when executed by the at least one machine, causes the at least one machine to:

determine whether free space in the at least one container is below a free space ratio after including the storage as part of an allocated storage for the at least one container; and

add at least one additional storage disk to the at least one container, in response to a determination that the free space in the at least one container is below a free space ratio after inclusion of the storage as part of the allocated storage for the at least one container.

13. The non-transitory machine readable medium of claim 10 , wherein the machine executable code which when executed by the at least one machine, causes the at least one machine to:

determine whether an over provisioning rate of the at least one container is below an over provisioning ratio after including the storage as part of an allocated storage for the at least one container; and

add at least one additional storage disk to the at least one container, in response to a determination that the over provisioning rate of the at least one container is below the over provisioning ratio after inclusion of the storage as part of the allocated storage for the at least one container.

14. The non-transitory machine readable medium of claim 10 , wherein more than one container of the multiple containers satisfy the priority criteria in the application profile based on the at least one attribute of the at least one container, wherein the machine executable code which when executed by the at least one machine, causes the at least one machine to:

allocate the storage in a container of the more than one container that has a least number of storage disks.

15. An apparatus comprising:

a processor; and

a computer readable storage medium having program instructions embodied therewith, the program instructions executable by the processor to cause the apparatus to,

initiate a just-in-time storage allocation for storage at a remote storage device having storage disks, wherein each of multiple containers comprises a grouping of one or more of the storage disks, wherein the just-in-time storage allocation includes an application profile that includes a priority criteria for the storage of either a priority of performance over efficiency or a priority of efficiency over performance;

determine whether at least one container of the multiple containers satisfies the priority criteria based on at least one attribute of the at least one container; and

allocate the storage in the at least one container, in response to satisfaction by the at least one container of the priority criteria in the application profile.

16. The apparatus of claim 15 , wherein the at least one attribute comprises a size of the one or more storage disks in the at least one container.

17. The apparatus of claim 15 , wherein the program instructions executable by the processor are to cause the apparatus to:

determine whether free space in the at least one container is below a free space ratio after including the storage as part of an allocated storage for the at least one container; and

add at least one additional storage disk to the at least one container, in response to a determination that the free space in the at least one container is below a free space ratio after inclusion of the storage as part of the allocated storage for the at least one container.

18. The apparatus of claim 15 , wherein the program instructions executable by the processor are to cause the apparatus to:

determine whether an over provisioning rate of the at least one container is below an over provisioning ratio after including the storage as part of an allocated storage for the at least one container; and

add at least one additional storage disk to the at least one container, in response to a determination that the over provisioning rate of the at least one container is below the over provisioning ratio after inclusion of the storage as part of the allocated storage for the at least one container.

19. The apparatus of claim 15 , wherein the one or more storage disks in the at least one container have a same storage disk type.

20. The apparatus of claim 15 , wherein more than one container of the multiple containers satisfy the priority criteria in the application profile based on at least one attribute of the at least one container, wherein the program instructions executable by the processor are to cause the apparatus to:

allocate the storage in a container of the more than one container that has a least number of storage disks.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2015
From: LEVY, ASSAF B.; ROSEN, VERED; ALON, ROEE; SHARABI, DEKEL; YAKOBI, MICHAEL
To: NETAPP, INC.
Reel/Frame 034685/0262 →
Continuity (2)
Provisional Application 62079989 · Nov 14, 2014
Related Publication 20160139815A1 · May 19, 2016