(57)【要約】【課題】複数のＳＤＲＡＭに対して、並列に個々のＳＤＲＡＭに効率的にアクセスする。【解決手段】複数個で構成されるＳＤＲＡＭの個々のＳＤＲＡＭに対してアクセス要求を行う複数のマスター１０１ａ、１０１ｂのＳＤＲＡＭに対する書き込みまたは読み出し要求からコマンド発生回路１０２ａ、１０２ｂにより独立にＳＤＲＡＭへのコマンドを生成し、コマンドアドレス多重回路１０４により一つのコマンドに多重する。多重後のコマンドを共通のコマンドとして各ＳＤＲＡＭに供給し、チップセレクト信号のみＳＤＲＡＭ毎に別々に制御することにより、複数のＳＤＲＡＭに対して連続したアクセスを実現する。【選択図】図１
2010250727.tif 000002
【特許請求の範囲】
【請求項１】
複数のバンクを有し一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスＤＲＡＭに対する制御回路において、
複数のＳＤＲＡＭと、
前記複数のＳＤＲＡＭの個別のＳＤＲＡＭに対してアクセス行う複数のマスターと、
前記複数のマスターから出力されるＳＤＲＡＭへのアクセス要求に従ってＳＤＲＡＭのデータ入出力制御とＳＤＲＡＭのアクセスコマンドを生成する複数のコマンド発生回路と、
前記複数のコマンド発生回路から出力される前記複数のＳＤＲＡＭへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、
前記複数のコマンド発生回路に応じて、前記複数のマスターと前記複数のＳＤＲＡＭ間のデータ制御を行う複数のデータ制御回路と、
前記コマンドアドレス多重回路から前記複数のＳＤＲＡＭに対して、チップセレクト信号のみ個別に出力し、コマンドとアドレスを共通で出力することを特徴とするメモリ制御回路。
【請求項２】
前記メモリ制御回路は、前記複数のマスターから出力されるＳＤＲＡＭへのアクセス要求は、書き込みまたは読み出しの要求とＳＤＲＡＭの論理アドレスであることを特徴とする請求項１記載のメモリ制御回路。
【請求項３】
前記複数のコマンド発生回路は、前記メモリ制御回路から入力される書き込みまたは読み出しの要求とＳＤＲＡＭの論理アドレスから、書き込みまたは読み出しコマンドとＳＤＲＡＭの物理アドレスを発生することを特徴とする請求項２記載のメモリ制御回路。
【請求項４】
前記複数のコマンド発生回路は、ＳＤＲＡＭへの書き込みまたは読み出しコマンドに同期して、ＳＤＲＡＭから読み出し時にはＳＤＲＡＭからの読み出しデータを前記複数のマスターに入力し、ＳＤＲＡＭへの書き込み時にはマスターからの出力されたデータをＳＤＲＡＭへ入力するように前記データ制御回路を制御することを特徴する請求項３記載のメモリ制御回路。
【請求項５】
前記メモリ制御回路は、複数のメモリに対して独立に書き込みまたは読み出しを連続して行うことが可能なことを特徴とする請求項４記載のメモリ制御回路。
【請求項６】
前記メモリ制御回路のＳＤＲＡＭはＤＤＲ３−ＳＤＲＡＭであることを特徴とする請求項５記載のメモリ制御回路。
【請求項７】
前記メモリ制御回路のＳＤＲＡＭはデータバス幅が１６ビットであり、バースト長が８で動作し、個々のＳＤＲＡＭに書き込みまたは読み出しを行う単位は２５６バイトであること特徴とする請求項６記載のメモリ制御回路。
【請求項８】
前記メモリ制御回路は、ＳＤＲＡＭへの２５６バイトの書き込みまたは読み出しをＳＤＲＡＭの４バンクのインターリーブで実現することを特徴とする請求項７記載のメモリ制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＳＤＲＡＭに対する画像データ等の書き込み及び読み出しを行う方法に関するものである。
【背景技術】
【０００２】
近年、画像処理に用いるメモリとしてシンクロナスＤＲＡＭ（ＳＤＲＡＭ）の利用が急速に広まっている。ＳＤＲＡＭの特徴として、高速な入出力インターフェースを備え、大容量のメモリを比較的安価に入手可能なことが挙げられる。また従来のＳＤＲ（シングル・データ・レート）に対して、最近になってＤＤＲ（ダブル・データ・レート）に対応したＳＤＲＡＭが多く使用されるようになってきており、入出力インターフェースの高速化が進んでいる。
【０００３】
ＳＤＲＡＭは、入出力インターフェースは高速に動作するが、ＳＤＲＡＭのＤＲＡＭコア部に関しては、プリフェッチを用いてＳＤＲＡＭの入出力インターフェースに比べてデータ転送バス幅を広くすることにより動作周波数を下げている。例えば、入出力インターフェースが８００Ｍｂｐｓ（クロック周波数は１／２の４００ＭＨｚ）で動作するＤＤＲ２−ＳＤＲＡＭは、ＤＲＡＭコア部は入出力インターフェースの４倍のデータバス幅で動作周波数は２００ＭＨｚとなる。また、入出力インターフェースが１３３３Ｍｂｐｓ（クロック周波数は１／２の６６７ＭＨｚ）で動作するＤＤＲ３−ＳＤＲＡＭは、ＤＲＡＭコア部は入出力インターフェースの８倍のデータバス幅で動作周波数は１６６ＭＨｚとなる。
【０００４】
このように、ＳＤＲＡＭの入出力インターフェースの高速化に比べて、ＳＤＲＡＭのＤＲＡＭコア部の動作周波数は低く、ＳＤＲＡＭへ高速にアクセスする際の制限が存在する。大きな制限の例として、同一バンクに対して連続した活性化（以下アクティベートと呼ぶ）を行うための最低間隔（以下ｔＲＣと示す）は５０ｎｓ程度あり、８００Ｍｂｐｓで動作するＤＤＲ２−ＳＤＲＡＭではデータ転送レートの４０倍程度、１３３３ＭＨｚで動作するＤＤＲ３−ＳＤＲＡＭでは６６倍程度となり、ＳＤＲＡＭへ連続アクセスする際の大きな制限となっている。この制限に対しては、複数のバンクを備えることにより、バンクインターリーブを行うことにより、ある条件下でｔＲＣを隠蔽可能にする方法が考えられている。
【０００５】
一方、ＳＤＲＡＭにアクセスする際に必要となるデータ転送帯域の増加に対して、ＳＤＲＡＭにアクセスするマスターが一度のアクセスでＳＤＲＡＭに対して書き込みまたは読み出しを行うデータ量の最小単位は極力小さなほうが都合が良いが、アクセスする最小単位を小さくするとＳＤＲＡＭへのアクセス効率が悪くなるため、ある一定の大きさの単位でＳＤＲＡＭへアクセスする方法がとられる。例えば、ＭＰＥＧ２ではマクロブロックが縦８画素、横８画素で１画素あたり８ビットとなるため、各マクロブロックの総データ量は２５６バイト（２０４８ビット）となる。そのため、一例としてＭＰＥＧ２の画像処理等をＳＤＲＡＭを用いて行う際には、２５６バイト単位でＳＤＲＡＭに対してアクセスすることが望ましい。
【０００６】
ＳＤＲＡＭへのアクセスの基本は、図２に示すように、所定のバンクに対してアクティベート（活性化）を行い、一定時間の後に書き込みまたは読み出しのコマンドを所望の回数発行し、プリチャージコマンドによりバンクを閉じ、該当バンクが再びアクティベート可能なアイドル状態に戻す動作を繰り返す。ＳＤＲＡＭに対して連続アクセスを行うには、各バンクに対して発行するコマンドのタイミングをずらし、各バンクに対する書き込みまたは読み出し処理を連続させることにより実現する。また、各バンクに対するアクティベートの間隔がｔＲＣより大きくなるように各バンクのアクセスする回数を調整することによりｔＲＣを隠蔽する必要がある。
【０００７】
このように、ＳＤＲＡＭに対して映像信号の読み出しまたは書き込みを行う場合に、図３に示すように、例えば２５６バイト（２０４８ビット）のように２のべき乗で示されるデータ量をアクセス単位とすることでＳＤＲＡＭの制御を簡略化できる。図３に示すように、１６ビット幅のＤＤＲ３ーＳＤＲＡＭに対して２５６バイトのアクセスを行う場合には、１バンクあたり６４バイト（５１２ビット）のアクセス、４バンクでインターリーブを行うことにより合計２５６バイト単位のアクセスを実現することができる。すなわち、各ＳＤＲＡＭのバンクに対して、バースト長が８の場合には、４回のライトまたはリードコマンドを発行することにより実現可能である。１６ビット幅のＤＤＲ３−ＳＤＲＡＭでは、１クロックで２個のデータ（４バイト）のデータのアクセスが可能であり、２５６バイトのアクセスには６４クロック必要となり、この時間がｔＲＣより大きくなるためｔＲＣを隠蔽可能となる。
【０００８】
一方で、年々複雑になる信号処理を実現するために、マスター数は年々増加しており、それに伴い必要とするデータ転送帯域は年々増加している。ＳＤＲＡＭ単体で必要なデータ転送帯域が確保できない場合には、複数のＳＤＲＡＭを並列に接続して、ＳＤＲＡＭの入出力インターフェースのバス幅を増やすことにより、必要なデータ転送帯域を確保している。
【０００９】
特許文献１による従来の技術の第１の方法では、図４及び図５に示すように、複数のマスターに相当する複数ラインのパラレル画像データのＳＤＲＡＭへの書き込みまたは読み出しに対応した６４ビットデータバス幅のＳＤＲＡＭを割り当て、複数のマスターの必要とするデータ転送帯域を確保している。
また、複数のＳＤＲＡＭの制御は、チップセレクト以外は、共通のコマンドとアドレスにより制御され、６４ビットのデータバスも複数のＳＤＲＡＭ間で共有している。回路の簡略化のために、コマンドとアドレスとデータバスは共有されており、図５のタイミングチャートで示されるように、各マスターは排他的に時分割でＳＤＲＡＭへのアクセスが行われ、各マスターは６４ビットデータバス幅で実現可能なデータ転送帯域を利用可能となる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００２ー１４８６７号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、データ転送帯域を高めるために従来の技術の第１の方法のような方法を採用したとしても、例えば１３３３Ｍｂｐｓで動作する１６ビットデータバス幅のＤＤＲ３−ＳＤＲＡＭを２個並列に３２ビットのＳＤＲＡＭとして複数個用いた場合に、あるマスターが２５６バイトの大きさの連続アクセスを行った場合には、ｔＲＣを隠蔽するアクセスが不可能となる。
つまり、３２ビットデータバス幅のＳＤＲＡＭに対して２５６バイトのアクセスは３２クロックで実現できｔＲＣより短い期間で終了するためである。あるマスターから２５６バイト単位で同一バンクに連続したアクセスが行われた場合には、ｔＲＣを満たすために個々の２５６バイトのアクセスの間にバブルが発生させることになり、データ転送帯域の使用効率が著しく低下する。
一方２５６バイトの２倍の５１２バイト単位でアクセスすることによりｔＲＣは隠蔽可能だが、本来行いたい２５６バイトのアクセスに対してオーバヘッドが発生することになり、データ転送帯域またはメモリ容量の使用効率低下が発生する。
【００１２】
また、マスター毎に２５６バイト単位でアクセスする３２ビットデータバス幅のＳＤＲＡＭを切り替えることで、ＳＤＲＡＭ単位でｔＲＣの隠蔽は可能となるが、複数あるＳＤＲＡＭの中でマスター毎に選択したＳＤＲＡＭしか動作させることができないため、システムとしてのデータ転送帯域の使用効率は著しく悪くなる。また、複数個の３２ビットデータバス幅のＳＤＲＡＭが必要となるため、コストアップとなる。
【００１３】
本発明は上記に鑑み、複数のバンクを有し、一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスＤＲＡＭに対する制御回路において、複数のＳＤＲＡＭと、複数のＳＤＲＡＭの個別のＳＤＲＡＭに対してアクセス行う複数のマスターと、複数のマスターから出力されるＳＤＲＡＭへのアクセス要求に従ってＳＤＲＡＭのデータ入出力制御とＳＤＲＡＭのアクセスコマンドを生成する複数のコマンド発生回路と、複数のコマンド発生回路から出力される複数のＳＤＲＡＭへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、複数のコマンド発生回路により複数のマスターと複数のＳＤＲＡＭ間のデータ制御を行う複数のデータ制御回路と、コマンドアドレス多重回路からチップセレクト信号のみ個別でコマンドとアドレスを共通で複数のＳＤＲＡＭへ出力することにより、各マスターが並列にＳＤＲＡＭのデータ転送帯域を効率的に使用可能な手段を提供する。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明は次の構成を採用した。すなわち、第１の発明は、複数のバンクを有し一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスＤＲＡＭに対する制御回路において、複数のＳＤＲＡＭと、複数のＳＤＲＡＭの個別のＳＤＲＡＭに対してアクセス行う複数のマスターと、複数のマスターから出力されるＳＤＲＡＭへのアクセス要求に従ってＳＤＲＡＭのデータ入出力制御とＳＤＲＡＭのアクセスコマンドを生成する複数のコマンド発生回路と、複数のコマンド発生回路から出力される複数のＳＤＲＡＭへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、複数のコマンド発生回路により複数のマスターと複数のＳＤＲＡＭ間のデータ制御を行う複数のデータ制御回路と、コマンドアドレス多重回路からチップセレクト信号のみ個別でコマンドとアドレスを共通で複数のＳＤＲＡＭへ出力することを特徴とするメモリ制御回路を備える。
【００１５】
第２の発明は、第１の発明に加え、複数のマスターから出力されるＳＤＲＡＭへのアクセス要求は、書き込みまたは読み出しの要求とＳＤＲＡＭの論理アドレスである。
第３の発明は、第２の発明に加え、複数のコマンド発生回路は、メモリ制御回路から入力される書き込みまたは読み出しの要求とＳＤＲＡＭの論理アドレスから、書き込みまたは読み出しコマンドとＳＤＲＡＭの物理アドレス（ＳＤＲＡＭのアドレスとバンク）を発生する。
【００１６】
第４の発明は、第３の発明に加え、複数のコマンド発生回路は、ＳＤＲＡＭへの書き込みまたは読み出しコマンドに同期して、ＳＤＲＡＭから読み出し時にはＳＤＲＡＭからの読み出しデータを複数のマスターに入力し、ＳＤＲＡＭへの書き込み時にはマスターからの出力されたデータをＳＤＲＡＭへ入力するようにデータ制御回路を制御する。
【００１７】
第５の発明は、第４の発明に加え、複数のメモリに対して独立に書き込みまたは読み出しを連続して行うことが可能である。
【００１８】
第６の発明は、第５の発明に加え、ＳＤＲＡＭはＤＤＲ３−ＳＤＲＡＭで構成するものである。
【００１９】
第７の発明は、第６の発明に加え、ＳＤＲＡＭはデータバス幅が１６ビットであり、バースト長が８で動作し、個々のＳＤＲＡＭに書き込みまたは読み出しを行う単位は２５６バイトである。
【００２０】
第８の発明は、第７の発明に加え、ＳＤＲＡＭへの２５６バイトの書き込みまたは読み出しをＳＤＲＡＭの４バンクのインターリーブで実現する。
【発明の効果】
【００２１】
以上述べたように、本発明のメモリ制御回路においては、ＤＤＲ３−ＳＤＲＡＭに代表される高速動作の複数のＳＤＲＡＭに対して、複数のマスターが独立に個々のＳＤＲＡＭに対して２５６バイト単位のデータの書き込みまたは読み出しを連続して行うことができる。また、チップセレクト信号のみＳＤＲＡＭに対して個別に制御することにより、複数のＳＤＲＡＭに対するコマンド及びアドレスを共用することができ、メモリ制御回路とＳＤＲＡＭとの信号接続を簡略化することが可能となり、メモリ制御回路をＬＳＩ化した場合にも、ＬＳＩの出力信号数を低減できＬＳＩのコスト削減が可能となる。また、メモリ制御回路の出力信号数を減らすことにより、メモリ制御回路の消費電力削減を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】本実施形態におけるメモリ制御回路の図
【図２】ＳＤＲＡＭの基本アクセスパターンのタイミングチャート
【図３】ＳＤＲＡＭに対して２５６バイトのデータ読み出しシーケンスのタイミングチャート
【図４】従来の技術におけるメモリ制御回路の図
【図５】従来の技術におけるメモリ制御回路の動作説明用のタイミングチャート
【図６】論理アドレスと物理アドレスの対応の説明図
【図７】ＤＤＲ３−ＳＤＲＡＭのリード基本動作説明図
【図８】ＤＤＲ３−ＳＤＲＡＭのライト基本動作説明図
【図９】ＤＤＲ３−ＳＤＲＡＭの２５６バイト単位のデータ書き込みのタイミングチャート
【図１０】ＤＤＲ３−ＳＤＲＡＭの２５６バイト単位のデータ読み出しのタイミングチャート
【図１１】コマンドの多重動作を説明するタイミングチャート
【図１２】データバス制御のタイミングチャート
【発明を実施するための形態】
【００２３】
（実施例１）
以下、本発明に関わるメモリ制御回路の一実施形態について説明する。図１は、本実施形態におけるメモリ制御回路を示すブロック図である。メモリ制御回路は、マスター１０１ａ、マスター１０１ｂ、コマンド発生回路１０２ａ、コマンド発生回路１０２ｂ、データ制御回路１０３ａ、データ制御回路１０３ｂ、コマンドアドレス多重回路１０４を備えている。
【００２４】
マスター１０１ａ及びマスター１０１ｂは、それぞれＳＤＲＡＭ１０５ａとＳＤＲＡＭ１０５ｂを対象にデータの書き込みまたは読み出し要求を発生する。マスター１０１ａ及びマスター１０１ｂからＳＤＲＡＭへの書き込みまたは読み出しの要求は、論理アドレスとリクエストをコマンド発生回路１０２ａとコマンド発生回路１０２ｂへ入力することにより行う。マスター１０１ａから出力された論理アドレスとリクエストはコマンド発生回路１０２ａへ入力される。マスター１０１ｂから出力された論理アドレスとリクエストはコマンド発生回路１０２ｂへ入力される。論理アドレスの詳細な説明は後ほど行う。
【００２５】
コマンド発生回路１０２ａ及びコマンド発生回路１０２ｂは、それぞれマスター１０１ａ及びマスター１０１ｂから入力される論理アドレスとリクエストをＳＤＲＡＭへ入力可能な物理アドレスとコマンドに変換した後にコマンドアドレス多重回路１０４へ出力する。なお、物理アドレスは、列アドレスと行アドレスとバンクアドレスで構成される。
次に、コマンドアドレス多重回路１０４は、コマンド発生回路１０２ａとコマンド発生回路１０２ｂから入力される物理アドレスとコマンドを時間軸多重し、ＳＤＲＡＭ１０５ａ及びＳＤＲＡＭ１０５ｂへ出力する。この際、ＳＤＲＡＭ１０５ａ及びＳＤＲＡＭ１０５ｂへ入力する物理アドレスとコマンドは、チップセレクト信号以外は共有しており、チップセレクトの制御により、ＳＤＲＡＭ１０５ａと１０５ｂには別々の物理アドレスとコマンドが入力可能となり、マスター１０１ａはＳＤＲＡＭ１０５ａに対して、マスター１０１ｂはＳＤＲＡＭ１０５ｂに対して並列に書き込みと読み出し制御を行うことになる。物理アドレスとコマンドの多重動作とＳＤＲＡＭの並列処理に関しては後ほど説明を行う。
【００２６】
データ制御回路１０３ａは、コマンド発生回路１０２ａが発生するコマンドに従って、マスター１０１ａとＳＤＲＡＭ１０５ａの間のデータバスの制御を行う。すなわち、コマンド発生回路１０２ａがＳＤＲＡＭ１０５ａに対して書き込みコマンドを発生した場合には、所望のレーテンシー後にマスター１０１ａからＳＤＲＡＭ１０５ａにデータが入力されるようにデータバスを制御する。また、コマンド発生回路１０２ａがＳＤＲＡＭ１０５ａに対して読み出しコマンドを発生した場合には、所望のレーテンシー後にＳＤＲＡＭ１０５ａからマスター１０１ａにデータが入力されるようにデータバスを制御する。データ制御回路１０３ｂもデータ制御回路１０３ａと同様に、コマンド発生回路１０２ｂが発生するコマンドに従って、マスター１０１ｂとＳＤＲＡＭ１０５ｂの間のデータバスの制御を行う。
【００２７】
以下、コマンド発生回路１０２ａ及びコマンド発生回路１０３ａにおけるＳＤＲＡＭへのコマンド発生に関して詳細に説明する。マスターがＳＤＲＡＭに対して例えば映像処理を行うためのデータの読み書きを行う場合、ある大きさ以下でバースト的にアクセスすることにより、ＳＤＲＡＭに対して効率的にアクセスできる。
例えば、ＭＰＥＧ２ではマクロブロックが縦８画素、横８画素で１画素あたり８ビットとなるため、各マクロブロックの総データ量は２５６バイト（２０４８ビット）となり、２５６バイトの大きさでＳＤＲＡＭにアクセスすることにより効率的にアクセスすることができる。一例として、データバス幅が１６ビットで容量が１ＧビットのＤＤＲ３−ＳＤＲＡＭの一般的な構成は、行（ロウ）が１３ビット、列（コラム）が１０ビット、バンク３ビットで構成されており、図６に示すような論理アドレスを用いる場合、列の下位５ビットとバンクの下位２ビットの合計７ビットの物理アドレスは論理アドレスからは隠蔽される。ＳＤＲＡＭへの一度のアクセスにより、物理アドレスにより隠蔽されている７ビット分のアドレス（１２８データ）に対してアクセスが行われ、合計２５６バイトのデータのアクセスが行われる。
本実施形態では、列の下位アドレス５ビットとバンクの下位アドレス２ビットで構成される論理アドレスから隠蔽された７ビット以外のアドレスに関しては、バンク、列、行の順番に下位のビットから並べているが、これは一例であって任意の順番に並べても問題はない。
【００２８】
次に、図３にＳＤＲＡＭからの読み出しを行うコマンドシーケンスの一例を示す。ＳＤＲＡＭのバースト長を８として、４つのバンクに対して連続して読み出しのアクセスを行うためには、各バンクに対して３回のリードコマンドと一回のオートプリチャージ付きのリードコマンドつまりリードコマンドを４バースト連続発行する。バースト長が８であることから、４バンクで１６回のリードコマンドを発行することになり、ＳＤＲＡＭから合計１２８個のデータ（２５６バイト）が読み出される。
なお、各バンクに対する最後のリードコマンドは、オートプリチャージ付きのリードコマンドを使用したが、リードコマンドとプリチャージコマンドを別々に発行してもよい。また、４つのバンクに対して連続して書き込みのアクセスを行う場合にも、リードコマンドをライトコマンドに置き換えることで同様なアクセスを実現できる。
【００２９】
次に、図７、図８に、１３３３Ｍｂｐｓ（クロック周期ｔＣＫは１．５ｎｓ）で動作するＤＤＲ３−ＳＤＲＡＭに対する一つのバンクに対するアクティベートからプリチャージ終了までのまでのタイミングの一例を示す。１６ビット幅で１３３３Ｍｂｐｓで動作する以下に示す、ＤＤＲ３−ＳＤＲＡＭのコマンド発行に関係するタイミングのパラメータの典型的な値は、一般的に市販されているＤＤＲ３−ＳＤＲＡＭのタイミングパラメータを使用して説明する。
【００３０】
ｔＲＣ：同一バンクに対してアクティベートから次のアクティベート発行までの最小時間  ４９．５ｎｓ（３３ｔＣＫ）  ＣＬ：リードコマンドに対してＳＤＲＡＭからデータが出力されるまでの時間  ９ｔＣＫ  ＣＷＬ：ライトコマンドに対してＳＤＲＡＭにデータを入力できるまでの時間  ８ｔＣＫ  ｔＲＰ：プリチャージコマンドからプリチャージが終了するまでの時間  １３．５ｎｓ（９ｔＣＫ）  ｔＲＣＤ：アクティベートからライトまたはリードコマンドの発行までの最小時間  １３．５ｎｓ（９ｔＣＫ）  ｔＲＡＳ：  アクティベートからプリチャージコマンドを発行までの最小時間  ３６ｎｓ（２４ｔＣＫ）  ｔＷＲ：ＳＤＲＡＭに最後ノデータを書きこんだ後から、プリチャージコマンド発行までの最小時間  １５ｎｓ（１０ｔＣＫ）とする。
【００３１】
図７に、クロックは１３３３Ｍｂｐｓの半分の６６７ＭＨｚ（１．５ｎｓ周期）であり、バースト長は８で、上に示した一般的に市販されているＤＤＲ３−ＳＤＲＡＭのタイミングパラメータに従って、一つのバンクに対して４回のリードコマンドを発行する場合の一例のタイミングチャートを示す。
ｔ０のタイミングでバンクＢに対して発行されるアクティベートコマンドに対して、ｔＲＣＤ（９ｔＣＫ）後のｔ１のタイミングでバンクＢに対してリードコマンドを発行する。リードコマンドからＣＬ（９ｔＣＫ）後のｔ２のタイミングでＳＤＲＡＭから最初のリードデータが出力される。ｔ１のリードコマンドからバースト長に相当する４ｃｋ後のｔ３のタイミングでバンクＢに対して２回目のリードコマンドを発行する。
さらに、ｔ３から４ｃｋ後のｔ４のタイミングでバンクＢに対して３回目のリードコマンドを発行する。ｔ４のタイミングから４ｃｋ後のｔ５のタイミングでバンクＢに対する４回目のリードコマンドに相当するオートプリチャージ付きのリードコマンドを発行する。ｔ５のタイミングから（ＣＬ／２＋２）ｔＣＫ後のｔ６のタイミングで、ｔ５のタイミングで発行したオートプリチャージ付きのリードコマンドに対応するバンクＢに対するプリチャージ動作がＳＤＲＡＭ内部で開始される。
次に、ｔ６のタイミングからｔＲＰ（９ｔＣＫ）後のｔ７のタイミングでプリチャージ動作が完了し、再びバンクＢに対してアクティベートが可能な状態になる。上記のシーケンスでｔ０からｔ７の間隔は３６ｔＣＫとなり、ｔＲＡＳ（２４ｔＣＫ）及びｔＲＣ（３３ｔＣＫ）は隠蔽可能となる。以降、このｔ０からｔ７の間隔（３６ｔＣＫ）をリード時同一バンクアクセス最小間隔と呼ぶ。なお、本実施形態では、バンクを閉じる際にオートプリチャージ付きリードコマンドを発行したしたが、リードコマンドとプリチャージコマンドを別々に発行してもよい。
【００３２】
次に、図８において、一つのバンクに対して４回のライトコマンドを発行する場合の一例のタイミングチャートを説明する。ＳＤＲＡＭへのコマンド発行のタイミングに関するパラメータはライト時のみ有効となるパラメータ以外はリード時と同様である。ｔ０のタイミングでバンクＢに対して発行されるアクティベートコマンドに対して、ｔＲＣＤ（９ｔＣＫ）後のｔ１のタイミングでバンクＢに対してライトコマンドを発行する。ライトコマンドからＣＷＬ（８ｔＣＫ）後のｔ２のタイミングでＳＤＲＡＭに最初のライトデータが入力される。ｔ１のライトコマンドからバースト長に相当する４ｃｋ後のｔ３のタイミングでバンクＢに対して２回目のライトコマンドを発行する。
さらに、ｔ３から４ｃｋ後のｔ４（ｔ２と同タイミング）のタイミングでバンクＢに対して３回目のライトコマンドを発行する。ｔ４のタイミングから４ｃｋ後のｔ５のタイミングでバンクＢに対する４回目のライトコマンドに相当するオートプリチャージ付きのライトコマンドを発行する。ｔ５のタイミングで発行されたオートプリチャージ付きのライトコマンドに対応するＳＤＲＡＭへのデータ書き込みがｔ６のタイミングで終了する。
次に、ｔ６のタイミングからｔＷＲ（１０ｔＣＫ）後のｔ７のタイミングで、ｔ５のタイミングで発行したオートプリチャージ付きのライトコマンドに対応するバンクＢに対するプリチャージ動作がＳＤＲＡＭ内部で開始される。ｔ７のタイミングからｔＲＰ（９ｔＣＫ）後のｔ８のタイミングでプリチャージ動作が完了し、再びバンクＢに対してアクティベートが可能な状態になる。上記のシーケンスでｔ０からｔ８の間隔は５２ｔＣＫとなり、ｔＲＡＳ（２４ｔＣＫ）及びｔＲＣ（３３ｔＣＫ）は隠蔽可能となる。以降、このｔ０からｔ８の間隔（５２ｔＣＫ）をライト時同一バンクアクセス最小間隔と呼ぶ。なお、本実施形態ではバンクを閉じる際にオートプリチャージ付きライトコマンドを発行したしたが、ライトコマンドとプリチャージコマンドを別々に発行してもよい。
【００３３】
このように、一つのバンクに対してバースト長が８で４回のリードまたはライトコマンドを発行することにより、１６ビットデータバス幅のＳＤＲＡＭに対して、１つのバンクのアクセスで、５１２ビット（６４バイト）のデータの読み出しまたは書き込みを行うことができる。このシーケンスを基本として、４つのバンクに対して上記シーケンスをインターリーブすることにより、図９及び図１０に示すような２０４０ビット（２５６バイト）の読み出しまたは書き込みを連続して行うことが可能となる。この場合、同一バンクをアクティベートする間隔は６４ｔＣＫとなり、リード時同一バンクアクセス最小間隔（３６ｔＣＫ）とライト時同一バンクアクセス最小間隔（５２ｔＣＫ）より長い時間となり、同一バンクアクセス時のｔＲＣに代表されるタイミング制約を隠蔽している。
次に、図９、図１０に示すタイミングチャートは、ＳＤＲＡＭに対するライト時のバンクインターリーブ時のタイミングの一例を示す。なお、リード時もコマンド発行のタイミングは同様になる。また、ＳＤＲＡＭのコマンド発行のタイミングの制約に関しては、上に示した一般的に市販されているＤＤＲ３−ＳＤＲＡＭのタイミングパラメータに従う。なお、図９と図１０において同じ記号は同じものを示す。
【００３４】
バンク０に対してｔ０のタイミングでアクティベートコマンドを発行し、ｔＲＣＤ（９ｔＣＫ）後のｔ１のタイミングでバンク０に対するライトコマンドを発行し、４ｔＣＫの間隔で４回連続してバンク０に対してライトコマンドを発行後にバンク０に対してプリチャージを行う。
バンク０の書き込みに連続してバンク１の書き込みを行うために、ｔ３のタイミングでバンク１に対するライトコマンドを発行し、４ｔＣＫの間隔で４回連続してバンク１に対してライトコマンドを発行後にバンク１に対してプリチャージを行う。ｔ３のタイミングでバンク１に対してライトコマンドを発行するために、ｔ３からｔＲＣＤ（９ｔＣＫ）早いタイミングのｔ２のタイミングでバンク１に対してアクティベートコマンドを発行する。
同様に、ｔ５のタイミングでバンク２に対するライトコマンドを発行し、４ｔＣＫの間隔で４回連続してバンク２に対してライトコマンドを発行後にバンク２に対してプリチャージを行う。ｔ５のタイミングでバンク２に対してライトコマンドを発行するために、ｔ５からｔＲＣＤ（９ｔＣＫ）早いタイミングのｔ４のタイミングでバンク２に対してアクティベートコマンドを発行する。
バンク３に対しても同様にコマンド発行を行い、ｔ１から６４ｔＣＫ後ｔ８のタイミングで再びバンク０に対してライトコマンドを発行する。またｔ８からｔＲＣＤ（９ｔＣＫ）早いタイミングのｔ７でバンク０に対するアクティベートコマンドを発行する。
なお、ｔ２、ｔ４、ｔ７の各バンクに対するアクティベートのタイミングに関しては、ＳＤＲＡＭへのライト動作を連続して行うために４ｔＣＫ毎にライトコマンドの発行が必須であり、ライトコマンドが発行されていないタイミングでかつ、ｔＲＣに代表されるＳＤＲＡＭへのコマンド発生のタイミングの制約を違反しない限り、ｔ２とｔ３、ｔ４とｔ５、ｔ７とｔ８の間隔を広げてアクティベートコマンドを発行してもよい。
なお、コマンド発生回路１０２ａとコマンド発生回路１０２ｂでは、マスター１０１ａとマスター１０１ｂからの要求に従って独立にＳＤＲＡＭに対するコマンド発行を行うことができる。
【００３５】
次に、コマンドアドレス多重回路１０４に関して説明を行う。図１１にコマンド発生回路１０２ａとコマンド発生回路１０２ｂから入力されたＳＤＲＡＭへのコマンドを多重する際のタイミングチャートの一例を示す。なお本実施形態では、ライトコマンドを発行した場合のタイミングチャートになっているが、リードコマンドの場合も全く同じタイミングになる。図９及び図１０を用いて説明したコマンドのシーケンスでコマンド発生回路１０２ａ及びコマンド発生回路１０２ｂから出力されるＳＤＲＡＭへのコマンドＣａ及びコマンドＣｂが同一タイミングで出力された場合、コマンド発生回路１０２ｂから出力されたコマンドＣｂを遅延回路１０６にて２ｔＣＫ遅延させたＣｂｄを発生する。
【００３６】
ＳＤＲＡＭへのコマンドは、アクティベート、ライトまたはリードコマンド等の有効なコマンドとＮＯＰ（無効コマンド）に分類される。コマンドＣａとコマンドＣｂｄは、無効コマンドを除いた有効なコマンドの発行タイミングで時間的に重なるコマンドはなく、例えば、コマンドＣａの無効コマンドの部分にＣｂｄの有効なコマンドを、タイミングを変更せず挿入することができる。
このようにして多重回路１０７においてコマンドＣａとコマンドＣｂｄを多重化した結果、コマンドＣｏが得られる。コマンドＣｏは、そのままＳＤＲＡＭ１０５ａ及び１０５ｂに入力されるため、チップセレクト信号にて、それぞれのＳＤＲＡＭに有効なコマンドを選択する必要がある。
ＳＤＲＡＭ１０５ａに入力するチップセレクト信号ＣＳ０は、コマンドＣａの有効なコマンドが存在するタイミングで０、無効なコマンドのタイミングで１になるように生成する。ＳＤＲＡＭ１０５ｂに入力するチップセレクト信号ＣＳ１は、コマンドＣｂｄの有効なコマンドが存在するタイミングで０、無効なコマンドのタイミングで１になるように生成する。
なお、本実施形態では、コマンドＣｂを遅延させているが、変わりにコマンドＣａを遅延させてもよい。また、コマンドの遅延量２ｔＣＫに関しても、アクティベートの発生タイミングを変更することにより、他の遅延量で動作させてもよい。
また、本実施形態では、コマンドＣａとコマンドＣｂが同一タイミングで入力される場合の多重化処理の説明を行ったが、コマンド発行タイミングが異なっていても、遅延回路１０６の遅延量を調整することにより対応可能である。なお、ＳＤＲＡＭへのチップセレクト信号が０で有効になる場合の例を説明したが、１で有効になる場合もまったく同様に対応することができる。
【００３７】
次に、図１２に、データ制御回路１０３ａとデータ制御回路１０３ｂにおけるデータバスの制御の一例のタイミングチャートを示す。図１２のタイミングチャートでは、ＳＤＲＡＭへの書き込み動作から読み出し動作になり、再び書き込み動作になる際のデータバスの制御タイミングの例を示している。コマンド発生回路１０２ａおよびコマンド発生回路１０２ｂから出力されるライトコマンドまたリードコマンドは一定の遅延後にＳＤＲＡＭに入力される。
同様に、マスター１０１ａおよびマスター１０２ｂからデータ制御回路１０３ａ及びデータ制御回路１０３ｂに入力される書き込みデータも一定の遅延の後にＳＤＲＡＭに入力される。一方、ＳＤＲＡＭに入力されるライトコマンドに対して、ＣＷＳ（ＣＡＳ  ＷＲＩＴＥ  ＬＡＴＥＮＣＹ）で定義されるレンテンシー後に書き込みデータをＳＤＲＡＭに入力する必要がある。ＳＤＲＡＭに対して読み出しを行う場合には、コマンド発生回路１０２ａおよびコマンド発生回路１０２ｂから出力されるリードコマンドが一定の遅延後にＳＤＲＡＭに入力される。ＳＤＲＡＭから入力されたリードコマンドからＣＬ（ＣＡＳ  ＬＡＴＥＮＣＹ）後にリードデータが出力され、一定の遅延後に、データ制御回路１０３ａとデータ制御回路１０３ｂに入力される。
【００３８】
データ制御回路１０３ａとデータ制御回路１０３ｂでは、コマンド発生回路１０２ａおよびコマンド発生回路１０２ｂから出力されるデータバス制御信号Ｓａ及びデータバス制御信号Ｓｂにより、データバスの制御を行う。データバス制御信号Ｓａは、マスター１０１ａからＳＤＲＡＭへの書き込みの要求が発生した場合に、マスター１０１ａから書き込みデータが出力されるタイミングで０となるように制御され、マスター１０１ａからＳＤＲＡＭへの読み出しの要求が発生した場合には、マスター１０１ａにＳＤＲＡＭ１０５ａからの読み出しデータが入力されるタイミングで１となるように制御される。
データ制御回路１０３ａは、データバス制御信号Ｓａが０の場合には、マスター１０１ａから出力される書き込みデータをＳＤＲＡＭ１０５ａへ入力し、データバス制御信号Ｓａが１の場合には、ＳＤＲＡＭ１０５ａから出力される読み出しデータをマスター１０１ａに入力する。データバス制御回路Ｓｂも、マスター１０１ｂとデータ制御回路１０３ｂとＳＤＲＡＭ１０５ｂに対して同様な制御を行う。なお、本実施形態では、データバス制御信号Ｓａ及びＳｂに対して、ＳＤＲＡＭへの書き込み時に０、読み出し時に１となるように制御を行ったが、ＳＤＲＡＭへの書き込み時に１、読み出し時に０となるように制御してもよい。
【００３９】
なお、本実施の形態では、２つの独立したＳＤＲＡＭへのコマンドを多重する例を説明したが、３つの独立したＳＤＲＡＭへのコマンドを多重することも同様な構成で可能である。
【００４０】
なお、本実施の形態では、ＳＤＲＡＭのバースト長を８の場合の例を説明したが、バースト長を１６にすることができれば、４つ以上の独立したＳＤＲＡＭのコマンドを多重することも同様な構成で可能である。
【００４１】
なお、本実施の形態では、２つの独立したＳＤＲＡＭへのコマンドを多重する例を説明したが、データ転送帯域に問題が無い場合には、コマンドを多重せずに単体のＳＤＲＡＭへコマンドを供給することも可能である。
【産業上の利用可能性】
【００４２】
本発明は、ＳＤＲＡＭに対する画像データ等の書き込み及び読み出しを行う方法において有用なものである。
【符号の説明】
【００４３】
１０１ａ    マスター
１０１ｂ    マスター
１０２ａ    コマンド発生回路
１０２ｂ    コマンド発生回路
１０３ａ    データ制御回路
１０３ｂ    データ制御回路
１０４    コマンドアドレス多重回路
１０５ａ    ＳＤＲＡＭ
１０５ｂ    ＳＤＲＡＭ
１０６    遅延回路
１０７    多重回路
【図１】
2010250727.tif 000003
【図２】
2010250727.tif 000004
【図３】
2010250727.tif 000005
【図４】
2010250727.tif 000006
【図５】
2010250727.tif 000007
【図６】
2010250727.tif 000008
【図７】
2010250727.tif 000009
【図８】
2010250727.tif 000010
【図９】
2010250727.tif 000011
【図１０】
2010250727.tif 000012
【図１１】
2010250727.tif 000013
【図１２】
2010250727.tif 000014