《管理文件系统的设备和方法.pdf》由会员分享,可在线阅读,更多相关《管理文件系统的设备和方法.pdf(22页完整版)》请在专利查询网上搜索。
本发明公开了一种管理文件系统的设备和方法。该管理文件系统的设备包括:用户输入单元,输入与预定数据对应的输入值;数据存储单元,包括几个具有预定大小的能够存储数据的数据块;信息存储单元,存储关于存储在数据块中的数据的数据信息;和控制单元,通过使用存储的数据信息将与输入值对应的数据存储在每个数据块的空闲空间中。。
CN200610073113.X
2006.04.04
CN1848118A
2006.10.18
授权
有权
授权|||实质审查的生效|||公开
G06F17/30(2006.01)
G06F17/30
三星电子株式会社;
许准会
韩国京畿道
2005.04.14 KR 10-2005-0031109
北京铭硕知识产权代理有限公司
韩明星;韩素云
本发明公开了一种管理文件系统的设备和方法。该管理文件系统的设备包括:用户输入单元,输入与预定数据对应的输入值;数据存储单元,包括几个具有预定大小的能够存储数据的数据块;信息存储单元,存储关于存储在数据块中的数据的数据信息;和控制单元,通过使用存储的数据信息将与输入值对应的数据存储在每个数据块的空闲空间中。
1、 一种管理文件系统的设备,包括:数据存储单元,包括多个每个具有预定大小的用于存储数据的数据块;数据信息存储单元,存储关于存储在数据块中的数据的数据信息;和控制单元,使用存储的数据信息将数据写入每个数据块的空闲空间。2、 如权利要求1所述的设备,其中,所述数据信息包括:块映射,包括关于每个数据块总的使用空间的信息;子块映射,包括关于存储在数据块中的数据所使用的空间的信息;和空闲块映射,包括关于每个数据块之内的空闲空间的信息。3、 如权利要求2所述的设备,其中,所述块映射包括分配给每个数据块的块ID和关于数据块的使用空间的信息。4、 如权利要求2所述的设备,其中,所述子块映射还包括:分配给存储数据的数据块之内的与一组数据对应的子块的子块ID;每个存储数据的数据块的块ID;数据块中所述一组数据的起始位置;存储在每个数据块中的所述一组数据的大小;和当由于所述一组数据的大小超过一个数据块的大小而导致所述一组数据被分开并被存储在其它数据块中时,关于与其它数据块的关系的信息。5、 如权利要求4所述的设备,其中,当所述一组数据的大小超过数据块的大小时,另外的子块ID被分配给另一数据块的另一子块。6、 如权利要求2所述的设备,其中,所述空闲块映射包括每个数据块的块ID和关于每个数据块的空闲空间的信息。7、 如权利要求2所述的设备,其中,所述控制单元将数据存储在如空闲块映射所指示的空闲空间中,然后更新块映射、子块映射和空闲块映射。8、 一种管理文件系统的方法,包括:提供一组数据;提取关于存储在多个数据块中的数据的数据信息;和根据提取的数据信息将所述一组数据存储在所述多个数据块中的至少一个的空闲空间中。9、 如权利要求8所述的方法,其中,所述数据信息包括:块映射,包括关于每个数据块总的使用空间的信息;子块映射,包括关于存储在每个数据块中的数据所使用的空间的信息;和空闲块映射,包括关于每个数据块之内的空闲空间的信息。10、 如权利要求9所述的方法,其中,所述块映射包括分配给每个数据块的块ID和关于每个数据块的使用空间的信息。11、 如权利要求9所述的方法,其中,所述子块映射还包括:分配给存储数据的数据块之内的与一组数据对应的子块的子块ID;数据块的块ID;数据块中所述一组数据的起始位置;存储在数据块中的所述一组数据的大小;和当由于所述一组数据的大小超过一个数据块的大小而导致所述一组数据被分开并被存储在其它数据块中时,关于与其它数据块的关系的信息。12、 如权利要求11所述的方法,其中,当所述一组数据的大小超过数据块的大小时,另外的子块ID被分配给另一数据块的另一子块。13、 如权利要求9所述的方法,其中,所述空闲块映射包括每个数据块的块ID和关于每个数据块的空闲空间的信息。14、 如权利要求9所述的方法,还包括:在将所述一组数据存储在空闲块映射所指示的空闲空间中之后,更新块映射、子块映射和空闲块映射。
管理文件系统的设备和方法 本申请要求于2005年4月14日在韩国知识产权局提交的第10-2005-0031109号韩国专利申请的优先权,该申请完全公开于此以资参考。 技术领域 本发明涉及一种管理文件系统的设备和方法,更具体地讲,涉及一种能够有效地使用文件系统的数据块的管理文件系统的设备和方法。 背景技术 自从计算机被首次引入,文件系统被不断研究,并且已产生多种文件系统。通常,文件系统的示例包括Unix文件系统(UFS)、系统文件系统(SFS)、Veritas文件系统(VxFS)、远程文件共享(RFS)和网络文件系统(NFS)。 这些稳定有效的文件系统广泛使用在商业中,但是它们具有下面的缺陷。在这些系统中的Unix文件系统和系统文件系统这两个文件系统中,最初格式化的结构随后不能被改变,并且整个文件系统仅能备份为相同格式和大小的文件系统。在Veritas文件系统中,由于最初格式化的文件系统被不断增大,所以可以改变最初格式化的文件系统,但是Veritas文件系统仅能够由至少相同大小的另一Veritas文件系统来备份。网络文件系统和远程文件共享都不是新的。它们是支持在几台计算机中共享使用文件系统的机制。 图1是文件系统的传统格式的示图。 参照图1,传统文件系统格式包括:数据块区11,存储数据;和块映射区12,存储包括关于存储在数据块区11中的数据的信息的块映射。 数据块区11包括多个大小相同的数据块,块映射区12的块映射包括关于存储在每个数据块中的数据的信息,即,数据块的大小。此外,当预定大小的数据超过数据块大小时,块映射可包括关于各个数据块之间的关系的细节。 图2是示出数据如何被存储在图1的数据块区11中的文件系统的传统格式的示图。作为示例,假定数据块区11中的每个数据块的大小为100KB。还假定只有数据被存储在每个数据块中。 参照图2,数据被存储在数据块区11的每个数据块中。这里,不管将被存储的数据的大小,每个数据块被分配给一组数据。于是,一个数据块被分配给10KB数据,另一数据块被分配给70KB数据。于是,当10KB数据被存储时,90KB未使用,而当70KB数据被存储时,30KB未使用。如果存储的数据的大小超过一个数据块的大小,那么该数据可被存储在几个数据块中。 如上所述,如果存储的数据的大小不超过一个数据块,那么未使用的空闲空间将会浪费。由于即使在数据大小超过一个数据块时空间也被浪费,所以该系统的存储效率低下。 第2000-0020057号韩国专利公开了一种组成动态文件系统的方法,该方法包括:确定文件系统的有用空间;确定有用块中数据块大小;产生任意文件;将该任意文件组成为动态文件。然而,由于块被单独确定,因此难以将该方法应用于每个数据块。 发明内容 本发明的一方面在于提供一种管理文件系统的设备和方法,使用这种设备和方法,通过确定存储数据的数据块的空闲空间并根据确定结果将数据存储在该空闲空间中,可有效地使用数据块的空间。 从下面的公开,本发明的这些方面、特点和优点对本领域的普通技术人员将会变得清楚。 根据本发明的另一方面,提供了一种管理文件系统的设备,该设备包括:用户输入单元,输入与预定数据对应的输入值;数据存储单元,包括几个具有预定大小的能够存储数据的数据块;信息存储单元,存储关于存储在数据块中的数据的数据信息;和控制单元,使用存储的数据信息将与输入值对应的数据存储在每个数据块的空闲空间中。 根据本发明的另一方面,提供了一种管理文件系统的方法,该方法包括:输入与预定数据对应的输入值;提取关于存储在几个具有预定大小的能够存储数据的数据块中的数据的数据信息;和根据提取的数据信息,将与输入值对应的数据存储在每个数据块的空闲空间中。 附图说明 通过下面参照附图对本发明示例性实施例进行的详细描述,本发明地以上和其它特点和优点将会变得更加清楚,其中: 图1是文件系统的传统格式的示图; 图2是显示存储的数据的文件系统的传统格式的示图; 图3是根据本发明示例性实施例的文件系统管理设备的方框图; 图4示出根据本发明示例性实施例的文件系统格式; 图5是示出根据本发明示例性实施例的将数据存储在数据存储单元中的方法的流程图; 图6示出用于存储附加数据的图4的文件系统格式; 图7是示出根据本发明示例性实施例的删除存储在数据存储单元中的数据的方法的流程图; 图8示出根据本发明示例性实施例的删除存储在数据存储单元中的数据之后的文件系统格式。 具体实施方式 现在将参照附图来更充分地描述本发明,在附图中示出了本发明的示例性实施例。通过参照下面对示例性实施例和附图的详细描述,将会更容易地理解本发明以及实现本发明的方法的优点和特点。然而,本发明可以以多种不同的形式被实施,而不应该被解释为限于这里阐述的实施例。相反,提供这些实施例以使得本公开将会详尽完整并将本发明的构思完全传达给本领域的技术人员,并且本发明将仅由权利要求限定。贯穿说明书,相同的附图标号表示相同的元件。 现在将参照附图来更加详细地描述本发明的示例性实施例。 图3是根据本发明示例性实施例的文件系统管理设备的示图。 参照图3,该文件系统管理设备包括:用户输入单元110,使用户能够输入预定数据;数据存储单元120,包括多个每个具有预定大小的用于存储数据的数据块;数据信息存储单元130,存储关于存储在每个数据块中的数据的信息;和控制单元140,基于存储的数据信息确定数据存储单元120的每个数据块的空闲空间,并将数据存储在确定的空闲空间中。 存储在数据信息存储单元130中的信息可包括每个数据块总的使用空间和存储在每个数据块中的每组数据所使用的空间,但是本发明并不限于此。 以下,关于每个数据块总的使用空间的信息被称为块映射,关于存储在每个数据块中的每组数据所使用的空间的信息被称为子块映射。 不管存储在预定数据块中的数据量,块映射包括关于存储在数据块中的数据所使用的全部空间的信息。子块映射可包括存储在预定数据块中的每组数据所使用的空间,例如,在有关数据块中的起始位置、所使用的空间以及关于与其它数据块的关系的信息。当由于有关数据块的未使用的空间不足以存储数据而使得该数据被分开地存储在其它数据块中时,鉴于与其它数据块的关系,可表示存储有关数据的多个数据块之间的关系。 就硬件而言,数据信息存储单元130可与数据存储单元120整体结合或者可被单独构造。当数据存储单元120是诸如硬盘或闪速存储器的存储介质时,数据信息存储单元130可与硬盘或闪速存储器结合,或者数据信息存储单元130可与它们分离。 控制单元140可通过块映射和子块映射确定每个数据块的未使用的空间,并且作为确定的结果,将经用户输入单元110接收的数据输入存储在空闲空间中。控制单元140可将所有输入数据存储在数据块的空闲空间中,或者当空闲空间不足时,控制单元140可划分数据并将其存储在其它数据块中。 当输入数据被存储时,控制单元140更新块映射和子块映射以使得将来存储数据时用户能够参照它们。不但在存储数据时可执行块映射和子块映射的更新,而且在删除数据时,也可执行块映射和子块映射的更新。 例如,当每个数据块的大小为100KB并且预定数据块的大小为50KB时,控制单元140可确定预定数据块的空闲空间为50KB。如果用户想要存储70KB数据,那么50KB数据被存储在预定数据块的空闲空间中,而另外20KB数据则被存储在另一数据块中。也就是说,数据被划分并被存储在两个数据块中。相应地,控制单元140可通过记录数据的数据块之间的关系和子块映射容易地访问预定数据。子块数据可包括数据从其开始的数据块、数据的起始位置、与其它数据块的关系和存储的数据的大小。 图4示出根据本发明示例性实施例的数据存储单元120和数据信息存储单元130。 参照图4,数据存储单元120包括多个数据块121至129,这些数据块中的每个具有预定大小。数据信息存储单元130可包括分别存储块映射、子块映射和空闲块映射的数据块131至133,所述块映射是关于存储在数据存储单元120中的数据的数据信息,所述空闲块映射包括关于数据存储单元120的每个数据块121至129的空闲空间的信息。这里,假定数据信息存储单元130的数据块131至133具有与数据存储单元120的数据块121至129相同的大小,并且数据存储单元120和数据信息存储单元130被集成。然而,这只是为了举例说明而假定,本发明不限于这种安排。 数据存储单元120和数据信息存储单元130的每个数据块以及存储在图4中的数据存储单元120中的每组数据可被分别授予ID以标识这些数据块和数据。 以下,授予每个数据块的ID被称为块ID,授予每组数据的ID被称为子块ID。为了区分块ID和子块ID,块ID被标记为A0、A1、A2、A3…,子块ID被标记为B1、B2、B3…。 按照数据块的块ID的顺序,子块ID可与预定数据相关联。例如,当预定数据被划分并被存储在块ID为A3和A4的数据块中时,如果块ID为A3的数据块被授予子块ID B4,那么块ID为A4的数据块被授予子块ID B5。因此,有关数据可具有子块ID B4和B5。在本实施例中,通过示例来描述这种情况:当预定的一组数据被划分并被存储在多个数据块中时,不同的子块ID被授予各个数据块以在这些数据块之间建立关系;然而,本发明不被如此限制。可通过诸如数据块的偏移量和数据大小的多种方法来检查每个数据块之间的关系。 为了更好地理解本发明,将参照表1来描述存储在图4中的数据存储单元120中的每组数据的子块ID和数据标签之间的关系。 [表1] 子块ID 数据标签 B0 Text1.txt B1 Text2.txt B2 Text3.txt B3 Text4.txt B4~B8 Music1.mp3 B9 Text5.txt B10~B11 Music2.mp3当具有表1中举例说明的子块ID的数据被存储在图4的数据存储单元120中时,每个数据块的块映射在表2中被举例说明。表2包括数据块的块ID和使用的空间的量。 [表2] 块ID 使用的空间(KB) A0 100 A1 100 A2 100 A3 100 A4 100 A5 100 A6 100 A7 75 A8 100 A9 100 A10 0 A11 0表3显示表示关于存储在数据块121至129中的数据的数据信息的子块映射以及表2的块映射。 [表3] 子块ID 块ID 起始位置 大小 下一子块ID B0 A3 0 15 EOF B1 A3 15 20 EOF B2 A3 35 15 EOF B3 A3 50 25 EOF B4 A3 75 25 B5 B5 A4 0 100 B6 B6 A5 0 100 B7 B7 A6 0 100 B8 B8 A7 0 50 EOF B9 A7 75 25 EOF B10 A8 0 100 B11 B11 A9 0 100 EOF在表3中,EOF(文件的末尾)是指数据的末尾;不对表3中标记有EOF的子块搜索下一子块。 控制单元140通过上述空闲块映射来管理数据存储单元120的空闲空间。当数据存储单元120具有如参照图4所描述的空闲空间时,空闲块映射133如表4中所指示。 [表4] 块ID 起始位置 大小 A7 50 25 A10 0 100 A11 0 100将描述根据本发明示例性实施例的文件系统管理设备的操作。 图5是示出根据本发明示例性实施例的将数据存储在文件系统中的方法的流程图。本发明的文件系统管理方法可被应用于存储、删除和复制数据存储单元120的数据。在本示例性实施例中,假定在数据存储单元120中存储预定数据,以及从数据存储单元120中删除预定数据。 如所示出的,用户通过用户输入单元100输入输入值来将预定数据存储在数据存储单元120中(S110)。 控制单元140确定关于与输入值对应的数据的数据信息(S120)。该数据信息可以是预定数据的大小。 控制单元140参照上述空闲块映射133确定数据存储单元120的空闲空间(S130)。 当确定数据存储单元120中存在空闲空间时,控制单元140将与输入值对应的数据存储在空闲空间中(S140)。 在数据已被存储之后,控制单元140更新块映射、子块映射和空闲块映射(S150)。通过根据表2的输入值将存储的数据所使用的空间添加到块映射,并且当所有与输入值对应的数据被存储在一个数据块中时分配子块ID,或者当数据被划分并被存储在多于一个数据块中时为每个数据块分配子块ID,可更新表1(以上描述的)。 在存储与输入值对应的数据之后,空闲块映射更新空闲空间。 具体地讲,当如图6所示具有子块ID B12和50KB大小的数据被存储在数据存储单元120中时,块映射、子块映射和空闲块映射在表5、表6和表7中被标识。 [表5] 块ID 使用的空间 A0 100 A1 100 A2 100 A3 100 A4 100 A5 100 A6 100 A7 75 A8 100 A9 100 A10 50 A11 0 [表6] 子块ID 块ID 起始位置 大小 下一子块ID B0 A3 0 15 EOF B1 A3 15 20 EOF B2 A3 35 15 EOF B3 A3 50 25 EOF B4 A3 75 25 B5 B5 A4 0 100 B6 B6 A5 0 100 B7 B7 A6 0 100 B8 B8 A7 0 50 EOF B9 A7 75 25 EOF B10 A8 0 100 B11 B11 A9 0 100 EOF B12 A10 0 50 EOF [表7] 块ID 起始位置 大小 A7 50 25 A10 50 50 A11 0 100如上所述,根据本发明示例性实施例的文件系统管理方法可被应用于数据的存储以及存储在数据存储单元120中的数据的删除。 图7是示出根据本发明示例性实施例的删除存储在数据存储单元中的数据的方法的流程图。 如所示出的,用户通过用户输入单元100输入输入值来从数据存储单元120删除预定数据(S210)。 控制单元140确定关于与输入值对应的数据的数据信息(S220)。该数据信息可以是预定数据的子块ID和大小。 控制单元140通过参照块映射、子块映射和空闲块映射来确定存储的数据的位置(S230)。 在通过块映射、子块映射和空闲块映射已确定数据位置之后,控制单元140删除数据(S240)。 在删除数据之后,控制单元140更新块映射、子块映射和空闲块映射(S250)。 具体地讲,当如图8所示存储在图4中显示的数据存储单元120中的具有子块ID B1和B9的数据从数据存储单元120中被删除时,块映射、子块映射和空闲块映射被分别更新,对应于表8、表9和表10。 [表8] 块ID 使用的空间 A0 100 A1 100 A2 100 A3 80 A4 100 A5 100 A6 100 A7 50 A8 100 A9 100 A10 0 A11 0 [表9] 子块ID 块ID 起始位置 大小 下一子块ID B0 A3 0 15 EOF - - - - - B2 A3 35 15 EOF B3 A3 50 25 EOF B4 A3 75 25 B5 B5 A4 0 100 B6 B6 A5 0 100 B7 B7 A6 0 100 B8 B8 A7 0 50 EOF - - - - - B10 A8 0 100 B11 B11 A9 0 100 EOF [表10] 块ID 起始位置 大小 A3 15 20 A7 50 50 A10 0 100 A11 0 100如上所述,所述管理文件系统的设备和方法可为将数据存储在文件系统中的数据块和存储在数据块中的数据分配块ID和子块ID,并可将数据存储在通过分配的块ID和子块ID确定的每个数据块的空闲空间中,从而能够有效地使用数据块的空间。 尽管已结合本发明的示例性实施例描述了根据本发明的管理文件系统的设备和方法,但是本领域的技术人员应该理解,在不脱离本发明的范围和精神的情况下,可以对其进行各种修改和改变。因此,应该理解,以上示例性的实施例是为了举例说明,而不是将本发明限制为如权利要求所阐述。
下载文档到电脑,查找使用更方便
30 金币 0人已下载
还可以输入200字符
暂无评论,赶快抢占沙发吧。
copyright@ 2017-2018 zhuanlichaxun.net网站版权所有经营许可证编号:粤ICP备2021068784号-1