  A rewriting code construction for flash memories based upon lattices is
described. The values stored in flash cells correspond to lattice points. This
construction encodes information to lattice points in such a way that data can
be written to the memory multiple times without decreasing the cell values. The
construction partitions the flash memory's cubic signal space into blocks. The
minimum number of writes is shown to be linear in one of the code parameters.
An example using the E8 lattice is given, with numerical results.
