Data in less than all of the pages of a non-volatile memory block are updated
by programming the new data in unused pages of either the same or another block.
In order to prevent having to copy unchanged pages of data into the new block,
or to program flags into superceded pages of data, the pages of new data are identified
by the same logical address as the pages of data which they superceded and a time
stamp is added to note when each page was written. When reading the data, the most
recent pages of data are used and the older superceded pages of data are ignored.
This technique is also applied to metablocks that include one block from each of
several different units of a memory array, by directing all page updates to a single
unused block in one of the units.