Efficient Identification of Hot Data  for Flash Memory Storage Systems ACM Transaction on storage, Feb. 2006  JenWei Hsieh...
Hot data <ul><li>Frequently access data. </li></ul><ul><li>Usages  </li></ul><ul><ul><ul><ul><ul><li>- garbage collection ...
<ul><li>A Multihash-Function Framework </li></ul><ul><ul><li>- use  independent multiple hash functions </li></ul></ul><ul...
<ul><li>Garbage collection </li></ul><ul><li>Wear leveling </li></ul><ul><li>Physical/logical mapping </li></ul><ul><li>lo...
The count updating of an LBA Hot data identifier FTL block write ( LBA , size )  from File System x Logical Block  Address...
The count updating of an LBA <ul><li>Freeze a counter   </li></ul><ul><li>once it reaches the maximum </li></ul><ul><li>po...
The hot data identification of an LBA Hot data identifier FTL x Logical Block  Address  x f 1 ( x ) f 2 ( x ) f 3 ( x ) f ...
Experimental setup <ul><li>A Multihash-Function Framework setup </li></ul><ul><li>-  The number of hash functions: 2   (th...
The locality in data access <ul><li>Direct address method </li></ul><ul><li>No false hot data identification </li></ul><ul...
Performance Evaluation <ul><li>Hash table size   vs   False Identification </li></ul><ul><li>basic: multi-hash function fr...
Performance Evaluation <ul><li>Decay period  (setup: 5117 writes) </li></ul>6396 writes
Performance Evaluation <ul><li>Runtime Overheads  </li></ul>CPU Cycles per Operation (Unit: CPU Cycles) The runtime overhe...
Two – level LRU <ul><li>Two-level LRU: hot data 512, candidate data 1024 nodes </li></ul>
Thank you!
Upcoming SlideShare
Loading in …5
×

Efficient Identification of Hot Data for Flash Memory Storage ...

485 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
485
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Efficient Identification of Hot Data for Flash Memory Storage ...

  1. 1. Efficient Identification of Hot Data for Flash Memory Storage Systems ACM Transaction on storage, Feb. 2006 JenWei Hsieh (National Taiwan University), LiPin Chang (National Chiao-Tung University), and TeiWei Kuo (National Taiwan University) Speaker: Soyoon Lee
  2. 2. Hot data <ul><li>Frequently access data. </li></ul><ul><li>Usages </li></ul><ul><ul><ul><ul><ul><li>- garbage collection </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>- performance of the flash memory access </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>- longer lifetime (  wear leveling) </li></ul></ul></ul></ul></ul>
  3. 3. <ul><li>A Multihash-Function Framework </li></ul><ul><ul><li>- use independent multiple hash functions </li></ul></ul><ul><li>- reduce the chances of false identification of hot data </li></ul><ul><li>- on-line </li></ul><ul><li>- provide excellent performance </li></ul><ul><li>- reduce the hash table space </li></ul>Highly Efficient Method On-line Hot Data Identification! non hot data  hot data
  4. 4. <ul><li>Garbage collection </li></ul><ul><li>Wear leveling </li></ul><ul><li>Physical/logical mapping </li></ul><ul><li>lower level functionalities </li></ul><ul><li>read/ write/ erase </li></ul>
  5. 5. The count updating of an LBA Hot data identifier FTL block write ( LBA , size ) from File System x Logical Block Address x f 1 ( x ) f 2 ( x ) f 3 ( x ) f 4 ( x ) K -dimensional Hashing Table Hash Functions H Most Significant Bits +1 +1 +1 +1 y +1
  6. 6. The count updating of an LBA <ul><li>Freeze a counter </li></ul><ul><li>once it reaches the maximum </li></ul><ul><li>positive values </li></ul><ul><li>Right-shift all counters for 1 bit </li></ul><ul><li>whenever any counter </li></ul><ul><li>is overflowed </li></ul><ul><li>Exponential decaying </li></ul><ul><li>When? </li></ul><ul><li>: per decay period </li></ul><ul><li>How? </li></ul><ul><li>: the values of all counters </li></ul><ul><li>divided by two </li></ul><ul><li> Right-shift all counters </li></ul>Count Overflow Decaying of count
  7. 7. The hot data identification of an LBA Hot data identifier FTL x Logical Block Address x f 1 ( x ) f 2 ( x ) f 3 ( x ) f 4 ( x ) K -dimensional Hashing Table Hash Functions H Most Significant Bits block write ( LBA , size ) from File System Hot data  H MSB of every counter of hashed values contain a nonzero bit value X is not hot data
  8. 8. Experimental setup <ul><li>A Multihash-Function Framework setup </li></ul><ul><li>- The number of hash functions: 2 (the division method, the multiplication method) </li></ul><ul><li>- Each counter for a hash table entry: 4 bits </li></ul><ul><li>- hash table size: 1~8 KB </li></ul><ul><li>Flash memory size: 512MB </li></ul><ul><li>Traces of data access: the Hard disk of a mobile PC </li></ul><ul><li>(a 20GB hard disk, 384MB RAM, Intel Pentium-III 800MHz) </li></ul><ul><li>Comparison method </li></ul><ul><ul><li>- direct address method </li></ul></ul><ul><ul><li>* M.L Chiang, C.H. Paul, and R.C. Chang, “Manage flash memory in personal communicate devices,” Proceedings of International Symposium on Consumer Electronics,1997. </li></ul></ul><ul><ul><li>- two-level LRU </li></ul></ul><ul><ul><li>* CHANG,L.P. AND KUO, T. W. “An adaptive striping architecture for flash memory storage systems of embedded systems. In Proceedings of the 8 th IEEE Real-Time and Embedded Technology and Applications Symposium, 2002. </li></ul></ul>
  9. 9. The locality in data access <ul><li>Direct address method </li></ul><ul><li>No false hot data identification </li></ul><ul><li>Decay period: 5117 writes </li></ul><ul><li>hot data threshold on the number of writes to an LBA: 4 </li></ul>
  10. 10. Performance Evaluation <ul><li>Hash table size vs False Identification </li></ul><ul><li>basic: multi-hash function framework </li></ul><ul><li>enhanced: the framework with an enhanced counter update policy </li></ul>512 flash memory, 2KB hash table  0.871% !! 1 KB: basic 1 KB: enhanced 2 KB : basic 2KB enhanced, 4KB basic, 8 KB enhanced
  11. 11. Performance Evaluation <ul><li>Decay period (setup: 5117 writes) </li></ul>6396 writes
  12. 12. Performance Evaluation <ul><li>Runtime Overheads </li></ul>CPU Cycles per Operation (Unit: CPU Cycles) The runtime overheads on the maintenance of the hash table (i.e., the decay process) is also limited (e.g.,3,565 CPU cycles per 5,117 writes over 512MB flash memory).
  13. 13. Two – level LRU <ul><li>Two-level LRU: hot data 512, candidate data 1024 nodes </li></ul>
  14. 14. Thank you!

×