a fast start-up technique for flash memory computing

Post on 12-Jul-2015

194 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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)

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)

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.

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

Experimental ResultExperimental Result

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

The computation time is greatly influenced by stored data size

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

Experimental ResultExperimental Result

Wear-leveling propertyWear-leveling property

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%.

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

top related