Browse Prior Art Database

Software Control of Memory Scrubbing

IP.com Disclosure Number: IPCOM000122133D
Original Publication Date: 1991-Nov-01
Included in the Prior Art Database: 2005-Apr-04
Document File: 2 page(s) / 81K

Publishing Venue

IBM

Related People

Browning, L: AUTHOR [+2]

Abstract

Disclosed is a program that controls memory scrubbing hardware and the recovery strategy that is employed when bad blocks of memory are encountered.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Software Control of Memory Scrubbing

      Disclosed is a program that controls memory scrubbing
hardware and the recovery strategy that is employed when bad blocks
of memory are encountered.

      Memory scrubbing is used to remove soft errors on a periodic
basis.  Memory scrubbing is performed by the hardware when requested
via the scrubbing control registers. Memory scrubbing can be done on
any portion of  storage except ROS and will not alter the contents of
storage which is also the target of DMA or cache activity.  Memory
scrubbing is the lowest priority activity, therefore, if DMA or cache
activity is high, scrubbing may be delayed significantly.

      There are three scrubbing control registers.  The Scrub Start
Address Register specifies the address of the first line of storage
to begin scrubbing.  This address is incremented by the hardware
everytime a cache line is successfully scrubbed until that address
exceeds the value in the Scrub End Address Register.  The Scrub Timer
Value Register indicates the number of clock cycles to wait between
lines, while scrubbing.  If the interval is zero, the hardware will
attempt to scrub on every free memory cycle until it completes the
scrubbing activity.  Memory scrubbing is enabled by turning on the
least significant bit in the Scrub End Address Register.  The
smallest amount of memory that can be scrubbed is 64 bytes.

      Software controls memory scrubbing by examining the Scrubbing
Control Registers once a second via the clock interrupt handler.  If
the previously specified scrubbing activity has completed, i.e., the
scrub start address is greater than the scrub end address, then
another segment of storage is chosen to be scrubbed and the registers
are reinitialized.  Software identifies the next segment of memory to
be scrubbed by examining the bad memory block map built by ROS.
Software will not scrub known bad blocks. Moreover, if the...