1. A method for programming a selected non-volatile memory cell, comprising: boosting a channel of an unselected memory cell using at least a first boosting technique when programming a lower page of the selected memory cell; and boosting a channel of an unselected memory cell using at least a second boosting technique when programming an upper page of the selected memory cell, wherein the second boosting technique is different than the first boosting technique.