专利名称:文件的有效数据管理的方法和设备的制作方法
技术领域:
与本发明一致的设备和方法涉及一种文件的有效数据管理。
背景技术:
文件是一套或一组数据。一般地,文件被存储在硬盘、存储卡、压缩磁盘只读存储器(CD-ROM)等中。文件具有各种向如计算机、个人数字助理(PDA)或蜂窝式电话的这种系统提供信息的功能,操作某种功能,或向用户供给信息。
文件系统提供用于写、读和使用文件的方法和功能。数字装置(例如计算机)具有文件分配表(FAT)、新技术文件系统(NTFS)、和/或高性能文件系统(HPFS)。文件系统执行用于有效地管理文件的功能,并提供数据的快速搜索和恢复,以及支持大型的数据。文件系统主要集中在减少因为具有比CPU处理速度较慢的存储设备所引起的系统瓶颈,并便于文件处理,因此提高了整个系统的性能。大量的处理数字多媒体的数字装置用与计算机兼容的文件系统,因此能够通过计算机来交换文件。当前,许多数字装置可利用文件系统在其中存储多媒体数据。
传统的文件系统集中在文件的读写操作而忽视删除文件的速度。对于具有大容量的文件并不平常,因此传统系统的主要焦点在于有效地管理许多的文件。
但是,当文件在大小上增加以具有大容量,并且大容量的文件被以各种方式通过便携存储介质(例如存储卡)而不是计算机存储介质(例如硬盘)被移动或复制时,文件的删除已经成为评估文件系统性能的关键。
图1A是示出传统的文件系统的结构和存储介质的方框图。包括FAT、HPFS、和NTFS的文件系统基于块映像来管理文件。如图1A中所述,硬盘或存储卡被分成数据块和块映像。
数据块成为存储数据的单元,数据以数据块为基础被存储在硬盘或存储卡的存储器空间中。数据块可以是如512字节或1024字节的存储数据的单元。大小大于512字节或1024字节的数据被分成块,根据存储单元的大小,然后被存储。在使用FAT的文件系统中,数据块被称为“簇”。
块映像是一组关于数据块的信息。如图1A所示,块映像100和数据块200可被存储在存储装置中。存在用于管理在块映像100和数据块200之间的映射和文件的文件系统10。
块映像和数据块的结构在图1B中示出。组成块映像的块101和102每个显示相关的数据块的状态。即,每个块具有识别文件是否被存储在数据块和数据块是否可用于存储的信息。在FAT系统中文件分配表是块映像的例子。基于组成块映像的块的信息,可确定有关的数据块的状态而不是直接地考虑全部数据块。在块映像中块的值表示下个数据的位置或数据的状态是否没有被存储在有关的数据块中。另外,在有关的数据块(例如簇)被损坏以致不能用于在其中存储文件的情况下,块值可表示该簇是否被损坏。为了方便,块映像将按照以下的假设描述它的地址从1开始,但是其仅是体现文件系统的例子。地址为#1的块映像标识关于地址#1中的数据块的信息。
表1显示在FAT系统中块映像的块所表示的值。
由这些块所表示的值可根据具体的系统而变化。在如NTFS或HPFS的不同的文件系统中,根据有关的文件系统的协定的定义来表示该值。
这些数据不能总是被连续地存储。在删除或存储文件期间,在存储介质中可用的存储空间会被分散。块映像在链接的列表中标识块的位置以从几个组成文件的数据块中连续地读出数据。该映射通过块映像的块来实现。
贯穿本说明书中,组成块映像的块将被称为映射块。
图2示出在传统的文件系统中通过块映像的文件存储的概念。如上所述,块映像100具有关于在数据区域中作为存储数据单元的数据块的信息。根据文件系统,数据块可改变大小(512字节,1024字节等)。
现在将考虑命名为file.txt的文件怎样被存储。参考图2,命名为file.txt的文件示出显示开始数据块的信息的映射块的开始位置。在图中块映像100被建成一个链接,其中表示文件被存储在其上的数据块的映射块被连续地链接。即,可得知命名为file.txt的文件被存储在地址为#3的数据块中。为了从该文件中读出数据,应参考地址为#3的映射块。为了方便,块映像(k)表示地址为#k的映射块,以及数据块(k)表示地址为#k的数据块。
块映像(3)具有值0004,表示组成该文件的下个数据被存储在地址#4中,即数据块(4)。关于地址为#4的数据块的信息被存储在地址为#4的映射块中。块映像(4)具有值0006,表示下个数据被存储在地址为#6的数据块中。这样,块映像使得组成文件的数据能够被顺序地读出。在图2的例子中,命名为file.txt的文件通过链接映射块被顺序地存储在地址#3、#4、#6、#7和#8的数据块中。块映像(8)的值是0xffff,其表示文件的终止。文件的终止可用不同于0xffff的值表示。但是,为了避免混淆,该值一定不能和映射块的地址重合。例如,因为如果地址为0xffff的映射块存在会引起混淆,所以为了不与它重合应该用更大或者不同的值。
用基于块映像的文件系统其优点在于虽然没有物理映像但是提供逻辑映像以存储数据。但是,在删除文件时引起问题。
在块映像中可用的数据块会用预先协定的预定的值(例如0)来表示。当文件被删除时,应该改变包括关于在文件被存储的位置的数据块的信息的映射块的全部信息。
当图2中命名为file.txt的文件被删除时,所有地址为#3、#4、#6、#7和#8的块映像100的映射块的值都需要被改变成0。当文件的大小很小时,这样的改变不会引起问题。但是,由于多媒体技术的发展,文件的大小近来已经增加到很大的容量,所以大的文件需要更多的时间来处理文件的删除。例如,要删除一个具有512字节大小数据块的30M字节的文件,则计算30M字节/512字节。结果,该文件具有关于61,440个映射块(即30×1024×1024/512)的信息。因此,在块映像中必须改变关于61,440个映射块的信息,需要更多的处理时间。在对写操作敏感的NAND闪速存储器的情况下,该存储装置的效率会因为不必要的文件系统的块映像数据的改变而降低。
在由于在删除期间引起的错误使删除被中断的情况下,关于未删除的映射块的信息会占用存储空间。这样的情况在图3中示出。
图3是示出在传统的文件系统中在删除文件时引起的错误如何影响存储装置的方框图。
图3显示图2的file.txt文件的删除。此file.txt具有五个数据块。为了删除该文件,与五个数据块相应的映射块应该被改变成0。但是,如果在将块映像(6)改变成0的期间引起错误,则地址为#6、#7和#8的映射块的值保持没变并依旧被存储。但是,因为文件file.txt仅表示#3的地址,在地址#6的映射块的改变是否中断因此未完成则不确定。结果,地址为#6、#7和#8的数据块被保持为不可用的块。这些块不属于具体的文件,因此他们不能被删除;随后,他们可通过磁盘碎片整理来删除。但是,该磁盘碎片整理被设计为覆盖存储介质的全部范围,不能总被操作。此外,磁盘碎片整理需要相当多的处理时间,因此,不能经常操作。
因为大容量的文件可更频繁地引起在图3中示出的问题。因为要被改变的映射块的数量增加,则需要完成改变的时间增加,在该期间引起任何错误的可能性相应地增加。考虑到这点,有必要减少引起任何错误的可能性和删除文件所需的时间。
第2002-0087707号韩国未审查专利申请公开了用于用位图表示由有关的比特携带的块信息的方法和设备。但是,由于位图表示关于块的存储情况的信息,所以当删除它们时,所有的比特都需要被改变,因此引起不便。
特别地,在被经常用来给运动图像照相的数字装置中,大容量的运动图像的快速删除和新的不同的运动图像的存储严重地影响数字装置的提高速度。
发明内容
本发明提供一种用于文件的有效数据管理的方法和设备。
根据本发明的示例性实施例的一方面,提供了一种用于文件的数据管理的方法,包括接收删除文件的请求;在由一组映射块构成的块映像中搜索组成文件的映射块,并且在映射块中存储关于组成文件的数据块的信息;以及向删除列表添加链接的列表,链接的列表由作为搜索结果获得的映射块形成。
根据本发明的示例性实施例的另一方面,提供了一种用于文件的数据管理的方法,包括接收分配文件存储空间的请求;在其中存储关于组成文件的数据块的信息的块映像中,使用组成删除列表的映射块来保护存储空间;以及从组成删除列表的映射块去除用于存储空间的映射块。
根据本发明的示例性实施例的另一方面,提供了一种用于文件的数据管理的设备,包括数据块,在其中存储文件的数据;块映像,包括一组在其中存储关于数据块的信息的映射块;删除列表,包括一组关于先前删除的文件的映射块;以及块分配单元,用于使用删除列表的映射块为存储文件分配空间。
通过下面结合附图进行的对其中的示例性实施例的详细的描述,本发明的上述和其他方面将会变得更加清楚,其中图1A和1B是示出传统的文件系统的结构和存储介质的方框图;图2是示出在传统的文件系统中通过块映像的文件的存储的概念性示图;图3是示出在传统的文件系统中删除文件所引起的错误如何影响存储装置的方框图;图4示出根据本发明的示例性实施例的文件系统和存储装置的结构;图5A至5C是示出根据本发明的示例性实施例的文件删除的例子的概念性示图;图6是示出根据本发明的示例性实施例的通过块分配单元存储文件的操作的概念性示图;图7A和7B是示出根据本发明的另一实施例的文件删除的例子的方框图;图8是示出根据本发明的示例性实施例的将删除列表恢复成可用的存储空间的方框图;图9是示出根据本发明的示例性实施例的文件的删除的流程图;以及图10是示出根据本发明的示例性实施例的文件的存储的流程图。
具体实施例方式
组成计算机系统的存储介质包括文件系统和实际存储在其中的数据。如上所述,文件系统指有效地管理文件的系统。现在,各种文件系统被用在许多计算机系统中,下文将要做简要的描述。
-文件分配表(FAT)FAT是由在磁盘中以文件表格式存在的WINDOWSTM系统支持的文件系统。当FAT被损坏时,为了恢复其,有两个FAT。这是在WINDOWS NTTM系统支持的文件系统中最简单的形式。FAT是最初的文件系统,并有如FAT12、FAT16和FAT32的多个FAT的版本。FAT16可用在除了WINDOWSTM操作系统之外的不同的操作系统下。
-高性能文件系统(HPFS)该文件系统在OS/21.2中被介绍,并包括FAT的目录结构。该系统包括基于文件名字自动排列文件的功能。该系统增加了命名规定的灵活性,并通过在簇中将文件分配的单元用作物理段来减少磁盘的损失。HPFS使得单文件能够被存储在一系列的链接区中,因此加速了文件系统。
-新技术文件系统(NTFS)NTFS在目录基础上管理文件,并像HPFS那样排列它们。该系统还提供修补文件系统的任何错误和防止扇区的删除的功能。该系统检查对文件已经做了哪些工作并取消已经做的工作,因此保持文件系统中的连贯性。该系统经常被用在WINDOWS NTTM系统中,但也可被用在LINUXTM系统中。
这些文件系统除了计算机可被应用在在其中存储数据的数字装置中。因此,它们还可应用于处理数字数据的机器和设备,包括蜂窝式电话、PDA、笔记本计算机、数字电视。
这些文件系统还可被应用于如硬盘、压缩光盘的存储介质、如闪速存储器、袖珍型记忆棒、或安全数码(SD)卡或多媒体卡(MMC)等的外部存储介质。
最近人们对数字多媒体数据很感兴趣,并且文件系统已经成为数字机器和设备中重要的组成。根据本发明的示例性实施例用于通过文件系统体现的删除和存储文件的方法和设备可被应用在处理数字多媒体信息的设备的嵌入式存储器中。
每个文件系统具有固有性质。如上述的文件系统,多数的文件系统具有图1中示出的结构。即,它们由具有关于每个文件的位置的信息的数据块映像和组成文件的数据(比特)的集合所构成。
图4示出根据本发明的示例性实施例的文件系统和存储装置的结构。
在如下要描述的本发明的示例性实施例中,“部分”或“模块”表示如现场可编程门阵列(FPGA)或专用集成电路(ASIC)软件组件或硬件组件。模块执行特别的功能但不限制于软件和硬件。模块可被包括在可设定地址的存储介质中或可被配置以运行一个或多个处理器。因此,模块可包括如软件组件、面向对象的软件组件、类组件、和任务组件、进程、函数、属性、过程、子程序、程序代码段、驱动器、固件、微码、电路、数据、数据库、数据结构、表、数组和参数的组件。模块提供的组件和特点可被结合到更小数量的组件和更小数量的模块中,或可被分成更大数量的组件和更大数量的模块。另外,组件和模块可被实施,以这种方式它们在装置或安全MMC中运行一个或多个中央处理单元(CPU)。
文件系统10包括删除列表12和块分配单元14。删除列表12管理删除的文件的映射块的列表。当文件被删除时,组成文件的映射块被链接到删除列表12,并且删除列表12不将映射块改变成0。在文件系统10中删除列表12可用文件格式(即trash.sys)建立或作为一个特定的值。根据文件系统可表现出不同的删除列表。当没有文件被删除时,删除列表12可能不会被创建。例如,当删除列表12以文件的格式表现时将没有删除列表12。如果这样,则当安装文件系统时,可能会创建新的删除列表12。当输入文件的删除的请求但在文件系统中不存在删除列表12时,文件可能会被转变成删除列表12或者新的删除列表被创建以执行文件的删除。
块分配单元14搜索任何可用存储空间以在其中存储文件。在传统的技术中,通过特定的映射块的值(例如0)来识别可用存储空间。与传统的技术不同,具有0值的映射块可在块映像中搜索到或者可使用组成删除列表的映射块。
当用映射块时,不需要在块映射中搜索具有值0的映射块以定位可用存储空间的位置;相反,用删除列表存储文件。
因此,当用删除列表时,由于删除引起的映射块的任何改变可被避免,改变块映像的用于为映射块创建链接的列表的操作可在存储文件中减少。这样对如对写操作敏感的NAND闪速存储器的存储器介质特别有用。另外,在数据被分配到删除列表的情况下,因为用已经建立的映射块的链接(链,连接)所以执行创建新映射的必要操作的时间可被缩短。
删除列表可具有通过删除的映射块形成的链接的列表的开始地址,或者为了快速执行,还可保留链接的列表的最后的映射块的地址。
图5A至5C是示出根据本发明的示例性实施例的文件删除的例子的概念性示图。
图5A显示两个命名为file1.txt和file2.txt的文件。在该图中,删除列表以命名为trash.sys的文件的形式体现。这是本实施例的例子,并可用指定的特定值来建立。即,固定地指示文件系统内的特定地址并基于该地址指示删除的映射快的列表的机制可被使用。
在图5A中,文件trash.sys具有值0xffff,表示没有先前删除的文件的映射块或者删除的文件的映射块被重用以再次存储不同文件的数据。自然地,该值根据具体的文件系统可被不同地定义。
在块映射中通过映射块的映射,可确定file1.txt具有两个数据块(2->3)和file2.txt具有六个数据块(5->6->7->8->9->11)。为了删除文件,要删除的该文件的第一映射块被链接到trash.sys 12。在值0xffff被存储到删除列表的情况下,因为该链接已经被删除所以没有映射的块,所以该链接可被改变到要被删除的文件的开始位置。
在图5A中,因为作为删除列表的trash.sys不指示任何特别的映射块,所以通过将指出file1.txt的开始映射块的值2传递到删除列表来完成file1.txt的删除。
图5B示出从图5A中删除file1.txt的结果。作为删除列表的trans.sys表示删除的file1.txt的映射块。
在file2.txt在删除file1.txt之后被删除的情况下,file2.txt的开始地址成为作为删除列表的trash.sys的最后的块映像(3)的值。如果这样,trash.sys被链接到file2.txt。在图5C中显示该操作的结果。
在图5C中,映射块被改变但是数据块不需要被改变。这是因为,即使一些数据保留在数据块中,它们也是无用的,并且通过将新值输入到此数据块中不同的文件中也可被存储。
其后,块分配单元在删除列表中可使用具有映射块的值0的数据块或者分配通过映射块表示的数据块。
图6是示出根据本发明的示例性实施例的通过分配单元存储文件的操作的概念性示图。
图6显示将新文件加入到图5C的块映像的位置的结果。根据传统的方法,块分配单元可在数据映射块中定位映射块值是0的空间。另外,根据本发明的示例性实施例,存储空间可通过删除列表来而被分配。新文件newfile.txt需要两个数据块。地址为#2和#3的数据块可从由删除列表指示的链接的列表中取得然后被使用。因为地址为#2和#3的映射块被分配到newfile.txt,则作为删除列表的trash.sys指示紧接这些映射块的地址#5。
图7A和7B是示出根据本发明的另一示例性实施例的文件删除的例子的方框图。
在具有大容量的文件的情况下,要找到指示文件终止的映射块需要时间用于连续地继续链接。自然地,用来定位继续映射块的链接的最终映射块的值的时间比用来当继续映射块的链接时将值改变成0的时间短。
除了开始映射块的位置之外图7A和7B的文件系统还保留了最终映射块的位置,以缩短在连续地定位链接所消耗的时间。文件file2.txt具有地址#5和#11的值以确定该文件。地址值#5指出在其中存储文件file2.txt的数据的开始位置,#11指出在其中存储file2.txt的数据的最终位置。作为删除列表的文件trash.sys还具有两个值作为链接开始位置的#2和作为链接终止位置的#3。图7A示出在file2.txt被删除之前块映像的结构。图7B示出在file2.txt被删除之后块映像的结构。
如果file2.txt被删除,则file2.txt的开始位置可被添加到图5C中所述的trash.sys的链接的末尾。在没有通过继续trash.sys的链接来定位链接的末尾的情况下,最终块可通过trash.sys中#3的信息来确定。然后,file2.txt的开始值,#5,被作为块映像(3)的值存储,并且trash.sys的最终映射块的值被改变成file2.txt的最终映射块的地址,#11。即使当删除另一文件时,trash.sys的最终位置是#11的信息可被容易地确定,而不用继续链接。
图8是示出根据本发明的示例性实施例的将删除列表恢复成可用的存储空间的方框图。
有利地,删除列表使得删除文件很容易。但是,在删除列表存在于可拆卸的存储装置(例如SD卡,MMC卡)中,这些装置还可被连接在其他系统上的情况下,其他系统将不考虑该情况而分配块。因此,期望在那些装置中去除删除列表。为此,需要将组成删除列表的映射块的值恢复成0的操作。
图8根据图7A和7B的块映像示出删除列表的映射块在相等的时间间隔被块分配单元改变成0映射块的第二和第三地址都具有值0。但是,在删除列表具有很多映射块的情况下,花费长时间将所有都改变成0。因此,只有一些映射块可被改变成0。另外,在系统已经被闲置了很长时间的情况下,所有的删除列表的映射块可被改变。可根据系统的资源和情况不同设置用于为块分配单元改变删除列表的映射块和要被改变的映射块的数量的时间。
图9是示出根据本发明的示例性实施例的文件的删除的流程图。
文件系统接收来自应用的删除文件的请求(S102)。应用可以是用户用的操作系统或程序。已经接收到该请求的文件系统在块映像中搜索组成文件的映射块(S104)。文件传输在文件中的错误并且如果定位映射块失败则终止(S120)。如果组成文件的映射块被作为搜索的结果进行定位,则文件系统获得文件的开始映射块的位置(S110)。文件系统获得删除列表的最终映射块的位置(S112)。如果删除列表的最终映射块的值被设置成将被删除的文件的开始映射块的地址(S114),则删除列表中要被删除的文件的映射块逻辑上以链接的形式被连接。通过该操作,文件被删除并且已经完成文件删除的信息被传输(S130)。
图9的流程图还示出将删除的文件的映射块添加到删除列表的后面的部分。根据另一示例性实施例,删除的文件的映射块可被添加到删除列表的后面的部分。该添加根据具体的文件系统被不同地体现。
图10是示出根据本发明的示例性实施例的文件的存储的流程图。
文件系统从应用接收存储文件的请求(S202)。应用可以是用户使用的操作系统或程序。已经接收到请求的文件系统在块映像中搜索删除列表(S204)。在没有删除列表的情况下,文件系统在块映像中搜索可用的映射块,因此存储空间可被分配(S220)。
如果有删除列表,组成删除列表的映射块作为文件存储空间被分配(S210)。作为该分配的例子,在组成删除列表的映射块中,存储文件所需的映射块通过连续地存储文件被返回到链接的列表。在删除列表中没有足够的映射块存储文件的情况下,映射块被恢复以存储部分文件。在操作S220中,在保留块中搜索可用的映射块,结果,文件存储可被分配。
当文件存储被分配时,映射块不再可组成删除列表,因此,它们从删除列表中被去除(S212)。根据示例性实施例,其中删除列表以链接的形式组成,与映射块相关的要被删除的链接被去除,为文件存储所分配的映射块从组成先前的删除列表的映射块之中的映射快被去除以建立链接。
在从删除列表去除为文件存储分配的映射块之后,文件系统表示保护在其中存储文件的空间(S214)。接着,文件可在分配的空间中被存储。
如上所述,根据本发明的示例性实施例文件可被快速地删除和存储。
根据本发明的示例性实施例,为删除和存储文件所执行的操作的数量可被减少。
本领域的普通技术人员将会理解,在不脱离如下权利要求所定义的本发明的精神和范围的情况下,可对其进行形式和细节各种改变。因此,如上所述的示例性实施例仅是图示的目的而不被解释为对发明的限制。发明的范围由所附的权利要求给出,而不是在前的描述,落于权利要求的范围内的所有变化和等同物被确定为包括在其中。
权利要求
1.一种用于文件的有效数据管理的方法,该方法包括接收删除文件的请求;在由一组映射块构成的块映像中搜索组成文件的映射块,并且在所述的映射块中存储关于组成文件的数据块的信息;以及向删除列表添加链接的列表,其中,链接的列表由作为搜索结果获得的映射块形成。
2.如权利要求1所述的方法,其中,所述的映射块包括关于在其中存储文件的数据的数据块的信息。
3.如权利要求1所述的方法,其中,所述的删除列表表示在块映像中的映射块的链接的列表,即组成先前删除的文件的映射块的链接的列表。
4.如权利要求1所述的方法,其中,组成链接的列表的第一映射块被添加到组成删除列表的最终映射块的后部。
5.如权利要求1所述的方法,其中,组成链接的列表的最终映射块被添加到组成删除列表的第一映射块的前部。
6.如权利要求1所述的方法,还包括通过将组成删除列表的映射块的信息表现为可用来从删除列表中去除它。
7.一种用于有效的文件数据管理的方法,该方法包括接收分配文件存储空间的请求;在其中存储关于组成文件的数据块的信息的块映像中,使用组成删除列表的映射块来保护存储空间;以及从组成删除列表的映射块去除用于存储空间的映射块。
8.如权利要求7所述的方法,其中,所述的删除列表表示在块映像中的映射块的链接的列表,即组成先前删除的文件的映射块的链接的列表。
9.如权利要求7所述的方法,其中,文件被存储在由用于保护存储空间的映射块所表示的数据块中。
10.一种用于文件的有效数据管理的设备,该设备包括数据块,在其中存储文件的数据;块映像,包括一组在其中存储关于数据块的信息的映射块;删除列表,包括一组组成先前删除的文件的映射块;以及块分配单元,用于使用删除列表的映射块为存储文件分配空间。
11.如权利要求10所述的设备,其中,所述的映射块包括关于在其中存储文件的数据的块的信息。
12.如权利要求10所述的设备,其中,所述删除列表表示在块映像中的映射块的链接的列表,映射块的链接的列表表示组成先前删除的文件的映射块。
13.如权利要求10所述的设备,其中,所述的组成先前删除的文件的链接的列表的第一映射块被添加到组成删除列表的最终映射块的后部。
14.如权利要求10所述的设备,其中,所述的组成先前删除的文件的链接的列表的最终映射块被添加到组成删除列表的第一映射块的前部。
15.如权利要求10所述的设备,其中,所述的块分配单元接收文件存储空间的分配的请求,使用组成删除列表的映射块保护文件存储空间,并从删除列表中去除使用在存储空间中的映射块。
16.如权利要求10所述的设备,其中,所述的块分配单元通过将组成删除列表的映射块表示成可用来去除它们。
17.如权利要求10所述的设备,其中,所述的文件被存储在由作为分配的存储空间的数据块所表示的数据块中。
全文摘要
提供了一种用于文件的有效数据管理的方法和设备。一种文件的有效数据管理的方法包括接收删除文件的请求;在由一组映射块组成的块映像中搜索组成文件的映射块,并且在映射块中存储关于组成文件的数据块的信息;以及向删除列表添加链接的列表,链接的列表由作为搜索结果获得的映射块形成。
文档编号G06F17/30GK1734430SQ200510088929
公开日2006年2月15日 申请日期2005年8月3日 优先权日2004年8月4日
发明者权们相 申请人:三星电子株式会社