Many new types of non-volatile memory technologies are now evolving. For example, emerging non-volatile memories such as STTRAM, PCRAM, and ReRAM show their attractive properties of high access performance and low access energy. In this work, we aim to facilitate these emerging non-volatile memory technologies in designing future high-performance and low-power computer systems. We start this wo...