1. A method for data storage, comprising: defining a first programming scheme that programs a group of analog memory cells while reducing interference caused by at least one memory cell that neighbors the group, and a second programming scheme that programs the group of the analog memory cells and does not reduce all of the interference reduced by the first programming scheme; selecting one of the first and second programming schemes based on a criterion defined with respect to the analog memory cells; and storing data in the group of the analog memory cells using the selected programming scheme.