Dong Hyun Kang, Changwoo Min, Young Ik Eom

Slides:



Advertisements
Similar presentations
Paper by: Yu Li, Jianliang Xu, Byron Choi, and Haibo Hu Department of Computer Science Hong Kong Baptist University Slides and Presentation By: Justin.
Advertisements

Investigating Distributed Caching Mechanisms for Hadoop Gurmeet Singh Puneet Chandra Rashid Tahir.
A New Cache Management Approach for Transaction Processing on Flash-based Database Da Zhou
Trading Flash Translation Layer For Performance and Lifetime
SYSTOR2010, Haifa Israel Optimization of LFS with Slack Space Recycling and Lazy Indirect Block Update Yongseok Oh The 3rd Annual Haifa Experimental Systems.
FlashVM: Virtual Memory Management on Flash Mohit Saxena and Michael M. Swift Introduction Flash storage is the largest change to memory and storage systems.
International Conference on Supercomputing June 12, 2009
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Memory Management – 4 Page Replacement Algorithms CS 342 – Operating Systems.
Hystor : Making the Best Use of Solid State Drivers in High Performance Storage Systems Presenter : Dong Chang.
Comparing Coordinated Garbage Collection Algorithms for Arrays of Solid-state Drives Junghee Lee, Youngjae Kim, Sarp Oral, Galen M. Shipman, David A. Dillow,
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
1| P. Dubs, I. Petrov, R. Gottstein, A. Buchmann | DVS, TU-Darmstadt | Data Management Lab, RTU | DBlab FBARC: I/O Asymmetry-Aware Buffer Replacement Strategy.
Slide 1 Windows PC Accelerators Reporter :吳柏良. Slide 2 Outline l Introduction l Windows SuperFetch l Windows ReadyBoost l Windows ReadyDrive l Conclusion.
Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives Feng Chen, David A. Koufaty, and Xiaodong Zhang.
Flash memory Yi-Chang Li
Flashing Up the Storage Layer I. Koltsidas, S. D. Viglas (U of Edinburgh), VLDB 2008 Shimin Chen Big Data Reading Group.
Origianal Work Of Hyojun Kim and Seongjun Ahn
Logging in Flash-based Database Systems Lu Zeping
Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,
Hybrid Aggregates aka “Flash Pools”. What is is An Aggregate comprised of HDs&SSDs Dedicated ssd read & write cache/buffer Fast. ;) Available in 8.1.
Buffer Management Policy
DFTL: A flash translation layer employing demand-based selective caching of page-level address mappings A. gupta, Y. Kim, B. Urgaonkar, Penn State ASPLOS.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by Chris Homan.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
Embedded System Lab. Daeyeon Son Neighbor-Cell Assisted Error Correction for MLC NAND Flash Memories Yu Cai 1, Gulay Yalcin 2, Onur Mutlu 1, Erich F. Haratsch.
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by RuBao Li, Zinan Li.
PROBLEM STATEMENT A solid-state drive (SSD) is a non-volatile storage device that uses flash memory rather than a magnetic disk to store data. SSDs provide.
Improving Disk Throughput in Data-Intensive Servers Enrique V. Carrera and Ricardo Bianchini Department of Computer Science Rutgers University.
A Semi-Preemptive Garbage Collector for Solid State Drives
ExLRU : A Unified Write Buffer Cache Management for Flash Memory EMSOFT '11 Liang Shi 1,2, Jianhua Li 1,2, Chun Jason Xue 1, Chengmo Yang 3 and Xuehai.
Energy Efficient Prefetching and Caching Athanasios E. Papathanasiou and Michael L. Scott. University of Rochester Proceedings of 2004 USENIX Annual Technical.
Katie Hintze.  A non-volatile storage device that stores digitally encoded data  Introduced in 1956  Long-term persistent storage.
Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
1 Paolo Bianco Storage Architect Sun Microsystems An overview on Hybrid Storage Technologies.
Taeho Kgil, Trevor Mudge Advanced Computer Architecture Laboratory The University of Michigan Ann Arbor, USA CASES’06.
CS 3204 Operating Systems Godmar Back Lecture 18.
Internal Parallelism of Flash Memory-Based Solid-State Drives
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
Chapter 10: Mass-Storage Systems
Improving Cache Performance using Victim Tag Stores
FlashTier: A Lightweight, Consistent and Durable Storage Cache
Jonathan Walpole Computer Science Portland State University
Understanding Modern Flash Memory Systems
Parallel-DFTL: A Flash Translation Layer that Exploits Internal Parallelism in Solid State Drives Wei Xie1 , Yong Chen1 and Philip C. Roth2 1. Texas Tech.
DuraCache: A Durable SSD cache Using MLC NAND Flash Ren-Shuo Liu, Chia-Lin Yang, Cheng-Hsuan Li, Geng-You Chen IEEE Design Automation Conference.
Dimitrios Katsaros1 Jointly with:
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
Jiang Zhou, Wei Xie, Dong Dai, and Yong Chen
File Processing : Storage Media
Lecture 11: DMBS Internals
Repairing Write Performance on Flash Devices
MQSim: A Framework for Enabling Realistic Studies of Modern Multi-Queue SSD Devices Arash Tavakkol, Juan Gómez-Luna, Mohammad Sadrosadati, Saugata Ghose,
Lecture 9: Data Storage and IO Models
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
File Processing : Storage Media
Performance metrics for caches
CDA 5155 Caches.
Qingbo Zhu, Asim Shankar and Yuanyuan Zhou
Outline Motivation and background Read Write
Tape is Dead Disk is Tape Flash is Disk RAM Locality is King
PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS
2.C Memory GCSE Computing Langley Park School for Boys.
Parallel Garbage Collection in Solid State Drives (SSDs)
Contents Memory types & memory hierarchy Virtual memory (VM)
Lecture 5 Memory and storage
Lecture 9: Caching and Demand-Paged Virtual Memory
Page Cache and Page Writeback
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Tape is Dead Disk is Tape Flash is Disk RAM Locality is King
Presentation transcript:

An Efficient Buffer Replacement Algorithm for NAND Flash Storage Devices Dong Hyun Kang, Changwoo Min, Young Ik Eom Sungkyunkwan University, Korea MASCOTS 2014

NAND Flash Storage Devices NAND flash storage devices (e.g., eMMC, microSD card, and SSD) are rapidly replacing hard disk drives (HDDs) in modern computing systems Mobile devices, laptops, and servers Technical merits No mechanical parts Low access latency Low power consumption Shock resistance Potentially uniform random access time

Two Remaining Problems As flash density increase, the lifetime rapidly decreases Single-level Cell (SLC): 100K ~ 1M Multi-level Cell (MLC): 5K ~ 10K Triple-level Cell (TLC): 1K Random writes significantly decrease performance and lifetime Random writes are several times slower than sequential writes Random writes generate more hidden writes inside NAND flash storage devices As a result, the lifetime can be significantly reduced by random write

Why Buffer Replacement Algorithm It receives I/O requests directly from applications It transforms the requests into a suitable I/O request stream for storage devices. Flash-aware buffer replacement algorithms Asymmetric read & write cost Write patterns 2005 FAB : H. Jo et al. CFLRU : S.-Y Park et al. 2006 2007 2008 BPLRU : H. Kim et al. LRU-WSR : H. Jung et al. 2009 LB-CLOCK : B. Debnath et al. 2010 FOR : Y. Lv et al. 2011 2012 2013 Sp.Clock : H. Kim et al.

What Flash-friendly Write Are Results of FTL simulator according to block utilizations for different synthetic traces If the request of the random write are same as flash block size, such write requests invalidate whole flash block inside NAND flash storage Since all pages in a flash block are invalidated together, traces with 100% block utilization have an ideal WAF with no hidden write overhead

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Overview Maximize cache hit ratio TS-CLOCK extends a well-known CLOCK replacement algorithm Consider asymmetric read and write cost TS-CLOCK prefers to evict clean pages over dirty pages Minimize hidden writes inside NAND flash storage TS-CLOCK shapes evicted dirty pages to flash-friendly write patterns TS-CLOCK can improve write performance and extend lifetime of NAND flash storage devices

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Page management All pages are managed by the basic rules of CLOCK algorithm Dirty block tree Dirty pages are managed by dirty block trees according to their logical sector number Size of dirty block tree is set to erase block size of NAND Flash storage When a page becomes a dirty page, the page is inserted its dirty block tree P P P P P P P P P T-hand P P [Dirty block 1] [Dirty block 2] P P P [Circular list] [Red-black tree]

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Reference count Each page maintains a reference count to give each page a different level of opportunity to stay in the buffer cache. Clean page The reference count of clean page is always set to 1(Second Chance) for clean-first eviction Dirty page The reference count of dirty page is differently set to its utilization of dirty block tree Pages belonging to small utilization dirty block stay longer in buffer cache. Utilization Chance 0% ~ 25% 4 (Fifth Chance) 25% ~ 50% 3 (Fourth Chance) 50% ~ 75% 2 (Third Chance) 75% ~ 100% 1 (Second Chance)

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Replacement policy If circular list is full, a victim page is selected by two hands for reclaiming a free page. Victim page selection t-hand first scans pages in a circular list and decrements its reference count by 1 for selecting a victim page Victim page eviction If a victim page is clean, it is immediately evicted from the circular list If a victim page is dirty, s-hand scans dirty pages in dirty block tree by their sector numbers until a page with reference count of 0 is found. While the s-hand scans dirty pages, it does not decrement a reference count a dirty page in dirty block tree is evicted instead of a victim page for flash-friendly write patterns A new page is inserted to the position of the t-hand

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Example for clean page eviction Time 1 Time 2 * * 67 67 31 16 53 16 * * 13 14 13 14 50 6 50 6 t-hand t-hand 65 3 65 3 * * 66 68 66 68 23 23 s-hand clean page dirty page * A reference count is zero. Legend (a) Initial stat (b) Cache miss: Page 53 If t-hand selects a clean page as the victim page, it is evicted for a new page

TS-CLOCK: Temporal and Spatial Locality-aware CLOCK Example for dirty page eviction Time 2 Time 3 * * * * 67 67 67 67 53 16 53 16 53 53 28 * * 13 14 13 14 13 16 13 16 * * 50 6 50 6 50 14 50 14 t-hand t-hand t-hand t-hand 65 3 65 3 65 6 65 6 * 66 68 68 23 3 23 3 23 23 68 68 65 65 s-hand 68 68 s-hand clean page dirty page * A reference count is zero. Legend * s-hand 66 * * 67 67 (c) Cache miss: Page 28 If t-hand selects a dirty page as the victim page, s-hand selects another dirty page in dirty block tree and the page pointed by s-hand is evicted instead of the victim page

Evaluation Setup Real-world workload Buffer replacement simulator LRU, CLOCK, Linux2Q, CFLRU, FAB, LB-CLOCK, and Sp.Clock FTL simulator Page-level FTL Hybrid FTL (FAST) Real-world workload Type Workload Read (MB) Write (MB) Write Range (MB) Mobile Video Streaming 0.2 1514.4 266.6 Mixed Applications 526.9 413.2 133.0 Server File Server 7252.8 5880.1 14568.2 TPC-C 1129.2 2357.6 15124.4

Evaluation Replaying workload NAND Flash storage devices To measure the real performance of each replacement algorithm, we replayed read/write request in the results of each replacement algorithm on real devices with the O_DIRECT option. Native Command Queuing (NCQ) is enabled. NAND Flash storage devices Storage-A Storage-B Storage-C Manufacturer Patriot Adata Samsung Type microSD card SSD Capacity 16 GB 120 GB Erase Block Size 4 MB 24 MB Flash Memory MLC TLC

Cache Hit Ratio Erase block size (4 MB) Erase block size (24 MB)

Elapsed Time Micro SD card Write pattern strongly affects performance on low-end NAND flash storage devices

Elapsed Time SSD

Lifetime FAST FTL Page-level FTL

Patterns for Results of Simulator

Conclusion Random write on NAND Flash storage devices reduce both performance and lifetime We present a novel buffer replacement algorithm It extends the CLOCK algorithm to take benefits of temporal locality It consider both asymmetric read and write cost and flash-friendly write pattern to improve write performance and extend limited lifetime We show that TS-CLOCK considerably outperforms existing flash-aware replacement schemes and prolongs the lifetime of NAND flash storage devices

Thank you! Questions?