JP2011100273A - Memory control circuit - Google Patents
Memory control circuit Download PDFInfo
- Publication number
- JP2011100273A JP2011100273A JP2009254166A JP2009254166A JP2011100273A JP 2011100273 A JP2011100273 A JP 2011100273A JP 2009254166 A JP2009254166 A JP 2009254166A JP 2009254166 A JP2009254166 A JP 2009254166A JP 2011100273 A JP2011100273 A JP 2011100273A
- Authority
- JP
- Japan
- Prior art keywords
- bank
- memory
- prefetch
- memory access
- command
- 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
Links
Images
Abstract
Description
本発明は、メモリ制御回路に関する。 The present invention relates to a memory control circuit.
DRAMの内部は、複数のバンクで構成され、各バンクは、ページと称される複数の領域に分割されている。図5に、DRAMへのメモリアクセス時の処理に係るフローチャートを示す。DRAMに対するメモリアクセスでは、バンク及び行アドレスを指定し、ページを活性化させるコマンド(アクティブコマンド)を発行することによりページの選択が行われる(以下、ページオープンと称する。)。その後に、列アドレスを指定し、リードコマンド又はライトコマンドといった列コマンド(メモリアクセスコマンド)を発行することでDRAMに対するメモリアクセスが実現される。継続して同一のページ内のアドレスに対してメモリアクセスする場合には、再度ページオープン処理を行う必要は無く、列アドレスを指定し、メモリアクセスコマンドを発行することによりアクセス可能である。
しかしながら、同一バンク内で活性化されているページ以外の別のページへメモリアクセスする場合には、一旦バンク内の活性化されているページを非活性化するコマンド(プリチャージコマンド)を発行する。その後に、アクセス対象のページオープンに係る処理を行った後に、メモリアクセスコマンドを発行する必要がある。このように、活性化されているページ以外の別のページへメモリアクセスすることは、ページミスと称され、それに要するプリチャージコマンドの発行とページオープンに係る処理とに要する期間は、ページミスペナルティと称される。
The inside of the DRAM is composed of a plurality of banks, and each bank is divided into a plurality of areas called pages. FIG. 5 shows a flowchart relating to processing at the time of memory access to the DRAM. In memory access to a DRAM, a page is selected by designating a bank and a row address and issuing a command (active command) for activating the page (hereinafter referred to as page open). Thereafter, by specifying a column address and issuing a column command (memory access command) such as a read command or a write command, memory access to the DRAM is realized. When memory access is continuously performed on addresses in the same page, there is no need to perform page open processing again, and access is possible by designating a column address and issuing a memory access command.
However, when memory access is made to another page other than the activated page in the same bank, a command (precharge command) for deactivating the activated page in the bank is issued. After that, it is necessary to issue a memory access command after performing processing related to opening the page to be accessed. As described above, memory access to another page other than the activated page is referred to as a page miss, and the period required for issuing the precharge command required for the page and the processing related to the page open is the page miss penalty. It is called.
一般にLSIを用いて構築されるシステムは、内部にCPUやハードウエア処理モジュールを搭載すると共に、外部記憶デバイスを主記憶としてDRAMを搭載し、システムとしての機能を実現している。半導体に関する技術の向上に伴い、LSI内部の動作周波数が高速化しており、LSI内部の処理を高速に行うことが可能になっている。しかしながら、LSI内部の処理において高速化が進む一方、DRAMといった外部記憶デバイスへのアクセス時間の向上は少ない。
近年、主流となっているDDR(Double Data Rate)と称されるクロックの立ち上がりと立ち下がりとの双方に同期してデータ転送するメモリデバイスでは、メモリアクセス帯域が大幅に改善されている。しかしながら、メモリデバイスへのアクセス応答時間は、改善されていない。LSI内部の動作周波数の向上に対し、メモリデバイスへのアクセス時間が変わらない場合、特に読み出し(リード)を中心に行う処理においては、その応答に要するクロック数が増加する傾向にあり、周波数向上分の性能改善が困難となっている。
このようなリード時の応答時間の性能への影響を回避する手法としてプリフェッチと称される手法が一般的に用いられている。プリフェッチとは、データが必要となるサイクルに先立って必要となるデータを保持し、データを必要となったタイミングで、保持されたデータを使用する手法である。プリフェッチを用いることによりメモリデバイスへのアクセス応答時間を隠蔽し、バスマスタは見かけ上、短時間でリードに係る処理を終了することが可能となるため、プリフェッチは、システムでの処理性能の向上に寄与し得る。
In general, a system constructed using an LSI incorporates a CPU and a hardware processing module therein, and also incorporates a DRAM with an external storage device as a main memory, thereby realizing a system function. Along with improvements in technology related to semiconductors, the operating frequency inside the LSI has been increased, and the processing inside the LSI can be performed at high speed. However, while the processing speed inside the LSI advances, the access time to an external storage device such as a DRAM is little improved.
2. Description of the Related Art In recent years, memory access bandwidth has been greatly improved in memory devices that transfer data in synchronization with both rising and falling of a clock called DDR (Double Data Rate), which has become the mainstream in recent years. However, the access response time to the memory device has not been improved. If the access time to the memory device does not change with respect to the improvement of the operating frequency inside the LSI, the number of clocks required for the response tends to increase, especially in the processing performed mainly for reading (reading). It has become difficult to improve performance.
A technique called prefetch is generally used as a technique for avoiding such an influence on the response time performance at the time of reading. Prefetch is a technique of holding necessary data prior to a cycle in which data is required, and using the held data at a timing when the data is required. By using prefetch, the access response time to the memory device is concealed, and the bus master can apparently finish the processing related to reading in a short time, so prefetch contributes to the improvement of processing performance in the system. Can do.
そこで、メモリデバイスに対するアクセス履歴やアクセス特性情報を参照して、連続領域アクセスの傾向がある場合は、バスマスタからのリード要求(メモリアクセスコマンドの発行)に先立ちプリフェッチを行う技術が開示されている(特許文献1参照。)。また、過去のアクセス履歴と過去のアクセスのアドレス差分とを保持して参照し、過去のアドレス差分と同一であった場合に、そのアドレス差分を持つメモリ領域についてプリフェッチする技術が開示されている(特許文献2参照。)。これらの先行技術では、バスマスタからのメモリアクセスに先立ちプリフェッチコマンドを発行してデータを保持することで、短期間でリードに係る処理を終了することが可能となる。 Therefore, a technique is disclosed in which prefetch is performed prior to a read request (issue of a memory access command) from a bus master when there is a tendency for continuous area access by referring to access history and access characteristic information for a memory device ( (See Patent Document 1). Also, a technique is disclosed in which a past access history and a past access address difference are stored and referenced, and when the past address difference is the same, the memory area having the address difference is prefetched ( (See Patent Document 2). In these prior arts, by issuing a prefetch command prior to memory access from the bus master and holding the data, it is possible to complete the read processing in a short period of time.
しかしながら、従来のプリフェッチの手法においては、プリフェッチのためのプリフェッチコマンドが特定の事象やタイミングにて発行される。このため、複数のバスマスタや複数のプロセスからのメモリアクセスがプリフェッチアクセスと競合した場合、メモリアクセスのアクセス時間を増加させるといった問題が生じていた。例えば、特許文献1に示されるようなプリフェッチの事象が発生すると同時に、あるバスマスタからのメモリアクセスが競合した場合は、バスマスタからのメモリアクセスが行われる以前にプリフェッチアクセス(リード処理)が行われることになる。よって、バスマスタからの明示的なメモリアクセスの応答時間が長くなりバスマスタの処理性能を低下させてしまう。
また、特許文献2に記載の技術おいては、あるアドレス差分をもったメモリ領域のプリフェッチアクセスと他のバスマスタからのメモリアクセスとでページミスが発生すると、ページミスペナルティが印加されて処理性能を低下させるおそれがある。図6に、バスマスタからのメモリアクセスとプリフェッチアクセスとの競合に関する影響を表す波形図を示す。ここでは、a及びbのメモリアクセスがバスマスタからのアクセスであり、a及びbともに、ページヒットのアクセスであると仮定する。
図6(a)では、プリフェッチコマンドが発行されていない場合を示し、図6(b)では、aとbとの転送間でcというプリフェッチアクセスが挿入された場合を示している。このときcは、a及びbのページに対してページミスとなるアドレス空間へのアクセスとする。図6(a)では、3サイクルでメモリアクセスコマンドの発行が行われているのに対して、図6(b)では、aとbとの間にcのプリフェッチコマンドを発行するために、ページミスペナルティが発生した上でリードコマンドが発行される。更にbへのアクセス発行時には再度ページミスペナルティが加えられるために、本来バスマスタが必要とするアクセスに対して余分なメモリアクセスの応答時間が加算されてしまう。
このように、プリフェッチアクセスが現在必要とされるメモリアクセスを阻害してしまい、ある処理モジュールの性能の向上を引き出すためのプリフェッチが他の処理の性能を低下させる問題がある。
However, in the conventional prefetch method, a prefetch command for prefetch is issued at a specific event or timing. For this reason, when memory access from a plurality of bus masters or a plurality of processes competes with prefetch access, there has been a problem that the access time of memory access is increased. For example, when a memory access from a certain bus master conflicts with the occurrence of a prefetch event as disclosed in
In the technique described in
FIG. 6A shows a case where a prefetch command has not been issued, and FIG. 6B shows a case where a prefetch access c is inserted between transfers of a and b. At this time, c is an access to the address space that causes a page miss for pages a and b. In FIG. 6A, a memory access command is issued in three cycles, whereas in FIG. 6B, a page prefetch command is issued between a and b. A read command is issued after a miss penalty has occurred. Further, since a page miss penalty is added again when an access to b is issued, an extra memory access response time is added to the access originally required by the bus master.
As described above, the prefetch access hinders the memory access that is currently required, and there is a problem that the prefetch for extracting the performance improvement of a certain processing module lowers the performance of other processing.
本発明はこのような問題点に鑑みなされたもので、メモリアクセスをより効率的にすることを目的とする。 The present invention has been made in view of such problems, and an object thereof is to make memory access more efficient.
そこで、本発明は、バンクを有する1つ又は複数のバスマスタからのメモリアクセス要求を受けてメモリデバイスへのコマンドを発行するメモリ制御回路であって、前記メモリデバイスに対するプリフェッチのアドレスを指定する指定手段と、前記1つ又は複数のバスマスタより受けたメモリアクセス要求のページミスを検出する検出手段と、前記検出手段によりページミスが検出されると、前記ページミスが発生したメモリアクセス要求と依存関係がないバンクを決定する決定手段と、前記指定手段により、前記決定手段により決定されたバンクで活性化されているページに対するプリフェッチのアドレスが指定されると、前記ページミスに係る処理の期間に前記プリフェッチのアドレスを指定してプリフェッチコマンドを発行する発行手段とを有することを特徴とする。 Accordingly, the present invention provides a memory control circuit for issuing a command to a memory device in response to a memory access request from one or a plurality of bus masters having a bank, and designating means for designating a prefetch address for the memory device Detecting means for detecting a page miss in a memory access request received from the one or more bus masters; and when a page miss is detected by the detecting means, the memory access request in which the page miss has occurred has a dependency relationship. When a prefetch address for a page activated in the bank determined by the determination unit is specified by a determination unit that determines a bank that does not exist, the prefetch is performed during the processing related to the page miss. Issuer that issues a prefetch command with the specified address Characterized in that it has and.
本発明によれば、メモリアクセスをより効率的にすることができる。 According to the present invention, memory access can be made more efficient.
以下、本発明の実施形態について図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1に、本実施形態に係るメモリ制御回路を含むシステムに係る構成の例を示す。本システムは、1つ又は複数のバスマスタ103を含んで構成される。バスマスタ103は、バス102を介してメモリコントローラ100(メモリ制御回路)に接続され、メモリコントローラ100を介して外部に接続されるメモリデバイス101へのメモリアクセス要求(コマンド等)を発行する。本実施形態では、メモリデバイス101として、行コマンド及び列コマンドに分割してアクセスされるダイナミックランダムアクセスメモリ(DRAM)を想定する。メモリコントローラ100は、バスマスタ103のメモリアクセス要求を受信するバスインターフェース109を有し、メモリアクセス要求は、コマンドバッファ108を介してメモリアクセス制御部104に順次転送される。
プリフェッチアドレスリスト106は、プリフェッチの候補となるアドレス(プリフェッチアドレス)を保持する。本実施形態では、バスマスタ103からのメモリアクセス要求(リードアクセス)を履歴情報として保持し、履歴情報からバンク毎にプリフェッチアドレスを算出する。例えば、バンク0の0番地へのリードアクセスが発行されると、プリフェッチアドレスリスト106には、バンク0の20番地をプリフェッチアドレスとして保持する。プリフェッチアドレスリスト106には、少なくともバンク毎のプリフェッチアドレスがリストとして保持されるものとする。例えば、4バンクのメモリデバイスが4チップセレクト(デバイス)分接続されるシステムにおいては、プリフェッチアドレスリスト106には、少なくとも16アドレスが保持される。本実施形態においては、プリフェッチアドレスをリードアクセス受信時に、その近傍のアドレス(近傍アドレス)として採用したが、本主旨を逸脱しない限り種々の変更が可能である。
FIG. 1 shows an example of a configuration relating to a system including a memory control circuit according to the present embodiment. This system includes one or
The prefetch address list 106 holds addresses (prefetch addresses) that are candidates for prefetch. In this embodiment, a memory access request (read access) from the
プリフェッチ制御部107は、後述するメモリアクセス制御部104からのバンク及び行アドレスの指定に従い、指定されたバンクと行アドレスとが合致するプリフェッチアドレスをプリフェッチアドレスリスト106から選択する。そして、選択されたプリフェッチアドレスは、メモリアクセス制御部104に伝達され、プリフェッチコマンドがメモリデバイス101に対して発行される。アドレス指定を行うメモリアクセス制御部104によってプリフェッチされたデータ(リードデータ)は、プリフェッチアドレスと関連付けられてプリフェッチバッファ110に保持される。
バスマスタ103より発行されたメモリアクセス要求は、バスインターフェース109を介してコマンドバッファ108へ伝達される。コマンドバッファ108は、リード(読み出しアクセス)又はライト(書き込みアクセス)のアクセス方向を検出する。また、コマンドバッファ108は、アクセス対象のアドレスと、アクセス方向と、プリフェッチバッファ110に保持されているプリフェッチされたアドレスとに係る比較を行う。
例えば、メモリアクセスが読み出し方向であり、アクセス対象のアドレスがプリフェッチバッファ110に保持されているアドレスと同一である場合、コマンドバッファ108は、バスインターフェース109を介してバスマスタ103にリードデータを送信する。そして、コマンドバッファ108は、該当メモリアクセス要求をコマンドバッファ108から削除する。
メモリアクセスが書き込み方向であり、アクセス対象のアドレスがプリフェッチバッファ110に保持されているアドレスと同一である場合は、コマンドバッファ108は、プリフェッチバッファ110に保持されている該当エントリーを廃棄又は無効化を行う。このとき、該当メモリアクセス要求は、コマンドバッファ108に一旦保持され、あるタイミングでメモリアクセス制御部104に伝達される。上記2つの場合に該当しないときは、該当メモリアクセス要求は、コマンドバッファ108に一旦保持され、あるタイミングでメモリアクセス制御部104に伝達される。
The
A memory access request issued from the
For example, when the memory access is in the read direction and the access target address is the same as the address held in the
When the memory access is in the writing direction and the access target address is the same as the address held in the
メモリアクセス制御部104は、メモリバンク管理機構105を有している。メモリバンク管理機構105は、発行されたメモリアクセス要求のアドレスよりメモリデバイス101のバンクアドレス、行アドレス、及び列アドレスを算出すると共に、メモリデバイス101の各バンクの活性化状態を参照する。そして、メモリバンク管理機構105は、接続されるメモリデバイス101の各バンクについて、現在活性化されている行アドレス情報(バンク管理情報)を保持している。
図2に、メモリバンク管理機構105におけるバンク管理情報の例を示す。図2では、2つのデバイスで各デバイスが4バンクの構成のメモリデバイス101に関するバンク管理情報を示している。デバイス(Device)とバンク(Bank)との組み合わせに対して、ページがオープン状態であるか否かを示すOpenFlag(Open Flag)とオープンとなる行アドレス(Row Address)とをテーブルとして保持している。
例えば、デバイス0のバンク0の組は、ページがクローズされた状態であり、デバイス0のバンク1の組は、行アドレス(0x1234)がオープン状態であることを示している。
The memory
FIG. 2 shows an example of bank management information in the memory
For example, the set of
また、メモリアクセス制御部104は、バスマスタ103からのメモリアクセス要求について、外部のメモリデバイス101との通信のためのアクセスプロトコルに適した変換を行い、メモリアクセスコマンドの発行処理を実施する。図3に、メモリアクセス制御部104の処理に係るフローチャートを示す。
メモリアクセス制御部104は、メモリアクセス要求より算出されたバンクアドレス及び行アドレスと、メモリバンク管理機構105に保持されているアクセス対象のバンクに対応する活性化されている行アドレスとに係る比較を行う。当該デバイスとバンクの組について、ページオープンの状態で保持されている行アドレスと、発行されたメモリアクセス要求の行アドレスとが同一であれば、メモリアクセス制御部104は、ページヒットとして列コマンドを発行してメモリアクセスを行う。
他方、異なる行アドレスである場合は、メモリアクセス制御部104は、ページミスの処理として以下の処理を実施する。メモリアクセス制御部104は、ページミスが発生すると判別すると、該当活性化されているバンクについてのプリチャージコマンドを発行する。そして、メモリアクセス制御部104は、該当バンクと依存関係がない、かつ活性化されているバンクと行アドレスとの組み合わせをプリフェッチ制御部107に対して通知を行う。その後、メモリアクセス制御部104は、プリフェッチ制御部107よりプリフェッチアドレスの通知を受ける。ここでいう、該当バンクと依存関係がないバンクとは、該当バンクのプリチャージ中に列コマンドが発行可能なバンクのことである。依存関係がないバンクが複数存在した場合、バンク選択の方法は任意である。本実施形態では、依存関係がないバンクのうち最近アクセスされたバンクを選択(決定)するものとする。
In addition, the memory
The memory
On the other hand, if the row address is different, the memory
図4に、本実施形態におけるメモリバンク管理機構105で保持されるバンク管理情報の例を示す。バンク管理情報には、デバイス(Device)、バンク(Bank)、OpenFlag(Open Flag)、行アドレス(Row Address)に加え、最近アクセスされた順番を示すアクセス履歴(History)が含まれる。図4(a)の例では、最近アクセスされたデバイス及びバンクの組は(0、1)であり、その次が(1、0)であることを示している。
図4(b)では、図4の(a)の状態からデバイス0のバンク2に対して行アドレス(0x0400)へのページミスに係るメモリアクセス要求が発行された場合のバンク管理情報の例を示す。デバイス及びバンクの組(0、2)が最新のアクセスとして示され、その他のデバイス及びバンクの組の履歴情報をそれぞれ更新することで最新の状態を保持している。
本実施形態では、同一のデバイスであっても、依存関係がないバンクである場合、本デバイスを含めたデバイスを対象として最近アクセスされた組み合わせが選択され、プリフェッチ制御部107に対して本組み合わせが通知される。この例では、組み合わせとして、デバイス0、バンク1、行アドレス(0x1234)が選択される。なお、上記場合において、依存関係があるバンクを有するデバイスであるときは、他のデバイスを対象として最近アクセスされた組み合わせ(例えば、デバイス1、バンク0、行アドレス(0x0040))が選択される構成を採用してもよい。
FIG. 4 shows an example of bank management information held by the memory
4B shows an example of bank management information when a memory access request related to a page miss to the row address (0x0400) is issued to the
In the present embodiment, even if the same device is a bank having no dependency, a combination that has been accessed recently for the device including this device is selected, and this combination is selected for the
メモリアクセス制御部104は、プリフェッチ制御部107より受信したプリフェッチアドレスに対するプリフェッチリード(プリフェッチコマンド)を発行し、メモリデバイス101からの読み出し結果(リードデータ)をプリフェッチバッファ110に伝達する。メモリアクセス制御部104は、プリフェッチコマンドを発行後、ページミスに係る処理のプリチャージ期間の終了を待って行アドレスの活性化を行い、バスマスタ103から要求されたメモリアクセス(列コマンド)をメモリデバイス101に対して発行する。なお、バスマスタ103より発行されたデバイスとバンクの組のページがオープンされていない場合は、メモリアクセス制御部104は、該当バンクの活性化を行う。
ここで、メモリアクセス制御部104は、活性化コマンド(アクティブコマンド)の発行と列コマンドの発行との間にプリフェッチリード(プリフェッチコマンド)を発行できるか否かの判定を行う。より具体的には、メモリアクセス制御部104に別途動作パラメータとして設定されるRAS−CASディレイ値(tRAS)を参照する。RAS−CASディレイ後に発行される列コマンドによるメモリデバイス101に対するデータ転送とプリフェッチコマンドによるデータ転送の衝突の有無を判定する。衝突しないと判定した場合は、メモリアクセス制御部104は、活性化コマンド(アクティブコマンド)の発行に引き続き、プリフェッチコマンドを発行し、列コマンドを発行する。その際、プリフェッチコマンドの発行先のアドレス(プリフェッチアドレス)の選択については、上記に示す内容と同様である。
The memory
Here, the memory
本実施形態では、プリチャージコマンドの発行、プリフェッチ、ページミスに係る処理のバンク活性化、メモリアクセスコマンドの発行というシーケンスを示している。しかしながら、本主旨は、ページミスペナルティ時にプリフェッチコマンドを発行することであり、上記シーケンスに限られるものではない。また、ページミスペナルティのサイクル如何によっては、プリフェッチコマンドを複数回発行することも可能である。
上述した構成によれば、プリフェッチコマンドの発行時に生じていたバスマスタ103へのメモリアクセスの応答時間の増加を低減すると共に、プリフェッチによる性能の向上の効果を得ることができる。また、メモリバス効率を低下させる要因となるページミスペナルティにおいてプリフェッチコマンドを発行することにより、システムが使用するメモリバス効率が改善され、システムの性能の向上を可能とする。
In this embodiment, a sequence of issuing a precharge command, prefetching, activating a bank related to a page miss, and issuing a memory access command is shown. However, the main point is that a prefetch command is issued at the time of a page miss penalty, and the present invention is not limited to the above sequence. Further, depending on the page miss penalty cycle, the prefetch command can be issued a plurality of times.
According to the above-described configuration, it is possible to reduce the increase in the response time of the memory access to the
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
<Other embodiments>
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.
100 メモリ制御回路、104 メモリアクセス制御部、105 メモリバンク管理機構、106 プリフェッチアドレスリスト、107 プリフェッチ制御部、108 コマンドバッファ、109 バスインターフェース、110 プリフェッチバッファ
DESCRIPTION OF
Claims (3)
前記メモリデバイスに対するプリフェッチのアドレスを指定する指定手段と、
前記1つ又は複数のバスマスタより受けたメモリアクセス要求のページミスを検出する検出手段と、
前記検出手段によりページミスが検出されると、前記ページミスが発生したメモリアクセス要求と依存関係がないバンクを決定する決定手段と、
前記指定手段により、前記決定手段により決定されたバンクで活性化されているページに対するプリフェッチのアドレスが指定されると、前記ページミスに係る処理の期間に前記プリフェッチのアドレスを指定してプリフェッチコマンドを発行する発行手段と
を有することを特徴とするメモリ制御回路。 A memory control circuit that issues a command to a memory device in response to a memory access request from one or more bus masters having a bank,
Designating means for designating a prefetch address for the memory device;
Detecting means for detecting a page miss of a memory access request received from the one or more bus masters;
When a page miss is detected by the detecting unit, a determining unit that determines a bank that has no dependency relationship with the memory access request in which the page miss has occurred;
When the prefetch address for the page activated in the bank determined by the determining means is specified by the specifying means, the prefetch command is specified by specifying the prefetch address during the processing related to the page miss. A memory control circuit comprising issuing means for issuing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009254166A JP2011100273A (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009254166A JP2011100273A (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011100273A true JP2011100273A (en) | 2011-05-19 |
Family
ID=44191402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009254166A Pending JP2011100273A (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011100273A (en) |
-
2009
- 2009-11-05 JP JP2009254166A patent/JP2011100273A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100610730B1 (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
KR100724557B1 (en) | Out of order dram sequencer | |
US9343127B1 (en) | Memory device having an adaptable number of open rows | |
JP2002530731A (en) | Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times | |
KR20150017526A (en) | Memory command schedular and method for memory command scheduling | |
JP2002530743A (en) | Use the page tag register to track the state of a physical page in a memory device | |
WO2017206000A1 (en) | Memory access method and memory controller | |
JP5428687B2 (en) | Memory control device | |
JP2010134627A (en) | Bus relay device | |
US20080098176A1 (en) | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching | |
JP4370063B2 (en) | Semiconductor memory device control device and semiconductor memory device control method | |
JP2014154119A (en) | Memory controller and semiconductor storage device | |
JP3922487B2 (en) | Memory control apparatus and method | |
JP4791714B2 (en) | Method, circuit, and system for using pause time of dynamic frequency scaling cache memory | |
US9620215B2 (en) | Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode | |
JP4250989B2 (en) | Memory access control device | |
JP2002351741A (en) | Semiconductor integrated circuit device | |
US8484411B1 (en) | System and method for improving access efficiency to a dynamic random access memory | |
JP2011100273A (en) | Memory control circuit | |
JP5393405B2 (en) | Memory control circuit | |
JP2006107245A (en) | Memory controller | |
JP2015022437A (en) | Control apparatus, computer system, control method, and program | |
JP5565864B2 (en) | Cache memory control apparatus and method | |
JP2008117242A (en) | Data transfer control device and data transfer control method | |
JP2000242544A (en) | Memory controller and direct memory access controller |