S-Space College of Engineering/Engineering Practice School (공과대학/대학원) Dept. of Computer Science and Engineering (컴퓨터공학부) Theses (Ph.D. / Sc.D._컴퓨터공학부)
An Autonomic SSD Architecture
자율 관리 SSD 아키텍쳐
- 공과대학 컴퓨터공학부
- Issue Date
- 서울대학교 대학원
- 학위논문 (박사)-- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2018. 2. 민상렬.
- From small mobile devices to large-scale storage arrays, flash memory-based storage systems have gained a lot of popularity in recent years thanks to flash memorys low latency and collectively massive parallelism. However, despite their apparent advantages, achieving predictable performance for flash storages has been difficult. User experiences and large-scale deployments show that the performance of flash storages not only degrades over time, but also exhibits substantial variations and instabilities. This performance unpredictability is caused by the uncoordinated use of resources by competing tasks in the flash translation layer (FTL)—an abstraction layer that hides the quirks of flash memory. As more FTL tasks are added to address the limitations of flash memory, guaranteeing performance will become increasingly difficult.
In this dissertation, we present an autonomic SSD architecture that self-manages FTL tasks to maintain a high-level of QoS performance. In this architecture, each FTL task is given an illusion of a dedicated flash memory subsystem of its own through virtualization. This resource virtualization allows each FTL task to be implemented oblivious to others and makes it easy to integrate new tasks to handle future flash memory quirks. Furthermore, each task is allocated a share that represents its relative importance, and its utilization is enforced by a simple and effective scheduling scheme that limits the number of outstanding flash memory requests for each task. The shares are dynamically adjusted through feedback control by monitoring key system states and reacting to their changes to coordinate the progress of FTL tasks.
We demonstrate the effectiveness of the autonomic architecture by implementing a flash storage system with multiple FTL tasks such as garbage collection, mapping management, and read scrubbing. The autonomic SSD provides stable performance across diverse workloads, reducing the average response time by 16.2% and the six nines QoS by 67.8% on average for QoS-sensitive small reads.