JP5351145B2 - メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 - Google Patents

メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 Download PDF

Info

Publication number
JP5351145B2
JP5351145B2 JP2010509073A JP2010509073A JP5351145B2 JP 5351145 B2 JP5351145 B2 JP 5351145B2 JP 2010509073 A JP2010509073 A JP 2010509073A JP 2010509073 A JP2010509073 A JP 2010509073A JP 5351145 B2 JP5351145 B2 JP 5351145B2
Authority
JP
Japan
Prior art keywords
access
command
data
memory
group
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
JP2010509073A
Other languages
English (en)
Other versions
JPWO2009130888A1 (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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP2010509073A priority Critical patent/JP5351145B2/ja
Publication of JPWO2009130888A1 publication Critical patent/JPWO2009130888A1/ja
Application granted granted Critical
Publication of JP5351145B2 publication Critical patent/JP5351145B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1642Handling requests for interconnection or transfer for access to memory bus based on arbitration with request queuing
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4441Reducing the execution time required by the program code
    • G06F8/4442Reducing the number of cache misses; Data prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6022Using a prefetch buffer or dedicated prefetch cache

Landscapes

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

Description

本発明は、画像処理システムにおいて、データ転送を効率的に行うメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法に関するものである。
一般に、民生向けの画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるDRAMが用いられる。特に、近年の画像処理装置は、MPEG2やH.264等のHD(High Definition)画像処理への対応や、同時複数チャンネル処理、高画質な3Dグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力を有するDRAMを必要としている。その高いデータ転送能力を実現するためには、(1)バスの動作周波数を上げる方法、(2)メモリのバス幅を広くとる方法、またはこれらの方法(1)、(2)を併用する方法などが知られている。
一方、DRAMはアクセスを行う際、事前にアクセスするバンク・ロウを指定して、アクティベート処理を行う必要がある。また、同一バンクにおいて、アクセスするロウを変更する場合は、一旦アクセスしていたロウをプリチャージ処理し、新たにアクセスするロウに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一バンク内で、ロウを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常DRAMアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、DRAMとのデータバス上で常時データ転送を可能とする、バンクインタリーブと呼ばれる制御が行われる。このバンクインタリーブを有効に機能させるためには、同一バンクへの連続データ転送時間を長くし、あるバンクの前記アクセス不可期間を、該当バンク以外へのデータ転送で隠蔽する必要がある。
このアクセス不可期間による非効率転送問題に対する従来の手法として、特許文献1に記載のものがある。この手法では、カウンタ0、1の信号を元に、メモリA、Bを特定のタイミングで交互に時分割アクセスすることにより、単一メモリで発生するアクセス不可期間を、他方のメモリのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。しかし、前記従来技術では、複数のメモリを利用しているにも関わらず、同時にアクセスできるメモリは1つであるため、システムが使用できる最大メモリ帯域は、1つのメモリが持つメモリ帯域に限定される。
図1Aは、従来技術におけるDRAMの種類、動作周波数およびバースト長を示す図である。同図は、4つの種類のDRAM、すなわち、SDR(Single Data Rate) SDRAM(Synchronous DRAM)、DDR(Double Data Rate) SDRAM、DDR2 SDRAM、DDR3 SDRAMに関する(以下、SDR、DDR、DDR2、DDR3と略す)。この4つのDRAMそれぞれの内部バス動作周波数とデータバス動作周波数とが図示してある。なお、データバスは32ビット、64ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために1ビットに対応する部分のみを示している。
SDRは、メモリコアとI/Oバッファとを含む。メモリコアは1個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの1ビットのデータをI/Oバッファを介してデータバスに入出力する。SDRの内部バス動作周波数(133MHz)は外部データバス動作周波数(133MHz)と同じである。
DDR、DDR2、DDR3の各メモリコアは、SDRのメモリコアとほぼ同じである。
内部バスの動作周波数の上限はメモリコアの動作周波数の上限により定まる。すなわち、メモリセルとして用いられるキャパシタが応答可能な上限の周波数は約200MHzと考えられ、メモリコアの動作周波数も約200MHzを超えることができない。これに対してメモリをアクセスするマスタは年々高速化している。DDR、DDR2、DDR3では、DRAMを高速化する手法としてI/Oバッファとメモリコアとの間では複数ビットのデータをパラレルに入出力させ、I/Oバッファとデータバスとの間ではシリアルにデータを入出力させる手法が取られている。
DDRのI/Oバッファは、メモリコアとの間では2ビットのデータを133MHzの動作周波数でパラレルに入出力し、データバスとの間では実質的に2倍の周波数266MHzでシリアルにデータを入出力する。DDRにおける最小のバースト長(基本バースト長とも呼ばれる。)は2になる。
DDR2のI/Oバッファは、メモリコアとの間では4ビットのデータを133MHzの動作周波数でパラレルに入出力し、データバスとの間では実質的に4倍の周波数533MHzでシリアルにデータを入出力する。DDR2における最小のバースト長は4になる。
DDR3のI/Oバッファは、メモリコアとの間では8ビットのデータを133MHzの動作周波数でパラレルに入出力し、データバスとの間では実質的に8倍の周波数1066MHzでシリアルにデータを入出力する。DDR3における最小のバースト長は8になる。ただし、DDR3には、DDR2との互換性を維持するために、I/Oバッファに保持された8ビットのうちの後半4ビットを破棄することによって、バースト長4をサポートする機能(バーストチョップ機能)がある。
このようにSDRAMは、内部バスの動作周波数の高速化が困難であることをカバーするために、I/Oバッファを複数ビット化することによって外部のデータバスの動作周波数の高速化つまりメモリ帯域の拡大を実現している。
図1Bは一般的なDRAMにおいてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のバンクにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長(SDRAMでは1、DDRでは2、DDR2では4、DDR3では8など)×バス幅で表されるNバイトのデータ(以後、基本アクセス単位と呼ぶ)に続いて第2のバンクにある前記基本アクセス単位で構成されるデータを配置する。以後同様に第Mのバンクにある同一ロウアドレスで連続したデータを配置する。こうすることでメモリアクセスする場合、複数のバンクが均一に出現することになるため、バンクインタリーブを効率よく実施することができる。図1Bでは一例としてバンク数が2である場合を示している。なお、一般的なDRAMにおいては前記基本となるバースト長以下の転送はできない(1度アクセス要求すると必ず基本となるバースト長×バス幅のデータの入出力が発生する)ため基本アクセス単位と最小アクセス単位とは同一となる。
図2は図1Bのように配置したデータ列に対して不要なデータへのアクセスが発生する場合の一例を示している。アクセス要求されているデータ領域(以後、アクセス要求領域と呼ぶ)が図2のように基本アクセス単位の途中からNバイトを要求された場合、最小アクセス単位は基本アクセス単位と同一であるために、アクセス要求領域を含む全ての基本アクセス単位に対してデータ要求が必要となり、結果的に図2に示すような2Nバイト(以後、アクセス必要領域と呼ぶ)のアクセスを行う必要がある。結果的にアクセス必要領域2Nバイトに対してアクセス要求領域はNバイトしかないためにその差であるNバイト分は不要なデータとなり、データ転送効率が低下してしまう。
特開平9−190376号公報
しかしながら、より高度な画像圧縮技術であるMPEG4やH.264などにおいては、従来の画像圧縮技術に対して、より高精彩な画質を保ちつつ低ビットレート、高圧縮率を実現するため、デコード処理単位を4×4や8×8のように小さい画素単位で行うことが多くなっている。このような小さな画素をデコード処理するためには、より小さな画素データをメモリから取ってくる必要があるが、より高いデータ転送能力を実現するにあたって仮にメモリのバス幅を広くする方法を行うと、一度に取ってくるデータ量が多くなるため不要なデータへのアクセスが多くなってしまい、データ転送効率が低下してしまう。また、動作周波数を上げる方法を行っても、例えばDDR2の動作周波数帯域からDDR3の動作周波数帯域まで向上させると、システムの最大帯域は向上する半面、1コマンド単位の最小バースト長が増加し、1アクセスにおける最小データ量が増加するため、結果として不要なデータへのアクセスが増加し、同様にデータ転送効率が低下してしまう。
ただし、通常のDRAMでは1回のアクセスに対してはバス幅×基本バースト長分のデータ転送を1つのバンクに対して行うが、より改良されたDRAMでは、DRAM内部にあるバンクを複数のグループ(例えばグループA、B)に分かれており、あるグループ(例えばグループA)との転送を半分行った後であれば、その異なるグループ(例えばグループB)への転送を差し挟むことができ、本来の半分のバースト長でのアクセスを実現できる。例えば、基本となるバースト長が8、バンク数が8である改良DRAMでは、4バンクずつ2つのグループA、Bとに分けられ、まずグループAのバンク0へ4バーストのデータ転送を行った後に、グループBのバンク0(あるいは1,2,3)へ4バーストのデータ転送を行うことができる。その後も、グループAのバンク0(あるいは1,2,3)へのデータ転送を行うなど、基本となるバースト長より短い転送を行うことができる。しかし、このような改良DRAMを有効に活用するためには、従来同様にバンクのみを考慮した制御ではデータ転送効率はほとんど向上せず、また単純にグループを考慮した制御でも、同一グループへの転送が連続するケースもあり、データ転送効率が悪くなる。
本発明は、前記従来の課題を解決するもので、複数グループに分かれたバンクをもつ改良DRAMを使用した、データ転送の効率化を実現するメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法を提供することを目的とする。
上記課題を解決するために本発明のメモリ制御装置は、複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、N(Nは2以上の整数)ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Nでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部とを備え、前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する2つのバンクに跨って連続する場合に第1アクセスコマンドと第2アクセスコマンドを含む前記複数のアクセスコマンドを生成し、前記第1アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドであり、前記第2アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第1アクセスコマンドと共用して、前記第2のグループに属するバンクへのアクセスを指示するコマンドである。
この構成によれば、異なるグループに属する2つのバンク間で共用可能なプリフェッチバッファを有する改良されたメモリを使用し、本来の基本バースト長の半分のバースト長のアクセスをペアにすることによって、データ転送の効率を向上させることができる。
ここで、前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、前記コマンド生成部は、さらに、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、1つのメモリに属し、かつ、異なるグループに属する2つのバンクに跨って連続する場合に、前記第1アクセスコマンドと前記第2アクセスコマンドと含む前記複数のアクセスコマンドを生成するようにしてもよい。
この構成によれば、マスタからのコマンドをメモリごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。
ここで、前記画像データの行方向に連続するS(Sは2以上の整数)個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。
この構成によれば、データブロックの境界と同数のペア(第1および第2アクセスコマンド)を生成することができる。
ここで、前記データブロックは、前記バースト長Nでバーストアクセスされるデータの半分のサイズであってもよい。
この構成によれば、ペアでないアクセスコマンドを排除し、ペア(第1および第2アクセスコマンド)のみを生成することができ、実質的にバースト長N/2のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
ここで、前記データブロックは最小アクセス単位であってもよい。
この構成によれば、ペアでないアクセスコマンドを排除し、ペア(第1および第2アクセスコマンド)のみを生成することができ、実質的にバースト長N/2のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
ここで、列方向に隣接するM(Mは2以上の整数)個の前記データブロックは、同じグループに属し、当該M個のデータブロックと列方向に隣接する他のM個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。
この構成によれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する2つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。
ここで、前記第2のアクセスコマンドによりアクセスされる行は、前記第1のアクセスコマンドによりアクセスされる行から列方向にMライン目の行であってもよい。ここで、前記Mは2であってもよい。
この構成によれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。
また、本発明のメモリシステムは、画像データを記憶しバースト長N(Nは2以上の整数)でバーストアクセスされるメモリと、上記のメモリ制御装置とを有するメモリシステムであって、前記メモリは、複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、Nビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの1つからNビットのデータをプリフェッチする第1動作モードと、異なるグループに属するバンクからN/2ビットずつデータをプリフェッチする第2動作モードとを有する。
また、本発明のメモリ制御方法は、複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、N(Nは2以上の整数)ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Nでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップとを有し、前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する2つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第1アクセスコマンドと前記第2アクセスコマンドを生成し、前記第1アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドであり、前記第2アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第1アクセスコマンドと共用して、前記第2のグループに属するバンクへのアクセスを指示するコマンドである。
このように本発明のメモリ制御方法によれば、マスタからのメモリアクセス要求を受け取りメモリへのアクセスコマンドを生成するコマンド生成部と、前記コマンド生成部においてメモリ内にある複数のグループで構成されたバンクがどのグループに属するかを判定するグループ判定部と、前記コマンド生成部において生成されたメモリコマンドをメモリへ発行するコマンド発行部と、前記コマンド発行部において発行されたコマンド順序からデータの転送を行うデータ制御部とを有し、複数のグループに対するアクセスを並列に行う。
本構成によって、必要なデータを比較的均等に異なるグループへ配置し、小さな画素データへのアクセス時には、本来の基本となるバースト長の半分のアクセスでグループを切り替えることで、データ転送の効率化を行うことができる。
本発明のメモリ制御装置および方法においては、システム全体としてより高い帯域が必要なために、より高いデータ転送能力を持つDRAMを使用する場合において、バンクが複数グループに分かれている改良DRAMを使用し、必要なデータが比較的均等に異なるグループに配置し、さらにグループを切り替えながらアクセスすることで、小さい画素単位の処理を行うH.264等の画像処理技術をより少ないデータ転送能力で実現することができる。これにより、さらにより高性能なメモリモジュールを使用しなくてもデータ転送効率の高いシステムを実現することができる。
図1Aは従来技術におけるDRAMの種類、動作周波数およびバースト長を示す図である。 図1Bは従来技術におけるDRAMにおいてバンクインタリーブに適してデータ配置を示す図である。 図2は図1Bのデータ配置において不要なデータへのアクセスが発生する一例を示す図である。 図3Aは本発明の実施の形態1におけるメモリに含まれる改良DRAMの構成例を示すブロック図である。 図3Bは本発明の実施の形態1におけるメモリデータ配置例を示す図である。 図4は前記図2と同一のアクセス要求が前記図3Bのデータ配置で起こった場合のアクセス必要領域を示している。 図5Aは本発明の実施の形態1におけるメモリ制御装置の構成を示すブロック図である。 図5Bは本発明の実施の形態1におけるメモリアクセス制御方法を示すフローチャートである。 図6は従来技術におけるメモリ制御方法でのタイミングチャート例を示す図である。 図7は本発明の実施の形態1におけるメモリ制御方法でのタイミングチャート例を示す図である。 図8は本発明の実施の形態1におけるメモリ制御方法でのフレームバッファ構成を示す図である。 図9は本発明の実施の形態1におけるメモリ制御方法での画像アクセス方法を示す図である。 図10は本発明の実施の形態1におけるメモリ制御方法のフレームバッファ構成例を示す図である。 図11は本発明の実施の形態1におけるメモリ制御方法での画像アクセス方法を示す図である。 図12は本発明の実施の形態1におけるメモリ制御方法での画像アクセス方法を示す図である。 図13は本発明の実施の形態2におけるメモリ制御装置の構成を示すブロック図である。 図14は本発明の実施の形態2におけるメモリ制御方法のフローチャート図である。 図15は本発明の実施の形態2におけるフレームバッファ構成例を示す図である。 図16は本発明の実施の形態2における画像アクセス時のタイミングチャート例を示す図である。 図17は本発明を適用するためのシステム構成例を示す図である。 図18は本発明を搭載したシステムLSIならびにセットシステムの適用例を示す図である。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
実施の形態1におけるメモリ制御装置は、複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、N(Nは2以上の整数)ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Nでバーストアクセスされるメモリへのアクセスを制御する。
まず、メモリ制御装置がアクセスするメモリの構成例を説明する。
図3Aは、本発明の実施の形態1におけるメモリ制御装置がアクセスするメモリに含まれるDRAMの構成例を示すブロック図である。なお、データバスは32ビット、64ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために1ビットに対応する部分のみを示している。例えばメモリのデータバスが32ビットである場合、メモリは、同図のDRAMを32個並列化した構成とすればよい。
同図のDRAM201は、4つのバンクA0〜A3を含む第1グループAと、4つのバンクB0〜B3を含む第2グループBと、N(同図ではNは8)ビットのプリフェッチバッファ202と、パラレル−シリアル変換部(以下P−S変換部)203とを含み、DDR3を改良したDRAM201(以下改良DRAMと呼ぶ。)である。
バンクA0〜A3、B0〜B3はそれぞれ、1個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの1ビットのデータをプリフェッチバッファ202に入出力する。各バンクの動作周波数は133MHzでよい。
プリフェッチバッファ202は、第1動作モードと第2動作モードとを含む少なくとも2つの動作モードを有する。
第1動作モードは、図中の破線矢印および括弧で示すように、DDR3と同様の通常のアクセスモードである。すなわち、第1動作モードにおいてプリフェッチバッファ202は、アドレスにより指定されたバンクの1つとの間で8ビットのデータを133MHzの動作周波数でパラレルに入出力し、P−S変換部203を介してデータバスとの間では8倍の周波数1066MHzでシリアルにデータを入出力する。
第2動作モードは、図中の実線矢印および括弧で示すように、第1グループに属する1つのバンクと、第2グループに属する1つのバングとで、プリフェッチバッファ202を半分ずつ共用するモードである。すなわち、第2動作モードにおいてプリフェッチバッファ202は、第1グループ内のバンクの1つとプリフェッチバッファ202の半分(例えば上位4ビット)との間でデータを133MHzの動作周波数でパラレルに入出力し、同時に、第2グループ内のバンクの1つとプリフェッチバッファ202の残り半分(例えば下位4ビット)との間でデータを133MHzの動作周波数でパラレルに入出力する。また、第2動作モードにおいてプリフェッチバッファ202は、P−S変換部203を介してデータバスとの間では8倍の周波数1066MHzで8ビットのデータをシリアルに入出力する。
改良DRAMが第1動作モードで動作するか第2動作モードで動作するかは、マスタからメモリアクセス制御装置を介して与えられる改良DRAMへのアクセスコマンド(以下メモリコマンド)により決定される。第1動作モードは1つのメモリコマンドにより実行される。
第2動作モードは、ペアとなる2つのメモリコマンド(以下第1メモリコマンドと第2メモリコマンドと呼ぶ)により実行される。
第1メモリコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドである。
第2メモリコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第1メモリコマンドと共用して、第2のグループに属するバンクへのアクセスを指示するコマンドである。
このように改良DRAMは、第2動作モードをサポートすることにより、基本バースト長N(ここではN=8)の半分のバースト長N/2(ここでは4)でアクセスを指示する2つのメモリコマンドに、プリフェッチバッファ202を共有させる。その結果、基本バースト長Nでアクセスする第1動作モードと比べて、第2動作モードでは、無駄になるデータを削減し、データバスの使用効率を向上させることに役立つ。なお、メモリ内のグループの数は2つでも3つでもよく、バンクを排他的に含むグループであれば複数個でよい。また、グループ内のバンク数は1以上でよい。
図3Bは前記改良DRAMにおいて特に2つのグループにより構成されるDRAMを一例としてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のグループにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅/2と表されるN/2バイトのデータに続いて第2のグループにある同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅/2と表されるN/2バイトのデータを交互に配置したものである。前記改良DRAMではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばグループ数が2であり、基本アクセス単位を1/2で中断できるとすれば、最小アクセス単位は基本アクセス単位/2と同一となる。
なおここではグループ数を2としているが、2以上のグループ数で構成されていても構わない。
図4は前記図2と同一のアクセス要求が前記図3Bのデータ配置で起こった場合のアクセス必要領域を示している。最小アクセス単位が基本アクセス単位/2であることから、アクセス要求領域とアクセス必要領域が同一となり、不要なデータアクセスが発生しないことがわかる。
図5Aは本発明の実施の形態1におけるメモリ制御装置の構成を示すブロック図である。同図のメモリ制御装置101は、コマンド生成部102、デバイス判定部103、データ制御部106を備える。コマンド生成部102は、アドレス変換部108、グループ判定部104を備える。
図5Aにおいて、マスタ107はメモリ制御装置101に対してメモリに対してアクセスするコマンド(以下マスタコマンドとする)を発行し、コマンド生成部102は前記マスタ107により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド(以下メモリコマンドとする)を生成し、コマンド発行部105へメモリコマンドを渡す。前記コマンド生成部102にあるグループ判定部104では前記マスタ107のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ(例えばグループAとグループB)へのアクセスが含まれる。前記グループ判定部104を含むコマンド生成部102で生成されたメモリコマンドはグループごとに分けて前記コマンド発行部105へ渡される。前記コマンド発行部105は、前記コマンド生成部102により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部106では、前記コマンド発行部105からメモリ0へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ107からデータを受け取り、コマンド発行順情報に従ってメモリ0へ転送し、メモリからのリードアクセス時には、メモリ0からのデータを受け取り、コマンド発行順情報に従ってマスタ107へデータを転送する。
図5Bは、本発明のメモリ制御装置におけるメモリアクセス制御方法を示すフローチャートである。マスタコマンドが、画像データ中の矩形領域を示す論理アドレスを含む場合について説明する。
メモリアクセス制御方法は大きくは、2つの動作からなる。第1に、コマンド生成部102は、画像データ中の矩形領域を示す論理アドレスを含むアクセス要求(マスタコマンド)に基づいて、物理アドレスを含む複数のアクセスコマンド(メモリコマンド)を生成する(ステップ51〜56)。第2にコマンド発行部105およびデータ制御部106は、コマンド生成部102によって生成された複数のメモリコマンドをメモリに発行し、アクセスされたデータを転送する(ステップ57〜ステップ60)。
より詳しく説明すると、アドレス変換部108は、論理アドレスと物理アドレスの対応表または変換規則を内部に保持しており、上記の論理アドレスを含むマスタコマンドを受け取ると、矩形を表す論理アドレスを複数の物理アドレスに変換する(ステップ51)。
例えば、論理アドレスが、図9の「必要なデータ」に対応する矩形領域を示す場合、アドレス変換部108は、4セットの物理アドレスに変換する。つまり、1セット目は、データブロック0、8、4中のハッチングされている部分を指す物理アドレスになる。2セット目は、データブロック1、9、5中のハッチングされている部分を指す物理アドレスになる。3セット目は、データブロック2、10、0中のハッチングされている部分を指す物理アドレスになる。4セット目は、データブロック3、11、7中のハッチングされている部分を指す物理アドレスになる。
グループ判定部104は、変換された物理アドレスのセットに対応するバンクがどのグループに属するかを判定(ステップ52)する。さらに、コマンド生成部102は、物理アドレスのセットが示すアクセスすべきデータが異なるグループに属する2つのバンクに跨って連続する場合、第1アクセスコマンドと第2アクセスコマンドのペアを生成し(ステップ53、54)、そうでない場合、ペアでない1個のメモリコマンドを生成する(ステップ53、55)。ここで、第1アクセスコマンドと第2アクセスコマンドのペアは、既に説明したように、プリフェッチバッファ202を半分ずつ共用する。
コマンド生成部102は、未処理の物理アドレスのセットが残っている場合には、ステップ53に戻り、未処理の物理アドレスのセットが残っていない場合には、ステップ57に進む(ステップ56)。
コマンド発行部105は、コマンド生成部102によって生成された各メモリコマンドに対応して、メモリへの個々のコマンド(ACTIVATE、READ、WRITE、PRECHARGE等)の発行制御ならびに発行タイミングを制御する。データ制御部106では、コマンド発行部105からメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ107からデータを受け取り、コマンド発行順情報に従ってデータをメモリ0へ転送し、メモリへのリードアクセス時には、メモリ0からデータを受け取り、コマンド発行順情報に従ってマスタ107へデータを転送する。
図6は、比較例として、従来技術で示した図2におけるReadアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、アクセスするDRAMを32ビットのバス幅を持つDDR2とし、基本となるバースト長を4である場合を例に説明する。図2のように基本アクセス単位の途中からNバイトを要求された場合、第2のバンクの基本アクセス単位をReadするためにt7においてRead0を発行する。次に、第1のバンクの基本アクセス単位をReadするためにt9においてRead1を発行する。データは第2のバンクの基本アクセス単位をt10とt11のタイミングでReadデータを取得し、t12とt13のタイミングで第1のバンクの基本アクセス単位のReadデータを取得する。しかし、アクセス要求領域にあるデータはt11とt12のタイミングのデータだけであるので、マスタへの出力データはt11とt12のタイミングのデータを出力するだけで十分である。結果的にt10からt13を用いて取得したReadデータに対して有効なデータはt11とt12にしか無く転送効率は50%となる。
図7は図4におけるReadアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、図6と同様にアクセスするDRAMを32ビットのバス幅を持つDDR2とし、基本となるバースト長を4である場合を例に説明する。図4のように基本アクセス単位の途中からNバイトを要求された場合、第2のグループの基本アクセス単位をReadするためにt7においてRead0を発行する。次に、前記改良DRAMではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、第1のグループの基本アクセス単位をReadするためにt8においてRead1を発行する。データは第2のバンクの基本アクセス単位をt10のタイミングでReadデータを取得し、t11のタイミングで第1のバンクの基本アクセス単位のReadデータを取得する。アクセス要求領域とアクセス必要領域が同一であるため、マスタへの出力データはt10とt11のタイミングのデータをそのまま出力するだけで十分である。結果的にt10とt11を用いて取得したReadデータに対して有効なデータは同じくt10とt11であるため転送効率は100%となる。
なおここでは使用した前記改良DRAMのバス幅を32ビット、基本となるバースト長を4であるとして説明したが前記バス幅および基本となるバースト長だけに限らず、基本となるバースト長が2以上であればいずれであってもよい。
図8は前記改良DRAM上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、1つのメモリ0を使用するシステム構成を持つ場合のデータの配置方法を図8に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを(A、B、A、B)の順で繰り返し配置し、垂直方向には同一グループAもしくはBをストライプ状に配置する。
図9は前記図8のデータ配置方法を用いたフレームバッファに対して矩形の画素データへアクセスする場合の一例を示したものである。図9に“必要なデータ”として示されている矩形の画素データへアクセスする際は、DRAMに対する最小アクセス単位が決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図9のようにデータブロックの境界までアクセスする必要があり、結果的に“実際に転送されるデータ”として示されている矩形の画素データへアクセスすることとなる。
図10は前記改良DRAM上にあるデータを用いてフレームバッファを構成した場合のデータ配置で図8とは別の一例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、図8と同様に最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、1つのメモリ0を使用するシステム構成を持つ場合のデータの配置方法を図10に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを(A、B、A、B)の順で繰り返し配置し、垂直方向にはグループAおよびBを(A、B、A、B)と格子状に配置する。
図11は前記図8のデータ配置方法を用いたフレームバッファに対して図11に示すようなデータ要求があった場合に実際に転送されるデータが増大し、データ転送効率が悪化する一例を示している。前記改良DRAMではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック0をデータブロック8で、データブロック1をデータブロック9で上書きする。同様に、データブロック2と10、データブロック3と11と上書きすることができるが、一方データブロック4、5、6および7を上書きできるグループBの転送が必要となるため、データブロック12、13、14および15も実際に転送されるデータとなってしまい、結果的にデータ転送効率の低下を招く。
なおここで、データブロック0をデータブロック8といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
図12は前記図10のデータ配置方法を用いたフレームバッファに対して前記図11と同一のデータ要求があった場合に実際に転送されるデータの一例を示している。前記改良DRAMではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック0をデータブロック1で、データブロック2をデータブロック3で上書きする。同様に、データブロック8と9、データブロック10と11、データブロック4と5、データブロック6と7と転送すれば図8に示すデータ配置よりもさらに転送効率を向上させることができる。
なおここで、データブロック0をデータブロック1といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
また、メモリ0中の画像データの行方向に連続するS(Sは2以上の整数)個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、データブロックの境界と同数のペア(第1および第2アクセスコマンド)を生成することができる。
ここで、上記のデータブロックは、前記バースト長Nでバーストアクセスされるデータの半分のサイズであってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア(第1および第2アクセスコマンド)のみを生成することができ、実質的にバースト長N/2のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
また、上記のデータブロックは最小アクセス単位であってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア(第1および第2アクセスコマンド)のみを生成することができ、実質的にバースト長N/2のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
ここで、列方向に隣接するM(Mは2以上の整数)個の前記データブロックは、同じグループに属し、当該M個のデータブロックと列方向に隣接する他のM個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する2つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。
ここで、第2のアクセスコマンドによりアクセスされる行は、前記第1のアクセスコマンドによりアクセスされる行から列方向にMライン目の行であってもよい。
なお、Mは2であってもよい。こうすれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。
また、本発明のメモリシステムは、画像データを記憶しバースト長N(Nは2以上の整数)でバーストアクセスされるメモリと、上記のメモリ制御装置と有するメモリシステムであって、前記メモリは、複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、Nビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの1つからNビットのデータをプリフェッチする第1動作モードと、異なるグループに属するバンクからN/2ビットずつデータをプリフェッチする第2動作モードとを有する構成としても良い。
(実施の形態2)
本発明の実施の形態2では、実施の形態1と同じ構成要素については同じ符号を用い、説明を省略する。
図13は、本発明の実施の形態2におけるメモリ制御装置の構成を示すブロック図である。
図13において、マスタ107はメモリ制御装置101に対してメモリに対してアクセスするコマンド(以下マスタコマンドとする)を発行し、コマンド生成部102は前記マスタ107により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド(以下メモリコマンドとする)を生成し、コマンド発行部105へメモリコマンドを渡す。前記コマンド生成部102にあるデバイス判定部103では前記マスタ107のマスタコマンドから生成されたメモリコマンドが、メモリ0および1の両方あるいはいずれかへのアクセスであるかどうかを判定し、同じく前記コマンド生成部102にあるグループ判定部104では前記マスタ107のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ(例えばグループAとグループB)へのアクセスが含まれる。前記デバイス判定部103ならびに前記グループ判定部104を含むコマンド生成部102で生成されたメモリコマンドはデバイスごと、およびグループごとに分けて前記コマンド発行部105へ渡される。前記コマンド発行部105は、前記コマンド生成部102により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部106では、前記コマンド発行部105からメモリ0および1へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ107からデータを受け取り、コマンド発行順情報に従ってメモリ0および1へ転送し、メモリからのリードアクセス時には、メモリ0および1からのデータを受け取り、コマンド発行順情報に従ってマスタ107へデータを転送する。
図14は、本発明の実施の形態2におけるメモリ制御方法のフローチャート図である。
図14において、ステップ01では前記マスタ107からのアクセス要求を前記コマンド生成部で受け取り、前記デバイス判定部103ならびに前記グループ判定部104によりメモリ0ならびにメモリ1へのいずれのアクセスであるかどうか、また複数グループのうちいずれのグループへあるかどうかの判定を行い、それぞれのメモリならびにグループに対応したメモリコマンドを生成する。ステップ02では前記コマンド発行部において、生成されたメモリコマンドが同一単位領域へのアクセスであるかどうかを判定し、同一単位領域へのアクセスである場合にはステップ03へ、そうでない場合にはステップ05へ進む。以下ステップ03からステップ08までは前記コマンド発行部において行う。ステップ03では複数のメモリ0、1へ同時にグループAへの共通のアドレスを持つメモリコマンドを出力し、ステップ04では、メモリ0、1へ同時にグループBへの共通のアドレスを持つメモリコマンドを出力する。ステップ05では、メモリ0のグループAに対応したアドレスを出力し、ステップ06では、メモリ1のグループAに対応したアドレスを出力する。ステップ07では、メモリ0のグループBに対応したアドレスを出力し、ステップ08ではメモリ1のグループBに対応したアドレスを出力する。ステップ09では前記データ制御部においてメモリへの書き込みであるかどうかを判定し、メモリへの書き込みであればステップ10へ進み、そうでない場合(メモリからの読み出し)であればステップ11へ進む。ステップ10ではマスタ107からメモリへのデータを受け取り、コマンド発行順情報に従ってメモリ0ならびにメモリ1へデータを出力する。ステップ11では、メモリ0ならびにメモリ1からデータを受け取り、コマンド発行順情報に従ってマスタへデータを転送する。
上記ステップ01におけるメモリコマンド生成処理は、図5Bのステップ51〜ステップ56とほぼ同様であるが、以下の点が異なっている。すなわち、コマンド生成部102は、グループ判定部104の判定およびデバイス判定部103の判定に基づいて、アクセスすべきデータが、1つのメモリに属し、かつ、異なるグループに属する2つのバンクに跨って連続する場合に、第1メモリコマンドと第2メモリコマンドとのペアを生成する。
図15は、メモリ上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持ち、水平方向にA1個、垂直方向にA2個の画素データを配置している。メモリに対するデータ転送において、最小アクセスサイズでアクセスするデータをデータブロックという単位として、2つのグループA、BをもつDRAMを使用し、2つのメモリ0、1を使用するシステム構成を持つ場合のデータの配置方法を図15に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを(A、B、B、A)の順で繰り返し配置し、垂直方向にはグループAおよびBを2ラインごとに配置する。このようなフレームバッファに対して矩形の画素データへアクセスする際は、DRAMに対する最小アクセスサイズが決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図15のようにデータブロックの境界までアクセスする必要がある。
図16は、図15における矩形の画素データを取得する際の、メモリバス上におけるタイミングチャート例である。矩形の画素データへのアクセスの際には、単位領域へのアクセスではメモリ0およびメモリ1へ同時にCSを有効状態とし、共通のアドレスを同時にアクセスする。また単位領域ではないアクセスに対しては、メモリ0およびメモリ1に対して時間をずらしてCSを有効状態とし、異なるアドレスそれぞれへアクセスを行う。
かかる構成によれば、コマンド生成部にあるデバイス判定部ならびにグループ判定部をもつことにより、マスタからのコマンドをデバイスごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。
なお、本実施の形態において、コマンド発行部からメモリ0およびメモリ1へ出力するコマンド線は共通に設けたが、個別のコマンド線を設けてもよいし、一部のコマンド線のみ例えばアドレスの上位ビットのみあるいは下位ビットのみを共通としても良い。
なお、フレームバッファにおけるデータ配置に関して、本実施の形態におけるデータ配置だけでなく、横方向に対してはグループAのデータブロックとグループBのデータブロックを交互に配置し、縦方向に対しては、同一グループ同一バンク同一ロウのデータを配置するデータ配置でもよい。その場合には、DRAMのカラムアドレスを横方向に連続してもよいし、データブロック分のカラムアドレスを横方向に進んだ後、一つ下のLineにあるデータブロック対して連続してもよいし、1Line飛ばして2つ下のLineにあるデータブロックに対して連続してもよい。なお、データブロック分にカラムアドレスを横方向に進んだ後に、2つ下のLineにあるデータブロックに対して連続したカラムアドレスを配置した場合に、本実施の形態と同様に、画像アクセスにおいてはあるデータブロックにアクセスしたのちに、1Line飛ばしの2Line下のデータブロックへアクセスする方法をとることもある。この場合、本実施の形態においては2Lineごとに異なるグループとなるデータ配置であったが、同一バンク同一ロウのデータであるため、通常はデータブロックごとにコマンドを発行してアクセスしていたのに対して、複数のデータブロック分のバースト長を伸ばしてアクセスさせてもよい。
また、上記各実施の形態では、プリフェッチバッファ202が2つの異なるグループに属する2つのバンク間で共用される構成を説明したが、3つ以上の異なるグループに属する3つ以上のバンク間で共用されてもよい。この場合、Nビットのプリフェッチバッファ202は共用するバンクの数mとすると、共用する各バンク毎にN/mビットずつ使用すればよい。
また、図17に本発明を適用するためのシステム構成として、Blu-rayレコーダシステムのシステム構成例を示す。図17では本発明をメディア処理用LSIにおけるメモリ制御回路に対して適用した例である。同図のメモリ制御回路は図5Aまたは図13のメモリ制御装置に相当する。なお、メディア処理用LSIのメモリ制御回路を実施例としてあげているが、DMA制御回路内の調停回路へ適用してもよいし、光学Disc制御回路等にある調停回路へ適用してもよい。
また、図18では本発明を搭載したシステムLSIならびにセットシステムの適用例である。同図のシステムLSIは、図17中のメディア処理用LSIに相当する。このように本発明は、システムLSIのみならず、携帯電話、放送受信装置、蓄積再生装置、デジタルテレビ、車載端末、自動車等多くの製品に適用可能である。
本発明にかかるメモリ制御方法においては、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラ、携帯電話などのデジタルAV家電システムや、パソコンなどにおける画像処理システムにおいても利用できる。
101 メモリ制御装置
102 コマンド生成部
103 デバイス判定部
104 グループ判定部
105 コマンド発行部
106 データ制御部
107 マスタ
108 アドレス変換部
201 DRAM
202 プリフェッチバッファ
203 P−S変換部

Claims (11)

  1. 複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、N(Nは2以上の整数)ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Nでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、
    前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
    コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
    を備え、
    前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する2つのバンクに跨って連続する場合に第1アクセスコマンドと第2アクセスコマンドとを含む前記複数のアクセスコマンドを生成し、
    前記第1アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドであり、
    前記第2アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第1アクセスコマンドと共用して、前記第2のグループに属するバンクへのアクセスを指示するコマンドである
    メモリ制御装置。
  2. 前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、
    前記コマンド生成部は、さらに、
    前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、
    前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、1つのメモリに属し、かつ、異なるグループに属する2つバンクに跨って連続する場合に、前記第1アクセスコマンドと前記第2アクセスコマンドと含む前記複数のアクセスコマンドを生成する
    請求項1に記載のメモリ制御装置。
  3. 前記画像データの行方向に連続するS(Sは2以上の整数)個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属する
    請求項1または2に記載のメモリ制御装置。
  4. 前記データブロックは、前記バースト長Nでバーストアクセスされるデータの半分のサイズである
    請求項3に記載のメモリ制御装置。
  5. 前記データブロックは最小アクセス単位である
    請求項3に記載のメモリ制御装置。
  6. 列方向に隣接するM(Mは2以上の整数)個の前記データブロックは、同じグループに属し、当該M個のデータブロックと列方向に隣接する他のM個のデータブロックを含むグループとは異なるグループに属する
    請求項3に記載のメモリ制御装置。
  7. 前記第2のアクセスコマンドによりアクセスされる行は、前記第1のアクセスコマンドによりアクセスされる行から列方向にMライン目の行である
    請求項6に記載のメモリ制御装置。
  8. 前記Mは2である請求項6または7に記載のメモリ制御装置。
  9. 画像データを記憶しバースト長N(Nは2以上の整数)でバーストアクセスされるメモリと、メモリ制御装置と有するメモリシステムであって、
    前記メモリは、
    複数のバンクを含む第1グループと、
    複数のバンクを含む第2グループと、
    Nビットのプリフェッチバッファと
    を備え、
    前記プリフェッチバッファは、バンクの1つからNビットのデータをプリフェッチする第1動作モードと、異なるグループに属するバンクからN/2ビットずつデータをプリフェッチする第2動作モードとを有し、
    前記メモリ制御装置は、
    前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
    コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
    を備え、
    前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する2つのバンクに跨って連続するかどうかを判定するグループ判定部を有し、グループ判定部の判定結果に基づいて第1アクセスコマンドと第2アクセスコマンドを含む前記複数のアクセスコマンドを生成し、
    前記第1アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドであり、
    前記第2アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第1アクセスコマンドと共用して、前記第2のグループに属するバンクへのアクセスを指示するコマンドである
    メモリシステム。
  10. 請求項1〜8のいずれか1項に記載のメモリ制御装置が形成された半導体集積回路。
  11. 複数のバンクを含む第1グループと、複数のバンクを含む第2グループと、N(Nは2以上の整数)ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Nでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、
    前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、
    コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップと
    を有し、
    前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する2つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第1アクセスコマンドと前記第2アクセスコマンドを生成し、
    前記第1アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第1のグループに属するバンクへのアクセスを指示するコマンドであり、
    前記第2アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第1アクセスコマンドと共用して、前記第2のグループに属するバンクへのアクセスを指示するコマンドである
    メモリ制御方法。
JP2010509073A 2008-04-22 2009-04-21 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法 Expired - Fee Related JP5351145B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010509073A JP5351145B2 (ja) 2008-04-22 2009-04-21 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008111185 2008-04-22
JP2008111185 2008-04-22
PCT/JP2009/001815 WO2009130888A1 (ja) 2008-04-22 2009-04-21 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
JP2010509073A JP5351145B2 (ja) 2008-04-22 2009-04-21 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法

Publications (2)

Publication Number Publication Date
JPWO2009130888A1 JPWO2009130888A1 (ja) 2011-08-11
JP5351145B2 true JP5351145B2 (ja) 2013-11-27

Family

ID=41216629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010509073A Expired - Fee Related JP5351145B2 (ja) 2008-04-22 2009-04-21 メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法

Country Status (4)

Country Link
US (1) US8918589B2 (ja)
JP (1) JP5351145B2 (ja)
CN (1) CN102016809A (ja)
WO (1) WO2009130888A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595459B2 (en) * 2004-11-29 2013-11-26 Rambus Inc. Micro-threaded memory
JP5393405B2 (ja) * 2009-11-05 2014-01-22 キヤノン株式会社 メモリ制御回路
JP2013089030A (ja) * 2011-10-18 2013-05-13 Elpida Memory Inc 情報処理システム、制御システム及び半導体装置
JP6062714B2 (ja) * 2012-10-31 2017-01-18 キヤノン株式会社 メモリ制御装置、メモリ制御方法およびプログラム
JP6038384B2 (ja) * 2014-03-07 2016-12-07 三菱電機株式会社 情報処理装置及び情報処理方法
JP5911548B1 (ja) * 2014-10-23 2016-04-27 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US11755255B2 (en) * 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
US20160232112A1 (en) * 2015-02-06 2016-08-11 Futurewei Technologies, Inc. Unified Memory Bus and Method to Operate the Unified Memory Bus
US9990159B2 (en) * 2015-06-26 2018-06-05 Xitore, Inc. Apparatus, system, and method of look-ahead address scheduling and autonomous broadcasting operation to non-volatile storage memory
KR102412609B1 (ko) * 2017-11-03 2022-06-23 삼성전자주식회사 내부 커맨드에 따른 어드레스에 대한 저장 및 출력 제어를 수행하는 메모리 장치 및 그 동작방법
JP2021039447A (ja) 2019-08-30 2021-03-11 キヤノン株式会社 メモリコントローラおよびメモリコントローラで実施される方法
US11137936B2 (en) 2020-01-21 2021-10-05 Google Llc Data processing on memory controller

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105367A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 画像処理装置
JPH10144073A (ja) * 1996-11-08 1998-05-29 Fujitsu Ltd シンクロナスdramのアクセス機構
JP2000066950A (ja) * 1998-08-25 2000-03-03 Toshiba Corp 半導体記憶装置
JP2000232623A (ja) * 1999-02-09 2000-08-22 Nec Corp 映像メモリ回路
JP2000330864A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd 同期式dramの制御方法
JP2002175689A (ja) * 2000-09-29 2002-06-21 Mitsubishi Electric Corp 半導体集積回路装置
JP2005196485A (ja) * 2004-01-07 2005-07-21 Matsushita Electric Ind Co Ltd Dram制御装置およびdram制御方法
JP2008146330A (ja) * 2006-12-08 2008-06-26 Fujitsu Ltd メモリコントローラ

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0845269A (ja) * 1994-07-27 1996-02-16 Hitachi Ltd 半導体記憶装置
JPH09190376A (ja) 1996-01-12 1997-07-22 Oki Electric Ind Co Ltd メモリ制御装置
GB2332539B (en) * 1997-12-17 2003-04-23 Fujitsu Ltd Memory access methods and devices for use with random access memories
US6795079B2 (en) * 2001-02-15 2004-09-21 Sony Corporation Two-dimensional buffer pages
US7139878B2 (en) * 2003-06-20 2006-11-21 Freescale Semiconductor, Inc. Method and apparatus for dynamic prefetch buffer configuration and replacement
JP2008544437A (ja) * 2005-06-24 2008-12-04 メタラム インコーポレイテッド 一体化されたメモリコア及びメモリインターフェース回路
US7613883B2 (en) * 2006-03-10 2009-11-03 Rambus Inc. Memory device with mode-selectable prefetch and clock-to-core timing

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10105367A (ja) * 1996-09-30 1998-04-24 Toshiba Corp 画像処理装置
JPH10144073A (ja) * 1996-11-08 1998-05-29 Fujitsu Ltd シンクロナスdramのアクセス機構
JP2000066950A (ja) * 1998-08-25 2000-03-03 Toshiba Corp 半導体記憶装置
JP2000232623A (ja) * 1999-02-09 2000-08-22 Nec Corp 映像メモリ回路
JP2000330864A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd 同期式dramの制御方法
JP2002175689A (ja) * 2000-09-29 2002-06-21 Mitsubishi Electric Corp 半導体集積回路装置
JP2005196485A (ja) * 2004-01-07 2005-07-21 Matsushita Electric Ind Co Ltd Dram制御装置およびdram制御方法
JP2008146330A (ja) * 2006-12-08 2008-06-26 Fujitsu Ltd メモリコントローラ

Also Published As

Publication number Publication date
CN102016809A (zh) 2011-04-13
US8918589B2 (en) 2014-12-23
US20110035559A1 (en) 2011-02-10
WO2009130888A1 (ja) 2009-10-29
JPWO2009130888A1 (ja) 2011-08-11

Similar Documents

Publication Publication Date Title
JP5351145B2 (ja) メモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法
US11797227B2 (en) Memory controller for micro-threaded memory operations
US7707328B2 (en) Memory access control circuit
US8661180B2 (en) Memory controlling device and memory controlling method
JPWO2005109205A1 (ja) 情報処理装置およびデータアクセス方法
US20140344512A1 (en) Data Processing Apparatus and Memory Apparatus
US20210280226A1 (en) Memory component with adjustable core-to-interface data rate ratio
JP6159478B2 (ja) データ書き込み方法及びメモリシステム
KR101086417B1 (ko) 다이내믹 랜덤 액세스 메모리의 부분 액세스 장치 및 방법
JP2007018222A (ja) メモリアクセス制御回路
JP5204777B2 (ja) メモリ装置及びその制御方法
JP4318422B2 (ja) 集積回路メモリを含むシステム
US8581918B2 (en) Method and system for efficiently organizing data in memory
US20100211704A1 (en) Data Processing Apparatus
JP2012113597A (ja) メモリ装置、メモリ制御回路及びメモリ制御システム
US20080263290A1 (en) Memory control apparatus and memory control method
US8675443B2 (en) Memory architecture for display device and control method thereof
Lee An efficient memory control method for video and image processing in digital TV
JP2009271668A (ja) メモリ方法およびメモリ装置
JPH0944396A (ja) メモリ内の記憶場所の集合にアクセスする方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130822

R150 Certificate of patent or registration of utility model

Ref document number: 5351145

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees