特許第5751626号(P5751626)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

特許5751626メモリ試験装置、メモリ試験方法およびメモリ試験プログラム
<>
  • 特許5751626-メモリ試験装置、メモリ試験方法およびメモリ試験プログラム 図000002
  • 特許5751626-メモリ試験装置、メモリ試験方法およびメモリ試験プログラム 図000003
  • 特許5751626-メモリ試験装置、メモリ試験方法およびメモリ試験プログラム 図000004
  • 特許5751626-メモリ試験装置、メモリ試験方法およびメモリ試験プログラム 図000005
  • 特許5751626-メモリ試験装置、メモリ試験方法およびメモリ試験プログラム 図000006
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5751626
(24)【登録日】2015年5月29日
(45)【発行日】2015年7月22日
(54)【発明の名称】メモリ試験装置、メモリ試験方法およびメモリ試験プログラム
(51)【国際特許分類】
   G06F 12/16 20060101AFI20150702BHJP
【FI】
   G06F12/16 310R
   G06F12/16 330C
【請求項の数】10
【全頁数】20
(21)【出願番号】特願2011-157798(P2011-157798)
(22)【出願日】2011年7月19日
(65)【公開番号】特開2013-25452(P2013-25452A)
(43)【公開日】2013年2月4日
【審査請求日】2014年6月11日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】深澤 敏
【審査官】 中野 裕二
(56)【参考文献】
【文献】 特開平11−134211(JP,A)
【文献】 特開平11−259374(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/16
G11C 29/76
(57)【特許請求の範囲】
【請求項1】
情報処理装置のメモリの試験を行うために当該情報処理装置に備えられたメモリ試験装置であって、当該情報処理装置の運用中に前記メモリに訂正可能障害が発生したことを検知した際に、該訂正可能障害が発生したメモリアドレスが含まれているメモリエリアアドレス空間を障害発生ページとして登録する障害登録手段と、しかる後の当該情報処理装置の立ち上げ動作時に、前記障害登録手段により登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に対して、あらかじめ定めたテストパターンからなる特別なメモリ試験を実施するメモリ試験実施手段と、該メモリ試験実施手段によって実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知されなかった場合には、前記障害発生ページに該当する前記メモリエリアアドレス空間を正常なメモリエリアアドレス空間としてシステムに組み込んで立ち上げ後のOS(Operating System)が使用することが可能な状態に復帰させる正常復帰手段と、を少なくとも備えていることを特徴とするメモリ試験装置。
【請求項2】
前記メモリ試験実施手段によって実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知された場合、当該障害発生ページに該当する前記メモリエリアアドレス空間を立ち上げ後のOSが使用することができないページ閉塞状態に設定するページ閉塞手段と、前記特別なメモリ試験において障害が発生したテストパターンとメモリアドレスとを障害解析用の情報として保持する障害情報保持手段とを備えていることを特徴とする請求項1に記載のメモリ試験装置。
【請求項3】
前記メモリ試験実施手段は、前記特別なメモリ試験の実施結果として、障害が検知された場合、障害が検知された前記障害発生ページに該当する前記メモリエリアアドレス空間に関する情報をメモリ試験結果登録テーブルに登録し、前記ページ閉塞手段は、前記メモリ試験結果登録テーブルに登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に関する情報に基づいて、ページ閉塞状態に設定することを特徴とする請求項2に記載のメモリ試験装置。
【請求項4】
前記障害情報保持手段は、前記特別なメモリ試験において障害が発生したテストパターンとメモリアドレスとを、障害診断用に用いられる不揮発性メモリまたはSRAM(Static Random Access Memory)に保持し、あるいは、前記メモリがDIMM(Dual Inline Memory Module)からなっている場合には該DIMMのスペックを格納するROM領域であるSPD(Special Presence Detect)に保持することを特徴とする請求項2または3に記載のメモリ試験装置。
【請求項5】
前記障害登録手段は、当該情報処理装置の運用中に前記メモリに訂正可能障害が発生したことを検知した際に、該訂正可能障害が発生したメモリアドレスが含まれているメモリエリアアドレス空間を前記障害発生ページとして当該メモリエリアアドレス空間における訂正可能障害の発生回数とともに障害発生回数登録テーブルに登録し、該障害発生回数登録テーブルに登録された訂正可能障害の発生回数が、あらかじめ定めた閾値を超えたメモリエリアアドレス空間を、以降、当該情報処理装置の再立ち上げが実施されるまでOSが使用することができないページ閉塞状態に設定することを特徴とする請求項1ないし4のいずれかに記載のメモリ試験装置。
【請求項6】
情報処理装置のメモリの試験を行うために当該情報処理装置に備えられたメモリ試験装置におけるメモリ試験方法であって、当該情報処理装置の運用中に前記メモリに訂正可能障害が発生したことを検知した際に、該訂正可能障害が発生したメモリアドレスが含まれているメモリエリアアドレス空間を障害発生ページとして登録する障害登録ステップと、しかる後の当該情報処理装置の立ち上げ動作時に、登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に対して、あらかじめ定めたテストパターンからなる特別なメモリ試験を実施するメモリ試験実施ステップと、該メモリ試験実施ステップにおいて実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知されなかった場合には、前記障害発生ページに該当する前記メモリエリアアドレス空間を正常なメモリエリアアドレス空間としてシステムに組み込んで立ち上げ後のOS(Operating System)が使用することが可能な状態に復帰させる正常復帰ステップと、を少なくとも有していることを特徴とするメモリ試験方法。


【請求項7】
前記メモリ試験実施ステップにおいて実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知された場合、当該障害発生ページに該当する前記メモリエリアアドレス空間を立ち上げ後のOSが使用することができないページ閉塞状態に設定するページ閉塞ステップと、前記特別なメモリ試験において障害が発生したテストパターンとメモリアドレスとを障害解析用の情報として保持する障害情報保持ステップとを有していることを特徴とする請求項6に記載のメモリ試験方法。
【請求項8】
前記メモリ試験実施ステップにおいては、前記特別なメモリ試験の実施結果として、障害が検知された場合、障害が検知された前記障害発生ページに該当する前記メモリエリアアドレス空間に関する情報をメモリ試験結果登録テーブルに登録し、前記ページ閉塞ステップにおいては、前記メモリ試験結果登録テーブルに登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に関する情報に基づいて、ページ閉塞状態に設定することを特徴とする請求項7に記載のメモリ試験方法。
【請求項9】
前記障害情報保持ステップにおいては、前記特別なメモリ試験において障害が発生したテストパターンとメモリアドレスとを、障害診断用に用いられる不揮発性メモリまたはSRAM(Static Random Access Memory)に保持し、あるいは、前記メモリがDIMM(Dual Inline Memory Module)からなっている場合には該DIMMのスペックを格納するROM領域であるSPD(Special Presence Detect)に保持することを特徴とする請求項7または8に記載のメモリ試験方法。
【請求項10】
請求項6ないし9のいずれかに記載のメモリ試験方法の各ステップを、コンピュータによって実行可能なプログラムとして実施していることを特徴とするメモリ試験プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、メモリ試験装置、メモリ試験方法およびメモリ試験プログラムに関し、特に、情報処理装置に備えられた大容量や小容量のメモリに関して、ページ閉塞されたメモリエリアアドレス空間の再使用を自動的に可能にし、かつ、メモリエリアアドレス空間の障害の潜在化を防止するメモリ試験装置、メモリ試験方法およびメモリ試験プログラムに関する。
【背景技術】
【0002】
情報処理装置に備えられているメモリに障害が発生した場合であっても、情報処理装置としての運用を継続することを可能にするために、例えば、特許文献1の特開平9−81464号公報「計算機システムのメモリ障害回復方法および回復システム」や特許文献2の特開平11−259374号公報「メモリ試験装置および方法および記録媒体」等に記載されているように、従来から種々の技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平9−81464号公報(第6−8頁)
【特許文献2】特開平11−259374号公報(第4−6頁)
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、前記特許文献1や前記特許文献2のような従来のメモリ試験方式においては、大容量のメモリを有する情報処理装置の場合は、情報処理装置の立ち上げ時間を短縮しようとする観点から、十分なメモリ試験を実施しない場合があり、情報処理装置立ち上げ時にメモリ障害を効果的に検出することができないという問題があり、また、小容量のメモリを有する情報処理装置(一般的には、組み込み系の情報処理装置)の場合は、故障を検知した或るメモリエリアアドレス空間の閉塞(ページ閉塞)を実施した場合に、使用可能なメモリ領域の大幅な減少を招いて、システム動作が不安定になり兼ねないという問題も生じる。
【0005】
また、情報処理装置の運用中にメモリ障害を検知しても、当該メモリ障害を診断するために実施する再現試験において当該メモリ障害を再現することができず、当該メモリ障害の効果的な解析を行うことができないという場合も多く発生している。
【0006】
より詳しくは、次の第1ないし第4のような課題が従来のメモリ試験方式には存在している。なお、ここで、使用する用語の「メモリエリアアドレス空間」とは、DIMM(Dual Inline Memory Module)や主記憶装置だけではなく、不揮発性メモリやSRAM(Static Random Access Memory)などのOS(Operating System:オペレーティングシステム、以降OSと表記する)上で使用することが可能なメモリ空間の総称を示している。また、或る特定のメモリエリアアドレス空間(ページと称する)で短期間に訂正可能障害が大量に発生した場合、当該特定のメモリエリアアドレス空間にアクセスし続けると、訂正不可能障害が発生するかもしれないので、一般に、訂正可能障害の発生回数があらかじめ定めた閾値を超えた場合に、OSなどがソフトウエア的に本メモリエリアアドレス空間(Page:ページ)にアクセスしないように制御している。この処理を「ページ閉塞処理」と称している。
【0007】
第1に、訂正可能障害が大量に発生しているメモリエリアアドレス空間(ページ)では、初期に書き込みが1回のみ行われ、以降、読み出し動作のみであった場合、訂正可能障害状態となった当該メモリエリアアドレス空間に対して、そのままページ閉塞を実施することは必ずしも相応しいとは限らない。
【0008】
例えば、或るメモリアドレスに対して、1回書き込みが行われ、それ以降書き込みは一切行われなかったとする。このような場合においては、当該メモリアドレスに対する再書き込みを行うことなく、短期的に読み出し動作が数百回に亘って行われてしまい、訂正可能障害があらかじめ定めた閾値を超えたと判断されてしまう場合がある。
【0009】
また、第2に、メモリ上の或るセルが或る値にスタックしていた場合であっても、スタックした状態と同じ値のデータが書き込まれた場合であれば、書き込まれたデータを読み出してもエラーを検出することができない。しかし、スタックした値と反対の値のデータが書き込まれた場合には、スタックしたメモリエリアに書き込まれたデータを読み出した場合には、必ず、エラーが発生することになる。
【0010】
したがって、訂正可能障害の発生頻度があらかじめ定めた閾値よりも少ないにも関わらず、メモリ中には障害が潜んでいることになり、現状では、ページ閉塞状態に設定されないものの、将来、ページ閉塞される可能性が高いメモリエリアが存在していることになる。
【0011】
また、第3に、DIMM/メモリなどの障害被疑部品のみを交換して、メモリ試験機に装着して再現試験を実施しても、障害が再現しないことがある。
【0012】
例えば、DIMM/メモリとボードとの相性などで障害が再現しなくなることがあり、障害が発生している環境下で、再現試験を実施することが重要であるケースがある。つまり、いわゆる「相性問題」と称される現象が発生した場合には、障害が発生している環境下で再現試験を実施すれば、障害被疑部品が、DIMM/メモリではなく、ボードであることを解析することも容易になる。
【0013】
また、障害が発生している環境下で再現試験を実施した際に、DIMM/メモリを交換しても、毎回同じメモリ試験結果が得られる場合には、障害被疑部品はボードであると判別することができる。
【0014】
さらに、第4に、近年はメモリ容量の増大に伴い、情報処理装置の立ち上げ時に全てのメモリエリアアドレス空間に対して入念なメモリ試験を実施すると、立ち上げ時間も増大するという問題があり、立ち上げ時においてすべてのメモリエリアアドレス空間に対してはメモリ試験を実施しないこともある。そのため、立ち上げ時において、OSが稼動する前に、メモリのエラーアドレス、エラーデータパターンを見つけ出すことができない場合もある。
【0015】
(本発明の目的)
本発明は、上述の事情に鑑みてなされたものであり、ページ閉塞されたメモリエリアアドレス空間の再使用を可能にするとともに、障害の潜在化を防止することが可能なメモリ試験装置、メモリ試験方法およびメモリ試験プログラムを提供することを、その目的としている。
【課題を解決するための手段】
【0016】
前述の課題を解決するため、本発明によるメモリ試験装置、メモリ試験方法およびメモリ試験プログラムは、主に、次のような特徴的な構成を採用している。
【0017】
(1)本発明によるメモリ試験装置は、情報処理装置のメモリの試験を行うために当該情報処理装置に備えられたメモリ試験装置であって、当該情報処理装置の運用中に前記メモリに訂正可能障害が発生したことを検知した際に、該訂正可能障害が発生したメモリアドレスが含まれているメモリエリアアドレス空間を障害発生ページとして登録する障害登録手段と、しかる後の当該情報処理装置の立ち上げ動作時に、前記障害登録手段により登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に対して、あらかじめ定めたテストパターンからなる特別なメモリ試験を実施するメモリ試験実施手段と、該メモリ試験実施手段によって実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知されなかった場合には、前記障害発生ページに該当する前記メモリエリアアドレス空間を正常なメモリエリアアドレス空間としてシステムに組み込んで立ち上げ後のOS(Operating System)が使用することが可能な状態に復帰させる正常復帰手段と、を少なくとも備えていることを特徴とする。
【0018】
(2)本発明によるメモリ試験方法は、情報処理装置のメモリの試験を行うために当該情報処理装置に備えられたメモリ試験装置におけるメモリ試験方法であって、当該情報処理装置の運用中に前記メモリに訂正可能障害が発生したことを検知した際に、該訂正可能障害が発生したメモリアドレスが含まれているメモリエリアアドレス空間を障害発生ページとして登録する障害登録ステップと、しかる後の当該情報処理装置の立ち上げ動作時に、前記障害登録手段により登録された前記障害発生ページに該当する前記メモリエリアアドレス空間に対して、あらかじめ定めたテストパターンからなる特別なメモリ試験を実施するメモリ試験実施ステップと、該メモリ試験実施ステップにおいて実施した前記特別なメモリ試験の実施結果として、前記障害発生ページに該当する前記メモリエリアアドレス空間に障害が検知されなかった場合には、前記障害発生ページに該当する前記メモリエリアアドレス空間を正常なメモリエリアアドレス空間としてシステムに組み込んで立ち上げ後のOS(Operating System)が使用することが可能な状態に復帰させる正常復帰ステップと、を少なくとも有していることを特徴とする。
【0019】
(3)本発明によるメモリ試験プログラムは、少なくとも前記(2)に記載のメモリ試験方法の各ステップを、コンピュータによって実行可能なプログラムとして実施していることを特徴とする。
【発明の効果】
【0020】
本発明のメモリ試験装置、メモリ試験方法およびメモリ試験プログラムによれば、以下のような効果を奏することができる。
【0021】
第1の効果は、特に、間歇的にメモリ上のデータが或る値にスタック/固定化した場合等において、一時的にページ閉塞したメモリエリアアドレス空間を自動的に再利用することが可能になることである。
【0022】
第2の効果は、次の点にある。近年の組み込み系情報処理装置にもページ閉塞機能が既に備えられているかまたは今後組み込まれていく状況にあるが、しかし、組み込み系情報処理装置のメモリは大容量ではなく、小容量の場合がほとんどである。また、SRAMなどの小容量RAMに対してもページ閉塞機能を実施する状況にある。かくのごとき小容量のメモリに対してページ閉塞が実施されると、使用可能なメモリ容量が大幅に減少してしまうことになって、システム動作が不安定になってしまう場合も生じる。本発明においては、システムの立ち上げの都度、可能な限りページ閉塞を実施しないように設定することができるので、システム動作の安定化を図ることができる、という効果が得られる。
【0023】
第3の効果は、立ち上げ時に実施する特別なメモリ試験においてエラー(故障)を検知した時のメモリアドレス、データパターンをメモリのDIMM(Dual Inline Memory Module)のSPD(Special Presence Detect)、診断機能部の不揮発性メモリやSRAM(Static Random Access Memory)等に保持するので、故障診断用に以降に実施する再現試験において、故障が再現しなくとも、保持されている詳細な障害状態に基づいて、障害解析を行うことが容易になることである。さらには、例えば、障害の解析結果を必要とするカスタマサポート者や、お客様への障害報告者にとっては、詳細なデータが必要な場合があり、このような場面においても有効な情報を提供することができる。
【図面の簡単な説明】
【0024】
図1】本発明に係るメモリ試験装置の装置構成の一例を説明するためブロック構成図である。
図2】情報処理装置としてCPUがメモリを使用している際に、当該メモリに訂正可能障害が発生したときの動作の一例を示すフローチャートである。
図3図2において発生した訂正可能障害のメモリエリアアドレス空間に対して情報処理装置の再立ち上げ時に特別なメモリ試験を実施して、該メモリ試験の実施結果に基づいてメモリエリアアドレス空間のページ閉塞を解除したり、逆に、ページ閉塞を行うとともに障害情報を採取して保管したりする動作の一例を示すフローチャートである。
図4】障害発生回数登録テーブルのテーブル構成の一例を示すテーブルである。
図5】メモリ試験結果登録テーブルのテーブル構成の一例を示すテーブルである。
【発明を実施するための形態】
【0025】
以下、本発明によるメモリ試験装置、メモリ試験方法およびメモリ試験プログラムの好適な実施形態について添付図を参照して説明する。なお、以下の説明においては、本発明によるメモリ試験装置およびメモリ試験方法について説明するが、このメモリ試験方法をコンピュータにより実行可能なメモリ試験プログラムとして実施するようにしても良いし、あるいは、そのメモリ試験プログラムをコンピュータにより読み取り可能な記録媒体に記録するようにしても良いことは言うまでもない。
【0026】
(本発明の特徴)
本発明の実施形態の説明に先立って、本発明の特徴についてその概要をまず説明する。本発明は、組み込み型基盤を含む各種の情報処理装置に備えられているメモリ(DIMM(Dual Inline Memory Module)を用いたメモリやSRAM(Static Random Access Memory)等)において、或るメモリエリアアドレス空間(ページ)に短期的に訂正可能障害があらかじめ定めた閾値を超えて発生したために、OSが当該メモリエリアアドレス空間を使用しないような処置いわゆるページ閉塞を実施したような場合であっても、ページ閉塞した当該メモリエリアアドレス空間に対して、再立ち上げ時に、特別なメモリ試験を実施して、訂正可能障害などが発生しなければ、再度システムに組み込むことを可能にし、使用可能なメモリの総容量の減少を防止することと、特別なメモリ試験の実施時に訂正可能障害が再現した場合には、詳細なデータを保持して、故障解析情報として保持することとを、主要な特徴としている。
【0027】
つまり、本発明においては、運用中にページ閉塞されたメモリエリアアドレス空間、訂正可能障害が検出されたメモリエリアアドレス空間に関する情報を登録しておき、システムの再立ち上げ時に、登録しておいた該メモリエリアドレス空間に対してあらかじめ用意したテストパターンからなる特別なメモリ試験を実施することによって、訂正可能障害などが検出されない場合には、ページ閉塞されたメモリエリアアドレス空間を使用可能な状態に復帰させて、再度、OSの資産(OSが使用することが可能なメモリエリアアドレス空間)とするとともに、特別なメモリ試験において再度障害が発生する場合には、その障害パターンを障害解析用として保持することを主要な特徴としている。
【0028】
ここで、特別なメモリ試験とは、具体的には、オール"0"書き込みや、オール"1"書き込みの場合だけではなく、"0"書き込み/読み出し→"1"書き込み/読み出し→"0"書き込み/読み出し→"1"書き込み/読み出しのような"0"、"1"反転書き込み/読み出しシーケンスや、"0x5555"書き込み/読み出し→"0xAAAA"書き込み/読み出し→"0x5555"書き込み/読み出しのような"01パターン"、"10パターン"反転書き込み/読み出しシーケンスなども含むメモリ試験であり、訂正可能障害が発生する可能性があるテストパターンを用いたメモリ試験を実施するものである。
【0029】
本発明においては、情報処理装置の再立ち上げ前に、前回の運用中にページ閉塞されたメモリエリアアドレス空間、訂正可能障害が発生したメモリエリアアドレス空間、に関する情報をテーブルに登録しておく。しかる後、情報処理装置の再立ち上げを実施した際に、再立ち上げのメモリ初期化時に、前記テーブルを参照して、ページ閉塞されたメモリエリアアドレス空間、訂正可能障害が発生したメモリエリアアドレス空間に対して、前述のような特別なメモリ試験を実施する。
【0030】
特別なメモリ試験の実施結果として、障害が検出されることなく、当該特別なメモリ試験に合格すると、試験対象となった当該メモリエリアアドレス空間(ページ閉塞されたメモリエリアアドレス空間、訂正可能障害が発生したメモリエリアアドレス空間)は、そのままシステムに組み込まれて、OSによって使用することが可能なメモリエリアになる。
【0031】
一方、障害が再度検出されて、当該特別なメモリ試験に不合格となると、試験対象となった当該メモリエリアアドレス空間(ページ閉塞されたメモリエリアアドレス空間、訂正可能障害が発生したメモリエリアアドレス空間)をシステムに組み込むことなく、隔離した状態にするとともに、当該特別なメモリ試験において再度エラーになった時のメモリアドレス、データパターンを、例えば、メモリがDIMMの場合には当該DIMMの各種のスペックを格納しているROM領域であるSPD(Special Presence Detect)、あるいは、診断機能部の不揮発性メモリやSRAM等に保持する。保持したメモリアドレス、データパターンは、障害解析時に使用される。
【0032】
かくのごとき特別なメモリ試験を情報処理装置の再立ち上げ時に実施することによって、特別なメモリ試験の実施結果として、正常であれば、ページ閉塞されていたメモリエリアアドレス空間、訂正可能障害を検出していたメモリエリアアドレス空間をシステムに再度組み込んで、OSが使用可能なメモリの総容量が低下することを防止し、一方、訂正可能障害が再現した場合には、詳細なデータを保持しておいて、障害解析時に使用することを可能にしている。
【0033】
(実施形態の構成例)
次に、本発明に係るメモリ試験装置の具体的な実施形態について、その一例を説明する。図1は、本発明に係るメモリ試験装置の装置構成の一例を説明するためブロック構成図であり、メモリ試験装置としては一般的な情報処理装置からなっており、かつ、当該情報処理装置が運用中に使用するメモリを、本メモリ試験装置の試験対象としている場合を示している。
【0034】
本実施形態のメモリ試験装置を構成する図1の情報処理装置は、中央処理装置(CPU:Central Processing Unit)10、メモリ11、不揮発性メモリ12、チップセット20、ベースボード管理コントローラ(BMC:Baseboard Management Controller)30、メモリ31、SRAM(Static Random Access Memory)32を少なくとも備えている。
【0035】
中央処理装置(CPU)10は、当該情報処理装置の全体の動作を制御するための処理装置である。また、メモリ11は、中央処理装置10で使用される各種のデータを記憶するための主記憶装置であり、DIMM(Dual Inline Memory Module)等を用いたメモリであって、本メモリ試験装置が試験対象とするメモリの一つである。また、不揮発性メモリ12は、電源がオフになってもデータを保持するメモリであって、診断機能部として中央処理装置10で使用される各種のデータやファームウェアを格納するためのメモリであり、本メモリ試験装置において必要とするデータやテーブルも記憶している。また、チップセット20は、中央処理装置10や各種IO(Input/Output)装置等との間のインタフェースを司る集積回路群であり、図1においては、中央処理装置10とベースボード管理コントローラ30との間のインタフェースを司る場合を図示している。
【0036】
ベースボード管理コントローラ(BMC)30は、中央処理装置10上のOSとは独立に動作する処理装置であり、メモリ31やSRAM32等の障害処理を実施したり、障害からの復旧処理を実施したりする。図1においては、少なくともメモリ31に障害が発生したことを外部に対して通知することができる機能と障害が発生したときの症状を示す情報を採取して保持することができる機能とを備えている。また、メモリ31は、ベースボード管理コントローラ30で使用される各種のデータを記憶するための記憶装置であり、DIMM(Dual Inline Memory Module)等を用いたメモリであって、本メモリ試験装置が試験対象とするもう一つメモリである。また、SRAM32は、電源がオフ状態になってもベースボード管理コントローラ30において必要となるデータを保持するための記憶装置であって、診断機能部としてベースボード管理コントローラ30で使用される各種のデータやファームウェアを格納するためのメモリであり、本メモリ試験装置において必要とするデータやテーブルも記憶している。なお、SRAM32は、不揮発性メモリ12と同様の不揮発性メモリであっても構わない。
【0037】
また、中央処理装置10には、ハードウェアとの間で最も低いレベルで入出力を行うファームウェアとして、BIOS(Basic Input/Output System)40が備えられており、立ち上げ時に、本メモリ試験装置の重要な機能の一つである特別なメモリ試験をメモリ11等に対して実施する機能も有している。一方、ベースボード管理コントローラ30には、ハードウェアとの間で最も低いレベルで入出力を行うファームウェアとして、BMCFW(BMC Firmware)41が備えられており、BIOS40と同様、立ち上げ時に、本メモリ試験装置の重要な機能の一つである特別なメモリ試験をメモリ31等に対して実施する機能も有している。
【0038】
なお、ベースボード管理コントローラ30、ベースボード管理コントローラ30用のメモリ31、ベースボード管理コントローラ30のデータ保持用のSRAM32は、本実施形態においては、実装する場合について説明するが、メモリ試験の実施対象が中央処理装置10にて使用されるメモリ11のみであった場合には、場合によっては、実装しないようにしても良い。
【0039】
(実施形態の動作の説明)
次に、図1に示したメモリ試験装置の動作の一例について、図2図3のフローチャートを用いて詳細に説明する。図2は、情報処理装置として中央処理装置10がメモリ11を使用している際、または、ベースボード管理コントローラ30がメモリ31を使用している際に、当該メモリ11またはメモリ31に訂正可能障害が発生したときの動作の一例を示すフローチャートであり、訂正可能障害が発生したメモリエリアアドレス空間を登録したり、メモリエリアアドレス空間に対するページ閉塞を実施したりする動作例を示している。
【0040】
また、図3は、図2において発生した訂正可能障害のメモリエリアアドレス空間に対して情報処理装置の再立ち上げ時に特別なメモリ試験を実施して、該メモリ試験の実施結果に基づいてメモリエリアアドレス空間のページ閉塞を解除したり、逆に、ページ閉塞を行うとともに障害情報を採取して保管したりする動作の一例を示すフローチャートである。図3のフローチャートにおいては、情報処理装置に立ち上げ時に、前回の運用中におけるメモリの障害状況があらかじめ登録されている障害発生回数登録テーブルを利用して特別なメモリ試験を実施して、中央処理装置10上で動作するOSが、ページ閉塞を解除すべきか、または、ページ閉塞を実施すべきか、というメモリ試験実施結果をOSに対して通知する動作例を示している。
【0041】
なお、以下で用いている"メモリエリアのアドレス"とは、次のような意味である。すなわち、"メモリエリアのアドレス"とは、中央処理装置10がメモリ11にアクセスする際のアドレス(メモリアクセスアドレス)、または、ベースボード管理コントローラ30がメモリ31にアクセスする際のアドレス(メモリアクセスアドレス)をページ閉塞単位に区切ったものを示している。
【0042】
ここで、"ページ閉塞単位"は、中央処理装置10やベースボード管理コントローラ30上で動作するOSの種類によって容量が異なる。例えば、或るOSの場合には、1,024Byte単位であり、また、異なる別のOSの場合には、4,096Byte単位である。ページ閉塞単位が、4,096Byte単位であった場合には、メモリエリアのアドレス"1000(16進数表示)"の次のメモリエリアのアドレスは、"2000(16進数表示)"になる。
【0043】
したがって、ページ閉塞単位が4,096Byte単位の場合、メモリアクセスアドレスのアドレス範囲が"1000(16進数表示)"〜"1FFF(16進数表示)"までのメモリエリアのアドレスは、"1000(16進数表示)"であり、また、メモリアクセスアドレスのアドレス範囲が"2000(16進数表示)"〜"2FFF(16進数表示)"までのメモリエリアのアドレスは、"2000(16進数表示)"であり、また、メモリアクセスアドレスのアドレス範囲が"F000(16進数表示)"〜"FFFF(16進数表示)"までのメモリエリアのアドレスは、"F000(16進数表示)"である。
【0044】
次に、図2のフローチャートを用いて、情報処理装置として運用中につまり中央処理装置10がメモリ11を使用している際に訂正可能障害が発生した場合の動作の一例について説明する。
【0045】
図2のフローチャートにおいて、情報処理装置として中央処理装置10が例えばDIMM/メモリからなるメモリ11を使用している運用中においては、メモリ11に訂正可能障害が発生したか否かを障害検出用のハードウェアによって常時監視している(ステップA101)。
【0046】
中央処理装置10がアクセスしたメモリ11に訂正可能障害が発生したことをハードウェアによって検出しない限り(ステップA201のNo)、ステップA201の動作を繰り返して、メモリ11のアクセス状態をハードウェアによって監視し続けることになる。一方、中央処理装置10がアクセスしたメモリ11に訂正可能障害が発生したことをハードウェアによって検出した場合には(ステップA201のYes)、障害を検出した当該ハードウェアは、訂正可能障害が発生したメモリエリアのアドレス例えばメモリエリアのアドレス"A1"を、訂正可能障害の発生回数に関する情報を管理するテーブルすなわち図4に示す障害発生回数登録テーブル100に登録する処理を制御する(ステップA202)。
【0047】
障害登録手段(障害登録主テップ)を形成するステップA202において、訂正可能障害が発生したメモリエリアのアドレス例えばメモリエリアのアドレス"A1"の図4に示す障害発生回数登録テーブル100への登録処理をBIOS40またはBMCFW41にて制御することにより、メモリエリアのアドレスごとの訂正可能障害の発生回数を記録している障害発生回数登録テーブル100のメモリエリアのアドレス例えばメモリエリアのアドレス"A1"に関する訂正可能障害の発生回数が更新される。
【0048】
図4は、障害発生回数登録テーブル100のテーブル構成の一例を示すテーブルであり、登録レコードが有効か否かを示す有効表示101、訂正可能障害が発生したメモリエリアアドレスを登録するメモリエリアアドレス102、訂正可能障害の発生回数を登録する発生回数103を少なくとも含んで構成されている。
【0049】
ここで、図4に示す障害発生回数登録テーブル100は、中央処理装置10上で動作するBIOS40によって読み書き動作を制御する場合には、中央処理装置10にて使用される不揮発性メモリ12内に配置されており、一方、ベースボード管理コントローラ30上で動作するBMCFW41によって読み書き動作を制御する場合には、ベースボード管理コントローラ30にて使用されるSRAM32内に配置される。
【0050】
なお、図4に示す障害発生回数登録テーブル100は、訂正可能障害が発生したメモリエリアアドレスの登録レコード数が9個までの例を示しているが、本発明は、登録レコード数をこの例の9個に限るものではなく、訂正可能障害を検出するハードウェア上の制約がない限り、任意の登録レコード数を有する構成とすることができる。
【0051】
初期状態においては、障害発生回数登録テーブル100の有効表示101に示す"有効bit−m(m=1〜9)"のすべてについて、それぞれの登録レコードについて無効を示す"0"が設定されている。つまり、有効表示101に示す"有効bit−m"の値が無効を示す"0"の場合は、当該登録レコードに該当するメモリエリアアドレス102の"メモリエリアアドレス−m"および発生回数103の"カウンタ−m"は無効の情報であることを示している。一方、有効表示101の"有効bit−m(m=1〜9のいずれか)"が、当該登録レコードについて有効であることを示す"1"に設定されている場合、当該登録レコードに該当するメモリエリアアドレス102の"メモリエリアアドレス−m"および発生回数103の"カウンタ−m"は有意な情報として設定されていることを示している。
【0052】
ステップA202において、訂正可能障害が発生したメモリエリアのアドレス例えばメモリエリアのアドレス"A1"に関して図4の障害発生回数登録テーブル100への登録処理を行う場合、初期状態では、前述の通り、有効表示101のすべての"有効bit−m(m=1〜9)"は、登録レコードが無効であることを示す"0"に設定されているので、有効表示101のいずれか任意の"有効bit−m"例えば"有効bit−1"が有効であることを示す"1"に書き換えられる。さらに、当該"有効bit−1"欄の登録レコードとして、メモリエリアアドレス102の"メモリエリアアドレス−1"は、訂正可能障害が発生したメモリエリアのアドレス例えばメモリエリアのアドレス"A1"に更新され、発生回数103の"カウンタ−1"は"0"から+1インクリメントされて"1"に更新される。
【0053】
しかる後、訂正可能障害が発生したメモリエリアのアドレス例えばメモリエリアのアドレス"A1"の障害発生回数が、あらかじめ定めた閾値を超えたか否かを確認する(ステップA203)。該メモリエリアのアドレス例えばメモリエリアのアドレス"A1"の障害発生回数が閾値を超えていない場合は(ステップA203のNo)、ステップA201に復帰して、該メモリエリアのアドレス例えばメモリエリアのアドレス"A1"について次の訂正可能障害の発生を監視する状態を継続する。
【0054】
一方、該メモリエリアのアドレス例えばメモリエリアのアドレス"A1"の障害発生回数が閾値を超えた場合には(ステップA203のYes)、ステップA102に移行して、中央処理装置10上で動作するOSに対して、該メモリエリアのアドレス例えばメモリエリアのアドレス"A1"のページ(メモリエリアアドレス空間)は許容された障害発生回数を超えてしまっている旨を通知する。該通知を受け取った中央処理装置10上のOSは、閾値を超えた回数の訂正可能障害が発生した該メモリエリアのアドレス例えばメモリエリアのアドレス"A1"のページ(メモリエリアアドレス空間)に関するページ閉塞処理を実施し、当該ページを運用系から切り離して隔離する(ステップA102)。
【0055】
次に、ステップA202における障害発生回数登録テーブル100の更新処理について、さらに詳細に説明する。障害発生回数登録テーブル100に登録レコードが全くない初期状態で、ステップA201にて訂正可能障害が検出されたメモリエリアのアドレス"A1"が転送されてくると、前述したように、有効表示101のいずれかの"有効bit−m"例えば"有効bit−1"が有効を示す"1"に書き換えられ、該当するメモリエリアアドレス102の"メモリエリアアドレス−1"には、転送されてきたメモリエリアのアドレス"A1"を格納し、発生回数103の"カウンタ−1"には+1インクリメントされて"1"を設定する。
【0056】
しかる後、ステップA201にて訂正可能障害を検出したメモリエリアのアドレスとしてメモリエリアのアドレス"A1"が再度転送されてくると、まず、障害発生回数登録テーブル100の有効表示101の中から有効を示す"1"が設定されている"有効bit−m"を探索する。本実施例においては、例えば"有効bit−1"が"1"に設定されているので、該"有効bit−1"を抽出し、次に、該"有効bit−1"の登録レコードを確認する動作に移行する。すなわち、"有効bit−1"に登録されているメモリエリアアドレス102の"メモリエリアアドレス−1"が、今回転送されてきたメモリエリアのアドレス"A1"と一致しているか否かを確認する。
【0057】
本実施例においては、メモリエリアアドレス102の"メモリエリアアドレス−1"は、今回転送されてきたメモリエリアのアドレス"A1"と一致しているので、今回転送されてきたメモリエリアのアドレス"A1"が障害発生回数登録テーブル100に登録済みであることが判別される。したがって、当該メモリエリアのアドレス"A1"において第2回目の訂正可能障害が発生したことを障害発生回数登録テーブル100に登録するために、発生回数103の"カウンタ−1"を+1インクリメントして"1"から"2"に更新する。
【0058】
つまり、同一メモリエリアのアドレス"A1"において複数回の訂正可能障害が発生した場合、障害発生回数登録テーブル100への登録内容は、第1回目の障害発生時には、有効表示101の"有効bit−m"例えば"有効bit−1"を有効な状態"1"に設定する動作と、該当するメモリエリアアドレス102の"メモリエリアアドレス−1"にメモリエリアのアドレス"A1"を登録する動作と、該当する発生回数103の"カウンタ−1"を"1"に設定する動作とを実施することになる。一方、同一メモリエリアのアドレス"A1"の第2回目以降の障害発生時には、該当する発生回数103の"カウンタ−1"を+1インクリメントにする動作のみを実施することになる。
【0059】
なお、ステップA201にて次に訂正可能障害を検出したメモリエリアのアドレスとして、最初に検出したメモリエリアのアドレス"A1"とは異なるメモリエリアのアドレス"A2"が転送されてきた場合には、障害発生回数登録テーブル100の有効表示101の中から有効を示す"1"が設定されている"有効bit−m(m=1〜9)"を探索して、"1"に設定されていた"有効bit−m"のいずれも、それぞれに該当するメモリエリアアドレス102の"メモリエリアアドレス−m"が、今回転送されてきたメモリエリアのアドレス"A2"と一致していない場合として、新規の登録動作になる。
【0060】
したがって、有効表示101の"有効bit−m(m=1〜9)"のうち、無効を示す"0"が設定されている"有効bit−i"を探索して、探索した"有効bit−i"を、前述のように、有効を示す"1"に書き換えるとともに、該当するメモリエリアアドレス102の"メモリエリアアドレス−i"には、今回転送されてきたメモリエリアのアドレス"A2"を格納し、発生回数103の"カウンタ−i"には+1インクリメントされて"1"を設定する。
【0061】
なお、障害発生回数登録テーブル100には登録されていない新たなメモリエリアのアドレス"A3"において訂正可能障害が発生したために、障害発生回数登録テーブル100への新規登録を行おうとして、有効表示101の"有効bit−m(m=1〜9)"のうち、無効を示す"0"が設定されている"有効bit−i"を探索した際に、"有効bit−m(m=1〜9)"のすべてが有効を示す"1"に設定されてしまっていて、満杯の状態になっていた場合には、有効な登録レコードの中から、置換することが最も可能な登録レコードを抽出して、登録済みの該登録レコードと差し替えることによって、新規登録を実施するようにしても良い。
【0062】
例えば、登録済みの各登録レコードの発生回数103の"カウンタ−m(m=1〜9)"の中から、カウント値が最も少ない"カウンタ−j"を検出して、発生回数が最も少ないメモリエリアアドレスとして検出したメモリエリアアドレス102の"メモリエリアアドレス−j"を、今回転送されてきた新規登録のメモリエリアのアドレス"A3"に書き換えるとともに、発生回数103の"カウンタ−j"を第1回目であることを示す"1"に書き換えるようにしても良い。また、発生回数が最も少ないメモリエリアアドレスが複数存在していた場合には、最若番側から発生回数が最も少ないメモリエリアアドレスを置換候補として選択するようにしても良いし、または、最老番側から発生回数が最も少ないメモリエリアアドレスを置換候補として選択するようにしても良い。
【0063】
あるいは、他の置換候補として、図4の障害発生回数登録テーブル100には記載していないが、各登録レコードについて、最新に発生した訂正可能障害の発生日時を障害発生回数登録テーブル100に登録することにし、最新に発生した訂正可能障害の発生日時が最も古いメモリエリアアドレスを、新規登録のメモリエリアアドレスに対する置換候補として選択するようにしても良い。
【0064】
次に、図3のフローチャートを用いて、あらかじめ定めたテストパターンからなる特別なメモリ試験により、情報処理装置の立ち上げ動作中に実施するメモリ確認動作例について説明する。
【0065】
情報処理装置の立ち上げ動作が指示されると(ステップB100)、中央処理装置10上で動作するBIOS40およびベースボード管理コントローラ30上で動作するBMCFW41は、不揮発性メモリ12およびSRAM32それぞれに備えている図4の障害発生回数登録テーブル100を参照して登録内容を確認する(ステップB101)。登録内容の確認動作として、まず、障害発生回数登録テーブル100のすべての登録レコードを確認したか否かをチェックする(ステップB102)。すべての登録レコードのチェックがまだ完了していない場合は(ステップB102のNo)、次にチェックすべき登録レコードの有効表示101の"有効bit−m(m=1〜9のいずれか)"が、有効を示す"1"に設定されているか否かを確認する(ステップB103)。
【0066】
有効を示す"1"に設定されていない場合は(ステップB103のNo)、無効なデータであるので、次の登録レコードをチェックするために、ステップB102に復帰する。一方、登録レコードの有効表示101の"有効bit−m(m=1〜9のいずれか)"が、有効を示す"1"に設定されていた場合は(ステップB103のYes)、当該"有効bit−m(m=1〜9のいずれか)"を無効を示す"0"に初期化するとともに、当該登録レコードに該当するメモリエリアアドレス102の"メモリエリアアドレス−m"を取り出して(ステップB104)、該"メモリエリアアドレス−m"が示すメモリエリアのアドレスに対して、前述したような特別なメモリ試験を実施する(ステップB105)。
【0067】
ここで、該"メモリエリアアドレス−m"が示すメモリエリアのアドレスは、前述したように、ページ閉塞単位となる或る範囲のメモリエリアアドレス空間であり、特別なメモリ試験は、当該範囲のメモリエリアアドレス空間に対して網羅的に実施されることになる。また、メモリ試験実施手段(メモリ試験実施ステップ)を形成するステップB105において実施する特別なメモリ試験は、訂正可能障害が発生する可能性があるテストパターンを用いた試験であり、具体的には、前述したように、オール"0"書き込みや、オール"1"書き込みの場合だけではなく、"0"書き込み/読み出し→"1"書き込み/読み出し→"0"書き込み/読み出し→"1"書き込み/読み出しのような"0"、"1"反転書き込み/読み出しシーケンスや、"0x5555"書き込み/読み出し→"0xAAAA"書き込み/読み出し→"0x5555"書き込み/読み出しのような"01パターン"、"10パターン"反転書き込み/読み出しシーケンスなども含むメモリ試験である。
【0068】
なお、本実施例においては、特別なメモリ試験は、登録レコードの有効表示101の"有効bit−m(m=1〜9のいずれか)"が、有効を示す"1"に設定されているすべてのメモリエリアのアドレス空間(つまり、訂正可能障害が検知されたメモリエリアのアドレス空間)に対して実施する場合について説明しているが、本発明は、この場合に限るものではない。例えば、ページ閉塞された状態にあるメモリエリアのアドレス空間のみに対して、言い換えれば、有効表示101の"有効bit−m(m=1〜9のいずれか)"が有効を示す"1"に設定されているメモリエリアのアドレス空間のうち、発生回数103の"カウンタ−m(m=1〜9)"のカウント値が、あらかじめ定めた閾値を超えているメモリエリアのアドレス空間のみに対して実施するようにしても良い。
【0069】
また、特別なメモリ試験を実施すべき対象となるメモリエリアのアドレス空間が複数存在している場合には、特別なメモリ試験の実施順序として、最若番側から、順次、有効を示す"1"が設定されているメモリエリアのアドレス空間(つまり、訂正可能障害が検知されたメモリエリアのアドレス空間)またはページ閉塞されたメモリエリアのアドレス空間に対して実施していくように順序付けを行うようにしても良い。
【0070】
図3のフローチャートに戻って、次に、ステップB104において障害発生回数登録テーブル100から取り出した或る"メモリエリアアドレス−m"が示すメモリエリアのアドレス空間に対して、ステップB105において実施した特別なメモリ試験の実施結果の良否判定を行う(ステップB106)。
【0071】
特別なメモリ試験の実施結果として故障を検知しなかった場合には(ステップB106のNo)、当該メモリエリアのアドレス空間は正常な状態にあるものとして、特別なメモリ試験の試験結果として、障害が検知されたメモリエリアアドレスを登録する図5のメモリ試験結果登録テーブル200への登録動作を行うことなく、障害発生回数登録テーブル100の次の登録レコードをチェックするために、ステップB102に復帰する。この結果、たとえ、先の運用中にページ閉塞状態に設定されたとしても、情報処理装置の再立ち上げ後においては、ページ閉塞状態から開放されて、OSが使用可能な状態に復帰することになる。
【0072】
一方、特別なメモリ試験の実施結果として故障を検知した場合には(ステップB106のYes)、当該メモリエリアのアドレス空間は、故障が発生しているものとして、今回の立ち上げ時においてはOSがシステムに組み込むことができないページ閉塞候補として、BIOS40またはBMCFW41は、不揮発性メモリ12またはSRAM32に備えている図5のメモリ試験結果登録テーブル200の登録内容を更新する(ステップB107)。
【0073】
図5は、メモリ試験結果登録テーブル200のテーブル構成の一例を示すテーブルであり、登録レコードが有効か否かを示す有効表示201、故障を検知したメモリエリアアドレスを登録するメモリエリアアドレス202を少なくとも含んで構成されている。
【0074】
ここで、図5に示すメモリ試験結果登録テーブル200は、中央処理装置10上で動作するBIOS40によって読み書き動作を制御する場合には、中央処理装置10にて使用される診断機能部の不揮発性メモリ12内に配置されており、一方、ベースボード管理コントローラ30上で動作するBMCFW41によって読み書き動作を制御する場合には、ベースボード管理コントローラ30にて使用される診断機能部のSRAM32内に配置されている。
【0075】
なお、図5に示すメモリ試験結果登録テーブル200は、特別なメモリ試験において故障を検知したメモリエリアアドレスの登録レコード数が、n個で示すように、図4の障害発生回数登録テーブル100の場合とは異なり、9個までではなく、任意の登録レコード数を有する構成としている。一般には、図5のメモリ試験結果登録テーブル200の登録可能レコード数は、図4の障害発生回数登録テーブル100の場合よりも多くなるように構成することが望ましい。
【0076】
情報処理装置を新規に設置した初期状態においては、メモリ試験結果登録テーブル200の有効表示201に示す"有効bit−m(m=1〜n)"のすべてについて、それぞれの登録レコードについて無効を示す"0"が設定されている。つまり、有効表示201に示す"有効bit−m"の値が無効を示す"0"の場合は、当該登録レコードに該当するメモリエリアアドレス202の"メモリエリアアドレス−m"は無効の情報であることを示している。一方、有効表示201の"有効bit−m(m=1〜nのいずれか)"が、当該登録レコードについて有効であることを示す"1"に設定されている場合、当該登録レコードに該当するメモリエリアアドレス102の"メモリエリアアドレス−m"は有意な情報として設定されていることを示している。
【0077】
なお、メモリ試験結果登録テーブル200の有効表示201に示す"有効bit−m(m=1〜n)"は、オペレータによる消去操作等の特別の操作を実施した場合に限って、無効を示す"0"に設定することができるものであって、情報処理装置の立ち上げの都度、無効を示す"0"に設定されるものでもないし、また、ハードウェア、BIOS40またはBMCFW41の判定によって自動的に消去されることもなく、情報処理装置の立ち上げ時に実施される特別なメモリ試験結果として故障を検知すれば、システムとして使用可能なメモリ容量が不足しない量としてあらかじめ定めた或る一定量に達するまでは順次蓄積されていくことになる。
【0078】
つまり、図5のメモリ試験結果登録テーブル200は、図4の障害発生回数登録テーブル100とほとんど同じであるが、主に以下の点が異なっている。
(1)メモリ試験結果登録テーブル200の登録可能レコード数は、一般に、図4の障害発生回数登録テーブル100の場合よりも多い。
(2)特定の操作(つまりオペレータによる消去操作)を実施しない限り、図5のメモリ試験結果登録テーブル200の登録内容は消去されない。つまり、図5のメモリ試験結果登録テーブル200の有効表示201に示す"有効bit−m(m=1〜n)"は、特定の操作を実施しない限り、無効を示す"0"にはならない。
(3)図4の障害発生回数登録テーブル100の有効表示201に示す"有効bit−m(m=1〜n)"は、情報処理装置を立ち上げる都度、図3のステップB104において、無効を示す"0"に設定されることによって、"有効bit−m(m=1〜n)"のすべてが、無効を示す"0"に設定されるが、一方、図5のメモリ試験結果登録テーブル200の有効表示201に示す"有効bit−m(m=1〜n)"は、ハードウェア、BIOS40またはBMCFW41の判定によって自動的に無効を示す"0"に設定されることはない。
【0079】
ステップB107において、故障が検知されたメモリエリアのアドレス例えばメモリエリアのアドレス"A1"に関して図5のメモリ試験結果登録テーブル200への登録処理を行う場合、初期状態では、前述の通り、有効表示201のすべての"有効bit−m(m=1〜n)"は、登録レコードが無効であることを示す"0"に設定されているので、有効表示201のいずれかの"有効bit−m"例えば"有効bit−1"が有効であることを示す"1"に書き換えられる。さらに、当該"有効bit−1"欄の登録レコードとして、メモリエリアアドレス202の"メモリエリアアドレス−1"は、今回立ち上がるOSがシステムに組み込むことを抑止するページ閉塞候補として、特別なメモリ試験において故障が検知されたメモリエリアのアドレス例えばメモリエリアのアドレス"A1"に更新される。
【0080】
さらに、故障が検知された当該メモリエリアアドレス空間(つまり、図2のフローチャートにおいてページ閉塞されたメモリエリアアドレス空間、訂正可能障害が発生したメモリエリアアドレス空間のうち、特別なメモリ試験にて障害が検知されたメモリエリアアドレス空間)を、システムに組み込むことなく、隔離したままの状態にするためのページ閉塞候補とするのみならず、障害情報保持手段(障害情報保持ステップ)として、当該メモリエリアアドレス空間の障害診断を効果的に実施することができるように、当該特別なメモリ試験においてエラーになった時のメモリアドレス、データパターンを、障害解析用の情報として、例えば、メモリ11またはメモリ31がDIMMの場合には当該DIMMの各種のスペックを格納しているROM領域であるSPD(Special Presence Detect)、あるいは、当該特別なメモリ試験のファームウェアが格納されている診断機能部の不揮発性メモリ12またはSRAM32等に保持する(ステップB108)。
【0081】
なお、特別なメモリ試験の試験結果の保持は、DIMMのSPDだけでも良いし、診断機能部の不揮発性メモリ12またはSRAM32だけでも良いし、DIMMのSPD、不揮発性メモリ12またはSRAM32の両方であっても良い。また、DIMMのSPDや不揮発性メモリ12、SRAM32には、複数の試験結果(メモリアドレス、データパターン)を保持することができる。保持したメモリアドレス、データパターンは、障害解析時に使用されることになる。しかる後、障害発生回数登録テーブル100の次の登録レコードをチェックするために、ステップB102に復帰する。
【0082】
ステップB102において、すべての登録レコードのチェックが完了したことを判別した場合は(ステップB102のYes)、特別なメモリ試験の実施結果を登録しているメモリ試験結果登録テーブル200の登録内容を確認して、有効表示201の"有効bit−m(m=1〜n)"が有効であることを示す"1"に設定されている登録レコードが存在しているか否かをチェックする(ステップB109)。
【0083】
有効表示201の"有効bit−m(m=1〜n)"が"1"に設定されている登録レコードが存在していた場合には(ステップB109のYes)、立ち上げ動作中のOSは、ページ閉塞手段(ページ閉塞ステップ)として、該当するメモリエリアアドレス202の"メモリエリアアドレス−m"に設定されているメモリエリアアドレス空間を、ページ閉塞状態に設定することによって、今回の立ち上げにおいて、OSがシステムに組み込むことを抑止して、当該メモリエリアアドレス空間を立ち上げ後の運用中に使用することができない状態に隔離する(ステップB110)。
【0084】
一方、有効表示201の"有効bit−m(m=1〜n)"が"1"に設定されているメモリエリアアドレス202の"メモリエリアアドレス−m"に設定されているメモリエリアアドレス空間を除く他のメモリエリアアドレス空間については、正常復帰手段(正常復帰ステップ)として、今回の立ち上げにおいて、OSがシステムに組み込むことにより、当該メモリエリアアドレス空間を立ち上げ後の運用時に使用することを可能な状態にする。すなわち、メモリ試験結果登録テーブル200に登録されていないメモリエリアアドレス空間については、たとえ、図2のフローチャートにおいて前回の運用時にページ閉塞状態に設定されていたとしても、今回の立ち上げ時に実施した特別なメモリ試験結果として、故障が検知されることがなかったので、正常な状態に復帰したものと看做して、今回の立ち上げにおいて、OSがシステムに組み込み、使用可能な状態に設定する。
【0085】
以上のごとき特別なメモリ試験を実施することによって、情報処理装置の立ち上げ時に、前回までの運用時にはページ閉塞されていたメモリエリアアドレス空間あるいは訂正可能障害を検出していたメモリエリアアドレス空間についても、システムに再度組み込むことを可能にするとともに、特別なメモリ試験において訂正可能障害が再現した場合には、当該メモリエリアアドレス空間をページ閉塞し、かつ、特別なメモリ試験時の詳細なデータ(メモリアドレスやテストパターン)を保持して、障害解析に有効に使用することを可能にしている。
【0086】
(実施形態の効果の説明)
以上に詳細に説明したように、本実施形態においては、次のような効果が得られる。
【0087】
第1の効果は、特に、間歇的にメモリ上のデータが或る値にスタック/固定化した場合等において、一時的にページ閉塞したメモリエリアアドレス空間を自動的に再利用することが可能になることである。
【0088】
第2の効果は、次の点にある。近年の組み込み系情報処理装置にもページ閉塞機能が既に備えられているかまたは今後組み込まれていく状況にあるが、しかし、組み込み系情報処理装置のメモリは大容量ではなく、小容量の場合がほとんどである。また、SRAMなどの小容量RAMに対してもページ閉塞機能を実施する状況にある。かくのごとき小容量のメモリに対してページ閉塞が実施されると、使用可能なメモリ容量が大幅に減少してしまうことになって、システム動作が不安定になってしまう場合も生じる。本発明においては、システムの立ち上げの都度、可能な限りページ閉塞を実施しないように設定することができるので、システム動作の安定化を図ることができる、という効果が得られる。
【0089】
第3の効果は、立ち上げ時に実施する特別なメモリ試験においてエラー(故障)を検知した時のメモリアドレス、データパターンをメモリ11やメモリ31のDIMM(Dual Inline Memory Module)のSPD(Special Presence Detect)、診断機能部の不揮発性メモリ12やSRAM(Static Random Access Memory)32等に保持するので、故障診断用に以降に実施する再現試験において、故障が再現しなくとも、保持されている詳細な障害状態に基づいて、障害解析を行うことが容易になることである。
【0090】
以上、本発明の好適な実施形態の構成を説明した。しかし、上に説明した実施形態は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であることが、当業者には容易に理解できよう。
【符号の説明】
【0091】
10 中央処理装置(CPU:Central Processing Unit)
11 メモリ
12 不揮発性メモリ
20 チップセット
30 ベースボード管理コントローラ(BMC:Baseboard Management
Controller)
31 メモリ
32 SRAM
40 BIOS(Basic Input/Output System)
41 BMCFW(BMC Firmware)
100 障害発生回数登録テーブル
101 有効表示
102 メモリエリアアドレス
103 発生回数
200 メモリ試験結果登録テーブル
201 有効表示
202 メモリエリアアドレス
図1
図2
図3
図4
図5