Techniques for initializing an arbitrary portion of memory with an
arbitrary pattern includes using a memory controller for performing
sequenced read and write operations. The memory controller receives
address data, length data and pattern data on a data bus connected to a
processor. The address data indicates a location in memory. The length
data indicates an amount of memory to be initialized. The pattern data
indicates a particular series of bits that is much shorter than the
amount of memory indicated by the length data. The memory controller
performs multiple write operations on memory beginning at a first
location based on the address data and ending at a second location based
on the length data. Each write operation writes the pattern data to a
current location in memory, thereby initializing the arbitrary portion of
memory with an arbitrary pattern based on the pattern data.