220 likes | 335 Views
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”
E N D
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 from buffer to register initiate the prog. process & write data into flash memory in parallel 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 random read latency asynchronouswrite-back readahead effect
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 !
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 • 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.