Intel® 460GX Chipset Software Developer’s Manual 5-7
Memory Subsystem
5.5.3 Hardware Initialization
In order to decrease boot time of systems with large amounts of DRAM installed, hardware
initialization of memory will be supported. Since multiple rows will be initialized simultaneously,
the memory system will be able to initialize to 0 about 8 times faster than having the processor
looping through memory with writes. The MDC will force all zeroes on the data lines, with good
ECC, and the MAC will cycle through the memory addresses generating writes. The main limiter
to the number of rows being simultaneously initialized is current draw on the DRAM. One row
from each of the 4 stacks across the 2 cards will be initialized concurrently.
5.5.4 Memory Scrubbing
Scrubbing is the operation of walking through all installed DRAM and looking for errors. Each line
is read and then written back, whether there is an error or not. Within the SAC there is an engine to
generate addresses to be placed in the memory queue. These addresses are placed directly into the
SAC memory queue and are not snooped on the system bus, nor are they checked for address
conflicts, since the read-modify-write is treated as an atomic operation.
A scrub address is generated every 65K (65536) clocks. For a system with 32 GB of memory, this
would walk through all memory every 3.2 days. The following table shows the approximate time to
scrub memory based on memory size. Scrubbing may be disabled through a configuration bit.
Table 5-4. Scrubbing Time
Memory Size Time to Scrub
64 MB 10 minutes
128 MB 20 minutes
256 MB 40 minutes
512 MB 1.2 hours
1 GB 3 hours
2 GB 5 hours
4 GB 10 hours
8 GB 20 hours
16 GB 1.6 days
32 GB 3.2 days
64 GB 6.4 days