6 Storage Devices
Week 9: October 31 - November 4, 2022
- LOVE Chapter 14, pgs 289-290, I/O Schedulers pgs 297-304
- DINOS Chapter 11
This is a relatively short unit where our main aim is to understand how storage devices work and examine basic IO scheduling algorithms as a precursor for understanding how to design file systems.
6.1 A video summary
6.1.3 RAID
Learning Objectives
- What are the physical characteristics of hard disks that make accessing disk blocks inherently different from accessing memory pages?
- What are the implications of how hard disks operate on file system design?
- What is the effective transfer bandwidth? Why can’t we achieve full disk bandwidth?
- What are block request scheduling algorithms trying to optimize?
- What are error correcting codes?
- What are read/write asymmetries in SSDs?
- What is wear-leveling in SSDs?
- What are the implications in terms of designing file systems?
- How can multiple connected disks help with maximizing read/write bandwidth? disk reliability?
- What is RAID? What are the different levels? What does each level provide in terms of redundancy/reliability and bandwidth performance?
- With respect to block request scheduling, what is the write-starves-read problem? Why should read latencies be lower than write latencies and how do the different Linux IO scheduling algorithms achieve good bandwidth while reducing starvation / bounding latency?