The goal of this paper is to provide worst-case timing guarantees for real-time I/O requests, while fully utilizing the potential bandwidth for non real-time I/O requests in NAND flash storage systems. We identify a trade-off between flash chip sharing and I/O workload isolation in terms of timing guarantees and bandwidth. By taking such a trade-off into account, we propose a new real-time I/O scheduling framework that enables dynamic isolation between real-time I/O requests to meet all timing constraints and co-scheduling of real-time and non real-time I/O requests to provide high bandwidth utilization. Our in-depth evaluation results show that the proposed approach outperforms existing isolation approaches significantly in terms of both schedulability and bandwidth.
Table Of Contents
I. Introduction 1 II. Background 4 III. Motivation and Problem Statement 6 3.1 Motivation 6 3.2 Problem statement 8 IV. Cluster-based Resource Isolation 10 4.1 Task model 10 4.1.1 Real-time I/O task 10 4.1.2 Non real-time I/O job 12 4.2 Schedulability analysis 12 4.3 Task-to-cluster allocation for RT I/O tasks 13 4.4 Schedule generation for non-RT I/O jobs 15 V. Evaluation 17 5.1 Extensive simulations 17 5.2 Case study 20 VI. Conclusion and Discussion 21 References 22