1. A storage device comprising: an array of non-volatile memory cells each comprising a magnetic tunneling junction (MTJ); and a control circuit adapted to write data to the array by applying a plurality of successive indeterminate write current pulses to a selected memory cell of the array, the control circuit applying a read current to the selected memory cell between at least some of the write current pulses to verify a written state of the selected memory cell.