skip to main content
research-article

Cosmos+ OpenSSD: Rapid Prototype for Flash Storage Systems

Published:16 July 2020Publication History
Skip Abstract Section

Abstract

As semiconductor technology has advanced, many storage systems have begun to use non-volatile memories as storage media. The organization and architecture of storage controllers have become more complex to meet various design requirements in terms of performance, response time, quality of service (QoS), and so on. In addition, due to the evolution of memory technology and the emergence of new applications, storage controllers employ new firmware algorithms and hardware modules. When designing storage controllers, engineers often evaluate the performance impact of using new software and hardware components using software simulators. However, this technique often yields limited evaluation accuracy because of the difficulty of modeling complex operations of components and the interactions among them. In this article, we present a reconfigurable flash storage controller design that serves as a rapid prototype. This design can be synthesized into a field-programmable gate array device and used in a realistic performance evaluation environment. We show the usefulness of our design by demonstrating the performance impact of design parameters.

References

  1. Seungyong An, Hoyoung Tang, and Jongsun Park. 2015. A inversion-less Peterson algorithm based shared KES architecture for concatenated BCH decoder. In 2015 International SoC Design Conference (ISOCC). IEEE, 281--282.Google ScholarGoogle ScholarCross RefCross Ref
  2. Nathan Binkert, Bradford Beckmann, Gabriel Black, Steven K. Reinhardt, Ali Saidi, Arkaprava Basu, Joel Hestness, Derek R. Hower, Tushar Krishna, Somayeh Sardashti, et al. 2011. The gem5 simulator. ACM SIGARCH Computer Architecture News 39, 2 (2011), 1--7.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Matias Bjørling, Javier González, and Philippe Bonnet. 2017. LightNVM: The Linux open-channel SSD subsystem. In FAST. 359--374.Google ScholarGoogle Scholar
  4. Yu Cai, Erich F. Haratsch, Mark McCartney, and Ken Mai. 2011. FPGA-based solid-state drive prototyping platform. In 2011 IEEE 19th Annual International Symposium on Field-Programmable Custom Computing Machines (FCCM). IEEE, 101--104.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jaewon Cha and Sungho Kang. 2013. Data randomization scheme for endurance enhancement and interference mitigation of multilevel flash memory devices. ETRI Journal 35, 1 (2013), 166--169.Google ScholarGoogle ScholarCross RefCross Ref
  6. 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 2011 IEEE 17th International Symposium on High Performance Computer Architecture (HPCA). IEEE, 266--277.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. John D. Davis and Lintao Zhang. 2009. FRP: A nonvolatile memory research platform targeting NAND flash. In Proceedings of 1st Workshop on Integrating Solid-State Memory in the Storage Hierarchy.Google ScholarGoogle Scholar
  8. NVMe Express. 2017. NVM Express Specification 1.3. Retrieved January 21, 2019 from http://nvmexpress.org/resources/specifications/.Google ScholarGoogle Scholar
  9. Congming Gao, Liang Shi, Mengying Zhao, Chun Jason Xue, Kaijie Wu, and Edwin H.-M. Sha. 2014. Exploiting parallelism in I/O scheduling for access conflict minimization in flash-based solid state drives. In 2014 30th Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 1--11.Google ScholarGoogle Scholar
  10. Donghyun Gouk, Miryeong Kwon, Jie Zhang, Sungjoon Koh, Wonil Choi, Nam Sung Kim, Mahmut Kandemir, and Myoungsoo Jung. 2018. Amber*: Enabling precise full-system simulation with detailed modeling of all SSD resources. In 2018 51st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). IEEE, 469--481.Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Boncheol Gu, Andre S. Yoon, Duck-Ho Bae, Insoon Jo, Jinyoung Lee, Jonghyun Yoon, Jeong-Uk Kang, Moonsang Kwon, Chanho Yoon, Sangyeun Cho, et al. 2016. Biscuit: A framework for near-data processing of big data workloads. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). IEEE, 153--165.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kin-Chu Ho, Po-Chao Fang, Hsiang-Pang Li, Cheng-Yuan Michael Wang, and Hsie-Chia Chang. 2013. A 45nm 6b/cell charge-trapping flash memory using LDPC-based ECC and drift-immune soft-sensing engine. In 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers (ISSCC). IEEE, 222--223.Google ScholarGoogle Scholar
  13. Jhuyeong Jhin, Hyukjoong Kim, and Dongkun Shin. 2018. Optimizing host-level flash translation layer with considering storage stack of host systems. In Proceedings of the 12th International Conference on Ubiquitous Information Management and Communication. ACM, 75.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Myoungsoo Jung, Ellis H. Wilson III, and Mahmut Kandemir. 2012. Physically addressed queueing (PAQ): Improving parallelism in solid state disks. In ACM SIGARCH Computer Architecture News, Vol. 40. IEEE Computer Society, 404--415.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Myoungsoo Jung, Jie Zhang, Ahmed Abulila, Miryeong Kwon, Narges Shahidi, John Shalf, Nam Sung Kim, and Mahmut Kandemir. 2017. SimpleSSD: Modeling solid state drives for holistic system simulation. IEEE Computer Architecture Letters 17, 1 (2017), 37--41.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Jonghong Kim, Junho Cho, and Wonyong Sung. 2010. Error performance and decoder hardware comparison between EG-LDPC and BCH codes. In 2010 IEEE Workshop On Signal Processing Systems. IEEE, 392--397.Google ScholarGoogle ScholarCross RefCross Ref
  17. J. Kim, Y. A. Winata, and I. Shin. 2016. Multi-thread flash translation layer for multi-core solid state drives. International Journal of Applied Engineering Research 11, 2 (2016), 1187--1191.Google ScholarGoogle Scholar
  18. Jaehyun Kim, Yuli Aria Winata, and Ilhoon Shin. 2015. Flash translation layer using multi-thread. Advanced Science and Technology Letters (ASTL) 117 (2015), 43--46.Google ScholarGoogle Scholar
  19. Youngjae Kim, Brendan Tauras, Aayush Gupta, and Bhuvan Urgaonkar. 2009. Flashsim: A simulator for nand flash-based solid-state drives. In 2009 1st International Conference on Advances in System Simulation (SIMUL’09). IEEE, 125--131.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Jongmin Lee, Eujoon Byun, Hanmook Park, Jongmoo Choi, Donghee Lee, and Sam H. Noh. 2009. CPS-SIM: Configurable and accurate clock precision solid state drive simulator. In 2009 ACM Symposium on Applied Computing. ACM, 318--325.Google ScholarGoogle Scholar
  21. Kihoon Lee, Han-Gil Kang, Jeong-In Park, and Hanho Lee. 2012. A high-speed low-complexity concatenated BCH decoder architecture for 100 Gb/s optical communications. Journal of Signal Processing Systems 66, 1 (2012), 43--55.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Sungjin Lee, Kermin Fleming, Jihoon Park, Keonsoo Ha, Adrian Caulfield, Steven Swanson, Jihong Kim, et al. 2010. BlueSSD: An open platform for cross-layer experiments for NAND flash-based SSDs. In WARP-5th Annual Workshop on Architectural Research Prototyping.Google ScholarGoogle Scholar
  23. Shu Li and Tong Zhang. 2010. Improving multi-level NAND flash memory storage reliability using concatenated BCH-TCM coding. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 18, 10 (2010), 1412--1420.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Bo Mao and Suzhen Wu. 2015. Exploiting request characteristics and internal parallelism to improve SSD performance. In 2015 33rd IEEE International Conference on Computer Design (ICCD). IEEE, 447--450.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Eyee Hyun Nam, Bryan Suk Joon Kim, Hyeonsang Eom, and Sang Lyul Min. 2011. Ozone (O3): An out-of-order flash memory controller architecture. IEEE Transactions on Computers 60, 5 (2011), 653--666.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Ivan Luiz Picoli, Carla Villegas Pasco, Björn Þór Jónsson, Luc Bouganim, and Philippe Bonnet. 2017. uFLIP-OC: Understanding flash I/O patterns on open-channel solid-state drives. In 8th Asia-Pacific Workshop on Systems. ACM, 20.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Iometer Project. 2014. Iometer 1.1.0. Retrieved January 21, 2019 from http://www.iometer.org/.Google ScholarGoogle Scholar
  28. OpenSSD Project. 2011. Jasmine OpenSSD. Retrieved January 21, 2019 from http://www.openssd-project.org/wiki/Jasmine_OpenSSD_Platform.Google ScholarGoogle Scholar
  29. Sudharsan Seshadri, Mark Gahagan, Meenakshi Sundaram Bhaskaran, Trevor Bunker, Arup De, Yanqin Jin, Yang Liu, and Steven Swanson. 2014. Willow: A user-programmable SSD. In OSDI. 67--80.Google ScholarGoogle Scholar
  30. Leilei Song, Meng-Lin Yu, and Michael S. Shaffer. 2002. 10-and 40-Gb/s forward error correction devices for optical communications. IEEE Journal of Solid-state Circuits 37, 11 (2002), 1565--1573.Google ScholarGoogle ScholarCross RefCross Ref
  31. Yong Ho Song, Sanghyuk Jung, Sang-Won Lee, and Jin-Soo Kim. 2014. Cosmos openSSD: A PCIe-based open source SSD platform. Flash Memory Summit (2014).Google ScholarGoogle Scholar
  32. Arash Tavakkol, Juan Gómez-Luna, Mohammad Sadrosadati, Saugata Ghose, and Onur Mutlu. 2018. MQSim: A framework for enabling realistic studies of modern multi-queue SSD devices. In 16th USENIX Conference on File and Storage Technologies (FAST’18). 49--66.Google ScholarGoogle Scholar
  33. Mahdi Torabzadehkashi, Siavash Rezaei, Vladimir Alves, and Nader Bagherzadeh. 2018. CompStor: An in-storage computation platform for scalable distributed processing. In 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 1260--1267.Google ScholarGoogle ScholarCross RefCross Ref
  34. Hung-Yuan Tsai, Chi-Heng Yang, and Hsie-Chia Chang. 2012. An efficient BCH decoder with 124-bit correctability for multi-channel SSD applications. In 2012 IEEE Asian Solid State Circuits Conference (A-SSCC). IEEE, 61--64.Google ScholarGoogle ScholarCross RefCross Ref
  35. Debao Wei, Youhua Gong, Liyan Qiao, and Libao Deng. 2014. A hardware-software co-design experiments platform for NAND flash based on Zynq. In 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA). IEEE, 1--7.Google ScholarGoogle Scholar
  36. Jinsoo Yoo, Youjip Won, Joongwoo Hwang, Sooyong Kang, Jongmoo Choil, Sungroh Yoon, and Jaehyuk Cha. 2013. Vssim: Virtual machine based SSD simulator. In 2013 IEEE 29th Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 1--14.Google ScholarGoogle ScholarCross RefCross Ref
  37. Jiacheng Zhang, Jiwu Shu, and Youyou Lu. 2016. ParaFS: A log-structured file system to exploit the internal parallelism of flash devices. In USENIX Annual Technical Conference. 87--100.Google ScholarGoogle Scholar

Index Terms

  1. Cosmos+ OpenSSD: Rapid Prototype for Flash Storage Systems

        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

        • Published in

          cover image ACM Transactions on Storage
          ACM Transactions on Storage  Volume 16, Issue 3
          August 2020
          150 pages
          ISSN:1553-3077
          EISSN:1553-3093
          DOI:10.1145/3410885
          • Editor:
          • Sam H. Noh
          Issue’s Table of Contents

          Copyright © 2020 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 16 July 2020
          • Online AM: 7 May 2020
          • Accepted: 1 February 2020
          • Revised: 1 December 2019
          • Received: 1 January 2019
          Published in tos Volume 16, Issue 3

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article
          • Research
          • Refereed

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader

        HTML Format

        View this article in HTML Format .

        View HTML Format
        About Cookies On This Site

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

        Learn more

        Got it!