Patent ID: 7092278

Claim:
A memory device, comprising: a memory cell array, wherein a memory cell constructed from a memory element capable of storing a plurality of data by changing a resistance value into at least two states of high resistance and low resistance and a transistor for controlling access to the memory element is arranged in a plurality of columns and in a plurality of rows; a control means for controlling access to the memory cell, which has a row address decoder connected to a plurality of memory cells in the memory cell array through a word line and a column address decoder connected to the plurality of memory cells through a bit line; a power supply means for applying a given (reading) voltage to the memory cell, which includes a first and a second power supply lines; a sense amplifier for detecting data stored in the memory cell; and a load circuit for converting a current flowing to the bit line through the memory cell in reading to a voltage, wherein when the resistance value of the memory element is in a high resistance state is expressed as R_mem_high; the resistance value of the memory element is in a low resistance state is expressed as R_mem_low 1 ; the resistance value of the load circuit is expressed as R_load; the reading voltage applied between the first power supply line and the second power supply line for reading by setting the voltage of the second power supply line to the reference voltage is expressed as Vread; and the threshold voltage at which the change of the resistance value of the memory element is generated is expressed as Vth_critical, the low resistance state is created so that relations of the following Formulas (1) and (2) are satisfied in writing data into the memory cell R_mem ⁢ _low1 ⁢ ⁢ <= ⁢ ⁢ { Vread * R_mem ⁢ _high / ( R_mem ⁢ _high + R_load ) - 0.01 } * R_load / { Vread * R_mem ⁢ _high / ( R_mem ⁢ _high + R_load ) * R_load / R_mem ⁢ _high + M ⁢ ⁢ ( M ⁢ : ⁢ ⁢ given ⁢ ⁢ value ) } Formula ⁢ ⁢ ( 1 ) Vread*R_mem_high/( R _mem_high+R_load) <= Vth _critical. Fromual (2)