Intel®FlashFileSystemCoreReferenceGuideVersion1October2004304436-0012Intel®FlashFileSystemCoreReferenceGuideThisIntel®FlashFileSystemCoreReferenceGuide,version6aswellasthesoftwaredescribedinitisfurnishedunderlicenseandmayonlybeusedorcopiedinaccordancewiththetermsofthelicense.Theinformationinthismanualisfurnishedforinformationaluseonly,issubjecttochangewithoutnotice,andshouldnotbeconstruedasacommitmentbyIntelCorporation.IntelCorporationassumesnoresponsibilityorliabilityforanyerrorsorinaccuraciesthatmayappearinthisdocumentoranysoftwarethatmaybeprovidedinassociationwiththisdocument.Exceptaspermittedbysuchlicense,nopartofthisdocumentmaybereproduced,storedinaretrievalsystem,ortransmittedinanyformorbyanymeanswithouttheexpresswrittenconsentofIntelCorporation.ContactyourlocalIntelsalesofficeoryourdistributortoobtainthelatestspecificationsandbeforeplacingyourproductorder.Copiesofdocumentswhichhaveanorderingnumberandarereferencedinthisdocument,orotherIntelliteraturemaybeobtainedbycalling1-800-548-4725orbyvisitingIntel'swebsiteat©IntelCorporation,2004.*OthernamesandbrandsmaybeclaimedasthepropertyofothersIntel®FlashFileSystemCoreReferenceGuide3ContentsContents1Intel®FlashFileSystemCoreIntroduction.................................................................................91.1WhereDoIStart?.................................................................................................................91.2DocumentPurposeandScope.............................................................................................91.3Terminology........................................................................................................................102Architecture.................................................................................................................................112.1ArchitectureModel..............................................................................................................112.2TheoryofOperation............................................................................................................122.3SystemOverview................................................................................................................132.3.1Real-TimeOperatingSystem(RTOS)WrapperInterface.....................................132.3.2FlashFileSystemCoreComponents....................................................................132.3.2.1FileSystemLayer..................................................................................132.3.2.2DataObjectsLayer................................................................................132.3.2.3TheBasicAllocationLayer....................................................................132.3.2.4ReclaimModule.....................................................................................142.3.2.5FlashInterfaceLayer.............................................................................142.3.3Low-LevelLayer....................................................................................................142.4DataFlow............................................................................................................................142.5PowerLossRecovery(PLR)..............................................................................................172.5.1PLRStatusDefinitions...........................................................................................172.5.2InitializationforPLR...............................................................................................182.5.2.1PLRTestingStrategy.............................................................................192.6ArchitectureBenefits...........................................................................................................192.6.1Performance..........................................................................................................192.6.2Transactions..........................................................................................................192.6.3PortabilityandOperatingSystemSupport.............................................................193FileSystemLayer........................................................................................................................213.1Functionality........................................................................................................................223.2OtherComponentDependency/Inter-Relationship.............................................................223.3RequirementsandConstraints...........................................................................................224FileSystemAPIReference.........................................................................................................234.1FS_CheckFileExists............................................................................................................244.2FS_CheckFileOpen................................................