LaLDPC: Latency-aware LDPC for Read Performance Improvement of Solid State Drives

Deqing Zou,Qiao Li,Liang Shi,Hai Jin,Chun Jason Xue
2017-01-01
Abstract:High-density Solid State Drives (SSDs) have to use Low-Density Parity-Check (LDPC) codes to store data reliably. Current LDPC implementations apply multiple read-retry steps to find the appropriate set of multiple Reference Voltage (RVs) for successful decoding. These appropriate RVs, number of which is represented by read level, cannot be obtained in advance, instead, an iterative read-retry LDPC process happens that starts with the first read level with the smallest number of RVs and then increases the level until that the data have been successfully decoded. Only read-retry with the last read level, called the appropriate read level, is necessary. Read latency can be improved by avoiding read-retries. This becomes particularly important in the late stage of SSD life when high read levels are needed. To avoid unnecessary read-retries, this paper proposes Latency-aware LDPC (LaLDPC). We study read level characteristics along with data retention and observe that a single read level stays appropriate for a long time. During this time, all reads in the same page have probably the same appropriate read level, which we call the temporal read level locality. Using this value, LaLDPC estimates the starting read voltage level, which we store in the flash translation layer of the controller. As an example, we show how to integrate LaLDPC into the Demand-based Flash Translation Layer (DFTL). A new cache eviction algorithm is also proposed to leave entries with high read levels in the cache as long as possible. Experimental results show that LaLDPC saves 56% of read retries and improves SSD read performance by 18% on average compared with the existing LDPC method.
What problem does this paper attempt to address?