JP4208541B2 - メモリ制御装置 - Google Patents

メモリ制御装置 Download PDF

Info

Publication number
JP4208541B2
JP4208541B2 JP2002285577A JP2002285577A JP4208541B2 JP 4208541 B2 JP4208541 B2 JP 4208541B2 JP 2002285577 A JP2002285577 A JP 2002285577A JP 2002285577 A JP2002285577 A JP 2002285577A JP 4208541 B2 JP4208541 B2 JP 4208541B2
Authority
JP
Japan
Prior art keywords
data
address
master
prefetch buffer
read
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
Application number
JP2002285577A
Other languages
English (en)
Other versions
JP2004126645A (ja
Inventor
利秋 南
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002285577A priority Critical patent/JP4208541B2/ja
Priority to US10/670,299 priority patent/US7149850B2/en
Publication of JP2004126645A publication Critical patent/JP2004126645A/ja
Priority to US11/585,210 priority patent/US20070043910A1/en
Application granted granted Critical
Publication of JP4208541B2 publication Critical patent/JP4208541B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

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

【0001】
【発明の属する技術分野】
本発明は、先読み動作を実行可能なメモリ制御装置に関するものである。
【0002】
【従来の技術】
近年においてもCPUの高速化はとどまるところを知らず、年間1.5倍以上のペースで向上している。これにともない単位時間あたりに主記憶装置との間で転送されるデータ量も同様なペースで増加している。これを緩和するため、メモリアクセスの局所性を利用して高速な記憶アクセスを得るために、CPUに備えつけられるキャッシュの容量を増大したり、あるいはこれを階層化することが行われている。しかしそれでもCPUの動作速度と主記憶のアクセス速度のギャップの増大を解決することは年々難しくなっている。
【0003】
これを根本的に解決するには、主記憶それ自体のアクセス速度(メモリバンド幅)を大幅に向上させる必要がある。今日、パーソナルコンピュータ(PC)などの主記憶装置には、通常半導体メモリであるダイナミックRAM(DRAM)が用いられている。CPUの速度向上は半導体デバイス自体の進歩による速度の向上を超えているため、DRAMにおいても回路構成あるいは方式面での工夫によりこれを達成しなければならない。
【0004】
このような経緯から、過去メモリバンド幅を向上させるための様々な方式が考案され実用化されてきたが、最近新たに実用化され注目を浴びている方式としてダイレタトラムバスDRAMが挙げられる。ダイレクトラムバスDRAMではチャネルの概念を取り入れ1チャネル当たり最大毎秒1.6GBの高いメモリバンド幅を実現できる。
【0005】
図1に、ダイレタトラムバスDRAMのRSLチャネルにおける転送プロトコルの一例を示す。ダイレクトラムバスでは一クロックサイクルあたりクロックの立ち上がり,立ち下がりの両タイミングでデータを転送し、4クロックで一つのパケットを構成する。
【0006】
図1では、まずサイクル0から3においてxで指定されるページをアクティベートするロウパケットが発行されている。ここにxはそれぞれ特定のビット数からなるデバイスID、バンクアドレス、ロウアドレスの組を表している。次いでサイクル7から10においてx0で指定されるアドレスのデータを読み出すことを指示するカラムパケットが発行されている。ここにx0はそれぞれ特定のビット数からなるデバイスID、バンクアドレス、カラムアドレスの組を表しており、ここにおけるデバイスID,バンクアドレスxにおけるものと同一である。
【0007】
カラムアドレスはページ内の1つのアドレスを指定する。さらにサイクル11から14においでx1で指定されるアドレスのデータを読み出すことを指示するカラムパケットが発行されている。ここにx1はそれぞれ特定のビット数からなるデバイスID、バンクアドレス、カラムアドレスの組を表しており、ここでもデバイスIDバンクアドレスはxにおけるものと同一である。すなわちこれらロウパケット、カラムパケットの組により、同一デバイス、同一バンク、同一ページ内の2つのアドレスからのリードが実行される。サイクル19からサイクル22において、1番目(x0)のリードコマンドに対応するデータがDRAMから読み出され、サイクル23からサイクル26において、2番目〈x1)のリードコマンドに対応するデータがDRAMから読み出されている。
【0008】
図1に示す例では、この一連のリード動作と並行して他のバンクからのリードも行われている。すなわちサイクル8から11においてyで指定されるページをアクティベートするロウパケットが発行されている。ここにyは先行するxとは別のバンク(別のデバイスか同じデバイスの干渉しないバンク)に位置するページを指している。次いでサイクル15から18において、y0で指定されるアドレスのデータを読み出すことを指示するカラムパケットが発行されている。ここにy0におけるデバイスID、バンクアドレスは、yにおけるものと同一である。更にサイクル19から22において、y1で指定されるアドレスのデータを読み出すことを指示するカラムパケットが発行されている。ここでもy1におけるデバイスID,バンクアドレスはyにおけるものと同一である。
【0009】
サイクル27からサイクル30において、3番目(y0)のリードコマンドに対応するデータがDRAMから読み出され、サイクル31からサイクル34において、4番目(yl)のリードコマンドに対応するデータがDRAMから読み出されている。以下、z,z0,z1,q,q0,q1についても同様であり、x,yとは干渉しないバンクzのアクティベートおよびx,y,zとは干渉しないバンクqのアクティベートが行われ、5番目(z0)、6番目(z1)、7番目〈q0〉、8番目(q1)のリードコマンドの発行に応じて、それぞれのデータが読み出されている。
【0010】
このように連続するコマンドがロウパケット、カラムパケット、データパケットの各フェーズ毎にパイプライン動作を行っている。このようにして、ダイレクトラムバスDRAMでは、4段のパイプラインで32バイト単位でアクセスした場合に最大のバンド幅が得られる。
【0011】
それ故、32バイトより小さいサイズでのアクセスでは実効バンド幅が低下してしまう。例えば連続する32バイトのデータを一度に32バイトまとめてリードした場合と、16バイトずつ2回に分けてリードした場合、前者の方が効率が良く短時間で終了する。
【0012】
もし32バイトより小さい単位のアクセスが頻繁に生じるような場合には、メモリコントローラ内にプリフェッチバッファを備えることにより、アクセス効率を向上させることが可能である。
【0013】
図2は、プリフェッチバッファを備える従来のメモリコントローラの一構成例を説明する図である。
【0014】
図2において、200はメモリコントローラであり、システムバス210を介して、CPUやDMAコントローラ、バスブリッジなどのバスマスタ220、221、222、223と接続されると共に、DRAM(本例においてはダイレクトRDRAM)230、231、232、233と接続される。前記バスマスタ220、221,222、223は、システムバス上でのアクセス競合を避けるため、図示されない調停装置によってアクセスを調停され、同時に1つのマスタのみがメモリコントローラ200にアクセスすることができるようになっている。
【0015】
241は双方向のデータ信号(DQA〔8:0〕,DQB〔8:0〕)線であり、ライト時はメモリコントローラからDRAMへ、リード時にはDRAMからメモリコントローラへデータを伝送する。242、243はそれぞれロウ信号(ROW〔2:0〕)、カラム信号(COL〔4:0〕)線であり、メモリコントローラからDRAMへそれぞれロウパケット、カラムパケットを伝送する。244、255はチャネル上のクロック信号(CTM,CFM)である。
【0016】
201〜205は前記メモリコントローラ200の構成要素である。203はシステムバスと接続するためのシステムバスインターフェース回路である。204はリード・ライトコマンドを一時格納しておくためのバッファである。202はリード・ライトコマンドをメモリチャネル上のプロトコルに翻案しチャネル上に送出し、またリードデータをチャネルから受け取るためのメモリチャネルインターフェース回路である。205は必要に応じリードデータの一部とそのアドレスを格納し、また必要に応じ格納するデータをシステムバスインターフェース203に転送するプリフェッチバッファであり、保持しているアドレス・データが有効であるか無効であるかを示す図示されない有効フラグを備えている。201はメモリコントローラの各ブロックの動作タイミングを制御する制御装置である。
【0017】
一般にメモリヘのアクセスには局所性があり、メモリ内のある番地からデータが読み出されたとき、連続する番地のデータが短時間のうちに読み出されることが高い確率で期待できる。バスマスタ220より16バイトのリードアクセスが生じたとき、メモリコントローラ200はその指定されたアドレスのデータとともに、後続のアドレスに存在する16バイトのデータをも含む32バイトのデータを、DRÅM230、231、232、233のいずれかから読み出す。そして指定された16バイトのデータは、前記システムバス210を介してデータを要求した前記バスマスタ220に転送し、残りの16バイトのデータを前記プリフェッチバッファ205に格納し保持しておく。その後、前記いづれかのバスマスタより保持しておいた後続アドレスヘのアクセス要求が生じたとき、メモリコントローラ200はDRAMに対するリード動作を行わず、代わりにプリフェッチバッファ205内に保持しているデータを、システムバスインターフェース203を介して、アクセス要求を出したバスマスタに転送する。
【0018】
例えばバスマスタ220からアドレスh00120番地(hは16進数を表す)からh0012f番地までに格納されている16バイトのデータに対するリードアクセス要求があったとする。これらアドレスがDRAM230に割り当てられているとすれば、メモリコントローラ200はこの要求を受け付け、一旦バッファ204に格納し、その後メモリチャネルインターフェース202を通じてDRAM230の当該番地に対するリードコマンドパケットを送出する。このときさらに当該番地の後続の16バイトを読み出すカラムパケットも送出する。DRAM230はこれらリードコマンドに呼応し既定の遅延時間ののち、当該連続番地に格納している合計32バイトのデータを順次チャネル上に送出する。
【0019】
メモリコントローラ200はチャネル上に送出された32バイトのデータをメモリ、チャネルインターフェース202において受け取ると、該データ中前半の16バイトをシステムバスインターフェース203からシステムバス210を介しバスマスタ220に送信する。
【0020】
一方、後半の16バイトについては、その先頭アドレスh00130番地とともにプリフェッチバッファ205に格納するとともに、プリフェッチバッファ205の内容が有効であることを示す有効フラグを立てる。その後、再びバスマスタ220よりアドレスh00130番地(hは16進数を表す)からh0013f番地までに格納されている16バイトのデータに対するリードアクセス要求があった場合、直ちにプリフェッチバッファ205内の16バイトのデータを、システムバスインターフェース203からシステムバス210を介し、バスマスタ220に送信する。このようにしてメモリアクセスの効率を高めるとともに、リードレイテンシを大幅に減少させることができる。
【0021】
また、リードアクセスが生じて、任意のアドレスのデータをプリフェッチバッファ205に格納した後、もし同一アドレスに対してライトアクセスが生じた場合は、メモリコントローラ200はプリフェッチバッファ205の保持する内容を無効化する。前記例においては、h00130番地からh0013f番地までの連続する16バイトのデータをプリフェッチバッファ205に格納した後、バスマスタ222が同一アドレス範囲ないしはこのアドレス範囲と重複するアドレス範囲に対するライト要求を発行した場合、メモリコントローラ200はプリフェッチバッファ205内の有効フラグを直ちにリセットする。
【0022】
このようにして古いデータがバスマスタに返されるのを防ぎ、データの一貫性を保つことができる。
【0023】
【発明が解決しようとする課題】
上述の如く、メモリコントローラにプリフェッチバッファを設けた場合、多くのエントリ(バッファに格納するアドレスとデータの対)を備えると回路規模が増大してしまう。そのため、上記例においては1エントリのみを備えている。このとき、1つのバスマスタのみが存在し、該マスタが局所的にデータをアクセスする場合には、プリフェッチバッファは有効に機能するが、もしバスマスタが複数存在し、それらが交互に異なったアドレス範囲のデータをアクセスする場合、プリフェッチバッファの内容が、参照される前に置き換えられる状況が頻繁に生じ、プリフェッチバッファの有効性が損なわれてしまう。
【0024】
例えば、図3において、第1サイクルからバスマスタ220がh10020番地からh1002f番地までの16バイトのデータに対するリードアクセス要求を発行している。この結果として第5サイクルにはプリフェッチバッファ205にはh10030番地からh1003f番地までの16バイトのデータが格納される。
【0025】
次いで第6サイクルにおいて、バスマスタ223がh8a40番地からh8a4f番地までの16バイトのデータに対するリードアクセス要求を発行している。これにより、第10サイクルには、プリフェッチバッファ205では、h10030番地からh1003f番地までの16バイトのデータが全く参照されることなくh8a50番地からh8a5f番地までの16バイトのデータに置き換えられてしまう。
【0026】
その後第11サイクルで、バスマスタ220が、前回リードしたデータに続くh10030番地からh1003f番地までの16バイトのデータに対するリードアクセス要求を発行すると、このアドレスに対応するデータはプリフェッチバッファ205にはすでに存在しないので、再びメモリから読み出されることになり、第15サイクルにはプリフェッチバッファ205の内容は後続アドレスh10040番地からh1004f番地までの16バイトのデータに置き換えられる。その後、第16サイクルにおいて、バスマスタ223が前回リードしたデータに続くh8a50番地からh8a5f番地までの16バイトのデータに対するリードアクセス要求を発行すると、このアドレスに対応するデータももはやプリフェッチバッファ205内には存在しないので、再びメモリから読み出されなければならない。
【0027】
このように複数のバスマスタが同時に動作する場合、従来のメモリコントローラでは、少数のエントリのみを備えるプリフェッチバッファを有効に機能させることができないという問題があった。
【0028】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、複数のマスタからの要求に応じてメモリデバイスに対して読み出し動作を行うメモリ制御装置に、先行読み出し動作の結果を保持するプリフェッチバッファと、前記複数のマスタのうち特定のマスタを設定する設定手段と、前記マスタからの読み出し要求時に、当該マスタが前記設定手段により設定された特定のマスタであるか否かを判別し、当該特定のマスタであると判別されれば、前記先行読み出し動作の結果を前記プリフェッチバッファに格納し、当該特定のマスタではないと判別されれば、前記先行読み出し動作の結果を前記プリフェッチバッファに格納しないように制御する制御手段とを備える。
【0029】
【発明の実施の形態】
以下、図4〜図5に基づき、本発明の1実施形態を説明する。比較のため図2と同一の構成要素については番号に’をつけて示している。
【0030】
図4が図2と異なる個所はシステムバス210’にバスマスタを識別する信号211(バスマスタID)が明示されている点である。これはシステムバス210’を成す信号群の一部であるが、説明を明確にするために分離して示しているものであり、そもそもシステムバス210に備わる信号であってもよいし、新たに付け加えられるものであっても良い。近年では半導体の集積度が増し、システム全体を集積したシステムLSIが一般化しているが、システムLSIにおいては前記システムバス210,はLSIチップ内部に入っており、少数の信号線を追加したとしてもシステム設計上問題とはならない。
【0031】
本実施形態においては、バスマスタが220’〜223’の4つの場合を示しているため2本〈ビット〉の信号線より成る。これら4つのバスマスタと図5中のバスマスタIDとの関係は図6に示されている。
【0032】
本実施形態では更に、制御回路201に対して、プリフェッチバッファ205’を置き換えることが可能なバスマスタを指定するデータを図示しないレジスタに設定するようにし、前記バスマスタを指定するレジスタの内容と前記バスマスタ識別信号211とを比較し、一致する場合のみプリフェッチバッファ205’の内容を置き換えるようにする変更が加えられている。
【0033】
いま前記プリフェッチバッファ205’を置き換えることが可能なバスマスタを指定するためのレジスタに、バスマスタ220’のみを設定した場合を例としてシステムバス上の動作を図5に説明する。
【0034】
第1サイクルからバスマスタ220’がh10020番地から,h1002f番地までの16バイトのデータに対するリードアクセス要求を発行している。メモリコントローラ200’は、バスマスタ識別信号211によりシステムバス上のこのリードアクセス要求がバスマスタ220’からのものであることを知ることができ、かつこのバスマスタ220’はプリフェツナバッファ205’を置き換えることを許可されているので、結果として第5サイクルにはプリフェッチバッファ205’にリードアクセスにおいて要求されたアドレスh10020番地からh1002f番地に続くh10030番地からh1003f番地までの16バイトのデータが格納される。
【0035】
次いで第6サイクルからバスマスタ223’がb8a50番地から,b8a5f番地までの16バイトのデータに対するリードアクセス要求を発行している。メモリコントローラ200’はバスマスタ識別信号211によりシステムバス上のこのリードアクセス要求がバスマスタ223’からのものであることを知ることができ、かつこのバスマスタ223’はプリフェッチバッファ205’を置き換えることを許可されていないので、このリードアクセスによってはプリフェッチバッファ205’の内容に変化はない。
【0036】
その後第11サイクルからバスマスタ220’が前回リードしたデータに続くh10030番地からh1003f番地までの16バイトのデータに対するリードアクセス要求を発行する。前記従来例とは異なり、このアドレスに対応するデータはプリフェッチバッファ205’になお存在するので、第12サイクルでその内容が直ちにシステムバス210’を通じてバスマスタ220’に渡される。第14サイクルからバスマスタ220’が前回リードしたデータに続くh10040番地からh1004f番地までの16バイトのデータに対するリードアクセス要求を発行している。この結果第18サイクルにはプリフェッチバッファ205’はh10050番地からh1005f番地までの16バイトのデータに置き換えられる。
【0037】
以降同様にして、バスマスタ220’のみがプリフェッチバッファの内容を置き換えることができるため、バスマスタ220’はプリフェッチバッファの機能を有効に利用できる。また第19サイクルからバスマスタ222’が,h10040番地から,h1005f番地まで32バイトのデータをライトしている。このライトは現在プリフェッチバッファに保持されているアドレス範囲を包含するので、メモリコントローラ200’はこれら32バイトのデータを指定されたアドレスにライトするパケットをメモリチャネルに発行すると同時に有効フラグをクリアすることによりプリフェッチバッファ205’の内容を無効化する。第22サイクルからバスマスタ220’が前回リードしたデータに続く,h10050番地から,h1005f番地までの16バイトのデータに対するリードアクセス要求を発行するが、プリフェッチバッファ205’の内容はすでに無効化されているため、このリードアクセスはDRAMからデータを読み出す。従って古いデータがバスマスタ220’に渡されることはない。
【0038】
以上、本実施形態ではプリフェッチバッファの持つエントリ数が1の場合について説明したが、もちろん任意の数のエントリ数の場合にも本発明が適用できることは言うまでもない。多くのエントリを備えるほど、より多くのバスマスタについてプリフェッチバッファを置き換え可能なように設定したとしてもプリフェッチバッファの有効性は低下しない。
【0039】
また本実施形態においては、プリフェッチバッファに格納されるデータは、バスマスタによりリード要求があったアドレスの後続アドレスに格納されているデータとしているが、リード要求のあった該アドレスのデータを含む32バイト単位のブロック毎としてもよい。
【0040】
また本実施形態では、リード要求のあったアドレスのデータはプリフェッチバッファに格納していないが、これを含む32バイトのデータ全てを格納するようにしても良い。
【0041】
本実施形態では、説明を簡単にするために、32バイトおよび16バイト単位でのリード・ライトアクセスのみを示しているが、より小さいサイズでアクセスしてもよいことは言うまでもない。その場合32バイト境界から該アクセスデータを含む32バイトのデータを同時にリードし、プリフェッチバッファに格納すればよい。
【0042】
本実施形態においては、プリフェッチバッファの保持するデータと重複するアドレス範囲へのライトが生じた場合、プリフェッチバッファの内容を無効化するようにしているが、プリフェッチバッファの内容をライトされるデータと入れ替えるようにしてももちろん良い。
【0043】
また本実施形態においてはDRAMとしてダイレクトRDRAMを用いる場合を例とし、32バイト単位の転送時にバンド幅が最大になる場合を示したが、その他どのような種類のDRAMあるいは記憶デバイスにおいても、それぞれで好適な転送サイズにおいて本発明が適用できることは言うまでもない。
【0044】
本実施形態においては、プリフェッチバッファの内容を置き換えることができるバスマスタをレジスタ設定によって変更できる場合を説明したが、プリフェッチバッファの内容を置き換えることができるバスマスタを初めから固定しておいてもよい。
【0045】
【発明の効果】
以上説明したように、本発明によれば、プリフェッチバッファを有するメモリ制御装置において、プリフェッチバッファの内容を置き換えることのできるマスタを制限できるので、複数のバスマスタが同時にメモリにアクセスする場合にもプリフェッチバッファの機能を有効に利用することが可能になるという効果がある。
【図面の簡単な説明】
【図1】ダイレクトRAMBUSチャネル上のメモリアクセスプロトコルの一例を説明する図である。
【図2】従来のメモリコントローラを含むシステムの構成を説明する図である。
【図3】従来例におけるシステムバス上のアクセスタイミング及びプリフェッチバッファの内容を説明する図である。
【図4】本発明の一実施形態のメモリコントローラを含むシステムの構成を説明する図である。
【図5】本発明の一実施形態におけるシステムバス上のアクセスタイミング及びプリフェッチバッファの内容を説明するタイミング図である。
【図6】バスマスタとバスマスタIDとの関係表を示す図である。

Claims (7)

  1. 複数のマスタからの要求に応じてメモリに対して読み出し動作を行うメモリ制御装置であって、
    先行読み出し動作の結果を保持するプリフェッチバッファと、
    前記複数のマスタのうち特定のマスタを設定する設定手段と、
    前記マスタからの読み出し要求時に、当該マスタが前記設定手段により設定された特定のマスタであるか否かを判別し、当該特定のマスタであると判別されれば、前記先行読み出し動作の結果を前記プリフェッチバッファに格納し、当該特定のマスタではないと判別されれば、前記先行読み出し動作の結果を前記プリフェッチバッファに格納しないよう制御する制御手段とを備えることを特徴とするメモリ制御装置。
  2. 前記設定手段は、前記複数のマスタの中から前記特定のマスタを任意に設定可能であることを特徴とする請求項1に記載のメモリ制御装置。
  3. 前記複数のマスタとは共有バスを介して接続していることを特徴とする請求項1に記載のメモリ制御装置。
  4. 前記先行読み出し動作は、前記マスタからの要求に対する前記メモリからの読み出し動作と同時に行うことを特徴とする請求項1に記載のメモリ制御装置。
  5. 前記プリフェッチバッファは、データと該データのアドレスと該データの有効性を示すフラグとを含む情報を1ないし複数組格納することを特徴とする請求項1に記載のメモリ制御装置。
  6. 前記マスタからの読み出し要求時に、要求されたアドレスと前記プリフェッチバッファに格納されているデータのアドレスとを比較し、当該データのフラグをチェックして、前記要求されたアドレスと一致し、前記フラグが有効なデータがあれば、当該データを前記マスタのリードデータとして返し、該当するデータがない場合に、当該マスタが前記設定手段により設定されたマスタであれば、前記先行読み出し動作の結果を前記プリフェッチバッファに格納するよう制御することを特徴とする請求項5に記載のメモリ制御装置。
  7. 前記マスタからの書き込み要求時に、要求されたアドレスと前記プリフェッチバッファに格納されているデータのアドレスとを比較し、必要に応じて前記フラグを無効な状態に変更することを特徴とする請求項5に記載のメモリ制御装置。
JP2002285577A 2002-09-30 2002-09-30 メモリ制御装置 Expired - Fee Related JP4208541B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2002285577A JP4208541B2 (ja) 2002-09-30 2002-09-30 メモリ制御装置
US10/670,299 US7149850B2 (en) 2002-09-30 2003-09-26 Memory control apparatus executing prefetch instruction
US11/585,210 US20070043910A1 (en) 2002-09-30 2006-10-24 Memory control apparatus executing prefetch instruction

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002285577A JP4208541B2 (ja) 2002-09-30 2002-09-30 メモリ制御装置

Publications (2)

Publication Number Publication Date
JP2004126645A JP2004126645A (ja) 2004-04-22
JP4208541B2 true JP4208541B2 (ja) 2009-01-14

Family

ID=32278843

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002285577A Expired - Fee Related JP4208541B2 (ja) 2002-09-30 2002-09-30 メモリ制御装置

Country Status (2)

Country Link
US (2) US7149850B2 (ja)
JP (1) JP4208541B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249223B2 (en) * 2004-08-11 2007-07-24 Freescale Semiconductor, Inc. Prefetching in a data processing system
US7716387B2 (en) * 2005-07-14 2010-05-11 Canon Kabushiki Kaisha Memory control apparatus and method
JP2007241612A (ja) * 2006-03-08 2007-09-20 Matsushita Electric Ind Co Ltd マルチマスタシステム
US7555609B2 (en) * 2006-10-27 2009-06-30 Via Technologies, Inc. Systems and method for improved data retrieval from memory on behalf of bus masters
US8627009B2 (en) * 2008-09-16 2014-01-07 Mosaid Technologies Incorporated Cache filtering method and apparatus

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0491463A2 (en) * 1990-11-30 1992-06-24 Matsushita Graphic Communication Systems, Inc. Data storage system
US5761452A (en) * 1996-03-18 1998-06-02 Advanced Micro Devices, Inc. Bus arbiter method and system
US6651088B1 (en) * 1999-07-20 2003-11-18 Hewlett-Packard Development Company, L.P. Method for reducing coherent misses in shared-memory multiprocessors utilizing lock-binding prefetchs
US6636927B1 (en) * 1999-09-24 2003-10-21 Adaptec, Inc. Bridge device for transferring data using master-specific prefetch sizes
US6523093B1 (en) * 2000-09-29 2003-02-18 Intel Corporation Prefetch buffer allocation and filtering system
US6587920B2 (en) * 2000-11-30 2003-07-01 Mosaid Technologies Incorporated Method and apparatus for reducing latency in a memory system
US6970978B1 (en) * 2002-04-03 2005-11-29 Advanced Micro Devices, Inc. System and method for providing a pre-fetch memory controller
US7065641B2 (en) * 2002-06-13 2006-06-20 Intel Corporation Weighted processor selection apparatus and method for use in multiprocessor systems

Also Published As

Publication number Publication date
US20040123021A1 (en) 2004-06-24
JP2004126645A (ja) 2004-04-22
US7149850B2 (en) 2006-12-12
US20070043910A1 (en) 2007-02-22

Similar Documents

Publication Publication Date Title
US6681302B2 (en) Page open hint in transactions
US9904489B2 (en) Processing systems, memory controllers and methods for controlling memory access operations
US7188217B2 (en) Embedded DRAM cache memory and method having reduced latency
US6629218B2 (en) Out of order associative queue in two clock domains
KR970010368B1 (ko) 캐시라인 리프레이스장치 및 방법
US20080126716A1 (en) Methods and Arrangements for Hybrid Data Storage
US7543114B2 (en) System and controller with reduced bus utilization time
EP1738267A2 (en) System and method for organizing data transfers with memory hub memory modules
US20050253858A1 (en) Memory control system and method in which prefetch buffers are assigned uniquely to multiple burst streams
US6247101B1 (en) Tagged access synchronous bus architecture
US5812816A (en) System and method for transferring data between memories of different types occupying a single real address space using a dedicated memory transfer bus
US20070043910A1 (en) Memory control apparatus executing prefetch instruction
US7406571B2 (en) Memory system and method for controlling the same, and method for maintaining data coherency
US8966166B2 (en) Information processing apparatus and information processing method
US20010002481A1 (en) Data access unit and method therefor
JP2003173291A (ja) メモリ制御装置
JP2006107245A (ja) メモリコントローラ
JP4220258B2 (ja) ノンキャッシュ領域内高速メモリアクセス方法
US6567898B1 (en) Memory controller and an information processing apparatus with improved efficiency
JP4856373B2 (ja) メモリ・システムとその制御方法、データ・コヒーレンシを保つ方法
JP2001229074A (ja) メモリ制御装置と情報処理装置及びメモリ制御チップ
JP2006107021A (ja) メモリコントローラ
JPH04280344A (ja) メモリ装置
EP0470737A1 (en) Cache memory operating method and structure
JPH0512121A (ja) データ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050930

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

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: 20080930

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: 20081021

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: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121031

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131031

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees