用于在光盘驱动器中转换数据的方法

文档序号:6737115阅读:219来源:国知局
专利名称:用于在光盘驱动器中转换数据的方法
技术领域
本发明涉及用于转换光盘驱动器中数据的方法。更具体地,本发明涉及除了 PC之外还允许用于AV装置的光盘驱动器。
背景技术
诸如⑶(致密盘)、DVD (数字通用盘)和BD (蓝光盘)的光盘容易携带,能够被加载和卸载,并且能够记录和存储大量数据。由于这些特征,能够播放或记录光盘的光盘驱动器被广泛用于台式计算机或膝上型计算机的外围设备。现今,随着台式计算机变得越来越纤薄并且膝上型计算机的厚度变得越来越小,外部光盘驱动器正在变得比内置光盘驱动器更常见;在该情况下,可以在几个计算机之间共享作为公共外部装置的单个外部光盘驱动器。光盘驱动器已经被普遍地用于计算机的外围装置。当光盘驱动器被用作内置装置上,它通过E-IDE (增强型集成驱动电子装置)、PATA (并行高级技术附接)或SATA (串行ATA)连接;另一方面,当它被用作外部装置时,它通过USB(通用串行总线)或SCSI(小型计算机系统接口)连接到计算机。为了扩展用于视频或音频源的选择范围,当今的TV或各种类型的AV装置提供了通过USB接口来检索和播放在诸如SD卡或存储棒的快闪存储装置或外部硬盘中存储的数据的功能。AV装置不支持诸如被广泛用于诸如CD、DVD和BD的IS09660/UDF (通用盘格式)的文件系统;因为这个原因,即使光盘驱动器连接到AV装置或便携装置,也不支持媒体内容的识别或播放。一个例外是DVD-RAM ;其允许媒体识别和播放,因为DVD-RAM支持FAT32文件系统,这是因为AV装置支持FAT32文件系统。然而,因为DVD-RAM不是普通用户广泛采用的媒体,所以DVD-RAM的使用仍然对于用户引起不方便。因此,引起了通过下述方式来改善用户方便性的需求允许配备了用于连接到AV装置的接口的外部光盘驱动器连接到AV装置;并且允许识别和播放诸如CD/DVD的广泛使用的媒体。

发明内容
做出本发明来解决如上所述的问题。本发明的一个目的是提供一种光盘驱动器,所述光盘驱动器可以用于配备了 USB输入的装置。本发明的另一个目的是提供一种用于改变光盘的文件系统以便连接到光盘驱动器的AV装置访问在光盘中存储的数据的方法。
为了实现上面的目的,根据本发明的一个实施例的一种用于转换在光盘驱动器中的数据的方法包括基于相对于在光盘中记录的数据而收集的文件系统信息来产生与第一文件系统对应的数据,并且,在存储器中存储所述产生的数据,在所述存储器中彼此分离地存储根据用于在所述光盘中记录的目录和文件的所述第一文件系统转换的第一数据、用于所述目录的第二数据和用于所述文件的第三数据;基于所述的被分离地存储的数据的至少一部分来处理从主机请求的信息,并且向所述主机发送所述处理的信息。根据本发明的另一个实施例的一种光盘驱动器包括装卸器,用于从光盘读出数据,或在光盘中记录数据;要连接到主机的接口 ;存储器,用于存储数据;以及,控制器,其被配置为收集关于通过所述装卸器在光盘中记录的数据的文件系统信息,基于所收集的信息来产生与第一文件系统对应的数据,在所述存储器中存储所产生的数据,同时在所述存储器中彼此分离地存储根据用于在所述光盘中记录的目录和文件的所述第一文件系统而转换的第一数据、用于所述目录的第二数据和用于所述文件的第三数据,并且基于所述的被分离地存储的数据的至少一部分来处理从所述主机请求的信息,并且控制所述接口以向所述主机发送所述处理的信息。
在一个实施例中,所述发送步骤可以基于从所述主机接收的命令中包括的地址来检查由所述主机请求的所述信息。在一个实施例中,所述第一数据可以至少包括每一个文件或目录的开始地址、大小、名称、属性、名称长度和时间信息的一个或多个。在一个实施例中,如果在存储所述第一数据的区域中没有可用的空间,则对于未被转换为所述第一数据的目录产生用于双亲目录的数据和用于其本身目录的数据,并且在所述存储器的初级(preliminary)区域存储所述产生的数据。在一个实施例中,所述第二数据可以包括在存储了被转换的第一数据的区域内用于每一个目录的转换数据开始的位置。在一个实施例中,所述第三数据可以包括每一个文件的实际数据的开始位置和大小信息。此时,可以关于所述开始位置来布置所述第三数据。而且,可以由在所述盘中记录的原始开始地址与在向用于在所述盘中记录的数据的所述第一文件系统的转换期间产生的文件系统信息的大小之和来表达所述实际数据的所述开始位置。在一个实施例中,所述光盘的文件系统是UDF,并且对于在文件条目中保持分配描述并且是零大小的文件,对应的文件的实际数据的开始位置和大小信息可以被记录为所述第三数据。在一个实施例中,在所述主机请求关于根或目录的信息时,所述发送步骤可以参考所述第二数据从所述第一数据选择性地发送所述请求的数据。在一个实施例中,在所述主机请求关于对于文件数据或目录数据布置的地址的信息时,所述发送步骤可以基于所述第一至第三数据来产生所请求的信息,并且发送所述产生的信息。在一个实施例中,在所述主机请求FAT32的MBR或引导扇区时,所述发送步骤独立于在所述光盘中记录的数据的文件系统,可以产生所述MBR或所述引导扇区,并且发送所述产生的MBR或引导扇区。此时,可以从在所述光盘的导入区域读出的盘信息或物理格式信息获得要包括在所述MBR或引导扇区中的与盘的记录容量相关的信息。
在一个实施例中,可以通过队列来管理被收集来产生与所述第一文件系统对应的数据的文件系统信息的一部分。此时,在队列中存储在所收集的文件系统信息中的目录信息或文件条目信息;并且,可以按照在所述队列中存储的顺序来处理在所述队列中存储的信息。在一个实施例中,如果所述光盘的文件系统是UDF,则对于其中分配描述符的类型是立即(immediate)型的文件条目,可以将对应的文件的开始位置在所述存储器中独立地存储为第四数据。此时,在所述主机请求用于在所述第四数据中包括的地址的数据时,所述发送步骤可以包括从由所述地址指示的扇区读出所请求的实际数据,在所读取的实际数据中填充零,并且,以扇区为单位重新配置所述零填充的数据,以进行传送。在一个实施例中,如果从所述主机发送“获得描述符配置命令”,则所述发送步骤可以将报告数据的“子类代码”字段的值设置为“0x06”,因此向所述主机发送所述数据。
在一个实施例中,所述光盘的文件系统是IS09660或UDF,并且所述第一文件系统是 FAT32。根据另一个实施例的一种用于处理在光盘驱动器中的音频⑶的数据的方法包括基于在所述音频CD中记录的轨道的数量和每一个轨道的开始位置和大小信息,产生与用于文件结构的第一文件对应的数据,与所述轨道数量一样多的波形文件按照所述文件结构被存储;如果从接收根据所述第一文件系统而产生的数据的主机请求播放在所述波形文件中的预定文件,则产生所述对应的文件的表头信息,并且读出所述对应的文件的轨道数据,并且临时在所述存储器中存储所述轨道数据;并且,以扇区为单位配置所述表头信息和轨道数据,并且向所述主机发送所配置的数据。在一个实施例中,所述表头信息可以包括“RIFF”区块、fmt区块、和数据区块。在一个实施例中,可以通过READ⑶ATAPI命令来计算用于所请求的轨道数据的在盘中的地址,并且存储所述地址。因此,光盘驱动器可以除了 PC之外还用于具有USB输入的AV装置。由主机请求的数据也被迅速地搜索和被发送到所述主机。


附图被包括来进一步理解本文,并且被包含在本说明书中并且构成本说明书的一部分,附示本文的实施例,并且与说明一起用于解释本文的原理。其中图I图示了本发明所应用到的光盘驱动器的结构;图2图示了本发明的整体流程图;图3是图示用于检查光盘的文件系统的方法的流程图;图4图示根据IS09660文件系统的数据的布置和用于收集目录/文件信息的处理;图5图示根据UDF文件系统的数据的布置和用于收集目录/文件信息的处理;图6图示FAT32文件系统的结构;图7图示在MBR块中包括的分区条目;图8图示了在引导扇区中包括的引导参数块;图9图示根据本发明的一个实施例的、用于通过队列来管理从IS09660文件系统收集的目录和文件信息,以将信息转换为FAT32文件系统的方法;图10图示了根据本发明的一个实施例的、用于通过队列来管理从UDF文件系统收集的目录和文件信息,以将信息转换为FAT32文件系统的方法;图11图示被分配来将文件信息转换为FAT32文件系统的存储器结构和所产生的FAT32文件系统结构;图12是本发明的一个实施例,用于图示当文件的实际数据紧随在立即AD型的文件条目内时的扇区结构,以及当在传递缓冲器中累积数据时的零填充的应用;图13图示在UDF文件系统中的文件条目和扩展文件条目的一部分;图14图示在目录中产生关于双亲目录和本身目录的信息的示例;图15图示将音频⑶轨道改变为波形文件的处理;图16图示通过基于主机对于其请求访问的地址来准备数据而向主机发送数据的处理;图17图示用于产生FAT表数据的特定方法;图18是图示用于基于文件的开始地址来排序文件信息的方法的流程图;图19图示下述示例,其与基于任意布置的文件信息来搜索文件信息的情况作比较,当基于根据开始地址布置的文件信息来搜索文件信息时减少了搜索时间;图20 图不在关于“Get Descriptor Configuration Command (获取描述符配置命令)”的报告数据中,通过将“Subclass code (子类代码)”的字段值改变为“0x06”来进行报告的不例。
具体实施例方式下面,将参考附图详细描述根据本发明的用于在能够改变模式的光盘驱动器中发送数据的方法的实施例。除了 DVD-RAM之外,根据与计算机OS (操作系统)所支持的文件系统不同的IS09660或UDF (通用盘格式)规范在光盘中记录数据。由于这个原因,OS或在OS中执行的某个程序(例如,Nero)存取盘,并且向盘记录数据或从盘读出数据。换句话说,通过连接的计算机而不是光盘驱动器来执行盘的文件格式改变。然而,除了配备有OS或在OS中执行的程序的计算机之外的具有USB输入的普通A/V装置使用FAT32文件系统,并且不提供变换数据的文件系统的功能;因此,即使AV装置通过USB连接到外部光盘驱动器,A/V装置也不能存取根据不同的文件系统在光盘中记录的数据。根据本发明的允许连接的AV装置(主机)存取盘中记录的数据的光盘驱动器可以把盘中记录的数据的文件系统转换为诸如FAT32这样的由主机使用的文件系统,并且向主机发送转换的数据。图I图示了本发明被应用的光盘驱动器的结构。根据本发明的一种光盘驱动器100包括装卸器10,用于驱动光学读取器、主轴电机和步进电机等,以向光盘记录数据或从光盘读出数据;接口 20,用于连接到外部装置;存储器30,用于临时存储数据;以及控制器40,用于控制每个元件,确定操作模式,改变操作模式,并且变换文件系统。、
首先,描述本发明的整体流程;图2图示操作流程图。如果新加载盘,或向光盘驱动器供电,或在加载光盘的同时复位光盘驱动器,则控制器40识别光盘,并且通过控制装卸器10来检查SllO记录的数据的文件系统;如果光盘的文件系统不是FAT32 (在S120步骤处为否),则进一步在S130检查文件系统是否是IS09660 或 UDF。如果文件系统不是IS09660或UDF (在S130步骤处为否),则控制器40通过错误处理170来结束当前的处理;如果文件系统是IS09660或UDF (在S130步骤处为是),则控制器40在S140收集对应的文件系统的卷、目录和文件信息等的文件系统信息,并且在S150通过使用收集的信息将文件系统转换为FAT32文件系统。其后,根据通过存储器30连接的主机的请求,控制器40在S160向主机发送根据FAT32转换的文件系统信息和数据。接着,将描述与图2的流程图的SllO至S130步骤对应的用于检查光盘的文件系统的方法。图3是图示用于检查光盘的文件系统的方法的流程图。 首先,控制器40在步骤S210通过控制装卸器10来识别盘,包括识别盘类型,即CD/DVD/BD ;层的数量;以及,诸如只读盘/ 一次写入盘/可重写盘的读写特性。并且,控制器40在S220读取盘的LBA(逻辑块地址)O。控制器40在S230检查是否在扇区读取中存在MBR(主引导记录)标记,以及是否在第一分区条目中存在LBA开始值;如果是(在S230步骤处为是),则控制器40确定对应的盘的文件系统是FAT32并且结束。否则(在S230步骤处为否),控制器40在S240从LBA 16读取在5个扇区的卷描述符,并且在S250检查在卷描述符的每一个扇区中的标准标识符(ID)。在所检查的标准ID中,如果发现存在“NSR0”(非依序记录)(在S260步骤处为是),则控制器40在S270确定光盘的文件系统是M)F,并且根据UDF文件系统来收集信息。如果不存在“NSR0” (在S260步骤为否),则控制器40在S280检查是否在标准ID中存在一个或多个“⑶001” ;如果存在“⑶001” (在S280步骤处为是),则控制器40在S290确定光盘的文件系统是IS09660,并且根据IS09660文件系统来收集数据。如果未存在“⑶001” (在S280步骤处为否),则控制器40通过将“⑶001”的不存在认为是错误来结
束当前处理。接下来,将描述用于从每一个文件系统获得文件系统信息的方法。图4图示了根据IS09660文件系统的数据的布置和收集目录/文件信息的处理。(I)从补充卷描述符(SVD)收集用于根目录的记录日期/时间信息和卷记录数据和时间信息;并且,获得可以找到关于根目录的特定信息的位置,(2)从SVD获得路径表的位置,这是选用的。(3)收集关于根目录的特定信息。收集在根目录内的子目录的ID和记录时间;获得可以找到关于子目录的特定信息的位置;并且,收集关于属于根目录的文件的实际数据开始位置、文件大小、文件属性、记录时间和文件ID。(4)与(3)相同地执行关于子目录的特定信息的收集。基于通过(3)和(4)处理收集的信息,可以产生对于FAT32文件系统(FAT表和根/目录息)需要的息。图5图示了根据UDF文件系统的数据的布置和用于收集目录/文件信息的处理。
在UDF文件系统中,以AVDP (锚定卷描述符指示器)_ > VDS (卷描述符序列)->FSD (文件集描述符)->根目录的文件条目(FE)->根目录的信息控制块(ICB)->在根目录内的文件标识符描述符(FID)- >文件的ICB- >数据的顺序来访问文件数据。(I)通过读取LBA 256从AVDP获得MVDS的位置。(2)从在MVDS内的卷描述符序列的每一个获得信息。从PVD (主卷描述符)获得对应的卷的记录日期/时间信息;WIUVD(实现用途卷描述符)获得UDF修订信息,用于根据UDF修订而不同地读取文件信息。而且,从H)(分区描述符)获得分区开始信息。从LVD (逻辑卷描述符)获得FSD的开始信息、LVID (逻辑卷完整性描述符)位置信息和分区映射信息;LVID用于检查总的目录和文件的数量,而分区映射信息用于根据分区类型而不同地读取文件信息。(3)从FSD获得根目录ICB (RDICCB)的位置信息。 (4)在读取RDICB(文件条目)的同时,从RDICB获得根目录的记录日期/时间信息;收集文件类型和标志信息;并且,获得位置信息,该位置信息用于指示记录了关于根目录内的文件的ID信息(FID)的位置。(5)通过读取关于根目录内的文件的FID信息,获得位置信息,该位置信息用于指示记录了关于根目录内的子目录和文件的文件条目(FE)的位置;收集关于根目录内的子目录和文件的文件名信息和字符。(6)通过读取关于在根目录内的每个文件的FE,获得对应的文件的类型、标志、记录时间、修订时间和访问时间信息;检查在FE内的AD(分配描述符)的类型;并且,基于检查结果,获得文件的实际数据开始位置和文件大小信息。将通过(3)至(6)的处理而收集的信息转换为FAT32文件系统信息。接下来,将描述FAT32。如图6中所示,FAT32文件系统包括主引导记录(MBR)引导记录;FAT表;根目录和子目录信息;以及,其中记录了实际数据的数据扇区。当主机访问FAT32文件系统的存储介质时,首先读取MBR扇区;并且,获得引导扇区(BS)的位置信息和大小信息与引导扇区参数信息(BSPI)。然后,通过读取BS和BSPI来检查对应的文件系统是否是FAT16或FAT32,并且获得用于计算按簇操纵的扇区大小、卷的记录日期/时间信息、FAT表的位置和大小以及第一数据扇区的位置的元素。接下来,基于这些元素,主机检查在存储介质中记录的目录和文件。主机然后获得FAT表,并且通过发出所需要的目录或文件的读取命令来要求数据。接下来,将说明一种用于基于从光盘的IS09660或UDF文件系统收集的目录和文件的信息来产生FAT32文件系统的方法。当向主机报告关于对应的目录和文件的存在、实际记录位置和文件大小的信息时,使用所收集的关于目录和文件的信息;应当产生该信息以符合FAT32文件系统规范。如下所述,根据由FAT32文件系统指定的格式来新产生信息,或者转换所收集的关于目录和文件的信息。在主机请求时,立即产生和发送在IS09660/UDF文件系统中未定义的在引导扇区内的MBR块和弓I导参数块。图7图示在MBR块中包括的分区条目;在四个分区条目的64个字节中,如图7中所示构成16字节的第一分区条目,并且,将剩余的三个分区条目当作空条目。以从磁头(head)起的出现顺序的分区条目包括一个字节的引导标志、三个字节的CHS (磁道柱面数/磁头数/扇区数)开始扇区、一个字节的类型代码、三个字节的CHS结束扇区、四个字节的LBA开始扇区和四个字节的分区大小(扇区的数量)。LBA开始被设置为0x3F,而扇区的数量被设置为作为默认值的0x44424h。如果在盘中记录的数据的大小超过扇区的数量,则将扇区的数量确定为反映盘的实际容量。图8图示了在引导扇区中包括的引导参数块。在图8中,每一个扇区处理的字节的数量(每一个扇区的字节)是2048字节;通过考虑用于建立一个扇区的由CD/DVD处理的扇区大小来确定由FAT表处理的一个簇的扇区的数量(每一个簇的扇区)。FAT表大小(FAT大小)被确定为容纳由光盘驱动器识别的盘的当前记录容量;在FAT表内的一个单位(32比特)对应于一个扇区,即大约2MB。可以通过使用物理格式信息或在盘的导入区域中记录的盘信息来获得盘的记录容量,而与向在 盘中记录的数据应用的文件系统无关。而且,在引导扇区的512个字节中,最后两个字节被设置为“AA55h”以用于引导扇区标记。关于通过图4和5的处理所收集的目录和文件的信息,根据在当前光盘驱动器30的存储器30中可用的空间来限制要转换的全部目录和文件的数量。虽然因为对于在当前识别的盘的最大容量内的目录和文件的总数没有限制导致可以存在大量的目录和文件,但是用于转换所有相关信息的存储器30的容量有限。为了减轻上面的情况并且因此转换大量更多数量的目录和文件的信息,本发明以通过排队来收集和转换关于要转换的目录和文件的信息的方式来管理存储器30。下面给出上面情况的详细描述。图9图示一种通过队列来管理从IS09660文件系统收集的目录和文件信息,以将该信息转换为FAT32文件系统的实施例。在IS09660的情况下,当读取每一个目录的信息时,可以将关于在对应的目录中包括的每一个文件的信息直接地转换为根据FAT32的文件系统信息。以队列来存储除了来自在目录内的文件列表的文件之外的目录信息;当从队列逐个地去除目录信息时,根据FAT32文件系统来更新目录信息。因为使用队列,所以当完成在同一层中的目录的分析时,相同的处理被应用到下一个较低层。I)对于第一次,在Dir队列中布置根目录。处理作为被置于Dir队列中的第一项目的根。当处理根时,在Dir队列中布置IDl和ID5,因为它们是目录。关于IDl至ID5的信息(每一个文件/目录的开始地址、大小、名称、属性、名称长度、时间信息等)被转换为符合FAT32的文件系统信息,并且被存储在存储器30的主缓冲器区域中。关于根的信息(关于IDl至ID5的被转换为FAT32的信息,它们是在根中包括的目录和文件)在主缓冲器区域中开始的位置(O)或用于指示位置的指示器被存储在存储器的目录信息(Dir info)区域内。在存储器30的排序信息(Sort Info)区域中存储每一个文件((ID2 ID4)的开始位置和大小信息。每一个文件或目录的开始地址可以被转换为MBR和引导扇区的大小、FAT表大小、以及根/子目录信息的大小的和,即,向回移动超过由要转换的FAT32文件系统信息占用的空间的值,或者在光盘中记录的原始开始地址和要转换的FAT32文件系统信息的大小(文件系统偏移)的和。当从光盘读出实际数据时,从被减去与所转换的FAT32文件系统的大小对应的文件系统偏移的自主机请求的地址读出数据。2)在Dir队列中,IDl和ID5堆积,并且处理首先进入队列的ID1。因为ID6 (目录)和ID7 9(文件)属于IDl目录,所以使用与I)相同的方式来将ID6置于Dir队列中;关于属于IDl的ID6 ID9的信息被转换为FAT32文件系统信息,并且因此被存储在存储器30的主缓冲器区域中。关于目录IDl的信息(被转换为FAT32的关于在IDl中包括的文件/目录的信息)在主缓冲器区域中开始的位置(N)被存储在存储器30的目录信息区域中;并且,在IDl中包括的每一个文件(ID7 ID9)的开始位置和大小信息被存储在存储器30的排序信息区域中。3)在Dir队列中,ID5和ID6堆积,并且处理较早进入队列的ID5。与I)和2)处理类似地处理ID5 ;因为目录ID5不包括子目录而是仅包括文件(ID10 ID12),所以关于IDlO ID12的信息被转换为FAT32,因此被存储在存储器30的主缓冲器区域中。被转换为FAT32的关于目录ID5的信息在主缓冲器区域中开始的位置(N+M)被存储在存储器30的目录信息区域中。在ID5中包括的每一个文件(ID10 ID12)的开始位置和大小信息被存储在存储器30的排序信息区域中。图10图示用于通过队列来管理从UDF文件系统收集的目录和文件信息,以将该信息转换为FAT32文件系统的实施例。在UDF文件系统的情况下,在读取文件标识符(FID)的同时FAT32转换所需的所有信息是不可用的。只有收集诸如文件位置的信息直到文件条目(FE)时,才可以通过另外获得这些信息来完成FAT32文件系统。与要求目录的队列的IS096600不同,在UDF文件系统的情况下,产生用于文件条目的队列;在队列中布置对于所有FE的操作;并且,以对于队列的进入的顺序、即FIFO(先入先出)机制来来处理操作。I)首先,在队列中累积关于根文件条目(根FE)的信息(开始位置、大小等)。因为进入队列的第一数据是根FE,所以通过分析关于根FE的FID,关于在根中包括的文件/目录的FEl FE5全部被积累在队列中。在主缓冲器区域中的除了卷ID(VID)的IDl ID5的情况下,一旦读取了关于Dl ID5的文件输入项(FE),则完成要转换为FAT32的文件系统信息的每一个条目;因此,还没有完成在当前步骤中的关于IDl 5的FAT32的条目。在目录信息区域的情况下,关于根的信息(关于在根中包括的文件/目录的信息,其要被转换为FAT32文件系统)在主缓冲器区域中开始的位置(O)被存储。因为还不可能获得关于文件或目录的FE的信息,所以在排序信息区域中不积累数据。
2)取出和处理作为FE队列的第一文件条目的FEl。此时,因为FEl指出FID,所以通过分析FID,在FE队列中积累关于在IDl文件夹中包括的每一个FE6 FE9的操作细节。因为分析了 FE1,所以关于与FEl对应的IDl的FAT32条目的完成会是可能的。因为可以知道关于皿——第二目录——的信息(被转换为FAT32的关于在IDl中包括的文件和目录的信息条目)在主缓冲器区域中开始的位置(N),所以向目录信息区域加上N。因为还不能获得关于文件FE的信息,所以不在排序信息区域中积累数据。3)从FE队列取出并且处理作为下一个文件条目的FE2。因为FE2是文件,所以完成在主缓冲器区域中与ID2对应的条目。存储文件的开始位置和大小信息,它们是在排序信息区域中与ID2对应的文件信
肩、O
对于在FE队列中存储的文件条目重复2)或3)操作。图11图示被分配来将文件信息转换为FAT32文件系统的存储器结构和所产生的FAT32文件系统结构。光盘驱动器可以通过仅使用光盘的盘信息而不用分析光盘的文件系统来自主地产生MBR和引导扇区的内容。FAT表、根目录和子目录的内容通过图9或图10的处理被收集,并且可以基于在存储器30的主缓冲器区域、目录信息区域或排序信息区域中存储的信息而被产生。同时,如果在UDF文件系统中的文件条目(FE)内的AD(分配描述符)的类型是“立即型”,则应当与其他条件条目不同地地处理对应的文件条目。立即型AD是用于指示关于对应的文件的信息和对应的文件的实际数据是否全部被包括在关于特定文件的文件条目的一个扇区内的描述符。为了便于说明,假定仅对于2MB或更小的小尺寸文件允许立即型AD的处理。图12示出当文件的实际数据以立即型AD的形式紧跟在文件条目内时的一个扇区的结构。因为在一个扇区内的文件的实际数据开始的字节位置可以根据在文件条目内的扩展属性的长度字段值来改变,所以应当基于对应的字段值来计算字节位置。如果在收集UDF文件系统的信息的同时以立即型AD的形式来记录关于文件的信息,则对应文件的开始位置被独立地存储在存储器30内用于立即型AD的区域中;如果从主机请求读取的地址指示记录立即型AD类型的文件的位置,则再一次读取对应的一个扇区,并且检查实际数据从其开始的字节位置。原始数据被从所检查的字节位置读取,并且以一个扇区为单位,以返回数据的形式在传递缓冲器中被重新配置,并且因此被发送到主机。而且,在通过在传递缓冲器中积累数据而产生新的一个扇区时,如图12中所示,实际数据的开始位置N被布置得移位到新的一个扇区的第一字节位置O;并且,对应的一个扇区的剩余字节被填充零,因此被发送。接下来,将说明在从UDF文件系统提取的文件信息中的文件大小是零(“O”)的情况。文件条目(FE)或扩展的文件条目(EFE)分别以第172 175字节(分配描述符的长度)和第212 215字节来保存保持在在对应的FE (或EFE)中包括的分配描述符的总长度;图13图示文件条目和扩展文件条目的一部分。 同时,在Windows操作系统的内置记录工具中,某种记录工具甚至当所记录的文件的大小是“O”时,也将在FE(或EFE)内的“分配描述符的长度”的值记录为“0x00000000”。在该情况下,在收集和分析来自UDF文件系统的目录和文件的信息时,即使AD存在并且其大小是“0”,本发明仍提取对应的文件的信息,并且在存储器30的排序信息区域中存储所提取的信息。当主机请求时,关于对应的文件的数据被包括在FAT表中,并且因此被产生。虽然在上面的情况中未涉及实际数据,但是重要的是,将在当前加载的盘中记录的文件的信息精确地转换为FAT32文件系统,并且应当保证当要在PC环境中复制目录和/或文件时正常地复制所有的文件,所以使用上面的处理。接下来,将说明当为了转换为FAT32文件系统而存储了文件和目录信息区域的存储器的主缓冲器区域没有用于存储另外的数 据的空间时,用于处理的方法。为了转换到图11的FAT32文件系统的DRAM存储器的结构中,虽然用于转换的文件或目录存在,但是如果其中文件系统信息最后被转换为FAT32的主缓冲器区域充满数据,则不能容纳进一步转换的信息,例如,具有小的或中等大小的文件或目录的数量很大,则那些还没有转换的目录被处理如下。I)控制器40通过分析插入盘的文件系统来检查全部目录和文件的数量,将每一个目录和文件转换为FAT32文件系统信息,并且在存储器30的主缓冲器区域中存储所转换的目录和文件,并且在目录信息区域中存储具有预定大小的指示器(例如,32比特),该指示器用于指示关于每一个目录的转换的信息在主缓冲器区域内所处的位置。如果主缓冲器区域没有另外可用空间,则对于未转换的每个剩余的目录,如图14中所示,产生对应的目录的32字节的关于双亲目录的信息和另外32字节的关于其本身目录的信息;通过对于初级区域暂时分配64字节,该两个32字节的产生信息被存储在不用于任何目的的初级区域中;在用于在初级区域中存储的那些目录的目录信息区域中记录“00”数据或预定模式的数据。例如,如果仅(N_3)x32个比特包括指向在主缓冲器区域内的预定位置的有意义数据,并且虽然总的目录的数据是N但是从在目录信息区域中的(N-2)x32比特中仅记录“00”数据或预定模式的数据,则存储器的主缓冲器区域因为容纳第(N-2)、第(N-I)和第N目录而充满;因此,可以确定每64个字节依序地在初级区域中记录关于在第(N-2)目录之后的目录的信息。作为参考,因为每一个目录总是必须承载关于双亲或本身的信息,所以可以基于该信息来检查每一个目录的分层结构。2)当从主机请求关于任意目录的信息时,如果“00”数据或预定模式的数据被记录在指示包括关于所请求的目录的转换数据的主缓冲器区域中的位置的指针,则从存储器30的初级区域读取关于所请求的目录的信息,并且被向主机报告。3)同样通过I)和2)处理来向主机报告没有子目录和文件的空目录。接下来,将说明当光盘驱动器识别音频CD时的用于处理的方法。在本发明中,为了允许甚至在不能播放音频CD轨道的家用电器或便携装置中播放音频CD的轨道,当识别音频CD时,每一个音频轨道被“track #. wav”文件重新配置,并且最后产生FAT32文件系统信息。图15图示用于将音频⑶轨道改变为波形文件的处理。为了实现上面的处理,在被识别的音频⑶内的总的轨道的数量和每一个轨道的开始地址被存储在驱动器内;并且,基于每一个轨道的开始位置信息和大小信息,产生FAT32文件系统信息,使得这样的结构具有与在根目录中的轨道的数量一样多的“track#. wav” 文件。在完成转换为FAT32文件系统后,当试图从主机系统访问每一个文件时,执行下面的操作。I)如果从主机系统发出波形文件播放请求,则光盘驱动器通过READ⑶ATAPI命令来内部检查读取开始地址并且计算关于实际音频轨道的数据的在盘内的地址,并且存储所计算的地址。2)因为已经以波形文件的形式向主机报告了被请求读取的音频轨道,所以首先执行下面的处理以便以波形文件的形式新配置音频轨道数据。 a)产生要用于波形文件的表头的“RIFF”区块、fmt区块、和数据区块,并且对于每一个轨道建立文件表头。b)光盘驱动器通过READ⑶命令内部读取被请求读取的音频轨道数据,并且在存储器中暂时存储该音频轨道数据。c)为了在缓冲器中积累通过a)处理产生的波形文件的表头数据和通过b)处理读取的音频数据,以扇区为单位来布置表头数据和音频数据。3)如果完成对于一个轨道的读取请求并且应用对于下一个轨道的读取请求,则当通过从2)处理的a)至c)的重复来积累对应的表头数据和音频数据时,报告主机系统。如果关于从IS09660/UDF文件系统收集的目录和文件的信息被完全转换为FAT32文件系统,则光盘驱动器再一次试图访问主机系统;主机系统尝试访问以获得关于连接的装置(光盘驱动器)的信息。光盘驱动器基于从主机系统请求读取的地址,向主机系统报告与被请求的地址对应的文件系统信息;图16图示通过响应于主机的访问,基于所请求的地址准备数据来向主机发送数据的处理。如果由主机请求的LBA属于MBR或引导扇区,则光盘驱动器将由其本身产生的数据置于传递缓冲器中,并且向主机发送所产生的数据。如果主机请求在装置内的目录和文件的信息(根目录/子目录信息),则光盘驱动器基于通过新转换在存储器30内的主缓冲器区域和目录信息区域中的信息而产生的数据,来报告所请求的数据。如果主机请求在装置内的实际文件数据,基于在存储器30内的主缓冲器区域和排序信息区域中存储的目录和文件的信息来计算地址,该地址对应于由主机请求的地址,并且其保持在装置内的实际数据。从所计算的地址读出数据,并且将其发送到主机,其中,从由主机请求的地址减去与被转换为FAT32的文件系统信息的大小对应的文件系统偏移而获得的地址读出数据。如果主机请求FAT表,则基于关于在目录信息区域和排序信息区域中存储的目录和文件的信息,产生要在所请求的地址处记录的FAT表数据,并且将其发送到主机,如下所述。FAT表的大小根据在介质中记录的数据量(在数据区域中记录的扇区的数量)而增加;因此,当光盘的文件系统被转换为FAT32时,FAT表不能全部被存储在存储器30中,并且根据主机的请求,必须新产生和发送FAT表。FAT表提供与关于在盘中记录目录和文件的地址的位图相同的角色;在FAT表内的每一个单元是32比特(IDWORD);在本发明中,通过对于光盘使用传统的扇区单位,1DW0RD表示单个扇区。图17图示用于产生FAT表数据的具体方法。例如,如果假定记录对于簇17、18、19、20、21、22、23、24分布的文件#1,并且同时记录对于簇η、η+1、η+3分布的文件#2,则在FAT表中的每一个文件的地址从第17和第η个FAT单元开始。每一个单元表示下一个扇区的编号,并且在由对应的文件占用的扇区的最后单元中插入OxOFFFFFFF。对于其中未记录数据的那些单元,插入0x00000000。
·
对于要响应于来自主机的读取实际数据的请求而迅速地读取和发送数据的光盘驱动器,有益的是,当从IS09660/UDF文件系统收集关于目录和文件的信息时,预先应用排序的处理。如图9至11所述,在存储器30内的目录信息区域中存储在被收集来转换为FAT32文件系统的信息中的每一个目录的开始位置和长度信息;对于所有的文件收集每个文件的开始位置和大小,并且通过使用在图18中所示的方法(通过比较来自以随机顺序布置的文件信息的两个相邻文件的开始地址,并且以升序改变文件信息的顺序)来以升序来布置每个文件的开始位置和大小,并且将其存储在存储器30内的排序信息区域中。在通过以升序布置的文件信息(位置和大小)来第一次读取和发送从主机请求的文件数据后,不必搜索整个排序信息区域,通过将当前读取地址与记忆的前一个读取地址作比较,可以通过下述方式来迅速地找到关于目的地地址的信息即,仅搜索在指示当前地址的信息的存储点上下的相邻区域。通过统计地分析主机的读取请求地址的趋势,可以在第一次读取后确定搜索范围。图19图示了一个示例,与基于任意布置的信息来搜索文件信息的情况作比较,当基于根据开始地址布置的文件信息来搜索信息时减少了搜索时间。同时,对于特定装置,仅将文件系统转换为FAT32并且发送所转换的文件系统不保证在盘中通常记录的内容的播放;相框是良好的示例。为了改善在上面的装置之间的兼容性,在本发明中,在关于在诸如相框的装置识别在光盘驱动器后发出的“获得描述符配置命令”的报告数据中,可以如在图20中所示象USB存储器那样将“子类代码”字段值设置为“0x06” (SCSI命令),因此可以报告该数据。如上所述的本发明的优选实施例已经被介绍来仅用于说明的目的;因此,本领域内的技术人员应当明白,在不偏离权利要求限定的本发明的技术原理和范围的情况下,可以允许修改、改变、替代或增加的各种其他形式的实施例。
权利要求
1.一种用于转换光盘驱动器中数据的方法,包括 基于文件系统信息来产生与第一文件系统对应的数据,所述文件系统信息是相对于在光盘中记录的数据而收集的; 在存储器中存储所产生的数据,在所述存储器中彼此分离地存储根据用于在所述光盘中记录的目录和文件的所述第一文件系统而被转换的第一数据、用于所述目录的第二数据和用于所述文件的第三数据; 基于所述的被分离地存储的数据的至少一部分来处理从主机请求的信息;以及 向所述主机发送所处理的信息。
2.根据权利要求I所述的方法,其中,所述发送步骤基于从所述主机接收的命令中包括的地址来检查由所述主机请求的所述信息。
3.根据权利要求I所述的方法,其中,所述第一数据至少包括下述的ー个或多个每ー个文件或目录的开始地址、大小、名称、属性、名称长度和时间信息。
4.根据权利要求I所述的方法,其中,如果在存储所述第一数据的区域中没有可用的空间,则对于未被转换为所述第一数据的目录产生用于双亲目录的数据和用于其本身目录的数据,并且存储在在所述存储器的初级区域。
5.根据权利要求I所述的方法,其中,所述第二数据包括在存储了被转换的第一数据的区域内用于每ー个目录的被转换数据开始的位置。
6.根据权利要求I所述的方法,其中,所述第三数据包括每ー个文件的实际数据的开始位置和大小信息。
7.根据权利要求6所述的方法,其中,根据所述开始位置来布置所述第三数据。
8.根据权利要求5所述的方法,其中,由所述盘中记录的原始开始地址与在向用于在所述盘中记录的数据的所述第一文件系统的转换期间产生的文件系统信息的大小的和来表达所述实际数据的所述开始位置。
9.根据权利要求6所述的方法,其中,所述光盘的文件系统是UDF,并且对于在文件条目中保持分配描述并且是零大小的文件而言,对应的文件的实际数据的开始位置和大小信息被记录为所述第三数据。
10.根据权利要求I所述的方法,其中,当从所述主机请求关于根或目录的信息时,所述发送步骤參考所述第二数据从所述第一数据选择性地发送所请求的数据。
11.根据权利要求I所述的方法,其中,当从所述主机请求关于对文件数据或目录数据布置的地址的信息时,所述发送步骤基于所述第一至第三数据来产生所请求的信息并且发送所产生的信息。
12.根据权利要求I所述的方法,其中,当从所述主机请求FAT32的MBR或引导扇区吋,所述发送步骤独立于在所述光盘中记录的数据的文件系统,产生所述MBR或所述引导扇区并且发送所产生的MBR或引导扇区。
13.根据权利要求12所述的方法,其中,从在所述光盘的导入区域读出的盘信息或物理格式信息中获得要包括在所述MBR或引导扇区中的与盘的记录容量相关的信息。
14.根据权利要求I所述的方法,其中,通过队列来管理被收集的文件系统信息的一部分,所述文件系统信息用来产生与所述第一文件系统对应的数据。
15.根据权利要求14所述的方法,其中,被收集的文件系统信息中的目录信息或文件条目信息被存储在队列中;并且,按照在所述队列中存储的顺序来处理在所述队列中存储的信息。
16.根据权利要求I所述的方法,其中,如果所述光盘的文件系统是UDF,则对于其中分配描述符类型是立即型的文件条目,把对应的文件的开始位置在所述存储器中独立地存储为第四数据。
17.根据权利要求16所述的方法,其中,当从所述主机请求用于包括在所述第四数据中的地址的数据时,所述发送步骤包括从由所述地址指示的扇区读出所请求的实际数据,在所读取的实际数据中填充零,并且,以扇区为单位重新配置零填充的数据以进行传送。
18.根据权利要求I所述的方法,其中,如果从所述主机发送“获得描述符配置命令”,则所述发送步骤把报告数据的“子类代码”字段的值设置为“0x06”,因此向所述主机发送该数据。
19.根据权利要求I所述的方法,其中,所述光盘的文件系统是IS09660或UDF,并且所述第一文件系统是FAT32。
20.—种光盘驱动器,包括 装卸器,用于从光盘读出数据或在光盘中记录数据; 接口,要连接到主机; 存储器,用于存储数据;以及, 控制器,其被配置为收集关于经所述装卸器在光盘中记录的数据的文件系统信息,基于所收集的信息来产生与第一文件系统对应的数据,在所述存储器中存储所述产生的数据同时在所述存储器中彼此分离地存储根据用于在所述光盘中记录的目录和文件的所述第一文件系统转换的第一数据、用于所述目录的第二数据和用于所述文件的第三数据,基于所述的被分离地存储的数据的至少一部分来处理从所述主机请求的信息,以及控制所述接口以向所述主机发送所述处理的信息。
21.一种用于处理在光盘驱动器中的音频CD的数据的方法,包括 基于在所述音频CD中记录的轨道的数量和每一个轨道的开始位置和大小信息,产生与用于文件结构的第一文件对应的数据,与所述轨道数量一样多的波形文件按照所述文件结构被存储; 如果从接收根据所述第一文件系统产生的数据的主机请求播放在所述波形文件中的预定文件,则产生对应的文件的表头信息,并且读出所述对应的文件的轨道数据,并且临时在所述存储器中存储所述轨道数据;并且, 以扇区为单位配置所述表头信息和轨道数据,并且向所述主机发送所配置的数据。
22.根据权利要求21所述的方法,其中,所述表头信息包括“RIFF”区块、fmt区块和数据区块。
23.根据权利要求21所述的方法,进一步包括 通过READ⑶ATAPI命令来计算用于所请求的轨道数据在盘中的地址,并且存储所计算的地址。
全文摘要
本发明涉及一种用于转换光盘驱动器中数据的方法。在本发明的一个实施例中,基于相对于在光盘中记录的数据而收集的文件系统信息来产生与第一文件系统对应的数据,在存储器中存储产生的数据,同时在存储器中彼此分离地存储根据用于在光盘中记录的目录和文件的第一文件系统转换的第一数据、用于目录的第二数据和用于文件的第三数据;基于分离地存储的数据的至少一部分来处理从主机请求的信息,并且向主机发送信息。因此,光盘驱动器可以用于具有USB输入的AV装置。由主机请求的数据也被迅速地搜索和被发送到主机。
文档编号G11B27/02GK102750958SQ20111043894
公开日2012年10月24日 申请日期2011年12月19日 优先权日2010年12月17日
发明者林柳* 申请人:日立-Lg数据存储韩国公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1