The limited endurance of flash memories is a major
design concern for enterprise storage systems. We propose a
method to increase it by using relative (as opposed to fixed)
cell levels and by representing the information with Write
Asymmetric Memory (WAM) codes. Overall, our new method
enables faster writes, improved reliability as well as improved
endurance by allowing multiple writes between block erasures.
We study the capacity of the new WAM codes with relative levels,
where the information is represented by multiset permutations
induced by the charge levels, and show that it achieves the
capacity of any other WAM codes with the same number of
writes. Specifically, we prove that it has the potential to double
the total capacity of the memory. Since capacity can be achieved
only with cells that have a large number of levels, we propose a
new architecture that consists of multi-cells - each an aggregation
of a number of floating gate transistors