Flash存储文件管理方法

文档序号:6497174阅读:2148来源:国知局
专利名称:Flash存储文件管理方法
技术领域
本发明涉及存储器管理方法,尤其涉及一种FLASH(闪速电可擦除可编程只读存储器)存储文件管理方法。
而该方法存在以下不足(1)程序员在编写FLASH管理软件代码之前必须事先知道要存储的文件数目,以决定将FLASH分为几个区域,不利于产品在应用中存储数目不定的文件,如果要存储的文件数目比分区数目多,就必须重新修改代码,升级软件。(2)程序员在编写FLASH管理软件代码之前必须事先估计要存储的每个文件的大小,以决定为该文件分配多大的FLASH区域,如果要存储的文件大小比预留的区域大,则该文件将无法正确存储,还干扰临近区域的文件存储。(3)由于预先估计的文件大小不准确,或遇文件修改,极有可能给一个本来很小的文件分配一个较大的存储区域,造成存储空间的浪费。
为达到上述目的,本发明采用的技术方案是首先,将FLASH存储空间分为文件索引区和文件数据存储区两个区域,文件索引区用于记录文件目录和基本分配单元“块”的分配信息,文件数据存储区用于存储文件的具体内容;文件写入的操作包括以下步骤A1、搜索第一个空块作为起始块;A2、将文件数据写入块中;A3、检查文件是否全部写完,如果是,结束写入操作;如果否,执行步骤A4;A4、搜索下一个空块,并在“块”的分配信息中记录“块”的链接顺序,后转步骤A2;文件读出的操作包括以下步骤B1、从文件目录中得到起始块;B2、读文件数据;B3、从“块”的分配信息中找到下一块;B4、如果未到达文件最后一块,重复执行步骤B2至B4;文件擦除的操作包括以下步骤
C1、从文件目录中得到起始块;C2、擦除文件数据;C3、从“块”的分配信息中找到下一块;C4、如果未到达文件最后一块,重复执行步骤C2至C4。
由于采用以上技术方案,使FLASH空间在使用时依文件数量和长度动态分配,改变了现有技术中静态分配、固定使用而带来的不足,对资源的利用更加合理;调整文件数目或改变文件大小时无需修改代码、升级软件,使用灵活方便且节省存储空间。
参照图2,文件索引区可进一步分为分两段,即文件目录段1和“块”表段2。文件目录段1记录FLASH中现存文件的目录,每条文件目录可包含文件名、起始块号、文件长度和文件状态信息,还可以包括文件版本、作者、时间等其他属性。“块”表段2记录“块”的分配信息和每个文件所占用块的信息。
对FLASH存储空间进行上述划分之后,即可按本发明方法执行文件的写入、读出和擦除操作。
图3所示为文件写入FLASH的一种实施方式,程序先检查对于该文件是否有足够的存储空间,如果有,继续步骤A1;如果无,则返回空间不够的信息后结束。步骤A1是搜索第一个空块作为起始块;随后检查文件目录是否成功写入文件目录段1,如果是,则将当前块的占用状态置为占用,并继续步骤A2;如果否,返回相应信息后结束;步骤A2是将文件数据写入块中,此后,程序检查文件数据写入是否成功,如果否,返回相应信息后结束;如果是,执行步骤A3,检查文件是否全部写完,如果是,结束写入操作;如果否,执行步骤A4;步骤A4搜索下一个空块,并在“块”的分配信息中记录“块”的链接顺序,后转步骤A2;图2中所示的“块”的分配信息包括本块块号、占用状态、下一块块号,按这种实施方式步骤A4所述记录“块”的链接顺序即对被占用各块的本块块号和下一块块号作记录。在图3所示的实施方式中,“块”使用状态信息包括占用状态和用于指向下一块的链表指针,步骤A4所述记录“块”的链接顺序是将被占用块号写入其前一块的链表指针位置。在本实施方式结束写入操作时在链表中写入文件尾标志,重置文件状态。
图4所示为从FLASH读出文件的一种实施方式,首先执行步骤B1从文件目录中得到起始块;再执行步骤B2,读文件数据,随后检查读文件数据块是否成功,如果否,返回相应信息后结束;如果是,继续步骤B3,从“块”的分配信息中找到下一块;再执行步骤B4,检查是否到达文件最后,具体实施中可以是检查链表指针是否指向尾标志,如果是,结束读出文件的操作,如果否,返回至步骤B2,步骤B4的作用是如果未到达文件最后一块,重复执行步骤B2至B4。
图5所示为从FLASH擦除文件的一种实施方式,首先执行步骤C1从文件目录中得到起始块;再执行步骤C2,擦除文件数据,随后检查擦除文件数据块是否成功,如果否,返回相应信息后结束;如果是,将块占用状态置为数据已擦,再继续步骤C3,从“块”的分配信息中找到下一块;再执行步骤C4,检查是否到达文件最后,具体实施中可以是检查链表指针是否指向尾标志,如果是,结束擦除文件的操作,如果否,返回至步骤C2,步骤C4的作用是如果未到达文件最后一块,重复执行步骤C2至C4。在本实施方式结束擦除操作时,置文件状态为数据已擦。
本发明方法中所述基本分配单元“块”的长度也可以由用户自定义,根据使用情况精确定义可使空间利用率提高。
权利要求
1.一种FLASH存储文件管理方法,其特征在于将FLASH存储空间分为文件索引区和文件数据存储区两个区域,文件索引区用于记录文件目录和基本分配单元“块”的分配信息,文件数据存储区用于存储文件的具体内容;文件写入的操作包括以下步骤A1、搜索第一个空块作为起始块;A2、将文件数据写入块中;A3、检查文件是否全部写完,如果是,结束写入操作;如果否,执行步骤A4;A4、搜索下一个空块,并在“块”的分配信息中记录“块”的链接顺序,后转步骤A2;文件读出的操作包括以下步骤B1、从文件目录中得到起始块;B2、读文件数据;B3、从“块”的分配信息中找到下一块;B4、如果未到达文件最后一块,重复执行步骤B2至B4;文件擦除的操作包括以下步骤C1、从文件目录中得到起始块;C2、擦除文件数据;C3、从“块”的分配信息中找到下一块;C4、如果未到达文件最后一块,重复执行步骤C2至C4。
2.如权利要求1所述的FLASH存储文件管理方法,其特征在于所述文件目录包括文件名、存储起始块号、文件长度、文件状态。
3.如权利要求1所述的FLASH存储文件管理方法,其特征在于所述“块”的分配信息包括本块块号、占用状态、下一块块号;步骤A4所述记录“块”的链接顺序即对被占用各块的本块块号和下一块块号作记录。
4.如权利要求1所述的FLASH存储文件管理方法,其特征在于所述“块”的分配信息包括占用状态和用于指向下一块的链表指针;步骤A4所述记录“块”的链接顺序是将被占用块号写入其前一块的链表指针位置。
5.如权利要求1所述的FLASH存储文件管理方法,其特征在于所述基本分配单元“块”的长度由用户自定义。
全文摘要
本发明公开了一种FLASH存储文件管理方法,首先,将FLASH分为由基本分配单元“块”组成的用于存储文件具体内容的文件数据存储区和用于记录文件目录和“块”的分配信息的文件索引区;在此划分的基础上进行文件写入、文件读出和文件擦除的操作使FLASH空间在使用时依文件数量和长度动态分配,对资源的利用更加合理,调整文件数目或改变文件大小时无需修改代码、升级软件,使用灵活方便且节省存储空间。
文档编号G06F12/06GK1405683SQ01142240
公开日2003年3月26日 申请日期2001年9月18日 优先权日2001年9月18日
发明者辜明君, 阳向前, 仇建斌 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1