EC-ARR: Using Active Reconstruction to Optimize SSD Read Performance

Shuo Li,Mingzhu Deng,Fang Liu,Zhiguang Chen,Nong Xiao
DOI: https://doi.org/10.1007/978-3-030-38961-1_53
2020-01-01
Abstract:Solid State Drive (SSD) has been becoming mainstream storage for its high performance, affordability proportional to its growing storage capacity. However, some inborn characteristics still limit its widespread application: (1) It wears out easily with increasing times of being written/erased. Therefore, SSDs are generally equipped with dedicated Erasure Coding (EC) modules for reliability concerns. However, the EC modules are only statically useful in the sheer scenarios of data loss. In other words, the EC module is never exploited in the regular access situations of dominating frequency, where data is unharmed and intact. (2) Huge latency differences exist among its three basic operations of reading, writing, and erasing, which could lead to performance degradation if there is no proper I/O scheduling. (3) SSD has excellent internal parallelism, which offers a strong possibility to further boost I/O performance if exploited properly. Therefore, this paper proposes EC-ARR (Active-Reconstruction-Read), which exploits in a broader sense both its EC module and channel-level parallelism in combination to achieve better read performance. It is able to not only guard against data loss but also assist in normal data reads where data is intact, with active use of data reconstruction of the EC module. Additionally, to further this active reconstruction method in terms of channel-level parallelism, the static stripe with a length smaller than the number of channels and the data placement scheme with channel-wear-aware are adopted. Simulation experiment based on SSDsim [1] shows that compared with conventional channel-RAID5 SSD, ARR-enabled SSD can increase the read performance by up to 18.5% without significant write performance degradation or storage overhead.
What problem does this paper attempt to address?