Storage Systems


Lecture 1 - Overview


Lecture 2 - Storage, Processing, Networking


Lecture 3 - Naming and Storing


Lecture 4 - Storage Filesystems


Lecture 5 - Access Architecture, Hard Disks


Lecture 6 - SCSI


Lecture 7 - Fibre Channel Protocol (FCP)


Lecture 8 - FCP, 10Gb Ethernet, iSCSI, TCP


Lecture 9 - NFS, NFSv2


Lecture 10 - NFSv2, NFSv3, NFSv4, CIFS


Lecture 11 - USB Storage


Lecture 12 - Tiering


Lecture 13 - Mobile/Personal/Organizational - type Storage


Lecture 14 - Parallel/Cloud/Web-scale Storage


Lecture 15 - Long-term Storage


Lecture 16 - Storage interfaces


Lecture 17 - User-Memory-CPU interactions


Lecture 18 - Spinlock, Concurrency


Lecture 19 - Block Layer design


Lecture 20 - FAT, TFAT, F2FS, LFS, FTL


Lecture 21 - Data Structures


Lecture 22 - Abstractions


Lecture 23 - Link & Write Operations


Lecture 24 - ZFS


Lecture 25 - RAID in Filesystems


Lecture 26 - RAID-Z, NetApp RAID4, Flash Filesystems


Lecture 27 - Reliability


Lecture 28 - Performance


Lecture 29 - Security


Lecture 30 - CAP Theorem


Lecture 31 - POSIX/NFS/S3/Zookeeper, ACID Vs. BASE


Lecture 32 - Consistency & Commit problems


Lecture 33 - Paxos


Lecture 34 - Group Communication problem


Lecture 35 - Message Ordering


Lecture 36 - Ordering Models


Lecture 37 - Orderings in Filesystems


Lecture 38 - Semantics of highly scalable filesystems


Lecture 39 - GFS


Lecture 40 - GFS Model


Lecture 41 - GFS functions and operations


Lecture 42 - GFS problems, BigTable


Lecture 43 - Lessons to learn