(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6835423
(24)【登録日】2021年2月8日
(45)【発行日】2021年2月24日
(54)【発明の名称】情報処理システム及びその初期化方法
(51)【国際特許分類】
G06F 12/00 20060101AFI20210215BHJP
【FI】
G06F12/00 550A
【請求項の数】8
【全頁数】9
(21)【出願番号】特願2019-210276(P2019-210276)
(22)【出願日】2019年11月21日
【審査請求日】2019年11月21日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】小笠原 達也
【審査官】
後藤 彰
(56)【参考文献】
【文献】
特開2004−145733(JP,A)
【文献】
特開2007−122627(JP,A)
【文献】
特開2010−39645(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 12/00
(57)【特許請求の範囲】
【請求項1】
演算部と、
前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第1のSPD(Serial Presence Detect)情報が格納されるSPD格納部と、
前記メモリチップへのアクセス処理を実行するメモリコントローラと、
前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第2のSPD情報と、を含むBIOS(Basic Input/Output System)情報が格納されるBIOS格納部と、
前記SPD格納部から前記第1のSPD情報を読み出す第1のインタフェース回路と、
前記BIOS格納部から前記BIOS情報を読み出す第2のインタフェース回路と、を有し、
前記演算部は、
前記メモリコントローラの初期化処理において、読み出した前記第1のSPD情報が利用できないものである場合、前記第2のSPD情報を用いて前記メモリコントローラの初期化処理を行う情報処理システム。
【請求項2】
前記演算部は、前記BIOS情報に基づくシステムの初期化処理中に前記メモリコントローラの前記初期化処理を行う請求項1に記載の情報処理システム。
【請求項3】
前記演算部と、前記メモリコントローラと、前記第1のインタフェース回路と、前記第2のインタフェース回路は、1つの半導体チップ上に構築される請求項1又は2に記載の情報処理システム。
【請求項4】
前記SPD格納部と前記メモリチップは、1つのメモリモジュールとして構成される請求項1乃至3のいずれか1項に記載の情報処理システム。
【請求項5】
前記演算部が、前記第1のインタフェース回路の故障に起因して前記第1のSPD情報が利用不可と判断したのか、読み出した前記第1のSPD情報の正当性が確認できないことに起因して利用不可と判断したのか、をユーザーに提示する表示部をさらに有する請求項1乃至4のいずれか1項に記載の情報処理システム。
【請求項6】
演算部と、
前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第1のSPD(Serial Presence Detect)情報が格納されるSPD格納部と、
前記メモリチップへのアクセス処理を実行するメモリコントローラと、
前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第2のSPD情報と、を含むBIOS(Basic Input/Output System)情報が格納されるBIOS格納部と、を有する情報処理システムにおける初期化方法であって、
前記演算部が行う前記メモリコントローラの初期化処理において、前記演算部が読み出した前記第1のSPD情報が利用できないものである場合、前記演算部は前記第2のSPD情報を用いて前記メモリコントローラの初期化処理を行う情報処理システムの初期化方法。
【請求項7】
前記演算部は、前記BIOS情報に基づくシステムの初期化処理中に前記メモリコントローラの前記初期化処理を行う請求項6に記載の情報処理システムの初期化方法。
【請求項8】
前記演算部が、前記SPD格納部と前記演算部とを接続する経路のハードウェアの故障に起因して前記第1のSPD情報が利用不可と判断したのか、読み出した前記第1のSPD情報の正当性が確認できないことに起因して利用不可と判断したのか、をユーザーに提示する請求項6又は7に記載の情報処理システムの初期化方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は情報処理システム及びその初期化方法に関し、特に、メモリチップへのアクセスを制御するメモリコントローラの初期化処理を行う情報処理システム及びその初期化方法に関する。
【背景技術】
【0002】
情報処理システムでは、システムを構成するCPU(Central Processing Unit)、メインメモリ、ハードディスク等の記憶装置、キーボード、マウス等の入出力装置を相互に利用可能にするためにBIOS(Basic Input/Output System)と呼ばれるファームウェアが実装されている。情報処理システムでは、BIOSを不揮発性メモリから読み出して、システムを動作可能にする初期化処理を行う。そして、この初期化処理では、メインメモリを利用可能にするためにメインメモリへのアクセス処理を制御するメモリコントローラをSPD(Serial Presence Detect)情報を用いてメモリの初期化を行う。このメモリコントローラの初期化に関する技術が特許文献1に開示されている。
【0003】
特許文献1に記載の情報処理装置は、各種プログラムを実行するCPUを有する情報処理装置において、主メモリを構成するのに用いられるRAM及び第1のSPDデータを格納する第1の不揮発性メモリが搭載されたメモリモジュールであって、前記第1のSPDデータが当該メモリモジュールの仕様を表すメモリモジュールと、前記CPUが直接アクセス可能なメモリ空間に割り当てられる第2の不揮発性メモリと、前記メモリモジュールの前記第1の不揮発性メモリに格納されている前記第1のSPDデータを第2のSPDデータとして前記第2の不揮発性メモリの所定領域に保存する保存処理モジュールと、前記情報処理装置の電源オン時に前記第2の不揮発性メモリの前記所定領域に保存されている前記第2のSPDデータに基づいて、前記メモリモジュールに搭載された前記RAMを前記主メモリの構成要素として機能させるための初期設定処理を行う設定処理モジュールとを具備することを特徴とする。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−122627号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1に記載の技術では、第2のSPDデータは第1のSPDデータをコピーしたものであり、第1のSPDデータが破損していた場合には、コピー先の第2のSPDデータも破損することになり、システムの起動不良が発生する問題が生じる。
【課題を解決するための手段】
【0006】
本発明にかかる情報処理システムの一態様は、演算部と、前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第1のSPD(Serial Presence Detect)情報が格納されるSPD格納部と、前記メモリチップへのアクセス処理を実行するメモリコントローラと、前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第2のSPD情報と、を含むBIOS(Basic Input/Output System)情報が格納されるBIOS格納部と、前記SPD格納部から前記SPD情報を読み出す第1のインタフェース回路と、前記BIOS格納部から前記BIOS情報を読み出す第2のインタフェース回路と、を有し、前記演算部は、前記メモリコントローラの初期化処理において、読み出した前記第1のSPD情報が利用できないものである場合、前記第2のSPD情報を用いて前記メモリコントローラの初期化処理を行う。
【0007】
本発明にかかる情報処理システム初期化方法の一態様は、演算部と、前記演算部が利用する主メモリを構成するメモリチップに最適化されたアクセス処理設定値が記述される第1のSPD(Serial Presence Detect)情報が格納されるSPD格納部と、前記メモリチップへのアクセス処理を実行するメモリコントローラと、前記演算部の動作設定情報と、前記メモリチップが最低限動作するアクセス処理設定値であって前記メモリチップの種類によらず固定値となる第2のSPD情報と、を含むBIOS(Basic Input/Output System)情報が格納されるBIOS格納部と、を有する情報処理システムにおける初期化方法であって、前記演算部が行う前記メモリコントローラの初期化処理において、前記演算部が読み出した前記第1のSPD情報が利用できないものである場合、前記演算部は前記第2のSPD情報を用いて前記メモリコントローラの初期化処理を行う。
【発明の効果】
【0008】
本発明の一態様によれば、情報処理システムにおいて搭載されるメモリチップに最適化された第1のSPD情報が破損していてもシステムを起動することができる。
【図面の簡単な説明】
【0009】
【
図1】実施の形態にかかる情報処理システムのブロック図である。
【
図2】実施の形態にかかる情報処理システムのメモリコントローラの初期化処理を説明するフローチャートである。
【発明を実施するための形態】
【0010】
実施の形態
以下、図面を参照して本発明の実施の形態について説明する。
図1に実施の形態にかかる情報処理システム1のブロック図を示す。
図1に示すように、実施の形態にかかる情報処理システム1は、CPU(Central Processing Unit)10、メモリモジュール20、BIOS(Basic Input/Output System)ロム30、表示部50を有する。
【0011】
また、CPU10は、メモリコントローラ11、第1のインタフェース回路(例えば、SM(System Management)バスコントローラ12)、第2のインタフェース回路(例えば、シリアルパラレルインタフェース13)、演算部(例えば、演算処理部14)を有する。メモリモジュール20は、メモリチップ21〜24、SPD(Serial Presence Detect)ロム25を有する。BIOSロム30は、BIOS情報31が格納される。SPDロム25及びBIOSロム30は、例えば、フラッシュメモリ等の不揮発性メモリである。また、BIOS情報31には、第2のSPD情報(例えば、SPD情報32)を含む。
【0012】
なお、
図1では、CPU10内にメモリコントローラ11、SMバスコントローラ12、シリアルパラレルインタフェース13、演算処理部14を設けたが、CPU10として同一半導体チップ上に形成する回路ブロックは、
図1の例に限られず、仕様によりどのブロックを同一半導体チップ上に形成するかを適宜変更できる。また、
図1では、メモリチップとして4つのメモリチップを図示したが、メモリチップの数はシステムの仕様、或いは、メモリモジュール20の仕様によって異なる。また、メモリモジュール20の実装形態としては、システムボード上に直接半田付けする、システムボード上のメモリスロットに差し込む、他の処理ブロックと同一の半導体チップ上に形成する等、様々な形態が考えられる。
【0013】
そして、実施の形態にかかる情報処理システム1では、メモリコントローラ11とメモリチップ21〜24はメモリーバス41を介して相互に接続される。SMバスコントローラ12とSPDロム25は、SMバス42を介して相互に接続される。シリアルパラレルインタフェース13は、BIOSロム30と接続される。また、CPU10内では、演算処理部14が、メモリコントローラ11、SMバスコントローラ12及びシリアルパラレルインタフェース13と接続される。さらに、演算処理部14は、CPU10とは別に設けられる表示部50と接続される。なお、表示部50は、ディスプレイ等の高度な情報を表示可能なものでもよく、エラーの種類を点灯方法の変更によりエラーの発生と種類をユーザーに通知するLEDインディケータのようなものでもよい。
【0014】
実施の形態にかかる情報処理システム1では、起動時に演算処理部14がシリアルパラレルインタフェース13を用いてBIOSロム30からBIOS情報31を読み出すことでシステムの初期化処理を行う。情報処理システム1は、様々な処理を行うが、以下の説明では、情報処理システム1の特徴の1つである起動処理について説明する。
【0015】
メモリコントローラ11は、演算処理部14とメモリチップ21〜24との間のアクセス処理を実行する。SMバスコントローラ12は、BIOS情報31に基づき実行する初期化処理中に演算処理部14が出力する指示に基づきメモリモジュール20のSPDロム25から第1のSPD情報を読み出す。この第1のSPD情報には、メモリチップ21〜24の容量・種類・クロック周波数等のメモリチップ21〜24を最適に動作させるためのアクセス処理設定値が記述される。
【0016】
シリアルパラレルインタフェース13は、起動時にBIOSロム30からBIOS情報31を読み出し、演算処理部14に伝達する。シリアルパラレルインタフェース13とBIOSロム30は、シリアル信号を用いて通信を行うが、シリアルパラレルインタフェース13は、シリアルデータとして受信したBIOS情報31をパラレルデータに変換して演算処理部14に伝達する。また、BIOS情報31には、演算部の動作設定情報と、メモリチップ21〜24が最低限動作するアクセス処理設定値であってメモリチップ21〜24の種類によらず固定値となる第2のSPD情報第(例えば、SPD情報32)が含まれる。SPD情報32には、例えば、演算処理部14、或いは、演算処理部14とともに用いられるチップセットが対応するメモリチップの使用の最低限の仕様に準拠する容量・種類・クロック周波数等のアクセス処理設定値が記述される。
【0017】
ここで、実施の形態にかかる情報処理システム1の動作について説明する。以下では、情報処理システム1の動作のうちBIOS情報に基づき行われるメモリコントローラ11の初期化処理について説明する。そこで、
図2に実施の形態にかかる情報処理システム1のメモリコントローラ11の初期化処理を説明するフローチャートを示す。このメモリコントローラ11は、演算処理部14がBIOSロム30からBIOS情報31を読み出した後に行われる処理で有り、メモリコントローラ11の初期化処理が行われる時点で、BIOS情報31に含まれるSPD情報32が既に演算処理部14に読み込まれた状態となっている。
【0018】
続いて、
図2を参照して実施の形態にかかる情報処理システム1のメモリコントローラ11の初期化処理について具体的に説明する。
図2に示すように、メモリコントローラ11の初期化処理では、まず、演算処理部14がSPDロム25から第1のSPD情報を読み出す(ステップS1)。次いで、演算処理部14は、ステップS1の第1のSPD情報の読み出しにおいて、SMバスコントローラ12及びSMバス42を用いた読み出し処理においてSMバスリードエラーが発生したか否かを確認する(ステップS2)。このステップS2において、SMバスリードエラーが発生したと演算処理部14が判断した場合、演算処理部14内の記憶領域に設けられるリードエラーフラグを0から1に更新する(ステップS3)。一方、ステップS2において、SMバスリードエラーが発生していないと演算処理部14が判断した場合、読み出した第1のSPD情報のチェックサムを計算し(ステップS4)、チェックサムエラーの発生の有無を演算処理部14が判断する(ステップS5)。
【0019】
このステップS5において、チェックサムエラーが発生していると演算処理部14が判断した場合、演算処理部14内の記憶領域に設けられるチェックサムエラーフラグを0から1に更新する(ステップS6)。一方、このステップS5において、チェックサムエラーが発生していないと演算処理部14が判断した場合、演算処理部14は、ステップS1で読み出した第1のSPD情報によりメモリコントローラ11を初期化する(ステップS7)。また、ステップS3、S6のいずれかでフラグ値を1に更新していた場合、演算処理部14は、BIOSロム30から読み出した第2のSPD情報(例えば、SPD情報32)によりメモリコントローラ11を初期化する(ステップS8)。
【0020】
このように、実施の形態にかかる情報処理システム1では、メモリモジュール20に搭載されるメモリチップ21〜24に最適化されたSPDロム25から読み出した第1のSPD情報を利用できない或いは正当性に疑義がある場合、BIOSロム30から読み出したSPD情報32によりメモリコントローラ11を初期化する。
【0021】
その後、演算処理部14は、リードエラーフラグが1であれば(ステップS9のYESの枝)、表示部50にリードエラーメッセージを表示する(ステップS10)とともに、リードエラーログを例えば、メモリチップ21〜24の所定の領域に登録して(ステップS11)、メモリコントローラ11の初期化処理を終了する。
【0022】
また、リードエラーフラグが0であっても(ステップS9のNOの枝)、演算処理部14は、チェックサムエラーフラグが1であれば(ステップS12のYESの枝)、表示部50にリードエラーメッセージを表示する(ステップS13)とともに、リードエラーログを例えば、メモリチップ21〜24の所定の領域に登録して(ステップS14)、メモリコントローラ11の初期化処理を終了する。また、リードエラーフラグ及びチェックサムエラーが0のままであれば、演算処理部14は、外部にエラーの発生は通知せずに、メモリコントローラ11の初期化処理を終了する(ステップS12のNOの枝)。
【0023】
上記説明より、実施の形態にかかる情報処理システム1では、メモリチップ21〜24に最適化された第1のSPD情報がSPDロム25から正しく読み出せない場合、BIOSロム30に格納され、かつ、メモリチップ21〜24を最低限動作させることが可能な第2のSPD情報によりメモリコントローラ11を初期化する。これにより、実施の形態にかかる情報処理システム1では、第1のSPD情報の破損による起動不良を回避することができる。
【0024】
例えば、SPDロム25からのみSPD情報を読み出す場合、メモリモジュール20上のSPDロム25の故障、或いは、ベースボードの故障により、正しいメモリ仕様情報が取得できず、その結果、情報処理装置が立ち上がらない問題がある。また、メモリモジュールから読み出したSPD情報をBIOS情報にコピーして利用する場合、メモリモジュール20の寿命(EOL(End of Life))等により、搭載されるメモリの仕様変更があると、BIOS情報に含まれるSPD情報により示されるメモリモジュールの仕様と、実際のメモリモジュールの仕様とが合わない場合があり、情報処理装置が立ち上がらない問題がある。しかしながら、実施の形態にかかる情報処理システム1では、SPDロム25読み出した第1のSPD情報が利用できない場合に採用する第2のSPD情報がメモリチップ21〜24を最低限動作させることが可能なものであるため、上述するような起動不良を回避することができる。
【0025】
また、実施の形態にかかる情報処理システム1は、SMバスのリードエラーや、チェックサムエラーを表示部に通知する、或いは、ログに残す。これにより。実施の形態にかかる情報処理システム1は、工場での生産ラインや、検査ライン、及び、情報処理システムが用いられるフィールドで、メモリジュールに関連するエラーで立ち上げ不良が発生した場合であっても、ユーザーや検査員に故障情報を知らせることができ、被疑箇所の特定が容易になる。
【0026】
さらに、実施の形態にかかる情報処理システム1では、メモリモジュール20がベースボード上に直接取り付けられている状態でメモリーデバイスが寿命等で仕様の違うメモリチップを搭載となった場合であっても、装置を立ち上げることができる為、SPDロム25を交換することなく、SPDロム25を書き換えるツール等で、SPDロム25上の第1のSPD情報を書き換えることが可能となる。
【0027】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
【符号の説明】
【0028】
1 情報処理システム
10 CPU
11 メモリコントローラ
12 SMバスコントローラ
13 シリアルパラレルインタフェース
14 演算処理部
20 メモリモジュール
21 メモリチップ
22 メモリチップ
23 メモリチップ
24 メモリチップ
25 SPDロム
30 BIOSロム
31 BIOS情報
32 SPD情報
41 メモリーバス
42 SMバス
50 表示部
【要約】
【課題】従来の半導体装置では、メモリチップに付随して設けられるSPDデータが破損していた場合、システムの起動不良が発生する問題が生じる。
【解決手段】本発明の情報処理システムは、演算部が利用する主メモリを構成するメモリチップ21〜24に最適化されたアクセス処理設定値が記述される第1のSPD情報が格納されるSPD格納部25と、メモリチップ21〜24へのアクセス処理を実行するメモリコントローラ11と、メモリチップ21〜24が最低限動作するアクセス処理設定値であってメモリチップの種類によらず固定値となる第2のSPD情報と、を含むBIOS情報が格納されるBIOS格納部30と、を有し、演算部は、メモリコントローラ11の初期化処理において、読み出した第1のSPD情報が利用できないものである場合、第2のSPD情報を用いてメモリコントローラ11の初期化処理を行う。
【選択図】
図1