Enhancing internal parallelism of solid-state drives while balancing write loads across dies
To increase storage capacity and I/O bandwidth, modern solid-state drives embed multiple NAND packages that consist of one or multiple dies in a parallel architecture. Each die can process NAND read/write/erase operations independently. A dynamic die binding method for write requests that is intended to exploit this parallel processing capability is proposed. This scheme stripes data to idle dies first, and unlike existing dynamic binding schemes, when idle dies are lacking it selects dies with the lowest accumulated write loads, thereby achieving wear levelling by ensuring long-term write load balancing. Thus, it can prevent situations in which some dies are worn out more quickly than others. A performance evaluation demonstrates that our approach offers slightly better performance compared with an existing dynamic binding scheme and completely resolves the problem of imbalanced write loads.