A memory array includes a plurality of first and second source, lines
overlapping a plurality of bit lines, and a plurality of magnetic storage
elements, each coupled to a corresponding first and second source line
and to a corresponding bit line. Current may be driven, in first and
second directions, through each magnetic element, for example, to program
the elements. Diodes may be incorporated to avert sneak paths in the
memory array. A first diode may be coupled between each magnetic element
and the corresponding first source line, the first diode being biased to
allow read and write current flow through the magnetic element, from the
corresponding first source line; and a second diode may be coupled
between each magnetic element and the corresponding second source line,
the second diode being reverse-biased to block read and write current
flow through the magnetic element, from the corresponding second source
line.