JP2005346502A - メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム - Google Patents

メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム Download PDF

Info

Publication number
JP2005346502A
JP2005346502A JP2004166339A JP2004166339A JP2005346502A JP 2005346502 A JP2005346502 A JP 2005346502A JP 2004166339 A JP2004166339 A JP 2004166339A JP 2004166339 A JP2004166339 A JP 2004166339A JP 2005346502 A JP2005346502 A JP 2005346502A
Authority
JP
Japan
Prior art keywords
command
signal
state
memory
load
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.)
Withdrawn
Application number
JP2004166339A
Other languages
English (en)
Inventor
Kohei Murayama
公平 村山
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004166339A priority Critical patent/JP2005346502A/ja
Priority to US11/143,825 priority patent/US7536519B2/en
Publication of JP2005346502A publication Critical patent/JP2005346502A/ja
Withdrawn legal-status Critical Current

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/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types

Abstract

【課題】 多くのメモリデバイスを接続したときの負荷によるコマンドやアドレスの遅延による影響を吸収するとともに、安価に多くのメモリデバイスを接続することができるシステムを提供する。
【解決手段】 コマンドの発行サイクルを変更可能なメモリコントローラ200と、メモリデバイス201の接続個数を通知するためのデバイス個数切替スイッチ203とを備える。メモリコントローラ200内のデコーダ103−1,104−1は、メモリデバイス接続個数の通知結果より負荷レベルを判定し、負荷レベルが大きいと判定された場合はコマンド/アドレス系信号を発行するサイクル数を多くし、負荷レベルが少ないと判定された場合には前記サイクル数を少なくする。
【選択図】 図1

Description

本発明は、LSI等に接続されるメモリデバイスに対するアクセスを制御するメモリアクセス制御装置及びメモリアクセス制御方法、前記メモリアクセス制御装置を有する情報処理システム、並びに前記メモリアクセス制御装置の制御方法を実行するための制御プログラムに関する。
近年、LSI等に接続されるメモリデバイスとして、DRAM(Dynamic Random Access Memory)がある。DRAMの中でも、クロック信号に同期し、アドレス、コマンド及びデータの受け渡しを行うシンクロナスDRAM(SDRAM)は、高速アクセスを可能とするデバイスとして広く用いられている。
また、メモリデバイスをLSIに接続する方法としては、LSI等の実装基板にメモリデバイスを直に実装しLSIとの接続を行う方法と、DIMM(Dual Inline Memory Module)等のモジュールをセットする専用ソケットを実装基板上に実装し、この専用ソケットを介してメモリデバイスをLSIに接続するといった方法が挙げられる。
メモリ容量を多く必要としないシステムにおいては、前者の方法を採るのが一般的であり、またメモリ容量を多く必要とするシステムにおいては後者の方法を採り、必要なメモリ容量に応じてメモリデバイスをソケットに増設するといった方法が用いられている。
LSI実装基板に直にメモリデバイスを実装する場合と、DIMMの専用ソケット(以下、DIMMソケットと記す)を介してメモリデバイスを接続する場合とでは、各メモリインターフェースポートの負荷が大きく異なる。例えば、64ビットバスのSDRAMを接続する場合、メモリ容量を多く必要としないシステムではデータバス幅が32ビットのメモリデバイスを2組用意してこれを実装基板上に実装して実現するのに対し、DIMMソケットを用いるシステムでは、8ビットのメモリデバイスを16組搭載したDIMMモジュールなどを使用して実現する。
前者の場合には、データバス信号の負荷は2、コマンド/アドレス系信号の負荷は3となり、後者の場合には、データバス信号の負荷は3、コマンド/アドレス系信号の負荷は17となる。また、後者の場合は、使用するDIMMモジュールに依存し、DIMMソケットを2組持つシステムでは最大データバス信号の負荷は5、コマンド/アドレス系信号の負荷は33となる。すなわち、実装基板に直に接続するメモリデバイスではデータとコマンド/アドレス系信号との負荷の差は小さいのに対し、DIMMモジュールを使用するシステムではデータとコマンド/アドレス系信号との負荷の差が大きくなる。
信号線の負荷が大きくなると、信号の立ち上がり/立ち下りの波形が鈍くなり、短時間でLowレベル/Highレベルを切り替える等の処理を行う場合には、各信号が確定するまでの時間に遅延が発生する傾向となる。各信号の信号変化の周波数が高くなると、信号の遅延は、制御側が期待したサイクルでの各信号の確定が困難となり、これは、クロック信号に同期してコマンド、アドレス、データの受け渡しを行うシステムにおいては致命的である。
特に近年はメモリ容量を多く必要とするシステムが一般的となりつつあり、コマンド/アドレス系信号の負荷は増加する方向であり、データとコマンド/アドレス系信号との関係を正常に保ちつつ同期関係を維持することが困難となりつつある。
負荷による同期関係の維持を保証する手法の1つとして、LSI側の出力バッファの駆動能力を調整する手法が挙げられる(第1の従来手法:例えば特許文献1を参照)。すなわち、各信号の負荷が増加した場合には、出力バッファの駆動能力を強くすることで、信号の遅延を小さくすることが可能である。
また、負荷を軽減する手法としては、DIMMモジュール側でコマンド/アドレス系信号を一旦レジスタに保持して、DIMMモジュール内の各デバイスのコマンド/アドレス系信号用のポートに接続する、Registered−DIMMを用いた手法が存在する(第2の従来手法:例えば特許文献2を参照)。この手法によれば、コマンド/アドレス系信号を一旦レジスタで受けることで、複数に分配されていた信号を1つのポートで受けることになり、負荷を軽減することができる。
特開平8−321761号公報 特開2003−345652号公報
しかしながら、上記第1の従来手法では、出力バッファの駆動能力を調整するだけで、全てのDIMMモジュールの枚数や、一枚のDIMMモジュールに搭載されているメモリデバイス数の組み合わせを網羅して制御を行うことは非常に困難であり、メモリ容量を多く必要とするシステムにおいて、この方法によって、信号の遅延、鈍化の悪影響を無くすことは非常に難しい。
また、上記第2の従来手法では、DIMMモジュール内にレジスタを実装するため、モジュール自体が高価となりシステムコストに影響を与える、という問題がある。
本発明は上記従来の問題点に鑑み、多くのメモリデバイスを接続したときの負荷によるコマンド/アドレス系信号の遅延による影響を吸収することができるメモリアクセス制御装置、メモリアクセス制御方法及び制御プログラムを提供することを目的とする。
また、多くのメモリデバイスを接続したときの負荷によるコマンド/アドレス系信号の遅延による影響を吸収することができるとともに、高価なメモリモジュールを用いなくとも多くのメモリデバイスを接続することができる情報処理システムを提供することを目的とする。
上記目的を達成するために、本発明のメモリアクセス制御装置は、メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させる手段と、前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行う手段とを備えたことを特徴とする。
本発明の情報処理システムは、メモリデバイスに対するアクセス制御を行うためのコマンド/アドレス系信号の発行サイクルを変更可能に構成したメモリアクセス制御装置と、前記メモリデバイスの接続個数を通知する通知手段と、前記通知手段の通知結果に対応して負荷の大小を判定する判定手段とを備え、前記負荷の大小に応じて、前記コマンド/アドレス系信号の発行サイクルを変更したことを特徴とする。
本発明の情報処理システムは、コマンド/アドレス系信号によってメモリデバイスに対するアクセスを制御するメモリアクセス制御装置を有する情報処理システムにおいて、前記メモリデバイスの接続個数を通知する通知手段を設け、前記メモリアクセス制御装置は、前記コマンド/アドレス系信号の発行サイクル数を切り替え可能に構成したコマンドサイクル制御手段と、前記通知手段の通知結果に対応して負荷の大小を判定する判定手段と、前記判定手段により負荷が大きいと判定された場合は前記コマンド/アドレス系信号の発行サイクル数を多くし、負荷が小さいと判定された場合は前記コマンド/アドレス系信号のクロックサイクル数を少なくするように前記コマンドサイクル制御手段に指示するコマンドサイクル指定手段とを有することを特徴とする。
本発明のメモリアクセス制御方法は、メモリデバイスに対するアクセスを制御するメモリアクセス制御装置の制御方法を実行するための制御プログラムであって、前記メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させるステップと、前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行うステップとを備えたことを特徴とする。
本発明の制御プログラムは、メモリデバイスに対するアクセスを制御するメモリアクセス制御装置の制御方法を実行するための制御プログラムであって、前記メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させるステップと、前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行うステップとを備えたことを特徴とする。
本発明によれば、多くのメモリデバイスを接続したときの負荷によるコマンド/アドレス系信号の遅延による悪影響を吸収することができ、安価に多くのメモリデバイスを接続することが可能になる。
本発明のメモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラムの実施の形態について、図面を参照しながら説明する。
[第1の実施の形態]
図1は、本発明の第1の実施の形態に係るメモリアクセス制御装置を含むメモリコントローラの構成を示すブロック図であり、図2は、図1に示したメモリコントローラの特徴部分を示すブロック図である。また、図3は、本発明のメモリアクセス制御装置が適用される通常のメモリコントローラの一構成例を示すブロック図である。
<通常のメモリコントローラの構成例>
まず図3を参照しつつ、本発明が適用される通常のメモリコントローラの構成例について説明する。
図3に示すメモリコントローラ101は、LSI外部に接続されたSDRAM等のメモリデバイスのアクセス制御を行うものであり、コマンド処理機構102、行コマンド制御シーケンサ103、列コマンド制御シーケンサ104、コマンド制御機構105、及びデータ制御機構106で構成されている。
コマンド処理機構102は、LSI内部のマスタデバイスから転送されてきたコマンドをインターフェースして、メモリデバイスに対するアクセスのデコードやリフレッシュの制御を行うと共に、メモリコントローラ101自体の様々な設定機構や、メモリデバイス内部のページ管理を行う機構、ページヒット/ミスの判定を行う機構等を有する。ここで、リフレッシュとは、信号電荷の放電によってデータが消失しない時間内に定期的にデータの再書き込みを行う処理である。
コマンド処理機構102よりデコードされたマスタデバイスからのコマンドは、ページミスの場合は行コマンド制御シーケンサ103へ送られ、ページヒットの場合は列コマンド制御シーケンサ104へと送られる。またリフレッシュ等のコマンドは、行コマンド制御シーケンサ103へと送られる。
行コマンド制御シーケンサ103では、メモリデバイスの行コマンド、つまりアクティブ(Active)コマンド、リフレッシュ(Refresh)コマンド、及びプリチャージ(Precharge)コマンド等の各コマンドを制御する。ここで、アクティブコマンドは、アクセス要求を受け付ける各アクセス系の回路をアクティブ状態にするコマンドであり、リフレッシュコマンドは、リフレッシュを行うためのコマンドであり、プリチャージコマンドは、“1”又は“0”のデータが記憶されるメモリセルに接続された信号線(ビット線)をプリチャージするためのコマンドである。
すなわち、行コマンド制御シーケンサ103は、コマンド処理機構102より発行されたコマンドを受け取り、指定された行コマンド制御を行うシーケンサであり、行コマンドとして発行するCS信号(チップ・セレクト信号)117、RAS信号(ロウ・アドレス・ストローブ信号)112、CAS信号(カラム・アドレス・ストローブ信号)113、WE信号(ライト・イネーブル信号)114、及びアドレス115を行コマンド駆動信号116と共にコマンド制御機構105へと出力する。
行コマンド制御シーケンサ103は、行コマンドに関し、コマンド制御機構105に対してコマンド発行要求111を発行してコマンド発行許可110を受け取ることにより状態遷移を行い、この遷移結果に応じた行コマンド駆動信号116と共にコマンドをコマンド制御機構105に発行する。また、コマンド処理機構102より読み出しアクセス又は書き込みアクセスが指示された場合は、この指示を、アクティブ処理後に列コマンド制御シーケンサ104へコマンドと共に伝達する。
列コマンド制御シーケンサ104では、メモリデバイスの列コマンド、つまりリード(Read)コマンドや、ライト(Write)コマンド等の各コマンドを制御する。ここで、リードコマンドは、メモリデバイスからデータを読み出すためのコマンドであり、ライトコマンドは、メモリデバイスに対してデータを書き込むためのコマンドである。
列コマンド制御シーケンサ104は、コマンド処理機構102あるいは行コマンド制御シーケンサ103より指示されたコマンドを受け取り、指定された列コマンド制御を行うシーケンサであり、列コマンドとして発行するCS信号124、CAS信号120、WE信号121及びアドレス122を列コマンド駆動信号123と共にコマンド制御機構105へと出力する。さらに、列コマンドに関し、コマンド制御機構105に対してコマンド発行要求119を発行してコマンド発行許可118を受け取ることにより状態遷移を行い、列コマンド駆動信号123と共にコマンド制御機構105にコマンドを発行する。
コマンド制御機構105は、行コマンド制御シーケンサ103及び列コマンド制御シーケンサ104より指示されたコマンドを受け取り、行コマンド及び列コマンドを選択しメモリデバイスに対してRAS信号125、CAS信号126、WE信号127及びアドレス128を出力する。
コマンド制御機構105は、行コマンド制御シーケンサ103からのコマンド発行要求111と列コマンド制御シーケンサ104からのコマンド発行要求119を受け取ると、メモリバスの状態と各コマンドの発行タイミングより、行コマンド及び列コマンドが発行可能な状態になったときに、各シーケンサ103,104に対してそれぞれコマンド発行許可110,118を発行する。また、コマンド制御機構105は、行コマンド駆動信号116が発行されている期間において行コマンド制御シーケンサ104からのCS信号117、RAS信号112、CAS信号113、WE信号114及びアドレス115をメモリデバイスに対して発行し、列コマンド駆動信号123が発行されている期間において列コマンド制御シーケンサ104からのCS信号124、CAS信号120、WE信号121及びアドレス122をメモリデバイスに対して発行する。また列コマンド駆動信号123が発行されている期間は、RAS信号125を常に駆動しない(Highレベルを出力する)。
データ制御機構106は、メモリデバイスへの書き込みデータ及び読み込みデータの処理を行う。書き込みデータは、コマンド処理機構102からのライトコマンド時にデータ制御機構106に取り込まれ、列コマンド制御シーケンサ104からの出力データタイミング信号108よりメモリバス129へ出力される。読み込みデータは、リード時にコマンド処理機構102から発行される入力データタイミング信号109と、コマンド制御機構102からのCas Latency(CAS信号の待ち時間)の指定とにより、メモリバス129から取り込まれてコマンド処理機構102に送られる。
<本実施の形態のメモリコントローラ>
上述した通常のメモリコントローラ101に本発明を適用した第1の実施の形態について、図1及び図2を参照して説明する。
本実施の形態に係るメモリコントローラ200は、図1に示した通常のメモリコントローラ101に代えてLSI100に搭載され、特に行コマンド制御シーケンサ103Aと列コマンド制御シーケンサ104Aの構成が通常のメモリコントローラ101のものとは異なっている。
このメモリコントローラ200を有するシステムには、メモリデバイス201の接続個数に対応したモード切替信号MSを出力するデバイス個数切替スイッチ203がLSI100外部に設けられ、デバイス個数切替スイッチ203で指定されたモード切替信号MSは、行コマンド制御シーケンサ103Aと列コマンド制御シーケンサ104Aへ入力されるようになっている。すなわち、モード切替信号MSは、LSI100に接続されるメモリデバイス201の数が16デバイス以下の場合はLowレベルに、16デバイスを超える場合はHighレベルに、デバイス個数切替スイッチ203によって指定される。
そして、行コマンド制御シーケンサ103A及び列コマンド制御シーケンサ104Aには、デコーダ103−1,104−1と、行コマンドサイクル指定部103−2及び列コマンドサイクル指定部104−2とがそれぞれ設けられ、デコーダ103−1,104−1は、モード切替信号MSがHighレベルであるときに負荷レベルが大きく、Lowレベルであるときに負荷レベルが小さいと判定する。
行コマンドサイクル指定部103−2及び列コマンドサイクル指定部104−2は、それぞれデコーダ103−1,104−1による負荷レベルの判定結果に基づき、行コマンド制御シーケンサ103Aと列コマンド制御シーケンサ104Aの状態遷移を変化させる。すなわち、負荷レベルが大きいと判定された場合はアドレス及びコマンドを出力するクロックサイクル数が多くなるようにし、負荷レベルが少ないと判定された場合はアドレス及びコマンドを出力するクロックサイクル数が少なくなるように、状態遷移を変化させる。
<本実施の形態の動作>
以下、図4〜図7を参照しつつ本実施の形態の動作を説明する。
図4は、本実施の形態に係る行コマンド制御シーケンサ103Aの状態遷移図であり、図5は、本実施の形態に係る列コマンド制御シーケンサ104Aの状態遷移図である。図6は、本実施の形態の動作(負荷レベル小時)を示すタイミングチャートであり、図7は、本実施の形態の動作(負荷レベル大時)を示すタイミングチャートである。
I.行コマンド制御シーケンサ103Aの動作
行コマンド制御シーケンサ103Aは、コマンド処理機構102からコマンドを受け取ると、コマンド制御機構105に対してコマンド発行要求111を発行し、コマンド発行許可110を受け取った段階で、コマンド待機状態(以下、IDLE状態と呼ぶ)からコマンドを発行する状態へと遷移する。
図4に示すように、行コマンド制御シーケンサ103Aは、アクティブコマンド、プリチャージコマンド、リフレッシュコマンド、オールプリチャージ(Precharge ALL)コマンド、モードセット(ModeSet)コマンド、セルフリフレッシュ(Self Refresh)コマンドを発行する状態に加え、それぞれの状態に遷移する前の前段状態と、列コマンド制御シーケンサ104にコマンドを発行する列コマンド駆動状態(図4中のCOL_START)が存在する。列コマンド駆動状態(COL_START)は、アクティブコマンドを発行する状態から遷移する(図4のM1)。
ここで、図4中のACTIVE_STはアクティブコマンドを発行するアクティブ状態を示し、PCHG_STはプリチャージコマンドを発行するプリチャージ状態を示し、REF_STはリフレッシュコマンドを発行するリフレッシュ状態を示し、PALL_STは、オールプリチャージ(Precharge ALL)コマンドを発行するオールプリチャージ状態を示す。また、MDS_STはモードセット(ModeSet)コマンドを発行するモードセット状態を示し、SREF_STはセルフリフレッシュ(Self Refresh)コマンドを発行するセルフリフレッシュ状態を示す。
また、図4中のACTIVE_PREはアクティブコマンドを発行する状態に遷移する前の前段アクティブ状態を示し、PCHG_PREはプリチャージコマンドを発行する状態に遷移する前の前段プリチャージ状態を示し、REF_PREはリフレッシュコマンドを発行する状態に遷移する前の前段リフレッシュ状態を示し、PALL_PREは、オールプリチャージ(Precharge ALL)コマンドを発行する状態に遷移する前の前段オールプリチャージ状態を示す。また、MDS_PREはモードセット(ModeSet)コマンドを発行する状態に遷移する前の前段モードセット状態を示し、SREF_PREはセルフリフレッシュ(Self Refresh)コマンドを発行する状態に遷移する前の前段セルフリフレッシュ状態を示す。
なお、オールプリチャージコマンドは、メモリデバイス201における全バンクの一括プリチャージを指示するコマンドであり、モードセットコマンドは、モードレジスタにモードパラメータの供給を指示するコマンドであり、セルフリフレッシュコマンドは、SDRAMから成るメモリデバイス201の内部でリフレッシュサイクルを実行するためのセルフリフレッシュ動作を指示するコマンドである。
各コマンドを発行する状態では、行コマンド駆動信号116と、それぞれのコマンドで必要とするCS信号117、RAS信号112、CAS信号113、WE信号114及びアドレス115とをコマンド制御機構105に対して駆動するように制御される。
これに対して、それぞれの状態に遷移する前の前段状態では、行コマンド駆動信号116と、それぞれのコマンドで必要とするRAS信号112、CAS信号113、WE信号114及びアドレス115とをコマンド制御機構105に対して駆動するように制御される。
IDLE状態から、各コマンドを発行する状態あるいは各状態へ遷移する前の前段状態へ遷移の選択は、デコーダ103−1による負荷レベルの判定に基づいて行われる。負荷レベルが小さいと判定された場合は、IDLE状態から直接各コマンドを発行する状態へと遷移(図4中のS1〜S6参照)するのに対して、負荷レベルが大きいと判定された場合は、IDLE状態から前段状態へと遷移(図4中のT1〜T5参照)が行われた後に、各コマンドを発行する状態へと遷移(図4中のN1〜N5参照)が行われる。
各前段状態では、RAS信号125、CAS信号126、WE信号127及びアドレス128が駆動状態となり、各コマンドを発行する状態では、前記の信号群に加え、CS信号130が駆動状態となる。
次に、このような行コマンド制御シーケンサ103Aの動作について、リフレッシュコマンド及びアクティブコマンドの発行を例に説明する。
まずリフレッシュ動作について説明すると、リフレッシュコマンドは、CS信号130、RAS信号125、CAS信号126及びアドレス128を駆動する必要がある。リフレッシュコマンドの発行時はIDLE状態であり、コマンド制御機構105からコマンド発行許可110を受け取った状態で状態遷移が行われる。
負荷レベルが小さいと判定された場合は、IDLE状態からリフレッシュ状態(REF_ST)へと遷移が行われ(図4のS4)、リフレッシュ状態では、行アドレス駆動信号116、CS信号117、RAS信号112、CAS信号113及びアドレス115が駆動され、次のサイクルにおいてIDLE状態へと遷移する(図4のS4a)。一方、負荷レベルが大きいと判定された場合は、IDLE状態から一旦前段リフレッシュ状態(REF_PRE)へと遷移が行われ(図4のT3)、前段リフレッシュ状態では、行アドレス駆動信号116、RAS信号112、CAS信号113及びアドレス115が駆動される。次のサイクルにおいてはリフレッシュ状態へと遷移が行われ(図4のN3)、行アドレス駆動信号116、CS信号117、RAS信号112、CAS信号113及びアドレス115が駆動され、さらに次のサイクルによってIDLE状態へと遷移する(図4のS4a)。
以上により、負荷レベルが小さいと判定された場合には、コマンド制御機構105では、CS信号130、RAS信号125、CAS信号126及びアドレス128をそれぞれ1サイクル間に亘ってメモリデバイス201に対して駆動し(図6のW1を参照)、負荷レベルが大きいと判定された場合には、RAS信号125、CAS信号126及びアドレス128をそれぞれ2サイクル間に亘って駆動し(図7のY1を参照)、CS信号130は最後の1サイクル間のみ駆動するように、制御が行われる。
続いて、アクティブ動作について説明すると、アクティブコマンドは、CS信号130、RAS信号125及びアドレス128を駆動する必要がある。アクティブコマンドの発行時はIDLE状態であり、コマンド制御機構105よりコマンド発行許可110を受け取った段階で状態遷移が行われる。
負荷レベルが小さいと判定された場合は、IDLE状態からアクティブ状態(ACTIVE_ST)へと遷移が行われる(図4のS2)。アクティブ状態では、行アドレス駆動信号116、CS信号117、RAS信号112及びアドレス115が駆動され、列コマンド駆動状態(COL_START)へと遷移し(図4のM1)、列コマンド制御シーケンサ104を駆動し、後続のアクセスが無い場合はIDLE状態へと遷移する(図4のM2)。
負荷レベルが大きいと判定された場合は、IDLE状態から一旦前段アクティブ状態(ACTIVE_PRE)へと遷移が行われ(図4のT2)、前段アクティブ状態では行アドレス駆動信号116、RAS信号112及びアドレス115が駆動される。次のサイクルにおいてはアクティブ状態(ACTIVE_ST)へと遷移が行われ(図4のN2)、行アドレス駆動信号116、CS信号117、RAS信号112及びアドレス115が駆動され、列コマンド駆動状態(COL_START)へと遷移し(図4のM1)、列コマンド制御シーケンサ104を駆動し、後続のアクセスが無い場合はIDLE状態へと遷移する(図4のM2)。
以上より、負荷レベルが小さいと判定された場合には、コマンド制御機構105では、CS信号130、RAS信号125及びアドレス128を1サイクル間に亘ってメモリデバイス201に対して駆動し(図6のW2を参照)、負荷レベルが大きいと判定された場合には、RAS信号125及びアドレス128を2サイクル間に亘って駆動し(図7のY2)、CS信号130は最後の1サイクル間のみ駆動するように、制御が行われる。
II.列コマンド制御シーケンサ104Aの動作
列コマンド制御シーケンサ104Aは、行コマンド制御シーケンサ103Aよりコマンドを受け取るとコマンド制御機構105に対してコマンド発行要求119を発行し、コマンド発行許可118を受け取った段階で、IDLE状態からコマンドを発行する状態へと遷移が行われる。
図5に示すように、列コマンド制御シーケンサ104Aは、ライトコマンド、プリチャージ・ライトコマンド(Write with Precharge)、リードコマンド、プリチャージ・リードコマンド(Read with Precharge)を発行する状態に加え、それぞれの状態に遷移する前の前段状態が存在する。
ここで、プリチャージ・ライトコマンドとは、ビット線をプリチャージしてデータを書き込むためのコマンドであり、プリチャージ・リードコマンドとは、ビット線をプリチャージしてデータを読み出すためのコマンドである。
また、図5中のRD_CMDはリードコマンドを発行するリード状態を示し、RDA_CMDはプリチャージ・リードコマンドを発行するプリチャージ・リード状態を示し、WR_CMDはライトコマンドを発行するライト状態を示し、WRA_CMDはプリチャージ・ライトコマンドを発行するプリチャージ・ライト状態を示す。RD_PREはリードコマンドを発行する状態に遷移する前の前段リード状態を示し、RDA_PREはプリチャージ・リードコマンドを発行する状態に遷移する前の前段プリチャージ・リード状態を示し、WR_PREはライトコマンドを発行する状態に遷移する前の前段ライト状態を示し、WRA_PREはプリチャージ・ライトコマンドを発行する状態に遷移する前の前段プリチャージ・ライト状態を示す。
各コマンドを発行する状態では、列コマンド駆動信号123と、それぞれのコマンドで必要とするCS信号124、CAS信号120、WE信号121及びアドレス122とをコマンド制御機構105に対して駆動するように制御される。これに対して、それぞれの状態に遷移する前の前段状態では、列コマンド駆動信号123と、それぞれのコマンドで必要とするCAS信号120、WE信号121及びアドレス122とをコマンド制御機構105に対して駆動するように制御される。
IDLE状態から、各コマンドを発行する状態、あるいは各状態へ遷移する前の前段状態へ遷移の選択は、デコーダ104−1による負荷レベル判定に基づいて行われる。負荷レベルが小さいと判定された場合は、IDLE状態から直接各コマンドを発行する状態へと遷移(図5中のS11〜S14参照)するのに対して、負荷レベルが大きいと判定された場合は、IDLE状態から前段状態へと遷移(図5中のT11〜T14参照)が行われた後に、コマンドを発行する状態へと遷移(図5中のN11〜N14参照)が行われる。
各前段状態では、CAS信号126、WE信号127及びアドレス128が駆動状態となり、各コマンドを発行する状態では、前記の信号群に加えてCS信号130が駆動状態となる。
次に、このような列コマンド制御シーケンサ104Aの動作について、ライトコマンド及びリードコマンドの発行を例に説明する。
まず、ライトコマンドの発行について説明すると、ライトコマンドは、CS信号130、CAS信号126、WE信号127及びアドレス128を駆動する必要がある。ライトコマンドの発行時はIDLE状態であり、コマンド制御機構105よりコマンド発行許可118を受け取った状態で状態遷移が行われる。
負荷レベルが小さいと判定された場合は、IDLE状態からライト状態へと遷移が行われ(図5のS13)、ライト状態では列アドレス駆動信号123、CS信号124、CAS信号120、WE信号121及びアドレス122が駆動され、後続のアクセスが無い場合はIDLE状態へと遷移する(図5のS13a)。一方、負荷レベルが大きいと判定された場合は、IDLE状態から一旦前段ライト状態へと遷移が行われ(図5のT13)、前段ライト状態では列アドレス駆動信号123、CAS信号120、WE信号121及びアドレス122が駆動される。次のサイクルにおいてはライト状態へと遷移が行われ(図5のN13)、列アドレス駆動信号123、CS信号124、CAS信号120、WE信号121及びアドレス122が駆動され、後続のアクセスが無い場合はIDLE状態へと遷移する(図5のS13a)。
以上より、負荷レベルが小さいと判定された場合は、CS信号124、CAS信号120、WE信号121及びアドレス122をそれぞれ1サイクル間に亘ってメモリデバイス201に対して駆動し(図6のW3)、負荷レベルが大きいと判定された場合は、CAS信号120、WE信号121及びアドレス122を2サイクル間に亘って駆動し(図7のY3)、CS信号130は最後の1サイクル間のみ駆動するように、制御が行われる。
また、ライト状態においては、データ制御機構106に対して出力データタイミング信号108を発行し、データ制御機構106は指定されたタイミングに従いデータをメモリデータバス129へ出力する。
続いて、リードコマンド動作について説明する。リードコマンドは、CS信号124、CAS信号120及びアドレス122を駆動する必要がある。リードコマンドの発行時はIDLE状態であり、コマンド制御機構105よりコマンド発行許可118を受け取った状態で状態遷移が行われる。
負荷レベルが小さいと判定された場合は、IDLE状態からリード状態へと遷移(図5のS11)が行われ、リード状態では列アドレス駆動信号123、CS信号124、CAS信号120及びアドレス122が駆動され、後続のアクセスが無い場合はIDLE状態へと遷移する(図5のS11a)。一方、負荷レベルが大きいと判定された場合は、IDLE状態から一旦前段リード状態へと遷移が行われ(図5のT11)、前段リード状態では列アドレス駆動信号123、CAS信号120及びアドレス122が駆動される。次のサイクルにおいてはリード状態へと遷移が行われ(図5のN11)、列アドレス駆動信号123、CS信号124、CAS信号120及びアドレス122が駆動され、後続のアクセスが無い場合はIDLE状態へと遷移する(図5のS11a)。
以上より、負荷レベルが小さいと判定された場合は、CS信号124、CAS信号120及びアドレス122をそれぞれ1サイクル間に亘ってメモリデバイス201に対して駆動し(図6のW4)、負荷レベルが大きいと判定された場合は、CAS信号120及びアドレス122をそれぞれ2サイクル間に亘って駆動し(図7のY4)、CS信号124は最後の1サイクル間のみ駆動するように、制御が行われる。
また、リード状態においては、データ制御機構106に対して入力データタイミング信号109を発行し、データ制御機構106は指定されたタイミングに従いデータをメモリデータバス129から取り込み、コマンド処理機構102に読み込みデータを返す。
このように本実施の形態では、CS信号、データ及びデータマスク等の負荷の小さい選択信号/データ系は、常に1サイクル間に亘って駆動し、RAS信号、CAS信号、WE信号及びアドレス等のデータ負荷の大きいコマンド/アドレス系信号は、メモリデバイス個数による負荷の大小判定により1サイクル駆動と2サイクル駆動に切り替えられる。すなわち、負荷の大きなコマンド/アドレス系の信号を2サイクルで駆動するように切替可能にして該コマンド/アドレス系信号が変化する周波数を低くするようにしたので、多くのメモリデバイスを接続した場合であっても、コマンド/アドレス系の信号と選択/データ系信号との負荷の差を吸収することが可能となり、高価なメモリモジュールを用いなくとも、それと等価なシステムを実現することが可能である。また、切替機構を有することで、メモリデバイスの接続個数に最適なシステム環境を構築することができる。
[第2の実施の形態]
第2の実施の形態は、メモリデバイス201の個数の判定をスイッチ回路ではなくソフトウェアにより行い、さらに1サイクル駆動と2サイクル駆動に切り替えをソフトウェアによって行うようにしたものである。
図8は、本発明の第2の実施の形態に係るメモリコントローラの構成を示すブロック図である。
本実施の形態のメモリコントローラ200は、内部に負荷の大小レベルを指定するレジスタ150を有し、負荷の大きい場合にはレジスタ150をセットし、負荷が少ない場合はレジスタ150をクリアすることで、コマンドを発行するサイクルを制御するようになっている。その他の構成は、上記第1の実施の形態と同様である。
DIMMモジュール等では、EEPROMに保持されるDIMMモジュール情報を有しており、ソフトウェアは、DIMMモジュールのEEPROMにアクセスすることでメモリデバイスの接続個数を知ることができる。また、ソフトウェアが、メモリデバイスの接続個数により負荷の大小を判定してレジスタ150を設定することで、コマンドの発行サイクルを変更することができる。
その際、レジスタ150の初期値として負荷が大きいことを指定し、メモリデバイス201の初期化時は2サイクル間に亘ってコマンドを発行し、負荷が小さいと判定された場合にはレジスタ150をクリアすることで、コマンドの発行サイクルを変更する。
なお、本発明は、上記各実施の形態に限定されるものではなく、その主旨を逸脱しない限り種々の変更が可能である。例えば、メモリコントローラ200の構成は、負荷レベルに基づいてコマンド/アドレス系信号の出力サイクル数を変更できること以外は任意の構成で実現可能である。
本発明は、上述した実施形態の装置に限定されず、複数の機器から構成されるシステムに適用しても、1つの機器から成る装置に適用しても良い。前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、完成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−不揮発性メモリ、CD−R、磁気テープ、不揮発性のメモリカード、不揮発性メモリを用いることができる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、次のプログラムコードの指示に基づき、その拡張機能を拡張ボードや拡張ユニットに備わるCPUなどが処理を行って実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
第1の実施の形態に係るメモリコントローラの構成を示すブロック図である。 図1に示したメモリコントローラの特徴部分を示すブロック図である。 通常のメモリコントローラの一構成例を示すブロック図である。 行コマンド制御シーケンサの状態遷移図である。 列コマンド制御シーケンサの状態遷移図である。 実施の形態の動作(負荷レベル小時)を示すタイミングチャートである。 実施の形態の動作(負荷レベル大時)を示すタイミングチャートである。 第2の実施の形態に係るメモリコントローラの構成を示すブロック図である。
符号の説明
102 コマンド処理機構
103A 行コマンド制御シーケンサ
104A 列コマンド制御シーケンサ
105 コマンド制御機構
106 データ制御機構
125 RAS信号
126 CAS信号
127 WE信号
128 アドレス
129 データ信号
200 メモリコントローラ
201 メモリデバイス
203 デバイス個数切替スイッチ

Claims (8)

  1. メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させる手段と、
    前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行う手段とを備えたことを特徴とするメモリアクセス制御装置。
  2. メモリデバイスに対するアクセス制御を行うためのコマンド/アドレス系信号の発行サイクルを変更可能に構成したメモリアクセス制御装置と、
    前記メモリデバイスの接続個数を通知する通知手段と、
    前記通知手段の通知結果に対応して負荷の大小を判定する判定手段とを備え、
    前記負荷の大小に応じて、前記コマンド/アドレス系信号の発行サイクルを変更したことを特徴とする情報処理システム。
  3. 前記判定手段によって負荷が大きいと判定された場合はコマンド/アドレス系信号が変化する周波数を低くすることを特徴とする請求項2に記載の情報処理システム。
  4. コマンド/アドレス系信号によってメモリデバイスに対するアクセスを制御するメモリアクセス制御装置を有する情報処理システムにおいて、
    前記メモリデバイスの接続個数を通知する通知手段を設け、
    前記メモリアクセス制御装置は、
    前記コマンド/アドレス系信号の発行サイクル数を切り替え可能に構成したコマンドサイクル制御手段と、
    前記通知手段の通知結果に対応して負荷の大小を判定する判定手段と、
    前記判定手段により負荷が大きいと判定された場合は前記コマンド/アドレス系信号の発行サイクル数を多くし、負荷が小さいと判定された場合は前記コマンド/アドレス系信号のクロックサイクル数を少なくするように前記コマンドサイクル制御手段に指示するコマンドサイクル指定手段とを有することを特徴とする情報処理システム。
  5. 前記メモリアクセス制御装置はLSI内部に設け、前記通知手段は、LSI外部にスイッチを有し、該スイッチの切り替え動作で前記メモリデバイスの接続個数を通知するように構成したことを特徴とする請求項4に記載の情報処理システム。
  6. 前記メモリアクセス制御装置はLSI内部に設け、前記通知手段は、LSI内部にレジスタを有し、ソフトウェアにより前記レジスタの設定を行って前記メモリデバイスの接続個数を通知するように構成したことを特徴とする請求項4に記載の情報処理システム。
  7. メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させる工程と、
    前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行う工程とを備えたことを特徴とするメモリアクセス制御方法。
  8. メモリデバイスに対するアクセスを制御するメモリアクセス制御装置の制御方法を実行するための制御プログラムであって、
    前記メモリデバイスの接続個数に対応した負荷情報に基づいて、コマンド処理の状態遷移を変化させるステップと、
    前記状態遷移に基づいて、前記メモリデバイスに対するアクセス動作を行うステップとを備えたことを特徴とする制御プログラム。
JP2004166339A 2004-06-03 2004-06-03 メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム Withdrawn JP2005346502A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004166339A JP2005346502A (ja) 2004-06-03 2004-06-03 メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム
US11/143,825 US7536519B2 (en) 2004-06-03 2005-06-02 Memory access control apparatus and method for accomodating effects of signal delays caused by load

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004166339A JP2005346502A (ja) 2004-06-03 2004-06-03 メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム

Publications (1)

Publication Number Publication Date
JP2005346502A true JP2005346502A (ja) 2005-12-15

Family

ID=35450286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004166339A Withdrawn JP2005346502A (ja) 2004-06-03 2004-06-03 メモリアクセス制御装置、情報処理システム、メモリアクセス制御方法、及び制御プログラム

Country Status (2)

Country Link
US (1) US7536519B2 (ja)
JP (1) JP2005346502A (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5517830B2 (ja) * 2010-08-19 2014-06-11 ルネサスエレクトロニクス株式会社 半導体集積回路
JP2012174184A (ja) * 2011-02-24 2012-09-10 Canon Inc 情報処理装置および情報処理装置の制御方法
JP7197998B2 (ja) * 2018-05-02 2022-12-28 キヤノン株式会社 メモリコントローラおよびメモリコントローラで実施される方法
US11544203B2 (en) 2019-12-30 2023-01-03 Micron Technology, Inc. Sequencer chaining circuitry
JP7431791B2 (ja) * 2021-12-01 2024-02-15 株式会社日立製作所 ストレージシステム及びデータ処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5577236A (en) * 1994-12-30 1996-11-19 International Business Machines Corporation Memory controller for reading data from synchronous RAM
JPH08321761A (ja) 1995-05-24 1996-12-03 Nec Eng Ltd 出力バッファ回路
US6154821A (en) * 1998-03-10 2000-11-28 Rambus Inc. Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US6496911B1 (en) * 1998-10-02 2002-12-17 International Business Machines Corporation Apparatus for memory bus tuning and methods therefor
US6981089B2 (en) * 2001-12-31 2005-12-27 Intel Corporation Memory bus termination with memory unit having termination control
JP3804832B2 (ja) 2002-05-23 2006-08-02 日本電気株式会社 メモリ装置及びコンピュータシステム
US8250330B2 (en) * 2004-12-11 2012-08-21 International Business Machines Corporation Memory controller having tables mapping memory addresses to memory modules

Also Published As

Publication number Publication date
US20050273566A1 (en) 2005-12-08
US7536519B2 (en) 2009-05-19

Similar Documents

Publication Publication Date Title
US6781911B2 (en) Early power-down digital memory device and method
US5471430A (en) Test circuit for refresh counter of clock synchronous type semiconductor memory device
US5999472A (en) Multi-bank synchronous semiconductor memory device with easy control
KR100618070B1 (ko) 리프레시를 자동으로 행하는 동적 메모리 회로
US7102960B2 (en) Semiconductor memory device
KR100233973B1 (ko) 동기형 반도체 기억 장치
KR20030069872A (ko) 반도체 메모리 장치 및 제어 방법
JPH1116349A (ja) 同期型半導体記憶装置
JPH06267275A (ja) センスアンプ制御回路及びセンスアンプ制御方法
KR20190082515A (ko) 반도체 메모리 장치, 및 이 장치를 구비하는 메모리 시스템 및 전자 장치
JP4439033B2 (ja) 半導体記憶装置
JP2008108417A (ja) 低電力dram及びその駆動方法
US6192446B1 (en) Memory device with command buffer
US6166973A (en) Memory device with multiple-bit data pre-fetch function
JP2000030456A (ja) メモリデバイス
JPS61105795A (ja) メモリ回路
US9030895B2 (en) Memory device with pin register to set input/output direction and bitwidth of data signals
JP2006073188A (ja) リフレッシュの実行時に、リフレッシュするバンクの個数を可変できる半導体メモリ装置及びその動作方法
JP4744777B2 (ja) 分割されたセルアレーを有する半導体メモリ装置及びこの装置のメモリセルアクセス方法
US7536519B2 (en) Memory access control apparatus and method for accomodating effects of signal delays caused by load
JPH10162576A (ja) 半導体メモリ装置のカラム選択ラインイネーブル回路
JP2000163962A (ja) クロック同期システム
US20020136079A1 (en) Semiconductor memory device and information processing system
JPH10208468A (ja) 半導体記憶装置並びに同期型半導体記憶装置
US6411563B1 (en) Semiconductor integrated circuit device provided with a logic circuit and a memory circuit and being capable of efficient interface between the same

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20060419

A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070807