WO2007088597A1 - エラー訂正コード生成方法及びメモリ管理装置 - Google Patents

エラー訂正コード生成方法及びメモリ管理装置 Download PDF

Info

Publication number
WO2007088597A1
WO2007088597A1 PCT/JP2006/301590 JP2006301590W WO2007088597A1 WO 2007088597 A1 WO2007088597 A1 WO 2007088597A1 JP 2006301590 W JP2006301590 W JP 2006301590W WO 2007088597 A1 WO2007088597 A1 WO 2007088597A1
Authority
WO
WIPO (PCT)
Prior art keywords
store
data
error correction
correction code
ecc
Prior art date
Application number
PCT/JP2006/301590
Other languages
English (en)
French (fr)
Inventor
Takashi Miura
Original Assignee
Fujitsu Limited
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 Fujitsu Limited filed Critical Fujitsu Limited
Priority to CN2006800519820A priority Critical patent/CN101336418B/zh
Priority to PCT/JP2006/301590 priority patent/WO2007088597A1/ja
Priority to EP06712733.2A priority patent/EP1980946B1/en
Priority to KR1020087018940A priority patent/KR100972807B1/ko
Priority to JP2007556737A priority patent/JP4339914B2/ja
Publication of WO2007088597A1 publication Critical patent/WO2007088597A1/ja
Priority to US12/182,732 priority patent/US8245110B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Abstract

 本発明の課題は、キャッシュメモリのデータのエラーを正確に訂正できるようにすることである。記憶処理装置24は、検索時にキャッシュメモリから読み出したストア対象領域外のデータからnt-ECCを生成する。さらに、先行するストア命令のストアアドレスと現在のストア命令のストアアドレスが一致するか否か、データ幅が所定のデータ幅と一致するか否かを判定する。同一のストアアドレスの先行するストア命令が存在し、かつストアデータのデータ幅が所定のデータ幅未満のときには、ECC有効情報を無効に設定し、そのECC有効情報をnt-ECCと対応づけてストアバッファ25に格納する。

Description

明 細 書
エラー訂正コード生成方法及びメモリ管理装置
技術分野
[0001] 本発明は、キャッシュメモリへ書き込むデータのエラー訂正コードの生成方法及び メモリ管理装置に関する。
背景技術
[0002] メインメモリから読み出したデータをキャッシュメモリに記憶しておき、キャッシュメモ リのデータをアクセスすることで CPUの処理速度を高めることが行われて 、る。キヤッ シュメモリのデータに対してはエラー訂正コード(Error Correcting Code)を付加して データの保護を図っている。
[0003] 特許文献 1には、チェックビット生成の対象となるデータ幅より小さいデータをメモリ に書き込む場合に、それらのデータをマルチプレクサで組み合わせて 1つのデータ にし、 ECC生成ユニットでそのデータ力もチェックビットを生成してメモリに書き込みを 行うことが記載されている。これにより、パーシャルライト時のリードモディファイライト 動作のアクセス時間を短縮できるという効果が得られる。
[0004] また、特許文献 2には、ダブル'ワード境界を越える部分書き込みを行う場合に、該 当するアドレスがキャッシュに無いときには、チャネルからのデータはスワップバッファ に記憶され、部分書き込みに関連したダブル'ワードとスワップバッファのチャネルか らのデータとマージされてメインメモリに書き込まれることが記載されて 、る。
[0005] 図 16は、データ RAMと ECCRAMとを有するメモリシステムにおける、従来のエラ 一訂正コード生成方法の説明図である。
命令処理装置(図示せず)からストア命令が出力されると、ストア対象のデータがデ ータ RAM (キャッシュメモリ) 13に存在するか否かを確認し、ストア対象のデータが存 在する場合には、ストア対象のデータを含む 8バイトのデータを読み出してエラーの チェックを行う。このとき、ストア命令に対応するストアデータはストアバッファ STB11 に書き込まれる。
[0006] その後、命令処理装置からストア許可が発行されると、ストアバッファ STB 11のデ ータがライトバッファ WB12に書き込まれ、さらにそのデータがデータ RAM13に書き 込まれる。この書き込みと同時にデータ RAM13から 8バイトのデータを読み出し、 8 バイトのデータの中のストア対象領域外のデータからエラー訂正コード ECC1を生成 する。さらに、 8バイトのデータの中のストア対象領域のデータ力もエラー訂正コード E CC2を生成する。この 2つの ECCをマージしてストア更新後のデータに対するエラー 訂正コード ECCを生成し、生成したエラー訂正コードを ECCRAM 14に格納する。
[0007] 上記の従来のエラー訂正コード生成方法は、以下のような問題点を有している。
ストア命令を受けてキャッシュメモリを検索したときのエラーチェックではエラーが検 出されず、キャッシュメモリへのデータの書き込み後に読み出したデータのエラーチ エックでエラーが検出されたときには、書き込み後のデータに対するエラー訂正コー ドを正しく生成することができない。このとき ECCRAM14に保存されているのはスト ァ命令の実行前のデータから生成したエラー訂正コードであり、ストア命令の実行前 のデータはこの時点では失われているので、エラーが検出されたとしてもデータの 1 ビットエラーを訂正することができな 、と 、う問題点があった。
[0008] 上記のエラーは、例えば、 SRAM (Static Random Access Memory)に対して書き込 みと読み出しを行う場合に、書き込み直後に読み出しを行った場合、読み出し直前 のデータがビット線に残留して次のサイクルの読み出しのマージンを低下させること 力 つの原因と考えられる。設計上は、書き込み後にデータが残留しないようにビット 線をプリチャージトランジスタを用いて規定時間内で電源電圧 VDDまで充電させる 構造となっている。具体的に説明すると、書き込み時は、メモリセルに接続されるビッ ト線対を書き込みデータに応じて片側をローレベルにしてメモリセルに書き込みを行 う。書き込みが終了したなら、次サイクルの読み出し開始時までにビット線対を電源 電圧 VDDにショートすることで書き込みデータを一掃している。
[0009] し力しながら、 SRAMを設計値以上の動作サイクルで動作させたとき、あるいはトラ ンジスタの製造バラツキによりプリチャージトランジスタの特性が悪いためにビット線対 を電源電圧 VDDまでプリチャージできな 、と、次サイクルの読み出し時にエラーが 発生する。
特許文献 1:特開平 10— 232789号公報 特許文献 2:特公小 58— 21353号公報
発明の開示
[0010] 本発明の課題は、キャッシュメモリのデータのエラーを正確に訂正できるようにする ことである。
本発明のメモリ管理装置は、ストア命令のストアデータを格納するバッファと、キヤッ シュメモリを検索して前記ストア命令のストア対象のデータがキャッシュメモリに存在す るか否かを判定する判定回路と、前記判定回路により前記キャッシュメモリに前記スト ァ対象となるデータが存在すると判定された場合には、前記キャッシュメモリの検索 時に前記キャッシュメモリから読み出したストア対象領域外のデータに基づいて第 1 のエラー訂正コードを生成し、生成した前記第 1のエラー訂正コードを前記バッファに 格納する第 1のエラー訂正コード生成回路と、前記バッファの前記ストアデータのスト ァ対象領域のデータに基づいて第 2のエラー訂正コードを生成する第 2のエラー訂 正コード生成回路と、前記第 1のエラー訂正コードと前記第 2のエラー訂正コードとを マージして前記ストアデータのエラー訂正コードを生成するマージ回路と備える。
[0011] この発明によれば、キャッシュメモリにデータを書き込んだ後にエラーが検出された 場合でも、キャッシュメモリの検索時にキャッシュメモリから読み出したストア対象領域 外のデータから生成した第 1のエラー訂正コードと、ストアデータのストア対象領域の データ力 生成した第 2のエラー訂正コードとから生成したエラー訂正コードを用い てデータのエラーを正確に訂正することができる。
[0012] 本発明のメモリ管理装置において、前記第 1のエラー訂正コード生成回路は、先行 するストア命令のストアアドレスが現在のストア命令のストアアドレスと一致するか否か 、現在のストア命令のストアデータのデータ幅が所定のデータ幅と一致するか否かを 判定し、同一のストアアドレスを有する先行するストア命令が存在し、かつ現在のスト ァ命令のストアデータのデータ幅が所定のデータ幅未満のときには、前記第 1のエラ 一訂正コードが適正力否かを示す ECC有効情報を無効に設定し、該 ECC有効情報 を前記ストアデータと前記第 1のエラー訂正コードと対応づけて記憶する。
[0013] このように構成することで、 ECC有効情報が有効か、無効かを判定することで、第 1 のエラー訂正コードが適正力否かを判定できる。 本発明のメモリ管理装置において、前記バッファは複数のバッファからなり、前記複 数のバッファに同一のストアアドレスが存在するか否力、現在のストア命令のストアデ ータのデータ幅が所定のデータ幅と一致するか否かを判定し、前記複数のバッファ に同一のストアアドレスが存在し、かつ現在のストア命令のストアデータのデータ幅が 所定のデータ幅未満のときには、前記 ECC有効情報を無効に設定し、該 ECC有効 情報を前記ストアデータと前記第 1のエラー訂正コードと対応づけて該当するバッフ ァの前記ストアアドレスに格納する。
[0014] このように構成することで複数のバッファに同一のストアアドレスが存在し、かつ現在 のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには、先行する ストア命令が完了してから、第 1のエラー訂正コードを生成し、その第 1のエラー訂正 コードと、ストアデータのストア対象領域のデータから生成する第 2のエラー訂正コー ドを用いて適正なエラー訂正コードを生成することができる。
[0015] 本発明のメモリ管理装置において、前記マージ回路は、前記バッファの前記 ECC 有効情報が有効か、無効かを判定し、前記 ECC有効情報が有効に設定されている ときには、前記第 1のエラー訂正コードと前記第 2のエラー訂正コードをマージして前 記ストアデータのエラー訂正コードを生成する。
[0016] このように構成することで ECC有効情報が有効で適正な第 1のエラー訂正コードが 生成されている場合に、その第 1のエラー訂正コードとストアデータから生成する第 2 のエラー訂正コードをマージして正しいエラー訂正コードを生成することができる。
[0017] 本発明のメモリ管理装置において、前記バッファの前記 ECC有効情報が無効に設 定された状態で、先行するストア命令が完了したときには、前記バッファの該当するス トァアドレスの前記 ECC有効情報を有効に書き替える。
[0018] このように構成することで、同一のストアアドレスに対してデータの書き込みを行う先 行するストア命令が存在する場合でも、そのストア命令が完了したときに処理の待ち 時間を生じることなぐ後続のストア命令のストアデータをキャッシュメモリに書き込む ことができる。
図面の簡単な説明
[0019] [図 1]メモリ管理装置の基本構成を示す図である。 [図 2]実施の形態のエラー訂正コード生成方法の説明図である。
[図 3]ストアバッファとライトバッファのデータ構成を示す図である。
[図 4]IU— REQ時の動作フローチャートである。
[図 5]IU— REQ時の動作説明図である。
[図 6]IU—REQ時の動作を示すタイムチャートである。
[図 7]ECC—VALの設定回路のブロック図である。
[図 8]WB— GO時の動作説明図である。
[図 9]ST1— REQ時の動作フローチャートである。
[図 10]ST1—REQ時の動作説明図である。
[図 11]ST1— REQ時の動作を示すタイムチャートである。
[図 12]ST2— REQ時の動作フローチャートである。
[図 13] ST2 REQ時の動作説明図である。
[図 14]ST2— REQ時の動作を示すフローチャートである。
[図 15]ECC生成回路のブロック図である。
[図 16]従来のエラー訂正コード生成方法の説明図である。
発明を実施するための最良の形態
[0020] 以下、本発明の実施の形態を図面を参照して説明する。図 1は、本発明の一実施 形態に係るエラー訂正コード生成方法に従って動作するメモリ管理装置の基本構成 を示す図である。
[0021] 図 1において、メモリ管理装置は、判定回路 1と第 1のエラー訂正コード生成回路 2 と第 2のエラー訂正コード生成回路 3とマージ回路 4とバッファ 5とを有する。
ストア命令のストアデータはバッファ 5に格納される。判定回路 1は、キャッシュメモリ 6を検索してストア命令のストア対象のデータがキャッシュメモリ 6に存在するか否かを 判定する。
[0022] 第 1のエラー訂正回路 2は、判定回路 1によりキャッシュメモリ 6にストア対象となるデ ータが存在すると判定された場合には、キャッシュメモリ 6の検索時にキャッシュメモリ 6から読み出したストア対象領域外のデータに基づいて第 1のエラー訂正コードを生 成する。 [0023] 第 2のエラー訂正コード生成回路 3は、バッファ 5のストアデータのストア対象領域の データに基づいて第 2のエラー訂正コードを生成する。
マージ回路 4は、第 1のエラー訂正コードと第 2のエラー訂正コードとをマージしてス トァデータのエラー訂正コードを生成し ECCメモリ 7に書き込む。
[0024] 上記のメモリ管理装置によれば、キャッシュメモリ 6の検索時に読み出したストア対 象領域外のデータから生成した第 1のエラー訂正コードと、キャッシュメモリに書き込 むストアデータ力 生成した第 2のエラー訂正コードをマージしてエラー訂正コードを 生成しているので、キャッシュメモリにデータを書き込んだ後にエラーが検出された場 合でも、データのエラー(例えば、 1ビットのエラー)を正確に訂正することができる。
[0025] 従って、従来は、キャッシュメモリ 6からのデータの読み出しは、検索時と、ストア許 可後に第 1のエラー訂正コードを生成する場合との 2回であつたが、本実施の形態で は、キャッシュメモリ 6からのデータの読み出しは、検索時のデータチェックと第 1のェ ラー訂正コードの生成のための 1回で良い。
[0026] 次に、図 2は、実施の形態のエラー訂正コード生成方法の説明図である。この実施 の形態は、キャッシュメモリを有し、パイプライン方式で命令を実行する CPUに関する ものである。
[0027] 命令処理装置 22からストア命令が出力され、演算器 23からストアデータが出力さ れと、記憶処理装置 24はストア命令に含まれるストア情報に基づ 、てストアバイトマ ーク STBMを作成し、ストアアドレスと共にストアバッファ 25に格納する。ストアバイト マーク STBMとは、所定幅のデータ(実施の形態では 8バイトのデータ)のどのバイト をストアするかを示すデータでありバイト単位に作成される。
[0028] ストア命令のストア情報には、ストアアドレス、ストアデータ幅、データを左詰に格納 するか、右詰で格納するかを指定するァライン情報などが含まれる。
記憶処理装置 24は、ストア対象のキャッシュラインがデータ RAM (キャッシュメモリ) 27に存在するか否かを判定する。さらに、先行するストア命令のストアアドレスと現在 のストア命令のストアドレスが一致するか否力、現在のストア命令のストアデータのデ ータ幅が所定のデータ幅と一致する力否かを判定する。同一のストアアドレスの先行 するストア命令が存在し、かつ現在のストア命令のストアデータのデータ幅が所定の データ幅未満のときには、先行するストア命令が完了しないとストア対象外のデータ 力も生成する nt— ECCが確定しな!、ので、そのストア命令をストア 'ストア'インター口 ック SSIの対象とする。ストア 'ストア'インターロックの対象と判断されたストア命令は、 先行するストア命令のストアが完了した後、ストア 'ストア'インターロックが解除される
[0029] 記憶処理装置 24は、データ RAM27の検索時にデータ RAM27の該当するァドレ スカも読み出したストア対象領域外のデータ力 エラー訂正コード nt—ECC (第 1の エラー訂正コードに対応する)を算出して、演算器 23から出力されるストアデータと共 にストアバッファ 25に書き込む。このとき、現在のストア命令がストア ·ストア'インター ロックの対象であるときには、先行するストア命令が完了しないと正しい nt—ECCが 得られないので ECC有効情報 ECC— VALを無効 (例えば、「0」)に設定し、それ以 外のときは ECC有効情報 ECC— VALを有効 (例えば、「1」)に設定する。
[0030] 図 3 (A)、 (B)は、ストアバッファ 25とライトバッファ 26のデータ構成を示す図である 図 3 (A)に示すように、ストアバッファ 25の各アドレスには、 8バイトのデータと、その 8バイトのデータのエラー訂正コードである 1バイトの nt— ECCと、 8バイトのデータの どのバイトのデータをストアするかを示すストアバイトマーク STMBと、ストアアドレス A DRSと、キャッシュヒットしたか否かを示す LIDと、 ECC有効情報 ECC— VALとが対 応づけて記憶されている。 LIDには、キャッシュヒットしたとき「1」が設定され、キヤッシ ュミスのとき「0」が設定される。 ECC有効情報 ECC— VALは、ストアバッファ 25に適 正な nt—ECCが格納されているか否かを示す情報である。同一ストアアドレスに対 する先行するストア命令が存在し、かつストアデータのデータ幅が 8バイト未満のとき には、先行するストア命令が完了しな 、と正 、nt—ECCを生成することができな ヽ ので、その場合には ECC有効情報 ECC—VALを無効(「0」)に設定し、それ以外の ときは有効(「1」)に設定する。
[0031] 図 8 (B)に示すように、ライトバッファ 26のアドレスは、偶数(EVEN)アドレスと奇数( ODD)アドレスに分けられており、それぞれ 8バイトのデータと、 1バイトの nt—ECCと 、ストアバイトマーク STBMと、ストアアドレス ADRSと、 LIDと、 ECC有効†青報 ECC VALとが記憶される。
[0032] 図 2に戻り、記憶処理装置 24は、命令処理装置 22からストア許可を受け取ると、ス トァバッファ 25のデータをライトバッファタ 26に書き込む。そして、ライトバッファ 26の ECC有効情報が有効(「1」)で、かつ LID力 S「l」のとき、対応するストアデータをライト ノ ッファ 26から読み出し、読み出したストアデータに基づいてストア対象領域のデー タのエラー訂正コード t— ECC (第 2のエラー訂正コードに対応する)を生成する。そ して、生成した t— ECCとライトバッファ 26に格納されている nt— ECCをマージして マージ結果を ECCRAM28に書き込む。
[0033] 次に、実施の形態のエラー訂正コード生成方法ついてより詳細に説明する。以下 の説明では、記憶処理装置 24がエラー訂正コードを生成して ECCRAM28に書き 込むまでの動作を、 IU-REQ (Instruction Unit- Request)と、 WB— GO (Write Buff er— GO)と、 ST1—REQ (Store 1— Request)と、 ST2—REQ (Store 2— Request)の 4つ に分けて説明する。
[0034] 最初に、 IU— REQ時の記憶処理装置 24の動作を図 4の動作フローチャートを参 照して説明する。
IU— REQ時の処理動作とは、記憶処理装置 24が命令処理装置 22からストア命令 を受け取り、 nt— ECC、 LID、 ECC有効情報等を生成してストアバッファ 25に格納 するときの動作である。
[0035] 記憶処理装置 24は、命令処理装置 22からストア命令を受け取ると、ストア対象デ ータがデータ RAM27に存在するか否か、つまりキャッシュヒットしたか否かを判定す る(図 4, Sl l)。
[0036] キャッシュヒットした場合には(SI 1, YES)、ストア命令のストア情報力 ストアバイト マーク STBMを作成し、キャッシュヒットしたか否かを示す LIDに「1」を設定し(S12) 、それらのデータをストアバッファ 25に格納する(S 13)。
[0037] キャッシュヒットしなかった場合には(Sl l, NO)、ステップ S14に進み、 LIDに「0」 を設定した後、上記のステップ 13に進み、 LIDを =0をストアバッファ 25に格納する。 この場合、キャッシュミスであるので CPUにストア命令で指定されたデータをメインメ モリから読み出すように指示する。 [0038] 次に、ストア命令のストアデータがストア 'ストア'インターロック SSIの対象か否かを 判定する(S 15)。
上記のステップ S 15の処理では、先行するストア命令のストアアドレスと現在のスト ァ命令のストアアドレスを比較してストアアドレスが同一か否かを判定する。ストアアド レスが同一の場合、つまり複数のストアバッファ 25とライトバッファ 26に同一のストアァ ドレスが存在する場合には、現在のストア命令のストアデータのデータ幅が所定のデ ータ幅(実施の形態では、 8バイトのデータ幅)と一致する力否かを判定する。ストア データのデータ幅が所定のデータ幅と一致するか否かは、例えば、ストアバイトマー ク STBMの値により行う。ストアデータのデータ幅が所定のデータ幅未満のときには 、そのストア命令をストア 'ストア'インターロックの対象と判断する。それ以外の場合は 、ストア 'ストア'インターロックの対象ではな 、と判断する。
[0039] ストア命令がストア ·ストア'インターロックの対象と判定されたときには(S15, YES) 、ステップ 16に進み、 ECC有効情報 ECC—VALに「0」を設定して ECC有効情報を 無効にした後、次のステップ 17で、設定した ECC有効情報 ECC— VALをストアバッ ファ 25に格納する。
[0040] ストアデータがストア ·ストア'インターロックの対象ではないと判定されたときには(S 15, NO)、ステップ S18に進み、 ECC有効情報 ECC— VALに「1」を設定する。そ の後、上記のステップ S17に進み、設定した ECC有効情報 ECC—VALをストアバッ ファ 25に格納する。
[0041] ステップ S 11でキャッシュヒットと判定された場合には、ステップ S 19において、キヤ ッシュの検索時に読み出したストア対象外のデータ力 エラー訂正コード nt—ECC を生成する。そして、生成した nt—ECCをストアバッファ 25に格納する(S20)。
[0042] 上記のようにして nt— ECCと、 LIDと、 ECC有効情報 ECC— VALをストアデータと 対応づけてストアバッファ 25に格納してストアバッファ 25の状態を確定させる(S21)
[0043] ここで。上述した IU— REQ時の動作を図 5の動作説明図と、図 6のタイムチャートを 参照して説明する。
記憶処理装置 24は、命令処理装置 22からのストア命令を受け取ると、ストア対象 データがデータ RAM27に存在するか否かを判定する。ストア対象データがデータ R AM27に存在する場合、つまりキャッシュヒットした場合には、さら〖こ、先行するストア 命令のストアアドレスと現在のストア命令のストアアドレスが一致するか否力 ストアデ ータのデータ幅が所定のデータ幅 (例えば、 8バイト)と一致する力否かを判定する( 図 6の(1) )。
[0044] 他のストアバッファ 25とライトバッファ 26に同一のストアアドレスが存在し、かつ現在 のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには(例えば、 8 バイトのフルストアでないとき)、そのストア命令はストア 'ストア'インターロック SSIの 対象と判定する(図 6の(2)の SSIの検出)。
[0045] キャッシュヒットし、ストア 'ストア'インターロックの対象でない場合には、キャッシュの 検索時にデータ RAM27のストアアドレス力も読み出したストア対象領域外のデータ( ストアバイトマークで指定されるデータ以外のデータ)に基づ 、てエラー訂正コード nt — ECCを生成し、 ECC有効情報 ECC— VALに「1」を設定し、 LIDに「1」を設定す る。そして、ストアバイトマーク STBMと、 nt—ECCと、 LIDと、 ECC有効情報とをスト ァデータと対応づけてストアバッファ 25に格納する(図 6の(3) )。
[0046] キャッシュミスした場合、あるいはストア命令がストア 'ストア'インターロックの対象の 場合には、 LIDを「0」に、あるいは ECC有効情報を「0」に設定し、それらのデータを ストアバッファ 25に格納する(図 6の(3) )。
[0047] 図 7は、 ECC有効情報 ECC— VALの設定回路のブロック図である。
アドレスマッチ回路 31は、 IU— REQまたは ST1— REQ時のストアアドレスと先行 するストア命令のストアアドレスが一致するか否かを判定する。このアドレスマッチ回 路 31は、 IU— REQまたは ST1— REQ時のストアアドレスが先行するストア命令のス トァアドレスと一致するとき「1」を、不一致のとき「0」を出力する。
[0048] インバータ 32は、 IU—REQまたは ST1—REQ時のストアデータ幅が 8バイトか否 かを示す信号の反転信号を出力する。従って、インバータ 32からは、 IU— REQまた は ST1— REQ時のストアデータ幅が 8バイトのとき「0」力 ストアデータのデータ幅が 8バイト未満のとき「1」が出力される。
[0049] ナンドゲート 33は、アドレスマッチ回路 31のストアアドレスの比較結果と、インバー タ 32のストアデータのデータ幅が 8バイトか否かを示す信号とに基づいて、ストア'スト ァ 'インターロックの対象である力否かを示す信号 (以下、この信号を SSI検出信号と 呼ぶ)を出力する。
[0050] すなわち、 IU— REQまたは ST1— REQ時のストアアドレスと先行するストア命令の ストアアドレスが一致し、かつ IU— REQまたは ST1— REQ時のストアデータのデー タ幅が 8バイト未満のときには、 SSI検出信号を「0」にしてストア ·ストア'インターロック の対象であることを示す。また、 IU— REQまたは ST1— REQ時のストアアドレスと先 行するストア命令のストアアドレスが不一致、ある 、は IU— REQまたは ST1 -REQ 時のストアデータ幅が 8バイトのときには、 SSI検出信号を「1」にする。
[0051] アンドゲート 34は、 SSI検出信号が「0」のとき、すなわち、ストアデータがストア 'スト ァ 'インターロックの対象のときには、 ECC有効情報 ECC— VALを「0」にする。また 、 SSI検出信号が「1」のとき、すなわち、ストア 'ストア'インターロックの対象ではない ときには、 ECC有効情報 ECC—VALを「1」にして正しい nt—ECCが設定されてい ることを示す。
[0052] 次に、 WB— GO時の記憶処理装置 24の動作を図 8の動作説明図を参照して説明 する。 WB— GOとは、ストアバッファ 25のデータをライトバッファ 26へ書き込むときの 動作である。
[0053] 記憶処理装置 24は、命令処理装置 22からストア許可を受け取ると、対象となるスト ァバッファ 25の処理の優先順位が最も高!、か、空!、て!/、るライトバッファ 26が存在す る力否かを判断し、優先順次が最も高ぐ空いているライトバッファ 26が存在する場 合には、ストアバッファ 25の対象となるデータと、 nt—ECCと、ストアバイトマーク ST BMと、ストアアドレス ADRSと、 LIDと、 ECC有効情報をライトバッファ 26に書き込む
[0054] 次に、 ST1— REQ時の動作を図 9の動作フローチャートを参照して説明する。 ST1 — REQは、 LIDが「0」でキャッシュミスした場合、あるいは ECC有効情報 ECC— VA が「0」で nt—ECCが確定して!/、な!/、場合の処理動作である。
[0055] ライトバッファ 26の指定されたストアアドレスのデータを読み出しライトバッファ 26の 状態を確認する(図 9, S31)。 次に、ライトバッファ 26から読み出した LIDが「0」か否力、、 ECC有効情報 ECC— V ALが「0」カゝ否かを判別する(S32)。
[0056] LIDが「0」でキャッシュミスのとき、あるいは ECC有効情報 ECC— VALが「0」のと きには(S32, YES)、ステップ S33に進み、 ST1— REQを起動する。
[0057] ST1—REQが起動されると、ステップ S34において、キャッシュヒットしたか否かを 判定する。キャッシュヒットした場合には(S34, YES)、ステップ S35に進み、 LIDに「 1」を設定する。次に、「1」を設定した LIDをライトバッファ 26に格納する(S36)。ステ ップ S34でキャッシュミスと判定された場合には(S34, NO)、ステップ S37に進み、 L IDに「0」を設定し、上記のステップ S36に進み、 LID = 0をライトバッファ 26に格納す る。この場合、キャッシュミスであるのでデータをメインメモリから読み出すように命令 処理装置 22に通知する。
[0058] 次に、ストア命令がストア ·ストア'インターロック SSIの対象か否かを判定する(S38 ) oこのストア 'ストア'インターロックの対象か否かの判定は、同一のストアアドレスが 複数のライトバッファ 26に存在するか否力 後続のストア命令のストアデータのデータ 幅が所定のデータ幅未満力否かにより行う。
[0059] ストア命令がストア 'ストア'インターロックの対象の場合には(S38, YES)、ステップ S39に進み、 ECC有効情報 ECC— VALに「0」を設定する。そして、設定した ECC 有効情報 ECC— VALを該当するライトバッファ 26に格納する(S39)。
[0060] ステップ S38でストア命令がストア ·ストア'インターロックの対象ではないと判定され た場合には(S38, NO)、ステップ S41に進み、 ECC有効情報 ECC— VALに「1」を 設定する。
[0061] なお、同一のストアアドレスに対してデータの書き込みを行う先行するストア命令が 存在し、後続のストア命令がストア 'ストア'インターロックの対象となって 、る場合でも 、先行するストア命令が完了すると、後続のストア命令はストア 'ストア'インターロック の対象ではなくなるので、上記のステップ S41において、 ECC有効情報 ECC—VA Lが「1」に変更される。 ECC有効情報 ECC—VALが変更された場合には、後述す るステップ S43及び S44〖こおいて、更新後のデータ RAM27のデータのストア対象 領域外のデータに基づいて新たな nt— ECCが生成され、生成された nt— ECCがラ イトバッファ 26に格納される。
[0062] 上述した LID及び ECC有効情報 ECC—VALの設定等によりライトバッファ 26の状 態が確定する(S42)。
ステップ S34でキャッシュヒットと判定された場合には、ステップ S43において、キヤ ッシュの検索時にデータ RAM27のストアアドレス力 読み出したストア対象外のデ ータの nt— ECCを生成する。そして、生成した nt— ECCをライトバッファ 26に格納 する(S44)。
[0063] ここで、 ST1— REQ時の記憶処理装置 24の動作を、図 10の動作説明図と図 11の タイムチャートを参照して説明する。
記憶処理装置 24は、図 10に示すように、ライトバッファ 26のストアアドレスの LIDと
ECC有効情報 ECC— VALを読み出し、 LID = 0、または ECC— VAL = 0と判定し た場合には ST1— REQの動作を行う。
[0064] キャッシュヒットしているとき〖こは、現在のストア命令のストアアドレスと同一のストアァ ドレスが他のライトバッファ 26に存在するか否かを判定する(図 11の(1) )。
同一のストアアドレスが他のライトバッファ 26に存在する場合には、さらにストアデ一 タのデータ幅が所定のデータ幅力否かを判定する。ストアデータのデータ幅が所定 のデータ幅未満であれば、ストア 'ストア'インターロックの対象と判断する(図 11の(2
) )。
[0065] ストア命令がストア 'ストア'インターロックの対象と判断した場合には、ライトバッファ 26の該当するストアアドレスに ECC有効情報 ECC—VALとして「0」を書き込み、デ ータ RAM27の該当するストアアドレスのストア対象領域外のデータから生成した nt —ECCをライトバッファ 26の該当するストアアドレスに書き込む(図 11の(3) )。
[0066] 次に、 ST2— REQ時の記憶処理装置 24の動作を図 12の動作フローチャートを参 照して説明する。
最初に、ライトバッファ 26の LID= 1、かつ ECC— VAL = 1か否かを判別する(図 1 2, S51)。
[0067] LID= 1,かつ ECC—VAL= 1のとき(S51, YES)、すなわち、データ RAM (キヤ ッシュメモリ) 27にストア対象のデータが存在、かつストア命令がストア 'ストア'インタ 一ロックの対象でない場合には、ステップ S52に進み、 ST2—REQが起動される。
[0068] ST2— REQが起動されると、ステップ S53において、ライトバッファ 26のストアデ一 タをデータ RAM27に格納する。次に、ライトバッファ 26のストアデータに基づいて t ECCを生成する(S54)。
[0069] 次に、生成した t— ECCと、ライトバッファ 26の該当するストアアドレスに格納されて
V、る nt— ECCをマージする(S55)。
最後に、マージして得られるエラー訂正コード ECCを ECCRAM28に格納する(S
56)。
[0070] ここで、 ST2— REQ時の動作を図 13の動作説明図と図 14のタイムチャート並びに 図 15の ECC生成回路のブロック図を参照して説明する。
記憶処理装置 24は、図 13に示すように、ライトバッファ 26の指定されたストアァドレ スの LIDと ECC有効情報 ECC— VALを読み出し、 LID= 1、力つ ECC— VAL= 1 か否かを判定し、両者を「1」と判定した場合には ST2—REQの動作を行う。
[0071] 先ず、ライトバッファ 26の該当するストアアドレスのデータに基づいてストアデータの t—ECCを生成する(図 14の(1) )。
次に、ライトバッファ 26の該当するストアアドレス力 ストア対象領域外のデータのェ ラー訂正コード nt ECCを読み出し、その nt— ECCと、ライトバッファ 26のストアデ ータから生成したストア対象領域のデータのエラー訂正コード t—ECCをマージする (図 14の(2) )。このとき、同時にライトバッファ 26のストアデータをデータ RAM27に 書き込む。
[0072] 次に、 t— ECCと nt— ECCをマージしたデータを ECCRAM28に格納する(図 14 の (3) )。
図 15は、 ECC生成回路のブロック図である。図 15において、ライトバッファ 26の 8 バイトのデータと、各バイトのストアバイトマーク STBMの値との論理積を求め、ストア 対象領域外のバイトデータを「0」にする。そして、 SEC— DED (Single bit Error Corr ecting- Double bit Error Detecting)方式により、ストア領域のデータのエラー訂正コ ード t - ECCを生成して排他的論理和回路 EX— OR41に出力する。 EX-OR41の 他方の入力端子には、ライトバッファ 26に格納されて 、る nt - ECC (SEC - DED方 式で生成されている)が入力し、 EX—OR41はそれらのデータの排他的論理和を取 り、その結果をストア後のデータの ECCとして ECCRAM28に出力する。
[0073] 上記の ECC生成回路により、ライトバッファ 26に格納されているストアデータのエラ 一訂正コード t— ECCと、データ RAM27の検索時に読み出した該当するストアアド レスのストア対象領域外のデータから生成したエラー訂正コード nt— ECCがマージ され、マージ結果のエラー訂正コード ECCが ECCRAM28に書き込まれる。
[0074] 上述した実施の形態は、キャッシュメモリの検索時にデータ RAM (キャッシュメモリ) 27から読み出したストアアドレスのストア対象領域外のデータに基づいてエラー訂正 コード nt— ECCを生成し、生成した nt—ECCをストアデータと対応づけてストアバッ ファ 25に格納する。さらに、ストアバッファ 25のストアデータと nt—ECCをライトバッフ ァ 26に書き込み、ライトバッファ 26のストアデータのストア対象領域のデータに基づ いてエラー訂正コード t—ECCを生成する。そして、 nt— ECCと t— ECCをマージし てマージ結果をストアデータのエラー訂正コードとして ECCRAM28に書き込んでい る。
[0075] 上記のように構成することで、データ RAM (キャッシュメモリ) 27にストアデータを書 き込んだ後にエラーチェックを行ってエラーが検出された場合でも、キャッシュメモリ の検索時にデータ RAM27から読み出したストア対象領域外のデータ力も生成した n t ECCと、データ RAM27に書き込むストアデータから生成した t ECCをマージし て得られるエラー訂正コードを用いてエラー訂正を行うことでデータの 1ビットのエラ 一を正確に訂正することができる。
[0076] さらに、先行するストア命令のストアアドレスが現在のストア命令のストアアドレスと同 一で、現在のストア命令のデータ幅が所定のデータ幅(例えば、 8ビット)未満のとき には、 ECC有効情報 ECC— VALを無効 (例えば、「0」)に設定し、その ECC有効情 報 ECC— VALを nt—ECCとストアデータと対応づけてストアバッファ 25に格納する 。ストアアドレスが不一致またはデータ幅が所定のデータ幅と一致する場合には、 EC C有効情報 ECC— VALを有効 (例えば、「1」)に設定してストアデータと nt—ECCと 対応づけてストアバッファ 25に格納する。
[0077] 上記のように構成することで、例えば、同一のストアドレスを有する先行のストア命令 が存在し、かつ現在のストア命令のストアデータのデータ幅が所定のデータ幅未満 で、現在のストア命令の実行が待たされる場合でも、先行するストア命令が完了した 時点で、現在のストア命令に対応する ECC有効情報 ECC— VALを無効(「0」 )から 有効(「1」)に書き替えることで、ストア 'ストア'インターロック制御による待ち状態から 解放することができる。これにより、ストア 'ストア'インターロック制御を行ったときにスト ァ命令の実行に不要な待ち時間が発生するのを防止できる。
[0078] 本発明によれば、キャッシュメモリにデータを書き込んだ後にエラーが検出された場 合でも、データを書き込む前のストア対象領域外のデータ力 生成した第 1のエラー 訂正コードと、ストアデータのストア対象領域のデータから生成した第 2のエラー訂正 コードから生成したエラー訂正コードを用いてデータのエラーを正確に訂正すること ができる。
[0079] 本発明は上述した実施の形態に限らず、問えば、以下のように構成しても良い。
(1)本発明は、キャッシュメモリを有する CPU等及びその CPUが実装された情報処 理装置に適用できる。また、 SEC— DED方式のエラー訂正コードに限らず、他の方 式のエラー訂正コードにも適用できる。実施の形態は、複数のストアバッファ 25と複 数のライトバッファ 26の 2種類のバッファを用いる場合について説明した力 ストアバ ッファ 25のみ、または、ライトバッファ 26のみを用いる場合にも本発明は適用できる。
(2)実施の形態では、記憶処理装置 24の動作を IU—REQ、 WB— GO、 STl—RE Q、 ST2— REQの 4つの動作に分けて説明した力 この 4種の動作に限定されるもの ではない。
(3)また、実施の形態では、データ RAM27のストア対象領域以外のデータから生成 したエラー訂正コード nt—ECCをストアバッファ 25及びライトバッファ 26に格納する ようにした力 ストアバッファ 25またはライトバッファ 26以外の別のレジスタに格納する ようにしても良い。

Claims

請求の範囲
[1] ストア命令のストアデータをバッファに格納し、
キャッシュメモリを検索して前記ストア命令のストア対象のデータが前記キャッシュメ モリに存在するか否かを判定し、
前記キャッシュメモリに前記ストア対象のデータが存在すると判定された場合に、前 記キャッシュメモリの検索時に前記キャッシュメモリから読み出したストア対象領域外 のデータに基づ!/、て第 1のエラー訂正コードを生成し、生成した前記第 1のエラー訂 正コードを保持し、
前記バッファの前記ストアデータのストア対象領域のデータに基づいて第 2のエラ 一訂正コードを生成し、
前記第 1のエラー訂正コードと前記第 2のエラー訂正コードとをマージして前記スト ァデータのエラー訂正コードを生成するエラー訂正コード生成方法。
[2] 先行するストア命令のストアアドレスが現在のストア命令のストアアドレスと一致する か否力、現在のストア命令のストアデータのデータ幅が所定のデータ幅と一致するか 否かを判定し、同一のストアアドレスを有する先行するストア命令が存在し、かつ現在 のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには、前記第 1 のエラー訂正コードが適正力否かを示す ECC有効情報を無効に設定し、該 ECC有 効情報を前記ストアデータと前記第 1のエラー訂正コードと対応づけて記憶する請求 項 1記載のエラー訂正コード生成方法。
[3] 前記バッファは複数のバッファからなり、前記複数のバッファに同一のストアアドレス が存在するか否か、現在のストア命令のストアデータのデータ幅が所定のデータ幅と 一致する力否かを判定し、前記複数のバッファに同一のストアアドレスが存在し、か つ現在のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには、前 記 ECC有効情報を無効に設定し、該 ECC有効情報を前記ストアデータと前記第 1の エラー訂正コードと対応づけて該当するバッファの前記ストアアドレスに格納する請 求項 2記載のエラー訂正コード生成方法。
[4] 前記 ECC有効情報が有効か、無効かを判定し、前記 ECC有効情報が有効に設定 されているときには、前記第 1のエラー訂正コードと前記第 2のエラー訂正コードをマ ージしてストアデータのエラー訂正コードを生成する請求項 2記載のエラー訂正コー ド生成方法。
[5] 前記バッファの前記 ECC有効情報が無効に設定された状態で、先行するストア命 令が完了したときには、前記バッファの該当するストアアドレスの前記 ECC有効情報 を有効に書き替える請求項 2記載の請求項 2記載のエラー訂正コード生成方法。
[6] ストア命令により指定されるストアデータを格納するバッファと、
キャッシュメモリを検索して前記ストア命令のストア対象のデータが前記キャッシュメ モリに存在する力否かを判定する判定回路と、
前記判定回路により前記キャッシュメモリに前記ストア対象となるデータが存在する と判定された場合には、前記キャッシュメモリの検索時に前記キャッシュメモリから読 み出したストア対象領域外のデータに基づ!/、て第 1のエラー訂正コードを生成し前記 ノ ッファに格納する第 1のエラー訂正コード生成回路と、
前記バッファの前記ストアデータのストア対象領域のデータに基づいて第 2のエラ 一訂正コードを生成する第 2のエラー訂正コード生成回路と、
前記第 1のエラー訂正コードと前記第 2のエラー訂正コードとをマージして前記スト ァデータのエラー訂正コードを生成するマージ回路と備えるメモリ管理装置。
[7] 前記第 1のエラー訂正コード生成回路は、先行するストア命令のストアアドレスが現 在のストア命令のストアアドレスと一致するか否力、現在のストア命令のストアデータ のデータ幅が所定のデータ幅と一致する力否かを判定し、同一のストアアドレスを有 する先行するストア命令が存在し、かつ現在のストア命令のストアデータのデータ幅 が所定のデータ幅未満のときには、前記第 1のエラー訂正コードが適正か否かを示 す ECC有効情報を無効に設定し、該 ECC有効情報を前記ストアデータと前記第 1の エラー訂正コードと対応づけて記憶させる請求項 6記載のメモリ管理装置。
[8] 前記バッファは複数のバッファからなり、
前記第 1のエラー訂正コード生成回路は、前記複数のノ ッファに同一のストアァドレ スが存在するか否か、現在のストア命令のストアデータのデータ幅が所定のデータ幅 と一致するか否かを判定し、前記複数のバッファに同一のストアアドレスが存在し、か つ現在のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには、前 記 ECC有効情報を無効に設定し、該 ECC有効情報を前記ストアデータと前記第 1の エラー訂正コードと対応づけて該当するバッファの前記ストアアドレスに格納する請 求項 7記載のメモリ管理装置。
[9] 前記マージ回路は、前記 ECC有効情報が有効か、無効かを判定し、前記 ECC有 効情報が有効に設定されているときには、前記第 1のエラー訂正コードと前記第 2の エラー訂正コードをマージして前記ストアデータのエラー訂正コードを生成する請求 項 7記載のメモリ管理装置。
[10] 前記 ECC有効情報が無効に設定された状態で、先行するストア命令が完了したと き、前記バッファの該当するストアアドレスの前記 ECC有効情報を有効に書き替える 請求項 7記載のメモリ管理装置。
[11] ストア命令のストアデータをバッファに格納するステップと、
キャッシュメモリを検索して前記ストア命令のストア対象のデータが前記キャッシュメ モリに存在するか否かを判定し、
前記キャッシュメモリに前記ストア対象のデータが存在すると判定された場合に、前 記キャッシュメモリの検索時に前記キャッシュメモリから読み出したストア対象領域外 のデータに基づ!/、て第 1のエラー訂正コードを生成し、生成した前記第 1のエラー訂 正コードを保持するステップと、
前記バッファの前記ストアデータのストア対象領域のデータに基づいて第 2のエラ 一訂正コードを生成するステップと、
前記第 1のエラー訂正コードと前記第 2のエラー訂正コードとをマージして前記スト ァデータのエラー訂正コードを生成するステップとからなる、コンピュータが実行可能 なエラー訂正コード生成プログラム。
[12] 先行するストア命令のストアアドレスが現在のストア命令のストアアドレスと一致する か否力、現在のストア命令のストアデータのデータ幅が所定のデータ幅と一致するか 否かを判定するステップと、
同一のストアアドレスを有する先行するストア命令が存在し、かつ現在のストア命令 のストアデータのデータ幅が所定のデータ幅未満のときには、前記第 1のエラー訂正 コードが適正力否かを示す ECC有効情報を無効に設定し、該 ECC有効情報を前記 ストアデータと前記第 1のエラー訂正コードと対応づけて記憶するステップとを有する 請求項 11記載のエラー訂正コード生成プログラム。
[13] 前記 ECC有効情報を格納するステップは、複数の前記バッファに同一のストアアド レスが存在するか否か、現在のストア命令のストアデータのデータ幅が所定のデータ 幅と一致するか否かを判定し、前記複数のバッファに同一のストアアドレスが存在し、 かつ現在のストア命令のストアデータのデータ幅が所定のデータ幅未満のときには、 前記 ECC有効情報を無効に設定し、該 ECC有効情報を前記ストアデータと前記第 1のエラー訂正コードと対応づけて該当するバッファの前記ストアアドレスに格納する 請求項 12記載のエラー訂正コード生成プログラム。
[14] 前記エラー訂正コードを生成するステップは、前記バッファの前記 ECC有効情報 が有効か、無効かを判定し、前記 ECC有効情報が有効に設定されているときには、 前記第 1のエラー訂正コードと前記第 2のエラー訂正コードをマージして前記ストアデ ータのエラー訂正コードを生成する請求項 12記載のエラー訂正コード生成プロダラ ム。
[15] 前記 ECC有効情報を格納するステップは、前記バッファの前記 ECC有効情報が 無効に設定された状態で、先行するストア命令が完了したときには、前記バッファの 該当するストアアドレスの前記 ECC有効情報を有効に書き替える請求項 12記載のェ ラー訂正コード生成プログラム。
PCT/JP2006/301590 2006-01-31 2006-01-31 エラー訂正コード生成方法及びメモリ管理装置 WO2007088597A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2006800519820A CN101336418B (zh) 2006-01-31 2006-01-31 纠错码生成方法以及存储器管理装置
PCT/JP2006/301590 WO2007088597A1 (ja) 2006-01-31 2006-01-31 エラー訂正コード生成方法及びメモリ管理装置
EP06712733.2A EP1980946B1 (en) 2006-01-31 2006-01-31 Error correction code generation method and memory management device
KR1020087018940A KR100972807B1 (ko) 2006-01-31 2006-01-31 에러 정정 코드 생성 방법 및 메모리 관리 장치
JP2007556737A JP4339914B2 (ja) 2006-01-31 2006-01-31 エラー訂正コード生成方法及びメモリ管理装置
US12/182,732 US8245110B2 (en) 2006-01-31 2008-07-30 Error correcting code generation method and memory control apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/301590 WO2007088597A1 (ja) 2006-01-31 2006-01-31 エラー訂正コード生成方法及びメモリ管理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US12/182,732 Continuation US8245110B2 (en) 2006-01-31 2008-07-30 Error correcting code generation method and memory control apparatus

Publications (1)

Publication Number Publication Date
WO2007088597A1 true WO2007088597A1 (ja) 2007-08-09

Family

ID=38327185

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/301590 WO2007088597A1 (ja) 2006-01-31 2006-01-31 エラー訂正コード生成方法及びメモリ管理装置

Country Status (6)

Country Link
US (1) US8245110B2 (ja)
EP (1) EP1980946B1 (ja)
JP (1) JP4339914B2 (ja)
KR (1) KR100972807B1 (ja)
CN (1) CN101336418B (ja)
WO (1) WO2007088597A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133986A (ja) * 2005-11-11 2007-05-31 Nec Electronics Corp 半導体記憶装置
JPWO2008155850A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
KR101133069B1 (ko) 2008-06-04 2012-04-09 후지쯔 가부시끼가이샤 정보 처리 장치, 데이터 전송 장치 및 데이터 전송 방법

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204828A (ja) * 2009-03-02 2010-09-16 Renesas Electronics Corp データ保護回路及び方法、並びにデータ処理装置
US8694862B2 (en) * 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
JP6140093B2 (ja) * 2014-03-18 2017-05-31 株式会社東芝 キャッシュメモリ、誤り訂正回路およびプロセッサシステム
JP6718294B2 (ja) * 2016-04-25 2020-07-08 アズビル株式会社 レジスタ異常検出装置
US10769013B1 (en) * 2018-06-11 2020-09-08 Cadence Design Systems, Inc. Caching error checking data for memory having inline storage configurations

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5821353A (ja) 1981-05-28 1983-02-08 ベブ・カ−ル・ツアイス・イエ−ナ 位置決め装置における基体不整合状態を検知し除去する装置
JPS61199141A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd 記憶装置
JPH10232789A (ja) 1997-02-19 1998-09-02 Hitachi Ltd Eccパーシャルライト制御ユニット

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5298434A (en) 1976-02-14 1977-08-18 Hitachi Ltd Correction for memory error
US4298929A (en) * 1979-01-26 1981-11-03 International Business Machines Corporation Integrated multilevel storage hierarchy for a data processing system with improved channel to memory write capability
JPS603046A (ja) 1983-06-17 1985-01-09 Hitachi Ltd 記憶制御方式
US4768197A (en) * 1986-09-15 1988-08-30 Amdahl Corporation Cache error code update
JPS63231553A (ja) 1987-03-19 1988-09-27 Nec Corp 部分書込み方式
JPH01134548A (ja) 1987-11-19 1989-05-26 Fujitsu Ltd 記憶装置
JPH0460734A (ja) 1990-06-29 1992-02-26 Hitachi Ltd 記憶装置
US5664148A (en) * 1995-08-17 1997-09-02 Institute For The Development Of Emerging Architectures L.L.C. Cache arrangement including coalescing buffer queue for non-cacheable data
US6725343B2 (en) * 2000-10-05 2004-04-20 Hewlett-Packard Development Company, L.P. System and method for generating cache coherence directory entries and error correction codes in a multiprocessor system
JP4234361B2 (ja) * 2002-06-28 2009-03-04 富士通株式会社 記憶制御装置およびデータ格納方法
US7203890B1 (en) * 2004-06-16 2007-04-10 Azul Systems, Inc. Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
US7617437B2 (en) * 2006-02-21 2009-11-10 Freescale Semiconductor, Inc. Error correction device and method thereof
US7930615B2 (en) * 2007-05-31 2011-04-19 Agere Systems Inc. Memory device with error correction capability and preemptive partial word write operation
US7836262B2 (en) * 2007-06-05 2010-11-16 Apple Inc. Converting victim writeback to a fill

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5821353A (ja) 1981-05-28 1983-02-08 ベブ・カ−ル・ツアイス・イエ−ナ 位置決め装置における基体不整合状態を検知し除去する装置
JPS61199141A (ja) * 1985-03-01 1986-09-03 Hitachi Ltd 記憶装置
JPH10232789A (ja) 1997-02-19 1998-09-02 Hitachi Ltd Eccパーシャルライト制御ユニット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1980946A4

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007133986A (ja) * 2005-11-11 2007-05-31 Nec Electronics Corp 半導体記憶装置
JPWO2008155850A1 (ja) * 2007-06-20 2010-08-26 富士通株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
JP4764945B2 (ja) * 2007-06-20 2011-09-07 富士通株式会社 キャッシュ制御装置、キャッシュ制御方法およびキャッシュ制御プログラム
US8533565B2 (en) 2007-06-20 2013-09-10 Fujitsu Limited Cache controller and cache controlling method
KR101133069B1 (ko) 2008-06-04 2012-04-09 후지쯔 가부시끼가이샤 정보 처리 장치, 데이터 전송 장치 및 데이터 전송 방법

Also Published As

Publication number Publication date
JPWO2007088597A1 (ja) 2009-06-25
EP1980946A1 (en) 2008-10-15
US20090031188A1 (en) 2009-01-29
KR100972807B1 (ko) 2010-07-29
US8245110B2 (en) 2012-08-14
CN101336418B (zh) 2011-02-09
EP1980946B1 (en) 2013-05-29
CN101336418A (zh) 2008-12-31
JP4339914B2 (ja) 2009-10-07
KR20080089619A (ko) 2008-10-07
EP1980946A4 (en) 2009-07-29

Similar Documents

Publication Publication Date Title
US9128822B2 (en) On-chip bad block management for NAND flash memory
US8065555B2 (en) System and method for error correction in cache units
US7921339B2 (en) Flash storage device with data correction function
JP4339914B2 (ja) エラー訂正コード生成方法及びメモリ管理装置
US8127205B2 (en) Error correction code generation method and memory control device
US20090070654A1 (en) Design Structure For A Processor System With Background Error Handling Feature
US9323602B2 (en) Error correction with extended CAM
US9003260B2 (en) Partial-writes to ECC (error check code) enabled memories
JPS60179851A (ja) デ−タ処理装置
JP2004311010A (ja) エラー訂正機能を有したフラッシュメモリ装置
JP2009527820A (ja) エラー訂正方法およびエラー訂正装置
JPS6324428A (ja) キヤツシユメモリ
US7689895B2 (en) On-the fly error checking and correction CODEC system and method for supporting non-volatile memory
JPWO2007096997A1 (ja) メモリ制御装置およびメモリ制御方法
JPS6310460B2 (ja)
JPH09146836A (ja) キャッシュ索引の障害訂正装置
JP2011257966A (ja) キャッシュ装置及び情報処理装置
US20200201559A1 (en) Semiconductor device, memory controller, and memory accessing method
US11704055B2 (en) Storage device, controller and method for operating thereof
JPH05165719A (ja) メモリアクセス処理装置
JPH06266618A (ja) エラー訂正・検出機能付きの主記憶コントローラを備えた情報処理装置
JPS603769A (ja) エラ−回復方法
JPH06274421A (ja) データ保証方式
JPS62271030A (ja) メモリアクセス方式
JPS59217298A (ja) メモリエラ−救済方式

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2007556737

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2006712733

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 200680051982.0

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 1020087018940

Country of ref document: KR

NENP Non-entry into the national phase

Ref country code: DE