IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-18047情報処理装置、信号補正方法、及び信号補正プログラム
<>
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図1
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図2
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図3
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図4
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図5
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図6
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図7
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図8
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図9
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図10
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図11
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図12
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図13
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図14
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図15
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図16
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図17
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図18
  • 特開-情報処理装置、信号補正方法、及び信号補正プログラム 図19
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024018047
(43)【公開日】2024-02-08
(54)【発明の名称】情報処理装置、信号補正方法、及び信号補正プログラム
(51)【国際特許分類】
   G06F 3/00 20060101AFI20240201BHJP
   G06F 13/38 20060101ALI20240201BHJP
【FI】
G06F3/00 X
G06F13/38 320Z
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022121093
(22)【出願日】2022-07-29
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110004185
【氏名又は名称】インフォート弁理士法人
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】佐藤 弘季
(57)【要約】
【課題】情報処理装置に異なるデバイスが接続された場合であっても、演算処理部と接続されたデバイスとの間の通信を可能にする。
【解決手段】演算処理部は、接続部に接続されたデバイスと第1通信経路を介して通信し、補正部は、第1通信経路における信号を補正する。制御部は、デバイスから第2通信経路を介して、接続部にデバイスが接続されたことを示す接続信号を受信し、接続信号に基づいて、デバイスから第3通信経路を介して、デバイスを示す識別情報を取得する。制御部は、識別情報に基づいて、信号を補正するための第1補正情報を第2補正情報に更新し、第1補正情報を第2補正情報に更新した後に、第4通信経路を介して演算処理部へ更新完了信号を送信する。第1通信経路は、接続部と演算処理部との間の通信経路であり、第2通信経路及び第3通信経路は、接続部と制御部との間の通信経路であり、第4通信経路は、制御部と演算処理部との間の通信経路である。
【選択図】図2
【特許請求の範囲】
【請求項1】
デバイスが接続される接続部と、
前記接続部に接続された前記デバイスと第1通信経路を介して通信する演算処理部と、
前記第1通信経路における信号を補正する補正部と、
前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、前記識別情報に基づいて、前記信号を補正するための第1補正情報を第2補正情報に更新し、前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する制御部と、
を備え、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする情報処理装置。
【請求項2】
前記演算処理部は、前記制御部から前記更新完了信号を受信した場合、前記第1通信経路を介して、前記演算処理部と前記デバイスとの通信を開始することを特徴とする請求項1記載の情報処理装置。
【請求項3】
前記第1補正情報を記憶する補正情報記憶部をさらに備え、
前記制御部は、前記補正部に電力が供給されていない場合、前記識別情報に基づいて、前記補正情報記憶部が記憶する前記第1補正情報を前記第2補正情報に更新し、
前記補正部は、前記補正部に前記電力が供給されたとき、前記補正情報記憶部から前記第2補正情報を取得することを特徴とする請求項1又は2記載の情報処理装置。
【請求項4】
前記制御部は、前記補正部に電力が供給されている場合、前記識別情報に基づいて、前記補正部に設定されている前記第1補正情報を前記第2補正情報に更新することを特徴とする請求項1又は2記載の情報処理装置。
【請求項5】
前記識別情報と対応付けて前記第2補正情報を記憶する対応関係記憶部をさらに備え、
前記制御部は、前記識別情報に基づいて、前記対応関係記憶部から前記第2補正情報を取得することを特徴とする請求項1又は2記載の情報処理装置。
【請求項6】
接続部に接続されたデバイスと第1通信経路を介して通信する演算処理部を含む情報処理装置において、前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、
前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、
前記識別情報に基づいて、前記第1通信経路における信号を補正するための第1補正情報を第2補正情報に更新し、
前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する、
処理をプロセッサが実行し、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする信号補正方法。
【請求項7】
プロセッサのための信号補正プログラムであって、
前記信号補正プログラムは、
接続部に接続されたデバイスと第1通信経路を介して通信する演算処理部を含む情報処理装置において、前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、
前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、
前記識別情報に基づいて、前記第1通信経路における信号を補正するための第1補正情報を第2補正情報に更新し、
前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する、
処理を前記プロセッサに実行させ、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする信号補正プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号補正技術に関する。
【背景技術】
【0002】
ソフトウェア技術の発展に伴い、多数のサーバを通信ネットワークにより接続することで、高性能かつ高可用性を有する計算システムを構築する事例が増えてきている。
【0003】
このような計算システムを構築する場合、各サーバの処理性能をある程度確保しながら、サーバ1台当たりの単価及び設置面積を低く抑えることが望ましい。さらに、通信ネットワーク上で計算システムを構築するため、各サーバが種類の異なる複数の入出力(Input/Output,I/O)カードを搭載できることが望ましい。
【0004】
I/Oカードに関連して、PCI(Peripheral Component Interconnect) Expressインタフェースの伝送距離を延長する技術が知られている(例えば、特許文献1を参照)。PCI Expressインタフェースのレーン数の縮退が発生した場合に適切な対処を行う情報処理装置も知られている(例えば、特許文献2を参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2009-282798号公報
【特許文献2】特開2006-201881号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述したサーバでは、様々な顧客の要望に対応できるようにするために、複数種類のI/Oカードを搭載できることが望ましい。このため、着脱可能なI/Oカードを搭載する接続部が設けられる。
【0007】
この場合、接続部とCPU(Central Processing Unit)との間には、高速通信の通信経路が設けられることが多い。CPUは、プロセッサと呼ばれることもある。高速通信の通信規格としては、例えば、PCIe(Peripheral Component Interconnect Express)が知られている。
【0008】
CPUとI/Oカードの間の通信速度は、速ければ速いほど望ましい。そこで、通信速度を向上させるために、通信規格において、信号の振幅がより小さく、かつ、信号の周波数がより高い方式が選択される傾向にある。振幅が小さくなり、周波数が高くなると、低速の通信規格では問題がなかったノイズの影響が大きくなり、信号の減衰、他の回路からの干渉、又はマザーボードの物理的な特性によって、信号が歪んでしまう。
【0009】
一般的な通信規格においても、高速通信における信号の歪みは考慮されている。例えば、PCIeの規格では、信号の送出時及び受信時に信号を補正することで、信号波形の改善が試みられている。
【0010】
例えば、送信側回路が信号の立ち上がり部分と立下り部分を強調する補正を行うことで、受信側回路が受信する信号を矩形波に近づけることができる。立ち上がり部分と立下り部分に対する複数の補正パラメータがあらかじめ用意されており、その中から何れかの補正パラメータが選択されて、信号の補正に用いられる。
【0011】
しかしながら、サーバの接続部に接続されていたI/Oカードとは別のI/Oカードが接続部に接続された場合、あらかじめ用意された補正パラメータでは、高速通信の通信経路における信号の歪みが適切に補正されないことがある。このため、接続された別のI/Oカードの利用が困難になる。
【0012】
なお、かかる問題は、I/Oカードがサーバに接続された場合に限らず、様々なデバイスが情報処理装置に接続された場合においても生ずるものである。また、かかる問題は、CPUとI/Oカードが通信する場合に限らず、情報処理装置内部の様々な演算処理部とデバイスが通信する場合において生ずるものである。
【0013】
1つの側面において、本発明は、情報処理装置に異なるデバイスが接続された場合であっても、演算処理部と接続されたデバイスとの間の通信を可能にすることを目的とする。
【課題を解決するための手段】
【0014】
1つの案では、情報処理装置は、デバイスが接続される接続部、演算処理部、補正部、及び制御部を含む。演算処理部は、接続部に接続されたデバイスと第1通信経路を介して通信する。補正部は、第1通信経路における信号を補正する。
【0015】
制御部は、接続部にデバイスが接続されたとき、デバイスから第2通信経路を介して、接続部にデバイスが接続されたことを示す接続信号を受信する。制御部は、接続信号に基づいて、デバイスから第3通信経路を介して、デバイスを示す識別情報を取得する。制御部は、識別情報に基づいて、信号を補正するための第1補正情報を第2補正情報に更新する。制御部は、第1補正情報を第2補正情報に更新した後に、第4通信経路を介して演算処理部へ更新完了信号を送信する。
【0016】
第1通信経路は、接続部と演算処理部との間の通信経路であり、第2通信経路は、接続部と制御部との間の通信経路であり、第3通信経路は、接続部と制御部との間の通信経路であり、第4通信経路は、制御部と演算処理部との間の通信経路である。
【発明の効果】
【0017】
1つの側面によれば、情報処理装置に異なるデバイスが接続された場合であっても、演算処理部と接続されたデバイスとの間の通信が可能になる。
【図面の簡単な説明】
【0018】
図1】比較例のサーバの構成図である。
図2】実施形態の情報処理装置の機能的構成図である。
図3】信号補正処理のフローチャートである。
図4】情報処理装置の具体例を示す機能的構成図である。
図5】信号補正データを示す図である。
図6】デバイス情報を示す図である。
図7】設定情報を示す図である。
図8】サイドバンド信号を示す図である。
図9】電源制御処理のフローチャートである。
図10】制御処理のフローチャートである。
図11】第1のイベント処理のフローチャートである。
図12】第2のイベント処理のフローチャートである。
図13】補正パラメータ更新処理のフローチャートである。
図14】通信初期化処理のフローチャートである。
図15】補正パラメータ設定処理のフローチャートである。
図16】命令実行処理のフローチャートである。
図17】第1の動作のフローチャートである。
図18】第2の動作のフローチャートである。
図19】情報処理装置のハードウェア構成図である。
【発明を実施するための形態】
【0019】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0020】
図1は、比較例のサーバの構成例を示している。図1のサーバ601は、BMC(Baseboard Management Controller)611、CPU612、信号補正回路613、ROM(Read Only Memory)614、及びデバイススロット615-1~デバイススロット615-3を含む。
【0021】
BMC611は、サーバ601を管理する。デバイススロット615-i(i=1~3)は、接続部に対応し、デバイススロット615-iには、I/Oカード等の着脱可能なデバイスが接続される。ROM614は、各デバイススロット615-iと対応付けて、そのデバイススロット615-iに接続されたデバイス用の補正パラメータを記憶する。
【0022】
CPU612は、高速通信の通信経路621-1及び通信経路621-2を介して、各デバイススロット615-iに接続されたデバイスと通信する。通信経路621-1及び通信経路621-2は、デバイススロット615-1~デバイススロット615-3それぞれに対する通信経路を表す。
【0023】
信号補正回路613は、通信経路621-1と通信経路621-2の間に設けられ、ROM614が記憶する補正パラメータを用いて、CPU612と各デバイスとの間で送受信される信号を補正する。
【0024】
サーバ601の主電源が投入されると、CPU612は、各デバイスから送信されるサイドバンド信号をチェックする。サイドバンド信号は、デバイスの搭載状況及びLED(Light Emitting Diode)の状態を示す情報を含む。
【0025】
サイドバンド信号に基づいて、デバイスが搭載されていると判定された場合、CPU612は、そのデバイスの組み込みを実行する。デバイスの組み込みでは、そのデバイスに対する高速通信の初期化が行われる。高速通信の初期化が完了すると、CPU612は、デバイスに対するリンクアップが成功するか否かをチェックする。
【0026】
リンクアップが成功した場合、CPU612は、通信経路621-1及び通信経路621-2を介して、デバイスからベンダ情報及び種別情報を取得する。そして、CPU612は、ROM614内で各デバイススロット615-iに対応付けられた補正パラメータが、そのデバイススロット615-iに接続されたデバイスのベンダ情報及び種別情報に対応するか否かをチェックする。
【0027】
デバイススロット615-iに対応付けられた補正パラメータが、そのデバイススロット615-iに接続されたデバイスのベンダ情報及び種別情報に対応していない場合、CPU612は、ROM614の書き換えをBMC611に指示する。
【0028】
BMC611は、CPU612からの指示に従って、低速通信の通信経路622を介して、ROM614の書き換えを行う。これにより、ROM614内で各デバイススロット615-iに対応付けられた補正パラメータが、そのデバイススロット615-iに接続されたデバイスのベンダ情報及び種別情報に対応する補正パラメータに更新される。
【0029】
次に、BMC611は、サーバ601を再起動する。再起動時には、ROM614内で各デバイススロット615-iに対応付けられた補正パラメータが、そのデバイススロット615-iに接続されたデバイスのベンダ情報及び種別情報に対応している。信号補正回路613は、通信経路622を介して、ROM614から各デバイス用の補正パラメータを取得する。
【0030】
CPU612は、各デバイス宛ての信号を信号補正回路613へ送信する。信号補正回路613は、CPU612から受信した信号を、各デバイス用の補正パラメータを用いて補正することで、補正信号を生成する。そして、信号補正回路613は、補正信号を各デバイスへ送信する。
【0031】
各デバイスは、CPU612宛ての信号を信号補正回路613へ送信する。信号補正回路613は、各デバイスから受信した信号を、各デバイス用の補正パラメータを用いて補正することで、補正信号を生成する。そして、信号補正回路613は、補正信号をCPU612へ送信する。
【0032】
しかしながら、サーバ601のリリース後に出現した新規デバイスがデバイススロット615-iに接続されたときに、サーバ601と新規デバイスの間で相性問題が発生して、リンクアップが失敗することがある。リンクアップが失敗した場合、新規デバイスからCPU612へベンダ情報及び種別情報が通知されないため、ROM614の書き換えが行われず、ROM614内の補正パラメータが更新されない。
【0033】
ROM614内の補正パラメータが更新されない場合、信号補正回路613において、新規デバイス用の補正パラメータを用いた信号補正が行われないため、新規デバイスを利用することが困難になる。
【0034】
図2は、実施形態の情報処理装置の機能的構成例を示している。図2の情報処理装置701は、演算処理部711、補正部712、接続部713、及び制御部714を含む。演算処理部711は、接続部713に接続されたデバイスと第1通信経路を介して通信する。補正部712は、第1通信経路における信号を補正する。
【0035】
図3は、図2の情報処理装置701が行う信号補正処理の例を示すフローチャートである。まず、制御部714は、接続部713にデバイスが接続されたとき、デバイスから第2通信経路を介して、接続部713にデバイスが接続されたことを示す接続信号を受信する(ステップ801)。そして、制御部714は、接続信号に基づいて、デバイスから第3通信経路を介して、デバイスを示す識別情報を取得する(ステップ802)。
【0036】
次に、制御部714は、識別情報に基づいて、信号を補正するための第1補正情報を第2補正情報に更新し(ステップ803)、第4通信経路を介して演算処理部711へ更新完了信号を送信する(ステップ804)。
【0037】
第1通信経路は、接続部713と演算処理部711との間の通信経路であり、第2通信経路は、接続部713と制御部714との間の通信経路であり、第3通信経路は、接続部713と制御部714との間の通信経路であり、第4通信経路は、制御部714と演算処理部711との間の通信経路である。
【0038】
図2の情報処理装置701によれば、情報処理装置701に異なるデバイスが接続された場合であっても、演算処理部711と接続されたデバイスとの間の通信が可能になる。
【0039】
図4は、図2の情報処理装置701の具体例を示している。図4の情報処理装置901は、例えば、サーバであり、制御装置911、ホスト部912、電源制御部913、補正部914、記憶部915、デバイススロット916-1~デバイススロット916-3、及び選択部917を含む。
【0040】
制御装置911は、制御部921、記憶部922、及び通信部923~通信部927を含む。ホスト部912は、通信部931、通信部932、演算処理部933、通信部934、及び記憶部935を含む。
【0041】
演算処理部933、補正部914、デバイススロット916-i(i=1~3)、及び制御部921は、図2の演算処理部711、補正部712、接続部713、及び制御部714にそれぞれ対応する。デバイススロット916-iの個数は、3個に限られず、N個(Nは1以上の整数)であってもよい。
【0042】
デバイススロット916-iには、I/Oカード等の着脱可能なデバイスが接続される。デバイススロット916-iに接続されるデバイスは、NIC(Network Interface Card)、GPU(Graphics Processing Unit)、又はSSD(Solid State Drive)であってもよい。
【0043】
制御装置911及び記憶部915は、常時電源P1により動作し、ホスト部912は、通常電源P2により動作する。デバイススロット916-iに接続されたデバイスは、常時電源P1及び通常電源P2により動作する。情報処理装置901にAC(Alternating Current)ケーブルが接続されると、常時電源P1の電力が供給される。
【0044】
電源制御部913は、制御装置911からの指示に従って、通常電源P2のONとOFFを切り替える。通常電源P2がONのとき、通常電源P2の電力が供給され、通常電源P2がOFFのとき、通常電源P2の電力供給が停止される。
【0045】
記憶部915は、信号補正データを記憶する。信号補正データは、各デバイススロット916-iと対応付けられた補正パラメータを含む。各デバイススロット916-iと対応付けられた補正パラメータは、そのデバイススロット916-iに接続されたデバイスに対して適用される補正パラメータを表す。記憶部915は、補正情報記憶部の一例であり、補正パラメータは、補正情報の一例である。
【0046】
図5は、記憶部915が記憶する信号補正データの例を示している。図5の信号補正データは、ポート番号及び補正パラメータを含む。ポート番号及び補正パラメータは、互いに対応付けられている。
【0047】
ポート番号は、ホスト部912と各デバイススロット916-iに接続されたデバイスとの間の高速通信のポートを示す識別情報である。高速通信では、ホスト部912と各デバイスとの間の高速通信において、複数のポートが使用される。補正パラメータは、ポート番号を介して、そのポート番号が示すポートを使用するデバイスが接続されたデバイススロット916-iと対応付けられている。
【0048】
図4に戻って、ホスト部912は、高速通信の通信経路941-1及び通信経路941-2を介して、各デバイススロット916-iに接続されたデバイスと通信する。通信経路941-1及び通信経路941-2は、デバイススロット916-1~デバイススロット916-3それぞれに対する通信経路を表す。
【0049】
補正部914は、通信経路941-1と通信経路941-2の間に設けられ、記憶部915が記憶する補正パラメータを用いて、ホスト部912と各デバイスとの間で送受信される信号を補正する。通信経路941-1及び通信経路941-2は、第1通信経路に対応する。
【0050】
選択部917は、制御装置911からの指示に従って、何れかのデバイススロット916-iを選択する。そして、選択されたデバイススロット916-iに接続されているデバイスから出力されるベンダ情報及び種別情報を、制御装置911へ転送する。ベンダ情報は、デバイスのベンダを示す識別情報であり、種別情報は、デバイスを示す識別情報である。
【0051】
ホスト部912の演算処理部933は、記憶部935を利用して各種情報処理を行う。演算処理部933は、通信部934を介して、デバイススロット916-iに接続されたデバイス宛ての信号を通信経路941-1へ送出し、デバイスから送出された信号を通信経路941-1から受信する。演算処理部933は、通信部932を介して制御装置911と通信する。
【0052】
制御装置911の制御部921は、記憶部922を利用して情報処理装置901を管理する処理を行う。制御部921は、通信部923を介してユーザからの指示を受信する。ユーザからの指示は、例えば、通常電源P2のONとOFFを切り替える指示であり、例えば、Web UI(User Interface)を介して情報処理装置901に入力される。制御部921は、通信部925を介してホスト部912と通信する。
【0053】
制御装置911は、低速通信の通信経路943を介して、補正部914、記憶部915、及び選択部917と通信する。低速通信において、制御部921は、通信部926を介して補正部914、記憶部915、及び選択部917と通信する。通信経路943は、第3通信経路に対応する。制御部921は、通信部927を介して電源制御部913と通信する。
【0054】
デバイススロット916-iに接続されたデバイスは、常時電源P1の電力が供給されると、低速通信のための通信機能を初期化する。これにより、通信経路943を介して、デバイスと制御装置911の間の低速通信が可能になる。
【0055】
デバイスは、通常電源P2の電力が供給されると、ホスト部912による高速通信の初期化の待ち受けを開始する。高速通信の初期化が行われると、通信経路941-1及び通信経路941-2を介して、デバイスとホスト部912の間の高速通信が可能になる。
【0056】
記憶部922は、電源情報、デバイス情報、及び設定情報を記憶する。電源情報は、通常電源P2がON又はOFFの何れであるかを示す。デバイス情報は、各デバイススロット916-iに接続されているデバイスから取得されたベンダ情報及び種別情報を含む。設定情報は、各デバイス用の補正パラメータを含み、あらかじめユーザによって設定されている。記憶部922は、対応関係記憶部の一例である。
【0057】
図6は、記憶部922が記憶するデバイス情報の例を示している。図6のデバイス情報は、スロット番号、ベンダ情報、及び種別情報を含む。スロット番号、ベンダ情報、及び種別情報は、互いに対応付けられている。スロット番号は、デバイスが接続されているデバイススロット916-iを示す識別情報である。
【0058】
図7は、記憶部922が記憶する設定情報の例を示している。図7の設定情報は、スロット番号、ベンダ情報、種別情報、ポート番号、補正パラメータ、及び更新命令を含む。スロット番号、ベンダ情報、種別情報、ポート番号、補正パラメータ、及び更新命令は、互いに対応付けられている。
【0059】
各スロット番号には、複数のポート番号が対応付けられている。これらのポート番号は、スロット番号が示すデバイススロット916-iに接続されたデバイスとの高速通信において使用される複数のポートを示している。
【0060】
補正パラメータは、ベンダ情報及び種別情報が示すデバイスが、スロット番号が示すデバイススロット916-iに接続された場合に、そのデバイスに対して適用される補正パラメータを表す。更新命令は、補正部914に設定された補正パラメータを制御装置911が直接更新する場合に使用される命令を表す。更新命令は、スロット番号に対応する各ポート番号と、デバイスに対して適用される補正パラメータとを含む。
【0061】
ベンダ情報、種別情報、及びポート番号の“Other”は、汎用的な1つ又は複数のデバイスを示しており、それ以外のベンダ情報、種別情報、及びポート番号は、特定のデバイスを示している。特定のデバイスは、例えば、極端な信号補正の対象となるデバイスである。
【0062】
記憶部915が記憶する信号補正データにおいて、各ポート番号と対応付けられた補正パラメータは、設定情報に含まれる何れかの補正パラメータである。
【0063】
各デバイススロット916-iに接続されたデバイスは、ホスト部912宛てのサイドバンド信号を、通信経路942を介して制御装置911へ送信し、制御部921は、通信部924を介して、デバイスからサイドバンド信号を受信する。通信経路942は、第2通信経路に対応する。
【0064】
制御部921は、受信したサイドバンド信号を、通信部924及び通信経路944を介して、ホスト部912へ送信し、演算処理部933は、通信部931を介して、制御装置911からサイドバンド信号を受信する。通信経路944は、第4通信経路に対応する。演算処理部933は、通信部931を介して、デバイス宛てのサイドバンド信号をデバイスへ送信する。
【0065】
図8は、PCIeに基づく高速通信におけるサイドバンド信号の例を示している。図8のサイドバンド信号は、Atnled_、Pwrled、pwren_n、button_n、prsnt_n、pwrflt_n、mrl_n、及びEmilを含む。Atnled_、Pwrled、pwren_n、及びEmilは、ホスト部912からデバイスへ通知される情報であり、button_n、prsnt_n、pwrflt_n、及びmrl_nは、デバイスからホスト部912へ通知される情報である。
【0066】
デバイスからホスト部912へ通知される情報のうち、prsnt_nは、負論理のDevice Present信号であり、対応するデバイススロット916-iにデバイスが接続されているか否かを示す。デバイススロット916-iにデバイスが接続されている場合、prsnt_nはLowになり、デバイススロット916-iにデバイスが接続されていない場合、prsnt_nはHighになる。Lowのprsnt_nは、接続部にデバイスが接続されたことを示す接続信号に対応する。
【0067】
以下では、デバイススロット916-iにデバイスが接続されている状態を、デバイス搭載状態と記載し、デバイススロット916-iにデバイスが接続されていない状態を、デバイス未搭載状態と記載することがある。
【0068】
制御装置911の制御部921は、デバイスから受信するサイドバンド信号がデバイス未搭載状態からデバイス搭載状態に変化したとき、通信部926を介して、デバイスからベンダ情報及び種別情報を取得する。そして、制御部921は、サイドバンド信号に対応するスロット番号と取得されたベンダ情報及び種別情報とを含むデバイス情報を、記憶部922に格納する。
【0069】
次に、制御部921は、記憶部922が記憶する設定情報から、デバイス情報に含まれるスロット番号、ベンダ情報、及び種別情報に対応する、ポート番号、補正パラメータ、及び更新命令を取得する。
【0070】
次に、制御部921は、記憶部922が記憶する電源情報を参照して、通常電源P2がON又はOFFの何れであるかをチェックする。通常電源P2がOFFであり、補正部914に電力が供給されていない場合、制御部921は、通信部926を介して、記憶部915内の補正パラメータを更新する。このとき、制御部921は、記憶部915内で、設定情報から取得された各ポート番号に対応付けられた補正パラメータを、設定情報から取得された補正パラメータに更新する。
【0071】
この場合、記憶部915内で各ポート番号に対応付けられた補正パラメータは、第1補正情報に対応し、設定情報から取得された補正パラメータは、第2補正情報に対応する。
【0072】
その後、通常電源P2がOFFからONに変化して、補正部914に電力が供給された場合、補正部914は、記憶部915から通信経路943を介して、各ポート番号に対応付けられた補正パラメータを取得する。
【0073】
記憶部915内の補正パラメータを更新した後、制御部921は、通信部924及び通信経路944を介して、デバイスから受信したサイドバンド信号をホスト部912へ送信する。ホスト部912の演算処理部933は、制御装置911からサイドバンド信号を受信した場合、通信部934を介して、サイドバンド信号を送信したデバイスとの通信を開始する。制御装置911からホスト部912へ送信されるサイドバンド信号は、更新完了信号に対応する。
【0074】
記憶部915内の補正パラメータが更新された後にサイドバンド信号がホスト部912へ送信されるため、更新前の補正パラメータを用いてリンクアップが開始されることがなく、リンクアップの失敗が防止される。
【0075】
一例として、デバイススロット916-iに接続されていたデバイスとは別のデバイスが、デバイススロット916-iに接続された場合を想定する。この場合、補正部914に電力が供給されたときに、記憶部915が別のデバイス用の補正パラメータを記憶しているため、補正部914は、その補正パラメータを記憶部915から取得することができる。これにより、別のデバイス用の補正パラメータを用いて適切な信号補正が行われるため、演算処理部933と別のデバイスの間の高速通信が可能になる。
【0076】
一方、通常電源P2がONであり、補正部914に電力が供給されている場合、制御部921は、通信部926を介して、記憶部915内の補正パラメータを更新する。このとき、制御部921は、記憶部915内で、設定情報から取得された各ポート番号に対応付けられた補正パラメータを、設定情報から取得された補正パラメータに更新する。
【0077】
さらに、制御部921は、通信部926を介して、設定情報から取得された更新命令を補正部914へ送信する。これにより、制御部921は、補正部914内で、デバイス情報のスロット番号に対応する各ポート番号に対応付けて設定されている補正パラメータを、更新命令に含まれる補正パラメータに更新する。
【0078】
この場合、補正部914内で各ポート番号に対応付けて設定されている補正パラメータは、第1補正情報に対応し、更新命令に含まれる補正パラメータは、第2補正情報に対応する。
【0079】
記憶部915内の補正パラメータ及び補正部914内の補正パラメータを更新した後、制御部921は、通信部924を介して、デバイスから受信したサイドバンド信号をホスト部912へ送信する。ホスト部912の演算処理部933は、制御装置911からサイドバンド信号を受信した場合、通信部934を介して、サイドバンド信号を送信したデバイスとの通信を開始する。
【0080】
補正部914内の補正パラメータが更新された後にサイドバンド信号がホスト部912へ送信されるため、更新前の補正パラメータを用いてリンクアップが開始されることがなく、リンクアップの失敗が防止される。
【0081】
一例として、デバイススロット916-iに接続されていたデバイスとは別のデバイスが、デバイススロット916-iに接続された場合、補正部914内の補正パラメータが別のデバイス用の補正パラメータに更新される。これにより、別のデバイス用の補正パラメータを用いて適切な信号補正が行われるため、演算処理部933と別のデバイスの間の高速通信が可能になる。
【0082】
図4の情報処理装置901によれば、デバイススロット916-iに接続された別のデバイスと演算処理部933の間の高速通信が可能になるため、別のデバイスを問題なく利用することができる。別のデバイスが情報処理装置901のリリース後に出現した新規デバイスであっても、同様の効果が得られる。
【0083】
極端な信号補正の対象となるデバイスが使用される場合であっても、そのデバイスの補正パラメータをあらかじめ設定情報に設定しておくことで、自動的に補正パラメータを記憶部915及び補正部914に設定することができる。
【0084】
図9は、図4の電源制御部913が行う電源制御処理の例を示すフローチャートである。まず、電源制御部913は、制御装置911から制御信号を受信した場合、受信した制御信号をチェックする(ステップ1401)。
【0085】
制御信号がOFFを示している場合(ステップ1401,YES)、電源制御部913は、通常電源P2をONからOFFに切り替えて(ステップ1402)、ステップ1401以降の処理を繰り返す。一方、制御信号がONを示している場合(ステップ1401,NO)、電源制御部913は、通常電源P2をOFFからONに切り替えて(ステップ1403)、ステップ1401以降の処理を繰り返す。
【0086】
図10は、図4の制御部921が行う制御処理の例を示すフローチャートである。まず、制御部921は、イベントを検知したか否かをチェックする(ステップ1501)。
【0087】
イベントを検知した場合(ステップ1501,YES)、制御部921は、検知されたイベントに応じたイベント処理を行って(ステップ1502)、ステップ1501以降の処理を繰り返す。一方、イベントを検知していない場合(ステップ1501,NO)、制御部921は、ステップ1501以降の処理を繰り返す。
【0088】
図11は、図10のステップ1501において検知されたイベントが電源制御指示の受信であった場合に、ステップ1502において行われる第1のイベント処理の例を示すフローチャートである。制御装置911は、ホスト部912又はユーザから、通常電源P2に対する電源制御指示を受信する。電源制御指示は、OFF、ON、又はパワーサイクルの何れかを示す。パワーサイクルは、再起動に対応する。
【0089】
まず、制御部921は、受信した電源制御指示がOFFを示しているか否かをチェックする(ステップ1601)。電源制御指示がOFFを示している場合(ステップ1601,YES)、制御部921は、通信部927を介して、OFFを示す制御信号を電源制御部913へ送信する(ステップ1602)。そして、制御部921は、記憶部922が記憶する電源情報をOFFに設定する(ステップ1603)。
【0090】
一方、電源制御指示がON又はパワーサイクルを示している場合(ステップ1601,NO)、制御部921は、電源制御指示がONを示しているか否かをチェックする(ステップ1604)。電源制御指示がONを示している場合(ステップ1604,YES)、制御部921は、通信部927を介して、ONを示す制御信号を電源制御部913へ送信する(ステップ1605)。そして、制御部921は、記憶部922が記憶する電源情報をONに設定する(ステップ1603)。
【0091】
一方、電源制御指示がパワーサイクルを示している場合(ステップ1604,NO)、制御部921は、通信部927を介して、OFFを示す制御信号を電源制御部913へ送信する(ステップ1606)。次に、制御部921は、一定時間待機した後(ステップ1607)、ONを示す制御信号を電源制御部913へ送信する(ステップ1608)。そして、制御部921は、記憶部922が記憶する電源情報をONに設定する(ステップ1603)。
【0092】
図12は、図10のステップ1501において検知されたイベントがサイドバンド信号の変化であった場合に、ステップ1502において行われる第2のイベント処理の例を示すフローチャートである。制御装置911は、デバイススロット916-i毎にサイドバンド信号を監視し、最初にサイドバンド信号を受信したときと、サイドバンド信号が変化したときに、図12のイベント処理を行う。
【0093】
まず、制御部921は、受信したサイドバンド信号を参照し(ステップ1701)、デバイススロット916-iにおけるデバイスの接続状況が変化したか否かをチェックする(ステップ1702)。
【0094】
デバイスの接続状況が変化していない場合(ステップ1702,NO)、制御部921は、通信部924を介してホスト部912へ出力しているサイドバンド信号を、受信したサイドバンド信号に変更する(ステップ1703)。
【0095】
一方、デバイスの接続状況が変化した場合(ステップ1702,YES)、制御部921は、デバイス未搭載状態からデバイス搭載状態に変化したか否かをチェックする(ステップ1704)。
【0096】
デバイス搭載状態からデバイス未搭載状態に変化した場合(ステップ1704,NO)、制御部921は、ステップ1703の処理を行う。デバイススロット916-iからデバイスが抜去された場合、デバイスの接続状況は、デバイス搭載状態からデバイス未搭載状態に変化する。
【0097】
一方、デバイス未搭載状態からデバイス搭載状態に変化した場合(ステップ1704,YES)、制御部921は、補正パラメータ更新処理を行った後(ステップ1705)、ステップ1703の処理を行う。デバイススロット916-iにデバイスが接続された場合、デバイスの接続状況は、デバイス未搭載状態からデバイス搭載状態に変化する。
【0098】
図13は、図12のステップ1705における補正パラメータ更新処理の例を示すフローチャートである。まず、制御部921は、通信部926を介して、デバイス未搭載状態からデバイス搭載状態に変化したデバイススロット916-iを示す選択指示を、選択部917へ送信する(ステップ1801)。選択部917は、制御装置911から受信した選択指示が示すデバイススロット916-iを選択する。
【0099】
次に、制御部921は、通信部926を介して、選択されたデバイススロット916-iに接続されているデバイスから、ベンダ情報及び種別情報を取得する(ステップ1802)。そして、制御部921は、選択されたデバイススロット916-iを示すスロット番号と、取得されたベンダ情報及び種別情報とを含むデバイス情報を、記憶部922に格納する(ステップ1803)。
【0100】
次に、制御部921は、通信部926を介して、記憶部915からポート番号及び補正パラメータを取得する(ステップ1804)。次に、制御部921は、記憶部922が記憶する設定情報から、デバイス情報に含まれるスロット番号、ベンダ情報、及び種別情報に対応する、ポート番号、補正パラメータ、及び更新命令を取得する(ステップ1805)。
【0101】
そして、制御部921は、設定情報から取得された各ポート番号について、記憶部915から取得された補正パラメータと、設定情報から取得された補正パラメータとを比較する(ステップ1806)。
【0102】
各ポート番号について、記憶部915から取得された補正パラメータと、設定情報から取得された補正パラメータとが一致する場合(ステップ1806,YES)、制御部921は、処理を終了する。
【0103】
一方、設定情報から取得された1つ又は複数のポート番号について、記憶部915から取得された補正パラメータと、設定情報から取得された補正パラメータとが一致しない場合(ステップ1806,NO)、制御部921は、ステップ1807の処理を行う。ステップ1807において、制御部921は、通信部926を介して、記憶部915内で、設定情報から取得された各ポート番号に対応付けられた補正パラメータを、設定情報から取得された補正パラメータに更新する。
【0104】
次に、制御部921は、記憶部922が記憶する電源情報を参照して(ステップ1808)、通常電源P2がON又はOFFの何れであるかをチェックする(ステップ1809)。通常電源P2がOFFである場合(ステップ1809,NO)、制御部921は、処理を終了する。
【0105】
一方、通常電源P2がONである場合(ステップ1809,YES)、制御部921は、通信部926を介して、設定情報から取得された更新命令を補正部914へ送信する(ステップ1810)。これにより、制御部921は、補正部914内で、デバイス情報のスロット番号に対応する各ポート番号に対応付けて設定されている補正パラメータを、更新命令に含まれる補正パラメータに更新する。
【0106】
図14は、図4の演算処理部933が行う通信初期化処理の例を示すフローチャートである。演算処理部933は、通常電源P2がONになったとき、図14の通信初期化処理を行う。
【0107】
まず、演算処理部933は、制御装置911から受信した各デバイススロット916-iのサイドバンド信号を参照して、デバイスの接続状況がデバイス搭載状態であるか否かをチェックする(ステップ1901)。
【0108】
デバイスの接続状況がデバイス搭載状態である場合(ステップ1901,YES)、演算処理部933は、通信部934を介して、デバイススロット916-iに接続されたデバイスとの通信を初期化する(ステップ1902)。これにより、デバイスの組み込みが行われ、演算処理部933とデバイスの間の高速通信が可能になる。
【0109】
デバイスの接続状況がデバイス未搭載状態である場合(ステップ1901,NO)、演算処理部933は、処理を終了する。
【0110】
図14の通信初期化処理が終了すると、OS(Operating System)が起動し、演算処理部933は、記憶部935を利用して各種情報処理を開始する。
【0111】
図15は、図4の補正部914が行う補正パラメータ設定処理の例を示すフローチャートである。補正部914は、通常電源P2がONになったとき、図15の補正パラメータ設定処理を行う。
【0112】
まず、補正部914は、記憶部915から通信経路943を介して、各ポート番号に対応する補正パラメータを取得する(ステップ2001)。そして、補正部914は、取得された補正パラメータを、そのポート番号が示すポートに対応する補正パラメータとして設定する(ステップ2002)。
【0113】
次に、補正部914は、制御装置911から命令を受信したか否かをチェックする(ステップ2003)。制御装置911は、例えば、更新命令又は読み出し命令の何れかを補正部914へ送信する。
【0114】
命令を受信した場合(ステップ2003,YES)、補正部914は、受信した命令を実行して(ステップ2004)、ステップ2003以降の処理を繰り返す。一方、命令を受信していない場合(ステップ2003,NO)、補正部914は、ステップ2003以降の処理を繰り返す。
【0115】
図16は、図15のステップ2004における命令実行処理の例を示すフローチャートである。まず、補正部914は、受信した命令が更新命令であるか否かをチェックする(ステップ2101)。
【0116】
受信した命令が更新命令である場合(ステップ2101,YES)、補正部914は、更新命令に含まれるポ-ト番号が示すポートに設定されている補正パラメータを、更新命令に含まれる補正パラメータに更新する(ステップ2102)。そして、補正部914は、更新結果を示す応答を制御装置911へ送信する(ステップ2103)。
【0117】
一方、受信した命令が読み出し命令である場合(ステップ2101,NO)、補正部914は、読み出し命令に含まれるポ-ト番号が示すポートに設定されている補正パラメータを含む応答を、制御装置911へ送信する(ステップ2104)。
【0118】
図17は、図4の情報処理装置901に常時電源P1の電力が供給される前に、デバイススロット916-iにデバイスが接続された場合の第1の動作の例を示すフローチャートである。
【0119】
まず、ユーザは、何れかのデバイススロット916-iにデバイスを接続し(ステップ2201)、情報処理装置901にACケーブルを接続する(ステップ2202)。これにより、制御装置911、記憶部915、及びデバイスに、常時電源P1の電力が供給される。
【0120】
制御部921は、図10の制御処理を行い、図12のステップ1705において補正パラメータ更新処理を行う。そして、制御部921は、図13のステップ1807において、記憶部915内で、設定情報から取得された各ポート番号に対応付けられた補正パラメータを、設定情報から取得された補正パラメータに更新する(ステップ2203)。この場合、通常電源P2がOFFであるため、ステップ1810の処理はスキップされる。
【0121】
次に、ユーザは、通常電源P2をONにする電源制御指示を制御装置911へ送信する(ステップ2204)。図11のステップ1605において、制御部921は、ONを示す制御信号を電源制御部913へ送信し、図9のステップ1403において、電源制御部913は、通常電源P2をOFFからONに切り替える。これにより、ホスト部912、補正部914、及びデバイスに、通常電源P2の電力が供給される。
【0122】
補正部914は、図15の補正パラメータ設定処理を行い、ステップ2002において、記憶部915から取得された各ポート番号に対応する補正パラメータを、そのポート番号が示すポートに対応する補正パラメータとして設定する(ステップ2205)。これにより、デバイススロット916-iに接続されたデバイス用の補正パラメータが、補正部914に設定される。
【0123】
次に、演算処理部933は、図14の通信初期化処理を行う。デバイスに適した補正パラメータが補正部914に設定されているため、通信初期化処理が終了すると、デバイスに対するリンクアップが成功し、演算処理部933とデバイスの間の高速通信が可能になる。したがって、情報処理装置901は、接続されたデバイスを利用した情報処理を行うことができる。
【0124】
一方、デバイスの活性交換では、常時電源P1の電力が供給されている状態で、デバイススロット916-iからデバイスが抜去され、そのデバイススロット916-iに別のデバイスが接続される。
【0125】
図18は、図4の情報処理装置901に常時電源P1の電力が供給されている状態で、デバイススロット916-iにデバイスが接続された場合の第2の動作の例を示すフローチャートである。
【0126】
まず、ユーザは、情報処理装置901にACケーブルを接続する(ステップ2301)。これにより、制御装置911、記憶部915、及びデバイスに、常時電源P1の電力が供給される。
【0127】
次に、ユーザは、通常電源P2をONにする電源制御指示を制御装置911へ送信する(ステップ2302)。制御部921は、図10の制御処理を行い、図11のステップ1605において、ONを示す制御信号を電源制御部913へ送信し、図9のステップ1403において、電源制御部913は、通常電源P2をOFFからONに切り替える。これにより、ホスト部912、補正部914、及びデバイスに、通常電源P2の電力が供給される。
【0128】
補正部914は、図15の補正パラメータ設定処理を行い、ステップ2002において、記憶部915から取得された各ポート番号に対応する補正パラメータを、そのポート番号が示すポートに対応する補正パラメータとして設定する。
【0129】
次に、ユーザは、何れかのデバイススロット916-iにデバイスを接続する(ステップ2303)。ユーザは、何れかのデバイススロット916-iからデバイスを抜去した後に、そのデバイススロット916-iに別のデバイスを接続してもよい。
【0130】
制御部921は、図12のステップ1705において補正パラメータ更新処理を行う。そして、制御部921は、図13のステップ1807において、記憶部915内で、設定情報から取得された各ポート番号に対応付けられた補正パラメータを、設定情報から取得された補正パラメータに更新する(ステップ2304)。
【0131】
この場合、通常電源P2がONであるため、制御部921は、ステップ1810において、設定情報から取得された更新命令を補正部914へ送信する(ステップ2305)。そして、補正部914は、図16のステップ2102において、更新命令に含まれるポート番号が示すポートに設定されている補正パラメータを、更新命令に含まれる補正パラメータに更新する。これにより、デバイススロット916-iに接続されたデバイス用の補正パラメータが、補正部914に設定される。
【0132】
次に、演算処理部933は、図14の通信初期化処理を行う。デバイスに適した補正パラメータが補正部914に設定されているため、通信初期化処理が終了すると、デバイスに対するリンクアップが成功し、演算処理部933とデバイスの間の高速通信が可能になる。
【0133】
このように、情報処理装置901はデバイスの活性交換にも対応しており、常時電源P1の電力が供給されている状態でデバイススロット916-iにデバイスが接続された場合であっても、デバイスに対するリンクアップが成功する。したがって、情報処理装置901は、接続されたデバイスを利用した情報処理を行うことができる。
【0134】
図19は、図4の情報処理装置901のハードウェア構成例を示している。図19の情報処理装置2401は、BMC2411、インタフェース(interface,IF)2412、IF2413、CPU2414、IF2415、及びメモリ2416を含む。情報処理装置2401は、電源制御回路2417、信号補正回路2418、ROM2419、デバイススロット2420-1~デバイススロット2420-3、及びマルチプレクサ(multiplexer,MUX)2421をさらに含む。これらの構成要素は、ハードウェアである。
【0135】
BMC2411は、CPU2431、メモリ2432、及びIF2433~IF2437を含む。これらの構成要素は、ハードウェアである。
【0136】
BMC2411は、図4の制御装置911として動作する。CPU2431、メモリ2432、及びIF2433~IF2437は、図4の制御部921、記憶部922、及び通信部923~通信部927としてそれぞれ動作する。
【0137】
IF2412、IF2413、CPU2414、IF2415、及びメモリ2416は、図4の通信部931、通信部932、演算処理部933、通信部934、及び記憶部935としてそれぞれ動作する。電源制御回路2417、信号補正回路2418、ROM2419、及びMUX2421は、図4の電源制御部913、補正部914、記憶部915、及び選択部917としてそれぞれ動作する。
【0138】
デバイススロット2420-i(i=1~3)は、図4のデバイススロット916-iに対応する。デバイススロット2420-iの個数は、3個に限られず、N個(Nは1以上の整数)であってもよい。
【0139】
IF2415は、高速通信の通信経路2441-1及び通信経路2441-2を介して、各デバイススロット2420-iに接続されたデバイスと通信する。BMC2411のIF2436は、低速通信の通信経路2443を介して、信号補正回路2418、ROM2419、及びMUX2421と通信する。
【0140】
BMC2411のIF2434は、通信経路2442を介して、各デバイススロット2420-iに接続されたデバイスと通信し、通信経路2444を介して、IF2412と通信する。
【0141】
通信経路2441-1、通信経路2441-2、通信経路2442、通信経路2443、及び通信経路2444は、図4の通信経路941-1、通信経路941-2、通信経路942、通信経路943、及び通信経路944にそれぞれ対応する。
【0142】
通信経路2441-1及び通信経路2441-2は、例えば、PCIeに基づく通信経路であり、通信経路2443は、例えば、I2C(Inter-Integrated Circuit)に基づく通信経路である。通信経路2442及び通信経路2444は、例えば、PCIeのサイドバンド信号用の通信経路である。IF2415は、例えば、PCIeインタフェースであり、IF2413、IF2435、及びIF2436は、例えば、I2Cインタフェースである。デバイススロット2420-iは、例えば、PCIeスロットである。
【0143】
メモリ2416及びメモリ2432は、RAM(Random Access Memory)等の半導体メモリである。ROM2419は、EEPROM(Electrically Erasable Programmable Read-Only Memory)であってもよい。IF2433は、例えば、LAN(Local Area Network)インタフェースである。
【0144】
メモリ2416は、情報処理に用いられるプログラムX1及びデータを記憶する。CPU2414は、メモリ2416を利用してプログラムX1を実行することにより、演算処理部933として動作する。
【0145】
メモリ2432は、BMC2411の処理に用いられるプログラムX2(ファームウェア)及びデータを記憶する。CPU2431は、メモリ2432を利用してプログラムX2を実行することにより、制御部921として動作する。
【0146】
デバイススロット2420-iに接続されたデバイスがSSDである場合、SSDは、プログラムX1及びプログラムX2を記憶することができる。この場合、プログラムX1及びプログラムX2は、SSDからメモリ2416及びメモリ2432にそれぞれロードされる。
【0147】
デバイススロット2420-iに接続されたデバイスが媒体駆動装置である場合、媒体駆動装置は、可搬型記録媒体2451を駆動し、その記録内容にアクセスする。可搬型記録媒体2451は、プログラムX1及びプログラムX2を記憶することができる。この場合、プログラムX1及びプログラムX2は、可搬型記録媒体2451からメモリ2416及びメモリ2432にそれぞれロードされる。
【0148】
可搬型記録媒体2451は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体2451は、CD-ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ等であってもよい。
【0149】
このように、プログラムX1及びプログラムX2を格納するコンピュータ読み取り可能な記録媒体は、メモリ2416、メモリ2432、SSD、又は可搬型記録媒体2451のような、物理的な(非一時的な)記録媒体である。
【0150】
図2の情報処理装置701、図4の情報処理装置901、及び図19の情報処理装置2401の構成は一例に過ぎず、情報処理装置の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0151】
図1のサーバ601の構成は一例に過ぎず、サーバ601の用途又は条件に応じて一部の構成要素を省略又は変更してもよい。
【0152】
図3及び図9図18のフローチャートは一例に過ぎず、情報処理装置の構成又は条件に応じて、一部の処理を省略又は変更してもよい。
【0153】
図5に示した信号補正データ、図6に示したデバイス情報、図7に示した設定情報、及び図8に示したサイドバンド信号は、一例に過ぎない。情報処理装置901の構成又は条件に応じて、別の形式の信号補正データ、デバイス情報、設定情報、及びサイドバンド信号を用いてもよい。
【0154】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0155】
図1乃至図19を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
デバイスが接続される接続部と、
前記接続部に接続された前記デバイスと第1通信経路を介して通信する演算処理部と、
前記第1通信経路における信号を補正する補正部と、
前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、前記識別情報に基づいて、前記信号を補正するための第1補正情報を第2補正情報に更新し、前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する制御部と、
を備え、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする情報処理装置。
(付記2)
前記演算処理部は、前記制御部から前記更新完了信号を受信した場合、前記第1通信経路を介して、前記演算処理部と前記デバイスとの通信を開始することを特徴とする付記1記載の情報処理装置。
(付記3)
前記第1補正情報を記憶する補正情報記憶部をさらに備え、
前記制御部は、前記補正部に電力が供給されていない場合、前記識別情報に基づいて、前記補正情報記憶部が記憶する前記第1補正情報を前記第2補正情報に更新し、
前記補正部は、前記補正部に前記電力が供給されたとき、前記補正情報記憶部から前記第2補正情報を取得することを特徴とする付記1又は2記載の情報処理装置。
(付記4)
前記制御部は、前記補正部に電力が供給されている場合、前記識別情報に基づいて、前記補正部に設定されている前記第1補正情報を前記第2補正情報に更新することを特徴とする付記1又は2記載の情報処理装置。
(付記5)
前記識別情報と対応付けて前記第2補正情報を記憶する対応関係記憶部をさらに備え、
前記制御部は、前記識別情報に基づいて、前記対応関係記憶部から前記第2補正情報を取得することを特徴とする付記1又は2記載の情報処理装置。
(付記6)
接続部に接続されたデバイスと第1通信経路を介して通信する演算処理部を含む情報処理装置において、前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、
前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、
前記識別情報に基づいて、前記第1通信経路における信号を補正するための第1補正情報を第2補正情報に更新し、
前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する、
処理をプロセッサが実行し、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする信号補正方法。
(付記7)
前記演算処理部は、前記制御部から前記更新完了信号を受信した場合、前記第1通信経路を介して、前記演算処理部と前記デバイスとの通信を開始することを特徴とする付記6記載の信号補正方法。
(付記8)
前記第1補正情報を前記第2補正情報に更新する処理は、前記第1通信経路における信号を補正する補正部に電力が供給されていない場合、前記識別情報に基づいて、補正情報記憶部が記憶する前記第1補正情報を前記第2補正情報に更新する処理を含み、
前記補正部は、前記補正部に前記電力が供給されたとき、前記補正情報記憶部から前記第2補正情報を取得することを特徴とする付記6又は7記載の信号補正方法。
(付記9)
前記第1補正情報を前記第2補正情報に更新する処理は、前記補正部に電力が供給されている場合、前記識別情報に基づいて、前記第1通信経路における信号を補正する補正部に設定されている前記第1補正情報を前記第2補正情報に更新する処理を含むことを特徴とする付記6又は7記載の信号補正方法。
(付記10)
前記識別情報と対応付けて前記第2補正情報を記憶する対応関係記憶部から、前記識別情報に基づいて、前記第2補正情報を取得する処理を、前記プロセッサがさらに実行することを特徴とする付記6又は7記載の信号補正方法。
(付記11)
プロセッサのための信号補正プログラムであって、
前記信号補正プログラムは、
接続部に接続されたデバイスと第1通信経路を介して通信する演算処理部を含む情報処理装置において、前記接続部に前記デバイスが接続されたとき、前記デバイスから第2通信経路を介して、前記接続部に前記デバイスが接続されたことを示す接続信号を受信し、
前記接続信号に基づいて、前記デバイスから第3通信経路を介して、前記デバイスを示す識別情報を取得し、
前記識別情報に基づいて、前記第1通信経路における信号を補正するための第1補正情報を第2補正情報に更新し、
前記第1補正情報を前記第2補正情報に更新した後に、第4通信経路を介して前記演算処理部へ更新完了信号を送信する、
処理を前記プロセッサに実行させ、
前記第1通信経路は、前記接続部と前記演算処理部との間の通信経路であり、前記第2通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第3通信経路は、前記接続部と前記制御部との間の通信経路であり、前記第4通信経路は、前記制御部と前記演算処理部との間の通信経路であることを特徴とする信号補正プログラム。
(付記12)
前記演算処理部は、前記制御部から前記更新完了信号を受信した場合、前記第1通信経路を介して、前記演算処理部と前記デバイスとの通信を開始することを特徴とする付記11記載の信号補正プログラム。
(付記13)
前記第1補正情報を前記第2補正情報に更新する処理は、前記第1通信経路における信号を補正する補正部に電力が供給されていない場合、前記識別情報に基づいて、補正情報記憶部が記憶する前記第1補正情報を前記第2補正情報に更新する処理を含み、
前記補正部は、前記補正部に前記電力が供給されたとき、前記補正情報記憶部から前記第2補正情報を取得することを特徴とする付記11又は12記載の信号補正プログラム。
(付記14)
前記第1補正情報を前記第2補正情報に更新する処理は、前記補正部に電力が供給されている場合、前記識別情報に基づいて、前記第1通信経路における信号を補正する補正部に設定されている前記第1補正情報を前記第2補正情報に更新する処理を含むことを特徴とする付記11又は12記載の信号補正プログラム。
(付記15)
前記識別情報と対応付けて前記第2補正情報を記憶する対応関係記憶部から、前記識別情報に基づいて、前記第2補正情報を取得する処理を、前記プロセッサにさらに実行させることを特徴とする付記11又は12記載の信号補正プログラム。
【符号の説明】
【0156】
601 サーバ
611 BMC
612、2414、2431 CPU
613、2418 信号補正回路
614、2419 ROM
615-1~615-3、916-1~916-3、2420-1~2420-3 デバイススロット
621-1、621-2、622、941-1、941-2、942、943、944、2441-1、2441-2、2442、2443、2444 通信経路
701、901、2401 情報処理装置
711、933 演算処理部
712、914 補正部
713 接続部
714、921 制御部
911 制御装置
912 ホスト部
913 電源制御部
915、922、935 記憶部
917 選択部
923、924、925、926、927、931、932、934 通信部
2416、2432 メモリ
2417 電源制御回路
2421 MUX
2451 可搬型記録媒体
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19