User Tools

Site Tools


ssd_simulator

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ssd_simulator [2021/03/17 16:40] – [Learning Materials] jisparkssd_simulator [2021/05/21 12:29] (current) – [Spring 2021 Meetings/Schedule] jispark
Line 5: Line 5:
 ==== Course Description ==== ==== Course Description ====
  
-NAND flash memory is the de facto standard in architecting a storage device in modern computing systems. As modern computing systems process 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 is the de facto standard in architecting a storage device in modern computing systems. As modern computing systems process large amounts 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. 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.
Line 26: Line 26:
 ^ ^ Name ^ E-mail ^ Office ^ ^ ^ Name ^ E-mail ^ Office ^
 | **Supervisor** | [[https://ee.ethz.ch/the-department/people-a-z/person-detail.MjYwMzEw.TGlzdC8zMjc5LC0xNjUwNTg5ODIw.html|Jisung Park]]| <jisung.park@safari.ethz.ch> | ETZ H 61.2 | | **Supervisor** | [[https://ee.ethz.ch/the-department/people-a-z/person-detail.MjYwMzEw.TGlzdC8zMjc5LC0xNjUwNTg5ODIw.html|Jisung Park]]| <jisung.park@safari.ethz.ch> | ETZ H 61.2 |
 +| **Supervisor** | Mohammad Sadrosadati | <m.sadr89@gmail.com> | |
  
 ==== Spring 2021 Meetings/Schedule ==== ==== Spring 2021 Meetings/Schedule ====
  
 ^ Week ^ Date ^ Meeting ^ Learning Materials ^ Assignments ^ ^ Week ^ Date ^ Meeting ^ Learning Materials ^ Assignments ^
-| W1  |    |<hi #fff200> M1: P&S Course Presentation</hi> \\  \\ {{youtube>link:| Video}} |[[| Required Materials]]  \\ [[| Recommended Materials]] | |  +| W1  | 17.03   |<hi #fff200> M1: P&S Course Presentation</hi> \\ {{pns_modern_ssds_ss2021_1st_after_meeting.pdf|PDF}} {{pns_modern_ssds_ss2021_1st_after_meeting.pptx|PPT}} \\ {{youtube>link:| Video}} |[[ssd_simulator#Learning Materials#Meeting 1: Required Materials| Required]]  \\ [[ssd_simulator#Learning Materials#Meeting 1: Recommended Materials| Recommended]] | |  
 +| W2  |  24.03  |<hi #fff200> M2: Request Handling and MQSim Organization</hi> \\ {{pns_modern_ssds_ss2021_2nd_aftermeeting.pdf|PDF}} {{pns_modern_ssds_ss2021_2nd_aftermeeting.pptx|PPT}} \\ {{youtube>link:| Video}} |[[ssd_simulator#Learning Materials#Meeting 2: Required MaterialsRequired]]  \\ [[ssd_simulator#Learning Materials#Meeting 2: Recommended Materials| Recommended]] | |  
 +| W3  |  31.03  |<hi #fff200> M3: NAND Flash Organization </hi> \\ {{pns_modern_ssds_ss2021_3rd_aftermeeting.pdf|PDF}} {{pns_modern_ssds_ss2021_3rd_aftermeeting.pptx|PPT}} \\ {{youtube>link:| Video}} | | |  
 +| W5  |  21.04  |<hi #fff200> M5: NAND Flash Operations </hi> \\ {{pns_modern_ssds_ss2021_5th_aftermeeting.pdf|PDF}} {{pns_modern_ssds_ss2021_5th_aftermeeting.pptx|PPT}} \\ {{youtube>link:| Video}} | | | 
 +| W7  |  05.05  |<hi #fff200> M7: SSD Performance & Advanced NAND Flash Commands </hi> \\ {{pns_modern_ssds_ss2021_7th_aftermeeting.pdf|PDF}} {{pns_modern_ssds_ss2021_7th_aftermeeting.pptx|PPT}} \\ {{youtube>link:| Video}} | [[ssd_simulator#Learning Materials#Meeting 7: Recommended Materials| Recommended]] | | 
 +| W9  |  19.05  |<hi #fff200> M9: Address Translation & Garbage Collection </hi> \\ {{pns_modern_ssds_ss2021_9th_aftermeeting.pdf|PDF}} {{pns_modern_ssds_ss2021_9th_aftermeeting.pptx|PPT}} \\ {{youtube>link:| Video}} | | |
 ==== Learning Materials ==== ==== Learning Materials ====
  
Line 41: Line 46:
   * {{https://youtu.be/3cI4zOoDk9Q|Computer Architecture Fall 2020 - Lecture 14: Simulation (with a Focus on Memory)}}   * {{https://youtu.be/3cI4zOoDk9Q|Computer Architecture Fall 2020 - Lecture 14: Simulation (with a Focus on Memory)}}
  
 +=== Meeting 2: Required Materials ===
 +  * {{https://arxiv.org/pdf/1711.11427.pdf|Yu Cai, Saugata Ghose, Erich F. Haratsch, Yixin Luo, and Onur Mutlu, “Errors in Flash-Memory-Based Solid-State Drives: Analysis, Mitigation, and Recovery,” (Introduction and Section 1) Invited Book Chapter in Inside Solid State Drives, 2018.}}
 +=== Meeting 2: Recommended Materials ===
 +  * {{https://people.inf.ethz.ch/omutlu/pub/FLIN-fair-and-high-performance-NVMe-SSD-scheduling_isca18.pdf|Arash Tavakkol, Mohammad Sadrosadati, Saugata Ghose, Jeremie Kim, Yixin Luo, Yaohua Wang, Nika Mansouri Ghiasi, Lois Orosa, Juan Gómez Luna, and Onur Mutlu, “FLIN: Enabling Fairness and Enhancing Performance in Modern NVMe Solid State Drives,” In ISCA, 2018.
 +}}
 +=== Meeting 7: Recommended Materials ===
 +  * {{https://people.inf.ethz.ch/omutlu/pub/Reducing-SSD-Read-Latency-by-Optimizing-Read-Retry_asplos21.pdf|Jisung Park, Myungsuk Kim, Myoungjun Chun, Lois Orosa, Jihong Kim, and Onur Mutlu, “Reducing Solid-State Drive Read Latency by Optimizing Read-Retry,"
 + In ASPLOS, 2021.
 +}}
 +  * {{https://www.usenix.org/legacy/event/fast12/tech/full_papers/Wu.pdf|Guanying Wu and Xubin He, “Reducing SSD Read Latency via NAND Flash Program and Erase Suspension,"
 + In USENIX FAST, 2012.
 +}}
 +  * {{https://www.usenix.org/system/files/atc19-kim-shine.pdf|Shine Kim, Jonghyun Bae, Hakbeom Jang, Wenjing Jin, Jeonghun Cong, Seungyeon Lee, Tae Jun Ham, and Jae. W. Lee, “Practical Erase Suspension for Modern Low-latency SSDs,"
 + In USENIX ATC, 2019.
 +}}
  
-=== More Learning Materials === 
  
 ==== Assignments ==== ==== Assignments ====
ssd_simulator.1615999239.txt.gz · Last modified: 2021/03/17 16:40 by jispark