Solid-state drives (SSDs) utilize parallel architectures to improve their IO throughput. Although log buffer based flash translation layers (FTLs) are widely employed in SSDs, little has been addressed on the issue of placing pages under a parallel architecture in such FTLs. In this letter, we evaluate three possible page placement policies and show that there is no best policy due to the tradeoff between the degree of parallelism and the garbage collection overhead. To achieve high performance SSDs, cross-layer optimization techniques involving the cooperation between the buffer management layer and the FTL are proposed in this letter to maximize the degree of parallelism while keeping a low garbage collection overhead. The basic idea is to let the FTL keep the garbage collection overhead low by eliminating high-cost cross-channel live page copying, while making the buffer management layer responsible for maximizing the degree of parallelism. Simulation results on five realistic or benchmark based workloads show that the proposed techniques reduce the response time of the SSD by up to 79%.
All Science Journal Classification (ASJC) codes