JP2010039645A - 制御装置、情報処理装置、及びメモリモジュール認識方法 - Google Patents

制御装置、情報処理装置、及びメモリモジュール認識方法 Download PDF

Info

Publication number
JP2010039645A
JP2010039645A JP2008200051A JP2008200051A JP2010039645A JP 2010039645 A JP2010039645 A JP 2010039645A JP 2008200051 A JP2008200051 A JP 2008200051A JP 2008200051 A JP2008200051 A JP 2008200051A JP 2010039645 A JP2010039645 A JP 2010039645A
Authority
JP
Japan
Prior art keywords
spd
storage unit
specification information
memory
read
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.)
Granted
Application number
JP2008200051A
Other languages
English (en)
Other versions
JP5292978B2 (ja
Inventor
Keisuke Tajima
啓介 田島
Yukio Oguma
幸雄 小熊
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008200051A priority Critical patent/JP5292978B2/ja
Priority to US12/474,857 priority patent/US8301858B2/en
Publication of JP2010039645A publication Critical patent/JP2010039645A/ja
Application granted granted Critical
Publication of JP5292978B2 publication Critical patent/JP5292978B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

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)

Abstract

【課題】SPD制御装置で、メモリ初期化処理の時間を短縮化する。
【解決手段】プロセッサ10、メモリモジュール50、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリ60に接続される制御装置100であって、制御装置100への電源投入により、仕様情報記憶メモリ60から仕様情報を読み出す読み出し部と120、仕様情報記憶メモリから読み出された仕様情報を格納する記憶部130と、プロセッサから仕様情報の読み出し指示を受信して、記憶部130に格納された仕様情報をプロセッサに受け渡す受け渡し部110と、を有する。
【選択図】図1

Description

本出願は、制御装置、情報処理装置、及びメモリモジュール認識方法に関する。
コンピュータシステムに電源が投入されると、ブート処理と呼ばれるオペレーティングシステム(OS)の立ち上げ処理(「パワーオン・リセット・シーケンス」とも称す)が開始される。この立ち上げ処理には、BIOS(Basic Input Output System)等のファームウェア(FW)やOSによる各種ハードウェアの初期化と診断、コンピュータシステムへの各種ハードウェアの組込み処理等が含まれる。
また、メモリの初期化処理では、CPU(Central Processing Unit)により実行されるBIOSが、メモリコントローラに読み込み処理を指示することで、メモリモジュールに搭載される不揮発性メモリ(以下、「SPD(Serial Presence Detect)メモリ」と称す)に格納されているメモリモジュールの仕様情報(以下「SPDデータ」と言う)を読み出すメモリ認識処理が行われる。
種類、容量、エラーチェックの種類や有無、アクセスタイミング等を規定した、SPDデータをもとに、BIOSはメモリモジュールに搭載されたRAM(Random Access Memory)の初期化処理を行い、メモリモジュールの制御方法を決定する。
SPDメモリとメモリコントローラとの接続は、伝送速度の遅いシリアルバスで接続されるのが一般的である。シリアルバスの一例として、I2Cバスがあげられる。伝送速度の遅いシリアルが用いられるのは、メモリ認識処理は、頻度が少なく又はSPDデータのデータ量も少ないため、シンプルで低価格のバスが選択されるためである。しかしながら、シリアルバスの遅い伝送速度により、メモリ初期化処理が遅くなるという問題がある。
従来、メモリ認識処理をより高速化するために、CPUからシリアルバスを介して最初に読み出したSPDデータを、システムバスを介してアクセス可能なメモリに保存することで、2度目のSPDデータの読み出し時には、SPDデータの読み出し速度を高速化する技術が提案されている(下記特許文献1)。
特開2007−122627号
しかし、従来技術では、SPDデータの読み出しは、プロセッサが実行するBIOSにより行われるため、SPDデータの読み出しを開始するために、プロセッサの初期化処理の終了を待つ必要があった。そして、プロセッサ起動後も、最初のSPDデータの読み出しがシリアルバスを介して行われるため、このようなメモリ認識処理がコンピュータシステム立ち上げ時間に加算され、立ち上げ処理時間の短縮化が図られていない。
本発明は、プロセッサ初期化処理前に、SPDデータの読み出しを行うことで、コンピュータシステムの立ち上げ処理時間を短縮化するメモリ初期化処理を提供することを目的とする。
上記課題を解決するために、プロセッサ、メモリモジュール、及びメモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続される制御装置が提供される。
上記制御装置は、上記制御装置への電源投入により、上記仕様情報記憶メモリから上記仕様情報を読み出す読み出し部と、上記仕様情報記憶メモリから読み出された仕様情報を格納する記憶部と、上記プロセッサから上記仕様情報の読み出し指示を受信して、上記記憶部に格納された上記仕様情報を上記プロセッサに受け渡す受け渡し部と、を有する。
また、上記課題を解決するために、プロセッサと、メモリモジュールと、制御装置と、を備える情報処理装置が提供される。
上記メモリモジュールは、第一のメモリと、上記メモリモジュールの仕様を示す仕様情報を記憶する第二のメモリとを有し、上記制御装置は、上記制御装置への電源投入により、上記第二のメモリから上記仕様情報を読み出す読み出し部と、上記読出し部が読みだした仕様情報を格納する記憶部と、上記プロセッサからの読み出し指示を受信して、上記記憶部に格納された仕様情報を上記プロセッサに受け渡す受け渡し部と、を有する。
さらに、上記課題を解決するために、プロセッサ、メモリモジュール、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続され、且つ記憶部を有する制御装置により上記プロセッサに上記メモリモジュールを認識させるメモリモジュール認識方法が提供される。
上記メモリモジュール認識方法は、上記プロセッサが、上記制御装置への電源投入により、立ち上げ処理を開始し、上記制御装置は、上記制御装置への電源投入により、上記仕様情報記憶メモリから上記仕様情報の読み出しを開始し、上記制御装置は、上記仕様情報を上記記憶部に格納し、上記制御装置は、上記立ち上げ処理を終了したプロセッサから上記仕様情報の読み出し指示を受信して、上記記憶部に格納された上記仕様情報を上記プロセッサに受け渡す。
SPD制御装置は、プロセッサの初期化処理完了を待つことなく、SPD制御装置への電源投入によりSPDメモリからのSPDデータの読み出しを開始することにより、メモリ初期化処理の時間、並びに、コンピュータシステムの立ち上げ処理時間を短縮化することができる。
以下、図面を参照して、実施形態を説明する。
図1を用いて、情報処理装置の構成の一例について説明する。情報処理装置1は、例えば、サーバ、パーソナルコンピュータ等のコンピュータとして実装できる。情報処理装置1は、プロセッサ10、メモリコントローラハブ(MCH)20、マネージメントボード(MMB)30、メモリアクセスコントローラ(MAC)40、メモリモジュール50、SPDメモリ60、IO制御ハブ(ICH)70、入力装置72、外部記憶装置74、リードオンリーメモリ(ROM)80を有する。
プロセッサ10は、情報処理装置1の動作を制御するために設けられたプロセッサであり、中央処理装置(CPU)やデジタルシグナルプロセッサ(DSP)として実装され得る。プロセッサ10は、コンピュータのハードウェア資源及びソフトウェア資源の割り当てを統合的に管理するオペレーティングシステム(OS)、及び他のソフトウェアを実行する。また、プロセッサ10は、ROM80に格納されたBIOSも実行する。BIOSは、バスに接続されたハードウェア機器の制御用プログラムであり、SPDデータをもとに、メモリモジュール50に搭載されたRAMの初期化処理等を行う。BIOSによる制御処理は、プロセッサ10がBIOSを実行することにより行われる。
なお、図1には、1つのプロセッサのみを表しているが、情報処理装置1は、複数のプロセッサを有しても良い。
MCH20は、プロセッサ10とICH70との間を接続するブリッジデバイスである。MCH20と接続される各ハードウェアは、ISAバス(Industrial Standard Architecture bus)やPCIバス(Peripheral Components Interconnect bus)等の高速なシステムバスで接続される。MCH20は、AGP(Accelerated Graphics Port)バスなどを介してグラフィックコントローラ(GC)22との通信を実行する機能を有する。
メモリモジュール50は、例えば、DIMM(Dual Inline Memory Module)等のRAM(Random Access Memory)を搭載する。メモリモジュール50はまた、SPDメモリ60を有する。SPDメモリ60はSPDデータを格納するメモリであり、不揮発性メモリ、例えば、EEPROM(Electrically Erasable and Programmable Read Only Memory)である。なお、図1には、1つのメモリモジュールのみを表しているが、情報処理装置1は、複数のメモリモジュールを有しても良い。
SPDデータは、メモリモジュール50の容量、メモリモジュールの動作クロック周波数、アクセス速度、アクセス方法、メモリ構成情報等、メモリモジュール50の仕様を表す情報である。
グラフィックコントローラ22は、情報処理装置1のディスプレイモニタとして使用される表示装置24を制御する表示コントローラである。
ICH70は、IDE(Integrated Drive Electronics)、PCI(Peripheral Component Interconnect)バス等に接続される入力装置(ID)72、外部記憶装置(HDD)74及びROM80へのアクセスを制御する。外部記憶装置(HDD)74には、プロセッサ10で実行されるOSや各種プログラムが格納される。
ROM80は、書き換え可能な不揮発性メモリであっても良く、BIOS等のファームウェア(FW)を格納する。
MAC40は、メモリモジュール50を制御するための装置であり、SPD制御装置100、及びパワーオンリセットシーケンサ(PRS)42を含む。MAC40は、チップセットとして実装できる。
PRS42は、SPDデータの読み出し処理を開始するために必要な処理を実行するシーケンス回路である。例えば、PRS42は、MAC40への電源投入、又は、シリアルバス90aに接続されるMMB30からの起動指示に従って、SPD読み出し処理を開始する。そして、PRS42は、SPD読み出し部120にSPD読み出し指示を送信することで、SPD記憶部130にSPDデータを格納し、SPDデータをSPD受け渡し部110に転送する。
なお、MMB30は、情報処理装置1のリソースを管理する装置であり、複数の情報処理装置とLANやシリアルバス等を介して接続される。MMB30は、他の情報処理装置のリソースが上昇した場合、情報処理装置1に起動指示を送信する等の管理処理を実行する。また、MMB30は、MMBインタフェース148を介してSPD受け渡し部110からSPDデータを取得することができる。PRS42は、MAC40への電源投入によりSPDデータをSPD受け渡し部に転送させることができるため、MMB30は、MAC30の起動指示によりプロセッサ10を起動させずに、SPDデータを取得することができる。
SPD制御装置100は、SPD受け渡し部110、SPD読み出し部120、SPD記憶部130、SPD読み出しレジスタ144、シリアルバス制御部146を有する。また、SPD制御装置100は、システムバス92a、MCH20を介してプロセッサ10と接続される。さらに、SPD制御装置100は、システムバス92bを介してメモリモジュール50と、シリアルバス90bを介してSPDメモリ60とに接続される。なお、SPD制御装置100は、チップセットとして実装できる。
SPD受け渡し部110は、FW又はOSがSPDデータを取得するためのインタフェースとして機能する。SPD受け渡し部110は、コマンドアドレスレジスタ111、ステータスレジスタ112、リードデータレジスタ113を有する。
FW又はOSは、SPDデータを取得するために、コマンドアドレスレジスタ111に、読み出しなどのオペレーションコードと、読みたいSPDアドレスをセットする。SPDアドレスは、SPDデータを識別するためのチャネル番号、スロット番号、オフセット等を有するアドレスである。
ステータスレジスタ112は、SPDデータの読み出し処理の状態を示すビットデータを格納する。ビットデータ「1」の場合は、SPDデータの読み出し処理中を意味し、「ビットデータ「0」の場合は、SPDデータの読み出し処理が行われていないことを意味する。例えば、コマンドアドレスレジスタ111内のコマンド及びアドレスがSPD受け渡し部110によってデコードされると、SPD受け渡し部110がステータスレジスタ112に記憶されるビットデータを「1」にする。
SPD受け渡し部110は、コマンドアドレスレジスタ111内のコマンドアドレスをデコードすることによってFW又はOSによるSPDデータの読み出し指示を認識すると、ステータスレジスタ112に「Busy」フラグを立てる。そして、SPD読み出し部120は、SPD記憶部130に記憶されたSPDデータ、又は、シリアルバス90bを用いてSPDメモリ60から取得したSPDデータを、リードデータレジスタ113にセットし、ステータスレジスタ112の「Busy」フラグをおとす。これは、SPD受け渡し部110がSPDデータの読み出し処理を終了したことを示す。
FW又はOSは、ステータスレジスタ112をポーリングしていて、「Busy」フラグが落ちているのを確認すると、リードデータレジスタ113からSPDデータを読み出す。
なお、リードデータレジスタ113は、SPD記憶部130に格納された全SPDデータを収納できる容量を有しても良い。この場合、シリアルバスの伝送速度に合わせたビット転送ではなく、数ワード以上のデータ量を有する全SPDデータを一度に転送するバースト転送を行うことができる。これにより、FW又はOSからのSPDデータ読み出しの高速化、並びに、メモリ初期化処理の高速化を可能にする。
SPD読み出し部120は、PRS42からのSPDデータ読み出し指示に従って、SPDメモリ60に格納されるSPDデータを読み出し、SPD記憶部130に記憶する。また、SPD読み出し部120は、読み出したSPDデータをSPD受け渡し部110のリードデータレジスタ113に設定する。
SPD読み出し部120は、SPD読み出しシーケンサ122と、SPD読み書き制御部124とに機能を分けることもできる。
SPD読み出しシーケンサ122は、SPD受け渡し部110におけるリードコマンドやSPDアドレスの受信、PRS42からのSPD読み出し指示の受信、SPDメモリ60からのSPDデータの読み出しなどの状態遷移を管理する。SPD読み書き制御部124は、SPD読み出しシーケンサ122で管理する状態遷移に基づいてSPD受け渡し部110、SPD記憶部130、シリアルバス制御部146との信号制御を行うことができる。
なお、SPD読み出しシーケンサ122及びSPD読み書き制御部124は、例えば、順序回路であるラッチ、フリップフロップ、レジスタファイル等で実装できる。
SPD読み書き制御部124は、SPD読み出しシーケンサ122からリードコマンドとアドレスを受信すると、シリアルバス制御部146を介して、シリアルバス90bを介してSPDメモリ60からSPDデータを読み出す。さらに、SPD読み書き制御部124は、SPDメモリ60から読み出したSPDデータを、SPD記憶部130に格納する。
SPD記憶部130は、SPD読み出し部120がSPD60から読み出したSPDデータをバッファするための記憶領域である。SPD記憶部130は、latch、FF、RF、RAM等で実装できる。SPD記憶部130は、MAC40のクロックで動作するため、高速で動作可能である。SPD記憶部130内のSPDデータにプロセッサ10がアクセスする場合には、プロセッサ10は、シリアルバス90bを介することなく高速なシステムバスを介したSPDデータの読み出しを行うことができる。
SPD読み出しシーケンサ122は、読み出し対象となるチャネル、スロット、SPDメモリのメモリアドレスを変更し、SPDアドレスをインクリメントすることにより、SPDデータを読み出すことができる。このSPDデータ読み出し処理のフローは、図7又は8を用いて後述する。また、SPDメモリ60は、例えば、1個あたり256バイトの容量を有するが、256バイト全ての内容をSPD記憶部130に格納しなくても良い。
FW又はOSから読み出し要求が出されたとき、読み出しアドレスのSPDデータがSPD記憶部130に格納されている、言い換えればヒットすれば、SPD読み出し制御部124はSPD記憶部130からSPDデータを読み出して、SPD受け渡し部110内のリードデータレジスタ112にセットする。
指定された読み出しアドレスのSPDデータが、SPD記憶部130に無い場合は、SPDメモリ60からSPDデータを読み出して、読み出したSPDデータをSPD読み出しレジスタ144にセットする。
情報処理装置1内の各コンポーネントは、並列に初期化処理が実行されるのが理想的であるが、実際にはコンポーネントの構成による物理的制約や制御の簡易性の必要性から、完全に並列化して初期化処理を行うことはできない。このため、全コンポーネントが初期化されるまでには時間がかかる。プロセッサ10によりSPDデータのSPDメモリ60からの読み出し処理が行われる場合、メモリ認識処理は、チップ内クロックに換算して非常に長い時間がかかり、メモリ初期化処理並びにコンピュータシステムの立ち上げ処理を遅延させていた。
そこで、図2を用いて、プロセッサ10の初期化と独立して行われる、SPD制御装置100によるメモリ認識処理のフローの一例を説明する。
まず、ユーザがコンピュータ1の電源スイッチを押下することによって、情報処理装置1の電源投入を行うと(S201)、情報処理装置1内のMCH20やMAC40などの各コンポーネントへの電源投入、クロック供給、レジスタ値のリセット等の初期化処理が実行される(S202)。MAC40に電源投入されると、各装置間のバスの調整が行われるとともに(S203)、S203と並行してPRS42が起動して、SPD読み出し指示をSPD読み出しシーケンサ122に設定する(S204)。
SPD読み出しシーケンサ122は、SPD読み出し指示に従って、リードコマンドとSPDアドレスを、SPD読み書き制御部124のレジスタにセットする。SPD読み書き制御部124は、SPD読み出しシーケンサ122からリードコマンドとSPDアドレスを受信すると、シリアルバス制御部146により、シリアルバス90bを介してSPDメモリ60からSPDデータを読み出す(S205)。SPD読み書き制御部124は、SPDメモリ60から読み出したSPDデータを、SPD読み出しレジスタ144を介してSPD記憶部130に格納する(S206)。
SPDデータの読み出し処理が行われるのと並行して、各装置間のバスの調整(S203)に続いて、ICH70の給電確認、システムバス設定、ICH70のIOポート有効化、システム設定、ROM80の設定等の情報処理装置1全体としての設定が行われ(S207)、制御レジスタ、トランスレーション・ルックアサイド・バッファ(TLB)、タグの初期化といったプロセッサ10の内部設定が行われる(S208)。このような処理が行われることで、プロセッサ10の命令処理が可能になり、プロセッサ10がメモリ初期化処理を行うためにBIOSを実行する(S209)。
このとき、SPDデータはS206において、MAC内のSPD記憶部130に格納されている。プロセッサ10は、シリアルバス90bを介することなく、システムバス92a並びにSPD受け渡し部110を介して、SPD記憶部130内にバッファされているSPDデータを読み出して(S210)、図2のフローを終了する。
このように、SPD制御装置100への電源投入により、SPDメモリ60からSPDデータの読み出しを開始するため、本実施形態によるSPD制御装置100は、プロセッサ起動後に行われていたSPDデータの読み取り処理を、プロセッサ初期化終了前に開始することができる。また、シリアルバスを用いたSPDデータの読み出し処理を、プロセッサ初期化終了前に終了させることができるため、プロセッサ起動後、SPDデータの読み出し処理を行わずにメモリモジュールの初期化処理を開始して、OS等の立上げ時間を短縮することができる。
MAC40に接続されるメモリモジュール50の数が増大すると、SPD記憶部130が格納するSPDデータも増大する。また、OS又はFWからのSPD読み出し指示に応答して、SPDメモリ60からの読み出し処理が生じないように、SPD記憶部130には、全てのメモリモジュール50に対応する全SPDデータを格納することが好ましい。そのため、SPD記憶部130は、SPDデータをデータ圧縮してSPDデータに格納し、これにより必要な記憶容量を低減することができる。
以下、図3を用いて、SPD記憶部の構成の一例を説明する。
一般的に、システム仕様、又は、システム運用上の制約により、同一チャネルあるいは同一スロットには、同一規格のメモリモジュールが搭載される。そのため、メモリモジュール間におけるSPDデータの内容は、多くの部分が共通であり、一部だけが異なる。SPDデータのデータ圧縮を行うケースでは、そのようなSPDデータの内容の共通性を利用して、SPD記憶部にバッファするSPDデータのデータ圧縮を行う。
図3(a)は、データ圧縮を行わずにSPDデータをSPD記憶部に記憶する場合のSPD記憶部の装置構成の一例を示す図である。図3(a)に示される例では、SPD制御装置100は、SPD記憶部130として、SPD記憶部130aに加えて、有効ポインタ記憶部134aを有する。
図3(a)に示されるように、SPD記憶部130aのSPDアドレス131aは、チャネル番号、スロット番号、SPDメモリのメモリアドレスを有し、これらの組合せにより、メモリモジュール50のSPDデータを特定することができる。このSPDアドレス131aは、読み出し対象の全SPDデータがSPD記憶部130aでヒットするために、全SPDメモリ60の全てのSPDデータを特定するアドレスであることが好ましい。
例えば、SPDメモリ60のメモリ空間は、JEDEC(Joint Electron Devices Engineering Council)から提供される仕様「JEDEC Standard No. 21−C Page 4.1.2.4 -1 Appendix D, Rev. 1.0 : SPD’s for DDR SDRAM」に従って規定される。この場合、SPDメモリ60のメモリ空間は、SPDメモリ60のアドレス数である8ビットの行と、各アドレスに格納されるSPDデータのデータ本体である8ビットの列で規定される。
上記JEDEC仕様に従う場合、図3(a)に示されるメモリ空間は、例えば、チャネル番号(1ビット)+スロット番号(1ビット)+SPDメモリのメモリアドレス(8ビット)の行と、有効ビット(1ビット)+データ本体(8ビット)の列で規定される。つまり、SPDアドレス131aの各アドレスに格納されるデータのフォーマット151は、有効ビット(1ビット)+データ本体(8ビット)のデータ幅を有する。ここで、有効ビット数とは、SPD記憶部130aにSPDメモリ60のSPDアドレスに格納されたデータが格納されたか否かを示すビットである。有効ビットが「1」の場合、SPDデータが格納されており、有効ビットが「0」の場合、SPDデータが格納されていないことを示す。
図3(a)のSPDアドレス131aに示すように、SPDアドレス131aは、チャネル番号、スロット番号、SPD内メモリアドレスの並びに従って、昇順でシーケンシャルに配番されている。有効ポインタ記憶部134aは、SPDメモリ60から昇順で読み出されて、SPD記憶部130aにSPDアドレス昇順で格納されたエントリのうち最後尾のSPDアドレスをポインタとして格納する。なお、この最後尾のアドレスを指示するデータを「有効ポインタ」と称する。これにより、有効ポインタは、SPDアドレス131aにおいて、昇順で数えてどの順番のSPDアドレスまでSPDデータが格納されたかを指示する。このように、有効ポインタ記憶部134aはSPDアドレスを格納するために、有効ポインタ記憶部134aは、SPDアドレス131aのアドレス幅と同じ10ビットのデータ幅を有する。
この有効ポインタは、SPDアドレスに従って、SPD記憶部130aにSPDデータを登録するために利用される(後述)。
図3(b)は、データ圧縮してSPDデータをSPD記憶部に記憶する場合のSPD記憶部の装置構成の一例を示す図である。図3(b)に示される例では、SPD制御装置100は、SPD記憶部130として、SPD記憶部130b、有効ポインタ記憶部134b、SPDポインタ記憶部136b、及びテンポラルポインタ記憶部138bを有する。
上記JEDEC仕様によれば、SPDメモリのデータ幅は8ビットであるが、上記仕様に反して、SPDメモリのデータ幅が8ビット以上になる場合がある。例えば、JEDEC仕様の「モジュールデータ幅設定」によれば、メモリモジュールのデータ幅は、2つの8ビットデータを利用してデータ定義される。しかしながら、メモリモジュールの提供会社によっては、上記JEDEC仕様に反して、1つの16ビットデータを利用してモジュールデータ幅を規定したSPDメモリもある。その場合、SPD記憶部130aが、16ビット分のデータ幅を用意する必要がある。
図3(b)では、上記のような16ビットのデータ幅を有するSPDデータのデータ圧縮を図るため、SPD記憶部130bには、共通のSPDデータのうち、重複部分を排除してただ1つに選択された固有のSPDデータを格納する。このようなデータ圧縮は、同じ仕様のメモリモジュールを複数使うとき、チャネル番号及びスロット番号が異なるだけで、同じSPDメモリアドレスに格納された同じSPDデータが読み出されるためより有用になる。
SPD記憶部130bの各アドレスに格納されるデータのフォーマット152は、SPDメモリ60に格納されるデータ本体のデータ幅を有する。このデータ本体は、例えば、16ビットである。
また、本実施形態では、SPD記憶部130bは、00〜ffまでのアドレスがあるたため、SPD記憶部130bのアドレス幅は、8ビットである。
SPDポインタ記憶部136bでは、SPD記憶部130a同様に、SPDアドレス131bは、チャネル番号、スロット番号、SPDメモリアドレスを有し、これらの組合せにより、メモリモジュール50のSPDデータを特定する。このSPDアドレス131bは、読み出し対象の全SPDデータがSPD記憶部130bでヒットするために、全SPDメモリ60の全てのSPDデータを特定するアドレスであることが好ましい。
SPDポインタ記憶部136bでは、SPDアドレス131bの各アドレスに格納されるデータのフォーマット153は、有効ビット(1ビット)+SPD記憶部130bのアドレス幅(8ビット)のデータ幅を有する。
有効ポインタ記憶部134bは、SPDメモリ60から昇順で読み出されて、SPDデータの重複部分を排除してSPD記憶部130bにSPDアドレス昇順で格納されたエントリのうち最後尾のSPDアドレスを格納する。この最後尾のSPDアドレスは、有効ポインタは、SPDアドレス131bにおいて、昇順で数えてどの順番のSPDアドレスまでSPDデータが格納されたかを指示する。
なお、有効ポインタ記憶部134bは、SPD記憶部130bのアドレスを格納するためにSPD記憶部130bのアドレス幅と同じ8ビットのデータ幅を有する。有効ポインタは、SPD記憶部130bにSPDデータを登録するために利用される(後述)。
テンポラルポインタ記憶部138bは、SPDデータの中で重複部分を排除してSPD記憶部130bに固有のSPDデータを選択する処理を行う上で、利用されるSPD記憶部130bのアドレスをテンポラルポインタとして格納する。ここで格納されるSPD記憶部130bのアドレスは、SPD記憶部130bに既に登録されたSPDデータに対応するSPD記憶部130bのアドレスである。このテンポラルポインタ記憶部138bに格納アドレスをインクリメントしながら利用することで、既登録のSPDデータと、SPDメモリ60内のSPDデータとの照合処理を行うことができる。
また、テンポラルポインタ記憶部138bは、SPD記憶部130bのアドレスを格納するために、SPD記憶部130bのアドレス幅と同じ8ビットのデータ幅を有する。
なお、テンポラルポインタ記憶部138bに記憶された情報のより詳細な利用方法は、図5及び6において説明する。
SPDメモリ60のデータ幅が16ビットのとき、図3(a)に示すSPD記憶部130aは、全SPDアドレス131a(チャネル・スロット数(4ビット)×SPDメモリアドレス(256ビット))×データ幅(1ビット+16ビット)のメモリ空間を有する。
一方、図3(b)に示すSPDポインタ記憶部136bは、全SPDアドレス131aであるチャネル・スロット数(4ビット)×SPDメモリアドレス(256ビット)×データ幅(9ビット)のメモリ空間を有する。また、SPD記憶部130bは、SPDメモリアドレス(256ビット)×データ幅(16ビット)のメモリ空間を有する。
この場合のデータ圧縮率は、下記式で示される。
図3(b)に示すメモリ容量/図3(a)に示すメモリ容量=(4×256×9+256×16)/(4×256×17)=0.76
したがって、図3(b)に示すメモリ容量は、図3(a)に示すメモリ容量に対して約23〜24%のデータ圧縮効果がある。また、この効果は、チャネル及びスロット数の増加によりさらに大きくなる。例えば、チャネル及びスロット数を32にして、32個の同じメモリモジュールが搭載された場合について考えると、データ圧縮率は、下記式で示される。
図3(b)に示すメモリ容量/図3(a)に示すメモリ容量=(32×256×9+256×16)/(32×256×17)=0.56
図3(b)に示すメモリ容量は、図3(a)に示すメモリ容量に対して約44%のデータ圧縮効果がある。
また、SPDデータは、そのデータが示す情報は異なっても、同じビット列となる場合がある。このような場合も、重複したSPDデータは排除されてSPD記憶部130bに格納されるため、上記式では表されないデータ圧縮効果がある。
このように、本実施形態では、情報処理装置1に搭載される大量のメモリモジュール用のSPDデータを圧縮して格納することができるため、SPD記憶部130を小型化、低コスト化することができる。
図4を用いて、SPD記憶部130aへのSPDデータの登録フローの一例を説明する。なお、図4に示されたSPDデータの登録フローは、図2で説明した情報処理装置1の起動に伴うSPD読み出し処理(S204〜S206)に行われても良いし、OS又はFWのSPD読み出しに対応するSPDデータがSPD記憶部130に無かった場合に行っても良い。
最初に、SPD読み出しシーケンサ122は、SPD読み書き制御部124に、リードコマンドとSPDアドレスを送出する。SPD読み書き制御部124は、SPD読み出しシーケンサ122からSPDアドレスを受信すると、まず、有効ポインタ記憶部134aの内容を「−1」にリセットする(S301)。
SPD読み書き制御部124は、SPD記憶部130aの内容を全て0にリセットする(S302)。例えば、チャネル番号=0、スロット番号=0、SPD内のオフセット=0に設定する。
SPD読み出しシーケンサ122は、読み出し対象となるSPDアドレスが、MAC40に接続されている全てのSPDメモリ60のSPDアドレスの範囲内か否かを判断する(S303)。SPDアドレスは、最初の読み出しの場合、上記したように、チャネル番号=0、スロット番号=0、SPD内のオフセット=0となる。また、S303で判断されるSPDメモリ60のSPDアドレスの範囲は、例えば、チャネル番号0〜4、スロット番号0〜1、SPDメモリのメモリアドレス0〜255である。
読み出し対象のSPDアドレスがSPDアドレス範囲内の場合(S303 Yes)、SPD読み書き制御部124は、SPDメモリ60からSPDデータを読み出して、読み出したSPDデータをSPD読み出しレジスタ144に設定する(S304)。読み出し対象のSPDアドレスがSPDアドレス範囲内にない場合(S303 No)、全SPD範囲内のSPDデータを読み出したと判断して、この処理フローを終了する。
SPD読み書き制御部124は、SPD読み出しレジスタ144に設定されたSPDデータを、SPD記憶部130の該当するSPDアドレス131aに格納する(S305)。次に、SPD読み書き制御部124は、SPD記憶部130に格納したSPDアドレスの先頭ビットを有効(オン)にし、有効ポインタ記憶部134aの有効データ数を1つインクリメントする(S306)。
SPD読み出しシーケンサ122は、有効ポインタ記憶部134aに格納した有効データ数が、S303で取得したSPDアドレス範囲内の最終SPDアドレスに相当しないと判断する場合(S307 No)はS308に進む。一方、有効ポインタ記憶部134aに格納した有効データ数がSPDアドレス範囲内の最終SPDアドレスに相当すると判断する場合(S307 Yes)、全SPD範囲内のSPDデータを読み出したと判断して、フローを終了する。
S308では、SPD読み書き制御部124は、読み出し対象のSPDアドレスをインクリメントして、S303に戻り、上記したステップS303〜S307の処理を再度繰り返すことで、SPDデータをさらに読み出す。
図5及び6を用いて、SPD記憶部130bのSPDデータの登録フローの一例を説明する。
図5の登録フローのS301〜S303は、図4を用いて説明した登録フローS301〜S303と同じ処理が行われる。
S303に続き、SPD読み書き制御部124は、テンポラルポインタ記憶部138bを「0」にリセットする(S401)。SPD読み書き制御部124は、受信したリードコマンドとSPDアドレスに従ってSPDメモリ60からSPDデータを読み出し(S402)、読み出したSPDデータを、SPD読み出しレジスタ144に設定する(S403)。
SPD読み出しシーケンサ122は、有効ポインタ記憶部134bと、テンポラルポインタ記憶部138bとを比較する(S404)。有効ポインタ記憶部134bに設定された有効データ数が、テンポラルポインタ記憶部138bに設定されたデータ数以上の場合(S404 No)、新たにSPDデータ記憶部130bにSPDデータを登録するために、S405に進む。一方、有効ポインタ記憶部134bに設定された有効データ数が、テンポラルポインタ記憶部138bに設定されたデータ数以下の場合(S404 Yes)、新たにSPDポインタ記憶部136bにSPDデータ記憶部130bのアドレスを登録するために、S410に進む。
S405〜S409では、SPD読み書き制御部124によるSPDポインタ記憶部136bへのSPD記憶部130bのアドレス登録処理が行われる。
まず、SPD読み書き制御部124は、SPD記憶部130bの有効データ数が増加するため、有効ポインタ記憶部134bの有効ポインタがインクリメントする(S405)。
SPD読み書き制御部124は、有効ポインタ記憶部134bの有効ポインタと同じ値をとるSPD記憶部130bのアドレスに、S402で読み出したSPDデータを登録する(S406)。有効ポインタ記憶部134bは、SPD記憶部130bの有効データ数を指示するため、新たにSPD記憶部130bにSPDデータを登録するときは、S405でインクリメントされた有効ポインタが利用される。
次に、S406で新たにSPDデータが登録されたため、登録されたSPDデータを指示するSPD記憶部130bのアドレスを、SPD読み書き制御部124は、SPDポインタ記憶部136bに登録する(S407)。
SPD読み出しシーケンサ122は、有効ポインタが、SPD記憶部130bの最終アドレスより大きいか否かを判断することにより、SPDアドレスが最終アドレスに達したか否かを判断する(S408)。有効ポインタが最終アドレスより(S408 Yes)、SPD記憶部130bは全アドレスにSDP情報が格納されているため、フローを終了する。有効ポインタが最終アドレスより小さい場合(S408 No)、まだSPD記憶部130bにSPDデータを格納できるため、読み出しSPDアドレスをインクリメントして(S409)、S303に戻り再度処理を繰り返す。有効ポインタが最終アドレスと同じ場合(S408 Yes)、SPDアドレスが最終アドレスに達したと判断して、フロー処理を終了する。
S410では、テンポラルポインタ記憶部138bのテンポラルポインタが指示するSPD記憶部130bのSPDデータと、S403でSPD読み出しレジスタ144に格納されるSPDデータが一致するか否かを判断する(S410)。一致する場合(S410 Yes)は、有効ポインタ記憶部136bにテンポラルポインタを記録する(S411)。S411に続き、S412では、次のSPDアドレスについて処理をすすめるために、読み出しSPDアドレスをインクリメントする。一致しない場合(S410 No)は、SPDデータ登録部130bの次の有効データを参照するためにテンポラルポインタをインクリメントする(S413)。
図7を用いて、FW又はOSからの読み出しによるSPD記憶部130aからのSPDデータの読み出しフローの一例を説明する。
最初に、SPD受け渡し部110は、FW又はOSからの読み出し要求と共にこの読み出し要求に含まれる読み出し対象のSPDアドレスを受信する(S501)。読み出し対象となるSPDアドレスは、特定のメモリモジュールの全SPDアドレスや、全メモリモジュールの全SPDアドレス等である。SPD読み書き制御部124は、全SPDアドレス131aを、SPD記憶部130aから読み出す(S502)。
SPD読み出しシーケンサは、S501で受信した読み出しアドレスが、S502で読み出した全SPDアドレス131aの範囲内にあるか否かを判断する(S503)。読み出し対象のSPDアドレスが、有効なSPDアドレス範囲内に無い場合(S503 No)、図3のS304〜S305で説明したようにSPDメモリ60からSPD仕様情報を読み出す処理を実行して(S506)、読み出し対象のSPDアドレスにあるSPDデータを、SPD記憶部130a又は130bに格納し、S504に進む。
なお、このようにFW又はOSから受信した読み出し対象となるSPDデータが、SPD記憶部130aに無い状況は、図2で説明したようなプロセッサ初期化前のSPDデータの読み出し処理を無効化したケースが該当する。S503及びS506はそのような場合の異常処理として機能し得る。
また、S503において有効なSPDアドレス範囲内にある場合(S503 Yes)、S504に進む。
S504では、読み出したSPDデータが有効か否かを判断する。なお、SPD記憶部130aに「−1」が入力されているため、その値に基づいてSPDデータが有効か否かを判断することができる。SPDデータが有効でない場合(S504 No)は、S507に進み再度SPDデータをSPDから取得する。なお、S507では、図3のS304〜S305で説明したようにSPDメモリ60からSPD仕様情報を読み出す処理を実行する(S507)。読み出し処理終了後、S505に進む。SPDデータが有効である場合(S504 Yes)は、読み出したSPDデータをSPD受け渡し部110を介して要求元であるFW又はOSに戻して(S505)、SPDデータの読み出しフローを終了する。
図8を用いて、FW又はOSからの読み出しによるSPD記憶部130bからのSPDデータの読み出しフローの一例を説明する。
最初に、SPD読み書き制御部124は、FW又はOSからの読み出し要求と共に読み出し要求に含まれる読み出し対象のSPDアドレスを受信する(S601)。SPD読み書き制御部124は、読み出し対象のSPDアドレスに格納されるポインタをSPD記憶部130aから読み出す(S602)。SPD読み書き制御部124は、読み出したポインタが有効か否かを判断する(S603)。言い換えれば、SPD読み書き制御部124は、SPDポインタ記憶部136bの中で受信した読み出し対象のSPDアドレス131bのポインタの有効ビットが「1」か「0」かを判断する。有効ビットが「0」の場合は、当該データエントリにはSPD記憶部130bのアドレスが格納されない。ポインタが有効でない場合(S603 No)は、SPDデータのSPD記憶部130bへの登録処理が実行される。この処理では、SPD読み書き制御部124は、有効ポインタ記憶部134bから有効ポインタを取得する(S606)。そして、図5のS303、S401〜S413の処理を実行して、SPDメモリからSPDデータを読み出して、SPD記憶部130bにSPDデータを登録する(S607)。SPD読み出し処理終了後、S604に進む。
一方、S603で、ポインタが有効であると判断された場合(S603 Yes)は、SPDポインタ記憶部136bに格納されるSPD記憶部130bのアドレスを参照して、SPD記憶部130bからSPDデータを読み出す(S604)。
SPD読み書き制御部124は、読み出したSPDデータを、SPD受け渡し部110を介して要求元であるFW又はOSに戻して(S605)、SPDデータの読み出しフローを終了する。
以上述べた一実施形態は、以下の付記の通りである。
(付記1)
プロセッサ、メモリモジュール、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続される制御装置であって、
前記制御装置への電源投入により、前記仕様情報記憶メモリから前記仕様情報を読み出す読み出し部と、
前記仕様情報記憶メモリから読み出された仕様情報を格納する記憶部と、
前記プロセッサから前記仕様情報の読み出し指示を受信して、前記記憶部に格納された前記仕様情報を前記プロセッサに受け渡す受け渡し部と、
を有することを特徴とする制御装置。
(付記2)
前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、
前記記憶部は、前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を格納し、
前記制御装置は、前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて格納するポインタ記憶部をさらに有し、
前記SPD読み出し部は、読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、付記1に記載の制御装置。
(付記3)
前記読み出し部は、前記仕様情報をバースト転送で前記プロセッサに受け渡すことを特徴とする、付記1又は2に記載の制御装置。
(付記4)
プロセッサと、
メモリモジュールと、
制御装置と、を備え、
前記メモリモジュールは、
第一のメモリと、
前記メモリモジュールの仕様を示す仕様情報を記憶する第二のメモリとを有し、
前記制御装置は、
前記制御装置への電源投入により、前記第二のメモリから前記仕様情報を読み出す読み出し部と、
前記読出し部が読みだした仕様情報を格納する記憶部と、
前記プロセッサからの読み出し指示を受信して、前記記憶部に格納された仕様情報を前記プロセッサに受け渡す受け渡し部と、
を有することを特徴とする情報処理装置。
(付記5)
前記制御装置は、前記メモリモジュールへのアクセスを制御するメモリ制御装置であることを特徴とする、付記4に記載の情報処理装置。
(付記6)
前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、
前記記憶部は、前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を格納し、
前記制御装置は、前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて格納するポインタ記憶部をさらに有し、
前記SPD読み出し部は、読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、付記4又は5に記載の情報処理装置。
(付記7)
前記読み出し部は、前記仕様情報をバースト転送で前記プロセッサに受け渡すことを特徴とする、付記4〜6のいずれか1項に記載の情報処理装置。
(付記8)
プロセッサ、メモリモジュール、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続され、且つ記憶部を有する制御装置により前記プロセッサに前記メモリモジュールを認識させるメモリモジュール認識方法であって、
前記プロセッサが、前記制御装置への電源投入により、立ち上げ処理を開始し、
前記制御装置は、前記制御装置への電源投入により、前記仕様情報記憶メモリから前記仕様情報の読み出しを開始し、
前記制御装置は、前記仕様情報を前記記憶部に格納し、
前記制御装置は、前記立ち上げ処理を終了したプロセッサから前記仕様情報の読み出し指示を受信して、前記記憶部に格納された前記仕様情報を前記プロセッサに受け渡すことを特徴とするメモリモジュール認識方法。
(付記9)
前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、且つ、ポインタ記憶部をさらに有すると共に、
前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を前記記憶部に格納し、
前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて前記ポインタ記憶部に格納し、
読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、付記8に記載のメモリモジュール認識方法。
(付記10)
前記仕様情報をバースト転送で前記プロセッサに受け渡すステップをさらに有することを特徴とする、付記8又は9に記載のメモリモジュール認識方法。
(付記11)
前記制御装置は、複数のメモリモジュール及び前記プロセッサとシステムバスで接続され、
前記制御装置は、前記複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとシリアルバスで接続され、
前記仕様情報の読み出しを開始するステップは、前記シリアルバスを介して実行され、
前仕様情報の受け渡しステップは、前記システムバスを介して実行されることを特徴とする、付記8〜10のいずれか1項に記載のメモリモジュール認識方法。
図1は、情報処理装置の構成の一例を示す図である。 図2は、プロセッサの初期化と独立して行われるSPD制御装置におけるメモリ認識処理のフローチャートである。 図3は、SPD記憶部の構成の一例を示す図である。 図4は、SPD記憶部130aへのSPDデータの登録フローの一例を示す図である。 図5は、SPD記憶部130bへのSPDデータの登録フローの一例を示す図である。 図6は、SPD記憶部130bへのSPDデータの登録フローの一例を示す図である。 図7は、FW又はOSからの読み出しによるSPD記憶部130aからのSPDデータの読み出しフローの一例を示す図である。 図8は、FW又はOSからの読み出しによるSPD記憶部130bからのSPDデータの読み出しフローの一例を示す図である。
符号の説明
1 情報処理装置
10 プロセッサ
40 MAC
42 PRS
50 メモリモジュール
60 SPDメモリ
100 SPD制御装置
110 SPD受け渡し部
120 SPD読み出し部
122 SPD読み出しシーケンサ
124 SPD読み出しレジスタ
130、130a、130b SPD記憶部

Claims (10)

  1. プロセッサ、メモリモジュール、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続される制御装置であって、
    前記制御装置への電源投入により、前記仕様情報記憶メモリから前記仕様情報を読み出す読み出し部と、
    前記仕様情報記憶メモリから読み出された仕様情報を格納する記憶部と、
    前記プロセッサから前記仕様情報の読み出し指示を受信して、前記記憶部に格納された前記仕様情報を前記プロセッサに受け渡す受け渡し部と、
    を有することを特徴とする制御装置。
  2. 前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、
    前記記憶部は、前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を格納し、
    前記制御装置は、前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて格納するポインタ記憶部をさらに有し、
    前記SPD読み出し部は、読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、請求項1に記載の制御装置。
  3. 前記読み出し部は、前記仕様情報をバースト転送で前記プロセッサに受け渡すことを特徴とする、請求項1又は2に記載の制御装置。
  4. プロセッサと、
    メモリモジュールと、
    制御装置と、を備え、
    前記メモリモジュールは、
    第一のメモリと、
    前記メモリモジュールの仕様を示す仕様情報を記憶する第二のメモリとを有し、
    前記制御装置は、
    前記制御装置への電源投入により、前記第二のメモリから前記仕様情報を読み出す読み出し部と、
    前記読出し部が読みだした仕様情報を格納する記憶部と、
    前記プロセッサからの読み出し指示を受信して、前記記憶部に格納された仕様情報を前記プロセッサに受け渡す受け渡し部と、
    を有することを特徴とする情報処理装置。
  5. 前記制御装置は、前記メモリモジュールへのアクセスを制御するメモリ制御装置であることを特徴とする、請求項4に記載の情報処理装置。
  6. 前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、
    前記記憶部は、前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を格納し、
    前記制御装置は、前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて格納するポインタ記憶部をさらに有し、
    前記SPD読み出し部は、読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、請求項4又は5に記載の情報処理装置。
  7. 前記読み出し部は、前記仕様情報をバースト転送で前記プロセッサに受け渡すことを特徴とする、請求項4〜6のいずれか1項に記載の情報処理装置。
  8. プロセッサ、メモリモジュール、及び該メモリモジュールの仕様を示す仕様情報を記憶する仕様情報記憶メモリに接続され、且つ記憶部を有する制御装置により前記プロセッサに前記メモリモジュールを認識させるメモリモジュール認識方法であって、
    前記プロセッサが、前記制御装置への電源投入により、立ち上げ処理を開始し、
    前記制御装置は、前記制御装置への電源投入により、前記仕様情報記憶メモリから前記仕様情報の読み出しを開始し、
    前記制御装置は、前記仕様情報を前記記憶部に格納し、
    前記制御装置は、前記立ち上げ処理を終了したプロセッサから前記仕様情報の読み出し指示を受信して、前記記憶部に格納された前記仕様情報を前記プロセッサに受け渡すことを特徴とするメモリモジュール認識方法。
  9. 前記制御装置は、複数のメモリモジュールと、該複数のメモリモジュールにそれぞれ対応する複数の前記仕様情報記憶メモリとに接続され、且つ、ポインタ記憶部をさらに有すると共に、
    前記複数の仕様情報記憶メモリに格納される複数の前記仕様情報のうち、重複部分を取り除いた仕様情報を前記記憶部に格納し、
    前記記憶部のアドレスを指示するポインタ情報を、前記メモリモジュールの位置情報と関連付けて前記ポインタ記憶部に格納し、
    読み出し対象となるメモリモジュールの位置情報を含む仕様情報の読み出し指示を受信して、該メモリモジュールの位置情報に関連付けられる前記ポインタ情報を前記ポインタ記憶部から取得し、且つ、該取得した前記ポインタ情報によって指示される前記記憶部のアドレスから、前記仕様情報を取得することを特徴とする、請求項8に記載のメモリモジュール認識方法。
  10. 前記仕様情報をバースト転送で前記プロセッサに受け渡すステップをさらに有することを特徴とする、請求項8又は9に記載のメモリモジュール認識方法。
JP2008200051A 2008-08-01 2008-08-01 制御装置、情報処理装置、及びメモリモジュール認識方法 Expired - Fee Related JP5292978B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008200051A JP5292978B2 (ja) 2008-08-01 2008-08-01 制御装置、情報処理装置、及びメモリモジュール認識方法
US12/474,857 US8301858B2 (en) 2008-08-01 2009-05-29 Control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008200051A JP5292978B2 (ja) 2008-08-01 2008-08-01 制御装置、情報処理装置、及びメモリモジュール認識方法

Publications (2)

Publication Number Publication Date
JP2010039645A true JP2010039645A (ja) 2010-02-18
JP5292978B2 JP5292978B2 (ja) 2013-09-18

Family

ID=41609496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008200051A Expired - Fee Related JP5292978B2 (ja) 2008-08-01 2008-08-01 制御装置、情報処理装置、及びメモリモジュール認識方法

Country Status (2)

Country Link
US (1) US8301858B2 (ja)
JP (1) JP5292978B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175577A (ja) * 2010-02-25 2011-09-08 Nec Computertechno Ltd コンピュータシステム、メモリ初期化方法、及びプログラム
JP2011233006A (ja) * 2010-04-28 2011-11-17 Brother Ind Ltd 電子回路、画像形成装置およびddr−sdramの初期化方法
WO2011148484A1 (ja) * 2010-05-27 2011-12-01 富士通株式会社 メモリシステム、メモリ装置及びメモリインターフェース装置
US10109258B2 (en) 2013-07-18 2018-10-23 Mitsubishi Electric Corporation Device and method for presenting information according to a determined recognition degree

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977831B2 (en) 2009-02-11 2015-03-10 Stec, Inc. Flash backed DRAM module storing parameter information of the DRAM module in the flash
JP6000655B2 (ja) * 2012-05-30 2016-10-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
US20130346735A1 (en) * 2012-06-21 2013-12-26 Ati Technologies Ulc Enhanced system management bus
US8990479B2 (en) * 2012-07-30 2015-03-24 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Using persistent memory regions within memory devices to collect serial presence detect and performance data
KR101987426B1 (ko) * 2012-09-07 2019-09-30 삼성전자주식회사 불휘발성 메모리 모듈, 불휘발성 메모리 모듈을 포함하는 메모리 시스템, 그리고 불휘발성 메모리 모듈의 제어 방법
US9483411B2 (en) * 2014-03-05 2016-11-01 Kabushiki Kaisha Toshiba Memory system which transfers management information between first and second memories in a burst mode before a read process is performed on a third memory
JP2022129524A (ja) * 2021-02-25 2022-09-06 ソニーセミコンダクタソリューションズ株式会社 メモリコントローラおよびメモリアクセス方法
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电系统以及非暂态电脑可读取媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289935A (ja) * 1992-04-06 1993-11-05 Hitachi Ltd 記憶装置
JP2006127515A (ja) * 2004-10-25 2006-05-18 Samsung Electronics Co Ltd メモリモジュール内でのインターフェースタイミングを制御するメモリシステム及びタイミング制御方法
JP2007122627A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 情報処理装置及びメモリ初期化方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340561B2 (en) * 2004-01-08 2008-03-04 Hewlett-Packard Development Company, L.P. Computer memory initialization
JP4616586B2 (ja) * 2004-06-30 2011-01-19 富士通株式会社 メモリ初期化制御装置
US20060064563A1 (en) * 2004-09-23 2006-03-23 Hobson Louis B Caching presence detection data
KR100777446B1 (ko) * 2005-05-25 2007-11-21 삼성전자주식회사 전자장치 및 그 부팅방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05289935A (ja) * 1992-04-06 1993-11-05 Hitachi Ltd 記憶装置
JP2006127515A (ja) * 2004-10-25 2006-05-18 Samsung Electronics Co Ltd メモリモジュール内でのインターフェースタイミングを制御するメモリシステム及びタイミング制御方法
JP2007122627A (ja) * 2005-10-31 2007-05-17 Toshiba Corp 情報処理装置及びメモリ初期化方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011175577A (ja) * 2010-02-25 2011-09-08 Nec Computertechno Ltd コンピュータシステム、メモリ初期化方法、及びプログラム
JP2011233006A (ja) * 2010-04-28 2011-11-17 Brother Ind Ltd 電子回路、画像形成装置およびddr−sdramの初期化方法
WO2011148484A1 (ja) * 2010-05-27 2011-12-01 富士通株式会社 メモリシステム、メモリ装置及びメモリインターフェース装置
JP5348321B2 (ja) * 2010-05-27 2013-11-20 富士通株式会社 メモリシステム、メモリ装置及びメモリインターフェース装置
US10109258B2 (en) 2013-07-18 2018-10-23 Mitsubishi Electric Corporation Device and method for presenting information according to a determined recognition degree

Also Published As

Publication number Publication date
US8301858B2 (en) 2012-10-30
US20100030976A1 (en) 2010-02-04
JP5292978B2 (ja) 2013-09-18

Similar Documents

Publication Publication Date Title
JP5292978B2 (ja) 制御装置、情報処理装置、及びメモリモジュール認識方法
US12353727B2 (en) Channel optimized storage modules
US11210226B2 (en) Data storage device and method for first processing core to determine that second processing core has completed loading portion of logical-to-physical mapping table thereof
US10776280B1 (en) Data storage device and method for updating logical-to-physical mapping table
US7725621B2 (en) Semiconductor device and data transfer method
US20110246760A1 (en) Electronic device and electronic device system
KR20060113248A (ko) 낸드 플래시 메모리 제어 장치 및 방법
US9342445B2 (en) System and method for performing a direct memory access at a predetermined address in a flash storage
KR101793282B1 (ko) 마이크로 컴퓨터
US20100153622A1 (en) Data Access Controller and Data Accessing Method
CN101310255A (zh) 硬件辅助的装置配置检测
JP2009533763A (ja) 大蓄積容量を備えるマルチメディアカード
KR20220036169A (ko) 메모리 시스템 및 데이터 처리 시스템
US20070283139A1 (en) Information processing apparatus and control method used thereby
JP2013246630A (ja) ブートシステムおよびシステム初期化方法
US11237954B2 (en) Controller and data storage system having the same
EP2916236B1 (en) Multi mode address spaces for PC to device transfer optimization
EP2194458A2 (en) Request processing device, request processing system, and access testing method
CN114153764A (zh) 进行动态资源管理的方法、记忆装置及记忆装置的控制器
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
CN118051268A (zh) 电子设备及其启动方法
US10261700B1 (en) Method and apparatus for streaming buffering to accelerate reads
US20080222385A1 (en) Parameter setting method and apparatus for network controller
US20230298684A1 (en) Memory system and information processing system
KR100743252B1 (ko) 코드 데이터 에러 정정 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110513

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

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: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees