Zero-Copying I/O Stack for Low-Latency SSDs

Sunghwan Kim, Gyusun Lee, Jiwon Woo, Jinkyu Jeong

    Research output: Contribution to journalArticlepeer-review


    Traditional buffered read for block devices is no longer effective in terms of latency with today's low-latency solid-state drives. This is because memory copy accounts for a large portion of I/O latency. Zero-copy read is an attractive approach to reducing the I/O latency, but has the inability to utilizing the page cache, thereby losing the opportunity to access reused data in DRAM-like speed. This study proposes an I/O stack that has the advantages of both zero-copy and the use of the page cache for modern low-latency SSD. In the proposed I/O stack, the page cache serves the read request by the application first. Upon a miss, the storage device transfers data to a user buffer directly. In the meantime, our scheme collects necessary information that is used later for prefetching data into the page cache in the background. Therefore, when an application accesses the data again, it can be served at DRAM-like speed. Our prototype in the Linux kernel shows up to 11 percent throughput improvement on the YCSB workload against the database applications.

    Original languageEnglish
    Article number9373910
    Pages (from-to)50-53
    Number of pages4
    JournalIEEE Computer Architecture Letters
    Issue number1
    Publication statusPublished - 2021 Jan 1

    Bibliographical note

    Funding Information:
    This work was supported in part by the National Research Foundation of Korea (NRF) funded by the Korea government (MSIT) under Grant NRF-2020R1A2C2102406, by the MSIT (Ministry of Science and ICT), Korea, under the ICT Creative Consilience program under Grant IITP-2020-0-01821 and by Samsung Electronics.

    Publisher Copyright:
    © 2002-2011 IEEE.

    All Science Journal Classification (ASJC) codes

    • Hardware and Architecture


    Dive into the research topics of 'Zero-Copying I/O Stack for Low-Latency SSDs'. Together they form a unique fingerprint.

    Cite this