JP4310821B2 - 情報記録装置および方法 - Google Patents
情報記録装置および方法 Download PDFInfo
- Publication number
- JP4310821B2 JP4310821B2 JP16512998A JP16512998A JP4310821B2 JP 4310821 B2 JP4310821 B2 JP 4310821B2 JP 16512998 A JP16512998 A JP 16512998A JP 16512998 A JP16512998 A JP 16512998A JP 4310821 B2 JP4310821 B2 JP 4310821B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- memory
- address
- sector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、ディスク記録媒体に情報を記録する情報記録装置および方法に関し、特に、パケット形式のトランスポートストリーム信号を記録する情報記録装置および方法に関する。
【0002】
【従来の技術】
従来の記録技術の一般技術としては、高密度記録技術の急速な進展により、回転式記録再生ディスク媒体は映像信号の記録媒体としての能力を備えるようになってきた。とりわけ、ハードディスクは高速なランダムアクセスが行えることから、インタラクティブな映像の取り扱いやノンリニア編集など、テープ媒体のビデオテープレコーダではできない機能を実現でき、マルチメディア、マルチフォーマット時代の記録媒体として期待が大きい。ディスク媒体は、放送用途のノンリニア編集システム、ビデオサーバなどだけでなく、家庭用途のパーソナルコンピュータとディジタルビデオ編集との融合による利用の実現にも不可欠である。しかし、ハードディスクはコンピュータの外部記録媒体として発達してきたため、映像用記録媒体として見ると、データ転送を連続的でないと想定しているために、書き込み読み出しのファイルアクセスの際にファイルシステムのFAT、ディレクトリに、ディスク媒体上の論理ブロックアドレス位置情報として、ファイルシステムの取り扱うクラスタ単位のファイル先頭位置およびファイルデータが書き込まれているクラスタの連続関係を書き込んでいる。
【0003】
従来の映像音声入出力データのファイルアクセス方式として、いくつか知られている。その例を以下に示す。
図20はパーソナルコンピュータのファイルシステムを説明するための図である。ここでは、第1のファイルアクセス方式として、MS−DOSやWindows(ともにマイクロソフトの商標)の高機能OS(オペレーティングシステム)を搭載しているパーソナルコンピュータの場合について説明する。パーソナルコンピュータはCPU(中央演算処理装置)101を有し、このCPU101はブリッジIC(集積回路)102を介してホストバス103に接続されている。そのブリッジIC102はメインメモリ104に直接接続されている。また、ホストバス103はATA(AT Attachment)ハードディスクインタフェース105を介してATA方式のハードディスクドライブ106に接続されている。
【0004】
このような構成のパーソナルコンピュータでは、CPU101がブリッジIC102を介してホストバス103にアクセスすると同時に、同じくブリッジIC102を介してメインメモリ104にアクセスする。メインメモリ104上では、ファイルシステムを有する高機能OSと映像音声データ取り扱いプログラムとが展開されており、また、ハードディスクドライブ106のディレクトリ、FATデータの書き込み読み出し期間中の更新データはメインメモリ104上に設けたキャッシュ領域に書き込んで使用され、データ転送が終了したらキャッシュ内容をハードディスクドライブ106のディスク媒体に書き込む動作をさせている。一方、ホストバス103はATAハードディスクインタフェース105を介して、ハードディスクドライブ106にアクセスし、データの書き込み、読み出しをする。この際に、ハードディスクはDOS互換形式のファイルフォーマットでフォーマットされて使用されている。
【0005】
次に、特開昭54−40046号公報に記載のような別のファイルアクセス方式について説明する。
図21は光ディスクのファイルシステムの例を説明するための図である。第2のファイルアクセス方式として、CD−ROM(コンパクトディスクを利用した読取り専用メモリ)などに書き込まれたデータファイルのディスク再生読み出しにおいてのファイルアクセス方式について説明する。ディスク111を再生読み出しする装置は制御部112とRAM(ランダムアクセスメモリ)113とから構成されている。
【0006】
ここで、ディスク111に書き込まれたデータファイルを再生読み出しするときは、制御部112はまず、ディスク111からTOC(Table Of Contents)をRAM113上に読み出す。このとき、TOC内容はセクタ番号とトラック番号とのマトリックスアドレスにした大分類、中分類、小分類で読み出され、ディスク111のアドレスとRAM113のアドレスとが対応させられている。制御部112からサーチ命令がきたらまず、RAM113がアクセスされ、メモリ上でそのファイルのアドレス位置が大分類、中分類、小分類とサーチされ、そのファイルのトラック番号とセクタ番号とが取得される。そして、その取得したトラック番号およびセクタ番号をもとにそのアドレスに対応したディスク111上のファイルデータがアクセスされることになる。
【0007】
次に、第3のファイルアクセス方式として、メモリカード用のファイルアクセス方式について説明する。
図22はメモリカードのファイルシステムの例を説明するための図である。メモリカード用のファイルシステムは、CPU121、メインメモリ122、バス123、メモリストレージインタフェース124、およびメモリストレージ125から構成される。
【0008】
CPU121はメモリストレージインタフェース124を介してメモリストレージ125にアクセスするが、その場合のファイルシステムは、高機能OS用のファイルシステムとは異なった簡単なファイルシステムの構成となっており、ディレクトリ、FATデータをメインメモリ122上に別途キャッシュ領域を設けず、そのままメモリストレージ125に書き込んでいる。これはメモリストレージ125ではどの番地にアクセスしてもアクセス待ち時間不連続は大差なく、実用上時間不連続が発生しにくいこと、および、使用するCPU構成によって異なるアドレスマップ上の別領域に割り当てられたメモリにディレクトリ、FATデータのためのキャッシュ領域を確保して、ディレクトリ、FATの内容更新毎にメモリストレージ125からメインメモリ122上のキャッシュ領域にアクセス先を切り替えてアクセスするようなファイルシステムを使用した高機能OSが必要ないことに起因する。
【0009】
ところで、ハードディスクは、インタフェースとディスクドライブとから構成され、ホストバスを介してCPUから制御されることでデータの記録再生を行うことができる。ハードディスクはコンピュータの外部記憶装置として発達してきたため、論理ブロック毎のバースト的なデータが誤りなく、効率よく書き込み読み出しデータ転送できるように設計されている。また、DOS互換のディスクファイルシステムもこの用途に適合するように論理ブロック単位での迅速なランダムアクセスが可能なように構成されている。このため、ハードディスクを映像音声データ信号のような連続データの記録再生用途には必ずしも適しているとはいえない。
【0010】
つまり、映像音声信号は、コンピュータデータと比較すると連続転送を要求されるビットレート(サステインレート)が高く、データサイズの極めて大きいブロックフレーム単位のシーケンシャルデータであるという性質がある。ファイル化された映像音声データのディスクシステムの実現には、高画質の映像をリアルタイムで記録再生する、映像信号の連続性を保証する、安価でコンパクトにする、従来および将来的な互換性、拡張性を維持する、という各条件を満足する必要がある。
【0011】
ここで、リアルタイムで処理するには、映像が高画質であるほど、高ビットレートの信号を記録再生できなければならない。データの入出力や転送においては、映像の基本ブロックサイズ(たとえば1フレーム、1パケットで、たとえば数100Kバイト単位)のデータ量を基準時間(たとえば1/30秒あるいは数分の1秒)以内に確実にデータ転送処理し終える必要がある。インタフェースおよびディスクドライブにおいては、映像信号の性質に適した信号処理を行い、各デバイス性能を十分に生かすことで、省電力かつ簡素なデバイス構成で安価かつコンパクトなシステムを実現する必要がある。そして、インタフェースは幅広いホストコンピュータとの接続性(互換性)や将来的なシステムの拡張性を確保するために、コンピュータの標準規格(ATAプロトコルなど)に準拠させる必要があり、映像音声信号は家庭用ディジタルビデオ信号として本格普及開始され定着したインタフェース規格であるIEEE1394 DV方式、あるいはMPEG(Moving Picture Experts Group)2ストリームに準拠させる必要がある。
【0012】
すなわち、家庭内で効率よく高品質な映像音声連続データ信号の編集を行えるパーソナルコンピュータと融合したディスクシステムとして、高品質高ビットレートのディジタルビデオ信号などの映像音声連続データを効率よくリアルタイムで記録再生できる映像音声データのディスクシステム構成においては、ディスクドライブとそのアクセス方法、映像音声記録データ信号は、ディスク記録再生用に特殊な使い方ではなく、ファイルシステム形式のコンピュータデータと同一ドライブ仕様の同一ファイルシステム形式でそのままファイル化された映像音声データ記録信号の連続読み出し書き込みに対応させる必要がある。
【0013】
ハードディスクを映像音声連続データ記録デバイスとして使用する場合に、DOS互換ファイルシステムなどのファイル化された記録が望まれる。このときに、DOS互換ディスクファイルシステムは、連続データ書き込み読み出しの途中で、クラスタチェーンなどの所定のデータサイズ単位毎にストレージデバイスに対して記録あるいは再生するたびに、ディレクトリ、FATへの書き込み、読み出しによるデータ更新を行う必要がある。
【0014】
ディスクデバイス用のDOS互換ファイルシステムのファイル形式は、ファイル形式のパラメータを記述したブートレコード、後述のディレクトリで指定される各ファイルの開始クラスタ番号から同一ファイル内で連続する複数のクラスタ番号チェーンを順次記述するFAT、このファイルの開始クラスタ番号を記述するディレクトリ、そしてユーザが使用できるユーザデータ領域を設けている。ここで、長いデータサイズのファイルをアクセスする際には、ユーザデータが複数クラスタ領域にわたり、クラスタを越える毎にFATチェーンの更新を行う。ファイルシステムの動作は、各クラスタにファイルデータを読み書きするのを完了した後、ディレクトリで指定されたファイルのエントリポイントのFATチェーンの末尾に新たな次のクラスタ番号を書き込んで、新しいクラスタを使用する。この操作はユーザデータがクラスタを越えて読み書きするごとに繰り返えし行われる。
【0015】
各クラスタはファイルシステムが定めるディスク上の各セクタの複数集合単位の論理ブロック単位であり、テキストデータなどのランダムアクセスデータをも迅速にアクセスするために、連続映像音声データの長さから比較すれば極めて小さいデータブロックサイズである各セクタ(ATAドライブの場合は、1セクタ=512バイト)の整数倍、たとえば8kバイトあるいは16kバイト、32kバイトなどに定めている。このため、連続映像音声データをDOS互換ファイルシステムの制御手順にもとづいてファイル化された連続データとして書き込み読み出しする際にもクラスタ単位で連続で行われ、上述のかなり小さいデータサイズであるクラスタ単位毎に、ファイルの連続データの書き込まれているユーザデータ領域とはディスク上で物理的に距離の離れたFAT、ディレクトリの含まれる領域への読み出し書き込みヘッドアーム部の物理的なアクセスが頻繁に発生する。
【0016】
ここで、ディスクのファイル位置を論理ブロック単位で示すFAT、ディレクトリはそのディスクフォーマットにおいて、起動の際の読み出し管理の都合上、所定の論理セクタ位置に集中して配置されている。なお、DOS互換ファイルシステムにおいて、サブディレクトリを設けたり、論理区画を設けることによって、ユーザデータ領域にディレクトリ管理情報が分散することもある。この情報はブートレコード、ディレクトリ情報に記載されているデータにもとづきアクセスすることによって利用される。
【0017】
現在市販されている通常のハードディスクドライブの例としては、回転数は毎分5400rpm(=1回転につき約11.1ミリ/秒)、ディスクのあるトラック部分から別のトラック部分への1方向の平均アクセス時間が約10ミリ秒かかるものがある。
【0018】
ここで、FAT内のクラスタチェーンの更新があると、ディスク読み出しヘッドの搭載されたヘッドアーム駆動部は、データ領域から物理的に離れた位置にあるFAT領域への物理的なアクセスを行う。そして、トラック上の目的の論理セクタにアクセスするためには、1回転するのに要する時間が平均約11ミリ秒ならば、回転待ち時間として平均してその半分の約5.5ミリ秒かかる。さらに、そこから元のトラックに戻るまでにも同じ時間がかかり、合計で平均約31ミリ秒前後の時間不連続が発生する。これは理想的な動作の場合であって、これ以外にトラッキング整定時間なども考慮が必要となる。他方、ハードディスクとのCPUのデータ転送の観点から見ると、データ転送にはコマンドのドライブへの書き込みのために所定のコマンドコードをドライブ内蔵レジスタに書き込んでドライブの応答を待ってからデータ転送を開始するので、コマンド発行のための時間に約300マイクロ秒かかり、ドライブの内部データバッファとホストインタフェースとのデータ転送レート能力は最大で33Mバイト/秒である。しかしながら、ドライブのディスク媒体と内部データバッファとの間の平均連続データの転送レートは約6Mバイト/秒〜12Mバイト/秒程度、すなわち、200K〜400Kバイト/33.3ミリ秒である。
【0019】
ここで、例として連続映像音声データのデータサイズと時間周期単位をそれぞれ128kバイトで1/30秒の場合を考える。
たとえば映像音声の1フレームデータが1クラスタのデータサイズの場合であっても、クラスタ毎に一旦FATのクラスタチェーンデータの更新の読み書きのためにアームのアクセスおよびセクタの回転待ち時間が発生すると、そのFATの読み書きでのクラスタチェーンのデータ更新が終了して元の位置に戻って連続映像音声データの読み書きを続ける場合には、その間に約30ミリ秒の時間不連続が発生し、映像音声データの1フレーム時間である各1/30秒以内に各1フレームデータを転送し終えることは実際には不可能となる。映像音声の1フレームデータが128Kバイトであり、1クラスタが32kバイトであれば少なくとも4回のヘッドアームアクセスが発生し、そのために120ミリ秒の時間不連続が存在する。この時間不連続は、現在のドライブデータ転送速度のボトルネックとされ、将来改善されるであろう、ディスクドライブのディスク・ドライブ内蔵バッファ回路間の転送速度がたとえ2倍以上に向上したとしても、依然として存在するものである。
【0020】
また、例として連続映像音声データのデータサイズと時間周期単位とがそれぞれ512kバイトで0.5秒の場合を考える。たとえば、圧縮率が高く各圧縮データ単位の処理必要時間が約1/2秒となり、転送レートが比較的低いMPEG2の映像音声データなどでも、この処理時間内で複数連続データの並列処理により並行してデータ転送を行う場合や1データブロックが約512kバイトなどの大きなサイズにまとめて約0.5秒の時間単位内で読み書きするには、1クラスタが32kバイトであれば、同様に考えて、16回のヘッドアームアクセス、すなわち、平均480ミリ秒の時間不連続が発生することになる。残りの20ミリ秒で512kバイトを読み書きするためには、26Mバイト/秒の高いディスク・ドライブ内部バッファ間の連続データ転送レートの性能仕様が必要とされるために、FATチェーン更新のためのヘッドアームアクセスが発生すると、約0.5秒の時間単位内にリアルタイムに連続映像音声データを読み書きすることをディスクドライブで実現することは障害となる。
【0021】
【発明が解決しようとする課題】
上記の第1のファイルアクセス方式として述べた汎用高機能OSであるWindows−OS搭載のパーソナルコンピュータの例においては、OSに、CPUが扱うことのできる大容量のメインメモリが必要とされている。たとえばWindows95(マイクロソフトの商標)においては、動作させるには16Mバイト以上のメインメモリが望まれている。ここで、メインメモリには高機能なOSを有し、映像音声データ入出力を取り扱うプログラム、ファイルシステムの他に、システムツールによってファイルシステムのFAT、ディレクトリの更新データをキャッシングするためのキャッシュ領域を設けることができる。しかし、この他にディスプレイドライバ、キーボードドライバ、マウスドライバ、各内蔵デバイスドライバの多数のタスクの並列処理のために、絶えず多数のシステムコール割り込み処理がかかってしまうために、映像音声データ入出力デバイスとハードディスクだけでホストバスを占有できず、そのたびに時間の不連続が発生してしまうという問題点がある。これを解消するには、映像音声データ転送中はディスプレイなどの割込みサービスを禁止させてホストバスを占有するようにOSやコンピュータアーキテクチャ自体を変更してしまうか、それとも転送レートが133Mバイト/秒と極めて高速なPCI(Peripheral Component Interconnect)バスへの映像音声データ取り込みおよび高速連続転送に際してドライブ内部処理であるディスク上の目的の論理セクタへのアクセス処理時間中にホストバスを解放して映像音声データ転送処理のバッファ処理を平行して行え、かつコマンドのタグ付きキュー機能を有することにより割込み処理に対してインテリジェントに実行待ちをかけて高速処理を行える高機能かつ最適化されたSCSI(small computer system interface)方式のUltraWide−SCSIドライブ、あるいはディスクアレイに組んだ高価なSCSIハードディスクシステムなどを使用して、データ転送レート自体を飛躍的に改善しかつデータ転送プロトコル自体を高機能なものにするしかなく、いずれも実現困難あるいは実際のデータ転送に必要な転送データレートからみると高価かつ高機能で大規模なハードウェアを必要とするものであった。
【0022】
また、上記の第2のファイルアクセス方式においては、再生読み出しにおいて、メモリ上にトラック番号とセクタ番号とを読み出してファイル先頭位置を見つけることでディスク上のファイル先頭位置が迅速に検索できるが、ファイルシステムを使用するときには、ディスク媒体へのファイルデータ読み出し途中のクラスタ単位でのFATチェーンへのアクセスを検出することはできなかった。ファイルシステムはディスクデバイスに対して構成されている。ここで、ディスクデバイスへのディスクアクセスプロトコル処理の流れの途中に、ディスクへのアクセスプロトコル処理に対応していないメモリデバイスにディスクプロトコルでアクセスしても、メモリデバイスは期待するディスクアクセスプロトコルに応答するインタフェースハードウェアを備えていないために、処理エラーが発生してストップしてしまい、使用できなかった。単にディスクのファイルデータの先頭位置をトラック番号およびセクタ番号で調べることができるだけであり、一旦ディスクへのアクセスプロトコルが開始されてしまうと、ファイルシステムの読み出しが終了するのを待たねばならなかった。これは所定の時間毎に、データサイズの大きな長時間連続する映像音声データを、汎用のDOS互換ファイルシステムを使用してディスクアクセスプロトコルによって連続してディスクドライブとの書き込み読み出しデータの転送処理には使用できないことを意味する。
【0023】
さらに、上記の第3のファイルアクセス方式は、メモリカードにディスク用のDOS互換ファイルシステムを搭載したものである。これはメモリストレージ内のファイルフォーマットをディスクと同様にし、ディスクファイルシステムを論理ブロックであるセクタの複数集合のクラスタ単位で扱うようにしている。これはメモリストレージ上にFAT、ディレクトリを作成しておいて、FAT、ディレクトリへのアクセスをどのタイミングで行っても、連続する任意アドレスのクラスタ、論理セクタへのデータアクセスに待ち時間の不連続バラツキ制限がないということを利用したファイルシステムであり、ホスト側のメインメモリにDOS互換ファイルシステムのFATクラスタチェーンデータ更新のキャッシュ領域の確保機能を要求する高度なOS機能を必要とするものではない。
【0024】
すなわち、このメモリストレージのファイルシステムは、ディスクデバイスにおける、ディレクトリおよびFATが集まっている論理セクタのクラスタ集合領域にヘッドアーム部がアクセスするために発生する不連続時間を考慮したものではない。このため、このファイルシステムでディスクデバイスに映像音声データを書き込もうとすると、静止画のように映像音声データの書き込み読み出しの処理すべき所定時間が決められておらず、書き込み読み出しに十分な時間が確保できるような用途でしか使用できない。すなわち、このファイルシステムでディスクドライブに映像音声連続データを書き込み読み出しするには、このメモリストレージ用のファイルシステム自体を作り直して、連続データの読み書きをする際にはDOS互換ファイルシステムを切り替えて、大きなアクセス単位でアクセスできる新規のファイルシステムを新たに構築して別途用意し、これを切り替えて使用することが必要になる。ファイルシステムの構築は困難な作業であり、また、同じDOS互換ファイル化の目的のファイルシステムを2つ同時に保有することは冗長であり、しかも用途に応じて使い分ける判断処理作業を必要とする。
【0025】
また、特に携帯端末や民生用途に使用するためには、大容量メモリと大電力消費のCPUを使用したパーソナルコンピュータによる処理は本来電力消費とコスト面で不利であり、加えて、データ書き込み読み出しアクセス部の頻繁なアクセス駆動は電力消費を増大させてしまうという問題点がある。
【0026】
本発明はこのような点に鑑みてなされたものであり、ディスク記録媒体における高速な連続データの書き込み読み出しを可能にした情報記録装置および方法を提供することを目的とする。
【0027】
【課題を解決するための手段】
本発明によれば、パケット形式のトランスポートストリーム信号が入力される信号入力部と、前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号を一時的に記憶するバッファ部と、前記バッファ部より出力された前記パケット形式のトランスポートストリーム信号をディスク記録媒体へ記録する記録部と、前記パケット形式のトランスポートストリーム信号における1パケットのデータサイズの整数倍であって、当該1パケットのデータサイズと前記ディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での1回の最大転送データサイズ以下の値であるディスクパケット単位で、前記パケット形式のトランスポートストリーム信号を前記バッファ部に書き込むとともに、前記バッファ部から前記ディスクパケット単位で読み出して前記ディスク記録媒体へ記録するように制御する制御部と、を有することを特徴とする情報記録装置が提供される。
【0028】
上記構成によれば、パケット形式のトランスポートストリーム信号が、信号入力部を介してバッファ部に入力されて、一時的に記憶される。このとき、パケット形式のトランスポートストリーム信号は、制御部の制御により、このトランスポートストリーム信号における1パケットのデータサイズの整数倍であって、この1パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上であり、ディスク記録媒体での1回の最大転送データサイズ以下の値であるディスクパケット単位で、バッファ部に書き込まれる。また、バッファ部より出力されたパケット形式のトランスポートストリーム信号は、記録部によりディスク記録媒体へ記録される。このとき、パケット形式のトランスポートストリーム信号は、制御部の制御により、バッファ部からディスクパケット単位で読み出され、ディスクパケット単位でディスク記録媒体へ記録される。
【0029】
【発明の実施の形態】
図1は本発明のディスク媒体アクセスインタフェース装置の原理構成を示した図である。ディスク媒体アクセスインタフェース装置1は、ディスクストレージ手段2の回転式のディスク媒体に対してデータの読み書きを行うものであって、メモリ手段3と、このメモリ手段3に対してアクセスする第1のアクセス手段4と、ディスクストレージ手段2に対してアクセスする第2のアクセス手段5と、メモリ手段3へのアクセス期間を制限するメモリアクセス制限手段6と、電源供給が遮断されてもメモリ手段3の内容が消えないようにする記憶保持手段7とを備えている。
【0030】
メモリ手段3はディスクストレージ手段2のディスク媒体に配置されるデータに関する情報を記録・管理している管理領域の管理情報をディスク媒体からあらかじめ写して記憶しておく。このメモリ手段3は、あるセクタ単位で書き込み読み出し可能であり、かつ使用するディスク媒体と同一のディスクインタフェースのアクセスプロトコルに準拠したメモリインタフェースハードウェアを設けている。ここで、ディスクストレージ手段2に対してデータの読み書きを行うときは、第1のアクセス手段4によりメモリ手段3にアクセスして読み書きの準備を行う。このとき、メモリアクセス制限手段6は計時を開始し、所定時間経過後に第1のアクセス手段がメモリ手段へアクセスする論理ステートをリセットする。その間に読み書きの準備は完了し、第2のアクセス手段5はディスクストレージ手段2へのアクセスが可能になって、連続したデータ転送が行われる。これにより、メモリ手段3とディスクストレージ手段2のディスク媒体とは一つの連続した論理ブロック集合とみなすことができ、一つのディスクドライブとしてアクセスが可能になる。したがって、ディスクストレージ手段2では、クラスタ単位のデータ転送ごとに発生する管理領域へのヘッドアームのアクセスがなくなり、ファイルシステムを用いて映像音声データをディスクストレージ手段2へ連続してデータ転送することが実現される。データ転送終了後、適当な時期にメモリ手段3の記憶内容はディスクストレージ手段2のディスク媒体の所定の管理領域に書き戻される。また、記憶保持手段7を備えたことにより、電源供給が遮断されても、メモリ手段3に記憶された管理情報はそのまま保持されるので、管理情報のディスク媒体への書き戻し操作を省略あるいは書き戻しの頻度を低減することができる。
【0031】
次に、本発明の実施の形態を、連続した映像音声データを記録再生するハードディスクドライブに適用した場合を例にして説明する。
図2はハードディスクドライブに適用した場合の全体構成を示すブロック図である。図2において、CPU11はCPUローカルバス12を介してブリッジインタフェース(I/F)回路13に接続され、このブリッジインタフェース回路13はホストバス14に接続されている。ホストバス14には、メモリ(RAM)15、映像音声データ入出力回路16およびATAホストインタフェース回路17が接続されている。ATAホストインタフェース回路17はメモリインタフェースコントローラ18およびデータメモリ19に接続され、切り替え回路20を介してATA方式のディスクドライブ(ATA−HDD)21が接続されている。
【0032】
ブリッジインタフェース回路13は、アドレスデコード回路13a、割り込み処理回路13b、ウエイトコントローラ論理回路13cを内蔵している。これらはCPU11がホストバス14に接続された各種デバイスの夫々に適合したアドレス配置に対するアドレスフルデコードによるデバイス選択信号の生成、デバイスからの割り込み要求をベクトル値割り当てすることによる優先順位決定処理、および各種デバイスごとのアクセスウエイト信号を生成している。なお、組込み用途マイクロコンピュータとして、チップ内に外部デバイス割込み処理回路13b、ウエイトコントローラ論理回路13cを有してソフトウェアによる制御レジスタ値の設定でコントロールできるもの、さらにはディジタル論理回路としてアドレスデコード回路13aを有し、CPUローカルバス12およびブリッジインタフェース回路13をCPU11とともに1個のIC化したものを使ってもよい。メモリ15にはファイルシステムプログラム15aがロードされており、この手順に従って連続映像音声データがファイル化されて書き込まれる。映像音声データ入出力回路16はたとえばDV方式ディジタルビデオ信号などの固定フレーム長さの連続映像音声データの入出力回路であり、これはその他の例としては、可変長データの複数のMPEGストリームの並列入力出力回路などの、所定時間周期の定まったブロック単位での連続する映像音声データの入出力回路であればよい。
【0033】
ATAホストインタフェース回路17はアドレス変換回路17aを有しており、このアドレス変換回路17aにより、ホストバス14に与えられるCPU11からのアドレス信号、制御信号を受けて、ディスクドライブ21に内蔵されるATAインタフェースの複数個の各ATAデバイスレジスタに個別にアクセスするためのアドレス信号に変換する。データメモリ19はファイルシステム用のデータメモリであって、ディスクデバイス用のDOS互換ファイルシステムのディレクトリ、FAT情報を記憶するメモリであり、FATに用意されるクラスタ番号の個数はハードディスクのユーザデータ領域全体のクラスタ総数をアドレス指定するのに対応する。
【0034】
ディスクドライブ21は、デバイス側のATAインタフェースを備えていて、ATAホストインタフェース回路17に対してATAプロトコルによってデータを送受している。メモリインタフェースコントローラ18は、アドレス、コントロール信号、およびデータ信号を送受し、FATデータの書き込み読み出しがあるときには、ATAプロトコルによってデータメモリ19とデータの授受を行う一方で、この際に並行して切り替え回路20によりディスクドライブ21のコントロール制御信号をオフしてディスクドライブ21への書き込み読み出しプロトコル動作を行わないで済ませる。
【0035】
これの実現のために、詳細なDOS互換ファイルシステムの説明と、ATAプロトコルの制御タイミングの説明を行う。
本実施の形態において使用するCPU11は、SH7604(日立製作所の商標)などのような、モトローラ系ビッグエンディアンアドレッシング方式を有し、組込み用途の省電力タイプであって、16ビットの整数倍の内部アドレスおよびデータ幅を有するRISC(reduced instruction set computer)型CPUを使用する。そして、その内部には書き込み読み出しのCPUコマンドをワードアドレス単位で並列処理で繰り返し連続発行し、実際のディスクデバイスとのデータ転送に必要な処理ステップを短縮するのに好適なコマンドキャッシュを有している。
【0036】
使用するCPUとディスクとの入出力アクセスアドレス方式は、メモリマップドI/O(入出力)方式を使用する。この方式は、各周辺デバイス側がI/Oアドレス方式と比べて、フルアドレスデコードを必要とするが、各デバイスをアドレス空間の任意アドレス位置に配置可能でシステム上の自由度が高い。
【0037】
図3はCPUのアドレス配置マップ例を示す図である。縦軸はCPUアドレスであり、データ32ビットアドレスADDR[31:0]によりアドレス領域を設定していて、そのうちADDR[27:24]はアドレス領域を四つのエリアA0,A1,A2,A3に領域分割するアドレスに使用する。この各領域ごとにアドレスADDR[23:0]のアドレスを有していて、CPU内蔵のコマンドキャッシュ使用の有無を指定することが可能である。そして各領域は、キャッシュ指定可能な領域としてアドレスを割り当て、CPU内蔵の制御レジスタビットでコマンドキャッシュを使用可能に設定して起動し使用することとしてよい。
【0038】
アドレスマップの横軸はデータバス幅を示しており、各エリアごとにエリアA0、A2は32ビット幅に、エリアA1、A3は16ビット幅に指定して使用する。
【0039】
ディスクドライブ21では、データはワードデータ転送なので、ドライブ内蔵レジスタのアドレスは1ワード=2バイトデータ幅の領域に割り当てている。これについては後述する。
【0040】
映像音声データ入出力回路16もレジスタ設定によって書き込み読み出しを行っている。映像音声データ入出力回路16のI/Oレジスタのアドレス配置を設定し、これに所定のデータを書き込むことにより回路に内蔵されたメモリのベースアドレスが決定され、そのアドレスを基点としてこれにオフセットアドレスが加わる形式で回路内蔵メモリへの読み出し書き込みアクセスをイネーブル化する回路が内蔵されている。
【0041】
本実施の形態においては、CPU11はこのアドレス配置マップ上、エリアA0にロードされたATAプロトコルに従ってデータ転送する映像音声データ転送プログラム手順と、同じくファイルシステムプログラム手順により、エリアA1のディスクドライブ21の各レジスタと映像音声データ入出力回路16の映像音声データアドレス領域にあるメモリとの間で所定時間フレーム単位のデータを転送する。
【0042】
ハードディスクの処理プロトコルの途中で発生させて、CPUに割り込み処理を要求する、デバイス割り込み要求信号INTRQは、CPU側ではハードディスクに割り当てたベクタ番号のフェッチによるベクタ割り込み方式で取り込む。このベクタ番号については、CPUが割り込みの順位に対応させて内部で持つオートベクタ方式、あるいは外部で発生させるようにした外部ベクタ方式が使用される。この構成、動作については後述する。
【0043】
次に、ディスクデバイスとしてのディスクドライブ21について説明する。
ディスクドライブ21のディスクデバイスとしては、E−IDE(Enhanced Inteligent Drive Electronics)ドライブとして知られるATA標準方式ハードディスクドライブ、たとえばATA−3標準に適合するハードディスクドライブを使用する。
【0044】
ハードディスクドライブの性能仕様例として、ディスク回転数は毎分5400rpm(=1回転につき約11.1ミリ/秒)、ディスク読み書きヘッドの搭載されたヘッドアーム駆動部は、ディスク上のあるトラック部分から別のトラック部分への一方向の平均アクセス時間を約10ミリ秒とする。さらに、ここで、あるトラック上の複数のセクタから目的のセクタにアクセスするためには、回転待ち時間がかかり、一回転平均約11ミリ秒ならば0秒〜11ミリ秒かかり、その平均は半分の約5.5ミリ秒である。そして、そこから元のトラックに戻るまでにも同じ時間がかかり、合計で平均約31ミリ秒前後の時間不連続が発生することになる。
【0045】
他方、ディスクドライブ21とCPU11との間のデータ転送の観点から見ると、データ転送はディスク媒体と内部バッファ、ATAホストインタフェース回路17の四つを介して行われる。データ転送には、コマンドのドライブへの書き込みのために所定のコマンドコードをドライブ内蔵レジスタに書き込んでドライブの応答を待ってからデータ転送を開始するためのコマンド発行時間に約0.3ミリ秒を要する。ディスクドライブ21の内部データバッファとATAホストインタフェース回路17とのデータ転送レート能力は最大で33Mバイト/秒の性能を有する。しかしながら、ドライブのディスク媒体と内部データバッファとの間の平均連続データ転送レートは約6Mバイト/秒以上〜12Mバイト/秒程度であり、すなわち、1/30秒では200K〜400Kバイト/33.3ミリ秒の転送レートが実現される。
【0046】
使用するディスクのデータ転送プロトコルの例として、ATA−3のプログラムドIO(PIO)方式およびDMA(Direct Memory Access)転送方式について説明する。Ultra DMA転送方式および、ATA方式の今後の拡張方式については、ANSI(米国規格協会)標準のATA/ATAPI−4標準以降に記載の転送方式をその拡張方式に従って同様に使用する。
【0047】
ATA−3方式のハードディスクドライブのディスク媒体上の各論理セクタ位置は、論理ブロックアドレス(LBA)として与えられ、論理ブロックでアクセスされる。その順番は論理番号としてリニアにマッピングされている。与えられた論理セクタのLBAのアドレスは変化しない。以下は常に真である。
【0048】
【数1】
LBA=((シリンダ*シリンダ当たりのヘッド数+ヘッド数)*トラック当たりのセクタ数)+セクタ−1 ・・・(1)
ここでシリンダ当たりのヘッド数とトラック当たりのセクタ数はATA−3標準で導入された論理ブロックアドレスLBAの拡張以前から実施している論理的シリンダヘッドセクタ(CHS)変換方式の値である。なお、ここで論理的とは、書き込み可能なドライブにおいて、使用前、使用中に発生する欠陥セクタについて、ドライブ内部ファームウェアにより予備の交替セクタに置き替えを行う際に、論理番号を変更しないという意味である。
【0049】
次に、メモリ15上にロードされるDOS互換ファイルシステムについて説明する。
ディスクドライブはDOS互換フォーマットソフトウェアでフォーマットされたものが使用される。本実施の形態での説明は、既にフォーマット済みのディスクドライブに対してメモリ15上にロードされ、CPUで使用されるDOS互換ファイルシステムを使用する場合に、映像音声データを連続して書き込み読み出す際に行われるFATチェーンの更新動作を高速化させてリアルタイムな書き込み読み出しを実現するハードウェアとそれを使用する手順を説明することにある。ディスクドライブは、たとえば別途Windows−OSでフォーマット済みのものを使用してもよい。そしてシステムOSはロードしない、あるいは論理区画で分割使用して、システムOSをロードしない論理区画を使用することとする。これは高機能OSを使用しないディスクファイルシステムだけにし、ディレクトリ、FATのクラスタチェーン動作を説明しやすくするためである。
【0050】
ファイルシステムはMS−DOS(マイクロソフトの商標)FAT16に互換なファイルシステムを用いる。ファイル管理情報としてのブートレコード、FAT、ディレクトリ、そしてファイルデータ読み書きに使用するユーザデータ領域を有している。
【0051】
ファイルシステムの作成する1ファイルの連続データが複数クラスタにわたって読み書きされる際には、1クラスタ単位ごとにFATデータ情報の更新が行われる。
【0052】
ディレクトリはファイルデータのファイル名とともに、FAT中に記載されるディスククラスタ上のクラスタチェーンの開始エントリ位置を示す。
なお、使用例としての、DOS互換ファイルシステムのFAT16は、1ディレクトリにつきファイルごとに割り当てられるエントリ数は全部で最大でも512個に限定されているため、これを越える連続映像音声データファイル数をディスクドライブに作成する必要があるときには、ディレクトリエントリに続くユーザデータ領域先頭部分にユーザデータを書き込み使用する前に、あらかじめ新たにサブディレクトリを作成してディレクトリエントリ数を増やし、予測される必要に応じて複数個のサブディレクトリ(Windows−OS上ではフォルダの作成に相当)を作成して用意する。これによりディレクトリエントリの1個当たり最大でも512個のエントリ数制限を解消し、ファイル管理情報のディスク上の物理的配置を集中させ、ファイル管理情報領域とファイルデータ領域とを分離して使用する。
【0053】
これは、ユーザデータ領域に多数のファイルデータを書き込んだ後でサブディレクトリを作成すると、ディスク上のユーザデータ領域の開始論理セクタから多数のファイルデータが書き込まれた後にサブディレクトリが設けられ、この位置をディレクトリがクラスタ番号での位置管理をすることとなると、結果として、ディスク上のサブディレクトリ位置の物理的な位置分散となり、映像音声データの読み書きのディスクアクセスには多数の連続データファイルの途中にファイル管理情報が配置されてしまい、連続編集のときにファイル管理情報であるディレクトリとサブディレクトリが所定の論理ブロックである論理セクタ領域に入るかどうかの判断がより複雑になるのを簡単化させる効果がある。
【0054】
ここで、実際のハードディスクドライブを使用して、DOS互換ファイルシステムのファイル形式管理情報各部のディスク上の論理セクタ、バイト数、ファイルシステムのクラスタ数でのアドレス位置について説明する。
【0055】
本実施の形態の説明では、ファイル管理情報としての、ディレクトリ、FATのディスク論理セクタ上のサイズと位置を知ることが必要である。このため、その配置を指定するディスクファイルシステムのパラメータがどう指定されているのかを実例で示す。
【0056】
本例のファイルシステムの連続データを記録再生する使用するハードディスクドライブの例として、1.28Gバイト容量と称されるハードディスクドライブでの、DOS互換ディスクファイルシステムの場合のディスクの各領域を簡単に説明する。
【0057】
図4はDOS互換ファイルシステムのファイル管理情報およびデータ領域の位置を示す図である。FAT16ディスクファイルシステムにおいては、ハードディスクファイルフォーマットは図4に示すように、ブートレコード領域31と、FAT領域32と、FATのコピー領域32aと、ディレクトリエントリ領域33と、データ領域34とが存在し、これらはディスク媒体にその外周から内周にへと同心円状に配置されている。データ領域34の各論理セクタはその複数クラスタ単位でFATに対応している。そして、その論理セクタ(とそのバイト数)位置はブートレコード領域31に記述されるパラメータと、FAT16ファイルシステムによる取り決めとによって一意に決まる。
【0058】
ファイル管理領域(32〜33)とデータ領域34とを区別している、ブートレコード領域31に記述のディスクパラメータの例を説明する。ブートレコード領域31はセクタ0から始まり、ディスク上の55hAAhデータで終了するまでの範囲である。なお、このデータはFAT16に従い1ワードデータに戻すとAA55hとなることは周知である。以下、ディスク媒体上の2バイトデータをまとめて1ワード数で表記する場合はワードデータに戻した値とする。
【0059】
ブートレコード領域31に記述されたディスクファイルシステムのパラメータとして、IPL(Initial Program Loader)へのジャンプ先(3バイトで記述)、フォーマットしたDOSバージョン(8バイト)、1セクタ当たりのバイト数(2バイト=1ワード:ATA標準のハードディスクドライブでは1セクタ当たり512バイトの取り決めがある)、ファイルシステムのクラスタ当たりのセクタ数(1バイト:ハードディスクドライブが1.28Gバイト容量の場合、1クラスタ当たり64セクタとなる)、ブートレコードに予約してあるセクタ数(2バイト=1ワード:ここではセクタ数は1とする)、FATの数(1バイト:コピーを含めて2個)、ルートディレクトリの用意するファイルごとに一つの開始クラスタ番号を有するエントリ数(2バイト=1ワード:ここではルートディレクトリエントリ数は512とする)、ディスク媒体がフロッピーディスクの場合のディスク当たりのセクタ数(2バイト)、メディアタイプのID(1バイト)、1FAT当たりのセクタ数(2バイト=1ワード:1.28GBハードディスクドライブの場合、セクタ数は153である)、トラック当たりのセクタ数(2バイト)、ヘッド数(2バイト)、隠しセクタ数(4バイト)、論理セクタ数(4バイト:大容量ディスクなのでダブルワード、32ビット表記)、物理ドライブ番号(1バイト)、システム予約バイト(1バイト)、拡張ブート識別コード(1バイト)、ハードディスクドライブのボリュームシリアル番号(4バイト)、ボリュームラベル(11バイト)、ファイルシステムの採用しているFAT方式(8バイト:ここでは「FAT16」とする)、そして、システム予約のワードデータ(1バイト+1バイト)がある。
【0060】
以上により、本発明の実施に必要な数値パラメータである、ディレクトリエントリの配置、FATの配置、データ領域の配置が判る。
ここで、ディスクファイルシステムの管理情報領域とデータ領域とは論理セクタ番号で指定される。ブートレコード領域31は1論理セクタである。ファイルシステムの基本パラメータの、ブートレコード領域31、FAT領域32およびFATのコピー領域32a、ディレクトリエントリ領域33、データ領域34の論理セクタアドレス位置はそのサイズを示すパラメータで記述指定されている。ファイルアクセスは、このパラメータをあらかじめ取得し、これにもとづいて行うことになる。
【0061】
以上のパラメータ例から、ファイルシステムはFAT16である。1クラスタは64セクタ=32Kバイトである。FAT領域32はFAT当たりのセクタ数が153セクタであり、それと同セクタ数のFATのコピー領域32aがある。ブートレコード領域31、FAT領域32、FATのコピー領域32aの合計より、ディレクトリエントリ位置は307(=133h)論理セクタ目からになる。そして、ディレクトリエントリ領域33は32セクタである。
【0062】
データ領域34は、339(=153h)論理セクタ目からである。FAT領域32およびFATのコピー領域32a内のクラスタチェーンデータ更新が最低限必要であるので、このドライブの場合には、少なくとも0h〜0000133hを含む論理セクタ、すなわち論理ブロックアドレス内容を、データファイルシステム用のデータメモリ19に記憶させて、ディスク管理情報パラメータとして使用する。より好ましくは、ファイルシステムは、ATAプロトコルにより、データ領域34への1クラスタのデータ書き込みと、ファイルシステム管理パラメータ情報領域であるディレクトリエントリ領域33、FAT領域32内のクラスタチェーンの作成更新とを別の回のATAプロトコルのデータ転送処理発行で行っているので、このディスクドライブ21の0h〜0000153hまでを含むディスクの論理ブロックアドレス内容をデータメモリ19にコピーして、ここまでの論理セクタのファイルシステム管理情報データをデータメモリ19で使用する。
【0063】
ここで、現在のディスクドライブ21は、1周分の1トラックがおよそ100〜160個程度の論理セクタをデータ読み書き用に使用されるために有しているため、FAT領域32およびFATのコピー領域32a内の全ディスクの全クラスタを16ビットFATのクラスタ番号で指定する個々のクラスタチェーン指定データバイトを収納する論理セクタ個数としての133h、あるいは153hは、それぞれ307セクタ個数、339セクタ個数になり、ディスク上の数周分の物理トラックを必要とすることが判る。
【0064】
より具体的には、ファイルシステム形式によって、FATのコピー領域32aについては一連のファイルデータ転送処理の済んだあとに、FAT領域32から読み出してFATのコピー領域32aに記録処理する処理形式のものであった場合には、このディスクドライブ21の場合は半分のFAT領域32だけの154(=9Ah)論理セクタで済み、この場合にFAT領域32に必要なバイトデータを考えると、このドライブのFAT領域32の153(=99h)セクタ数を合わせてデータで16ビットワード指定できるクラスタ番号個数は39168であり、このディスクドライブ21の全ディスク容量をクラスタ番号で指定するには2499777/64=39059クラスタ個数がある。そして、1クラスタ=1ワード、2バイトデータ指定により、この78336バイトデータに記憶して使用するときに必要なメモリ容量は、少なくとも612Kビットになる。
【0065】
また、ブートレコードの論理セクタ分のアドレスシフト処理回路が冗長になる場合は、直接FAT領域32の論理セクタを指定するために、このディスクドライブ21の場合には154(=9Ah)論理セクタ個数分である、少なくとも78848バイトデータ、616kビット(=630784ビット)以上のメモリ容量を必要とする。
【0066】
ファイルシステム形式によっては、FATのコピー領域32aについてはFAT領域32への読み書き処理と同時にFATのコピー領域32aに読み書き処理する必要のある処理形式のものであれば、このディスクドライブ21の場合は図4に示すようにそのまま307(=133h)セクタ必要となり、この場合にFAT領域32およびFATのコピー領域32aの合計に必要なバイトデータを考えると、このディスクドライブ21のFAT領域32およびFATのコピー領域32aの307(=133h)セクタ数であり、この157184バイトデータに記憶して使用するときに必要なメモリ容量は、少なくとも1.2Mビット(=1257182ビット)になる。さらにディレクトリも同時に処理する必要のあるファイルシステムを使用する場合は、上記に準じて339論理セクタ以上相当まで用意するメモリ容量を増加させることとする。
【0067】
FAT16とディスクドライブのATA−3のLBAにより扱える2GBまでのディスク容量では、2254857830バイト、クラスタ総数は約4404019セクタ/64=68812クラスタである。これはFAT16のワードデータ数であるから、バイトデータで指定すると137624バイト、つまり、約1.05Mビット(=1100992ビット)のメモリ容量を上限として用意する。
【0068】
FATシステムが32ビット化されると、クラスタ数の総計が増加することから、さらにこの指定個数総数は増加され、指定バイト数は32ビット幅などに増加する。
【0069】
連続データファイルのFAT内のクラスタチェーンの更新が発生したときには、クラスタファイルシステム管理情報のデータアクセスがあるので、ディスクドライブ21ではなくて、ファイルシステム用のデータメモリ19の方へ、ATA標準のデバイスへのデータ転送プロトコルでアクセスして使用する。
【0070】
ディレクトリエントリ領域33は各ファイルの開始クラスタ番号とファイルサイズなどが記載されている。具体的には図4のディレクトリエントリ領域33の内部説明にあるように、ファイル名、拡張子、属性などとともに、第1クラスタの欄に各ファイルの第1クラスタを指定するデータが書き込まれている。これにもとづくFATのエントリ番号からクラスタごとの連続関係がデータ領域34のエントリ番号「2」から始まるクラスタ番号のつながりで記載されている。そして、最後にEOF(end of file)でファイルのクラスタチェーンが終了する。これに対応するデータ領域34のクラスタ番号集合にファイルデータが記載されている。
【0071】
ここで、連続映像音声データが書き込み、読み出しされる場合を例にとって考える。たとえば、1フレーム119.2kバイトの映像音声データの場合であって、使用する1クラスタが32kバイトのときには、4クラスタ=128kバイトとなる。ここで、1フレーム映像音声データがこの各クラスタを越える毎に、FAT領域内およびFATのコピー領域内のクラスタチェーンのデータ更新を行う。特に、最終クラスタに残存する未使用データ領域の扱いとしては、セクタ単位で1フレームデータを終了させるか、あるいはセクタ内で次のフレームのデータの先頭を結合させて連続して書き込むかのいずれかを行う。
【0072】
そして、一連のデータフレームの連続である、映像音声データの書き込み読み出しが終了したならば、FAT領域およびFATのコピー領域内のクラスタチェーンの末尾にEOFを指定して終了する。
【0073】
ここで、FAT領域内およびFATのコピー領域内のクラスタチェーンのデータ更新をハードディスクドライブではなく、通常のディスクデバイスのデータ転送プロトコルでアクセスするメモリインタフェースコントローラ18を介してデータメモリ19上で行う目的は、高機能OSを有しないDOS互換ファイルシステムを使い映像音声連続データの読み書きを行っても、ディスクドライブ内で書き込み読み出し手段であるヘッドアーム駆動部のアクセス動作を発生させない構成とするためである。たとえば、FAT領域およびFATコピー領域内のクラスタチェーンのデータ更新を、コマンド発行の約200〜300マイクロ秒とメモリへの1セクタのデータ転送とで約数ミリ秒以内でデータメモリ内で行った後に、回転ディスク媒体上の後続位置の論理セクタに連続データを書き込むのは、約1回転時間後の約11ミリ秒後になる。映像音声データの毎1フレーム時間が約33ミリ秒の時間単位の場合、リアルタイム性を阻害する時間遅延の発生はなく、ハードディスクドライブへ連続してアクセスして順次フレームデータを書き込んでいくためには、22ミリ秒以内にデータ転送を完了させれば、ディスクドライブ21と映像音声データ入出力回路16との間での各フレーム時間内でのリアルタイムのデータ転送が実現される。最悪連続レート6Mバイト/秒以上なら、20ミリ秒以内で120kバイト転送される。
【0074】
次に、本発明の実施の形態における要部について詳細に説明する。まず、メモリインタフェースコントローラ18から説明する。
図5はメモリインタフェースコントローラの構成を示すブロック図である。メモリインタフェースコントローラ18は、ATAプロトコルに従ってデータメモリ19をアクセスすることによりデータの入出力を行うもので、アドレス比較経路切り替え制御部40と、メモリアクセスのアドレス・制御信号生成用メモリインタフェースコントローラ50とを有している。このメモリインタフェースコントローラ18は、アドレスバスB1、データバスB2およびコントロールバスB3によりATAホストインタフェース回路17およびディスクドライブ21に接続されている。ただし、ディスクドライブ21へのコントロールバスB3は切り替え回路20を介して接続される。ATAホストインタフェース回路17はアドレス変換回路17aおよび制御ロジック回路17bを有している。ディスクドライブ21はハードディスクドライブのアドレス・制御信号生成用ディスクインタフェースコントローラ21a、ディスク21b、図示しないドライブ内部MPU(Micro Processing Unit)、ドライブ内部ファームウェアを有している。
【0075】
ATAホストインタフェース回路17では、ディスクドライブ21の内部に設置された複数個の各レジスタに対して、それぞれCPU11からブリッジインタフェース回路13、ホストバス14を介してアクセスされるアドレスが割り当てられる。そのアドレスはアドレス変換回路17aにより変換され、ATAインタフェースの各デバイス内部レジスタについての入力アドレスを発生させる。また、制御ロジック回路17bは各レジスタごとに与えるデータ長をバイト長、ワード長に制御する。
【0076】
図6はアドレス変換の例を説明する図であって、(A)はアドレスデコード元のCPUアドレスを示し、(B)はATAホストインタフェース回路がアクセスするアドレス変換後のデバイス入力アドレス信号とデバイス内部レジスタとの関係を示している。
【0077】
ここで、アドレスデコード元のCPUアドレス割り当ては、(A)に示したように、32ビットアドレス長のワード単位で少なくとも9個ある。これらのCPUアドレスはATAホストインタフェース回路17のアドレス変換回路17aにより変換され、ATAホストインタフェース回路17がアクセスするアドレス変換後のデバイス入力アドレス信号が出力される。デバイス入力アドレス信号は、(B)に示したように、同一アドレスを使用して読み出し機能と書き込み機能とで異なる名称のレジスタを指定しているが、それぞれレジスタは同じであり、同じレジスタに対して読み出しと書き込みとで機能の切り替えを行っている。なお、上側に示した八つのレジスタはコマンドブロックレジスタ、下側の二つのレジスタはコントロールブロックレジスタである。
【0078】
ここで、ATA標準の各レジスタのデータ値について説明すると、データレジスタのみがワード長データであり、残りはすべてバイト長データである。デバイスが有するレジスタ指定に使用するアドレスは、CS0−、CS1−のローアクティブ信号とDA[2:0]のハイアクティブ信号との五つのアドレス信号であり、これとは別に、DMAデータ転送の場合は、これらのアドレス信号の代わりにDMACK−でデータレジスタを直接ポート指定してデータ転送をする。
【0079】
CS0−=0はコマンドブロックレジスタの8個のレジスタをアドレス指定するのに使用される。データレジスタはドライブとホストとの16ビットワード長データ転送に使用される。エラー/フィーチャレジスタはデバイスがコマンド実行エラーを発生したときにその原因を読み取るためや、ドライブに転送モードなどの各種制御機能をコマンドパラメータとして設定するために使用される。
【0080】
セクタカウントレジスタは1セクタ=256個のワードデータ、つまり512バイト単位でのデータ転送長さをコマンドパラメータとして指定するために使用される。
【0081】
LBA[7:0]、LBA[15:8]、LBA[23:16]、LBA[27:24]レジスタはデータ転送開始の論理ブロックアドレスをコマンドパラメータとして指定するために使用される。
【0082】
ステータス/コマンドレジスタは、ドライブの状態を読み取るために使用される場合は、処理中のBSYビット、デバイスのコマンド受付準備完了のDRDYビット、デバイスからのデータ転送準備完了のDRQビット、コマンドのエラー発生のERRビットの各ステータスを読み取るために使用される。また、ドライブに書き込みする際には、コマンドコードを書き込んで、コマンド実行を開始するために使用される。
【0083】
CS1−はコントロールブロックレジスタの少なくとも1個を指定するのに使用される。
オルタネートステータス/デバイスコントロールレジスタは、ドライブの状態を読み取るときに、ステータスレジスタの内容をそのまま保持し、ステータスレジスタの代わりに使用されることがある。デバイスコントロールレジスタは、書き込みの際には、ソフトウェアリセットをかけたり、デバイスからの割り込み要求を許可設定するために使用される。
【0084】
コントロールブロックレジスタの最後のレジスタは、以前は使用されていたが、現在は廃止、あるいは使用しないことが勧告されているものである。
以上、少なくとも九つのレジスタはディスクドライブ21を制御するレジスタである。
【0085】
次に、ATAホストインタフェース回路17に接続されるコントロールバスB3、アドレスバスB1、データバスB2における制御信号、アドレス信号、データ信号について説明する。ATA方式のインタフェースでは、制御信号は、デバイス側からはIORDY、INTRQ、DMARQ、ホスト側からは、RESET−、DIOR−、DIOW−、DMACK−の各制御信号が規定され、アドレス信号は、CS0−、CS1−、DA[2:0]の各アドレス信号が規定され、データ信号については、DD[15:8]、DD[7:0]の各バイト長さデータ信号が規定されている。
【0086】
ここで、図5に示したメモリインタフェースコントローラ18の動作について説明する。ディスクドライブ21は、ATAプロトコルで、内蔵のアドレス・制御信号生成用ディスクインタフェースコントローラ21aを介して、ドライブ内部MPUとドライブ内部ファームウェアの制御によりディスクに対してセクタ単位でアクセスして読み書きする通常のATA方式ハードディスクドライブとして機能するものを使用している。ここで、メモリインタフェースコントローラ18のアドレス比較経路切り替え制御部40は、ATAホストインタフェース回路17からハードディスクドライブアクセスの論理ブロックアドレスが、上述のディスクファイルシステムのファイル管理パラメータ領域である、ディレクトリ、FATを含む領域をLBA[27:0]の各レジスタおよびセクタカウントレジスタを論理ブロック指定および設定を行うときには、これを検出し、コマンドコードを書き込む際にはATA方式ハードディスクディスクドライブ21へのコントロールバスB3を切り替え回路20で切り替え、オフすることにより、ディスクドライブ21へのコマンドコードの書き込みを不可にする。これとともに、アドレス・制御信号生成用メモリインタフェースコントローラ50中に用意したコマンドブロックレジスタの中のコマンドレジスタに書き込まれているコマンドコードにもとづいて、アドレス・制御信号生成用メモリインタフェースコントローラ50でデータメモリ19に対してセクタ単位でアクセスする論理ブロックデータのアドレス信号を発生させ、所定のセクタカウントレジスタにより指定されたセクタ単位のデータの転送を完了させ、FAT領域内およびFATのコピー領域内のクラスタチェーンのデータ更新を終了させる。この際に、後述する所定のATAプロトコルに従い、割り込み要求信号INTRQの割り込み処理を発生させる。ディスクデバイスとのデータ転送が完了したら、全体をリセットさせ、新たに次のクラスタのデータ転送を開始させる。
【0087】
次に、メモリインタフェースコントローラ18がデータメモリ19にファイルシステムの管理情報パラメータの内容を記憶させる準備動作について説明する。メモリインタフェースコントローラ18のアドレス・制御信号生成用メモリインタフェースコントローラ50は、図示しないCPUアドレスマップに割り当てられた別アドレス変換回路からの別経路でのアドレス変換信号入力により、これも図示しない機能切り替えレジスタビットを設定してATAホストインタフェース回路17からのアドレス信号入力をディスエーブルにし、あらかじめディスクドライブ21のファイルシステムのディレクトリエントリ領域、FAT領域、FATのコピー領域を含む管理パラメータ領域のデータをデータメモリ19にコピーしておく。その後、上記の図示しない機能切り替えレジスタに書き込むことにより、ATAホストインタフェース回路17からのアドレス信号入力をイネーブルにする。
【0088】
DOS互換のディスクファイルシステムは、ATAプロトコルにより、データ領域34への1クラスタのデータ書き込みと、ファイルシステム管理パラメータ情報領域であるディレクトリエントリ領域33、FAT領域32内のクラスタチェーンの作成更新とを別の回路のATAプロトコルのデータ転送処理発行で行っているので、このディスクドライブ21の0h〜0000153hまでの範囲を含むディスクの論理ブロックアドレスの内容をデータメモリ19にコピーして、ここまでの論理セクタのファイルシステム管理情報データをデータメモリ19に記憶させて使用する。
【0089】
次に、メモリインタフェースコントローラ18におけるアドレス・制御信号生成用メモリインタフェースコントローラ50について説明する。
図7はアドレス・制御信号生成用メモリインタフェースコントローラの内部構成を示すブロック図である。アドレス・制御信号生成用メモリインタフェースコントローラ50は、オルタネートステータス/デバイスコントロールレジスタM1と、ステータス/コマンドレジスタM2と、セクタカウントレジスタM3と、論理ブロックアドレスレジスタM4と、セクタアドレス累計加算回路M5と、ワード単位アドレス発生回路M6と、メモリINTRQ信号発生回路M7と、リセット信号発生回路M8と、アドレス生成回路M9とを有している。
【0090】
オルタネートステータス/デバイスコントロールレジスタM1は、読み取りに際してはステータス/コマンドレジスタM2の内容をコピーして読み取りの用意をし、書き込みに際してはソフトウェアリセットやデバイスの割り込み要求許可設定ビットを書き込む。
【0091】
ステータス/コマンドレジスタM2は、コマンドレジスタへの書き込みコマンドコードの検出によりメモリ読み書き制御信号のイネーブル化をし、そのコマンド実行準備完了状態およびセクタカウント数のデータ転送完了ステータスの各状態をステータスレジスタに設定する。
【0092】
セクタカウントレジスタM3は、LBA論理セクタ単位でのセクタ転送カウント数を設定する。
論理ブロックアドレスレジスタM4は、LBA[27:24]、LBA[23:16]、LBA[15:8]、LBA[7:0]の四つで論理ブロックアドレスLBA[27:0]の論理セクタ転送開始位置を指定する。このうち、LBA[27:24]を含むバイト長レジスタの上位ビットは、論理ブロックアドレスでのアクセスを示すLBAビットと、デバイス0またはデバイス1のデバイス選択を行うDEVビットとを含んでおり、このバイト長レジスタをデバイス/ヘッドレジスタと呼ぶ。
【0093】
セクタアドレス累計加算回路M5は、セクタカウントレジスタM3から信号MC1によりセクタカウント設定数を入力し、LBA[27:0]レジスタM4から信号MC2によりセクタ転送開始論理ブロックアドレス位置を入力し、データレジスタによるアドレス発生回路に相当する各セクタ範囲内でのワード単位アドレス発生回路M6から信号MC3によりセクタ単位ごとのデータ転送開始信号を入力して、セクタカウント数のセクタ転送ごとの1セクタ=512バイト単位で512バイト累計加算単位ずつ加算するワード単位のアドレス生成回路M9に出力するものであって、1セクタ当たりのワード数256(=100h)個の先読みセクタカウンタM51を内蔵している。
【0094】
ワード単位アドレス発生回路M6は、コントロールバスB3の書き込み信号IOW−あるいは読み出し信号IOR−ごとに行われる各1論理セクタ範囲内でのワード単位データの転送ごとに0〜255までワード単位のアドレスを順次発生するもので、ATAデバイスのデータレジスタのアドレス発生回路に相当する。なお、ここで、データレジスタのアドレス発生回路に相当するとは、CS0−=0、CS1−=1、DA[2:0]=0hでIOR−、IOW−などの読み出し書き込み制御信号を与えるたびに、LBA[27:0]で指定の開始論理ブロックアドレスから順次16ビットのワードデータを1セクタ=256ワード単位でセクタカウントレジスタM3のセクタカウント回数分データ転送するレジスタのことであり、このCS0−、CS1−、DA[2:0]でIOR−、IOW−を繰り返し与えることで順次ワード単位のアドレスを発生して、その結果、データメモリ19がデータバスB2にワードデータを入出力するワード単位アドレス発生回路M6はデータレジスタ回路のアクセス動作を実行しているためである。
【0095】
アドレス生成回路M9は、アドレス比較経路切り替え制御部40の後述する論理ステート制御回路よりのLBA[27:0]のファイルシステムの管理情報パラメータに含まれる所定の論理ブロックアドレス範囲の指定されたことのイネーブル入力MC11を受けてデータメモリ19へのメモリチップセレクトMC6を出力し、データレジスタのアドレス発生回路に相当する各セクタ範囲内でのワード単位アドレス発生回路M6からの1論理セクタ単位内でのメモリワードアドレス信号MC5の信号入力と、セクタアドレス累計加算回路M5からのセクタごとに1セクタ=512バイト単位での累計加算メモリアドレス信号MC4の入力とを受けて実際のメモリへのワードアドレスMC7を生成する。
【0096】
メモリINTRQ信号発生回路M7は、ステータス/コマンドレジスタM2に書き込まれたコマンドコードにもとづくPIOの読み出し、PIO書き込み、DMA転送の各データ転送モード設定が選択されて、PIOの読み出しコマンドの際にはアドレス生成回路M9からのセクタごとのデータ読み出し準備完了の際に発生、あるいはその他の書き込み読み出しコマンドの際には、PIO書き込みの場合に各セクタ転送を行うごとに発生、さらに加えて、PIO書き込み、DMA読み出し、DMA書き込みの場合には全データ転送が完了した後にも、データ転送完了のカウンタアドレス検出信号を受けてメモリINTRQ信号MC13を発生し、さらにステータス/コマンドレジスタM2が読み出し信号を受けたことを検出出力する信号MC12が入力されてメモリINTRQ信号MC13をクリアする。
【0097】
論理ステート制御回路のリセット信号発生回路M8は、クロック同期タイミングにもとづいてステート進行されるステートマシン回路であって、メモリ読み出し書き込みのデータ転送完了であるアドレス生成回路M9からの信号MC9およびメモリINTRQ信号発生回路M7からの信号MC10を受け、かつ、一旦発生されているメモリINTRQ信号MC13をクリアするステータス/コマンドレジスタM2の読み出し検出信号MC12を受けて、論理ステート制御回路リセット信号MC14を発生する。
【0098】
ここで、アドレス・制御信号生成用メモリインタフェースコントローラ50の内部のLBA[27:0]レジスタM4の内のLBA[27:24]を含むデバイス/ヘッドレジスタはデバイス選択処理を受ける際に、書き込みを受けるが、この結果を反映すべきステータス/コマンドレジスタM2はディスクドライブ21内部のステータス/コマンドレジスタとのデータ衝突を防止するために、デフォルト初期状態ではレジスタデータの読み出しには高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、データ転送処理後のステータス/コマンドレジスタM2が読み出し処理されるのを受けて行われるコントロール線、データ線の切り替えの復帰処理によって再度ディスエーブルに処理される。
【0099】
データメモリ19への論理セクタ単位での読み出し書き込みと、ディスクドライブ21でセクタ単位での読み書きデータ転送とをデータメモリ19で一部シミュレーションするには、ATAホストインタフェース回路17によってアドレス変換された後のアドレスバスB1、データバスB2、コントロールバスB3は、アドレス・制御信号生成用メモリインタフェースコントローラ50に入力されるとともに、データバスB2およびコントロールバスB3は、データメモリ19に入力される。
【0100】
アドレス生成回路M9は、LBA[27:0]を指定するレジスタから、データアクセスされる論理ブロックがファイルシステムの管理情報パラメータのうち、少なくともFAT領域内のクラスタチェーンを含むアドレス範囲内であることを判別される判別制御信号を論理ステート制御回路から入力されて、メモリチップセレクト信号MC6を発生してメモリに入力し、かつアドレス生成回路から1論理セクタ長さ単位のLBA[27:0]レジスタおよびセクタカウントレジスタでアクセスデータサイズを指定し、ワード単位で読み書きデータ転送を行うためのワードアドレス信号MC7を発生しておく。
【0101】
データメモリ19は、アドレス・制御信号生成用メモリインタフェースコントローラ50により生成されるデータメモリ19のチップセレクト信号MC6、および論理ブロックである論理セクタ単位でアクセスして読み出し書き込みするメモリ個所を指定するワードアドレス信号MC7を受けて、1セクタ長さ=256ワード=512バイト単位で書き込み読み出しを行う。
【0102】
この場合、データメモリ19のデバイス特性である、制御信号の書き込みイネーブル、読み出しイネーブル信号が発せられ入力されても、チップセレクト信号MC6が入力されなければデータメモリ19のデータ内容が保護されることを利用している。
【0103】
以上で、論理ブロックアドレスである、セクタアドレス単位ごとにメモリがアクセスされ、その中に記憶されるファイルシステムの管理情報パラメータのメモリデータが読み書きされる。
【0104】
次に、メモリインタフェースコントローラ18のアドレス比較経路切り替え制御部40の構成について説明する。
図8はアドレス比較経路切り替え制御部の構成を示す図である。このアドレス比較経路切り替え制御部40は、セクタカウントレジスタM3のセクタカウントレジスタ設定動作検出部41と、このドライブの場合のFAT/ディレクトリ領域の論理セクタの論理ブロックアドレス値範囲である少なくとも1h〜133hがコマンドパラメータとしてLBA[27:0]レジスタM4に設定された値である場合に、これを検出するLBAレジスタ設定値範囲検出部42と、ステータス/コマンドレジスタM2へのデータ転送用コマンドが書き込まれたことを検出するコマンドコード書き込み動作検出部43と、ディスクアクセスのディスク割り込み要求信号INTRQの検出によるリセット部44と、論理ステート制御ブロック45とを備え、この論理ステート制御ブロック45は、論理ステート制御回路46と、サイクル時間待ち後リセット回路47と、そのリセット信号の論理ステート信号への入力を阻止するスイッチ48とを有している。
【0105】
論理ステート制御ブロック45では、論理ステート制御回路46は、セクタカウントレジスタ設定動作検出部41からの検出信号と、LBAレジスタ設定値範囲検出部42からの検出信号とをともに受けて、所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11を生成する。
【0106】
そして、論理ステート制御回路46は、サイクル時間待ち後リセット回路47に待ち時間の計時を開始させる。サイクル時間待ち後リセット回路47は、たとえば約400ns以内のサイクル時間待ち後に論理ステート制御回路46での所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11の発生状態をリセットする。また、この期間中にコマンドコード書き込み動作検出部43からセット入力があると、スイッチ48はオフ設定となり、以後、別途論理ステート制御回路リセット信号MC14がアドレス・制御信号生成用メモリインタフェースコントローラ50より入力されて論理ステート制御回路46がリセットされるまではそのオフ状態を維持する。また、さらにディスクドライブ21のディスク割り込み要求信号INTRQの入力により論理ステート制御回路46のリセット入力としてもよい。そして、ディスクドライブ21からのディスク割り込み要求信号INTRQなどのリセット信号を受けた場合には、セクタカウントレジスタ設定動作検出部41およびLBAレジスタ設定値範囲検出部42へ検出状態のリセット信号を出力してリセットさせる。
【0107】
次に、以上のハードウェアを使用して、CPU11のプログラム制御処理による、ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理流れAS、ファイルシステムにもとづく各フレーム映像音声データをファイル化しての読み出し書き込み処理流れBS、ATAプロトコルにもとづくPIOデータ読み出しプロトコルでの処理流れCSR、PIOデータ書き込みプロトコルでの処理流れCSW、そしてDMA転送プロトコルでのデータ転送処理流れCSDを説明する。なお、DMA転送ではコマンドコードとホストCPUのデータポートへの読み出し書き込み制御以外は読み出し書き込みの両方とも同一プロトコル処理なので、一緒に説明する。
【0108】
まず、ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理流れASについて説明する。
図9はハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理の流れを示すフローチャートである。ハードディスクドライブの初期設定として、デバイス選択処理(ステップAS1)、デバイス機能判別処理(ステップAS2)、およびデバイス機能設定処理(ステップAS3)が順次行われる。
【0109】
ステップAS1のデバイス選択処理においては、ATAホストインタフェース回路17を介して、LBA[27:24]を含むデバイス/ヘッドレジスタへデバイス0(あるいはデバイス1)とするデバイス選択コマンドコードの書き込みを行い、ステータスレジスタを読み出して、デバイスが選択準備されたことを確認する。このときのコマンドはディスクデバイス全体を論理ブロックアドレスのデバイスとして扱うときには「INITIALIZE DEVICE PARAMETERS(91h)」である。なお、ディスクドライブをシリンダ/ヘッド/セクタ(CHS)で指定する場合は、「EXECUTE DEVICE DIAGNOSTIC(90h)」のコマンドを使う。これらにはディスクとのワードデータの転送はない。
【0110】
次いで、ステップAS2のデバイス機能判別処理においては、コマンドブロックレジスタへコマンドパラメータの書き込みを行い、デバイス機能判別を行ってもよい。この場合のコマンドは「IDENTIFY DEVICE(ECh)」であり、ディスクドライブからのPIOデータ読み出し処理により、ドライブ機能の記述されているデータとして1セクタ分、256ワードを読み出す。この処理はドライブ機能があらかじめ判っていれば省略可能である。
【0111】
次いで、ステップAS3のデバイス機能設定処理においては、コマンドブロックレジスタへのコマンドパラメータおよびコマンドコードの書き込みを行う。この際のコマンドは「SET FEATURES(EFh)」である。これらにはデータの転送はない。
【0112】
以上が前処理であり、ここで、特にメモリインタフェースコントローラ18にとっては、これはディスク上の論理セクタをレジスタ指定してデータ転送するものではないので、応答は発生しない。このため、ディスクドライブ21への機能設定処理の際のINTRQを含むATAプロトコルを妨害しない。
【0113】
以上のハードディスクドライブの初期設定が終了すると、次に、デバイスデータ転送(読み書き)処理を行う(ステップAS4)。これはデータ転送プロトコルであり、デバイス機能判別結果により取得した転送モード、ドライブ仕様などにもとづき、「READ SECTORS(20h)」、「WRITE SECTORS(30h)」、「READ DMA(E8h)」、「WRITE DMA(CAh)」などの読み出し書き込み系の各コマンドを使用してデータ転送を行う。
【0114】
これらのコマンドは、メモリインタフェースコントローラ18を介してデータメモリ19内のFAT領域のデータ、ハードウェアの都合上さらにブートレコード領域、さらにファイルシステムの必要に応じてFATのコピー領域、ディレクトリエントリ領域のデータにアクセスする場合、また通常のハードディスクとの間でデータ領域のデータにアクセスする場合に使用する。
【0115】
なお、ステップAS1からステップAS3までの初期設定処理以降については、データ転送の必要に応じて、デバイスデータ転送(読み書き)処理AS4のみを行う。
【0116】
次に、ファイルシステムにもとづき1ファイル中の連続データとして各フレーム映像音声データの集合全体を1ファイル化し、読み出し書き込みを行う処理の流れBSについて説明する。
【0117】
図10はファイルシステムで1ファイルデータとして連続する各フレーム映像音声データをファイル化して読み出し書き込みする処理の流れを示すフローチャートである。
【0118】
連続する映像音声データの読み出し書き込みに先立って、メモリ15上のファイルシステムプログラム中でディスクファイルシステムのパラメータ設定を行う(ステップBS1)。これには、ブートレコード領域のデータ読み出しによりディスクパラメータを取得するか、あるいはプログラム引数での事前のパラメータ設定などでディスク上のファイルシステムの管理情報パラメータが記録されているFAT領域、ディレクトリエントリ領域のデータを取得する。
【0119】
また、ここで、前述の図示しないアドレスデコーダを介して、これも図示しないメモリインタフェース内部レジスタクリアにより、メモリインタフェース機能をオフさせて、ディスクドライブ21のブートレコード領域、FAT領域のデータ、およびファイルシステムの必要に応じてFATのコピー領域、ディレクトリエントリ領域のデータを一旦読み出して、図示しない別アドレスを介したアドレスデコーダによりデータメモリ19に転送しておく必要がある。そして、その後、メモリインタフェースコントローラ18の図示しない内部レジスタを設定してメモリインタフェース機能をイネーブルにする。この処理以降、データメモリ19はディスクファイルシステムのファイル管理情報データ、特にFATデータを保有し、ディスクドライブ21はそれ以外の、データ領域などを使用する。
【0120】
次に、プログラム上で1フレーム映像音声データ転送サイズのプログラム引数でのパラメータ設定処理を行う(ステップBS2)。これにより、この映像音声データの1フレーム単位の使用クラスタ個数が指定される。
【0121】
次に、ディレクトリからの指定ファイルのエントリ(開始クラスタ番号)の読み出し、あるいは新規ファイルの作成の場合は書き込み処理を行う(ステップBS3)。ここで、ディレクトリエントリ領域に記述されているファイルサイズを取得して、最終クラスタの使用データのサイズを取得する処理を行ってもよい。この処理はファイルシステムの仕様により、ディスクドライブ21から行うか、あるいはメモリインタフェースコントローラ18を介してデータメモリ19から行う。
【0122】
次に、指定されたFAT領域内のクラスタチェーンでの開始点の読み出し、あるいはデータ書き込みの際は、書き込み処理を行う(ステップBS4)。ここでは、メモリインタフェースコントローラ18を介してATAプロトコルによりデータメモリ19とFAT領域のクラスタチェーンのデータ転送を行う。データメモリ19とのデータ転送処理はディスクドライブ21に比較して高速に処理される。
【0123】
次に、クラスタ単位でのデータ転送処理を行う(ステップBS5)。ここでは、ディスクドライブ21との間で連続データである映像音声データをディスクドライブ21内部の16ビットワード幅データレジスタへの読み書き処理を行う。ここで、論理セクタ数で指定されたセクタデータ(=512バイト、256ワード)個数をLBA[27:0]コマンドパラメータに指定されたディスク上の論理セクタ位置である、データ転送開始論理ブロックアドレス位置からセクタ単位でデータ転送を繰り返し行い、この処理により複数論理セクタ集合のクラスタ単位で読み出しあるいは書き込み処理が行われる。
【0124】
また、最終クラスタでは、前述のディレクトリエントリ指示のデータサイズの残りデータ数をセクタ単位で転送する。なお、ディスクドライブ21では、セクタ単位のデータ転送は各セクタの途中までのデータ転送を行うと、その後はセクタの残りのデータ領域に自動的にフォーマットデータが書き込まれ、その1セクタのデータ領域全体に対して末尾にECC(Error CorrectingCode)多項式による誤り訂正コードECCが書き込まれる処理が行われているので、特に各セクタ内の残りデータ部分への特定コードの追加書き込み処理は必要ない。
【0125】
さらに、ここでの一連の1映像音声フレームのデータ転送の後の、次の1映像音声フレームの最初のデータ転送は、ファイルシステムの1論理ブロックである1クラスタ内でのディスク上の物理的データセクタに対応する次の1セクタからとする。あるいは、ここで別の処理方法として、次の1クラスタの最初のセクタを使用することとしてもよい。各クラスタ内の残りセクタの未使用が毎回生じ、ディスク容量に浪費が発生するが、クラスタ単位で扱うファイルシステム処理が容易になる。
【0126】
次に、指定クラスタ数の読み書きが完了したか否かの判断処理を行う(ステップBS6)。指定クラスタ数とは、ステップBS2にて指定した、映像音声データの1フレーム単位に相当する指定クラスタ数である。この判断処理で、クラスタ数の転送が未だ完了していないならば、No判断により、FAT内のクラスタチェーンの次のクラスタ番号を読み出す(ステップBS7)。この処理は論理ブロックアドレスがFATの範囲内なので、メモリインタフェースコントローラ18を介してデータメモリ19にデータアクセスして行っている。
【0127】
引き続いて、ステップBS5により、ディスクドライブとの間で1クラスタ単位のセクタごとの16ビットワードデータの転送を行う。これを1フレーム映像音声データに相当する連続データの指定クラスタ数分の読み書きを完了するまで行い、ステップBS6によりYes判断がなされる。
【0128】
次に、映像音声データ1フレーム転送完了処理および次の映像音声データ転送準備処理を行う(ステップBS8)。これは、たとえば映像音声データ入出力回路16がその内部に2つのバンクメモリを有していて、映像音声データの有するフレーム時間と同期させて、1フレーム時間ごとに交互に切り替え、片方をディスクドライブ21とのデータ転送バッファメモリに使用し、もう片方を外部映像音声データとの映像音声データ入出力転送バッファメモリに使用し、それぞれのデータ転送を各1映像音声フレーム時間内で転送完了させる処理を行うものであってよい。
【0129】
この場合には、上述のステップBS8での転送完了処理および転送準備処理とは、片方の内部メモリから1フレームの映像音声データを読み出してディスクドライブ21に書き込みデータ転送完了した後で、次に他方の内部メモリに切り替えて外部から入力されて用意されている1フレームの映像音声データを読み出し、ディスクドライブ21へ書き込みデータ転送準備をすること、あるいは、その片方の内部メモリにディスクドライブ21から読み出した1フレームの映像音声データを書き込み終えた後で他方の内部メモリに切り替えて、次にディスクドライブ21から読み出されてくる1フレームデータをこの内部メモリに書き込み準備することである。
【0130】
次には、連続する全映像音声データの転送、読み書きが完了したかどうかの判断処理を行う(ステップBS9)。これは、連続する各フレームの多数で成り立つ、映像音声データの連続するフレームデータからなる、1ファイルの転送が完了したか否かの判断処理である。たとえば1フレームが1/30秒の映像音声データの場合ならば、1ファイルが1分長さの場合では1800フレーム、1時間長さでは108000フレームの連続データとなる。映像音声データ入出力回路16から入力した連続映像音声データをディスクドライブ21に書き込みする際には、映像音声の1番組、1連続撮影編集ショットが完了したこと、あるいはディスクドライブ内のファイル化された連続映像音声データの1ファイルの読み出しが完了したか否かを判断することが1ファイルデータの転送が完了したことに相当する。
【0131】
ここで、1ファイルデータの転送が完了していないとの判断を得た場合には、Noの判断処理になり、プログラム引数での次の1フレームのディスクドライブ21の連続するクラスタ個数分追加読み出しあるいは追加書き込みを設定する処理を行う(ステップBS10)。そして、ステップBS7にてFAT内のクラスタチェーンの次のクラスタ番号を読み出しあるいは書き込みする処理をメモリインタフェースコントローラ18に対して行い、ステップBS5にて再びディスクドライブ21に対してクラスタ単位でのデータ転送処理を行う。
【0132】
なお、ステップBS9の判断処理において、1ファイルデータの転送が完了し、Yesの判断処理になる場合には、ディスクドライブ21との間で1ファイルデータの転送処理が完了したことになる。
【0133】
以上でファイルシステム自体の1ファイルの転送処理は終えるが、ここで、後処理として、前述の図示しない別アドレスのメモリアドレスデコーダを介して、メモリインタフェースコントローラ18の内部に設けられている、これも図示しない機能設定レジスタをクリアすることによりメモリインタフェース機能をオフさせた後、この図示しない別アドレスのメモリアドレスデコーダを介してファイルデータ転送開始前にデータメモリ19に一旦読み出してあって、メモリ15上のディスクファイルシステムの処理動作によりファイル転送中にFAT内のクラスタチェーンのデータが更新されたブートレコード、FATデータおよびファイルシステムの仕様の必要に応じてFATのコピー、ディレクトリデータをディスクドライブ21の対応するブートレコード領域、FAT領域などに書き戻す。この後処理を行えば、ディスクドライブ21はディスクファイルシステムのファイル管理情報データ、特に更新されたFATデータをディスク上にデータ領域などとともに記録保存される。また、この後処理を行わずとも、ディスクドライブ21がリムーバブルディスクタイプでなくて、かつデータメモリ19が電池によってバックアップされるようにする、あるいはデータメモリ19として不揮発性の書き込み可能なメモリデバイスを使用することにすれば、ディスクドライブ21に更新されたデータを書き戻すことなく、そのままであってもよい。
【0134】
以上の1ファイルデータの転送において、処理ステップBS7および処理ステップBS10は、連続する論理ブロックアドレスである論理セクタに連続映像音声データを書き込んでいく際に、ディスクドライブ21のディスク上の論理セクタの所定範囲内の論理ブロックアドレス内までヘッドアーム部をアクセスして目的の論理セクタをディスク回転待ちする時間およびそれからディスク上の元の位置に復帰させ1ファイル内の次の論理セクタあるいはクラスタに連続映像音声データを書き込むためのアクセス時間と回転待ち時間の合計の時間不連続である約30ミリ秒が発生せず、代わりに次の論理セクタあるいはクラスタからのデータ転送のためにディスク1回転の回転待ちを行うための時間不連続である10ミリ秒だけで済むため、残りの23ミリ秒でデータ転送処理を完了させることができ、ファイルシステムを使用してのリアルタイムな映像音声データ転送が実現される。
【0135】
なお、特に上述の処理流れ説明ではFAT領域のクラスタチェーンデータをデータメモリ19に転送して用意する前処理および後処理として、別途図示しないアドレスデコード回路を介してデータメモリ19へアクセスすることとしたが、別途のアドレスデコード回路を用いずに、後述のプロトコルにおいて示すように、(コマンドコードを書き込んでから後の400ns時間待ちではなくて)コマンドパラメータをLBA[27:0]レジスタに設定してからコマンドコードをコマンドレジスタに書き込むまでの間に少なくとも400ns以上時間待ちする処理を設けることにより、メモリインタフェースへのアクセス経路切り替えを自動的にリセットさせて、ディスクドライブ21内のFAT領域を含むファイルシステム管理情報パラメータ領域にアクセスして、そのデータをメモリ15に一旦ストアさせて、そのデータを今度は同じくコマンドパラメータのLBA[27:0]レジスタに論理ブロックアドレスを設定してからサイクル時間待ち後リセット回路47の待ち時間である400ns以内にコマンドコードを書き込めばメモリインタフェースコントローラ18を介してファイルシステム用のデータメモリ19にアクセスでき、メモリ15からFAT領域のデータを転送することとしてもよい。この場合、プロトコルタイミングおよびデータ転送経路が複雑になるが、ハードウェア構成はより簡素になる。
【0136】
ここで、ディスクドライブ21およびメモリインタフェースコントローラ18を介して行うデータメモリ19とのデータ転送処理について説明する。
本実施の形態では、ATAプロトコルに従って、その処理において一般にドライブの有するレジスタへのコマンドパラメータ設定の後、内部で設定値が確定するまでの一定の処理待ち時間である、約400nsの待ち時間処理を行うことを利用してメモリインタフェースコントローラ18とディスクドライブ21とを区別してデータ転送処理を行わせている。
【0137】
データ転送プロトコルは、ディスクドライブ21に対してATA−4標準で周知のATAプロトコルで行うが、特にここでFAT内のクラスタチェーンのデータ更新処理のためにLBA[27:0]レジスタの転送開始論理ブロックアドレス値が0h〜133hの範囲内であったときは、データ転送先を切り替えてメモリインタフェースコントローラ18を介してデータメモリ19にFATのクラスタチェーン更新のデータ転送を行うので、以下にこの処理の流れを中心に説明する。なお、データ転送プロトコルはPIOまたはDMA転送プロトコルの場合であるが、UltraDMA転送プロトコルおよび今後のATAの拡張にもとづくデータ転送プロトコルの場合は、その転送プロトコルに従い、本プロトコル処理を同様に行うことが可能である。
【0138】
次に、ホストバス(CPU)側のデバイスからPIO転送プロトコルによりデータを読み出す処理手順CSRについて説明する。
図11はホストバス側のデバイスからのPIOデータ読み出し処理の流れを示すフローチャートである。
【0139】
まず、LBA[27:24]を含むデバイス/ヘッドレジスタへの書き込み処理によって、ディスクドライブ21はデバイス0であるかデバイス1であるかのデバイス選択処理を行う(ステップCSR1)。
【0140】
次いで、ステータスレジスタの読み出し処理が行われる(ステップCSR2)。これは、ディスクドライブ21の内部レジスタがBSY=0およびDRQ=0となって、上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ18の内部のLBA[27:0]レジスタM4内のLBA[27:24]を含むバイト長レジスタのデバイス/ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス/コマンドレジスタM2はディスクドライブ21の内部ステータス/コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【0141】
次いで、コマンドパラメータをレジスタへ設定する(ステップCSR3)。この設定処理により、セクタカウントレジスタM3にセクタ転送数が設定され、LBA[27:24]、LBA[23:16]、LBA[15:8]、LBA[7:0]の各レジスタを総合してのLBA[27:0]レジスタM4に論理ブロックアドレスのコマンドパラメータ値が設定される。
【0142】
ここで、ディスクドライブ21内のファイルシステムによるFAT領域内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)にその転送開始設定値があることを、メモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ21およびメモリインタフェース側でのコントロール線、データ線の切り替え処理が行われる(ステップCSR4)。
【0143】
ここでの切り替え処理では、論理ステート制御回路46から所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11がアドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成準備がされ、かつコントロールバスB3のディスクドライブ21への切り替え回路20がオフされる。
【0144】
次いで、ホストバス側はコマンドコードのコマンドレジスタへの設定処理を行う(ステップCSR5)。ここで、ATAプロトコルには影響ないが、このステップCSR5で設定処理を行うまでに400ns以上ホストバス側が処理を待つならば、ステップCSR4において、論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路47の動作により復帰され、コントロール線、データ線はディスクドライブ21側に復帰され、アドレス・制御信号生成用メモリインタフェースコントローラ50の使用はディスエーブルにされる。この処理待ち時間を切り替える処理は、前述のディスクとのFAT領域のデータへのアクセスと、ファイルシステム用のデータメモリ19へのアクセスとのアクセス先を切り替える際に使用することができる。
【0145】
ステップCSR5のコマンドコードの設定処理に続き、ATA−4標準プロトコルの400ns待つ処理を行う(ステップCSR6)。
そして、メモリインタフェースコントローラ18より、メモリINTRQ信号の発生処理がなされる(ステップCSR7)。
【0146】
これを受けたホストバス側は、メモリ内のステータスレジスタを読み出し、BSY=0およびDRQ=1としてデバイス側がデータ転送準備完了の確認処理を行う(ステップCSR8)。あるいは、ここで、データ転送準備完了のYes判断を得るまでオルタネートステータスレジスタの読み出しループ処理による待ち処理を繰り返してもよい。
【0147】
データ転送準備完了のステータスレジスタM2において、BSY=0およびDRQ=1の設定状態が読み出されることにより、メモリインタフェースコントローラ18内部でメモリINTRQ発生が自動的にクリア処理される(ステップCSR9)。
【0148】
この割り込み処理が完了したならば、ホストバス側はメモリインタフェースコントローラ18を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6への読み出しアクセスによりワードデータ転送処理を行う(CSR10)。
【0149】
次に、転送ブロック終了判断処理が行われる(ステップCSR11)。ここで、No判断処理の場合はステップCSR10に戻るようにしたことにより、1転送ブロックである1セクタデータのワード転送回数を終了しない場合は、メモリインタフェースコントローラ18はデータレジスタからのワードデータ転送処理を繰り返す。
【0150】
転送ブロック終了判断処理ステップCSR11により、1セクタ=256回のワード転送により512バイト転送が完了したYes判断を行った場合は、次の全データの転送終了の判断処理を同じくメモリインタフェースコントローラ18内部で行う(ステップCSR12)。
【0151】
全データの転送終了判断処理ステップCSR12において、セクタカウントレジスタにあらかじめ設定してあったセクタ転送数に達していないと判断したら、メモリインタフェースコントローラ18はNo判断を行い、元に戻ってメモリINTRQ割り込み要求信号をホストに送り出す処理ステップCSR7を行うことをループ処理で繰り返し、次のセクタのワードデータ転送処理の繰り返しへと続く。
【0152】
セクタカウントレジスタの設定回数からデータ転送終了と判断した場合には、Yes判断処理により、続いてメモリインタフェースコントローラ18内のステータスレジスタM2の読み出し処理を行う(ステップCSR13)。
【0153】
これを受けて、メモリインタフェースコントローラ18内の論理ステート制御回路46は所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力を不可にし、これにともない、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ21との通常のデータ転送が可能なハードウェア状態に復帰させる(ステップCSR14)。
【0154】
以上がPIOデータ読み出し転送処理流れの説明である。次に、ホストバス側のデバイスからPIO転送プロトコルでデータを書き込む手順CSWについて説明する。
【0155】
図12はホストバス側のデバイスからのPIOデータ書き込み処理の流れを示すフローチャートである。
デバイスコントロールレジスタへの書き込み処理によって、ディスクドライブ21のデバイス0またはデバイス1の選択処理を行う(ステップCSW1)。
【0156】
次いで、ステータスレジスタの読み出し処理が行われる(ステップCSW2)。これは、ディスクドライブ21の内部レジスタがBSY=0およびDRQ=0となって上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ18の内部のLBA[27:0]レジスタM4の内の、LBA[27:24]を含むバイト長レジスタのデバイス/ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス/コマンドレジスタM2はディスクドライブ21の内部ステータス/コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【0157】
次いで、コマンドパラメータをレジスタへ設定する(ステップCSW3)。この設定処理により、セクタカウントレジスタM3へセクタ転送数が設定され、LBA[27:24]、LBA[23:16]、LBA[15:8]、LBA[7:0]の各レジスタを総合してのLBA[27:0]レジスタM4へ論理ブロックアドレスのコマンドパラメータ値が設定される。
【0158】
ここで、ディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)にその転送開始設定値があることを、メモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ21およびメモリインタフェース側でのコントロール線およびデータ線の切り替え処理が行われる(ステップCSW4)。
【0159】
ここでの切り替え処理では、論理ステート制御回路46から所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11が出力され、これがアドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成の準備がなされ、かつコントロールバスB3のディスクドライブ21への切り替え回路20がオフされる。
【0160】
次いで、ホストバス側はPIO書き込み系コマンドコードのコマンドレジスタへの設定処理を行う(ステップCSW5)。ここで、ATAプロトコルには影響ないが、この処理ステップCSW5を行うまでに400ns以上ホストバス側が処理を待つならば、処理ステップCSW4において、論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路47の動作により復帰され、コントロール線、データ線はディスクドライブ21側に復帰され、アドレス・制御信号生成用メモリインタフェースコントローラ50の使用はディスエーブルにされる。
【0161】
ステップCSW5のコマンドコードの設定処理に続き、ATA−4標準プロトコルの400ns待つ処理を行う(ステップCSW6)。
ホスト側はこれに引き続き、メモリ内のステータスレジスタでBSY=0およびDRQ=1としてデバイス側がデータ転送準備完了を示すか否かの判断処理を行う(ステップCSW7)。これは、データ転送準備完了のYes判断を得るまでループにより処理を繰り返す。
【0162】
そして、データ転送準備完了を示すメモリ内のステータスレジスタのBSY=0およびDRQ=1を確認したら、続いてメモリインタフェースコントローラ18を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6への書き込み制御信号アクセスによりワードデータ転送処理を行う(ステップCSW8)。
【0163】
次に、転送ブロック終了判断処理が行われる(ステップCSW9)。この判断処理によって、1セクタ=256回のワードデータ、すなわち512バイトデータ転送を終了しない場合は、No判断処理により、ワードデータ転送処理ステップCSW8を繰り返す。
【0164】
転送ブロック終了判断処理ステップCSW9により、1セクタ=256回のワードデータ転送により512バイト転送が終了したYes判断をメモリインタフェースコントローラ18内で行ったら、続いて、メモリインタフェースコントローラ18はメモリINTRQ信号をホストバス側のCPUに送り出す処理を行う(ステップCSW10)。
【0165】
これを受けたCPUは、メモリインタフェースコントローラ18内のステータスレジスタを読み出し処理を行うことによってメモリインタフェース割り込み要求に応答する(ステップCSW11)。
【0166】
これを受けたメモリインタフェースコントローラ18はステータスレジスタの読み出し処理を受けて、CPUへ割り込み要求するメモリINTRQ信号の取り下げ処理を行う(ステップCSW12)。
【0167】
メモリインタフェースコントローラ18は、メモリINTRQ信号の取り下げ処理ステップCSW12に引き続いて、全データの転送終了判断処理を行う(ステップCSW13)。この判断処理において、セクタカウントレジスタにあらかじめ設定されていたセクタ転送数に達しないと判断したら、メモリインタフェースコントローラ18はNo判断を行い、元に戻って次のセクタのデータ転送をワード単位で行うワードデータ転送処理ステップCSW8へと続き、次のセクタのワードデータ転送を引き続き繰り返す。
【0168】
全データの転送終了判断処理ステップCSR13において、メモリインタフェースコントローラ18が全データ転送終了したと判断したら、メモリINTRQ信号の発生処理がなされる(ステップCSW14)。
【0169】
次いで、CPUは、メモリインタフェースコントローラ18内のステータスレジスタM2に対してBSY=0およびDRQ=0状態のステータスレジスタM2を読み出す処理を行う(ステップCSW15)。これにより、メモリインタフェースコントローラ18内部ではメモリINTRQ発生が自動的にクリア処理される(ステップCSW16)。
【0170】
この割り込み処理が完了したならば、これを受けて、メモリインタフェースコントローラ18内の論理ステート制御回路46は所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力を不可にし、これにともない、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ21との通常のデータ転送が可能なハードウェア状態に復帰させる(ステップCSW17)。
【0171】
以上がPIOデータ書き込み転送処理流れの説明である。次に、DMAデータ転送処理流れの説明を行うが、DMA転送ではコマンドコードおよびCPUのデータポートへの読み出し書き込み制御以外は読み出し書き込みの両方とも同一プロトコル処理なので一緒に説明する。
【0172】
図13はホストバス側のデバイスからのDMAデータ転送処理の流れを示すフローチャートである。
まず、デバイスコントロールレジスタへの書き込み処理によって、デバイス0、デバイス1の選択処理を行う(ステップCSD1)。
【0173】
次いで、ステータスレジスタの読み出し処理を行う(ステップCSD2)。これは、ディスクドライブ21の内部レジスタがBSY=0およびDRQ=0となって上述のデバイス選択処理の受付が完了したことを判断するためである。なお、このときメモリインタフェースコントローラ18の内部のLBA[27:0]レジスタM4の内の、LBA[27:24]を含むバイト長のレジスタであるデバイス/ヘッドレジスタは、デバイス選択のための書き込みを受けているが、その状態を反映すべきステータス/コマンドレジスタM2はディスクドライブ21の内部ステータス/コマンドレジスタとのデータ衝突を防止するために、初期状態ではレジスタデータ読み出しには出力高インピーダンスで応答する。このアクセスディスエーブル状態は後述の論理ブロックアドレスによるコントロール線、データ線の切り替えによってイネーブル化され、コントロール線、データ線の切り替えの復帰で再度ディスエーブルに処理される。
【0174】
次に、コマンドパラメータのレジスタへの設定処理を行う(ステップCSD3)。これにより、セクタカウントレジスタへのセクタ転送数および、LBA[27:24]、LBA[23:16]、LBA[15:8]、LBA[7:0]の各レジスタを総合してのLBA[27:0]レジスタへの論理ブロックアドレスのコマンドパラメータ値の設定処理が行われる。ここで、ディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)にその転送開始設定値があることを、メモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合には、論理ブロックアドレスの設定値によるディスクドライブ21側およびメモリインタフェースコントローラ18側でのコントロール線、データ線の切り替え処理が行われる(ステップCSD4)。
【0175】
ここでの切り替え処理では、論理ステート制御回路46から所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11が出力され、これがアドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成準備がなされ、かつディスクドライブ21へのコントロールバスB3が切り替え回路20によりオフされる。
【0176】
次いで、ホストバス側はDMA転送系またはUltraDMA転送系コマンドコードのコマンドレジスタへの設定処理を行う(ステップCSD5)。ここで、ATAプロトコルには影響ないが、処理ステップCSD5を行うまでに400ns以上ホストバス側が処理を待つならば、処理ステップCSD4において論理ブロックアドレスの所定範囲検出によるコントロール線、データ線の切り替え処理はサイクル時間待ち後リセット回路47の動作により復帰され、コントロール線、データ線はディスクドライブ21側に復帰され、メモリインタフェースコントローラ18の使用はディスエーブルにされる。
【0177】
コマンドコードの設定処理ステップCSD5に続き、ATA−4標準プロトコルの400ns待つ処理を行う(ステップCSD6)。
デバイス側のメモリインタフェースコントローラ18はこの時間待ちの処理に続き、データ転送準備完了およびホストバス側にデータ転送要求を示すDMARQをデータ転送期間中は発し続ける処理を行う(ステップCSD7)。
【0178】
このDMARQの発生状態を受けたホストバス側はIOR−、IOW−とともにメモリインタフェース5を介してデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6に対して、DMAデータ転送制御信号DMACK−をワードデータ単位で発生し、アクセスすることによりワードデータ転送処理を行う(ステップCSD8)。
【0179】
ここで、デバイス側において、転送ブロック終了判断処理が行われる(ステップCSD9)。この判断処理により、セクタカウントレジスタの設定回数を終了しない場合は、No判断処理により、ステップCSD7へ進んで、DMARQ信号発生状態を継続したまま引き続き、ホストバス側において、ステップCSD8の処理であるDMACK−によるアクセスを繰り返す。
【0180】
デバイス側において、ステップCSD9での判断処理がYesの場合には、メモリインタフェースコントローラ18によりメモリINTRQ信号の発生処理がなされる(ステップCSD10)。
【0181】
次に、データブロック転送完了を示す、メモリ内のステータスレジスタM2に対してBSY=0およびDRQ=0状態のステータスレジスタM2を読み出す処理を行う(ステップCSD11)。これにより、メモリインタフェースコントローラ18内部では、メモリINTRQ発生は自動的にクリア処理される(ステップCSD12)。
【0182】
この割り込み処理が完了したならば、これを受けて、メモリインタフェースコントローラ18内の論理ステート制御回路46は論理ステート制御回路46で所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力が不可にされ、これに伴い、コントロール線、データ線の切り替え処理を復帰させる処理を行い、ディスクドライブ21との通常のデータ転送が可能なハードウェア状態に復帰させる(ステップCSD13)。
【0183】
以上がDMAデータ読み出し書き込みの転送処理流れの説明である。このように、DMA転送の場合は、各セクタごとの割り込み要求信号発生がないので、処理が簡素化され、セクタごとの割り込み処理時間発生がない分だけ高速処理ができる。
【0184】
図14はPIO読み出し動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。この図では、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)であることを、メモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合に、データメモリ19とのデータ転送を行う動作を説明している。
【0185】
まず、デバイス/ヘッドレジスタへデバイス選択コードを書き込むことにより、デバイス選択が行われる。次に、ディスクドライブ21内部のステータスレジスタにより、ドライブ内部で処理中のBSYビットおよびデバイスからのデータ転送準備完了のDRQビットをDRQ=0、BSY=0にセットする。次いで、ステータスレジスタのステータスコードを読み出して、DRQ=0、BSY=0のセットによりディスクデバイスが選択セットされた状態を確認する。
【0186】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、4個のレジスタからなるLBA[27:0]レジスタにセクタ転送開始位置として28ビットの転送開始論理ブロックアドレス値を設定する。
【0187】
続いて、論理ステート制御回路46によるコントロールバスB3のディスクインタフェース切り替え動作を行うとともに、サイクル時間待ち後リセット回路47が所定時間、たとえば400nsの、計時を開始する。ここでは,メモリインタフェースコントローラ18を選択する動作説明であるので、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(このディスクドライブの場合の設定値範囲内である<=133h)であることをメモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合には、データメモリ19とのデータ転送を行う動作になる。ここでの切り替え動作は、論理ステート制御回路46での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力が、アドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成準備がされ、かつコントロールバスB3のディスクドライブ21への切り替え回路20をオフさせる。この切り替え回路20のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【0188】
続いて、コマンドレジスタへのPIO読み出し系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路47の出力側にあるスイッチ48をオフさせて、論理ステート制御回路46での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ50に入力され続け、また同様にコントロールバスB3のディスクドライブ21への切り替え回路20をオフ状態のまま維持させる動作をする。
【0189】
この後、ホスト側は400nsの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのコマンドコード書き込みを受けて、今度は、メモリインタフェースコントローラ18は内部のステータスレジスタM2にデバイスデータ転送準備完了を示すBSY=0、DRQ=1をセットし、メモリINTRQ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこれによってメモリINTRQ信号をクリアする。続いて、ホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6への読み出し制御信号アクセスIOR−を発することにより、ワード単位のデータ転送を1セクタ分、繰り返しデータ転送する。ATA−3標準では1セクタは256ワードである。このメモリインタフェースコントローラ18のメモリINTRQ信号の発生とホスト側のステータスレジスタ読み出し処理に続くセクタデータの転送を、セクタカウントレジスタの転送セクタ数分だけ繰り返し動作を行う。
【0190】
全データの転送が終了したら、デバイス側はステータスレジスタにDRQ=0、BSY=0の転送完了状態を設定し、ホストがこのレジスタを読み出す動作に続いて、サイクル時間待ち後リセット回路47の出力のスイッチ48をオフからオンに復帰させて、論理ステート制御回路46での所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力もリセットされて、コントロールバスB3のディスクドライブ21へのSW切り替え回路20をオン状態に復帰する動作が続く。
【0191】
ここで、ホスト側のプログラム処理は、毎回のステータスレジスタの読み出しでフラグをセットし、デバイスからのメモリINTRQ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することでATAプロトコルのデータ転送を実現することとしてもよい。
【0192】
図15はPIO書き込み動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。この図では、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)であることをメモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合に、データメモリ19とのデータ転送を行う動作を説明している。
【0193】
まず、デバイス/ヘッドレジスタへの書き込みにより、デバイス選択を行う。次に、ディスクドライブ21内部のステータスレジスタにより、ドライブ内部でDRQ=0、BSY=0をセットする。次いで、ステータスレジスタのステータスコードを読み出して、DRQ=0、BSY=0のセットによりディスクデバイスが選択セットされた状態を確認する。
【0194】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、4個のレジスタからなるLBA[27:0]レジスタにセクタ転送開始位置として28ビットの転送開始論理ブロックアドレス値を設定する。
【0195】
続いて、論理ステート制御回路46によるコントロールバスB3のディスクインタフェース切り替え動作を行うとともに、サイクル時間待ち後リセット回路47が所定時間、たとえば400nsの、計時を開始する。ここでは、メモリインタフェースコントローラ18を選択する動作説明であるので、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)であることをメモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合には、データメモリ19とのデータ転送を行う動作になる。ここでの切り替え動作では、論理ステート制御回路46から出力された、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11が、アドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成準備がされ、かつコントロールバスB3のディスクドライブ21への切り替え回路20がオフされる。この切り替え回路20のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【0196】
続いて、コマンドレジスタへのPIO書き込み系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路47の出力側にあるスイッチ48をオフさせて、論理ステート制御回路46からの所定の論理ブロックアドレス範囲の指定されたことを示すメモリアドレス生成イネーブル信号MC11の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ50に入力され続け、また同様にコントロールバスB3のディスクドライブ21への切り替え回路20をオフ状態のまま維持させる動作をする。
【0197】
この後、ホスト側は400nsの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのPIO書き込み系コマンドコードの書き込みを受けて、今度は、メモリインタフェースコントローラ18は内部のステータスレジスタM2にデバイスデータ転送準備完了を示すBSY=0、DRQ=1をセットし、続いてホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6への読み出し制御信号アクセスIOW−を発することにより、PIO読み出し処理の場合と同じようにワード単位のデータ転送を各セクタ単位での割り込み処理をともなってセクタカウントレジスタに設定されたセクタ数分だけ繰り返しデータ転送を行う。
【0198】
データ転送が終了したら、デバイスはステータスレジスタにDRQ=0、BSY=0の転送完了状態を設定し、メモリINTRQ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこの読み出し動作によってメモリINTRQ信号をクリアする。ホスト側がこのレジスタを読み出してデバイスがメモリINTRQ信号をクリアする動作に続いて、サイクル時間待ち後リセット回路47の出力のスイッチ48をオフからオンに復帰させて、論理ステート制御回路46から出力された、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11もリセットされ、コントロールバスB3のディスクドライブ21への切り替え回路20をオン状態に復帰する動作が続く。
【0199】
ここで、PIO読み出し動作と同様に、ホスト側のプログラム処理は、ステータスレジスタの読み出しでフラグをセットし、デバイス側からのメモリINTRQ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することによってATAプロトコルのデータ転送を実現することとしてもよい。
【0200】
図16はDMAデータ転送動作によるメモリインタフェースコントローラのデータ転送の動作説明図である。ここでは、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)であることをメモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合に、データメモリ19との間でデータ転送を行う動作を説明している。
【0201】
まず、デバイス/ヘッドレジスタへの書き込みにより、デバイス選択を行う。次に、ディスクドライブ21内部のステータスレジスタにより、ドライブ内部でDRQ=0、BSY= 0をセットする。次いで、ステータスレジスタのステータスコードを読み出して、DRQ=0、BSY= 0をセットすることによりディスクデバイスが選択セットされた状態を確認する。
【0202】
次いで、コマンドパラメータの設定に入る。まず、セクタカウントレジスタにセクタ転送カウント数を設定する。続いて、4個のレジスタからなるLBA[27:0]レジスタM4に28ビットの転送開始論理ブロックアドレス値を設定する。
【0203】
続いて、論理ステート制御回路46によるコントロールバスB3のディスクインタフェースの切り替え動作を行うとともに、サイクル時間待ち後リセット回路47が所定時間、たとえば400nsの、計時を開始する。ここではメモリインタフェースコントローラ18を選択する動作説明であるので、転送開始設定値がディスクドライブ21内のファイルシステムによるFAT内のクラスタチェーンを含むアドレス範囲内(この場合は<=133h)であることをメモリインタフェースコントローラ18内の論理ステート制御回路46が判別した場合に、データメモリ19とのデータ転送を行う動作になる。ここでの切り替え動作では、論理ステート制御回路46の出力した、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11が、アドレス・制御信号生成用メモリインタフェースコントローラ50に入力されてメモリアドレス生成の準備がなされ、かつコントロールバスB3のディスクドライブ21への切り替え回路20がオフされる。この切り替え回路20のオフ状態は再びステータスレジスタが読み出されて、データ転送中止リセットあるいはデータ転送完了を示すまで継続する。
【0204】
続いて、コマンドレジスタへのDMA転送系またはUltraDMA転送系コマンドコードの書き込み動作を行う。この結果、これはサイクル時間待ち後リセット回路47の出力のスイッチ48をオフさせて、論理ステート制御回路46からのメモリアドレス生成イネーブル信号MC11の出力が、その後のデータ転送中はアドレス・制御信号生成用メモリインタフェースコントローラ50に入力され続け、また同様にコントロールバスB3のディスクドライブ21への切り替え回路20をオフ状態のまま維持させる動作をする。
【0205】
この後、ホスト側は400nsの待ち時間を設けた後、次の動作に入る。
コマンドレジスタへのDMA転送系コマンドコードの書き込みを受けて、今度は、メモリインタフェースコントローラ18は内部のステータスレジスタM2にデバイスデータ転送準備完了を示すBSY=0、DRQ=1をセットし、セクタカウントレジスタのセクタ数分のブロックデータ転送回数が終了するまでメモリインタフェース側からデータ転送要求状態信号であるDMARQ信号を発生させ続ける。
【0206】
続いて、ホスト側はデータレジスタのアドレス発生回路に相当するワード単位アドレス発生回路M6への読み出し制御信号アクセスIOR−、IOW−とともにDMACK−をワード単位転送で発することにより、ワード単位のデータ転送をセクタカウントレジスタに設定されたセクタ数分だけ繰り返しデータ転送を行う。
【0207】
データ転送が終了したら、デバイスはステータスレジスタにDRQ=0、BSY=0の転送完了状態を設定し、メモリINTRQ信号を発生させる。ホスト側はステータスレジスタの読み出しを行ってデバイスデータ転送準備完了を確認し、デバイス側はこの読み出し動作によってメモリINTRQ信号をクリアする。ホスト側がこのステータスレジスタを読み出してデバイス側がメモリINTRQ信号をクリアする動作に続いて、サイクル時間待ち後リセット回路47の出力のスイッチ48をオフからオンに復帰させて、所定の論理ブロックアドレス範囲が指定されたことを示すメモリアドレス生成イネーブル信号MC11の論理ステート制御回路46からの出力もリセットされ、コントロールバスB3のディスクドライブ21への切り替え回路20をオン状態に復帰する動作が続く。
【0208】
ここで、DMAデータ転送動作においても同様に、ホスト側のプログラム処理は、ステータスレジスタの読み出しでフラグをセットし、デバイスからのメモリINTRQ信号の発生でフラグをクリアさせることにより、各段階のプログラムを切り替え処理することによりATAプロトコルのデータ転送を実現する。
【0209】
さらにここで、メモリインタフェースコントローラ18とファイルシステム用のデータメモリ19とをドライブ内部に設置し、データメモリ19をバッテリーバックアップ、あるいは電源不用の不揮発性フラッシュメモリで構築することにより、FATデータのディスクからメモリへの転送の前処理や、データ転送後の逆方向のメモリのFAT更新データのディスクへの書き戻しの後処理は不要となり、ファイルシステム用メモリ、ディスク一体型のATAディスクドライブとなすことができる。そして、それに対する各ハードウェア構成、緒動作説明は上述と同様に行うことが可能となる。
【0210】
このドライブはファイルシステムに対しても、高機能OSの搭載なしに特に連続データである映像音声データをファイル化して、ディスクドライブと映像音声入出力回路とのデータ転送をリアルタイムで行うことができる。
【0211】
次に、第2の実施の形態として、異なる複数ファイルシステムあるいはアクセススピードの異なる複数メカ形式のATA/ATAPI方式ディスクドライブでのシステム構成の例について説明する。
【0212】
図17はアクセス速度の異なる二つのディスクドライブに適用した場合の構成を示すブロック図である。図17の構成によれば、ディスクドライブ21として、第1ATA/ATAPIディスクドライブ21−1および第2ATA/ATAPIディスクドライブ21−2を用いている。第1ATA/ATAPIディスクドライブ21−1および第2ATA/ATAPIディスクドライブ21−2は、ディスクアクセス速度あるいはディスクファイルシステムの互いに異なるATA/ATAPI方式のディスクドライブである。ATAホストインタフェース回路17には、第1アドレス変換回路17a−1および第2アドレス変換回路17a−2を有して、それぞれ各ドライブの内部レジスタにメモリマップドI/O方式でアクセスするアドレス変換を行っている。メモリインタフェースコントローラ18は、その内部に、それぞれ第1ATA/ATAPIディスクドライブ21−1および第2ATA/ATAPIディスクドライブ21−2に対応する、第1メモリインタフェースコントローラ18−1および第2メモリインタフェースコントローラ18−2を有している。また、データメモリ19は、その内部に、第1ATA/ATAPIディスクドライブ21−1および第1メモリインタフェースコントローラ18−1と、第2ATA/ATAPIディスクドライブ21−2および第2メモリインタフェースコントローラ18−2とにそれぞれ対応して設けられた、第1データメモリ19−1および第2データメモリ19−2を有している。
【0213】
ここで、ディスクドライブ21の二つのドライブについて説明する。
第1ATA/ATAPIディスクドライブ21−1は、第1のディスクドライブを構成し、第1のファイルシステムを使用している。第1のディスクドライブの構成は、第1のヘッド搭載方式として磁気、光磁気、あるいは光記録方式の浮上スライダ式ヘッド搭載方式を使用し、第1のヘッド支持方式としてはジンバルおよびスイングアーム式ヘッド支持方式を使用し、第1のシークアクセス駆動方式としては、ボイスコイルモータ式駆動方式を使用し、ディスクトラック形式はゾーン化された同心円状トラック形式の固定式回転ディスクを使用した、ハードディスクなどの高速データ読み出し書き込み可能な、ATA/ATAPI方式ディスクドライブである。
【0214】
第2ATA/ATAPIディスクドライブ21−2は、第2のディスクドライブを構成し、第2のファイルシステムを使用している。第2のディスクドライブの構成は、第2のヘッド搭載方式として光磁気あるいは光記録方式の固定支持式ヘッド搭載方式を使用し、第2のヘッド支持方式としては光学焦点式およびリニアアクチュエータ式ヘッド支持方式を使用し、第2のシークアクセス駆動方式としては、リニアモータ式スライド駆動方式を使用し、ディスクトラック形式はゾーン化されたスパイラル状トラック形式のリムーバブルディスクを使用して、媒体への書き込み読み出しは比較的低速であってもスパイラルトラックにより連続して映像音声用途の連続データの読み出し書き込みに適した、DVD−RAM( 書き込み/ 読み出しが可能なDVD:Digital Versatile Disc)ディスクなどの、ATA/ATAPI方式ディスクドライブである。
【0215】
第1のディスクドライブが使用する第1のファイルシステムとして、本実施の形態では、FATファイルシステムを使用する。第1のディスクドライブ内部の第1ディスクには、図示するようにディスクアドレスLBAによってアクセスされるデータ領域があり、その中でFATおよびFATの続きを第1データメモリ19−1に記憶して、第1の実施の形態の場合と同様に、ファイルアクセスに使用する。
【0216】
第2のディスクドライブが使用する第2のファイルシステムとして、本実施の形態では、UDF(Universal Disk Format)ファイルシステムを使用する。第2のディスクドライブ内部の第2ディスクの各レイヤ層には、それぞれリードインで始まり、リードアウトで終わり、論理ブロックアドレスLBAでアクセスできるデータ領域がある。
【0217】
そのうちのレイヤ1を説明すると、図示するようにディスクアドレスLBAによって示される論理ブロック領域があるが、リードインは読み出し専用情報が存在していてその末尾にはホスト側ユーザからは読み書きアクセス不可のリムーバブルディスク毎の欠陥補正情報を書き込むエリアが確保されている。ここはたとえば現在のDVD−RAMではLBAで30FFFhまでである。
【0218】
リードインからリードアウトまでの間のデータエリアはホスト側からアクセスされ、繰り返し書き込み読み出し可能なデータ領域であって、DVD−RAMでは31000hから始まるオフセット付きLBAの論理ブロックアドレスでアクセスされる。
【0219】
ここで、リードイン内部の読み出し専用情報、リードイン内部にテーブルオブコンテンツ(TOC:Table of Contents)が存在するならばそのTOC、およびデータエリア内部にユーザテーブルオブコンテンツ(UTOC:User Table of Contents)が存在するならばそのUTOCとしての、ディスク容量およびファイルシステムによって必要なデータ量を保持できる約数千〜1万セクタ分のLBAアドレス分の記憶データが、第2メモリインタフェースコントローラ18−2を介してATAプロトコルでアクセスされ、第2データメモリ19−2に書き込み保存され、かつ読み出しアクセスされる。この第2データメモリ19−2に保存されたデータは、第1の実施の形態の場合と同様にして、ファイル化されたデータのアクセスに利用する。
【0220】
これにより、それぞれ方式の異なったディスクドライブであって、ヘッドアクセス速度仕様性能、使用するファイル形式が異なっている場合においても、ファイル化データの書き込み読み出しデータに特に時間連続性を必要とする映像音声データに対し、ファイル化処理にともなうヘッドシークアクセス発生による時間不連続が発生しないため、ディスクへの記録およびディスクからの読み出しを高速に行うことができる。
【0221】
次に、第3の実施の形態として、時間連続性を必要とするパケット形式で入出力される通信トランスポートストリームの映像音声データ信号に対して、ディスクへの記録の際には時間連続でこの映像音声データをファイル化して書き込み、この記録されたディスクからのファイル化された映像音声データの再生の際に、特に時間不連続な条件付きアクセスを実現するようなシステムの場合を例にして説明する。
【0222】
ここで、パケット形式トランスポートストリームに時間情報が含まれていない場合、あるいはその検出には複雑な方式ブロックを必要とする場合、データ記録中に別途記録時刻時計を用意して、ディスクへのデータ書き込みLBA位置情報と記録時刻との対照表を作成して、一連のデータ記録が完了した後でデータメモリ19にこの情報をUTOCとして転送し、データの記録時刻を利用したディスクからの特殊な条件付き再生の際に、ATAプロトコルでアクセスできるデータメモリ19を利用してUTOCを参照しつつヘッドシークアクセスによる時間不連続遅れの発生を減少させるパケット形式トランスポートストリーム映像音声データの再生システムを実現する。
【0223】
図18は記録時刻の条件付き頭だし再生アクセスを可能とするシステムの構成を示すブロック図である。図18の構成によれば、特に、映像音声データ入出力回路16は、その内部構成として、データ入出力バッファ兼コントローラ部16−1と映像音声データディスクアクセス表作成部16−2とを有している。この映像音声データディスクアクセス表作成部16−2はさらに、その内部構成として、ストリームパケットヘッダ検出部16−11と、ディスクアクセスLBA算出部16−12と、記録時刻時計(Real Time Clock)16−13と、ディスクLBA記録時刻対照表作成部16−14とを有している。
【0224】
まず、記録再生する信号である、パケット形式のトランスポートストリーム信号のデータ構成とその信号がデコードされるための使用前提となるデコーダ仕様について説明する。
【0225】
デジタル放送受信チューナから得られたMPEG2−TS(トランスポートストリーム)システム信号は、DVB形式の信号(DVB=Digital Video Broadcast)であって、圧縮信号の音声と映像とが1番組としてマルチプレクスされ、それを1番組として複数番組がマルチプレクスされた形式のストリーム信号である。そして、このデータは小さなデータサイズにパケット化されて伝送される。各番組は各パケット内に組み込まれる番組仕様情報コードのPID(パケットID)で区別される。
【0226】
この1パケットデータが先頭同期バイトデータ47hで始まる188バイト、そしてそれに続く不定データの16バイトで構成されている。なおここで、47hのバイトデータは先頭同期バイトデータに固有のデータではなく、伝送されるバイトデータにも存在しうるため、204バイト毎に存在する複数回の47hの先頭同期バイトデータの検出確認により各パケットの先頭同期バイトデータと判別、認識する。この場合の複数回とは、たとえば5回連続検出などである。
【0227】
また、信号デコーダ部の仕様としては、可変長データ入力に対応していて、アンテナ受信での電波障害やチューナの番組チャンネルザッピング操作など、間欠的にトランスポートストリーム信号のデータおよび時間不連続が発生した場合にも対応して、不連続時間中は直前のデコード結果画像データ出力をそのまま静止画で出力し、再度入力データの連続性が回復すれば正常入力状態を確認した後にMPEG2−TSシステム信号の正常デコード動作を0.2秒以内など迅速に再開する動作機能仕様を有する、デジタル放送受信チューナデコーダに使用されるデコーダ部とする。
【0228】
また、この図18の例では、図示はしないが、映像音声データ入出力回路16に、パケット形式のトランスポートストリームデータの入出力系システムブロックとして、受信入力/ローカルデコード出力機能、あるいはローカルエンコード入力/ローカルデコード出力機能を有するシステムブロックを接続して使用することを想定している。
【0229】
たとえばデジタル放送受信チューナを使用する場合には、機器コネクタより出力される受信信号出力を接続してDVB放送方式に準拠するMPEG2−TSシステムストリーム信号として入力し、あるいはその逆方向に切り替えて機器コネクタから入力されるDVB放送方式に準拠する受信MPEG2−TSシステムストリーム信号をデコードする機能のシステムブロックを受信チューナ内部に別途設けて、それを図18の映像音声データ入出力回路16に接続して出力する構成をとる。
【0230】
あるいはまた、通常映像音声信号入力をMPEG2−TSトランスポートストリームシステム信号にエンコードおよびマルチプレクスして入力する、あるいは機能を切り替えてその逆方向にデマルチプレクスおよびデコードして出力し通常映像音声信号出力する、システムブロックを図18の映像音声データ入出力回路16に接続して入出力する構成をとる。
【0231】
ここで、ディスクドライブへのパケット形式トランスポートストリームとしてのデジタル放送受信MPEG2−TSシステムストリーム信号の映像音声連続データのディスクへの記録データ取り扱い単位サイズの決定方法を説明する。
【0232】
パケット形式のトランスポートストリームデータのATA/ATAPIディスクドライブへの記録は、ディスク記録データのアクセスを容易化するために、通信系パケット単位をディスクデータのパケット単位であるセクタ単位に適合させる方法で記録する。
【0233】
現行ATA/ATAPI方式ディスクドライブでは、1セクタ=512バイトであり、その毎回の転送は1回につき最大128kバイトであるから、第1のディスクデータのパケット化方法としては、ディスクの1セクタ単位の512バイトとパケット形式トランスポートストリームの204バイトとの最小公倍数の104448バイト(19800hバイト)単位を1ディスクパケット単位とする、すなわちパケット形式トランスポートストリーム信号のパケット単位とディスクのセクタ単位とを区切りをあわせて記録を行う方法を使用する。この方法は、セクタ単位での任意位置からのアクセスが容易になる効果を有する。
【0234】
あるいはまた、この最小公倍数の104448バイトを超えて128kバイト、すなわち131072バイト(20000hバイト)までの間での204バイトの整数倍単位を1ディスクパケット単位として定める方法で記録を行う。
【0235】
この場合は、最終のセクタでは、セクタデータ転送途中でトランスポートストリーム繰返しデータ単位の204バイトの整数倍単位の終了に到達するが、その際には、そのセクタの残りのデータについては、アクセスを停止して、ATA/ATAPIディスクドライブ内蔵の制御レジスタに新たにコマンドを書き直すことにより転送アクセス待ち状態を解除して、新たに次のセクタのデータ転送処理を用意する。
【0236】
このとき、1セクタの書き込み途中で書き込みを停止すれば、ディスクのこのセクタの残りのデータ部分にはディスクドライブ内部ファームウェアの働きにより自動的にフォーマットデータが書き込まれ、それらの1セクタデータ部全体に対してECCが付加されてセクタ書き込みが終了する。つまり、ディスク上のデータはセクタ単位に取り扱える記録データとなる。これにより、パケット形式トランスポートストリーム信号のパケット単位集合でのデータアクセスが容易になり、かつディスクからの連続データアクセスが容易になる効果を有する。あるいはまた、DVB形式において、パケット形式トランスポートストリームの1パケット周期単位が188バイトの形式を選択する場合がある。その場合のディスクの1セクタ512バイトとの最小公倍数は、96256バイトとなり、この場合はこれを1ディスクパケット単位として定める方法で記録を行う。
【0237】
データ入出力バッファ兼コントローラ部16−1は、少なくともATA/ATAPI方式ディスクドライブの1回で転送できるデータサイズの最大である128kバイト単位の大きさとパケット形式トランスポートストリームの204バイトとの最小公倍数以上のメモリを複数有するバンクメモリであり、所定のパケット形式トランスポートストリーム転送サイズを転送するバンクメモリ単位時間毎に、片方のメモリに書き込みながら、バンクメモリを切り替えて外部からのデータを交互に取り込み取り出しする。図示しないパケット形式トランスポートストリームブロックからは時間連続で信号入力あるいは信号出力される。
【0238】
ここで、この1バンクメモリの切り替え単位時間を説明する。
本実施の形態での説明の場合、デジタル放送のDVB形式受信信号のMPEG2−TSトランスポートストリームシステム信号のとき、たとえばスカイパーフェクTVでは、1トランスポンダ帯域幅は約33MHzあり、その受信MPEG2−TSトランスポートストリームのシステム信号は、バイト単位パラレルデータ転送では、3.9555MHzクロックである。
【0239】
このため、最小公倍数104448バイト単位での書き込み読み出しの場合は(104448バイト/3.9555MHzデータクロック)約26.4ミリ秒毎に1回周期で各バンクメモリに交互に各パケットデータ集合を書き込み読み出し、メモリの切り替えを行うことになる。
【0240】
また、128kバイト(131072バイト)に最も近く最大である、1パケット+同期の204バイトの整数倍データサイズは、642個のパケット集合データであり、130968バイトである。この場合は、(130968バイト/3.9555MHzデータクロック)約33.1ミリ秒毎に1回周期で各バンクメモリに交互に各パケットデータ集合を書き込み読み出し、メモリの切り替えを行うことになる。
【0241】
映像音声データディスクアクセス表作成部16−2の内部構成としてのストリームパケットヘッダ検出部16−11は、デジタル放送受信チューナよりのMPEG2−TS(トランスポートストリーム)システム信号であるDVB形式の信号のパケット先頭同期バイトデータを検出する。
【0242】
この信号は、1パケットデータが先頭同期バイトデータ47hで始まる188バイトと、それに続く同期部の不定データの16バイトとで構成されていて、かつ47hのバイトデータは先頭同期バイトデータに固有のデータではなく、伝送バイトデータ内にも存在し得るため、204バイト毎に存在する複数回の47hバイトデータの周期的検出確認により各パケットの先頭同期バイトデータと判別して、パケット先頭を認識する。この場合の複数回とはたとえば5回連続検出、などである。
【0243】
ディスクアクセスLBA算出部16−12は、ディスク開始位置の論理アドレスLBA書き込みレジスタをディスクドライブ内蔵レジスタと同じ28ビット長さで有し、ATA/ATAPI方式のディスクドライブ21へのレジスタ書き込み制御データ( ディスクアクセスLBA制御信号) を内部レジスタに並列に取り込み、ディスクドライブへのデータ集合書き込みアクセス開始位置をLBAアドレスで取り込み、出力する動作を行う。
【0244】
ここで、取り扱うデータ集合としては、上述のパケット形式トランスポートストリームのパケットデータ+同期部データの繰り返しデータ長さの204バイトに対して、セクタとの最小公倍数のデータ集合、あるいは128kバイト以内で204バイトデータの整数倍の最大値を1集合データとして、その転送開始毎にそのディスクアクセス開始位置アドレスLBAをレジスタ取り込みする機能動作を有する。
【0245】
記録時刻時計16−13は、時、分、秒の時刻データを出力する時計であり、ディスクへのデータの記録の際に、毎回のLBAでのデータ集合書き込み開始に対応して、ディスクアクセスLBA算出部16−12に対応する時刻データを出力する動作を行う。なお、ここで簡便にするために毎回のセクタ開始毎ではなくて5秒毎としてもよい。
【0246】
そして、ディスクLBA記録時刻対照表作成部16−14は、ストリームパケットヘッダ検出部16−11からはパケット形式トランスポートストリーム信号の入力が正常である検出信号を受け、ディスクアクセスLBA算出部16−12からは毎回のデータ集合のディスク書き込み開始位置アドレスLBAデータを受け、記録時刻時計16−13からはその際の時刻データを受けて、これらデータを順次、ディスクLBA記録時刻対照表として配列データ形式で内部に記憶格納する。
【0247】
このように、パケット形式トランスポートストリーム信号をディスクドライブに記録する際に、ディスクLBAと記録時刻との対照表を作成していき、一連のパケット形式トランスポートストリームデータの記録が完了した後に、ブリッジインタフェース回路13はホストバス14を介してディスクLBA記録時刻対照表作成部16−14から対照表のデータを読み出して、ATAホストインタフェース回路17、メモリインタフェースコントローラ18を介してデータメモリ19に書き込む。これはATAプロトコルでアクセスされる、データメモリ19上に確保されるユーザ内容テーブル、すなわちUTOCとなる。
【0248】
ここで、このUTOCのデータサイズを考察するならば、1時間(60分)あたりの記録において、33ミリ秒毎のデータ集合個数は約10万9000個であり、この場合は256セクタすなわち128kバイトデータに余裕をもって収納可能である。予めディスク記録容量サイズに対応して、UTOCを記憶するためのデータサイズメモリを設けることとする。
【0249】
パケット形式トランスポートストリームデータをディスクドライブから条件付き再生(コンディショナルアクセス:Conditional Access)を行う際には、各データ集合をUTOCに記載のLBAアドレスに基づいて順次間欠的にデータ読み出しを行う。
【0250】
静止画再生の場合は、データ集合を読み出し再生してそのままデータ読み出しを中断させる。デコーダがデータ中断直前の画像を静止画として保持する。
条件付き頭だし再生では、UTOCの時刻を参照することによって、間欠的な通常再生の繰り返しを行う。すなわち、あるLBA位置からの通常の5秒間のデータ読み出し再生を行って、その後、データ読み出しを中断してたとえば1分後の次の位置のLBAアドレスにジャンプし(これは約10ミリ秒程度で達成される)、次の位置の5秒間の通常再生を行う、ことを繰り返す。
【0251】
ユーザは頭だし通常再生として、5秒間の通常再生により内容を把握し、記録時刻間隔でこの場合の1分後の位置にアクセスができ、このパケット形式トランスポートストリームのシステム信号デコーダがデータ不連続から回復できる次の0.2秒後に、次の内容を通常再生で5秒間鑑賞する。すなわち、飛ばし見機能の実現となる。この飛ばし見の記録時刻間隔は条件付き再生制御プログラムによって設定変更するものとする。
【0252】
なお、図示しないこのデコーダがデータ不連続の後に連続データ入力によって正常デコード動作を回復する時間が0.2秒の場合、正常映像を出力したことを検出部を設けて検出して、その検出信号によって出力画像を静止画出力で保持しつつ、データ読み出しを停止してUTOCデータを参照して記録時刻で見て次の0.2秒位置のLBAデータ位置にジャンプして、再度データ不連続の後の連続データ入力によってデコーダの正常デコード動作をこの0.2秒後に回復させ、その正常映像出力を検出して静止画出力を更新する、ことを0.2秒毎に繰返すことによって、1秒間に5枚(0.2秒おき)の静止画からなる動画像スロー再生を実現することを可能とさせる。
【0253】
これは、エラーなしデータが保証されているディスクドライブ用に仕様が定められたMPEG2−PSプログラムストリームと比較して、データ転送中にエラー発生の可能性があっても、それからの回復の迅速さを考慮しているDVB信号形式に対応するデコーダ仕様特性を利用して条件付き再生、特殊再生を実現するシステムである。
【0254】
次に、第4の実施の形態として、ディスクドライブの欠陥発生に伴う物理セクタのディスク上の物理的位置の置き換えが発生している場合に、ディスク上の距離位置の離れた交替セクタへの読み出しヘッドアクセスでデータ読み出し時間が不連続とならないようにした場合について説明する。
【0255】
図19は交替セクタへの読み出しヘッドアクセスでデータ読み出し時間不連続の発生防止を説明する図である。図19においては、ディスクドライブ21と、メモリインタフェースコントローラ18と、データメモリ19とを備えて、一つの映像音声データ読み出し用ATA/ATAPI方式ディスクドライブを構成している。
【0256】
読み出しデータに時間連続性が必要とされる映像音声データ再生用のディスクドライブ21に対して、ディスクドライブ21に記録されたデータのうち、ディスクのセクタ単位での欠陥発生に対しては、これに対応して記録セクタの物理的記録場所の置き換えであるセクタ交替処理を行って記録されている。
【0257】
これらは製造時に検出した欠陥セクタの欠陥リスト(Pリスト)、使用時に増加する欠陥セクタの欠陥リスト(Gリスト)の、論理ブロックアドレスLBAに基づいてドライブ内部ファームウェア制御によってセクタ置き換え処理が行われている。ここで、欠陥リストとしては、たとえばゾーンレコーディング方式のディスクにおいては、小規模な欠陥発生セクタをスキップして各データセクタの物理的位置の前後順序が維持されるスリッピング(Slipping)置き換え処理に対応する欠陥リスト(G1リスト)と、連続する比較的大きな欠陥発生セクタを各ゾーンの最終部毎に設けられているスペアエリアに置き換えてセクタの物理的位置の前後順序が入れ替わっても論理ブロックアドレス番号はリニアに維持するリニア(Linear)置き換え処理に対応する欠陥リスト(G2リスト)とがある。ここで、論理ブロックアドレス番号順に読み出す場合には、リニア置き換え処理された部分のデータセクタを読み出す際には、ヘッドアームのシークが発生していた。
【0258】
ここで、ディスクドライブ21に対して、ディスクドライブ21内部にメモリインタフェースコントローラ18とデータメモリ19とを含めて設ける構成とする。
【0259】
これらセクタ欠陥によってディスク上のセクタのLBAアドレス番号はそのままにこのセクタの物理的記録場所が置き換え処理される。セクタ交替処理されたセクタ群に対して、ドライブ内部システムファームウェアのソフトウェア制御により、電源パワーオン起動時に内蔵するメモリインタフェースコントローラ18に対して制御することによって、セクタ交替処理で置き換えたセクタ群のLBAアドレス範囲に対応するセクタ単位で内蔵するデータメモリ19にセクタデータをあらかじめ転送して、ドライブ外部からのデータ読み出しの用意をする。
【0260】
データ読み出しに際しては、欠陥セクタの置き換え処理をされた交替セクタに該当するLBAアドレスのセクタデータの読み出しアクセスでは、ヘッドアームを実際に物理的なシークをして交替セクタを読み出すのではなく、ドライブ内部のメモリインタフェースコントローラ18を介してデータメモリ19にアクセスしてセクタデータを読み出す。このため、ディスクドライブ21のヘッドアームのシークは発生しないために、シークによるデータ読み出し時間不連続発生をなくすことができる。
【0261】
電源パワーオン時にメモリインタフェースコントローラ18を介してデータメモリ19に欠陥セクタデータを転送し、ディスクドライブ21からの映像音声データ読み出しのときに、交替セクタのセクタデータ読み出しアクセスをメモリインタフェースコントローラ18を介してデータメモリ19に行うようにしたことにより、読み出しデータに時間連続性が必要とされる映像音声データ再生に適したデータ読み出し動作を有するディスクドライブ構成とすることができる。
【0262】
以上、本発明をその好適な実施の形態をもとに説明したが、本発明はこれら特定の実施の形態に限定されるものではない。
たとえば、上述の実施の形態の説明では、DOS互換ファイルシステムに対応したアクセスインタフェース装置とアクセス方法とについて説明したが、本発明は、FATのように、ディスク上の所定の論理ブロックアドレス範囲をファイルアクセスのためのファイル配置表(FAT)として集中して使用するような各ファイルシステムによって書き込み読み出しをする場合にも、同様に適用することができ、それら各ファイルシステムを採用したその他の各種OSによれば、映像音声連続データの書き込み読み出しにおいて、ファイル化されたデータをFATとともに書き込み読み出ししてもシークによる時間不連続の発生しない高速なデータ転送を実現することができる。このOSとは、たとえば民生機器用の組込み用途の各OSである。
【0263】
また、本発明はその実施の形態として、論理ブロックアドレスでアクセスするハードディスクの例で説明したが、これと同様に、回転するディスクを用いる論理ブロックアドレスでアクセスするディスクデバイスならば、リムーバブルディスク、光ディスク、光磁気ディスクへのファイル化した連続データの書き込み読み出しに適用して同様の効果を得ることができる。
【0264】
また、本発明はその実施の形態における説明として、ATA/ATAPI−4インタフェースを使用するディスクドライブについて説明したが、ATA/ATAPI−4の将来の機能拡張されたインタフェースを有するディスクドライブ、さらにはIEEE1394や、ATM(非同期転送モード)などのネットワークバスとのブリッジ機能をそのインタフェースに追加で有するディスクドライブにも同様に適用して効果を得ることができる。
【0265】
また、このディスクドライブのインタフェースに外部とのディジタルデータ送受信を光で行うための光1394インタフェースや、IrDA(Infrared Data Association)空間伝送インタフェースを光電変換部として追加で有するディスクドライブにも同様に適用して、連続したデータをファイル化しての書き込み、読み出しを必要とするポータブル通信マルチメディア用途にも同様の効果を得ることができる。
【0266】
【発明の効果】
以上説明したように本発明では、バッファ部から出力されるパケット形式のトランスポートストリーム信号を、このトランスポートストリーム信号における1パケットのデータサイズの整数倍であって、この1パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上であり、ディスク記録媒体での1回の最大転送データサイズ以下の値であるディスクパケット単位で、ディスク記録媒体へ記録するようにしたので、ディスク記録媒体における高速な連続データの書き込み読み出しが可能になる。
【図面の簡単な説明】
【図1】本発明のディスク媒体アクセスインタフェース装置の原理構成を示した図である。
【図2】ハードディスクドライブに適用した場合の全体構成を示すブロック図である。
【図3】CPUのアドレス配置マップ例を示す図である。
【図4】DOS互換ファイルシステムのファイル管理情報およびデータ領域の位置を示す図である。
【図5】メモリインタフェースコントローラの構成を示すブロック図である。
【図6】アドレス変換の例を説明する図であって、(A)はアドレスデコード元のCPUアドレスを示し、(B)はATAホストインタフェース回路がアクセスするアドレス変換後のデバイス入力アドレス信号とデバイス内部レジスタとの関係を示している。
【図7】アドレス・制御信号生成用メモリインタフェースコントローラの内部構成を示すブロック図である。
【図8】アドレス比較経路切り替え制御部の構成を示す図である。
【図9】ハードディスクドライブ起動時のドライブ初期設定からデータ転送の処理の流れを示すフローチャートである。
【図10】ファイルシステムで1ファイルデータとして連続する各フレーム映像音声データをファイル化して読み出し書き込みする処理の流れを示すフローチャートである。
【図11】ホストバス側のデバイスからのPIOデータ読み出し処理の流れを示すフローチャートである。
【図12】ホストバス側のデバイスからのPIOデータ書き込み処理の流れを示すフローチャートである。
【図13】ホストバス側のデバイスからのDMAデータ転送処理の流れを示すフローチャートである。
【図14】PIO読み出し動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。
【図15】PIO書き込み動作でのメモリインタフェースコントローラのデータ転送の動作説明図である。
【図16】DMAデータ転送動作によるメモリインタフェースコントローラのデータ転送の動作説明図である。
【図17】アクセス速度の異なる二つのディスクドライブに適用した場合の構成を示すブロック図である。
【図18】記録時刻の条件付き頭だし再生アクセスを可能とするシステムの構成を示すブロック図である。
【図19】交替セクタへの読み出しヘッドアクセスでデータ読み出し時間不連続の発生防止を説明する図である。
【図20】パーソナルコンピュータのファイルシステムを説明するための図である。
【図21】光ディスクのファイルシステムの例を説明するための図である。
【図22】メモリカードのファイルシステムの例を説明するための図である。
【符号の説明】
1……ディスク媒体アクセスインタフェース装置、2……ディスクストレージ手段、3……メモリ手段、4……第1のアクセス手段、5……第2のアクセス手段、6……メモリアクセス制限手段、7……記憶保持手段。
Claims (4)
- パケット形式のトランスポートストリーム信号が入力される信号入力部と、
前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号を一時的に記憶するバッファ部と、
前記バッファ部より出力された前記パケット形式のトランスポートストリーム信号をディスク記録媒体へ記録する記録部と、
前記パケット形式のトランスポートストリーム信号における1パケットのデータサイズの整数倍であって、当該1パケットのデータサイズと前記ディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での1回の最大転送データサイズ以下の値であるディスクパケット単位で、前記パケット形式のトランスポートストリーム信号を前記バッファ部に書き込むとともに、前記バッファ部から前記ディスクパケット単位で読み出して前記ディスク記録媒体へ記録するように制御する制御部と、
を有することを特徴とする情報記録装置。 - 前記バッファ部は複数の記憶領域を備え、
前記制御部は、前記ディスクパケット単位毎に前記記憶領域を切り換えて、前記パケット形式のトランスポートストリーム信号の書き込みおよび読み出しを行うことを特徴とする請求項1記載の情報記録装置。 - 前記パケット形式のトランスポートストリーム信号はMPEG2のトランスポートストリームであり、前記ディスク記録媒体はハードディスクであることを特徴とする請求項1記載の情報記録装置。
- 信号入力部が、パケット形式のトランスポートストリーム信号の入力を受け付け、
制御部が、前記パケット形式のトランスポートストリーム信号における1パケットのデータサイズの整数倍であって、当該1パケットのデータサイズとディスク記録媒体のセクタ単位のデータサイズとの最小公倍数以上、前記ディスク記録媒体での1回の最大転送データサイズ以下の値であるディスクパケット単位で、前記信号入力部より入力された前記パケット形式のトランスポートストリーム信号をバッファ部に書き込むように制御し、
前記制御部が、前記バッファ部に記憶された前記パケット形式のトランスポートストリームを前記ディスクパケット単位で読み出し、前記ディスクパケット単位で前記ディスク記録媒体へ記録するように制御する、
ことを特徴とする情報記録方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16512998A JP4310821B2 (ja) | 1997-12-24 | 1998-06-12 | 情報記録装置および方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP35570897 | 1997-12-24 | ||
JP9-355708 | 1997-12-24 | ||
JP16512998A JP4310821B2 (ja) | 1997-12-24 | 1998-06-12 | 情報記録装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11242563A JPH11242563A (ja) | 1999-09-07 |
JP4310821B2 true JP4310821B2 (ja) | 2009-08-12 |
Family
ID=26489981
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16512998A Expired - Lifetime JP4310821B2 (ja) | 1997-12-24 | 1998-06-12 | 情報記録装置および方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4310821B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113491A1 (ja) | 2009-03-31 | 2010-10-07 | パナソニック株式会社 | データ転送方法 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7106946B1 (en) * | 1999-09-28 | 2006-09-12 | Sony Corporation | Transport stream processing device, and associated methodology of generating and aligning source data packets in a physical data structure |
JP4269870B2 (ja) * | 2003-10-02 | 2009-05-27 | ソニー株式会社 | 記録再生装置及び記録方法 |
JP2006018426A (ja) * | 2004-06-30 | 2006-01-19 | Alpine Electronics Inc | データ処理装置及びデータ転送方法 |
JP4525493B2 (ja) | 2005-07-01 | 2010-08-18 | ソニー株式会社 | 記録制御装置、記録制御方法、及び、カメラ一体型記録装置 |
JP4201034B2 (ja) | 2006-09-04 | 2008-12-24 | ソニー株式会社 | 映像記録ビデオカメラ装置および映像記録方法、並びにプログラム |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
JP5120322B2 (ja) * | 2009-04-13 | 2013-01-16 | 三菱電機株式会社 | データ信号記録装置およびデータ信号再生装置 |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
JP2012113789A (ja) * | 2010-11-26 | 2012-06-14 | Buffalo Inc | ハードディスクドライブ装置およびその処理装置 |
JP5120479B2 (ja) * | 2011-04-28 | 2013-01-16 | 三菱電機株式会社 | データ信号記録装置およびデータ信号再生装置 |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US9766823B2 (en) | 2013-12-12 | 2017-09-19 | Memory Technologies Llc | Channel optimized storage modules |
-
1998
- 1998-06-12 JP JP16512998A patent/JP4310821B2/ja not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010113491A1 (ja) | 2009-03-31 | 2010-10-07 | パナソニック株式会社 | データ転送方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH11242563A (ja) | 1999-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0971358B1 (en) | Data processing apparatus and file management method therefor | |
JP4310821B2 (ja) | 情報記録装置および方法 | |
CN100382183C (zh) | 数据记录、数据再现、数据记录/再现设备与方法 | |
JP2008305548A (ja) | Avデータの記録再生に適した記録方法と再生方法及び、その記録ドライブと再生ドライブ及び、情報記録システムと情報再生システム及び、情報記録媒体 | |
JP2002150699A (ja) | 情報処理装置、情報処理方法及び情報処理方法を記録した記録媒体 | |
US20040105331A1 (en) | Method and apparatus for controlling the recording of digital information, and recording medium therefor | |
JP4487954B2 (ja) | データ記録装置、データ記録方法、及びプログラム | |
JP4604806B2 (ja) | 記録装置 | |
JP2001357637A (ja) | 情報再生装置、情報処理方法及び情報記録媒体 | |
JP4264777B2 (ja) | データ再生方法及びデータ再生装置 | |
US7716412B2 (en) | Data storage apparatus and data access method for controlling address information for data writing using a free area control table | |
KR100659915B1 (ko) | 데이터 전송 방법 및 장치 | |
US8165454B2 (en) | Recording control apparatus, recording control method and recording apparatus integral with camera | |
CN100583272C (zh) | 记录和再现设备以及记录方法 | |
US6496311B1 (en) | Data recording/reproducing unit, data recording method, data reproducing method, data recording/reproducing method, hard disk controller, and AV-data recording/reproducing method | |
JP3975586B2 (ja) | 記録再生装置および方法、並びにプログラム記録媒体 | |
JP4332516B2 (ja) | ディジタルデータ記録再生装置 | |
JP2008171566A (ja) | データ再生装置及びデータ記録装置、並びにデータ再生方法及びデータ記録方法 | |
JPH11176103A (ja) | ディジタル情報の記録再生システム及び同システムに適用する欠陥管理方法 | |
KR20000035410A (ko) | 데이터 기록 장치 및 방법과, 데이터 재생 방법 및 기록매체 | |
JP2009087487A (ja) | ディスク装置及びデータの先読み方法 | |
JP4196512B2 (ja) | Avデータの記録再生に適した記録方法と再生方法及び、その記録ドライブと再生ドライブ及び、情報記録システムと情報再生システム及び、情報記録媒体 | |
JPH0541037A (ja) | デイジタルデータ記録再生装置 | |
JPH11224165A (ja) | ディスク装置 | |
JP2001337851A (ja) | ファイル管理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050311 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050311 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071204 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090106 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090504 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120522 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130522 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |