A method and system for providing a magnetic memory. The magnetic memory
includes magnetic storage cells in an array, bit lines, and source lines.
Each magnetic storage cell includes at least one magnetic element. The
magnetic element(s) are programmable by write currents driven through the
magnetic element(s). Each magnetic element has free and pinned layer(s)
and a dominant spacer. The magnetic memory is configured such that either
the read current(s) flow from the free layer(s) to the dominant spacer if
the maximum low resistance state read current divided by the minimum low
resistance state write current is greater than the maximum high
resistance state read current divided by the minimum high resistance
state write current or the read current(s) flow from the dominant spacer
to the free layer(s) if the maximum low resistance state read current
divided by the minimum low resistance state write current is less than
the maximum high resistance state read current divided by the minimum
high resistance state write current.