A flash memory system that uses repeated writing of the data to achieve
stable storage, is adapted for efficient cache flushing operations by
utilizing a part of the non-volatile flash memory array as a designated
buffer for the data, in which data integrity is retained until all repeat
writing thereof is complete. Repeated writing is carried out from the
designated buffer directly to the final storage locations in the flash
memory array, for example using simple internal copy back operations.