(57)【要約】記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、プロトコル（ＡＴＡ／ＡＴＡＰＩ）に従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有する記録装置。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。当該装置は、前記一連のデータブロック（８４）中のエラー状態に応じてホストに通知するためにエラーメッセージを生成するためのエラー監視を有する。前記エラー状態は前記一連のデータブロック中の書き込みエラーの位置（８５）または記録中タイムアウトの超過（ＴRS＋ＴRET＋ＴCAL）を指示するものでよい。
2007514250.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体上に情報を記録するための装置であって、
・前記記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、
・プロトコルに従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有しており、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含んでおり、
前記一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有することを特徴とする装置。
【請求項２】
前記エラー監視手段が、書き込みエラーがあった場合に前記エラーメッセージの中に前記一連のデータブロック内での書き込みエラーの位置を含むよう構成されていることを特徴とする、請求項１記載の装置。
【請求項３】
前記エラー監視手段が、書き込みエラーがあった場合に、要求感知コマンドを通じて書き込みエラーが起こったアドレスを報告するよう構成されていることを特徴とする、請求項１記載の装置。
【請求項４】
前記ホストインターフェース手段が、前記一連のデータブロックの終了時にエラーメッセージを送信するためにユニットアクセスを強制するコマンドを受け取るよう構成されていることを特徴とする、請求項１記載の装置。
【請求項５】
当該装置がデータブロックを保存するためのキャッシュバッファを有し、前記ホストインターフェース手段が書き込みエラー後に書き込みを再開するために前記キャッシュバッファ中でのアドレスを指示するキャッシュコマンドを受け取るよう構成されていることを特徴とする、請求項１記載の装置。
【請求項６】
前記キャッシュコマンド中の前記アドレスが、書き込みを再開するためのデータブロックの論理ブロックアドレスであるか、あるいは書き込みを再開するためのデータブロックとして次のより高い論理ブロックアドレスを指示することを特徴とする、請求項５記載の装置。
【請求項７】
前記ホストインターフェース手段が、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取るよう構成され、前記エラー監視手段が、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成するよう構成されることを特徴とする、請求項１記載の装置。
【請求項８】
前記エラー監視手段が、ある時間窓の中で前記実際の時間の決定を行い、記録中にその後の時間窓の設定を行うよう構成されていることを特徴とする、請求項７記載の方法。
【請求項９】
記憶媒体上への記録の際のエラー監視の方法であって、
・プロトコルに従ってメッセージを介してホストと通信し、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含み、
・前記一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成する、ことを有することを特徴とする方法。
【請求項１０】
前記エラーメッセージの生成が、書き込みエラーが生じた場合に、前記エラーメッセージ内に前記一連のデータブロック内での書き込みエラーの位置を含めることを有することを特徴とする、請求項９記載の方法。
【請求項１１】
・前記データブロックをキャッシュバッファ内に保存し、
・書き込みエラー後に書き込みを再開するために前記キャッシュバッファ中でのアドレスを指示するよう求める同期キャッシュコマンドを受け取る、
ことを有することを特徴とする請求項９記載の方法。
【請求項１２】
前記方法が、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取り、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成することを有することを特徴とする、請求項９記載の方法。
【請求項１３】
請求項１記載の記録装置を制御する方法であって、
・プロトコルに従ってメッセージを介して前記装置と通信し、前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含んでおり、
・前記一連のデータブロック内でのエラー状態に応じて前記装置からエラーメッセージを受け取り、
・前記一連のデータブロックの再生中にエラーを隠蔽する回復を適用する、ことを有することを特徴とする方法。
【請求項１４】
前記通信が前記一連のデータブロックの終わりに前記エラーメッセージを受け取るためのユニットアクセスを強制するコマンドを送信することを含むことを特徴とする、請求項１３記載の方法。
【請求項１５】
前記通信が、書き込みエラー後に書き込みを再開するために当該記録装置内の前記キャッシュバッファ中でのアドレスを指示するよう求める同期キャッシュコマンドを送ることを含むことを特徴とする、請求項１３記載の方法。
【請求項１６】
プロセッサをして請求項９ないし１５のうちいずれか一項記載の方法を実行せしめるよう動作することを特徴とする、情報を記録するためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶媒体上に情報を記録するための装置に関するものであり、該装置は前記記憶媒体上にデータを記録し、前記記憶媒体からデータを取得するため前記記憶媒体とのインターフェースとなる媒体インターフェース手段と、プロトコルに従ってメッセージを介してホストと通信するためのホストインターフェース手段とを有する。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【０００２】
本発明はさらに、記憶媒体上への記録の際のエラー監視の方法に関するものであり、該方法はプロトコルに従ってメッセージを介してホストと通信することを含む。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【０００３】
本発明はさらに、記録装置を制御する方法に関するものであり、該方法は、プロトコルに従ってメッセージを介して前記装置と通信することを含む。前記メッセージはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドを含む。
【０００４】
本発明はさらに、記憶媒体上への記録の際のエラー監視および前記記録装置の制御のためのコンピュータプログラムプロダクトに関するものである。
【背景技術】
【０００５】
記録装置を通じた光記録担体への記録を制御することは、ＤＶＤ（Digital  Versatile  Disk［デジタル多用途ディスク］）システムやＮＣＩＴＳ（National  Committee  for  Information  Technology  Standards［全米情報技術標準委員会］）の作業草案T10/1363-D、Revision  10g、2001年11月12日「情報技術―ＳＣＳＩマルチメディアコマンド―（Information  Technology―SCI  Multimedia  Commands―）」（revision  MMC10g；本稿ではＭＭＣ−３とも呼ばれる）によって知られている。当該記録装置は、一方では、記憶媒体とのインターフェースとなる読み書きヘッドなどの媒体インターフェースを有する。当該記録装置は他方では、パソコンやビデオレコーダーのアプリケーションユニットでありうるホストと通信するためのホストインターフェースを有する。ホストと記録装置のホストインターフェースとの間の通信のためのプロトコルは、ＭＭＣ−３第１章で参照されているＡＴＡ／ＡＴＡＰＩ規格、そして特にＭＭＣ−３第２．１．２章で参照されているＮＣＩＴＳ  Ｔ１３／１３２１Ｄの  ＡＴ  Ａｔｔａｃｈｍｅｎｔ  ｗｉｔｈ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ  ５、あるいはＸ３Ｔ１３／１１５３Ｄ  ＡＴＡ−５  Ｒｅｖ．１７（ＡＴＡ／ＡＴＡＰＩ−５とも呼ばれる）である。よって、当該装置はＡＴＡ／ＡＴＡＰＩ装置と呼ぶことができるだろう。そのような記録装置は、ホストシステムの制御のもとでビデオなどのリアルタイムのデータブロックを記録するために使われている。ホストは、ビデオの録画や再生のような用途に適応している。ドライブが書き込みをしているときにエラーが発生することがありうる。回復プロセスを適用するため、アプリケーションはエラーの状態を知る必要がある。既知のプロトコルでは、アプリケーションは、ドライブ中の大量のバッファリングを用いて一連のブロックを高速書き込みするか、あるいはドライブ中のバッファリングを使わず低速書き込みをするかの選択肢がある。コマンドがきちんと完了しなかった場合には、ドライブはエラーを報告する。ブロックごとに書き込みをすれば、ドライブがコマンドに反応したあとのエラーの位置はわかる。一連のブロックの書き込みをすれば、エラーは一連の全ブロックについてのエラーとして報告される。アプリケーションとしては、書き込みを高速にするか、エラー発見を容易にするかのどちらかなのである。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
したがって、書き込みエラーを効率的に処置しながらリアルタイム記録を可能にするエラー監視システムを提供することが本発明の目的の一つである。
【課題を解決するための手段】
【０００７】
本発明の第一の側面によれば、前記目的は、冒頭で述べたような情報を記録するための装置を用いて達成される。その装置は、一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有している。
【０００８】
本発明の第二の側面によれば、前記目的は、冒頭で述べたようなエラー監視の方法を用いて達成される。その方法は、一連のデータブロック内でのエラー状態に応じてホストに通知するためのエラーメッセージを生成することを有している。
【０００９】
本発明の第三の側面によれば、前記目的は、冒頭で述べたような記録装置を制御する方法を用いて達成される。その方法は、一連のデータブロック内でのエラー状態に応じて当該装置からエラーメッセージを受け取り、前記一連のデータブロックの再生の間、当該エラーを隠蔽するための回復を適用することを有している。
【発明の効果】
【００１０】
前記方策の効果は、当該装置が書き込みエラーをエラー状態の形でドライブに報告することである。エラー状態としては、たとえば一連のデータブロック内での書き込みエラーの位置がある。これは、ホストにおけるアプリケーションが迅速にエラーから回復し、できるだけ早く記録を継続しうるという利点がある。
【００１１】
当該装置のある実施形態では、前記エラー監視手段は、書き込みエラーの際に、前記エラーメッセージのうちに前記一連のデータブロック内での書き込みエラーの位置を含めるよう構成される。これは、ホストが書き込みエラーの位置を認識し、回復プロセスにおける記録の再開が既知のエラー位置に基づいて行われうるというるという利点がある。
【００１２】
当該装置のある実施形態では、当該装置はデータブロックを保存するためのキャッシュバッファを有しており、ホストインターフェース手段は、書き込みエラーののち書き込みを再開するために該キャッシュバッファ内のアドレスを指示する同期キャッシュコマンドを受け取るよう構成される。これは、エラーののちホストがデータブロックを再転送する必要がなく、キャッシュバッファに残っているブロックが使われるという利点がある。
【００１３】
当該装置のある実施形態では、ホストインターフェース手段は、記録の間にデータブロックを書き込む以外のその他の動作のために使用できる最長時間を定義する記録中タイムアウトを指示するコマンドを受け取るよう構成され、エラー監視手段は、記録の間に実際に前記その他の動作のために使われた時間の長さを決定し、該実際の時間が前記最長時間を超えたときに前記エラーメッセージを生成するよう構成される。これは、そのようなタイムアウトが意図された書き込み動作の実行時間とは独立になり、当該コマンドを実行する間に超えてはならない全体としての予備時間を示すという利点がある。
【００１４】
本発明に基づく方法および装置のさらに好ましい実施形態はさらなる請求項において与えられる。
【００１５】
これらのことを含む本発明のさまざまな側面は、例として以下に図面を参照しつつ記載される実施形態を参照することでさらに明らかとなり、明快に説明されることであろう。
【００１６】
図面において、前に記載された要素に対応する要素は同じ参照符号を付けてある。
【発明を実施するための最良の形態】
【００１７】
図１は、ディスク型記憶媒体、記録装置およびホストシステムを示している。記憶媒体１１はたとえば光ディスクで、記録装置１２のための記録担体をなす。ＤＶＤ＋ＲＷはそのような記録担体の例である。記録装置のインターフェース機能のいくつかが、所定の規格、たとえばＡＴＡ／ＡＴＡＰＩ−５に従って定義されている。よって、当該装置はＡＴＡ／ＡＴＡＰＩ装置と呼んでもいいだろう。当該装置１２は一方では、ＤＶＤ＋ＲＷディスクなどの記憶媒体１１とのインターフェースとなる読み書きヘッドなどの媒体インターフェース、位置決めサーボシステムおよび制御回路を有するが、これらはＣＤやＤＶＤシステムによって普通に知られている。当該装置１２は他方では、パソコンやビデオレコーダーのアプリケーション部でありうるホストと通信するための、ＡＴＡケーブルやシリアルインターフェースなどのホストインターフェースを有する。これはたとえばビデオ情報の入出力のための通常の要素をもつものである。４つの要素、すなわちＤＶＤ＋ＲＷ媒体、ＡＴＡ／ＡＴＡＰＩ装置に加えてホストの組み合わせが、消費者向けＤＶＤ＋ＲＷ録画機をなす。本発明の主たる焦点はＤＶＤ＋ＲＷ録画機における用途である。
【００１８】
記録装置および記憶媒体フォーマットについての背景情報は次の文献に見られる。
ＤＶＤ        読み出し専用ディスク仕様ＥＣＭＡ−２６７
（Specification  for  Read-only  disc  ECMA-267）
ＤＶＤ＋Ｒ    4.7ギガバイト基本フォーマット仕様  システム記述1.1
（4.7  Gbytes  Basic  Format  Specifications  System  Description  1.1）
ＤＶＤ＋ＲＷ  4.7ギガバイト基本フォーマット仕様  書き換え可能  バージョン1.2
（4.7  Gbytes  Basic  Format  Specifications  ReWritable  version  1.2）
ドライブ：記憶媒体に対するインターフェースとなり、たとえば光ピックアップユニット、サーボ、データ路、メモリフラッシュを有し、ＡＴＡＰＩなどを用いてホストへのインターフェースを備えるユニット。
ディスク：いかなる光ディスクでもよい。たとえば、ＣＤＤＡ、ＣＤ−Ｒ／ＲＷ、ＣＤ−ＲＯＭ、ＤＶＤＲＯＭ、ＤＶＤ＋ＲＷ、ＤＶＤ＋Ｒ  ＳＡＣＤ
ＥＣＣ：ディスク上に書き込むことのできる最小データ量。ＤＶＤでは、３２キロバイトユーザーデータの完全なＥＦＭブロック。
セクタ：アドレッシングできる最小データサイズで、ＤＶＤでは２０４８バイト。
アプリケーション：ホスト中でインターフェースの相手となるアクティブなユニット。ディスク上に保存する（そしてディスクから取得する）べきリアルタイムデータを要求し、ディスク上の構造を整え、たとえばビデオ信号のエンコード／デコードを行う。
デアイシング：＋ＲＷの相変化では二つの状態がある。アモルファス状態と結晶状態である。新しいディスク上の材料全体は同一の状態にある。そのようなディスクは「凍結している（iced）」と称される。ディスクに書き込みを行うことによって遷移が作り出される。これがディスクの反射率を変え、ディスクから読み出される情報を変える。ディスクが凍結領域を含んでいる場合、レーザーの現在位置は記録溝の蛇行（wobble）によってしか判別することができない。書き込み済みの領域では位置情報はデータに含まれる。
チャンク：リンクなしに連続的に書き込まれるデータのブロック。
トラック逸脱：光ピックアップのレーザーが（記録可能）ディスク上の（蛇行した）溝に追随できないとき、トラックから逸脱したという。
【００１９】
以下では、媒体およびホストインターフェース１５もしくはＡＴＡケーブルを通じたプロトコルについてより詳しく記述する。ＭＭＣ−３で与えられているようなプロトコルの定義には問題があり、媒体とプロトコルとの間の関係を理解することによってこの問題への解決法が理解できる。
【００２０】
ＡＴＡケーブルおよびそのプロトコルはよく知られており、ＡＴＡ／ＡＴＡＰＩ−５の文書など数多くの文献がある。そのケーブルの最高プロトコルレベルはＭＭＣ−３において与えられている。以下の説明では、記憶媒体１１はＤＶＤ＋ＲＷ媒体という記録可能なＤＶＤである。その媒体はＤＶＤ＋ＲＷ物理フォーマット規格において記載されている。
【００２１】
ここで取り組む問題は、書き込みエラーに起因するものである。ホストで実行されているアプリケーションはリアルタイムでディスクにデータを書き込んでいる。エラーが起こると、アプリケーションはできるだけ早くそのエラーから回復して記録を継続しようとする。アプリケーションレベルにおいて回復がエラーを隠蔽することが想定されている。ビデオレコーダーの場合、その回復は、再生中にビデオのある区間をスキップすることからなる隠蔽マスクでありうる。鍵は、そのマスク、すなわちビデオの一部をできるだけ小さく保つことである。よって、ホストインターフェースはプロトコル（たとえばＡＴＡ／ＡＴＡＰＩ−５）に従ったメッセージを通じてホストと通信し、そのメッセージにはリアルタイムで一連のデータブロックを書き込むための書き込みコマンドが含まれる。エラーを迅速に報告するため、当該装置は、前記一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視手段を有する。一般に、エラーメッセージの伝達により、当該アプリケーションがそのエラーについてできるだけ早く通知され、エラー状態を報告することが実現される。ある実施形態では、エラー状態はエラー位置を含んでいる。
【００２２】
図２は、ホストインターフェース上のデータと記憶媒体に届くデータとの間の遅延のタイムチャートを示している。上のグラフ２１では、ホストインターフェース（ＡＴＡ／ＡＴＡＰＩケーブル）でのデータが示されている。いくつかのデータブロックがＡ、Ｂ、Ｃで示されている。データブロックＡは時刻ｔ１にホストインターフェース上に到着する。下のグラフ２２は記憶媒体インターフェースでの同じデータ要素を示している。データブロックＡは時刻ｔ２に到着する。アプリケーションにできるだけ早くエラー通知を与えるために克服しなければならない問題は基本的に二つある。第一の問題は、ＡＴＡ／ＡＴＡＰＩケーブルを通じたデータ送信とディスクへのデータ書き込みとの間の内在的な遅延であり、これはグラフ２１と２２の間の時間差によって示されている。第二の問題は、ケーブルを通じたデータ送信のバースト性である。これら二つの問題についてこれからより詳しく記述する。
【００２３】
第一に、ＡＴＡ／ＡＴＡＰＩケーブルを通じて届けられたデータとディスクに届けられるデータとの間の内在的な遅延について。図２のタイムチャートはＡＴＡ／ＡＴＡＰＩケーブルを通じて転送されるデータを、ＡからＢを通じてＣに至る上側のグラフ２１で表して示している。転送はｔ１において始まり、そのデータはｔ２でディスクに書き込まれる。ｔ３でデータストリーム中の位置Ｂにおいてエラーが発生する。エラーの時点でＡＴＡ／ＡＴＡＰＩケーブル上のストリームはすでに位置Ｃまできている。
【００２４】
第二の問題は、ＡＴＡ／ＡＴＡＰＩケーブル上のデータのバースト性である。この問題の要因は、圧縮されたビデオを届ける際に生じるものである。それについて図３を用いて説明する。
【００２５】
図３は、アプリケーションを含むホスト、記録装置、記憶媒体を示している。ホスト３１はビデオ入力３３上のビデオエンコーダ３４、インターフェース３５（記録装置３２とケーブルを通じて結合されている）、メモリ３６を有している。ビデオエンコーダとインターフェースとの間の「dig」接続３９は何らかの種類のデジタル（digital）インターフェースを指す。記録装置３２は、記憶媒体１１とのインターフェースとなる媒体インターフェース１４をもつドライブ３７およびメモリ３８を含んでいる。当該記録装置は、一連のデータブロック中でのエラー状態に応じてホストに通知するためのエラーメッセージを生成するためのエラー監視ユニット４０を含んでいる。これについて以下で述べる。
【００２６】
実際上は、エンコーダ３４の最大ビットレートはドライブ３７の媒体への書き込み速度よりはるかに低い。エンコーダがエンコードされた出力をＡＴＡ／ＡＴＡＰＩ装置に届けると、次のことが起こる。「dig」接続３９上のデータのビットレートをＢｓ、媒体インターフェース１４上のデータのビットレートをＢｄ、ドライブのメモリ３８の容量をＭｄ、ホスト内で前記インターフェース３５に利用可能なメモリ３６の容量をＭｓとする。Ｍｄ／Ｂｓはドライブがデータを蓄積するのにかかる時間である。Ｍｄ／Ｂｄはドライブが媒体に書き出すのにかかる時間である。Ｍｓは最小でも２ｋが必要である。ドライブに書き込まれうるデータの最小量が２ｋだからである。Ｍｓ／Ｂｓは記録装置へのデータバーストから次のデータバーストまでの時間間隔である。
ホストインターフェース上でのデータ転送の例：
Ｍｓ＝２ＫＢ（キロバイト）、Ｂｓ＝３Ｍｂ／ｓｅｃ（メガビット毎秒）とすると、
２ＫＢ／８Ｍｂ／ｓｅｃ＝２×８／８＝２よりバースト間隔は２ｍｓｅｃとなる。
いっぱいになったバッファ内容を媒体に書き出すのに必要な時間の例：
Ｍｄ＝２ＭＢ、Ｂｄ＝２４Ｍｂ／ｓｅｃとすると、
２ＭＢ／２４Ｍｂ／ｓｅｃ＝２×８／２４＝２×８／３×８＝２／３＝０．６６６ｓｅｃとなる。
実際の装置では、データの記録ができる前にさらにアクセス時間が必要となる。
【００２７】
図４は、生成され、転送され、ディスクに書き込まれるデータのグラフを示している。グラフの上の部分４１はホストバッファの埋まり具合を示しており、下の部分４２は装置の書き込み動作を示している。第一の部分４３ではホスト内のバッファがエンコーダ３４のデータ生成によって埋められていく。第二の部分では、装置書き出し４２によってバッファが空にされる。バッファ充填の時間間隔Ｔｄｂおよびバッファ吐き出しの時間Ｔｄｅは上記で図３との関連で示したように計算できる。
【００２８】
記録中のオーバーヘッドがアクセスによって引き起こされ、効率は次のように計算できる。
Ｔａ＝アクセス時間
Ｔｄ＝一連のデータブロック（チャンクともいう）を書き出すのに必要な時間
効率＝Ｔｄ／（Ｔａ＋Ｔｄ）
効率はＴｄを、すなわちチャンクサイズを最大化することによって上げることができる。
Ｂｄｅ＝Ｍｓ／（Ｔａ＋Ｍｓ／Ｂｄ）＝Ｂｄ／（Ｂｄ×Ｔａ／Ｍｓ＋１）
Ｍｓを増やすことによってＴａの効果が減少する。また、ドライブの書き出し速度を上げると、同じ効率を維持するためにはチャンクも大きくしなければならないことも見て取れる。また、チャンク間の時間はＴ＝Ｍｓ／Ｂｓであるから線形に増大することもわかる。
例：
【００２９】
【表１】
2007514250.tif 000003
ある実施形態では、一連のデータブロックをリアルタイムで書き込むためのアルゴリズムが記載される。まず、データがチャンクごとに（少量ずつ連続してではなく）届けられる。ドライブによって書き込まれる量および効率を最大化するためである。ホストにおけるメモリは、ドライブが回復および再試行を行う間のメモリオーバーフローを避けるためにチャンクサイズより大きくなければならない。チャンクの終わりに、次のチャンクを届ける前にユニットアクセスを強制するためにコマンドが選択されるか、追加的に与えられる。ユニットアクセスを強制することによって、エラーは次のチャンクの開始ではなく、現在のチャンクの終わりの時点で報告されることになる。終わりでの報告と次回の始まりでの報告の間の時間差はＭｓ／Ｂｓである。実際上では、Ｍｓ＝５ＭＢ、Ｂｓ＝１ＭＢ／ｓｅｃとするとＭｓ／Ｂｓ＝５ｓｅｃである。アクセスの強制は、書き込みコマンド中のＦＵＡビット（ＭＭＣ−３参照）を通じて、あるいは以下で説明する同期キャッシュコマンドを発することによってできる。
【００３０】
ある実施形態では、ドライブは書き込みエラーの時点でＵＤＭＡ／ＤＭＡをアボートする。ドライブは転送全体を完了しない。これは、転送が数百キロバイト以上だと重要になる。
【００３１】
ある実施形態では、ホストはまた、モードページを通じて最大再試行回数と全体としてのエラータイムアウトを指定する。これもエラーメッセージの理由となりうる。
【００３２】
ある実施形態では、ドライブは、要求検知（Request  Sense）コマンドを通じてエラーが発生したアドレスを報告する。ホストは、エラーが発生したＥＣＣブロックの次のＥＣＣブロックはまだ全く書き込まれておらず、したがって書き込みをしてもよいと想定できる。これは、ＥＣＣブロック全体を単位としてしか書き込みができないＤＶＤ＋Ｒについては重要である。
【００３３】
ある実施形態では、エラーののち、ホストは、キャッシュ内のどのブロックから書き込みが再開できるかを知るために、アドレスをもった同期キャッシュコマンドを発する。それは、エラーが発生したアドレスよりも大きなアドレスのブロックとなる。
【００３４】
図５は、同期キャッシュコマンドを示している。同期キャッシュコマンドの定義は、動作コード５１、パラメータバイト５２を示している。パラメータバイト５２は、実行の種類およびコマンドの反応を示すビットＩＭＭＥＤや相対アドレッシング（relative  addressing）を指示するＲＥＬＡＤＲのようなさらなるパラメータを有する。バイト群５３は論理ブロックアドレスを指示する。論理ブロックアドレス（LBA:  Logical  Block  Address）を使ってキャッシュ内のブロックを指すという発想である。当該装置はキャッシュ内でそのＬＢＡをもったブロックをみつけなければならない。あるいはまた、指示されたブロックよりあとでドライブに書き込まれ、より高いＬＢＡをもつすべてのブロックがディスクに書き込まれてもよい。
【００３５】
上述したようなエラーの監視と報告のプロセスは、ＤＶＤ＋ＲＷにもＤＶＤ＋Ｒにも使用できることを注意しておく。このことは、「リザーブトラック（reserve  track）」コマンドを与えなくてもＤＶＤ＋Ｒメディア上で領域をスキップすることができるということを含意している。このプロセスの鍵となる点は以下の通りである。チャンクごとに作業することによって、書き込みリンクの数が最小化される。書き込みリンクというのは、ドライブが書き込みを止めてのちに止めたところから継続するところのことである。リンクの数を最小化することによって、書き込みエラーの可能性が減少し、ディスクの直接上書き（DOW:  direct  overwrite）は低く保たれる。各チャンクの終わりにユニットアクセスを強制することによって、エラー検出時間が最小限に保たれ、従って回復が迅速となる。回復の間に生成される新規のリアルタイムデータもバッファリングする必要があので、これはホスト側におけるメモリを節約することになる。
【００３６】
キャッシュコマンドのような特別な同期キャッシュ型の機能をサポートしているので、ホストはエラー後にブロックを再転送する必要がない。これは、ホストが長い転送データ長を扱う場合や、ドライブの内部メモリが大きな場合に特に重要になる。よって、当該装置はデータブロックを保存しておくためのキャッシュバッファを有しており、ホストインターフェースは書き込みエラー後に書き込みを再開するキャッシュバッファ中のアドレスを指示するキャッシュコマンドを受け取る。具体的には、キャッシュコマンド中のアドレスは、書き込みを再開するためのデータブロックの論理ブロックアドレスであるか、あるいは次のより高い論理ブロックアドレスをもつデータブロックを書き込みを再開するためのデータブロックとして指示する。重要なのは、すでに記録装置内のバッファに存在しているデータブロックを使って記録を再開する機能であって、上述した特定の同期キャッシュコマンドではない。
【００３７】
ライトワンス記憶媒体上ではスキップ機能がサポートされていることを注意しておく。たとえばＤＶＤ＋Ｒの場合である。一般に、ＤＶＤ＋Ｒはシーケンシャルな書き込み媒体から前方へのジャンプが可能な媒体へと向上させることができる。スキップされたブロックは当該装置によって書き込みが行われたと考えられ、書き込み済み領域指標（RAI:  recorded  area  indicator）などのディスク状態においても書き込み済み領域として管理される。同様に重要なのは、書き込みエラーが発生した場合に当該装置が大きな転送を中断することを認めることである。
【００３８】
ある実施形態では、タイムアウト時間が特殊なコマンドを通じて再試行回数とともに指定される。これについて以下でさらに説明する。
【００３９】
図６はコマンドと応答のタイミングを示している。コマンドと対応するデータ６１をホストインターフェース１５を通じて送信したのち、コマンド完了応答６２がある。コマンド６１とコマンド完了６２との間の時間はさらに、タイミングよくエラー状態報告を実現するよう定義される。ＭＭＣ−３は転送レートを規定するのみで、最後の転送バイトとドライブのコマンド完了応答６２との間の経過時間については規定していない。解決法の一つは、その時間を直接指定することである。直接の定義は、最長の経過時間を指定してそれを「コマンドタイムアウト」または「最大割り当て時間」と称することである。コマンドタイムアウトは多くのコマンドに適用しうる。タイムアウトとは、コマンドとコマンド完了の間の最大時間である。それを守るためにドライブが内部的にコマンドをアボートする必要がある場合、ドライブはエラーを返さなければならない。
【００４０】
再試行回数も指定してよいことを注意しておく。読み出しコマンドは、ドライブが要求されたアドレスをみつけられないために遅れることがある。ジャンプしてアドレスを読み込み、不成功ならジャンプしてまた読み込む、という堂々巡りになるのである。再試行回数を制限することによって、読み込みエラーが発生しそうなことがより早く報告され、よってコマンドはより早く打ち切られる。
【００４１】
図７ａは、ドライブ上でインターフェースとなるコネクタを示している。示されているのは、ドライブの背面７１である。ドライブの背面にあるコネクタは５−ｉｎ−１コネクタである。第１のコネクタ７２はデジタル出力で、第２のコネクタ７２はアナログオーディオ出力である（ＭＰＣ−２規格に従った４ピン）。オーディオ出力はサポートされていなくてもよい。マスター／スレーブコネクタ７３はＣＳ（ケーブル選択）、Ｍ（マスター）、Ｓ（スレーブ）を切り替える３ポジション・ジャンパ・ブロックであり、ジャンパ７５はデフォルトジャンパのマスター選択の状態にあるものとして示されている。第４のコネクタ７６は４０ピンのＡＴＡ−２二列フラットケーブルコネクタであり、外被付きで（shrouded）向きを決めるための鍵付き（ピン２０が除去されている）である。このコネクタはＩＤＥコネクタとも呼ばれ、ＡＴＡ／ＡＴＡＰＩ−５で記述されているようにＡＴＡケーブルを通じてホストとのインターフェースとするために使われる。最後に、コネクタ７７は業界標準の４ピンのアンフェノールに従ったＤＣ電源接続部である。このＤＣ電源コネクタは外部電源からドライブにＤＣ電力（＋５ボルトおよび＋１２ボルト）を供給する。
【００４２】
図７ｂはＩＤＥコネクタの各ピンの機能を定義するピン構成を示している。データコネクタはホストシステムへのインターフェースとするために使われる。詳細な説明についてはＡＴＡ／ＡＴＡＰＩ−５を参照されたい。マスター／スレーブコネクタ７３は、既存のパソコンの構成に応じてＩＤＥデータケーブルを組み込むのに使われる。接続には、もう一つの接続されている装置の構成に応じて三つの可能性がある。スレーブ装置（ジャンパはスレーブに）、マスター装置（ジャンパはマスターデフォルトに）、マスターもしくはスレーブ装置（ジャンパはケーブル選択に）である。ジャンパがない場合もケーブル選択を意味する。
【００４３】
ＭＭＣ−３は、リアルタイム記録に関してはドライブによる書き込みエラーからの回復を可能にするものではないことを注意しておく。書き込み中および読み出し中に回復を行う機能をドライブ内で利用可能にすることが提案されている。ＭＭＣ−３は再試行回数およびコマンドタイムアウトのみを含む。コマンドタイムアウトは、そのコマンドが実行されたというメッセージを送るまでの最長時間である。コマンド完了はデータを受け取ったあとすぐ送られるので、このコマンドタイムアウトを回復機能に使うことはできない。よって、ＭＭＣ−３では、一連のデータブロックの書き込み中のエラー状態はホストに報告されることができない。
【００４４】
ある実施形態では、リアルタイム記録が実行される場合における解決法が提供される。たとえば、「ディスクアットワンス」での書き込み中のリアルタイム記録において、ホスト（たとえばパソコン内の）はドライブに追随している。回復プロセスがドライブ内でアクティブにされると、ホストはドライブが回復を終了するまで待たなければならない。リアルタイム記録の間に待ち状態があると、データ記憶装置でバッファオーバーフローが発生し、したがってデータをスキップする必要が生じうる。これは目に見えるスキップデータのある低品質の記録を与えることになる。これを改善するため、ある実施形態では、記録中タイムアウトが含められる。記録中タイムアウトの定義は、書き込みコマンドの実行中に「書き込み以外のこと」をするのに使われる全時間のことで、バッファレベルがデータ路バッファの閾値レベルを超えてから最後の部分が書き込まれて終わるまで測る。記録中タイムアウトはコマンドタイムアウトとは異なる。コマンドタイムアウトが書き込みコマンドの全実行時間を定義しているのに対し、記録中タイムアウトは書き込み自身以外の動作のための予備時間の最大値を定義しているのである。このことについて、以下でさらに説明する。
【００４５】
図８は、記録の際のホストインターフェース上のメッセージ、書き込み動作およびその他の動作のタイミングチャートを示す図である。上の時間的グラフ８１はホストインターフェース、すなわちＩＤＥ段階におけるメッセージを示している。そのメッセージはリアルタイムで記録されるべき一連のデータブロック８４からなる。下の時間的グラフ８２は媒体インターフェース、すなわちディスク段階での動作を示している。上のグラフ８１では、印Ａが書き込みコマンドのシーケンスの開始を指示しており、次の書き込みコマンドは、データをバッファ内に記憶するために十分な余地を当該装置が有する場合にのみ下されうる。印Ｂは、バッファ閾値レベルを超えるところを示している。バッファ閾値レベルは、当該装置が書き込みを開始できるためにバッファ内に必要とされるデータの最小量である。書き込みプロセスを開始するための遅延ＴRSののち、ドライブは印Ｃで示される時点で媒体への書き込みを開始する。印Ｄのところでトラック逸脱エラーなどの書き込みエラー８５が発生する。当該装置内で回復を行うために時間ＴRETが必要とされる。回復がうまくいかなかったら、書き込みプロセスはアボートされ、書き込みエラー８５の位置を示すエラーメッセージが生成される。回復が成功した場合には、当該装置は印Ｅから再び連続的に書き込みを開始する。印Ｆでは較正（calibration）が必要となり、その較正を実行するには時間ＴCALが要求される。較正後、当該装置は印Ｇのところで書き込みを再開する。印Ｈのところで当該装置は書き込みプロセスを終了する。いちばん下のグラフ８３は、書き込みコマンドを説明するために上のグラフ８１上での書き込みコマンドの細部を示すものである。印ＰのところでＩＤＥ書き込みコマンドがドライブに送られる。そのコマンドに続いて印Ｑのところでドライブへのデータ転送が行われる。印Ｒのところでコマンド完了メッセージがホストに送信される。転送されたデータはまだ記憶媒体には書き込まれていないことを注意しておく。そのため、コマンド完了メッセージと結びついている従来技術のコマンドタイムアウトは書き込みプロセス自身のエラー状態を転送するには使うことができないのである。
【００４６】
ある実施形態では、記録中タイムアウトは次式で定義される。
【００４７】
ＴOUT＝ＴRS＋ＴRET＋ＴCAL
よって、当該装置は、上記の要素のために使われた実際の時間を足し合わせて合計値ＴOUTを当該装置にコマンドに含まれるパラメータなどの形で与えられている最大値と比較する。その最大値より実績から計算された値のほうが大きければ、書き込みプロセスはアボートされ、エラーメッセージが生成されてホストに報告される。
【００４８】
ある実施形態では、記録中タイムアウトは、書き込むべきシーケンスの所要時間が変わるたびにホストが事前設定する必要のある固定時間である。
【００４９】
例１：３ＭＢを書き込む間、記録中タイムアウトはたとえば５００ｍｓｅｃに設定される。ＴOUTが記録中タイムアウトの所与の値を超えていたら、ドライブは再試行や較正などの現在の動作を停止してエラーをホストに送る。ずっと大きなデータを書き込むためには、たとえばホストが５００ＭＢを書き込みたい場合には、記録中タイムアウトに同じ５００ｍｓｅｃを使っていると、第二の較正でエラーが発生する。記録すべきデータのチャンクが大きいほど、ホストは一つまたは複数の較正を予期しうるのでこれは望ましくない。よって、ホストは大きなチャンクの書き込みのためには記録中タイムアウトとしてより大きな値を設定しておく必要があるのである。
【００５０】
ある実施形態では、窓構造を用い、各窓（たとえば窓は２０ｓｅｃなど）が終わったところで較正などその他の動作に要した実際の時間（ＴOUTカウンタ）をリセットする。これなら、記録中タイムアウトにおいて与えられる最大値は、現在の窓における最大値として定義される。それにより、ＴOUT計算は記録すべきデータの長さによらず使うことができる。したがって、記録すべきデータの長さが変わるたびに記録中タイムアウトを設定する必要はなくなるのである。具体的な例では、ＴOUTカウンタは記録開始時および各３０ｓｅｃの窓が終わるごとにリセットされる。このリセットと窓について、以下に図９によって説明する。
【００５１】
図９は、書き込み動作のタイミングチャートおよびタイムアウトのための窓構造を示す図である。時間的グラフ９１は媒体インターフェース、すなわち媒体書き込み段階における書き込み動作を示している。印Ｋにおいて記録が開始され、窓９２が始まる。最初の印Ｍのところで窓が閉じられ、印Ｍのたびに新しい窓が始まる。各印Ｍでは、ＴOUTカウンタがリセットされる。各窓の間、ＴOUTの計算が実行され、実際のＴOUTが記録中タイムアウトを超えていたら、先に説明したようにエラーが報告される。たとえば、印Ｌにおいて較正が実行され、印Ｏにおいて書き込みエラーが発生するが、再試行が成功している。エラーは報告されず、書き込みは継続される。
【００５２】
本発明は主としてＤＶＤ＋ＲＷ光ディスクを使った実施形態によって説明されてきたが、本発明は他の記録担体についても好適である。たとえば、四角いカード型光ディスク、光磁気ディスク、高密度（ブルーレイ）ディスクその他リアルタイムで一連のデータブロックを記録するためのいかなる種類の情報記憶システムでもよい。
【００５３】
注意しておくが、この文書において、「有する」の語は挙げられた以外の要素またはステップの存在を排除するものではない。ある要素の単数形の表現はそのような要素の複数の存在を排除するものではない。いかなる参照符号も特許請求の範囲を限定するものではない。本発明はハードウェアおよびソフトウェアの両方で実装することができる。いくつかの「手段」や「ユニット」が同一のハードウェアまたはソフトウェアによって表現されてもよい。さらに、本発明の範囲は前記実施形態に限定されることはなく、本発明は前述した諸特徴のあらゆる新規な特徴およびその組み合わせにあるものである。
【図面の簡単な説明】
【００５４】
【図１】ディスク型記憶媒体、記録装置およびホストシステムを示す図である。
【図２】ホストインターフェース上のデータと記憶媒体に届くデータとの間の遅延のタイムチャートを示す図である。
【図３】アプリケーションを含むホスト、記録装置および記憶媒体を示す図である。
【図４】生成され、転送され、ディスクに書き込まれるデータのグラフである。
【図５】同期キャッシュコマンドを示す図である。
【図６】コマンドと応答のタイミングを示す図である。
【図７ａ】インターフェースのためのドライブ上のコネクタを示す図である。
【図７ｂ】ＩＤＥコネクタのピン構成を示す図である。
【図８】記録の際のホストインターフェース上のメッセージ、書き込み動作およびその他の動作のタイミングチャートを示す図である。
【図９】書き込み動作のタイミングチャートおよびタイムアウトのための窓構造を示す図である。
【図１】
2007514250.tif 000004
【図２】
2007514250.tif 000005
【図３】
2007514250.tif 000006
【図４】
2007514250.tif 000007
【図５】
2007514250.tif 000008
【図６】
2007514250.tif 000009
【図７ａ】
2007514250.tif 000010
【図７ｂ】
2007514250.tif 000011
【図８】
2007514250.tif 000012
【図９】
2007514250.tif 000013
【国際調査報告】
2007514250.tif 000014
2007514250.tif 000015
2007514250.tif 000016