DRAMs have been popularly used to implement the
main memory because of their high densities and low prices.
Multi-core processors become popular in embedded systems
as well as in high-performance systems because of
poor scalability of single-core processors and to exploit
thread-level parallelism better. At the same time, programs
are becoming bigger and bigger. These trends necessitate
larger DRAMs to accommodate more and bigger programs
in the main memory. However, larger DRAMs consume
higher power/energy increasing cooling and electricity costs
and reducing reliability