(57)【要約】【課題】所定の規格に非準拠のメモリに対しても、メモリ交換を判別することができる情報処理装置を提供すること。【解決手段】情報処理装置１０が、第１のメモリモジュールのＳＰＤ３２から所定の規格に準拠した第１および第２のＳＰＤ情報の何れも取得できない場合に、第２のＳＰＤ情報を生成する情報生成部２３と、第１のメモリモジュールのＳＰＤ３２に情報生成部２３が生成した第２のＳＰＤ情報を書き込む書込部２４と、を備える。【選択図】図２
2017220145.tif 000002
【特許請求の範囲】
【請求項１】
第１のメモリモジュールから、所定の規格に準拠した第１および第２のＳＰＤ情報の何れも取得できない場合に、前記第２のＳＰＤ情報を生成する情報生成部と、
前記第１のメモリモジュールに前記第２のＳＰＤ情報を書き込む書込部と、
を備えることを特徴とする情報処理装置。
【請求項２】
第２のメモリモジュールまたは前記第１のメモリモジュールから、前記第１および第２のＳＰＤ情報の何れかを取得できるか否かを判定する判定部をさらに備え、
前記判定部が取得できないと判定した場合に、前記情報生成部は、前記第２のＳＰＤ情報を生成する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のＳＰＤ情報が前記第１のメモリモジュールに書き込まれる際に、前記第２のＳＰＤ情報と同じ情報である第３のＳＰＤ情報を記憶しておくＳＰＤ情報記憶部をさらに備え、
前記判定部は、前記第３のＳＰＤ情報に基づいて、前記第１のメモリモジュールまたは前記第２のメモリモジュールに前記第２のＳＰＤ情報が格納されているか否かを判定し、
前記第１または第２のメモリモジュールに前記第２のＳＰＤ情報が格納されていない場合には、前記第１または第２のメモリモジュールとの間でトレーニング処理が実行される、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第１または第２のメモリモジュールに前記第２のＳＰＤ情報が格納されている場合には、前記第１または第２のメモリモジュールとの間でトレーニング処理が実行されない、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
ＮＴＰサーバとの間の通信を制御するネットワークコントローラをさらに備え、
前記ネットワークコントローラは、起動時または省エネルギーモードからの復帰時に初期化され、初期化された後に前記ＮＴＰサーバとの間で通信を実行して現在時刻を取得し、
前記情報生成部は、前記現在時刻を用いて前記第２のＳＰＤ情報を生成する、
ことを特徴とする請求項１から４のいずれか１つに記載の情報処理装置。
【請求項６】
現在時刻を読み出すＲＴＣをさらに備え、
前記情報生成部は、前記現在時刻を用いて前記第２のＳＰＤ情報を生成する、
ことを特徴とする請求項１から４のいずれか１つに記載の情報処理装置。
【請求項７】
乱数を生成する乱数生成器を有するＣＰＵをさらに備え、
前記ＣＰＵは、起動時または省エネルギーモードからの復帰時に初期化され、
前記情報生成部は、前記乱数生成器が生成した乱数を用いて前記第２のＳＰＤ情報を生成する、
ことを特徴とする請求項１から４のいずれか１つに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置は、メモリを備えたメモリモジュールに接続可能なよう構成されている。このような、メモリモジュールにおいて、メモリが変更されている場合には、メモリが正常に動作できるようにその都度初期化が行われる。一般に、メモリの初期化は、実装されたメモリが有するＳＰＤ（Serial  Presence  Detect）のデフォルトのスペック情報（ＳＰＤ情報という）に基づいて行われる。
【０００３】
このようなメモリモジュールでは、メモリが交換された場合にトレーニングという初期化処理が行なわれる。このトレーニングには長時間を要するので、特許文献１に記載の方法では、メモリのシリアルナンバー（ＳＰＤ情報）が前回起動時と異なる場合にのみ、メモリが交換されたと判断してトレーニングを行っている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、メモリモジュールが所定の規格に非準拠である場合、メモリにはシリアルナンバーが記載されていないので、メモリモジュールにおいてメモリ交換が行われたか否かを判断できないという問題があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、所定の規格に非準拠のメモリに対しても、メモリ交換を判別することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置において、第１のメモリモジュールから、所定の規格に準拠した第１および第２のＳＰＤ情報の何れも取得できない場合に、前記第２のＳＰＤ情報を生成する情報生成部と、前記第１のメモリモジュールに前記第２のＳＰＤ情報を書き込む書込部と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、所定の規格に非準拠のメモリに対しても、メモリ交換を判別することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。
【図２】図２は、実施の形態に係る情報処理装置の機能構成を示す機能ブロック図である。
【図３】図３は、第１の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。
【図４】図４は、第２の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。
【図５】図５は、第３の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、情報処理装置の実施の形態を詳細に説明する。
【００１０】
（第１の実施の形態）
図１は、第１の実施の形態に係る情報処理装置のハードウェア構成を示すブロック図である。情報処理装置１０は、例えば、ＰＣ（Personal  Computer）、画像処理装置、複合機などを含んだ組込み機器である。情報処理装置１０は、ＤＲＡＭ（Dynamic  Random  Access  Memory）などのメモリ３１を備えたメモリモジュール（ＭＥＭ）１２に接続可能なよう構成されている。メモリモジュール１２は、例えばＰＣＢ（プリント回路基板：Printed  Circuits  Board）を搭載しており、このＰＣＢがＳｏＣ(System  On  Chip)、プロセッサ、ＡＳＩＣ（Application  Specific  Integrated  Circuit）などに接続されている。
【００１１】
情報処理装置１０は、プロセッサとしてのＣＰＵ（Central  Processing  Unit）１１（０）〜１１（Ｎ）（Ｎは自然数）、メモリモジュール１２、メモリコントローラ１３、ＲＯＭ（Read  Only  Memory）１４、ＮＡＮＤ１５、ＵＳＢ（Universal  Serial  Bus）コントローラ１６、ＬＣＤ（Liquid  Crystal  Display）コントローラ１７、ネットワークコントローラ１８、ＲＴＣ（Real  Time  Clock）１９、バスＢを備えている。情報処理装置１０では、これらのＣＰＵ１１（０）〜１１（Ｎ）、メモリモジュール１２、メモリコントローラ１３、ＲＯＭ１４、ＮＡＮＤ１５、ＵＳＢコントローラ１６、ＬＣＤコントローラ１７、ネットワークコントローラ１８およびＲＴＣ１９がバスＢに接続されている。また、情報処理装置１０のネットワークコントローラ１８は、ＮＴＰ（Network  Time  Protocol）サーバ５０に接続されている。
【００１２】
ＣＰＵ１１（０）〜１１（Ｎ）は、その個数に制約はなく、例えば、１個〜４個（Ｎ＝０〜３）である。なお、以下の説明では、ＣＰＵ１１（０）〜１１（Ｎ）の何れか１つまたは複数をＣＰＵ１１（Ｘ）という場合がある。
【００１３】
メモリモジュール１２は、ＤＤＲ３，ＤＤＲ４等のメモリモジュールである。メモリモジュール１２は、ＤＲＡＭなどのメモリ３１を備えている。なお、メモリモジュール１２が備えるメモリ３１は、ＤＲＡＭに限られない。また、メモリモジュール１２上には、ＳＰＤＲＯＭ（Serial  Presence  Detect  Read  Only  Memory）であるＳＰＤ３２が搭載されている。
【００１４】
ＳＰＤ３２は、メモリモジュール１２の容量、アクセス速度、アクセス方法などのメモリ３１のスペックに関するＳＰＤ情報を記録したＲＯＭモジュールである。このＳＰＤ情報は、メモリモジュール１２に実装されたメモリ３１に関するデフォルトの情報であり、ＳＰＤ３２のスペック情報を含んでいる。また、ＳＰＤ３２は、後述する情報生成部２３がユニークなＩＤであるＳＰＤ情報を生成した場合には、この生成されたＳＰＤ情報を格納する。ＳＰＤ３２の規格は、ＪＥＤＥＣ（Joint  Electron  Device  Engineering  Council）などで規定された所定の規格である。
【００１５】
メモリモジュール１２は、ＪＥＤＥＣに非準拠な第１のメモリモジュールである場合と、ＪＥＤＥＣに準拠した第２のメモリモジュールである場合がある。メモリモジュール１２が、ＪＥＤＥＣに準拠した第２のメモリモジュールである場合、メモリモジュール１２は、ＳＰＤ情報として第１のＳＰＤ情報を有している。また、メモリモジュール１２が、ＪＥＤＥＣに非準拠な第１のメモリモジュールである場合、情報処理装置１０は、ＳＰＤ情報として第２のＳＰＤ情報を生成し、メモリモジュール１２に格納する。
【００１６】
ＲＯＭ１４は、不揮発性メモリであり、ＢＩＯＳ（Basic  Input  Output  System）等の入出力プログラムやユーザデータなどを保存する。ＲＯＭ１４は、例えば、ＮＯＲ  Ｆｌａｓｈ  Ｄｅｖｉｃｅなどである。ＮＡＮＤ１５は、ＲＯＭ１４と同じ不揮発性メモリであるが、ＲＯＭ１４よりも大容量のデータを保存するために用いられる。ＮＡＮＤ１５は、例えば、ＮＡＮＤ  Ｆｌａｓｈ  Ｄｅｖｉｃｅなどである。
【００１７】
ＵＳＢコントローラ１６は、マウス、キーボードまたはＨＤＤ（Hard  Disk  Drive）などの周辺機器に接続されて、周辺機器を制御する。ここでのＵＳＢコントローラ１６は、シリアルバス規格の１つであるＵＳＢを用いて周辺機器と通信を行なう。
【００１８】
ＬＣＤコントローラ１７は、文字や画像などの表示を行うＬＣＤを制御するためのコントローラである。ネットワークコントローラ１８は、外部装置と通信するためのコントローラである。ネットワークコントローラ１８は、ＮＴＰサーバ５０に接続されており、ＮＴＰサーバ５０との間で行われる通信を制御する。
【００１９】
ＲＴＣ１９は、現在時刻を読み出すことができるデバイスであり、情報処理装置１０の電源が切られても現在時刻を刻むことができるよう内臓バッテリを搭載している。ＮＴＰサーバ５０は、ＲＴＣ１９に書き込むための時刻情報を保持しているサーバである。
【００２０】
このように、本実施の形態の情報処理装置１０は、ＣＰＵ１１（Ｘ）などの制御装置と、ＲＯＭ１４、ＮＡＮＤ１５およびメモリモジュール１２などの記憶装置と、を備えている。また、情報処理装置１０は、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置と、ＬＣＤなどの表示装置と、キーボードやマウスなどの入力装置と、を備えていてもよい。このように、情報処理装置１０は、通常のコンピュータを利用したハードウェア構成となっている。
【００２１】
情報処理装置１０は、メモリモジュール１２がメモリ交換された場合には、メモリモジュール１２が備えるメモリ３１の初期化（トレーニング）を行う。情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣに準拠している場合、メモリの初期化を、ＳＰＤ情報に基づいて行なう。
【００２２】
情報処理装置１０では、入出力プログラムであるＢＩＯＳやＢＩＯＳに相当するＢｏｏｔ  Ｌｏａｄｅｒが、ＳＰＤ３２からＳＰＤ情報であるアクセスパラメータを読み出して情報処理装置１０内のメモリコントローラ１３に設定する。このとき、ＢＩＯＳなどは、例えばＲｏｗアドレスサイズおよびＣｏｌｕｍｎアドレスサイズなどに基づいて、ＳＰＤＲＯＭのＳＰＤ情報からアクセスパラメータを読み出す。そして、メモリコントローラ１３が、アクセスパラメータに基づいてトレーニングと呼ばれる初期化処理を実行する。なお、メモリコントローラ１３は、メモリモジュール１２とバスＢとの間に配置されてもよい。換言すると、メモリモジュール１２は、メモリコントローラ１３を介してバスＢに接続されてもよい。
【００２３】
メモリコントローラ１３によるトレーニングは、メモリコントローラ１３とメモリ３１との間でのタイミング調整を行う目的で実施される。このトレーニングが行われると、メモリコントローラ１３とメモリ３１との間が、適切な信号品質および適切なタイミングに調整される。この結果、メモリコントローラ１３は、正しくメモリ３１にアクセスすることが可能となる。メモリコントローラ１３は、メモリ変更時のタイミングである情報処理装置１０の起動時（電源ＯＮ直後）や、外部要因（温度、気圧等）による影響を補正するためにＳＴＲ（Suspend  To  RAM）と呼ばれる省エネルギーモードから復帰する時などに、トレーニング処理を行う。
【００２４】
一般的に、トレーニング処理には時間がかかるので、起動時間や、省エネルギーモードからの復帰時間に影響を与えてしまう。本実施の形態の情報処理装置１０は、ＣＰＵ１１（０）〜１１（Ｎ）とメモリモジュール１２を備えており、起動時にメモリモジュール１２を初期化する際に、ＳＰＤ情報に記載された情報がＪＥＤＥＣ非準拠であるか否かを判別する。
【００２５】
そして、メモリモジュール１２がＪＥＤＥＣに準拠している場合、情報処理装置１０は、起動時のトレーニング結果を、ＮＡＮＤ１５などの不揮発メモリに保存しておく。一方、メモリモジュール１２がＪＥＤＥＣに非準拠である場合、情報処理装置１０は、ＪＥＤＥＣ規格に準拠するように、ユニークなシリアルナンバー（ＳＰＤ情報）を新たにＳＰＤ３２に記録する。
【００２６】
なお、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠である場合には、ＳＰＤ３２以外の領域にユニークなシリアルナンバーを格納してもよい。また、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠である場合にも、起動時などのトレーニング結果を、ＮＡＮＤ１５などの不揮発メモリに保存しておく。
【００２７】
そして、情報処理装置１０は、次回起動時にはメモリ交換がされていなければ、トレーニングを行わず、保存していたトレーニング結果を元にメモリコントローラ１３への設定を行う。
【００２８】
これにより、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣに準拠していなくても、ＪＥＤＥＣに準拠している場合と同様に、次回の起動時に、メモリモジュール１２の初期化のトレーニング処理を行なうことなく起動できる。この結果、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣに準拠していなくても、起動時間などの立ち上げ時間を短縮することが可能となる。
【００２９】
図２は、第１の実施の形態に係る情報処理装置の機能構成を示す機能ブロック図である。情報処理装置１０は、情報取得部２１と、判定部２２と、情報生成部２３と、書込部２４と、ＳＰＤ３２と、ＳＰＤ情報記憶部４０とを備えている。これらのうち、情報取得部２１、判定部２２、情報生成部２３および書込部２４は、ＲＯＭ１４内に格納された入出力プログラムとＣＰＵ１１（Ｘ）とで実現される。
【００３０】
情報取得部２１は、情報処理装置１０の起動時などの所定のタイミングで、メモリモジュール１２のＳＰＤ３２からＳＰＤ情報を読み出す。情報取得部２１は、読み出したＳＰＤ情報を判定部２２に送る。
【００３１】
判定部２２は、ＳＰＤ３２から読み出したＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定する。判定部２２は、ＳＰＤ情報が読み出されなかった場合には、メモリモジュール１２がＪＥＤＥＣ非準拠であると判定する。また、判定部２２は、読み出したＳＰＤ情報がＪＥＤＥＣ非準拠である場合、メモリモジュール１２はＪＥＤＥＣ非準拠であると判定する。
【００３２】
また、判定部２２は、読み出したＳＰＤ情報がＪＥＤＥＣに準拠している場合、メモリモジュール１２はＪＥＤＥＣ準拠であると判定する。また、判定部２２は、ＳＰＤ情報として読み出したものが、情報処理装置１０が生成したユニークなＩＤである場合がある。この場合、本来はメモリモジュール１２が非準拠であるが、本実施の形態では、判定部２２は、メモリモジュール１２はＪＥＤＥＣ準拠であると判定する。判定部２２は、判定結果を情報生成部２３に送る。
【００３３】
情報生成部２３は、判定部２２からの判定結果がＪＥＤＥＣ非準拠である場合、ユニークなＩＤを生成する。このＩＤは、例えば、ＪＥＤＥＣに準拠したＳＰＤ情報である。情報生成部２３は、生成したＩＤを書込部２４に送る。書込部２４は、情報生成部２３が生成したＩＤをＳＰＤ３２およびＳＰＤ情報記憶部４０に書き込む。
【００３４】
ＳＰＤ情報記憶部４０は、不揮発性メモリである。ＳＰＤ情報記憶部４０は、例えば、Ｆｌａｓｈ  ＲＯＭなどのＲＯＭ１４、ＮＡＮＤ１５、または、例えばｘ８６等の場合はＣＭＯＳなどである。
【００３５】
図３は、第１の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。情報処理装置１０は、電源ＯＮもしくはＣＰＵ１１（Ｘ）が動作を開始すると（ステップＳ１０）、ＣＰＵ１１（Ｘ）がＲＯＭ１４内に格納されている入出力プログラムを実行する。情報処理装置１０では、この入出力プログラムがメモリモジュール１２のＳＰＤ３２からＳＰＤ情報を読み出す（ステップＳ２０）。具体的には、情報取得部２１が、ＳＰＤ３２からＳＰＤ情報を読み出す。
【００３６】
そして、判定部２２が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定する（ステップＳ３０）。メモリモジュール１２が非準拠の場合（ステップＳ３０、Ｙｅｓ）、情報生成部２３は、ＳＰＤ３２にユニークなＩＤ（ＳＰＤ情報）を生成し、書込部２４が、ＳＰＤ３２にＩＤを書込む（ステップＳ４０）。また、
書込部２４は、ＳＰＤ３２に書き込んだＩＤ（第２のＳＰＤ情報）と同じＩＤ（第３のＳＰＤ情報）をＳＰＤ情報記憶部４０に格納する。これにより、ＳＰＤ情報の確認処理が終了する。
【００３７】
一方、メモリモジュール１２がＪＥＤＥＣ準拠である場合（ステップＳ３０、Ｎｏ）、情報生成部２３は、ＩＤを生成することなくＳＰＤ情報の確認処理を終了する。なお、ユニークなＩＤを書き込む際のハードウェア（ＨＷ）の状態は、メモリ３１さえも使えない状態である。このため、ＨＷ自体の初期化も最低限の機能部でしか行えず、この時点でユニークなＩＤを生成するには、生成手段が限られている。このため、ユニークなＩＤを生成するには、一般的な処理に加えて事前の処理が必要になる。この事前の処理に関しては、第２および第３の実施の形態で説明する。
【００３８】
なお、本実施の形態の情報処理装置１０で実行される入出力プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【００３９】
また、本実施の形態の情報処理装置１０で実行される入出力プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態の情報処理装置１０で実行される入出力プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００４０】
本実施の形態の情報処理装置１０で実行される入出力プログラムは、上述した各部（情報取得部２１、判定部２２、情報生成部２３、書込部２４）を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ（プロセッサ）１１（Ｘ）が上記記憶媒体から入出力プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、情報取得部２１と、判定部２２と、情報生成部２３と、書込部２４とが主記憶装置上に生成されるようになっている。
【００４１】
このように第１の実施の形態によれば、情報処理装置１０が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定し、非準拠である場合には、ＳＰＤ３２にユニークなＩＤを書込む。したがって、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠のメモリ３１を有する場合であっても、メモリ交換があったか否かを判別することが可能となる。そして、メモリ交換が無かった場合には、情報処理装置１０は、起動時にトレーニングを省略することができる。この結果、情報処理装置１０は、メモリモジュール１２のメモリ３１がＪＥＤＥＣ非準拠の場合であっても、起動時間を短縮することが可能となる。
【００４２】
（第２の実施の形態）
つぎに、図４を用いてこの発明の第２の実施の形態について説明する。第２の実施の形態では、情報処理装置１０が、ユニークなＩＤに現在時刻を適用する。本実施の形態では、第１の実施の形態の図３のフローチャートで示した処理を具体的に説明する。なお、第２の実施の形態の情報処理装置１０は、第１の実施の形態の情報処理装置１０と構成が同じであるので、その説明を省略する。
【００４３】
図４は、第２の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。情報処理装置１０は、電源ＯＮもしくはＣＰＵ１１（Ｘ）が動作を開始すると（ステップＳ１１０）、情報取得部２１が、メモリモジュール１２のＳＰＤ３２からＳＰＤ情報を読み出す（ステップＳ１２０）。
【００４４】
そして、判定部２２が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定する。このとき、本実施の形態の判定部２２は、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かをＳＰＤ情報のシリアルナンバーがゼロであるか否かに基づいて判断する（ステップＳ１３０）。メモリモジュールの中には、シリアルナンバーがゼロのＳＰＤ情報を有しているものが存在するかもしれないが、本実施の形態のメモリモジュール１２は、組込み向けのメモリモジュール１２であり、メモリモジュール１２がＪＥＤＥＣ非準拠である場合にはシリアルナンバーが何も書かれていないことを想定している。
【００４５】
シリアルナンバーがゼロの場合（ステップＳ１３０、Ｙｅｓ）、情報生成部２３は、メモリモジュール１２が非準拠であることを示す判定結果を情報生成部２３に送る。これにより、情報生成部２３が、ＲＴＣ１９から現在時刻を読み出す（ステップＳ１４０）。そして、情報生成部２３は、現在時刻を用いてユニークなＩＤを生成し、書込部２４が、ＳＰＤ３２にＩＤを書込む。情報生成部２３は、現在時刻そのものをユニークなＩＤとしてもよいし、現在時刻に他の情報を加えたものをユニークなＩＤとしてもよい。
【００４６】
なお、現在時刻が必ずしもユニークな（すべて異なる）情報になるとは限らないが、現在時刻が同じ値になったメモリモジュール１２を他の情報処理装置に取り付ける可能性は限りなく低い。このため、本実施の形態の情報生成部２３は、ＲＴＣ１９から取得した現在時刻そのものをユニークなＩＤとして用いる。
【００４７】
情報生成部２３が現在時刻を取得すると、書込部２４が、現在時刻をＳＰＤ３２にシリアルナンバーとして書込む（ステップＳ１５０）。これにより、メモリモジュール１２は、シリアルナンバーとしての現在時刻を保存する。ただし、現在時刻が正しいか否かは判断できないので、仮に初期化されていない場合は、書込部２４は、毎回同じ値（入出力プログラムが持つ何らかの初期値）を書き込んでしまう。このため、情報処理装置１０は、通常この時点では初期化されていないネットワーク部分（ネットワークコントローラ１８）に対して事前の初期化を行い、ＮＴＰサーバ５０と同期する。これにより、ＲＴＣ１９は、ＮＴＰサーバ５０から正確な現在時刻を取得できる。
【００４８】
また、書込部２４は、メモリモジュール１２に書き込んだシリアルナンバーを、不揮発性メモリであるＳＰＤ情報記憶部４０に保存する（ステップＳ１７０）。その後、情報処理装置１０は、メモリ３１のトレーニングを実施し（ステップＳ１８０）、トレーニングが完了するとＳＰＤ情報の確認処理を終了する。そして、情報処理装置１０は、トレーニング結果をＳＰＤ情報記憶部４０に格納し、起動処理を継続する。
【００４９】
一方、シリアルナンバーがゼロでない場合（ステップＳ１３０、Ｎｏ）、判定部２２は、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとが異なっているか否かを判定する（ステップＳ１６０）。
【００５０】
判定部２２が、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとは異なっていると判定した場合（ステップＳ１６０、Ｙｅｓ）、書込部２４は、メモリモジュール１２に書き込んであるシリアルナンバーを、不揮発性メモリであるＳＰＤ情報記憶部４０に保存する（ステップＳ１７０）。その後、情報処理装置１０は、メモリ３１のトレーニングを実施し（ステップＳ１８０）、トレーニングが完了するとＳＰＤ情報の確認処理を終了する。そして、情報処理装置１０は、トレーニング結果をＳＰＤ情報記憶部４０に格納し、起動処理を継続する。
【００５１】
判定部２２が、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとは同じであると判定した場合（ステップＳ１６０、Ｎｏ）、判定部２２は、メモリモジュール１２は交換されていないと判定する。そして、情報処理装置１０は、ＳＰＤ情報の確認処理を終了し、起動処理を継続する。
【００５２】
このように、情報処理装置１０は、メモリ交換が行われたか否かを、ＳＰＤ情報であるシリアルナンバーを用いて判定する。すなわち、情報処理装置１０は、起動時にシリアルナンバーをＳＰＤ３２から読み込み、前回の起動時と同じシリアルナンバーを読み出せた場合には、トレーニングを行わない。また、情報処理装置１０は、ＳＰＤ３２から読み込んだシリアルナンバーが、前回の起動時と異なるシリアルナンバーであった場合には、シリアルナンバーをＳＰＤ３２およびＳＰＤ情報記憶部４０に保存し、トレーニングを行う。これにより、情報処理装置１０は、次回起動時までにメモリ交換が行われていなければ、次回起動の際のトレーニングを省略できるので起動時間を短縮できる。
【００５３】
このように第２の実施の形態によれば、情報処理装置１０が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定し、非準拠である場合には、ＳＰＤ３２に現在時刻を用いたシリアルナンバーを書込む。したがって、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠のメモリ３１を有する場合であっても、メモリ交換があったか否かを判別することが可能となる。そして、メモリ交換が無かった場合には、情報処理装置１０は、起動時にトレーニングを省略することができる。この結果、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠のメモリ３１を有する場合であっても、起動時間を短縮することが可能となる。
【００５４】
（第３の実施の形態）
つぎに、図５を用いてこの発明の第３の実施の形態について説明する。第３の実施の形態では、情報処理装置１０が、ユニークなＩＤにランダムな値を適用する。本実施の形態では、第１の実施の形態の図３のフローチャートで示した処理を具体的に説明する。なお、第３の実施の形態の情報処理装置１０は、第１の実施の形態の情報処理装置１０と構成が同じであるので、その説明を省略する。
【００５５】
図５は、第３の実施の形態に係る情報処理装置の処理手順を示すフローチャートである。情報処理装置１０は、電源ＯＮもしくはＣＰＵ１１（Ｘ）が動作を開始すると（ステップＳ２１０）、情報取得部２１が、メモリモジュール１２のＳＰＤ３２からＳＰＤ情報を読み出す（ステップＳ２２０）。
【００５６】
そして、判定部２２が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定する（ステップＳ２３０）。このとき、本実施の形態の判定部２２は、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かをＳＰＤ情報のシリアルナンバーがゼロであるか否かに基づいて判断する。
【００５７】
シリアルナンバーがゼロの場合（ステップＳ２３０、Ｙｅｓ）、情報生成部２３は、メモリモジュール１２が非準拠であることを示す判定結果を情報生成部２３に送る。これにより、情報生成部２３は、ＣＰＵ１１（Ｘ）に対して事前の初期化処理を行い、ＣＰＵ１１（Ｘ）に内蔵された乱数生成器がランダムな値（乱数）を生成する（ステップＳ２４０）。この初期化処理は、ＣＰＵ１１（Ｘ）がランダムな値を生成するための命令を使えるようにするためのものである。情報生成部２３は、ランダムな値を用いてユニークなＩＤを生成し、書込部２４が、ＳＰＤ３２にＩＤを書込む。情報生成部２３は、ランダムな値そのものをユニークなＩＤとしてもよいし、ランダムな値に他の情報を加えたものをユニークなＩＤとしてもよい。本実施の形態では、情報生成部２３が、ランダムな値そのものをユニークなＩＤとして用いる場合について説明する。
【００５８】
情報生成部２３がランダムな値を生成すると、書込部２４が、生成されたランダムな値をＳＰＤ３２にシリアルナンバーとして書込む（ステップＳ２５０）。これにより、メモリモジュール１２は、シリアルナンバーとしてのランダムな値を保存する。
【００５９】
また、書込部２４は、メモリモジュール１２に書き込んだシリアルナンバーを、不揮発性メモリであるＳＰＤ情報記憶部４０に保存する（ステップＳ２７０）。その後、情報処理装置１０は、メモリ３１のトレーニングを実施し（ステップＳ２８０）、トレーニングが完了するとＳＰＤ情報の確認処理を終了する。そして、情報処理装置１０は、トレーニング結果をＳＰＤ情報記憶部４０に格納し、起動処理を継続する。
【００６０】
一方、シリアルナンバーがゼロでない場合（ステップＳ２３０、Ｎｏ）、判定部２２は、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとが異なっているか否かを判定する（ステップＳ２６０）。
【００６１】
判定部２２が、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとは異なっていると判定した場合（ステップＳ２６０、Ｙｅｓ）、書込部２４は、メモリモジュール１２に書き込んであるシリアルナンバーを、不揮発性メモリであるＳＰＤ情報記憶部４０に保存する（ステップＳ２７０）。その後、情報処理装置１０は、メモリ３１のトレーニングを実施し（ステップＳ２８０）、トレーニングが完了するとＳＰＤ情報の確認処理を終了する。そして、情報処理装置１０は、トレーニング結果をＳＰＤ情報記憶部４０に格納し、起動処理を継続する。
【００６２】
判定部２２が、ＳＰＤ情報記憶部４０に保存されているシリアルナンバーと、ＳＰＤ３２から読み出したシリアルナンバーとは同じであると判定した場合（ステップＳ２６０、Ｎｏ）、判定部２２は、メモリモジュール１２は交換されていないと判定する。そして、情報処理装置１０は、ＳＰＤ情報の確認処理を終了し、起動処理を継続する。
【００６３】
なお、情報生成部２３は、ランダムな値の代わりに、またはランダムな値とともに、ＣＰＵ１１（Ｘ）から読み出したプロセッサシリアルナンバーを用いてもよい。このプロセッサシリアルナンバーは、ＣＰＵ１１（Ｘ）毎にユニークなＩＤであるので、ＲＴＣとは異なり同じになることは無い。
【００６４】
このように、情報処理装置１０は、メモリ交換が行われたか否かを、ＳＰＤ情報であるシリアルナンバーを用いて判定する。すなわち、情報処理装置１０は、起動時にシリアルナンバーをＳＰＤ３２から読み込み、前回の起動時と同じシリアルナンバーを読み出せた場合には、トレーニングを行わない。また、情報処理装置１０は、ＳＰＤ３２から読み込んだシリアルナンバーが、前回の起動時と異なるシリアルナンバーであった場合には、シリアルナンバーをＳＰＤ３２およびＳＰＤ情報記憶部４０に保存し、トレーニングを行う。これにより、情報処理装置１０は、次回起動時までにメモリ交換が行われていなければ、次回起動の際のトレーニングを省略できるので起動時間を短縮できる。
【００６５】
このように第３の実施の形態によれば、情報処理装置１０が、ＳＰＤ情報に基づいて、メモリモジュール１２がＪＥＤＥＣ非準拠であるか否かを判定し、非準拠である場合には、ＳＰＤ３２にランダムな値を用いたシリアルナンバーを書込む。したがって、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠のメモリ３１を有する場合であっても、メモリ交換があったか否かを判別することが可能となる。そして、メモリ交換が無かった場合には、情報処理装置１０は、起動時にトレーニングを省略することができる。この結果、情報処理装置１０は、メモリモジュール１２がＪＥＤＥＣ非準拠のメモリ３１を有する場合であっても、起動時間を短縮することが可能となる。
【符号の説明】
【００６６】
１０  情報処理装置
１１（０）〜１１（Ｎ）  ＣＰＵ
１２  メモリモジュール
１３  メモリコントローラ
１８  ネットワークコントローラ
１９  ＲＴＣ
２１  情報取得部
２２  判定部
２３  情報生成部
２４  書込部
３１  メモリ
３２  ＳＰＤ
４０  ＳＰＤ情報記憶部
５０  ＮＴＰサーバ
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特許第５４６９２５４号公報
【図１】
2017220145.tif 000003
【図２】
2017220145.tif 000004
【図３】
2017220145.tif 000005
【図４】
2017220145.tif 000006
【図５】
2017220145.tif 000007