  Conventional low-power static random access memories (SRAMs) reduce read
energy by decreasing the bit-line voltage swings uniformly across the bit-line
columns. This is because the read energy is proportional to the bit-line
swings. On the other hand, bit-line swings are limited by the need to avoid
decision errors especially in the most significant bits. We propose an
information-theoretic approach to determine optimal non-uniform bit-line swings
by formulating convex optimization problems. For a given constraint on mean
squared error of retrieved words, we consider criteria to minimize energy (for
low-power SRAMs), maximize speed (for high-speed SRAMs), and minimize
energy-delay product. These optimization problems can be interpreted as
classical water-filling, ground-flattening and water-filling, and sand-pouring
and water-filling, respectively. By leveraging these interpretations, we also
propose greedy algorithms to obtain optimized discrete swings. Numerical
results show that energy-optimal swing assignment reduces energy consumption by
half at a peak signal-to-noise ratio of 30dB for an 8-bit accessed word. The
energy savings increase to four times for a 16-bit accessed word.
