(57)【要約】【課題】  インターフェースの初期化時にはあらかじめ用意したキャリブレーション実施後の値をインターフェースに直接設定することでキャリブレーションの期間を短縮することを目的とする。【解決手段】  利用時にキャリブレーションが必要なインターフェースの制御装置であって、インターフェースを駆動するインターフェースコントローラと、インターフェースコントローラに設定する設定値として、このインターフェースについてキャリブレーションした後の予測値をあらかじめ記憶する記憶装置と、インターフェースコントローラの設定を記憶装置に記憶した予測値に従った値に設定する設定手段とを備える。【選択図】  図１
2007200220.tif 000002
【特許請求の範囲】
【請求項１】
利用時にキャリブレーションが必要なインターフェースの制御装置であって、
前記インターフェースを駆動するインターフェースコントローラと、
前記インターフェースコントローラに設定する設定値として、このインターフェースについてキャリブレーションした後の予測値をあらかじめ記憶する記憶装置と、
前記インターフェースコントローラの設定を前記記憶装置に記憶した予測値に従った値に設定する設定手段と
を備えたことを特徴とするインターフェース制御装置。
【請求項２】
前記設定手段は、前記インターフェースコントローラ内の設定値を読み出し、前記予測値の代わりに前記記憶装置に記憶する機能をさらに備え、
前記インターフェースでキャリブレーションした場合、キャリブレーション後の前記インターフェースコントローラの設定値を読み出し、前記予測値の代わりに前記記憶装置に記憶することを特徴とする請求項１に記載のインターフェース制御装置。
【請求項３】
前記インターフェースコントローラの所定の箇所の温度を測定する温度センサをさらに備え、
前記設定手段は、前記温度センサで測定した温度情報に対応する予測値に従った値を設定することを特徴とする請求項１に記載のインターフェース制御装置。
【請求項４】
前記インターフェースコントローラに供給される電源電圧を測定する電圧センサをさらに備え、
前記設定手段は、前記電圧センサで測定した電圧情報に対応する予測値に従った値を設定することを特徴とする請求項１に記載のインターフェース制御装置。
【請求項５】
利用時にキャリブレーションが必要なインターフェースの設定方法であって、
前記インターフェースを駆動するインターフェースコントローラに設定する設定値として、このインターフェースについてキャリブレーションした後の予測値をあらかじめ記憶しておき、
前記インターフェースの設定が必要な場合、この記憶した予測値に従った値を前記インターフェースコントローラに設定する
ことを特徴とするインターフェース設定方法。
【請求項６】
前記インターフェースでキャリブレーションした場合、キャリブレーション後の前記インターフェースコントローラの設定値を読み出し、前記予測値の代わりに記憶することを特徴とする請求項５に記載のインターフェース設定方法。
【請求項７】
前記インターフェースコントローラの所定の箇所の温度を測定し、
前記インターフェースコントローラの設定の際、測定した温度情報に対応する予測値に従った値を設定することを特徴とする請求項５に記載のインターフェース設定方法。
【請求項８】
前記インターフェースコントローラに供給される電源電圧を測定し、
前記インターフェースコントローラの設定の際、測定した電圧情報に対応する予測値に従った値を設定することを特徴とする請求項５に記載のインターフェース設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンポーネントに備えられたインターフェース制御装置およびそのインターフェースの設定方法に関し、特に使用に際してキャリブレーションを要するインターフェースの設定方法に関する。
【背景技術】
【０００２】
電子機器といった製品は筐体内にいくつかのコンポーネント（構成要素)に分けで実装される場合が多い。コンポーネント間ではデータの授受のために、各コンポーネントを接続するインターフェースを介して互いに通信する。
【０００３】
昨今の電子機器ではコンポーネント間の通信にも広帯域なものが求められており、こういった広帯域なインターフェースでは初期化時、あるいは必要に応じてインターフェースの設定値をキャリブレーション（補正）する必要のあるものもある。
【０００４】
しかしながらキャリブレーションを完了するまではそのインターフェースを介したコンポーネント間の通信が行えず、またキャリブレーションを完了するには一般的に多くの時間を要することから、機器利用のうえで不都合が生じていた。
【０００５】
停止する以前の設定値を記憶しておき、再起動時の初期化に際してはこの記憶した設定値を用いて、再度設定をし直すことなく以前の設定を復元する情報処理装置が提案されている（特許文献１を参照）。
【特許文献１】特開２００１−２５５９５４号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
キャリブレーションが完了するまではそのインターフェースを介した通信ができないという問題がある。本発明はこの問題に鑑みてなされたもので、インターフェースの初期化時にはあらかじめ用意したキャリブレーション実施後の値をインターフェースに直接設定することでキャリブレーションの期間を短縮することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のインターフェース制御装置とすれば、利用時にキャリブレーションが必要なインターフェースの制御装置であって、前記インターフェースを駆動するインターフェースコントローラと、前記インターフェースコントローラに設定する設定値として、このインターフェースについてキャリブレーションした後の予測値をあらかじめ記憶する記憶装置と、前記インターフェースコントローラの設定を前記記憶装置に記憶した予測値に従った値に設定する設定手段とを備えたことを特徴とするインターフェース制御装置が提供される。
【０００８】
また本発明のインターフェース設定方法によれば、利用時にキャリブレーションが必要なインターフェースの設定方法であって、前記インターフェースを駆動するインターフェースコントローラに設定する設定値として、このインターフェースについてキャリブレーションした後の予測値をあらかじめ記憶しておき、前記インターフェースの設定が必要な場合、この記憶した予測値に従った値を前記インターフェースコントローラに設定することを特徴とするインターフェース設定方法が提供される。
【発明の効果】
【０００９】
インターフェースの初期化時にはあらかじめ用意したキャリブレーション実施後の値をインターフェースに直接設定することでキャリブレーションの期間を短縮することができる。
【発明を実施するための最良の形態】
【００１０】
以下に図を用いながら詳細に説明する。
【００１１】
（第１の実施形態）
図１は本実施形態にかかるインターフェース制御装置の一例を示す図である。図１には、インターフェース１００、インターフェースコントローラ１０１、コンポーネント１０２、インターフェースコントローラ１０３、コンポーネント１０４、制御装置１０５および記憶装置１０６が示されている。
【００１２】
インターフェース１００は、コンポーネント間の通信に使用される通信媒体あるいは通信方式を指す。通信に先立ち稼動状態を最適化するためにキャリブレーションと呼ばれるインターフェースの動作に関わる設定値を補正するための作業を前提としている。インターフェースが高速になればなるほど、そのインターフェースの能力を最大限引き出すには、そのときどきの動作環境に応じて設定値を変えて設定しなければならないことがある。これを行わないと、想定されたインターフェース能力が発揮できない場合もありうる。
【００１３】
インターフェースコントローラ１０１および１０３は、インターフェース１００を駆動するための制御部である。通常は、このインターフェースの転送に関する動作タイミングなどは、これを利用して通信しようとする通信機器で行うと効率が悪い。このためこのインターフェースを利用する機器側でインターフェースの稼動の詳細に関わることなく、またインターフェースによる通信が高速に行えるようにそのインターフェースに専用のコントローラを設けている。
【００１４】
コンポーネント１０２および１０４は、たとえば所定の機能をもったLSI(半導体集積回路)、回路基板あるいは通信装置を指す。これらコンポーネント間は定められた処理の遂行のため情報をやり取りする必要があり、インターフェース１００を介することで通信を実現する。このとき、コンポーネントの構成など態様はさまざまであり、その態様に即したインターフェースを用いることができる。本実施形態ではインターフェースの種別は限定しないが、そのインターフェースの利用に先立ってキャリブレーションが必要になるインターフェースを利用する構成を想定している。
【００１５】
制御装置１０５は、コンポーネント１０２および１０４、あるいはインターフェースコントローラ１０１および１０３の動作を制御する機能を有している。ここで言う制御とは少なくとも、インターフェース１００を駆動するインターフェースコントローラ１０１および１０３の設定値の提供あるいは設定、および設定値を取得することを含む。
【００１６】
記憶装置１０６は、制御装置１０５が取得した設定値を記憶する、たとえばHDD（磁気ディスク装置）、半導体メモリなどである。記憶した設定値は必要に応じて制御装置１０５により読み出される。記憶する設定値の一例としては、出力バッファのドライブ能力の設定値やスルーレートの設定値、および入力時のデータラッチの際の位相設定やターミネーションに関する設定値などが考えられる。
【００１７】
これらの設定値は使用するインターフェースとコンポーネント同士の組み合わせである程度決まるため、互いに接続されるコンポーネント同士が固定している場合にはあらかじめ使用状態における設定値を予測することができる。このため、たとえば製品を組み上げた後の工場出荷の段階ではインターフェースコントローラの設定値をあらかじめ求めておくことも可能となる。
【００１８】
図２は本実施形態にかかるインターフェース制御装置の動作フローの一例を示す図である。この動作フローでは、この構成においてキャリブレーションした場合に得られるはずの予測値としての設定値が記憶装置１０６にあらかじめ記憶されている場合を示している。
【００１９】
制御装置１０５は、まずインターフェース１００のインターフェースコントローラ１０１および１０３に設定する値を記憶装置１０６から読み出す（ステップＳ０１）。この値はインターフェースコントローラ１０１および１０３がインターフェース１００を介して通信する際の、それぞれのインターフェースコントローラが使用する値である。従来の技術では、この値はインターフェースコントローラが都度キャリブレーションを実施して決定していた。
【００２０】
つぎに、記憶装置１０６から読み出した設定値をインターフェースコントローラ１０１および１０３に設定する（ステップＳ０２）。このときインターフェースコントローラ１０１および１０３はキャリブレーションすることなく、あらかじめ記憶装置１０６に記憶しておいた設定値を用いてインターフェース１００による通信を行う。
【００２１】
このように構成するとキャリブレーションに要する時間を削減することができ、直ちに通信を開始することができる。
【００２２】
この処理はコンポーネント１０２または１０４への電源投入時やリセットされたときなど、インターフェースコントローラの設定をしなければならないときに処理される。
【００２３】
図３は本実施形態にかかるインターフェース制御装置の動作フローの別の一例を示す図である。この動作フローは、そのインターフェースとインターフェースコントローラ同士の組み合わせで従来のようにキャリブレーションを行い、得られた設定値を図２で示す動作フローで読み出される設定値として利用するための準備動作である。
【００２４】
まずインターフェース１００のキャリブレーションを実施する（ステップＳ１１）。
【００２５】
つぎに制御装置１０５は、インターフェースコントローラ１０１および１０３の設定値を取得する（ステップＳ１２）。
【００２６】
そして取得した設定値を、このインターフェースコントローラ１０１または１０３用の設定値として記憶装置１０６に記憶する（ステップＳ１３）。この値は次回、インターフェースコントローラの初期化時などに読み出されて利用される。
【００２７】
この動作にかかるキャリブレーション後の設定値の記憶はコンポーネントの使用終了時、使用中定期的に、あるいは制御装置１０５がコンポーネントの変更を察知したタイミングなどで行われるようにしても良い。
【００２８】
このように構成すると、実際のキャリブレーション後の設定値でインターフェースコントローラの設定値を設定することができ、予測した設定値よりもこの構成に適合する値に修正することが可能となる。
【００２９】
この動作は、設定値をより適合した値に修正するためのものであり、あらかじめ記憶装置１０６に記憶した設定値で支障がない場合には必ずしも実施する必要は無い。
【００３０】
（第２の実施形態）
図４は本実施形態にかかるインターフェース制御装置の一例を示す図である。図４には、インターフェース２００、インターフェースコントローラ２０１、温度センサ２０２、コンポーネント２０３、電圧センサ２０４、インターフェースコントローラ２０５、温度センサ２０６、コンポーネント２０７、電圧センサ２０８、制御装置２０９および記憶装置２１０が示されている。
【００３１】
インターフェース２００は、コンポーネント間の通信に使用される通信媒体あるいは通信方式を指す。通信に先立ち稼動状態を最適化するためにキャリブレーションと呼ばれるインターフェースの動作に関わる設定値を補正するための作業を前提としている。インターフェースが高速になればなるほど、そのインターフェースの能力を最大限引き出すには、そのときどきの動作環境に応じて設定値を変えて設定しなければならないことがある。これを行わないと、想定されたインターフェース能力が発揮できない場合もありうる。
【００３２】
インターフェースコントローラ２０１および２０５は、インターフェース２００を駆動するための制御部である。通常は、このインターフェースの転送に関する動作タイミングなどは、これを利用して通信しようとする通信機器で行うと効率が悪い。このためこのインターフェースを利用する機器側でインターフェースの稼動の詳細に関わることなく、またインターフェースによる通信が高速に行えるようにそのインターフェースに専用のコントローラを設けている。
【００３３】
温度センサ２０２および２０６は、インターフェースコントローラ２０１、２０５それぞれの温度を測定するセンサである。インターフェースコントローラの温度を測定する理由としては、温度の違いにより電気的特性がぶれる構成部品がインターフェースコントローラに使用されていた場合、その温度によってはインターフェースコントローラ２０１、２０５の設定値が異なる場合が考えられるからである。
【００３４】
コンポーネント２０３および２０７は、たとえば所定の機能をもったLSI(半導体集積回路)、回路基板あるいは通信装置を指す。これらコンポーネント間は定められた処理の遂行のため情報をやり取りする必要があり、インターフェース２００を介することで通信を実現する。このとき、コンポーネントの構成など態様はさまざまであり、その態様に即したインターフェースを用いることができる。本実施形態ではインターフェースの種別は限定しないが、そのインターフェースの利用に先立ってキャリブレーションが必要になるインターフェースを利用する構成を想定している。
【００３５】
電圧センサ２０４および２０８は、インターフェース２０１、２０５それぞれに供給されている電源電圧を測定するセンサである。電源電圧を測定する理由としては、電圧の違いにより電気的特性がぶれる構成部品がインターフェースコントローラに使用されていた場合、その電圧によってはインターフェースコントローラ２０１、２０５の設定値が異なる場合が考えられるからである。
【００３６】
制御装置２０９は、コンポーネント２０３および２０７、あるいはインターフェースコントローラ２０１および２０５の動作を制御する機能を有している。ここで言う制御とは少なくとも、インターフェース２００を駆動するインターフェースコントローラ２０１および２０５の設定値の提供あるいは設定、および設定値を取得することを含む。
【００３７】
記憶装置２１０は、制御装置２０９が取得した設定値を記憶する、たとえばHDD（磁気ディスク装置）、半導体メモリなどである。記憶した設定値は必要に応じて制御装置２０９により読み出される。記憶する設定値の一例としては、出力バッファのドライブ能力の設定値やスルーレートの設定値、および入力時のデータラッチの際の位相設定やターミネーションに関する設定値などが考えられる。
【００３８】
これらの設定値は使用するインターフェースとコンポーネント同士の組み合わせ、および温度や供給電圧といった使用環境である程度決まると考えられる。互いに接続されるコンポーネント同士が固定している場合には、使用環境における温度や電圧といった変動要因を見込んであらかじめ設定値を予測することができる。このため、たとえば製品を組み上げた後の工場出荷の段階ではインターフェースコントローラの設定値をあらかじめ求めておくことも可能となる。
【００３９】
図５は本実施形態にかかるインターフェース制御装置の動作フローの一例を示す図である。この動作フローでは、この構成においてキャリブレーションした場合に得られるはずの予測値としての設定値が記憶装置２１０にあらかじめ記憶されている場合を示している。
【００４０】
制御装置２０９は、まず電圧センサ２０４、２０８から供給電圧の情報を取得する（ステップＳ３１）。
【００４１】
次に温度センサ２０２、２０６からインターフェースコントローラ２０１および２０５の温度の情報を取得する（ステップＳ３２）。
【００４２】
次に制御装置２０９はインターフェース２００のインターフェースコントローラ２０１および２０５に設定する値を記憶装置２１０から読み出す（ステップＳ３３）。この値はインターフェースコントローラ１０１および１０３がインターフェース１００を介して通信する際の、それぞれのインターフェースコントローラが使用する値である。従来の技術では、この値はインターフェースコントローラが都度キャリブレーションを実施して決定していた。
【００４３】
ここで読み出す設定値はステップＳ３１、Ｓ３２で取得した情報に対応付けられた値が読み出される。つまり温度や電圧の情報が異なれば、異なる設定値を与えることができるように構成されている。
【００４４】
つぎに、記憶装置２１０から読み出した設定値をインターフェースコントローラ２０１および２０５に設定する（ステップＳ３４）。このときインターフェースコントローラ２０１および２０５はキャリブレーションすることなく、あらかじめ記憶装置２１０に記憶しておいた設定値を用いてインターフェース２００による通信を行う。
【００４５】
このように構成すると、そのときの使用環境の変動要因に柔軟に対応しつつキャリブレーションに要する時間を削減することができ、直ちに通信を開始することができる。
【００４６】
この処理はコンポーネント２０３または２０７への電源投入時やリセットされたときなど、インターフェースコントローラの設定をしなければならないときに処理される。
【００４７】
図６は本実施形態にかかるインターフェース制御装置の動作フローの別の一例を示す図である。この動作フローは、そのインターフェースとインターフェースコントローラ同士の組み合わせで従来のようにキャリブレーションを行い、得られた設定値を図５で示す動作フローで読み出される設定値として利用するための準備動作である。
【００４８】
まずインターフェース２００のキャリブレーションを実施する（ステップＳ４１）。
【００４９】
つぎに制御装置２０９は、インターフェースコントローラ２０１および２０５の設定値を取得する（ステップＳ４２）。
【００５０】
つぎに電圧センサ２０４、２０８から供給電圧の情報を取得する（ステップＳ４３）。
【００５１】
さらに温度センサ２０２、２０６からそれぞれのインターフェースコントローラの温度の情報を取得する（ステップＳ４４）。
【００５２】
そして取得した設定値を、ステップＳ４３、Ｓ４４で取得した電圧、温度における、このインターフェースコントローラ２０１または２０５用の設定値として記憶装置１０６に記憶する（ステップＳ４５）。この値は次回、インターフェースコントローラの初期化時などに読み出されて利用される。
【００５３】
この動作にかかるキャリブレーション後の設定値の記憶はコンポーネントの使用終了時、使用中定期的に、あるいは制御装置２１０がコンポーネントの変更を察知したタイミングなどで行われるようにしても良い。
【００５４】
このように構成すると、実際のキャリブレーション後の設定値でインターフェースコントローラの設定値を設定することができ、予測した設定値よりもこの構成に適合する値に修正することが可能となる。
【００５５】
この動作は、設定値をより適合した値に修正するためのものであり、あらかじめ記憶装置２１０に記憶した設定値で支障がない場合には必ずしも実施する必要は無い。
【００５６】
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５７】
【図１】第１の実施形態にかかるインターフェース制御装置の一例を示す図である。
【図２】第１の実施形態にかかるインターフェース制御装置の動作フローの一例を示す図である。
【図３】第１の実施形態にかかるインターフェース制御装置の動作フローの別の一例を示す図である。
【図４】第２の実施形態にかかるインターフェース制御装置の一例を示す図である。
【図５】第２の実施形態にかかるインターフェース制御装置の動作フローの一例を示す図である。
【図６】第２の実施形態にかかるインターフェース制御装置の動作フローの別の一例を示す図である。
【符号の説明】
【００５８】
１００、２００・・・インターフェース
１０１、１０３、２０１、２０５・・・インターフェースコントローラ
１０２、１０４、２０３、２０７・・・コンポーネント
１０５、２０９・・・制御装置
１０６、２１０・・・記憶装置
２０２、２０６・・・温度センサ
２０４、２０８・・・電圧センサ
【図１】
2007200220.tif 000003
【図２】
2007200220.tif 000004
【図３】
2007200220.tif 000005
【図４】
2007200220.tif 000006
【図５】
2007200220.tif 000007
【図６】
2007200220.tif 000008