(57)【要約】【課題】上位制御装置からのコマンドに基づいてＨＤＤに対してデータの書き込み／読み出しを行うデータ記録装置において、データ記録装置内のＨＤが汎用のファイルシステムによって管理される場合に、データ記録装置の内部制御を行う制御部のオーバーヘッドを解消する。【解決手段】上位制御装置１１−１から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、それらのコマンドによって指定された論理ブロックアドレスが連続していることを条件として、それらのコマンドの内容を集約した１つのコマンドを生成するコマンド集約処理と、コマンド集約処理によって生成したコマンドをＨＤＤコントローラ１４−１〜１４−６に発行するコマンド発行処理とを行う制御部１１−２を備える。【選択図】図４
2009116834.tif 000002
【特許請求の範囲】
【請求項１】
上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約処理と、
前記コマンド集約処理によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行処理と
を行う制御部を備えたことを特徴とするデータ記録装置。
【請求項２】
請求項１に記載のデータ記録装置において、
前記制御部は、前記コマンド集約処理において、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件とする
ことを特徴とするデータ記録装置。
【請求項３】
請求項１に記載のデータ記録装置において、
前記制御部は、前記コマンド集約処理において、さらに、前記複数のコマンドを一定の時間内に受信したことを条件とする
ことを特徴とするデータ記録装置。
【請求項４】
請求項１に記載のデータ記録装置において、
前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記制御部は、前記コマンド発行処理において、前記ＲＡＩＤコントローラにコマンドを発行する
ことを特徴とするデータ記録装置。
【請求項５】
請求項１に記載のデータ記録装置において、
前記制御装置からは、ビデオデータ及びオーディオデータの書き込み／読み出しのコマンドが受信される
ことを特徴とするデータ記録装置。
【請求項６】
上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置の内部制御方法において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成する第１のステップと、
前記第１のステップで生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行する第２のステップと
を有することを特徴とするデータ記録装置の内部制御方法。
【請求項７】
請求項６に記載のデータ記録装置の内部制御方法において、
前記第１のステップでは、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件とする
ことを特徴とするデータ記録装置の内部制御方法。
【請求項８】
請求項６に記載のデータ記録装置の内部制御方法において、
前記第１のステップでは、さらに、前記複数のコマンドを一定の時間内に受信したことを条件とする
ことを特徴とするデータ記録装置の内部制御方法。
【請求項９】
請求項６に記載のデータ記録装置の内部制御方法において、
前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記第２のステップでは、前記ＲＡＩＤコントローラにコマンドを発行する
ことを特徴とするデータ記録装置。
【請求項１０】
上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置と、
前記データ記録装置に、データの書き込み／読み出しのコマンドを送信する上位の制御装置と
を含むデータ記録システムにおいて、
前記データ記録装置は、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約処理と、
前記コマンド集約処理によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行処理と
を行う制御部を備えた
ことを特徴とするデータ記録システム。
【請求項１１】
請求項１０に記載のデータ記録システムにおいて、
前記データ記録装置の前記制御部は、前記コマンド集約処理において、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件とする
ことを特徴とするデータ記録システム。
【請求項１２】
請求項１０に記載のデータ記録システムにおいて、
前記データ記録装置の前記制御部は、前記コマンド集約処理において、さらに、前記複数のコマンドを一定の時間内に受信したことを条件とする
ことを特徴とするデータ記録システム。
【請求項１３】
請求項１０に記載のデータ記録システムにおいて、
前記データ記録装置に、前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記データ記録装置の前記制御部は、前記コマンド発行処理において、前記ＲＡＩＤコントローラにコマンドを発行する
ことを特徴とするデータ記録システム。
【請求項１４】
請求項１０に記載のデータ記録システムにおいて、
前記制御装置は、汎用のファイルシステムによって前記データ記録装置内のデータを管理し、アプリケーションソフトウェアからのデータの書き込み／読み出しの要求に基づいて書き込み／読み出しのコマンドを送信する
ことを特徴とするデータ記録システム。
【請求項１５】
請求項１０に記載のデータ記録システムにおいて、
前記制御装置は、ビデオデータ及びオーディオデータの書き込み／読み出しのコマンドを送信する
ことを特徴とするデータ記録システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位の制御装置からのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置に関する。
【背景技術】
【０００２】
ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）技術を用いて複数台のハードディスクドライブにＡＶデータ（ビデオデータ及びオーディオデータ）を記録する装置であるＲＡＩＤ装置が、ビジネス用途やプロフェッショナル用途のデータ記録装置として普及している。こうしたＲＡＩＤ装置は、通常、上位の制御装置から送信されるコマンドに基づいてＡＶデータの書き込み／読み出しを行う。
【０００３】
ハードディスクドライブは、ヘッドのシークや目的のセクタの回転待ちを行う関係でアクセス時間（データの書き込み／読み出しのコマンドを受けてから実際にデータの書き込み／読み出しが行われるまでの時間）に制約がある。
【０００４】
そこで、ＡＶデータを切れ目無く再生するシステムにおいては、従来から、独自のフォーマットによってＲＡＩＤ装置内のハードディスク上のＡＶデータの配置を工夫して、書き込み／読み出し時の高いデータレートを保証していた（例えば、特許文献１）。
【０００５】
【特許文献１】特開２０００−７６０２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、汎用のＯＳ上で動作するアプリケーションソフトウェアによってＲＡＩＤ装置に対するＡＶデータの書き込み／読み出しを行おうとする場合（例えばパーソナルコンピュータを操作してＲＡＩＤ装置に対するＡＶデータの書き込み／読み出しを行おうとする場合）は、ＲＡＩＤ装置内のハードディスクも、独自のフォーマットを用いるのではなく、汎用のＯＳの汎用のファイルシステムによって管理するほうが、アプリケーションソフトウェアからのハンドリングを行いやすくなる。
【０００７】
ところが、汎用ファイルシステムによってＲＡＩＤ装置内のハードディスクを管理すると、アプリケーションソフトウェアからデータサイズの大きいＡＶデータの書き込み／読み出し要求を行っても、汎用ＯＳが管理しているメモリの単位が小さいことを原因として、その書き込み／読み出し要求が、データサイズの小さい多数のコマンドに分割されて、ＲＡＩＤ装置の内部制御を行う制御部に送られるようになる。
【０００８】
ＲＡＩＤ装置の内部制御を行う制御部は、受信した１つのコマンドを実行するために、ＲＡＩＤ装置内のハードディスクドライブの台数分のコマンドをハードディスクドライブコントローラに発行する。そのため、データサイズの小さい多数のコマンドを連続して受信すると、そのコマンド数×ハードディスクドライブの台数分のコマンドを短時間に発行しなければならなくなるので、制御部のオーバーヘッドが無視できないほど大きくなる。
【０００９】
このように制御部のオーバーヘッドが大きくなると、ＲＡＩＤ装置でのＡＶデータの書き込み／読み出し処理のスループットが低下してしまう。
【００１０】
本発明は、上述の点に鑑み、上位の制御装置からのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、データ記録装置内のハードディスクが汎用のファイルシステムによって管理される場合に、データ記録装置の内部制御を行う制御部のオーバーヘッドを解消することを課題とする。
【課題を解決するための手段】
【００１１】
この課題を解決するため、本発明は、上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約処理と、
前記コマンド集約処理によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行処理と
を行う制御部を備えたことを特徴とする。
【００１２】
また本発明は、上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置の内部制御方法において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成する第１のステップと、
前記第１のステップで生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行する第２のステップと
を有することを特徴とする。
【００１３】
このデータ記録装置，データ記録装置の内部制御方法では、上位の制御装置から１つのコマンドを受信すると直ちにハードディスクドライブコントローラにコマンドを発行するのではなく、上位の制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、それらの複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、それらの複数のコマンドの内容を集約した１つのコマンドを生成する。
【００１４】
そして、このように複数のコマンドの内容を集約した１つのコマンドを、ハードディスクドライブコントローラに発行する。
【００１５】
上位の制御装置が、汎用のファイルシステムによってデータ記録装置内のデータを管理し、アプリケーションソフトウェアからのデータサイズの大きい書き込み／読み出しの要求に基づいてデータ記録装置に書き込み／読み出しのコマンドを送信するような場合には、その書き込み／読み出しの要求が多数のコマンドに分割されてデータ記録装置に送信されるので、データ記録装置で連続して受信されるそれらの多数のコマンドは、同じ種類のコマンドであり、且つ、連続した論理ブロックアドレスを指定しているのが通常である。
【００１６】
したがって、そのような場合には、それらの分割された多数のコマンドの内容を集約した１つのコマンドだけをハードディスクドライブコントローラに発行するので、ハードディスクドライブコントローラに発行するコマンドの数は、ハードディスクドライブの台数分だけになる。従来は、上位の制御装置の側でのコマンドの分割数をＮとするとＮ×ハードディスクドライブの台数分のコマンドを発行していたので、コマンドの発行数が従来のＮ分の１で足りるようになる。
【００１７】
これにより、データ記録装置内のハードディスクが汎用のファイルシステムによって管理される場合に、データ記録装置の内部制御を行う制御部のオーバーヘッドが解消される。
【００１８】
なお、このデータ記録装置，データ記録装置の内部制御方法において、一例として、複数のコマンドの内容を集約する条件として、それらの複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であるという条件を追加してもよい。
【００１９】
それにより、ハードディスクドライブコントローラに発行される１コマンドあたりの要求セクタ数がこの最大セクタ数を超えることがなくなるので、過大な要求セクタ数のコマンドが発行されることによって却って書き込み／読み出しの効率が低下することや、データの書き込みしコマンドとともに受信したデータをハードディスクドライブコントローラにコマンドを発行するまで一時的に記憶するためのデータ記録装置内のメモリに容量を超えるデータが書き込まれることを防止できるようになる。
【００２０】
また、このデータ記録装置，データ記録装置の内部制御方法において、一例として、複数のコマンドの内容を集約する条件として、それらの複数のコマンドを一定の時間内に受信したという条件を追加してもよい。
【００２１】
このように、一定の時間内に受信したコマンドだけの内容を集約することにより、コマンドを受信してからそれに対応したコマンドをハードディスクドライブコントローラに発行するまでの時間が一定時間を越えることがなくなるので、データを切れ目無く記録／再生するというリアルタイム性の要求も満たすことができるようになる。
【００２２】
次に、本発明は、上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置と、
前記データ記録装置に、データの書き込み／読み出しのコマンドを送信する上位の制御装置と
を含むデータ記録システムにおいて、
前記データ記録装置は、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約処理と、
前記コマンド集約処理によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行処理と
を行う制御部を備えたことを特徴とする
【００２３】
このデータ記録システムは、前述の本発明に係るデータ記録装置と上位の制御装置とを含んだものであり、データ記録装置内のハードディスクが汎用のファイルシステムによって管理される場合に、データ記録装置の内部制御を行う制御部のオーバーヘッドが解消される。
【発明の効果】
【００２４】
本発明によれば、上位の制御装置からのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、データ記録装置内のハードディスクが汎用のファイルシステムによって管理される場合に、データ記録装置の内部制御を行う制御部のオーバーヘッドを解消することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態を、図面を用いて具体的に説明する。なお、以下では  デジタルシネマ上映システムに本発明を適用した例を説明するが、その前提として、まずデジタルシネマ上映システムの概要を説明する。
【００２６】
図１は、本発明を適用したデジタルシネマ上映システムの全体構成図である。このデジタルシネマ上映システムは、ＲＡＩＤ技術を用いたデータ記録装置１と、デジタルシネマサーバー２と、プロジェクター（投射型表示装置）３と、パーソナルコンピュータ４とで構成されている。
【００２７】
データ記録装置１，デジタルシネマサーバー２及びプロジェクター３は、同一の筐体内に収納されている。デジタルシネマサーバー２とパーソナルコンピュータ４とは、１０００ＢＡＳＥ−Ｔのような高速ネットワーク５で接続されている。
【００２８】
このデジタルシネマ上映システムは、上映する映画のＡＶデータ（ビデオデータは、ＪＰＥＧ２０００のような画像圧縮方式で圧縮したデータ）を、パーソナルコンピュータ４からデジタルシネマサーバー２を介してデータ記録装置１に記録させておき、データ記録装置１から再生させたＡＶデータを、デジタルシネマサーバー２からプロジェクター３に送ってスクリーンに投影するものである。
【００２９】
パーソナルコンピュータ４には、ＧＵＩ画面上で、ＡＶデータの記録や、映画の上映や、ＡＶデータ以外のデータ（データ記録装置１の動作のログ情報や、データ記録装置１内のＡＶデータに関するファイルシステムの情報や、映画の字幕のデータ）の管理を行うためのプログラムが格納されている。パーソナルコンピュータ４からは、このＧＵＩ画面上での操作に基づき、ＡＶデータの書き込み／読み出し要求や、ログ情報やファイルシステム情報や字幕データの書き込み／読み出し要求を高速ネットワーク５経由でデジタルシネマサーバー２に送信する。
【００３０】
図２は、デジタルシネマサーバー２内に設けられている主要な回路を示す図である。デジタルシネマサーバー２内には、ＣＰＵ１１と、圧縮されたＡＶデータを伸長するデコーダ２０とが設けられている。ＣＰＵ１１は、図１の高速ネットワーク５に接続されるとともに、ＰＣＩ−Ｘ規格のバスによって図１のデータ記録装置１に接続されている。デコーダ２０は、データ記録装置１に接続されるとともに、図１のプロジェクター３に接続されている。
【００３１】
ＣＰＵ１１は、汎用のＯＳ（例えばＬｉｎｕｘ）が動作しており、この汎用ＯＳ上の汎用のファイルシステム（例えばＸＦＳ）によってデータ記録装置１内のハードディスクを管理している。また、ＣＰＵ１１には、この汎用ＯＳ上で動作する下記の（ａ）〜（ｃ）の３つのプログラムが格納されている。
（ａ）データ記録装置１の内部制御を行うプログラムである「内部制御アプリケーション」
（ｂ）パーソナルコンピュータ４からのＡＶデータの書き込み／読み出し要求に従い、ＡＶデータの書き込み／読み出しコマンドを上記「内部制御アプリケーション」に送信するプログラムである「デジタルシネマ用アプリケーション」
（ｃ）パーソナルコンピュータ４からのログ情報やファイルシステム情報や字幕データの書き込み／読み出し要求に従い、ログ情報やファイルシステム情報や字幕データの書き込み／読み出しコマンドを上記「内部制御アプリケーション」に送信するプログラムである「管理用アプリケーション」
【００３２】
ここで、パーソナルコンピュータ４からＣＰＵ１１に送られる書き込み／読み出し要求は、ＡＶデータがそれ以外のデータ（ログ情報やファイルシステム情報や字幕データ）と比べてはるかにデータ量が多いことから、ログ情報やファイルシステム情報や字幕データの書き込み／読み出し要求では１回あたりのデータサイズ（要求セクタ数）が少ないのに対し、ＡＶデータの書き込み／読み出し要求では１回あたりのデータサイズ（要求セクタ数）がそれよりもはるかに多くなっている。
【００３３】
しかし、ＣＰＵ１１は汎用ＯＳの汎用ファイルシステムによってデータ記録装置１内のハードディスクを管理しているので、パーソナルコンピュータ４からデータサイズの大きいＡＶデータの書き込み／読み出し要求が送られても、汎用ＯＳが管理しているメモリの単位が小さいことを原因として、図３に概念的に示すように、その書き込み／読み出し要求が、汎用ファイルシステムによってデータサイズの小さい多数のコマンドに分割される。そのため、図３にも示しているように、「デジタルシネマ用アプリケーション」から「内部制御アプリケーション」には、パーソナルコンピュータ４からＡＶデータの書き込み／読み出し要求が送られる毎に、データサイズの小さい多数の書き込み／読み出しコマンドが送られる。
【００３４】
なお、ＣＰＵ１１は、「デジタルシネマ用アプリケーション」や「管理用アプリケーション」を実行することによってデータ記録装置１の上位の制御装置（データ記録装置１にデータの書き込み／読み出しコマンドを送信する装置）として機能するとともに、「内部制御アプリケーション」を実行することによって記録装置１の内部制御を行う機能も併有している。
【００３５】
そこで、以下では、説明を分かりやすくするために、ＣＰＵ１１のうち、上位の制御装置として機能する部分を上位制御部１１−１とし、データ記録装置１の内部制御を行う機能の部分を内部制御部１１−２とするというように、ＣＰＵ１１を機能によって２つの部分に分けて説明を行うことにする。
【００３６】
図４は、データ記録装置１の構成を、この上位制御部１１−１，内部制御部１１−２及びデコーダ２０とともに示す図である。なお、ここでは、内部制御部１１−２は、その機能から、データ記録装置１の一部として示している。また、データ（ＡＶデータと、ログ情報やファイルシステム情報や字幕データ）の流れを二重線の矢印で示し、上位制御部１１−１や内部制御部１１−２で授受されるコマンドや応答の流れを単線の矢印で示している。
【００３７】
データ記録装置１には、ＦＰＧＡから成るＥＣＣ・ＤＭＡ部１２と、キャッシュメモリ１３と、合計７台のＨＤＤを制御するためのＨＤＤコントローラ（例えばＳＡＳコントローラ）１４（１４−１〜１４−７）とが設けられている。ＨＤＤコントローラ１４に接続される合計７台のＨＤＤ１５（１５−１〜１５−７）のうち、４台のＨＤＤ１５−１〜１５−４はデータ用、２台のＨＤＤ１５−５〜１５−６はエラー訂正用、残りの１台のＨＤＤ１５−７はスペア用である。
【００３８】
ＥＣＣ・ＤＭＡ部１２は、記録時には、デジタルシネマサーバー２内の上位制御部１１−１から送られたデータからエラー訂正符号を生成し、そのエラー訂正符号を付加したデータを、キャッシュメモリ１３を用いてストライピングして、ＨＤＤコントローラ１４−１〜１４−６を介してＨＤＤ１５−１〜１５−６に供給する。
【００３９】
ＥＣＣ・ＤＭＡ部１２は、再生時には、ＨＤＤ１５−１〜１５−６からＨＤＤコントローラ１４−１〜１４−６を介して供給されたデータをキャッシュメモリ１３を用いてデストライピングし、そのデストライピングしたデータをエラー訂正して、元のデータを復元する。
【００４０】
ビデオデータの再生時には、ＥＣＣ・ＤＭＡ部１２で復元されたビデオデータは、デコーダ２０に送られる。そして、デコーダ２０で伸長されたベースバンドのビデオデータが、図１のプロジェクター３に送られて、プロジェクター３からスクリーンに投影される。
【００４１】
オーディオデータの再生時には、ＥＣＣ・ＤＭＡ部１２で復元されたオーディオデータは、データ記録装置１，デジタルシネマサーバー２及びプロジェクター３を収納している筐体に設けられたオーディオ出力端子（図示略）から外部に出力される。
【００４２】
ログ情報やファイルシステム情報の再生時には、ＥＣＣ・ＤＭＡ部１２で復元されたログ情報やファイルシステム情報は、上位制御部１１−１に送られ、上位制御部１１−１から図１のパーソナルコンピュータ４に送られて、パーソナルコンピュータ４のディスプレイ上のＧＵＩ画面に表示される。
【００４３】
字幕データの再生時には、ＥＣＣ・ＤＭＡ部１２で復元された字幕データは、デジタルシネマサーバー２内に設けられているミキシング回路（図示略）に送られて、デコーダ２０で伸長されたベースバンドのビデオデータと合成される。
【００４４】
内部制御部１１−２は、前述の「内部制御アプリケーション」を実行して、ＥＣＣ・ＤＭＡ部１２及びＨＤＤコントローラ１４を制御する。図５は、「内部制御アプリケーション」による処理の一部であるコマンド集約処理を示すフローチャートである。
【００４５】
この処理では、まず、上位制御部１１−１からコマンドを１つ受信するまで待機する（ステップＳ１）。そして、コマンドを１つ受信すると、タイマー（図２のＣＰＵ１１に内蔵されているタイマー）を起動させる（ステップＳ２）。
【００４６】
続いて、直前のステップＳ２で起動したタイマーを使用して、予め設定された一定の制限時間Ｔが経過したかを判断する（ステップＳ３）。この制限時間Ｔの設定値は、ＡＶデータを切れ目無く再生して映画を上映することや、ＡＶデータを切れ目無く記録するという観点から決定すればよい。
【００４７】
ノーであれば、新たに次のコマンドを１つ受信したかを判断する（ステップＳ４）。ノーであれば、ステップＳ３に戻る。
【００４８】
ステップＳ４でイエスになると、今回ステップＳ４で受信したコマンドと、その直前に受信したコマンド（初めてステップＳ４に進んだ場合には直前のステップＳ１で受信したコマンドであり、ステップＳ４に２回目以降進んだ場合には前回ステップＳ４で受信したコマンドである）との２つのコマンドが、同じ種類のコマンドであるか（データの種類が同じであり、且つ、２つとも書き込みコマンドであるかまたは２つとも読み出しコマンドであるか）を判断する（ステップＳ５）。
【００４９】
イエスであれば、その２つのコマンドによって指定されたＬＢＡ（論理ブロックアドレス）が連続しているかを判断する（ステップＳ６）。
【００５０】
イエスであれば、直前のステップＳ１で受信したコマンドと、それ以降にステップＳ４で受信した全てのコマンドとによって要求されるセクタ数の合計が、予め設定された最大セクタ数Ｓmaxを超えたかを判断する（ステップＳ７）。この最大セクタ数Ｓmaxの設定値は、ＥＣＣ・ＤＭＡ部１２及びＨＤＤコントローラ１４−１〜１４−６に発行される１コマンドあたりの要求セクタ数が過大になることによって却って書き込み／読み出しの効率が低下することや、データの書き込みコマンドを受信した際にＥＣＣ・ＤＭＡ部１２及びＨＤＤコントローラ１４−１〜１４−６にコマンドを発行するまでにキャッシュメモリ１３に容量を超えるデータが書き込まれることを防止するという観点から決定すればよい。
【００５１】
ステップＳ７でノーであれば、直前のステップＳ１で受信したコマンドと、それ以降にステップＳ４で受信した全てのコマンドとの内容を集約した１つのコマンドを生成する（ステップＳ８）。そしてステップＳ３に戻る。
【００５２】
ステップＳ３でイエスになるか、ステップＳ５またはステップＳ６でノーになるか、ステップＳ７でイエスになった場合は、直前のステップＳ１でコマンドを受信した以降、直前のステップＳ８で生成したコマンド（ステップＳ８に進まなかった場合は直前のステップＳ１で受信したコマンド）に対応したコマンドを、ＥＣＣ・ＤＭＡ部１２及びＨＤＤコントローラ１４−１〜１４−６に発行する（ステップＳ９）。そして、タイマーを取り消して（ステップＳ１０）、再びステップＳ１に戻る。
【００５３】
前述のように、上位制御部１１−１が「デジタルシネマ用アプリケーション」によって内部制御部１１−２にＡＶデータの書き込み／読み出しコマンドを送信する場合には、パーソナルコンピュータ４からデータサイズの大きいＡＶデータの書き込み／読み出し要求が多数のコマンドに分割されて内部制御部１１−２に送信されるので、内部制御部１１−２で連続して受信されるそれらの多数のコマンドは、同じ種類のコマンドであり、且つ、連続した論理ブロックアドレスを指定しているのが通常である。
【００５４】
したがって、上位制御部１１−１からＡＶデータの書き込み／読み出しコマンドが送信された場合、この図５のコマンド集約処理により、ステップＳ３またはＳ７でイエスになるまで（制限時間Ｔを経過するか、最大セクタ数Ｓmaxを超えるまで）、図６に概念的に示すように、上位制御部１１−１からの多数に分割されたＡＶデータの書き込み／読み出しコマンドが、内部制御部１１−２によって１つのコマンドに集約され、この集約したコマンドに対応した１つずつのコマンドが各ＨＤＤコントローラ１４−１〜１４−６に発行されて、各ＨＤＤコントローラ１４−１〜１４−６でそのコマンドが実行される。
【００５５】
このように上位制御部１１−１の側でのコマンドの分割数をＮとすると、内部制御部１１−２からのコマンドの発行数は、従来のＮ分の１で足りるようになる。これにより、汎用ファイルシステムによってデータ記録装置１内のハードディスクを管理しながら、データ記録装置１の内部制御を行う内部制御部１１−２のオーバーヘッドを解消することができる。
【００５６】
また、このようにコマンドを集約することにより、各ＨＤＤコントローラ１４−１〜１４−６が実行するコマンドの数が減少するので、ＡＶデータの書き込み／読み出し処理のスループットが大幅に改善される。図７は、ＡＶデータの書き込みの場合について、集約したコマンドを発行した場合のＨＤＤコントローラ１４−１〜１４−６での書き込み処理時間（図７（ｂ））の短縮の様子を、コマンドを集約しなかった場合の書き込み処理時間（図７（ａ））と対比して概念的に示す図である。
【００５７】
コマンドを集約した場合は、内部制御部１１−２のオーバーヘッドが解消されることによって書き込み処理時間が短縮され、さらに、ＨＤＤコントローラ１４−１〜１４−６が目的のセクタの回転待ちを行う回数が減少することによっても書き込み処理時間が短縮される。したがって、ＡＶデータの書き込み処理のスループットが大幅に改善される。
【００５８】
しかも、このコマンド集約処理では、複数のコマンドの内容を集約する条件として、それらの複数のコマンドを一定の制限時間Ｔ内に受信したという条件を設けている（図５のステップＳ３）ので、ＡＶデータを切れ目無く再生して映画を上映したり、ＡＶデータを切れ目無く記録するというリアルタイム性の要求も満たすことができる。
【００５９】
さらに、このコマンド集約処理では、複数のコマンドの内容を集約する条件として、それらの複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数Ｓmax以下であるという条件を設けている（図５のステップＳ７）ので、ＥＣＣ・ＤＭＡ部１２及びＨＤＤコントローラ１４−１〜１４−６に発行される１コマンドあたりの要求セクタ数が過大になることによって却って書き込み／読み出しの効率が低下することや、キャッシュメモリ１３に容量を超えるデータが書き込まれることも防止できる。
【００６０】
図８〜図１０は、それぞれこのコマンド集約処理でのコマンドの集約の具体例を示す図である。これらの例では、制限時間Ｔは１秒に設定され、最大セクタ数Ｓmaxは１００に設定されている。（このＴ，Ｓmaxの値はあくまで説明の都合上の一例であり、実際には、あくまで前述のような記録／再生のリアルタイム性や書き込み／読み出しの効率の観点からこれらの値を設定すればよい。）
【００６１】
図８の例では、時刻10:00:00.100から時刻10:00:00.200までの間に１１個の書き込みコマンド（データの種類は同じもの）を受信している。これらの１１個の書き込みコマンドは、１０ずつ値のずれたＬＢＡ（論理ブロックアドレス）を指定しており、ＬＥＮ（Length：要求セクタ数と同じ）は１０ずつなので、ＬＢＡは連続している。
【００６２】
しかし、１０個目の書き込みコマンドまでで要求セクタ数の合計が最大セクタ数Ｓmax＝１００に達している。したがって、１個目から１０個目までの書き込みコマンドが、「ＷＲＩＴＥ  ＬＢＡ１０００  ＬＥＮ１００」という１つのコマンドに集約される。
【００６３】
図９の例では、時刻10:00:00.100から時刻10:00:00.140までの間に５個の書き込みコマンド（データの種類は同じもの）を受信し、その後少し時間をあけて時刻10:00:05.100から時刻10:00:05.130までの間に４個の書き込みコマンド（データの種類は前述の５個の書き込みコマンドと同じもの）を受信している。これらの１１個の書き込みコマンドは、１０ずつ値のずれたＬＢＡ（論理ブロックアドレス）を指定しており、ＬＥＮ（Length：要求セクタ数と同じ）は１０ずつなので、ＬＢＡは連続している。
【００６４】
しかし、６個目の書き込みコマンドの受信時には制限時間Ｔ＝１秒を経過している。したがって、１個目から５個目までの書き込みコマンドが、「ＷＲＩＴＥ  ＬＢＡ１０００  ＬＥＮ５０」という１つのコマンドに集約される。
【００６５】
図１０の例では、パーソナルコンピュータ４からの要求の分割の様子も示している。上位制御部１１−１は、時刻10:00:00.000にパーソナルコンピュータ４からのＡＶデータの書き込み要求を受信している。この書き込み要求は、ＬＢＡ１０００を指定しており、ＬＥＮ（要求セクタ数）は２００である。
【００６６】
上位制御部１１−１は、この書き込み要求をＬＥＮが１０ずつの２０個のコマンドに分割している。内部制御部１１−２は、この２０個のコマンドを時刻10:00:00.010から時刻10:00:00.200までの間に受信している。
【００６７】
このうち、１０個目の書き込みコマンドまでで、要求セクタ数の合計が最大セクタ数Ｓmax＝１００に達している（制限時間Ｔ＝１秒にも達している）。したがって、１個目から１０個目までの書き込みコマンドが、「ＷＲＩＴＥ  ＬＢＡ１０００  ＬＥＮ１００」という１つのコマンドに集約される。
【００６８】
また、１１個目から２０個目の書き込みコマンドまでで、要求セクタ数の合計が最大セクタ数Ｓmax＝１００に達している（制限時間Ｔ＝１秒にも達している）。したがって、１１個目から２０個目までの書き込みコマンドが、「ＷＲＩＴＥ  ＬＢＡ１１００  ＬＥＮ１００」という別の１つのコマンドに集約される。
【００６９】
なお、以上の実施の形態では、デジタルシネマサーバー２内の１つのＣＰＵ１１が、データ記録装置１の上位の制御装置としての機能と、データ記録装置１の内部制御を行う機能とを併有している。しかし、別の例として、デジタルシネマサーバー２内のＣＰＵ１１にはデータ記録装置１の上位の制御装置としての機能だけを持たせ（「デジタルシネマ用アプリケーション」及び「管理用アプリケーション」だけを実行させ）、データ記録装置１の内部に、データ記録装置１の内部制御を行う（「内部制御アプリケーション」を実行する）専用のＣＰＵを設けるようにしてもよい。
【００７０】
また、以上の実施の形態ではデジタルシネマ上映システムに本発明を適用している。しかし、本発明は、上位制御装置からのコマンドに基づいてハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置であって、汎用のファイルシステムによってハードディスクが管理されるあらゆるデータ記録装置に適用することができる。
【図面の簡単な説明】
【００７１】
【図１】本発明を適用したデジタルシネマ上映システムの全体構成図である。
【図２】図１のデジタルシネマサーバーに設けられている回路を示す図である。
【図３】汎用ファイルシステムによるＡＶデータの書き込み／読み出し要求の分割の様子を概念的に示す図である。
【図４】図１のデータ記録装置の構成を示す図である。
【図５】図４の内部制御部が実行するコマンド集約処理を示すフローチャートである。
【図６】図５のコマンド集約処理によるＡＶデータの書き込み／読み出しコマンドの集約の様子を概念的に示す図である。
【図７】コマンドの集約による書き込み処理時間の短縮の様子を概念的に示す図である。
【図８】コマンドの集約の具体例を示す図である。
【図９】コマンドの集約の具体例を示す図である。
【図１０】コマンドの集約の具体例を示す図である。
【符号の説明】
【００７２】
１  データ記録装置、  ２  デジタルシネマサーバー、  ３  プロジェクター、  ４  パーソナルコンピュータ、  ５  高速ネットワーク、  １１  ＣＰＵ、  １１−１  上位制御部、  １１−２  内部制御部、  １２  ＥＣＣ・ＤＭＡ部、  １３  キャッシュメモリ、  １４−１〜１４−７  ＨＤＤコントローラ、  １５−１〜１５−７  ＨＤＤ、  ２０  デコーダ
【図１】
2009116834.tif 000003
【図２】
2009116834.tif 000004
【図３】
2009116834.tif 000005
【図４】
2009116834.tif 000006
【図５】
2009116834.tif 000007
【図６】
2009116834.tif 000008
【図７】
2009116834.tif 000009
【図８】
2009116834.tif 000010
【図９】
2009116834.tif 000011
【図１０】
2009116834.tif 000012
【手続補正書】
【提出日】平成21年1月27日(2009.1.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約手段と、
前記集約されて生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行手段とを備えた
データ記録装置。
【請求項２】
前記コマンド集約手段は、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件としてコマンド集約処理を行う
請求項１に記載のデータ記録装置。
【請求項３】
前記コマンド集約手段は、さらに、前記複数のコマンドを一定の時間内に受信したことを条件としてコマンド集約処理を行う
請求項１に記載のデータ記録装置。
【請求項４】
前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記コマンド発行手段は、前記ＲＡＩＤコントローラにコマンドを発行する
請求項１に記載のデータ記録装置。
【請求項５】
前記制御装置からは、ビデオデータ及び／又はオーディオデータの書き込み／読み出しのコマンドが受信される
請求項１に記載のデータ記録装置。
【請求項６】
上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置の内部制御方法において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成する第１のステップと、
前記第１のステップで生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行する第２のステップと
を有する
データ記録装置の内部制御方法。
【請求項７】
前記第１のステップでは、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件とする
請求項６に記載のデータ記録装置の内部制御方法。
【請求項８】
前記第１のステップでは、さらに、前記複数のコマンドを一定の時間内に受信したことを条件とする
請求項６に記載のデータ記録装置の内部制御方法。
【請求項９】
前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記第２のステップでは、前記ＲＡＩＤコントローラにコマンドを発行する
請求項６に記載のデータ記録装置の内部制御方法。
【請求項１０】
受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置と、
前記データ記録装置に、データの書き込み／読み出しのコマンドを送信する上位の制御装置と
を含むデータ記録システムにおいて、
前記データ記録装置は、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約手段と、
前記コマンド集約手段によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行手段と備えた
データ記録システム。
【請求項１１】
前記データ記録装置の前記コマンド集約手段は、さらに、前記複数のコマンドによって要求されるセクタ数の合計が所定の最大セクタ数以下であることを条件としてコマンド集約処理を行う
請求項１０に記載のデータ記録システム。
【請求項１２】
前記データ記録装置の前記コマンド集約手段は、さらに、前記複数のコマンドを一定の時間内に受信したことを条件としてコマンド集約処理を行う
請求項１０に記載のデータ記録システム。
【請求項１３】
前記データ記録装置に、前記ハードディスクドライブとして、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）コントローラによって制御される複数台のハードディスクドライブが設けられており、
前記データ記録装置の前記コマンド発行手段は、前記ＲＡＩＤコントローラにコマンドを発行する
請求項１０に記載のデータ記録システム。
【請求項１４】
前記制御装置は、汎用のファイルシステムによって前記データ記録装置内のデータを管理し、外部装置からのデータの書き込み／読み出しの要求に基づいて書き込み／読み出しのコマンドを送信する
請求項１０に記載のデータ記録システム。
【請求項１５】
前記制御装置は、ビデオデータ及び／又はオーディオデータの書き込み／読み出しのコマンドを送信する
請求項１０に記載のデータ記録システム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１１
【補正方法】変更
【補正の内容】
【００１１】
この課題を解決するため、本発明は、上位の制御装置から受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置において、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約手段と、
前記集約されて生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行手段とを備えたことを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
上位の制御装置が、汎用のファイルシステムによってデータ記録装置内のデータを管理し、外部装置からのデータサイズの大きい書き込み／読み出しの要求に基づいてデータ記録装置に書き込み／読み出しのコマンドを送信するような場合には、その書き込み／読み出しの要求が多数のコマンドに分割されてデータ記録装置に送信されるので、データ記録装置で連続して受信されるそれらの多数のコマンドは、同じ種類のコマンドであり、且つ、連続した論理ブロックアドレスを指定しているのが通常である。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
したがって、そのような場合には、それらの分割された多数のコマンドの内容を集約した１つのコマンドだけをハードディスクドライブコントローラに発行するので、ハードディスクドライブコントローラに発行するコマンドの数は、ハードディスクドライブの台数分だけになる。従来は、上位の制御装置の側でのコマンドの分割数をＮとするとＮ×ハードディスクドライブの台数分のコマンドを発行していたので、本発明の実施の形態によればコマンドの発行数が従来のＮ分の１で足りるようになる。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】変更
【補正の内容】
【００２２】
次に、本発明は、受信したデータの書き込み／読み出しのコマンドに基づき、ハードディスクドライブに対してデータの書き込み／読み出しを行うデータ記録装置と、
前記データ記録装置に、データの書き込み／読み出しのコマンドを送信する上位の制御装置と
を含むデータ記録システムにおいて、
前記データ記録装置は、
前記制御装置から連続して受信した複数のコマンドが同じ種類のコマンドであり、且つ、前記複数のコマンドによって指定された論理ブロックアドレスが連続していることを条件として、前記複数のコマンドの内容を集約した１つのコマンドを生成するコマンド集約手段と、
前記コマンド集約手段によって生成したコマンドを、前記ハードディスクドライブを制御するハードディスクドライブコントローラに発行するコマンド発行手段とを備えたことを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３７
【補正方法】変更
【補正の内容】
【００３７】
データ記録装置１には、ＦＰＧＡから成るＥＣＣ・ＤＭＡ部１２と、キャッシュメモリ１３と、合計７台のＨＤＤと、そのＨＤＤを制御するためのＨＤＤコントローラ（例えばＳＡＳコントローラ）１４（１４−１〜１４−７）とが設けられている。ＨＤＤコントローラ１４に接続される合計７台のＨＤＤ１５（１５−１〜１５−７）のうち、４台のＨＤＤ１５−１〜１５−４はデータ用、２台のＨＤＤ１５−５〜１５−６はエラー訂正用、残りの１台のＨＤＤ１５−７はスペア用である。