JP2000066946A - Memory controller - Google Patents

Memory controller

Info

Publication number
JP2000066946A
JP2000066946A JP10230966A JP23096698A JP2000066946A JP 2000066946 A JP2000066946 A JP 2000066946A JP 10230966 A JP10230966 A JP 10230966A JP 23096698 A JP23096698 A JP 23096698A JP 2000066946 A JP2000066946 A JP 2000066946A
Authority
JP
Japan
Prior art keywords
address
write
memory
data holding
holding unit
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.)
Pending
Application number
JP10230966A
Other languages
Japanese (ja)
Inventor
Takashi Ogawa
敬 小川
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP10230966A priority Critical patent/JP2000066946A/en
Publication of JP2000066946A publication Critical patent/JP2000066946A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To improve access efficiency by making data from bas masters writable in a memory in a page mode by providing a memory access sequencer having a specified function. SOLUTION: A memory access sequencer 5 has a function which compares addresses (c) to (f) from bus masters 2 and 3 and write data holding parts 10 and 11 with an address (g) at the time of the preceding memory access and preferentially selects a writeback request on the same page. The sequencer 5 selects the request of an address to be a page mode among the low addresses (c) and (d) of writeback requests (h) and (j) from the bas masters 2 and 3 and the row addresses (e) and (f) of the write data holding parts 10 and 11 and performs memory write to a memory element part 14. At the same time, it updates the low address (g) at the time of memory access held by an address latch 12. A flag 22 showing the existence of the address of the row address (g) is set in the address latch 12.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はバスマスタからメモ
リへのデータ転送を行うメモリコントローラに関し、特
にデータ転送速度の向上を実現したメモリコントローラ
に関する。
[0001] 1. Field of the Invention [0002] The present invention relates to a memory controller for transferring data from a bus master to a memory, and more particularly to a memory controller for improving the data transfer speed.

【0002】[0002]

【従来の技術】近年のコンピュータでは、CPU,DM
Aコントローラ等のバスマスタからメモリへのデータ転
送速度の向上が、コンピュータ動作の高速化に必要不可
欠となっている。DRAMをメモリとして利用する場
合、通常、ロウアドレスとカラムアドレスの2つのアド
レスに分割して供給しなければならない。従来は、複数
のバスマスタが存在する場合に、各バスマスタの要求を
そのままの順番でメモリに書き込む手段しかなく、高速
アクセス可能なページモードを効率良く利用する事が出
来なかった。しかし、ロウアドレスが同一であるアドレ
スに対するアクセスが連続した場合は、カラムアドレス
だけを供給すればデータ転送が行えるため、ページモー
ド (高速ページモード、ハイパーページモード)でアク
セスでき、より高速なデータ転送が可能となる。このよ
うに、DRAMのアクセス順序を操作して、なるべく多
くのメモリアクセスをページモードで行わせることで、
バスマスタからメモリへのデータ転送速度の向上を見込
んだものとして、特開平6−103148号公報に記載
の技術がある。
2. Description of the Related Art In recent computers, CPU, DM
Improving the data transfer speed from a bus master such as an A controller to a memory is indispensable for increasing the speed of computer operation. When a DRAM is used as a memory, it is usually necessary to divide and supply the two addresses of a row address and a column address. Conventionally, when there are a plurality of bus masters, there is only a means for writing the requests of each bus master to the memory in the same order, and the page mode that can be accessed at high speed cannot be used efficiently. However, if access to addresses with the same row address continues, data transfer can be performed by supplying only the column address. Therefore, access can be made in the page mode (high-speed page mode, hyper page mode), and faster data transfer. Becomes possible. As described above, by operating the access order of the DRAM and performing as many memory accesses as possible in the page mode,
Japanese Patent Application Laid-Open No. 6-103148 discloses a technique which is expected to improve the data transfer speed from the bus master to the memory.

【0003】この公報に記載の技術では、複数のバスマ
スタとメモリの間に特殊なライトバッファを置き、この
ライトバッファを複数のデータ保持部、アドレスラッ
チ、アドレス比較器、データラッチ、ライトバッファ制
御部、バス調停部で構成したものである。特に、DRA
Mへのアクセスがあった場合に、アドレス比較器でアド
レスの比較を行い、データ保持部に保持されているデー
タのロウアドレスと、前回のアクセス時のロウアドレス
とを比較し、前回のロウアドレスと同じロウアドレスと
同じデータを保持するデータ保持部から優先してDRA
Mへのライト(書き込み)を行うようにしたものであ
り、これによりDRAMへのアクセスの効率化を図って
いる。
In the technique described in this publication, a special write buffer is provided between a plurality of bus masters and a memory, and this write buffer is divided into a plurality of data holding units, an address latch, an address comparator, a data latch, and a write buffer control unit. , A bus arbitration unit. In particular, DRA
When there is access to M, the address is compared by an address comparator, and the row address of the data held in the data holding unit is compared with the row address at the time of the previous access, and the previous row address is compared. DRA with priority over the data holding unit that holds the same row address and the same data as
The writing (writing) to M is performed, thereby improving the efficiency of accessing the DRAM.

【0004】[0004]

【発明が解決しようとする課題】この従来の技術では、
ロウアドレスが同一のデータを優先してDRAMにアク
セスしてライトを行うため、アクセスの効率化を図る上
では有効であるが、ライトデータ保持部の全てにページ
モードにならない未書き込みデータがあった場合には、
バスマスタからの新しいライト要求がページモードにな
り得ても、一旦ライトデータ保持部に保持してからでな
いとメモリにアクセスできず、この処理を行う分アクセ
スの効率化を向上する際の障害になるという問題があ
る。また、前記従来の技術では、ライトデータ保持部の
個数が多い方がアクセスの効率化の点では有利である
が、ライトデータ保持部は長時間の間中データを保持し
続ける必要があり、したがって多数個のライトデータ保
持部を備える場合には、実際にライトデータ保持部を実
現するための回路規模が大きくなってしまうという問題
もある。
In this prior art,
Since the write is performed by accessing the DRAM with priority given to the data having the same row address, it is effective in improving the access efficiency, but there is unwritten data in all the write data holding units that does not enter the page mode. in case of,
Even if a new write request from the bus master can enter the page mode, the memory cannot be accessed unless it is once held in the write data holding unit, and this processing is an obstacle to improving access efficiency. There is a problem. Further, in the above-described conventional technology, it is advantageous that the number of write data holding units is large in terms of access efficiency, but the write data holding unit needs to keep holding data for a long time. When a large number of write data holding units are provided, there is also a problem that a circuit scale for actually realizing the write data holding unit becomes large.

【0005】本発明の目的は、ライトデータ保持部を一
時的にデータをラッチしておく場所としてとらえ、ライ
トデータ保持部が未書き込みデータで埋まっていても、
バスマスタからのデータをページモードでメモリにライ
ト可能にしてアクセス効率の向上を図り、かつライトデ
ータ保持部の個数を低減することを可能にしたメモリコ
ントローラを提供することにある。
An object of the present invention is to regard the write data holding unit as a place where data is temporarily latched, and even if the write data holding unit is filled with unwritten data.
It is an object of the present invention to provide a memory controller capable of writing data from a bus master to a memory in a page mode to improve access efficiency and reducing the number of write data holding units.

【0006】[0006]

【課題を解決するための手段】本発明は、メモリ素子部
と、前記メモリ素子部に対してデータのライトバック要
求を出す複数のバスマスタとの間に介挿され、前記バス
マスタからのライトバック要求に基づいて前記メモリ素
子部へのデータのライト動作を管理するメモリコントロ
ーラにおいて、前記メモリコントローラは、前記バスマ
スタからのデータを保持する1以上のライトデータ保持
部と、前記メモリ素子部に対してアクセスした前回のア
ドレスを記憶するアドレスラッチと、前記アドレスラッ
チに記憶されたアドレスと前記バスマスタからライドバ
ック要求があったアドレスと前記ライトデータ保持部の
アドレスとを比較し、前記アドレスラッチのアドレスと
一致するアドレスのバスマスタ或いはライトデータ保持
部に対して優先的にライト動作を実行するメモリアクセ
スシーケンサを備えることを特徴とする。前記メモリ素
子部はロウアドレス、カラムアドレスで設定されるアド
レスに対してデータのアクセスが実行され、前記アドレ
スラッチには前記ロウアドレスが記憶可能とされ、前記
メモリアクセスシーケンサは、前記アドレスラッチのロ
ウアドレスが一致する前記バスマスタ又はライトデータ
保持部を優先してアクセスするシーケンスに設定されて
いる。
According to the present invention, a write-back request from the bus master is inserted between a memory element and a plurality of bus masters for issuing a data write-back request to the memory element. A memory controller that manages a data write operation to the memory element unit based on the memory controller, wherein the memory controller includes at least one write data holding unit that holds data from the bus master, and an access to the memory element unit. An address latch for storing the previous address, an address stored in the address latch, an address for which a write-back request is issued from the bus master, and an address of the write data holding unit, and a match with the address of the address latch. Priority to the bus master or write data holding unit of the address Characterized in that it comprises a memory access sequencer to perform the write operation. The memory element unit performs data access to an address set by a row address and a column address, the row latch can store the row address, and the memory access sequencer stores a row of the address latch. The sequence is set such that the bus master or the write data holding unit having the same address is accessed with priority.

【0007】本発明によれば、ライトバック要求のある
バスマスタとライトデータ保持部の各アドレスをアドレ
スラッチのアドレスと比較し、アドレスラッチのアドレ
スに一致するバスマスタ或いはライドデータ保持部を優
先してライト動作を実行する。このため、バスマスタに
対してもダイレクトタなページモードでのライト動作が
可能であり、アクセス効率が向上できる。また、ライト
データ保持部を優先したときには、直ちにバスマスタの
データを当該ライトデータ保持部にデータ保持を行うた
め、ライトデータ保持部の有効利用が可能となり、ライ
トデータ保持部の個数が削減できる。
According to the present invention, each address of the bus master having a write-back request and the address of the write data holding unit is compared with the address of the address latch, and the bus master or ride data holding unit which matches the address of the address latch is preferentially written. Perform the action. Therefore, a write operation in a direct page mode can be performed on the bus master, and access efficiency can be improved. Further, when the write data holding unit is prioritized, the data of the bus master is immediately held in the write data holding unit, so that the write data holding unit can be effectively used and the number of write data holding units can be reduced.

【0008】[0008]

【発明の実施の形態】次に、本発明の実施形態を図面を
参照して説明する。図1は本発明のメモリコントローラ
の要部のブロック回路図である。二つのバスマスタ2,
3と、データを記憶するメモリ素子部14の間に、本発
明のライトバックを制御する回路を有するメモリコント
ローラ1が介挿されている。ここで、本実施形態におい
て、前記バスマスタ2,3は、CPUとDMAコントロ
ーラのいずれかを、また前記メモリ素子部14は1つの
DRAMを想定している。前記各バスマスタ2,3はア
ドレス、データ出力に合わせてライトバック要求信号
h,jをメモリアクセスシーケンサ5に出力し、アクノ
リッジ信号i,kを受け取ることで1サイクルが終了し
たと判断し、次の処理に移る。前記バスマスタ2,3か
らのアドレスとデータはそれぞれアドレスセレクタ6,
8とデータセレクタ7,9に接続され、メモリアクセス
シーケンサ5の制御により、アドレスバスa、データバ
スbに出力し、アドレスラッチ12、データラッチ13
から直接メモリ素子部14に対してメモリライトを行う
か、或いはライトデータ保持部10,11に退避するか
決定される。前記ライトデータ保持部10,11では、
未書き込みデータの有無をフラグ20,21に記憶す
る。
Next, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block circuit diagram of a main part of a memory controller according to the present invention. Two bus masters 2,
The memory controller 1 having a circuit for controlling write-back according to the present invention is interposed between the memory controller 3 and the memory element unit 14 for storing data. Here, in the present embodiment, the bus masters 2 and 3 are assumed to be either a CPU or a DMA controller, and the memory element section 14 is assumed to be a single DRAM. Each of the bus masters 2 and 3 outputs a write-back request signal h and j to the memory access sequencer 5 in accordance with the address and data output, receives the acknowledge signals i and k, and determines that one cycle is completed. Move on to processing. Addresses and data from the bus masters 2 and 3 are respectively applied to address selectors 6 and
8 and data selectors 7 and 9, output to an address bus a and a data bus b under the control of the memory access sequencer 5, and output an address latch 12 and a data latch 13.
It is determined whether to perform the memory write directly to the memory element unit 14 or to save the data to the write data holding units 10 and 11. In the write data holding units 10 and 11,
The presence or absence of unwritten data is stored in flags 20 and 21.

【0009】前記メモリアクセスシーケンサ5は、前記
バスマスタ2,3と前記ライトデータ保持部10,11
からのアドレスc,d,e,fと前回のメモリアクセス
時のアドレスgとを比較し、同一ページのライトバック
要求を優先して選択する機能を有する。また、選択され
たライトバック要求により、アドレスバスaにライトア
ドレスを、データバスbにライトデータを出力し、アド
レスラッチ12、データラッチ13から、メモリ素子部
14にライトアドレスとライトデータを出力し、かつメ
モリアクセスシーケンサ5からの制御信号によりメモリ
素子部14に記憶する。同時に、アドレスラッチ12に
保持されるメモリアクセス時のロウアドレスgを更新す
る。このアドレスgは、メモリリード時にも更新され
る。そして、一度でもメモリアクセスがあれば、ロウア
ドレスgはラッチされ、アドレスラッチ12にはロウア
ドレスgのアドレスの有無を示すフラグ22がセットさ
れる。
The memory access sequencer 5 includes the bus masters 2 and 3 and the write data holding units 10 and 11.
Has a function of comparing the addresses c, d, e, and f with the address g at the time of the previous memory access, and preferentially selecting a write-back request for the same page. In response to the selected write-back request, the write address is output to the address bus a and the write data is output to the data bus b. The write address and the write data are output from the address latch 12 and the data latch 13 to the memory element unit 14. And in the memory element section 14 according to a control signal from the memory access sequencer 5. At the same time, the row address g at the time of memory access held in the address latch 12 is updated. This address g is also updated at the time of memory reading. If there is a memory access even once, the row address g is latched, and the flag 22 indicating whether or not the row address g is present is set in the address latch 12.

【0010】次に、図1の回路の動作について説明す
る。バスマスタ2,3からのライトバック要求h,jの
ロウアドレスc,dと、ライトデータ保持部10,11
のロウアドレスe,fのうち、ページモードになるアド
レスの要求が有った場合は、その要求を選択し、メモリ
ライトを行う。ここで、同時に要求が有った時の優先順
位は、ライトデータ保持部10、ライトデータ保持部1
1、バスマスタ2、バスマスタ3の順に設定されている
ため、4つの要求全てがオンページである場合は、ライ
トデータ保持部10のロウアドレスeを選択する。ま
た、全ての要求のロウアドレスがロウアドレスgと同一
ページではない場合は、同様にライトデータ保持部1
0、ライトデータ保持部11、バスマスタ2、バスマス
タ3の順で要求を選択しメモリライトを行う。また、バ
スマスタ2,3の要求が無く、ライトデータ保持部1
0,11にデータが残っている場合でも、ロウアドレス
gと同一ページの要求、ライトデータ保持部10、ライ
トデータ保持部11の順で要求を選択しメモリライトを
行う。なお、メモリライトを行ったライトデータ保持部
10又は11に対しては、フラグ20もしくはフラグ2
1をリセットする。
Next, the operation of the circuit of FIG. 1 will be described. Row addresses c and d of write back requests h and j from bus masters 2 and 3 and write data holding units 10 and 11
If there is a request for an address to be set to the page mode among the row addresses e and f, the request is selected and a memory write is performed. Here, when there is a request at the same time, the write data holding unit 10 and the write data holding unit 1
1, the bus master 2 and the bus master 3 are set in this order. If all four requests are on pages, the row address e of the write data holding unit 10 is selected. If the row addresses of all requests are not on the same page as the row address g, the write data holding unit 1
0, a write data holding unit 11, a bus master 2, and a bus master 3 are sequentially selected to perform a memory write. Also, there is no request from the bus masters 2 and 3 and the write data holding unit 1
Even when data remains at 0 and 11, a request for the same page as the row address g, a request for the write data holding unit 10 and a request for the write data holding unit 11 are selected in this order, and memory write is performed. It should be noted that the write data holding unit 10 or 11 that has performed the memory write is provided with the flag 20 or the flag 2
Reset 1

【0011】以下、具体的な動作について説明する。ア
ドレスラッチ12のフラグ22がセットされていない場
合は、バスマスタ2からのライトバック要求hを受け付
け、ダイレクトにメモリライトを行い、アクノリッジ信
号iを出力し、次の要求の受け付けを可能にする。ま
た、これと同時にバスマスタ3からのライトバック要求
jが有る場合は、ライトデータ保持部11にアドレスと
データを退避し、フラグ21をセットし、ライトデータ
保持部11に退避したライトバック要求jに対し、アク
ノリッジ信号kを出力し、次の要求の受け付けを可能に
する。また、バスマスタ3からのライトバック要求jの
みの場合は、バスマスタ3からのライトバック要求jを
受け付け、ダイレクトにメモリライトを行い、アクノリ
ッジ信号kを出力し、次の要求の受け付けを可能にす
る。そして、全ての場合において、メモリライトを行っ
た時にラッチしたロウアドレスをロウアドレスgとして
記憶し、フラグ22をセットする。
Hereinafter, a specific operation will be described. If the flag 22 of the address latch 12 is not set, the write-back request h from the bus master 2 is accepted, the memory is directly written, an acknowledge signal i is output, and the next request can be accepted. At the same time, if there is a write back request j from the bus master 3, the address and data are saved in the write data holding unit 11, the flag 21 is set, and the write back request j saved in the write data holding unit 11 is sent to the write data holding unit 11. On the other hand, it outputs an acknowledgment signal k to enable the reception of the next request. When only the write-back request j from the bus master 3 is received, the write-back request j from the bus master 3 is accepted, the memory is directly written, the acknowledge signal k is output, and the next request can be accepted. In all cases, the row address latched at the time of performing the memory write is stored as the row address g, and the flag 22 is set.

【0012】一方、バスマスタ2,3からのライトバッ
ク要求h,jに対し、各ライトデータ保持部10,11
にフラグ20,21がセットされていない場合は、バス
マスタ2,3からの要求h,jのロウアドレスc,d
と、前回のメモリアクセス時のロウアドレスgとを比較
し、同一ページの要求を優先して選択する。バスマスタ
2が優先して選択された場合は、バスマスタ2のライト
バック要求hを選択し、ダイレクトにメモリライトを行
う。これと同時のバスマスタ3の要求jに対して、ライ
トデータ保持部11にアドレスとデータを退避し、フラ
グ21をセットする。ダイレクトにメモリライトを行っ
たライトバック要求hとライトデータ保持部11に退避
したライトバック要求jに対し、アクノリッジ信号i,
kを出力し、次の要求の受け付けを可能にする。また、
バスマスタ3が優先して選択された場合は、バスマスタ
3のライトバック要求jを選択し、ダイレクトにメモリ
ライトを行う。これと同時のバスマスタ2の要求hに対
して、ライトデータ保持部10にアドレスとデータを退
避し、フラグ20をセットする。ダイレクトにメモリラ
イトを行ったライトバック要求jとライトデータ保持部
10に退避したライトバック要求hに対し、アクノリッ
ジ信号k,iを出力し、次の要求の受け付けを可能にす
る。
On the other hand, in response to write-back requests h and j from the bus masters 2 and 3, the write data holding units 10 and 11
If the flags 20 and 21 are not set in the row addresses c and d of the requests h and j from the bus masters 2 and 3,
Is compared with the row address g at the time of the previous memory access, and a request for the same page is preferentially selected. When the bus master 2 is selected with priority, the write-back request h of the bus master 2 is selected, and the memory write is performed directly. In response to the request j of the bus master 3 at the same time, the address and data are saved in the write data holding unit 11 and the flag 21 is set. In response to a write-back request h for directly performing a memory write and a write-back request j saved to the write data holding unit 11, an acknowledge signal i,
k is output so that the next request can be accepted. Also,
When the bus master 3 is selected with priority, the write-back request j of the bus master 3 is selected and the memory write is performed directly. In response to the request h of the bus master 2 at the same time, the address and data are saved in the write data holding unit 10 and the flag 20 is set. An acknowledge signal k, i is output in response to a write-back request j in which a memory write has been directly performed and a write-back request h saved in the write data holding unit 10, so that the next request can be accepted.

【0013】また、ライトデータ保持部10のフラグ2
0のみがセットされている場合は、バスマスタ2,3か
らの要求h,jのロウアドレスc,d、ライトデータ保
持部10のロウ・アドレスeと前回のメモリアクセス時
のロウアドレスgとを比較し、同一ページの要求を優先
して選択する。バスマスタ2が優先して選択された場合
は、バスマスタ2のライトバック要求hを選択し、ダイ
レクトにメモリライトを行う。これと同時のバスマスタ
3の要求jに対して、ライトデータ保持部11にアドレ
スとデータを退避し、フラグ21をセットする。ダイレ
クトにメモリライトを行ったライトバック要求hとライ
トデータ保持部11に退避したライトバック要求jに対
し、アクノリッジ信号i,kを出力し、次の要求の受け
付けを可能にする。
The flag 2 of the write data holding unit 10
When only 0 is set, the row addresses c and d of the requests h and j from the bus masters 2 and 3 and the row address e of the write data holding unit 10 are compared with the row address g at the time of the previous memory access. Then, a request for the same page is preferentially selected. When the bus master 2 is selected with priority, the write-back request h of the bus master 2 is selected, and the memory write is performed directly. In response to the request j of the bus master 3 at the same time, the address and data are saved in the write data holding unit 11 and the flag 21 is set. In response to a write-back request h for which a direct memory write has been performed and a write-back request j saved to the write data holding unit 11, acknowledge signals i and k are output, and the next request can be accepted.

【0014】また、一方でバスマスタ3が優先的に選択
された場合は、バスマスタ3の要求jを選択し、ダイレ
クトにメモリライトを行う。この時、バスマスタ2の要
求hは受け付けず、ライトデータ保持部10も変更しな
い。ダイレクトにメモリライトを行ったライトバック要
求jに対してのみ、アクノリッジ信号kを出力し、次の
要求を受け付けを可能にする。
On the other hand, when the bus master 3 is selected preferentially, the request j of the bus master 3 is selected and the memory write is performed directly. At this time, the request h of the bus master 2 is not accepted, and the write data holding unit 10 is not changed. An acknowledgment signal k is output only for a write-back request j for which a direct memory write has been performed, and the next request can be accepted.

【0015】あるいは、ライトデータ保持部10が優先
して選択された場合は、ライトデータ保持部10のアド
レスとデータをアドレスバスa、データバスbに出力
し、メモリライトを行う。これと同時のバスマスタ2,
3のライトバック要求h,jに対しては、ライトデータ
保持部10,11にアドレスとデータを退避し、フラグ
20,21をセットする。ライトデータ保持部10,1
1に退避したライトバック要求h,jに対し、アクノリ
ッジ信号i,kを出力し、次の要求の受け付けを可能に
する。
Alternatively, when the write data holding unit 10 is selected with priority, the address and data of the write data holding unit 10 are output to the address bus a and the data bus b, and the memory write is performed. Simultaneous bus master 2,
For the write-back requests h and j of No. 3, the address and data are saved in the write data holding units 10 and 11, and flags 20 and 21 are set. Write data holding unit 10, 1
In response to the write-back requests h and j saved in step 1, the acknowledgment signals i and k are output, and the next request can be accepted.

【0016】次に、ライトデータ保持部11のフラグ2
1のみがセットされている場合は、バスマスタ2,3か
らの要求h,jのロウアドレスc,d、ライトデータ保
持部11のロウ・アドレスfと前回のメモリアクセス時
のロウアドレスgとを比較し、同一ページの要求を優先
して選択する。バスマスタ2が優先して選択された場合
は、バスマスタ2の要求hを選択し、ダイレクトにメモ
リライトを行う。この時、バスマスタ3の要求jは受け
付けず、ライトデータ保持部11も変更しない。ダイレ
クトにメモリライトを行ったライトバック要求hに対し
てのみ、アクノリッジ信号iを出力し、次の要求を受け
付けを可能にする。
Next, the flag 2 of the write data holding unit 11
When only 1 is set, the row addresses c and d of the requests h and j from the bus masters 2 and 3 and the row address f of the write data holding unit 11 are compared with the row address g at the time of the previous memory access. Then, a request for the same page is preferentially selected. When the bus master 2 is selected with priority, the request h of the bus master 2 is selected and the memory write is performed directly. At this time, the request j of the bus master 3 is not accepted, and the write data holding unit 11 is not changed. An acknowledgment signal i is output only for a write-back request h for which a direct memory write has been performed, and the next request can be accepted.

【0017】また、バスマスタ3が優先して選択された
場合は、バスマスタ3のライトバック要求jを選択し、
ダイレクトにメモリライトを行う。これと同時のバスマ
スタ2の要求hに対して、ライトデータ保持部10にア
ドレスとデータを退避し、フラグ20をセットする。ダ
イレクトにメモリライトを行ったライトバック要求jと
ライトデータ保持部10に退避したライトバック要求h
に対し、アクノリッジ信号k,iを出力し、次の要求の
受け付けを可能にする。
When the bus master 3 is selected with priority, the write-back request j of the bus master 3 is selected, and
Perform memory write directly. In response to the request h of the bus master 2 at the same time, the address and data are saved in the write data holding unit 10 and the flag 20 is set. A write-back request j for directly performing a memory write and a write-back request h saved to the write data holding unit 10
Acknowledgment signals k and i are output in response to the next request.

【0018】一方、ライトデータ保持部11が優先して
選択された場合は、ライトデータ保持部11のアドレス
とデータをアドレスバスa、データバスbに出力し、メ
モリライトを行う。これと同時のバスマスタ2,3のラ
イトバック要求h,jに対しては、ライトデータ保持部
10,11にアドレスとデータを退避し、フラグ20,
21をセットする。ライトデータ保持部10,11に退
避したライトバック要求h,jに対し、アクノリッジ信
号i,kを出力し、次の要求の受け付けを可能にする。
On the other hand, when the write data holding unit 11 is selected with priority, the address and data of the write data holding unit 11 are output to the address bus a and the data bus b, and the memory write is performed. With respect to the write-back requests h and j of the bus masters 2 and 3 at the same time, the addresses and data are saved in the write data holding units 10 and 11, and the flags 20 and
Set 21. In response to the write-back requests h and j saved in the write data holding units 10 and 11, acknowledge signals i and k are output, and the next request can be accepted.

【0019】各ライトデータ保持部10,11のフラグ
20,21がともにセットされている場合は、バスマス
タ2,3からの要求h,jのロウアドレスc,d、ライ
トデータ保持部10,11のロウアドレスe,fと前回
のメモリアクセス時のロウアドレスgとを比較し、同一
ページの要求を優先して選択する。バスマスタ2が優先
して選択された場合は、バスマスタ2の要求hを選択
し、ダイレクトにメモリライトを行う。この時、バスマ
スタ3の要求jは受け付けず、ライトデータ保持部1
0,11も変更しない。ダイレクトにメモリライトを行
ったライトバック要求hに対してのみ、アクノリッジ信
号iを出力し、次の要求を受け付けを可能にする。
When the flags 20 and 21 of the write data holding units 10 and 11 are both set, the row addresses c and d of the requests h and j from the bus masters 2 and 3 and the write data holding units 10 and 11 The row addresses e and f are compared with the row address g at the time of the previous memory access, and a request for the same page is preferentially selected. When the bus master 2 is selected with priority, the request h of the bus master 2 is selected and the memory write is performed directly. At this time, the request j of the bus master 3 is not accepted and the write data holding unit 1
0 and 11 are not changed. An acknowledgment signal i is output only for a write-back request h for which a direct memory write has been performed, and the next request can be accepted.

【0020】また、バスマスタ3が優先して選択された
場合は、バスマスタ3の要求jを選択し、ダイレクトに
メモリライトを行う。この時、バスマスタ2の要求hは
受け付けず、ライトデータ保持部10,11も変更しな
い。ダイレクトにメモリライトを行ったライトバック要
求hに対してのみ、アクノリッジ信号kを出力し、次の
要求を受け付けを可能にする。
When the bus master 3 is selected with priority, the request j of the bus master 3 is selected and the memory write is performed directly. At this time, the request h of the bus master 2 is not accepted, and the write data holding units 10 and 11 are not changed. An acknowledge signal k is output only for a write-back request h for which a direct memory write has been performed, and the next request can be accepted.

【0021】一方、ライトデータ保持部10が優先して
選択された場合は、ライトデータ保持部10のアドレス
とデータをアドレスバスa、データバスbに出力し、メ
モリライトを行う。バスマスタ2のライトバック要求h
に対して、ライトデータ保持部10にアドレスとデータ
を退避し、フラグ20をセットする。この時、バスマス
タ3の要求jは受け付けず、ライトデータ保持部11も
変更しない。ライトデータ保持部10に退避したライト
バック要求hに対し、アクノリッジ信号iを出力し、次
の要求の受け付けを可能にする。ライトデータ保持部1
1が選択された場合は、ライトデータ保持部11のアド
レスとデータをアドレスバスa、データバスbに出力
し、メモリライトを行う。また、バスマスタ3のライト
バック要求jに対して、ライトデータ保持部11にアド
レスとデータを退避し、フラグ21をセットする。この
時、バスマスタ2の要求hは受け付けず、ライトデータ
保持部10も変更しない。ライトデータ保持部11に退
避したライトバック要求jに対し、アクノリッジ信号k
を出力し、次の要求の受け付けを可能にする。
On the other hand, when the write data holding unit 10 is selected with priority, the address and data of the write data holding unit 10 are output to the address bus a and the data bus b, and the memory write is performed. Bus master 2 write-back request h
Then, the address and data are saved in the write data holding unit 10 and the flag 20 is set. At this time, the request j of the bus master 3 is not accepted, and the write data holding unit 11 is not changed. In response to the write-back request h saved in the write data holding unit 10, an acknowledgment signal i is output, so that the next request can be accepted. Write data holding unit 1
When 1 is selected, the address and data of the write data holding unit 11 are output to the address bus a and the data bus b, and the memory write is performed. Further, in response to the write back request j of the bus master 3, the address and data are saved in the write data holding unit 11, and the flag 21 is set. At this time, the request h of the bus master 2 is not accepted, and the write data holding unit 10 is not changed. In response to the write back request j saved in the write data holding unit 11, an acknowledge signal k
Is output, and the next request can be accepted.

【0022】例えば、図2(a)に示すように、バスマ
スタ2,3にそれぞれ図示のような要求が生じた場合、
この要求に対するメモリアクセスについて、従来例と本
実施形態の動作の違いについて説明する。従来例におい
て優先するバスマスタ(プロセッサ)が未定義のため、
ライトデータ保持部に保持されるアドレスとデータは、
バスマスタ2を優先して保持すると仮定した。従来例で
は優先するバスマスタ2のデータをデータ保持部に保持
した上でメモリアクセスを行っているため、データ3に
ページモードアクセス可能なデータが存在する場合で
も、このデータに対して優先的にページモードアクセス
を実効することはできない。このため、図2(b)のよ
うにライトバックのシーケンスを変更し、ページモード
アクセスを3回から5回に増やしているのが限界であ
る。これに対し、本実施形態では、バスマスタ2,3と
データ保持部10,11との間での優先を見ているた
め、バスマスタ3のデータについても優先的なページモ
ードアクセスが可能となり、図2(c)のようにライト
バックのシーケンスを変更し、ページモードアクセスを
8回に増やすことが可能となり、データ転送のさらなる
高速化を実現している。このように、本実施形態では従
来例に比べて、ライトデータ保持部の個数を半分にする
一方で、ページモードアクセスを増やすことができ、ア
クセスの効率化が向上できる。
For example, as shown in FIG. 2A, when the bus masters 2 and 3 are respectively requested as shown in FIG.
Regarding the memory access to this request, the difference between the operation of the conventional example and the operation of the present embodiment will be described. Since the priority bus master (processor) in the conventional example is undefined,
The address and data held in the write data holding unit are
It is assumed that the bus master 2 is preferentially held. In the conventional example, since the memory access is performed after holding the data of the priority bus master 2 in the data holding unit, even if there is data that can be accessed in the page mode in the data 3, the page priority is given to this data. Mode access cannot be performed. For this reason, the limit is that the write-back sequence is changed as shown in FIG. 2B and the number of page mode accesses is increased from three to five. On the other hand, in the present embodiment, since the priority between the bus masters 2 and 3 and the data holding units 10 and 11 is checked, the page mode access to the data of the bus master 3 can be performed preferentially. By changing the write-back sequence as shown in (c), it is possible to increase the number of page mode accesses to eight times, thereby realizing further higher data transfer speed. As described above, in the present embodiment, the number of write data holding units can be reduced by half while the number of page mode accesses can be increased, and the efficiency of access can be improved.

【0023】[0023]

【発明の効果】以上説明したように本発明は、バスマス
タからのライトバック要求に基づいてメモリ素子部への
データのライト動作を管理するメモリコントローラの構
成として、バスマスタからのデータを保持する1以上の
ライトデータ保持部と、メモリ素子部に対してアクセス
した前回のアドレスを記憶するアドレスラッチと、アド
レスラッチに記憶されたアドレスと前記バスマスタから
ライドバック要求があったアドレスと前記ライトデータ
保持部のアドレスとを比較し、アドレスラッチのアドレ
スと一致するアドレスのバスマスタ或いはライトデータ
保持部に対して優先的にライト動作を実行するメモリア
クセスシーケンサを備えているので、メモリアクセスシ
ーケンサは、バスマスタに対してもダイレクトタなペー
ジモードでのアクセスを可能とし、これによりアクセス
効率が向上できる。また、ライトデータ保持部を優先し
たときには、当該ライトデータ保持部に対するデータ保
持が可能となり、ライトデータ保持部を有効利用を図
り、ライトデータ保持部の個数を削減して回路規模の縮
小が実現できる。
As described above, according to the present invention, as a configuration of a memory controller that manages a data write operation to a memory element unit based on a write-back request from a bus master, one or more memories that hold data from the bus master are provided. A write data holding unit, an address latch for storing a previous address accessed to the memory element unit, an address stored in the address latch, an address for which a write-back request has been issued from the bus master, and an address of the write data holding unit. A memory access sequencer is provided for comparing the address with the address of the address latch and executing a write operation preferentially with respect to the bus master or the write data holding unit having an address matching the address of the address latch. Access in direct page mode Enabling scan and then, thereby improving the access efficiency. When the write data holding unit is prioritized, data can be held in the write data holding unit, the write data holding unit can be effectively used, the number of write data holding units can be reduced, and the circuit size can be reduced. .

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のメモリコントローラの実施形態のブロ
ック回路図である。
FIG. 1 is a block circuit diagram of an embodiment of a memory controller of the present invention.

【図2】本発明におけるアクセスシーケンスを従来例と
比較して示す図である。
FIG. 2 is a diagram showing an access sequence in the present invention in comparison with a conventional example.

【符号の説明】[Explanation of symbols]

1 メモリコントローラ 2,3 バスマスタ 5 メモリシーケンサ 6,7 アドレスセレクタ 8,9 データセレクタ 10,11 ライトデータ保持部 12 アドレスラッチ 13 データラッチ 14 メモリ素子部 20,21,22 フラグ DESCRIPTION OF SYMBOLS 1 Memory controller 2, 3 Bus master 5 Memory sequencer 6, 7 Address selector 8, 9, Data selector 10, 11, Write data holding part 12 Address latch 13 Data latch 14, Memory element part 20, 21, 22, Flag

Claims (5)

【特許請求の範囲】[Claims] 【請求項1】 メモリ素子部と、前記メモリ素子部に対
してデータのライトバック要求を出す複数のバスマスタ
との間に介挿され、前記バスマスタからのライトバック
要求に基づいて前記メモリ素子部へのデータのライト動
作を管理するメモリコントローラにおいて、前記メモリ
コントローラは、前記バスマスタからのデータを保持す
る1以上のライトデータ保持部と、前記メモリ素子部に
対してアクセスした前回のアドレスを記憶するアドレス
ラッチと、前記アドレスラッチに記憶されたアドレスと
前記バスマスタからライドバック要求があったアドレス
と前記ライトデータ保持部のアドレスとを比較し、前記
アドレスラッチのアドレスと一致するアドレスのバスマ
スタ或いはライトデータ保持部に対して優先的にライト
動作を実行するメモリアクセスシーケンサを備えること
を特徴とするメモリコントローラ。
1. A memory device, comprising: a plurality of bus masters that issue a data write-back request to the memory device; and a plurality of bus masters that issue a data write-back request to the memory device based on a write-back request from the bus master. A memory controller for managing a data write operation of the memory device, the memory controller comprising: at least one write data holding unit for holding data from the bus master; and an address for storing a previous address accessed to the memory element unit. A latch, an address stored in the address latch, an address for which a write-back request is received from the bus master, and an address of the write data holding unit, and a bus master or write data holding of an address that matches the address of the address latch. Memo that gives priority to the write operation A memory controller comprising a reaccess sequencer.
【請求項2】 前記メモリ素子部はロウアドレス、カラ
ムアドレスで設定されるアドレスに対してデータのアク
セスが実行され、前記アドレスラッチには前記ロウアド
レスが記憶可能とされ、前記メモリアクセスシーケンサ
は、前記アドレスラッチのロウアドレスが一致する前記
バスマスタ又はライトデータ保持部を優先してアクセス
するシーケンスに設定されている請求項1に記載のメモ
リコントローラ。
2. The memory element section executes data access to an address set by a row address and a column address, the address latch can store the row address, and the memory access sequencer includes: 2. The memory controller according to claim 1, wherein a sequence is set such that the bus master or the write data holding unit having a matching row address of the address latch is accessed with priority.
【請求項3】 前記メモリアクセスシーケンサは、前記
バスマスタを優先するときには当該バスマスタのデータ
を前記メモリ素子部にダイレクトにライト動作を行い、
前記ライトデータ保持部を優先するときには当該ライト
データ保持部のデータを前記メモリ素子部にダイレクト
にライト動作を行い、前記ライト動作を行ったライトデ
ータ保持部に対して前記バスマスタからのデータの保持
を行うシーケンスに設定されている請求項1又は2に記
載のメモリコントローラ。
3. When the memory access sequencer gives priority to the bus master, the memory access sequencer directly writes data of the bus master to the memory element section,
When giving priority to the write data holding unit, the data of the write data holding unit is directly written to the memory element unit, and the write data holding unit that has performed the write operation holds data from the bus master. 3. The memory controller according to claim 1, wherein the sequence is set to be performed.
【請求項4】 前記ライトデータ保持部は複数設けら
れ、前記複数のバスマスタのデータを前記複数のライト
データ保持部に振り分けるアドレスセレクタ及びデータ
セレクタを備える請求項1ないし3のいずれかに記載の
メモリコントローラ。
4. The memory according to claim 1, wherein a plurality of said write data holding units are provided, and an address selector and a data selector which distribute data of said plurality of bus masters to said plurality of write data holding units. controller.
【請求項5】 前記アドレスラッチ及びライトデータ保
持部にはそれぞれアドレス、データが保持されているこ
とを示すフラグが設けられ、前記メモリアクセスシーケ
ンサは、前記フラグに基づいて前記シーケンス動作を実
行する請求項1ないし4のいずれかに記載のメモリコン
トローラ。
5. A method according to claim 1, wherein the address latch and the write data holding unit are respectively provided with a flag indicating that an address and data are held, and the memory access sequencer executes the sequence operation based on the flag. Item 5. The memory controller according to any one of Items 1 to 4.
JP10230966A 1998-08-17 1998-08-17 Memory controller Pending JP2000066946A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10230966A JP2000066946A (en) 1998-08-17 1998-08-17 Memory controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10230966A JP2000066946A (en) 1998-08-17 1998-08-17 Memory controller

Publications (1)

Publication Number Publication Date
JP2000066946A true JP2000066946A (en) 2000-03-03

Family

ID=16916123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10230966A Pending JP2000066946A (en) 1998-08-17 1998-08-17 Memory controller

Country Status (1)

Country Link
JP (1) JP2000066946A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100607987B1 (en) 2004-06-24 2006-08-02 삼성전자주식회사 Memory controller for scheduling a plurality of commands, and method thereof
JP2013041414A (en) * 2011-08-15 2013-02-28 Fujitsu Ltd Storage control system and method, and replacement system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100607987B1 (en) 2004-06-24 2006-08-02 삼성전자주식회사 Memory controller for scheduling a plurality of commands, and method thereof
JP2013041414A (en) * 2011-08-15 2013-02-28 Fujitsu Ltd Storage control system and method, and replacement system and method
US9311988B2 (en) 2011-08-15 2016-04-12 Fujitsu Limited Storage control system and method, and replacing system and method

Similar Documents

Publication Publication Date Title
US5870625A (en) Non-blocking memory write/read mechanism by combining two pending commands write and read in buffer and executing the combined command in advance of other pending command
JP3218773B2 (en) Cache controller
US6604180B2 (en) Pipelined memory controller
JP2968486B2 (en) Memory, memory subsystem, memory device, and memory system address method
JP2003504757A (en) Buffering system bus for external memory access
JPH0348370A (en) Memory access control circuit
JP2012038293A5 (en)
US6035376A (en) System and method for changing the states of directory-based caches and memories from read/write to read-only
JP3444154B2 (en) Memory access control circuit
JPH04102948A (en) Data processing system and method
TW491970B (en) Page collector for improving performance of a memory
JP2716350B2 (en) Electronic data storage system
JP2591502B2 (en) Information processing system and its bus arbitration system
JP2001109662A (en) Cache device and control method
US7075546B2 (en) Intelligent wait methodology
JP2000066946A (en) Memory controller
US6425020B1 (en) Systems and methods for passively transferring data across a selected single bus line independent of a control circuitry
JPH11184761A (en) Read modify write control system
US6385687B2 (en) Method and apparatus for simultaneously accessing the tag and data arrays of a memory device
US6408361B1 (en) Autonomous way specific tag update
JPH09319657A (en) Processor provided with buffer for reading instruction
JP2001290790A (en) Disk controller
JPH0728990A (en) Graphic memory access circuit
JPH0612363A (en) Memory controller and multiprocessor system
JPH0561769A (en) Memory access method