The on-chip copy process is extended so that the data may be copied
between two blocks that may be on different chips, different planes on
the same chip, or the same plane of the same chip. More specifically, the
methods described here provide a single data copying mechanism that
allows data to be copied between any two locations in a memory system. An
exemplary embodiment uses an EDO-type timing. According to another
aspect, selected portions of the relocated data, such as chosen words in
a transferred page, can be updated in the controller on the fly. In
addition to transferring a data set directly from a read buffer of a
source array to a write buffer of a destination array, the data set can
concurrently be copied, if desired, into the controller where an error
detection and correction operation can be performed on it.