建立文件信息表的方法

文档序号:6468142阅读:138来源:国知局

专利名称::建立文件信息表的方法
技术领域
:本发明是关于一种建立文件信息表的方法,尤指一种光盘的建立文件信息表的方法。
背景技术
:目前市面上的存储光盘,如IS09660光存储格式的光盘,随着各厂商提供的编程软件不同,各个目录存储于路径表中的地址顺序及其位于盘轨中的逻辑磁区地址(LBA)顺序亦有所差异。由于目录是为逆向存储或不连续存储的原因,光盘机往往需要频繁的跳轨来读取各目录中的目录信息,因而拉长建立文件信息表的时间。请参考图l,该图为已知的光盘存储数据分布的一具体实施例的示意图。如图1所示,光盘1中存储多个目录dirldir7,其中各目录在盘轨上的逻辑磁区地址排列顺序是为"dirl,dir7,dir6,dir5,dir4,dir3,dir2"。各目录的路径表地址(pathtableaddress)顺序一般会依序记录于一路径表(图中未示),且在假设各目录的编号是依据其路径表地址大小来编排的情况下(意即,各目录在路径表中的排列顺序是为"dirl,dir2,dir3,dir4,dir5,dir6,dir7"),当光盘机读取目录dirl中的目录信息,并对其建立文件信息表后,会根据路径表中记录的内容,去读取下一个目录dir2。由于目录dirl与dir2虽然路径表地址最近,但记录两者的逻辑磁区地址却是最远,光盘机必须花费较多的时间从目录dirl锁轨至目录dir2,或是直接跳轨至目录dir2来读取其中数据。又,当处理完目录dir2后,若欲处理下一个目录dir3,就必须采取跳轨的方式来读取目录dir3所在的逻辑磁区地址,且之后的目录也都必须利用跳轨来读取,频繁的跳轨次数会拉长建立文件信息表的时间,进而增加光盘的启动时间,尤其是当目录的路径表地址与所在逻辑磁区地址是为完全反向的情况下(如图1的例),这样的问题会更加严重。
发明内容有鉴于此,本发明提出的一种建立文件信息表的方法,是将光盘中记录目录地址信息的路径表复制到存储器中处理,并将目录依照记录所述多个目录位于盘轨中的逻辑磁区地址(LBA)顺序重新排序后来读取,期在不增加硬件或软件的复杂度的前提下,能减少跳轨的次数,进而提高建立文件信息表的速度。因此,本发明的目的是在于提供一种建立文件信息表的方法,以改善已知技术的问题。本发明是揭示一种建立文件信息表的方法,其适用于一光盘,其中光盘中存储多个目录以及一路径表,每一目录中存储多个文件。路径表中记录了每一目录位于盘轨中的逻辑磁区地址、名称、大小以及属性等信息,而每一目录记录了存储于其中的每一文件的地址、名称、大小以及属性等信息。所述的方法的步骤如下首先,将路径表存储于一存储模块中;接着,从存储模块中的路径表依序查出每一目录的逻辑磁区地址;随后读取光盘中位于每一目录所属的逻辑磁区地址内的数据;最后,记录所有目录中每一文件的相关信息,以4模块中。通过前述技术方案,本发明利用将路径表内各目录的顺序依照逻辑磁区地址重新排序,来达到能采用锁轨方式读取光盘中的文件,如此大量降低跳轨次数,进而能快速地建立光盘的文件信息表。图1为已知的光盘存储数据分布的一具体实施例的示意图;图2为本发明所揭示的光盘存储数据分布的一具体实施例的示意图图3为本发明所揭示的路径表的一具体实施例的示意图;图4为本发明所揭示的目录的一具体实施例的示意图;图5为本发明所揭示的存储模块的一具体实施例的示意图图6为本发明所揭示文件信息表的建立方法的步骤流程图图7为本发明所揭示的存储模块的一具体实施例的示意图图8为本发明所揭示文件信息表的建立方法的步骤流程图图9为本发明所揭示的路径表的又一具体实施例的示意图;以及图10为本发明所揭示文件信息表的建立方法的步骤流程图。附图标号1光盘2光盘dirldir7目录3、9路径表F1,F2,…文件5、7存储模块51、71文件信息表存储空间53、73路径表存储空间55、75目录存储空间具体实施例方式以上的概述与接下来的详细说明及附图,都是为了能进一步说明本发明为达成预定目的所采取的方式、手段及功效。而有关本发明的其他目的及优点,将在后续的说明及附图中加以阐述。本发明提出的一种建立文件信息表的方法,是将光盘中的目录依照记录所述多个目录位于盘轨上的逻辑磁区地址顺序重新排序后来读取,以迫使非顺向读取的目录排序成顺向的顺序,如此在建立光盘的文件信息表时,减少跳轨的次数,进而加速光盘的开启时间。本发明主要技术特征在于利用将路径表内各目录的顺序重新排序后来建立文件信息表的处理方式,其是有关于光盘中的数据存取于一存储模块的流程,以下就仅提出必要的硬件架构及其动作,然而,熟悉本领域的技术人员得知,除了以下所提及的构件、特征,将数据记录于存储模块的行为当然涉及其他的必要步骤及元件,因此,不应以本实施例揭5露者为限。首先,请参考图2,该图为本发明所揭示的光盘存储数据分布的一具体实施例的示意图。如图2所示,光盘2中存储多个目录dirldir7,其中各目录的逻辑磁区地址及在音轨上的排列顺序是为"dirl,dir7,dir6,dir5,dir4,dir3,dir2"。接着,请一并参考图3,该图为本发明所揭示的路径表的一具体实施例的示意图。如图3所示,光盘2中更存储了一路径表3,其依照目录存储于路径表的地址的大小依序记录了目录dirldir7的逻辑磁区地址、名称、大小以及属性等信息,其中,目录dirl的路径表地址值最小,而目录dir7的路径表地址值最大。又,如图4所示,每一目录中存储多个文件F1,F2,...,每一笔目录都记录了存储于其中的文件的地址、名称、大小以及属性等信息。具体来说,每一光盘2都具有一主巻册描述符(primaryvolumedescriptor),其记录了路径表3的逻辑磁区地址。为了产生光盘2中的文件信息表,使用者可利用一计算机系统(图中未示)来读取光盘2中的数据,进而将光盘2中的各文件的逻辑磁区地址及其名称等信息存储至指定的存储模块中。请同时参考图5,该图为本发明所揭示的存储模块的一具体实施例的示意图。如图5所示,存储模块5提供一文件信息表存储空间51、一路径表存储空间53以及一目录存储空间55,分别用来存储文件信息表、路径表3以及目录中的目录信息。于本发明的一具体实施例中,请参阅图6,该图为本发明所揭示文件信息表的建立方法的步骤流程图。按,其中相关的数据结构及数据处理的情形请同时参阅图2图5。如图6所示,所述的文件信息表的建立方法的步骤如下首先,光盘机会先读取光盘2中的主巻册描述符,以找到路径表3的逻辑磁区地址(步骤S601);计算机系统接着把路径表3整个复制到存储模块5中的路径表存储空间53中(步骤S603);从路径表3中可查到第一个目录dirl的逻辑磁区地址(步骤S605),计算机系统便控制光盘机读取光盘2中目录dirl的逻辑磁区地址,并依序将目录中的目录信息(包含了该目录下所有的子目录、文件的逻辑磁区地址、大小、档名、属性等等信息)读进存储模块5中做处理(步骤S607),一具体实施例中,是取得目录信息(并不是复制文件,而是取得该目录下可能具有的子目录、文件的地址、大小、档名、属性等等信息)并暂存于目录存储空间55中;接着,计算机系统根据该些目录信息来建立文件信息表(步骤S609);待目录dirl中的文件都已建立于文件信息表后,随后从路径表3中判断是否所有的目录都读入(步骤S611);若否,则从路径表3中查出下一个目录dir2的逻辑磁区地址,同样地记录其中所存储的文件信息于文件信息表中,以此类推;若步骤S611的判断为是,则表示文件信息表建立完成,光盘2中所有的文件都已建立于文件信息表中(步骤S613)。上述实施例中,通过将存储于光盘2的路径表3事先暂存于存储模块5中,计算机系统可直接从存储模块5中的路径表3得知欲处理的目录的逻辑磁区地址,再控制光盘机跳至该目录的逻辑磁区地址,以读取其中的目录信息,如此可避免每处理完一个目录,又必须控制跳轨至光盘2中的路径表3来找出下一个目录,进而减少光盘机跳轨的次数,提高建立文件信息表的速度。于本发明的一较佳实施例中,通过排序路径表3中的目录,可更加提高建立文件信息表的速度。请参考图7,该图为本发明所揭示的存储模块的一具体实施例的示意图。如图7所示,存储模块7提供一文件信息表存储空间71、一路径表存储空间73以及一目录存储空间75,分别用来存储文件信息表、路径表3以及目录中的目录信息。请同时参考图8,该图为本发明所揭示文件信息表的建立方法的步骤流程图。如图8所示,所述的文件信息表的建立方法的步骤如下首先,光盘机会先读取光盘2中的主巻册描述符,以找到路径表3的逻辑磁区地址(步骤S801);计算机系统接着把路径表3整个复制到存储模块7中的路径表存储空间73中(步骤S803),并把路径表3中的各目录,依照其逻辑磁区地址由小到大地排序(步骤S805),一具体实施例中,是利用泡沫排序法于目录存储空间75中暂存并处理所述多个目录的逻辑磁区地址顺序关系,排序后的路径表请参考图9,如图9所示,路径表9中的目录顺序已修改为"dirl,dir7,dir6,dir5,dir4,dir3,dir2",相当于各目录在音轨上的逻辑磁区地址排列顺序,其中目录dirl的逻辑磁区地址值最小,是存储在最靠近光盘2的中心的音轨;而目录dir2的逻辑磁区地址值最大,是存储在最远离光盘2的中心的音轨;待目录排序完成后,便把排序过的路径表9更新于路径表存储空间73中(步骤S807);随后,从路径表9中可查到第一个目录dirl的逻辑磁区地址(步骤S809),计算机系统便控制光盘机读取光盘2中目录dirl的逻辑磁区地址,并依序将目录中的目录信息读进存储模块7中做处理(步骤S811),一具体实施例中,是复制各文件并暂存于目录存储空间75中;接着,计算机系统开始处理目录中的目录信息,其中包括记录各文件的地址、存取方式、名称等信息,并将其存储于文件信息表中(步骤S813);待目录dirl中的文件都已建立于文件信息表后,随后从路径表9中判断是否所有的目录都读入(步骤S815);若否,则从路径表9中查出下一个目录dir7的逻辑磁区地址,同样地记录其中所存储的文件信息于文件信息表中,以此类推;若步骤S815的判断为是,则表示文件信息表建立完成,光盘2中所有的文件都已建立于文件信息表中(步骤S817)。上述实施例中,通过将存储于光盘2的路径表9事先暂存于存储模块7中,并将各目录的逻辑磁区地址进行排序的动作,计算机系统除了能避免每处理完一个目录,又必须控制跳轨至光盘2中的路径表9来找出下一个目录,亦将非顺向存储的目录排序成可顺向读取,如此光盘机便可以锁轨的方式依序从目录dirl—直往外读到最外围音轨的目录dir2,进而减少光盘机跳轨的次数,加速读取速度,并有效降低建立文件信息表的时间。然而,在有限的成本及存储模块7的空间的限制,光盘2中的路径表9以及目录过大时,会面临路径表存储空间73以及目录存储空间75的空间不足的问题,本发明因而提出解决资源限制的方法。请参考图io,该图为本发明所揭示文件信息表的建立方法的步骤流程图。其中相关的数据结构及数据处理的情形请同时参阅图2、图3、图7、图9。如图10所示,所述的文件信息表的建立方法的步骤如下首先,光盘机会先读取光盘2中的主巻册描述符,以找到路径表3的逻辑磁区地址(步骤SIOOI);随后判断路径表存储空间73是否小于路径表3(步骤S1003);若否,则表示路径表存储空间73足以容纳整个路径表3,计算机系统便把路径表3整个复制到存储模块7中的路径表存储空间73中(步骤S1007);若步骤S1003的判断为是,则表示路径表3的文件太大,需要分段读进路径表存储空间73中;一具体实施例中,是先将路径表3依序分成多个部份路径表,其中每一部分路径表的大小都小于路径表存储空间73;再分段地将第一段部份路径表复制到存储模块7中的路径表存储空间73中(步骤S1005);接着,将目前暂存于路径表存储空间73中的各目录,依照其逻辑磁区地址由小到大地排序(步骤S1009),进而产生如图9的路径表9中的目录顺序;待目录排序完成后,便把排序过的路径表9更新于路径表存储空间73中(步骤S1011),便开始准备将目录以及文件的相关信息记录于文件信息表中;路径表9中可查到第一个目录dirl的逻辑磁区地址(步骤S1013),计算机系统便控制光盘机读取光盘2中目录dirl的逻辑磁区地址,并依序将目录中的目录信息读进存储模块7中做处理(步骤S1015),一具体实施例中,是复制各文件并暂存于目录存储空间75中;接着,计算机系统开始处理目录中的目录信息,其中包括记录各文件的逻辑磁区地址、存取方式、名称等信息,并将其存储于文件信息表中(步骤S1017);目前处理的目录中各文件都建立了文件信息后,会判断目录存储空间75是否足够暂存下一个目录中的目录信息的大小(步骤S1019);若否,则表示下一个欲处理的目录无法利用锁轨的方式将其存储的文件读入,因此会先清空目录存储空间75(步骤S1021),并利用跳轨跳到下一个目录的逻辑磁区地址(步骤S1023),以同样的方式处理接下来的目录中的文件;若步骤S1019的判断为是,则判断目前处理的路径表9中所有的目录是否都读入(步骤S1025);若否,则从路径表9中查出下一个目录dir7的逻辑磁区地址,同样地记录其中所存储的文件信息于文件信息表中,以此类推;若步骤S1025的判断为是,随后判断是否所有的路径表9都读入(步骤S1026);若否,则跳至步骤S1005,依序将剩余的部分路径表读进路径表存储空间73中并加以排序;若步骤S1026的判断为是,则表示文件信息表建立完成,光盘2中所有的文件都已建立于文件信息表中(步骤S1027)。于本发明的一具体实施例中,为了有效利用系统资源,复制于路径表存储空间53、73的路径表3、9是为原本存放于光盘2中的路径表3的简化内容,例如只存储所有目录的逻辑磁区地址信息,如此可在有限的存储空间内,存储更多的目录记录。于本发明的一具体实施例中,所述的存储模块5、7是选自于快闪存储器(FlashMemory)、及栅式快闪存储器(AND-FlashMemory)、或栅式快闪存储器(OR-FlashMemory)、反及栅式快闪存储器(NAND-FlashMemory)、只读存储器(ReadOnlyMemory,ROM)、可擦除只读存储器(Erasab1eReadOn1yMemory,EROM)、电可擦除只读存储器(ElectricallyErasableReadOnlyMemory,EEROM)、可擦除可编程只读存储器(ErasableProgrammableReadonlyMemory,EPROM)、或电可擦除可编程只读存储器(ElectricallyErasableProgra,bleReadOnlyMemory,EEP匪)的群组组合之一。通过以上实例详述,当可知悉本发明的文件信息表的建立方法,是将路径表预先存储于存储器中,如此可避免每处理完一个目录,就要跳回路径表查下一个待处理的目录;又,利用将路径表中的目录依照其逻辑磁区地址由小到大排序,以配合目录记录于音轨的顺序。通过上述技术手段,光盘机在依序读取各目录中的目录信息时,能采用锁轨的方式由光盘的最中心的音轨依序读取至最外围的音轨,进而减少光盘机跳轨的次数,加速读取速度,达到有效降低建立文件信息表的时间的目的。而且,以上所述,仅为本发明的具体实施例的详细说明及图式而已,并非用以限制本发明,本发明的所有范围应以所附的权利要求范围为准,任何熟悉本领域的技术人员,在本发明的领域内,可轻易思及的变化或修饰都可涵盖在本申请所界定的专利范围内。权利要求一种建立文件信息表的方法,是适用于一光盘,其特征在于,所述光盘中存储至少一目录以及一路径表,每一所述目录中存储一目录信息,所述方法包括下列步骤将所述路径表存储于一存储模块中;依据所有所述目录的一逻辑磁区地址由小排到大地排序;将排序后的所述目录存储于所述路径表中;依据排序后的所述路径表读取所述光盘中于所述目录所属的所述逻辑磁区地址内的所述目录信息;以及根据所述目录信息来建立一文件信息表于所述存储模块中。2.如权利要求1所述的建立文件信息表的方法,其特征在于,所述光盘中具有一主巻册描述符,所述主巻册描述符记录了所述路径表的逻辑磁区地址,所述方法更包括下列步骤读取所述主巻册描述符,以查出所述路径表的逻辑磁区地址。3.如权利要求2所述的建立文件信息表的方法,其特征在于,存储于所述存储模块的所述路径表中,仅包括所述目录的所述逻辑磁区地址的信息。4.如权利要求3所述的建立文件信息表的方法,其特征在于,所述存储模块提供一路径表存储空间,用来存储所述路径表,以及提供一目录存储空间,用来暂存所述多个目录中的数据。5.如权利要求4所述的建立文件信息表的方法,其特征在于,于将所述路径表存储于所述存储模块中步骤中更包括下列步骤判断所述路径表存储空间是否小于所述路径表的大小;以及若上述判断为是,则执行以下步骤将所述路径表分成多个部份路径表,其中每一所述部分路径表的大小都小于所述路径表存储空间;以及读取其一的所述部分路径表至所述路径表存储空间中。6.如权利要求5所述的建立文件信息表的方法,其特征在于,于将排序后的所述目录存储于所述路径表中步骤的后,更包括下列步骤判断是否存储了最后一个所述部分路径表于所述路径表存储空间;以及若上述判断为否,则依序将其余的所述部分路径表存储于所述路径表存储空间中,并将其中有关所述目录以及所述文件的相关信息记录于所述文件信息表中。7.如权利要求6所述的建立文件信息表的方法,其特征在于,于记录所述多个目录中每一所述文件的相关信息步骤中更包括下列步骤判断所述目录存储空间是否小于所述多个目录中的数据的大小;以及若上述判断为是,则执行以下步骤读取第一的所述目录至所述目录存储空间可容纳的所述目录中的内容于所述目录存储空间中,并将其内容记录于所述文件信息表中;清空所述目录存储空间中的内容;以及依序读取之后的所述目录中的内容于所述目录存储空间中,并将其记录于所述文件信息表中,直到所有的所述目录中的内容都建立于所述文件信息表中为止。8.如权利要求1所述的建立文件信息表的方法,其特征在于,所述存储模块是选自于快闪存储器、及栅式快闪存储器、或栅式快闪存储器、反及栅式快闪存储器、只读存储器、可擦除只读存储器、电可擦除只读存储器、可擦除可编程只读存储器、或电可擦除可编程只读存储器的群组组合之一。9.一种建立文件信息表的方法,是适用于一光盘,其特征在于,所述光盘中存储至少一目录以及一路径表,每一所述目录中存储一目录信息,所述方法包括下列步骤将仅包括所述目录的一逻辑磁区地址的信息的所述路径表存储于一存储模块中;从所述存储模块中的所述路径表依序查出所述多个目录的逻辑磁区地址;读取所述光盘中于所述多个目录所属的逻辑磁区地址内的所述目录信息;以及根据所述目录信息来建立一文件信息表于所述存储模块中。10.如权利要求9所述的建立文件信息表的方法,其特征在于,所述存储模块提供一路径表存储空间,用来存储所述路径表,以及提供一目录存储空间,用来暂存所述多个目录中的数据。11.如权利要求io所述的建立文件信息表的方法,其特征在于,于将所述路径表存储于所述存储模块中步骤中更包括下列步骤判断所述路径表存储空间是否小于所述路径表的大小;以及若上述判断为是,则执行以下步骤将所述路径表分成多个部份路径表,其中每一所述部分路径表的大小都小于所述路径表存储空间;以及读取其一的所述部分路径表至所述路径表存储空间中。12.如权利要求11所述的建立文件信息表的方法,其特征在于,于读取其一的所述部分路径表至所述路径表存储空间中步骤之后,更包括下列步骤判断是否存储了最后一个所述部分路径表于所述路径表存储空间;以及若上述判断为否,则依序将其余的所述部分路径表存储于所述路径表存储空间中,并将其中有关所述目录以及所述文件的相关信息记录于所述文件信息表中。13.如权利要求12所述的建立文件信息表的方法,其特征在于,于记录所述多个目录中每一所述文件的相关信息步骤中更包括下列步骤判断所述目录存储空间是否小于所述多个目录中的数据的大小;以及若上述判断为是,则执行以下步骤读取第一的所述目录至所述目录存储空间可容纳的所述目录中的内容于所述目录存储空间中,并将其内容记录于所述文件信息表中;清空所述目录存储空间中的内容;以及依序读取之后的所述目录中的内容于所述目录存储空间中,并将其记录于所述文件信息表中,直到所有的所述目录中的内容都建立于所述文件信息表中为止。全文摘要本发明提供一种建立文件信息表的方法,其适用于一光盘,其中光盘中存储多个目录以及一路径表。所述的方法的步骤如下首先,将路径表存储于一存储模块中;接着,从存储模块中的路径表依序查出每一目录的逻辑磁区地址;随后读取光盘中位于每一目录所属的逻辑磁区地址内的数据;最后,记录所有目录中每一文件的相关信息,以建立一文件信息表于存储模块中。文档编号G06F17/30GK101751391SQ200810178769公开日2010年6月23日申请日期2008年12月1日优先权日2008年12月1日发明者李沅谕,罗浚彬申请人:扬智科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1