Patent ID: 7089484

Claim:
A method for dynamic sparing during normal computer system operation, comprising the steps of: using four identical active components, such that data from any one of the active components may or may not have a good parity at any particular cycle of said computer system operation, installed in said computer system having voting logic executing a voting scheme, and selecting one of said components to function as an active standby component which doesn't participate in the voting scheme during the normal system operation and yet said active standby component is still functional like the other three active components and capable of sparing another active component, said other three active components being used if the outputs of these three active components are matched and have good parity while connected to system voting logic that detects any error of these three components and executes said voting scheme whereby, upon detection of a mismatch and a determination that data in all three components has good parity, one of the other three active components is out voted by any two active components of the other three active components, and then generating a ME (Multi_bit Error) code for said computer system, based on said ME code, to identify a failing component with a decode function for said ME code, wherein once a failing component decode value is detected for said ME code, then a corresponding gate for a decode switches said active standby component in to replace a failing component for dynamically activating said active standby component with a corresponding gate which causes said standby spare component to replace the failing component which has participated in said voting scheme, said replacement of said identified failing component being done dynamically while the computer system is running in operation to spare said identified failing component without removal of said ME code with said active standby component, and wherein three error counters are employed to monitor each voting result of each active component in the voting scheme, and if a voting result is a correctable error or ME, a corresponding counter to the corresponding component is incremented, and when the count for said corresponding counter exceeds a threshold level for a given component, computer system software will determine a failing decode value based on the corresponding counter and wherein, after said count for said corresponding counter exceeds a threshold level for a given component and said failing decode value is determined, then the computer system software will first examine by reading a sparing status register to determine whether said selected active standby component is invoked or not, and when said software determines the computer system didn't invoke the spare, said software will set a disabled hardware spare bit on and read the sparing status register again to be assured the computer system didn't invoke sparing of said active standby component while the software checking the status.