NAND Flash-based SSDs have been widely adopted as underlying storage devices in storage systems thanks to high random performance in the SSDs. Because of inherent rich parallelism resources (channel, chip, plane, and die) inside an SSD, many researchers pay much attention on parallelism improvement. Page allocation policies (static and dynamic page allocation) in an SSD aim to translate logical addresses of I/O requests on the host into physical addresses in flash memory space. Existing static page allocation policies suffer from severe load unbalance inside SSDs. Dynamic allocation policies employed in high-performance SSDs address the load balancing issue. However, dynamic allocation-based I/O requests flow into fewer parallelism resources, deteriorating read I/O-requests parallelism. Recognizing that SSD performance can be optimized by reducing read parallelism loss, we propose a hybrid page allocation strategy named HIPA to fully exploit the advantages of dynamic and static allocation to achieve read/write parallelisms inside an SSD. HIPA embraces a load prediction mechanism to monitor die-level load in real-time, thereby determining a page allocation policy based on the status of die-level load. A static page allocation policy is triggered in case of balanced die-level load. When performance degrades due to imbalance in die-level load, HIPA dynamically changes the gear to a dynamic allocation policy, aiming to balance the load on dies. Thus, HIPA achieves the maximum read parallelism rather than crumbling write performance. Conducting the extensive experiments, we validate the advantages of HIPA in terms of average response time, plane-level write, and erase standard deviation. The findings unveil that compared with the four popular page allocation policies (CWDP, CHIP-D, DIE-D, and PLANE-D), HIPA slashes the average response time by up to 58% with an average of 20% and 81% with an average of 33% compared with the dynamic allocation (DIE-D) with the lowest response time and the static strategy, respectively; (2) drives up the write standard deviation degree of the static strategy by up to 44%; (3) improves erase standard deviation rate by up to 43%.
Read full abstract