(57)【要約】【課題】メモリコントローラとＨＢＭとの間の通信の安定性を高める。【解決手段】メモリコントローラ１１ｂは、通信線群１３ａ，１３ｂの各々に含まれる通信線を伝播する信号のエラーレートを計測し、通信線群１３ａ，１３ｂのうち通信線群１３ａに属す第１の通信線を伝播する信号の第１のエラーレートが閾値ＴＨ１を超えたとき、第１の通信線の代りに予備線１３ｃを用いてＨＢＭ１２と通信を行い、第１の通信線の代りに予備線１３ｃが用いられているとき、第１のエラーレートが閾値ＴＨ１より高い閾値ＴＨ２よりも低く、通信線群１３ａ，１３ｂのうち通信線群１３ｂに属す第２の通信線を伝播する信号の第２のエラーレートが閾値ＴＨ２よりも高い場合、第２の通信線の代りに予備線１３ｃを用いるとともに、第１の通信線を用いてＨＢＭ１２との通信を行うように使用する通信線を切り替える。【選択図】図１
2020013446.tif 000002
【特許請求の範囲】
【請求項１】
２つの通信線群ごとに１つの予備線が設けられた複数の通信線によりＨＢＭに接続されており、前記２つの通信線群の各々に含まれる通信線を伝播する信号のエラーレートを計測し、前記２つの通信線群のうち第１の通信線群に属す第１の通信線を伝播する信号の第１のエラーレートが第１の閾値を超えたとき、前記第１の通信線の代りに前記予備線を用いて前記ＨＢＭと通信を行い、前記第１の通信線の代りに前記予備線が用いられているとき、前記第１のエラーレートが前記第１の閾値より高い第２の閾値よりも低く、前記２つの通信線群のうち第２の通信線群に属す第２の通信線を伝播する信号の第２のエラーレートが前記第２の閾値よりも高い場合、前記第２の通信線の代りに前記予備線を用いるとともに、前記第１の通信線を用いて前記ＨＢＭとの通信を行うように使用する前記通信線を切り替えるメモリコントローラと、
前記メモリコントローラを介して、前記ＨＢＭと情報の送受信を行うプロセッサコア部と、
を有するプロセッサ。
【請求項２】
前記メモリコントローラは、
前記エラーレートと前記第１の閾値及び前記第２の閾値との比較結果に基づいて、不使用とする前記第１の通信線または前記第２の通信線を示す設定情報を生成する交代箇所判定部と、
前記エラーレートを計測するとともに前記エラーレートを前記交代箇所判定部に供給し、前記設定情報を前記交代箇所判定部から取得し、前記設定情報に基づいて、前記第１の通信線または前記第２の通信線の代りに前記予備線を用いた通信を行う制御部と、
を有する請求項１に記載のプロセッサ。
【請求項３】
前記交代箇所判定部は、
前記第１の通信線群及び前記第２の通信線群において、前記エラーレートと前記第１の閾値との比較結果に基づいて使用する前記通信線を切り替えたか否かを示す第１のフラグと、前記エラーレートと前記第２の閾値との比較結果に基づいて、使用する前記通信線を切り替えたか否かを示す第２のフラグとを保持する保持部と、
前記エラーレートと前記第１の閾値または前記第２の閾値との比較結果と、前記第１のフラグと前記第２のフラグとに基づいて、前記第１の通信線の代りに前記予備線を用いて前記ＨＢＭと通信を行うか否か、または、前記第２の通信線の代りに前記予備線を用いて前記ＨＢＭと通信を行うか否か、を決定する決定部と、
を有する請求項２に記載のプロセッサ。
【請求項４】
前記第２の閾値は、通信可能な前記エラーレートの上限値、または、通信が不可能な前記エラーレートである、請求項１乃至３の何れか一項に記載のプロセッサ。
【請求項５】
ＨＢＭと、
２つの通信線群ごとに１つの予備線が設けられた複数の通信線により前記ＨＢＭに接続されており、前記２つの通信線群の各々に含まれる通信線を伝播する信号のエラーレートを計測し、前記２つの通信線群のうち第１の通信線群に属す第１の通信線を伝播する信号の第１のエラーレートが第１の閾値を超えたとき、前記第１の通信線の代りに前記予備線を用いて前記ＨＢＭと通信を行い、前記第１の通信線の代りに前記予備線が用いられているとき、前記第１のエラーレートが前記第１の閾値より高い第２の閾値よりも低く、前記２つの通信線群のうち第２の通信線群に属す第２の通信線を伝播する信号の第２のエラーレートが前記第２の閾値よりも高い場合、前記第２の通信線の代りに前記予備線を用いるとともに、前記第１の通信線を用いて前記ＨＢＭとの通信を行うように使用する前記通信線を切り替えるメモリコントローラと、前記メモリコントローラを介して、前記ＨＢＭと情報の送受信を行うプロセッサコア部と、を備えたプロセッサと、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ及び情報処理装置に関する。
【背景技術】
【０００２】
近年、ＣｏＷｏＳ（Taiwan Semiconductor Manufacturing Company Limitedの登録商標）のような新しい積層技術が開発され、プロセッサとメモリを同一パッケージ内に搭載する実装が増え始めている。しかし、このことが搭載部品ごとの交換を困難にしており、歩留まりや修理コストの悪化を招く場合があった。
【０００３】
そこで、上記の積層技術により製造されるメモリであるＨＢＭ（High Bandwidth Memory）とそのメモリコントローラには、両者を接続する通信線に障害があった場合に、障害が発生した通信線の代りに予備線を用いて通信を行う機能がある。
【０００４】
なお、ＨＢＭとそのメモリコントローラが用いる予備線は、２つの通信線群（各通信線群はデータ信号、データマスク信号、データ反転制御信号を伝播する）ごとに１つ設けられている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−２４１０８２号公報
【特許文献２】特開２０１０−１１３７５１号公報
【非特許文献】
【０００６】
【非特許文献１】SK Hynix, ”TSV based Memory Solutions Engaging in IoT & IoE Trend”, p.25, [online], 2015, MemCon, Santa Clara, [平成30年5月29日検索], インターネット<http://www.memcon.com/pdfs/proceedings2015/MKT105_SKhynix.pdf>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように予備線は、２つの通信線群ごとに１つしか設けられていない。そのため、２つの通信線群のうち既に一方の通信線群において予備線が使用されている場合、他方の通信線群に、上記一方の通信線群に含まれる通信線よりもエラーレートの高い通信線があっても、他方の通信線群ではその予備線を使用することができない。これにより、通信の安定性が損なわれる可能性があった。
【０００８】
１つの側面では、本発明は、メモリコントローラとＨＢＭとの間の通信の安定性を高めることを目的とする。
【課題を解決するための手段】
【０００９】
１つの実施態様では、２つの通信線群ごとに１つの予備線が設けられた複数の通信線によりＨＢＭに接続されており、前記２つの通信線群の各々に含まれる通信線を伝播する信号のエラーレートを計測し、前記２つの通信線群のうち第１の通信線群に属す第１の通信線を伝播する信号の第１のエラーレートが第１の閾値を超えたとき、前記第１の通信線の代りに前記予備線を用いて前記ＨＢＭと通信を行い、前記第１の通信線の代りに前記予備線が用いられているとき、前記第１のエラーレートが前記第１の閾値より高い第２の閾値よりも低く、前記２つの通信線群のうち第２の通信線群に属す第２の通信線を伝播する信号の第２のエラーレートが前記第２の閾値よりも高い場合、前記第２の通信線の代りに前記予備線を用いるとともに、前記第１の通信線を用いて前記ＨＢＭとの通信を行うように使用する前記通信線を切り替えるメモリコントローラと、前記メモリコントローラを介して、前記ＨＢＭと情報の送受信を行うプロセッサコア部と、を有するプロセッサが提供される。
【００１０】
また、１つの実施態様では、情報処理装置が提供される。
【発明の効果】
【００１１】
１つの側面では、本発明は、メモリコントローラとＨＢＭとの間の通信の安定性を高められる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の情報処理装置の一例を示す図である。
【図２】２つの通信線群の各々において１つの通信線を不使用とする例を示す図である。
【図３】第２の実施の形態の情報処理装置及びプロセッサの一例を示す図である。
【図４】初期状態における第１交代フラグと第２交代フラグの例を示す図である。
【図５】初期状態における切替部の状態を模式的に示す図である。
【図６】交代箇所判定部の動作の一例の流れを示すフローチャートである。
【図７】第１交代フラグの変更例を示す図である。
【図８】使用する通信線を切り替えた例を示す図である。
【図９】第２交代フラグの変更例を示す図である。
【図１０】予備線が使用されている状態で第２交代フラグがオンした場合の通信線の切り替え例を示す図である。
【発明を実施するための形態】
【００１３】
以下、発明を実施するための形態を、図面を参照しつつ説明する。
（第１の実施の形態）
図１は、第１の実施の形態の情報処理装置の一例を示す図である。
【００１４】
情報処理装置１０は、プロセッサ１１、ＨＢＭ１２、プロセッサ１１とＨＢＭ１２とを接続する通信線群１３ａ，１３ｂ及び予備線１３ｃを有する。
プロセッサ１１は、たとえば、ＣＰＵ（Central Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＧＰＵ（Graphics Processing Unit）などであり、プロセッサコア部１１ａとメモリコントローラ１１ｂを有する。
【００１５】
プロセッサコア部１１ａは、プロセッサコアの他、キャッシュメモリなどを有し、メモリコントローラ１１ｂを介して、ＨＢＭ１２と情報の送受信を行う。
メモリコントローラ１１ｂは、２つの通信線群ごとに１つの予備線が設けられた複数の通信線によりＨＢＭ１２に接続されている。
【００１６】
以下では、説明を簡略化するために、複数の通信線として、２つの通信線群１３ａ，１３ｂと予備線１３ｃが用いられている例を示す。通信線群１３ａは、通信線１３ａ１，１３ａ２，１３ａ３，…，１３ａ９，１３ａ１０を含む。通信線群１３ａの１つの通信線として予備線１３ｃが使用されない場合には、通信線１３ａ１〜１３ａ１０により、データ信号ＤＱ０，ＤＱ１，…，ＤＱ７と、後述するデータマスク信号ＤＭ及びデータ反転制御信号ＤＢＩが伝播される。通信線群１３ｂは、通信線１３ｂ１，１３ｂ２，１３ｂ３，…，１３ｂ９，１３ｂ１０を含み、通信線群１３ｂの１つの通信線として予備線１３ｃが使用されない場合には、通信線１３ａ１〜１３ａ１０により、上記と同様の信号が伝播される。
【００１７】
メモリコントローラ１１ｂは、アクセスリクエスト制御部１１ｂ１、ＨＢＭ制御部１１ｂ２、交代箇所判定部１１ｂ３を有する。
アクセスリクエスト制御部１１ｂ１は、プロセッサコア部１１ａから供給されるＨＢＭ１２へのアクセス要求、ライトデータなどに基づいて、データマスク信号ＤＭ、データ信号ＤＱ０〜ＤＱ７、データ反転制御信号ＤＢＩを出力する。また、アクセスリクエスト制御部１１ｂ１は、ＨＢＭ１２から読み出されたリードデータを、データ信号ＤＱ０〜ＤＱ７として受け、プロセッサコア部１１ａに伝える。
【００１８】
また、アクセスリクエスト制御部１１ｂ１は、ライトデータの各ビットの論理レベルがＨ（High）よりもＬ（Low）の方が多い場合、ライトデータの各ビットの論理レベルを反転したデータ信号ＤＱ０〜ＤＱ７を生成する機能を有する。ＨＢＭ１２では、論理レベルがＨの信号を処理するよりも、論理レベルがＬの信号を処理するほうが、消費電力が高くなるためである。
【００１９】
データマスク信号ＤＭは、データ信号ＤＱ０〜ＤＱ７をマスクするための信号であり、たとえば、データマスク信号ＤＭの論理レベルがＨの場合、データ信号ＤＱ０〜ＤＱ７は、ＨＢＭ１２にライトされない。
【００２０】
データ反転制御信号ＤＢＩは、アクセスリクエスト制御部１１ｂ１がライトデータの各ビットの論理レベルを反転したか否かを示す信号である。
なお、メモリコントローラ１１ｂとＨＢＭ１２との間で送受信される情報は他にもあるが（アドレス情報など）、簡略化のため説明を省略する。
【００２１】
ＨＢＭ制御部１１ｂ２は、切替部１１ｂ２１、エラーレート計測部１１ｂ２２、交代箇所設定部１１ｂ２３を有する。
切替部１１ｂ２１は、交代箇所設定部１１ｂ２３に設定される設定情報に基づいて、使用する通信線を切り替える。
【００２２】
エラーレート計測部１１ｂ２２は、通信線群１３ａ，１３ｂの各々に含まれる通信線１３ａ１〜１３ａ１０，１３ｂ１〜１３ｂ１０を伝播する信号のエラーを検出し、所定期間のエラー数をカウントすることで、エラーレートを計測する。通信線群１３ａ，１３ｂの各々に含まれる通信線１３ａ１〜１３ａ１０，１３ｂ１〜１３ｂ１０を伝播する信号のエラーは、たとえば、ＨＢＭ１２に格納されるＥＣＣ（Error Check Code）を用いて検出できる。
【００２３】
交代箇所設定部１１ｂ２３には、交代箇所判定部１１ｂ３から取得された設定情報が設定される。交代箇所設定部１１ｂ２３は、たとえば、複数のレジスタによって実現される。
【００２４】
交代箇所判定部１１ｂ３は、エラーレートと２つの閾値ＴＨ１，ＴＨ２（ＴＨ１＜ＴＨ２）との比較結果に基づいて、交代箇所（不使用とする通信線）を示す設定情報を生成する。交代箇所判定部１１ｂ３は、通信線群１３ａ，１３ｂのうち、たとえば、通信線群１３ａに属す通信線を伝播する信号のエラーレートが閾値ＴＨ１を超えたとき、その通信線を交代箇所とする。この場合、予備線１３ｃは、通信線群１３ａの１つの通信線として用いられる。通信線群１３ａに属す通信線の代りに予備線１３ｃが用いられているとき、その通信線のエラーレートが閾値ＴＨ２よりも低い場合で、通信線群１３ｂに属す通信線を伝播する信号のエラーレートが閾値ＴＨ２よりも高くなったとする。このとき、交代箇所判定部１１ｂ３は、通信線群１３ｂに属すその通信線を交代箇所とする。この場合、予備線１３ｃは、通信線群１３ｂの１つの通信線として用いられ、不使用とされていた通信線群１３ａに属す通信線は、ＨＢＭ１２との通信に用いられる。
【００２５】
なお、閾値ＴＨ１は、たとえば、通信可能な程度（安定的な通信ができない程度）のエラーレートであり、閾値ＴＨ２は、たとえば、まったく通信ができないような高いエラーレートである。閾値ＴＨ２は、通信が可能なエラーレートの上限値であってもよい。
【００２６】
以下、情報処理装置１０による、通信線の交代動作の例を説明する。
初めは、予備線１３ｃは用いられていないものとする。交代箇所判定部１１ｂ３は、所定期間ごとにエラーレート計測部１１ｂ２２から各通信線を伝播する信号のエラーレートを受ける。
【００２７】
交代箇所判定部１１ｂ３は、たとえば、通信線群１３ａの通信線１３ａ３を伝播する信号（図１の例ではデータ信号ＤＱ１）のエラーレートＢＥＲ１が、閾値ＴＨ１を超えた場合、通信線１３ａ３を交代箇所とする設定情報を生成する。この設定情報は、交代箇所設定部１１ｂ２３に設定される。そして、切替部１１ｂ２１は、交代箇所設定部１１ｂ２３に設定される設定情報に基づいて、通信線１３ａ３を不使用とし、代わりに予備線１３ｃを用いた通信を行うように、使用する通信線を切り替える。
【００２８】
また、図示を省略しているが、ＨＢＭ１２にも、切替部１１ｂ２１と交代箇所設定部１１ｂ２３に相当する要素が含まれる。交代箇所判定部１１ｂ３が生成した設定情報は、ＨＢＭ１２に送られ、その設定情報に基づいて、ＨＢＭ１２内でも上記の切替部１１ｂ２１と同様の動作が行われる。
【００２９】
通信線１３ａ３の代りに予備線１３ｃが用いられているとき、エラーレートＢＥＲ１が閾値ＴＨ２よりも低く、通信線群１３ｂに属す通信線１３ｂ２を伝播する信号（図１の例ではデータ信号ＤＱ０）のエラーレートＢＥＲ２が閾値ＴＨ２よりも高くなったとする。この場合、交代箇所判定部１１ｂ３は、通信線１３ｂ２を交代箇所とする設定情報を生成する。この設定情報は、上記と同様に交代箇所設定部１１ｂ２３に設定される。そして、切替部１１ｂ２１は、交代箇所設定部１１ｂ２３に設定される設定情報に基づいて、通信線１３ｂ２を不使用とし、代わりに予備線１３ｃを用いた通信を行うように、使用する通信線を切り替える。
【００３０】
なお、このとき切替部１１ｂ２１は、通信線１３ｂ２と予備線１３ｃとを直接入れ替えるのではなく、図１に示されているように、通信線１３ｂ２の隣の通信線１３ｂ１を通信線１３ｂ２の代りにデータ信号ＤＱ０を伝播するように切り替えてもよい。この場合、切替部１１ｂ２１は、通信線１３ｂ１により伝播されていたデータ反転制御信号ＤＢＩが、予備線１３ｃを用いて伝播されるように切り替えを行う。このような切り替えを行う切替部１１ｂ２１は、設定情報に基づいて、２つの信号のうち一方を、通信線１３ａ１〜１３ａ１０，１３ｂ１〜１３ｂ１０、予備線１３ｃの何れかに出力する複数の２入力セレクタを用いて実現できる。
【００３１】
また、切替部１１ｂ２１は、不使用となっていた通信線１３ａ３を使用して通信を行うように、使用する通信線を切り替える。ＨＢＭ１２でも同様の動作が行われる。
以上のような、情報処理装置１０及びプロセッサ１１によれば、２つの通信線群１３ａ，１３ｂごと１つ設けられる予備線１３ｃが、エラーレートがより高い通信線が属す通信線群で優先的に用いられるため、より悪い通信線が救済され通信の安定性が高まる。
【００３２】
また、閾値ＴＨ２を、まったく通信ができないような高いエラーレートまたは通信可能なエラーレートの上限値とすることで、予備線１３ｃが、通信不可能な通信線が属す通信線群で優先的に用いられるため、通信不可能な状態が生じることを防止できる。
【００３３】
（比較例）
図２は、２つの通信線群の各々において１つの通信線を不使用とする例を示す図である。
【００３４】
図２では、通信線群１３ａにおいて通信線１３ａ２を不使用とし、通信線群１３ｂにおいて通信線１３ｂ３を不使用とする例が示されている。この場合、通信線群１３ａにて伝播させるはずのデータ反転制御信号ＤＢＩと、通信線群１３ｂにて伝播させるはずのデータ反転制御信号ＤＢＩとが、両方、予備線１３ｃに伝播してしまうことになり、データ反転制御信号ＤＢＩは使用できなくなる。このため、ＨＢＭ１２の消費電力が増加してしまう可能性がある。
【００３５】
第１の実施の形態の情報処理装置１０及びプロセッサ１１によれば、予備線１３ｃは、通信線群１３ａ，１３ｂのうち、エラーレートがより高い通信線が属す通信線群で優先的に用いられるため、データ反転制御信号ＤＢＩが犠牲になることがない。
【００３６】
（第２の実施の形態）
図３は、第２の実施の形態の情報処理装置及びプロセッサの一例を示す図である。
情報処理装置２０は、プロセッサ２１、ＨＢＭ２２を有する。
【００３７】
プロセッサ２１は、第１の実施の形態のプロセッサ１１と同様、たとえば、ＣＰＵ、ＤＳＰ、ＧＰＵなどであり、プロセッサコア部２１ａとメモリコントローラ２１ｂを有する。
【００３８】
プロセッサコア部２１ａは、第１の実施の形態のプロセッサ１１のプロセッサコア部１１ａと同じ機能を有する。
メモリコントローラ２１ｂは、２つの通信線群ごとに１つの予備線が設けられた複数の通信線によりＨＢＭ２２に接続されている。図３では、図１に示したような２つの通信線群と１つの予備線が、まとめて１つの矢印で図示されており、２つの通信線群と１つの予備線による通信線のグループが、８つ設けられている。１つの通信線群あたり図１に示したように８ビットのデータ（８つのデータ信号ＤＱ０〜ＤＱ７）が伝播される場合、図３の例では、合計８×２×８＝１２８ビットのデータが伝播される。なお、図示を省略しているが、上記のように８つの矢印で示されている複数の通信線を１チャネルとして、ＨＢＭ２２とメモリコントローラ２１ｂの間には、複数チャネル（たとえば、８つの）が存在していてもよい。他のチャネルを用いて通信を行う構成についても、図３に示した構成と同様である。チャネル数が８つの場合、ＨＢＭ２２とメモリコントローラ２１ｂの間で１２８×８＝１０２４ビットのデータが送受信できる。
【００３９】
なお、２つの通信線群と１つの予備線による通信線のグループの数や、チャネル数は８つに限定されるものではない。
メモリコントローラ２１ｂは、アクセスリクエスト制御部２１ｂａ、ＨＢＭ制御部２１ｂｂ、交代箇所判定部２１ｂｃ１，２１ｂｃ２，…，２１ｂｃ８を有する。
【００４０】
アクセスリクエスト制御部２１ｂａは、第１の実施の形態のプロセッサ１１のアクセスリクエスト制御部１１ｂ１と同じ機能を有する。
ＨＢＭ制御部２１ｂｂは、上記２つの通信線群と１つの予備線による通信線のグループの数に対応して、８つの切替部３０ａ１，３０ａ２，…，３０ａ８と、エラーレート計測部３１と、交代箇所設定部３２と、を有する。
【００４１】
切替部３０ａ１〜３０ａ８の各々は、交代箇所設定部３２に設定される設定情報に基づいて、使用する通信線を切り替える。
エラーレート計測部３１は、各通信線群に含まれる通信線を伝播する信号のエラーを検出し、所定期間のエラー数をカウントすることで、エラーレートを計測する。エラーレート計測部３１は、たとえば、ＥＣＣによりエラーを検出する。そして、エラーレート計測部３１は、上記８つのグループの各々についてのエラーレートの計測結果と、エラーレートを更新させるための更新制御信号を、交代箇所判定部２１ｂｃ１〜２１ｂｃ８のうちの対応する交代箇所判定部に供給する。
【００４２】
交代箇所設定部３２には、交代箇所判定部２１ｂｃ１〜２１ｂｃ８から取得された設定情報が設定される。交代箇所設定部３２は、たとえば、複数のレジスタによって実現される。
【００４３】
なお、ＨＢＭ２２にも、切替部３０ａ１〜３０ａ８と同様の切替部２２ａ１，２２ａ２，…，２２ａ８と、交代箇所設定部３２と同様の交代箇所設定部２２ｂが設けられる。
交代箇所判定部２１ｂｃ１は、閾値保持部３３、エラーレート保持部３４、交代箇所決定部３５、交代フラグ保持部３６、設定情報保持部３７を有する。交代箇所判定部２１ｂｃ２〜２１ｂｃ８も、交代箇所判定部２１ｂｃ１と同様の要素を有している。
【００４４】
閾値保持部３３は、第１の実施の形態の情報処理装置１０の説明で述べたような２つの閾値ＴＨ１，ＴＨ２（ＴＨ１＜ＴＨ２）を保持する。
エラーレート保持部３４は、２つの通信線群に含まれる通信線を伝播する各信号のエラーレートを保持する。また、エラーレート保持部３４は、エラーレート計測部３１から供給される更新制御信号によりエラーレートの更新が指示された場合に、更新制御信号とともに供給されるエラーレートを用いて、保持していたエラーレートを更新する。
【００４５】
交代箇所決定部３５は、エラーレート保持部３４に保持されているエラーレートと閾値保持部３３に保持されている閾値ＴＨ１，ＴＨ２とを比較する。そして、交代箇所決定部３５は、その比較結果と、交代フラグ保持部３６に保持されている２つの交代フラグに基づいて、２つの通信線群の何れかに属す通信線の代りに予備線を用いてＨＢＭ２２と通信を行うか否かを決定する。また、交代箇所決定部３５は、その決定結果に基づいて、交代箇所（不使用とする通信線）を示す設定情報を生成し、設定情報保持部３７に保持させる。
【００４６】
交代フラグ保持部３６は、２つの通信線群において、エラーレートと閾値ＴＨ１との比較結果に基づいて使用する通信線を切り替えたか否かを示す第１交代フラグを保持する。また、交代フラグ保持部３６は、エラーレートと閾値ＴＨ２との比較結果に基づいて使用する通信線を切り替えたか否かを示す第２交代フラグを保持する。
【００４７】
設定情報保持部３７は、交代箇所決定部３５にて生成された設定情報を保持する。
以下、情報処理装置２０による、通信線の交代動作の例を説明する。
初めは、予備線は用いられていないものとする。この場合、第１交代フラグ及び第２交代フラグは以下に示すような状態となっている。
【００４８】
図４は、初期状態における第１交代フラグと第２交代フラグの例を示す図である。
第１交代フラグ３６ａ、第２交代フラグ３６ｂの両方とも、両通信線群（第１通信線群及び第２通信線群）におけるフラグは“ＯＦＦ”となっている。このような第１交代フラグ３６ａ及び第２交代フラグ３６ｂは、２ビットの値で表現できる。
【００４９】
また、初期状態では、切替部３０ａ１は以下に示すような状態となっている。
図５は、初期状態における切替部の状態を模式的に示す図である。図５では、初期状態における切替部３０ａ１の状態が模式的に示されているが、他の切替部３０ａ２〜３０ａ８も同じ状態である。
【００５０】
初期状態では、通信線群３８ａに含まれる通信線３８ａ１，３８ａ２，３８ａ３，…，３８ａ９，３８ａ１０により、データ信号ＤＱ０，ＤＱ１，…，ＤＱ７と、データマスク信号ＤＭ及びデータ反転制御信号ＤＢＩが伝播される。また、通信線群３８ｂに含まれる通信線３８ｂ１，３８ｂ２，３８ｂ３，…，３８ｂ９，３８ｂ１０により、上記と同様の信号が伝播される。予備線３８ｃには、信号が伝播されない。
【００５１】
交代箇所判定部２１ｂｃ１は、エラーレート計測部３１より、エラーレート及びエラーレートの更新を指示する更新制御信号を受信すると、以下の動作を行う。なお、以下では交代箇所判定部２１ｂｃ１は、図５に示した通信線群３８ａ，３８ｂに含まれる通信線３８ａ１〜３８ａ１０，３８ｂ１〜３８ｂ１０を伝播する信号のエラーレートを受信するものとする。
【００５２】
図６は、交代箇所判定部の動作の一例の流れを示すフローチャートである。
交代箇所判定部２１ｂｃ１のエラーレート保持部３４は、受信したエラーレートを用いて、保持していたエラーレートを更新する（ステップＳ１）。交代箇所決定部３５は、更新したエラーレートＢＥＲが、閾値ＴＨ１よりも高くなる通信線があるか否かを判定する（ステップＳ２）。エラーレートＢＥＲが閾値ＴＨ１よりも高くなる通信線がない場合、交代箇所の変更は行われずに、交代箇所判定部２１ｂｃ１の動作が終了する。
【００５３】
エラーレートＢＥＲが閾値ＴＨ１よりも大きくなる通信線がある場合、交代箇所決定部３５は、その通信線のエラーレートＢＥＲが閾値ＴＨ２より高いか否かを判定する（ステップＳ３）。
【００５４】
エラーレートＢＥＲが閾値ＴＨ２を超えていない場合、交代箇所決定部３５は、通信線群３８ａ，３８ｂについての第１交代フラグ及び第２交代フラグが両方ＯＦＦになっているか否かを判定する（ステップＳ４）。交代箇所決定部３５は、通信線群３８ａ，３８ｂについての第１交代フラグ及び第２交代フラグが両方ＯＦＦになっていない場合、予備線３８ｃが既に使用されているため、交代箇所の変更は行われずに、交代箇所判定部２１ｂｃ１の動作が終了する。
【００５５】
通信線群３８ａ，３８ｂについての第１交代フラグ及び第２交代フラグが両方ＯＦＦになっている場合、交代箇所決定部３５は、ＢＥＲ＞ＴＨ１となった通信線が属す通信線群（図６では自通信線群と表記されている）の第１交代フラグをオンする。そして、交代箇所決定部３５は、ＢＥＲ＞ＴＨ１となった通信線を交代箇所として決定する（ステップＳ５）。ステップＳ５の処理では、交代箇所決定部３５は、ＢＥＲ＞ＴＨ１となった通信線を交代箇所（不使用）とする設定情報を生成し、設定情報保持部３７に保持させる。設定情報は、所定のタイミングで、ＨＢＭ制御部２１ｂｂの交代箇所設定部３２や、ＨＢＭ２２の交代箇所設定部２２ｂに設定され、切替部２２ａ１，３０ａ１は、交代箇所設定部２２ｂ，３２に設定された設定情報に基づいて使用する通信線を切り替える。
【００５６】
図７は、第１交代フラグの変更例を示す図である。
図４に示した初期状態の第１交代フラグ３６ａでは“ＯＦＦ”であった第１通信線群（たとえば、通信線群３８ａ，３８ｂの何れか一方）におけるフラグが、“ＯＮ”に変更されている。
【００５７】
図８は、使用する通信線を切り替えた例を示す図である。図８では、通信線３８ａ２が交代箇所となった場合の、切替部３０ａ１の状態が模式的に示されている。
通信線群３８ａに属す通信線３８ａ２が不使用となり、データ信号ＤＱ０は、隣の通信線３８ａ３により伝播されるように、使用する通信線が切り替えられている。また、データ反転制御信号ＤＢＩが、予備線３８ｃを用いて伝播されるように切り替えられている。
【００５８】
ステップＳ５の処理後、一度のエラーレートの受信に対する交代箇所判定部２１ｂｃ１の動作が終了する。
交代箇所決定部３５は、ステップＳ３の処理で、通信線のエラーレートＢＥＲが閾値ＴＨ２より高いと判定した場合、通信線群３８ａ，３８ｂについての第２交代フラグが両方ＯＦＦになっているか否かを判定する（ステップＳ６）。
【００５９】
通信線群３８ａ，３８ｂについての第２交代フラグが両方ＯＦＦになっている場合、交代箇所決定部３５は、ＢＥＲ＞ＴＨ２となった通信線が属す通信線群（図６では自通信線群と表記されている）の第２交代フラグをオンする。そして、交代箇所決定部３５は、ＢＥＲ＞ＴＨ２となった通信線を交代箇所として決定する（ステップＳ７）。ステップＳ７の処理では、交代箇所決定部３５は、ＢＥＲ＞ＴＨ２となった通信線を交代箇所（不使用）とする設定情報を生成し、設定情報保持部３７に保持させる。設定情報は、所定のタイミングで、ＨＢＭ制御部２１ｂｂの交代箇所設定部３２や、ＨＢＭ２２の交代箇所設定部２２ｂに設定され、切替部２２ａ１，３０ａ１は、交代箇所設定部２２ｂ，３２に設定された設定情報に基づいて使用する通信線を切り替える。
【００６０】
図９は、第２交代フラグの変更例を示す図である。
図４に示した初期状態の第２交代フラグ３６ｂでは“ＯＦＦ”であった第２通信線群（たとえば、通信線群３８ａ，３８ｂの何れか一方）におけるフラグが、“ＯＮ”に変更されている。
【００６１】
なお、図９に示すように第１交代フラグ３６ａにおいて、第１通信線群（たとえば、通信線群３８ａ，３８ｂの何れか他方）におけるフラグも、“ＯＮ”になっていて、予備線３８ｃは、第１通信線群に属す通信線の代りに使用されている状態である。しかし、第２交代フラグ３６ｂの第２通信線群におけるフラグが“ＯＮ”になった場合、予備線３８ｃは、第２通信線群に属す通信線の代りに使用される。
【００６２】
図１０は、予備線が使用されている状態で第２交代フラグがオンした場合の通信線の切り替え例を示す図である。図１０では、予備線３８ｃが、通信線群３８ａに属す信号線の代りに使用されている状態で、第２交代フラグ３６ｂの第２通信線群におけるフラグが“ＯＮ”になった場合の例が示されている。
【００６３】
図１０の例では、通信線群３８ｂに属す通信線３８ｂ２が不使用となり、データ信号ＤＱ０は、隣の通信線３８ｂ１により伝播されるように、使用する通信線が切り替えられている。また、データ反転制御信号ＤＢＩが、予備線３８ｃを用いて伝播されるように切り替えられている。
【００６４】
ステップＳ７の処理後、一度のエラーレートの受信に対する交代箇所判定部２１ｂｃ１の動作が終了する。
ステップＳ６の処理にて、通信線群３８ａ，３８ｂの第２交代フラグが一方でもＯＮである場合、交代箇所決定部３５は、交代が不可であることを示す設定情報を生成する（ステップＳ８）。なお、交代箇所決定部３５は、交代が不可であることを示す設定情報を、設定情報保持部３７に保持させてもよいし、プロセッサコア部２１ａに通知してもよい。
【００６５】
ステップＳ８の処理後、一度のエラーレートの受信に対する交代箇所判定部２１ｂｃ１の動作が終了する。
交代箇所判定部２１ｂｃ１は、上記の動作を、エラーレート計測部３１からエラーレートを受信するたびに行う。
【００６６】
以上のような第２の実施の形態の情報処理装置２０及びプロセッサ２１によれば、第１の実施の形態の情報処理装置１０及びプロセッサ１１と同様の効果が得られる。すなわち、２つの通信線群ごとに１つ設けられる予備線が、エラーレートがより高い通信線が属す通信線群で優先的に用いられるため、より悪い通信線が救済され通信の安定性が高まる。
【００６７】
また、交代箇所判定部２１ｂｃ１が上記のように第１交代フラグと第２交代フラグを用いて交代箇所を決定することで、交代箇所の変更が不要な状況での設定情報の更新が避けられる。交代箇所の変更が不要な状況とは、たとえば、エラーレートが閾値ＴＨ１を超え、閾値ＴＨ２を超えない信号が再度見つかった場合や、エラーレートが閾値ＴＨ２を超える信号が再度見つかった場合などである。このような状況では、既に同様のエラーレートの信号を伝播していた通信線の代りに予備線３８ｃが使用されているため、交代箇所の変更は不要である。
【００６８】
以上、実施の形態に基づき、本発明のプロセッサ及び情報処理装置の一観点について説明してきたが、これらは一例にすぎず、上記の記載に限定されるものではない。
【符号の説明】
【００６９】
１０  情報処理装置
１１  プロセッサ
１１ａ  プロセッサコア部
１１ｂ  メモリコントローラ
１１ｂ１  アクセスリクエスト制御部
１１ｂ２  ＨＢＭ制御部
１１ｂ２１  切替部
１１ｂ２２  エラーレート計測部
１１ｂ２３  交代箇所設定部
１１ｂ３  交代箇所判定部
１２  ＨＢＭ
１３ａ，１３ｂ  通信線群
１３ａ１〜１３ａ１０，１３ｂ１〜１３ｂ１０  通信線
１３ｃ  予備線
ＤＢＩ  データ反転制御信号
ＤＭ  データマスク信号
ＤＱ０〜ＤＱ７  データ信号
【図１】
2020013446.tif 000003
【図２】
2020013446.tif 000004
【図３】
2020013446.tif 000005
【図４】
2020013446.tif 000006
【図５】
2020013446.tif 000007
【図６】
2020013446.tif 000008
【図７】
2020013446.tif 000009
【図８】
2020013446.tif 000010
【図９】
2020013446.tif 000011
【図１０】
2020013446.tif 000012