cs 19(14): e7

Research Article

Enhancing eMMC using Multi-Stream technique

Download314 downloads
  • @ARTICLE{10.4108/eai.15-3-2019.162141,
        author={Sushma Vishwakarma and Anantha Sharma and Sharath Kumar Kodase},
        title={Enhancing eMMC using Multi-Stream technique},
        journal={EAI Endorsed Transactions on Cloud Systems},
        volume={5},
        number={14},
        publisher={EAI},
        journal_a={CS},
        year={2019},
        month={3},
        keywords={Embedded Multimedia Card, Multi-Stream for Storage, NAND Flash Storage, Write/Erase asymmetry in flash, Write Amplification Factor in flash},
        doi={10.4108/eai.15-3-2019.162141}
    }
    
  • Sushma Vishwakarma
    Anantha Sharma
    Sharath Kumar Kodase
    Year: 2019
    Enhancing eMMC using Multi-Stream technique
    CS
    EAI
    DOI: 10.4108/eai.15-3-2019.162141
Sushma Vishwakarma1,*, Anantha Sharma1, Sharath Kumar Kodase1
  • 1: Samsung Semiconductor India R&D centre Bangalore, India
*Contact email: sushvish1@gmail.com

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.