Patent ID: 6542960
Filing Date: 2003-04-01
Classification: G06F

Abstract:
A system for performing multiple input/output (I/O) operations to a storage medium organized as a redundant array of independent disk (RAID) devices with a stripe of data storage defined across a plurality of devices and a parity block associated with each stripe comprising:means for locking and unlocking the stripe in response to a current I/O operation request thereto so that only one I/O operation can proceed within the stripe while the stripe is locked and until the stripe is unlocked; a first parity buffer associated with a previous I/O operation for storing parity data derived from an XOR operation performed to first old data in the stripe, first old parity data of the stripe and first new data, all associated with the previous I/O operation, to be written to the stripe; a second parity buffer associated with the current I/O operation; means for swapping the first parity buffer with the second parity buffer before the means for unlocking unlocks the stripe to enable the current I/O operation to proceed; means for writing second new data associated with the current I/O operation to the stripe; and means for writing parity data derived from an XOR operation performed to second old data in the stripe, second old parity data of the stripe and the second new data, all associated with the current I/O operation, to the stripe when no next I/O operation request, subsequent to the current I/O request to the stripe is present.