CS C446 / IS C446
Lectures: Topics, Slides and
Readings (See the References
page for details on readings)
- Lecture 1 [Jan 8]: Course Introduction : Role of Data in Computing; Storage Requirements.
- Lecture 2 [Jan 11]:Course Motivation
Storage Models. Large Data Cases; Data Explosion; Data and Storage Characteristics.
- Lectures 3 and 4 : System Architecture: Memory Hierarchy Computer System
Architecture: Memory Bandwidth, Memory Hierarchy, Locality of Reference,
Performance and Caching. [Readings: R1 - Sections 1.6,
and 6.1 to 6.3 and 6.4.1;]
- Lectures 5 and 6 :
System Architecture: I/O and Bus . Computer System Architecture: Input/Output: Interrupts and DMA, I/O Performance - Throughput vs. Response Time, Amdahl's Law for
Speedup. Buses: Definitions and Design Issues, Signaling, Design Parameters, Typical PC Bus
Organization. [Readings: R3 -
Chapter 8 - Interfacing Processors and Peripherals: Sections 8.1, 8.2
(I/O Performance), 8.3 (Types and Characteristics of I/O Devices), 8.4
(Buses), 8.5 (Interfacing I/O Devices) and 8.7 (A Real Desktop I/O
- Lectures 7 and
8: SCSI SCSI - Bus standards and Devices, Bus Protocol and Commands, Bus
Phase Sequences and Transitions, Command Queueing and Error Correction.
[Readings: SCSI Wiki
and SCSI Tutorial (see References page)]
Lectures 8 and 9: Hard Disks Hard Disks - Structure and Geometry,
Addressing, Access Model and Access Time Calculations, Case Studies.
[Readings: RW94, Data sheets and specs. for Seagate NL-35,
Seagate Barracuda, and Western Digital (see References page)]
- Lectures 9 and 10 : OS Support
for I/O OS support for I/O (Unix Model): System Calls. Block
Devices and Device Drivers. I/O subsystem. System Calls for I/O. Device Driver
Disk Interface and Disk Labels. Buffer Cache and Buffer Pool Management.
Sections 6.1, 6.2 and 6.6]
- Lecture 11 : Device Drivers and Device Access Buffering: Double Buffering. Scheduling: Scheduling Algorithms, Seek Modeling. Performance Factors: Factors that affect Disk Scheduling and Disk access performance.
- Lectures 12 to 14 :
Hard Disks - Performance, Reliability, and RAID
Hard Disks - I/O Performance: Performance Factors, Reliability and Fault
Tolerance, RAID Levels (1 to 6)
[Readings: PKG88, Chen4]
- Lectures 15 and 16 :
File Systems and I/O
OS Support for I/O (Unix Model): Files and Filesystems, Active File Entries - Kernel
Data Structures, Vnode layer, inodes, Block I/O and Buffer Cache, Local
File Stores - Layout.
[Readings: R4 Sections 7.1, 7.2, 7.3,
8.1, and 8.2]
- Lectures 17 : Log
Structured File System Log Structured
File Systems : Motivation, Structure, Cleaning, Performance
[Readings: OD89 and RO91]
- Lecture 18-19 :
Flash ROM Flash ROM: Device Types and
Technologies, I/O, Cleaning and Wear-Leveling, File systems for Flash memory.
[Readings: CLS, HCK (see under Papers
in References page), SLC vs. MLC White Paper, The TrueFFS Technical Note (see
under Tutorials, Redbooks etc. in References page)]
- Lectures 20 and 21 : Storage on the Network Storage on the Network: Design Considerations, SAN vs. NAS, Evolution of File Access on the Network, NAS - Components and Structure.
[Readings: Gib98, Gib00 (see under Papers in References page), Chapter 1 and Secs. 6.1 and 6.2 of IBM Redbook on NAS and iSCSI
(see under Tutorials, Redbooks etc. in References page)]
- Lectures 21 and 22 : NFS Networked File System (NFS): Design Goals, Filesystem Operations, Protocol, Performance Issues - Caching.
[Readings: Sand85, Mac94]
- Lectures 23 and 24 : Striping File Systems Striping File Systems: Motivation, Issues, Case Studies - Zebra and Google File System (GFS)
[Readings: HO95, GGL03]
- Lecture 25 : Data Availability - Point-in-Time Copying Data Availability: Requirements and Approaches. Point-in-Time Copies: Snapshots, Mirroring and other techniques.
- Lecture 26 : Storage Area Networks
Storage Area Networks: Storage on the Network, Compute-Network vs. Storage Network, SAN Traffic, SAN Protocols - Fibre Channel vs. IP SAN, SAN vs. NAS.
- Lectures 27 to 31 [Lectures done on Board]: Fiber Channel Protocol - Motivation and Philosophy, Comparison with Compute-Network Protocol Stack (TCP-IP-Ethernet: Protocol Issues and Network Design Issues), Layered Architecture, Functions of layers, Structure of Arbitrated Loop and Switched Fabric Topologies, Devices and Ports, Messaging and Encapsulation,
Addressing, Classes of Services. [Readings:
FC Tutorial, IBM Redbook on SAN ]
- Lectures 32 to 34 : Storage Area Networks - Design
Storage Area Networks: Structure and Architecture, Addressing and Routing, Reliability and Redundancy - Zoning, Trunking, Multipathing, and Load Balancing.
Storage Virtualization - Levels of Abstraction.
[Readings: IBM RedBook on SAN, Infortrend's Whitepaper on Multi-pathing,
IBM RedBook on SAN Virtualization.]
- Lecture 35 [Lecture done on board]: Data Centers - Function and Structure, Storage Requirements - Redundancy, Backup - Models, Media, and Management.
[Readings: The Backup Wiki]
- Lecture 36 [Lecture done on board]: Course Summary