CN1405683A - Flash存储文件管理方法 - Google Patents
Flash存储文件管理方法 Download PDFInfo
- Publication number
- CN1405683A CN1405683A CN 01142240 CN01142240A CN1405683A CN 1405683 A CN1405683 A CN 1405683A CN 01142240 CN01142240 CN 01142240 CN 01142240 A CN01142240 A CN 01142240A CN 1405683 A CN1405683 A CN 1405683A
- Authority
- CN
- China
- Prior art keywords
- file
- piece
- steps
- management method
- assignment information
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种FLASH存储文件管理方法,首先,将FLASH分为由基本分配单元“块”组成的用于存储文件具体内容的文件数据存储区和用于记录文件目录和“块”的分配信息的文件索引区;在此划分的基础上进行文件写入、文件读出和文件擦除的操作使FLASH空间在使用时依文件数量和长度动态分配,对资源的利用更加合理,调整文件数目或改变文件大小时无需修改代码、升级软件,使用灵活方便且节省存储空间。
Description
技术领域
本发明涉及存储器管理方法,尤其涉及一种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存储文件管理方法,其特征在于:所述基本分配单元“块”的长度由用户自定义。
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 true CN1405683A (zh) | 2003-03-26 |
CN1204501C 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) |
Cited By (24)
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中配置参数的方法 |
CN100557611C (zh) * | 2007-11-15 | 2009-11-04 | 深圳华为通信技术有限公司 | 一种文件的处理方法和装置 |
WO2010006514A1 (zh) * | 2008-07-17 | 2010-01-21 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
CN101221581B (zh) * | 2008-01-24 | 2010-06-02 | 北京中星微电子有限公司 | 一种数据文件生成方法及装置 |
CN102004700A (zh) * | 2010-11-26 | 2011-04-06 | 华为终端有限公司 | 闪存的存储空间分配方法及装置 |
US7984249B2 (en) | 2006-10-02 | 2011-07-19 | Samsung Electronics Co., Ltd. | Method for writing a file by different writing schemes according to file characteristics and electronic device using the method |
WO2011116612A1 (zh) * | 2010-03-23 | 2011-09-29 | 中兴通讯股份有限公司 | 一种分级管理存储资源的方法及*** |
CN102279805A (zh) * | 2011-09-06 | 2011-12-14 | 四川九洲电器集团有限责任公司 | 一种存储器数据存放及读取方法 |
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 | 国网上海市电力公司 | 用于嵌入式***的数据信息存储及快速查询方法 |
CN104572723A (zh) * | 2013-10-21 | 2015-04-29 | 华为技术有限公司 | 文件的访问方法及装置 |
CN105718530A (zh) * | 2016-01-15 | 2016-06-29 | 上海磁宇信息科技有限公司 | 文件存储***及其文件存储控制方法 |
CN106440256A (zh) * | 2016-11-11 | 2017-02-22 | 四川长虹电子部品有限公司 | 一种空调遥控器及其数据存储方法 |
CN106959823A (zh) * | 2017-03-13 | 2017-07-18 | 许继集团有限公司 | 一种提高flash参数保存次数的实现方法 |
CN108255433A (zh) * | 2018-01-12 | 2018-07-06 | 纳思达股份有限公司 | Flash存储器、Flash存储器的文件管理方法和装置 |
CN108376121A (zh) * | 2018-03-01 | 2018-08-07 | 曲阜师范大学 | 一种Flash存储器的数据存储结构 |
CN108415852A (zh) * | 2018-03-01 | 2018-08-17 | 曲阜师范大学 | 一种Flash存储器的数据存取方法 |
CN108629927A (zh) * | 2017-03-23 | 2018-10-09 | 惠尔丰(中国)信息***有限公司 | 一种低内存打印机的内存的优化方法 |
CN108664482A (zh) * | 2017-03-27 | 2018-10-16 | 纳思达股份有限公司 | Flash存储器及存储文件管理方法 |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN109002399A (zh) * | 2018-07-09 | 2018-12-14 | 北京智芯微电子科技有限公司 | 嵌入式设备事件记录的方法 |
CN113934371A (zh) * | 2021-10-08 | 2022-01-14 | 福建星网视易信息***有限公司 | 一种存储器及其数据管理方法和计算机存储介质 |
-
2001
- 2001-09-18 CN CN 01142240 patent/CN1204501C/zh not_active Expired - Fee Related
Cited By (32)
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中配置参数的方法 |
CN101158922B (zh) * | 2006-10-02 | 2011-08-10 | 三星电子株式会社 | 根据文件特性通过不同写入方案写入文件的方法及其设备 |
US7984249B2 (en) | 2006-10-02 | 2011-07-19 | Samsung Electronics Co., Ltd. | Method for writing a file by different writing schemes according to file characteristics and electronic device using the method |
CN100557611C (zh) * | 2007-11-15 | 2009-11-04 | 深圳华为通信技术有限公司 | 一种文件的处理方法和装置 |
CN101221581B (zh) * | 2008-01-24 | 2010-06-02 | 北京中星微电子有限公司 | 一种数据文件生成方法及装置 |
WO2010006514A1 (zh) * | 2008-07-17 | 2010-01-21 | 成都市华为赛门铁克科技有限公司 | 一种对文件虚拟化处理方法及装置 |
WO2011116612A1 (zh) * | 2010-03-23 | 2011-09-29 | 中兴通讯股份有限公司 | 一种分级管理存储资源的方法及*** |
US9047174B2 (en) | 2010-03-23 | 2015-06-02 | Zte Corporation | Method and system for hierarchically managing storage resources |
CN102004700A (zh) * | 2010-11-26 | 2011-04-06 | 华为终端有限公司 | 闪存的存储空间分配方法及装置 |
CN102279805A (zh) * | 2011-09-06 | 2011-12-14 | 四川九洲电器集团有限责任公司 | 一种存储器数据存放及读取方法 |
CN104572723A (zh) * | 2013-10-21 | 2015-04-29 | 华为技术有限公司 | 文件的访问方法及装置 |
WO2015058628A1 (zh) * | 2013-10-21 | 2015-04-30 | 华为技术有限公司 | 文件的访问方法及装置 |
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 | 国网上海市电力公司 | 用于嵌入式***的数据信息存储及快速查询方法 |
CN105718530A (zh) * | 2016-01-15 | 2016-06-29 | 上海磁宇信息科技有限公司 | 文件存储***及其文件存储控制方法 |
CN106440256A (zh) * | 2016-11-11 | 2017-02-22 | 四川长虹电子部品有限公司 | 一种空调遥控器及其数据存储方法 |
CN106959823A (zh) * | 2017-03-13 | 2017-07-18 | 许继集团有限公司 | 一种提高flash参数保存次数的实现方法 |
CN106959823B (zh) * | 2017-03-13 | 2020-04-17 | 许继集团有限公司 | 一种提高flash参数保存次数的实现方法 |
CN108629927A (zh) * | 2017-03-23 | 2018-10-09 | 惠尔丰(中国)信息***有限公司 | 一种低内存打印机的内存的优化方法 |
CN108664482A (zh) * | 2017-03-27 | 2018-10-16 | 纳思达股份有限公司 | Flash存储器及存储文件管理方法 |
CN108255433A (zh) * | 2018-01-12 | 2018-07-06 | 纳思达股份有限公司 | Flash存储器、Flash存储器的文件管理方法和装置 |
CN108255433B (zh) * | 2018-01-12 | 2021-12-07 | 珠海极海半导体有限公司 | Flash存储器、Flash存储器的文件管理方法和装置 |
CN108415852A (zh) * | 2018-03-01 | 2018-08-17 | 曲阜师范大学 | 一种Flash存储器的数据存取方法 |
CN108376121A (zh) * | 2018-03-01 | 2018-08-07 | 曲阜师范大学 | 一种Flash存储器的数据存储结构 |
CN108376121B (zh) * | 2018-03-01 | 2021-10-22 | 曲阜师范大学 | 一种Flash存储器的数据存储方法 |
CN108710578A (zh) * | 2018-04-20 | 2018-10-26 | 深圳市战音科技有限公司 | 基于闪存的数据存储方法和装置 |
CN109002399A (zh) * | 2018-07-09 | 2018-12-14 | 北京智芯微电子科技有限公司 | 嵌入式设备事件记录的方法 |
CN109002399B (zh) * | 2018-07-09 | 2021-05-18 | 北京智芯微电子科技有限公司 | 嵌入式设备事件记录的方法 |
CN113934371A (zh) * | 2021-10-08 | 2022-01-14 | 福建星网视易信息***有限公司 | 一种存储器及其数据管理方法和计算机存储介质 |
CN113934371B (zh) * | 2021-10-08 | 2024-04-12 | 福建星网视易信息***有限公司 | 一种存储器及其数据管理方法和计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN1204501C (zh) | 2005-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1204501C (zh) | Flash存储文件管理方法 | |
US7610434B2 (en) | File recording apparatus | |
JP4175568B2 (ja) | 永続的且つロバストな記憶割当てシステム及び方法 | |
CN101027651B (zh) | 最佳顺序性簇管理的fat分析 | |
US6587915B1 (en) | Flash memory having data blocks, spare blocks, a map block and a header block and a method for controlling the same | |
JP3771803B2 (ja) | 永続的且つロバストなメモリ管理のためのシステム及び方法 | |
KR101369996B1 (ko) | 저장 장치용 듀얼 모드 액세스 방법 및 시스템 | |
CN1078364C (zh) | 存储器管理方法 | |
CN101147119B (zh) | 快闪存储器中的直接数据文件存储实施技术 | |
CN1223945C (zh) | 改进的闪速文件*** | |
CN101263462B (zh) | 具有区块管理的非易失性存储器 | |
US7401174B2 (en) | File system defragmentation and data processing method and apparatus for an information recording medium | |
KR101157171B1 (ko) | 스마트카드를 위한 저장 시스템 및 그 저장시스템에서 파일생성관리방법 | |
US20060218347A1 (en) | Memory card | |
CN101606133A (zh) | 具有连续逻辑地址空间接口的直接数据文件***的使用 | |
JPH07191892A (ja) | フラッシュ消去可能なプログラマブル・リードオンリメモリを用いてファイルシステムをマネージする方法及びシステム | |
CN1466060A (zh) | 闪速存储器文件*** | |
CN101408880A (zh) | 使用分割文件元数据的文件管理方法和装置 | |
WO2010035124A1 (en) | File system for storage device which uses different cluster sizes | |
CN101051317A (zh) | 一种fat文件***及其处理方法 | |
CN111522507A (zh) | 一种低延迟的文件***地址空间管理方法、***及介质 | |
CN1351350A (zh) | 闪存中存储块的分区及读写信息标识的方法 | |
US5678024A (en) | Method and system for dynamic performance resource management within a computer based system | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
CN1542624A (zh) | 一种在Flash文件***中加快逻辑块映射速度的方法 |
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 |