JP5393405B2 - Memory control circuit - Google Patents
Memory control circuit Download PDFInfo
- Publication number
- JP5393405B2 JP5393405B2 JP2009254459A JP2009254459A JP5393405B2 JP 5393405 B2 JP5393405 B2 JP 5393405B2 JP 2009254459 A JP2009254459 A JP 2009254459A JP 2009254459 A JP2009254459 A JP 2009254459A JP 5393405 B2 JP5393405 B2 JP 5393405B2
- Authority
- JP
- Japan
- Prior art keywords
- memory access
- memory
- access
- command
- bank
- 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
Description
本発明は、メモリ制御回路に関する。 The present invention relates to a memory control circuit.
DRAMの内部は、複数のバンクで構成され、各バンクは、ページと称される複数の領域に分割されている。図4に、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. 4 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). In addition, a technique is disclosed in which a past access history and an address difference of a past access are held and referred to, and when the address difference is the same as the past address difference, a 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.
また前述の通り、近年のLSI内部の動作周波数の向上に伴い、メモリデバイスへのアクセス帯域は、LSIとメモリデバイスとの間のデータ転送をDDRで行うことにより大幅に改善されている。従来のSingle Data Rateと称されるメモリデバイスでは、単一のメモリデバイスのアクセスに対してアクセスされるメモリアドレスが単一であった。これに対し、DDR−SDRAMでは、単一のメモリデバイスのアクセスに対して2つのメモリアドレスに対して並列にアクセスできる(これを2段プリフェッチと称する。)。これにより、メモリデバイスへのアクセス速度の向上無しに、見かけ上のアクセス速度の向上を実現することでアクセス帯域を向上させている。
DDR2−SDRAMでは、メモリデバイス内のプリフェッチの段数を4段、DDR3−SDRAMでは、メモリデバイス内のプリフェッチの段数を8段とする。これにより、メモリデバイスへのアクセス速度の向上が困難な状況下で、見かけ上のアクセス速度を向上させ、メモリデバイスへのアクセス帯域を向上させている。
DDRタイプのDRAMを用いた場合には、単一のメモリデバイスのアクセスに対して複数段のプリフェッチを行っている。このため本来転送として必要としないアドレスに対するデータ転送が発生してしまう可能性があり、DDR3−SDRAMでは、プリフェッチの段数が8段と大きいためその傾向が顕著に表れる。ここで、DDR3−SDRAMでは、通常は8段のプリフェッチであるので、8ビートのデータ転送が行われる。しかし、バーストチョップというメモリアクセスコマンド発行時にバースト長を動的に切り替える機能により4ビートと8ビートとを選択することができるようになっている。
Further, as described above, with the recent improvement of the operating frequency inside the LSI, the access band to the memory device is greatly improved by performing data transfer between the LSI and the memory device by DDR. In a conventional memory device referred to as a single data rate, a single memory address is accessed for access to a single memory device. On the other hand, in the DDR-SDRAM, two memory addresses can be accessed in parallel for a single memory device access (this is referred to as two-stage prefetch). As a result, the access bandwidth is improved by improving the apparent access speed without improving the access speed to the memory device.
In the DDR2-SDRAM, the number of prefetch stages in the memory device is four, and in the DDR3-SDRAM, the number of prefetch stages in the memory device is eight. Thereby, in a situation where it is difficult to improve the access speed to the memory device, the apparent access speed is improved and the access band to the memory device is improved.
When a DDR type DRAM is used, multiple stages of prefetch are performed for a single memory device access. For this reason, there is a possibility that data transfer to an address that is not originally required for transfer may occur. In DDR3-SDRAM, the number of prefetches is as large as eight, and this tendency appears remarkably. Here, in the DDR3-SDRAM, since 8-stage prefetch is usually performed, 8-beat data transfer is performed. However, 4 beats and 8 beats can be selected by the function of dynamically switching the burst length when issuing a memory access command called burst chop.
従来のプリフェッチの手法においては、プリフェッチのためのプリフェッチコマンドが特定の事象やタイミングにて発行される。このため、複数のバスマスタや複数のプロセスからのメモリアクセスがプリフェッチアクセスと競合した場合、メモリアクセスのアクセス時間を増加させるといった問題が生じていた。例えば、あるバスマスタからのメモリアクセスが競合した場合は、バスマスタからのメモリアクセスが行われる以前にプリフェッチアクセス(リード処理)が行われることになる。よって、バスマスタからの明示的なメモリアクセスの応答時間が長くなりバスマスタの処理性能を低下させてしまう。
また、特許文献2に記載の技術おいては、更にページミスペナルティが印加され、更なるバスマスタの処理性能を低下させるおそれがある。図5に、バスマスタからのメモリアクセスとプリフェッチアクセスとの競合に関する影響を表す波形図を示す。ここでは、a及びbのメモリアクセスがバスマスタからのアクセスであり、a及びbともに、ページヒットのアクセスであると仮定する。
図5(a)では、プリフェッチコマンドが発行されていない場合を示し、図5(b)では、aとbとの転送間でcというプリフェッチアクセスが挿入された場合を示している。このときcは、a及びbのページに対してページミスとなるアドレス空間へのアクセスとする。図5(a)では、3サイクルでメモリアクセスコマンドの発行が行われているのに対して、図5(b)では、aとbとの間にcのプリフェッチコマンドを発行するために、ページミスペナルティが発生した上でリードコマンドが発行される。更にbへのアクセス発行時には再度ページミスペナルティが加えられるために、本来バスマスタが必要とするアクセスに対して余分なメモリアクセスの応答時間が加算されてしまう。
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 memory access from a certain bus master competes, prefetch access (read processing) is performed before memory access from the bus master is performed. Therefore, the response time of the explicit memory access from the bus master becomes long and the processing performance of the bus master is lowered.
Further, in the technique described in
FIG. 5A shows a case where a prefetch command has not been issued, and FIG. 5B shows a case where a prefetch access c is inserted between the 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. 5A, the memory access command is issued in three cycles, whereas in FIG. 5B, the 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.
このように、将来使用されることが予想されるアドレスへのプリフェッチアクセスが、現在必要とされるメモリアクセスを阻害してしまう。よって、ある処理モジュールの性能の向上を引き出すためのプリフェッチが他の処理の性能を低下させる問題がある。
また、例えば、DDR3−SDRAMでは、前述の通りプリフェッチの段数が8段であるので、バンク依存関係があるメモリアクセス間のサイクルは、8段分のデータ転送時間である4サイクル以上間隔を空ける必要がある。例えば、バスマスタからの要求転送サイズがDDR3−SDRAMの4段プリフェッチ以下のサイズであり、バンク依存関係があるメモリアクセスが続いた場合にはデータ転送サイクルは2サイクルで終了する。コマンドが発行される間隔は、4サイクルであるためにメモリデバイス間のデータバス上、2サイクルの空白サイクルが生じてしまう。このような空白サイクルにより、メモリアクセスの効率を低下させる問題がある。
Thus, prefetch access to addresses that are expected to be used in the future hinders memory access that is currently required. Therefore, there is a problem that prefetching for improving the performance of a certain processing module lowers the performance of other processing.
Further, for example, in the DDR3-SDRAM, since the number of prefetch stages is 8 as described above, the cycle between the memory accesses having the bank dependency relationship needs to be separated by 4 cycles or more, which is the data transfer time for 8 stages. There is. For example, when the requested transfer size from the bus master is a size not larger than the 4-stage prefetch of the DDR3-SDRAM and the memory access having the bank dependency relationship continues, the data transfer cycle is completed in two cycles. Since the interval at which the command is issued is four cycles, two blank cycles occur on the data bus between the memory devices. Such a blank cycle has a problem of reducing the efficiency of memory access.
本発明はこのような問題点に鑑みなされたもので、メモリアクセスをより効率的にすることを目的とする。 The present invention has been made in view of such problems, and an object thereof is to make memory access more efficient.
そこで、本発明は、バースト長の制御が可能なメモリデバイスに対して、バスマスタからのアクセス要求を受けてコマンドを発行するメモリ制御回路であって、前記メモリデバイスの各バンクの活性化状態を管理する手段と、前記バスマスタからのアクセス要求に係るメモリアクセスに対してリードとライトとを検出する手段と、前記メモリアクセスに対して次のメモリアクセスとのバンクの依存関係を検出する手段と、前記次のメモリアクセスのページミスの判定を行う手段と、前記メモリアクセスがリードであり、前記次のメモリアクセスとのバンクの依存関係がなく、前記次のメモリアクセスがページミスであると判定された場合に、最大のバースト長で前記次のメモリアクセスのコマンドを発行する手段と、前記次のメモリアクセスに対して余分に読み出したデータをプリフェッチのデータとして処理する手段とを有することを特徴とする。 Accordingly, the present invention provides a memory control circuit that issues a command to a memory device capable of controlling burst length in response to an access request from a bus master, and manages the activation state of each bank of the memory device. Means for detecting a read and write for a memory access related to an access request from the bus master, a means for detecting a bank dependency relationship with the next memory access for the memory access, The means for determining the page miss of the next memory access and the memory access is a read, and there is no bank dependency with the next memory access, and it is determined that the next memory access is a page miss Means for issuing a command for the next memory access with a maximum burst length, and the next memory access And having a means for processing the extra data read out for the pre-fetch data.
本発明によれば、メモリアクセスをより効率的にすることができる。 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に、本実施形態に係るシステムの構成の例を示す。複数のバスマスタ103は、バス102を介してメモリコントローラ100(メモリ制御回路)に接続され、メモリコントローラ100を介して外部に接続されるメモリデバイス101へのメモリアクセス要求(コマンド等)を発行する。本実施形態では、メモリデバイス101としては、行コマンド及び列コマンドに分割してアクセスされるDRAMで、かつメモリアクセスコマンド発行時にバースト長を制御可能なDDR3−SDRAMタイプのメモリデバイスを想定する。
メモリコントローラ100は、バスマスタ103のメモリアクセス要求を受信するバスインターフェース109を有する。メモリアクセス要求は、コマンドバッファ108を介して、メモリアクセス制御部104に順次転送される。
FIG. 1 shows an example of a system configuration according to this embodiment. The plurality of
The
コマンドバースト制御部107は、コマンドバッファ108に保持されている次に処理するメモリアクセス要求のアドレスより、ページミス判定とバンク依存関係の判定とを行う。図2に、コマンドバースト制御部107の処理に係るフローチャートを示す。
コマンドバースト制御部107は、現メモリアクセスがリード転送であり、次のメモリアクセスについて、バンクの依存関係がなく、ページミスであると判定した場合、最大バースト長を指定する。すなわち、コマンドバースト制御部107は、最大バースト長でメモリデバイス101に対してメモリアクセスコマンドを発行するようメモリアクセス制御部104に指示する。また、コマンドバースト制御部107は、次のメモリアクセスについて、バンクの依存関係があると判定した場合、最大バースト長でメモリデバイス101に対してメモリアクセスコマンドを発行するようにメモリアクセス制御部104に指示する。
他方、コマンドバースト制御部107は、現メモリアクセスがライト転送である場合や、次のメモリアクセスについて、バンクの依存関係があるがページヒットである(ページミスでない)場合は、バスマスタ103より要求されたバースト長を指定する。すなわち、コマンドバースト制御部107は、バスマスタ103より要求されたバースト長にてメモリアクセスコマンドを発行するようにメモリアクセス制御部104に指定する。ここでいう、該当バンクと依存関係がないバンクとは、該当バンクのデータフェーズ期間に列コマンド(列アドレスコマンド)が発行可能なバンクのことである。なお、最大バースト長としてメモリアクセスコマンドが発行されたリード転送で余分に読み出したデータと該当アドレスとは、プリフェッチバッファ110に保持される。
The command burst
If the command burst
On the other hand, the command burst
バスマスタ103より発行されたメモリアクセス要求は、バスインターフェース109を介してコマンドバッファ108へ伝達される。コマンドバッファ108は、メモリアクセス要求について、リード(読み出しアクセス)又はライト(書き込みアクセス)のアクセス方向を検出する。コマンドバッファ108は、アクセス対象のアドレスと、アクセス方向と、プリフェッチバッファ110に保持されているプリフェッチされたデータのアドレスとに係る比較を行う。
より具体的には、メモリアクセスが読み出し方向であり、アクセス対象のアドレスがプリフェッチバッファ110に保持されているアドレスと同一であった場合は、コマンドバッファ108は、該当メモリアクセス要求をコマンドバッファ108から削除する。なお、上記の場合、当該アドレスに対応付けられているデータは、プリフェッチバッファ110より読み出されてバスインターフェース109を介してバスマスタ103に送信される構成を採用してもよい。
また、メモリアクセスが書き込み方向であり、アクセス対象のアドレスがプリフェッチバッファ110に保持されているアドレスと同一である場合、コマンドバッファ108は、プリフェッチバッファ110に保持されている該当エントリーを廃棄又は無効化を行う。このとき、該当メモリアクセス要求は、コマンドバッファ108に一旦保持され、あるタイミングでメモリアクセス制御部104に伝達される。上記2つの場合に該当しないときは、メモリアクセス要求は、コマンドバッファ108に一旦保持され、あるタイミングでメモリアクセス制御部104に伝達される。
A memory access request issued from the
More specifically, when the memory access is in the reading 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は、バスマスタ103からのメモリアクセス要求について、外部のメモリデバイス101との通信のためのアクセスプロトコルに適した変換を行い、メモリアクセスコマンドの発行処理を実施する。なお、メモリアクセス制御部104によるメモリアクセスに係る処理としては、公知の処理(例えば、図4に示すフローチャートの処理)を適宜採用してもよい。
また、メモリアクセス制御部104は、メモリバンク管理機構105を有している。メモリバンク管理機構105は、発行されたメモリアクセス要求のアドレスよりメモリデバイス101のバンクアドレス、行アドレス、及び列アドレスを算出すると共に、メモリデバイス101の各バンクの活性化状態を参照する。そして、メモリバンク管理機構105は、接続されるメモリデバイス101の各バンクについて、現在活性化されている行アドレス情報(バンク管理情報)を保持している。
図3に、メモリバンク管理機構105におけるバンク管理情報を示す。図3では、2つのデバイスで各デバイスが4バンクの構成のメモリデバイス101に関するバンク管理情報を示している。デバイス(Device)とバンク(Bank)との組み合わせに対して、ページがオープン状態であるか否かを示すOpenFlag(Open Flag)とオープンとなる行アドレス(Row Address)とをテーブルとして保持している。
例えば、デバイス0のバンク0の組は、ページがクローズされた状態であり、デバイス0のバンク1の組は、行アドレス(0x1234)がオープン状態であることを示している。メモリアクセス制御部104は、メモリアクセス要求のアドレスより算出されたバンクアドレス及び行アドレスと、メモリバンク管理機構105に保持されているアクセス対象のバンクに対応する活性化されている行アドレスとに係る比較を行う。
The memory
Further, the memory
FIG. 3 shows bank management information in the memory
For example, the set of
例えば、メモリアクセス制御部104は、まず、バスマスタ103より発行されたメモリアクセス要求に係るデバイス及びバンクの組み合わせと、バンク管理情報とを参照する。当該デバイス及びバンクの組について、ページオープンの状態で保持されている行アドレスと、発行されたメモリアクセス要求の行アドレスとが同一であれば、メモリアクセス制御部104は、ページヒットとして列コマンドを発行してメモリアクセスを行う。他方、異なる行アドレスである場合は、メモリアクセス制御部104は、ページミスのアクセスであるとして、プリチャージコマンドを発行する。
For example, the memory
上述した構成によれば、メモリデバイス101(DDR3−SDRAM等)で発生するメモリアクセスの効率の低下を低減し、メモリアクセスの効率の向上が可能となる。加えて、メモリデバイス101で間隔が空いてしまう空白のデータバス期間をプリフェッチデータ転送に使用することが可能となり、メモリアクセスの効率の向上を図ることができる。
また、例えば、バス転送の最大サイズがDDR3−SDRAMの8段プリフェッチ分の転送サイズに満たない場合、複数のバス転送を結合する複雑な制御なしにメモリアクセスの効率を向上させることができる。特に、ハードウエアの連続領域へのアクセス時やメモリアクセスの局所性が存在する場合においては、プリフェッチされたデータへのヒット率が向上するため、システムの性能の向上を図ることができる。
According to the above-described configuration, it is possible to reduce a decrease in memory access efficiency that occurs in the memory device 101 (DDR3-SDRAM or the like) and to improve the memory access efficiency. In addition, it is possible to use a blank data bus period in which the
Further, for example, when the maximum size of bus transfer is less than the transfer size for 8-stage prefetch of DDR3-SDRAM, the efficiency of memory access can be improved without complicated control for combining a plurality of bus transfers. In particular, when accessing a continuous area of hardware or when there is locality of memory access, the hit rate for prefetched data is improved, so that the performance of the system can be improved.
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(または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 メモリバンク管理機構、107 コマンドバースト制御部、108 コマンドバッファ、109 バスインターフェース、110 プリフェッチバッファ
DESCRIPTION OF
Claims (3)
前記メモリデバイスの各バンクの活性化状態を管理する手段と、
前記バスマスタからのアクセス要求に係るメモリアクセスに対してリードとライトとを検出する手段と、
前記メモリアクセスに対して次のメモリアクセスとのバンクの依存関係を検出する手段と、
前記次のメモリアクセスのページミスの判定を行う手段と、
前記メモリアクセスがリードであり、前記次のメモリアクセスとのバンクの依存関係がなく、前記次のメモリアクセスがページミスであると判定された場合に、最大のバースト長で前記次のメモリアクセスのコマンドを発行する手段と、
前記次のメモリアクセスに対して余分に読み出したデータをプリフェッチのデータとして処理する手段と
を有することを特徴とするメモリ制御回路。 A memory control circuit that issues a command in response to an access request from a bus master to a memory device capable of controlling the burst length,
Means for managing the activation state of each bank of the memory device;
Means for detecting a read and a write for a memory access related to an access request from the bus master;
Means for detecting a bank dependency with the next memory access to the memory access;
Means for determining a page miss of the next memory access;
When it is determined that the memory access is a read, there is no bank dependency with the next memory access, and the next memory access is a page miss, the next memory access is performed with the maximum burst length. A means of issuing commands;
Means for processing data read out in excess of the next memory access as prefetch data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009254459A JP5393405B2 (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009254459A JP5393405B2 (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011100295A JP2011100295A (en) | 2011-05-19 |
JP5393405B2 true JP5393405B2 (en) | 2014-01-22 |
Family
ID=44191420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009254459A Active JP5393405B2 (en) | 2009-11-05 | 2009-11-05 | Memory control circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5393405B2 (en) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001229074A (en) * | 2000-02-16 | 2001-08-24 | Nec Ibaraki Ltd | Memory controller and information processor and memory control chip |
JP4470183B2 (en) * | 2006-08-28 | 2010-06-02 | エルピーダメモリ株式会社 | Semiconductor memory device |
JP5034551B2 (en) * | 2007-02-26 | 2012-09-26 | 富士通セミコンダクター株式会社 | Memory controller, semiconductor memory access control method and system |
CN102016809A (en) * | 2008-04-22 | 2011-04-13 | 松下电器产业株式会社 | Memory controller, memory system, semiconductor integrated circuit, and memory control method |
-
2009
- 2009-11-05 JP JP2009254459A patent/JP5393405B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011100295A (en) | 2011-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100610730B1 (en) | Method and apparatus for memory access scheduling to reduce memory access latency | |
EP1110151B1 (en) | Buffering system bus for external-memory accesses | |
KR100724557B1 (en) | Out of order dram sequencer | |
US7260685B2 (en) | Memory hub and access method having internal prefetch buffers | |
EP1546885B1 (en) | Memory hub and access method having internal row caching | |
JP4786209B2 (en) | Memory access device | |
US6963516B2 (en) | Dynamic optimization of latency and bandwidth on DRAM interfaces | |
US9069489B1 (en) | Dynamic random access memory front end | |
TWI236591B (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
US8356143B1 (en) | Prefetch mechanism for bus master memory access | |
JP2007073052A (en) | Accessing external memory from integrated circuit | |
WO2017206000A1 (en) | Memory access method and memory controller | |
JP4370063B2 (en) | Semiconductor memory device control device and semiconductor memory device control method | |
US20080098176A1 (en) | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching | |
US20040068615A1 (en) | Apparatus, method, and system for reducing latency of memory devices | |
JP5911548B1 (en) | Apparatus, method, and computer program for scheduling access request to shared memory | |
JP2005038427A (en) | Method, circuit, and system for using idle time of dynamic frequency scaling cache memory | |
JP4250989B2 (en) | Memory access control device | |
JP5393405B2 (en) | Memory control circuit | |
JP2006251923A (en) | Look-ahead control method | |
US8484411B1 (en) | System and method for improving access efficiency to a dynamic random access memory | |
JP2011100273A (en) | Memory control circuit | |
JP2006107245A (en) | Memory controller | |
JP2009266152A (en) | Controller, hard disk drive and control method | |
JP2006107021A (en) | Memory controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121030 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130904 |
|
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: 20130917 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131015 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5393405 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |