Variable write and read methods for resistance random access memory (RRAM)
are disclosed. The methods include initializing a write sequence and
verifying the resistance state of the RRAM cell. If a write pulse is
needed, then two or more write pulses are applied through the RRAM cell
to write the desired data state to the RRAM cell. Each subsequent write
pulse has substantially the same or greater write pulse duration.
Subsequent write pulses are applied to the RRAM cell until the RRAM cell
is in the desired data state or until a predetermined number of write
pulses have been applied to the RRAM cell. A read method is also
disclosed where subsequent read pulses are applied through the RRAM cell
until the read is successful or until a predetermined number of read
pulses have been applied to the RRAM cell.