Outline Motivation and background Read Read seek time Good sequential read Write Write log block buffer 1 0 Conclusion and future work Motivation Era for Flash Nice properties Fast random access Shock Temperature resistance Smaller size and weight Energy saving Reducing price increasing volume We only get BLACK BOX Industry company may not tell No systematic performance study literature Flash Memory Page 0 Organization Each page 2KB 4KB Each block 64 128 pages Page 1 Page 2 Block 0 Block 1 Page 3 Block n 1 Page m 1 Chip organization Read and Write Read in pages 50us Write in pages 800us Any write needs block erase 1500us Outline Motivation and background Read Read seek time Good sequential read Write Write buffer size 1 0 Conclusion and future work Read Assumptions and basic knowledge Uniform random read time Good sequential read performance Experiments Setup Fedora Core 7 0 1GHZ CPU 1G Memory Flash memory I Kingston DataTraveler 1G II PNY Attach 2G III Unknown 1G Random Read seek time Sequential Read good Sequential Read Scale up Read what we can do Technology aware FS Block group VS Cylinder group To Group files Random read is good but not perfect To decrement random accesses Outline Motivation and background Read Read seek time Good sequential read Write Write log block buffer 1 0 Conclusion Write Assumptions and basic knowledge Bad random write performance Needs block erase 1 page block erase Good sequential write performance Limited block erase times 64 pages block erase Reason Log buffer and Merge Write merge 1 Write valid valid valid 2 merge 2 merge valid valid valid valid valid Data Block Free Data Block Log Block Log Block Pool 3 erase 3 erase Random Write bad Continuous write great relief from erase Write log block What is it Flash block as write buffer Correspond to one flash block at one time Why is it used Hard disk clustering writes save redundant Flash disk reduce erase times Interesting Log block size and usage Log block size Motivation Trade off Large merge time VS frequent merge Size 64 pages 128 pages Determine size of Log block pool Repeat writing one page into set of continuous flash blocks sequentially Check the time cost Block Time us Block Time us 1 120161 1 120500 2 120231 2 120109 3 118823 3 120575 1 2735 4 119316 2 2691 1 119152 3 2708 2 119743 1 4555 3 119708 2 1805 4 118452 3 2942 1 118827 2 120796 3 121815 4 120943 Log block pool Use Strategy Log block pool use FIFO to reclaim used blocks Repeatedly writing less than 16 pages into one flash block does not trigger data merge 0 1 How about 50 Write what we can do New file system for flash Special policy for frequently updated data e g inodes Anticipatory scheduling Modified LFS Log block write buffer More flexible Directly execute any write request in one data block associated with log block Flip 1 to 0 0 to 1 may save time attributed to Remzi Conclusion Comprehensive study of the read and write performance of flash memory Design a relatively systematic method to study the flash memory as a black box Find some interesting and potentially useful properties e g 1 0 seek time Apply similar performance study strategy to SSD and check whether the properties still hold Q A Random Read seek time Random Read seek time
View Full Document
Unlocking...