Crash Consistent Non-Volatile Memory Express
- 26 October 2021
- conference paper
- conference paper
- Published by Association for Computing Machinery (ACM) in Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles CD-ROM
Abstract
This paper presents crash consistent Non-Volatile Memory Express (ccNVMe), a novel extension of the NVMe that defines how host software communicates with the non-volatile memory (e.g., solid-state drive) across a PCI Express bus with both crash consistency and performance efficiency. Existing storage systems pay a huge tax on crash consistency, and thus can not fully exploit the multi-queue parallelism and low latency of the NVMe interface. ccNVMe alleviates this major bottleneck by coupling the crash consistency to the data dissemination. This new idea allows the storage system to achieve crash consistency by taking the free rides of the data dissemination mechanism of NVMe, using only two lightweight memory-mapped I/Os (MMIO), unlike traditional systems that use complex update protocol and heavyweight block I/Os. ccNVMe introduces transaction-aware MMIO and doorbell to reduce the PCIe traffic as well as to provide atomicity. We present how to build a high-performance and crash-consistent file system namely MQFS atop ccNVMe. We experimentally show that MQFS increases the IOPS of RocksDB by 36% and 28% compared to a state-of-the-art file system and Ext4 without journaling, respectively.Keywords
Funding Information
- Huawei Innovation Project (YBN2019125112)
- National Key Research & Development Program of China (2018YFB1003301)
- Zhejiang Lab (2020KC0AB03)
- National Natural Science Foundation of China (62022051, 61832011, 61772300)
This publication has 8 references indexed in Scilit:
- Mitigating Synchronous I/O Overhead in File Systems on Open-Channel SSDsACM Transactions on Storage, 2019
- FlatFlashPublished by Association for Computing Machinery (ACM) ,2019
- 2B-SSD: The Case for Dual, Byte- and Block-Addressable Solid-State DrivesPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2018
- StrataPublished by Association for Computing Machinery (ACM) ,2017
- Scaling a file system to many cores using an operation logPublished by Association for Computing Machinery (ACM) ,2017
- LightTx: A lightweight transactional design in flash-based SSDs to support flexible transactionsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2013
- X-FTLPublished by Association for Computing Machinery (ACM) ,2013
- Operating System TransactionsPublished by Association for Computing Machinery (ACM) ,2009