Write Request Handling for Static Wear Leveling in Flash Memory (SSD) Controller

  • Choo, Chang (Department of Electrical Engineering, San Jose State University) ;
  • Gajipara, Pooja (Department of Electrical Engineering, San Jose State University) ;
  • Moon, Il-Young (School of Computer Science & Engineering, Korea University of Technology and Education)
  • Received : 2014.04.02
  • Accepted : 2014.07.08
  • Published : 2014.09.30


The lifetime of a solid-state drive (SSD) is limited because of the number of program and erase cycles allowed on its NAND flash blocks. Data cannot be overwritten in an SSD, leading to an out-of-place update every time the data are modified. This result in two copies of the data: the original copy and a modified copy. This phenomenon is known as write amplification and adversely affects the endurance of the memory. In this study, we address the issue of reducing wear leveling through efficient handling of write requests. This results in even wearing of all the blocks, thereby increasing the endurance period. The focus of our work is to logically divert the write requests, which are concentrated to limited blocks, to the less-worn blocks and then measure the maximum number of write requests that the memory can handle. A memory without the proposed algorithm wears out prematurely as compared to that with the algorithm. The main feature of the proposed algorithm is to delay out-of-place updates till the threshold is reached, which results in a low overhead. Further, the algorithm increases endurance by a factor of the threshold level multiplied by the number of blocks in the memory.


  1. S. Kumar and R. Vijayaraghavan, Solid state drive (SSD) FAQ [Internet], Available
  2. Samsung, Why SSDs are awesome [Internet], Available
  3. A. R. Rahiman and P. Sumari, "Solid state disk: a new storage device for video storage server," in Proceedings of the International Symposium on Information Technology, Kuala Lumpur, Malaysia, pp. 1-8, 2008.
  4. M. Murugan and D. H. C. Du, "Rejuvenator: a static wear leveling algorithm for NAND flash memory with minimized overhead," in Proceedings of the IEEE 27th Symposium on Mass Storage Systems and Technologies, Denver, CO, pp. 1-12, 2011.
  5. L. P. Chang, "On efficient wear leveling for large-scale flashmemory storage systems," in Proceedings of the 2007 ACM Symposium on Applied Computing, Seoul, Korea, pp. 1126-1130, 2007.
  6. S. Teshome and T. S. Chung, "A tri-pool dynamic wear leveling algorithm for large scale flash memory storage systems," in Proceedings of the 2011 International Conference on Information Science and Applications, Jeju, Korea, pp. 1-6, 2011.