Data volumes are drastically increasing, immense information created over the past 10 years exceeds the storage capacity across all media types. While the storage systems play a critical role in modern memory hierarchy, their interfaces and simulation models are overly simplified by computer-system architecture research. Specifically, gem5, a popular full system simulator, includes only Integrated Drive Electronics interface, which was originally designed three decades ago, and simulates the underlying storage device with a constant latency value. In this work, we implement an NVMe disk and controller to enable a realistic storage stack of next generation interfaces and integrate them into gem5 and a high-fidelity solid state disk simulation model. We verify the functionalities of NVMe that we implemented, using a standard user-level tool, called NVMe command line interface. Our evaluation results reveal that the performance of a high performance SSD can significantly vary based on different software stacks and storage controllers even under the same condition of device configurations and degrees of parallelism. Specifically, the traditional interface caps the performance of the SSD by 95%, whereas NVMe interface we implement in gem5 can successfully reveal the true performance aggregated by many underlying flash-based media.
Recommended citation: Gouk, Donghyun, Jie Zhang, and Myoungsoo Jung. “Enabling realistic logical device interface and driver for nvm express enabled full system simulations.” International Journal of Parallel Programming 46, no. 4 (2018): 710-721.