Adaptive wear-leveling algorithm for PRAM main memory with a DRAM buffer

  • Authors:
  • Sung Kyu Park;Min Kyu Maeng;Ki-Woong Park;Kyu Ho Park

  • Affiliations:
  • KAIST, Daejeon, Republic of Korea;KAIST, Daejeon, Republic of Korea;Daejeon University, Daejeon, Republic of Korea;KAIST, Daejeon, Republic of Korea

  • Venue:
  • ACM Transactions on Embedded Computing Systems (TECS)
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Phase Change RAM (PRAM) is a candidate to replace DRAM main memory due to its low idle power consumption and high scalability. However, its latency and endurance have generated problems in fulfilling its main memory role. The latency can be treated with a DRAM buffer, but the endurance problem remains, with three critical points that need to be improved despite the use of, existing wear-leveling algorithms. First, existing DRAM buffering schemes do not consider write count distribution. Second, swapping and shifting operations are performed statically. Finally, swapping and shifting operations are loosely coupled with a DRAM buffer. As a remedy to these drawbacks, we propose an adaptive wear-leveling algorithm that consists of three novel schemes for PRAM main memory with a DRAM buffer. The PRAM-aware DRAM buffering scheme reduces the write count and prevents skewed writing by considering the write count and clean data based on the least recently used (LRU) scheme. The adaptive multiple swapping and shifting scheme makes the write count even with the dynamic operation timing, the number of swapping pages being based on the workload pattern. Our DRAM buffer-aware swapping and shifting scheme reduces overhead by curbing additional swapping and shifting operations, thus reducing unnecessary write operations. To evaluate the wear-leveling effect, we have implemented a PIN-based wear-leveling simulator. The evaluation confirms that the PRAM lifetime increases from 0.68 years with the previous wear-leveling algorithm to 5.32 years with the adaptive wear-leveling algorithm.