(57)【要約】【課題】ＡＴＡ／ＡＴＡＰＩ規格プロトコル処理を自動実行する光ディスクコントローラにおいて、システムコントローラからインタフェース回路のカスタマイズを容易に行うこと。【解決手段】インタフェース回路は、インタフェース通信手段とシステムインタフェース通信手段とを制御するインタフェース制御手段を備え、インタフェース制御手段は、第１リセット処理を実行する手段と、第２リセット処理の実行許可をシステムコントローラに要求するようにシステムインタフェース通信手段に要求する手段と、第２リセット処理の実行許可の報告をシステムコントローラから受け取るようにシステムインタフェース通信手段に要求する手段と、第２リセット処理の実行許可の報告に応じて、第２リセット処理を実行する手段と、上位装置に第２リセット処理の完了を報告するようにインタフェース通信手段に要求する手段とを備える。【選択図】図１
2004199668.tif 000002
【特許請求の範囲】
【請求項１】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、
前記インタフェース回路は、
前記上位装置との間で通信を行うインタフェース通信手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記インタフェース制御手段は、
（ａ）第１リセット処理を実行する手段と、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段と
を備える、インタフェース回路。
【請求項２】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項１に記載のインタフェース回路。
【請求項３】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項２に記載のインタフェース回路。
【請求項４】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項３に記載のインタフェース回路。
【請求項５】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備える、ディスクコントローラであって、
前記インタフェース回路は、
前記上位装置との間で通信を行うインタフェース通信手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記インタフェース制御手段は、
（ａ）第１リセット処理を実行する手段と、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段と
を備える、ディスクコントローラ。
【請求項６】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項５に記載のディスクコントローラ。
【請求項７】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項６に記載のディスクコントローラ。
【請求項８】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項７に記載のディスクコントローラ。
【請求項９】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、
前記インタフェース回路は、
前記上位装置との間で通信を行うインタフェース通信手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記インタフェース制御手段は、
（ａ）第１リセット処理を実行する手段と、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段と
を備え、
前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告する、ディスクドライブ装置。
【請求項１０】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項９に記載のディスクドライブ装置。
【請求項１１】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項１０に記載のディスクドライブ装置。
【請求項１２】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項１１に記載のディスクドライブ装置。
【請求項１３】
ディスクコントローラとシステムコントローラとを備えるディスクドライブ装置であって、
前記ディスクコントローラは、
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路と
を備え、
前記インタフェース回路は、
前記上位装置との間で通信を行うインタフェース通信手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記インタフェース制御手段は、
（ａ）第１リセット処理を実行する手段と、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段と
を備え、
前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告する、ディスクドライブ装置。
【請求項１４】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項１３に記載のディスクドライブ装置。
【請求項１５】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項１４に記載のディスクドライブ装置。
【請求項１６】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項１５に記載のディスクドライブ装置。
【請求項１７】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
（ａ）第１リセット処理を実行するステップと、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項１８】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項１７に記載のインタフェース制御方法。
【請求項１９】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項１８に記載のインタフェース制御方法。
【請求項２０】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項１９に記載のインタフェース制御方法。
【請求項２１】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備えるディスクコントローラにおいて、
前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
（ａ）第１リセット処理を実行するステップと、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、
（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項２２】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項２１に記載のインタフェース制御方法。
【請求項２３】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項２２に記載のインタフェース制御方法。
【請求項２４】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項２３に記載のインタフェース制御方法。
【請求項２５】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
（ａ）第１リセット処理を実行するステップと、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記第２リセット処理の前記実行許可を前記インタフェース回路に報告するステップと、
（ｄ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｅ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、
（ｆ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップと
を包含し、
前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告する、インタフェース制御方法。
【請求項２６】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項２５に記載のインタフェース制御方法。
【請求項２７】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項２６に記載のインタフェース制御方法。
【請求項２８】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項２７に記載のインタフェース制御方法。
【請求項２９】
ディスクコントローラとシステムコントローラとを備えるディスクドライブ装置において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記ディスクコントローラは、
データをディスクに対して記録再生するためのディスク記録再生制御部と、
前記上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路と
を備え、
（ａ）第１リセット処理を実行するステップと、
（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記第２リセット処理の前記実行許可を前記インタフェース回路に報告するステップと、
（ｄ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｅ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、
（ｆ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップと
を包含し、
前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告する、インタフェース制御方法。
【請求項３０】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行う、請求項２９に記載のインタフェース制御方法。
【請求項３１】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項３０に記載のインタフェース制御方法。
【請求項３２】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、
前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、
前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理である、請求項３１に記載のインタフェース制御方法。
【請求項３３】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記データバッファは、データを格納し、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段と
を備える、インタフェース回路。
【請求項３４】
前記手段（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段と
を備え、
前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項３３に記載のインタフェース回路。
【請求項３５】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項３３に記載のインタフェース回路。
【請求項３６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項３５に記載のインタフェース回路。
【請求項３７】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備える、ディスクコントローラであって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記データバッファは、データを格納し、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段と
を備える、ディスクコントローラ。
【請求項３８】
前記手段（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段と
を備え、
前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項３７に記載のディスクコントローラ。
【請求項３９】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項３７に記載のディスクコントローラ。
【請求項４０】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項３９に記載のディスクコントローラ。
【請求項４１】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置であって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段と
を備える、ディスクドライブ装置。
【請求項４２】
前記手段（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段と
を備え、
前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項４１に記載のディスクドライブ装置。
【請求項４３】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項４１に記載のディスクドライブ装置。
【請求項４４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項４３に記載のディスクドライブ装置。
【請求項４５】
ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置であって、
前記ディスクコントローラは、
前記データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路と
を備え、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段と
を備える、ディスクドライブ装置。
【請求項４６】
前記手段（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段と
を備え、
前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項４５に記載のディスクドライブ装置。
【請求項４７】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項４５に記載のディスクドライブ装置。
【請求項４８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項４７に記載のディスクドライブ装置。
【請求項４９】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記データバッファは、データを格納し、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップと
を包含する、インタフェース制御方法。
【請求項５０】
前記ステップ（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップと
を包含し、
前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項４９に記載のインタフェース制御方法。
【請求項５１】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項４９に記載のインタフェース制御方法。
【請求項５２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項５１に記載のインタフェース制御方法。
【請求項５３】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備える、ディスクコントローラにおいて、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記データバッファは、データを格納し、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、
（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップと
を包含する、インタフェース制御方法。
【請求項５４】
前記ステップ（ｃ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップと
を包含し、
前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項５３に記載のインタフェース制御方法。
【請求項５５】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項５３に記載のインタフェース制御方法。
【請求項５６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項５５に記載のインタフェース制御方法。
【請求項５７】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、  前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
（ａ）前記上位装置と前記データバッファとの間のデータ転送を要求するステップと、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、
（ｃ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、
（ｄ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップと
を包含する、インタフェース制御方法。
【請求項５８】
前記ステップ（ｄ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、
前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップと
を包含し、
前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項５７に記載のインタフェース制御方法。
【請求項５９】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項５７に記載のインタフェース制御方法。
【請求項６０】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項５９に記載のインタフェース制御方法。
【請求項６１】
ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置において、上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段とを制御するインタフェース制御方法であって、
前記ディスクコントローラは、
前記データをディスクに対して記録再生するためのディスク記録再生制御部と、
前記上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路と
を備え、
前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、
（ａ）前記上位装置と前記データバッファとの間のデータ転送を要求するステップと、
（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、
（ｃ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、
（ｄ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップと
を包含する、インタフェース制御方法。
【請求項６２】
前記ステップ（ｄ）は、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、
前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップと
を包含し、
前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断する、請求項６１に記載のインタフェース制御方法。
【請求項６３】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項６１に記載のインタフェース制御方法。
【請求項６４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項６３に記載のインタフェース制御方法。
【請求項６５】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記データバッファは、データを格納し、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段と
を備える、インタフェース回路。
【請求項６６】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項６５に記載のインタフェース回路。
【請求項６７】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項６６に記載のインタフェース回路。
【請求項６８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項６６に記載のインタフェース回路。
【請求項６９】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備える、ディスクコントローラであって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記データバッファは、データを格納し、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段と
を備える、ディスクコントローラ。
【請求項７０】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項６９に記載のディスクコントローラ。
【請求項７１】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項７０に記載のディスクコントローラ。
【請求項７２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項７０に記載のディスクコントローラ。
【請求項７３】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置であって、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段と
を備える、ディスクドライブ装置。
【請求項７４】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行う、請求項７３に記載のディスクドライブ装置。
【請求項７５】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項７４に記載のディスクドライブ装置。
【請求項７６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項７４に記載のディスクドライブ装置。
【請求項７７】
ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置であって、
前記ディスクコントローラは、
前記データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路と
を備え、
前記インタフェース回路は、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、
前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段と
を備え、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段と
を備える、ディスクドライブ装置。
【請求項７８】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行う、請求項７７に記載のディスクドライブ装置。
【請求項７９】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項７８に記載のディスクドライブ装置。
【請求項８０】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項７８に記載のディスクドライブ装置。
【請求項８１】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記データバッファは、データを格納し、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項８２】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項８１に記載のインタフェース制御方法。
【請求項８３】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項８２に記載のインタフェース制御方法。
【請求項８４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項８２に記載のインタフェース制御方法。
【請求項８５】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路と
を備える、ディスクコントローラにおいて、
前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記データバッファは、データを格納し、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、
（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項８６】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項８５に記載のインタフェース制御方法。
【請求項８７】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項８６に記載のインタフェース制御方法。
【請求項８８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項８６に記載のインタフェース制御方法。
【請求項８９】
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
（ａ）前記データバッファに格納されたデータの更新を前記インタフェース回路に要求するステップと、
（ｂ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、
（ｃ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、
（ｄ）前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求するステップと、
（ｅ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項９０】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行う、請求項８９に記載のインタフェース制御方法。
【請求項９１】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項９０に記載のインタフェース制御方法。
【請求項９２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項９０に記載のインタフェース制御方法。
【請求項９３】
ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置において、上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、
前記ディスクコントローラは、
前記データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と
を備え、
前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、
（ａ）前記データバッファに格納されたデータの更新を前記インタフェース回路に要求するステップと、
（ｂ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、
（ｃ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、
（ｄ）前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求するステップと、
（ｅ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップと
を包含する、インタフェース制御方法。
【請求項９４】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行う、請求項９３に記載のインタフェース制御方法。
【請求項９５】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データである、請求項９４に記載のインタフェース制御方法。
【請求項９６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、
前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路である、請求項９４に記載のインタフェース制御方法。
【請求項９７】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路であって、
前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、
前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段と
を備え、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段と
を備え、
前記値は、前記動作方法情報に関する値である、ＡＴＡ／ＡＴＡＰＩインタフェース回路。
【請求項９８】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と
を備えるディスクコントローラであって、
前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、
前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段と
を備え、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段と
を備え、
前記値は、前記動作方法情報に関する値である、ディスクコントローラ。
【請求項９９】
上位装置との間およびシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、
前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、
前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段と
を備え、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段と
を備え、
前記値は、前記動作方法情報に関する値である、ディスクドライブ装置。
【請求項１００】
ディスクコントローラとシステムコントローラを備えるディスクドライブ装置であって、
前記ディスクコントローラは、
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間および前記システムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と
を備え、
前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、
前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、
前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、
前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段と
を備え、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
前記インタフェース制御手段は、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段と
を備え、
前記値は、前記動作方法情報に関する値である、ディスクドライブ装置。
【請求項１０１】
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているＡＴＡ／ＡＴＡＰＩインタフェース回路において、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップと
を包含し、
前記値は、前記動作方法情報に関する値である、インタフェース制御方法。
【請求項１０２】
データをディスクに対して記録再生するためのディスク記録再生制御部と、
上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と
を備えるディスクコントローラであって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているディスクコントローラにおいて、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップと
を包含し、
前記値は、前記動作方法情報に関する値である、インタフェース制御方法。
【請求項１０３】
上位装置との間およびシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているディスクドライブ装置において、
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
（ａ）前記動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップと、
（ｂ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップと
を包含し、
前記値は、前記動作方法情報に関する値である、インタフェース制御方法。
【請求項１０４】
ディスクコントローラとシステムコントローラを備えるディスクドライブ装置であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されている前記ディスクドライブ装置において、    
前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、
前記ディスクコントローラは、
前記データをディスクに対して記録再生するためのディスク記録再生制御部と、
前記上位装置との間および前記システムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と
を備え、
前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、
前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、
前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、
（ａ）前記動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップと、
（ｂ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、
（ｃ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップと
を包含し、
前記値は、前記動作方法情報に関する値である、インタフェース制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路、インタフェース回路を含むディスクコントローラ、インタフェース回路を含むディスクドライブ装置およびインタフェース制御方法に関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータシステムやＤＶＤレコーダシステムなどに搭載される記憶装置として、光ディスクドライブ装置（例えば、ＤＶＤ−ＲＡＭドライブ）が用いられる。
【０００３】
また、光ディスクドライブ装置とホスト装置とを繋ぐためのホストインタフェースとして、ＩＤＥインタフェースがよく知られている。特に現在は、米国規格協会（ＡＮＳＩ）で標準規格化され、Ｔｅｃｈｎｉｃａｌ  ＣｏｍｍｉｔｔｅｅＴ１３で規格化が進められているＡＴＡ／ＡＴＡＰＩインタフェース（以下、「ＡＴＡＰＩインタフェース」と記載する）が知られている。ここでＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）は、ハードディスク接続用の規格であり、ＡＴＡＰＩ（ＡＴＡ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ）は、ＤＶＤ−ＲＡＭドライブなどハードディスク以外の補助記憶装置接続用の規格である。
【０００４】
ＡＴＡＰＩインタフェースは、例えば、ドライブ装置に含まれる光ディスクコントロール用マイクロコンピュータ（以下、「光ディスクコントローラ」または「ＯＤＣ」と記載する。）や光ディスクドライブ装置に含まれる構成要素全体を制御するシステムコントロール用マイクロコンピュータ（以下、「システムコントローラ」または「シスコン」と記載する。）などによって読み出し又は書き込み可能なレジスタを含む。ＡＴＡＰＩインタフェースは、ホスト装置によって、読み出し又は書き込み可能なレジスタを含む。このレジスタは、タスクファイルレジスタ（または、ＡＴＡレジスタ）と呼ばれる。
【０００５】
現在、光ディスクドライブ装置（例えば、ＤＶＤ−ＲＡＭドライブ）に関する新たな商品がおよそ１年で市場に出回る。光ディスクドライブ装置の開発を行う企業や技術者は、光ディスクドライブ装置の開発速度が加速し、新たな光ディスクドライブ装置が出来るだけ早く商品化され市場へ出されることを望んでいる。特に光ディスクドライブ装置の開発速度を高速化するために、システムコントローラの開発速度が向上されることを望んでいる。つまり、システムコントローラの開発者は、システムコントローラによって制御される各ＬＳＩハードウェア（例えば、光ディスクコントローラ）が高機能化されることによってシステムコントローラの開発負荷が小さくなることを望んでいる。
【０００６】
システムコントローラの開発速度を向上させる方法として、例えば従来システムコントローラで行っていた制御処理を光ディスクコントローラのようなＬＳＩハードウェアに取り込みＬＳＩハードウェアを高機能化することによって、システムコントローラの開発工数を削減する方法がある。
【０００７】
ＬＳＩハードウェアに取り込む従来のシステムコントローラ処理は、ＬＳＩの販売という面から考えても、企業間で統一化された処理（例えば、規格で統一化された処理）であることが望ましい。
【０００８】
規格で統一化された処理として、ＡＴＡ／ＡＴＡＰＩインタフェースの規格である“Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ  ＡＴ  Ａｔｔａｃｈｍｅｎｔ  ｗｉｔｈ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ  −６（ＡＴＡ／ＡＴＡＰＩ−６）”（以下、「ＡＴＡＰＩ規格」と記載する。）で統一化された処理などがある。ＡＴＡＰＩ規格では、プロトコルとして処理が規定されている。
【０００９】
しかし、ＡＴＡＰＩ規格プロトコル処理は、規格で統一化された処理であるにも関わらず、従来、システムコントローラによって処理されていた。
【００１０】
そこで、システムコントローラではなく、光ディスクコントローラのようなＬＳＩハードウェアによって、従来のＡＴＡＰＩ規格プロトコルを処理する方法が考えられている（例えば、特許文献１参照）。
【特許文献１】特開２００１−３２５２０４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
特許文献１に記載されているＡＴＡＰＩ規格プロトコルを処理する方法では、従来システムコントローラによって実行されていた制御処理（例えば、タスクファイルレジスタなどを含むホストインタフェースのレジスタ設定処理）が、ＬＳＩハードウェアとして機能する光ディスクコントローラによって実行される。
【００１２】
具体的には、ホスト装置によって発行されたコマンドの処理として、従来システムコントローラによって実行されていたレジスタ設定処理（例えば、コマンド実行結果をホスト装置に通知するために行われるタスクファイルレジスタであるエラーレジスタやステータスレジスタの設定処理）が、ＬＳＩハードウェアとして機能する光ディスクコントローラによって実行される。
【００１３】
したがって、システムコントローラ担当者は、従来システムコントローラによって実行されていたＡＴＡＰＩ規格プロトコル処理に関する開発を行う必要が無くなる。その結果、システムコントローラの開発負担が小さくなる。
【００１４】
しかし、一方で、ＬＳＩハードウェアを介してＡＴＡＰＩ規格プロトコル処理を行うために、システムコントローラからＡＴＡＰＩインタフェースに直接アクセスが出来ない。したがって、例えば、従来、ドライブ固有の処理としてＬＳＩハードウェアを制御するシステムコントローラがＡＴＡＰＩインタフェースのレジスタを直接設定することによって実現していたＡＴＡＰＩインタフェースのカスタマイズが非常に困難になる。その結果、システムコントローラの開発処理負担は減るものの、システムコントローラの開発効率が悪くなる。
【００１５】
従来の光ディスクコントローラは、ＡＴＡＰＩ規格プロトコル処理を自動的に実行することは出来るが、システムコントローラによるカスタマイズを行うことが非常に困難であった。
【００１６】
本発明は、システムコントローラによるカスタマイズを実現するための手段を提供することによって、システムコントローラによるインタフェースのカスタマイズを容易にするとともに、ＡＴＡＰＩ規格プロトコル処理を自動的に実行しえるＬＳＩを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明のインタフェース回路は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、前記インタフェース回路は、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記インタフェース制御手段は、（ａ）第１リセット処理を実行する手段と、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段とを備え、これにより、上記目的が達成される。
【００１８】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００１９】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００２０】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００２１】
本発明のディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備える、ディスクコントローラであって、前記インタフェース回路は、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記インタフェース制御手段は、（ａ）第１リセット処理を実行する手段と、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段とを備え、これにより、上記目的が達成される。
【００２２】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００２３】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００２４】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００２５】
本発明のディスクドライブ装置は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、前記インタフェース回路は、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記インタフェース制御手段は、（ａ）第１リセット処理を実行する手段と、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段とを備え、前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告し、これにより、上記目的が達成される。
【００２６】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００２７】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００２８】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００２９】
本発明のディスクドライブ装置は、ディスクコントローラとシステムコントローラとを備えるディスクドライブ装置であって、前記ディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路とを備え、前記インタフェース回路は、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記インタフェース通信手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記インタフェース制御手段は、（ａ）第１リセット処理を実行する手段と、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行する手段と、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求する手段とを備え、前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告し、これにより、上記目的が達成される。
【００３０】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００３１】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００３２】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００３３】
本発明のインタフェース制御方法は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、（ａ）第１リセット処理を実行するステップと、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップとを包含し、これにより、上記目的が達成される。
【００３４】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００３５】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００３６】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００３７】
本発明のインタフェース制御方法は、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備えるディスクコントローラにおいて、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、（ａ）第１リセット処理を実行するステップと、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｄ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、（ｅ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップとを包含し、これにより、上記目的が達成される。
【００３８】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００３９】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００４０】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００４１】
本発明のインタフェース制御方法は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、（ａ）第１リセット処理を実行するステップと、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記第２リセット処理の前記実行許可を前記インタフェース回路に報告するステップと、（ｄ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｅ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、（ｆ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップとを包含し、前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告し、これにより、上記目的が達成される。
【００４２】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００４３】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００４４】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００４５】
本発明のインタフェース制御方法は、ディスクコントローラとシステムコントローラとを備えるディスクドライブ装置において、前記上位装置との間で通信を行うインタフェース通信手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記ディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、前記上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路とを備え、（ａ）第１リセット処理を実行するステップと、（ｂ）前記第１リセット処理とは異なる第２リセット処理の実行許可を前記システムコントローラに要求するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記第２リセット処理の前記実行許可を前記インタフェース回路に報告するステップと、（ｄ）前記第２リセット処理の前記実行許可の報告を前記システムコントローラから受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｅ）前記第２リセット処理の前記実行許可の報告に応じて、前記第２リセット処理を実行するステップと、（ｆ）前記上位装置に前記第２リセット処理の完了を報告するように、前記インタフェース通信手段に要求するステップとを包含し、前記システムコントローラは、前記第２リセット処理の前記実行許可を前記インタフェース回路に報告し、これにより、上記目的が達成される。
【００４６】
前記インタフェース通信手段は、前記上位装置と前記インタフェース通信手段との間の通信をバスを介して行ってもよい。
【００４７】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース通信手段は、ＡＴＡタスクファイルレジスタであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００４８】
前記第１リセット処理は、自己診断に関わる所定の処理を含まない処理であり、前記第２リセット処理は、前記自己診断に関わる所定の処理を含む処理であり、前記自己診断は、前記ディスクドライブ装置内部の異常を検出する処理であってもよい。
【００４９】
本発明のインタフェース回路は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記データバッファは、データを格納し、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段とを備え、これにより、上記目的が達成される。
【００５０】
前記手段（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段とを備え、前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００５１】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００５２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００５３】
本発明のディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備える、ディスクコントローラであって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記データバッファは、データを格納し、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段とを備え、これにより、上記目的が達成される。
【００５４】
前記手段（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段とを備え、前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００５５】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００５６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００５７】
本発明のディスクドライブ装置は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置であって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段とを備え、これにより、上記目的が達成される。
【００５８】
前記手段（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段とを備え、前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００５９】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００６０】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００６１】
本発明のディスクドライブ装置は、ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置であって、前記ディスクコントローラは、前記データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路とを備え、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求する手段と、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求する手段と、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断する手段とを備え、これにより、上記目的が達成される。
【００６２】
前記手段（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断する手段と、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断する手段とを備え、前記手段（ｃ）は、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００６３】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００６４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００６５】
本発明のインタフェース制御方法は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記データバッファは、データを格納し、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップとを包含し、これにより、上記目的が達成される。
【００６６】
前記ステップ（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップとを包含し、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００６７】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００６８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００６９】
本発明のインタフェース制御方法は、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備える、ディスクコントローラにおいて、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記データバッファは、データを格納し、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、（ａ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、（ｃ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップとを包含し、これにより、上記目的が達成される。
【００７０】
前記ステップ（ｃ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップとを包含し、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００７１】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００７２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００７３】
本発明のインタフェース制御方法は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、  前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、（ａ）前記上位装置と前記データバッファとの間のデータ転送を要求するステップと、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、（ｃ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、（ｄ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップとを包含し、これにより、上記目的が達成される。
【００７４】
前記ステップ（ｄ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップとを包含し、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００７５】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００７６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００７７】
本発明のインタフェース制御方法は、ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置において、上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段とを制御するインタフェース制御方法であって、前記ディスクコントローラは、前記データをディスクに対して記録再生するためのディスク記録再生制御部と、前記上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路とを備え、前記システムコントローラは、前記上位装置と前記データバッファとの間のデータ転送を前記インタフェース回路に要求し、（ａ）前記上位装置と前記データバッファとの間のデータ転送を要求するステップと、（ｂ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記上位装置と前記ホストデータ転送手段との間のデータ転送を前記ホストデータ転送手段に要求するステップと、（ｃ）前記システムコントローラによる前記上位装置と前記データバッファとの間のデータ転送の要求に応じて、前記データバッファと前記バッファデータ転送手段との間のデータ転送を前記バッファデータ転送手段に要求するステップと、（ｄ）前記ホストデータ転送手段からのデータ転送に関する報告および前記バッファデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記データバッファとの間のデータ転送が完了したか否かを判断するステップとを包含し、これにより、上記目的が達成される。
【００７８】
前記ステップ（ｄ）は、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了したか否かを判断するステップと、前記ホストデータ転送手段からのデータ転送に関する報告に基づいて、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了したか否かを判断するステップとを包含し、前記上位装置と前記ホストデータ転送手段との間のデータ転送が完了し、前記データバッファと前記バッファデータ転送手段との間のデータ転送が完了した場合に、前記上位装置と前記データバッファとの間のデータ転送が完了したと判断してもよい。
【００７９】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００８０】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００８１】
本発明のインタフェース回路は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路であって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記データバッファは、データを格納し、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段とを備え、これにより、上記目的が達成される。
【００８２】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００８３】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【００８４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００８５】
本発明のディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備える、ディスクコントローラであって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記データバッファは、データを格納し、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段とを備え、これにより、上記目的が達成される。
【００８６】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００８７】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【００８８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００８９】
本発明のディスクドライブ装置は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置であって、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段とを備え、これにより、上記目的が達成される。
【００９０】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行ってもよい。
【００９１】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【００９２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００９３】
本発明のディスクドライブ装置は、ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置であって、前記ディスクコントローラは、前記データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間および前記システムコントローラとの間で通信を行うインタフェース回路とを備え、前記インタフェース回路は、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記ホストデータ転送手段と前記バッファデータ転送手段と前記システムインタフェース通信手段とを制御するインタフェース制御手段とを備え、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、前記インタフェース制御手段は、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新する手段と、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求する手段と、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求する手段とを備え、これにより、上記目的が達成される。
【００９４】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行ってもよい。
【００９５】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【００９６】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【００９７】
本発明のインタフェース制御方法は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記データバッファは、データを格納し、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップとを包含し、これにより、上記目的が達成される。
【００９８】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【００９９】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【０１００】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【０１０１】
本発明のインタフェース制御方法は、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うインタフェース回路とを備える、ディスクコントローラにおいて、前記上位装置との間でデータ転送を行うホストデータ転送手段と、データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記データバッファは、データを格納し、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、（ａ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、（ｂ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップとを包含し、これにより、上記目的が達成される。
【０１０２】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【０１０３】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【０１０４】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【０１０５】
本発明のインタフェース制御方法は、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、前記システムコントローラとを備えるディスクドライブ装置において、前記上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、（ａ）前記データバッファに格納されたデータの更新を前記インタフェース回路に要求するステップと、（ｂ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、（ｃ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、（ｄ）前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求するステップと、（ｅ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップとを包含し、これにより、上記目的が達成される。
【０１０６】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段との間のデータ転送をバスを介して行ってもよい。
【０１０７】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【０１０８】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【０１０９】
本発明のインタフェース制御方法は、ディスクコントローラと、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置において、上位装置との間でデータ転送を行うホストデータ転送手段と、前記データバッファとの間でデータ転送を行うバッファデータ転送手段と、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段とを制御するインタフェース制御方法であって、前記ディスクコントローラは、前記データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路とを備え、前記システムコントローラは、前記データバッファに格納されたデータの更新および前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求し、（ａ）前記データバッファに格納されたデータの更新を前記インタフェース回路に要求するステップと、（ｂ）前記システムコントローラによる前記データの更新の要求に応じて、前記データバッファに格納されたデータを更新するステップと、（ｃ）前記データの更新が完了したことを前記システムコントローラに報告するように、前記システムインタフェース通信手段に要求するステップと、（ｄ）前記更新されたデータの前記上位装置への転送を前記インタフェース回路に要求するステップと、（ｅ）前記システムコントローラによる前記更新されたデータの前記上位装置への転送の要求に応じて、前記更新されたデータの転送を前記ホストデータ転送手段および前記バッファデータ転送手段に要求するステップとを包含し、これにより、上記目的が達成される。
【０１１０】
前記ホストデータ転送手段は、前記上位装置と前記ホストデータ転送手段の間のデータ転送をバスを介して行ってもよい。
【０１１１】
前記データバッファに格納されたデータは、前記上位装置が前記バスに接続されているデバイス装置を識別するために要求するデバイス情報データであってもよい。
【０１１２】
前記バスは、ＡＴＡ／ＡＴＡＰＩバスであり、前記インタフェース回路は、ＡＴＡ／ＡＴＡＰＩインタフェース回路であってもよい。
【０１１３】
本発明のＡＴＡ／ＡＴＡＰＩインタフェース回路は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段とを備え、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、前記インタフェース制御手段は、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段とを備え、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１１４】
本発明のディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路とを備えるディスクコントローラであって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段とを備え、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、前記インタフェース制御手段は、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段とを備え、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１１５】
本発明のディスクドライブ装置は、上位装置との間およびシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段とを備え、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、前記インタフェース制御手段は、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段とを備え、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１１６】
本発明のディスクドライブ装置は、ディスクコントローラとシステムコントローラを備えるディスクドライブ装置であって、前記ディスクコントローラは、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間および前記システムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路とを備え、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されており、前記ＡＴＡ／ＡＴＡＰＩインタフェース回路は、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタと、前記ＡＴＡタスクファイルレジスタと前記システムインタフェース通信手段と前記擬似タスクファイルレジスタとを制御するインタフェース制御手段とを備え、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、前記インタフェース制御手段は、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求する手段と、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定する手段とを備え、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１１７】
本発明のインタフェース制御方法は、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているＡＴＡ／ＡＴＡＰＩインタフェース回路において、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップとを包含し、前記値は、前記動作方法情報に関する値であい、これにより、上記目的が達成される。
【０１１８】
本発明のインタフェース制御方法は、データをディスクに対して記録再生するためのディスク記録再生制御部と、上位装置との間およびディスクドライブ装置の制御を行うシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路とを備えるディスクコントローラであって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているディスクコントローラにおいて、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、（ａ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｂ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップとを包含し、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１１９】
本発明のインタフェース制御方法は、上位装置との間およびシステムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路と前記システムコントローラとを備えるディスクドライブ装置であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されているディスクドライブ装置において、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、（ａ）前記動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップと、（ｂ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップとを包含し、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【０１２０】
本発明のインタフェース制御方法は、ディスクコントローラとシステムコントローラを備えるディスクドライブ装置であって、前記ディスクドライブ装置は、主接続デバイスとしてＡＴＡ／ＡＴＡＰＩバスに接続されている前記ディスクドライブ装置において、前記上位装置との間で通信を行うＡＴＡタスクファイルレジスタと、前記システムコントローラとの間で通信を行うシステムインタフェース通信手段と、前記主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタとを制御するインタフェース制御方法であって、前記ディスクコントローラは、前記データをディスクに対して記録再生するためのディスク記録再生制御部と、前記上位装置との間および前記システムコントローラとの間で通信を行うＡＴＡ／ＡＴＡＰＩインタフェース回路とを備え、前記上位装置は、前記ＡＴＡ／ＡＴＡＰＩバスに接続されており、前記システムコントローラは、動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告し、前記動作方法情報は、前記従接続デバイスが前記ＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で前記上位装置が前記従接続デバイスにアクセスを試みた場合に前記主接続デバイスが行う動作を示し、（ａ）前記動作方法情報を前記ＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップと、（ｂ）前記システムコントローラによって報告される前記動作方法情報を受け取るように、前記システムインタフェース通信手段に要求するステップと、（ｃ）前記動作方法情報に基づいて、前記擬似タスクファイルレジスタによって保持される値を設定するステップとを包含し、前記値は、前記動作方法情報に関する値であり、これにより、上記目的が達成される。
【発明の効果】
【０１２１】
本発明によれば、システムコントローラからのカスタマイズを実現するための手段をシステムコントローラに提供することで、システムコントローラからのインタフェースのカスタマイズを容易にするともに、ＡＴＡＰＩ規格プロトコル処理を自動的に実行することができ、さらにシステムコントローラの処理負担軽減が可能になる。
【発明を実施するための最良の形態】
【０１２２】
本発明の実施の形態では、ディスクドライブ装置として光ディスクドライブ装置を用いた例を説明する。
【０１２３】
さらに、本発明の実施の形態では、バスとしてＡＴＡ／ＡＴＡＰＩバスを用い、インタフェースとしてＡＴＡ／ＡＴＡＰＩインタフェースを用いた例を説明する。ＡＴＡ／ＡＴＡＰＩインタフェースは、ホスト装置によって、読み出し又は書き込み可能なレジスタを含む。このレジスタは、タスクファイルレジスタ（ＡＴＡレジスタ）と呼ばれる。
【０１２４】
さらに、本発明の実施の形態では、数値の先頭に“０ｘ”を付けることによって１６進数を表記する。例えば０ｘ２０は１６進数で２０、つまり１０進数では３２である。
【０１２５】
さらに、本発明の実施の形態では、「ビットをクリアする」とは「ビットを０にする」ことを表し、「ビットをセットする」とは「ビットを１にする」ことを表す。
【０１２６】
さらに、本発明の実施の形態では、ＡＴＡバスは、ＡＴＡ／ＡＴＡＰＩバスであり、特に制限のない限り、エンハンストＩＤＥバスを意味する。
【０１２７】
さらに、「ＯＤＣ」は、「光ディスクコントローラ」の略称である。
【０１２８】
（実施の形態１）
１．１．システムの構成
図１は、本発明の実施の形態１の光ディスクドライブ装置１０２の構成を示す。
【０１２９】
光ディスクドライブ装置１０２は、主接続デバイスとしてＡＴＡバス１０３に接続されている。さらに、ホスト装置１０１は、ＡＴＡバス１０３に接続されている。
【０１３０】
光ディスクドライブ装置１０２は、光ディスクからの信号の読み出し、光ディスクへの信号の書き込み、ホスト装置１０１との通信等を行う光ディスクコントローラ１０４と、光ディスクドライブ装置１０２全体の制御を行うシステムコントローラ１０５と、バス１０６とを含む。光ディスクコントローラ１０４とシステムコントローラ１０５とは、バス１０６を介して互いにアクセスを行う。
【０１３１】
光ディスクコントローラ１０４は、光ディスクコントローラ制御部１１１と、システムコントローラインタフェース１１２と、ホストインタフェース１１３と、ＤＭＡコントローラ１１４と、バッファメモリ１１５と、ディスク記録再生手段１１６と、バス１１７とを含む。光ディスクコントローラ制御部１１１と、システムコントローラインタフェース１１２と、ホストインタフェース１１３と、ＤＭＡコントローラ１１４と、バッファメモリ１１５と、ディスク記録再生手段１１６とは、バス１１７を介して互いにアクセスを行う。
【０１３２】
光ディスクコントローラ制御部１１１は、光ディスクコントローラ１０４に含まれた各構成要素を制御し、光ディスクコントローラ１０４の機能を実現するための処理部である。一般的には、光ディスクコントローラ制御部１１１は、マイクロコードと呼ばれるＬＳＩの中に組み込まれるソフトウェアである。
【０１３３】
システムコントローラインタフェース１１２は、システムコントローラ１０５との間で通信などを行う。システムコントローラインタフェース１１２は、システムコントローラ１０５から光ディスクコントローラ１０４へのアクセスを可能にするためのインタフェースである。システムコントローラインタフェース１１２へは、光ディスクコントローラ制御部１１１からだけでなく、システムコントローラ１０５からもアクセス可能である。
【０１３４】
ホストインタフェース１１３は、ホスト装置１０１から光ディスクドライブ装置１０２へ発行されるＡＴＡコマンドおよび／またはＰａｃｋｅｔコマンド（以下、「ＡＴＡ／Ｐａｃｋｅｔコマンド」と記載する。）の受信や、ホスト装置１０１との間の通信、データ転送などを行う。ホスト装置１０１からのＡＴＡコマンドおよびＰａｃｋｅｔコマンドの受信やホスト装置１０１との間の通信、データ転送は、ＡＴＡバス１０３を介して行われる。特に制限されないが、ＡＴＡ／ＡＴＡＰＩ規格が採用される場合には、ホストインタフェース１１３は、ＡＴＡ／ＡＴＡＰＩ規格のプロトコル処理制御を行うためのＡＴＡ／ＡＴＡＰＩプロトコルコントローラである。ホストインタフェース１１３は、ＡＴＡバス１０３を介して、ホスト装置１０１（例えば、パーソナルコンピュータ）に接続され、ＡＴＡ／Ｐａｃｋｅｔコマンドなどの取り込みが可能である。
【０１３５】
ＤＭＡコントローラ１１４は、バッファメモリ１１５との間でデータ転送を行う。ＤＭＡコントローラ１１４は、高速データ転送であるＤＭＡ（ダイレクトメモリアクセス）転送の制御を行うためのハードウェアであり、バッファメモリ１１５へのデータの書き込み及びバッファメモリ１１５からのデータの読み出しの制御を行う。
【０１３６】
なお、例えば、光ディスクコントローラ制御部１１１と、システムコントローラインタフェース１１２と、ホストインタフェース１１３と、ＤＭＡコントローラ１１４とは、ホスト装置１０１との間および光ディスクドライブ装置１０２の制御を行うシステムコントローラ１０５との間で通信を行うインタフェース回路として機能する。インタフェース回路は、例えば、ＡＴＡ／ＡＴＡＰＩインタフェース回路である。
【０１３７】
バッファメモリ１１５は、光ディスクへの記録データや光ディスクからの読み出しデータなどのデータを一時的に保存・格納するためのメモリである。本発明の実施の形態１では、バッファメモリ１１５が、光ディスクコントローラ１０４に内蔵される例を説明しているが、必ずしも光ディスクコントローラ１０４に内蔵されている必要は無い。バッファメモリ１１５が光ディスクへの記録データや光ディスクからの読み出しデータなどのデータを一時的に保存・格納する機能を実現し得る限りは、バッファメモリ１１５の内蔵位置は、特に限定されない。例えば、バッファメモリ１１５は、光ディスクコントローラ１０４の外部であって、光ディスクドライブ装置１０２に内蔵される。
【０１３８】
ディスク記録再生手段１１６は、光ディスクからのデータの読み出しやデータの書き込みを行うための手段である。
【０１３９】
図２は、ホストインタフェース１１３の構成を示す。
【０１４０】
ホストインタフェース１１３は、ＡＴＡタスクファイルレジスタ（ＡＴＡレジスタ）２０１と、ホストインタフェース制御レジスタ２０２と、ＦＩＦＯ（先入れ先出し）バッファ２０３とを含む。
【０１４１】
ＡＴＡタスクファイルレジスタ２０１は、ホスト装置１０１との間で通信を行う。ＡＴＡタスクファイルレジスタ２０１は、ホスト装置１０１と光ディスクコントローラ制御部１１１との双方から読み出し又は書き込み可能なレジスタである。ホストインタフェース制御レジスタ２０２は、光ディスクコントローラ制御部１１１からのみ読み出し又は書き込み可能なレジスタである。ＦＩＦＯバッファ２０３は、ホスト装置１０１とホストインタフェース１１３との間で転送を行うデータを一旦格納するためのバッファである。
【０１４２】
図３は、ＡＴＡタスクファイルレジスタ２０１の構成を示す。
【０１４３】
ＡＴＡタスクファイルレジスタ２０１は、所定のデバイスの状態を表すＥＲＲビット、ＢＳＹビット等を保有するステータスレジスタ３０１と、光ディスクドライブ装置１０２が主接続（Ｍａｓｔｅｒ）デバイスであるか従接続（Ｓｌａｖｅ）デバイスであるかを示すＤＥＶビット等を保有するデバイスレジスタ３０２と、ホスト装置１０１が光ディスクドライブ装置１０２に発行するＡＴＡコマンドを設定するコマンドレジスタ３０３と、所定のデバイス処理結果を表すＡＢＲＴビット等を保有するエラーレジスタ３０４と、ホスト装置１０１と光ディスクドライブ装置１０２との間のデータ授受に用いるデータレジスタ３０５とを含む。
【０１４４】
図４は、ホストインタフェース制御レジスタ２０２の構成を示す。
【０１４５】
ホストインタフェース制御レジスタ２０２は、ホスト装置１０１と光ディスクコントローラ１０４とのデータ転送における転送ブロック数を指定するホスト転送ブロック数レジスタ４０８と、ブロックサイズを指定するホスト転送ブロックサイズレジスタ４０１と、データ転送起動制御を行うホスト転送起動レジスタ４０２と、データ転送方向やホスト装置１０１のデータ転送形式を指定する転送制御レジスタ４０３と、ホスト装置１０１からホストインタフェース１１３に通知された割込み要因を表示する割込み要因表示レジスタ４０４と、ホスト装置１０１から受領したＡＴＡ／Ｐａｃｋｅｔコマンドの終了報告のためにホスト装置１０１に出力するＩＮＴＲＱ信号の出力制御を行うＩＮＴＲＱ制御レジスタ４０５とを含む。
【０１４６】
ホスト装置１０１と光ディスクコントローラ１０４との間のデータ転送は必ず偶数（２バイト）単位で行われるため、一般的にホスト転送ブロックサイズレジスタ４０１には転送ワード数が設定される。例えば、転送されるデータの総転送ワード数は、ホスト転送ブロック数レジスタ４０８に保持された値とホスト転送ブロックサイズレジスタ４０１に保持された値との積である。
【０１４７】
ホストインタフェース制御レジスタ２０２は、擬似動作方法制御レジスタ４０６と、擬似タスクファイルレジスタ４０７とをさらに含む。
【０１４８】
擬似動作方法制御レジスタ４０６は、存在しない従接続デバイスにホスト装置１０１からＡＴＡ／Ｐａｃｋｅｔコマンドが発行された場合の主接続デバイスの動作方法等を設定する。
【０１４９】
擬似タスクファイルレジスタ４０７は、動作方法情報に関する値を保持し、従接続デバイスが存在しない場合に、従接続デバイスに含まれるタスクファイルレジスタの代わりとして動作する。なお、動作方法情報についての詳細は、後述される。
【０１５０】
図５は、光ディスクコントローラ制御部１１１の構成を示す。
【０１５１】
光ディスクコントローラ制御部１１１は、ホストインタフェース制御部５０１と、システムコントローラインタフェース制御部５０２と、ディスク記録再生制御部５０３とを含む。
【０１５２】
ホストインタフェース制御部５０１は、例えば、ホストインタフェース１１３の制御を行うソフトウェアである。ホストインタフェース制御部５０１は、主にホスト装置１０１と光ディスクドライブ装置１０２との間のＡＴＡバス１０３を介したデータ転送処理や、ＡＴＡＰＩ規格のプロトコル処理の制御を行う。
【０１５３】
システムコントローラインタフェース制御部５０２は、例えば、システムコントローラインタフェース１１２の制御を行うソフトウェアである。システムコントローラインタフェース制御部５０２は、主にホスト装置１０１から光ディスクドライブ装置１０２に発行されたＡＴＡコマンド／Ｐａｃｋｅｔコマンドをシステムコントローラ１０５へ通知したり、システムコントローラ１０５から光ディスクコントローラ１０４への動作制御コマンドの受領を行う。
【０１５４】
ディスク記録再生制御部５０３は、例えば、光ディスクへのデータの記録／再生処理の制御を行うソフトウェアである。ディスク記録再生制御部５０３は、主に、ディスク記録再生手段１１６を制御することによって、光ディスクから読み出したデータをバッファメモリ１１５へ格納したり、ホスト装置１０１からバッファメモリ１１５へ格納されたデータを光ディスクへ記録する。
【０１５５】
図６は、システムコントローラインタフェース１１２の構成を示す。
【０１５６】
システムコントローラインタフェース１１２は、コマンドコード格納用レジスタ６０１と、Ｐａｃｋｅｔコマンド格納用レジスタ６０２と、割込み要因レジスタ６０３と、割込み許可レジスタ６０４と、ＯＤＣコマンドコード格納用レジスタ６０５と、ＯＤＣコマンドパラメータ格納用レジスタ６０６と、ＯＤＣコマンド実行結果格納用レジスタ６０７と、ＯＤＣステータスレジスタ６０８とを含む。
【０１５７】
コマンドコード格納用レジスタ６０１は、ホスト装置１０１からＡＴＡバス１０３を介して発行されたＡＴＡ／Ｐａｃｋｅｔコマンドのコマンドオペレーションコードを格納し、格納されたコマンドオペレーションコードをシステムコントローラ１０５へ通知するレジスタである。ＡＴＡ／Ｐａｃｋｅｔコマンド受領の際、光ディスクコントローラ制御部１１１に含まれるホストインタフェース制御部５０１によって、ＡＴＡタスクファイルレジスタ２０１に含まれるコマンドレジスタ３０３の値がコマンドコード格納用レジスタ６０１に格納される。例えば、ＡＴＡコマンドである”Ｄｅｖｉｃｅ  Ｒｅｓｅｔ”コマンド受領時には、０ｘ０８が、Ｐａｃｋｅｔコマンド受領時には、０ｘＡ０が、格納される。
【０１５８】
Ｐａｃｋｅｔコマンド格納用レジスタ６０２は、ホスト装置１０１からＰａｃｋｅｔコマンドを受領した場合に、Ｐａｃｋｅｔコマンドパラメータを格納し、システムコントローラ１０５にＰａｃｋｅｔコマンドパラメータを通知するレジスタであり、全１６バイトで構成される。
【０１５９】
Ｐａｃｋｅｔコマンドは最大１２バイトであるが、Ｐａｃｋｅｔコマンド格納用レジスタ６０２が、全１６バイトで構成されるのは、ＩＥＥＥ１３９４など他のホストインタフェースへの拡張性を考慮したためである。したがって、Ｐａｃｋｅｔコマンド格納用レジスタ６０２は、最低１２バイトで構成されていれば良い。
【０１６０】
Ｐａｃｋｅｔコマンド受領の際、光ディスクコントローラ制御部１１１に含まれるホストインタフェース制御部５０１によって、ホストインタフェース１１３に含まれるＦＩＦＯバッファ２０３を介して通知されるＰａｃｋｅｔコマンドパラメータが、Ｐａｃｋｅｔコマンド格納用レジスタ６０２に格納される。
【０１６１】
例えば、Ｐａｃｋｅｔコマンドとして”Ｉｎｑｕｉｒｙ”コマンドが転送長０ｘ４０バイトで発行された場合には、“Ｉｎｑｕｉｒｙ”コマンドは、１２バイトのデータで表わされる。
【０１６２】
図１５は、１２バイトのデータである”Ｉｎｑｕｉｒｙ”コマンドの例を示す。
【０１６３】
Ｐａｃｋｅｔコマンド格納用レジスタ６０２に格納される“Ｉｎｑｕｉｒｙ”コマンドは、Ｐａｃｋｅｔコマンド格納用レジスタ６０２の先頭から順に、０ｘ１２、０ｘ００、０ｘ００、０ｘ００、０ｘ４０、０ｘ００、０ｘ００、０ｘ００、０ｘ００、０ｘ００、０ｘ００、０ｘ００である。
【０１６４】
なお、光ディスクコントローラ１０４は、システムコントローラ１０５がＰａｃｋｅｔコマンド格納用レジスタ６０２に格納されたデータを読み出したことを認識する必要がある。システムコントローラ１０５がＰａｃｋｅｔコマンド格納用レジスタ６０２に格納されたＰａｃｋｅｔコマンドパラメータを読み出す前に、ホスト装置１０１から新規ＡＴＡ／Ｐａｃｋｅｔコマンドが発行され、新規ＡＴＡ／Ｐａｃｋｅｔコマンドが、Ｐａｃｋｅｔコマンド格納用レジスタ６０２に上書きされることを防ぐためである。したがって、システムコントローラ１０５がＰａｃｋｅｔコマンド格納用レジスタ６０２の１６バイト目を読み出した時点で光ディスクコントローラ１０４に割込みを発生させる。また、この割込みを用いて、光ディスクコントローラ１０４に含まれる光ディスクコントローラ制御部１１１は、ホスト装置１０１から発行されたコマンドの受領状態を管理する。
【０１６５】
なお、割込みを発生させる時点は、システムコントローラ１０５による１６バイト目の読み出し完了時に限らない。割込みを発生させる時点は、システムコントローラ１０５によってＰａｃｋｅｔコマンド格納用レジスタ６０２が読み出されたことが光ディスクコントローラ１０４よって判断できる時点であればよい。
【０１６６】
なお、Ｐａｃｋｅｔコマンド格納用レジスタ６０２は、ホスト装置１０１によってＡＴＡコマンドが発行された場合に、ＡＴＡコマンドのパラメータとしてＡＴＡタスクファイルレジスタ２０１の特定のレジスタに設定される値をシステムコントローラ１０５に通知するためにも使用される。
【０１６７】
割込み要因レジスタ６０３は、光ディスクコントローラ１０４がシステムコントローラ１０５に、発生した割込み要因を通知するためのレジスタである。発生した割込み要因の通知は、「ＡＴＡ／Ｐａｃｋｅｔコマンド受領」や「データ転送完了」などである。割込み要因レジスタ６０３には、通常、ビットごとに別々の割込み要因を通知するために、ビットごとに別々の割込み要因が割り当てられる。
【０１６８】
割込み許可レジスタ６０４は、システムコントローラ１０５への割込み発生を許可するためのレジスタである。割込み許可レジスタ６０４に設定された割込み要因が発生した場合に、システムコントローラ１０５に対する割込みが、光ディスクコントローラ１０４から発生する。通常、割込み要因レジスタ６０３のビット配置と同様のビット配置で、割込み許可レジスタ６０４に、割込み要因が配置される。
【０１６９】
ＯＤＣコマンドコード格納用レジスタ６０５は、システムコントローラ１０５が光ディスクコントローラ１０４に動作制御命令を行うために、光ディスクコントローラ１０４がシステムコントローラ１０５に提供しているコマンド（以下、「ＯＤＣコマンド」と記載する。）のＯＤＣコマンドコードを格納するためのレジスタである。
【０１７０】
ＯＤＣコマンドには、一般に、ホスト装置１０１と光ディスクコントローラ１０４との間の動作制御用のホスト系ＯＤＣコマンドと、ディスクへの書き込み・読み出し等ディスク管理動作制御用のディスク系ＯＤＣコマンドと、サーボ動作管理用のサーボ系ＯＤＣコマンドとがある。
【０１７１】
本発明の実施の形態１では、特に、ホスト装置１０１と光ディスクコントローラ１０４との間の動作制御用ＯＤＣコマンドに関する動作説明を行うため、以下、特に記載が無い限り、ＯＤＣコマンドとは、ホスト系ＯＤＣコマンドを示す。
【０１７２】
ＯＤＣコマンドには、光ディスクコントローラ１０４がコマンド実行中の場合にオーバーラップしてホスト装置１０１が発行することが出来ない「通常系ＯＤＣコマンド」と、光ディスクコントローラ１０４がコマンド実行中の場合でもオーバーラップしてホスト装置１０１が発行可能な「特殊系ＯＤＣコマンド」とがある。
【０１７３】
通常系ＯＤＣコマンドとしては、バッファメモリ１１５からホスト装置１０１へのデータ転送を起動するための”ＸＢＳＮＤ”コマンドや、ホスト装置１０１からバッファメモリ１１５へのデータ転送を起動するための”ＸＢＲＣＶ”コマンドなどがある。通常系ＯＤＣコマンドのコマンド実行結果は、ＯＤＣコマンド実行結果格納用レジスタ６０７によって光ディスクコントローラ１０４からシステムコントローラ１０５に報告される。
【０１７４】
特殊系ＯＤＣコマンドとしては、システムコントローラ１０５から光ディスクコントローラ１０４にドライブ自己診断結果を通知するための“ＣＮＴＲＳＴ”コマンドなどがある。特殊系ＯＤＣコマンドのコマンド実行結果は、通常系ＯＤＣコマンドのコマンド実行結果と異なり、システムコントローラ１０５に報告されない。システムコントローラ１０５がＯＤＣコマンドコード格納用レジスタ６０５にＯＤＣコマンドを設定する場合には、光ディスクコントローラ１０４に対して割込みが発生する。
【０１７５】
ＯＤＣコマンドパラメータ格納用レジスタ６０６は、ＯＤＣコマンドコード格納用レジスタ６０５に格納されるＯＤＣコマンドのコマンドパラメータを格納するためのレジスタである。
【０１７６】
ＯＤＣコマンド実行結果格納用レジスタ６０７は、ＯＤＣコマンドコード格納用レジスタ６０５に設定されたコマンドに基づいて光ディスクコントローラ１０４が行った処理の実行結果をシステムコントローラ１０５に通知するためのレジスタである。システムコントローラ１０５がＯＤＣコマンド実行結果格納用レジスタ６０７の読み出しを行うと、光ディスクコントローラ１０４に対して割込みが発生する。
【０１７７】
例えば、ＯＤＣコマンドとしてホスト系ＯＤＣコマンド、ディスク系ＯＤＣコマンドおよびサーボ系ＯＤＣコマンドを対象とする場合には、ＯＤＣコマンドコード格納用レジスタ６０５、ＯＤＣコマンドパラメータ格納用レジスタ６０６およびＯＤＣコマンド実行結果格納用レジスタ６０７の各々には、一般に、ホスト系のレジスタ、ディスク系のレジスタおよびサーボ系のレジスタが含まれる。なお、本発明の実施の形態では、特に、ホスト系ＯＤＣコマンドを対象とするため、ディスク系ＯＤＣコマンドおよびサーボ系ＯＤＣコマンドに関する記載は省略する。
【０１７８】
ＯＤＣステータスレジスタ６０８は、光ディスクコントローラ１０４のコマンド実行状態をシステムコントローラ１０５に通知するためのレジスタである。
【０１７９】
図８は、ＯＤＣステータスレジスタ６０８が保持する情報の一例を示す。ＯＤＣステータスレジスタ６０８は、例えば、「ＣＭＤＩＮＨ」ビット、「ＣＭＤＥＮ」ビットおよび「ＣＭＤＢＳＹ」ビットを保持する。「ＣＭＤＩＮＨ」ビットは、光ディスクコントローラ１０４がコマンド受領許可状態か否かを示す。「ＣＭＤＥＮ」ビットは、光ディスクコントローラ１０４が通常系ＯＤＣコマンド受領可能か否かを示す。「ＣＭＤＢＳＹ」ビットは、光ディスクコントローラ１０４が通常系ＯＤＣコマンド実行中か否かを示す。これらのビット情報からシステムコントローラ１０５は光ディスクコントローラ１０４のコマンド実行状態を確認する。
【０１８０】
なお、ビット名および図中のビット配置は任意であり、「ＣＭＤＩＮＨ」ビット、「ＣＭＤＥＮ」ビットおよび「ＣＭＤＢＳＹ」ビットの３つの情報は、どのビット番号に相当するビットに配置されても良い。また図８中の「ビット名」欄に示された“−”は、本発明の実施の形態では「未使用のビット」を意味する。必要に応じて、“−”に意味をもたせることも可能である。
【０１８１】
ＣＭＤＩＮＨビットが“１”である場合は、光ディスクコントローラ１０４は新規ＯＤＣコマンド受領禁止状態であることを示し、ＣＭＤＩＮＨビットが“０”である場合は、光ディスクコントローラ１０４は新規ＯＤＣコマンド受領許可状態であることを示す。
【０１８２】
ＣＭＤＥＮビットが“１”である場合は、光ディスクコントローラ１０４は通常系ＯＤＣコマンド受領可能状態であることを示し、ＣＭＤＥＮビットが“０”である場合は、通常系ＯＤＣコマンド受領禁止状態であることを示す。
【０１８３】
ＣＭＤＢＳＹビットが“１”である場合は、光ディスクコントローラ１０４は通常系ＯＤＣコマンド実行中であることを示し、ＣＭＤＢＳＹビットが“０”である場合は、通常系ＯＤＣコマンド実行中ではないことを示す。
【０１８４】
例えば、ＯＤＣステータスレジスタ６０８に保持されるＣＭＤＩＮＨビットの初期値は“０”，ＣＭＤＥＮビットの初期値は“１”，ＣＭＤＢＳＹビットの初期値は“０”である。
【０１８５】
なお、ＯＤＣコマンドとしてホスト系ＯＤＣコマンド、ディスク系ＯＤＣコマンドおよびサーボ系ＯＤＣコマンドを対象とする場合には、ＯＤＣステータスレジスタ６０８に保持されるＣＭＤＩＮＨビット、ＣＭＤＥＮビットおよびＣＭＤＢＳＹビットに相当する情報も、各々のコマンドについて保持する必要があるが、本発明の実施の形態では、特に、ホスト系ＯＤＣコマンドを対象とするため、ディスク系ＯＤＣコマンドおよびサーボ系ＯＤＣコマンドに関する記載は省略する。
【０１８６】
図７は、ＤＭＡコントローラ１１４の構成を示す。
【０１８７】
ＤＭＡコントローラ１１４は、転送方向の設定や転送起動設定を行うためのＤＭＡ転送制御レジスタ７０１と、転送開始位置であるデータバッファ１１５上のアドレスを設定するＤＭＡ転送開始アドレスレジスタ７０２と、ＤＭＡコントローラ１１４とバッファメモリ１１５とのデータ転送における転送ブロック数を示すＤＭＡ転送ブロック数レジスタ７０３と、ブロックサイズを示すＤＭＡ転送ブロックサイズレジスタ７０４とを含む。
【０１８８】
ＤＭＡコントローラ１１４とバッファメモリ１１５との間のデータ転送は一般的に偶数（２バイト）単位で行われるため、ＤＭＡ転送ブロックサイズレジスタ７０４には転送ワード数が設定される。例えば、転送されるデータの総転送ワード数は、ＤＭＡ転送ブロック数レジスタ７０３に保持された値とＤＭＡ転送ブロックサイズレジスタ７０４に保持された値との積である。
【０１８９】
図１および図４に示される例では、ホストインタフェース１１３が「上位装置との間でデータ転送を行うホストデータ転送手段」または「上位装置との間で通信を行うインタフェース通信手段」として機能し、ＤＭＡコントローラ１１４が「データバッファとの間でデータ転送を行うバッファデータ転送手段」として機能し、システムコントローラインタフェース１１２が「システムコントローラとの間で通信を行うシステムインタフェース通信手段」として機能し、光ディスクコントローラ制御部１１１が「ホストデータ転送手段とバッファデータ転送手段とシステムインタフェース通信手段とを制御するインタフェース制御手段」、「インタフェース通信手段とシステムインタフェース通信手段とを制御するインタフェース制御手段」または「ＡＴＡタスクファイルレジスタとシステムインタフェース通信手段と擬似タスクファイルレジスタとを制御するインタフェース制御手段」として機能し、バッファメモリ１１５が「データを格納可能なデータバッファ」として機能し、ディスク記録再生手段１１６が「ディスクに対してデータを記録再生するためのディスク記録再生制御部」として機能し、擬似タスクファイルレジスタ４０７が「主接続デバイスに対応する従接続デバイスに含まれるＡＴＡタスクファイルレジスタの代わりとして動作する擬似タスクファイルレジスタ」として機能する。
【０１９０】
例えば、システムコントローラインタフェース１１２と、ホストインタフェース１１３と、ＤＭＡコントローラ１１４と、光ディスクコントローラ制御部１１１とが「上位装置との間およびシステムコントローラとの間で通信を行うインタフェース回路」に対応し、光ディスクコントローラ１０４が「インタフェース回路とディスク記録再生制御部とを備えるディスクコントローラ」に対応し、光ディスクドライブ装置１０２が「上位装置との間で通信を行うインタフェース回路と、データを格納可能なデータバッファと、システムコントローラとを備えるディスクドライブ装置」に対応する。
【０１９１】
しかし、本発明のインタフェース回路、ディスクコントローラ、ディスクドライブ装置が図１および図４に示されるものに限定されるわけではない。図１および図４に示される例は、本発明のインタフェース回路、ディスクコントローラ、ディスクドライブ装置およびインタフェース制御方法の機能分担の一例を示したにすぎない。上述した各構成要素の機能が達成される限り、任意の構成を有するインタフェース回路、ディスクコントローラ、ディスクドライブ装置が本発明の範囲内に含まれる。例えば、上述した各構成要素の機能は、ハードウェアによって実現されてもよいし、ソフトウェアによって実現されてもよいし、ハードウェアとソフトウェアとによって実現されてもよい。
【０１９２】
１．２．光ディスクドライブ装置１０２の動作説明
以下、光ディスクドライブ装置１０２を用いたＡＴＡＰＩ規格プロトコル処理実現方法およびカスタマイズ実現方法等について説明する。
【０１９３】
１．２．１．リセットプロトコル処理
ＡＴＡＰＩ規格では、リセット関係のプロトコルとして“ハードウェアリセット”、“ソフトウェアリセット”プロトコルなどが規定されている。リセットとは、ＡＴＡバスの初期化、タスクファイルレジスタの初期化、ＡＴＡバスに接続されたドライブの初期化などを行う処理である。
【０１９４】
図９は、光ディスクドライブ装置１０２を用いたリセットプロトコル処理手順を示す。以下、図９を参照して光ディスクドライブ装置１０２を用いたリセットプロトコル処理手順をステップごとに説明する。光ディスクドライブ装置１０２が主接続デバイスであり、“ハードウェアリセット”が要求された場合を例にとって説明する。
【０１９５】
ホスト装置１０１からのリセットプロトコル処理起動のトリガとして、光ディスクコントローラ１０４に対して割込みが発生する。このとき、この割込み要因はホストインタフェース１１３内のホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４に表示される。なお、この場合の割込み要因は“ハードウェアリセット”割込みである。
【０１９６】
ステップ９０１：光ディスクコントローラ１０４が割込みを認識すると、ＡＴＡタスクファイルレジスタ２０１に含まれるステータスレジスタ３０１のＢＳＹビットが“１”になるとともに、光ディスクコントローラ制御部１１１のホストインタフェース制御部５０１が、ホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４の内容を読み出し、発生した要因がハードウェアリセット要因であることを確認する。
【０１９７】
ステップ９０２：光ディスクコントローラ制御部１１１は、第１リセット処理を実行する。例えば、第１リセット処理は、自己診断に関わる所定の処理を含まない処理である。ここで、自己診断とは、ディスクドライブ装置内部の異常（例えば、論理的な矛盾や異常）を検出する処理のことである。例えば、ハードウェアリセット要因であることを確認したホストインタフェース制御部５０１は、従接続デバイスが存在することを示すＤＡＳＰ信号の検出や、ＡＴＡタスクファイルレジスタ２０１に含まれるデバイスレジスタ３０２のＤＥＶビットをクリアするといったタスクファイルレジスタ初期化処理等の自己診断前処理をホストインタフェース１１３に対して実行する。
【０１９８】
ステップ９０３：光ディスクコントローラ制御部１１１は、第１リセット処理とは異なる第２リセット処理の実行許可をシステムコントローラ１０５に要求するように、システムコントローラインタフェース１１２に要求する。例えば、第２リセット処理は、自己診断に関わる所定の処理を含む処理である。例えば、ホストインタフェース制御部５０１は、システムコントローラ１０５に、光ディスクドライブ装置１０２の自己診断の実行および光ディスクドライブ装置１０２の自己診断の結果の報告を要求する。例えば、ホストインタフェース制御部５０１はシステムコントローラインタフェース１１２の割込み要因レジスタ６０３に対して“自己診断実行要求”割込み要因に相当するビットをセットする。これにより、光ディスクコントローラ１０４からシステムコントローラ１０５に対して割込みが発生する。
【０１９９】
なお、システムコントローラインタフェース１１２の割込み許可レジスタ６０４における“自己診断実行要求”割込み要因に相当するビットは割込み許可された状態である。
【０２００】
ステップ９０４：割込みを受領したシステムコントローラ１０５は、システムコントローラインタフェース１１２の割込み要因レジスタ６０３から割込み要因を確認し、要因が“自己診断実行要求”であることを確認する。
【０２０１】
ステップ９０５：割込み要因が、“自己診断実行要求”であることを確認したシステムコントローラ１０５は、光ディスクドライブ装置１０２の自己診断を実行する。
【０２０２】
ステップ９０６：システムコントローラ１０５は、第２リセット処理の実行許可をインタフェース回路に報告する。例えば、システムコントローラ１０５は、ステップ９０５で実行した自己診断の結果を光ディスクコントローラ１０４に報告するため、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”であることを確認した後、自己診断結果をＯＤＣコマンドパラメータ格納用レジスタ６０６へセットし、自己診断結果を光ディスクコントローラ１０４へ通知するための特殊系ＯＤＣコマンドとして光ディスクコントローラ１０４が提供する“ＣＮＴＲＳＴ”に相当するコマンドコード（ここでは０ｘ７１）をＯＤＣコマンドコード格納用レジスタ６０５へセットする。システムコントローラ１０５がＯＤＣコマンドコード格納用レジスタ６０５へＯＤＣコマンドを設定することによって、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“１”となるとともに、光ディスクコントローラ１０４に対して割込みが発生する。
【０２０３】
ステップ９０７：光ディスクコントローラ制御部１１１は、第２リセット処理の実行許可の報告をシステムコントローラ１０５から受け取るように、システムコントローラインタフェース１１２に要求する。例えば、システムコントローラ１０５からの割込みを受けたシステムコントローラインタフェース制御部５０２は、ＯＤＣコマンドコードとコマンドパラメータの受領を行い、受領したコマンドパラメータを“ＣＮＴＲＳＴ”コマンド処理を行うホストインタフェース制御部５０１へ報告する。またシステムコントローラインタフェース制御部５０２は、受領したコマンドパラメータの報告を行った後、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットを“０”にクリアする。
【０２０４】
ここで“ＣＮＴＲＳＴ”コマンドは特殊系ＯＤＣコマンドであるため、下記１．２．４で後述される“ＸＢＳＮＤ”コマンドの場合等とは違って、光ディスクコントローラ１０４は、システムコントローラ１０５に対して“ＯＤＣコマンド処理完了”割込み要因に相当するビットを割込み要因レジスタ６０３へ設定することによってシステムコントローラ１０５へ割込みを発生させたり、ＯＤＣコマンド実行結果格納用レジスタ６０７に対してコマンド実行結果を設定するといった処理は行わない。
【０２０５】
ステップ９０８：光ディスクコントローラ制御部１１１は、第２リセット処理の実行許可の報告に応じて、第２リセット処理を実行する。例えば、ホストインタフェース制御部５０１は、従接続デバイスが存在する場合に、従接続デバイスの自己診断が完了したことを示すために発行するＰＤＩＡＧ信号の検出、受領した自己診断結果に応じたエラーレジスタ３０４の設定などを行う。
【０２０６】
ステップ９０９：光ディスクコントローラ制御部１１１は、ホスト装置１０１に第１リセット処理の完了および第２リセット処理の完了を報告するように、ホストインタフェース１１３に要求する。例えば、ホストインタフェース制御部５０１は、ステータスレジスタ３０１のＢＳＹビット、ＥＲＲビット等を０にクリアする。
【０２０７】
ホストインタフェース制御部５０１が、ホスト装置１０１へリセット処理の完了を報告することによって、リセットプロトコル処理は終了する。
【０２０８】
ステップ９０１〜ステップ９０９を実行することによって、光ディスクドライブ装置１０２はリセットプロトコル処理を実現する。
【０２０９】
ここでシステムコントローラ１０５は、光ディスクコントローラ１０４に対して特殊系ＯＤＣコマンドを発行する場合、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”であることの確認を行ってからＯＤＣコマンドをＯＤＣコマンドコード格納用レジスタ６０５へ設定する必要がある。またシステムコントローラ１０５は、光ディスクコントローラ１０４に対して通常系ＯＤＣコマンドを発行する場合、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”、ＣＭＤＥＮビットが“１”、ＣＭＤＢＳＹビットが“０”であることの確認を行ってからＯＤＣコマンドをＯＤＣコマンドコード格納用レジスタ６０５へ設定する必要がある。
【０２１０】
さらにシステムコントローラ１０５は、光ディスクコントローラ１０４に対して特殊系ＯＤＣコマンドを発行した場合、下記１．２．４で後述される通常系ＯＤＣコマンドである“ＸＢＳＮＤ”コマンドの場合とは違い、割込みによってＯＤＣコマンドの完了を判断することが出来ないため、ＯＤＣステータスレジスタ６０８を用い、ＣＭＤＩＮＨビットが“１”から“０”へクリアされるのを確認することで、コマンド完了の判断を行うことになる。
【０２１１】
本発明のインタフェース制御方法によれば、リセットプロトコル処理は、第１フェーズ（光ディスクコントローラ制御部１１１が、第１リセット処理を実行し、第１リセット処理とは異なる第２リセット処理の実行許可をシステムコントローラ１０５に要求するように、システムコントローラインタフェース１１２に要求するフェーズ）と、第２フェーズ（光ディスクコントローラ制御部１１１が、第２リセット処理の実行許可の報告に応じて、第２リセット処理を実行し、ホスト装置１０１に第２リセット処理の完了を報告するように、ホストインタフェース１１３に要求するフェーズ）に分けて実行される。リセットプロトコル処理を２つのフェーズに分けて実行し、第１フェーズと第２フェーズとの間でシステムコントローラ１０５の介在を可能にすることで、リセットプロトコル処理に対するシステムコントローラ１０５からの制御（例えば、光ディスクドライブ装置１０２全体に対して実行する必要のある自己診断処理の実行や、任意のタイミングでの第２リセット処理開始の許可）、つまりインタフェース回路のカスタマイズが可能となる。
【０２１２】
また規格で規定されたＡＴＡタスクファイルレジスタ２０１の制御処理は、光ディスクコントローラ１０４内の光ディスクコントローラ制御部１１１に含まれるホストインタフェース制御部５０１で実行、つまり光ディスクコントローラ１０４というＬＳＩにおいて自動的に実行するため、システムコントローラ１０５の処理負担軽減という目的も実現できる。
【０２１３】
図９に示される実施の形態では、ステップ９０２が「第１リセット処理を実行するステップ」に対応し、ステップ９０３が「第１リセット処理とは異なる第２リセット処理の実行許可をシステムコントローラに要求するように、システムインタフェース通信手段に要求するステップ」に対応し、ステップ９０６が「第２リセット処理の実行許可をインタフェース回路に報告するステップ」に対応し、ステップ９０７が「第２リセット処理の実行許可の報告をシステムコントローラから受け取るように、システムインタフェース通信手段に要求するステップ」に対応し、ステップ９０８が「第２リセット処理の実行許可の報告に応じて、第２リセット処理を実行するステップ」に、ステップ９０９が「上位装置に第２リセット処理の完了を報告するように、インタフェース通信手段に要求するステップ」に対応する。
【０２１４】
しかし、リセットプロトコル処理手順が図９に示されるものに限定されるわけではない。リセットプロトコル処理手順は、上述した「第１リセット処理を実行するステップ」、「第１リセット処理とは異なる第２リセット処理の実行許可をシステムコントローラに要求するように、システムインタフェース通信手段に要求するステップ」、「第２リセット処理の実行許可をインタフェース回路に報告するステップ」、「第２リセット処理の実行許可の報告をシステムコントローラから受け取るように、システムインタフェース通信手段に要求するステップ」、「第２リセット処理の実行許可の報告に応じて、第２リセット処理を実行するステップ」および「上位装置に第２リセット処理の完了を報告するように、インタフェース通信手段に要求するステップ」を実現する限り、任意の処理手順を有し得る。
【０２１５】
１．２．２．ホスト装置からのＰａｃｋｅｔコマンド受領
図１０は、ホスト装置１０１からＰａｃｋｅｔコマンドを受領した場合の光ディスクドライブ装置１０２のＰａｃｋｅｔコマンド受領手順を示す。以下、図１０を参照して光ディスクドライブ装置１０２のＰａｃｋｅｔコマンド処理手順をステップごとに説明する。光ディスクドライブ装置１０２が、図１５に示す１２バイトのデータで表わされるＰａｃｋｅｔコマンド“Ｉｎｑｕｉｒｙ”を受領する場合を例に取り説明を行う。
【０２１６】
ホスト装置１０１がＰａｃｋｅｔコマンド発行を行う場合、まずホスト装置１０１によってＡＴＡタスクファイルレジスタ２０１のコマンドレジスタ３０３へコマンドコード（ここでは０ｘＡ０）が設定され、さらにＰａｃｋｅｔコマンドパラメータがデータＦＩＦＯ（先入れ先出し）バッファ２０３へ格納され、光ディスクコントローラ１０４に対して割込みが発生する。このとき、この割込み要因はホストインタフェース１１３内のホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４へ表示される。この場合の割込み要因は“Ｐａｃｋｅｔコマンド受領”割込みである。
【０２１７】
ステップ１００１：光ディスクコントローラ１０４が割込みを認識すると、光ディスクコントローラ制御部１１１のホストインタフェース制御部５０１が、ホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４の内容を読み出し、発生した要因が“Ｐａｃｋｅｔコマンド受領”要因であることを確認する。
【０２１８】
ステップ１００２：ホストインタフェース制御部５０１は、コマンドレジスタ３０３へ設定されたコマンドコード（ここでは０ｘＡ０）をコマンドコード格納用レジスタ６０１へ設定する。
【０２１９】
ステップ１００３：ホストインタフェース制御部５０１は、引き続きＦＩＦＯバッファ２０３へ設定されているＰａｃｋｅｔコマンドパラメータを読み取り、同じくシステムコントローラインタフェース１１２内のＰａｃｋｅｔコマンド格納用レジスタ６０２へＰａｃｋｅｔコマンドパラメータを設定する。なおこのステップ１００３は、Ｐａｃｋｅｔコマンドパラメータのサイズ分実行する。
【０２２０】
ステップ１００４：ホストインタフェース制御部５０１は、ホスト装置１０１からコマンドを受領したことをシステムコントローラ１０５に通知する。例えば、ホストインタフェース制御部５０１はシステムコントローラインタフェース１１２の割込み要因レジスタ６０３に対して“ホスト装置からのコマンド受領”割込み要因に相当するビットをセットすることで、光ディスクコントローラ１０４からシステムコントローラ１０５に対して割込みが発生する。
【０２２１】
なおこのとき、システムコントローラインタフェース１１２の割込み許可レジスタ６０４における“ホスト装置からのコマンド受領”割込み要因に相当するビットは許可状態になっている。
【０２２２】
ステップ１００５：割込みを受領したシステムコントローラ１０５は、システムコントローラインタフェース１１２の割込み要因レジスタ６０３から割込み要因を確認し、要因が“ホスト装置からのコマンド受領”であることを確認する。
【０２２３】
ステップ１００６：“ホスト装置からのコマンド受領”要因であると確認したシステムコントローラ１０５は、システムコントローラインタフェース１１２のコマンドコード格納用レジスタ６０１から受領したコマンドコード（ここではＰａｃｋｅｔコマンドのため０ｘＡ０）を読み出す。
【０２２４】
ステップ１００７：システムコントローラ１０５は、Ｐａｃｋｅｔコマンド格納用レジスタ６０２から受領したＰａｃｋｅｔコマンドパラメータを読み出す。
【０２２５】
システムコントローラ１０５が、Ｐａｃｋｅｔコマンド格納用レジスタ６０２から受領したＰａｃｋｅｔコマンドパラメータを読み出した後、Ｐａｃｋｅｔコマンド受領処理は終了する。
【０２２６】
ステップ１００１〜ステップ１００７を実行することによって、システムコントローラ１０５はホスト装置１０１から発行されたＰａｃｋｅｔコマンドを受領し、コマンド解釈およびそのコマンドに対応した処理を行う。
【０２２７】
１．２．３．ホスト装置からのＡＴＡコマンド受領
以下、さらに図１０を参照してホスト装置１０１からＡＴＡコマンドを受領した際の光ディスクドライブ装置１０２のＡＴＡコマンド受領手順をステップごとに説明する。Ｕｌｔｒａ−ＤＭＡ転送、ＰＩＯ転送などのホスト装置１０１のデータ転送形式をデバイスに対して通知するためのＡＴＡコマンド“Ｓｅｔ  Ｆｅａｔｕｒｅ”（コマンドコードは０ｘＥＦ）を受領する場合を例に取り説明を行う。
【０２２８】
ホスト装置１０１がＡＴＡコマンド発行を行う場合、まずホスト装置１０１によってＡＴＡタスクファイルレジスタ２０１のコマンドレジスタ３０３へコマンドコード（ここでは０ｘＥＦ）が設定され、さらにこのコマンドのパラメータに相当する情報がＡＴＡタスクファイルレジスタ２０１内の各レジスタへ設定され、光ディスクコントローラ１０４に対して割込みが発生する。このとき、この割込み要因はホストインタフェース１１３内のホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４へ表示される。この場合の割込み要因は“ＡＴＡコマンド受領”割込みである。
【０２２９】
ステップ１００１：光ディスクコントローラ１０４が割込みを認識すると、光ディスクコントローラ制御部１１１のホストインタフェース制御部５０１が、ホストインタフェース制御レジスタ２０２に含まれる割込み要因表示レジスタ４０４の内容を読み出し、発生した要因が“ＡＴＡコマンド受領”要因であることを確認する。
【０２３０】
ステップ１００２：ホストインタフェース制御部５０１は、コマンドレジスタ３０３へ設定されたコマンドコード（ここでは０ｘＥＦ）をシステムコントローラインタフェース１１２内のコマンドコード格納用レジスタ６０１へ設定する。
【０２３１】
ステップ１００３：ホストインタフェース制御部５０１は、引き続きＡＴＡコマンドのパラメータとして使用するＡＴＡタスクファイルレジスタ２０１の各レジスタの値を同じくシステムコントローラインタフェース１１２内のＰａｃｋｅｔコマンド格納用レジスタ６０２へ設定する。なおこのステップ１００３を必要なタスクファイルレジスタの数分実行する。
【０２３２】
ステップ１００４：ホストインタフェース制御部５０１は、ホスト装置１０１からコマンドを受領したことをシステムコントローラ１０５に対して報告する。例えば、ホストインタフェース制御部５０１はシステムコントローラインタフェース１１２の割込み要因レジスタ６０３に対して“ホスト装置からのコマンド受領”割込み要因に相当するビットをセットすることで、光ディスクコントローラ１０４からシステムコントローラ１０５に対して割込みが発生する。
【０２３３】
なおこのとき、システムコントローラインタフェース１１２の割込み許可レジスタ６０４における“ホスト装置からのコマンド受領”割込み要因に相当するビットは許可状態になっている。
【０２３４】
ステップ１００５：割込みを受領したシステムコントローラ１０５は、システムコントローラインタフェース１１２の割込み要因レジスタ６０３から割込み要因を確認し、要因が“ホスト装置からのコマンド受領”であることを確認する。
【０２３５】
ステップ１００６：“ホスト装置からのコマンド受領”要因であると確認したシステムコントローラ１０５は、システムコントローラインタフェース１１２のコマンドコード格納用レジスタ６０１から受領したコマンドコード（ここでは０ｘＥＦ）を読み出す。
【０２３６】
ステップ１００７：システムコントローラ１０５は、Ｐａｃｋｅｔコマンド格納用レジスタ６０２から受領したＡＴＡタスクファイルレジスタ２０１の値を読み出す。
【０２３７】
ステップ１００１〜ステップ１００７を実行することによって、システムコントローラ１０５はホスト装置１０１から発行されたＡＴＡコマンドを受領し、コマンド解釈およびそのコマンドに対応した処理を行う。
【０２３８】
１．２．４．データ転送処理
図１１は、光ディスクドライブ装置１０２がＡＴＡバス１０３を介してホスト装置１０１とデータ転送を行うデータ転送処理手順を示す。以下、図１１を参照して、データ転送処理手順をステップごとに説明する。なおここでは、光ディスクドライブ装置１０２がホスト装置１０１からのデータ転送系のコマンドを受領した状態であり、光ディスクドライブ装置１０２に含まれるバッファメモリ１１５からホスト装置１０１へのデータ転送を行う場合を例にとって説明する。
【０２３９】
ステップ１１０１：システムコントローラ１０５は、ホスト装置１０１とバッファメモリ１１５との間のデータ転送を要求する。例えば、システムコントローラ１０５は、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”、ＣＭＤＥＮビットが“１”、ＣＭＤＢＳＹビットが“０”であることを確認した後、ホスト装置１０１から受領したコマンドパラメータから、転送データサイズ情報と転送するデータが格納されているバッファメモリ１１５の位置情報を算出する。さらに、システムコントローラ１０５は、転送データサイズ情報と転送するデータが格納されているバッファメモリ１１５の位置情報とをＯＤＣコマンドパラメータ格納用レジスタ６０６へ設定し、更にホスト装置１０１へのデータ転送を起動するための通常系ＯＤＣコマンドとして光ディスクコントローラ１０４が提供する”ＸＢＳＮＤ”コマンドを表すコマンドコード（ここでは０ｘ０１）をＯＤＣコマンドコード格納用レジスタ６０５へ設定する。
【０２４０】
システムコントローラ１０５からＯＤＣコマンドコード格納用レジスタ６０５へコマンドコードが設定されると、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“１”となるとともに、光ディスクコントローラ１０４に対して割込みが発生する。
【０２４１】
ステップ１１０２：割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２において、ＯＤＣコマンドコード格納用レジスタ６０５からＯＤＣコマンドコードを読み出し、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６からコマンドパラメータの読み出しを行う。さらに、システムコントローラインタフェース制御部５０２は、ＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“０”に、ＣＭＤＢＳＹビットを“１”に設定するとともに、受領した“ＸＢＳＮＤ”コマンドの処理制御を行うホストインタフェース制御部５０１に、ＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの報告を行う。システムコントローラインタフェース制御部５０２は、ＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの報告を行った後、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットを“０”にクリアする。
【０２４２】
システムコントローラインタフェース制御部５０２からコマンドコードとコマンドパラメータを受け取ったホストインタフェース制御部５０１は、受領した“ＸＢＳＮＤ”コマンドに対応する処理を行う。
【０２４３】
ステップ１１０３：光ディスクコントローラ制御部１１１は、光ディスクコントローラ１０４によるホスト装置１０１とバッファメモリ１１５との間のデータ転送の要求に応じて、バッファメモリ１１５とＤＭＡコントローラ１１４との間のデータ転送をＤＭＡコントローラ１１４に要求する。例えば、ホストインタフェース制御部５０１は、受領したコマンドパラメータから転送するデータサイズを算出し、それらをＤＭＡ転送ブロック数レジスタ７０３およびＤＭＡ転送ブロックサイズレジスタ７０４に設定し、転送するデータが格納されているバッファメモリの位置情報（＝転送起動開始アドレス）をＤＭＡ転送開始アドレスレジスタ７０２に設定し、さらにＤＭＡ転送制御レジスタ７０１に対してデータ転送方向の設定およびデータ転送起動を設定する。なお、起動したＤＭＡコントローラ１１４の転送の完了は割込みで通知される。
【０２４４】
ステップ１１０４：光ディスクコントローラ制御部１１１は、システムコントローラ１０５によるホスト装置１０１とバッファメモリ１１５との間のデータ転送の要求に応じて、ホスト装置１０１とホストインタフェース１１３との間のデータ転送をホストインタフェース１１３に要求する。例えば、ホストインタフェース制御部５０１は、転送するデータサイズをホスト転送ブロック数レジスタ４０８およびホスト転送ブロックサイズレジスタ４０１へ設定し、データ転送方向やホスト装置１０１のデータ転送形式などを転送制御レジスタ４０３へ設定し、さらにホスト転送起動レジスタ４０２に対してホストインタフェース１１３の転送起動を設定する。なお、起動したホストインタフェース１１３の転送の完了は割込みで通知される。
【０２４５】
ステップ１１０５〜ステップ１１０７：光ディスクコントローラ制御部１１１は、ホストインタフェース１１３からのデータ転送に関する報告およびＤＭＡコントローラ１１４からのデータ転送に関する報告に基づいて、ホスト装置１０１とバッファメモリ１１５との間のデータ転送が完了したか否かを判断する。
【０２４６】
ステップ１１０５：光ディスクコントローラ制御部１１１は、ＤＭＡコントローラ１１４からのデータ転送に関する報告に基づいて、バッファメモリ１１５とＤＭＡコントローラ１１４との間のデータ転送が完了したか否かを判断する。例えば、ホストインタフェース制御部５０１は、転送起動したＤＭＡコントローラ１１４における転送完了割込みが通知されるのを待ち、ＤＭＡコントローラ１１４の転送完了割込みに基づいて、起動したＤＭＡコントローラ１１４のデータ転送処理完了を判断する。
【０２４７】
ステップ１１０６：光ディスクコントローラ制御部１１１は、ホストインタフェース１１３からのデータ転送に関する報告に基づいて、ホスト装置１０１とホストインタフェース１１３との間のデータ転送が完了したか否かを判断する。例えば、ホストインタフェース制御部５０１は、ホストインタフェース１１３の転送完了割込みが通知されるのを待ち、ホストインタフェース１１３の転送完了割込みに基づいて、起動したホストインタフェース１１３のデータ転送処理完了を判断する。
【０２４８】
ステップ１１０７：光ディスクコントローラ制御部１１１は、ホスト装置１０１とホストインタフェース１１３との間のデータ転送が完了し、バッファメモリ１１５とＤＭＡコントローラ１１４との間のデータ転送が完了した場合に、ホスト装置１０１とバッファメモリ１１５との間のデータ転送が完了したと判断する。
【０２４９】
ステップ１１０８：光ディスクコントローラ制御部１１１は、システムコントローラ１０５にコマンド実行結果を報告する。例えば、ホストインタフェース制御部５０１は、システムコントローラ１０５から要求されたＯＤＣコマンド処理が完了したことをシステムコントローラ１０５に対して通知する。より詳細には、ホストインタフェース制御部５０１は、ＯＤＣコマンド実行結果格納用レジスタ６０７に対して“ＸＢＳＮＤ”コマンドの実行結果を設定するとともに、ＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“１”にセットし、さらに割込み要因レジスタ６０３に対して“ＯＤＣコマンド処理完了”割込み要因に相当するビットをセットすることで、ホストインタフェース制御部５０１は、光ディスクコントローラ１０４からシステムコントローラ１０５への割込みを発生させる。
【０２５０】
なおこのとき、割込み許可レジスタ６０４の“ＯＤＣコマンド処理完了”割込み要因に相当するビットは割込み許可状態である。
【０２５１】
ステップ１１０９：割込みを受領したシステムコントローラ１０５は、システムコントローラインタフェース１１２の割込み要因レジスタ６０３から割込み要因を確認し、要因が“ＯＤＣコマンド処理完了”であることを確認し、さらにＯＤＣコマンド実行結果格納用レジスタ６０７からコマンド実行結果を読み出すことで、ＯＤＣコマンド“ＸＢＳＮＤ”処理が完了したと判断する。
【０２５２】
ここで、システムコントローラ１０５によってＯＤＣコマンド実行結果格納用レジスタ６０７の読み出しが行われると、光ディスクコントローラ１０４に対して割込みが発生する。
【０２５３】
そしてこの割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２においてＯＤＣステータスレジスタ６０８のＣＭＤＢＳＹビットを“０”にクリアする。
【０２５４】
ステップ１１０１〜ステップ１１０９を実行することによって、光ディスクドライブ装置１０２からホスト装置１０１へのデータ転送が実現される。
【０２５５】
なお、ステップ１１０５とステップ１１０６とにおける転送完了割込み待ちの処理においては、転送中に何らか原因でエラーが発生し転送が途中で止まる場合も考えられる。一般的には、このようなエラーが発生した場合にも転送完了割込みは通知されるため、エラーが発生した場合でも、転送完了および転送結果を判断することができる。しかし、転送完了割込みが通知されない場合も考えられるため、例えばＯＤＣコマンドでデータ転送を要求したシステムコントローラ１０５は、ＯＤＣコマンド完了割込みが一定時間を超えても通知されない場合にはタイムアウトとし、強制的に光ディスクコントローラ１０４のデータ転送処理を中断させるなどして、転送エラーと判断することが望ましい。また逆に、転送完了待ちを行っているホストインタフェース制御部５０１自身が制限時間を設けてタイムアウトの判断を行い、システムコントローラ１０５から発行されたコマンドに対してエラーであったという報告を行っても良い。
【０２５６】
なお、本発明の実施の形態では、ステップ１１０７に示すように、ＤＭＡ転送完了とホストインタフェース転送完了との２つの割込みによって、ホスト装置１０１と光ディスクドライブ装置１０２との間のデータ転送の完了を判断しているが、例えば、転送方向に応じてどちらか一方の転送完了割込みから判断してもよい。具体的には、光ディスクドライブ装置１０４からホスト装置１０１へのデータ転送の場合、ＤＭＡコントローラ１１４によってデータバッファ１１５からデータを読み出し、更にそのデータをホストインタフェース１１３によってホスト装置１０１へ転送するため、ＤＭＡコントローラ１１４の転送完了を確認しなくとも、ホストインタフェース１１３の転送完了を確認するだけで転送が完了したと判断しても良い。
【０２５７】
図１１に示される実施の形態では、ステップ１１０１が「上位装置とデータバッファとの間のデータ転送を要求するステップ」に対応し、ステップ１１０４が「システムコントローラによる上位装置とデータバッファとの間のデータ転送の要求に応じて、上位装置とホストデータ転送手段との間のデータ転送をホストデータ転送手段に要求するステップ」に対応し、ステップ１１０３が「システムコントローラによる上位装置とデータバッファとの間のデータ転送の要求に応じて、データバッファとバッファデータ転送手段との間のデータ転送をバッファデータ転送手段に要求するステップ」に対応し、ステップ１１０５とステップ１１０６とステップ１１０７とが「ホストデータ転送手段からのデータ転送に関する報告およびバッファデータ転送手段からのデータ転送に関する報告に基づいて、上位装置とデータバッファとの間のデータ転送が完了したか否かを判断するステップ」に対応する。
【０２５８】
しかし、データ転送処理手順が図１１に示されるものに限定されるわけではない。データ転送処理手順は、上述した「システムコントローラによる上位装置とデータバッファとの間のデータ転送を要求するステップ」、「システムコントローラによる上位装置とデータバッファとの間のデータ転送の要求に応じて、上位装置とホストデータ転送手段との間のデータ転送をホストデータ転送手段に要求するステップ」、「上位装置とデータバッファとの間のデータ転送の要求に応じて、データバッファとバッファデータ転送手段との間のデータ転送をバッファデータ転送手段に要求するステップ」および「ホストデータ転送手段からのデータ転送に関する報告およびバッファデータ転送手段からのデータ転送に関する報告に基づいて、上位装置とデータバッファとの間のデータ転送が完了したか否かを判断するステップ」を実現する限り、任意の処理手順を有し得る。
【０２５９】
１．２．５．ホスト装置へのＡＴＡ／Ｐａｃｋｅｔコマンド終了報告処理手順
光ディスクドライブ装置１０２がホスト装置１０１から受領したＡＴＡコマンド処理および／またはＰａｃｋｅｔコマンド処理が完了した時点で、光ディスクドライブ装置１０２はホスト装置１０１にコマンド処理が完了したことを通知する必要がある。そこでこれらのコマンド処理が完了した時点で光ディスクドライブ装置１０２は、コマンド実行結果に応じてＡＴＡタスクファイルレジスタ２０１のエラーレジスタ３０４のＡＢＲＴビットを“０”にクリアするなどの設定を行い、さらにステータスレジスタ３０１のＢＳＹビットを“０”にクリアする等の処理を行った後、ＩＮＴＲＱ信号を出力することによってＡＴＡバス１０３を通じてホスト装置１０１にコマンド処理終了を通知する。
【０２６０】
ホスト装置１０１にＩＮＴＲＱ信号を出力することは、ＩＮＴＲＱ制御レジスタ４０５に対してＩＮＴＲＱ出力許可設定を行うことで実現する。
【０２６１】
ここで光ディスクドライブ装置１０２においては、ホスト装置１０１から発行されたＡＴＡコマンドおよびＰａｃｋｅｔコマンドのコマンド解釈からコマンド処理制御までシステムコントローラ１０５が行うため、ＡＴＡコマンド処理およびＰａｃｋｅｔコマンド処理が完了したことやそのコマンド処理の実行結果等はシステムコントローラ１０５において判断する必要がある。
【０２６２】
しかし光ディスクドライブ装置１０２が受領したＡＴＡコマンド処理およびＰａｃｋｅｔコマンド処理の完了をホストシステムへ報告するためのＡＴＡタスクファイルレジスタ２０１中のエラーレジスタ３０４やステータスレジスタ３０１、及びホストインタフェース制御レジスタ２０２に含まれるＩＮＴＲＱ信号を出力するためのＩＮＴＲＱ制御レジスタ４０５に対しては光ディスクコントローラ１０４内の光ディスクコントローラ制御部１１１からのみアクセス可能であるが、一方、光ディスクコントローラ制御部１１１においてはホスト装置１０１から受領したＡＴＡコマンド処理およびＰａｃｋｅｔコマンド処理が完了したことを判断できない。
【０２６３】
そのため光ディスクコントローラ１０４はシステムコントローラ１０５に対して、ＡＴＡ／Ｐａｃｋｅｔコマンド処理完了時にホスト装置１０１に対してこれらのコマンド終了報告を行う通常系ＯＤＣコマンド：“ＳＴＡＴＳＥＴ”（コマンドコードは０ｘ３１とする）を提供する。
【０２６４】
図１２は、ホスト装置１０１から受領したＡＴＡコマンドおよびＰａｃｋｅｔコマンドの終了報告処理手順を示す。以下、図１２を参照して、ＡＴＡコマンドおよびＰａｃｋｅｔコマンドの終了報告処理手順をステップごとに説明する。
【０２６５】
ステップ１２０１：ホスト装置１０１から受領したＡＴＡコマンド処理またはＰａｃｋｅｔコマンド処理が完了すると、システムコントローラ１０５は、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”、ＣＭＤＥＮビットが“１”、ＣＭＤＢＳＹビットが“０”であることを確認した後、受領したＡＴＡコマンド処理結果またはＰａｃｋｅｔコマンド処理結果をＯＤＣコマンドパラメータ格納用レジスタ６０６へ設定し、さらにコマンド結果報告処理を要求するための通常系ＯＤＣコマンドとして光ディスクコントローラが提供する”ＳＴＡＴＳＥＴ”コマンドを表すコマンドコード（ここでは０ｘ３１）をＯＤＣコマンドコード格納用レジスタ６０５へ設定する。
【０２６６】
なお、ここでシステムコントローラ１０５がコマンド実行結果としてＯＤＣコマンドパラメータ格納用レジスタ６０６へ設定する値は、正常終了の場合は０ｘ００，エラー終了の場合は各エラー内容を示す０ｘ００では無い値とするが、これらの値は任意であり、必ずしも上記の限りではない。
【０２６７】
ここでＯＤＣコマンドコード格納用レジスタ６０５へシステムコントローラ１０５からコマンドコードが設定されると、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“１”となるとともに光ディスクコントローラ１０４に対して割込みが発生する。
【０２６８】
ステップ１２０２：割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２において、システムコントローラインタフェース１１２のＯＤＣコマンドコード格納用レジスタ６０５からＯＤＣコマンドコードを読み出し、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６からコマンドパラメータの読み出しを行う。
【０２６９】
そしてシステムコントローラインタフェース制御部５０２は、ＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“０”に、ＣＭＤＢＳＹビットを“１”に設定するとともに、受領した“ＳＴＡＴＳＥＴ”コマンドの処理制御を行うホストインタフェース制御部５０１へ、ＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの通知を行い、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの報告を行った後、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットを０にクリアする。
【０２７０】
システムコントローラインタフェース制御部５０２からコマンドコードとコマンドパラメータを受け取ったホストインタフェース制御部５０１は、受領した“ＳＴＡＴＳＥＴ”コマンドに対応する処理を行う。
【０２７１】
ステップ１２０３：ホストインタフェース制御部５０１は、コマンドパラメータとして通知されたコマンド実行結果を用いて、ＡＴＡタスクファイルレジスタ２０１中のエラーレジスタ３０４およびステータスレジスタ３０１の値の設定を行う。例えば、コマンドパラメータとして受領したコマンド実行結果が０ｘ００、つまり正常終了の場合は、エラーレジスタ３０４のＡＢＲＴビットを“０”にクリアし、さらにステータスレジスタ３０１のＥＲＲビット、ＢＳＹビットを“０”にクリアする。受領したコマンド実行結果が０ｘ００では無い場合、つまりエラー終了の場合は、エラーレジスタ３０４のＡＢＲＴビットとステータスレジスタ３０１のＥＲＲビットを“１”にセットし、ステータスレジスタ３０１のＢＳＹビットを“０”にクリアする。
【０２７２】
ステップ１２０４：ホストインタフェース制御部５０１は、ホストインタフェース制御レジスタ２０２に含まれるＩＮＴＲＱ制御レジスタ４０５に対してＩＮＴＲＱ出力設定を行う。
【０２７３】
ステップ１２０５：ホストインタフェース制御部５０１は、システムコントローラ１０５から要求された“ＳＴＡＴＳＥＴ”コマンド処理が完了したことをシステムコントローラ１０５に対して通知する。例えば、ホストインタフェース制御部５０１はＯＤＣコマンド実行結果格納用レジスタ６０７に対して“ＳＴＡＴＳＥＴ”コマンドの実行結果を設定し、さらにＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“１”にセットするとともに、割込み要因レジスタ６０３に対して“ＯＤＣコマンド処理完了”割込み要因に相当するビットをセットすることで、光ディスクコントローラ１０４からシステムコントローラ１０５に対して割込みが発生する。
【０２７４】
なおこのとき、システムコントローラインタフェース１１２の割込み許可レジスタ６０４における“ＯＤＣコマンド処理完了”割込み要因に相当するビットは割込み許可された状態である。
【０２７５】
ステップ１２０６：割込みを受領したシステムコントローラ１０５は、割込み要因レジスタ６０３から割込み要因を確認し、要因が“ＯＤＣコマンド処理完了”であることを確認し、さらにＯＤＣコマンド実行結果格納用レジスタからコマンド実行結果を読み出すことで、ＯＤＣコマンド“ＳＴＡＴＳＥＴ”処理が完了したと判断する。
【０２７６】
ここで、システムコントローラ１０５によってＯＤＣコマンド実行結果格納用レジスタ６０７の読み出しが行われると、光ディスクコントローラ１０４に対して割込みが発生する。
【０２７７】
そして割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２においてＯＤＣステータスレジスタ６０８のＣＭＤＢＳＹビットを“０”にクリアする。
【０２７８】
以上、ステップ１２０１〜ステップ１２０６を実行することによって、ホスト装置１０１へのＡＴＡ／Ｐａｃｋｅｔコマンド完了報告処理が実現される。
【０２７９】
なお“ＳＴＡＴＳＥＴ”コマンドにおいては、ＡＴＡタスクファイルレジスタ２０１に含まれるエラーレジスタ３０４、ステータスレジスタ３０１等の設定及びＩＮＴＲＱ信号の出力を行いさえすれば、必ずしも通常系ＯＤＣコマンド処理完了後にＯＤＣコマンド実行結果をＯＤＣコマンド実行結果格納用レジスタ６０７に設定し、システムコントローラ１０５に対して通常系ＯＤＣコマンド終了割込みを発行する通常系ＯＤＣコマンドである必要はなく、特殊系ＯＤＣコマンドでも実現可能である。
【０２８０】
１．２．６．ＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”処理手順
図１３は、光ディスクドライブ装置１０２がデバイス情報をホスト装置１０１に転送するためのＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンドを処理する手順を示す。以下、図１３を参照して、“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンド処理手順をステップごとに説明する。なお、ホスト装置１０１へ転送するデバイス情報はＡＴＡＰＩ規格によって規定されている各バイト／ビットごとに意味を持った全５１２バイトの情報であり、本発明の実施の形態では、この情報をシステムコントローラ１０５が保持しているものとして説明を行う。
【０２８１】
なお、デバイス情報を示すデータは必ずしもシステムコントローラ１０５によって保持されていなくとも良く、光ディスクドライブ装置１０２の内部に保持されていれば良い。
【０２８２】
ステップ１３０１：まず光ディスクドライブ装置１０２は、図１０を参照して上記１．２．３において説明した手順と同じ手順で、ホスト装置１０１から発行されたＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”（コマンドコードは０ｘＡ１）を受領する。
【０２８３】
ステップ１３０２：ＡＴＡコマンドを受領した光ディスクドライブ装置１０２中のシステムコントローラ１０５は、本コマンド処理としてホスト装置１０１へ転送するデバイス情報であって、自らが保持しているデバイス情報をバッファメモリ１１５上へ設定する。
【０２８４】
ステップ１３０３：システムコントローラ１０５は、バッファメモリ１１５に格納されたデータの更新をインタフェース回路に要求する。例えば、システムコントローラ１０５は、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”、ＣＭＤＥＮビットが“１”、ＣＭＤＢＳＹビットが“０”であることを確認した後、デバイス情報を設定したバッファメモリ１１５の先頭位置情報をＯＤＣコマンドパラメータ格納用レジスタ６０６へ設定し、さらに“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンド用データ更新処理を要求するための通常系ＯＤＣコマンドとして光ディスクコントローラ１０４が提供する”ＩＰＤＥＶ”コマンドを表すコマンドコード（ここでは０ｘ３３とする）をＯＤＣコマンドコード格納用レジスタ６０５へ設定する。
【０２８５】
ここでＯＤＣコマンドコード格納用レジスタ６０５へシステムコントローラ１０５からコマンドコードが設定されると、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“１”となるとともに光ディスクコントローラ１０４に対して割込みが発生する。
【０２８６】
ステップ１３０４：割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２において、ＯＤＣコマンドコード格納用レジスタ６０５からＯＤＣコマンドコードを読み出し、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６からコマンドパラメータの読み出しを行う。
【０２８７】
そしてシステムコントローラインタフェース制御部５０２は、ＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“０”に、ＣＭＤＢＳＹビットを“１”に設定するとともに、受領した“ＩＰＤＥＶ”コマンドの処理制御を行うホストインタフェース制御部５０１へ、ＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの通知を行い、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６から読み出されたコマンドパラメータの報告を行った後、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットを“０”にクリアする。
【０２８８】
システムコントローラインタフェース制御部５０２からコマンドコードとコマンドパラメータを受け取ったホストインタフェース制御部５０１は、受領した“ＩＰＤＥＶ”コマンドに相当する処理を行う。
【０２８９】
ステップ１３０５：ホストインタフェース制御部５０１は、光ディスクドライブ装置１０２に繋がっているＡＴＡバス１０３のコネクタ部のケーブル形状確認を行う。例えば、ＡＴＡバス１０３が４０芯のフラットケーブルか、８０芯のフラットケーブルかの判定をケーブル上に信号を流すことで実施する。
【０２９０】
ステップ１３０６：光ディスクコントローラ制御部１１１は、システムコントローラ１０５によるデータの更新の要求に応じて、バッファメモリ１１５に格納されたデータを更新する。例えば、このデータは、ホスト装置１０１がＡＴＡバス１０３に接続されているデバイス装置を識別するために要求するデバイス情報データである。例えば、このデータは、デバイス情報データに含まれるデータであって、ディスクドライブ装置製造時に一意に決まらない可変データであってもよい。
【０２９１】
例えば、形状確認が終了すると、ホストインタフェース制御部５０１は、システムコントローラ１０５によってバッファメモリ１１５上に設定されたデバイス情報の更新を行う。より詳細には、ステップ１３０５で実施したケーブル形状確認結果や、電源投入直後のハードウェアリセット処理結果情報や、ＡＴＡコマンド：“Ｓｅｔ  Ｆｅａｔｕｒｅ”によって設定されたデータ転送形式情報など、システムコントローラ１０５が保持しているデバイス情報には反映されていない情報に相当するバッファメモリ１１５上のデータの更新を行う。
【０２９２】
ステップ１３０７：光ディスクコントローラ制御部１１１はデータの更新が完了したことをシステムコントローラ１０５に報告するようにシステムコントローラインタフェース１１２に要求する。例えば、バッファメモリ１１５上のデータ更新処理が完了するとホストインタフェース制御部５０１は、システムコントローラ１０５から要求された“ＩＰＤＥＶ”コマンド処理が完了したことをシステムコントローラ１０５に対して通知する。
【０２９３】
より詳細には、ホストインタフェース制御部５０１はＯＤＣコマンド実行結果格納用レジスタ６０７に対して“ＩＰＤＥＶ”コマンドの実行結果を設定し、さらにＯＤＣステータスレジスタ６０８のＣＭＤＥＮビットを“１”にセットするとともに、割込み要因レジスタ６０３に対して“ＯＤＣコマンド処理完了”割込み要因に相当するビットをセットすることで、光ディスクコントローラ１０４からシステムコントローラ１０５に対して割込みが発生する。
【０２９４】
なおこのとき、システムコントローラインタフェース１１２の割込み許可レジスタ６０４における“ＯＤＣコマンド処理完了”割込み要因に相当するビットは割込み許可された状態である。
【０２９５】
ステップ１３０８：システムコントローラ１０５は、割込み要因レジスタ６０３から割込み要因を確認し、要因が“ＯＤＣコマンド処理完了”であることを確認し、さらにＯＤＣコマンド実行結果格納用レジスタ６０７からコマンド実行結果を読み出すことで、コマンド“ＩＰＤＥＶ”処理が完了したと判断する。
【０２９６】
ここで、システムコントローラ１０５によってＯＤＣコマンド実行結果格納用レジスタ６０７の読み出しが行われると、光ディスクコントローラ１０４に対して割込みが発生する。
【０２９７】
そしてこの割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２において、ＯＤＣステータスレジスタ６０８のＣＭＤＢＳＹビットを“０”にクリアする。
【０２９８】
ステップ１３０９：システムコントローラ１０５は、更新されたデータのホスト装置１０１への転送をインタフェース回路に要求し、光ディスクコントローラ制御部１１１はシステムコントローラ１０５による更新されたデータのホスト装置１０１への転送の要求に応じて、更新されたデータの転送をホストインタフェース１１３およびＤＭＡコントローラ１１４に要求する。例えば、光ディスクドライブ装置１０２は、図１１を参照して上記１．２．４で説明した処理と同じ手順でＯＤＣコマンド：“ＸＢＳＮＤ”処理を行うことで、メモリバッファ上の全５１２バイトのデバイス情報データをホスト装置１０１に転送する。
【０２９９】
ステップ１３１０：最後に光ディスクドライブ装置１０２は、図１２を参照して上記１．２．５で説明した処理と同じ手順でＯＤＣコマンド：“ＳＴＡＴＳＥＴ”処理を行うことで、コマンド処理結果をホスト装置１０１へ通知する。
【０３００】
以上、ステップ１３０１〜ステップ１３１０を実行することによって、光ディスクドライブ装置１０２はホスト装置１０１からＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンドの処理を実現する。
【０３０１】
このように、バッファメモリ１１５上のデータ更新処理を光ディスクコントローラ１０４が行うことでシステムコントローラ１０５の処理負担を軽減することが出来、かつ処理も高速化できる。
【０３０２】
またメモリバッファ１１５上のデータ更新処理とホスト装置１０１へのデータ転送処理を別々のＯＤＣコマンドで行う形にすることで、ホスト装置１０１へのデータ転送を行う前にシステムコントローラ１０５からも光ディスクコントローラ１０４によるデバイス情報データの更新内容を確認することが出来るようになるため、インタフェース回路のカスタマイズが容易となる。
【０３０３】
なお処理高速化に重点を置きたい場合には、ＯＤＣコマンド：“ＩＰＤＥＶ”によってホストインタフェース制御部５０１においてバッファメモリ１１５上のデータ更新から、そのデータのホスト装置１０１への転送処理までを連続して行い、これらが全て完了した時点で“ＩＰＤＥＶ”コマンド処理完了としても良い。この場合でも、コマンドが終了した後になるがシステムコントローラ１０５からバッファメモリ１１５上のデータを確認することで、光ディスクコントローラ１０４によるデバイス情報データの更新内容を確認することもできる。
【０３０４】
図１３に示される実施の形態では、ステップ１３０３が「データバッファに格納されたデータの更新をインタフェース回路に要求するステップ」に対応し、ステップ１３０６が「システムコントローラによる前記データの更新の要求に応じて、データバッファに格納されたデータを更新するステップ」に対応し、ステップ１３０７が「データの更新が完了したことをシステムコントローラに報告するように、システムインタフェース通信手段に要求するステップ」に対応し、ステップ１３０９が「更新されたデータの上位装置への転送をインタフェース回路に要求するステップ」および「システムコントローラによる更新されたデータの上位装置への転送の要求に応じて、更新されたデータの転送をホストデータ転送手段およびバッファデータ転送手段に要求するステップ」に対応する。
【０３０５】
しかし、ＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”処理手順が図１３に示されるものに限定されるわけではない。ＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”処理手順は、上述した「データバッファに格納されたデータの更新をインタフェース回路に要求するステップ」、「システムコントローラによる前記データの更新の要求に応じて、データバッファに格納されたデータを更新するステップ」、「データの更新が完了したことをシステムコントローラに報告するように、システムインタフェース通信手段に要求するステップ」、「更新されたデータの上位装置への転送をインタフェース回路に要求するステップ」および「システムコントローラによる更新されたデータの上位装置への転送の要求に応じて、更新されたデータの転送をホストデータ転送手段およびバッファデータ転送手段に要求するステップ」を実現する限り、任意の処理手順を有し得る。
【０３０６】
１．２．７．シングルドライブモード時の動作方法設定処理
ＡＴＡＰＩ規格においては、ＡＴＡバス１０３上に主接続デバイスのみ接続され従接続デバイスが存在しない状態、つまりシングルドライブモード時において、ホスト装置１０１から従接続デバイスへのアクセスが行われた場合の主接続デバイスの動作について規定されている。この場合の動作方法としては、ＡＴＡ／ＡＴＡＰＩ−６以前のバージョンの規格も含めると、全部で３通りの方法が定義されており、要約すると以下の１）〜３）ようになる。
１）Ｍｅｔｈｏｄ１
・ステータスレジスタの読み出しは、従接続デバイスのレジスタ値を返す。
・その他のタスクファイルレジスタ読み出しは、主接続デバイスのレジスタ値を返す。
・従接続デバイスのコマンドレジスタに対する書き込みは無視する。
２）Ｍｅｔｈｏｄ２
・エラーレジスタ、ステータスレジスタの読み出しは、従接続デバイスのレジスタ値を返す。
・その他のタスクファイルレジスタ読み出しは、主接続デバイスのレジスタ値を返す。
・従接続デバイスのコマンドレジスタに対する書き込みは以下の動作を行う。
ステータスレジスタのＥＲＲビットを“１”，ＢＳＹビットを“０”，エラーレジスタのＡＢＲＴビットを“１”に設定する。
３）Ｍｅｔｈｏｄ３
・全てのレジスタ読み出しは従接続デバイスのレジスタ値を返す。
・従接続デバイスのコマンドレジスタに対する書き込みは無視する。
【０３０７】
なおＡＴＡ／ＡＴＡＰＩ−６規格では、Ｍｅｔｈｏｄ３がデフォルトとして規定されている。
【０３０８】
またそれぞれの動作方法へ対応するために、ホストインタフェース制御レジスタ２０２は、従接続デバイスへのＡＴＡ／Ｐａｃｋｅｔコマンド発行やタスクファイルレジスタへのアクセスに対する動作を設定するための擬似動作方法制御レジスタ４０６や、従接続デバイス用のタスクファイルレジスタの役割を果たす擬似タスクファイルレジスタ４０７を含む。
【０３０９】
図１４は、シングルドライブモード時の動作方法設定処理手順を示す。以下、図１４を参照して、シングルドライブモード時の動作方法設定処理手順をステップごとに説明する。
【０３１０】
ステップ１４０１：システムコントローラ１０５は、動作方法情報をＡＴＡ／ＡＴＡＰＩインタフェース回路に報告する。例えば、シングルドライブモード時の動作方法を設定する場合、システムコントローラ１０５は、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“０”であることを確認した後、システムコントローラ１０５は、設定するシングルドライブモードに相当する情報（動作方法情報）をＯＤＣコマンドパラメータ格納用レジスタ６０６へ設定する。さらに、システムコントローラ１０５は、シングルドライブモード時の動作方法設定用の特殊系ＯＤＣコマンドとして光ディスクコントローラ１０４が提供する”ＳＥＴＳＧＬＭＯＤＥ”コマンドを表すコマンドコード（ここでは０ｘＥ０とする）をＯＤＣコマンドコード格納用レジスタ６０５へ設定する。
【０３１１】
このように、動作方法情報は、例えば、従接続デバイスがＡＴＡ／ＡＴＡＰＩバスに接続されていない状態で上位装置が従接続デバイスにアクセスを試みた場合に主接続デバイスが行う動作を示す。
【０３１２】
ここでＯＤＣコマンドコード格納用レジスタ６０５へシステムコントローラ１０５からコマンドコードが設定されると、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットが“１”となるとともに光ディスクコントローラ１０４に対して割込みが発生する。
【０３１３】
ステップ１４０２：光ディスクコントローラ制御部１１１は、システムコントローラ１０５によって報告される動作方法情報を受け取るように、システムコントローラインタフェース１１２に要求する。例えば、割込みを受けた光ディスクコントローラ１０４は、システムコントローラインタフェース制御部５０２において、ＯＤＣコマンドコード格納用レジスタ６０５からＯＤＣコマンドコードを読み出し、さらにＯＤＣコマンドパラメータ格納用レジスタ６０６からコマンドパラメータの読み出しを行う。そして受領した“ＳＥＴＳＧＬＭＯＤＥ”コマンドの処理制御を行うホストインタフェース制御部５０１へこれらのデータを通知する。
【０３１４】
ステップ１４０３：光ディスクコントローラ制御部１１１は、動作方法情報に基づいて、擬似タスクファイルレジスタ４０７によって保持される値を設定する。この値は、動作方法情報に関する値（例えば、従接続デバイスの状態を示す値）である。例えば、システムコントローラインタフェース制御部５０２からコマンドコードとコマンドパラメータを受け取ったホストインタフェース制御部５０１は、受領したコマンドパラメータからシングルドライブモード時の動作方法（動作方法情報）を読み出す。読み出した動作方法情報に基づいて、擬似動作方法制御レジスタ４０６と擬似タスクファイルレジスタ４０７に、ホスト装置１０１から従接続デバイスにコマンドが発行された場合の動作方法の設定などを行う。詳細には、動作方法としてＭｅｔｈｏｄ３が指定された場合、ホストインタフェース制御部５０１は、従接続デバイスへのコマンドは無視し、従接続デバイスのタスクファイルレジスタへのアクセスに対しては擬似タスクファイルレジスタ４０７の値を返すよう擬似動作方法制御レジスタ４０６を設定するとともに、従接続デバイスのタスクファイルレジスタへのアクセスに対して返戻する値を擬似タスクファイルレジスタ４０７へ設定する。
【０３１５】
ステップ１４０３が実行された後、システムコントローラインタフェース制御部５０２は、ＯＤＣステータスレジスタ６０８のＣＭＤＩＮＨビットを“０”にクリアする。
【０３１６】
ステップ１４０１〜ステップ１４０３を実行することによって、光ディスクドライブ装置１０２はシングルドライブ時の動作方法設定を行う。
【０３１７】
ステップ１４０１〜ステップ１４０３を実行することによって、光ディスクコントローラ１０４がシステムコントローラ１０５にシングルドライブモード時の動作方法設定用コマンドを提供する。その結果、システムコントローラ１０５によるインタフェース回路のカスタマイズが可能となる。
【０３１８】
図１４に示される実施の形態では、ステップ１４０１が「動作方法情報をＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップ」に対応し、ステップ１４０２が「システムコントローラによって報告される動作方法情報を受け取るように、システムインタフェース通信手段に要求するステップ」に対応し、ステップ１４０３が「動作方法情報に基づいて、擬似タスクファイルレジスタによって保持される値を設定するステップ」に対応する。
【０３１９】
しかし、シングルドライブモード時の動作方法設定処理手順が図１４に示されるものに限定されるわけではない。シングルドライブモード時の動作方法設定処理手順は、上述した「動作方法情報をＡＴＡ／ＡＴＡＰＩインタフェース回路に報告するステップ」、「システムコントローラによって報告される動作方法情報を受け取るように、システムインタフェース通信手段に要求するステップ」、「動作方法情報に基づいて、擬似タスクファイルレジスタによって保持される値を設定するステップ」を実現する限り、任意の処理手順を有し得る。
【０３２０】
本発明の実施の形態１で用いたＯＤＣコマンドのコマンド名およびコマンドコードは上記の限りではなく、任意で良い。さらに、本発明の実施の形態１では、ＡＴＡＰＩ規格プロトコル処理を対象として説明しているが、プロトコル処理が、ＡＴＡＰＩ規格に従うことに限定されない。
【０３２１】
（実施の形態２）
２．１．システムの構成
図１６は、本発明の実施の形態２の光ディスクドライブ装置１６０２の構成を示す。
【０３２２】
光ディスクドライブ装置１６０２は、ＡＴＡバス１６０３に接続されている。さらに、ホスト装置１６０１は、ＡＴＡバス１６０３に接続されている。
【０３２３】
光ディスクドライブ装置１６０２は、光ディスクからの信号の読み出し、光ディスクへの信号の書き込み、ホスト装置１０１との通信等を行う光ディスクコントローラ１６０４を含む。
【０３２４】
光ディスクコントローラ１６０４は、光ディスクコントローラ制御部１６１１と、システムコントローラインタフェース１６１２と、ホストインタフェース１６１３と、ＤＭＡコントローラ１６１４と、バッファメモリ１６１５と、システムコントローラ処理部１６１６と、オペレーションシステム１６１７と、ディスク記録再生手段１６１８と、バス１６１９とを含む。光ディスクコントローラ制御部１６１１と、システムコントローラインタフェース１６１２と、ホストインタフェース１６１３と、ＤＭＡコントローラ１６１４と、バッファメモリ１６１５と、システムコントローラ処理部１６１６と、オペレーションシステム１６１７と、ディスク記録再生手段１６１８とは、バス１６１９を介して互いにアクセスを行う。
【０３２５】
光ディスクコントローラ制御部１６１１の機能は、本発明の実施の形態１で説明した光ディスクコントローラ制御部１１１の機能と同じであるので、ここではその説明を省略する。
【０３２６】
システムコントローラインタフェース１６１２の機能は、本発明の実施の形態１で説明したシステムコントローラインタフェース１１２の機能と同じであるので、ここではその説明を省略する。
【０３２７】
ホストインタフェース１６１３の機能は、本発明の実施の形態１で説明したホストインタフェース１１３の機能と同じであるので、ここではその説明を省略する。なお、ホストインタフェース１６１３には、光ディスクコントローラ制御部１６１１からのみアクセス可能であり、システムコントローラ処理部１６１６からは、ホストインタフェース１６１３にアクセスできないものとする。
【０３２８】
ＤＭＡコントローラ１６１４の機能は、本発明の実施の形態１で説明したＤＭＡコントローラ１１４の機能と同じであるので、ここではその説明を省略する。
【０３２９】
バッファメモリ１６１５の機能は、本発明の実施の形態１で説明したバッファメモリ１１５の機能と同じであるので、ここではその説明を省略する。
【０３３０】
本発明の実施の形態２では、バッファメモリ１６１５が、光ディスクコントローラ１６０４に内蔵される例を説明しているが、必ずしも光ディスクコントローラ１６０４に内蔵されている必要は無い。バッファメモリ１６１５が光ディスクへの記録データや光ディスクからの読み出しデータなどのデータを一時的に保存・格納する機能を実現し得る限りは、バッファメモリ１６１５の内蔵位置は、特に限定されない。例えば、バッファメモリ１６１５は、光ディスクコントローラ１６０４の外部であって、光ディスクドライブ装置１６０２に内蔵される。
【０３３１】
システムコントローラ処理部１６１６は、光ディスクドライブ１６０２全体の制御を行うための処理部であり、本発明の実施の形態１で説明したシステムコントローラ１０５と同じ機能を果たし、光ディスクコントローラ１６０４に含まれるＣＰＵを用いて動作する。つまり、光ディスクコントローラ１６０４は、本発明の実施の形態１で説明したシステムコントローラ１０５を内蔵可能なＬＳＩである。
【０３３２】
なお、システムコントローラ処理部１６１６は、本発明の実施の形態１で説明したシステムコントローラ１０５と同じく、システムコントローラインタフェース１６１２及びバッファメモリ１６１５へのみアクセス可能であるが、これらにアクセスできる限りにおいては、他の構成要素にアクセスできてもよい。
【０３３３】
オペレーションシステム１６１７は、例えば（社）トロン協会ＩＴＲＯＮ部会の提供するμＩＴＲＯＮである。本発明の実施の形態１では、光ディスクコントローラ１０４とシステムコントローラ１０５との間の事象発生通知は全て割込みを用いて行っていたが、本発明の実施の形態２では、光ディスクコントローラ１６０４にシステムコントローラ処理部１６１６が内蔵されているため、割り込みは用いない。本発明の実施の形態２では、オペレーションシステム１６１７の機能を用いて、光ディスクコントローラ制御部１６１１とシステムコントローラ処理部１６１６とをそれぞれタスクとし、これらの間での事象発生通知はイベントフラグを用いて通知する。この点が、本発明の実施の形態１と本発明の実施の形態２との異なる点である。
【０３３４】
なお、本発明の実施の形態２では、オペレーションシステム１６１７の機能を用いてコマンド処理を実現する方法を説明するが、必ずしもオペレーションシステム１６１７の機能を用いることを必要とされない。例えば、単純にソフトウェア的なフラグを用い、フラグをポーリングすることで要因が発生したことを判断するという方法でも実現できる。
【０３３５】
ディスク記録再生手段１６１８の機能は、本発明の実施の形態１で説明したディスク記録再生手段１１６の機能と同じであるので、ここではその説明を省略する。
【０３３６】
２．２．光ディスクドライブ装置１６０２の動作説明
以下、光ディスクドライブ装置１６０２を用いたＡＴＡＰＩ規格プロトコル処理実現方法およびカスタマイズ実現方法等について説明する。
【０３３７】
本発明の実施の形態２では、特に、ホスト装置１６０１と光ディスクコントローラ１６０４との間の動作制御用ＯＤＣコマンドに関する動作説明を行うため、以下、特に記載が無い限り、ＯＤＣコマンドとは、ホスト系ＯＤＣコマンドを示す。
【０３３８】
２．２．１．リセットプロトコル処理
以下、図９を参照して本発明の実施の形態２の光ディスクドライブ装置１６０２を用いたリセットプロトコル処理手順を説明する。なお、本発明の実施の形態２のリセットプロトコル処理の手順は、上記１．２．１において説明した手順とステップ９０３を除いて同様であるので、ステップ９０３以外のステップの説明は、ここでは省略する。
【０３３９】
ステップ９０３：光ディスクコントローラ制御部１６１１は、第１リセット処理とは異なる第２リセット処理の実行許可をシステムコントローラ処理部１６１６に要求するように、システムコントローラインタフェース１６１２に要求する。例えば、光ディスクコントローラ制御部１６１１のホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に、光ディスクドライブ装置１６０２の自己診断の実行および光ディスクドライブ装置１６０２の自己診断の結果の報告を要求する。ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６に対して光ディスクドライブ装置１６０２の自己診断の実行および自己診断の結果の報告を要求する際に、割込みではなくイベントフラグを用いる。
【０３４０】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じくシステムコントローラインタフェース１６１２の割込み要因レジスタ６０３の“自己診断実行要求”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３４１】
２．２．２．ホスト装置からのＰａｃｋｅｔコマンド受領
以下、図１０を参照して本発明の実施の形態２の光ディスクドライブ装置１６０２のＰａｃｋｅｔコマンド処理手順を説明する。なお、本発明の実施の形態２の光ディスクドライブ装置１６０２のＰａｃｋｅｔコマンド処理手順は、上記１．２．２において説明した手順とステップ１００４を除いて同様であるので、ステップ１００４以外のステップの説明は、ここでは省略する。
【０３４２】
ステップ１００４：ホストインタフェース制御部５０１は、ホスト装置１６０１からコマンドを受領したことをシステムコントローラ処理部１６１６に通知する。例えば、ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６にホスト装置１６０１からのコマンド受領を報告する際に、割込みではなくイベントフラグを用いる。
【０３４３】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じく割込み要因レジスタ６０３の“ホスト装置からのコマンド受領”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３４４】
２．２．３．ホスト装置からのＡＴＡコマンド受領
以下、さらに図１０を参照してホスト装置１６０１からＡＴＡコマンドを受領した際の本発明の実施の形態２の光ディスクドライブ装置１６０２のＡＴＡコマンド受領手順を説明する。なお、本発明の実施の形態２の光ディスクドライブ装置１６０２のＡＴＡコマンド受領手順は、上記１．２．３において説明した手順とステップ１００４を除いて同様であるので、ステップ１００４以外のステップの説明は、ここでは省略する。
【０３４５】
ステップ１００４：ホストインタフェース制御部５０１は、ホスト装置１６０１からコマンドを受領したことをシステムコントローラ処理部１６１６に通知する。例えば、ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６にホスト装置１６０１からのコマンド受領を報告する際に、割込みではなくイベントフラグを用いる。
【０３４６】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じく割込み要因レジスタ６０３の“ホスト装置からのコマンド受領”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３４７】
２．２．４．データ転送処理
以下、図１１を参照して、本発明の実施の形態２の光ディスクドライブ装置１６０２がＡＴＡバス１６０３を介してホスト装置１６０１とデータ転送を行うデータ転送処理手順を説明する。なお、本発明の実施の形態２のデータ転送処理手順は、上記１．２．４において説明した手順とステップ１１０８を除いて同様であるので、ステップ１１０８以外のステップの説明は、ここでは省略する。
【０３４８】
ステップ１１０８：光ディスクコントローラ制御部１６１１は、システムコントローラ処理部１６１６にコマンド実行結果を報告する。例えば、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６から要求されたＯＤＣコマンド処理が完了したことをシステムコントローラ処理部１６１６に通知する。なお、ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６に対して、通常系ＯＤＣコマンド処理が終了した際に、割込みではなくイベントフラグを用いる点を除いては、上記１．２．４のステップ１１０８において説明した手順と同様である。
【０３４９】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じく割込み要因レジスタ６０３の“ＯＤＣコマンド処理完了”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３５０】
２．２．５．ホスト装置へのＡＴＡ／Ｐａｃｋｅｔコマンド終了報告処理手順
以下、図１２を参照して本発明の実施の形態２のＡＴＡ／Ｐａｃｋｅｔコマンド終了報告処理手順を説明する。なお、本発明の実施の形態２のＡＴＡ／Ｐａｃｋｅｔコマンド終了報告処理手順は、上記１．２．５において説明した手順とステップ１２０５を除いて同様であるので、ステップ１２０５以外のステップの説明は、ここでは省略する。
【０３５１】
ステップ１２０５：ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６から要求された“ＳＴＡＴＳＥＴ”コマンド処理が完了したことをシステムコントローラ処理部１６１６に通知する。通常系ＯＤＣコマンド処理が終了した際に、ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６に割込みではなくイベントフラグを用いる点を除いては、上記１．２．５のステップ１２０５において説明した手順と同様である。
【０３５２】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じく割込み要因レジスタ６０３の“ＯＤＣコマンド処理完了”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３５３】
２．２．６．ＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”処理手順
以下、図１３を参照して、本発明の実施の形態２の“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンド処理手順を説明する。なお、本発明の実施の形態２の“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンド処理手順は、上記１．２．６において説明した手順とステップ１３０７を除いて同様であるので、ステップ１３０７以外のステップの説明は、ここでは省略する。
【０３５４】
ステップ１３０７：光ディスクコントローラ制御部１６１１はデータの更新が完了したことをシステムコントローラ処理部１６１６に報告するようにシステムコントローラインタフェース１６１２に要求する。例えば、バッファメモリ１６１５上のデータ更新処理が完了するとホストインタフェース制御部５０１は、システムコントローラ処理部１６１６から要求された“ＩＰＤＥＶ”コマンド処理が完了したことをシステムコントローラ処理部１６１６に対して通知する。なお、ホストインタフェース制御部５０１がシステムコントローラ処理部１６１６に対して、通常系ＯＤＣコマンド処理が終了した際に、割込みではなくイベントフラグを用いる点を除いては、上記１．２．６のステップ１３０７において説明した手順と同様である。
【０３５５】
なお、ホストインタフェース制御部５０１は、システムコントローラ処理部１６１６に対して“要因発生”イベントを用いて通知を行い、ホストインタフェース制御部５０１は、詳細な要因情報については、本発明の実施の形態１と同じく割込み要因レジスタ６０３の“ＯＤＣコマンド処理完了”要因に相当するビットをセットする。システムコントローラ処理部１６１６は割込み要因レジスタ６０３から詳細な要因情報を取得する。
【０３５６】
２．２．７．シングルドライブモード時の動作方法設定処理
本発明の実施の形態２のシングルドライブモード時の動作方法設定処理は、上記１．２．７において説明した手順と同様であるので、ここでは説明を省略する。
【０３５７】
本発明の実施の形態２の光ディスクドライブ装置によれば、光ディスクコントローラへシステムコントローラ処理部を取り入れ１つのＬＳＩとすることで、ドライブ装置のコストダウンを計れることに加え、本発明の実施の形態１と同様に、システムコントローラからのインタフェース回路のカスタマイズが容易になるとともに、システムコントローラの開発負担を削減できる。
【０３５８】
なお、本発明の実施の形態２では光ディスクコントローラ制御部１６１１とシステムコントローラ処理部１６１６との間での事象発生通知はイベントフラグを用い、詳細な要因は割込み要因レジスタ６０３を用いたが、割込み要因レジスタ６０３を用いて通知する詳細要因を全て別々のイベントとしてイベントフラグを用いて通知する場合には、システムコントローラインタフェース１６１２に含まれる割込み要因レジスタ６０３及び割込み許可レジスタ６０４を備えることなく、本発明の実施の形態１と同じ効果を得ることが出来る。
【０３５９】
なお、本発明の実施の形態２で用いたＯＤＣコマンドのコマンド名およびコマンドコードは上記の限りではなく、任意で良い。
【０３６０】
本発明の実施の形態１および本発明の実施の形態２では、光ディスクドライブを例にとって説明を行ったが、ＡＴＡバスを介してホスト装置と繋がったディスクドライブ装置であれば、光ディスクドライブの場合と同様の効果を得ることができる。
【０３６１】
なお、本発明の実施の形態１および本発明の実施の形態２では、バスとしてＡＴＡバスを用い、インタフェースとしてＡＴＡ／ＡＴＡＰＩインタフェースを例にとって説明を行ったが、ＡＴＡ／ＡＴＡＰＩ規格に準じないバスおよびインタフェースを用いても、同様の効果を得ることができる。
【０３６２】
以上のように、本発明の好ましい実施形態を用いて本発明を例示してきたが、本発明は、この実施形態に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。  
【図面の簡単な説明】
【０３６３】
【図１】本発明の実施の形態１の光ディスクドライブ装置１０２の構成を示す図である。
【図２】ホストインタフェース１１３の構成を示す図である。
【図３】ＡＴＡタスクファイルレジスタ２０１の構成を示す図である。
【図４】ホストインタフェース制御レジスタ２０２の構成を示す図である。
【図５】光ディスクコントローラ制御部１１１の構成を示す図である。
【図６】システムコントローラインタフェース１１２の構成を示す図である。
【図７】ＤＭＡコントローラ１１４の構成を示す図である。
【図８】ＯＤＣステータスレジスタ６０８が保持する情報の一例を示す図である。
【図９】光ディスクドライブ装置１０２を用いたリセットプロトコル処理手順を示すフローチャートである。
【図１０】ホスト装置１０１からＰａｃｋｅｔコマンドを受領した場合の光ディスクドライブ装置１０２のＰａｃｋｅｔコマンド受領手順を示すフローチャートである。
【図１１】光ディスクドライブ装置１０２がＡＴＡバス１０３を介してホスト装置１０１とデータ転送を行うデータ転送処理手順を示すフローチャートである。
【図１２】ホスト装置１０１から受領したＡＴＡコマンドおよびＰａｃｋｅｔコマンドの終了報告処理手順を示すフローチャートである。
【図１３】光ディスクドライブ装置１０２がデバイス情報をホスト装置１０１に転送するためのＡＴＡコマンド：“Ｉｄｅｎｔｉｆｙ  Ｐａｃｋｅｔ  Ｄｅｖｉｃｅ”コマンドを処理する手順を示すフローチャートである。
【図１４】シングルドライブモード時の動作方法設定処理手順を示すフローチャートである。
【図１５】１２バイトのデータである”Ｉｎｑｕｉｒｙ”コマンドの例を示す図である。
【図１６】本発明の実施の形態２の光ディスクドライブ装置１６０２の構成を示す図である。
【符号の説明】
【０３６４】
１０１，１６０１  ホスト装置
１０２，１６０２  光ディスクドライブ装置
１０３，１６０３  ＡＴＡバス
１０４，１６０４  光ディスクコントローラ
１０５  システムコントローラ
１０６，１１７，１６１９  バス
１１１，１６１１  光ディスクコントローラ制御部
１１２，１６１２  システムコントローラインタフェース
１１３，１６１３  ホストインタフェース
１１４，１６１４  ＤＭＡコントローラ
１１５，１６１５  バッファメモリ
１１６，１６１８  ディスク記録再生手段
２０１  タスクファイルレジスタ
２０２  ホストインタフェース制御レジスタ
２０３  ＦＩＦＯバッファ
３０１  ステータスレジスタ
３０２  デバイスレジスタ
３０３  コマンドレジスタ
３０４  エラーレジスタ
３０５  データレジスタ
４０１  ホスト転送ブロックサイズレジスタ
４０２  ホスト転送起動レジスタ
４０３  転送制御レジスタ
４０４  割込み要因表示レジスタ
４０５  ＩＮＴＲＱ制御レジスタ
４０６  擬似動作方法制御レジスタ
４０７  擬似タスクファイルレジスタ
４０８  ホスト転送ブロック数レジスタ
５０１  ホストインタフェース制御部
５０２  システムコントローラインタフェース制御部
５０３  ディスク記録再生制御部
６０１  コマンドコード格納用レジスタ
６０２  Ｐａｃｋｅｔコマンド格納用レジスタ
６０３  割込み要因レジスタ
６０４  割込み許可レジスタ
６０５  ＯＤＣコマンドコード格納用レジスタ
６０６  ＯＤＣコマンドパラメータ格納用レジスタ
６０７  ＯＤＣコマンド実行結果格納用レジスタ
６０８  ＯＤＣステータスレジスタ
７０１  ＤＭＡ転送制御レジスタ
７０２  ＤＭＡ転送開始アドレスレジスタ
７０３  ＤＭＡ転送ブロック数レジスタ
７０４  ＤＭＡブロックサイズレジスタ
１６１６  システムコントローラ処理部
１６１７  オペレーションシステム
【図１】
2004199668.tif 000003
【図２】
2004199668.tif 000004
【図３】
2004199668.tif 000005
【図４】
2004199668.tif 000006
【図５】
2004199668.tif 000007
【図６】
2004199668.tif 000008
【図７】
2004199668.tif 000009
【図８】
2004199668.tif 000010
【図９】
2004199668.tif 000011
【図１０】
2004199668.tif 000012
【図１１】
2004199668.tif 000013
【図１２】
2004199668.tif 000014
【図１３】
2004199668.tif 000015
【図１４】
2004199668.tif 000016
【図１５】
2004199668.tif 000017
【図１６】
2004199668.tif 000018