Conference

ASPLOS’09

Authors

Aayush Gupta, Youngjae Kim, Bhuvan Urgaonkar

Summary

Motivation

hybrid log-buffered FTL suffer performance degradation due to expensive full merges because of the difference in mapping granularity of data and update blocks.

A high-performance FTL should completely be re-designed by doing away with log-blocks.

DFTL

DFTL is an enhanced form of the page-level FTL scheme.

dynamically loads and unloads the page-level mappings depending on the workload access patterns.

  • Store the address translation mappings on flash data area

    segregate Data-pages (contain the real data), translation pages (store information about logical-to-physical address mapping)

  • Global Mapping Table

    The entire logical-to-physical address translation set on some logically fixed portion of flash

  • Cached Mapping Table (CMT)

    a small number of mappings can be present in SRAM

  • Global Translation Directory (GTD)

    keep track of all translation pages on flash.

    permanently maintained in the SRAM

DFTL address translation process

If the required mapping information exists in SRAM, it is serviced directly.

If not, it needs to be fetched into the CMT from flash

The eviction algorithm of CMT is the segmented LRU array cache algorithm.

If the victim is dirty, GTD is consulted to locate the victim’s translation page on flash. Then, the page is read, updated, and re-written to a new physical location.

Read/write operation

Read requests are directly serviced through flash page read operations once the address translation is completed.

For write requests, DFTL allocates the next available free page, writes to it and then updates the map entry in the CMT.

Garbage collection

GC_threshold is crossed, DFTL invokes the garbage collector.

Victim selection policy is a simple cost-benefit.

If the victim is a translation block, DFTL copies the valid pages to the Current Translation Block and update the GTD.

If the victim is a data block, DFTL copies the valid pages to the Current Data Block and update all the translation pages and CMT entries associated with these pages.

  • lazy copying

    Instead of updating the translation pages on flash, DFTL only update the CMT for those data pages

  • batch updates

    Multiple valid data pages in the victim may have their virtual-to-physical address translations present in the same translation page. DFTL combines all these modifications in to a single batch update.

FlashSim

develop a simulation framework for flash based storage systems by enhancing Disksim