DFTL Optimization Method
Prof. Dongkun Shin (dongkun@skku.edu)
TA – Junho Lee (crow6316@skku.edu)
TA – Somm Kim (sommkim@skku.edu)
Embedded Software Laboratory
Sungkyunkwan University
http://nyx.skku.ac.kr
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu)
Contents
• FTL Testing
– With SATA interface
• Windows: IOmeter
• Linux: FIO
– Without SATA interface
• ftl_test (Emulation)
• DFTL Optimization Method
• Project 3: Custom DFTL
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 2
FTL Testing
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu)
FTL Testing: FIO
• Check the device.
– lsblk
• Create a partition.
– fdisk /dev/sdh (your device in /dev)
– Run 'n' command and 'w' command
• Create a file system.
– mkfs –t ext4 /dev/sdh1 (your device partition in /dev)
• Mount the device.
– mount –t ext4 /dev/sdh1 /mnt
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 4
FTL Testing: FIO
• Install the FIO.
– sudo apt-get install fio
– Verify the installation with the fio command.
• Write a FIO script. [global]
ioengine=libaio
– vim test.fio directory=/mnt
rw=write
bs=32k
direct=1
size=1G
• Run the FIO.
[job]
– fio test.fio numjobs=1
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 5
FTL Testing: FIO
• Sample result
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 6
DFTL Optimization Method
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu)
DFTL Optimization Method
• Example 1: CAFTL
[1] CAFTL: A Content-Aware Flash Translation Layer Enhancing the Lifespan of Flash Memory based Solid State Drives (FAST ‘11)
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 8
DFTL Optimization Method
• Example 2: TPFTL
[2] An efficient page-level FTL to optimize address translation in flash memory (EuroSys ‘15)
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 9
DFTL Optimization Method
• Example 3: CDFTL
[3] An Adaptive Demand-Based Caching Mechanism for NAND Flash Memory Storage Systems (TODAES ‘16)
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 10
Project III
Custom DFTL
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu)
Project III : Custom DFTL
• Development a Custom DFTL (free topic)
– Improve the performance
• Performance improvement for specific workload is also OK.
– Reduce the memory consumption
– Implement additional functions
• POR support (NPO or SPO)
– Wear-leveling
– Implement the idea of paper that has improved DFTL
• ex) CAFTL, TPFTL, CDFTL, …
– Etc.
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 12
Miscellaneous
• Recommended environment : Windows, Linux
• Team Project
• You should submit a report
– Describe your idea in detail
• Motivation, Idea, Implementation, Evaluation
– Idea
– Evaluation
• Describe the experimental environment and the workload in detail.
• Capture and analyze the experimental result.
• Compare the performance with original DFTL
• Submit to the icampus
– Due: 12/08(Sun.) 23:59:59
– File to submit: ftl_dftl (folder), report.pdf, presentation file
– File name: team_$NUMBER.zip (ex. team_01.zip)
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu) 13
Any Questions?
ICE3028: Embedded System Design, Fall 2019, Dongkun Shin (dongkun@skku.edu)