JP5349775B2 - Memory controller and control method thereof - Google Patents
Memory controller and control method thereof Download PDFInfo
- Publication number
- JP5349775B2 JP5349775B2 JP2007233377A JP2007233377A JP5349775B2 JP 5349775 B2 JP5349775 B2 JP 5349775B2 JP 2007233377 A JP2007233377 A JP 2007233377A JP 2007233377 A JP2007233377 A JP 2007233377A JP 5349775 B2 JP5349775 B2 JP 5349775B2
- Authority
- JP
- Japan
- Prior art keywords
- memory
- request
- access request
- wiring delay
- register
- 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
Links
Images
Landscapes
- Memory System (AREA)
Description
本発明は、アクセスサイクルの異なる複数のメモリデバイスにデータの読み書きを行うメモリコントローラ及びその制御方法に関する。 The present invention relates to a memory controller that reads / writes data from / to a plurality of memory devices having different access cycles, and a control method therefor.
図1は、従来のメモリシステムにおける構成の一例を示す図である。図1に示す100はメモリコントローラを含むASIC(Application Specific Integrated Circuit)である。101はASIC100に含まれるメモリコントローラである。102はASIC100内でメモリコントローラ101と不図示の機能モジュールとを接続するチップ内部バスである。103はメモリコントローラ101と接続されるデバイスの条件を保存するレジスタである。
FIG. 1 is a diagram showing an example of a configuration in a conventional memory system. 1 is an ASIC (Application Specific Integrated Circuit) including a memory controller.
104はメモリコントローラ101に接続されるメモリデバイスへアクセスコマンドを発行するコマンド発行回路である。105はメモリコントローラ101に接続されるメモリデバイスとの間でデータの送受信を行うデータ発行/受信回路である。106〜109はメモリコントローラ101に接続されるメモリデバイスである。
A command issuing
次に、図1を用いて、従来のASIC100内部のメモリコントローラ101の動作を説明する。まず、ASIC100内の不図示の機能モジュールからメモリデバイス106〜109へのアクセス要求はチップ内部バス102を経由してメモリコントローラ101に伝えられる。一方、メモリコントローラ101は、受け取ったアクセス要求を解析し、該当する何れかのメモリデバイス106〜109に対して、要求されたアクセスを満たすためのコマンドをコマンド発行回路104にて生成する。そして、そのコマンドをチップ外部への接続信号(RAS、CAS、ADDR、CS0〜CS3)を用いて該当するメモリデバイスに発行し、データの送受信をデータ発行/受信回路105にて行う。
Next, the operation of the
このときのチップ外部における信号の様子を図2に示す。図2では、RAS、CAS、ADDRは1つのコマンドに纏められている。また、メモリコントローラ101は、チップ内部バス102経由でメモリデバイス106〜109への読み出し要求を順番に受け取り、メモリデバイス106〜109に順に読み出しコマンドを発行する。
The state of signals outside the chip at this time is shown in FIG. In FIG. 2, RAS, CAS, and ADDR are combined into one command. Further, the
通常、メモリデバイス106〜109はバンクと呼ばれる複数の領域に分割され、各々の領域内の一部分をアクセス可能とし、それ以外の部分に対しては所定の手続きを行った後にアクセスが可能となる。この所定の手続きには、多くのクロックサイクルを必要とするが、各デバイスのバンク毎にアクセスできる部分は独立に設定できる。そこで、メモリコントローラ101内では要求されたコマンドを分析し、アクセスに際して所定の手続きが必要か否かを判断し、アクセスの順番を変更するといった操作が行われる場合が多い。これらの操作が行われている場合でも、図2に示すように、読み出しコマンドが連続し、該当するデバイスが異なれば、読み出しデータ(DQ及びDQS)が衝突しないように読み出しコマンドの発行タイミングを制御する必要がある。
しかしながら、昨今のメモリデバイスにおける動作周波数の向上に伴い、従来のメモリコントローラでは無視されていた基板上の配線遅延が無視できない状況となりつつある。この状況を図3及び図4を用いて説明する。 However, with the recent improvement in the operating frequency of memory devices, the wiring delay on the board, which has been ignored by conventional memory controllers, is becoming a situation that cannot be ignored. This situation will be described with reference to FIGS.
図3は、メモリコントローラとメモリデバイスとの関係を基板上のレイアウトイメージ的に書き直した図である。尚、図3に示す番号は、図1と同じものを用いている。図3に示すように、複数のメモリデバイス106〜109を接続した場合、各メモリデバイスのメモリコントローラ101からの距離はそれぞれ異なり、メモリデバイス106から順にメモリデバイス109まで徐々に遠くに置かれることとなる。
FIG. 3 is a diagram in which the relationship between the memory controller and the memory device is rewritten in a layout image on the substrate. The numbers shown in FIG. 3 are the same as those in FIG. As shown in FIG. 3, when a plurality of
このような配置において、メモリコントローラ101が各メモリデバイスに読み出しを行った場合、各メモリデバイスとの距離の違いにより、読み出しデータの受け取りタイミングがメモリデバイスによって異なってくる。特に、クロック周期が短くなった場合には、クロックサイクルを超えたタイミングで読み出しデータがメモリコントローラ101に戻ってくる場合が考えられる。
In such an arrangement, when the
図4は、メモリデバイスがメモリコントローラから遠くなるに従って読み出しデータが1サイクルずつ遅く取り込まれるレイアウトになった場合のメモリデバイス間の待ちサイクル数を示す図である。ここで、メモリデバイスが異なる場合には最大待ちサイクル数分の待ちサイクルを与えなければデータの衝突が起こるため、メモリコントローラ101のデータバス上の動作タイミングは図5に示すように効率の悪い状況となる。
FIG. 4 is a diagram showing the number of wait cycles between memory devices when the layout is such that read data is fetched later by one cycle as the memory device becomes farther from the memory controller. Here, when the memory devices are different, data collision occurs unless the waiting cycles corresponding to the maximum number of waiting cycles are given, so that the operation timing on the data bus of the
本発明は、メモリデータバス上の効率を改善することを目的とする。 The present invention aims to improve the efficiency on the memory data bus.
本発明は、アクセスサイクルの異なる複数のメモリデバイスにデータの読み書きを行うメモリコントローラにおいて、前記複数のメモリデバイスに対するメモリアクセス要求を保持する保持手段と、前記複数のメモリデバイス毎のレイテンシを示すレイテンシ情報を格納する第1レジスタと、前記複数のメモリデバイス毎の配線遅延を示す配線遅延情報を格納する第2レジスタと、前記保持手段に保持されたメモリアクセス要求をメモリデバイスに発行する際に、前記第1レジスタに格納しているレイテンシ情報と前記第2レジスタに格納している配線遅延情報とに基づいて、前記メモリアクセス要求を発行する順序を変更するように制御する制御手段とを有し、前記制御手段は、前記保持手段に保持した先頭のメモリアクセス要求に対する配線遅延情報と、前記保持手段に保持した2番目のメモリアクセス要求に対する配線遅延情報とにより、前記先頭のメモリアクセス要求が前記2番目のメモリアクセス要求よりもアクセス待ち時間が多い場合、前記2番目のメモリアクセス要求を発行するように順番を変更することを特徴とする。
The present invention provides a memory controller that reads / writes data from / to a plurality of memory devices having different access cycles, a holding unit that holds a memory access request to the plurality of memory devices, and latency information indicating latency for each of the plurality of memory devices A first register for storing wiring, a second register for storing wiring delay information indicating a wiring delay for each of the plurality of memory devices, and when issuing a memory access request held in the holding means to the memory device, based on the wiring delay information stored in the second register and latency information stored in the first register, it has a control means for controlling to change the order in which issues the memory access request, The control means responds to the top memory access request held in the holding means. When the first memory access request has a longer access waiting time than the second memory access request, the second delay is caused by the line delay information and the wiring delay information for the second memory access request held in the holding means. The memory access request is issued and the order is changed .
本発明によれば、複数のメモリデバイスとの間の配線遅延を示す情報と複数のメモリデバイスの各々のレイテンシ情報とに基づき、各メモリデバイスに対するメモリアクセス要求を発行する順序を変更するように制御することで、メモリデータバス上の効率を改善することが可能となる。
According to the present invention, control is performed so as to change the order of issuing memory access requests to each memory device based on the information indicating the wiring delay between the plurality of memory devices and the latency information of each of the plurality of memory devices. As a result, the efficiency on the memory data bus can be improved.
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。 The best mode for carrying out the invention will be described below in detail with reference to the drawings.
[第1の実施形態]
メモリコントローラがメモリデバイスへコマンドを発行する際に、デバイスレイテンシ情報と基板上の配線遅延情報に基づき、メモリデバイスへコマンドを発行する順序を制御する処理を、図6〜図9を用いて説明する。
[First Embodiment]
Processing for controlling the order in which commands are issued to the memory device based on the device latency information and the wiring delay information on the board when the memory controller issues a command to the memory device will be described with reference to FIGS. .
まず、第1の実施形態におけるメモリコントローラの構成及び動作を、図6及び図7を用いて説明する。 First, the configuration and operation of the memory controller in the first embodiment will be described with reference to FIGS.
図6は、第1の実施形態におけるメモリシステムの構成の一例を示す図である。図6に示す600はメモリコントローラを含むASICである。601は第1の実施形態におけるメモリコントローラである。602はASIC600内でメモリコントローラ601と不図示の機能モジュールとを接続するチップ内部バスである。不図示の機能モジュールとメモリコントローラの間のトランザクションはチップ内部バスを介して送受信される。
FIG. 6 is a diagram illustrating an example of the configuration of the memory system according to the first embodiment.
603はメモリコントローラ601と接続されるデバイスのレイテンシ条件を保持するレジスタである。604はメモリコントローラ601と接続されるデバイスの配線遅延情報を保持するレジスタである。
Reference numeral 603 denotes a register that holds a latency condition of a device connected to the
605はメモリコントローラ601に接続されるメモリデバイスへアクセスコマンドを発行するコマンド発行回路である。606はメモリコントローラ601に接続されるメモリデバイスとの間でデータの送受信を行うデータ発行/受信回路である。607〜610はメモリコントローラ601に接続されるメモリデバイスである。これ以降、メモリデバイスを単に「デバイス」と称す。
A
図7は、図6に示すコマンド発行回路605の構成の一例を示す図である。図7に示す701はバッファであり、チップ内部バス602から受け取ったメモリアクセスの要求を一時的に溜め込む。702は判断回路であり、バッファ701に溜められた複数の要求をデバイスに発行する際に、レイテンシ情報及び配線遅延情報に基づき、効率の良い順序に変更するように制御する。
FIG. 7 is a diagram showing an example of the configuration of the command issuing
まず、不図示の機能モジュールからチップ内部バス602を介してメモリアクセス要求がメモリコントローラ601へ伝達されると、その要求はコマンド発行回路605に伝えられる。これにより、コマンド発行回路605の内部では図7に示すように、伝えられたメモリアクセス要求は一旦バッファ701に蓄えられる。そして、判断回路702が、バッファ701が空でない場合に、バッファ701からその要求を取り出し、デバイスにコマンドとして発行し、かつ図6に示すデータ発行/受信回路606へ発行コマンドの情報を伝達する。
First, when a memory access request is transmitted from a function module (not shown) to the
一方、データ発行/受信回路606は判断回路702から受け取った発行コマンド情報に基づき、デバイスへのデータの発行、メモリデバイスから受け取るデータのタイミング、チップ内部の受け取り機能モジュールの選択信号の生成を行う。
On the other hand, the data issue /
ここで、判断回路702が要求0を取り出した場合には、バッファ701は全ての要求を1つシフトする。つまり、現時点(シフト前)の要求1は判断回路702から要求0が取り出された場合には、新たに要求0の位置へと移動し、現時点での要求2は新たに要求1の位置へ移動する。また、判断回路702が要求1を取り出した場合には、要求0は変更無く、現時点での要求2は新たに要求1の位置へ移動する。
Here, when the
図8は、判断回路702で実行される判断処理を示すフローチャートである。図9は、バッファ701から取り出す要求を決定するときのタイミングを示す図である。尚、ここでは説明を簡単にするため、全ての要求は読み出し要求であるとし、各要求対象の領域は全てアクセス可能な状態になっているものとする。
FIG. 8 is a flowchart showing the determination process executed by the
また、要求は、要求0(デバイス607)→要求1(デバイス610)→要求2(デバイス608)→要求3(デバイス609)→要求4(デバイス610)の順番にバッファ701に格納されているものとする。そして、デバイス607への要求より先に発行したコマンドからは十分に間隔が取れているものとする。
Requests are stored in the
まず、ステップS801で、判断回路702は、バッファ701内の要求が1つだけか否かを判定し、1つだけであればステップS805で、その要求のコマンド発行を行う。しかし、ステップS801で、前提のように、バッファ701内の要求が1つだけでなければステップS802で、先に発行したコマンドからの間隔が十分か否かを判断する。
First, in step S801, the
ここでは、上述の前提からコマンド間隔が十分であるので、図9に示すt0でバッファ701内の先頭のコマンド発行(デバイス607への読み出し)を行う。また、バッファ701では、上述したシフトが全ての要求に対して行われる。このシフトにより、要求は、要求0(デバイス610)、要求1(デバイス608)、要求2(デバイス609)、要求3(デバイス610)の順番となる。
Here, since the command interval is sufficient from the above-mentioned assumption, the first command in the
次に、バッファ701の内部が空でないことから、判断回路702は、次の要求の判断を開始する。そして、ステップS803で、判断回路702は、バッファ701の要求0(デバイス610)と要求1(デバイス608)のアクセス待ち時間を判定する。ここで、要求アクセス待ち時間は、レイテンシ情報を保持するレジスタ603と、配線遅延情報を保持するレジスタ604から得られるそれぞれのデバイス毎の読み出し要求発行後に、次のコマンド発行まで待たなければならない時間を示すものである。
Next, since the inside of the
いま、デバイスのレイテンシが全て同一であるとすると、要求アクセス待ち時間の差は配線遅延情報に依存する。このように、メモリコントローラ601は、アクセスサイクルの異なる複数のメモリデバイスにデータの読み書きを行う。しかし、デバイス間の必要待ち時間が図4に示したテーブルで与えられるとすると、要求0のデバイス610へのアクセスには3サイクルの待ち時間を必要とする。一方、要求1のデバイス608へのアクセスには待ち時間が1サイクルしか必要とされない。従って、先頭の要求アクセス待ち時間は2番目のアクセス待ち時間より多いため、判断回路702はステップS803で、Noと判定し、図9に示すt3でバッファ701内の2番目(要求1)のコマンド発行を行う。
Now, assuming that the latencies of the devices are all the same, the difference in request access waiting time depends on the wiring delay information. As described above, the
また、バッファ701では、上述したシフトが全ての要求に対して行われる。その結果、要求は、要求0(デバイス610)はそのままで、要求2(デバイス609)が新たに要求1の位置に移動され、要求3(デバイス610)が新たに要求2の位置に移動される。
In the
次に、バッファ701の内部が空でないことから、判断回路702は、次の要求の判断を開始する。そして、ステップS803で、判断回路702は、バッファ701の要求0(デバイス610)と要求1(デバイス609)のアクセス待ち時間を判定する。上述の結果と同様に、判断回路702は、Noと判定し、図9に示すt6でバッファ701内の2番目(要求1)のコマンド発行を行う。
Next, since the inside of the
また、バッファ701では、上述したシフトが全ての要求に対して行われる。その結果、要求は、要求0(デバイス610)はそのままで、要求2(デバイス610)が新たに要求1の位置に移動される。
In the
次に、バッファ701の内部が空でないことから、判断回路702は、次の要求の判断を開始する。そして、ステップS803で、判断回路702は、バッファ701の要求0(デバイス610)と要求1(デバイス610)のアクセス待ち時間を判定する。ここで、アクセス対象が同一のデバイスであるため、判断回路702は、Yesと判定し、図9に示すt9でバッファ701内の先頭の要求を実行する。
Next, since the inside of the
また、バッファ701では、上述したシフトが全ての要求に対して行われ、その結果、要求は、要求1(デバイス610)が新たに要求0の位置に移動される。
In the
次に、バッファ701の内部が空でないことから、判断回路702は、次の要求の判断を開始する。この場合、バッファ701の内部の要求は要求0にあるデバイス610への要求のみであるので、判断回路702は、ステップS801でYesと判断し、ステップS805で、図9に示すt11でバッファ701の先頭の要求を実行する。この際、直前のコマンド発行対象デバイスと今回のコマンド発行対象デバイスが同一であることから、メモリデータバス上の空きサイクル無しとなるようにコマンドが発行されることは従来と同様である。
Next, since the inside of the
以上、基板における配線遅延情報に基づく動作について説明を行ってきたが、本発明は接続される各メモリデバイスに読み出しレイテンシが異なるデバイスを接続した場合にも上記説明と同様な効果を有する。その場合、上述した配線遅延情報をメモリデバイス間のレイテンシの差分情報と読み替えれば良い。 As described above, the operation based on the wiring delay information in the substrate has been described. However, the present invention has the same effect as the above description even when a device having a different read latency is connected to each memory device to be connected. In such a case, the above-described wiring delay information may be read as latency difference information between memory devices.
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態を詳細に説明する。第1の実施形態では、各メモリデバイスの配線遅延情報をメモリコントローラ内の保持手段にて保持していた。しかし、各メモリデバイスの配線遅延情報をメモリコントローラ外部から端子にて供給するように構成しても良い。
[Second Embodiment]
Next, a second embodiment according to the present invention will be described in detail with reference to the drawings. In the first embodiment, the wiring delay information of each memory device is held by the holding means in the memory controller. However, the wiring delay information of each memory device may be supplied from the outside of the memory controller at a terminal.
図10は、第2の実施形態におけるメモリシステムの構成の一例を示す図である。尚、図10に示す1000〜1010は、第1の実施形態の図6に示す600〜610に相当するものである。しかし、第1の実施形態では、各メモリデバイスの配線遅延情報を図6に示すレジスタ604に保持していたが、第2の実施形態では、外部から供給されるように外部端子を備えるものである。 FIG. 10 is a diagram illustrating an example of the configuration of the memory system according to the second embodiment. Note that 1000 to 1010 shown in FIG. 10 correspond to 600 to 610 shown in FIG. 6 of the first embodiment. However, in the first embodiment, the wiring delay information of each memory device is held in the register 604 shown in FIG. 6, but in the second embodiment, an external terminal is provided so as to be supplied from the outside. is there.
また、上述した各メモリデバイスの配線遅延情報を各メモリデバイスの読み出しレイテンシの差分情報に変えた場合にも第1の実施形態と同様な効果を得ることができる。 Further, when the wiring delay information of each memory device described above is changed to the difference information of the read latency of each memory device, the same effect as that of the first embodiment can be obtained.
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態を詳細に説明する。第1の実施形態では、各メモリデバイスの共通なレイテンシ情報と、個別のデバイスの配線遅延情報とをそれぞれレジスタに保持する構成としていた。しかし、第2の実施形態では、共通なレイテンシ情報を含めた個別のデバイス毎の遅延情報を格納する格納手段を備えるものである。
[Third Embodiment]
Next, a third embodiment according to the present invention will be described in detail with reference to the drawings. In the first embodiment, the latency information common to the memory devices and the wiring delay information of the individual devices are respectively held in the registers. However, the second embodiment includes storage means for storing delay information for each individual device including common latency information.
図11は、第3の実施形態におけるメモリシステムの構成の一例を示す図である。尚、図11に示す1000〜1002、1005〜1010は、第1の実施形態の図6に示す600〜602、605〜610に相当するものである。 FIG. 11 is a diagram illustrating an example of a configuration of a memory system according to the third embodiment. Note that 1000 to 1002 and 1005 to 1010 shown in FIG. 11 correspond to 600 to 602 and 605 to 610 shown in FIG. 6 of the first embodiment.
図11に示す1111〜1114は、デバイスのレイテンシ情報とデバイスの配線遅延情報とをそれぞれ保持するレジスタである。
第3の実施形態によれば、第1の実施形態と同様な効果を得ることができる。 According to the third embodiment, an effect similar to that of the first embodiment can be obtained.
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。 Even if the present invention is applied to a system composed of a plurality of devices (for example, a host computer, an interface device, a reader, a printer, etc.), it is applied to an apparatus (for example, a copier, a facsimile machine, etc.) composed of a single device. It may be applied.
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。 In addition, a recording medium in which a program code of software for realizing the functions of the above-described embodiments is recorded is supplied to the system or apparatus, and the computer (CPU or MPU) of the system or apparatus stores the program code stored in the recording medium. Read and execute. It goes without saying that the object of the present invention can also be achieved by this.
この場合、コンピュータ読み取り可能な記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。 In this case, the program code itself read from the computer-readable recording medium realizes the functions of the above-described embodiments, and the recording medium storing the program code constitutes the present invention.
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。 As a recording medium for supplying the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, or the like can be used.
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。 In addition, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also the following cases are included. That is, based on the instruction of the program code, an OS (operating system) running on the computer performs part or all of the actual processing, and the functions of the above-described embodiments are realized by the processing. .
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。 Further, the program code read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. After that, based on the instruction of the program code, the CPU of the function expansion board or function expansion unit performs part or all of the actual processing, and the function of the above-described embodiment is realized by the processing. Needless to say.
600 メモリコントローラを含むASIC
601 メモリコントローラ
602 チップ内部バス
603 デバイスのレイテンシ条件を保持するレジスタ
604 デバイスの配線遅延情報を保持するレジスタ
605 コマンド発行回路
606 データ発行/受信回路
607 メモリデバイス(Dev 0)
608 メモリデバイス(Dev 1)
609 メモリデバイス(Dev 2)
610 メモリデバイス(Dev 3)
701 バッファ
702 判断回路
600 ASIC with memory controller
601
608 Memory device (Dev 1)
609 Memory device (Dev 2)
610 Memory Device (Dev 3)
Claims (2)
前記複数のメモリデバイスに対するメモリアクセス要求を保持する保持手段と、
前記複数のメモリデバイス毎のレイテンシを示すレイテンシ情報を格納する第1レジスタと、
前記複数のメモリデバイス毎の配線遅延を示す配線遅延情報を格納する第2レジスタと、
前記保持手段に保持されたメモリアクセス要求をメモリデバイスに発行する際に、前記第1レジスタに格納しているレイテンシ情報と前記第2レジスタに格納している配線遅延情報とに基づいて、前記メモリアクセス要求を発行する順序を変更するように制御する制御手段とを有し、
前記制御手段は、前記保持手段に保持した先頭のメモリアクセス要求に対する配線遅延情報と、前記保持手段に保持した2番目のメモリアクセス要求に対する配線遅延情報とにより、前記先頭のメモリアクセス要求が前記2番目のメモリアクセス要求よりもアクセス待ち時間が多い場合、前記2番目のメモリアクセス要求を発行するように順番を変更することを特徴とするメモリコントローラ。 In a memory controller that reads and writes data to multiple memory devices with different access cycles,
Holding means for holding memory access requests for the plurality of memory devices;
A first register storing latency information indicating latency for each of the plurality of memory devices;
A second register for storing wiring delay information indicating a wiring delay for each of the plurality of memory devices;
When issuing the memory access request held in the holding means to the memory device, the memory is based on the latency information stored in the first register and the wiring delay information stored in the second register. have a control means for controlling to change the order in which issues an access request,
The control means uses the wiring delay information for the first memory access request held in the holding means and the wiring delay information for the second memory access request held in the holding means to determine whether the first memory access request is the 2 A memory controller , wherein when the access waiting time is longer than that of the second memory access request, the order is changed so that the second memory access request is issued .
前記保持手段に保持されたメモリアクセス要求をメモリデバイスに発行する際に、前記第1レジスタに格納しているレイテンシ情報と前記第2レジスタに格納している配線遅延情報とに基づいて、前記メモリアクセス要求を発行する順序を変更するように制御する制御工程を有し、
前記制御工程では、前記保持手段に保持した先頭のメモリアクセス要求に対する配線遅延情報と、前記保持手段に保持した2番目のメモリアクセス要求に対する配線遅延情報とにより、前記先頭のメモリアクセス要求が前記2番目のメモリアクセス要求よりもアクセス待ち時間が多い場合、前記2番目のメモリアクセス要求を発行するように順番を変更することを特徴とするメモリコントローラの制御方法。 Holding means for holding memory access requests for a plurality of memory devices; a first register for storing latency information indicating the latency for each of the plurality of memory devices; and wiring delay information indicating a wiring delay for each of the plurality of memory devices. A memory controller control method for reading and writing data to and from a plurality of memory devices having different access cycles.
When issuing the memory access request held in the holding means to the memory device, the memory is based on the latency information stored in the first register and the wiring delay information stored in the second register. have a control step for controlling to change the order in which issues an access request,
In the control step, the first memory access request is generated by the wiring delay information for the first memory access request held in the holding unit and the wiring delay information for the second memory access request held in the holding unit. A method for controlling a memory controller, comprising: changing an order so that the second memory access request is issued when an access waiting time is longer than a second memory access request .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007233377A JP5349775B2 (en) | 2007-09-07 | 2007-09-07 | Memory controller and control method thereof |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007233377A JP5349775B2 (en) | 2007-09-07 | 2007-09-07 | Memory controller and control method thereof |
Publications (3)
| Publication Number | Publication Date |
|---|---|
| JP2009064360A JP2009064360A (en) | 2009-03-26 |
| JP2009064360A5 JP2009064360A5 (en) | 2010-08-26 |
| JP5349775B2 true JP5349775B2 (en) | 2013-11-20 |
Family
ID=40558878
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007233377A Active JP5349775B2 (en) | 2007-09-07 | 2007-09-07 | Memory controller and control method thereof |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP5349775B2 (en) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5393289B2 (en) * | 2009-06-24 | 2014-01-22 | キヤノン株式会社 | Memory control circuit, memory system, and control method |
| JP5393270B2 (en) * | 2009-06-09 | 2014-01-22 | キヤノン株式会社 | Memory control circuit, memory system, and control method |
| JP5448595B2 (en) * | 2009-06-18 | 2014-03-19 | キヤノン株式会社 | Control apparatus and control method |
| US8707002B2 (en) | 2009-06-09 | 2014-04-22 | Canon Kabushiki Kaisha | Control apparatus |
| JP7197998B2 (en) | 2018-05-02 | 2022-12-28 | キヤノン株式会社 | Memory controllers and methods implemented in memory controllers |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4019056B2 (en) * | 2004-02-25 | 2007-12-05 | エヌイーシーコンピュータテクノ株式会社 | Read request arbitration control system and method |
| US7222224B2 (en) * | 2004-05-21 | 2007-05-22 | Rambus Inc. | System and method for improving performance in computer memory systems supporting multiple memory access latencies |
-
2007
- 2007-09-07 JP JP2007233377A patent/JP5349775B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009064360A (en) | 2009-03-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7743202B2 (en) | Command controller, prefetch buffer and methods for accessing a serial flash in an embedded system | |
| US20120239885A1 (en) | Memory hub with internal cache and/or memory access prediction | |
| US8707002B2 (en) | Control apparatus | |
| JP5188134B2 (en) | Memory access control device and memory access control method | |
| JP2003150574A (en) | Microcomputer | |
| JP5349775B2 (en) | Memory controller and control method thereof | |
| US20140344512A1 (en) | Data Processing Apparatus and Memory Apparatus | |
| JP2011081553A (en) | Information processing system and control method thereof | |
| US20090235026A1 (en) | Data transfer control device and data transfer control method | |
| JP3505728B2 (en) | Storage controller | |
| US20060195665A1 (en) | Access control device, method for changing memory addresses, and memory system | |
| US20120310621A1 (en) | Processor, data processing method thereof, and memory system including the processor | |
| US5235694A (en) | Multi i/o device system using temporary store of ram data when associated communicating i/o devices are operating at various clocking phases | |
| JP2002288117A (en) | DMA control system enabling fly-by transfer to synchronous memory | |
| US20050174857A1 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
| US6356976B1 (en) | LSI system capable of reading and writing at high speed | |
| US20090276553A1 (en) | Controller, hard disk drive and control method | |
| US6269430B1 (en) | Method for controlling a process of writing data sent by a central processing unit to a memory by using a central processing unit interface | |
| US6629262B1 (en) | Multiplexed storage controlling device | |
| JP2000227895A (en) | Device and method for transferring image data | |
| US7395399B2 (en) | Control circuit to enable high data rate access to a DRAM with a plurality of areas | |
| JP5448595B2 (en) | Control apparatus and control method | |
| JP2006146817A (en) | Memory control system and memory control device | |
| US20070073961A1 (en) | Memory controller | |
| WO2005101219A1 (en) | Memory controller and semiconductor device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100709 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100709 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120925 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121009 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121207 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130507 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130704 |
|
| 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: 20130722 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130821 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 5349775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |