System and method for ensuring write data integrity in a redundant array data storage system
First Claim
1. A system for ensuring the completion and integrity of data modification operations to a redundant data storage array subsystem, comprising:
- a. a first host processor configured to initiate data modification operations for data records and to generate host check point information about said data modification operations;
b. a second host processor, coupled to the first host processor, to receive the host check point information and assume control of initiated data modification operations if the first host processor fails;
c. first and second buffers, coupled to the first and second host processors, each buffer having sufficient capacity for receiving and storing entire generated data modification operations from the first or second host processor, whereby subsequent failure of either host processor does not affect the received data modification operations;
d. a redundant array of data storage devices coupled to both the first and second buffers for storing data records as indicated by said data modification operations originating from either host processor;
e. a first array processor, coupled to the first buffer and to the redundant array of data storage devices to receive data modification operations transmitted to the controller from the first buffer, the array processor being configured to control the completion of the data modification operations to the redundant array of data storage devices, and to generate array check point information about said data modification operations; and
f. a second array processor, coupled to the second buffer, to the redundant array of data storage devices, and to the first array processor, the second array processor being configured to receive data modification operations from the second buffer, the array check point information generated by the first array processor, and to assume control of the completion of the data modification operations to the redundant array of data storage devices if the first array processor fails.
4 Assignments
0 Petitions
Accused Products
Abstract
A system and method for ensuring the completion and integrity of data modification operations to a redundant array data storage system and for ensuring the integrity of redundancy values in such a system. The system combines four elements: reliable host processing provided by primary and secondary CPU'"'"'s with check pointing of operations, so that the secondary CPU can complete initiation of a data modification operation if the primary CPU fails; block-buffering of Write data in a host CPU adapter before transmission of the data to a RAID array controller, so that failure of the host CPU after buffering completes does not interfere with completion of the data modification operation; reliable array processing provided by primary and secondary array controllers with check pointing of operations, so that the secondary array controller can complete a data modification operation if the primary array controller fails; and battery-backup for the power supply to the array controller and the storage units comprising the storage array, or, in the alternative, non-volatile memory in the array controller sufficient to store all data modification operation command information for data records that have not been successfully written to the storage units, for use in subsequent retries.
150 Citations
21 Claims
-
1. A system for ensuring the completion and integrity of data modification operations to a redundant data storage array subsystem, comprising:
-
a. a first host processor configured to initiate data modification operations for data records and to generate host check point information about said data modification operations; b. a second host processor, coupled to the first host processor, to receive the host check point information and assume control of initiated data modification operations if the first host processor fails; c. first and second buffers, coupled to the first and second host processors, each buffer having sufficient capacity for receiving and storing entire generated data modification operations from the first or second host processor, whereby subsequent failure of either host processor does not affect the received data modification operations; d. a redundant array of data storage devices coupled to both the first and second buffers for storing data records as indicated by said data modification operations originating from either host processor; e. a first array processor, coupled to the first buffer and to the redundant array of data storage devices to receive data modification operations transmitted to the controller from the first buffer, the array processor being configured to control the completion of the data modification operations to the redundant array of data storage devices, and to generate array check point information about said data modification operations; and f. a second array processor, coupled to the second buffer, to the redundant array of data storage devices, and to the first array processor, the second array processor being configured to receive data modification operations from the second buffer, the array check point information generated by the first array processor, and to assume control of the completion of the data modification operations to the redundant array of data storage devices if the first array processor fails. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for ensuring the completion and integrity of data modification operations to a redundant data storage array subsystem, comprising the steps of:
-
a. providing a first host processor for initiating data modification operations for data records and for generating host check point information about said data modification operations; b. providing a second host processor, coupled to the first host processor to receive the host check point information, and for assuming control of initiated data modification operations if the first host processor fails; c. providing first and second buffers, coupled to the first and second host processors, to receive and store entire generated data modification operations from the first or second host processor, whereby subsequent failure of either host processor does not affect the received data modification operations; d. providing a redundant array of data storage devices for storing data records as indicated by said data modification operations; e. providing a first array processor, coupled to the first buffer and to the redundant array of data storage devices, for receiving data modification operations from the first buffer, for controlling the completion of the data modification operations to the redundant array of data storage devices, and for generating array check point information about said data modification operations; and f. providing a second array processor, coupled to the second buffer, to the redundant array of data storage devices, and to the first array processor, for receiving data modification operations from the second buffer, for receiving the array check point information from the first array processor, and for assuming control of the completion of the data modification operations to the array of data storage devices if the first array processor fails. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A method for ensuring the completion and integrity of data modification operations to a redundant storage array subsystem, comprising the steps of:
-
a. initiating data modification operations for data records in a first host processor, and generating host check point information about said data modification operations; b. receiving the host check point information in a second host processor, and assuming control by the second host processor of initiated data modification operations if the first host processor fails; c. receiving and storing the entire data modification operations in first and second buffers, whereby subsequent failure of either host processor does not affect the received data modification operations; d. receiving data modification operations from the first buffer in a first array processor, the first array processor controlling completion of the data modification operations to a redundant array of data storage devices and generating array check point information about said data modification operations; and e. receiving the data modification operations from the second buffer and the array check point information from the first array processor in a second array processor, the second array processor assuming control of the completion of the data modification operations to the redundant array of data storage devices if the first array processor fails. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
Specification