JP6524618B2 - 電子機器、制御方法およびプログラム - Google Patents

電子機器、制御方法およびプログラム Download PDF

Info

Publication number
JP6524618B2
JP6524618B2 JP2014146800A JP2014146800A JP6524618B2 JP 6524618 B2 JP6524618 B2 JP 6524618B2 JP 2014146800 A JP2014146800 A JP 2014146800A JP 2014146800 A JP2014146800 A JP 2014146800A JP 6524618 B2 JP6524618 B2 JP 6524618B2
Authority
JP
Japan
Prior art keywords
setting
setting information
storage unit
memory
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014146800A
Other languages
English (en)
Other versions
JP2015072675A (ja
Inventor
勇輝 砂川
勇輝 砂川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014146800A priority Critical patent/JP6524618B2/ja
Priority to US14/477,952 priority patent/US20150074359A1/en
Publication of JP2015072675A publication Critical patent/JP2015072675A/ja
Application granted granted Critical
Publication of JP6524618B2 publication Critical patent/JP6524618B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

本発明は、電子機器、制御方法およびプログラムに関する。
PC等の画像処理装置、複合機などの画像形成装置などを含め、一般の電子機器では、DRAM(Dynamic Random Access Memory)などのメモリを備えたメモリモジュール、例えばPCB(プリント回路基板;Printed Circuits Board)を搭載して、これをCPUやASIC(Application Specific Integrated Circuit)に接続した構造が採用されている。このようなメモリモジュールにおいて、メモリが変更されている場合には、メモリが正常に動作できるようにその都度初期化が行われる。
一般に、メモリの初期化は、実装されたメモリに関するデフォルトのSPD(Serial Presence Detect)のスペック情報(SPD情報という)、例えばRowおよびColumnアドレスサイズなどに基づき、設定プログラムであるBIOS(Basic Input Output System)がフラッシュ(Flash)ROMからアクセスパラメータを読み出してメモリコントローラに設定することで行われる。SPDは、JEDEC(Joint Electron Device Engineering Council)で規定される規格である。
また、メインメモリとしてSPDROM(Serial Presence Detect Read Only Memory)が実装されている組み込み型のシステムにおいては、メモリのバージョンアップ等により、BIOSで読み出す予め記憶されているデフォルトのアクセスパラメータでは対応できないときは、SPDROMからメインメモリのバージョンアップ後のアクセスパラメータを読み出して、メモリコントローラに設定することが行われている(特許文献1段落「0002」参照)。
しかし、DRAMは、短期間でシュリンク(半導体チップのサイズの縮小)を繰り返すデバイスであるため、時間が経つに従って開発時に対象としたDRAMの特性が変化することがある。そのため、従来の、メインメモリであるSPDROMからバージョンアップ後のアクセスパラメータを読み出してメモリコントローラに設定する方法では、波形またはタイミングの品質悪化が発生し、起動できなくなる、または予期せぬ動作をするなどの問題が起こり得る。
また、例えば、DRAMの生産中止やコストなどの理由で、今まで使っていたDRAMベンダーを変更したいという場合には、DRAMの設定情報(以下、設定値ともいう)を記録したフラッシュROMのBIOSも変更する必要がある。メモリ側の変更とソフト(BIOS)側の変更を同時に行うことは、例えば、メモリモジュールであるDIMM(Dual Inline Memory Module)とメモリモジュールに搭載されたメモリ(DRAM)の設定値を記録するレジスタを搭載したCTLボードの生産地が違う場合などの理由があり、必ずしも容易ではない。
本発明は、前記従来の問題に鑑みてなされたものであって、その目的は、搭載された主メモリに合わせた最適なメモリ設定ができるようにすることである。
本発明は、主記憶部と、前記主記憶部に対する複数の第1設定情報を記憶する第1記憶部と、前記主記憶部に対する設定情報であって、複数の前記第1設定情報の少なくとも一部に対応する第2設定情報を記憶する第2記憶部と、前記第1記憶部から複数の前記第1設定情報を読み出し、前記第2記憶部から前記第2設定情報を読み出す取得部と、読み出された前記第2設定情報を、読み出された複数の前記第1設定情報のうちの対応する前記第1設定情報より優先して設定する設定部と、前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部と、を備える電子機器である。
本発明によれば、搭載された主メモリに合わせた最適なメモリ設定ができる。
本実施形態に係る電子機器(メモリシステム)の基本構造を示す図である。 本実施形態に係る電子機器(メモリシステム)の機能構成例を示す機能ブロック図である。 従来の方法における、設定値をメモリコントローラに設定する制御の基本概念を説明する図である。 本実施形態における、設定値をメモリコントローラに設定する制御の基本概念を説明する図である。 メモリコントローラのDRAM CTLレジスタの構造の一例を説明する図である。 従来の設定方法と本実施形態の設定方法により、それぞれの設定値が異なることについて説明する図である。 本実施形態の主メモリの設定値の設定動作の一例を示すフローチャートである。 本実施形態の主メモリの設定値の設定動作の他の例を示すフローチャートである。 本実施形態の変形例に係る電子機器(メモリシステム)の基本構造を示す図である。 本実施形態の本変形例に係る電子機器(メモリシステム)の機能構成例を示す機能ブロック図である。
本実施形態の電子機器は、例えば主メモリに搭載されるDRAM(主記憶部)の初期化制御時に、搭載されたDRAMの設定値(アクセスパラメータ)を、デフォルトの設定値を記憶する記憶部(第1記憶部)と異なる記憶部(第2記憶部)から読み込む。例えば、主メモリに、開発当初からシュリンクを繰り返して特性が大きく異なるメモリ(主記憶部)であるDRAMが搭載されている場合、つまり、DRAMのスペック変更がなされた場合であっても、搭載されたDRAMの設定値(アクセスパラメータ)をそのスペック情報を記録したSPDメモリ(第2記憶部に相当)から読み込む。これにより、搭載された主メモリに合わせた最適なメモリ設定が可能となる。
以下、図面を参照して説明する。
図1は、本実施形態に係る、スペック変更後の主メモリの初期化を実施するためのメモリシステムの基本構造を示す図である。メモリシステムは電子機器の一例である。電子機器は、メモリシステムを含む機器であればどのような機器であってもよい。例えば、一般的なパーソナルコンピュータとして本実施形態の電子機器(メモリシステム)を実現できる。
本メモリシステム1は、図示のように、CPU10と、DIMM20(メモリモジュール)と、フラッシュメモリ30(第1記憶部)と、を備えている。CPU10は、メモリコントローラ(制御部、MEMC)10(1)を備える。CPU10の機能の一部または全部をASICにより実現してもよい。DIMM20およびフラッシュメモリ30は、それぞれCPU10に接続される。例えばDIMM20は、DRAMバス2、I2Cバス3を介してCPU10に接続される。DIMM20は、DRAM22(主記憶部)と、SPDメモリ24(第2記憶部、SPD記憶部)と、を備える。フラッシュメモリ30は、DRAM22の設定値と、設定プログラムであるBIOSと、を記憶する。SPDメモリ24は、DRAM22のスペック情報と、DRAM22の設定値と、を記憶する。
なお、本メモリシステム1は、図1の構成に限定されるものではない。例えば、メモリモジュールは、マザーボード等にオンボードで実装されてもよい。また第2記憶部は、SPDメモリ24の一部または全部の代わりに、他の不揮発性メモリを用いてもよい。
図2は、本実施形態に係る電子機器(メモリシステム)の機能構成例を示す機能ブロック図である。図2に示すように、メモリシステム1は、主な機能構成として、取得部101と、特定部102と、設定部103と、メモリコントローラ10(1)と、を備えている。
取得部101は、フラッシュメモリ30およびSPDメモリ24などの記憶部から各種情報を取得する(読み込む)。例えば、取得部101は、SPDメモリ24からSPD情報を取得する。フラッシュメモリ30からアクセスパラメータなどの情報を読み出す機能は、BIOSにより実現してもよい。
特定部102は、例えばSPD情報を参照して、1以上の設定対象のうち適用する設定対象を特定する。設定対象とは、メモリコントローラ10(1)に設定する設定値の組み合わせを定めた情報である。以下では設定Aおよび設定Bの2つの設定対象を用いる例を説明する。設定対象の個数は2に限られるものではなく、1個であってもよいし、3個以上であってもよい。特定部102は、例えば設定Aおよび設定Bのうち、SPD情報が示すスペックに対応する設定対象を特定する。
設定部103は、メモリコントローラ10(1)に対して設定値を設定することにより、メモリコントローラ10(1)を初期化する。このとき、設定部103は、特定された設定対象で定められる設定値(第1設定情報)より、SPDメモリ24に記憶された設定値(第2設定情報)を優先して設定する。設定部103による設定処理の詳細は後述する。
メモリコントローラ10(1)は、設定された設定値に基づいてDRAM22の動作を制御する。
なお、図2に示す各部は、例えば、CPU10にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ASICなどのハードウェア回路により実現してもよいし、ソフトウェアおよびハードウェア回路を併用して実現してもよい。以下では、CPU10にプログラムを実行させることにより図2の各部を実現する場合を例に説明する。
図3は、本実施形態と対比するため、従来の方法における、スペック変更後の主メモリ(DRAM22)の初期化のために設定値をメモリコントローラに設定する制御の基本概念を説明する図である。
メモリ素子、ここではSPDメモリ24には、図3右側に示すデータ51(DRAM22のスペック情報であるJEDEC規定のSPD情報)が記録されている。データ51は、バイト番号(Byte Number)と、バイト番号に対応する機能説明(Function Described)を含む。例えばデータ51のバイト番号0には、シリアルなPDバイト番号(Number of Serial PD Bytes written)、SPD装置サイズ(SPD Device Size)、CRCカバー範囲(CRC Coverage)が記録される。バイト番号1には、SPDの改定情報(SPD Revision)が記録される。バイト番号2には、キーバイト(Key Byte)、DRAM装置のタイプ(DRAM Device Type)が記録される。バイト番号176〜255には、カスタマー使用のための自由領域(Open for customer use)が存在する。
データ52は、CPU10内のメモリコントローラ10(1)のDRAM CTLレジスタに記憶されるデータを表す。データ52には、各レジスタMEMC_1〜MEMC_*ごとに、それぞれ設定された設定値データが記録されている。
データ53は、フラッシュメモリ30内のDRAMレジスタに記憶されるデータを表す。データ53には、設定対象として設定Aと設定Bが記録されており、それぞれに図示の設定値が記録されている。
以上の構成において、取得部101は、SPDメモリ24内のデータ(SPD情報)を読み取る。このデータは、例えば、DRAM22の容量、バス幅、および、ランク数などのスペック情報を含む。特定部102は、このようなスペック情報を参照し、フラッシュメモリ30内のDRAMレジスタに記憶されている設定対象のうち、いずれの設定対象の設定値により設定を行うのか(図示例では、設定AかBか)を決定する。取得部101は、この決定に従い、設定Aまたは設定Bの設定値(アクセスパラメータ)をフラッシュメモリ30から読み出す。設定部103は、読み出された設定値を、メモリコントローラ10(1)、具体的にはそのレジスタ(DRAM CTLレジスタ)に設定する。この例では、フラッシュメモリ30中の設定Aの設定値が設定されている。
このような方法では、DRAM22のスペックに応じて2つの設定対象のうち、より適する設定対象を特定し、特定した設定対象で定められる設定値を設定できる。しかし、各設定対象に対して定められる設定値は、例えばSPDで規定される設定値に限定される。このため、例えばSPDで規定されていない設定値を設定することができない。また、各設定対象には、特定のスペックに応じた固定の設定値が定められる。従って、例えば設定対象に対して定められる複数の設定値のうち一部の設定値のみを変更することができない。このため、搭載された主メモリに合わせた最適なメモリ設定ができない可能性が生じうる。
次に、本実施形態における、主メモリ(DIMM20中のDRAM22)の初期化のため、設定値をメモリコントローラ10(1)に設定する制御の基本概念を説明する。
図4は、本実施形態における、スペック変更後の主メモリ(自社製DIMM20中のDRAM22)の初期化のため、設定値をメモリコントローラ10(1)に設定する制御の基本概念について説明する図である。
各レジスタ、即ち、SPDメモリ24内のデータレジスタ、メモリコントローラ10(1)内のDRAM CTLレジスタ、フラッシュメモリ30内のDRAMレジスタは、図3に示すものと同じである。但し、各レジスタに記憶されるデータは図3と異なる。例えば、SPDメモリ24内のデータレジスタは、データ61を記憶する。メモリコントローラ10(1)のDRAM CTLレジスタは、データ62を記憶する。フラッシュメモリ30内のDRAMレジスタは、データ63を記憶する。データ61のバイト番号117、118には、モジュール製造IDコード(Module Manufacturing ID Code)が記憶されている。また、バイト番号176〜255のカスタマー使用のための自由領域(Open for customer use)には、図示例では、自社製のDIMM20のキーコード(Key code)や設定値が記憶されている。自由領域に記憶される設定値は、例えばJEDECで規定されていないアクセスパラメータ(以下、JEDEC非規定アクセスパラメータという)である。
即ち、本実施形態のアクセスパラメータには、従来のJEDECで規定されたSPD情報で定まるアクセスパラメータ(以下、JEDEC非規定アクセスパラメータと対比するためにJEDEC規定アクセスパラメータという)と、JEDEC非規定アクセスパラメータが含まれる。なお、図4の例では、MEMC_1−1〜MEMC_1−4(各8ビット)の4つで1セットとなっている。1セットは、フラッシュメモリ30内のDRAMレジスタの一つの設定値(32ビット)に該当する。
取得部101は、SPDメモリ24内のデータを読み込む。設定部103は、読み込んだデータの中に自社製のDIMM20のキーコードに該当する値(キーコード)が記録されているか否かを判断する。ここで、該当する値が記録されているときは、特定部102は、そのSPDメモリ24内のDIMM20の容量、バス幅、および、ランク数などのスペック情報から、フラッシュメモリ30内に記憶されている設定対象のうち、いずれの設定対象の設定値により設定を行うのか(図4の例では設定Aまたは設定B)を決定する。それと共に設定部103は、SPDメモリ24に記録されているJEDEC非規定アクセスパラメータ中の設定値(MEMC_*)を、フラッシュROM(フラッシュメモリ30内のDRAMレジスタ)に記録されたJEDEC規定アクセスパラメータ中の設定値より優先させてメモリコントローラ10(1)のDRAM CTLのレジスタに設定する。
フラッシュメモリ30は、DRAM22に対する複数の設定値を記憶する記憶部(第1記憶部)に相当する。例えば設定Aおよび設定Bそれぞれに含まれる各レジスタMEMC_1〜MEMC_*に対応する値が、複数の設定値に相当する。SPDメモリ24は、DRAM22に対する設定値であって、フラッシュメモリ30に記憶される設定値の少なくとも一部に対応する設定値を記憶する記憶部(第2記憶部)に相当する。
JEDEC非規定アクセスパラメータ中の設定値は、メモリコントローラ10(1)のDRAM CTLレジスタに設定する設定値の一部であってもよいし、全部であってもよい。一部の設定値とする場合は、SPDメモリ24に記録される設定値(JEDEC非規定アクセスパラメータ)だけでは、メモリコントローラ10(1)に設定する全ての設定値をカバーすることは困難である。そのため、特定部102は、SPD情報(スペック情報)に基づきフラッシュメモリ30(フラッシュROM)に記録されたJEDEC規定アクセスパラメータの設定対象のうち1つ(設定Aまたは設定B)を特定する。そして取得部101は、特定した設定対象の設定値も読み出す。設定部103は、SPDメモリ24から読み出した設定値と、フラッシュメモリ30から読み出した設定値と、を比較する。両者の設定値に差異があれば、設定部103は、SPDメモリ24に記録されているJEDEC非規定アクセスパラメータ中の設定値をメモリコントローラ10(1)(DRAM CTLレジスタ)に優先的に設定する。
また、本実施形態では、SPDメモリ24内の設定値は自由領域に記録されているが、設定値の記録領域はこの領域に限定されない。また、SPDメモリ24内の設定値の設定が必要か否かの判断についても、自社製のDIMM20のキーコードで判断する方法に限られない。例えば、SPDメモリ24内に設定すべきデータ(JEDEC非規定アクセスパラメータ)があるか否かで判断してもよい。
さらに、本実施形態による設定値の設定を実施するためには、当然のことではあるが、その前提として、SPDメモリ24内には、タイミング調整やODT(On Die Termination)の抵抗値など、DRAM22が変わることで変更する可能性のある設定値を記録しておく必要がある。
図5は、メモリコントローラ10(1)のDRAM CTLレジスタの一例についてその構造を説明する図である。
メモリコントローラ10(1)のDRAM CTLレジスタには、例えばMEMC_3というレジスタがある。MEMC_3レジスタは、例えば図5に示す構造になっている。
即ち、図示のように、DRAM CTLレジスタ内の、ビット26−24(odt_impset(On Die Termination_インピーダンスセット))には、ODT(On Die Termination)インピーダンスのキャリブレーション(Calibration;補正)目標値(Target)が設定されている。ビット26−24には、例えば、以下のようにビットの値が設定される:
001b=120Ω
010b=60Ω
011b=40Ω
100b=34Ω
上記以外=設定禁止
ビット17−16(dq_dqs_impset(データストローブ_データストローブ信号_インピーダンスセット))には、DQ(データストローブ)またはDQS(データストローブ信号)のドライバインピーダンスが設定されている。ビット09−08(cmd_impset(コマンド端子_インピーダンスセット))には、CMD(コマンド端子)のマクロのドライバインピーダンスが設定されている。ビット01−00(ck_impset(クロック_インピーダンスセット))には、CK(クロック)のドライバインピーダンスがそれぞれ設定される。ビット17−16、ビット09−08、および、ビット01−00それぞれには、例えば、以下のようにビットの値が設定される:
00b=60Ω
01b=48Ω
10b=40Ω
11b=34Ω
図6は、主メモリ(DRAM22)の初期化のため、設定値をメモリコントローラ10(1)に設定する方法について、従来の設定方法と本実施形態の設定方法で、それぞれの設定値が異なることについて説明する図である。
ここでは、図3に示した従来のDIMM20中のDRAM22の設定方法と図4に示した本実施形態のDIMM20中のDRAM22の設定をベースに、MEMC_3レジスタの設定値を例に、本実施形態の適用前後の設定値の変更について説明する。
図3に示した従来のDIMM20中のDRAM22の設定値は、図6のビフォアデータ(Before_Data)欄に示されている。即ち、CPU10内のメモリコントローラ10(1)内のDRAM CTLレジスタの設定値は、設定BのMEMC_3レジスタの設定値:0x04030303であり、その抵抗値はそれぞれ図6のビフォアデータの欄に示されている。
また、図4に示した本実施形態のDIMM20中のDRAM22の設定値は、図6のアフタデータ(After_Data)欄に示されている。即ち、CPU10内のメモリコントローラ10(1)内のMEMC_3レジスタの設定値:0x04010103である。CPU10(メモリコントローラ10(1))内のDRAM CTLレジスタの設定された抵抗値は、図6のアフタデータ欄に示されている。
その両者を対比すると、odt_impsetは、ビフォアデータとアフタデータで変わらず、34Ωである。dq_dqs_impsetは、ビフォアデータでは、34Ωであるのに対し、アフタデータでは、48Ωである。cmd_impsetは、ビフォアデータでは34Ωであるのに対し、アフタデータでは、48Ω(01b)である。ck_impsetはビフォアデータとアフタデータで変わらず、34Ωである。
このように、本実施形態では、SPDメモリ24に記録したJEDEC非規定アクセスパラメータによって、DIMM20の設定値の抵抗値などの設定変更を行うことができる。
図7は、本実施形態の主メモリの設定値の設定動作フローについて説明する図である。
即ち、図4に示すメモリシステム1において、電源がオンされると(S101)、CPU10が初期化する(S102)。次に、CPU10で実行される取得部101は、SPDメモリ24からSPD情報(メモリのスペック情報)を取得する(S103)。特定部102は、このSPD情報に基づき設定対象(設定Aまたは設定B)を特定する(S104)。次に取得部101は、特定した設定対象に該当する設定値(JEDEC規定アクセスパラメータ)をフラッシュメモリ30内のDRAMレジスタから読み出す。また設定部103は、SPDメモリ24に記録された設定値(JEDEC非規定アクセスパラメータ)と併せてメモリコントローラ10(1)(DRAM CTLレジスタ)に設定して(S105)、この処理を終了する。
なお、既に述べたように、JEDEC非規定アクセスパラメータの設定値と、BIOSでフラッシュメモリ30内のDRAMレジスタから読み出したJEDEC規定アクセスパラメータの設定値が一致していないときは、設定部103は、JEDEC非規定アクセスパラメータを優先して設定する。
図8は、アクセスパラメータの変更が必要であるか否かを判断し、不要と判断したときに、SPDメモリ24からJEDEC規定アクセスパラメータに基づいたデフォルトの設定値を設定する場合の設定処理の動作手順を示すフロー図である。
即ち、図4に示すメモリシステム1において、電源がオンされると(S201)、CPU10が初期化する(S202)。次に、CPU10で実行される設定部103は、SPDメモリ24のデータは自社製であることを示しているか否かを判断する(S203)。設定部103は、例えばSPD情報内の製造元を識別する情報を参照して、DRAM22が自社製であるか否かを判断する。自社製であれば(S203、YES)、特定部102は、SPDメモリ24のキーコードの値は、自社製に該当する値か否かを判断する(S204)。自社製に該当する値であれば(S204、YES)、取得部101は、SPDメモリ24内のSPD情報を取得する(S205)。特定部102は、取得されたSPD情報から設定対象を特定する(S206)。次に取得部101は、特定した設定値(JEDEC規定アクセスパラメータ)をフラッシュメモリ30内のDRAMレジスタから読み出す。設定部103は、読み出した設定値をSPDメモリ24にある設定値(JEDEC非規定アクセスパラメータ)と併せて、メモリコントローラ10(1)(DRAM CTLレジスタ)に設定し(S207)、この処理を終了する。
ステップS203でSPDメモリ24のデータが自社製を示していないとき(S203、NO)、およびステップS204でSPDメモリ24のキーコードが自社製に該当する値でないときは(S204、NO)、取得部101は、SPDメモリ24からSPD情報(スペック情報)を取得する(S208)。特定部102は、取得されたSPD情報から設定対象(設定Aまたは設定B)を特定する(S209)。取得部101は、特定した設定値(JEDEC規定アクセスパラメータ)をフラッシュメモリ30内のDRAMレジスタから読み出す。設定部103は、読み出した設定値をメモリコントローラ10(1)(DRAM CTLレジスタ)に設定し(S210)、この処理を終了する。
(変形例)
図9は、主メモリの初期化を実施するための電子機器の変形例であるメモリシステム1’の基本構造を示す図である。
本変形例に係るメモリシステム1’は、基本的には、図1に示したものと同じであるが、CPU10は、ネットワーク接続用のインタフェースを備え、ネットワーク40で図示しないサーバ(サーバ装置)に接続されている。本変形例のメモリシステム1’は、このインタフェースを介してサーバからファームウェアを取得して更新するファームウェアアップデート機能を有する。ネットワーク40は、インターネットなどの、どのようなプロトコルのネットワークであってもよい。またネットワーク40は、有線ネットワークでも無線ネットワークでもよい。
図10は、本変形例に係る電子機器(メモリシステム)の機能構成例を示す機能ブロック図である。本変形例では、送受信部104を追加したことが上記実施形態と異なっている。その他の構成および機能は、上記実施形態のブロック図である図2と同様であるので、同一符号を付し、ここでの説明は省略する。
送受信部104は、サーバなどの外部装置との間で各種情報を送受信する。例えば送受信部104は、メモリシステム1’が備えるプリント基板(図示せず)を特定する特定情報をサーバに送信し、サーバが特定情報に応じて送信したアクセスパラメータを受信する。例えば設定部103は、受信されたアクセスパラメータをSPDメモリ24に記憶する。例えば同じベンダーであっても、構成が異なるプリント基板が提供される場合がある。特定情報は、例えば、構成が異なるプリント基板のいずれであるかを特定する情報である。
このように本変形例のメモリシステム1’は、主メモリのDRAM22に不具合などが発生した場合には、ネットワーク40を介してサーバ側からSPDメモリ24のアクセスパラメータ(但しJEDEC非規定アクセスパラメータ)を取得する。本メモリシステム1’は、取得したJEDEC非規定アクセスパラメータに基づき自動でSPDメモリ24のJEDEC非規定アクセスパラメータを更新できるようにしている。
即ち、電子機器のCPU10からソフトウェアでプリント基板(但し、CPUまたはASICを備えたプリント基板)を特定する特定情報をサーバ側に送信する。サーバ側では該当するDRAMのJEDEC非規定アクセスパラメータを返信する。設定部103は、サーバから受け取ったJEDEC非規定アクセスパラメータをメモリコントローラ10(1)に設定する。その設定の仕方は既に説明したものと同様である。
以上、本実施形態によれば、主メモリのDRAM構成情報を記録したSPDメモリの空き領域に、DRAMの変更に係る設定値が記録される。起動時にSPDメモリに記録されている設定値がCPUまたはASICのDRAMに関するメモリコントローラ内のDRAM CTLレジスタに設定される。変更部分はSPDメモリのJEDEC非規定アクセスパラメータの設定値を用いることで、DRAMがシュリンクを繰り返しても、DIMM(DRAM)の常に適正な初期設定ができる。
本実施形態によれば、波形およびタイミング以外にもリフレッシュ期間やZQキャリブレーション(外部端子のインピーダンス調整)の期間などの設定など、様々な設定が可能であるので、特定のDRAMの不具合回避などにも適用することができる。
以下、本実施形態とその更なる利点について示す。
(1)設定部は、JEDEC非規定のSPD情報であるアクセスパラメータの変更が必要か否かを判断し、不要と判断したときは、JEDEC規定のSPD情報で定まる設定対象(設定Aまたは設定B)に含まれる設定値を、メモリコントローラに設定する。
そのため、SPDメモリにJEDEC非規定のアクセスパラメータが記録されていない場合にも、主メモリを動作できる。すなわち、どのようなメモリモジュール(DIMM)を備える電子機器であっても動作させることができる。
(2)主メモリのJEDEC非規定のSPD情報であるアクセスパラメータをSPDメモリに記録するため、本実施形態を、既存の構成で実現できる。そのため、追加の開発や、メモリ追加コストが発生しない。
(3)主メモリとSPDメモリ(第2記憶部)は、同じDIMM上にあるため、取り外し可能なDIMMとすることで、その都度最適なパラメータを設定できる。
(4)アクセスパラメータを記録するメモリとして、SPDメモリに加え、DIMMに実装された別のメモリを用いることができる。
これにより、アクセスパラメータ容量を増やすことができ、SPDメモリだけでは容量が不足する場合には増設したメモリにもアクセスパラメータを記憶することができる。
(5)電子機器がプリント基板(PCBまたはPWB(Printed Wiring Board))を備えている場合は、プリント基板の製造元(ベンダー)を識別する情報(データ)を取得し、その情報に基づきSPDメモリに記憶するデータ(アクセスパラメータ)を取得することもできる。
例えばプリント基板を2社のマルチベンダーとする場合に、プリント基板がどちらのベンダーかによって設定値が変わってくることがある。このため、SPDメモリにベンダー毎に二種類の設定値を記録しておく。メモリシステムは、例えばコンフィグピンで、どちらのベンダーのプリント基板かを判断し、その判断に基づきSPDから該当するデータを取得する。これにより、DRAM以外の変更要因にも対応することができる。プリント基板のマルチベンダー化の要望に対しても対応可能である。
(6)本実施形態の電子機器は、ネットワーク経由で主メモリの設定情報を含む、JEDEC非規定アクセスパラメータを取得し、取得したJEDEC非規定アクセスパラメータで、設定情報をアップデートする。
これにより、ファームウェアアップデートを利用して、DRAM不具合などが発生した場合には、自動でSPD内のデータのパラメータデータ(JEDEC非規定アクセスパラメータ)が更新される。その際に、電子機器は、例えばプリント基板を特定する特定情報をサーバ側に送信し、サーバ側は該当するDRAMのアクセスパラメータ(JEDEC非規定アクセスパラメータ)を返信する。プリント基板はサーバから受け取ったパラメータをメモリコントローラに設定する。つまり、電子機器本体のファームウェアの更新が必要と判断された場合、自動的にインターネット経由で最新のファームウェアをダウンロードし、電子機器本体のファームウェアを自動更新できる。ファームウェアを迅速に最新の状態にすることで、最適な機器状態を維持し、故障の未然防止を図ることができる。
そのため、電子機器が市場に出てからもファームウェアを更新できるため、不具合対応が容易である。設定情報をアップデートできる構成の場合、DIMMの外部のメモリ(例えばフラッシュメモリ)にアクセスパラメータを記録してもよい。
以上、本実施形態について、電子機器の主メモリのスペックを変更した場合に行う、主メモリの初期化のための設定を、それぞれJEDECで規定する(つまり、JEDECによって定められた規格に準拠した)SPD情報およびそのSPD情報で定まるアクセスパラメータ(設定値)を例に説明した。適用可能な設定は、必ずしもJEDECで規定するものに限定されない。即ち、前述のJEDEC規定アクセスパラメータは、主メモリのデフォルト値を設定する設定値(デフォルトの設定値)であればよく、JEDEC非規定アクセスパラメータは、主メモリのスペックを変更した際に、スペック変更後の主メモリのスペック情報に基づく設定値であればよい。
1・・・メモリシステム、10・・・CPU、10(1)・・・メモリコントローラ、20・・・DIMM、22・・・DRAM、24・・・SPDメモリ、30・・・フラッシュメモリ、40・・・ネットワーク。
特開2009−110429号公報

Claims (9)

  1. 主記憶部と、
    前記主記憶部に対する複数の第1設定情報を記憶する第1記憶部と、
    前記主記憶部に対する設定情報であって、複数の前記第1設定情報の少なくとも一部に対応する第2設定情報を記憶する第2記憶部と、
    前記第1記憶部から複数の前記第1設定情報を読み出し、前記第2記憶部から前記第2設定情報を読み出す取得部と、
    読み出された前記第2設定情報を、読み出された複数の前記第1設定情報のうちの対応する前記第1設定情報より優先して設定する設定部と、
    前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部と、
    を備える電子機器。
  2. 前記設定部は、前記第2設定情報の設定が必要か否かを判断し、設定が必要でないと判断した場合は、前記第1設定情報を設定する、
    請求項1に記載の電子機器。
  3. 前記主記憶部および前記第2記憶部は、1のメモリモジュールに実装されている、
    請求項1に記載の電子機器。
  4. プリント基板をさらに備え、
    前記第2記憶部は前記プリント基板に対応する前記第2設定情報を記憶する、
    請求項1に記載の電子機器。
  5. 前記プリント基板を特定する特定情報をサーバ装置に送信し、前記サーバ装置が前記特定情報に応じて送信した前記第2設定情報を受信する送受信部をさらに備え、
    前記第2記憶部は、前記送受信部により受信された前記第2設定情報を記憶する、
    請求項4に記載の電子機器。
  6. 前記第1設定情報は、JEDEC(Joint Electron Device Engineering Council)で規定されるアクセスパラメータであり、
    前記第2設定情報は、JEDECで規定されないアクセスパラメータである、
    請求項1に記載の電子機器。
  7. 前記設定部は、前記第1設定情報と、前記第1設定情報に対応する前記第2設定情報とが一致しない場合は、前記第2設定情報を設定する、
    請求項1に記載の電子機器。
  8. 主記憶部と、前記主記憶部に対する複数の第1設定情報を記憶する第1記憶部と、前記主記憶部に対する設定情報であって、複数の前記第1設定情報の少なくとも一部に対応する第2設定情報を記憶する第2記憶部と、を備える電子機器における制御方法であって、
    前記第1記憶部から複数の前記第1設定情報を読み出し、前記第2記憶部から前記第2設定情報を読み出す取得ステップと、
    読み出された前記第2設定情報を、読み出された複数の前記第1設定情報のうちの対応する前記第1設定情報より優先して設定する設定ステップと、
    前記設定ステップにより設定された情報に基づいて前記主記憶部を制御する制御ステップと、
    を含む制御方法。
  9. 主記憶部と、前記主記憶部に対する複数の第1設定情報を記憶する第1記憶部と、前記主記憶部に対する設定情報であって、複数の前記第1設定情報の少なくとも一部に対応する第2設定情報を記憶する第2記憶部と、を備えるコンピュータを、
    前記第1記憶部から複数の前記第1設定情報を読み出し、前記第2記憶部から前記第2設定情報を読み出す取得部と、
    読み出された前記第2設定情報を、読み出された複数の前記第1設定情報のうちの対応する前記第1設定情報より優先して設定する設定部と、
    前記設定部により設定された情報に基づいて前記主記憶部を制御する制御部、
    として機能させるためのプログラム。
JP2014146800A 2013-09-09 2014-07-17 電子機器、制御方法およびプログラム Active JP6524618B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014146800A JP6524618B2 (ja) 2013-09-09 2014-07-17 電子機器、制御方法およびプログラム
US14/477,952 US20150074359A1 (en) 2013-09-09 2014-09-05 Electronic apparatus, control method therefor, and computer program product

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2013186675 2013-09-09
JP2013186675 2013-09-09
JP2014146800A JP6524618B2 (ja) 2013-09-09 2014-07-17 電子機器、制御方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2015072675A JP2015072675A (ja) 2015-04-16
JP6524618B2 true JP6524618B2 (ja) 2019-06-05

Family

ID=52626710

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014146800A Active JP6524618B2 (ja) 2013-09-09 2014-07-17 電子機器、制御方法およびプログラム

Country Status (2)

Country Link
US (1) US20150074359A1 (ja)
JP (1) JP6524618B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI553467B (zh) * 2015-08-24 2016-10-11 鴻海精密工業股份有限公司 記憶體自檢修正系統及方法
KR101728864B1 (ko) * 2015-10-30 2017-04-20 (주)에프씨아이 플래시 메모리 관리 방법, 장치 및 컴퓨터 프로그램

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6230274B1 (en) * 1998-11-03 2001-05-08 Intel Corporation Method and apparatus for restoring a memory device channel when exiting a low power state
US6557077B1 (en) * 2000-07-07 2003-04-29 Lsi Logic Corporation Transportable memory apparatus and associated methods of initializing a computer system having the same
US7024554B1 (en) * 2000-09-29 2006-04-04 Mindspeed Technologies, Inc. Systems and methods that authorize target devices utilizing proprietary software and/or hardware
US7277978B2 (en) * 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7263019B2 (en) * 2005-09-15 2007-08-28 Infineon Technologies Ag Serial presence detect functionality on memory component
JP2007122627A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 情報処理装置及びメモリ初期化方法
US8312444B2 (en) * 2007-07-30 2012-11-13 Ocz Technology Group, Inc. Method for optimizing memory modules for user-specific environments
JP4234766B1 (ja) * 2007-10-31 2009-03-04 株式会社東芝 電子機器およびその制御方法
US8566639B2 (en) * 2009-02-11 2013-10-22 Stec, Inc. Flash backed DRAM module with state of health and/or status information accessible through a configuration data bus
JP5435647B2 (ja) * 2010-02-25 2014-03-05 エヌイーシーコンピュータテクノ株式会社 コンピュータシステム、メモリ初期化方法、及びプログラム
US8894020B2 (en) * 2011-02-28 2014-11-25 Harvey J. Rosener Block module for model train layout control
JP5703967B2 (ja) * 2011-05-31 2015-04-22 株式会社リコー メモリシステム、メモリ制御方法及びメモリ制御プログラム

Also Published As

Publication number Publication date
JP2015072675A (ja) 2015-04-16
US20150074359A1 (en) 2015-03-12

Similar Documents

Publication Publication Date Title
JP6965494B2 (ja) センサデータ検出に基づくインピーダンス補償
US8116144B2 (en) Memory module having a memory device configurable to different data pin configurations
US8054676B2 (en) Memory system such as a dual-inline memory module (DIMM) and computer system using the memory system
US7987308B2 (en) Multi-interface controller, memory card having the multi-interface controller, and interface setting method
US7263019B2 (en) Serial presence detect functionality on memory component
EP2577475B1 (en) Initializing a memory subsystem of a management controller
KR102554565B1 (ko) 외부 레지스턴스를 공유하는 반도체 장치의 메모리 디바이스들을 식별하기 위한 장치 및 방법
US11755255B2 (en) Memory device comprising a plurality of memories sharing a resistance for impedance matching
JP2008090556A (ja) メモリカード及びホスト機器
WO2009096141A1 (ja) メモリアクセスタイミング調整装置及びメモリアクセスタイミング調整方法
US8938600B2 (en) Memory system, memory control method, and recording medium storing memory control program
JP6524618B2 (ja) 電子機器、制御方法およびプログラム
JP4234766B1 (ja) 電子機器およびその制御方法
TWI779046B (zh) 記憶體裝置及包括其的記憶體系統
US10302701B2 (en) Memory apparatus relating to determination of a failed region and test method thereof, memory module and system using the same
JP6398390B2 (ja) エラー検出方法及びエラー検出装置
JP2005537563A (ja) バージョンプログラム可能回路モジュール
US9323516B2 (en) Electronic device system and electronic device
JP7006410B2 (ja) 制御装置、画像形成装置および回路装置
US11372581B2 (en) Information processing apparatus and control method thereof and program regarding reading a boot program
JP2008152315A (ja) 信号処理回路
JP4761120B2 (ja) 電子機器、画像形成装置
CN116156575A (zh) eMMC的速率模式控制方法及装置、存储介质、终端
JP2020035352A (ja) 記憶装置及び制御方法
JP2018146290A (ja) 検査装置及び制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190131

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190409

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190422

R151 Written notification of patent or utility model registration

Ref document number: 6524618

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250