[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2017122997A - 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム - Google Patents

情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム Download PDF

Info

Publication number
JP2017122997A
JP2017122997A JP2016000825A JP2016000825A JP2017122997A JP 2017122997 A JP2017122997 A JP 2017122997A JP 2016000825 A JP2016000825 A JP 2016000825A JP 2016000825 A JP2016000825 A JP 2016000825A JP 2017122997 A JP2017122997 A JP 2017122997A
Authority
JP
Japan
Prior art keywords
storage device
program
main storage
post
processing unit
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.)
Pending
Application number
JP2016000825A
Other languages
English (en)
Inventor
将人 福森
Masato Fukumori
将人 福森
藤田 浩二
Koji Fujita
浩二 藤田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016000825A priority Critical patent/JP2017122997A/ja
Priority to US15/378,119 priority patent/US10056156B2/en
Publication of JP2017122997A publication Critical patent/JP2017122997A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0409Online test

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Memory System (AREA)

Abstract

【課題】起動時に装置内の障害を検出するプログラムの処理を高速化することおよび装置内の障害を検出する可能性を高めることができる情報処理装置を提供する。【解決手段】情報処理装置を、演算処理装置と、主記憶装置と、主記憶装置の診断および演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを記憶する補助記憶装置と、を備え、演算処理装置は、補助記憶装置に格納されたプログラムを実行することにより、主記憶装置の診断後に、プログラムを主記憶装置で実行できるか否かを判断し、プログラムを主記憶装置で実行できる場合には、主記憶装置上でプログラムを実行し、プログラムを主記憶装置で実行できない場合には、補助記憶装置上でプログラムを実行する情報処理装置とする。【選択図】図4

Description

本件開示の技術は、情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラムに関する。
コンピュータでは、Central Processing Unit(CPU)によって、コンピュータの起
動時にPower On Self-Test(POST)と呼ばれる、コンピュータ内のハードウェアの初期化および診断を行うプログラムが実行される。
POSTの命令コードはコンピュータの補助記憶装置であるRead Only Memory(ROM)にあらかじめ格納されており、コンピュータの電源が投入されると、CPUによってROMに格納されているPOSTの命令コードの実行が開始される。そして、ROM上の命令コードが実行されることでPOSTの処理が実行される(例えば、特許文献1、2)。
あるいは、POSTによる主記憶装置の診断が正常に終了して主記憶装置が使用可能になった段階で、POSTによってPOSTの命令コードがROMから主記憶装置に転送される場合もある。この場合、命令コードが主記憶装置に転送された後は、主記憶装置上の命令コードが実行されることでPOSTの処理が実行される。また、POSTによる主記憶装置の診断が異常終了した場合は、POSTによりコンピュータが停止される(例えば、特許文献3)。
特開平11−096012号公報 特開平7−168768号公報 特開平5−265766号公報
コンピュータの電源投入からユーザが利用可能になるまでの期間を短縮する上では、POSTの処理を高速化することが望ましい。また、多数のコンピュータが相互に接続されている大規模システムの運用においては、コンピュータの安定した稼動と停止時間の短縮が重要である。このような高信頼性を要求するシステムでは、コンピュータの起動時にコンピュータ内のハードウェア故障をできるだけ多く検出し、検出結果を保守交換の実施や予防保守の判断材料とすることが望まれる。
しかしながら、上記の技術を用いてPOSTの処理をROM上の命令実行で行う場合、POSTの処理を高速化することが難しい。また、上記の技術を用いて主記憶装置が正常に使用可能になった段階でPOSTの命令コードがROMから主記憶装置に転送される場合、主記憶装置の診断が異常終了すると後続の診断が実施されない。この結果、後続の診断の対称であるハードウェアに故障が発生している場合、当該故障が検出されないままコンピュータが停止される。
本件開示の技術は、上記の事情に鑑み、起動時に装置内の障害を検出するプログラムの処理を高速化することおよび装置内の障害を検出する可能性を高めることができる情報処理装置を提供することを目的とする。
本件開示の情報処理装置は、1つの側面では、演算処理装置と、主記憶装置と、主記憶装置の診断および演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを記憶する補助記憶装置と、を備え、演算処理装置は、補助記憶装置に記憶されたプログラムを実行することにより、主記憶装置の診断後に、プログラムを主記憶装置で実行できるか否かを判断し、プログラムを主記憶装置で実行できる場合には、主記憶装置上でプログラムを実行し、プログラムを主記憶装置で実行できない場合には、補助記憶装置上でプログラムを実行する。
本件開示の技術によれば、起動時に装置内の障害を検出するプログラムの処理を高速化することおよび装置内の障害を検出する可能性を高めることができる情報処理装置を提供することができる。
図1は、一実施形態におけるコンピュータの構成を例示する構成図である。 図2は、一実施形態においてコンピュータにおいて実行される処理のフローチャートである。 図3は、一実施形態においてコンピュータにおいて実行される処理のフローチャートである。 図4は、一実施形態においてコンピュータにおいて実行される処理のフローチャートである。 図5は、一実施形態におけるコンピュータの構成を例示する構成図である。 図6は、一実施形態におけるメモリ診断結果の管理テーブルを例示する図である。
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
(第1の実施形態)
第1の実施形態における情報処理装置の一例としてのコンピュータ1について説明する。図1の構成図に例示するように、本実施形態に係るコンピュータ1は、CPU#0 10、CPU#1 20、CPU#2 30、CPU#3 40、メモリコントローラ#0
11、メモリコントローラ#1 21、メモリコントローラ#2 31、メモリコントローラ#3 41、Dual Inline Memory Module(DIMM)#0 12、DIMM#1
22、DIMM#2 32、DIMM#3 42、Input/Output(I/O)ハブ50を有する。なお、CPU#0 10、CPU#1 20、CPU#2 30、CPU#3 40が、演算処理装置の一例に相当する。また、メモリコントローラ#0 11とメモリコントローラ#0 11に接続されているDIMM#0 12の組み合わせが、主記憶装置の一例に相当する。
I/Oハブ50は、コンピュータ1内の各ハードウェアと主記憶装置とを接続する。すなわち、図1の例では、CPU#0は、DIMM#0と直接接続される。ここで、直接接続とは、例えば、CPU#0内部の制御回路にDIMM#0が接続されることをいう。一方、CPU#0は、インターコネクトおよびCPU#1からCPU#3などを介して、CPU#1からCPU#3などにそれぞれ直接接続されるDIMM#1からDIMM#3などに接続される。逆に、CPU#1からCPU#3などに対してはインターコネクトおよびCPU#0を介してDIMM#0に接続される。また、CPU#0からCPU#3など
に対しては、インターコネクトにより、I/Oハブ50に接続され、I/Oハブ50を介してROM80およびSRAM90に接続される。
したがって、ハードウェアの一例としては、図1に示すように、Hard Dick Drive(H
DD)60、70、ROM80、Static Random Access Memory(SRAM)90が挙げ
られる。I/Oハブ50はPeripheral Component Interconnect(PCI)ルートポート
51を有し、PCIルートポート51とHDDコントローラ100とが接続される。I/Oハブ50とHDD60、70とは、PCIルートポート51およびHDDコントローラ100を経由して互いに接続される。
以上のように、本実施形態では、I/Oハブ50が主記憶装置とその外部との境界の役割を果たしていると考えることができる。ROM80には、POSTの命令コードとPOSTの処理で使用される読み出しデータが記憶される。また、SRAM90には、POSTの処理で使用される読み書きデータが記憶される。なお、ROM80が、補助記憶装置の一例に相当する。
上述のように、CPU#0 10〜CPU#3 40の間と、CPU#0 10〜CPU#3 40とI/Oハブ50との間は、それぞれ専用のインターコネクトにより接続される。CPU#0 10〜CPU#3 40やI/Oハブ50に接続されているハードウェアからのDIMM#0 12〜DIMM#3 42へのアクセスは、インターコネクトを経由して行われる。CPU#0 10〜CPU#3 40は、インターコネクトを経由してI/Oハブ50からのアクセスを受け付け、アドレスバスからDIMM#0 12〜DIMM#3 42のアドレス空間にアクセスする。
次に、図2〜4を参照しながら、本実施形態の一例として、CPU#0 10が実行する処理とPOSTの処理において使用されるデータの格納例について説明する。図2、3は、コンピュータ1が起動される場合に、起動時にコンピュータ1において実行される処理のフローチャートを例示する。なお、図2の「1」は、図3の「1」に接続する。本実施形態では、コンピュータ1の電源がオンにされると、CPU#0 10が図2に示すフローチャートの処理を開始する。
なお、以下の説明において、「POST命令コード」は、POSTの処理を実行するための命令コードであり、「POST roデータ」は、POSTの処理における読み出し専用のデータ、「POST rwデータ」は、POSTの処理における読み書き用のデータをそれぞれ意味する。
OP101において、CPU#0 10は、ROM80に記憶されているPOST命令コードの実行を開始する。なお、命令コードの実行時におけるPOSTの処理の読み出し用データはROM80に記憶されている。また、命令コードの実行時におけるPOSTの処理の読み書き用データはSRAM90に記憶される。次いで、CPU#0 10は、処理をOP102に進める。
OP102において、CPU#0 10は、ROM80上でPOST命令コードに従ってコンピュータ1の主記憶装置の初期化および診断を実行する。具体的には、CPU#0
10は、メモリコントローラ#0 11〜メモリコントローラ#3 41の初期化および診断を実行する。このときCPU#0 10は、各メモリコントローラのレジスタを初期化したり、各メモリコントローラに異常がないかを診断したりする。また、CPU#0
10は、各メモリコントローラの診断後にDIMM#0 12〜DIMM#3 42の初期化および診断を実行する。なお、CPU#0 10がROM80上のPOST命令コードを実行する場合のCPU#0 10の動作は、CPU#0 10がDIMM#0 1
2上のPOST命令コードを実行する場合の動作と同様である。すなわち、CPU#0 10が使用するプログラムカウンタの指すアドレスがDIMM上のアドレスであるかROM上のアドレスであるかの違いがあるが、その他のCPU#0 10の動作は上記2つの場合と同様である。
ここで、図4〜6を参照しながら、OP102においてCPU#0 10が実行するDIMM#0 12〜DIMM#3 42に対する初期化および診断の処理の詳細について説明する。OP102における処理の一例として、CPU#0 10は、DIMM#0 12〜DIMM#3 42に対する診断の結果を記憶する管理テーブルをSRAM90のPOST rwデータ領域に作成する。
本実施形態では、DIMM#0 12〜DIMM#3 42の記憶領域が、それぞれ4つの管理領域に分割されて管理されているものと想定する。このため、SRAM90に作成される管理テーブルでは、例えばDIMM#0 12の管理領域が、DIMM#0−0、DIMM#0−1、DIMM#0−2、DIMM#0−3の4つに分かれている。なお、各管理領域のサイズは同じであると想定する。また、各DIMMの管理領域を規定する場合、例えば所定のバイト単位でDIMMの記憶領域を分割し、分割された各記憶領域を管理領域としてもよい。あるいは、バイト単位ではなく、DIMMに接続されるメモリコントローラ単位やメモリモジュール単位など、バイト数で区切るよりも規模の大きい単位を用いて管理領域を規定してもよい。
本実施形態では、管理テーブルにおいて、複数の管理領域が物理的に連続した記憶領域であるか否かを示すため、以下の式(1)に示すように各管理領域の先頭アドレスを管理領域のサイズで除算した値が「物理アドレスインデックス」として記憶されている。
(物理アドレスインデックス)=(管理領域の先頭の物理アドレス)/(管理領域のサイズ)・・・(1)
なお、本実施形態では、管理テーブルにおいて、物理アドレスインデックスの値が小さい順に管理領域が整列されている。また、物理アドレスインデックスの番号が連続することは、それら物理アドレスインデックスに対応する管理領域が物理的に連続していることを意味する。なお、上記の式(1)により求まる物理アドレスインデックスを用いる方法は、管理領域が物理的に連続であることを示す方法の一例である。したがって、他の方法を用いて管理領域の物理的な連続性を示してもよい。
CPU#0 10は、POST命令コードに従って、DIMM#0 12〜DIMM#3 42の管理領域ごとにメモリ診断を実行する。そして、CPU#0 10は、各メモリ診断の結果を管理テーブルの「メモリ診断結果」の各欄に記憶する。なお、CPU#0
10は、メモリコントローラ#0 11〜メモリコントローラ#3 41の診断を実行したときに、いずれかのメモリコントローラを異常と診断した場合は、当該メモリコントローラに接続されているDIMMの各管理領域のメモリ診断結果を「異常」として管理テーブルに記憶する。
例えば、図6の管理テーブルの場合、CPU#0 10は、メモリコントローラ#0 11を異常と診断したため、管理テーブルのDIMM#0 12の各管理領域DIMM#0−0〜DIMM#0−3に対する「メモリ診断結果」に「異常」を記憶する。なお、図6の管理テーブルの場合、CPU#0 10は、DIMM#1 22の管理領域DIMM#1−0、#1−1、#1−2、DIMM#2 32の管理領域DIMM#2−1、#2−2、#2−3についても「メモリ診断結果」に「異常」を記憶する。これは、例えばCPU#0 10が、これらの管理領域内に故障した領域が存在すると診断した場合などが考えられる。
CPU#0 10は、上記のように、DIMM#0 12〜DIMM#3 42の管理領域ごとのメモリ診断結果を管理テーブルに記憶する。次いで、CPU#0 10は、処理をOP200に進める。図4に、OP200のサブルーチンの処理を示す。
OP201において、CPU#0 10は、未実行のPOST命令コード、POST roデータ、POST rwデータを合計したサイズ(以下「POSTコードサイズ」と称する)を算出する。
以下の処理において、CPU#0 10は、算出したPOSTコードサイズの値に基づいて、POST命令コード、POST roデータ、POST rwデータが管理領域に格納可能か否かを判定する。まず、CPU#0 10は、管理テーブルを参照し、物理アドレスインデックスの値が小さい管理領域から、すなわち図6の例では管理領域DIMM#0−0から「メモリ診断結果」を確認する。図6に示す例では、CPU#0 10は、物理アドレスインデックスの値が0である管理領域の特定から開始する。そして、CPU#0 10は、特定した管理領域の「メモリ診断結果」が「正常」であるか否かを判定する(OP202)。CPU#0 10は、当該管理領域の「メモリ診断結果」が「正常」であると判定した場合は(OP202:Yes)、処理をOP203に進める。一方、CPU#0 10は、当該管理領域の「メモリ診断結果」が「正常」でないと判定した場合は(OP202:No)、処理をOP204に進める。
OP203において、CPU#0 10は、POSTコードが管理領域に収まるか否かを判定する。具体的には、CPU#0 10は、(POSTコードサイズ)/(1つの管理領域のサイズ)で求まる値に応じて「物理アドレスインデックス」が連続する管理領域の「メモリ診断結果」が「正常」であるか否かを判定する。なお、CPU#0 10は、(POSTコードサイズ)/(1つの管理領域のサイズ)で求まる値を、小数点以下を切り上げた値にして用いる。CPU#0 10は、OP202の結果に基づいて、当該値の数だけ連続する管理領域の「メモリ診断結果」が「正常」であると判定した場合は(OP203:Yes)、本サブルーチンの処理を終了して処理をOP103に進める。一方、CPU#0 10は、(POSTコードサイズ)/(1つの管理領域のサイズ)で求まる値の小数点以下を切り上げた値の数だけ連続する管理領域の「メモリ診断結果」が「正常」でない場合は(OP203:No)、処理をOP204に進める。
OP204では、CPU#0 10は、OP202の処理の対象となる管理領域の「物理アドレスインデックス」が最大値、すなわち末尾であるか否かを判定する。「物理アドレスインデックス」が末尾である場合は(OP204:Yes)、CPU#0 10は、OP202の処理を行っていない管理領域はないとみなして、本サブルーチンの処理を終了して処理をOP103に進める。一方、「物理アドレスインデックス」が末尾に達していない場合は(OP204:No)、CPU#0 10は、現在OP202の処理の対象である管理領域の「物理アドレスインデックス」に1を加算して(OP205)、処理をOP202に戻す。
例えば、図6に示す管理テーブルの場合、DIMM#1 22の管理領域DIMM#1−3、DIMM#2 32の管理領域DIMM#2−0、DIMM#3 42の管理領域DIMM#3−0、#3−1、#3−2、#3−3が「メモリ診断結果」が「正常」である。よって、上記の処理により、POSTコードが1つの管理領域に収まる場合は、CPU#0 10は、OP202において管理領域DIMM#1−3の「メモリ診断結果」が「正常」であると判定する。次いで、OP203において、CPU#0 10はPOSTコードは管理領域DIMM#1−3に収まると判定し(OP203:Yes)、本サブルーチンの処理を終了する。この結果、本実施形態では、管理領域DIMM#1−3が、POST命令コード、POST roデータ、POST rwデータの格納に利用可能な領
域とみなされる。
このように、POSTコードが1つの管理領域に収まる場合は、POST命令コード、POST roデータ、POST rwデータを1つの管理領域にまとめて格納することができる。このため、上記の管理領域の診断において、いずれかの管理領域が正常であることが検出できればよく、他の管理領域の物理的な連続性を判断する処理を省くことで上記の診断処理がより簡略化される。
別の例として、管理テーブルが図6に示す状態であり、(POSTコードサイズ)/(1つの管理領域のサイズ)の小数点以下を切り上げた値が4である場合を想定する。このとき、CPU#0 10は、上記の処理を繰り返すことで、管理領域DIMM#3−0〜#3−2に対してはOP202〜OP205の処理を繰り返す。そして、CPU#0 10は、管理領域DIMM#3−3に対しては、OP202においてDIMM#3−4の「メモリ診断結果」が「正常」であると判定する(OP202:Yes)。さらに、CPU#0 10は、OP203においてPOSTコードが4つの連続する管理領域DIMM#3−0〜#3−3に収まると判定し(OP203:No)、本サブルーチンの処理を終了して処理をOP103に進める。この結果、本実施形態では、管理領域DIMM#3−0〜#3−3が、POST命令コード、POST roデータ、POST rwデータの格納に利用可能な領域とみなされる。
このように、POSTコードが1つの管理領域に収まらない場合は、上記の管理領域の診断において異常と診断される管理領域が存在する場合であってもPOST命令コード、POST roデータ、POST rwデータを格納可能な物理的に連続である管理領域が存在するか否かを確認できる。このため、従来に比べて、POST命令コードの処理を主記憶装置で実行できる可能性が高まる。
OP103では、上記のOP200のサブルーチンの処理によって、POST命令コード、POST roデータ、POST rwデータの格納に利用可能な領域が検出されたとき(OP103:Yes)、CPU#0 10は、処理をOP104に進める。また、POST命令コード、POST roデータ、POST rwデータの格納に利用可能な領域が検出されなかった場合は(OP103:No)、CPU#0 10は、処理をOP105に進める。
OP104では、CPU#0 10は、ROM80に記憶されているPOST命令コードおよびPOST roデータ、SRAM90に記憶されているPOST rwデータをそれぞれOP103において検出された領域に転送する。次いで、CPU#0 10は処理をOP106に進める。OP104の処理により、例えば図5に示すように、POST命令コード、POST roデータ、POST rwデータがDIMM#3 42に格納される。OP106では、CPU#0 10は、主記憶装置上でPOST命令コードを実行する。図6に示す例の場合、CPU#0 10は、DIMM#3 42の管理領域DIMM#3−0〜#3−3に転送されたPOST命令レコード、POST roデータ、POST rwデータを用いてDIMM#3 42上でPOST命令コードを実行する。
一方、OP105では、CPU#0 10は、ROM80に記憶されているPOST命令コードおよびPOST roデータ、SRAM90に記憶されているPOST rwデータを用いてROM80上でPOST命令コードを実行する。OP105またはOP106において、CPU#0 10は、POST命令コードを実行し、実行したPOST命令コードの処理に従ってコンピュータ1内のハードウェアの初期化および診断を実行する(OP107)。
本実施形態では、OP103、OP104の処理により、POST命令コードがDIMM上で実行されるため、従来のようにROM上でPOST命令コードが実行される場合に比べて、インターコネクトおよびIOハブ50を介さないので、処理が高速化される。また、従来では、POST命令コード、POST roデータ、POST rwデータを格納可能な正常な領域がDIMM内に存在する場合でもDIMMの一部の領域が異常と診断されるとDIMM自体が異常と診断される。また、DIMM自体が異常と診断されてコンピュータが停止される結果、後続のPOSTの処理で実行される予定のハードウェアの診断が実行されない可能性がある。一方、本実施形態では、DIMMの一部の領域が異常と診断されても、POST命令コード、POST roデータ、POST rwデータを格納可能な正常な領域が検出されれば、当該領域にデータが転送される。したがって、ROM上でPOSTの処理が実行される場合に比べて処理が高速化されるとともに、主記憶装置の一部の領域が異常と診断される場合でも引き続きハードウェアの診断が実行される。
OP108において、CPU#0 10は、OP107で実行したハードウェアの診断の結果が異常であるか否かを判定する。当該ハードウェアの診断の結果が異常である場合(OP108:Yes)、CPU#0 10は、処理をOP109に進める。一方、当該ハードウェアの診断の結果が正常である場合(OP108:No)、CPU#0 10は処理をOP111に進める。
OP109において、CPU#0 10は、OP107におけるハードウェアの診断において検出された異常を通知する。例えば、CPU#0 10は、当該通知として、コンピュータ1のディスプレイ(図示せず)に通知メッセージや検出された異常の詳細を表示する。次いで、CPU#0 10は、処理をOP110に進める。OP110において、CPU#0 10は、OP107におけるハードウェアの診断の結果、ハードウェアに異常が発生しているとみなし、コンピュータ1の動作を停止する。そして、CPU#0 10は、本フローチャートの処理を終了する。
OP111においては、CPU#0 10は、DIMM上でPOST命令コードの実行を継続し、OP105またはOP106において実行したPOST命令コードの後続のPOST命令コードを実行する。
本実施形態では、上記のフローチャートの処理が実行されることで、主記憶装置の診断時に主記憶装置内の各管理領域が正常であるか否かが判定され、正常であると判定された領域にPOST命令コードなどのデータが転送される。この結果、主記憶装置以外のハードウェアの診断を行うプログラムであるPOST命令コードを主記憶装置上で実行できるため、ROM上で実行する場合に比べて処理が高速化される。また、主記憶装置内に異常と診断される管理領域が存在する場合でもPOST命令コードなどのデータを格納可能な正常な領域が検出されれば当該領域に当該データが転送される。この結果、主記憶装置内に異常と診断される管理領域が存在しても、後続のPOST命令コードが実行されることで、主記憶装置以外のハードウェアの初期化および診断が実行される。
以上が本実施形態に関する説明であるが、上記の情報処理装置などの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。例えば、上記の説明によれば、図5に例示するように、DIMM#3 42すなわち主記憶装置内の管理領域に、POST命令コード、POST roデータ、POST rwデータが格納される。しかし、少なくともPOST命令コードが主記憶装置内の管理領域に格納されれば、ROM上で実行する場合に比べてPOSTの処理を高速化することができる。したがって、上記の実施形態において、POSTコードサイズをPOST命令コードのサイズとして処理が行われてもよい。
なお、上記の例では、POST命令コード、POST roデータ、POST rwデータをまとめて1つあるいは物理的に連続である管理領域に格納する場合を想定している。ただし、POST命令コード、POST roデータ、POST rwデータのそれぞれを別の1つあるいは物理的に連続である管理領域に格納できるか否かを判定してもよい。この場合、POST命令コード、POST roデータ、POST rwデータが、それぞれ異なる管理領域に格納される可能性がある。そこで、POST命令コードにPOST roデータおよびPOST rwデータが格納されている管理領域の先頭アドレスが渡されるようにすればよい。
また、上記の例では、CPU#0 10が図2〜4に示すフローチャートの処理を開始するが、CPU#0 10の代わりに他のCPUが当該処理を開始してもよい。さらに、各CPU#0 10〜CPU#3 40が、自CPUに直接接続されているDIMM#0
12〜DIMM#3 42に対して上記のフローチャートに従ってPOST命令コード、POST roデータ、POST rwデータを格納可能な領域が存在するか否かを判定してもよい。
また、上記の実施形態において、CPUは、単一のプロセッサに限定される訳ではなく、マルチプロセッサ構成であってもよい。また、単一のソケットで接続される単一のCPUがマルチコア構成であってもよい。上記各部の少なくとも一部の処理がDigital Signal
Processor(DSP)、Graphics Processing Unit(GPU)、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサ、Application Specific Integrated Circuit(ASIC)などによって提供されてもよい。また、上記各部の少なく
とも一部が、Field-Programmable Gate Array(FPGA)などの専用Large Scale Integration(LSI)、その他のデジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。
<コンピュータが読み取り可能な記録媒体>
コンピュータその他の機械、装置(以下、コンピュータ等)に上記情報処理装置の設定を行うための管理ツール、OSその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやROM等がある。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
演算処理装置と、
主記憶装置と、
前記主記憶装置の診断および前記演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを記憶する補助記憶装置と、
を備え、
前記演算処理装置は、前記補助記憶装置に記憶された前記プログラムを実行することにより、前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否か
を判断し、前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行し、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行する
情報処理装置。
(付記2)
前記演算処理装置と接続されるインターフェース回路をさらに備え、
前記主記憶装置は前記演算処理装置の内部の制御回路に接続され、
前記補助記憶装置は、前記インターフェース回路を介して前記制御回路に接続される
付記1に記載の情報処理装置。
(付記3)
前記主記憶装置は複数の記憶領域を有し、
前記演算処理装置は、前記複数の記憶領域の少なくとも1つの記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記少なくとも1つの記憶領域に転送する、
付記1または2に記載の情報処理装置。
(付記4)
前記演算処理装置は、前記主記憶装置の前記複数の記憶領域のうち物理的に連続した複数の記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記物理的に連続した複数の記憶領域に転送する、付記1から3のいずれか1つに記載の情報処理装置。
(付記5)
演算処理装置に、
補助記憶装置に記憶された主記憶装置の診断および前記演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを実行させ、
前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否かを判断させ、
前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行させ、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行させる
演算処理装置の制御方法。
(付記6)
前記演算処理装置はインターフェース回路と接続され、
前記主記憶装置は前記演算処理装置の内部の制御回路に接続され、
前記補助記憶装置は、前記インターフェース回路を介して前記制御回路に接続される
付記5に記載の演算処理装置の制御方法。
(付記7)
前記主記憶装置は複数の記憶領域を有し、
前記演算処理装置に、前記複数の記憶領域の少なくとも1つの記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断させ、前記プログラムを前記少なくとも1つの記憶領域に転送させる、
付記5または6に記載の演算処理装置の制御方法。
(付記8)
前記演算処理装置に、前記主記憶装置の前記複数の記憶領域のうち物理的に連続した複
数の記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断させ、前記プログラムを前記物理的に連続した複数の記憶領域に転送させる、付記5から7のいずれか1つに記載の演算処理装置の制御方法。
(付記9)
演算処理装置に、
補助記憶装置に記憶された主記憶装置の診断および演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを実行する処理と、
前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否かを判断する処理と、
前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行し、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行する処理
を実行させる演算処理装置の制御プログラム。
(付記10)
前記演算処理装置はインターフェース回路と接続され、
前記主記憶装置は前記演算処理装置の内部の制御回路に接続され、
前記補助記憶装置は、前記インターフェース回路を介して前記制御回路に接続される
付記10に記載の演算処理装置の制御プログラム。
(付記11)
前記主記憶装置は複数の記憶領域を有し、
前記演算処理装置に、前記複数の記憶領域の少なくとも1つの記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記少なくとも1つの記憶領域に転送する処理を実行させる
付記9または10に記載の演算処理装置の制御プログラム。
(付記12)
前記演算処理装置に、前記主記憶装置の前記複数の記憶領域のうち物理的に連続した複数の記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記物理的に連続した複数の記憶領域に転送する処理を実行させる、付記9から11のいずれか1つに記載の演算処理装置の制御プログラム。
1 コンピュータ
10、20、30、40 CPU
11、21、31、41 メモリコントローラ
12、22、32、42 DIMM
80 ROM
90 SRAM

Claims (6)

  1. 演算処理装置と、
    主記憶装置と、
    前記主記憶装置の診断および前記演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを記憶する補助記憶装置と、
    を備え、
    前記演算処理装置は、前記補助記憶装置に記憶された前記プログラムを実行することにより、前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否かを判断し、前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行し、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行する
    情報処理装置。
  2. 前記演算処理装置と接続されるインターフェース回路をさらに備え、
    前記主記憶装置は前記演算処理装置の内部の制御回路に接続され、
    前記補助記憶装置は、前記インターフェース回路を介して前記制御回路に接続される
    請求項1に記載の情報処理装置。
  3. 前記主記憶装置は複数の記憶領域を有し、
    前記演算処理装置は、前記複数の記憶領域の少なくとも1つの記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記少なくとも1つの記憶領域に転送する、請求項1または2に記載の情報処理装置。
  4. 前記演算処理装置は、前記主記憶装置の前記複数の記憶領域のうち物理的に連続した複数の記憶領域に前記プログラムを格納可能である場合に、前記プログラムを前記主記憶装置で実行できると判断し、前記プログラムを前記物理的に連続した複数の記憶領域に転送する、請求項1から3のいずれか1項に記載の情報処理装置。
  5. 演算処理装置に、
    補助記憶装置に記憶された主記憶装置の診断および前記演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを実行させ、
    前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否かを判断させ、
    前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行させ、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行させる
    演算処理装置の制御方法。
  6. 演算処理装置に、
    補助記憶装置に記憶された主記憶装置の診断および演算処理装置によってアクセスされる装置の診断を実行するためのプログラムを実行する処理と、
    前記主記憶装置の診断後に、前記プログラムを前記主記憶装置で実行できるか否かを判断する処理と、
    前記プログラムを前記主記憶装置で実行できる場合には、前記主記憶装置上で前記プログラムを実行し、前記プログラムを前記主記憶装置で実行できない場合には、前記補助記憶装置上で前記プログラムを実行する処理
    を実行させる演算処理装置の制御プログラム。
JP2016000825A 2016-01-06 2016-01-06 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム Pending JP2017122997A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016000825A JP2017122997A (ja) 2016-01-06 2016-01-06 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム
US15/378,119 US10056156B2 (en) 2016-01-06 2016-12-14 Information processing apparatus and method of controlling arithmetic processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016000825A JP2017122997A (ja) 2016-01-06 2016-01-06 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム

Publications (1)

Publication Number Publication Date
JP2017122997A true JP2017122997A (ja) 2017-07-13

Family

ID=59226793

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016000825A Pending JP2017122997A (ja) 2016-01-06 2016-01-06 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム

Country Status (2)

Country Link
US (1) US10056156B2 (ja)
JP (1) JP2017122997A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235894A1 (ja) 2017-06-23 2018-12-27 Ntn株式会社 補助転舵機能付ハブユニットおよび車両

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140920A (ja) * 2005-11-18 2007-06-07 Kyocera Mita Corp 画像形成装置
US20100088545A1 (en) * 2008-10-03 2010-04-08 Fujitsu Limited Computer apparatus and processor diagnostic method
JP2010092125A (ja) * 2008-10-03 2010-04-22 Fujitsu Ltd コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
JP2011198224A (ja) * 2010-03-23 2011-10-06 Hitachi Ltd 情報処理装置および監視機器システム
JP2012008672A (ja) * 2010-06-23 2012-01-12 Lenovo Singapore Pte Ltd メイン・メモリのバックアップ方法およびデータ保護システム
US20150193155A1 (en) * 2014-01-07 2015-07-09 Apple Inc. Speculative prefetching of data stored in flash memory

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3264966B2 (ja) 1992-03-24 2002-03-11 株式会社東芝 コンピュータシステムの立ち上げ制御方式
JPH07168768A (ja) 1993-12-14 1995-07-04 Shikoku Nippon Denki Software Kk 初期自己診断方法
JPH1196012A (ja) 1997-09-19 1999-04-09 Yokogawa Electric Corp 分散制御装置
JP6260303B2 (ja) * 2014-01-29 2018-01-17 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP6488711B2 (ja) * 2015-01-14 2019-03-27 富士通株式会社 演算処理装置および演算処理装置の制御方法
JP2016181106A (ja) * 2015-03-24 2016-10-13 富士通株式会社 情報処理装置、およびプログラム
JP6503889B2 (ja) * 2015-05-25 2019-04-24 富士通株式会社 演算処理装置、情報処理装置および演算処理装置の制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007140920A (ja) * 2005-11-18 2007-06-07 Kyocera Mita Corp 画像形成装置
US20100088545A1 (en) * 2008-10-03 2010-04-08 Fujitsu Limited Computer apparatus and processor diagnostic method
JP2010092127A (ja) * 2008-10-03 2010-04-22 Fujitsu Ltd コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
JP2010092125A (ja) * 2008-10-03 2010-04-22 Fujitsu Ltd コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
JP2011198224A (ja) * 2010-03-23 2011-10-06 Hitachi Ltd 情報処理装置および監視機器システム
JP2012008672A (ja) * 2010-06-23 2012-01-12 Lenovo Singapore Pte Ltd メイン・メモリのバックアップ方法およびデータ保護システム
US20150193155A1 (en) * 2014-01-07 2015-07-09 Apple Inc. Speculative prefetching of data stored in flash memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018235894A1 (ja) 2017-06-23 2018-12-27 Ntn株式会社 補助転舵機能付ハブユニットおよび車両

Also Published As

Publication number Publication date
US20170194061A1 (en) 2017-07-06
US10056156B2 (en) 2018-08-21

Similar Documents

Publication Publication Date Title
CN100481019C (zh) 预测存储设备故障的装置、系统和方法
US20060236165A1 (en) Managing memory health
JP6034990B2 (ja) サーバ制御方法及びサーバ制御装置
US20060212677A1 (en) Multicore processor having active and inactive execution cores
US20090006745A1 (en) Accessing snapshot data image of a data mirroring volume
EP2048579A2 (en) System and method for managing memory errors in an information handling system
US8812915B2 (en) Determining whether a right to use memory modules in a reliability mode has been acquired
KR20110060835A (ko) 시스템의 기동 시간을 가속화하는 방법
US20210081234A1 (en) System and Method for Handling High Priority Management Interrupts
JP2010086364A (ja) 情報処理装置、動作状態監視装置および方法
US20240241778A1 (en) In-system mitigation of uncorrectable errors based on confidence factors, based on fault-aware analysis
KR20240003823A (ko) 정정된 에러를 관리하는 전자 장치 및 전자 장치의 동작 방법
JP2005135407A (ja) 電圧マージニングを使用してコンピュータシステムのコンポーネントをテストするシステムおよび方法
US11742054B2 (en) Memory power fault resilience in information handling systems
JP2002312340A (ja) L2訂正可能エラーのための複数のプロセッサ・コアの割振り解除方法
US9990382B1 (en) Secure erasure and repair of non-mechanical storage media
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
JP2017122997A (ja) 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム
JP5849491B2 (ja) ディスク制御装置、ディスク装置異常検出方法、及びプログラム
US7457990B2 (en) Information processing apparatus and information processing recovery method
CN110347639B (zh) 片上系统及其操作方法
US10725689B2 (en) Physical memory region backup of a volatile memory to a non-volatile memory
TWI832188B (zh) 電腦系統以及在電腦系統中執行的方法
CN113535494B (zh) 一种设备调试的方法及电子设备
US11630500B2 (en) Configuring power level of central processing units at boot time

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191015