JP5842655B2 - 情報処理装置、プログラムおよびエラー処理方法 - Google Patents
情報処理装置、プログラムおよびエラー処理方法 Download PDFInfo
- Publication number
- JP5842655B2 JP5842655B2 JP2012029357A JP2012029357A JP5842655B2 JP 5842655 B2 JP5842655 B2 JP 5842655B2 JP 2012029357 A JP2012029357 A JP 2012029357A JP 2012029357 A JP2012029357 A JP 2012029357A JP 5842655 B2 JP5842655 B2 JP 5842655B2
- Authority
- JP
- Japan
- Prior art keywords
- checksum
- module
- block
- program
- storage device
- 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.)
- Active
Links
Images
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Description
検出手段1cは、ブロックから新たに計算したチェックサムと、該ブロックに対応付けて二次記憶装置m2に格納されているチェックサムとを比較し、チェックサムが不一致のブロックを検出する。
プログラムモジュールローディング処理部11は、メモリ21にロードされたプログラムのブロック毎にチェックサムを計算し、各ブロックのチェックサムを、該ブロックに対応付けてsysVOL22に格納する。このとき、チェックサム管理用のテーブルを作成する。
図3は破壊された命令コードの特定処理を示す図である。
〔S6〕エラー監視処理部13は、図2で示したメモリ21のマルチビットエラーが生じた際の割り込み発生時、以下のチェックサムの比較処理を実施して、命令コードの破壊箇所を特定する。
なお、未解決シンボルとは、システムが提供する関数や変数が、プログラムモジュールの作成時には存在せずに未解決のままモジュールが作成され、システムのローディング処理時に解決されるシンボルのことをいう。
〔S11〕プログラムモジュールローディング処理部11は、sysVOL22内のモジュールをメモリ21にローディングした後、メモリ21上に展開されたテキスト部をsysVOL22内へコピーする。
〔S14〕生成されたタスクによってプログラムが実行される。
図5はRAID装置の構成例を示す図である。RAID装置300は、制御部であるCE(Controller Enclosure)3と、記憶部であるDE(Device Enclosure)4−1〜4−n、5−1〜5−nとを備えている。また、RAID装置300には操作端末6が接続されている。
CE3は、複数のCM(Controller Module)を含み、図の例ではCM30a、30bを有している。なお、CM30a、30bは、図2の情報処理装置1−1に該当する。
〔S1a〕オペレータは、CM30に電源を投入する。
〔S4a〕CPU31は、診断モニタモジュールの初期化処理を実行する。
〔S6a〕CPU31は、I/Oドライバモジュールの初期化処理を実行する。なお、I/Oドライバの数分、ステップS5aおよびステップS6aの処理を繰り返す。
〔S8a〕オペレータは、操作端末6から、各I/Oの試験プログラムの起動操作を実施する(操作端末6からの実行文をあらかじめファイルに記載しておくことで自動運転することも可能である)。
〔S10a〕CPU31は、試験プログラムにもとづき、該当試験を実行する。
〔S21〕プログラムモジュールローディング処理部11は、装置立ち上げ時に、メモリ21上へプログラムモジュールのローディング処理を行う。
そして、プログラムモジュールローディング処理部11は、生成タスクと実行プログラムモジュールとの関係を示すタスク・実行モジュール管理テーブルT2をsysVOL22内に作成して管理する。以降、生成されたタスクでプログラムが実行される。
〔S31〕エラー監視処理部13は、ECCマルチビットエラーの割り込み処理が生じたか否かを判断する。マルチビットエラーの割り込み処理が生じた場合はステップS32へ行き、生じていない場合は割り込み処理を抜ける。
次にプログラムモジュールローディング処理部11について詳しく説明する。図9はプログラムモジュールローディング処理部の動作フローを示す図である。プログラムモジュールローディング処理部11は、メモリ21上に展開されたテキスト部のチェックサム計算と、テキストデータのコピー処理を行う。
〔S42〕プログラムモジュールローディング処理部11は、モジュール管理テーブルを作成する。モジュール管理テーブルは、メモリ21にローディングしたモジュールのIDや、各モジュールのテキスト部のメモリ21内における先頭アドレスを登録したテーブルである。
〔S44〕プログラムモジュールローディング処理部11は、メモリ21上に展開したテキスト部のコピー処理を行い、コピーデータ管理テーブルT3を作成する。
〔S51〕プログラムモジュールローディング処理部11は、sysVOL22からプログラムモジュールをメモリ21へローディングし、メモリ21上に展開する。
〔S53〕プログラムモジュールローディング処理部11は、1KB毎にチェックサムを計算する。
図12はチェックサム管理テーブルの構成例を示す図である。チェックサム管理テーブルT1は、例えば、モジュールID、チェックサム値の数(テキスト部のブロック数)、チェックサム#1〜#nの属性を有している。
〔S61〕プログラムモジュールローディング処理部11は、sysVOL22からプログラムモジュールをメモリ21へローディングし、メモリ21上に展開する。
図14はコピーデータ管理テーブルの構成例を示す図である。コピーデータ管理テーブルT3は、例えば、モジュールID、テキスト部先頭アドレス、テキスト部サイズおよびコピーデータのLBAの属性を有している。
〔S72〕タスク生成処理部12は、メモリ21上にタスク管理テーブルを作成して管理する。タスク管理テーブルは、生成されたタスクのID、エントリ関数のアドレスなどを登録したテーブルである。
〔S74〕タスク生成処理部12は、sysVOL22上にタスク・実行モジュール管理テーブルT2を作成して管理する。その後、タスクが起動される。
〔S82〕タスク生成処理部12は、タスク・実行モジュール管理テーブルT2を作成する。例えば、タスク生成処理部12は、エントリ関数のアドレスがモジュールAのテキスト部に含まれるものならば、モジュールAに関するタスク・実行モジュール管理テーブルT2を作成して、sysVOL22内に格納する。
〔S92〕エラー監視処理部13は、取得したタスクIDと、タスク生成時に作成したタスク・実行モジュール管理テーブルT2とを照らし合わせ、そのときの実行モジュールを特定する。ここでは、実行モジュールはモジュールBと特定される。
図20は命令コードの修正処理を示す図である。エラー監視処理部13は、命令コードが破壊されている範囲を特定した後に、sysVOL22内のコピーデータ管理テーブルT3を参照し、コピーデータを使用して命令コードの修正を行う。
〔S102〕エラー監視処理部13は、sysVOL22内のコピーデータを、メモリ21内のモジュールテキスト部の命令コードが破壊されている箇所に書き込んで(上書き処理)、命令コードの修正を行う。
〔S111〕エラー監視処理部13は、エラー発生時の動作タスクIDを取得する。
〔S112〕エラー監視処理部13は、取得したタスクIDを、タスク・実行モジュール管理テーブルT2に登録されているタスクIDと照合し、実行モジュールのIDを求める。
〔S114〕エラー監視処理部13は、テキスト部の先頭アドレスから、1KB分のチェックサムを新たに計算する。
〔S117〕エラー監視処理部13は、チェックサムを計算した範囲が破壊箇所と特定する。
〔S119〕エラー監視処理部13は、該モジュールの全テキスト分に対するチェックサム比較処理が終了したか否かを判断する。終了した場合はステップS120へ行き、未終了の場合はステップS121へ行く。
〔S121〕エラー監視処理部13は、次の1KB分のチェックサムを計算する。ステップS115へ戻る。
1a 格納手段
1b 計算手段
1c 検出手段
m1 第1の記憶装置
m2 第2の記憶装置
Claims (5)
- 第1の記憶装置にロードされたプログラムのブロック毎にチェックサムを計算し、該チェックサムを該ブロックに対応付けて第2の記憶装置に格納する格納手段と、
プログラムを実行する際に生成されるタスクに対し、タスクが実行されたプログラムのモジュールの識別子と、該モジュールに対して実行されたタスクの識別子と、を少なくとも含む管理情報を管理する管理手段と、
前記第1の記憶装置にロードされたプログラムの実行中に特定のメモリエラーが発生して、該プログラムのブロック毎にチェックサムを新たに計算する場合、前記管理情報にもとづき、エラー発生時に動作していたタスクの識別子によって特定されるモジュールである関連モジュールを認識して、前記関連モジュールのチェックサムについて新たに計算する計算手段と、
前記計算手段により新たに計算された前記関連モジュールのチェックサムと、前記第2の記憶装置に格納されている、前記関連モジュールのチェックサムと、をブロック毎に比較し、チェックサムが不一致のブロックを検出する検出手段と、
前記第1の記憶装置にロードされたプログラムを、前記第2の記憶装置にコピーし、該プログラムをコピーする際は、該プログラムに関連するモジュール識別子、テキスト部先頭アドレス、テキスト部サイズ、前記第2の記憶装置への格納場所の少なくとも1つを含むコピー管理情報を作成して前記第2の記憶装置に格納するコピー手段と、
チェックサムが不一致のブロックが検出されると、該ブロックに対応するブロックを前記第2の記憶装置から読み出し、該コピー管理情報を参照して、チェックサムが不一致のブロックに対応するコピーデータの格納先を求めて、読み出した該ブロックを、チェックサムが不一致のブロックが格納されていた前記第1の記憶装置の領域に上書きで書き込む書き込み手段と、
を有する情報処理装置。 - 前記検出手段は、修正不能なメモリエラーが発生した場合に、チェックサムが不一致のブロックの検出を実行することを特徴とする請求項1に記載の情報処理装置。
- 前記検出手段は、ECC(Error Check and Correct)マルチビットエラーが発生した場合に、修正不能なメモリエラーであると判断することを特徴とする請求項2記載の情報処理装置。
- コンピュータに、
第1の記憶装置にロードされたプログラムのブロック毎にチェックサムを計算し、該チェックサムを、該ブロックに対応付けて第2の記憶装置に格納し、
プログラムを実行する際に生成されるタスクに対し、タスクが実行されたプログラムのモジュールの識別子と、該モジュールに対して実行されたタスクの識別子と、を少なくとも含む管理情報を管理し、
前記第1の記憶装置にロードされたプログラムの実行中に特定のメモリエラーが発生して、該プログラムのブロック毎にチェックサムを新たに計算する場合、前記管理情報にもとづき、エラー発生時に動作していたタスクの識別子によって特定されるモジュールである関連モジュールを認識して、前記関連モジュールのチェックサムについて新たに計算し、
新たに計算された前記関連モジュールのチェックサムと、前記第2の記憶装置に格納されている、前記関連モジュールのチェックサムと、をブロック毎に比較し、チェックサムが不一致のブロックを検出し、
前記第1の記憶装置にロードされたプログラムを、前記第2の記憶装置にコピーし、該プログラムをコピーする際は、該プログラムに関連するモジュール識別子、テキスト部先頭アドレス、テキスト部サイズ、前記第2の記憶装置への格納場所の少なくとも1つを含むコピー管理情報を作成して前記第2の記憶装置に格納し、
チェックサムが不一致のブロックが検出されると、該ブロックに対応するブロックを前記第2の記憶装置から読み出し、該コピー管理情報を参照して、チェックサムが不一致のブロックに対応するコピーデータの格納先を求めて、読み出した該ブロックを、チェックサムが不一致のブロックが格納されていた前記第1の記憶装置の領域に上書きで書き込む、
処理を実行させるプログラム。 - コンピュータが、
第1の記憶装置にロードされたプログラムのブロック毎にチェックサムを計算し、該チェックサムを、該ブロックに対応付けて第2の記憶装置に格納し、
プログラムを実行する際に生成されるタスクに対し、タスクが実行されたプログラムのモジュールの識別子と、該モジュールに対して実行されたタスクの識別子と、を少なくとも含む管理情報を管理し、
前記第1の記憶装置にロードされたプログラムの実行中に特定のメモリエラーが発生して、該プログラムのブロック毎にチェックサムを新たに計算する場合、前記管理情報にもとづき、エラー発生時に動作していたタスクの識別子によって特定されるモジュールである関連モジュールを認識して、前記関連モジュールのチェックサムについて新たに計算し、
新たに計算された前記関連モジュールのチェックサムと、前記第2の記憶装置に格納されている、前記関連モジュールのチェックサムと、をブロック毎に比較し、チェックサムが不一致のブロックを検出し、
前記第1の記憶装置にロードされたプログラムを、前記第2の記憶装置にコピーし、該プログラムをコピーする際は、該プログラムに関連するモジュール識別子、テキスト部先頭アドレス、テキスト部サイズ、前記第2の記憶装置への格納場所の少なくとも1つを含むコピー管理情報を作成して前記第2の記憶装置に格納し、
チェックサムが不一致のブロックが検出されると、該ブロックに対応するブロックを前記第2の記憶装置から読み出し、該コピー管理情報を参照して、チェックサムが不一致のブロックに対応するコピーデータの格納先を求めて、読み出した該ブロックを、チェックサムが不一致のブロックが格納されていた前記第1の記憶装置の領域に上書きで書き込む、
ことを特徴とするエラー処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012029357A JP5842655B2 (ja) | 2012-02-14 | 2012-02-14 | 情報処理装置、プログラムおよびエラー処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012029357A JP5842655B2 (ja) | 2012-02-14 | 2012-02-14 | 情報処理装置、プログラムおよびエラー処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013167937A JP2013167937A (ja) | 2013-08-29 |
JP5842655B2 true JP5842655B2 (ja) | 2016-01-13 |
Family
ID=49178307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012029357A Active JP5842655B2 (ja) | 2012-02-14 | 2012-02-14 | 情報処理装置、プログラムおよびエラー処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5842655B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180049834A (ko) * | 2016-11-03 | 2018-05-14 | 현대오토에버 주식회사 | 차량 제어 프로그램을 복구하는 제어 장치 및 그 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08179996A (ja) * | 1994-12-27 | 1996-07-12 | Toshiba Corp | メモリ異常検出装置 |
JPH0944410A (ja) * | 1995-07-26 | 1997-02-14 | Kyocera Corp | ロードモジュールの管理方式 |
JP2000132462A (ja) * | 1998-10-27 | 2000-05-12 | Hitachi Ltd | プログラム自己修復方式 |
JP2001318806A (ja) * | 2000-05-11 | 2001-11-16 | Nec Corp | プログラムの障害解析データ作成方法 |
-
2012
- 2012-02-14 JP JP2012029357A patent/JP5842655B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013167937A (ja) | 2013-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10180866B2 (en) | Physical memory fault mitigation in a computing environment | |
US7979749B2 (en) | Method and infrastructure for detecting and/or servicing a failing/failed operating system instance | |
US9026865B2 (en) | Software handling of hardware error handling in hypervisor-based systems | |
US20090006745A1 (en) | Accessing snapshot data image of a data mirroring volume | |
US20090150721A1 (en) | Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System | |
US9141464B2 (en) | Computing device and method for processing system events of computing device | |
US20110161726A1 (en) | System ras protection for uma style memory | |
US11379330B2 (en) | Information handling systems and related methods for testing memory during boot and during operating system (OS) runtime | |
US10514972B2 (en) | Embedding forensic and triage data in memory dumps | |
JP2015114873A (ja) | 情報処理装置および監視方法 | |
JP5440073B2 (ja) | 情報処理装置,情報処理装置の制御方法および制御プログラム | |
US20050289333A1 (en) | Method to provide system state information in a platform agnostic manner | |
US10635554B2 (en) | System and method for BIOS to ensure UCNA errors are available for correlation | |
JP5842655B2 (ja) | 情報処理装置、プログラムおよびエラー処理方法 | |
US11126486B2 (en) | Prediction of power shutdown and outage incidents | |
CN115359834A (zh) | 一种盘仲裁区域检测方法、装置、设备及可读存储介质 | |
CN111143125B (zh) | 一种mce错误处理方法、装置及电子设备和存储介质 | |
TW201137608A (en) | System and method for handling system failure | |
US9804805B2 (en) | Disk array apparatus, control method therefor, and storage medium | |
US11953985B1 (en) | Dial-home and template based automatic recovery of virtual machine guest operating system | |
JP7074291B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US11593191B2 (en) | Systems and methods for self-healing and/or failure analysis of information handling system storage | |
TWI795950B (zh) | 硬碟監控方法、電子裝置及存儲介質 | |
CN109343986B (zh) | 处理内存故障的方法与计算机系统 | |
JP2009238003A (ja) | ディスクアレイ制御装置、ディスクアレイ制御方法、ディスクアレイ制御プログラム、及び該プログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141007 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150508 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150512 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150708 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150928 |
|
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: 20151020 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151102 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5842655 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |