Compatible byte-addressable direct I/O for peripheral memory devices in Linux

作者:

Highlights:

• Buffered I/O requires a disk cache. Direct I/O is not byte-addressable.

• Memory-mapped direct file I/O for persistent memory is not compatible for existing applications.

• This paper presents a new I/O layer, byte direct I/O (BDIO), in Linux.

• BDIO requires no changes of file I/O interface.

• BDIO bypasses the page cache even if applications use the buffer I/O interface.

• BDIO uses a byte-addressable standard file interface.

• BDIO can support peripheral memory devices that cannot be accessed by the MMU.

• BDIO was implemented in Linux kernel.

摘要

•Buffered I/O requires a disk cache. Direct I/O is not byte-addressable.•Memory-mapped direct file I/O for persistent memory is not compatible for existing applications.•This paper presents a new I/O layer, byte direct I/O (BDIO), in Linux.•BDIO requires no changes of file I/O interface.•BDIO bypasses the page cache even if applications use the buffer I/O interface.•BDIO uses a byte-addressable standard file interface.•BDIO can support peripheral memory devices that cannot be accessed by the MMU.•BDIO was implemented in Linux kernel.

论文关键词:Operating system,Input output,Memory

论文评审过程:Received 6 March 2018, Revised 16 May 2019, Accepted 17 December 2019, Available online 2 January 2020, Version of Record 15 January 2020.

论文官网地址:https://doi.org/10.1016/j.is.2019.101488