Welcome to Flash-Aware Computing
Course Information
Instructor
Jihong Kim
Professor, Dept. of Computer Science and Engineering, SNU
Course Description
This course covers various up-to-date research topics on embedded systems.
It is intended primarily for advanced graduate students in the field of embedded systems.
Recent conference papers as well as journal papers are used in the course.
Course Goal
This course prepares graduate students for advanced research in flash-based storage systems/architecture areas.
The core part of the course introduces key components of flash-based storage systems (such as SSDs) in a comprehensive fashion starting from NAND flash cells to flash translation layer to systems software.
Based on the basic understanding on flash-based storage systems, students are exposed to current research topics in flash-related areas by studying recent technical papers from top systems conferences.
Prerequisites
- Undergraduate Operating Systems or equivalent
- Undergraduate Computer Architecture or equivalent
Course Organization
This course consists of two main parts:
Part 1: Lectures on Key Components of Flash-based Storage Systems
Topics include:
- NAND Flash Basics
- Flash Translation Layers
- SSD Architecture
- Flash-Aware Operating System Issues
- Flash-Aware File System Issues
- Host/Application Managed Flash Issues
Part 2: Recent Topics in Flash-based Storage Systems
- Students present recent flash-related papers from top systems conferences such as
FAST, ATC, EUROSYS, ISCA, MICRO and DAC.
Course Schedule
Week | Topic | Slides |
---|---|---|
Week 0 | Syllabus | |
Week 1 | Flash-Aware ComputingCourse Information | |
Week 2 | Overview of Flash and SSDs | |
Week 3 | Overview of NAND Flash Memory | |
Week 4 | Basics of Storage Systems | |
Week 5 | Overview of Flash Management SW | |
Week 6 | Overview of Flash Translation Layer | |
Week 7 | FTL Address Mapping Techniques | |
Week 8 | Hybrid Mapping-basedFlash Translation Layer | |
Week 9 | Garbage Collection Technique | |
Week 10 | Wear-Leveling Techniques | |
Week 11 | Data Separation Techniques | |
Week 12 | Lifetime Issues & Techniques | |
Week 13 | Buffer Management Techniques | |
Week 14 | Advanced Flash Translation Layer | |
Week 15 | Flash Controller | |
Week 16 | SSD Architecture and System-level Controllers | |
Week 17 | Flash-aware File System | |
Week 18 | Host-Managed Flash |