(57)【特許請求の範囲】
【請求項１】
パケット形式のトランスポートストリーム信号が入力される信号入力部と、
前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号を一時的に記憶するバッファ部と、
前記バッファ部より出力された前記パケット形式のトランスポートストリーム信号をディスク記録媒体へ記録する記録部と、
前記パケット形式のトランスポートストリーム信号における１パケットのデータサイズの整数倍であって、当該１パケットのデータサイズと前記ディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での１回の最大転送データサイズ以下の値であるディスクパケット単位で、前記パケット形式のトランスポートストリーム信号を前記バッファ部に書き込むとともに、前記バッファ部から前記ディスクパケット単位で読み出して前記ディスク記録媒体へ記録するように制御する制御部と、
を有することを特徴とする情報記録装置。
【請求項２】
前記バッファ部は複数の記憶領域を備え、
前記制御部は、前記ディスクパケット単位毎に前記記憶領域を切り換えて、前記パケット形式のトランスポートストリーム信号の書き込みおよび読み出しを行うことを特徴とする請求項１記載の情報記録装置。
【請求項３】
前記パケット形式のトランスポートストリーム信号はＭＰＥＧ２のトランスポートストリームであり、前記ディスク記録媒体はハードディスクであることを特徴とする請求項１記載の情報記録装置。
【請求項４】
信号入力部が、パケット形式のトランスポートストリーム信号の入力を受け付け、
制御部が、前記パケット形式のトランスポートストリーム信号における１パケットのデータサイズの整数倍であって、当該１パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での１回の最大転送データサイズ以下の値であるディスクパケット単位で、前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号をバッファ部に書き込むように制御し、
前記制御部が、前記バッファ部に記憶された前記パケット形式のトランスポートストリームを前記ディスクパケット単位で読み出し、前記ディスクパケット単位で前記ディスク記録媒体へ記録するように制御する、
ことを特徴とする情報記録方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディスク記録媒体に情報を記録する情報記録装置および方法に関し、特に、パケット形式のトランスポートストリーム信号を記録する情報記録装置および方法に関する。
【０００２】
【従来の技術】
従来の記録技術の一般技術としては、高密度記録技術の急速な進展により、回転式記録再生ディスク媒体は映像信号の記録媒体としての能力を備えるようになってきた。とりわけ、ハードディスクは高速なランダムアクセスが行えることから、インタラクティブな映像の取り扱いやノンリニア編集など、テープ媒体のビデオテープレコーダではできない機能を実現でき、マルチメディア、マルチフォーマット時代の記録媒体として期待が大きい。ディスク媒体は、放送用途のノンリニア編集システム、ビデオサーバなどだけでなく、家庭用途のパーソナルコンピュータとディジタルビデオ編集との融合による利用の実現にも不可欠である。しかし、ハードディスクはコンピュータの外部記録媒体として発達してきたため、映像用記録媒体として見ると、データ転送を連続的でないと想定しているために、書き込み読み出しのファイルアクセスの際にファイルシステムのＦＡＴ、ディレクトリに、ディスク媒体上の論理ブロックアドレス位置情報として、ファイルシステムの取り扱うクラスタ単位のファイル先頭位置およびファイルデータが書き込まれているクラスタの連続関係を書き込んでいる。
【０００３】
従来の映像音声入出力データのファイルアクセス方式として、いくつか知られている。その例を以下に示す。
図２０はパーソナルコンピュータのファイルシステムを説明するための図である。ここでは、第１のファイルアクセス方式として、ＭＳ−ＤＯＳやＷｉｎｄｏｗｓ（ともにマイクロソフトの商標）の高機能ＯＳ（オペレーティングシステム）を搭載しているパーソナルコンピュータの場合について説明する。パーソナルコンピュータはＣＰＵ（中央演算処理装置）１０１を有し、このＣＰＵ１０１はブリッジＩＣ（集積回路）１０２を介してホストバス１０３に接続されている。そのブリッジＩＣ１０２はメインメモリ１０４に直接接続されている。また、ホストバス１０３はＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）ハードディスクインタフェース１０５を介してＡＴＡ方式のハードディスクドライブ１０６に接続されている。
【０００４】
このような構成のパーソナルコンピュータでは、ＣＰＵ１０１がブリッジＩＣ１０２を介してホストバス１０３にアクセスすると同時に、同じくブリッジＩＣ１０２を介してメインメモリ１０４にアクセスする。メインメモリ１０４上では、ファイルシステムを有する高機能ＯＳと映像音声データ取り扱いプログラムとが展開されており、また、ハードディスクドライブ１０６のディレクトリ、ＦＡＴデータの書き込み読み出し期間中の更新データはメインメモリ１０４上に設けたキャッシュ領域に書き込んで使用され、データ転送が終了したらキャッシュ内容をハードディスクドライブ１０６のディスク媒体に書き込む動作をさせている。一方、ホストバス１０３はＡＴＡハードディスクインタフェース１０５を介して、ハードディスクドライブ１０６にアクセスし、データの書き込み、読み出しをする。この際に、ハードディスクはＤＯＳ互換形式のファイルフォーマットでフォーマットされて使用されている。
【０００５】
次に、特開昭５４−４００４６号公報に記載のような別のファイルアクセス方式について説明する。
図２１は光ディスクのファイルシステムの例を説明するための図である。第２のファイルアクセス方式として、ＣＤ−ＲＯＭ（コンパクトディスクを利用した読取り専用メモリ）などに書き込まれたデータファイルのディスク再生読み出しにおいてのファイルアクセス方式について説明する。ディスク１１１を再生読み出しする装置は制御部１１２とＲＡＭ（ランダムアクセスメモリ）１１３とから構成されている。
【０００６】
ここで、ディスク１１１に書き込まれたデータファイルを再生読み出しするときは、制御部１１２はまず、ディスク１１１からＴＯＣ（Ｔａｂｌｅ  Ｏｆ  Ｃｏｎｔｅｎｔｓ）をＲＡＭ１１３上に読み出す。このとき、ＴＯＣ内容はセクタ番号とトラック番号とのマトリックスアドレスにした大分類、中分類、小分類で読み出され、ディスク１１１のアドレスとＲＡＭ１１３のアドレスとが対応させられている。制御部１１２からサーチ命令がきたらまず、ＲＡＭ１１３がアクセスされ、メモリ上でそのファイルのアドレス位置が大分類、中分類、小分類とサーチされ、そのファイルのトラック番号とセクタ番号とが取得される。そして、その取得したトラック番号およびセクタ番号をもとにそのアドレスに対応したディスク１１１上のファイルデータがアクセスされることになる。
【０００７】
次に、第３のファイルアクセス方式として、メモリカード用のファイルアクセス方式について説明する。
図２２はメモリカードのファイルシステムの例を説明するための図である。メモリカード用のファイルシステムは、ＣＰＵ１２１、メインメモリ１２２、バス１２３、メモリストレージインタフェース１２４、およびメモリストレージ１２５から構成される。
【０００８】
ＣＰＵ１２１はメモリストレージインタフェース１２４を介してメモリストレージ１２５にアクセスするが、その場合のファイルシステムは、高機能ＯＳ用のファイルシステムとは異なった簡単なファイルシステムの構成となっており、ディレクトリ、ＦＡＴデータをメインメモリ１２２上に別途キャッシュ領域を設けず、そのままメモリストレージ１２５に書き込んでいる。これはメモリストレージ１２５ではどの番地にアクセスしてもアクセス待ち時間不連続は大差なく、実用上時間不連続が発生しにくいこと、および、使用するＣＰＵ構成によって異なるアドレスマップ上の別領域に割り当てられたメモリにディレクトリ、ＦＡＴデータのためのキャッシュ領域を確保して、ディレクトリ、ＦＡＴの内容更新毎にメモリストレージ１２５からメインメモリ１２２上のキャッシュ領域にアクセス先を切り替えてアクセスするようなファイルシステムを使用した高機能ＯＳが必要ないことに起因する。
【０００９】
ところで、ハードディスクは、インタフェースとディスクドライブとから構成され、ホストバスを介してＣＰＵから制御されることでデータの記録再生を行うことができる。ハードディスクはコンピュータの外部記憶装置として発達してきたため、論理ブロック毎のバースト的なデータが誤りなく、効率よく書き込み読み出しデータ転送できるように設計されている。また、ＤＯＳ互換のディスクファイルシステムもこの用途に適合するように論理ブロック単位での迅速なランダムアクセスが可能なように構成されている。このため、ハードディスクを映像音声データ信号のような連続データの記録再生用途には必ずしも適しているとはいえない。
【００１０】
つまり、映像音声信号は、コンピュータデータと比較すると連続転送を要求されるビットレート（サステインレート）が高く、データサイズの極めて大きいブロックフレーム単位のシーケンシャルデータであるという性質がある。ファイル化された映像音声データのディスクシステムの実現には、高画質の映像をリアルタイムで記録再生する、映像信号の連続性を保証する、安価でコンパクトにする、従来および将来的な互換性、拡張性を維持する、という各条件を満足する必要がある。
【００１１】
ここで、リアルタイムで処理するには、映像が高画質であるほど、高ビットレートの信号を記録再生できなければならない。データの入出力や転送においては、映像の基本ブロックサイズ（たとえば１フレーム、１パケットで、たとえば数１００Ｋバイト単位）のデータ量を基準時間（たとえば１／３０秒あるいは数分の１秒）以内に確実にデータ転送処理し終える必要がある。インタフェースおよびディスクドライブにおいては、映像信号の性質に適した信号処理を行い、各デバイス性能を十分に生かすことで、省電力かつ簡素なデバイス構成で安価かつコンパクトなシステムを実現する必要がある。そして、インタフェースは幅広いホストコンピュータとの接続性（互換性）や将来的なシステムの拡張性を確保するために、コンピュータの標準規格（ＡＴＡプロトコルなど）に準拠させる必要があり、映像音声信号は家庭用ディジタルビデオ信号として本格普及開始され定着したインタフェース規格であるＩＥＥＥ１３９４  ＤＶ方式、あるいはＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）２ストリームに準拠させる必要がある。
【００１２】
すなわち、家庭内で効率よく高品質な映像音声連続データ信号の編集を行えるパーソナルコンピュータと融合したディスクシステムとして、高品質高ビットレートのディジタルビデオ信号などの映像音声連続データを効率よくリアルタイムで記録再生できる映像音声データのディスクシステム構成においては、ディスクドライブとそのアクセス方法、映像音声記録データ信号は、ディスク記録再生用に特殊な使い方ではなく、ファイルシステム形式のコンピュータデータと同一ドライブ仕様の同一ファイルシステム形式でそのままファイル化された映像音声データ記録信号の連続読み出し書き込みに対応させる必要がある。
【００１３】
ハードディスクを映像音声連続データ記録デバイスとして使用する場合に、ＤＯＳ互換ファイルシステムなどのファイル化された記録が望まれる。このときに、ＤＯＳ互換ディスクファイルシステムは、連続データ書き込み読み出しの途中で、クラスタチェーンなどの所定のデータサイズ単位毎にストレージデバイスに対して記録あるいは再生するたびに、ディレクトリ、ＦＡＴへの書き込み、読み出しによるデータ更新を行う必要がある。
【００１４】
ディスクデバイス用のＤＯＳ互換ファイルシステムのファイル形式は、ファイル形式のパラメータを記述したブートレコード、後述のディレクトリで指定される各ファイルの開始クラスタ番号から同一ファイル内で連続する複数のクラスタ番号チェーンを順次記述するＦＡＴ、このファイルの開始クラスタ番号を記述するディレクトリ、そしてユーザが使用できるユーザデータ領域を設けている。ここで、長いデータサイズのファイルをアクセスする際には、ユーザデータが複数クラスタ領域にわたり、クラスタを越える毎にＦＡＴチェーンの更新を行う。ファイルシステムの動作は、各クラスタにファイルデータを読み書きするのを完了した後、ディレクトリで指定されたファイルのエントリポイントのＦＡＴチェーンの末尾に新たな次のクラスタ番号を書き込んで、新しいクラスタを使用する。この操作はユーザデータがクラスタを越えて読み書きするごとに繰り返えし行われる。
【００１５】
各クラスタはファイルシステムが定めるディスク上の各セクタの複数集合単位の論理ブロック単位であり、テキストデータなどのランダムアクセスデータをも迅速にアクセスするために、連続映像音声データの長さから比較すれば極めて小さいデータブロックサイズである各セクタ（ＡＴＡドライブの場合は、１セクタ＝５１２バイト）の整数倍、たとえば８ｋバイトあるいは１６ｋバイト、３２ｋバイトなどに定めている。このため、連続映像音声データをＤＯＳ互換ファイルシステムの制御手順にもとづいてファイル化された連続データとして書き込み読み出しする際にもクラスタ単位で連続で行われ、上述のかなり小さいデータサイズであるクラスタ単位毎に、ファイルの連続データの書き込まれているユーザデータ領域とはディスク上で物理的に距離の離れたＦＡＴ、ディレクトリの含まれる領域への読み出し書き込みヘッドアーム部の物理的なアクセスが頻繁に発生する。
【００１６】
ここで、ディスクのファイル位置を論理ブロック単位で示すＦＡＴ、ディレクトリはそのディスクフォーマットにおいて、起動の際の読み出し管理の都合上、所定の論理セクタ位置に集中して配置されている。なお、ＤＯＳ互換ファイルシステムにおいて、サブディレクトリを設けたり、論理区画を設けることによって、ユーザデータ領域にディレクトリ管理情報が分散することもある。この情報はブートレコード、ディレクトリ情報に記載されているデータにもとづきアクセスすることによって利用される。
【００１７】
現在市販されている通常のハードディスクドライブの例としては、回転数は毎分５４００ｒｐｍ（＝１回転につき約１１．１ミリ／秒）、ディスクのあるトラック部分から別のトラック部分への１方向の平均アクセス時間が約１０ミリ秒かかるものがある。
【００１８】
ここで、ＦＡＴ内のクラスタチェーンの更新があると、ディスク読み出しヘッドの搭載されたヘッドアーム駆動部は、データ領域から物理的に離れた位置にあるＦＡＴ領域への物理的なアクセスを行う。そして、トラック上の目的の論理セクタにアクセスするためには、１回転するのに要する時間が平均約１１ミリ秒ならば、回転待ち時間として平均してその半分の約５．５ミリ秒かかる。さらに、そこから元のトラックに戻るまでにも同じ時間がかかり、合計で平均約３１ミリ秒前後の時間不連続が発生する。これは理想的な動作の場合であって、これ以外にトラッキング整定時間なども考慮が必要となる。他方、ハードディスクとのＣＰＵのデータ転送の観点から見ると、データ転送にはコマンドのドライブへの書き込みのために所定のコマンドコードをドライブ内蔵レジスタに書き込んでドライブの応答を待ってからデータ転送を開始するので、コマンド発行のための時間に約３００マイクロ秒かかり、ドライブの内部データバッファとホストインタフェースとのデータ転送レート能力は最大で３３Ｍバイト／秒である。しかしながら、ドライブのディスク媒体と内部データバッファとの間の平均連続データの転送レートは約６Ｍバイト／秒〜１２Ｍバイト／秒程度、すなわち、２００Ｋ〜４００Ｋバイト／３３．３ミリ秒である。
【００１９】
ここで、例として連続映像音声データのデータサイズと時間周期単位をそれぞれ１２８ｋバイトで１／３０秒の場合を考える。
たとえば映像音声の１フレームデータが１クラスタのデータサイズの場合であっても、クラスタ毎に一旦ＦＡＴのクラスタチェーンデータの更新の読み書きのためにアームのアクセスおよびセクタの回転待ち時間が発生すると、そのＦＡＴの読み書きでのクラスタチェーンのデータ更新が終了して元の位置に戻って連続映像音声データの読み書きを続ける場合には、その間に約３０ミリ秒の時間不連続が発生し、映像音声データの１フレーム時間である各１／３０秒以内に各１フレームデータを転送し終えることは実際には不可能となる。映像音声の１フレームデータが１２８Ｋバイトであり、１クラスタが３２ｋバイトであれば少なくとも４回のヘッドアームアクセスが発生し、そのために１２０ミリ秒の時間不連続が存在する。この時間不連続は、現在のドライブデータ転送速度のボトルネックとされ、将来改善されるであろう、ディスクドライブのディスク・ドライブ内蔵バッファ回路間の転送速度がたとえ２倍以上に向上したとしても、依然として存在するものである。
【００２０】
また、例として連続映像音声データのデータサイズと時間周期単位とがそれぞれ５１２ｋバイトで０．５秒の場合を考える。たとえば、圧縮率が高く各圧縮データ単位の処理必要時間が約１／２秒となり、転送レートが比較的低いＭＰＥＧ２の映像音声データなどでも、この処理時間内で複数連続データの並列処理により並行してデータ転送を行う場合や１データブロックが約５１２ｋバイトなどの大きなサイズにまとめて約０．５秒の時間単位内で読み書きするには、１クラスタが３２ｋバイトであれば、同様に考えて、１６回のヘッドアームアクセス、すなわち、平均４８０ミリ秒の時間不連続が発生することになる。残りの２０ミリ秒で５１２ｋバイトを読み書きするためには、２６Ｍバイト／秒の高いディスク・ドライブ内部バッファ間の連続データ転送レートの性能仕様が必要とされるために、ＦＡＴチェーン更新のためのヘッドアームアクセスが発生すると、約０．５秒の時間単位内にリアルタイムに連続映像音声データを読み書きすることをディスクドライブで実現することは障害となる。
【００２１】
【発明が解決しようとする課題】
上記の第１のファイルアクセス方式として述べた汎用高機能ＯＳであるＷｉｎｄｏｗｓ−ＯＳ搭載のパーソナルコンピュータの例においては、ＯＳに、ＣＰＵが扱うことのできる大容量のメインメモリが必要とされている。たとえばＷｉｎｄｏｗｓ９５（マイクロソフトの商標）においては、動作させるには１６Ｍバイト以上のメインメモリが望まれている。ここで、メインメモリには高機能なＯＳを有し、映像音声データ入出力を取り扱うプログラム、ファイルシステムの他に、システムツールによってファイルシステムのＦＡＴ、ディレクトリの更新データをキャッシングするためのキャッシュ領域を設けることができる。しかし、この他にディスプレイドライバ、キーボードドライバ、マウスドライバ、各内蔵デバイスドライバの多数のタスクの並列処理のために、絶えず多数のシステムコール割り込み処理がかかってしまうために、映像音声データ入出力デバイスとハードディスクだけでホストバスを占有できず、そのたびに時間の不連続が発生してしまうという問題点がある。これを解消するには、映像音声データ転送中はディスプレイなどの割込みサービスを禁止させてホストバスを占有するようにＯＳやコンピュータアーキテクチャ自体を変更してしまうか、それとも転送レートが１３３Ｍバイト／秒と極めて高速なＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスへの映像音声データ取り込みおよび高速連続転送に際してドライブ内部処理であるディスク上の目的の論理セクタへのアクセス処理時間中にホストバスを解放して映像音声データ転送処理のバッファ処理を平行して行え、かつコマンドのタグ付きキュー機能を有することにより割込み処理に対してインテリジェントに実行待ちをかけて高速処理を行える高機能かつ最適化されたＳＣＳＩ（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｙｓｔｅｍ  ｉｎｔｅｒｆａｃｅ）方式のＵｌｔｒａＷｉｄｅ−ＳＣＳＩドライブ、あるいはディスクアレイに組んだ高価なＳＣＳＩハードディスクシステムなどを使用して、データ転送レート自体を飛躍的に改善しかつデータ転送プロトコル自体を高機能なものにするしかなく、いずれも実現困難あるいは実際のデータ転送に必要な転送データレートからみると高価かつ高機能で大規模なハードウェアを必要とするものであった。
【００２２】
また、上記の第２のファイルアクセス方式においては、再生読み出しにおいて、メモリ上にトラック番号とセクタ番号とを読み出してファイル先頭位置を見つけることでディスク上のファイル先頭位置が迅速に検索できるが、ファイルシステムを使用するときには、ディスク媒体へのファイルデータ読み出し途中のクラスタ単位でのＦＡＴチェーンへのアクセスを検出することはできなかった。ファイルシステムはディスクデバイスに対して構成されている。ここで、ディスクデバイスへのディスクアクセスプロトコル処理の流れの途中に、ディスクへのアクセスプロトコル処理に対応していないメモリデバイスにディスクプロトコルでアクセスしても、メモリデバイスは期待するディスクアクセスプロトコルに応答するインタフェースハードウェアを備えていないために、処理エラーが発生してストップしてしまい、使用できなかった。単にディスクのファイルデータの先頭位置をトラック番号およびセクタ番号で調べることができるだけであり、一旦ディスクへのアクセスプロトコルが開始されてしまうと、ファイルシステムの読み出しが終了するのを待たねばならなかった。これは所定の時間毎に、データサイズの大きな長時間連続する映像音声データを、汎用のＤＯＳ互換ファイルシステムを使用してディスクアクセスプロトコルによって連続してディスクドライブとの書き込み読み出しデータの転送処理には使用できないことを意味する。
【００２３】
さらに、上記の第３のファイルアクセス方式は、メモリカードにディスク用のＤＯＳ互換ファイルシステムを搭載したものである。これはメモリストレージ内のファイルフォーマットをディスクと同様にし、ディスクファイルシステムを論理ブロックであるセクタの複数集合のクラスタ単位で扱うようにしている。これはメモリストレージ上にＦＡＴ、ディレクトリを作成しておいて、ＦＡＴ、ディレクトリへのアクセスをどのタイミングで行っても、連続する任意アドレスのクラスタ、論理セクタへのデータアクセスに待ち時間の不連続バラツキ制限がないということを利用したファイルシステムであり、ホスト側のメインメモリにＤＯＳ互換ファイルシステムのＦＡＴクラスタチェーンデータ更新のキャッシュ領域の確保機能を要求する高度なＯＳ機能を必要とするものではない。
【００２４】
すなわち、このメモリストレージのファイルシステムは、ディスクデバイスにおける、ディレクトリおよびＦＡＴが集まっている論理セクタのクラスタ集合領域にヘッドアーム部がアクセスするために発生する不連続時間を考慮したものではない。このため、このファイルシステムでディスクデバイスに映像音声データを書き込もうとすると、静止画のように映像音声データの書き込み読み出しの処理すべき所定時間が決められておらず、書き込み読み出しに十分な時間が確保できるような用途でしか使用できない。すなわち、このファイルシステムでディスクドライブに映像音声連続データを書き込み読み出しするには、このメモリストレージ用のファイルシステム自体を作り直して、連続データの読み書きをする際にはＤＯＳ互換ファイルシステムを切り替えて、大きなアクセス単位でアクセスできる新規のファイルシステムを新たに構築して別途用意し、これを切り替えて使用することが必要になる。ファイルシステムの構築は困難な作業であり、また、同じＤＯＳ互換ファイル化の目的のファイルシステムを２つ同時に保有することは冗長であり、しかも用途に応じて使い分ける判断処理作業を必要とする。
【００２５】
また、特に携帯端末や民生用途に使用するためには、大容量メモリと大電力消費のＣＰＵを使用したパーソナルコンピュータによる処理は本来電力消費とコスト面で不利であり、加えて、データ書き込み読み出しアクセス部の頻繁なアクセス駆動は電力消費を増大させてしまうという問題点がある。
【００２６】
本発明はこのような点に鑑みてなされたものであり、ディスク記録媒体における高速な連続データの書き込み読み出しを可能にした情報記録装置および方法を提供することを目的とする。
【００２７】
【課題を解決するための手段】
本発明によれば、パケット形式のトランスポートストリーム信号が入力される信号入力部と、前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号を一時的に記憶するバッファ部と、前記バッファ部より出力された前記パケット形式のトランスポートストリーム信号をディスク記録媒体へ記録する記録部と、前記パケット形式のトランスポートストリーム信号における１パケットのデータサイズの整数倍であって、当該１パケットのデータサイズと前記ディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での１回の最大転送データサイズ以下の値であるディスクパケット単位で、前記パケット形式のトランスポートストリーム信号を前記バッファ部に書き込むとともに、前記バッファ部から前記ディスクパケット単位で読み出して前記ディスク記録媒体へ記録するように制御する制御部と、を有することを特徴とする情報記録装置が提供される。
【００２８】
上記構成によれば、パケット形式のトランスポートストリーム信号が、信号入力部を介してバッファ部に入力されて、一時的に記憶される。このとき、パケット形式のトランスポートストリーム信号は、制御部の制御により、このトランスポートストリーム信号における１パケットのデータサイズの整数倍であって、この１パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上であり、ディスク記録媒体での１回の最大転送データサイズ以下の値であるディスクパケット単位で、バッファ部に書き込まれる。また、バッファ部より出力されたパケット形式のトランスポートストリーム信号は、記録部によりディスク記録媒体へ記録される。このとき、パケット形式のトランスポートストリーム信号は、制御部の制御により、バッファ部からディスクパケット単位で読み出され、ディスクパケット単位でディスク記録媒体へ記録される。
【００２９】
【発明の実施の形態】
図１は本発明のディスク媒体アクセスインタフェース装置の原理構成を示した図である。ディスク媒体アクセスインタフェース装置１は、ディスクストレージ手段２の回転式のディスク媒体に対してデータの読み書きを行うものであって、メモリ手段３と、このメモリ手段３に対してアクセスする第１のアクセス手段４と、ディスクストレージ手段２に対してアクセスする第２のアクセス手段５と、メモリ手段３へのアクセス期間を制限するメモリアクセス制限手段６と、電源供給が遮断されてもメモリ手段３の内容が消えないようにする記憶保持手段７とを備えている。
【００３０】
メモリ手段３はディスクストレージ手段２のディスク媒体に配置されるデータに関する情報を記録・管理している管理領域の管理情報をディスク媒体からあらかじめ写して記憶しておく。このメモリ手段３は、あるセクタ単位で書き込み読み出し可能であり、かつ使用するディスク媒体と同一のディスクインタフェースのアクセスプロトコルに準拠したメモリインタフェースハードウェアを設けている。ここで、ディスクストレージ手段２に対してデータの読み書きを行うときは、第１のアクセス手段４によりメモリ手段３にアクセスして読み書きの準備を行う。このとき、メモリアクセス制限手段６は計時を開始し、所定時間経過後に第１のアクセス手段がメモリ手段へアクセスする論理ステートをリセットする。その間に読み書きの準備は完了し、第２のアクセス手段５はディスクストレージ手段２へのアクセスが可能になって、連続したデータ転送が行われる。これにより、メモリ手段３とディスクストレージ手段２のディスク媒体とは一つの連続した論理ブロック集合とみなすことができ、一つのディスクドライブとしてアクセスが可能になる。したがって、ディスクストレージ手段２では、クラスタ単位のデータ転送ごとに発生する管理領域へのヘッドアームのアクセスがなくなり、ファイルシステムを用いて映像音声データをディスクストレージ手段２へ連続してデータ転送することが実現される。データ転送終了後、適当な時期にメモリ手段３の記憶内容はディスクストレージ手段２のディスク媒体の所定の管理領域に書き戻される。また、記憶保持手段７を備えたことにより、電源供給が遮断されても、メモリ手段３に記憶された管理情報はそのまま保持されるので、管理情報のディスク媒体への書き戻し操作を省略あるいは書き戻しの頻度を低減することができる。
【００３１】
次に、本発明の実施の形態を、連続した映像音声データを記録再生するハードディスクドライブに適用した場合を例にして説明する。
図２はハードディスクドライブに適用した場合の全体構成を示すブロック図である。図２において、ＣＰＵ１１はＣＰＵローカルバス１２を介してブリッジインタフェース（Ｉ／Ｆ）回路１３に接続され、このブリッジインタフェース回路１３はホストバス１４に接続されている。ホストバス１４には、メモリ（ＲＡＭ）１５、映像音声データ入出力回路１６およびＡＴＡホストインタフェース回路１７が接続されている。ＡＴＡホストインタフェース回路１７はメモリインタフェースコントローラ１８およびデータメモリ１９に接続され、切り替え回路２０を介してＡＴＡ方式のディスクドライブ（ＡＴＡ−ＨＤＤ）２１が接続されている。
【００３２】
ブリッジインタフェース回路１３は、アドレスデコード回路１３ａ、割り込み処理回路１３ｂ、ウエイトコントローラ論理回路１３ｃを内蔵している。これらはＣＰＵ１１がホストバス１４に接続された各種デバイスの夫々に適合したアドレス配置に対するアドレスフルデコードによるデバイス選択信号の生成、デバイスからの割り込み要求をベクトル値割り当てすることによる優先順位決定処理、および各種デバイスごとのアクセスウエイト信号を生成している。なお、組込み用途マイクロコンピュータとして、チップ内に外部デバイス割込み処理回路１３ｂ、ウエイトコントローラ論理回路１３ｃを有してソフトウェアによる制御レジスタ値の設定でコントロールできるもの、さらにはディジタル論理回路としてアドレスデコード回路１３ａを有し、ＣＰＵローカルバス１２およびブリッジインタフェース回路１３をＣＰＵ１１とともに１個のＩＣ化したものを使ってもよい。メモリ１５にはファイルシステムプログラム１５ａがロードされており、この手順に従って連続映像音声データがファイル化されて書き込まれる。映像音声データ入出力回路１６はたとえばＤＶ方式ディジタルビデオ信号などの固定フレーム長さの連続映像音声データの入出力回路であり、これはその他の例としては、可変長データの複数のＭＰＥＧストリームの並列入力出力回路などの、所定時間周期の定まったブロック単位での連続する映像音声データの入出力回路であればよい。
【００３３】
ＡＴＡホストインタフェース回路１７はアドレス変換回路１７ａを有しており、このアドレス変換回路１７ａにより、ホストバス１４に与えられるＣＰＵ１１からのアドレス信号、制御信号を受けて、ディスクドライブ２１に内蔵されるＡＴＡインタフェースの複数個の各ＡＴＡデバイスレジスタに個別にアクセスするためのアドレス信号に変換する。データメモリ１９はファイルシステム用のデータメモリであって、ディスクデバイス用のＤＯＳ互換ファイルシステムのディレクトリ、ＦＡＴ情報を記憶するメモリであり、ＦＡＴに用意されるクラスタ番号の個数はハードディスクのユーザデータ領域全体のクラスタ総数をアドレス指定するのに対応する。
【００３４】
ディスクドライブ２１は、デバイス側のＡＴＡインタフェースを備えていて、ＡＴＡホストインタフェース回路１７に対してＡＴＡプロトコルによってデータを送受している。メモリインタフェースコントローラ１８は、アドレス、コントロール信号、およびデータ信号を送受し、ＦＡＴデータの書き込み読み出しがあるときには、ＡＴＡプロトコルによってデータメモリ１９とデータの授受を行う一方で、この際に並行して切り替え回路２０によりディスクドライブ２１のコントロール制御信号をオフしてディスクドライブ２１への書き込み読み出しプロトコル動作を行わないで済ませる。
【００３５】
これの実現のために、詳細なＤＯＳ互換ファイルシステムの説明と、ＡＴＡプロトコルの制御タイミングの説明を行う。
本実施の形態において使用するＣＰＵ１１は、ＳＨ７６０４（日立製作所の商標）などのような、モトローラ系ビッグエンディアンアドレッシング方式を有し、組込み用途の省電力タイプであって、１６ビットの整数倍の内部アドレスおよびデータ幅を有するＲＩＳＣ（ｒｅｄｕｃｅｄ  ｉｎｓｔｒｕｃｔｉｏｎ  ｓｅｔ  ｃｏｍｐｕｔｅｒ）型ＣＰＵを使用する。そして、その内部には書き込み読み出しのＣＰＵコマンドをワードアドレス単位で並列処理で繰り返し連続発行し、実際のディスクデバイスとのデータ転送に必要な処理ステップを短縮するのに好適なコマンドキャッシュを有している。
【００３６】
使用するＣＰＵとディスクとの入出力アクセスアドレス方式は、メモリマップドＩ／Ｏ（入出力）方式を使用する。この方式は、各周辺デバイス側がＩ／Ｏアドレス方式と比べて、フルアドレスデコードを必要とするが、各デバイスをアドレス空間の任意アドレス位置に配置可能でシステム上の自由度が高い。
【００３７】
図３はＣＰＵのアドレス配置マップ例を示す図である。縦軸はＣＰＵアドレスであり、データ３２ビットアドレスＡＤＤＲ［３１：０］によりアドレス領域を設定していて、そのうちＡＤＤＲ［２７：２４］はアドレス領域を四つのエリアＡ０，Ａ１，Ａ２，Ａ３に領域分割するアドレスに使用する。この各領域ごとにアドレスＡＤＤＲ［２３：０］のアドレスを有していて、ＣＰＵ内蔵のコマンドキャッシュ使用の有無を指定することが可能である。そして各領域は、キャッシュ指定可能な領域としてアドレスを割り当て、ＣＰＵ内蔵の制御レジスタビットでコマンドキャッシュを使用可能に設定して起動し使用することとしてよい。
【００３８】
アドレスマップの横軸はデータバス幅を示しており、各エリアごとにエリアＡ０、Ａ２は３２ビット幅に、エリアＡ１、Ａ３は１６ビット幅に指定して使用する。
【００３９】
ディスクドライブ２１では、データはワードデータ転送なので、ドライブ内蔵レジスタのアドレスは１ワード＝２バイトデータ幅の領域に割り当てている。これについては後述する。
【００４０】
映像音声データ入出力回路１６もレジスタ設定によって書き込み読み出しを行っている。映像音声データ入出力回路１６のＩ／Ｏレジスタのアドレス配置を設定し、これに所定のデータを書き込むことにより回路に内蔵されたメモリのベースアドレスが決定され、そのアドレスを基点としてこれにオフセットアドレスが加わる形式で回路内蔵メモリへの読み出し書き込みアクセスをイネーブル化する回路が内蔵されている。
【００４１】
本実施の形態においては、ＣＰＵ１１はこのアドレス配置マップ上、エリアＡ０にロードされたＡＴＡプロトコルに従ってデータ転送する映像音声データ転送プログラム手順と、同じくファイルシステムプログラム手順により、エリアＡ１のディスクドライブ２１の各レジスタと映像音声データ入出力回路１６の映像音声データアドレス領域にあるメモリとの間で所定時間フレーム単位のデータを転送する。
【００４２】
ハードディスクの処理プロトコルの途中で発生させて、ＣＰＵに割り込み処理を要求する、デバイス割り込み要求信号ＩＮＴＲＱは、ＣＰＵ側ではハードディスクに割り当てたベクタ番号のフェッチによるベクタ割り込み方式で取り込む。このベクタ番号については、ＣＰＵが割り込みの順位に対応させて内部で持つオートベクタ方式、あるいは外部で発生させるようにした外部ベクタ方式が使用される。この構成、動作については後述する。
【００４３】
次に、ディスクデバイスとしてのディスクドライブ２１について説明する。
ディスクドライブ２１のディスクデバイスとしては、Ｅ−ＩＤＥ（Ｅｎｈａｎｃｅｄ  Ｉｎｔｅｌｉｇｅｎｔ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）ドライブとして知られるＡＴＡ標準方式ハードディスクドライブ、たとえばＡＴＡ−３標準に適合するハードディスクドライブを使用する。
【００４４】
ハードディスクドライブの性能仕様例として、ディスク回転数は毎分５４００ｒｐｍ（＝１回転につき約１１．１ミリ／秒）、ディスク読み書きヘッドの搭載されたヘッドアーム駆動部は、ディスク上のあるトラック部分から別のトラック部分への一方向の平均アクセス時間を約１０ミリ秒とする。さらに、ここで、あるトラック上の複数のセクタから目的のセクタにアクセスするためには、回転待ち時間がかかり、一回転平均約１１ミリ秒ならば０秒〜１１ミリ秒かかり、その平均は半分の約５．５ミリ秒である。そして、そこから元のトラックに戻るまでにも同じ時間がかかり、合計で平均約３１ミリ秒前後の時間不連続が発生することになる。
【００４５】
他方、ディスクドライブ２１とＣＰＵ１１との間のデータ転送の観点から見ると、データ転送はディスク媒体と内部バッファ、ＡＴＡホストインタフェース回路１７の四つを介して行われる。データ転送には、コマンドのドライブへの書き込みのために所定のコマンドコードをドライブ内蔵レジスタに書き込んでドライブの応答を待ってからデータ転送を開始するためのコマンド発行時間に約０．３ミリ秒を要する。ディスクドライブ２１の内部データバッファとＡＴＡホストインタフェース回路１７とのデータ転送レート能力は最大で３３Ｍバイト／秒の性能を有する。しかしながら、ドライブのディスク媒体と内部データバッファとの間の平均連続データ転送レートは約６Ｍバイト／秒以上〜１２Ｍバイト／秒程度であり、すなわち、１／３０秒では２００Ｋ〜４００Ｋバイト／３３．３ミリ秒の転送レートが実現される。
【００４６】
使用するディスクのデータ転送プロトコルの例として、ＡＴＡ−３のプログラムドＩＯ（ＰＩＯ）方式およびＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送方式について説明する。Ｕｌｔｒａ  ＤＭＡ転送方式および、ＡＴＡ方式の今後の拡張方式については、ＡＮＳＩ（米国規格協会）標準のＡＴＡ／ＡＴＡＰＩ−４標準以降に記載の転送方式をその拡張方式に従って同様に使用する。
【００４７】
ＡＴＡ−３方式のハードディスクドライブのディスク媒体上の各論理セクタ位置は、論理ブロックアドレス（ＬＢＡ）として与えられ、論理ブロックでアクセスされる。その順番は論理番号としてリニアにマッピングされている。与えられた論理セクタのＬＢＡのアドレスは変化しない。以下は常に真である。
【００４８】
【数１】
ＬＢＡ＝（（シリンダ＊シリンダ当たりのヘッド数＋ヘッド数）＊トラック当たりのセクタ数）＋セクタ−１  ・・・（１）
ここでシリンダ当たりのヘッド数とトラック当たりのセクタ数はＡＴＡ−３標準で導入された論理ブロックアドレスＬＢＡの拡張以前から実施している論理的シリンダヘッドセクタ（ＣＨＳ）変換方式の値である。なお、ここで論理的とは、書き込み可能なドライブにおいて、使用前、使用中に発生する欠陥セクタについて、ドライブ内部ファームウェアにより予備の交替セクタに置き替えを行う際に、論理番号を変更しないという意味である。
【００４９】
次に、メモリ１５上にロードされるＤＯＳ互換ファイルシステムについて説明する。
ディスクドライブはＤＯＳ互換フォーマットソフトウェアでフォーマットされたものが使用される。本実施の形態での説明は、既にフォーマット済みのディスクドライブに対してメモリ１５上にロードされ、ＣＰＵで使用されるＤＯＳ互換ファイルシステムを使用する場合に、映像音声データを連続して書き込み読み出す際に行われるＦＡＴチェーンの更新動作を高速化させてリアルタイムな書き込み読み出しを実現するハードウェアとそれを使用する手順を説明することにある。ディスクドライブは、たとえば別途Ｗｉｎｄｏｗｓ−ＯＳでフォーマット済みのものを使用してもよい。そしてシステムＯＳはロードしない、あるいは論理区画で分割使用して、システムＯＳをロードしない論理区画を使用することとする。これは高機能ＯＳを使用しないディスクファイルシステムだけにし、ディレクトリ、ＦＡＴのクラスタチェーン動作を説明しやすくするためである。
【００５０】
ファイルシステムはＭＳ−ＤＯＳ（マイクロソフトの商標）ＦＡＴ１６に互換なファイルシステムを用いる。ファイル管理情報としてのブートレコード、ＦＡＴ、ディレクトリ、そしてファイルデータ読み書きに使用するユーザデータ領域を有している。
【００５１】
ファイルシステムの作成する１ファイルの連続データが複数クラスタにわたって読み書きされる際には、１クラスタ単位ごとにＦＡＴデータ情報の更新が行われる。
【００５２】
ディレクトリはファイルデータのファイル名とともに、ＦＡＴ中に記載されるディスククラスタ上のクラスタチェーンの開始エントリ位置を示す。
なお、使用例としての、ＤＯＳ互換ファイルシステムのＦＡＴ１６は、１ディレクトリにつきファイルごとに割り当てられるエントリ数は全部で最大でも５１２個に限定されているため、これを越える連続映像音声データファイル数をディスクドライブに作成する必要があるときには、ディレクトリエントリに続くユーザデータ領域先頭部分にユーザデータを書き込み使用する前に、あらかじめ新たにサブディレクトリを作成してディレクトリエントリ数を増やし、予測される必要に応じて複数個のサブディレクトリ（Ｗｉｎｄｏｗｓ−ＯＳ上ではフォルダの作成に相当）を作成して用意する。これによりディレクトリエントリの１個当たり最大でも５１２個のエントリ数制限を解消し、ファイル管理情報のディスク上の物理的配置を集中させ、ファイル管理情報領域とファイルデータ領域とを分離して使用する。
【００５３】
これは、ユーザデータ領域に多数のファイルデータを書き込んだ後でサブディレクトリを作成すると、ディスク上のユーザデータ領域の開始論理セクタから多数のファイルデータが書き込まれた後にサブディレクトリが設けられ、この位置をディレクトリがクラスタ番号での位置管理をすることとなると、結果として、ディスク上のサブディレクトリ位置の物理的な位置分散となり、映像音声データの読み書きのディスクアクセスには多数の連続データファイルの途中にファイル管理情報が配置されてしまい、連続編集のときにファイル管理情報であるディレクトリとサブディレクトリが所定の論理ブロックである論理セクタ領域に入るかどうかの判断がより複雑になるのを簡単化させる効果がある。
【００５４】
ここで、実際のハードディスクドライブを使用して、ＤＯＳ互換ファイルシステムのファイル形式管理情報各部のディスク上の論理セクタ、バイト数、ファイルシステムのクラスタ数でのアドレス位置について説明する。
【００５５】
本実施の形態の説明では、ファイル管理情報としての、ディレクトリ、ＦＡＴのディスク論理セクタ上のサイズと位置を知ることが必要である。このため、その配置を指定するディスクファイルシステムのパラメータがどう指定されているのかを実例で示す。
【００５６】
本例のファイルシステムの連続データを記録再生する使用するハードディスクドライブの例として、１．２８Ｇバイト容量と称されるハードディスクドライブでの、ＤＯＳ互換ディスクファイルシステムの場合のディスクの各領域を簡単に説明する。
【００５７】
図４はＤＯＳ互換ファイルシステムのファイル管理情報およびデータ領域の位置を示す図である。ＦＡＴ１６ディスクファイルシステムにおいては、ハードディスクファイルフォーマットは図４に示すように、ブートレコード領域３１と、ＦＡＴ領域３２と、ＦＡＴのコピー領域３２ａと、ディレクトリエントリ領域３３と、データ領域３４とが存在し、これらはディスク媒体にその外周から内周にへと同心円状に配置されている。データ領域３４の各論理セクタはその複数クラスタ単位でＦＡＴに対応している。そして、その論理セクタ（とそのバイト数）位置はブートレコード領域３１に記述されるパラメータと、ＦＡＴ１６ファイルシステムによる取り決めとによって一意に決まる。
【００５８】
ファイル管理領域（３２〜３３）とデータ領域３４とを区別している、ブートレコード領域３１に記述のディスクパラメータの例を説明する。ブートレコード領域３１はセクタ０から始まり、ディスク上の５５ｈＡＡｈデータで終了するまでの範囲である。なお、このデータはＦＡＴ１６に従い１ワードデータに戻すとＡＡ５５ｈとなることは周知である。以下、ディスク媒体上の２バイトデータをまとめて１ワード数で表記する場合はワードデータに戻した値とする。
【００５９】
ブートレコード領域３１に記述されたディスクファイルシステムのパラメータとして、ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）へのジャンプ先（３バイトで記述）、フォーマットしたＤＯＳバージョン（８バイト）、１セクタ当たりのバイト数（２バイト＝１ワード：ＡＴＡ標準のハードディスクドライブでは１セクタ当たり５１２バイトの取り決めがある）、ファイルシステムのクラスタ当たりのセクタ数（１バイト：ハードディスクドライブが１．２８Ｇバイト容量の場合、１クラスタ当たり６４セクタとなる）、ブートレコードに予約してあるセクタ数（２バイト＝１ワード：ここではセクタ数は１とする）、ＦＡＴの数（１バイト：コピーを含めて２個）、ルートディレクトリの用意するファイルごとに一つの開始クラスタ番号を有するエントリ数（２バイト＝１ワード：ここではルートディレクトリエントリ数は５１２とする）、ディスク媒体がフロッピーディスクの場合のディスク当たりのセクタ数（２バイト）、メディアタイプのＩＤ（１バイト）、１ＦＡＴ当たりのセクタ数（２バイト＝１ワード：１．２８ＧＢハードディスクドライブの場合、セクタ数は１５３である）、トラック当たりのセクタ数（２バイト）、ヘッド数（２バイト）、隠しセクタ数（４バイト）、論理セクタ数（４バイト：大容量ディスクなのでダブルワード、３２ビット表記）、物理ドライブ番号（１バイト）、システム予約バイト（１バイト）、拡張ブート識別コード（１バイト）、ハードディスクドライブのボリュームシリアル番号（４バイト）、ボリュームラベル（１１バイト）、ファイルシステムの採用しているＦＡＴ方式（８バイト：ここでは「ＦＡＴ１６」とする）、そして、システム予約のワードデータ（１バイト＋１バイト）がある。
【００６０】
以上により、本発明の実施に必要な数値パラメータである、ディレクトリエントリの配置、ＦＡＴの配置、データ領域の配置が判る。
ここで、ディスクファイルシステムの管理情報領域とデータ領域とは論理セクタ番号で指定される。ブートレコード領域３１は１論理セクタである。ファイルシステムの基本パラメータの、ブートレコード領域３１、ＦＡＴ領域３２およびＦＡＴのコピー領域３２ａ、ディレクトリエントリ領域３３、データ領域３４の論理セクタアドレス位置はそのサイズを示すパラメータで記述指定されている。ファイルアクセスは、このパラメータをあらかじめ取得し、これにもとづいて行うことになる。
【００６１】
以上のパラメータ例から、ファイルシステムはＦＡＴ１６である。１クラスタは６４セクタ＝３２Ｋバイトである。ＦＡＴ領域３２はＦＡＴ当たりのセクタ数が１５３セクタであり、それと同セクタ数のＦＡＴのコピー領域３２ａがある。ブートレコード領域３１、ＦＡＴ領域３２、ＦＡＴのコピー領域３２ａの合計より、ディレクトリエントリ位置は３０７（＝１３３ｈ）論理セクタ目からになる。そして、ディレクトリエントリ領域３３は３２セクタである。
【００６２】
データ領域３４は、３３９（＝１５３ｈ）論理セクタ目からである。ＦＡＴ領域３２およびＦＡＴのコピー領域３２ａ内のクラスタチェーンデータ更新が最低限必要であるので、このドライブの場合には、少なくとも０ｈ〜００００１３３ｈを含む論理セクタ、すなわち論理ブロックアドレス内容を、データファイルシステム用のデータメモリ１９に記憶させて、ディスク管理情報パラメータとして使用する。より好ましくは、ファイルシステムは、ＡＴＡプロトコルにより、データ領域３４への１クラスタのデータ書き込みと、ファイルシステム管理パラメータ情報領域であるディレクトリエントリ領域３３、ＦＡＴ領域３２内のクラスタチェーンの作成更新とを別の回のＡＴＡプロトコルのデータ転送処理発行で行っているので、このディスクドライブ２１の０ｈ〜００００１５３ｈまでを含むディスクの論理ブロックアドレス内容をデータメモリ１９にコピーして、ここまでの論理セクタのファイルシステム管理情報データをデータメモリ１９で使用する。
【００６３】
ここで、現在のディスクドライブ２１は、１周分の１トラックがおよそ１００〜１６０個程度の論理セクタをデータ読み書き用に使用されるために有しているため、ＦＡＴ領域３２およびＦＡＴのコピー領域３２ａ内の全ディスクの全クラスタを１６ビットＦＡＴのクラスタ番号で指定する個々のクラスタチェーン指定データバイトを収納する論理セクタ個数としての１３３ｈ、あるいは１５３ｈは、それぞれ３０７セクタ個数、３３９セクタ個数になり、ディスク上の数周分の物理トラックを必要とすることが判る。
【００６４】
より具体的には、ファイルシステム形式によって、ＦＡＴのコピー領域３２ａについては一連のファイルデータ転送処理の済んだあとに、ＦＡＴ領域３２から読み出してＦＡＴのコピー領域３２ａに記録処理する処理形式のものであった場合には、このディスクドライブ２１の場合は半分のＦＡＴ領域３２だけの１５４（＝９Ａｈ）論理セクタで済み、この場合にＦＡＴ領域３２に必要なバイトデータを考えると、このドライブのＦＡＴ領域３２の１５３（＝９９ｈ）セクタ数を合わせてデータで１６ビットワード指定できるクラスタ番号個数は３９１６８であり、このディスクドライブ２１の全ディスク容量をクラスタ番号で指定するには２４９９７７７／６４＝３９０５９クラスタ個数がある。そして、１クラスタ＝１ワード、２バイトデータ指定により、この７８３３６バイトデータに記憶して使用するときに必要なメモリ容量は、少なくとも６１２Ｋビットになる。
【００６５】
また、ブートレコードの論理セクタ分のアドレスシフト処理回路が冗長になる場合は、直接ＦＡＴ領域３２の論理セクタを指定するために、このディスクドライブ２１の場合には１５４（＝９Ａｈ）論理セクタ個数分である、少なくとも７８８４８バイトデータ、６１６ｋビット（＝６３０７８４ビット）以上のメモリ容量を必要とする。
【００６６】
ファイルシステム形式によっては、ＦＡＴのコピー領域３２ａについてはＦＡＴ領域３２への読み書き処理と同時にＦＡＴのコピー領域３２ａに読み書き処理する必要のある処理形式のものであれば、このディスクドライブ２１の場合は図４に示すようにそのまま３０７（＝１３３ｈ）セクタ必要となり、この場合にＦＡＴ領域３２およびＦＡＴのコピー領域３２ａの合計に必要なバイトデータを考えると、このディスクドライブ２１のＦＡＴ領域３２およびＦＡＴのコピー領域３２ａの３０７（＝１３３ｈ）セクタ数であり、この１５７１８４バイトデータに記憶して使用するときに必要なメモリ容量は、少なくとも１．２Ｍビット（＝１２５７１８２ビット）になる。さらにディレクトリも同時に処理する必要のあるファイルシステムを使用する場合は、上記に準じて３３９論理セクタ以上相当まで用意するメモリ容量を増加させることとする。
【００６７】
ＦＡＴ１６とディスクドライブのＡＴＡ−３のＬＢＡにより扱える２ＧＢまでのディスク容量では、２２５４８５７８３０バイト、クラスタ総数は約４４０４０１９セクタ／６４＝６８８１２クラスタである。これはＦＡＴ１６のワードデータ数であるから、バイトデータで指定すると１３７６２４バイト、つまり、約１．０５Ｍビット（＝１１００９９２ビット）のメモリ容量を上限として用意する。
【００６８】
ＦＡＴシステムが３２ビット化されると、クラスタ数の総計が増加することから、さらにこの指定個数総数は増加され、指定バイト数は３２ビット幅などに増加する。
【００６９】
連続データファイルのＦＡＴ内のクラスタチェーンの更新が発生したときには、クラスタファイルシステム管理情報のデータアクセスがあるので、ディスクドライブ２１ではなくて、ファイルシステム用のデータメモリ１９の方へ、ＡＴＡ標準のデバイスへのデータ転送プロトコルでアクセスして使用する。
【００７０】
ディレクトリエントリ領域３３は各ファイルの開始クラスタ番号とファイルサイズなどが記載されている。具体的には図４のディレクトリエントリ領域３３の内部説明にあるように、ファイル名、拡張子、属性などとともに、第１クラスタの欄に各ファイルの第１クラスタを指定するデータが書き込まれている。これにもとづくＦＡＴのエントリ番号からクラスタごとの連続関係がデータ領域３４のエントリ番号「２」から始まるクラスタ番号のつながりで記載されている。そして、最後にＥＯＦ（ｅｎｄ  ｏｆ  ｆｉｌｅ）でファイルのクラスタチェーンが終了する。これに対応するデータ領域３４のクラスタ番号集合にファイルデータが記載されている。
【００７１】
ここで、連続映像音声データが書き込み、読み出しされる場合を例にとって考える。たとえば、１フレーム１１９．２ｋバイトの映像音声データの場合であって、使用する１クラスタが３２ｋバイトのときには、４クラスタ＝１２８ｋバイトとなる。ここで、１フレーム映像音声データがこの各クラスタを越える毎に、ＦＡＴ領域内およびＦＡＴのコピー領域内のクラスタチェーンのデータ更新を行う。特に、最終クラスタに残存する未使用データ領域の扱いとしては、セクタ単位で１フレームデータを終了させるか、あるいはセクタ内で次のフレームのデータの先頭を結合させて連続して書き込むかのいずれかを行う。
【００７２】
そして、一連のデータフレームの連続である、映像音声データの書き込み読み出しが終了したならば、ＦＡＴ領域およびＦＡＴのコピー領域内のクラスタチェーンの末尾にＥＯＦを指定して終了する。
【００７３】
ここで、ＦＡＴ領域内およびＦＡＴのコピー領域内のクラスタチェーンのデータ更新をハードディスクドライブではなく、通常のディスクデバイスのデータ転送プロトコルでアクセスするメモリインタフェースコントローラ１８を介してデータメモリ１９上で行う目的は、高機能ＯＳを有しないＤＯＳ互換ファイルシステムを使い映像音声連続データの読み書きを行っても、ディスクドライブ内で書き込み読み出し手段であるヘッドアーム駆動部のアクセス動作を発生させない構成とするためである。たとえば、ＦＡＴ領域およびＦＡＴコピー領域内のクラスタチェーンのデータ更新を、コマンド発行の約２００〜３００マイクロ秒とメモリへの１セクタのデータ転送とで約数ミリ秒以内でデータメモリ内で行った後に、回転ディスク媒体上の後続位置の論理セクタに連続データを書き込むのは、約１回転時間後の約１１ミリ秒後になる。映像音声データの毎１フレーム時間が約３３ミリ秒の時間単位の場合、リアルタイム性を阻害する時間遅延の発生はなく、ハードディスクドライブへ連続してアクセスして順次フレームデータを書き込んでいくためには、２２ミリ秒以内にデータ転送を完了させれば、ディスクドライブ２１と映像音声データ入出力回路１６との間での各フレーム時間内でのリアルタイムのデータ転送が実現される。最悪連続レート６Ｍバイト／秒以上なら、２０ミリ秒以内で１２０ｋバイト転送される。
【００７４】
次に、本発明の実施の形態における要部について詳細に説明する。まず、メモリインタフェースコントローラ１８から説明する。
図５はメモリインタフェースコントローラの構成を示すブロック図である。メモリインタフェースコントローラ１８は、ＡＴＡプロトコルに従ってデータメモリ１９をアクセスすることによりデータの入出力を行うもので、アドレス比較経路切り替え制御部４０と、メモリアクセスのアドレス・制御信号生成用メモリインタフェースコントローラ５０とを有している。このメモリインタフェースコントローラ１８は、アドレスバスＢ１、データバスＢ２およびコントロールバスＢ３によりＡＴＡホストインタフェース回路１７およびディスクドライブ２１に接続されている。ただし、ディスクドライブ２１へのコントロールバスＢ３は切り替え回路２０を介して接続される。ＡＴＡホストインタフェース回路１７はアドレス変換回路１７ａおよび制御ロジック回路１７ｂを有している。ディスクドライブ２１はハードディスクドライブのアドレス・制御信号生成用ディスクインタフェースコントローラ２１ａ、ディスク２１ｂ、図示しないドライブ内部ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ドライブ内部ファームウェアを有している。
【００７５】
ＡＴＡホストインタフェース回路１７では、ディスクドライブ２１の内部に設置された複数個の各レジスタに対して、それぞれＣＰＵ１１からブリッジインタフェース回路１３、ホストバス１４を介してアクセスされるアドレスが割り当てられる。そのアドレスはアドレス変換回路１７ａにより変換され、ＡＴＡインタフェースの各デバイス内部レジスタについての入力アドレスを発生させる。また、制御ロジック回路１７ｂは各レジスタごとに与えるデータ長をバイト長、ワード長に制御する。
【００７６】
図６はアドレス変換の例を説明する図であって、（Ａ）はアドレスデコード元のＣＰＵアドレスを示し、（Ｂ）はＡＴＡホストインタフェース回路がアクセスするアドレス変換後のデバイス入力アドレス信号とデバイス内部レジスタとの関係を示している。
【００７７】
ここで、アドレスデコード元のＣＰＵアドレス割り当ては、（Ａ）に示したように、３２ビットアドレス長のワード単位で少なくとも９個ある。これらのＣＰＵアドレスはＡＴＡホストインタフェース回路１７のアドレス変換回路１７ａにより変換され、ＡＴＡホストインタフェース回路１７がアクセスするアドレス変換後のデバイス入力アドレス信号が出力される。デバイス入力アドレス信号は、（Ｂ）に示したように、同一アドレスを使用して読み出し機能と書き込み機能とで異なる名称のレジスタを指定しているが、それぞれレジスタは同じであり、同じレジスタに対して読み出しと書き込みとで機能の切り替えを行っている。なお、上側に示した八つのレジスタはコマンドブロックレジスタ、下側の二つのレジスタはコントロールブロックレジスタである。
【００７８】
ここで、ＡＴＡ標準の各レジスタのデータ値について説明すると、データレジスタのみがワード長データであり、残りはすべてバイト長データである。デバイスが有するレジスタ指定に使用するアドレスは、ＣＳ０−、ＣＳ１−のローアクティブ信号とＤＡ［２：０］のハイアクティブ信号との五つのアドレス信号であり、これとは別に、ＤＭＡデータ転送の場合は、これらのアドレス信号の代わりにＤＭＡＣＫ−でデータレジスタを直接ポート指定してデータ転送をする。
【００７９】
ＣＳ０−＝０はコマンドブロックレジスタの８個のレジスタをアドレス指定するのに使用される。データレジスタはドライブとホストとの１６ビットワード長データ転送に使用される。エラー／フィーチャレジスタはデバイスがコマンド実行エラーを発生したときにその原因を読み取るためや、ドライブに転送モードなどの各種制御機能をコマンドパラメータとして設定するために使用される。
【００８０】
セクタカウントレジスタは１セクタ＝２５６個のワードデータ、つまり５１２バイト単位でのデータ転送長さをコマンドパラメータとして指定するために使用される。
【００８１】
ＬＢＡ［７：０］、ＬＢＡ［１５：８］、ＬＢＡ［２３：１６］、ＬＢＡ［２７：２４］レジスタはデータ転送開始の論理ブロックアドレスをコマンドパラメータとして指定するために使用される。
【００８２】
ステータス／コマンドレジスタは、ドライブの状態を読み取るために使用される場合は、処理中のＢＳＹビット、デバイスのコマンド受付準備完了のＤＲＤＹビット、デバイスからのデータ転送準備完了のＤＲＱビット、コマンドのエラー発生のＥＲＲビットの各ステータスを読み取るために使用される。また、ドライブに書き込みする際には、コマンドコードを書き込んで、コマンド実行を開始するために使用される。
【００８３】
ＣＳ１−はコントロールブロックレジスタの少なくとも１個を指定するのに使用される。
オルタネートステータス／デバイスコントロールレジスタは、ドライブの状態を読み取るときに、ステータスレジスタの内容をそのまま保持し、ステータスレジスタの代わりに使用されることがある。デバイスコントロールレジスタは、書き込みの際には、ソフトウェアリセットをかけたり、デバイスからの割り込み要求を許可設定するために使用される。
【００８４】
コントロールブロックレジスタの最後のレジスタは、以前は使用されていたが、現在は廃止、あるいは使用しないことが勧告されているものである。
以上、少なくとも九つのレジスタはディスクドライブ２１を制御するレジスタである。
【００８５】
次に、ＡＴＡホストインタフェース回路１７に接続されるコントロールバスＢ３、アドレスバスＢ１、データバスＢ２における制御信号、アドレス信号、データ信号について説明する。ＡＴＡ方式のインタフェースでは、制御信号は、デバイス側からはＩＯＲＤＹ、ＩＮＴＲＱ、ＤＭＡＲＱ、ホスト側からは、ＲＥＳＥＴ−、ＤＩＯＲ−、ＤＩＯＷ−、ＤＭＡＣＫ−の各制御信号が規定され、アドレス信号は、ＣＳ０−、ＣＳ１−、ＤＡ［２：０］の各アドレス信号が規定され、データ信号については、ＤＤ［１５：８］、ＤＤ［７：０］の各バイト長さデータ信号が規定されている。
【００８６】
ここで、図５に示したメモリインタフェースコントローラ１８の動作について説明する。ディスクドライブ２１は、ＡＴＡプロトコルで、内蔵のアドレス・制御信号生成用ディスクインタフェースコントローラ２１ａを介して、ドライブ内部ＭＰＵとドライブ内部ファームウェアの制御によりディスクに対してセクタ単位でアクセスして読み書きする通常のＡＴＡ方式ハードディスクドライブとして機能するものを使用している。ここで、メモリインタフェースコントローラ１８のアドレス比較経路切り替え制御部４０は、ＡＴＡホストインタフェース回路１７からハードディスクドライブアクセスの論理ブロックアドレスが、上述のディスクファイルシステムのファイル管理パラメータ領域である、ディレクトリ、ＦＡＴを含む領域をＬＢＡ［２７：０］の各レジスタおよびセクタカウントレジスタを論理ブロック指定および設定を行うときには、これを検出し、コマンドコードを書き込む際にはＡＴＡ方式ハードディスクディスクドライブ２１へのコントロールバスＢ３を切り替え回路２０で切り替え、オフすることにより、ディスクドライブ２１へのコマンドコードの書き込みを不可にする。これとともに、アドレス・制御信号生成用メモリインタフェースコントローラ５０中に用意したコマンドブロックレジスタの中のコマンドレジスタに書き込まれているコマンドコードにもとづいて、アドレス・制御信号生成用メモリインタフェースコントローラ５０でデータメモリ１９に対してセクタ単位でアクセスする論理ブロックデータのアドレス信号を発生させ、所定のセクタカウントレジスタにより指定されたセクタ単位のデータの転送を完了させ、ＦＡＴ領域内およびＦＡＴのコピー領域内のクラスタチェーンのデータ更新を終了させる。この際に、後述する所定のＡＴＡプロトコルに従い、割り込み要求信号ＩＮＴＲＱの割り込み処理を発生させる。ディスクデバイスとのデータ転送が完了したら、全体をリセットさせ、新たに次のクラスタのデータ転送を開始させる。
【００８７】
次に、メモリインタフェースコントローラ１８がデータメモリ１９にファイルシステムの管理情報パラメータの内容を記憶させる準備動作について説明する。メモリインタフェースコントローラ１８のアドレス・制御信号生成用メモリインタフェースコントローラ５０は、図示しないＣＰＵアドレスマップに割り当てられた別アドレス変換回路からの別経路でのアドレス変換信号入力により、これも図示しない機能切り替えレジスタビットを設定してＡＴＡホストインタフェース回路１７からのアドレス信号入力をディスエーブルにし、あらかじめディスクドライブ２１のファイルシステムのディレクトリエントリ領域、ＦＡＴ領域、ＦＡＴのコピー領域を含む管理パラメータ領域のデータをデータメモリ１９にコピーしておく。その後、上記の図示しない機能切り替えレジスタに書き込むことにより、ＡＴＡホストインタフェース回路１７からのアドレス信号入力をイネーブルにする。
【００８８】
ＤＯＳ互換のディスクファイルシステムは、ＡＴＡプロトコルにより、データ領域３４への１クラスタのデータ書き込みと、ファイルシステム管理パラメータ情報領域であるディレクトリエントリ領域３３、ＦＡＴ領域３２内のクラスタチェーンの作成更新とを別の回路のＡＴＡプロトコルのデータ転送処理発行で行っているので、このディスクドライブ２１の０ｈ〜００００１５３ｈまでの範囲を含むディスクの論理ブロックアドレスの内容をデータメモリ１９にコピーして、ここまでの論理セクタのファイルシステム管理情報データをデータメモリ１９に記憶させて使用する。
【００８９】
次に、メモリインタフェースコントローラ１８におけるアドレス・制御信号生成用メモリインタフェースコントローラ５０について説明する。
図７はアドレス・制御信号生成用メモリインタフェースコントローラの内部構成を示すブロック図である。アドレス・制御信号生成用メモリインタフェースコントローラ５０は、オルタネートステータス／デバイスコントロールレジスタＭ１と、ステータス／コマンドレジスタＭ２と、セクタカウントレジスタＭ３と、論理ブロックアドレスレジスタＭ４と、セクタアドレス累計加算回路Ｍ５と、ワード単位アドレス発生回路Ｍ６と、メモリＩＮＴＲＱ信号発生回路Ｍ７と、リセット信号発生回路Ｍ８と、アドレス生成回路Ｍ９とを有している。
【００９０】
オルタネートステータス／デバイスコントロールレジスタＭ１は、読み取りに際してはステータス／コマンドレジスタＭ２の内容をコピーして読み取りの用意をし、書き込みに際してはソフトウェアリセットやデバイスの割り込み要求許可設定ビットを書き込む。
【００９１】
ステータス／コマンドレジスタＭ２は、コマンドレジスタへの書き込みコマンドコードの検出によりメモリ読み書き制御信号のイネーブル化をし、そのコマンド実行準備完了状態およびセクタカウント数のデータ転送完了ステータスの各状態をステータスレジスタに設定する。
【００９２】
セクタカウントレジスタＭ３は、ＬＢＡ論理セクタ単位でのセクタ転送カウント数を設定する。
論理ブロックアドレスレジスタＭ４は、ＬＢＡ［２７：２４］、ＬＢＡ［２３：１６］、ＬＢＡ［１５：８］、ＬＢＡ［７：０］の四つで論理ブロックアドレスＬＢＡ［２７：０］の論理セクタ転送開始位置を指定する。このうち、ＬＢＡ［２７：２４］を含むバイト長レジスタの上位ビットは、論理ブロックアドレスでのアクセスを示すＬＢＡビットと、デバイス０またはデバイス１のデバイス選択を行うＤＥＶビットとを含んでおり、このバイト長レジスタをデバイス／ヘッドレジスタと呼ぶ。
【００９３】
セクタアドレス累計加算回路Ｍ５は、セクタカウントレジスタＭ３から信号ＭＣ１によりセクタカウント設定数を入力し、ＬＢＡ［２７：０］レジスタＭ４から信号ＭＣ２によりセクタ転送開始論理ブロックアドレス位置を入力し、データレジスタによるアドレス発生回路に相当する各セクタ範囲内でのワード単位アドレス発生回路Ｍ６から信号ＭＣ３によりセクタ単位ごとのデータ転送開始信号を入力して、セクタカウント数のセクタ転送ごとの１セクタ＝５１２バイト単位で５１２バイト累計加算単位ずつ加算するワード単位のアドレス生成回路Ｍ９に出力するものであって、１セクタ当たりのワード数２５６（＝１００ｈ）個の先読みセクタカウンタＭ５１を内蔵している。
【００９４】
ワード単位アドレス発生回路Ｍ６は、コントロールバスＢ３の書き込み信号ＩＯＷ−あるいは読み出し信号ＩＯＲ−ごとに行われる各１論理セクタ範囲内でのワード単位データの転送ごとに０〜２５５までワード単位のアドレスを順次発生するもので、ＡＴＡデバイスのデータレジスタのアドレス発生回路に相当する。なお、ここで、データレジスタのアドレス発生回路に相当するとは、ＣＳ０−＝０、ＣＳ１−＝１、ＤＡ［２：０］＝０ｈでＩＯＲ−、ＩＯＷ−などの読み出し書き込み制御信号を与えるたびに、ＬＢＡ［２７：０］で指定の開始論理ブロックアドレスから順次１６ビットのワードデータを１セクタ＝２５６ワード単位でセクタカウントレジスタＭ３のセクタカウント回数分データ転送するレジスタのことであり、このＣＳ０−、ＣＳ１−、ＤＡ［２：０］でＩＯＲ−、ＩＯＷ−を繰り返し与えることで順次ワード単位のアドレスを発生して、その結果、データメモリ１９がデータバスＢ２にワードデータを入出力するワード単位アドレス発生回路Ｍ６はデータレジスタ回路のアクセス動作を実行しているためである。
【００９５】
アドレス生成回路Ｍ９は、アドレス比較経路切り替え制御部４０の後述する論理ステート制御回路よりのＬＢＡ［２７：０］のファイルシステムの管理情報パラメータに含まれる所定の論理ブロックアドレス範囲の指定されたことのイネーブル入力ＭＣ１１を受けてデータメモリ１９へのメモリチップセレクトＭＣ６を出力し、データレジスタのアドレス発生回路に相当する各セクタ範囲内でのワード単位アドレス発生回路Ｍ６からの１論理セクタ単位内でのメモリワードアドレス信号ＭＣ５の信号入力と、セクタアドレス累計加算回路Ｍ５からのセクタごとに１セクタ＝５１２バイト単位での累計加算メモリアドレス信号ＭＣ４の入力とを受けて実際のメモリへのワードアドレスＭＣ７を生成する。
【００９６】
メモリＩＮＴＲＱ信号発生回路Ｍ７は、ステータス／コマンドレジスタＭ２に書き込まれたコマンドコードにもとづくＰＩＯの読み出し、ＰＩＯ書き込み、ＤＭＡ転送の各データ転送モード設定が選択されて、ＰＩＯの読み出しコマンドの際にはアドレス生成回路Ｍ９からのセクタごとのデータ読み出し準備完了の際に発生、あるいはその他の書き込み読み出しコマンドの際には、ＰＩＯ書き込みの場合に各セクタ転送を行うごとに発生、さらに加えて、ＰＩＯ書き込み、ＤＭＡ読み出し、ＤＭＡ書き込みの場合には全データ転送が完了した後にも、データ転送完了のカウンタアドレス検出信号を受けてメモリＩＮＴＲＱ信号ＭＣ１３を発生し、さらにステータス／コマンドレジスタＭ２が読み出し信号を受けたことを検出出力する信号ＭＣ１２が入力されてメモリＩＮＴＲＱ信号ＭＣ１３をクリアする。
【００９７】
論理ステート制御回路のリセット信号発生回路Ｍ８は、クロック同期タイミングにもとづいてステート進行されるステートマシン回路であって、メモリ読み出し書き込みのデータ転送完了であるアドレス生成回路Ｍ９からの信号ＭＣ９およびメモリＩＮＴＲＱ信号発生回路Ｍ７からの信号ＭＣ１０を受け、かつ、一旦発生されているメモリＩＮＴＲＱ信号ＭＣ１３をクリアするステータス／コマンドレジスタＭ２の読み出し検出信号ＭＣ１２を受けて、論理ステート制御回路リセット信号ＭＣ１４を発生する。
【００９８】
ここで、アドレス・制御信号生成用メモリインタフェースコントローラ５０の内部のＬＢＡ［２７：０］レジスタＭ４の内のＬＢＡ［２７：２４］を含むデバイス／ヘッドレジスタはデバイス選択処理を受ける際に、書き込みを受けるが、この結果を反映すべきステータス／コマンドレジスタＭ２はディスクドライブ２１内部のステータス／コマンドレジスタとのデータ衝突を防止するために、デフォルト初期状態ではレジスタデータの読み出しには高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、データ転送処理後のステータス／コマンドレジスタＭ２が読み出し処理されるのを受けて行われるコントロール線、データ線の切り替えの復帰処理によって再度ディスエーブルに処理される。
【００９９】
データメモリ１９への論理セクタ単位での読み出し書き込みと、ディスクドライブ２１でセクタ単位での読み書きデータ転送とをデータメモリ１９で一部シミュレーションするには、ＡＴＡホストインタフェース回路１７によってアドレス変換された後のアドレスバスＢ１、データバスＢ２、コントロールバスＢ３は、アドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されるとともに、データバスＢ２およびコントロールバスＢ３は、データメモリ１９に入力される。
【０１００】
アドレス生成回路Ｍ９は、ＬＢＡ［２７：０］を指定するレジスタから、データアクセスされる論理ブロックがファイルシステムの管理情報パラメータのうち、少なくともＦＡＴ領域内のクラスタチェーンを含むアドレス範囲内であることを判別される判別制御信号を論理ステート制御回路から入力されて、メモリチップセレクト信号ＭＣ６を発生してメモリに入力し、かつアドレス生成回路から１論理セクタ長さ単位のＬＢＡ［２７：０］レジスタおよびセクタカウントレジスタでアクセスデータサイズを指定し、ワード単位で読み書きデータ転送を行うためのワードアドレス信号ＭＣ７を発生しておく。
【０１０１】
データメモリ１９は、アドレス・制御信号生成用メモリインタフェースコントローラ５０により生成されるデータメモリ１９のチップセレクト信号ＭＣ６、および論理ブロックである論理セクタ単位でアクセスして読み出し書き込みするメモリ個所を指定するワードアドレス信号ＭＣ７を受けて、１セクタ長さ＝２５６ワード＝５１２バイト単位で書き込み読み出しを行う。
【０１０２】
この場合、データメモリ１９のデバイス特性である、制御信号の書き込みイネーブル、読み出しイネーブル信号が発せられ入力されても、チップセレクト信号ＭＣ６が入力されなければデータメモリ１９のデータ内容が保護されることを利用している。
【０１０３】
以上で、論理ブロックアドレスである、セクタアドレス単位ごとにメモリがアクセスされ、その中に記憶されるファイルシステムの管理情報パラメータのメモリデータが読み書きされる。
【０１０４】
次に、メモリインタフェースコントローラ１８のアドレス比較経路切り替え制御部４０の構成について説明する。
図８はアドレス比較経路切り替え制御部の構成を示す図である。このアドレス比較経路切り替え制御部４０は、セクタカウントレジスタＭ３のセクタカウントレジスタ設定動作検出部４１と、このドライブの場合のＦＡＴ／ディレクトリ領域の論理セクタの論理ブロックアドレス値範囲である少なくとも１ｈ〜１３３ｈがコマンドパラメータとしてＬＢＡ［２７：０］レジスタＭ４に設定された値である場合に、これを検出するＬＢＡレジスタ設定値範囲検出部４２と、ステータス／コマンドレジスタＭ２へのデータ転送用コマンドが書き込まれたことを検出するコマンドコード書き込み動作検出部４３と、ディスクアクセスのディスク割り込み要求信号ＩＮＴＲＱの検出によるリセット部４４と、論理ステート制御ブロック４５とを備え、この論理ステート制御ブロック４５は、論理ステート制御回路４６と、サイクル時間待ち後リセット回路４７と、そのリセット信号の論理ステート信号への入力を阻止するスイッチ４８とを有している。
【０１０５】
論理ステート制御ブロック４５では、論理ステート制御回路４６は、セクタカウントレジスタ設定動作検出部４１からの検出信号と、ＬＢＡレジスタ設定値範囲検出部４２からの検出信号とをともに受けて、所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１を生成する。
【０１０６】
そして、論理ステート制御回路４６は、サイクル時間待ち後リセット回路４７に待ち時間の計時を開始させる。サイクル時間待ち後リセット回路４７は、たとえば約４００ｎｓ以内のサイクル時間待ち後に論理ステート制御回路４６での所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の発生状態をリセットする。また、この期間中にコマンドコード書き込み動作検出部４３からセット入力があると、スイッチ４８はオフ設定となり、以後、別途論理ステート制御回路リセット信号ＭＣ１４がアドレス・制御信号生成用メモリインタフェースコントローラ５０より入力されて論理ステート制御回路４６がリセットされるまではそのオフ状態を維持する。また、さらにディスクドライブ２１のディスク割り込み要求信号ＩＮＴＲＱの入力により論理ステート制御回路４６のリセット入力としてもよい。そして、ディスクドライブ２１からのディスク割り込み要求信号ＩＮＴＲＱなどのリセット信号を受けた場合には、セクタカウントレジスタ設定動作検出部４１およびＬＢＡレジスタ設定値範囲検出部４２へ検出状態のリセット信号を出力してリセットさせる。
【０１０７】
次に、以上のハードウェアを使用して、ＣＰＵ１１のプログラム制御処理による、ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理流れＡＳ、ファイルシステムにもとづく各フレーム映像音声データをファイル化しての読み出し書き込み処理流れＢＳ、ＡＴＡプロトコルにもとづくＰＩＯデータ読み出しプロトコルでの処理流れＣＳＲ、ＰＩＯデータ書き込みプロトコルでの処理流れＣＳＷ、そしてＤＭＡ転送プロトコルでのデータ転送処理流れＣＳＤを説明する。なお、ＤＭＡ転送ではコマンドコードとホストＣＰＵのデータポートへの読み出し書き込み制御以外は読み出し書き込みの両方とも同一プロトコル処理なので、一緒に説明する。
【０１０８】
まず、ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理流れＡＳについて説明する。
図９はハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理の流れを示すフローチャートである。ハードディスクドライブの初期設定として、デバイス選択処理（ステップＡＳ１）、デバイス機能判別処理（ステップＡＳ２）、およびデバイス機能設定処理（ステップＡＳ３）が順次行われる。
【０１０９】
ステップＡＳ１のデバイス選択処理においては、ＡＴＡホストインタフェース回路１７を介して、ＬＢＡ［２７：２４］を含むデバイス／ヘッドレジスタへデバイス０（あるいはデバイス１）とするデバイス選択コマンドコードの書き込みを行い、ステータスレジスタを読み出して、デバイスが選択準備されたことを確認する。このときのコマンドはディスクデバイス全体を論理ブロックアドレスのデバイスとして扱うときには「ＩＮＩＴＩＡＬＩＺＥ  ＤＥＶＩＣＥ  ＰＡＲＡＭＥＴＥＲＳ（９１ｈ）」である。なお、ディスクドライブをシリンダ／ヘッド／セクタ（ＣＨＳ）で指定する場合は、「ＥＸＥＣＵＴＥ  ＤＥＶＩＣＥ  ＤＩＡＧＮＯＳＴＩＣ（９０ｈ）」のコマンドを使う。これらにはディスクとのワードデータの転送はない。
【０１１０】
次いで、ステップＡＳ２のデバイス機能判別処理においては、コマンドブロックレジスタへコマンドパラメータの書き込みを行い、デバイス機能判別を行ってもよい。この場合のコマンドは「ＩＤＥＮＴＩＦＹ  ＤＥＶＩＣＥ（ＥＣｈ）」であり、ディスクドライブからのＰＩＯデータ読み出し処理により、ドライブ機能の記述されているデータとして１セクタ分、２５６ワードを読み出す。この処理はドライブ機能があらかじめ判っていれば省略可能である。
【０１１１】
次いで、ステップＡＳ３のデバイス機能設定処理においては、コマンドブロックレジスタへのコマンドパラメータおよびコマンドコードの書き込みを行う。この際のコマンドは「ＳＥＴ  ＦＥＡＴＵＲＥＳ（ＥＦｈ）」である。これらにはデータの転送はない。
【０１１２】
以上が前処理であり、ここで、特にメモリインタフェースコントローラ１８にとっては、これはディスク上の論理セクタをレジスタ指定してデータ転送するものではないので、応答は発生しない。このため、ディスクドライブ２１への機能設定処理の際のＩＮＴＲＱを含むＡＴＡプロトコルを妨害しない。
【０１１３】
以上のハードディスクドライブの初期設定が終了すると、次に、デバイスデータ転送（読み書き）処理を行う（ステップＡＳ４）。これはデータ転送プロトコルであり、デバイス機能判別結果により取得した転送モード、ドライブ仕様などにもとづき、「ＲＥＡＤ  ＳＥＣＴＯＲＳ（２０ｈ）」、「ＷＲＩＴＥ  ＳＥＣＴＯＲＳ（３０ｈ）」、「ＲＥＡＤ  ＤＭＡ（Ｅ８ｈ）」、「ＷＲＩＴＥ  ＤＭＡ（ＣＡｈ）」などの読み出し書き込み系の各コマンドを使用してデータ転送を行う。
【０１１４】
これらのコマンドは、メモリインタフェースコントローラ１８を介してデータメモリ１９内のＦＡＴ領域のデータ、ハードウェアの都合上さらにブートレコード領域、さらにファイルシステムの必要に応じてＦＡＴのコピー領域、ディレクトリエントリ領域のデータにアクセスする場合、また通常のハードディスクとの間でデータ領域のデータにアクセスする場合に使用する。
【０１１５】
なお、ステップＡＳ１からステップＡＳ３までの初期設定処理以降については、データ転送の必要に応じて、デバイスデータ転送（読み書き）処理ＡＳ４のみを行う。
【０１１６】
次に、ファイルシステムにもとづき１ファイル中の連続データとして各フレーム映像音声データの集合全体を１ファイル化し、読み出し書き込みを行う処理の流れＢＳについて説明する。
【０１１７】
図１０はファイルシステムで１ファイルデータとして連続する各フレーム映像音声データをファイル化して読み出し書き込みする処理の流れを示すフローチャートである。
【０１１８】
連続する映像音声データの読み出し書き込みに先立って、メモリ１５上のファイルシステムプログラム中でディスクファイルシステムのパラメータ設定を行う（ステップＢＳ１）。これには、ブートレコード領域のデータ読み出しによりディスクパラメータを取得するか、あるいはプログラム引数での事前のパラメータ設定などでディスク上のファイルシステムの管理情報パラメータが記録されているＦＡＴ領域、ディレクトリエントリ領域のデータを取得する。
【０１１９】
また、ここで、前述の図示しないアドレスデコーダを介して、これも図示しないメモリインタフェース内部レジスタクリアにより、メモリインタフェース機能をオフさせて、ディスクドライブ２１のブートレコード領域、ＦＡＴ領域のデータ、およびファイルシステムの必要に応じてＦＡＴのコピー領域、ディレクトリエントリ領域のデータを一旦読み出して、図示しない別アドレスを介したアドレスデコーダによりデータメモリ１９に転送しておく必要がある。そして、その後、メモリインタフェースコントローラ１８の図示しない内部レジスタを設定してメモリインタフェース機能をイネーブルにする。この処理以降、データメモリ１９はディスクファイルシステムのファイル管理情報データ、特にＦＡＴデータを保有し、ディスクドライブ２１はそれ以外の、データ領域などを使用する。
【０１２０】
次に、プログラム上で１フレーム映像音声データ転送サイズのプログラム引数でのパラメータ設定処理を行う（ステップＢＳ２）。これにより、この映像音声データの１フレーム単位の使用クラスタ個数が指定される。
【０１２１】
次に、ディレクトリからの指定ファイルのエントリ（開始クラスタ番号）の読み出し、あるいは新規ファイルの作成の場合は書き込み処理を行う（ステップＢＳ３）。ここで、ディレクトリエントリ領域に記述されているファイルサイズを取得して、最終クラスタの使用データのサイズを取得する処理を行ってもよい。この処理はファイルシステムの仕様により、ディスクドライブ２１から行うか、あるいはメモリインタフェースコントローラ１８を介してデータメモリ１９から行う。
【０１２２】
次に、指定されたＦＡＴ領域内のクラスタチェーンでの開始点の読み出し、あるいはデータ書き込みの際は、書き込み処理を行う（ステップＢＳ４）。ここでは、メモリインタフェースコントローラ１８を介してＡＴＡプロトコルによりデータメモリ１９とＦＡＴ領域のクラスタチェーンのデータ転送を行う。データメモリ１９とのデータ転送処理はディスクドライブ２１に比較して高速に処理される。
【０１２３】
次に、クラスタ単位でのデータ転送処理を行う（ステップＢＳ５）。ここでは、ディスクドライブ２１との間で連続データである映像音声データをディスクドライブ２１内部の１６ビットワード幅データレジスタへの読み書き処理を行う。ここで、論理セクタ数で指定されたセクタデータ（＝５１２バイト、２５６ワード）個数をＬＢＡ［２７：０］コマンドパラメータに指定されたディスク上の論理セクタ位置である、データ転送開始論理ブロックアドレス位置からセクタ単位でデータ転送を繰り返し行い、この処理により複数論理セクタ集合のクラスタ単位で読み出しあるいは書き込み処理が行われる。
【０１２４】
また、最終クラスタでは、前述のディレクトリエントリ指示のデータサイズの残りデータ数をセクタ単位で転送する。なお、ディスクドライブ２１では、セクタ単位のデータ転送は各セクタの途中までのデータ転送を行うと、その後はセクタの残りのデータ領域に自動的にフォーマットデータが書き込まれ、その１セクタのデータ領域全体に対して末尾にＥＣＣ（Ｅｒｒｏｒ  ＣｏｒｒｅｃｔｉｎｇＣｏｄｅ）多項式による誤り訂正コードＥＣＣが書き込まれる処理が行われているので、特に各セクタ内の残りデータ部分への特定コードの追加書き込み処理は必要ない。
【０１２５】
さらに、ここでの一連の１映像音声フレームのデータ転送の後の、次の１映像音声フレームの最初のデータ転送は、ファイルシステムの１論理ブロックである１クラスタ内でのディスク上の物理的データセクタに対応する次の１セクタからとする。あるいは、ここで別の処理方法として、次の１クラスタの最初のセクタを使用することとしてもよい。各クラスタ内の残りセクタの未使用が毎回生じ、ディスク容量に浪費が発生するが、クラスタ単位で扱うファイルシステム処理が容易になる。
【０１２６】
次に、指定クラスタ数の読み書きが完了したか否かの判断処理を行う（ステップＢＳ６）。指定クラスタ数とは、ステップＢＳ２にて指定した、映像音声データの１フレーム単位に相当する指定クラスタ数である。この判断処理で、クラスタ数の転送が未だ完了していないならば、Ｎｏ判断により、ＦＡＴ内のクラスタチェーンの次のクラスタ番号を読み出す（ステップＢＳ７）。この処理は論理ブロックアドレスがＦＡＴの範囲内なので、メモリインタフェースコントローラ１８を介してデータメモリ１９にデータアクセスして行っている。
【０１２７】
引き続いて、ステップＢＳ５により、ディスクドライブとの間で１クラスタ単位のセクタごとの１６ビットワードデータの転送を行う。これを１フレーム映像音声データに相当する連続データの指定クラスタ数分の読み書きを完了するまで行い、ステップＢＳ６によりＹｅｓ判断がなされる。
【０１２８】
次に、映像音声データ１フレーム転送完了処理および次の映像音声データ転送準備処理を行う（ステップＢＳ８）。これは、たとえば映像音声データ入出力回路１６がその内部に２つのバンクメモリを有していて、映像音声データの有するフレーム時間と同期させて、１フレーム時間ごとに交互に切り替え、片方をディスクドライブ２１とのデータ転送バッファメモリに使用し、もう片方を外部映像音声データとの映像音声データ入出力転送バッファメモリに使用し、それぞれのデータ転送を各１映像音声フレーム時間内で転送完了させる処理を行うものであってよい。
【０１２９】
この場合には、上述のステップＢＳ８での転送完了処理および転送準備処理とは、片方の内部メモリから１フレームの映像音声データを読み出してディスクドライブ２１に書き込みデータ転送完了した後で、次に他方の内部メモリに切り替えて外部から入力されて用意されている１フレームの映像音声データを読み出し、ディスクドライブ２１へ書き込みデータ転送準備をすること、あるいは、その片方の内部メモリにディスクドライブ２１から読み出した１フレームの映像音声データを書き込み終えた後で他方の内部メモリに切り替えて、次にディスクドライブ２１から読み出されてくる１フレームデータをこの内部メモリに書き込み準備することである。
【０１３０】
次には、連続する全映像音声データの転送、読み書きが完了したかどうかの判断処理を行う（ステップＢＳ９）。これは、連続する各フレームの多数で成り立つ、映像音声データの連続するフレームデータからなる、１ファイルの転送が完了したか否かの判断処理である。たとえば１フレームが１／３０秒の映像音声データの場合ならば、１ファイルが１分長さの場合では１８００フレーム、１時間長さでは１０８０００フレームの連続データとなる。映像音声データ入出力回路１６から入力した連続映像音声データをディスクドライブ２１に書き込みする際には、映像音声の１番組、１連続撮影編集ショットが完了したこと、あるいはディスクドライブ内のファイル化された連続映像音声データの１ファイルの読み出しが完了したか否かを判断することが１ファイルデータの転送が完了したことに相当する。
【０１３１】
ここで、１ファイルデータの転送が完了していないとの判断を得た場合には、Ｎｏの判断処理になり、プログラム引数での次の１フレームのディスクドライブ２１の連続するクラスタ個数分追加読み出しあるいは追加書き込みを設定する処理を行う（ステップＢＳ１０）。そして、ステップＢＳ７にてＦＡＴ内のクラスタチェーンの次のクラスタ番号を読み出しあるいは書き込みする処理をメモリインタフェースコントローラ１８に対して行い、ステップＢＳ５にて再びディスクドライブ２１に対してクラスタ単位でのデータ転送処理を行う。
【０１３２】
なお、ステップＢＳ９の判断処理において、１ファイルデータの転送が完了し、Ｙｅｓの判断処理になる場合には、ディスクドライブ２１との間で１ファイルデータの転送処理が完了したことになる。
【０１３３】
以上でファイルシステム自体の１ファイルの転送処理は終えるが、ここで、後処理として、前述の図示しない別アドレスのメモリアドレスデコーダを介して、メモリインタフェースコントローラ１８の内部に設けられている、これも図示しない機能設定レジスタをクリアすることによりメモリインタフェース機能をオフさせた後、この図示しない別アドレスのメモリアドレスデコーダを介してファイルデータ転送開始前にデータメモリ１９に一旦読み出してあって、メモリ１５上のディスクファイルシステムの処理動作によりファイル転送中にＦＡＴ内のクラスタチェーンのデータが更新されたブートレコード、ＦＡＴデータおよびファイルシステムの仕様の必要に応じてＦＡＴのコピー、ディレクトリデータをディスクドライブ２１の対応するブートレコード領域、ＦＡＴ領域などに書き戻す。この後処理を行えば、ディスクドライブ２１はディスクファイルシステムのファイル管理情報データ、特に更新されたＦＡＴデータをディスク上にデータ領域などとともに記録保存される。また、この後処理を行わずとも、ディスクドライブ２１がリムーバブルディスクタイプでなくて、かつデータメモリ１９が電池によってバックアップされるようにする、あるいはデータメモリ１９として不揮発性の書き込み可能なメモリデバイスを使用することにすれば、ディスクドライブ２１に更新されたデータを書き戻すことなく、そのままであってもよい。
【０１３４】
以上の１ファイルデータの転送において、処理ステップＢＳ７および処理ステップＢＳ１０は、連続する論理ブロックアドレスである論理セクタに連続映像音声データを書き込んでいく際に、ディスクドライブ２１のディスク上の論理セクタの所定範囲内の論理ブロックアドレス内までヘッドアーム部をアクセスして目的の論理セクタをディスク回転待ちする時間およびそれからディスク上の元の位置に復帰させ１ファイル内の次の論理セクタあるいはクラスタに連続映像音声データを書き込むためのアクセス時間と回転待ち時間の合計の時間不連続である約３０ミリ秒が発生せず、代わりに次の論理セクタあるいはクラスタからのデータ転送のためにディスク１回転の回転待ちを行うための時間不連続である１０ミリ秒だけで済むため、残りの２３ミリ秒でデータ転送処理を完了させることができ、ファイルシステムを使用してのリアルタイムな映像音声データ転送が実現される。
【０１３５】
なお、特に上述の処理流れ説明ではＦＡＴ領域のクラスタチェーンデータをデータメモリ１９に転送して用意する前処理および後処理として、別途図示しないアドレスデコード回路を介してデータメモリ１９へアクセスすることとしたが、別途のアドレスデコード回路を用いずに、後述のプロトコルにおいて示すように、（コマンドコードを書き込んでから後の４００ｎｓ時間待ちではなくて）コマンドパラメータをＬＢＡ［２７：０］レジスタに設定してからコマンドコードをコマンドレジスタに書き込むまでの間に少なくとも４００ｎｓ以上時間待ちする処理を設けることにより、メモリインタフェースへのアクセス経路切り替えを自動的にリセットさせて、ディスクドライブ２１内のＦＡＴ領域を含むファイルシステム管理情報パラメータ領域にアクセスして、そのデータをメモリ１５に一旦ストアさせて、そのデータを今度は同じくコマンドパラメータのＬＢＡ［２７：０］レジスタに論理ブロックアドレスを設定してからサイクル時間待ち後リセット回路４７の待ち時間である４００ｎｓ以内にコマンドコードを書き込めばメモリインタフェースコントローラ１８を介してファイルシステム用のデータメモリ１９にアクセスでき、メモリ１５からＦＡＴ領域のデータを転送することとしてもよい。この場合、プロトコルタイミングおよびデータ転送経路が複雑になるが、ハードウェア構成はより簡素になる。
【０１３６】
ここで、ディスクドライブ２１およびメモリインタフェースコントローラ１８を介して行うデータメモリ１９とのデータ転送処理について説明する。
本実施の形態では、ＡＴＡプロトコルに従って、その処理において一般にドライブの有するレジスタへのコマンドパラメータ設定の後、内部で設定値が確定するまでの一定の処理待ち時間である、約４００ｎｓの待ち時間処理を行うことを利用してメモリインタフェースコントローラ１８とディスクドライブ２１とを区別してデータ転送処理を行わせている。
【０１３７】
データ転送プロトコルは、ディスクドライブ２１に対してＡＴＡ−４標準で周知のＡＴＡプロトコルで行うが、特にここでＦＡＴ内のクラスタチェーンのデータ更新処理のためにＬＢＡ［２７：０］レジスタの転送開始論理ブロックアドレス値が０ｈ〜１３３ｈの範囲内であったときは、データ転送先を切り替えてメモリインタフェースコントローラ１８を介してデータメモリ１９にＦＡＴのクラスタチェーン更新のデータ転送を行うので、以下にこの処理の流れを中心に説明する。なお、データ転送プロトコルはＰＩＯまたはＤＭＡ転送プロトコルの場合であるが、ＵｌｔｒａＤＭＡ転送プロトコルおよび今後のＡＴＡの拡張にもとづくデータ転送プロトコルの場合は、その転送プロトコルに従い、本プロトコル処理を同様に行うことが可能である。
【０１３８】
次に、ホストバス（ＣＰＵ）側のデバイスからＰＩＯ転送プロトコルによりデータを読み出す処理手順ＣＳＲについて説明する。
図１１はホストバス側のデバイスからのＰＩＯデータ読み出し処理の流れを示すフローチャートである。
【０１３９】
まず、ＬＢＡ［２７：２４］を含むデバイス／ヘッドレジスタへの書き込み処理によって、ディスクドライブ２１はデバイス０であるかデバイス１であるかのデバイス選択処理を行う（ステップＣＳＲ１）。
【０１４０】
次いで、ステータスレジスタの読み出し処理が行われる（ステップＣＳＲ２）。これは、ディスクドライブ２１の内部レジスタがＢＳＹ＝０およびＤＲＱ＝０となって、上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ１８の内部のＬＢＡ［２７：０］レジスタＭ４内のＬＢＡ［２７：２４］を含むバイト長レジスタのデバイス／ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス／コマンドレジスタＭ２はディスクドライブ２１の内部ステータス／コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【０１４１】
次いで、コマンドパラメータをレジスタへ設定する（ステップＣＳＲ３）。この設定処理により、セクタカウントレジスタＭ３にセクタ転送数が設定され、ＬＢＡ［２７：２４］、ＬＢＡ［２３：１６］、ＬＢＡ［１５：８］、ＬＢＡ［７：０］の各レジスタを総合してのＬＢＡ［２７：０］レジスタＭ４に論理ブロックアドレスのコマンドパラメータ値が設定される。
【０１４２】
ここで、ディスクドライブ２１内のファイルシステムによるＦＡＴ領域内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）にその転送開始設定値があることを、メモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ２１およびメモリインタフェース側でのコントロール線、データ線の切り替え処理が行われる（ステップＣＳＲ４）。
【０１４３】
ここでの切り替え処理では、論理ステート制御回路４６から所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１がアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成準備がされ、かつコントロールバスＢ３のディスクドライブ２１への切り替え回路２０がオフされる。
【０１４４】
次いで、ホストバス側はコマンドコードのコマンドレジスタへの設定処理を行う（ステップＣＳＲ５）。ここで、ＡＴＡプロトコルには影響ないが、このステップＣＳＲ５で設定処理を行うまでに４００ｎｓ以上ホストバス側が処理を待つならば、ステップＣＳＲ４において、論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路４７の動作により復帰され、コントロール線、データ線はディスクドライブ２１側に復帰され、アドレス・制御信号生成用メモリインタフェースコントローラ５０の使用はディスエーブルにされる。この処理待ち時間を切り替える処理は、前述のディスクとのＦＡＴ領域のデータへのアクセスと、ファイルシステム用のデータメモリ１９へのアクセスとのアクセス先を切り替える際に使用することができる。
【０１４５】
ステップＣＳＲ５のコマンドコードの設定処理に続き、ＡＴＡ−４標準プロトコルの４００ｎｓ待つ処理を行う（ステップＣＳＲ６）。
そして、メモリインタフェースコントローラ１８より、メモリＩＮＴＲＱ信号の発生処理がなされる（ステップＣＳＲ７）。
【０１４６】
これを受けたホストバス側は、メモリ内のステータスレジスタを読み出し、ＢＳＹ＝０およびＤＲＱ＝１としてデバイス側がデータ転送準備完了の確認処理を行う（ステップＣＳＲ８）。あるいは、ここで、データ転送準備完了のＹｅｓ判断を得るまでオルタネートステータスレジスタの読み出しループ処理による待ち処理を繰り返してもよい。
【０１４７】
データ転送準備完了のステータスレジスタＭ２において、ＢＳＹ＝０およびＤＲＱ＝１の設定状態が読み出されることにより、メモリインタフェースコントローラ１８内部でメモリＩＮＴＲＱ発生が自動的にクリア処理される（ステップＣＳＲ９）。
【０１４８】
この割り込み処理が完了したならば、ホストバス側はメモリインタフェースコントローラ１８を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６への読み出しアクセスによりワードデータ転送処理を行う（ＣＳＲ１０）。
【０１４９】
次に、転送ブロック終了判断処理が行われる（ステップＣＳＲ１１）。ここで、Ｎｏ判断処理の場合はステップＣＳＲ１０に戻るようにしたことにより、１転送ブロックである１セクタデータのワード転送回数を終了しない場合は、メモリインタフェースコントローラ１８はデータレジスタからのワードデータ転送処理を繰り返す。
【０１５０】
転送ブロック終了判断処理ステップＣＳＲ１１により、１セクタ＝２５６回のワード転送により５１２バイト転送が完了したＹｅｓ判断を行った場合は、次の全データの転送終了の判断処理を同じくメモリインタフェースコントローラ１８内部で行う（ステップＣＳＲ１２）。
【０１５１】
全データの転送終了判断処理ステップＣＳＲ１２において、セクタカウントレジスタにあらかじめ設定してあったセクタ転送数に達していないと判断したら、メモリインタフェースコントローラ１８はＮｏ判断を行い、元に戻ってメモリＩＮＴＲＱ割り込み要求信号をホストに送り出す処理ステップＣＳＲ７を行うことをループ処理で繰り返し、次のセクタのワードデータ転送処理の繰り返しへと続く。
【０１５２】
セクタカウントレジスタの設定回数からデータ転送終了と判断した場合には、Ｙｅｓ判断処理により、続いてメモリインタフェースコントローラ１８内のステータスレジスタＭ２の読み出し処理を行う（ステップＣＳＲ１３）。
【０１５３】
これを受けて、メモリインタフェースコントローラ１８内の論理ステート制御回路４６は所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力を不可にし、これにともない、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ２１との通常のデータ転送が可能なハードウェア状態に復帰させる（ステップＣＳＲ１４）。
【０１５４】
以上がＰＩＯデータ読み出し転送処理流れの説明である。次に、ホストバス側のデバイスからＰＩＯ転送プロトコルでデータを書き込む手順ＣＳＷについて説明する。
【０１５５】
図１２はホストバス側のデバイスからのＰＩＯデータ書き込み処理の流れを示すフローチャートである。
デバイスコントロールレジスタへの書き込み処理によって、ディスクドライブ２１のデバイス０またはデバイス１の選択処理を行う（ステップＣＳＷ１）。
【０１５６】
次いで、ステータスレジスタの読み出し処理が行われる（ステップＣＳＷ２）。これは、ディスクドライブ２１の内部レジスタがＢＳＹ＝０およびＤＲＱ＝０となって上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ１８の内部のＬＢＡ［２７：０］レジスタＭ４の内の、ＬＢＡ［２７：２４］を含むバイト長レジスタのデバイス／ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス／コマンドレジスタＭ２はディスクドライブ２１の内部ステータス／コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【０１５７】
次いで、コマンドパラメータをレジスタへ設定する（ステップＣＳＷ３）。この設定処理により、セクタカウントレジスタＭ３へセクタ転送数が設定され、ＬＢＡ［２７：２４］、ＬＢＡ［２３：１６］、ＬＢＡ［１５：８］、ＬＢＡ［７：０］の各レジスタを総合してのＬＢＡ［２７：０］レジスタＭ４へ論理ブロックアドレスのコマンドパラメータ値が設定される。
【０１５８】
ここで、ディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）にその転送開始設定値があることを、メモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ２１およびメモリインタフェース側でのコントロール線およびデータ線の切り替え処理が行われる（ステップＣＳＷ４）。
【０１５９】
ここでの切り替え処理では、論理ステート制御回路４６から所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１が出力され、これがアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成の準備がなされ、かつコントロールバスＢ３のディスクドライブ２１への切り替え回路２０がオフされる。
【０１６０】
次いで、ホストバス側はＰＩＯ書き込み系コマンドコードのコマンドレジスタへの設定処理を行う（ステップＣＳＷ５）。ここで、ＡＴＡプロトコルには影響ないが、この処理ステップＣＳＷ５を行うまでに４００ｎｓ以上ホストバス側が処理を待つならば、処理ステップＣＳＷ４において、論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路４７の動作により復帰され、コントロール線、データ線はディスクドライブ２１側に復帰され、アドレス・制御信号生成用メモリインタフェースコントローラ５０の使用はディスエーブルにされる。
【０１６１】
ステップＣＳＷ５のコマンドコードの設定処理に続き、ＡＴＡ−４標準プロトコルの４００ｎｓ待つ処理を行う（ステップＣＳＷ６）。
ホスト側はこれに引き続き、メモリ内のステータスレジスタでＢＳＹ＝０およびＤＲＱ＝１としてデバイス側がデータ転送準備完了を示すか否かの判断処理を行う（ステップＣＳＷ７）。これは、データ転送準備完了のＹｅｓ判断を得るまでループにより処理を繰り返す。
【０１６２】
そして、データ転送準備完了を示すメモリ内のステータスレジスタのＢＳＹ＝０およびＤＲＱ＝１を確認したら、続いてメモリインタフェースコントローラ１８を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６への書き込み制御信号アクセスによりワードデータ転送処理を行う（ステップＣＳＷ８）。
【０１６３】
次に、転送ブロック終了判断処理が行われる（ステップＣＳＷ９）。この判断処理によって、１セクタ＝２５６回のワードデータ、すなわち５１２バイトデータ転送を終了しない場合は、Ｎｏ判断処理により、ワードデータ転送処理ステップＣＳＷ８を繰り返す。
【０１６４】
転送ブロック終了判断処理ステップＣＳＷ９により、１セクタ＝２５６回のワードデータ転送により５１２バイト転送が終了したＹｅｓ判断をメモリインタフェースコントローラ１８内で行ったら、続いて、メモリインタフェースコントローラ１８はメモリＩＮＴＲＱ信号をホストバス側のＣＰＵに送り出す処理を行う（ステップＣＳＷ１０）。
【０１６５】
これを受けたＣＰＵは、メモリインタフェースコントローラ１８内のステータスレジスタを読み出し処理を行うことによってメモリインタフェース割り込み要求に応答する（ステップＣＳＷ１１）。
【０１６６】
これを受けたメモリインタフェースコントローラ１８はステータスレジスタの読み出し処理を受けて、ＣＰＵへ割り込み要求するメモリＩＮＴＲＱ信号の取り下げ処理を行う（ステップＣＳＷ１２）。
【０１６７】
メモリインタフェースコントローラ１８は、メモリＩＮＴＲＱ信号の取り下げ処理ステップＣＳＷ１２に引き続いて、全データの転送終了判断処理を行う（ステップＣＳＷ１３）。この判断処理において、セクタカウントレジスタにあらかじめ設定されていたセクタ転送数に達しないと判断したら、メモリインタフェースコントローラ１８はＮｏ判断を行い、元に戻って次のセクタのデータ転送をワード単位で行うワードデータ転送処理ステップＣＳＷ８へと続き、次のセクタのワードデータ転送を引き続き繰り返す。
【０１６８】
全データの転送終了判断処理ステップＣＳＲ１３において、メモリインタフェースコントローラ１８が全データ転送終了したと判断したら、メモリＩＮＴＲＱ信号の発生処理がなされる（ステップＣＳＷ１４）。
【０１６９】
次いで、ＣＰＵは、メモリインタフェースコントローラ１８内のステータスレジスタＭ２に対してＢＳＹ＝０およびＤＲＱ＝０状態のステータスレジスタＭ２を読み出す処理を行う（ステップＣＳＷ１５）。これにより、メモリインタフェースコントローラ１８内部ではメモリＩＮＴＲＱ発生が自動的にクリア処理される（ステップＣＳＷ１６）。
【０１７０】
この割り込み処理が完了したならば、これを受けて、メモリインタフェースコントローラ１８内の論理ステート制御回路４６は所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力を不可にし、これにともない、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ２１との通常のデータ転送が可能なハードウェア状態に復帰させる（ステップＣＳＷ１７）。
【０１７１】
以上がＰＩＯデータ書き込み転送処理流れの説明である。次に、ＤＭＡデータ転送処理流れの説明を行うが、ＤＭＡ転送ではコマンドコードおよびＣＰＵのデータポートへの読み出し書き込み制御以外は読み出し書き込みの両方とも同一プロトコル処理なので一緒に説明する。
【０１７２】
図１３はホストバス側のデバイスからのＤＭＡデータ転送処理の流れを示すフローチャートである。
まず、デバイスコントロールレジスタへの書き込み処理によって、デバイス０、デバイス１の選択処理を行う（ステップＣＳＤ１）。
【０１７３】
次いで、ステータスレジスタの読み出し処理を行う（ステップＣＳＤ２）。これは、ディスクドライブ２１の内部レジスタがＢＳＹ＝０およびＤＲＱ＝０となって上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ１８の内部のＬＢＡ［２７：０］レジスタＭ４の内の、ＬＢＡ［２７：２４］を含むバイト長のレジスタであるデバイス／ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス／コマンドレジスタＭ２はディスクドライブ２１の内部ステータス／コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【０１７４】
次に、コマンドパラメータのレジスタへの設定処理を行う（ステップＣＳＤ３）。これにより、セクタカウントレジスタへのセクタ転送数および、ＬＢＡ［２７：２４］、ＬＢＡ［２３：１６］、ＬＢＡ［１５：８］、ＬＢＡ［７：０］の各レジスタを総合してのＬＢＡ［２７：０］レジスタへの論理ブロックアドレスのコマンドパラメータ値の設定処理が行われる。ここで、ディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）にその転送開始設定値があることを、メモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ２１側およびメモリインタフェースコントローラ１８側でのコントロール線、データ線の切り替え処理が行われる（ステップＣＳＤ４）。
【０１７５】
ここでの切り替え処理では、論理ステート制御回路４６から所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１が出力され、これがアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成準備がなされ、かつディスクドライブ２１へのコントロールバスＢ３が切り替え回路２０によりオフされる。
【０１７６】
次いで、ホストバス側はＤＭＡ転送系またはＵｌｔｒａＤＭＡ転送系コマンドコードのコマンドレジスタへの設定処理を行う（ステップＣＳＤ５）。ここで、ＡＴＡプロトコルには影響ないが、処理ステップＣＳＤ５を行うまでに４００ｎｓ以上ホストバス側が処理を待つならば、処理ステップＣＳＤ４において論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路４７の動作により復帰され、コントロール線、データ線はディスクドライブ２１側に復帰され、メモリインタフェースコントローラ１８の使用はディスエーブルにされる。
【０１７７】
コマンドコードの設定処理ステップＣＳＤ５に続き、ＡＴＡ−４標準プロトコルの４００ｎｓ待つ処理を行う（ステップＣＳＤ６）。
デバイス側のメモリインタフェースコントローラ１８はこの時間待ちの処理に続き、データ転送準備完了およびホストバス側にデータ転送要求を示すＤＭＡＲＱをデータ転送期間中は発し続ける処理を行う（ステップＣＳＤ７）。
【０１７８】
このＤＭＡＲＱの発生状態を受けたホストバス側はＩＯＲ−、ＩＯＷ−とともにメモリインタフェース５を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６に対して、ＤＭＡデータ転送制御信号ＤＭＡＣＫ−をワードデータ単位で発生し、アクセスすることによりワードデータ転送処理を行う（ステップＣＳＤ８）。
【０１７９】
ここで、デバイス側において、転送ブロック終了判断処理が行われる（ステップＣＳＤ９）。この判断処理により、セクタカウントレジスタの設定回数を終了しない場合は、Ｎｏ判断処理により、ステップＣＳＤ７へ進んで、ＤＭＡＲＱ信号発生状態を継続したまま引き続き、ホストバス側において、ステップＣＳＤ８の処理であるＤＭＡＣＫ−によるアクセスを繰り返す。
【０１８０】
デバイス側において、ステップＣＳＤ９での判断処理がＹｅｓの場合には、メモリインタフェースコントローラ１８によりメモリＩＮＴＲＱ信号の発生処理がなされる（ステップＣＳＤ１０）。
【０１８１】
次に、データブロック転送完了を示す、メモリ内のステータスレジスタＭ２に対してＢＳＹ＝０およびＤＲＱ＝０状態のステータスレジスタＭ２を読み出す処理を行う（ステップＣＳＤ１１）。これにより、メモリインタフェースコントローラ１８内部では、メモリＩＮＴＲＱ発生は自動的にクリア処理される（ステップＣＳＤ１２）。
【０１８２】
この割り込み処理が完了したならば、これを受けて、メモリインタフェースコントローラ１８内の論理ステート制御回路４６は論理ステート制御回路４６で所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力が不可にされ、これに伴い、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ２１との通常のデータ転送が可能なハードウェア状態に復帰させる（ステップＣＳＤ１３）。
【０１８３】
以上がＤＭＡデータ読み出し書き込みの転送処理流れの説明である。このように、ＤＭＡ転送の場合は、各セクタごとの割り込み要求信号発生がないので、処理が簡素化され、セクタごとの割り込み処理時間発生がない分だけ高速処理ができる。
【０１８４】
図１４はＰＩＯ読み出し動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。この図では、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）であることを、メモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合に、データメモリ１９とのデータ転送を行う動作を説明している。
【０１８５】
まず、デバイス／ヘッドレジスタへデバイス選択コードを書き込むことにより、デバイス選択が行われる。次に、ディスクドライブ２１内部のステータスレジスタにより、ドライブ内部で処理中のＢＳＹビットおよびデバイスからのデータ転送準備完了のＤＲＱビットをＤＲＱ＝０、ＢＳＹ＝０にセットする。次いで、ステータスレジスタのステータスコードを読み出して、ＤＲＱ＝０、ＢＳＹ＝０のセットによりディスクデバイスが選択セットされた状態を確認する。
【０１８６】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、４個のレジスタからなるＬＢＡ［２７：０］レジスタにセクタ転送開始位置として２８ビットの転送開始論理ブロックアドレス値を設定する。
【０１８７】
続いて、論理ステート制御回路４６によるコントロールバスＢ３のディスクインタフェース切り替え動作を行うとともに、サイクル時間待ち後リセット回路４７が所定時間、たとえば４００ｎｓの、計時を開始する。ここでは，メモリインタフェースコントローラ１８を選択する動作説明であるので、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（このディスクドライブの場合の設定値範囲内である＜＝１３３ｈ）であることをメモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合には、データメモリ１９とのデータ転送を行う動作になる。ここでの切り替え動作は、論理ステート制御回路４６での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力が、アドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成準備がされ、かつコントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオフさせる。この切り替え回路２０のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【０１８８】
続いて、コマンドレジスタへのＰＩＯ読み出し系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路４７の出力側にあるスイッチ４８をオフさせて、論理ステート制御回路４６での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力され続け、また同様にコントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオフ状態のまま維持させる動作をする。
【０１８９】
この後、ホスト側は４００ｎｓの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのコマンドコード書き込みを受けて、今度は、メモリインタフェースコントローラ１８は内部のステータスレジスタＭ２にデバイスデータ転送準備完了を示すＢＳＹ＝０、ＤＲＱ＝１をセットし、メモリＩＮＴＲＱ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこれによってメモリＩＮＴＲＱ信号をクリアする。続いて、ホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６への読み出し制御信号アクセスＩＯＲ−を発することにより、ワード単位のデータ転送を１セクタ分、繰り返しデータ転送する。ＡＴＡ−３標準では１セクタは２５６ワードである。このメモリインタフェースコントローラ１８のメモリＩＮＴＲＱ信号の発生とホスト側のステータスレジスタ読み出し処理に続くセクタデータの転送を、セクタカウントレジスタの転送セクタ数分だけ繰り返し動作を行う。
【０１９０】
全データの転送が終了したら、デバイス側はステータスレジスタにＤＲＱ＝０、ＢＳＹ＝０の転送完了状態を設定し、ホストがこのレジスタを読み出す動作に続いて、サイクル時間待ち後リセット回路４７の出力のスイッチ４８をオフからオンに復帰させて、論理ステート制御回路４６での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力もリセットされて、コントロールバスＢ３のディスクドライブ２１へのＳＷ切り替え回路２０をオン状態に復帰する動作が続く。
【０１９１】
ここで、ホスト側のプログラム処理は、毎回のステータスレジスタの読み出しでフラグをセットし、デバイスからのメモリＩＮＴＲＱ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することでＡＴＡプロトコルのデータ転送を実現することとしてもよい。
【０１９２】
図１５はＰＩＯ書き込み動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。この図では、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）であることをメモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合に、データメモリ１９とのデータ転送を行う動作を説明している。
【０１９３】
まず、デバイス／ヘッドレジスタへの書き込みにより、デバイス選択を行う。次に、ディスクドライブ２１内部のステータスレジスタにより、ドライブ内部でＤＲＱ＝０、ＢＳＹ＝０をセットする。次いで、ステータスレジスタのステータスコードを読み出して、ＤＲＱ＝０、ＢＳＹ＝０のセットによりディスクデバイスが選択セットされた状態を確認する。
【０１９４】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、４個のレジスタからなるＬＢＡ［２７：０］レジスタにセクタ転送開始位置として２８ビットの転送開始論理ブロックアドレス値を設定する。
【０１９５】
続いて、論理ステート制御回路４６によるコントロールバスＢ３のディスクインタフェース切り替え動作を行うとともに、サイクル時間待ち後リセット回路４７が所定時間、たとえば４００ｎｓの、計時を開始する。ここでは、メモリインタフェースコントローラ１８を選択する動作説明であるので、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）であることをメモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合には、データメモリ１９とのデータ転送を行う動作になる。ここでの切り替え動作では、論理ステート制御回路４６から出力された、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１が、アドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成準備がされ、かつコントロールバスＢ３のディスクドライブ２１への切り替え回路２０がオフされる。この切り替え回路２０のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【０１９６】
続いて、コマンドレジスタへのＰＩＯ書き込み系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路４７の出力側にあるスイッチ４８をオフさせて、論理ステート制御回路４６からの所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力され続け、また同様にコントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオフ状態のまま維持させる動作をする。
【０１９７】
この後、ホスト側は４００ｎｓの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのＰＩＯ書き込み系コマンドコードの書き込みを受けて、今度は、メモリインタフェースコントローラ１８は内部のステータスレジスタＭ２にデバイスデータ転送準備完了を示すＢＳＹ＝０、ＤＲＱ＝１をセットし、続いてホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６への読み出し制御信号アクセスＩＯＷ−を発することにより、ＰＩＯ読み出し処理の場合と同じようにワード単位のデータ転送を各セクタ単位での割り込み処理をともなってセクタカウントレジスタに設定されたセクタ数分だけ繰り返しデータ転送を行う。
【０１９８】
データ転送が終了したら、デバイスはステータスレジスタにＤＲＱ＝０、ＢＳＹ＝０の転送完了状態を設定し、メモリＩＮＴＲＱ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこの読み出し動作によってメモリＩＮＴＲＱ信号をクリアする。ホスト側がこのレジスタを読み出してデバイスがメモリＩＮＴＲＱ信号をクリアする動作に続いて、サイクル時間待ち後リセット回路４７の出力のスイッチ４８をオフからオンに復帰させて、論理ステート制御回路４６から出力された、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１もリセットされ、コントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオン状態に復帰する動作が続く。
【０１９９】
ここで、ＰＩＯ読み出し動作と同様に、ホスト側のプログラム処理は、ステータスレジスタの読み出しでフラグをセットし、デバイス側からのメモリＩＮＴＲＱ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することによってＡＴＡプロトコルのデータ転送を実現することとしてもよい。
【０２００】
図１６はＤＭＡデータ転送動作によるメモリインタフェースコントローラのデータ転送の動作説明図である。ここでは、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）であることをメモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合に、データメモリ１９との間でデータ転送を行う動作を説明している。
【０２０１】
まず、デバイス／ヘッドレジスタへの書き込みにより、デバイス選択を行う。次に、ディスクドライブ２１内部のステータスレジスタにより、ドライブ内部でＤＲＱ＝０、ＢＳＹ= ０をセットする。次いで、ステータスレジスタのステータスコードを読み出して、ＤＲＱ＝０、ＢＳＹ= ０をセットすることによりディスクデバイスが選択セットされた状態を確認する。
【０２０２】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、４個のレジスタからなるＬＢＡ［２７：０］レジスタＭ４に２８ビットの転送開始論理ブロックアドレス値を設定する。
【０２０３】
続いて、論理ステート制御回路４６によるコントロールバスＢ３のディスクインタフェースの切り替え動作を行うとともに、サイクル時間待ち後リセット回路４７が所定時間、たとえば４００ｎｓの、計時を開始する。ここではメモリインタフェースコントローラ１８を選択する動作説明であるので、転送開始設定値がディスクドライブ２１内のファイルシステムによるＦＡＴ内のクラスタチェーンを含むアドレス範囲内（この場合は＜＝１３３ｈ）であることをメモリインタフェースコントローラ１８内の論理ステート制御回路４６が判別した場合に、データメモリ１９とのデータ転送を行う動作になる。ここでの切り替え動作では、論理ステート制御回路４６の出力した、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１が、アドレス・制御信号生成用メモリインタフェースコントローラ５０に入力されてメモリアドレス生成の準備がなされ、かつコントロールバスＢ３のディスクドライブ２１への切り替え回路２０がオフされる。この切り替え回路２０のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【０２０４】
続いて、コマンドレジスタへのＤＭＡ転送系またはＵｌｔｒａＤＭＡ転送系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路４７の出力のスイッチ４８をオフさせて、論理ステート制御回路４６からのメモリアドレス生成イネーブル信号ＭＣ１１の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ５０に入力され続け、また同様にコントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオフ状態のまま維持させる動作をする。
【０２０５】
この後、ホスト側は４００ｎｓの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのＤＭＡ転送系コマンドコードの書き込みを受けて、今度は、メモリインタフェースコントローラ１８は内部のステータスレジスタＭ２にデバイスデータ転送準備完了を示すＢＳＹ＝０、ＤＲＱ＝１をセットし、セクタカウントレジスタのセクタ数分のブロックデータ転送回数が終了するまでメモリインタフェース側からデータ転送要求状態信号であるＤＭＡＲＱ信号を発生させ続ける。
【０２０６】
続いて、ホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路Ｍ６への読み出し制御信号アクセスＩＯＲ−、ＩＯＷ−とともにＤＭＡＣＫ−をワード単位転送で発することにより、ワード単位のデータ転送をセクタカウントレジスタに設定されたセクタ数分だけ繰り返しデータ転送を行う。
【０２０７】
データ転送が終了したら、デバイスはステータスレジスタにＤＲＱ＝０、ＢＳＹ＝０の転送完了状態を設定し、メモリＩＮＴＲＱ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこの読み出し動作によってメモリＩＮＴＲＱ信号をクリアする。ホスト側がこのステータスレジスタを読み出してデバイス側がメモリＩＮＴＲＱ信号をクリアする動作に続いて、サイクル時間待ち後リセット回路４７の出力のスイッチ４８をオフからオンに復帰させて、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号ＭＣ１１の論理ステート制御回路４６からの出力もリセットされ、コントロールバスＢ３のディスクドライブ２１への切り替え回路２０をオン状態に復帰する動作が続く。
【０２０８】
ここで、ＤＭＡデータ転送動作においても同様に、ホスト側のプログラム処理は、ステータスレジスタの読み出しでフラグをセットし、デバイスからのメモリＩＮＴＲＱ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することによりＡＴＡプロトコルのデータ転送を実現する。
【０２０９】
さらにここで、メモリインタフェースコントローラ１８とファイルシステム用のデータメモリ１９とをドライブ内部に設置し、データメモリ１９をバッテリーバックアップ、あるいは電源不用の不揮発性フラッシュメモリで構築することにより、ＦＡＴデータのディスクからメモリへの転送の前処理や、データ転送後の逆方向のメモリのＦＡＴ更新データのディスクへの書き戻しの後処理は不要となり、ファイルシステム用メモリ、ディスク一体型のＡＴＡディスクドライブとなすことができる。そして、それに対する各ハードウェア構成、緒動作説明は上述と同様に行うことが可能となる。
【０２１０】
このドライブはファイルシステムに対しても、高機能ＯＳの搭載なしに特に連続データである映像音声データをファイル化して、ディスクドライブと映像音声入出力回路とのデータ転送をリアルタイムで行うことができる。
【０２１１】
次に、第２の実施の形態として、異なる複数ファイルシステムあるいはアクセススピードの異なる複数メカ形式のＡＴＡ／ＡＴＡＰＩ方式ディスクドライブでのシステム構成の例について説明する。
【０２１２】
図１７はアクセス速度の異なる二つのディスクドライブに適用した場合の構成を示すブロック図である。図１７の構成によれば、ディスクドライブ２１として、第１ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−１および第２ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−２を用いている。第１ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−１および第２ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−２は、ディスクアクセス速度あるいはディスクファイルシステムの互いに異なるＡＴＡ／ＡＴＡＰＩ方式のディスクドライブである。ＡＴＡホストインタフェース回路１７には、第１アドレス変換回路１７ａ−１および第２アドレス変換回路１７ａ−２を有して、それぞれ各ドライブの内部レジスタにメモリマップドＩ／Ｏ方式でアクセスするアドレス変換を行っている。メモリインタフェースコントローラ１８は、その内部に、それぞれ第１ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−１および第２ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−２に対応する、第１メモリインタフェースコントローラ１８−１および第２メモリインタフェースコントローラ１８−２を有している。また、データメモリ１９は、その内部に、第１ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−１および第１メモリインタフェースコントローラ１８−１と、第２ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−２および第２メモリインタフェースコントローラ１８−２とにそれぞれ対応して設けられた、第１データメモリ１９−１および第２データメモリ１９−２を有している。
【０２１３】
ここで、ディスクドライブ２１の二つのドライブについて説明する。
第１ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−１は、第１のディスクドライブを構成し、第１のファイルシステムを使用している。第１のディスクドライブの構成は、第１のヘッド搭載方式として磁気、光磁気、あるいは光記録方式の浮上スライダ式ヘッド搭載方式を使用し、第１のヘッド支持方式としてはジンバルおよびスイングアーム式ヘッド支持方式を使用し、第１のシークアクセス駆動方式としては、ボイスコイルモータ式駆動方式を使用し、ディスクトラック形式はゾーン化された同心円状トラック形式の固定式回転ディスクを使用した、ハードディスクなどの高速データ読み出し書き込み可能な、ＡＴＡ／ＡＴＡＰＩ方式ディスクドライブである。
【０２１４】
第２ＡＴＡ／ＡＴＡＰＩディスクドライブ２１−２は、第２のディスクドライブを構成し、第２のファイルシステムを使用している。第２のディスクドライブの構成は、第２のヘッド搭載方式として光磁気あるいは光記録方式の固定支持式ヘッド搭載方式を使用し、第２のヘッド支持方式としては光学焦点式およびリニアアクチュエータ式ヘッド支持方式を使用し、第２のシークアクセス駆動方式としては、リニアモータ式スライド駆動方式を使用し、ディスクトラック形式はゾーン化されたスパイラル状トラック形式のリムーバブルディスクを使用して、媒体への書き込み読み出しは比較的低速であってもスパイラルトラックにより連続して映像音声用途の連続データの読み出し書き込みに適した、ＤＶＤ−ＲＡＭ( 書き込み/ 読み出しが可能なＤＶＤ：Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）ディスクなどの、ＡＴＡ／ＡＴＡＰＩ方式ディスクドライブである。
【０２１５】
第１のディスクドライブが使用する第１のファイルシステムとして、本実施の形態では、ＦＡＴファイルシステムを使用する。第１のディスクドライブ内部の第１ディスクには、図示するようにディスクアドレスＬＢＡによってアクセスされるデータ領域があり、その中でＦＡＴおよびＦＡＴの続きを第１データメモリ１９−１に記憶して、第１の実施の形態の場合と同様に、ファイルアクセスに使用する。
【０２１６】
第２のディスクドライブが使用する第２のファイルシステムとして、本実施の形態では、ＵＤＦ（Ｕｎｉｖｅｒｓａｌ  Ｄｉｓｋ  Ｆｏｒｍａｔ）ファイルシステムを使用する。第２のディスクドライブ内部の第２ディスクの各レイヤ層には、それぞれリードインで始まり、リードアウトで終わり、論理ブロックアドレスＬＢＡでアクセスできるデータ領域がある。
【０２１７】
そのうちのレイヤ１を説明すると、図示するようにディスクアドレスＬＢＡによって示される論理ブロック領域があるが、リードインは読み出し専用情報が存在していてその末尾にはホスト側ユーザからは読み書きアクセス不可のリムーバブルディスク毎の欠陥補正情報を書き込むエリアが確保されている。ここはたとえば現在のＤＶＤ−ＲＡＭではＬＢＡで３０ＦＦＦｈまでである。
【０２１８】
リードインからリードアウトまでの間のデータエリアはホスト側からアクセスされ、繰り返し書き込み読み出し可能なデータ領域であって、ＤＶＤ−ＲＡＭでは３１０００ｈから始まるオフセット付きＬＢＡの論理ブロックアドレスでアクセスされる。
【０２１９】
ここで、リードイン内部の読み出し専用情報、リードイン内部にテーブルオブコンテンツ（ＴＯＣ：Ｔａｂｌｅ  ｏｆ  Ｃｏｎｔｅｎｔｓ）が存在するならばそのＴＯＣ、およびデータエリア内部にユーザテーブルオブコンテンツ（ＵＴＯＣ：Ｕｓｅｒ  Ｔａｂｌｅ  ｏｆ  Ｃｏｎｔｅｎｔｓ）が存在するならばそのＵＴＯＣとしての、ディスク容量およびファイルシステムによって必要なデータ量を保持できる約数千〜１万セクタ分のＬＢＡアドレス分の記憶データが、第２メモリインタフェースコントローラ１８−２を介してＡＴＡプロトコルでアクセスされ、第２データメモリ１９−２に書き込み保存され、かつ読み出しアクセスされる。この第２データメモリ１９−２に保存されたデータは、第１の実施の形態の場合と同様にして、ファイル化されたデータのアクセスに利用する。
【０２２０】
これにより、それぞれ方式の異なったディスクドライブであって、ヘッドアクセス速度仕様性能、使用するファイル形式が異なっている場合においても、ファイル化データの書き込み読み出しデータに特に時間連続性を必要とする映像音声データに対し、ファイル化処理にともなうヘッドシークアクセス発生による時間不連続が発生しないため、ディスクへの記録およびディスクからの読み出しを高速に行うことができる。
【０２２１】
次に、第３の実施の形態として、時間連続性を必要とするパケット形式で入出力される通信トランスポートストリームの映像音声データ信号に対して、ディスクへの記録の際には時間連続でこの映像音声データをファイル化して書き込み、この記録されたディスクからのファイル化された映像音声データの再生の際に、特に時間不連続な条件付きアクセスを実現するようなシステムの場合を例にして説明する。
【０２２２】
ここで、パケット形式トランスポートストリームに時間情報が含まれていない場合、あるいはその検出には複雑な方式ブロックを必要とする場合、データ記録中に別途記録時刻時計を用意して、ディスクへのデータ書き込みＬＢＡ位置情報と記録時刻との対照表を作成して、一連のデータ記録が完了した後でデータメモリ１９にこの情報をＵＴＯＣとして転送し、データの記録時刻を利用したディスクからの特殊な条件付き再生の際に、ＡＴＡプロトコルでアクセスできるデータメモリ１９を利用してＵＴＯＣを参照しつつヘッドシークアクセスによる時間不連続遅れの発生を減少させるパケット形式トランスポートストリーム映像音声データの再生システムを実現する。
【０２２３】
図１８は記録時刻の条件付き頭だし再生アクセスを可能とするシステムの構成を示すブロック図である。図１８の構成によれば、特に、映像音声データ入出力回路１６は、その内部構成として、データ入出力バッファ兼コントローラ部１６−１と映像音声データディスクアクセス表作成部１６−２とを有している。この映像音声データディスクアクセス表作成部１６−２はさらに、その内部構成として、ストリームパケットヘッダ検出部１６−１１と、ディスクアクセスＬＢＡ算出部１６−１２と、記録時刻時計（Ｒｅａｌ  Ｔｉｍｅ  Ｃｌｏｃｋ）１６−１３と、ディスクＬＢＡ記録時刻対照表作成部１６−１４とを有している。
【０２２４】
まず、記録再生する信号である、パケット形式のトランスポートストリーム信号のデータ構成とその信号がデコードされるための使用前提となるデコーダ仕様について説明する。
【０２２５】
デジタル放送受信チューナから得られたＭＰＥＧ２−ＴＳ（トランスポートストリーム）システム信号は、ＤＶＢ形式の信号（ＤＶＢ＝Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｂｒｏａｄｃａｓｔ）であって、圧縮信号の音声と映像とが１番組としてマルチプレクスされ、それを１番組として複数番組がマルチプレクスされた形式のストリーム信号である。そして、このデータは小さなデータサイズにパケット化されて伝送される。各番組は各パケット内に組み込まれる番組仕様情報コードのＰＩＤ（パケットＩＤ）で区別される。
【０２２６】
この１パケットデータが先頭同期バイトデータ４７ｈで始まる１８８バイト、そしてそれに続く不定データの１６バイトで構成されている。なおここで、４７ｈのバイトデータは先頭同期バイトデータに固有のデータではなく、伝送されるバイトデータにも存在しうるため、２０４バイト毎に存在する複数回の４７ｈの先頭同期バイトデータの検出確認により各パケットの先頭同期バイトデータと判別、認識する。この場合の複数回とは、たとえば５回連続検出などである。
【０２２７】
また、信号デコーダ部の仕様としては、可変長データ入力に対応していて、アンテナ受信での電波障害やチューナの番組チャンネルザッピング操作など、間欠的にトランスポートストリーム信号のデータおよび時間不連続が発生した場合にも対応して、不連続時間中は直前のデコード結果画像データ出力をそのまま静止画で出力し、再度入力データの連続性が回復すれば正常入力状態を確認した後にＭＰＥＧ２−ＴＳシステム信号の正常デコード動作を０．２秒以内など迅速に再開する動作機能仕様を有する、デジタル放送受信チューナデコーダに使用されるデコーダ部とする。
【０２２８】
また、この図１８の例では、図示はしないが、映像音声データ入出力回路１６に、パケット形式のトランスポートストリームデータの入出力系システムブロックとして、受信入力／ローカルデコード出力機能、あるいはローカルエンコード入力／ローカルデコード出力機能を有するシステムブロックを接続して使用することを想定している。
【０２２９】
たとえばデジタル放送受信チューナを使用する場合には、機器コネクタより出力される受信信号出力を接続してＤＶＢ放送方式に準拠するＭＰＥＧ２−ＴＳシステムストリーム信号として入力し、あるいはその逆方向に切り替えて機器コネクタから入力されるＤＶＢ放送方式に準拠する受信ＭＰＥＧ２−ＴＳシステムストリーム信号をデコードする機能のシステムブロックを受信チューナ内部に別途設けて、それを図１８の映像音声データ入出力回路１６に接続して出力する構成をとる。
【０２３０】
あるいはまた、通常映像音声信号入力をＭＰＥＧ２−ＴＳトランスポートストリームシステム信号にエンコードおよびマルチプレクスして入力する、あるいは機能を切り替えてその逆方向にデマルチプレクスおよびデコードして出力し通常映像音声信号出力する、システムブロックを図１８の映像音声データ入出力回路１６に接続して入出力する構成をとる。
【０２３１】
ここで、ディスクドライブへのパケット形式トランスポートストリームとしてのデジタル放送受信ＭＰＥＧ２−ＴＳシステムストリーム信号の映像音声連続データのディスクへの記録データ取り扱い単位サイズの決定方法を説明する。
【０２３２】
パケット形式のトランスポートストリームデータのＡＴＡ／ＡＴＡＰＩディスクドライブへの記録は、ディスク記録データのアクセスを容易化するために、通信系パケット単位をディスクデータのパケット単位であるセクタ単位に適合させる方法で記録する。
【０２３３】
現行ＡＴＡ／ＡＴＡＰＩ方式ディスクドライブでは、１セクタ＝５１２バイトであり、その毎回の転送は１回につき最大１２８ｋバイトであるから、第１のディスクデータのパケット化方法としては、ディスクの１セクタ単位の５１２バイトとパケット形式トランスポートストリームの２０４バイトとの最小公倍数の１０４４４８バイト（１９８００ｈバイト）単位を１ディスクパケット単位とする、すなわちパケット形式トランスポートストリーム信号のパケット単位とディスクのセクタ単位とを区切りをあわせて記録を行う方法を使用する。この方法は、セクタ単位での任意位置からのアクセスが容易になる効果を有する。
【０２３４】
あるいはまた、この最小公倍数の１０４４４８バイトを超えて１２８ｋバイト、すなわち１３１０７２バイト（２００００ｈバイト）までの間での２０４バイトの整数倍単位を１ディスクパケット単位として定める方法で記録を行う。
【０２３５】
この場合は、最終のセクタでは、セクタデータ転送途中でトランスポートストリーム繰返しデータ単位の２０４バイトの整数倍単位の終了に到達するが、その際には、そのセクタの残りのデータについては、アクセスを停止して、ＡＴＡ／ＡＴＡＰＩディスクドライブ内蔵の制御レジスタに新たにコマンドを書き直すことにより転送アクセス待ち状態を解除して、新たに次のセクタのデータ転送処理を用意する。
【０２３６】
このとき、１セクタの書き込み途中で書き込みを停止すれば、ディスクのこのセクタの残りのデータ部分にはディスクドライブ内部ファームウェアの働きにより自動的にフォーマットデータが書き込まれ、それらの１セクタデータ部全体に対してＥＣＣが付加されてセクタ書き込みが終了する。つまり、ディスク上のデータはセクタ単位に取り扱える記録データとなる。これにより、パケット形式トランスポートストリーム信号のパケット単位集合でのデータアクセスが容易になり、かつディスクからの連続データアクセスが容易になる効果を有する。あるいはまた、ＤＶＢ形式において、パケット形式トランスポートストリームの１パケット周期単位が１８８バイトの形式を選択する場合がある。その場合のディスクの１セクタ５１２バイトとの最小公倍数は、９６２５６バイトとなり、この場合はこれを１ディスクパケット単位として定める方法で記録を行う。
【０２３７】
データ入出力バッファ兼コントローラ部１６−１は、少なくともＡＴＡ／ＡＴＡＰＩ方式ディスクドライブの１回で転送できるデータサイズの最大である１２８ｋバイト単位の大きさとパケット形式トランスポートストリームの２０４バイトとの最小公倍数以上のメモリを複数有するバンクメモリであり、所定のパケット形式トランスポートストリーム転送サイズを転送するバンクメモリ単位時間毎に、片方のメモリに書き込みながら、バンクメモリを切り替えて外部からのデータを交互に取り込み取り出しする。図示しないパケット形式トランスポートストリームブロックからは時間連続で信号入力あるいは信号出力される。
【０２３８】
ここで、この１バンクメモリの切り替え単位時間を説明する。
本実施の形態での説明の場合、デジタル放送のＤＶＢ形式受信信号のＭＰＥＧ２−ＴＳトランスポートストリームシステム信号のとき、たとえばスカイパーフェクＴＶでは、１トランスポンダ帯域幅は約３３ＭＨｚあり、その受信ＭＰＥＧ２−ＴＳトランスポートストリームのシステム信号は、バイト単位パラレルデータ転送では、３．９５５５ＭＨｚクロックである。
【０２３９】
このため、最小公倍数１０４４４８バイト単位での書き込み読み出しの場合は（１０４４４８バイト／３．９５５５ＭＨｚデータクロック）約２６．４ミリ秒毎に１回周期で各バンクメモリに交互に各パケットデータ集合を書き込み読み出し、メモリの切り替えを行うことになる。
【０２４０】
また、１２８ｋバイト（１３１０７２バイト）に最も近く最大である、１パケット＋同期の２０４バイトの整数倍データサイズは、６４２個のパケット集合データであり、１３０９６８バイトである。この場合は、（１３０９６８バイト／３．９５５５ＭＨｚデータクロック）約３３．１ミリ秒毎に１回周期で各バンクメモリに交互に各パケットデータ集合を書き込み読み出し、メモリの切り替えを行うことになる。
【０２４１】
映像音声データディスクアクセス表作成部１６−２の内部構成としてのストリームパケットヘッダ検出部１６−１１は、デジタル放送受信チューナよりのＭＰＥＧ２−ＴＳ（トランスポートストリーム）システム信号であるＤＶＢ形式の信号のパケット先頭同期バイトデータを検出する。
【０２４２】
この信号は、１パケットデータが先頭同期バイトデータ４７ｈで始まる１８８バイトと、それに続く同期部の不定データの１６バイトとで構成されていて、かつ４７ｈのバイトデータは先頭同期バイトデータに固有のデータではなく、伝送バイトデータ内にも存在し得るため、２０４バイト毎に存在する複数回の４７ｈバイトデータの周期的検出確認により各パケットの先頭同期バイトデータと判別して、パケット先頭を認識する。この場合の複数回とはたとえば５回連続検出、などである。
【０２４３】
ディスクアクセスＬＢＡ算出部１６−１２は、ディスク開始位置の論理アドレスＬＢＡ書き込みレジスタをディスクドライブ内蔵レジスタと同じ２８ビット長さで有し、ＡＴＡ／ＡＴＡＰＩ方式のディスクドライブ２１へのレジスタ書き込み制御データ( ディスクアクセスＬＢＡ制御信号) を内部レジスタに並列に取り込み、ディスクドライブへのデータ集合書き込みアクセス開始位置をＬＢＡアドレスで取り込み、出力する動作を行う。
【０２４４】
ここで、取り扱うデータ集合としては、上述のパケット形式トランスポートストリームのパケットデータ＋同期部データの繰り返しデータ長さの２０４バイトに対して、セクタとの最小公倍数のデータ集合、あるいは１２８ｋバイト以内で２０４バイトデータの整数倍の最大値を１集合データとして、その転送開始毎にそのディスクアクセス開始位置アドレスＬＢＡをレジスタ取り込みする機能動作を有する。
【０２４５】
記録時刻時計１６−１３は、時、分、秒の時刻データを出力する時計であり、ディスクへのデータの記録の際に、毎回のＬＢＡでのデータ集合書き込み開始に対応して、ディスクアクセスＬＢＡ算出部１６−１２に対応する時刻データを出力する動作を行う。なお、ここで簡便にするために毎回のセクタ開始毎ではなくて５秒毎としてもよい。
【０２４６】
そして、ディスクＬＢＡ記録時刻対照表作成部１６−１４は、ストリームパケットヘッダ検出部１６−１１からはパケット形式トランスポートストリーム信号の入力が正常である検出信号を受け、ディスクアクセスＬＢＡ算出部１６−１２からは毎回のデータ集合のディスク書き込み開始位置アドレスＬＢＡデータを受け、記録時刻時計１６−１３からはその際の時刻データを受けて、これらデータを順次、ディスクＬＢＡ記録時刻対照表として配列データ形式で内部に記憶格納する。
【０２４７】
このように、パケット形式トランスポートストリーム信号をディスクドライブに記録する際に、ディスクＬＢＡと記録時刻との対照表を作成していき、一連のパケット形式トランスポートストリームデータの記録が完了した後に、ブリッジインタフェース回路１３はホストバス１４を介してディスクＬＢＡ記録時刻対照表作成部１６−１４から対照表のデータを読み出して、ＡＴＡホストインタフェース回路１７、メモリインタフェースコントローラ１８を介してデータメモリ１９に書き込む。これはＡＴＡプロトコルでアクセスされる、データメモリ１９上に確保されるユーザ内容テーブル、すなわちＵＴＯＣとなる。
【０２４８】
ここで、このＵＴＯＣのデータサイズを考察するならば、１時間（６０分）あたりの記録において、３３ミリ秒毎のデータ集合個数は約１０万９０００個であり、この場合は２５６セクタすなわち１２８ｋバイトデータに余裕をもって収納可能である。予めディスク記録容量サイズに対応して、ＵＴＯＣを記憶するためのデータサイズメモリを設けることとする。
【０２４９】
パケット形式トランスポートストリームデータをディスクドライブから条件付き再生（コンディショナルアクセス：Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ）を行う際には、各データ集合をＵＴＯＣに記載のＬＢＡアドレスに基づいて順次間欠的にデータ読み出しを行う。
【０２５０】
静止画再生の場合は、データ集合を読み出し再生してそのままデータ読み出しを中断させる。デコーダがデータ中断直前の画像を静止画として保持する。
条件付き頭だし再生では、ＵＴＯＣの時刻を参照することによって、間欠的な通常再生の繰り返しを行う。すなわち、あるＬＢＡ位置からの通常の５秒間のデータ読み出し再生を行って、その後、データ読み出しを中断してたとえば１分後の次の位置のＬＢＡアドレスにジャンプし（これは約１０ミリ秒程度で達成される）、次の位置の５秒間の通常再生を行う、ことを繰り返す。
【０２５１】
ユーザは頭だし通常再生として、５秒間の通常再生により内容を把握し、記録時刻間隔でこの場合の１分後の位置にアクセスができ、このパケット形式トランスポートストリームのシステム信号デコーダがデータ不連続から回復できる次の０．２秒後に、次の内容を通常再生で５秒間鑑賞する。すなわち、飛ばし見機能の実現となる。この飛ばし見の記録時刻間隔は条件付き再生制御プログラムによって設定変更するものとする。
【０２５２】
なお、図示しないこのデコーダがデータ不連続の後に連続データ入力によって正常デコード動作を回復する時間が０．２秒の場合、正常映像を出力したことを検出部を設けて検出して、その検出信号によって出力画像を静止画出力で保持しつつ、データ読み出しを停止してＵＴＯＣデータを参照して記録時刻で見て次の０．２秒位置のＬＢＡデータ位置にジャンプして、再度データ不連続の後の連続データ入力によってデコーダの正常デコード動作をこの０．２秒後に回復させ、その正常映像出力を検出して静止画出力を更新する、ことを０．２秒毎に繰返すことによって、１秒間に５枚（０．２秒おき）の静止画からなる動画像スロー再生を実現することを可能とさせる。
【０２５３】
これは、エラーなしデータが保証されているディスクドライブ用に仕様が定められたＭＰＥＧ２−ＰＳプログラムストリームと比較して、データ転送中にエラー発生の可能性があっても、それからの回復の迅速さを考慮しているＤＶＢ信号形式に対応するデコーダ仕様特性を利用して条件付き再生、特殊再生を実現するシステムである。
【０２５４】
次に、第４の実施の形態として、ディスクドライブの欠陥発生に伴う物理セクタのディスク上の物理的位置の置き換えが発生している場合に、ディスク上の距離位置の離れた交替セクタへの読み出しヘッドアクセスでデータ読み出し時間が不連続とならないようにした場合について説明する。
【０２５５】
図１９は交替セクタへの読み出しヘッドアクセスでデータ読み出し時間不連続の発生防止を説明する図である。図１９においては、ディスクドライブ２１と、メモリインタフェースコントローラ１８と、データメモリ１９とを備えて、一つの映像音声データ読み出し用ＡＴＡ／ＡＴＡＰＩ方式ディスクドライブを構成している。
【０２５６】
読み出しデータに時間連続性が必要とされる映像音声データ再生用のディスクドライブ２１に対して、ディスクドライブ２１に記録されたデータのうち、ディスクのセクタ単位での欠陥発生に対しては、これに対応して記録セクタの物理的記録場所の置き換えであるセクタ交替処理を行って記録されている。
【０２５７】
これらは製造時に検出した欠陥セクタの欠陥リスト（Ｐリスト）、使用時に増加する欠陥セクタの欠陥リスト（Ｇリスト）の、論理ブロックアドレスＬＢＡに基づいてドライブ内部ファームウェア制御によってセクタ置き換え処理が行われている。ここで、欠陥リストとしては、たとえばゾーンレコーディング方式のディスクにおいては、小規模な欠陥発生セクタをスキップして各データセクタの物理的位置の前後順序が維持されるスリッピング（Ｓｌｉｐｐｉｎｇ）置き換え処理に対応する欠陥リスト（Ｇ１リスト）と、連続する比較的大きな欠陥発生セクタを各ゾーンの最終部毎に設けられているスペアエリアに置き換えてセクタの物理的位置の前後順序が入れ替わっても論理ブロックアドレス番号はリニアに維持するリニア（Ｌｉｎｅａｒ）置き換え処理に対応する欠陥リスト（Ｇ２リスト）とがある。ここで、論理ブロックアドレス番号順に読み出す場合には、リニア置き換え処理された部分のデータセクタを読み出す際には、ヘッドアームのシークが発生していた。
【０２５８】
ここで、ディスクドライブ２１に対して、ディスクドライブ２１内部にメモリインタフェースコントローラ１８とデータメモリ１９とを含めて設ける構成とする。
【０２５９】
これらセクタ欠陥によってディスク上のセクタのＬＢＡアドレス番号はそのままにこのセクタの物理的記録場所が置き換え処理される。セクタ交替処理されたセクタ群に対して、ドライブ内部システムファームウェアのソフトウェア制御により、電源パワーオン起動時に内蔵するメモリインタフェースコントローラ１８に対して制御することによって、セクタ交替処理で置き換えたセクタ群のＬＢＡアドレス範囲に対応するセクタ単位で内蔵するデータメモリ１９にセクタデータをあらかじめ転送して、ドライブ外部からのデータ読み出しの用意をする。
【０２６０】
データ読み出しに際しては、欠陥セクタの置き換え処理をされた交替セクタに該当するＬＢＡアドレスのセクタデータの読み出しアクセスでは、ヘッドアームを実際に物理的なシークをして交替セクタを読み出すのではなく、ドライブ内部のメモリインタフェースコントローラ１８を介してデータメモリ１９にアクセスしてセクタデータを読み出す。このため、ディスクドライブ２１のヘッドアームのシークは発生しないために、シークによるデータ読み出し時間不連続発生をなくすことができる。
【０２６１】
電源パワーオン時にメモリインタフェースコントローラ１８を介してデータメモリ１９に欠陥セクタデータを転送し、ディスクドライブ２１からの映像音声データ読み出しのときに、交替セクタのセクタデータ読み出しアクセスをメモリインタフェースコントローラ１８を介してデータメモリ１９に行うようにしたことにより、読み出しデータに時間連続性が必要とされる映像音声データ再生に適したデータ読み出し動作を有するディスクドライブ構成とすることができる。
【０２６２】
以上、本発明をその好適な実施の形態をもとに説明したが、本発明はこれら特定の実施の形態に限定されるものではない。
たとえば、上述の実施の形態の説明では、ＤＯＳ互換ファイルシステムに対応したアクセスインタフェース装置とアクセス方法とについて説明したが、本発明は、ＦＡＴのように、ディスク上の所定の論理ブロックアドレス範囲をファイルアクセスのためのファイル配置表（ＦＡＴ）として集中して使用するような各ファイルシステムによって書き込み読み出しをする場合にも、同様に適用することができ、それら各ファイルシステムを採用したその他の各種ＯＳによれば、映像音声連続データの書き込み読み出しにおいて、ファイル化されたデータをＦＡＴとともに書き込み読み出ししてもシークによる時間不連続の発生しない高速なデータ転送を実現することができる。このＯＳとは、たとえば民生機器用の組込み用途の各ＯＳである。
【０２６３】
また、本発明はその実施の形態として、論理ブロックアドレスでアクセスするハードディスクの例で説明したが、これと同様に、回転するディスクを用いる論理ブロックアドレスでアクセスするディスクデバイスならば、リムーバブルディスク、光ディスク、光磁気ディスクへのファイル化した連続データの書き込み読み出しに適用して同様の効果を得ることができる。
【０２６４】
また、本発明はその実施の形態における説明として、ＡＴＡ／ＡＴＡＰＩ−４インタフェースを使用するディスクドライブについて説明したが、ＡＴＡ／ＡＴＡＰＩ−４の将来の機能拡張されたインタフェースを有するディスクドライブ、さらにはＩＥＥＥ１３９４や、ＡＴＭ（非同期転送モード）などのネットワークバスとのブリッジ機能をそのインタフェースに追加で有するディスクドライブにも同様に適用して効果を得ることができる。
【０２６５】
また、このディスクドライブのインタフェースに外部とのディジタルデータ送受信を光で行うための光１３９４インタフェースや、ＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）空間伝送インタフェースを光電変換部として追加で有するディスクドライブにも同様に適用して、連続したデータをファイル化しての書き込み、読み出しを必要とするポータブル通信マルチメディア用途にも同様の効果を得ることができる。
【０２６６】
【発明の効果】
以上説明したように本発明では、バッファ部から出力されるパケット形式のトランスポートストリーム信号を、このトランスポートストリーム信号における１パケットのデータサイズの整数倍であって、この１パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上であり、ディスク記録媒体での１回の最大転送データサイズ以下の値であるディスクパケット単位で、ディスク記録媒体へ記録するようにしたので、ディスク記録媒体における高速な連続データの書き込み読み出しが可能になる。
【図面の簡単な説明】
【図１】本発明のディスク媒体アクセスインタフェース装置の原理構成を示した図である。
【図２】ハードディスクドライブに適用した場合の全体構成を示すブロック図である。
【図３】ＣＰＵのアドレス配置マップ例を示す図である。
【図４】ＤＯＳ互換ファイルシステムのファイル管理情報およびデータ領域の位置を示す図である。
【図５】メモリインタフェースコントローラの構成を示すブロック図である。
【図６】アドレス変換の例を説明する図であって、（Ａ）はアドレスデコード元のＣＰＵアドレスを示し、（Ｂ）はＡＴＡホストインタフェース回路がアクセスするアドレス変換後のデバイス入力アドレス信号とデバイス内部レジスタとの関係を示している。
【図７】アドレス・制御信号生成用メモリインタフェースコントローラの内部構成を示すブロック図である。
【図８】アドレス比較経路切り替え制御部の構成を示す図である。
【図９】ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理の流れを示すフローチャートである。
【図１０】ファイルシステムで１ファイルデータとして連続する各フレーム映像音声データをファイル化して読み出し書き込みする処理の流れを示すフローチャートである。
【図１１】ホストバス側のデバイスからのＰＩＯデータ読み出し処理の流れを示すフローチャートである。
【図１２】ホストバス側のデバイスからのＰＩＯデータ書き込み処理の流れを示すフローチャートである。
【図１３】ホストバス側のデバイスからのＤＭＡデータ転送処理の流れを示すフローチャートである。
【図１４】ＰＩＯ読み出し動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。
【図１５】ＰＩＯ書き込み動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。
【図１６】ＤＭＡデータ転送動作によるメモリインタフェースコントローラのデータ転送の動作説明図である。
【図１７】アクセス速度の異なる二つのディスクドライブに適用した場合の構成を示すブロック図である。
【図１８】記録時刻の条件付き頭だし再生アクセスを可能とするシステムの構成を示すブロック図である。
【図１９】交替セクタへの読み出しヘッドアクセスでデータ読み出し時間不連続の発生防止を説明する図である。
【図２０】パーソナルコンピュータのファイルシステムを説明するための図である。
【図２１】光ディスクのファイルシステムの例を説明するための図である。
【図２２】メモリカードのファイルシステムの例を説明するための図である。
【符号の説明】
１……ディスク媒体アクセスインタフェース装置、２……ディスクストレージ手段、３……メモリ手段、４……第１のアクセス手段、５……第２のアクセス手段、６……メモリアクセス制限手段、７……記憶保持手段。
【図１】
0004310821.tif 000002
【図２】
0004310821.tif 000003
【図３】
0004310821.tif 000004
【図４】
0004310821.tif 000005
【図５】
0004310821.tif 000006
【図６】
0004310821.tif 000007
【図７】
0004310821.tif 000008
【図８】
0004310821.tif 000009
【図９】
0004310821.tif 000010
【図１０】
0004310821.tif 000011
【図１１】
0004310821.tif 000012
【図１２】
0004310821.tif 000013
【図１３】
0004310821.tif 000014
【図１４】
0004310821.tif 000015
【図１５】
0004310821.tif 000016
【図１６】
0004310821.tif 000017
【図１７】
0004310821.tif 000018
【図１８】
0004310821.tif 000019
【図１９】
0004310821.tif 000020
【図２０】
0004310821.tif 000021
【図２１】
0004310821.tif 000022
【図２２】
0004310821.tif 000023