Claims
- 1. A computer system comprising:a processor; a main memory coupled to the processor via a host bridge device; and an array controller coupled to said processor via a secondary expansion bus, wherein said array controller is adapted to perform greater than four bit encrypted resultant multiplication in multiplying parity equation coefficients and write data to determine error correction data for storage device fault recovery.
- 2. The computer system as defined in claim 1 wherein said array controller further comprises:a bridge device that couples to the secondary expansion bus; an array controller processor coupled to an array controller main memory; an interface circuit coupled to said bridge devices by way of an array controller bus, said interface circuit couples to storage devices; an application specific integrated circuit (“ASIC”) coupled to the array controller bus, said ASIC adapted to calculate data error recovery information, and wherein said ASIC is adapted to perform the greater than four bit encrypted resultant multiplication in calculating said data error recovery information.
- 3. The computer system as defined in claim 2 wherein said array controller bus comprises a peripheral components interconnect (PCI) bus.
- 4. The computer system as defined in claim 2 wherein said secondary expansion bus comprises a PCI bus.
- 5. The computer system as defined in claim 2 wherein said interface circuit further comprises a small computer system interface (SCSI) circuit.
- 6. The computer system as defined in claim 2 wherein said ASIC further adapted to perform eight bit encrypted resultant multiplication.
- 7. A method of operating a plurality of storage devices in an array having multiple device fault tolerance comprising:calculating error correction information using greater than four bit coefficients to facilitate said fault tolerant recovery capability.
- 8. The method as defined in claim 7 further comprising calculating error correction information using eight bit coefficients.
- 9. The method as defined in claim 8 further comprising:dividing a block of data into data subsets; writing the data subsets to a plurality of data storage devices; calculating error correction information based on each data subset; and writing error correction information to at least one parity storage device.
- 10. An array controller that couples to a host computer system, comprising:a processor; a main memory coupled to said processor; a bridge device coupled to said processor by way of an array controller bus, said bridge device adapted to couple the array controller to a host computer system; an interface circuit coupled to said processor, said interface circuit couples to a plurality of storage devices; and said array controller adapted to calculate parity information using greater than four bit coefficients.
- 11. The array controller as defined in claim 10 wherein said processor further comprises a microprocessor.
- 12. The array controller as defined in claim 10 wherein said processor further comprises a microcontroller.
- 13. The array controller as defined in claim 10 wherein said disk interface further comprises a small computer system interface (SCSI).
- 14. The array controller as defined in claim 10 further comprising:an application specific integrated circuit (ASIC) coupled to said array controller bus, said ASIC adapted to generate said parity information using greater than four bit coefficients.
- 15. The array controller as defined in claim 14 wherein said ASIC further adapted to generate said parity information using eight bit coefficients.
- 16. The array controller as defined in claim 10 wherein said array controller bus further comprises a peripheral components interconnect (PCI) bus.
- 17. In a computer system having an array of storage devices coupled to an array controller capable of multiple device fault recovery, a method of operating the computer system comprising:writing data from said computer system to said array controller; dividing said data into a plurality of data subsets; calculating error correction information based on values of each of the data subsets; writing said data subsets and error correction information in a striped fashion across all the devices of the array of storage devices; and said calculating error correction information using coefficients whose values are represented by greater than four bits.
- 18. The method as defined in claim 17 wherein said calculating error correction information further comprises calculating said error correction information in an Application Specific Integrated Circuit (ASIC), said ASIC designed to perform error correction information calculation using coefficients whose values exceed values that may be represented by four bits.
- 19. The method as defined in claim 17 wherein said calculating error correction information further comprises using eight bit coefficients.
- 20. In an array controller having data to be stored on an array of storage devices, a method of operating said array controller comprising:dividing said data into a plurality of data subsets; calculating error correction information based on the value of each data subset; writing said data subsets and error correction information in a striped fashion across all the devices of the array of storage devices; and said calculating error correction information using coefficients whose values are represented by greater than four bits.
- 21. The method as defined in claim 20 wherein said calculating error correction information further comprises calculating said information in an Application Specific Integrated Circuit (ASIC), said ASIC designed to perform error correction calculations using coefficients whose values may exceed values that may be represented by four bits.
- 22. The method as defined in claim 21 wherein said calculating error correction information further comprises using eight bit coefficients.
CROSS-REFERENCE TO RELATED APPLICATIONS
Applicant of this application, with others, filed applications related to this subject matter. These applications are Ser. No. 09/576,665 titled “Multiple Drive Failure Recovery for a Computer System Having an Array of Storage Drives”, and Ser. No. 09/576,749 titled “Encryption Keys for Multiple Drive Fault Tolerance.” Each of these applications are incorporated by reference in this document as if reproduced in full below.
US Referenced Citations (2)
Number |
Name |
Date |
Kind |
5959914 |
Gates et al. |
Sep 1999 |
A |
6138125 |
DeMoss |
Oct 2000 |
A |
Non-Patent Literature Citations (3)
Entry |
G.A. Alvarez et al.; Tolerating Multiple Failures in Raid Architectures with Optimal Storage and Uniform Declustering; Dept. of Computer Science and Engineering, University of California, San Diego. |
M.O. Rabin; Efficient Dispersal of Information for Security, Load Balancing and Fault Tolerance; April 1989; pp. 335-348; Journal of the Association for Computing Machinery, vol.36, No. 2. |
A. Bestavros; SETH A VLSI Chip for the Real-Time Information Dispersal and Retrieval for Security and Fault-Tolerance; 1990; pp.I-457 — I-464; 1990 International Conference on Parallel Processing. |