(57)【要約】【課題】ホストとマスタでシャドウ応答規格が一致しない場合に起こる起動の長時間化を回避可能なＡＴＡ／ＡＴＡＰＩ規格採用のドライブ装置を提供すること。【解決手段】自ドライブ装置５はマスタとしてホスト１に接続されているがスレーブとなるドライブ装置が接続されていない場合に、ＡＴＡ／ＡＴＡＰＩ規格が有するシャドウ応答規格に基づいて、スレーブが不在であることを確認するためのシャドウ応答をホスト１との間で行ない、ホスト１との間でのシャドウ応答が所定の回数を超えて繰り返された場合にシャドウ応答が不一致であるとしてその不一致情報をメモリ１６のデータファイル１７に記憶し、起動時にデータファイル１７に不一致情報が記憶されている場合にシャドウ応答のために設定するスレーブ用レジスタ１１の値を別の値に変更する。【選択図】  図１
2004259095.tif 000002
【特許請求の範囲】
【請求項１】
ＡＴＡ／ＡＴＡＰＩ規格に基づいて上位装置に接続され、更に、自ドライブ装置がマスタとして接続されているがスレーブとなるドライブ装置が接続されていない場合に、上記ＡＴＡ／ＡＴＡＰＩ規格が有する  Ｓｉｎｇｌｅ  Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  規格（以下「シャドウ応答規格」という）に基づいて、スレーブが不在であることを確認するためのシャドウ応答を該上位装置との間で行なうドライブ装置であって、
該上位装置との間でのシャドウ応答が所定の回数を超えて繰り返された場合にシャドウ応答が不一致であるとしてその不一致情報を記憶するメモリと、起動時に該メモリに不一致情報が記憶されている場合にシャドウ応答のために設定する応答値を別の値に変更する信号処理回路とを備えていることを特徴とするドライブ装置。
【請求項２】
上記上位装置との間のシャドウ応答の回数を計数するカウンタと、上記応答値が設定されるレジスタとを有していることを特徴とする請求項１に記載のドライブ装置。
【請求項３】
ドライブ装置がＡＴＡ／ＡＴＡＰＩ規格に基づいて上位装置にマスタとして接続されているが、スレーブとなるドライブ装置が接続されていない場合に上記ＡＴＡ／ＡＴＡＰＩ規格が有するシャドウ応答規格に基づいて、スレーブが不在であることを確認するために該上位装置との間で行なうシャドウ応答の方法であって、
該上位装置との間でのシャドウ応答が所定の回数を超えて繰り返された場合にシャドウ応答が不一致であるとしてその不一致情報をメモリに記憶し、起動時に該メモリに不一致情報が記憶されている場合にシャドウ応答のために設定する応答値を別の値に変更することを特徴とするドライブ装置のシャドウ応答方法。
【請求項４】
上記不一致情報をメモリに記憶してから、上記上位装置との間のシャドウ応答の回数を計数するカウンタを初期化することを特徴とする請求項３に記載のドライブ装置のシャドウ応答方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータにおいて、そのホストにハードディスク装置やＣＤ装置或いはＤＶＤ装置等のドライブ装置を標準規格であるＡＴＡ／ＡＴＡＰＩによるインタフェースを用いて接続する技術に関する。
【０００２】
【従来の技術】
パーソナルコンピュータ（以下「パソコン」という）は、ＣＰＵ（中央処理装置）やＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）等からなる上位装置即ちホストと周辺装置とからなる。周辺装置の内のハードディスク装置やＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）装置或いはＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）装置等のドライブ装置は、通常、標準規格であるＡＴＡ／ＡＴＡＰＩに基づくインタフェースによってホストに接続される（例えば非特許文献１参照）。ＡＴＡ（ＡＴ  Ａｔｔａｃｈｍｅｎｔ）規格はハードディスク装置を対象にし、ＡＴＡＰＩ（ＡＴＡ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ）規格は、ＣＤ装置やＤＶＤ装置を対象にしている。
【０００３】
ＡＴＡ／ＡＴＡＰＩインタフェースには、プライマリとセカンダリがあり、プライマリとセカンダリのそれぞれに図４に示すように、マスタ２とスレーブ３が用意され、バス線４を介してマスタ２のドライブ装置とスレーブ３のドライブ装置がホスト１へ接続される。
【０００４】
ＡＴＡ／ＡＴＡＰＩインタフェースに接続されたドライブ装置は、パソコンの起動時にホストによってそれらの接続が確認される。この接続の確認は、ＢＩＯＳの動作の段階で行なわれる。そして通常は、プライマリのマスタ→同スレーブ→セカンダリのマスタ→同スレーブの順で接続の確認が行われる。各ドライブ装置はそれぞれ、ホストからのＡＴＡ／ＡＴＡＰＩコマンドに対して応答を返し、ホストはこの応答により接続を確認する。
【０００５】
図５に示すように、ドライブ装置５は、ディスクの駆動装置、信号の記録再生のためのヘッドやピックアップ及びその駆動装置等からなる本体６に加えて、これら装置の制御や信号の入出力及びインタフェース等を行なうコントローラ７を有している。コントローラ７は、マイクロコンピュータ（ＭＣ）８やＤＳＰ（ディジタル信号処理回路）９等を搭載した回路基板によって構成される。ドライブ装置５は、バス線４を介してホスト１に接続される。
【０００６】
上記の応答は、ＤＳＰ９が有するマスタ用レジスタ（ＲＧ）１０及びスレーブ用レジスタ（ＲＧ）１１を用いて行なわれる。レジスタ１０，１１は、それぞれＡＴＡ／ＡＴＡＰＩ規格で定められたタスクファイルとなるもので、図６に示すように、８ビット構成のＳＴＡＴＵＳレジスタ１２及びＥＲＲＯＲレジスタ１３とその他の幾つかのレジスタからなる。ＳＴＡＴＵＳレジスタ１２及びＥＲＲＯＲレジスタ１３にはＡＴＡ／ＡＴＡＰＩ規格で定められた値が設定されており、マスタ２は、ＡＴＡ／ＡＴＡＰＩコマンドがあったときにレジスタ１２，１３をホスト１に返す。具体的には、マスタ２のＤＳＰ９は、ホスト１がレジスタ１２，１３の値を読める状態にする。ホスト１は、その値を読み取り、読み取った値と自分が持っているドライブ装置の規格値とを照合し、一致していれば、ＡＴＡ／ＡＴＡＰＩコマンドがドライブ装置にて処理されたと判断し、コマンドの応答の内容から接続があると認識する。
【０００７】
いま、図７に示すように、マスタ２は接続されているがスレーブの接続がない場合、スレーブに対するＡＴＡ／ＡＴＡＰＩコマンド１４があったときにマスタ２はスレーブに代わってスレーブ用レジスタ１１のＳＴＡＴＵＳレジスタ１２、ＥＲＲＯＲレジスタ１３をホスト１に返し、応答１５とする。ホスト１はその値を読み取り、読み取った値と自分が持っている規格値とを照合し、一致していれば、ＡＴＡ／ＡＴＡＰＩコマンドがドライブ装置にて処理されたと判断し、コマンドの応答の内容から接続がないと認識する。スレーブ用レジスタ１１の値は、マスタ用とは異なっており、ＡＴＡ／ＡＴＡＰＩ規格の中で  Ｓｉｎｇｌｅ  Ｄｅｖｉｃｅ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ規格（以下「シャドウ応答規格」という）として定められている。従って、スレーブ用レジスタ１１の値は、シャドウ応答規格の応答値として定義することができる。
【０００８】
さて、ＡＴＡ／ＡＴＡＰＩ規格は、規格改訂の多くの変遷があり、ＡＴＡ−１から始まって、ＡＴＡ／ＡＴＡＰＩ−６に至っている。シャドウ応答規格は、図８に示すように、ｆｉｒｓｔ  ｍｅｔｈｏｄ、ｓｅｃｏｎｄ  ｍｅｔｈｏｄ又は表記は無いがｆｉｒｓｔ  ｍｅｔｈｏｄと内容が同じもののいずれかであるが、いずれであるかは規格によってまちまちであり、定まっていない。
【０００９】
ところで、ホスト１とマスタ２とが必ずしも最新のシャドウ応答規格を採用しているとは限らず、また、ホスト１とマスタ２とが同じシャドウ応答規格を採用しているとは限らない。規格が一致しない場合は、ＡＴＡ／ＡＴＡＰＩコマンドがドライブ装置にて処理されたかどうか判断がつかず、ホスト１は繰り返し接続確認の処理を行ない、相当の時間が経ってから接続がないと仮定して確認を終了する。そのために起動時間が長くなる。
【００１０】
【非特許文献１】
ＡＮＳＩ（米国規格協会）発行  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ    ＡＴ  Ａｔｔａｃｈｍｅｎｔ  ｗｉｔｈ  Ｐａｃｋｅｔ  Ｉｎｔｅｒｆａｃｅ    ５  （ＡＴＡ／ＡＴＡＰＩ−５），  Ｔ１３  １３２１Ｄ  Ｒｅｖｉｓｉｏｎ  ３
【００１１】
【発明が解決しようとする課題】
ホスト１とマスタ２とでシャドウ応答規格が一致しない場合に起こる起動の長時間化は、起動の度に起こり、パソコンの利便性を著しく損ねることとなる。
【００１２】
本発明の目的は、ホストとマスタでシャドウ応答規格が一致しない場合に起こる起動の長時間化を回避可能なＡＴＡ／ＡＴＡＰＩ規格採用のドライブ装置を提供することにある。
【００１３】
【課題を解決するための手段】
上記目的を達成するための本発明のドライブ装置は、ＡＴＡ／ＡＴＡＰＩ規格に基づいて上位装置に接続され、更に、自ドライブ装置がマスタとして接続されているがスレーブとなるドライブ装置が接続されていない場合に、ＡＴＡ／ＡＴＡＰＩ規格が有するシャドウ応答規格に基づいて、スレーブが不在であることを確認するためのシャドウ応答を上位装置との間で行なうドライブ装置であって、上位装置との間でのシャドウ応答が所定の回数を超えて繰り返された場合にシャドウ応答が不一致であるとしてその不一致情報を記憶するメモリと、起動時に該メモリに不一致情報が記憶されている場合にシャドウ応答のために設定する応答値を別の値に変更する信号処理回路とを備えていることを特徴とする。
【００１４】
ドライブ装置がパソコンに装填されてから初めて起動が行なわれる場合に、シャドウ応答が不一致であれば不一致情報がメモリに記憶され、次回の起動では変更した応答値で、即ち二種類の内の一致する方の値が採用されてシャドウ応答が行なわれるので、次回からはシャドウ応答の不一致が解消され、早い起動を得ることができる。
【００１５】
【発明の実施の形態】
以下、本発明に係るＡＴＡ／ＡＴＡＰＩ規格採用のドライブ装置を図面に示した発明の実施の形態を参照して更に詳細に説明する。
【００１６】
図１において、５は、本発明のドライブ装置、６は、ディスクの駆動装置、信号の記録再生のためのヘッドやピックアップ及びその駆動装置等（図示を省略する）からなる、ドライブ装置５の本体、７は、本体６の各装置の制御や信号の入出力及びインタフェース等を行なうコントローラ、８は、コントローラ７の全体を制御するマイクロコンピュータ（ＭＣ）、９は、マイクロコンピュータ８の制御の基にホスト１への応答を行なうＤＳＰ（ディジタル信号処理回路）、１０，１１は、ＤＳＰ９が有するそれぞれマスタ用のレジスタ（ＲＧ）、スレーブ用のレジスタ、１６は、ＤＳＰ９が応答を行なう際に用いるメモリ、１７，１８は、メモリ１６に構成される、それぞれデータファイル（ＤＦ）及びプログラムファイル（ＰＦ）を示す。メモリ１６には、書き換え可能な不揮発性メモリ、例えばＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌ  Ｅｒａｓａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）やフラッシュＲＯＭ等が用いられる。
【００１７】
レジスタ１０，１１は、それぞれＡＴＡ／ＡＴＡＰＩ規格で定められたタスクファイルとなるもので、図６に示すように、８ビット構成のＳＴＡＴＵＳレジスタ１２及びＥＲＲＯＲレジスタ１３とその他の幾つかのレジスタからなる。ＳＴＡＴＵＳレジスタ１２及びＥＲＲＯＲレジスタ１３にはＡＴＡ／ＡＴＡＰＩ規格で定められた値が応答値として設定されており、スレーブ用レジスタ１１には、ドライブ装置５が採用するＡＴＡ／ＡＴＡＰＩ規格のバージョンに従って、図８に示す内容的に二種類のいずれかが設定される。
【００１８】
データファイル１７には、後で述べるシャドウ応答の情報と図８に示す内容的に二種類の双方のＳＴＡＴＵＳレジスタ１２及びＥＲＲＯＲレジスタ１３の値が格納される。また、プログラムファイル１７には、ＤＳＰ９が実行する本発明による応答の手順がシャドウ応答処理プログラムとして格納される。
【００１９】
続いて、マスタとなったドライブ装置５のＤＳＰ９がプログラムファイル１７に格納されているシャドウ応答処理プログラムに従って行なうシャドウ応答の処理を説明する。処理は、シャドウ応答不一致の検知処理と初期化処理とによって構成される。
【００２０】
シャドウ応答不一致の検知処理のフローチャートを図２に示す。シャドウ応答の不一致の検知処理が開始されると、ステップＳ１で、ホスト１からのＡＴＡ／ＡＴＡＰＩコマンドから、スレーブが選択されたか否かを判断する。ＡＴＡ／ＡＴＡＰＩ規格上、ホスト１からのＡＴＡ／ＡＴＡＰＩコマンドがスレーブ対象であるか否かを知ることができる。スレーブが選択されていればステップＳ２に、選択されていなければステップＳ６に進む。ステップＳ２で、スレーブが選択されていればスレーブ用レジスタ１１のＳＴＡＴＵＳレジスタ１２をホスト１に返しているので、ホスト１がその値を読み出したか否かを確認する。ホスト１により読み出しが行なわれていればステップＳ３に、読み出しが行なわれていなければステップＳ６に進む。ステップＳ３で、ＤＳＰ９が有するカウンタに１を加える。続いて、ステップＳ４で、カウンタが一定値を超えていればステップＳ５に、一定値を超えていなければステップＳ１に戻る。処理はカウンタが一定値を超えるまで繰り返される。
【００２１】
この一定値は、シャドウ応答の不一致を確実に確認することができ、かつ不一致によるホスト１のＳＴＡＴＵＳレジスタ１２の読み出し繰返し回数よりも少ない値であり、例えば１００程度である。なお、不一致のときのホスト１による読み出しの繰返しは、通常数千回に達する。ステップＳ５で、シャドウ応答が不一致であることをシャドウ応答の情報としてデータファイル１７に記録する。このとき、不一致となったスレーブ用レジスタ１１の値が  ｆｉｒｓｔ  ｍｅｔｈｏｄ  又は  ｓｅｃｏｎｄ  ｍｅｔｈｏｄ  のどちらであったかもシャドウ応答の情報として記録しておく。続いて、ステップＳ６では、カウンタを初期化し、不一致検知処理を終了する。
【００２２】
次に、初期化処理のフローチャートを図３に示す。電源投入直後の起動の開始時には、スレーブ用レジスタ１１は空白であり（他のすべてのレジスタも同様である）、初期化処理によりここに値が設定される。
【００２３】
まず、ステップＳ１１で、ドライブ装置５自身がマスタとして接続されており、スレーブにはドライブ装置が無いことを確かめる。この確認は、ＡＴＡ規格に基づいて行なわれる。確認されればステップＳ１２に進み、確認されなければ処理を終了する。ステップＳ１２で、データファイル１７にシャドウ応答の情報が記録されているかを調べる。記録があればステップＳ１３に進み、記録が無ければステップＳ１４に進む。
【００２４】
ステップＳ１３で、データファイル１７にはシャドウ応答が不一致となったスレーブ用レジスタ１１の値がどちらであったかがシャドウ応答の情報として記録されているので、その情報を基に別の方のレジスタ値をデータファイル１７から読み出してスレーブ用レジスタ１１に設定する。即ち、シャドウ応答を設定する。ステップＳ１４では、コントローラ７がデフォルトとして予め決めてある方の値をデータファイル１７から読み出してスレーブ用レジスタ１１に設定し、シャドウ応答を設定する。ステップＳ１３，Ｓ１４によりシャドウ応答が設定されたので初期化処理を終了する。
【００２５】
説明の便宜上、シャドウ応答不一致の検知処理を先に、初期化処理を後に説明したが、実際の動作は、初期化処理が先に行なわれる。そして、過去に一度不一致があれば、次からはシャドウ応答の一致する値がスレーブ用レジスタ１１に設定されることになる。この不一致の検知が図２に示した検知処理によって行なわれる。
【００２６】
従って、本実施形態により、シャドウ応答の不一致によるホスト１によるレジスタ１１の読み出しの繰返しは、最初の一回の起動に留まり、以降からは繰返しが回避される。
【００２７】
【発明の効果】
本発明によれば、シャドウ応答の一致する値がスレーブ用レジスタに自動的に設定されるので、ホストとマスタでシャドウ応答規格が一致しない場合に起こる起動の長時間化を回避可能なドライブ装置を実現することができる。
【図面の簡単な説明】
【図１】本発明に係るＡＴＡ／ＡＴＡＰＩ規格採用のドライブ装置の発明の実施の形態を説明するための構成図。
【図２】本発明のドライブ装置が実行するシャドウ応答不一致の検知処理を説明するためのフローチャート。
【図３】本発明のドライブ装置が実行する初期化処理を説明するためのフローチャート。
【図４】ＡＴＡ／ＡＴＡＰＩ規格に基づく装置構成を説明するための構成図。
【図５】従来のドライブ装置を説明するための構成図。
【図６】マスタ用及びスレーブ用レジスタの構成を説明するための図。
【図７】スレーブが接続されない場合の装置構成を説明するための構成図。
【図８】ＡＴＡ／ＡＴＡＰＩ規格によるスレーブ用レジスタの値を説明するための図。
【符号の説明】
１…ホスト、２…マスタ、３…スレーブ、４…バス線、５…ドライブ装置、６…ドライブ装置本体、７…コントローラ、８…マイクロコンピュータ、９…ディジタル信号処理回路（ＤＳＰ）、１０…マスタ用レジスタ、１１…スレーブ用レジスタ、１２…ＳＴＡＴＵＳレジスタ、１３…ＥＲＲＯＲレジスタ、１６…メモリ、１７…データファイル、１８…プログラムファイル。
【図１】
2004259095.tif 000003
【図２】
2004259095.tif 000004
【図３】
2004259095.tif 000005
【図４】
2004259095.tif 000006
【図５】
2004259095.tif 000007
【図６】
2004259095.tif 000008
【図７】
2004259095.tif 000009
【図８】
2004259095.tif 000010