Salvaging Runtime Bad Blocks by Skipping Bad Pages for Improving SSD Performance

Junoh Moona, Mincheol Kangb, Wonyoung Leec and Soontae Kimd
School of Computing, KAIST, Republic of Korea
ajunoh.moon@kaist.ac.kr
bmincheolkang@kaist.ac.kr
cwy lee@kaist.ac.kr
dkims@kaist.ac.kr

ABSTRACT


Recent research has revealed that runtime bad blocks are found in the early lifespan of solid state drives. The reduction in overprovisioning space due to runtime bad blocks may well have a negative impact on performance as it weakens the chances of selecting a better victim block during garbage collection. Moreover, previous studies focused on reusing wornout bad blocks exceeding a program/erase cycle threshold, leaving the problem of runtime bad blocks unaddressed. Based on this observation, we present a salvation scheme for runtime bad blocks. This paper reveals that these blocks can be identified when a page write fails at runtime. Furthermore, we introduce a method to salvage functioning pages from runtime bad blocks. Consequently, the loss in the overprovisioning space can be minimized even after the occurrence of runtime bad blocks. Experimental results show a 26.3% reduction in latency and a 25.6% increase in throughput compared to the baseline at a conservative bad block ratio of 0.45%. Additionally, our results confirm that almost no overhead was observed.

Keywords: Bad Block Management, Over-Provisioning.



Full Text (PDF)