Eliminating Periodic Flush Overhead of File I/O with Non-Volatile Buffer Cache

Eunji Lee, Hyojung Kang, Hyokyung Bahn, Kang G. Shin

Research output: Contribution to journalArticlepeer-review

27 Scopus citations


File I/O buffer caching plays an important role to narrow the wide speed gap between main memory and secondary storage. However, data loss or inconsistency may occur if the system crashes before updated data in the buffer cache is flushed to storage. Thus, most operating systems adopt a daemon that periodically flushes dirty data to secondary storage. This periodic flush degrades the caching efficiency seriously because most write requests lead to direct storage accesses. We show that periodic flush accounts for 30-70 percent of the total write traffic to storage. To remove this inefficiency, this paper presents a new buffer cache architecture that adopts a small amount of non-volatile memory to maintain modified data. This novel buffer cache architecture removes almost all storage accesses due to periodic flush operations without any loss of reliability. It also improves the buffer cache performance through space-efficient management techniques, such as delta-write and fragment-grouping. Our experimental results show that the proposed buffer cache reduces the storage write traffic by 44.3 percent and also improves the throughput by 23.6 percent on average.

Original languageEnglish
Article number6880383
Pages (from-to)1145-1157
Number of pages13
JournalIEEE Transactions on Computers
Issue number4
StatePublished - 1 Apr 2016

Bibliographical note

Publisher Copyright:
© 2014 IEEE.


  • Non-volatile memory
  • buffer cache
  • file system
  • pdflush
  • reliability


Dive into the research topics of 'Eliminating Periodic Flush Overhead of File I/O with Non-Volatile Buffer Cache'. Together they form a unique fingerprint.

Cite this