JP5509568B2 - コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム - Google Patents

コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム Download PDF

Info

Publication number
JP5509568B2
JP5509568B2 JP2008258976A JP2008258976A JP5509568B2 JP 5509568 B2 JP5509568 B2 JP 5509568B2 JP 2008258976 A JP2008258976 A JP 2008258976A JP 2008258976 A JP2008258976 A JP 2008258976A JP 5509568 B2 JP5509568 B2 JP 5509568B2
Authority
JP
Japan
Prior art keywords
processor
diagnostic
program
function
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008258976A
Other languages
English (en)
Other versions
JP2010092127A (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.)
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 JP2008258976A priority Critical patent/JP5509568B2/ja
Priority to EP09166982.0A priority patent/EP2175372B1/en
Priority to US12/533,064 priority patent/US8176365B2/en
Priority to TW098125870A priority patent/TWI414937B/zh
Priority to KR1020090077642A priority patent/KR101018373B1/ko
Priority to CN2009101635881A priority patent/CN101714111B/zh
Publication of JP2010092127A publication Critical patent/JP2010092127A/ja
Application granted granted Critical
Publication of JP5509568B2 publication Critical patent/JP5509568B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • 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/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • 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
    • 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
    • G11C2029/1208Error catch memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Multi Processors (AREA)

Description

この発明は、コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラムに関し、特に、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保するコンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラムに関する。
従来より、コンピュータ装置では、内蔵された各デバイスの不良箇所を診断する種々の診断テストが行われている。例えば、特許文献1には、内蔵された各メモリにおけるメモリ機能が正常に機能するか否か(例えば、メモリに所定のデータが正常に読み書きできるか否か)を診断するメモリ診断テストを実行するものが開示されている。
この種のコンピュータ装置では、内部ROM(Read Only Memory)の一部に、各デバイスに対応する診断プログラムを記憶しておき、OS(Operation System)の起動後に、CPU(Central Processing Unit)等のプロセッサによって、上記した診断プログラムをRAM(Random Access Memory)等のメインメモリ上に展開して実行することにより、各種の診断テストを実行している。
特開平6−4413号公報
しかしながら、上記した従来のコンピュータ装置では、プロセッサに異常がある場合には、各種の診断テストを正常に実行できない。すなわち、プロセッサは、複数の機能を実行するものであるが、この複数の機能に実行不能な不良機能が存在する場合には、プロセッサの動作が不安定となるため、診断プログラムを正常に実行することができない。
開示の技術は、上述した従来技術による問題点を解消するためになされたものであり、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保するコンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本願の開示するコンピュータ装置は、一つの態様において、第1のプロセッサと、第2のプロセッサと、メインメモリとを有するコンピュータ装置であって、前記第2のプロセッサにメモリ診断プログラムを実行させることにより、前記メインメモリを診断し、前記メインメモリ内の不良領域を特定するメモリ診断手段と、前記メインメモリのうち、前記メモリ診断手段により特定された不良領域を除く領域に、前記第1のプロセッサの有する複数の機能を診断するためのプロセッサ診断プログラムを展開する診断プログラム展開手段と、前記展開された前記プロセッサ診断プログラムを前記第2のプロセッサに実行させることにより、前記第1のプロセッサの有する複数の機能のうち、実行不能な機能である不良機能を特定する不良機能特定手段と、を有する。
この態様によれば、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保することができる。
なお、本願の開示するコンピュータ装置の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも上述した課題を解決するために有効である。
本願の開示するコンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラムの一つの態様によれば、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保することができるという効果を奏する。
以下に添付図面を参照して、本願の開示するコンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラムの好適な実施の形態を詳細に説明する。
まず、本実施例に係るコンピュータ装置の概要について説明する。本実施例に係るコンピュータ装置は、第1のプロセッサと、第2のプロセッサと、メインメモリとを有するコンピュータ装置であって、前記第2のプロセッサにメモリ診断プログラムを実行させることにより、前記メインメモリを診断し、前記メインメモリ内の不良領域を特定するメモリ診断手段と、前記メインメモリのうち、前記不良領域を除く領域に、前記第1のプロセッサの有する複数の機能を診断するためのプロセッサ診断プログラムを展開する診断プログラム展開手段と、前記展開された前記プロセッサ診断プログラムを前記第2のプロセッサに実行させることにより、前記第1のプロセッサの有する複数の機能のうち、実行不能な機能である不良機能を特定する不良機能特定手段と、を有するものである。
すなわち、本実施例に係るコンピュータ装置は、CPU等の2つのプロセッサを有しており、このうち一方のプロセッサ(第2のプロセッサ)が、他方のプロセッサ(第1のプロセッサ)の有する機能を診断可能なプロセッサ診断プログラムを、メインメモリ上で実行することにより、第1のプロセッサの診断を行う。なお、第1のプロセッサの有する機能には、演算機能やデータ入出力機能等の基本的な機能の他、メインメモリの仮想アドレス変換機能等の応用的な機能が含まれる。
そして、第1のプロセッサの診断過程で、メモリ診断手段は、コンピュータ装置の有するメインメモリを診断することにより、メインメモリ内の不良領域を特定する。なお、不良領域とは、メインメモリの全領域のうち、読み書き機能などのメモリ機能が正常に機能しない領域を言う。
診断プログラム展開手段は、メインメモリのうち、不良領域を除く領域に、プロセッサ診断プログラムを展開する。すなわち、プロセッサ診断プログラムは、メインメモリのうち、メモリ機能が正常に機能する領域に常に展開される。したがって、プロセッサ診断プログラムが実行不能となる事態を確実に回避できる。
ここで、プロセッサ診断プログラムは、第1のプロセッサの有する複数の機能をそれぞれ診断する複数の診断プログラムを含み、診断プログラム展開手段は、これら複数の診断プログラムを、所定の順番で、順次展開する。所定の順番としては、例えば、演算機能や、各種デバイスに対するデータ入出力機能等の基本的な機能から、その他の応用的な機能へと向かう順番等、第1のプロセッサの有する機能毎に予め定められた順番を採用することができる。
不良機能特定手段は、順次展開される診断プログラムを順次実行することにより、第1のプロセッサの有する複数の機能のうち、実行不能な機能である不良機能を段階的に特定する。したがって、第2のプロセッサにより1つのプロセッサ診断プログラムを一度に実行するよりも、第2のプロセッサの処理負担を軽減することができる。
このように、本実施例では、第2のプロセッサにより第1のプロセッサを診断する際に、メインメモリを診断することにより、メインメモリ内の不良領域を特定する。そして、メインメモリのうち、不良領域を除く領域に、プロセッサ診断プログラムを展開し、この展開されたプロセッサ診断プログラムを実行することにより、第1のプロセッサの有する複数の機能のうち、実行不能な機能である不良機能を特定する。このように構成したので、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保することができる。
なお、前記メモリ診断手段、前記診断プログラム展開手段、及び前記不良機能特定手段としては、例えば、第2のプロセッサが、コンピュータ装置の起動時にROMから読み出して実行するBIOSプログラムなどにその機能を担わせることができる。
次に、図1を参照して、本実施例に係るコンピュータ装置の構成について説明する。図1は、本実施例に係るコンピュータ装置1の構成を示す機能ブロック図であり、図2は、図1に示すDRAMの詳細を示す説明図である。
図1に示すように、コンピュータ装置1は、CPU10と、診断用CPU11と、DRAM20と、ROM30と、表示コントローラ40と、それらを互いに接続するバス60と、を有する。
CPU10は、第1のプロセッサとして、コンピュータ装置1の全体を制御し、各種機能を実行する制御部である。
診断用CPU11は、第2のプロセッサとして、コンピュータ装置1の起動時にBIOS(Basic Input Output System)プログラム31をROM30から読み出して実行し、CPU10の診断を行う自己診断用の制御部である。具体的には、診断用CPU11は、BIOSプログラム31の実行中に、CPU診断プログラム32をROM30から読み出して、DRAM20上で実行することにより、CPU10の診断を行う。
DRAM20は、コンピュータ装置1のメインメモリ(主記憶装置)である。具体的には、DRAM20は、CPU10の実行対象となるプログラム(BIOSプログラム31やCPU診断プログラム32を含む)が展開され、かかるプログラムによる各種データなどが一時的に格納されるワーキングメモリとして用いられる。また、DRAM20は、図2に示すように、CPU10のワーキングメモリとして使用されるために、所定長で区画した複数の領域(1)〜(20)に区分されて管理されている。
ROM30は、CPU10が実行する各種プログラムやデータを記憶している。ROM30に記憶されているプログラムには、BIOSプログラム31、CPU診断プログラム32、メモリ診断プログラム33等が含まれている。
BIOSプログラム31は、基本入出力プログラムのことである。具体的には、BIOSプログラム31は、コンピュータ装置1の電源投入時に起動して、OSやアプリケーションプログラムと、DRAM20や周辺機器(ディスプレイ、キーボード等)との間でのデータの入出力を制御する制御プログラムである。また、BIOSプログラム31は、診断用CPU11により実行されて、演算機能等のCPU10の有する複数の機能が正常に動作するか否かなどを診断するCPU診断処理(プロセッサ診断処理)を行う。なお、BIOSプログラム31がCPU診断処理を行う具体的な構成については、別途詳細に説明する。
CPU診断プログラム32は、CPU10の有する複数の機能を診断可能なプロセッサ診断プログラムであり、BIOSプログラム31がCPU10のCPU診断処理を行う際に実行されるものである。本実施例では、CPU診断プログラム32は、CPU10の有する複数の機能をそれぞれ診断する複数の診断プログラム32a、32b、32c、…を含む。
例えば、図4に示すように、診断プログラム32aは、CPU10の有する演算機能が正常に動作するか否かを診断するプログラムである。また、診断プログラム32bは、CPU10の有するデータ入出力機能が正常に動作するか否かを診断するプログラムである。また、診断プログラム32cは、CPU10の有する仮想アドレス変換機能が正常に動作するか否かを診断するプログラムである。なお、図4は、図1に示すCPU診断プログラム32の一例を示す説明図である。
メモリ診断プログラム33は、DRAM20の種々のメモリ機能が正常に機能するか否か(例えば、所定のデータが正常に読み書きできるか否か)を診断するためのプログラムである。また、メモリ診断プログラム33は、CPU診断プログラム32と同様に、BIOSプログラム31がCPU10のCPU診断処理を行う際に実行されるものである。
表示コントローラ40は、ディスプレイ50と接続されており、CPU10の診断結果などの表示出力をディスプレイ50に出力する。ディスプレイ50は、画像表示装置であり、表示コントローラ40からの表示出力を視認可能に表示する。
次に、図3を参照して、図1に示すBIOSプログラム31がCPU10に対するCPU診断処理を行う具体的な構成について詳細に説明する。図3は、図1に示すBIOSプログラム31の詳細を示す機能ブロック図である。なお、図3では、ROM30に記憶されたBIOSプログラム31が診断用CPU11によって実行されることにより実現される機能を機能ブロックとして示している。
BIOSプログラム31は、メモリ診断部311と、診断プログラム展開部312と、不良機能特定部313と、OS(オペレーティングシステム)異常検知部314と、診断結果告知部315と、を機能部として有している。これら各機能部311〜315は、BIOSプログラム31の起動時(実行時)に実行状態となる。
このBIOSプログラム31は、前述したように、コンピュータ装置1の起動時に最初に実行される。したがって、OS起動前に、CPU10のCPU診断処理を実行することとなるので、OSが起動しない場合であっても、CPU診断プログラムを正常に実行することが可能となる。
メモリ診断部311は、DRAM20を診断することにより、DRAM20内の不良領域を特定する。なお、不良領域とは、DRAM20の全領域のうち、読み書き機能などのメモリ機能が正常に機能しない領域である。DRAM20の診断は、メモリ診断プログラム33を実行することにより行われる。
診断プログラム展開部312は、DRAM20のうち、メモリ診断部311により特定された不良領域を除く領域に、CPU診断プログラム32を展開する。また、診断プログラム展開部312は、CPU診断プログラム32に含まれる複数の診断プログラム32a、32b、32c、…を、所定の順番で、順次展開する。
この所定の順番として、本実施例では、CPU10の有する基本的な機能から、応用的な機能へ向かう順番を採用している。例えば、図4に示すように、診断プログラム32aの診断機能である演算機能が、診断プログラム32bの診断機能であるデータ入出力機能よりも基本的な機能であるため、診断プログラム展開部312は、CPU診断プログラム32を、診断プログラム32a、32bの順番で展開する。さらに、診断プログラム32bの診断機能であるデータ入出力機能が、診断プログラム32cの診断機能である仮想アドレス変換機能よりも基本的な機能であるため、診断プログラム展開部312は、CPU診断プログラム32を、診断プログラム32a、32b、32cの順番で展開する。
不良機能特定部313は、診断プログラム展開部312により展開されたCPU診断プログラム32を実行することにより、CPU10の有する複数の機能のうち、実行不能な機能である不良機能を特定する。また、不良機能特定部313は、診断プログラム32a、32b、32c、…の順番で順次展開されるCPU診断プログラム32を順次実行することにより、CPU10の不良機能を段階的に特定する。したがって、診断用CPU11により1つのCPU診断プログラム32を一度に実行するよりも、診断用CPU11の処理負担を軽減することができる。
OS異常検知部314は、OSの起動異常を検知する。OSの起動異常としては、例えば、コンピュータ装置1が停止しキーボードやマウスの入力を受け付けなくなる状態(いわゆる、ハングアップ)や、OS自体の処理が継続不可能になる状態(いわゆる、青画面、黒画面)等が含まれる。このOS異常検知部314は、例えば、正常時のコンピュータ装置1の起動時間を予め測定し、タイムアウト時間を決めてROM30内の所定領域に記憶しておき、OSがタイムアウト時を経過した後もなおハングアップ、青画面、黒画面の状態にある場合に、OSの起動異常を検知するようにしている。
診断結果告知部315は、OS異常検知部314がOSの起動異常を検知した場合に、不良機能特定部313により特定された不良機能を、CPU10の診断結果として表示コントローラ40へ表示出力する。表示コントローラ40へ表示出力されたCPU10の診断結果は、ディスプレイ50に表示される。したがって、ディスプレイ50でCPU10の診断結果を確認したユーザは、CPU10における不良箇所の修理や、CPU10の交換等の適切な処置を即座にとることができる。
次に、図5を参照して、BIOSプログラム31がCPU10のCPU診断処理を行う処理手順について具体的に説明する。図5は、BIOSプログラム31がCPU10のCPU診断処理を行う処理手順を示す説明図である。
まず、図5に示すように、メモリ診断部311によってメモリ診断プログラム33が実行されると、DRAM20内の不良領域が特定される。ここでは、DRAM20の全領域(1)〜(20)のうち、領域(5)、(6)、及び(19)が不良領域として特定されている。
続いて、診断プログラム展開部312によって、DRAM20の全領域のうち、不良領域を除く領域が、CPU診断プログラム32を展開する展開対象領域として設定される。図5では、DRAM20の全領域のうち、領域(5)、(6)、及び(19)を除く領域が、CPU診断プログラム32の展開対象領域として設定されている。したがって、CPU診断プログラム32は、DRAM20のうち、メモリ機能が正常に機能する領域に常に展開されるため、CPU診断処理が途中で実行不能となる事態を確実に回避できる。
続いて、診断プログラム展開部312によって、CPU診断プログラム32に含まれる複数の診断プログラム32a、32b、32c、…が、この順番で順次展開される。そして、順次展開される複数の診断プログラム32a、32b、32c、…は、不良機能特定部313によって、順次実行され、CPU10の有する複数の機能から不良機能が段階的に特定される。ここで、複数の診断プログラム32a、32b、32c、…が展開される順番は、上述したように、CPU10の有する基本的な機能から、応用的な機能へ向かう順番である。したがって、CPU10の有する複数の機能から不良機能が段階的に特定されるため、CPU10の有する複数の機能のうち、どの段階の機能まで実行可能であるのかを詳細に特定することができる。
次に、図6を参照して、本実施例に係るコンピュータ装置のCPU診断処理について説明する。図6は、本実施例に係るコンピュータ装置1のCPU診断処理を示すフローチャートである。なお、図6に示すCPU診断処理は、コンピュータ装置1の電源が投入された後、診断用CPU11が、BIOSプログラム31をROM30から読み出して実行することにより、実行される処理である。
図6に示すように、まず、BIOSプログラム31のメモリ診断部311は、メモリ診断プログラム33を実行し(ステップS11)、DRAM20の全領域を、1つの領域ごとに診断する(ステップS12)。このとき、メモリ診断部311は、メモリ診断結果と、DRAM20のアドレス情報とを関連付ける。
続いて、メモリ診断部311は、DRAM20の全領域に、未診断の領域が有るか否かを判定する(ステップS13)。この判定は、DRAM20の各領域のアドレス情報に、メモリ診断結果が関連付けられているか否かを判定することにより行われる。この判定の結果、DRAM20の全領域に、未診断の領域が有ると判定すると(ステップS13:Yes)、メモリ診断部311は、DRAM20の全領域に、未診断の領域が無くなるまで、ステップS12〜ステップS13の処理を繰り返す。
一方、DRAM20の全領域に、未診断の領域が無いと判定すると(ステップS13:No)、メモリ診断部311は、異常であると診断されたDRAM20のアドレス情報を参照して、DRAM20内の不良領域を特定する(ステップS14)。
そして、診断プログラム展開部312は、DRAM20の全領域のうち、ステップS14にて特定された不良領域を除く領域を、展開対象領域として設定し(ステップS15)、その展開対象領域に、CPU診断プログラム32中の1の診断プログラムを展開する(ステップS16)。
続いて、不良機能特定部313は、展開されたCPU診断プログラム32を実行することにより、CPU10の有する複数の機能のうち、不良機能を特定する(ステップS17)。このとき、不良機能特定部313は、特定したCPU10の不良機能を、CPU10の診断結果として診断結果告知部315へ送信する。
そして、不良機能特定部313は、ステップS17にて特定されたCPU10の不良機能が存在するか否かを判定する(ステップS18)。この判定の結果、CPU10の不良機能が存在すると判定すると(ステップS18:Yes)、不良機能特定部313は、特定したCPU10の不良機能を、CPU10の診断結果として診断結果告知部315へ送信する。診断結果告知部315は、不良機能特定部313から受信したCPU10の診断結果を、表示コントローラ40を介してディスプレイ50に表示し(ステップS22)、CPU診断処理を終了する。
一方、CPU10の不良機能が存在しないと判定すると(ステップS18:No)、不良機能特定部313は、全てのCPU診断プログラム32を実行したか否かを判定する(ステップS19)。この判定の結果、全てのCPU診断プログラム32を実行していないと判定すると(ステップS19:No)、処理をステップS16へ戻す。一方、全てのCPU診断プログラム32を実行したと判定すると(ステップS19:Yes)、不良機能特定部313は、処理をステップS20へ移す。
ステップS20において、BIOSプログラム31は、OSを起動し、処理をステップS21へ移す。
ステップS21において、BIOSプログラム31のOS異常検知部314は、OSの起動異常が有る否かを検知する。この検知の結果、OSの起動異常を検知すると(ステップS21:Yes)、OS異常検知部314は、その検知信号を診断結果告知部315へ送信する。OS異常検知部314からの検知信号を受信すると、診断結果告知部315は、不良機能特定部313から受信したCPU10の診断結果を、表示コントローラ40を介してディスプレイ50に表示し(ステップS22)、CPU診断処理を終了する。一方、OSの起動異常がないと検知すると(ステップS21:No)、OS異常検知部314は、CPU診断処理を終了する。
上述してきたように、本実施例では、メモリ診断部311は、DRAM20を診断することにより、DRAM20内の不良領域を特定し、診断プログラム展開部312は、DRAM20のうち、不良領域を除く領域に、CPU診断プログラム32を展開し、不良機能特定部313は、展開されたCPU診断プログラム32を実行することにより、CPU10の有する複数の機能のうち、実行不能な機能である不良機能を特定することとした。かかる構成としたので、プロセッサの不良機能を確実に特定して、各種の診断テストの正常な実行を担保することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
例えば、本実施例では、診断プログラム展開部312及び不良機能特定部313は、ROM30に記憶されたBIOSプログラム31が診断用CPU11によって実行されることにより実現される機能部として説明したが、これに限らず、診断プログラム展開部312及び不良機能特定部313の機能を、CPU10及び診断用CPU11で分担させてもよい。
この場合、BIOSプログラム31に、診断用CPU11をCPU10に切り替えるプロセッサ切替手段を設ける。具体的には、診断プログラム展開部312が、CPU診断プログラム32に含まれる複数の診断プログラム32a、32b、32c、…を、所定の順番まで展開し、不良機能特定部313が、その展開された診断プログラムを実行したときに、プロセッサ切替手段は、診断用CPU11をCPU10に切り替える。これにより、CPU診断プログラム32のうち、所定の順番より後の順番の診断プログラムは、診断用CPU11に代わってCPU10により実行されることになる。
このように、BIOSプログラム31に、プロセッサ切替手段を設けることとすれば、CPU10の有する複数の機能のうち、基本的な機能の診断を診断用CPU11に実行させると共に、応用的な機能の診断をCPU10自身に実行させることができる。したがって、診断用CPU11の処理負担を軽減することができ、CPU診断処理全体の処理時間を短縮することができる。さらに、診断用CPU11として、低機能かつ低コストなプロセッサを用いることができるため、コンピュータ装置1全体の製造コストの増大を抑制することができる。
また、本実施例では、BIOSプログラム31をDRAM20上で実行することで、CPU診断処理を実行することとしたが、BIOSプログラム31を、CPU内部のキャッシュメモリ上で実行してもよい。
また、本実施例のBIOSプログラム31、CPU診断プログラム32、及びメモリ診断プログラム33は、必ずしもROM30に記憶されている必要はなく、例えば、フラッシュメモリ等の書き換え可能な不揮発性のメモリに記憶しておき、このプログラムを、診断用CPU11が読み出して実行するようにしてもよい。
また、本実施例のBIOSプログラム31、CPU診断プログラム32、及びメモリ診断プログラム33は、例えば、ネットワークに接続されたサーバ等からフラッシュメモリにダウンロードされるようにしてもよく、さらには、CD−ROM等の記録媒体に記録されてから記録媒体のドライブを介して、フラッシュメモリに読み込まれるようにしてもよい。
本実施例に係るコンピュータ装置の構成を示す機能ブロック図である。 図1に示すDRAMの詳細を示す説明図である。 図1に示すBIOSプログラムの詳細を示す機能ブロック図である。 CPU診断プログラムの一例を示す説明図である。 CPU診断処理の処理手順を示す説明図である。 本実施例に係るコンピュータ装置のCPU診断処理の処理手順を示すフローチャートである。
符号の説明
1 コンピュータ装置
10 第1のプロセッサ(CPU)
11 第2のプロセッサ(診断用CPU)
20 DRAM
30 ROM
31 基本入出力プログラム(BIOSプログラム)
32 CPU診断プログラム
32a〜32c 診断プログラム
311 メモリ診断部
311〜315 機能部
312 診断プログラム展開部
313 不良機能特定部
314 OS異常検知部
315 診断結果告知部

Claims (5)

  1. 第1のプロセッサと、第2のプロセッサと、メインメモリとを有するコンピュータ装置であって、
    前記第2のプロセッサにメモリ診断プログラムを実行させることにより、前記メインメモリを診断し、前記メインメモリ内の不良領域を特定するメモリ診断手段と、
    前記メインメモリのうち、前記メモリ診断手段により特定された不良領域を除く領域に、前記第2のプロセッサを前記第1のプロセッサにアクセスさせた状態で前記第1のプロセッサの有する複数の機能をそれぞれ診断する複数の診断プログラムを順次展開する診断プログラム展開手段と、
    順次展開され記診断プログラムを前記第2のプロセッサに順次実行させることにより、前記第1のプロセッサの有する複数の機能のうち、実行不能な機能である不良機能を段階的に特定する不良機能特定手段と、
    を有し、
    前記診断プログラム展開手段によって前記複数の診断プログラムのうちの一つの診断プログラムが展開される処理と、展開された前記一つの診断プログラムを前記不良機能特定手段によって前記第2のプロセッサに実行させる処理とが繰り返されることによって、前記不良機能が段階的に特定される
    ことを特徴とするコンピュータ装置。
  2. 前記コンピュータ装置にて起動されるオペレーティングシステムの起動異常を検知するオペレーティングシステム異常検知手段と、
    前記オペレーティングシステム異常検知手段が前記起動異常を検知した場合に、前記不良機能特定手段により特定された前記不良機能を、前記第1のプロセッサの診断結果として告知する診断結果告知手段と、
    を有することを特徴とする請求項1に記載のコンピュータ装置。
  3. 前記各手段は、電源の投入時に起動して、前記メインメモリに対するデータの入出力を制御する制御プログラムである基本入出力プログラム内に組み込まれており、当該基本入出力プログラムの起動時に実行状態となることを特徴とする請求項1又は2に記載のコンピュータ装置。
  4. 第1のプロセッサと、第2のプロセッサと、メインメモリとを有するコンピュータ装置によって実行されるプロセッサ診断方法であって
    前記第2のプロセッサが、前記第2のプロセッサにメモリ診断プログラムを実行させることにより、前記メインメモリを診断し、前記メインメモリ内の不良領域を特定するメモリ診断ステップと、
    前記第2のプロセッサが、前記メインメモリのうち、前記メモリ診断ステップにより特定された不良領域を除く領域に、前記第2のプロセッサを前記第1のプロセッサにアクセスさせた状態で前記第1のプロセッサの有する複数の機能をそれぞれ診断する複数の診断プログラムを順次展開する診断プログラム展開ステップと、
    前記第2のプロセッサが、順次展開され記診断プログラムを前記第2のプロセッサに順次実行させることにより、前記第1のプロセッサの実行する複数の機能のうち、実行不能な機能である不良機能を段階的に特定する不良機能特定ステップと、
    を含み、
    前記診断プログラム展開ステップによって前記複数の診断プログラムのうちの一つの診断プログラムが展開される処理と、展開された前記一つの診断プログラムを前記不良機能特定ステップによって前記第2のプロセッサに実行させる処理とが繰り返されることによって、前記不良機能が段階的に特定される
    ことを特徴とするプロセッサ診断方法。
  5. 第1のプロセッサと、第2のプロセッサと、メインメモリとを有するコンピュータ装置に適用されるプロセッサ診断制御プログラムであって
    前記第2のプロセッサが、前記第2のプロセッサにメモリ診断プログラムを実行させることにより、前記メインメモリを診断し、前記メインメモリ内の不良領域を特定するメモリ診断手順と、
    前記第2のプロセッサが、前記メインメモリのうち、前記メモリ診断手順により特定された不良領域を除く領域に、前記第2のプロセッサを前記第1のプロセッサにアクセスさせた状態で前記第1のプロセッサの有する複数の機能をそれぞれ診断する複数の診断プログラムを順次展開する診断プログラム展開手順と、
    前記第2のプロセッサが、順次展開され記診断プログラムを前記第2のプロセッサに順次実行させることにより、前記第1のプロセッサの実行する複数の機能のうち、実行不能な機能である不良機能を特定する不良機能特定手順と、
    前記コンピュータ装置に実行させ
    前記診断プログラム展開手順によって前記複数の診断プログラムのうちの一つの診断プログラムが展開される処理と、展開された前記一つの診断プログラムを前記不良機能特定手順によって前記第2のプロセッサに実行させる処理とが繰り返されることによって、前記不良機能が段階的に特定される
    ことを特徴とするプロセッサ診断制御プログラム。
JP2008258976A 2008-10-03 2008-10-03 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム Active JP5509568B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2008258976A JP5509568B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
EP09166982.0A EP2175372B1 (en) 2008-10-03 2009-07-31 Computer apparatus and processor diagnostic method
US12/533,064 US8176365B2 (en) 2008-10-03 2009-07-31 Computer apparatus and processor diagnostic method
TW098125870A TWI414937B (zh) 2008-10-03 2009-07-31 電腦裝置及處理器診斷方法
KR1020090077642A KR101018373B1 (ko) 2008-10-03 2009-08-21 컴퓨터 장치, 프로세서 진단 방법 및 프로세서 진단 제어 프로그램을 저장하는 기억 매체
CN2009101635881A CN101714111B (zh) 2008-10-03 2009-08-28 计算机设备和处理器诊断方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008258976A JP5509568B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム

Publications (2)

Publication Number Publication Date
JP2010092127A JP2010092127A (ja) 2010-04-22
JP5509568B2 true JP5509568B2 (ja) 2014-06-04

Family

ID=41600454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008258976A Active JP5509568B2 (ja) 2008-10-03 2008-10-03 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム

Country Status (6)

Country Link
US (1) US8176365B2 (ja)
EP (1) EP2175372B1 (ja)
JP (1) JP5509568B2 (ja)
KR (1) KR101018373B1 (ja)
CN (1) CN101714111B (ja)
TW (1) TWI414937B (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7895483B2 (en) * 2007-05-25 2011-02-22 International Business Machines Corporation Software memory leak analysis using memory isolation
JP5293062B2 (ja) * 2008-10-03 2013-09-18 富士通株式会社 コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
JP2012027544A (ja) * 2010-07-20 2012-02-09 Toshiba Corp ライトバックキャッシュを備える情報処理装置、及びその主メモリ診断方法
JP5294502B2 (ja) * 2010-10-19 2013-09-18 京楽産業.株式会社 遊技機
TWI464597B (zh) * 2012-07-19 2014-12-11 Wistron Corp 改善資料傳輸之方法及其相關電腦系統
CN103500133A (zh) * 2013-09-17 2014-01-08 华为技术有限公司 故障定位方法及装置
CN104021057A (zh) * 2014-06-27 2014-09-03 上海斐讯数据通信技术有限公司 一种cpu启动故障定位系统及其定位方法
WO2017048288A1 (en) * 2015-09-18 2017-03-23 Hewlett Packard Enterprise Development Lp Image based fault state determination
US9996362B2 (en) * 2015-10-30 2018-06-12 Ncr Corporation Diagnostics only boot mode
JP2017122997A (ja) * 2016-01-06 2017-07-13 富士通株式会社 情報処理装置、演算処理装置の制御方法および演算処理装置の制御プログラム
US10331532B2 (en) * 2017-01-19 2019-06-25 Qualcomm Incorporated Periodic non-intrusive diagnosis of lockstep systems
TWI707229B (zh) * 2019-06-10 2020-10-11 英業達股份有限公司 電腦裝置的內建記憶體檢測方法
CN113821396A (zh) * 2020-06-18 2021-12-21 中车株洲电力机车研究所有限公司 处理器运行状态监视诊断方法及装置
KR20220102360A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 전자 장치의 불량을 검출하기 위한 테스트를 수행하는 전자 장치 및 전자 장치에서 전자 장치의 불량을 검출하기 위한 테스트를 수행하는 방법

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06100975B2 (ja) * 1986-03-06 1994-12-12 富士通株式会社 ハ−ドウエア初期診断プログラム実行方式
JPH02242439A (ja) * 1989-03-16 1990-09-26 Nec Corp プログラムロード制御方式
US5119377A (en) * 1989-06-16 1992-06-02 International Business Machines Corporation System and method for software error early detection and data capture
US5155844A (en) * 1990-02-14 1992-10-13 International Business Machines Corporation Background memory test during system start up
US5214652A (en) * 1991-03-26 1993-05-25 International Business Machines Corporation Alternate processor continuation of task of failed processor
JPH064413A (ja) * 1992-06-18 1994-01-14 Fujitsu Ltd メモリテスト制御方法
JPH07191856A (ja) * 1993-12-27 1995-07-28 Toshiba Corp 情報処理装置
JPH07319858A (ja) * 1994-05-25 1995-12-08 Toshiba Corp コンピュータシステム
US5539878A (en) 1995-06-16 1996-07-23 Elonex Technologies, Inc. Parallel testing of CPU cache and instruction units
US6202174B1 (en) * 1996-09-16 2001-03-13 Advanced Micro Devices Inc Method for identifying and correcting errors in a central processing unit
US5987625A (en) * 1996-10-04 1999-11-16 Samsung Electronics Co., Ltd. Method and apparatus for testing network bootable devices
GB9911890D0 (en) * 1999-05-22 1999-07-21 Lucas Ind Plc Method and apparatus for detecting a fault condition in a computer processor
JP2001043201A (ja) 1999-08-03 2001-02-16 Mitsubishi Electric Corp マルチプロセッサ障害検出装置
US6408412B1 (en) * 1999-09-03 2002-06-18 Advantest Corp. Method and structure for testing embedded analog/mixed-signal cores in system-on-a-chip
US6766474B2 (en) * 2000-12-21 2004-07-20 Intel Corporation Multi-staged bios-based memory testing
JP2002207609A (ja) * 2001-01-11 2002-07-26 Sony Corp 電子機器の故障診断システム
JP2002267721A (ja) * 2001-03-09 2002-09-18 Mitsubishi Electric Corp Cpu内蔵ram混載lsiのテスト装置および方法
US6738933B2 (en) * 2001-05-09 2004-05-18 Mercury Interactive Corporation Root cause analysis of server system performance degradations
US6944808B2 (en) * 2001-05-12 2005-09-13 Advantest Corp. Method of evaluating core based system-on-a-chip
US7418642B2 (en) * 2001-07-30 2008-08-26 Marvell International Technology Ltd. Built-in-self-test using embedded memory and processor in an application specific integrated circuit
DE10148032A1 (de) * 2001-09-28 2003-04-24 Bosch Gmbh Robert Verfahren zum Überprüfen eines Rechnerkerns eines Mikroprozessors oder eines Mikrocontrollers
US6654707B2 (en) * 2001-12-28 2003-11-25 Dell Products L.P. Performing diagnostic tests of computer devices while operating system is running
JP2002366536A (ja) 2002-04-18 2002-12-20 Fujitsu Ltd プロセッサシステム
GB0216858D0 (en) * 2002-07-19 2002-08-28 Bae Systems Plc Fault diagnosis system
JP2004055100A (ja) * 2002-07-24 2004-02-19 Elpida Memory Inc メモリモジュールの救済方法、メモリモジュール、及び揮発性メモリ
JP2004302731A (ja) 2003-03-31 2004-10-28 Toshiba Corp 情報処理装置および障害診断方法
JP2005234872A (ja) * 2004-02-19 2005-09-02 Seiko Epson Corp コンピュータ、コンピュータ起動方法、biosプログラムおよび情報記憶媒体
US7266727B2 (en) * 2004-03-18 2007-09-04 International Business Machines Corporation Computer boot operation utilizing targeted boot diagnostics
US7409594B2 (en) * 2004-07-06 2008-08-05 Intel Corporation System and method to detect errors and predict potential failures
JP4555713B2 (ja) * 2005-03-17 2010-10-06 富士通株式会社 エラー通知方法及び情報処理装置
JP2006268281A (ja) * 2005-03-23 2006-10-05 Nec Corp 電源入力切断時の異常検知方式
JP2006268521A (ja) * 2005-03-24 2006-10-05 Nec Corp 予備cell試験システム
JP4328736B2 (ja) * 2005-04-22 2009-09-09 エルピーダメモリ株式会社 コンピュータシステム、及びメモリの不良救済方法
US7478281B2 (en) * 2005-06-06 2009-01-13 Denniston William B System and methods for functional testing of embedded processor-based systems
JP2009505188A (ja) * 2005-08-11 2009-02-05 コンティネンタル・テーベス・アクチエンゲゼルシヤフト・ウント・コンパニー・オッフェネ・ハンデルスゲゼルシヤフト 少なくとも部分的に安全上重大なプロセスの制御または調節用マイクロプロセッサシステム
JP2007226413A (ja) * 2006-02-22 2007-09-06 Hitachi Ltd メモリダンプ方法、メモリダンププログラム、及び、計算機システム
JP4586750B2 (ja) * 2006-03-10 2010-11-24 日本電気株式会社 コンピュータシステムおよび起動監視方法
DE102006051444C5 (de) * 2006-10-31 2011-12-08 Softing Ag Diagnoseverfahren und -vorrichtung für ein Feldbussystem

Also Published As

Publication number Publication date
TW201015301A (en) 2010-04-16
US8176365B2 (en) 2012-05-08
CN101714111A (zh) 2010-05-26
US20100088545A1 (en) 2010-04-08
KR101018373B1 (ko) 2011-03-02
TWI414937B (zh) 2013-11-11
EP2175372A2 (en) 2010-04-14
KR20100038135A (ko) 2010-04-13
EP2175372A3 (en) 2012-04-04
EP2175372B1 (en) 2014-12-17
JP2010092127A (ja) 2010-04-22
CN101714111B (zh) 2013-12-25

Similar Documents

Publication Publication Date Title
JP5509568B2 (ja) コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
US6216226B1 (en) Method and system for dynamically selecting a boot process within a data processing system
JP4746455B2 (ja) コンピュータ装置、起動制御方法及び起動制御プログラム
JP5293062B2 (ja) コンピュータ装置、メモリ診断方法、及びメモリ診断制御プログラム
US8595552B2 (en) Reset method and monitoring apparatus
JP4677214B2 (ja) パニックダンプ採取のためのプログラム、方法、及び機構
JP2018022333A (ja) ストレージ制御装置および記憶装置管理プログラム
JP4635993B2 (ja) 起動診断方式、起動診断方法およびプログラム
JP5348120B2 (ja) パニックダンプ採取のためのプログラム、方法、機構
TWI434174B (zh) 電腦系統及記憶體用途設定程式
JP4576433B2 (ja) 情報処理装置、演算処理装置、情報処理装置の制御方法及びプログラム
JP5057911B2 (ja) マルチプロセッサシステム
JP2009003557A (ja) 装置起動時診断方法、診断プログラム及び起動時診断装置
JP2007226640A (ja) メモリ診断処理回路およびメモリ診断処理方法
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム
JPH1153214A (ja) パーソナルコンピュータのブート不良検出システム
JP2000347949A (ja) メモリ診断方式及びその方法
JP2004152020A (ja) マイクロコントローラ応用システム
JPH0695978A (ja) メモリの初期診断回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130723

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5509568

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150