DOI QR코드

DOI QR Code

Implementation of Memory Efficient Flash Translation Layer for Open-channel SSDs

  • Oh, Gijun (School of Computer Science and Engineering, Pusan National University) ;
  • Ahn, Sungyong (School of Computer Science and Engineering, Pusan National University)
  • Received : 2021.02.11
  • Accepted : 2021.02.18
  • Published : 2021.03.31

Abstract

Open-channel SSD is a new type of Solid-State Disk (SSD) that improves the garbage collection overhead and write amplification due to physical constraints of NAND flash memory by exposing the internal structure of the SSD to the host. However, the host-level Flash Translation Layer (FTL) provided for open-channel SSDs in the current Linux kernel consumes host memory excessively because it use page-level mapping table to translate logical address to physical address. Therefore, in this paper, we implemente a selective mapping table loading scheme that loads only a currently required part of the mapping table to the mapping table cache from SSD instead of entire mapping table. In addition, to increase the hit ratio of the mapping table cache, filesystem information and mapping table access history are utilized for cache replacement policy. The proposed scheme is implemented in the host-level FTL of the Linux kernel and evaluated using open-channel SSD emulator. According to the evaluation results, we can achieve 80% of I/O performance using the only 32% of memory usage compared to the previous host-level FTL.

Keywords

References

  1. M. Cornwell, "Anatomy of a Solid-state Drive: While the ubiquitous SSD shares many features with the hard-disk drive, under the surface they are completely different," Queue, Vol. 10, No. 10, pp. 30-36, Oct. 2012. DOI: https://doi.org/10.1145/2381996.2385276
  2. J. Kim and S. Chung, "A Study on Flash Memory Management Techniques," The Journal of the Institute of Internet, Broadcasting and Communication(JIIBC), Vol. 17, No. 4, pp. 143-148, Aug. 2017. DOI: https://doi.org/10.7236/JIIBC.2017.17.4.143
  3. Open-channel Solid State Drives. https://openchannelssd.readthedocs.io/en/latest/.
  4. I. L. Picoli, N. Hedam, P. Bonnet, and P. Tozun, "Open-channel SSD (What is it Good For)," in Proc. 10th Annual Conference on Innovative Data Systems Research (CIDR '20), Jan. 12-15, 2020.
  5. M. Bjorling, C. Labs, J. Gonzalez, F. March, and S. Clara, "LightNVM: The Linux Open-channel SSD Subsystem," in Proc. 15th USENIX Conference on File Storage Technologies (FAST '17), pp. 359-374, Feb. 27-March 2, 2017. DOI: https://dl.acm.org/doi/abs/10.5555/3129633.3129666
  6. Pblk: Host-based FTL for Open-channel SSDs. http://lightnvm.io/pblk-tools/.
  7. J. Ouyang, S. Lin, S. Jiang, Z. Hou, Y. Wang, and Y. Wang, "SDF: Software-Defined Flash for Web-Scale Internet Storage Systems," ACM SIGPLAN Notices, Vol. 49, No. 4, pp. 471-484, Feb. 2014. DOI: https://doi.org/10.1145/2644865.2541959
  8. I. L. Picoli, C. V. Pasco, B. P. Jonsson, L. Bouganim, and P. Bonnet, "UFLIP-OC: Understanding Flash I/O Patterns on Open-channel Solid-State Drives," in Proc. of the 8th Asia-Pacific Workshop on Systems (APSys '17), pp. 1-7, Sep. 2-3, 2017. DOI: https://doi.org/10.1145/3124680.3124741
  9. J. Gonzalez and M. Bjorling, "Multi-Tenant I/O Isolation with Open-channel SSDs," in Proc. 8th Annual Non-Volatile Memories Workshop (NVMW '17), March 12-14, 2017.
  10. A. Gupta, Y. Kim, and B. Urgaonkar, "DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings," ACM SIGPLAN Notices, Vol. 44, No. 3, pp. 229-240, 2009. DOI: https://doi.org/10.1145/1508284.1508271
  11. A. Mathur, M. Cao, S. Bhattacharya, A. Dilger, A. Tomas, and L. Vivier, "The New Ext4 Filesystem: Current Status and Future Plans," in Proc. Linux Symposium, Vol. 2, pp. 21-33, 2007.
  12. S. Kim and E. Lee, "Analysis and Improvement of I/O Performance Degradation by Journaling in a Virtualized Environment," The Journal of the Institute of Internet, Broadcasting and Communication(JIIBC), Vol. 16, No. 6, pp. 177-181, Dec. 2016. DOI: https://doi.org/10.7236/JIIBC.2016.16.6.177
  13. QEMU Open-channel SSD 2.0. https://github.com/OpenChannelSSD/qemu-nvme.
  14. Fio - Flexible I/O tester rev. 3.23. https://fio.readthedocs.io/en/latest/fio_doc.html.
  15. V. Tarasov, E. Zadok, and S. Shepler, "Filebench: A Flexible Framework for File System Benchmarking," USENIX ;login, Vol. 41, No. 1, pp. 6-12, Apr. 2016.