JP4250989B2 - メモリアクセス制御装置 - Google Patents
メモリアクセス制御装置 Download PDFInfo
- Publication number
- JP4250989B2 JP4250989B2 JP2003084790A JP2003084790A JP4250989B2 JP 4250989 B2 JP4250989 B2 JP 4250989B2 JP 2003084790 A JP2003084790 A JP 2003084790A JP 2003084790 A JP2003084790 A JP 2003084790A JP 4250989 B2 JP4250989 B2 JP 4250989B2
- Authority
- JP
- Japan
- Prior art keywords
- hit
- bank
- memory
- access
- page
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0215—Addressing or allocation; Relocation with look ahead addressing means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Description
【発明の属する技術分野】
本発明は、SDRAM(シンクロナスDRAM)やDDR(ダブルデータレート)−SDRAM等のDRAMを対象としたメモリアクセス制御装置に関し、特にページヒットするかどうかを予測することによりアクセス性能を高めることができるメモリアクセス制御装置に関する。
【0002】
【従来の技術】
従来のメモリアクセス制御方式は、DRAMへのアクセスが完了した時にアクセスしたバンクをプリチャージせずに終了するオープンページポリシーか、プリチャージしてから終了するクローズドページポリシーの何れかであった。
【0003】
バンクがプリチャージされていてクローズされた状態であれば、そのバンクへの次のアクセスはアドレスによらず常に一定の速度でアクセスできるが、プリチャージされておらずオープンされている状態の場合に、そのバンクがオープンしているページと同一のページにアクセスするならば、そのページをオープンする必要がないため、バンクがクローズされている場合よりも速いが、そのバンクがオープンしているページとは違うページにアクセスするならば、そのバンクをプリチャージしてからアクセスしようとするページをオープンしなければならないため、バンクがクローズされている場合よりも遅くなる。
【0004】
尚、同一のページにアクセスすることをページヒットと呼び、違うページにアクセスすることをミスヒットと呼ぶ。
【0005】
オープンページポリシーの従来技術には、バンクへのページヒットアクセスの回数により、バンクをクローズするタイミングを変更することによって、アクセス効率の向上を図っているメモリ制御装置がある(特許文献1参照。)。
【0006】
【特許文献1】
特開2001−166985号公報(第1頁、図1)
【0007】
【発明が解決しようとする課題】
クローズドページポリシーはページヒットの確率が低いときには性能が高くなり、オープンページポリシーはページヒットの確率が高いときには性能が高くなるが、何れの方式でもアクセス性能が理論限界にまでは達することはできないという欠点が有る。
【0008】
上記オープンページポリシーをベースとし、バンクへのページヒットアクセスの回数により、バンククローズするタイミングを変更するメモリ制御装置では、アクセスを行った後はバンクをクローズする最短のタイミングまでは必ずバンクをオープンにしたままであるため、ミスヒットするアクセスが短い間隔で連続して行われた場合には、アクセス効率は向上しないという欠点を有している。
【0009】
また、バンクをクローズする最短のタイミングをアクセスの間隔よりも短く設定した場合には、クローズドページポリシーと同等になってしまうため、ページヒットが多い場合にはアクセス効率が向上しないという欠点を有している。
【0010】
本発明の目的は、次のアクセスがページヒットするかどうかを予測することにより、メモリアクセス効率を向上させるメモリアクセス制御装置を提供することにある。
【0011】
【課題を解決するための手段】
本発明の第1のメモリアクセス制御装置は、メモリへのアクセスを要求するメモリマスタと、メモリマスタから出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とする。
【0012】
本発明の第2のメモリアクセス制御装置は、前記第1のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0013】
本発明の第3のメモリアクセス制御装置は、前記第1のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0014】
本発明の第4のメモリアクセス制御装置は、前記第1のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする。
【0015】
本発明の第5のメモリアクセス制御装置は、前記第1のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0016】
本発明の第6のメモリアクセス制御装置は、前記第1乃至第5の何れかのメモリアクセス制御装置に於いて、メモリマスタは次にアクセスするバンクおよびページが確定した段階でその情報をメモリ制御部に通知し、メモリ制御部は、メモリマスタが次にアクセスするバンクが現在アクセス中のバンクと同じで、次にアクセスするページが現在アクセス中のページと同じである場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、そうではない場合で、メモリマスタが次にアクセスするバンクが現在アクセス中のバンクと同じで、次にアクセスするページが現在アクセス中のページとは異なる場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とする。
【0017】
本発明の第7のメモリアクセス制御装置は、メモリへのアクセスを要求する複数のメモリマスタと、メモリマスタからのメモリアクセス要求を調停し、何れかのメモリマスタからのアクセス情報を選択して出力するアービタ部と、アービタ部から出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とする。
【0018】
本発明の第8のメモリアクセス制御装置は、前記第7のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回(m≦n:自然数)以上であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0019】
本発明の第9のメモリアクセス制御装置は、前記第7のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0020】
本発明の第10のメモリアクセス制御装置は、前記第7のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする。
【0021】
本発明の第11のメモリアクセス制御装置は、前記第7のメモリアクセス制御装置に於いて、前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする。
【0022】
本発明の第12のメモリアクセス制御装置は、前記第7乃至第11の何れかのメモリアクセス制御装置に於いて、各メモリマスタは次にアクセスするバンクおよびページが確定した段階でその情報をアービタ部およびメモリ制御部に通知し、メモリ制御部は、現在アクセス中のバンクと同じバンクを次にアクセスし、現在アクセス中のページと同じページを次にアクセスするメモリマスタが存在した場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、そうではない場合で、現在アクセス中のバンクと同じバンクを次にアクセスし、現在アクセス中のページとは異なるページを次にアクセスするメモリマスタが存在した場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了し、アービタ部は、現在アクセス中のバンクおよびページと同じバンクおよびページを次にアクセスするメモリマスタが存在した場合はそのメモリマスタを優先して選択することを特徴とする。
【0023】
【作用】
本発明では、次に同じバンクをアクセスする時にページヒットすると予測した場合はオープンページポリシーでアクセスし、ミスヒットすると予測した場合にはクローズドページポリシーでアクセスする。
【0024】
予測の的中率が50%より大きければ、ページヒットが減る回数よりも、ミスヒットが減る回数が多くなる。
【0025】
また、アクセスを行った時点で、次のアクセスがページヒットするかどうかを予測して、アクセスしたバンクをクローズするかオープンしたままにするかを決めている。ページミスが短い間隔で連続した場合にはミスしたことが速やかに予測に反映される。
【0026】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図1は本発明の第1のメモリアクセス制御装置に対応したメモリアクセス制御装置と、複数のメモリからなるシステムのブロック図である。
【0027】
メモリマスタ1は、メモリ制御部3に対し、メモリ使用権を要求するリクエスト信号、アドレス信号、アクセスの種類を示すリードライト信号、何ワードアクセスするかを示すワード長信号、ライトデータ信号、データマスク信号を出力し、メモリ制御部3からは、メモリ使用権を取得したことを示すアクノリッジ信号、リードデータ信号を受け取る。
【0028】
メモリ制御部3は、メモリの制御信号、SDRAMの場合には、クロック信号(CLK)、クロックイネーブル信号(CKE)、チップセレクト信号(CS)、ローアドレスストローブ信号(RAS)、カラムアドレスストローブ信号(CAS)、ライトイネーブル信号(WE)、アドレス信号(A)、バンクアドレス信号(BA)、データ入出力信号(DQ)、データマスク信号(DQM)を出力する。
【0029】
ヒット予測部4は、メモリ制御部3に対し、ヒット予測結果を出力する。ヒット予測結果は、接続されている全てのメモリの合計バンク数と同じ本数である。例えば、1個あたり4バンクからなるメモリ5と6が2つ接続されている場合には、システム全体では8個のバンクが存在するため、ヒット予測結果は8本となる。
【0030】
メモリマスタ1は、メモリにアクセスしたい場合には、リクエスト信号をアサートし、同時にアドレス信号、リードライト信号、ワード長信号、ライトデータ信号、データマスク信号を確定する。
【0031】
メモリ制御部3は、メモリマスタ1からのリクエスト信号がアサートされたら、アドレス信号、リードライト信号、ワード長信号を受け取り、リードライト信号がライトアクセスを示していた場合には、ライトアクセスを、リードアクセスを示していた場合にはリードアクセスを行うべく、メモリの制御信号を生成する。
【0032】
ライトアクセスの場合は、ライトデータ信号、データマスク信号も受け取り、リードアクセスの場合は、メモリから返ってきたリードデータをリードデータ信号を介してメモリマスタ1に返す。
【0033】
メモリ制御部3は、最後のデータをアクセスする際に、現在アクセスしているバンクをクローズするかクローズしないかを、ヒット予測部4からのヒット予測結果を参照して決定する。
【0034】
最後のデータとは、例えば、ワード長信号が4ワードアクセスすることを示していた場合には、4ワード目のデータのことである。
【0035】
ヒット予測部4からのヒット予測結果はメモリ5、6の各バンク毎に個別の結果が出力されているが、メモリ制御部3は、最後のデータを格納するバンクに対応したヒット予測結果を参照する。
【0036】
また、メモリ制御部3は、最後のデータだけでなく、次のデータが現在アクセスしているデータとは異なるバンクに格納されている場合にも、ヒット予測部4からのヒット予測結果を参照して、現在アクセスしているバンクをクローズするかクローズしないかを決定する。
【0037】
図2は本発明の第2、3、4、5のメモリアクセス制御装置に対応したメモリアクセス制御部3と複数のメモリ5、6からなるシステムのブロック図である。
【0038】
ヒット予測部4は、メモリ制御部3から、ヒット信号、ミスヒット信号を受け取る。ヒット結果とミスヒット結果はそれぞれメモリの総バンク数と同じ本数である。
【0039】
メモリ制御部3は、各バンクについて、最後にアクセスしたページアドレスを記憶しており、次ぎにアクセスを開始するときにそのアドレスが、前回アクセスしたページと同じページを示していた場合に、対応するバンクのヒット信号をアサートする。
【0040】
また、アクセスを開始するときにそのアドレスが、前回アクセスしたページとは異なるページを示していた場合に、対応するバンクのミスヒット信号をアサートする。
【0041】
アクセスを開始するときとは、メモリマスタからリクエストがアサートされてから最初のアクセスを開始する時だけでなく、ワード長信号が示すワード長分のアクセスを終了するまでに、現在アクセスしたデータと次にアクセスするデータとが異なるバンクに格納されていた場合に、次のアクセスを開始する時も含まれる。
【0042】
次に、本発明の第2のメモリアクセス制御装置に対応したヒット予測部4の動作について説明する。ヒット予測部4は、メモリ制御部3からのヒット信号またはミスヒット信号がアサートされる度に、その結果を各バンク毎に最近n回分(n:自然数)だけ記憶しておく。
【0043】
各バンク毎にヒット信号がアサートされた回数がm回以上(m≦n:自然数)かどうかを判定し、m回以上だったら対応するヒット予測結果にページヒットするという情報を出力し、m回未満であればミスヒットするという情報を出力する。
【0044】
例えば、nを8とした場合、あるバンクのヒット信号およびミスヒット信号が、ヒット、ヒット、ミスヒット、ヒット、ヒット、ミスヒット、ヒット、ミスヒットの順番でアサートされたとしたら、最近8回でヒット信号がアサートされた回数は5回であるので、mが5以下であれば、そのバンクのヒット予測結果はページヒットとなり、mが6以上であれば、そのバンクのヒット予測結果はミスヒットとなる。
【0045】
また、この後、ミスヒット信号がアサートされると、最近8回でのヒット信号のアサート回数は4回となり、ミスヒット信号ではなく、ヒット信号がアサートされた場合は5回で変わらない。尚、nはシステム設計時に決定されるがmは設定により可変である。
【0046】
次に、本発明の第3のメモリアクセス制御装置に対応したヒット予測部4の動作について説明する。ヒット予測部4は、メモリ制御部3からのヒット信号またはミスヒット信号がアサートされる度に、その結果を各バンク毎に最近j回分(j:自然数)だけ記憶しておく。
【0047】
各バンク毎に最近j回のヒット信号またはミスヒット信号のアサート結果が全てヒット信号であったかどうかを判定し、そうであれば対応するヒット予測結果にページヒットするという情報を出力し、そうでなければミスヒットするという情報を出力する。
【0048】
例えば、jを4とした場合、あるバンクのヒット信号およびミスヒット信号が、ミスヒット、ヒット、ミスヒット、ミスヒット、ヒット、ヒット、ヒット、ヒットの順番でアサートされたとしたら、最近4回は全てヒット信号がアサートされているので、そのバンクのヒット予測結果はページヒットとなる。
【0049】
また、この後、ミスヒット信号がアサートされると、最近4回でのヒット信号のアサート回数は3回となり、ヒット予測結果はミスヒットとなる。ミスヒット信号ではなく、ヒット信号がアサートされた場合のヒット予測結果はページヒットで変わらない。尚、jは設定により可変である。次に、本発明の第4のメモリアクセス制御装置に対応したヒット予測部4の動作について説明する。ヒット予測部4は、メモリ制御部からのヒット信号またはミスヒット信号がアサートされる度に、その結果を各バンク毎に最近k回分(k:自然数)だけ記憶しておく。
【0050】
各バンク毎に最近k回のヒット信号またはミスヒット信号のアサート結果が全てミスヒット信号であったかどうかを判定し、そうであれば対応するヒット予測結果にミスヒットするという情報を出力し、そうでなければページヒットするという情報を出力する。
【0051】
例えば、kを4とした場合、あるバンクのヒット信号およびミスヒット信号が、ミスヒット、ヒット、ミスヒット、ヒット、ミスヒット、ミスヒット、ミスヒット、ミスヒットの順番でアサートされたとしたら、最近4回は全てミスヒット信号がアサートされているので、そのバンクのヒット予測結果はミスヒットとなる。
【0052】
また、この後、ヒット信号がアサートされると、最近4回でのミスヒット信号のアサート回数は3回となり、ヒット予測結果はページヒットとなる。ヒット信号ではなく、ミスヒット信号がアサートされた場合のヒット予測結果はミスヒットで変わらない。尚、kは設定により可変である。
【0053】
次に、本発明の第5のメモリアクセス制御装置に対応したヒット予測部4の動作について説明する。ヒット予測部4は、メモリ制御部3からのヒット信号またはミスヒット信号がアサートされる度に、その結果を各バンク毎に最近n回分(n:自然数)だけ記憶しておく。
【0054】
各バンク毎に、まず最近のk回の結果が全てミスヒットであったかどうかを判定し、そうであればヒット予測結果をミスヒットとする(k≦n:自然数)。
【0055】
そうでなければ、次に最近のj回の結果が全てヒットであったかどうかを判定し、そうであればヒット予測結果をページヒットとする(j≦n:自然数)。
【0056】
そうでなければ、次に最近n回の結果について、ヒット信号がアサートされた回数がm回以上(m≦n:自然数)かどうかを判定し、m回以上だったら対応するヒット予測結果にページヒットするという情報を出力し、そうでなければミスヒットするという情報を出力する。
【0057】
例えば、nを8、kを4、jを4、mを5とした場合、あるバンクのヒット信号およびミスヒット信号が、ヒット、ヒット、ミスヒット、ヒット、ミスヒット、ミスヒット、ミスヒット、ミスヒットの順番でアサートされたとしたら、最近4回の結果は全てミスヒットであるので、ヒット予測結果はミスヒットとなる。
【0058】
また、ヒット、ヒット、ミスヒット、ミスヒット、ヒット、ヒット、ヒット、ヒットの順番でアサートされたとしたら、最近4回の結果は全てミスヒットではなく、全てヒットであるので、ヒット予測結果はページヒットとなる。
【0059】
また、ヒット、ヒット、ミスヒット、ミスヒット、ヒット、ヒット、ヒット、ミスヒットの順番でアサートされたとしたら、最近4回の結果は全てミスヒットではなく、全てヒットでもないが、最近8回の結果中でヒットが5回あるので、ヒット予測結果はページヒットとなる。
【0060】
また、ミスヒット、ヒット、ミスヒット、ミスヒット、ヒット、ヒット、ヒット、ミスヒットの順番でアサートされたとしたら、最近4回の結果は全てミスヒットではなく、全てヒットでもなく、最近8回の結果中でヒットは4回しかないので、ヒット予測結果はミスヒットとなる。
【0061】
尚、nはシステム設計時に決定されるが、m、j、kは設定により可変である。
【0062】
図3は本発明の第6のメモリアクセス制御装置に対応したメモリアクセス制御装置3と、複数のメモリからなるシステムのブロック図である。請求項1のメモリアクセス制御装置対応の実施例に加えて、メモリマスタ1は、メモリ制御部3に対し、次にアクセス要求を行う際のアドレスを示す次アドレス信号とそのアドレス信号が確定したことを示す次アドレス確定信号を出力する。
【0063】
メモリ制御部3は、最後のデータをアクセスする際に、現在アクセスしているバンクをクローズするかクローズしないかを、ヒット予測部4からのヒット予測結果を参照して決定するが、このとき、メモリマスタ1が次アドレス確定信号を出力しており、かつその次アドレス信号が示すバンクとページが、現在アクセスしているバンクとページに両方一致した場合は、ヒット予測部からのヒット予測結果にかかわらず、現在アクセスしているバンクをクローズせずに終了する。
【0064】
そうではない場合で、メモリマスタ1がアドレス確定信号を出力しており、かつそのアドレス信号が示すバンクとページが、現在アクセスしているバンクとページに、バンクのみ一致し、ページは不一致であった場合は、ヒット予測部4からのヒット予測結果にかかわらず、現在アクセスしているバンクをクローズして終了する。
【0065】
例えば、現在メモリマスタ1がアクセス中でその最後のアドレスがバンク0、ページ0であった場合に、メモリマスタ1が次アドレス確定信号をアサートしており、メモリマスタ1の次アドレス信号が示すバンクが0、ページが0であった場合、メモリ制御部3はヒット予測部4からのヒット予測結果にかかわらず、メモリマスタ1のアクセス終了時にバンク0をクローズせずに終了する。
【0066】
メモリマスタ1は次にバンク0、ページ0に対してアクセスするが、バンク0はページ0で既にオープンされているため、メモリマスタ1は前のアクセス終了後直ぐに次ぎのアクセスを開始することができる。
【0067】
メモリマスタ1のアクセス終了時にバンク0がクローズされていたとすると、バンク0をアクティブにしてからメモリアクセスを開始しなければならず、次のメモリアクセス開始までに時間がかかることになる。
【0068】
また、メモリマスタ1の次アドレス信号が示すバンクが0、ページが1であった場合、メモリ制御部3はヒット予測部4からのヒット予測結果にかかわらず、メモリマスタ1のアクセス終了時にバンク0をクローズして終了する。
【0069】
メモリマスタ1は次にメモリのバンク0に対してアクセスを行うが、バンク0はクローズされているため、メモリマスタの前のアクセス終了後、バンク0をすぐにアクティブにして、アクティブ終了後、メモリにアクセスことができる。
【0070】
メモリマスタ1の前のアクセス終了時にバンク0をクローズしていないとすると、メモリマスタ1の前のアクセス終了後、バンク0をプリチャージしてから、バンク0をアクティブにしなければならず、次のメモリアクセス開始までに時間がかかることになる。
【0071】
図4は本発明の第7のメモリアクセス制御装置に対応したメモリアクセス制御装置と、複数のメモリからなるシステムのブロック図である。
【0072】
メモリマスタ1−1〜1−4の各々は、アービタ部2に対し、メモリ使用権を要求するリクエスト信号、アドレス信号、アクセスの種類を示すリードライト信号、何ワードアクセスするかを示すワード長信号、ライトデータ信号、データマスク信号を出力し、アービタ部2からは、メモリ使用権を取得したことを示すアクノリッジ信号、リードデータ信号を受け取る。
【0073】
アービタ部2はメモリ制御部3に対し、複数のメモリマスタ1−1〜1−4から選択したリクエスト信号、アドレス信号、リードライト信号、ワード長信号、ライトデータ信号、データマスク信号を出力し、メモリ制御部3からは、アクノリッジ信号、リードデータ信号を受け取る。
【0074】
メモリ制御部3は、メモリの制御信号、SDRAMの場合には、クロック信号(CLK)、クロックイネーブル信号(CKE)、チップセレクト信号(CS)、ローアドレスストローブ信号(RAS)、カラムアドレスストローブ信号(CAS)、ライトイネーブル信号(WE)、アドレス信号(A)、バンクアドレス信号(BA)、データ入出力信号(DQ)、データマスク信号(DQM)を出力する。
【0075】
ヒット予測部4は、メモリ制御部3に対し、ヒット予測結果を出力する。ヒット予測結果は、接続されている全てのメモリの合計バンク数と同じ本数である。
【0076】
例えば、1個あたり4バンクからなるメモリ5、6が接続されている場合には、システム全体では8個のバンクが存在するため、ヒット予測結果は8本となる。
【0077】
メモリマスタ1−1〜1−4の各々は、メモリにアクセスしたい場合には、リクエスト信号をアサートし、同時にアドレス信号、リードライト信号、ワード長信号、ライトデータ信号、データマスク信号を確定する。
【0078】
アービタ部2は、一つのメモリマスタしかリクエスト信号をアサートしていなければ、そのメモリマスタからのアドレス信号、リードライト信号、ワード長信号、ライトデータ信号、データマスク信号をメモリ制御部に出力し、メモリ制御部からのアクノリッジ信号、リードデータ信号を、そのメモリマスタに返す。
【0079】
複数のメモリマスタがリクエスト信号をアサートしていた場合には、そのうち一つのメモリマスタを選択し、そのメモリマスタからのアドレス信号、リードライト信号、ワード長信号、ライトデータ信号、データマスク信号をメモリ制御部3に出力し、メモリ制御部3からのアクノリッジ信号、リードデータ信号を、そのメモリマスタに返す。
【0080】
複数のメモリマスタから一つのメモリマスタを選択する方法としては、予め決められた優先順位に従って選択する方法や、ラウンドロビンにより最後のアクセスから最も遠ざかっているものを選択する方法などがある。
【0081】
メモリ制御部3は、アービタ部2からのリクエスト信号がアサートされたら、アドレス信号、リードライト信号、ワード長信号を受け取り、リードライト信号がライトアクセスを示していた場合には、ライトアクセスを、リードアクセスを示していた場合にはリードアクセスを行うべく、メモリの制御信号を生成する。
【0082】
ライトアクセスの場合は、ライトデータ信号、データマスク信号も受け取り、リードアクセスの場合は、メモリから返ってきたリードデータをリードデータ信号を介してアービタ部2に返す。
【0083】
メモリ制御部3は、最後のデータをアクセスする際に、現在アクセスしているバンクをクローズするかクローズしないかを、ヒット予測部からのヒット予測結果を参照して決定する。
【0084】
最後のデータとは、例えば、ワード長信号が4ワードアクセスすることを示していた場合には、4ワード目のデータのことである。
【0085】
ヒット予測部4からのヒット予測結果はメモリの各バンク毎に個別の結果が出力されているが、メモリ制御部3は、最後のデータを格納するバンクに対応したヒット予測結果を参照する。
【0086】
また、メモリ制御部3は、最後のデータだけでなく、次のデータが現在アクセスしているデータとは異なるバンクに格納されている場合にも、ヒット予測部4からのヒット予測結果を参照して、現在アクセスしているバンクをクローズするかクローズしないかを決定する。
【0087】
図5は本発明の第8、9、10、11のメモリアクセス制御装置に対応したメモリアクセス制御装置と複数のメモリからなるシステムのブロック図である。
【0088】
ヒット予測部4は、メモリ制御部3から、ヒット信号、ミスヒット信号を受け取る。ヒット結果とミスヒット結果はそれぞれメモリの総バンク数と同じ本数である。
【0089】
メモリ制御部3は、各バンクについて、アクセスを開始するときにそのアドレスが、前回アクセスしたページと同じページを示していた場合に、対応するバンクのヒット信号をアサートする。
【0090】
また、アクセスを開始するときにそのアドレスが、前回アクセスしたページとは異なるページを示していた場合に、対応するバンクのミスヒット信号をアサートする。
【0091】
アクセスを開始するときとは、アービタ部2からリクエストがアサートされてから最初のアクセスを開始する時だけでなく、ワード長信号が示すワード長分のアクセスを終了するまでに、現在アクセスしたデータと次にアクセスするデータとが異なるバンクに格納されていた場合に、次のアクセスを開始する時も含まれる。
【0092】
メモリ制御部3は、ヒット信号、ミスヒット信号を生成するために、各バンクについて、最後にアクセスしたページを記憶しておく必要がある。
【0093】
本発明の第8のメモリアクセス制御装置に対応したヒット予測部4の動作は、本発明の請求項2のメモリアクセス制御装置に対応したヒット予測部4の動作に準ずる。同様に、本発明の請求項9、10、11のメモリアクセス制御装置に対応したヒット予測部4の動作は、それぞれ本発明の請求項3、4、5のメモリアクセス制御装置に対応したヒット予測部4の動作に準ずる。
【0094】
図6は本発明の第12のメモリアクセス制御装置に対応したメモリアクセス制御装置と、複数のメモリからなるシステムのブロック図である。
【0095】
第7のメモリアクセス制御装置対応の実施例に加えて、各メモリマスタは、アービタ部2とメモリ制御部3に対し、次にアクセス要求を行う際のアドレスを示す次アドレス信号とそのアドレス信号が確定したことを示す次アドレス確定信号を出力する。
【0096】
メモリ制御部3は、最後のデータをアクセスする際に、現在アクセスしているバンクをクローズするかクローズしないかを、ヒット予測部4からのヒット予測結果を参照して決定するが、このとき、次アドレス確定信号を出力しているメモリマスタが一つ以上あり、かつその次アドレス信号が示すバンクとページが、現在アクセスしているバンクとページに両方一致するメモリマスタが存在した場合は、ヒット予測部4からのヒット予測結果にかかわらず、現在アクセスしているバンクをクローズせずに終了するとともに、アービタ部2は次にメモリにアクセスするメモリマスタを選択する際に、その次アドレス信号が示すバンクとページが、現在アクセスしているバンクとページに両方一致するメモリマスタを選択する。
【0097】
そうではない場合で、アドレス確定信号を出力しているメモリマスタが一つ以上あり、かつそのアドレス信号が示すバンクとページが、現在アクセスしているバンクとページに、バンクのみ一致し、ページは不一致であるメモリマスタが存在した場合は、ヒット予測部4からのヒット予測結果にかかわらず、現在アクセスしているバンクをクローズして終了する。
【0098】
例えば、メモリマスタをメモリマスタ1−1、1−2、1−3の三つとし、現在メモリマスタ1−1がアクセス中でその最後のアドレスがバンク0、ページ0であった場合に、メモリマスタ1−2および1−3が次アドレス確定信号をアサートしており、メモリマスタ1−2の次アドレス信号が示すバンクが0、ページが0、メモリマスタ1−3の次アドレス信号が示すバンクが0、ページが1であった場合、メモリ制御部3はヒット予測部4からのヒット予測結果にかかわらず、メモリマスタ1−1のアクセス終了時にバンク0をクローズせずに終了し、アービタ部はメモリマスタ1−1の次にメモリマスタ1−2を選択する。
【0099】
メモリマスタ1−2はバンク0、ページ0に対してアクセスするが、バンク0はページ0で既にオープンされているため、メモリマスタ1−1のアクセス終了後すぐにメモリマスタ1−2はアクセスを開始することができる。
【0100】
メモリマスタ1−1のアクセス終了時にバンク0がクローズされていたとすると、バンク0をアクティブにしてからメモリアクセスを開始しなければならず、次のメモリアクセス開始までに時間がかかることになる。
【0101】
また、メモリマスタ1−1の次にメモリマスタ1−3を選択したとすると、バンク0をプリチャージしてから、バンク0をアクティブにしなければならず、次のメモリアクセス開始までに時間がかかることになる。
【0102】
また、メモリマスタ1−2の次アドレス信号が示すバンクが0、ページが1、メモリマスタ1−3の次アドレス信号が示すバンクが0、ページが2であった場合、メモリ制御部3はヒット予測部4からのヒット予測結果にかかわらず、メモリマスタ1−1のアクセス終了時にバンク0をクローズして終了する。
【0103】
メモリマスタ1−1の次にメモリマスタ1−2が選択されてもメモリマスタ1−3が選択されてもメモリのバンク0に対してアクセスを行うが、バンク0はクローズされているため、メモリマスタ1−1のアクセス終了後、バンク0をすぐにアクティブにして、アクティブ終了後、メモリにアクセスことができる。
【0104】
メモリマスタ1−1のアクセス終了時にバンク0をクローズしていないとすると、メモリマスタ1−1のアクセス終了後、バンク0をプリチャージしてから、バンク0をアクティブにしなければならず、次のメモリアクセス開始までに時間がかかることになる。
【0105】
次ぎにヒット予測部4の具体的な構成例とその動作を説明する。図7は、前記第5、11のメモリアクセス制御装置に対応したヒット予測部4の1バンク分の構成を示したブロック図である。
【0106】
尚、ヒット予測部4は図7のブロックをバンク数分備えているが図示してないがこの他に、j−1、k−1、mの設定指示(或いはj、k、mの設定指示)を受け、これらの設定値を保持する手段も備えている。
【0107】
図7を参照し、ヒット信号・ミスヒット信号入力部41は、ヒット信号かミスヒット信号が入力されると、結果保持用シフトレジスタ42を1ビットシフトするとともに、このシフトレジスタのビット0には、ヒット信号が入力された場合はヒットを表す符号1を、ミスヒット信号が入力された場合はミスヒットを表す符号0を入力する。
【0108】
判定部43は、前記保持手段のk−1の値を受け、結果保持用シフトレジスタ42のビット0からk−1までの全ビットが0であれば、1をそうでなければ0を出力する。
【0109】
判定部44は、前記保持手段のj−1の値を受け、結果保持用シフトレジスタ42のビット0からj−1までの全ビットが1であれば、1をそうでなければ0を出力する。
【0110】
判定部45は、前記保持手段のmの値を受けており、結果保持用シフトレジスタ42のビット0からビットn−1をすべて加算し、結果がm以上であれば1をそうでなければ0を出力する。
【0111】
判定結果出力部46は、判定部43の結果が1であればミスヒット信号を示す符号0を、判定部43の結果が0で、判定部44の結果が1であればヒット信号を示す符号1を、判定部43および44の結果が共に0で、判定部45の結果が1であればヒット信号を示す符号1を、判定部43、44、及び45の結果が全て0であればミスヒット信号を示す符号0を出力する。
【0112】
前記した様にシステム全体で8個のバンクが存在するのであれば、ヒット予測部4はこの様な回路を8組有している。
【0113】
前記第2、8のメモリアクセス制御装置に対応したヒット予測部4のバンク当たりの回路は、ヒット信号・ミスヒット信号入力部41、nビットの結果保持用シフトレジスタ42、判定部45の構成であり、判定部45の出力をヒット予測結果とする。
【0114】
前記第3、9のメモリアクセス制御装置に対応したヒット予測部4のバンク当たりの回路は、ヒット信号・ミスヒット信号入力部41、最大nビットの結果保持用シフトレジスタ42、判定部44の構成であり、判定部44の出力をヒット予測結果とする。
【0115】
前記第4、10のメモリアクセス制御装置に対応したヒット予測部4のバンク当たりの回路は、ヒット信号・ミスヒット信号入力部41、最大nビットの結果保持用シフトレジスタ42、判定部43の構成であり、判定部43の出力をミスヒット予測結果とする。
【0116】
次ぎにメモリ制御部3がヒット予測部4の予測に基づいてメモリへの信号を制御するタイミング例を図8〜図10のタイムチャートを用い説明する。
【0117】
メモリにSDRAMを使用した場合で、リードアクセスを行った場合の例である。
【0118】
図8はリードアクセス中に次ぎのアクセスのヒット予測をし、そのアクセスがヒットした場合のタイムチャートである。信号名の先頭の#はアクティブLOWの信号を表す。
【0119】
▲1▼のアクセス中に次ぎ(▲2▼)のアクセスのヒットを予測した場合、アクセス終了時にプリチャージを行わない。次のアクセスがページヒットし、A0〜A9の切り換えやROWアクティブコマンド(#RASをLOW)発行が不要の為、次のアクセスが早く行われる。
【0120】
図9はリードアクセス中に次アクセスのヒットを予測し、そのアクセスがミスヒットした場合のタイムチャートである。
【0121】
ヒットを予測した場合、アクセス終了時にプリチャージを行わない。次のアクセスがミスヒットした場合は、プリチャージコマンド(#RASと#WEを同時にLOW)を発行してから、A0〜A9を次ぎのROWアドレスに切り換えてROWアクティブコマンド(#RASをLOW)を発行する必要があるため次のアクセスが遅く行われる。
【0122】
図10はリードアクセス中にミスヒットを予測した場合のタイムチャートである。ミスヒット予測であるのでアクセス終了時にA10をイネーブルにしてオートプリチャージを行う。
【0123】
又は、アクセス終了後にプリチャージコマンド(#RASと#WEを同時にLOW。図中の点線部)を発行してもよい。
【0124】
この場合は、続くアクセス▲2▼がページヒットであってもミスヒットであっても▲2▼の結果データ確定タイミングは変わらない。
【0125】
ヒット予測してミスヒットした場合に較べ、アクセス時間が2/3以下に短縮される。
【0126】
【発明の効果】
以上説明した様に本発明によれば、次に同じバンクをアクセスする時にページヒットすると予測した場合はオープンページポリシーでアクセスし、ミスヒットすると予測した場合にはクローズドページポリシーでアクセスしているので、予測が完全に的中すれば、理論限界の性能が達成できる。
【0127】
又、完全には的中しなくても、的中率が50%より大きければ、ページヒットが減る回数よりも、ミスヒットが減る回数が多くなるため、メモリアクセス効率が向上する。
【0128】
又、アクセスを行った時点で、次のアクセスがページヒットするかどうかを予測して、アクセスしたバンクをクローズするかオープンしたままにするかを決めているため、ミスヒットするアクセスが短い間隔で連続した場合でもアクセス効率を向上できる。
【図面の簡単な説明】
【図1】本発明の第1のメモリアクセス制御装置に対応したシステムのブロック図
【図2】本発明の第2、3、4、5のメモリアクセス制御装置に対応したシステムのブロック図
【図3】本発明の第6のメモリアクセス制御装置に対応したシステムのブロック図
【図4】本発明の第7のメモリアクセス制御装置に対応したシステムのブロック図
【図5】本発明の第8、9、10、11のメモリアクセス制御装置に対応したシステムのブロック図
【図6】本発明の第12のメモリアクセス制御装置に対応したシステムのブロック図
【図7】本発明の第5、11のメモリアクセス制御装置に対応したヒット予測部4の1バンク分の構成を示したブロック図。
【図8】本発明のメモリアクセス制御装置がリードアクセス中に次ぎのアクセスのヒット予測をし、そのアクセスがヒットした場合のタイムチャート。
【図9】本発明のメモリアクセス制御装置がリードアクセス中に次ぎのアクセスのヒット予測をし、そのアクセスがミスヒットした場合のタイムチャート。
【図10】本発明のメモリアクセス制御装置がリードアクセス中に次ぎのアクセスのミスヒット予測をした場合のタイムチャート。
Claims (11)
- メモリへのアクセスを要求するメモリマスタと、前記メモリマスタから出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、前記メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、前記ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、前記ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了するメモリアクセス制御装置であって、
前記メモリマスタは、次にアクセス要求を行う際のアドレスを示す次アドレス信号と、次アドレス信号が確定したことを示す次アドレス確定信号を前記メモリ制御部に通知し、
前記メモリ制御部は、前記メモリマスタが次アドレス確定信号を出力しており、かつ次アドレス信号が示すバンクとページが、現在アクセスしているバンクとページに両方一致した場合は、前記ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、
そうではない場合で、前記メモリマスタがアドレス確定信号を出力しており、かつそのアドレス信号が示すバンクとページが、現在アクセスしているバンクとページに、バンクのみ一致し、ページは不一致であった場合は、前記ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とするメモリアクセス制御装置。 - 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
- メモリへのアクセスを要求する複数のメモリマスタと、メモリマスタからのメモリアクセス要求を調停し、何れかのメモリマスタからのアクセス情報を選択して出力するアービタ部と、アービタ部から出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了するメモリアクセス制御装置であって、
各々の前記メモリマスタは、次にアクセス要求を行う際のアドレスを示す次アドレス信号とそのアドレス信号が確定したことを示す次アドレス確定信号を前記アービタ部および前記メモリ制御部に通知し、
前記メモリ制御部は、次アドレス確定信号を出力している前記メモリマスタが一つ以上あり、かつその次アドレス信号が示すバンクとページが、現在アクセスしているバンクとページに両方一致する前記メモリマスタが存在した場合は、前記ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、
そうではない場合で、アドレス確定信号を出力している前記メモリマスタが一つ以上あり、かつそのアドレス信号が示すバンクとページが、現在アクセスしているバンクとページに、バンクのみ一致し、ページは不一致である前記メモリマスタが存在した場合は、前記ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とするメモリアクセス制御装置。 - 前記アービタ部は、現在アクセス中のバンクおよびページと同じバンクおよびページを次にアクセスする前記メモリマスタが存在した場合はその前記メモリマスタを優先して選択することを特徴とする請求項6のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回(m≦n:自然数)以上であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
- 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003084790A JP4250989B2 (ja) | 2003-03-26 | 2003-03-26 | メモリアクセス制御装置 |
US10/811,290 US7543105B2 (en) | 2003-03-26 | 2004-03-26 | Memory access control based on hit prediction |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003084790A JP4250989B2 (ja) | 2003-03-26 | 2003-03-26 | メモリアクセス制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004295322A JP2004295322A (ja) | 2004-10-21 |
JP4250989B2 true JP4250989B2 (ja) | 2009-04-08 |
Family
ID=32985089
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003084790A Expired - Fee Related JP4250989B2 (ja) | 2003-03-26 | 2003-03-26 | メモリアクセス制御装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7543105B2 (ja) |
JP (1) | JP4250989B2 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080282028A1 (en) * | 2007-05-09 | 2008-11-13 | International Business Machines Corporation | Dynamic optimization of dynamic random access memory (dram) controller page policy |
US20080282029A1 (en) * | 2007-05-09 | 2008-11-13 | Ganesh Balakrishnan | Structure for dynamic optimization of dynamic random access memory (dram) controller page policy |
KR100879463B1 (ko) * | 2007-05-11 | 2009-01-20 | 삼성전자주식회사 | 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치 |
US7761656B2 (en) * | 2007-08-22 | 2010-07-20 | Advanced Micro Devices, Inc. | Detection of speculative precharge |
JP2009080603A (ja) * | 2007-09-26 | 2009-04-16 | Hitachi Ltd | ストレージ装置及びその省電力方法 |
JP5233541B2 (ja) * | 2008-09-17 | 2013-07-10 | セイコーエプソン株式会社 | メモリ制御回路、電子機器制御装置、および、複合機 |
US8347020B2 (en) * | 2009-03-20 | 2013-01-01 | Qualcomm Incorporated | Memory access controller, systems, and methods for optimizing memory access times |
US8615638B2 (en) * | 2010-10-08 | 2013-12-24 | Qualcomm Incorporated | Memory controllers, systems and methods for applying page management policies based on stream transaction information |
JP5759276B2 (ja) | 2011-06-09 | 2015-08-05 | キヤノン株式会社 | 処理装置及び情報処理方法 |
JP6251417B2 (ja) * | 2014-10-27 | 2017-12-20 | 株式会社日立製作所 | ストレージシステム、及び、記憶制御方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02232890A (ja) | 1989-03-06 | 1990-09-14 | Hitachi Ltd | 主記憶制御装置 |
JPH047762A (ja) | 1990-04-26 | 1992-01-13 | Fuji Xerox Co Ltd | メモリアクセス方法 |
DE69129252T2 (de) * | 1990-08-06 | 1998-12-17 | Ncr International, Inc., Dayton, Ohio | Verfahren zum Betrieb eines Rechnerspeichers und Anordnung |
US5485589A (en) * | 1991-12-31 | 1996-01-16 | Dell Usa, L.P. | Predictive addressing architecture |
JPH05334175A (ja) | 1992-05-29 | 1993-12-17 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
US5664153A (en) * | 1993-04-21 | 1997-09-02 | Intel Corporation | Page open/close scheme based on high order address bit and likelihood of page access |
US5848025A (en) * | 1997-06-30 | 1998-12-08 | Motorola, Inc. | Method and apparatus for controlling a memory device in a page mode |
US5889714A (en) * | 1997-11-03 | 1999-03-30 | Digital Equipment Corporation | Adaptive precharge management for synchronous DRAM |
US6079003A (en) * | 1997-11-20 | 2000-06-20 | Advanced Micro Devices, Inc. | Reverse TLB for providing branch target address in a microprocessor having a physically-tagged cache |
US6052756A (en) * | 1998-01-23 | 2000-04-18 | Oki Electric Industry Co., Ltd. | Memory page management |
JPH11282746A (ja) | 1998-03-03 | 1999-10-15 | Internatl Business Mach Corp <Ibm> | Dramアクセス方法およびdramコントロ−ラ |
JP2001166985A (ja) | 1999-12-10 | 2001-06-22 | Nec Gumma Ltd | メモリ制御装置 |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US6799241B2 (en) * | 2002-01-03 | 2004-09-28 | Intel Corporation | Method for dynamically adjusting a memory page closing policy |
US6976122B1 (en) * | 2002-06-21 | 2005-12-13 | Advanced Micro Devices, Inc. | Dynamic idle counter threshold value for use in memory paging policy |
US7133995B1 (en) * | 2002-12-16 | 2006-11-07 | Advanced Micro Devices, Inc. | Dynamic page conflict prediction for DRAM |
US7020762B2 (en) * | 2002-12-24 | 2006-03-28 | Intel Corporation | Method and apparatus for determining a dynamic random access memory page management implementation |
-
2003
- 2003-03-26 JP JP2003084790A patent/JP4250989B2/ja not_active Expired - Fee Related
-
2004
- 2004-03-26 US US10/811,290 patent/US7543105B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004295322A (ja) | 2004-10-21 |
US7543105B2 (en) | 2009-06-02 |
US20040193787A1 (en) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5889714A (en) | Adaptive precharge management for synchronous DRAM | |
US6681302B2 (en) | Page open hint in transactions | |
US5745913A (en) | Multi-processor DRAM controller that prioritizes row-miss requests to stale banks | |
US7017022B2 (en) | Processing memory requests in a pipelined memory controller | |
JP4786209B2 (ja) | メモリアクセス装置 | |
JP4656862B2 (ja) | 半導体装置 | |
US7707328B2 (en) | Memory access control circuit | |
JP2000501536A (ja) | 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット | |
US5907857A (en) | Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system | |
KR20050005481A (ko) | 아웃 오브 오더 dram 시퀀서 | |
US20070233943A1 (en) | Dynamic update adaptive idle timer | |
TW200416535A (en) | Method and apparatus for determining a dynamic random access memory page management implementation | |
JP4250989B2 (ja) | メモリアクセス制御装置 | |
US6754135B2 (en) | Reduced latency wide-I/O burst architecture | |
US20060059320A1 (en) | Memory control device | |
US20080098176A1 (en) | Method and Apparatus for Implementing Memory Accesses Using Open Page Mode for Data Prefetching | |
JP4370063B2 (ja) | 半導体記憶装置の制御装置および半導体記憶装置の制御方法 | |
JP2014154119A (ja) | メモリ制御装置及び半導体記憶装置 | |
US7328311B2 (en) | Memory controller controlling cashed DRAM | |
JPH07248963A (ja) | Dram制御装置 | |
KR101022473B1 (ko) | 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치 | |
JP2001135079A (ja) | メモリ制御装置 | |
US20240112722A1 (en) | Directed refresh management for dram | |
JP2007323113A (ja) | メモリ制御回路 | |
JP2000242544A (ja) | メモリ制御装置及びダイレクトメモリアクセス制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20050310 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050914 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070115 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080606 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081007 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081201 |
|
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: 20081224 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090106 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120130 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130130 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |