Patent ID: 7353433

Claim:
A method of addressing data errors in a computer system, comprising: pre-determining a software-programmable data poisoning policy to control actions to be taken based on different classes of data poisoning events by a user; error-checking a unit of data by an error-control decoder; detecting an uncorrectable error in the unit of data by the error-control decoder; if the uncorrectable error is detected in the unit of data, based on the pre-determined data poisoning policy, determining if the detected uncorrectable error is a data poisoning event; marking the unit of data containing a data poisoning event with a software-visible bit by the error-control decoder which software-visible bit is a status bit to indicate to an operating system that the data unit contains the data poisoning event; determining, based on the pre-determined data poisoning policy, if the unit of data containing the poisoning event is to be acted upon; handing over the data units including the detected uncorrectable errors including data poisoning events from the error-control decoder to the operating system; detecting by the operating system whether the software-visible bit is present in the data unit; and based on the detected software-visible bit and the pre-determined data poisoning policy, acting, by the operating system of the computer system, to address the presence of the uncorrectable error in the unit of data, including: if the software-visible bit is detected, one of removing the marked data unit from a use by the operating system and recovering the data unit or determining if the unit of data is in user space and one of terminating an application running on the computer system and removing the unit of data from use by the operating system or shutting down the operating system, and if the software-visible bit is not detected, determining whether the data unit is in the user space and one of terminating the application running on the computer system and removing data unit from use by the operating system or shutting down the operating system.