ECC Memory Controller To Detect Dangling Pointers
AssigneeSilicon Laboratories Inc.
InventorThomas S. David
Life of this patent
Estimating the term…
Abstract
A system and method of utilizing ECC memory to detect software errors and malicious activities is disclosed. In one embodiment, after a pool of memory is freed, every data word in that pool is modified to ensure that an ECC error will occur if any data word in that pool is read again. In another embodiment, the ECC memory controller is used to detect and prevent non-secure applications from accessing secure portions of memory.
Claims22
A system for detecting dangling pointers, comprising:
- an ECC memory controller adapted to be in communication with a data memory and an ECC memory;
- wherein the ECC memory controller comprises a state machine, wherein the state machine writes an erroneous data word to the data memory at a data address and an erroneous ECC syndrome to the ECC memory at the data address.
A method of detecting dangling pointers, comprising:
- writing erroneous data word to a data memory and an erroneous ECC syndrome to an ECC memory at a memory address, where the erroneous data word and erroneous ECC syndrome are selected to as to generate an ECC error;
- and
- reading the erroneous data word and the erroneous ECC syndrome at the memory address at a later time;
- and
- generating an ECC error after the reading.
A system for detecting dangling pointers, comprising:
- an ECC memory controller adapted to be in communication with a data memory and an ECC memory;
- wherein the ECC memory controller comprises a state machine, wherein the state machine reads a syndrome stored in the ECC memory at an ECC address, corrupts the syndrome by inverting at least one bit, and writes the corrupted syndrome back to the ECC memory at the ECC address.
A system for detecting dangling pointers, comprising:
- an ECC memory controller adapted to be in communication with a data memory and an ECC memory;
- wherein the ECC memory controller comprises a state machine, wherein the state machine reads a data word stored in the data memory at a data address, corrupts the data word by inverting at least one bit, and writes the corrupted data word back to the data memory at the data address.
Dependencies are inferred from the claim text.