(57)【要約】【課題】  再度の読み出しや書き込み時にディスクへのアクセスが発生せず、読み書き時間を短縮することが可能な情報記録再生システムを提供する。【解決手段】  ホストコンピュータ１が情報記録再生装置（ディスクドライブ）２のキャッシュバッファ２２内の所定データを書き換え禁止に設定する機能を有する。そのため、ホストコンピュータ１が再度読み出すことが分かっているデータを書き換え禁止に設定することにより、キャッシュバッファ２２から必要データが消去されることがなく、再度の読み出しや書き込み時にディスク２５へのアクセスは発生しない。【選択図】        図１
2006309403.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータと、前記ホストコンピュータにインターフェースを介して接続された情報記録再生装置とを含み、前記ホストコンピュータにより前記情報記録再生装置に入出力データを指示するシステムにおいて、前記情報記録再生装置はキャッシュバッファを有し、前記ホストコンピュータは前記キャッシュバッファ内の所定データを書き換え禁止に設定することを特徴とする情報記録再生システム。
【請求項２】
前記キャッシュバッファは、ＥＣＣブロック単位で制御され、前記書き換え禁止設定はＥＣＣブロック単位で設定することを特徴とする請求項１に記載の情報記録再生システム。
【請求項３】
前記入出力データは、ＥＣＣブロックサイズよりも小さいことを特徴とする請求項１に記載の情報記録再生システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータとそれにインターフェースを介して接続された情報記録再生装置とを有する情報記録再生システム、特に、情報記録再生装置のキャッシュバッファの制御方法に関するものである。
【背景技術】
【０００２】
従来、ホストコンピュータにより制御されるディスク記録再生装置には、ディスクから読み出したデータを一時的に貯めるキャッシュバッファが設けられており、ディスクから読み出すデータがキャッシュバッファ内に存在すれば、ディスクにアクセスすることなくキャッシュバッファからデータを取り出すことができる。このようなキャッシュバッファに関する技術は、例えば、特開２００１−０１４１０９号公報（特許文献１）等に記載されている。
【特許文献１】特開２００１−０１４１０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来のキャッシュバッファは貯めるデータをホストコンピュータから制御できず、単に古いデータを新たに読み出されたデータに置き換えるだけなので、再度読み出すことがわかっているデータもキャッシュバッファ上になければ、再度の読み出し時にディスクへのアクセスが発生し、時間がかかってしまうという問題があった。
【０００４】
本発明の目的は、再度の読み出しや書き込み時に記録媒体へのアクセスが発生せず、読み書き時間を短縮することが可能な情報記録再生システムを提供することにある。
【課題を解決するための手段】
【０００５】
本発明は、上記目的を達成するため、ホストコンピュータと、前記ホストコンピュータにインターフェースを介して接続された情報記録再生装置とを含み、前記ホストコンピュータにより前記情報記録再生装置に入出力データを指示するシステムにおいて、前記情報記録再生装置はキャッシュバッファを有し、前記ホストコンピュータは前記キャッシュバッファ内の所定データを書き換え禁止に設定することを特徴とする。
【０００６】
本発明においては、ホストコンピュータがインターフェースを介して接続された情報記録再生装置のキャッシュバッファ内の所定データを書き換え禁止に設定する機能を有する。そのため、ホストコンピュータが再度読み出すことが分かっているデータを書き換え禁止に設定することにより、キャッシュバッファから必要データが消去されることがなく、再度の読み出しや書き込み時に記録媒体へのアクセスは発生しない。
【発明の効果】
【０００７】
本発明によれば、ホストコンピュータがインターフェースを介して接続された情報記録再生装置のキャッシュバッファ内の所定データを書き換え禁止に設定することにより、再度読み出すことがわかっているデータを書き換え禁止に設定できるので、キャッシュバッファ内から削除されることがなく、再度の読み出しや書き込み時に記録媒体へのアクセスが発生せず、読み書き時間を短縮できる効果がある。
【発明を実施するための最良の形態】
【０００８】
次に、発明を実施するための最良の形態を図面を用いて詳細に説明する。図１は本発明の一実施形態の構成を示すブロック図である。図１のシステムは映像や音声等のＡＶデータをホストコンピュータ１を通してディスクドライブ２で記録又は再生するものである。ＡＶデータの記録時にホストコンピュータ１にＡＶデータ１１が入力されると、入出力デバイス１２を通してコーデック１３でＭＰＥＧ等にエンコード処理を行い、エンコードされたデータは一旦メモリ１４に蓄積された後、インターフェース１５を通してディスクドライブ２に送られる。
【０００９】
ディスクドライブ２に送られたデータは、インターフェース２１を通して一旦キャッシュバッファ２２に蓄積され、ディスクコントローラ２３を介して光ディスク等の情報記録媒体であるディスク２５に書き込まれる。２６はディスク２５上に書き込まれた実際の記録データであり、記録再生ヘッド２４により書き込みを行う。実際にディスク２５上に書き込まれる位置はホストコンピュータ１上のＣＰＵ１０で制御されるファイルシステムにより指示される。また、ディスク２５にはＡＶデータだけではなく、ファイルシステム等の管理情報も記録され、これらのデータはホストコンピュータ１内でＣＰＵ１０により作成される。
【００１０】
ＡＶデータの再生時は記録時と逆で、ディスク２５に記録されたデータ２６を記録再生ヘッド２４を通してディスクコントローラ２３で読み出し、キャッシュバッファ２２に蓄積した後、ドライブ側インターフェース２１を通してホストコンピュータ１に送る。ホストコンピュータ１に送られたデータはホスト側インターフェース１５を介してメモリ１４に蓄積され、コーデック１３でデコード処理を行った後、入出力デバイス１２を通して映像や音声として出力される。
【００１１】
ＡＶデータ以外の管理データ等はコーデック１３には送られず、メモリ１４上でＣＰＵ１０により処理される。この時、ディスク２５上のデータの位置はホストコンピュータ１上のファイルシステムにより指示される。本実施形態では、一つのファイルは連続した領域に記録されていても、異なる領域に記録された複数のデータであってもよく、ファイルの一部を成す連続領域に記録された一塊のデータをエクステントと呼ぶ。
【００１２】
図２は従来のキャッシュバッファを示す。キャッシュバッファはディスクから読み書きするデータをＥＣＣデコードして一時的に保存するメモリで、例えば、ＥＣＣブロックは、６４ＫＢになる。これは、ＥＣＣブロック（６４ＫＢ）単位でディスクのセクタアドレスと対応付けられており、ディスクドライブ２のＣＰＵ２０で管理され、新たに読み出されたデータが古いデータを上書きし、常に最新のデータが保存される。
【００１３】
ホストコンピュータからはセクタ単位（２ＫＢ）でデータの読み書き要求が来るので、キャッシュバッファ上に書き出された６４ＫＢ単位のデータから必要なデータを２ＫＢ単位でホストコンピュータに転送したり、ホストコンピュータから送られてきたデータで書き換えたりする。
【００１４】
ホストコンピュータからデータ読み込み指示があった場合には、キャッシュバッファ上にデータを含むＥＣＣブロック（６４ＫＢ単位）が存在すれば、ディスクにアクセスすることなくキャッシュバッファから読み込むが、キャッシュバッファに存在しなければディスクから新規に読み出すことになる。
【００１５】
また、ホストコンピュータからデータ書き込み指示があった場合には、キャッシュバッファ上にデータが存在すれば、必要な部分のみを書き換えてディスクに書き戻せばよいが、キャッシュバッファに存在しなければ、まず、ディスクから該当するデータを含むＥＣＣブロックを読み出し、必要な部分を書き換えてディスクに書き戻すという処理が必要となる。
【００１６】
図３は本実施形態のキャッシュバッファメモリを示す。構成や働きは従来と同様であるが、ホストコンピュータ１（ＣＰＵ１０）の指示によりキャッシュバッファ２２に書き込まれたデータをＥＣＣブロック（６４ＫＢ）単位で上書き禁止に設定できる点が異なる。即ち、キャッシュバッファ２２には上書き禁止部分と上書き可能部分とが存在し、新たにディスク２５から読み出されたデータは上書き可能部分の古いデータから上書きしていき、上書き禁止部分のデータは指示があるまでキャッシュバッファ２２上に残る。
【００１７】
こうすると、管理データ等頻繁に読み込んだり書き換えたりするデータをキャッシュバッファ２２上に残しておくことができ、ディスク２５へのアクセス回数を減らすことができる。
【００１８】
図４及び図５は本実施形態のディスクからのデータ読み出し手順とディスクへのデータ書き込み手順をフローチャートで示すものである。図４はデータ読み出し手順を示す。まず、ホストコンピュータ１からディスクドライブ２にデータ読み出し命令が発行されると、ＣＰＵ２０によりキャッシュバッファ２２内に指示されたデータを含むＥＣＣブロックが存在するかどうかを調べる（Ｓ１０１）。
【００１９】
キャッシュバッファ２２内に指示されたデータが存在すれば、該当する部分をホストコンピュータ１に転送する（Ｓ１０３）。存在しなければディスク２５からデータを含むＥＣＣブロック（６４ＫＢ単位）を読み出して、キャッシュバッファ２２内の上書き許可部分にコピーし（Ｓ１０２）、その後、該当するデータをホストコンピュータ１に転送する（Ｓ１０３）。
【００２０】
次いで、読み出されたデータがホストコンピュータ１により上書き禁止に指定されているかどうかを判定し（Ｓ１０４）、もし、上書き禁止に設定されていれば、キャッシュバッファ２２内の該当データを含むＥＣＣブロックを上書き禁止に設定する（Ｓ１０５）。一方、上書き禁止に設定されていなければ、そのＥＣＣブロックは上書き許可に設定する（Ｓ１０６）。
【００２１】
図５はデータ書き込み手順を示す。まず、ホストコンピュータ１からディスクドライブ２にデータ書き込み命令が発行されると、ＣＰＵ２０によりキャッシュバッファ２２内に指示されたデータを含むＥＣＣブロックが存在するかどうかを調べる（Ｓ２０１）。キャッシュバッファ２２内に書き込むべきデータを含むＥＣＣブロック（６４ＫＢ単位）が存在すれば、該当部分のデータを書き換えて（Ｓ２０３）、ＥＣＣブロック単位でディスク２５に書き込む（Ｓ２０４）。
【００２２】
存在しなければ、ディスク２５から該当データを含むＥＣＣブロックをキャッシュバッファ２２に一度読み出し、キャッシュバッファ２２の上書き可能部分にコピーする（Ｓ２０２）。その後、該当部分のデータを書き換え（Ｓ２０３）、書き換えたＥＣＣブロックをディスク２５に書き戻す（Ｓ２０４）。
【００２３】
次に、書き出したデータがホストコンピュータ１により上書き禁止に指定されているかどうかを判定する（Ｓ２０５）。上書き禁止に設定されていれば、キャッシュバッファ２２内の該当データを含むＥＣＣブロックを上書き禁止に設定し（Ｓ２０６）、上書き禁止に指定されていなければそのＥＣＣブロックは上書き許可に設定する（Ｓ２０７）。
【００２４】
次に、本発明の有効性を具体例を挙げて説明する。図６はディスク上のデータ配置を示しており、ディスク２５のアクセス速度を向上させるために、アプリケーションやファイルシステム等の管理情報はディスクの内周領域に集中配置され、ＡＶデータ等の通常データは外側の領域に記録される。こうすると、ディスク挿入時に管理情報をまとめて読み込んだり、途中で管理情報を更新したりする場合等、長距離シークが発生せずアクセス時間の短縮に繋がる。
【００２５】
図７は実際にＡＶデータをディスク２５に記録する時の、ホストコンピュータ１上でのメモリ１４内のデータ配置例を示す図である。ＡＶデータはＡＶデータ領域１４２に配置され、ＡＶデータを管理するファイルシステム等の管理情報は通常データ領域１４１に配置される。この他にハードウエアが使用する領域等が存在しても構わないが、本実施形態では省略する。
【００２６】
ＡＶデータ領域１４２はＡＶデータのリアルタイム記録再生時にリングバッファとして使用し、ショックプルーフメモリとしての機能も持つ。図７においては、ＡＶデータがメモリアドレス１０２４ＫＢ以降に配置され、便宜上ディスクドライブへの書き込みコマンド単位である５１２ＫＢづつに分割して示されている。また、ファイルシステム情報である管理情報はメモリアドレス５１２ＫＢの位置から８ＫＢのサイズでメモリ上に配置されている。
【００２７】
実際にＡＶデータをリアルタイムでディスクに書き込むことを考えると、書き込み中に瞬断対策として一定時間毎にファイルシステム等の管理情報を更新する処理が行われることがある。これは、瞬断が発生してメモリ上のデータが消滅しても、直前のファイルシステム更新までのデータはディスク上で再生できるからである。
【００２８】
この時のディスクドライブ２からの読み込み及び書き込みコマンドの例を図８に示す。コマンドは読み込み命令（Ｒｅａｄ）と、書き込み命令（Ｗｒｉｔｅ）で、パラメータはメモリ１４のアドレス、データサイズ、ディスクアドレス、上書き禁止設定の４つである。メモリアドレスとデータサイズはＫＢ単位、ディスクアドレスはセクタ単位（２ＫＢ）で示している。
【００２９】
まず、ＡＶデータを記録するにあたり関連する管理情報（ファイルシステム情報等）をディスク２５から読み出す。図７に示すようにメモリ１４上のアドレス５１２ＫＢにディスク２５上のセクタアドレス５０００から８ＫＢ分の管理情報を読み出す。この時、ディスクからは管理情報８ＫＢを含む６４ＫＢのＥＣＣブロックがキャッシュバッファ２２内に読み出されるのであるが、この管理情報は更新時に再度ディスクから読み出す必要があるので、キャッシュバッファ２２上で上書き禁止に設定しておく。
【００３０】
こうすると、ディスクから再度読み出す必要がなくなる。なお、ＡＶデータの管理情報が新たに作成されるだけで、最初はディスク上に存在しない場合には、この管理情報の読み出し手順は省略される。
【００３１】
次に、ＡＶデータをディスク２５に記録する手順であるが、ＡＶデータをディスク２５に記録している途中で、管理情報（ファイルシステム情報）を更新する。即ち、ＡＶデータ１を５１２ＫＢディスクに記録した後で、更新された管理情報を８ＫＢ記録し、続けてＡＶデータ２を５１２ＫＢ記録する。
【００３２】
この時、記録元であるメモリアドレスとデータサイズは図７に示す通りであり、記録先であるディスク２５上のセクタアドレスはＡＶデータの場合、ディスクの外周（１０００００，１００２５６）に記録され、管理情報は内周（５０００）に記録される。ディスク上の２５６セクタは５１２ＫＢに相当するため、ＡＶデータ２のディスク上の記録開始位置である１００２５６セクタは、ＡＶデータ１のディスク上の記録終了位置の次のセクタとなる。
【００３３】
また、管理情報の８ＫＢは更新部分を含むＥＣＣブロックがキャッシュバッファ上になければ、一度該当部分をディスクから読み出す必要がある。この場合は前回読み出したＥＣＣブロックが上書き禁止に設定され、必ずキャッシュバッファ上に存在するため、更新部分を書き換えてディスクに書き戻すだけでよい。更に、ここでも上書き禁止に設定しているが、今後必要なければ上書き許可にしてもよい。
【００３４】
この時のディスク上での記録再生ヘッドの動きを図９に示す。図中の数字はヘッドの動く順番を示す。まず、ＡＶデータ１を記録する（１）。次に、ＡＶデータの記録途中で瞬断対策としてファイルシステムの更新を行うので、管理情報領域までジャンプを行う（２）。ファイルシステム情報を更新したら（３）、記録途中のＡＶデータの末尾まで戻り（４）、ＡＶデータ２の記録を再開する（５）。
【００３５】
この時、ファイルシステム情報の更新において、更新部分を含むＥＣＣブロックがキャッシュバッファ上になければ、一度該当部分をディスクから読み出す必要があり、（３）の処理は更新前データのディスクからの読み出しと、更新後データのディスクへの書き込みという煩雑な手順が発生してしまう。
【００３６】
このように一定時間毎にファイルシステム等の管理情報を更新する場合には、管理情報を含むＥＣＣブロックがメモリ上になければ、該当部分を一度ディスク２５から読み出す必要があるが、読み出し処理に伴う時間のために、リアルタイム記録が失敗する可能性もある。
【００３７】
本実施形態では、管理情報を含むＥＣＣブロックをキャッシュバッファ内で上書き禁止に設定することにより、必ずメモリ内に書き換えデータが存在するので、ディスクから読み出す手順を省略することができ、ディスクアクセスは書き込み動作だけになるので、リアルタイム記録が失敗する可能性も著しく低くなる。
【図面の簡単な説明】
【００３８】
【図１】本発明によるシステムの一実施形態を示すブロック図である。
【図２】従来のキャッシュバッファを示す図である。
【図３】本発明のキャッシュバッファを示す図である。
【図４】本発明のディスクからの読み出し手順を示すフローチャートである。
【図５】本発明のディスクへの書き込み手順を示すフローチャートである。
【図６】ディスク上のデータ配置を示す図である。
【図７】ホストコンピュータ上のメモリのデータ配置を示す図である。
【図８】ホストコンピュータからディスクドライブに転送するコマンドの例を示す図である。
【図９】リアルタイム記録時の記録再生ヘッドの動きを示す図である。
【符号の説明】
【００３９】
１  ホストコンピュータ
２  ディスクドライブ
１０  ホスト側ＣＰＵ
１１  ＡＶデータ
１２  入出力デバイス
１３  コーデック
１４  メモリ
１５  ホスト側インターフェース
２０  ドライブ側ＣＰＵ
２１  ドライブ側インターフェース
２２  キャッシュバッファ
２３  ディスクコントローラ
２４  記録再生ヘッド
２５  ディスク媒体
２６  記録データ
１４１  通常データ領域
１４２  ＡＶデータ領域
【図１】
2006309403.tif 000003
【図２】
2006309403.tif 000004
【図３】
2006309403.tif 000005
【図４】
2006309403.tif 000006
【図５】
2006309403.tif 000007
【図６】
2006309403.tif 000008
【図７】
2006309403.tif 000009
【図８】
2006309403.tif 000010
【図９】
2006309403.tif 000011