227-0085-44L  P&S: Understanding and Designing Modern SSDs (Solid-State Drives)

SemesterAutumn Semester 2023
Lecturers
Periodicityevery semester recurring course
CourseDoes not take place this semester.
Language of instructionEnglish
CommentCourse can only be registered for once. A repeatedly registration in a later semester is not chargeable.



Courses

NumberTitleHoursLecturers
227-0085-44 PP&S: Understanding and Designing Modern SSDs (Solid-State Drives) Special students and auditors need a special permission from the lecturers.
Does not take place this semester.
Für den Zugang zum Angebot und zur Einschreibung loggen Sie sich hier ein (mit Ihrem n.ETHZ account): https://psapp.ee.ethz.ch/
Bitte beachten Sie, dass die Seite jeweils erst zwei Wochen vor Semesterbeginn zugänglich ist und im Verlauf des Semesters wieder abgeschaltet wird. Die Einschreibung ist nur von Freitag vor Semesterbeginn bis zum ersten Freitagmittag im Semester möglich.

To access the offer and to enroll for courses log in (with your n.ethz account): https://psapp.ee.ethz.ch/
Please note that the P&S-site is accessible no earlier than two weeks before the start of the semester until four weeks after the start of the semester. Enrollment is only possible from Friday before the start of the semester until noon of the first Friday in the semester.

Time: To be arranged with each student taking the course
Room: tba
3 hrs

Catalogue data

AbstractThe category of "Laboratory Courses, Projects, Seminars" includes courses and laboratories in various formats designed to impart practical knowledge and skills. Moreover, these classes encourage independent experimentation and design, allow for explorative learning and teach the methodology of project work.
Learning objectiveNAND flash memory is the de facto standard in 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 SSD can provide an order(s) of magnitude higher I/O performance compared to traditional hard-disk drives (HDDs), with a much lower cost-per-bit value over any other 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 can reliably store data for a certain number of program/erase cycles), and large operation units (e.g., a NAND flash chip 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, that significantly affect the performance, reliability, and lifetime of the SSD.

In this P&S, 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. You will 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 of 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 Circuits AND Computer Engineering (or equivalent courses)
• Good knowledge in C/C++ programming language is required.
• Interest in system optimizations

The course is conducted in English.
Lecture notesSee: https://safari.ethz.ch/projects_and_seminars/
LiteratureLearning Materials
============

Inside NAND Flash Memories: https://search.library.ethz.ch/permalink/f/823s1o/ELENDING603606

Inside Solid State Drives (SSDs):
https://search.library.ethz.ch/permalink/f/823s1o/ELENDING1030264

MQSim, an open-source multi-queue SSD simulator

Source code: https://github.com/CMU-SAFARI/MQSim

Paper: https://people.inf.ethz.ch/omutlu/pub/MQSim-SSD-simulation-framework_fast18.pdf

An example of how to improve SSD performance by optimizing the I/O scheduling policy of the FTL: Link

Examples of how to improve SSD reliability by exploiting physical characteristics of modern NAND flash memory:
Link
Link
https://arxiv.org/pdf/1706.08642.pdf

Examples of how to improve the security and privacy of stored data in SSDs: Link
Link
Prerequisites / NoticePrerequisites of the course:
- No prior knowledge of NAND flash-based storage systems is required.
- Digital Circuits AND Computer Engineering (or equivalent courses).
- Good knowledge of C/C++ programming language is required.
- Interest in system optimizations
CompetenciesCompetencies
Subject-specific CompetenciesConcepts and Theoriesassessed
Techniques and Technologiesassessed
Method-specific CompetenciesAnalytical Competenciesassessed
Problem-solvingassessed
Project Managementassessed
Social CompetenciesCommunicationassessed
Cooperation and Teamworkassessed
Personal CompetenciesCritical Thinkingassessed
Self-awareness and Self-reflection assessed
Self-direction and Self-management assessed

Performance assessment

Performance assessment information (valid until the course unit is held again)
Performance assessment as a semester course
ECTS credits3 credits
ExaminersS. Sadrosadati
Typeungraded semester performance
Language of examinationEnglish
RepetitionRepetition only possible after re-enrolling for the course unit.

Learning materials

No public learning materials available.
Only public learning materials are listed.

Groups

No information on groups available.

Restrictions

General : Special students and auditors need a special permission from the lecturers
PlacesLimited number of places. Special selection procedure.
Beginning of registration periodRegistration possible from 15.09.2023
PriorityRegistration for the course unit is only possible for the primary target group
Primary target groupElectrical Engin. + Information Technology BSc (228000)
Waiting listuntil 06.10.2023
End of registration periodRegistration only possible until 29.09.2023

Offered in

ProgrammeSectionType
Electrical Engineering and Information Technology BachelorProjects & SeminarsWInformation