(57)【要約】【課題】ＭＲＡＭからの読み出し回数を増やさず、システム全体の電流量を低減することができるＭＲＡＭ制御装置を得ること。【解決手段】ＭＲＡＭの書込みを制御するＭＲＡＭ制御装置であって、書込み要求に含まれるデータを、書込みアドレスと書込み要求回数を示す頻度情報と対応づけて保持するデータ保持メモリ６１と、保持している書込みアドレスに対して書込みのあった回数を計数して頻度情報としてデータ保持メモリ６１に格納する頻度算出回路６２と、書込み要求に含まれる書込みアドレスと保持している書込みアドレスとを比較し、一致するアドレスがなく、空き領域が無い場合には、頻度情報に基づき頻度の小さいデータを選択し、選択したデータをＭＲＡＭへ書込み、そのデータが格納されていたデータ保持メモリ６１の領域に、書込み要求に含まれるデータを書込む。【選択図】        図２
2010097655.tif 000002
【特許請求の範囲】
【請求項１】
ＭＲＡＭへの書込みデータとそのデータの前記ＭＲＡＭへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するＭＲＡＭ制御装置であって、
前記書込み要求に含まれるデータを、前記書込みアドレスおよびその書込みアドレスに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリと、
前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれの領域に対応づけて前記内部メモリに格納する頻度算出手段と、
前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御手段と、
前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較手段と、
前記頻度比較手段が選択した領域に格納されているデータを前記ＭＲＡＭへ書込むライトバック実施手段と、
を備え、
前記書込み制御手段は、前記内部メモリに空き領域が無い場合に、前記ライトバック実施手段がデータを前記ＭＲＡＭへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込むことを特徴とするＭＲＡＭ制御装置。
【請求項２】
前記内部メモリに格納されているデータをＭＲＡＭへ書込むための明示的な要求である明示書込み要求があった場合、
前記書込み制御手段は、前記内部メモリに格納されている前記明示書込み要求に対応するデータを前記ＭＲＡＭへ書込むよう前記ライトバック実施手段に指示し、
前記ライトバック実施手段は、前記指示に基づいて前記ＭＲＡＭへの書込みを実施することを特徴とする請求項１に記載のＭＲＡＭ制御装置。
【請求項３】
自装置への電源供給が停止した場合に、前記内部メモリに格納されているデータを前記ＭＲＡＭへ書込むことを特徴とする請求項１または２に記載のＭＲＡＭ制御装置。
【請求項４】
蓄電を行い、また、自装置への電源供給が停止した場合に自装置へ電源を供給する蓄電手段、
をさらに備えることを特徴とする請求項３に記載のＭＲＡＭ制御装置。
【請求項５】
前記内部メモリを複数のブロックに分割し、前記データ、前記書込みアドレスおよび前記頻度情報をブロックごとに格納することとし、
前記頻度算出手段は、前記頻度情報をブロック単位で求め、
前記ライトバック実施手段は、ブロック単位で前記ＭＲＡＭへの書込みを行うことを特徴とする請求項１〜４のいずれか１つに記載のＭＲＡＭ制御装置。
【請求項６】
前記頻度算出手段は、前記ＭＲＡＭへ書込んだデータに対応する頻度情報を初期値に設定することを特徴とする請求項１〜５のいずれか１つに記載のＭＲＡＭ制御装置。
【請求項７】
前記頻度算出手段は、所定の期間内の書込み処理の回数に基づいて頻度情報を求めることを特徴とする請求項１〜６のいずれか１つに記載のＭＲＡＭ制御装置。
【請求項８】
ＭＲＡＭへの書込みデータとそのデータのＭＲＡＭへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するＭＲＡＭ制御装置におけるＭＲＡＭ制御方法であって、
前記ＭＲＡＭ制御装置が、前記書込み要求に含まれるデータを、前記ＭＲＡＭへの書込みアドレスおよびそのデータに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリを備え、
前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御ステップと、
前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれのデータに対応づけて前記内部メモリに格納する頻度算出ステップと、
前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較ステップと、
前記頻度比較ステップで選択された領域に格納されているデータを前記ＭＲＡＭへ書込むライトバック実施ステップと、
前記内部メモリに空き領域が無い場合に前記ライトバック実施ステップにてデータを前記ＭＲＡＭへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込む書込みステップと、
を含むことを特徴とするＭＲＡＭ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）を制御するＭＲＡＭ制御装置に関する。
【背景技術】
【０００２】
ＭＲＡＭは、不揮発性であり読み書きが高速であるという利点があるが、データ書込み時に多くの電流を消費するという問題がある。この問題に対する対策として、たとえば、下記特許文献１では、ＭＲＡＭにデータの書込み要求があった際に、ＭＲＡＭからデータを読出し、読みだしたデータと書込み要求があったデータとを比較し、両者の値が異なるときのみＭＲＡＭへの書込みを行うことにより、ＭＲＡＭへデータを書込む回数を低減している。
【０００３】
また、下記特許文献２では、複数のＭＲＡＭを備えるシステムにおいて、複数のＭＲＡＭに同時にデータを書込むときに生じるピーク電流量を分散させるために、ＭＲＡＭごとに書込むタイミングをずらす技術が開示されている。
【０００４】
【特許文献１】特開平７−２２０４７９号公報
【特許文献２】特開２００２−８３６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に記載の技術によれば、ＭＲＡＭへデータを書込む回数を低減しているが、ＭＲＡＭへのデータ書込み要求時にＭＲＡＭからデータを読み出す。このため、データ書込みに対応して常にＭＲＡＭからデータを読み出す動作が発生している、という問題があった。
【０００６】
また、上記特許文献２に記載の技術によれば、ピーク電流量を分散させることにより、ピーク電流値をシステムの所定範囲内に収めているが、ＭＲＡＭへの書込み回数を低減しているわけではない。このため、システム全体の電流量を低減することはできない、という問題があった。
【０００７】
本発明は、上記に鑑みてなされたものであって、ＭＲＡＭからのデータの読み出し回数を増やすことなく、システム全体の電流量を低減することができるＭＲＡＭ制御装置およびＭＲＡＭ制御方法を得ることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、ＭＲＡＭへの書込みデータとそのデータの前記ＭＲＡＭへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するＭＲＡＭ制御装置であって、前記書込み要求に含まれるデータを、前記書込みアドレスおよびその書込みアドレスに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリと、前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれの領域に対応づけて前記内部メモリに格納する頻度算出手段と、前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御手段と、前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較手段と、前記頻度比較手段が選択した領域に格納されているデータを前記ＭＲＡＭへ書込むライトバック実施手段と、を備え、前記書込み制御手段は、前記内部メモリに空き領域が無い場合に、前記ライトバック実施手段がデータを前記ＭＲＡＭへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込むことを特徴とする。
【発明の効果】
【０００９】
この発明によれば、ＭＲＡＭへの書込み要求のあったデータを、内部メモリに保持し、内部メモリに空き領域がなくなった場合には、書込み要求の発生頻度の少ないデータをＭＲＡＭに移動させるようにしたので、ＭＲＡＭからのデータの読み出し回数を増やすことなく、システム全体の電流量を低減することができる、という効果を奏する。
【発明を実施するための最良の形態】
【００１０】
以下に、本発明にかかるＭＲＡＭ制御装置およびＭＲＡＭ制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１１】
図１は、本発明にかかるＭＲＡＭ制御装置を含む全体システムの構成例を示す図である。本実施の形態では、本発明にかかるＭＲＡＭ制御装置を、ＭＲＡＭライト制御装置１として説明する。図１に示すように、本実施の形態の全体システムは、ＭＲＡＭライト制御装置１と、ＭＲＡＭアクセス装置２と、ＭＲＡＭ３と、データライト指示装置４と、電源部５と、データ保持回路６と、リードデータ選択回路７と、コンデンサ８と、書込み制御部９と、を備えている。
【００１２】
ＭＲＡＭライト制御装置１は、ＭＲＡＭ３に対するアクセスを制御する本発明の特徴的な装置である。ＭＲＡＭアクセス装置２は、ＭＲＡＭ３に対してアクセス要求を行いデータの書込みや読出し制御する従来のＭＲＡＭ制御装置であり、一般的な代表例としてはＣＰＵ（Central  Processing  Unit）などがある。ＭＲＡＭ３は、ＭＲＡＭである。
【００１３】
データライト指示装置４は、ＭＲＡＭライト制御装置１に保持されているデータのＭＲＡＭ３への書込みを指示する装置である。電源５はＭＲＡＭライト制御装置１やＭＲＡＭ３などの各装置に電源を供給する電源であり、データ保持回路６はＭＲＡＭアクセス装置２からＭＲＡＭ３へ書込むデータを保持する回路である。リードデータ選択回路７は、ＭＲＡＭアクセス装置２からＭＲＡＭ３へのリード要求があったデータがＭＲＡＭライト制御装置１内にあるか否かを判定した後にＭＲＡＭアクセス装置２へ要求されたデータを出力する回路である。コンデンサ８は、電源５が遮断された後、ＭＲＡＭライト制御装置１が保持しているデータをＭＲＡＭ３に転送する操作のための電源を蓄電しているコンデンサである。
【００１４】
書込み制御部９は、ＭＲＡＭアクセス装置２からの書込み要求やデータライト指示装置４からの書込み要求を受信して、データ保持回路６の動作の制御を行う。
【００１５】
図２は、データ保持回路６の内部構成例を示す図である。図２に示すように、本実施の形態のデータ保持回路６は、データ保持メモリ６１と、頻度算出回路６２と、頻度比較回路６３と、ライトバックタイミング決定回路６４と、ライトバック実施回路６５と、で構成される。
【００１６】
データ保持メモリ６１は、ＭＲＡＭアクセス装置２から要求されたＭＲＡＭ３への書込みデータであるライトデータを保持するメモリであり、データを一定の領域（ブロック）ごとに分割してブロックごとのデータを関連情報とともに保持している。各ブロックには、保持しているデータが有効であるか否かを判定するバリッドビット（Ｖ  ｂｉｔ）と、ＭＲＡＭ３に書込む領域を示すアドレスと対応する書込みデータと、該ブロックに対して書込み要求がどの程度あったかを表す頻度情報と、が格納されている。
【００１７】
頻度算出回路６２は、各ブロックに対応する頻度情報を算出する回路であり、頻度比較回路６３は、ブロックごとに保持している頻度情報を比較して、頻度の少ないブロックを選択して低頻度ブロックとして決定する回路である。また、ライトバックタイミング決定回路６４は、データ保持メモリ６１に保持しているデータをＭＲＡＭ３への書込むよう指示する回路であり、ライトバック実施回路６５は、ライトバックタイミング決定回路６４または外部からの書込み指示により、頻度比較回路６３が決定した低頻度ブロックのデータをＭＲＡＭ３に書込む処理をする回路である。
【００１８】
以下、本実施の形態の動作について、図１および図２を参照して説明する。ＭＲＡＭライト制御装置１の書込み制御部９は、ＭＲＡＭアクセス装置２からＭＲＡＭ３に対するデータの書込み要求を受け取ると、書込み要求されたデータが既にデータ保持メモリ６１内に保持されているか否かをデータ保持メモリ６１に保持されている情報に基づいて判断する。なお、ＭＲＡＭアクセス装置２から送出される書込み要求には、そのデータの書込み先アドレス（ＭＲＡＭ３への書込み先アドアレス）が含まれていることとする。具体的には、書込み要求に含まれる書込み先アドレスとデータ保持メモリ６１内のいずれかのブロックに保持されているアドレスが一致し、さらにアドレスが一致したブロックのバリッドビットが有効であれば、その書込み要求のあったデータは既にデータ保持メモリ６１内に保持されていることになる。
【００１９】
書込み要求されたデータが既にデータ保持メモリ６１内に保持されていると判断した場合は、書込み制御部９は、書込み要求のあったデータとアドレスの一致したブロックのデータを、書込み要求のあったデータで上書きする。書込み要求されたデータがデータ保持メモリ６１内に保持されていないと判断した場合、書込み制御部９は、データ保持メモリ６１内にデータを保持していないブロックすなわち空きブロックがあるかを調査する。空きブロックがあるか否かは各ブロックのバリッドビットによって判断する。なお、バリッドビットは、初期値は、無効と示す値を設定しておき、データが書込まれる際に有効を示す値が設定され、また、データが不要になった場合（削除された場合など）には、無効と示す値に再設定されることとする。
【００２０】
空きブロックがあると判断した場合は、書込み制御部９は、データ保持メモリ６１のその空きブロックの領域に、書込み要求があったデータを保持する。その際、そのデータに関する上述の関連情報も同時に保持する。
【００２１】
空きブロックがないと判断した場合は、まず、ＭＲＡＭライト制御装置１の書込み制御部９は、頻度比較回路６３に頻度比較を行うよう指示し、頻度比較回路６３は、各ブロックが保持している頻度情報を比較し、頻度の少ないブロックを選択して低頻度ブロックとして決定する。つぎに、ライトバック実施回路６５は、頻度比較回路６３が決定した低頻度ブロックのデータをＭＲＡＭ３に書込み、書込み後に、書込み要求があったデータをその低頻度ブロックに保持する。
【００２２】
図１では、ＭＲＡＭアクセス装置２からのデータの書込み要求および書込むアドレスやデータをデータ保持メモリ６１に保持する経路を経路１０として示している。また、データ保持メモリ６１に保持していたアドレス、データを、ＭＲＡＭ３に書込む際の経路を経路１１として示している。また、経路１２は、ＭＲＡＭ３からリードデータ選択回路７までのデータ転送の経路と示し、経路１３は、データ保持回路６からリードデータ選択回路７までのデータ転送の経路を示し、経路１４は、リードデータ選択経路７が選択したデータをＭＲＡＭアクセス装置２に転送する経路を示し、経路１５は、データライト指示装置４がデータ保持メモリ６内に、保持しているデータを明示的にＭＲＡＭ３に書込む指示を転送する経路である。
【００２３】
ライトバックタイミング回路６４は、予め設定した期間を経過したことを測定できる装置を具備し、該期間を経過するたびに頻度算出回路６２に対して頻度クリアの指示をする回路である。なお、この期間の特定は、固定値を設定する方法でもよく、また、事前に設定しておいた数値を、ソフトウェアなどを用いて動的に変更する方法でも構わない。
【００２４】
データ保持メモリ６１のブロックごとに保持されている頻度情報は、頻度算出回路６２が算出した値である。頻度算出回路６２は、各ブロックに対して新規にデータが書込まれる際に該ブロックの頻度情報を「１」にし、保持しているデータが上書きされるたびに１ずつ加算した値を頻度情報として書込む。また、頻度算出回路６２は、ライトバックタイミング決定回路６４から頻度クリアの指示を受けた場合には、すべてのブロックの頻度情報を「０」とする。
【００２５】
頻度比較回路６３は、各ブロックの頻度を比較する回路である。本発明の目的はＭＲＡＭ３に対するデータの書込み頻度を低減することにある。したがって、書込み頻度の低いブロックのデータよりも書込み頻度の高いブロックのデータをデータ保持メモリ６１内に保持する方が本発明による効果が高い。このことから頻度比較回路６３では、書込み頻度が低いブロックのデータを低頻度ブロックとして決定して、ＭＲＡＭ３に書込むデータとしてライトバック実施回路６５に伝える。
【００２６】
書込み制御部９は、データライト指示装置４が経路１５を介してデータ保持メモリ６１内に保持しているデータをＭＲＡＭ３に書込むことを明示的に要求された場合、ライトバック実施回路６５に要求のあったデータ保持メモリ６１内のデータをＭＲＡＭ３へ書込むよう指示する。ライトバック実施回路６５は、書込み制御部９からの指示に基づいて、頻度比較回路６３が決定した低頻度ブロックに、データ保持メモリ６１内に保持されているデータをＭＲＡＭ３に書込む。
【００２７】
さらに、ライトバック実施回路６５は、システムの電源が遮断されるなどによりＭＲＡＭライト制御装置１およびＭＲＡＭ３に対して電源５による電源供給がなされない状態になった場合、電源５による電源遮断後に、直ちにコンデンサ８に蓄電された電力を用いてデータ保持メモリ６１内に保持されているすべての有効データ（バリッドビットが有効であるデータ）をＭＲＡＭ３に書込む。
【００２８】
また、ＭＲＡＭライト制御装置１のリードデータ選択回路７は、ＭＲＡＭアクセス装置２からＭＲＡＭ３のデータに対する読出し要求を受信すると、読出し要求があったデータが既にデータ保持メモリ６１内に保持されているかを、データ保持メモリ６１内に保持されている情報に基づいて判断する。具体的には、読出し要求があったアドレスとデータ保持メモリ内のいずれかのブロックに保持されているアドレスが一致し、さらに、そのブロックのバリッドビットが有効であれば、読出し要求があったデータをデータ保持メモリ６１内に保持していることになる。
【００２９】
リードデータ選択回路７は、データの読出し要求があったデータをデータ保持メモリ６１内に保持していると判断した場合、該データを経路１２と経路１３を介してＭＲＡＭアクセス装置２に転送する。また。読出し要求があったデータをデータ保持メモリ６１内に保持していないと判断した場合、リードデータ選択回路７は、データの読出し要求があったデータをＭＲＡＭ３から読出して、経路１１と経路１３を介してＭＲＡＭアクセス装置２に転送する。
【００３０】
このように、本実施の形態では、ＭＲＡＭ３への書込み要求のあったデータを、ＭＲＡＭライト制御装置１が保持し、ＭＲＡＭライト制御装置１内のデータ保持メモリ６１に空き領域がなくなった場合には、書込み要求の発生頻度の少ないデータをＭＲＡＭ３に移動させるようにした。このため、ＭＲＡＭ３からの読み出し頻度を増やすなど新たな動作を追加することなしにＭＲＡＭ３に対する書込み回数を低減することができる。このため、ＭＲＡＭ３のアクセスに関する際のシステム全体の総電流量を低減することができる。
【産業上の利用可能性】
【００３１】
以上のように、本発明にかかるＭＲＡＭ制御装置は、ＭＲＡＭ（Magnetoresistive  Random  Access  Memory）を制御するＭＲＡＭ制御装置に有用であり、特に、システム全体の消費電力を低減するＭＲＡＭ制御装置に適している。
【図面の簡単な説明】
【００３２】
【図１】本発明にかかるＭＲＡＭ制御装置を含む全体システムの構成例を示す図である。
【図２】データ保持回路の内部構成例を示す図である。
【符号の説明】
【００３３】
１  ＭＲＡＭライト制御装置
２  ＭＲＡＭアクセス装置
３  ＭＲＡＭ
４  データライト指示装置
５  電源部
６  データ保持回路
７  リードデータ選択回路
８  コンデンサ
９  書込み制御部
６１  データ保持メモリ
６２  頻度算出回路
６３  頻度比較回路
６４  ライトバックタイミング決定回路
６５  ライトバック実施回路
１０，１１，１２，１３，１４  経路
【図１】
2010097655.tif 000003
【図２】
2010097655.tif 000004