Patent ID: 7987316

Claim:
A programming method for a non-volatile memory with a unidirectionally programmed bit signal, wherein the non-volatile memory includes a plurality of data pages, the programming method comprising: programming a first data into a portion of a first data page which is one of the data pages of the non-volatile memory, wherein the first data comprising a first number of sequential bits of first status and the first number of sequential bits of the first status in the first data can decode into a second number of sequential bits of second status; and programming a second data into the other portion of the first data page wherein the second data is generated by encoding a third data which has N bits; wherein the second data has (N+K) bits, and any two different data among the second data have a variance of M bits, where N is a positive integer, K and M are both integers not less than 3, and M is less than (K+N).