A synchronous flash memory includes an array of non-volatile memory cells. The
memory array is arranged in rows and columns, and can be further arranged in addressable
blocks. Data communication connections are used for bi-directional data communication
with an external device(s), such as a processor or other memory controller. A write
latch is coupled between the data buffer and the memory array to latch data provided
on the data communication connections. The memory can write data to one location,
such as a memory array block, while data is read from a second location, such as
a second memory array block. The write and read operations are performed on a common
addressable row of the array blocks.