User Tools

Site Tools


modern_ssds

Understanding and Designing Modern NAND Flash-Based SSDs (Solid-State Drives): 227-0085-44L

Course Description

NAND flash memory is the de facto standard for architecting a storage device in modern computing systems. As modern computing systems process a large amount of data at an unprecedented scale, a storage device needs to meet high requirements on storage capacity and I/O performance. A NAND flash-based solid-state drive (SSD) can provide orders-of-magnitude higher I/O performance compared to traditional hard-disk drives (HDDs), with a much lower cost-per bit value over SSDs based on emerging non-volatile memory (NVM) technologies.

NAND flash memory has several unique characteristics, such as the erase-before write property (i.e., a flash cell needs to be first erased before programming it), limited lifetime (i.e., a cell cannot reliably store data after experiencing a certain number of program/erase (P/E) cycles), and large operation units (e.g., modern NAND flash memory typically reads/writes data in a page (e.g., 16 KiB) granularity). To achieve high performance and large capacity of the storage system while hiding the unique characteristics of NAND flash memory, it is critical to design efficient SSD firmware, commonly called Flash-Translation Layer (FTL). An FTL is responsible for many critical management tasks, such as address translation, garbage collection, wear leveling, and I/O scheduling, which significantly affect the performance, reliability, and lifetime of the SSD.

In this course, we will cover how a modern NAND flash-based SSD is organized and operates, from the basics of underlying NAND flash devices and various SSD-management tasks at the FTL level. We will also examine other emerging memory technologies for building SSDs, such as Phase Change Memory, 3D XPoint (e.g., Intel Optane SSD) and more.

You will help build a practical SSD simulator by refactoring MQSim, a state-of-the-art simulator for high-end SSDs, to support advanced features of modern NAND flash chips and essential SSD-management tasks. This will allow you to have the chance to obtain a comprehensive background in modern storage systems and research experience on system optimization with rigorous evaluation.

Prerequisites of the course:

  • No prior knowledge in NAND flash-based storage systems is required.
  • Digital Design and Computer Architecture (or equivalent course)
  • Good knowledge in C/C++ programming language is required.
  • Interest in system optimizations

The course is conducted in English.

The course has two main parts: Weekly lectures on modern NAND flash-based SSDs and hands-on projects on storage systems and NAND flash memory.

Course description page Moodle

Mentors

Name E-mail Office
Lead Supervisor Mohammad Sadrosadati ssadrosa@ethz.ch ETZ H 61.1
Supervisor Rakesh Nadig rakesh.nadig@safari.ethz.ch ETZ H 64
Supervisor Geraldo Francisco De Oliveira Junior geraldod@inf.ethz.ch ETZ H 61.2

Lecture Video Playlists on YouTube

Spring 2023 Meetings/Schedule

Week Date Livestream Meeting Learning Materials Assignments
W1 10.03 M0: P&S Course Presentation
PDF PPT
Required
Recommended
W2 17.03
Live
M1: Basics of NAND Flash Based SSDs
PDF PPT
Required
Recommended
W3 24.03
Live
M2: NAND Flash Read/Write Operations
PDF PPT
W4 31.03
Live
M3: Advanced NAND Flash Commands & Address Mapping
PDF PPT
Required
Recommended
W5 21.04
Live
M4: Processing Inside NAND Flash
PDF PPT
Required
Recommended
W6 28.04
Premiere
M5: Processing Inside Storage
PDF PPT
Required
Recommended
W7 12.05
Premiere
M6: Introduction to MQSim
PDF PPT
Required
Recommended
W8 19.05
Live
M7: Garbage Collection
PDF PPT
Required
Recommended
W9 26.05
Premiere
M8a: NAND Flash Basics
PDF PPT
Required
Recommended
M8b: Reducing Solid-State Drive Read Latency by Optimizing Read-Retry
PDF PPT Paper
Required
Recommended
M8c: Evanesco: Architectural Support for Efficient Data Sanitization in Modern Flash-Based Storage Systems
PDF PPT Paper
Required
Recommended
M8d: DeepSketch: A New Machine Learning-Based Reference Search Technique for Post-Deduplication Delta Compression
PDF PPT Paper
Required
Recommended
W10 30.06
Premiere
M9: FLIN: Enabling Fairness and Enhancing Performance in Modern NVMe Solid State Drives
PDF PPT
W11 07.07
Premiere
M10: Flash Memory and Solid-State Drives
PDF PPT

Learning Materials

Meeting 0: Required Materials

Meeting 1: Recommended Materials

Meeting 1: Required Materials

Meeting 1: Recommended Materials

Meeting 3: Required Materials

Meeting 3: Recommended Materials

Assignments

HW0: Student Information (Due: 17.03)

modern_ssds.txt · Last modified: 2023/07/05 13:19 by nadigr