Patent ID: 8359516

Claim:
A method for error correction encoding of L level application data residing in a memory comprising L level Multi-level cells (MLCs) including at least some Multi-level cells (MLCs) in which the application data is residing and at least some Multi-level cells (MLCs) which are at least partly available to accept data other than the application data, the method comprising: encoding the L level application data over a prime field thereby to generate non-binary redundancy data; binarizing at least some of said non-binary redundancy data thereby to generate binarized redundancy data; effecting binary error-correction encoding of the binarized redundancy data, thereby to generate binary redundancy data; combining said binarized redundancy data and said binary redundancy data thereby to generate combined binarized/binary redundancy data; and restoring said combined binarized/binary redundancy data to L level form, thereby to generate restored L level redundancy data, and storing said restored L level redundancy data in at least some of said at least partly available L level Multi-level cells (MLCs).