Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Telomere: Real-Time NAND Flash Storage

Published: 14 January 2022 Publication History

Abstract

Modern solid-state disks achieve high data transfer rates due to their massive internal parallelism. However, out-of-place updates for flash memory incur garbage collection costs when valid data needs to be copied during space reclamation. The root cause of this extra cost is that solid-state disks are not always able to accurately determine data lifetime and group together data that expires before the space needs to be reclaimed. Real-time systems found in autonomous vehicles, industrial control systems, and assembly-line robots store data from hundreds of sensors and often have predictable data lifetimes. These systems require guaranteed high storage bandwidth for read and write operations by mission-critical real-time tasks. In this article, we depart from the traditional block device interface to guarantee the high throughput needed to process large volumes of data. Using data lifetime information from the application layer, our proposed real-time design, called Telomere, is able to intelligently lay out data in NAND flash memory and eliminate valid page copies during garbage collection. Telomere’s real-time admission control is able to guarantee tasks their required read and write operations within their periods. Under randomly generated tasksets containing 500 tasks, Telomere achieves 30% higher throughput with a 5% storage cost compared to pre-existing techniques.

References

[1]
Evan Ackerman. 2016. Autonomous Mini Rally Car Teaches Itself to Powerslide. Retrieved November 20, 2021 from https://spectrum.ieee.org/cars-that-think/transportation/self-driving/autonomous-mini-rally-car-teaches-itself-to-powerslide.
[2]
Nitin Agrawal, Vijayan Prabhakaran, Ted Wobber, John D. Davis, Mark Manasse, and Rina Panigraphy. 2008. Design tradeoffs for SSD performance. In Proceedings of the USENIX Annual Technical Conference (ATC’08).
[3]
Amara D. Angelica. 2013. Google’s Self-Driving Car Gathers Nearly 1 GB/sec. Retrieved November 20, 2021 from http://www.kurzweilai.net/googles-self-driving-car-gathers-nearly-1-gbsec/.
[4]
Theodore P. Baker. 1990. A stack-based resource allocation policy for realtime processes. In Proceedings of the Real-Time Systems Symposium (RTSS’90).
[5]
Miriam Berger. 2020. How the world’s beaches are readying for a summer of social distancing. Washington Post. Retrieved November 20, 2021 from https://www.washingtonpost.com/world/2020/06/27/how-worlds-beaches-are-readying-summer-social-distancing/.
[6]
Enrico Bini and Giorgio C. Buttazzo. 2005. Measuring the performance of schedulability tests. Real-Time Systems 30, 1-2 (2005), 129–154.
[7]
Matias Bjorling. 2019. From open-channel SSDs to zoned namespaces. In Proceedings of the Linux Storage and Filesystems Conference (Vault’19).
[8]
Matias Bjorling, Philippe Bonnet, Luc Bouganim, and Niv Dayan. 2013. The necessary death of the block device interface. In Proceedings of the Biennial Conference on Innovative Data Systems Research (CIDR’13).
[9]
Matias Bjorling, Javier Gonzalez, and Philippe Bonnet. 2017. LightNVM: The Linux open-channel SSD subsystem. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’17).
[10]
Feng Chen, Binbing Hou, and Rubao Lee. 2016. Internal parallelism of flash memory-based solid-state drives. ACM Transactions on Storage 12, 3 (2016), Article 13, 39 pages.
[11]
Feng Chen, Rubao Lee, and Xiaodong Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the IEEE International Symposium on High Performance Computer Architecture.
[12]
Mei-Ling Chiang and Ruei-Chuan Chang. 1999. Cleaning policies in mobile computers using flash memory. Journal of System Software 48, 3 (1999), 213–231.
[13]
Siddharth Choudhuri and Tony Givargis. 2008. Deterministic service guarantees for NAND flash using partial block cleaning. In Proceedings of the IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis.
[14]
John Colgrove, John D. Davis, John Hayes, Ethan L. Miller, Cary Sandvig, Russell Sears, Ari Tamches, Neil Vachharajani, and Feng Wang. 2015. Purity: Building fast, highly-available enterprise flash storage from commodity components. In Proceedings of the ACM SIGMOD International Conference on Management of Data (SIGMOD’15).
[15]
Mingzhe Hao, Gokul Soundararajan, Deepak Kenchammana-Hosekote, Andrew A. Chien, and Haryadi S. Gunawi. 2016. The tail at store: A revelation from millions of hours of disk and SSD deployments. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’16).
[16]
Sheng-Min Huang and Li-Pin Chang. 2018. Providing SLO compliance on NVMe SSDs through parallelism reservation. ACM Transactions on Design Automation of Electronic Systems 23, 3 (2018), Article 28, 26 pages.
[17]
Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng, and Sangyeun Cho. 2014. The multi-streamed solid-state drive. In Proceedings of the USENIX Workshop on Hot Topics in Storage and File Systems (HotStorage’14).
[18]
Yangwook Kang, Jingpei Yang, and Ethan L. Miller. 2011. SCM: An efficient interface for storage class memories. In Proceedings of IEEE Symposium on Mass Storage Systems and Technologies (MSST’11).
[19]
Atsuo Kawaguchi, Shingo Nishioka, and Hiroshi Motoda. 1995. A flash-memory based file system. In Proceedings of the USENIX Technical Conference on UNIX and Advanced Computing Systems. 155–164.
[20]
Jaeho Kim, Donghee Lee, and Sam H. Noh. 2015. Towards SLO complying SSDs through OPS isolation. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’15).
[21]
Sungchan Kim, Hyunok Oh, Chanik Park, Sangyeun Cho, and Sang-Won Lee. 2011. Fast, energy efficient scan inside flash memory SSDs. In Proceedings of the International Workshop on Accelerating Data Management Systems.
[22]
Youyou Lu, Jiwu Shu, and Weimin Zheng. 2013. Extending the lifetime of flash-based storage through reducing write amplification from file systems. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’13).
[23]
Yixin Luo, Yu Cai, Saugata Ghose, Jongmoo Choi, and Onur Mutlu. 2015. WARM: Improving NAND flash memory lifetime with write-hotness aware retention management. In Proceedings of the Conference on Mass Storage Systems and Technology (MSST’15).
[24]
Dongzhe Ma, Jianhua Feng, and Guoliang Li. 2014. A survey of address translation technologies for flash memories. ACM Computing Surveys 46, 3 (2014), 36.
[25]
Micron. 2005. Micron Technical Report: Small-Block vs. Large-Block NAND Flash Devices. Technical Report TN-29-07. Micron.
[26]
Micron. 2017. Micron Reveals Critical Technologies for Autonomous Vehicles. Retrieved November 20, 2021 from https://investors.micron.com/news-releases/news-release-details/micron-reveals-critical-technologies-autonomous-vehicles.
[27]
Micron. 2018. NAND Flash Die—128Gb Die: X8 300mm MLC MT29F128G08CBECB. Retrieved November 20, 2021 from https://prod.micron.com/media/documents/products/data-sheet/nand-flash/die/l95b_die_128gb_nand.pdf.
[28]
Katherine Missimer and Richard West. 2018. Partitioned real-time NAND flash storage. In Proceedings of the Real-Time Systems Symposium (RTSS’18).
[29]
Vidyabhushan Mohan, Taniya Siddiqua, Sudhanva Gurumurthi, and Mircea R. Stan. 2010. How I learned to stop worrying and love flash endurance. In Proceedings of the USENIX Conference on Hot Topics in Storage and File Systems (FAST’10).
[30]
HakJune Oh. 2013. Single Controller 4/8TB SSD. Retrieved November 20, 2021 from https://www.flashmemory summit.com/English/Collaterals/Proceedings/2013/20130815_301A_Oh.pdf.
[31]
Dongchul Park and David H. C. Du. 2011. Hot data identification for flash-based storage systems using multiple Bloom filters. In Proceedings of the Conference on Massive Storage Systems and Technology (MSST’11).
[32]
Roman Pletka, Ioannis Koltsidas, Nikolas Ioannou, Sasa Tomic, Nikolaos Papandreou, Thomas Parnell, Haralampos Pozidis, Aaron Fry, and Tim Fisher. 2018. Management of next-generation NAND flash to achieve enterprise-level endurance and latency targets. ACM Transactions on Storage 14, 4 (2018), Article 33, 25 pages.
[33]
Roman A. Pletka and Sasa Tomic. 2016. Health-binning: Maximizing the performance and the endurance of consumer-level NAND flash. In Proceedings of the 9th ACM International Conference on Systems and Storage (SYSTOR’16).
[34]
Zhiwei Qin, Yi Wang, Duo Liu, and Zili Shao. 2012. Real-time flash translation layer for NAND flash memory storage systems. In Proceedings of the IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS’12).
[35]
Mendel Rosenblum and John K. Ousterhout. 1992. The design and implementation of a log-structured file system. ACM Transactions on Computer Systems 10, 1 (1992), 26–52.
[36]
Gustavo Henrique Ruffo. 2019. Tesla Cars Have a Memory Problem That May Cost You a Lot to Repair. https://insideevs.com/news/376037/tesla-mcu-emmc-memory-issue/.
[37]
SanDisk. 2018. iNAND Automotive Embedded Flash Drives. Retrieved November 20, 2021 from https://www.sandisk.com/oem-design/automotive/inand.
[38]
Dimitris Skourtis, Dimitris Achlioptas, Noah Watkins, Carlos Maltzahn, and Scott Brandt. 2014. Flash on rails: Consistent flash performance through redundancy. In Proceedings of the USENIX Annual Technical Conference (ATC’14).
[39]
Yong Ho Song, Sanghyuk Jung, Sang-Won Lee, and Jin-Soo Kim. 2014. Cosmos OpenSSD: A PCIe-Based Open Source SSD Platform. Retrieved November 20, 2021 from http://www.flashmemorysummit.com/English/Collaterals/Proceedings/\2014/20140807_301B_Song.pdf.
[40]
Josh Spires. 2020. How Drones Have Helped Fight COVID-19—And Become More Mainstream. Retrieved November 20, 2021 from https://dronedj.com/2020/06/04/.
[41]
Radu Stoica and Anastasia Ailamaki. 2013. Improving flash write performance by using update frequency. In Proceedings of the International Conference on Very Large Data Bases (VLDB’13).
[42]
Western Digital. 2019. Zoned Storage. Retrieved November 20, 2021 from http://zonedstorage.io.
[43]
Michael Wu and Willy Zwaenepoel. 1994. eNVy: A non-volatile, main memory storage system. ACM SIGPLAN Notices 29, 11 (1994), 86–97.
[44]
Shiqin Yan, Huaicheng Li, Mingzhe Hao, Michael Hao Tong, Swaminathan Sundararaman, Andrew A. Chien, and Haryadi S. Gunawi. 2017. Tiny-tail flash: Near-perfect elimination of garbage collection tail latencies in NAND SSDs. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’17).
[45]
Jingpei Yang, Rajinikanth Pandurangan, Changho Choi, and Vijay Balakrishnan. 2017. AutoStream: Automatic stream management for multi-streamed SSDs. In Proceedings of the ACM International Conference on Systems and Storage (SYSTOR’17).
[46]
Jingpei Yang, Ned Plasson, Greg Gillis, Nisha Talagala, and Swaminathan Sundararaman. 2014. Don’t stack your log on my log. In Proceedings of the Workshop on Interactions of NVM/Flash with Operating Systems and Workloads (INFLOW’14).
[47]
Qi Zhang, Xuandong Li, Linzhang Wang, Tian Zhang, Yi Wang, and Zili Shao. 2015. Optimizing deterministic garbage collection in NAND flash storage systems. In Proceedings of the Real-Time and Embedded Technology and Applications Symposium (RTAS’15). IEEE, Los Alamitos, CA.
[48]
K. Zhao, W. Zhao, H. Sun, T. Zhang, X. Zhang, and N. Zheng. 2013. LDPC-in-SSD: Making advanced error correction codes work effectively in solid state drives. In Proceedings of the USENIX Conference on File and Storage Technologies (FAST’13).
[49]
R. West, Y. Li, E. Missimer, and M. Danish. 2016. A virtualized separation Kernel for mixed criticality systems. ACM Transactions on Computer Systems 34 (2016).

Cited By

View all
  • (2022)Enabling GPU Memory Oversubscription via Transparent Paging to an NVMe SSD2022 IEEE Real-Time Systems Symposium (RTSS)10.1109/RTSS55097.2022.00039(370-382)Online publication date: Dec-2022

Index Terms

  1. Telomere: Real-Time NAND Flash Storage

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Embedded Computing Systems
    ACM Transactions on Embedded Computing Systems  Volume 21, Issue 1
    January 2022
    288 pages
    ISSN:1539-9087
    EISSN:1558-3465
    DOI:10.1145/3505211
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 14 January 2022
    Accepted: 01 July 2021
    Revised: 01 June 2021
    Received: 01 January 2021
    Published in TECS Volume 21, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Real-time storage
    2. SSD
    3. flash translation layer

    Qualifiers

    • Research-article
    • Refereed

    Funding Sources

    • National Science Foundation

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)102
    • Downloads (Last 6 weeks)11
    Reflects downloads up to 04 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Enabling GPU Memory Oversubscription via Transparent Paging to an NVMe SSD2022 IEEE Real-Time Systems Symposium (RTSS)10.1109/RTSS55097.2022.00039(370-382)Online publication date: Dec-2022

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media