(57)【要約】【課題】揮発性記憶部に、一定期間の間、データを一定に保持するために必要な処理が行われなくても、当該揮発性記憶部に記憶されたデータの消失を防止可能な技術を提供することを目的とする。【解決手段】コンピュータ装置１は、ＤＲＡＭ４と、保持能力値取得部６と、個数決定部７と、制御部８とを備える。保持能力値取得部６は、ＤＲＡＭ４の保持能力値を決定する。個数決定部７は、保持能力値に基づいて、記憶対象のデータが、ＤＲＡＭ４に記憶されるべき個数を決定する。制御部８は、記憶対象のデータを、個数決定部７で決定した個数だけＤＲＡＭ４に記憶する。【選択図】図１
2010176333.tif 000002
【特許請求の範囲】
【請求項１】
揮発性記憶部と、
前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める保持能力値取得部と、
前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する個数決定部と、
前記記憶対象のデータと同じデータを、前記個数決定部で決定した個数だけ前記揮発性記憶部に記憶する制御部と
を備えるコンピュータ装置。
【請求項２】
揮発性記憶部と、
前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める保持能力値取得部と、
前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する誤り訂正ビットを生成する誤り訂正ビット生成部と、
前記誤り訂正ビット生成部で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する制御部と、
前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正するデータ訂正部と
を備えるコンピュータ装置。
【請求項３】
請求項１または請求項２に記載のコンピュータ装置であって、
前記保持能力値取得部は、
前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持することができる期間を測定し、当該期間を、前記保持能力値とする、コンピュータ装置。
【請求項４】
請求項１または請求項２に記載のコンピュータ装置であって、
前記保持能力値取得部は、
前記揮発性記憶部が、一定期間の間、データを一定に保持するために必要な処理が行われない場合に、データを一定に保持している確率を測定し、当該確率を前記保持能力値とする、コンピュータ装置。
【請求項５】
（ａ）揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、
（ｂ）前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する工程と、
（ｃ）前記記憶対象のデータと同じデータを、前記工程（ｂ）で決定した個数だけ前記揮発性記憶部に記憶する工程と
を備えるデータ記憶方法。
【請求項６】
（ａ）揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、
（ｂ）前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する前記誤り訂正ビットを生成する工程と、
（ｃ）前記工程（ｂ）で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する工程と、
（ｄ）前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正する工程と
を備えるデータ記憶方法。
【請求項７】
揮発性記憶部を備えるコンピュータ装置に、
（ａ）前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、
（ｂ）前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する工程と、
（ｃ）前記記憶対象のデータと同じデータを、前記工程（ｂ）で決定した個数だけ前記揮発性記憶部に記憶する工程と
を実行させるための記憶処理プログラム。
【請求項８】
揮発性記憶部を備えるコンピュータ装置に、
（ａ）前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、
（ｂ）前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する前記誤り訂正ビットを生成する工程と、
（ｃ）前記工程（ｂ）で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する工程と、
（ｄ）前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正する工程と
を実行させるための記憶処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、揮発性記憶部を有するコンピュータ装置、データ記憶方法、および、記憶処理プログラムに関する。
【背景技術】
【０００２】
従来から、揮発性記憶装置に関して様々な技術が提案されている。揮発性記憶装置の一種であるＤＲＡＭ（Dynamic Random Access Memory）に対しては、ＤＲＡＭに記憶された記憶データが、長期間の間、一定に保持されるように、リフレッシュ処理が定期的に行われる必要がある。特許文献１には、ＤＲＡＭに対してリフレッシュ処理が行われる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０１−００７３９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ＤＲＡＭを有するコンピュータ装置において、異常発生等に起因してリセットが行われると、リセット開始から一定期間の間、ＤＲＡＭに対してリフレッシュ処理が全く行われなくなる場合がある。その結果、ＤＲＡＭに記憶されたデータは、一定に保持されずに、失われる場合がある。
【０００５】
本発明は、上記のような問題点を鑑みてなされたものであり、一定期間の間、データを一定に保持するために必要な処理が行われなくても、揮発性記憶部に記憶されたデータの消失を防止可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明に係るコンピュータ装置は、揮発性記憶部と、前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める保持能力値取得部と、前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する個数決定部と、前記記憶対象のデータと同じデータを、前記個数決定部で決定した個数だけ前記揮発性記憶部に記憶する制御部とを備える。
【０００７】
本発明に係るコンピュータ装置は、揮発性記憶部と、前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める保持能力値取得部と、前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する誤り訂正ビットを生成する誤り訂正ビット生成部と、前記誤り訂正ビット生成部で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する制御部と、前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正するデータ訂正部とを備える。
【０００８】
本発明に係るコンピュータ装置の一態様では、前記保持能力値取得部は、前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持することができる期間を測定し、当該期間を、前記保持能力値とする。
【０００９】
本発明に係るコンピュータ装置の一態様では、前記保持能力値取得部は、前記揮発性記憶部が、一定期間の間、データを一定に保持するために必要な処理が行われない場合に、データを一定に保持している確率を測定し、当該確率を前記保持能力値とする。
【００１０】
本発明に係るデータ記憶方法は、（ａ）揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、（ｂ）前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する工程と、（ｃ）前記記憶対象のデータと同じデータを、前記工程（ｂ）で決定した個数だけ前記揮発性記憶部に記憶する工程とを備える。
【００１１】
本発明に係るデータ記憶方法は、（ａ）揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、（ｂ）前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する前記誤り訂正ビットを生成する工程と、（ｃ）前記工程（ｂ）で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する工程と、（ｄ）前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正する工程とを備える。
【００１２】
本発明に係る記憶処理プログラムは、揮発性記憶部を備えるコンピュータ装置に、（ａ）前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、（ｂ）前記保持能力値に基づいて、記憶対象のデータが、前記揮発性記憶部に記憶されるべき個数を決定する工程と、（ｃ）前記記憶対象のデータと同じデータを、前記工程（ｂ）で決定した個数だけ前記揮発性記憶部に記憶する工程とを実行させる。
【００１３】
本発明に係る記憶処理プログラムは、揮発性記憶部を備えるコンピュータ装置に、（ａ）前記揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す保持能力値を求める工程と、（ｂ）前記保持能力値に基づいて、前記揮発性記憶部に記憶される記憶データに対して付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する前記誤り訂正ビットを生成する工程と、（ｃ）前記工程（ｂ）で生成された誤り訂正ビットが付加された前記記憶データを前記揮発性記憶部に記憶する工程と、（ｄ）前記揮発性記憶部に記憶されている記憶データおよび誤り訂正ビットに基づいて、当該記憶データを訂正する工程とを実行させる。
【発明の効果】
【００１４】
本発明によれば、保持能力値に基づいて、決定された個数だけ、記憶対象のデータと同じデータが揮発性記憶部に記憶される。これにより、データを一定に保持するために必要な処理なしで、データを一定に保持する能力が低い揮発性記憶部に記憶される記憶対象のデータの個数を多くすることができる。したがって、当該揮発性記憶部に対して、一定期間の間、データを一定に保持するために必要な処理が行われない場合でも、当該揮発性記憶部に記憶されている多数の同一のデータにおいて、一定に保持されているデータが存在する確率を高くすることができる。そのため、当該揮発性記憶部に記憶されたデータが消失するのを防ぐことができる。さらに、データを一定に保持するために必要な処理なしで、データを一定に保持する能力が高い揮発性記憶部に記憶される記憶対象のデータの個数を少なくすることができるため、揮発性記憶部の記憶容量を有効的に利用することができる。
【００１５】
また、本発明の一態様によれば、揮発性記憶部の保持能力値に基づいて、当該揮発性記憶部に記憶される記憶データに付加する誤り訂正ビットのビット数が決定される。これにより、データを一定に保持するために必要な処理なしで、データを一定に保持する能力が低い揮発性記憶部に記憶される記憶データに付加される誤り訂正ビットのビット数を多くすることができる。したがって、当該揮発性記憶部に対して、一定期間の間、データを一定に保持するために必要な処理が行われない場合に、当該揮発性記憶部に記憶されたデータと誤り訂正ビットに誤りが多く生じた場合であっても、確実に訂正することができる。そのため、当該揮発性記憶部に記憶されたデータが消失するのを防ぐことができる。さらに、データを一定に保持するために必要な処理なしで、データを一定に保持する能力が高い揮発性記憶部に記憶される記憶データに付加される誤り訂正ビットのビット数を少なくすることができるため、揮発性記憶部の記憶容量を有効的に利用することができる。
【図面の簡単な説明】
【００１６】
【図１】実施の形態１に係るコンピュータ装置の構成を示すブロック図である。
【図２】実施の形態２に係るコンピュータ装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１７】
＜実施の形態１＞
本実施の形態１に係るコンピュータ装置１は、ＣＰＵ２と、ＤＲＡＭ４と、ハードディスク３とを備えている。なお、本コンピュータ装置１には、図示していないが、一般的なコンピュータが備える他の構成要素、例えばＲＯＭ等も設けられている。
【００１８】
ハードディスク３にはＣＰＵ２が実行する動作プログラムＰ１が記憶されている。ＣＰＵ２がこの動作プログラムＰ１を実行することによって、当該ＣＰＵ２には、機能ブロックとして、リフレッシュ制御部５と、保持能力値取得部６と、個数決定部７と、制御部８とが形成される。
【００１９】
本実施の形態に係るコンピュータ装置１の概略について説明する。保持能力値取得部６は、ＤＲＡＭ４についての記憶データに関する保持能力値を決定する。ここで、保持能力値とは、揮発性記憶部が、データを一定に保持するために必要な処理なしで、データを一定に保持する能力を示す。したがって、ＤＲＡＭ４についての保持能力値とは、リフレッシュ処理なしで、データを一定に保持する能力を示す。
【００２０】
個数決定部７は、保持能力値が小さくなるにつれて、記憶対象のデータがＤＲＡＭ４に記憶されるべき個数（以後、「記憶個数」と呼ぶ）を増やしていく。制御部８は、記憶対象のデータと同じデータを、個数決定部７で決定された記憶個数だけＤＲＡＭ４に記憶する。個数決定部７、および、制御部８の動作により、保持能力値が小さいＤＲＡＭ４には、記憶対象のデータと同じデータが多数記憶されることになる。
【００２１】
さて、一般に、一定期間の間、ＤＲＡＭに対してリフレッシュ処理が行われなかった場合、当該ＤＲＡＭに記憶された記憶データは、変化している場合もあれば、変化せずに一定に保持されている場合もある。一定期間の間、ＤＲＡＭに対するリフレッシュ処理が行われなかった場合に、記憶データが一定に保持される可能性は、当該ＤＲＡＭの保持能力値が小さいほど低くなる。そのため、従来のコンピュータ装置において、一定期間の間、保持能力値が小さいＤＲＡＭに対してリフレッシュ処理が行われなかった場合には、当該ＤＲＡＭに記憶された記憶データが失われてしまう可能性が高い。
【００２２】
それに対して、本実施の形態に係るコンピュータ装置１では、保持能力値が小さいＤＲＡＭ４には、記憶対象のデータと同じデータが多数記憶される。これにより、一定期間の間、保持能力値が小さいＤＲＡＭ４に対してリフレッシュ処理が行われなかったとしても、当該ＤＲＡＭ４において、記憶対象のデータが、一定に保持されている確率が高くなる。こうして、本実施の形態に係るコンピュータ装置１では、ＤＲＡＭ４に対して、一定期間の間、例えば、リセット開始からＣＰＵ２の動作が再開するまでの間、リフレッシュ処理が行われなくても、当該ＤＲＡＭ４において記憶データが消失するのを防ぐことができる。以下、本実施の形態に係るコンピュータ装置１の構成について詳細に説明する。
【００２３】
ＤＲＡＭ４は、図示しない複数のメモリセルを有する。ＤＲＡＭ４がデータを記憶する動作は、記憶データを構成する複数のビットの値に応じて、記憶データのビット数に一致する複数のメモリセルが有するキャパシタに対して選択的に電荷が蓄えられることにより行われる。しかし、ＤＲＡＭ４のキャパシタに蓄えられた電荷は、時間経過とともに漏洩していくため、ＤＲＡＭ４での記憶データのビット状態が変化する場合がある。その結果として、ＤＲＡＭ４に記憶されている記憶データが消失する場合がある。このような記憶データの消失を防ぐため、記憶データがＤＲＡＭ４から読み出された後に、当該記憶データと一致するデータがＤＲＡＭ４に記憶される一連の処理、いわゆる、リフレッシュ処理が、ＤＲＡＭ４に対して定期的に行われる必要がある。
【００２４】
リフレッシュ制御部５は、ＤＲＡＭ４に対してリフレッシュ処理を定期的に行う。リフレッシュ処理は、例えば、数十ｍｓｅｃの周期で行われる。リフレッシュ処理が行われてから、次のリフレッシュ処理が行われずに、ＤＲＡＭ４が、どれだけの時点までデータを一定に保持できるかは、ＤＲＡＭ４を構成する素子や素材や、ＤＲＡＭ４の製造上のばらつきに依存する。
【００２５】
保持能力値取得部６は、ＤＲＡＭ４において、リフレッシュ処理が行われなくても、記憶データが一定に保持されている期間（以後、「保持期間」と呼ぶ）を測定する。そして、保持能力値取得部６は、測定した保持期間を、ＤＲＡＭ４の上述の保持能力値として用いる。以下、保持能力値取得部６の動作について説明する。
【００２６】
保持能力値取得部６は、ＤＲＡＭ４の保持期間を測定するために、まず、ＤＲＡＭ４を構成する、図示しない１個のメモリセル（以後、「測定用メモリセル」と呼ぶ）に測定用データを書き込む。それとともに、保持能力値取得部６は、測定用のリフレッシュ処理を行った後、次のリフレッシュ処理を行わないように、リフレッシュ制御部５に指示する。
【００２７】
保持能力値取得部６は、測定用メモリセルにおいて測定用のリフレッシュ処理が行われた時点から、測定用メモリセルに記憶されている測定用データが変化する直前の時点までの期間を測定し、当該期間をＤＲＡＭ４の保持期間として採用する。保持能力値取得部６は、例えば、コンピュータ装置１の起動開始時点や、コンピュータ装置１の動作プログラムＰ１の変更時点において、保持期間を測定する。そして、保持能力値取得部６は、測定した保持期間を、ＤＲＡＭ４についての保持能力値として用いる。
【００２８】
このように、本実施の形態では保持期間が保持能力値として採用されているため、ＤＲＡＭ４がリフレッシュ処理なしで記憶データを一定に保持することができる期間が長い場合には、保持能力値が大きくなる。したがって、保持能力値が大きいことは、リフレッシュ処理なしでＤＲＡＭ４が記憶データを一定に保持する能力が高いことを意味する。
【００２９】
個数決定部７は、保持能力値取得部６で取得された保持能力値に対応する記憶個数を求める。本実施の形態では、１からＮ（１よりも大きい自然数）までの複数種類の記憶個数が準備されており、個数決定部７で取得された保持能力値は、この複数種類の記憶個数のいずれか一つに該当するようになっている。また、保持能力値が小さくなると、より大きい数の記憶個数が保持能力値に対応するようになっている。本実施の形態では、例えば、保持能力値が取り得る範囲が複数の部分範囲に区分されており、当該複数の部分範囲と複数種類の記憶個数とが一対一で対応付けられている。個数決定部７は、当該複数の部分範囲のうち、保持能力値取得部６が取得した保持能力値が属する部分範囲を特定し、特定した部分範囲に対応する記憶個数を特定する。これにより、個数決定部７は、保持能力値に基づいて記憶個数が決定される。
【００３０】
ここで、本実施の形態に係るコンピュータ装置１では、外部から、ＣＰＵ２に対して外部リセット信号が入力される。また、本コンピュータ装置１には、外部から供給される電源電圧を監視する電源電圧監視回路（図示せず）が設けられている。この電源電圧監視回路は、電源電圧が所定値より小さくなると、ＣＰＵ２に対して電源リセット信号を出力する。
【００３１】
ＣＰＵ２は、外部リセット信号あるいは電源リセット信号が入力されるとリセット処理を開始する。このリセット処理では、制御部８が、ＣＰＵ２がリセットされた原因を特定するデータ（以後、「リセット原因特定データ」と呼ぶ）を生成し、それをＤＲＡＭ４に記憶する。このとき、制御部８は、生成したリセット原因特定データと同じデータを、個数決定部７で決定された記憶個数だけＤＲＡＭ４に記憶する。ＣＰＵ２に外部リセット信号が入力されると、ＣＰＵ２が本コンピュータ装置１の外部からの指示によってリセットされたことを示すリセット原因特定データが生成されて、そのデータと同じデータが記憶個数だけＤＲＡＭ４に記憶される。また、ＣＰＵ２に電源リセット信号が入力されると、電源電圧が所定値よりも低下したことによってＣＰＵ２がリセットされたことを示すリセット原因特定データが生成されて、そのデータと同じデータが記憶個数だけＤＲＡＭ４に記憶される。
【００３２】
ＣＰＵ２は、外部リセット信号等のリセット信号が入力されてから、リセット処理が完了するまで、リフレッシュ制御部５でのＤＲＡＭ４に対するリフレッシュ処理を停止する。そして、ＣＰＵ２は、リセット処理が完了すると、通常動作に復帰し、リフレッシュ制御部５でのＤＲＡＭ４に対するリフレッシュ処理を再開する。以後、ＣＰＵ２にリセット信号が入力されてから、当該ＣＰＵ２が通常動作に復帰するまでの期間を「リセット期間」を呼ぶ。
【００３３】
なお、制御部８は、ＣＰＵ２が通常動作する場合においても、ＤＲＡＭ４に対してデータを記憶する動作を行う。また、制御部８は、ＤＲＡＭ４に記憶されているデータを読み出す動作も行う。
【００３４】
以上のような構成によれば、保持能力値が小さいＤＲＡＭ４には、記憶対象のデータと同じデータが多数記憶される。その結果、リセット期間の間、保持能力値が小さいＤＲＡＭ４に対するリフレッシュ処理が行われない場合でも、当該ＤＲＡＭ４に記憶された多数の同一の記憶データにおいて、一定に保持されているデータが存在する確率が高くなる。こうして、本実施の形態に係るコンピュータ装置１によれば、ＤＲＡＭ４に、一定期間の間、リフレッシュ処理が行われなくても、当該ＤＲＡＭ４に記憶された記憶データが消失するのを防ぐことができる。一方、保持能力値が大きいＤＲＡＭ４には、ＤＲＡＭ４に記憶されるデータの数が少なくなる。そのため、ＤＲＡＭ４の記憶容量を効率的に利用することができる。
【００３５】
なお、本実施の形態に係る制御部８は、以上の記憶処理を、１種類の記憶対象のデータ（リセット原因特定データ）に対して行った。しかしこれに限ったものではなく、複数種類の記憶対象のデータをＤＲＡＭ４に記憶する場合には、複数種類の記憶対象のデータのそれぞれに対して、以上の記憶処理を行うものであってもよい。
【００３６】
また、本実施の形態に係る制御部８は、リセット期間において、記憶対象のデータを生成した後、当該記憶対象のデータと同じデータをＤＲＡＭ４に記憶個数だけ記憶した。しかしこれに限ったものではなく、制御部８は、ＣＰＵ２が通常に動作している時に、コンピュータ装置１外部から入力されるデータを、記憶対象のデータとしてそれと同じデータをＤＲＡＭ４に記憶個数だけ記憶するものであってもよい。
【００３７】
また、以上の構成では、保持能力値取得部６は、ＤＲＡＭ４の保持期間を測定し、当該期間を保持能力値とした。しかし、保持能力値は、これに限ったものではない。以下、保持能力値として他の値を採用する場合について説明する。
【００３８】
保持能力値取得部６は、ＤＲＡＭ４において、一定期間の間、例えば、リセット期間の間、リフレッシュ処理が行われなくてもデータが一定に保持されている確率（以後、「保持確率」と呼ぶ）を測定する。保持能力値取得部６は、保持確率を測定するために、まず、ＤＲＡＭ４に測定用データを書き込む。それとともに、保持能力値取得部６は、測定用のリフレッシュ処理が行われた時点から、リセット期間が経過する時点まで、リフレッシュ処理を行わないように、リフレッシュ制御部５に指示する。保持能力値取得部６は、測定用のリフレッシュ処理が行われた時点から、リセット期間が経過した時点において、測定用データが変化したかを判定する。保持能力値取得部６は、この判定を複数回行い、測定用データが変化しなかった回数を、全判定回数で割った値を算出する。そして、保持能力値取得部６は、算出した値をＤＲＡＭ４の保持確率とする。そして、保持能力値取得部６は、算出した保持確率を、ＤＲＡＭ４についての保持能力値として用いる。
【００３９】
このように、保持確率を保持能力値として採用する場合であっても、上述と同様の効果を得ることができる。
【００４０】
＜実施の形態２＞
図２は、本発明の実施の形態２に係るコンピュータ装置２１の構成を示す図である。本コンピュータ装置２１の構成が、実施の形態１に係るコンピュータ装置１の構成と異なる点は、ＣＰＵ２において、個数決定部７及び制御部８の代わりに、誤り訂正ビット生成部２７及び制御部２８が形成されるとともに、ハードディスク３において、動作プログラムＰ１の代わりに動作プログラムＰ２が記憶されている点である。ＣＰＵ２がハードディスク３内の動作プログラムＰ２を実行することによって、ＣＰＵ２には、上述のリフレッシュ制御部５及び保持能力値取得部６と、誤り訂正ビット生成部２７と、制御部２８とが機能ブロックとして形成される。以下、本実施の形態に係るコンピュータ装置２１の構成のうち、実施の形態１に係るコンピュータ装置１の構成と異なる点についてのみ説明する。
【００４１】
制御部２８は、内部にデータ訂正部２９を有する。誤り訂正ビット生成部２７は、まず、保持能力値取得部６で決定された保持能力値に基づいて、ＤＲＡＭ４に記憶されるデータに付加する誤り訂正ビットのビット数を決定し、当該ビット数を有する誤り訂正ビットを生成する。誤り訂正ビット生成部２７は、保持能力値取得部６で決定された保持能力値が小さくなるにつれて、誤り訂正ビットのビット数を大きくしていく。誤り訂正ビット生成部２７は、誤り訂正ビットを、例えば、ハミング符号方式や、畳込み符号方式を用いて生成する。以上の動作を行うように構成された誤り訂正ビット生成部２７は、保持能力値の小さいＤＲＡＭ４に記憶される記憶データに対して、ビット数が大きい誤り訂正ビットを生成する。
【００４２】
制御部２８は、リセット期間において、リセット原因特定データを、記憶対象のデータとして生成する。その後、制御部２８は、生成した記憶対象のデータに、誤り訂正ビット生成部２７で生成された誤り訂正ビットを付加してＤＲＡＭ４に記憶する。
【００４３】
ＣＰＵ２が、通常動作を再開すると、データ訂正部２９は、ＤＲＡＭ４に記憶されている記憶データおよびそれに付加されている誤り訂正ビットに基づいて、当該記憶データを訂正する。つまり、本実施の形態に係るデータ訂正部２９は、リセット期間の間、ＤＲＡＭ４に対するリフレッシュ処理が行われなかった後に、当該ＤＲＡＭ４に記憶されている記憶データおよびそれに付加されている誤り訂正ビットに基づいて、当該記憶データを訂正する。
【００４４】
次に、本実施の形態に係るコンピュータ装置２１の効果について説明する前に、本発明と比較されるコンピュータ装置について説明する。比較されるコンピュータ装置では、ＤＲＡＭの保持能力値にかかわらず、一定のビット数を有する誤り訂正ビットを生成する。このようなコンピュータ装置において、記憶対象のデータおよびそれに付加された誤り訂正ビットをＤＲＡＭに記憶し、一定期間の間、当該ＤＲＡＭに対してリフレッシュ処理が行われなかった場合、当該ＤＲＡＭに記憶された記憶データおよびそれに付加された誤り訂正ビットからなる複数ビット（以後、「記憶全ビット」）のうち、変化しているビットもあれば、一定に保持されているビットもある。比較されるコンピュータ装置では、誤り訂正ビットは一定のビット数で生成されるため、一定期間の間、保持能力値が小さいＤＲＡＭに対してリフレッシュ処理が行われなかった場合に、当該ＤＲＡＭの記憶全ビットにおいて、変化するビットのビット数が大きくなり、誤り訂正を行うことができない可能性が高い。
【００４５】
それに対して、本実施の形態に係るコンピュータ装置２１では、ＤＲＡＭ４の保持能力値が小さいほど、記憶全ビットに含まれる誤り訂正ビットのビット数は大きくなる。これにより、一定期間の間、保持能力値が小さいＤＲＡＭ４に対してリフレッシュ処理が行われない場合には、記憶全ビットに誤りが多く生じるが、誤り訂正ビットのビット数を大きくすることができるため、誤りを訂正することができる。
【００４６】
こうして、本実施の形態に係るコンピュータ装置２１によれば、ＤＲＡＭ４に、一定期間の間、リフレッシュ処理が行われなくても、当該ＤＲＡＭ４に記憶される記憶データが消失するのを防ぐことができる。一方、保持能力値が大きいＤＲＡＭ４には、記憶対象のデータに付加される誤り訂正ビットのビット数は小さくなるため、ＤＲＡＭ４の記憶容量を効率的に利用することができる。
【００４７】
なお、以上で説明したコンピュータ装置１，２１によれば、ＤＲＡＭよりもコストがかかる、リフレッシュ処理が不要なＳＲＡＭ（Static Random Access Memory）の代わりにＤＲＡＭ４を設けることができる。
【符号の説明】
【００４８】
１，２１  コンピュータ装置
２  ＣＰＵ
４  ＤＲＡＭ
６  保持能力値取得部
７  個数決定部
８，２８  制御部
２７  誤り訂正ビット生成部
２９  データ訂正部
Ｐ１  動作プログラム
【図１】
2010176333.tif 000003
【図２】
2010176333.tif 000004