(57)【要約】  メモリ（１１）のパトロールを行なう通常パトロール動作を制御する通常パトロール制御部（２４）と、通常パトロール動作においてメモリ（１１）のエラーを検出した場合に、メモリ（１１）におけるエラー発生箇所に対してパトロールを行なう追加パトロール動作を制御する追加パトロール制御部（２５）と、追加パトロール動作においてエラーを検出した場合に、エラー発生箇所におけるエラーに関する情報をエラー頻度として計測する計測部（１５）と、計測部（１５）によって計測されたエラー頻度に応じて、リフレッシュ周期を調整するリフレッシュ周期調整部（２６）とをそなえることにより、メモリにおけるエラーの発生状態に合わせたリフレッシュ周期の最適化を効率よく行なう。
2009011052.tif 000002
【特許請求の範囲】
【請求項１】
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ装置であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御部と、
該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御部と、
該追加パトロール制御部による該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測部と、
該計測部によって計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整部とをそなえることを特徴とする、メモリリフレッシュ装置。
【請求項２】
該リフレッシュ周期調整部は、該計測部によって計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測部によって計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することを特徴とする、請求項１に記載のメモリリフレッシュ装置。
【請求項３】
該計測部は、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することを特徴とする、請求項１または請求項２に記載のメモリリフレッシュ装置。
【請求項４】
該計測部は、該追加パトロール制御部による該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測することを特徴とする、請求項１または請求項２に記載のメモリリフレッシュ装置。
【請求項５】
該リフレッシュ周期調整部は、予め設定された下限値以上で該リフレッシュ周期を調整することを特徴とする、請求項１〜４のいずれか１項に記載のメモリリフレッシュ装置。
【請求項６】
該リフレッシュ周期調整部は、該メモリへのアクセス頻度に基づいて、該下限値を変更することを特徴とする、請求項５に記載のメモリリフレッシュ装置。
【請求項７】
該リフレッシュ周期調整部は、該メモリの温度であるメモリ温度に基づいて、該下限値を変更することを特徴とする、請求項５または請求項６に記載のメモリリフレッシュ装置。
【請求項８】
該リフレッシュ周期調整部は、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻すことを特徴とする、請求項５〜７のいずれか１項に記載のメモリリフレッシュ装置。
【請求項９】
該リフレッシュ周期調整部によって調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更部をそなえることを特徴とする、請求項１〜８のいずれか１項に記載のメモリリフレッシュ装置。
【請求項１０】
該監視間隔変更部は、該計測部によって計測された該エラー頻度が一定になった場合に、該監視間隔を延長することを特徴とする、請求項９に記載のメモリリフレッシュ装置。
【請求項１１】
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ方法であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御ステップと、
該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御ステップと、
該追加パトロール制御ステップによる該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測ステップと、
該計測ステップにおいて計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整ステップとをそなえることを特徴とする、メモリリフレッシュ方法。
【請求項１２】
該リフレッシュ周期調整ステップにおいて、該計測ステップにおいて計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測ステップにおいて計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することを特徴とする、請求項１１に記載のメモリリフレッシュ方法。
【請求項１３】
該計測ステップにおいて、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することを特徴とする、請求項１１または請求項１２に記載のメモリリフレッシュ方法。
【請求項１４】
該計測ステップにおいて、該追加パトロール制御ステップによる該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測することを特徴とする、請求項１１または請求項１２に記載のメモリリフレッシュ方法。
【請求項１５】
該リフレッシュ周期調整ステップにおいて、予め設定された下限値以上で該リフレッシュ周期を調整することを特徴とする、請求項１１〜１４のいずれか１項に記載のメモリリフレッシュ方法。
【請求項１６】
該リフレッシュ周期調整ステップにおいて、該メモリへのアクセス頻度に基づいて、該下限値を変更することを特徴とする、請求項１５に記載のメモリリフレッシュ方法。
【請求項１７】
該リフレッシュ周期調整ステップにおいて、該メモリの温度であるメモリ温度に基づいて、該下限値を変更することを特徴とする、請求項１５または請求項１６に記載のメモリリフレッシュ方法。
【請求項１８】
該リフレッシュ周期調整ステップにおいて、該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻すことを特徴とする、請求項１５〜１７のいずれか１項に記載のメモリリフレッシュ方法。
【請求項１９】
該リフレッシュ周期調整ステップにおいて調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更ステップをそなえることを特徴とする、請求項１１〜１８のいずれか１項に記載のメモリリフレッシュ方法。
【請求項２０】
該監視間隔変更ステップにおいて、該計測ステップにおいて計測された該エラー頻度が一定になった場合に、該監視間隔を延長することを特徴とする、請求項１９に記載のメモリリフレッシュ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリのリフレッシュ周期に合わせてメモリリフレッシュを行なう技術に関する。
【背景技術】
【０００２】
近年のコンピュータの高性能化により、ＤＲＡＭ（Dynamic Random Access Memory）等のメモリのリフレッシュを行なう際の時間ロスや消費電力のロスが無視できなくなっている。このような中で、エラー（データエラー）が発生し難い状態においては長い周期でメモリリフレッシュを行ない、動作条件が厳しくエラーが発生し易い状態においてはリフレッシュ周期を短くするようにリフレッシュ周期を制御することが行なわれている。【０００３】
図１８は従来のメモリリフレッシュ周期を制御する動作方式の例を模式的に示す図である。
従来のメモリリフレッシュ周期の制御方式では、例えば、図１８に示すように、メモリリフレッシュ回路９０を用いて、メモリ９１のエラーを監視しながらメモリリフレッシュ周期を制御するようになっている。例えば、この図１８に示すメモリリフレッシュ回路９０は、メモリ制御部９２，ＥＣＣ（Error Correcting Code）回路９３，エラーレートモニタ９４，リフレッシュ周期生成部９５，リフレッシュ要求発生部９６および外部インタフェース部９７をそなえて構成されている。【０００４】
メモリ制御部９２は、メモリ９１へのアクセスを制御するものであって、例えば、メモリリフレッシュを行なわせたり、メモリ９１へのデータアクセスの際にメモリ９１のデータの読み出しを行なわせたりするようになっている。
ＥＣＣ回路９３は、メモリ制御部９２の制御によりメモリ９１に対しデータを書き込む際に、書込みデータから誤り検出訂正符号（検査ビット）を生成してデータに付加し、メモリ９１に書き込むものであって、例えば、メモリ制御部９２によりメモリ９１からデータを読み出したときに、読み出したデータとその誤り検出訂正符号を使用してデータの正常性を検査し、訂正可能な誤りをエラーとして検出した場合にデータの誤りを訂正するようになっている。そして、ＥＣＣ回路９３は、エラーの有無をエラーレートモニタ９４に通知するようになっている。【０００５】
エラーレートモニタ９４は、エラーの発生量を保持するものであって、例えば、ＥＣＣ回路９３から通知されたエラーの有無に基づいてエラー数（エラー発生量）をカウントするようになっている。例えば、このエラーレートモニタ９４は、“エラー数”を変数として保持し、エラーがない場合には、保持している“エラー数”から所定値を減算し、エラーがある場合には、保持している“エラー数”に所定値を加算する。【０００６】
リフレッシュ周期生成部９５は、リフレッシュ周期を生成するものであって、例えば、エラーレートモニタ９４によって保持されている“エラー数”と予め規定された基準値（エラーレート）とを比較することにより、この“エラー数”が基準値を上回った場合にリフレッシュ周期を短くし、“エラー数”が基準値を下回った場合にはリフレッシュ周期を長くするようになっている。【０００７】
リフレッシュ要求発生部９６は、リフレッシュ周期生成部９５によって生成されたリフレッシュ周期でリフレッシュ動作をメモリ制御部９２に要求するものである。
外部インタフェース部９７は、メモリリフレッシュ回路９０を組み込んでいる情報処理装置（図示省略）のプロセッサや他の制御装置を含む上位装置とのインタフェース制御を行なうものであって、例えば、プロセッサからのリードコマンドまたはライトコマンドの受信、プロセッサに対するリードデータの応答、プロセッサに対するメモリステータス情報の送信をインタフェース制御として行なうようになっている。【０００８】
従って、従来のメモリリフレッシュ周期の制御方式においては、先ず、ＥＣＣ回路９３が、メモリ制御部９２により読み出されたメモリ９１のデータに基づいて、メモリ９１のエラーを検出する。ここで、エラーレートモニタ９４が保持する“エラー数”は、ＥＣＣ回路９３においてエラーが検出されなかった場合には小さくなり、ＥＣＣ回路９３においてエラーが検出された場合には大きくなる。そして、このエラー数が基準値を下回るとリフレッシュ周期が長く調整され、“エラー数”が基準値を上回るとリフレッシュ周期が短く調整される。【０００９】
また、下記特許文献１には、ＥＣＣ回路により一定のリフレッシュ周期で複数のデータとそれに対応した検査ビットを読み出して誤り検出と訂正を行ない、誤りのないことの第１検出信号を積算し、誤りのあることの第２検出信号を上記第１検出信号よりも大きな重みを持って、しかも第１積算量を減ずるように積算させ、その積算量が一定の量を超えたときにリフレッシュ周期を所定の時間だけ長くし、積算量が一定量より少なくなったときにリフレッシュ周期を所定時間だけ短くする技術が開示されている。【００１０】
さらに、下記特許文献２には、ＥＣＣ回路が訂正可能なエラーを検知するまでリフレッシュ間隔を延ばして、ブロックごとに最適なリフレッシュ周期を設定し、未使用領域のリフレッシュ周期を無限大（リフレッシュ動作を行なわないこと）に設定する技術が開示されている。
【特許文献１】特開２００２−０２５２９９号公報
【特許文献２】国際公開ＷＯ９６／２８８２５号パンフレット
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上述した従来のメモリリフレッシュ周期を制御する動作方式や、上記特許文献１および上記特許文献２においては、常にメモリ全体を対象としてエラーを検出しなければならない。そのため、メモリにおける一部のアドレスのみでエラーが発生した場合のような、局所的に発生したエラーを検出する場合には時間がかかり、システムの動作環境が一時的に変化する場合の応答性が低いという課題がある。【００１２】
特に、上記特許文献１および上記特許文献２は、メモリのスタンバイモードにおける制御を前提とする技術であるので、スタンバイモードの場合にのみリフレッシュ周期を変更できる一方、通常動作時において動的にリフレッシュ周期を変更することができず、メモリにおけるエラーの発生状態に合わせたリフレッシュ周期の最適化を行なうことができないという課題がある。【００１３】
本発明は、このような課題に鑑み創案されたもので、メモリにおけるエラーの発生状態に合わせたリフレッシュ周期の最適化を効率よく行なうことを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明のメモリリフレッシュ装置は、リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ装置であって、該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御部と、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御部と、該追加パトロール制御部による該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測部と、該計測部によって計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整部とをそなえることを特徴としている。【００１５】
また、該リフレッシュ周期調整部は、該計測部によって計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測部によって計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することが好ましい。
さらに、該計測部は、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することが好ましい。【００１６】
また、該計測部は、該追加パトロール制御部による該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測してもよい。
さらに、該リフレッシュ周期調整部は、予め設定された下限値以上で該リフレッシュ周期を調整することが好ましい。【００１７】
また、該リフレッシュ周期調整部は、該メモリへのアクセス頻度に基づいて、該下限値を変更してもよく、該メモリの温度であるメモリ温度に基づいて、該下限値を変更してもよい。
さらに、該リフレッシュ周期調整部は、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻してもよい。【００１８】
また、該リフレッシュ周期調整部によって調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更部をそなえてもよい。
さらに、該監視間隔変更部は、該計測部によって計測された該エラー頻度が一定になった場合に、該監視間隔を延長してもよい。
なお、本発明のメモリリフレッシュ方法は、リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ方法であって、該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御ステップと、該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御ステップと、該追加パトロール制御ステップによる該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測ステップと、該計測ステップにおいて計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整ステップとをそなえることを特徴としている。【００１９】
また、該リフレッシュ周期調整ステップにおいて、該計測ステップにおいて計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測ステップにおいて計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することが好ましい。
さらに、該計測ステップにおいて、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することが好ましい。【００２０】
また、該計測ステップにおいて、該追加パトロール制御ステップによる該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測してもよい。
さらに、該リフレッシュ周期調整ステップにおいて、予め設定された下限値以上で該リフレッシュ周期を調整することが好ましい。【００２１】
また、該リフレッシュ周期調整ステップにおいて、該メモリへのアクセス頻度に基づいて、該下限値を変更してもよく、該リフレッシュ周期調整ステップにおいて、該メモリの温度であるメモリ温度に基づいて、該下限値を変更してもよい。
さらに、該リフレッシュ周期調整ステップにおいて、該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻してもよい。【００２２】
また、該リフレッシュ周期調整ステップにおいて調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更ステップをそなえてもよい。
さらに、該監視間隔変更ステップにおいて、該計測ステップにおいて計測された該エラー頻度が一定になった場合に、該監視間隔を延長してもよい。
【発明の効果】
【００２３】
本発明によれば、メモリのパトロールを行なう通常パトロール動作を制御するとともに、通常パトロール動作においてメモリのエラーを検出した場合に、エラー発生箇所に対してパトロールを行なう追加パトロール動作を制御することにより、エラーの検出機構が効率化される。又、追加パトロール動作においてエラーを検出した場合に、このエラー発生箇所におけるエラー頻度に応じてリフレッシュ周期を調整することにより、メモリ全体に対してパトロールを行なう場合に比べて短い間隔で、エラーの発生状態に合わせたリフレッシュ周期の最適化を行なうことができ、システムの動作環境が一時的に変化する場合の応答性を向上させることができる。【００２４】
また、エラー頻度が大きくなった場合に、リフレッシュ周期を段階的に短縮し、エラー頻度が小さくなった場合に、リフレッシュ周期を段階的に延長することにより、エラー頻度の変化に合わせたリフレッシュ周期の調整処理を短い間隔で少しずつ行なうので、エラー頻度の変化が小さい場合に調整の度合いを小さく抑えることができる。従って、メモリにおけるエラーの発生状態に合わせたリフレッシュ周期の最適化をより効率よく行なうことができる。【００２５】
さらに、メモリの温度に基づいて下限値を変更することにより、エラー頻度のみによる制御では回避できない過剰なリフレッシュを防止するとともに、過剰なリフレッシュによりメモリの動作に与える悪影響を抑制することができる。
また、メモリのアクセス頻度に基づいて下限値を変更することにより、エラー頻度のみによる制御では回避できない過剰なリフレッシュを防止するとともに、リード／ライト（read／write）アクセスの阻害によりメモリの動作に与える悪影響を抑制することができる。【００２６】
さらに、通常パトロール動作においてメモリのエラーを検出してからの経過時間がタイマ閾値を超えた場合に、通常リフレッシュモードのリフレッシュ周期に強制的に戻すことにより、改善不可能なエラーに対してリフレッシュ周期の調整処理を行なうことがなくなり、無駄なリフレッシュを続けることを防止することができる。
また、エラー頻度が一定になった場合に、追加監視間隔を延長することにより、不必要なパトロールを削減することができる。又、リフレッシュ周期を調製する際に追加監視間隔も合わせて調整することにより、エラー検出機構の効率化を図ることができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の一実施形態としてのメモリリフレッシュ回路の構成例を模式的に示す図である。
【図２】本発明の一実施形態としてのメモリリフレッシュ回路におけるメモリの構成例を模式的に示す図である。
【図３】（ａ）〜（ｃ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路における通常パトロール部および追加パトロール部によりパトロール要求を発行する例を示すタイミングチャートである。
【図４】（ａ）〜（ｃ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路における通常パトロール部および追加パトロール部によりパトロール要求を発行する例を示すタイミングチャートである。
【図５】（ａ），（ｂ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期を調整する例を示すタイミングチャートである。
【図６】（ａ），（ｂ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期を調整する例を示すタイミングチャートである。
【図７】（ａ），（ｂ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路における監視間隔変更部により追加監視間隔を変更する例を示すタイミングチャートである。
【図８】（ａ），（ｂ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期の下限値を変更する例を示すタイミングチャートである。
【図９】（ａ），（ｂ）はそれぞれ本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期の調整処理を解除する例を示すタイミングチャートである。
【図１０】本発明の一実施形態に係るメモリリフレッシュ回路のメモリにおいてリフレッシュを行なう具体的な処理手順の例を示すフローチャートである。
【図１１】本発明の一実施形態に係るメモリリフレッシュ回路のメモリ制御部により通常パトロール動作を制御する具体的な処理手順を示すフローチャートである。
【図１２】本発明の一実施形態に係るメモリリフレッシュ回路において初期化処理を行なう手順を示すフローチャートである。
【図１３】本発明の一実施形態に係るメモリリフレッシュ回路のメモリ制御部により追加パトロール動作を制御する具体的な処理手順を示すフローチャートである。
【図１４】本発明の一実施形態に係るメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期を調整する処理手順を示すフローチャートである。
【図１５】本発明の一実施形態としてのメモリリフレッシュ回路の監視間隔変更部において追加監視間隔を変更する具体的な処理手順を示すフローチャートである。
【図１６】本発明の一実施形態に係るメモリリフレッシュ回路における下限値算出部により下限値を算出する具体的な処理手順を示すフローチャートである。
【図１７】本発明の一実施形態に係るメモリリフレッシュ回路の短縮終了要求部においてタイマ閾値を経過した場合の具体的な処理手順を示すフローチャートである。
【図１８】従来のメモリリフレッシュ周期を制御する動作方式の例を模式的に示す図である。
【符号の説明】
【００２８】
１０  メモリリフレッシュ回路
１１  メモリ
１２  メモリ制御部
１３  外部インタフェース部
１４  ＥＣＣ回路
１５  計測部
１６  リフレッシュ要求発生部
１７  パトロール制御部
１８  調整制御部
１９  温度センサ
２０  アクセスカウンタ
２１  下限値算出部
２２  タイマ
２３  短縮終了要求部
２４  通常パトロール制御部
２５  追加パトロール制御部
２６  リフレッシュ周期調整部
２７  監視間隔変更部
３４−１〜３４−４  メモリセルアレイ
３６−１〜３６−４  行デコーダ
３８−１〜３８−４  列デコーダ
４０−１〜４０−４  センスアンプ
４２  アドレスバッファ
４４  Ｉ／Ｏバッファ
４６  コントロールロジック
４８  ＲＦカウンタ
５０  アドレスバス
５２  データバス
５４  制御コマンド線
６０−１〜６０−４  通常パトロールトリガ信号
６４  検出通知
６６−１〜６６−Ｎ  追加パトロールトリガ信号
【発明を実施するための最良の形態】
【００２９】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態の説明
図１は本発明の一実施形態としてのメモリリフレッシュ回路の構成例を模式的に示す図、図２はそのメモリリフレッシュ回路におけるメモリの構成例を模式的に示す図である。
本実施形態に係るメモリリフレッシュ回路（メモリリフレッシュ装置）１０は、リフレッシュ周期に合わせてメモリ１１のリフレッシュを行なうものであって、図１に示すように、メモリ１１，メモリ制御部１２，外部インタフェース部１３，ＥＣＣ（Error Correcting Code）回路１４，計測部１５，リフレッシュ要求発生部１６，パトロール制御部１７，調整制御部１８，温度センサ１９，アクセスカウンタ２０，下限値算出部２１，タイマ２２および短縮終了要求部２３をそなえた回路として構成されている。このメモリリフレッシュ回路１０は、例えば、ＰＣ（Personal Computer）等の情報処理装置に搭載されるメモリボード（図示省略）にそなえられる。【００３０】
メモリ１１は、ＤＲＡＭ（Dynamic Random Access Memory）またはＳＤＲＡＭ（Static Random Access Memory）等のメモリデバイスであり、例えば、ＭＩＣＲＯＮ社製のＤＤＲ２  ＳＤＲＡＭが使用される。
このメモリ１１は、例えば、図２に示すように、４バンク構成のメモリセルアレイであり、メモリセルアレイ３４−１，３４−２，３４−３および３４−４をそなえて構成されている。又、メモリセルアレイ３４−１〜３４−４のそれぞれに対しては、行デコーダ３６−１〜３６−４，列デコーダ３８−１〜３８−４およびセンスアンプ４０−１〜４０−４が設けられている。【００３１】
行デコーダ３６−１〜３６−４および列デコーダ３８−１〜３８−４に対しては、アドレスバッファ４２が設けられ、メモリ制御部１２（図１参照）からアドレスバス５０により指示された行アドレス及び列アドレスがデコードされ、対応するメモリ有りのデータを例えばワード（８ビット）を最小単位としてアクセスして、ライト動作またはリード動作が行なわれる。【００３２】
このため、センスアンプ４０−１〜４０−４に対しては、Ｉ／Ｏバッファ４４が設けられ、Ｉ／Ｏバッファ４４に対しては、外部インタフェース部１３（図１参照）からのデータバス５２がＥＣＣ回路１４（図１参照）を介して接続されている。
また、メモリ１１には、ＲＦカウンタ（リフレッシュカウンタ）４８とコントロールロジック４６とが設けられている。ＲＦカウンタ４８は、リフレッシュが行なわれてから次のリフレッシュが行なわれるまでの時間をカウントするものである。【００３３】
コントロールロジック４６は、メモリ制御部１２からのアドレスバス５０と制御コマンド線５４とが入力されるようになっており、制御コマンド線５４に基づく制御コマンド信号に基づき、メモリ１１の制御駆動を行なうようになっている。コントロールロジック４６によるメモリ１１の制御駆動としては、ライト動作，リード動作，リフレッシュ動作及びパトロール動作が主な制御動作である。又、制御コマンドの例としてリフレッシュコマンドがコントロールロジック４６に対しメモリ制御部１２から受信された際に、ＲＦカウンタ４８で定まるメモリセルアレイ３４−１〜３４−４の列アドレスを順次指定して、１回のリフレッシュ動作を実行する。【００３４】
ここで、４バンクのメモリセルアレイ３４−１〜３４−４における行数は例えばそれぞれ８１９２行であり、リフレッシュ実行時は４バンク同時に行なう。このためＲＦカウンタ４８は１回のリフレッシュコマンドを受けた際に８１９２行分の行アドレスを順次発生して、メモリセルアレイ３４−１〜３４−４における全ての記憶素子（セル）のリフレッシュ動作を実行する。【００３５】
この８１９２行アドレスの順次発生によるリフレッシュ動作の周期は、例えば６４ｍｓであり、従って、１つの行アドレス当たりのリフレッシュ周期は７．８１２５μｓとなる。
メモリセルアレイ３４−１〜３４−４に設けられている記憶素子（図示省略）に対するリフレッシュ動作は、リード動作におけるデータ出力を除いた動作手順と同じであり、次のようになる。【００３６】
（１）プリチャージスイッチ（図示省略）をオンして内部データ線（図示省略）をプリチャージ電源ライン（図示省略）の電圧（センスアンプスレッショルド電圧）と同じ電圧にする。
（２）プリチャージスイッチをオフする。このとき内部データ線には、規制容量によりプリチャージされた電圧が保持される。【００３７】
（３）ワード線（図示省略）を選択して電圧を与え、これにより記憶素子におけるＦＥＴのソース、ドレイン間が導通し、キャパシタ（図示省略）の情報が内部データ線に現れ、このとき内部データ線はプリチャージ電圧（スレッショルド電圧）になっているため、キャパシタに電荷があるデータ１の場合はスレッショルド電圧を超える電圧値となり、電荷がないデータ０の場合にはスレッショルド電圧を下回る電圧値となる。【００３８】
（４）センスアンプ４０−１〜４０−４を動作し、内部データ線の電圧をスレッショルド電圧を基準に０と１に該当する電圧に変換して出力し、このとき記憶素子のキャパシタには同じデータが再度記憶される。
メモリ制御部１２は、図１に示すように、メモリ１１へのアクセスを制御するものであって、例えば、メモリ１１として使用するメモリデバイスによって決まるタイミングで制御コマンド信号を出力し、メモリ１１に対するデータの書込みと読出し、更にはリフレッシュ動作およびパトロール動作を制御するようになっている。【００３９】
このメモリ制御部１２は、メモリ１１の仕様で予め規定されるリフレッシュ周期でメモリ１１のリフレッシュ動作を制御する通常リフレッシュモードや、後述するリフレッシュ周期調整部２６によって調整されたリフレッシュ周期でメモリ１１のリフレッシュ動作を制御するリフレッシュ周期短縮モードを実行するようになっている。
また、メモリ制御部１２は、後述する通常パトロール制御部２４の制御に従って、予め設定された監視間隔（通常監視間隔）でメモリ１１全体のパトロール（エラーパトロール；メモリパトロール）を行なう通常パトロール動作を行なわせるようになっている。具体的には、メモリ制御部１２は、通常パトロール動作として、通常監視間隔でメモリ１１のアドレス全体を定期的に走査し、これらのアドレスのデータを読み出すようになっている。【００４０】
さらに、メモリ制御部１２は、後述する通常パトロール制御部２４の制御に基づく通常パトロール動作においてメモリ１１のエラーを検出した場合に、後述する追加パトロール制御部２５の制御に従って、エラーが発生したエラー発生アドレス（エラー発生箇所）に対してパトロールを行なう追加パトロール動作を行なわせるようになっている。具体的には、メモリ制御部１２は、追加パトロール動作として、後述するＥＣＣ回路１４によって訂正可能なデータの誤りをエラーとして検出した場合に、エラー発生アドレスを、通常監視間隔よりも十分短い監視間隔（追加監視間隔）で集中的にパトロールを行なうようになっている。【００４１】
また、本実施形態においては、メモリ制御部１２は、通常パトロール動作が実行されてから次の通常パトロール動作が実行されるまでの時間をカウントする全体ＰＴカウンタ（図示省略）を用いて通常パトロール動作を制御し、追加パトロール動作が実行されてから次の追加パトロール動作が実行されるまでの時間をカウントする追加ＰＴカウンタ（図示省略）と、追加パトロール動作を実行した回数をカウントするＰＴ回数カウンタ（図示省略）とを用いて追加パトロール動作を制御するようになっている。【００４２】
なお、全体ＰＴカウンタ，追加ＰＴカウンタおよびＰＴ回数カウンタは既知の手法により実現されるものであり、その詳細な説明を省略するものとし、これらの全体ＰＴカウンタ，追加ＰＴカウンタおよびＰＴ回数カウンタを用いた場合の具体的な処理手順については後述する。
外部インタフェース部１３は、メモリリフレッシュ回路１０を組み込んでいる情報処理装置（図示省略）のプロセッサや他の制御装置を含む上位装置とのインタフェース制御を行なうものであって、例えば、プロセッサからのリードコマンドまたはライトコマンドの受信、プロセッサに対するリードデータの応答、プロセッサに対するメモリステータス情報の送信をインタフェース制御として行なうようになっている。【００４３】
ＥＣＣ回路１４は、メモリ制御部１２の制御によりメモリ１１に対しデータを書き込む際に、書込みデータから誤り検出訂正符号（検査ビット）を生成してデータに付加し、メモリ１１に書き込むものであって、例えば、メモリ制御部１２による通常パトロール動作および追加パトロール動作においてメモリ１１からデータを読み出したときに、読み出したデータとその誤り検出訂正符号を使用してデータの正常性を検査し、訂正可能な誤りをエラーとして検出した場合にデータの誤りを訂正するようになっている。【００４４】
本実施形態においては、ＥＣＣ回路１４は、例えば、単一誤り訂正二重誤り検出符号を誤り検出訂正符号として使用している。そのため、本実施形態のＥＣＣ回路１４は、読み出したデータから一重誤り（単一誤り）を検出した場合には、訂正可能な誤り（エラー）であると判断してこれを訂正し、二重誤り以上の誤りを検出した場合には、誤り訂正ができない誤りであると判断し、システム障害として外部インタフェース部１３を介して上位装置としてのプロセッサに通知するようになっている。【００４５】
計測部１５は、追加パトロール制御部２５による追加パトロール動作においてエラーを検出した場合、即ち、ＥＣＣ回路１４によって訂正可能なデータの誤りをエラーとして検出した場合に、エラー発生アドレスのエラーに関する情報をエラー頻度として計測するものであって、例えば、エラー発生アドレスにおける所定時間あたりのエラー数をエラー頻度として計測するようになっている。【００４６】
そして、計測部１５は、計測したエラー頻度を後述する調整制御部１８に通知するようになっている。
リフレッシュ要求発生部１６は、メモリ制御部１２に対しリフレッシュコマンドを発生させるためのトリガ信号を出力するものである。そして、このトリガ信号を受けたメモリ制御部１２は、メモリ１１に対しリフレッシュコマンドを発行してリフレッシュ動作を行なわせるようになっている。【００４７】
パトロール制御部１７は、メモリ１１のデータを定期的に読み出してデータの点検（メモリパトロール）を行なうための制御をするものであって、図１に示すように、通常パトロール制御部２４および追加パトロール制御部２５をそなえて構成されている。
通常パトロール制御部２４は、上述した通常パトロール動作を制御するものであり、  追加パトロール制御部２５は、上述した追加パトロール動作を制御するものである。【００４８】
図３および図４は本発明の一実施形態としてのメモリリフレッシュ回路におけるメモリ制御部１２によりパトロール動作を制御する例を示すタイミングチャートであり、図３（ａ）および図４（ａ）はＥＣＣ回路１４の誤り検出通知、図３（ｂ）および図４（ｂ）はパトロール制御部１７のバトロール要求の発行、図３（ｃ）および図４（ｃ）は後述するリフレッシュ周期調整部２６の動作状態をそれぞれ示している。【００４９】
図３（ａ）〜（ｃ）に示す例では、通常パトロール制御部２４は、通常パトロール動作時において、図３（ｂ）に示すように、通常監視間隔“Ｐ１”でメモリ制御部１２に対し通常パトロールトリガ信号６０−１〜６０−４を出力しており、メモリ制御部１２は、これらの通常パトロールトリガ信号６０−１〜６０−４を受けて、メモリ１１に対し通常パトロールコマンドを発行して通常パトロール動作を制御している。【００５０】
この状態で、例えば、時刻ｔ１でＥＣＣ回路１４がメモリ１１の読出しデータにつき訂正可能な一重誤りを検出した場合には、調整制御部１８は、図３（ａ）の誤り検出通知６４を受信するとともに、一重誤りを検出したエラー発生アドレスを受信して保持する。
また、図３（ｃ）に示すように、リフレッシュ周期調整部２６は、図３（ａ）の誤り検出通知６４を受信するとともに、後述するリフレッシュ周期短縮モードに移行し、リフレッシュ周期の調整処理を繰り返し行なう。【００５１】
そして、調整制御部１８は、時刻ｔ１で一重誤りの誤り検出通知６４を受信すると、追加パトロール制御部２５に対して、エラー発生アドレスに対する追加パトロール要求を発行する。
そのため、時刻ｔ１以降については、通常監視間隔“Ｐ１”で行なっている通常パトロールトリガ信号６０−１〜６０−４に加え、追加パトロール要求を受けた追加パトロール制御部２５が、図３（ｂ）に示すように、通常監視間隔“Ｐ１”より短い追加監視間隔“Ｐ２”で追加パトロール要求に対応した追加パトロールトリガ信号６６−１〜６６−６を発生する。【００５２】
この追加パトロールトリガ信号６６−１〜６６−６を受けたメモリ制御部１２は、エラー発生アドレスを指定して追加パトロールコマンドをメモリ１１に発行し、この結果、エラー検出アドレスに対し追加バトロール動作が実行され、後述するリフレッシュ周期調整部２６によって調整したリフレッシュ周期のリフレッシュ動作に伴うエラー発生アドレスのエラー発生頻度減少の効果を測定する。【００５３】
時刻ｔ１からのメモリ制御部１２における追加パトロール動作の制御は、図４（ａ）〜（ｃ）に示すように、リフレッシュ周期調整部２６のリフレッシュ周期短縮モードが解除されるまで行なわれる。リフレッシュ周期短縮モードが解除される条件については後述する。
調整制御部１８は、計測部１５によって計測されたエラー頻度に基づいて、リフレッシュ周期を調整するとともに、メモリ１１に対する監視間隔を変更するものであって、図１に示すように、リフレッシュ周期調整部２６および監視間隔変更部２７をそなえて構成されている。【００５４】
リフレッシュ周期調整部２６は、計測部１５によって計測されたエラー頻度に応じて、リフレッシュ周期を調整するものであって、例えば、計測部１５によって計測されたエラー頻度が大きくなった場合に、リフレッシュ周期を段階的に短縮し、計測部１５によって計測されたエラー頻度が小さくなった場合に、リフレッシュ周期を段階的に延長するようになっている。即ち、リフレッシュ周期調整部２６は、エラー頻度に応じてリフレッシュ周期の短縮度合いを調整するのである。【００５５】
図５および図６は本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期を調整する例を示すタイミングチャートであり、図５（ａ），（ｂ）はリフレッシュ周期を短縮してもエラー頻度が解消されない場合を示しており、図６（ａ），（ｂ）はリフレッシュ周期を短縮することでエラー頻度が解消される場合を示している。【００５６】
また、図５（ａ）および図６（ａ）は、エラー頻度の変化を時系列で示す図であり、縦軸にエラー頻度を、横軸に時間をそれぞれ示している。又、図５（ｂ）および図６（ｂ）は、リフレッシュ周期の変化を時系列で示す図であり、縦軸に単位時間あたりのリフレッシュ回数を、横軸に時間をそれぞれ示している。
なお、単位時間あたりのリフレッシュ回数が多くなるということは、リフレッシュ周期が短縮されることを意味するものである。【００５７】
具体的には、リフレッシュ周期調整部２６は、例えば、メモリ１１のリフレッシュを１０回行なう毎に１回程度の周期（例えば、図５（ｂ）の時間“ｔ”参照）でリフレッシュ周期の調整処理を繰り返し行なう。ここで、リフレッシュ周期調整部２６は、例えば、ＥＣＣ回路１４で訂正可能なエラーが検出された場合には、リフレッシュ周期短縮モードに移行する。リフレッシュ周期短縮モードでは、調整処理を行なう毎（図５（ｂ）の時間“ｔ”参照）に，単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図５（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を予め設定された単位周期“ｃｎ”ずつ短縮し、計測部１５によって計測されたエラー頻度が予め設定された閾値以下の場合もしくはエラー頻度が０の場合には、調整処理を行なう毎にリフレッシュ周期を単位周期ずつ延長する。【００５８】
そして、リフレッシュ周期調整部２６は、リフレッシュ周期の調整処理を開始した後に、通常リフレッシュモードのリフレッシュ周期と同等のリフレッシュ周期に調整されると、エラー多発状況から脱したものと判断し、リフレッシュ周期短縮モードを解除して通常リフレッシュモードに戻すようになっている。
例えば、図５（ａ）および図５（ｂ）に示すように、通常リフレッシュモードの単位時間あたりのリフレッシュ回数“Ｎ１”（図５（ｂ）参照）で算出されるリフレッシュ周期“ＣＮ１”（図示省略）でリフレッシュが実行されている場合において、ＥＣＣ回路１４でエラーが検出されると（図５（ａ）の時間“Ｔ１”参照）、通常リフレッシュモードからリフレッシュ周期短縮モードに移行する（図５（ａ）（ｂ）の時間“Ｔ１”以降（図中右側）参照）。【００５９】
なお、以下、単位時間あたりのリフレッシュ回数を示す符号“Ｎ１”，“Ｎ２”の前にそれぞれ符号“Ｃ”を付すことにより、単位時間あたりのリフレッシュ回数“Ｎ１”，“Ｎ２”で算出されるリフレッシュ周期“ＣＮ１”，“ＣＮ２”をそれぞれ示すものとする。
このリフレッシュ周期短縮モードにおいては、リフレッシュ周期調整部２６が、調整処理を開始し、調整処理を行なう毎（図５（ｂ）の時間“ｔ”参照）にリフレッシュ周期を段階的に短縮することにより（図５（ｂ）の時間“Ｔ１”〜“Ｔ４”参照）、エラー発生頻度に応じた適切なリフレッシュ周期に調整する。即ち、リフレッシュ周期調整部２６は、図５（ｂ）に示すように、単位時間あたりのリフレッシュ回数を所定回数（図５（ｂ）の符号“ｎ”参照）ずつ段階的に増加させ、これに伴いリフレッシュ周期を段階的に短縮させるのである。【００６０】
そして、エラー頻度が徐々に低下し（図５（ａ）の時間“Ｔ２”〜“Ｔ３”参照）、エラー頻度が閾値“ＴＨ”よりも高い一定の値“Ｅ１”を維持する状態になった場合には（図５（ａ）の時間“Ｔ３”以降参照）、リフレッシュ周期調整部２６は、リフレッシュ周期の短縮を停止させて一定のリフレッシュ周期“ＣＮ２”（図５（ｂ）の符号“Ｎ２”参照）を維持する（図５（ｂ）の時間“Ｔ４”以降参照）。【００６１】
また、例えば、図６（ａ）および図６（ｂ）に示すように、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”（図６（ｂ）の符号“Ｎ１”参照）でリフレッシュが実行されている場合において、ＥＣＣ回路１４でエラーが検出されると（図６（ａ）の時間“Ｔ５”参照）、通常リフレッシュモードからリフレッシュ周期短縮モードに移行する（図６（ａ）および（ｂ）の時間“Ｔ５”以降参照）。【００６２】
このリフレッシュ周期短縮モードにおいては、リフレッシュ周期調整部２６が、調整処理を開始し、調整処理を行なう毎（図６（ｂ）の時間“ｔ”参照）に，単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図６（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を段階的に短縮し、エラー発生頻度に応じた適切なリフレッシュ周期“ＣＮ２”（図６（ｂ）の符号“Ｎ２”参照）に調整する（図６（ｂ）の時間“Ｔ５”〜“Ｔ６”参照）。【００６３】
そして、エラー頻度が徐々に低下して閾値“ＴＨ”よりも低い状態を維持するようになった場合には（図６（ａ）に示す例では“０”；時間“Ｔ６”以降参照）、リフレッシュ周期調整部２６は、調整処理を行なう毎（図６（ｂ）の時間“ｔ”参照）に、単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図６（ｂ）の符号“ｎ”参照）ずつ減算することにより、リフレッシュ周期を段階的に延長し、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”（図６（ｂ）の符号“Ｎ１”参照）まで戻す（図６（ｂ）の時間“Ｔ７”〜“Ｔ８”参照）。【００６４】
その後、エラー頻度が閾値“ＴＨ”よりも高くならなければ（図６（ａ）の時間“Ｔ８”以降参照）、リフレッシュ周期調整部２６は、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”（図６（ｂ）の符号“Ｎ１”参照）を維持する（図６（ｂ）の時間“Ｔ８”以降参照）。
監視間隔変更部２７は、計測部１５によって計測されたエラー頻度に基づいて、パトロール制御部１７による追加監視間隔を変更するものであって、例えば、計測部１５によって計測されたエラー頻度が一定になった場合に、追加監視間隔を延長するようになっている。即ち、監視間隔変更部２７は、メモリ１１のパトロールを行なうタイミングをパトロール制御部１７（通常パトロール制御部２４，追加パトロール制御部２５）に指示するのである。【００６５】
また、本実施形態においては、監視間隔変更部２７は、計測部１５による前回の測定から計測部１５による今回の測定までに連続してエラー頻度が変化しなかった回数をカウントする収束カウンタ（図示省略）を用いて、上述した監視間隔を変更する制御を行なうようになっている。
なお、収束カウンタは既知の手法により実現されるものであり、その詳細な説明を省略するものとし、収束カウンタを用いた場合の具体的な処理手順については後述する。【００６６】
図７（ａ），（ｂ）は本発明の一実施形態としてのメモリリフレッシュ回路における監視間隔変更部により追加監視間隔を変更する例を示すタイミングチャートであり、図７（ａ）は、パトロール回数の変化を時系列で示す図であり、縦軸に単位時間あたりのパトロール回数を、横軸に時間をそれぞれ示しており、図７（ｂ）は、リフレッシュ周期の変化を時系列で示す図であり、縦軸に単位時間あたりのリフレッシュ回数を、横軸に時間をそれぞれ示している。【００６７】
なお、単位時間あたりのパトロール回数が多くなるということは、監視間隔が短くなることを意味するものである。
例えば、メモリ制御部１２が、単位時間あたりの監視回数“Ｐ１”で算出される通常監視間隔“ＩＰ１”で通常パトロール動作を制御しており、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”（図７（ｂ）の符号“Ｎ１”参照）でリフレッシュ動作を制御している場合において、計測部１５によって計測されたエラー頻度が閾値よりも高くなると（図示省略）、通常リフレッシュモードからリフレッシュ周期短縮モードに移行する。【００６８】
なお、以下、単位時間あたりの監視回数を示す符号“Ｐ１”，“Ｐ２”，“Ｐ３”の前にそれぞれ符号“Ｉ”を付すことにより、単位時間あたりの監視回数“Ｐ１”，“Ｐ２”，“Ｐ３”で算出される監視間隔“ＩＰ１”，“ＩＰ２”，“ＩＰ３”をそれぞれ示すものとする。
このリフレッシュ周期短縮モードにおいては、メモリ制御部１２が、追加監視間隔のデフォルト値（ｄｅｆａｕｌｔ値；短間隔）“ＣＰ２”（図７（ａ）の符号“Ｐ２”参照）で追加パトロール動作を制御し、これに合わせて、リフレッシュ周期調整部２６が、調整処理を開始し、調整処理を行なう毎（図７（ｂ）の時間“ｔ”参照）に、単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図７（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を段階的に短縮し、エラー発生頻度に応じた適切なリフレッシュ周期“ＣＮ２”（図７（ｂ）の符号“Ｎ２”参照）に調整する（図７（ｂ）の時間“Ｔ９”〜“Ｔ１０”参照）。【００６９】
そして、リフレッシュ周期調整部２６においてリフレッシュ周期“ＣＮ２”を維持する状態になった場合（図７（ｂ）の時間“Ｔ１０”以降参照）、即ち、計測部１５によって計測されたエラー頻度が一定に収束した場合（図示省略）には、監視間隔変更部２７は、計測部１５によって計測されたエラー頻度に基づいて、追加監視間隔を、短間隔“ＩＰ２”（図７（ａ）の符号“Ｐ２”参照）からこの短間隔“ＩＰ２”よりも長い間隔（長間隔）“ＩＰ３”（図７（ａ）の符号“Ｐ３”参照）に延長する制御を行なう（図７（ａ）の時間“Ｔ１１”参照）。【００７０】
これにより、不必要なパトロールを削減することができ、更に、リフレッシュ周期を調製する際に追加監視間隔も合わせて調整することにより、エラー検出機構の効率化を図るのである。
図１中、温度センサ１９は、メモリ１１の温度を検知するものである。アクセスカウンタ２０は、メモリ１１へのアクセス頻度を計測するものであって、例えば、一定時間内におけるメモリ１１へのアクセス数をアクセス頻度としてカウントするようになっている。【００７１】
なお、これらの温度センサ１９およびアクセスカウンタ２０は既知の技術であり、その詳細な説明については省略するものとする。
下限値算出部２１は、図１に示すように、温度センサ１９によって検知された温度やアクセスカウンタ２０によって計測されたアクセス頻度に基づいて、リフレッシュ周期の下限値（限界値）を算出するものであって、例えば、予め設定された時間間隔で温度センサ１９やアクセスカウンタ２０を監視し、正常なアクセス頻度の上限値として予め設定されたアクセス頻度閾値や正常な温度の上限値として予め設定された温度閾値を超えた場合には、アクセス頻度や温度に応じて、リフレッシュ周期の下限値を段階的に短縮するようになっている。この下限値算出部２１は、メモリ１１に悪影響を与えない下限値になるまで段階的に短縮されるようになっている。【００７２】
また、下限値算出部２１は、算出した下限値をリフレッシュ周期調整部２６に通知し、リフレッシュ周期調整部２６が、下限値算出部２１から通知されたリフレッシュ周期の下限値を設定するようになっている。即ち、リフレッシュ周期調整部２６は、予め設定された下限値以上で該リフレッシュ周期を調整し、メモリ１１の温度であるメモリ温度やメモリ１１へのアクセス頻度に基づいて、下限値を変更するのである。【００７３】
図８（ａ），（ｂ）は本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期の下限値を変更する例を示すタイミングチャートである。
また、図８（ａ）は、エラー頻度の変化を時系列で示す図であり、縦軸にエラー頻度を、横軸に時間をそれぞれ示している。又、図８（ｂ）は、リフレッシュ周期の変化を時系列で示す図であり、縦軸に単位時間あたりのリフレッシュ回数を、横軸に時間をそれぞれ示している。【００７４】
例えば、図８（ａ）および（ｂ）に示すように、計測部１５によって計測されたエラー頻度が閾値“ＴＨ”よりも高い状態を維持している場合には、リフレッシュ周期短縮モードが実行されており、リフレッシュ周期調整部２６が、調整処理を行なう毎（図８（ｂ）の時間“ｔ”参照）に、単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図８（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を段階的に短縮する（図８（ｂ）の時間“Ｔ１２”〜“Ｔ１３”参照）。【００７５】
そして、リフレッシュ周期調整部２６は、予め設定されている単位時間あたりのリフレッシュ回数“ＮＬ３”（図８（ｂ）参照）で算出される下限値のデフォルト値（ｄｅｆａｕｌｔ値）“ＣＮＬ３”までリフレッシュ周期を短縮すると、この下限値のデフォルト値“ＣＮＬ３”のリフレッシュ周期を維持する（図８（ｂ）の時間“Ｔ１３”〜“Ｔ１４”参照）。【００７６】
なお、以下、単位時間あたりのリフレッシュ回数を示す符号“ＮＬ３”〜“ＮＬ５”の前にそれぞれ符号“Ｃ”を付すことにより、単位時間あたりのリフレッシュ回数“ＮＬ３”〜“ＮＬ５”で算出される下限値“ＣＮＬ３”〜“ＣＮＬ５”をそれぞれ示すものとする。
ここで、下限値算出部２１は、予め設定された時間間隔（図８（ｂ）の時間“Ｔ１４”〜“Ｔ１５”参照）でアクセス頻度や温度を監視し、メモリ１１が高温もしくは頻繁にアクセスされる状態になったことを検知した場合には、これらのアクセス頻度や温度に基づいて、下限値のデフォルト値“ＮＬ３”よりも長い下限値“ＮＬ４”を算出する。又、リフレッシュ周期調整部２６は、下限値を“ＣＮＬ３”（図８（ｂ）の符号“ＮＬ３”参照）から“ＣＮＬ４”（図８（ｂ）の符号“ＮＬ４”参照）に変更するとともに、リフレッシュ周期を“ＣＮＬ３”から“ＣＮＬ４”に調整する（図８（ｂ）の時間“Ｔ１４”参照）。【００７７】
リフレッシュ周期の下限値を“ＣＮＬ４”に変更した後に、メモリ１１が高温もしくは頻繁にアクセスされる状態が解消されない場合には、下限値算出部２１は、アクセス頻度や温度に基づいて、下限値“ＣＮＬ４”よりも長い下限値“ＣＮＬ５”（図８（ｂ）の符号“ＮＬ５”参照）を算出する。又、リフレッシュ周期調整部２６は、下限値を“ＣＮＬ４”から“ＣＮＬ５”に変更するとともに、リフレッシュ周期を“ＣＮＬ４”から“ＣＮＬ５”に調整する（図８（ｂ）の時間“Ｔ１５”参照）。【００７８】
なお、メモリ１１が高温もしくは頻繁にアクセスされる状態が解消されると、リフレッシュ周期調整部２６は、下限値をデフォルト値“ＣＮＬ３”に戻す。
これにより、過剰なリフレッシュを防止するとともに、過剰なリフレッシュによりメモリ１１の動作に与える悪影響を抑制することができるのである。
タイマ２２は、図１に示すように、通常パトロール制御部２４による通常パトロール動作においてメモリ１１のエラーを検出してからの経過時間を計測（カウント）するものであって、既知の種々の技術で実現できる。このタイマ２２は、リフレッシュ周期調整部２６においてリフレッシュ周期の調整処理が始まると時間の計測を開始し、経過時間が予め設定された時間（タイマ閾値）を経過すると、その旨を後述する短縮終了要求部２３に通知するようになっている。なお、タイマ２２は、経過時間がタイマ閾値を経過する前にリフレッシュ周期の調整処理が終わると、経過時間の計測を終了するようになっている。【００７９】
短縮終了要求部２３は、経過時間が上述したタイマ閾値を経過した旨の通知をタイマ２２から受けた場合に、リフレッシュ周期調整部２６に対して、リフレッシュ周期の調整処理を終了する命令を短縮終了要求として通知するものである。
そして、リフレッシュ周期調整部２６は、短縮終了要求部２３から短縮終了要求が通知されると、リフレッシュ周期の調整処理を終了し、通常リフレッシュモードのリフレッシュ周期（既定値）に強制的に戻すとともに、調整処理を終了した旨をメモリエラーとしてシステム（情報処理装置；図示省略）に通知するようになっている。【００８０】
図９（ａ），（ｂ）は本発明の一実施形態としてのメモリリフレッシュ回路におけるリフレッシュ周期調整部によりリフレッシュ周期の調整処理を解除する例を示すタイミングチャートである。
また、図９（ａ）は、エラー頻度の変化を時系列で示す図であり、縦軸にエラー頻度を、横軸に時間をそれぞれ示している。又、図９（ｂ）は、リフレッシュ周期の変化を時系列で示す図であり、縦軸に単位時間あたりのリフレッシュ回数を、横軸に時間をそれぞれ示している。【００８１】
例えば、図９（ａ）および（ｂ）に示すように、メモリ制御部１２が通常リフレッシュモードのリフレッシュ周期“ＣＮ１”（図９（ｂ）の符号“Ｎ１”参照）でリフレッシュ動作を制御している場合において、ＥＣＣ回路１４でエラーが検出されると（図９（ａ）の時間“Ｔ１６”参照）、通常リフレッシュモードからリフレッシュ周期短縮モードに移行する（図９（ａ）および（ｂ）の時間“Ｔ１６”以降参照）。【００８２】
このリフレッシュ周期短縮モードにおいては、リフレッシュ周期調整部２６が、調整処理を開始し、調整処理を行なう毎（図９（ｂ）の時間“ｔ”参照）に、単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図９（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を段階的に短縮する（図９（ｂ）の時間“Ｔ１６”〜“Ｔ１８”参照）。【００８３】
そして、予め設定されている下限値のデフォルト値（ｄｅｆａｕｌｔ値）“ＣＮＬ３” （図９（ｂ）の符号“ＮＬ３”参照）までリフレッシュ周期を短縮しても、エラー頻度が閾値“ＴＨ”よりも高い状態である場合には（図９（ａ）の時間“Ｔ１８”参照）、リフレッシュ周期調整部２６は、下限値のデフォルト値“ＣＮＬ３”のリフレッシュ周期を維持する（図９（ｂ）の時間“Ｔ１８”〜“Ｔ１９”参照）。【００８４】
この状態において、エラー頻度が閾値“ＴＨ”よりも高い状態を維持したままタイマ閾値“Ｘ”を経過した場合には、短縮終了要求部２３は、タイマ２２からの通知を受けて、短縮終了要求をリフレッシュ周期調整部２６に通知する。短縮終了要求部２３から通知を受けたリフレッシュ周期調整部２６は、リフレッシュ周期の調整処理を終了し、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”に戻す（図９（ｂ）の時間“Ｔ１９”参照）。【００８５】
従って、リフレッシュ周期調整部２６は、通常パトロール制御部２４による通常パトロール動作においてメモリ１１のエラーを検出してからの経過時間が所定時間を超えた場合に、リフレッシュ周期を既定値に戻すようになっている。
これにより、リフレッシュ周期を短縮して長時間が経過してもエラーが解消されない場合、即ち、リフレッシュ周期の調整処理を一定時間以上行なっても効果が得られない場合には、タイマ２２からの指示によりリフレッシュ周期の調整処理を強制的に解除することができるのである。【００８６】
上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０のメモリ１１においてリフレッシュを行なう具体的な処理手順の例を、図１０に示すフローチャート（Ａ１１〜Ａ１５）に従って説明する。
なお、以下の説明においては、“ＲＦカウンタ”は、ＲＦカウンタ４８の値を示す変数であり、“ＲＦ周期”は、リフレッシュ周期としてＲＦカウンタ４８の上限値を示す変数である。即ち、“ＲＦカウンタ”の値が“ＲＦ周期”の値に達するとリフレッシュが行なわれる。又、“ＲＦ最大値”は、通常リフレッシュモードのリフレッシュ周期“ＣＮ１”としてＲＦカウンタ４８の最大許容値を示す定数であり、“ＲＦ周期”＝“ＲＦ最大値”のときに通常リフレッシュモードのリフレッシュ周期（エラー未発生時のリフレッシュ周期）でリフレッシュが行なわれる。【００８７】
情報処理装置１０がパワーオンされると、“ＲＦ周期”に“ＲＦ最大値”の値が設定され（ステップＡ１１）、“ＲＦカウンタ”の値がリセットされる（ステップＡ１２）。
また、“ＲＦカウンタ”に値“１（１Ｓｔｅｐ）”が所定間隔で順次加算され（ステップＡ１３）、“ＲＦカウンタ”の値と“ＲＦ周期”の値との比較が行なわれ（ステップＡ１４）、この加算する処理が、“ＲＦカウンタ”の値が“ＲＦ周期”の値に達するまで繰り返し行なわれる（ステップＡ１４の“ＮＯ”ルート参照）。【００８８】
そして、“ＲＦカウンタ”の値が“ＲＦ周期”の値に達すると（ステップＡ１４の“ＹＥＳ”ルート参照）、メモリ１１のリフレッシュが行なわれた後に（ステップＡ１５）、ステップＡ１２に戻り、上述したステップＡ１２〜ステップＡ１５の処理が繰り返し行なわれる。
これにより、メモリ１１のリフレッシュが定期的に行なわれるのである。【００８９】
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０のメモリ制御部１２により通常パトロール動作を制御する具体的な処理手順を、図１１に示すフローチャート（ステップＢ１１〜Ｂ１７）に従って説明する。
なお、以下の説明においては、“全体ＰＴカウンタ”は、全体ＰＴカウンタの値を示す変数であり、“通常監視間隔”は、通常監視間隔“ＩＰ１”として全体ＰＴカウンタの上限値を示す定数である。【００９０】
メモリ制御部１２は、後述する初期化処理を実行し（ステップＢ１１）、“全体ＰＴカウンタ”の値をリセットする（ステップＢ１２）。
メモリ制御部１２は、“全体ＰＴカウンタ”に値“１（１Ｓｔｅｐ）”を順次加算し（ステップＢ１３）、“全体ＰＴカウンタ”の値と“通常監視間隔”の値との比較を順次行なうことにより（ステップＢ１４）、この加算する処理を“全体ＰＴカウンタ”の値が“通常監視間隔”の値に達するまで繰り返し行なう（ステップＢ１４の“ＮＯ”ルート参照）。【００９１】
“全体ＰＴカウンタ”の値が予め設定された“通常監視間隔”の値に達すると（ステップＢ１４の“ＹＥＳ”ルート参照）、メモリ制御部１２は、通常パトロール動作を制御する（ステップＢ１５；通常パトロール制御ステップ）。
通常パトロール動作においてエラーを検出した場合には（ステップＢ１６の“ＹＥＳ”ルート参照）、後述するリフレッシュ周期短縮モードの処理が開始され（ステップＢ１７）、ステップＢ１１に戻る。【００９２】
一方、通常パトロール動作においてエラーを検出しなかった場合には（ステップＢ１６の“ＮＯ”ルート参照）、ステップＢ１２に戻る。
そして、メモリ制御部１２は、上述したステップＢ１１〜ステップＢ１７の処理を繰り返し行なう。
これにより、予め設定された通常監視間隔で、メモリ１１全体に対して通常パトロール動作が実行されるのである。【００９３】
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０において初期化処理を行なう手順を、図１２に示すフローチャート（ステップＣ１１〜Ｃ１４）に従って説明する。
なお、以下の説明においては、上記同様に、“ＲＦ周期”および“ＲＦ最大値”を示し、“ＲＦ最小値”は、リフレッシュ周期短縮モードのリフレッシュ周期としてＲＦカウンタ４８の最小許容値を示す変数であり、“ＲＦ周期”＝“ＲＦ最小値”のときにリフレッシュ周期短縮モードのリフレッシュ周期でリフレッシュが行なわれる。又、“前ＥＲ頻度”は、計測部１５によって前回計測されたエラー頻度（一巡前のループで計算されたエラー頻度）を示す変数である。更に、“追加監視間隔”は、追加監視間隔として追加ＰＴカウンタの上限値を示す変数である。【００９４】
先ず、“ＲＦ周期”に“ＲＦ最大値”が設定され（ステップＣ１１）、“ＲＦ最小値”にデフォルト値が設定される（ステップＣ１２）。
また、“追加監視間隔”にデフォルト値が設定され（ステップＣ１３）、“前ＥＲ頻度”に“０”が設定されて（ステップＣ１４）、処理を終了する。
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０のメモリ制御部１２により追加パトロール動作を制御する具体的な処理手順を、図１３に示すフローチャート（ステップＤ１１〜Ｄ１９）に従って説明する。【００９５】
なお、以下の説明においては、上記同様に、“追加監視間隔”を示し、“追加ＰＴカウンタ”は、追加ＰＴカウンタの値を示す変数であり、“ＰＴ回数カウンタ”は、ＰＴ回数カウンタの値を示す変数である。又、“エラー数”は、メモリ制御部１２によってエラー発生アドレスのエラーを検出した回数（エラーアドレスへのパトロールリードによってエラーが検出された回数）を示す変数であり、“ＰＴ閾値”は、リフレッシュ周期の調整処理を行なう時間間隔としてＰＴ回数カウンタを示す定数である。【００９６】
メモリ制御部１２は、“エラー数”の値をリセットし（ステップＤ１１）、“追加ＰＴカウンタ”の値をリセットする（ステップＤ１２）。
メモリ制御部１２は、“追加ＰＴカウンタ”に値“１（１Ｓｔｅｐ）”を順次加算（インクリメント）し（ステップＤ１３）、“追加ＰＴカウンタ”の値と“追加監視間隔”の値との比較を順次行なうことにより（ステップＤ１４）、この加算する処理を“追加ＰＴカウンタ”の値が“追加監視間隔”の値に達するまで繰り返し行なう（ステップＤ１４の“ＮＯ”ルート参照）。【００９７】
“追加ＰＴカウンタ”の値が“追加監視間隔”の値以上になると（ステップＤ１４の“ＹＥＳ”ルート参照）、メモリ制御部１２は、追加パトロール動作を制御する（ステップＤ１５；追加パトロール制御ステップ）。
追加パトロール動作においてエラー検出を行ない（ステップＤ１６）、追加パトロール動作においてエラーを検出した場合には（ステップＤ１６の“ＹＥＳ”ルート参照）、メモリ制御部１２は、“エラー数”に値“１”を加算し（ステップＤ１７）、“ＰＴ回数カウンタ”に値“１（１Ｓｔｅｐ）”を加算する（ステップＤ１８）。【００９８】
一方、追加パトロール動作においてエラーを検出しなかった場合には（ステップＤ１６の“ＮＯ”ルート参照）、ステップＤ１８に移行する。
メモリ制御部１２は、“ＰＴ回数カウンタ”の値と“ＰＴ閾値”の値とを比較し（ステップＤ１９）、“ＰＴ回数カウンタ”の値が“ＰＴ閾値”の値以上の場合には（ステップＤ１９の“ＹＥＳ”ルート参照）、処理を終了する。【００９９】
一方、“ＰＴ回数カウンタ”の値が“ＰＴ閾値”の値未満の場合には（ステップＤ１９の“ＮＯ”ルート参照）、ステップＤ１２に戻る。
そして、“ＰＴ回数カウンタ”の値が“ＰＴ閾値”の値以上になるまで、上述したステップＤ１２〜ステップＤ１９の処理を繰り返し行なう。
これにより、通常監視間隔よりも十分短い間隔で、エラー発生アドレスに対して追加パトロール動作が実行されるのである。【０１００】
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０のリフレッシュ周期調整部２６によりリフレッシュ周期を調整する具体的な処理手順を、図５および図６を参照しながら、図１４に示すフローチャート（ステップＥ１１〜Ｅ１９）に従って説明する。
なお、以下の説明においては、上記同様に、“エラー数”，“ＰＴ閾値”，“ＲＦ周期”，“ＲＦ最大値”，“前ＥＲ頻度”および“ＲＦ最小値”を示し、“ＥＲ頻度”は、計測部１５によって計測されたエラー頻度（エラーの発生割合）を示す変数である。又、“ＥＲ閾値”は、リフレッシュ周期を短縮するか否かを判断する閾値“ＴＨ”（図５および図６参照）を示す定数であり、“ＥＲ頻度”＞“ＥＲ閾値”のときにリフレッシュ周期が短縮される。【０１０１】
計測部１５は、追加パトロール動作が実行されている状態で（ステップＥ１１）、“エラー数”の値を“ＰＴ閾値”の値で除算して“ＥＲ頻度”を算出する（ステップＥ１２；計測ステップ）。
リフレッシュ周期調整部２６は、“ＥＲ頻度”の値と“ＥＲ閾値”の値（図５（ａ）および図６（ａ）の符号“ＴＨ”参照）とを比較する（ステップＥ１３）。【０１０２】
比較の結果、“ＥＲ頻度”の値が“ＥＲ閾値”の値以上の場合には（ステップＥ１３の“ＮＯ”ルート参照；図５（ａ）の時間“Ｔ２”および図６（ａ）の時間“Ｔ５”〜“Ｔ６”参照）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一であるか否かを判定する（ステップＥ１４）。
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と異なる場合には（ステップＥ１４の“ＮＯ”ルート参照；図５（ａ）の時間“Ｔ１”〜“Ｔ３”参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値が“ＲＦ最小値”の値と同一であるか否かを判定する（ステップＥ１５）。【０１０３】
“ＲＦ周期”の値が“ＲＦ最小値”の値と異なる場合には（ステップＥ１５の“ＮＯ”ルート参照；図５（ｂ）の時間“Ｔ２”〜“Ｔ３”および図６（ｂ）の時間“Ｔ５”〜“Ｔ８”参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”から値“１（１Ｓｔｅｐ；図３（ｂ）および図４（ｂ）の時間“ｔ”参照）”を減算（デクリメント）し（ステップＥ１６；リフレッシュ周期調整ステップ）、“前ＥＲ頻度”を“ＥＲ頻度”に設定して（ステップＥ１７）、ステップＥ１１に戻る。【０１０４】
“ＲＦ周期”の値が“ＲＦ最小値”の値と同一である場合には（ステップＥ１５の“ＹＥＳ”ルート参照）、ステップＥ１７に移行する。
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一である場合には（ステップＥ１４の“ＹＥＳ”ルート参照；図５（ａ）の時間“Ｔ４”以降参照）、ステップＥ１７に移行する。
一方、“ＥＲ頻度”の値が“ＥＲ閾値”の値未満の場合には（ステップＥ１３の“ＹＥＳ”ルート参照；図６（ａ）の時間“Ｔ６”以降参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値と“ＲＦ最大値”の値とを比較する（ステップＥ１８）。【０１０５】
“ＲＦ周期”の値が“ＲＦ最大値”の値未満の場合には（ステップＥ１８の“ＮＯ”ルート参照；図６（ｂ）の時間“Ｔ７”〜“Ｔ８”参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”に値“１（１Ｓｔｅｐ）”を加算し（ステップＥ１９；リフレッシュ周期調整ステップ）、ステップＥ１７に移行する。
“ＲＦ周期”の値が“ＲＦ最大値”の値以上の場合には（ステップＥ１８の“ＹＥＳ”ルート参照；図６（ｂ）の時間“Ｔ８”以降参照）、処理を終了する。【０１０６】
即ち、リフレッシュ周期調整部２６は、図１４に示す処理を実行することにより、表１に示す制御を行なうようになっている。【０１０７】
【表１】
2009011052.tif 000003
【０１０８】
これにより、エラー頻度に合わせてリフレッシュ周期が調整されるのである。
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路２１の監視間隔変更部２７において追加監視間隔を変更する具体的な処理手順を、図７を参照しながら、図１５に示すフローチャート（ステップＦ１１〜Ｆ２９）に従って説明する。
なお、以下の説明においては、上記と同様に、“エラー数”，“ＰＴ閾値”，“ＲＦ周期”，“ＲＦ最大値”，“前ＥＲ頻度”，“ＲＦ最小値”，“通常監視間隔”，“追加監視間隔”および“ＥＲ閾値”を示し、“収束閾値”は、収束カウンタの上限値を示す定数である。又、“短間隔”は、追加監視間隔のデフォルト値“ＩＰ２”を示す定数であり、“長間隔”は、短間隔“ＩＰ２”よりも長い間隔“ＩＰ３”を追加監視間隔として示す定数である。【０１０９】
監視間隔変更部２７は、“追加監視間隔”に“短間隔”の値（図７（ａ）の時間“Ｐ２”参照）を設定する（ステップＦ１１）。
そして、計測部１５は、追加パトロール動作が実行されている状態で（ステップＦ１２；図７の時間“Ｔ８”以降参照）、“エラー数”の値を“ＰＴ閾値”の値で除算して“エラー頻度”を算出し（ステップＦ１３）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値と“ＥＲ閾値”の値とを比較する（ステップＦ１４）。【０１１０】
比較の結果、“ＥＲ頻度”の値が“ＥＲ閾値”の値以上の場合には（ステップＦ１４の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一であるか否かを判定する（ステップＦ１５）。
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と異なる場合には（ステップＦ１５の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値が“ＲＦ最小値”の値と同一であるか否かを判定する（ステップＦ１６）。【０１１１】
“ＲＦ周期”の値が“ＲＦ下限値”の値と異なる場合には（ステップＦ１６の“ＮＯ”ルート参照；図７（ｂ）の時間“Ｔ９”〜“Ｔ１０”参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”から値“１（１Ｓｔｅｐ）”を減算する（ステップＦ１７）。
そして、監視間隔変更部２７は、“収束カウンタ”の値をリセットするとともに（ステップＦ１８）、“追加監視間隔”に“短間隔”の値を設定した後に（ステップＦ１９）、リフレッシュ周期調整部２６が、“前ＥＲ頻度”に“ＥＲ頻度”の値を設定して（ステップＦ２０）、ステップＦ１２に戻る。【０１１２】
“ＲＦ周期”の値が“ＲＦ最小値”の値（図７（ｂ）の符号“ＮＬ３”参照）と同一である場合には（ステップＦ１６の“ＹＥＳ”ルート参照；図７（ｂ）の時間“Ｔ１０”〜“Ｔ１１”参照）、監視間隔変更部２７は、“収束カウンタ”の値をリセットするとともに（ステップＦ２１）、“追加監視間隔”に“短間隔”の値を設定して（ステップＦ２２）、ステップＦ２０に移行する。【０１１３】
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一である場合には（ステップＦ１５の“ＹＥＳ”ルート参照）、監視間隔変更部２７は、“収束カウンタ”に値“１（１Ｓｔｅｐ）”を加算し（ステップＦ２３）、“収束カウンタ”の値と“収束閾値”の値とを比較する（ステップＦ２４）。
“収束カウンタ”の値が“収束閾値”の値以上の場合には（ステップＦ２４の“ＹＥＳ”ルート参照）、監視間隔変更部２７は、“追加監視間隔”の値を“長間隔”の値（図７（ａ）の符号“Ｐ３”参照）に設定して（ステップＦ２５；図７（ａ）の時間“Ｔ１１”以降参照；監視間隔変更ステップ）、ステップＦ２０に移行する。【０１１４】
“収束カウンタ”の値が“収束閾値”の値未満の場合には（ステップＦ２４の“ＮＯ”ルート参照）、ステップＦ２０に移行する。
一方、“ＥＲ頻度”の値が“ＥＲ閾値”の値未満の場合には（ステップＦ１４の“ＹＥＳ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値と“ＲＦ最大値”の値とを比較する（ステップＦ２６）。【０１１５】
“ＲＦ周期”の値が“ＲＦ最大値”の値未満の場合には（ステップＦ２６の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”に値“１（１Ｓｔｅｐ）”を加算する（ステップＦ２７）。
そして、監視間隔変更部２７は、“収束カウンタ”の値をリセットし（ステップＦ２８）、“追加監視間隔”の値を“短間隔”の値に設定して（ステップＦ２９）、ステップＦ２０に移行する。【０１１６】
“ＲＦ周期”の値が“ＲＦ最大値”の値以上の場合には（ステップＦ２６の“ＹＥＳ”ルート参照）、処理を終了する。
これにより、短縮されたリフレッシュ周期が一定値に収束した場合に追加監視間隔を延長するのである。
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０の下限値算出部２１により下限値を算出する具体的な処理手順を、メモリ１１の温度に基づいて算出する場合を例に、図８を参照しながら、図１６に示すフローチャート（ステップＧ１１〜Ｇ２５）に従って説明する。【０１１７】
なお、以下の説明においては、上記同様に、“エラー数”，“ＰＴ閾値”，“ＲＦ周期”，“ＲＦ最大値”，“前ＥＲ頻度”，“ＲＦ最小値”および“ＥＲ閾値”を示し、“温度”は、温度センサ１９によって計測される温度を示す変数であり、“温度閾値”は、システムが正常と判断する温度の上限値を示す定数である。
計測部１５は、追加パトロール動作が実行されている状態で（ステップＧ１１）、“エラー数”の値を“ＰＴ閾値”の値で除算して“エラー頻度”を算出する（ステップＧ１２）。【０１１８】
下限値算出部２１は、温度センサ１９に基づいて温度の計測を実行し（ステップＧ１３）、“温度”の値と“温度閾値”の値とを比較する（ステップＧ１４）。
“温度”の値が“温度閾値”の値よりも大きい場合には（ステップＧ１４の“ＹＥＳ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”から値“１（１Ｓｔｅｐ；図８（ｂ）の符号“ｎ”参照）”を減算し（ステップＧ１５）、ステップＧ１８に移行する。【０１１９】
“温度”の値が“温度閾値”の値以下である場合には（ステップＧ１４の“ＮＯ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”の値がデフォルト値であるか否かを判断する（ステップＧ１６）。“ＲＦ最小値”の値がデフォルト値である場合には（ステップＧ１６の“ＹＥＳ”ルート参照）、ステップＧ１８に移行する。
“ＲＦ最小値”の値がデフォルト値でない場合には（ステップＧ１６の“ＮＯ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”に値“１（１Ｓｔｅｐ）”を加算し（ステップＧ１７）、ステップＧ１８に移行する。【０１２０】
そして、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値と“ＥＲ閾値”の値（図８（ａ）の符号“ＴＨ”参照）とを比較する（ステップＧ１８）。
比較の結果、“ＥＲ頻度”の値が“ＥＲ閾値”の値以上の場合には（ステップＧ１８の“ＮＯ”ルート参照；図８（ａ）参照）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一であるか否かを判定する（ステップＧ１９）。【０１２１】
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と異なる場合には（ステップＧ１９の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値が“ＲＦ最小値”の値と同一であるか否かを判定する（ステップＧ２０）。
“ＲＦ周期”の値が“ＲＦ最小値”の値と異なる場合には（ステップＧ２０の“ＮＯ”ルート参照）、“ＲＦ周期”から値“１（１Ｓｔｅｐ）”を減算し（ステップＧ２１）、“前ＥＲ頻度”の値を“ＥＲ頻度”の値に設定して（ステップＧ２２）、ステップＧ１１に戻る。【０１２２】
“ＲＦ周期”の値が“ＲＦ最小値”の値と同一である場合には（ステップＧ２０の“ＹＥＳ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値を“ＲＦ最小値”の値に設定し（ステップＧ２３）、ステップＧ２２に移行する。
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一である場合には（ステップＧ１９の“ＹＥＳ”ルート参照；図８（ａ）参照）、ステップＧ２２に移行する。【０１２３】
一方、“ＥＲ頻度”の値が“ＥＲ閾値”の値未満の場合には（ステップＧ１８の“ＹＥＳ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値と“ＲＦ最大値”の値とを比較する（ステップＧ２４）。
“ＲＦ周期”の値が“ＲＦ最大値”の値未満の場合には（ステップＧ２４の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”に値“１（１Ｓｔｅｐ）”を加算し（ステップＧ２５）、ステップＧ２２に移行する。【０１２４】
“ＲＦ周期”の値が“ＲＦ最大値”の値以上の場合には（ステップＧ２４の“ＹＥＳ”ルート参照）、処理を終了する。
これにより、過剰なリフレッシュを防止するとともに、過剰なリフレッシュによりメモリ１１の動作に与える悪影響を抑制することができるのである。
次に、上述の如く構成された本発明の一実施形態に係るメモリリフレッシュ回路１０の短縮終了要求部２３においてタイマ閾値を経過した場合の具体的な処理手順を、図９を参照しながら、図１７に示すフローチャート（ステップＨ１１〜Ｈ２２）に従って説明する。【０１２５】
なお、以下の説明においては、上記同様に、“エラー数”，“ＰＴ閾値”，“ＲＦ周期”，“ＲＦ最大値”，“前ＥＲ頻度”，“ＲＦ最小値”および“ＥＲ閾値”を示し、“経過時間”は、タイマ２２の時間を示す変数であり、“タイマ閾値”は、タイムアウトとして制御を終了するための上限値“Ｘ”（図９（ｂ）参照）を示す定数である。
タイマ２２は、“経過時間”の値と“タイマ閾値”の値（図９（ｂ）の符号“Ｘ”参照）とを比較する（ステップＨ１１）。【０１２６】
“経過時間”の値が“タイマ閾値”の値以上の場合には（ステップＨ１１の“ＹＥＳ”ルート参照；図９の時間“Ｔ１９”以降参照）、短縮終了要求部２３は、調整処理を終了した旨をメモリエラーとしてシステム（情報処理装置；図示省略）に通知するとともに（ステップＨ１２）、リフレッシュ周期調整部２６に対して短縮終了要求を通知して（ステップＨ１３）、処理を終了する。【０１２７】
“経過時間”の値が“タイマ閾値”の値未満の場合には（ステップＨ１１の“ＮＯ”ルート参照；図９（ｂ）の時間“Ｔ１６”〜“Ｔ１９”参照）、計測部１５は、追加パトロール動作が実行されている状態で（ステップＨ１４）、“エラー数”の値を“ＰＴ閾値”の値で除算して“エラー頻度”を算出する（ステップＨ１５）。
リフレッシュ周期調整部２６は、“ＥＲ頻度”の値と“ＥＲ閾値”の値（図９（ａ）の符号“ＴＨ”参照）とを比較する（ステップＨ１６）。【０１２８】
比較の結果、“ＥＲ頻度”の値が“ＥＲ閾値”の値以上の場合には（ステップＨ１６の“ＮＯ”ルート参照；図９（ａ）の時間“Ｔ１７”以降参照）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一であるか否かを判定する（ステップＨ１７）。
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と異なる場合には（ステップＨ１７の“ＮＯ”ルート参照；図９（ｂ）の時間“Ｔ１６”〜“Ｔ１９”参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値が“ＲＦ最小値”の値（図９（ｂ）の符号“ＮＬ３”参照）と同一であるか否かを判定する（ステップＨ１８）。【０１２９】
“ＲＦ周期”の値が“ＲＦ最小値”の値と異なる場合には（ステップＨ１８の“ＮＯ”ルート参照；図９（ｂ）の時間“Ｔ１６”〜“Ｔ１９”参照）、“ＲＦ周期”から値“１（１Ｓｔｅｐ）”を減算し（ステップＨ１９）、“前ＥＲ頻度”を“ＥＲ頻度”に設定して（ステップＨ２０）、ステップＨ１１に戻る。
“ＲＦ周期”の値が“ＲＦ最小値”の値と同一である場合には（ステップＨ１８の“ＹＥＳ”ルート参照；図９（ｂ）の時間“Ｔ１８”〜“Ｔ１９”参照）、ステップＨ２０に移行する。【０１３０】
“ＥＲ頻度”の値が“前ＥＲ頻度”の値と同一である場合には（ステップＨ１７の“ＹＥＳ”ルート参照）、ステップＨ２０に移行する。
一方、“ＥＲ頻度”の値が“ＥＲ閾値”の値未満の場合には（ステップＨ１６の“ＹＥＳ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”の値と“ＲＦ最大値”の値とを比較する（ステップＨ２１）。【０１３１】
“ＲＦ周期”の値が“ＲＦ最大値”の値未満の場合には（ステップＨ２１の“ＮＯ”ルート参照）、リフレッシュ周期調整部２６は、“ＲＦ周期”に値“１（１Ｓｔｅｐ）”を加算し（ステップＨ２２）、ステップＨ２０に移行する。
“ＲＦ周期”の値が“ＲＦ最大値”の値以上の場合には（ステップＨ２１の“ＹＥＳ”ルート参照）、処理を終了する。【０１３２】
これにより、リフレッシュ周期を短縮して長時間が経過してもエラーが解消されない場合に、リフレッシュ周期の調整処理を強制的に解除することができるのである。
このように、本発明の一実施形態としてのメモリリフレッシュ回路１０によれば、メモリ１１のパトロールを行なう通常パトロール動作を制御するとともに、通常パトロール動作においてメモリ１１のエラーを検出した場合に、エラー発生アドレスのパトロールを行なう追加パトロール動作を制御することにより、エラーの検出機構が効率化される。又、追加パトロール動作においてエラー発生アドレスのエラーを検出した場合に、このエラー発生アドレスにおけるエラー頻度に応じてリフレッシュ周期を調整することにより、メモリ１１全体に対してパトロールを行なう場合に比べて短い間隔で、エラーの発生状態に合わせたリフレッシュ周期の最適化を行なうことができ、システムの動作環境が一時的に変化する場合の応答性を向上させることができる。【０１３３】
また、計測部１５によって計測されたエラー頻度が大きくなった場合に、リフレッシュ周期を段階的に短縮し、計測部１５によって計測されたエラー頻度が小さくなった場合に、リフレッシュ周期を段階的に延長することにより、エラー頻度の変化に合わせたリフレッシュ周期の調整処理を短い間隔で少しずつ行なうので、エラー頻度の変化が小さい場合に調整の度合いを小さく抑えることができる。従って、メモリ１１におけるエラーの発生状態に合わせたリフレッシュ周期の最適化をより効率よく行なうことができる。【０１３４】
さらに、下限値算出部２１がメモリ１１の温度に基づいて下限値を変更することにより、エラー頻度のみによる制御では回避できない過剰なリフレッシュを防止するとともに、過剰なリフレッシュによりメモリ１１の動作に与える悪影響を抑制することができる。
また、下限値算出部２１がメモリ１１のアクセス頻度に基づいて下限値を変更することにより、エラー頻度のみによる制御では回避できない過剰なリフレッシュを防止するとともに、リード／ライト（read／write）アクセスの阻害によりメモリ１１の動作に与える悪影響を抑制することができる。【０１３５】
さらに、通常パトロール動作においてメモリ１１のエラーを検出してからの経過時間がタイマ閾値を超えた場合に、通常リフレッシュモードのリフレッシュ周期に強制的に戻すことにより、改善不可能なエラーに対してリフレッシュ周期の調整処理を行なうことがなくなり、無駄なリフレッシュを続けることを防止することができる。
また、計測部１５によって計測されたエラー頻度が一定になった場合に、追加監視間隔を延長することにより、不必要なパトロールを削減することができる。又、リフレッシュ周期を調製する際に追加監視間隔も合わせて調整することにより、エラー検出機構の効率化を図ることができる。【０１３６】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記実施形態においては、計測部１５がエラー発生箇所における所定時間あたりのエラー数をエラー頻度として計測しているが、それに限定されるものではなく、追加パトロール制御部２５による追加パトロール動作において複数のエラー発生アドレスを検出した場合に、計測部１５がエラー発生箇所の数をエラー頻度として計測してもよい。これにより、一定時間のエラー数をカウントする場合のように一定時間の経過を待つことなく短時間で計測することができる。【０１３７】
また、上記実施形態においては、ＥＣＣ回路１４として単一誤り訂正二重誤り符号を用いているが、それに限定されるものではなく、検出訂正能力を持つ誤り検出訂正符号を用いてもよい。
さらに、上記実施形態においては、下限値算出部２１，短縮終了要求部２３および監視間隔変更部２７をそなえて構成しているが、それに限定されるものではなく、必ずしもこれらを全部そなえていなくてもよい。【０１３８】
なお、本発明の各実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
【産業上の利用可能性】
【０１３９】
リフレッシュ動作を必要とする各種メモリデバイスに適用できる。
【図１】
2009011052.tif 000004
【図２】
2009011052.tif 000005
【図３】
2009011052.tif 000006
【図４】
2009011052.tif 000007
【図５】
2009011052.tif 000008
【図６】
2009011052.tif 000009
【図７】
2009011052.tif 000010
【図８】
2009011052.tif 000011
【図９】
2009011052.tif 000012
【図１０】
2009011052.tif 000013
【図１１】
2009011052.tif 000014
【図１２】
2009011052.tif 000015
【図１３】
2009011052.tif 000016
【図１４】
2009011052.tif 000017
【図１５】
2009011052.tif 000018
【図１６】
2009011052.tif 000019
【図１７】
2009011052.tif 000020
【図１８】
2009011052.tif 000021
【手続補正書】
【提出日】平成22年1月19日(2010.1.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ装置であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御部と、
該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御部と、
該追加パトロール制御部による該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測部と、
該計測部によって計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整部とをそなえることを特徴とする、メモリリフレッシュ装置。
【請求項２】
該リフレッシュ周期調整部は、該計測部によって計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測部によって計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することを特徴とする、請求項１に記載のメモリリフレッシュ装置。
【請求項３】
該リフレッシュ周期調整部は、予め設定された下限値以上で該リフレッシュ周期を調整することを特徴とする、請求項１または請求項２に記載のメモリリフレッシュ装置。
【請求項４】
該リフレッシュ周期調整部は、該メモリの温度であるメモリ温度に基づいて、該下限値を変更することを特徴とする、請求項３に記載のメモリリフレッシュ装置。
【請求項５】
該リフレッシュ周期調整部は、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻すことを特徴とする、請求項３または請求項４に記載のメモリリフレッシュ装置。
【請求項６】
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ方法であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御ステップと、
該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御ステップと、
該追加パトロール制御ステップによる該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測ステップと、
該計測ステップにおいて計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整ステップとをそなえることを特徴とする、メモリリフレッシュ方法。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
また、該リフレッシュ周期調整部は、該計測部によって計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測部によって計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することが好ましい。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
さらに、該リフレッシュ周期調整部は、予め設定された下限値以上で該リフレッシュ周期を調整することが好ましい。 
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】変更
【補正の内容】
【００１７】
また、該メモリの温度であるメモリ温度に基づいて、該下限値を変更してもよい。
さらに、該リフレッシュ周期調整部は、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻してもよい。 
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
なお、本発明のメモリリフレッシュ方法は、リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ方法であって、該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御ステップと、該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御ステップと、該追加パトロール制御ステップによる該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測ステップと、該計測ステップにおいて計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整ステップとをそなえることを特徴としている。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１９
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００２０
【補正方法】削除
【補正の内容】
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００２１
【補正方法】削除
【補正の内容】
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００２２
【補正方法】削除
【補正の内容】
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００３６
【補正方法】変更
【補正の内容】
【００３６】
（１）プリチャージスイッチ（図示省略）をオンして内部データ線（図示省略）をプリチャージ電源ライン（図示省略）の電圧（センスアンプスレッショルド電圧）と同じ電圧にする。
（２）プリチャージスイッチをオフする。このとき内部データ線には、寄生容量によりプリチャージされた電圧が保持される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００６８
【補正方法】変更
【補正の内容】
【００６８】
なお、以下、単位時間あたりの監視回数を示す符号“Ｐ１”，“Ｐ２”，“Ｐ３”の前にそれぞれ符号“Ｉ”を付すことにより、単位時間あたりの監視回数“Ｐ１”，“Ｐ２”，“Ｐ３”で算出される監視間隔“ＩＰ１”，“ＩＰ２”，“ＩＰ３”をそれぞれ示すものとする。
このリフレッシュ周期短縮モードにおいては、メモリ制御部１２が、追加監視間隔のデフォルト値（ｄｅｆａｕｌｔ値；短間隔）“ＩＰ２”（図７（ａ）の符号“Ｐ２”参照）で追加パトロール動作を制御し、これに合わせて、リフレッシュ周期調整部２６が、調整処理を開始し、調整処理を行なう毎（図７（ｂ）の時間“ｔ”参照）に、単位時間あたりのリフレッシュ回数を予め設定された単位回数（例えば、図７（ｂ）の符号“ｎ”参照）ずつ加算することにより、リフレッシュ周期を段階的に短縮し、エラー発生頻度に応じた適切なリフレッシュ周期“ＣＮ２”（図７（ｂ）の符号“Ｎ２”参照）に調整する（図７（ｂ）の時間“Ｔ９”〜“Ｔ１０”参照）。 
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】００７１
【補正方法】変更
【補正の内容】
【００７１】
なお、これらの温度センサ１９およびアクセスカウンタ２０は既知の技術であり、その詳細な説明については省略するものとする。
下限値算出部２１は、図１に示すように、温度センサ１９によって検知された温度やアクセスカウンタ２０によって計測されたアクセス頻度に基づいて、リフレッシュ周期の下限値（限界値）を算出するものであって、例えば、予め設定された時間間隔で温度センサ１９やアクセスカウンタ２０を監視し、正常なアクセス頻度の上限値として予め設定されたアクセス頻度閾値や正常な温度の上限値として予め設定された温度閾値を超えた場合には、アクセス頻度や温度に応じて、リフレッシュ周期の下限値を段階的に延長するようになっている。この下限値算出部２１は、メモリ１１に悪影響を与えない下限値になるまで段階的に延長するようになっている。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
監視間隔変更部２７は、“追加監視間隔”に“短間隔”の値（図７（ａ）の単位時間当たりの監視回数“Ｐ２”参照）を設定する（ステップＦ１１）。
そして、計測部１５は、追加パトロール動作が実行されている状態で（ステップＦ１２；図７の時間“Ｔ９”以降参照）、“エラー数”の値を“ＰＴ閾値”の値で除算して“エラー頻度”を算出し（ステップＦ１３）、リフレッシュ周期調整部２６は、“ＥＲ頻度”の値と“ＥＲ閾値”の値とを比較する（ステップＦ１４）。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０１１８
【補正方法】変更
【補正の内容】
【０１１８】
下限値算出部２１は、温度センサ１９に基づいて温度の計測を実行し（ステップＧ１３）、“温度”の値と“温度閾値”の値とを比較する（ステップＧ１４）。
“温度”の値が“温度閾値”の値よりも大きい場合には（ステップＧ１４の“ＹＥＳ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”に値“１（１Ｓｔｅｐ；図８（ｂ）の符号“ｎ”参照）”を加算し（ステップＧ１５）、ステップＧ１８に移行する。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
“温度”の値が“温度閾値”の値以下である場合には（ステップＧ１４の“ＮＯ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”の値がデフォルト値であるか否かを判断する（ステップＧ１６）。“ＲＦ最小値”の値がデフォルト値である場合には（ステップＧ１６の“ＹＥＳ”ルート参照）、ステップＧ１８に移行する。
“ＲＦ最小値”の値がデフォルト値でない場合には（ステップＧ１６の“ＮＯ”ルート参照）、下限値算出部２１は、“ＲＦ最小値”から値“１（１Ｓｔｅｐ）”を減算し（ステップＧ１７）、ステップＧ１８に移行する。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０１３８
【補正方法】変更
【補正の内容】
【０１３８】
なお、本発明の各実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
（Ｊ）付記
（付記１）
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ装置であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御部と、
該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御部と、
該追加パトロール制御部による該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測部と、
該計測部によって計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整部とをそなえることを特徴とする、メモリリフレッシュ装置。
（付記２）
該リフレッシュ周期調整部は、該計測部によって計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測部によって計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することを特徴とする、付記１に記載のメモリリフレッシュ装置。
（付記３）
該計測部は、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することを特徴とする、付記１または付記２に記載のメモリリフレッシュ装置。
（付記４）
該計測部は、該追加パトロール制御部による該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測することを特徴とする、付記１または付記２に記載のメモリリフレッシュ装置。
（付記５）
該リフレッシュ周期調整部は、予め設定された下限値以上で該リフレッシュ周期を調整することを特徴とする、付記１〜４のいずれか１項に記載のメモリリフレッシュ装置。
（付記６）
該リフレッシュ周期調整部は、該メモリへのアクセス頻度に基づいて、該下限値を変更することを特徴とする、付記５に記載のメモリリフレッシュ装置。
（付記７）
該リフレッシュ周期調整部は、該メモリの温度であるメモリ温度に基づいて、該下限値を変更することを特徴とする、付記５または付記６に記載のメモリリフレッシュ装置。
（付記８）
該リフレッシュ周期調整部は、該通常パトロール制御部による該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻すことを特徴とする、付記５〜７のいずれか１項に記載のメモリリフレッシュ装置。
（付記９）
該リフレッシュ周期調整部によって調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更部をそなえることを特徴とする、付記１〜８のいずれか１項に記載のメモリリフレッシュ装置。
（付記１０）
該監視間隔変更部は、該計測部によって計測された該エラー頻度が一定になった場合に、該監視間隔を延長することを特徴とする、付記９に記載のメモリリフレッシュ装置。
（付記１１）
リフレッシュ周期に合わせてメモリのリフレッシュを行なうメモリリフレッシュ方法であって、
該メモリのパトロールを行なう通常パトロール動作を制御する通常パトロール制御ステップと、
該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出した場合に、該エラーが発生したエラー発生箇所のパトロールを行なう追加パトロール動作を制御する追加パトロール制御ステップと、
該追加パトロール制御ステップによる該追加パトロール動作において該エラー発生箇所のエラーを検出した場合に、前記エラー発生箇所のエラーに関する情報をエラー頻度として計測する計測ステップと、
該計測ステップにおいて計測された該エラー頻度に応じて、該リフレッシュ周期を調整するリフレッシュ周期調整ステップとをそなえることを特徴とする、メモリリフレッシュ方法。
（付記１２）
該リフレッシュ周期調整ステップにおいて、該計測ステップにおいて計測された該エラー頻度が大きくなった場合に、該リフレッシュ周期を段階的に短縮し、該計測ステップにおいて計測された該エラー頻度が小さくなった場合に、該リフレッシュ周期を段階的に延長することを特徴とする、付記１１に記載のメモリリフレッシュ方法。
（付記１３）
該計測ステップにおいて、該エラー発生箇所における所定時間あたりのエラー数を該エラー頻度として計測することを特徴とする、付記１１または付記１２に記載のメモリリフレッシュ方法。
（付記１４）
該計測ステップにおいて、該追加パトロール制御ステップによる該追加パトロール動作において複数のエラー発生箇所を検出した場合に、該エラー発生箇所の数を該エラー頻度として計測することを特徴とする、付記１１または付記１２に記載のメモリリフレッシュ方法。
（付記１５）
該リフレッシュ周期調整ステップにおいて、予め設定された下限値以上で該リフレッシュ周期を調整することを特徴とする、付記１１〜１４のいずれか１項に記載のメモリリフレッシュ方法。
（付記１６）
該リフレッシュ周期調整ステップにおいて、該メモリへのアクセス頻度に基づいて、該下限値を変更することを特徴とする、付記１５に記載のメモリリフレッシュ方法。
（付記１７）
該リフレッシュ周期調整ステップにおいて、該メモリの温度であるメモリ温度に基づいて、該下限値を変更することを特徴とする、付記１５または付記１６に記載のメモリリフレッシュ方法。
（付記１８）
該リフレッシュ周期調整ステップにおいて、該通常パトロール制御ステップによる該通常パトロール動作において該メモリのエラーを検出してからの経過時間が所定時間を超えた場合に、該リフレッシュ周期を既定値に戻すことを特徴とする、付記１５〜１７のいずれか１項に記載のメモリリフレッシュ方法。
（付記１９）
該リフレッシュ周期調整ステップにおいて調整された該リフレッシュ周期に基づいて、該追加パトロール動作の監視間隔を変更する監視間隔変更ステップをそなえることを特徴とする、付記１１〜１８のいずれか１項に記載のメモリリフレッシュ方法。
（付記２０）
該監視間隔変更ステップにおいて、該計測ステップにおいて計測された該エラー頻度が一定になった場合に、該監視間隔を延長することを特徴とする、付記１９に記載のメモリリフレッシュ方法。
【手続補正１７】
【補正対象書類名】図面
【補正対象項目名】図１６
【補正方法】変更
【補正の内容】
【図１６】
2009011052.tif 000022
【国際調査報告】
2009011052.tif 000023
2009011052.tif 000024