ABSTRACT
A solid state drive (SSD) receives requests in multiple of sectors from the host system, which are then mapped to logical pages, the basic I/O units of the flash memory. As the SSD receives requests in sector units, the sectors in a logical page tend to exhibit diverse update frequencies. Therefore, frequent updates to some sectors of a page cause other sectors of the same page to be unnecessarily read and written to other free pages, thereby increasing write amplification and harming the flash memory lifetime. To eliminate unnecessary sector movement and to reduce write amplification, we propose a sector-level classification (SLC) technique. SLC considers the diversity in the update frequencies of sectors and merges sectors with similar update frequencies to generate full, homogeneous pages. Thus, multiple update operations can be converged to a single flash page, thereby reducing write amplification and increasing flash memory lifetime. SLC handles the merged sectors using the proposed shared-page mapping table (SMT), whereas pages whose sectors remain unmerged are handled by a conventional page mapping table. Despite the SMT overhead, SLC does not require excessive resources to accommodate SMT. The capability of SLC is evaluated by a series of experiments, which provides highly encouraging results. It is demonstrated that SLC reduces flash writes, flash reads, block erasures, and flash writes execution time by 42%, 23%, 45%, and 37%, respectively.
- Michael Abraham. 2012. NAND flash architecture and specification trends. Flash Memory Summit (2012).Google Scholar
- Seungjae Baek, Seongjun Ahn, Jongmoo Choi, Donghee Lee, and Sam H Noh. 2007. Uniformity improving page allocation for flash memory file systems. In Proceedings of the 7th ACM & IEEE international conference on Embedded software. ACM, 154--163.Google ScholarDigital Library
- Matias Bjørling, Jesper Madsen, Philippe Bonnet, Aviad Zuck, Zvonimir Bandic, and Qingbo Wang. 2014. LightNVM: Lightning fast evaluation platform for non-volatile memories. In Non-Volatile Memories Workshop.Google Scholar
- Yu Cai, Gulay Yalcin, Onur Mutlu, Erich F Haratsch, Adrian Cristal, Osman S Unsal, and Ken Mai. 2012. Flash correct-and-refresh: Retention-aware error management for increased flash memory lifetime. In 2012 IEEE 30th International Conference on Computer Design (ICCD). IEEE, 94--101.Google ScholarDigital Library
- Mingming Cao, Suparna Bhattacharya, and Ted Ts'o. 2007. Ext4: The Next Generation of Ext2/3 Filesystem.. In LSF.Google Scholar
- Yuan-Hao Chang, Jen-Wei Hsieh, and Tei-Wei Kuo. 2007. Endurance enhancement of flash-memory storage, systems: An efficient static wear leveling design. In 2007 44th ACM/IEEE Design Automation Conference. IEEE, 212--217.Google ScholarDigital Library
- Niv Dayan, Philippe Bonnet, and Stratos Idreos. 2016. GeckoFTL: Scalable flash translation techniques for very large flash devices. In Proceedings of the 2016 International Conference on Management of Data. ACM, 327--342.Google ScholarDigital Library
- Niv Dayan, Martin Kjær Svendsen, Matias Bjørling, Philippe Bonnet, and Luc Bouganim. 2013. EagleTree: exploring the design space of SSD-based algorithms. Proceedings of the VLDB Endowment 6, 12 (2013), 1290--1293.Google ScholarDigital Library
- Yazhi Feng, Dan Feng, Chenye Yu, Wei Tong, and Jingning Liu. 2017. Mapping granularity adaptive FTL based on flash page re-programming. In 2017 Design, Automation & Test in Europe Conference & Exhibition (DATE). IEEE, 374--379.Google Scholar
- Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: a flash translation layer employing demand-based selective caching of page-level address mappings. Vol. 44. ACM.Google Scholar
- Keonsoo Ha and Jihong Kim. 2011. A program context-aware data separation technique for reducing garbage collection overhead in NAND flash memory. Proc. 7th IEEE SNAPI (2011).Google Scholar
- Seongwook Jin, Jaehong Kim, Jaegeuk Kim, Jaehyuk Huh, and Seungryoul Maeng. 2011. Sector log: fine-grained storage management for solid state drives. In Proceedings of the 2011 ACM Symposium on Applied Computing. ACM, 360--367.Google ScholarDigital Library
- Jeong-Uk Kang, Jeeseok Hyun, Hyunjoo Maeng, and Sangyeun Cho. 2014. The multi-streamed solid-state drive. In 6th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 14).Google Scholar
- Jeong-Uk Kang, Heeseung Jo, Jin-Soo Kim, and Joonwon Lee. 2006. A superblock-based flash translation layer for NAND flash memory. In Proceedings of the 6th ACM & IEEE International conference on Embedded software. ACM, 161--170.Google ScholarDigital Library
- Mincheol Kang, Wonyoung Lee, and Soontae Kim. 2018. Subpage-aware Solid State Drive for Improving Lifetime and Performance. IEEE Trans. Comput. (2018).Google ScholarCross Ref
- Dongwook Kim and Sooyong Kang. 2013. Partial page buffering for consumer devices with flash storage. In Consumer Electronics¿ Berlin (ICCE-Berlin), 2013. ICCEBerlin 2013. IEEE Third International Conference on. IEEE, 177--180.Google ScholarCross Ref
- Jongsung Lee and Jin-Soo Kim. 2013. An empirical study of hot/cold data separation policies in solid state drives (SSDs). In Proceedings of the 6th International Systems and Storage Conference. ACM, 12.Google ScholarDigital Library
- Sang-Won Lee, Dong-Joo Park, Tae-Sun Chung, Dong-Ho Lee, Sangwon Park, and Ha-Joo Song. 2007. A log buffer-based flash translation layer using fully-associative sector translation. ACM Transactions on Embedded Computing Systems (TECS) 6, 3 (2007), 18.Google ScholarDigital Library
- Wonyoung Lee, Mincheol Kang, Seokin Hong, and Soontae Kim. 2019. Interpage-Based Endurance-Enhancing Lower State Encoding for MLC and TLC Flash Memory Storages. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 27, 9 (2019), 2033--2045.Google ScholarCross Ref
- Yebin Lee, Hyeonggyu Kim, Seokin Hong, and Soontae Kim. 2017. Partial row activation for low-power dram system. In 2017 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 217--228.Google ScholarCross Ref
- Youngjae Lee, Jin-Soo Kim, Sang-Won Lee, and Seungryoul Maeng. 2015. Zombie chasing: Efficient flash management considering dirty data in the buffer cache. IEEE Trans. Comput. 64, 2 (2015), 569--581.Google ScholarDigital Library
- Yong-Goo Lee, Dawoon Jung, Dongwon Kang, and Jin-Soo Kim. 2008. μ-FTL:: a memory-efficient flash translation layer supporting multiple mapping granularities. In Proceedings of the 8th ACM international conference on Embedded software. ACM, 21--30.Google ScholarDigital Library
- Muthukumar Murugan and David HC Du. 2011. Rejuvenator: A static wear leveling algorithm for NAND flash memory with minimized overhead. In 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 1--12.Google ScholarDigital Library
- SNIA IOTTA Repository. [n.d.]. SNIA Repository. http://iotta.snia.org/traces/130Google Scholar
- Samsung. 2017. Samsung ssd 850 pro datasheet.Google Scholar
- Umass trace repository. [n.d.]. Umass trace repository. http://traces.cs.umass.edu/index.php/Storage/StorageGoogle Scholar
- Lan-ying WANG and Jin-wu JU. 2006. Analysis of NTFS file system structure [J]. Computer Engineering and Design 3 (2006).Google Scholar
- Wei-Lin Wang, Tseng-Yi Chen, Yuan-Hao Chang, Hsin-Wen Wei, and Wei-Kuan Shih. 2018. Minimizing write amplification to enhance lifetime of large-page flash-memory storage devices. In 2018 55th ACM/ESDA/IEEE Design Automation Conference (DAC). IEEE, 1--6.Google ScholarCross Ref
- Chengen Yang, Yunus Emre, and Chaitali Chakrabarti. 2011. Product code schemes for error correction in MLC NAND flash memories. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 20, 12 (2011), 2302--2314.Google ScholarDigital Library
- Ming-Chang Yang, Yuan-Hao Chang, Che-Wei Tsao, and Po-Chun Huang. 2013. New ERA: New efficient reliability-aware wear leveling for endurance enhancement of flash storage devices. In 2013 50th ACM/EDAC/IEEE Design Automation Conference (DAC). IEEE, 1--6.Google ScholarDigital Library
Index Terms
- Leveraging intra-page update diversity for mitigating write amplification in SSDs
Recommendations
Performance Trade-Offs in Using NVRAM Write Buffer for Flash Memory-Based Storage Devices
While NAND flash memory is used in a variety of end-user devices, it has a few disadvantages, such as asymmetric speed of read and write operations, inability to in-place updates, among others. To overcome these problems, various flash-aware strategies ...
A Write-Related and Read-Related DRAM Allocation Strategy Inside Solid-State Drives (SSDs)
Although NAND flash memory has the advantages of small size, low-power consumption, shock resistance, and fast access speed, NAND flash memory still faces the problems of “out-of-place updates,” “garbage collection,” and “unbalanced execution time” due to ...
Cooperating virtual memory and write buffer management for flash-based storage systems
Flash memory is becoming the preferred choice of secondary storage in mobile devices and embedded systems. The performance of Flash memory is dictated by asymmetric speeds of read and write, limited number of erase times, and the absence of in-place ...
Comments