JP5348120B2 - Program, method and mechanism for collecting panic dump - Google Patents
Program, method and mechanism for collecting panic dump Download PDFInfo
- Publication number
- JP5348120B2 JP5348120B2 JP2010277134A JP2010277134A JP5348120B2 JP 5348120 B2 JP5348120 B2 JP 5348120B2 JP 2010277134 A JP2010277134 A JP 2010277134A JP 2010277134 A JP2010277134 A JP 2010277134A JP 5348120 B2 JP5348120 B2 JP 5348120B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- dump
- operation mode
- information
- processing apparatus
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、障害発生時のパニックダンプ採取のためのプログラム、方法、及び機構に関する。 The present invention relates to a program, a method, and a mechanism for collecting a panic dump when a failure occurs.
情報通信技術が普及するに従って、情報処理装置、特に基幹システムで運用されるサーバシステムには高い信頼性が要求される。そのため、システム運用中に障害が発生した場合には、すみやかに情報を収集し、運用を継続させることが不可欠である。 As information communication technology becomes widespread, high reliability is required for information processing apparatuses, particularly server systems that operate in backbone systems. Therefore, if a failure occurs during system operation, it is essential to collect information promptly and continue operation.
一般に、致命的な障害の発生によりシステムの運用を継続できなくなった場合には、情報採取の手段として、障害発生時のメモリデータをダンプする、いわゆるパニックダンプ機能が用いられている。 Generally, when the system operation cannot be continued due to the occurrence of a fatal failure, a so-called panic dump function for dumping memory data at the time of the failure is used as a means for collecting information.
パニックダンプは、システム運用中に、システムを継続動作させることが不可能な異常を検出した場合に、その時点でのメモリ内容を保存するものであり、通常はOS(Operating System)又は、カーネル内で動作するプログラムがダンプ処理を行っている。 A panic dump is used to save the memory contents at that time when an abnormality that prevents the system from operating continuously is detected during system operation, and is usually in the OS (Operating System) or in the kernel. A program that runs on is performing dump processing.
例えば、CPUがカーネル内のプログラムを動作させている場合に、異常検出の割り込み信号を受け付けると、CPUはカーネルに組み込まれているメモリダンププログラムに制御を移行し、メモリダンプ採取を行う。 For example, when the CPU is operating a program in the kernel and receives an abnormality detection interrupt signal, the CPU shifts control to a memory dump program incorporated in the kernel and collects a memory dump.
メモリダンププログラムは、カーネルに組み込まれているので、カーネル内のシステムテーブルを解析して障害解析に必要な情報を最適のダンプサイズでダンプ可能である。 Since the memory dump program is incorporated in the kernel, it is possible to analyze the system table in the kernel and dump the information necessary for failure analysis with an optimal dump size.
しかし、異常の原因が、例えば、カーネル内で動作するプログラム自体、制御データの不整合、カーネル(プログラム)が格納されているメモリの破壊、ハードウェアの異常等であった場合には、ダンプ処理において異常の原因となった資源(例えば、破壊されたメモリ)を必要とする可能性がある。そのような場合、ダンプ処理の実行中に再度異常が発生するためダンプ処理に失敗する結果となる。 However, if the cause of the abnormality is, for example, the program itself operating in the kernel, inconsistency in control data, destruction of memory storing the kernel (program), hardware abnormality, etc., dump processing May require resources (eg, corrupted memory) that caused the anomalies. In such a case, the dump process fails because the abnormality occurs again during the dump process.
また、異常の種類によってはシステムがハングアップし、パニックダンプ処理まで処理が進めないためメモリデータをダンプすることができない場合もある。 In addition, depending on the type of abnormality, the system may hang up, and the process cannot proceed to the panic dump process, so the memory data may not be dumped.
このような問題を解決するための手段として、メモリデータを保存したままシステムにリセットをかけ、ダンプしたいメモリデータ以外のハード資源を再設定してダンプ処理プログラムを起動しなおし、その環境でメモリデータをダンプするスタンドアロンダンプが知られている。 To solve this problem, reset the system with the memory data saved, reset the hardware resources other than the memory data that you want to dump, restart the dump processing program, and use the memory data in that environment. Stand-alone dump to dump is known.
例えば、上述のようにカーネルに組み込まれたメモリダンププログラムよるメモリダンプ採取に失敗し、システムがハングした場合、メモリに格納されているデータを保存した状態のままシステムにリセットをかけ、カーネルに組み込まれたメモリダンププログラムとは別の専用のメモリダンププログラム(スタンドアロンダンププログラム)を起動してメモリダンプを採取する。 For example, if memory dump collection by the memory dump program installed in the kernel fails as described above and the system hangs, the system is reset with the data stored in the memory preserved, and incorporated in the kernel A memory dump is collected by starting a dedicated memory dump program (stand-alone dump program) different from the memory dump program.
スタンドアロンダンプによって、異常が発生した環境(カーネルの制御データの不整合やメモリ破壊など)とは無関係にダンプ採取が行え、一時的なハードウェアの異常である場合には、一旦ハードウェアをリセットすることにより、正常に動作できる可能性が高まる。また、恒常的なハードウェアの異常である場合には、リセットによるシステムの再起動時に実行されるPOST(Power On Self Test)診断やハードウェアの初期化処理で異常を検出できる可能性が高まる。 Stand-alone dump allows dumps to be collected regardless of the environment in which the error occurred (kernel control data inconsistency, memory corruption, etc.), and if there is a temporary hardware error, the hardware is reset once This increases the possibility of normal operation. In the case of a permanent hardware abnormality, there is a high possibility that the abnormality can be detected by a POST (Power On Self Test) diagnosis executed when the system is restarted due to a reset or a hardware initialization process.
しかし、従来のスタンドアロンダンプでは以下のような問題点があった。
1)システムにリセットをかけ、スタンドアロンダンプをダウンロードするため、スタンドアロンダンプが上書きするメモリ領域のデータをあらかじめ保存しておく必要がある。これは、スタンドアロンダンプをロード(格納)する前にOSをブートするためのブートファームウェアで行う必要がある。
そのため、ブートファームウェア側でメモリデータを一時待避させるだけのハードウェア資源を持つか、またはディスクなどにブートファームウェアが制御可能な専用パーティションを確保し、そこにファイルとして保存する必要がある。
専用ハードウェア資源を持つ場合にはコスト的に不利である。また、専用パーティションを持つ場合には、接続ディスクに必ずメモリデータの一時待避のための専用パーティションが存在することを保証しなければならないが、接続ディスクに専用パーティションが確保されているかいないかはブートファームウェアからは制御できないため、ディスクのパーティション管理が複雑になるという問題がある。
However, the conventional stand-alone dump has the following problems.
1) In order to reset the system and download the stand-alone dump, it is necessary to save in advance the data in the memory area overwritten by the stand-alone dump. This must be done with boot firmware for booting the OS before loading (storing) a stand-alone dump.
Therefore, it is necessary that the boot firmware has a hardware resource sufficient to temporarily save the memory data, or a dedicated partition that can be controlled by the boot firmware is secured on a disk or the like and stored as a file there.
It is disadvantageous in terms of cost if it has dedicated hardware resources. If you have a dedicated partition, you must ensure that there is a dedicated partition for temporarily saving memory data on the connected disk. Since it cannot be controlled from firmware, there is a problem that disk partition management becomes complicated.
2)障害発生時のメモリデータを保存した状態でスタンドアロンダンプをブートするため、メモリ上のブートファームウェアやOSローダ(OSをメモリにロードするためのプログラム)のデータは、システムのブート処理で完全に上書きされてしまう。
そのため、カーネルとこれらブートファームウェアやOSローダの間で異常が発生した場合には、ファームウェアのデータはダンプデータとして採取できないため調査が困難となってしまう問題がある。
2) Since the stand-alone dump is booted with the memory data at the time of failure occurrence, the boot firmware and OS loader (program for loading the OS into the memory) data on the memory are completely stored in the system boot process. It will be overwritten.
Therefore, when an abnormality occurs between the kernel and these boot firmware and OS loader, there is a problem that it is difficult to investigate because firmware data cannot be collected as dump data.
3)サーバシステムは通常、数GB又は数十GB以上のメインメモリを搭載しているため、パニックダンプで全メモリのデータを採取することは現実的ではない。そのため、通常は調査に必要なオペレーティングシステムのカーネルテキスト、カーネルデータなどの領域だけを採取する。この領域の情報を取得するためにはカーネル内のテーブルを検索し解析する必要があるが、これらの情報はカーネルの版数によって異なっているため、オペレーティングシステムと別プログラムであるスタンドアロンダンプを使用する場合にはオペレーティングシステムの版数に対応したスタンドアロンダンププログラムを用意する必要がある。そのため、スタンドアロンダンプの版数は対応するオペレーティングシステムの版数と合っている必要がある。もし、合っていない場合には、カーネル内のテーブルを検索することができないため、ダンプに失敗するか、実装する全メモリデータをダンプしなくてはいけなくなってしまう。 3) Since the server system normally has a main memory of several GB or several tens GB, it is not realistic to collect data of all memories by panic dump. For this reason, usually only the areas such as kernel text and kernel data of the operating system necessary for investigation are collected. In order to obtain information in this area, it is necessary to search and analyze the table in the kernel, but since this information differs depending on the version of the kernel, use a stand-alone dump that is a separate program from the operating system. In this case, it is necessary to prepare a stand-alone dump program corresponding to the operating system version. Therefore, the version number of the stand-alone dump needs to match the version number of the corresponding operating system. If it does not match, the table in the kernel cannot be searched, so dumping fails or all memory data to be mounted must be dumped.
特許文献1には、これらの問題点の1)および2)を解決するために、システムの主記憶メモリ領域に、通常稼働時には使用されないシステムダンプ採取プログラム使用領域を、オペレーティングシステムが使用するオペレーティングシステム使用領域とは別に設け、ハングアップ等によりシステムダンプが採取できないときに、計算機システムをリセットした後、オペレーティングシステムをオペレーティングシステム使用領域に再ロードする前に、外部記憶装置からシステムダンプ採取プログラムをシステムダンプ採取プログラム使用領域にロードして実行することによりオペレーティングシステム使用領域のシステムダンプを採取することを特徴とするシステムについて開示されている。 In Patent Document 1, in order to solve these problems 1) and 2), an operating system in which an operating system uses a system dump collection program use area that is not used during normal operation in a main memory area of the system. Set up a system dump collection program from an external storage device after resetting the computer system and before reloading the operating system to the operating system usage area when a system dump cannot be collected due to hang-up etc. A system is disclosed that collects a system dump in an operating system use area by loading and executing the dump collection program use area.
しかし、オペレーティングシステムとは別のスタンドアロンダンプシステムでは、上記3)で指摘した問題点を解決することができない。すなわち、特許文献1で開示されているシステムにおいても、静的または動的にアロケーションされた主記憶装置上の領域を管理するテーブル情報からシステムダンプを取得すべき領域のリストを予め作成しておくことにより、このリストに示された領域のみシステムダンプを採取するようにしているので、対象とする領域のリストを予め用意しておかなければならない。 However, the stand-alone dump system different from the operating system cannot solve the problem pointed out in 3) above. That is, even in the system disclosed in Patent Document 1, a list of areas for which a system dump is to be acquired is created in advance from table information for managing areas on a main storage device that is statically or dynamically allocated. Thus, since a system dump is collected only for the areas shown in this list, a list of target areas must be prepared in advance.
このリストの情報を作成するための情報は通常オペレーティングシステムの版数に強く依存しているため、オペレーティングシステムの版数管理とリストの版数管理が複雑となる問題が解決できない。 Since the information for creating the list information usually depends strongly on the version number of the operating system, the problem of complicated version management of the operating system and version management of the list cannot be solved.
さらに、システムダンプを取得すべき領域のリストは予め作成しておかなければいけないので、オペレーティングシステムが動作中に動的に割り当てた領域をきめ細かく予測できず、システム構成が複雑な大規模サーバシステムの場合には必要な情報を効率よく採取することが難しいという問題がある。また、もし、パッチにより版数合わせに失敗した場合、必要な領域が採取不可能となってしまう問題がある。 In addition, since a list of areas for which system dumps should be acquired must be created in advance, the area dynamically allocated by the operating system during operation cannot be predicted in detail, and a large-scale server system with a complicated system configuration cannot be predicted. In some cases, it is difficult to efficiently collect necessary information. Moreover, there is a problem that a necessary area cannot be collected if the version number matching fails due to a patch.
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする問題は、障害発生時のパニックダンプによるメモリデータ採取処理を確実に行なうことを可能にするパニックダンプ採取のためのプログラム、方法、及び機構を提供することである。 The present invention has been made in view of the above-described problems, and the problem to be solved is to collect a panic dump that makes it possible to reliably perform a memory data collection process using a panic dump when a failure occurs. It is to provide a program, method and mechanism.
請求項1に記載の発明は、情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域をオペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得処理と、該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納処理と、前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出処理と、該ダンプ対象領域に格納されている情報を読み出して出力するダンプ処理と、を備えるパニックダンプ採取処理をコンピュータに実行させるためのプログラムである。 According to the first aspect of the present invention, in response to the operation mode designation information for controlling the operation of the information processing apparatus, the storage area included in the information processing apparatus is used in an operating system other than the first area. The area definition information acquisition process for acquiring the second area definition information from the area definition information means storing the second area definition information to be drawn in the area 2, and the operating area in the area based on the second area definition information An operating system storage process for storing a system; a dump target area calculation process for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area; A dump process for reading out and outputting information stored in the dump target area, Is a program for causing the line.
請求項1に記載の発明によると、前記ダンプ対象領域算出処理によって、前記領域定義情報取得処理によって取得した前記第2の領域における所定の領域に対応する前記第1の領域(障害発生時に使用されていた領域)における所定の領域を算出して、該算出されたダンプ対象領域のデータを出力するので、障害発生時に使用していた領域のデータを確実に取得することが可能となる。 According to the first aspect of the present invention, the first area (used when a failure occurs) corresponding to a predetermined area in the second area acquired by the area definition information acquisition process by the dump target area calculation process. In this case, the predetermined area is calculated and the data of the calculated dump target area is output, so that it is possible to reliably acquire the data of the area used when the failure occurred.
また、前記第1の領域、すなわち、障害発生時に使用されていた領域で動作していたオペレーティングシステムと、前記第2の領域で動作するオペレーティングシステムは、同一の領域管理(例えば、メモリ管理テーブルによって、オペレーティングシステム等が動作するために必要なプログラムを含むデータのメモリアドレスを管理する場合など)を行なうので、前記ダンプ対象領域算出処理によって、前記領域定義情報取得処理によって取得した前記第2の領域における所定の領域に対応する前記第1の領域における所定の領域を容易に算出することが可能となる。 In addition, the operating system that operates in the first area, that is, the area that was used when the failure occurred, and the operating system that operates in the second area have the same area management (for example, a memory management table). The second area acquired by the area definition information acquisition process by the dump target area calculation process, for example, when managing a memory address of data including a program necessary for operating the operating system or the like. It is possible to easily calculate a predetermined area in the first area corresponding to the predetermined area.
請求項2に記載の発明は、情報処理装置が動作するために必要な構成要素に障害が発生したことを検出して通知する障害通知処理と、該障害通知処理による通知に応じて、前記情報処理装置の動作を制御する運用モード指定情報を運用モード指定情報記憶手段に記憶する運用モード指定情報記憶処理と、前記障害発生時に使用されていた領域の状態を保持したまま、前記情報処理装置を再起動する再起動処理と、前記運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域をオペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得処理と、該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納処理と、前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出処理と、該ダンプ対象領域に格納されている情報を読み出して出力するダンプ処理と、を備えるパニックダンプ採取処理をコンピュータに実行させるためのプログラムである。 According to a second aspect of the present invention, there is provided a failure notification process for detecting and notifying that a failure has occurred in a component required for the information processing apparatus to operate, and the information according to the notification by the failure notification process An operation mode designation information storage process for storing operation mode designation information for controlling the operation of the processing apparatus in the operation mode designation information storage means, and the information processing apparatus while maintaining the state of the area used when the failure occurs In response to the restart process to be restarted and the operation mode designation information, the second storage area of the information processing apparatus is defined as a second area other than the first area used for the operating system. Region definition information acquisition processing for acquiring the second region definition information from the region definition information means storing the region definition information, and operating the region based on the second region definition information. An operating system storage process for storing a system; a dump target area calculation process for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area; A program for causing a computer to execute a panic dump collection process including a dump process for reading and outputting information stored in the dump target area.
請求項2に記載の発明によると、請求項1に記載の発明の効果に加えて、障害が発生すると、再起動処理によって、情報処理装置(又は、情報処理装置を構成する構成要素、及びそれらを制御するためのプログラム)が再起動し、前記領域定義情報取得処理によって前記情報処理装置が備える記憶手段の領域を複数の領域に画するための領域定義情報を記憶した領域定義情報手段から、オペレーティングシステムに使用していた第1の領域以外の第2の領域についての領域定義情報を取得し、該取得した前記領域定義情報に基づく領域にオペレーティングシステムがローディングされるので、前記障害発生時に使用されていた領域を保持したままリセット処理を行なうことが可能となる。 According to the invention described in claim 2, in addition to the effect of the invention described in claim 1, when a failure occurs, the information processing apparatus (or the constituent elements constituting the information processing apparatus, and the components are configured by restart processing) From the area definition information means storing area definition information for drawing the area of the storage means included in the information processing apparatus into a plurality of areas by the area definition information acquisition process. The area definition information for the second area other than the first area used for the operating system is acquired, and the operating system is loaded in the area based on the acquired area definition information. It is possible to perform the reset process while retaining the area that has been set.
請求項3に記載の発明は、前記ダンプ対象領域算出処理は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する処理であることを特徴とする請求項1又は2に記載のパニックダンプ採取を行なうためのプログラムである。 According to a third aspect of the present invention, in the dump target area calculation process, the dump target area is set to an offset between a head position of the first area and a head position of the second area, and the second area. The program for collecting a panic dump according to claim 1, wherein the program is calculated based on a difference between the predetermined area and the predetermined area.
請求項3に記載の発明によると、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって、前記第2の領域における所定の領域に対応する前記第1の領域を、算出することによって、ダンプ対象領域を容易に算出して取得することが可能となる。 According to a third aspect of the present invention, the second region is determined by the difference between the offset between the leading position of the first region and the leading position of the second region and a predetermined region in the second region. By calculating the first area corresponding to the predetermined area in the area, it is possible to easily calculate and acquire the dump target area.
請求項4に記載の発明は、情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域を、オペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得処理と、該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納処理と、前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出処理と、該ダンプ対象領域に格納されている情報を読み出して出力するダンプ処理と、を行なうパニックダンプ採取方法である。 According to a fourth aspect of the present invention, in accordance with operation mode designation information for controlling the operation of the information processing apparatus, the area of the storage means included in the information processing apparatus is other than the first area used for the operating system. An area definition information acquisition process for acquiring the second area definition information from the area definition information means storing the second area definition information drawn in the second area, and an area based on the second area definition information. An operating system storing process for storing an operating system; a dump target area calculating process for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area; And a dump process for reading out and outputting information stored in the dump target area.
請求項5に記載の発明は、情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域をオペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得手段と、該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納手段と、前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出手段と、該ダンプ対象領域に格納されている情報を読み出して出力するダンプ手段と、を備えるパニックダンプ採取機構である。 According to the fifth aspect of the present invention, in response to the operation mode designation information for controlling the operation of the information processing apparatus, a storage area included in the information processing apparatus is used in an operating system other than the first area. An area definition information acquisition unit that acquires the second area definition information from an area definition information unit that stores the second area definition information to be imaged in the second area, and an area based on the second area definition information. Operating system storage means for storing a system; dump target area calculation means for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area; A panic dump collection mechanism comprising: dumping means for reading out and outputting information stored in the dump target area.
請求項4及び請求項5に記載の発明によっても、請求項1と同様に、障害が発生すると、前記ダンプ対象領域算出処理(又は、前記ダンプ対象領域算出手段)によって、前記領域定義情報取得処理によって取得した前記第2の領域における所定の領域に対応する前記第1の領域(障害発生時に使用されていた領域)における所定の領域を算出して、該算出されたダンプ対象領域のデータを出力するので、障害発生時に使用していた領域のデータを確実に取得することが可能となる。 Also according to the invention of claim 4 and claim 5, as in the case of claim 1, when a failure occurs, the area definition information acquisition process is performed by the dump target area calculation process (or the dump target area calculation unit). The predetermined area in the first area (area used at the time of failure occurrence) corresponding to the predetermined area in the second area acquired by calculating the dump target area is output. Therefore, it is possible to reliably acquire the data of the area that was used when the failure occurred.
また、前記第1の領域、すなわち、障害発生時に使用されていた領域で動作していたオペレーティングシステムと、前記第2の領域で動作するオペレーティングシステムは、同一の領域管理を行なうので、前記ダンプ対象領域算出処理(又は、前記ダンプ対象領域算出手段)によって、前記領域定義情報取得処理によって取得した前記第2の領域における所定の領域に対応する前記第1の領域における所定の領域を容易に算出することが可能となる。 In addition, since the operating system operating in the first area, that is, the area used when the failure occurs, and the operating system operating in the second area perform the same area management, the dump target The predetermined area in the first area corresponding to the predetermined area in the second area acquired by the area definition information acquisition process is easily calculated by the area calculating process (or the dump target area calculating means). It becomes possible.
以上のように、本発明によると、障害発生時のパニックダンプによるメモリデータ採取処理を確実に行なうことを可能にするパニックダンプ採取のためのプログラム、方法、及び機構を提供することができる。 As described above, according to the present invention, it is possible to provide a program, a method, and a mechanism for collecting a panic dump that can surely perform a memory data collection process using a panic dump when a failure occurs.
以下、本発明の実施形態について図1から図8に基づいて説明する。
図1は、本発明の実施例に係る構成の主要部の例を示す図である。
同図に示す情報処理装置1は、情報処理装置の各構成要素を制御し本実施例に係るプログラムに応じて処理を行なう図示しないCPU2と、本実施例に係るROMファームウェア及びブートファームウェア等を格納するROM(Read Only Memory)3と、ROMファームウェアが使用する環境変数及びブートファームウェアが使用する環境変数(例えば、ROMファームウェア運用モード指定フラグやブートファームウェア運用モード指定フラグ等)などを格納するNVRAM(Non Volatile RAM)やFlash Memory等で構成される不揮発性メモリ4と、ブートファームウェアやOSローダ、OSカーネル等を格納するメインメモリ5と、を少なくとも備える情報処理装置である。
Hereinafter, embodiments of the present invention will be described with reference to FIGS. 1 to 8.
FIG. 1 is a diagram illustrating an example of a main part of a configuration according to an embodiment of the present invention.
The information processing apparatus 1 shown in FIG. 1 stores a CPU 2 (not shown) that controls each component of the information processing apparatus and performs processing according to the program according to the present embodiment, ROM firmware, boot firmware, and the like according to the present embodiment. Read only memory (ROM) 3 and environment variables used by ROM firmware and environment variables used by boot firmware (for example, ROM firmware operation mode designation flag, boot firmware operation mode designation flag, etc.) It is an information processing apparatus including at least a nonvolatile memory 4 configured by (volatile RAM) or Flash Memory, and a main memory 5 for storing boot firmware, an OS loader, an OS kernel, and the like.
また、本実施例に係る情報処理装置1は、OSローダ及びOSカーネルを記憶する外部記録装置6(例えば、磁気ディスク装置)と接続される。なお、同図に示す外部記録装置6は、情報処理装置1外部に接続されているが内部にあってもよい。
The information processing apparatus 1 according to the present embodiment is connected to an external recording device 6 (for example, a magnetic disk device) that stores an OS loader and an OS kernel. The
本体装置の電源が投入されると、ROM3に格納されたROMファームウェアが起動し、ハードウェアの初期化と診断を実行し、ハードウェアの構成認識処理を行う。構成認識処理では、実装CPU2の数や実装メモリ(実装されているメインメモリ5)の構成などの認識を行い、構成情報をROMファームウェア環境変数格納領域に格納する。
When the main unit is powered on, the ROM firmware stored in the
ROMファームウェアは、ROM3の所定のアドレスからブートファームウェアデータを読み出しメインメモリ5に格納し、メインメモリ5上に実行可能なブートファームウェアとして展開して、ブートファームウェアに制御を渡す。
The ROM firmware reads boot firmware data from a predetermined address in the
ここで、ROMファームウェアはブートファームウェアに制御を渡す時に構成認識処理で認識したハードウェアのメモリ構成情報を渡すか、または、メモリの構成情報を通知するメソッドを提供する。 Here, the ROM firmware provides a method for passing the memory configuration information of the hardware recognized in the configuration recognition process when passing control to the boot firmware or notifying the memory configuration information.
ブートファームウェアは、システム全体のメモリの実装状態を認識するとともに、OSローダ、及びOSをこのメモリ実装環境下で動作させる。
また、OS起動後も一部のプログラムは、メインメモリ5上に常駐し、OSローダやOSに対して各種のサービスを提供する。
The boot firmware recognizes the memory mounting state of the entire system and operates the OS loader and the OS in this memory mounting environment.
Further, some programs remain on the main memory 5 after the OS is started, and provide various services to the OS loader and the OS.
したがって、OSローダやOSカーネルは、ハードウェアの情報を直接見ることなく、抽象化された構成情報(例えば、現実に実装されたメモリの構成情報ではなく、ブートファームウェアによって通知されたメモリの構成情報)を見ることによって、個々のハードウェアの仕様に依存しないで汎用性を高めるようになっている。
また、第1のメインメモリ領域と第2のメインメモリ領域は、ROMファームウェアからブートファームウェアに通知されるメモリの構成情報に基づいて決定される。
Therefore, the OS loader and the OS kernel do not directly view the hardware information, but abstract configuration information (for example, memory configuration information notified by the boot firmware, not actual memory configuration information). ) To improve versatility without depending on individual hardware specifications.
The first main memory area and the second main memory area are determined based on the memory configuration information notified from the ROM firmware to the boot firmware.
以上に説明した本実施例に係るメインメモリ5は、第1のメインメモリ領域7と第2のメインメモリ領域8とで構成されるが、論理的に2つのメモリ領域に分割されていればよく、物理的には1つメモリで構成されてもよい。また、複数の(物理的に分割された)メモリで構成されてもよい。また、論理的に2以上のメモリ領域(例えば、第1のメモリ領域、第2のメインメモリ領域、及び第3のメインメモリ領域)に分割してもよい。
The main memory 5 according to the present embodiment described above is composed of the first main memory area 7 and the second
図2Aから図4に、情報処理装置1に電源が投入された場合、及び再起動の場合(OSがパニックを起こした場合の再起動処理)について処理のフローチャートを示し、図面に基づいて処理を説明する。 FIG. 2A to FIG. 4 show processing flowcharts when the information processing apparatus 1 is turned on and when it is restarted (restart processing when the OS panics), and the processing is performed based on the drawings. explain.
図2Aは、本発明の実施例に係るROMファームウェアの処理を示すフローチャートである。
情報処理装置1が電源投入、又は再起動されると(ステップS201)、情報処理装置1に備わるCPU2は、ROM3の所定のアドレスに格納されているROMファームウェアを参照し、命令に従ってハードウェアの初期化処理を行なう(ステップS202)。例えば、メインメモリ5や外部記録装置6等のハードウェアの初期化を行なう。
FIG. 2A is a flowchart showing processing of the ROM firmware according to the embodiment of the present invention.
When the information processing apparatus 1 is turned on or restarted (step S201), the CPU 2 provided in the information processing apparatus 1 refers to the ROM firmware stored at a predetermined address of the
ステップS202においてハードウェアの初期化処理が完了すると、CPU2は、例えば、電源制御を行なうファームウェアから通知されるリセット要因(ここでは、ROMファームウェア運用モード指定フラグに係る運用モード情報ではなく、例えば、電源スイッチによって電源が投入されたのか、或は、再起動によって電源が投入されたのか等の情報のことを示す)が電源投入に因るものか、又は再起動に因るものかを判別する(ステップS203)。 When the hardware initialization process is completed in step S202, the CPU 2 determines, for example, the reset factor notified from the firmware performing power control (in this case, not the operation mode information related to the ROM firmware operation mode designation flag, for example, the power supply It is determined whether the power is turned on by the switch or information indicating whether the power is turned on by restarting, etc.) is due to the power-on or the restarting ( Step S203).
リセット要因が電源投入に因る場合は、CPU2は、処理をステップS204に移行し、ROM3内の所定のアドレスに格納されているROMファームウェア運用モード指定フラグをシステム運用モードに初期化する。そして、ROMファームウェア運用モード指定フラグの初期化が完了すると、処理をステップS205に移行する。
If the reset factor is due to power-on, the CPU 2 moves the process to step S204, and initializes the ROM firmware operation mode designation flag stored at a predetermined address in the
また、ステップS203において、リセット要因が電源投入でない場合(再起動である場合)は、CPU2は、ROMファームウェア運用モード指定フラグの初期化を行なわずに処理をステップS205に移行する。 In step S203, if the reset factor is not power-on (restart), the CPU 2 proceeds to step S205 without initializing the ROM firmware operation mode designation flag.
ステップS205において、CPU2は、情報処理装置1を構成する構成要素に関する実装情報等(以下、単に構成情報という)の認識処理を行なう。
例えば、情報処理装置1に備わりステップS202において正常に初期化処理が完了したCPU2やメモリ等の構成情報(例えば、CPU2の実装数やメモリの実装容量など)を各構成要素に備わるレジスタを読み出すことによって、構成情報を取得する。
In step S <b> 205, the CPU 2 performs a process of recognizing mounting information and the like (hereinafter simply referred to as configuration information) related to the components constituting the information processing apparatus 1.
For example, the configuration information of the CPU 2 and the memory, etc., which is provided in the information processing apparatus 1 and has been normally initialized in step S202 (for example, the number of CPUs 2 mounted, the memory mounting capacity, etc.) is read out from the register provided in each component. To obtain the configuration information.
CPU2やメモリ等の構成情報の認識処理が完了すると、CPU2は、処理をステップS206に移行し、実装されているCPU2及びメモリ情報をROM3内のROMファームウェア環境変数格納領域に格納する。
When the recognition processing of the configuration information such as the CPU 2 and the memory is completed, the CPU 2 shifts the processing to step S206, and stores the mounted CPU 2 and memory information in the ROM firmware environment variable storage area in the
さらに、ステップS208において、CPU2は、ROM3内の所定のアドレスに格納されているROMファームウェア運用モード指定フラグを読出し、システム運用モードであるかを判別する処理を行なう。
Further, in step S208, the CPU 2 reads a ROM firmware operation mode designation flag stored at a predetermined address in the
本実施例では、ROMファームウェア運用モード指定フラグは1バイトのデータを使用し、当該フラグが0xFFの場合にダンプ運用モードと判別している。また、当該フラグが0xFF以外である場合には、システム運用モードであると判別している。ただし、当該フラグは、上述の場合に限定するものではなく、ダンプ運用モードとシステム運用モードとが判別できるように当該フラグを予め決めた値を使用すればよい。 In this embodiment, the ROM firmware operation mode designation flag uses 1-byte data, and the dump operation mode is determined when the flag is 0xFF. When the flag is other than 0xFF, it is determined that the system operation mode is set. However, the flag is not limited to the above case, and a value determined in advance may be used so that the dump operation mode and the system operation mode can be distinguished.
ステップS208において、CPU2が、システム運用モードでないと判断した場合には、処理をステップS209に移行し、ステップS205の処理で取得した実装メモリ情報からダンプ運用モードで使用するメモリ情報テーブル、すなわち、第2のメインメモリ領域を定義したメモリ情報テーブルを作成し、ブートファームウェアにシステムメモリテーブルとして渡す。 In step S208, if the CPU 2 determines that the system operation mode is not selected, the process proceeds to step S209, and the memory information table used in the dump operation mode from the mounted memory information acquired in the process of step S205, that is, the first A memory information table defining two main memory areas is created and passed to the boot firmware as a system memory table.
ここで、システムメモリテーブルとは、ブートファームウェア、OSローダ、及びOSカーネル(又は、OSカーネルを含むOS)がアクセス可能なメモリ領域(又は、メモリ構成)を定義するテーブルである。 Here, the system memory table is a table that defines a memory area (or memory configuration) that can be accessed by the boot firmware, the OS loader, and the OS kernel (or the OS including the OS kernel).
したがって、以降に説明する処理(図2Aから図4に示す処理)において、ダンプ運用モードで動作している場合には、第2のメインメモリ領域に対する処理となる(例えば、ステップS213のブートファームウェアを展開する領域や、図3のステップS305のOSローダを展開する領域、図4のステップS401のOSカーネルを展開する領域など)。
ステップS209によって、ROMファームウェアは、例えば、図2Bに示すテーブルを作成する。
Therefore, in the processing described below (the processing shown in FIGS. 2A to 4), when operating in the dump operation mode, the processing is performed on the second main memory area (for example, the boot firmware in step S213 is replaced with An area to be expanded, an area to expand the OS loader in step S305 in FIG. 3, an area to expand the OS kernel in step S401 in FIG. 4, and the like).
By step S209, the ROM firmware creates, for example, the table shown in FIG. 2B.
図2Bに示すメモリ情報テーブルは、ROMファームウェアがダンプ運用モード時に、0x000000C000000000から始まる512MBの連続領域だけがブートファームウェア、OSカーネル、及びOSカーネルによって使用可能な領域として定義した場合の例である。 The memory information table shown in FIG. 2B is an example in which only the 512 MB continuous area starting from 0x000000C000000000000 is defined as an area usable by the boot firmware, the OS kernel, and the OS kernel when the ROM firmware is in the dump operation mode.
同図に示すメモリ情報テーブルでは、例えば、最初の128MBの領域をブートファームウェアが使用し、次の358MBの領域をOSローダ及びOSカーネルが使用する。 In the memory information table shown in the figure, for example, the first 128 MB area is used by the boot firmware, and the next 358 MB area is used by the OS loader and the OS kernel.
また、ステップS208において、CPU2が、システム運用モードであると判断した場合には、処理をステップS210に移行し、ステップS205の処理で取得した実装メモリ情報からシステム運用で使用するメモリ情報テーブル、すなわち、第1のメインメモリ領域を定義したメモリ情報テーブルを作成し、ブートファームウェアにシステムメモリテーブルとして渡す。 If the CPU 2 determines in the system operation mode in step S208, the process proceeds to step S210, and the memory information table used in the system operation from the mounted memory information acquired in the process in step S205, that is, Then, a memory information table defining the first main memory area is created and passed to the boot firmware as a system memory table.
したがって、以降に説明する処理(図2Aから図4に示す処理)において、システム運用モードで動作している場合には、第1のメインメモリ領域に対する処理となる(例えば、ステップS213のブートファームウェアを展開する領域や、図3のステップS305のOSローダを展開する領域、図4のステップS401のOSカーネルを展開する領域など)。 Therefore, in the processing described below (the processing shown in FIGS. 2A to 4), when operating in the system operation mode, the processing is performed on the first main memory area (for example, the boot firmware in step S213 is changed). An area to be expanded, an area to expand the OS loader in step S305 in FIG. 3, an area to expand the OS kernel in step S401 in FIG. 4, and the like).
ステップS210によって、ROMファームウェアは、例えば、図2C又は図2Dに示すテーブルを作成する。 By step S210, the ROM firmware creates a table shown in FIG. 2C or 2D, for example.
図2Cに示すメモリ情報テーブルは、4つの256GBごとの空間の先頭に4GBの連続領域があり、アドレス0x00000000F8000000からの128MBの領域をブートファームウェアが使用し、その他の領域をブートファームウェア、OSローダ、及びOSカーネルが使用する場合のテーブルを示している。 The memory information table shown in FIG. 2C has a 4 GB continuous area at the beginning of each space of four 256 GB, the boot firmware uses the 128 MB area from the address 0x00000000F8000000, and the other areas use the boot firmware, OS loader, and A table when the OS kernel is used is shown.
すなわち、ROMファームウェアが、システム運用モード時には、メインメモリ5全てを第1のメインメモリ領域として定義した場合の例である(したがって、この場合には、ダンプ運用モード時のみ、第1のメインメモリ領域と第2のメインメモリ領域とを定義することになる)。 That is, the ROM firmware is an example in which all the main memory 5 is defined as the first main memory area when the system operation mode is set (therefore, in this case, the first main memory area is only set in the dump operation mode). And a second main memory area).
また、図2Dに示すメモリ情報テーブルは、4つの256GBごとの空間の先頭に4GBの連続領域があり、0x00000000F8000000から128MBをブートファームウェアが使用し、0x000000C000000000から始まる連続領域は最後の512MBが隠されており、OSカーネル等からは、連続領域としては4GB−512MBしかアクセスできない場合のテーブルを示している。 In addition, the memory information table shown in FIG. 2D has a 4 GB continuous area at the beginning of each space of four 256 GB, the boot firmware uses 128 MB from 0x00000000F8000000, and the last 512 MB of the continuous area starting from 0x000000C000000000000 is hidden. The table shows a case where only 4 GB-512 MB can be accessed from the OS kernel or the like as a continuous area.
すなわち、ROMファームウェアが、0x000000C000000000から始まる連続領域は最後の512MBを第2のメインメモリ領域と定義し、それ以外の領域を第1のメインメモリ領域として定義した場合の例である。したがって、システム運用モード時においては、ブートファームウェア、OSローダ、及びOSカーネルからは、上記第1のメインメモリ領域のみアクセス可能な状態である。 That is, in the ROM firmware, the continuous area starting from 0x000000C000000000000 is an example in which the last 512 MB is defined as the second main memory area and the other areas are defined as the first main memory area. Therefore, in the system operation mode, only the first main memory area can be accessed from the boot firmware, the OS loader, and the OS kernel.
メモリ情報テーブルの作成が完了すると、CPU2は、処理をステップS211に移行し、ブートファームウェアに渡すシステムメモリテーブルに設定されているメモリ領域について、メモリの初期化処理及び診断処理を実行する。 When the creation of the memory information table is completed, the CPU 2 shifts the processing to step S211, and executes memory initialization processing and diagnostic processing for the memory area set in the system memory table passed to the boot firmware.
例えば、メモリ初期化処理は、メモリのデータに所定のパターン(例えば、オール0)を書き込むことによって行なわれる。また、メモリ診断処理は、所定のパターンについて書き込み読出しを行い、書き込んだパターンと読み出したパターンとの比較を行ない一致するかで異常を判断することによって行なうことができる。 For example, the memory initialization process is performed by writing a predetermined pattern (for example, all 0) in the memory data. Further, the memory diagnosis process can be performed by writing and reading a predetermined pattern, comparing the written pattern with the read pattern, and determining whether there is a match or not.
また、本実施例においては、システムメモリテーブルに設定されている使用可能なメモリ領域の全領域をメモリ診断の対象としている。すなわち、システム運用モードの場合には、システム運用時に使用するメモリ領域の全領域をメモリ診断の対象とし、同様に、ダンプ運用モードの場合には、ダンプ運用時に使用するメモリ領域の全領域をメモリ診断の対象としている。 In the present embodiment, all available memory areas set in the system memory table are targeted for memory diagnosis. That is, in the system operation mode, the entire memory area used during system operation is subject to memory diagnosis. Similarly, in the dump operation mode, the entire memory area used during dump operation is stored in memory. It is targeted for diagnosis.
ステップS211において、メモリの初期化処理及び診断処理が完了すると、CPU2は、処理をステップS212に移行し、システムメモリテーブルで管理するメモリ領域からブートファームウェアを格納するメモリのアドレスを決定する。 When the memory initialization process and the diagnostic process are completed in step S211, the CPU 2 shifts the process to step S212, and determines the address of the memory storing the boot firmware from the memory area managed by the system memory table.
例えば、システムメモリテーブルで定義されているメモリ領域のブートファームウェアを格納する開始アドレス(当該メモリ領域からのオフセットアドレス)を、ROM3のROMファームウェア環境変数格納領域の所定のアドレスから読み出す。
For example, the start address (offset address from the memory area) for storing the boot firmware in the memory area defined in the system memory table is read from the predetermined address in the ROM firmware environment variable storage area of the
ブートファームウェアを格納するメモリのアドレスが決定すると、CPU2は、処理をステップS213に移行し、ROM3内の所定のアドレスに格納されているブートファームウェアを読出して、当該アドレスに読み出したブートファームウェアを展開する。
When the address of the memory storing the boot firmware is determined, the CPU 2 shifts the processing to step S213, reads the boot firmware stored at a predetermined address in the
ステップS213において、ブートファームウェアのメインメモリ5への展開処理が完了すると、CPU2は、処理をステップS214に移行し、システムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグの値(設定値)をパラメータとしてブートファームウェアに制御を渡すこととなる。 When the process of expanding the boot firmware into the main memory 5 is completed in step S213, the CPU 2 moves the process to step S214, and sets the pointer to the system memory table and the value (setting value) of the ROM firmware operation mode designation flag as parameters. Control to the boot firmware.
ここで、システムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグの値をパラメータとしてブートファームウェアに制御を渡す処理は、例えば、ブートファームウェアがアクセス可能なメモリ領域の所定のアドレスに、システムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグとを格納し、さらに、ブートファームウェアが展開されているメインメモリ5の命令開始アドレスを読み出してPC(Program Counter)にセットすればよい。 Here, the process of passing control to the boot firmware using the pointer to the system memory table and the value of the ROM firmware operation mode designation flag as parameters, for example, to the system memory table at a predetermined address in a memory area accessible by the boot firmware. And a ROM firmware operation mode designation flag are stored, and an instruction start address of the main memory 5 where the boot firmware is expanded is read out and set in a PC (Program Counter).
以上に説明した処理によって、メインメモリ5上にブートファームウェアが展開され、以後はブートファームウェアの命令に従ってCPU2が動作することとなる。 Through the processing described above, the boot firmware is expanded on the main memory 5, and thereafter, the CPU 2 operates according to the boot firmware command.
図3は、本発明の実施例に係るブートファームウェアの処理を示すフローチャートである。
図2Aに示したステップS214において、CPU2の制御が、ROMファームウェアからブートファームウェアに移行すると、CPU2は、ステップS301に処理を移行し、ROMファームウェアからシステムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグの値をパラメータとして取得する。
FIG. 3 is a flowchart showing the boot firmware process according to the embodiment of the present invention.
In step S214 shown in FIG. 2A, when the control of the CPU 2 shifts from the ROM firmware to the boot firmware, the CPU 2 shifts the process to step S301, and a pointer from the ROM firmware to the system memory table and the ROM firmware operation mode designation flag. Get the value of as a parameter.
ここで、例えば、図2Aに示したステップS214において、ROMファームウェアによって、ブートファームウェアがアクセス可能なメモリ領域の所定のアドレスに、システムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグとを格納した場合には、当該所定のアドレスをCPU2が参照することによって、ROMファームウェアが設定したシステムメモリテーブルへのポインタとROMファームウェア運用モード指定フラグとをパラメータとして取得することが可能である。 Here, for example, in step S214 shown in FIG. 2A, the ROM firmware stores a pointer to the system memory table and a ROM firmware operation mode designation flag at a predetermined address in a memory area accessible by the boot firmware. By referring to the predetermined address, the CPU 2 can acquire the pointer to the system memory table set by the ROM firmware and the ROM firmware operation mode designation flag as parameters.
システムメモリテーブルのポインタとROMファームウェア運用モード指定フラグを取得すると、CPU2は、ステップS302に処理を移行し、取得したシステムメモリテーブルのポインタとROMファームウェア運用モード指定フラグを、不揮発性メモリ4のブートファームウェア環境変数を格納する領域におけるシステムメモリテーブルのポインタを格納する領域とブートファームウェア運用モード指定フラグを格納する領域に格納する。 When the CPU 2 acquires the pointer of the system memory table and the ROM firmware operation mode designation flag, the CPU 2 shifts the processing to step S302, and uses the acquired pointer of the system memory table and the ROM firmware operation mode designation flag as the boot firmware of the nonvolatile memory 4. Stored in an area for storing a pointer of the system memory table in an area for storing environment variables and an area for storing a boot firmware operation mode designation flag.
そして、ステップS303において、パラメータとして受け取ったシステムメモリテーブルからブートファームウェアのメモリを管理するためのメモリ管理テーブルを作成する。 In step S303, a memory management table for managing the boot firmware memory is created from the system memory table received as a parameter.
ブートファームウェアのメモリ管理テーブルが作成されると、CPU2は、制御をステップS304に移行し、ブートファームウェア用ドライバ(例えば、OSローダやOSカーネルが格納されている外部記録装置6にアクセスするためのドライバ(SCSIドライバなど)やネットワーク装置を動作させてネットワーク通信を可能にするためのドライバなど)のローディング及処理び初期化処理を行なう。
When the memory management table of the boot firmware is created, the CPU 2 shifts the control to step S304, and the boot firmware driver (for example, a driver for accessing the
そして、外部記録装置6からOSローダを読出してメインメモリ5に展開し(ステップS306)、CPU2の制御をブートファームウェアからOSローダに渡すこととなる(ステップS306)。
Then, the OS loader is read from the
この場合も、図2AのステップSS214の処理と同様に、OSローダが展開されているメインメモリ5の命令開始アドレスを読み出してPCにセットすればよい。
以上に説明した処理によって、メインメモリ5上にOSローダが展開され、以後は、OSローダの命令に従ってCPU2が動作することとなる。
In this case as well, the instruction start address of the main memory 5 in which the OS loader is expanded may be read and set in the PC as in the process of step SS214 in FIG. 2A.
Through the processing described above, the OS loader is expanded on the main memory 5, and thereafter, the CPU 2 operates according to the instruction of the OS loader.
図4は、本発明の実施例に係るOSローダ及びOSの処理を示すフローチャートである。
図3に示したステップS306において、CPU2の制御が、ブートファームウェアからOSローダに移行すると、CPU2は、ステップS401に処理を移行し、外部記録装置6からOSカーネルデータを読み出して、メインメモリ5に展開(格納)する。
FIG. 4 is a flowchart showing the processing of the OS loader and the OS according to the embodiment of the present invention.
In step S306 shown in FIG. 3, when the control of the CPU 2 shifts from the boot firmware to the OS loader, the CPU 2 shifts the process to step S401, reads the OS kernel data from the
OSカーネルデータをメインメモリ5に展開する処理が完了すると、CPU2は、処理をステップS402に移行し、メインメモリ5に展開したOSカーネルデータを実行可能な形式に配置し、OSカーネルに制御を移行する(例えば、CPU2がOSカーネルの命令の先頭アドレスから実行される)こととなる。 When the process of expanding the OS kernel data to the main memory 5 is completed, the CPU 2 shifts the process to step S402, arranges the OS kernel data expanded in the main memory 5 in an executable format, and transfers control to the OS kernel. (For example, the CPU 2 is executed from the head address of the OS kernel instruction).
CPU2の制御がOSカーネルに移行すると、処理をステップS403に移行し、OSカーネルの初期化処理が行なわれる。
OSカーネルの初期化処理が完了すると、CPU2は、ブートファームウェアのサービスルーチンを呼び出し、不揮発性メモリ4のブートファームウェア環境変数が格納されている領域の所定のアドレスからブートファームウェア運用モード指定フラグを取得する(ステップS404)。
When the control of the CPU 2 shifts to the OS kernel, the process shifts to step S403, and the OS kernel initialization process is performed.
When the initialization processing of the OS kernel is completed, the CPU 2 calls the boot firmware service routine, and acquires the boot firmware operation mode designation flag from a predetermined address in the area where the boot firmware environment variable of the nonvolatile memory 4 is stored. (Step S404).
ここで、ブートファームウェアのサービスルーチンとは、ブートファームウェアとOSカーネルとのインターフェースであって、ブートファームウェアの機能をOSカーネルから利用可能とするプログラムのことである。 Here, the boot firmware service routine is an interface between the boot firmware and the OS kernel, and is a program that makes the boot firmware function available from the OS kernel.
ステップS405において、ブートファームウェア運用モード指定フラグがダンプ運用モードでない場合には、処理をステップS406に移行し、システム運用モードとして通常の運用処理を行なう。 In step S405, if the boot firmware operation mode designation flag is not in the dump operation mode, the process proceeds to step S406, and normal operation processing is performed as the system operation mode.
また、ステップS405において、ブートファームウェア運用モード指定フラグがダンプ運用モードである場合には、処理をステップS407に移行し、ブートファームウェアのサービスルーチンを呼び出して、ダンプ対象のメインメモリ領域の物理アドレス情報を取得する。
そして、ステップS408に処理を移行し、メインメモリ領域1のメモリダンプ処理を実行する。
If the boot firmware operation mode designation flag is the dump operation mode in step S405, the process proceeds to step S407, and the boot firmware service routine is called to obtain the physical address information of the main memory area to be dumped. get.
Then, the process proceeds to step S408, and the memory dump process of the main memory area 1 is executed.
さらに、ステップS409において、ブートファームウェアのサービスルーチンを呼び出し、不揮発性メモリ4に格納されているファームウェア運用モード指定フラグをシステム運用モードに設定する。
以上のメモリダンプ処理が完了すると、CPU2は、処理をステップS410に移行し、再起動処理を呼び出し、システム運用モードにてシステムを再起動する。
In step S409, the boot firmware service routine is called to set the firmware operation mode designation flag stored in the nonvolatile memory 4 to the system operation mode.
When the above memory dump process is completed, the CPU 2 shifts the process to step S410, calls a restart process, and restarts the system in the system operation mode.
図5は、図4のステップS407に示した第2のメインメモリ領域で動作しているOSカーネルのダンププログラムが第1のメインメモリ領域のダンプ対象領域を決定する処理の具体例を示す図である。 FIG. 5 is a diagram showing a specific example of a process in which the dump program of the OS kernel operating in the second main memory area shown in step S407 of FIG. 4 determines the dump target area in the first main memory area. is there.
同図には、図1に示したメインメモリ5に配される第1のメインメモリ領域と第2のメインメモリ領域とを示している。また、OSは、ダンプ運用モードで起動しているので、第1のメインメモリ領域へのアクセスは原則として不可能な状態であり、第2のメインメモリ領域のみアクセス可能な状態となっている。したがって、OSは、ダンププログラムが起動するブートファームウェアのサービスルーチン又はROMファームウェアのサービスルーチンによってのみ第1のメインメモリ領域の物理アドレスにアクセスが可能となっている。 In the figure, a first main memory area and a second main memory area arranged in the main memory 5 shown in FIG. 1 are shown. Further, since the OS is activated in the dump operation mode, the access to the first main memory area is impossible in principle, and only the second main memory area is accessible. Therefore, the OS can access the physical address of the first main memory area only by the boot firmware service routine or the ROM firmware service routine activated by the dump program.
また、同図に示す第2のメインメモリ領域には、OSカーネルが、カーネルコア領域7aとカーネル物理メモリ不連続領域7bとカーネル動的割り当て領域7cとに展開されており、CPU2は、この第2のメインメモリ領域に展開されているOSカーネルの命令に従って動作している。
In the second main memory area shown in the figure, the OS kernel is expanded into a
同図に示す第1のメインメモリ領域にも、OSカーネルが、カーネル領域9aとカーネル物理メモリ不連続領域9bとカーネル動的割り当て領域9Cとに展開されているが、これらの領域に展開されているOSカーネルは、第2のメインメモリ領域に展開されているOSカーネルが起動(再起動)される前に展開されたものである。 Also in the first main memory area shown in the figure, the OS kernel is expanded into a kernel area 9a, a kernel physical memory discontinuous area 9b, and a kernel dynamic allocation area 9C. The OS kernel is expanded before the OS kernel expanded in the second main memory area is started (restarted).
以下、第2のメインメモリ領域に展開されているOSカーネルのダンププログラムによって、第1のメインメモリ領域に展開されている所望のダンプ対象領域を決定する処理について説明する。 Hereinafter, a process of determining a desired dump target area expanded in the first main memory area by the dump program of the OS kernel expanded in the second main memory area will be described.
(1)カーネルのコア領域9aなど、物理アドレスが連続な領域に割り当てられるテキスト領域やデータ領域(以下、単に静的テキスト領域、静的データ領域という)をダンプ処理の対象とする場合、まず、カーネル内の静的データ8の論理アドレスと静的データ10の論理アドレスは、同一カーネルならば同一であるので、OSカーネルから、ブートファームウェアのサービスルーチンを呼び出し、第1のメインメモリ領域でのカーネルコア領域9aのベースアドレス(カーネルコア領域9aの先頭アドレス)を取得する。
(1) When a text area or a data area (hereinafter simply referred to as a static text area or a static data area) assigned to an area where physical addresses are continuous, such as the kernel core area 9a, is to be dumped first, Since the logical address of the
そして、第2のメインメモリ領域のカーネルコア領域7aの先頭アドレスから第1のメインメモリ領域のカーネルコアの先頭アドレスを引いた値(オフセット15)を算出する。
Then, a value (offset 15) is calculated by subtracting the head address of the kernel core in the first main memory area from the head address of the
さらに、第2のメインメモリ領域のカーネル内の静的データ8の論理アドレスをアドレス変換テーブル(システムメモリテーブル)に基づいて物理アドレスに変換し、オフセット15を引くことによって、第2のメインメモリ領域の静的データ8と対応する第1のメインメモリ領域の静的データ10の物理アドレスが得られる。また、静的テキスト領域についても同様の処理によって、第2のメインメモリ領域の静的テキスト領域に基づいて、ダンプ採取対象である第1のメインメモリ領域内の静的テキスト領域の物理アドレス(例えば、ダンプ対象領域12の物理アドレス)を得ることができる。
Further, the logical address of the
また、さらに通常はこのオフセット15は第2のメインメモリ領域の先頭アドレスから第2のメインメモリ領域の先頭アドレスをひいたものに等しいため、カーネルコア領域7a内の静的データ領域や静的テキスト領域であれば、第1のメインメモリ領域及び第2のメインメモリ領域のベースアドレスの情報と、ダンプ運用モードで動作している第2のメインメモリ領域内のアドレス変換テーブル(システムメモリテーブル)から容易にダンプ対象領域である第1のメインメモリ領域あるカーネルコア9aの静的データ領域又はテキスト領域のアドレスが得ることが可能である。
Further, normally, since the offset 15 is equal to the start address of the second main memory area minus the start address of the second main memory area, the static data area and the static text in the
(2)物理アドレスが不連続な領域に割り当てられる領域のために、上記(1)で説明したオフセット15に基づく計算では、第2のメインメモリ領域情報に基づいて第1のメインメモリ領域内のダンプ対象領域(例えば、ダンプ対象領域13、ダンプ対象領域14)の物理アドレスが算出できない場合や、静的データ領域ではなく、論理アドレス自体が動的に割り当てられるために第2のメインメモリ領域で動作しているときとは異なった論理アドレスに配置されるようなカーネル内のデータ領域に対してダンプ処理を行なう場合には、第1のメインメモリ領域のカーネル内にあるシステムメモリテーブル(アドレス変換テーブル)11のデータを参照し、対応する物理アドレスを計算すればよい。
(2) Since the physical address is assigned to a discontinuous area, the calculation based on the offset 15 described in the above (1), the calculation in the first main memory area based on the second main memory area information When the physical address of the dump target area (for example, the
ここで、第1のメインメモリ領域内のカーネルコア領域9aにあるシステムメモリテーブル11のある場所の物理アドレスは上記(1)の処理で得ることができる。
ここで、カーネルコア領域7a及び9aは、カーネルテキスト(静的テキスト領域)、カーネルデータ(静的データ領域)の基本的な部分で、カーネル内の各種制御データへリンクするもととなるデータが定義されており、物理アドレスが連続した領域に割り当てられているものとする。
Here, the physical address of a place in the system memory table 11 in the kernel core area 9a in the first main memory area can be obtained by the process (1).
Here, the
以上の図2Aから図5に基づいて説明した処理は、情報処理装置1に電源投入又は、OSパニックによる再起動を要因としてOSが起動するまでの処理であるが、図6では、OSが異常を検出してから再起動処理が行なわれるまでの処理を説明する。 The above-described processing based on FIGS. 2A to 5 is processing until the OS is started due to power-on of the information processing apparatus 1 or reboot due to OS panic, but in FIG. 6, the OS is abnormal. The process from when the process is detected until the restart process is performed will be described.
図6は、OSが異常を検出してから再起動処理が行なわれるまでの処理の例を示すフローチャートである。
情報処理装置1(OS)がシステム運用モードで動作している状態において、メモリ破壊等のシステム運用を継続するには致命的なハードウェア故障が発生すると、ハードウェアからの割り込み信号や、OSカーネルからのエラー通知によって、OSは異常を検出する(ステップS601)。
FIG. 6 is a flowchart illustrating an example of processing from when the OS detects an abnormality until restart processing is performed.
In the state where the information processing apparatus 1 (OS) is operating in the system operation mode, when a fatal hardware failure occurs in order to continue system operation such as memory destruction, an interrupt signal from the hardware or the OS kernel In response to the error notification from the OS, the OS detects an abnormality (step S601).
OSが異常を検出すると、CPU2は、制御をステップS602に移行し、ダンプ処理エントリを行なう。例えば、ハードウェアからの割り込み信号に応じて、割り込みハンドラが起動されると、CPU2に備わるPCにダンププログラムの命令開始アドレスが設定され、ダンプ処理エントリプログラムの命令に従ってCPU2が動作することとなる。
なお、複数のプログラム(プロセス、タスク、アプリケーション)が同時に動作するOSの場合には、ダンプ処理エントリプログラム以外のプログラムも当然に動作している。
When the OS detects an abnormality, the CPU 2 shifts the control to step S602 and performs a dump process entry. For example, when an interrupt handler is activated in response to an interrupt signal from hardware, the instruction start address of the dump program is set in the PC provided in the CPU 2, and the CPU 2 operates according to the instruction of the dump process entry program.
Note that in the case of an OS in which a plurality of programs (processes, tasks, and applications) operate at the same time, programs other than the dump processing entry program also operate naturally.
そして、処理をステップS603に移行して、ダンプ処理エントリプログラムからブートファームウェアのサービスルーチンを呼び出し、不揮発性メモリ4内に確保されているROMファームウェア環境変数領域の所定のアドレスに格納されているROMファームウェア運用モード指定フラグ、又はROMファームウェア運用モード指定フラグ及びファームウェア環境変数領域の所定のアドレスに格納されているファームウェア運用モード指定フラグをダンプ運用モードに設定する。 Then, the process proceeds to step S603, the boot firmware service routine is called from the dump processing entry program, and the ROM firmware stored at a predetermined address in the ROM firmware environment variable area secured in the nonvolatile memory 4 The operation mode specification flag or the ROM operation mode specification flag and the firmware operation mode specification flag stored at a predetermined address in the firmware environment variable area are set to the dump operation mode.
ダンプ運用モードに設定する処理が完了すると、CPU2は、制御をステップS604に移行し、再起動処理を呼び出して再起動を開始する。すなわち、図2Aに示したステップS201に処理が移行し、再起動処理(リセット処理)が開始されることとなる。 When the process for setting the dump operation mode is completed, the CPU 2 shifts the control to step S604, calls the restart process, and starts the restart. That is, the process proceeds to step S201 illustrated in FIG. 2A, and the restart process (reset process) is started.
また、同図では、ステップS603の処理において、ファームウェアのサービスルーチンによって、ダンプ運用モードを設定する処理を行なったが、OSから直接ROMファームウェアにアクセスするインターフェース(手段)を用意することによって、ROMファームウェア運用モード指定フラグ、又はROMファームウェア運用モード指定フラグ及びファームウェア運用モード指定フラグにダンプ運用モードを設定してもよい。 Further, in the figure, in the process of step S603, the process of setting the dump operation mode is performed by the firmware service routine. However, the ROM firmware is prepared by preparing an interface (means) for directly accessing the ROM firmware from the OS. The dump operation mode may be set in the operation mode designation flag, or the ROM firmware operation mode designation flag and the firmware operation mode designation flag.
図7に、OSが異常を検出してから再起動処理が行なわれるまでの処理の変形例を示す。
図6と同様に、情報処理装置1(OS)がシステム運用モードで動作している状態において、メモリ破壊等のシステム運用を継続するには致命的なハードウェア故障が発生すると、ハードウェアからの割り込み信号や、OSカーネルからのエラー通知によって、OSは異常を検出する(ステップS701)。
FIG. 7 shows a modification of the process from when the OS detects an abnormality until the restart process is performed.
As in FIG. 6, when a fatal hardware failure occurs in order to continue system operation such as memory corruption in the state where the information processing apparatus 1 (OS) is operating in the system operation mode, The OS detects an abnormality by an interrupt signal or an error notification from the OS kernel (step S701).
OSが異常を検出すると、CPU2は、制御をステップS702に移行し、ダンプ処理エントリを行なう(ダンプ処理エントリプログラムを起動する)。
そして、処理をステップS603に移行して、ダンプ処理エントリプログラムからROMファームウェアのサービスルーチンを呼び出し、不揮発性メモリ4内に確保されているROMファームウェア運用モード指定フラグ又はファームウェア運用モード指定フラグに一方又は全てに対して、ダンプ運用モードを設定する。
When the OS detects an abnormality, the CPU 2 shifts the control to step S702 and makes a dump process entry (starts the dump process entry program).
Then, the process proceeds to step S603, and the ROM firmware service routine is called from the dump process entry program, and one or all of the ROM firmware operation mode designation flag and the firmware operation mode designation flag reserved in the nonvolatile memory 4 are set. Set the dump operation mode.
ダンプ運用モードを設定すると、CPU2は、制御をステップS704に移行し、再起動処理を呼び出して再起動を開始する。すなわち、図2Aに示したステップS201に処理を移行し、再起動処理が開始されることとなる。 When the dump operation mode is set, the CPU 2 shifts the control to step S704, calls a restart process, and starts restart. That is, the process proceeds to step S201 illustrated in FIG. 2A, and the restart process is started.
また、図1において図示しない電源制御手段(例えば、電源制御又は監視を行なうシステム監視機構)が、システム起動時に、ROMファームウェア運用モード指定フラグ及びファームウェア運用モード指定フラグをダンプ運用モードに設定するようにしてもよい。 Further, power control means (not shown in FIG. 1) (for example, a system monitoring mechanism that performs power control or monitoring) sets the ROM firmware operation mode designation flag and the firmware operation mode designation flag to the dump operation mode when the system is started. May be.
図8は、電源制御手段にダンプ運用モード/システム運用モードの切替手段を持たせた場合に、OSが異常を検出してから再起動処理が行なわれるまでの処理の例を示している。 FIG. 8 shows an example of processing from when the OS detects an abnormality until restart processing is performed when the power supply control means is provided with dump operation mode / system operation mode switching means.
図6と同様に、情報処理装置1(OS)がシステム運用モードで動作している状態において、メモリ破壊等のシステム運用を継続するには致命的なハードウェア故障が発生すると、ハードウェアからの割り込み信号や、OSカーネルからのエラー通知によって、OSは異常を検出する(ステップS801)。 As in FIG. 6, when a fatal hardware failure occurs in order to continue system operation such as memory corruption in the state where the information processing apparatus 1 (OS) is operating in the system operation mode, The OS detects an abnormality by an interrupt signal or an error notification from the OS kernel (step S801).
OSが異常を検出すると、CPU2は、制御をステップS802に移行し、ダンプ処理エントリを行なう(ダンプ処理エントリプログラムを起動する)。
そして、処理をステップS803に移行して、ダンプ処理エントリプログラムから、電源制御を行なうシステム監視機構に次回のシステム起動時(図2Aから図4に示した処理)にROMファームウェア運用モード指定フラグ、又はROMファームウェア運用モード指定フラグ及びファームウェア運用モード指定フラグをダンプ運用モードとするように通知する。
When the OS detects an abnormality, the CPU 2 shifts the control to step S802 and performs a dump process entry (starts the dump process entry program).
Then, the process proceeds to step S803, and the ROM firmware operation mode designation flag is set from the dump process entry program to the system monitoring mechanism that performs power supply control at the next system startup (the process shown in FIGS. 2A to 4), or The ROM firmware operation mode designation flag and the firmware operation mode designation flag are notified to be the dump operation mode.
例えば、不揮発性メモリ4内にシステム監視機構の機能を備えるプログラムが参照するメモリ領域を予め確保し、このメモリ領域の所定のアドレスにシステム監視機構運用モード指定フラグを格納するようにする(例えば、1バイトデータで0xFFであればダンプ運用モードとし、0xFF以外をシステム運用モードとする)。 For example, a memory area referred to by a program having the function of the system monitoring mechanism is reserved in advance in the nonvolatile memory 4, and a system monitoring mechanism operation mode designation flag is stored at a predetermined address in the memory area (for example, If 1 byte data is 0xFF, the dump operation mode is set, and other than 0xFF is the system operation mode).
そして、図6にも示したように、OSがブートファームウェアのサービスルーチンを呼び出して、システム監視機構運用モード指定フラグにダンプ運用モードを設定するようにする。 Then, as shown in FIG. 6, the OS calls the boot firmware service routine to set the dump operation mode in the system monitoring mechanism operation mode designation flag.
一方、システム監視機構は、システム起動時(例えば、図2Aに示したステップS201)において、システム監視機構運用モード指定フラグを参照し、ダンプ運用モードに設定されている場合には、ROMファームウェア運用モード指定フラグ、又はROMファームウェア運用モード指定フラグ及びファームウェア運用モード指定フラグをダンプ運用モードに設定すればよい。 On the other hand, the system monitoring mechanism refers to the system monitoring mechanism operation mode designation flag when the system is started (for example, step S201 shown in FIG. 2A). The designation flag, or the ROM firmware operation mode designation flag and the firmware operation mode designation flag may be set to the dump operation mode.
システム監視機構にダンプ運用モードを通知すると、CPU2は、制御をステップS804に移行し、再起動処理を呼び出して再起動を開始する。すなわち、図2Aに示したステップS201に処理を移行し、再起動処理が開始されることとなる。 When the dump monitoring mode is notified to the system monitoring mechanism, the CPU 2 shifts the control to step S804, calls the restart process, and starts the restart. That is, the process proceeds to step S201 illustrated in FIG. 2A, and the restart process is started.
また、システム監視機構によって、例えば、ROMファームウェア運用モード指定フラグ、又はROMファームウェア運用モード指定フラグ及びブートファームウェア運用モード指定フラグを、強制的にダンプ運用モードに設定して再起動を実行させるようにしてもよい。 In addition, the system monitoring mechanism may, for example, set the ROM firmware operation mode designation flag, or the ROM firmware operation mode designation flag and the boot firmware operation mode designation flag to the dump operation mode and execute the reboot. Also good.
これにより、OSがハングアップし、ダンプ処理エントリに制御が移行できなくなっても、ダンプ運用モードで再起動ができるようになるのでダンプ採取を行なうことが可能となる。 As a result, even if the OS hangs up and control cannot be transferred to the dump process entry, the system can be restarted in the dump operation mode, so that dump collection can be performed.
以上の説明においては、第1のメインメモリ領域と第2のメインメモリ領域とは、システム運用モード時及びダンプ運用モード時の両モード時においても分割されているが、これに限定するものではない。すなわち、システム運用モード時においては、メインメモリ5の全ての領域を図1に示した第1のメインメモリ領域として使用し、ダンプ運用モード時にのみ第1のメインメモリ領域と第2のメインメモリ領域とに分割してもよい。この場合、第1のメインメモリ領域で使用頻度が少ない領域や障害解析に不要な領域等を第2のメインメモリ領域として割り当てればよい。 In the above description, the first main memory area and the second main memory area are divided in both the system operation mode and the dump operation mode. However, the present invention is not limited to this. . That is, all the areas of the main memory 5 are used as the first main memory area shown in FIG. 1 in the system operation mode, and the first main memory area and the second main memory area are only in the dump operation mode. It may be divided into In this case, an area that is less frequently used in the first main memory area or an area that is not necessary for failure analysis may be allocated as the second main memory area.
以上に説明したダンプ処理によって採取したデータを障害解析する場合には、障害解析に必要な領域の決定のためにカーネル固有のテーブル(例えば、データの配置の定義したテーブル)を参照する必要があるが、ダンプ運用モードで動作しているカーネルは、システム運用モードで動作しているカーネルと同一のものであるため同一のテーブルを使用して所定のデータが配置されているアドレス等の情報を取得することが可能であり、容易に障害解析することが可能となる。 When analyzing the failure of the data collected by the dump processing described above, it is necessary to refer to a kernel-specific table (for example, a table in which data allocation is defined) in order to determine an area necessary for failure analysis. However, since the kernel operating in the dump operation mode is the same as the kernel operating in the system operation mode, the same table is used to obtain information such as the address where the predetermined data is located. It is possible to perform failure analysis easily.
また、システムダンプ採取プログラムがシステム運用モード時と同一のカーネル(オペレーティングシステム)で動作するため、ダンプ採取領域を決定するためにメインメモリ上の領域を管理するテーブル情報(例えば、メモリ管理テーブルなど)からシステムダンプを取得すべき領域のリストを予め作成しておく必要がなく、カーネルの版数と領域リストの版数(又は、領域リストを作成するためのテーブル情報の版数)を管理する必要がなくなる。 In addition, since the system dump collection program operates in the same kernel (operating system) as in the system operation mode, table information for managing the area on the main memory to determine the dump collection area (eg, memory management table) It is not necessary to create a list of areas from which system dumps are to be obtained in advance, and it is necessary to manage the version number of the kernel and the version number of the area list (or the version number of the table information for creating the area list) Disappears.
したがって、カーネルの版数と領域リストの版数(又は、領域リストを作成するためのテーブル情報の版数)との不一致によって、誤った領域をダンプしてしまったり、メモリの未実装領域にアクセスしてしまいシステムダンプの採取が異常終了してしまうことを回避することが可能となる。また、余計な版数管理を行う必要がなくなる。 Therefore, due to a mismatch between the kernel version number and the area list version number (or the version number of the table information used to create the area list), an incorrect area is dumped or an unimplemented area in memory is accessed. Therefore, it is possible to avoid the system dump collection from being terminated abnormally. In addition, there is no need to perform unnecessary version management.
さらに、システムダンプ時にカーネルに組み込まれたダンプ採取プログラムが動作するので、障害発生時のメモリデータから障害解析に必要な最適な領域をダンプ採取することが可能となる。 Further, since the dump collection program incorporated in the kernel operates at the time of system dump, it is possible to collect the optimum area necessary for failure analysis from the memory data at the time of failure occurrence.
そして、ダンプを採取するために、一度リセットを実施するので、安定したオペレーティングシステム上でダンプ採取することができ、また、単に所定の領域をダンプ採取するだけでなく、障害解析プログラムなどによりカーネル内データを解析して、障害の原因や被疑箇所の特定を障害発生時にある程度行うことも可能となる。また、そのときの解析結果に応じて、さらにダンプ採取領域を広げるなどの対応も可能となる。 Since the reset is executed once to collect the dump, it is possible to collect the dump on a stable operating system. It is possible to analyze the data and identify the cause of the failure and the suspected part to some extent when the failure occurs. In addition, it is possible to cope with such as further expanding the dump collection area according to the analysis result at that time.
また、ダンプ運用モード時には、オペレーティングシステムをブートするブートファームウェアも含めて、システム運用モード時とは別の物理メモリ空間でオペレーティングシステムを起動するので、オペレーティングシステムとブートファームウェア間のインターフェース部分で異常が発生してハングアップした場合などでもダンプ採取時に異常が発生した時のブートファームウェア領域のデータも壊さずにダンプすることが可能となる。 Also, in the dump operation mode, the operating system is started in a physical memory space different from that in the system operation mode, including the boot firmware that boots the operating system, so an abnormality occurs at the interface between the operating system and the boot firmware. Even if it hangs up, it is possible to dump without destroying the data in the boot firmware area when an error occurs during dump collection.
ダンプ対象であるシステム運用モード時に使用したメモリ領域のデータを上書きすることがないのでブートファームウェア側でメモリデータを一時待避する必要がなく、メモリデータを一時待避するための専用のハードウェア資源を持つ必要がないので、信頼性を高めながらコストを抑えることが可能となる。そのため、メモリデータの一時待避用に専用パーティションを確保しておく必要もないためディスクのパーティション管理も容易となる。
さらに、障害が発生した環境(カーネルの制御データの不整合やメモリ破壊など)とは無関係にダンプ採取を行なうことが可能となる。
There is no need to temporarily save memory data on the boot firmware side because the data in the memory area used in the system operation mode to be dumped is not overwritten, and there is a dedicated hardware resource for temporarily saving memory data. Since it is not necessary, it is possible to reduce costs while increasing reliability. Therefore, it is not necessary to secure a dedicated partition for temporarily saving memory data, so that disk partition management becomes easy.
Furthermore, dump collection can be performed regardless of the environment in which the failure occurred (kernel control data inconsistency, memory corruption, etc.).
また、一時的なハード異常が発生していた場合には、一旦リセットすることにより、正常に動作できる可能性を高めることが可能となり、恒常的なハード異常が発生していた場合でも、リセットによるシステムの再起動時に実行されるPOST診断やハードウェアの初期化処理で異常を検出できる可能性を高めることが可能となる。 In addition, if a temporary hardware abnormality has occurred, it is possible to increase the possibility of normal operation by resetting it temporarily. Even if a permanent hardware abnormality has occurred, it is possible to It is possible to increase the possibility that an abnormality can be detected by POST diagnosis or hardware initialization processing executed when the system is restarted.
(付記1)
情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域をオペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得処理と、
該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納処理と、
前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出処理と、
該ダンプ対象領域に格納されている情報を読み出して出力するダンプ処理と、
を備えるパニックダンプ採取処理をコンピュータに実行させるためのプログラム。
(付記2)
情報処理装置が動作するために必要な構成要素に障害が発生したことを検出して通知する障害通知処理と、
該障害通知処理による通知に応じて、前記運用モード指定情報を運用モード指定情報記憶手段に記憶する運用モード指定情報記憶処理と、
前記障害発生時に使用されていた領域の状態を保持したまま、前記情報処理装置を再起動する再起動処理と、
を更に前記領域定義情報取得処理の前に備える付記1に記載のパニックダンプ採取処理をコンピュータに実行させるためのプログラム。
(付記3)
前記ダンプ対象領域算出処理は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する処理であることを特徴とする付記1又は2に記載のパニックダンプ採取を行なうためのプログラム。
(付記4)
前記ダンプ対象領域算出処理は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する情報と、前記第1の領域を管理するための情報とに基づいて取得する処理であることを特徴とする付記1から3のいずれか一項に記載のパニックダンプ採取を行なうためのプログラム。
(付記5)
情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域を、オペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得処理と、
該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納処理と、
前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出処理と、
該ダンプ対象領域に格納されている情報を読み出して出力するダンプ処理と、
を行なうパニックダンプ採取方法。
(付記6)
情報処理装置が動作するために必要な構成要素に障害が発生したことを検出して通知する障害通知処理と、
該障害通知処理による通知に応じて、前記運用モード指定情報を運用モード指定情報記憶手段に記憶する運用モード指定情報記憶処理と、
前記障害発生時に使用されていた領域の状態を保持したまま、前記情報処理装置を再起動する再起動処理と、
を更に前記領域定義情報取得処理の前に備える付記5に記載のパニックダンプ採取方法。
(付記7)
前記ダンプ対象領域算出処理は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する処理であることを特徴とする付記5又は6に記載のパニックダンプ採取方法。
(付記8)
前記ダンプ対象領域算出処理は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する情報と、前記第1の領域を管理するための情報とに基づいて取得する処理であることを特徴とする付記5から7のいずれか一項に記載のパニックダンプ採取方法。
(付記9)
情報処理装置の動作を制御する運用モード指定情報に応じて、前記情報処理装置が備える記憶手段の領域をオペレーティングシステムに使用していた第1の領域以外の第2の領域に画する第2の領域定義情報を記憶した領域定義情報手段から、該第2の領域定義情報を取得する領域定義情報取得手段と、
該第2の領域定義情報に基づく領域にオペレーティングシステムを格納するオペレーティングシステム格納手段と、
前記第2の領域定義情報に基づく領域における所定の領域に対応する前記第1の領域における所定の領域をダンプ対象領域として算出するダンプ対象領域算出手段と、
該ダンプ対象領域に格納されている情報を読み出して出力するダンプ手段と、
を備えるパニックダンプ採取機構。
(付記10)
情報処理装置が動作するために必要な構成要素に障害が発生したことを検出して通知する障害通知手段と、
該障害通知手段による通知に応じて、前記運用モード指定情報を記憶する運用モード指定情報記憶手段と、
前記障害発生時に使用されていた領域の状態を保持したまま、前記情報処理装置を再起動する再起動手段と、
を更に備える付記9に記載のパニックダンプ採取機構。
(付記11)
前記ダンプ対象領域算出手段は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する処理であることを特徴とする付記9又は10に記載のパニックダンプ採取機構。
(付記12)
前記ダンプ対象領域算出手段は、前記ダンプ対象領域を、前記第1の領域の先頭位置と前記第2の領域の先頭位置とのオフセットと、前記第2の領域における所定の領域と、の差によって算出する情報と、前記第1の領域を管理するための情報とに基づいて取得する処理であることを特徴とする付記9から11のいずれか一項に記載のパニックダンプ採取機構。
(Appendix 1)
In accordance with operation mode designation information that controls the operation of the information processing apparatus, a second area that maps the storage means area of the information processing apparatus to a second area other than the first area used for the operating system An area definition information acquisition process for acquiring the second area definition information from the area definition information means storing the area definition information;
An operating system storage process for storing an operating system in an area based on the second area definition information;
A dump target area calculation process for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area;
Dump processing for reading and outputting information stored in the dump target area;
A program for causing a computer to execute a panic dump collection process.
(Appendix 2)
A failure notification process for detecting and notifying that a failure has occurred in a component required for the information processing apparatus to operate; and
An operation mode designation information storage process for storing the operation mode designation information in the operation mode designation information storage means in response to the notification by the failure notification process;
A restart process for restarting the information processing apparatus while maintaining the state of the area used when the failure occurred;
The program for making a computer perform the panic dump collection process of Additional remark 1 provided before the said area | region definition information acquisition process.
(Appendix 3)
In the dump target area calculation process, the dump target area is determined based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The program for collecting a panic dump according to appendix 1 or 2, characterized by being a calculation process.
(Appendix 4)
In the dump target area calculation process, the dump target area is determined based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The program for collecting panic dump according to any one of appendices 1 to 3, wherein the program is acquired based on information to be calculated and information for managing the first area .
(Appendix 5)
A second area that demarcates the area of the storage means included in the information processing apparatus to a second area other than the first area used in the operating system in accordance with operation mode designation information that controls the operation of the information processing apparatus. A region definition information acquisition process for acquiring the second region definition information from the region definition information means storing the region definition information;
An operating system storage process for storing an operating system in an area based on the second area definition information;
A dump target area calculation process for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area;
Dump processing for reading and outputting information stored in the dump target area;
How to collect panic dump.
(Appendix 6)
A failure notification process for detecting and notifying that a failure has occurred in a component required for the information processing apparatus to operate; and
An operation mode designation information storage process for storing the operation mode designation information in the operation mode designation information storage means in response to the notification by the failure notification process;
A restart process for restarting the information processing apparatus while maintaining the state of the area used when the failure occurred;
The panic dump collection method according to appendix 5, further comprising: before the area definition information acquisition process.
(Appendix 7)
In the dump target area calculation process, the dump target area is determined based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The panic dump collection method according to
(Appendix 8)
In the dump target area calculation process, the dump target area is determined based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The panic dump collection method according to any one of appendices 5 to 7, which is processing acquired based on information to be calculated and information for managing the first area.
(Appendix 9)
In accordance with operation mode designation information that controls the operation of the information processing apparatus, a second area that maps the storage means area of the information processing apparatus to a second area other than the first area used for the operating system Area definition information acquiring means for acquiring the second area definition information from the area definition information means storing the area definition information;
Operating system storage means for storing an operating system in an area based on the second area definition information;
Dump target area calculating means for calculating a predetermined area in the first area corresponding to a predetermined area in the area based on the second area definition information as a dump target area;
Dumping means for reading out and outputting information stored in the dump target area;
A panic dump collection mechanism.
(Appendix 10)
A failure notification means for detecting and notifying that a failure has occurred in a component required for the information processing apparatus to operate;
An operation mode designation information storage means for storing the operation mode designation information in response to the notification by the failure notification means;
Restarting means for restarting the information processing apparatus while maintaining the state of the area used when the failure occurred;
The panic dump collection mechanism according to appendix 9, further comprising:
(Appendix 11)
The dump target area calculation means determines the dump target area based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The panic dump collection mechanism according to appendix 9 or 10, wherein the panic dump collection mechanism is a calculation process.
(Appendix 12)
The dump target area calculation means determines the dump target area based on a difference between an offset between the start position of the first area and the start position of the second area and a predetermined area in the second area. The panic dump collection mechanism according to any one of appendices 9 to 11, which is a process to be acquired based on information to be calculated and information for managing the first area.
1 情報処理装置
2 CPU
3 ROM
4 不揮発性メモリ
5 メインメモリ
6 外部記録装置
7a カーネルコア領域
7b カーネル物理メモリ不連続領域
7c カーネル動的割り当て領域
8 静的データ
9a カーネルコア領域
9b カーネル物理メモリ不連続領域
9c カーネル動的割当て領域
10 静的データ
11 アドレス情報
12 ダンプ対象領域A
13 ダンプ対象領域B
14 ダンプ対象領域C
15 オフセット
1 Information processing device 2 CPU
3 ROM
4 Nonvolatile memory 5
13 Dump target area B
14 Dump target area C
15 offset
Claims (4)
前記情報処理装置の演算処理部が、プログラムの実行により、
前記情報処理装置の起動開始時に、前記情報処理装置の運用モードを示す情報を参照し、
前記情報がシステム運用モードを示している場合には、情報処理装置のメモリに含まれる領域のうち、第1の領域を前記情報処理装置の起動処理に使用する領域として設定する一方、前記情報が前記ダンプ運用モードを示している場合には、前記メモリに含まれる領域のうち、前記第1の領域とは異なる第2の領域を前記情報処理装置の起動処理に使用する領域として設定し、
前記設定された領域の初期化及び診断を実行し、
前記設定された領域を用いて前記情報処理装置を起動し、
前記情報が前記ダンプ運用モードを示している場合には、前記第1の領域および前記第2の領域のベースアドレスの差分から算出されるオフセットと、前記ダンプ運用モードで動作している前記第2の領域のうち前記第1の領域におけるダンプ対象の領域に対応する領域のアドレスと、を使用して算出した前記第1の領域に格納されている情報を読み出すダンプ処理を実行し、前記ダンプ処理の終了後に前記情報処理装置を再起動させることを特徴とする、制御方法。 A control method for an information processing apparatus capable of operating the same operating system in a system operation mode for executing a normal system operation operation and a dump operation mode for collecting dump information,
The arithmetic processing unit of the information processing apparatus executes a program,
When starting the information processing apparatus, refer to information indicating an operation mode of the information processing apparatus,
When the information indicates a system operation mode, the first area among the areas included in the memory of the information processing apparatus is set as an area used for the startup process of the information processing apparatus, while the information is If the dump operation mode is indicated, a second area different from the first area among the areas included in the memory is set as an area used for the startup process of the information processing apparatus,
Perform initialization and diagnosis of the set area,
Start the information processing apparatus using the set area,
When the information indicates the dump operation mode, the offset calculated from the difference between the base addresses of the first area and the second area, and the second operating in the dump operation mode. A dump process for reading out information stored in the first area calculated using the address of the area corresponding to the dump target area in the first area, and the dump process A control method, wherein the information processing apparatus is restarted after completion of the operation.
前記展開された前記オペレーティングシステムを動作させることで前記情報処理装置を起動させることを特徴とする、請求項1又は2に記載の制御方法。 The arithmetic processing unit develops an operating system in the set area after executing initialization and diagnosis of the set area by executing a program,
Characterized in that activating the information processing apparatus by operating the expanded the operating system, control method according to claim 1 or 2.
前記情報処理装置の演算処理部が、
前記情報処理装置の起動処理を実行する第1のプログラムの実行により、
前記情報処理装置の起動開始時に、前記情報処理装置の運用モードを示す情報を参照し、
前記情報がシステム運用モードを示している場合には、情報処理装置のメモリに含まれる領域のうちの第1の領域を、前記情報処理装置の起動処理に使用する領域として設定し、前記情報が前記ダンプ運用モードを示している場合には、前記メモリに含まれる領域のうち、前記第1の領域とは異なる第2の領域を前記情報処理装置の起動処理に使用する領域として設定した管理情報を作成し、
前記設定された領域の初期化及び診断を実行し、
前記設定された領域に前記オペレーティングシステムを展開して前記情報処理装置を起動し、
制御を前記第1のプログラムから前記オペレーティングシステムに渡し、
前記オペレーティングシステムの実行により、
前記情報が前記ダンプ運用モードを示している場合には、前記第1の領域および前記第2の領域のベースアドレスの差分から算出されるオフセットと、前記ダンプ運用モードで動作している前記第2の領域のうち前記第1の領域におけるダンプ対象の領域に対応する領域のアドレスと、を使用して算出した前記第1の領域に格納されている情報を読み出すダンプ処理を実行し、
前記ダンプ処理の終了後に前記情報処理装置を再起動させることを特徴とする、制御方法。 A control method for an information processing apparatus capable of operating the same operating system in a system operation mode for executing a normal system operation operation and a dump operation mode for collecting dump information,
The arithmetic processing unit of the information processing apparatus
By executing the first program that executes the startup process of the information processing apparatus,
When starting the information processing apparatus, refer to information indicating an operation mode of the information processing apparatus,
When the information indicates a system operation mode, a first area of the areas included in the memory of the information processing apparatus is set as an area used for the startup process of the information processing apparatus, and the information is When the dump operation mode is indicated, the management information in which the second area different from the first area among the areas included in the memory is set as an area to be used for the startup process of the information processing apparatus Create
Perform initialization and diagnosis of the set area,
Expand the operating system on the set area to start the information processing apparatus,
Passing control from the first program to the operating system;
By executing the operating system,
When the information indicates the dump operation mode, the offset calculated from the difference between the base addresses of the first area and the second area, and the second operating in the dump operation mode. A dump process for reading information stored in the first area calculated using the address of the area corresponding to the dump target area in the first area,
A control method, comprising: restarting the information processing apparatus after completion of the dump process.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010277134A JP5348120B2 (en) | 2010-12-13 | 2010-12-13 | Program, method and mechanism for collecting panic dump |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010277134A JP5348120B2 (en) | 2010-12-13 | 2010-12-13 | Program, method and mechanism for collecting panic dump |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004258750A Division JP4677214B2 (en) | 2004-09-06 | 2004-09-06 | Program, method and mechanism for collecting panic dump |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011054212A JP2011054212A (en) | 2011-03-17 |
JP5348120B2 true JP5348120B2 (en) | 2013-11-20 |
Family
ID=43943058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010277134A Expired - Fee Related JP5348120B2 (en) | 2010-12-13 | 2010-12-13 | Program, method and mechanism for collecting panic dump |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5348120B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013003984A (en) * | 2011-06-20 | 2013-01-07 | Fuji Xerox Co Ltd | Information processing apparatus, image forming apparatus, and program |
JP6252321B2 (en) * | 2014-04-04 | 2017-12-27 | 富士通株式会社 | Memory control method and information processing apparatus |
JP7283108B2 (en) * | 2019-02-15 | 2023-05-30 | 株式会社リコー | Information processing device, control method, and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0581089A (en) * | 1991-09-19 | 1993-04-02 | Tokyo Electric Co Ltd | Electronic equipment |
JPH0895834A (en) * | 1994-09-28 | 1996-04-12 | Toshiba Corp | System dump collecting method |
JPH10133918A (en) * | 1996-11-01 | 1998-05-22 | Toshiba Corp | Computer system |
JP2004013714A (en) * | 2002-06-10 | 2004-01-15 | Mitsubishi Electric Corp | Communication terminal, debugging information notification system, and computer program |
JP2004102395A (en) * | 2002-09-05 | 2004-04-02 | Hitachi Ltd | Method for acquiring memory dump data and information processor and its program |
-
2010
- 2010-12-13 JP JP2010277134A patent/JP5348120B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011054212A (en) | 2011-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1638000B1 (en) | Method, apparatus and program for performing panic memory dump | |
JP5176837B2 (en) | Information processing system, management method thereof, control program, and recording medium | |
US9501289B2 (en) | Method of a UEFI firmware and computer system thereof | |
KR101201186B1 (en) | Memory dump generation with quick reboot | |
KR102136906B1 (en) | Layout and execution of operating systems using bpram | |
JP5120664B2 (en) | Server system and crash dump collection method | |
US8595552B2 (en) | Reset method and monitoring apparatus | |
CN104254840A (en) | Memory dump and analysis in a computer system | |
WO2017059721A1 (en) | Information storage method, device and server | |
US9715267B2 (en) | Method for switching operating systems and electronic apparatus | |
EP1934714A1 (en) | Fast booting an operating system from an off state | |
JP5609242B2 (en) | Information processing apparatus and memory dump collection method | |
CN109271206B (en) | Memory compression and storage method for abnormal site | |
CN108628726B (en) | CPU state information recording method and device | |
US20130007439A1 (en) | Multicore processor system, computer product, and notification method | |
JP5348120B2 (en) | Program, method and mechanism for collecting panic dump | |
JP2010092125A (en) | Computer system, memory diagnostic method, and memory diagnosis control program | |
US20050033952A1 (en) | Dynamic scheduling of diagnostic tests to be performed during a system boot process | |
WO2008048581A1 (en) | A processing device operation initialization system | |
CN114741119A (en) | System starting method and device, computer equipment and storage medium | |
JP5948416B2 (en) | Information processing apparatus, information storage processing program, and information storage processing method | |
KR101420026B1 (en) | A method, apparatus and computer program for loading files during a boot-up process | |
US20230350755A1 (en) | Coordinated operating system rollback | |
CN116860546A (en) | Log storage method, vehicle-mounted equipment, storage medium and chip | |
JP2016076152A (en) | Error detection system, error detection method, and error detection program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120821 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121018 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130524 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130603 |
|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130805 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5348120 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |