Patent ID: 8140908

Claim:
A method for identifying corrupt system memory resulting in a computing system failure comprising: loading a run-time executable code from a non-volatile memory of the computing system to the system memory; executing a process from the run-time executable code on the computing system; detecting an exception caused by the process executing on the computing system; reading the run-time executable code from the system memory; reading a stored executable code from the non-volatile memory of the computing system, the stored executable code comprising an original copy of the run-time executable code; pre-processing the stored executable code by applying memory relocation instructions of the run-time executable code to the stored executable code; comparing the run-time executable code and the pre-processed stored executable code; ignoring mismatched bytes between the run-time executable code and the pre-processed stored executable code, the mismatched bytes known to be modified by an operating system of the computing system; identifying one or more corrupt hardware system memory locations in the run-time executable code when the run-time executable code and the pre-processed stored executable code are not identical; determining if the one or more one corrupt hardware system memory locations identify a corrupt system memory pattern; examining the corrupt system memory pattern to determine if the corrupt system memory pattern is associated with software; if the corrupt system memory pattern is determined to be associated with software, provide an indication of the association of the corrupt system memory pattern with software; and if the corrupt system memory pattern is not determined to be associated with software, examine the corrupt system memory pattern to determine if the corrupt system memory pattern is associated with corrupt system memory.