  This paper investigates the design and application of write-once memory (WOM)
codes for flash memory storage. Using ideas from Merkx ('84), we present a
construction of WOM codes based on finite Euclidean geometries over
$\mathbb{F}_2$. This construction yields WOM codes with new parameters and
provides insight into the criterion that incidence structures should satisfy to
give rise to good codes. We also analyze methods of adapting binary WOM codes
for use on multilevel flash cells. In particular, we give two strategies based
on different rewrite objectives. A brief discussion of the average-write
performance of these strategies, as well as concatenation methods for WOM codes
is also provided.
