WARCIP: W : Write A Ampli lific ication Reduction b by C Clus ustering I I/O Pages Jing Yang , Shuyi Pei and Qing Yang Dept. of Electrical, Computer, and Biomedical Engineering, University of Rhode Island Kingston, RI, USA 02881 Shenzhen DAPU Microelectronics Co., Ltd Shenzhen, China { jyang ,spei,qyang}@ele.uri.edu
Garbage Collection Overheads Valid page migration Different Valid Valid Lifetime Invalid Valid Valid free Invalid free GC candidate block GC appending point (open block) • Drags down I/O performance • Consumes a significant amount of back-end bandwidth of SSDs • Reduces SSD’s endurance • Valid page migration causes extra writes to NAND flashes
Garbage Collection Overheads (cont.) > Lifetime Block 1 Block 2 Block 1 Block 2 No page needs Time to be moved GC a b Two valid pages need to be moved out WA can be reduced by minimizing lifetime variance of pages in a flash block.
Existing Solutions Mixed in the same erase unit SSD App 1 • Traditional SSD only has one or two appending points App 2 Open Block … • Pages with various lifetimes are mixed App n in the same erase unit SSD • Multi-stream SSD has multiple appending points Open Block 1 App 1 • Data from different streams are Open Block 2 physically separated to different App 2 blocks Open Block 3 … • Less lifetime variance in a flash block … App n • Reduce write amplification Open Block n Separate in different erase unit Write request
Challenges in Stream Management … … VM 1 VM 2 VM 30 Require application or system modification OS Changing workloads s1 s2s3s4s5 s6s7 s8 Limited stream number Multi-stream SSD
Challenges in stream management (cont.) … … VM 1 VM 2 VM 30 OS s1 s2s3s4s5 s6s7 s8 Treat SSD as a black box O O O O O Multi-stream SSD Multi-stream SSD B B B B B
WARCIP: Write Amplification Reduction by Clustering I/O Pages • Minimize rewrite interval (RWI) variance of pages in a flash block • Learn current I/O patterns to fine-tune its clustering activities • Device-side data clustering solution
Greedy Clustering Timestamp Table OB1 Avg RWI Open Block 1 OB2 Avg RWI Open Block 2 OB3 Avg RWI OB3 Avg RWI OB4 Avg RWI Page A Open Block 3 Page A RWI OB5 Avg RWI … OB6 Avg RWI OB7 Avg RWI Open Block 8 OB8 Avg RWI
Dynamic Split-and-Merge Split Merge 0 5 2 1 0 1 3 2 3 0 0 2 3 1 1 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Open Blocks Open Blocks Open Blocks Open Blocks
Feedback • Collect valid pages’ information during GC • Double the recorded rewrite interval of each valid page Timestamp Table a b Page a Page b
SSD Write Amplification Improvement
SSD Erasure Count Reduction
SSD Throughput Fewer page migrations Changed write pattern release backend bandwidth causes more WA Self-adaptive to new pattern
Conclus usions ns • We proposed WARCIP, a new approach to minimize the negative impact of garbage collection on SSD • WARCIP groups pages into a block according to their rewrite intervals to reduce write amplification caused by page migrations • Self-optimizing and adaptive to new I/O patterns • Future work • Wear leveling
Recommend
More recommend