CN1627272A - 移动终端的闪存中的文件管理方法 - Google Patents
移动终端的闪存中的文件管理方法 Download PDFInfo
- Publication number
- CN1627272A CN1627272A CN 200310109217 CN200310109217A CN1627272A CN 1627272 A CN1627272 A CN 1627272A CN 200310109217 CN200310109217 CN 200310109217 CN 200310109217 A CN200310109217 A CN 200310109217A CN 1627272 A CN1627272 A CN 1627272A
- Authority
- CN
- China
- Prior art keywords
- file
- space
- piece
- type
- enough
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种移动终端的闪存中的文件管理方法,包括:根据文件类型分配存储空间的步骤;查找该文件类型对应的区域的剩余空间是否足够的步骤,空间足够时,保存文件,空间不够时,返回保存失败;该方法还包括删除文件的步骤;该方法中,在文件类型分配存储空间的步骤中,分配的最小单位是块,在查找文件和保存文件时,最小单位是字节。由于采用了上述技术方案,本发明的文件管理方法采用以字节为单位的连续保存方式,能充分地利用存储器中的空间,减少碎片的产生,同时,存储器空间的分配采用两级分配的方式,并且在每次遍历查找完成后都保存索引值和搜索的大小,以提高搜索的效率,加快了检索文件的速度。
Description
技术领域
本发明涉及移动终端的内存管理方法,尤其涉及一种移动终端的闪存中的文件管理方法。
背景技术
随着移动终端技术的发展,用户对移动终端的要求越来越高,也要求移动终端提供更多的软件支持。但是移动终端的内存有限,不能像计算机那样同时保存大量的数据,因此,就需要一种能有效管理移动终端内存的方法。同时,现在的移动终端中越来越多的使用闪存(flash),而flash具有存取操作可按字节进行,删除操作要按照块进行的特点,所以,就更需要一种针对flash的上述特点,进行flash中文件管理的方法。
发明内容
本发明的目的是提供一种移动终端的闪存中的文件管理方法,以更充分地利用存储器的空间,并能更迅速地查找文件。
为了达到上述目的,本发明采用如下技术方案:
一种移动终端的闪存中的文件管理方法,包括:
根据文件类型分配存储空间的步骤,将整个存储空间分成数个区域,每一区域对应一种文件类型,并具有一个索引值和首地址;保存文件时,首先按照所述文件的类型,查找所述存储空间中对应的区域;
查找该文件类型对应的区域的剩余空间是否足够的步骤,空间足够时,将所述文件写入并返回索引值和首地址;如果空间不够保存所述文件,则返回保存失败。
在一个实施例中,每一种文件类型对应连续或不连续的多个区域,每一个所述区域具有一个索引值和首地址;由于同一个文件类型对应多个区域,所以该实施例中需要遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤,首先查找第一个对应区域,空间足够时,将所述文件写入并返回索引值和首地址;如果空间不够保存所述文件,则查找下一个对应区域;如果所有的对应区域的剩余空间均不足够时,返回保存失败。
在上述实施例的所述根据文件类型分配存储空间的步骤中,分配的最小单位是块,每一块为64K字节。在所述查找或遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤中,查找的最小单位是字节。保存文件时,最小单位是字节;文件保存在其类型所对应的区域中第一个未被占用的字节起的连续存储空间内。
在上述采用一个文件类型对应多个区域的实施例中,可以在每个类型的文件遍历查找结束时,保存当前区域所对应的索引值和该次查找的文件大小的步骤;在进行该类型文件的下一次遍历查找步骤时,如果文件的大小小于所述保存的文件大小,则从所述保存的索引值所对应的区域开始遍历查找,否则重新从第一个对应区域开始查找。
在一个实施例中,该方法还包括删除文件的步骤,在该实施例中,需要在整个存储空间内,至少保留一个块作为交换区。该删除文件的步骤包括首先确定要删除的文件所占用的所有块,操作第一个块,将从该块的首地址起到所述要删除的文件之前的内容复制到交换区中,将所述要删除的文件之后起到所述块的尾地址的内容复制到所述交换区的剩余空间中;删除所述块中的内容;将所述交换区中的内容复制到所述块中;删除所述交换区中的内容;操作下一个块,重复上述步骤,直到要删除的文件所占用的所有块都完成上述操作。
在一个实施例中,该方法还包括在每一个块中添加块标志段的步骤,块标志段包括占用标志、写入状态标志、写入完成标志和删除标志。以及为每一个保存的文件添加文件标志段的步骤,文件标志段包括使用标志、写入状态标志、写入完成标志和删除标志。
由于采用了上述技术方案,本发明的文件管理方法采用以字节为单位的连续保存方式,能充分地利用存储器中的空间,减少碎片的产生,同时,存储器空间的分配采用两级分配的方式,并且在每次遍历查找完成后都保存索引值和搜索的大小,以提高搜索的效率,加快了检索文件的速度。
附图说明
图1是本发明的一个实施例的文件管理方法的流程图;
图2是本发明的文件管理方法的另一个实施例的流程图;
图3是本发明的文件管理方法中采用加速搜索方法的流程图;
图4A、B是本发明的文件管理方法中添加的标志位的示意图。
具体实施方式
下面结合实施例和附图来进一步说明本发明的技术方案。
由于移动终端的存储器容量有限,因此如何充分地利用有限的存储器空间就成了关键的问题。对此,本发明采用连续存储的方式来充分利用存储器的空间,将对于文件的最小分配单位设定为字节,而不是通常情况下的块或簇,这样就能尽量减小存储器中碎片的产生。但是,以字节为最小分配单位进行连续存储所带来的问题就是会导致查找文件速度的减慢,必须一字节一字节地进行查找,会严重影响整个***的运行速度,因此,本发明采用两级分分配存储器空间的方式,首先将同一类型的文件相对集中地保存在一个存储器区域中,在该区域中对每一个文件采用以字节为单位的连续保存。在查找时,首先找到文件类型对应的区域,在该区域中在按照字节进行一次查找,这样就能在尽量充分利用存储器空间的情况下提高搜索文件的速度。
下面看一下按照该方法的一个实施例,图1是其流程图,该实施例中,同一个文件类型对应一块存储器区域,由于移动终端上的文件类型比较少,因此这种方法是可行的。该方法包括以下步骤:
S11.根据文件类型分配存储空间的步骤,将整个存储空间分成数个区域,每一区域对应一种文件类型,并具有一个索引值和首地址;保存文件时,首先按照所述文件的类型,查找存储空间中对应的区域;这样,就能将所有类型相同的文件保存在一起。在根据文件类型分配存储空间的步骤中,分配的最小单位是块,每一块为64K字节。由于该步骤中分配的空间相对较大,因此以块为单位比较适合,同时以块为单位也便于查找。
S12.查找该文件类型对应的区域的剩余空间是否足够的步骤,空间足够时,将文件写入并返回索引值和首地址;如果空间不够保存文件,则返回保存失败。在查找该文件类型对应的所有区域的剩余空间是否足够的步骤中,查找的最小单位是字节,为了尽可能充分地利用存储器空间,所以在对每一个文件进行操作时,最小单位以字节进行,同样,在保存文件时,最小单位也是字节,文件保存在其类型所对应的区域中第一个未被占用的字节起的连续存储空间内。
采用这种方法,每个类型的文件就对应一块存储器区域,应该说浪费的空间能减到最低限度,但是,按照该实施例的方法显得不够灵活,由于对于不同的应用程序各种文件类型所需要的空间是不同的,所以,该实施例的方式可能造成某种文件类型的空间不够而另一种文件类型的空间又太多的情况。于是,可以采用另一种实施例,使每一种文件类型对应多个连续或者不连续的存储器区域,每个区域相对来说小一些,该实施例的方法更为灵活,尤其是对应每种类型的文件所要求的空间不等的应用来说。该方法包括以下步骤,如图2所示:
S21.根据文件类型分配存储空间的步骤中,将整个存储空间分成数个区域,每一种文件类型对应连续或不连续的多个区域,每一个区域具有一个索引值和首地址;该步骤中,分配的最小单位也是块,每一块为64K字节。
S22.遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤,首先查找第一个对应区域,空间足够时,将文件写入并返回索引值和首地址;如果空间不够保存文件,则查找下一个对应区域;如果所有的对应区域的剩余空间均不足够时,返回保存失败。在遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤中,查找的最小单位是字节,在保存文件时,最小单位也是字节;文件保存在其类型所对应的区域中第一个未被占用的字节起的连续存储空间内。
在该实施例中,还可以使用加速搜索的方法,图3是加速搜索方法的流程图,使用加速搜索方法即是在上述实施例所述的方法中添加以下步骤:
S23.在每个类型的文件遍历查找结束时,保存当前区域所对应的索引值和该次查找的文件大小的步骤;在进行该类型文件的下一次遍历查找步骤时,如果文件的大小小于保存的文件大小,则从保存的索引值所对应的区域开始遍历查找,否则重新从第一个对应区域开始查找。这样如果保存的文件大小大于现在要搜索的大小,则重新开始搜索时,在理想情况下,***在搜索到上一次搜索的块之前就可以找到所需的空间;如果保存的文件大小小于现在要搜索的尺寸,则从上一次搜索的块开始搜索,因为在上一次搜索的块之前的所有块中的剩余空间都比这个要大,所以从充分利用存储器空间的角度考虑,应该首先向下搜索,看看有没有更适合的块可以用来保存该文件。
本发明的文件管理方法中,还包括删除文件的步骤,由于存储器是flash存储器,而flash存储器在删除时,必须以块(64K)为最小单位,而本发明的文件管理方法在保存文件时是以字节为最小单位的,因此在删除时就需要使用以下的方式,先将一个块中不需要删除的内容保存到临时空间中,然后删除该块,再将临时空间中的内容复制回来,于是就需要在整个存储空间内,至少保留一个块作为交换区,再进行以下的删除步骤:
删除文件的步骤,首先确定要删除的文件所占用的所有块,操作第一个块,将从该块的首地址起到所述要删除的文件之前的内容复制到交换区中,将要删除的文件之后起到块的尾地址的内容复制到交换区的剩余空间中;删除块中的内容;将交换区中的内容复制到块中;删除交换区中的内容;操作下一个块,重复上述步骤,直到要删除的文件所占用的所有块都完成上述操作。
如上所述,按照本发明的方法的各个实施例中都采用两级分配的方式,于是,就会出现以下情况,在一个存储器块中保存有多个文件,一个文件占用多个存储器块。因此,就需要一种机制来明确地表示上述文件和块之间的关系,在一个实施例中,采用以下方法来实现,在上述各实施例中,添加以下步骤:
在每一个块中添加块标志段的步骤,块标志段包括占用标志、写入状态标志、写入完成标志和删除标志。请参考图4A,该标志段位于块的头部字段(BlockHeader)中,所述的4个标志是连续的位,其中,占用标志(B_used)表示该块已经被占用,写入状态标志(B_write)表示该块正在被写入,写入完成标志(B_write_done)表示做用于该块的写操作已经完成,数据是完整的,删除标志(B_deleted)表示该块被删除,可以被再次分配。
为每一个保存的文件添加文件标志段的步骤,文件标志段包括使用标志、写入状态标志、写入完成标志和删除标志。请参考图4B,该标志段位于文件的头部字段(File_Header)中,所述的4个标志是连续的位,其中,使用标志(F_used)表示文件被使用,写入状态标志(F_write)表示文件正在被写入,写入完成标志(F_write_done)表示文件写入操作完成,数据是完整的。删除标志(F_deleted)标志位表示该文件被删除。这些标志位的使用是为了增加文件***的安全性,防止文件被掉电之类的意外事件误删除,同时保证了文件的完整性。
通过增加上述的标志段,就明确地表示了文件和块之间的关系。
由于采用了上述技术方案,本发明的文件管理方法采用以字节为单位的连续保存方式,能充分地利用存储器中的空间,减少碎片的产生,同时,存储器空间的分配采用两级分配的方式,并且在每次遍历查找完成后都保存索引值和搜索的大小,以提高搜索的效率,加快了检索文件的速度。另外,还增加了标志段,可以清楚地表明块和文件之间的关系。
Claims (10)
1.一种移动终端的闪存中的文件管理方法,包括:
根据文件类型分配存储空间的步骤,将整个存储空间分成数个区域,每一区域对应一种文件类型,并具有一个索引值和首地址;保存文件时,首先按照所述文件的类型,查找所述存储空间中对应的区域;
查找该文件类型对应的区域的剩余空间是否足够的步骤,空间足够时,将所述文件写入并返回索引值和首地址;如果空间不够保存所述文件,则返回保存失败。
2.如权利要求1所述的方法,其特征在于,
所述根据文件类型分配存储空间的步骤中,将整个存储空间分成数个区域,每一种文件类型对应连续或不连续的多个区域,每一个所述区域具有一个索引值和首地址;
遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤,首先查找第一个对应区域,空间足够时,将所述文件写入并返回索引值和首地址;如果空间不够保存所述文件,则查找下一个对应区域;如果所有的对应区域的剩余空间均不足够时,返回保存失败。
3.如权利要求2所述的方法,其特征在于,还包括
在每个类型的文件遍历查找结束时,保存当前区域所对应的索引值和该次查找的文件大小的步骤;在进行该类型文件的下一次遍历查找步骤时,如果文件的大小小于所述保存的文件大小,则从所述保存的索引值所对应的区域开始遍历查找,否则重新从第一个对应区域开始查找。
4.如权利要求1至3中任一项所述的方法,其特征在于,
所述根据文件类型分配存储空间的步骤中,分配的最小单位是块,每一块为64K字节。
5.如权利要求4所述的方法,其特征在于,
在整个存储空间内,至少保留一个块作为交换区。
6.如权利要求4所述的方法,其特征在于,还包括
删除文件的步骤,首先确定要删除的文件所占用的所有块,操作第一个块,将从该块的首地址起到所述要删除的文件之前的内容复制到所述交换区中,将所述要删除的文件之后起到所述块的尾地址的内容复制到所述交换区的剩余空间中;删除所述块中的内容;将所述交换区中的内容复制到所述块中;删除所述交换区中的内容;操作下一个块,重复上述步骤,直到要删除的文件所占用的所有块都完成上述操作。
7.如权利要求4所述的方法,其特征在于,还包括
在每一个块中添加块标志段的步骤,块标志段包括占用标志、写入状态标志、写入完成标志和删除标志。
8.如权利要求1至3中任一项所述的方法,其特征在于,
所述查找或遍历查找该文件类型对应的所有区域的剩余空间是否足够的步骤中,查找的最小单位是字节。
9.如权利要求8所述的方法,其特征在于,
保存文件时,最小单位是字节;文件保存在其类型所对应的区域中第一个未被占用的字节起的连续存储空间内。
10.如权利要求8所述的方法,其特征在于,还包括
为每一个保存的文件添加文件标志段的步骤,文件标志段包括使用标志、写入状态标志、写入完成标志和删除标志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310109217 CN1627272A (zh) | 2003-12-10 | 2003-12-10 | 移动终端的闪存中的文件管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200310109217 CN1627272A (zh) | 2003-12-10 | 2003-12-10 | 移动终端的闪存中的文件管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1627272A true CN1627272A (zh) | 2005-06-15 |
Family
ID=34758882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200310109217 Pending CN1627272A (zh) | 2003-12-10 | 2003-12-10 | 移动终端的闪存中的文件管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1627272A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187926B (zh) * | 2006-11-16 | 2011-05-11 | 康佳集团股份有限公司 | 一种多类型资源的管理方法 |
CN103268201A (zh) * | 2013-04-19 | 2013-08-28 | 北京经纬恒润科技有限公司 | 一种数据存储方法、存储装置及读取方法 |
CN105630965A (zh) * | 2015-12-24 | 2016-06-01 | 西安电子科技大学 | 一种移动终端闪存介质上用户空间安全删除文件***及方法 |
CN106604150A (zh) * | 2016-12-16 | 2017-04-26 | 深圳Tcl新技术有限公司 | 共享无线设备存储空间的方法及装置 |
CN106980676A (zh) * | 2017-03-29 | 2017-07-25 | 江西金格科技股份有限公司 | 基于智能密钥盘的文件管理方法 |
CN107608639A (zh) * | 2017-10-20 | 2018-01-19 | 深圳益邦阳光有限公司 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
WO2018045634A1 (zh) * | 2016-09-08 | 2018-03-15 | 百富计算机技术(深圳)有限公司 | 嵌入式小***的应用程序加载方法和装置 |
CN108694129A (zh) * | 2018-03-22 | 2018-10-23 | 霍尼韦尔环境自控产品(天津)有限公司 | 确定Flash存储器的存储区中最后写入位置的方法 |
CN111225169A (zh) * | 2018-11-26 | 2020-06-02 | 浙江宇视科技有限公司 | 一种视频小文件的存储方法及装置 |
CN112307033A (zh) * | 2020-11-23 | 2021-02-02 | 杭州迪普科技股份有限公司 | 数据包文件的重构方法、装置及设备 |
-
2003
- 2003-12-10 CN CN 200310109217 patent/CN1627272A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187926B (zh) * | 2006-11-16 | 2011-05-11 | 康佳集团股份有限公司 | 一种多类型资源的管理方法 |
CN103268201A (zh) * | 2013-04-19 | 2013-08-28 | 北京经纬恒润科技有限公司 | 一种数据存储方法、存储装置及读取方法 |
CN103268201B (zh) * | 2013-04-19 | 2016-02-17 | 北京经纬恒润科技有限公司 | 一种数据存储方法、存储装置及读取方法 |
CN105630965B (zh) * | 2015-12-24 | 2019-02-26 | 西安电子科技大学 | 一种移动终端闪存介质上用户空间安全删除文件***及方法 |
CN105630965A (zh) * | 2015-12-24 | 2016-06-01 | 西安电子科技大学 | 一种移动终端闪存介质上用户空间安全删除文件***及方法 |
WO2018045634A1 (zh) * | 2016-09-08 | 2018-03-15 | 百富计算机技术(深圳)有限公司 | 嵌入式小***的应用程序加载方法和装置 |
CN106604150A (zh) * | 2016-12-16 | 2017-04-26 | 深圳Tcl新技术有限公司 | 共享无线设备存储空间的方法及装置 |
CN106980676A (zh) * | 2017-03-29 | 2017-07-25 | 江西金格科技股份有限公司 | 基于智能密钥盘的文件管理方法 |
CN107608639A (zh) * | 2017-10-20 | 2018-01-19 | 深圳益邦阳光有限公司 | 基于闪存的队列式循环存储方法、电子设备和存储介质 |
CN108694129A (zh) * | 2018-03-22 | 2018-10-23 | 霍尼韦尔环境自控产品(天津)有限公司 | 确定Flash存储器的存储区中最后写入位置的方法 |
CN108694129B (zh) * | 2018-03-22 | 2021-06-22 | 霍尼韦尔环境自控产品(天津)有限公司 | 确定Flash存储器的存储区中最后写入位置的方法 |
CN111225169A (zh) * | 2018-11-26 | 2020-06-02 | 浙江宇视科技有限公司 | 一种视频小文件的存储方法及装置 |
CN112307033A (zh) * | 2020-11-23 | 2021-02-02 | 杭州迪普科技股份有限公司 | 数据包文件的重构方法、装置及设备 |
CN112307033B (zh) * | 2020-11-23 | 2023-04-25 | 杭州迪普科技股份有限公司 | 数据包文件的重构方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8745316B2 (en) | System and method of managing indexation of flash memory | |
US9684462B2 (en) | Method and apparatus utilizing non-uniform hash functions for placing records in non-uniform access memory | |
CN104346357B (zh) | 一种嵌入式终端的文件存取方法及*** | |
CN103186350B (zh) | 混合存储***及热点数据块的迁移方法 | |
US7571163B2 (en) | Method for sorting a data structure | |
US7937522B2 (en) | Method for flash memory data management | |
US20050132126A1 (en) | Method and file structures for managing data on a flash disk | |
CN101039278A (zh) | 数据管理方法及*** | |
CN111522507B (zh) | 一种低延迟的文件***地址空间管理方法、***及介质 | |
CN101030165A (zh) | 一种磁盘空间管理方法及*** | |
EP2511826B1 (en) | Level-to-level management method and system of storage resources | |
CN103425435B (zh) | 磁盘存储方法及磁盘存储*** | |
CN102262512A (zh) | 一种实现磁盘阵列缓存分区管理的***、装置及方法 | |
JPH1131096A (ja) | データ格納検索方式 | |
CN1627272A (zh) | 移动终端的闪存中的文件管理方法 | |
CN105045850A (zh) | 云存储日志文件***中垃圾数据回收方法 | |
CN1845093A (zh) | 一种属性可扩展的对象文件*** | |
CN1266614C (zh) | 一种在Flash文件***中加快逻辑块映射速度的方法 | |
CN100347705C (zh) | 一种合并文件的方法 | |
KR100907477B1 (ko) | 플래시 메모리에 저장된 데이터의 인덱스 정보 관리 장치및 방법 | |
CN111694765A (zh) | 一种面向移动应用特征的非易失性内存文件***多粒度空间管理方法 | |
CN1908937A (zh) | 一种闪存中的flash文件的管理方法及*** | |
CN103530067A (zh) | 一种数据操作的方法和设备 | |
CN101034416A (zh) | 一种利用文件分配表进行文件寻道的方法及***架构 | |
CN105630410A (zh) | 使用非易失随机读写存储芯片动态管理文件存储区的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |