a fast start-up technique for flash memory computing
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