(57)【要約】【課題】電子機器において、搭載された主メモリに合わせた最適なメモリ設定ができるようにする。【解決手段】電子機器は、主記憶部と、主記憶部に対する複数の第１設定情報を記憶する第１記憶部と、主記憶部に対する設定情報であって、複数の第１設定情報の少なくとも一部に対応する第２設定情報を記憶する第２記憶部と、第２設定情報を第１設定情報より優先して設定する設定部と、設定部により設定された情報に基づいて主記憶部を制御する制御部と、を備える。【選択図】図１
2015072675.tif 000002
【特許請求の範囲】
【請求項１】
主記憶部と、
前記主記憶部に対する複数の第１設定情報を記憶する第１記憶部と、
前記主記憶部に対する設定情報であって、複数の前記第１設定情報の少なくとも一部に対応する第２設定情報を記憶する第２記憶部と、
前記第２設定情報を前記第１設定情報より優先して設定する設定部と、
前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部と、
を備える電子機器。
【請求項２】
前記設定部は、前記第２設定情報の設定が必要か否かを判断し、設定が必要でないと判断した場合は、前記第１設定情報を設定する、
請求項１に記載の電子機器。
【請求項３】
前記主記憶部および前記第２記憶部は、１のメモリモジュールに実装されている、
請求項１に記載の電子機器。
【請求項４】
プリント基板をさらに備え、
前記第２記憶部は前記プリント基板に対応する前記第２設定情報を記憶する、
請求項１に記載の電子機器。
【請求項５】
前記プリント基板を特定する特定情報をサーバ装置に送信し、前記サーバ装置が前記特定情報に応じて送信した前記第２設定情報を受信する送受信部をさらに備え、
前記第２記憶部は、前記送受信部により受信された前記第２設定情報を記憶する、
請求項４に記載の電子機器。
【請求項６】
前記第１設定情報は、ＪＥＤＥＣ（Joint  Electron  Device  Engineering  Council）で規定されるアクセスパラメータであり、
前記第２設定情報は、ＪＥＤＥＣで規定されないアクセスパラメータである、
請求項１に記載の電子機器。
【請求項７】
前記主記憶部および前記第２記憶部は、１のＤＩＭＭ（Dual  Inline  Memory  Module）に実装され、
前記第２記憶部は、ＪＥＤＥＣで規定されないアクセスパラメータを記憶するＳＰＤ（Serial  Presence  Detect）記憶部である、または、前記ＳＰＤ記憶部と前記ＳＰＤ記憶部とは別の記憶部である、
請求項１に記載の電子機器。
【請求項８】
主記憶部と、前記主記憶部に対する複数の第１設定情報を記憶する第１記憶部と、前記主記憶部に対する設定情報であって、複数の前記第１設定情報の少なくとも一部に対応する第２設定情報を記憶する第２記憶部と、を備える電子機器における制御方法であって、
前記第２設定情報を前記第１設定情報より優先して設定する設定ステップと、
前記設定ステップにより設定された情報に基づいて前記主記憶部を制御する制御ステップと、
を含む制御方法。
【請求項９】
主記憶部と、前記主記憶部に対する複数の第１設定情報を記憶する第１記憶部と、前記主記憶部に対する設定情報であって、複数の前記第１設定情報の少なくとも一部に対応する第２設定情報を記憶する第２記憶部と、を備えるコンピュータを、
前記第２設定情報を前記第１設定情報より優先して設定する設定部と、
前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器、制御方法およびプログラムに関する。
【背景技術】
【０００２】
ＰＣ等の画像処理装置、複合機などの画像形成装置などを含め、一般の電子機器では、ＤＲＡＭ（Dynamic  Random  Access  Memory）などのメモリを備えたメモリモジュール、例えばＰＣＢ（プリント回路基板；Printed  Circuits  Board）を搭載して、これをＣＰＵやＡＳＩＣ（Application  Specific  Integrated  Circuit）に接続した構造が採用されている。このようなメモリモジュールにおいて、メモリが変更されている場合には、メモリが正常に動作できるようにその都度初期化が行われる。
一般に、メモリの初期化は、実装されたメモリに関するデフォルトのＳＰＤ（Serial  Presence  Detect）のスペック情報（ＳＰＤ情報という）、例えばＲｏｗおよびＣｏｌｕｍｎアドレスサイズなどに基づき、設定プログラムであるＢＩＯＳ（Basic  Input  Output  System）がフラッシュ（Flash）ＲＯＭからアクセスパラメータを読み出してメモリコントローラに設定することで行われる。ＳＰＤは、ＪＥＤＥＣ（Joint  Electron  Device  Engineering  Council）で規定される規格である。
また、メインメモリとしてＳＰＤＲＯＭ（Serial  Presence  Detect  Read  Only  Memory）が実装されている組み込み型のシステムにおいては、メモリのバージョンアップ等により、ＢＩＯＳで読み出す予め記憶されているデフォルトのアクセスパラメータでは対応できないときは、ＳＰＤＲＯＭからメインメモリのバージョンアップ後のアクセスパラメータを読み出して、メモリコントローラに設定することが行われている（特許文献１段落「０００２」参照）。
【０００３】
しかし、ＤＲＡＭは、短期間でシュリンク（半導体チップのサイズの縮小）を繰り返すデバイスであるため、時間が経つに従って開発時に対象としたＤＲＡＭの特性が変化することがある。そのため、従来の、メインメモリであるＳＰＤＲＯＭからバージョンアップ後のアクセスパラメータを読み出してメモリコントローラに設定する方法では、波形またはタイミングの品質悪化が発生し、起動できなくなる、または予期せぬ動作をするなどの問題が起こり得る。
【０００４】
また、例えば、ＤＲＡＭの生産中止やコストなどの理由で、今まで使っていたＤＲＡＭベンダーを変更したいという場合には、ＤＲＡＭの設定情報（以下、設定値ともいう）を記録したフラッシュＲＯＭのＢＩＯＳも変更する必要がある。メモリ側の変更とソフト（ＢＩＯＳ）側の変更を同時に行うことは、例えば、メモリモジュールであるＤＩＭＭ（Dual  Inline  Memory  Module）とメモリモジュールに搭載されたメモリ（ＤＲＡＭ）の設定値を記録するレジスタを搭載したＣＴＬボードの生産地が違う場合などの理由があり、必ずしも容易ではない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、搭載された主メモリに合わせた最適なメモリ設定ができるようにすることである。
【課題を解決するための手段】
【０００６】
本発明は、主記憶部と、前記主記憶部に対する複数の第１設定情報を記憶する第１記憶部と、前記主記憶部に対する設定情報であって、複数の前記第１設定情報の少なくとも一部に対応する第２設定情報を記憶する第２記憶部と、前記第２設定情報を前記第１設定情報より優先して設定する設定部と、前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部と、を備える電子機器である。
【発明の効果】
【０００７】
本発明によれば、搭載された主メモリに合わせた最適なメモリ設定ができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る電子機器（メモリシステム）の基本構造を示す図である。
【図２】本実施形態に係る電子機器（メモリシステム）の機能構成例を示す機能ブロック図である。
【図３】従来の方法における、設定値をメモリコントローラに設定する制御の基本概念を説明する図である。
【図４】本実施形態における、設定値をメモリコントローラに設定する制御の基本概念を説明する図である。
【図５】メモリコントローラのＤＲＡＭ  ＣＴＬレジスタの構造の一例を説明する図である。
【図６】従来の設定方法と本実施形態の設定方法により、それぞれの設定値が異なることについて説明する図である。
【図７】本実施形態の主メモリの設定値の設定動作の一例を示すフローチャートである。
【図８】本実施形態の主メモリの設定値の設定動作の他の例を示すフローチャートである。
【図９】本実施形態の変形例に係る電子機器（メモリシステム）の基本構造を示す図である。
【図１０】本実施形態の本変形例に係る電子機器（メモリシステム）の機能構成例を示す機能ブロック図である。
【発明を実施するための形態】
【０００９】
本実施形態の電子機器は、例えば主メモリに搭載されるＤＲＡＭ（主記憶部）の初期化制御時に、搭載されたＤＲＡＭの設定値（アクセスパラメータ）を、デフォルトの設定値を記憶する記憶部（第１記憶部）と異なる記憶部（第２記憶部）から読み込む。例えば、主メモリに、開発当初からシュリンクを繰り返して特性が大きく異なるメモリ（主記憶部）であるＤＲＡＭが搭載されている場合、つまり、ＤＲＡＭのスペック変更がなされた場合であっても、搭載されたＤＲＡＭの設定値（アクセスパラメータ）をそのスペック情報を記録したＳＰＤメモリ（第２記憶部に相当）から読み込む。これにより、搭載された主メモリに合わせた最適なメモリ設定が可能となる。
以下、図面を参照して説明する。
【００１０】
図１は、本実施形態に係る、スペック変更後の主メモリの初期化を実施するためのメモリシステムの基本構造を示す図である。メモリシステムは電子機器の一例である。電子機器は、メモリシステムを含む機器であればどのような機器であってもよい。例えば、一般的なパーソナルコンピュータとして本実施形態の電子機器（メモリシステム）を実現できる。
本メモリシステム１は、図示のように、ＣＰＵ１０と、ＤＩＭＭ２０（メモリモジュール）と、フラッシュメモリ３０（第１記憶部）と、を備えている。ＣＰＵ１０は、メモリコントローラ（制御部、ＭＥＭＣ）１０（１）を備える。ＣＰＵ１０の機能の一部または全部をＡＳＩＣにより実現してもよい。ＤＩＭＭ２０およびフラッシュメモリ３０は、それぞれＣＰＵ１０に接続される。例えばＤＩＭＭ２０は、ＤＲＡＭバス２、Ｉ２Ｃバス３を介してＣＰＵ１０に接続される。ＤＩＭＭ２０は、ＤＲＡＭ２２（主記憶部）と、ＳＰＤメモリ２４（第２記憶部、ＳＰＤ記憶部）と、を備える。フラッシュメモリ３０は、ＤＲＡＭ２２の設定値と、設定プログラムであるＢＩＯＳと、を記憶する。ＳＰＤメモリ２４は、ＤＲＡＭ２２のスペック情報と、ＤＲＡＭ２２の設定値と、を記憶する。
なお、本メモリシステム１は、図１の構成に限定されるものではない。例えば、メモリモジュールは、マザーボード等にオンボードで実装されてもよい。また第２記憶部は、ＳＰＤメモリ２４の一部または全部の代わりに、他の不揮発性メモリを用いてもよい。
【００１１】
図２は、本実施形態に係る電子機器（メモリシステム）の機能構成例を示す機能ブロック図である。図２に示すように、メモリシステム１は、主な機能構成として、取得部１０１と、特定部１０２と、設定部１０３と、メモリコントローラ１０（１）と、を備えている。
【００１２】
取得部１０１は、フラッシュメモリ３０およびＳＰＤメモリ２４などの記憶部から各種情報を取得する（読み込む）。例えば、取得部１０１は、ＳＰＤメモリ２４からＳＰＤ情報を取得する。フラッシュメモリ３０からアクセスパラメータなどの情報を読み出す機能は、ＢＩＯＳにより実現してもよい。
【００１３】
特定部１０２は、例えばＳＰＤ情報を参照して、１以上の設定対象のうち適用する設定対象を特定する。設定対象とは、メモリコントローラ１０（１）に設定する設定値の組み合わせを定めた情報である。以下では設定Ａおよび設定Ｂの２つの設定対象を用いる例を説明する。設定対象の個数は２に限られるものではなく、１個であってもよいし、３個以上であってもよい。特定部１０２は、例えば設定Ａおよび設定Ｂのうち、ＳＰＤ情報が示すスペックに対応する設定対象を特定する。
【００１４】
設定部１０３は、メモリコントローラ１０（１）に対して設定値を設定することにより、メモリコントローラ１０（１）を初期化する。このとき、設定部１０３は、特定された設定対象で定められる設定値（第１設定情報）より、ＳＰＤメモリ２４に記憶された設定値（第２設定情報）を優先して設定する。設定部１０３による設定処理の詳細は後述する。
【００１５】
メモリコントローラ１０（１）は、設定された設定値に基づいてＤＲＡＭ２２の動作を制御する。
【００１６】
なお、図２に示す各部は、例えば、ＣＰＵ１０にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＡＳＩＣなどのハードウェア回路により実現してもよいし、ソフトウェアおよびハードウェア回路を併用して実現してもよい。以下では、ＣＰＵ１０にプログラムを実行させることにより図２の各部を実現する場合を例に説明する。
【００１７】
図３は、本実施形態と対比するため、従来の方法における、スペック変更後の主メモリ（ＤＲＡＭ２２）の初期化のために設定値をメモリコントローラに設定する制御の基本概念を説明する図である。
メモリ素子、ここではＳＰＤメモリ２４には、図３右側に示すデータ５１（ＤＲＡＭ２２のスペック情報であるＪＥＤＥＣ規定のＳＰＤ情報）が記録されている。データ５１は、バイト番号（Byte  Number）と、バイト番号に対応する機能説明（Function  Described）を含む。例えばデータ５１のバイト番号０には、シリアルなＰＤバイト番号（Number  of  Serial  PD  Bytes  written）、ＳＰＤ装置サイズ（SPD  Device  Size）、ＣＲＣカバー範囲（CRC  Coverage）が記録される。バイト番号１には、ＳＰＤの改定情報（SPD  Revision）が記録される。バイト番号２には、キーバイト（Key  Byte）、ＤＲＡＭ装置のタイプ（DRAM  Device  Type）が記録される。バイト番号１７６〜２５５には、カスタマー使用のための自由領域（Open  for  customer  use）が存在する。
データ５２は、ＣＰＵ１０内のメモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬレジスタに記憶されるデータを表す。データ５２には、各レジスタＭＥＭＣ＿１〜ＭＥＭＣ＿＊ごとに、それぞれ設定された設定値データが記録されている。
データ５３は、フラッシュメモリ３０内のＤＲＡＭレジスタに記憶されるデータを表す。データ５３には、設定対象として設定Ａと設定Ｂが記録されており、それぞれに図示の設定値が記録されている。
【００１８】
以上の構成において、取得部１０１は、ＳＰＤメモリ２４内のデータ（ＳＰＤ情報）を読み取る。このデータは、例えば、ＤＲＡＭ２２の容量、バス幅、および、ランク数などのスペック情報を含む。特定部１０２は、このようなスペック情報を参照し、フラッシュメモリ３０内のＤＲＡＭレジスタに記憶されている設定対象のうち、いずれの設定対象の設定値により設定を行うのか（図示例では、設定ＡかＢか）を決定する。取得部１０１は、この決定に従い、設定Ａまたは設定Ｂの設定値（アクセスパラメータ）をフラッシュメモリ３０から読み出す。設定部１０３は、読み出された設定値を、メモリコントローラ１０（１）、具体的にはそのレジスタ（ＤＲＡＭ  ＣＴＬレジスタ）に設定する。この例では、フラッシュメモリ３０中の設定Ａの設定値が設定されている。
【００１９】
このような方法では、ＤＲＡＭ２２のスペックに応じて２つの設定対象のうち、より適する設定対象を特定し、特定した設定対象で定められる設定値を設定できる。しかし、各設定対象に対して定められる設定値は、例えばＳＰＤで規定される設定値に限定される。このため、例えばＳＰＤで規定されていない設定値を設定することができない。また、各設定対象には、特定のスペックに応じた固定の設定値が定められる。従って、例えば設定対象に対して定められる複数の設定値のうち一部の設定値のみを変更することができない。このため、搭載された主メモリに合わせた最適なメモリ設定ができない可能性が生じうる。
【００２０】
次に、本実施形態における、主メモリ（ＤＩＭＭ２０中のＤＲＡＭ２２）の初期化のため、設定値をメモリコントローラ１０（１）に設定する制御の基本概念を説明する。
図４は、本実施形態における、スペック変更後の主メモリ（自社製ＤＩＭＭ２０中のＤＲＡＭ２２）の初期化のため、設定値をメモリコントローラ１０（１）に設定する制御の基本概念について説明する図である。
各レジスタ、即ち、ＳＰＤメモリ２４内のデータレジスタ、メモリコントローラ１０（１）内のＤＲＡＭ  ＣＴＬレジスタ、フラッシュメモリ３０内のＤＲＡＭレジスタは、図３に示すものと同じである。但し、各レジスタに記憶されるデータは図３と異なる。例えば、ＳＰＤメモリ２４内のデータレジスタは、データ６１を記憶する。メモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬレジスタは、データ６２を記憶する。フラッシュメモリ３０内のＤＲＡＭレジスタは、データ６３を記憶する。データ６１のバイト番号１１７、１１８には、モジュール製造ＩＤコード（Module  Manufacturing  ID  Code）が記憶されている。また、バイト番号１７６〜２５５のカスタマー使用のための自由領域（Open  for  customer  use）には、図示例では、自社製のＤＩＭＭ２０のキーコード（Key  code）や設定値が記憶されている。自由領域に記憶される設定値は、例えばＪＥＤＥＣで規定されていないアクセスパラメータ（以下、ＪＥＤＥＣ非規定アクセスパラメータという）である。
【００２１】
即ち、本実施形態のアクセスパラメータには、従来のＪＥＤＥＣで規定されたＳＰＤ情報で定まるアクセスパラメータ（以下、ＪＥＤＥＣ非規定アクセスパラメータと対比するためにＪＥＤＥＣ規定アクセスパラメータという）と、ＪＥＤＥＣ非規定アクセスパラメータが含まれる。なお、図４の例では、ＭＥＭＣ＿１−１〜ＭＥＭＣ＿１−４（各８ビット）の４つで１セットとなっている。１セットは、フラッシュメモリ３０内のＤＲＡＭレジスタの一つの設定値（３２ビット）に該当する。
【００２２】
取得部１０１は、ＳＰＤメモリ２４内のデータを読み込む。設定部１０３は、読み込んだデータの中に自社製のＤＩＭＭ２０のキーコードに該当する値（キーコード）が記録されているか否かを判断する。ここで、該当する値が記録されているときは、特定部１０２は、そのＳＰＤメモリ２４内のＤＩＭＭ２０の容量、バス幅、および、ランク数などのスペック情報から、フラッシュメモリ３０内に記憶されている設定対象のうち、いずれの設定対象の設定値により設定を行うのか（図４の例では設定Ａまたは設定Ｂ）を決定する。それと共に設定部１０３は、ＳＰＤメモリ２４に記録されているＪＥＤＥＣ非規定アクセスパラメータ中の設定値（ＭＥＭＣ＿＊）を、フラッシュＲＯＭ（フラッシュメモリ３０内のＤＲＡＭレジスタ）に記録されたＪＥＤＥＣ規定アクセスパラメータ中の設定値より優先させてメモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬのレジスタに設定する。
【００２３】
フラッシュメモリ３０は、ＤＲＡＭ２２に対する複数の設定値を記憶する記憶部（第１記憶部）に相当する。例えば設定Ａおよび設定Ｂそれぞれに含まれる各レジスタＭＥＭＣ＿１〜ＭＥＭＣ＿＊に対応する値が、複数の設定値に相当する。ＳＰＤメモリ２４は、ＤＲＡＭ２２に対する設定値であって、フラッシュメモリ３０に記憶される設定値の少なくとも一部に対応する設定値を記憶する記憶部（第２記憶部）に相当する。
【００２４】
ＪＥＤＥＣ非規定アクセスパラメータ中の設定値は、メモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬレジスタに設定する設定値の一部であってもよいし、全部であってもよい。一部の設定値とする場合は、ＳＰＤメモリ２４に記録される設定値（ＪＥＤＥＣ非規定アクセスパラメータ）だけでは、メモリコントローラ１０（１）に設定する全ての設定値をカバーすることは困難である。そのため、特定部１０２は、ＳＰＤ情報（スペック情報）に基づきフラッシュメモリ３０（フラッシュＲＯＭ）に記録されたＪＥＤＥＣ規定アクセスパラメータの設定対象のうち１つ（設定Ａまたは設定Ｂ）を特定する。そして取得部１０１は、特定した設定対象の設定値も読み出す。設定部１０３は、ＳＰＤメモリ２４から読み出した設定値と、フラッシュメモリ３０から読み出した設定値と、を比較する。両者の設定値に差異があれば、設定部１０３は、ＳＰＤメモリ２４に記録されているＪＥＤＥＣ非規定アクセスパラメータ中の設定値をメモリコントローラ１０（１）（ＤＲＡＭ  ＣＴＬレジスタ）に優先的に設定する。
【００２５】
また、本実施形態では、ＳＰＤメモリ２４内の設定値は自由領域に記録されているが、設定値の記録領域はこの領域に限定されない。また、ＳＰＤメモリ２４内の設定値の設定が必要か否かの判断についても、自社製のＤＩＭＭ２０のキーコードで判断する方法に限られない。例えば、ＳＰＤメモリ２４内に設定すべきデータ（ＪＥＤＥＣ非規定アクセスパラメータ）があるか否かで判断してもよい。
さらに、本実施形態による設定値の設定を実施するためには、当然のことではあるが、その前提として、ＳＰＤメモリ２４内には、タイミング調整やＯＤＴ（On  Die  Termination）の抵抗値など、ＤＲＡＭ２２が変わることで変更する可能性のある設定値を記録しておく必要がある。
【００２６】
図５は、メモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬレジスタの一例についてその構造を説明する図である。
メモリコントローラ１０（１）のＤＲＡＭ  ＣＴＬレジスタには、例えばＭＥＭＣ＿３というレジスタがある。ＭＥＭＣ＿３レジスタは、例えば図５に示す構造になっている。
即ち、図示のように、ＤＲＡＭ  ＣＴＬレジスタ内の、ビット２６−２４（odt＿impset（On  Die  Termination＿インピーダンスセット））には、ＯＤＴ（On  Die  Termination）インピーダンスのキャリブレーション（Calibration；補正）目標値（Target）が設定されている。ビット２６−２４には、例えば、以下のようにビットの値が設定される：
００１ｂ＝１２０Ω
０１０ｂ＝６０Ω
０１１ｂ＝４０Ω
１００ｂ＝３４Ω
上記以外＝設定禁止
【００２７】
ビット１７−１６（dq＿dqs＿impset（データストローブ＿データストローブ信号＿インピーダンスセット））には、ＤＱ（データストローブ）またはＤＱＳ（データストローブ信号）のドライバインピーダンスが設定されている。ビット０９−０８（cmd＿impset（コマンド端子＿インピーダンスセット））には、ＣＭＤ（コマンド端子）のマクロのドライバインピーダンスが設定されている。ビット０１−００（ck＿impset（クロック＿インピーダンスセット））には、ＣＫ（クロック）のドライバインピーダンスがそれぞれ設定される。ビット１７−１６、ビット０９−０８、および、ビット０１−００それぞれには、例えば、以下のようにビットの値が設定される：
００ｂ＝６０Ω
０１ｂ＝４８Ω
１０ｂ＝４０Ω
１１ｂ＝３４Ω
【００２８】
図６は、主メモリ（ＤＲＡＭ２２）の初期化のため、設定値をメモリコントローラ１０（１）に設定する方法について、従来の設定方法と本実施形態の設定方法で、それぞれの設定値が異なることについて説明する図である。
ここでは、図３に示した従来のＤＩＭＭ２０中のＤＲＡＭ２２の設定方法と図４に示した本実施形態のＤＩＭＭ２０中のＤＲＡＭ２２の設定をベースに、ＭＥＭＣ＿３レジスタの設定値を例に、本実施形態の適用前後の設定値の変更について説明する。
図３に示した従来のＤＩＭＭ２０中のＤＲＡＭ２２の設定値は、図６のビフォアデータ（Before＿Data）欄に示されている。即ち、ＣＰＵ１０内のメモリコントローラ１０（１）内のＤＲＡＭ  ＣＴＬレジスタの設定値は、設定ＢのＭＥＭＣ＿３レジスタの設定値：0x04030303であり、その抵抗値はそれぞれ図６のビフォアデータの欄に示されている。
【００２９】
また、図４に示した本実施形態のＤＩＭＭ２０中のＤＲＡＭ２２の設定値は、図６のアフタデータ（After＿Data）欄に示されている。即ち、ＣＰＵ１０内のメモリコントローラ１０（１）内のＭＥＭＣ＿３レジスタの設定値：0x04010103である。ＣＰＵ１０（メモリコントローラ１０（１））内のＤＲＡＭ  ＣＴＬレジスタの設定された抵抗値は、図６のアフタデータ欄に示されている。
その両者を対比すると、odt＿impsetは、ビフォアデータとアフタデータで変わらず、３４Ωである。dq＿dqs＿impsetは、ビフォアデータでは、３４Ωであるのに対し、アフタデータでは、４８Ωである。cmd＿impsetは、ビフォアデータでは３４Ωであるのに対し、アフタデータでは、４８Ω（０１ｂ）である。ck＿impsetはビフォアデータとアフタデータで変わらず、３４Ωである。
このように、本実施形態では、ＳＰＤメモリ２４に記録したＪＥＤＥＣ非規定アクセスパラメータによって、ＤＩＭＭ２０の設定値の抵抗値などの設定変更を行うことができる。
【００３０】
図７は、本実施形態の主メモリの設定値の設定動作フローについて説明する図である。
即ち、図４に示すメモリシステム１において、電源がオンされると（Ｓ１０１）、ＣＰＵ１０が初期化する（Ｓ１０２）。次に、ＣＰＵ１０で実行される取得部１０１は、ＳＰＤメモリ２４からＳＰＤ情報（メモリのスペック情報）を取得する（Ｓ１０３）。特定部１０２は、このＳＰＤ情報に基づき設定対象（設定Ａまたは設定Ｂ）を特定する（Ｓ１０４）。次に取得部１０１は、特定した設定対象に該当する設定値（ＪＥＤＥＣ規定アクセスパラメータ）をフラッシュメモリ３０内のＤＲＡＭレジスタから読み出す。また設定部１０３は、ＳＰＤメモリ２４に記録された設定値（ＪＥＤＥＣ非規定アクセスパラメータ）と併せてメモリコントローラ１０（１）（ＤＲＡＭ  ＣＴＬレジスタ）に設定して（Ｓ１０５）、この処理を終了する。
なお、既に述べたように、ＪＥＤＥＣ非規定アクセスパラメータの設定値と、ＢＩＯＳでフラッシュメモリ３０内のＤＲＡＭレジスタから読み出したＪＥＤＥＣ規定アクセスパラメータの設定値が一致していないときは、設定部１０３は、ＪＥＤＥＣ非規定アクセスパラメータを優先して設定する。
【００３１】
図８は、アクセスパラメータの変更が必要であるか否かを判断し、不要と判断したときに、ＳＰＤメモリ２４からＪＥＤＥＣ規定アクセスパラメータに基づいたデフォルトの設定値を設定する場合の設定処理の動作手順を示すフロー図である。
即ち、図４に示すメモリシステム１において、電源がオンされると（Ｓ２０１）、ＣＰＵ１０が初期化する（Ｓ２０２）。次に、ＣＰＵ１０で実行される設定部１０３は、ＳＰＤメモリ２４のデータは自社製であることを示しているか否かを判断する（Ｓ２０３）。設定部１０３は、例えばＳＰＤ情報内の製造元を識別する情報を参照して、ＤＲＡＭ２２が自社製であるか否かを判断する。自社製であれば（Ｓ２０３、ＹＥＳ）、特定部１０２は、ＳＰＤメモリ２４のキーコードの値は、自社製に該当する値か否かを判断する（Ｓ２０４）。自社製に該当する値であれば（Ｓ２０４、ＹＥＳ）、取得部１０１は、ＳＰＤメモリ２４内のＳＰＤ情報を取得する（Ｓ２０５）。特定部１０２は、取得されたＳＰＤ情報から設定対象を特定する（Ｓ２０６）。次に取得部１０１は、特定した設定値（ＪＥＤＥＣ規定アクセスパラメータ）をフラッシュメモリ３０内のＤＲＡＭレジスタから読み出す。設定部１０３は、読み出した設定値をＳＰＤメモリ２４にある設定値（ＪＥＤＥＣ非規定アクセスパラメータ）と併せて、メモリコントローラ１０（１）（ＤＲＡＭ  ＣＴＬレジスタ）に設定し（Ｓ２０７）、この処理を終了する。
【００３２】
ステップＳ２０３でＳＰＤメモリ２４のデータが自社製を示していないとき（Ｓ２０３、ＮＯ）、およびステップＳ２０４でＳＰＤメモリ２４のキーコードが自社製に該当する値でないときは（Ｓ２０４、ＮＯ）、取得部１０１は、ＳＰＤメモリ２４からＳＰＤ情報（スペック情報）を取得する（Ｓ２０８）。特定部１０２は、取得されたＳＰＤ情報から設定対象（設定Ａまたは設定Ｂ）を特定する（Ｓ２０９）。取得部１０１は、特定した設定値（ＪＥＤＥＣ規定アクセスパラメータ）をフラッシュメモリ３０内のＤＲＡＭレジスタから読み出す。設定部１０３は、読み出した設定値をメモリコントローラ１０（１）（ＤＲＡＭ  ＣＴＬレジスタ）に設定し（Ｓ２１０）、この処理を終了する。
【００３３】
（変形例）
図９は、主メモリの初期化を実施するための電子機器の変形例であるメモリシステム１’の基本構造を示す図である。
本変形例に係るメモリシステム１’は、基本的には、図１に示したものと同じであるが、ＣＰＵ１０は、ネットワーク接続用のインタフェースを備え、ネットワーク４０で図示しないサーバ（サーバ装置）に接続されている。本変形例のメモリシステム１’は、このインタフェースを介してサーバからファームウェアを取得して更新するファームウェアアップデート機能を有する。ネットワーク４０は、インターネットなどの、どのようなプロトコルのネットワークであってもよい。またネットワーク４０は、有線ネットワークでも無線ネットワークでもよい。
【００３４】
図１０は、本変形例に係る電子機器（メモリシステム）の機能構成例を示す機能ブロック図である。本変形例では、送受信部１０４を追加したことが上記実施形態と異なっている。その他の構成および機能は、上記実施形態のブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００３５】
送受信部１０４は、サーバなどの外部装置との間で各種情報を送受信する。例えば送受信部１０４は、メモリシステム１’が備えるプリント基板（図示せず）を特定する特定情報をサーバに送信し、サーバが特定情報に応じて送信したアクセスパラメータを受信する。例えば設定部１０３は、受信されたアクセスパラメータをＳＰＤメモリ２４に記憶する。例えば同じベンダーであっても、構成が異なるプリント基板が提供される場合がある。特定情報は、例えば、構成が異なるプリント基板のいずれであるかを特定する情報である。
【００３６】
このように本変形例のメモリシステム１’は、主メモリのＤＲＡＭ２２に不具合などが発生した場合には、ネットワーク４０を介してサーバ側からＳＰＤメモリ２４のアクセスパラメータ（但しＪＥＤＥＣ非規定アクセスパラメータ）を取得する。本メモリシステム１’は、取得したＪＥＤＥＣ非規定アクセスパラメータに基づき自動でＳＰＤメモリ２４のＪＥＤＥＣ非規定アクセスパラメータを更新できるようにしている。
【００３７】
即ち、電子機器のＣＰＵ１０からソフトウェアでプリント基板（但し、ＣＰＵまたはＡＳＩＣを備えたプリント基板）を特定する特定情報をサーバ側に送信する。サーバ側では該当するＤＲＡＭのＪＥＤＥＣ非規定アクセスパラメータを返信する。設定部１０３は、サーバから受け取ったＪＥＤＥＣ非規定アクセスパラメータをメモリコントローラ１０（１）に設定する。その設定の仕方は既に説明したものと同様である。
【００３８】
以上、本実施形態によれば、主メモリのＤＲＡＭ構成情報を記録したＳＰＤメモリの空き領域に、ＤＲＡＭの変更に係る設定値が記録される。起動時にＳＰＤメモリに記録されている設定値がＣＰＵまたはＡＳＩＣのＤＲＡＭに関するメモリコントローラ内のＤＲＡＭ  ＣＴＬレジスタに設定される。変更部分はＳＰＤメモリのＪＥＤＥＣ非規定アクセスパラメータの設定値を用いることで、ＤＲＡＭがシュリンクを繰り返しても、ＤＩＭＭ（ＤＲＡＭ）の常に適正な初期設定ができる。
【００３９】
本実施形態によれば、波形およびタイミング以外にもリフレッシュ期間やＺＱキャリブレーション（外部端子のインピーダンス調整）の期間などの設定など、様々な設定が可能であるので、特定のＤＲＡＭの不具合回避などにも適用することができる。
【００４０】
以下、本実施形態とその更なる利点について示す。
（１）設定部は、ＪＥＤＥＣ非規定のＳＰＤ情報であるアクセスパラメータの変更が必要か否かを判断し、不要と判断したときは、ＪＥＤＥＣ規定のＳＰＤ情報で定まる設定対象（設定Ａまたは設定Ｂ）に含まれる設定値を、メモリコントローラに設定する。
そのため、ＳＰＤメモリにＪＥＤＥＣ非規定のアクセスパラメータが記録されていない場合にも、主メモリを動作できる。すなわち、どのようなメモリモジュール（ＤＩＭＭ）を備える電子機器であっても動作させることができる。
【００４１】
（２）主メモリのＪＥＤＥＣ非規定のＳＰＤ情報であるアクセスパラメータをＳＰＤメモリに記録するため、本実施形態を、既存の構成で実現できる。そのため、追加の開発や、メモリ追加コストが発生しない。
（３）主メモリとＳＰＤメモリ（第２記憶部）は、同じＤＩＭＭ上にあるため、取り外し可能なＤＩＭＭとすることで、その都度最適なパラメータを設定できる。
（４）アクセスパラメータを記録するメモリとして、ＳＰＤメモリに加え、ＤＩＭＭに実装された別のメモリを用いることができる。
これにより、アクセスパラメータ容量を増やすことができ、ＳＰＤメモリだけでは容量が不足する場合には増設したメモリにもアクセスパラメータを記憶することができる。
【００４２】
（５）電子機器がプリント基板（ＰＣＢまたはＰＷＢ（Printed  Wiring  Board））を備えている場合は、プリント基板の製造元（ベンダー）を識別する情報（データ）を取得し、その情報に基づきＳＰＤメモリに記憶するデータ（アクセスパラメータ）を取得することもできる。
例えばプリント基板を２社のマルチベンダーとする場合に、プリント基板がどちらのベンダーかによって設定値が変わってくることがある。このため、ＳＰＤメモリにベンダー毎に二種類の設定値を記録しておく。メモリシステムは、例えばコンフィグピンで、どちらのベンダーのプリント基板かを判断し、その判断に基づきＳＰＤから該当するデータを取得する。これにより、ＤＲＡＭ以外の変更要因にも対応することができる。プリント基板のマルチベンダー化の要望に対しても対応可能である。
【００４３】
（６）本実施形態の電子機器は、ネットワーク経由で主メモリの設定情報を含む、ＪＥＤＥＣ非規定アクセスパラメータを取得し、取得したＪＥＤＥＣ非規定アクセスパラメータで、設定情報をアップデートする。
これにより、ファームウェアアップデートを利用して、ＤＲＡＭ不具合などが発生した場合には、自動でＳＰＤ内のデータのパラメータデータ（ＪＥＤＥＣ非規定アクセスパラメータ）が更新される。その際に、電子機器は、例えばプリント基板を特定する特定情報をサーバ側に送信し、サーバ側は該当するＤＲＡＭのアクセスパラメータ（ＪＥＤＥＣ非規定アクセスパラメータ）を返信する。プリント基板はサーバから受け取ったパラメータをメモリコントローラに設定する。つまり、電子機器本体のファームウェアの更新が必要と判断された場合、自動的にインターネット経由で最新のファームウェアをダウンロードし、電子機器本体のファームウェアを自動更新できる。ファームウェアを迅速に最新の状態にすることで、最適な機器状態を維持し、故障の未然防止を図ることができる。
そのため、電子機器が市場に出てからもファームウェアを更新できるため、不具合対応が容易である。設定情報をアップデートできる構成の場合、ＤＩＭＭの外部のメモリ（例えばフラッシュメモリ）にアクセスパラメータを記録してもよい。
【００４４】
以上、本実施形態について、電子機器の主メモリのスペックを変更した場合に行う、主メモリの初期化のための設定を、それぞれＪＥＤＥＣで規定する（つまり、ＪＥＤＥＣによって定められた規格に準拠した）ＳＰＤ情報およびそのＳＰＤ情報で定まるアクセスパラメータ（設定値）を例に説明した。適用可能な設定は、必ずしもＪＥＤＥＣで規定するものに限定されない。即ち、前述のＪＥＤＥＣ規定アクセスパラメータは、主メモリのデフォルト値を設定する設定値（デフォルトの設定値）であればよく、ＪＥＤＥＣ非規定アクセスパラメータは、主メモリのスペックを変更した際に、スペック変更後の主メモリのスペック情報に基づく設定値であればよい。
【符号の説明】
【００４５】
１・・・メモリシステム、１０・・・ＣＰＵ、１０（１）・・・メモリコントローラ、２０・・・ＤＩＭＭ、２２・・・ＤＲＡＭ、２４・・・ＳＰＤメモリ、３０・・・フラッシュメモリ、４０・・・ネットワーク。
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００９−１１０４２９号公報
【図１】
2015072675.tif 000003
【図２】
2015072675.tif 000004
【図３】
2015072675.tif 000005
【図４】
2015072675.tif 000006
【図５】
2015072675.tif 000007
【図６】
2015072675.tif 000008
【図７】
2015072675.tif 000009
【図８】
2015072675.tif 000010
【図９】
2015072675.tif 000011
【図１０】
2015072675.tif 000012