17
- Exploiting Non Volatile RAM to Enhance Flash File System P e rf o rm a n c e EMSOFT ’07 2008. 2. 20 Speaker: Yunjung Yoo

Exploiting Non-Volatile RAM to Enhance Flash File System

Embed Size (px)

Citation preview

Page 1: Exploiting Non-Volatile RAM to Enhance Flash File System

- Exp lo iting No n Vo la tile RAM to Enhanc e Fla s h File S ys te mPe rfo rmanc e

EMSOFT ’07

2008. 2. 20Speaker: Yunjung Yoo

Page 2: Exploiting Non-Volatile RAM to Enhance Flash File System

Introduction

• NVRAM(Non-volatile Random Access Memory):– The next generation memory that retains both non-volatile

storage and random access memory– PRAM (Phase-change RAM)– FeRAM (Ferroelectric RAM)– MRAM (Magnetroresistive RAM)

• MiNVFS (Metadata in Non-Volatile RAM File System)– File system that puts all metadata of the file system in

NVRAM as maintaining metadata safely, and stores all the file data in Flash memory

Page 3: Exploiting Non-Volatile RAM to Enhance Flash File System

Introduction

• NVRAMs Advantages over Flash memory– The access time is faster than flash memory (Write access)– Overwrite existing data– No erasure limitation

2005 년 2 월 전자통신경향분석 제 20 권제 1 호

Page 4: Exploiting Non-Volatile RAM to Enhance Flash File System

Design of the MiNV File System

Information for managing the NVRAM

The current status of each of the blocks

The hash table that links all existing Inode

Page 5: Exploiting Non-Volatile RAM to Enhance Flash File System

Metadata in MiNVFS

Page 6: Exploiting Non-Volatile RAM to Enhance Flash File System

NVRAM Space Requirement for MiNVFS

16KB

512B

28B

16B

3072B

140B

32

140B

Page 7: Exploiting Non-Volatile RAM to Enhance Flash File System

NVRAM Space Requirement for MiNVFS

• NVRAM Space Requirement Model– Need to model the space used by data structures

(1) the amount of NVRAM required by MiNVFS(2) the fixed space required by NVRAM_Manager, Superblock, and

Inode_Table(3) the space needed for the Inode structures(4) the space needed for the File_Offset structures

)4(),(

)3()(

)2()(

)1(),()()(),,(

1

1

−−−−−−−−−−−−−−−×

=

−−−−−−−−−−−−−−−−−−−−−−−−−−−⋅=

−−++

×+=

−−−−−−−−−−−−−++=

∑−

=OffSize

n

kNumOff

Offset

kk

InodeSize

InodeSizeInodeTableizeBlockInfoSBlockSize

NANDNVRAMmmNAND

kNANDkNAND

CCCS

Snh

nCng

CCCC

SCSf

SnhngSfSnSR

Page 8: Exploiting Non-Volatile RAM to Enhance Flash File System

NVRAM Space Requirement for MiNVFS

KB

Worst case

Best case

Page 9: Exploiting Non-Volatile RAM to Enhance Flash File System

NVRAM Space Requirement for MiNVFS

• The NVRAM space requirement increases linearly as the flash memory capacity increases

• MP3 : about 4MB• Photo : about 330KB

• Both the “MP3 case” and “Photo case” are very similar to that of the “Best case”

Page 10: Exploiting Non-Volatile RAM to Enhance Flash File System

NVRAM Space Requirement for MiNVFS

• Case of 1%(10MB)– For 4MB(MP3)– 20,000 metadata– 250 contents– 15,667KB NVRAM

– For 330KB(Photo)– 20,000 metadata– 3,000 contents– 16,223KB NVRAM

• In common case– A few hundreds of

metadata– 10~ 20MB for CE today

Page 11: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

• Experimental Setup– Implemented in Linux 2.4.x– Including the file system formatting tool and all the basic fs

ops– Motherboard : EZ-M28

• Processor : S3C2800 (ARM920T)• 32MB SDRAM• 64MB NAND flash memory

– NVRAM Daughter board : 12MB FeRAM• Accessed via memory mapped addressing

Page 12: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

• Correctness of the Model

Page 13: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

• Mount time : compared to YAFFS– YAFFS : The mount time increases linearly with utilization

Page 14: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

• With synthetic workloads– Sequentially creating files and then deleting the files (5

times)– No updates on the files– The files created are all of the same particular size for each

experiment

– For YAFFS, the # presented in the table is not exact

Page 15: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

* The way YAFFS creates files :

1. Create & Write the metadata for the file

2. Then, write out the file data

3. Finally, create and the write a newly updated metadata, and invalidate the old metadata

Page 16: Exploiting Non-Volatile RAM to Enhance Flash File System

Performance Evaluation

• With realistic workloads : TFFS benchmark program– The FAX workload : managing the relatively large files– The Mobile Phone workload : managing the small files– The Event Recorder workload : Creating records and

updating

Especially efficient for small file size

and for the frequently

updated files

152%559%

600%

Page 17: Exploiting Non-Volatile RAM to Enhance Flash File System

Summary

• Presented the design and implementation of the MiNVFS

• Exploiting NVRAM to store all of metadata• Modeling the NVRAM space requirement

– The amount of NVRAM required is in the 10’s of megabytes

• Conduct a series of experiments on a real board– Mount time is drastically reduced (No scanning)– Significantly improved execution time (compared to YAFFS)

• Future work– The energy consumption by NVRAM– Wear- leveling in flash memory (simplified??)– Further optimization in the design and implementation