説明

MRAM制御装置およびMRAM制御方法

【課題】MRAMからの読み出し回数を増やさず、システム全体の電流量を低減することができるMRAM制御装置を得ること。
【解決手段】MRAMの書込みを制御するMRAM制御装置であって、書込み要求に含まれるデータを、書込みアドレスと書込み要求回数を示す頻度情報と対応づけて保持するデータ保持メモリ61と、保持している書込みアドレスに対して書込みのあった回数を計数して頻度情報としてデータ保持メモリ61に格納する頻度算出回路62と、書込み要求に含まれる書込みアドレスと保持している書込みアドレスとを比較し、一致するアドレスがなく、空き領域が無い場合には、頻度情報に基づき頻度の小さいデータを選択し、選択したデータをMRAMへ書込み、そのデータが格納されていたデータ保持メモリ61の領域に、書込み要求に含まれるデータを書込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、MRAM(Magnetoresistive Random Access Memory)を制御するMRAM制御装置に関する。
【背景技術】
【0002】
MRAMは、不揮発性であり読み書きが高速であるという利点があるが、データ書込み時に多くの電流を消費するという問題がある。この問題に対する対策として、たとえば、下記特許文献1では、MRAMにデータの書込み要求があった際に、MRAMからデータを読出し、読みだしたデータと書込み要求があったデータとを比較し、両者の値が異なるときのみMRAMへの書込みを行うことにより、MRAMへデータを書込む回数を低減している。
【0003】
また、下記特許文献2では、複数のMRAMを備えるシステムにおいて、複数のMRAMに同時にデータを書込むときに生じるピーク電流量を分散させるために、MRAMごとに書込むタイミングをずらす技術が開示されている。
【0004】
【特許文献1】特開平7−220479号公報
【特許文献2】特開2002−8368号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1に記載の技術によれば、MRAMへデータを書込む回数を低減しているが、MRAMへのデータ書込み要求時にMRAMからデータを読み出す。このため、データ書込みに対応して常にMRAMからデータを読み出す動作が発生している、という問題があった。
【0006】
また、上記特許文献2に記載の技術によれば、ピーク電流量を分散させることにより、ピーク電流値をシステムの所定範囲内に収めているが、MRAMへの書込み回数を低減しているわけではない。このため、システム全体の電流量を低減することはできない、という問題があった。
【0007】
本発明は、上記に鑑みてなされたものであって、MRAMからのデータの読み出し回数を増やすことなく、システム全体の電流量を低減することができるMRAM制御装置およびMRAM制御方法を得ることを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決し、目的を達成するために、本発明は、MRAMへの書込みデータとそのデータの前記MRAMへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するMRAM制御装置であって、前記書込み要求に含まれるデータを、前記書込みアドレスおよびその書込みアドレスに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリと、前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれの領域に対応づけて前記内部メモリに格納する頻度算出手段と、前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御手段と、前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較手段と、前記頻度比較手段が選択した領域に格納されているデータを前記MRAMへ書込むライトバック実施手段と、を備え、前記書込み制御手段は、前記内部メモリに空き領域が無い場合に、前記ライトバック実施手段がデータを前記MRAMへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込むことを特徴とする。
【発明の効果】
【0009】
この発明によれば、MRAMへの書込み要求のあったデータを、内部メモリに保持し、内部メモリに空き領域がなくなった場合には、書込み要求の発生頻度の少ないデータをMRAMに移動させるようにしたので、MRAMからのデータの読み出し回数を増やすことなく、システム全体の電流量を低減することができる、という効果を奏する。
【発明を実施するための最良の形態】
【0010】
以下に、本発明にかかるMRAM制御装置およびMRAM制御方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0011】
図1は、本発明にかかるMRAM制御装置を含む全体システムの構成例を示す図である。本実施の形態では、本発明にかかるMRAM制御装置を、MRAMライト制御装置1として説明する。図1に示すように、本実施の形態の全体システムは、MRAMライト制御装置1と、MRAMアクセス装置2と、MRAM3と、データライト指示装置4と、電源部5と、データ保持回路6と、リードデータ選択回路7と、コンデンサ8と、書込み制御部9と、を備えている。
【0012】
MRAMライト制御装置1は、MRAM3に対するアクセスを制御する本発明の特徴的な装置である。MRAMアクセス装置2は、MRAM3に対してアクセス要求を行いデータの書込みや読出し制御する従来のMRAM制御装置であり、一般的な代表例としてはCPU(Central Processing Unit)などがある。MRAM3は、MRAMである。
【0013】
データライト指示装置4は、MRAMライト制御装置1に保持されているデータのMRAM3への書込みを指示する装置である。電源5はMRAMライト制御装置1やMRAM3などの各装置に電源を供給する電源であり、データ保持回路6はMRAMアクセス装置2からMRAM3へ書込むデータを保持する回路である。リードデータ選択回路7は、MRAMアクセス装置2からMRAM3へのリード要求があったデータがMRAMライト制御装置1内にあるか否かを判定した後にMRAMアクセス装置2へ要求されたデータを出力する回路である。コンデンサ8は、電源5が遮断された後、MRAMライト制御装置1が保持しているデータをMRAM3に転送する操作のための電源を蓄電しているコンデンサである。
【0014】
書込み制御部9は、MRAMアクセス装置2からの書込み要求やデータライト指示装置4からの書込み要求を受信して、データ保持回路6の動作の制御を行う。
【0015】
図2は、データ保持回路6の内部構成例を示す図である。図2に示すように、本実施の形態のデータ保持回路6は、データ保持メモリ61と、頻度算出回路62と、頻度比較回路63と、ライトバックタイミング決定回路64と、ライトバック実施回路65と、で構成される。
【0016】
データ保持メモリ61は、MRAMアクセス装置2から要求されたMRAM3への書込みデータであるライトデータを保持するメモリであり、データを一定の領域(ブロック)ごとに分割してブロックごとのデータを関連情報とともに保持している。各ブロックには、保持しているデータが有効であるか否かを判定するバリッドビット(V bit)と、MRAM3に書込む領域を示すアドレスと対応する書込みデータと、該ブロックに対して書込み要求がどの程度あったかを表す頻度情報と、が格納されている。
【0017】
頻度算出回路62は、各ブロックに対応する頻度情報を算出する回路であり、頻度比較回路63は、ブロックごとに保持している頻度情報を比較して、頻度の少ないブロックを選択して低頻度ブロックとして決定する回路である。また、ライトバックタイミング決定回路64は、データ保持メモリ61に保持しているデータをMRAM3への書込むよう指示する回路であり、ライトバック実施回路65は、ライトバックタイミング決定回路64または外部からの書込み指示により、頻度比較回路63が決定した低頻度ブロックのデータをMRAM3に書込む処理をする回路である。
【0018】
以下、本実施の形態の動作について、図1および図2を参照して説明する。MRAMライト制御装置1の書込み制御部9は、MRAMアクセス装置2からMRAM3に対するデータの書込み要求を受け取ると、書込み要求されたデータが既にデータ保持メモリ61内に保持されているか否かをデータ保持メモリ61に保持されている情報に基づいて判断する。なお、MRAMアクセス装置2から送出される書込み要求には、そのデータの書込み先アドレス(MRAM3への書込み先アドアレス)が含まれていることとする。具体的には、書込み要求に含まれる書込み先アドレスとデータ保持メモリ61内のいずれかのブロックに保持されているアドレスが一致し、さらにアドレスが一致したブロックのバリッドビットが有効であれば、その書込み要求のあったデータは既にデータ保持メモリ61内に保持されていることになる。
【0019】
書込み要求されたデータが既にデータ保持メモリ61内に保持されていると判断した場合は、書込み制御部9は、書込み要求のあったデータとアドレスの一致したブロックのデータを、書込み要求のあったデータで上書きする。書込み要求されたデータがデータ保持メモリ61内に保持されていないと判断した場合、書込み制御部9は、データ保持メモリ61内にデータを保持していないブロックすなわち空きブロックがあるかを調査する。空きブロックがあるか否かは各ブロックのバリッドビットによって判断する。なお、バリッドビットは、初期値は、無効と示す値を設定しておき、データが書込まれる際に有効を示す値が設定され、また、データが不要になった場合(削除された場合など)には、無効と示す値に再設定されることとする。
【0020】
空きブロックがあると判断した場合は、書込み制御部9は、データ保持メモリ61のその空きブロックの領域に、書込み要求があったデータを保持する。その際、そのデータに関する上述の関連情報も同時に保持する。
【0021】
空きブロックがないと判断した場合は、まず、MRAMライト制御装置1の書込み制御部9は、頻度比較回路63に頻度比較を行うよう指示し、頻度比較回路63は、各ブロックが保持している頻度情報を比較し、頻度の少ないブロックを選択して低頻度ブロックとして決定する。つぎに、ライトバック実施回路65は、頻度比較回路63が決定した低頻度ブロックのデータをMRAM3に書込み、書込み後に、書込み要求があったデータをその低頻度ブロックに保持する。
【0022】
図1では、MRAMアクセス装置2からのデータの書込み要求および書込むアドレスやデータをデータ保持メモリ61に保持する経路を経路10として示している。また、データ保持メモリ61に保持していたアドレス、データを、MRAM3に書込む際の経路を経路11として示している。また、経路12は、MRAM3からリードデータ選択回路7までのデータ転送の経路と示し、経路13は、データ保持回路6からリードデータ選択回路7までのデータ転送の経路を示し、経路14は、リードデータ選択経路7が選択したデータをMRAMアクセス装置2に転送する経路を示し、経路15は、データライト指示装置4がデータ保持メモリ6内に、保持しているデータを明示的にMRAM3に書込む指示を転送する経路である。
【0023】
ライトバックタイミング回路64は、予め設定した期間を経過したことを測定できる装置を具備し、該期間を経過するたびに頻度算出回路62に対して頻度クリアの指示をする回路である。なお、この期間の特定は、固定値を設定する方法でもよく、また、事前に設定しておいた数値を、ソフトウェアなどを用いて動的に変更する方法でも構わない。
【0024】
データ保持メモリ61のブロックごとに保持されている頻度情報は、頻度算出回路62が算出した値である。頻度算出回路62は、各ブロックに対して新規にデータが書込まれる際に該ブロックの頻度情報を「1」にし、保持しているデータが上書きされるたびに1ずつ加算した値を頻度情報として書込む。また、頻度算出回路62は、ライトバックタイミング決定回路64から頻度クリアの指示を受けた場合には、すべてのブロックの頻度情報を「0」とする。
【0025】
頻度比較回路63は、各ブロックの頻度を比較する回路である。本発明の目的はMRAM3に対するデータの書込み頻度を低減することにある。したがって、書込み頻度の低いブロックのデータよりも書込み頻度の高いブロックのデータをデータ保持メモリ61内に保持する方が本発明による効果が高い。このことから頻度比較回路63では、書込み頻度が低いブロックのデータを低頻度ブロックとして決定して、MRAM3に書込むデータとしてライトバック実施回路65に伝える。
【0026】
書込み制御部9は、データライト指示装置4が経路15を介してデータ保持メモリ61内に保持しているデータをMRAM3に書込むことを明示的に要求された場合、ライトバック実施回路65に要求のあったデータ保持メモリ61内のデータをMRAM3へ書込むよう指示する。ライトバック実施回路65は、書込み制御部9からの指示に基づいて、頻度比較回路63が決定した低頻度ブロックに、データ保持メモリ61内に保持されているデータをMRAM3に書込む。
【0027】
さらに、ライトバック実施回路65は、システムの電源が遮断されるなどによりMRAMライト制御装置1およびMRAM3に対して電源5による電源供給がなされない状態になった場合、電源5による電源遮断後に、直ちにコンデンサ8に蓄電された電力を用いてデータ保持メモリ61内に保持されているすべての有効データ(バリッドビットが有効であるデータ)をMRAM3に書込む。
【0028】
また、MRAMライト制御装置1のリードデータ選択回路7は、MRAMアクセス装置2からMRAM3のデータに対する読出し要求を受信すると、読出し要求があったデータが既にデータ保持メモリ61内に保持されているかを、データ保持メモリ61内に保持されている情報に基づいて判断する。具体的には、読出し要求があったアドレスとデータ保持メモリ内のいずれかのブロックに保持されているアドレスが一致し、さらに、そのブロックのバリッドビットが有効であれば、読出し要求があったデータをデータ保持メモリ61内に保持していることになる。
【0029】
リードデータ選択回路7は、データの読出し要求があったデータをデータ保持メモリ61内に保持していると判断した場合、該データを経路12と経路13を介してMRAMアクセス装置2に転送する。また。読出し要求があったデータをデータ保持メモリ61内に保持していないと判断した場合、リードデータ選択回路7は、データの読出し要求があったデータをMRAM3から読出して、経路11と経路13を介してMRAMアクセス装置2に転送する。
【0030】
このように、本実施の形態では、MRAM3への書込み要求のあったデータを、MRAMライト制御装置1が保持し、MRAMライト制御装置1内のデータ保持メモリ61に空き領域がなくなった場合には、書込み要求の発生頻度の少ないデータをMRAM3に移動させるようにした。このため、MRAM3からの読み出し頻度を増やすなど新たな動作を追加することなしにMRAM3に対する書込み回数を低減することができる。このため、MRAM3のアクセスに関する際のシステム全体の総電流量を低減することができる。
【産業上の利用可能性】
【0031】
以上のように、本発明にかかるMRAM制御装置は、MRAM(Magnetoresistive Random Access Memory)を制御するMRAM制御装置に有用であり、特に、システム全体の消費電力を低減するMRAM制御装置に適している。
【図面の簡単な説明】
【0032】
【図1】本発明にかかるMRAM制御装置を含む全体システムの構成例を示す図である。
【図2】データ保持回路の内部構成例を示す図である。
【符号の説明】
【0033】
1 MRAMライト制御装置
2 MRAMアクセス装置
3 MRAM
4 データライト指示装置
5 電源部
6 データ保持回路
7 リードデータ選択回路
8 コンデンサ
9 書込み制御部
61 データ保持メモリ
62 頻度算出回路
63 頻度比較回路
64 ライトバックタイミング決定回路
65 ライトバック実施回路
10,11,12,13,14 経路

【特許請求の範囲】
【請求項1】
MRAMへの書込みデータとそのデータの前記MRAMへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するMRAM制御装置であって、
前記書込み要求に含まれるデータを、前記書込みアドレスおよびその書込みアドレスに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリと、
前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれの領域に対応づけて前記内部メモリに格納する頻度算出手段と、
前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御手段と、
前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較手段と、
前記頻度比較手段が選択した領域に格納されているデータを前記MRAMへ書込むライトバック実施手段と、
を備え、
前記書込み制御手段は、前記内部メモリに空き領域が無い場合に、前記ライトバック実施手段がデータを前記MRAMへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込むことを特徴とするMRAM制御装置。
【請求項2】
前記内部メモリに格納されているデータをMRAMへ書込むための明示的な要求である明示書込み要求があった場合、
前記書込み制御手段は、前記内部メモリに格納されている前記明示書込み要求に対応するデータを前記MRAMへ書込むよう前記ライトバック実施手段に指示し、
前記ライトバック実施手段は、前記指示に基づいて前記MRAMへの書込みを実施することを特徴とする請求項1に記載のMRAM制御装置。
【請求項3】
自装置への電源供給が停止した場合に、前記内部メモリに格納されているデータを前記MRAMへ書込むことを特徴とする請求項1または2に記載のMRAM制御装置。
【請求項4】
蓄電を行い、また、自装置への電源供給が停止した場合に自装置へ電源を供給する蓄電手段、
をさらに備えることを特徴とする請求項3に記載のMRAM制御装置。
【請求項5】
前記内部メモリを複数のブロックに分割し、前記データ、前記書込みアドレスおよび前記頻度情報をブロックごとに格納することとし、
前記頻度算出手段は、前記頻度情報をブロック単位で求め、
前記ライトバック実施手段は、ブロック単位で前記MRAMへの書込みを行うことを特徴とする請求項1〜4のいずれか1つに記載のMRAM制御装置。
【請求項6】
前記頻度算出手段は、前記MRAMへ書込んだデータに対応する頻度情報を初期値に設定することを特徴とする請求項1〜5のいずれか1つに記載のMRAM制御装置。
【請求項7】
前記頻度算出手段は、所定の期間内の書込み処理の回数に基づいて頻度情報を求めることを特徴とする請求項1〜6のいずれか1つに記載のMRAM制御装置。
【請求項8】
MRAMへの書込みデータとそのデータのMRAMへの書込みアドレスとを含む書込み要求を受信して、データの書込みを制御するMRAM制御装置におけるMRAM制御方法であって、
前記MRAM制御装置が、前記書込み要求に含まれるデータを、前記MRAMへの書込みアドレスおよびそのデータに対する書込みの要求回数を示す頻度情報と対応づけて格納するための内部メモリを備え、
前記書込み要求に含まれる書込みアドレスと前記内部メモリに記憶されている書込みアドレスとを比較し、一致する書込みアドレスがあった場合には、その一致する書込みアドレスに対応する前記内部メモリに記憶されているデータを前記書込み要求に含まれるデータで上書きし、また、一致する書込みアドレスがなかった場合には、前記内部メモリの空き領域に前記書込み要求に含まれるデータを前記書込み要求に含まれる書込みアドレスと対応づけて書込み、また、前記内部メモリに空き領域が無い場合には頻度比較を指示する書込み制御ステップと、
前記内部メモリの所定の領域ごとに、領域内に記憶されているデータに対応する書込みアドレスに対して書込みのあった回数を計数し、その計数結果を前記頻度情報とし、領域ごとに得られた頻度情報をそれぞれのデータに対応づけて前記内部メモリに格納する頻度算出ステップと、
前記頻度比較の指示に従い、前記内部メモリに格納されている頻度情報に基づいて頻度の小さい領域を選択する頻度比較ステップと、
前記頻度比較ステップで選択された領域に格納されているデータを前記MRAMへ書込むライトバック実施ステップと、
前記内部メモリに空き領域が無い場合に前記ライトバック実施ステップにてデータを前記MRAMへ書込んだ後に、そのデータが格納されていた前記内部メモリの領域に、前記書込み要求に含まれるデータを書込みアドレスと対応づけて書込む書込みステップと、
を含むことを特徴とするMRAM制御方法。

【図1】
image rotate

【図2】
image rotate


【公開番号】特開2010−97655(P2010−97655A)
【公開日】平成22年4月30日(2010.4.30)
【国際特許分類】
【出願番号】特願2008−267907(P2008−267907)
【出願日】平成20年10月16日(2008.10.16)
【出願人】(503121103)株式会社ルネサステクノロジ (4,790)