Abstract
Non-volatile memory (NVM) devices, such as Flash, phase change RAM, spin transfer torque RAM, and resistive RAM, offer several advantages and challenges when compared to conventional memory technologies, such as DRAM and magnetic hard disk drives (HDDs). In this paper, we present a survey of software techniques that have been proposed to exploit the advantages and mitigate the disadvantages of NVMs when used for designing memory systems, and, in particular, secondary storage (e.g., solid state drive) and main memory. We classify these software techniques along several dimensions to highlight their similarities and differences. Given that NVMs are growing in popularity, we believe that this survey will motivate further research in the field of software technology for NVMs.
Original language | English |
---|---|
Article number | 7120149 |
Pages (from-to) | 1537-1550 |
Number of pages | 14 |
Journal | IEEE Transactions on Parallel and Distributed Systems |
Volume | 27 |
Issue number | 5 |
DOIs | |
State | Published - May 1 2016 |
Funding
Support for this work was provided by U.S. Department of Energy, Office of Science, Advanced Scientific Computing Research.
Funders | Funder number |
---|---|
U.S. Department of Energy | |
Office of Science | |
Advanced Scientific Computing Research |
Keywords
- Review
- classification
- flash memory
- non-volatile memory (NVM) (NVRAM)
- phase change RAM (PCM) (PCRAM)
- resistive RAM (ReRAM) (RRAM)
- solid state drive (SSD)
- spin transfer torque RAM (STT-RAM) (STT-MRAM)
- storage class memory (SCM)