skip to main content
research-article

SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD

Published:14 November 2017Publication History
Skip Abstract Section

Abstract

To design the write buffer and flash translation layer (FTL) for a solid-state drive (SSD), previous studies have tried to increase overall SSD performance by parallel I/O and garbage collection overhead reduction. Recent works have proposed pattern-based managements, which uses the request size and read- or write-intensiveness to apply different policies to each type of data. In our observation, the locations of read and write requests are closely related, and the pattern of each type of data can be changed. In this work, we propose SUPA, a single unified read-write buffer and pattern-change-aware FTL on multi-channel SSD architecture. To increase both read and write hit ratios on the buffer based on locality, we use a single unified read-write buffer for both clean and dirty blocks. With proposed buffer, we can increase buffer hit ratio up to 8.0% and reduce 33.6% and 7.5% of read and write latencies, respectively. To handle pattern-changed blocks, we add a pattern handler between the buffer and the FTL, which monitors channel status and handles data by applying one of the two different policies according to the pattern changes. With pattern change handling process, we can reduce 1.0% and 15.4% of read and write latencies, respectively. In total, our evaluations show that SUPA can get up to 2.0 and 3.9 times less read and write latency, respectively, without loss of lifetime in comparison to previous works.

References

  1. A. Ban. 1995. U.S. patent US08027131: Flash file system.Google ScholarGoogle Scholar
  2. Matias Bjørling. 2011. Extended FlashSim. Retrieved from https://github.com/MatiasBjorling/flashsim.Google ScholarGoogle Scholar
  3. John Bucy, Jiri Schindler, Steve Schlosser, and Greg Ganger. 2008. The disksim simulation environment - version 4.0 reference manual. In Carnegie Mellon University Technical Report. Retrieved from http://www.pdl.cmu.edu/DiskSim/.Google ScholarGoogle Scholar
  4. Da-Wei Chang, Hsin-Hung Chen, Dau-Jieu Yang, and Hsung-Pin Chang. 2014. BLAS: Block-level adaptive striping for solid-state drives. ACM Trans. Design Auto. Electron. Syst. (TODAES) 19, 2 (2014), 21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Li-Pin Chang. 2008. Hybrid solid-state disks: Combining heterogeneous NAND flash in large SSDs. In Proceedings of the Asia and South Pacific Design Automation Conference (ASPDAC’08). IEEE, 428--433. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Li-Pin Chang and Chun-Da Du. 2009. Design and implementation of an efficient wear-leveling algorithm for solid-state-disk microcontrollers. ACM Trans. Design Auto. Electron. Syst. (TODAES) 15, 1 (2009), 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Li-Pin Chang, Yi-Hsun Huang, and Chen-Yi Wen. 2011. On the management of multichannel architectures of solid-state disks. In Proceedings of the 2011 9th IEEE Symposium on Embedded Systems for Real-Time Multimedia (ESTIMedia’11). IEEE, 37--45. Google ScholarGoogle ScholarCross RefCross Ref
  8. Hyunjin Cho, Dongkun Shin, and Young Ik Eom. 2009. KAST: K-associative sector translation for NAND flash memory in real-time systems. In Proceedings of the Conference on Design, Automation and Test in Europe. European Design and Automation Association, 507--512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Aayush Gupta, Youngjae Kim, and Bhuvan Urgaonkar. 2009. DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings. In Proceedings of the 14th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XIV). ACM, New York, NY, 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. J. Han, D. H. Kang, and Y. I. Eom. 2016. Hybrid write buffer algorithm for improving performance and endurance of nand flash storages. In Proceedings of the 2016 IEEE International Conference on Consumer Electronics (ICCE’16). 83--84. Google ScholarGoogle ScholarCross RefCross Ref
  11. Dan He, Fang Wang, Hong Jiang, Dan Feng, Jing Ning Liu, Wei Tong, and Zheng Zhang. 2014. Improving hybrid FTL by fully exploiting internal SSD parallelism with virtual blocks. ACM Trans. Archit. Code Optim. 11, 4, Article 43 (Dec. 2014), 19 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Heeseung Jo, Jeong Uk Kang, Seon Yeong Park, Jin Soo Kim, and Joonwon Lee. 2006. FAB: Flash-aware buffer management policy for portable media players. IEEE Trans. Consum. Electron. 52, 2 (2006), 485--493. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 8 IEEE International Conference on Embedded Software. ACM, 161--170. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Sooyong Kang, Sungmin Park, Hoyoung Jung, Hyoki Shim, and Jaehyuk Cha. 2009. Performance trade-offs in using NVRAM write buffer for flash memory-based storage devices. IEEE Trans. Comput. 58, 6 (2009), 744--758. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Hyojun Kim and Seongjun Ahn. 2008. BPLRU: A buffer management scheme for improving random writes in flash storage. In Proceedings of the Conference on File and Storage Technologies (FAST’08), Vol. 8. 1--14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min, and Yookun Cho. 2002. A space-efficient flash translation layer for compactflash systems. IEEE Trans. Consum. Electron. 48, 2 (2002), 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jin Hyuk Kim, Sang Hyuk Jung, and Yong Ho Song. 2008. Cost and performance analysis of nand mapping algorithms in shared-bus multi-chip configuration. In Proceedings of the 3rd International Workshop on Software Support for Portable Storage (IWSSPS’08), Vol. 3. 33--39.Google ScholarGoogle Scholar
  18. Youngjae Kim, Brendan Tauras, Aayush Gupta, and Bhuvan Urgaonkar. 2009. FlashSim: A simulator for NAND flash-based solid-state drives. In Proceedings of the 2009 First International Conference on Advances in System Simulation (SIMUL’09). IEEE Computer Society, Washington, DC, 125--131. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Se Jin Kwon and Tae-Sun Chung. 2015. Data pattern aware FTL for SLC+MLC hybrid SSD. Des. Autom. Embedded Syst. 19, 1--2 (March 2015), 101--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Sungjin Lee, Dongkun Shin, Young-Jin Kim, and Jihong Kim. 2008. LAST: Locality-aware sector translation for NAND flash memory-based storage systems. ACM SIGOPS Operat. Syst. Rev. 42, 6 (2008), 36--42. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 Trans. Embed. Comput. Syst. (TECS) 6, 3 (2007), 18. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sang-Phil Lim, Sang-Won Lee, and Bongki Moon. 2010. FASTer FTL for enterprise-class flash memory SSDs. In Proceedings of the 2010 International Workshop on Storage Network Architecture and Parallel I/Os (SNAPI’10). IEEE, 3--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Dongzhe Ma, Jianhua Feng, and Guoliang Li. 2011. LazyFTL: A page-level flash translation layer optimized for NAND flash memory. In Proceedings of the 2011 ACM SIGMOD International Conference on Management of Data. ACM, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Microsoft. 2009. SSD Extension for DiskSim Simulation Environment. Retrieved from https://www.microsoft.com/en-us/download/details.aspx?id#52332.Google ScholarGoogle Scholar
  26. William D. Norcott and Don Capps. 2003. IOZone filesystem benchmark. Retrieved from http://www.iozone.org.Google ScholarGoogle Scholar
  27. Chanik Park, Wonmoon Cheon, Jeonguk Kang, Kangho Roh, Wonhee Cho, and Jin-Soo Kim. 2008. A reconfigurable FTL (flash translation layer) architecture for NAND flash-based applications. ACM Trans. Embed. Comput. Syst. (TECS) 7, 4 (2008), 38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Dongchul Park, Biplob Debnath, and David H. C. Du. 2011. A workload-aware adaptive hybrid flash translation layer with an efficient caching strategy. In Proceedings of the 2011 IEEE 19th International Symposium on Modeling, Analysis 8 Simulation of Computer and Telecommunication Systems (MASCOTS’11). IEEE, 248--255. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. JungWook Park, Gi-Ho Park, Charles Weems, and ShinDug Kim. 2009. Sub-grouped superblock management for high-performance flash storages. IEICE Electron. Express 6, 6 (2009), 297--303.Google ScholarGoogle ScholarCross RefCross Ref
  30. Seung-Ho Park, Jung-Wook Park, Shin-Dug Kim, and Charles C. Weems. 2012. A pattern adaptive NAND flash memory storage structure. IEEE Trans. Comput. 61, 1 (2012), 134--138. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Sung Kyu Park, Youngwoo Park, Gyudong Shim, and Kyu Ho Park. 2011. CAVE: Channel-aware buffer management scheme for solid state disk. In Proceedings of the 2011 ACM Symposium on Applied Computing. ACM, 346--353. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Seon-Yeong Park, Dawoon Jung, Jeong-Uk Kang, Jin-Soo Kim, and JoonWon Lee. 2006. CFLRU: A replacement algorithm for flash memory. In Proceedings of the 2006 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES’06). ACM, New York, NY, 234--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. SAMSUNG. 2006. Datasheet: K9XXG08UXM (NAND Flash Memory. Retrieved from http://downloads.qi-hardware.com/hardware/datasheets/qi_lb60/U9∼K9GAG08U0M∼∼2GB-FINAL_NAND-NOT_ON_SOME_PROTOTYPES∼∼.pdf.Google ScholarGoogle Scholar
  34. SAMSUNG. 2015. Datasheet: Samsung SSD 850 PRO. Retrieved from http://www.samsung.com/semiconductor/minisite/ssd/downloads/document/Samsung_SSD_850_PRO_Data_Sheet_rev_2_0.pdf.Google ScholarGoogle Scholar
  35. Dongyoung Seo and Dongkun Shin. 2008. Recently-evicted-first buffer replacement policy for flash storage devices. IEEE Trans. Consum. Electron. 54, 3 (2008), 1228--1235. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Jinho Seol, Hyotaek Shim, Jaegeuk Kim, and Seungryoul Maeng. 2009. A buffer replacement algorithm exploiting multi-chip parallelism in solid state disks. In Proceedings of the 2009 International Conference on Compilers, Architecture, and Synthesis for Embedded Systems. ACM, 137--146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Yoon Jae Seong, Eyee Hyun Nam, Jin Hyuk Yoon, Hongseok Kim, Jin-yong Choi, Sookwan Lee, Young Hyun Bae, Jaejin Lee, Yookun Cho, and Sang Lyul Min. 2010. Hydra: A block-mapped parallel flash memory solid-state disk architecture. IEEE Trans. Comput. 59, 7 (2010), 905--921. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Gyudong Shim, Sung Kyu Park, and Kyu Ho Park. 2012. MNK: Configurable hybrid flash translation layer for multi-channel SSD. In Proceedings of the 2012 IEEE 15th International Conference on Computational Science and Engineering (CSE’12). IEEE, 445--452. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Gyudong Shim, Youngwoo Park, and Kyu Ho Park. 2011. A hybrid flash translation layer with adaptive merge for SSDs. ACM Trans. Stor. (TOS) 6, 4 (2011), 15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. MySQL Benchmark Tool. 2002. DBT2 Benchmark Tool. Retrieved from https://dev.mysql.com/downloads/benchmarks.html.Google ScholarGoogle Scholar
  41. Trace Repository UMass. 2007. OLTP Application and Search Engine I/O. Retrieved from http://traces.cs.umass.edu/index.php/Storage/Storage.Google ScholarGoogle Scholar
  42. Chundong Wang and Weng-Fai Wong. 2012. ADAPT: Efficient workload-sensitive flash management based on adaptation, prediction and aggregation. In Proceedings of the 2012 IEEE 28th Symposium on Mass Storage Systems and Technologies (MSST’12). IEEE, 1--12.Google ScholarGoogle ScholarCross RefCross Ref
  43. Jia-Hao Wang, Hsin-Hung Chen, Wei-Jian Su, and Da-Wei Chang. 2011. Cross-layer optimizations in solid-state drives. IEEE Embed. Syst. Lett. 3, 4 (2011), 109--112. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Qingsong Wei, Cheng Chen, and Jun Yang. 2014. CBM: A cooperative buffer management for SSD. In Proceedings of the 2014 30th Symposium on Mass Storage Systems and Technologies (MSST’14). IEEE, 1--12. Google ScholarGoogle ScholarCross RefCross Ref
  45. Qingsong Wei, Bozhao Gong, Suraj Pathak, Bharadwaj Veeravalli, LingFang Zeng, and Kanzo Okada. 2011. WAFTL: A workload adaptive flash translation layer with data partition. In Proceedings of the 2011 IEEE 27th Symposium on Mass Storage Systems and Technologies (MSST’11). IEEE, 1--12. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Chin-Hsien Wu and Tei-Wei Kuo. 2006. An adaptive two-level management for the flash translation layer in embedded systems. In Proceedings of the IEEE/ACM International Conference on Computer-Aided Design (ICCAD’06). IEEE, 601--606. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Guanying Wu, Ben Eckart, and Xubin He. 2010. BPAC: An adaptive write buffer management scheme for flash-based solid state drives. In Proceedings of the 2010 IEEE 26th Symposium on Mass Storage Systems and Technologies (MSST’10). IEEE, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Wei Xie, Yong Chen, and Philip C. Roth. 2016. ASA-FTL: An adaptive separation aware flash translation layer for solid state drives. Parallel Comput. (2016).Google ScholarGoogle Scholar
  49. Wei Xie, Yong Chen, and Philip C. Roth. 2016. Parallel-DFTL: A flash translation layer that exploits internal parallelism in solid state drives. In Proceedings of the 2016 IEEE International Conference on Networking, Architecture and Storage (NAS’16). IEEE, 1--10. Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. SUPA: A Single Unified Read-Write Buffer and Pattern-Change-Aware FTL for the High Performance of Multi-Channel SSD

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!