(57)【特許請求の範囲】
【請求項１】
演算部と、
前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第１のＳＰＤ（Serial Presence Detect）情報が格納されるＳＰＤ格納部と、
前記メモリチップへのアクセス処理を実行するメモリコントローラと、
前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第２のＳＰＤ情報と、を含むＢＩＯＳ（Basic Input/Output System）情報が格納されるＢＩＯＳ格納部と、
前記ＳＰＤ格納部から前記第１のＳＰＤ情報を読み出す第１のインタフェース回路と、
前記ＢＩＯＳ格納部から前記ＢＩＯＳ情報を読み出す第２のインタフェース回路と、を有し、
前記演算部は、
前記メモリコントローラの初期化処理において、読み出した前記第１のＳＰＤ情報が利用できないものである場合、前記第２のＳＰＤ情報を用いて前記メモリコントローラの初期化処理を行う情報処理システム。
【請求項２】
前記演算部は、前記ＢＩＯＳ情報に基づくシステムの初期化処理中に前記メモリコントローラの前記初期化処理を行う請求項１に記載の情報処理システム。
【請求項３】
前記演算部と、前記メモリコントローラと、前記第１のインタフェース回路と、前記第２のインタフェース回路は、１つの半導体チップ上に構築される請求項１又は２に記載の情報処理システム。
【請求項４】
前記ＳＰＤ格納部と前記メモリチップは、１つのメモリモジュールとして構成される請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
前記演算部が、前記第１のインタフェース回路の故障に起因して前記第１のＳＰＤ情報が利用不可と判断したのか、読み出した前記第１のＳＰＤ情報の正当性が確認できないことに起因して利用不可と判断したのか、をユーザーに提示する表示部をさらに有する請求項１乃至４のいずれか１項に記載の情報処理システム。
【請求項６】
演算部と、
前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第１のＳＰＤ（Serial Presence Detect）情報が格納されるＳＰＤ格納部と、
前記メモリチップへのアクセス処理を実行するメモリコントローラと、
前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第２のＳＰＤ情報と、を含むＢＩＯＳ（Basic Input/Output System）情報が格納されるＢＩＯＳ格納部と、を有する情報処理システムにおける初期化方法であって、
前記演算部が行う前記メモリコントローラの初期化処理において、前記演算部が読み出した前記第１のＳＰＤ情報が利用できないものである場合、前記演算部は前記第２のＳＰＤ情報を用いて前記メモリコントローラの初期化処理を行う情報処理システムの初期化方法。
【請求項７】
前記演算部は、前記ＢＩＯＳ情報に基づくシステムの初期化処理中に前記メモリコントローラの前記初期化処理を行う請求項６に記載の情報処理システムの初期化方法。
【請求項８】
前記演算部が、前記ＳＰＤ格納部と前記演算部とを接続する経路のハードウェアの故障に起因して前記第１のＳＰＤ情報が利用不可と判断したのか、読み出した前記第１のＳＰＤ情報の正当性が確認できないことに起因して利用不可と判断したのか、をユーザーに提示する請求項６又は７に記載の情報処理システムの初期化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム及びその初期化方法に関し、特に、メモリチップへのアクセスを制御するメモリコントローラの初期化処理を行う情報処理システム及びその初期化方法に関する。
【背景技術】
【０００２】
情報処理システムでは、システムを構成するＣＰＵ（Central Processing Unit）、メインメモリ、ハードディスク等の記憶装置、キーボード、マウス等の入出力装置を相互に利用可能にするためにＢＩＯＳ（Basic Input/Output System）と呼ばれるファームウェアが実装されている。情報処理システムでは、ＢＩＯＳを不揮発性メモリから読み出して、システムを動作可能にする初期化処理を行う。そして、この初期化処理では、メインメモリを利用可能にするためにメインメモリへのアクセス処理を制御するメモリコントローラをＳＰＤ（Serial Presence Detect）情報を用いてメモリの初期化を行う。このメモリコントローラの初期化に関する技術が特許文献１に開示されている。
【０００３】
特許文献１に記載の情報処理装置は、各種プログラムを実行するＣＰＵを有する情報処理装置において、主メモリを構成するのに用いられるＲＡＭ及び第１のＳＰＤデータを格納する第１の不揮発性メモリが搭載されたメモリモジュールであって、前記第１のＳＰＤデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記ＣＰＵが直接アクセス可能なメモリ空間に割り当てられる第２の不揮発性メモリと、前記メモリモジュールの前記第１の不揮発性メモリに格納されている前記第１のＳＰＤデータを第２のＳＰＤデータとして前記第２の不揮発性メモリの所定領域に保存する保存処理モジュールと、前記情報処理装置の電源オン時に前記第２の不揮発性メモリの前記所定領域に保存されている前記第２のＳＰＤデータに基づいて、前記メモリモジュールに搭載された前記ＲＡＭを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールとを具備することを特徴とする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１２２６２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載の技術では、第２のＳＰＤデータは第１のＳＰＤデータをコピーしたものであり、第１のＳＰＤデータが破損していた場合には、コピー先の第２のＳＰＤデータも破損することになり、システムの起動不良が発生する問題が生じる。
【課題を解決するための手段】
【０００６】
本発明にかかる情報処理システムの一態様は、演算部と、前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第１のＳＰＤ（Serial Presence Detect）情報が格納されるＳＰＤ格納部と、前記メモリチップへのアクセス処理を実行するメモリコントローラと、前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第２のＳＰＤ情報と、を含むＢＩＯＳ（Basic Input/Output System）情報が格納されるＢＩＯＳ格納部と、前記ＳＰＤ格納部から前記ＳＰＤ情報を読み出す第１のインタフェース回路と、前記ＢＩＯＳ格納部から前記ＢＩＯＳ情報を読み出す第２のインタフェース回路と、を有し、前記演算部は、前記メモリコントローラの初期化処理において、読み出した前記第１のＳＰＤ情報が利用できないものである場合、前記第２のＳＰＤ情報を用いて前記メモリコントローラの初期化処理を行う。
【０００７】
本発明にかかる情報処理システム初期化方法の一態様は、演算部と、前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第１のＳＰＤ（Serial Presence Detect）情報が格納されるＳＰＤ格納部と、前記メモリチップへのアクセス処理を実行するメモリコントローラと、前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第２のＳＰＤ情報と、を含むＢＩＯＳ（Basic Input/Output System）情報が格納されるＢＩＯＳ格納部と、を有する情報処理システムにおける初期化方法であって、前記演算部が行う前記メモリコントローラの初期化処理において、前記演算部が読み出した前記第１のＳＰＤ情報が利用できないものである場合、前記演算部は前記第２のＳＰＤ情報を用いて前記メモリコントローラの初期化処理を行う。
【発明の効果】
【０００８】
本発明の一態様によれば、情報処理システムにおいて搭載されるメモリチップに最適化された第１のＳＰＤ情報が破損していてもシステムを起動することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかる情報処理システムのブロック図である。
【図２】実施の形態にかかる情報処理システムのメモリコントローラの初期化処理を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
実施の形態
以下、図面を参照して本発明の実施の形態について説明する。図１に実施の形態にかかる情報処理システム１のブロック図を示す。図１に示すように、実施の形態にかかる情報処理システム１は、ＣＰＵ（Central Processing Unit）１０、メモリモジュール２０、ＢＩＯＳ（Basic Input/Output System）ロム３０、表示部５０を有する。
【００１１】
また、ＣＰＵ１０は、メモリコントローラ１１、第１のインタフェース回路（例えば、ＳＭ（System Management）バスコントローラ１２）、第２のインタフェース回路（例えば、シリアルパラレルインタフェース１３）、演算部（例えば、演算処理部１４）を有する。メモリモジュール２０は、メモリチップ２１〜２４、ＳＰＤ（Serial Presence Detect）ロム２５を有する。ＢＩＯＳロム３０は、ＢＩＯＳ情報３１が格納される。ＳＰＤロム２５及びＢＩＯＳロム３０は、例えば、フラッシュメモリ等の不揮発性メモリである。また、ＢＩＯＳ情報３１には、第２のＳＰＤ情報（例えば、ＳＰＤ情報３２）を含む。
【００１２】
なお、図１では、ＣＰＵ１０内にメモリコントローラ１１、ＳＭバスコントローラ１２、シリアルパラレルインタフェース１３、演算処理部１４を設けたが、ＣＰＵ１０として同一半導体チップ上に形成する回路ブロックは、図１の例に限られず、仕様によりどのブロックを同一半導体チップ上に形成するかを適宜変更できる。また、図１では、メモリチップとして４つのメモリチップを図示したが、メモリチップの数はシステムの仕様、或いは、メモリモジュール２０の仕様によって異なる。また、メモリモジュール２０の実装形態としては、システムボード上に直接半田付けする、システムボード上のメモリスロットに差し込む、他の処理ブロックと同一の半導体チップ上に形成する等、様々な形態が考えられる。
【００１３】
そして、実施の形態にかかる情報処理システム１では、メモリコントローラ１１とメモリチップ２１〜２４はメモリーバス４１を介して相互に接続される。ＳＭバスコントローラ１２とＳＰＤロム２５は、ＳＭバス４２を介して相互に接続される。シリアルパラレルインタフェース１３は、ＢＩＯＳロム３０と接続される。また、ＣＰＵ１０内では、演算処理部１４が、メモリコントローラ１１、ＳＭバスコントローラ１２及びシリアルパラレルインタフェース１３と接続される。さらに、演算処理部１４は、ＣＰＵ１０とは別に設けられる表示部５０と接続される。なお、表示部５０は、ディスプレイ等の高度な情報を表示可能なものでもよく、エラーの種類を点灯方法の変更によりエラーの発生と種類をユーザーに通知するＬＥＤインディケータのようなものでもよい。
【００１４】
実施の形態にかかる情報処理システム１では、起動時に演算処理部１４がシリアルパラレルインタフェース１３を用いてＢＩＯＳロム３０からＢＩＯＳ情報３１を読み出すことでシステムの初期化処理を行う。情報処理システム１は、様々な処理を行うが、以下の説明では、情報処理システム１の特徴の１つである起動処理について説明する。
【００１５】
メモリコントローラ１１は、演算処理部１４とメモリチップ２１〜２４との間のアクセス処理を実行する。ＳＭバスコントローラ１２は、ＢＩＯＳ情報３１に基づき実行する初期化処理中に演算処理部１４が出力する指示に基づきメモリモジュール２０のＳＰＤロム２５から第１のＳＰＤ情報を読み出す。この第１のＳＰＤ情報には、メモリチップ２１〜２４の容量・種類・クロック周波数等のメモリチップ２１〜２４を最適に動作させるためのアクセス処理設定値が記述される。
【００１６】
シリアルパラレルインタフェース１３は、起動時にＢＩＯＳロム３０からＢＩＯＳ情報３１を読み出し、演算処理部１４に伝達する。シリアルパラレルインタフェース１３とＢＩＯＳロム３０は、シリアル信号を用いて通信を行うが、シリアルパラレルインタフェース１３は、シリアルデータとして受信したＢＩＯＳ情報３１をパラレルデータに変換して演算処理部１４に伝達する。また、ＢＩＯＳ情報３１には、演算部の動作設定情報と、メモリチップ２１〜２４が最低限動作するアクセス処理設定値であってメモリチップ２１〜２４の種類によらず固定値となる第２のＳＰＤ情報第（例えば、ＳＰＤ情報３２）が含まれる。ＳＰＤ情報３２には、例えば、演算処理部１４、或いは、演算処理部１４とともに用いられるチップセットが対応するメモリチップの使用の最低限の仕様に準拠する容量・種類・クロック周波数等のアクセス処理設定値が記述される。
【００１７】
ここで、実施の形態にかかる情報処理システム１の動作について説明する。以下では、情報処理システム１の動作のうちＢＩＯＳ情報に基づき行われるメモリコントローラ１１の初期化処理について説明する。そこで、図２に実施の形態にかかる情報処理システム１のメモリコントローラ１１の初期化処理を説明するフローチャートを示す。このメモリコントローラ１１は、演算処理部１４がＢＩＯＳロム３０からＢＩＯＳ情報３１を読み出した後に行われる処理で有り、メモリコントローラ１１の初期化処理が行われる時点で、ＢＩＯＳ情報３１に含まれるＳＰＤ情報３２が既に演算処理部１４に読み込まれた状態となっている。
【００１８】
続いて、図２を参照して実施の形態にかかる情報処理システム１のメモリコントローラ１１の初期化処理について具体的に説明する。図２に示すように、メモリコントローラ１１の初期化処理では、まず、演算処理部１４がＳＰＤロム２５から第１のＳＰＤ情報を読み出す（ステップＳ１）。次いで、演算処理部１４は、ステップＳ１の第１のＳＰＤ情報の読み出しにおいて、ＳＭバスコントローラ１２及びＳＭバス４２を用いた読み出し処理においてＳＭバスリードエラーが発生したか否かを確認する（ステップＳ２）。このステップＳ２において、ＳＭバスリードエラーが発生したと演算処理部１４が判断した場合、演算処理部１４内の記憶領域に設けられるリードエラーフラグを０から１に更新する（ステップＳ３）。一方、ステップＳ２において、ＳＭバスリードエラーが発生していないと演算処理部１４が判断した場合、読み出した第１のＳＰＤ情報のチェックサムを計算し（ステップＳ４）、チェックサムエラーの発生の有無を演算処理部１４が判断する（ステップＳ５）。
【００１９】
このステップＳ５において、チェックサムエラーが発生していると演算処理部１４が判断した場合、演算処理部１４内の記憶領域に設けられるチェックサムエラーフラグを０から１に更新する（ステップＳ６）。一方、このステップＳ５において、チェックサムエラーが発生していないと演算処理部１４が判断した場合、演算処理部１４は、ステップＳ１で読み出した第１のＳＰＤ情報によりメモリコントローラ１１を初期化する（ステップＳ７）。また、ステップＳ３、Ｓ６のいずれかでフラグ値を１に更新していた場合、演算処理部１４は、ＢＩＯＳロム３０から読み出した第２のＳＰＤ情報（例えば、ＳＰＤ情報３２）によりメモリコントローラ１１を初期化する（ステップＳ８）。
【００２０】
このように、実施の形態にかかる情報処理システム１では、メモリモジュール２０に搭載されるメモリチップ２１〜２４に最適化されたＳＰＤロム２５から読み出した第１のＳＰＤ情報を利用できない或いは正当性に疑義がある場合、ＢＩＯＳロム３０から読み出したＳＰＤ情報３２によりメモリコントローラ１１を初期化する。
【００２１】
その後、演算処理部１４は、リードエラーフラグが１であれば（ステップＳ９のＹＥＳの枝）、表示部５０にリードエラーメッセージを表示する（ステップＳ１０）とともに、リードエラーログを例えば、メモリチップ２１〜２４の所定の領域に登録して（ステップＳ１１）、メモリコントローラ１１の初期化処理を終了する。
【００２２】
また、リードエラーフラグが０であっても（ステップＳ９のＮＯの枝）、演算処理部１４は、チェックサムエラーフラグが１であれば（ステップＳ１２のＹＥＳの枝）、表示部５０にリードエラーメッセージを表示する（ステップＳ１３）とともに、リードエラーログを例えば、メモリチップ２１〜２４の所定の領域に登録して（ステップＳ１４）、メモリコントローラ１１の初期化処理を終了する。また、リードエラーフラグ及びチェックサムエラーが０のままであれば、演算処理部１４は、外部にエラーの発生は通知せずに、メモリコントローラ１１の初期化処理を終了する（ステップＳ１２のＮＯの枝）。
【００２３】
上記説明より、実施の形態にかかる情報処理システム１では、メモリチップ２１〜２４に最適化された第１のＳＰＤ情報がＳＰＤロム２５から正しく読み出せない場合、ＢＩＯＳロム３０に格納され、かつ、メモリチップ２１〜２４を最低限動作させることが可能な第２のＳＰＤ情報によりメモリコントローラ１１を初期化する。これにより、実施の形態にかかる情報処理システム１では、第１のＳＰＤ情報の破損による起動不良を回避することができる。
【００２４】
例えば、ＳＰＤロム２５からのみＳＰＤ情報を読み出す場合、メモリモジュール２０上のＳＰＤロム２５の故障、或いは、ベースボードの故障により、正しいメモリ仕様情報が取得できず、その結果、情報処理装置が立ち上がらない問題がある。また、メモリモジュールから読み出したＳＰＤ情報をＢＩＯＳ情報にコピーして利用する場合、メモリモジュール２０の寿命（ＥＯＬ（End of Life））等により、搭載されるメモリの仕様変更があると、ＢＩＯＳ情報に含まれるＳＰＤ情報により示されるメモリモジュールの仕様と、実際のメモリモジュールの仕様とが合わない場合があり、情報処理装置が立ち上がらない問題がある。しかしながら、実施の形態にかかる情報処理システム１では、ＳＰＤロム２５読み出した第１のＳＰＤ情報が利用できない場合に採用する第２のＳＰＤ情報がメモリチップ２１〜２４を最低限動作させることが可能なものであるため、上述するような起動不良を回避することができる。
【００２５】
また、実施の形態にかかる情報処理システム１は、ＳＭバスのリードエラーや、チェックサムエラーを表示部に通知する、或いは、ログに残す。これにより。実施の形態にかかる情報処理システム１は、工場での生産ラインや、検査ライン、及び、情報処理システムが用いられるフィールドで、メモリジュールに関連するエラーで立ち上げ不良が発生した場合であっても、ユーザーや検査員に故障情報を知らせることができ、被疑箇所の特定が容易になる。
【００２６】
さらに、実施の形態にかかる情報処理システム１では、メモリモジュール２０がベースボード上に直接取り付けられている状態でメモリーデバイスが寿命等で仕様の違うメモリチップを搭載となった場合であっても、装置を立ち上げることができる為、ＳＰＤロム２５を交換することなく、ＳＰＤロム２５を書き換えるツール等で、ＳＰＤロム２５上の第１のＳＰＤ情報を書き換えることが可能となる。
【００２７】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【００２８】
１  情報処理システム
１０  ＣＰＵ
１１  メモリコントローラ
１２  ＳＭバスコントローラ
１３  シリアルパラレルインタフェース
１４  演算処理部
２０  メモリモジュール
２１  メモリチップ
２２  メモリチップ
２３  メモリチップ
２４  メモリチップ
２５  ＳＰＤロム
３０  ＢＩＯＳロム
３１  ＢＩＯＳ情報
３２  ＳＰＤ情報
４１  メモリーバス
４２  ＳＭバス
５０  表示部
【要約】
【課題】従来の半導体装置では、メモリチップに付随して設けられるＳＰＤデータが破損していた場合、システムの起動不良が発生する問題が生じる。
【解決手段】本発明の情報処理システムは、演算部が利用する主メモリを構成するメモリチップ２１〜２４に最適化されたアクセス処理設定値が記述される第１のＳＰＤ情報が格納されるＳＰＤ格納部２５と、メモリチップ２１〜２４へのアクセス処理を実行するメモリコントローラ１１と、メモリチップ２１〜２４が最低限動作するアクセス処理設定値であってメモリチップの種類によらず固定値となる第２のＳＰＤ情報と、を含むＢＩＯＳ情報が格納されるＢＩＯＳ格納部３０と、を有し、演算部は、メモリコントローラ１１の初期化処理において、読み出した第１のＳＰＤ情報が利用できないものである場合、第２のＳＰＤ情報を用いてメモリコントローラ１１の初期化処理を行う。
【選択図】図１【図１】
0006835423.tif 000002
【図２】
0006835423.tif 000003