DOI QR코드

DOI QR Code

Analysis of I/O Response Time Throughout NVMe Driver Implementation Architectures

NVMe 드라이버 구현 방식에 따른 I/O 응답시간 분석

  • Received : 2017.05.12
  • Accepted : 2017.05.26
  • Published : 2017.06.30

Abstract

In recent years, non-volatile memory express (NVMe), a new host controller interface standard, has been adapted to overcome performance bottlenecks caused by the acceleration of solid state drives (SSD). Recently, performance breakthrough cases over AHCI based SATA SSDs by adapting NVMe based PCI Express (PCIe) SSD to servers and PCs have been reported. Furthermore, replacing legacy eMMC-flash storage with NVMe based storage is also considered for next generation of mobile devices such as smartphones. The Linux kernel includes drivers for NVMe support, and as the kernel version increases, the implementation of the NVMe driver code has changed. However, mobile devices are often equipped with older versions of Android operating systems (OSes), where the newest features of NVMe drivers are not available. Therefore, different features of different NVMe driver implementations are not well evaluated on Android OSes. In this paper, we analyze the response time of the NVMe driver for various Linux kernel version.

Keywords

References

  1. I. Kang, Y. Joo, S. Lim. "Analysis of I/O Response Time Throughout NVMe Driver Implementation Architectures," Korean Institute of Information Scientists and Engineers, pp. 517-519. 2016 (in Korean).
  2. Q. Xu, H. Siyamwala, M. Ghosh, T. Suri, M. Awasthi, Z. Guz, V. Balakrishnan, "Performance Analysis of NVMe SSDs and Their Implication on Real World Databases," Proceedings of the 8th ACM International Systems and Storage Conference pp. 6, 2015.
  3. E. Baram, "PCIe/NVMe in Mobile Devices," Proceedings of the 2013 Flash Memory Summit 2015.
  4. M. Bjorling, J. Axboe, D. Nellans, P. Bonnet, "Linux Block IO: Introducing Multi-queue SSD Access on Multi-core Systems," Proceedings of the 6th ACM international. systems and storage conference, 2013.
  5. W. Fischer, G. Schonberger, "The Linux Storage Stack Diagram," [Online] http://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram (License: CC-BY-SA 3.0, modified by Ingu Kang)
  6. J. Axboe, "Flexible I/O Tester," [Online] https://github.com/axboe/fio
  7. J. Axboe, "Block Trace," [Online] https://git.kernel.org/pub/scm/linux/kernel/git/axboe/blktrace.git/
  8. M. Kim, S. Lee, Y. Won, "Comparative Study on I/O Characteristics of Mobile web Browsers," Proceedings of 5th IEEE International Conference on Consumer Electronics-Berlin, 2015.
  9. S. Jeong, K. Lee, S. Son, Y. Won, "I/O Stack Optimization for Smartphones," Presented as part of the 2013 USENIX Annual Technical Conference, 2013.