System and Method of Client Side Analysis for Identifying Failing RAM After a User Mode or Kernel Mode Exception
First Claim
1. 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;
wherein the run-time executable code and the stored executable code correspond to the process causing the exception;
comparing the run-time executable code and the stored executable code; and
identifying a corrupt system memory pattern in the run-time executable code if the run-time executable code and the stored executable code are not identical.
2 Assignments
0 Petitions
Accused Products
Abstract
A process executing on a computing system may encounter an exception. Pointers or other references created by the exception may identify portions of the computing system'"'"'s memory containing the binary code that was executing at the time of the exception. The exception-causing code from the system memory may be compared to an original version of the code from a non-volatile source. If the comparison identifies a hardware corruption pattern, the computing system may communicate information about the process and the exception to an error analysis server. Using historical exception data, the error analysis server may determine if the identified corruption pattern is most likely the result of corrupt hardware at the computing system. If corrupt hardware was the most likely result of the exception, then the server may communicate with the computing system to recommend or initiate a hardware diagnostic routine at the computing system to identify the faulty hardware.
-
Citations
20 Claims
-
1. 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; wherein the run-time executable code and the stored executable code correspond to the process causing the exception; comparing the run-time executable code and the stored executable code; and identifying a corrupt system memory pattern in the run-time executable code if the run-time executable code and the stored executable code are not identical. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A method for client-side analysis for identifying failing RAM after a user mode or kernel mode exception comprising:
-
loading a run-time executable code from a non-volatile memory of the computing system to the RAM; executing a process from the loaded run-time executable code on the computing system; detecting an exception caused by the process executing on the computing system, the exception including a plurality of memory pointers referring to a plurality of locations in the RAM that contained the loaded run-time executable code causing the exception; identifying a portion of the loaded run-time executable code in the RAM that caused the exception from the plurality of memory pointers; reading the portion of the loaded run-time executable code from the RAM; reading an uncorrupted copy of the portion of the loaded run-time executable code that caused the exception from the non-volatile memory of the computing system, wherein the run-time executable code and the stored executable code are in a binary format and correspond to the process causing the exception; comparing the portion of the loaded run-time executable code in the RAM that caused the exception with the uncorrupted copy of the portion of the loaded run-time executable code causing the exception; identifying a corrupt system memory pattern in the portion of the loaded run-time executable code in the RAM that caused the exception if the portion and the uncorrupted portion are not identical, the corrupt system memory pattern comprising at least one of a one-bit corruption pattern and a stride corruption pattern; optionally examining the system memory if the corrupt system memory pattern indicates that the computing system failure was caused by corrupt system memory. - View Dependent Claims (19)
-
-
20. A computer system comprising a processor for executing computer executable instructions, a system memory for temporarily storing data related to the computer executable instructions, a non-volatile memory for permanently storing data related to the computer executable instructions, and an input/output circuit, the computer executable instructions comprising instructions for identifying failing memory after a user mode or kernel mode exception, the computer executable instructions comprising instructions for:
-
loading a run-time executable code from the non-volatile memory of the computer system to the system memory; executing a process from the run-time executable code on the computer system; detecting an exception caused by the process executing on the computer system, the exception including a plurality of exception pointers referring to a system memory address containing a corrupted portion of the run-time executable code that caused the exception; reading the run-time executable code from the system memory with the plurality of exception pointers; reading a stored executable code from the non-volatile memory of the computer system, the stored executable code including an uncorrupted portion of the run-time executable code that caused the exception; comparing the run-time executable code and the stored executable code; and identifying a corrupt system memory pattern in the run-time executable code if the run-time executable code and the stored executable code are not identical.
-
Specification