Patent ID: 7468912

Claim:
A method for programming memory cells, comprising: programming a plurality of data values into a plurality of memory cells, each memory cell of the plurality of memory cells having a plurality of sides, the plurality of sides including at least a first side and a second side, each of the first side and second side storing one of a plurality of nonoverlapping threshold voltage ranges, the plurality of nonoverlapping threshold voltage ranges including at least a first threshold voltage range, a second threshold voltage range, a third threshold voltage range, and a fourth threshold voltage range, wherein the fourth threshold voltage range is higher than the third threshold voltage range, the third threshold voltage range is higher than the second threshold voltage range, and the second threshold voltage range is higher than the first threshold voltage range, such that the plurality of data values is represented by a combination of particular threshold voltage ranges stored by the plurality of sides of the plurality of memory cells, including: programming and verifying the plurality of sides of the plurality of memory cells with instances of the fourth threshold voltage range of the combination into; and then programming and verifying the plurality of sides of the plurality of memory cells with at least one of: instances of the third threshold voltage range, and instances of the second threshold voltage range.