(57)【要約】  本発明のメモリ制御装置（１０１）は、画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部（１０２）と、コマンド生成部（１０２）によって生成された複数のアクセスコマンドをメモリ（０）に発行するコマンド発行部（１０５）とを備え、コマンド生成部（１０２）は、アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部（１０４）を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に、異なるグループに属する２つのバンク間でプリフェッチバッファを共用する第１および第２アクセスコマンドのペアを生成する。
2009130888.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に第１アクセスコマンドと第２アクセスコマンドとを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御装置。
【請求項２】
前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、
前記コマンド生成部は、さらに、
前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、
前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つバンクに跨って連続する場合に、前記第１アクセスコマンドと前記第２アクセスコマンドと含む前記複数のアクセスコマンドを生成する
請求項１に記載のメモリ制御装置。
【請求項３】
前記画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属する
請求項１または２に記載のメモリ制御装置。
【請求項４】
前記データブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズである
請求項３に記載のメモリ制御装置。
【請求項５】
前記データブロックは最小アクセス単位である
請求項３に記載のメモリ制御装置。
【請求項６】
列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属する
請求項３に記載のメモリ制御装置。
【請求項７】
前記第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行である
請求項６に記載のメモリ制御装置。
【請求項８】
前記Ｍは２である請求項６または７に記載のメモリ制御装置。
【請求項９】
画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、メモリ制御装置と有するメモリシステムであって、
前記メモリは、
複数のバンクを含む第１グループと、
複数のバンクを含む第２グループと、
Ｎビットのプリフェッチバッファと
を備え、
前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有し、
前記メモリ制御装置は、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定するグループ判定部を有し、グループ判定部の判定結果に基づいて第１アクセスコマンドと第２アクセスコマンドを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリシステム。
【請求項１０】
請求項１〜８のいずれか１項に記載のメモリ制御装置が形成された半導体集積回路。
【請求項１１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップと
を有し、
前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第１アクセスコマンドと前記第２アクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムにおいて、データ転送を効率的に行うメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法に関するものである。
【背景技術】
【０００２】
一般に、民生向けの画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるＤＲＡＭが用いられる。特に、近年の画像処理装置は、ＭＰＥＧ２やＨ．２６４等のＨＤ（High Definition）画像処理への対応や、同時複数チャンネル処理、高画質な３Ｄグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力を有するＤＲＡＭを必要としている。その高いデータ転送能力を実現するためには、（１）バスの動作周波数を上げる方法、（２）メモリのバス幅を広くとる方法、またはこれらの方法（１）、（２）を併用する方法などが知られている。【０００３】
一方、ＤＲＡＭはアクセスを行う際、事前にアクセスするバンク・ロウを指定して、アクティベート処理を行う必要がある。また、同一バンクにおいて、アクセスするロウを変更する場合は、一旦アクセスしていたロウをプリチャージ処理し、新たにアクセスするロウに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一バンク内で、ロウを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常ＤＲＡＭアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、DRAMとのデータバス上で常時データ転送を可能とする、バンクインタリーブと呼ばれる制御が行われる。このバンクインタリーブを有効に機能させるためには、同一バンクへの連続データ転送時間を長くし、あるバンクの前記アクセス不可期間を、該当バンク以外へのデータ転送で隠蔽する必要がある。【０００４】
このアクセス不可期間による非効率転送問題に対する従来の手法として、特許文献１に記載のものがある。この手法では、カウンタ０、１の信号を元に、メモリＡ、Ｂを特定のタイミングで交互に時分割アクセスすることにより、単一メモリで発生するアクセス不可期間を、他方のメモリのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。しかし、前記従来技術では、複数のメモリを利用しているにも関わらず、同時にアクセスできるメモリは１つであるため、システムが使用できる最大メモリ帯域は、１つのメモリが持つメモリ帯域に限定される。【０００５】
図１Ａは、従来技術におけるＤＲＡＭの種類、動作周波数およびバースト長を示す図である。同図は、４つの種類のＤＲＡＭ、すなわち、ＳＤＲ（Single Data Rate） ＳＤＲＡＭ（Synchronous ＤＲＡＭ）、ＤＤＲ（Double Data Rate） ＳＤＲＡＭ、ＤＤＲ２ ＳＤＲＡＭ、ＤＤＲ３  ＳＤＲＡＭに関する（以下、ＳＤＲ、ＤＤＲ、ＤＤＲ２、ＤＤＲ３と略す）。この４つのＤＲＡＭそれぞれの内部バス動作周波数とデータバス動作周波数とが図示してある。なお、データバスは３２ビット、６４ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために１ビットに対応する部分のみを示している。【０００６】
ＳＤＲは、メモリコアとＩ／Ｏバッファとを含む。メモリコアは１個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの１ビットのデータをＩ／Ｏバッファを介してデータバスに入出力する。ＳＤＲの内部バス動作周波数（１３３ＭＨｚ）は外部データバス動作周波数（１３３ＭＨｚ）と同じである。【０００７】
ＤＤＲ、ＤＤＲ２、ＤＤＲ３の各メモリコアは、ＳＤＲのメモリコアとほぼ同じである。【０００８】
内部バスの動作周波数の上限はメモリコアの動作周波数の上限により定まる。すなわち、メモリセルとして用いられるキャパシタが応答可能な上限の周波数は約２００ＭＨｚと考えられ、メモリコアの動作周波数も約２００ＭＨｚを超えることができない。これに対してメモリをアクセスするマスタは年々高速化している。ＤＤＲ、ＤＤＲ２、ＤＤＲ３では、ＤＲＡＭを高速化する手法としてＩ／Ｏバッファとメモリコアとの間では複数ビットのデータをパラレルに入出力させ、Ｉ／Ｏバッファとデータバスとの間ではシリアルにデータを入出力させる手法が取られている。【０００９】
ＤＤＲのＩ／Ｏバッファは、メモリコアとの間では２ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に２倍の周波数２６６ＭＨｚでシリアルにデータを入出力する。ＤＤＲにおける最小のバースト長（基本バースト長とも呼ばれる。）は２になる。【００１０】
ＤＤＲ２のＩ／Ｏバッファは、メモリコアとの間では４ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に４倍の周波数５３３ＭＨｚでシリアルにデータを入出力する。ＤＤＲ２における最小のバースト長は４になる。【００１１】
ＤＤＲ３のＩ／Ｏバッファは、メモリコアとの間では８ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に８倍の周波数１０６６ＭＨｚでシリアルにデータを入出力する。ＤＤＲ３における最小のバースト長は８になる。ただし、ＤＤＲ３には、ＤＤＲ２との互換性を維持するために、Ｉ／Ｏバッファに保持された８ビットのうちの後半４ビットを破棄することによって、バースト長４をサポートする機能（バーストチョップ機能）がある。【００１２】
このようにＳＤＲＡＭは、内部バスの動作周波数の高速化が困難であることをカバーするために、Ｉ／Ｏバッファを複数ビット化することによって外部のデータバスの動作周波数の高速化つまりメモリ帯域の拡大を実現している。【００１３】
図１Ｂは一般的なＤＲＡＭにおいてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のバンクにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長（ＳＤＲＡＭでは１、ＤＤＲでは２、ＤＤＲ２では４、ＤＤＲ３では８など）×バス幅で表されるＮバイトのデータ（以後、基本アクセス単位と呼ぶ）に続いて第2のバンクにある前記基本アクセス単位で構成されるデータを配置する。以後同様に第Ｍのバンクにある同一ロウアドレスで連続したデータを配置する。こうすることでメモリアクセスする場合、複数のバンクが均一に出現することになるため、バンクインタリーブを効率よく実施することができる。図１Ｂでは一例としてバンク数が２である場合を示している。なお、一般的なＤＲＡＭにおいては前記基本となるバースト長以下の転送はできない（１度アクセス要求すると必ず基本となるバースト長×バス幅のデータの入出力が発生する）ため基本アクセス単位と最小アクセス単位とは同一となる。【００１４】
図２は図１Ｂのように配置したデータ列に対して不要なデータへのアクセスが発生する場合の一例を示している。アクセス要求されているデータ領域（以後、アクセス要求領域と呼ぶ）が図２のように基本アクセス単位の途中からＮバイトを要求された場合、最小アクセス単位は基本アクセス単位と同一であるために、アクセス要求領域を含む全ての基本アクセス単位に対してデータ要求が必要となり、結果的に図２に示すような２Ｎバイト（以後、アクセス必要領域と呼ぶ）のアクセスを行う必要がある。結果的にアクセス必要領域２Ｎバイトに対してアクセス要求領域はＮバイトしかないためにその差であるＮバイト分は不要なデータとなり、データ転送効率が低下してしまう。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平９−１９０３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、より高度な画像圧縮技術であるMPEG4やH.264などにおいては、従来の画像圧縮技術に対して、より高精彩な画質を保ちつつ低ビットレート、高圧縮率を実現するため、デコード処理単位を4×4や8×8のように小さい画素単位で行うことが多くなっている。このような小さな画素をデコード処理するためには、より小さな画素データをメモリから取ってくる必要があるが、より高いデータ転送能力を実現するにあたって仮にメモリのバス幅を広くする方法を行うと、一度に取ってくるデータ量が多くなるため不要なデータへのアクセスが多くなってしまい、データ転送効率が低下してしまう。また、動作周波数を上げる方法を行っても、例えばDDR2の動作周波数帯域からDDR3の動作周波数帯域まで向上させると、システムの最大帯域は向上する半面、1コマンド単位の最小バースト長が増加し、1アクセスにおける最小データ量が増加するため、結果として不要なデータへのアクセスが増加し、同様にデータ転送効率が低下してしまう。【００１７】
ただし、通常のDRAMでは1回のアクセスに対してはバス幅×基本バースト長分のデータ転送を1つのバンクに対して行うが、より改良されたDRAMでは、DRAM内部にあるバンクを複数のグループ（例えばグループA、B）に分かれており、あるグループ（例えばグループA）との転送を半分行った後であれば、その異なるグループ（例えばグループB）への転送を差し挟むことができ、本来の半分のバースト長でのアクセスを実現できる。例えば、基本となるバースト長が８、バンク数が８である改良DRAMでは、４バンクずつ2つのグループA、Bとに分けられ、まずグループAのバンク0へ４バーストのデータ転送を行った後に、グループBのバンク0（あるいは1,2,3）へ４バーストのデータ転送を行うことができる。その後も、グループAのバンク0（あるいは1,2,3）へのデータ転送を行うなど、基本となるバースト長より短い転送を行うことができる。しかし、このような改良DRAMを有効に活用するためには、従来同様にバンクのみを考慮した制御ではデータ転送効率はほとんど向上せず、また単純にグループを考慮した制御でも、同一グループへの転送が連続するケースもあり、データ転送効率が悪くなる。【００１８】
本発明は、前記従来の課題を解決するもので、複数グループに分かれたバンクをもつ改良DRAMを使用した、データ転送の効率化を実現するメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するために本発明のメモリ制御装置は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部とを備え、前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に第１アクセスコマンドと第２アクセスコマンドを含む前記複数のアクセスコマンドを生成し、前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである。【００２０】
この構成によれば、異なるグループに属する２つのバンク間で共用可能なプリフェッチバッファを有する改良されたメモリを使用し、本来の基本バースト長の半分のバースト長のアクセスをペアにすることによって、データ転送の効率を向上させることができる。【００２１】
ここで、前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、前記コマンド生成部は、さらに、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つのバンクに跨って連続する場合に、前記第１アクセスコマンドと前記第２アクセスコマンドと含む前記複数のアクセスコマンドを生成するようにしてもよい。【００２２】
この構成によれば、マスタからのコマンドをメモリごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。【００２３】
ここで、前記画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。【００２４】
この構成によれば、データブロックの境界と同数のペア（第１および第２アクセスコマンド）を生成することができる。【００２５】
ここで、前記データブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズであってもよい。【００２６】
この構成によれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。【００２７】
ここで、前記データブロックは最小アクセス単位であってもよい。【００２８】
この構成によれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。【００２９】
ここで、列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。【００３０】
この構成によれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する２つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。【００３１】
ここで、前記第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行であってもよい。ここで、前記Ｍは２であってもよい。【００３２】
この構成によれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。【００３３】
また、本発明のメモリシステムは、画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、上記のメモリ制御装置とを有するメモリシステムであって、前記メモリは、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有する。【００３４】
また、本発明のメモリ制御方法は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップとを有し、前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第１アクセスコマンドと前記第２アクセスコマンドを生成し、前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである。【００３５】
このように本発明のメモリ制御方法によれば、マスタからのメモリアクセス要求を受け取りメモリへのアクセスコマンドを生成するコマンド生成部と、前記コマンド生成部においてメモリ内にある複数のグループで構成されたバンクがどのグループに属するかを判定するグループ判定部と、前記コマンド生成部において生成されたメモリコマンドをメモリへ発行するコマンド発行部と、前記コマンド発行部において発行されたコマンド順序からデータの転送を行うデータ制御部とを有し、複数のグループに対するアクセスを並列に行う。【００３６】
本構成によって、必要なデータを比較的均等に異なるグループへ配置し、小さな画素データへのアクセス時には、本来の基本となるバースト長の半分のアクセスでグループを切り替えることで、データ転送の効率化を行うことができる。
【発明の効果】
【００３７】
本発明のメモリ制御装置および方法においては、システム全体としてより高い帯域が必要なために、より高いデータ転送能力を持つDRAMを使用する場合において、バンクが複数グループに分かれている改良DRAMを使用し、必要なデータが比較的均等に異なるグループに配置し、さらにグループを切り替えながらアクセスすることで、小さい画素単位の処理を行うH.264等の画像処理技術をより少ないデータ転送能力で実現することができる。これにより、さらにより高性能なメモリモジュールを使用しなくてもデータ転送効率の高いシステムを実現することができる。【００３８】
（本願の技術的背景に関する情報）
２００８年４月２２日に出願された出願番号２００８−１１１１８５の日本出願の明細書、図面および請求の範囲における開示は、その全体を参照により本願に取り込む。
【図面の簡単な説明】
【００３９】
【図１Ａ】図１Ａは従来技術におけるＤＲＡＭの種類、動作周波数およびバースト長を示す図である。
【図１Ｂ】図１Ｂは従来技術におけるＤＲＡＭにおいてバンクインタリーブに適してデータ配置を示す図である。
【図２】図２は図１Ｂのデータ配置において不要なデータへのアクセスが発生する一例を示す図である。
【図３Ａ】図３Ａは本発明の実施の形態１におけるメモリに含まれる改良ＤＲＡＭの構成例を示すブロック図である。
【図３Ｂ】図３Ｂは本発明の実施の形態１におけるメモリデータ配置例を示す図である。
【図４】図４は前記図２と同一のアクセス要求が前記図３Ｂのデータ配置で起こった場合のアクセス必要領域を示している。
【図５Ａ】図５Ａは本発明の実施の形態１におけるメモリ制御装置の構成を示すブロック図である。
【図５Ｂ】図５Ｂは本発明の実施の形態１におけるメモリアクセス制御方法を示すフローチャートである。
【図６】図６は従来技術におけるメモリ制御方法でのタイミングチャート例を示す図である。
【図７】図７は本発明の実施の形態１におけるメモリ制御方法でのタイミングチャート例を示す図である。
【図８】図８は本発明の実施の形態１におけるメモリ制御方法でのフレームバッファ構成を示す図である。
【図９】図９は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１０】図１０は本発明の実施の形態１におけるメモリ制御方法のフレームバッファ構成例を示す図である。
【図１１】図１１は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１２】図１２は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１３】図１３は本発明の実施の形態２におけるメモリ制御装置の構成を示すブロック図である。
【図１４】図１４は本発明の実施の形態２におけるメモリ制御方法のフローチャート図である。
【図１５】図１５は本発明の実施の形態２におけるフレームバッファ構成例を示す図である。
【図１６】図１６は本発明の実施の形態２における画像アクセス時のタイミングチャート例を示す図である。
【図１７】図１７は本発明を適用するためのシステム構成例を示す図である。
【図１８】図１８は本発明を搭載したシステムＬＳＩならびにセットシステムの適用例を示す図である。
【発明を実施するための形態】
【００４０】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００４１】
（実施の形態１）
実施の形態１におけるメモリ制御装置は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御する。
【００４２】
まず、メモリ制御装置がアクセスするメモリの構成例を説明する。
【００４３】
図３Ａは、本発明の実施の形態１におけるメモリ制御装置がアクセスするメモリに含まれるＤＲＡＭの構成例を示すブロック図である。なお、データバスは３２ビット、６４ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために１ビットに対応する部分のみを示している。例えばメモリのデータバスが３２ビットである場合、メモリは、同図のＤＲＡＭを３２個並列化した構成とすればよい。
【００４４】
同図のＤＲＡＭ２０１は、４つのバンクＡ０〜Ａ３を含む第１グループＡと、４つのバンクＢ０〜Ｂ３を含む第２グループＢと、Ｎ（同図ではＮは８）ビットのプリフェッチバッファ２０２と、パラレル−シリアル変換部（以下Ｐ−Ｓ変換部）２０３とを含み、ＤＤＲ３を改良したＤＲＡＭ２０１（以下改良ＤＲＡＭと呼ぶ。）である。
【００４５】
バンクＡ０〜Ａ３、Ｂ０〜Ｂ３はそれぞれ、１個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの１ビットのデータをプリフェッチバッファ２０２に入出力する。各バンクの動作周波数は１３３ＭＨｚでよい。
【００４６】
プリフェッチバッファ２０２は、第１動作モードと第２動作モードとを含む少なくとも２つの動作モードを有する。
【００４７】
第１動作モードは、図中の破線矢印および括弧で示すように、ＤＤＲ３と同様の通常のアクセスモードである。すなわち、第１動作モードにおいてプリフェッチバッファ２０２は、アドレスにより指定されたバンクの１つとの間で８ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、Ｐ−Ｓ変換部２０３を介してデータバスとの間では８倍の周波数１０６６ＭＨｚでシリアルにデータを入出力する。
【００４８】
第２動作モードは、図中の実線矢印および括弧で示すように、第１グループに属する１つのバンクと、第２グループに属する１つのバングとで、プリフェッチバッファ２０２を半分ずつ共用するモードである。すなわち、第２動作モードにおいてプリフェッチバッファ２０２は、第１グループ内のバンクの１つとプリフェッチバッファ２０２の半分（例えば上位４ビット）との間でデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、同時に、第２グループ内のバンクの１つとプリフェッチバッファ２０２の残り半分（例えば下位４ビット）との間でデータを１３３ＭＨｚの動作周波数でパラレルに入出力する。また、第２動作モードにおいてプリフェッチバッファ２０２は、Ｐ−Ｓ変換部２０３を介してデータバスとの間では８倍の周波数１０６６ＭＨｚで８ビットのデータをシリアルに入出力する。
【００４９】
改良ＤＲＡＭが第１動作モードで動作するか第２動作モードで動作するかは、マスタからメモリアクセス制御装置を介して与えられる改良ＤＲＡＭへのアクセスコマンド（以下メモリコマンド）により決定される。第１動作モードは１つのメモリコマンドにより実行される。
【００５０】
第２動作モードは、ペアとなる２つのメモリコマンド（以下第１メモリコマンドと第２メモリコマンドと呼ぶ）により実行される。
【００５１】
第１メモリコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドである。
【００５２】
第２メモリコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１メモリコマンドと共用して、第２のグループに属するバンクへのアクセスを指示するコマンドである。
【００５３】
このように改良ＤＲＡＭは、第２動作モードをサポートすることにより、基本バースト長Ｎ（ここではＮ＝８）の半分のバースト長Ｎ／２（ここでは４）でアクセスを指示する２つのメモリコマンドに、プリフェッチバッファ２０２を共有させる。その結果、基本バースト長Ｎでアクセスする第１動作モードと比べて、第２動作モードでは、無駄になるデータを削減し、データバスの使用効率を向上させることに役立つ。なお、メモリ内のグループの数は２つでも３つでもよく、バンクを排他的に含むグループであれば複数個でよい。また、グループ内のバンク数は１以上でよい。
【００５４】
図３Ｂは前記改良ＤＲＡＭにおいて特に２つのグループにより構成されるＤＲＡＭを一例としてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のグループにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅／２と表されるＮ／２バイトのデータに続いて第2のグループにある同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅／２と表されるＮ／２バイトのデータを交互に配置したものである。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばグループ数が２であり、基本アクセス単位を１／２で中断できるとすれば、最小アクセス単位は基本アクセス単位／２と同一となる。
【００５５】
なおここではグループ数を２としているが、２以上のグループ数で構成されていても構わない。
【００５６】
図４は前記図２と同一のアクセス要求が前記図３Ｂのデータ配置で起こった場合のアクセス必要領域を示している。最小アクセス単位が基本アクセス単位／２であることから、アクセス要求領域とアクセス必要領域が同一となり、不要なデータアクセスが発生しないことがわかる。
【００５７】
図５Ａは本発明の実施の形態１におけるメモリ制御装置の構成を示すブロック図である。同図のメモリ制御装置１０１は、コマンド生成部１０２、デバイス判定部１０３、データ制御部１０６を備える。コマンド生成部１０２は、アドレス変換部１０８、グループ判定部１０４を備える。
【００５８】
図５Ａにおいて、マスタ１０７はメモリ制御装置１０１に対してメモリに対してアクセスするコマンド（以下マスタコマンドとする）を発行し、コマンド生成部１０２は前記マスタ１０７により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド（以下メモリコマンドとする）を生成し、コマンド発行部１０５へメモリコマンドを渡す。前記コマンド生成部１０２にあるグループ判定部１０４では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ（例えばグループAとグループB）へのアクセスが含まれる。前記グループ判定部１０４を含むコマンド生成部１０２で生成されたメモリコマンドはグループごとに分けて前記コマンド発行部１０５へ渡される。前記コマンド発行部１０５は、前記コマンド生成部１０２により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部１０６では、前記コマンド発行部１０５からメモリ０へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってメモリ０へ転送し、メモリからのリードアクセス時には、メモリ０からのデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００５９】
図５Ｂは、本発明のメモリ制御装置におけるメモリアクセス制御方法を示すフローチャートである。マスタコマンドが、画像データ中の矩形領域を示す論理アドレスを含む場合について説明する。
【００６０】
メモリアクセス制御方法は大きくは、２つの動作からなる。第１に、コマンド生成部１０２は、画像データ中の矩形領域を示す論理アドレスを含むアクセス要求（マスタコマンド）に基づいて、物理アドレスを含む複数のアクセスコマンド（メモリコマンド）を生成する（ステップ５１〜５６）。第２にコマンド発行部１０５およびデータ制御部１０６は、コマンド生成部１０２によって生成された複数のメモリコマンドをメモリに発行し、アクセスされたデータを転送する（ステップ５７〜ステップ６０）。
【００６１】
より詳しく説明すると、アドレス変換部１０８は、論理アドレスと物理アドレスの対応表または変換規則を内部に保持しており、上記の論理アドレスを含むマスタコマンドを受け取ると、矩形を表す論理アドレスを複数の物理アドレスに変換する（ステップ５１）。
【００６２】
例えば、論理アドレスが、図９の「必要なデータ」に対応する矩形領域を示す場合、アドレス変換部１０８は、４セットの物理アドレスに変換する。つまり、１セット目は、データブロック０、８、４中のハッチングされている部分を指す物理アドレスになる。２セット目は、データブロック１、９、５中のハッチングされている部分を指す物理アドレスになる。３セット目は、データブロック２、１０、０中のハッチングされている部分を指す物理アドレスになる。４セット目は、データブロック３、１１、７中のハッチングされている部分を指す物理アドレスになる。
【００６３】
グループ判定部１０４は、変換された物理アドレスのセットに対応するバンクがどのグループに属するかを判定（ステップ５２）する。さらに、コマンド生成部１０２は、物理アドレスのセットが示すアクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合、第１アクセスコマンドと第２アクセスコマンドのペアを生成し（ステップ５３、５４）、そうでない場合、ペアでない１個のメモリコマンドを生成する（ステップ５３、５５）。ここで、第１アクセスコマンドと第２アクセスコマンドのペアは、既に説明したように、プリフェッチバッファ２０２を半分ずつ共用する。
【００６４】
コマンド生成部１０２は、未処理の物理アドレスのセットが残っている場合には、ステップ５３に戻り、未処理の物理アドレスのセットが残っていない場合には、ステップ５７に進む（ステップ５６）。
【００６５】
コマンド発行部１０５は、コマンド生成部１０２によって生成された各メモリコマンドに対応して、メモリへの個々のコマンド（ACTIVATE、READ、WRITE、PRECHARGE等）の発行制御ならびに発行タイミングを制御する。データ制御部１０６では、コマンド発行部１０５からメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってデータをメモリ０へ転送し、メモリへのリードアクセス時には、メモリ０からデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００６６】
図６は、比較例として、従来技術で示した図２におけるＲｅａｄアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、アクセスするDRAMを３２ビットのバス幅を持つDDR２とし、基本となるバースト長を４である場合を例に説明する。図２のように基本アクセス単位の途中からＮバイトを要求された場合、第２のバンクの基本アクセス単位をＲｅａｄするためにｔ７においてＲｅａｄ０を発行する。次に、第１のバンクの基本アクセス単位をＲｅａｄするためにｔ９においてＲｅａｄ１を発行する。データは第２のバンクの基本アクセス単位をｔ１０とｔ１１のタイミングでＲｅａｄデータを取得し、ｔ１２とｔ１３のタイミングで第１のバンクの基本アクセス単位のＲｅａｄデータを取得する。しかし、アクセス要求領域にあるデータはｔ１１とｔ１２のタイミングのデータだけであるので、マスタへの出力データはｔ１１とｔ１２のタイミングのデータを出力するだけで十分である。結果的にｔ１０からｔ１３を用いて取得したＲｅａｄデータに対して有効なデータはｔ１１とｔ１２にしか無く転送効率は５０％となる。
【００６７】
図７は図４におけるＲｅａｄアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、図６と同様にアクセスするDRAMを３２ビットのバス幅を持つDDR２とし、基本となるバースト長を４である場合を例に説明する。図４のように基本アクセス単位の途中からＮバイトを要求された場合、第２のグループの基本アクセス単位をＲｅａｄするためにｔ７においてＲｅａｄ０を発行する。次に、前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、第１のグループの基本アクセス単位をＲｅａｄするためにｔ８においてＲｅａｄ１を発行する。データは第２のバンクの基本アクセス単位をｔ１０のタイミングでＲｅａｄデータを取得し、ｔ１１のタイミングで第１のバンクの基本アクセス単位のＲｅａｄデータを取得する。アクセス要求領域とアクセス必要領域が同一であるため、マスタへの出力データはｔ１０とｔ１１のタイミングのデータをそのまま出力するだけで十分である。結果的にｔ１０とｔ１１を用いて取得したＲｅａｄデータに対して有効なデータは同じくｔ１０とｔ１１であるため転送効率は１００％となる。
【００６８】
なおここでは使用した前記改良DRAMのバス幅を３２ビット、基本となるバースト長を４であるとして説明したが前記バス幅および基本となるバースト長だけに限らず、基本となるバースト長が２以上であればいずれであってもよい。
【００６９】
図８は前記改良ＤＲＡＭ上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、１つのメモリ０を使用するシステム構成を持つ場合のデータの配置方法を図８に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、A、B）の順で繰り返し配置し、垂直方向には同一グループAもしくはBをストライプ状に配置する。
【００７０】
図９は前記図８のデータ配置方法を用いたフレームバッファに対して矩形の画素データへアクセスする場合の一例を示したものである。図９に“必要なデータ”として示されている矩形の画素データへアクセスする際は、DRAMに対する最小アクセス単位が決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図９のようにデータブロックの境界までアクセスする必要があり、結果的に“実際に転送されるデータ”として示されている矩形の画素データへアクセスすることとなる。
【００７１】
図１０は前記改良ＤＲＡＭ上にあるデータを用いてフレームバッファを構成した場合のデータ配置で図８とは別の一例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、図８と同様に最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、１つのメモリ０を使用するシステム構成を持つ場合のデータの配置方法を図１０に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、A、B）の順で繰り返し配置し、垂直方向にはグループAおよびBを（A、B、A、B）と格子状に配置する。
【００７２】
図１１は前記図８のデータ配置方法を用いたフレームバッファに対して図１１に示すようなデータ要求があった場合に実際に転送されるデータが増大し、データ転送効率が悪化する一例を示している。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック０をデータブロック８で、データブロック１をデータブロック９で上書きする。同様に、データブロック２と１０、データブロック３と１１と上書きすることができるが、一方データブロック４、５、６および７を上書きできるグループＢの転送が必要となるため、データブロック１２、１３、１４および１５も実際に転送されるデータとなってしまい、結果的にデータ転送効率の低下を招く。
【００７３】
なおここで、データブロック０をデータブロック８といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
【００７４】
図１２は前記図１０のデータ配置方法を用いたフレームバッファに対して前記図１１と同一のデータ要求があった場合に実際に転送されるデータの一例を示している。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック０をデータブロック１で、データブロック２をデータブロック３で上書きする。同様に、データブロック８と９、データブロック１０と１１、データブロック４と５、データブロック６と７と転送すれば図８に示すデータ配置よりもさらに転送効率を向上させることができる。
【００７５】
なおここで、データブロック０をデータブロック１といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
【００７６】
また、メモリ０中の画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、データブロックの境界と同数のペア（第１および第２アクセスコマンド）を生成することができる。
【００７７】
ここで、上記のデータブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズであってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００７８】
また、上記のデータブロックは最小アクセス単位であってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００７９】
ここで、列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する２つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。
【００８０】
ここで、第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行であってもよい。
【００８１】
なお、Ｍは２であってもよい。こうすれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。
【００８２】
また、本発明のメモリシステムは、画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、上記のメモリ制御装置と有するメモリシステムであって、前記メモリは、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有する構成としても良い。
【００８３】
（実施の形態２）
本発明の実施の形態２では、実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
【００８４】
図１３は、本発明の実施の形態２におけるメモリ制御装置の構成を示すブロック図である。
【００８５】
図１３において、マスタ１０７はメモリ制御装置１０１に対してメモリに対してアクセスするコマンド（以下マスタコマンドとする）を発行し、コマンド生成部１０２は前記マスタ１０７により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド（以下メモリコマンドとする）を生成し、コマンド発行部１０５へメモリコマンドを渡す。前記コマンド生成部１０２にあるデバイス判定部１０３では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドが、メモリ０および１の両方あるいはいずれかへのアクセスであるかどうかを判定し、同じく前記コマンド生成部１０２にあるグループ判定部１０４では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ（例えばグループAとグループB）へのアクセスが含まれる。前記デバイス判定部１０３ならびに前記グループ判定部１０４を含むコマンド生成部１０２で生成されたメモリコマンドはデバイスごと、およびグループごとに分けて前記コマンド発行部１０５へ渡される。前記コマンド発行部１０５は、前記コマンド生成部１０２により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部１０６では、前記コマンド発行部１０５からメモリ０および１へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってメモリ０および１へ転送し、メモリからのリードアクセス時には、メモリ０および１からのデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００８６】
図１４は、本発明の実施の形態２におけるメモリ制御方法のフローチャート図である。
【００８７】
図１４において、ステップ０１では前記マスタ１０７からのアクセス要求を前記コマンド生成部で受け取り、前記デバイス判定部１０３ならびに前記グループ判定部１０４によりメモリ０ならびにメモリ１へのいずれのアクセスであるかどうか、また複数グループのうちいずれのグループへあるかどうかの判定を行い、それぞれのメモリならびにグループに対応したメモリコマンドを生成する。ステップ０２では前記コマンド発行部において、生成されたメモリコマンドが同一単位領域へのアクセスであるかどうかを判定し、同一単位領域へのアクセスである場合にはステップ０３へ、そうでない場合にはステップ０５へ進む。以下ステップ０３からステップ０８までは前記コマンド発行部において行う。ステップ０３では複数のメモリ０、１へ同時にグループAへの共通のアドレスを持つメモリコマンドを出力し、ステップ０４では、メモリ０、１へ同時にグループBへの共通のアドレスを持つメモリコマンドを出力する。ステップ０５では、メモリ０のグループAに対応したアドレスを出力し、ステップ０６では、メモリ１のグループAに対応したアドレスを出力する。ステップ０７では、メモリ０のグループBに対応したアドレスを出力し、ステップ０８ではメモリ１のグループBに対応したアドレスを出力する。ステップ０９では前記データ制御部においてメモリへの書き込みであるかどうかを判定し、メモリへの書き込みであればステップ１０へ進み、そうでない場合（メモリからの読み出し）であればステップ１１へ進む。ステップ１０ではマスタ１０７からメモリへのデータを受け取り、コマンド発行順情報に従ってメモリ０ならびにメモリ１へデータを出力する。ステップ１１では、メモリ０ならびにメモリ１からデータを受け取り、コマンド発行順情報に従ってマスタへデータを転送する。
【００８８】
上記ステップ０１におけるメモリコマンド生成処理は、図５Ｂのステップ５１〜ステップ５６とほぼ同様であるが、以下の点が異なっている。すなわち、コマンド生成部１０２は、グループ判定部１０４の判定およびデバイス判定部１０３の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つのバンクに跨って連続する場合に、第１メモリコマンドと第２メモリコマンドとのペアを生成する。
【００８９】
図１５は、メモリ上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持ち、水平方向にA1個、垂直方向にA2個の画素データを配置している。メモリに対するデータ転送において、最小アクセスサイズでアクセスするデータをデータブロックという単位として、2つのグループA、BをもつDRAMを使用し、2つのメモリ０、１を使用するシステム構成を持つ場合のデータの配置方法を図１５に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、B、A）の順で繰り返し配置し、垂直方向にはグループAおよびBを2ラインごとに配置する。このようなフレームバッファに対して矩形の画素データへアクセスする際は、DRAMに対する最小アクセスサイズが決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図１５のようにデータブロックの境界までアクセスする必要がある。
【００９０】
図１６は、図１５における矩形の画素データを取得する際の、メモリバス上におけるタイミングチャート例である。矩形の画素データへのアクセスの際には、単位領域へのアクセスではメモリ０およびメモリ１へ同時にCSを有効状態とし、共通のアドレスを同時にアクセスする。また単位領域ではないアクセスに対しては、メモリ０およびメモリ１に対して時間をずらしてCSを有効状態とし、異なるアドレスそれぞれへアクセスを行う。
【００９１】
かかる構成によれば、コマンド生成部にあるデバイス判定部ならびにグループ判定部をもつことにより、マスタからのコマンドをデバイスごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。
【００９２】
なお、本実施の形態において、コマンド発行部からメモリ０およびメモリ１へ出力するコマンド線は共通に設けたが、個別のコマンド線を設けてもよいし、一部のコマンド線のみ例えばアドレスの上位ビットのみあるいは下位ビットのみを共通としても良い。
【００９３】
なお、フレームバッファにおけるデータ配置に関して、本実施の形態におけるデータ配置だけでなく、横方向に対してはグループAのデータブロックとグループBのデータブロックを交互に配置し、縦方向に対しては、同一グループ同一バンク同一ロウのデータを配置するデータ配置でもよい。その場合には、DRAMのカラムアドレスを横方向に連続してもよいし、データブロック分のカラムアドレスを横方向に進んだ後、一つ下のLineにあるデータブロック対して連続してもよいし、1Line飛ばして2つ下のLineにあるデータブロックに対して連続してもよい。なお、データブロック分にカラムアドレスを横方向に進んだ後に、2つ下のLineにあるデータブロックに対して連続したカラムアドレスを配置した場合に、本実施の形態と同様に、画像アクセスにおいてはあるデータブロックにアクセスしたのちに、1Line飛ばしの2Line下のデータブロックへアクセスする方法をとることもある。この場合、本実施の形態においては2Lineごとに異なるグループとなるデータ配置であったが、同一バンク同一ロウのデータであるため、通常はデータブロックごとにコマンドを発行してアクセスしていたのに対して、複数のデータブロック分のバースト長を伸ばしてアクセスさせてもよい。
【００９４】
また、上記各実施の形態では、プリフェッチバッファ２０２が２つの異なるグループに属する２つのバンク間で共用される構成を説明したが、３つ以上の異なるグループに属する３つ以上のバンク間で共用されてもよい。この場合、Ｎビットのプリフェッチバッファ２０２は共用するバンクの数ｍとすると、共用する各バンク毎にＮ／ｍビットずつ使用すればよい。
【００９５】
また、図１７に本発明を適用するためのシステム構成として、Blu-rayレコーダシステムのシステム構成例を示す。図１７では本発明をメディア処理用LSIにおけるメモリ制御回路に対して適用した例である。同図のメモリ制御回路は図５Ａまたは図１３のメモリ制御装置に相当する。なお、メディア処理用LSIのメモリ制御回路を実施例としてあげているが、DMA制御回路内の調停回路へ適用してもよいし、光学Disc制御回路等にある調停回路へ適用してもよい。
【００９６】
また、図１８では本発明を搭載したシステムＬＳＩならびにセットシステムの適用例である。同図のシステムＬＳＩは、図１７中のメディア処理用ＬＳＩに相当する。このように本発明は、システムＬＳＩのみならず、携帯電話、放送受信装置、蓄積再生装置、デジタルテレビ、車載端末、自動車等多くの製品に適用可能である。
【産業上の利用可能性】
【００９７】
本発明にかかるメモリ制御方法においては、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラ、携帯電話などのデジタルAV家電システムや、パソコンなどにおける画像処理システムにおいても利用できる。
【符号の説明】
【００９８】
１０１  メモリ制御装置
１０２  コマンド生成部
１０３  デバイス判定部
１０４  グループ判定部
１０５  コマンド発行部
１０６  データ制御部
１０７  マスタ
１０８  アドレス変換部
２０１  ＤＲＡＭ
２０２  プリフェッチバッファ
２０３  Ｐ−Ｓ変換部
【図１Ａ】
2009130888.tif 000003
【図１Ｂ】
2009130888.tif 000004
【図２】
2009130888.tif 000005
【図３Ａ】
2009130888.tif 000006
【図３Ｂ】
2009130888.tif 000007
【図４】
2009130888.tif 000008
【図５Ａ】
2009130888.tif 000009
【図５Ｂ】
2009130888.tif 000010
【図６】
2009130888.tif 000011
【図７】
2009130888.tif 000012
【図８】
2009130888.tif 000013
【図９】
2009130888.tif 000014
【図１０】
2009130888.tif 000015
【図１１】
2009130888.tif 000016
【図１２】
2009130888.tif 000017
【図１３】
2009130888.tif 000018
【図１４】
2009130888.tif 000019
【図１５】
2009130888.tif 000020
【図１６】
2009130888.tif 000021
【図１７】
2009130888.tif 000022
【図１８】
2009130888.tif 000023
【手続補正書】
【提出日】平成21年10月19日(2009.10.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファと、前記プリフェッチバッファとデータバスとの間でパラレル−シリアル変換を行うパラレル−シリアル変換部とを含み、画像データを記憶しバースト長ＮでバーストアクセスされるＤＲＡＭへのアクセスを制御するメモリ制御装置であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記ＤＲＡＭに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に第１アクセスコマンドと第２アクセスコマンドとを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御装置。
【請求項２】
前記メモリ制御装置は、前記ＤＲＡＭを含む複数のＤＲＡＭに接続され、
前記コマンド生成部は、さらに、
前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のＤＲＡＭのどれに属するかを判定するメモリ判定部を備え、
前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、１つのＤＲＡＭに属し、かつ、異なるグループに属する２つのバンクに跨って連続する場合に、前記第１アクセスコマンドと前記第２アクセスコマンドとを含む前記複数のアクセスコマンドを生成する
請求項１に記載のメモリ制御装置。
【請求項３】
前記画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属する
請求項１または２に記載のメモリ制御装置。
【請求項４】
前記データブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズである
請求項３に記載のメモリ制御装置。
【請求項５】
前記データブロックは最小アクセス単位である
請求項３に記載のメモリ制御装置。
【請求項６】
列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属する
請求項３に記載のメモリ制御装置。
【請求項７】
前記第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行である
請求項６に記載のメモリ制御装置。
【請求項８】
前記Ｍは２である請求項６または７に記載のメモリ制御装置。
【請求項９】
画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるＤＲＡＭと、メモリ制御装置とを有するメモリシステムであって、
前記ＤＲＡＭは、
複数のバンクを含む第１グループと、
複数のバンクを含む第２グループと、
Ｎビットのプリフェッチバッファと、
前記プリフェッチバッファとデータバスとの間でパラレル−シリアル変換を行うパラレル−シリアル変換部と
を備え、
前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有し、
前記メモリ制御装置は、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記ＤＲＡＭに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定するグループ判定部を有し、グループ判定部の判定結果に基づいて第１アクセスコマンドと第２アクセスコマンドを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するパンクへのアクセスを指示するコマンドである
メモリシステム。
【請求項１０】
請求項１〜８のいずれか１項に記載のメモリ制御装置が形成された半導体集積回路。
【請求項１１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファと、前記プリフェッチバッファとデータバスとの間でパラレル−シリアル変換を行うパラレル−シリアル変換部とを含み、画像データを記憶しバースト長ＮでバーストアクセスされるＤＲＡＭへのアクセスを制御するメモリ制御方法であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記ＤＲＡＭに発行するコマンド発行ステップと
を有し、
前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第１アクセスコマンドと前記第２アクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御方法。
【手続補正書】
【提出日】平成22年10月21日(2010.10.21)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理システムにおいて、データ転送を効率的に行うメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法に関するものである。
【背景技術】
【０００２】
一般に、民生向けの画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるＤＲＡＭが用いられる。特に、近年の画像処理装置は、ＭＰＥＧ２やＨ．２６４等のＨＤ（High Definition）画像処理への対応や、同時複数チャンネル処理、高画質な３Ｄグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力を有するＤＲＡＭを必要としている。その高いデータ転送能力を実現するためには、（１）バスの動作周波数を上げる方法、（２）メモリのバス幅を広くとる方法、またはこれらの方法（１）、（２）を併用する方法などが知られている。
【０００３】
一方、ＤＲＡＭはアクセスを行う際、事前にアクセスするバンク・ロウを指定して、アクティベート処理を行う必要がある。また、同一バンクにおいて、アクセスするロウを変更する場合は、一旦アクセスしていたロウをプリチャージ処理し、新たにアクセスするロウに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一バンク内で、ロウを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常ＤＲＡＭアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、DRAMとのデータバス上で常時データ転送を可能とする、バンクインタリーブと呼ばれる制御が行われる。このバンクインタリーブを有効に機能させるためには、同一バンクへの連続データ転送時間を長くし、あるバンクの前記アクセス不可期間を、該当バンク以外へのデータ転送で隠蔽する必要がある。
【０００４】
このアクセス不可期間による非効率転送問題に対する従来の手法として、特許文献１に記載のものがある。この手法では、カウンタ０、１の信号を元に、メモリＡ、Ｂを特定のタイミングで交互に時分割アクセスすることにより、単一メモリで発生するアクセス不可期間を、他方のメモリのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。しかし、前記従来技術では、複数のメモリを利用しているにも関わらず、同時にアクセスできるメモリは１つであるため、システムが使用できる最大メモリ帯域は、１つのメモリが持つメモリ帯域に限定される。
【０００５】
図１Ａは、従来技術におけるＤＲＡＭの種類、動作周波数およびバースト長を示す図である。同図は、４つの種類のＤＲＡＭ、すなわち、ＳＤＲ（Single Data Rate） ＳＤＲＡＭ（Synchronous ＤＲＡＭ）、ＤＤＲ（Double Data Rate） ＳＤＲＡＭ、ＤＤＲ２ ＳＤＲＡＭ、ＤＤＲ３  ＳＤＲＡＭに関する（以下、ＳＤＲ、ＤＤＲ、ＤＤＲ２、ＤＤＲ３と略す）。この４つのＤＲＡＭそれぞれの内部バス動作周波数とデータバス動作周波数とが図示してある。なお、データバスは３２ビット、６４ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために１ビットに対応する部分のみを示している。
【０００６】
ＳＤＲは、メモリコアとＩ／Ｏバッファとを含む。メモリコアは１個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの１ビットのデータをＩ／Ｏバッファを介してデータバスに入出力する。ＳＤＲの内部バス動作周波数（１３３ＭＨｚ）は外部データバス動作周波数（１３３ＭＨｚ）と同じである。
【０００７】
ＤＤＲ、ＤＤＲ２、ＤＤＲ３の各メモリコアは、ＳＤＲのメモリコアとほぼ同じである。
【０００８】
内部バスの動作周波数の上限はメモリコアの動作周波数の上限により定まる。すなわち、メモリセルとして用いられるキャパシタが応答可能な上限の周波数は約２００ＭＨｚと考えられ、メモリコアの動作周波数も約２００ＭＨｚを超えることができない。これに対してメモリをアクセスするマスタは年々高速化している。ＤＤＲ、ＤＤＲ２、ＤＤＲ３では、ＤＲＡＭを高速化する手法としてＩ／Ｏバッファとメモリコアとの間では複数ビットのデータをパラレルに入出力させ、Ｉ／Ｏバッファとデータバスとの間ではシリアルにデータを入出力させる手法が取られている。
【０００９】
ＤＤＲのＩ／Ｏバッファは、メモリコアとの間では２ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に２倍の周波数２６６ＭＨｚでシリアルにデータを入出力する。ＤＤＲにおける最小のバースト長（基本バースト長とも呼ばれる。）は２になる。
【００１０】
ＤＤＲ２のＩ／Ｏバッファは、メモリコアとの間では４ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に４倍の周波数５３３ＭＨｚでシリアルにデータを入出力する。ＤＤＲ２における最小のバースト長は４になる。
【００１１】
ＤＤＲ３のＩ／Ｏバッファは、メモリコアとの間では８ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、データバスとの間では実質的に８倍の周波数１０６６ＭＨｚでシリアルにデータを入出力する。ＤＤＲ３における最小のバースト長は８になる。ただし、ＤＤＲ３には、ＤＤＲ２との互換性を維持するために、Ｉ／Ｏバッファに保持された８ビットのうちの後半４ビットを破棄することによって、バースト長４をサポートする機能（バーストチョップ機能）がある。
【００１２】
このようにＳＤＲＡＭは、内部バスの動作周波数の高速化が困難であることをカバーするために、Ｉ／Ｏバッファを複数ビット化することによって外部のデータバスの動作周波数の高速化つまりメモリ帯域の拡大を実現している。
【００１３】
図１Ｂは一般的なＤＲＡＭにおいてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のバンクにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長（ＳＤＲＡＭでは１、ＤＤＲでは２、ＤＤＲ２では４、ＤＤＲ３では８など）×バス幅で表されるＮバイトのデータ（以後、基本アクセス単位と呼ぶ）に続いて第2のバンクにある前記基本アクセス単位で構成されるデータを配置する。以後同様に第Ｍのバンクにある同一ロウアドレスで連続したデータを配置する。こうすることでメモリアクセスする場合、複数のバンクが均一に出現することになるため、バンクインタリーブを効率よく実施することができる。図１Ｂでは一例としてバンク数が２である場合を示している。なお、一般的なＤＲＡＭにおいては前記基本となるバースト長以下の転送はできない（１度アクセス要求すると必ず基本となるバースト長×バス幅のデータの入出力が発生する）ため基本アクセス単位と最小アクセス単位とは同一となる。
【００１４】
図２は図１Ｂのように配置したデータ列に対して不要なデータへのアクセスが発生する場合の一例を示している。アクセス要求されているデータ領域（以後、アクセス要求領域と呼ぶ）が図２のように基本アクセス単位の途中からＮバイトを要求された場合、最小アクセス単位は基本アクセス単位と同一であるために、アクセス要求領域を含む全ての基本アクセス単位に対してデータ要求が必要となり、結果的に図２に示すような２Ｎバイト（以後、アクセス必要領域と呼ぶ）のアクセスを行う必要がある。結果的にアクセス必要領域２Ｎバイトに対してアクセス要求領域はＮバイトしかないためにその差であるＮバイト分は不要なデータとなり、データ転送効率が低下してしまう。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開平９−１９０３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、より高度な画像圧縮技術であるMPEG4やH.264などにおいては、従来の画像圧縮技術に対して、より高精彩な画質を保ちつつ低ビットレート、高圧縮率を実現するため、デコード処理単位を4×4や8×8のように小さい画素単位で行うことが多くなっている。このような小さな画素をデコード処理するためには、より小さな画素データをメモリから取ってくる必要があるが、より高いデータ転送能力を実現するにあたって仮にメモリのバス幅を広くする方法を行うと、一度に取ってくるデータ量が多くなるため不要なデータへのアクセスが多くなってしまい、データ転送効率が低下してしまう。また、動作周波数を上げる方法を行っても、例えばDDR2の動作周波数帯域からDDR3の動作周波数帯域まで向上させると、システムの最大帯域は向上する半面、1コマンド単位の最小バースト長が増加し、1アクセスにおける最小データ量が増加するため、結果として不要なデータへのアクセスが増加し、同様にデータ転送効率が低下してしまう。
【００１７】
ただし、通常のDRAMでは1回のアクセスに対してはバス幅×基本バースト長分のデータ転送を1つのバンクに対して行うが、より改良されたDRAMでは、DRAM内部にあるバンクを複数のグループ（例えばグループA、B）に分かれており、あるグループ（例えばグループA）との転送を半分行った後であれば、その異なるグループ（例えばグループB）への転送を差し挟むことができ、本来の半分のバースト長でのアクセスを実現できる。例えば、基本となるバースト長が８、バンク数が８である改良DRAMでは、４バンクずつ2つのグループA、Bとに分けられ、まずグループAのバンク0へ４バーストのデータ転送を行った後に、グループBのバンク0（あるいは1,2,3）へ４バーストのデータ転送を行うことができる。その後も、グループAのバンク0（あるいは1,2,3）へのデータ転送を行うなど、基本となるバースト長より短い転送を行うことができる。しかし、このような改良DRAMを有効に活用するためには、従来同様にバンクのみを考慮した制御ではデータ転送効率はほとんど向上せず、また単純にグループを考慮した制御でも、同一グループへの転送が連続するケースもあり、データ転送効率が悪くなる。
【００１８】
本発明は、前記従来の課題を解決するもので、複数グループに分かれたバンクをもつ改良DRAMを使用した、データ転送の効率化を実現するメモリ制御装置、メモリシステム、半導体集積回路およびメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
上記課題を解決するために本発明のメモリ制御装置は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部とを備え、前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に第１アクセスコマンドと第２アクセスコマンドを含む前記複数のアクセスコマンドを生成し、前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである。
【００２０】
この構成によれば、異なるグループに属する２つのバンク間で共用可能なプリフェッチバッファを有する改良されたメモリを使用し、本来の基本バースト長の半分のバースト長のアクセスをペアにすることによって、データ転送の効率を向上させることができる。
【００２１】
ここで、前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、前記コマンド生成部は、さらに、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つのバンクに跨って連続する場合に、前記第１アクセスコマンドと前記第２アクセスコマンドと含む前記複数のアクセスコマンドを生成するようにしてもよい。
【００２２】
この構成によれば、マスタからのコマンドをメモリごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。
【００２３】
ここで、前記画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。
【００２４】
この構成によれば、データブロックの境界と同数のペア（第１および第２アクセスコマンド）を生成することができる。
【００２５】
ここで、前記データブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズであってもよい。
【００２６】
この構成によれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００２７】
ここで、前記データブロックは最小アクセス単位であってもよい。
【００２８】
この構成によれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００２９】
ここで、列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。
【００３０】
この構成によれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する２つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。
【００３１】
ここで、前記第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行であってもよい。ここで、前記Ｍは２であってもよい。
【００３２】
この構成によれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。
【００３３】
また、本発明のメモリシステムは、画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、上記のメモリ制御装置とを有するメモリシステムであって、前記メモリは、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有する。
【００３４】
また、本発明のメモリ制御方法は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップとを有し、前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第１アクセスコマンドと前記第２アクセスコマンドを生成し、前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである。
【００３５】
このように本発明のメモリ制御方法によれば、マスタからのメモリアクセス要求を受け取りメモリへのアクセスコマンドを生成するコマンド生成部と、前記コマンド生成部においてメモリ内にある複数のグループで構成されたバンクがどのグループに属するかを判定するグループ判定部と、前記コマンド生成部において生成されたメモリコマンドをメモリへ発行するコマンド発行部と、前記コマンド発行部において発行されたコマンド順序からデータの転送を行うデータ制御部とを有し、複数のグループに対するアクセスを並列に行う。
【００３６】
本構成によって、必要なデータを比較的均等に異なるグループへ配置し、小さな画素データへのアクセス時には、本来の基本となるバースト長の半分のアクセスでグループを切り替えることで、データ転送の効率化を行うことができる。
【発明の効果】
【００３７】
本発明のメモリ制御装置および方法においては、システム全体としてより高い帯域が必要なために、より高いデータ転送能力を持つDRAMを使用する場合において、バンクが複数グループに分かれている改良DRAMを使用し、必要なデータが比較的均等に異なるグループに配置し、さらにグループを切り替えながらアクセスすることで、小さい画素単位の処理を行うH.264等の画像処理技術をより少ないデータ転送能力で実現することができる。これにより、さらにより高性能なメモリモジュールを使用しなくてもデータ転送効率の高いシステムを実現することができる。
【図面の簡単な説明】
【００３８】
【図１Ａ】図１Ａは従来技術におけるＤＲＡＭの種類、動作周波数およびバースト長を示す図である。
【図１Ｂ】図１Ｂは従来技術におけるＤＲＡＭにおいてバンクインタリーブに適してデータ配置を示す図である。
【図２】図２は図１Ｂのデータ配置において不要なデータへのアクセスが発生する一例を示す図である。
【図３Ａ】図３Ａは本発明の実施の形態１におけるメモリに含まれる改良ＤＲＡＭの構成例を示すブロック図である。
【図３Ｂ】図３Ｂは本発明の実施の形態１におけるメモリデータ配置例を示す図である。
【図４】図４は前記図２と同一のアクセス要求が前記図３Ｂのデータ配置で起こった場合のアクセス必要領域を示している。
【図５Ａ】図５Ａは本発明の実施の形態１におけるメモリ制御装置の構成を示すブロック図である。
【図５Ｂ】図５Ｂは本発明の実施の形態１におけるメモリアクセス制御方法を示すフローチャートである。
【図６】図６は従来技術におけるメモリ制御方法でのタイミングチャート例を示す図である。
【図７】図７は本発明の実施の形態１におけるメモリ制御方法でのタイミングチャート例を示す図である。
【図８】図８は本発明の実施の形態１におけるメモリ制御方法でのフレームバッファ構成を示す図である。
【図９】図９は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１０】図１０は本発明の実施の形態１におけるメモリ制御方法のフレームバッファ構成例を示す図である。
【図１１】図１１は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１２】図１２は本発明の実施の形態１におけるメモリ制御方法での画像アクセス方法を示す図である。
【図１３】図１３は本発明の実施の形態２におけるメモリ制御装置の構成を示すブロック図である。
【図１４】図１４は本発明の実施の形態２におけるメモリ制御方法のフローチャート図である。
【図１５】図１５は本発明の実施の形態２におけるフレームバッファ構成例を示す図である。
【図１６】図１６は本発明の実施の形態２における画像アクセス時のタイミングチャート例を示す図である。
【図１７】図１７は本発明を適用するためのシステム構成例を示す図である。
【図１８】図１８は本発明を搭載したシステムＬＳＩならびにセットシステムの適用例を示す図である。
【発明を実施するための形態】
【００３９】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００４０】
（実施の形態１）
実施の形態１におけるメモリ制御装置は、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御する。
【００４１】
まず、メモリ制御装置がアクセスするメモリの構成例を説明する。
【００４２】
図３Ａは、本発明の実施の形態１におけるメモリ制御装置がアクセスするメモリに含まれるＤＲＡＭの構成例を示すブロック図である。なお、データバスは３２ビット、６４ビット等の複数ビットのバス幅を有するが、同図では説明を平易にするために１ビットに対応する部分のみを示している。例えばメモリのデータバスが３２ビットである場合、メモリは、同図のＤＲＡＭを３２個並列化した構成とすればよい。
【００４３】
同図のＤＲＡＭ２０１は、４つのバンクＡ０〜Ａ３を含む第１グループＡと、４つのバンクＢ０〜Ｂ３を含む第２グループＢと、Ｎ（同図ではＮは８）ビットのプリフェッチバッファ２０２と、パラレル−シリアル変換部（以下Ｐ−Ｓ変換部）２０３とを含み、ＤＤＲ３を改良したＤＲＡＭ２０１（以下改良ＤＲＡＭと呼ぶ。）である。
【００４４】
バンクＡ０〜Ａ３、Ｂ０〜Ｂ３はそれぞれ、１個のメモリセルアレイに相当し、行アドレスと列アドレスで指定されたメモリセルアレイの１ビットのデータをプリフェッチバッファ２０２に入出力する。各バンクの動作周波数は１３３ＭＨｚでよい。
【００４５】
プリフェッチバッファ２０２は、第１動作モードと第２動作モードとを含む少なくとも２つの動作モードを有する。
【００４６】
第１動作モードは、図中の破線矢印および括弧で示すように、ＤＤＲ３と同様の通常のアクセスモードである。すなわち、第１動作モードにおいてプリフェッチバッファ２０２は、アドレスにより指定されたバンクの１つとの間で８ビットのデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、Ｐ−Ｓ変換部２０３を介してデータバスとの間では８倍の周波数１０６６ＭＨｚでシリアルにデータを入出力する。
【００４７】
第２動作モードは、図中の実線矢印および括弧で示すように、第１グループに属する１つのバンクと、第２グループに属する１つのバングとで、プリフェッチバッファ２０２を半分ずつ共用するモードである。すなわち、第２動作モードにおいてプリフェッチバッファ２０２は、第１グループ内のバンクの１つとプリフェッチバッファ２０２の半分（例えば上位４ビット）との間でデータを１３３ＭＨｚの動作周波数でパラレルに入出力し、同時に、第２グループ内のバンクの１つとプリフェッチバッファ２０２の残り半分（例えば下位４ビット）との間でデータを１３３ＭＨｚの動作周波数でパラレルに入出力する。また、第２動作モードにおいてプリフェッチバッファ２０２は、Ｐ−Ｓ変換部２０３を介してデータバスとの間では８倍の周波数１０６６ＭＨｚで８ビットのデータをシリアルに入出力する。
【００４８】
改良ＤＲＡＭが第１動作モードで動作するか第２動作モードで動作するかは、マスタからメモリアクセス制御装置を介して与えられる改良ＤＲＡＭへのアクセスコマンド（以下メモリコマンド）により決定される。第１動作モードは１つのメモリコマンドにより実行される。
【００４９】
第２動作モードは、ペアとなる２つのメモリコマンド（以下第１メモリコマンドと第２メモリコマンドと呼ぶ）により実行される。
【００５０】
第１メモリコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドである。
【００５１】
第２メモリコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１メモリコマンドと共用して、第２のグループに属するバンクへのアクセスを指示するコマンドである。
【００５２】
このように改良ＤＲＡＭは、第２動作モードをサポートすることにより、基本バースト長Ｎ（ここではＮ＝８）の半分のバースト長Ｎ／２（ここでは４）でアクセスを指示する２つのメモリコマンドに、プリフェッチバッファ２０２を共有させる。その結果、基本バースト長Ｎでアクセスする第１動作モードと比べて、第２動作モードでは、無駄になるデータを削減し、データバスの使用効率を向上させることに役立つ。なお、メモリ内のグループの数は２つでも３つでもよく、バンクを排他的に含むグループであれば複数個でよい。また、グループ内のバンク数は１以上でよい。
【００５３】
図３Ｂは前記改良ＤＲＡＭにおいて特に２つのグループにより構成されるＤＲＡＭを一例としてバンクインタリーブを有効に機能させることを想定したデータ配置の一例を表した図である。第1のグループにある、同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅／２と表されるＮ／２バイトのデータに続いて第2のグループにある同一ロウアドレスで連続したデータでかつ基本となるバースト長×バス幅／２と表されるＮ／２バイトのデータを交互に配置したものである。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばグループ数が２であり、基本アクセス単位を１／２で中断できるとすれば、最小アクセス単位は基本アクセス単位／２と同一となる。
【００５４】
なおここではグループ数を２としているが、２以上のグループ数で構成されていても構わない。
【００５５】
図４は前記図２と同一のアクセス要求が前記図３Ｂのデータ配置で起こった場合のアクセス必要領域を示している。最小アクセス単位が基本アクセス単位／２であることから、アクセス要求領域とアクセス必要領域が同一となり、不要なデータアクセスが発生しないことがわかる。
【００５６】
図５Ａは本発明の実施の形態１におけるメモリ制御装置の構成を示すブロック図である。同図のメモリ制御装置１０１は、コマンド生成部１０２、デバイス判定部１０３、データ制御部１０６を備える。コマンド生成部１０２は、アドレス変換部１０８、グループ判定部１０４を備える。
【００５７】
図５Ａにおいて、マスタ１０７はメモリ制御装置１０１に対してメモリに対してアクセスするコマンド（以下マスタコマンドとする）を発行し、コマンド生成部１０２は前記マスタ１０７により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド（以下メモリコマンドとする）を生成し、コマンド発行部１０５へメモリコマンドを渡す。前記コマンド生成部１０２にあるグループ判定部１０４では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ（例えばグループAとグループB）へのアクセスが含まれる。前記グループ判定部１０４を含むコマンド生成部１０２で生成されたメモリコマンドはグループごとに分けて前記コマンド発行部１０５へ渡される。前記コマンド発行部１０５は、前記コマンド生成部１０２により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部１０６では、前記コマンド発行部１０５からメモリ０へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってメモリ０へ転送し、メモリからのリードアクセス時には、メモリ０からのデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００５８】
図５Ｂは、本発明のメモリ制御装置におけるメモリアクセス制御方法を示すフローチャートである。マスタコマンドが、画像データ中の矩形領域を示す論理アドレスを含む場合について説明する。
【００５９】
メモリアクセス制御方法は大きくは、２つの動作からなる。第１に、コマンド生成部１０２は、画像データ中の矩形領域を示す論理アドレスを含むアクセス要求（マスタコマンド）に基づいて、物理アドレスを含む複数のアクセスコマンド（メモリコマンド）を生成する（ステップ５１〜５６）。第２にコマンド発行部１０５およびデータ制御部１０６は、コマンド生成部１０２によって生成された複数のメモリコマンドをメモリに発行し、アクセスされたデータを転送する（ステップ５７〜ステップ６０）。
【００６０】
より詳しく説明すると、アドレス変換部１０８は、論理アドレスと物理アドレスの対応表または変換規則を内部に保持しており、上記の論理アドレスを含むマスタコマンドを受け取ると、矩形を表す論理アドレスを複数の物理アドレスに変換する（ステップ５１）。
【００６１】
例えば、論理アドレスが、図９の「必要なデータ」に対応する矩形領域を示す場合、アドレス変換部１０８は、４セットの物理アドレスに変換する。つまり、１セット目は、データブロック０、８、４中のハッチングされている部分を指す物理アドレスになる。２セット目は、データブロック１、９、５中のハッチングされている部分を指す物理アドレスになる。３セット目は、データブロック２、１０、０中のハッチングされている部分を指す物理アドレスになる。４セット目は、データブロック３、１１、７中のハッチングされている部分を指す物理アドレスになる。
【００６２】
グループ判定部１０４は、変換された物理アドレスのセットに対応するバンクがどのグループに属するかを判定（ステップ５２）する。さらに、コマンド生成部１０２は、物理アドレスのセットが示すアクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合、第１アクセスコマンドと第２アクセスコマンドのペアを生成し（ステップ５３、５４）、そうでない場合、ペアでない１個のメモリコマンドを生成する（ステップ５３、５５）。ここで、第１アクセスコマンドと第２アクセスコマンドのペアは、既に説明したように、プリフェッチバッファ２０２を半分ずつ共用する。
【００６３】
コマンド生成部１０２は、未処理の物理アドレスのセットが残っている場合には、ステップ５３に戻り、未処理の物理アドレスのセットが残っていない場合には、ステップ５７に進む（ステップ５６）。
【００６４】
コマンド発行部１０５は、コマンド生成部１０２によって生成された各メモリコマンドに対応して、メモリへの個々のコマンド（ACTIVATE、READ、WRITE、PRECHARGE等）の発行制御ならびに発行タイミングを制御する。データ制御部１０６では、コマンド発行部１０５からメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってデータをメモリ０へ転送し、メモリへのリードアクセス時には、メモリ０からデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００６５】
図６は、比較例として、従来技術で示した図２におけるＲｅａｄアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、アクセスするDRAMを３２ビットのバス幅を持つDDR２とし、基本となるバースト長を４である場合を例に説明する。図２のように基本アクセス単位の途中からＮバイトを要求された場合、第２のバンクの基本アクセス単位をＲｅａｄするためにｔ７においてＲｅａｄ０を発行する。次に、第１のバンクの基本アクセス単位をＲｅａｄするためにｔ９においてＲｅａｄ１を発行する。データは第２のバンクの基本アクセス単位をｔ１０とｔ１１のタイミングでＲｅａｄデータを取得し、ｔ１２とｔ１３のタイミングで第１のバンクの基本アクセス単位のＲｅａｄデータを取得する。しかし、アクセス要求領域にあるデータはｔ１１とｔ１２のタイミングのデータだけであるので、マスタへの出力データはｔ１１とｔ１２のタイミングのデータを出力するだけで十分である。結果的にｔ１０からｔ１３を用いて取得したＲｅａｄデータに対して有効なデータはｔ１１とｔ１２にしか無く転送効率は５０％となる。
【００６６】
図７は図４におけるＲｅａｄアクセス要求があった場合の、メモリバス上におけるタイミングチャート例である。ここでは、図６と同様にアクセスするDRAMを３２ビットのバス幅を持つDDR２とし、基本となるバースト長を４である場合を例に説明する。図４のように基本アクセス単位の途中からＮバイトを要求された場合、第２のグループの基本アクセス単位をＲｅａｄするためにｔ７においてＲｅａｄ０を発行する。次に、前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、第１のグループの基本アクセス単位をＲｅａｄするためにｔ８においてＲｅａｄ１を発行する。データは第２のバンクの基本アクセス単位をｔ１０のタイミングでＲｅａｄデータを取得し、ｔ１１のタイミングで第１のバンクの基本アクセス単位のＲｅａｄデータを取得する。アクセス要求領域とアクセス必要領域が同一であるため、マスタへの出力データはｔ１０とｔ１１のタイミングのデータをそのまま出力するだけで十分である。結果的にｔ１０とｔ１１を用いて取得したＲｅａｄデータに対して有効なデータは同じくｔ１０とｔ１１であるため転送効率は１００％となる。
【００６７】
なおここでは使用した前記改良DRAMのバス幅を３２ビット、基本となるバースト長を４であるとして説明したが前記バス幅および基本となるバースト長だけに限らず、基本となるバースト長が２以上であればいずれであってもよい。
【００６８】
図８は前記改良ＤＲＡＭ上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、１つのメモリ０を使用するシステム構成を持つ場合のデータの配置方法を図８に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、A、B）の順で繰り返し配置し、垂直方向には同一グループAもしくはBをストライプ状に配置する。
【００６９】
図９は前記図８のデータ配置方法を用いたフレームバッファに対して矩形の画素データへアクセスする場合の一例を示したものである。図９に“必要なデータ”として示されている矩形の画素データへアクセスする際は、DRAMに対する最小アクセス単位が決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図９のようにデータブロックの境界までアクセスする必要があり、結果的に“実際に転送されるデータ”として示されている矩形の画素データへアクセスすることとなる。
【００７０】
図１０は前記改良ＤＲＡＭ上にあるデータを用いてフレームバッファを構成した場合のデータ配置で図８とは別の一例を示す。フレームバッファは2次元のデータを持つ。メモリに対するデータ転送において、図８と同様に最小アクセス単位でアクセスするデータをデータブロックという単位として、2つのグループA、Bをもつ前記改良DRAMを使用し、１つのメモリ０を使用するシステム構成を持つ場合のデータの配置方法を図１０に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、A、B）の順で繰り返し配置し、垂直方向にはグループAおよびBを（A、B、A、B）と格子状に配置する。
【００７１】
図１１は前記図８のデータ配置方法を用いたフレームバッファに対して図１１に示すようなデータ要求があった場合に実際に転送されるデータが増大し、データ転送効率が悪化する一例を示している。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック０をデータブロック８で、データブロック１をデータブロック９で上書きする。同様に、データブロック２と１０、データブロック３と１１と上書きすることができるが、一方データブロック４、５、６および７を上書きできるグループＢの転送が必要となるため、データブロック１２、１３、１４および１５も実際に転送されるデータとなってしまい、結果的にデータ転送効率の低下を招く。
【００７２】
なおここで、データブロック０をデータブロック８といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
【００７３】
図１２は前記図１０のデータ配置方法を用いたフレームバッファに対して前記図１１と同一のデータ要求があった場合に実際に転送されるデータの一例を示している。前記改良ＤＲＡＭではグループが異なれば基本アクセス単位よりも短い転送で別のグループの転送を上書きすることができるので、例えばデータブロック０をデータブロック１で、データブロック２をデータブロック３で上書きする。同様に、データブロック８と９、データブロック１０と１１、データブロック４と５、データブロック６と７と転送すれば図８に示すデータ配置よりもさらに転送効率を向上させることができる。
【００７４】
なおここで、データブロック０をデータブロック１といった組み合わせで上書きを繰り返したが、グループが異なるデータブロック同士の組み合わせであればいずれ同士の組み合わせであってもよい。
【００７５】
また、メモリ０中の画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、データブロックの境界と同数のペア（第１および第２アクセスコマンド）を生成することができる。
【００７６】
ここで、上記のデータブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズであってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００７７】
また、上記のデータブロックは最小アクセス単位であってもよい。こうすれば、ペアでないアクセスコマンドを排除し、ペア（第１および第２アクセスコマンド）のみを生成することができ、実質的にバースト長Ｎ／２のアクセスを繰り返すことになり、データ転送の効率を向上させることができる。
【００７８】
ここで、列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属するようにしてもよい。こうすれば、特に矩形領域のアクセスにおいてアクセス先がある行から他の行に移るときにも、異なるグループに属する２つのバンク間でプリフェッチバッファを共用可能なケースを増やすことができる。
【００７９】
ここで、第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行であってもよい。
【００８０】
なお、Ｍは２であってもよい。こうすれば、矩形領域のフィールド読み出しの場合も、フレーム読み出しの場合も、プリフェッチバッファを共用するケースを増加させることができる。
【００８１】
また、本発明のメモリシステムは、画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、上記のメモリ制御装置と有するメモリシステムであって、前記メモリは、複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎビットのプリフェッチバッファとを備え、前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有する構成としても良い。
【００８２】
（実施の形態２）
本発明の実施の形態２では、実施の形態１と同じ構成要素については同じ符号を用い、説明を省略する。
【００８３】
図１３は、本発明の実施の形態２におけるメモリ制御装置の構成を示すブロック図である。
【００８４】
図１３において、マスタ１０７はメモリ制御装置１０１に対してメモリに対してアクセスするコマンド（以下マスタコマンドとする）を発行し、コマンド生成部１０２は前記マスタ１０７により発行されたマスタコマンドを受け付け、メモリに対して発行するコマンド（以下メモリコマンドとする）を生成し、コマンド発行部１０５へメモリコマンドを渡す。前記コマンド生成部１０２にあるデバイス判定部１０３では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドが、メモリ０および１の両方あるいはいずれかへのアクセスであるかどうかを判定し、同じく前記コマンド生成部１０２にあるグループ判定部１０４では前記マスタ１０７のマスタコマンドから生成されたメモリコマンドがメモリにある複数のグループのいずれのグループに対するアクセスであるかどうかを判定する。前記マスタコマンドが同一単位領域へのアクセスであれば、同一メモリへのアクセスでかつ、複数のグループ（例えばグループAとグループB）へのアクセスが含まれる。前記デバイス判定部１０３ならびに前記グループ判定部１０４を含むコマンド生成部１０２で生成されたメモリコマンドはデバイスごと、およびグループごとに分けて前記コマンド発行部１０５へ渡される。前記コマンド発行部１０５は、前記コマンド生成部１０２により生成されたメモリコマンドに対して、メモリへのACTIVATE、READ、WRITE、PRECHARGE等のコマンド発行制御ならびにメモリのACスペック等によるメモリコマンド発行タイミングを制御する。データ制御部１０６では、前記コマンド発行部１０５からメモリ０および１へ発行したメモリコマンドのコマンド発行順情報を受け取り、メモリへのライトアクセス時にはマスタ１０７からデータを受け取り、コマンド発行順情報に従ってメモリ０および１へ転送し、メモリからのリードアクセス時には、メモリ０および１からのデータを受け取り、コマンド発行順情報に従ってマスタ１０７へデータを転送する。
【００８５】
図１４は、本発明の実施の形態２におけるメモリ制御方法のフローチャート図である。
【００８６】
図１４において、ステップ０１では前記マスタ１０７からのアクセス要求を前記コマンド生成部で受け取り、前記デバイス判定部１０３ならびに前記グループ判定部１０４によりメモリ０ならびにメモリ１へのいずれのアクセスであるかどうか、また複数グループのうちいずれのグループへあるかどうかの判定を行い、それぞれのメモリならびにグループに対応したメモリコマンドを生成する。ステップ０２では前記コマンド発行部において、生成されたメモリコマンドが同一単位領域へのアクセスであるかどうかを判定し、同一単位領域へのアクセスである場合にはステップ０３へ、そうでない場合にはステップ０５へ進む。以下ステップ０３からステップ０８までは前記コマンド発行部において行う。ステップ０３では複数のメモリ０、１へ同時にグループAへの共通のアドレスを持つメモリコマンドを出力し、ステップ０４では、メモリ０、１へ同時にグループBへの共通のアドレスを持つメモリコマンドを出力する。ステップ０５では、メモリ０のグループAに対応したアドレスを出力し、ステップ０６では、メモリ１のグループAに対応したアドレスを出力する。ステップ０７では、メモリ０のグループBに対応したアドレスを出力し、ステップ０８ではメモリ１のグループBに対応したアドレスを出力する。ステップ０９では前記データ制御部においてメモリへの書き込みであるかどうかを判定し、メモリへの書き込みであればステップ１０へ進み、そうでない場合（メモリからの読み出し）であればステップ１１へ進む。ステップ１０ではマスタ１０７からメモリへのデータを受け取り、コマンド発行順情報に従ってメモリ０ならびにメモリ１へデータを出力する。ステップ１１では、メモリ０ならびにメモリ１からデータを受け取り、コマンド発行順情報に従ってマスタへデータを転送する。
【００８７】
上記ステップ０１におけるメモリコマンド生成処理は、図５Ｂのステップ５１〜ステップ５６とほぼ同様であるが、以下の点が異なっている。すなわち、コマンド生成部１０２は、グループ判定部１０４の判定およびデバイス判定部１０３の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つのバンクに跨って連続する場合に、第１メモリコマンドと第２メモリコマンドとのペアを生成する。
【００８８】
図１５は、メモリ上にあるデータを用いてフレームバッファを構成した場合のデータ配置例を示す。フレームバッファは2次元のデータを持ち、水平方向にA1個、垂直方向にA2個の画素データを配置している。メモリに対するデータ転送において、最小アクセスサイズでアクセスするデータをデータブロックという単位として、2つのグループA、BをもつDRAMを使用し、2つのメモリ０、１を使用するシステム構成を持つ場合のデータの配置方法を図１５に示している。ここでは、異なるグループA、Bをもつ単位領域を、水平方向にはグループAおよびBを（A、B、B、A）の順で繰り返し配置し、垂直方向にはグループAおよびBを2ラインごとに配置する。このようなフレームバッファに対して矩形の画素データへアクセスする際は、DRAMに対する最小アクセスサイズが決まっているため、任意のデータへのアクセスであってもアクセスするデータは、図１５のようにデータブロックの境界までアクセスする必要がある。
【００８９】
図１６は、図１５における矩形の画素データを取得する際の、メモリバス上におけるタイミングチャート例である。矩形の画素データへのアクセスの際には、単位領域へのアクセスではメモリ０およびメモリ１へ同時にCSを有効状態とし、共通のアドレスを同時にアクセスする。また単位領域ではないアクセスに対しては、メモリ０およびメモリ１に対して時間をずらしてCSを有効状態とし、異なるアドレスそれぞれへアクセスを行う。
【００９０】
かかる構成によれば、コマンド生成部にあるデバイス判定部ならびにグループ判定部をもつことにより、マスタからのコマンドをデバイスごと、ならびにグループごとに個別にアクセスすることが可能となり、アクセス効率を向上することができる。
【００９１】
なお、本実施の形態において、コマンド発行部からメモリ０およびメモリ１へ出力するコマンド線は共通に設けたが、個別のコマンド線を設けてもよいし、一部のコマンド線のみ例えばアドレスの上位ビットのみあるいは下位ビットのみを共通としても良い。
【００９２】
なお、フレームバッファにおけるデータ配置に関して、本実施の形態におけるデータ配置だけでなく、横方向に対してはグループAのデータブロックとグループBのデータブロックを交互に配置し、縦方向に対しては、同一グループ同一バンク同一ロウのデータを配置するデータ配置でもよい。その場合には、DRAMのカラムアドレスを横方向に連続してもよいし、データブロック分のカラムアドレスを横方向に進んだ後、一つ下のLineにあるデータブロック対して連続してもよいし、1Line飛ばして2つ下のLineにあるデータブロックに対して連続してもよい。なお、データブロック分にカラムアドレスを横方向に進んだ後に、2つ下のLineにあるデータブロックに対して連続したカラムアドレスを配置した場合に、本実施の形態と同様に、画像アクセスにおいてはあるデータブロックにアクセスしたのちに、1Line飛ばしの2Line下のデータブロックへアクセスする方法をとることもある。この場合、本実施の形態においては2Lineごとに異なるグループとなるデータ配置であったが、同一バンク同一ロウのデータであるため、通常はデータブロックごとにコマンドを発行してアクセスしていたのに対して、複数のデータブロック分のバースト長を伸ばしてアクセスさせてもよい。
【００９３】
また、上記各実施の形態では、プリフェッチバッファ２０２が２つの異なるグループに属する２つのバンク間で共用される構成を説明したが、３つ以上の異なるグループに属する３つ以上のバンク間で共用されてもよい。この場合、Ｎビットのプリフェッチバッファ２０２は共用するバンクの数ｍとすると、共用する各バンク毎にＮ／ｍビットずつ使用すればよい。
【００９４】
また、図１７に本発明を適用するためのシステム構成として、Blu-rayレコーダシステムのシステム構成例を示す。図１７では本発明をメディア処理用LSIにおけるメモリ制御回路に対して適用した例である。同図のメモリ制御回路は図５Ａまたは図１３のメモリ制御装置に相当する。なお、メディア処理用LSIのメモリ制御回路を実施例としてあげているが、DMA制御回路内の調停回路へ適用してもよいし、光学Disc制御回路等にある調停回路へ適用してもよい。
【００９５】
また、図１８では本発明を搭載したシステムＬＳＩならびにセットシステムの適用例である。同図のシステムＬＳＩは、図１７中のメディア処理用ＬＳＩに相当する。このように本発明は、システムＬＳＩのみならず、携帯電話、放送受信装置、蓄積再生装置、デジタルテレビ、車載端末、自動車等多くの製品に適用可能である。
【産業上の利用可能性】
【００９６】
本発明にかかるメモリ制御方法においては、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラ、携帯電話などのデジタルAV家電システムや、パソコンなどにおける画像処理システムにおいても利用できる。
【符号の説明】
【００９７】
１０１  メモリ制御装置
１０２  コマンド生成部
１０３  デバイス判定部
１０４  グループ判定部
１０５  コマンド発行部
１０６  データ制御部
１０７  マスタ
１０８  アドレス変換部
２０１  ＤＲＡＭ
２０２  プリフェッチバッファ
２０３  Ｐ−Ｓ変換部
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御装置であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータを含むバンクがどのグループに属するかを判定するグループ判定部を有し、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続する場合に第１アクセスコマンドと第２アクセスコマンドとを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御装置。
【請求項２】
前記メモリ制御装置は、前記メモリを含む複数のメモリに接続され、
前記コマンド生成部は、さらに、
前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが前記複数のメモリのどれに属するかを判定するメモリ判定部を備え、
前記コマンド生成部は、グループ判定部の判定およびメモリ判定部の判定に基づいて、アクセスすべきデータが、１つのメモリに属し、かつ、異なるグループに属する２つバンクに跨って連続する場合に、前記第１アクセスコマンドと前記第２アクセスコマンドと含む前記複数のアクセスコマンドを生成する
請求項１に記載のメモリ制御装置。
【請求項３】
前記画像データの行方向に連続するＳ（Ｓは２以上の整数）個の画素をデータブロックとし、データブロックのそれぞれは、当該データブロックに隣接するデータブロックを含むグループとは異なるグループに属する
請求項１または２に記載のメモリ制御装置。
【請求項４】
前記データブロックは、前記バースト長Ｎでバーストアクセスされるデータの半分のサイズである
請求項３に記載のメモリ制御装置。
【請求項５】
前記データブロックは最小アクセス単位である
請求項３に記載のメモリ制御装置。
【請求項６】
列方向に隣接するＭ（Ｍは２以上の整数）個の前記データブロックは、同じグループに属し、当該Ｍ個のデータブロックと列方向に隣接する他のＭ個のデータブロックを含むグループとは異なるグループに属する
請求項３に記載のメモリ制御装置。
【請求項７】
前記第２のアクセスコマンドによりアクセスされる行は、前記第１のアクセスコマンドによりアクセスされる行から列方向にＭライン目の行である
請求項６に記載のメモリ制御装置。
【請求項８】
前記Ｍは２である請求項６または７に記載のメモリ制御装置。
【請求項９】
画像データを記憶しバースト長Ｎ（Ｎは２以上の整数）でバーストアクセスされるメモリと、メモリ制御装置と有するメモリシステムであって、
前記メモリは、
複数のバンクを含む第１グループと、
複数のバンクを含む第２グループと、
Ｎビットのプリフェッチバッファと
を備え、
前記プリフェッチバッファは、バンクの１つからＮビットのデータをプリフェッチする第１動作モードと、異なるグループに属するバンクからＮ／２ビットずつデータをプリフェッチする第２動作モードとを有し、
前記メモリ制御装置は、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成部と、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行部と
を備え、
前記コマンド生成部は、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定するグループ判定部を有し、グループ判定部の判定結果に基づいて第１アクセスコマンドと第２アクセスコマンドを含む前記複数のアクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を用いて前記プリフェッチバッファを前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリシステム。
【請求項１０】
請求項１〜８のいずれか１項に記載のメモリ制御装置が形成された半導体集積回路。
【請求項１１】
複数のバンクを含む第１グループと、複数のバンクを含む第２グループと、Ｎ（Ｎは２以上の整数）ビットのプリフェッチバッファとを含み、画像データを記憶しバースト長Ｎでバーストアクセスされるメモリへのアクセスを制御するメモリ制御方法であって、
前記画像データ中の矩形領域を示す論理アドレスを含むアクセス要求に基づいて、物理アドレスを含む複数のアクセスコマンドを生成するコマンド生成ステップと、
コマンド生成部によって生成された前記複数のアクセスコマンドを前記メモリに発行するコマンド発行ステップと
を有し、
前記コマンド生成ステップにおいて、前記アクセス要求に対応する物理アドレスに基づいて、アクセスすべきデータが異なるグループに属する２つのバンクに跨って連続するかどうかを判定し、判定結果に基づいて前記第１アクセスコマンドと前記第２アクセスコマンドを生成し、
前記第１アクセスコマンドは、前記プリフェッチバッファの半分を用いて、前記第１のグループに属するバンクへのアクセスを指示するコマンドであり、
前記第２アクセスコマンドは、前記プリフェッチバッファの残り半分を前記第１アクセスコマンドと共用して、前記第２のグループに属するバンクへのアクセスを指示するコマンドである
メモリ制御方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2009130888.tif 000024
【図１Ｂ】
2009130888.tif 000025
【図２】
2009130888.tif 000026
【図３Ａ】
2009130888.tif 000027
【図３Ｂ】
2009130888.tif 000028
【図４】
2009130888.tif 000029
【図５Ａ】
2009130888.tif 000030
【図５Ｂ】
2009130888.tif 000031
【図６】
2009130888.tif 000032
【図７】
2009130888.tif 000033
【図８】
2009130888.tif 000034
【図９】
2009130888.tif 000035
【図１０】
2009130888.tif 000036
【図１１】
2009130888.tif 000037
【図１２】
2009130888.tif 000038
【図１３】
2009130888.tif 000039
【図１４】
2009130888.tif 000040
【図１５】
2009130888.tif 000041
【図１６】
2009130888.tif 000042
【図１７】
2009130888.tif 000043
【図１８】
2009130888.tif 000044
【国際調査報告】
2009130888.tif 000045
2009130888.tif 000046
2009130888.tif 000047