CN1204501C - Flash存储文件管理方法 - Google Patents

Flash存储文件管理方法 Download PDF

Info

Publication number
CN1204501C
CN1204501C CN 01142240 CN01142240A CN1204501C CN 1204501 C CN1204501 C CN 1204501C CN 01142240 CN01142240 CN 01142240 CN 01142240 A CN01142240 A CN 01142240A CN 1204501 C CN1204501 C CN 1204501C
Authority
CN
China
Prior art keywords
file
piece
steps
management method
flash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN 01142240
Other languages
English (en)
Other versions
CN1405683A (zh
Inventor
辜明君
阳向前
仇建斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 01142240 priority Critical patent/CN1204501C/zh
Publication of CN1405683A publication Critical patent/CN1405683A/zh
Application granted granted Critical
Publication of CN1204501C publication Critical patent/CN1204501C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种FLASH存储文件管理方法,首先,将FLASH分为由基本分配单元“块”组成的用于存储文件具体内容的文件数据存储区和用于记录文件目录和“块”的分配信息的文件索引区;在此划分的基础上进行文件写入、文件读出和文件擦除的操作使FLASH空间在使用时依文件数量和长度动态分配,对资源的利用更加合理,调整文件数目或改变文件大小时无需修改代码、升级软件,使用灵活方便且节省存储空间。

Description

FLASH存储文件管理方法
技术领域
本发明涉及存储器管理方法,尤其涉及一种FLASH(闪速电可擦除可编程只读存储器)存储文件管理方法。
背景技术
一块FLASH芯片存储容量是固定的,为存储不同的数据文件,现有的技术一般采取如下的管理方法,先根据FLASH容量、文件数目和大小将FLASH固定划分为几个存储区域,例如,要存储大小不同的5个文件,就先将FLASH分为大小不等的五个区域,再对每个文件对应的起始地址分别加以记录。以上的各区域容量大小和起始地址等数据都以常数形式写入程序代码中,当需要对某文件进行读、写、擦除等操作时先查到它对应的起始地址和区域大小,然后到该地址进行数据读、写、擦除等操作。该方案简单、容易实现,现有产品的FLASH管理基本上都是采用上述方法。
而该方法存在以下不足:(1)程序员在编写FLASH管理软件代码之前必须事先知道要存储的文件数目,以决定将FLASH分为几个区域,不利于产品在应用中存储数目不定的文件,如果要存储的文件数目比分区数目多,就必须重新修改代码,升级软件。(2)程序员在编写FLASH管理软件代码之前必须事先估计要存储的每个文件的大小,以决定为该文件分配多大的FLASH区域,如果要存储的文件大小比预留的区域大,则该文件将无法正确存储,还干扰临近区域的文件存储。
(3)由于预先估计的文件大小不准确,或遇文件修改,极有可能给一个本来很小的文件分配一个较大的存储区域,造成存储空间的浪费。
发明内容
本发明的目的在于提供一种分配合理、使用灵活且节省存储空间的FLASH存储文件管理方法。
为达到上述目的,本发明采用的技术方案是:首先,将FLASH存储空间分为文件索引区和文件数据存储区两个区域,文件索引区用于记录文件目录和基本分配单元“块”的分配信息,文件数据存储区用于存储文件的具体内容;
文件写入的操作包括以下步骤:
A1、搜索第一个空块作为起始块;
A2、将文件数据写入块中;
A3、检查文件是否全部写完,如果是,结束写入操作;如果否,执行步骤A4;
A4、搜索下一个空块,并在“块”的分配信息中记录“块”的链接顺序,后转步骤A2;
文件读出的操作包括以下步骤:
B1、从文件目录中得到起始块;
B2、读文件数据;
B3、从“块”的分配信息中找到下一块;
B4、如果未到达文件最后一块,重复执行步骤B2至B4;
文件擦除的操作包括以下步骤:
C1、从文件目录中得到起始块;
C2、擦除文件数据;
C3、从“块”的分配信息中找到下一块;
C4、如果未到达文件最后一块,重复执行步骤C2至C4。
由于采用以上技术方案,使FLASH空间在使用时依文件数量和长度动态分配,改变了现有技术中静态分配、固定使用而带来的不足,对资源的利用更加合理;调整文件数目或改变文件大小时无需修改代码、升级软件,使用灵活方便且节省存储空间。
附图说明
图1是本发明方案中FLASH分区结构图;
图2是本发明方案中FLASH索引区的一种实施方式示意图;
图3是本发明方案中文件写入FLASH的一种实施方式流程图;
图4是本发明方案中从FLASH读出文件的一种实施方式流程图
图5是本发明方案中从FLASH擦除文件的一种实施方式流程图
具体实施方式
参照图1,本发明的FLASH存储文件管理方法,首先将FLASH分为两个区域,其中一个区域为由基本分配单元“块”组成的用于存储文件具体内容的文件数据存储区;另一个区域为用于记录文件目录和基本分配单元“块”的分配信息的文件索引区。通常的FLASH芯片物理上分为单位长度的几十到几百个“块”,如INTEL 28F128 FLAH芯片每片分为128块,每块128K字节,具体划分时可以将这些“块”作为基本分配单位。按照这样的划分,文件索引区只占1至2个“块”就可以满足存储需要,其余块全部给文件数据存储区。
参照图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。在本实施方式结束擦除操作时,置文件状态为数据已擦。
本发明方法中所述基本分配单元“块”的长度也可以由用户自定义,根据使用情况精确定义可使空间利用率提高。

Claims (5)

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存储文件管理方法,其特征在于:所述基本分配单元“块”的长度由用户自定义。
CN 01142240 2001-09-18 2001-09-18 Flash存储文件管理方法 Expired - Fee Related CN1204501C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 01142240 CN1204501C (zh) 2001-09-18 2001-09-18 Flash存储文件管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 01142240 CN1204501C (zh) 2001-09-18 2001-09-18 Flash存储文件管理方法

Publications (2)

Publication Number Publication Date
CN1405683A CN1405683A (zh) 2003-03-26
CN1204501C true CN1204501C (zh) 2005-06-01

Family

ID=4676714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 01142240 Expired - Fee Related CN1204501C (zh) 2001-09-18 2001-09-18 Flash存储文件管理方法

Country Status (1)

Country Link
CN (1) CN1204501C (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100336392C (zh) * 2003-12-03 2007-09-05 北京中视联数字***有限公司 一种机顶盒的数据存储管理方法
CN100431051C (zh) * 2005-08-12 2008-11-05 中兴通讯股份有限公司 一种在nor flash中配置参数的方法
KR101320917B1 (ko) 2006-10-02 2013-10-21 삼성전자주식회사 파일의 특성에 따라 각기 다른 기록방식을 적용하는 파일기록방법 및 이를 적용한 전자기기
CN100557611C (zh) * 2007-11-15 2009-11-04 深圳华为通信技术有限公司 一种文件的处理方法和装置
CN101221581B (zh) * 2008-01-24 2010-06-02 北京中星微电子有限公司 一种数据文件生成方法及装置
CN101334823B (zh) * 2008-07-17 2010-07-07 成都市华为赛门铁克科技有限公司 一种对文件虚拟化处理方法及装置
CN101799788B (zh) 2010-03-23 2014-06-11 中兴通讯股份有限公司 一种分级管理存储资源的方法及***
CN102004700A (zh) * 2010-11-26 2011-04-06 华为终端有限公司 闪存的存储空间分配方法及装置
CN102279805A (zh) * 2011-09-06 2011-12-14 四川九洲电器集团有限责任公司 一种存储器数据存放及读取方法
CN104572723A (zh) * 2013-10-21 2015-04-29 华为技术有限公司 文件的访问方法及装置
CN104077167A (zh) * 2014-07-11 2014-10-01 杭州华三通信技术有限公司 基于nand flash的启动加载方法和装置
CN104376099A (zh) * 2014-11-25 2015-02-25 贵州电力试验研究院 一种基于闪存的文件***的实现方法和实现装置
CN104462280A (zh) * 2014-11-27 2015-03-25 国网上海市电力公司 用于嵌入式***的数据信息存储及快速查询方法
CN105718530B (zh) * 2016-01-15 2020-02-04 上海磁宇信息科技有限公司 文件存储***及其文件存储控制方法
CN106440256A (zh) * 2016-11-11 2017-02-22 四川长虹电子部品有限公司 一种空调遥控器及其数据存储方法
CN106959823B (zh) * 2017-03-13 2020-04-17 许继集团有限公司 一种提高flash参数保存次数的实现方法
CN108629927A (zh) * 2017-03-23 2018-10-09 惠尔丰(中国)信息***有限公司 一种低内存打印机的内存的优化方法
CN108664482B (zh) * 2017-03-27 2021-09-07 珠海极海半导体有限公司 Flash存储器及存储文件管理方法
CN114035749B (zh) * 2018-01-12 2023-02-28 珠海极海半导体有限公司 电子设备和Flash存储器
CN108415852B (zh) * 2018-03-01 2021-12-14 曲阜师范大学 一种Flash存储器的数据存取方法
CN108376121B (zh) * 2018-03-01 2021-10-22 曲阜师范大学 一种Flash存储器的数据存储方法
CN108710578B (zh) * 2018-04-20 2022-07-26 深圳市战音科技有限公司 基于闪存的数据存储方法和装置
CN109002399B (zh) * 2018-07-09 2021-05-18 北京智芯微电子科技有限公司 嵌入式设备事件记录的方法
CN113934371B (zh) * 2021-10-08 2024-04-12 福建星网视易信息***有限公司 一种存储器及其数据管理方法和计算机存储介质

Also Published As

Publication number Publication date
CN1405683A (zh) 2003-03-26

Similar Documents

Publication Publication Date Title
CN1204501C (zh) Flash存储文件管理方法
US7610434B2 (en) File recording apparatus
CN101027651B (zh) 最佳顺序性簇管理的fat分析
KR100390616B1 (ko) 고정적이고 확실한 저장 할당을 위한 시스템 및 방법
CN101147119B (zh) 快闪存储器中的直接数据文件存储实施技术
CN1078364C (zh) 存储器管理方法
Chiang et al. Cleaning policies in mobile computers using flash memory
JP3771803B2 (ja) 永続的且つロバストなメモリ管理のためのシステム及び方法
US6587915B1 (en) Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same
CN102831071B (zh) 用于存储器装置的存储地址重新映射的方法和***
CN1223945C (zh) 改进的闪速文件***
US8214583B2 (en) Direct file data programming and deletion in flash memories
CN101263462B (zh) 具有区块管理的非易失性存储器
CN1079552C (zh) 采用稀疏文件的实时数据迁移***和方法
CN1146795C (zh) 存储器管理方法
US20060218347A1 (en) Memory card
KR20080043806A (ko) 저장 장치용 듀얼 모드 액세스 방법 및 시스템
CN101606133A (zh) 具有连续逻辑地址空间接口的直接数据文件***的使用
JP2011519095A (ja) マルチバンク記憶装置のためのストレージアドレス再マッピングのための方法およびシステム
CN1466060A (zh) 闪速存储器文件***
CN101408880A (zh) 使用分割文件元数据的文件管理方法和装置
WO2010035124A1 (en) File system for storage device which uses different cluster sizes
CN101051317A (zh) 一种fat文件***及其处理方法
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
KR100907477B1 (ko) 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050601

Termination date: 20130918