220 likes | 339 Vues
Dive into the intricate world of Flash Memory SSD technology, exploring internals, performance behaviors, and system impacts. Get insights on access patterns, interference, and more through detailed experiments and analyses.
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.