Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
First Claim
1. A method of operating a data storage system to provide uninterrupted read access to a consistent dataset concurrent with performing a series of revisions upon the dataset, the series of revisions including a first set of revisions followed by a second set of revisions, the dataset being in a consistent state after performing each set of revisions upon the dataset, said method comprising:
- a) processing the first set of revisions to build up a directory of the first set of revisions; and
then b) processing the second set of revisions to build up a directory of the second set of revisions, and concurrently performing the first set of revisions upon the dataset, and concurrently performing read access to specified data in the dataset by accessing the directory of the first set of revisions to determine whether the specified data are in the first set of revisions, and upon finding that the specified data are in the first set of revisions, obtaining the specified data from the first set of revisions, and upon finding that the specified data are not in the first set of revisions, obtaining the specified data from the dataset.
9 Assignments
0 Petitions
Accused Products
Abstract
A data storage system receives sets of the revisions such that each set of revisions changes the dataset from one consistent state to another. Each set of revisions is processed in a write-selected phase followed by a read-selected phase. In the write-selected phase, the revisions in each set are written to a buffer and processed to produce a directory of the set of revisions. In the read-selected phase, the revisions are read from the buffer and integrated into the dataset. When one set of revisions is in the read-selected phase, the next set of revisions is in the write-selected phase. To permit uninterrupted read-only access to a consistent state of the dataset, the data storage system responds to a request for reading specified data on a priority basis by first accessing the directory of the read-selected revisions to determine whether the specified data are in the read-selected set of revisions, and if so, the specified data are read from the read-selected set of revisions, and if not, the specified data are read from the dataset. In a preferred implementation, the sets of revisions are alternately written to either a first buffer or a second buffer, and processing of each set of revisions is switched from the write-selected phase to the read-selected phase by switching between the two buffers.
260 Citations
33 Claims
-
1. A method of operating a data storage system to provide uninterrupted read access to a consistent dataset concurrent with performing a series of revisions upon the dataset, the series of revisions including a first set of revisions followed by a second set of revisions, the dataset being in a consistent state after performing each set of revisions upon the dataset, said method comprising:
-
a) processing the first set of revisions to build up a directory of the first set of revisions; and
thenb) processing the second set of revisions to build up a directory of the second set of revisions, and concurrently performing the first set of revisions upon the dataset, and concurrently performing read access to specified data in the dataset by accessing the directory of the first set of revisions to determine whether the specified data are in the first set of revisions, and upon finding that the specified data are in the first set of revisions, obtaining the specified data from the first set of revisions, and upon finding that the specified data are not in the first set of revisions, obtaining the specified data from the dataset. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of read-write access by a first host processor to a dataset in a first data storage system concurrent with uninterrupted read-only access by a second host processor to a consistent state of a copy of the dataset in a second data storage system, revisions to the dataset in the first data storage system from the read-write access also being made to the copy of the dataset in the second data storage system, the revisions including a first set of revisions followed by a second set of revisions, the dataset being in a consistent state after performing each set of revisions upon the dataset, the method comprising:
-
a) processing the first set of revisions to build up a first directory of dataset revisions in the first set of revisions; and
thenb) processing the second set of revisions to build up a second directory of dataset revisions in the second set of revisions, and concurrently performing the first set of revisions upon the copy of the dataset, and concurrently performing read access on a priority basis to specified data in the dataset by accessing the first directory of dataset revisions to determine whether the specified data are in the first set of revisions, and upon finding that the specified data are in the first set of revisions, obtaining the specified data from the first set of revisions, and upon finding that the specified data are not in the first set of revisions, obtaining the data from the copy of the dataset. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A data storage system comprising, in combination,
data storage, and a storage controller responsive to read and write commands for accessing specified data of a dataset in the data storage, wherein each set of write commands modifies the dataset from one consistent state to another, and the storage controller is programmed to respond to each set of write commands by first operating upon revisions of said each set of write commands in a write-selected phase and then operating upon the revisions of said each set of write commands in a read-selected phase, the storage controller building up a directory of the revisions of said each set of write commands in the write-selected phase, and the storage controller accessing the directory of the revisions of said each set of write commands in the read-selected phase, the storage controller performing the revisions of said each set of write commands in the read-selected phase upon the dataset, and concurrently responding to the read commands on a priority basis by accessing the directory of the revisions of said each set of write commands in the read-selected phase to obtain specified data from the revisions of said each set of write commands in the read-selected phase when the specified data are in the revisions of said each set of write commands in the read-selected phase, and when the specified data are not in the revisions of said each set of write commands in the read-selected phase, obtaining the specified data from the dataset.
-
25. A data storage system comprising, in combination:
-
data storage, and a storage controller responsive to read and write commands for accessing specified data of a dataset in the data storage, the write commands specifying sets of revisions to be made to the dataset, wherein the storage controller is programmed to respond to transaction commit commands by alternately writing the sets of revisions to a first volume of the data storage and to a second volume of the data storage, each set of revisions to the dataset including revisions from a set of transactions defined by the transaction commit commands so that each set of revisions changes the dataset from one consistent state to another, and the storage controller is programmed with a remote mirroring facility for mirroring the first and second volumes to corresponding volumes in a remote data storage system. - View Dependent Claims (26, 27, 28, 29, 30)
-
-
31. A program storage device comprising:
a program for a storage controller of a data storage system, the program being executable by the storage controller for responding to read and write commands for accessing specified data of a dataset in data storage of the data storage system, wherein each set of write commands modifies the dataset from one consistent state to another, and the program is executable by the storage controller for responding to each set of write commands by first operating upon revisions of said each set of write commands in a write-selected phase and then operating upon the revisions of said each set of write commands in a read-selected phase, the storage controller building up a directory of the revisions of said each set of write commands in the write-selected phase, and the storage controller accessing the directory of the revisions of said each set of write commands in the read-selected phase, the storage controller performing the revisions of said each set of write commands in the read-selected phase upon the dataset, and concurrently responding to the read commands on a priority basis by accessing the directory of the revisions of said each set of write commands in the read-selected phase to obtain specified data from the revisions of said each set of write commands in the read-selected phase when the specified data are in the revisions of said each set of write commands in the read-selected phase, and when the specified data are not in the revisions of said each set of write commands in the read-selected phase, obtaining the specified data from the dataset. - View Dependent Claims (32, 33)
Specification