Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives Feng Chen, David A. Koufaty, and Xiaodong Zhang.

Slides:



Advertisements
Similar presentations
Solid State Drive. Advantages Reliability in portable environments and no noise No moving parts Faster start up Does not need spin up Extremely low.
Advertisements

Flash storage memory and Design Trade offs for SSD performance
A New Cache Management Approach for Transaction Processing on Flash-based Database Da Zhou
Query Processing and Optimizing on SSDs Flash Group Qingling Cao
Snapshots in a Flash with ioSnap TM Sriram Subramanian, Swami Sundararaman, Nisha Talagala, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau Copyright © 2014.
Myoungsoo Jung (UT Dallas) Mahmut Kandemir (PSU)
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.
Local Filesystems (part 2) CPS210 Spring Papers  Towards Higher Disk Head Utilization: Extracting Free Bandwidth From Busy Disk Drives  Christopher.
International Conference on Supercomputing June 12, 2009
An Adaptable Benchmark for MPFS Performance Testing A Master Thesis Presentation Yubing Wang Advisor: Prof. Mark Claypool.
Gordon: Using Flash Memory to Build Fast, Power-efficient Clusters for Data-intensive Applications A. Caulfield, L. Grupp, S. Swanson, UCSD, ASPLOS’09.
Introduction to Database Systems 1 The Storage Hierarchy and Magnetic Disks Storage Technology: Topic 1.
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,
RAID-x: A New Distributed Disk Array for I/O-Centric Cluster Computing Kai Hwang, Hai Jin, and Roy Ho.
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
Slide 1 Windows PC Accelerators Reporter :吳柏良. Slide 2 Outline l Introduction l Windows SuperFetch l Windows ReadyBoost l Windows ReadyDrive l Conclusion.
DISKS IS421. DISK  A disk consists of Read/write head, and arm  A platter is divided into Tracks and sector  The R/W heads can R/W at the same time.
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
Data Storage Systems: A Survey Abdullah Aldhamin July 29, 2013 CMPT 880: Large-Scale Multimedia Systems and Cloud Computing Course Project.
The Memory Hierarchy 21/05/2009Lecture 32_CA&O_Engr Umbreen Sabir.
Company name KUAS HPDS dRamDisk: Efficient RAM Sharing on a Commodity Cluster Vassil Roussev, Golden G. Richard Reporter :
A Case for Flash Memory SSD in Enterprise Database Applications Authors: Sang-Won Lee, Bongki Moon, Chanik Park, Jae-Myung Kim, Sang-Woo Kim Published.
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
Resolving Journaling of Journal Anomaly in Android I/O: Multi-Version B-tree with Lazy Split Wook-Hee Kim 1, Beomseok Nam 1, Dongil Park 2, Youjip Won.
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:
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
Eric Burgener VP, Product Management A New Approach to Storage in Virtual Environments March 2012.
Wei-Shen, Hsu 2013 IEE5011 –Autumn 2013 Memory Systems Solid State Drive with Flash Memory Wei-Shen, Hsu Department of Electronics Engineering National.
Chapter 8 External Storage. Primary vs. Secondary Storage Primary storage: Main memory (RAM) Secondary Storage: Peripheral devices  Disk drives  Tape.
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.
Introduction: Memory Management 2 Ideally programmers want memory that is large fast non volatile Memory hierarchy small amount of fast, expensive memory.
A Semi-Preemptive Garbage Collector for Solid State Drives
연세대학교 Yonsei University Data Processing Systems for Solid State Drive Yonsei University Mincheol Shin
CS 101 – Sept. 28 Main vs. secondary memory Examples of secondary storage –Disk (direct access) Various types Disk geometry –Flash memory (random access)
DMBS Internals I. What Should a DBMS Do? Store large amounts of data Process queries efficiently Allow multiple users to access the database concurrently.
Embedded System Lab. 정영진 The Design and Implementation of a Log-Structured File System Mendel Rosenblum and John K. Ousterhout ACM Transactions.
MEMS and Caching for File Systems Andy Wang COP 5611 Advanced Operating Systems.
PARALLEL DATA LABORATORY Carnegie Mellon University A framework for implementing IO-bound maintenance applications Eno Thereska.
Transactional Flash V. Prabhakaran, T. L. Rodeheffer, L. Zhou (MSR, Silicon Valley), OSDI 2008 Shimin Chen Big Data Reading Group.
LIOProf: Exposing Lustre File System Behavior for I/O Middleware
1 Lecture 16: Data Storage Wednesday, November 6, 2006.
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
Rethinking RAID for SSD based HPC Systems Yugendra R. Guvvala, Yong Chen, and Yu Zhuang Department of Computer Science, Texas Tech University, Lubbock,
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.
CPSC 426: Building Decentralized Systems Persistence
Internal Parallelism of Flash Memory-Based Solid-State Drives
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
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.
CS 105 Tour of the Black Holes of Computing
An Adaptive Data Separation Aware FTL for Improving the Garbage Collection Efficiency of Solid State Drives Wei Xie and Yong Chen Texas Tech University.
Operating Systems ECE344 Lecture 11: SSD Ding Yuan
Jiang Zhou, Wei Xie, Dong Dai, and Yong Chen
Lecture 11: DMBS Internals
Repairing Write Performance on Flash Devices
COS 518: Advanced Computer Systems Lecture 8 Michael Freedman
CS 105 Tour of the Black Holes of Computing
PARAMETER-AWARE I/O MANAGEMENT FOR SOLID STATE DISKS
Parallel Garbage Collection in Solid State Drives (SSDs)
COS 518: Advanced Computer Systems Lecture 9 Michael Freedman
Dong Hyun Kang, Changwoo Min, Young Ik Eom
Design Tradeoffs for SSD Performance
The Design and Implementation of a Log-Structured File System
Presentation transcript:

Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives Feng Chen, David A. Koufaty, and Xiaodong Zhang 2009 ACM SIGMETRICS/Performance Embedded Lab. Kim Sewoog

Motivation Solid State Drive(SSD) “pivotal technology” http://www.youtube.com/watch?v=96dWOEa4Djs http://www.youtube.com/watch?v=pJMGAdpCLVg&feature=fvw HDD SSD

< SSD Block Diagram > SSD Internals Array of flash memory packages Flash Translation Layer(FTL) in the SSD controller Hybrid mapping, Over-Provisioning, Using the original host interface(SATA) for compatibility Interleaving, DMA for data processing, low power comsumption, etc… < SSD Block Diagram >

Belief and betrayal of SSD The common belief Accesses to SSD are uncorrelated with access patterns! Betrayal Unexpected performance issues Uncertain behavior SSD is not just another ‘faster’ disk! We need to understand intrinsic limits unexpected performance behavior

Experiments and analysis 7 questions Access Patterns of workloads Random writes Caching for optimizing performance Interference between read and write operations Background operation effects Internal fragmentation System implications

Measurement environment Solid State Drives Experiment System DellTM PowerEdgeTM 1900 server Benchmarks Intel® Open Storage Toolkit : generate various types of I/O workloads blktrace / blkparse : trace and parse I/O activities (completion event)

General Tests Bandwidths 4 distinct workloads : Random/Sequential Read/Write Random workload : 4KB request size, 1024MB storage space Sequential workload : 256KB request size 32 parallel jobs, direct I/O, 30 seconds Comparison with harddisk (WD1600JS)

Micro-benchmark Workloads Various combinations of factors 3 access patterns : Sequential / Random / Stride 10 seconds running, one job, synchronous I/O Full utilization for initialization (using 256KB sequential write)

Distribution of access latencies Read operations on the SSD SSD-L : uniform distribution of latencies SSD-M/H : non-uniform distribution of latencies Reason : specification a readahead mechanism multi-plane operations interleaving 65% 65%

Distribution of access latencies Write operations on the SSD SSD-L : non-uniform distribution of latencies SSD-M/H : uniform distribution of latencies Independent of workload access patterns 88% over 90%

Distribution of access latencies Sequential vs. non-sequential writes on SSD-L (seems to) use a small buffer Sequential write : stripped Non-sequential write : no-stripped 64 requests initiate the prog. process & write data into flash memory in parallel from buffer to register from host to buffer

Disk cache effect of SSDs Large RAM cache(disk cache) Using hdparm tool to enable and disable the disk cache Disk cache off : increase of latencies both SSD-M/H Performance comparision between SSD-M/H without disk cache SSD-H is good performance -> SLC

Interference between read/write operations Writes : high-cost internal operations Cleaning and asynchronous write-back of dirty data from the disk cache Negatively affect foreground read operations Reads : competition for buffer space with writes Break sequential patterns 4 workload patterns Read(n) + Write(n) Write(n) + Read(n) Read(n) + Write(n+1) Read(n) + Write(n+4MB) only non-sequential pattern simultaneously, sequential pattern

Interference between read/write operations SSD-L Substantial degradation SSD-L optimizes performance for sequential writes Non-sequential write Non-shared buffer

Interference between read/write operations SSD-M/H readahead effect random read latency asynchronous write-back

Background operation effects Writes lead almost background operations Sequential workload using request size of 4KB Request type : random (50% write requests) interval time : 10ms disk cache Background operations are completed during the idle periods !

16MB: individual mapping unit Workload randomness effects Randomness effects (only SSD-L) Random write : random range from 1GB to 30GB Stride write : stride step from 4KB to 128MB Request size : 4KB 16MB: individual mapping unit metadata synchronization log block merging

Internal fragmentation Invalid pages in flash memory blocks Cleaning efficiency : block num x valid page num - read/write, block num - erase Non-continuous physical pages : readahead mechanism is not effective Over-provisioning (25% of the SSD capacity) No readahead effect

Conclusion Many well understood features of SSDs Many unexpected performance issues Access Patterns of workloads Random writes Caching for optimizing performance Interference between read and write operations Background operation effects Internal fragmentation System implications

Reference N. Agrawal, V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, and R. Panigrahy. “Design tradeoffs for SSD performance”, In Proc. of USENIX’08, 2008. Blktrace. http://linux.die.net/man/8/blktrace. S. Lee, D. Park, T. Chung, D. Lee, S. Park, and H. Song. “A log buffer based flash translation layer using fully associative sector translation”. In IEEE Tran. on Embedded Computing Systems, 2007. M. Mesnier. Intel open storage toolkit. http://www.sourceforge.org/projects/intel-iscsi. V. Prabhakaran, T. L. Rodeheffeer, and L. Zhou. “Transactional flash.” In Proc. of OSDI’08, 2008.

Thank you !