(57)【要約】【課題】  消費電力を低減させたメモリシステムを提供する。【解決手段】  バックアップ用ＭＲＡＭの上に通常処理用メモリを配置し、ＭＲＡＭとメモリの記憶素子間を１対１に配線するとともに、記憶素子間のデータを比較して変化があった記憶素子のみバックアップの対象とする。【選択図】  図１
2005309683.tif 000002
【特許請求の範囲】
【請求項１】
平面状に配置されたＮ個の第１記憶素子を有し、入力されたデータを記憶するメモリと、
前記メモリの第１記憶素子の各々に対応するとともに前記第１記憶素子がなす平面の上に平面状に配置されたＮ個の第２記憶素子を有し、前記メモリが記憶するデータの複製を記憶するＭＲＡＭと
前記第１記憶素子の各々に対応して設けられ、対応する前記第１記憶素子から第１データを読み出すＮ個の第１読み出し手段と、
前記第２記憶素子の各々に対応して設けられ、対応する前記第２記憶素子から第２データを読み出すＮ個の第２読み出し手段と、
前記第１記憶素子の各々とこれに対応する前記第２記憶素子との各記憶素子対に対応して設けられ、対応する前記記憶素子対に関して、前記第１及び第２読み出し手段によって読み出された前記第１及び第２データを比較するＮ個の比較器と、
前記比較器の各々に対応して設けられ、対応する前記比較器で比較された前記第１及び第２データが異なる値を有する場合に、当該比較器に対応する前記記憶素子対の第２記憶素子に当該記憶素子対の第１記憶素子から読み出された前記第１データを書き込むＮ個の書き込み手段と、
を備えるメモリシステム。
【請求項２】
前記各記憶素子対の前記第１及び第２記憶素子間の配線長が全ての記憶素子対で等しい、
ことを特徴とする請求項１に記載のメモリシステム。
【請求項３】
Ｓ個の第１記憶素子を含んだＴ個の第１セグメントを平面状に有し、入力されたデータを記憶するメモリと、
前記ＭＲＡＭの第１セグメントの各々に対応するとともにＳ個の第２記憶素子を含むＴ個の第２セグメントを、前記第１セグメントがなす平面の上に平面状に有し、前記各第２セグメントの前記第２記憶素子は当該第２セグメントに対応する第１セグメント内の各第１記憶素子に対応し、前記メモリが記憶するデータの複製を記憶するＭＲＡＭと、
前記Ｔ個の第１セグメント間で共有され、前記メモリの前記各第１記憶素子から第１データを読み出すＳ個の第１読み出し手段と、
前記Ｔ個の第２セグメント間で共有され、前記ＭＲＡＭの前記各第２記憶素子から第２データを読み出すＳ個の第２読み出し手段と、
前記第１記憶素子の各々とこれに対応する前記第２記憶素子との各記憶素子対に関して、前記第１及び第２読み出し手段によって読み出された前記第１及び第２データを比較するＳ個の比較器と、
前記比較器で比較された前記第１及び第２データが異なる値を有する前記記憶素子対関して、当該記憶素子対の前記第２記憶素子に当該記憶素子対の前記第１記憶素子から読み出された前記第１データを書き込むＳ個の書き込み手段と、
を備えるメモリシステム。
【請求項４】
前記第１セグメントの各々に関して当該第１セグメントが有するいずれかの前記第１記憶素子に対するデータの書き込みを監視する監視部と、
前記第１セグメントの各々に関して、データの書き込みの有無を記憶する更新情報記憶部とを備え、
前記比較器は、データの書き込みが行われた前記第１セグメントについて当該第１セグメントの各第１記憶素子のデータと当該第１セグメントに対応する前記第２セグメントの各第２記憶素子のデータとを比較するとともに、前記更新情報記憶部が記憶する情報を「データ書き込み無し」にリセットする、
ことを特徴とする請求項３に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
チェックポイント・ロールバック方式の高信頼サーバ用途で定期的にバックアップを行うメモリシステムに関する。
【背景技術】
【０００２】
高信頼サーバの実現方式の一つに、チェックポイント・ロールバック方式がある。この方式のサーバは、定期的にチェックポイントと呼ばれる安定した状態を保存しておき、障害が発生した場合にチェックポイントの状態から処理をやり直すことで正常な動作を保証する。
【０００３】
このチェックポイントの保存処理では、まず、コンピュータの内部状態の保存及びキャッシュの書き戻しを行う。それからメモリのバックアップを行う。しかし、メモリのバックアップのオーバーヘッドが大きいため、サーバの処理性能を下げる要因となっていた。
【０００４】
従来、オーバーヘッドを小さくする手法として、例えば特許文献１に記載の手法が提案されている。この手法では、メインメモリのリフレッシュ動作をチェックポイントの保存処理と同時に行うことでバックアップのオーバーヘッドを隠蔽している。
【特許文献１】特開２００１−８４１７８公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１の手法では、バックアップの必要が無いアドレスについてもリフレッシュ周期以内にリフレッシュを行う必要がある。そのため、チェックポイントの保存周期とリフレッシュの周期とが同程度の場合には、チェックポイント保存処理の際にメモリ全体のバックアップを行うことになる。バックアップ先のメモリが書き込み消費電力が大きいメモリの場合、例えばＭＲＡＭ（Magnetoresistive Random Access Memory）の場合、消費電力面で不利である。
【０００６】
そこで本発明では、バックアップ先のメモリがＭＲＡＭである場合に消費電力を減少させることを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために本発明のメモリシステムは、
（Ａ）平面状に配置されたＮ個の第１記憶素子を有し、入力されたデータを記憶するメモリと、
（Ｂ）前記メモリの第１記憶素子の各々に対応するとともに前記第１記憶素子がなす平面の上に平面状に配置されたＮ個の第２記憶素子を有し、前記メモリが記憶するデータの複製を記憶するＭＲＡＭと
（Ｃ）前記第１記憶素子の各々に対応して設けられ、対応する前記第１記憶素子から第１データを読み出すＮ個の第１読み出し手段と、
（Ｄ）前記第２記憶素子の各々に対応して設けられ、対応する前記第２記憶素子から第２データを読み出すＮ個の第２読み出し手段と、
（Ｅ）前記第１記憶素子の各々とこれに対応する前記第２記憶素子との各記憶素子対に対応して設けられ、対応する前記記憶素子対に関して、前記第１及び第２読み出し手段によって読み出された前記第１及び第２データを比較するＮ個の比較器と、
（Ｆ）前記比較器の各々に対応して設けられ、対応する前記比較器で比較された前記第１及び第２データが異なる値を有する場合に、当該比較器に対応する前記記憶素子対の第２記憶素子に当該記憶素子対の第１記憶素子から読み出された前記第１データを書き込むＮ個の書き込み手段と、
を備える。
【０００８】
また、本発明のメモリシステムは、
（Ａ）Ｓ個の第１記憶素子を含んだＴ個の第１セグメントを平面状に有し、入力されたデータを記憶するメモリと、
（Ｂ）  前記ＭＲＡＭの第１セグメントの各々に対応するとともにＳ個の第２記憶素子を含むＴ個の第２セグメントを、前記第１セグメントがなす平面の上に平面状に有し、前記各第２セグメントの前記第２記憶素子は当該第２セグメントに対応する第１セグメント内の各第１記憶素子に対応し、前記メモリが記憶するデータの複製を記憶するＭＲＡＭと、
（Ｃ）前記Ｔ個の第１セグメント間で共有され、前記メモリの前記各第１記憶素子から第１データを読み出すＳ個の第１読み出し手段と、
（Ｄ）前記Ｔ個の第２セグメント間で共有され、前記ＭＲＡＭの前記各第２記憶素子から第２データを読み出すＳ個の第２読み出し手段と、
（Ｅ）前記第１記憶素子の各々とこれに対応する前記第２記憶素子との各記憶素子対に関して、前記第１及び第２読み出し手段によって読み出された前記第１及び第２データを比較するＳ個の比較器と、
（Ｆ）前記比較器で比較された前記第１及び第２データが異なる値を有する前記記憶素子対関して、当該記憶素子対の前記第２記憶素子に当該記憶素子対の前記第１記憶素子から読み出された前記第１データを書き込むＳ個の書き込み手段と、
を備える。
【発明の効果】
【０００９】
本発明によれば、消費電力を減少させることができる。
【発明を実施するための最良の形態】
【００１０】
（第１の実施形態）図２は本実施形態のメモリシステムの適用対象となる高信頼サーバの概略構成を示す。このサーバは、１つ又は複数のＣＰＵ１とメモリシステム３とを備える。ＣＰＵ１はキャッシュメモリ２を備える。メモリシステム３は通常処理用メモリ１０とバックアップ用メモリ２０とアクセス制御を行う制御部３０とを備える。本実施形態の通常処理用メモリ１０はＤＲＡＭであり、バックアップ用メモリ２０はＭＲＡＭ（Magnetoresistive Ramdom Access Memory）である。
【００１１】
ＣＰＵ１は所定のタイミングで訪れるチェックポイント保存処理時に、キャッシュメモリ２の内容を通常処理用メモリ１０に書き戻す。そして、通常処理用メモリ１０とキャッシュメモリ２とに記憶されたデータを同期させ、通常処理用メモリ１０に記憶されたデータを安定状態にする。その後、制御部３０は通常処理用メモリ１０に記憶されたデータをバックアップ用メモリ２０にコピーしてバックアップを取る。尚、本実施形態では、チェックポイント保存処理は周期的（例えば10msec毎）に行う。
【００１２】
図３は本実施形態のメモリシステム３の概略構成を示す。本実施形態のメモリシステム３は、バックアップ用メモリ２０と通常処理用メモリ１０とが重ねて配置されている。ＭＲＡＭはシリコン基板に積層させることが可能である。前述したように、バックアップ用メモリ２０はＭＲＡＭであり、通常処理用メモリ１０はＤＲＡＭ、即ち、シリコン製半導体素子である。よって、通常処理用メモリ１０とバックアップ用メモリ２０とは重ねて配置することが可能である。
【００１３】
通常処理用メモリ１０は複数の記憶素子１０１を備える。バックアップ用メモリ２０は複数の記憶素子１０２を備える。通常処理用メモリ１０の各記憶素子１０１は配線１０３によりバックアップ用メモリ２０の対応する記憶素子１０２と１対１に接続される。
【００１４】
図１は記憶素子１０１、１０２の配線１０３による接続関係を示す。本実施形態では、記憶素子１０１と記憶素子１０２との間は比較器４００を介して接続される。制御部３０は、記憶素子１０１及び記憶素子１０２に対するデータ読み出しを制御する。制御部３０は記憶素子１０１及び記憶素子１０２からデータを読み出して比較器４００に供給するように制御する。比較器４００は記憶素子１０１及び記憶素子１０２からデータを供給されると、これら２つのデータを比較する。これら２つのデータが異なる場合には、記憶素子１０２を制御して記憶素子１０１から読み出されたデータを記憶させる。尚、図示していないが、記憶素子１０１からデータを読み出すためのセンスアンプと、記憶素子１０２からデータを読み出すためのセンスアンプを備える。
【００１５】
図４は通常処理用メモリ１０とバックアップ用メモリ２０との全体にわたる接続関係を示す。上述したように、記憶素子１０１と記憶素子１０２との間は比較器４００を介して接続される。従って、本実施形態のメモリシステムは通常処理用メモリ１０が備える記憶素子１０１の数、若しくはバックアップ用メモリ２０が備える記憶素子１０２の数のうちいずれか少ない方と同数の比較器４００を備える。図４でも図示していないが、記憶素子１０１からデータを読み出すためのセンスアンプと、記憶素子１０２からデータを読み出すためのセンスアンプを少なくとも比較器４００と同数ずつ備える。
【００１６】
以上に説明したように、本実施形態のメモリシステムは、通常処理用メモリ１０とバックアップ用メモリ２０との記憶内容を比較器４００で比較し、記憶内容が異なる記憶素子についてのみバックアップを取るようにしている。これにより、バックアップ時の書き込み回数を大幅に減少させることが可能である。従って、ＭＲＡＭに代表される書き込みに要する消費電力が大きいメモリにおいて消費電力を削減することが可能となる。
【００１７】
さらに、本実施形態のメモリシステムは、記憶素子１０１、１０２を直接接続することにより全記憶素子のコピーを同時に行うことが可能となり、チェックポイント保存処理時のバックアップを高速に行うことができる。また、通常処理用メモリ１０とバックアップ用メモリ２０とを重ねて配置しているので、記憶素子１０１、１０２を直接接続しても配線１０３を短く均一にすることができ、設計が容易になる。
【００１８】
（第２の実施形態）図５は本実施形態のメモリシステムの概略構成を示す。第１の実施形態のメモリシステムと同様に、重ねて配置された通常処理用メモリ１０とバックアップ用メモリ２０とを備える。通常処理用メモリ１０は複数の記憶素子１０１を備える。バックアップ用メモリ２０は複数の記憶素子１０２を備える。記憶素子１０１、１０２の間は配線１０４によって接続されている。配線１０３の途中には記憶素子１０１からデータを読み出すためのセンスアンプ３００がある。尚、図示していないが、この他に比較器と記憶素子１０２からデータを読み出すためのセンスアンプとを備える。
【００１９】
通常処理用メモリ１０は複数の記憶セグメント２０１に分かれている。各記憶セグメント２０１は複数の記憶素子１０１を有する。バックアップ用メモリ２０も複数の記憶セグメント２０２に分かれている。各記憶セグメント２０２は複数の記憶素子１０２を有する。記憶セグメント２０１が有する記憶素子１０１の数は、記憶セグメント２０２が有する記憶素子１０２の数と同数である。
【００２０】
本実施形態のメモリシステムは記憶セグメント２０２と同数のセンスアンプ３００を有する。本実施形態では、各記憶セグメント２０２内の記憶素子１０２一つにつきセンスアンプ３００が一つ割り当てられる。そして、センスアンプ３００は記憶セグメント２０２間で共有される。
【００２１】
本実施形態のメモリシステムでは、メモリシステム全体では記憶素子１０１と記憶素子１０２とは１対１には接続されていない。代わりに、ある一つの記憶セグメント２０２と、これに対応するある一つの記憶セグメント２０１との間では、記憶素子１０２と記憶素子１０１とが１対１に接続される。すなわち、記憶セグメント２０１と記憶セグメント２０２とが１対１に接続される。
【００２２】
本実施形態のメモリシステムの制御部３０は、チェックポイント保存処理時のバックアップ動作を記憶セグメント単位で行う。制御部３０は記憶セグメント２０１と記憶セグメント２０２とを一組ずつバックアップして、全体のバックアップを行う。第１の実施形態と同様、比較器により記憶素子１０１のデータと記憶素子１０２のデータとの比較を行い、両データの値が異なる場合に記憶素子１０２に記憶素子１０１からのデータを書き込む。
【００２３】
図６は記憶セグメント２０１と記憶セグメント２０２との間の詳細な接続関係を示す。記憶セグメント２０１の各記憶素子１０１と記憶セグメント２０２の各記憶素子１０２とは１対１に接続される。制御部３０はセンスアンプ３００を用いて記憶素子１０１からデータを読み出す。制御部３０はセンスアンプ３０１を用いて記憶素子１０２からデータを読み出す。そして、記憶素子１０１から読み出されたデータ及び記憶素子１０２から読み出されたデータは比較器４００に入力される。比較器４００は両データが異なる場合に記憶素子１０２に書き込みが行われるように記憶素子１０２を制御する。
【００２４】
通常処理用メモリ１０は複数の記憶セグメント２０１を有する。バックアップ用メモリ２０は複数の記憶セグメント２０２を有する。センスアンプ３００及び比較器４００は記憶セグメント２０１間で共有される。センスアンプ３０１及び比較器４００は記憶セグメント２０２間で共有される。従ってこの構成では、センスアンプ３００、３０１及び比較器４００は１つの記憶セグメント２０１（または２０２）内にある記憶素子の数と少なくとも同数あればよい。
【００２５】
以上、本実施形態のメモリシステムならば第１の実施形態のメモリシステムに比べてセンスアンプ及び比較器の数を減らしながらも、通常処理用メモリとバックアップ用メモリとを同一平面内に配置する場合に比べて配線を短くすることが可能となる。
【００２６】
（第３の実施形態）図７は本実施形態のメモリシステムの概略構成を示す。本実施形態のメモリシステムの構成は第２の実施形態のメモリシステムの構成と概ね共通であるので、異なる部分を中心に説明する。本実施形態のメモリシステムでは、通常処理用メモリ１０の各記憶セグメント２０１は更新ビット５００を備える。この更新ビット５００は初期値は０である。対応する記憶セグメント２０１に対してデータの書き込みが行われると更新ビット５００の値が１になる。
【００２７】
チェックポイント保存処理時には、制御部３０は値が１になっている更新ビット５００に対応する記憶セグメント２０１だけを、バックアップ用メモリ２０側の対応する記憶セグメント２０２にバックアップする。制御部３０は、チェックポイント保存処理が完了したら全ての更新ビット５００の値を０にリセットする。
【００２８】
図８は本実施形態のメモリシステムのチェックポイント保存処理のフローチャートである。
【００２９】
（ステップＳ８０１）制御部３０は記憶セグメント２０１の更新ビット５００の値を調べる。
【００３０】
（ステップＳ８０２）制御部３０は更新ビット５００の値、即ち記憶セグメント２０１のデータが更新されているか否かを判定する。制御部３０は、更新ビット５００の値が１、すなわち記憶セグメント２０１のデータが更新されている場合はステップＳ８０３を行い、データが更新されていない場合はステップＳ８０７を行う。
【００３１】
（ステップＳ８０３）制御部３０は記憶セグメント２０１内の各記憶素子１０１のデータと、記憶セグメント２０１に対応する記憶セグメント２０２の、各記憶素子１０１に対応する記憶素子１０２のデータとを読み出す。そして、比較器４００において両データの比較を行う。
【００３２】
（ステップＳ８０４）比較器４００は両データが異なるか否かを判定する。比較器４００は両データが異なる場合はステップＳ８０５を行い、同一の場合はステップＳ８０６を行う。
【００３３】
（ステップＳ８０５）両データが異なる場合、比較器４００は、記憶素子１０２のデータを記憶素子１０１のデータで更新する。
【００３４】
（ステップＳ８０６）両データが同一な場合、比較器４００は、記憶素子１０２のデータを更新しない。
【００３５】
（ステップＳ８０７）制御部３０は全ての記憶セグメント２０１について、対応する更新ビット５００の値を調べたかを判定する。制御部３０は、まだ調べていない記憶セグメント２０１がある場合は次の記憶セグメント２０１に関してステップＳ８０１を行い、全ての記憶セグメント２０１について調べた場合はステップＳ８０８を行う。
【００３６】
（ステップＳ８０８）制御部３０は全ての更新ビット５００の値を０にリセットする。
【００３７】
以上、本実施形態のメモリシステムは、通常処理用メモリにおいてデータの変更があった記憶セグメントに対してのみバックアップ用メモリとのデータの比較を行う。これにより、バックアップ用メモリからの読み出し及びバックアップ用メモリへの書き込みを減少させることができるので、チェックポイント保存処理による消費電力を減少させることが可能となる。
【００３８】
また、通常処理におけるメモリアクセスには空間的な局所性があるので、各記憶セグメント内の各記憶素子に連続するアドレスを割り当てるようにすることで、センスアンプ数を削減しても速度の減少を抑えることが可能となる。
【図面の簡単な説明】
【００３９】
【図１】通常処理用メモリの記憶素子とバックアップ用メモリの記憶素子との接続関係の概要を示す図。
【図２】本発明の各実施形態のメモリシステムを用いる高信頼サーバの一例を示す図。
【図３】本発明の第１の実施形態のメモリシステムの概略構成を示す図。
【図４】第１の実施形態における、通常処理用メモリとバックアップ用メモリとの接続関係を示す図。
【図５】本発明の第２の実施形態のメモリシステムの概略構成を示す図。
【図６】第２の実施形態における、通常処理用メモリとバックアップ用メモリとの接続関係を示す図。
【図７】本発明の第３の実施形態のメモリシステムの概略構成を示す図。
【図８】第３の実施形態のメモリシステムの、チェックポイント保存処理のフローチャート。
【符号の説明】
【００４０】
１  ＣＰＵ
２  キャッシュメモリ
３  メモリシステム
１０  通常処理用メモリ
２０  バックアップ用メモリ
３０  制御部
１０１、１０２  記憶素子
２０１、２０２  記憶セグメント
３００、３０１  センスアンプ
４００  比較器
【図１】
2005309683.tif 000003
【図２】
2005309683.tif 000004
【図３】
2005309683.tif 000005
【図４】
2005309683.tif 000006
【図５】
2005309683.tif 000007
【図６】
2005309683.tif 000008
【図７】
2005309683.tif 000009
【図８】
2005309683.tif 000010