Analysis and Mitigation of Patterned Read Collisions in Flash SSDs - Yuhun Jun; Jaehyung Park; Jeong-Uk Kang; Euiseong Seo (IEEE Access, 2022)
A modern flash solid-state drive (SSD) achieves superb throughput by accessing its flash memory dies in parallel. To obtain parallelism in processing writes, the flash translation layer (FTL) of an SSD is allowed to allocate physical pages from idle dies or dies with low loads. However, since the die that holds the page to be read is determined in advance, when multiple read requests head for one die, read collisions occur, and the read operations involved in the collisions must be serialized. These read collisions lead to a significant prolongation of read latency and, thus the degradation of throughput. As the density of flash dies increases, more pages are stored on a die, which is expected to result in more frequent read collisions. Unlike the write collisions that the DRAM buffer can absorb, read collisions directly affect user-experienced latency. Therefore, the severity of the problem is further increased. In this paper, we identify the impact of read collisions on performance with real-world traces. We also propose an approach that distinguishes patterned read collisions from accidental ones and mitigates the performance impact of patterned read collisions. By replicating frequently occurring pages involved in patterned read collisions, the proposed approach improves the average and tail read latency of an SSD. The evaluation through simulation with the 34 MSR Cambridge traces showed that 12 traces out of 34 earned read performance improvement larger than 10% and up to 37%. In addition, the tail read latency of 15 traces was reduced by at least 20% and by up to 53%. Only two traces showed negligible degradation in average and tail read latency by around 1%.