Abstract

Flash-based solid state drives (SSDs) are widely adopted in both industry and the academia since SSDs offer higher performance, lower latency, and lower power consumption compared with traditional hard disk drives (HDDs). Unfortunately, the performance of SSDs can be affected by I/O access patterns. For example, random I/O operation degrades the SSD performance compared with sequential I/O operation since the random I/O operation reduces the spatial locality and increases garbage collection (GC) overhead. To handle this issue, in this article, we propose an efficient block address transformation scheme in the block layer to improve both performance and portability. To do this, we first transform random access patterns to sequential access patterns by sequentializing the block addresses in the block layer. Second, we devise a mapping table for managing transformed block addresses. Third, we support correct read operations and transaction processing for updating the mapping table to avoid sacrificing the consistency. Finally, we provide a cleaning scheme to reclaim invalid data generated by the transformed sequential access. This scheme increases spatial locality, reduces GC overhead, and operates well on any file systems or devices. Experimental results show the proposed scheme improves performance by up to 2x, 1.86x, 2.15x, and 42.8% compared with existing scheme in the case of diverse file systems such as EXT4, XFS, BTRFS, and F2FS, respectively.

Highlights

  • Flash-based solid state drives (SSDs) offer several advantages over traditional hard disk drives (HDDs) such as higher throughput, lower access latency, lower power consumption, etc [9]

  • Even though SSDs provide much higher I/O performance compared with HDDs, the performance of SSDs can be affected by access patterns and garbage collection (GC) from applications due to their specific features [18]

  • Experimental results show the our proposed scheme improves the performance by up to 2x, 1.86x, 2.15x, and 42.8% compared with the existing scheme in the case of existing file systems EXT4 [17], XFS [29], BTRFS [22], and F2FS [13], respectively

Read more

Summary

Introduction

Flash-based solid state drives (SSDs) offer several advantages over traditional hard disk drives (HDDs) such as higher throughput, lower access latency, lower power consumption, etc [9]. Sequential access is reading or writing of data in sequential order In this case, there is high probability that sequential write requests have a similar lifetime inside the SSD [21], [28]. The number of migrations for valid data during GC can be reduced, reducing write amplification within SSDs. On the contrary, in the case of random access, spatial locality is reduced due to writing data in random order. The random write pattern generates randomly tree updates which increases the garbage collection overheads. It results in a write amplification which decreases the I/O performance. F2FS builds on append-only logging to turn random writes into

Objectives
Methods
Findings
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call