JP2006344139A - メモリコントローラ、情報処理システム及びリードアクセス方法 - Google Patents

メモリコントローラ、情報処理システム及びリードアクセス方法 Download PDF

Info

Publication number
JP2006344139A
JP2006344139A JP2005171073A JP2005171073A JP2006344139A JP 2006344139 A JP2006344139 A JP 2006344139A JP 2005171073 A JP2005171073 A JP 2005171073A JP 2005171073 A JP2005171073 A JP 2005171073A JP 2006344139 A JP2006344139 A JP 2006344139A
Authority
JP
Japan
Prior art keywords
data
read access
memory controller
read
column address
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
JP2005171073A
Other languages
English (en)
Other versions
JP4769936B2 (ja
Inventor
Jun Miyazaki
純 宮崎
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.)
Nara Institute of Science and Technology NUC
Original Assignee
Nara Institute of Science and Technology NUC
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 Nara Institute of Science and Technology NUC filed Critical Nara Institute of Science and Technology NUC
Priority to JP2005171073A priority Critical patent/JP4769936B2/ja
Priority to PCT/JP2006/311628 priority patent/WO2006132365A1/ja
Publication of JP2006344139A publication Critical patent/JP2006344139A/ja
Application granted granted Critical
Publication of JP4769936B2 publication Critical patent/JP4769936B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)

Abstract

【課題】メモリ装置のリードアクセスを高速化する。
【解決手段】メモリコントローラ(1A)は、リードアクセスに係る行に属する所定ビット長のデータのそれぞれについての読み出し要否を示す情報を受け、当該情報を格納する格納部(10)と、格納部(10)に格納された情報を参照し、読み出し要のデータの列アドレスを生成する列アドレス生成部(20)とを備えている。ここで、メモリコントローラ(1A)は、上記リードアクセスに係る行アドレス及び上記生成された列アドレスで指定されるデータの出力制御を行う。
【選択図】図1

Description

本発明は、メモリコントローラに関し、特に、メモリ装置の高速リードアクセス技術に関する。
DRAM(dynamic random access memory)は、低コストながらも大規模な記憶容量を実現するため、近年のコンピュータシステムにおける主記憶装置として広く用いられている。DRAMのデータ読み出しは、その構造上、行アドレス及び列アドレス、及びマルチバンク構成のDRAMにあってはさらにバンクアドレスを指定して行う。具体的には、バンクアドレス及び行アドレスで指定されたメモリセルアレイバンクにおける行をアクティブにし、このアクティブにされた行に含まれるデータの中から列アドレスで指定されたものを読み出す。そして、DRAMではいわゆる破壊読み出しが行われるため、データ読み出し後にプリチャージを行う必要がある。このため、DRAMのメモリアクセス速度は比較的遅いものとなっている。
CPU(central processing unit)の処理速度が比較的遅かった時代にはDRAMのメモリアクセス速度の遅さはさほど問題とはならなかった。しかし、近年、CPUの処理速度が飛躍的に向上するようになって、DRAMのメモリアクセス速度がCPUの処理速度に追いつかない、いわゆるメモリウォールが問題となっている。このため、DRAMのメモリアクセスをいかに高速化するかが重要な課題となっている。特に、主記憶データベースや大規模数値演算などのアプリケーションでは高速なリードアクセスが要求されるところである。
これまでの高速メモリアクセスの手法として、スタティックカラムモード、ニブルモード、バーストモード、ページモード、EDO(extended data out)などが知られている。また、メモリセルアレイにおける一の行に属するデータを固定ストライドで読み出す固定ストライド転送方式が提案されている(例えば、非特許文献1参照)。
Lixin Zhang et al., "The Impulse Memory Controller", IEEE Trans. Computers, 50(11):1117-1132, 2001
従来のメモリアクセス手法には次のような問題点がある。まず、(1)CPUの処理速度よりもメモリアクセス速度の方が遅いため、個々のデータへのアクセスのたびにCPUがデータ到着まで停止してしまうという点である。そして、(2)キャッシュライン指向のデータアクセスのため不連続なデータアクセスは効率が悪く、また、キャッシュラインを充足させるべく必要なデータに付随して不要なデータまでも読み出す必要があり、この不要なデータの読み出しのために時間が浪費されるという点である。さらに、(3)少量のデータを得るために大量の物理アドレスをメモリ装置に与える必要があり、アドレス指定に必要な情報量に比して読み出される情報量が少なく、データ読み出しが非効率であるという点である。
また、主記憶データベースなどのアプリケーションを考えた場合、メモリ装置に格納されたデータについて選択演算や結合演算などの単純な比較演算の結果に基づいて条件分岐処理を行うことが多い。すなわち、演算結果が重要なのであって、比較演算対象のデータ自体はさほど重要ではない場合が多い。このような場合にも、(4)メモリ装置から時間をかけてデータを読み出し、高速で高価なCPUで単純な演算を行うのは、バス資源及びCPU資源の無駄遣いである。
ベクトル計算機などのようにメモリモジュールを多重化すれば上記の諸問題は解決されようが、コスト増となるためあまり好ましくはない。そこで、上記問題に鑑み、本発明は、メモリモジュールの多重化などを行うことなく、メモリ装置のリードアクセスを高速化することを課題とする。
上記課題を解決するために本発明が講じた手段は、メモリコントローラとして、リードアクセスに係る行に属する所定ビット長のデータのそれぞれについての読み出し要否を示す情報を受け、当該情報を格納する格納部と、格納部に格納された情報を参照し、読み出し要のデータの列アドレスを生成する列アドレス生成部とを備え、メモリ装置に対して、上記のリードアクセスに係る行アドレス及び上記の生成された列アドレスで指定されるデータの出力制御を行うものとする。
この発明によると、メモリコントローラ内部で読み出し要のデータの列アドレスが生成されるため、データ読み出しの際に逐一メモリコントローラに大量の物理アドレスを指定する必要がなくなり、リードアクセスに係る入力データ量が削減される。また、リードアクセスに係る行における所望のデータのみが出力され、不要なデータの読み出しがなくなる。これにより、メモリ装置のリードアクセスが高速化される。
好ましくは、上記のメモリコントローラは、与えられた演算対象データと上記の指定されたデータとの間で指示された演算を行う演算部を備え、所定のコマンドが与えられたとき、演算部によって生成されたデータを出力するものとする。
この発明によると、演算部によって、メモリ装置に格納されたデータに対する演算が行われるため、本来的に当該演算を行うべきCPUなどの負荷が軽減される。
より好ましくは、演算部は、演算対象データと上記の指定されたデータとの間で指示された比較演算を行い、当該比較演算の結果に基づいて、上記のリードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するものとする。
この発明によると、読み出し要のデータ量が多い場合であっても、リードアクセスに係る出力データは固定長となるため、出力データ量が削減される。これにより、メモリ装置のリードアクセスが高速化される。
また、本発明が講じた手段は、情報処理システムとして、上記のメモリコントローラと、上記の情報を生成し、上記のメモリコントローラに、当該生成した情報及びリードアクセスに係る行アドレスを伴うリードリクエストコマンドを与える処理装置と、上記のメモリコントローラの出力制御により上記のメモリ装置から出力されたデータを取り込むFIFOとを備えたものとする。
この発明によると、FIFOにメモリ装置からのデータが取り込まれるため、処理装置はメモリ装置からのデータ出力のタイミングにかかわらず任意のタイミングでFIFOに取り込まれた所望のデータにアクセスすることができる。
好ましくは、上記のFIFOは、上記の処理装置内部に設けられているものとする。
また、本発明が講じた手段は、情報処理システムとして、上記のメモリコントローラと、上記の情報を生成し、上記のメモリコントローラに、当該生成した情報及びリードアクセスに係る行アドレスを伴う第1のリードリクエストコマンド、及びリードアクセスに係る行アドレス及び列アドレスを伴う第2のリードリクエストコマンドのいずれか一方を選択的に与える処理装置とを備えたものとする。そして、処理装置は、上記のリードアクセスに係る行における読み出し要のデータの粗密状態に応じて、第1及び第2のリードリクエストコマンドの選択を行うものとする。また、メモリコントローラは、処理装置から与えられた列アドレス及び上記の列アドレス生成部によって生成された列アドレスのいずれか一方を選択する列アドレスセレクタと、処理装置から与えられたコマンドに応じて、上記の列アドレスセレクタの選択動作を制御する制御部とをさらに有するものとする。
好ましくは、上記のメモリコントローラは、与えられた演算対象データと上記のメモリ装置から出力されたデータとの間で、上記の処理装置によって指示された演算を行う演算部と、演算部から出力されたデータ及び上記のメモリ装置から出力されたデータのいずれか一方を選択的に出力する出力セレクタとを有するものとする。また、上記の制御部は、上記の処理装置から与えられたコマンドに応じて、上記の出力セレクタの選択動作を制御するものとする。
より好ましくは、上記の処理装置は、上記の演算部に比較演算を指示するものとする。また、上記の演算部は、上記の演算対象データと上記のメモリ装置から出力されたデータとの間で上記の比較演算を行い、当該比較演算の結果に基づいて、上記のリードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するものとする。
一方、本発明が講じた手段は、メモリ装置のリードアクセス方法として、リードアクセスに係る行に属する所定ビット長のデータのそれぞれについての読み出し要否を示す情報を生成するステップと、上記生成された情報に基づいて、読み出し要のデータの列アドレスを生成するステップと、上記リードアクセスに係る行アドレス及び前記生成された列アドレスで指定されるデータを読み出すステップとを備えたものとする。
この発明によると、データ読み出しの際に逐一大量の物理アドレスを指定する必要がなくなり、リードアクセスに係る入力データ量が削減される。また、リードアクセスに係る行における所望のデータのみが出力され、不要なデータの読み出しがなくなる。これにより、メモリ装置のリードアクセスが高速化される。
好ましくは、上記のリードアクセス方法は、与えられた演算対象データと上記の指定されたデータとの間で指示された演算を行うステップと、上記のリードアクセスに係る出力データとして、上記の演算の結果を出力するステップとを備えたものとする。
この発明によると、メモリ装置に格納されたデータに対して演算が行われ、その演算の結果がリードアクセスに係る出力データとして出力されるため、本来的に当該演算を行うべきCPUなどの負荷が軽減される。
より好ましくは、上記の演算は、比較演算であり、上記のリードアクセス方法は、上記の演算の結果として、上記の比較演算の結果に基づいて、上記のリードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するステップを備えたものとする。
この発明によると、読み出し要のデータ量が多い場合であっても、リードアクセスに係る出力データは固定長となるため、出力データ量が削減される。これにより、メモリ装置のリードアクセスが高速化される。
以上のように本発明によると、メモリ装置からのデータ読み出しに関して、メモリコントローラに入力すべきデータ量及びメモリ装置から出力されるデータ量が削減される。これにより、特にメモリモジュールの多重化などを行うことなく、メモリ装置のリードアクセスが高速化される。
以下、本発明を実施するための最良の形態について、図面を参照しながら説明する。
(第1の実施形態)
図1は、本発明の第1の実施形態に係るメモリコントローラ及び一般的なDRAMからなるメモリシステムの構成の一部を示す。本実施形態に係るメモリコントローラ1Aは、格納部10、列アドレス生成部20、列アドレスセレクタ30、制御部40を備えている。なお、図1はリードアクセスの説明に必要となる構成要素のみを示している。
格納部10は、リードアクセスに係る行に属する所定ビット長のデータのそれぞれの読み出し要否を示す情報であるビットマップBMinを受け、これを格納する。ビットマップBMinは、メモリセルアレイ110における一の行に属する所定ビット長のデータのそれぞれについて、読み出し要のものについてはビット“1”で、読み出し不要のものについてはビット“0”で表すようにするとよい。例えば、32ビットワード単位でデータ読み出しを行う場合、上記の所定ビット長は“32”であり、メモリセルアレイ110における一の行に4kバイト(=1024ワード)のデータが含まれるとすると、ビットマップBMinの情報量は1kビット(=32ワード)となる。
列アドレス生成部20は、格納部10に格納されたビットマップBMinを参照し、読み出し要のデータの列アドレスを生成する。具体的には、列アドレス生成部20は、ビットマップBMin中のビット“1”に対応するデータ(ワード)の列アドレスを生成する。
列アドレスセレクタ30は、図示しないCPUなどから与えられたアドレスADDR中の列アドレス、及び列アドレス生成部20によって生成された列アドレスのいずれか一方を選択し、この選択した列アドレスRを列アドレスバッファ120に与える。なお、アドレスADDR中の行アドレスCは行アドレスバッファ130に与えられ、列アドレスバッファ120及び行アドレスバッファ130にそれぞれ格納された列アドレス及び行アドレスは列デコーダ140及び行デコーダ150によってそれぞれデコードされ、所望のデータがセンスアンプ160によって増幅され、出力バッファ170からデータDoutとしてCPUなどに出力される。
制御部40は、列アドレス生成部20及び列アドレスセレクタ30を制御する。具体的には、制御部40は、CPUによって発行されたリードリクエストコマンドCMDがビットマップBMinによって指示されたデータを要求する命令であったとき、列アドレス生成部20に対して列アドレス生成を指示するとともに、列アドレスセレクタ30に対して列アドレス生成部20によって生成された列アドレスを選択するように指示する。なお、制御部40は、通常のリードリクエストコマンドを受けたときは、列アドレスセレクタ30に対してアドレスADDR中の列アドレスを選択するように指示する。
次に、本発明に係るリードアクセス(以下、「ビットマップアクセス」という。)について図2のタイミングチャートを参照して説明する。まず、行アドレスRに対応する行がアクティブにされた後、列アドレス生成部20によって生成された列アドレスCa,Cb,Cc,Cd,Cd,Cd,CfがクロックCLKに同期して順に指定される。そして、これら列アドレスCa〜Cfに対応するデータDa,Db,Dc,Dd,De,DfがクロックCLKに同期して順に読み出される。このように、ビットマップアクセスでは列アドレスCa〜Cfはメモリコントローラ内部で生成されており、この点が従来のページモードによるメモリアクセスとは異なる。すなわち、ページモードでは、個々の列アドレスを指定するためにCPUからメモリコントローラにその都度列アドレスを与えるのに対して、ビットマップアクセスでは、メモリコントローラに行アドレス及びビットマップを一旦与えれば後はメモリコントローラが列アドレスを生成し、それを受けたDRAMが能動的に所望のデータを読み出してCPUに出力する。
図3は、ビットマップアクセスを実現する上で好ましい情報処理システムの構成を示す。図3に示した情報処理システムは、本実施形態に係るメモリコントローラ1A及び処理装置としてのCPU2を備えている。
CPU2は、ビットマップアクセスを行う場合、ビットマップアクセス用のリードリクエストコマンドを発行するとともにメモリコントローラ1Aにリードアクセスに係る行アドレス及びビットマップを与える。通常、CPUにはキャッシュメモリが内蔵されており、キャッシュライン指向のリードアクセスが可能となっているが、CPU2は、さらに、メモリ装置100から出力されたデータを一時的に格納するためのFIFO(first-in first-out)3を備えている。FIFO3を備える理由は、ビットマップアクセスでは非連続データが読み出されることがあり、データの連続性を前提としたキャッシュメモリは適さないからである。FIFO3を備えることにより、CPU2は、キャッシュラインが充足されたか否かにかかわらず、メモリ装置100から読み出されたデータDoutを任意のタイミングで取り込むことができる。
なお、実際のCPUにおいてNウェイ構成となっているキャッシュメモリの一部をFIFOとして用いることにより、回路構成を大幅に変更することなく、また、回路規模を特に増大させることなくCPU内部にFIFOを実現することができる。また、特にFIFOを備えなくとも、ビットマップアクセスによって得られたデータに非連続性を示すビットを挿入するなどしてデータの非連続点を明確にすることでキャッシュメモリにより処理をすることも可能である。
ところで、ビットマップアクセスは、メモリ装置の非連続データの読み出し高速化という効果を奏するが、リードリクエストの際に比較的サイズの大きいビットマップをメモリ装置に与える点で、通常のメモリアクセスよりもオーバーヘッドが大きくなる。このため、メモリセルアレイにおける一の行に属するデータを数個程度読み出す場合には、ビットマップアクセスよりも通常のメモリアクセスの方が高速である。
図4は、通常アクセス及びビットマップアクセス(BMA)に係る所要時間を比較したグラフである。横軸pは、メモリセルアレイにおける一の行に属するデータ総数に対する読み出し要求に係るデータ総数の割合を示し、縦軸Tは、CPUの所要サイクル数を示す。上述したようにビットマップアクセスはオーバーヘッドが大きいため、pがゼロ近傍では通常アクセスよりも所要時間が大きくなる。しかし、リードリクエストコマンドの発行が1回で済むため、所要時間はpの増加に対して線形に増加する。一方、通常アクセスは、pがゼロ近傍ではビットマップアクセスよりも所要時間は少ないものの、読み出し要求に係るデータ量が増加するにつれCPUからのリードリクエスト数もまた増加する。したがって、所要時間はpの増加に対して急激に増加し、ある分岐点を越えるとビットマップアクセスよりも所要時間が大きくなる。そこで、リードアクセスの所要時間を最小化するためにも、図3において、CPU2は、リードアクセスに係る行における読み出し要のデータの粗密状態に応じて、リードリクエストコマンドを切り替えることが好ましい。具体的には、CPU2は、通常アクセスが有利と判断した場合には通常のリードリクエストコマンドを発行し、ビットマップアクセスが有利と判断した場合にはビットマップアクセスに係るリードリクエストコマンドを発行する。
なお、上記の分岐点は情報処理システムの構成によって異なるが、キャッシュ容量やビットマップ転送速度などから一意に特定することができる。また、読み出し要のデータが固定ストライドでアクセス可能である場合には、上述の固定ストライド転送方式によるリードアクセスを選択するようにしてもよい。
(第2の実施形態)
図5は、本発明の第2の実施形態に係るメモリコントローラ及び一般的なDRAMからなるメモリシステムの構成の一部を示す。本実施形態に係るメモリシステム1Bは、図1のメモリコントローラ1Aに、さらに、演算部50及び出力セレクタ60を追加した構成となっている。なお、図5において図1と同じ構成要素については同じ符号を付している。
演算部50は、図示しないCPUなどから与えられた演算対象データDopと、出力バッファ170から出力されたデータDoutとの間で、CPUなどから指示された演算子θで演算を行い、その演算結果としてのデータDout2を出力する。なお、演算部50で行う演算は、算術演算(例えば、加算、減算、除算、及び乗算など。)、論理演算(例えば、論理和、論理積、及び排他的論理和など。)、及び比較演算(例えば、“=”、“<”、“>”、“≦”、“≧”、“≠”など。)などのいずれであってもよい。
出力セレクタ60は、データDout及びデータDout2のいずれか一方を選択し、データDTとしてCPUなどに出力する。出力セレクタ60の選択動作は制御部40によって制御される。具体的には、制御部40は、ビットマップアクセスの場合には出力セレクタ60に対してデータDout2を選択するように指示する一方、通常のリードアクセスの場合にはデータDoutを選択するように指示する。
主記憶データベースなどにおける条件分岐処理を考えた場合、メモリ装置に格納されたデータ自体はさほど重要ではなく、比較演算の結果が得られればよいことが多い。そこで、特に、演算部50によって比較演算を行う場合について考える。この場合、演算部50は、演算対象データDopとデータDoutとを比較し、この比較の結果に基づいて、リードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報であるビットマップ(以下、ビットマップBMinと区別するために「ビットマップBMout」という。)を生成する。かかる演算部50はコンパレータアレイで実現することができる。データDoutが所定の条件を満たしているか否かは、演算対象データDop及びデータDoutについて、演算子θで比較演算を行った結果として与えられる。例えば、演算子θとして“=”が指定された場合、演算対象データDopとデータDoutとが等しければビットマップBMout中の当該データDoutに対応するビットが例えば“1”となり、等しくなければ“0”となる。
ビットマップBMoutは、リードアクセスに係る行に属する所定ビット長のデータのそれぞれについて所定の条件が満たされているか否かを示すため、その情報量はビットマップBMinと同じである。例えば、32ビットワード単位でデータ読み出しを行う場合、上記の所定ビット長は“32”であり、メモリセルアレイ110における一の行に4kバイト(=1024ワード)のデータが含まれるとすると、ビットマップBMoutの情報量はビットマップBMinと同じ1kビット(=32ワード)となる。すなわち、ビットマップBMoutは、読み出し要のデータが多い場合でもその情報量は一定であり、出力データ量が削減される。
以上、本実施形態によると、メモリ装置に格納されたデータに対する算術演算、論理演算、比較演算などの比較的単純な演算がメモリコントローラによって行われるため、CPUはこれら単純な演算を行う必要がなくなり、その分、他の処理に時間を割り当てることができる。特に、メモリコントローラによって比較演算を行い、ビットマップBMoutを出力することによって、比較演算の結果のみがCPUに伝達される。これにより、メモリ装置からCPUに比較演算のためだけに必要とされるデータが送られることがなくなり、その分、他のデータ転送にバス資源を充てることができる。すなわち、システム全体としてのパフォーマンスが向上する。
図6は、本実施形態に係るメモリコントローラを備えた情報処理システムの構成を示す。図6の情報処理システムでは、FIFO3はメモリコントローラ1Bの内部に設けられている。このように、FIFO3は必ずしもCPU2の内部に設けなくてもよい。なお、CPU2は、FIFO3からデータをDTを受けるようにしてもよいし、また、従来と同様にキャッシュラインにデータを取り込むようにしてもよい。
以上、本発明の実施の形態についてDRAMのメモリコントローラを例に説明したが、本発明はこれに限定されるものではない。すなわち、本発明に係るメモリコントローラ及びリードアクセス方法は、DRAMを代表とする半導体メモリ装置のみならず、磁気抵抗メモリ装置(MRAM)や強誘電体メモリ装置(FeRAM)などのおよそセルアレイ構造を有するメモリ装置一般に適用可能である。
本発明に係るメモリコントローラ及び情報処理システムは、高速なリードアクセスが可能なため、主記憶データベース、大規模数値演算、ストリームデータ処理などの応用分野に有用である。
第1の実施形態に係るメモリコントローラを備えたメモリシステムの構成図である。 図1のメモリコントローラによるリードアクセスに係るタイミングチャートである。 図1のメモリコントローラを備えた情報処理システムの構成図である。 通常アクセス及びビットマップアクセスに係る所要時間を比較したグラフである。 第2の実施形態に係るメモリコントローラを備えたメモリシステムの構成図である。 図4のメモリコントローラを備えた情報処理システムの構成図である。
符号の説明
1A,1B メモリコントローラ
2 CPU(処理装置)
3 FIFO
10 格納部
20 列アドレス生成部
30 列アドレスセレクタ
40 制御部
50 演算部
60 出力セレクタ

Claims (11)

  1. リードアクセスに係る行に属する所定ビット長のデータのそれぞれについての読み出し要否を示す情報を受け、当該情報を格納する格納部と、
    前記格納部に格納された情報を参照し、読み出し要のデータの列アドレスを生成する列アドレス生成部とを備え、
    メモリ装置に対して、前記リードアクセスに係る行アドレス及び前記生成された列アドレスで指定されるデータの出力制御を行う
    ことを特徴とするメモリコントローラ。
  2. 請求項1に記載のメモリコントローラにおいて、
    与えられた演算対象データと前記指定されたデータとの間で指示された演算を行う演算部を備え、
    所定のコマンドが与えられたとき、前記演算部によって生成されたデータを出力する
    ことを特徴とするメモリコントローラ。
  3. 請求項2に記載のメモリコントローラにおいて、
    前記演算部は、前記演算対象データと前記指定されたデータとの間で指示された比較演算を行い、当該比較演算の結果に基づいて、前記リードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するものである
    ことを特徴とするメモリコントローラ。
  4. 請求項1に記載のメモリコントローラと、
    前記情報を生成し、前記メモリコントローラに、当該生成した情報及びリードアクセスに係る行アドレスを伴うリードリクエストコマンドを与える処理装置と、
    前記メモリコントローラの出力制御により前記メモリ装置から出力されたデータを取り込むFIFOとを備えた
    ことを特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムにおいて、
    前記FIFOは、前記処理装置内部に設けられている
    ことを特徴とする情報処理システム。
  6. 請求項1に記載のメモリコントローラと、
    前記情報を生成し、前記メモリコントローラに、当該生成した情報及びリードアクセスに係る行アドレスを伴う第1のリードリクエストコマンド、及びリードアクセスに係る行アドレス及び列アドレスを伴う第2のリードリクエストコマンドのいずれか一方を選択的に与える処理装置とを備え、
    前記処理装置は、前記リードアクセスに係る行における読み出し要のデータの粗密状態に応じて、前記第1及び第2のリードリクエストコマンドの選択を行うものであり、
    前記メモリコントローラは、
    前記処理装置から与えられた列アドレス及び前記列アドレス生成部によって生成された列アドレスのいずれか一方を選択する列アドレスセレクタと、
    前記処理装置から与えられたコマンドに応じて、前記列アドレスセレクタの選択動作を制御する制御部とを有するものである
    ことを特徴とする情報処理システム。
  7. 請求項6に記載の情報システムにおいて、
    前記メモリコントローラは、
    与えられた演算対象データと前記メモリ装置から出力されたデータとの間で、前記処理装置によって指示された演算を行う演算部と、
    前記演算部から出力されたデータ及び前記メモリ装置から出力されたデータのいずれか一方を選択的に出力する出力セレクタとを有するものであり、
    前記制御部は、前記処理装置から与えられたコマンドに応じて、前記出力セレクタの選択動作を制御するものである
    ことを特徴とする情報処理システム。
  8. 請求項7に記載の情報システムにおいて、
    前記処理装置は、前記演算部に比較演算を指示するものであり、
    前記演算部は、前記演算対象データと前記メモリ装置から出力されたデータとの間で前記比較演算を行い、当該比較演算の結果に基づいて、前記リードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するものである
    ことを特徴とする情報処理システム。
  9. リードアクセスに係る行に属する所定ビット長のデータのそれぞれについての読み出し要否を示す情報を生成するステップと、
    前記生成された情報に基づいて、読み出し要のデータの列アドレスを生成するステップと、
    前記リードアクセスに係る行アドレス及び前記生成された列アドレスで指定されるデータを読み出すステップとを備えた
    ことを特徴とするメモリ装置のリードアクセス方法。
  10. 請求項9に記載のリードアクセス方法において、
    与えられた演算対象データと前記指定されたデータとの間で指示された演算を行うステップと、
    前記リードアクセスに係る出力データとして、前記演算の結果を出力するステップとを備えた
    ことを特徴とするリードアクセス方法。
  11. 請求項10に記載のリードアクセス方法において、
    前記演算は、比較演算であり、
    当該リードアクセス方法は、
    前記演算の結果として、前記比較演算の結果に基づいて、前記リードアクセスに係る行に属する所定ビット長のデータのそれぞれが所定の条件を満たしているか否かを示す情報を生成するステップを備えた
    ことを特徴とするリードアクセス方法。
JP2005171073A 2005-06-10 2005-06-10 メモリコントローラを備えた情報処理システム Active JP4769936B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005171073A JP4769936B2 (ja) 2005-06-10 2005-06-10 メモリコントローラを備えた情報処理システム
PCT/JP2006/311628 WO2006132365A1 (ja) 2005-06-10 2006-06-09 メモリコントローラ、情報処理システム及びリードアクセス方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005171073A JP4769936B2 (ja) 2005-06-10 2005-06-10 メモリコントローラを備えた情報処理システム

Publications (2)

Publication Number Publication Date
JP2006344139A true JP2006344139A (ja) 2006-12-21
JP4769936B2 JP4769936B2 (ja) 2011-09-07

Family

ID=37498559

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005171073A Active JP4769936B2 (ja) 2005-06-10 2005-06-10 メモリコントローラを備えた情報処理システム

Country Status (2)

Country Link
JP (1) JP4769936B2 (ja)
WO (1) WO2006132365A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192154A (ja) * 1982-05-07 1983-11-09 Casio Comput Co Ltd 自動デ−タ処理機能を有するメモリ装置
JPH02133854A (ja) * 1988-11-14 1990-05-23 Nec Corp 転送可否メモリにアクセス可能なdmaコントローラ
JPH09306179A (ja) * 1996-05-15 1997-11-28 Kokusai Electric Co Ltd 連想メモリ
WO2005024561A2 (en) * 2003-08-28 2005-03-17 Micron Technology, Inc. Memory module and method having on-board data search capabilites and processor-based system using such memory modules

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63144496A (ja) * 1986-12-05 1988-06-16 Fujitsu Ltd 記憶装置の書込み制御方式
JPH06332851A (ja) * 1993-05-25 1994-12-02 Hitachi Ltd データ転送方式
JP2003316726A (ja) * 2002-04-25 2003-11-07 Nanao Corp データ転送方法およびその装置、並びにそれに用いられる画像表示装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58192154A (ja) * 1982-05-07 1983-11-09 Casio Comput Co Ltd 自動デ−タ処理機能を有するメモリ装置
JPH02133854A (ja) * 1988-11-14 1990-05-23 Nec Corp 転送可否メモリにアクセス可能なdmaコントローラ
JPH09306179A (ja) * 1996-05-15 1997-11-28 Kokusai Electric Co Ltd 連想メモリ
WO2005024561A2 (en) * 2003-08-28 2005-03-17 Micron Technology, Inc. Memory module and method having on-board data search capabilites and processor-based system using such memory modules

Also Published As

Publication number Publication date
JP4769936B2 (ja) 2011-09-07
WO2006132365A1 (ja) 2006-12-14

Similar Documents

Publication Publication Date Title
US10860326B2 (en) Multi-threaded instruction buffer design
US7707328B2 (en) Memory access control circuit
US7707384B1 (en) System and method for re-ordering memory references for access to memory
JP2005535038A (ja) 内部ロウキャッシングを有するメモリハブおよびアクセス方法。
US6128244A (en) Method and apparatus for accessing one of a plurality of memory units within an electronic memory device
JPWO2006051780A1 (ja) 不揮発性メモリ装置および不揮発性メモリ装置のアクセス方法
US11721373B2 (en) Shared multi-port memory from single port
JP2024038365A (ja) メモリコントローラおよびメモリコントローラで実施される方法
US8688947B1 (en) Aligned data access
JP2010146084A (ja) キャッシュメモリ制御部を備えるデータ処理装置
KR101645003B1 (ko) 메모리 제어기 및 그 메모리 제어기가 탑재된 컴퓨팅 장치
JP4769936B2 (ja) メモリコントローラを備えた情報処理システム
CN114116533B (zh) 利用共享存储器存储数据的方法
US7075546B2 (en) Intelligent wait methodology
US20050038961A1 (en) Cache and memory architecture for fast program space access
US7664919B2 (en) Cache system
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
JP4969811B2 (ja) 情報処理システム及びメモリ制御装置
KR100334298B1 (ko) 기억 소자
JP2008269348A (ja) メモリ制御装置およびメモリ制御方法
JP7346883B2 (ja) ベクトルプロセッサ装置及び生成方法
JP2010061498A (ja) メモリ制御装置、半導体試験装置およびメモリ制御方法
JP5035608B2 (ja) データ読み出し装置
JP5393626B2 (ja) 情報処理装置
JP2003177960A (ja) 演算装置及び記憶装置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20050613

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050613

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110425

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110524

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150