← Back to Patent Explorer
US5533190A Expired / Lapsed US ⏱️ 0.0 years remaining

Method for maintaining parity-data consistency in a disk array

Assignee: Taiwan Semiconductor Manufacturing Co TSMC Ltd
•
Filing: 1994-12-21
•
Granted: 1996-07-02
•
Expires: 2014-12-21
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for assuring consistency between data and parity in a disk array system following a reset or a power failure condition which interrupts the execution of write I/O operations. The method includes the steps of: examining drive activities to identify unfinished write I/O operations due to an interrupt condition; logging information necessary to identify the unfinished operations and the array redundancy groups associated with the unfinished operations into a non-volatile memory; and checking for log entries in the non-volatile memory during a disk array subsystem initialization or the restoration of power. For each unfinished operation identified in the log, the method further includes the steps of: performing a bit-wise exclusive-OR of corresponding portions of the data stored within the associated redundancy group to calculate parity consistent therewith; and writing the calculated parity to the parity storage areas within the associated redundancy group. For an array operating with a failed disk drive member (i.e., in degraded mode), the method also logs information necessary to identify the storage areas to which the unfinished write I/O operations map new data and parity, and some form of the old data and parity information saved to that storage areas to which the unfinished write I/O operations map new data and parity. Following the system reset, or restoration of power, consistent parity is determined for each associated redundancy group.

Inventors

  • 👤 Charles D. Binford
  • 👤 Mark A. Gaertner
  • 👤 Steven P. Denny

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 06:13
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/08; G06F11/10; G06F11/1076; G06F11/1084; G06F11/1088; G06F11/14; G06F11/1402; G06F11/1415; G06F11/1435; G11; G11B; G11B20/00; G11B20/10; G11B20/18; G11B20/1833

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 180 words
In an independent access disk array subsystem, a method for maintaining consistency between the contents of data and parity storage areas within redundancy groups in the array subsystem following a system reset which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a reset signal; logging information necessary to identify said unfinished write I/O operations and the redundancy groups associated with said unfinished write I/O operations into a non-volatile memory; checking for log entries in the non-volatile memory during a disk array subsystem initialization following the system reset; for each one of said unfinished write I/O operations, performing a bit-wise exclusive-OR of corresponding portions of the data stored across the data storage areas within the redundancy group associated with said one of said unfinished write I/O operations to calculate parity consistent therewith; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 2
Dependent Claim 180 words
In an independent access disk array subsystem, a method for maintaining consistency between the contents of data and parity storage areas within redundancy groups in the array subsystem following a system reset which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a reset signal; logging information necessary to identify said unfinished write I/O operations and the redundancy groups associated with said unfinished write I/O operations into a non-volatile memory; checking for log entries in the non-volatile memory during a disk array subsystem initialization following the system reset; for each one of said unfinished write I/O operations, performing a bit-wise exclusive-OR of corresponding portions of the data stored across the data storage areas within the redundancy group associated with said one of said unfinished write I/O operations to calculate parity consistent therewith; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 3
Dependent Claim 18 words
The method in accordance with claim 1, further comprising the step of: reexecuting said unfinished write I/O operations.
Claim 4
Dependent Claim 36 words
The method in accordance with claim 1, wherein said information necessary to identify redundancy groups associated with said unfinished write I/O operations includes block addresses to which said unfinished I/O operations map data and parity information.
Claim 5
Dependent Claim 204 words
In an independent access disk array subsystem, a method for maintaining consistency between the content of data and parity storage areas within redundancy groups following a low power condition which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a battery low signal from an uninterruptable power supply (UPS); at the expiration of a predetermined time interval initiated upon receipt of said low power signal, logging information necessary to identify said unfinished write I/O operations and the redundancy groups associated with said unfinished write I/O operations into a non-volatile memory; checking for log entries in the non-volatile memory during a disk array subsystem initialization following a recovery from said low power condition; for each one of said unfinished write I/O operations, performing a bit-wise exclusive-OR of corresponding portions of the data stored across the data storage areas within the redundancy group associated with said one of said unfinished write I/O operations to calculate parity consistent therewith; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 6
Dependent Claim 204 words
In an independent access disk array subsystem, a method for maintaining consistency between the content of data and parity storage areas within redundancy groups following a low power condition which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a battery low signal from an uninterruptable power supply (UPS); at the expiration of a predetermined time interval initiated upon receipt of said low power signal, logging information necessary to identify said unfinished write I/O operations and the redundancy groups associated with said unfinished write I/O operations into a non-volatile memory; checking for log entries in the non-volatile memory during a disk array subsystem initialization following a recovery from said low power condition; for each one of said unfinished write I/O operations, performing a bit-wise exclusive-OR of corresponding portions of the data stored across the data storage areas within the redundancy group associated with said one of said unfinished write I/O operations to calculate parity consistent therewith; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 7
Dependent Claim 18 words
The method in accordance with claim 4, further comprising the step of: reexecuting said unfinished write I/O operations.
Claim 8
Dependent Claim 36 words
The method in accordance with claim 4, wherein said information necessary to identify redundancy groups associated with said unfinished write I/O operations includes block addresses to which said unfinished I/O operations map data and parity information.
Claim 9
Dependent Claim 270 words
In an independent access disk array subsystem employing a read-modify-write process to update data and parity information saved to redundancy groups within said array in response to a write I/O request received from a host system, a method for maintaining consistency between data and parity information saved to data and parity storage areas within said redundancy groups following a system reset which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a reset signal; logging into a non-volatile memory information necessary to identify redundancy groups associated with said unfinished write I/O operations, information necessary to identify the data and parity data storage areas to which said unfinished write I/O operations map new data and parity, and some form of the old data and parity information saved to the data and parity data storage areas to which said unfinished write I/O operations map new data and parity; checking for log entries in the non-volatile memory during a disk array subsystem initialization following the system reset; for each one of said unfinished write I/O operations, combining the old data and parity associated therewith and saved to said non-volatile memory with the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data to calculate parity consistent with the data stored within said redundancy group; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 10
Dependent Claim 270 words
In an independent access disk array subsystem employing a read-modify-write process to update data and parity information saved to redundancy groups within said array in response to a write I/O request received from a host system, a method for maintaining consistency between data and parity information saved to data and parity storage areas within said redundancy groups following a system reset which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a reset signal; logging into a non-volatile memory information necessary to identify redundancy groups associated with said unfinished write I/O operations, information necessary to identify the data and parity data storage areas to which said unfinished write I/O operations map new data and parity, and some form of the old data and parity information saved to the data and parity data storage areas to which said unfinished write I/O operations map new data and parity; checking for log entries in the non-volatile memory during a disk array subsystem initialization following the system reset; for each one of said unfinished write I/O operations, combining the old data and parity associated therewith and saved to said non-volatile memory with the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data to calculate parity consistent with the data stored within said redundancy group; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 11
Dependent Claim 18 words
The method in accordance with claim 7, further comprising the step of: reexecuting said unfinished write I/O operations.
Claim 12
Dependent Claim 56 words
The method in accordance to claim 7, wherein: said independent access disk array subsystem is operating in a degraded mode, one of the disk drives within said array being inactive; and said unfinished write I/O operations map new data and parity information to data and parity storage areas within active disk drives in said array subsystem.
Claim 13
Dependent Claim 116 words
The method in accordance with claim 7, wherein: the old data and parity information saved to said non-volatile memory comprises the exclusive-OR product of said old data and said old parity; and said step of calculating parity consistent with the data stored within a redundancy group comprises, for each one of said unfinished write I/O operations, the step of determining the exclusive-OR product of (1) the exclusive-OR product of said old data and said old parity associated with said one of said unfinished write I/O operations and saved to said non-volatile memory with (2) the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data.
Claim 14
Dependent Claim 298 words
In an independent access disk array subsystem employing a read-modify-write process to update data and parity information saved to redundancy groups within said array in response to a write I/O request received from a host system, a method for maintaining consistency between data and parity information saved to data and parity storage areas within said redundancy groups following a low power condition which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a battery low signal from an uninterruptable power supply (UPS); at the expiration of a predetermined time interval initiated upon receipt of said low power signal, logging into a non-volatile memory information necessary to identify redundancy groups associated with said unfinished write I/O operations, information necessary to identify the data and parity data storage areas to which said unfinished write I/O operations map new data and parity, and some form of the old data and parity information saved to the data and parity data storage areas to which said unfinished write I/O operations map new data and parity; checking for log entries in the non-volatile memory during a disk array subsystem initialization following a recovery from said low power condition; for each one of said unfinished write I/O operations, combining the old data and parity associated therewith and saved to said non-volatile memory with the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data to calculate parity consistent with the data stored within said redundancy group; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 15
Dependent Claim 298 words
In an independent access disk array subsystem employing a read-modify-write process to update data and parity information saved to redundancy groups within said array in response to a write I/O request received from a host system, a method for maintaining consistency between data and parity information saved to data and parity storage areas within said redundancy groups following a low power condition which interrupts the execution of one or more disk write I/O operations, said method comprising the steps of: examining current drive activities to identify unfinished write I/O operations in response to the receipt of a battery low signal from an uninterruptable power supply (UPS); at the expiration of a predetermined time interval initiated upon receipt of said low power signal, logging into a non-volatile memory information necessary to identify redundancy groups associated with said unfinished write I/O operations, information necessary to identify the data and parity data storage areas to which said unfinished write I/O operations map new data and parity, and some form of the old data and parity information saved to the data and parity data storage areas to which said unfinished write I/O operations map new data and parity; checking for log entries in the non-volatile memory during a disk array subsystem initialization following a recovery from said low power condition; for each one of said unfinished write I/O operations, combining the old data and parity associated therewith and saved to said non-volatile memory with the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data to calculate parity consistent with the data stored within said redundancy group; and writing the calculated parity to said parity storage areas within said redundancy group associated with said one of said unfinished write I/O operations.
Claim 16
Dependent Claim 18 words
The method in accordance with claim 11, further comprising the step of: reexecuting said unfinished write I/O operations.
Claim 17
Dependent Claim 57 words
The method in accordance to claim 11, wherein: said independent access disk array subsystem is operating in a degraded mode, one of the disk drives within said array being inactive; and said unfinished write I/O operations map new data and parity information to data and parity storage areas residing on active disk drives within said array subsystem.
Claim 18
Dependent Claim 116 words
The method in accordance with claim 11, wherein: the old data and parity information saved to said non-volatile memory comprises the exclusive-OR product of said old data and said old parity; and said step of calculating parity consistent with the data stored within a redundancy group comprises, for each one of said unfinished write I/O operations, the step of determining the exclusive-OR product of (1) the exclusive-OR product of said old data and said old parity associated with said one of said unfinished write I/O operations and saved to said non-volatile memory with (2) the data currently stored within the data storage area to which said one of said unfinished write I/O operation maps new data.

References Cited (Backward Citations)

US5375128A Cited
US5379417A Cited
US5418921A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-07-02 2000-01-01 2000-07-02 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-07-02 2004-01-01 2004-07-02 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-07-02 2008-01-01 2008-07-02 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag