(57)【要約】  本発明のメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、メモリデバイス毎のアクセスコマンドに分割するコマンド生成部（１０２）と、前記複数のメモリデバイスにアクセスコマンドを発行するコマンド発行部（１０４）、（１０５）と、マスタ（２００）とメモリ（０）、（１）間でデータを必要に応じて入れ換えるデータ制御部（１０６）とを備え、コマンド生成部（１０２）は、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが同じ場合と異なる場合とで、複数のメモリデバイスへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
2008084681.tif 000002
【特許請求の範囲】
【請求項１】
メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段と、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、
前記コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替えることを特徴とするメモリ制御装置。
【請求項２】
前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、
前記コマンド制御手段は、
分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、前記個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記アクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、
前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、
前記コマンド生成部は、複数のアクセスコマンドを複数のコマンド発行部に同時に出力する
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項４】
前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、
前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、
前記コマンド生成部は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、
分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項５】
前記複数のメモリユニットは、２つの第１、第２メモリユニットであり、
前記コマンド制御手段は、前記アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換し、
第１および第２メモリユニットは、
前記アクセス要求が第１メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、
前記アクセス要求が第２メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する
ことを特徴とする請求項３または４記載のメモリ制御装置。
【請求項６】
前記コマンド制御手段は、複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替える
ことを特徴とする請求項２記載のメモリ制御装置。
【請求項７】
前記複数のメモリユニットは第１〜第ｍのメモリユニットであり、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域は、第１〜第ｍのメモリユニットの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項８】
各単位領域において第１〜第ｍのメモリユニットの物理アドレスは共通であり、
前記コマンド制御手段は、
前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第１〜第ｍのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時にアクセスコマンドを発行する
ことを特徴とする請求項７記載のメモリ制御装置。
【請求項９】
前記第１〜第ｍのメモリユニットの各々はｉ個のバンクを有し、
前記論理アドレス空間は、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置され、
前記第１〜第ｐの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、
前記第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、
前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なる
ことを特徴とする請求項８記載のメモリ制御装置。
【請求項１０】
前記ｐ個の第１〜第ｐの前記単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有し、
前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御装置。
【請求項１１】
前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、
前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項１２】
前記各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である
ことを特徴とする請求項１１記載のメモリ制御装置。
【請求項１３】
前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、
前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する
ことを特徴とする請求項１０記載のメモリ制御装置。
【請求項１４】
前記ｍは２であることを特徴とする請求項７から１０の何れかに記載のメモリ制御装置。
【請求項１５】
前記ｍは２であり、
前記２つのメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記２つのメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
各単位領域には、前記２つのメモリユニットの互いに対応する２つの（Ｎ×整数）バイト領域が交互に配置され、
前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置され、
前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含む
ことを特徴とする請求項７から１０の何れかに記載のメモリ制御装置。
【請求項１６】
前記コマンド制御手段は、前記複数のメモリユニットに共通の第１アドレスバスと、前記複数のメモリユニットに個別の第２アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、
前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項１７】
前記コマンド制御手段は、
分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第１および第２アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第１アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１、第２アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第２アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１及び第２アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力する
ことを特徴とする請求項１６記載のメモリ制御装置。
【請求項１８】
前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、
前記フレームバッファは複数の矩形領域から構成され、
前記矩形領域は、水平アドレスに対応してE個の単位領域が隣接して配置され、垂直アドレスに対応してF個の単位領域が配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項１９】
前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、
左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有し、
上下に隣接する２つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有する
ことを特徴とする請求項１８記載のメモリ制御装置。
【請求項２０】
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
ことを特徴とする請求項１９記載のメモリ制御装置。
【請求項２１】
前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、
左右に隣接する２つの前記矩形領域は、異なるカラムアドレスを有し、
上下に隣接する２つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なることを特徴とする請求項１８記載のメモリ制御装置。
【請求項２２】
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
ことを特徴とする請求項２１記載のメモリ制御装置。
【請求項２３】
１行以上連続するG行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、
隣接する１行以上連続するH行からなる第2の小矩形領域における各単位領域には、前記複数の（Ｎ×整数）バイト領域が、前記第１の小矩形領域と異なる順に配置され、
前記第１小矩形領域と前記第２小矩形領域の関係が前記矩形領域内において繰り返される
ことを特徴とする請求項１９または２１記載のメモリ制御装置。
【請求項２４】
メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御方法であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するステップと、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するステップと
を有し、
前記アクセスコマンドを発行するステップにおいて、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える
ことを特徴とするメモリ制御方法。
【請求項２５】
請求項１記載のメモリ制御装置を備えることを特徴とする半導体装置。
【請求項２６】
１パッケージ化されたメモリ装置であって、
複数のメモリユニットと、
外部から、アクセスコマンドを受信し、前記複数のメモリユニットに供給するコマンドインターフェースと、
前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、
外部から供給される同期信号に従って、外部と前記複数のメモリユニットの各々との間で前記データバスを介して独立にデータを入出力するデータインターフェースと
を備えることを特徴とするメモリ装置。
【請求項２７】
前記コマンドインターフェースは、時分割多重化された複数のアクセスコマンドを前記同期信号の１サイクル期間に受信し、
前記メモリ装置は、さらに、
前記コマンドインターフェースによって受信された、時分割多重されたアクセスコマンドを逆多重化し、アクセスコマンドを対応するメモリユニットに分配する逆多重化部を備える
ことを特徴とする請求項２６記載のメモリ装置。
【請求項２８】
前記コマンドインターフェースは、前記複数のメモリユニット個別に有効または無効にする複数のセレクト信号を受信し、受信したセレクト信号を対応するメモリユニットに供給する
ことを特徴とする請求項２６記載のメモリ装置。
【請求項２９】
前記コマンドインターフェースは、前記複数のメモリユニット毎に有効か無効かを示すユニット情報を受信し、
前記メモリ装置は、さらに、
前記ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する変換手段を有する
ことを特徴とする請求項２６記載のメモリ装置。
【請求項３０】
メモリアクセス要求を発行するマスタと、複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割するコマンド制御手段と、
前記複数のメモリユニットに供給される同期信号の１サイクル期間内に複数のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドを発行する多重化手段と、
前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段と
を有することを特徴とするメモリ制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用メモリ帯域を増やすために、メモリデータバス幅を拡張したシステムにおいて、マスタからの任意アドレスへのアクセスに対して、実効転送効率の向上を図るメモリ制御装置、メモリ装置およびメモリ制御方法に関するものである。
【背景技術】
【０００２】
一般に、画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるＤＲＡＭが用いられる。特に、近年の画像処理装置は、ＭＰＥＧ２やＨ．２６４等のＨＤ（High Definition）画像処理への対応や、同時複数チャンネル処理、高画質な３Ｄグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力（以下、メモリ帯域と記す）を有するＤＲＡＭを必要としている。【０００３】
一般的に、高いメモリ帯域を実現するためには、（１）バスの動作周波数を上げる方法、（２）メモリのバス幅を広くとる方法、またはこれらの方法（１）、（２）を併用する方法などが知られている。【０００４】
一方、一般にＤＲＡＭは、アクセスを行う際、事前にアクセスするＢａｎｋ・Ｒｏｗを指定して、アクティベート処理を行う必要がある。また、同一Ｂａｎｋにおいて、アクセスするＲｏｗを変更する場合は、一旦アクセスしていたＲｏｗをプリチャージ処理し、新たにアクセスするＲｏｗに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一Ｂａｎｋ内で、Ｒｏｗを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常ＤＲＡＭアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、見かけ上、データバス上で、常時データ転送を可能とする、バンクインタリーブ制御と呼ばれる制御が行われる。このバンクインタリーブが有効に機能するためには、他バンクのデータ転送時間が前記アクセス不可期間を上回る必要がある。【０００５】
しかしながら、高いメモリ帯域を実現するために、前記（１）、（２）のいずれの対応をとった場合においても、単位時間あたりのデータ転送量が増えるのに対し、前記アクセス不可期間の絶対時間が変わらないため、前記アクセス不可期間を隠蔽するのに必要なデータ転送量が増加することになる。その結果、他バンクのデータ転送量を増やさない限り、すなわち、１アクセスあたりの転送サイズを増やさない限り、前記バンクインタリーブ制御を行っていたとしても、前記アクセス不可期間の隠蔽が十分に実現できないため、データバスに空きが発生することとなり、アクセス効率の低下が発生する。このことは、転送サイズが小さいアクセスが頻発するシステムにおいては、大幅なアクセス効率の低下を招くことを意味する。【０００６】
この問題に対する従来の手法として、特許文献１に記載のものがある。図３１に、この従来手法の回路構成を示す。この手法では、カウンタ０、１の信号を元に、コマンド生成手段において、メモリデバイス０、１を特定のタイミングで交互に時分割アクセスすることにより、単一デバイスで発生するアクセス不可期間を、他方のデバイスのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。この制御では、高いメモリ帯域を実現するために、前記（１）、（２）のいずれの対応をとった場合においても、同一デバイス内でのバンクインタリーブ制御で隠蔽しきれなかったアクセス不可期間を、他方のデバイスのアクセスにより隠蔽できるため、１アクセスあたりの転送サイズを増やすことなく、アクセス効率の低下を防ぐことができる。このことは、転送サイズが小さいアクセスが頻発するシステムにおいても、アクセス効率の低下を抑えることができることを意味する。
【特許文献１】特開平９−１９０３７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来技術では、複数のデバイスを利用しているにも関わらず、同時にアクセスできるデバイスは１つであるため、システムが使用できる最大メモリ帯域は、１つのデバイスが持つメモリ帯域に限定される。それゆえ、前記従来技術において、使用メモリ帯域を大きくするためには、１デバイス当たりのバス幅を広げるか、動作周波数をあげる、すなわち、より高速なＤＲＡＭ（ＤＤＲ，ＤＤＲ２、ＤＤＲ３他）を使用するしかない。【０００８】
バス幅を拡張してデータ転送帯域を増加させる構成として、図３２のような構成も考えられる。このメモリ制御装置では、図３１よりも最大メモリ帯域を拡大し、かつ、８バイトアクセスと４バイトアクセスが可能になっている。しかし、転送量の小さいアクセスや、画像処理によく使用される任意で非連続なアクセスに対して、無駄な転送を多く行うという問題がある。【０００９】
ところで、ＤＲＡＭの最小アクセス単位は、「バス幅  ×  最小バースト数」で決まる。前述した高速なＤＲＡＭは、最小バースト数が、ＳＤＲＡＭが１であるのに対して、ＤＤＲは２、ＤＤＲ２は４、ＤＤＲ３は８と規定されているため、バス幅を広げる対応をした場合と同様、高速なＤＲＡＭを使用することによっても、最小アクセス単位が増加するという課題を有していた。この最小アクセス単位とは、１回のアクセスに対して、必ず転送される最小データ転送量を示し、あらゆるアクセス要求は、この最小アクセス単位の整数倍で転送されることとなる。よって、この最小アクセス単位が増大するということは、転送量の小さいアクセスや、画像処理によく使用される任意で、非連続なアクセスに対して、無駄な転送を多く行うこととなり、結果、実効転送効率の低下を導く。【００１０】
具体的な例を図３３に示す。図３３では、１００ＭＨｚで動作する4 ByteバスのＳＤＲＡＭを使用しているシステムを、メモリ帯域を２倍にするために、バス幅を倍の8 Byteとした例を示している。ここで、当然のことながら、利用メモリ帯域は倍になっているが、図３３に示すように、4 Byte 転送といった小さいアクセスや、8n + 4 Byte アドレスからの 8 Byte 転送といった、アドレス境界がそろっていない位置からの転送などは、有効データと無効データが同一サイズとなってしまい、アクセス効率は半減してしまう。その結果、利用できるメモリ帯域が２倍となっても、アクセス効率が半減しているため、実質使用しているメモリ帯域はバス幅拡張前と同じ400 MB/s となってしまい、バスを拡張した効果が全くなくなる場合が存在する。【００１１】
本発明は、上記課題を解決するために、メモリバス幅の拡張を行ったり、高速ＤＲＡＭを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現するメモリ制御装置、メモリ装置およびメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するために、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、前記コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。【００１３】
この構成によれば、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリユニットのバス幅）×（メモリユニットの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリユニットのバス幅とすることができる。【００１４】
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前述したアクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力するようにしてもよい。【００１５】
この構成によれば、前記複数のメモリユニットに独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を削減することができ、回路面積を小型化することができる。【００１６】
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、複数のアクセスコマンドを複数のコマンド発行部に同時に出力するようにしてもよい。【００１７】
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力するようにしてもよい。【００１８】
ここで、前記複数のメモリユニットは、２つの第１、第２メモリユニットであり、前記コマンド制御手段は、前記アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換し、第１および第２メモリユニットは、前記アクセス要求が第１メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第２メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納するようにしてもよい。【００１９】
ここで、前記コマンド制御手段は、複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替えるようにしてもよい。【００２０】
ここで、前記複数のメモリユニットは第１〜第ｍのメモリユニットであり、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第１〜第ｍのメモリユニットの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置されるようにしてもよい。【００２１】
ここで、各単位領域において第１〜第ｍのメモリユニットの物理アドレスは共通であり、前記コマンド制御手段は、前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第１〜第ｍのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時にアクセスコマンドを発行するようにしてもよい。【００２２】
ここで、前記第１〜第ｍのメモリユニットの各々はｉ個のバンクを有し、前記論理アドレス空間は、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置され、前記第１〜第ｐの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、前記第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なるようにしてもよい。【００２３】
この構成によれば、前記ｍ個のアドレスが共通な複数のメモリユニットに対して同一サイクルでのアクセスを実現し、かつ論理的に連続なアドレス空間に配置された隣接する前記ｐ個のロウアドレスが共通なｍ個のアドレスが共通な複数のメモリユニットの単位の間で、メモリアクセスタイミング制約に起因するロウアドレスの切替時間の最短化を実現することができる。【００２４】
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置されるようにしてもよい。【００２５】
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。【００２６】
ここで、前記各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通であるようにしてもよい。【００２７】
この構成によれば、前記単位領域内に対応する異なるメモリユニットに対して同時に同一のアドレスでアクセスを行うことができる。【００２８】
ここで、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行するようにしてもよい。【００２９】
ここで、前記ｍは２であってもよい。【００３０】
ここで、前記２つのメモリユニットは画像を記憶するフレームバッファとして用いられ、前記２つのメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、各単位領域には、前記２つのメモリユニットの互いに対応する２つの（Ｎ×整数）バイト領域が交互に配置され、前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置され、前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含むようにしてもよい。【００３１】
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。【００３２】
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通の第１アドレスバスと、前記複数のメモリユニットに個別の第２アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線であるようにしてもよい。【００３３】
ここで、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第１および第２アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第１アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１、第２アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第2アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１及び第２アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力するようにしてもよい。【００３４】
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、前記フレームバッファは複数の矩形領域から構成され、前記矩形領域は、水平アドレスに対応してE個の単位領域が隣接して配置され、垂直アドレスに対応してF個の単位領域が配置されるようにしてもよい。【００３５】
ここで、前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有し、上下に隣接する２つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有するようにしてもよい。【００３６】
この構成によれば、矩形領域内でカラムアドレス垂直方向に連続し、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。【００３７】
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。【００３８】
ここで、前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるカラムアドレスを有し、上下に隣接する２つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なるようにしてもよい。【００３９】
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。【００４０】
ここで、１行以上連続するG行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、隣接する１行以上連続するH行からなる第2の小矩形領域における各単位領域には、前記複数の（Ｎ×整数）バイト領域が、前記第１の小矩形領域と異なる順に配置され、前記第１小矩形領域と前記第２小矩形領域の関係が前記矩形領域内において繰り返されるようにしてもよい。【００４１】
また、本発明のメモリ装置は、１パッケージ化されたメモリ装置であって、複数のメモリユニットと、外部から、アクセスコマンドを受信し、前記複数のメモリユニットに供給するコマンドインターフェースと、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、外部から供給される同期信号に従って、外部と前記複数のメモリユニットの各々との間で前記データバスを介して独立にデータを入出力するデータインターフェースとを備える。【００４２】
この構成によれば、複数のメモリユニットが１パッケージ化されている場合であっても、上記メモリ制御装置と相俟って、高いアクセス効率を実現可能である。【００４３】
ここで、前記コマンドインターフェースは、時分割多重化された複数のアクセスコマンドを前記同期信号の１サイクル期間に受信し、前記メモリ装置は、さらに、前記コマンドインターフェースによって受信された、時分割多重されたアクセスコマンドを逆多重化し、アクセスコマンドを対応するメモリユニットに分配する逆多重化部を備えるようにしてもよい。【００４４】
この構成によれば、パッケージ化によってパッケージへのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。【００４５】
ここで、前記コマンドインターフェースは、前記複数のメモリユニット個別に有効または無効にする複数のセレクト信号を受信し、受信したセレクト信号を対応するメモリユニットに供給するようにしてもよい。【００４６】
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号を供給し、個別のアクセスを容易にすることができる。【００４７】
ここで、前記コマンドインターフェースは、前記複数のメモリユニット毎に有効か無効かを示すユニット情報を受信し、前記メモリ装置は、さらに、前記ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する変換手段を有するようにしてもよい。【００４８】
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号をパッケージに供給する代わりにユニット情報を供給するので、パッケージのピン数およびパッケージへの配線数を低減することができる。【００４９】
また、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと、複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割するコマンド制御手段と、前記複数のメモリユニットに供給される同期信号の１サイクル期間内に複数のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドを発行する多重化手段と、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有する構成としてもよい。【００５０】
この構成によれば、メモリ制御装置から複数のメモリユニットへの配線数を低減することができる。【００５１】
また、本発明のメモリ制御方法、半導体装置は、上記と同様の構成を有する。【００５２】
本構成によって、メモリバス幅の拡張を行ったり、高速ＤＲＡＭを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現できる。
【発明の効果】
【００５３】
本発明のメモリ制御装置によれば、利用メモリ帯域の拡大のために、バス幅を拡張した場合や、ＤＤＲ、ＤＤＲ２、ＤＤＲ３といった高速なＤＲＡＭを使用した場合においても、メモリの最小アクセス単位の増加を抑えることが可能となるため、転送量の小さいアクセスや、画像処理の際に頻繁に発生する任意の非連続なアクセスが存在するシステムにおいても、無効データ転送の増加を抑制することができるため、高いメモリアクセス効率を実現することができる。また、無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有（特にDRAM）に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、システムLSIの端子数とLSIとメモリユニット間の配線数の削減できる。またこれによりコストの大幅な削減も実現できる。【００５４】
本発明のうち複数チップのメモリユニットを１つのメモリパッケージに置き換えることにより、本発明の上記無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有（特にDRAM）に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、さらにシステム内の実装チップ数を削減しシステムの実装面積を大幅に削減も実現できる。
【図面の簡単な説明】
【００５５】
【図１Ａ】図１Ａは、本発明の実施形態１におけるメモリ制御装置を含むシステム構成を示すブロック図である。
【図１Ｂ】図１Ｂは、図１Ａのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図２】図２は、メモリマップ例を示す図である。
【図３】図３は、コマンド生成部のフローチャートを示す図である。
【図４】図４は、メモリ制御装置の動作を示すタイミング図である。
【図５】図５は、従来例の動作を説明するタイミング図である。
【図６Ａ】図６Ａは、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図６Ｂ】図６Ｂは、図６Ａのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図７】図７は、本発明の実施形態２におけるメモリ制御装置を含むシステム構成を示すブロック図である。
【図８】図８は、メモリ制御装置の動作を示すタイミング図である。
【図９】図９は、従来例の動作を示すタイミング図である。
【図１０】図１０は、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図１１Ａ】図１１Ａは、本発明の実施形態３において基本単位となる単位領域を示す図である。
【図１１Ｂ】図１１Ｂは、単位領域の説明図である。
【図１２】図１２は、単位領域の説明図である。
【図１３Ａ】図１３Ａは、複数のメモリデバイス（DRAM）と単位領域との関係を示す図である。
【図１３Ｂ】図１３Ｂは、複数のメモリデバイス（DRAM）と単位領域との関係を示す図である。
【図１４】図１４は、DRAMの物理アドレスメモリ（（Ｎ×整数）バイト領域）を論理アドレス方向に配置した単位領域を示す図である。
【図１５】図１５は、フレームバッファとして単位領域を配置する一例を示す図である。
【図１６】図１６は、単位領域内における（Ｎ×整数）バイト領域の配置例を示す図である。
【図１７】図１７は、フレームバッファ内における（Ｎ×整数）バイト領域の配置例を示す図である。
【図１８】図１８は、本発明の実施の形態４におけるメモリ制御方法を示すフローチャート図である。
【図１９】図１９は、フレームバッファにおける、メモリバンクの論理アドレス配置の一例を示す図である。
【図２０】図２０は、図１９で示すブロック内におけるメモリのカラムアドレスの配置の一例を示す図である。
【図２１】図２１は、同じメモリデバイスの（Ｎ×整数）バイト領域が縦に並ぶ配置例を示す図である。
【図２２】図２２は、図２１のフレームバッファから転送される矩形データの配置例を示す図である。
【図２３】図２３は、図２２に対応する各種信号を示すタイミングチャート図である。
【図２４】図２４は、図２１のフレームバッファから転送される矩形データの配置例を示す図である。
【図２５】図２５は、図２４の矩形データアクセスに対応するタイミングチャート図である。
【図２６】図２６は、市松模様の論理アドレス配置図である。
【図２７】図２７は、図２１の例における論理アドレスメモリ配置において、矩形アクセス要求に対して必要なデータと実際に転送されるデータとを示す図である。
【図２８】図２８は、矩形データのアクセス時に実際に転送されるデータを示す図である。
【図２９】図２９は、図２１の例における前記論理アドレス配置において、図２７の矩形データを取得する動作を示すタイミングチャート図である。
【図３０】図３０は、図２６の例における論理アドレス配置において、図２８の矩形データを取得する動作を示すタイミングチャート図である。
【図３１】図３１は、従来のメモリ制御装置の構成を示す図である。
【図３２】図３２は、高速、大容量転送を可能とする従来のメモリ装置例である。
【図３３】図３３は、従来のメモリ装置での課題を説明する比較図である。
【図３４Ａ】図３４Ａは、本実施の形態おけるメモリ装置の変形例を示す図である。
【図３４Ｂ】図３４Ｂは、メモリ装置のより具体的な構成例を示す図である。
【図３５Ａ】図３５Ａは、本実施の形態におけるメモリ装置の他の変形例を示す図である。
【図３５Ｂ】図３５Ｂは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。
【図３６】図３６は、実施の形態５におけるメモリ制御装置の構成を示すブロック図である。
【図３７】図３７は、メモリ制御装置とメモリ装置の動作タイミングの一例を示すタイミングチャートである。
【符号の説明】
【００５６】
０、１  メモリ
１０１  メモリ制御装置
１０２  コマンド生成部
１０３  変換部
１０４  コマンド発行部
１０５  コマンド発行部
１０６  データ制御部
１０８  コマンド変換部（多重化手段）
２００  マスタ
４００、４００ａ、４００ｂ、４００ｃ  メモリ装置
４１１、４１１ｂ、４１２、４１２ｂ  メモリユニット
４２１  コマンドインターフェース
４２２  データインターフェース
４４１  コマンド変換部（逆多重化手段）
【発明を実施するための最良の形態】
【００５７】
以下本発明の実施の形態について、図面を参照しながら説明する。【００５８】
（実施の形態１）
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、メモリデバイス毎のアクセスコマンドに分割し、前記複数のメモリデバイスにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが同じ場合と異なる場合とで、複数のメモリデバイスへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。【００５９】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリデバイスのバス幅）×（メモリデバイスの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリデバイスの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。図１Ａでは、一つのメモリデバイスのバス幅が４Byte、最小バースト長が１であるものとする。【００６０】
なお、上記の複数のメモリデバイスのそれぞれは、半導体装置に1チップ化されていてもよい。あるいは、上記の複数のメモリデバイスが1パッケージ化されていてもよい。【００６１】
図１Ａは、本発明のメモリ制御装置の一実施形態を示すブロック図である。ここでは、マスタ２００が、メモリ制御装置を介して２つの４Byteバスのメモリデバイス（ＳＤＲＡＭ）に接続されているシステム形態を示している。同図では、マスタ２００は１つしか図示していないが、複数のマスタが接続されていてももちろんよい。【００６２】
同図のようにメモリ制御装置１０１は、コマンド生成部１０２と、データ制御部１０６および、それぞれのメモリデバイス０、１に個別に接続されているコマンド発行部１０４、１０５から構成されている。コマンド生成部１０２は、マスタ２００からのメモリアクセスコマンド（メモリアクセス要求）に含まれる論理アドレスをメモリデバイス０、１毎の物理アドレスに変換する変換部１０３を備える。コマンド生成部１０２、コマンド発行部１０４および１０５の３つは、上記のコマンド制御手段として機能する。【００６３】
マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス（論理アドレス）を示すデータを含む。【００６４】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、変換部１０３において論理アドレスからメモリデバイス０、１毎の物理アドレスに変換する。さらに、コマンド生成部１０２は、接続されているメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記デバイス別アクセスコマンドを発行する。【００６５】
各コマンド発行部と各メモリデバイスとは、それぞれ１対１で、メモリを制御するチップセレクト信号（ＣＳ）と、コマンド信号が接続されており、コマンド生成部１０２からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部は、接続されているメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。【００６６】
一方、マスタ２００とメモリデバイス間のデータ転送は、マスタ２００−データ制御部１０６間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。【００６７】
データ制御部１０６と各メモリデバイスとは、それぞれ専用の４Ｂｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からの8Byte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ２００に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。【００６８】
図２に、本実施形態１における、メモリデバイスのアドレスマッピングを示す。図２が示すように、マスタ２００が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位（本実施例では4Byte）毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ２００が指定する連続アドレスを、各デバイスの物理アドレス（Ｂａｎｋ・Ｒｏｗ・Ｃｏｌｕｍｎ）に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一ＢａｎｋのＲｏｗの切り替えを頻繁に発生させないという観点から、図２に示すように、マスタ２００が指定する連続アドレスに対して、同一デバイス内では、同一Ｂａｎｋの同一Ｒｏｗを順に割り当てていき、１つのＲｏｗの全領域をアクセスした時点で、異なるＢａｎｋのＲｏｗに切り替わるというマッピングにすることが望ましい。【００６９】
これまでに述べた本発明のメモリ制御装置１０１に接続されるマスタ２００はメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスが可能であり、コマンド生成部１０２では、受け取った論理アドレス及び画像イメージアドレスを含むコマンドをメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割し、図２に示すメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成する機能を備えている。【００７０】
またコマンド生成部１０２は、前述のマスタ２００から受け取るコマンドを分割、変換したときに、メモリデバイスが異なり、かつアドレスも異なる場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリデバイスが異なるが、アドレスが同じ場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に同じアドレスを発行してアクセスすることもできる。【００７１】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、コマンド発行部１０４、１０５それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【００７２】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部１０４に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１０５に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【００７３】
ここで４Byte境界単位でメモリデバイスをメモリデバイス０とメモリデバイス１と特定する場合において、本発明のメモリ制御装置１０１を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリデバイス１からメモリデバイス０へ跨る場合はメモリデバイス間で異なるアドレスになる。本実施形態１の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより２）の場合は同時に異なるアドレスを異なるメモリデバイス０及び１に発行でき、かつ１）の場合には同時に同じアドレスを異なるメモリデバイス０及び１に発行することができる。【００７４】
図４は、本実施形態１におけるメモリ制御装置１０１の動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭを使用して、マスタ２００から、[１]0 Byte アドレスからの16Byte データの読み出しコマンドと、[２]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。【００７５】
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス“0”へのアクセスコマンドを発行する。その後、要求転送サイズを満たしていないため、次サイクルには、両コマンド発行部に対して、アドレス“1”へのアクセスコマンドを発行して、最初のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４およびコマンド発行部１０５は、指定されたアドレスへアクセスするために、共に図４に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム０へのRead コマンドを、t5において、カラム１へのReadコマンドをそれぞれ発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t4のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス０からの出力データ 4Byte を上位に、メモリデバイス１からの出力データ4Byte を下位に割り当てた8Byte データをマスタ２００へ転送する。同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。【００７６】
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部１０４に対して、 アドレス“4”へのアクセスコマンドを、コマンド発行部１０５に対して、 アドレス“３”へのアクセスコマンドを、それぞれ発行する。その後、要求転送サイズを満たしていないため、次サイクルには、コマンド発行部１０４に対して、 アドレス“５”へのアクセスコマンドを、コマンド発行部１０５に対して、 アドレス“４”へのアクセスコマンドを、それぞれ発行して、後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４およびコマンド発行部１０５は、共にt1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部１０４はカラム４へのRead コマンドを、コマンド発行部１０５はカラム３へのRead コマンドを、またt7において、コマンド発行部１０４はカラム５へのRead コマンドを、コマンド発行部１０５はカラム４へのRead コマンドをそれぞれ発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイスは、前記Read コマンド発行（t6）後、CL=3 後のt9からそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス０からの出力データ 4Byte を下位に、メモリデバイス１からの出力データ4Byte を上位に割り当てた8Byte データをマスタ２００へ転送する。同様の処理を、t７のサイクルで受け取ったコマンド情報を元にt11のサイクル においても行うことで、後発の16Byte リード処理を完了する。【００７７】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合（本実施例では、データバス幅８Byte、アクセス開始アドレス２４Byte目、要求転送サイズ１６Byte）に、メモリデバイス０とメモリデバイス１に異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。【００７８】
上記までの本実施例１の効果を明確にするために、図３２に示すような４Byteバスのメモリデバイス（ＳＤＲＡＭ）を単純に並列接続して、論理上、8ByteバスのＳＤＲＡＭと
して接続した従来のシステム構成において、同様の転送を行った場合のタイミング図を図５に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図５のt7、t8 の２サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、図５のt9〜t12の３サイクルで転送されているように、24Byteアドレスから48Byte アドレスまでのトータル24Byte転送が必要となるため、アクセス効率が低下する。【００７９】
このように、本実施例においては、システム的に8Byte のＳＤＲＡＭを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では4Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。【００８０】
なお、本実施の形態におけるメモリ制御装置１０１は、図６に示すように構成してもよい。すなわち、図６のコマンド制御部１０７は、図１Ａに示したコマンド生成部１０２、コマンド発行部１０４、１０５を合わせた機能と同じである。【００８１】
なお、本実施例では、使用するメモリデバイスとして、4ByteバスのＳＤＲＡＭ２つを接続した場合を例として説明したが、使用するメモリデバイスのバス幅は任意のバス幅で実施可能であり、デバイスの数も任意の数で実施可能である。また、デバイスの種類もＳＤＲＡＭに限らず、ＤＤＲ、ＤＤＲ２、Direct-Rambus（登録商標） DRAM、XDR、といった他のＤＲＡＭであっても、ＳＲＡＭ、フラッシュメモリといったＤＲＡＭでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。【００８２】
また、図１Ａで示したコマンド生成部１０２及び図６で示したコマンド制御部１０７は最小アクセス単位に基づくメモリマッピングに従って、マスタ２００からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。【００８３】
なお、本実施例では、コマンド発行部がデータ制御部１０６に発行するコマンド発行順情報を、マスタ２００のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す１ビットの情報として制御することも可能である。【００８４】
メモリデバイスがＤＲＡＭでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部１０２から直接データ制御部１０６へ、コマンド発行順制御情報を通知することも可能である。【００８５】
また、図１Ａのメモリ制御装置１０１は２つのメモリデバイス０、１を接続しているが、図１Ｂに示すようにｍ個のメモリを接続する構成としても良い。図１Ｂに示すメモリ制御装置は、図１Ａと比較して、２個のメモリを接続する代わりにｍ個の第１〜第ｍメモリを接続し、２つのコマンド発行部１０４、１０５の代わりにるｍ個の第１〜第ｍコマンド発行部を備えている。第１〜第ｍコマンド発行部は、第１〜第ｍメモリに対応して設けられる。【００８６】
同様に、図６Ａに示したメモリ制御装置も、図６Ｂに示すように、m個のメモリを接続する構成としてもよい。【００８７】
（実施の形態２）
本実施の形態では、実施の形態１に比べてアドレスバスの配線面積を大幅に削減することにより回路の小型化を可能にし、かつ、さほど性能を劣化させないメモリ制御装置の構成について説明する。【００８８】
本実施の形態におけるコマンド制御部は、前記複数のメモリデバイスに共通のアドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。このように、タイミング（例えば１サイクル）をずらすことにより、１サイクル遅延が発生するが、独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を大幅に削減することができる。【００８９】
図７は、本実施の形態におけるメモリ制御装置１０１aの一実施形態を示すブロック図である。ここでは、１つのマスタ２００が、メモリ制御装置１０１ａを介して２つの４Byteバスのメモリデバイス（ＳＤＲＡＭ）に接続されているシステム形態を示している。メモリ制御装置１０１ａは、コマンド生成部１０２と、データ制御部１０６および、メモリデバイスのCS信号のみが個別に接続され、その他のコマンド信号を共通に各メモリデバイスに接続しているコマンド発行部１０４ａから構成されている。マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレスを示すデータを含む。【００９０】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、接続されているメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、コマンド発行部１０４ａに、前記デバイス別アクセスコマンドを発行する。【００９１】
コマンド発行部１０４ａと各メモリデバイスとは、メモリを制御するチップセレクト信号（ＣＳ）が１対１で接続され、コマンド信号は共通で接続されている。【００９２】
コマンド生成部１０２からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部１０４ａは、（状態１）受け取ったコマンドが各メモリデバイスで同じアドレス（Bank,Row,Col）である場合に個別に接続されているチップセレクト信号CSを同時に有効にしてメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。（状態２）受け取ったコマンドが各メモリデバイスで異なるアドレス（Bank,Row,Col）である場合には個別に接続されているCSを有効にするタイミングをずらして各メモリデバイスに応じたコマンドを各メモリデバイスへ出力する。また、コマンド発行部１０４ａは、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。【００９３】
一方、マスタ２００とメモリデバイス間のデータ転送は、マスタ２００−データ制御部１０６間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。【００９４】
データ制御部１０６と各メモリデバイスとは、それぞれ専用の４Ｂｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からの8Byte データを、前述の（状態１)及び（２）の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前述の（状態１)及び（２）の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ２００に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。【００９５】
本実施の形態における、メモリデバイスのアドレスマッピングは実施の形態１に示す図２と共通であり、図２が示すように、マスタ２００が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位（本実施例では4Byte）毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ２００が指定する連続アドレスを、各デバイスの物理アドレス（Ｂａｎｋ・Ｒｏｗ・Ｃｏｌｕｍｎ）に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一ＢａｎｋのＲｏｗの切り替えを頻繁に発生させないという観点から、図２に示すように、マスタ２００が指定する連続アドレスに対して、同一デバイス内では、同一Ｂａｎｋの同一Ｒｏｗを順に割り当てていき、１つのＲｏｗの全領域をアクセスした時点で、異なるＢａｎｋのＲｏｗに切り替わるというマッピングにすることが望ましい。【００９６】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、メモリデバイス０およびメモリデバイス１を管理するコマンド発行部１０４a内のメモリデバイス０、メモリデバイス１を制御する部分それぞれが、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【００９７】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部１０４a内のメモリデバイス０を制御する部分に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１０４a内のメモリデバイス１を制御する部分に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【００９８】
ここで、8Byte境界単位でメモリデバイスをメモリデバイス０とメモリデバイス１と特定する場合において、本発明のメモリ制御装置１０１ａを通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリデバイス１からメモリデバイス０へ跨る場合はメモリデバイス上で異なるアドレスになる。本実施形態２の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより2）の場合はメモリデバイス０とメモリデバイス１に異なるアドレスをタイミングをずらして発行でき、1）の場合には同時に同じアドレスを異なるメモリデバイス０及び１に発行することができる。【００９９】
図８は、本実施の形態におけるメモリ制御装置１０１ａの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭをバースト長2（BL=2）の状態で使用して、マスタ２００から、[１]0 Byte アドレスからの16Byte データの読み出しコマンドと、[２]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。なお、実施の形態２の動作を明確に説明するために、共通のコマンドバスを実施の形態１と同じ形態で個別のコマンドバスとして図示している。【０１００】
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス"0"へのアクセスコマンドを発行する。バースト長が２であるためこのコマンドで１６Byteを転送するため処理を終了する。上記コマンドを受け取った、コマンド発行部１０４aは、指定されたアドレスへアクセスするために、図８に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム０へのRead コマンドを発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１を出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からバースト数２の期間にそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t4 のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス０からの出力データ 4Byte を上位に、メモリデバイス１からの出力データ4Byte を下位に割り当てた8Byte データをマスタ２００へ転送する。更にバーストの後半のデータで同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。【０１０１】
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部１０４a内のメモリデバイス０を制御する部分に対して、 アドレス“4”でバースト長２のアクセスコマンドを、コマンド発行部１０４a内のメモリデバイス１を制御する部分に対して、 アドレス“３”でバースト長２のアクセスコマンドを、それぞれ発行して後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４aは、t1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部１０４a内のメモリデバイス０を制御する部分ではカラム４へのバースト長２でRead コマンドを発行する。コマンド発行部１０４a内のメモリデバイス１を制御する部分はｔ６ではコマンドを発行せず、ｔ７においてカラム３へのバースト長２でRead コマンドを発行する。ｔ６、ｔ７のコマンド発行部１０４aのコマンド発行と同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイス０は、前記Read コマンド発行（t6）後、CL=3 後のt9からバースト長２のリードデータを出力する。メモリデバイス１は、前記Read コマンド発行（t７）後、CL=3 後のt１０からバースト長２のリードデータを出力する。データ制御部１０６では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス０からの出力データ 4Byte を下位に、ｔ１１のサイクルで出力されるメモリデバイス１からのデータ4Byte を直接上位に割り当てた8Byte データをマスタ２００へ転送する。バースト後半のデータ においても同様に行うことで、後発の16Byte リード処理を完了する。【０１０２】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合（本実施例では、データバス幅８Byte、アクセス開始アドレス２４Byte目、要求転送サイズ１６Byte）に、共通のコマンド線の接続でありながら、メモリデバイス０とメモリデバイス１に異なるアドレスをCSのタイミングをずらして独立してアクセスすることができるため、下記に示す従来システムに比べシステムLSIのPin数を増加させずにアクセス効率を向上することが出来る。【０１０３】
上記までの本実施例２の効果を明確にするために、図３３に示すような４Byteバスのメモリデバイス（ＳＤＲＡＭ）を単純に並列接続して、論理上、8ByteバスのＳＤＲＡＭとして接続した従来のシステム構成において、バースト長２で同様の転送を行った場合のタイミング図を図９に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図９のt7、t8 の２サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、１コマンド当り２バーストのデータ（１６Byte）を転送するため図９のt9〜t13の４サイクルで転送されているように、24Byteアドレスから56Byte アドレスまでのトータル３２Byte転送が必要となるため、アクセス効率が大幅に低下する。【０１０４】
このように、本実施例２においては、バースト長が２以上で8ByteのＳＤＲＡＭを接続したシステムにおいて、コマンド信号（アドレス線、row,col,we等）を各メモリデバイスで共通にし、CS信号のみ個別に各メモリデバイスと接続することができるため、システムLSIの外部端子を大幅に増やすことなく、８Byteバスと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では８Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。【０１０５】
以上説明してきたように、本実施の形態におけるメモリ制御装置において、コマンド制御部は、複数のメモリデバイスに共通のアドレスバスと、複数のメモリデバイスに個別のチップセレクト信号とを介して複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、個別のチップセレクト信号を同時に有効にすることによって、複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。データ制御部は、メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、複数のメモリデバイス毎のデータに分割して、アクセスコマンドのタイミングに従って各メモリデバイスへ出力し、メモリアクセス要求が読み出し要求である場合に、前記アクセスコマンドのタイミングに従って複数のメモリデバイスから読み出されたデータを組み合わせて、マスタへ出力する。【０１０６】
また、コマンド制御部は、コマンド生成部と、メモリデバイス毎に設けられたコマンド発行部とを備える。コマンド生成部は、メモリアクセス要求に含まれる論理アドレスをメモリデバイス毎の物理アドレスに変換し、メモリデバイス毎のアクセスコマンドに分割する。各コマンド発行部は、対応するメモリデバイスに、コマンド生成部からのアクセスコマンドを発行する。その際、コマンド生成部は、分割した複数のアクセスコマンドに対応する複数のメモリデバイスの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する。【０１０７】
ここで、複数のメモリデバイスは、２つの第１、第２メモリデバイスである場合、コマンド制御部は、アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換する。第１および第２メモリデバイスは、アクセス要求が第１メモリデバイスのデータを先頭とし、当該データの先頭が第１および第２メモリデバイスのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第２メモリデバイスのデータを先頭とし、当該データの先頭が第１および第２メモリデバイスのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する。【０１０８】
ここで、コマンド制御部は、複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリデバイス毎に遅らせることにより、複数メモリデバイスの同一のアドレスと異なるアドレスを切り替える。【０１０９】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制することができる。【０１１０】
なお、図１０は、本実施の形態におけるメモリ制御装置の変形例を示す図である。同図のメモリ制御装置１０１ｃにおいて、前記コマンド制御手段は、前記複数のメモリデバイスに共通の第１アドレスバスと、前記複数のメモリデバイスに個別の第２アドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続され、前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である。【０１１１】
これにより、アドレスバスは共通部分と独立部分とからなるので、全部を独立配線する場合と比べて、アドレスバスの配線面積を大幅に削減することができる。【０１１２】
また、図３４Ａは本実施の形態におけるメモリ装置の変形例を示す図である。同図は図７と比べてメモリデバイス０およびメモリデバイス１の代わりにメモリ装置４００を備える点が異なっている。メモリ装置４００は、1チップＬＳＩにパッケージ化されている。【０１１３】
図３４Ｂは、メモリ装置４００のより具体的な構成例を示す図である。同図のメモリ４００は、メモリユニット４１１、４１２と、コマンドインターフェース４１２と、データインターフェース４２２とを備える。【０１１４】
メモリユニット４１１は、例えば、メモリモジュール０〜３から構成され、ロウアドレスおよびカラムアドレスによってアドレッシングされる通常のＤＲＡＭとしてアクセス制御されるメモリ単位を示している。メモリモジュール０〜３は、通常のバンク０〜３、または、ページ群０〜３等である。メモリユニット４１２も同様である。【０１１５】
コマンドインターフェース４２１は、外部のメモリ制御装置１０１ａからアクセスコマンドを受信し、メモリユニット４１１、４１２に供給する。【０１１６】
データバスは、２つのメモリユニット４１１、４１２と同数の部分的なバスにビット分割されている。【０１１７】
データインターフェース４２２は、外部から供給される同期信号に従って、外部と前記メモリユニット４１１、４１２の各々との間でデータバスを介して独立にデータを入出力する。【０１１８】
前述した本発明の実施形態においては最小アクセス単位を小さくするために、同一の物理アドレスによる制御と異なる物理アドレスによる制御とを切り替えながら複数のメモリデバイスにアクセスしている。これに対して、図３４Ａでは、複数のメモリデバイスの代わりに、１パッケージ化されたメモリ装置４００が備えられている。図３４Ａのメモリ装置４００は、通常のＤＲＡＭ（ＤＤＲ、ＤＤＲ２なども含む）のように制御可能なメモリユニットを基本単位とし、基本単位を複数個（図３４Ａでは2個）搭載し、１つあるいは複数（図３４Ａでは１個）にパッケージしたものであってもよい。更に、このようなメモリ装置４００は前述のようにメモリユニットを複数個搭載し、前記メモリユニットの数と同数のＣＳ信号（同図では、ＵＳ信号）およびデータバスと１つの共通化されたコマンドバスを入出力にもつ構成としてもよい。【０１１９】
また更に、図３５Ａは本実施の形態におけるメモリ装置の他の変形例を示す図である。図３４Ａと同様にメモリ装置４００aはメモリユニットを複数個（図３５Ａでは2個）と、コマンドインターフェースと、データインターフェースとを搭載し、１つあるいは複数（図３５Ａでは１個）にパッケージされている。加えて、入力されるコマンドが各々のメモリユニットに対して有効か無効かを示すユニット情報（以下、ユニット番号と呼ぶ。）が入力されると、対応する各々のメモリユニットを選択する信号（本図ではＵＳ０，１）を出力するコマンド変換部４０１を有している。つまり、コマンド変換部４０１は、ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する。この構成を採用する場合には、図３４Ａで示すメモリデバイスの入出力の信号線数がメモリユニットの数だけ必要であったUＳ信号に代わり、ユニット番号を示す信号とすることでさらに削減する事ができるという効果があり、メモリ制御装置１０１ａとメモリ装置４００ａとを接続するための配線面積は更に削減され回路の小型化が可能となる。【０１２０】
尚、ユニット番号は従来のＤＲＡＭバンクアドレスのような信号で代用しても良い。【０１２１】
このようなメモリ装置４００ａは前述のようにメモリユニットを複数個と１つのコマンド変換部を搭載し、前記メモリユニットの数と同数のデータバスと１つの共通化されたユニット番号指示バスおよびコマンドバスを入出力にもつ構成となる。【０１２２】
前述した方法により、使用するメモリデバイスの数を１つに削減でき、実際のセット基板における配線数及び基板の設計難易度を低く抑え、セットコストを大幅に低減することができると言う効果がある。【０１２３】
図３５Ｂは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。同図は、図３５Ａと比べて、１パッケージ化されたメモリ装置４００ａの代わりに２パッケージのメモリ装置４００ｂを備える。記憶容量に関する第１の例では、２つのメモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量に相当し、２つのメモリユニット４１１ｂの容量は、１つのメモリユニット４１１の容量に相当する。この場合、１つメモリ装置４００ａと、２つのメモリ装置４００ｂは同じ記憶容量を有する。記憶容量に関する第２の例では、各メモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量に相当し、各モリユニット４１１ｂの容量は、１つのメモリユニット４１１の容量に相当する。この場合、２つのメモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量の２倍になる。このように、メモリ制御装置１０１ａは、複数パッケージの複数のメモリ装置４００ｂを接続してもよい。【０１２４】
（実施の形態３）
実施形態１及び２のメモリ制御装置における効果を最大限に活かすための論理アドレス配置を以下に述べる。【０１２５】
図１１Ａは、物理アドレスを論理アドレス空間にマッピングする基本単位となる単位領域を示す図である。同図では、図１Ｂ、図６Ｂのような、ｍ個のメモリデバイス（ここでは、DRAM）をアクセスするメモリ制御装置を前提としている。図１１ＡはDRAM上に配置されるメモリアドレス配置で、Nバイトの最小アクセス単位を持つDRAMの物理アドレス領域を論理アドレス方向に配置した図である。【０１２６】
図１１Ａでは第1のメモリデバイス上にあるデータを（N×整数）バイト配置し、第2のメモリデバイス上にあるデータを（N×整数）バイト配置する。これを繰り返し、第ｍの
メモリデバイス上にあるデータの（N×整数）バイトを隣接して配置する。このように、上記隣接した（N×整数）×ｍバイトのデータ領域をひとつの単位（単位領域）とする。ここで、( )内の整数は任意でよい。同図では、（N×整数）が（N×１）、Nが４である場合を図示している。【０１２７】
図１１Ｂは前記単位領域を論理アドレス方向に並べた図である。各単位領域には、第１〜第ｍのメモリデバイスの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される。【０１２８】
このような配置とすることで、論理アドレス方向のデータ要求に対し、Nバイトのアドレスアライメントでアクセスでき、効率のいいアクセスが可能となる。【０１２９】
図１２では、前記単位領域内のそれぞれのメモリデバイス（（Ｎ×整数）バイト領域）が同一のバンクアドレス、ロウアドレス、カラムアドレスを持つように配置している。【０１３０】
この場合、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有し、論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第１〜第ｍのメモリデバイスの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される。また、各単位領域において第１〜第ｍのメモリデバイスの物理アドレスは共通でよい。【０１３１】
コマンド制御部は、アクセス要求が単位領域を越えないデータサイズのアクセス要求である場合、第１〜第ｍのメモリデバイスのうち、当該アクセス要求に対応するメモリデバイスに同時にアクセスコマンドを発行する。【０１３２】
これにより、単位領域内へのアクセスでは、同一の物理アドレスとなり、特に実施の形態２においては、同一サイクルでアクセスをすることが可能となり、転送効率がさらに改善する。【０１３３】
図１３Ａでは、隣接する前記単位領域間で使用するバンクアドレスをそれぞれ異なるように配置する。図１３Ｂは図１３Ａのように隣接する前記単位領域のバンクアドレスをそれぞれ異なるようにｊ個のバンクアドレスを配置し、ｊ＋１個目からは前記単位領域とは異なるカラムアドレスを割当て前記同様ｊ個の前記単位領域を並べる。以上を1回以上繰り返し同一ロウアドレス構成の論理アドレス空間を構成する。前記のように同一ロウアドレスから構成された有限の論理アドレス空間を単一ロウ領域とし、ロウアドレスを変更した前記単一ロウ領域を繰り返し並べることで論理アドレス空間を構築する。【０１３４】
この場合、第１〜第ｍのメモリデバイスの各々はｉ個のバンクを有する。論理アドレス空間には、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置される。第１〜第ｐの単位領域は、共通のロウアドレスを有し、また異なるカラムアドレスを有する。第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なっている。【０１３５】
第１〜第ｐの単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。【０１３６】
これにより、隣接する単位領域へ連続してアクセスする場合において、メモリデバイスへのアクセスにおいてバンクインタリーブが可能になる。【０１３７】
以上のように、論理アドレス方向に前記単位領域を配置することで、実施の形態１および２において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態２のメモリ制御装置の場合には、メモリデバイス０とメモリデバイス１へのアドレスを共通化することが可能となる。【０１３８】
具体的に前記メモリデバイスが２つである場合を用いてその効果を説明する。【０１３９】
図１４では、実施形態１及び２のメモリ制御装置におけるDRAMの物理アドレスメモリ（（Ｎ×整数）バイト領域）を論理アドレス方向に配置した図である。【０１４０】
ここでは第1のメモリデバイス上にあるデータを（N×整数）バイト配置し、第2のメモリデバイス上にあるデータを（N×整数）バイト配置したデータ列を隣接して配置する。
このように、上記隣接した（N＋N）×整数バイトのデータ領域をひとつの単位（単位領域）とする。【０１４１】
図１５では、DRAM上にフレームバッファ領域を設けた場合に、前記単位領域を、水平方向にA1個および垂直方向にA2個隣接して配置する。【０１４２】
この場合、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。【０１４３】
各単位領域には、前記複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置される。前記画像の水平アドレスに対応してＡ個（同図ではＡ１個）の単位領域が隣接して配置され、垂直アドレスに対応してＢ個（同図ではＡ２個）の単位領域が配置される。【０１４４】
図１６では、単位領域内における異なるメモリデバイスで、同一のバンクアドレス、ロウアドレス、カラムアドレスを持つ。【０１４５】
図１７では、単位領域内において異なるメモリデバイス（Ｎ×整数）バイト領域が同一のバンクアドレスB、ロウアドレスR、カラムアドレスCを持つように配置している。すなわち、各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である。【０１４６】
図１７では、フレームバッファにおける水平方向に隣接する単位領域間で使用するバンクをそれぞれ異なるバンクアドレスB1、B2となるように配置する。すなわち、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。【０１４７】
以上のように、フレームバッファにおける水平方向および垂直方向に前記単位領域を配置することで、実施の形態１および２において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態２のメモリ制御装置の場合には、メモリデバイス０とメモリデバイス１へのアドレスを共通化することが可能となる。【０１４８】
例えば、第1のメモリデバイスへのアクセスと、第2のメモリデバイスへのアクセスを行う際、同一単位領域のデータが必要な場合には、同一のバンクアドレス、ロウアドレス、カラムアドレスによりアクセスすることができる。また、異なる単位領域のデータへアクセスする場合でも、バンクアドレスB1とバンクアドレスB2とが異なる場合にはバンクアドレスのみ別のアドレスとし、ロウアドレスおよびカラムアドレスは同一のアドレスとしてアクセスすることも可能である。この場合、実施の形態１のメモリ制御装置では、単一サイクルでのアクセスが可能であり、実施の形態２のメモリ制御装置では、メモリデバイス間でコマンドを遅らせてアクセスすることにより、転送効率を改善することができる。【０１４９】
上記に説明した論理アドレス配置を実施形態１および実施形態２のメモリ制御装置に採用することにより、実効転送効率を改善すると共に、メモリデバイス特有（特にDRAM）に発生するアクセスオーバーヘッドを改善することもでき、メモリシステムで使用するトータルバンド幅を削減できる。【０１５０】
（実施の形態４）
本実施の形態では、実施の形態１および実施の形態２において説明したメモリ制御装置１０１および１０１ａが、２つのメモリデバイス０およびメモリデバイス１をフレームバッファとして使用する場合に、画像中の矩形データをアクセスする方法について説明する。【０１５１】
本実施の形態におけるメモリ制御装置１０１および１０１aにある変換部１０３は、論理アドレスとして画像の画素位置を示す二次元アドレス（Ｘ、Ｙ）を、メモリデバイス０およびメモリデバイス１の物理アドレスに変換するとしてもよい。また変換部１０３へ要求するデータは、二次元の矩形データサイズ（Vバイト、Wバイト）をもつ矩形アクセスとしてもよい。【０１５２】
以下では、２×Nバイトのアクセスを例として説明する。【０１５３】
図１８は、本実施の形態におけるメモリ制御方法のフローチャート図である。図１Ａ、図１Ｂ、図６および図７に示したメモリ制御装置１０１および１０１aにおいて、第一のステップ01では、メモリ制御装置１０１および１０１aに対してメモリ上に配置されたフレームバッファへ矩形アクセス要求を行い、第二のステップ02では、前記要求された矩形アクセスが同一単位領域内のアクセスであるかを識別し、第三のステップ03では、前記矩形アクセスが同一単位領域内のアクセスである場合にはコマンド発行部１０４、１０５および１０７、１０４aからメモリデバイス０用CSとメモリデバイス１用CSとアクセスするアドレスを同時に出力する。それに対して異なる単位領域へまたがるアクセスの場合には、第四のステップ04となり、コマンド発行部１０４および１０７、１０４aからメモリデバイス０用CSとメモリデバイス０に対応したアドレスを出力し、第五のステップ05では、コマンド発行部１０５および１０７、１０４aからメモリデバイス１用CSとメモリデバイス１に対応したアドレスを出力する。第六のステップ06では、メモリに対しての書き込みであるか読み出しであるかを識別し、第七のステップ07では、メモリへの書き込みの場合にはメモリデバイス０およびメモリデバイス１に対してデータ転送を行い、第八のステップ08では、メモリからの読み出しである場合にはメモリデバイス０およびメモリデバイス１からデータを取得する。【０１５４】
図１９は、メモリ上にフレームバッファを配置した場合における、メモリバンクの論理アドレス配置の一例を示している。一般的には、フレームバッファは複数の矩形領域（ブロック）の集合体として構成される。各ブロックは同一バンクアドレスの同一ロウアドレスで構成する。左右および上下に隣り合うブロックは、異なるバンクアドレスで構成されたブロックで配置を行う。これにより、横方向および縦方向に対して連続してアクセスする場合に、バンクインタリーブ制御を行いアクセスオーバーヘッドの隠蔽が可能になる。【０１５５】
図２０は、図１９で示す前記ブロック内におけるメモリのカラムアドレスの配置の一例を示しており、前記単位領域を水平方向に１つ、垂直方向に1２つ並べたブロックを示している。【０１５６】
図２１は、図２０の構成に加え同じメモリデバイスの（Ｎ×整数）バイト領域が縦に並ぶように配置しているブロックを示している。この配置は次の構成により実現される。すなわち、複数のメモリデバイスは画像を記憶するフレームバッファとして用いられ、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有する。複数のメモリデバイスの論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置される。【０１５７】
また、上記のフレームバッファは複数の矩形領域から構成される。矩形領域は、水平アドレスに対応してE個(同図では２個）の単位領域が隣接して配置され、垂直アドレスに対応してF個（同図では１２個）の単位領域が配置される。【０１５８】
ここで、各矩形領域内の複数の単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有している。【０１５９】
また、上下に隣接する２つの矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有していてよい。各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。【０１６０】
この構成により、図２１に示すように、同じメモリデバイスの（Ｎ×整数）バイト領域が縦方向に並ぶように配置される。【０１６１】
図２２は、図２１で構成されたフレームバッファへの矩形アクセス要求に対応する矩形データ例を示す。【０１６２】
図２３は、実施の形態２のメモリ制御装置の場合における、図２２の矩形アクセス要求による動作を示すタイミングチャート図である。【０１６３】
図２２の矩形データでは、メモリデバイス０への物理アドレスと、メモリデバイス１への物理アドレスとが異なる（バンクアドレスが異なっている）ので、図２３のように個別のチップセレクト信号タイミングをずらしている。メモリデバイスへ異なる物理アドレスを出力する。メモリデバイス０とメモリデバイス１は１サイクルずれてアクセスされることになる。【０１６４】
図２４は、図２１で構成されたフレームバッファへの他の矩形アクセス要求に対応する矩形データ例を示す。【０１６５】
図２５は、実施の形態２のメモリ制御装置の場合における、図２４の矩形アクセス要求による動作を示すタイミングチャート図である。【０１６６】
図２４では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック８〜ブロック１１、ブロック４〜ブロック７を転送し、次に、矩形データがバンク境界からはみ出した部分（ブロック０〜ブロック３、ブロック１２〜ブロック１５）を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。【０１６７】
なお、図２１では、前記ブロック内は同じバンクアドレス内の連続するカラムアドレスを縦方向に並ぶような配置を示したが、同じバンクアドレス内のカラムアドレスの連続性は問わない。なお、ブロック内において縦方向に連続するカラムアドレスを配置、またはフレーム領域内の水平方向にある同一バンクのブロックに連続したカラムアドレスを配置することで、アクセスアドレスの計算が容易になるメリットが発生する。【０１６８】
次に、他の論理アドレス配置としてメモリデバイス０とメモリデバイス１の（Ｎ×整数）バイト領域を市松模様に配置する例について説明する。この場合、次のように構成すればよい。すなわち、１行以上連続するG行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリデバイスの並びに対応する順に配置される。また、隣接する１行以上連続するH行からなる第2の小矩形領域における各単位領域には、複数の（Ｎ×整数）バイト領域が、第１の小矩形領域と異なる順に配置される。【０１６９】
この第１小矩形領域と第２小矩形領域の関係が矩形領域内において繰り返されるようにすればよい。【０１７０】
本発明においては、2つのメモリに異なるチップセレクト信号CSを接続することにより独立にアドレス制御を行うことができるため、図２６のように、単位領域へのアクセスではメモリデバイス０とメモリデバイス１とに分けて個別に取得できるように配置できる。1行ごとにメモリデバイス０とメモリデバイス１との配置位置を交互に振り分けることで、単位領域を縦方向にまたがるアクセスをした場合にも、メモリデバイス０とメモリデバイス１とを個別に取得できるように配置できる。【０１７１】
図２７は、図２１の例における論理アドレス配置において、横方向は2つのバンクにまたがり、かつ縦方向に4行分の矩形データを取得する場合に、必要なデータ部分とメモリに対して実際に転送されるデータとを示したものである。その場合に、実際に転送されるデータは必要なデータに加えて無駄な転送が発生し、結果として転送効率が悪くなる。そこで本発明においては、図２８のように、必要なデータに対して実際に転送されるデータを少なくすることができる。【０１７２】
図２９は、図２１の例における論理アドレス配置において、図２７の矩形データを取得する場合のタイミングチャートである。【０１７３】
図３０は、図２６の例における論理アドレス配置において、図２８の矩形データを取得する場合のタイミングチャートである。【０１７４】
図２８では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック０〜ブロック３、ブロック８〜ブロック１１を転送し、次に、矩形データがバンク境界からはみ出した部分（ブロック４〜ブロック７）を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。【０１７５】
なお、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。【０１７６】
なお、本発明においては、フレームバッファ上のメモリデバイスの配置がメモリデバイス０とメモリデバイス１とで交互になっているため、データ制御部において配置を入れ替えることも可能である。さらに、CSを使用して独立にアクセスした場合には、データの転送タイミングメモリデバイス０とメモリデバイス１とで異なるため、データ制御部においてメモリデバイス０とメモリデバイス１とのタイミングのずれを調整し、マスタの要求したデータ配列、例えば同時タイミングのデータ配列に整列したり、シリアライズしたデータへと整列することも可能である。それにより、メモリデバイスに対して矩形アクセスを要求してくる側に対して、従来と同様のデータアクセスを実現することも可能である。【０１７７】
なお、ここでは2つのメモリを使用した場合について記述しているが、2つ以上のメモリを使用した場合でも同様の制御を行ってもよい。また、共通のアドレスバスを使用しているが、全ビットを共通にする必要はなく一部のアドレスバスでもよいし、アドレス信号だけでなく他の制御信号も共通に使用してもよい。【０１７８】
なお、異なるバンクアドレスで、同一ロウアドレスを持つ複数の前記ブロックを組み合わせた単一ロウ矩形領域を構成して配置して、単一ロウ矩形領域内で同一バンクアドレスを持つ複数の前記矩形領域にまたがるアクセスにおいて、同一バンクアドレスで同一ロウアドレスを連続してアクセスしてもよいし、バースト的にアクセスしてもよい。このようなアクセスをすることで、転送効率を向上させることも可能である。【０１７９】
なお、この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。【０１８０】
なお、図１９においてメモリバンクの配置を2つのバンクで構成しているが、2つ以上のバンクを使用した場合でも同様である。また、図２６においてカラムアドレスを上から下へと連続アドレスとしているが、連続アドレスである必要はなく、下から上への連続でもよいし、一定の周期的なアドレスでもよいし、任意のアドレス順序でもよい。また、バンク内における各メモリのデータ配置も1行ごとに入れ替えているが、2行ごとに入替えてもよいし、2行以上でもよい。また横方向に同一のカラムアドレスを配置しているが、縦方向に同一のカラムアドレスを配置してもよい。また、図２８における必要なデータは一例であり、要求により任意の位置から任意の大きさに対してアクセスが可能である。よって同一バンク内の矩形データであったり、2つ以上のバンクにまたがる矩形データであってもよい。【０１８１】
また、図３０においてアクセス順序を記述しているが、これに限ったものではなく、任意の順序でもよい。例えば、バンク1からアクセスをしてもよいし、矩形データの下側から取得を行ってもよい。【０１８２】
なお、図２１では、同じメモリデバイスの（Ｎ×整数）バイト領域が縦方向に並ぶように配置する例を示したが、横方向に並ぶように配置してもよい。この場合、次のように構成すればよい。すなわち、各矩形領域内の複数の単位領域は、任意の単一な前記メモリデバイスで構成され、共通のバンクアドレスを有する。ここで、左右に隣接する２つの矩形領域は、異なるカラムアドレスを有する。上下に隣接する２つの前記矩形領域は、異なるメモリデバイスの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なる。【０１８３】
各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。【０１８４】
以上のように、本実施の形態４では、複数のメモリを共通バスで制御する場合に、チップセレクト信号CSを独立に制御し、なおかつフレームバッファ上におけるデータの配置を各メモリに割り振り、横方向のデータを同一アドレスの異なるメモリに配置し、縦方向をも異なるメモリに配置することで、小さな矩形データへのアクセスにおいて実際に転送するデータ量を削減することができ、転送効率の向上を実現することができる。【０１８５】
（実施の形態５）
図３６は、本実施の形態におけるメモリ制御装置およびメモリ装置の構成を示すブロック図である。図３６のメモリ制御装置は、図１のメモリ制御装置と比較して、コマンド発行部が２個からｍ個に拡張されている点と、コマンド変換部１０８が追加されている点が異なる。図３６のメモリ装置４００ｃは、図３４Ａのメモリ装置４００と比較して、メモリユニットが２個からｍ個に拡張されている点と、コマンド変換部４４１が追加されている点が異なる。【０１８６】
コマンド変換部１０８は、多重化手段として機能する。すなわち、コマンド変換部１０８は、メモリ装置４００ｃに供給される同期信号の１サイクル期間内に、ｍ個のコマンド発行部から発行されるコマンド１からコマンドｍまでのｍ個のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドをメモリ装置４００ｃに出力する。ここで、多重化の対象となるアクセスコマンド（コマンド１からコマンドｍ）は、具体的には、ロウアドレスを含むｍ個の活性化コマンド、およびカラムアドレスを含むｍ個の読み出しまたは書き込みコマンドである。【０１８７】
コマンド変換部４４１は、逆多重化手段として機能する。すなわち、メモリ制御装置からコマンドインターフェースを介して受信した、時分割多重されたアクセスコマンドをｍ個のアクセスコマンドに逆多重化し（つまり分離し）、アクセスコマンド１からｍを対応するメモリユニット１からｍに出力する。【０１８８】
ここでは、マスタ２００が、メモリ制御装置１０１を介してＶ Byte幅のデータバスを持つメモリデバイスに接続されているシステム形態を示している。同図では、マスタ２００は１つしか図示していないが、複数のマスタが接続されていてももちろんよい。ここで前記Ｖ Byte幅のデータバスを持つメモリ装置４００ｃはメモリユニットとよばれるモジュールをｍ個有し、加えてその各々のメモリユニットに対してインターフェース仕様に応じたコマンドを同時に出力できる機能を有したコマンド変換部４４１を含む。コマンド変換部４４１はメモリ装置４００ｃに与えられる外部クロックの規定サイクル内にｍ個のコマンドを受け取り、前記ｍ個のメモリユニットに対して同時にコマンド発行できるコマンド変換機能も有している。これによれば、パッケージ化されたメモリ装置へのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。前記ｍ個のユニットメモリのデータバスは前記Ｖ Byte幅のデータバスをｍ分割した各々と接続されている。尚、メモリユニットは通常のＤＲＡＭのバンクが１つ以上複数に集合したものであっても良く、メモリの種別は問わず、広く記憶素子とする。【０１８９】
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、後述するメモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段(コマンド生成部および第１〜第ｍコマンド発行部)と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。【０１９０】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリユニットのバス幅）×（メモリユニットの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリユニットの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリユニットのバス幅×最小バースト長で求まる値を指す。図３６では、一つのメモリデバイスのバス幅がVByte、最小バースト長が１であるものとする。【０１９１】
また図３６においてメモリ制御装置１０１は、コマンド生成部１０２と、データ制御部１０６とコマンド変換部１０８、及びメモリ装置４００ｃにコマンド変換部４４１を介して接続されているｍ個のコマンド発行部から構成されている。ここでｍ個のコマンド発行部とコマンド変換部１０８は一体であってもよい。コマンド生成部１０２は、マスタ２００からのメモリアクセスコマンド（メモリアクセス要求）に含まれる論理アドレスをメモリユニット１からｍ毎の物理アドレスに変換する変換部１０３を備える。コマンド生成部１０２、ｍ個のコマンド発行部およびコマンド変換部１０８は、上記のコマンド制御手段として機能する。【０１９２】
マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス（論理アドレス）を示すデータを含む。【０１９３】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、変換部１０３において論理アドレスからメモリユニット０からｍ毎の物理アドレスに変換する。さらに、コマンド生成部１０２は、接続されているメモリユニットの最小アクセス単位のコマンドに分割する。その後、個々のメモリユニットに対応したユニット別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記ユニット別アクセスコマンドを発行する。【０１９４】
各コマンド発行部と各メモリユニットとは、それぞれ１対１で、メモリを制御するチップセレクト信号（ＣＳ）と、コマンド信号が対応付けられるが、その際、メモリ制御装置内のコマンド変換部１０８で時間多重され、規定サイクル内（ここでは１外部クロックサイクル）に、メモリ装置４００ｃのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。この前記多重化されたコマンドをメモリ装置４００ｃ内のコマンド変換部４４１で逆多重化し、それぞれ対応するコマンドを各メモリユニットへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。【０１９５】
一方、マスタ２００とメモリ装置４００ｃ間のデータ転送は、マスタ２００とデータ制御部１０６間のＶByteのデータバスを通して転送される。ここで、データバスは、双方向バスとしてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。【０１９６】
データ制御部１０６と各メモリデバイスとはＶＢｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からのＶByte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリユニットに接続されるＶ／ｍByte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリユニットからのＶ／ｍByte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、ＶByteのデータにくみ上げた後、マスタ２００に接続されるＶByteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
ここでマスタ２００とデータ制御部とを繋ぐデータバスの幅はＶByteに限らずシステム成立の要件によって決まる幅でよい。【０１９７】
これまでに述べた本発明のメモリ制御装置１０１に接続されるマスタ２００およびコマンド生成部１０２は実施の形態１と同様の機能を有している。またコマンド生成部１０２は、前述のマスタ２００から受け取るコマンドを分割、変換したときに、メモリユニットが異なり、かつアドレスも異なる場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリユニットが異なるが、アドレスが同じ場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に同じアドレスを発行してアクセスすることもできる。【０１９８】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、コマンド発行部０、１それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【０１９９】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部０に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。【０２００】
ここで４Byte境界単位でメモリデバイスをメモリユニット１とメモリユニット２と特定する場合において、本発明のメモリ制御装置１０１を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリユニット１からメモリユニット２へ跨る場合はメモリユニット間で異なるアドレスになる。本実施形態１の発明では、このようにメモリユニットにデータを格納し、読み出し可能な配置にすることにより２）の場合は同時に異なるアドレスを異なるメモリユニット１及び２に発行でき、かつ１）の場合には同時に同じアドレスを異なるメモリユニット１及び２に発行することができる。【０２０１】
図３７は、本実施形態５におけるメモリ制御装置１０１とメモリ装置４００ｃの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭと同等の動作をするメモリユニットｍ個を使用して、マスタ２００から、Ｖ×４Byte データの読み出しコマンドが発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。【０２０２】
コマンド生成部１０２において生成されたアクセスコマンドはｍ個のコマンド発行部の各々において各メモリユニットのコマンドへ分解された後、メモリ制御装置１０１内のコマンド変換部１０８にて時間多重され１クロックサイクル中にｍ個のコマンドとしてメモリ装置４００ｃに発行される。多重化されたｍ個のコマンドはメモリ装置４００ｃ内のコマンド変換部４４１で各々該当するメモリユニットへのコマンドとＣＳ信号に分解され各メモリユニットへ発行される。以上のようなコマンド転送をメモリ制御装置１０１とメモリ装置４００ｃのインターフェースで示した図が図３７である。最初にメモリユニット１からｍのそれぞれ独立したアクティベートコマンドを時間多重し、メモリ装置４００ｃに対して１サイクルの間に発行する。その後、tRCD を満たすよう３クロックサイクルおいて、ユニットメモリ１からｍのそれぞれ独立したRead コマンドを時間多重し発行する。メモリ装置４００ｃ内の１からｍのメモリユニットのそれぞれは、Read コマンド受信後、CL=3 後からそれぞれ所望のリードデータを自らのデータバスに出力する。【０２０３】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合に、メモリユニットごとに異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。【０２０４】
このように、本実施例においては、システム的に同一のＶByte のＳＤＲＡＭを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では4Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。【０２０５】
さらに、１つのメモリデバイスに対してｍ個のコマンドを時間多重して転送する構成であるため、ＣＳ信号線およびコマンド（アドレスも含む）バスが１つのメモリユニット分で済むため、全部を独立配線する場合と比べて、コマンドバスの配線面積を大幅に削減することができる。【０２０６】
なお、本実施例では、使用するメモリデバイスとして、Ｖ  ByteバスのＳＤＲＡＭの機能と同等のメモリユニットｍ個を接続した場合を例として説明したがデバイスの種類もＳＤＲＡＭに限らず、ＤＤＲ、ＤＤＲ２、Direct-Rumbus DRAM、XDR、といった他のＤＲＡＭであっても、ＳＲＡＭ、フラッシュメモリといったＤＲＡＭでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。【０２０７】
また、図３６で示したコマンド生成部１０２及びコマンド制御部１０７は最小アクセス単位に基づくメモリマッピングに従って、マスタ２００からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。【０２０８】
なお、本実施例では、コマンド発行部がデータ制御部１０６に発行するコマンド発行順情報を、マスタ２００のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す１ビットの情報として制御することも可能である。【０２０９】
メモリデバイスがＤＲＡＭでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部１０２から直接データ制御部１０６へ、コマンド発行順制御情報を通知することも可能である。【０２１０】
なお、図３６において、コマンドだけでなくデータをも多重化するようにメモリ制御装置およびメモリ装置を構成してもよい。その場合、メモリ制御装置は、メモリ装置に送信すべきデータ１からデータｍを１サイクル期間に時分割多重化するデータ多重化部と、メモリ装置から受信される多重化されたデータをデータ１からデータｍに逆多重化するデータ逆多重化部と備え、かつ、メモリ装置は、メモリ制御装置に送信すべきデータ１からデータｍを１サイクル期間に時分割多重化するデータ多重化部と、メモリ制御装置から受信される多重化されたデータをデータ１からデータｍに逆多重化するデータ逆多重化部と備えるようにすればよい。【０２１１】
また、上記多重化部は、メモリユニットに供給される同期信号の１サイクル期間内にｍ個のアクセスコマンドを時分割多重化しているが、この代わりに、１サイクル期間内に少なくとも２つのアクセスコマンドを時分割多重化することにより、複数サイクル期間でｍ個のアクセスコマンドを多重化するようにしてもよい。データが多重化される場合も同様にしてよい。【０２１２】
なお、上記各実施の形態に示したブロック図の各機能ブロックおよびフローチャートの各モジュールは典型的には集積回路装置であるＬＳＩとして実現される。このＬＳＩは１チップ化されても良いし、複数チップ化されても良い。例えば、メモリ以外の機能ブロックが１チップ化されていても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。【０２１３】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。【０２１４】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。【０２１５】
また、各機能ブロックのうち、データを格納するユニットだけ１チップ化せずに、記録媒体やＤＲＡＭなど別構成としても良い。
【産業上の利用可能性】
【０２１６】
本発明にかかる、実転送効率向上を図るメモリ制御装置及び制御方式は、画像やAudioに代表されるコーデック及びＣＰＵ等のようなマスターデバイスと、ＤＲＡＭ等のようなメモリとの間において生じするデータ転送を仲介するメモリ制御装置１０１に利用することができる。具体的には、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラなどの画像処理システムや、パソコンなどにおける画像処理システムに適している。
【図１Ａ】
2008084681.tif 000003
【図１Ｂ】
2008084681.tif 000004
【図２】
2008084681.tif 000005
【図３】
2008084681.tif 000006
【図４】
2008084681.tif 000007
【図５】
2008084681.tif 000008
【図６Ａ】
2008084681.tif 000009
【図６Ｂ】
2008084681.tif 000010
【図７】
2008084681.tif 000011
【図８】
2008084681.tif 000012
【図９】
2008084681.tif 000013
【図１０】
2008084681.tif 000014
【図１１Ａ】
2008084681.tif 000015
【図１１Ｂ】
2008084681.tif 000016
【図１２】
2008084681.tif 000017
【図１３Ａ】
2008084681.tif 000018
【図１３Ｂ】
2008084681.tif 000019
【図１４】
2008084681.tif 000020
【図１５】
2008084681.tif 000021
【図１６】
2008084681.tif 000022
【図１７】
2008084681.tif 000023
【図１８】
2008084681.tif 000024
【図１９】
2008084681.tif 000025
【図２０】
2008084681.tif 000026
【図２１】
2008084681.tif 000027
【図２２】
2008084681.tif 000028
【図２３】
2008084681.tif 000029
【図２４】
2008084681.tif 000030
【図２５】
2008084681.tif 000031
【図２６】
2008084681.tif 000032
【図２７】
2008084681.tif 000033
【図２８】
2008084681.tif 000034
【図２９】
2008084681.tif 000035
【図３０】
2008084681.tif 000036
【図３１】
2008084681.tif 000037
【図３２】
2008084681.tif 000038
【図３３】
2008084681.tif 000039
【図３４Ａ】
2008084681.tif 000040
【図３４Ｂ】
2008084681.tif 000041
【図３５Ａ】
2008084681.tif 000042
【図３５Ｂ】
2008084681.tif 000043
【図３６】
2008084681.tif 000044
【図３７】
2008084681.tif 000045
【手続補正書】
【提出日】平成20年12月5日(2008.12.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段と、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、
前記コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替えることを特徴とするメモリ制御装置。
【請求項２】
前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、
前記コマンド制御手段は、
分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、前記個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記アクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力する
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項３】
前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、
前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、
前記コマンド生成部は、複数のアクセスコマンドを複数のコマンド発行部に同時に出力する
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項４】
前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、
前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、
前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、
前記コマンド生成部は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、
分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項５】
前記複数のメモリユニットは、２つの第１、第２メモリユニットであり、
前記コマンド制御手段は、前記アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換し、
第１および第２メモリユニットは、
前記アクセス要求が第１メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、
前記アクセス要求が第２メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する
ことを特徴とする請求項３または４記載のメモリ制御装置。
【請求項６】
前記コマンド制御手段は、複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替える
ことを特徴とする請求項２記載のメモリ制御装置。
【請求項７】
前記複数のメモリユニットは第１〜第ｍのメモリユニットであり、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域は、第１〜第ｍのメモリユニットの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項８】
各単位領域において第１〜第ｍのメモリユニットの物理アドレスは共通であり、
前記コマンド制御手段は、
前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第１〜第ｍのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時にアクセスコマンドを発行する
ことを特徴とする請求項７記載のメモリ制御装置。
【請求項９】
前記第１〜第ｍのメモリユニットの各々はｉ個のバンクを有し、
前記論理アドレス空間は、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置され、
前記第１〜第ｐの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、
前記第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、
前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なる
ことを特徴とする請求項８記載のメモリ制御装置。
【請求項１０】
前記ｐ個の第１〜第ｐの前記単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有し、
前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する
ことを特徴とする請求項９記載のメモリ制御装置。
【請求項１１】
前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、
前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項１２】
前記各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である
ことを特徴とする請求項１１記載のメモリ制御装置。
【請求項１３】
前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、
前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する
ことを特徴とする請求項１０記載のメモリ制御装置。
【請求項１４】
前記ｍは２であることを特徴とする請求項７から１０の何れかに記載のメモリ制御装置。
【請求項１５】
前記ｍは２であり、
前記２つのメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記２つのメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
各単位領域には、前記２つのメモリユニットの互いに対応する２つの（Ｎ×整数）バイト領域が交互に配置され、
前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置され、
前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含む
ことを特徴とする請求項７から１０の何れかに記載のメモリ制御装置。
【請求項１６】
前記コマンド制御手段は、前記複数のメモリユニットに共通の第１アドレスバスと、前記複数のメモリユニットに個別の第２アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、
前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である
ことを特徴とする請求項１記載のメモリ制御装置。
【請求項１７】
前記コマンド制御手段は、
分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第１および第２アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第１アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１、第２アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、
分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第２アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１及び第２アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力する
ことを特徴とする請求項１６記載のメモリ制御装置。
【請求項１８】
前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、
前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、
前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、
前記フレームバッファは複数の矩形領域から構成され、
前記矩形領域は、水平アドレスに対応してＥ個の単位領域が隣接して配置され、垂直アドレスに対応してＦ個の単位領域が配置される
ことを特徴とする請求項１または２記載のメモリ制御装置。
【請求項１９】
前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、
左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有し、
上下に隣接する２つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有する
ことを特徴とする請求項１８記載のメモリ制御装置。
【請求項２０】
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
ことを特徴とする請求項１９記載のメモリ制御装置。
【請求項２１】
前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、
左右に隣接する２つの前記矩形領域は、異なるカラムアドレスを有し、
上下に隣接する２つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なることを特徴とする請求項１８記載のメモリ制御装置。
【請求項２２】
各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置される
ことを特徴とする請求項２１記載のメモリ制御装置。
【請求項２３】
１行以上連続するＧ行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、
隣接する１行以上連続するＨ行からなる第２の小矩形領域における各単位領域には、前記複数の（Ｎ×整数）バイト領域が、前記第１の小矩形領域と異なる順に配置され、
前記第１小矩形領域と前記第２小矩形領域の関係が前記矩形領域内において繰り返される
ことを特徴とする請求項１９または２１記載のメモリ制御装置。
【請求項２４】
メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御方法であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するステップと、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するステップと
を有し、
前記アクセスコマンドを発行するステップにおいて、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える
ことを特徴とするメモリ制御方法。
【請求項２５】
請求項１記載のメモリ制御装置を備えることを特徴とする半導体装置。
【請求項２６】
１パッケージ化されたメモリ装置であって、
複数のメモリユニットと、
外部から、アクセスコマンドを受信し、前記複数のメモリユニットに供給するコマンドインターフェースと、
前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、
外部から供給される同期信号に従って、外部と前記複数のメモリユニットの各々との間で前記データバスを介して独立にデータを入出力するデータインターフェースと
を備えることを特徴とするメモリ装置。
【請求項２７】
前記コマンドインターフェースは、時分割多重化された複数のアクセスコマンドを前記同期信号の１サイクル期間に受信し、
前記メモリ装置は、さらに、
前記コマンドインターフェースによって受信された、時分割多重されたアクセスコマンドを逆多重化し、アクセスコマンドを対応するメモリユニットに分配する逆多重化部を備える
ことを特徴とする請求項２６記載のメモリ装置。
【請求項２８】
前記コマンドインターフェースは、前記複数のメモリユニット個別に有効または無効にする複数のセレクト信号を受信し、受信したセレクト信号を対応するメモリユニットに供給する
ことを特徴とする請求項２６記載のメモリ装置。
【請求項２９】
前記コマンドインターフェースは、前記複数のメモリユニット毎に有効か無効かを示すユニット情報を受信し、
前記メモリ装置は、さらに、
前記ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する変換手段を有する
ことを特徴とする請求項２６記載のメモリ装置。
【請求項３０】
メモリアクセス要求を発行するマスタと、複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、
前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割するコマンド制御手段と、
前記複数のメモリユニットに供給される同期信号の１サイクル期間内に複数のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドを発行する多重化手段と、
前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、
前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段と
を有することを特徴とするメモリ制御装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、使用メモリ帯域を増やすために、メモリデータバス幅を拡張したシステムにおいて、マスタからの任意アドレスへのアクセスに対して、実効転送効率の向上を図るメモリ制御装置、メモリ装置およびメモリ制御方法に関するものである。
【背景技術】
【０００２】
一般に、画像処理装置を含む情報処理装置では、膨大なデータを記憶するために、大容量かつ低コストであるＤＲＡＭが用いられる。特に、近年の画像処理装置は、ＭＰＥＧ２やＨ．２６４等のＨＤ（High Definition）画像処理への対応や、同時複数チャンネル処理、高画質な３Ｄグラフィックス処理等により、メモリ容量だけでなく、高いデータ転送能力（以下、メモリ帯域と記す）を有するＤＲＡＭを必要としている。
【０００３】
一般的に、高いメモリ帯域を実現するためには、（１）バスの動作周波数を上げる方法、（２）メモリのバス幅を広くとる方法、またはこれらの方法（１）、（２）を併用する方法などが知られている。
【０００４】
一方、一般にＤＲＡＭは、アクセスを行う際、事前にアクセスするＢａｎｋ・Ｒｏｗを指定して、アクティベート処理を行う必要がある。また、同一Ｂａｎｋにおいて、アクセスするＲｏｗを変更する場合は、一旦アクセスしていたＲｏｗをプリチャージ処理し、新たにアクセスするＲｏｗに対してアクティベート処理を行う必要がある。これらアクティベート処理期間、プリチャージ処理期間は、該当バンクに対するアクセスができなくなるため、同一Ｂａｎｋ内で、Ｒｏｗを切り替える際に、アクセス不可期間が発生し、データバスに空きが発生してしまう。そこで、その欠点を補うべく、通常ＤＲＡＭアクセス制御においては、ある特定のバンクへのデータ転送実行中に、他のバンクのアクティベート処理、プリチャージ処理を実行することにより、前記アクセス不可期間を隠蔽し、見かけ上、データバス上で、常時データ転送を可能とする、バンクインタリーブ制御と呼ばれる制御が行われる。このバンクインタリーブが有効に機能するためには、他バンクのデータ転送時間が前記アクセス不可期間を上回る必要がある。
【０００５】
しかしながら、高いメモリ帯域を実現するために、前記（１）、（２）のいずれの対応をとった場合においても、単位時間あたりのデータ転送量が増えるのに対し、前記アクセス不可期間の絶対時間が変わらないため、前記アクセス不可期間を隠蔽するのに必要なデータ転送量が増加することになる。その結果、他バンクのデータ転送量を増やさない限り、すなわち、１アクセスあたりの転送サイズを増やさない限り、前記バンクインタリーブ制御を行っていたとしても、前記アクセス不可期間の隠蔽が十分に実現できないため、データバスに空きが発生することとなり、アクセス効率の低下が発生する。このことは、転送サイズが小さいアクセスが頻発するシステムにおいては、大幅なアクセス効率の低下を招くことを意味する。
【０００６】
この問題に対する従来の手法として、特許文献１に記載のものがある。図３１に、この従来手法の回路構成を示す。この手法では、カウンタ０、１の信号を元に、コマンド生成手段において、メモリデバイス０、１を特定のタイミングで交互に時分割アクセスすることにより、単一デバイスで発生するアクセス不可期間を、他方のデバイスのデータ転送時間で隠蔽することにより、バスのアクセス効率の向上を実現している。この制御では、高いメモリ帯域を実現するために、前記（１）、（２）のいずれの対応をとった場合においても、同一デバイス内でのバンクインタリーブ制御で隠蔽しきれなかったアクセス不可期間を、他方のデバイスのアクセスにより隠蔽できるため、１アクセスあたりの転送サイズを増やすことなく、アクセス効率の低下を防ぐことができる。このことは、転送サイズが小さいアクセスが頻発するシステムにおいても、アクセス効率の低下を抑えることができることを意味する。
【特許文献１】特開平９−１９０３７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、前記従来技術では、複数のデバイスを利用しているにも関わらず、同時にアクセスできるデバイスは１つであるため、システムが使用できる最大メモリ帯域は、１つのデバイスが持つメモリ帯域に限定される。それゆえ、前記従来技術において、使用メモリ帯域を大きくするためには、１デバイス当たりのバス幅を広げるか、動作周波数をあげる、すなわち、より高速なＤＲＡＭ（ＤＤＲ，ＤＤＲ２、ＤＤＲ３他）を使用するしかない。
【０００８】
バス幅を拡張してデータ転送帯域を増加させる構成として、図３２のような構成も考えられる。このメモリ制御装置では、図３１よりも最大メモリ帯域を拡大し、かつ、８バイトアクセスと４バイトアクセスが可能になっている。しかし、転送量の小さいアクセスや、画像処理によく使用される任意で非連続なアクセスに対して、無駄な転送を多く行うという問題がある。
【０００９】
ところで、ＤＲＡＭの最小アクセス単位は、「バス幅  ×  最小バースト数」で決まる。前述した高速なＤＲＡＭは、最小バースト数が、ＳＤＲＡＭが１であるのに対して、ＤＤＲは２、ＤＤＲ２は４、ＤＤＲ３は８と規定されているため、バス幅を広げる対応をした場合と同様、高速なＤＲＡＭを使用することによっても、最小アクセス単位が増加するという課題を有していた。この最小アクセス単位とは、１回のアクセスに対して、必ず転送される最小データ転送量を示し、あらゆるアクセス要求は、この最小アクセス単位の整数倍で転送されることとなる。よって、この最小アクセス単位が増大するということは、転送量の小さいアクセスや、画像処理によく使用される任意で、非連続なアクセスに対して、無駄な転送を多く行うこととなり、結果、実効転送効率の低下を導く。
【００１０】
具体的な例を図３３に示す。図３３では、１００ＭＨｚで動作する4 ByteバスのＳＤＲＡＭを使用しているシステムを、メモリ帯域を２倍にするために、バス幅を倍の8 Byteとした例を示している。ここで、当然のことながら、利用メモリ帯域は倍になっているが、図３３に示すように、4 Byte 転送といった小さいアクセスや、8n + 4 Byte アドレスからの 8 Byte 転送といった、アドレス境界がそろっていない位置からの転送などは、有効データと無効データが同一サイズとなってしまい、アクセス効率は半減してしまう。その結果、利用できるメモリ帯域が２倍となっても、アクセス効率が半減しているため、実質使用しているメモリ帯域はバス幅拡張前と同じ400 MB/s となってしまい、バスを拡張した効果が全くなくなる場合が存在する。
【００１１】
本発明は、上記課題を解決するために、メモリバス幅の拡張を行ったり、高速ＤＲＡＭを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現するメモリ制御装置、メモリ装置およびメモリ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するために、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有し、前記コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
【００１３】
この構成によれば、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリユニットのバス幅）×（メモリユニットの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリユニットのバス幅とすることができる。
【００１４】
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通のアドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号とを介して前記複数のメモリユニットに接続され、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、前記データ制御手段は、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して、前記アクセスコマンドのタイミングに従って各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前述したアクセスコマンドのタイミングに従って前記複数のメモリユニットから読み出されたデータを組み合わせて、前記マスタへ出力するようにしてもよい。
【００１５】
この構成によれば、前記複数のメモリユニットに独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を削減することができ、回路面積を小型化することができる。
【００１６】
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、複数のアクセスコマンドを複数のコマンド発行部に同時に出力するようにしてもよい。
【００１７】
ここで、前記コマンド制御手段は、コマンド生成部と、メモリユニット毎に設けられたコマンド発行部とを備え、前記コマンド生成部は、前記メモリアクセス要求に含まれる論理アドレスをメモリユニット毎の物理アドレスに変換し、メモリユニット毎のアクセスコマンドに分割し、前記各コマンド発行部は、対応するメモリユニットに、前記コマンド生成部からのアクセスコマンドを発行し、前記コマンド生成部は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力するようにしてもよい。
【００１８】
ここで、前記複数のメモリユニットは、２つの第１、第２メモリユニットであり、前記コマンド制御手段は、前記アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換し、第１および第２メモリユニットは、前記アクセス要求が第１メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第２メモリユニットのデータを先頭とし、当該データの先頭が第１および第２メモリユニットのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納するようにしてもよい。
【００１９】
ここで、前記コマンド制御手段は、複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリユニット毎に遅らせることにより、複数メモリユニットの同一のアドレスと異なるアドレスを切り替えるようにしてもよい。
【００２０】
ここで、前記複数のメモリユニットは第１〜第ｍのメモリユニットであり、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第１〜第ｍのメモリユニットの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置されるようにしてもよい。
【００２１】
ここで、各単位領域において第１〜第ｍのメモリユニットの物理アドレスは共通であり、前記コマンド制御手段は、前記アクセス要求が前記単位領域を越えないデータサイズのアクセス要求である場合、前記第１〜第ｍのメモリユニットのうち、当該アクセス要求に対応するメモリユニットに同時にアクセスコマンドを発行するようにしてもよい。
【００２２】
ここで、前記第１〜第ｍのメモリユニットの各々はｉ個のバンクを有し、前記論理アドレス空間は、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置され、前記第１〜第ｐの単位領域は、共通のロウアドレスを有し、異なるカラムアドレスを有し、前記第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なるようにしてもよい。
【００２３】
この構成によれば、前記ｍ個のアドレスが共通な複数のメモリユニットに対して同一サイクルでのアクセスを実現し、かつ論理的に連続なアドレス空間に配置された隣接する前記ｐ個のロウアドレスが共通なｍ個のアドレスが共通な複数のメモリユニットの単位の間で、メモリアクセスタイミング制約に起因するロウアドレスの切替時間の最短化を実現することができる。
【００２４】
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置されるようにしてもよい。
【００２５】
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
【００２６】
ここで、前記各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通であるようにしてもよい。
【００２７】
この構成によれば、前記単位領域内に対応する異なるメモリユニットに対して同時に同一のアドレスでアクセスを行うことができる。
【００２８】
ここで、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有し、前記コマンド制御手段は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行するようにしてもよい。
【００２９】
ここで、前記ｍは２であってもよい。
【００３０】
ここで、前記２つのメモリユニットは画像を記憶するフレームバッファとして用いられ、前記２つのメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、各単位領域には、前記２つのメモリユニットの互いに対応する２つの（Ｎ×整数）バイト領域が交互に配置され、前記画像の水平アドレスに対応してＡ個の単位領域が隣接して配置され、垂直アドレスに対応してＢ個の単位領域が配置され、前記マスタからのアクセス要求は、水平アドレスと、行単位の垂直アドレスとを含むようにしてもよい。
【００３１】
この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
【００３２】
ここで、前記コマンド制御手段は、前記複数のメモリユニットに共通の第１アドレスバスと、前記複数のメモリユニットに個別の第２アドレスバスと、前記複数のメモリユニットに個別のチップセレクト信号を介して前記複数のメモリユニットに接続され、前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線であるようにしてもよい。
【００３３】
ここで、前記コマンド制御手段は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、前記の個別のチップセレクト信号と第１および第２アドレスバスとを同時に有効にすることによって、前記複数のメモリユニットへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第１アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１、第２アドレスバスを共に出力するタイミングをずらして有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合でかつ第２アドレスバスが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号および第１及び第２アドレスバスを同時に有効にすることによって、前記複数のメモリユニットへ異なる物理アドレスを出力するようにしてもよい。
【００３４】
ここで、前記複数のメモリユニットは画像を記憶するフレームバッファとして用いられ、前記複数のメモリユニットの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置され、前記フレームバッファは複数の矩形領域から構成され、前記矩形領域は、水平アドレスに対応してＥ個の単位領域が隣接して配置され、垂直アドレスに対応してＦ個の単位領域が配置されるようにしてもよい。
【００３５】
ここで、前記各矩形領域内の複数の前記単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有し、上下に隣接する２つの前記矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有するようにしてもよい。
【００３６】
この構成によれば、矩形領域内でカラムアドレス垂直方向に連続し、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリユニット単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
【００３７】
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。
【００３８】
ここで、前記各矩形領域内の複数の前記単位領域は、任意の単一な前記メモリユニットで構成され、共通のバンクアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるカラムアドレスを有し、上下に隣接する２つの前記矩形領域は、異なるメモリユニットの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なるようにしてもよい。
【００３９】
ここで、各単位領域には、前記複数のメモリユニットの互いに対応する複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置されるようにしてもよい。
【００４０】
ここで、１行以上連続するＧ行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリユニットの並びに対応する順に配置され、隣接する１行以上連続するＨ行からなる第２の小矩形領域における各単位領域には、前記複数の（Ｎ×整数）バイト領域が、前記第１の小矩形領域と異なる順に配置され、前記第１小矩形領域と前記第２小矩形領域の関係が前記矩形領域内において繰り返されるようにしてもよい。
【００４１】
また、本発明のメモリ装置は、１パッケージ化されたメモリ装置であって、複数のメモリユニットと、外部から、アクセスコマンドを受信し、前記複数のメモリユニットに供給するコマンドインターフェースと、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、外部から供給される同期信号に従って、外部と前記複数のメモリユニットの各々との間で前記データバスを介して独立にデータを入出力するデータインターフェースとを備える。
【００４２】
この構成によれば、複数のメモリユニットが１パッケージ化されている場合であっても、上記メモリ制御装置と相俟って、高いアクセス効率を実現可能である。
【００４３】
ここで、前記コマンドインターフェースは、時分割多重化された複数のアクセスコマンドを前記同期信号の１サイクル期間に受信し、前記メモリ装置は、さらに、前記コマンドインターフェースによって受信された、時分割多重されたアクセスコマンドを逆多重化し、アクセスコマンドを対応するメモリユニットに分配する逆多重化部を備えるようにしてもよい。
【００４４】
この構成によれば、パッケージ化によってパッケージへのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。
【００４５】
ここで、前記コマンドインターフェースは、前記複数のメモリユニット個別に有効または無効にする複数のセレクト信号を受信し、受信したセレクト信号を対応するメモリユニットに供給するようにしてもよい。
【００４６】
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号を供給し、個別のアクセスを容易にすることができる。
【００４７】
ここで、前記コマンドインターフェースは、前記複数のメモリユニット毎に有効か無効かを示すユニット情報を受信し、前記メモリ装置は、さらに、前記ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する変換手段を有するようにしてもよい。
【００４８】
この構成によれば、パッケージ内の複数のメモリユニットに個別にセレクト信号をパッケージに供給する代わりにユニット情報を供給するので、パッケージのピン数およびパッケージへの配線数を低減することができる。
【００４９】
また、本発明のメモリ制御装置は、メモリアクセス要求を発行するマスタと、複数のメモリユニットとに接続され、メモリユニットのアクセスを制御するメモリ制御装置であって、前記マスタから発行された前記メモリアクセス要求を、メモリユニット毎のアクセスコマンドに分割するコマンド制御手段と、前記複数のメモリユニットに供給される同期信号の１サイクル期間内に複数のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドを発行する多重化手段と、前記複数のメモリユニットと同数の部分的なバスにビット分割されたデータバスと、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリユニット毎のデータに分割して各メモリユニットへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリユニットからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有する構成としてもよい。
【００５０】
この構成によれば、メモリ制御装置から複数のメモリユニットへの配線数を低減することができる。
【００５１】
また、本発明のメモリ制御方法、半導体装置は、上記と同様の構成を有する。
【００５２】
本構成によって、メモリバス幅の拡張を行ったり、高速ＤＲＡＭを使用することによる使用メモリ帯域の拡大を行った際の無効データの転送量の増加を抑制し、高いアクセス効率を実現できる。
【発明の効果】
【００５３】
本発明のメモリ制御装置によれば、利用メモリ帯域の拡大のために、バス幅を拡張した場合や、ＤＤＲ、ＤＤＲ２、ＤＤＲ３といった高速なＤＲＡＭを使用した場合においても、メモリの最小アクセス単位の増加を抑えることが可能となるため、転送量の小さいアクセスや、画像処理の際に頻繁に発生する任意の非連続なアクセスが存在するシステムにおいても、無効データ転送の増加を抑制することができるため、高いメモリアクセス効率を実現することができる。また、無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有（特にDRAM）に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、システムLSIの端子数とLSIとメモリユニット間の配線数の削減できる。またこれによりコストの大幅な削減も実現できる。
【００５４】
本発明のうち複数チップのメモリユニットを１つのメモリパッケージに置き換えることにより、本発明の上記無駄な転送を削減し実効転送効率を改善すると共に、メモリユニット特有（特にDRAM）に発生するアクセスオーバーヘッドを改善し、メモリシステムのトータルバンド幅を削減すると同時に、さらにシステム内の実装チップ数を削減しシステムの実装面積を大幅に削減も実現できる。
【発明を実施するための最良の形態】
【００５５】
以下本発明の実施の形態について、図面を参照しながら説明する。
【００５６】
（実施の形態１）
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、メモリデバイス毎のアクセスコマンドに分割し、前記複数のメモリデバイスにアクセスコマンドを発行するコマンド制御手段と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが同じ場合と異なる場合とで、複数のメモリデバイスへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
【００５７】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリデバイスのバス幅）×（メモリデバイスの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリデバイスの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。図１Ａでは、一つのメモリデバイスのバス幅が４Byte、最小バースト長が１であるものとする。
【００５８】
なお、上記の複数のメモリデバイスのそれぞれは、半導体装置に1チップ化されていてもよい。あるいは、上記の複数のメモリデバイスが1パッケージ化されていてもよい。
【００５９】
図１Ａは、本発明のメモリ制御装置の一実施形態を示すブロック図である。ここでは、マスタ２００が、メモリ制御装置を介して２つの４Byteバスのメモリデバイス（ＳＤＲＡＭ）に接続されているシステム形態を示している。同図では、マスタ２００は１つしか図示していないが、複数のマスタが接続されていてももちろんよい。
【００６０】
同図のようにメモリ制御装置１０１は、コマンド生成部１０２と、データ制御部１０６および、それぞれのメモリデバイス０、１に個別に接続されているコマンド発行部１０４、１０５から構成されている。コマンド生成部１０２は、マスタ２００からのメモリアクセスコマンド（メモリアクセス要求）に含まれる論理アドレスをメモリデバイス０、１毎の物理アドレスに変換する変換部１０３を備える。コマンド生成部１０２、コマンド発行部１０４および１０５の３つは、上記のコマンド制御手段として機能する。
【００６１】
マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス（論理アドレス）を示すデータを含む。
【００６２】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、変換部１０３において論理アドレスからメモリデバイス０、１毎の物理アドレスに変換する。さらに、コマンド生成部１０２は、接続されているメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記デバイス別アクセスコマンドを発行する。
【００６３】
各コマンド発行部と各メモリデバイスとは、それぞれ１対１で、メモリを制御するチップセレクト信号（ＣＳ）と、コマンド信号が接続されており、コマンド生成部１０２からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部は、接続されているメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。
【００６４】
一方、マスタ２００とメモリデバイス間のデータ転送は、マスタ２００−データ制御部１０６間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。
【００６５】
データ制御部１０６と各メモリデバイスとは、それぞれ専用の４Ｂｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からの8Byte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ２００に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
【００６６】
図２に、本実施形態１における、メモリデバイスのアドレスマッピングを示す。図２が示すように、マスタ２００が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位（本実施例では4Byte）毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ２００が指定する連続アドレスを、各デバイスの物理アドレス（Ｂａｎｋ・Ｒｏｗ・Ｃｏｌｕｍｎ）に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一ＢａｎｋのＲｏｗの切り替えを頻繁に発生させないという観点から、図２に示すように、マスタ２００が指定する連続アドレスに対して、同一デバイス内では、同一Ｂａｎｋの同一Ｒｏｗを順に割り当てていき、１つのＲｏｗの全領域をアクセスした時点で、異なるＢａｎｋのＲｏｗに切り替わるというマッピングにすることが望ましい。
【００６７】
これまでに述べた本発明のメモリ制御装置１０１に接続されるマスタ２００はメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスが可能であり、コマンド生成部１０２では、受け取った論理アドレス及び画像イメージアドレスを含むコマンドをメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割し、図２に示すメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成する機能を備えている。
【００６８】
またコマンド生成部１０２は、前述のマスタ２００から受け取るコマンドを分割、変換したときに、メモリデバイスが異なり、かつアドレスも異なる場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリデバイスが異なるが、アドレスが同じ場合である時、メモリデバイス毎のコマンド発行部へ発行し、メモリデバイス毎に同時に同じアドレスを発行してアクセスすることもできる。
【００６９】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、コマンド発行部１０４、１０５それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【００７０】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部１０４に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１０５に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【００７１】
ここで４Byte境界単位でメモリデバイスをメモリデバイス０とメモリデバイス１と特定する場合において、本発明のメモリ制御装置１０１を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリデバイス１からメモリデバイス０へ跨る場合はメモリデバイス間で異なるアドレスになる。本実施形態１の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより２）の場合は同時に異なるアドレスを異なるメモリデバイス０及び１に発行でき、かつ１）の場合には同時に同じアドレスを異なるメモリデバイス０及び１に発行することができる。
【００７２】
図４は、本実施形態１におけるメモリ制御装置１０１の動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭを使用して、マスタ２００から、[１]0 Byte アドレスからの16Byte データの読み出しコマンドと、[２]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。
【００７３】
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス“0”へのアクセスコマンドを発行する。その後、要求転送サイズを満たしていないため、次サイクルには、両コマンド発行部に対して、アドレス“1”へのアクセスコマンドを発行して、最初のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４およびコマンド発行部１０５は、指定されたアドレスへアクセスするために、共に図４に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム０へのRead コマンドを、t5において、カラム１へのReadコマンドをそれぞれ発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t4のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス０からの出力データ 4Byte を上位に、メモリデバイス１からの出力データ4Byte を下位に割り当てた8Byte データをマスタ２００へ転送する。同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。
【００７４】
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部１０４に対して、 アドレス“4”へのアクセスコマンドを、コマンド発行部１０５に対して、 アドレス“３”へのアクセスコマンドを、それぞれ発行する。その後、要求転送サイズを満たしていないため、次サイクルには、コマンド発行部１０４に対して、 アドレス“５”へのアクセスコマンドを、コマンド発行部１０５に対して、 アドレス“４”へのアクセスコマンドを、それぞれ発行して、後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４およびコマンド発行部１０５は、共にt1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部１０４はカラム４へのRead コマンドを、コマンド発行部１０５はカラム３へのRead コマンドを、またt7において、コマンド発行部１０４はカラム５へのRead コマンドを、コマンド発行部１０５はカラム４へのRead コマンドをそれぞれ発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイスは、前記Read コマンド発行（t6）後、CL=3 後のt9からそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス０からの出力データ 4Byte を下位に、メモリデバイス１からの出力データ4Byte を上位に割り当てた8Byte データをマスタ２００へ転送する。同様の処理を、t７のサイクルで受け取ったコマンド情報を元にt11のサイクル においても行うことで、後発の16Byte リード処理を完了する。
【００７５】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合（本実施例では、データバス幅８Byte、アクセス開始アドレス２４Byte目、要求転送サイズ１６Byte）に、メモリデバイス０とメモリデバイス１に異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。
【００７６】
上記までの本実施例１の効果を明確にするために、図３２に示すような４Byteバスのメモリデバイス（ＳＤＲＡＭ）を単純に並列接続して、論理上、8ByteバスのＳＤＲＡＭと
して接続した従来のシステム構成において、同様の転送を行った場合のタイミング図を図５に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図５のt7、t8 の２サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、図５のt9〜t12の３サイクルで転送されているように、24Byteアドレスから48Byte アドレスまでのトータル24Byte転送が必要となるため、アクセス効率が低下する。
【００７７】
このように、本実施例においては、システム的に8Byte のＳＤＲＡＭを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では4Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
【００７８】
なお、本実施の形態におけるメモリ制御装置１０１は、図６に示すように構成してもよい。すなわち、図６のコマンド制御部１０７は、図１Ａに示したコマンド生成部１０２、コマンド発行部１０４、１０５を合わせた機能と同じである。
【００７９】
なお、本実施例では、使用するメモリデバイスとして、4ByteバスのＳＤＲＡＭ２つを接続した場合を例として説明したが、使用するメモリデバイスのバス幅は任意のバス幅で実施可能であり、デバイスの数も任意の数で実施可能である。また、デバイスの種類もＳＤＲＡＭに限らず、ＤＤＲ、ＤＤＲ２、Direct-Rambus（登録商標） DRAM、XDRといった他のＤＲＡＭであっても、ＳＲＡＭ、フラッシュメモリといったＤＲＡＭでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。
【００８０】
また、図１Ａで示したコマンド生成部１０２及び図６で示したコマンド制御部１０７は最小アクセス単位に基づくメモリマッピングに従って、マスタ２００からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。
【００８１】
なお、本実施例では、コマンド発行部がデータ制御部１０６に発行するコマンド発行順情報を、マスタ２００のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す１ビットの情報として制御することも可能である。
【００８２】
メモリデバイスがＤＲＡＭでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部１０２から直接データ制御部１０６へ、コマンド発行順制御情報を通知することも可能である。
【００８３】
また、図１Ａのメモリ制御装置１０１は２つのメモリデバイス０、１を接続しているが、図１Ｂに示すようにｍ個のメモリを接続する構成としても良い。図１Ｂに示すメモリ制御装置は、図１Ａと比較して、２個のメモリを接続する代わりにｍ個の第１〜第ｍメモリを接続し、２つのコマンド発行部１０４、１０５の代わりにるｍ個の第１〜第ｍコマンド発行部を備えている。第１〜第ｍコマンド発行部は、第１〜第ｍメモリに対応して設けられる。
【００８４】
同様に、図６Ａに示したメモリ制御装置も、図６Ｂに示すように、m個のメモリを接続する構成としてもよい。
【００８５】
（実施の形態２）
本実施の形態では、実施の形態１に比べてアドレスバスの配線面積を大幅に削減することにより回路の小型化を可能にし、かつ、さほど性能を劣化させないメモリ制御装置の構成について説明する。
【００８６】
本実施の形態におけるコマンド制御部は、前記複数のメモリデバイスに共通のアドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合、前記の個別のチップセレクト信号を同時に有効にすることによって、前記複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合、前記の個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。このように、タイミング（例えば１サイクル）をずらすことにより、１サイクル遅延が発生するが、独立したアドレスバスを配線する必要がないので、アドレスバスの配線面積を大幅に削減することができる。
【００８７】
図７は、本実施の形態におけるメモリ制御装置１０１aの一実施形態を示すブロック図である。ここでは、１つのマスタ２００が、メモリ制御装置１０１ａを介して２つの４Byteバスのメモリデバイス（ＳＤＲＡＭ）に接続されているシステム形態を示している。メモリ制御装置１０１ａは、コマンド生成部１０２と、データ制御部１０６および、メモリデバイスのCS信号のみが個別に接続され、その他のコマンド信号を共通に各メモリデバイスに接続しているコマンド発行部１０４ａから構成されている。マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレスを示すデータを含む。
【００８８】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、接続されているメモリデバイスの最小アクセス単位（本実施例では4Byte）のコマンドに分割する。その後、後述するメモリデバイスのアドレスマッピングに基づいて、個々のデバイスに対応したデバイス別アクセスコマンドを生成し、コマンド発行部１０４ａに、前記デバイス別アクセスコマンドを発行する。
【００８９】
コマンド発行部１０４ａと各メモリデバイスとは、メモリを制御するチップセレクト信号（ＣＳ）が１対１で接続され、コマンド信号は共通で接続されている。
【００９０】
コマンド生成部１０２からの前記デバイス固有アクセスコマンドを受け取ったコマンド発行部１０４ａは、（状態１）受け取ったコマンドが各メモリデバイスで同じアドレス（Bank,Row,Col）である場合に個別に接続されているチップセレクト信号CSを同時に有効にしてメモリデバイスのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。（状態２）受け取ったコマンドが各メモリデバイスで異なるアドレス（Bank,Row,Col）である場合には個別に接続されているCSを有効にするタイミングをずらして各メモリデバイスに応じたコマンドを各メモリデバイスへ出力する。また、コマンド発行部１０４ａは、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。
【００９１】
一方、マスタ２００とメモリデバイス間のデータ転送は、マスタ２００−データ制御部１０６間の8Byteのデータバスを通して転送される。ここで、データバスは、双方向バス
としてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。
【００９２】
データ制御部１０６と各メモリデバイスとは、それぞれ専用の４Ｂｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からの8Byte データを、前述の（状態１)及び（２）の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリデバイスに接続される4Byte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリデバイスからの4Byte 出力データを、前述の（状態１)及び（２）の場合に応じて前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、8Byteのデータにくみ上げた後、マスタ２００に接続される8Byteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
【００９３】
本実施の形態における、メモリデバイスのアドレスマッピングは実施の形態１に示す図２と共通であり、図２が示すように、マスタ２００が指定する連続アドレスに対して、接続するメモリデバイスの最小アクセス単位（本実施例では4Byte）毎に、デバイスが切り替わるマッピングを行っている。ここで、マスタ２００が指定する連続アドレスを、各デバイスの物理アドレス（Ｂａｎｋ・Ｒｏｗ・Ｃｏｌｕｍｎ）に、どのようにマッピングするかは特定する必要はない。ただし、同じデバイス内において、アクセス効率の低下を招く同一ＢａｎｋのＲｏｗの切り替えを頻繁に発生させないという観点から、図２に示すように、マスタ２００が指定する連続アドレスに対して、同一デバイス内では、同一Ｂａｎｋの同一Ｒｏｗを順に割り当てていき、１つのＲｏｗの全領域をアクセスした時点で、異なるＢａｎｋのＲｏｗに切り替わるというマッピングにすることが望ましい。
【００９４】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、メモリデバイス０およびメモリデバイス１を管理するコマンド発行部１０４a内のメモリデバイス０、メモリデバイス１を制御する部分それぞれが、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【００９５】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部１０４a内のメモリデバイス０を制御する部分に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１０４a内のメモリデバイス１を制御する部分に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【００９６】
ここで、8Byte境界単位でメモリデバイスをメモリデバイス０とメモリデバイス１と特定する場合において、本発明のメモリ制御装置１０１ａを通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリデバイス１からメモリデバイス０へ跨る場合はメモリデバイス上で異なるアドレスになる。本実施形態２の発明では、このようにメモリデバイスにデータを格納し、読み出し可能な配置にすることにより2）の場合はメモリデバイス０とメモリデバイス１に異なるアドレスをタイミングをずらして発行でき、1）の場合には同時に同じアドレスを異なるメモリデバイス０及び１に発行することができる。
【００９７】
図８は、本実施の形態におけるメモリ制御装置１０１ａの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭをバースト長2（BL=2）の状態で使用して、マスタ２００から、[１]0 Byte アドレスからの16Byte データの読み出しコマンドと、[２]28Byte アドレスからの16Byteデータの読み出しコマンドが連続して発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。なお、実施の形態２の動作を明確に説明するために、共通のコマンドバスを実施の形態１と同じ形態で個別のコマンドバスとして図示している。
【００９８】
最初の0 Byte アドレスからの16Byte データの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界であること(8n Byteアドレス かつ n= 0)から、両コマンド発行部に対して、 アドレス“0”へのアクセスコマンドを発行する。バースト長が２であるためこのコマンドで１６Byteを転送するため処理を終了する。上記コマンドを受け取った、コマンド発行部１０４aは、指定されたアドレスへアクセスするために、図８に示すように、t1 において、Bank0/Row0 へのアクティベートコマンドを発行する。その後、tRCD を満たすよう t4において、カラム０へのRead コマンドを発行すると同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１を出力する。メモリデバイスは、Read コマンド発行後、CL=3 後のt7からバースト数２の期間にそれぞれ所望のリードデータを出力する。データ制御部１０６では、このデータを受けて、t4 のサイクルで受け取ったコマンド発行順情報を元に、t8 のサイクルで、メモリデバイス０からの出力データ 4Byte を上位に、メモリデバイス１からの出力データ4Byte を下位に割り当てた8Byte データをマスタ２００へ転送する。更にバーストの後半のデータで同様の処理を、t9 においても行うことで、最初の16Byte リード処理を完了する。
【００９９】
一方、後発の28Byte アドレスからの16Byteデータの読み出しコマンドに関しては、コマンド生成部１０２において、開始アドレスが8Byte 境界でないこと(8n+ 4 Byteアドレス かつ n = 3)から、コマンド発行部１０４a内のメモリデバイス０を制御する部分に対して、 アドレス“4”でバースト長２のアクセスコマンドを、コマンド発行部１０４a内のメモリデバイス１を制御する部分に対して、 アドレス“３”でバースト長２のアクセスコマンドを、それぞれ発行して後発のコマンドの処理を終了する。上記コマンドを受け取った、コマンド発行部１０４aは、t1 において、既にBank0/Row0 へのアクティベートコマンドが発行されていることから、最初のコマンドの発行が完了した次のサイクルであるt6において、コマンド発行部１０４a内のメモリデバイス０を制御する部分ではカラム４へのバースト長２でRead コマンドを発行する。コマンド発行部１０４a内のメモリデバイス１を制御する部分はｔ６ではコマンドを発行せず、ｔ７においてカラム３へのバースト長２でRead コマンドを発行する。ｔ６、ｔ７のコマンド発行部１０４aのコマンド発行と同時に、データ制御部１０６に対して、発行したコマンドがマスタ２００のアクセスコマンドの何番目のデータに対するコマンドであるかを示すコマンド発行順情報０、１をそれぞれ出力する。メモリデバイス０は、前記Read コマンド発行（t6）後、CL=3 後のt9からバースト長２のリードデータを出力する。メモリデバイス１は、前記Read コマンド発行（t７）後、CL=3 後のt１０からバースト長２のリードデータを出力する。データ制御部１０６では、このデータを受けて、t6 のサイクルで受け取ったコマンド発行順情報を元に、t10 のサイクルで、メモリデバイス０からの出力データ 4Byte を下位に、ｔ１１のサイクルで出力されるメモリデバイス１からのデータ4Byte を直接上位に割り当てた8Byte データをマスタ２００へ転送する。バースト後半のデータ においても同様に行うことで、後発の16Byte リード処理を完了する。
【０１００】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合（本実施例では、データバス幅８Byte、アクセス開始アドレス２４Byte目、要求転送サイズ１６Byte）に、共通のコマンド線の接続でありながら、メモリデバイス０とメモリデバイス１に異なるアドレスをCSのタイミングをずらして独立してアクセスすることができるため、下記に示す従来システムに比べシステムLSIのPin数を増加させずにアクセス効率を向上することが出来る。
【０１０１】
上記までの本実施例２の効果を明確にするために、図３３に示すような４Byteバスのメモリデバイス（ＳＤＲＡＭ）を単純に並列接続して、論理上、8ByteバスのＳＤＲＡＭとして接続した従来のシステム構成において、バースト長２で同様の転送を行った場合のタイミング図を図９に示す。ここでは、メモリデバイスに対する最小アクセス単位がバスと等価な8Byte単位となるため、最初の8Byte 境界からの16Byte 転送は、図９のt7、t8 の２サイクルでメモリデバイスからデータ取得可能であるが、後発の8Byte境界でないアドレスからの16Byte 転送は、１コマンド当り２バーストのデータ（１６Byte）を転送するため図９のt9〜t13の４サイクルで転送されているように、24Byteアドレスから56Byte アドレスまでのトータル３２Byte転送が必要となるため、アクセス効率が大幅に低下する。
【０１０２】
このように、本実施例２においては、バースト長が２以上で8ByteのＳＤＲＡＭを接続したシステムにおいて、コマンド信号（アドレス線、row,col,we等）を各メモリデバイスで共通にし、CS信号のみ個別に各メモリデバイスと接続することができるため、システムLSIの外部端子を大幅に増やすことなく、８Byteバスと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では８Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
【０１０３】
以上説明してきたように、本実施の形態におけるメモリ制御装置において、コマンド制御部は、複数のメモリデバイスに共通のアドレスバスと、複数のメモリデバイスに個別のチップセレクト信号とを介して複数のメモリデバイスに接続される。このコマンド制御部は、分割した複数のアクセスコマンドが同じ物理アドレスを示す場合に、個別のチップセレクト信号を同時に有効にすることによって、複数のメモリデバイスへ同じ物理アドレスを出力し、分割した複数のアクセスコマンドが異なる物理アドレスを示す場合に、個別のチップセレクト信号をタイミングをずらして有効にすることによって、前記複数のメモリデバイスへ異なる物理アドレスを出力する。データ制御部は、メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、複数のメモリデバイス毎のデータに分割して、アクセスコマンドのタイミングに従って各メモリデバイスへ出力し、メモリアクセス要求が読み出し要求である場合に、前記アクセスコマンドのタイミングに従って複数のメモリデバイスから読み出されたデータを組み合わせて、マスタへ出力する。
【０１０４】
また、コマンド制御部は、コマンド生成部と、メモリデバイス毎に設けられたコマンド発行部とを備える。コマンド生成部は、メモリアクセス要求に含まれる論理アドレスをメモリデバイス毎の物理アドレスに変換し、メモリデバイス毎のアクセスコマンドに分割する。各コマンド発行部は、対応するメモリデバイスに、コマンド生成部からのアクセスコマンドを発行する。その際、コマンド生成部は、分割した複数のアクセスコマンドに対応する複数のメモリデバイスの物理アドレスが同じ場合に、複数のアクセスコマンドを複数のコマンド発行部に同じタイミングで出力し、分割した複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、複数のアクセスコマンドを複数のコマンド発行部に異なるタイミングで出力する。
【０１０５】
ここで、複数のメモリデバイスは、２つの第１、第２メモリデバイスである場合、コマンド制御部は、アクセス要求を第１アクセスコマンドと第２アクセスコマンドに変換する。第１および第２メモリデバイスは、アクセス要求が第１メモリデバイスのデータを先頭とし、当該データの先頭が第１および第２メモリデバイスのデータを含むデータバスのアライメントに一致する場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが同じとなるように、データを格納し、前記アクセス要求が第２メモリデバイスのデータを先頭とし、当該データの先頭が第１および第２メモリデバイスのデータを含むデータバスのアライメントに一致しない場合に、前記第１のアクセスコマンドに対応する物理アドレスと前記第２のアクセスコマンドに対応するアクセスコマンドの物理アドレスとが異なるように、データを格納する。
【０１０６】
ここで、コマンド制御部は、複数のアクセスコマンドに対応する前記複数のメモリデバイスの物理アドレスが異なる場合に、アドレスおよびチップセレクト信号の出力タイミングをメモリデバイス毎に遅らせることにより、複数メモリデバイスの同一のアドレスと異なるアドレスを切り替える。
【０１０７】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制することができる。
【０１０８】
なお、図１０は、本実施の形態におけるメモリ制御装置の変形例を示す図である。同図のメモリ制御装置１０１ｃにおいて、前記コマンド制御手段は、前記複数のメモリデバイスに共通の第１アドレスバスと、前記複数のメモリデバイスに個別の第２アドレスバスと、前記複数のメモリデバイスに個別のチップセレクト信号を介して前記複数のメモリデバイスに接続され、前記第１アドレスバスと第２アドレスバスは、アドレスバスを構成する一部のアドレス信号線と他部のアドレス信号線である。
【０１０９】
これにより、アドレスバスは共通部分と独立部分とからなるので、全部を独立配線する場合と比べて、アドレスバスの配線面積を大幅に削減することができる。
【０１１０】
また、図３４Ａは本実施の形態におけるメモリ装置の変形例を示す図である。同図は図７と比べてメモリデバイス０およびメモリデバイス１の代わりにメモリ装置４００を備える点が異なっている。メモリ装置４００は、1チップＬＳＩにパッケージ化されている。
【０１１１】
図３４Ｂは、メモリ装置４００のより具体的な構成例を示す図である。同図のメモリ装置４００は、メモリユニット４１１、４１２と、コマンドインターフェース４２１と、データインターフェース４２２とを備える。
【０１１２】
メモリユニット４１１は、例えば、メモリモジュール０〜３から構成され、ロウアドレスおよびカラムアドレスによってアドレッシングされる通常のＤＲＡＭとしてアクセス制御されるメモリ単位を示している。メモリモジュール０〜３は、通常のバンク０〜３、または、ページ群０〜３等である。メモリユニット４１２も同様である。
【０１１３】
コマンドインターフェース４２１は、外部のメモリ制御装置１０１ａからアクセスコマンドを受信し、メモリユニット４１１、４１２に供給する。
【０１１４】
データバスは、２つのメモリユニット４１１、４１２と同数の部分的なバスにビット分割されている。
【０１１５】
データインターフェース４２２は、外部から供給される同期信号に従って、外部と前記メモリユニット４１１、４１２の各々との間でデータバスを介して独立にデータを入出力する。
【０１１６】
前述した本発明の実施形態においては最小アクセス単位を小さくするために、同一の物理アドレスによる制御と異なる物理アドレスによる制御とを切り替えながら複数のメモリデバイスにアクセスしている。これに対して、図３４Ａでは、複数のメモリデバイスの代わりに、１パッケージ化されたメモリ装置４００が備えられている。図３４Ａのメモリ装置４００は、通常のＤＲＡＭ（ＤＤＲ、ＤＤＲ２なども含む）のように制御可能なメモリユニットを基本単位とし、基本単位を複数個（図３４Ａでは2個）搭載し、１つあるいは複数（図３４Ａでは１個）にパッケージしたものであってもよい。更に、このようなメモリ装置４００は前述のようにメモリユニットを複数個搭載し、前記メモリユニットの数と同数のＣＳ信号（同図では、ＵＳ信号）およびデータバスと１つの共通化されたコマンドバスを入出力にもつ構成としてもよい。
【０１１７】
また更に、図３５Ａは本実施の形態におけるメモリ装置の他の変形例を示す図である。図３４Ａと同様にメモリ装置４００aはメモリユニットを複数個（図３５Ａでは2個）と、コマンドインターフェースと、データインターフェースとを搭載し、１つあるいは複数（図３５Ａでは１個）にパッケージされている。加えて、入力されるコマンドが各々のメモリユニットに対して有効か無効かを示すユニット情報（以下、ユニット番号と呼ぶ。）が入力されると、対応する各々のメモリユニットを選択する信号（本図ではＵＳ０，１）を出力するコマンド変換部４０１を有している。つまり、コマンド変換部４０１は、ユニット情報を前記複数のメモリユニット個別のセレクト信号に変換し、変換したセレクト信号を各メモリユニットに供給する。この構成を採用する場合には、図３４Ａで示すメモリデバイスの入出力の信号線数がメモリユニットの数だけ必要であったUＳ信号に代わり、ユニット番号を示す信号とすることでさらに削減する事ができるという効果があり、メモリ制御装置１０１ａとメモリ装置４００ａとを接続するための配線面積は更に削減され回路の小型化が可能となる。
【０１１８】
尚、ユニット番号は従来のＤＲＡＭバンクアドレスのような信号で代用しても良い。
【０１１９】
このようなメモリ装置４００ａは前述のようにメモリユニットを複数個と１つのコマンド変換部を搭載し、前記メモリユニットの数と同数のデータバスと１つの共通化されたユニット番号指示バスおよびコマンドバスを入出力にもつ構成となる。
【０１２０】
前述した方法により、使用するメモリデバイスの数を１つに削減でき、実際のセット基板における配線数及び基板の設計難易度を低く抑え、セットコストを大幅に低減することができると言う効果がある。
【０１２１】
図３５Ｂは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。同図は、図３５Ａと比べて、１パッケージ化されたメモリ装置４００ａの代わりに２パッケージのメモリ装置４００ｂを備える。記憶容量に関する第１の例では、２つのメモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量に相当し、２つのメモリユニット４１１ｂの容量は、１つのメモリユニット４１１の容量に相当する。この場合、１つのメモリ装置４００ａと、２つのメモリ装置４００ｂは同じ記憶容量を有する。記憶容量に関する第２の例では、各メモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量に相当し、各メモリユニット４１１ｂの容量は、１つのメモリユニット４１１の容量に相当する。この場合、２つのメモリ装置４００ｂの記憶容量は、１つのメモリ装置４００ａの記憶容量の２倍になる。このように、メモリ制御装置１０１ａは、複数パッケージの複数のメモリ装置４００ｂを接続してもよい。
【０１２２】
（実施の形態３）
実施形態１及び２のメモリ制御装置における効果を最大限に活かすための論理アドレス配置を以下に述べる。
【０１２３】
図１１Ａは、物理アドレスを論理アドレス空間にマッピングする基本単位となる単位領域を示す図である。同図では、図１Ｂ、図６Ｂのような、ｍ個のメモリデバイス（ここでは、DRAM）をアクセスするメモリ制御装置を前提としている。図１１ＡはDRAM上に配置されるメモリアドレス配置で、Nバイトの最小アクセス単位を持つDRAMの物理アドレス領域を論理アドレス方向に配置した図である。
【０１２４】
図１１Ａでは第1のメモリデバイス上にあるデータを（N×整数）バイト配置し、第2のメモリデバイス上にあるデータを（N×整数）バイト配置する。これを繰り返し、第ｍの
メモリデバイス上にあるデータの（N×整数）バイトを隣接して配置する。このように、上記隣接した（N×整数）×ｍバイトのデータ領域をひとつの単位（単位領域）とする。ここで、( )内の整数は任意でよい。同図では、（N×整数）が（N×１）、Nが４である場合を図示している。
【０１２５】
図１１Ｂは前記単位領域を論理アドレス方向に並べた図である。各単位領域には、第１〜第ｍのメモリデバイスの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される。
【０１２６】
このような配置とすることで、論理アドレス方向のデータ要求に対し、Nバイトのアドレスアライメントでアクセスでき、効率のいいアクセスが可能となる。
【０１２７】
図１２では、前記単位領域内のそれぞれのメモリデバイス（（Ｎ×整数）バイト領域）が同一のバンクアドレス、ロウアドレス、カラムアドレスを持つように配置している。
【０１２８】
この場合、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有し、論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有し、各単位領域は、第１〜第ｍのメモリデバイスの互いに対応するｍ個の（Ｎ×整数）バイト領域が順に配置される。また、各単位領域において第１〜第ｍのメモリデバイスの物理アドレスは共通でよい。
【０１２９】
コマンド制御部は、アクセス要求が単位領域を越えないデータサイズのアクセス要求である場合、第１〜第ｍのメモリデバイスのうち、当該アクセス要求に対応するメモリデバイスに同時にアクセスコマンドを発行する。
【０１３０】
これにより、単位領域内へのアクセスでは、同一の物理アドレスとなり、特に実施の形態２においては、同一サイクルでアクセスをすることが可能となり、転送効率がさらに改善する。
【０１３１】
図１３Ａでは、隣接する前記単位領域間で使用するバンクアドレスをそれぞれ異なるように配置する。図１３Ｂは図１３Ａのように隣接する前記単位領域のバンクアドレスをそれぞれ異なるようにｊ個のバンクアドレスを配置し、ｊ＋１個目からは前記単位領域とは異なるカラムアドレスを割当て前記同様ｊ個の前記単位領域を並べる。以上を1回以上繰り返し同一ロウアドレス構成の論理アドレス空間を構成する。前記のように同一ロウアドレスから構成された有限の論理アドレス空間を単一ロウ領域とし、ロウアドレスを変更した前記単一ロウ領域を繰り返し並べることで論理アドレス空間を構築する。
【０１３２】
この場合、第１〜第ｍのメモリデバイスの各々はｉ個のバンクを有する。論理アドレス空間には、ｐ個の第１〜第ｐの前記単位領域が繰り返し配置される。第１〜第ｐの単位領域は、共通のロウアドレスを有し、また異なるカラムアドレスを有する。第１〜第ｐの単位領域の各々において前記ｍ個の（Ｎ×整数）バイト領域は、バンクアドレスが共通であり、前記第１〜第ｐの単位領域は、互いにバンクアドレスが異なっている。
【０１３３】
第１〜第ｐの単位領域が繰り返し配置される論理アドレス空間において、隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。
【０１３４】
これにより、隣接する単位領域へ連続してアクセスする場合において、メモリデバイスへのアクセスにおいてバンクインタリーブが可能になる。
【０１３５】
以上のように、論理アドレス方向に前記単位領域を配置することで、実施の形態１および２において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態２のメモリ制御装置の場合には、メモリデバイス０とメモリデバイス１へのアドレスを共通化することが可能となる。
【０１３６】
具体的に前記メモリデバイスが２つである場合を用いてその効果を説明する。
【０１３７】
図１４では、実施形態１及び２のメモリ制御装置におけるDRAMの物理アドレスメモリ（（Ｎ×整数）バイト領域）を論理アドレス方向に配置した図である。
【０１３８】
ここでは第1のメモリデバイス上にあるデータを（N×整数）バイト配置し、第2のメモリデバイス上にあるデータを（N×整数）バイト配置したデータ列を隣接して配置する。
このように、上記隣接した（N＋N）×整数バイトのデータ領域をひとつの単位（単位領域）とする。
【０１３９】
図１５では、DRAM上にフレームバッファ領域を設けた場合に、前記単位領域を、水平方向にA1個および垂直方向にA2個隣接して配置する。
【０１４０】
この場合、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有し、前記論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。
【０１４１】
各単位領域には、前記複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置される。前記画像の水平アドレスに対応してＡ個（同図ではＡ１個）の単位領域が隣接して配置され、垂直アドレスに対応してＢ個（同図ではＡ２個）の単位領域が配置される。
【０１４２】
図１６では、単位領域内における異なるメモリデバイスで、同一のバンクアドレス、ロウアドレス、カラムアドレスを持つ。
【０１４３】
図１７では、単位領域内において異なるメモリデバイス（Ｎ×整数）バイト領域が同一のバンクアドレスB、ロウアドレスR、カラムアドレスCを持つように配置している。すなわち、各単位領域内における複数の（Ｎ×整数）バイト領域は、バンクアドレス、ロウアドレスおよびカラムアドレスが共通である。
【０１４４】
図１７では、フレームバッファにおける水平方向に隣接する単位領域間で使用するバンクをそれぞれ異なるバンクアドレスB1、B2となるように配置する。すなわち、前記フレームバッファの水平方向または垂直方向に隣接する前記単位領域は異なるバンクアドレスを有する。コマンド制御部は、バンクインタリーブにより隣接する前記単位領域にアクセスするように前記アクセスコマンドを発行する。
【０１４５】
以上のように、フレームバッファにおける水平方向および垂直方向に前記単位領域を配置することで、実施の形態１および２において、ひとつのメモリデバイスのアクセス最小単位であるNバイトのアラインでのアクセスが可能となり、単位領域内へのアクセスでは、同一の物理アドレスであるため、同一サイクルでアクセスをすることができ、さらに隣接する単位領域へ連続してアクセスする場合において、バンクインタリーブが可能になり転送効率が改善できる。加えて、実施の形態２のメモリ制御装置の場合には、メモリデバイス０とメモリデバイス１へのアドレスを共通化することが可能となる。
【０１４６】
例えば、第1のメモリデバイスへのアクセスと、第2のメモリデバイスへのアクセスを行う際、同一単位領域のデータが必要な場合には、同一のバンクアドレス、ロウアドレス、カラムアドレスによりアクセスすることができる。また、異なる単位領域のデータへアクセスする場合でも、バンクアドレスB1とバンクアドレスB2とが異なる場合にはバンクアドレスのみ別のアドレスとし、ロウアドレスおよびカラムアドレスは同一のアドレスとしてアクセスすることも可能である。この場合、実施の形態１のメモリ制御装置では、単一サイクルでのアクセスが可能であり、実施の形態２のメモリ制御装置では、メモリデバイス間でコマンドを遅らせてアクセスすることにより、転送効率を改善することができる。
【０１４７】
上記に説明した論理アドレス配置を実施形態１および実施形態２のメモリ制御装置に採用することにより、実効転送効率を改善すると共に、メモリデバイス特有（特にDRAM）に発生するアクセスオーバーヘッドを改善することもでき、メモリシステムで使用するトータルバンド幅を削減できる。
【０１４８】
（実施の形態４）
本実施の形態では、実施の形態１および実施の形態２において説明したメモリ制御装置１０１および１０１ａが、２つのメモリデバイス０およびメモリデバイス１をフレームバッファとして使用する場合に、画像中の矩形データをアクセスする方法について説明する。
【０１４９】
本実施の形態におけるメモリ制御装置１０１および１０１aにある変換部１０３は、論理アドレスとして画像の画素位置を示す二次元アドレス（Ｘ、Ｙ）を、メモリデバイス０およびメモリデバイス１の物理アドレスに変換するとしてもよい。また変換部１０３へ要求するデータは、二次元の矩形データサイズ（Vバイト、Wバイト）をもつ矩形アクセスとしてもよい。
【０１５０】
以下では、２×Nバイトのアクセスを例として説明する。
【０１５１】
図１８は、本実施の形態におけるメモリ制御方法のフローチャート図である。図１Ａ、図１Ｂ、図６および図７に示したメモリ制御装置１０１および１０１aにおいて、第一のステップ01では、メモリ制御装置１０１および１０１aに対してメモリ上に配置されたフレームバッファへ矩形アクセス要求を行い、第二のステップ02では、前記要求された矩形アクセスが同一単位領域内のアクセスであるかを識別し、第三のステップ03では、前記矩形アクセスが同一単位領域内のアクセスである場合にはコマンド発行部１０４、１０５および１０７、１０４aからメモリデバイス０用CSとメモリデバイス１用CSとアクセスするアドレスを同時に出力する。それに対して異なる単位領域へまたがるアクセスの場合には、第四のステップ04となり、コマンド発行部１０４および１０７、１０４aからメモリデバイス０用CSとメモリデバイス０に対応したアドレスを出力し、第五のステップ05では、コマンド発行部１０５および１０７、１０４aからメモリデバイス１用CSとメモリデバイス１に対応したアドレスを出力する。第六のステップ06では、メモリに対しての書き込みであるか読み出しであるかを識別し、第七のステップ07では、メモリへの書き込みの場合にはメモリデバイス０およびメモリデバイス１に対してデータ転送を行い、第八のステップ08では、メモリからの読み出しである場合にはメモリデバイス０およびメモリデバイス１からデータを取得する。
【０１５２】
図１９は、メモリ上にフレームバッファを配置した場合における、メモリバンクの論理アドレス配置の一例を示している。一般的には、フレームバッファは複数の矩形領域（ブロック）の集合体として構成される。各ブロックは同一バンクアドレスの同一ロウアドレスで構成する。左右および上下に隣り合うブロックは、異なるバンクアドレスで構成されたブロックで配置を行う。これにより、横方向および縦方向に対して連続してアクセスする場合に、バンクインタリーブ制御を行いアクセスオーバーヘッドの隠蔽が可能になる。
【０１５３】
図２０は、図１９で示す前記ブロック内におけるメモリのカラムアドレスの配置の一例を示しており、前記単位領域を水平方向に１つ、垂直方向に1２個並べたブロックを示している。
【０１５４】
図２１は、図２０の構成に加え同じメモリデバイスの（Ｎ×整数）バイト領域が縦に並ぶように配置しているブロックを示している。この配置は次の構成により実現される。すなわち、複数のメモリデバイスは画像を記憶するフレームバッファとして用いられ、複数のメモリデバイスの各々は、Ｎバイトの最小アクセス単位を有する。複数のメモリデバイスの論理アドレス空間は、繰り返し配置される単位領域に沿って連続する論理アドレスを有する。各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が順に配置される。
【０１５５】
また、上記のフレームバッファは複数の矩形領域から構成される。矩形領域は、水平アドレスに対応してE個(同図では２個）の単位領域が隣接して配置され、垂直アドレスに対応してF個（同図では１２個）の単位領域が配置される。
【０１５６】
ここで、各矩形領域内の複数の単位領域は、共通のバンクアドレスおよび共通のロウアドレスを有し、左右に隣接する２つの前記矩形領域は、異なるバンクアドレスを有している。
【０１５７】
また、上下に隣接する２つの矩形領域は、任意のバンクアドレスおよび異なるロウアドレスを有していてよい。各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。
【０１５８】
この構成により、図２１に示すように、同じメモリデバイスの（Ｎ×整数）バイト領域が縦方向に並ぶように配置される。
【０１５９】
図２２は、図２１で構成されたフレームバッファへの矩形アクセス要求に対応する矩形データ例を示す。
【０１６０】
図２３は、実施の形態２のメモリ制御装置の場合における、図２２の矩形アクセス要求による動作を示すタイミングチャート図である。
【０１６１】
図２２の矩形データでは、メモリデバイス０への物理アドレスと、メモリデバイス１への物理アドレスとが異なる（バンクアドレスが異なっている）ので、図２３のように個別のチップセレクト信号タイミングをずらしている。メモリデバイスへ異なる物理アドレスを出力する。メモリデバイス０とメモリデバイス１は１サイクルずれてアクセスされることになる。
【０１６２】
図２４は、図２１で構成されたフレームバッファへの他の矩形アクセス要求に対応する矩形データ例を示す。
【０１６３】
図２５は、実施の形態２のメモリ制御装置の場合における、図２４の矩形アクセス要求による動作を示すタイミングチャート図である。
【０１６４】
図２４では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック８〜ブロック１１、ブロック４〜ブロック７を転送し、次に、矩形データがバンク境界からはみ出した部分（ブロック０〜ブロック３、ブロック１２〜ブロック１５）を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。
【０１６５】
なお、図２１では、前記ブロック内は同じバンクアドレス内の連続するカラムアドレスを縦方向に並ぶような配置を示したが、同じバンクアドレス内のカラムアドレスの連続性は問わない。なお、ブロック内において縦方向に連続するカラムアドレスを配置、またはフレーム領域内の水平方向にある同一バンクのブロックに連続したカラムアドレスを配置することで、アクセスアドレスの計算が容易になるメリットが発生する。
【０１６６】
次に、他の論理アドレス配置としてメモリデバイス０とメモリデバイス１の（Ｎ×整数）バイト領域を市松模様に配置する例について説明する。この場合、次のように構成すればよい。すなわち、１行以上連続するG行からなる第１の小矩形領域における各単位領域は、前記複数の（Ｎ×整数）バイト領域が、前記複数のメモリデバイスの並びに対応する順に配置される。また、隣接する１行以上連続するH行からなる第2の小矩形領域における各単位領域には、複数の（Ｎ×整数）バイト領域が、第１の小矩形領域と異なる順に配置される。
【０１６７】
この第１小矩形領域と第２小矩形領域の関係が矩形領域内において繰り返されるようにすればよい。
【０１６８】
本発明においては、2つのメモリに異なるチップセレクト信号CSを接続することにより独立にアドレス制御を行うことができるため、図２６のように、単位領域へのアクセスではメモリデバイス０とメモリデバイス１とに分けて個別に取得できるように配置できる。1行ごとにメモリデバイス０とメモリデバイス１との配置位置を交互に振り分けることで、単位領域を縦方向にまたがるアクセスをした場合にも、メモリデバイス０とメモリデバイス１とを個別に取得できるように配置できる。
【０１６９】
図２７は、図２１の例における論理アドレス配置において、横方向は2つのバンクにまたがり、かつ縦方向に4行分の矩形データを取得する場合に、必要なデータ部分とメモリに対して実際に転送されるデータとを示したものである。その場合に、実際に転送されるデータは必要なデータに加えて無駄な転送が発生し、結果として転送効率が悪くなる。そこで本発明においては、図２８のように、必要なデータに対して実際に転送されるデータを少なくすることができる。
【０１７０】
図２９は、図２１の例における論理アドレス配置において、図２７の矩形データを取得する場合のタイミングチャートである。
【０１７１】
図３０は、図２６の例における論理アドレス配置において、図２８の矩形データを取得する場合のタイミングチャートである。
【０１７２】
図２８では、コマンド制御部は矩形アクセス要求を単位領域とメモリデバイス境界を用いて判別し、転送方法を決定している。この場合、まずブロック０〜ブロック３、ブロック８〜ブロック１１を転送し、次に、矩形データがバンク境界からはみ出した部分（ブロック４〜ブロック７）を転送する。これにより、単位領域ごとに転送していた従来に比べ効率よく転送することができる。
【０１７３】
なお、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
【０１７４】
なお、本発明においては、フレームバッファ上のメモリデバイスの配置がメモリデバイス０とメモリデバイス１とで交互になっているため、データ制御部において配置を入れ替えることも可能である。さらに、CSを使用して独立にアクセスした場合には、データの転送タイミングメモリデバイス０とメモリデバイス１とで異なるため、データ制御部においてメモリデバイス０とメモリデバイス１とのタイミングのずれを調整し、マスタの要求したデータ配列、例えば同時タイミングのデータ配列に整列したり、シリアライズしたデータへと整列することも可能である。それにより、メモリデバイスに対して矩形アクセスを要求してくる側に対して、従来と同様のデータアクセスを実現することも可能である。
【０１７５】
なお、ここでは2つのメモリを使用した場合について記述しているが、2つ以上のメモリを使用した場合でも同様の制御を行ってもよい。また、共通のアドレスバスを使用しているが、全ビットを共通にする必要はなく一部のアドレスバスでもよいし、アドレス信号だけでなく他の制御信号も共通に使用してもよい。
【０１７６】
なお、異なるバンクアドレスで、同一ロウアドレスを持つ複数の前記ブロックを組み合わせた単一ロウ矩形領域を構成して配置して、単一ロウ矩形領域内で同一バンクアドレスを持つ複数の前記矩形領域にまたがるアクセスにおいて、同一バンクアドレスで同一ロウアドレスを連続してアクセスしてもよいし、バースト的にアクセスしてもよい。このようなアクセスをすることで、転送効率を向上させることも可能である。
【０１７７】
なお、この構成によれば、前記フレームバッファに対してアクセスを行う場合には、前記フレームバッファの水平方向に前記メモリデバイス単位のアクセスアライメントでアクセスし、前記フレームバッファの垂直方向にライン単位のアクセスアライメントでアクセスすることができる。
【０１７８】
なお、図１９においてメモリバンクの配置を2つのバンクで構成しているが、2つ以上のバンクを使用した場合でも同様である。また、図２６においてカラムアドレスを上から下へと連続アドレスとしているが、連続アドレスである必要はなく、下から上への連続でもよいし、一定の周期的なアドレスでもよいし、任意のアドレス順序でもよい。また、バンク内における各メモリのデータ配置も1行ごとに入れ替えているが、2行ごとに入替えてもよいし、2行以上でもよい。また横方向に同一のカラムアドレスを配置しているが、縦方向に同一のカラムアドレスを配置してもよい。また、図２８における必要なデータは一例であり、要求により任意の位置から任意の大きさに対してアクセスが可能である。よって同一バンク内の矩形データであったり、2つ以上のバンクにまたがる矩形データであってもよい。
【０１７９】
また、図３０においてアクセス順序を記述しているが、これに限ったものではなく、任意の順序でもよい。例えば、バンク1からアクセスをしてもよいし、矩形データの下側から取得を行ってもよい。
【０１８０】
なお、図２１では、同じメモリデバイスの（Ｎ×整数）バイト領域が縦方向に並ぶように配置する例を示したが、横方向に並ぶように配置してもよい。この場合、次のように構成すればよい。すなわち、各矩形領域内の複数の単位領域は、任意の単一な前記メモリデバイスで構成され、共通のバンクアドレスを有する。ここで、左右に隣接する２つの矩形領域は、異なるカラムアドレスを有する。上下に隣接する２つの前記矩形領域は、異なるメモリデバイスの単位領域で構成され、任意のバンクアドレスおよびカラムアドレスが異なる。
【０１８１】
各単位領域には、複数のメモリデバイスの互いに対応する複数の（Ｎ×整数）バイト領域が、複数のメモリデバイスの並びに対応する順に配置される。
【０１８２】
以上のように、本実施の形態４では、複数のメモリを共通バスで制御する場合に、チップセレクト信号CSを独立に制御し、なおかつフレームバッファ上におけるデータの配置を各メモリに割り振り、横方向のデータを同一アドレスの異なるメモリに配置し、縦方向をも異なるメモリに配置することで、小さな矩形データへのアクセスにおいて実際に転送するデータ量を削減することができ、転送効率の向上を実現することができる。
【０１８３】
（実施の形態５）
図３６は、本実施の形態におけるメモリ制御装置およびメモリ装置の構成を示すブロック図である。図３６のメモリ制御装置は、図１のメモリ制御装置と比較して、コマンド発行部が２個からｍ個に拡張されている点と、コマンド変換部１０８が追加されている点が異なる。図３６のメモリ装置４００ｃは、図３４Ａのメモリ装置４００と比較して、メモリユニットが２個からｍ個に拡張されている点と、コマンド変換部４４１が追加されている点が異なる。
【０１８４】
コマンド変換部１０８は、多重化手段として機能する。すなわち、コマンド変換部１０８は、メモリ装置４００ｃに供給される同期信号の１サイクル期間内に、ｍ個のコマンド発行部から発行されるコマンド１からコマンドｍまでのｍ個のアクセスコマンドを時分割多重化し、時分割多重されたアクセスコマンドをメモリ装置４００ｃに出力する。ここで、多重化の対象となるアクセスコマンド（コマンド１からコマンドｍ）は、具体的には、ロウアドレスを含むｍ個の活性化コマンド、およびカラムアドレスを含むｍ個の読み出しまたは書き込みコマンドである。
【０１８５】
コマンド変換部４４１は、逆多重化手段として機能する。すなわち、メモリ制御装置からコマンドインターフェースを介して受信した、時分割多重されたアクセスコマンドをｍ個のアクセスコマンドに逆多重化し（つまり分離し）、アクセスコマンド１からｍを対応するメモリユニット１からｍに出力する。
【０１８６】
ここでは、マスタ２００が、メモリ制御装置１０１を介してＶ Byte幅のデータバスを持つメモリデバイスに接続されているシステム形態を示している。同図では、マスタ２００は１つしか図示していないが、複数のマスタが接続されていてももちろんよい。ここで前記Ｖ Byte幅のデータバスを持つメモリ装置４００ｃはメモリユニットとよばれるモジュールをｍ個有し、加えてその各々のメモリユニットに対してインターフェース仕様に応じたコマンドを同時に出力できる機能を有したコマンド変換部４４１を含む。コマンド変換部４４１はメモリ装置４００ｃに与えられる外部クロックの規定サイクル内にｍ個のコマンドを受け取り、前記ｍ個のメモリユニットに対して同時にコマンド発行できるコマンド変換機能も有している。これによれば、パッケージ化されたメモリ装置へのアクセスコマンド供給を高速化することが可能になり、その結果、パッケージのピン数およびパッケージへの配線数を低減することができる。前記ｍ個のユニットメモリのデータバスは前記Ｖ Byte幅のデータバスをｍ分割した各々と接続されている。尚、メモリユニットは通常のＤＲＡＭのバンクが１つ以上複数に集合したものであっても良く、メモリの種別は問わず、広く記憶素子とする。
【０１８７】
本実施の形態におけるメモリ制御装置は、マスタから発行された前記メモリアクセス要求を、後述するメモリユニット毎のアクセスコマンドに分割し、前記複数のメモリユニットにアクセスコマンドを発行するコマンド制御手段(コマンド生成部および第１〜第ｍコマンド発行部)と、前記メモリアクセス要求が書き込み要求である場合に、マスタからの書き込みデータを、前記複数のメモリデバイス毎のデータに分割して各メモリデバイスへ出力し、前記メモリアクセス要求が読み出し要求である場合に、前記複数のメモリデバイスからの読み出しデータを組み合わせて、前記マスタへ出力するデータ制御手段とを有している。ここで、コマンド制御手段は、分割した複数のアクセスコマンドに対応する前記複数のメモリユニットの物理アドレスが同じ場合と異なる場合とで、複数のメモリユニットへ同じ物理アドレスを出力する制御と、異なる物理アドレスを出力する制御とを切り替える。
【０１８８】
これにより、メモリ帯域を広げ、かつ、最小アクセス単位を増加させずに、無効なデータ転送の増加を抑制するという効果がある。すなわち、メモリ帯域は（１つのメモリユニットのバス幅）×（メモリユニットの個数）に拡大され、しかも、マスタからアクセス可能な最小アクセス単位は１つのメモリユニットの最小のアクセス単位とすることができる。ここで、最小アクセス単位とは、一つのメモリユニットのバス幅×最小バースト長で求まる値を指す。図３６では、一つのメモリデバイスのバス幅がVByte、最小バースト長が１であるものとする。
【０１８９】
また図３６においてメモリ制御装置１０１は、コマンド生成部１０２と、データ制御部１０６とコマンド変換部１０８、及びメモリ装置４００ｃにコマンド変換部４４１を介して接続されているｍ個のコマンド発行部から構成されている。ここでｍ個のコマンド発行部とコマンド変換部１０８は一体であってもよい。コマンド生成部１０２は、マスタ２００からのメモリアクセスコマンド（メモリアクセス要求）に含まれる論理アドレスをメモリユニット１からｍ毎の物理アドレスに変換する変換部１０３を備える。コマンド生成部１０２、ｍ個のコマンド発行部およびコマンド変換部１０８は、上記のコマンド制御手段として機能する。
【０１９０】
マスタ２００からのメモリアクセスコマンドは、コマンドバスを介して、コマンド生成部１０２に入力される。ここで、メモリアクセスコマンドとは、データ転送の方向、転送サイズ、メモリのアクセス開始アドレス（論理アドレス）を示すデータを含む。
【０１９１】
マスタ２００からメモリアクセスコマンドを受け取ったコマンド生成部１０２は、まず、受け取ったコマンドを、変換部１０３において論理アドレスからメモリユニット０からｍ毎の物理アドレスに変換する。さらに、コマンド生成部１０２は、接続されているメモリユニットの最小アクセス単位のコマンドに分割する。その後、個々のメモリユニットに対応したユニット別アクセスコマンドを生成し、それぞれのコマンド発行部に、前記ユニット別アクセスコマンドを発行する。
【０１９２】
各コマンド発行部と各メモリユニットとは、それぞれ１対１で、メモリを制御するチップセレクト信号（ＣＳ）と、コマンド信号が対応付けられるが、その際、メモリ制御装置内のコマンド変換部１０８で時間多重され、規定サイクル内（ここでは１外部クロックサイクル）に、メモリ装置４００ｃのタイミング仕様に応じて、発行可能なコマンドをメモリデバイスへ出力する。この前記多重化されたコマンドをメモリ装置４００ｃ内のコマンド変換部４４１で逆多重化し、それぞれ対応するコマンドを各メモリユニットへ出力する。また、コマンド発行部は、上記タイミング仕様に基づいてメモリデバイスに発行したコマンドの発行順を示すコマンド発行順情報を、データ制御部１０６に通知する。
【０１９３】
一方、マスタ２００とメモリ装置４００ｃ間のデータ転送は、マスタ２００とデータ制御部１０６間のＶByteのデータバスを通して転送される。ここで、データバスは、双方向バスとしてもよいし、書き込みデータ専用と読み出しデータ専用の２系統のバスとしてもよい。
【０１９４】
データ制御部１０６と各メモリデバイスとはＶＢｙｔｅのデータバスが接続されている。データ制御部１０６では、マスタ２００からのメモリデバイスへのデータ書き込み処理時には、マスタ２００からのＶByte データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、各メモリユニットに接続されるＶ／ｍByte のデータバスに分割し、転送を行う。また、メモリデバイスからのデータ読み出し処理時には、各メモリユニットからのＶ／ｍByte 出力データを、前記コマンド発行部から受け取った前記コマンド発行順情報に基づいて、ＶByteのデータにくみ上げた後、マスタ２００に接続されるＶByteデータバスに転送を行う。この制御により、メモリデバイスに発行したコマンドと、転送されるデータとの整合性をとる制御を行う。
【０１９５】
ここでマスタ２００とデータ制御部とを繋ぐデータバスの幅はＶByteに限らずシステム成立の要件によって決まる幅でよい。
【０１９６】
これまでに述べた本発明のメモリ制御装置１０１に接続されるマスタ２００およびコマンド生成部１０２は実施の形態１と同様の機能を有している。またコマンド生成部１０２は、前述のマスタ２００から受け取るコマンドを分割、変換したときに、メモリユニットが異なり、かつアドレスも異なる場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に異なるアドレスを発行してアクセスすることができる。更に、メモリユニットが異なるが、アドレスが同じ場合である時、メモリユニット毎のコマンド発行部へ発行し、メモリユニット毎に同時に同じアドレスを発行してアクセスすることもできる。
【０１９７】
次に、コマンド生成部１０２における動作を説明する。図３は、コマンド生成部１０２における、フローチャートを示した図である。図３に示すように、コマンド生成部１０２では、マスタ２００から受け付けたコマンドの開始アドレスが、8Byte境界か、そうでないかにより処理が異なる。開始アドレスが8Byte 境界の場合（開始アドレスが 8n Byte (nは整数)の場合）は、コマンド発行部０、１それぞれに、アドレス n へのアクセスコマンドを発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【０１９８】
一方、開始アドレスが8Byte 境界でない場合（開始アドレスが 8n+4 Byte (nは整数)の場合）は、コマンド発行部０に、アドレス n+1 へのアクセスコマンドを、コマンド発行部１に、アドレス n へのアクセスコマンドをそれぞれ発行する。その後、n を１ずつインクリメントしていき、マスタ２００からの要求転送サイズを満たすまで上記処理を繰り返す。
【０１９９】
ここで４Byte境界単位でメモリデバイスをメモリユニット１とメモリユニット２と特定する場合において、本発明のメモリ制御装置１０１を通じてメモリデバイスへ論理アドレス及び画像イメージアドレスの両方でアクセスができるマスタ２００が発行するコマンドは、図２が示すアドレスマップに従って、コマンド生成部１０２で分割、変換され、１）メモリデバイス０からメモリデバイス１へ跨る場合はメモリデバイス間で同じアドレスであり、２）メモリユニット１からメモリユニット２へ跨る場合はメモリユニット間で異なるアドレスになる。本実施形態１の発明では、このようにメモリユニットにデータを格納し、読み出し可能な配置にすることにより２）の場合は同時に異なるアドレスを異なるメモリユニット１及び２に発行でき、かつ１）の場合には同時に同じアドレスを異なるメモリユニット１及び２に発行することができる。
【０２００】
図３７は、本実施形態５におけるメモリ制御装置１０１とメモリ装置４００ｃの動作タイミングの一例を示すタイミングチャートである。ここでは、tRCD = 3 サイクル、CL = 3 サイクルのＳＤＲＡＭと同等の動作をするメモリユニットｍ個を使用して、マスタ２００から、Ｖ×４Byte データの読み出しコマンドが発行された場合のメモリデバイスへの制御信号と、マスタ２００への読み出しデータバスの動作タイミングを示している。
【０２０１】
コマンド生成部１０２において生成されたアクセスコマンドはｍ個のコマンド発行部の各々において各メモリユニットのコマンドへ分解された後、メモリ制御装置１０１内のコマンド変換部１０８にて時間多重され１クロックサイクル中にｍ個のコマンドとしてメモリ装置４００ｃに発行される。多重化されたｍ個のコマンドはメモリ装置４００ｃ内のコマンド変換部４４１で各々該当するメモリユニットへのコマンドとＣＳ信号に分解され各メモリユニットへ発行される。以上のようなコマンド転送をメモリ制御装置１０１とメモリ装置４００ｃのインターフェースで示した図が図３７である。最初にメモリユニット１からｍのそれぞれ独立したアクティベートコマンドを時間多重し、メモリ装置４００ｃに対して１サイクルの間に発行する。その後、tRCD を満たすよう３クロックサイクルおいて、ユニットメモリ１からｍのそれぞれ独立したRead コマンドを時間多重し発行する。メモリ装置４００ｃ内の１からｍのメモリユニットのそれぞれは、Read コマンド受信後、CL=3 後からそれぞれ所望のリードデータを自らのデータバスに出力する。
【０２０２】
上記制御をおこなうことにより、マスタ２００からのアクセス要求において、アクセス開始アドレスが、接続されるトータルデータバス幅の境界でなく、要求転送サイズがトータルデータバス幅を超えたアクセスである場合に、メモリユニットごとに異なるアドレスで同時に独立してアクセスすることができるため、下記に示す従来システムに比べアクセス効率を向上することが出来る。
【０２０３】
このように、本実施例においては、システム的に同一のＶByte のＳＤＲＡＭを接続したものと等価なメモリ帯域を利用できると同時に、アクセスアドレス境界を、使用する一つのメモリデバイスの最小アクセス単位（本実施例では4Byte単位）にまで落として、データ転送制御を行うことが可能となるため、アクセス開始アドレスの粒度が小さいシステムにおいて、より効果的なメモリ帯域の利用が可能となる。
【０２０４】
さらに、１つのメモリデバイスに対してｍ個のコマンドを時間多重して転送する構成であるため、ＣＳ信号線およびコマンド（アドレスも含む）バスが１つのメモリユニット分で済むため、全部を独立配線する場合と比べて、コマンドバスの配線面積を大幅に削減することができる。
【０２０５】
なお、本実施例では、使用するメモリデバイスとして、Ｖ  ByteバスのＳＤＲＡＭの機能と同等のメモリユニットｍ個を接続した場合を例として説明したがデバイスの種類もＳＤＲＡＭに限らず、ＤＤＲ、ＤＤＲ２、Direct-Rumbus DRAM、XDRといった他のＤＲＡＭであっても、ＳＲＡＭ、フラッシュメモリといったＤＲＡＭでないメモリであっても、記憶媒体として使用できるメモリデバイスであれば同様に実施可能である。その際、前述した最小アクセス単位とは、一つのメモリデバイスのバス幅×最小バースト長で求まる値を指す。
【０２０６】
また、図３６で示したコマンド生成部１０２及びコマンド制御部１０７は最小アクセス単位に基づくメモリマッピングに従って、マスタ２００からのアクセスコマンドを最小アクセス単位に分割し、デバイスへコマンドを発行しアクセスするコマンド発行部へ結果を振り分ける機能を有している。
【０２０７】
なお、本実施例では、コマンド発行部がデータ制御部１０６に発行するコマンド発行順情報を、マスタ２００のアクセスコマンドのうち、何番目のデータに対するコマンドであるかを示す番号情報としているが、接続されるメモリデバイスのどちらが上位かを示す１ビットの情報として制御することも可能である。
【０２０８】
メモリデバイスがＤＲＡＭでない場合、コマンド発行部はほとんど必要としない構成を採りうる。また、コマンド生成部１０２から直接データ制御部１０６へ、コマンド発行順制御情報を通知することも可能である。
【０２０９】
なお、図３６において、コマンドだけでなくデータをも多重化するようにメモリ制御装置およびメモリ装置を構成してもよい。その場合、メモリ制御装置は、メモリ装置に送信すべきデータ１からデータｍを１サイクル期間に時分割多重化するデータ多重化部と、メモリ装置から受信される多重化されたデータをデータ１からデータｍに逆多重化するデータ逆多重化部と備え、かつ、メモリ装置は、メモリ制御装置に送信すべきデータ１からデータｍを１サイクル期間に時分割多重化するデータ多重化部と、メモリ制御装置から受信される多重化されたデータをデータ１からデータｍに逆多重化するデータ逆多重化部と備えるようにすればよい。
【０２１０】
また、上記多重化部は、メモリユニットに供給される同期信号の１サイクル期間内にｍ個のアクセスコマンドを時分割多重化しているが、この代わりに、１サイクル期間内に少なくとも２つのアクセスコマンドを時分割多重化することにより、複数サイクル期間でｍ個のアクセスコマンドを多重化するようにしてもよい。データが多重化される場合も同様にしてよい。
【０２１１】
なお、上記各実施の形態に示したブロック図の各機能ブロックおよびフローチャートの各モジュールは典型的には集積回路装置であるＬＳＩとして実現される。このＬＳＩは１チップ化されても良いし、複数チップ化されても良い。例えば、メモリ以外の機能ブロックが１チップ化されていても良い。ここでは、ＬＳＩとしたが、集積度の違いにより、ＩＣ、システムＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。
【０２１２】
集積回路化の手法はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Field Programmable Gate Array）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２１３】
さらには、半導体技術の進歩又は派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
【０２１４】
また、各機能ブロックのうち、データを格納するユニットだけ１チップ化せずに、記録媒体やＤＲＡＭなど別構成としても良い。
【産業上の利用可能性】
【０２１５】
本発明にかかる、実転送効率向上を図るメモリ制御装置及び制御方式は、画像やAudioに代表されるコーデック及びＣＰＵ等のようなマスターデバイスと、ＤＲＡＭ等のようなメモリとの間において生じするデータ転送を仲介するメモリ制御装置１０１に利用することができる。具体的には、画像処理制御を行うシステムにおけるメモリ制御回路として有用である。また、これらはテレビやビデオ、レコーダ、カメラなどの画像処理システムや、パソコンなどにおける画像処理システムに適している。
【図面の簡単な説明】
【０２１６】
【図１Ａ】図１Ａは、本発明の実施形態１におけるメモリ制御装置を含むシステム構成を示すブロック図である。
【図１Ｂ】図１Ｂは、図１Ａのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図２】図２は、メモリマップ例を示す図である。
【図３】図３は、コマンド生成部のフローチャートを示す図である。
【図４】図４は、メモリ制御装置の動作を示すタイミングチャートを示す図である。
【図５】図５は、従来例の動作を説明するタイミングチャートを示す図である。
【図６Ａ】図６Ａは、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図６Ｂ】図６Ｂは、図６Ａのメモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図７】図７は、本発明の実施形態２におけるメモリ制御装置を含むシステム構成を示すブロック図である。
【図８】図８は、メモリ制御装置の動作を示すタイミングチャートを示す図である。
【図９】図９は、従来例の動作を示すタイミングチャートを示す図である。
【図１０】図１０は、メモリ制御装置の変形例を含むシステム構成を示すブロック図である。
【図１１Ａ】図１１Ａは、本発明の実施形態３において基本単位となる単位領域を示す図である。
【図１１Ｂ】図１１Ｂは、単位領域の説明図である。
【図１２】図１２は、単位領域の説明図である。
【図１３Ａ】図１３Ａは、複数のメモリデバイス（DRAM）と単位領域との関係を示す図である。
【図１３Ｂ】図１３Ｂは、複数のメモリデバイス（DRAM）と単位領域との関係を示す図である。
【図１４】図１４は、DRAMの物理アドレスメモリ（（Ｎ×整数）バイト領域）を論理アドレス方向に配置した単位領域を示す図である。
【図１５】図１５は、フレームバッファとして単位領域を配置する一例を示す図である。
【図１６】図１６は、単位領域内における（Ｎ×整数）バイト領域の配置例を示す図である。
【図１７】図１７は、フレームバッファ内における（Ｎ×整数）バイト領域の配置例を示す図である。
【図１８】図１８は、本発明の実施の形態４におけるメモリ制御方法を示すフローチャートチャートを示す図である。
【図１９】図１９は、フレームバッファにおける、メモリバンクの論理アドレス配置の一例を示す図である。
【図２０】図２０は、図１９で示すブロック内におけるメモリのカラムアドレスの配置の一例を示す図である。
【図２１】図２１は、同じメモリデバイスの（Ｎ×整数）バイト領域が縦に並ぶ配置例を示す図である。
【図２２】図２２は、図２１のフレームバッファから転送される矩形データの配置例を示す図である。
【図２３】図２３は、図２２に対応する各種信号を示すタイミングチャートを示す図である。
【図２４】図２４は、図２１のフレームバッファから転送される矩形データの配置例を示す図である。
【図２５】図２５は、図２４の矩形データアクセスに対応するタイミングチャートを示す図である。
【図２６】図２６は、市松模様の論理アドレス配置図である。
【図２７】図２７は、図２１の例における論理アドレスメモリ配置において、矩形アクセス要求に対して必要なデータと実際に転送されるデータとを示す図である。
【図２８】図２８は、矩形データのアクセス時に実際に転送されるデータを示す図である。
【図２９】図２９は、図２１の例における前記論理アドレス配置において、図２７の矩形データを取得する動作を示すタイミングチャートを示す図である。
【図３０】図３０は、図２６の例における論理アドレス配置において、図２８の矩形データを取得する動作を示すタイミングチャートを示す図である。
【図３１】図３１は、従来のメモリ制御装置の構成を示す図である。
【図３２】図３２は、高速、大容量転送を可能とする従来のメモリ装置例である。
【図３３】図３３は、従来のメモリ装置での課題を説明する比較図である。
【図３４Ａ】図３４Ａは、本実施の形態おけるメモリ装置の変形例を示す図である。
【図３４Ｂ】図３４Ｂは、メモリ装置のより具体的な構成例を示す図である。
【図３５Ａ】図３５Ａは、本実施の形態におけるメモリ装置の他の変形例を示す図である。
【図３５Ｂ】図３５Ｂは、本実施の形態におけるメモリ装置のさらに他の変形例を示す図である。
【図３６】図３６は、実施の形態５におけるメモリ制御装置の構成を示すブロック図である。
【図３７】図３７は、メモリ制御装置とメモリ装置の動作タイミングの一例を示すタイミングチャートを示す図である。
【符号の説明】
【０２１７】
０、１  メモリ
１０１  メモリ制御装置
１０２  コマンド生成部
１０３  変換部
１０４  コマンド発行部
１０５  コマンド発行部
１０６  データ制御部
１０８  コマンド変換部（多重化手段）
２００  マスタ
４００、４００ａ、４００ｂ、４００ｃ  メモリ装置
４１１、４１１ｂ、４１２、４１２ｂ  メモリユニット
４２１  コマンドインターフェース
４２２  データインターフェース
４４１  コマンド変換部（逆多重化手段）
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１Ａ】
2008084681.tif 000046
【図１Ｂ】
2008084681.tif 000047
【図２】
2008084681.tif 000048
【図３】
2008084681.tif 000049
【図４】
2008084681.tif 000050
【図５】
2008084681.tif 000051
【図６Ａ】
2008084681.tif 000052
【図６Ｂ】
2008084681.tif 000053
【図７】
2008084681.tif 000054
【図８】
2008084681.tif 000055
【図９】
2008084681.tif 000056
【図１０】
2008084681.tif 000057
【図１１Ａ】
2008084681.tif 000058
【図１１Ｂ】
2008084681.tif 000059
【図１２】
2008084681.tif 000060
【図１３Ａ】
2008084681.tif 000061
【図１３Ｂ】
2008084681.tif 000062
【図１４】
2008084681.tif 000063
【図１５】
2008084681.tif 000064
【図１６】
2008084681.tif 000065
【図１７】
2008084681.tif 000066
【図１８】
2008084681.tif 000067
【図１９】
2008084681.tif 000068
【図２０】
2008084681.tif 000069
【図２１】
2008084681.tif 000070
【図２２】
2008084681.tif 000071
【図２３】
2008084681.tif 000072
【図２４】
2008084681.tif 000073
【図２５】
2008084681.tif 000074
【図２６】
2008084681.tif 000075
【図２７】
2008084681.tif 000076
【図２８】
2008084681.tif 000077
【図２９】
2008084681.tif 000078
【図３０】
2008084681.tif 000079
【図３１】
2008084681.tif 000080
【図３２】
2008084681.tif 000081
【図３３】
2008084681.tif 000082
【図３４Ａ】
2008084681.tif 000083
【図３４Ｂ】
2008084681.tif 000084
【図３５Ａ】
2008084681.tif 000085
【図３５Ｂ】
2008084681.tif 000086
【図３６】
2008084681.tif 000087
【図３７】
2008084681.tif 000088
【国際調査報告】
2008084681.tif 000089
2008084681.tif 000090
2008084681.tif 000091
2008084681.tif 000092
2008084681.tif 000093
2008084681.tif 000094