Concurrent Dynamic Validation of Hardware Scrubbing
Original Publication Date: 2000-Aug-01
Included in the Prior Art Database: 2003-Jun-19
Disclosed is a method for dynamically validating the scrubbing logic for memory controller in a random fashion and concurrently with other random functions supported by the memory controller. Hardware supported scrubbing algorithms are typically designed to run continuously. Memory controllers that support hardware scrubbing typically have a sequencer that gets kicked off by software control. It then tirelessly walks through memory reading data, doing ECC checks, recording syndromes, and optionally correcting the data and storing the corrected data back to the memory arrays. The scrubbing logic typically shares some control and dataflow with the "normal" load and store operations that a memory controller must support. Obviously there are some decision points in the implementation that require arbitration for use of these shared facilities. It is very desirable to allow scrubbing functions to be turned on randomly and thus causing interference with the "normal" sequence of loads and stores to the memory arrays. Traditional verification efforts concetrated on this "tough to hit logic by writing manual patterns.