Data Storage Systems

Undergraduate course, Ilmenau University of Technology, 2022

Objectives:

This course is primarily designed for undergraduate students, who already completed introductionary courses in database & distributed systems, algorithms & data structures, and operating systems. The course puts a strong emphasis on a systemic view of data storage systems, ranging from the physical inner workings of modern data storage devices, such as HDDs and SSDs, to full-fledged, distributed, cloud-based exascale storage systems. The students will gradually gain a deeper understanding of fundamental concepts and algorithms of data storage systems, including replication & crash recovery, data deduplication, and storage tiering & caching, but also insights into systematic I/O performance analysis & tuning on the device and the file system level. In the second half of the course, the fundamental concepts of file systems and large-scale distributed storage systems will be discussed. Finally, we conclude the course with an outlook into active areas of research and novel storage technologies that will come up (or are already on the market) and will have a quite dramatic impact on any data-intensive application having to deal with large data volumes.

Prerequisites:

An undergraduate-level understanding of maths, programming, data structures & algorithms, operating systems, and distributed systems is assumed.

Tentative Course Schedule:

 Date & TimeTopic(s)SlidesSupplementary Materials
106-04-2022, 11:00 - 12:30Introduction Data Storage Systemsslides 
213-04-2022, 11:00 - 12:30Storage Devices & Firmwareslides 
320-04-2022, 11:00 - 12:30I/O Protocols & Interfacesslides 
420-04-2022, 11:00 - 12:30Linux I/O Subsystemslides 
504-05-2022, 11:00 - 12:30File System Implementationsslides 
611-05-2022, 11:00 - 12:30I/O Performance Tracing & Benchmarkingslides 
718-05-2022, 11:00 - 12:30High-Performance I/O & I/O Performance Tuningslides 
825-05-2022, 11:00 - 12:30Data Replication & Recoveryslides 
901-06-2022, 11:00 - 12:30No Lectureslides 
1008-06-2022, 11:00 - 12:30Caching & Storage Tieringslides 
1115-06-2022, 11:00 - 12:30Data Reduction Techniquesslides 
1222-06-2022, 11:00 - 12:30Distributed File Systemsslides 
1329-06-2022, 11:00 - 12:30Key-Value Stores & Cloud Storageslides 
1406-07-2022, 11:00 - 12:30Selected Data Storage System Research Topicsslides 
1513-07-2022, 11:00 - 12:30Backupslides