Recent research has revealed that runtime bad blocks are found in the early lifespan of solid state drives. The reduction in an over-provisioning space due to the replacement of these bad blocks may well have a significant impact on performance degradation as it weakens the efficiency of garbage collection procedure. Moreover, previous studies focused on salvaging worn-out bad blocks due to excessive erase operations whereas little research has been performed on runtime bad blocks. To address this problem, we present a salvation scheme for runtime bad blocks. This paper shows that bad blocks due to write failures can be identified at runtime, and introduces a method to salvage functioning pages from these blocks. Consequently, the loss in storage can be minimized even after the development of runtime bad blocks. It is also designed for memory efficiency and search complexity so that it performs consistent
performance regardless of the number of bad pages and bad blocks. Experimental results show a 26.3% reduction in latency and a 25.6% increase in throughput at a conservative bad block ratio of 0.45%. In addition, our results confirmed nearly no overhead was observed.