1. A method for encoding data for storage in multilevel memory cells having q cell-levels, the method comprising: encoding data words into respective codewords, each having N symbols with one of q symbol-values, via an encoding scheme adapted such that the q symbol-values have unequal multiplicities within at least some codewords, and the multiplicity of each of the q symbol-values in every codeword is no less than μ, where μ≧2; and supplying the N symbols of each codeword for storage in respective multilevel memory cells.