具体实施方式
以下对涉及本发明实施例的记录设备控制装置进行描述。
<概述>
本实施例的记录设备控制装置将多段文件数据记录到单个记录设备中,并且将所述被记录文件的管理信息记录到该记录设备的特定区域中。该管理信息由一个文件系统管理。
此外,该文件系统从应用程序接收指示传送数据的请求的数据(以下称为“传送请求”),确定与接收的传送请求有关的数据(以下称为“传送目标数据”)属于哪个文件,在记录设备中指定一个作为传送目的地或传送源的区域,并在附加优先级信息之后将该传送请求发送至设备驱动器,所述优先级信息根据传送目标数据的类型规定传送顺序。
在从所述文件系统接收到附加有优先级信息的传送请求时,设备驱动器按照传送请求被接收的顺序将所述传送请求保存在一个队列中。当传送请求被保存在队列中时,设备驱动器确定用于将数据传送给记录设备中的指定区域的传送请求,并将传送目标数据传送至记录设备。
这里,管理信息的传送请求是相对于相同区域的传送请求。一个相同区域可以是其中每个扇区是不同的管理区域的管理区域组,或者可以是一个扇区。在本实施例中,描述存储在一个扇区中的管理信息的例子。
<结构>
附图1是本发明的记录设备控制装置1的功能框图。
该记录设备控制装置1由文件系统400,传送控制单元100和记录设备200构成。
具体来说,记录设备控制装置1是使用微处理器、ROM(只读存储器)、RAM(随机存取存储器)、硬盘设备等实现的计算机系统。计算机程序存储在ROM或硬盘设备中。
附图1中所示的记录设备控制装置1的各单元的功能由执行计算机程序的微处理器实现。此外,信息的存储使用RAM和硬盘设备实现。
以下描述记录设备控制装置1的每个单元。
文件系统400能够从应用程序接收向记录设备400传送数据的传送请求,并且能够在添加信息到该传送请求之后,将该传送请求发送至请求接收单元110。这里,文件系统400添加到每个传送请求中的信息包括传送目标数据的文件句柄,诸如读或写的存取类型,显示传送目标数据是否为管理信息的数据类型,以及记录设备200中的扇区位置。
以下描述当从用于记录电视节目的应用程序或转录应用程序接收到向记录设备200写数据的请求时,包含在传送请求中的信息的一个例子。
文件系统400根据从应用程序发出的命令的文件句柄确定所述传送数据是记录数据还是转录数据。当已由应用程序发出写命令时,文件系统400将此看作是对记录数据或转录数据的写请求,并且当已发出同步命令时,文件系统将此看作是用于写管理信息的管理信息写请求,从而可由文件系统400识别写入记录设备200的数据。记录设备200中用于传送目标数据的扇区位置由根据管理信息分配空闲块的扇区的文件系统400确定。
传送控制单元100能够保存从文件系统400接收的传送请求,从保存的传送请求中确定用于向记录设备200传送数据的传送请求,并将所选择的传送目标数据传送至记录设备200。传送控制单元100包括请求接收单元110,队列管理单元120,传送请求确定单元130以及传送单元140。
以下描述传送控制单元100的各个单元。
请求接收单元110能够从文件系统400接收传送请求,并将所接收的传送请求按照接收的顺序发送至队列管理单元120。
队列管理单元120能够按照传送请求被从请求接收单元110接收的顺序保存连接在列表结构中的传送请求,并且在从请求判断单元133(后面描述)接收到作为传送目标的传送请求的信息时,从传送请求列表中删除对应的传送请求数据。
传送请求确定单元130能够从队列管理信息单元120的传送请求列表的传送请求中选择传送目标,并且传送请求确定单元130由传送标准判断单元131、管理信息判断单元132以及请求判断单元133构成。以下描述这些单元中的每个单元。
传送标准判断单元131能够聚焦在连接到队列管理单元120的传送请求列表的传送请求中的一个,判断对应的传送目标数据的文件句柄的传送优先级是否高于连接在队列管理单元120的传送请求列表中的其他传送目标数据的文件句柄的优先级,并将该判断结果发送给管理信息判断单元132。
管理信息判断单元132能够当连接在队列管理单元120的传送请求列表中的正被聚焦的传送目标数据是管理信息时,判断是否存在在该焦点传送请求之前的对管理信息的传送请求,并将判断结果发送给请求判断单元133。
当没有具有与焦点传送请求的传送目标数据相同的文件句柄的传送请求在队列管理单元120的传送请求列表的焦点传送请求之前时,请求判断单元133能够向传送单元140发送表示焦点传送请求的信息。
传送单元140能够从请求判断单元140接收作为传送目标的传送请求的信息,并向记录设备200传送传送目标的传送目标数据,该传送目标数据包括显示传送目的地的信息。
记录设备200是诸如硬盘或DVD的记录介质。
<数据>
附图2显示由队列管理单元120保存的传送请求列表的例子。
由传送请求确定单元130读取传送请求列表,并当一个传送请求已被选择为传送目标时,由队列管理单元120更新传送请求列表。
Head 500是头指针。传送请求根据按照由箭头601至605指示的顺序的列表结构被连接。每个传送请求由文件句柄、数据类型、存取类型等等构成。
这里,数据类型F表示文件数据,M表示管理信息。存取类型W表示写。该数据对应于附图4B的传送请求表60中的传送请求(后面描述)。
此外,具有标识符3的管理信息的传送请求是当发出文件句柄A的同步命令时写与具有标识符1的传送目标数据有关的管理信息的写请求。具有标识符5的管理信息的传送请求是当发出文件句柄A的同步命令时的管理信息的写请求,已向其分别添加了有关具有标识符2和4的传送目标数据的管理信息。
以下描述附图3A、3B和3C。
附图3A、3B和3C每个都显示存储在记录设备200中的管理信息。
管理信息由i节点(inode)21和使用状态24组成的空闲块信息,对应于i节点和扇区23的i节点信息,以及由记录设备中的块22和使用状态24组成的空闲块信息构成。
这里,文件系统400将记录设备200中的文件与i节点对应,该i节点是保存与文件有关的控制信息的数据结构,并且通过对应的i节点能够唯一地识别每个文件。
此外,当已由应用程序发出传送请求时,通过文件系统400将管理信息读入存储器中,并且传送单元140更新记录设备200中的管理信息。
在附图3A、3B和3C的每个附图中,i节点21是与记录在记录设备200中的文件对应的i节点号,文件系统400管理i节点1至N。使用状态24表示i节点号和块号是否在使用,0表示i节点号或块号正在使用,1表示i节点号或块号未使用。扇区位置23表示记录设备200中的、其中存储有对应于i节点21的文件的数据的扇区位置。
以下描述在附图3A、3B和3C中的每一个中的数据。
附图3A显示在文件系统400确定附图2所示的传送请求列表的传送目标数据的扇区位置之前的管理信息的数据。
当在确定传送目标数据的扇区位置之前,从应用程序接收到连接在附图2的传送请求列表中的传送请求时,文件系统400读取在附图3A中所示的管理信息20。当不存在传送目标数据的文件时,文件系统400根据附图3A中的空闲i节点信息确定一个i节点,根据空闲块信息确定传送目标数据的传送目标块,根据i节点信息确定传送目标的扇区位置,并更新存储器中的管理信息。
附图3B显示当向记录设备200写入附图2的传送请求列表中具有标识符3的传送目标数据段时的管理信息。
正如对附图2所描述的,作为具有标识符3的传送目标信息的管理信息与具有文件句柄A的标识符1的传送目标数据有关。附图3B显示具有标识符1的传送目标数据在记录设备200中的存储位置。显示文件句柄A的标识符1的i节点为N1,其中存储有具有标识符1的传送目标数据段的块是K1,并且具有标识符1的传送目标数据被写入扇区100中。
以下描述附图3C。
附图3C显示当向记录设备200写入附图2的传送请求列表中具有标识符5的目标数据段时的管理信息。
如同附图3B的情况一样,作为标识符5的传送目标数据的管理信息与具有标识符2的传送数据和具有文件句柄B的标识符4的传送数据有关,并且附图3C是已向其添加了存储具有标识符2和4的传送目标数据信息的信息的附图3B的管理信息。
显示标识符2和4的文件句柄B的i节点为N2,其中存储有标识符2和4的传送目标数据的块为K2,并且这些传送目标数据分别存储在扇区200和201中。
以下描述附图4A和4B。
附图4A显示优先级信息表50的结构和内容的例子。如附图4A中所示,优先级信息表50由文件句柄51和优先级52构成,并且被根据传送目标数据进行设置。
这里,每个文件句柄51是表示属于与由应用程序发出的传送请求有关的数据的文件的信息。
每个优先级52显示向记录设备200进行写操作的优先级。文件系统400按照优先级来处理其文件句柄的优先级的数值较高的数据的写请求。
此外,附图4B示出了传送请求表60的结构和内容的例子。传送请求对应于附图2所示的连接在传送请求列表中的传送请求。
如附图4B所示,传送请求表60由标识符61、文件句柄62、数据类型63、存取类型64、扇区位置65、存储位置66、和大小67构成。文件系统400确定传送目标数据的传送目的地或传送源的扇区位置,并将此信息发送给请求接收单元110,并且由传送请求确定单元130读取该信息。
每个标识符61是显示传送请求的身份(identify)的信息。
每个文件句柄62是显示与传送请求有关的数据的文件的信息,并且当与传送请求有关的数据是管理信息时,文件句柄62是属于i节点的文件句柄。
每个数据类型63显示一段传送目标数据是管理信息还是除管理信息之外的文件数据。
每个存取类型64显示存取记录设备200的类型。例如,存取类型64在从应用程序发送读命令时是“读”,并且在从应用程序发送写命令时是“写”。
每个扇区位置65显示在记录设备200中的扇区位置。当传送请求的存取类型64是“写”时,与传送有关的数据被记录在所述扇区位置,并且当存取类型64是“读”时,从所述扇区位置读取数据。
应当注意,文件系统400预先确定与文件句柄A和B的文件数据有关的管理信息都将被存储在记录设备200的扇区500中。
每个存储器位置66显示在记录设备控制装置1的存储器中的地址位置。当传送请求的存取类型64为“写”时,将存储器位置66中的数据写入到记录设备200中,并且当存取类型64为“读”时,将数据读入到存储器位置66中。
每个大小67表示与传送请求有关的数据的大小。
<操作>
文件系统400接收由应用程序发出的写命令和同步命令传送请求,确定每个传送请求的文件句柄、数据类型和存取类型,将记录设备200中的管理信息读取到存储器中以根据管理信息确定传送目标数据的扇区,并按照传送请求被从应用程序接收的顺序将包含传送请求存储器位置和传送目标数据大小的信息的传送请求(附图4B)发送给请求接收单元110。
请求接收单元110按照传送请求被从文件系统400接收的顺序将传送请求发送给队列管理单元120,并且队列管理单元120按传送请求被接收的顺序将传送请求连接到传送请求列表(附图2)。
附图5显示传送请求确定单元130将连接到前述传送请求列表的传送请求设定为传送目标,以及传送单元140向记录设备200传送传送目标数据的操作的流程图,其中,传送请求确定单元130是本发明的特征部分。
应当注意,根据分优先级传送数据的控制命令确定操作周期。例如,如果必须在固定周期内发送高优先级数据,则在该固定周期内执行已从文件系统400发送并由队列管理单元120保存的该传送请求的操作。
以下描述了附图中所示的流程。
首先,在从文件系统400接收到传送请求之后,请求接收单元110按它们接收的顺序将传送请求发送至队列管理单元120。队列管理单元120接收从请求接收单元110发送的传送请求,并保存其中通过指针连接传送请求的传送请求列表。
传送请求确定单元130聚焦在保存在队列管理单元120中的传送请求列表的表头的传送请求(步骤S01)。
传送标准判断单元131读取传送请求表60,并判断队列管理单元120的传送请求列表中的任何传送请求是否具有与在步骤S01聚焦的传送请求(以下称为“焦点传送请求”)的文件句柄62不同的文件句柄(步骤S02)。
当传送标准判断单元131判断为肯定时(步骤S02:是),传送标准判断单元131读取优先级表50(附图4A),并判断具有不同文件句柄的单个或多个传送请求是否具有比焦点传送请求更高的传送优先级(步骤S03)。
当在步骤S03传送标准判断单元131判断焦点传送请求的文件句柄具有较高优先级时(步骤S03:否),传送标准判断单元131向管理信息判断单元132发送表示判断结果的信息。
接着,文件管理信息判断单元132从传送请求表60读取数据类型63,并判断焦点传送请求是否是管理信息传送请求(步骤S05)。
当在步骤S05管理信息判断单元132判断为否定时(步骤S05:否),管理信息判断单元132发送显示判断结果的信息给请求判断单元133。
在从管理信息判断单元132接收到否定判断结果后,请求判断单元133判断在焦点传送请求之前连接到队列管理单元120的任何传送请求是否具有与该焦点传送请求相同的文件句柄(步骤S08)。
当请求判断单元133在步骤S08判断为否定时(步骤S08:否),请求判断单元133向队列管理单元120和传送单元140发送显示焦点传送请求的信息。在接收到该信息时,如果与所接收信息有关的传送请求的数据是管理信息时,传送单元140从传送请求表60中读取存储在存储位置66并具有对应标识符61的管理信息的数据,并更新记录设备200中的指定扇区位置的管理信息(步骤S10)。队列管理单元120从传送请求列表中删除与从请求判断单元133接收的信息有关的传送请求,并更新传送请求列表(步骤S11)。
此外,当在步骤S02传送标准判断单元131判断为否定时(步骤S02:否),传送标准判断单元131发送显示判断结果的信息给管理信息判断单元132,并且所述操作移动到步骤S05。
此外,当在步骤S03传送标准判断单元131判断焦点传送请求的文件句柄具有较低优先级时(步骤S03:否),焦点传送请求的传送被抑制,然后聚焦在该焦点传送请求之后的传送请求(步骤S04),并且对目前正被聚焦的传送请求执行步骤S02。
此外,在步骤S05,当管理信息判断单元132判断焦点传送请求的传送目标数据是管理信息时(步骤S05:是),管理信息判断单元132判断在队列管理单元120中是否存在任何连接在焦点传送请求之前的传送请求,其与传送有关的数据是管理信息(步骤S06)。
当在步骤S06管理信息判断单元132判断为否定时(步骤S06:否),管理信息判断单元132发送显示判断结果的信息给请求判断单元133,并且执行步骤S08。此外,当管理信息判断单元132在步骤S06判断为肯定时(步骤S06:是),管理信息判断单元132聚焦在最接近的传送请求上,将其作为焦点传送请求,其是针对管理信息的(步骤S07),并执行步骤S06。
此外,当请求判断单元133在步骤S08判断为肯定时(步骤S08:是),请求判断单元133聚焦在最接近焦点传送请求的传送请求(步骤S09),并执行步骤S08。
接着,传送请求确定单元130对保存在队列管理单元120中的传送请求重复执行所描述的处理(步骤S01到步骤S11),直到没有传送请求还连接在队列管理单元120的传送列表中。
<操作实例>
以下使用附图2中的例子并且利用附图3和附图4,按照所描述的操作(附图5)来描述传送请求确定单元130和传送单元140的操作。
在附图5的步骤S01,传送请求确定单元130聚焦在由Head 500所示的传送请求上。
传送标准判断单元131判断在队列管理单元120的传送请求列表中是否存在任何具有与文件句柄A不同的文件句柄的传送请求(步骤S02)。
在判断在传送请求列表(附图2)中存在具有文件句柄B的传送请求时(步骤S02:是),传送标准判断单元131读取优先级表50(附图4A),判断具有文件句柄B的传送请求具有较高优先级(步骤S03:是),并聚焦在具有标识符2的传送请求上,其跟在具有标识符1的传送请求510之后(步骤S04)。
如上,传送标准判断单元131对具有标识符2的传送请求520执行步骤S02和步骤S03的判断(步骤S02:是,步骤S03:否),并发送显示判断结果的信息给管理信息判断单元132。
接着,管理信息判断单元132读取传送请求表60(附图4B),判断具有标识符2的传送请求520的数据类型63是文件数据(步骤S05:否),并将显示判断结果的信息发送至请求判断单元133。
在判断传送请求列表中在具有标识符2的传送请求之前不存在任何具有文件句柄B的传送请求时(步骤S08:否),请求判断单元133发送判断结果和具有标识符2的传送请求520给队列管理单元120和队列管理单元140。
传送单元140根据传送请求表60从存储器位置66读取具有标识符2的传送请求520的文件数据,并将该文件数据传送给记录设备200,其将被存储在该记录设备200的扇区位置200中。
队列管理单元120从传送请求列表中删除具有标识符2的传送请求520,并更新传送请求列表,以便具有标识符1的传送请求510的指针511指示具有标识符3的传送请求530(步骤S11)。
接着,传送标准判断单元131按照从由Head 500指示的传送请求510开始的顺序执行所描述的判断,具有标识符4的传送请求540随后成为焦点请求。
管理信息判断单元132和请求判断单元133对具有标识符4的传送请求540执行从步骤S05到步骤S08的判断。请求判断单元133确定传送请求540为传送目标(步骤S05:否,步骤S08:否),并且传送单元140将相关的传送目标数据传送给记录设备200的扇区201(步骤S10)。
队列管理单元120从传送请求列表中删除具有标识符4的传送请求,并更新该列表,从而具有标识符3的传送请求530的指针531指示具有标识符5的传送请求550(步骤S11)。
传送标准判断单元131再一次按照从具有标识符1的传送请求510开始的顺序执行在步骤S02到步骤S03的判断,并聚焦在具有标识符5的传送请求550上。
管理信息判断单元132读取传送请求表60,并判断具有标识符5的传送请求550的数据类型63为管理信息,并且判断具有标识符3并且其数据类型63是管理信息的传送请求530在传送请求列表中具有标识符5的传送请求550之前(步骤S02:是,步骤S03:是,步骤S02:是,步骤S03:否,步骤S05:是,步骤S06:是,步骤S06:否,以及步骤S08:否)。
管理信息判断单元132聚焦在具有标识符3的传送请求530上(步骤S07),判断在传送请求530之前不存在任何管理信息传送请求(步骤S06:否),并发送表示判断结果的信息给请求判断单元133。
请求判断单元133读取传送请求表60,判断具有文件句柄A的传送请求510在传送请求列表中具有标识符3的传送请求530之前(步骤S08:是),并聚焦在具有标识符1的传送请求510上(步骤S09)。此外,请求判断单元133判断在具有标识符1的传送请求510之前不存在任何具有文件句柄A的传送请求(步骤S08:否),并发送表示具有标识符1的传送请求510的信息给传送单元140和队列管理单元120。传送单元140和队列管理单元120执行步骤S10和步骤S11。
作为所描述的处理的结果,具有标识符3和标识符5的传送请求都处于连接在队列管理单元140的传送请求列表中的状态,并且当对这些传送请求执行步骤S01到步骤S08时,具有标识符3的传送请求成为传送目标(步骤S02:否,步骤S05:是,步骤S06:是,以及步骤S08:否)。
传送单元140将存储在传送请求表60(附图4B)的标识符3的存储器位置66的管理信息传送至记录设备200中的扇区位置500(步骤S510)。作为传送的结果,记录设备200中的管理信息的数据从附图3A改变到步骤3B中的数据。此外,队列管理单元120从传送请求列表中(附图2)删除传送请求530以更新传送请求列表(步骤S11)。
以相同的方式对具有标识符5的传送请求执行步骤S01到步骤S08,并且当传送单元140传送作为传送目标数据的管理信息至记录设备200中的扇区位置500时,记录设备200中的管理信息从附图3B改变为附图3C中的信息。
作为以此方式处理附图2的传送请求列表中的传送请求的结果,按以下顺序进行传送:标识符2,标识符4,标识符1,标识符3,标识符5。
<补充注释>
虽然已根据实施例对涉及本发明的记录设备控制装置进行了描述,但是可以对其作出如下修改,并且本发明并不局限于所述实施例中表示的记录设备控制装置。
(1)在该实施例中,作为管理信息的空闲i节点信息,i节点信息以及空闲块信息被描述为存储在相同扇区中的连续区域中。然而,也可以将这些信息段存储在相同扇区中当不在连续区域中,或者存储在不同扇区中。
在这种情况下,当从应用程序接收到同步命令时,文件系统400向请求接收单元110发送指定空闲块信息、i节点信息和空闲i节点信息的写入位置的写请求,并且队列管理单元120将包含该信息的管理信息的传送请求连接到传送请求列表中。当传送管理信息时,传送单元140按空闲块信息、i节点信息以及空闲i节点信息的顺序将包含在传送请求中的信息传送给各个扇区。
(2)在该实施例中,仅给出了其中记录在相同区域中的数据是管理数据的情况的描述,并且在步骤S05对焦点传送请求是否是针对管理信息进行判断。然而,该判断并不局限于针对管理信息进行,并且可以是用于确定在焦点传送请求之前是否存在对相同区域的传送请求的判断。在此情况下,如果存在对相同区域的传送请求,则焦点移动到与焦点传送请求最接近的传送请求。这可以应用到其中管理信息存储在相同区域中的情况,如所述实施例所描述的,并且可以应用到对相同区域执行写和读的情况。
(3)在该实施例中,管理信息传送请求被描述为属于由应用程序发出的同步命令的文件句柄。然而,所述文件系统可以提前判断管理信息的文件句柄是A还是B,或是其他文件句柄。当在这种情况时,文件系统提供从管理信息传送请求到具有与为管理信息传送请求发出的同步命令的文件句柄相同的文件句柄的文件数据的传送请求的链接。例如,当所有管理信息段都属于文件句柄B时,请求判断单元133可以判断是否存在从管理信息链接到的文件数据传送请求,并且如果存在链接的传送请求,则传送该传送请求的数据到该链接。
此外,管理信息传送请求没有必要属于任何一个文件句柄。当在此情况时,管理信息传送请求都可以被看作是不具有文件句柄的传送请求,并且如果管理信息在根据优先级执行传送处理时进行传送,则按由文件系统发出的顺序处理所述管理信息传送请求。
(4)在该实施例中,例如在附图2的传送请求列表的情况下,具有标识符3的管理信息在具有标识符5的管理信息之前传送。然而,当处在具有标识符5的传送请求之前的具有标识符1的传送目标数据被传送时,因为与具有标识符1的文件数据有关的信息也包含在具有标识符5的管理信息中,可以省略具有标识符3的管理信息的传送。在此情况下,队列管理单元120从传送请求列表中删除具有标识符3的管理信息的传送请求,并且不向传送单元140发送具有标识符3的传送请求。
(5)在该实施例中,根据由应用程序以预定时间间隔发出的同步命令,其传送请求被看作是管理信息写请求。然而,管理信息写请求可以根据写命令接收。或者,当发出关闭(close)命令时,也可以被看作是管理信息写请求。
(6)在该实施例中,传送控制单元100在从文件系统400接收的传送请求中确定传送目标传送请求。然而,文件系统400也可以通过根据附图5的流程中所示的传送标准进行判断来确定传送顺序,并按确定的顺序将传送请求发送至传送单元140,并且传送单元140可以按接收的顺序将与接收的传送请求有关的数据传送至记录设备200。
(7)在该实施例中,传送的优先级根据传送目标数据所属的文件句柄确定。然而,传送的优先级也可以根据发出传送请求的应用程序来确定。在此情况下,当发出传送请求时,应用程序可以附加表示哪个应用程序发出该传送请求的信息并将其传送至文件系统。这使得文件系统可以确定哪个应用程序发出每个传送请求。
此外,将分优先级传送的请求可以根据诸如优先级、请求时间和大小等信息的组合来动态地进行确定。例如假设在文件句柄A和B的传送请求中,A的优先级和传送比特率高于B,并且B的传送请求时间早于A的传送请求时间。这里,当即使在A的传送数据之前传送B的传送数据,A的传送比特率也保持不变时,对其传送请求时间早于A的B的传送请求给与优先权。
(8)在该实施例中,仅描述了向记录设备的写请求。然而,本发明可以应用到数据的写或读传送请求中。
(9)在该实施例中,传送请求确定单元130按照从连接在队列管理单元120的列表结构中的表头传送请求开始的顺序判断传送请求是否是传送目标。然而,可以从保存在队列管理单元120中的任何传送请求开始进行判断。
(10)此外,在该实施例中,队列管理单元120以列表结构连接传送请求。然而,队列管理单元120也可以以诸如阵列的其他结构保存所述传送请求。
(11)本发明可以是其上记录有计算机程序的计算机可读记录介质,例如软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM,或DVD-RAM。此外,本发明可以是通过电子通信网络、有线或无线通信网络、或以互联网为代表的网络传送的前述计算机程序。