
GR716-DS-UM, May 2019, Version 1.29
421
www.cobham.com/gaisler
GR716
42.1
Overview
The memory scrubber monitors an AMBA AHB bus for accesses triggering an error response, and for
correctable errors signaled from fault tolerant slaves on the bus. The core can be programmed to scrub
a memory area by reading through the memory and writing back the contents using a locked read-
write cycle whenever a correctable error is detected. It can also be programmed to initialize a memory
area to known values.
42.2
Operation
42.2.1 Errors
All AMBA AHB bus transactions are monitored and current HADDR, HWRITE, HMASTER and
HSIZE values are stored internally. When an error response (HRESP = “01”) is detected, an internal
counter is increased. When the counter exceeds a user-selected threshold, the status and address regis-
ter contents are frozen and the New Error (NE) bit is set to one. At the same time an interrupt is gen-
erated, as described hereunder.
The default threshold is zero and enabled on reset so the first error on the bus will generate an inter-
rupt.
Note that many of the fault tolerant units containing EDAC signal an un-correctable error as an
AMBA error response, so that it can be detected by the processor as described above.
42.2.2 Correctable errors
Not only error responses on the AHB bus can be detected. Many of the fault tolerant units containing
EDAC have a correctable error signal which is asserted each time a correctable error is detected.
When such an error is detected, the effect will be the same as for an AHB error response. The only dif-
ference is that the Correctable Error (CE) bit in the status register is set to one when a correctable
error is detected. Correctable and uncorrectable errors use separate counters and threshold values.
When the CE bit is set, the interrupt routine can acquire the address containing the correctable error
from the failing address register and correct it. When it is finished it resets the CE bit and the monitor-
ing becomes active again. Interrupt handling is described in detail hereunder.
42.2.3 Scrubbing
The memory scrubber can be commanded to scrub a certain memory area, by writing a start and end
address to the scrubbers start/end registers, followed by writing “00” to the scrub mode field and ‘1’
to the scrub enable bit in the scrubber control register.
Scrubber DMA
Registers
AHB Error monitor
Memory with EDAC
ce
AMBA AHB
Figure 68.
Memory scrubber block diagram