5. The method of claim 1 , wherein the plurality of memory cells comprise flash memory cells.
1. A method of generating coherent check words for programming memory cells to an intermediate state and to a final state without an intervening erase operation, the method comprising: receiving a first data; computing a first check code for the first data; programming the first data and the first check code to a plurality of memory cells to change contents of the plurality of memory cells from an initial state to the intermediate state; receiving a second data; computing a second check code for the second data; and programming the second data and the second check code to the plurality of memory cells without erasing the plurality of memory cells provided that contents of the second data and the second check code would be at the final state after programming.