Patent ID: 6606694
Filing Date: 2003-08-12
Classification: G06F,Y10S

Abstract:
A data processing system comprising:a first disk subsystem, comprising: a first disk subsystem disk controller; a first disk subsystem first disk drive bidirectionally coupled to and controlled by the first disk subsystem disk controller and containing a first copy of a first data file; and a first disk subsystem second disk drive bidirectionally coupled to and controlled by the first disk subsystem disk controller and containing a log file; and a second disk subsystem bidirectionally coupled to the first disk subsystem, comprising: a second disk subsystem disk controller; and a second disk subsystem first disk drive bidirectionally coupled to and controlled by the second disk subsystem disk controller and containing a second copy of the data file; wherein: the first disk subsystem and the second disk subsystem have a first mode of operation and a second mode of operation; a write of a block of data to the first data file in the first mode of operation comprises: writing the block of data to the first disk subsystem first disk drive, transmitting the block of data to the second disk subsystem without the block of data being read from the log file; and writing the block of data to the second disk subsystem first disk drive after being received from the first disk subsystem; and a write of the block of data to the first data file in the second mode of operation comprises: writing the block of data to the first disk subsystem first disk drive, writing the block of data to the log file; reading the block of data from the log file; transmitting the block of data to the second disk subsystem after the block of data is read from the log file; and writing the block of data to the second disk subsystem first disk drive after being received from the first disk subsystem; wherein the log file comprises: an index containing a plurality of disk addresses; and a data file comprising a plurality of records each containing a block of data to be stored in the first disk file; and each disk address in the index corresponds to one of the plurality of records in the data file; and wherein data records are written into the log file utilizing a second pointer and read from the log file utilizing a first pointer in a round robin manner; and wherein when transferring from the second mode of operation to the first mode of operation, the first mode of operation is entered when the first pointer catches up to the second pointer.