JP2005196680A - コンピュータシステム - Google Patents

コンピュータシステム Download PDF

Info

Publication number
JP2005196680A
JP2005196680A JP2004004637A JP2004004637A JP2005196680A JP 2005196680 A JP2005196680 A JP 2005196680A JP 2004004637 A JP2004004637 A JP 2004004637A JP 2004004637 A JP2004004637 A JP 2004004637A JP 2005196680 A JP2005196680 A JP 2005196680A
Authority
JP
Japan
Prior art keywords
error
cache
memory
storage device
computer system
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
Application number
JP2004004637A
Other languages
English (en)
Inventor
Tsuyoshi Tamura
剛志 田村
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004004637A priority Critical patent/JP2005196680A/ja
Publication of JP2005196680A publication Critical patent/JP2005196680A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】 ECCによって検出されたメモリエラーがソフトエラーであるかハードエラーであるかを判断するためのログを確実に収集し、訂正可能であった場合には比較的時間のかかるECC機能によるデータ訂正の発生を最小限に抑え、訂正不可能であった場合であっても安全にログの収集を行った後に確実にシステムを停止させる。
【解決手段】 主記憶装置から読み取ったデータにエラーが発生したことを検出する機能を有するメモリ制御部21と、エラーが訂正可能である場合には、訂正されたデータは通常どおりキャッシュに読み込み、そのブロックに対してキャッシュの主記憶装置への書き出し及び主記憶装置からの読み込みを抑制する機能を有するキャッシュ制御部12を備えた。
【選択図】 図3

Description

本発明は、CPUの入出力データに関するキャッシュ機構をもち、データの信頼性が重要視される、パーソナルコンピュータ、サーバー用コンピュータ等のコンピュータシステムに関する。
近年、パーソナルコンピュータにおいても、DIMMなどのメモリモジュールを使用して、ギガバイト単位のメモリが実装されるようになってきている。メモリの大容量化に伴いメモリセルサイズが微細化し、α粒子や中性子線による一時的なメモリエラー(以下ソフトエラー)の発生する確率が増大すると言われている。同時にハードウェアの故障・欠陥によるメモリの恒久的なエラー(以下ハードエラー)の増大も懸念されている。
ソフトエラーが発生した際には、ECCなどによるエラー訂正機能により修復可能であれば、問題は一時的なものでありメモリモジュールを変更する必要は無い。一方ハードエラーが発生した場合には、たとえECCによって訂正可能であってもシステムとしての信頼性が低下してしまうのでメモリモジュールを変更する必要がある。
そのため、発生したメモリエラーがソフトエラーであるのかハードエラーであるのかを特定することが重要となる。このためには同一のエラーが発生しているかどうかを長期間に亘って調べる必要があり、通常エラーのログを収集し、それを解析することで判別を行っている。
DIMMで使用されているECCは、1ビットのエラーは訂正可能であり2ビットのエラーが検出可能であり、ECCの機能を持つメモリコントローラは、これらのエラーが発生した際に割込みを発生させるような機能を持っている。
例えば、特許文献1に記載の技術では、この機能を利用しエラーが発生した場合にはBIOSに制御を移してログの収集を行い、OSに制御を戻して1ビットエラーの場合にはそのまま処理を継続し、2ビット以上のエラーの場合には、警告メッセージを表示した後に、システムを停止させることを提案している。
また、例えば、特許文献2に記載の技術では、エラーが発生したブロックの代替バッファを準備し、動作中にエラーが発生したメモリのテストを行う方法が提案されている。
特開2002−73427公報 特開平10−161939号公報
しかし特開2002−73427公報記載の技術では、1ビットエラーが発生した場合には、本来問題なく動作できる状況であるにもかかわらず、無駄な割込み処理がクリティカルな処理を行っていた場合に問題が発生する可能性がある。また2ビット以上のエラーが発生した場合は、通常BIOSもメモリ上にシャドウ(コピー)されて使われているため、信頼性が低くなっているメモリ上で動作していることに変わりなく、BIOS内部での処理中にシステムが暴走してしまう危険性を孕んでいる。
また、特開平10−161939号公報記載の技術の場合、メモリエラーが発生しない場合には、全く使用されないバッファを準備する必要があり無駄がある。代替バッファをキャッシュで代用する方法も同時に提案されているが、近年キャッシュはメモリコントローラ側ではなく、CPUの内部に実装されることがほとんどでありDMAアクセスなどCPU以外のメモリアクセスをCPUのキャッシュに置き換えるための回路は大規模になることが推測される。
本発明は、ECCによって検出されたメモリエラーがソフトエラーであるかハードエラーであるかを判断するためのログを確実に収集し、訂正可能であった場合には比較的時間のかかるECC機能によるデータ訂正の発生を最小限に抑え、訂正不可能であった場合であっても安全にログの収集を行った後に確実にシステムを停止させることを可能にするコンピュータシステムを提供することを目的とする。
上記目的を達成するために、請求項1記載の発明は、主記憶装置から読み取ったデータにエラーが発生したことを検出する機能を有するメモリ制御部と、このメモリ制御部からのエラー発生の通知を受け、エラーが訂正可能である場合には、訂正されたデータは通常どおりキャッシュに読み込み、そのブロックに対してキャッシュの主記憶装置への書き出し及び主記憶装置からの読み込みを抑制する機能を有するキャッシュ制御部を備えたコンピュータシステムを最も主要な特徴とする。
請求項2記載の発明は、主記憶装置から読み取ったデータにエラーが発生したことを検出しキャッシュ制御部に通知する機能を持つとともに、そのエラーが訂正しきれない場合には、割込みを発生させる機能を持つメモリ制御部を有し、その割込みハンドラが主記憶装置以外の場所に保存されているコンピュータシステムを最も主要な特徴とする。
請求項3記載の発明は、請求項2に記載のコンピュータシステムであって、訂正不可能なエラーによる割込みを検出した際に、キャッシュ制御部は、キャッシュ全体に対して主記憶装置へのフラッシュと主記憶装置からのフィル動作のみを抑止する機能を有するコンピュータシステムを主要な特徴とする。
請求項4記載の発明は、請求項1に記載のコンピュータシステムであって、訂正可能なエラーが発生したこと及びエラーが発生したアドレスとビット位置を特定可能なシンドロームコードを2回分以上保持し、後から参照することが可能なコンピュータシステムを主要な特徴とする。
請求項5記載の発明は、請求項4に記載のコンピュータシステムであって、エラーが発生したアドレスとビット位置を特定可能なシンドロームコードを、システムのシャットダウン時やシステムがアイドル状態の時にエラー処理を行うことを特徴とするコンピュータシステムを主要な特徴とする。
本発明によれば、主記憶装置上に訂正可能なエラーが発生した際に、対象のキャッシュラインのフラッシュ及びフィル操作を抑止することで、主記憶装置上のエラー訂正によるオーバーヘッドを発生させなくすることができる。
以下、本発明の実施の形態を図面に従って説明する。
図1は本発明の実施形態に係るコンピュータシステムのブロック図である。CPU1、メモリコントローラ2、DRAM3、フラッシュROM4、RTC5、ハードディスク6、ビデオコントローラ7、キーボードマウス8、LANコントローラ9を備えている。ここでCPU1はキャッシュ制御部及びメモリを備える。近年ではキャッシュメモリはCPU1内部にオンチップで実装されているが、本発明はCPU内部に実装されていなくても実現可能である。また、メモリコントローラ2はECC制御部を備える。
図2はキャッシュ制御部を中心としたブロック図である。キャッシュ11、キャッシュ制御部12が示される。キャッシュメモリはCPU1におけるメモリ空間の特定の領域ごとにキャッシュ11の属性を持っている。例えばコンピュータシステムの初期化や自己診断機能を有する通常BIOSと呼ばれるソフトウェアを保持するフラッシュROM4などの不揮発性のメモリが割当てられている領域に対してはリードオンリー属性、つまりキャッシュフィルのみ可の属性を持つ。またPCIデバイスなどのI/Oデバイスが持つレジスタが割当てられる領域は通常キャッシュ不可の属性を持つ。DRAMなどの主記憶装置が割当てられる領域は最大のパフォーマンスを実現するためにキャッシュフィル・ライトバック共に可の属性が設定される。
本発明では、この属性を拡張しキャッシュフィル及びキャッシュフラッシュ共に不可の属性を設定可能にし、CPU1が主記憶装置に書き込もうとするデータをキャッシュメモリにとどめ、主記憶装置を直接参照しないようにすることで、主記憶装置が正常に動作していない時であっても、主記憶装置がある時と同じようなソフトウェアを動作させることを可能にすることができる。
また近年の半導体の進歩によって、大容量のDRAMを主記憶装置として使用できるようになり、偶発的なメモリエラーや恒久的なメモリエラーの発生も増加すると言われている。メモリエラーの存在を認識できずにシステムが動作し続けることは外部記憶装置などに保存された重要なデータを破壊する可能性があるため、特にデータの信頼性が重視されるシステムでは、ECCなどのエラー訂正まで可能なメモリシステムを採用するシステムも増えてきている。
ECCを使用している場合、メモリエラーが訂正可能で偶発エラーであればそれほど気にする必要は無いが恒久的なエラーが発生している場合には、できるだけ速やかにエラーが発生したモジュールを交換する必要がある。そのためにエラー情報を不揮発性のメモリに書き込み、システム管理用のプログラムによって情報を収集可能にする方法などが取られている。
しかしこれらの不揮発性のメモリへの書き込みなどを行うに当たって、主記憶装置として使用されているDRAMには既にエラーが発生していることを検出しているので信頼性に問題があることは言うまでも無いことであり、最悪のケースとしては、この処理を行う際にも修復不可能なメモリエラーが発生し外部記憶装置に保存されているデータを破壊してしまうことも考えられる。
図3はメモリ制御部を中心としたブロック図である。ECC機能を持つメモリモジュールからの読出しで訂正可能なメモリエラーを検出した場合に、メモリ制御部21は訂正可能エラーをキュッシュ制御部12に対して通知する。このときメモリ制御部21はエラーが発生したアドレスとエラーが発生したビットの情報を持つシンドロームコードをECCエラー保持部23に保存する。
訂正可能エラー通知を受け取ったキュッシュ制御部12は、エラーが訂正された状態のデータをキャッシュ11上に保持する。これによって検出されたメモリエラーがハードエラーだった場合であっても、時間のかかるエラー訂正が連続して発生することを防ぎ、OSやアプリケーションの動作に対する影響を最小限に抑えることができる。符号22はECC制御部、24はDRAMモジュールを示す。
図4及び図5はエラー情報を記録するための概略フローである。訂正不可能なエラーが発生した場合、メモリ制御部21はキャッシュ制御部12に訂正不可能エラーが発生したことを通知すると共に、割込みを発生させる。このとき、キャッシュ制御部12は主記憶装置(通常DRAMが使用される)に対するキャッシュフラッシュ及びフィル動作を停止させるが、キャッシュメモリとしての機能は継続したままとなる。
また訂正不可能なエラーが発生したことを示す割込みを処理するためのハンドラをメモリ空間上に割り当てられたROM上に配置しておくことで、信頼性の低いメモリ上で処理を行う必要がなくなると共に、キャッシュメモリを通常の主記憶装置のように使用できるため、ハンドラをメモリを使用しないように意識して作成するような特殊なプログラミングをする必要なしに作成することができる。
図4のフローでは、訂正不可能エラー割込み時に、ECCエラー保持部23より、全てのエラー情報を収集し(S1)、エラー情報を不揮発性のメモリなどに保存する(S2)。
図5のフローでは、シャットダウン処理あるいはアイドル検出時に、ECCエラーが発生したとき(S11でY)、ECCエラー保持部23より、全てのエラー情報を収集し(S12)、エラー情報を不揮発性のメモリなどに保存する(S13)。
本発明では、主記憶装置上に訂正不可能なエラーが発生した際に、ROM上にエラー割り込みのハンドラが配置されていることで、信頼性に疑問のある主記憶装置を使用せずにエラーログの保存及びシステムの停止を確実に実施できる。
また、主記憶操作に対するキャッシュ操作を停止させることで、キャッシュメモリを通常のメモリと使用することができるため、ROM上に置かれたエラー割込みハンドラが特殊なプログラミングを必要としないで実装できる。
また、主記憶装置のエラー情報を2回以上保持することができるようにすることで、訂正可能なエラーが発生した時に、エラー訂正によるオーバーヘッドを発生させなくすることができる。
シャットダウン時やシステムがアイドル状態のときに、エラー情報を保存するようにすることで、エラー情報を保存するための処理がクリティカルな通常の処理の妨げになることを防止することができる。
本発明の実施形態に係るコンピュータシステムのブロック図。 キャッシュ制御部を中心としたブロック図。 メモリ制御部を中心としたブロック図。 エラー情報を記録するための概略フロー図。 エラー情報を記録するための概略フロー図。
符号の説明
12 キャッシュ制御部
21 メモリ制御部

Claims (5)

  1. 主記憶装置から読み取ったデータにエラーが発生したことを検出する機能を有するメモリ制御部と、このメモリ制御部からのエラー発生の通知を受け、エラーが訂正可能である場合には、訂正されたデータは通常どおりキャッシュに読み込み、そのブロックに対してキャッシュの主記憶装置への書き出し及び主記憶装置からの読み込みを抑制する機能を有するキャッシュ制御部を備えたことを特徴とするコンピュータシステム。
  2. 主記憶装置から読み取ったデータにエラーが発生したことを検出しキャッシュ制御部に通知する機能を持つとともに、そのエラーが訂正しきれない場合には、割込みを発生させる機能を持つメモリ制御部を有し、その割込みハンドラが主記憶装置以外の場所に保存されていることを特徴とするコンピュータシステム。
  3. 請求項2に記載のコンピュータシステムであって、訂正不可能なエラーによる割込みを検出した際に、キャッシュ制御部は、キャッシュ全体に対して主記憶装置へのフラッシュと主記憶装置からのフィル動作のみを抑止する機能を有することを特徴とするコンピュータシステム。
  4. 請求項1に記載のコンピュータシステムであって、訂正可能なエラーが発生したこと及びエラーが発生したアドレスとビット位置を特定可能なシンドロームコードを2回分以上保持し、後から参照することが可能なコンピュータシステム。
  5. 請求項4に記載のコンピュータシステムであって、エラーが発生したアドレスとビット位置を特定可能なシンドロームコードを、システムのシャットダウン時やシステムがアイドル状態の時にエラー処理を行うことを特徴とするコンピュータシステム。
JP2004004637A 2004-01-09 2004-01-09 コンピュータシステム Pending JP2005196680A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004004637A JP2005196680A (ja) 2004-01-09 2004-01-09 コンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004004637A JP2005196680A (ja) 2004-01-09 2004-01-09 コンピュータシステム

Publications (1)

Publication Number Publication Date
JP2005196680A true JP2005196680A (ja) 2005-07-21

Family

ID=34819206

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004004637A Pending JP2005196680A (ja) 2004-01-09 2004-01-09 コンピュータシステム

Country Status (1)

Country Link
JP (1) JP2005196680A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法
KR100951831B1 (ko) * 2006-12-22 2010-04-12 후지쯔 가부시끼가이샤 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체
JP2010512601A (ja) * 2006-12-14 2010-04-22 インテル コーポレイション メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
WO2012039169A1 (ja) * 2010-09-22 2012-03-29 三菱重工業株式会社 アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
CN102804146A (zh) * 2009-06-29 2012-11-28 桑迪士克科技股份有限公司 跟踪存储器件内的错误数据的系统和方法
JP2015011385A (ja) * 2013-06-26 2015-01-19 富士通セミコンダクター株式会社 監視回路、半導体装置およびメモリの監視方法
WO2022085218A1 (ja) * 2020-10-23 2022-04-28 オムロン株式会社 情報処理システムおよびデータベースの構築方法
JP2023507273A (ja) * 2020-05-22 2023-02-22 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、及び記憶媒体

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法
JP2010512601A (ja) * 2006-12-14 2010-04-22 インテル コーポレイション メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
KR100951831B1 (ko) * 2006-12-22 2010-04-12 후지쯔 가부시끼가이샤 정보 처리 장치, 이력 관리 방법, 및 이력 관리 프로그램을기록한 컴퓨터 판독가능한 기록 매체
CN102804146B (zh) * 2009-06-29 2015-08-19 桑迪士克科技股份有限公司 跟踪存储器件内的错误数据的系统和方法
CN102804146A (zh) * 2009-06-29 2012-11-28 桑迪士克科技股份有限公司 跟踪存储器件内的错误数据的系统和方法
JP2012532372A (ja) * 2009-06-29 2012-12-13 サンディスク テクノロジィース インコーポレイテッド ストレージデバイス内のエラーデータを追跡するシステムおよび方法
TWI505277B (zh) * 2009-06-29 2015-10-21 Sandisk Technologies Inc 在一儲存元件內追蹤錯誤資料的系統與方法
JP2012068840A (ja) * 2010-09-22 2012-04-05 Mitsubishi Heavy Ind Ltd アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
US9009579B2 (en) 2010-09-22 2015-04-14 Mitsubishi Heavy Industries, Ltd. Address translation checking device, central processing unit, and address translation checking method
WO2012039169A1 (ja) * 2010-09-22 2012-03-29 三菱重工業株式会社 アドレス変換検査装置、中央処理演算装置、及びアドレス変換検査方法
JP2015011385A (ja) * 2013-06-26 2015-01-19 富士通セミコンダクター株式会社 監視回路、半導体装置およびメモリの監視方法
JP2023507273A (ja) * 2020-05-22 2023-02-22 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、及び記憶媒体
US11775309B2 (en) 2020-05-22 2023-10-03 Beijing Baidu Netcom Science And Technology Co., Ltd. Exception stack handling method, system, electronic device and storage medium
JP7485267B2 (ja) 2020-05-22 2024-05-16 ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッド 異常スタック処理方法、システム、電子機器、記憶媒体、及びコンピュータプログラム
WO2022085218A1 (ja) * 2020-10-23 2022-04-28 オムロン株式会社 情報処理システムおよびデータベースの構築方法

Similar Documents

Publication Publication Date Title
US7409580B2 (en) System and method for recovering from errors in a data processing system
US8689041B2 (en) Method for protecting data in damaged memory cells by dynamically switching memory mode
JP4901987B1 (ja) 記憶装置、電子機器及び誤りデータの訂正方法
US8091000B2 (en) Disabling portions of memory with defects
US7945815B2 (en) System and method for managing memory errors in an information handling system
EP1659494B1 (en) Method and apparatus for classifying memory errors
US20060282471A1 (en) Error checking file system metadata while the file system remains available
US20080282037A1 (en) Method and apparatus for controlling cache
JP5202130B2 (ja) キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法
US20070294588A1 (en) Performing a diagnostic on a block of memory associated with a correctable read error
JP2015529927A (ja) 訂正不能エラーを含むアドレス範囲の通知
US6842867B2 (en) System and method for identifying memory modules having a failing or defective address
US9086990B2 (en) Bitline deletion
JP2005196680A (ja) コンピュータシステム
US20100169572A1 (en) Data storage method, apparatus and system for interrupted write recovery
US9128887B2 (en) Using a buffer to replace failed memory cells in a memory component
US8583968B2 (en) Data storage apparatus and method for writing data
CN112562774B (zh) 存储设备挂载方法、装置、计算机设备和存储介质
JPWO2016139774A1 (ja) 情報処理装置、情報処理システム
US8595570B1 (en) Bitline deletion
US11537468B1 (en) Recording memory errors for use after restarts
JP2006286135A (ja) 半導体記憶装置及びその読み書き制御方法
JP2005234855A (ja) 情報処理装置