skip to main content
10.1145/3461648.3463843acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
research-article

Better atomic writes by exposing the flash out-of-band area to file systems

Published: 22 June 2021 Publication History

Abstract

File systems for mobile devices usually preserve data consistency by ordered I/Os. However, maintaining I/O ordering prevents applications from fully exploiting device parallelism and thus degrades the storage performance. In this paper, we propose NBStack to eliminate ordered I/Os without compromising data consistency. First, we augment the existing block interface to expose the Flash out-of-band area to file systems. Second, we build an enhanced block device prototype that supports the new interface. Third, we develop NBFS, a Linux file system, that leverages the new block interface to achieve atomic writes without enforcing I/O orderings. Experimental results show that NBStack doubles the performance of F2FS while providing strong consistency and durability guarantees. If applications are willing to trade-off durability, NBStack can further aggressively improve performance.

References

[1]
Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D Davis, Mark S Manasse, and Rina Panigrahy. 2008. Design tradeoffs for SSD performance. In USENIX Annual Technical Conference. 8, 57–70.
[2]
G Alcicek, Hamid Gualous, Pascal Venet, R Gallay, and A Miraoui. 2007. Experimental study of temperature effect on ultracapacitor ageing. In 2007 European conference on power electronics and applications. 1–7.
[3]
Matias Bjørling, Javier González, and Philippe Bonnet. 2017. LightNVM: The Linux Open-Channel SSD Subsystem. In 15th USENIX Conference on File and Storage Technologies (FAST). 359–374.
[4]
Seungyong Cheon and Youjip Won. 2017. Exploiting multi-block atomic write in SQLite transaction. In Proceedings of the International Conference on High Performance Compilation, Computing and Communications. 23–27.
[5]
Vijay Chidambaram, Thanumalayan Sankaranarayana Pillai, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2013. Optimistic crash consistency. In Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles. 228–243.
[6]
Vijay Chidambaram, Tushar Sharma, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2012. Consistency without ordering. In 10th USENIX Conference on File and Storage Technologies (FAST). 9.
[7]
Jonathan Corbet. 2010. The end of block barriers. https://lwn.net/Articles/400541/
[8]
Micron Corporation. 2006. Micron 4Gb, 8Gb, and 16Gb x8 NAND Flash Memory Features.
[9]
Micron Corporation. 2009. Micron 4Gb, 8Gb, 16Gb: x8, x16 NAND Flash Memory Features.
[10]
Micron Corporation. 2015. Micron 1Gb x8, x16: NAND Flash Memory Features.
[11]
Micron Corporation. 2017. Micron MLC 128Gb to 512Gb Async/Sync NAND Features.
[12]
Micron Corporation. 2017. Micron TLC 512Gb-4Tb NAND B27B FortisFlash Features.
[13]
Samsung Corporation. 2007. K9XXG08XXM Flash Memory Specification.
[14]
SpecTek Corporation. 2007. SPECTEK 8Gb, 16Gb, and 32Gb: x8/x16 NAND Flash Memory Features.
[15]
Samsung Corporation. 2010. Samsung 16Gb E-die NAND Flash Datasheet.
[16]
Jinhua Cui, Junwei Liu, Jianhang Huang, Haoran Zhu, and Laurence Tianruo Yang. 2020. ApproxRefresh: Enabling Uncorrectable Data Reuse on Flash Memory with Approximate Read Awareness. In The 21st ACM SIGPLAN/SIGBED Conference on Languages, Compilers, and Tools for Embedded Systems. 26–37.
[17]
Jeroen Dorgelo and Mike Chaowei Chen. 2015. Host memory buffer (HMB) based SSD system. Flash Memory Summit.
[18]
Jake Edge. 2019. A way to do atomic writes. https://lwn.net/Articles/789600/
[19]
Jake Edge. 2019. Filesystems and crash resistance. https://lwn.net/Articles/788938/
[20]
Christopher Frost, Mike Mammarella, Eddie Kohler, Andrew De los Reyes, Shant Hovsepian, Andrew Matsuoka, and Lei Zhang. 2007. Generalized file system dependencies. ACM SIGOPS Operating Systems Review, 41, 6 (2007), 307–320. https://doi.org/10.1145/1323293.1294291
[21]
Jie Guo, Jun Yang, Youtao Zhang, and Yiran Chen. 2013. Low cost power failure protection for MLC NAND flash storage systems with PRAM/DRAM hybrid buffer. In 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE). 859–864.
[22]
Yige Hu, Zhiting Zhu, Ian Neal, Youngjin Kwon, Tianyu Cheng, Vijay Chidambaram, and Emmett Witchel. 2019. TxFS: Leveraging file-system crash consistency to provide ACID transactions. ACM Transactions on Storage (TOS), 15, 2 (2019), 1–20. https://doi.org/10.1145/3318159
[23]
Sooman Jeong, Kisung Lee, Jungwoo Hwang, Seongjin Lee, and Youjip Won. 2013. Framework for analyzing android i/o stack behavior: from generating the workload to analyzing the trace. Future Internet, 5, 4 (2013), 591–610. https://doi.org/10.3390/fi5040591
[24]
Woon-Hak Kang, Sang-Won Lee, Bongki Moon, Gi-Hwan Oh, and Changwoo Min. 2013. X-FTL: transactional FTL for SQLite databases. In Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data. 97–108.
[25]
Jaegeuk Kim. 2014. F2FS: support atomic_write feature for database. https://lkml.org/lkml/2014/9/26/19
[26]
Changman Lee, Dongho Sim, Joo Young Hwang, and Sangyeun Cho. 2015. F2FS: A New File System for Flash Storage. In Proceedings of the USENIX Conference on File and Storage Technologies (2015). 273–286.
[27]
Huaicheng Li, Mingzhe Hao, Michael Hao Tong, Swaminatahan Sundararaman, Matias Bjørling, and Haryadi S Gunawi. 2018. The case of FEMU: cheap, accurate, scalable and extensible flash emulator. In 16th USENIX Conference on File and Storage Technologies (FAST). 83–90.
[28]
Xiaojian Liao, Youyou Lu, Erci Xu, and Jiwu Shu. 2020. Write Dependency Disentanglement with HORAE. In 14th USENIX Symposium on Operating Systems Design and Implementation (OSDI 20). 549–565.
[29]
Youyou Lu, Jiwu Shu, and Wei Wang. 2014. ReconFS: A reconstructable file system on flash storage. In 12th USENIX Conference on File and Storage Technologies (FAST). 75–88.
[30]
Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In 11th USENIX Conference on File and Storage Technologies (FAST). 257–270.
[31]
Youyou Lu, Jiacheng Zhang, Zhe Yang, Liyang Pan, and Jiwu Shu. 2019. OCStore: Accelerating Distributed Object Storage with Open-Channel SSDs. In 2019 IEEE 39th International Conference on Distributed Computing Systems (ICDCS). 271–281.
[32]
Mihai M. 2019. Galaxy Note 10 uses F2FS, not EXT4 file system: What is the difference? https://www.sammobile.com/news/galaxy-note-10-uses-f2fs-not-ext4-file-system-whats-the-difference/
[33]
Changwoo Min, Woon-Hak Kang, Taesoo Kim, Sang-Won Lee, and Young Ik Eom. 2015. Lightweight application-level crash consistency on transactional flash storage. In USENIX Annual Technical Conference. 221–234.
[34]
Chandrasekaran Mohan, Don Haderle, Bruce Lindsay, Hamid Pirahesh, and Peter Schwarz. 1992. ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Transactions on Database Systems (TODS), 17, 1 (1992), 94–162. https://doi.org/10.1145/128765.128770
[35]
Jayashree Mohan, Dhathri Purohith, Matthew Halpern, Vijay Chidambaram, and Vijay Janapa Reddi. 2017. Storage on your smartphone uses more energy than you think. In 9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17).
[36]
Edmund B Nightingale, Kaushik Veeraraghavan, Peter M Chen, and Jason Flinn. 2008. Rethink the sync. ACM Transactions on Computer Systems (TOCS), 26, 3 (2008), 1–26. https://doi.org/10.1145/1394441.1394442
[37]
Inc. NVM Express. 2020. NVM Express Revision 1.4b.
[38]
Xiangyong Ouyang, David Nellans, Robert Wipfel, David Flynn, and Dhabaleswar K Panda. 2011. Beyond block I/O: Rethinking traditional storage primitives. In 2011 IEEE 17th International Symposium on High Performance Computer Architecture. 301–311.
[39]
Stan Park, Terence Kelly, and Kai Shen. 2013. Failure-atomic msync() a simple and efficient mechanism for preserving the integrity of durable data. In Proceedings of the 8th ACM European Conference on Computer Systems. 225–238.
[40]
Vijayan Prabhakaran, Lakshmi N Bairavasundaram, Nitin Agrawal, Haryadi S Gunawi, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. 2005. IRON file systems. In Proceedings of the twentieth ACM symposium on Operating systems principles. New York, NY, USA. 206–220. https://doi.org/10.1145/1095810.1095830
[41]
Vijayan Prabhakaran, Thomas L Rodeheffer, and Lidong Zhou. 2008. Transactional Flash. In OSDI. 8.
[42]
Hongwei Qin. 2019. QBLK. https://github.com/WNLO-DSAL/QBLK
[43]
Hongwei Qin, Dan Feng, Wei Tong, Jingning Liu, and Yutong Zhao. 2019. QBLK: Towards Fully Exploiting the Parallelism of Open-Channel SSDs. In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE). 1064–1069.
[44]
Richard Hipp. 2019. LPC-2019: SQLite on Linux. https://sqlite.org/lpc2019/doc/trunk/briefing.md
[45]
Richard P Spillane, Sachin Gaikwad, Manjunath Chinni, Erez Zadok, and Charles P Wright. 2009. Enabling Transactional File Access via Lightweight Kernel Extensions. In 7th USENIX Conference on File and Storage Technologies (FAST). 9, 29–42.
[46]
Rajat Verma, Anton Ajay Mendez, Stan Park, Sandya Srivilliputtur Mannarswamy, Terence P Kelly, and Charles B Morrey III. 2015. Failure-atomic updates of application data in a Linux file system. In 13th USENIX Conference on File and Storage Technologies (FAST). 203–211.
[47]
Youjip Won, Jaemin Jung, Gyeongyeol Choi, Joontaek Oh, Seongbae Son, Jooyoung Hwang, and Sangyeun Cho. 2018. Barrier-Enabled IO Stack for Flash Storage. In 16th USENIX Conference on File and Storage Technologies (FAST). 211–226.
[48]
Youjip Won, Joontaek Oh, Jaemin Jung, Gyeongyeol Choi, Seongbae Son, Jooyoung Hwang, and Sangyeun Cho. 2018. Bringing Order to Chaos: Barrier-Enabled I/O Stack for Flash Storage. ACM Transactions on Storage (TOS), 14, 3 (2018), 1–29. https://doi.org/10.1145/3242091
[49]
David Woodhouse. 2021. Memory Technology Devices. http://www.linux-mtd.infradead.org/
[50]
Jeseong Yeon, Minseong Jeong, Sungjin Lee, and Eunji Lee. 2018. RFLUSH: Rethink the Flush. In 16th USENIX Conference on File and Storage Technologies (FAST). 201–210.
[51]
Chi Zhang, Yi Wang, Tianzheng Wang, Renhai Chen, Duo Liu, and Zili Shao. 2014. Deterministic crash recovery for NAND flash based storage systems. In 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC). 1–6.
[52]
Kai Zhao, Wenzhe Zhao, Hongbin Sun, Xiaodong Zhang, Nanning Zheng, and Tong Zhang. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In 11th USENIX Conference on File and Storage Technologies (FAST). 243–256.
[53]
Yutong Zhao, Wei Tong, Jingning Liu, Dan Feng, and Hongwei Qin. 2019. CeSR: A cell state remapping strategy to reduce raw bit error rate of MLC NAND flash. In 35th Symposium on Mass Storage Systems and Technologies (MSST). 161–171.

Cited By

View all
  • (2024)CaitiJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103109150:COnline publication date: 1-May-2024
  • (2023)FragTracer: Real-Time Fragmentation Monitoring Tool for F2FS File SystemSensors10.3390/s2309448823:9(4488)Online publication date: 5-May-2023
  • (2023)A survey on design and application of open-channel solid-state drives开放通道固态硬盘的设计与应用研究综述Frontiers of Information Technology & Electronic Engineering10.1631/FITEE.220031724:5(637-658)Online publication date: 2-Jun-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES 2021: Proceedings of the 22nd ACM SIGPLAN/SIGBED International Conference on Languages, Compilers, and Tools for Embedded Systems
June 2021
162 pages
ISBN:9781450384728
DOI:10.1145/3461648
  • General Chair:
  • Jörg Henkel,
  • Program Chair:
  • Xu Liu
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 22 June 2021

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. consistency
  2. file systems
  3. flash
  4. parallelism

Qualifiers

  • Research-article

Funding Sources

Conference

LCTES '21
Sponsor:

Acceptance Rates

Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)67
  • Downloads (Last 6 weeks)3
Reflects downloads up to 28 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)CaitiJournal of Systems Architecture: the EUROMICRO Journal10.1016/j.sysarc.2024.103109150:COnline publication date: 1-May-2024
  • (2023)FragTracer: Real-Time Fragmentation Monitoring Tool for F2FS File SystemSensors10.3390/s2309448823:9(4488)Online publication date: 5-May-2023
  • (2023)A survey on design and application of open-channel solid-state drives开放通道固态硬盘的设计与应用研究综述Frontiers of Information Technology & Electronic Engineering10.1631/FITEE.220031724:5(637-658)Online publication date: 2-Jun-2023
  • (2023)BlzFS: Crash Consistent Log-structured File System Based on Byte-loggable Zone for ZNS SSD2023 IEEE 41st International Conference on Computer Design (ICCD)10.1109/ICCD58817.2023.00040(206-213)Online publication date: 6-Nov-2023

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media