Dynamic data relocation using cloud based ranks
First Claim
1. A computer-implemented method for dynamic data relocation, the method comprising:
- monitoring accesses to data stored on a plurality of local ranks of an enterprise storage system;
based on the monitored accesses, identifying data which has not been accessed for a predetermined amount of time;
moving the data which has not been accessed for the predetermined amount of time to one or more cloud based ranks of the enterprise storage system, wherein each cloud based rank comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local rank;
wherein the virtual local addresses are memory addresses which appear as addresses of a storage device coupled to a storage controller via a local connection;
in response to an access request directed to the corresponding virtual local addresses for at least part of the moved data, converting the access request to a cloud data access request configured for an application programming interface (API) corresponding to the one or more cloud storage devices of the one or more cloud based ranks;
relocating the at least part of the moved data from the one or more cloud based ranks to at least one of the plurality of local ranks;
determining that all of the moved data has been relocated to at least one of the plurality of local ranks; and
deleting the one or more cloud based ranks.
1 Assignment
0 Petitions
Accused Products
Abstract
An example method for dynamic data relocation using cloud based ranks comprises monitoring accesses to data stored on a plurality of local ranks of an enterprise storage system; identifying data which has not been accessed for a predetermined amount of time based on the monitored accesses; and moving the data which has not been accessed for the predetermined amount of time to one or more cloud based ranks of the enterprise storage system, wherein each cloud based rank comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local rank.
32 Citations
20 Claims
-
1. A computer-implemented method for dynamic data relocation, the method comprising:
-
monitoring accesses to data stored on a plurality of local ranks of an enterprise storage system; based on the monitored accesses, identifying data which has not been accessed for a predetermined amount of time; moving the data which has not been accessed for the predetermined amount of time to one or more cloud based ranks of the enterprise storage system, wherein each cloud based rank comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local rank; wherein the virtual local addresses are memory addresses which appear as addresses of a storage device coupled to a storage controller via a local connection; in response to an access request directed to the corresponding virtual local addresses for at least part of the moved data, converting the access request to a cloud data access request configured for an application programming interface (API) corresponding to the one or more cloud storage devices of the one or more cloud based ranks; relocating the at least part of the moved data from the one or more cloud based ranks to at least one of the plurality of local ranks; determining that all of the moved data has been relocated to at least one of the plurality of local ranks; and deleting the one or more cloud based ranks. - View Dependent Claims (2, 3, 4, 5)
-
-
6. 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 and the storage controller is further configured implement a data relocation module configured to; monitor accesses to data stored on a plurality of local redundant array of independent disks (RAID) arrays of an enterprise storage system; based on the monitored accesses, identify data which has not been accessed for a predetermined amount of time; move the data which has not been accessed for the predetermined amount of time to one or more cloud based RAID arrays of the enterprise storage system, wherein each cloud based RAID array comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local RAID array; wherein the virtual local addresses are grouped such that the storage space on the one or more cloud storage devices appears to the storage controller as a local array of storage devices connected to the storage controller without an intervening wide area network; in response to an access request directed to the corresponding virtual local addresses for at least part of the moved data, relocate the at least part of the moved data from the one or more cloud based ranks to at least one of the plurality of local ranks; and delete the one or more cloud based ranks in response to determining that all of the moved data has been relocated to at least one of the plurality of local ranks. - View Dependent Claims (7, 8, 9, 10)
-
-
11. 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:
-
monitor accesses to data stored on a plurality of local redundant array of independent disks (RAID) arrays of an enterprise storage system; based on the monitored accesses, identify data which has not been accessed for a predetermined amount of time; move the data which has not been accessed for the predetermined amount of time to one or more cloud based RAID arrays of the enterprise storage system, wherein each cloud based RAID array comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local RAID array such that the storage space on the one or more cloud storage devices appears to the storage controller as a local RAID array connected to the storage controller via a local connection; in response to an access request directed to the corresponding virtual local addresses for at least part of the moved data, convert the access request to a cloud data access request configured for an application programming interface (API) corresponding to the one or more cloud storage devices of the one or more cloud based ranks; relocate the at least part of the moved data from the one or more cloud based ranks to at least one of the plurality of local ranks; and delete the one or more cloud based ranks in response to determining that all of the moved data has been relocated to at least one of the plurality of local ranks. - View Dependent Claims (12, 13, 14, 15)
-
-
16. 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; monitor accesses to data stored on a plurality of local ranks of an enterprise storage system; based on the monitored accesses, identify data which has not been accessed for a predetermined amount of time; move the data which has not been accessed for the predetermined amount of time to one or more cloud based ranks of the enterprise storage system, wherein each cloud based rank comprises storage space on one or more cloud storage devices, the storage space on the one or more cloud storage devices mapped to corresponding virtual local addresses that are grouped as a virtual local rank such that the storage space on the one or more cloud storage devices appears to a storage controller as a local array of storage devices connected to the storage controller via a local connection; in response to an access request directed to the corresponding virtual local addresses for at least part of the moved data, convert the access request to a cloud data access request configured for an application programming interface (API) corresponding to the one or more cloud storage devices of the one or more cloud based ranks; and relocate the at least part of the moved data from the one or more cloud based ranks to at least one of the plurality of local ranks; and delete the one or more cloud based ranks in response to determining that all of the moved data has been relocated to at least one of the plurality of local ranks. - View Dependent Claims (17, 18, 19, 20)
-
Specification