The present invention present methods and architectures for the pipelining
of read operation with write operations. In particular, methods are
presented for pipelining data relocation operations that allow for the
checking and correction of data in the controller prior to its being
re-written, but diminish or eliminate the additional time penalty this
would normally incur. A number of architectural improvements are
described to facilitate these methods, including: introducing two
registers on the memory where each is independently accessible by the
controller; allowing a first memory register to be written from while a
second register is written to; introducing two registers on the memory
where the contents of the registers can be swapped.