arrow
Return

Command queue-aware host I/O stack for mobile flash storage

delete2020-10-01
delete4
PRE
AI
K
Kyuhwa Han
D
Dongkun Shin *
DOI:10.1016/j.sysarc.2020.101758delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Recently, mobile storage devices such as an embedded multimedia card (eMMC) and universal flash storage (UFS) support command queuing. However, the current Linux I/O stack is not designed considering flash memory devices that support command queuing. In this paper, we observe the I/O performance at a command queue-supporting device and introduce several pitfalls of the current host I/O stack. First, although the latency of synchronous I/O requests can be increased due to the priority inversion in the command queue, the Linux I/O scheduler has no concern about the issue. Second, although the I/O bandwidth is determined by the total size of pending I/O requests rather than the total number of them in the command queue, the current I/O scheduler does not have a size-based scheduling scheme. Third, there can be interference between different types of requests in the command queue degrading the overall I/O performance. To resolve these problems, we introduce a novel command queue-aware host I/O stack, which consists of three techniques, latency-aware throttling, aggressive readahead, and interference-preventive scheduling. The experiments show that the command queue-aware techniques can improve both the foreground synchronous request latency and the background sequential I/O bandwidth when the two different types of tasks run concurrently.
Keywords:
Flash memory
Scheduling
System software
Consumer electronics
Command queue

Journal

Journal of Systems Architecture cover
Journal of Systems Architecture
IF:
4.1
Papers:
3.0K
Citations:
4.2K

Organization

S
sungkyunkwan university (skku)
Scholars:
3.7W
Papers: 3.6W
Citations: 49