JP6252321B2 - メモリ制御方法及び情報処理装置 - Google Patents
メモリ制御方法及び情報処理装置 Download PDFInfo
- Publication number
- JP6252321B2 JP6252321B2 JP2014077566A JP2014077566A JP6252321B2 JP 6252321 B2 JP6252321 B2 JP 6252321B2 JP 2014077566 A JP2014077566 A JP 2014077566A JP 2014077566 A JP2014077566 A JP 2014077566A JP 6252321 B2 JP6252321 B2 JP 6252321B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- processor
- program
- area
- memory area
- 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
- Hardware Redundancy (AREA)
- Debugging And Monitoring (AREA)
Description
本発明は、情報処理装置におけるメモリの制御技術に関する。
システムの運用中に、システムがダウンした場合、原因究明のため、メモリダンプを行うことがある。超大規模システムではメモリの容量が多く、メモリダンプに時間を要するため、システムの運用再開までに時間がかかることになる。
一方、システムの運用再開を優先するため、メモリダンプを行わないと、原因究明に時間を要する。このため、システムの運用再開までの時間を短縮できるような、メモリダンプの方法が求められている。
なお、ある文献には、使用可能なメモリの中で、システムダウン時に未使用であったメモリを用いてシステムを再開する技術が開示されている。しかしながら、未使用メモリの容量は、システムの状態によって異なり、未使用メモリが少なくて、システムを再開するには不十分な場合もある。
また、他の文献では、予めシステムリソースを二重化しておく技術も存在しているが、それではハードウエアのコストが高くなる。
従って、本発明の目的は、一側面によれば、メモリダンプを行う場合においてもシステムの運用再開までの時間を短縮するための技術を提供することである。
本発明の一態様に係るメモリ制御方法は、第1のプロセッサと、第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、第2のプロセッサと、を有するシステムによって実行されるメモリ制御方法である。そして、本メモリ制御方法は、(A)第1のプロセッサが実行する第1のプログラムによる処理が異常停止した後に、第2のプロセッサが第1のメモリ領域における第1の領域のデータを退避し、(B)第2のプロセッサが第1の領域に第2のプログラムをロードし、第1のプロセッサが当該第2のプログラムを実行し、(C)第1のプロセッサが実行する第2のプログラムが、(c1)第1のメモリ領域を第1のプロセッサによりアクセス不可能なメモリ領域に変更し、第2のメモリ領域を第1のプロセッサによりアクセス可能なメモリ領域に変更し、(c2)第1のプロセッサが、変更された第2のメモリ領域を使用して第1のプログラムの実行を開始する処理を含む。
一側面によれば、メモリダンプを行う場合においてもシステムの運用再開までの時間を短縮できるようになる。
図1に本発明の実施の形態に係るシステムの概要を示す。本実施の形態に係る情報処理装置100には、当該情報処理装置100に対する設定を行ったり、指示を入力するためのコンソール200が接続されている。
情報処理装置100は、バス101に接続されているディスク装置103とシステムボード102とSVP(SerVice Processor)104とを有する。なお、情報処理装置100は、他のコンピュータにネットワークを介して接続されている場合もある。
システムボード102は、CPU(Central Processing Unit)1021(第1のプロセッサとも呼ぶ)と、メモリコントローラ1022と、メインメモリ1023とを有する。メモリコントローラ1022は、CPU1021によっては、CPU1021に含まれる場合もある。また、システムボード102には、CPU1021が複数設けられる場合もあれば、情報処理装置100には、システムボード102が複数設けられる場合もある。さらに、情報処理装置100は、ディスク装置103だけではなく、CMT(Cartridge Magnetic Tape)装置その他の外部記憶装置を有している場合もある。
SVP104は、CPU1041(第2のプロセッサとも呼ぶ)及びメモリ1042を有する。SVP104は、情報処理装置100の状態を監視すると共に、コンソール200からの指示に応じて、各種設定や処理を行う。なお、図2に示すように、SVP104は、CPU1041でSVP用のプログラムを実行することで、後に説明するメモリ切替プログラムの補助を行うメモリ切替補助部1045と、メインメモリ1023のメモリ配置データ等を管理するメモリ管理部1046とを実現する。
本実施の形態では、メインメモリ1023のメモリ配置データは、例えば図3に示すようなメインメモリ1023の設定状態の一例を表す。図3の例では、メインメモリ1023は、全体として8Gバイトのサイズを有しており、物理アドレス0から4Gバイト分の領域(使用中メモリ又は第1のメモリ領域と呼ぶ)だけCPU1021によってアクセス可能に設定されており、物理アドレス4Gから4Gバイト分の領域(余剰メモリ又は第2のメモリ領域と呼ぶ)についてはCPU1021によるアクセスは通常は禁止されている。
余剰メモリは、メインメモリ1023の二重化のために用意されているメモリではなく、情報処理装置100のユーザがメモリ増設を物理的に行うことなく、後からCPU1021によって使用可能なメモリの容量を増加できるようにするための予備的なメモリである。例えばコンソール200からSVP104に指示すると、SVP104はシステムボード102におけるメモリコントローラ1022などに設定を行って、CPU1021がアクセス可能なメモリ領域が変化する。
例えば、図4に示すように、初期的には、物理アドレス0から2Gバイト分の領域だけCPU1021によってアクセス可能に設定されており、物理アドレス2Gから6Gバイト分の領域が余剰メモリとなっている。ここで、設定変更を行うことで、図2に示すような状態に変更することができる。このような設定変更については、キャパシティオンディマンドというようなサービスとしてよく知られているので、これ以上の説明は省略する。
なお、本実施の形態に係るCPU1021は、通常の命令の場合には、使用中メモリのみにアクセスできるようになっているが、本実施の形態で導入される特別命令の場合には、余剰メモリにもアクセスできるようになっている。
また、本実施の形態では、ディスク装置103は、例えば図5に示すようなプログラム等を格納している。具体的には、ディスク装置103は、本実施の形態における主要な処理を実行するメモリ切替プログラム1031と、IPL(Initial Program Loader)プログラム1032と、ダンププログラム1033と、OS(Operating System)を含む運用システム用のプログラム1034(第1のプログラムとも呼ぶ)と格納している。なお、ディスク装置103は、メモリ切替プログラム1031やダンププログラム1033等によって退避されたメモリダンプデータ1035も、後に格納されることになる。
メモリ切替プログラム1031は、主に使用中メモリと余剰メモリとの関係を切り替える処理を行う。IPLプログラム1032は、運用システム用のプログラム1034をメインメモリ1023にロードするための処理を実行すると共に、SVP104のメモリ切替補助部1045と連携する。ダンププログラム1033は、余剰メモリに記憶されているデータをダンプするプログラムである。
次に、図6乃至図16を用いて、情報処理装置100で実行される処理について説明する。
まず、通常のシステム起動時には、IPLプログラム1032が、メインメモリ1023にロードされて、CPU1021によって実行されると、IPLプログラム1032は、SVP104のメモリ切替補助部1045に対してメモリ切替プログラム1031のディスク装置103における格納位置を通知する(図6:ステップS1)。
SVP1041のメモリ切替補助部1045は、IPLプログラム1032からメモリ切替プログラム1031のディスク装置103における格納位置を受け取ると、例えばメモリ1042に保持しておく。
そして、IPLプログラム1032をさらに実行すると、OSを含む運用システム用のプログラム1034を、メインメモリ1023にロードして実行する。その後、プログラム1034の処理が異常終了したものとする(ステップS3)。本ステップは、プログラムによる意図した処理ではないので、点線ブロックで示されている。
このシステムダウン(ステップS3)を、ユーザはSVP104及びコンソール200を介して認識して、メモリダンプを伴うシステム再起動の指示を行うものとする。
すなわち、SVP104のメモリ切替補助部1045は、ユーザから、メモリダンプを伴うシステム再起動の指示を受け付ける(ステップS4)。そうすると、SVP104のメモリ切替補助部1045等によって、メモリ切替プログラム1031の起動処理を実行する(ステップS5)。この起動処理については、図7乃至図9を用いて説明する。
まず、SVP104のメモリ切替補助部1045は、使用中メモリの先頭部分(例えば物理アドレス0から512バイト。第1の領域と呼ぶ。)を、SVP104のメモリ1042又はディスク装置103に退避させる(ステップS31)。これによって、メモリ切替プログラム1031の一部をメインメモリ1023にロードするための領域を空けることができる。
そして、SVP104のメモリ切替補助部1045は、ステップS1で受け取ったメモリ切替プログラム1031の格納位置を用いてメモリ切替プログラム1031のブート処理部分を読み出し、ステップS31でデータが退避された第1の領域へロードさせる(ステップS33)。
さらに、SVP104のメモリ切替補助部1045は、メインメモリ1023における第1の領域にロードされたブート処理部分を実行させる。そうするとメモリ切替プログラム1031のブート処理部分は、メモリ切替プログラム1031の本体部分(ブート処理部分以外の部分)を格納するための第2の領域に記憶されているデータを、ディスク装置103に退避させる(ステップS35)。ここまで処理を実行すると、図8に模式的に示すように、使用中メモリにおける先頭部分である第1の領域801にロードされたブート処理部分は、第2の領域802に記憶されているデータを、ディスク装置103に退避させる。
さらに、メモリ切替プログラム1031のブート処理部分は、データを退避させた第2の領域802に、本体部分をディスク装置103からロードする(ステップS37)。そうすると、メインメモリ1023は、図9に示すような状態となり、メモリ切替プログラム1031全体を、CPU1021が実行できるようになる。
すなわち、CPU1021は、メモリ切替プログラム1031の本体部分の実行を開始する(ステップS39)。ここまで処理すると、処理は呼び出し元の処理に戻る。
図6の処理の説明に戻って、CPU1021によって実行されるメモリ切替プログラム1031は、SVP104のメモリ管理部1046等から、メモリ配置データを取得する(ステップS7)。図3に模式的に示すように、使用中メモリのサイズ及び余剰メモリの開始アドレス及びサイズなどのメモリ配置データを取得する。このようなメモリ配置データについては、ディスク装置103に格納しておき、後でダンププログラム1033によって参照できるようにしておいても良い。なお、メモリ切替前の使用中メモリにロードされたメモリ切替プログラム1031をメモリ切替プログラムAと呼ぶものとする。
そして、CPU1021によって実行されるメモリ切替プログラム1031は、メモリ切替プログラム1031自身を、余剰メモリ側に、特別命令でコピーする(ステップS9)。
一般的なCPUは、アクセス可能なメモリ領域が制限されている場合には、それ以外のメモリ領域へアクセスすることができない。本実施の形態に係るCPU1021は、例えば図10に示すように、実行すべき命令が、本実施の形態に係る特別な命令であるか否かを判断し、特別な命令であれば(ステップS51:Yesルート)、アクセス可能なメモリ領域外であっても、そのままその命令を実行する(ステップS53)。一方、実行すべき命令が通常の命令であれば(ステップS51:Noルート)、CPU1021は、当該命令のアクセス先が、アクセス可能なメモリ領域内であるか否かを判断する(ステップS55)。アクセス先がアクセス可能なメモリ領域外であれば、CPU1021はエラーを発生させる(ステップS57)。一方、アクセス先がアクセス可能なメモリ領域内であれば、CPU1021は、当該命令を実行する(ステップS59)。このように、本実施の形態に係るCPU1021は、ステップS51及びS53のような処理を行うことができるようになっている。
このようなCPU1021によって、図11に模式的に示すように、余剰メモリ側に、メモリ切替プログラム1031(メモリ切替プログラムB)がコピーされる。
そして、CPU1021によって実行されるメモリ切替プログラム1031(メモリ切替プログラムA)は、使用中メモリと余剰メモリとを切り替えるメモリ配置の変更を実行する(ステップS11)。
具体的には、図12に示すような状態にメモリ配置を切り替える。より具体的には、アドレスについても、切替前の0を4Gバイトに設定し、切替前の8Gバイトを4Gバイトに設定し、切替前の4Gバイトを0に設定する。すなわち、余剰メモリが使用中メモリに変更され、使用中メモリが余剰メモリに変更される。
これによって、切替前の4Gバイトから8Gバイトまでの領域を、OSを含む運用システム用のプログラム1034がアクセスできるようになるが、切替前の0から4Gバイトまでの領域にアクセスできなくなる。すなわち、切替前の使用中メモリに格納されているデータが保護されることになる。
例えば、このような切り替えは、メモリコントローラ1022によって実現される。例えば、切り替え前では、図13に示すように、物理アドレスaがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における使用中メモリの記憶場所Aをアクセスすることになる。また、物理アドレスbがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における使用中メモリの記憶場所Bをアクセスすることになる。さらに、物理アドレスcがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における使用中メモリの記憶場所Cをアクセスすることになる。
これに対して、切り替え後では、図14に示すように、物理アドレスaがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における切り替え後使用中メモリの記憶場所Eをアクセスことになる。また、物理アドレスbがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における切り替え後使用中メモリの記憶場所Fをアクセスすることになる。さらに、物理アドレスcがメモリコントローラ1022に入力されると、メモリコントローラ1022は、メインメモリ1023における切り替え後使用中メモリの記憶場所Gをアクセスすることになる。このように切り替え前のアクセス先から4Gバイト分(余剰メモリの容量分)オフセットした形でアクセスするようになる。
このような切り替えを行うと、制御はメモリ切替プログラムAからメモリ切替プログラムBに切り替わる。
処理は端子Aを介して図15の処理に移行して、CPU1021によって実行されるメモリ切替プログラム1031(メモリ切替プログラムB)は、ディスク装置103に格納されたIPLプログラム1032をメインメモリ1023にロードしてCPU1021に実行させる(ステップS13)。これによってメモリ切替プログラム1031は、メインメモリ1023において上書きされてしまう。そうすると、OSを含む運用システム用のプログラム1034が自動的にメインメモリ1023にロードされて、CPU1021によって実行されるようになる。すなわちシステムが起動される(ステップS15)。システムの起動は、従来技術におけるシステム起動と変わらない状態を表すので、点線ブロックで表されている。
また、運用システム用のプログラム1034と共に又はSVP104等からの指示に応じて、ディスク装置103に格納されたダンププログラム1033は、メインメモリ1023にロードされ、CPU1021によって実行されるようになる(ステップS17)。
ここでは、図16に模式的に示すように、切り替え後の使用中メモリには、運用システム用のプログラム1034がロードされて、ダンププログラム1033も、メインメモリ1023の使用中メモリにロードされる。
CPU1021により実行されるダンププログラム1033は、SVP104のメモリ管理部1046又はディスク装置103(ダンプデータと共にメモリ配置データが格納された場合)から、メモリ配置データを取得して、当該メモリ配置データに従って、切り替え後の余剰メモリに対して、特別命令によってダンプを実行し、余剰メモリ内のデータをディスク装置103に退避させる(ステップS19)。
すなわち、余剰メモリの開始アドレス(より具体的にはメモリ切替プログラム1031の分をオフセットする)及びサイズを、メモリ配置データから特定して、ダンププログラム1033は、ディスク装置103におけるメモリダンプデータ1035として格納する。保存先は他の外部記憶装置などであっても良い。
なお、ダンププログラム1033は、システム運用に悪影響を及ぼさないように、例えばOSから取得されるCPU使用率など処理負荷が閾値以下の場合にダンプを実行するのが好ましい。
以上説明した処理を行うことによって、使用中メモリのダンプを完全に行ってからシステムの運用再開を行うよりも、早期にシステムの運用開始を行うことができるようになる。また、後からダンプすべきメモリ領域が余剰メモリとなって、通常のプログラムによっては書き換え不可能な状態にしておくことで、処理負荷に応じて後からダンプを行うことができる。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、メモリ切替プログラム1031自身のコピーを、余剰メモリ側に行う処理については、メモリ切替処理の後に用いる部分のみをコピーするようにしても良い。例えばIPLプログラム1032をメインメモリ1023にロードして実行させるようにする部分のみをコピーしても良い。また、例えばIPLプログラム1032をメインメモリ1023にロードして実行させるようにする部分を、特別命令によって切り替え前の余剰メモリ側にロードさせるようにしても良い。
ステップS31及びS35で使用中メモリのデータを退避させるが、メモリ切替プログラム1031より大きな領域のデータを退避させるようにしても良い。
上でも述べたが、余剰メモリは、メインメモリ1023の二重化ではなく、要求に応じて使用可能なメモリを拡張できるようにするための予備的なメモリであり、使用中メモリの容量より大きい場合もあれば、同じ場合も小さい場合もある。小さい場合には、状況に応じて本実施の形態に係る処理実行の有無が判断される。
さらに、図1に情報処理装置100の機能構成例を示したが、実質的にこのような機能構成であればよく、実際のハードウエア構成とは一致しない場合もある。
処理フローについても、処理結果が変わらない限り、ステップの実行順番を入れ替えたり、複数ステップを並列に実行したりできる場合もある。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係るメモリ制御方法は、第1のプロセッサと、第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリとを有するシステムによって実行されるメモリ制御方法である。そして、本メモリ制御方法は、(A)第1のプロセッサで実行される第1のプログラムによる処理が異常停止した後に、第1のメモリ領域における第1の領域のデータを退避し、(B)第1の領域に、第2のプログラム(例えば実施の形態に係るメモリ切替プログラム)をロードし、当該第2のプログラムを、第1のプロセッサによって実行し、(C)第1のプロセッサによって第2のプログラムを実行することで、(c1)第1のメモリ領域を第1のプロセッサによりアクセス不可能なメモリ領域に、第2のメモリ領域を第1のプロセッサによりアクセス可能なメモリ領域に変更し、(c2)第1のプロセッサに、第1のプログラムの実行を開始させる処理を含む。
このような処理を行うことで、第1のメモリ領域におけるデータの退避を最小限度に抑えているので、システムの運用再開を早期に行うことができるようになる。但し、第1のメモリ領域は、通常のプログラムである第1のプログラムによっては書き換えられなくなるので、状態が保存されている。なお、第1のメモリ領域は、第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能となっていることもある。
なお、第1のプロセッサによって第2のプログラムを実行することで、さらに、上記変更する処理の前に、第2のプログラムの少なくとも一部を、第2のメモリ領域へのアクセスを可能にする所定の命令で第2のメモリ領域にコピーさせ、第1のプログラムの実行を開始させる処理を、第2のメモリ領域にコピーされた第2のプログラムの少なくとも一部を第1のプロセッサに実行させることで実行するようにしても良い。第2のプログラムによってメモリの切り替えに加えて運用システムの再開が自動的に行われるようになる。
また、上記メモリ制御方法は、(D)第2のメモリ領域に、第1のメモリ領域において第1の領域以外の部分に記憶されているデータを第2のメモリ領域へのアクセスを可能にする所定の命令で退避させる第3のプログラムをロードして第1のプロセッサにより実行するようにしても良い。これによって、運用システムの通常運用中にダンプを行うことができるようになる。
さらに、上記第3のプログラムの処理が、第1のプログラムによる処理負荷が所定レベル以下である場合に実行される場合もある。運用システムへの影響を抑えるためである。
また、上記退避する処理及び上記第1の領域に第2のプログラムをロードする処理の少なくとも一部を、上記システムに含まれる第2のプロセッサにより実行する場合もある。このようにすれば、既存の資源を有効活用して、上で述べたような効果を得ることができるようになる。
本実施の形態の第2の態様に係るメモリ制御方法は、第1のプロセッサと、第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能となっており且つ第1のプロセッサにより第1の命令群によってアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するシステムによって実行されるメモリ制御方法である。そして、このメモリ制御方法は、(A)第1のプロセッサで実行される第1のプログラムによる処理が異常停止した後に、第1のメモリ領域を第1のプロセッサによりアクセス不可能なメモリ領域に設定し、(B)第2のメモリ領域を第1のプロセッサによりアクセス可能なメモリ領域に設定し、(C)第1のプロセッサによって、第2のメモリ領域に、第1のプログラムをロードして実行し、(D)第1の命令群以外の第2の命令群によって第1のメモリ領域に記憶されているデータを読み出す処理を含む。
なお、上で述べたような処理をプロセッサに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のプロセッサと、前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、第2のプロセッサと、を有するシステムによって実行されるメモリ制御方法であって、
前記第1のプロセッサが実行する第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサが前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサが前記第1の領域に第2のプログラムをロードし、前記第1のプロセッサが当該第2のプログラムを実行し、
前記第1のプロセッサが実行する前記第2のプログラムが、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に変更し、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサが、変更された前記第2のメモリ領域を使用して前記第1のプログラムの実行を開始する
メモリ制御方法。
第1のプロセッサと、前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、第2のプロセッサと、を有するシステムによって実行されるメモリ制御方法であって、
前記第1のプロセッサが実行する第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサが前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサが前記第1の領域に第2のプログラムをロードし、前記第1のプロセッサが当該第2のプログラムを実行し、
前記第1のプロセッサが実行する前記第2のプログラムが、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に変更し、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサが、変更された前記第2のメモリ領域を使用して前記第1のプログラムの実行を開始する
メモリ制御方法。
(付記2)
前記第1のプロセッサが実行する前記第2のプログラムが、さらに、
前記変更する処理の前に、前記第2のプログラムの少なくとも一部を、前記第2のメモリ領域へのアクセスを可能にする所定の命令で前記第2のメモリ領域にコピーし、
前記第1のプログラムの実行を開始する処理を、前記第2のメモリ領域にコピーされた前記第2のプログラムの少なくとも一部が実行する
付記1記載のメモリ制御方法。
前記第1のプロセッサが実行する前記第2のプログラムが、さらに、
前記変更する処理の前に、前記第2のプログラムの少なくとも一部を、前記第2のメモリ領域へのアクセスを可能にする所定の命令で前記第2のメモリ領域にコピーし、
前記第1のプログラムの実行を開始する処理を、前記第2のメモリ領域にコピーされた前記第2のプログラムの少なくとも一部が実行する
付記1記載のメモリ制御方法。
(付記3)
前記第2のメモリ領域に、前記第1のメモリ領域において前記第1の領域以外の部分に記憶されているデータを前記第2のメモリ領域へのアクセスを可能にする所定の命令で退避させる第3のプログラムをロードして前記第1のプロセッサが実行する
処理をさらに含む付記1又は2記載のメモリ制御方法。
前記第2のメモリ領域に、前記第1のメモリ領域において前記第1の領域以外の部分に記憶されているデータを前記第2のメモリ領域へのアクセスを可能にする所定の命令で退避させる第3のプログラムをロードして前記第1のプロセッサが実行する
処理をさらに含む付記1又は2記載のメモリ制御方法。
(付記4)
前記第3のプログラムの処理が、前記第1のプログラムによる処理負荷が所定レベル以下である場合に実行される
付記3記載のメモリ制御方法。
前記第3のプログラムの処理が、前記第1のプログラムによる処理負荷が所定レベル以下である場合に実行される
付記3記載のメモリ制御方法。
(付記5)
前記第1のメモリ領域は、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能である
付記1乃至4のいずれか1つ記載のメモリ制御方法。
前記第1のメモリ領域は、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能である
付記1乃至4のいずれか1つ記載のメモリ制御方法。
(付記6)
第1のプロセッサと、
第2のプロセッサと、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能となっており且つ前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、
を有し、
前記第1のプロセッサで実行される第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサにより、前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサにより、前記第1の領域に、第2のプログラムをロードし、当該第2のプログラムを、前記第1のプロセッサに実行させ、
前記第1のプロセッサによって前記第2のプログラムを実行することで、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサに、前記第1のプログラムの実行を開始させる
情報処理装置。
第1のプロセッサと、
第2のプロセッサと、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能となっており且つ前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、
を有し、
前記第1のプロセッサで実行される第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサにより、前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサにより、前記第1の領域に、第2のプログラムをロードし、当該第2のプログラムを、前記第1のプロセッサに実行させ、
前記第1のプロセッサによって前記第2のプログラムを実行することで、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサに、前記第1のプログラムの実行を開始させる
情報処理装置。
1021 CPU
1022 メモリコントローラ
1023 メインメモリ
104 SVP
1031 メモリ切替プログラム
1032 IPLプログラム
1033 ダンププログラム
1034 運用システム用のプログラム
1035 メモリダンプデータ
1022 メモリコントローラ
1023 メインメモリ
104 SVP
1031 メモリ切替プログラム
1032 IPLプログラム
1033 ダンププログラム
1034 運用システム用のプログラム
1035 メモリダンプデータ
Claims (6)
- 第1のプロセッサと、前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、第2のプロセッサと、を有するシステムによって実行されるメモリ制御方法であって、
前記第1のプロセッサが実行する第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサが前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサが前記第1の領域に第2のプログラムをロードし、前記第1のプロセッサが当該第2のプログラムを実行し、
前記第1のプロセッサが実行する前記第2のプログラムが、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に変更し、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサが、変更された前記第2のメモリ領域を使用して前記第1のプログラムの実行を開始する
メモリ制御方法。 - 前記第1のプロセッサが実行する前記第2のプログラムが、さらに、
前記変更する処理の前に、前記第2のプログラムの少なくとも一部を、前記第2のメモリ領域へのアクセスを可能にする所定の命令で前記第2のメモリ領域にコピーし、
前記第1のプログラムの実行を開始する処理を、前記第2のメモリ領域にコピーされた前記第2のプログラムの少なくとも一部が実行する
請求項1記載のメモリ制御方法。 - 前記第2のメモリ領域に、前記第1のメモリ領域において前記第1の領域以外の部分に記憶されているデータを前記第2のメモリ領域へのアクセスを可能にする所定の命令で退避させる第3のプログラムをロードして前記第1のプロセッサが実行する
処理をさらに含む請求項1又は2記載のメモリ制御方法。 - 前記第3のプログラムの処理が、前記第1のプログラムによる処理負荷が所定レベル以下である場合に実行される
請求項3記載のメモリ制御方法。 - 前記第1のメモリ領域は、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能である
請求項1乃至4のいずれか1つ記載のメモリ制御方法。 - 第1のプロセッサと、
第2のプロセッサと、
前記第1のプロセッサによりアクセス可能な領域のサイズが設定により調整可能となっており且つ前記第1のプロセッサによりアクセス可能な第1のメモリ領域とアクセス不可能な第2のメモリ領域とを有するメモリと、
を有し、
前記第1のプロセッサで実行される第1のプログラムによる処理が異常停止した後に、前記第2のプロセッサにより、前記第1のメモリ領域における第1の領域のデータを退避し、
前記第2のプロセッサにより、前記第1の領域に、第2のプログラムをロードし、当該第2のプログラムを、前記第1のプロセッサに実行させ、
前記第1のプロセッサによって前記第2のプログラムを実行することで、前記第1のメモリ領域を前記第1のプロセッサによりアクセス不可能なメモリ領域に、前記第2のメモリ領域を前記第1のプロセッサによりアクセス可能なメモリ領域に変更し、
前記第1のプロセッサに、前記第1のプログラムの実行を開始させる
情報処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014077566A JP6252321B2 (ja) | 2014-04-04 | 2014-04-04 | メモリ制御方法及び情報処理装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014077566A JP6252321B2 (ja) | 2014-04-04 | 2014-04-04 | メモリ制御方法及び情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2015200932A JP2015200932A (ja) | 2015-11-12 |
| JP6252321B2 true JP6252321B2 (ja) | 2017-12-27 |
Family
ID=54552167
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014077566A Expired - Fee Related JP6252321B2 (ja) | 2014-04-04 | 2014-04-04 | メモリ制御方法及び情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6252321B2 (ja) |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001290678A (ja) * | 2000-04-07 | 2001-10-19 | Hitachi Ltd | 非同期メモリダンプ実行方式 |
| JP2004280140A (ja) * | 2003-03-12 | 2004-10-07 | Nec Soft Ltd | メモリダンプ実行方式,方法,およびプログラム |
| JP5348120B2 (ja) * | 2010-12-13 | 2013-11-20 | 富士通株式会社 | パニックダンプ採取のためのプログラム、方法、機構 |
-
2014
- 2014-04-04 JP JP2014077566A patent/JP6252321B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2015200932A (ja) | 2015-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102033790B (zh) | 一种嵌入式系统bootrom的升级方法和装置 | |
| JP5575338B2 (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
| TWI743709B (zh) | 可後台升級韌體的系統及後台升級韌體方法 | |
| US8970884B2 (en) | Image forming apparatus | |
| US9384007B2 (en) | Memory virtualization-based snapshot boot apparatus and method | |
| JP5621912B2 (ja) | 情報処理装置及び情報処理装置の制御方法 | |
| JP5093259B2 (ja) | Biosとbmcとの間の通信パス強化方法、その装置及びそのプログラム | |
| JP2013520744A (ja) | 最小ブートイメージの生成方法及びその装置 | |
| KR20160146937A (ko) | 지속성 있는 메모리 저장을 갖는 펌웨어 인터페이스 | |
| CN107566169B (zh) | 一种基于openwrt的固件升级方法及路由器 | |
| WO2017000567A1 (zh) | 一种实现bootrom升级的方法及装置 | |
| JP2011095952A (ja) | ファームウェア更新方法および電子機器 | |
| CN110874237A (zh) | 软件升级方法、装置、终端以及可读存储介质 | |
| US7010725B2 (en) | Method and apparatus for getting dump of a computer system | |
| JP2023009293A (ja) | 通信装置及び情報処理方法 | |
| WO2015154538A1 (zh) | 存储器的启动方法及装置 | |
| US20160321057A1 (en) | Electronic apparatus | |
| JP6252321B2 (ja) | メモリ制御方法及び情報処理装置 | |
| CN120780409A (zh) | 虚拟机监控器vmm的热升级方法、计算机设备、计算机可读介质及程序产品 | |
| CN107526615B (zh) | 一种业务运行过程中的单机程序升级方法及装置 | |
| JP2004272844A (ja) | 割り込み制御方法 | |
| JP2003216449A (ja) | パッチ処理システム | |
| CN117389598A (zh) | 配置更新加固方法、装置、电子设备和存储介质 | |
| JP2009211537A (ja) | 画像処理装置及びアクセス制御方法 | |
| KR100247467B1 (ko) | 엠엠씨 커맨드를 이용한 교체 블록 로딩 방법 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170110 |
|
| 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: 20171031 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171113 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6252321 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |