嵌入式系统中的nandflash文件系统

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

TheIntroductiontoEmbeddedNandFlashFilesysBladebladesatan@gmail.com∼mlPoweredbyLATEXandProsper.USTCEmbeddedSystemDevelopConference2005–p.1SomethingaboutFlash!!Nor—Flash1988IntelincReplaceEPROMEEPROMXIP(executeinplace)Nand—Flash1989ToshibaincSuitableforfilestorage(512bytes/page)HighperformanceLowcostUSTCEmbeddedSystemDevelopConference2005–p.2SummaryNorNandCapacity128M1GAccessTime70ns50nsProgramSpeed4.1ms(512Byte)200μs(512Byte)Erasespeed700ms/(Blockmain64KB)2ms/(Block16KB)Prog+Erase1.23s/(Blockmain64KB)33.6ms/(64Kb)USTCEmbeddedSystemDevelopConference2005–p.3NandFlashDisadvantageBadBlockManManagementLifeTime:Nandflashtechgenerallyguarantees1000Kprogram/erasecyclesforeachphysicaleraseunitRandomBadBlockMapslogicalsectortophysicalsectorMusthaveEccsupportWearLevelingTreatmentExtendsthelifetimeofflashdevicesbecauseitensurethatevenifanapplicationwritestothesamelogicalsectoroverandoveragain,theproguam/erasecyclesaredistributedevenlyacrossthemediaUSTCEmbeddedSystemDevelopConference2005–p.4Wear-LevelingalgorithmDynamicmappingofanylogicalsectortoanyphysicalsector.Agarbagecollectionprocessforspacereclamation.Anoptimizedgarbage-collectionalgorithmtoreduceerasecycles.ExpectedLifetime=MediaSize∗NumOfEraseCycles∗0.75BytesWrittenPerDayUSTCEmbeddedSystemDevelopConference2005–p.5FlowofReadProcUSTCEmbeddedSystemDevelopConference2005–p.6FlowofProgram/EraseProcStartBlockNo=1CheckBadBlock+1BlockNo+=1checkerasedProgramEraseEndLastBlock?FailPassFailPassPassFailUSTCEmbeddedSystemDevelopConference2005–p.7FlowofRealProgPrcoUnProgProg16KBUSTCEmbeddedSystemDevelopConference2005–p.8FlowofRealProgPrcoUnProgProg16KBcopydatatomemUSTCEmbeddedSystemDevelopConference2005–p.8FlowofRealProgPrcoUnProgProg16KBEraseallBlockErasedUSTCEmbeddedSystemDevelopConference2005–p.8FlowofRealProgPrcoUnProgProg16KBErasedinjectrealprogdataUSTCEmbeddedSystemDevelopConference2005–p.8FlowofRealProgPrcoUnProgProg16KBErasedProgalldatabackUSTCEmbeddedSystemDevelopConference2005–p.8In-Place-UpdateWrite(){Ifnewwrite{allocateafreeblock;Writeoutdataintothefreeblock;}elseIn-place-update();}In-place-update(){Readalldatainthesegmentintoasystembuf;Updatedatainthesystembuf;Erasethesegment;writebackalldata;}USTCEmbeddedSystemDevelopConference2005–p.9Non-In-Place-UpdateWrite(){Ifnewwrite{Allocateafreeblock;Writeoutdataintothefreeblock;}elseNon-in-place-update();}Non-in-place-update(){Markthebosoleteblockasinvalidinper-block;Allocateafreeblock;Writeoutdataintothefreeblock;}Cleaning(){Selectavictimsegmentforcleaning;Copyoutvaliddatatoaothercleaflashmemspace;Erasethevictimsegment;}USTCEmbeddedSystemDevelopConference2005–p.10SegmentManagementFreeSegmentListActiveSegmentRead-onlysegmentListColdsegmentListHotsegmentListUSTCEmbeddedSystemDevelopConference2005–p.11CommicalProductTrueFFS!#$USTCEmbeddedSystemDevelopConference2005–p.12GPLProjectMTDCharDeviceBlockDeviceNTFLDoc2000Jffs2YaffsUSTCEmbeddedSystemDevelopConference2005–p.13Yaffs%&’’()*+,-.//01210234*+5,6USTCEmbeddedSystemDevelopConference2005–p.14EmbeddedLinuxNeedImagebootloaderkernel.imageroot.crmffile.yaffsUSTCEmbeddedSystemDevelopConference2005–p.15AcknowledgementMikefallskkqqjameszhangDjandVolunteersUSTCEmbeddedSystemDevelopConference2005–p.16Thanks!Questions?USTCEmbeddedSystemDevelopConference2005–p.17l17-1

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功