JP5021190B2 - 高速再起動を伴うメモリダンプ生成 - Google Patents

高速再起動を伴うメモリダンプ生成 Download PDF

Info

Publication number
JP5021190B2
JP5021190B2 JP2005241646A JP2005241646A JP5021190B2 JP 5021190 B2 JP5021190 B2 JP 5021190B2 JP 2005241646 A JP2005241646 A JP 2005241646A JP 2005241646 A JP2005241646 A JP 2005241646A JP 5021190 B2 JP5021190 B2 JP 5021190B2
Authority
JP
Japan
Prior art keywords
memory
subset
physical
copying
computer
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
Application number
JP2005241646A
Other languages
English (en)
Other versions
JP2006072997A5 (ja
JP2006072997A (ja
Inventor
イワクラ ヒロユキ
ミス タケシ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2006072997A publication Critical patent/JP2006072997A/ja
Publication of JP2006072997A5 publication Critical patent/JP2006072997A5/ja
Application granted granted Critical
Publication of JP5021190B2 publication Critical patent/JP5021190B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は一般にコンピュータシステムに関し、より詳しくは、必要な再起動の実行における遅延を最小限にしながら、メインメモリのデータイメージを二次記憶装置に書き込むための方法とシステムに関する。
オペレーティングシステムは一般に、システムクラッシュや、ユーザプロセスおよびサービスを停止させるような深刻な故障が発生した時に、メモリダンプを実行するよう構成されている。メモリダンプは、メインメモリの内容を二次記憶装置に、たとえば、ハードディスクまたはその他の二次記憶媒体に記憶されるファイルの形態等でコピーすることからなる。システムクラッシュの場合、一般的に、メモリダンプに続いてシステムが再起動する。全面的(フル: full)メモリダンプは、クラッシュに関する問題の解析と是正および信頼できるシステムの開発のために欠くことのできないリソースである。
メインメモリからハードディスクにデータを書き込むのは、比較的低速な作業である。全面的メモリダンプの場合、システムはメモリの全内容をスキャニングし、その内容を二次記憶装置に書き込む。このように、全面的メモリダンプ生成に伴う主な欠点は、システムを他の目的に有効に使用できなくなる「ダウンタイム」の長さである。このダウンタイムは、内蔵メモリの大きさと、システムの再起動が必要な場合は、起動記憶装置の速度の関数である。たとえば、16ギガバイトのメモリをディスクに書き込むには、完了までに1時間以上かかる。64ギガバイトのメモリを備えるコンピュータシステムの場合、全面的メモリダンプを生成するには6時間かかるかもしれない。
本明細書の添付図面のうち図1は、先行技術に従って、システムクラッシュの後に全面的メモリダンプが行われるプロセスの簡略化した一例を示す。この図は、後述する本発明の詳細な説明を明確に理解するのに役立つ。図1では、時間経過に伴うイベントが示されており、時間は左から右に向かって経過する。当初、システムは、メモリ101の全容量、ここではnギガバイト、で動作する。システムクラッシュイベント103が発生する。メモリ101のnギガバイトの全面的メモリダンプが実行され(矢印105で示す)、その後、コンピュータシステムは再起動107する。
従来のコンピュータに備えられる物理メモリの量は、着実に増加を続けている。この増加は、ランダムアクセスメモリ(RAM)技術の安定した容量増大、64ビットプロセッサ技術の利用可能性、そして一般的なコンピュータプログラムによるメモリ利用の増大による。その結果、全面的メモリダンプの実行に伴う平均ダウンタイムも増加している。現在、エンタープライズサーバマシンは、32ないし64ギガバイトの内蔵RAMを使用するように装備されている。2007年までに、ローエンドおよびミドルレンジのサーバが最高128ギガバイトのRAMを使用できるようになると見込まれている。この場合、クラッシュ後に全面的メモリダンプを実行し、その後システムを再起動することは普通、非現実的である。
全面的メモリダンプの実行に代わるものもある。たとえば、オペレーティングシステムのカーネルスペースあるいは特定のプロセスに割り当てられたスペース等、メインメモリの一部のメモリダンプを実行することができる。しかしながら、普通は、クラッシュがカーネルモードのプロセスによるものか、特定のユーザプロセスによるものかを事前に知ることはできない。さらに、システムの「フリーズ」を伴う場合、プロセスごとに異なるメモリダンプを生成することはできない。
本発明は、コンピュータのメインメモリのデータイメージを、必要な再起動の実行の遅れを最小限にするような方法で、二次記憶装置に書き込むための方法とシステムを提供することに関する。再起動の前に、物理メモリの一部分がコピーされる。コンピュータが再起動されると、オペレーティングシステムは当初、メモリのうち起動以前にコピーされた部分しか利用できない。残りの物理メモリは、記憶装置に付加的に書き込まれ、オペレーティングシステムが使用するためのメモリとして動的に追加される。
本発明の一態様によれば、予約されたメモリスペースが保持される。再起動以前に物理メモリの一部をコピーすることは、予約されたスペースにその部分をコピーすることからなる。再起動後、予約されたメモリスペースが記憶装置に書き込まれる。
本発明の別の態様によれば、予約されたメモリスペースは使用されず、再起動以前に物理メモリの一部をコピーすることは、その部分を二次記憶装置に書き込むことからなる。
本発明のさらに別の態様によれば、再起動以前にコピーされた物理メモリは、メモリの中の予約されたメモリスペースにコピーされる部分と、二次記憶装置に書き込まれる別の部分を含む。
本発明はまた、システムクラッシュイベント等、再起動が必要となる問題を調査するための方法に関する。再起動後、メモリイメージがスキャニングされ、メモリダンプが付加的に生成される。しかしながら、スキャニング中、問題が既知の事柄である、あるいはその他、全面的メモリコピーの作成が不要と判断された場合、メモリダンプの実行をキャンセルすることができる。
本発明は、再起動を必要とする状況において、大型メモリを二次記憶装置にコピーすることに伴うダウンタイムを減少させる技術を提案する。本発明によれば、メモリダンプの作成は、システム再起動が行われるまで遅延され、その結果、システムはクラッシュ等のイベント後、比較的迅速に再起動することが可能である。当初のメモリ領域がコピーされ、限定されたメモリスペースを、オペレーティングシステムが再起動後に使用できるようにする。再起動後、オペレーティングシステムはまず、この限定された容量の物理メモリで動作する。オペレーティングシステムの制御範囲外にあるメモリスペースがスキャニングされ、メモリダンプファイルまたはその他に書き込まれる。個々の独立した区域をスキャニングし、書き込んだ後に、オペレーティングシステムはこれに対応する量の物理メモリをシステムに付加する。再起動がシステムクラッシュまたはその他の問題による場合、メモリイメージがスキャニングされるので、起動後直ちにその問題の原因を調査することができる。問題が既知の事柄に起因する場合、あるいはその他、容易に解決できる場合、全面的メモリダンプの作成をキャンセルすることができる。
図2、図3、図4を見ると、本発明の実施形態が示されている。図1において、これらの図面は時間経過に伴うイベントを示しており、時間は左から右に経過する。この説明と付属の図面において、物理メモリの全範囲の開始または終了時等、物理メモリの特定の領域にあるメモリ部分の説明と図は、純粋に説明を単純にするためのものである。
(実施形態1)
図2に示すように、本発明のひとつの実施形態において、コンピュータシステムは、nメガバイト201の物理メモリを備えるように描かれているが、クラッシュイベント発生前は、メモリの(n−m)メガバイト分203で動作している。メモリのmメガバイト領域は、「予約された」スペース205である。ひとつの実施形態において、予約された領域205の大きさは、内蔵メモリサイズの総計の半分を上限として構成することができる。
クラッシュイベント207が発生すると、メモリ部分203の最初のmメガバイト分209は予約された領域205にコピーされる(矢印211で示す)。このコピーには、メインメモリから、およびメインメモリへのデータの伝送がかかわるため、比較的迅速に完了する。再起動213が行われるが、システムはmメガバイト分のメモリ209を使用するよう構成されている。システムは、物理メモリのうちオペレーティングシステムによって認識されない範囲にアクセスするために、特定のアーキテクチャ等で、プライベートページディレクトリエントリ(PDE)またはその他を設定するメカニズムを利用する。プライベートPDEを使用する実施形態において、少なくとも4メガバイトのページングサイズが使用される。
再起動213の後、クラッシュ発生前のメモリイメージはシステムメモリの中に残る。後述のように、いくつかの実施形態において、これには、BIOSを変更する必要がある。システムは、予約された領域205の中のメモリデータをメモリダンプファイル215に書き込む。書き込みは、矢印225で示される。システムは、mMB217から(n−m)MB219の範囲にあるメモリデータを付加的にスキャニングし、メモリダンプファイル215に書き込む。メモリのスキャニング、書き込み、追加を、点線の矢印223によって示す。メモリ221のユニット(たとえば、ある範囲内の256MBまたは512MBずつ)がスキャニングされ、メモリダンプファイル215に書き込まれると、オペレーティングシステムは利用可能となったこの物理メモリをシステムに動的に追加する。
物理アドレス拡張(PAE)またはこれと同様のメモリアドレス指定メカニズムのアーキテクチャで実現される特定の実施形態は、仮想予約スペースを使用し、仮想予約スペースを物理的な予約スペース205にマッピングする。分割されたNUMAマルチプロセッサシステムで実現される実施形態では、システムの物理的メモリレイアウトに従って、各ノードについて予約された領域205を有する。関連するトポロジー情報が、ファームウェアによって構成されるStatic Resource Affinity Table(SRAT)等により、起動時に決定される。
(実施形態2)
図3に示されるように、本発明の別の実施形態では、予約されたメモリ領域は使用されない。当初、システムはnメガバイトの物理メモリ全体301で動作する。クラッシュイベント303の発生後、メモリ301の当初のmメガバイト分305がメモリダンプファイル309にコピーされる(矢印307によって示される)。次に再起動311が行われるが、システムはメモリのmメガバイト分305まで使用するよう構成されている。再起動311の後、クラッシュ前のメモリイメージは、再起動311の前にダンプファイル309への書き込み307が行われるmメガバイト分305に格納されたデータとは別に、システムメモリの中に残る。システムは、mMB313からnMB315までの範囲にあるメモリデータをスキャニングしてメモリダンプファイル309に付加的に書き込む。前述の実施形態と同様に、メモリのユニット317がスキャニングされ、メモリダンプファイル309に書き込まれると、オペレーティングシステムは、利用可能となったこの物理メモリをシステムに動的に追加する。メモリのスキャニング、書き込み、追加は、点線の矢印319によって示される。
他はすべて同じであるが、図3に示される実施形態は、図2について説明した前の実施形態よりメモリダンププロセスの完了に時間がかかる。図3の実施形態では、部分的なメモリスペースがクラッシュ発生後にディスクに書き込まれる。しかしながら、この方法は、再起動以前にメモリスペース全体がディスクに書き込まれる図1の先行技術による方法より、ずっと短い時間ですむ。さらに、図3に示される実施形態は、予約された領域が使用されないため、一般により高速な図2の実施形態より、メモリを経済的に利用する。
(実施形態3)
図4に、図2、図3に示される実施形態の機能を備える、本発明の第三の実施形態を示す。図4のシステムは、nメガバイト401のメモリを備えているが、当初はメモリの(n−m1)メガバイト分403で動作し、m1メガバイトの予約されたメモリ領域405を有する。クラッシュイベント407が発生した後、メモリ302の最初のm1メガバイト分409は予約された領域405にコピーされ(矢印413で示される)、メモリ403のうちのさらなるm2メガバイト領域411がメモリダンプファイル417に書き込まれる(矢印415により示される)。次に、再起動419が行われるが、システムはメモリの(m1+m2)メガバイト分409,411まで使用できるよう構成されている。再起動419の後、予約された領域405内のデータがメモリダンプファイル417に書き込まれる。書き込みは矢印429によって示される。システムは、(m1+m2)MB421から(n−m1)MB423の範囲内のメモリデータをスキャニングし、メモリダンプファイル417に付加的に書き込む。メモリのスキャニング、書き込み、追加は、点線の矢印427によって示される。メモリのユニット425がスキャニングされ、メモリダンプファイル417に書き込まれると、オペレーティングシステムは、利用可能となったこの物理メモリをシステムに動的に追加する。
図5、図6、図7のフロー図は、コンピュータを使って実行されるプロセスとして、前述の実施形態をより明確に示す。図5は、図2に示す実施形態に関連する方法を示す。ステップ501において、コンピュータは、mメガバイトのメモリ領域が予約された状態で起動する。クラッシュ(ステップ503)の発生に続き、ステップ505において、mメガバイトのメモリ(この例では、メモリの最初のmメガバイト)が、予約された領域にコピーされる。ステップ507において、コンピュータは、最大mメガバイトのメモリを使って再起動される。ステップ509において、予約された領域に含まれるデータがメモリダンプファイルに書き込まれる。ステップ511で、オペレーティングシステムは、残っている物理メモリの中のデータイメージをスキャニングし、ダンプファイルに書き込む(予約された領域または予約された領域にコピーされたmメガバイト領域は含まない)。付加的に、システムは物理メモリを追加する(たとえば、スキャニングされ、書き込まれたメモリの256または512メガバイトごと)。
図6は、図3の実施形態に関連する方法であり、予約された領域が使用されない。システムがその利用可能なnメガバイトの物理メモリを使用して起動した後、ステップ601においてクラッシュが発生する。ステップ603で、メモリの最初のmメガバイトがメモリダンプファイルに書き込まれる。ステップ605で、システムは、最大mメガバイトのメモリを使って再起動する。ステップ607で、オペレーティングシステムは、残りの物理メモリの中のデータイメージをスキャニングし、ダンプファイルに書き込む。付加的に、システムは物理メモリを追加する。
図7は、図4に示す実施形態に関連する複合型の方法を示す。ステップ701で、コンピュータはm1メガバイトの予約された領域を保った状態で起動する。クラッシュが発生した後(ステップ703)、ステップ705において、メモリの最初のm1メガバイトが予約された領域にコピーされる。ステップ707で、メモリの中の別のm2メガバイトがメモリダンプファイルに書き込まれる。ステップ709で、コンピュータは、最大(m1+m2)メガバイトのメモリを使って再起動する。ステップ711において、予約された領域の中に含まれるm1メガバイトのデータがダンプファイルに書き込まれる。ステップ713で、システムは残りの物理メモリ内のデータイメージをスキャニングし、これをダンプファイルに書き込む(システムが起動に使用する(m1+m2)メガバイト領域とm1メガバイトの予約されたメモリ領域を除く)。付加的に、システムは物理メモリを追加する。
図8のフロー図が示すように、本発明の実施形態は、システムクラッシュ等、再起動が必要となる問題を調査するための方法を提供する。本発明によれば、ある状況において、再起動後の全面的な診断的メモリダンプを避けることができる。図8のステップ801において、クラッシュイベントが発生する。ステップ803で、上述のように、メモリのmメガバイトは、予約されたメモリスペースまたはメモリダンプファイルにコピーされ、あるいはm1メガバイトのサブセットは、予約されたメモリスペースに、m2メガバイトのサブセットがダンプファイルにそれぞれ書き込まれる。ステップ805において、システムは、オペレーティングシステムがメモリを最大mメガバイトまで使用した状態で再起動する。予約されたメモリ領域が使用されると、予約されたスペースはダンプファイルに書き込まれる(ステップ807)。ステップ809において、メモリイメージのスキャニングが始まる。スキャニング中、再起動が必要となる問題が既知の事柄である、あるいは容易に解決できる事柄であると判断された場合(決定ブロック811)、全面的メモリダンプの作成は(たとえば、システム管理者によって)キャンセルされる(ステップ815)。これ以外の場合、全面的メモリダンプが前述のように生成される(ステップ813)。このように、この技術を使うことにより、問題の調査は、全面的メモリダンプが生成されるまで待つのではなく、再起動後直ちに開始される。問題が既知の事柄である場合、再起動以降、システムが限定的メモリで動作し、低速のパフォーマンスを見せる時間が短縮される。
上記の説明から、クラッシュまたはこれに類するイベントが発生した場合や、大きな物理メモリを有するシステムの全面的メモリダンプを行うことが望ましい場合、より高速な再起動を可能とする新規かつ有用な発明が提案されることがわかる。再起動の後、システムは、少ないメモリ容量で動作し、メモリダンプを生成しているため、比較的低速で動作する。しかしながら、本発明により、システム管理者は、先行技術では不可能であった、ダウンタイムと起動後の当初のシステム性能のバランスを望ましいものに設定することができる。たとえば、システムが、内蔵メモリの半分を使用するよう構成されていると、クラッシュと再起動の後、システムは想定されたメモリサイズで動作しながら、直ちにメモリダンプを生成する。予約された領域が使用される場合、再起動後に必要なサービスを実行できるよう、予約された領域のサイズを設定することが可能である。
本発明の実施形態は、一般に内蔵ROMまたはフラッシュメモリに埋め込まれた基本入力/出力システム(BIOS)ファームウェア等が起動時に実行されるコンピュータシステムにおいて実現することができる。従来のシステムでは、BIOSは、その第一段階として、オペレーティングシステムをロードする前にコンピュータハードウェアをテストし、初期化するパワーオン・セルフテスト(POST)を含む。POSTは一般に、システムRAMの読み書きテストを含む。したがって、コンピュータのウォームリブートまたはリセットの場合、物理メモリ内の内容は上書きされる。そこで、本発明の実施形態は、クラッシュその他、メモリダンプが望まれるイベントが発生した後の再起動中にメモリテストが行われず、メモリの内容が起動中も保存され、再起動後にメモリダンプの作成が行われるようにBIOSが構成されている実施形態を含む。本発明の他の態様は、従来のBIOS定義を変更することによって実現できる。
本発明は、たとえば、サーバ、ワークステーションまたはパーソナルコンピュータ等、各種の汎用もしくは特定用途コンピュータシステムによって実装され、あるいはこれを含むことができ、あるいはその中に含めることができ、これにはユニプロセッサとマルチプロセッサマシンの両方が含まれる。マルチプロセッサシステムの場合、前述のように、UMAだけでなくNUMAアーキテクチャも適している。このようなコンピューティングシステムとそのさまざまな構成に関する詳細は、当業者にとって基本である。本発明は特に、システムに内蔵か、外付け(たとえば、高速ファイバチャネルによって接続された外付け記憶装置等)かを問わず、ひとつまたは複数の二次記憶装置とともに、比較的大容量のメインメモリを備えるコンピュータシステムに適している。
以上、本発明を、クラッシュイベントが発生し、診断のために全面的メモリダンプが望まれる設定において実行されるものとして説明した。しかしながら、本発明は、大量のメモリを二次記憶装置に書き込むことが望まれる場合や、再起動は必要であるが、メモリの書込みが完了するまで再起動を待つことが望まれない、他の状況にも広く応用できる。たとえば、データベース管理システムの性能を高めるために、ハードディスクからメインメモリにデータベースをマッピングすることができる。しかしながら、システムを高速で再起動しなければならない場合、データベースメモリイメージはディスクに保存しなければならない。本発明は、再起動を延期することなく、データをディスクに書き込むことを可能にする方法とメカニズムを提供する。
本明細書では、発明者が本発明の実行にとって最良と考えるモードを含め、本発明の好ましい実施形態を説明した。本発明の原理を適用することのできる多くの実施形態の可能性を鑑み、本明細書で説明した実施形態は例にすぎず、本発明の範囲を限定するものと理解すべきではない。当業者であれば、上記の実施形態を、本発明の精神から逸脱することなく、その配置および詳細において変更できることがわかるであろう。したがって、ここで説明した発明は、添付の請求範囲およびこれと同等物の中に含まれるそのようなすべての実施形態も予期している。
先行技術に従って、システムクラッシュ後に全面的メモリダンプを生成し、その後再起動される様子を示す図である。 本発明の一実施形態による、予約されたメモリ領域を使って再起動後にメモリダンプが実行される、システムクラッシュ後のメモリダンプの生成を示す図である。 本発明の一実施形態による、部分的メモリダンプが再起動以前に実行され、予約されたメモリ領域が使用されない、システムクラッシュ後のメモリダンプの生成を示す図である。 本発明の一実施形態による、図2と図3に示す実施形態の特徴が組み合わされたシステムクラッシュ後のメモリダンプの生成を示す図である。 本発明の一実施形態による、図2に示す実施形態に対応するプロセスのステップを説明するフロー図である。 本発明の一実施形態による、図3に示す実施形態に対応するプロセスのステップを説明するフロー図である。 本発明の一実施形態による、図4に示す実施形態に対応するプロセスのステップを説明するフロー図である。 本発明の一実施形態による、再起動を必要とする問題を調査する方法のステップを説明するフロー図である。

Claims (26)

  1. 物理メモリの第1の位置から前記物理メモリの第2の位置に前記物理メモリの第1のサブセットをコピーすることにより全メモリダンプを開始するステップであって、前記第2の位置は前記物理メモリ内の予約されたメモリスペースである、ステップと、
    コンピュータを再起動するステップと、
    前記コンピュータ上で動作するオペレーティングシステムを前記物理メモリの第1のサブセットに限定するステップと、
    前記物理メモリのうち、前記第1のサブセット以外のまたは複数のユニットに関して、ユニット毎に、前記ユニット内のデータを記憶装置に書き込み、前記ユニットを前記オペレーティングシステムが使用するように動的に追加するステップと、
    クラッシュが既知の問題であることが確定するとき、前記全メモリダンプの完了をキャンセルするステップと
    を備えたことを特徴とするコンピュータにおいて物理メモリに含まれるデータを記憶装置に書き込む方法。
  2. 請求項1に記載の方法であって、
    前記物理メモリの前記第1のサブセットをコピーするステップは、さらに、クラッシュイベントが発生した後に前記物理メモリの前記第1のサブセットをコピーするステップを含むことを特徴とする方法。
  3. 請求項1に記載の方法であって、
    前記物理メモリの前記第1のサブセットをコピーするステップは、さらに、前記物理メモリの前記第1のサブセットを前記物理メモリ内に予約されたメモリスペースにコピーするステップを含むことを特徴とする方法。
  4. 請求項3に記載の方法であって、
    前記コンピュータの再起動後、前記予約されたメモリスペース内のデータを前記記憶装置に書き込むステップをさらに備えたことを特徴とする方法。
  5. 請求項4に記載の方法であって、
    前記予約されたメモリスペース内の前記データを前記記憶装置に書き込むステップは、前記予約されたメモリスペース内の前記データをメモリダンプファイルに書き込むステップをさらに含むことを特徴とする方法。
  6. 請求項3に記載の方法であって、
    前記物理メモリの前記第1のサブセットを前記予約されたメモリスペースにコピーするステップは、前記物理メモリの前記第1のサブセットを、前記物理メモリの半分を上限とする予約されたメモリスペースに書き込むステップをさらに含むことを特徴とする方法。
  7. 請求項3に記載の方法であって、
    前記物理メモリの前記第1のサブセットを前記予約されたメモリスペースにコピーするステップは、前記物理メモリの前記第1のサブセットを、物理的な予約されたスペースにマッピングされる仮想の予約されたスペースにコピーするステップをさらに含むことを特徴とする方法。
  8. 請求項1に記載の方法であって、
    前記物理メモリの前記第1のサブセットをコピーするステップは、前記物理メモリの前記第1のサブセットを前記記憶装置に書き込むステップをさらに含むことを特徴とする方法。
  9. 請求項8に記載の方法であって、
    前記物理メモリの前記第1のサブセットを前記記憶装置に書き込むステップは、前記第1のサブセットをメモリダンプファイルに書き込むステップをさらに含むことを特徴とする方法。
  10. 請求項1に記載の方法であって、
    前記物理メモリの前記第1のサブセットをコピーするステップは、前記第1のサブセット内の第2のサブセットを予約されたメモリスペースにコピーし、前記第1のサブセット内の前記第2のサブセット以外の第3のサブセットを前記記憶装置に書き込むステップをさらに含むことを特徴とする方法。
  11. 請求項10に記載の方法であって、
    前記物理メモリの前記第3のサブセットを前記記憶装置に書き込むステップは、前記物理メモリの前記第3のサブセットをメモリダンプファイルに書き込むステップをさらに含むことを特徴とする方法。
  12. 請求項10に記載の方法であって、
    前記コンピュータの再起動後、前記予約されたメモリスペース内のデータを前記記憶装置に書き込むステップをさらに備えたことを特徴とする方法。
  13. 請求項12に記載の方法であって、
    前記予約されたメモリスペース内のデータを前記記憶装置に書き込むステップは、前記予約されたメモリスペース内のデータをメモリダンプファイルに書き込むステップをさらに含むことを特徴とする方法。
  14. 請求項1に記載の方法であって、
    前記コンピュータの再起動後に、前記オペレーティングシステムによって認識されない前記物理メモリの第2のサブセットにアクセスするプライベートページディレクトリエントリ(PDE)を確立するステップをさらに備えたことを特徴とする方法。
  15. 請求項1に記載の方法であって、
    前記コンピュータを再起動するステップは、前記物理メモリに含まれる前記データを上書きしないBIOSを実行するステップをさらに含むことを特徴とする方法。
  16. コンピュータのメモリの第1のサブセットをコピーすることにより、クラッシュイベントに応答して物理メモリの全メモリダンプを開始するステップと、
    前記コンピュータを再起動するステップと、
    前記コンピュータ上で動作するオペレーティングシステムを、前記メモリの第1のサブセットに限定するステップと、
    前記物理メモリの全メモリダンプを完了している場合を除き、前記クラッシュが既知の問題であることが確定するとき、前記全メモリダンプの完了をキャンセルするステップと
    を備えたことを特徴とするコンピュータの再起動を必要とする問題を調査する方法。
  17. 請求項16に記載の方法であって、
    前記全メモリダンプを完了するステップは、前記物理メモリの第2のサブセットをコピーするステップと、前記オペレーティングシステムが使用するために前記物理メモリの第2のサブセットを動的に追加するステップとを含むことを特徴とする方法。
  18. 請求項16に記載の方法であって、
    前記全メモリダンプの作成をキャンセルするステップは、追加の物理メモリを前記オペレーティングシステムにより使用可能とするステップをさらに含むことを特徴とする方法。
  19. 請求項16に記載の方法であって、
    前記メモリの前記第1のサブセットをコピーするステップは、前記メモリの前記サブセットを、前記メモリの前記第1のサブセットと同じ前記物理メモリ内に予約されたメモリスペースにコピーするステップをさらに含むことを特徴とする方法。
  20. 請求項19に記載の方法であって、
    前記コンピュータの再起動後、前記予約されたメモリスペース内のデータを記憶装置に書き込むステップをさらに含むことを特徴とする方法。
  21. 請求項16に記載の方法であって、
    前記メモリの前記第1のサブセットをコピーするステップは、前記メモリの前記第1のサブセットを記憶装置に書き込むステップをさらに含むことを特徴とする方法。
  22. 請求項16に記載の方法であって、
    前記メモリの前記第1のサブセットをコピーするステップは、前記メモリの第2のサブセットを、前記メモリの前記第1のサブセットと同じ前記物理メモリ内に予約されたメモリスペースにコピーするステップと、
    前記第1のサブセット内の前記第2のサブセット以外の第3のサブセットを記憶装置に書き込むステップとをさらに含むことを特徴とする方法。
  23. データを含む物理メインメモリと、
    前記物理メインメモリの第1のサブセットと、
    オペレーティングシステムであって、
    前記物理メインメモリの第1の位置から前記物理メインメモリの第2の位置に前記物理メインメモリの前記第1のサブセットをコピーすることにより全メモリダンプを開始する動作であって、前記第2の位置は前記物理メモリ内の予約されたメモリスペースである、動作と、
    再起動させる動作と、
    前記再起動後のメモリの使用を、前記物理メインメモリの前記第1のサブセットに限定する動作と、
    前記物理メインメモリのうち、前記第1のサブセット以外の1つまたは複数のユニットに関して、ユニット毎に、前記ユニット内のデータを記憶装置に書き込み、前記オペレーティングシステムにより利用するために前記ユニットを動的に追加する動作と、
    クラッシュが既知の問題であることが確定するとき、前記全メモリダンプの完了をキャンセルする動作と
    を含む動作を実施するよう構成されたオペレーティングシステムと、
    を備えたことを特徴とするデータを記憶装置に書き込むシステム。
  24. 請求項23のシステムであって、
    メインメモリデータベースをさらに備えたことを特徴とするシステム。
  25. 請求項23のシステムであって、
    前記物理メインメモリに含まれるデータが上書きされないようにするBIOSをさらに備えたことを特徴とするシステム。
  26. 物理メモリに含まれるデータを記憶装置に書き込むためのコンピュータ実行可能命令を記憶させたコンピュータ読取可能記録媒体であって、
    コンピュータに、
    前記物理メモリの第1の位置から前記物理メモリの第2の位置に前記物理メモリの第1のサブセットをコピーすることにより全メモリダンプを開始するステップであって、前記第2の位置は前記物理メモリ内の予約されたメモリスペースである、ステップと、
    前記コンピュータを再起動するステップと、
    前記コンピュータ上で動作するオペレーティングシステムを、前記物理メモリの前記第1のサブセットに限定するステップと、
    前記物理メモリのうち、前記第1のサブセット以外のまたは複数のユニットに関して、ユニット毎に、前記ユニット内のデータを記憶装置に書き込み、前記オペレーティングシステムが使用するために前記ユニットを動的に追加するステップと、
    クラッシュが既知の問題であることが確定するとき、前記全メモリダンプの完了をキャンセルするステップと
    実行させるための前記コンピュータ実行可能命令を記録したコンピュータ読取可能記録媒体。
JP2005241646A 2004-08-23 2005-08-23 高速再起動を伴うメモリダンプ生成 Expired - Fee Related JP5021190B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/924,712 US7509521B2 (en) 2004-08-23 2004-08-23 Memory dump generation with quick reboot
US10/924,712 2004-08-23

Publications (3)

Publication Number Publication Date
JP2006072997A JP2006072997A (ja) 2006-03-16
JP2006072997A5 JP2006072997A5 (ja) 2010-02-12
JP5021190B2 true JP5021190B2 (ja) 2012-09-05

Family

ID=35464214

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005241646A Expired - Fee Related JP5021190B2 (ja) 2004-08-23 2005-08-23 高速再起動を伴うメモリダンプ生成

Country Status (5)

Country Link
US (1) US7509521B2 (ja)
EP (1) EP1630673B1 (ja)
JP (1) JP5021190B2 (ja)
KR (1) KR101201186B1 (ja)
CN (1) CN100483347C (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0405711D0 (en) * 2004-03-13 2004-04-21 Hewlett Packard Development Co Method and apparatus for dumping memory
US7383471B2 (en) * 2004-12-28 2008-06-03 Hewlett-Packard Development Company, L.P. Diagnostic memory dumping
JP2007087263A (ja) * 2005-09-26 2007-04-05 Nec Corp ミラーメモリ構成のコンピュータシステムにおけるダンプ方法、ダンプ制御機構、およびダンププログラム
US7788537B1 (en) * 2006-01-31 2010-08-31 Emc Corporation Techniques for collecting critical information from a memory dump
US7770056B2 (en) * 2006-10-18 2010-08-03 Hewlett-Packard Development Company, L.P. System and method for dynamic page classification for memory dumping
US8127099B2 (en) * 2006-12-26 2012-02-28 International Business Machines Corporation Resource recovery using borrowed blocks of memory
US7783932B1 (en) * 2007-04-13 2010-08-24 Network Appliance, Inc. Method and apparatus for generating dynamic microcores
CN101295268B (zh) * 2007-04-27 2011-03-02 国际商业机器公司 面向软件系统的分区存储器转储方法和装置
JP5255348B2 (ja) * 2007-07-16 2013-08-07 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. クラッシュダンプ用のメモリアロケーション
US7818616B2 (en) * 2007-07-25 2010-10-19 Cisco Technology, Inc. Warm reboot enabled kernel dumper
JP4838226B2 (ja) * 2007-11-20 2011-12-14 富士通株式会社 ネットワークロギング処理プログラム,情報処理システムおよびネットワークロギング情報自動退避方法
US7818622B2 (en) * 2008-04-29 2010-10-19 International Business Machines Corporation Method for recovering data processing system failures
JP5119047B2 (ja) * 2008-05-29 2013-01-16 京セラドキュメントソリューションズ株式会社 操作表示装置及び画像形成装置
JP5286942B2 (ja) * 2008-05-30 2013-09-11 富士通株式会社 制御方法、制御プログラム及び情報処理装置
US8578144B2 (en) * 2010-08-04 2013-11-05 International Business Machines Corporation Partial hibernation restore for boot time reduction
CN102184145B (zh) * 2011-05-13 2013-04-17 杭州华三通信技术有限公司 重启数据不丢失方法及装置
GB2508344A (en) 2012-11-28 2014-06-04 Ibm Creating an operating system dump
KR102014083B1 (ko) * 2012-12-31 2019-08-27 삼성전자주식회사 단말기의 메모리 관리방법 및 장치
GB2520712A (en) * 2013-11-28 2015-06-03 Ibm Data dump method for a memory in a data processing system
JP2015114750A (ja) * 2013-12-10 2015-06-22 富士通株式会社 調査用プログラム,情報処理装置及び情報処理方法
US10102052B2 (en) 2014-01-29 2018-10-16 Hewlett Packard Enterprise Development Lp Dumping resources
JP6327026B2 (ja) 2014-07-10 2018-05-23 富士通株式会社 情報処理装置、情報処理方法およびプログラム
US9442791B2 (en) 2014-11-07 2016-09-13 International Business Machines Corporation Building an intelligent, scalable system dump facility
JP2016170463A (ja) * 2015-03-11 2016-09-23 富士通株式会社 情報処理装置、カーネルダンプ方法、カーネルダンププログラム
US9710321B2 (en) * 2015-06-23 2017-07-18 Microsoft Technology Licensing, Llc Atypical reboot data collection and analysis
US10025650B2 (en) 2015-09-17 2018-07-17 International Business Machines Corporation Determining a trace of a system dump
WO2018148923A1 (en) * 2017-02-17 2018-08-23 Intel Corporation Application and system fast launch by virtual address area container
US10585736B2 (en) 2017-08-01 2020-03-10 International Business Machines Corporation Incremental dump with fast reboot
CN110309008B (zh) * 2018-03-20 2023-06-20 浙江宇视科技有限公司 系统异常时内存数据的保存方法及系统
US11644999B2 (en) * 2021-09-10 2023-05-09 Qualcomm Incorporated Protecting memory regions based on occurrence of an event

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02199557A (ja) * 1989-01-30 1990-08-07 Hitachi Ltd メモリダンプ取得方法
JPH02292640A (ja) * 1989-05-02 1990-12-04 Nec Corp メモリダンプ採取方式
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
JPH0512049A (ja) * 1991-06-25 1993-01-22 Nec Ibaraki Ltd 障害情報採取方式
JP3175684B2 (ja) * 1998-03-25 2001-06-11 日本電気株式会社 ダンプ出力制御方式
US6226761B1 (en) 1998-09-24 2001-05-01 International Business Machines Corporation Post dump garbage collection
US6604123B1 (en) * 1999-02-23 2003-08-05 Lucent Technologies Inc. Operating system transfer of control and parameter manipulation using portals
US6543010B1 (en) 1999-02-24 2003-04-01 Hewlett-Packard Development Company, L.P. Method and apparatus for accelerating a memory dump
JP2000267872A (ja) * 1999-03-17 2000-09-29 Fujitsu Ltd 2重化システムにおける再開処理方式
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2001109648A (ja) * 1999-10-04 2001-04-20 Fujitsu Ltd 情報取得方法、情報取得装置、及び記録媒体
JP3903678B2 (ja) * 2000-02-15 2007-04-11 株式会社日立製作所 計算機システムのダンプ処理方法
JP2001290677A (ja) 2000-04-07 2001-10-19 Hitachi Ltd 高速ダンプ採取方法
JP2001290678A (ja) 2000-04-07 2001-10-19 Hitachi Ltd 非同期メモリダンプ実行方式
US6681348B1 (en) 2000-12-15 2004-01-20 Microsoft Corporation Creation of mini dump files from full dump files
US6671786B2 (en) 2001-06-07 2003-12-30 Microsoft Corporation System and method for mirroring memory with restricted access to main physical mirrored memory
US6658538B2 (en) * 2001-06-21 2003-12-02 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system having a page table including node-specific data storage and coherency control
US6763441B2 (en) * 2002-01-23 2004-07-13 International Business Machines Corporation System and method for using ancillary processors and storage to speed time critical data capture
US6687799B2 (en) * 2002-01-31 2004-02-03 Hewlett-Packard Development Company, L.P. Expedited memory dumping and reloading of computer processors
US20030158842A1 (en) * 2002-02-21 2003-08-21 Eliezer Levy Adaptive acceleration of retrieval queries
JP2003271694A (ja) * 2002-03-18 2003-09-26 Fujitsu Ltd プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム
US7290175B1 (en) * 2002-08-26 2007-10-30 Unisys Corporation Forcing a memory dump for computer system diagnosis
JP2004102395A (ja) 2002-09-05 2004-04-02 Hitachi Ltd メモリダンプデータの取得方法および情報処理装置、ならびにそのプログラム

Also Published As

Publication number Publication date
EP1630673A2 (en) 2006-03-01
KR101201186B1 (ko) 2012-11-13
EP1630673A3 (en) 2011-04-27
EP1630673B1 (en) 2014-12-03
US7509521B2 (en) 2009-03-24
CN1760834A (zh) 2006-04-19
US20060041739A1 (en) 2006-02-23
KR20060050560A (ko) 2006-05-19
JP2006072997A (ja) 2006-03-16
CN100483347C (zh) 2009-04-29

Similar Documents

Publication Publication Date Title
JP5021190B2 (ja) 高速再起動を伴うメモリダンプ生成
JP4363676B2 (ja) コンピュータシステム
US8255614B2 (en) Information processing device that accesses memory, processor and memory management method
US7437524B2 (en) Method and apparatus for dumping memory
JP5636034B2 (ja) データ利用についてのマウント時間の調停
JP4886866B2 (ja) 主記憶装置へのアクセスを高速化する方法および記憶装置システム
JP5783809B2 (ja) 情報処理装置、起動方法およびプログラム
JP2008077144A (ja) 仮想化システム、メモリ管理方法及び制御プログラム
JP2006072997A5 (ja)
US20110213954A1 (en) Method and apparatus for generating minimum boot image
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
US7200705B2 (en) Method of checkpointing state of virtual memory for process
KR101303535B1 (ko) 메인 메모리를 이용한 메모리 디스크 구성 방법 및 장치
JP2005122334A (ja) メモリダンプ方法、メモリダンプ用プログラム及び仮想計算機システム
JP4289028B2 (ja) ハードディスクバックアップリカバリーシステム、および情報処理装置
JP3702233B2 (ja) 情報処理システムおよびプログラム実行モード制御方法
JP4471274B2 (ja) ハードディスクイメージファイルからosを起動する方法
JP3614886B2 (ja) ファイルシステム
JP2010044503A (ja) コンピュータプログラム、および、記録媒体
JP4800701B2 (ja) コンピュータシステム
KR102084661B1 (ko) 디스크 관리 방법 및 이를 수행하는 컴퓨터 장치
US9921960B2 (en) Method and system for deferring system dump
JP2009110297A (ja) 情報処理装置および同装置におけるメンテナンス方法
JP2001051854A (ja) 情報管理システム
JP5685070B2 (ja) 情報処理装置、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080825

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120130

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20120213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120517

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: 20120605

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120614

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150622

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees