A nonvolatile semiconductor mass storage system and architecture can be substituted
for a rotating hard disk. The system and architecture avoid an erase cycle each
time information stored in the mass storage is changed. Erase cycles are avoided
by programming an altered data file into an empty mass storage block rather than
over itself as a hard disk would. Periodically, the mass storage will need to be
cleaned up. These advantages are achieved through the use of several flags, and
a map to correlate a logical block address of a block to a physical address of
that block. In particular, flags are provided for defective blocks, used blocks,
and old versions of a block. An array of volatile memory is addressable according
to the logical address and stores the physical address.