(57)【特許請求の範囲】
【請求項１】
記録デバイス上の転送先又は転送元の領域を示す領域情報と転送データの種類を特定するための種別情報とを含む転送要求を逐次受付け、前記記録デバイスとの間で各転送要求に係るデータの転送を制御する記録デバイス制御装置であって、
前記転送要求を受付ける受付手段と、
前記受付手段により受付けられてデータが転送されていない転送要求である各特定対象要求について、
一の転送要求が、当該一の転送要求の種別情報と異なる種別情報を含む他の転送要求との間における転送順を定めた所定の転送基準に基づき、転送保留対象に該当するか否かを判断する転送基準判断処理と、
一の転送要求の領域情報と同一の領域情報を含む他の転送要求が、一の転送要求の前に受付けられているか否かを判断する同一領域判断処理とを行い、
少なくとも、前記いずれの処理の判断結果も否定的であるという条件が満たされる場合に、当該一の転送要求に係るデータを転送対象として特定する転送要求特定手段と、
前記転送要求特定手段により特定された転送要求に係るデータを転送する転送手段と
を備えることを特徴とする記録デバイス制御装置。
【請求項２】
前記記録デバイス制御装置は、前記記録デバイス上のデータの所在を管理するための管理情報を格納する管理領域を前記記録デバイスに有し、
前記転送要求特定手段は、更に、
前記一の転送要求が管理領域に対する転送要求である場合、当該一の転送要求と同一の種別情報を含む他の転送要求が当該一の転送要求より前に受付けられているか否かを判断する要求判断処理を行ない、
前記条件が満たされ、且つ前記要求判断処理の判断結果も否定的である場合に当該一の転送要求に係る転送データを転送するように特定すること
を特徴とする請求項１に記載の記録デバイス制御装置。
【請求項３】
前記転送要求特定手段は、更に、
前記条件を満たし、前記要求判断処理において否定的であると判断された前記一の転送要求が管理領域に対する転送要求の場合において、転送されていない他の管理領域に対する転送要求が当該一の転送要求より後に受付けられているときは、当該一の転送要求を、前記転送対象とは特定せず前記特定対象要求から除く特定解除処理を行なうこと
を特徴とする請求項２に記載の記録デバイス制御装置。
【請求項４】
前記受付手段は、更に、冗長となる管理情報の転送を省略するように指示する省略指示を受付け、
前記転送要求特定手段は、前記受付手段が省略指示を受付けた場合に限り、前記特定解除処理を行なうこと
を特徴とする請求項３に記載の記録デバイス制御装置。
【請求項５】
前記所定の転送基準は、前記種別情報に応じて転送データの転送順序を示す優先度を予め定めたものであり、
前記転送基準判断処理は、前記一の転送要求の種別情報と異なる種別情報を含む他の転送要求の優先度が、前記一の転送要求の優先度より高い場合に前記転送保留対象に該当すると判断すること
を特徴とする請求項１に記載の記録デバイス制御装置。
【請求項６】
記録デバイス上の転送先又は転送元の領域を示す領域情報と転送データの種類を特定するための種別情報とを含む転送要求を逐次受付け、前記記録デバイスとの間で各転送要求に係るデータの転送を制御する転送制御方法であって、
前記転送要求を受付ける受付ステップと、
前記受付ステップにより受付けられてデータが転送されていない転送要求である各特定対象要求について、
一の転送要求が、当該一の転送要求の種別情報と異なる種別情報を含む他の転送要求との間における転送順を定めた所定の転送基準に基づき、転送保留対象に該当するか否かを判断する転送基準判断処理と、
一の転送要求の領域情報と同一の領域情報を含む他の転送要求が、一の転送要求の前に受付けられているか否かを判断する同一領域判断処理とを行い、
少なくとも、前記いずれの処理の判断結果も否定的であるという条件が満たされる場合に、当該一の転送要求に係るデータを転送対象として特定する転送要求特定ステップと、
前記転送要求特定ステップにより特定された転送要求に係るデータを転送する転送ステップと
を備えることを特徴とする転送制御方法。
【請求項７】
ＣＰＵを備える装置に記録デバイスに対するデータの転送を制御させるためのプログラムであって、
ＣＰＵに、
前記転送要求を受付ける受付ステップと、
前記受付ステップにより受付けられてデータが転送されていない転送要求である各特定対象要求について、
一の転送要求が、当該一の転送要求の種別情報と異なる種別情報を含む他の転送要求との間における転送順を定めた所定の転送基準に基づき、転送保留対象に該当するか否かを判断する転送基準判断処理と、
一の転送要求の領域情報と同一の領域情報を含む他の転送要求が、一の転送要求の前に受付けられているか否かを判断する同一領域判断処理とを行い、
少なくとも、前記いずれの処理の判断結果も否定的であるという条件が満たされる場合に、当該一の転送要求に係るデータを転送対象として特定する転送要求特定ステップと、
前記転送要求特定ステップにより特定された転送要求に係るデータを転送する転送ステップと
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録デバイス制御装置に関し、特に、アプリケーションプログラム(以下「アプリケーション」という)が逐次発行する単一の記録デバイスに対するデータの転送要求に基づいてデータの転送を制御する技術に関する。
【背景技術】
【０００２】
近年のデジタルレコーダは、一つの記録デバイスに対する複数の読出し、書き込み要求を処理することができる。
例えば、番組データの録画とＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）に記録されているデータのダビングを同じハードディスクに同時に行なう際に、録画用とダビング用の各アプリケーションが発行した書き込み要求をファイルシステムが受取った場合の書き込み処理について説明する。
【０００３】
ファイルシステムは、ファイルデータの位置情報や空きブロック情報等の管理情報を保持しており、ハードディスクに書き込んだデータと管理情報の同期がとれるようにファイルデータと管理情報の書き込み要求をデバイスドライバに送る。
デバイスドライバは、録画及びダビングのデータと管理情報のデータをファイルシステムから要求された順にハードディスクに書き込む。
【０００４】
このように、たとえ録画とダビングの各々のデータに関する管理情報を同一領域に記録していたとしても、ファイルシステムから送出された順にデバイスドライバが書き込む限り、管理情報等の不整合は生じない。
ところで、録画データを書き込む場合、番組データは一定の送信ビットレートでバッファに送られて書き込まれるのでバッファからハードディスクへの書き込みが遅れると、番組データがバッファ容量に達してしまい録画を失敗する可能性がある。この点を考慮して、ハードディスクへの書き込みを遅延することができない録画等の書き込み要求に係るデータを優先的にハードディスクに書き込む制御装置が開示されている。
【特許文献１】特開平１０-２７５０５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、この制御装置を用いた場合、デバイスドライバはファイルシステムから受取った順にハードディスクに書き込みを行なわないので、管理情報等のデータに不整合が生じることがある。
【発明の効果】
【０００６】
本発明は、ある特定のデータを優先的に転送する為に転送順序を入れ替えた場合に、管理情報等のデータに不整合が生じないように各転送要求に係るデータの転送を制御する記録デバイス制御装置を提供することを目的とする。
上記目的を達成するために、本発明に係る記録デバイス制御装置は、記録デバイス上の転送先又は転送元の領域を示す領域情報と転送データの種類を特定するための種別情報とを含む転送要求を逐次受付け、前記記録デバイスとの間で各転送要求に係るデータの転送を制御する記録デバイス制御装置であって、前記転送要求を受付ける受付手段と、前記受付手段により受付けられてデータが転送されていない転送要求である各特定対象要求について、一の転送要求が、当該一の転送要求の種別情報と異なる種別情報を含む他の転送要求との間における転送順を定めた所定の転送基準に基づき、転送保留対象に該当するか否かを判断する転送基準判断処理と、  一の転送要求の領域情報と同一の領域情報を含む他の転送要求が、一の転送要求の前に受付けられているか否かを判断する同一領域判断処理とを行い、少なくとも、前記いずれの処理の判断結果も否定的であるという条件が満たされる場合に、当該一の転送要求に係るデータを転送対象として特定する転送要求特定手段と、  前記転送要求特定手段により特定された転送要求に係るデータを転送する転送手段とを備えることを特徴とする。
【０００７】
この構成によれば、例えば、ファイル管理情報を記録デバイス上の特定領域に記録している記録デバイス制御装置で、ファイルシステムがデータの転送を遅延することができない録画等の転送要求とダビングのデータの転送要求を受付けた場合、ファイルシステムが記録デバイス上の管理情報をメモリに読み出し、録画及びダビングのデータの書き込み位置を定めてメモリ上の管理情報を順に更新し、記録デバイス上のデータと管理情報の同期がとれるように各書き込み要求をデバイスドライバに送出する。
【０００８】
デバイスドライバは、転送基準判断処理により録画データを優先的に書き込むことができ、同一領域判断処理によりファイルシステムが送出した順となるように管理情報を書き込むので、ファイルシステムが後に更新した管理情報が先に更新した管理情報に上書きされることはない。また、同一セクタに対するデータの書き込みとデータの読み出しの転送要求がアプリケーションから発行された場合、まだデータの書き込みがなされていないセクタに対するデータの読み出しを防止することができる。
【０００９】
また、前記記録デバイス制御装置は、前記記録デバイス上のデータの所在を管理するための管理情報を格納する管理領域を前記記録デバイスに有し、前記転送要求特定手段は、更に、前記一の転送要求が管理領域に対する転送要求である場合、当該一の転送要求と同一の種別情報を含む他の転送要求が当該一の転送要求より前に受付けられているか否かを判断する要求判断処理を行ない、前記条件が満たされ、且つ前記要求判断処理の判断結果も否定的である場合に当該一の転送要求に係る転送データを転送するように特定することとしてもよい。
【００１０】
この構成によれば、例えば、録画及びダビングのファイル管理情報を同一領域に格納する場合、管理情報はファイルシステムが発行した順に更新されるので、後に更新されるはずの管理情報が先に更新すべき管理情報より前に更新されて後に更新されるはずの管理情報が先に更新されるべき管理情報に上書きされることを防止することができる。また、管理情報に含まれる録画及びダビングのデータより先に管理情報が書き込まれることがないので、ファイルシステムがファイルを認識することができない等の不整合が生じない。
【００１１】
また、前記転送要求特定手段は、更に、前記条件を満たし、前記要求判断処理において否定的であると判断された前記一の転送要求が管理領域に対する転送要求の場合において、転送されていない他の管理領域に対する転送要求が当該一の転送要求より後に受付けられているときは、当該一の転送要求を、前記転送対象とは特定せず前記特定対象要求から除く特定解除処理を行なうこととしてもよい。
【００１２】
この構成によれば、例えば、記録デバイス上の録画やダビングのデータの管理情報を一つの管理領域に格納している場合において、録画及びダビングのデータの書き込み要求と複数の管理情報の書き込み要求をデバイスドライバが受付けているとき、各管理情報の書き込み要求のうち、最後に受付けられた書き込み要求の管理情報には先の管理情報の内容と重複する部分がある。そのため、最後に受付けられた管理情報より前に、録画及びダビングの各データが転送されていれば、その重複する管理情報の部分の転送を省略して最後に受付けた管理情報の書き込み要求を処理することにより管理情報を書き込む時間を短縮することができる。
【００１３】
また、前記受付手段は、更に、冗長となる管理情報の転送を省略するように指示する省略指示を受付け、前記転送要求特定手段は、前記受付手段が省略指示を受付けた場合に限り、前記特定解除処理を行なうこととしてもよい。
この構成によれば、例えば、ファイルシステムが管理情報の書き込み要求のうち管理情報が重複する書き込み要求の処理を省略する指示をデバイスドライバに発行した場合に限り、デバイスドライバは管理情報が重複する書き込み要求の処理を省略することができる。従って、データの保全性を重視する場合には、管理情報の書き込み要求の処理を省略する指示をデバイスドライバに送らなければ、ファイルシステムから発行される管理情報の更新要求が全て処理され、電源断等が生じた場合でも既に書き込まれたデータが無駄になる可能性が低くなる。
【００１４】
また、前記所定の転送基準は、前記転送データの種類に応じて転送順序を示す優先度を予め定めたものであり、前記転送基準判断処理は、前記一の転送要求に係る転送データと異なる種類の他の転送要求に係る転送データの優先度が、前記一の転送要求に係る転送データの優先度より高い場合に前記転送保留対象に該当すると判断することとしてもよい。
この構成によれば、予め転送するデータの種類に応じて転送の優先度を定めておくことができ、デバイスドライバは優先度の高い転送要求に係るデータから順に記録デバイスにデータを転送することができる。
【００１５】
また、転送データの種類を特定するための種別情報と、記録デバイス上のデータの所在を管理する管理情報の転送であるか否かを示す識別情報を含む転送要求を逐次受付け、前記記録デバイスとの間で各転送要求に係るデータの転送を制御する記録デバイス制御装置であって、前記転送要求を受付ける受付手段と、前記受付手段により受付けられてデータが転送されていない転送要求である各特定対象要求について、一の転送要求が、当該一の転送要求の種別情報と異なる種別情報を含む他の転送要求との間における転送順を定めた所定の転送基準に基づき、転送保留対象に該当するか否かを判断する転送基準判断処理と、一の転送要求が管理情報の転送要求である場合、他の管理情報の転送要求が当該一の転送要求の前に受付けられているか否かを判断する管理情報判断処理と、一の転送要求が管理情報の転送要求である場合、当該一の転送要求と同一の種別情報を含む他の転送要求が当該一の転送要求より前に受付けられているか否かを判断する要求判断処理を行ない、前記いずれの処理の判断結果も否定的であるという条件が満たされる場合に、当該一の転送要求に係るデータを転送対象として特定する転送要求特定手段と、前記転送要求特定手段により特定された転送要求に係るデータを転送する転送手段とを備えることを特徴とする。
【発明を実施するための最良の形態】
【００１６】
［実施形態］
以下、本発明の実施形態に係る記録デバイス制御装置について説明する。
＜概要＞
本実施形態の記録デバイス制御装置は、単一の記録デバイスに複数のファイルデータを記録し、記録されているファイルの管理情報を前記記録デバイスの特定の領域に記録するものであり、この管理情報を一つのファイルシステムが管理している。
【００１７】
また、このファイルシステムは、アプリケーションからデータを転送する要求を示すデータ(以下「転送要求」という)を受付け、受付けた転送要求に係るデータ（以下、「転送対象データ」という）がどのファイルに属するか区別し、転送先又は転送元となる記録デバイスの領域を指定し、転送対象データの種別に応じて転送する順序を定めた優先度情報を付加した各転送要求をデバイスドライバに送出する。
【００１８】
デバイスドライバは、優先度情報が付加された転送要求をファイルシステムから受取ると、受取った順に転送要求をキューに保持し、キューに転送要求が保持されている場合に、記録デバイスの指定された領域にデータを転送する転送要求を決定し、当該転送対象データを記録デバイスに転送する。
ここで、管理情報の各転送要求は同一領域に対する転送要求であり、同一領域とは、異なるセクタを各管理領域とする管理領域群、又は一つのセクタである。実施形態では、管理情報が一つのセクタに格納されている場合について説明することとする。
＜構成＞
図1は、本発明に係る記録デバイス制御装置1の機能構成図である。
【００１９】
記録デバイス制御装置１は、ファイルシステム400、転送制御部100、及び記録デバイス200を含んで構成される。
記録デバイス制御装置1は、具体的には、マイクロプロセッサ、ＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ハードディスク装置等を用いて実現されるコンピュータシステムである。前記ＲＯＭ又は前記ハードディスク装置は、コンピュータプログラムを記憶している。
【００２０】
図1に示した記録デバイス制御装置1の各部の機能は、前記マイクロプロセッサが、前記コンピュータプログラムを実行することにより実現される。また、情報の記憶は、前記ＲＡＭ及びハードディスク装置を用いて実現される。
以下、記録デバイス制御装置１の各部について説明する。
ファイルシステム400は、アプリケーションから記録デバイス200へデータを転送する転送要求を受付け、各転送対象データのファイルハンドル、読み出し又は書き込み等のアクセスタイプ、転送対象データが管理情報であるか否かを示すデータタイプ、記録デバイス200のセクタ位置などの情報を付加した転送要求を要求受付部110に送出する機能を有する。
【００２１】
例えば、番組を録画するアプリケーションとダビングのアプリケーションから記録デバイス200へデータを書き込む要求が発行された場合の転送要求に含まれる各情報について説明する。
ファイルシステム400は、各アプリケーションから発行されるコマンドのファイルハンドルにより各転送対象データが録画かダビングのいずれのファイルに属するかを区別する。また、ファイルシステム400は、各アプリケーションからｗｒｉｔｅコマンドが発行された場合は録画又はダビングのデータの書き込み要求として扱い、ｓｙｎｃコマンドが発行された場合は、記録デバイス200に書き込まれるデータをファイルシステム400が認識できるようにするための管理情報の書き込み要求として扱う。転送対象データの記録デバイス２００上のセクタ位置は、ファイルシステム400が管理情報に基づいて空きブロックのセクタを割り当てることにより定められる。
【００２２】
転送制御部100は、ファイルシステム400から受付けた転送要求を保持し、保持している転送要求のうちから記録デバイス200にデータを転送する転送要求を決定し、その決定した転送対象データを記録デバイス200に転送する機能を有し、要求受付部110、キュー管理部120、転送要求決定部130、転送部140を含んで構成されている。
以下、転送制御部100内の各部について説明する。
【００２３】
要求受付部110は、ファイルシステム400から送出される各転送要求を受付け、受付けた順にキュー管理部120に送出する機能を有する。
キュー管理部120は、要求受付部110から受付けた順に各転送要求をリスト構造で接続した転送要求リストをメモリ上に保持し、後述する要求判断部133から転送対象となる転送要求の情報を受付けた場合に、当該転送要求データを転送要求リストから削除する機能を有する。
【００２４】
転送要求決定部130は、キュー管理部120の転送要求リストに接続された転送要求のうちから転送対象となる転送要求を決定する機能を有し、転送基準判断部131、管理情報判断部132、及び要求判断部133とを含んで構成される。以下、各部について説明する。
転送基準判断部131は、キュー管理部120の転送要求リストに接続された転送要求の一つに着目して、その転送対象データのファイルハンドルが、キュー管理部120の転送要求リストに接続されている他の転送対象データのファイルハンドルよりデータを転送する優先度が高いか否かを判断し、その判断結果を管理情報判断部132へ送出する機能を有する。
【００２５】
管理情報判断部132は、キュー管理部120の転送要求リストに接続され、着目されている転送対象データが管理情報である場合に、その転送要求より前に接続された管理情報の転送要求があるか否かを判断し、その判断結果を要求判断部133に送出する機能を有する。
要求判断部133は、キュー管理部120の転送要求リストに接続されて着目されている転送要求の転送対象データと同一ファイルハンドルの転送要求が、その着目している転送要求より前に接続されていない場合に、その着目している転送要求を示す情報を転送部140に送出する機能を有する。
【００２６】
転送部140は、要求判断部133から転送対象となる転送要求の情報を受取り、転送先を示す情報を含むその転送対象データを記録デバイス200に転送する機能を有している。
記録デバイス200は、ハードディスク、DVDなどの記録媒体である。
＜データ＞
図2は、キュー管理部120が保持する転送要求リストの例を示している。
【００２７】
転送要求リストは、転送要求決定部130によって読み出され、転送対象となる転送要求が決定した際にキュー管理部120によって更新される。
Ｈｅａｄ500は先頭ポインタであり、各転送要求は矢印601〜605が指す順にリスト構造で接続されており、各転送要求は、ファイルハンドル、データタイプ、アクセスタイプなどから構成されている。
【００２８】
ここで、データタイプのＦはファイルデータ、Ｍは管理情報を示しており、アクセスタイプのＷは書き込みを示しており、後述する図4(ｂ)の転送要求テーブル60の各転送要求と対応している。
また、識別子3の管理情報の転送要求は、ファイルハンドルＡのｓｙｎｃコマンドが発行されたときの識別子1の転送対象データに関する管理情報の書き込み要求であり、識別子5の管理情報の転送要求は、ファイルハンドルＡのｓｙｎｃコマンドが発行されたときの管理情報に、ファイルハンドルＢの識別子2、4の転送対象データに関する管理情報を付加したものである。
【００２９】
次に図３について説明する。
図3(ａ)、(ｂ)、（ｃ）は記録デバイス200上で格納されている管理情報を各々示している。
管理情報は、ｉノード21と使用状態24とからなる空きｉノード情報と、ｉノードとセクタ23とを対応付けたｉノード情報と、記録デバイス上のブロック22と使用状態24とからなる空きブロック情報からなる。
【００３０】
ここで、ファイルシステム400は、記録デバイス200上のファイルをファイルに関する制御情報を保持しているデータ構造体であるｉノードと対応づけおり、ｉノードによりファイルを一意に識別することができる。
また、管理情報は、アプリケーションから転送要求が発行されたときにファイルシステム400によってメモリ上に読み出され、転送部140が記録デバイス200上の管理情報を更新する。
【００３１】
各図において、ｉノード21は記録デバイス200上に記録されているファイルに対応付けられているｉノード番号であり、ファイルシステム400は1〜Nまでを管理している。使用状態24は、ｉノード番号及びブロック番号が使用されているか否かを表しており、0が使用されている状態を示し、1が未使用であることを示している。セクタ位置23は、ｉノード21に対応づけられたファイルのデータが格納されている記録デバイス200上のセクタ位置を示している。
【００３２】
以下、各図のデータについて説明する。
同図(ａ)は、ファイルシステム400が図２に示す転送要求リストの転送対象データのセクタ位置を定める前の管理情報のデータを示している。
ファイルシステム400は、転送対象データのセクタ位置を定める前の図2の転送要求リストに接続された転送要求をアプリケーションから受取った際に、同図の管理情報20をメモリ上に読み出す。ファイルシステム400は、各転送対象データのファイルが存在しない場合は同図の空きｉノード情報からｉノードを定め、空きブロック情報から転送対象データの転送先ブロックを定め、ｉノード情報から転送先のセクタ位置を定めてメモリ上の管理情報を更新する。
【００３３】
図3(ｂ)は、図2の転送要求リストに接続された識別子3の転送対象データが記録デバイス200に書き込まれた場合の管理情報を示している。
図2の説明で述べた通り、識別子3の転送対象データである管理情報は識別子1のファイルハンドルＡの転送対象データに関する管理情報であり、図3(ｂ)は識別子1の転送対象データが記録デバイス200上のどこに格納されているかを示している。識別子１のファイルハンドルＡを示すｉノードはＮ１、識別子1の転送対象データが格納されているブロックはK1であり、セクタ100に識別子1の転送対象データが書き込まれている。
【００３４】
次に、図3(ｃ)について説明する。
図3(ｃ)は、図2の転送要求リストに接続された識別子５の転送対象データが記録デバイス200に書き込まれた場合の管理情報を示している。
上述の図3(ｂ)と同様、識別子５の転送対象データである管理情報は識別子２，４のファイルハンドルＢの転送対象データに関する管理情報であり、図3(ｃ)は、図3(ｂ)の管理情報に識別子２，４の転送対象データが格納されている情報を付加したものである。
【００３５】
識別子２，４のファイルハンドルＢを示すｉノードはＮ２、識別子２，４の転送対象データが格納されているブロックはK２であり、セクタ200，201に各々格納されている。
次に、図4について説明する。
図４(ａ)は、優先度情報テーブル50の構成と内容例を示している。同図に示す様に優先度情報テーブル50は、ファイルハンドル51と優先度52とからなり、転送対象データに応じて定められている。
【００３６】
ここで、ファイルハンドル51は、アプリケーションから発行される転送要求に係るデータが属するファイルを表す情報である。
優先度52は、記録デバイス200への書込みの優先度を示したものであり、ファイルシステム400は、優先度の数値が高いファイルハンドルのデータの書込み要求を優先的に処理する。
【００３７】
また、図４(ｂ)は、転送要求テーブル60の構成と内容例を示しており、各転送要求は、前述した図2の転送要求リストに接続された各転送要求と対応している。
同図に示す様に転送要求テーブル60は、識別子61、ファイルハンドル62、データタイプ63、アクセスタイプ64、セクタ位置65、メモリ位置66とサイズ67とからなり、これらの情報は、ファイルシステム400が各転送対象データの転送先又は転送元のセクタ位置を定めて要求受付部110に送出し、転送要求決定部130によって読み出される。
【００３８】
識別子61は、各転送要求の識別を示す情報である。
ファイルハンドル62は、転送要求に係るデータのファイルを示す情報であり、転送要求に係るデータが管理情報の場合はｉノードに属するファイルハンドルである。
データタイプ63は、転送対象データが管理情報であるか、管理情報以外のファイルデータであるかを示している。
【００３９】
アクセスタイプ64は、記録デバイス200に対するアクセスのタイプを示しており、例えば、アプリケーションからｒｅａｄコマンドが送られた場合は読み出し、ｗｒｉｔｅコマンドが送られた場合は書き込みとなる。
セクタ位置65は、記録デバイス200上のセクタ位置を示しており、転送要求のアクセスタイプ64が書き込みの場合は転送に係るデータを当該セクタ位置に記録し、アクセスタイプ64が読み出しの場合は当該セクタ位置のデータが読み出される。
【００４０】
尚、ファイルシステム400は、ファイルハンドルＡ、Ｂのファイルデータに関する管理情報は、いずれも記録デバイス200のセクタ500に格納することを予め定めているものとする。
メモリ位置66は、記録デバイス制御装置1のメモリ上のアドレス位置を示しており、転送要求のアクセスタイプ64が書き込みの場合は当該メモリ位置66上のデータを記録デバイス200に書き込み、アクセスタイプ64が読み出しの場合は当該メモリ位置66にデータを読み出す。
【００４１】
サイズ67は、各転送要求に係るデータのサイズを示している。
＜動作＞
アプリケーションから発行されたｗｒｉｔｅコマンド、ｓｙｎｃコマンドの転送要求をファイルシステム400が受取り、ファイルシステム400は各転送要求のファイルハンドル、データタイプ、アクセスタイプを区別し、記録デバイス200上の管理情報をメモリに読み出して管理情報に基づき転送対象データのセクタを定め、転送要求のメモリ位置、転送対象データのサイズの情報を含む転送要求（図4(ｂ)）を要求受付部110にアプリケーションから受け付けた順に送る。
【００４２】
要求受付部110は、ファイルシステム400から受付けた順にキュー管理部120に転送要求を送り、キュー管理部120は各転送要求を受け取った順に転送要求リスト（図2）に接続する。
図５は、本発明の特徴部分である転送要求決定部130が、前述の転送要求リストに接続された転送要求について転送対象となる転送要求を決定し、転送部140が転送対象データを記録デバイス200に転送する動作のフローを示している。
【００４３】
尚、当該動作の周期は、優先的にデータを転送する制御の要請に応じて定まるものであり、例えば、一定時間内に優先度の高いデータを転送しなければならない場合は、その一定時間内にファイルシステム400から送出されてキュー管理部120に保持されている転送要求について当該動作を行なう。
以下、同図のフローについて説明する。
【００４４】
まず、要求受付部110は、ファイルシステム400から転送要求を受付けると、キュー管理部120へ転送要求を受付けた順に送出する。キュー管理部120は、要求受付部110から送出された転送要求を受取り、各転送要求をポインタで接続した転送要求リストを保持する。
転送要求決定部130は、キュー管理部120の転送要求のリストの先頭に保持されている転送要求に着目する(ステップS01)。
【００４５】
転送基準判断部131は、転送要求テーブル60を読み出し、ステップS01で着目した転送要求のファイルハンドル62と異なるファイルハンドルの転送要求がキュー管理部120の転送要求リストに接続されているか否かを判断する(ステップS02)。
続いて、転送基準判断部131が肯定的な判断を行なった場合(ステップS02：Y)、転送基準判断部131は、優先度テーブル50(図４(ａ))を読み出し、その異なるファイルハンドルの転送要求が、着目している転送要求より転送の優先度が高いか否かを判断する(ステップS03)。
【００４６】
ステップS03において、転送基準判断部131が、着目している転送要求のファイルハンドルの方が優先度が高いと判断した場合には(ステップS03:N)、転送基準判断部131はその判断結果を示す情報を管理情報判断部132に送出する。
続いて、管理情報判断部132は、転送要求テーブル60のデータタイプ63を読み出し、着目している転送要求が管理情報の転送要求であるか否かを判断する(ステップS05)。
【００４７】
ステップS05において、管理情報判断部132が否定的な判断を行なった場合(ステップS05:N)、管理情報判断部132はその判断結果を示す情報を要求判断部133へ送出する。
管理情報判断部132から否定的な判断結果を受取った要求判断部133は、着目している転送要求より前にキュー管理部120に接続され、その転送要求と同一のファイルハンドルの転送要求があるか否かを判断する(ステップS08)。
【００４８】
ステップS08において、要求判断部133が否定的な判断を行なった場合(ステップS08:N)、その着目している転送要求を示す情報をキュー管理部120及び転送部140へ送出する。その情報を受取った転送部140は、その情報に係る転送要求のデータが管理情報である場合には、転送要求テーブル60から該当する識別子61のメモリ位置66に格納されている管理情報のデータを読み出し、記録デバイス200上の指定されたセクタ位置の管理情報を更新する（ステップS10）。キュー管理部120は、要求判断部133から受取った情報に係る転送要求を転送要求リストから削除し、転送要求リストを更新する(ステップS11)。
【００４９】
また、ステップS02において、転送基準判断部131が否定的な判断を行なった場合(ステップS02：N)、転送基準判断部131は、その判断結果を示す情報を管理情報判断部132へ送出し、ステップS05に移る。
また、ステップS03において、転送基準判断部131が着目している転送要求のファイルハンドルの方が優先度が低いと判断した場合には (ステップS03:Y)、その着目している転送要求の転送を保留してそれに後続する転送要求について着目し(ステップＳ04)、その転送要求について上述したステップS02を行う。
【００５０】
また、ステップS05において、管理情報判断部132が着目している転送要求の転送対象データが管理情報であると判断した場合(ステップS05:Y)、管理情報判断部132は、その着目している転送要求より前にキュー管理部120に接続され、転送に係るデータが管理情報の転送要求があるか否かを判断する(ステップS06)。
ステップS06において、管理情報判断部132が否定的な判断を行なった場合(ステップS06:N)、その判断結果を示す情報を要求判断部133に送出し、ステップS08を行なう。また、ステップS06において、管理情報判断部132が肯定的な判断を行なった場合(ステップS06:Y)、管理情報判断部132は、その着目している転送要求の直近に接続された管理情報の転送要求に着目し(ステップS07)、ステップS06を行う。
【００５１】
また、ステップS08において、要求判断部133が肯定的な判断をした場合(ステップS08:Y)、要求判断部133は、その着目している転送要求の直近に接続された転送要求について着目し(ステップS09)、ステップS08を行う。
尚、転送要求決定部130は、キュー管理部120に保持されている転送要求について上記の処理(ステップＳ01〜ステップS11)を繰り返し行ない、キュー管理部120の転送要求リストに接続される転送要求がなくなった場合に上記の処理を終了する。
【００５２】
＜動作例＞
以下、図2を例に上述の動作フロー(図５)に即して、図３及び図４を用いて転送要求決定部130及び転送部140の動作を説明する。
図５のステップS01において、転送要求決定部130は、Ｈｅａｄ500が指す転送要求510に着目する。
【００５３】
転送基準判断部131は、識別子1の転送要求510のファイルハンドルＡと異なるファイルハンドルの転送要求がキュー管理部120の転送要求リストに接続されているか否かを判断する(ステップS02)。
転送基準判断部131は、転送要求リスト(図２)にファイルハンドルＢの転送要求が接続されていると判断すると(ステップS02：Ｙ)、優先度テーブル50(図4(ａ)を読み出してファイルハンドルＢの転送要求の方が優先度が高いと判断し(ステップS03:Ｙ)、転送基準判断部131は識別子1の転送要求510に後続する識別子2の転送要求520に着目する(ステップS04)。
【００５４】
上述と同様に、転送基準判断部131は識別子2の転送要求520についてステップS02及びステップS03の判断を行ない(ステップS02：Ｙ、ステップS03：Ｎ)、判断結果を示す情報を管理情報判断部132に送出する。
次に、管理情報判断部132は、転送要求テーブル60(図４(ｂ))を読み出し、識別子２の転送要求520のデータタイプ63がファイルデータであると判断すると(ステップS05：Ｎ)、その判断結果を示す情報を要求判断部133に送出する。
【００５５】
要求判断部133は、識別子２の転送要求520より前に転送要求リストに接続されたファイルハンドルＢの転送要求が無いと判断すると(ステップS08：Ｎ)、キュー管理部120と転送部140に識別子2の転送要求520とその判断結果を示す情報を送出する。
転送部140は、転送要求テーブル60に基づいて識別子２の転送要求520のメモリ位置66に格納されているファイルデータを読み出し、記録デバイス200のセクタ位置200に書き込むように記録デバイス200にそのファイルデータを転送する。
【００５６】
キュー管理部120は、転送要求リストから識別子2の転送要求520を削除し、識別子1の転送要求510のポインタ511が識別子3の転送要求530を指すように転送要求リストを更新する(ステップS11)。
続いて、転送基準判断部131は転送要求リストのＨｅａｄ500が指す転送要求510から順に上述した判断を行なうと、識別子4の転送要求540が着目する要求となる。
【００５７】
識別子４の転送要求540について、管理情報判断部132及び要求判断部133がステップS05からステップS08の判断を行い、要求判断部133は当該転送要求540を転送対象の転送要求と決定し(ステップS05：N、ステップS08：Ｎ)、転送部140が当該転送対象データを記録デバイス200のセクタ201に転送する(ステップS10)。
キュー管理部120は識別子4の転送要求540を転送要求リストから削除し、識別子3の転送要求530のポインタ531が識別子5の転送要求550を指すように転送要求リストを更新する(ステップS11)。
【００５８】
再度、転送基準判断部131が識別子1の転送要求510から順にステップS02からステップS03の判断を行ない、識別子5の転送要求550に着目する。
管理情報判断部132は、転送要求テーブル60を読み出し、識別子5の転送要求550のデータタイプ63が管理情報であり、識別子5の転送要求550より前に転送要求リストに接続されたデータタイプ63が管理情報である識別子3の転送要求530があると判断する(ステップS02：Ｙ、ステップS03：Ｙ、ステップS02：Ｙ、ステップS03：Ｎ、ステップS05：Ｙ、ステップS06：Ｙ、ステップS06：Ｎ、ステップS08：Ｎ)。
【００５９】
管理情報判断部132は、識別子3の転送要求530に着目し(ステップS07)、当該転送要求530より前に接続された管理情報の転送要求が無いと判断すると(ステップS06：N)、その判断結果を示す情報を要求判断部133に送出する。
要求判断部133は、転送要求テーブル60を読み出し、識別子3の転送要求530より前に転送要求リストに接続されたファイルハンドルＡの転送要求510があると判断すると(ステップS08：Y)、要求判断部133は識別子1の転送要求510に着目する(ステップS09)。また、要求判断部133は識別子1の転送要求510より前にファイルハンドルＡの転送要求が無いと判断すると(ステップS08：Ｎ)、識別子1の転送要求510を示す情報を転送部140及びキュー管理部120に送出し、転送部140及びキュー管理部120はステップS10、ステップS11を行なう。
【００６０】
上述した処理により、キュー管理部140の転送要求リストには識別子3と識別子5の転送要求が接続された状態となり、これらの転送要求についてステップS01からステップS08を行なうと識別子３の転送要求が転送対象となる(ステップS02：N、ステップS05：Y、ステップＳ06：Y、ステップS08：N)。
転送部140は、転送要求テーブル60(図4(ｂ))の識別子3のメモリ位置66に格納されている管理情報を記録デバイス200のセクタ位置500に転送する(ステップS10)。転送した結果、記録デバイス200上の管理情報のデータは図3(ａ)から(ｂ)となる。また、キュー管理部120は当該転送要求530を転送要求リスト(図2)から削除して転送要求リストを更新する(ステップS11)。
【００６１】
識別子５の転送要求についても同様にステップS01からステップS08を行ない、転送部140が記録デバイス200のセクタ位置500に当該転送対象データである管理情報を転送すると、記録デバイス200上の管理情報のデータは図3(ｂ)から(ｃ)に遷移する。
このように図２の転送要求リストの転送要求を処理した結果、転送順序は識別子2、識別子4、識別子1、識別子3、識別子5の順となる。
【００６２】
＜補足＞
以上、本発明に係る記録デバイス制御装置について実施形態に基づいて説明したが、以下のように変形することもでき、本発明は上述の実施形態で示した記録デバイス制御装置に限られないことは勿論である。
（１）実施形態では、管理情報である空きｉノード情報、ｉノード情報、空きブロック情報が同一セクタの連続領域に格納されている場合について説明したが、各情報が同一セクタではあるが連続領域に格納されていない場合、及び異なるセクタに各々格納されている場合でもよい。
【００６３】
この場合、ファイルシステム400はアプリケーションからｓｙｎｃコマンドを受け取ると、空きブロック情報、ｉノード情報、空きｉノード情報の書き込み位置を指定した書き込み要求を要求受付部110へ送出し、キュー管理部120はこれらの情報を含む管理情報の転送要求を転送要求リストに接続する。転送部140は管理情報を転送するとき、転送要求に含まれる各情報を空きブロック情報、ｉノード情報、空きｉノード情報の順に指定されたセクタに転送する。
（２）実施形態では、同一領域に記録するデータは管理情報のみの場合について記載しており、図5のステップS05において着目している転送要求が管理情報であるか否かを判断しているが、管理情報に限らず、着目している転送要求より前に同一領域に対する転送要求があるか否かを判断することとしてもよい。この場合、同一領域に対する転送要求があればその着目している転送要求に直近の転送要求に着目する。実施形態の様に管理情報が同一領域に格納されている場合や、書き込みと読み出しが同一領域に対してなされている場合に対応することができる。
（３）実施形態では、管理情報の転送要求はアプリケーションから発行されるｓｙｎｃコマンドのファイルハンドルに属することとしていたが、予めファイルシステムが管理情報のファイルハンドルをＡ又はＢのいずれか、若しくは別のファイルハンドルであると判断してもよい。この場合、ファイルシステムは管理情報の転送要求と、その転送要求について発行されたｓｙｎｃコマンドのファイルハンドルと同一のファイルハンドルにおけるファイルデータの転送要求とのリンクを張る。例えば、全ての管理情報がファイルハンドルＢに属するとした場合、要求判断部133はその管理情報にリンクされたファイルデータの転送要求があるか否かを判断し、リンクされた転送要求があればリンク先の転送要求のデータを転送することとしてもよい。
【００６４】
また、管理情報の転送要求がいずれのファイルハンドルにも属さないこととしてもよい。この場合、管理情報の転送要求は全てファイルハンドルの無い転送要求として扱い、優先度に従って転送要求を処理する場合において管理情報を転送するとき、ファイルシステムから発行された順に各管理情報の転送要求を処理する。
（４）実施形態では、例えば、図2の転送要求リストの場合、識別子3の管理情報は識別子5の管理情報の転送前に転送されているが、識別子5の転送要求より前に接続された識別子１の転送対象データが転送されている場合には、識別子5の管理情報には識別子1のファイルデータに関する情報も含まれているため識別子3の管理情報の転送を省略してもよい。この場合、キュー管理部120は識別子３の管理情報の転送要求を転送要求リストから削除し、識別子3の転送要求を転送部140へ送出しない
（５）実施形態では、アプリケーションから所定の時間間隔で発行されるｓｙｎｃコマンドによりその転送要求を管理情報の書き込み要求として扱っているが、ｗｒｉｔｅコマンドで管理情報の書き込み要求を受け付けてもよいし、ｃｌｏｓｅコマンドが発行された場合に管理情報の書き込み要求として扱ってもよい。
（６）実施形態では、転送制御部100が、ファイルシステム400から受け付けた転送要求から転送対象の転送要求を決定しているが、ファイルシステム400が前記図5のフローに示す転送基準を判断して転送順序を決定し、決定した順に転送要求を転送部140へ送出し、転送部140が受付けた順に記録デバイス200にデータを転送することとしてもよい。
（７）実施形態では、転送対象データが属するファイルハンドルに応じて転送する優先度を定めているが、転送要求を発行するアプリケーションに応じて転送の優先度を定めることとしてもよい。この場合、アプリケーションから転送要求を発行する際に、どのアプリケーションから発行されたかを示す情報を付加してファイルシステムに転送することにより、ファイルシステムは各転送要求を発行したアプリケーションを区別することができる。
【００６５】
また、優先度と要求時刻とサイズ等の情報の組み合わせにより優先的に転送する要求を動的に決定することとしてもよい。例えば、ファイルハンドルＡとＢの転送要求のうち、Ａの優先度及び転送ビットレートがＢより高く、Ｂの転送要求時刻がＡの転送要求時刻より前である場合、Ｂの転送データをＡより先に転送してもＡの転送ビットレートが守られるときは転送要求時刻がＡより前のＢの転送要求を優先するように転送順を決定する。
（８）実施形態では、記録デバイスに対する書き込み要求のみについて説明したが、データの書き込みと読み出しのいずれの転送要求についても適用することができる。
（９）実施形態では、転送要求決定部130はキュー管理部120にリスト構造で接続されている先頭の転送要求から順に転送対象となる転送要求か否かを判断しているが、キュー管理部120に保持されている転送要求であればどの転送要求から判断してもよい。
（１0）また、実施形態では、転送要求をキュー管理部120はリスト構造で接続しているが、配列などの構造を用いて保持することとしてもよい。
（１1）本発明は、プログラムを記録したコンピュータ読取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ―ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ等であるとしてもよい。また、本発明は、電気通信回線、無線又は有線通信回線、若しくはインターネットに代表されるネットワーク等を経由して伝送される前記コンピュータプログラムであるとしてもよい。
【産業上の利用可能性】
【００６６】
本発明に係る記録デバイス制御装置は、ハードディスクレコーダ、ＤＶＤレコーダ等に搭載され利用され得る。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施形態１に係る記録デバイス制御装置１の構成図である。
【図２】キュー管理部１２０が保持する転送要求リストの例を示す図である。
【図３】管理情報のテーブルの構成及び内容例を示す図である。
【図４】優先度情報、転送要求テーブルの構成及び内容例を示す図である。
【図５】転送要求決定部１３０による転送要求決定処理を示すフローチャートを示す図である。
【符号の説明】
【００６８】
1 記録デバイス制御装置
100 転送制御部
110 要求受付部
120 キュー管理部
130 転送要求決定部
131 転送基準判断部
132 管理情報判断部
133 要求判断部
200 記録デバイス
400 ファイルシステム
【図１】
0004668794.tif 000002
【図２】
0004668794.tif 000003
【図３】
0004668794.tif 000004
【図４】
0004668794.tif 000005
【図５】
0004668794.tif 000006