Computer storage systems
First Claim
1. A system for providing a copy of data at a point in time, comprising:
- a data storage device, comprising a master store arranged to store blocks of data, a plurality of subsidiary stores each arranged to store point in time copy data comprising blocks of data copied from said master store at a particular point in time, and a plurality of bitmap stores each bitmap store being associated with a corresponding different one of the subsidiary stores and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store; and
a controller configured to generate point in time copies, the controller being arranged, in response to a request to generate a first point in time copy at a first point in time, to check, when a data block in the master store is about to be changed, whether the data in that data block at the first point in time has already been copied to a first one of the subsidiary stores, and, if not, to copy that data to the first subsidiary store, the controller further being arranged, in response to a request to generate a second point in time copy at a second point in time, to check, when a data block in the master store is about to be changed, whether the data in that data block at the second point in time has already been copied to a second one of the subsidiary stores, and, if not, to copy that data to the second subsidiary store, the controller also being arranged to maintain data indicating differences between the master store and each point in time copy by causing data to be stored in the associated bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy.
2 Assignments
0 Petitions
Accused Products
Abstract
A system for providing a copy of data at a point in time, has: a data storage device including a master store arranged to store blocks of data, at least one subsidiary store to store point in time copy data having blocks of data copied from said master store at a particular point in time, and a bitmap store associated with each the subsidiary store to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store. Where more than one subsidiary stores and associated bitmap stores are provided, a controller may make different point in time copies in different subsidiary stores. A number of master stores may also be provided, each associated with a corresponding subsidiary store and a bitmap store. In this case, the controller may ensure that point in time copies of all the master stores are made at the same point in time. Data from a master store may be stored in a subsidiary store only when it is to be replaced in the master store. In this case, the subsidiary store may be smaller in capacity than the master store and an overflow store may be provided for use when the subsidiary store is full.
-
Citations
65 Claims
-
1. A system for providing a copy of data at a point in time, comprising:
-
a data storage device, comprising a master store arranged to store blocks of data, a plurality of subsidiary stores each arranged to store point in time copy data comprising blocks of data copied from said master store at a particular point in time, and a plurality of bitmap stores each bitmap store being associated with a corresponding different one of the subsidiary stores and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store; and
a controller configured to generate point in time copies, the controller being arranged, in response to a request to generate a first point in time copy at a first point in time, to check, when a data block in the master store is about to be changed, whether the data in that data block at the first point in time has already been copied to a first one of the subsidiary stores, and, if not, to copy that data to the first subsidiary store, the controller further being arranged, in response to a request to generate a second point in time copy at a second point in time, to check, when a data block in the master store is about to be changed, whether the data in that data block at the second point in time has already been copied to a second one of the subsidiary stores, and, if not, to copy that data to the second subsidiary store, the controller also being arranged to maintain data indicating differences between the master store and each point in time copy by causing data to be stored in the associated bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy. - View Dependent Claims (2, 3, 4, 5, 14, 15, 16, 17, 24, 25)
-
-
6. A system for providing a copy of data at a point in time, comprising:
-
a data storage device, comprising a plurality of master stores each arranged to store blocks of data, a plurality of subsidiary stores each associated with a corresponding one of the master stores and each arranged to store point in time copy data comprising blocks of data copied from said master stored for a point in time, and a plurality of bitmap stores each bitmap store being associated with a corresponding different one of master stores and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store; and
a controller configured to generate a point in time copy, the controller being arranged, in response to a request to generate a point in time copy at a point in time, to check, when a data block in a master store is about to be changed, whether the data in that data block for the associated point in time copy has already been copied to the associated subsidiary store, and, if not, to copy that data to the associated subsidiary store, the controller also being arranged to maintain data indicating differences between the master store and the point in time copy by causing data to be stored in the associated bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy. - View Dependent Claims (7, 8, 9, 10, 18, 19, 20, 21, 26, 27)
-
-
11. A system for providing a copy of data at a point in time, comprising;
-
a data storage device, comprising a master store arranged to store blocks of data, a subsidiary store arranged to store point in time copy data comprising blocks of data copied from said master store for the same particular point in time, wherein the master store is capable of storing more blocks of data than the subsidiary store, and a bitmap store associated with the master store and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the subsidiary store and to which blocks in the subsidiary store the blocks of data from said master store have been copied;
a controller configured to generate a point in time copy, the controller being arranged, in response to a request to generate a point in time copy at a point in time, to check, when a data block in the master store is about to be changed, whether the data in that data block for the point in time copy has already been copied to the subsidiary store, and, if not, to copy that data to the subsidiary store and to store in the bitmap store address data representing the address of the block in the subsidiary store to which the data was copied, the controller also being arranged to maintain data indicating differences between the master store and the point in time copy by causing data to be stored in the bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy; and
an overflow store arranged to store, when said subsidiary store is full, blocks of data copied from said master store for the particular point in time. - View Dependent Claims (12, 22, 23)
-
-
13. A system for providing a copy of data at a point in time, comprising:
-
a first computer processing device;
a second computer processing device;
a data storage device coupled to the first computer processing device and comprising a master store arranged to store blocks of data, a subsidiary store arranged to store point in time copy data comprising blocks of data copied from said master store at a particular point in time and a first bitmap store coupled to the first computer processing device via a first link, the first bitmap store configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store;
a selectable coupling selectably coupling the second computer processing device to the subsidiary store to enable the second computer processing device to access a point in time copy; and
a second bitmap store coupled to the second computer processing device via a second link and configured to store data indicating when a data block of a point in time copy accessed by the second computer processing device has been modified, wherein when the second computer processing device is selectably coupled to the subsidiary store, the first computer processing device cannot access the subsidiary store.
-
-
28. A method of making a point in time copy using a computer processing system, the method comprising:
-
accessing a data storage device comprising a master store storing blocks of data, a plurality of subsidiary stores each arranged to store point in time copy data comprising blocks of data copied from said master store at a particular point in time and a plurality of bitmap stores each bitmap store being associated with a corresponding different one of the subsidiary stores and being arranged to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store;
generating a first point in time copy at a first point in time by checking, when a data block in the master store is about to be changed, whether the data in that data block at the first point in time has already been copied to a first one of the subsidiary stores, and, if not, copying that data to the first subsidiary store;
generating a second point in time copy at a second point in time by checking, when a data block in the master store is about to be changed, whether the data in that data block at the second point in time has already been copied to a second one of the subsidiary stores, and, if not, copying that data to the second subsidiary store; and
maintaining data indicating differences between the master store and each point in time copy by causing data to be stored in the associated bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy. - View Dependent Claims (29, 30, 31, 32, 41, 42, 43, 44, 51, 52, 56, 60)
-
-
33. A method of making a point in time copy using a computer processing system the method comprising:
-
accessing a data storage device comprising a plurality of master stores each storing blocks of data, a plurality of subsidiary stores each associated with a corresponding one of the master stores and each arranged to store point in time copy data comprising blocks of data copied from said master store for a point in time, and a plurality of bitmap stores each bitmap store being associated with a corresponding different one of the master stores and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store;
generating a point in time copy at a point in time by checking, when a data block in a master store is about to be changed, whether the data in that data block for the associated point in time copy has already been copied to the associated subsidiary store, and, if not, copying that data to the associated subsidiary store; and
maintaining data indicating differences between the master store and the point in time copy by causing data to be stored in the associated bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy. - View Dependent Claims (34, 35, 36, 37, 45, 46, 47, 48, 53, 54, 55, 57, 61)
-
-
38. A method of making a point in time copy using a computer processing system the method comprising:
-
accessing a data storage device comprising a master store storing blocks of data, a subsidiary store arranged to store point in time copy data comprising blocks of data copied from said master store for the same particular point in time, wherein the master store is capable of storing more blocks of data than the subsidiary store, and a bitmap store associated with the master store and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the subsidiary store and to which blocks in the subsidiary store the blocks of data from said master store have been copied;
generating a point in time copy by checking, when a data block in the master store is about to be changed, whether the data in that data block for the point in time copy has already been copied to the subsidiary store, and, if not, copying that data to the subsidiary store and storing in the bitmap store data representing the address of the block in the subsidiary store to which the data was copied wherein the data storage device has an overflow store arranged to store, when said subsidiary store is full, blocks of data copied from said master store for the particular point in time; and
maintaining data indicating differences between the master store and the point in time copy by causing data to be stored in the bitmap store to indicate when a data block in the master store differs from a corresponding data block of the point in time copy. - View Dependent Claims (39, 49, 50, 58, 62)
-
-
40. A method of maintaining a point in time copy using a computer system comprising a first computer processing device and a second computer processing device, the method comprising:
-
the first computer processing device accessing a master store storing blocks of data, storing a point in time copy data comprising blocks of data copied from said master store at a particular point in time in a subsidiary store, and storing data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store in a first bitmap store coupled to the first computer processing device via a first link; and
the second computer processing device selectably coupling to the subsidiary store via a second link in place of the first computer processing device to access the point in time copy, and storing data indicating when a data block of a point in time copy has been modified in a second bitmap store coupled to the second computer processing device and configured to accessed by the second computer processing device. - View Dependent Claims (59, 63)
-
-
64. A data storage device, comprising:
-
a master store arranged to store blocks of data;
a first subsidiary stores arranged to store first point in time copy data comprising blocks of data copied from said master store at a first point in time;
a second subsidiary stores arranged to store second point in time copy data comprising blocks of data copied from said master store at a second point in time; and
a plurality of bitmap stores each bitmap store being associated with a corresponding different one of the subsidiary stores and being configured to store data indicating when a data block of the master store differs from a corresponding data block stored in the associated subsidiary store. - View Dependent Claims (65)
-
Specification