JP2004295322A - メモリアクセス制御装置 - Google Patents

メモリアクセス制御装置 Download PDF

Info

Publication number
JP2004295322A
JP2004295322A JP2003084790A JP2003084790A JP2004295322A JP 2004295322 A JP2004295322 A JP 2004295322A JP 2003084790 A JP2003084790 A JP 2003084790A JP 2003084790 A JP2003084790 A JP 2003084790A JP 2004295322 A JP2004295322 A JP 2004295322A
Authority
JP
Japan
Prior art keywords
bank
access
memory
hit
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.)
Granted
Application number
JP2003084790A
Other languages
English (en)
Other versions
JP4250989B2 (ja
Inventor
Tetsuo Takizawa
哲郎 滝澤
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 JP2003084790A priority Critical patent/JP4250989B2/ja
Priority to US10/811,290 priority patent/US7543105B2/en
Publication of JP2004295322A publication Critical patent/JP2004295322A/ja
Application granted granted Critical
Publication of JP4250989B2 publication Critical patent/JP4250989B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing 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 (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

【課題】従来のクローズドページポリシー、オープンページポリシーの何れの方式でもアクセス性能が理論限界迄には至らず、バンクへのページヒットアクセス回数でバンククローズタイミングを変更する方式でも、アクセスしたバンクを必ずある程度オープンにしており、ミスヒットアクセスが短間隔で連続すればアクセス効率は向上しなかった。
【解決手段】メモリアクセスを要求するメモリマスタ1、これのアクセス情報を元にメモリ5、6の制御信号を生成するメモリ制御部3、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなる(ページヒットする)/否を予測するヒット予測部4から成り、メモリ制御部3は、ヒット予測部4のヒット予測で、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ミスヒット予測では、アクセスしたバンクをクローズし終了する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、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】本発明のメモリアクセス制御装置がリードアクセス中に次ぎのアクセスのミスヒット予測をした場合のタイムチャート。
【符号の説明】
1、1−1〜1−4 メモリマスタ
2 アービタ部
3 メモリ制御部
4 ヒット予測部
41 ヒット信号・ミスヒット信号入力部
42 結果保持用シフトレジスタ
43、44、45 判定部
46 判定結果出力部
5、6 メモリ

Claims (12)

  1. メモリへのアクセスを要求するメモリマスタと、メモリマスタから出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とするメモリアクセス制御装置。
  2. 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
  3. 前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
  4. 前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
  5. 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項1記載のメモリアクセス制御装置。
  6. メモリマスタは次にアクセスするバンクおよびページが確定した段階でその情報をメモリ制御部に通知し、メモリ制御部は、メモリマスタが次にアクセスするバンクが現在アクセス中のバンクと同じで、次にアクセスするページが現在アクセス中のページと同じである場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、そうではない場合で、メモリマスタが次にアクセスするバンクが現在アクセス中のバンクと同じで、次にアクセスするページが現在アクセス中のページとは異なる場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とする請求項1乃至5の何れかに記載のメモリアクセス制御装置。
  7. メモリへのアクセスを要求する複数のメモリマスタと、メモリマスタからのメモリアクセス要求を調停し、何れかのメモリマスタからのアクセス情報を選択して出力するアービタ部と、アービタ部から出力されるアクセス情報を元にメモリの制御信号を生成するメモリ制御部と、メモリの各バンクへの次のアクセスが同一ページへのアクセスとなるかどうかを予測するヒット予測部からなり、前記メモリ制御部は、現在アクセスしているバンクについて、ヒット予測部が前記バンクへの次のアクセスが同一ページへのアクセスである、即ちページヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、ヒット予測部が前記バンクへの次のアクセスが異なるページへのアクセスである、即ちミスヒットすると予測した場合は、現在のアクセス終了時にアクセスしたバンクをクローズして終了することを特徴とするメモリアクセス制御装置。
  8. 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうちページヒットしたアクセスの回数がm回(m≦n:自然数)以上であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
  9. 前記ヒット予測部が、メモリの各バンクについて最近j回分(j:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近j回のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
  10. 前記ヒット予測部が、メモリの各バンクについて最近k回分(k:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近k回のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうでない場合は当該バンクへの次のアクセスはページヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
  11. 前記ヒット予測部が、メモリの各バンクについて最近n回分(n:自然数)のアクセスにおけるページヒット・ミスヒットの何れかの結果を記憶しておき、最近n回のアクセスのうち最近のk回(k≦n:自然数)のアクセスが全てミスヒットであったら、当該バンクへの次のアクセスはミスヒットすると予測し、そうではない場合で最近n回のアクセスのうち最近のj回(j≦n:自然数)のアクセスが全てページヒットであったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合で最近n回のアクセスのうちページヒットしたアクセスの回数がm回以上(m≦n:自然数)であったら、当該バンクへの次のアクセスはページヒットすると予測し、そうではない場合は当該バンクへの次のアクセスはミスヒットすると予測することを特徴とする請求項7記載のメモリアクセス制御装置。
  12. 各メモリマスタは次にアクセスするバンクおよびページが確定した段階でその情報をアービタ部およびメモリ制御部に通知し、メモリ制御部は、現在アクセス中のバンクと同じバンクを次にアクセスし、現在アクセス中のページと同じページを次にアクセスするメモリマスタが存在した場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズせずに終了し、そうではない場合で、現在アクセス中のバンクと同じバンクを次にアクセスし、現在アクセス中のページとは異なるページを次にアクセスするメモリマスタが存在した場合は、ヒット予測部からの予測結果にかかわらず、現在のアクセス終了時にアクセスしたバンクをクローズして終了し、アービタ部は、現在アクセス中のバンクおよびページと同じバンクおよびページを次にアクセスするメモリマスタが存在した場合はそのメモリマスタを優先して選択することを特徴とする請求項7乃至11の何れかに記載のメモリアクセス制御装置。
JP2003084790A 2003-03-26 2003-03-26 メモリアクセス制御装置 Expired - Fee Related JP4250989B2 (ja)

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 true JP2004295322A (ja) 2004-10-21
JP4250989B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010072792A (ja) * 2008-09-17 2010-04-02 Seiko Epson Corp メモリ制御回路、電子機器制御装置、および、複合機
JP2010537310A (ja) * 2007-08-22 2010-12-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 投機的なプリチャージの検出
JP2012520535A (ja) * 2009-03-20 2012-09-06 クアルコム,インコーポレイテッド メモリアクセス時間を最適化するための、メモリアクセスコントローラ、システム、および方法
JP2013539148A (ja) * 2010-10-08 2013-10-17 クアルコム,インコーポレイテッド ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
US8966166B2 (en) 2011-06-09 2015-02-24 Canon Kabushiki Kaisha Information processing apparatus and information processing method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
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 삼성전자주식회사 억세스 권한 이양 시 프리차아지 스킵을 방지하는 동작을갖는 멀티패쓰 억세스블 반도체 메모리 장치
JP2009080603A (ja) * 2007-09-26 2009-04-16 Hitachi Ltd ストレージ装置及びその省電力方法
WO2016067339A1 (ja) * 2014-10-27 2016-05-06 株式会社日立製作所 ストレージシステム、及び、記憶制御方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
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 Int Inc 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

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010537310A (ja) * 2007-08-22 2010-12-02 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 投機的なプリチャージの検出
KR101554294B1 (ko) * 2007-08-22 2015-09-18 어드밴스드 마이크로 디바이시즈, 인코포레이티드 추론적 프리챠지의 검출
JP2010072792A (ja) * 2008-09-17 2010-04-02 Seiko Epson Corp メモリ制御回路、電子機器制御装置、および、複合機
JP2012520535A (ja) * 2009-03-20 2012-09-06 クアルコム,インコーポレイテッド メモリアクセス時間を最適化するための、メモリアクセスコントローラ、システム、および方法
JP2013539148A (ja) * 2010-10-08 2013-10-17 クアルコム,インコーポレイテッド ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
US8966166B2 (en) 2011-06-09 2015-02-24 Canon Kabushiki Kaisha Information processing apparatus and information processing method

Also Published As

Publication number Publication date
US7543105B2 (en) 2009-06-02
JP4250989B2 (ja) 2009-04-08
US20040193787A1 (en) 2004-09-30

Similar Documents

Publication Publication Date Title
US6681302B2 (en) Page open hint in transactions
US5745913A (en) Multi-processor DRAM controller that prioritizes row-miss requests to stale banks
US5889714A (en) Adaptive precharge management for synchronous DRAM
KR100610730B1 (ko) 메모리 액세스 대기시간을 감소시키기 위한 메모리 액세스스케쥴링 방법 및 장치
JP4786209B2 (ja) メモリアクセス装置
US7536530B2 (en) Method and apparatus for determining a dynamic random access memory page management implementation
KR101554294B1 (ko) 추론적 프리챠지의 검출
US7707328B2 (en) Memory access control circuit
JP4656862B2 (ja) 半導体装置
KR101622311B1 (ko) 적응가능한 수의 오픈 로우들을 갖는 메모리 디바이스
US5907857A (en) Refresh-ahead and burst refresh preemption technique for managing DRAM in computer system
JP2000501536A (ja) 種々のメモリセグメント間のメモリコントロールシーケンスのタイミングを最適にするメモリコントローラユニット
US10152434B2 (en) Efficient arbitration for memory accesses
US20060059320A1 (en) Memory control device
JP4250989B2 (ja) メモリアクセス制御装置
KR100914017B1 (ko) 메모리 컨트롤러, 반도체 메모리의 액세스 제어 방법 및시스템
JP2008102932A (ja) メモリ・アクセスを実施する方法および装置
JP4370063B2 (ja) 半導体記憶装置の制御装置および半導体記憶装置の制御方法
KR20060113019A (ko) 메모리 제어 시스템
JP4108237B2 (ja) メモリ制御装置
US20050021912A1 (en) Line cache controller with lookahead
TW202203047A (zh) 用於高速串列匯流排處理事務的方法、裝置及系統
JP3169878B2 (ja) メモリ制御回路
US20240112722A1 (en) Directed refresh management for dram
JP4549073B2 (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