JP5574230B2 - 障害処理方法および計算機 - Google Patents
障害処理方法および計算機 Download PDFInfo
- Publication number
- JP5574230B2 JP5574230B2 JP2010103911A JP2010103911A JP5574230B2 JP 5574230 B2 JP5574230 B2 JP 5574230B2 JP 2010103911 A JP2010103911 A JP 2010103911A JP 2010103911 A JP2010103911 A JP 2010103911A JP 5574230 B2 JP5574230 B2 JP 5574230B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- failure
- address
- access
- software
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Detection And Correction Of Errors (AREA)
- Debugging And Monitoring (AREA)
Description
(1)Core部分では、命令実行に起因するメモリの読み出しに関してUEが検出される。本ケースではソフトウェアに致命的エラー(Fatal error)が伝達され、当該サーバ上のソフトウェアが全て停止するシステム停止に至る。
(2)Uncore部分では、メモリの周期的な読み出し/再書き込みを行うスクラビング(Scrubbing)処理と、キャッシュからメモリへのデータ書き戻し(Write Back)処理に関してUEが検出される。本ケースではPoisonが生成された後、ソフトウェアに回復可能なエラー(Recoverable Error)が伝達される。
(a)ヒープ・スタック領域のうち、未初期化のメモリ領域。
図1は、本発明の実施形態の仮想計算機システムの構成を示すブロック図である。
次に、物理計算機10上で仮想計算機30を実現するソフトウェアの構成の主要部と、制御対象となるハードウェア要素について、図2を参照しながら詳述する。
本実施形態では障害部位として、スクラビングで検出されるメモリ素子の障害(以下、メモリ障害と記載する)と、キャッシュ105からメモリ90へのWrite Back時に検出されるキャッシュの障害(以下、キャッシュ障害と記載する)との両方に対して処理を実行する。本実施形態で対応する障害の条件を(表1)に記載する。
次に、障害検出からPoisonが消滅する各過程における、ゲストメモリ320の遷移について説明する。
図11は、本発明の実施形態のハイパバイザ20が実行する障害処理の全体像を説明するフローチャートである。
図12は、本発明の実施形態のS1040において実行されるキャッシュおよびメモリ障害検出時の処理を説明するフローチャートである。
図14は、本発明の実施形態のS1050において実行されるメモリ90の保護領域の読み出しに対応する処理を説明するフローチャートである。
図15は、本発明の実施形態のS1070において実行されるI/Oデバイス障害に対応する処理を説明するフローチャートである。
図16は、本発明の実施形態のS1060において実行される保護領域の書き込みに対応する処理を説明するフローチャートである。
本発明の一形態によれば、ハイパバイザ20は、ゲスト40によるメモリの読み出しおよび書き込みを監視して、ゲスト40がPoisonを読み出すTRUE DUEとPoisonを読み出さないFALSE DUEとを判別できる。また、ハイパバイザ20は、ゲスト40の実行を読み出しの直前で停止させるため、TRUE DUEが確定した後もシステム停止を回避できる。更に、ゲストの書き込みによってFALSE DUEが確定した場合には、監視を解除してゲストの実行を再開できるため、VMやアプリケーションの動作を継続できる。これらの効果によって、Poisonを読み出すとシステム停止を招くXeonを用いて、障害の影響範囲を限定できる。
20 ハイパバイザ
30 仮想計算機
40 ゲスト
60 I/Oデバイス
70 CPU
80 コンソール
90 メモリ
140 代替ページ
150 仮置ページ
160 障害ページ
200 I/O割り当て表
220 障害処理部
230 Poison表
250 CPU用メモリマップ・保護表
260 I/O用メモリマップ・保護表
320 ゲストメモリ
700 Poison
710 正常データ
720 更新データ
Claims (8)
- プロセッサと、前記プロセッサに接続されるメモリとを備える計算機における障害処理方法であって、
前記プロセッサは、
前記メモリの所定のアドレスへのアクセスを禁止するメモリ保護機能を備え、
前記メモリに格納される、第1のソフトウェアと前記第1のソフトウェアの実行を監視する第2のソフトウェアとを実行し、
前記第2のソフトウェアは、障害が発生した前記メモリのアドレスに関するアドレス情報と、前記アドレスに対するアクセス状況に関するアクセス関連情報とを含む障害情報を保持し、
前記障害情報に含まれる前記アクセス関連情報は、前記障害が発生したメモリのアドレスに対して書き込みがされたことを示す第1のアクセス情報、または、前記障害が発生したメモリのアドレスに対して書き込みがされていないことを示す第2のアクセス情報のいずれかを格納し、
前記方法は、
前記第2のソフトウェアが、前記メモリにおける障害の発生を検出する第1のステップと、
前記第2のソフトウェアが、前記障害が発生したメモリのアドレスとともに、前記第2のアクセス情報を前記障害情報に追加する第2のステップと、
前記第2のソフトウェアが、前記メモリ保護機能の設定を変更することによって前記障害が発生したメモリのアドレスへのアクセスを禁止し、前記障害が発生したメモリのアドレスに対するアクセス状況を監視する第3のステップと、
前記第2のソフトウェアが、前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスを検出した場合に、障害処理を実行する第4のステップと、を含み、
前記第4のステップは、前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが、前記障害が発生したメモリのアドレスに対する読み出し、または、前記障害が発生したメモリのアドレスに対する書き込み、であるか否かを判定する第5のステップを含み、
前記第5のステップは、
前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが書き込みであると判定された場合に、前記アクセス関連情報を、前記第2のアクセス情報から前記第1のアクセス情報に変更する第6のステップを含み、
また、前記第5のステップは、
前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが読み出しであると判定された場合に、前記障害情報に含まれる前記アクセス関連情報が前記第1のアクセス情報及び第2のアクセス情報のいずれであるかを判定することによって、前記第1のソフトウェアからの読み出しが検出されたアドレスのアクセス状況を判定する第7のステップと、
前記アクセス関連情報が前記第2のアクセス情報であると判定された場合に、前記障害処理を実行する第8のステップと、を含むことを特徴とする障害処理方法。 - 前記第6のステップは、
前記障害が発生したメモリのアドレスに対して書き込まれるデータを保持する第9のステップと、
前記メモリ保護機能の設定を変更することによって、前記アクセス関連情報が前記第1のアクセス情報であるメモリのアドレスに対する前記第1のソフトウェアからのアクセスを許可する第10のステップと、を更に含むことを特徴とする請求項1に記載の障害処理方法。 - 前記メモリは、前記第1のソフトウェアによって使用される第1のメモリ領域と、前記障害処理を実行するときの使用される第2のメモリ領域とを含み、
前記第2のステップは、更に、前記第2のメモリ領域を前記第1のソフトウェアに割り当てる第11のステップを含むことを特徴とする請求項1に記載の障害処理方法。 - 前記第2のステップは、更に、前記第1のメモリ領域に格納されるデータを前記第2のメモリ領域に格納する第12のステップを含むことを特徴とする請求項3に記載の障害処理方法。
- プロセッサと、前記プロセッサに接続されるメモリとを備える計算機であって、
前記プロセッサは、
前記メモリの所定のアドレスへのアクセスを禁止するメモリ保護機能を備え、
前記メモリに格納される、第1のソフトウェアと前記第1のソフトウェアの実行を監視する第2のソフトウェアとを実行し、
前記プロセッサは、前記第2のソフトウェアを実行することによって前記メモリにおける障害の発生を検出し、前記障害が発生したときに前記メモリのアドレスに関するアドレス情報と、前記アドレスに対するアクセス状況に関するアクセス関連情報とを含む障害情報を保持し、
前記障害情報に含まれる前記アクセス関連情報は、前記障害が発生したメモリのアドレスに対して書き込みがされたことを示す第1のアクセス情報、または、前記障害が発生したメモリのアドレスに対して書き込みがされていないことを示す第2のアクセス情報のいずれかを格納し、
前記プロセッサは、前記第2のソフトウェアを実行することによって前記障害が発生したメモリのアドレスとともに、前記アクセス関連情報として前記第2のアクセス情報を前記障害情報に追加し、
前記プロセッサは、前記第2のソフトウェアを実行することによって前記メモリ保護機能の設定を変更することによって前記障害が発生したメモリのアドレスへのアクセスを禁止し、前記障害が発生したメモリのアドレスに対するアクセス状況を監視し、
前記プロセッサは、前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスを検出した場合に、障害処理を実行し、
前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスを検出した場合に、前記プロセッサは、当該アクセスが、前記障害が発生したメモリのアドレスに対する読み出し、または、前記障害が発生したメモリのアドレスに対する書き込み、であるか否かを判定し、
前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが書き込みであると判定された場合に、前記プロセッサは、前記アクセス関連情報を、前記第2のアクセス情報から前記第1のアクセス情報に変更し、
前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが読み出しであると判定された場合に、前記プロセッサは、前記障害情報に含まれる前記アクセス関連情報が前記第1のアクセス情報及び第2のアクセス情報のいずれであるかを判定することによって、前記第1のソフトウェアからの読み出しが検出されたアドレスのアクセス状況を判定し、
前記障害情報に含まれるアクセス関連情報が前記第2のアクセス情報であると判定された場合に、前記プロセッサは、前記障害処理を実行することを特徴とする計算機。 - 前記プロセッサは、前記障害が発生したメモリのアドレスに対する前記第1のソフトウェアからのアクセスが書き込みであると判定された場合に、前記障害が発生したメモリのアドレスに対して書き込まれるデータを保持し、
前記プロセッサは、前記メモリ保護機能の設定を変更することによって、前記アクセス関連情報が前記第1のアクセス情報であるメモリのアドレスに対する前記第1のソフトウェアからのアクセスを許可することを特徴とする請求項5に記載の計算機。 - 前記メモリは、前記第1のソフトウェアによって使用される第1のメモリ領域と、前記障害処理を実行するときの使用される第2のメモリ領域とを含み、
前記プロセッサは、前記第2のソフトウェアを実行することによって、前記障害が発生したメモリのアドレスを前記障害情報に追加した後に、前記第2のメモリ領域を前記第1のソフトウェアに割り当てることを特徴とする請求項5に記載の計算機。 - 前記プロセッサは、前記第2のソフトウェアを実行することによって、前記障害が発生したメモリのアドレスを前記障害情報に追加した後に、更に、前記第1のメモリ領域に格納されるデータを前記第2のメモリ領域に格納することを特徴とする請求項7に記載の計算機。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010103911A JP5574230B2 (ja) | 2010-04-28 | 2010-04-28 | 障害処理方法および計算機 |
US13/079,155 US8627140B2 (en) | 2010-04-28 | 2011-04-04 | Failure management method and computer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010103911A JP5574230B2 (ja) | 2010-04-28 | 2010-04-28 | 障害処理方法および計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011233007A JP2011233007A (ja) | 2011-11-17 |
JP5574230B2 true JP5574230B2 (ja) | 2014-08-20 |
Family
ID=44859275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010103911A Expired - Fee Related JP5574230B2 (ja) | 2010-04-28 | 2010-04-28 | 障害処理方法および計算機 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8627140B2 (ja) |
JP (1) | JP5574230B2 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105812101B (zh) | 2011-01-05 | 2019-06-21 | 太阳专利信托公司 | 终端装置和通信方法 |
WO2013080288A1 (ja) * | 2011-11-28 | 2013-06-06 | 富士通株式会社 | メモリ縮退方法及び情報処理装置 |
US20130227343A1 (en) * | 2012-02-28 | 2013-08-29 | O2Micro, Inc. | Circuits and Methods for Replacing Defective Instructions |
WO2014051550A1 (en) | 2012-09-25 | 2014-04-03 | Hewlett-Packard Development Company, L.P. | Notification of address range including non-correctable error |
WO2014081611A2 (en) * | 2012-11-20 | 2014-05-30 | Unisys Corporation | Error recovery in securely partitioned virtualization system with dedicated resources |
US9122791B2 (en) | 2013-03-05 | 2015-09-01 | International Business Machines Corporation | Identifying a storage location for a storage address requested during debugging |
GB2515536A (en) * | 2013-06-27 | 2014-12-31 | Ibm | Processing a guest event in a hypervisor-controlled system |
US9430313B2 (en) | 2013-09-10 | 2016-08-30 | International Business Machines Corporation | Generation of debugging log list in a blade server environment |
US9317452B1 (en) * | 2013-11-18 | 2016-04-19 | Amazon Technologies, Inc. | Selective restrictions to memory mapped registers using an emulator |
US9323607B2 (en) * | 2014-04-29 | 2016-04-26 | Seagate Technology Llc | Data recovery once ECC fails to correct the data |
US9817738B2 (en) * | 2015-09-04 | 2017-11-14 | Intel Corporation | Clearing poison status on read accesses to volatile memory regions allocated in non-volatile memory |
KR20200092036A (ko) * | 2019-01-24 | 2020-08-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI722447B (zh) * | 2019-06-03 | 2021-03-21 | 瑞昱半導體股份有限公司 | 傳輸介面的錯誤處理方法以及相關的錯誤處理架構 |
US11169870B2 (en) | 2020-01-15 | 2021-11-09 | Vmware, Inc. | Managing the migration of virtual machines in the presence of uncorrectable memory errors |
US11586513B2 (en) | 2020-11-17 | 2023-02-21 | Google Llc | Live migrating virtual machines to a target host upon fatal memory errors |
US11550673B2 (en) * | 2020-11-17 | 2023-01-10 | Google Llc | Virtual machines recoverable from uncorrectable memory errors |
US11977431B2 (en) | 2022-03-15 | 2024-05-07 | Google Llc | Memory error prevention by proactive memory poison recovery |
US12019503B2 (en) | 2022-05-18 | 2024-06-25 | Samsung Electronics Co., Ltd. | Systems and methods for expandable memory error handling |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1344474A (en) * | 1971-03-04 | 1974-01-23 | Plessey Co Ltd | Fault detection and handling arrangements for use in data proces sing systems |
JPS60258659A (ja) * | 1984-06-05 | 1985-12-20 | Nec Corp | 部分的フアイル閉塞制御方式 |
US5265227A (en) * | 1989-11-14 | 1993-11-23 | Intel Corporation | Parallel protection checking in an address translation look-aside buffer |
JPH06222971A (ja) * | 1993-01-26 | 1994-08-12 | Hitachi Ltd | 電子計算機システムにおける障害回復方法およびジャーナル取得方法 |
GB2376313A (en) * | 2001-06-04 | 2002-12-11 | Hewlett Packard Co | Indicating to a user if they are connected to a trusted computer platform |
US7739576B2 (en) * | 2006-08-31 | 2010-06-15 | Micron Technology, Inc. | Variable strength ECC |
JP4897578B2 (ja) * | 2007-06-06 | 2012-03-14 | 株式会社日立製作所 | 仮想計算機の制御プログラムおよび仮想計算機システム |
JP2009217768A (ja) * | 2008-03-13 | 2009-09-24 | Nec Corp | データベースにおけるパーティション障害管理方法およびシステム |
GB0813833D0 (en) * | 2008-07-29 | 2008-09-03 | Transitive Ltd | Apparatus and method for handling page protection faults in a computing system |
US8255613B2 (en) * | 2009-04-30 | 2012-08-28 | International Business Machines Corporation | Wear-leveling and bad block management of limited lifetime memory devices |
-
2010
- 2010-04-28 JP JP2010103911A patent/JP5574230B2/ja not_active Expired - Fee Related
-
2011
- 2011-04-04 US US13/079,155 patent/US8627140B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011233007A (ja) | 2011-11-17 |
US20110271152A1 (en) | 2011-11-03 |
US8627140B2 (en) | 2014-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5574230B2 (ja) | 障害処理方法および計算機 | |
US9037873B2 (en) | Method and system for preventing tampering with software agent in a virtual machine | |
RU2723668C1 (ru) | Фильтрация событий для приложений безопасности виртуальных машин | |
US9003223B2 (en) | Physical memory fault mitigation in a computing environment | |
ES2893618T3 (es) | Gestión del uso del almacenamiento por múltiples invitados localizables de un entorno de ordenador | |
US8479198B2 (en) | Hypervisor and server apparatus capable of restoring data inside a failure area | |
US9535807B2 (en) | Recovering from uncorrected memory errors | |
US20040019835A1 (en) | System abstraction layer, processor abstraction layer, and operating system error handling | |
WO2018153027A1 (zh) | 一种数据迁移方法及装置 | |
JP4783392B2 (ja) | 情報処理装置および障害回復方法 | |
US10990468B2 (en) | Computing system and error handling method for computing system | |
EP3365794B1 (en) | Techniques for protecting memory pages of a virtual computing instance | |
US10120738B2 (en) | Hypervisor techniques for performing non-faulting reads in virtual machines | |
US10114948B2 (en) | Hypervisor-based buffer overflow detection and prevention | |
Tan et al. | Tinychecker: Transparent protection of vms against hypervisor failures with nested virtualization | |
US9535789B2 (en) | Transparent and lightweight recovery from hardware memory errors | |
US20160259731A1 (en) | Memory management | |
WO2022193768A1 (zh) | 内存读写指令的执行方法及计算设备 | |
JP2023532835A (ja) | 致命的なメモリエラー時におけるターゲットホストへの仮想マシンのライブマイグレート | |
US10592267B2 (en) | Tree structure for storing monitored memory page data | |
US10430223B2 (en) | Selective monitoring of writes to protected memory pages through page table switching | |
US10712952B1 (en) | Metadata caches in a reliable distributed computing system | |
US10509662B1 (en) | Virtual devices in a reliable distributed computing system | |
KR20160106497A (ko) | 메모리 관리 | |
CN118076946A (zh) | 通过主动的存储器中毒恢复来防止存储器错误 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120309 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130125 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140421 |
|
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: 20140603 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5574230 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |