Method for insuring data integrity for mirrored independently accessible memory devices
First Claim
Patent Images
1. A method for executing a write request to mirrored memory locations comprising the steps of:
- acquiring data for a current data write operation to a data storage system;
generating a data storage recency value for said current write operation;
appending said data storage recency value to said acquired data, thereby generating ranked data; and
writing said ranked data to a plurality of mirrored memory locations in said storage system.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates to a system and method for preserving and identifying recency information for data stored in multiple mirrored memory locations in a redundant data storage mechanism. The inventive approach builds upon the benefits presented by redundant storage by appending an indication of storage recency to stored data, thereby enabling a future read operation to identify a degree of recency for data stored in each of a plurality of mirrored sites. The read operation will generally return only the most recently stored data found among the plurality of mirrored locations.
60 Citations
20 Claims
-
1. A method for executing a write request to mirrored memory locations comprising the steps of:
-
acquiring data for a current data write operation to a data storage system;
generating a data storage recency value for said current write operation;
appending said data storage recency value to said acquired data, thereby generating ranked data; and
writing said ranked data to a plurality of mirrored memory locations in said storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
identifying a highest indication of recency among data recency values existing at said plurality of mirrored memory locations;
modifying said identified highest indication of recency to reflect a higher degree of recency; and
establishing said modified identified highest indication of recency as said data storage recency indication for said current write operation.
-
-
3. The method of claim 1 wherein the step of generating a data storage recency value comprises the steps of:
-
identifying a highest sequence number among sequence numbers indicating data storage recency at said plurality of mirrored memory locations;
incrementing said identified highest sequence number; and
establishing said incremented identified highest sequence number as said data storage recency value for said current write operation.
-
-
4. The method of claim 1 further comprising the step of:
where said step of writing said ranked data to said plurality of mirrored memory locations succeeds at all of said mirrored memory locations, resetting data storage recency values at all of said plurality of mirrored memory locations.
-
5. The method of claim 1 further comprising the step of:
reading, from said plurality of mirrored memory locations, data from a memory location most recently written to among said plurality of mirrored memory locations.
-
6. The method of claim 5 wherein said reading step comprises the steps of:
-
acquiring stored data and data storage recency values from said plurality of mirrored memory locations; and
identifying a data storage recency value having a highest indication of recency among said acquired data storage recency values;
returning stored data associated with said identified data storage recency value having said highest indication of recency as a result of said step of reading.
-
-
7. The method of claim 1 wherein said plurality of mirrored memory locations comprises only two mirrored memory locations, and said data storage recency values are sequence numbers whose value is incremented with progressively increasing data recency, thereby establishing two sequence numbers.
-
8. The method of claim 7 comprising the further step of:
requesting stored data and said two sequence numbers values from said two mirrored memory locations.
-
9. The method of claim 8 comprising the further steps of:
-
where both of said two mirrored memory locations are accessible, acquiring said stored data and said two sequence numbers from said two mirrored memory locations;
determining a higher sequence number of said two sequence numbers; and
returning stored data associated with said higher sequence number as a result of a read operation.
-
-
10. The method of claim 8 comprising the further steps of:
-
where only one of said two mirrored memory locations is accessible, acquiring stored data and a sequence number stored at said one accessible mirrored memory location.
-
-
11. The method of claim 10 comprising the further step of:
setting a flag indicating an inaccessibility of one of said two mirrored memory locations.
-
12. A data storage system including information indicating a validity of stored data, the system comprising:
-
a plurality of mirrored memory locations;
user data stored at a first memory location of said plurality of mirrored memory locations; and
a data storage recency value appended to said stored user data at said first memory location to form a ranked data storage packet. - View Dependent Claims (13, 14, 15, 16, 17)
user data stored at at least one additional memory location of said plurality of mirrored memory locations; and
data storage recency values appended to each of said at least one additional memory location of said plurality of mirrored memory locations, thereby forming ranked data storage packets at said at least one additional memory location, thereby providing at least two mirrored memory locations each having appended data storage recency values and ranked data storage packets.
-
-
14. The data storage system of claim 13 further comprising:
a memory read instruction able to compare data storage recency values at each of said at least two mirrored memory locations.
-
15. The data storage system of claim 14 further comprising:
an algorithm for recognizing, based on said appended data storage recency values, a memory location of said at least two mirrored memory locations whose user data was most recently stored.
-
16. The data storage system of claim 12 wherein said data recency value is a sequence number.
-
17. The data storage system of claim 12 wherein said data recency value is a time stamp.
-
18. A computer program product having a computer readable medium having computer program logic recorded thereon for providing an indication of validity of currently stored data in a data storage system, the computer program product comprising:
-
code for acquiring user data for a current write operation to said data storage system;
code for appending a data storage recency value to said acquired user data for said current write operation to produce a ranked data packet;
code for writing said ranked data packet to a plurality of mirrored memory locations in said storage system. - View Dependent Claims (19, 20)
code for identifying a highest indication of recency among data recency values existing at said plurality of mirrored memory locations;
code for modifying said identified highest indication of recency to reflect a higher degree of recency; and
code for establishing said modified identified highest indication of recency as said data storage recency indication for said current write operation.
-
-
20. The computer program product of claim 18 wherein the code for appending a data storage recency indication comprises:
-
code for identifying a highest sequence number among sequence numbers indicating data storage recency at said plurality of mirrored memory locations;
code for incrementing said identified highest sequence number; and
code for establishing said incremented identified highest sequence number as said data storage recency indication for said current write operation.
-
Specification