a space efficient flash translation layer for compactflash systems l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
A Space-Efficient Flash Translation Layer for CompactFlash Systems PowerPoint Presentation
Download Presentation
A Space-Efficient Flash Translation Layer for CompactFlash Systems

Loading in 2 Seconds...

play fullscreen
1 / 17

A Space-Efficient Flash Translation Layer for CompactFlash Systems - PowerPoint PPT Presentation


  • 618 Views
  • Uploaded on

A Space-Efficient Flash Translation Layer for CompactFlash Systems. Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min and Yookun Cho IEEE Transactions on Consumer Electronics 2002 July 4 th , 2007 Speaker: Jinyoung Choi . Introduction | CompactFlash. CompactFlash

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

A Space-Efficient Flash Translation Layer for CompactFlash Systems


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
a space efficient flash translation layer for compactflash systems

A Space-Efficient Flash Translation Layer for CompactFlash Systems

Jesung Kim, Jong Min Kim, Sam H. Noh, Sang Lyul Min and Yookun Cho

IEEE Transactions on Consumer Electronics 2002

July 4th, 2007

Speaker: Jinyoung Choi

introduction compactflash
Introduction| CompactFlash
  • CompactFlash
    • - originally developed as a type of data storage device used in portable electronic devices

Loading a cf card into canon a95

Internal organization of a CompactFlash System

CompactFlash prototype system

slide3

Introduction| Motivation

  • Coarse grain address translation
    • Block-level address mapping
    • Management overhead for maintaining translation information ↓
  • Fine grain address translation
    • page-level address mapping
    • Efficient in handling small size writes

⇒ Combination of the two different granularities for the better performance

slide4

Introduction| Goal

  • Handling both small size writes and long sequential writes efficiently while limiting the size of SRAM needed for mapping purposes
  • Guaranteeing consistency of the stored data even after unexpected power-outages
background ftl schemes
Background | FTL schemes
  • Page-level address translation
    • Page is unit of I/O
    • (+) efficient (flexible management)

(-) a large SRAM for mapping table

  • Block-level address translation
    • Block is a erase unit
    • (+) a small SRAM ⇒ low cost!

(-) less efficient (extra operation required), not guarantee consistency

  • Replacement-block scheme
    • Maintain write history between an original block and an updated block

Operation examples of various FTL design schemes

log block scheme the log block
Log Block Scheme | The Log block
  • Data blocks vs. Log blocks

※ A certain log block is dedicated to only one data block !!

log block scheme the log block7
Log Block Scheme | The Log block
  • Traces of the page updates for Block No.12 ⇒ 3 1 0 1
  • A log block is allocated from the pool of free blocks
  • Incremental updates
  • For read operation, the log blocks have to be checked!!

⇒ for more efficient checking, maintaining a page-level mapping table for each log block in SRAM

  • Can always identify the page that contains the up-to-date copy of a logical page
log block scheme merge operation
Log Block Scheme | Merge operation
  • When all the pages in the log block are consumed, reclamation process take place by merging the log block with the corresponding data block
  • Requires n-page read operations, n-page write operations and two-block erase operations (n: the number of pages per block)
  • two-block erase ⇒ produced one free block
  • Log block merge
log block scheme merge operation9
Log Block Scheme | Merge operation
  • When all the pages in a block are written sequentially starting from the first logical page to the last logical page
  • Requires n-page read operations, n-page write operations and one-block erase operations (n: the number of pages per block)
  • one-block erase ⇒ produced one free block (ideal efficiency)
  • Log block switch
log block scheme merge operation10
Log Block Scheme | Merge operation

※ Comparison of merge operations

  • Replacement block merge
  • Cleaning in a LFS
log block scheme map block
Log Block Scheme | Map block
  • merge/switch operation ⇒ the mapping of the data block is changed

(∴ Require an update to the mapping info.)

  • Map blocks (in flash memory)
    • Used to store a mapping table in dedicated blocks to enable faster startup and on-demand fetching
    • Organized at the page-level
    • Each page stores an incremental update of the mapping table
  • Map directory (in SRAM)
    • The map of the mapping table
    • Used to locate each portion of the mapping table stored in map blocks
  • Similar to the traditional two-level page table structure

(except for the out-place-update)

log block scheme map block12
Log Block Scheme | Map block
  • Mapping information managements

The updates of three mapping table entries can be performed in a single write operation to the map block

⇒ assures consistency of the mapping table even when the power goes down at an unexpected time

performance evaluation
Performance Evaluation
  • Performance metrics : the number of extra erase/write operation
performance evaluation14
Performance Evaluation
  • The x-axis : the number of extra blocks

( = the number of additional physical blocks reserved for replacement blocks, log blocks, free blocks, and map blocks)

  • The y-axis : the number of extra erase/write operations
    • the number of extra erase operations = (the number of erase operations that are performed by the scheme under evaluation) – (the number of erase operations from an ideal scheme)
      • Cf. ideal scheme : scheme that performs one erase operation for every n-page write requests
      • The main sources of extra erase operations : pages left unused, consumption of a free block
    • the number of extra write operations = (the number of write operations performed by the scheme under evaluation) – (the number of page writes requested from the host)
      • The main sources of extra write operations : the pages copied when merge/clean operations are performed
performance evaluation15
Performance Evaluation
  • Cf. wear-leveling characteristics of the log block scheme
conclusion
Conclusion

(Contribution 1) Handling both small size writes and long sequential writes efficiently while limiting the size of SRAM needed for mapping purposes

⇒ achieved by using page-level mapping in “log blocks” for small size writes, while block-level mapping for long sequential writes

(Contribution 2) Guaranteeing consistency of the stored data even after unexpected power-outages

⇒ achieved by performing updates of mapping information in a single atomic write operation in dedicated blocks, “map blocks”

references
References

[1] Mendel Rosenblum, John K. Ousterhout, “The Design and Implementation of a Log-Structured File System,” ACM Transactions on Computer Systems,1992

[2] Adam Dunkels, Niclas Finne, Joakim Eriksson, and Thiemo Voigt, “Run-Time Dynamic Linking for Reprogramming Wireless Sensor Networks,” In Proceedings of the Fourth ACM Conference on Embedded Networked Sensor Systems,2006

[3] Silberschatz, Galvin, Gagne, Operating System Concepts, Wiley