 memory scrubbing consists of reading from each computer memory location, correcting bit errors (if any) with an error-correcting code (ecc), and writing the corrected data back to the same location. ronald k. burek. "the near solid-state data recorders". johns hopkins apl technical digest. 1998. ==motivation== due to the high integration density of contemporary computer memory chips, the individual memory cell structures became small enough to be vulnerable to cosmic rays and/or alpha particle emission. the errors caused by these phenomena are called soft errors. this can be a problem for dram and sram based memories. the probability of a soft error at any individual memory bit is very small. but, * together with the large amount of memory with which computers - especially servers - are equipped nowadays, * and together with several months of uptime, the probability of soft errors in the total memory installed is significant. ==ecc support== the information in an ecc memory is stored redundantly enough to correct single bit error per memory word. hence, an ecc memory can support the scrubbing of the memory content. namely, if the memory controller scans systematically through the memory, the single bit errors can be detected, the erroneous bit can be determined using the ecc checksum, and the corrected data can be written back to the memory. ==more detail== it is important to check each memory location periodically, frequently enough, before multiple bit errors within the same word are too likely to occur, because the one bit errors can be corrected, but the multiple bit errors are not correctable, in the case of usual (as of 2008) ecc memory modules. in order to not disturb regular memory requests from the cpu and thus prevent decreasing performance, scrubbing is usually only done during idle periods. as the scrubbing consists of normal read and write operations, it may increase power consumption for the memory compared to non-scrubbing operation. therefore, scrubbing is not performed continuously but periodically. for many servers, the scrub period can be configured in the bios setup program. the normal memory reads issued by the cpu or dma devices are checked for ecc errors, but due to data locality reasons they can be confined to a small range of addresses and keeping other memory locations untouched for a very long time. these locations can become vulnerable to more than one soft error, while scrubbing ensures 
Computer_memory