1. A method for operating an array of non-volatile multilevel memory cells, the method comprising: assigning, to a first cell coupled to a row select line, a first number of program states to which the first cell is to be programmed; assigning, to a second cell coupled to the row select line, a second number of program states to which the second cell is to be programmed, wherein the second number of program states is greater than the first number of program states; assigning, to a third cell coupled to the row select line, a third number of program states to which the third cell is to be programmed, wherein the third number of program states is different than the first number of program states and the second number of program states; wherein the assigning includes assigning to at least one of the first cell, the second cell, and the third cell, a number of program states that corresponds to a non-integer bit assignment for the cell; and programming the first cell to one of the first number of program states prior to programming the second cell to one of the second number of program states.