Easily implemented randomization within a flash memory EEPROM reduces the
NAND string resistance effect, program disturbs, user read disturbs, and
floating gate to floating gate coupling that result from repeated and
long term storage of specific data patterns. The randomization may be
code generated pseudo randomization or user driven randomization in
different embodiments. User driven commands, the timing of which cannot
be predicted may be used to trigger and achieve a high level of
randomization. Randomly altering the encoding scheme of the data prevents
repeated and long term storage of specific data patterns. Even if a user
wishes to store the same information for long periods, or to repeatedly
store it, it will be randomly encoded with different encoding schemes,
and the data pattern will therefore be varied.