Abstract

Multi-stream for SSD is a concept where the host writes data with similar expected lifetimes to contiguous blocks of NAND memory. Consequently, this data has higher chances of being invalidated together. During garbage collection (GC), there will be minimal valid pages to copy, resulting in improved endurance and decreased write-amplification factor. Implementing Multi-stream in eMMC devices presents challenges due to lower DRAM, lower computational resource available. Maintenance of stream related information requires increase in DRAM usage, transfer buffer usage as well as addition computation for GC of stream related memory area. In this paper, we examine implementation of Multi-Stream concept in eMMC despite its low resource constraints. We have experimented with an implementation that supports up to 4 streams which uses additional ~108 bytes of DRAM and ~104 bytes of code section, and improves WAF by ~50% on FIO (File Input/Output) benchmarking setup where lifetimes are simulated by multiple instances of FIO.

Highlights

  • In this paper we are suggesting how to use multi-stream with eMMC to improve endurance of device. eMMC (Embedded Multimedia Card) is an embedded storage solution; with an MMC interface, flash memory & controller, all in a BGA package. This NAND flash based eMMC is widely used for high performance applications such as mobile phone, smart phone, tablet computer, notebook computer, and automotive segment etc. eMMC provides fast scalable performance with interface speeds of up to 400Mbps

  • Since data with similar lifetime is residing in a NAND block, it is expected that all the data are going to be erased almost at same time and garbage collection (GC) operation will have minimal overhead for copying of valid pages to a new NAND block

  • Benchmarking results shows that intuitive data to stream mapping can lead to large benefits in throughput, consistent latency and NAND flash lifetime on the multi-streamed eMMC

Read more

Summary

Introduction

In this paper we are suggesting how to use multi-stream with eMMC to improve endurance of device. eMMC (Embedded Multimedia Card) is an embedded storage solution; with an MMC interface, flash memory & controller, all in a BGA package. EMMC (Embedded Multimedia Card) is an embedded storage solution; with an MMC interface, flash memory & controller, all in a BGA package. In this paper we are suggesting how to use multi-stream with eMMC to improve endurance of device. This NAND flash based eMMC is widely used for high performance applications such as mobile phone, smart phone, tablet computer, notebook computer, and automotive segment etc. EMMC provides fast scalable performance with interface speeds of up to 400Mbps This NAND flash based eMMC is widely used for high performance applications such as mobile phone, smart phone, tablet computer, notebook computer, and automotive segment etc. eMMC provides fast scalable performance with interface speeds of up to 400Mbps

Background
Design Idea
Implementation
Limitations in eMMC
Benchmarking Environment
Benchmarking Result
SQLite Database System
Real Time Use cases
Flash Friendly File System
Conclusion
Future Work

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.