# Exploiting Data Similarity to Improve SSD Read Performance
## 3 Related Work
### Data Deduplication in SSD  
[PERSON] et al. [4] introduced a content-aware flash memory translation layer (CAFTL) to enhance SSD endurance at the device level. It employed a combination of online and offline data deduplication techniques to eliminate redundant data and effectively reduce write traffic to flash memory. However, CAFTL utilized a pre-hashing technique that did not detect duplicate data pages in subsequent arrivals, resulting in a loss of deduplication rate. [PERSON] et al. [15] proposed CA-SSD, a flash SSD that employed content addressable storage (CAS) for internal data management. CA-SSD leveraged value locality, which exploits the likelihood of data being accessed again in the near future, based on the content of the data. Unlike CAFTL, CA-SSD fully implemented online data deduplication and did not rely on offline deduplication mechanisms. However, CA-SSD utilized a dedicated hardware processor for hash computation, thereby increasing the production cost of SSDs and limiting its universal applicability. [PERSON] et al. [5] further examined the impact of data deduplication on SSD performance. They proposed managing fingerprints based on temporal locality, retaining only the most recently generated fingerprints instead of all generated fingerprints. This method maximized SSD deduplication rate while reducing memory space consumption. Unfortunately, this technique also required a dedicated hardware processor similar to CA-SSD, resulting in increased SSD costs. [PERSON] et al. [22] presented \(\Delta\)FTL (Delta Flash Translation Layer), a data deduplication method that minimized redundant data in SSDs using a compression increment strategy. \(\Delta\)FTL achieved a small compression ratio by leveraging content locality between written data and its corresponding old version stored in the SSD. Instead of writing the entire new data, only the compression increment was stored, ultimately reducing the amount of data written to the SSD. However, during reads, \(\Delta\)FTL required the SSD to be read twice and the data to be decompressed and merged, which negatively impacted the read performance. To mitigate the overhead of fingerprint computation, [PERSON] et al. [23] introduced NF-Dedupe. Unlike traditional deduplication methods, NF-Dedupe avoided using the time-consuming SHA-1 algorithm for fingerprint computation. Instead, it employed the weaker CRC32 fingerprint to identify potential duplicate data pages. Non-duplicate data were filtered, and only potentially duplicated data were read from the SSD. Byte-by-byte comparison was then used to confirm duplication,  
\begin{table}
\begin{tabular}{p{142.3 pt} p{142.3 pt}} \hline \hline
**Problem** & **Literature** \\ \hline Adopting diverse page allocation strategies to enhance the parallelism of SSD read and write operations & [PERSON] et al. [12], [PERSON] et al. [13], [PERSON] et al. [11], [PERSON] et al. [20], [PERSON] et al. [17], [PERSON] et al. [18], [PERSON] et al. [19], [PERSON] et al. [21] \\ \hline Implementing data deduplication in SSD to reduce the amount of data being written & [PERSON] et al. [4], [PERSON] et al. [15], [PERSON] et al. [5], [PERSON] et al. [22], [PERSON] et al. [23], [PERSON] et al. [6] \\ \hline Employing path conflict resolution in SSD to improve the parallelism of read and write operations & [PERSON] et al. [24], [PERSON] et al. [25], [PERSON] et al. [3], [PERSON] et al. [26], [PERSON] et al. [14], [PERSON] et al. [27] \\ \hline \hline \end{tabular}
\end{table}
Table 1: Related work.  
thus achieving the desired deduplication effect. [PERSON] et al. [6] presented WOJ (Write-Once data Journaling), a data journal-based deduplication system. WOJ utilized data deduplication techniques to eliminate redundant data from the journal records, thus reducing the amount of data written to the SSD and enhancing the device's lifespan.