Method for managing critial data in an N-way mirrored storage device
Abstract
Accordingly, the present invention is directed to a method of managing data in a storage system. A method of performing a write to data storage system, including a first storage device and a second storage device, may include writing a first set of header information to a first storage device and a second storage device. The first set of header information includes a first sequence number and a second sequence number, in which the first set of header information includes a first sequence number incremented to indicate a change from the second sequence number. Data is written to the first storage device and the second storage device. Then, a second set of header information is written to a first storage device and a second storage device. The second set of header information includes a first sequence number and a second sequence number, in which the second set of header information includes a second sequence number incremented to correspond to the first sequence number.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of performing a write to data storage system including a first storage device and a second storage device, comprising:
writing a first set of header information to a first storage device and a second storage device, wherein the first set of header information includes a first sequence number and a second sequence number, in which the first set of header information includes a first sequence number incremented to indicate a change from the second sequence number; writing data to the first storage device and the second storage device; and writing a second set of header information to a first storage device and a second storage device, wherein the second set of header information includes a first sequence number and a second sequence number, in which the second set of header information includes a second sequence number incremented to correspond to the first sequence number.
2 . The method as described in claim 1 , further comprising returning status of completion of a write writing the second set of header information.
3 . The method as described in claim 1 , wherein writing data to the first storage device and the second storage device is performed after completion of writing the first set of header information.
4 . The method as described in claim 1 , wherein writing the second set of header information is started after completion of writing data to the first storage device and the second storage device.
5 . The method as described in claim 1 , wherein data includes a database transaction.
6 . The method as described in claim 1 , further comprising detecting and recovering from an interruption.
7 . The method as described in claim 6 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number stored on the first storage device is one increment greater than the first sequence number stored on the second storage device and the second sequence numbers stored on the first storage device and the second storage device match the first sequence number stored on the second storage device, recovering includes writing header information matching the first sequence number stored on the second storage device to the first storage device.
8 . The method as described in claim 6 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number stored on the first storage device matches the first sequence number stored on the second storage device; and the second sequence number of the first storage device matches the first sequence numbers of the first storage device and the second storage device; and the second sequence number of the second storage device is one increment lower that the second sequence number of the first storage device, recovering includes writing header information matching the second sequence number of the second device, so that the first storage device includes the first sequence number and second sequence number of the second storage device, as well as writing header data so that the first sequence number of the second storage device matches the second sequence number of the second device.
9 . The method as described in claim 6 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence numbers stored on the first storage device and the second storage device match, and the second sequence numbers stored on the first storage device and the second storage device match, but the first sequence numbers do not match the second sequence numbers, recovering includes performing a resynchronization.
10 . The method as described in claim 1 , wherein invalid data is detected.
11 . The method as described in claim 10 , wherein invalid data is detected by examining the first sequence numbers included on the first storage device and the second storage device, so that if the first sequence number included on the first storage device is more than one less increment of the first sequence number included on the second storage device, the header information from the second storage device is written to the first storage device.
12 . The method as described in claim 10 , wherein invalid data is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number included on the first storage device is one less increment of the first sequence number included on the second storage device, and the second sequence number of the second storage device matches the first sequence number of the second storage device, the header information from the second storage device is written to the first storage device.
13 . A data storage system suitable for performing a write of data, comprising:
a first data storage device suitable for storing electronic data; a second data storage device suitable for storing electronic data; a data storage controller coupled to the first data storage device and the second data storage device, the data storage controller suitable for performing a program of instructions, wherein the program of instruction configures the data storage controller to write a first set of header information to the first storage device and the second storage device, wherein the first set of header information includes a first sequence number incremented to indicate initiation of a write operation; write data to the first storage device and the second storage device; and write a second set of header information to the first storage device and the second storage device, wherein the second set of header information includes a second sequence number incremented to indicate completion of the data write.
14 . The data storage system as described in claim 13 , further comprising returning status of completion, after writing the second set of header information, to an application requesting a database transaction.
15 . The data storage system as described in claim 13 , wherein writing data to the first storage device and the second storage device is performed after completion of writing the first set of header information.
16 . The data storage system as described in claim 13 , wherein writing the second set of header information is started after completion of writing data to the first storage device and the second storage device.
17 . The data storage system as described in claim 13 , wherein data includes a database transaction.
18 . The data storage system as described in claim 13 , further comprising detecting and recovering from an interruption.
19 . The data storage system as described in claim 18 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number stored on the first storage device is one increment greater than the first sequence number stored on the second storage device and the second sequence numbers stored on the first storage device and the second storage device match the first sequence number stored on the second storage device, recovering includes writing header information matching the first sequence number stored on the second storage device to the first storage device.
20 . The data storage system as described in claim 18 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number stored on the first storage device matches the first sequence number stored on the second storage device; and the second sequence number of the first storage device matches the first sequence numbers of the first storage device and the second storage device; and the second sequence number of the second storage device is one increment lower that the second sequence number of the first storage device, recovering includes writing header information matching the second sequence number of the second device, so that the first storage device includes the first sequence number and second sequence number of the second storage device, as well as writing header data so that the first sequence number of the second storage device matches the second sequence number of the second device.
21 . The data storage system as described in claim 18 , wherein the interruption is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence numbers stored on the first storage device and the second storage device match, and the second sequence numbers stored on the first storage device and the second storage device match, but the first sequence numbers do not match the second sequence numbers, recovering includes performing a resynchronization.
22 . The data storage system as described in claim 13 , wherein invalid data is detected.
23 . The data storage system as described in claim 22 , wherein invalid data is detected by examining the first sequence numbers included on the first storage device and the second storage device, so that if the first sequence number included on the first storage device is more than one less increment of the first sequence number included on the second storage device, the header information from the second storage device is written to the first storage device.
24 . The data storage system as described in claim 22 , wherein invalid data is detected by examining the first sequence numbers and the second sequence numbers included on the first storage device and the second storage device, so that if the first sequence number included on the first storage device is one less increment of the first sequence number included on the second storage device, and the second sequence number of the second storage device matches the first sequence number of the second storage device, the header information from the second storage device is written to the first storage device.
25 . A method, comprising:
obtaining a database identifier from a data storage device included in a data storage system; and comparing the obtained database identifier with a previously stored database identifier, wherein if the obtained data identifier does not correspond with a previously stored database identifier, the data storage device is not native to a data storage system.
26 . The method as described in claim 25 , wherein if the obtained data identifier does correspond with a previously stored database identifier, the data storage device is native to a data storage system.
27 . The method as described in claim 25 , wherein the data storage device is not native to the data storage system, data included on the data storage device is written to a second data storage device included in the data storage system.
28 . The method as described in claim 27 , wherein after data included on the data storage device is written to the second data storage device, the data storage device is written so that the data storage device corresponds with the second data storage device.
29 . The method as described in claim 25 , wherein the data storage device is not native to the data storage system, data from a second data storage device native to the data storage system is written to the data storage device.
30 . The method as described in claim 29 , wherein the data storage device includes previously stored data, the previously stored data is overwritten by data from the second data storage device.Join the waitlist — get patent alerts
Track US2003200391A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.