JP2005004290A - メモリ障害処理方式 - Google Patents
メモリ障害処理方式 Download PDFInfo
- Publication number
- JP2005004290A JP2005004290A JP2003164507A JP2003164507A JP2005004290A JP 2005004290 A JP2005004290 A JP 2005004290A JP 2003164507 A JP2003164507 A JP 2003164507A JP 2003164507 A JP2003164507 A JP 2003164507A JP 2005004290 A JP2005004290 A JP 2005004290A
- Authority
- JP
- Japan
- Prior art keywords
- data
- duplicate
- failure
- cache
- cache memory
- 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.)
- Pending
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【課題】キャッシュメモリの耐障害性を高めること。
【解決手段】キャッシュメモリに誤り訂正符号(Error Correcting Code:以下ECC)でも訂正不可能な障害が発生した場合、キャッシュヒット回数が多いデータの複製をキャッシュメモリに持つことにより、メモリを増設することなくデータの冗長性を高め、耐障害性を高める。
【効果】キャッシュメモリの空間的局所性と、時間的局所性を利用して複製データを作成することにより、キャッシュメモリを増設することなくキャッシュメモリの冗長性を高め、耐障害性を高められる。
【選択図】 図1
【解決手段】キャッシュメモリに誤り訂正符号(Error Correcting Code:以下ECC)でも訂正不可能な障害が発生した場合、キャッシュヒット回数が多いデータの複製をキャッシュメモリに持つことにより、メモリを増設することなくデータの冗長性を高め、耐障害性を高める。
【効果】キャッシュメモリの空間的局所性と、時間的局所性を利用して複製データを作成することにより、キャッシュメモリを増設することなくキャッシュメモリの冗長性を高め、耐障害性を高められる。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は障害検出および訂正能力を有するキャッシュメモリの訂正不可能障害の救出方法に関する。
【0002】
【従来の技術】
メモリシステムのサイズが増大し、メモリセルのサイズが小さくなるにつれ、α粒子によりメモリシステムの一時的な障害が発生する確率が増大する。一時的な障害は通常、ECCを用いて障害を検出、訂正する。しかしECCを用いた障害検出では1ビットないし隣接する数ビットの障害を検出、訂正できるが、隣接しない複数ビット、またはECCで訂正できるビット以上の隣接するビットの障害が発生した場合には訂正できない。メインメモリの訂正不可能な障害については、米国特許6,370,616号のようにメインメモリをRAIDにしてホットスワップできる。キャッシュメモリの訂正不可能な障害については、特開平5−165722号公報に記載のようにキャッシュメモリを閉塞しメインメモリにアクセスする方式や、特開平2002−358234号公報に記載のようにECCを用いて障害検出し、訂正不可能ならメインメモリにアクセスする方式が知られている。
【0003】
【特許文献1】
米国特許6,370,616号
【特許文献2】
特開平2002−358234号公報
【0004】
【発明が解決しようとする課題】
メモリの耐障害性を高める技術としては、RAIDメモリ(公知例:米国特許6,370,616号)があるが、この技術をキャッシュメモリに適用すると、回路規模が大きくなり、物理的実装スペースとそれに伴うコスト増大と言った問題に直面することになる。
【0005】
また、キャッシュメモリの訂正不可能な障害を検出した場合、ライトスルー方式では、メインメモリやディスクのデータとキャッシュメモリに格納されたデータが等しいことが保証されているので問題ないが、ライトバック方式でメインメモリやディスクのデータとキャッシュメモリに格納されたデータが異なる場合にはデータの整合性が失われてシステムダウンや誤った結果になる可能性がある。
【0006】
特開平5−165722号公報や特開2002−358234号公報では、ECCを用いても訂正不可能でMESIプロトコルでメインメモリと一致していることが判明しているデータならばメインメモリにアクセスし、メインメモリとデータが一致していないことが判明していれば訂正不可能障害の検出報告をする技術が提案されている。しかし、いずれも障害発生時に著しい性能劣化を招くことになり、ライトバック方式でメインメモリやディスクのデータとキャッシュメモリに格納されたデータが異なる場合には訂正不可能なメモリ障害を訂正できない。
【0007】
【課題を解決するための手段】
前記課題を解決するために本発明は、キャッシュメモリの空間的局所性と時間的局所性を利用して、キャッシュヒット回数の多い当該データの複製データをキャッシュメモリ上の空きエントリに持たせることにより、メモリ容量を増やすことなく冗長性を高めることによって、メインメモリまたはディスクに対して一致していないデータに訂正不可能な障害が発生した場合でも、複製データを作成していればデータを不正に破壊することなく動作継続が可能となることを特徴とするものである。
【0008】
【発明の実施の形態】
以下、本発明の実施形態を図を参照して説明する。
【0009】
図2はキャッシュメモリの構成図を示す。キャッシュメモリはアドレス部、複製データの有無を示すインデクス(ix2)、MESI(Modified Exclusive Shared Invalid)プロトコルに従う状態フラグ(f1)、キャッシュヒットカウンタ(cnt1)、データ部を有する。アドレス部のインデクス(ix1)と複製データのインデクス(ix2)が等しい場合には、複製データがないことを示す。エントリ数以下でアドレス部のインデクス(ix1)と複製データのインデクス(ix2)が等しくない場合は、複製データがあることを示す。複製データのインデクス(ix2)がエントリ数よりも大きい場合は、複製データ自身を示す。
【0010】
図3に示すような実施形態において、キャッシュメモリはプロセッサとディスクに接続されており、プロセッサからのライト要求に対しては、データをキャッシュメモリに書き込み、フラッシュ時またはデータ消去時にディスクに書き戻す(ライトバック方式)。キャッシュメモリ制御部は、機能部を有する。
【0011】
図4はデータの読込み処理を示したものである。ディスクからキャッシュメモリ上にデータを読み込む場合、キャッシュメモリのエントリの状態フラグがMODIFIEDであるかどうか調べる(ステップS1)。状態フラグがMODIFIEDであれば、当該データまたは複製データを削除する(ステップS2)。当該エントリの状態フラグがSHAREDの場合、SHAREしている他のキャッシュメモリの状態フラグをSHAREDからMODIFIEDまたはEXCLUSIVEに書き換える(ステップ3)。
【0012】
キャッシュメモリ上のデータがキャッシュヒットすると、キャッシュヒットカウンタを更新する。図5のようにこのカウンタが予め定めたしきい値を超えた場合(ステップS4)、定められたエントリの状態フラグがINVALIDまたは複製データであれば当該データの複製データをそのエントリに作成する(ステップS5)。定められたエントリの状態フラグがINVALIDでもなく複製データでもない場合には、当該データの複製データを作成しない(ステップS6)。
【0013】
図1および図6および図7に示すように、当該データにアクセスする場合、まずキャッシュメモリ上に当該データがあるかどうかアドレスの比較を行う(ステップS7)。アドレスが一致すればデータの状態フラグとキャッシュヒットカウンタを更新し、当該データにアクセスする。
【0014】
この時、ECCを用いてエラーチェックを行い(ステップS8)、当該データに障害がない場合はそのまま使用する。当該データに訂正可能な障害が検知されると障害を修正してそのまま使用する(ステップS9)。当該データに訂正不可能な障害が検知されると、当該データの複製データが存在するかを調べる(ステップS10)。当該データの複製データが存在すれば複製データについて当該データと同様にECCを用いてエラーチェックを行う(ステップS11)。複製データにも訂正不可能な障害が検知され、状態フラグがMODIFIEDのデータであれば、プロセスを異常終了する(ステップS12)。複製データにも訂正不可能な障害が検知され、状態フラグがSHAREDであれば、メインメモリまたはディスクにアクセスし、当該データを再度読み込む(ステップS13)。複製データに訂正可能な障害が検知されれば訂正し、当該データに訂正内容を同時に反映する(ステップS14)。当該データの複製データが存在し、当該データかその複製データのどちらかにアクセスする場合、キャッシュヒットカウンタや状態フラグの情報を同時に変更する(ステップS15)。
【0015】
図8に示すように、作成した複製データまたは当該データを削除する場合は、メインメモリまたはディスクに書き戻す(ステップS16)。複製データのみを削除する場合は、当該データの複製データへのインデクスを削除時に訂正する(ステップS17)。当該データを削除する場合は、複製データの有無に関わらず削除する(ステップS18)。
【0016】
【発明の効果】
以上、本発明により前記情報処理装置において、キャッシュメモリ上のデータにECCを用いても訂正不可能な障害を検出した場合、当該データの複製データを作成することによって障害訂正が可能になる確率が上がり、当該情報処理装置の耐障害性と信頼性が向上する。
【図面の簡単な説明】
【図1】キャッシュメモリの構成を示す図。
【図2】本発明の実施例のブロック図。
【図3】データの読込み処理を説明する図。
【図4】複製データ作成処理を説明する図。
【図5】データアクセス処理を説明する図。
【図6】データアクセスのブロック図。
【図7】キャッシュメモリのブロック図。
【図8】データ削除処理を説明する図。
【符号の説明】
S1〜S18…処理ステップ通番、add1…アドレス、ix1〜ix2…インデクス、f1…状態フラグ、cnt1…キャッシュヒットカウンタ。
【発明の属する技術分野】
本発明は障害検出および訂正能力を有するキャッシュメモリの訂正不可能障害の救出方法に関する。
【0002】
【従来の技術】
メモリシステムのサイズが増大し、メモリセルのサイズが小さくなるにつれ、α粒子によりメモリシステムの一時的な障害が発生する確率が増大する。一時的な障害は通常、ECCを用いて障害を検出、訂正する。しかしECCを用いた障害検出では1ビットないし隣接する数ビットの障害を検出、訂正できるが、隣接しない複数ビット、またはECCで訂正できるビット以上の隣接するビットの障害が発生した場合には訂正できない。メインメモリの訂正不可能な障害については、米国特許6,370,616号のようにメインメモリをRAIDにしてホットスワップできる。キャッシュメモリの訂正不可能な障害については、特開平5−165722号公報に記載のようにキャッシュメモリを閉塞しメインメモリにアクセスする方式や、特開平2002−358234号公報に記載のようにECCを用いて障害検出し、訂正不可能ならメインメモリにアクセスする方式が知られている。
【0003】
【特許文献1】
米国特許6,370,616号
【特許文献2】
特開平2002−358234号公報
【0004】
【発明が解決しようとする課題】
メモリの耐障害性を高める技術としては、RAIDメモリ(公知例:米国特許6,370,616号)があるが、この技術をキャッシュメモリに適用すると、回路規模が大きくなり、物理的実装スペースとそれに伴うコスト増大と言った問題に直面することになる。
【0005】
また、キャッシュメモリの訂正不可能な障害を検出した場合、ライトスルー方式では、メインメモリやディスクのデータとキャッシュメモリに格納されたデータが等しいことが保証されているので問題ないが、ライトバック方式でメインメモリやディスクのデータとキャッシュメモリに格納されたデータが異なる場合にはデータの整合性が失われてシステムダウンや誤った結果になる可能性がある。
【0006】
特開平5−165722号公報や特開2002−358234号公報では、ECCを用いても訂正不可能でMESIプロトコルでメインメモリと一致していることが判明しているデータならばメインメモリにアクセスし、メインメモリとデータが一致していないことが判明していれば訂正不可能障害の検出報告をする技術が提案されている。しかし、いずれも障害発生時に著しい性能劣化を招くことになり、ライトバック方式でメインメモリやディスクのデータとキャッシュメモリに格納されたデータが異なる場合には訂正不可能なメモリ障害を訂正できない。
【0007】
【課題を解決するための手段】
前記課題を解決するために本発明は、キャッシュメモリの空間的局所性と時間的局所性を利用して、キャッシュヒット回数の多い当該データの複製データをキャッシュメモリ上の空きエントリに持たせることにより、メモリ容量を増やすことなく冗長性を高めることによって、メインメモリまたはディスクに対して一致していないデータに訂正不可能な障害が発生した場合でも、複製データを作成していればデータを不正に破壊することなく動作継続が可能となることを特徴とするものである。
【0008】
【発明の実施の形態】
以下、本発明の実施形態を図を参照して説明する。
【0009】
図2はキャッシュメモリの構成図を示す。キャッシュメモリはアドレス部、複製データの有無を示すインデクス(ix2)、MESI(Modified Exclusive Shared Invalid)プロトコルに従う状態フラグ(f1)、キャッシュヒットカウンタ(cnt1)、データ部を有する。アドレス部のインデクス(ix1)と複製データのインデクス(ix2)が等しい場合には、複製データがないことを示す。エントリ数以下でアドレス部のインデクス(ix1)と複製データのインデクス(ix2)が等しくない場合は、複製データがあることを示す。複製データのインデクス(ix2)がエントリ数よりも大きい場合は、複製データ自身を示す。
【0010】
図3に示すような実施形態において、キャッシュメモリはプロセッサとディスクに接続されており、プロセッサからのライト要求に対しては、データをキャッシュメモリに書き込み、フラッシュ時またはデータ消去時にディスクに書き戻す(ライトバック方式)。キャッシュメモリ制御部は、機能部を有する。
【0011】
図4はデータの読込み処理を示したものである。ディスクからキャッシュメモリ上にデータを読み込む場合、キャッシュメモリのエントリの状態フラグがMODIFIEDであるかどうか調べる(ステップS1)。状態フラグがMODIFIEDであれば、当該データまたは複製データを削除する(ステップS2)。当該エントリの状態フラグがSHAREDの場合、SHAREしている他のキャッシュメモリの状態フラグをSHAREDからMODIFIEDまたはEXCLUSIVEに書き換える(ステップ3)。
【0012】
キャッシュメモリ上のデータがキャッシュヒットすると、キャッシュヒットカウンタを更新する。図5のようにこのカウンタが予め定めたしきい値を超えた場合(ステップS4)、定められたエントリの状態フラグがINVALIDまたは複製データであれば当該データの複製データをそのエントリに作成する(ステップS5)。定められたエントリの状態フラグがINVALIDでもなく複製データでもない場合には、当該データの複製データを作成しない(ステップS6)。
【0013】
図1および図6および図7に示すように、当該データにアクセスする場合、まずキャッシュメモリ上に当該データがあるかどうかアドレスの比較を行う(ステップS7)。アドレスが一致すればデータの状態フラグとキャッシュヒットカウンタを更新し、当該データにアクセスする。
【0014】
この時、ECCを用いてエラーチェックを行い(ステップS8)、当該データに障害がない場合はそのまま使用する。当該データに訂正可能な障害が検知されると障害を修正してそのまま使用する(ステップS9)。当該データに訂正不可能な障害が検知されると、当該データの複製データが存在するかを調べる(ステップS10)。当該データの複製データが存在すれば複製データについて当該データと同様にECCを用いてエラーチェックを行う(ステップS11)。複製データにも訂正不可能な障害が検知され、状態フラグがMODIFIEDのデータであれば、プロセスを異常終了する(ステップS12)。複製データにも訂正不可能な障害が検知され、状態フラグがSHAREDであれば、メインメモリまたはディスクにアクセスし、当該データを再度読み込む(ステップS13)。複製データに訂正可能な障害が検知されれば訂正し、当該データに訂正内容を同時に反映する(ステップS14)。当該データの複製データが存在し、当該データかその複製データのどちらかにアクセスする場合、キャッシュヒットカウンタや状態フラグの情報を同時に変更する(ステップS15)。
【0015】
図8に示すように、作成した複製データまたは当該データを削除する場合は、メインメモリまたはディスクに書き戻す(ステップS16)。複製データのみを削除する場合は、当該データの複製データへのインデクスを削除時に訂正する(ステップS17)。当該データを削除する場合は、複製データの有無に関わらず削除する(ステップS18)。
【0016】
【発明の効果】
以上、本発明により前記情報処理装置において、キャッシュメモリ上のデータにECCを用いても訂正不可能な障害を検出した場合、当該データの複製データを作成することによって障害訂正が可能になる確率が上がり、当該情報処理装置の耐障害性と信頼性が向上する。
【図面の簡単な説明】
【図1】キャッシュメモリの構成を示す図。
【図2】本発明の実施例のブロック図。
【図3】データの読込み処理を説明する図。
【図4】複製データ作成処理を説明する図。
【図5】データアクセス処理を説明する図。
【図6】データアクセスのブロック図。
【図7】キャッシュメモリのブロック図。
【図8】データ削除処理を説明する図。
【符号の説明】
S1〜S18…処理ステップ通番、add1…アドレス、ix1〜ix2…インデクス、f1…状態フラグ、cnt1…キャッシュヒットカウンタ。
Claims (3)
- データを保持するメインメモリないしはディスクとCPUとの間に、障害検出と訂正を行う機能部を具備するキャッシュメモリ制御部を介在させ、CPUからデータへのアクセスはキャッシュメモリ制御部を中継し、CPUからデータへのアクセスを制御するキャッシュアクセス制御方式に適用するキャッシュメモリにおけるデータの訂正不可能障害の救出方法であって、前記キャッシュメモリ制御部は、アドレス部と、データ部と、障害の検出および訂正を行う機能部と、メインメモリまたはディスクに対するコヒーレンシ状態を保持する状態フラグと、キャッシュヒット回数を保持するキャッシュヒットカウンタと、複製データの有無を示すインデクスを格納するタグ部と、を有し、アクセス要求のあるデータが、キャッシュメモリに登録されており、予め定めたキャッシュヒット回数よりも多くヒットした場合には、定められたエントリが空きエントリであればそこに当該データの複製データを作成し、定められたエントリが空きエントリでなく複製データがあれば複製データを消去したそのエントリに当該データの複製データを作成し、
定められたエントリが空きエントリでなく複製データでもない場合は、当該データの複製データを作成しないことを特徴とするキャッシュメモリにおけるデータの訂正不可能障害の救出方法。 - アクセス要求のあったデータに対しエラーチェックし、障害がなければそのまま当該データを使用し、当該データに障害があり訂正可能ならば訂正して使用し、当該データの障害が訂正不可能ならば当該データの複製データがあるかどうかを調べ複製データがあれば複製データを読み出し、複製データがなければ当該データの状態フラグからメインメモリまたはディスクのデータと同一であるかどうかを調べ、同一であればメインメモリまたディスクから当該データを再度読み出し、同一でなければプロセスを終了させることを特徴とする請求項1の障害救出方法。
- アクセス要求のあったデータを更新する場合は、更新対象が当該データであり障害がないか訂正可能な障害があり複製データがあれば当該データと複製データを同時に更新し、更新対象が当該データであり障害がないか訂正可能な障害があり複製データがなければ当該データを更新し、当該データに訂正不可能な障害があり複製データを読み出してエラーチェックし複製データに障害がないか訂正可能な障害があれば当該データと複製データを同時に更新し、当該データに訂正不可能な障害があり複製データがないまたは当該データと複製データに訂正不可能な障害がある場合にはプロセスを終了することを特徴とする請求項1または請求項2の障害救出方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164507A JP2005004290A (ja) | 2003-06-10 | 2003-06-10 | メモリ障害処理方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003164507A JP2005004290A (ja) | 2003-06-10 | 2003-06-10 | メモリ障害処理方式 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005004290A true JP2005004290A (ja) | 2005-01-06 |
Family
ID=34091251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003164507A Pending JP2005004290A (ja) | 2003-06-10 | 2003-06-10 | メモリ障害処理方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005004290A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014061161A1 (ja) * | 2012-10-19 | 2014-04-24 | 富士通株式会社 | 記録再生装置、誤り訂正方法および制御装置 |
CN104317525A (zh) * | 2014-09-23 | 2015-01-28 | 天津国芯科技有限公司 | 一种随机存储器的扩展方法及装置 |
JP2018163539A (ja) * | 2017-03-27 | 2018-10-18 | 日本電気株式会社 | 自己診断方法および自己診断プログラム |
CN114035745A (zh) * | 2021-10-19 | 2022-02-11 | 许昌许继软件技术有限公司 | 一种flash数据存储控制方法及装置 |
-
2003
- 2003-06-10 JP JP2003164507A patent/JP2005004290A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014061161A1 (ja) * | 2012-10-19 | 2014-04-24 | 富士通株式会社 | 記録再生装置、誤り訂正方法および制御装置 |
CN104317525A (zh) * | 2014-09-23 | 2015-01-28 | 天津国芯科技有限公司 | 一种随机存储器的扩展方法及装置 |
JP2018163539A (ja) * | 2017-03-27 | 2018-10-18 | 日本電気株式会社 | 自己診断方法および自己診断プログラム |
CN114035745A (zh) * | 2021-10-19 | 2022-02-11 | 许昌许继软件技术有限公司 | 一种flash数据存储控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10789117B2 (en) | Data error detection in computing systems | |
US9430329B2 (en) | Data integrity management in a data storage device | |
US7975169B2 (en) | Memory preserved cache to prevent data loss | |
US7900084B2 (en) | Reliable memory for memory controller with multiple channels | |
US8190973B2 (en) | Apparatus and method for error correction of data values in a storage device | |
US20020161972A1 (en) | Data storage array employing block checksums and dynamic striping | |
JP5202130B2 (ja) | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 | |
US7793166B2 (en) | Methods and systems for recovering meta-data in a cache memory after a corruption event | |
US7895465B2 (en) | Memory preserved cache failsafe reboot mechanism | |
JP3693555B2 (ja) | アドレスエラーから回復するためのシステムおよび方法 | |
JP3458804B2 (ja) | 情報記録装置およびその制御方法 | |
KR20040010204A (ko) | 비휘발성 메모리의 오류 정정 방법 및 그를 이용한 플래시메모리 기억 시스템 | |
TWI451257B (zh) | 保護在直接附加儲存(das)系統中快取資料的完整性之裝置及方法 | |
US7818609B2 (en) | Methods and systems for managing corrupted meta-data in a computer system or network | |
US20100235678A1 (en) | System and Method for Data Protection Against Power Failure During Sector Remapping | |
JP2005302027A (ja) | 自律的エラー回復方法、システム、キャッシュ、およびプログラム・ストレージ装置(メモリ装置のための自律的エラー回復のための方法、システム、およびプログラム) | |
JP2001249911A (ja) | データ転送方法及びデータ処理システム | |
US10936206B1 (en) | Handling a device in a latency state in a redundant storage system | |
JP2023549630A (ja) | 信頼性のある低電圧キャッシュ動作のためのマスクされた障害の検出 | |
US10379944B2 (en) | Bit error protection in cache memories | |
JP2842809B2 (ja) | キャッシュ索引の障害訂正装置 | |
US6901551B1 (en) | Method and apparatus for protection of data utilizing CRC | |
JPH10161938A (ja) | ディスク制御装置 | |
JP2005004290A (ja) | メモリ障害処理方式 | |
US7062611B2 (en) | Dirty data protection for cache memories |