A method, system and computer program product for programming a plurality
of programmable resistive memory cells is disclosed. The method comprises
executing a first process to program input data, including setting up
bias voltages on bit lines and word lines on the memory cells,
determining if the input data for each memory cell corresponds to a set
state and then setting such cells to a set state. The method further
comprises executing a second process to program input data, determining
if the input data for each memory cell corresponds to a reset state and
then resetting such cells to a reset state.