IP Library Granted Patent US 9,658,786
Granted Patent B2
US 9,658,786 · App. 14/726,417 · Granted May 23, 2017

Setting optimal space allocation policy for creating dependent snapshots to enhance application write performance and reduce resource usage

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,658,786
App. No.
14/726,417
Granted
May 23, 2017
Kind
B2
Abstract

In one embodiment, a method includes receiving a request to duplicate at least a portion of a volume stored on a first storage array managed by a storage controller, creating at least one dependent volume on the first storage array using the storage controller, duplicating the at least the portion of the volume to the at least one dependent volume on the first storage array to create a snapshot. The creation of the snapshot is performed entirely on the first storage array.

Claims (26)

1. A method, comprising:

receiving a request to duplicate at least a portion of a volume stored on a first storage array managed by a storage controller;

creating at least one dependent volume on the first storage array using the storage controller; and

duplicating the at least the portion of the volume to the at least one dependent volume on the first storage array to create a snapshot,

wherein the storage controller has a cache thereon, the cache being shared between the at least the portion of the volume and the at least one dependent volume on the first storage array during creation of the snapshot,

wherein the creation of the snapshot is performed entirely on the first storage array.

2. The method as recited in claim 1 , further comprising setting a policy to ensure that the at least one dependent volume is only created on the first storage array by the storage controller.

3. The method as recited in claim 1 , wherein the duplicating comprises creating a copy on write (COW) snapshot, with the proviso that a virtualization layer does not perform any duplicating, thereby offloading all snapshot operations from the virtualization layer.

4. The method as recited in claim 3 , wherein the request to duplicate the at least a portion of the volume is received from the virtualization layer, the virtualization layer being host-based.

5. The method as recited in claim 3 , wherein the virtualization layer is host-based, wherein the virtualization layer does not perform a read operation on data from the first storage array into memory of the host during creation of the snapshot.

6. The method as recited in claim 1 , wherein block virtualization software ensures that the at least one dependent volume is created on the first storage array by the storage controller.

7. The method as recited in claim 1 , wherein a same cache block in the shared cache serves I/Os to both the at least the portion of the volume and dependent volumes.

8. The method as recited in claim 1 , wherein the duplicating comprises creating a copy on write (COW) snapshot, the method comprising:

allocating space for the COW snapshot on the first storage array; and

offloading COW operations to an entity other than a virtualization layer.

9. The method as recited in claim 1 , wherein the duplicating is performed internally in the first storage array entirely under the direction of the storage controller.

10. The method as recited in claim 1 , wherein the duplicating comprises creating a copy on write (COW) snapshot, wherein all COW operations are offloaded to the first storage array.

11. The method as recited in claim 1 , comprising receiving a write command from an application; and generating, internally in a virtualization layer, the request to duplicate the at least a portion of the volume stored on the first storage array in response to receiving the write command.

12. The method as recited in claim 1 , comprising enforcing a policy to ensure that the at least one dependent volume is only created on the first storage array.

13. The method as recited in claim 1 , wherein the duplicating is performed internally in the first storage array using the single storage controller.

14. The method as recited in claim 1 , comprising creating a flash image copy during the duplicating.

15. The method as recited in claim 1 , wherein the request to duplicate is received from a virtualization layer.

16. The method as recited in claim 15 , wherein the virtualization layer does not perform a read operation on data from the first storage array into memory of a host during the creation of the snapshot.

17. The method as recited in claim 1 , wherein the first storage array is controlled by the storage controller, wherein the request to duplicate is received by the storage controller from a virtualization layer.

18. The method as recited in claim 1 , wherein the first storage array includes a storage device selected from a group of storage devices consisting of: a solid state drive, a tape drive, and a disk drive.

19. The method as recited in claim 9 , wherein a same cache block in the shared cache serves input/output operations (I/Os) to both the at least the portion of the volume and dependent volumes.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AIRBNB, INC.
Reel/Frame 056427/0193 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2015
From: FISKE, RAHUL; ROY, SUBHOJIT
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 035800/0009 →