Patent ID: 9256367
Filing Date: 2016-02-09
CPC Classification: G06F

Claim Text:
1. A controller coupled to a first storage medium, a second storage medium, and a third storage medium, wherein the first storage medium, the second storage medium, and the third storage medium are connected to directly perform one or more copy functions, wherein the first storage medium is of a lower performance type, and the second storage medium and the third storage medium are of a higher performance type, and wherein the controller is configured to: store an image comprising a plurality of regions of data on the first storage medium; initiate a copy function to copy one or more regions of the plurality of regions of data stored in the image on the first storage medium, from the first storage medium to the second storage medium, in response to an Input/Output (IO) access to the one or more regions of the plurality of regions of data stored in the image on the first storage medium and direct all JO access for the image to the second storage medium, in response to completion of the initiated copy function; and moving a first region of IO accessed data stored in the second storage medium from the second storage medium to the first storage medium, wherein: in response to the data stored in the second storage medium reaching a predetermined size directing IO access to the third storage medium, and subsequent to directing IO access to the third storage medium and subsequent to a set of I/O accesses to the third storage medium to build up a new generation of data in the third storage medium, moving a second region of IO accessed data stored in the third storage medium from the third storage medium which is of the higher performance type to the first storage medium which is of the lower performance type; and in response to the data stored in the third storage medium reaching another predetermined size directing IO access to the second storage medium, and subsequent to directing IO access to the second storage medium and subsequent to another set of I/O accesses to the second storage medium to build up another new generation of data in the second storage medium, moving a third region of IO accessed data stored in the second storage medium from the second storage medium which is of the higher performance type to the first storage medium which is of the lower performance type, wherein the image comprises a vdisk, wherein the second storage medium and the third storage medium comprise a single disk, and wherein the controller is configured to maintain address metadata for data stored by the single disk and to adjust the address metadata in response to IO that would otherwise copy data between the second storage medium and the third storage medium.