(57)【要約】【課題】装置の運用中において汎用バスの波形を最適化すること。【解決手段】デバイスに接続された汎用バスを制御する汎用バス制御装置は、汎用バスを駆動するドライブ回路と、汎用バスでの最適波形を予め記憶するメモリテーブルと、汎用バスの波形をチェックする波形チェック回路と、を備える。取得手段は、チェックした波形を取得する。比較手段は、取得した波形と予め記憶した最適波形とを比較する。変更・設定手段は、比較結果に応じて、ドライブ回路の最適値を変更するように設定可能である。【選択図】図６
2019050501.tif 000002
【特許請求の範囲】
【請求項１】
デバイスに接続された汎用バスを制御する方法であって、
前記汎用バスの波形をチェックするチェック工程と、
該チェックした波形を取得する取得工程と、
該取得した波形と予め記憶している最適波形とを比較する比較工程と、
該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定工程と、
を含む汎用バス制御方法。
【請求項２】
前記比較結果が一致するまで、前記取得工程、前記比較工程、および前記変更・設定工程を繰り返す、請求項１に記載の汎用バス制御方法。
【請求項３】
デバイスに接続された汎用バスを制御する汎用バス制御装置であって、
前記汎用バスを駆動するドライブ回路と、
前記汎用バスでの最適波形を予め記憶するメモリテーブルと、
前記汎用バスの波形をチェックする波形チェック回路と、
該チェックした波形を取得する取得手段と、
該取得した波形と前記予め記憶した最適波形とを比較する比較手段と、
該比較結果に応じて、前記ドライブ回路の最適値を変更するように設定可能な変更・設定手段と、
を備える汎用バス制御装置。
【請求項４】
前記取得手段と前記比較手段と前記変更・設定手段とを有する制御部を備える、請求項３に記載の汎用バス制御装置。
【請求項５】
前記波形チェック回路と前記取得手段と前記比較手段と前記変更・設定手段とを有する波形チェック装置を備える、請求項３に記載の汎用バス制御装置。
【請求項６】
前記デバイスは、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光学ドライブ、記録ドライブ、および周辺機器の群から選択されたドライブから成る、請求項３乃至５のいずれか１つに記載の汎用バス制御装置。
【請求項７】
前記汎用バスは、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）およびユニバーサルシリアルバス（ＵＳＢ）の群から選択されたシリアルバスインタフェース規格で規定されたシリアルバスから成る、請求項３乃至６のいずれか１つに記載の汎用バス制御装置。
【請求項８】
前記ドライブ回路は、前記汎用バスの信号波形の振幅および強度を調整するバスコントローラを含む、請求項３乃至７のいずれか１つに記載の汎用バス制御装置。
【請求項９】
前記ドライブ回路は、前記デバイスと前記バスコントローラとの間に設けられて、前記汎用バスの信号波形の振幅および強度を調整するリドライバを更に含む、請求項８に記載の汎用バス制御装置。
【請求項１０】
デバイスに接続された汎用バスをコンピュータに制御させる汎用バス制御プログラムであって、前記コンピュータに、
波形チェック回路によりチェックされた、前記汎用バスの波形を取得する取得手順と、
該取得した波形と予め記憶している最適波形とを比較する比較手順と、
該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定手順と、
を実行させるための汎用バス制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ本体にハードディスクドライブ（ＨＤＤ）やメモリ等のドライブ（デバイス）を接続するための汎用バスを制御する汎用バス制御方法、汎用バス制御装置、および汎用バス制御プログラムに関する。
【背景技術】
【０００２】
汎用バスを規定する汎用バスインタフェースの規格であるとして、種々のものが知られている。例えば、ＡＴＡ（advanced technology attachment）は、コンピュータ本体にハードディスクドライブ（ＨＤＤ）などのストレージ装置（外部記憶装置）を繋いで通信するための接続方式の標準規格の一つである。
【０００３】
また、ＳＡＴＡ（Serial ATA）は、コンピュータ本体にハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）や光学ドライブを接続する為のインタフェース規格である。ＳＡＴＡは、ＳＣＳＩ（small computer system interface）やパラレルＡＴＡに代わって主流となっている記録ドライブの接続インタフェース規格である。ここで、ソリッドステートドライブ（ＳＳＤ）とは、記憶装置として半導体素子メモリを用いたストレージ（特に、ディスクドライブ）として扱うことのできるデバイスである。
【０００４】
ユニバーサルシリアルバス（ＵＳＢ）は、コンピュータ等の情報機器に周辺機器を接続するためのシリアルバス規格の１つである。
【０００５】
ここでは、上述したようなＨＤＤやＳＳＤ、光学ドライブ、記録ドライブ、周辺機器等を一纏めにして、単に「デバイス」とも呼ぶ。
【０００６】
上述したようなＳＡＴＡ／ＵＳＢ等の汎用バスインタフェースでは、汎用バスの線長／信号特性や、接続するハードディスク／メモリ等のデバイスの特性によって、データの入出力を制御するドライブ回路（バスコントローラやリドライバ）での波形が変化する。尚、バスコントローラはバスコントローラＩＣ（integrated circuit）やドライバチップとも呼ばれ、リドライバはリドライバＩＣやリドライバチップとも呼ばれる。
【０００７】
そのことから、汎用バスの信号強度等を制御するドライブ回路に設定される制御値について、事前評価にて波形を測定した上で最適値を確定し、ドライブ回路の制御値を確定した最適値である固定値にて運用するのが一般的である。その場合、経年劣化／温度変化での汎用バスの信号特性の変化や、使用デバイス（ＨＤＤやＳＳＤ）の変更等によって、ドライブ回路（バスコントローラ／リドライバ）の最適値が変化する場合がある。そのようなケースでは、エラーとなる可能性が考えられる。
【０００８】
換言すれば、汎用バスインタフェースにおいて、バス制御用のドライブ回路の信号強度等を設定する制御値の最適値が装置運用中に何らかの影響によって変化する場合、制御値を固定値として固定しているケースでは対応出来ない。
【０００９】
このような問題を克服しようとする技術が、種々、提案されている。
【００１０】
例えば、特許文献１は、装置起動時に複数の設定値でアクセスを実施し、場合によってエラーを繰り返すことでエラーしない値を選択する方法を開示している。
【００１１】
特許文献２は、バスライン上の出力された信号の波形が、バスラインの負荷容量成分に応じて変化することを積極的に利用し、これに基づいて出力信号のドライブ能力を適正に制御する技術思想を開示している。特許文献２に開示されたバス駆動回路部は、ライン上の帰還信号の電圧レベルに基づいて現在のバス状態を判定するバス状態判別手段と、判別結果に基づいて、能力可変ドライブ回路のドライブ能力を決定するドライブ能力決定手段とを含む。
【００１２】
特許文献３は、設計時にバスを整合する際の機能拡張装置の接続枚数、転送速度、転送幅の制限を解消し、バスの不整合による影響を最小限に留めることが可能な「バス整合方法および装置」を開示している。
【００１３】
特許文献３では、カードの送信部及び受信部における波形を観測し、波形から整合がとれているかどうかを判断している。整合がとれていれば、現在のインピーダンス値が他の全ての区間におけるデータ転送についても整合をとることが確認されていれば、ＣＰＵがスロット及び終端インピーダンス制御にアクセスし、装着されているカードのＩＤと終端インピーダンスの値を読み込む。そして、カードのＩＤと終端インピーダンスの値を不揮発性メモリに記憶する。終端インピーダンスの値を不揮発性メモリから読込み、読込んだ値を終端インピーダンス制御部へ送出する。そして、スイッチ制御部にて、終端インピーダンスの値が送出されてきた値になるようにスイッチのオン／オフ制御を行う。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】特開２０１０−０９２３８４号公報
【特許文献２】特開２０００−２６１４６４号公報
【特許文献３】特開平０７−２６４２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１５】
しかしながら、特許文献１〜３には、それぞれ、次に述べるような問題がある。
【００１６】
特許文献１では、最適値を選択する過程でのエラー発生を回避することが出来ない。
【００１７】
特許文献２は、電圧レベル（電圧値のみ）を測定しているので、汎用バスの信号波形を最適な波形の状態に近づけることが困難となる。また、特許文献２では、ドライブ回路のドライブ能力を決定するための専用の回路（ドライブ能力決定手段）を設ける必要がある。
【００１８】
特許文献３では、装置起動時のバス接続状態の違いによる変化にしか対応できない。換言すれば、特許文献３では、装置の運用中の変化（波形変化）に対応できない。
【００１９】
本発明の目的は、上述した課題を解決する汎用バス制御方法、汎用バス制御装置、および汎用バス制御プログラムを提供することにある。
【課題を解決するための手段】
【００２０】
本発明の汎用バス制御方法は、デバイスに接続された汎用バスを制御する方法であって、前記汎用バスの波形をチェックするチェック工程と；該チェックした波形を取得する取得工程と；該取得した波形と予め記憶している最適波形とを比較する比較工程と；該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定工程と；を含む。
【００２１】
本発明の汎用バス制御装置は、デバイスに接続された汎用バスを制御する汎用バス制御装置であって、前記汎用バスを駆動するドライブ回路と；前記汎用バスでの最適波形を予め記憶するメモリテーブルと；前記汎用バスの波形をチェックする波形チェック回路と；該チェックした波形を取得する取得手段と；該取得した波形と前記予め記憶した最適波形とを比較する比較手段と；該比較結果に応じて、前記ドライブ回路の最適値を変更するように設定可能な変更・設定手段と；を備える。
【００２２】
本発明の汎用バス制御プログラムは、デバイスに接続された汎用バスをコンピュータに制御させる汎用バス制御プログラムであって、前記コンピュータに、波形チェック回路によりチェックされた、前記汎用バスの波形を取得する取得手順と；該取得した波形と予め記憶している最適波形とを比較する比較手順と；該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定手順と；を実行させる。
【発明の効果】
【００２３】
本発明によれば、装置の運用中において汎用バスの波形を最適化することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１の実施形態に係る汎用バス制御装置の構成を示すブロック図である。
【図２】図１に示された汎用バス制御装置に使用されるバスコントローラの内部構成を示すブロック図である。
【図３】図１に示された汎用バス制御装置に使用されるリドライバの内部構成を示すブロック図である。
【図４】図１に示された汎用バス制御装置に使用されるバス制御回路内のメモリテーブルに記憶される最適波形の一例を示す図である。
【図５】図４に示す最適波形の形状をパラメータとしてメモリテーブルに記憶した内容の一例を示す表である。
【図６】図１に示された汎用バス制御装置に使用されるバス制御回路内のＣＰＵ（制御部）の構成を示すブロック図である。
【図７】図１に示した汎用バス制御装置の動作を説明するためのフローチャートである。
【図８】本発明の第２の実施形態に係る汎用バス制御装置の構成を示すブロック図である。
【図９】本発明の第３の実施形態に係る汎用バス制御装置の構成を示すブロック図である。
【発明を実施するための形態】
【００２５】
最初に、本発明の特徴について説明する。
【００２６】
本発明に係る汎用バス制御装置では、汎用バス上に、波形チェック回路を搭載し、この波形チェック回路で採取した波形情報から汎用バスでの最適値を各ドライブ回路に設定する。このことで、汎用バスの信号強度を変化させ、最適値の変化に対応している。
【００２７】
以下、本発明の実施形態について説明する。
【００２８】
［第１の実施形態］
図１は、本発明の第１の実施形態に係る汎用バス制御装置１の構成を示すブロック図である。
【００２９】
図示の汎用バス制御装置１は、バス制御回路１１と、バスコントローラ１２と、リドライバ１３と、波形チェック回路１４と、デバイス１５とを備える。
【００３０】
バス制御回路１１は、バスコントローラ１２を内蔵している。図示のバス制御回路１１は、ＣＰＵ（central processing unit）とチップセットとを１チップ化して構成されたものである。したがって、バス制御回路１１は、ＣＰＵ／チップセットとも呼ばれる。バスコントローラ１２はチップセットの内部に設けられる。
【００３１】
前述したように、バスコントローラ１２はバスコントローラＩＣやドライバチップとも呼ばれ、リドライバ１３は、リドライバＩＣやリドライバチップとも呼ばれる。
【００３２】
バスコントローラ１２とリドライバ１３との間は、第１の汎用バスＢ１によって接続されている。リドライバ１３とデバイス１５との間は、第２の汎用バスＢ２によって接続されている。
【００３３】
第１の汎用バスＢ１および第２の汎用バスＢ２の各々は、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）およびユニバーサルシリアルバス（ＵＳＢ）の群から選択されたシリアルバスインタフェース規格で規定されたシリアルバスであってよい。
【００３４】
また、デバイス１５は、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光学ドライブ、記録ドライブ、および周辺機器の群から選択されたドライブであってよい。
【００３５】
バス制御回路１１は不揮発性メモリから成るメモリテーブル１１１を内蔵する。バス制御回路１１の制御部であるＣＰＵ（後述する）は、バスコントローラ１２と第１のローカルバスＢ３によって接続されている。また、バス制御回路１１は、リドライバ１３とは第２のローカルバスＢ４によって接続されている。さらに、バス制御回路１１は、波形チェック回路１４とは第３のローカルバスＢ５によって接続されている。
【００３６】
図２は、バスコントローラ１２の内部構成を示すブロック図である。バスコントローラ１２は、ドライバ／イコライザＣ１と、レシーバ／イコライザＣ２とから成る。
【００３７】
ドライバ／イコライザＣ１は、ＣＰＵからの第１のローカルバスＢ３を介した指示によって、内部バスからの入力信号の信号波形の振幅／強度等を調整し、調整した信号を第１の汎用バスＢ１へ送出する。同様に、レシーバ／イコライザＣ２は、ＣＰＵからの第１のローカルバスＢ３を介した指示によって、第１の汎用バスＢ１からの入力信号の信号波形の振幅／強度を調整し、調整した信号を内部バスへ伝える。
【００３８】
図３は、リドライバ１３の内部構成を示すブロック図である。リドライバ１３は、第１のレシーバ／イコライザＣ３と、第１のドライバＣ４と、第２のレシーバ／イコライザＣ５と、第２のドライバＣ６とから成る。
【００３９】
第１のレシーバ／イコライザＣ３は、ＣＰＵからの第２のローカルバスＢ４を介した指示によって、第１の汎用バスＢ１からの入力信号の信号波形の振幅／強度等を調整する。この調整された信号は、第１のドライバＣ４を経由した後、第２の汎用バスＢ２へ送出される。
【００４０】
同様に、第２のレシーバ／イコライザＣ５は、ＣＰＵからの第２のローカルバスＢ４を介した指示によって、第２の汎用バスＢ２からの入力信号の信号波形の振幅／強度を調整する。この調整された信号は、第２のドライバＣ６を経由した後、第１の汎用バスＢ１へ伝えられる。
【００４１】
図示の波形チェック回路１４は、第２の汎用バスＢ２の波形を一定期間測定し、時間と電圧レベルの情報を採取した後、その採取（チェック）した波形を示す波形情報を第３のローカルバスＢ５を経由してバス制御回路１１へ転送する。このように、波形チェック回路１４は、チェックした波形の波形情報を、第３のローカルバスＢ５を経由してバス制御回路１１へ送る。
【００４２】
次に、図４および図５を参照して、バス制御回路１１に内蔵されるメモリテーブル１１１について説明する。
【００４３】
バス制御回路１１は、図４に示されるように、事前に汎用バス制御装置１での最適波形を測定する。図４において、横軸は時間軸を示し、縦軸は電圧レベルを示す。
【００４４】
そして、バス制御回路１１は、メモリテーブル１１１に、その最適波形の形状を示すパラメータとして、図５に示すような内容を記憶しておく。尚、図５に示すvoltageの値には、ある程度幅を持たせてもよい。このように、メモリテーブル１１１は、最適波形を示す最適波形情報を予め記憶している。
【００４５】
図６は、バス制御回路１１に含まれるＣＰＵ（制御部）１１０の内部構成を示すブロック図である。
【００４６】
図６に示されるように、ＣＰＵ（制御部）１１０は、取得部１１３と、比較部１１５と、変更・設定部１１７とを含む。
【００４７】
取得部１１３は、波形チェック回路１４によってチェックされた波形の波形情報を、第３のローカルバスＢ５を介して取得する。
【００４８】
比較部１１５は、取得部１１３で取得した波形の波形情報と、メモリテーブル１１１に予め記憶している最適波形を示す最適波形情報とを比較する。
【００４９】
変更・設定部１１７は、比較部１１５での比較結果に応じて、後述するように、バスコントローラ１２およびリドライバ１３の最適値を変更するように設定可能である。
【００５０】
詳述すると、比較部１１５での比較結果が不一致の場合、変更・設定部１１７は、バスコントローラ１２およびリドライバ１３の最適値を変更するように設定する。変更・設定部１１７は、その変更したドライブ強度設定値を保持するレジスタ１１９を含む。
【００５１】
なお、比較部１１５での比較結果が一致するまで、取得部１１３、比較部１１５、および変更・設定部１１７は、動作を繰り返す。
【００５２】
このように、本第１の実施形態では、ＳＡＴＡ／ＵＳＢ等の汎用バスＢ１、Ｂ２にデバイス１５を接続している汎用バス制御装置１に対して、汎用バスＢ１、Ｂ２の波形の状態を確認出来る波形チェック回路１４を内蔵している。こにより、汎用バスＢ１、Ｂ２の信号強度を変化させて、最適値の変化に対応している。
【００５３】
次に、図７を参照して、本発明の第１の実施形態に係る汎用バス制御装置１の動作について説明する。
【００５４】
まず、波形チェック回路１４では、第２の汎用バスＢ２の波形の振幅情報を数値として記録し、バス制御回路１１へ第３のローカルバスＢ５経由で、「波形情報」として送信する。
【００５５】
バス制御回路１１では、取得部１１３が、この「波形情報」を取得する（ステップＳ１）。
【００５６】
次に、バス制御回路１１では、比較部１１５が、この取得した「波形情報」と、メモリテーブル１１１に予め格納されている「最適波形情報」とを比較する（ステップＳ２）。
【００５７】
この比較部１１５での比較の結果、取得した「波形情報」と「最適波形情報」とが一致した場合（ステップＳ３；ＹＥＳ）、変更・設定部１１７は、設定変更を実施せず、動作は終了となる。
【００５８】
ここで、取得した「波形情報」と「最適波形情報」とが一致するとは、厳密に（誤差なく）両方の情報が一致する場合のみだけでなく、予め定められた許容誤差の範囲内において、両方の情報が一致する場合をも含むことに留意されたい。
【００５９】
一方、比較部１１５での比較の結果、取得した「波形情報」と「最適波形情報」とが不一致の場合（ステップＳ３；ＮＯ）、変更・設定部１１７は、そのレジスタ１１９の「ドライブ強度設定値」の値を変化させ書き換えることで、第１のローカルバスＢ３を介してバスコントローラ１２での信号波形の振幅／強度を調整する。また、変更・設定部１１７は、第２のローカルバスＢ４を介して、リドライバ１３にも同様の処理を行う（ステップＳ４）。
【００６０】
ステップＳ４で「ドライブ強度設定値」の値を書き換えられた、バスコントローラ１２およびリドライバ１３は、それぞれ、第１の汎用バスＢ１および第２の汎用バスＢ２のドライブ波形を変化させる（ステップＳ５）。
【００６１】
ステップＳ５の後、バス制御回路１１は、再度ステップＳ１、ステップＳ２、ステップＳ３の順番で処理を実施する。ステップＳ３において、取得した「波形情報」と「最適波形情報」とが一致すれば（ステップＳ３；ＹＥＳ)、動作終了となる。ステップＳ３において、取得した「波形情報」と「最適波形情報」とが一致しなければ（ステップＳ３；ＮＯ）、バス制御回路１１は、再度ステップＳ４、ステップＳ５、ステップＳ１、ステップＳ２、ステップＳ３と進み、取得した「波形情報」と「最適波形情報」とが一致するまで一連の処理を繰り返す。
【００６２】
尚、上述した汎用バス制御装置１の動作は、デバイス１５を交換した際には必ず実施される。また、上記汎用バス制御装置１の動作は、装置の運用中においても定期的に実施される。しかしながら、上記汎用バス制御装置１の動作は、装置の運用中において不定期に実施されてもよい。
【００６３】
次に、本第１の実施形態の効果について説明する。
【００６４】
第一の効果は、本第１の実施形態は、波形の最適化をエラーする／しないで判断する方法では無いため、装置の起動時だけで無く、装置の運用中においても、定期的に汎用バスの波形の設定の最適化が可能であることである。
【００６５】
第二の効果は、本第１の実施形態では、最適波形値と一致するまで調整を実施することで、よりマージンのある理想的な波形の状態を常に保つことが出来ることである。
【００６６】
尚、本第１の実施形態では、ドライブ回路として、バスコントローラ１２とリドライバ１３とを備えた例について説明しているが、本発明はこれに限定されない。すなわち、本発明は、ドライブ回路としてバスコントローラ１２のみを備えたものであってもよい。
【００６７】
上述したように、バス制御回路１１の各部は、ハードウェアとソフトウェアとの組み合わせを用いて実現可能である。ハードウェアとソフトウェアとを組み合わせた形態では、ＲＡＭ（random access memory）に汎用バス制御プログラムが展開され、該汎用バス制御プログラムに基づいて制御部（ＣＰＵ）１１０等のハードウェアを動作させることによって、各部を各種手段として実現する。また、該汎用バス制御プログラムは、記録媒体に記録されて頒布されても良い。当該記録媒体に記録された汎用バス制御プログラムは、有線、無線、又は記録媒体そのものを介して、メモリに読込まれ、制御部等を動作させる。尚、記録媒体を例示すれば、オプティカルディスクや磁気ディスク、半導体メモリ装置、ハードディスクなどが挙げられる。
【００６８】
上記第１の実施形態を別の表現で説明すれば、バス制御回路１１として動作させるコンピュータ（ＣＰＵ１１０）を、ＲＡＭに展開された汎用バス制御プログラムに基づき、取得部１１３、比較部１１５、および変更・設定部１１７として動作させることで実現することが可能である。
【００６９】
［第２の実施形態］
図８は、本発明の第２の実施形態に係る汎用バス制御装置１Ａの構成を示すブロック図である。
【００７０】
図示の汎用バス制御装置１Ａは、別の波形チェック回路１６を更に備えている点を除いて、図１に示した汎用バス制御回路１と同様の構成を有し、動作をする。したがって、同一の機能を有するものには同一の参照符号を付し、説明の簡略化のために、それらについての説明を省略する。以下では、相違点についてのみ説明する。
【００７１】
波形チェック回路１６は、第１の汎用バスＢ１の波形をチェックする回路である。この波形チェック回路１６でチェックされた波形を示す波形情報は、第４のローカルバスＢ６を介してバス制御回路１１へ送られる。
【００７２】
バス制御回路１１は、図示しないスイッチ（切替回路）を備えており、最適値の選択を第１の汎用バスＢ１および第２の汎用バスＢ２毎に順番に行う。また、バス制御回路１１は、レジスタ１１９（図６）を、第１の汎用バスＢ１および第２の汎用バスＢ２毎に２つ備えている。
【００７３】
例えば、最初に、第１の汎用バスＢ１に最適値を設定するために、バス制御回路１１は、波形チェック回路１６でチェックされた波形の波形情報を第４のローカルバスＢ６を介して取得する。そして、バス制御回路１１は、前述した動作によってバスコントローラ１２を制御して、第１の汎用バスＢ１の信号波形の振幅／強度等を調整する。
【００７４】
その調整が終了後に、今度は、第２の汎用バスＢ２に最適値を設定するために、バス制御回路１１は、波形チェック回路１４でチェックされた波形の波形情報を第３のローカルバスＢ５を介して取得する。そして、バス制御回路１１は、前述した動作によってリドライバ１３を制御して、第２の汎用バスＢ２の信号波形の振幅／強度等を調整する。
【００７５】
尚、最適値の選択の順番は、これに限定されず、最初に第２の汎用バスＢ２を選択し、その次に、第１の汎用バスＢ１を選択しても良いのは勿論である。
【００７６】
このように、本第２の実施形態では、２つの波形チェック回路１４および１６を配置したので、より詳細に汎用バスの波形状態を確認することが可能となる。
【００７７】
なお、波形チェック回路の個数は２つに限定されず、３つ以上あっても良いのは勿論である。
【００７８】
［第３の実施形態］
図９は、本発明の第３の実施形態に係る汎用バス制御装置１Ｂの構成を示すブロック図である。
【００７９】
図示の汎用バス制御装置１Ｂは、バスコントローラ１２と、リドライバ１３と、波形チェック装置１４Ａと、デバイス１５とを備える。
【００８０】
すなわち、第３の実施形態に係る汎用バス制御回路１Ｂは、第１の実施形態に係る汎用バス制御装置１から、バス制御回路１１を省略すると共に、波形チェック回路１４を波形チェック装置１４Ａに置き換えた構成をしている。以下では、第１の実施形態との相違点についてのみ説明する。
【００８１】
波形チェック装置１４Ａは、メモリテーブル１１１を内蔵すると共に、波形チェック回路１４、取得部１１３、比較部１１５、および変更・設定部１１５を備えている。
【００８２】
このような構成を採用することにより、本第３の実施形態では、波形チェック装置１４Ａから、直に、バスコントローラ１２およびリドライバ１３の設定を変更することが可能となる。
【００８３】
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００８４】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８５】
（付記１）デバイスに接続された汎用バスを制御する方法であって、
前記汎用バスの波形をチェックするチェック工程と、
該チェックした波形を取得する取得工程と、
該取得した波形と予め記憶している最適波形とを比較する比較工程と、
該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定工程と、
を含む汎用バス制御方法。
【００８６】
（付記２）前記比較結果が一致するまで、前記取得工程、前記比較工程、および前記変更・設定工程を繰り返す、付記１に記載の汎用バス制御方法。
【００８７】
（付記３）デバイスに接続された汎用バスを制御する汎用バス制御装置であって、
前記汎用バスを駆動するドライブ回路と、
前記汎用バスでの最適波形を予め記憶するメモリテーブルと、
前記汎用バスの波形をチェックする波形チェック回路と、
該チェックした波形を取得する取得手段と、
該取得した波形と前記予め記憶した最適波形とを比較する比較手段と、
該比較結果に応じて、前記ドライブ回路の最適値を変更するように設定可能な変更・設定手段と、
を備える汎用バス制御装置。
【００８８】
（付記４）前記取得手段と前記比較手段と前記変更・設定手段とを有する制御部を備える、付記３に記載の汎用バス制御装置。
【００８９】
（付記５）前記波形チェック回路と前記取得手段と前記比較手段と前記変更・設定手段とを有する波形チェック装置を備える、付記３に記載の汎用バス制御装置。
【００９０】
（付記６）前記波形チェック回路を複数備える、付記３に記載の汎用バス制御装置。
【００９１】
（付記７）前記デバイスは、ハードディスクドライブ（ＨＤＤ）、ソリッドステートドライブ（ＳＳＤ）、光学ドライブ、記録ドライブ、および周辺機器の群から選択されたドライブから成る、付記３乃至６のいずれか１つに記載の汎用バス制御装置。
【００９２】
（付記８）前記汎用バスは、シリアルアドバンストテクノロジーアタッチメント（ＳＡＴＡ）およびユニバーサルシリアルバス（ＵＳＢ）の群から選択されたシリアルバスインタフェース規格で規定されたシリアルバスから成る、付記３乃至７のいずれか１つに記載の汎用バス制御装置。
【００９３】
（付記９）前記ドライブ回路は、前記汎用バスの信号波形の振幅および強度を調整するバスコントローラを含む、付記３乃至８のいずれか１つに記載の汎用バス制御装置。
【００９４】
（付記１０）前記ドライブ回路は、前記デバイスと前記バスコントローラとの間に設けられて、前記汎用バスの信号波形の振幅および強度を調整するリドライバを更に含む、付記９に記載の汎用バス制御装置。
【００９５】
（付記１１）デバイスに接続された汎用バスをコンピュータに制御させる汎用バス制御プログラムであって、前記コンピュータに、
波形チェック回路によりチェックされた、前記汎用バスの波形を取得する取得手順と、
該取得した波形と予め記憶している最適波形とを比較する比較手順と、
該比較結果が不一致の場合に、前記汎用バスを駆動するドライブ回路の最適値を変更するように設定する変更・設定手順と、
を実行させるための汎用バス制御プログラム。
【００９６】
（付記１２）前記比較結果が一致するまで、前記コンピュータに、前記取得手順、前記比較手順、および前記変更・設定手順を繰り返し実行させる、付記１１に記載の汎用バス制御プログラム。
【産業上の利用可能性】
【００９７】
本発明は、コンピュータ装置全般で、装置の信頼性を向上させるために適用できる。
【符号の説明】
【００９８】
１、１Ａ、１Ｂ    汎用バス制御装置
１１    バス制御回路（ＣＰＵ／チップセット）
１１０    ＣＰＵ（制御部）
１１１    メモリテーブル
１１３    取得部
１１５    比較部
１１７    変更・設定部
１１９    レジスタ
１２    バスコントローラ（ドライバチップ）
１３    リドライバ（リドライバチップ）
１４    波形チェック回路
１４Ａ    波形チェック装置
１５    デバイス
１６    波形チェック回路
Ｂ１、Ｂ２    汎用バス
Ｂ３〜Ｂ６    ローカルバス
Ｃ１    ドライバ／イコライザ
Ｃ２    レシーバ／イコライザ
Ｃ３    レシーバ／イコライザ
Ｃ４    ドライバ
Ｃ５    レシーバ／イコライザ
Ｃ６    ドライバ
【図１】
2019050501.tif 000003
【図２】
2019050501.tif 000004
【図３】
2019050501.tif 000005
【図４】
2019050501.tif 000006
【図５】
2019050501.tif 000007
【図６】
2019050501.tif 000008
【図７】
2019050501.tif 000009
【図８】
2019050501.tif 000010
【図９】
2019050501.tif 000011