DOC PREVIEW
UW-Madison CS 736 - Flash Memory Lecture Notes

This preview shows page 1-2-3-24-25-26 out of 26 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 26 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26OutlineMotivation and backgroundRead Read “seek” timeGood sequential readWriteWrite log block (buffer)“1” !=”0”? Conclusion and future workMotivation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 OrganizationEach page: 2KB,4KBEach block: 64,128 pagesRead and WriteRead in pages ~50usWrite in pages ~800usAny write needs block erase ~1500us ......Block 0 Block 1 Block n-1Page 0Page m-1Page 3Page 2Page 1......Chip organizationOutlineMotivation and backgroundRead Read Read “seek” time.Read “seek” time.Good sequential read.Good sequential read.WriteWrite buffer size.“1” !=”0”? Conclusion and future workRead 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 1GRandom Read-- “seek” timeSequential Read –good!Sequential Read –Scale upRead –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WriteWriteWrite log block (buffer)Write log block (buffer)““1” !=”0”? 1” !=”0”? ConclusionWrite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 MergeWrite -- merge valid valid valid valid valid valid valid validData BlockLog BlockFree Data Block1.Write2.merge 2.merge3.erase3.eraseLog Block PoolRandom Write -- bad!Continuous write – great relief from eraseWrite -- 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 usageLog block -- sizeMotivationTrade off: Large merge time VS frequent mergeSize: 64 pages 128 pagesDetermine 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 1205002 120231 2 1201093 118823 3 1205751 2735 4 1193162 2691 1 1191523 2708 2 1197431 4555 3 1197082 1805 4 1184523 2942 1 1188272 1207963 1218154 120943Log 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Modified LFS Log block !=write bufferSpecial policy for frequently updated data, e.g inodesAnticipatory scheduling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 holdQ&ARandom Read-- “seek” timeRandom Read-- “seek”


View Full Document

UW-Madison CS 736 - Flash Memory Lecture Notes

Documents in this Course
Load more
Download Flash Memory Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Flash Memory Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Flash Memory Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?