a fast start-up technique for flash memory computing

14
A Fast Start-Up Technique for A Fast Start-Up Technique for Flash Memory Computing Flash Memory Computing System System Keun soo Yim, Jihong Kim, and Kern Koh Keun soo Yim, Jihong Kim, and Kern Koh CSE, SNU CSE, SNU 2005 ACM Symposium on Applied Computing 2005 ACM Symposium on Applied Computing

Upload: flashdomain

Post on 12-Jul-2015

194 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Fast Start-Up Technique for Flash Memory Computing

A Fast Start-Up Technique for A Fast Start-Up Technique for Flash Memory Computing Flash Memory Computing

SystemSystem

Keun soo Yim, Jihong Kim, and Kern KohKeun soo Yim, Jihong Kim, and Kern Koh

CSE, SNUCSE, SNU

2005 ACM Symposium on Applied Computing2005 ACM Symposium on Applied Computing

Page 2: A Fast Start-Up Technique for Flash Memory Computing

IntroductionIntroduction

Flash memoryFlash memory small size, shock resistance, low-power consumptionsmall size, shock resistance, low-power consumption

Long mounting timeLong mounting time Flash mounting time heavily depends on the flash capacity Flash mounting time heavily depends on the flash capacity

and stored data sizeand stored data size

황의 법칙 – 황의 법칙 – flash chip capacity is doubling every yearflash chip capacity is doubling every year Fast mounting technique is needFast mounting technique is need

Page 3: A Fast Start-Up Technique for Flash Memory Computing

Physical constraints of flash Physical constraints of flash memorymemory

Physical constraintsPhysical constraints Write operationWrite operation 을 수행하기 전에 을 수행하기 전에 blockblock 을 을 erase erase 해야한다해야한다 ..

Erase operationErase operation 의 단위가 의 단위가 Write operation Write operation 단위보다 크다단위보다 크다 ..

Block erase Block erase 횟수가 제한되어있다횟수가 제한되어있다 ..

Journaling technique (JFFS2, YAFFS2)Journaling technique (JFFS2, YAFFS2) Out-place updateOut-place update

File systems scan the entire flash space at mounting timeFile systems scan the entire flash space at mounting time

Page 4: A Fast Start-Up Technique for Flash Memory Computing

Metadata snapshot techniqueMetadata snapshot technique

LFS (log-structured file system)LFS (log-structured file system) Periodically stores a metadata snapshot to hard disk and updates Periodically stores a metadata snapshot to hard disk and updates

the super blockthe super block

Integrity problemIntegrity problem

Super block reached the erase limit quicklySuper block reached the erase limit quickly

FTL where snapshot size is small and fixedFTL where snapshot size is small and fixed Metadata snapshot is stored to dedicated areas in a round-robin Metadata snapshot is stored to dedicated areas in a round-robin

manner whenever it is changedmanner whenever it is changed

Breaks the wear-leveling property where the snapshot size variesBreaks the wear-leveling property where the snapshot size varies

Degrade the I/O performanceDegrade the I/O performance

Page 5: A Fast Start-Up Technique for Flash Memory Computing

Snapshot Technique for NOR FlashSnapshot Technique for NOR Flash

First block of flash memory is First block of flash memory is reserved as a root blockreserved as a root block

Sequential search or binary Sequential search or binary searchsearch

the root block is extremely and rarely erased

Page 6: A Fast Start-Up Technique for Flash Memory Computing

Snapshot Technique for NAND FlashSnapshot Technique for NAND Flash

NAND flash supports only page-based I/ONAND flash supports only page-based I/O Internal fragmentationInternal fragmentation

First N blocks are used as header blockFirst N blocks are used as header block

Parameter N is dynamically controlled Parameter N is dynamically controlled

(2 <= N <= 10% of total block count)(2 <= N <= 10% of total block count)

Page 7: A Fast Start-Up Technique for Flash Memory Computing

Fast Mounting for Crashed File SystemFast Mounting for Crashed File System

If the latest snapshot is not valid?If the latest snapshot is not valid?

Three fast crash recovery techniquesThree fast crash recovery techniques (a) skip the scanning for the data pages(a) skip the scanning for the data pages

(b) do not scan empty pages (sequential writing policy)(b) do not scan empty pages (sequential writing policy)

(c) (a) and (b)(c) (a) and (b)

Page 8: A Fast Start-Up Technique for Flash Memory Computing

Fast Unmounting by Compressed SnapshotFast Unmounting by Compressed Snapshot

In order to reduce mounting time, snapshot is In order to reduce mounting time, snapshot is compressed before storing it into flash memorycompressed before storing it into flash memory the time required for compressing the snapshot

<< the time required for writing the snapshot to flash memory

At mounting, the At mounting, the compressed snapshot is decompressed on the fly.

Page 9: A Fast Start-Up Technique for Flash Memory Computing

Experimental ResultExperimental Result

Environment setupEnvironment setup Intel machine (Pentium III 850MHz)Intel machine (Pentium III 850MHz)

JFFS2, Linux kernel 2.4JFFS2, Linux kernel 2.4

Virtual flash device driverVirtual flash device driver

Mounting time of the existing file systemMounting time of the existing file system

I/O time heavily depends on the flash memory capacity

Page 10: A Fast Start-Up Technique for Flash Memory Computing

Experimental ResultExperimental Result

mounting time depending on the stored data size (128MB)

The computation time is greatly influenced by stored data size

Page 11: A Fast Start-Up Technique for Flash Memory Computing

Experimental ResultExperimental Result

Mounting time of proposed snapshot technique in NOR flashMounting time of proposed snapshot technique in NOR flash

Unmounting time of the proposed snapshot technique in NOR Unmounting time of the proposed snapshot technique in NOR flash flash

The I/O time is reduced by less than half, while the computation time is slightly increased

Page 12: A Fast Start-Up Technique for Flash Memory Computing

Experimental ResultExperimental Result

Wear-leveling propertyWear-leveling property

Page 13: A Fast Start-Up Technique for Flash Memory Computing

Experimental ResultExperimental Result

Fast crash recovery techniquesFast crash recovery techniques

(a) Data skipping technique

(b)Skip scanning empty areas

(c) Only read metadata and the first page of empty areas

when the file system crashes, the I/O time used for mounting can be reduced by more than 95%.

Page 14: A Fast Start-Up Technique for Flash Memory Computing

ConclusionConclusion

instant mounting techniques for both NOR and NAND flash file systems Store metadata snapshot at unmounting time

Reload the snapshot quickly at mounting time

fast crash recovery techniques

the proposed techniques reduce the mounting time by over two orders of magnitude because they reduce both the I/O time and the computation time