信息记录介质的数据处理装置以及数据记录方法

文档序号:6501696阅读:159来源:国知局
专利名称:信息记录介质的数据处理装置以及数据记录方法
技术领域
本发明涉及一种在信息记录介质中记录数字数据的数据处理装置以及数据记录方法,特别涉及一种保证数字数据的写入处理的最低速度的技术。
背景技术
作为记录音乐内容、动画内容、静止图像内容等数字数据(以下简称作“数据”)的记录介质,存在半导体记录介质、磁盘、光盘、光磁盘等各种类型。特别是,由于半导体记录介质具有能够实现小型化·轻量化的特征,因此以数码相机或移动电话终端等便携机器为中心迅速普及起来。代表性的半导体记录介质有,SD存储卡(注册商标)、记忆棒(注册商标)、紧凑式闪存(注册商标)等。
半导体记录介质,年年向着大容量化迈进,期待应用于发挥大容量的优点的应用领域,特别是动画内容记录的用途。在用便携式影像终端等实时录制动画内容的情况下,为了防止因往记录介质中的写入速度不足所引起的录制停止,保证写入处理的最低速度这一点非常重要。
这些半导体记录介质中所保存的数据的管理,通过文件系统来实现。文件系统中,将记录区域分割成最小访问单位即扇区、以及扇区的集合即簇来进行管理,将1个以上的簇作为文件来进行管理。作为PC(个人计算机)等信息机器中一般所使用的文件系统,可以列举出FAT(FileAllocation Table文件定位表)文件系统作为一例(详细内容参照非专利文献1)。
另外,半导体记录介质内部以块这种单位来管理记录区域。因此,假设写入大小相同,则尽可能在同一个块中连续进行写入的话能够被高速执行。块的大小一般比上述簇的大小大。
以往,提出了通过让簇的边界与块的边界相一致,来提高往半导体记录介质中的写入的速度的方法(例如参照专利文献1)。如果使用该方法,1个块中就存在整数个簇。因此,在进行1个簇的写入处理时,不需要对两个以上的块进行更新处理。
专利文献1特开2001-188701号公报非专利文献1ISO/IEC9293,“信息技术-用于信息的磁盘盒的卷以及文件格式(Information Technology-Volume and file structure of diskcartridges for information)”,1994年。
上述现有技术存在如下问题。以往的控制方法中,如果在半导体记录介质中反复进行各种大小的文件写入以及删除,则会形成空闲区域断片化的状态。也即空闲簇的位置是离散的。如果对这种状态的半导体记录介质进行数据的写入,则在各个块内的空闲簇数较少的情况下,由于频繁进行跨越块的写入处理,因此与在同一个块内连续进行写入的情况相比,速度有可能大幅下降。因此,由于无法保证动画内容等的实时录像所必需的最低写入速度,从而有可能产生录像处理失败这一问题。

发明内容
本发明正是鉴于上述问题提出的,其目的在于提供一种能够减少往信息记录介质的写入处理的速度下降的数据记录装置以及记录方法。
(1)本发明中的第1数据记录方法,是对信息记录介质记录数据的记录方法,该信息记录介质具有存储数据的记录区域,且存储数据由文件系统管理。其中,信息记录介质,其记录区域被以块为单位管理,该块包含有给定数目的簇,该簇为文件系统的保存数据的单位。数据记录方法,在需要往新的空闲区域中记录数据的情况下,检索包含有给定阈值以上的未使用簇的块,并优先对该检索出的块进行数据的写入处理。
这种情况下,可以对包含有阈值以上个未使用簇的块即有效块内的未使用簇,进行数据的写入处理。
另外,上述数据记录方法中,可以对记录区域的各个块中所包含的未使用簇的数目进行统计,根据该统计结果求出上述有效块,生成作为与有效块相关的列表信息的有效空闲区域列表并保持,数据记录处理时,参照上述有效空闲区域列表,检索上述有效块。
与阈值相关的信息,可存储在信息记录介质内。阈值可为1个块中的簇的数目的1/2以上的值。
(2)本发明中的第一数据处理装置,对信息记录介质实施数据的写入、读出。信息记录介质,其记录区域被以块为单位管理,各个块包含有给定数目的簇,该簇为文件系统的保存数据的单位。第一数据处理装置,具有输入输出处理部,实施对信息记录介质的信息的输入输出;文件系统控制部,将信息记录介质中所保存的数据作为文件来管理;数据处理部,实施与对信息记录介质的数据写入、读出相关的控制;以及,有效空闲区域管理部,保持与信息记录介质的区域中包含给定阈值以上的未使用簇的块相关的信息。数据处理部进行控制,使得在需要往新的空闲区域中记录数据的情况下,参照有效空闲区域管理部中所保持的信息,检索包含有给定阈值以上的未使用簇的块,并优先对该检索出的块进行数据的写入。
(3)本发明中的数据重排方法,是信息记录介质的记录区域中的数据重排方法,该信息记录介质具有存储数据的记录区域,且该存储数据由文件系统管理,其中信息记录介质,其记录区域被以块为单位管理,该块包含有给定数目的簇,该簇为文件系统的保存数据的单位,并对信息记录介质的各个块,判断块中所包含的未使用簇的数目是否位于给定范围内,对块中所包含的未使用簇的数目位于给定范围内的块,将数据从其他块的使用簇移动至该块中所包含的未使用簇。
给定的范围,例如为1以上且不满1个块中的簇的数目的1/2的范围,或者为1以上且不满(1)的阈值的范围。
另外,信息记录介质,其存储数据由FAT文件系统管理,在FAT文件系统具有第一与第二FAT表作为链接信息的情况下,还设置有表示第一及第二FAT表中的有效的表的有效FAT标志,并且在数据移动后,将第二FAT表写入到信息记录介质中,将有效FAT标志,设为表示第二FAT表为有效,在信息记录介质中,将第二FAT表的内容拷贝到第一FAT表,将有效FAT标志,设为表示第一FAT表为有效。
(4)本发明中的第二数据处理装置,对信息记录介质实施数据的写入、读出,其中具有输入输出处理部,实施对信息记录介质的信息的输入输出;文件系统控制部,将信息记录介质中所保存的数据作为文件来管理;数据处理部,实施与对信息记录介质的数据写入、读出相关的控制;以及,块判断部,将信息记录介质内的各个块,按照块中所包含的未使用簇的数目进行分类,并保持该分类信息。数据处理部进行控制,参照块判断部中所保持的分类信息,对各个块,判断该块所包含的未使用簇的数目是否位于给定范围内,在该块中所包含的未使用簇的数目位于给定范围内的情况下,将数据从其他块的使用簇移动至该块中所包含的未使用簇。
通过本发明,能够避免在对空闲区域被断片化的半导体记录介质实施写入处理时,速度大幅下降。因此,由于能够保证动画内容的实时录制所必需的最低写入速度,因此非常有效。


图1为表示本发明的实施方式1中的半导体记录介质以及数据处理装置之构成的方框图。
图2为表示有效空闲区域列表的数据例的图。
图3为表示FAT文件系统之构成例的图。
图4为表示FAT文件系统的数据保存例的图。
图5为表示FAT文件系统的数据写入处理之一例的流程图。
图6为表示有效空闲区域列表的生成处理之一例的流程图。
图7为说明有效空闲区域列表的条目的有效标志的决定方法的图。
图8为表示使用有效空闲区域列表的FAT文件系统的数据写入处理之一例的流程图。
图9为表示文件数据写入处理前后的状态之一例的图。
图10为表示本发明的实施方式2中的半导体记录介质以及数据处理装置之构成例的方框图。
图11为表示块判断部之一例的示意图。
图12为表示数据重排处理之一例的流程图。
图13为表示往空闲簇Z的数据移动处理之一例的流程图。
图14为表示往空闲簇Z的数据移动处理的前后状态的变化之一例(链接目的地的簇位于空闲簇Z的后方的情况)的图。
图15为表示往空闲簇Z的数据移动处理的前后状态的变化之一例(链接目的地的簇位于空闲簇Z的前方的情况)的图。
图16A为表示数据重排处理的变形例的流程图。
图16B为表示数据重排处理的变形例中的FAT写入处理的流程图。
图中100-半导体记录介质,110-主机接口部,120-控制部,130-数据存储部,131-管理信息区域,132-数据区域,200、200b-数据处理装置,210-安装部,220-输入输出处理部,230-文件系统控制部,240-有效空闲区域管理部,241-有效空闲区域列表,242-选择标志,250-数据处理部,301-目录项,302-FAT表,260-块判断部。
具体实施例方式
下面对照附图对本发明的实施方式进行说明。
(实施方式1)图1为表示本发明的实施方式1中的半导体记录介质以及数据处理装置之构成例的方框图。
半导体记录介质100,由主机接口部110、控制部120、以及数据存储部130构成。
主机接口部110,与作为半导体记录介质100的主机的数据处理装置200之间,进行信息的交换。
控制部120进行半导体记录介质100的内部控制。控制部120,进行由主机接口部110所接收到的命令的处理,并且根据需要将处理结果经主机接口部110通知给数据处理装置200。另外,对数据存储部130中所保存的数据进行管理。
数据存储部130,具有可对来自数据处理装置200的任意数据进行读写的、记录数据的区域,由快闪存储器(flash memory)等非易失性存储器构成。数据存储部130的记录区域,由控制部120通过称作块(block)的单位进行管理。本实施方式中,1块的大小是256kB(千字节),数据存储部130的记录区域,由块#0、…、块#(N-1)这N个块构成。数据存储部130中构建有FAT文件系统。
数据处理装置200,由安装部210、输入输出处理部220、文件系统控制部230、有效空闲区域管理部240以及数据处理部250构成。
安装部210,是安装半导体记录介质100的硬件。
输入输出处理部220,对安装部210中所安装的半导体记录介质100进行命令或数据等信息的交换。
文件系统控制部230,对数据存储部130中所构建的FAT文件系统进行解释、控制。文件系统控制部230,对数据处理部250提供将数据作为文件进行访问的手段。另外,经由输入输出处理部220,访问数据存储部130的数据。另外,文件系统控制部230内部具有RAM(未图示),将半导体记录介质100内所保存的FAT信息存储在该RAM中。
有效空闲区域管理部240,对文件系统控制部230所管理的数据存储部130的空闲区域是否有效以块为单位进行管理。这里,“有效”是指,该区域(块)中能够进行一定速度以上的数据写入处理。一定速度是指例如实时录制动画内容所必需的最低写入速度。另外,有效空闲区域管理部240所管理的块,是逻辑地址空间上的区域,被与半导体记录介质100的数据存储部130内的物理地址空间上的块对应设定。有效空闲区域管理部240,生成作为有效空闲区域的列表的有效空闲区域列表241并进行管理。图2中示出了有效空闲区域列表241的构成例。图2中表示的是,块编号为0、Q-1的块为有效空闲区域也即有效块。另外,有效空闲区域管理部240,具有选择标志242。选择标志242,是表示在数据写入处理中,有效空闲区域列表241中所含有的多个条目(entry)中之一是否为选择中的标志。
数据处理部250,承担数据处理装置200的核心的处理,对半导体记录介质100中所保存的数据或今后要保存的数据进行处理。例如,数据处理部250,实施涉及对半导体记录介质100的数据的写入、读出的控制。
接下来,对数据存储部130中所构建的FAT文件系统进行说明。
图3为表示数据存储部130中所构建的FAT文件系统的数据构造例的图。构成数据存储部130的N个(N为2以上的自然数)块中,P个(P≤N)块,被作为存储用来管理本文件系统的全体的信息的管理信息区域131来利用,剩下的Q个(Q=N-P)的块,被作为保存文件的实体数据等的数据区域132来利用。
管理信息区域131,由保存用来将数据存储部130分割成多个称作分区的区域来进行管理的信息的主引导记录分区表、保存1个分区内的管理信息的分区引导扇区、表示文件中所包含的数据的物理保存地址的FAT表1以及FAT表2、以及保存位于根目录下的文件或目录的信息的根目录项构成。这里,FAT表之所以有两个,是因为由于FAT表保存有重要的信息,因而将其双重化。
数据区域132,被分割成多个称作簇(cluster)的逻辑数据单位来管理,各个簇中存储有文件中所包含的数据。保存有较大尺寸的数据的文件等,使用多个簇,各个簇之间的链接通过FAT表1以及FAT表2中所保存的链接信息来管理。另外,本实施方式中簇的大小是16kB。因此,1块包含有16个簇。数据区域132中,存在有簇#0,…,簇#(M-1)这M个簇。
对照图4对FAT文件系统中的文件数据的更加具体的存储例进行说明。
根目录项以及数据区域132的一部分中,存储有如图4(a)所示的保存文件名以及文件大小等的目录项301。作为文件数据的保存目的地的数据区域132,通过簇单位来管理,各个簇被赋予了可唯一识别的簇编号。为了确定保存有文件的数据的簇,目录项301中,保存有存储了文件数据的开头部分的簇的簇编号(开始簇编号)。图4(a)的目录项301的例子中表示的是,具有“FILE001.TXT”这一名称的文件的数据,被从簇编号31的簇起保存。
在为在多个簇中存储有数据的文件的情况下,链接信息保存在FAT表中。图4(b)中示出了FAT表302的例子。FAT表302中,存储有表示各个簇的链接信息的FAT条目。FAT条目中,保存有接下来要链接的簇的簇编号。图4(b)的例子中,保存有“32”作为对应簇编号31的FAT条目。这表示簇编号31的簇链接到簇编号32的簇。同样,对应簇编号32的FAT条目中保存有“34”,对应簇编号34的FAT条目中保存有“35”,按照簇编号31、32、34、35的顺序链接起来。接下来,对应簇编号35的FAT条目中保存有“FFF”,而“FFF”表示链接的末端的意思,因此从簇编号31起开始的链接,在簇编号31、32、34、35这4个簇结束。因此,“FILE001.TXT”这一文件名的数据,在数据区域132中,如图4(c)所示,按照簇#31、#32、#34、#35的顺序保存。另外,对应簇编号33的FAT条目中所保存的“0”,表示该簇没有被分配文件,是空闲区域也即未使用。
接下来,对FAT文件系统中的文件数据的写入处理之一例进行说明。
图5为表示FAT文件系统中的文件数据写入处理的步骤的流程图。文件数据写入处理中,首先一开始,将进行写入的对象文件的目录项301,读出到文件系统控制部230的RAM中,取得该目录项301中所保存的开始簇编号,通过这样,来确认对象文件的数据的开头位置(S401)。接下来,将FAT表1以及FAT表2读出到文件系统控制部230的RAM中,从在步骤S401中所取得的对象文件的数据开头位置起,顺次参照读出到RAM中的FAT表1或FAT表2追溯链接,取得对应写入位置的簇编号(S402)。
之后,在数据写入时,判断是否需要给该对象文件分配新的空闲区域(S403)。在不需要空闲区域的分配的情况下,进入步骤S405的处理。在需要分配空闲区域的情况下,在FAT表1或FAT表2中检索空闲区域(空闲簇),将1簇份的空闲区域分配给对象文件的末端(S404)。
之后,在目前所参照的簇中,写入要写入的数据(S405)。此时,读出到文件系统控制部230的RAM中的FAT表1、2,也伴随数据写入处理更新。
接下来,判断所有数据的写入是否已经完成(S406)。在还有数据残留的情况下,回到步骤S403的处理,接着对簇重复S403~S406,进行往数据区域132中的数据写入。在对象文件的所有数据的写入已经完成的情况下,将读出到文件系统控制部230的RAM中的目录项301内所保存的文件大小以及时间戳等更新之后,将更新过的目录项写入到半导体记录介质100中(S407)。
最后,将在文件系统控制部230的RAM中更新过的FAT表1以及FAT表2,写回到半导体记录介质100中,完成处理(S408)。
通过重复大小不同的文件的写入与删除,上述FAT条目的链接信息逐渐变得复杂。也即,变成各个文件数据在数据区域132中被以离散的状态保存的状态。同样,作为未使用的区域的空闲区域,也被保存在离散的位置中。将此称作“数据的断片化”。在往产生该数据的断片化的记录区域记录数据的情况下,访问该区域需要花费时间。因此,本实施方式中,要使得在数据记录时,不往产生这样的数据断片化的区域记录数据。下面,对这样的数据记录方法进行详细说明。
在说明数据记录方法之前,先对有效空闲区域列表241的生成步骤进行说明。
图6为说明数据处理装置200的有效空闲区域管理部240生成有效空闲区域列表241的步骤的顺序例。
有效空闲区域列表的生成处理中,第一,设定有效空闲区域管理部240在块中存在几个以上的空闲簇的情况下允许写入的阈值T(S501)。本实施方式中,阈值T使用预先决定的值(固定值)。阈值T,优选设定为1块中所含有的簇数的1/2以上的值。同时,进行阈值T的设定以外的初始化处理(S501)。例如,将有效空闲区域列表241的所有条目的有效标志设为“0”(无效)。
接下来,将数据区域132的开头起的块编号i(i为变量)设为0(S502)后,进行以下的处理。
有效空闲区域管理部240,从文件系统控制部230接收FAT表1、2的信息,统计存在于第i个块中的空闲簇的数目X(S503)。之后,判断空闲簇数X是否为阈值T以上(S504)。
在空闲簇数X为阈值T以上的情况下(是的情况),将如图2所示的有效空闲区域列表241的第i个条目的有效标志设为“1”(有效)(S505)。
在空闲簇数X不为阈值T以上的情况下(否的情况),将有效空闲区域列表241的第i个条目的有效标志设为“0”(无效)(S506)。
之后,给块编号i加1(S507),判断块编号i是否为数据区域132的总块数Q以上(S508)。如果i不满Q,则回到步骤S503的处理,重复S503~S507。另外,步骤S508中,如果块编号i为Q以上,就结束处理。
图7为说明阈值T为“8”的情况下的有效空闲区域列表241的条目的有效标志的设定方法的图。图中,使用中的簇中被标注了阴影。图7(a)的例子中,由于块具有11个空闲簇,阈值T为8以上,因此将条目的有效标志设为“1”(有效)。图7(b)的例子中,块具有3个空闲簇,空闲簇数不满8,因此将条目的有效标志设为“0”(无效)。
对本实施方式中的文件数据的写入处理的步骤进行说明。图8为表示本实施方式中的文件数据写入处理的步骤的图。
文件数据写入处理中,第一,将选择标志242设为OFF(S801)。接下来,将写入对象文件的目录项301读出到文件系统控制部230的RAM中,取得保存在上述目录项301中的文件开始簇编号,确认文件数据的开头位置(S802)。
接下来,将FAT表1、FAT表2读出到文件系统控制部230的RAM中,从由步骤S802所取得的文件数据的开头位置起,顺次参照从读出到RAM中的FAT表1或FAT表2来追溯链接,取得写入位置的簇编号(S803)。
接下来,在数据写入时,判断是否必需给该对象文件新分配空闲区域(S804)。在不需要分配空闲区域的情况下(否的情况下),进入步骤S810的处理。
在需要分配空闲区域的情况下(步骤S804中是的情况),判断选择标志242是否为ON(S805),只在选择标志242为OFF的情况下,参照有效空闲区域列表241,选择1个有效标志为“1”(有效)的块,同时将选择标志242设为ON(S806)。也即,在选择标志241为ON时,已经选择了有效标志为“1”(有效)的块作为写入区域,而在选择标志241为OFF时,由于尚未选择有效标志为“1”(有效)的块,因此需要参照有效空闲区域列表241,新选择有效标志为“1”(有效)的块。另外,在有效空闲区域列表241中完全不存在有效标志为“1”(有效)的块时,从有效标志为“0”(无效)的块中选择1个块。像这样,从有效标志为“1”(有效)的块中优先选择。
参照RAM中的FAT表1或FAT表2,检索所选择的块中的空闲簇(S807)。之后,判断是否存在空闲簇(S808)。
在不存在空闲簇的情况下(S808中否的情况),在空闲区域列表241中将当前选择中的块的有效标志无效化(S809)。也即,将相应的条目的有效标志更新为“0”(无效)。再将选择标志242设为OFF(S809)后,返回步骤S806的处理。
在存在空闲簇的情况下(S808中是的情况),将要写入的数据写入到当前正参照的空闲簇内(S810)。
接下来,判断全体数据的写入是否完成(S811)。另外,在残留有应当写入的数据的情况下,回到步骤S804的处理,重复上述步骤S804~S810,直到所有数据的写入完成。
在所有数据的写入完成了的情况下,对文件系统控制部230的RAM中的目录项301内所保存的文件大小以及时间戳等进行更新,之后,将更新过的目录项写入到半导体记录介质100中(S812)。之后,将文件系统控制部230的RAM上的FAT表1、FAT表2,写回到半导体记录介质100中(S813)。
最后,确认当前选择中的块的空闲簇数,如果不满阈值T,则将有效空闲区域列表241的相应条目的有效标志更新为“0”(无效),并完成处理(S814)。
参照图9,对基于上述文件数据写入处理的、空闲簇的选择进行具体说明。设在进行文件数据的写入之前,数据区域132的状态如图9(a)所示。阈值T为8,有效空闲区域列表241中,块#0以及块#3为“有效”,块#1以及块#2为“无效”。
图9(b)示出了通过上述文件数据写入处理写入了16簇份的数据的情况下的例子。从块#0起开始数据写入,在块#0的所有空闲簇中都记录了数据后,接下来在块#3中记录数据。其原因是,由于块#1以及块#2中有效标志被设为了“无效”,因此不进行往这些块中的写入。这种情况下,块之间的迁移只有从块#0到块#3这1次。
另外,图9(c)中示出了通过以往的文件数据写入处理写入16簇份的数据的情况下的例子。以往的方法中,由于从FAT表1、FAT表2的开头起检索空闲,因此还会往块#1以及块#2中写入。其结果是,块间的迁移,产生从块#0到块#1、从块#1到块#2、从块#2到块#3这3次。这种情况下,与图9(b)的情况相比,由于在块之间进行迁移的次数增加,因此数据记录时的处理速度变得更慢。
如上所述,本实施方式中,数据处理装置200在往半导体记录介质100中写入数据之前,先确认半导体记录介质100的块中的空闲簇的数目,只在空闲簇数为一定值以上的块中进行写入处理,因此能够减少导致写入速度的大幅降低的原因即块间迁移的产生次数。
因此,对于空闲区域被断片化了的半导体记录介质100,也能够保证动画内容的实时录制所需要的最低写入速度。
另外,还可以考虑以下的变形例。
(1)本实施方式中,在图6中所示的步骤S501的处理中,对阈值T被预先作为固定值决定的情况进行了说明,但也可以在半导体记录介质100中事先保存关于阈值T的信息,数据处理装置200参照该信息来设定阈值T。另外,还可以根据用户所指定的信息来决定。
(2)本实施方式中,以FAT文件系统为例进行了说明,但并不仅限于此。在用比访问单位更小的单位来管理文件数据的情况下,也能够使用本发明的思想。
另外,块单位以及簇单位均是一例,还可以是其他大小。
(3)本实施方式中,在文件数据写入处理的步骤的说明中,省略了出错处理,但也可以添加出错处理。例如,在图8中所示的步骤S806的处理中,在有效空闲区域列表241中不存在有效标志为“1”(有效)的块的情况下,作为出错处理可以中断写入处理。
(4)本实施方式中,对在文件数据写入处理之前,预先生成有效空闲区域列表241的例子进行了说明,但有效空闲区域列表241以及选择标志242并不是必需的。还可以在参照FAT表检索所使用的空闲区域时,判断要分配的空闲簇所属的块的空闲簇数是否为阈值T以上,只在是阈值T以上的情况下,使用该块的空闲簇。
另外,虽然本实施方式中,对数据区域132的所有块生成了有效空闲区域列表241,但在有效空闲区域列表241的生成很花时间的情况下,或无法确保足够的存储器的情况下,还可以对一部分块生成上述有效空闲区域列表241,并根据需要来重新生成。
另外,虽然本实施方式中,选择标志242位于有效空闲区域管理部240中,但也可以位于文件系统控制部230的内部。
(5)本实施方式中的数据记录方法,在记录介质内所管理的块比文件系统中的文件数据的单位即簇大、且因跨越块而导致访问速度降低的情况下很有效。如果是满足这样的条件的记录介质,并不仅限于半导体记录介质100,在其他信息记录介质中也能够适用本发明的思想。
(实施方式2)图10中示出了本发明的实施方式2中的半导体记录介质以及数据处理装置的构成例。本实施方式中,为了消除半导体记录介质的记录区域的断片化,进行半导体记录介质的存储数据的重排。
本实施方式的数据处理装置200b,基本上具有与实施方式1相同的构成,但代替有效空闲区域管理部240具有块判断部260,作为用于半导体记录介质的存储数据的重排的结构,这一点与实施方式1不同。
块判断部260,判断半导体记录介质100的数据存储部130内的各个块的“型”。图11中示出了块判断部260的内部构成例。本实施方式中,块的型由存在于块中的空闲簇数来决定,定义了A型、B型、C型这3种。本实施方式中,与实施方式1同样,1块的大小为256kB,1块由16个16kB的簇构成。将1块中存在有8个以上的空闲簇的情况,也即1块中半数以上为空闲簇的情况设为“A型”。将1块中存在有1至7个空闲簇的情况设为“B型”,将全部为使用中不存在空闲簇的情况设为“C型”。
在存在很多块中所存在的空闲簇数较少的B型块的状态下,连续记录动画等大容量的数据时,由于频繁产生跨越块的写入,因此写入处理的速度有可能大幅下降。
因此,本实施方式中,检索B型块,通过从其他块中将数据移动给该块,也即通过重排数据,使得B型块尽可能变为C型。也即,由于能够在空闲区域较少的B型块中,让数据更加集中,因此能够扩大其他块的空闲区域,消除断片化。
以下,对本实施方式中的数据重排方法进行详细说明。图12为数据处理装置200b的数据处理部250指示文件系统控制部230重排半导体记录介质100的数据时的流程图。本实施方式中的数据重排方法,如前所述,目的在于尽可能减少B型块,也即16个簇中有1至7个空闲的块。
文件系统控制部230,首先将FAT表1以及FAT表2读出到RAM中(S1201)。接下来,将表示从数据区域132的开头起的块编号的变量i设为0(S1202),并执行以下的处理。
块判断部260,根据来自文件系统控制部230的信息,统计第i个块中所存在的空闲簇数,判断第i个块的型(S1203)。
在步骤S1203的判断结果不是B型的情况下,进入步骤S1207,增加块编号i。在是B型的情况下,进行处理,从其他块中将数据移动到作为第i个块中的首个空闲簇的空闲簇中的(S1204)。关于该处理将在后面详细说明。另外,以下的说明中,将成为来自其他块的数据的移动目的地的空闲簇称作“空闲簇Z”。
接下来,判断上述移动处理的完成/未完成(S1205)。在未完成的情况下,也即要移动的数据已不存在的情况下,根据位于文件系统控制部230的RAM中的FAT表1、FAT表2的数据,进行半导体记录介质100的FAT表1、FAT表2的更新(S1209),并完成处理。
在步骤S1204的移动处理已经完成的情况下,检索第i个块内的剩余空闲簇(S1206)。在第i个块内还剩余空闲簇的情况下,将该空闲簇作为数据移动目的地的空闲簇Z,回到步骤S1204的处理。在没有剩余的情况下,将块编号i增加之后(S1207),判断i是否为数据区域132的总块数Q以下(S1208)。
在i为Q以下的情况下,回到步骤S1203的处理,继续步骤S1203~S1207的处理。在i大于Q的情况下,根据位于文件系统控制部230的RAM中的FAT表1、FAT表2的数据,进行半导体记录介质100的FAT表1、FAT表2的更新(S1209),并完成处理。
如上所述,本实施方式中的重排处理,从数据区域132的开头块起顺次检索出空闲簇,并从其他块将数据移动到该空闲簇中,通过这样来进行数据的重排,在数据不再能够移动或进行最后的块的处理的时刻,完成重排的处理。
接下来,对照图13对上述步骤S1204中的数据的移动处理进行详细说明。图13为将数据从其他块中移动到第i个块中的空闲簇Z的处理的流程图。
本移动处理中,向空闲簇Z移动数据时,成为数据移动源的簇的检索,使用FAT表1或FAT表2来进行。本移动处理,在半导体记录介质100上的FAT表1或FAT表2中所保存的链接信息的重设处理,以及向数据区域132的数据拷贝处理来实现。数据移动处理中,由于不移动成为链接的开头的数据,因此不会产生目录项的检索或重写等,从而能够进行高速的处理。
参照图13,本移动处理中,首先将指定从数据区域132的开头起的簇编号的变量k设为0(S1301)。也即,对数据区域132的各个簇,从数据区域开头起顺次执行以下处理。接下来,参照FAT表1或FAT表2,判断第k个簇是否为使用中(S1302)。
如果第k个簇不在使用中,就增加k(S1311)。判断增加后的第k个簇是否位于数据区域132的范围内(S1312)。如果在范围内,就回到步骤S1302的处理。如果在范围外,则由于在该块中,已经不存在能够移动数据的簇,因此设为“移动NG(未完成)”(S1313),并结束处理。
步骤S1302中,在第k个簇为使用中的情况下,从FAT条目中检索第k个簇的链接目的地(S1303)。判断链接目的地的簇所属的块(块R)是否是第i个块(S1304)。
在链接目的地的簇所属的块是第i个块的情况下,由于是同一个块内的移动,没有意义,因此对该簇不进行任何处理,进入步骤S1311。步骤S1311之后的处理如前所述。
在链接目的地的簇所属的块R不是第i个块的情况下(步骤S1304的否),判断块R是否是C型(S1305)。在块R是C型的情况下,由于从该块R中移动数据会产生断片化,因此并不恰当。所以在链接目的地的簇所属的块R是C型的情况下,进入步骤S1311,对下一个簇进行讨论。
另外,在块R不是C型的情况下,在数据移动之前,判断成为数据移动目的地的空闲簇Z是否是“伪空闲簇”(S1306)。关于伪空闲簇将在后面详细说明。
由于在空闲簇Z是伪空闲簇的情况下(S1306中的是),要将簇Z的数据覆盖,因此在此之前将系统控制部20的RAM中的FAT表1、FAT表2写回到半导体记录介质100中(S1307)。也即,在写数据之前,事先更新半导体记录介质100上的FAT表1、FAT表2。
接下来,将簇编号k的链接目的地的数据拷贝到空闲簇Z中(S1308)。也即进行对数据区域132的写入。
之后,在文件系统控制部230的RAM中,重写簇编号k、簇编号k的链接目的地、以及空闲簇Z之间的链接信息(S1309),并设为“移动OK(完成)”(S1310),结束处理。
接下来,对伪空闲簇进行说明。伪空闲簇是指,在簇间的数据移动后,虽然在数据处理装置200b的FAT表上识别为空(未使用),但在半导体记录介质100的FAT表上并不识别为空的簇。例如,在从簇X向簇Y移动数据时,有时簇X在数据处理装置200b的FAT表上识别为空(未使用),但在半导体记录介质100的FAT表上并不识别为空。这是由于数据处理装置200b的FAT表与半导体记录介质100的FAT表的更新定时不同。
数据处理装置200b从处理效率的观点出发,将半导体记录介质100的FAT表取入到数据处理装置200b内部,并且通常只更新该内部的FAT信息,只在某个定时将FAT表写回到半导体记录介质100中。这是由于半导体记录介质100的FAT表的更新处理要花费时间,因此要降低数据更新时的处理时间。另外,在从簇X向簇Y移动数据的情况下,将移动源簇X的数据拷贝到移动目的地簇Y中,同时重写数据处理装置200b内部的FAT表的链接信息。此时,对于簇X来说,只是其链接信息被重写,而数据并没有被删除。因此,移动处理后,到半导体记录介质100的FAT表被更新为止的期间,在数据处理装置200b内部的FAT表中,识别出簇X为空闲簇,但半导体记录介质100的FAT表中仍保持簇X在移动前的状态。这样的簇X是伪空闲簇。这种情况下,由于作为伪空闲簇的簇X保存有以前的数据,因此在半导体记录介质100内部,保有该FAT表与数据的对应关系。但是,如果在往伪空闲簇中写入数据的过程中或写入刚刚完成后,因意外而导致对半导体记录介质100的供电被切断,则形成伪空闲簇的数据被覆盖,而半导体记录介质100内部的FAT表未被更新的状态,发生的问题是,半导体记录介质100内部的FAT表与数据之间的对应关系中产生了不匹配。因此,本实施方式中,在往伪空闲簇写入数据之前,更新半导体记录介质100中的FAT表1、FAT表2(S1306、S1307)。通过这样,即使在往伪空闲簇中写入数据的过程中或写入刚刚完成后,因意外而导致对半导体记录介质100的供电被切断的情况下,也能够保持半导体记录介质100内部的FAT表与数据的匹配性。
图14中说明了移动前块#2中存在空闲簇Z,通过上述重排处理,将块#4的“簇Z2”的数据移动到“空闲簇Z”中时的状态的变化。其中,设只在数据处理装置200b的文件系统控制部230的RAM中将链接信息重写,而没有更新半导体记录介质100的FAT信息。此时,半导体记录介质100,识别出位于块#4的某个移动源的簇Z2中仍旧记录有数据。移动后的簇Z2变为“伪空闲簇”。如果图12中所说明的数据的重排处理继续,则伪空闲簇中有可能会被覆盖其他数据。若在覆盖过程中发生了断电等,就无法复原数据,因此需要进行步骤S1307的处理,将FAT表1、FAT表2写回到半导体记录介质100中,来在半导体记录介质100中,识别出簇Z2为空闲区域。
图15中说明的是,移动前块#2中存在空闲簇Z,通过上述重排处理,块#0的簇Z2的数据移动到空闲簇Z中时的状态的变化。移动后,簇Z2变为伪空闲簇。
如上所述,本实施方式中,通过以令半导体记录介质100的各个块中存在一定个数以上的空闲簇的方式将数据重排,从而能够减少写入处理速度大幅降低的块的数目。
再有,本实施方式的重排方法,只通过FAT表1、FAT表2中所保存的链接信息的重设以及往数据区域132的数据拷贝来实现。由于不需要目录项301的检索以及重写等,因此能够高速进行处理。
另外,还考虑以下的变形例。
(1)虽然本实施方式中,以块判断部206预先具有与块的型的定义相关的信息为例进行了说明,但也可以在半导体记录介质100中存储有关于块的型的定义的信息的情况下,数据处理装置200b参照上述信息来决定块的型的定义。另外,也可以由用户所指定的信息来决定。
另外,本实施方式中的块的型的定义是一例。块的型的定义也可以不由空闲簇数决定,而由空闲簇数的比率或空闲簇数所占大小来决定。
(2)虽然本实施方式中,以FAT文件系统为例进行了说明,但并不仅限于此。在用比块小的单位来管理文件数据的情况下,也能够适用本发明的思想。
另外,块单位以及簇单位均是一例,还可以是其他大小。
(3)虽然本实施方式中,在数据的重排处理的说明中,省略了出错处理,但也可以增加出错处理。例如,在FAT表1、FAT表2被破坏的情况下,作为出错处理可以中断重排处理。
(4)本实施方式中,为了避免在重排处理的过程中发生断电,半导体记录介质100的数据区域132中所保存的信息与管理信息区域131中所存储的信息产生不匹配,而存在将FAT表1、FAT表2在进行数据的覆盖之前写入的处理(S1306、S1307)。但是,在预先保证不会产生断电的情况下或即使产生了上述不匹配也没关系等情况下,也可以省略这些处理。
(5)虽然本实施方式中,在S1301中将簇编号k设为0,从数据区域132的首个簇起开始顺次检索移动源的数据,但也可以不总是从首个开始检索。例如,可以记住上一次所检索的簇编号,下一次接着进行检索。
(6)本实施方式中的数据重排方法,在记录介质内所管理的块比文件系统中的文件数据的管理单位即簇大,且有可能因跨越块而导致访问速度降低的情况下很有效。只要是满足这样的条件的记录介质即可,并不仅限于半导体记录介质。
(7)虽然本实施方式中,对FAT表1与FAT表2的写入顺序等没有特意提及,但通过下述变形例,即使在FAT表1或FAT表2的写入处理中产生了断电等情况,也能够恢复数据。
图16A、图16B为数据重排处理的变形例的流程图。本变形例中,设数据处理装置200b具有有效FAT标志。有效FAT标志是表示FAT表1以及FAT表2中,哪FAT表有效的标志。通过参照该标志,决定有效一方的FAT表,并能够通过参照其信息,得到正确的链接信息。
首先,将有效FAT标志设定为“1”(S1601)。之后,执行如图12、图13中所示的重排处理(S1602)。但是,对于步骤S1209以及S1307中的FAT表的写入处理,执行图16B所示的处理。
对图16B中所示的处理进行说明。
首先,将数据处理装置200b中的FAT表2,写回到半导体记录介质100(S1611)。接下来,将有效FAT标志设为“2”(S1612),在半导体记录介质100中将FAT表2拷贝到FAT表1(S1613)。拷贝完成之后,将有效FAT标志复原成“1”(S1614)。
在使用该变形例的情况下,在FAT的写入处理中发生断电等,产生写入错误的情况下,数据处理装置200b能够参照有效FAT标志,将当前有效的FAT表拷贝到另一方。也即,如果有效FAT标志是“1”,就将FAT表1拷贝到FAT表2,如果有效FAT标志是“2”,就将FAT表2拷贝到FAT表1。
通过该步骤,即使在FAT表的写入中出错的情况下,也能够将数据恢复成具备匹配性的状态。另外,也可以将上述有效FAT标志保存在半导体记录介质100中。
(8)可将本实施方式的数据重排方法,与实施方式1的数据记录方法组合起来。通过组合两个实施方式的技术思想,能够更加有效地减少因数据记录时的断片化所引起的速度降低。
以上,本发明对特定的实施方式进行了说明,但对于本领域技术人员来说,其他很多变形例、修正、以及其他的应用也是很明确的。因此,本发明并不仅限于这里的特定公布的内容,而只能够通过权利要求书来限定。另外,本申请与日本国特许出愿特愿2003-404158号(2003年12月03日提出)关联,并且其内容参照记载于本文中。
本发明,通过只对空闲簇数为一定值以上的块进行写入,能够避免往信息记录介质的某个写入处理的最低速度大幅下降,因此能够应用于动画内容的记录时等需要高速写入处理的信息记录介质的数据处理装置。
权利要求
1.一种数据记录方法,是对信息记录介质记录数据的记录方法,该信息记录介质具有存储数据的记录区域,且该存储数据由文件系统管理,其中上述信息记录介质,其记录区域被以块为单位管理,该块包含有给定数目的簇,该簇为文件系统的保存数据的单位,上述记录方法,在需要往新的空闲区域中记录数据的情况下,检索包含有给定阈值以上的未使用簇的块,并优先对该检索出的块进行数据的写入处理。
2.如权利要求1所述的数据记录方法,其特征在于在需要往新的空闲区域中记录数据的情况下,对上述检索出的有效块内的未使用簇进行数据的写入处理。
3.如权利要求2所述的数据记录方法,其特征在于对上述记录区域的各个块中所包含的未使用簇的数目进行统计,根据该统计结果求出上述有效块,生成作为与该有效块相关的列表信息的有效空闲区域列表并保持,数据记录处理时,参照上述有效空闲区域列表,检索上述有效块。
4.如权利要求1所述的数据记录方法,其特征在于与上述阈值相关的信息,存储在上述信息记录介质内。
5.如权利要求1所述的数据记录方法,其特征在于上述阈值,为1个块中的簇的数目的1/2以上的值。
6.一种数据处理装置,对信息记录介质实施数据的写入、读出,其中上述信息记录介质,其记录区域被以块为单位管理,该块包含有给定数目的簇,该簇为文件系统的保存数据的单位,上述数据处理装置,具有输入输出处理部,实施对上述信息记录介质的信息的输入输出;文件系统控制部,将上述信息记录介质中所保存的数据作为文件来管理;数据处理部,实施与对上述信息记录介质的数据写入、读出相关的控制;以及,有效空闲区域管理部,保持与上述信息记录介质的区域中包含给定阈值以上的未使用簇的块相关的信息,上述数据处理部进行控制,使得在需要往新的空闲区域中记录数据的情况下,参照上述有效空闲区域管理部中所保持的信息,检索包含有给定阈值以上的未使用簇的块,并优先对该检索出的块进行数据的写入。
7.如权利要求6所述的数据处理装置,其特征在于上述有效空闲区域管理部保持有效空闲区域列表,该有效空闲区域列表为与有效块相关的列表信息,该有效块为包含有上述阈值以上的未使用簇的块。
8.如权利要求6所述的数据处理装置,其特征在于与上述阈值相关的信息,存储在上述信息记录介质内。
9.如权利要求6所述的数据处理装置,其特征在于上述阈值,为1个块中的簇的数目的1/2以上的值。
全文摘要
数据处理装置(200),将与包含由多个块所构成的记录区域的信息记录介质(100)的记录区域中能够以一定速度以上进行写入的空闲区域相关的信息,保持在有效空闲区域管理部(240)中。能够以一定速度以上进行写入的空闲区域是指,包含有给定数以上的未使用簇的块。数据处理装置(200),在需要对信息记录介质(100)往新的空闲区域中记录数据的情况下,参照有效空闲区域管理部(240)中所保持的信息,检索出空闲区域,并往该检索出的区域进行数据的写入。
文档编号G06F12/08GK1890645SQ20048003609
公开日2007年1月3日 申请日期2004年11月30日 优先权日2003年12月3日
发明者宗广和, 前田卓治, 日下博也, 辻田昭一, 井上信治 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1