[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.5555/3691992.3692003guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
research-article

ZMS: zone abstraction for mobile flash storage

Published: 07 January 2025 Publication History

Abstract

We propose an I/O stack for ZNS based flash storage in mobile environment, ZMS. The zone interface is known to save the flash storage from two fundamental issues which modern flash storage suffers from: logical-to-physical mapping table size and garbage collection overhead. Through extensive study, we find that realizing the zone interface in mobile environment is more than a challenge due to the unique characteristics of mobile environment: the lack of on-device memory in mobile flash storage and the frequent fsync() calls in mobile applications. Aligned with this, we identify the root causes that need to be addressed in realizing the zone interface in mobile I/O stack: write buffer thrashing and tiny synchronous file update. We develop a filesystem, block I/O layer, and device firmware techniques to address the above mentioned two issues. The three key techniques in ZMS are (i) IOTailor, (ii) budget-based in-place update, and (iii) multigranularity logical-to-physical mapping. Evaluation on a real production platform shows that ZMS improves write amplification by 2.9-6.4× and random write performance by 5.0-13.6×. With the three techniques, ZMS shows significant performance improvement in writing to the multiple zones concurrently, executing SQLite transactions, and launching the applications.

References

[1]
Matias Bjørling. From open-channel ssds to zoned namespaces. In Linux Storage and Filesystems Conference (Vault 19), page 1, 2019.
[2]
J. Gonzalez. Zoned namespaces: Standardization and linux ecosystem. In SDC EMEA, 2020.
[3]
Matias Bjørling, Abutalib Aghayev, Hans Holmberg, Aravind Ramesh, Damien Le Moal, Gregory R Ganger, and George Amvrosiadis. {ZNS}: Avoiding the block interface tax for flash-based {SSDs}. In 2021 USENIX Annual Technical Conference (USENIX ATC 21), pages 689-703, 2021.
[4]
Qiuping Wang, Jinhong Li, Patrick PC Lee, Tao Ouyang, Chao Shi, and Lilong Huang. Separating data via block invalidation time inference for write amplification reduction in {Log-Structured} storage. In 20th USENIX Conference on File and Storage Technologies (FAST 22), pages 429-444, 2022.
[5]
Yao-Jen Hsu, Chin-Hsien Wu, Yu-Chieh Tsai, and Chia-Cheng Liu. A granularity-based clustering method for reducing write amplification in solid-state drives. ACM Transactions on Embedded Computing Systems, 2023.
[6]
Youyou Lu, Jiwu Shu, and Weimin Zheng. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of 11th USENIX Conference on File and Storage Technologies (FAST 13), pages 257-270, 2013.
[7]
Janki Bhimani, Jingpei Yang, Zhengyu Yang, Ningfang Mi, NHV Krishna Giri, Rajinikanth Pandurangan, Changho Choi, and Vijay Balakrishnan. Enhancing ssds with multi-stream: What? why? how? In Proceedings of 2017 IEEE 36th International Performance Computing and Communications Conference (IPCCC), pages 1-2. IEEE, 2017.
[8]
Chandranil Chakraborttii and Heiner Litz. Reducing write amplification in flash by death-time prediction of logical block addresses. In Proceedings of the 14th ACM International Conference on Systems and Storage, pages 1-12, 2021.
[9]
Trong-Dat Nguyen and Sang-Won Lee. I/o characteristics of mongodb and trim-based optimization in flash ssds. In Proceedings of the Sixth International Conference on Emerging Databases: Technologies, Applications, and Theory, pages 139-144, 2016.
[10]
You Zhou, Ke Wang, Fei Wu, Changsheng Xie, and Hao Lv. Seer-ssd: Bridging semantic gap between logstructured file systems and ssds to reduce ssd write amplification. In Proceedings of 2021 IEEE 39th International Conference on Computer Design (ICCD), pages 49-56. IEEE, 2021.
[11]
Choulseung Hyun, Jongmoo Choi, Donghee Lee, and Sam H Noh. To trim or not to trim: Judicious triming for solid state drives. In Poster presentation in the 23rd ACM Symposium on Operating Systems Principles, 2011.
[12]
Mansour Shafaei, Peter Desnoyers, and Jim Fitzpatrick. Write amplification reduction in {Flash-Based}{SSDs} through {Extent-Based} temperature identification. In Proceedings of 8th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 16), 2016.
[13]
Taejin Kim, Duwon Hong, Sangwook Shane Hahn, Myoungjun Chun, Sungjin Lee, Jooyoung Hwang, Jongyoul Lee, and Jihong Kim. Fully automatic stream management for {Multi-Streamed}{SSDs} using program contexts. In Proceedings of 17th USENIX Conference on File and Storage Technologies (FAST 19), pages 295- 308, 2019.
[14]
Taejin Kim, Sangwook Shane Hahn, Sungjin Lee, Jooyoung Hwang, Jongyoul Lee, and Jihong Kim. {PCStream}: Automatic stream allocation using program contexts. In Proceedings of 10th USENIX Workshop on Hot Topics in Storage and File Systems (Hot-Storage 18), 2018.
[15]
Changwoo Min, Kangnyeon Kim, Hyunjin Cho, Sang-Won Lee, and Young Ik Eom. Sfs: random write considered harmful in solid state drives. In Proceedings of USENIX Conferece on File and Storage Technologies (FAST'12), volume 12, pages 1-16, 2012.
[16]
Matias Bjørling, Javier Gonzalez, and Philippe Bonnet. {LightNVM}: The linux {Open-Channel}{SSD} subsystem. In Proceedings of 15th USENIX Conference on File and Storage Technologies (FAST 17), pages 359- 374, 2017.
[17]
Ohhoon Kwon, Kern Koh, Jaewoo Lee, and Hyokyung Bahn. Fegc: An efficient garbage collection scheme for flash memory based storage systems. Journal of Systems and Software, 84(9):1507-1523, 2011.
[18]
Jingpei Yang, Rajinikanth Pandurangan, Changho Choi, and Vijay Balakrishnan. Autostream: automatic stream management for multi-streamed ssds. In Proceedings of the 10th ACM International Systems and Storage Conference, pages 1-11, 2017.
[19]
Eunhee Rho, Kanchan Joshi, Seung-Uk Shin, Nitesh Jagadeesh Shetty, Jooyoung Hwang, Sangyeun Cho, Daniel DG Lee, and Jaeheon Jeong. Fstream: managing flash streams in the file system. In Proceedings of 16th USENIX Conference on File and Storage Technologies (FAST 18), pages 257-264, 2018.
[20]
Changman Lee, Dongho Sim, Jooyoung Hwang, and Sangyeun Cho. F2fs: A new file system for flash storage. In Proceedings of 13th USENIX Conference on File and Storage Technologies (FAST 15), pages 273-286, 2015.
[21]
Jingpei Yang, Ned Plasson, Greg Gillis, Nisha Talagala, and Swaminathan Sundararaman. Don't stack your log on my log. In Proceedings of 2nd Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW 14), 2014.
[22]
Kisung Lee and Youjip Won. Smart layers and dumb result: Io characterization of an android-based smartphone. In Proceedings of the tenth ACM international conference on Embedded software, pages 23-32, 2012.
[23]
Wookhan Jeong, Hyunsoo Cho, Yongmyung Lee, Jaegyu Lee, Songho Yoon, Jooyoung Hwang, and Donggi Lee. Improving flash storage performance by caching address mapping table in host memory. In Proceedings of 9th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 17), 2017.
[24]
Yoona Kim, Inhyuk Choi, Juhyung Park, Jaeheon Lee, Sungjin Lee, and Jihong Kim. Integrated {Host-SSD} mapping table management for improving user experience of smartphones. In 21st USENIX Conference on File and Storage Technologies (FAST 23), pages 441- 456, 2023.
[25]
Kyusik Kim, Eunji Lee, and Taeseok Kim. Hmb-ssd: Framework for efficient exploiting of the host memory buffer in the nvme ssd. IEEE Access, 7:150403-150411, 2019.
[26]
Kyusik Kim and Taeseok Kim. Hmb in dram-less nvme ssds: Their usage and effects on performance. PloS one, 15(3):e0229645, 2020.
[27]
Yiying Zhang, Leo Prasath Arulraj, Andrea C Arpaci-Dusseau, and Remzi H Arpaci-Dusseau. De-indirection for flash-based ssds with nameless writes. In FAST, page 1, 2012.
[28]
Jinghan Sun, Shaobo Li, Yunxin Sun, Chao Sun, Dejan Vucinic, and Jian Huang. Leaftl: A learning-based flash translation layer for solid-state drives. In Proceedings of the 28th ACMInternational Conference on Architectural Support for Programming Languages and Operating Systems, Volume 2, pages 442-456, 2023.
[29]
Shengzhe Wang, Zihang Lin, Suzhen Wu, Hong Jiang, Jie Zhang, and Bo Mao. Learnedftl: A learning-based page-level ftl for reducing double reads in flash-based ssds. In 2024 IEEE International Symposium on High-Performance Computer Architecture (HPCA), pages 616-629. IEEE, 2024.
[30]
Cheng Ji, Li-Pin Chang, Sangwook Shane Hahn, Sungjin Lee, Riwei Pan, Liang Shi, Jihong Kim, and Chun Jason Xue. File fragmentation in mobile devices: Measurement, evaluation, and treatment. IEEE Transactions on Mobile Computing, 18(9):2062-2076, 2019.
[31]
Sangwook Shane Hahn, Sungjin Lee, Cheng Ji, Li-Pin Chang, Inhyuk Yee, Liang Shi, Chun Jason Xue, and Jihong Kim. Improving file system performance of mobile storage systems using a decoupled defragmenter. In 2017 USENIX Annual Technical Conference (USENIX ATC 17), pages 759-771, 2017.
[32]
Jonggyu Park and Young Ik Eom. Filesystem fragmentation on modern storage systems. ACM Transactions on Computer Systems, 41(1-4):1-27, 2023.
[33]
Hyojun Kim, Nitin Agrawal, and Cristian Ungureanu. Revisiting storage for smartphones. ACM Transactions on Storage (TOS), 8(4):1-25, 2012.
[34]
Cheng Ji, Li-Pin Chang, Riwei Pan, Chao Wu, Congming Gao, Liang Shi, Tei-Wei Kuo, and Chun Jason Xue. Pattern-Guided file compression with User-Experience enhancement for Log-Structured file system on mobile devices. In Proceedings of 19th USENIX Conference on File and Storage Technologies (FAST 21), pages 127- 140. USENIX Association, February 2021.
[35]
JEDEC Standard. Zoned storage for universal flash storage (ufs). JESD220-5, 2022.
[36]
Sooman Jeong, Kisung Lee, Seongjin Lee, Seoungbum Son, and Youjip Won. I/o stack optimization for smartphones. In Proceedings of USENIX Annual Technical Conference (USENIX ATC 13), pages 309-320, 2013.
[37]
Theano Stavrinos, Daniel S Berger, Ethan Katz-Bassett, and Wyatt Lloyd. Don't be a blockhead: zoned namespaces make work on conventional ssds obsolete. In Proceedings of the Workshop on Hot Topics in Operating Systems, pages 144-151, 2021.
[38]
Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng, and Sangyeun Cho. The multi-streamed solid-state drive. In Proceedings of 6th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 14), 2014.
[39]
Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. Dftl: a flash translation layer employing demand-based selective caching of page-level address mappings. Acm Sigplan Notices, 44(3):229-240, 2009.
[40]
Michael Wu and Willy Zwaenepoel. envy: a non-volatile, main memory storage system. ACM SIGOPS Operating Systems Review, 28(5):86-97, 1994.
[41]
Han-Joon Kim and Sang-goo Lee. A new flash memory management for flash storage system. In Proceedings. Twenty-Third Annual International Computer Software and Applications Conference (Cat. No. 99CB37032), pages 284-289. IEEE, 1999.
[42]
M-L Chiang and R-C Chang. Cleaning policies in mobile computers using flash memory. Journal of Systems and Software, 48(3):213-231, 1999.
[43]
Fan Ni, Chunyi Liu, Yang Wang, Chengzhong Xu, Xiao Zhang, and Song Jiang. A hash-based space-efficient page-level ftl for large-capacity ssds. In 2017 International Conference on Networking, Architecture, and Storage (NAS), pages 1-6. IEEE, 2017.
[44]
Youngjae Kim, Aayush Gupta, and Bhuvan Urgaonkar. A temporal locality-aware page-mapped flash translation layer. Journal of Computer Science and Technology, 28(6):1025-1044, 2013.
[45]
Zhiguang Chen, Nong Xiao, Fang Liu, and Yimo Du. Hot data-aware ftl based on page-level address mapping. In 2010 IEEE 12th International Conference on High Performance Computing and Communications (HPCC), pages 713-718. IEEE, 2010.
[46]
David L. Black. The nvme standard: The next five years. NVMe Developer Days, 2018.
[47]
Matias Bjørling. Zoned namespaces in practice. In Flash memory summit, 2019.
[48]
Xiangqun Zhang, Shuyi Pei, Jongmoo Choi, and Bryan S Kim. Excessive ssd-internal parallelism considered harmful. In Proceedings of the 15th ACM Workshop on Hot Topics in Storage and File Systems, pages 65-72, 2023.
[49]
Yang Hu, Hong Jiang, Dan Feng, Lei Tian, Hao Luo, and Chao Ren. Exploring and exploiting the multilevel parallelism inside ssds for improved performance and endurance. IEEE Transactions on Computers, 62(6):1141- 1155, 2012.
[50]
Jeong-Uk Kang, Jin-Soo Kim, Chanik Park, Hyoungjun Park, and Joonwon Lee. A multi-channel architecture for high-performance nand flash-based storage system. Journal of systems Architecture, 53(9):644-658, 2007.
[51]
Yu Cai, Erich F. Haratsch, Onur Mutlu, and Ken Mai. Error patterns in mlc nand flash memory: Measurement, characterization, and analysis. In Proceedings of 2012 Design, Automation & Test in Europe Conference & Exhibition (DATE), pages 521-526, 2012.
[52]
Laura M Grupp, Adrian M Caulfield, Joel Coburn, Steven Swanson, Eitan Yaakobi, Paul H Siegel, and Jack K Wolf. Characterizing flash memory: Anomalies, observations, and applications. In Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture, pages 24-33, 2009.
[53]
Yu Cai, Saugata Ghose, Erich F. Haratsch, Yixin Luo, and Onur Mutlu. Error characterization, mitigation, and recovery in flash-memory-based solid-state drives. Proceedings of the IEEE, 105(9):1666-1704, 2017.
[54]
Yu Cai, Yixin Luo, Saugata Ghose, and Onur Mutlu. Read disturb errors in mlc nand flash memory: Characterization, mitigation, and recovery. In Proceedings of 2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks, pages 438-449, 2015.
[55]
Cheng Ji, Li-Pin Chang, Liang Shi, Chao Wu, Qiao Li, and Chun Jason Xue. An empirical study of file-system fragmentation in mobile storage systems. In Proceedings of 8th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 16), 2016.
[56]
INCITS T10 Technical Committee. Information technology - Zoned Block Commands (ZBC). https://www.t10.org/, 2014.
[57]
Jinglei Ren, Chieh-Jan Mike Liang, Yongwei Wu, and Thomas Moscibroda. Memory-Centric data storage for mobile systems. In 2015 USENIX Annual Technical Conference (USENIX ATC 15), pages 599-611, Santa Clara, CA, July 2015. USENIX Association.
[58]
Daniel Hintze, Philipp Hintze, Rainhard D Findling, and René Mayrhofer. A large-scale, long-term analysis of mobile device usage characteristics. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 1(2):1-21, 2017.
[59]
Rajiv Agarwal and Marcus Marrow. A closed-form expression for write amplification in nand flash. In 2010 IEEE Globecom Workshops, pages 1846-1850, 2010.
[60]
Xiao-Yu Hu, Evangelos Eleftheriou, Robert Haas, Ilias Iliadis, and Roman Pletka. Write amplification analysis in flash-based solid state drives. In Proceedings of SYSTOR 2009, pages 1-9, 2009.
[61]
Kyuhwa Han, Hyunho Gwak, Dongkun Shin, and Jooyoung Hwang. Zns+: Advanced zoned namespace interface for supporting in-storage zone compaction. In Proceedings of 15th USENIX Symposium on Operating Systems Design and Implementation (OSDI'21), pages 147-162, 2021.
[62]
fio - Flexible I/O tester. https://fio.readthedocs.io/en/latest/fio_doc.html.
[63]
Sooman Jeong, Kisung Lee, Jungwoo Hwang, Seongjin Lee, and Youjip Won. Androstep: Android storage performance analysis tool. Software Engineering 2013- Workshopband, 2013.
[64]
mobibench. https://github.com/ESOS-Lab/Mobibench.
[65]
Gihwan Oh, Sangchul Kim, Sang-Won Lee, and Bongki Moon. Sqlite optimization with phase change memory for mobile applications. Proceedings of the VLDB Endowment, 8(12):1454-1465, 2015.
[66]
Ashish Bijlani, Umakishore Ramachandran, and Roy Campbell. Where did my 256 gb go? a measurement analysis of storage consumption on smart mobile devices. Proc. ACM Meas. Anal. Comput. Syst., 5(2), jun 2021.
[67]
Cheng Ji, Riwei Pan, Li-Pin Chang, Liang Shi, Zongwei Zhu, Yu Liang, Tei-Wei Kuo, and Chun Jason Xue. Inspection and characterization of app file usage in mobile devices. ACM Trans. Storage, 16(4), sep 2020.
[68]
Hojin Shin, Myounghoon Oh, Gunhee Choi, and Jongmoo Choi. Exploring performance characteristics of zns ssds: Observation and implication. In 2020 9th Non-Volatile Memory Systems and Applications Symposium (NVMSA), pages 1-5. IEEE, 2020.
[69]
Damien Le Moal and Ting Yao. zonefs: Mapping posix file system interface to raw zoned block device accesses. 2020.
[70]
Naohiro Aota. btrfs: zoned block device support. https://lore.kernel.org/linux-btrfs/[email protected]/.
[71]
Damien Le Moal. f2fs: Zoned block device support. https://lore.kernel.org/linux-f2fs-devel/[email protected]/.
[72]
Gunhee Choi, Kwanghee Lee, Myunghoon Oh, Jongmoo Choi, Jhuyeong Jhin, and Yongseok Oh. A new lsm-style garbage collection scheme for zns ssds. In Proceedings of 12th USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage 20), 2020.
[73]
W Chung. Benefits of zns in datacenter storage systems. In Flash memory summit, 2019.
[74]
Ivan Luiz Picoli, Niclas Hedam, Philippe Bonnet, and Pinar Tözün. Open-channel ssd (what is it good for). In CIDR, 2020.
[75]
NVM Express Workgroup. TP4146 Flexible Data Placement 2022.11.30 Ratified. https://nvmexpress.org/specifications/, 2022.
[76]
Amir Ban. Flash file system. United States Patent, no. 5,404,485, 1995.
[77]
Jeong-Uk Kang, Heeseung Jo, Jin-Soo Kim, and Joonwon Lee. A superblock-based flash translation layer for nand flash memory. In Proceedings of the 6th ACM & IEEE International conference on Embedded software, pages 161-170, 2006.
[78]
Sang-Won Lee, Dong-Joo Park, Tae-Sun Chung, Dong-Ho Lee, Sangwon Park, and Ha-Joo Song. A log buffer-based flash translation layer using fully-associative sector translation. ACM Transactions on Embedded Computing Systems (TECS), 6(3):18-es, 2007.
[79]
Sungjin Lee, Dongkun Shin, Young-Jin Kim, and Jihong Kim. Last: locality-aware sector translation for nand flash memory-based storage systems. ACM SIGOPS Operating Systems Review, 42(6):36-42, 2008.
[80]
Chanik Park, Wonmoon Cheon, Jeonguk Kang, Kangho Roh, Wonhee Cho, and Jin-Soo Kim. A reconfigurable ftl (flash translation layer) architecture for nand flash-based applications. ACM Transactions on Embedded Computing Systems (TECS), 7(4):1-23, 2008.
[81]
Jesung Kim, Jong Min Kim, Sam H Noh, Sang Lyul Min, and Yookun Cho. A space-efficient flash translation layer for compactflash systems. IEEE Transactions on Consumer Electronics, 48(2):366-375, 2002.
[82]
Yunji Kang and Dongkun Shin. mstream: stream management for mobile file system using android file contexts. In Proceedings of the 36th Annual ACM Symposium on Applied Computing, pages 1203-1208, 2021.
[83]
Roy Friedman and David Sainz. File system usage in android mobile phones. In Proceedings of the 9th ACM International Systems and Storage Conference, pages 1-11, 2016.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Guide Proceedings
USENIX ATC'24: Proceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference
July 2024
1282 pages
ISBN:978-1-939133-41-0

Sponsors

  • Futurewei Technologies
  • NSF
  • IBM
  • Meta
  • NetApp

Publisher

USENIX Association

United States

Publication History

Published: 07 January 2025

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media