A Fast Start-Up Technique for Flash Memory Computing


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

A Fast Start-Up Technique for Flash Memory Computing

  1. 1. A Fast Start-Up Technique for Flash Memory Computing System Keun soo Yim, Jihong Kim, and Kern Koh CSE, SNU 2005 ACM Symposium on Applied Computing
  2. 2. Introduction <ul><li>Flash memory </li></ul><ul><ul><li>small size, shock resistance, low-power consumption </li></ul></ul><ul><li>Long mounting time </li></ul><ul><ul><li>Flash mounting time heavily depends on the flash capacity and stored data size </li></ul></ul><ul><ul><li>황의 법칙 – flash chip capacity is doubling every year </li></ul></ul><ul><ul><ul><li>Fast mounting technique is need </li></ul></ul></ul>
  3. 3. Physical constraints of flash memory <ul><li>Physical constraints </li></ul><ul><ul><li>Write operation 을 수행하기 전에 block 을 erase 해야한다 . </li></ul></ul><ul><ul><li>Erase operation 의 단위가 Write operation 단위보다 크다 . </li></ul></ul><ul><ul><li>Block erase 횟수가 제한되어있다 . </li></ul></ul><ul><li>Journaling technique (JFFS2, YAFFS2) </li></ul><ul><ul><li>Out-place update </li></ul></ul><ul><ul><li>File systems scan the entire flash space at mounting time </li></ul></ul>
  4. 4. Metadata snapshot technique <ul><li>LFS (log-structured file system) </li></ul><ul><ul><li>Periodically stores a metadata snapshot to hard disk and updates the super block </li></ul></ul><ul><ul><li>Integrity problem </li></ul></ul><ul><ul><li>Super block reached the erase limit quickly </li></ul></ul><ul><li>FTL where snapshot size is small and fixed </li></ul><ul><ul><li>Metadata snapshot is stored to dedicated areas in a round-robin manner whenever it is changed </li></ul></ul><ul><ul><li>Breaks the wear-leveling property where the snapshot size varies </li></ul></ul><ul><ul><li>Degrade the I/O performance </li></ul></ul>
  5. 5. Snapshot Technique for NOR Flash <ul><li>First block of flash memory is reserved as a root block </li></ul><ul><li>Sequential search or binary search </li></ul><ul><li>the root block is extremely and rarely erased </li></ul>
  6. 6. Snapshot Technique for NAND Flash <ul><li>NAND flash supports only page-based I/O </li></ul><ul><ul><li>Internal fragmentation </li></ul></ul><ul><li>First N blocks are used as header block </li></ul><ul><li>Parameter N is dynamically controlled </li></ul><ul><li>(2 <= N <= 10% of total block count) </li></ul>
  7. 7. Fast Mounting for Crashed File System <ul><li>If the latest snapshot is not valid? </li></ul><ul><li>Three fast crash recovery techniques </li></ul><ul><ul><li>(a) skip the scanning for the data pages </li></ul></ul><ul><ul><li>(b) do not scan empty pages (sequential writing policy) </li></ul></ul><ul><ul><li>(c) (a) and (b) </li></ul></ul>
  8. 8. Fast Unmounting by Compressed Snapshot <ul><li>In order to reduce mounting time, snapshot is compressed before storing it into flash memory </li></ul><ul><ul><li>the time required for compressing the snapshot </li></ul></ul><ul><ul><li><< the time required for writing the snapshot to flash memory </li></ul></ul><ul><li>At mounting, the compressed snapshot is decompressed on the fly. </li></ul>
  9. 9. Experimental Result <ul><li>Environment setup </li></ul><ul><ul><li>Intel machine (Pentium III 850MHz) </li></ul></ul><ul><ul><li>JFFS2, Linux kernel 2.4 </li></ul></ul><ul><ul><li>Virtual flash device driver </li></ul></ul><ul><li>Mounting time of the existing file system </li></ul>I/O time heavily depends on the flash memory capacity
  10. 10. Experimental Result <ul><li>mounting time depending on the stored data size (128MB) </li></ul>The computation time is greatly influenced by stored data size
  11. 11. Experimental Result <ul><li>Mounting time of proposed snapshot technique in NOR flash </li></ul><ul><li>Unmounting time of the proposed snapshot technique in NOR flash </li></ul>The I/O time is reduced by less than half, while the computation time is slightly increased
  12. 12. Experimental Result <ul><li>Wear-leveling property </li></ul>
  13. 13. Experimental Result <ul><li>Fast crash recovery techniques </li></ul><ul><li>Data skipping technique </li></ul><ul><li>Skip scanning empty areas </li></ul><ul><li>Only read metadata and the first page of empty areas </li></ul>when the file system crashes, the I/O time used for mounting can be reduced by more than 95%.
  14. 14. Conclusion <ul><li>instant mounting techniques for both NOR and NAND flash file systems </li></ul><ul><ul><li>Store metadata snapshot at unmounting time </li></ul></ul><ul><ul><li>Reload the snapshot quickly at mounting time </li></ul></ul><ul><ul><li>fast crash recovery techniques </li></ul></ul><ul><li>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 </li></ul>