  Magnetic random-access memory (MRAM) is a promising memory technology due to
its high density, non-volatility, and high endurance. However, achieving high
memory fidelity incurs significant write-energy costs, which should be reduced
for large-scale deployment of MRAMs. In this paper, we formulate an
optimization problem for maximizing the memory fidelity given energy
constraints, and propose a biconvex optimization approach to solve it. The
basic idea is to allocate non-uniform write pulses depending on the importance
of each bit position. The fidelity measure we consider is minimum mean squared
error (MSE), for which we propose an iterative water-filling algorithm.
Although the iterative algorithm does not guarantee global optimality, we can
choose a proper starting point that decreases the MSE exponentially and
guarantees fast convergence. For an 8-bit accessed word, the proposed algorithm
reduces the MSE by a factor of 21.
