1. A method for memory self-calibration, the method comprising: programming a voltage on a selected memory cell of a memory array; programming a voltage on a memory cell adjacent to the selected memory cell; and determining an effect on the selected memory cell in response to programming the voltage on the memory cells adjacent to the selected memory cell by: reading the selected memory cell to determine a voltage stored on the selected memory cell; determining a difference between the voltage programmed on the selected memory cell and the voltage read from the selected memory cell; and generating an offset voltage determined by the effect.