Thin provisioning using cloud based ranks
First Claim
1. A computer-implemented method comprising:
- determining a total amount of unused physical storage space for all of a plurality of local ranks associated with a storage controller;
comparing the total amount of unused physical storage space to a first threshold;
in response to determining that the total amount of unused physical storage space is less than the first threshold, creating one or more cloud based ranks;
wherein creating each of the one or more cloud based ranks comprises;
allocating storage space on one or more corresponding cloud storage devices via a cloud interface;
mapping the allocated storage space to corresponding virtual local addresses; and
grouping the virtual local addresses as a virtual local rank associated with the storage controller;
wherein the method further comprises;
determining a total amount of used storage space for the plurality of local ranks and the one or more cloud based ranks;
determining a difference between a total amount of storage space for the plurality of local ranks and the determined total amount of used storage space; and
in response to determining that the difference is greater than a second threshold, moving data from the one or more cloud based ranks to the plurality of local ranks.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented method for thin provisioning using cloud based ranks comprises determining a total amount of unused physical storage space for all of a plurality of local ranks associated with a storage controller; comparing the total amount of unused physical storage space to a first threshold; in response to determining that the total amount of unused physical storage space is less than the first threshold, creating one or more cloud based ranks. Creating each of the one or more cloud based ranks comprises allocating storage space on one or more corresponding cloud storage devices via a cloud interface; mapping the allocated storage space to corresponding virtual local addresses; and grouping the virtual local addresses as a virtual local rank associated with the storage controller.
32 Citations
23 Claims
-
1. A computer-implemented method comprising:
-
determining a total amount of unused physical storage space for all of a plurality of local ranks associated with a storage controller; comparing the total amount of unused physical storage space to a first threshold; in response to determining that the total amount of unused physical storage space is less than the first threshold, creating one or more cloud based ranks; wherein creating each of the one or more cloud based ranks comprises; allocating storage space on one or more corresponding cloud storage devices via a cloud interface; mapping the allocated storage space to corresponding virtual local addresses; and grouping the virtual local addresses as a virtual local rank associated with the storage controller; wherein the method further comprises; determining a total amount of used storage space for the plurality of local ranks and the one or more cloud based ranks; determining a difference between a total amount of storage space for the plurality of local ranks and the determined total amount of used storage space; and in response to determining that the difference is greater than a second threshold, moving data from the one or more cloud based ranks to the plurality of local ranks. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A storage system comprising:
-
a host adapter having one or more ports configured to communicatively couple the host adapter to one or more host devices; a storage controller comprising a processor and a memory, the storage controller communicatively coupled to the host adapter; and a device adapter comprising a processor and a memory, the device adapter communicatively coupled to the storage controller; wherein the device adapter further comprises a plurality of ports communicatively coupled to a plurality of local storage drives and at least one network port communicatively coupled to a plurality of cloud storage devices via a network; wherein one of the device adapter or the storage controller is further configured to implement a cloud provisioning module configured to; create one or more cloud based ranks in response to a determination that a total amount of unused physical storage space on the plurality of local storage drives is less than a first predetermined threshold; wherein, to create each of the one or more cloud based ranks, the cloud provisioning module is configured to; allocate storage space on one or more corresponding cloud storage devices via a cloud interface; assign the allocated storage space to corresponding virtual local addresses; and organize the assigned virtual local addresses into a corresponding virtual local RAID array associated with the storage controller such that the allocated storage space on the one or more corresponding cloud storage devices appears to the storage controller as a local array of storage devices; and wherein the cloud provisioning module is further configured to; determine a total amount of used storage space for the plurality of local storage drives and the one or more cloud based ranks; determine a difference between a total amount of storage space for the plurality of local storage drives and the determined total amount of used storage space; and in response to determining that the difference is greater than a second predetermined threshold, move data from the one or more cloud based ranks to the plurality of local storage drives. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer program product comprising a computer readable storage medium having a computer readable program stored therein, wherein the computer readable program, when executed by a processor, causes the processor to:
-
determine a total amount of unused physical storage space for all of a plurality of local redundant array of independent disks (RAID) arrays associated with a storage controller; compare the total amount of unused physical storage space to a first predetermined threshold; in response to determining that the total amount of unused physical storage space is less than the first predetermined threshold, create one or more cloud based ranks; wherein to create each of the one or more cloud based ranks, the computer readable program is configured to cause the processor to; allocate storage space on one or more corresponding cloud storage devices via a cloud interface; assign the allocated storage space to corresponding virtual local addresses; and organize the assigned virtual local addresses into a corresponding virtual local RAID array associated with the storage controller such that the allocated storage space on the one or more corresponding cloud storage devices appears to the storage controller as a local array of storage devices; wherein the computer readable program is further configured to cause the processor to; determine a total amount of used storage space for the plurality of local RAID arrays and the one or more cloud based ranks; determine a difference between a total amount of storage space for the plurality of local RAID arrays and the determined total amount of used storage space; and in response to determining that the difference is greater than a second predetermined threshold, move data from the one or more cloud based ranks to the plurality of local RAID arrays. - View Dependent Claims (14, 15, 16, 17, 18)
-
-
19. A computing device comprising:
-
a network adapter configured to communicatively couple the computing device to one or more cloud storage devices via a network; a storage medium configured to store data; and a processor communicatively coupled to the network adapter and to the storage medium, wherein the processor is configured to; determine a total amount of unused physical storage space for all of a plurality of local ranks; compare the total amount of unused physical storage space to a first threshold; and create one or more cloud based ranks in response to determining that the total amount of unused physical storage space is less than the first threshold; wherein to create each of the one or more cloud based ranks, the processor is configured to; allocate storage space on one or more cloud storage devices via an application programming interface (API) associated with the one or more cloud storage devices; and generate a map table which maps the allocated storage space to corresponding virtual local addresses and groups the virtual local addresses to form a corresponding virtual local rank from the allocated storage space on the one or more cloud storage devices, the map table stored on the storage medium; wherein the processor is further configured to; determine a subsequent total amount of unused storage space for the plurality of local ranks after creating the one or more cloud based ranks; determine a difference between the subsequent total amount of unused storage space and a total amount of used storage space on the one or more cloud based ranks; and in response to determining that the difference is greater than a second threshold, move data from the one or more cloud based ranks to the plurality of local ranks. - View Dependent Claims (20, 21, 22, 23)
-
Specification