(57)【要約】  メモリのマージン試験における効率を向上させる。記憶部は、メモリの種類と情報処理装置の環境情報の各組み合わせに関連付けて、信号処理が正常に動作するためのタイミングマージンの長さを示す指定マージンを記憶する。処理部は、信号処理の動作タイミングであるストローブ信号のエッジの時刻を変化させながら信号処理をする。取得部は、処理部で行なわれた信号処理が正常に動作した範囲である実測マージンを取得する。判定部は、情報処理装置に実装されたメモリと現在の情報処理装置の環境に対応する指定マージンを記憶部から抽出する。そして、判定部は、抽出した指定マージンと、取得した実測マージンとを比較し、指定マージンよりも、実測マージンが短いとき、情報処理装置に実装された実装メモリが情報処理装置で正常に動作しないと判定する。
2014068739.tif 000002
【特許請求の範囲】
【請求項１】
立ち上がりまたは立ち下がりのエッジを持つストローブ信号の遅延時間を変化させる遅延部と、
前記ストローブ信号を情報処理装置に実装されたメモリに出力し、前記エッジを動作タイミングとしてメモリに信号処理をさせる処理部と、
データ信号がハイレベル、またはローレベルになっている時間である有効時間から、前記動作タイミングを設定しても前記信号処理が正常に動作しない制約時間を引いたタイミングマージンについて、前記信号処理が正常に動作するための長さを示す指定マージンを、１種類以上のメモリの種類を表すメモリ情報と、１種類以上の情報処理装置の動作環境を表す環境情報との１種類以上の組み合わせ関連付けて格納するマージン情報を記憶する記憶部と、
前記遅延部を制御して、前記ストローブ信号の遅延時間を変化させることで、前記動作タイミングを変更し、前記処理部を制御して、前記メモリに信号処理をさせ、信号処理が正常に実行可能な前記動作タイミングの範囲を特定し、特定した動作タイミングの範囲を実測マージンとして取得する取得部と、
前記マージン情報から、前記メモリの種類と現在の情報処理装置の動作環境との組み合わせに関連付けられた前記指定マージンを抽出する抽出部と、
前記抽出した前記指定マージンよりも、前記取得した実測マージンが短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する判定部と、
を備える
ことを特徴とする情報処理装置。
【請求項２】
前記記憶部は、
１つ以上の特定の温度を基準温度として、前記情報処理装置の各温度における前記指定マージンの増減時間を示すマージン補正時間を格納する１つ以上のマージン補正情報を記憶し、
前記抽出部は、
現在の情報処理装置の温度を基準温度にした前記マージン補正情報から、前記情報処理装置の運用時の温度に関連付けられた前記マージン補正時間を抽出し、
前記判定部は、
前記抽出した指定マージンに、前記抽出したマージン補正時間を加えた時間よりも、前記取得した実測マージンが短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記記憶部は、
特定の温度を基準温度として、前記情報処理装置の各温度におけるストローブ信号の位相の変更値を示す位相補正値を格納する１つ以上の位相補正情報を記憶し、
前記抽出部は、
現在の情報処理装置の温度を基準温度にした前記位相補正情報から、前記情報処理装置の運用時の温度に関連付けられた前記位相補正値を抽出し、
前記遅延部は、
前記抽出した位相補正値にしたがって、前記ストローブ信号の遅延時間を調整する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記制約時間は、
セットアップ時間、およびホールド時間を含み、
前記指定マージンは、
前記有効時間の開始時刻から前記セットアップ時間が経過したマージン開始時刻と、前記有効時間の終了時刻より前記ホールド時間前のマージン終了時刻との間に設定される基準時刻と、前記マージン開始時刻との間の時間について、前記信号処理が正常に動作するための長さを指定したセットアップマージンを含み、
前記判定部は、
前記基準時刻と前記マージン開始時刻との間の時間が、前記抽出した指定マージンに含まれる前記セットアップマージンよりも短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とする請求項１〜３のいずれか一つに記載の情報処理装置。
【請求項５】
前記制約時間は、
セットアップ時間、およびホールド時間を含み、
前記指定マージンは、
前記有効時間の開始時刻から前記セットアップ時間が経過したマージン開始時刻と、前記有効時間の終了時刻より前記ホールド時間前のマージン終了時刻との間に設定される基準時刻と、前記マージン終了時刻との間の時間について、前記信号処理が正常に動作するための長さを指定したホールドマージンを含み、
前記判定部は、
前記基準時刻と前記マージン終了時刻との間の時間が、前記抽出した指定マージンに含まれる前記ホールドマージンよりも短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とする請求項１〜４のいずれか一つに記載の情報処理装置。
【請求項６】
前記記憶部は、
特定の温度を基準として、他の温度における前記セットアップマージンの増減時間を示すセットアップ補正時間を格納する１つ以上のセットアップ補正情報を記憶し、
前記抽出部は、
現在の情報処理装置の温度を基準温度にした前記セットアップ補正情報から、前記情報処理装置の運用時の温度に関連付けられた前記セットアップ補正時間を抽出し、
前記判定部は、
前記基準時刻と前記マージン開始時刻との間の時間が、前記抽出した指定マージンに含まれる前記セットアップマージンに前記抽出したセットアップ補正時間を加えた時間よりも短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とする請求項４または５に記載の情報処理装置。
【請求項７】
前記記憶部は、
１つ以上の特定の温度を基準として、他の温度における前記ホールドマージンの増減時間を示すホールド補正時間を格納する１つ以上のホールド補正情報を記憶し、
前記抽出部は、
現在の情報処理装置の温度を基準温度にした前記ホールド補正情報から、前記情報処理装置の運用時の温度に関連付けられた前記ホールド補正時間を抽出し、
前記判定部は、
前記基準時刻と前記マージン終了時刻との間の時間が、前記抽出した指定マージンに含まれる前記ホールドマージンに前記抽出したホールド補正時間を加えた時間よりも短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とする請求項４〜６のいずれか一つに記載の情報処理装置。
【請求項８】
前記基準時刻は、
前記マージン開始時刻と前記マージン開始時刻とに、等しい時間間隔を持つ時刻である中間時刻である
ことを特徴とする請求項４〜７のいずれか一つに記載の情報処理装置。
【請求項９】
前記記憶部は、
特定のデータを記憶し、
前記信号処理は、
前記特定のデータを前記メモリの特定のアドレスに書き込みし、前記動作タイミングを保持した状態で前記特定のアドレスのデータを読み出す処理であり、
前記取得部は、
前記読み出したデータと、前記記憶部に記憶された特定のデータとを比較し、一致したときに前記信号処理が正常に実行されたと判定する
ことを特徴とする請求項１〜８のいずれか一つに記載の情報処理装置。
【請求項１０】
前記環境情報は、
前記情報処理装置の温度と、前記情報処理装置の動作電圧との少なくともいずれか一つを含む
ことを特徴とする請求項１〜９のいずれか一つに記載の情報処理装置。
【請求項１１】
情報処理装置に実装されるメモリの交換がされたとき、
立ち上がりまたは立ち下がりのエッジを持つストローブ信号を、遅延時間を段階的に変化させながら前記メモリに送信し、前記エッジを動作タイミングとして前記メモリに信号処理をさせ、
データ信号がハイレベル、またはローレベルになっている時間である有効時間から、前記動作タイミングを設定しても前記信号処理が正常に動作しない制約時間を引いた、タイミングマージンの実測値である実測マージンとして、前記信号処理が正常に実行できた前記動作タイミングの範囲を取得し、
１種類以上のメモリの種類を表すメモリ情報と、１種類以上の情報処理装置の動作環境を表す環境情報との１種類以上の組み合わせに関連付けて、前記信号処理が正常に動作するための前記タイミングマージンの長さを示す指定マージンを格納するマージン情報を参照し、
前記マージン情報から、前記メモリの種類と前記情報処理装置の動作環境との組み合わせに関連付けられた前記指定マージンを抽出し、
前記抽出した指定マージンよりも、前記取得した実測マージンが短いとき、前記メモリが前記情報処理装置で正常に動作しないと判定する
ことを特徴とするメモリ試験方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリのマージン試験に関する。
【背景技術】
【０００２】
情報処理装置に搭載されるメモリでは、パラレル伝送による信号処理が行なわれている。このため、メモリコントローラは、複数の信号をメモリとの間で送受信する必要があり、例えば、クロック信号、コマンド信号、データ信号、およびアドレス信号などの位相の調整が不可欠である。ＤＤＲ−ＳＤＲＡＭにおける信号の位相調整の技術としては、例えば、特開２０１０−１５７１１３号公報がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１５７１１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
メモリコントローラとメモリが送受信する信号には、例えば、データストローブ信号（ＤＱＳ）、およびデータ信号（ＤＱ）がある。データストローブ信号は、以下の説明において、ストローブ信号という。【０００５】
前述した位相調整の技術では、メモリコントローラから入力されるストローブ信号の立ち上がり、立ち下がりのエッジの時刻を動作タイミングとして、メモリ上でデータのリードやライトなどの信号処理を行なう。このとき、メモリコントローラは、ストローブ信号の遅延時間を調整し、動作タイミングであるエッジの位相を制御することにより、信号処理のデータ信号がハイレベル、またはローレベルになっている有効期間内に行われるようにする。以下の説明において、ストローブ信号のエッジの時刻として与えられる動作タイミングのことを、ストローブ信号の動作タイミング、または動作タイミングという。【０００６】
正常に信号処理が実行できる動作タイミングの設定期間は、有効期間の開始時刻に内部遅延時間、およびセットアップ時間を加算したマージン開始時刻から、有効期間の終了時刻からホールド時間を減算したマージン終了時刻までのタイミングマージンの期間である。よって、メモリコントローラは、正常に信号処理が実行できる期間であるタイミングマージンの範囲内に動作タイミングを設定するように、ストローブ信号の位相を調整する。以下の説明において、内部遅延時間は、セットアップ時間に含まれるものとする。【０００７】
ただし、各メモリの諸元や個体差などにより、セットアップ時間、およびホールド時間が異なるので、タイミングマージンはメモリごとに異なる。また、情報処理装置の動作中に、情報処理装置の温度や動作電圧（電圧）などの動作環境、およびメモリの動作クロックが振れることで、情報処理装置に実装されているメモリのタイミングマージンは変化する。よって、タイミングマージンがもともと短く、かつ情報処理装置の動作環境やメモリの動作クロックの振れによってタイミングマージンが大きく減少する振れに弱いメモリは、タイミングマージンが確保できず、正常に信号処理を行なうことができなくなることがある。【０００８】
高信頼性サーバなど、メモリのエラーが起きないことが強く求められている情報処理装置では、振れに弱いメモリの搭載を避ける必要がある。このため、情報処理装置に実装する前に各メモリは、マージン試験を実施され、振れに弱くなくマージンに余裕があると判定されたメモリのみ情報処理装置に実装される。【０００９】
このマージン試験では、例えば、高温、および高速クロックを生成する特殊な装置を用い、各メモリについて長時間の高負荷ランニング試験を実施する必要があった。【００１０】
上述した問題に鑑み、本明細書で後述する情報処理装置は、メモリのマージン試験における効率を向上させることを目的とする。
【課題を解決するための手段】
【００１１】
本明細書で開示する情報処理装置のひとつに、遅延部と、処理部と、記憶部と、取得部と、抽出部と、判定部とを備えた情報処理装置がある。遅延部は、立ち上がりまたは立ち下がりのエッジを持つストローブ信号の遅延時間を変化させる。処理部は、ストローブ信号を情報処理装置に実装されたメモリに出力し、エッジを動作タイミングとしてメモリに信号処理をさせる。記憶部は、データ信号がハイレベル、またはローレベルになっている時間である有効時間から、動作タイミングを設定しても信号処理が正常に動作しない制約時間を引いたタイミングマージンについて、信号処理が正常に動作するための長さを示す指定マージンを、１種類以上のメモリの種類を表すメモリ情報と、１種類以上の情報処理装置の動作環境を表す環境情報との１種類以上の組み合わせ関連付けて格納するマージン情報を記憶する。取得部は、遅延部を制御して、ストローブ信号の遅延時間を変化させることで、動作タイミングを変更し、処理部を制御して、メモリに信号処理をさせ、信号処理が正常に実行可能な動作タイミングの範囲を特定し、特定した動作タイミングの範囲を実測マージンとして取得する。マージン情報から、メモリの種類と現在の情報処理装置の動作環境との組み合わせに関連付けられた指定マージンを抽出する。判定部は、抽出した指定マージンよりも、取得した実測マージンが短いとき、メモリが情報処理装置で正常に動作しないと判定する。
【発明の効果】
【００１２】
本明細書で後述する情報処理装置は、メモリのマージン試験における効率を向上させるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】実施形態１の情報処理装置の一実施例を示す機能ブロック図である。
【図２】情報処理装置の一実施例を示すブロック図である。
【図３】情報処理装置の信号処理を説明する説明図である。
【図４】セットアップ時間とホールド時間とを説明する説明図である。
【図５】タイミングマージンを説明する説明図である。
【図６】実測マージンの取得を説明する説明図である。
【図７】実測マージンの取得を説明する説明図である。
【図８】マージンテーブルのデータ例を表したテーブルである。
【図９】実装メモリが正常に動作するか否かの判定を説明する説明図である。
【図１０】実施形態１のマージン試験の処理内容を示すシーケンス図である。
【図１１】実施形態１のマージン試験の処理内容を示すシーケンス図である。
【図１２】実施形態１のマージン試験の処理内容を示すシーケンス図である。
【図１３】起動時と運用時の実測マージンの違いを説明する説明図である。
【図１４】起動時と運用時の基準時刻の位置の違いを説明する説明図である。
【図１５】実施形態２の情報処理装置の一実施例を示す機能ブロック図である。
【図１６】補正テーブルのデータ例を表したテーブルである。
【図１７】実施形態２のマージン試験の処理内容を示すシーケンス図である。
【図１８】実施形態２のマージン試験の処理内容を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
［実施形態１］
実施形態１の情報処理装置について説明する。
情報処理装置は、実験により求められた信号処理が正常に動作するためのタイミングマージンの長さである指定マージンを、メモリの諸元、および情報処理装置の環境情報の組み合わせごとに対応付けてマージンテーブルに記憶する。
【００１５】
情報処理装置は、生産時のメモリの実装や保守作業でメモリの交換をしたあとに起動され、ストローブ信号の動作タイミングをずらしながら信号処理をする。そして、情報処理装置は、信号処理が正常に動作する動作タイミングを検出することにより、実装メモリの実測のタイミングマージンである実測マージンを取得する。
【００１６】
さらに、情報処理装置は、実装メモリ上にある、実装メモリの各種情報を記憶したＳＰＤ（Ｓｅｒｉａｌ  Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ）から実装メモリの諸元を取得する。また、情報処理装置は、情報処理装置が有する温度センサ、および電圧センサから情報処理装置の温度と電圧を取得する。そして、情報処理装置は、取得したメモリの諸元、および情報処理装置の温度および電圧に対応する指定マージンをマージンテーブルから抽出する。
【００１７】
情報処理装置は、取得した実測マージンが抽出した指定マージンよりも短いとき、実装メモリが情報処理装置で正常に動作しないと判定する。
【００１８】
これにより、情報処理装置は、特殊な装置を用いた長時間の高負荷ランニング試験を実施することなく、タイミングマージンが短く、振れに弱いメモリを検出するので、実装メモリのマージン試験を効率よく行なうことができる。
【００１９】
図１は、情報処理装置の一実施例を示す機能ブロック図である。
図１において、情報処理装置１は、情報処理部１０、および管理部２０を備えている。
【００２０】
情報処理部１０は、情報制御部３、メモリ１１、センサ１２、処理部１３、遅延部１４、および記憶部１６を備える。
【００２１】
情報制御部３は、情報処理部１０全体の制御をする。そして、情報制御部３は、取得部１５、判定部１７、および通知部１８を備える。
【００２２】
メモリ１１は、処理部１３から入力されるストローブ信号の立ち上がり、立ち下がりのエッジを動作タイミングとして、メモリ１１に格納されているデータの読み出し、および入力されるデータ信号に含まれるデータの書き込みなどの信号処理を行なう。
【００２３】
センサ１２は、情報処理装置１の温度、および電圧を取得する。そして、センサ１２は、抽出部２１に取得した温度、および電圧を出力する。
【００２４】
処理部１３は、メモリ１１とデータを送受信するデータバス（ＤＱ）およびストローブ信号を送信するストローブバス（ＤＱＳ）で接続される。そして、処理部１３は、データ信号、およびストローブ信号をメモリ１１に送信することにより、動作タイミングでメモリ１１にデータの読み出しや書き込みなどの信号処理を実行させる。
【００２５】
遅延部１４は、処理部１３から出力されるストローブ信号の遅延時間を変化させ、エッジのタイミングを変更することにより、ストローブ信号の動作タイミングを調整する。
【００２６】
取得部１５は、遅延部１４を制御して、ストローブ信号の遅延時間を変化させることにより、動作タイミングを段階的に変更する。さらに、取得部１５は、処理部１３を制御することにより、動作タイミングが変更されるごとにメモリ１１に信号処理をさせる。そして、取得部１５は、信号処理が正常に実行可能であった動作タイミングの範囲を特定し、特定した動作タイミングの範囲を実測マージンとして取得する。
【００２７】
取得部１５は、データ信号の有効期間の開始時刻からセットアップ時間が経過したマージン開始時刻と、データ信号の有効期間の終了時刻よりホールド時間だけ前のマージン終了時刻との間に、特定の基準時刻を設定する。ここで、セットアップ時間とは、処理部１３からメモリ１１にデータ信号を入力するために、ストローブ信号の動作タイミングの前に、あらかじめ入力されるデータを保持しておくべき時間である。また、ホールド時間とは、メモリ１１がデータの取り込みを確実に行なうために、ストローブ信号の動作タイミングのあとに、データを保持しておくべき時間である。なお、セットアップ時間には、チップセットの内部遅延時間も含まれる。
【００２８】
記憶部１６は、試験用データ１００（特定のデータ）を記憶する。試験用データ１００とは、メモリ１１での信号処理が正常に実行されたか否かを判定するために用いられるデータである。試験用データ１００の使用例として、処理部１３は、試験用データ１００をメモリ１１の特定のアドレスに書き込みし、動作タイミングを保持した状態で特定のアドレスのデータを読み出す。取得部１５は、読み出したデータと、記憶部１６に記憶された試験用データ１００とを比較し、一致したときにメモリ１１での信号処理が正常に実行されたと判定する。この判定を、取得部１５は、ストローブ信号の遅延時間を調整し、動作タイミングを変更しながら行なうことにより、実測マージンを取得することができる。
【００２９】
判定部１７は、実装メモリの種類と現在の情報処理装置の動作環境との組み合わせに対応する指定マージンよりも、取得部１５で取得した実測マージンが短いとき、実装メモリが情報処理装置で正常に動作しないと判定する。
【００３０】
通知部１８は、判定部１７での判定結果を管理部２０へ送信する。
管理部２０は、管理制御部４、表示部２２、および記憶部２３を備える。
【００３１】
管理制御部４は、管理部２０全体の制御をする。そして、管理制御部４は、抽出部２１を備える。
【００３２】
抽出部２１は、記憶部２３に記憶されたマージンテーブル１１０から、実装メモリの種類と現在の情報処理装置１の動作環境との組み合わせに対応する指定マージンを抽出する。
【００３３】
表示部２２は、通知部１８から通知された判定部１７での判定結果、または記憶部２３に記憶された結果テーブル１２０に格納された判定部１７での判定結果をユーザが視認可能に表示する。これにより、ユーザは、情報処理装置１に実装され、マージン試験が実行されたメモリ１１について、情報処理装置１で正常に動作するか否かを認識することができる。したがって、ユーザは、情報処理装置１で正常に動作しないメモリ１１を情報処理装置１に実装するメモリ１１から省くことができる。
【００３４】
記憶部２３は、マージンテーブル１１０（マージン情報）と、結果テーブル１２０とを記憶する。
【００３５】
マージンテーブル１１０は、１種類以上のメモリの種類を表すメモリ情報と、１種類以上の情報処理装置の動作環境を表す環境情報との１種類以上の組み合わせに関連付けて、指定マージンを格納する。
【００３６】
結果テーブル１２０は、通知部１８から通知された、判定部１７での判定結果を格納する。具体的には、情報処理装置１に実装され、マージン試験が行なわれた各メモリ１１について、情報処理装置１で正常に動作するか否かの判定結果、実測マージン、諸元、試験時の動作環境などが格納される。これにより、ユーザは、結果テーブル１２０を表示部２２などで参照することにより、各メモリ１１を情報処理装置１に実装するか否かを判断することができる。また、ユーザは、結果テーブル１２０に記憶された各メモリ１１の実測マージンなどを比較することで、各メモリ１１の相対的な性能を比較することができる。
【００３７】
なお、記憶部１６、および記憶部２３に記憶されている試験用データ１００、マージンテーブル１１０、結果テーブル１２０に関しては、適宜入れ替えて記憶しても良い。
【００３８】
図２は、情報処理装置の一実施例を示すブロック図である。
図２において、情報処理装置１は、システムボード３０、およびマネジメントボード４０を備える。
【００３９】
システムボード３０は、制御回路３１、記憶装置３２、メモリ３３ａ〜３３ｃ、センサ３４、および通信インターフェイス３５（通信Ｉ／Ｆ）を備える。そして、システムボード３０は、図１において、情報処理部１０として機能する。
【００４０】
制御回路３１は、プロセッサコア３１１、およびメモリコントローラ３１２を備える。そして、制御回路３１は、システムボード３０全体の制御をする。制御回路３１は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）およびＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などである。プロセッサコア３１１は、図１において、情報制御部３として機能する。また、メモリコントローラ３１２は、図１において、処理部１３、および遅延部１４として機能する。
【００４１】
記憶装置３２は、ＢＩＯＳファームウェア３２０、および試験用データ１００を記憶する。記憶装置３２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリや、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）などである。ＢＩＯＳファームウェア３２０は、情報処理装置１の起動時にプロセッサコア３１１で実行されることにより、プロセッサコア３１１を、図１の情報制御部３として機能させる。
【００４２】
メモリ３３ａ〜３３ｃは、情報処理装置１の主記憶装置として用いられ、メモリコントローラ３１２によって制御されることにより、データの読み出しや書き込みが行なわれる。メモリ３３ａ〜３３ｃは、例えば、ＤＤＲ−ＳＤＲＡＭ（Ｄｏｕｂｌｅ  Ｄａｔａ  Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。また、メモリ３３ａ〜３３ｃは、ＤＤＲ−ＳＤＲＡＭを複数有するＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）でも良い。なお、図１のメモリ１１は、ＤＤＲ−ＳＤＲＡＭに限定されるものではなく、処理部１３から入力されるストローブ信号のエッジを動作タイミングとして、データの読み出し、およびデータの書き込みなどの信号処理を行なうメモリであれば良い。
【００４３】
また、メモリ３３ａ〜３３ｃは、それぞれメモリの諸元が書き込まれたＳＰＤ３３１〜３３３（Ｓｅｒｉａｌ  Ｐｒｅｓｅｎｃｅ  Ｄｅｔｅｃｔ）を有する。そして、メモリ３３ａ〜３３ｃは、図１のメモリ１１として機能する。
【００４４】
センサ３４は、例えば、サーミスタなどの温度センサや電圧計である。そして、センサ３４は、図１のセンサ１２として機能する。
【００４５】
通信インターフェイス３５は、電力線通信、ＬＡＮケーブル、無線通信を介して、システムボード３０とマネジメントボード４０とを通信可能に接続する。
【００４６】
マネジメントボード４０は、制御回路４１、記憶装置４２、表示装置４３、および通信インターフェイス４４（通信Ｉ／Ｆ）を備える。そして、マネジメントボード４０は、図１において、管理部２０として機能する。
【００４７】
制御回路４１は、例えば、ＣＰＵ、マルチコアＣＰＵ、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）およびＰＬＤ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）などである。制御回路４１は、図１において、管理制御部４として機能する。
【００４８】
記憶装置４２は、ＭＭＢファームウェア４２０、マージンテーブル１１０、および結果テーブル１２０を記憶する。記憶装置３２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などのメモリや、ＨＤ（Ｈａｒｄ  Ｄｉｓｋ）などである。ＭＭＢファームウェア４２０は、情報処理装置１の起動時に制御回路４１で実行されることにより、制御回路４１を、図１の管理制御部４として機能させる。
【００４９】
表示装置４３は、例えばＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、およびＯＥＬＤ（Ｏｒｇａｎｉｃ  Ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）などである。そして、表示装置４３は、図１において、表示部２２として機能する。
【００５０】
通信インターフェイス４４は、電力線通信、ＬＡＮケーブル、無線通信を介して、システムボード３０とマネジメントボード４０とを通信可能に接続する。さらに、通信インターフェイス４４は、電力線通信、ＬＡＮケーブル、無線通信を介して、システムボード３０と後述の制御装置５０とを通信可能に接続する。
【００５１】
情報処理装置１が、システムボード３０、およびマネジメントボード４０を備える例について説明したが、情報処理装置１は、１つのボードで構成されても良い。すなわち、情報処理装置１は、図１の機能を実現できる構成であれば、適宜選択した構成を用いれば良い。
【００５２】
図２の制御装置５０は、情報処理装置１を制御するためのコンピュータ装置であり、制御回路５１、記憶装置５２、表示装置５３、通信インターフェイス５４（通信Ｉ／Ｆ）、および入出力インターフェイス（入出力Ｉ／Ｆ）５５を備える。
【００５３】
制御装置５０の構成は、公知のコンピュータ装置と同じである。そして、制御装置５０は、入出力インターフェイス５５に接続された入力端末を介して、ユーザが情報処理装置１の起動要求などの制御情報を入力するために用いられる。また、制御装置５０は、ユーザの操作により、通信インターフェイス５４を介して結果テーブル１２０を参照し、判定部１７の判定結果を表示装置５３に表示する。また、表示装置５３は、通信インターフェイス４４を介して入力される判定部１７の判定結果を表示する。
【００５４】
図３は、情報処理装置の信号処理を説明する説明図である。
以下の説明においては、一例として、取得部１５が、メモリ１１のデータの書き込み処理を要求したときについて説明する。なお、図３の動作クロックは、処理部１３の動作クロックである。コマンド信号は、処理部１３からメモリ１１に実行すべき信号処理の種類を指示する信号である。アドレス信号は、処理部１３からメモリ１１にアドレスを指示するための信号である。データの書き込み処理以外の信号処理をするときは、コマンド信号の種類を適宜変更すれば良い。
【００５５】
まず、取得部１５は、処理部１３にメモリ１１へのデータの書き込み処理を要求する。すると、処理部１３は、動作クロックの立ち上がりに同期して、メモリ１１にライト要求と、メモリ１１の格納領域のアドレスを指定するアドレス信号とを出力する。
【００５６】
メモリ１１は、ライト要求とアドレス信号が入力されると、処理部１３から入力されるストローブ信号の動作タイミングに合わせてデータ信号からデータを取り込む。そして、メモリ１１は、入力されたアドレス信号によって指定されたアドレスに、取り込んだデータを格納する。
【００５７】
図４は、セットアップ時間とホールド時間とを説明する説明図である。
図３に示したように、メモリ１１の信号処理は、処理部１３から入力されるストローブ信号の動作タイミングに合わせて実行される。そして、動作タイミングは、セットアップ時間とホールド時間という制約時間を考慮して設定しなければならない。以下に、セットアップ時間とホールド時間とについて説明する。
【００５８】
セットアップ時間は、有効期間が開始され、データ信号がハイレベル、またはローレベルとなったあと、正常な信号処理をするために、処理部１３がデータ信号を同じ状態に保持すべき時間である。したがって、処理部１３は、有効期間の開始時刻から、セットアップ時間が経過したあとのタイミングに動作タイミングを設定する必要がある。なお、図４〜７、９、１３において、セットアップ時間は１で示される時間である。
【００５９】
ホールド時間は、ストローブ信号の動作タイミングから、処理部１３がデータ信号を同じ状態に保持することにより、正常に信号処理を終了可能とするための時間である。したがって、処理部１３は、ストローブ信号の動作タイミングから、ホールド時間が経過するまで有効期間が続くタイミングに動作タイミングを設定する必要がある。なお、図４〜７、９、１３において、セットアップ時間は２で示される時間である。
【００６０】
図５は、タイミングマージンを説明する説明図である。
図４で説明したように、処理部１３は、ストローブ信号の動作タイミングを、セットアップ時間、およびホールド時間という制約時間を考慮して設定しなければならない。
【００６１】
タイミングマージンとは、データ信号の有効期間の中で、動作タイミングを設定したとき、正常な信号処理が可能となる期間を示すものである。
【００６２】
データ信号の有効時間の開始時刻からセットアップ時間が経過したマージン開始時刻まで、正常な信号処理ができないので、動作タイミングは、マージン開始時刻以降に設定すれば良い。そして、動作タイミングからデータ信号の有効期間の終了時刻までに、ホールド時間以上の時間が経過すればよいので、動作タイミングは、有効時間の終了時刻からホールド時間を引いたマージン終了時刻より以前に設定すれば良い。
したがって、タイミングマージンは、図５の左右矢印の区間のことである。
【００６３】
図６、７は、実測マージンの取得を説明する説明図である。
取得部１５は、情報処理装置１が起動されると実測マージンを取得する。図６、７を参照して、取得部１５の実測マージンの取得について説明する。
【００６４】
取得部１５は、情報処理装置１が起動されると、遅延部１４を制御して、ストローブ信号の遅延時間を変更することにより、ストローブ信号のエッジの時刻を遅延させ、動作タイミングを有効期間の開始時刻にセットする。そして、取得部１５は、処理部１３を制御して、メモリ１１に信号処理を実行させ、信号処理が正常に実行されたか否かを判定する。このとき、図６（ａ）に示すように、動作タイミングがタイミングマージン内で設定されていないので、取得部１５では、信号処理が正常に実行されなかった（ＮＧ）と判定される。
【００６５】
取得部１５は、信号処理が正常に実行されたか否かの判定が終了すると、さらに遅延部１４を制御して、ストローブ信号の遅延時間を変更することにより、動作タイミングを１ステップ、有効期間の終了時刻方向にずらす。そして、取得部１５は、処理部１３を制御して、メモリ１１に信号処理を実行させ、信号処理が正常に実行されたか否かを判定する。このとき、図６（ｂ）に示すように、動作タイミングがタイミングマージン内で設定されていないので、取得部１５では、信号処理が正常に実行されなかった（ＮＧ）と判定される。なお、ステップとは、ユーザにより適宜設定された動作タイミングの遅延の単位時間である。
【００６６】
取得部１５は、上述の処理を有効期間の開始時刻から終了時刻まで、１ステップずつ動作タイミングをずらしながら行ない、信号処理が正常に実行された区間を抽出する。信号処理が正常に実行されたと判定される（ＯＫ）のは、図７（ａ）に示すように、動作タイミングがタイミングマージン内に設定されている区間である。
【００６７】
そして、取得部１５は、抽出された区間をタイミングマージンの実測値である実測マージンとして取得する。処理部１３は、図７（ｂ）の破線で示すように動作タイミングを設定し、信号処理が正常に実行されたか否かを判定することで、実測マージンを抽出する。なお、取得部１５は、処理部１３を制御して、検出した動作タイミングのＯＫタイミングとＮＧタイミングの境界で、１ステップの単位時間を徐々に短くしながら、信号処理が正常に実行されたか否かの判定を繰り返し行なっても良い。これにより、取得部１５は、より正確に実測マージンを取得することができる。一例として、図７（ｂ）において、１ステップＡは、取得部１５が初期に設定した動作タイミングの遅延の単位時間である。図７（ｂ）において、１ステップＢは、取得部１５が変更した動作タイミングの遅延の単位時間である。取得部１５は、処理部１３を制御して、１ステップＡを用いて検出した動作タイミングのＯＫタイミングとＮＧタイミングの境界で、さらに１ステップＢを用いて動作タイミングを検出することにより、より正確に実測マージンを取得している。
【００６８】
ここで、信号処理が正確に実行されたか否かを判定する方法の一例を説明する。
取得部１５は、処理部１３を制御して、例えば、記憶部１６に記憶されている試験用データ１００を、アドレスを指定してメモリ１１に書き込む処理をする。さらに、取得部１５は、処理部１３を制御して、試験用データ１００をメモリ１１に書き込んだときの動作タイミングを保持した状態で、試験用データ１００を書き込んだアドレスからデータを読み出す処理をする。取得部１５は、読み出した試験用データ１００と、読み出したデータとを比較し、一致したとき、信号処理が正常に実行されたと判定する。また、取得部１５は、読み出した試験用データ１００と、読み出したデータとを比較し、一致しなかったとき、信号処理が正常に実行されなかったと判定する。ただし、この方法に限らず、信号処理が正確に実行された否かを判定可能であれば、信号処理が正確に実行されたか否かの判定方法は、適宜選択した他の方法を用いても良い。
【００６９】
図８は、マージンテーブルのデータ例を表したテーブルである。
図８に示すように、マージンテーブル１１０には、メモリの種類を表すメモリ情報として、メモリの容量、動作クロック、およびランクなどの複数のメモリの緒元が格納される。さらに、マージンテーブル１１０には、メモリ情報に関連付けて、情報処理装置１の環境情報として、温度、および駆動電圧などの複数の動作環境が格納される。以下、メモリ情報と環境情報とを入力情報という。
【００７０】
また、マージンテーブル１１０には、入力情報に関連付けて、指定マージンとして、セットアップマージンと、ホールドマージンが格納される。以下の説明において、指定マージンは、セットアップマージンとホールドマージンとを合わせた期間を示すマージンであるものとする。
【００７１】
セットアップマージンは、マージン開始時刻と、マージン終了時刻との間に、基準時刻を設定したとき、基準時刻とマージン開始時刻との間の時間について、信号処理が正常に動作するために必要な長さを指定したマージンである。
【００７２】
ホールドマージンは、基準時刻とマージン終了時刻との間の時間について、信号処理が正常に動作するために必要な長さを指定したマージンである。
【００７３】
すなわち、基準時刻とマージン開始時刻との間の時間がセットアップマージンよりも長く、かつ基準時刻とマージン終了時刻との間の時間がホールドマージンよりも長いとき、情報制御部３は、正常に信号処理が実行できる動作タイミングを設定することができる。
【００７４】
セットアップマージンと、ホールドマージンと、基準時刻とは、製品の設計工程にて決定される。セットアップマージンと、ホールドマージンとは、設定された基準時刻を基準として、設計工程でメモリや情報処理装置１のセンサ１２から取得する情報を網羅的に実機検証することにより取得した経験的な値が設定される。よって、異なる情報処理装置１では、それぞれ異なるセットアップマージンと、ホールドマージンとが設定されることになる。
【００７５】
基準時刻は、例えば、取得部１５が実測タイミングマージンを取得したとき、マージン開始時刻とマージン終了時刻から、等しい時間間隔を持つ中間時刻とするなどの取り決めとして設定され、記憶部１６に記憶される。
【００７６】
また、セットアップマージンと、ホールドマージンとは、セットアップマージンとホールドマージンとを足し合わせた１つの指定マージンとしてマージンテーブル１１０に記憶されても良い。この場合には、基準時刻を設定しなくても良い。
【００７７】
図９は、実装メモリが正常に動作するか否かの判定を説明する説明図である。
図９のデータ信号内の左右矢印は、実測マージンである。
【００７８】
判定部１７は、例えば、記憶部１６を参照し、基準時刻が中間時刻であると設定されているとき、マージン開始時刻にマージン終了時刻を足して、２で除算することにより中間時刻を求める。
【００７９】
抽出部２１は、マージンテーブル１１０から、メモリ１１から取得したメモリ１１の種類と、センサ１２から入力された情報処理装置１の動作環境とに対応するセットアップマージンと、ホールドマージンとを抽出し、判定部１７に送信する。
【００８０】
取得部１５は、処理部１３を制御して、メモリ１１の実測マージンを取得し、判定部１７に入力する。
【００８１】
判定部１７は、図９に示すように、中間時刻からセットアップマージンを引いた時刻が実測マージンに含まれ、かつ、中間時刻にホールドマージンを足した時刻が実測マージンに含まれるとき、メモリ１１が情報処理装置１で正常に動作すると判定する。すなわち、判定部１７は、メモリ１１について、振れに弱くなくマージンに余裕があると判定する。
【００８２】
また、判定部１７は、中間時刻からセットアップマージンを引いた時刻が実測マージンに含まれない、または、中間時刻にホールドマージンを足した時刻が実測マージンに含まれないとき、実装メモリが情報処理装置１で正常に動作しないと判定する。すなわち、判定部１７は、メモリ１１について、振れに弱いメモリであると判定する。
【００８３】
このとき、処理部１３は、メモリ１１を使用するとき、中間時刻に動作タイミングを設定しても良い。また、処理部１３は、セットアップマージンとホールドマージンの境界を動作タイミングとし、セットアップマージンとホールドマージンとが実測マージンに含まれるように動作タイミングを設定しても良い。さらに、処理部１３は、セットアップマージンとホールドマージンとの中心を動作タイミングとし、セットアップマージンとホールドマージンとが実測マージンに含まれるように動作タイミングを設定しても良い。
【００８４】
なお、指定マージンがセットアップマージンとホールドマージンとを足し合わせた１つのマージンとして設定されているとき、判定部１７は、実測マージンよりも指定マージンが短いとき、実装メモリが情報処理装置１で正常に動作すると判定する。
【００８５】
このとき、処理部１３は、メモリ１１を使用するとき、指定マージンの中心を動作タイミングとし、指定マージンが実測マージンに含まれるように動作タイミングを設定しても良い。
【００８６】
図１０〜図１２は、実施形態１のマージン試験の処理内容を示すシーケンス図である。
以下の説明において、基準時刻として、実測マージンの中央時刻が設定されているものとして説明する。
【００８７】
図１０において、情報処理装置１が起動されると、抽出部２１は、メモリ１１にメモリ情報の送信を要求する（Ｓ１００１）。すると、メモリ１１は、ＳＰＤに記憶されている緒元をメモリ情報として抽出部２１に送信する。これにより、抽出部２１は、メモリ情報を取得する（Ｓ１００２）。
【００８８】
管理制御部４の抽出部２１は、情報処理部１０に起動を要求する（Ｓ１００３）。すると、情報処理部１０は起動し、メモリの初期化処理を開始する（Ｓ１００４）。
【００８９】
次に、取得部１５は、処理部１３にデータ信号の有効期間内でステップごとに対応する時刻において、信号処理が正しく実行されるか否かの判定を要求する（Ｓ１００５）。
【００９０】
処理部１３は、遅延部１４を制御して、ストローブ信号の遅延時間を調整することにより、動作タイミングを１ステップずつ変更しながら、有効期間内で信号処理を行う。そして、処理部１３は、ステップごとに信号処理が正常に実行されたか否かを取得部１５に通知する。これにより、取得部１５は、有効期間内において、ステップごとに対応する時刻における信号処理の実行可否についての結果を取得する（Ｓ１００６）。
【００９１】
取得部１５は、処理部１３から取得した各ステップの信号処理の実行可否の結果から実測マージンを取得し、その中央時刻を求める（Ｓ１００７）。
【００９２】
図１１に示すように、判定部１７は、抽出部２１に実装されたメモリ１１の現在の情報処理装置１の動作環境における指定マージンの抽出を要求する（Ｓ１１０１）。すると、抽出部２１は、センサ３４に情報処理装置１の温度、および電圧の測定値を要求する（Ｓ１１０２）。センサ３４は、温度、および電圧の測定値を抽出部２１に送信する（Ｓ１１０３）。これにより、抽出部２１は、環境情報として、情報処理装置１の温度、および電圧を取得する。
【００９３】
抽出部２１は、Ｓ１００２にて取得したメモリ情報と、Ｓ１１０３で取得した環境情報に対応する指定マージンをマージンテーブル１１０から抽出する（Ｓ１１０４）。そして、抽出部２１は、抽出した指定マージンをマージンテーブル１１０から取得する（Ｓ１１０５）。
【００９４】
さらに、抽出部２１は、取得した指定マージンを判定部１７に送信する（Ｓ１１０６）。これにより、判定部１７は、実装されたメモリ１１の種類と、情報処理装置１の動作環境に対応する指定マージンを取得する。
【００９５】
判定部１７は、Ｓ１００７で取得した実測マージンが、指定マージンを包含しているか否かを判定する（Ｓ１１０７）。Ｓ１１０７の判定方法は、図９を参照して説明した方法を用いる。
【００９６】
図１２において、判定部１７は、Ｓ１１０７の判定結果を制御回路４１に送信する（Ｓ１２０１）。
【００９７】
すると、制御回路４１は、記憶部２３にＳ１１０７の判定結果を記憶する（Ｓ１２０２）。さらに、制御回路４１は、Ｓ１１０７の判定結果の表示要求を表示部２２に送信する。すると、表示部２２は、Ｓ１１０７の判定結果を表示する（Ｓ１２０３）。
【００９８】
以上のように、実施形態１の情報処理装置１は、生産時のメモリの実装や保守作業でメモリの交換をしたとき、起動時に実測マージンを取得する。そして、情報処理装置１は、取得した実測マージンが抽出した指定マージンよりも短いとき、情報処理装置に実装された実装メモリが情報処理装置で正常に動作しないと判定する。
【００９９】
これにより、情報処理装置は、特殊な装置を用いた長時間の高負荷ランニング試験を実施することなく、タイミングマージンが短く、振れに弱いメモリを検出するので、実装メモリのマージン試験を効率よく行なうことができる。
【０１００】
なお、実施形態１では、基準時刻を基準として、セットアップマージンとホールドマージンとが実測マージン内に包含されるか否かを判定する。これにより、情報処理装置１は、メモリ１１がマージンに余裕のあるメモリか否かを判定している。よって、メモリ１１がマージンに余裕のあるメモリであると判定されたとき、基準時刻に動作タイミングを設定すれば、セットアップマージンとホールドマージンとが実測マージン内に包含されることになる。したがって、情報処理装置１では、メモリ１１における信号処理の動作タイミングを基準時刻に設定するようにしても良い。
【０１０１】
［実施形態２］
実施形態２の情報処理装置について説明する。
図１３は、起動時と運用時の実測マージンの違いを説明する説明図である。
図１４は、起動時と運用時の基準時刻の位置の違いを説明する説明図である。
【０１０２】
実施形態１の情報処理装置１は、起動時の温度条件で信号処理が正常に実行されるメモリか否かを判定している。しかし、情報処理装置１の運用が始まると、情報処理装置１の温度は、起動時から上昇することがある。すると、情報処理装置１の運用時の実測マージンと、起動時の実測マージンとが異なるときがある。
【０１０３】
図１３に示すように、情報処理装置１の温度が上昇するほど、データ信号の立ち上がり時間、および立ち下がり時間が長くなることがある。また、情報処理装置１の温度が上昇するほど、データ信号の立ち上がり、および立ち下がり時のジッタが大きくなることがある。これらの影響を受けて、情報処理装置１の運用時における温度が３０℃のときの実測マージンは、情報処理装置１の起動時における温度が１５℃のときの実測マージンより短くなることがある。
【０１０４】
また、図１４に示すように、情報処理装置１の温度が上昇すると、データ信号の立ち上がり時間、および立ち下がり時間が長くなるので、データ信号の有効期間の中央時刻がシフトするのに伴い、実測マージンの基準時刻もシフトすることがある。一例として、図１４において、データ信号の有効期間の中央時刻を基準時刻としたとき、温度の上昇によりデータ信号の有効期間の中央時刻がシフトし、基準時刻もシフトする。
【０１０５】
以上のように、データ信号が変化することで、起動時の温度条件で信号処理を正常に実行することができると判定されたメモリでも、運用時の温度条件では、信号処理を正常に実行することができないことがある。
【０１０６】
上述した問題に鑑み、実施形態２では、運用時の情報処理装置２の温度を予測して、マージン試験を実行したときの温度と、予測される運用時の温度との相対関係を用い、実装したメモリ１１が情報処理装置２で正常に動作可能であるか否かを判定するようにした。
【０１０７】
さらに、実施形態２では、基準時刻についても、マージン試験を実行したときの温度と、予測される運用時の温度との相対関係を用いて補正するようにした。そして、実施形態２では、動作タイミングを基準時刻と同じ時刻にすることにより、補正後のセットアップマージンとホールドマージンとが実測マージン内に包含されるようにした。
【０１０８】
以下に実施形態２の情報処理装置２について説明する。
図１５は、実施形態２の情報処理装置の一実施例を示す機能ブロック図である。
【０１０９】
実施形態２では、実施形態１の遅延部１４、取得部１５、判定部１７、および抽出部２１に一部の機能が追加されて、それぞれ遅延部６１、取得部６２、判定部６３、および抽出部７１となる。また、実施形態２では、記憶部２３に補正テーブル１３０が格納される。
【０１１０】
図１６は、補正テーブルのデータ例を表したテーブルである。
ここで、補正テーブル１３０は、図１６（ａ）に示すように、マージン補正情報として、マージン補正時間を格納する。また、補正テーブル１３０は、位相補正情報として、位相補正値を格納する。なお、マージン補正情報は、セットアップ補正情報としてセットアップ補正時間、およびホールド補正情報としてホールド補正時間を含む。
【０１１１】
そして、マージン補正時間は、特定の温度を基準として、他の温度におけるセットアップマージンの増減時間を示すセットアップ補正時間と、ホールドマージンの増減時間を示すホールド補正時間とを格納する。セットアップ補正時間とホールド補正時間とは、例えば、基準温度に対して各温度のセットアップ時間と、ホールド時間とがどれだけ増減するのかを実機検証することにより取得した経験的な値である。
【０１１２】
さらに、補正テーブル１３０は、特定の温度を基準として、他の温度における基準時刻のシフト時間を補正するための位相補正値を格納する。位相補正値は、例えば、基準温度のときの基準時刻に対して、各温度の基準時刻が何ステップだけシフトするのかを実機検証することにより取得した経験的な値である。そして、位相補正値は、現在（起動時）の基準時刻にステップ数に対応する時間を加算することによって、運用時の基準時刻が得られるように設定されていれば良い。一例として、図１４に示すように、基準時刻をデータの有効期間の中央時刻としたとき、１５℃での中央時刻に、位相補正値×１ステップの単位時間を加算することにより、３０℃での中央時刻が得られるように位相補正値が設定される。
【０１１３】
そして、補正テーブル１３０は、基準温度ごとに設定され、それぞれが記憶部２３に記憶されている。
【０１１４】
図１６（ｂ）は、基準温度が３０℃のときの補正テーブル１３０である。図１６（ｂ）に示すように、基準温度が３０℃の補正テーブル１３０では、３０℃に対応するセットアップ補正時間、ホールド補正時間、および位相補正値に±０が格納されている。そして、他の温度におけるセットアップ補正時間、ホールド補正時間、および位相補正値は、基準温度である３０℃に対する増減値、およびシフト値が格納される。
【０１１５】
なお、マージン補正時間は、セットアップ補正時間とホールド補正時間とを足し合わせた１つの補正時間として、指定補正時間を記憶しても良い。この場合には、基準時刻を設定しなくても良い。
【０１１６】
図１５の管理部７０の抽出部７１は、現在の情報処理装置２の温度を基準温度にした補正テーブル１３０を参照し、情報処理装置２の運用時の温度に関連付けられたセットアップ補正時間を抽出する。また、抽出部７１は、現在の情報処理装置２の温度を基準温度にした補正テーブル１３０を参照し、情報処理装置２の運用時の温度に関連付けられたホールド補正時間を抽出する。
【０１１７】
なお、指定補正時間が補正テーブル１３０に格納されているとき、抽出部７１は、現在の情報処理装置２の温度を基準温度にした補正テーブル１３０を参照し、情報処理装置２の運用時の温度に関連付けられた指定補正時間を抽出する。
【０１１８】
さらに、抽出部７１は、現在の情報処理装置２の温度を基準温度にした補正テーブル１３０から、情報処理装置２の運用時の温度に関連付けられた位相補正値を抽出する。
【０１１９】
情報処理部６０の判定部６３は、基準時刻とマージン開始時刻との間の時間が、抽出部７１で抽出したセットアップマージンにセットアップ補正時間を加えた時間よりも短いとき、実装メモリ１１が情報処理装置２で正常に動作しないと判定する。
【０１２０】
さらに、判定部６３は、基準時刻とマージン終了時刻との間の時間が、抽出部７１で抽出したホールドマージンにホールド補正時間を加えた時間よりも短いとき、実装メモリ１１が情報処理装置２で正常に動作しないと判定する。
【０１２１】
なお、指定補正時間が補正テーブル１３０に格納されているとき、判定部６３は、実測マージンが、抽出部７１で抽出した指定マージンに指定補正時間を加えた時間よりも短い場合、実装メモリ１１が情報処理装置２で正常に動作しないと判定する。
【０１２２】
取得部６２は、抽出部７１で抽出された位相補正値が示すステップ数にしたがって、基準時刻を調整する。図１６に示す特性を持つ情報処理装置２では、例えば、起動時の温度が３０℃、運用時の温度が４０℃、１ステップ１０（ｐｓ）のとき、取得部６２は、起動時の基準時刻を−２×１０（ｐｓ）＝−２０（ｐｓ）だけシフトして運用時の基準時刻を得る。
【０１２３】
さらに、遅延部６１は、ストローブ信号の遅延時間を調整することにより、基準時刻と同じ時刻に動作タイミングを設定する。
【０１２４】
以上のように、情報処理装置２は、セットアップ補正時間、およびホールド補正時間を適用することにより、運用時の温度でのセットアップマージン、およびホールドマージンを想定して実装メモリ１１のマージン試験を行なう。
【０１２５】
さらに、情報処理装置２は、現在の温度で得られた基準時刻から、運用時の温度における基準時刻を想定して、メモリ１１の運用時の基準時刻として設定する。
【０１２６】
よって、情報処理装置２は、マージン試験時（起動時）の温度から運用時の温度が変化しても、情報処理装置２で正常に信号処理ができるメモリ１１を検出し、かつ補正した基準時刻を動作タイミングとすることで、メモリ１１を正常に動作させることができる。
【０１２７】
図１７、図１８は、実施形態２のマージン試験の処理内容を示すシーケンス図である。
以下の説明において、基準時刻として、実測マージンの中央時刻が設定されているものとして説明する。また、図１０〜図１２で説明したＳ１００１〜Ｓ１００７、Ｓ１１０１〜Ｓ１１０６、Ｓ１２０１〜Ｓ１２０３の処理は実施形態１と同じであるので説明を省略する。
【０１２８】
図１７において、Ｓ１１０６の処理を行ったあと、判定部６３は、抽出部７１に実装されたメモリ１１の運用時の情報処理装置２の温度に対応したマージン補正時間を要求する（Ｓ１７０１）。すると、抽出部７１は、センサ１２から取得した情報処理装置２の温度を基準温度にした補正テーブル１３０から、情報処理装置２の運用時の温度に関連付けられたマージン補正時間を抽出する（Ｓ１７０２）。なお、情報処理装置２の運用時の温度は、ユーザが入力した予測温度を用いても良い。または、実機検証により予め作成した、情報処理装置２の起動時の温度と、運用時の温度とを関連付けた温度テーブルを記憶部２３に記憶する。そして、抽出部７１がマージン補正時間を抽出するときに、温度テーブルを参照し、センサ１２から取得した温度に関連付けられた運用時の温度を抽出することにより取得した温度を用いても良い。抽出部２１は、情報処理装置２の起動時の温度から、運用時の温度が予測できれば、他の方法で取得した運用時の温度を用いても良い。
【０１２９】
そして、抽出部７１は、Ｓ１７０２で抽出したマージン補正時間を補正テーブル１３０から取得する（Ｓ１７０３）。
【０１３０】
抽出部７１は、取得したマージン補正時間を判定部６３に送信する（Ｓ１７０４）。これにより、判定部６３は、実装されたメモリ１１について、情報処理装置２の運用時の温度に対応するマージン補正時間を取得する。
【０１３１】
図１８において、判定部６３は、指定マージンにＳ１７０４で取得したマージン補正時間を加えて補正指定マージンを算出する（Ｓ１８０１）。そして、Ｓ１００７で取得した実測マージンが、補正指定マージンを包含しているか否かを判定する（Ｓ１８０２）。Ｓ１８０２の判定方法は、図９の指定マージンを補正指定マージンに置き換える以外は、図９で説明した方法と同じである。より具体的には、図９のセットアップマージンにセットアップ補正時間を加え、ホールドマージンにホールド補正時間を加えて補正指定マージンとし、指定マージンと置き換える。
【０１３２】
Ｓ１８０２の判定の結果、Ｓ１００７で取得した実測マージンが、補正指定マージンを包含していないとき、実装メモリ１１が情報処理装置２で正常に動作しないと判定し、図１２のＳ１２０１の処理に移行する。
【０１３３】
Ｓ１８０２の判定の結果、Ｓ１００７で取得した実測マージンが、補正指定マージンを包含しているとき、判定部６３は、抽出部７１に実装されたメモリ１１の運用時の情報処理装置２の温度に対応した位相補正値を要求する（Ｓ１８０３）。このとき、判定部６３は、実装メモリ１１が情報処理装置２で正常に動作すると判定する。
【０１３４】
抽出部７１は、センサ１２から取得した情報処理装置２の温度を基準温度にした補正テーブル１３０から、情報処理装置２の運用時の温度に関連付けられた位相補正値を抽出する（Ｓ１８０４）。抽出部７１は、抽出した位相補正値を補正テーブル１３０から取得する（Ｓ１８０５）。
【０１３５】
抽出部７１は、取得した位相補正値を判定部６３に送信する（Ｓ１８０６）。これにより、判定部６３は、実装されたメモリ１１の情報処理装置２の運用時の温度に対応する位相補正値を取得する。
【０１３６】
そして、判定部６３は、位相補正値にしたがって、基準時刻を変更する。また、遅延部６１は、判定部６３が変更した基準時刻に動作タイミングを合わせるように、ストローブ信号の遅延時間を調整する（Ｓ１８０７）。
【０１３７】
これにより、情報処理装置２は、運用時に情報処理装置２の温度が上昇することを想定した動作タイミングを設定する。そして、図１２のＳ１２０１の処理に移行する。
【０１３８】
以上のように、実施形態２の情報処理装置２は、運用時に温度が変化することを想定し、温度変化の影響を踏まえて補正した指定マージンを用いて情報処理装置２に実装された実装メモリ１１が情報処理装置２で正常に動作するかいなかを判定する。
【０１３９】
また、実施形態２の情報処理装置２は、運用時に温度上昇したときの基準時刻を想定し、運用時の動作タイミングの時刻を想定した基準時刻と同じ時刻に調整する。
【０１４０】
これにより、情報処理装置２は、起動時の温度と運用時の温度とが異なる場合においても、精度よくマージン試験を行なうことができる。また、情報処理装置２は、起動時と運用時の温度が変化しても、補正した指定マージンを包含するように動作タイミングを設定することができるので、正常な信号処理を実行することができる。
【０１４１】
実施形態２では、動作タイミングと、基準時刻とを同じ時刻にしたが、動作タイミングと基準時刻とが異なる時刻でも良い。この場合には、判定部６３が基準時刻をシフトさせた時間と同じ時間だけ、遅延部６１は、起動時に信号処理が正常に実行可能であると判定された動作タイミングをシフトさせる。これにより、情報処理装置２は、起動時に信号処理が正常に実行可能な動作タイミングであれば、起動時と運用時の温度が変化しても、補正した指定マージンを包含するように動作タイミングを設定し、正常な信号処理を実行することができる。
【０１４２】
なお、実施形態１、および実施形態２の情報処理装置１、２では、起動時にマージン試験を実施するようにしたが、これに限らず、情報処理装置１、２の運用後において、ユーザの指示や、タイマーなどにより一定時間おきに行なわれるようにしても良い。これにより、メモリ１１の劣化により、メモリ１１が正常に信号処理をできなくなった場合にも、振れに弱いメモリとして検出することができる。なお、この場合には、基準温度を現在の情報処理装置１、２の温度にすると良い。
【符号の説明】
【０１４３】
１、２      情報処理装置
３      情報制御部
４      管理制御部
１０、６０      情報処理部
１１      メモリ
１２、３４      センサ
１３      処理部
１４、６１      遅延部
１５、６２      取得部
１６      記憶部
１７、６３      判定部
１８      通知部
２０、７０      管理部
２１、７１      抽出部
２２      表示部
２３      記憶部
３０      システムボード
３１、４１、５１      制御回路
３２、４２、５２      記憶装置
３３ａ〜３３ｃ      メモリ
３５、４４、５４      通信インターフェイス
４０      マネジメントボード
４３、５３      表示装置
５０      制御装置
１００      試験用データ
１１０      マージンテーブル
１２０      結果テーブル
１３０      補正テーブル
３１１      プロセッサコア
３１２      メモリコントローラ
３２０      ファームウェア
４２０      ファームウェア
【図１】
2014068739.tif 000003
【図２】
2014068739.tif 000004
【図３】
2014068739.tif 000005
【図４】
2014068739.tif 000006
【図５】
2014068739.tif 000007
【図６】
2014068739.tif 000008
【図７】
2014068739.tif 000009
【図８】
2014068739.tif 000010
【図９】
2014068739.tif 000011
【図１０】
2014068739.tif 000012
【図１１】
2014068739.tif 000013
【図１２】
2014068739.tif 000014
【図１３】
2014068739.tif 000015
【図１４】
2014068739.tif 000016
【図１５】
2014068739.tif 000017
【図１６】
2014068739.tif 000018
【図１７】
2014068739.tif 000019
【図１８】
2014068739.tif 000020
【国際調査報告】
2014068739.tif 000021
2014068739.tif 000022
2014068739.tif 000023
2014068739.tif 000024