(57)【特許請求の範囲】
【請求項１】
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路、
を備えるメモリコントローラ。
【請求項２】
前記アクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路をさらに備え、
前記メモリ診断回路は、前記ビジー状態であると検出された場合、前記診断リクエストの発行周期を長くする
ことを特徴とする請求項１に記載のメモリコントローラ。
【請求項３】
プロセッサからメモリへのアクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路と、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くするメモリ診断回路と、
を備えるメモリコントローラであって、
前記メモリ診断回路は、
前記診断リクエストの応答時間を計測し、
前記検出回路により前記ビジー状態であると検出されなかった場合であっても当該計測された応答時間が所定時間より長い場合、前記発行周期を長くする、
メモリコントローラ。
【請求項４】
前記検出回路は、一定時間、前記アクセスリクエストが前記リクエストキューに保持されていない場合に、無負荷状態であると検出し、
前記メモリ診断回路は、前記無負荷状態であると検出された場合、前記発行周期を初期値に比べて短くする
ことを特徴とする請求項２又は３に記載のメモリコントローラ。
【請求項５】
前記メモリ診断回路は、前記無負荷状態であると検出された場合であって、一定時間、前記検出回路により前記ビジー状態であると検出されていない場合に、前記発行周期を初期値に比べて短くする
ことを特徴とする請求項４に記載のメモリコントローラ。
【請求項６】
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くする
メモリ診断方法。
【請求項７】
メモリと、
前記メモリへのアクセスリクエストを発行するプロセッサと、
前記メモリの状態を診断するための診断リクエストを発行し、当該診断リクエストの応答時間を計測し、当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路と、
を備えるプロセッサシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラ、メモリ診断方法及びプロセッサシステムに関し、特に、プロセッサからアクセスされるメモリの状態を診断するためのメモリコントローラ、メモリ診断方法及びプロセッサシステムに関する。
【背景技術】
【０００２】
図７は、関連技術にかかるメモリコントローラを含む情報処理装置９００の構成を示すブロック図である。情報処理装置９００は、その構成の一部として、プロセッサ群９１、メモリコントローラ９２、主記憶装置９３を備える。メモリコントローラ９２は、プロセッサ群９１内の通常リクエスト発行部９１１及び９１２から主記憶装置９３への複数の主記憶アクセスリクエストを受け付け、複数の主記憶アクセスリクエストを調停した上で、主記憶装置９３に対してアクセスを行う。
【０００３】
メモリパトロール発行部９２１は、発行タイミング生成回路９３１と、パトロール発行回路９３２を有する。発行タイミング生成回路９３１はタイマ回路であり、予め定めた周期でメモリパトロールリクエストを発行するためのタイミング信号を生成する。但し、発行タイミング生成回路９３１は、先に発行したメモリパトロールリクエストのリプライ受信を監視し、リプライを受信するまでは次のメモリパトロールリクエスト発行を保留する。これは、主記憶アクセス経路及び主記憶装置９３においてメモリパトロールリクエストを処理する回路を簡素化するためである。
【０００４】
通常リクエスト発行部９１１及び９１２から発行された通常運用の主記憶アクセスリクエストは、それぞれリクエストキュー９４１及び９４２に格納され調停に参加する。この図７では、２つの通常リクエスト発行部と、１つのメモリパトロール発行部との三者で調停を行う構成を示す。
【０００５】
尚、特許文献１には、ＣＰＵからメモリへのアクセスを制御するメモリコントローラに、メモリをアクセスして診断するメモリ診断手段を有するメモリコントローラに関する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−０４８２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述したメモリコントローラ９２においては、通常運用の主記憶アクセスが頻繁に発行され主記憶アクセス経路の負荷が高い時にも、予め定めた周期でメモリパトロールリクエストが発行されるため、通常運用の主記憶アクセスの調停通過を妨げてしまうという問題点があった。すなわち、メモリコントローラ９２は、予め設定したメモリパトロールリクエストの発行周期でメモリパトロールを行っていたため、通常運用の主記憶アクセスによる主記憶アクセス経路の負荷が高い時にも一定間隔でメモリパトロールリクエストが割り込み、通常運用の主記憶アクセスがメモリパトロールにより待たされてしまうケースが発生し、通常運用の主記憶アクセス性能を低下させていた。
【０００８】
ここで、上述した特許文献１にかかるメモリコントローラは、ＣＰＵからメモリへのアクセスと前記メモリ診断手段からメモリへのアクセスとの衝突を検出し、衝突率を算出する。そして、衝突率に応じて前記メモリ診断手段からメモリへのアクセスする周期を調整する。
【０００９】
しかしながら、統計的に優位な衝突率を算出するには、それなりのサンプル数が必要となる。そのため、衝突率に応じて周期を調整する時点では、上記衝突がすでに減少し、アクセス性能が回復し、メモリ診断のためのアクセスの周期を調整する必要がなくなっている可能性がある。つまり、特許文献１では、通常運用の主記憶アクセスとメモリパトロールリクエストとの衝突が一定時間続いた場合にしか、上記周期を調整できず、リアルタイム性に欠ける。また、特許文献１では、実際に衝突が起こっている場合を検出しており、衝突を未然に防ぐことはできない。よって、特許文献１では、上述した問題点を解決することはできない。
【００１０】
本発明は、このような問題点を解決するためになされたものであり、主記憶アクセス経路の負荷をリアルタイムに検出して、メモリパトロールリクエストの発行周期を柔軟に調整するためのメモリコントローラ、メモリ診断方法及びプロセッサシステムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の第１の態様にかかるメモリコントローラは、
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路、
を備える。
【００１２】
本発明の第２の態様にかかるメモリコントローラは、
プロセッサからメモリへのアクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路と、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くするメモリ診断回路と、
を備える。
【００１３】
本発明の第３の態様にかかるメモリ診断方法は、
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くする。
【００１４】
本発明の第４の態様にかかるメモリ診断方法は、
プロセッサからメモリへのアクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出し、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くする。
【００１５】
本発明の第５の態様にかかるプロセッサシステムは、
メモリと、
前記メモリへのアクセスリクエストを発行するプロセッサと、
前記メモリの状態を診断するための診断リクエストを発行し、当該診断リクエストの応答時間を計測し、当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路と、
を備える。
【００１６】
本発明の第６の態様にかかるプロセッサシステムは、
メモリと、
前記メモリへのアクセスリクエストを発行するプロセッサと、
前記アクセスリクエストを保持するためのリクエストキューと、
前記リクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路と、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くするメモリ診断回路と、
を備える。
【発明の効果】
【００１７】
本発明により、主記憶アクセス経路の負荷をリアルタイムに検出して、メモリパトロールリクエストの発行周期を柔軟に調整するためのメモリコントローラ、メモリ診断方法及びプロセッサシステムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態１にかかるメモリコントローラを含むプロセッサシステムの構成を示すブロック図である。
【図２】本発明の実施の形態１にかかるメモリ診断処理の流れを示すフローチャートである。
【図３】本発明の実施の形態２にかかるメモリコントローラを含むプロセッサシステムの構成を示すブロック図である。
【図４】本発明の実施の形態２にかかるメモリ診断処理の流れを示すフローチャートである。
【図５】本発明の実施の形態３にかかるメモリコントローラを含む情報処理装置の構成を示すブロック図である。
【図６】本発明の実施の形態３にかかる主記憶アクセス経路負荷判定処理の流れを示すフローチャートである。
【図７】関連技術にかかるメモリコントローラの構成を示すブロック図である。
【発明を実施するための形態】
【００１９】
以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略する。
【００２０】
＜発明の実施の形態１＞
図１は、本発明の実施の形態１にかかるメモリコントローラ１２を含むプロセッサシステム１００の構成を示すブロック図である。プロセッサシステム１００は、少なくともプロセッサ１１がメモリ１３にアクセスして動作する装置であり、例えば、コンピュータ等の情報処理装置である。プロセッサシステム１００は、プロセッサ１１と、メモリ１３と、メモリコントローラ１２と、を備える。プロセッサ１１は、メモリ１３に対してアクセスリクエストＲを発行する。メモリ１３は、アクセスリクエストＲに対して応答する。メモリコントローラ１２は、アクセスリクエストＲや自己が発行する診断リクエストＤによるメモリ１３へのアクセスを制御する。
【００２１】
メモリコントローラ１２は、メモリ診断回路１２０を備える。メモリ診断回路１２０は、メモリ１３の状態を診断する診断リクエストＤをメモリ１３へ発行する。そして、メモリ診断回路１２０は、発行した診断リクエストに対する応答Ｔを受信し、診断リクエストの発行時刻から応答Ｔの受信時刻までの応答時間を計測する。その後、メモリ診断回路１２０は、計測された応答時間が所定時間より長い場合、診断リクエストＤの発行周期を長くする。
【００２２】
図２は、本発明の実施の形態１にかかるメモリ診断処理の流れを示すフローチャートである。まず、メモリ診断回路１２０は、メモリ１３へ診断リクエストＤを発行する（Ｓ１１）。次に、メモリ診断回路１２０は、診断リクエストＤの応答時間を計測する（Ｓ１２）。その後、メモリ診断回路１２０は、計測された応答時間が所定時間を超過しているか否かを判定する（Ｓ１３）。ステップＳ１３において応答時間が所定時間を超過していると判定した場合、メモリ診断回路１２０は、診断リクエストＤの発行周期を長くする（Ｓ１４）。
【００２３】
このように、本発明の実施の形態１では、メモリ診断回路１２０により発行した診断リクエスト単位で応答時間を計測することで、少なくとも１回の診断リクエストの発行により主記憶アクセス経路の負荷が高まったことを検出できる。そして、主記憶アクセス経路の負荷を検出次第、診断リクエストの発行周期を長くする。これにより、主記憶アクセス経路の負荷が高いときに、メモリ診断アクセスの頻度を軽減することができる。よって、不要な負荷を減らし、メモリ診断アクセスに起因した性能低下を防ぐことができる。
【００２４】
すなわち、特許文献１のように衝突率を算出するための時間や、そのサンプル数が溜まるまでの時間が不要となり、主記憶アクセス経路の負荷をリアルタイムに検出して、メモリパトロールリクエストの発行周期を柔軟に調整することができる。
【００２５】
＜発明の実施の形態２＞
図３は、本発明の実施の形態２にかかるメモリコントローラ１２ａを含むプロセッサシステム１０１の構成を示すブロック図である。プロセッサシステム１０１は、少なくともプロセッサ１１がメモリ１３にアクセスして動作する装置であり、例えば、コンピュータ等の情報処理装置である。プロセッサシステム１０１は、プロセッサシステム１００と同様に、プロセッサ１１と、メモリ１３とを備えるが、メモリコントローラ１２ａが異なる。メモリコントローラ１２ａは、アクセスリクエストＲや自己が発行する診断リクエストＤによるメモリ１３へのアクセスを制御する。
【００２６】
メモリコントローラ１２ａは、リクエストキュー１２１と、検出回路１２２と、メモリ診断回路１２３とを備える。リクエストキュー１２１は、プロセッサ１１からメモリ１３へのアクセスリクエストＲを保持する。検出回路１２２は、リクエストキュー１２１に、所定数以上のアクセスリクエストＲが保持されている場合に、ビジー状態であると検出する。メモリ診断回路１２３は、検出回路１２２によりビジー状態であると検出された場合、メモリ１３の状態を診断するための診断リクエストＤの発行周期を長くする。
【００２７】
図４は、本発明の実施の形態２にかかるメモリ診断処理の流れを示すフローチャートである。まず、検出回路１２２は、リクエストキュー１２１を監視し、アクセスリクエストＲが所定数以上保持されているか否かを判定する（Ｓ２１）。アクセスリクエストＲが所定数以上保持されていると判定した場合、検出回路１２２は、ビジー状態であると検出し（Ｓ２１でＹＥＳ）、その旨、メモリ診断回路１２３へ通知する。そして、メモリ診断回路１２３は、検出回路１２２からのビジー状態との通知を受信すると、診断リクエストＤの発行周期を長くする（Ｓ２２）。
【００２８】
このように、本発明の実施の形態２では、検出回路１２２がリクエストキュー１２１の負荷状態を監視してビジー状態を検出することで、主記憶アクセス経路の負荷が高まったことを検出できる。そして、メモリ診断回路１２３は、主記憶アクセス経路の負荷を検出次第、診断リクエストの発行周期を長くする。これにより、少なくともメモリ診断アクセスの頻度を軽減することで、不要な負荷を減らし、メモリ診断アクセスに起因した性能低下を防ぐことができる。
【００２９】
すなわち、特許文献１のように主記憶アクセスとメモリ診断アクセスとの間で相当数の衝突を必要とせず、衝突が発生する前であっても、主記憶アクセス経路の負荷を検出できる。つまり、診断リクエストによる影響があるか否かに関わらず、衝突を未然に防ぎ、主記憶アクセス経路の負荷をリアルタイムに検出して、メモリパトロールリクエストの発行周期を柔軟に調整することができる。
【００３０】
＜発明の実施の形態３＞
図５は、本発明の実施の形態３にかかるメモリコントローラ２２を含む情報処理装置２００の構成を示すブロック図である。情報処理装置２００は、上述したプロセッサシステム１００及び１０１の主要な機能を共に採用した場合の一例である。情報処理装置２００は、プロセッサ群２１と、メモリコントローラ２２と、主記憶装置２３とを備える。情報処理装置２００のその他の構成は、一般的なものであり、本発明の実施の形態３に影響しないため、図示及び説明を省略する。
【００３１】
プロセッサ群２１は、複数のプロセッサに相当する通常リクエスト発行部２１１及び２１２を含む。尚、通常リクエスト発行部２１１及び２１２は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等の制御装置であるが、これに限定されない。また、通常リクエスト発行部２１１及び２１２の数は、少なくとも１以上であればよい。
【００３２】
メモリコントローラ２２は、メモリパトロール発行部２２１と、リクエスト調停部２２２と、リプライ振分け回路２２３とを備える。リクエスト調停部２２２は、リクエストキュー２４１及び２４２と、ビジー検出回路２４３及び２４４と、調停回路２４５とを備える。リクエストキュー２４１及び２４２のそれぞれは、通常リクエスト発行部２１１及び２１２から主記憶装置２３への通常運用の主記憶アクセスリクエストを受け付け、所定数を保持する。
【００３３】
ビジー検出回路２４３及び２４４は、それぞれリクエストキュー２４１及び２４２に格納された主記憶アクセスリクエストが一定の個数を超えた事を検出する。このとき、ビジー検出回路２４３及び２４４は、ビジー通知のフラグを"１"として主記憶アクセス経路負荷判定回路２３１へ通知する。例えば、ビジー検出回路２４３からのビジー通知のフラグが"１"のときは、リクエストキュー２４１に一定数以上の主記憶アクセスリクエストが格納され調停通過を待っていることを示す。また、ビジー検出回路２４３及び２４４は、それぞれリクエストキュー２４１及び２４２に、一定時間、主記憶アクセスリクエストが保持されていない場合に、無負荷状態であることを検出する。このとき、ビジー検出回路２４３及び２４４は、無負荷通知のフラグを"１"として主記憶アクセス経路負荷判定回路２３１へ通知する。例えば、ビジー検出回路２４３からの無負荷通知のフラグが"１"のときは、リクエストキュー２４１に一つも主記憶アクセスリクエストが格納されていない事を示す。
【００３４】
調停回路２４５は、リクエストキュー２４１及び２４２からの２つの通常運用の主記憶アクセスリクエストのリクエストと、後述するパトロール発行回路２３３からの１つのメモリパトロールアクセスのリクエストとの３つを調停し、当該調停を経て主記憶アクセスリクエストを選択し、主記憶装置２３へ出力する。尚、調停回路２４５による調停は、少なくとも通常運用の主記憶アクセスリクエストと、メモリパトロールのリクエストとの調停がなされるものであればよい。
【００３５】
主記憶装置２３は、調停回路２４５による調停を経て選択された主記憶アクセスリクエストについて、目的の処理を行い、リプライ振分け回路２２３へリプライを出力する。尚、主記憶装置２３は、例えば、ＲＡＭ（Random Access Memory）等の揮発性の記憶装置である。
【００３６】
リプライ振分け回路２２３は、主記憶装置２３からリプライを受け付け、当該リプライに対応する主記憶アクセスリクエストの発行元である通常リクエスト発行部２１１もしくは２１２又はメモリパトロール発行部２２１へ振り分けを行い、当該リプライを返却する。
【００３７】
メモリパトロール発行部２２１は、主記憶アクセス経路負荷判定回路２３１と、発行タイミング生成回路２３２と、パトロール発行回路２３３とを備える。主記憶アクセス経路負荷判定回路２３１は、発行タイミング生成回路２３２からメモリパトロールリクエスト発行要求を受信し、また、リプライ振分け回路２２３からメモリパトロールリクエストに対するリプライを受信し、メモリパトロールリクエストの発行からメモリパトロールリクエストのリプライ受信までに掛かった時間を応答時間として計測する。そして、主記憶アクセス経路負荷判定回路２３１は、応答時間が所定時間より長い場合、発行タイミング生成回路２３２に対して、メモリパトロールリクエストの発行周期をより長くするように調整要求を出力する。これにより、少なくとも１回の診断リクエストの発行により、主記憶アクセス経路の負荷が高まったことを検出できる。
【００３８】
また、主記憶アクセス経路負荷判定回路２３１には、ビジー検出回路２４３又は２４４からの上述したビジー通知又は無負荷通知が接続されている。そして、主記憶アクセス経路負荷判定回路２３１は、ビジー通知が"１"のときに主記憶アクセス経路の負荷が高いと判断して、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期をより長くするように調整要求を出力する。これにより、診断リクエストの発行がなくとも、主記憶アクセスリクエスト自体の増加による主記憶アクセス経路の負荷を検出できる。
【００３９】
また、主記憶アクセス経路負荷判定回路２３１は、上記応答時間が所定時間より短く、かつ、無負荷通知が"１"のときに主記憶アクセス経路の負荷が低いと判断して、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期を初期値に比べて短くするように調整要求を出力する。これにより、主記憶アクセスリクエスト自体による主記憶アクセス経路の負荷が低い時に、つまり、主記憶装置２３の処理能力に余裕があるときにより多くのメモリパトロールリクエストを発行することができ、主記憶に対するメモリパトロールの網羅性が向上し、ソフトエラーに対する主記憶の信頼性を改善できる。
【００４０】
特に、主記憶アクセス経路負荷判定回路２３１は、主記憶アクセス経路の負荷が低いと判断する条件として、上記応答時間が所定時間より短く、かつ、無負荷通知が"１"のときであって、さらに一定時間、ビジー通知が"１"以外のときを加えるとよい。これにより、主記憶アクセス経路の負荷が低い場合をより精度良く検出できる。
【００４１】
また、主記憶アクセス経路負荷判定回路２３１は、上記応答時間が所定時間より短く、かつ、一定時間、ビジー通知及び無負荷通知が"１"以外のときに、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期を初期値に戻すように調整要求を出力する。これにより、一時的に発行周期を初期値より長く又は短くした場合であっても、主記憶アクセス経路の負荷状態に応じてメモリパトロールリクエストを適切に発行させることができる。そのため、主記憶装置２３の診断を妥当に行いつつ、性能を維持することができる。
【００４２】
発行タイミング生成回路２３２は、メモリパトロールリクエストを周期的に発行するタイミング信号を生成するタイマ回路である。そして、発行タイミング生成回路２３２は、主記憶アクセス経路負荷判定回路２３１からの調整要求に応じて、メモリパトロールリクエストの発行周期を動的に延長又は短縮する。そして、発行タイミング生成回路２３２は、調整された発行周期に従ってパトロール発行回路２３３に対してメモリパトロールリクエストの発行指示を出力する。
【００４３】
ここで、メモリパトロールリクエストは、情報処理装置２００内で同時期に１つだけ存在するリクエストである。そのため、これを保証するために、たとえ次の発行周期が来てもメモリパトロール発行部２２１がメモリパトロールのリプライを受信するまでは発行を抑止する。尚、実際は、発行周期を１回スキップし、次回の発行タイミングまで待つ等の論理となっている。
【００４４】
パトロール発行回路２３３は、発行タイミング生成回路２３２からの発行指示に応じて主記憶装置２３の状態を診断するためのメモリパトロールリクエストを発行する。具体的には、パトロール発行回路２３３は、調停回路２４５へメモリパトロールリクエストを出力する。
【００４５】
主記憶装置２３は、パトロール発行回路２３３から発行されたメモリパトロールリクエストが調停回路２４５を経て入力された場合に、メモリ素子に対して読み出しおよびエラー訂正後再書き込みといったパトロール動作を行う。
【００４６】
また、通常運用の主記憶アクセスリクエストは、通常リクエスト発行部２１１及び２１２からリクエスト調停部２２２に対して発行される。通常リクエスト発行部２１１又は２１２から発行された通常運用の主記憶アクセスリクエストは、リクエストキュー２４１又は２４２に格納され、調停回路２４５における調停に参加する。その後、調停回路２４５は、調停を経て選択したリクエストにより主記憶装置２３にアクセスする。そのリプライは、リプライ振分け回路２２３を経て、発行元である通常リクエスト発行部２１１又は２１２に返却される。
【００４７】
図６は、本発明の実施の形態３にかかる主記憶アクセス経路負荷判定処理の流れを示すフローチャートである。まず、主記憶アクセス経路負荷判定回路２３１は、ビジー検出回路２４３又は２４４からのビジー通知を監視し、いずれか１つのビジー通知のフラグが"１"であるか否かを判定する（Ｓ３１）。
【００４８】
ビジー検出回路２４３又は２４４からのビジー通知のフラグが、いずれも"１"以外である場合、主記憶アクセス経路負荷判定回路２３１は、メモリパトロールリクエストの発行からそのリプライの受信までの応答時間を計測し、計測した応答時間があらかじめ定めた時間を超過した否かを判定する（Ｓ３２）。
【００４９】
ステップＳ３１又はＳ３２のいずれかでＹＥＳと判定された場合、主記憶アクセス経路負荷判定回路２３１は、主記憶アクセス経路の負荷が高いと判断して、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期をより延長するように調整要求を出力する（Ｓ３４）。
【００５０】
また、ステップＳ３１又はＳ３２のいずれもＮＯと判定された場合、主記憶アクセス経路負荷判定回路２３１は、ビジー検出回路２４３及び２４４からの無負荷通知のフラグのいずれもが"１"であるか否かを判定する（Ｓ３３）。いずれの無負荷通知のフラグも"１"であると判定された場合、主記憶アクセス経路負荷判定回路２３１は、主記憶アクセス経路の負荷が低いと判断して、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期を初期値に比べて短縮するように調整要求を出力する（Ｓ３５）。これは、通常リクエスト発行部２１１及び２１２から通常運用の主記憶アクセスリクエストが全く行われていない状態を示す。
【００５１】
また、ステップＳ３３でＮＯと判定された場合、主記憶アクセス経路負荷判定回路２３１は、発行タイミング生成回路２３２に対してメモリパトロールリクエストの発行周期を初期化するように調整要求を出力する（Ｓ３６）。これは、主記憶アクセス経路の負荷は高くないが、通常運用の主記憶アクセスリクエストが全く無い訳では無いので、メモリパトロールリクエストの発行周期を短くしたままであると通常運用の主記憶アクセスリクエストを必要以上に待たせてしまう事になるのを防ぐためである。
【００５２】
尚、図６のステップＳ３１及びＳ３２の順序は逆であっても、並列に処理しても構わない。
【００５３】
以上説明したように、本発明の実施の形態３においては、以下に記載するような効果を奏する。すなわち、第１の効果は、主記憶アクセス経路の負荷上昇に応じてメモリパトロールリクエスト発行周期を動的に延長しているので、主記憶アクセスリクエストの調停において通常運用の主記憶アクセスリクエストと競合して通常運用の主記憶アクセスリクエストが待たされてしまい、通常運用の主記憶アクセス性能が低下するのを軽減できることである。
【００５４】
また、第２の効果は、通常運用の主記憶アクセスリクエストによる主記憶アクセス経路の負荷が低い時に、メモリパトロールリクエスト発行周期を動的に短縮しているので、主記憶に対するメモリパトロールの網羅性が向上し、ソフトエラーに対する主記憶の信頼性を改善できることである。
【００５５】
＜その他の発明の実施の形態＞
本発明のその他の実施の形態は、コンピュータ等、情報処理装置運用中の主記憶におけるメモリ素子のソフトエラーによる間欠障害を検出および訂正するメモリパトロール制御方式であり、メモリパトロール動作による主記憶アクセスリクエストと通常運用の主記憶アクセスリクエストの競合により通常運用の主記憶アクセスが待たされてしまい、通常運用の主記憶アクセス性能が低下してしまうのを軽減したことを特徴としている。
【００５６】
本発明のその他の実施の形態の特徴は、主記憶アクセスを行う複数の通常運用リクエスト発行部とメモリパトロールリクエスト発行部からの各主記憶アクセスを調停し、以後通常運用の主記憶アクセスとメモリパトロールによる主記憶アクセスで主記憶アクセス経路を共有する情報処理装置において、通常運用リクエストによる主記憶アクセス経路の負荷に応じてメモリパトロールリクエストの発行周期を動的に調整し、通常運用リクエストによる主記憶アクセス性能への影響を軽減したことにある。これにより、通常運用リクエストによる主記憶アクセス経路の負荷が高い時には、メモリパトロールリクエストの発行周期を長くする事によりメモリパトロール動作の頻度を少なくして、両者の競合による通常運用リクエストの主記憶アクセス性能低下を軽減する。一方、通常運用リクエストによる主記憶アクセス経路への負荷が低い時には、メモリパトロールリクエストの発行周期を短くする事によりメモリパトロールの頻度を高くして、主記憶に保持しているデータの信頼性を高める事ができる。
【００５７】
尚、図５において、メモリパトロール発行部２２１に含まれる主記憶アクセス経路負荷判定回路２３１は、発行したメモリパトロールリクエストに対するリプライが返ってくるまでの時間を計測し、主記憶アクセス経路の負荷状況を判定する。また、主記憶アクセス経路負荷判定回路２３１は、リクエスト調停部２２２に含まれるビジー検出回路２４３及び２４４から調停参加待ちの通常リクエストが多数存在する事を示すビジー信号を受け取る。そして、この状態でメモリパトロールリクエストを発行すると、競合により通常リクエストの主記憶アクセス性能が低下する状況である事を知ることができる。以上の情報を用いて発行タイミング生成回路２３２は、メモリパトロールリクエストの発行周期を調整する事で、通常リクエストの主記憶アクセス性能低下を軽減できる。
【００５８】
図５において、通常リクエスト発行部２１１及び２１２から発行された通常運用の主記憶アクセスは、それぞれリクエストキュー２４１及び２４２に格納され調停に参加する。以後の主記憶アクセスも順次、リクエストキュー２４１又は２４２に格納され、ある一定の個数が格納されるとビジー検出回路２４３又は２４４から主記憶アクセス経路負荷判定回路２３１へのビジー通知が"１"となる。主記憶アクセス経路負荷判定回路２３１は、ビジー通知が"１"となった事を記憶し、発行タイミング生成回路２３２にメモリパトロールリクエストの発行周期を長くする要求を行う。また、主記憶アクセス経路負荷判定回路２３１は、発行タイミング生成回路２３２からメモリパトロール発行要求信号を、リプライ振分け回路２２３からメモリパトロールリプライをそれぞれ受信し、メモリパトロールリクエストの発行からリプライの返却までに掛かった時間を計測し、予め定めた時間よりも長い場合にも発行タイミング生成回路２３２にメモリパトロールリクエストの発行周期を長くする要求を行う。
【００５９】
一方、ビジー検出回路２４３及び２４４は、リクエストキュー２４１及び２４２に通常運用の主記憶アクセスリクエストが一つも存在しない事を検出すると、主記憶アクセス経路負荷判定回路２３１への無負荷通知が"１"となる。主記憶アクセス経路負荷判定回路２３１は、ビジー通知が"１"となった履歴が無く、かつ無負荷通知が"１"であった場合に発行タイミング生成回路２３２にメモリパトロールリクエストの発行周期を短くする要求を行う。
【００６０】
以上に述べた事象が一つも発生しなかった場合には、メモリパトロールリクエストの発行周期は、予め設定された値に戻る。
【００６１】
以上のように主記憶アクセス経路の負荷に応じ動的にメモリパトロールリクエストの発行周期を調整するので、通常運用の主記憶アクセスリクエストがメモリパトロールにより待たされてしまう頻度が少なくなり、通常運用の主記憶アクセス性能低下を軽減できる。
【００６２】
さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。
【００６３】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
【００６４】
（付記１）
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路、
を備えるメモリコントローラ。
【００６５】
（付記２）
前記アクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路をさらに備え、
前記メモリ診断回路は、前記ビジー状態であると検出された場合、前記診断リクエストの発行周期を長くする
ことを特徴とする付記１に記載のメモリコントローラ。
【００６６】
（付記３）
プロセッサからメモリへのアクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路と、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くするメモリ診断回路と、
を備えるメモリコントローラ。
【００６７】
（付記４）
前記メモリ診断回路は、
前記診断リクエストの応答時間を計測し、
前記検出回路により前記ビジー状態であると検出されなかった場合であっても当該計測された応答時間が所定時間より長い場合、前記発行周期を長くする
ことを特徴とする付記３に記載のメモリコントローラ。
【００６８】
（付記５）
前記検出回路は、一定時間、前記アクセスリクエストが前記リクエストキューに保持されていない場合に、無負荷状態であると検出し、
前記メモリ診断回路は、前記無負荷状態であると検出された場合、前記発行周期を初期値に比べて短くする
ことを特徴とする付記２、３又は４のいずれか１項に記載のメモリコントローラ。
【００６９】
（付記６）
前記メモリ診断回路は、前記無負荷状態であると検出された場合であって、一定時間、前記検出回路により前記ビジー状態であると検出されていない場合に、前記発行周期を初期値に比べて短くする
ことを特徴とする付記５に記載のメモリコントローラ。
【００７０】
（付記７）
前記メモリ診断回路は、一定時間、前記検出回路により前記ビジー状態及び前記無負荷状態のいずれも検出されていない場合、前記発行周期を前記初期値に戻す
ことを特徴とする付記５又は６に記載のメモリコントローラ。
【００７１】
（付記８）
プロセッサからのアクセスリクエストに応答するメモリへ、当該メモリの状態を診断するための診断リクエストを発行し、
前記診断リクエストの応答時間を計測し、
当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くする
メモリ診断方法。
【００７２】
（付記９）
前記アクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出し、
前記ビジー状態であると検出された場合、前記診断リクエストの発行周期を長くする
ことを特徴とする付記８に記載のメモリ診断方法。
【００７３】
（付記１０）
プロセッサからメモリへのアクセスリクエストを保持するためのリクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出し、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くする
メモリ診断方法。
【００７４】
（付記１１）
前記診断リクエストの応答時間を計測し、
前記ビジー状態であると検出されなかった場合であっても当該計測された応答時間が所定時間より長い場合、前記発行周期を長くする
ことを特徴とする付記１０に記載のメモリ診断方法。
【００７５】
（付記１２）
一定時間、前記アクセスリクエストが前記リクエストキューに保持されていない場合に、無負荷状態であると検出し、
前記無負荷状態であると検出された場合、前記発行周期を初期値に比べて短くする
ことを特徴とする付記９、１０又は１１のいずれか１項に記載のメモリ診断方法。
【００７６】
（付記１３）
前記無負荷状態であると検出された場合であって、一定時間、前記検出回路により前記ビジー状態であると検出されていない場合に、前記発行周期を初期値に比べて短くする
ことを特徴とする付記１２に記載のメモリ診断方法。
【００７７】
（付記１４）
一定時間、前記検出回路により前記ビジー状態及び前記無負荷状態のいずれも検出されていない場合、前記発行周期を前記初期値に戻す
ことを特徴とする付記１２又は１３に記載のメモリ診断方法。
【００７８】
（付記１５）
メモリと、
前記メモリへのアクセスリクエストを発行するプロセッサと、
前記メモリの状態を診断するための診断リクエストを発行し、当該診断リクエストの応答時間を計測し、当該計測された応答時間が所定時間より長い場合、前記診断リクエストの発行周期を長くするメモリ診断回路と、
を備えるプロセッサシステム。
【００７９】
（付記１６）
前記アクセスリクエストを保持するためのリクエストキューと、
前記リクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路とをさらに備え、
前記メモリ診断回路は、前記ビジー状態であると検出された場合、前記メモリへの診断リクエストの発行周期を長くする、
ことを特徴とする付記１５に記載のプロセッサシステム。
【００８０】
（付記１７）
メモリと、
前記メモリへのアクセスリクエストを発行するプロセッサと、
前記アクセスリクエストを保持するためのリクエストキューと、
前記リクエストキューに、所定数以上の前記アクセスリクエストが保持されている場合に、ビジー状態であると検出する検出回路と、
前記ビジー状態であると検出された場合、前記メモリの状態を診断するための診断リクエストの発行周期を長くするメモリ診断回路と、
を備えるプロセッサシステム。
【００８１】
（付記１８）
前記メモリ診断回路は、
前記診断リクエストの応答時間を計測し、
前記検出回路により前記ビジー状態であると検出されなかった場合であっても当該計測された応答時間が所定時間より長い場合、前記発行周期を長くする
ことを特徴とする付記１７に記載のプロセッサシステム。
【００８２】
（付記１９）
前記検出回路は、一定時間、前記アクセスリクエストが前記リクエストキューに保持されていない場合に、無負荷状態であると検出し、
前記メモリ診断回路は、前記無負荷状態であると検出された場合、前記発行周期を初期値に比べて短くする
ことを特徴とする付記１６、１７又は１８のいずれか１項に記載のプロセッサシステム。
【００８３】
（付記２０）
前記メモリ診断回路は、前記無負荷状態であると検出された場合であって、一定時間、前記検出回路により前記ビジー状態であると検出されていない場合に、前記発行周期を初期値に比べて短くする
ことを特徴とする付記１９に記載のプロセッサシステム。
【００８４】
（付記２１）
前記メモリ診断回路は、一定時間、前記検出回路により前記ビジー状態及び前記無負荷状態のいずれも検出されていない場合、前記発行周期を前記初期値に戻す
ことを特徴とする付記１９又は２０に記載のプロセッサシステム。
【符号の説明】
【００８５】
１００  プロセッサシステム
１０１  プロセッサシステム
１１  プロセッサ
１２  メモリコントローラ
１２０  メモリ診断回路
１２ａ  メモリコントローラ
１２１  リクエストキュー
１２２  検出回路
１２３  メモリ診断回路
１３  メモリ
Ｒ  アクセスリクエスト
Ｄ  診断リクエスト
Ｔ  応答
２００  情報処理装置
２１  プロセッサ群
２１１  通常リクエスト発行部
２１２  通常リクエスト発行部
２２  メモリコントローラ
２２１  メモリパトロール発行部
２３１  主記憶アクセス経路負荷判定回路
２３２  発行タイミング生成回路
２３３  パトロール発行回路
２２２  リクエスト調停部
２４１  リクエストキュー
２４２  リクエストキュー
２４３  ビジー検出回路
２４４  ビジー検出回路
２４５  調停回路
２２３  リプライ振分け回路
２３  主記憶装置
９００  情報処理装置
９１  プロセッサ群
９１１  通常リクエスト発行部
９１２  通常リクエスト発行部
９２  メモリコントローラ
９２１  メモリパトロール発行部
９３１  発行タイミング生成回路
９３２  パトロール発行回路
９２２  リクエスト調停部
９４１  リクエストキュー
９４２  リクエストキュー
９４３  調停回路
９２３  リプライ振分け回路
９３  主記憶装置
【図１】
0005794632.tif 000002
【図２】
0005794632.tif 000003
【図３】
0005794632.tif 000004
【図４】
0005794632.tif 000005
【図５】
0005794632.tif 000006
【図６】
0005794632.tif 000007
【図７】
0005794632.tif 000008