A design for a memory array that uses bi-directional write currents and
that avoids switched ground connections for memory cells, thereby
reducing signal loss and noise problems is described. Positive and
negative current sources are provided to supply the bi-directional
current that is used to write to a memory cell. These current sources may
be selectively connected to bit lines that are electrically connected to
the memory cells. Applying a positive current, from the positive current
source, through a memory cell writes a "1", and applying a negative
current, from the negative current source, through a memory cell writes a
"0". Use of both a positive and a negative current source enables writing
to the memory cells without relying on a switched ground connection to
provide bi-directional current. This permits a ground connection of each
memory cell to be connected to a fixed ground. An example in which this
design is used with a spin injection magneto-resistive random access
memory (MRAM) device is shown.