STORAGE CONTROLLER, AND CONTROL METHOD OF THE SAME
First Claim
1. A storage controller for storing data that is used by an external device, comprising:
- a first storage area that holds storage contents obtained at a latest point;
a second storage area that holds storage contents obtained at a base point positioned before the latest point;
an update history management section that manages an update history of the first storage area which is generated by an update request from the external device; and
a controller that restores the storage contents of the first storage area that are obtained at a restoration point included in a period between the base point and the latest point, whereinthe controller (1) detects a first update area that is updated during a first period between the restoration point and the latest point, a second update area that is updated during a second period between the base point and the restoration point, and a third update area that is common to the first update area and the second update area, (2) uses the storage contents of the second storage area with respect to the first update area, uses the storage contents of the first storage area with respect to the second update area, uses the storage contents of the second storage area and an update history obtained within the second period with respect to a third storage area, and uses the storage contents of either one of the first and second storage areas with respect to an unupdate area which is not updated during both the first period and the second period, and thereby (4) restores the storage contents of the first storage area that are obtained at the restoration point.
1 Assignment
0 Petitions
Accused Products
Abstract
The storage controller of the present invention can efficiently execute recovery by using the storage contents of the primary volume and of the base volume as much as possible. The difference between the primary volume and the base volume is managed by using difference bitmaps that differ in the sections. At the time of recovery, the differences that occur after the restoration point and before the restoration point are managed in the respective bitmaps. The base volume can be used in the area updated only after the restoration point, and the primary volume can be used in the area updated only before the restoration point. In the areas that are updated before and after the restoration point, the data of the base volume is copied to the primary volume, and thereafter the journal data obtained up to the restoration point are written to the primary volume.
41 Citations
14 Claims
-
1. A storage controller for storing data that is used by an external device, comprising:
-
a first storage area that holds storage contents obtained at a latest point; a second storage area that holds storage contents obtained at a base point positioned before the latest point; an update history management section that manages an update history of the first storage area which is generated by an update request from the external device; and a controller that restores the storage contents of the first storage area that are obtained at a restoration point included in a period between the base point and the latest point, wherein the controller (1) detects a first update area that is updated during a first period between the restoration point and the latest point, a second update area that is updated during a second period between the base point and the restoration point, and a third update area that is common to the first update area and the second update area, (2) uses the storage contents of the second storage area with respect to the first update area, uses the storage contents of the first storage area with respect to the second update area, uses the storage contents of the second storage area and an update history obtained within the second period with respect to a third storage area, and uses the storage contents of either one of the first and second storage areas with respect to an unupdate area which is not updated during both the first period and the second period, and thereby (4) restores the storage contents of the first storage area that are obtained at the restoration point. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A storage controller for storing data that is used by an external device, comprising:
-
a first volume that holds storage contents obtained at a latest point; a second volume that holds storage contents of the first volume obtained at a base point; a third volume that stores journal data items generated based on an update request targeted to the first volume; a plurality of first difference bitmaps for managing a position at which a difference in storage contents between the first volume and the second volume is generated, for each of a plurality of predetermined sections; and a controller for controlling the first volume, the second volume, the third volume, and each of the first difference bitmaps, wherein the controller executes (1) a copy function for storing, in the second volume, the storage contents of the first volume that are obtained at a predetermined time point, (2) a journal generating function for generating the journal data items on the basis of the update request sent from the external device and causing the generated journal data items to be stored in the third volume, (3) a difference management function for causing the position, at which a difference between the first volume and the second volume is generated, to be stored in one of the first difference bitmaps, which is selected for each of the predetermined section, on the basis of the update request that is issued from the external device after the predetermined time point, (4) a reflection function for causing predetermined journal data items which are obtained after a lapse of a pre-designated targeted protection period, from among the journal data items stored in the third volume, to be reflected in the second volume, (5) a journal discarding function for discarding the predetermined journal data items reflected in the second volume, (6) a reusing function for deleting storage contents of a predetermined first difference bitmap from among the first difference bitmaps, the predetermined first difference bitmap having all corresponding journal data items discarded, and reusing thus obtained first difference bitmap as a new first difference bitmap, and (7) a restoration function, which, when a restoration point is designated and execution of restoration is commanded, (7-1) detects, from a logical sum of a plurality of the first difference bitmaps obtained after the restoration point, a first update area that is updated during a first period between the restoration point and the latest point, (7-2) detects, from a logical sum of a plurality of the first difference bitmaps obtained before the restoration point, a second update area that is updated during a second period between the base point and the restoration point, (7-3) detects a third update area that is common to both the first update area and the second update area, and (7-4) uses the storage contents of the second volume for the first update area, uses the storage contents of the first volume for the second update area, copies, to a predetermined area, storage contents stored in an area corresponding to the third update area in the second volume, for the third update area, and thereafter writes journal data items related to the third update area over the predetermined area in a predetermined order, and, for an unupdate area which is not updated during both the first period and the second period, uses the storage contents stored in either one of the first and second storage areas to acquire the storage contents of the first volume that are obtained at the restoration point.
-
-
14. A method for controlling a storage controller for storing data used by an external device, the method comprising the steps of:
-
causing storage contents obtained at a latest point to be held in a first storage area; causing storage contents obtained at a base point positioned before the latest point to be held in a second storage area; causing an update history management section to manage an update history of the first storage area which is generated by an update request sent from the external device, detecting, when a restoration point is designated and restoration is commanded, a first update area that is updated during a first period between the restoration point and the latest point, a second update area that is updated during a second period between the base point and the restoration point, and a third update area that is common to both the first update area and the second update area; and using storage contents of the second storage area with respect to the first update area, using the storage contents of the first storage area with respect to the second update area, using the storage contents of the second storage area and an update history obtained during the second period with respect to the third update area, using the storage contents of either one of the first and second storage areas with respect to an unupdate area which is not updated during both the first period and the second period, and thereby restoring the storage contents of the first storage area that are obtained at the restoration point.
-
Specification