A transaction generator generates memory transactions identical to
processor memory transactions to initialize, rebuild, and verify memory
added or replaced during operation of a computer system configured for
RAID memory. The transactions read and rewrite the correct value for
replaced memory and write a known good value for added memory. Memory
writes are verified by a read after the write transaction. The
transaction generator is a state machine. A first counter is used for
holding memory addresses of the transactions, automatically incrementing
after each transaction. A second counter can throttle the generation of
transactions by controlling the incrementation speed of the first
counter. Transactions generated by the transaction generator have a
transaction identifier, selected from a pool of available transaction
identifiers. The transactions can complete out of order.