JP5202130B2 - キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 - Google Patents

キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 Download PDF

Info

Publication number
JP5202130B2
JP5202130B2 JP2008164214A JP2008164214A JP5202130B2 JP 5202130 B2 JP5202130 B2 JP 5202130B2 JP 2008164214 A JP2008164214 A JP 2008164214A JP 2008164214 A JP2008164214 A JP 2008164214A JP 5202130 B2 JP5202130 B2 JP 5202130B2
Authority
JP
Japan
Prior art keywords
data
address
cache
read
stored
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2008164214A
Other languages
English (en)
Other versions
JP2010009102A (ja
Inventor
井 達 徳 金
田 裕 山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008164214A priority Critical patent/JP5202130B2/ja
Priority to US12/393,256 priority patent/US8271853B2/en
Publication of JP2010009102A publication Critical patent/JP2010009102A/ja
Priority to US13/584,182 priority patent/US8381072B2/en
Application granted granted Critical
Publication of JP5202130B2 publication Critical patent/JP5202130B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1064Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in cache or content addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法に関するものである。
コンピュータシステムでは、メインメモリに記憶したデータが破壊されると正しい処理を継続できなくなるため、誤り訂正符号(ECC)を用いて破壊されたデータを復元することで、データ破壊の影響を回避している。
データ破壊は、宇宙線や熱など、さまざまな要因によって発生する。例えばMRAMのようなメモリでは、小さな確率ではあるが、データの読み出し操作に伴い記憶している値が反転する読み出し擾乱と呼ばれる現象が発生し、データが破壊される。読み出し擾乱は確率的に発生する物理現象なので確率を0にすることは困難である。また、アクセス速度を高速化するために読み出し電圧を高くすると、読み出し擾乱の発生確率は高くなる。
MRAMの読み出し擾乱と同様の現象は、ReRAM、FeRAM、フラッシュメモリなど、さまざまな種類の不揮発性メモリでも発生する。そのため、ECCの使用等の対策が必要となる。
一般にコンピュータシステムでは、メインメモリとプロセッサとの間に高速な記憶装置であるキャッシュメモリを設け、使用頻度の高いデータを格納しておくことで、低速なメインメモリへのアクセスを減らし処理を高速化している。メインメモリから読み出されたデータはキャッシュメモリに記憶される。また、プロセッサにより書き換えられたキャッシュメモリ内のデータはメインメモリに書き戻される(例えば特許文献1参照)。
従来、メインメモリから読み出されたデータがECCで訂正された場合、プロセッサは訂正済みの正しいデータを得ることができるため、特別な処理は何も行わないことが多かった。また、ECCでデータの訂正が発生したことを割込みによってプロセッサに伝え、プロセッサ上のオペレーティングシステムがそれに対して、統計情報を採ったり、メインメモリ上の訂正されたデータが記憶されていた領域を使用しないようにしたりする処理が行われる場合もあった。
MRAMの読み出し擾乱のような確率的に発生するデータ破壊をECCで訂正した場合、次に同じアドレスのデータを読み出したときには、さらに別のデータが破壊される可能性があるため、ECCで訂正したデータをキャッシュメモリからメインメモリへ確実に書き戻すことが必要となる。
しかし、上述のような従来のコンピュータシステムでは、ECCで訂正が行われたことが割込み通知され、オペレーティングシステムが動作して必要な処理を行うため、その処理の時点でECCにより訂正された正しいデータがキャッシュメモリに残っていることが保証されない。例えば、後から読み出されたデータによりECCで訂正されたデータがキャッシュメモリから追い出されて、消失するおそれがある。キャッシュメモリに残っていない場合は、メインメモリから再度読み出すことになり、処理速度を低下させるという問題があった。
特開平8−137748号公報
本発明はメインメモリからの読み出しの際に訂正されたデータを確実に書き戻すことができるキャッシュメモリ、コンピュータシステム、及びメモリアクセス方法を提供することを目的とする。
本発明の一態様によるキャッシュメモリは、それぞれアドレス領域、データ領域及びダーティビットを含む複数のキャッシュラインを有するデータ保持部と、誤り訂正符号化されたデータを格納するメモリから読み出した読み出しデータ及び前記読み出しデータに対してエラー訂正が行われたか否かを示す訂正実行信号が与えられ、前記複数のキャッシュラインのいずれか1つのキャッシュラインの前記アドレス領域に前記読み出しデータに対応するアドレス情報を格納し、前記データ領域に前記読み出しデータを格納し、前記ダーティビットに前記訂正実行信号に基づいて所定値を設定するコントローラと、を備えるものである。
本発明の一態様によるコンピュータシステムは、誤り訂正符号化されたデータを格納するメインメモリと、前記メインメモリへ書き込まれるデータの誤り訂正符号化と、前記メインメモリから読み出されたデータの誤り訂正復号化及び誤りの有無の検出とを行い、前記メインメモリから読み出されたデータに誤りを検出した場合はこの誤りを訂正する誤り訂正回路と、読み出し指示及び読み出しアドレスを出力するプロセッサと、それぞれ第1アドレス領域、第1データ領域及びダーティビットを含む複数の第1キャッシュラインと、前記読み出し指示に基づいて、前記複数の第1キャッシュラインの各々の前記第1アドレス領域に格納されているアドレスと前記読み出しアドレスとを比較し、一致するキャッシュラインがある場合には、前記一致するキャッシュラインの前記第1データ領域に格納されているデータを前記プロセッサへ送信し、一致するキャッシュラインが無い場合には、前記メインメモリ上の前記読み出しアドレスから前記誤り訂正回路を介してデータを読み出し、前記複数の第1キャッシュラインのいずれか1つのキャッシュラインの前記第1アドレス領域に前記読み出しアドレスを格納し、前記第1データ領域に前記読み出したデータを格納し、前記誤り訂正回路により誤り訂正が行われていた場合は前記ダーティビットに1を設定し、誤り訂正が行われていなかった場合は前記ダーティビットに0を設定する第1キャッシュコントローラと、を有する第1キャッシュメモリと、それぞれ第2アドレス領域及び第2データ領域を含む複数の第2キャッシュラインと、前記読み出し指示に基づいて、前記複数の第2キャッシュラインの各々の前記第2アドレス領域に格納されているアドレスと前記読み出しアドレスとを比較し、一致するキャッシュラインがある場合には、前記一致するキャッシュラインの前記第2データ領域に格納されているデータを前記プロセッサへ送信し、一致するキャッシュラインが無い場合には、前記メインメモリ上の前記読み出しアドレスから前記誤り訂正回路を介してデータを読み出し、前記複数の第2キャッシュラインのいずれか1つのキャッシュラインの前記第2アドレス領域に前記読み出しアドレスを格納し、前記第2データ領域に前記読み出したデータを格納し、前記誤り訂正回路により誤り訂正が行われていた場合は、前記複数の第1キャッシュラインのいずれか1つのキャッシュラインの前記第1アドレス領域に前記読み出しアドレスを格納し、前記第1データ領域に前記読み出したデータを格納し、前記ダーティビットに1を設定する第2キャッシュコントローラと、を有する第2キャッシュメモリと、を備えるものである。
本発明の一態様によるメモリアクセス方法は、プロセッサから読み出し指示及び読み出しアドレスを受け付け、キャッシュメモリに含まれる複数のキャッシュラインの各々のアドレス領域に格納されたアドレスと前記読み出しアドレスとを比較し、比較結果が一致しない場合はメインメモリに格納された前記読み出しアドレスに対応する誤り訂正符号化されたデータを読み出し、前記読み出したデータの誤り訂正復号化を行い、前記読み出したデータの誤りの有無を検出し、前記読み出したデータに誤りがある場合はこのデータの訂正を行って、訂正を行ったことを示す訂正実行信号を出力し、前記訂正を行ったデータを前記複数のキャッシュラインのうちいずれか1つのキャッシュラインのデータ領域に格納し、前記キャッシュラインのアドレス領域に前記読み出しアドレスを格納し、前記訂正実行信号に基づいて前記キャッシュラインのダーティビットに1を設定し、前記データ領域に格納した前記データを前記プロセッサへ送信するものである。
本発明によれば、メインメモリからの読み出しの際に訂正されたデータを確実に書き戻すことができる。
以下、本発明の実施の形態を図面に基づいて説明する。図1に示すように、キャッシュメモリ2及びECC回路3がプロセッサ1に内蔵されている。プロセッサ1はキャッシュメモリ2にアクセスし、キャッシュメモリ2が保持するデータの読み出し、キャッシュメモリ2へのデータの書き込みを行うことができる。
キャッシュメモリ2とメインメモリ4との間にECC回路3が設けられており、キャッシュメモリ2はECC回路3を介してメインメモリ4へのデータの書き込み(書き戻し)、読み出しを行う。
ECC回路3はキャッシュメモリ2に格納されているデータをメインメモリ4に書き込む際にECC符号化を行う。メインメモリ4にはECC符号化されたデータが書き込まれる。
また、ECC回路3はメインメモリ4に格納されたデータをキャッシュメモリ2に読み出す際に、ECC復号化を行い、データの誤り有無を検出する。データに誤りが有る場合は誤りを訂正してキャッシュメモリ2へ出力する。さらに、ECC回路3は誤り訂正を行ったことを示す訂正実行信号をキャッシュメモリ2へ出力する。
図1に示すように、キャッシュメモリ2は、キャッシュコントローラ20及びキャッシュデータ保持部21を有する。キャッシュコントローラ20はキャッシュメモリ2のコントローラであり、プロセッサ1からのアクセスに応じて、例えばキャッシュデータ保持部21に格納されているデータの読み出し等を実行する。
キャッシュデータ保持部21は複数のキャッシュラインからなり、各々のキャッシュラインは、アドレス領域22と、データ領域23と、ダーティビット24とを有する。データ領域23は、メインメモリ4から読み出されたデータを格納する。アドレス領域22は、データ領域23のデータに対応するメインメモリ4上のアドレスを格納する。ダーティビット24は、データ領域23のデータをメインメモリ4へ書き戻す必要があるか否かを示す。
プロセッサ1がキャッシュメモリ2にアクセスし、アクセスしたアドレスがキャッシュラインのアドレス領域22に格納されている場合はキャッシュヒットとなり、プロセッサ1はこのキャッシュラインが有するデータを使用して処理を行う。
プロセッサ1がキャッシュメモリ2にアクセスし、アクセスしたアドレスがキャッシュラインのアドレス領域22に格納されていない場合はキャッシュミスとなる。その場合、キャッシュメモリ2(キャッシュコントローラ20)はメインメモリ4上のデータをECC回路3を介してキャッシュライン上に取得し、プロセッサ1からのアクセスに対応する。
ダーティビット24は、キャッシュライン上のデータDとメインメモリ4上のデータとが一致しない場合に1となる。従って、プロセッサ1からのデータ書き込み(書き換え)によってダーティビット24は1となる。
また、キャッシュメモリ2(キャッシュコントローラ20)は、メインメモリ4からデータを読み出した際にECC回路3から訂正実行信号を受信すると、そのデータをキャッシュライン上に格納すると共にダーティビット24を1とする。訂正によりメインメモリ4上のデータと異なるものになるためである。
ダーティビット24は、ECC回路3による訂正が行われずにメインメモリ4からデータがキャッシュライン上に取得された時や、キャッシュライン上のデータがメインメモリ4へ書き戻された時に0となる。
プロセッサ1がデータを読み出す際の動作について図2に示すフローチャートを用いて説明する。
(ステップS100)キャッシュコントローラ20がプロセッサ1から読み出しを行うデータのアドレスAを受け取る。
(ステップS101)キャッシュコントローラ20はアドレスAと同じアドレスがキャッシュデータ保持部21のアドレス領域に存在するか否か調べる。存在する場合はステップS102へ進み、存在しない場合はステップS103へ進む。
(ステップS102)アドレスAと同じアドレスがアドレス領域22に記憶されているキャッシュラインのデータ領域23に格納されているデータを読み出して、プロセッサ1に送信する。
(ステップS103)メインメモリ4のアドレスAのデータを読み出し、ECC復号化する。
(ステップS104)ステップS103のデータ読み出し(ECC復号化)の際に、ECC回路3によるエラー訂正が行われた場合はステップS106へ進み、行われていない場合はステップS105へ進む。
(ステップS105)メインメモリ4から読み出したデータとアドレスAがキャッシュラインに格納されると共に、ダーティビット24に0が設定される。
(ステップS106)メインメモリ4から読み出され、ECC回路3でエラー訂正されたデータとアドレスAがキャッシュラインに格納される。また、キャッシュコントローラ20がECC回路3から訂正実行信号を受信し、このキャッシュラインのダーティビットを1にする。
(ステップS107)キャッシュラインに格納したデータをプロセッサ1に送信する。
このように、メインメモリ4からのデータ読み出し時にエラー訂正されてメインメモリ4上のデータと異なるものとなった場合、キャッシュコントローラ20は訂正実行信号に基づいてダーティビット24に1を設定し、メインメモリ4への書き戻しが必要であることを記録する。
ステップS105、S106でデータをキャッシュラインに格納するとき、キャッシュコントローラ20は新しいキャッシュラインを確保する。キャッシュコントローラ20はまず、未使用のキャッシュラインを探し、ある場合はそれを使用する。未使用のキャッシュラインが無い場合は、ダーティビット24が0のキャッシュラインのいずれかを開放して使用する。ダーティビット24が0のキャッシュラインが無い場合は、いずれかのキャッシュラインのデータをメインメモリ4に書き戻し、そのキャッシュラインを開放して使用する。
次に、プロセッサ1がデータを書き込む際の動作について図3に示すフローチャートを用いて説明する。
(ステップS200)キャッシュコントローラ20がプロセッサ1から書き込みを行うデータDとアドレスAを受け取る。
(ステップS201)キャッシュコントローラ20がアドレスAと同じアドレスがキャッシュデータ保持部21のアドレス領域に存在するか否か調べる。存在する場合はステップS202へ進み、存在しない場合はステップS203へ進む。
(ステップS202)アドレス領域22にアドレスAと同じアドレスが記憶されているキャッシュラインのデータ領域23のデータをデータDに書き換えると共に、ダーティビットを1にする。
(ステップS203)新しいキャッシュラインを確保し、アドレスAとデータDの組み合わせをそのキャッシュラインに格納すると共に、ダーティビットを1にする。
このように、プロセッサ1のデータ書き込み時は、キャッシュラインへのデータ書き込みと共にダーティビット24を1にして、メインメモリ4への書き戻しが必要であることを記録する。
キャッシュメモリ2からメインメモリ4への書き戻しの一例について図4に示すフローチャートを用いて説明する。これはメインメモリ4へのアクセスが行われていない期間にバックグランドで行われる。
(ステップS300)キャッシュデータ保持部21においてダーティビットが1のキャッシュラインの有無が検出される。ある場合はステップS301に進む。
(ステップS301)ダーティビットが1のキャッシュラインを1つ取り出し、書き戻し対象にする。
(ステップS302)書き戻し対象のキャッシュラインからアドレスAとデータDを取り出す。
(ステップS303)メインメモリ4のアドレスAにデータDをECC符号化して書き込む。
(ステップS304)書き込み対象のキャッシュラインのダーティビットを0に変更し、ステップS300に戻る。
このような処理により、書き戻しが必要なキャッシュライン、すなわちダーティビットが1のキャッシュラインのデータをメインメモリ4へ書き戻すことができる。
メインメモリ4への書き戻しは、プロセッサ1のデータ読み出しや書き込みにおいて新しいキャッシュラインを確保する際に、未使用のキャッシュライン及びダーティビットが0のキャッシュラインが無い場合にも行われる。
本実施形態によるキャッシュメモリは、メインメモリから読み出したデータをキャッシュメモリに格納する際に、ECC回路から出力される訂正実行信号を参照して、訂正が行われた場合はダーティビットを1にし、書き戻しが必要であることを記録する。そのため、このデータを消失させず、確実にメインメモリへ書き戻すことができる。
これは、従来のライトバック方式のキャッシュメモリに対して、メインメモリから読み出したデータをキャッシュラインに格納する際に、ECC回路でデータ訂正が行われた場合はダーティビットに1を設定するという機能を追加するだけで実現できる。
上記実施形態では、プロセッサの読み書きの単位のデータがキャッシュラインの管理単位と同じである例を示したが、異なっていてもよい。例えば、キャッシュラインのデータ領域23のデータサイズが128ビットで、プロセッサ1のデータの読み書きのサイズが32ビットの場合、メインメモリからは128ビット単位で読み出してキャッシュラインに格納し、プロセッサ1には128ビット中の32ビットを送信する。メインメモリ4からのデータ読み出しの際にECC回路3でエラー訂正を行った場合は、ダーティビットを1にする。
また、64ビット単位でECC符号化が行われる場合には、1つのキャッシュラインにダーティビットを2ビット設け、書き戻しが必要であるか否かを64ビット単位で管理することも可能である。
また、プロセッサが32ビットのデータをメインメモリへ書き込む際に、キャッシュメモリに対応するキャッシュラインが存在しない場合は、まず対応するアドレスの128ビットのデータをメインメモリから読み出してキャッシュラインに格納する。そして、そのキャッシュラインのデータのうち32ビット分を書き換える。
また、キャッシュラインの128ビットのデータのうち、有効なデータがどの部分であるかを32ビット単位で管理するようにしておき、有効な部分だけをメインメモリへ書き戻すようにすることもできる。プロセッサの書き込み時は、キャッシュラインに格納されている128ビットのデータのうち、プロセッサが書き込みを行う32ビットの部分について有効なデータであると記録する。
上記実施形態ではECC回路3をプロセッサ1に内蔵し、プロセッサ1とメインメモリ4の間はECC付きのデータを受け渡すようにしていたが、図5に示すように、ECC回路3をプロセッサ1の外部に設けるようにしてもよい。この場合、プロセッサ1とECC回路3の間はECCを付けないデータが受け渡される。
ECC回路3はメモリコントローラの一部として組み込むようにしてもよく、またメモリチップに内蔵するようにしてもよい。
プロセッサが命令キャッシュとデータキャッシュとを別々に有する場合でも上記実施形態による手法を適用することができる。例えば、命令キャッシュが読み出し専用の場合は、メインメモリから読み出したデータを命令キャッシュに格納する際にECC回路による誤り訂正が行われたら、上記実施形態によるキャッシュメモリ2と同様の構成のデータキャッシュのキャッシュコントローラが、ECC回路3から出力される訂正実行信号に基づいて、そのアドレスとデータの組み合わせをデータキャッシュのキャッシュラインに格納し、ダーティビットに1を設定する。このようにすることで、読み出し専用の命令キャッシュに格納されるデータも確実にメインメモリへ書き戻すことができる。
上記実施形態は、ダイレクトマッピング方式やセットアソシアティブ方式など、様々なキャッシュメモリの方式に対して適用することができる。
上記実施形態はメインメモリとしてMRAMやReRAMだけでなく、SRAM、DRAM、PRAM、PCRAM、フラッシュメモリなど、様々な種類のメモリを用いることができる。
上述した実施の形態はいずれも一例であって限定的なものではないと考えられるべきである。本発明の技術的範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
本発明の実施形態によるキャッシュメモリを含むコンピュータシステムのブロック図である。 同実施形態によるデータ読み出し処理を説明するフローチャートである。 同実施形態によるデータ書き込み処理を説明するフローチャートである。 同実施形態によるデータ読み戻し処理を説明するフローチャートである。 変形例によるコンピュータシステムのブロック図である。
符号の説明
1 プロセッサ
2 キャッシュメモリ
3 ECC回路
4 メインメモリ
20 キャッシュコントローラ
21 キャッシュデータ保持部
22 アドレス領域
23 データ領域
24 ダーティビット

Claims (6)

  1. 誤り訂正符号化されたデータを格納するメインメモリと、
    前記メインメモリへ書き込まれるデータの誤り訂正符号化と、前記メインメモリから読み出されたデータの誤り訂正復号化及び誤りの有無の検出とを行い、前記メインメモリから読み出されたデータに誤りを検出した場合はこの誤りを訂正する誤り訂正回路と、
    読み出し指示及び読み出しアドレスを出力するプロセッサと、
    それぞれ第1アドレス領域、第1データ領域及びダーティビットを含む複数の第1キャッシュラインと、前記読み出し指示に基づいて、前記複数の第1キャッシュラインの各々の前記第1アドレス領域に格納されているアドレスと前記読み出しアドレスとを比較し、一致するキャッシュラインがある場合には、前記一致するキャッシュラインの前記第1データ領域に格納されているデータを前記プロセッサへ送信し、一致するキャッシュラインが無い場合には、前記メインメモリ上の前記読み出しアドレスから前記誤り訂正回路を介してデータを読み出し、前記複数の第1キャッシュラインのいずれか1つのキャッシュラインの前記第1アドレス領域に前記読み出しアドレスを格納し、前記第1データ領域に前記読み出したデータを格納し、前記誤り訂正回路により誤り訂正が行われていた場合は前記ダーティビットに1を設定し、誤り訂正が行われていなかった場合は前記ダーティビットに0を設定する第1キャッシュコントローラと、を有する第1キャッシュメモリと、
    それぞれ第2アドレス領域及び第2データ領域を含む複数の第2キャッシュラインと、前記読み出し指示に基づいて、前記複数の第2キャッシュラインの各々の前記第2アドレス領域に格納されているアドレスと前記読み出しアドレスとを比較し、一致するキャッシュラインがある場合には、前記一致するキャッシュラインの前記第2データ領域に格納されているデータを前記プロセッサへ送信し、一致するキャッシュラインが無い場合には、前記メインメモリ上の前記読み出しアドレスから前記誤り訂正回路を介してデータを読み出し、前記複数の第2キャッシュラインのいずれか1つのキャッシュラインの前記第2アドレス領域に前記読み出しアドレスを格納し、前記第2データ領域に前記読み出したデータを格納し、前記誤り訂正回路により誤り訂正が行われていた場合は、前記複数の第1キャッシュラインのいずれか1つのキャッシュラインの前記第1アドレス領域に前記読み出しアドレスを格納し、前記第1データ領域に前記読み出したデータを格納し、前記ダーティビットに1を設定する第2キャッシュコントローラと、を有する第2キャッシュメモリと、
    を備えるコンピュータシステム。
  2. 前記プロセッサは書き込み指示、書き込みアドレス、及び書き込みデータを前記第1キャッシュコントローラへ出力し、
    前記第1キャッシュコントローラは、前記書き込み指示及び前記書き込みアドレスに基づいて、前記複数の第1キャッシュラインの各々の前記第1アドレス領域に格納されているアドレスと前記書き込みアドレスとを比較し、一致するキャッシュラインの前記第1データ領域に前記書き込みデータを格納し、前記ダーティビットに1を設定することを特徴とする請求項に記載のコンピュータシステム。
  3. 前記第1キャッシュコントローラは、前記複数の第1キャッシュラインの各々の前記第1アドレス領域に格納されているアドレスが前記書き込みアドレスに一致しない場合は、前記複数の第1キャッシュラインのいずれか1つのキャッシュラインの前記第1アドレス領域に前記書き込みアドレスを格納し、前記第1データ領域に前記書き込みデータを格納し、前記ダーティビットに1を設定することを特徴とする請求項に記載のコンピュータシステム。
  4. 前記第1キャッシュコントローラは、前記ダーティビットに1が設定されている第1キャッシュラインの前記第1データ領域に格納されているデータと前記第1アドレス領域に格納されているアドレスとを取り出し、前記誤り訂正回路を介してこの取り出したデータを前記メインメモリ上の前記取り出したアドレスに書き戻し、この第1キャッシュラインの前記ダーティビットを0に変更することを特徴とする請求項に記載のコンピュータシステム。
  5. 前記メインメモリはMRAMであることを特徴とする請求項に記載のコンピュータシステム。
  6. 前記メインメモリは高抵抗状態と低抵抗状態とを可逆的に切り替え可能な抵抗記憶素子を用いた不揮発性半導体記憶装置であることを特徴とする請求項に記載のコンピュータシステム。
JP2008164214A 2008-06-24 2008-06-24 キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 Expired - Fee Related JP5202130B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008164214A JP5202130B2 (ja) 2008-06-24 2008-06-24 キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US12/393,256 US8271853B2 (en) 2008-06-24 2009-02-26 Cache memory, computer system and memory access method
US13/584,182 US8381072B2 (en) 2008-06-24 2012-08-13 Cache memory, computer system and memory access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008164214A JP5202130B2 (ja) 2008-06-24 2008-06-24 キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法

Publications (2)

Publication Number Publication Date
JP2010009102A JP2010009102A (ja) 2010-01-14
JP5202130B2 true JP5202130B2 (ja) 2013-06-05

Family

ID=41432520

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008164214A Expired - Fee Related JP5202130B2 (ja) 2008-06-24 2008-06-24 キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法

Country Status (2)

Country Link
US (2) US8271853B2 (ja)
JP (1) JP5202130B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5284069B2 (ja) 2008-12-11 2013-09-11 株式会社東芝 メモリシステム及びメモリアクセス方法
JP5010756B2 (ja) 2009-09-09 2012-08-29 株式会社東芝 メモリ装置
JP2011108306A (ja) * 2009-11-16 2011-06-02 Sony Corp 不揮発性メモリおよびメモリシステム
JP2013196393A (ja) * 2012-03-19 2013-09-30 Fujitsu Ltd 演算処理装置及び演算処理装置の制御方法
WO2014006732A1 (ja) * 2012-07-05 2014-01-09 富士通株式会社 データ訂正方法、マルチプロセッサシステム、及びプロセッサ
WO2014080646A1 (ja) * 2012-11-22 2014-05-30 株式会社 東芝 キャッシュ管理装置及びキャッシュ管理方法
US9213646B1 (en) 2013-06-20 2015-12-15 Seagate Technology Llc Cache data value tracking
TWI514145B (zh) 2013-10-21 2015-12-21 Univ Nat Sun Yat Sen 可儲存除錯資料的處理器、其快取及控制方法
US9875064B2 (en) * 2015-03-11 2018-01-23 Toshiba Memory Corporation Storage system architecture for improved data management
JP6039772B1 (ja) * 2015-09-16 2016-12-07 株式会社東芝 メモリシステム
US10621104B2 (en) 2015-09-25 2020-04-14 Hewlett Packard Enterprise Development Lp Variable cache for non-volatile memory
JP2017157257A (ja) 2016-03-01 2017-09-07 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10664287B2 (en) * 2018-03-30 2020-05-26 Intel Corporation Systems and methods for implementing chained tile operations
US11322221B2 (en) 2020-09-30 2022-05-03 Sharp Semiconductor Innovation Corporation Memory device with pipelined access
US20240232095A9 (en) * 2022-10-24 2024-07-11 Micron Technology, Inc. Memory device having cache storing cache data and scrub data

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6246358A (ja) * 1985-08-23 1987-02-28 Fujitsu Ltd エラ−処理方式
JPH0322055A (ja) * 1989-06-19 1991-01-30 Nec Corp マイクロプロセッサ
JPH05165719A (ja) * 1991-12-18 1993-07-02 Nec Eng Ltd メモリアクセス処理装置
US5502728A (en) * 1992-02-14 1996-03-26 International Business Machines Corporation Large, fault-tolerant, non-volatile, multiported memory
US5319766A (en) * 1992-04-24 1994-06-07 Digital Equipment Corporation Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US5533035A (en) * 1993-06-16 1996-07-02 Hal Computer Systems, Inc. Error detection and correction method and apparatus
JPH08137748A (ja) 1994-11-08 1996-05-31 Toshiba Corp コピーバックキャッシュを有するコンピュータ及びコピーバックキャッシュ制御方法
EP1182564A3 (en) * 2000-08-21 2004-07-28 Texas Instruments France Local memory with indicator bits to support concurrent DMA and CPU access
EP1182563B1 (en) * 2000-08-21 2009-09-02 Texas Instruments France Cache with DMA and dirty bits
US6804799B2 (en) * 2001-06-26 2004-10-12 Advanced Micro Devices, Inc. Using type bits to track storage of ECC and predecode bits in a level two cache
US7200588B1 (en) * 2002-07-29 2007-04-03 Oracle International Corporation Method and mechanism for analyzing trace data using a database management system
US6957301B2 (en) * 2002-09-18 2005-10-18 International Business Machines Corporation System and method for detecting data integrity problems on a data storage device
US7275202B2 (en) * 2004-04-07 2007-09-25 International Business Machines Corporation Method, system and program product for autonomous error recovery for memory devices
US7320090B2 (en) * 2004-06-09 2008-01-15 International Business Machines Corporation Methods, systems, and media for generating a regression suite database
US7941585B2 (en) * 2004-09-10 2011-05-10 Cavium Networks, Inc. Local scratchpad and data caching system
US7424646B2 (en) * 2004-11-30 2008-09-09 International Business Machines Corporation Imposing a logical structure on an unstructured trace record for trace analysis
US7941728B2 (en) * 2007-03-07 2011-05-10 International Business Machines Corporation Method and system for providing an improved store-in cache
US7971124B2 (en) * 2007-06-01 2011-06-28 International Business Machines Corporation Apparatus and method for distinguishing single bit errors in memory modules
US8032816B2 (en) * 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
US8977820B2 (en) * 2007-12-21 2015-03-10 Arm Limited Handling of hard errors in a cache of a data processing apparatus
US7987384B2 (en) * 2008-02-12 2011-07-26 International Business Machines Corporation Method, system, and computer program product for handling errors in a cache without processor core recovery

Also Published As

Publication number Publication date
US20120311405A1 (en) 2012-12-06
JP2010009102A (ja) 2010-01-14
US8381072B2 (en) 2013-02-19
US20090319865A1 (en) 2009-12-24
US8271853B2 (en) 2012-09-18

Similar Documents

Publication Publication Date Title
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US7810016B2 (en) Semiconductor storage device equipped with ECC function
US9003247B2 (en) Remapping data with pointer
US7437597B1 (en) Write-back cache with different ECC codings for clean and dirty lines with refetching of uncorrectable clean lines
JP4332205B2 (ja) キャッシュ制御装置およびキャッシュ制御方法
KR102002925B1 (ko) 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법
US7765426B2 (en) Emerging bad block detection
JP5605238B2 (ja) メモリシステムおよびその動作方法
TWI655574B (zh) Memory system and processor system
US8910018B2 (en) Memory with dynamic error detection and correction
TWI553651B (zh) 記憶體錯誤檢測及記憶體錯誤校正間之動態選擇技術
KR20040010204A (ko) 비휘발성 메모리의 오류 정정 방법 및 그를 이용한 플래시메모리 기억 시스템
US10185619B2 (en) Handling of error prone cache line slots of memory side cache of multi-level system memory
US20080301528A1 (en) Method and apparatus for controlling memory
CN103137215A (zh) 向存储器提供低延时错误纠正码能力
JP2010079856A (ja) 記憶装置およびメモリ制御方法
JP2007310916A (ja) メモリカード
US10496546B2 (en) Cache memory and processor system
US9304854B2 (en) Semiconductor device and operating method thereof
JP6438763B2 (ja) エラー訂正装置
JP2014026589A (ja) 情報処理装置、情報処理プログラム、及び情報処理方法
TWI482014B (zh) 具有動態錯誤偵測及更正的記憶體
JP4773343B2 (ja) キャッシュメモリのためのエラーを認識する方法と装置,およびキャッシュメモリ
JP2006286135A (ja) 半導体記憶装置及びその読み書き制御方法
JP2012022508A (ja) 半導体記憶装置、制御装置、及び半導体記憶装置の制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130118

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130212

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160222

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees