Adjusting timestamps to preserve update timing information for cached data objects
First Claim
Patent Images
1. A method for using timestamps to manage data, the method comprising the following operations:
- storing some data objects in a cache and other non-cached data objects in a primary storage;
for each data object stored in the primary storage, writing a current timestamp to the primary storage representing a time that the data object was stored in the primary storage;
for each data object stored in the cache, placing in the cache an original timestamp corresponding to the data object, the original timestamp representing a time that the data object was stored in the cache;
writing data objects from the cache and corresponding advanced timestamps to the primary storage, where each advanced timestamp is equal to an original timestamp plus a prescribed time delta;
responsive to requests to apply a predetermined consistency group formation routine to identified data objects in the primary storage, for each data object, reading the advanced timestamp corresponding to the identified data object and subtracting the time delta therefrom to compute a restored timestamp, and then applying the routine to the identified data object in conjunction with the restored timestamp instead of the advanced timestamp.
7 Assignments
0 Petitions
Accused Products
Abstract
In a system including a host, a primary storage subsystem coupled to the host, a cache coupled to the host and separate from the primary storage system, a secondary storage subsystem, and a data mover coupling the primary and secondary storage systems, data is temporarily cached for future storage in the primary storage subsystem so as to preserve timestamp information and maintain data consistency for asynchronously mirroring the data at a secondary subsystem.
-
Citations
21 Claims
-
1. A method for using timestamps to manage data, the method comprising the following operations:
-
storing some data objects in a cache and other non-cached data objects in a primary storage;
for each data object stored in the primary storage, writing a current timestamp to the primary storage representing a time that the data object was stored in the primary storage;
for each data object stored in the cache, placing in the cache an original timestamp corresponding to the data object, the original timestamp representing a time that the data object was stored in the cache;
writing data objects from the cache and corresponding advanced timestamps to the primary storage, where each advanced timestamp is equal to an original timestamp plus a prescribed time delta;
responsive to requests to apply a predetermined consistency group formation routine to identified data objects in the primary storage, for each data object, reading the advanced timestamp corresponding to the identified data object and subtracting the time delta therefrom to compute a restored timestamp, and then applying the routine to the identified data object in conjunction with the restored timestamp instead of the advanced timestamp. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of temporarily caching data prior to storage in a primary storage subsystem for asynchronous mirroring at a secondary storage subsystem without sacrificing timestamp information, the method performed in a system including a host, the primary storage subsystem coupled to the host, a cache coupled to the host and separate from the primary storage subsystem, a secondary storage subsystem, and a data mover coupling the primary and secondary storage subsystems, the method comprising operations of:
-
the host identifying various data objects to store in the primary storage subsystem;
the host storing some of the identified data objects in the cache in association with original timestamps correlated to times of storage in the cache;
the host sending other of the identified data objects to the primary storage subsystem for storage therein, and the primary storage subsystem responding by storing the other data objects in association with current timestamps correlated to times of storage in the primary storage subsystem;
according to a predetermined schedule, the host sending cached data objects to the primary storage subsystem for storage therein and also including commands for the primary storage subsystem to store each data object in association with an advanced timestamp comprising the original timestamp associated with the data object increased by a predetermined margin, the predetermined margin being of sufficient amount so as to be recognizable as an advanced timestamp and an amount permitting derivation of the original timestamp from the advanced timestamp. - View Dependent Claims (7, 8)
-
-
9. At least one signal-bearing medium tangibly embodying a program of machine-readable instructions executable by at least one digital processing apparatus to perform a method for using timestamps to manage data, the method comprising the following operations:
-
storing some data objects in a cache and other, non-cached data objects in a primary storage;
for each data object stored in the primary storage, writing a current timestamp to the primary storage representing a time that the data object was stored in the primary storage;
for each data object stored in the cache, placing in the cache an original timestamp corresponding to the data object, the original timestamp representing a time that the data object was stored in the cache;
writing data objects from the cache and corresponding advanced timestamps to the primary storage, where each advanced timestamp is equal to an original timestamp plus a prescribed time delta;
responsive to requests to apply a predetermined consistency group formation routine to identified data objects in the primary storage, for each data object, reading the advanced timestamp corresponding to the identified data object and subtracting the time delta therefrom to compute a restored timestamp, and then applying the routine to the identified data object in conjunction with the restored timestamp instead of the advanced timestamp. - View Dependent Claims (10, 11, 12, 13)
-
-
14. At least one signal-bearing medium tangibly embodying a program of machine-readable instructions executable by at least one digital processing apparatus to perform operations of caching data prior to storage in a primary storage subsystem for asynchronous mirroring at a secondary storage subsystem without sacrificing timestamp information, the operations performed in a system including a host, the primary storage subsystem coupled to the host, a cache coupled to the host and separate from the primary storage subsystem, a secondary storage subsystem, and a data mover coupling the primary and secondary storage subsystems, the operations comprising:
-
the host identifying various data objects to store in the primary storage subsystem;
the host storing some of the identified data objects in the cache in association with original timestamps correlated to times of storage in the cache;
the host sending other of the identified data objects to the primary storage subsystem for storage therein, and the primary storage subsystem responding by storing the other data objects in association with current timestamps correlated to times of storage in the primary storage subsystem;
according to a predetermined schedule, the host sending cached data objects to the primary storage subsystem for storage therein and also including commands for the primary storage subsystem to store each data object in association with an advanced timestamp comprising the original timestamp associated with the data object increased by a predetermined margin, the predetermined margin being of sufficient amount so as to be recognizable as an advanced timestamp and an amount permitting derivation of the original timestamp from the advanced timestamp. - View Dependent Claims (15, 16)
-
-
17. A data storage system, comprising:
-
a cache;
a primary storage;
a host programmed to perform operations comprising;
storing some data objects in a cache and some data objects in the primary storage;
for each data object stored in the cache, placing in the cache an original timestamp corresponding to the data object, the original timestamp representing a time that the data object was stored in the cache;
writing data objects from the cache and corresponding advanced timestamps to the primary storage, where each advanced timestamp is equal to an original timestamp plus a prescribed time delta;
the primary storage programmed to perform operations comprising;
for each data object stored in the primary storage, writing a current timestamp to the primary storage representing a time that the data object was stored in the primary storage;
a data mover, programmed to perform operations comprising, responsive to requests to apply a predetermined consistency group formation routine to identified data objects in the primary storage, for each data object, reading the advanced timestamp corresponding to the identified data object from the sidefile and subtracting the time delta therefrom to compute a restored timestamp, and then applying the routine to the identified data object in conjunction with the restored timestamp instead of the advanced timestamp.
-
-
18. A data storage system configured to temporarily cache data pending storage in a primary storage subsystem asynchronously mirrored at a secondary storage subsystem without sacrificing timestamp information, comprising:
-
a host;
a primary storage subsystem coupled to the host;
a cache coupled to the host and separate from the primary storage subsystem;
a secondary storage subsystem;
a data mover coupling the primary and secondary storage subsystems;
where the host, primary storage subsystem, and data mover are programmed to perform operations comprising;
the host identifying various data objects to store in the primary storage subsystem;
the host storing some of the identified data objects in the cache in association with original timestamps correlated to times of storage in the cache;
the host sending other of the identified data objects to the primary storage subsystem for storage therein, and the primary storage subsystem responding by storing the other data objects in association with current timestamps correlated to times of storage in the primary storage subsystem;
according to a predetermined schedule, the host sending cached data objects to the primary storage subsystem for storage therein and also including commands for the primary storage subsystem to store each data object in association with an advanced timestamp comprising the original timestamp associated with the data object increased by a predetermined margin, the predetermined margin being of sufficient amount so as to be recognizable as an advanced timestamp and an amount permitting derivation of the original timestamp from the advanced timestamp. - View Dependent Claims (19, 20)
-
-
21. A data storage system, comprising:
-
a cache;
a primary storage;
host means for performing operations comprising;
storing some data objects in a cache and some data objects in the primary storage;
for each data object stored in the cache, placing in the cache an original timestamp corresponding to the data object, the original timestamp representing a time that the data object was stored in the cache;
writing data objects from the cache and corresponding advanced timestamps to the primary storage, where each advanced timestamp is equal to an original timestamp plus a prescribed time delta;
a primary controller in the primary storage for performing operations comprising, for each data object stored in the primary storage, writing a current timestamp to the primary storage representing a time that the data object was stored in the primary storage;
data mover means for performing operations comprising, responsive to requests to apply a predetermined consistency group formation routine to identified data objects in the primary storage, for each data object, reading the advanced timestamp corresponding to the identified data object from the sidefile and subtracting the time delta therefrom to compute a restored timestamp, and then applying the routine to the identified data object in conjunction with the restored timestamp instead of the advanced timestamp.
-
Specification