JP2010250727A - メモリ制御回路 - Google Patents

メモリ制御回路 Download PDF

Info

Publication number
JP2010250727A
JP2010250727A JP2009101820A JP2009101820A JP2010250727A JP 2010250727 A JP2010250727 A JP 2010250727A JP 2009101820 A JP2009101820 A JP 2009101820A JP 2009101820 A JP2009101820 A JP 2009101820A JP 2010250727 A JP2010250727 A JP 2010250727A
Authority
JP
Japan
Prior art keywords
sdram
command
control circuit
data
memory control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009101820A
Other languages
English (en)
Inventor
Kazuto Tanaka
和人 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to JP2009101820A priority Critical patent/JP2010250727A/ja
Publication of JP2010250727A publication Critical patent/JP2010250727A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Memory System (AREA)

Abstract

【課題】複数のSDRAMに対して、並列に個々のSDRAMに効率的にアクセスする。
【解決手段】複数個で構成されるSDRAMの個々のSDRAMに対してアクセス要求を行う複数のマスター101a、101bのSDRAMに対する書き込みまたは読み出し要求からコマンド発生回路102a、102bにより独立にSDRAMへのコマンドを生成し、コマンドアドレス多重回路104により一つのコマンドに多重する。多重後のコマンドを共通のコマンドとして各SDRAMに供給し、チップセレクト信号のみSDRAM毎に別々に制御することにより、複数のSDRAMに対して連続したアクセスを実現する。
【選択図】図1

Description

本発明は、SDRAMに対する画像データ等の書き込み及び読み出しを行う方法に関するものである。
近年、画像処理に用いるメモリとしてシンクロナスDRAM(SDRAM)の利用が急速に広まっている。SDRAMの特徴として、高速な入出力インターフェースを備え、大容量のメモリを比較的安価に入手可能なことが挙げられる。また従来のSDR(シングル・データ・レート)に対して、最近になってDDR(ダブル・データ・レート)に対応したSDRAMが多く使用されるようになってきており、入出力インターフェースの高速化が進んでいる。
SDRAMは、入出力インターフェースは高速に動作するが、SDRAMのDRAMコア部に関しては、プリフェッチを用いてSDRAMの入出力インターフェースに比べてデータ転送バス幅を広くすることにより動作周波数を下げている。例えば、入出力インターフェースが800Mbps(クロック周波数は1/2の400MHz)で動作するDDR2−SDRAMは、DRAMコア部は入出力インターフェースの4倍のデータバス幅で動作周波数は200MHzとなる。また、入出力インターフェースが1333Mbps(クロック周波数は1/2の667MHz)で動作するDDR3−SDRAMは、DRAMコア部は入出力インターフェースの8倍のデータバス幅で動作周波数は166MHzとなる。
このように、SDRAMの入出力インターフェースの高速化に比べて、SDRAMのDRAMコア部の動作周波数は低く、SDRAMへ高速にアクセスする際の制限が存在する。大きな制限の例として、同一バンクに対して連続した活性化(以下アクティベートと呼ぶ)を行うための最低間隔(以下tRCと示す)は50ns程度あり、800Mbpsで動作するDDR2−SDRAMではデータ転送レートの40倍程度、1333MHzで動作するDDR3−SDRAMでは66倍程度となり、SDRAMへ連続アクセスする際の大きな制限となっている。この制限に対しては、複数のバンクを備えることにより、バンクインターリーブを行うことにより、ある条件下でtRCを隠蔽可能にする方法が考えられている。
一方、SDRAMにアクセスする際に必要となるデータ転送帯域の増加に対して、SDRAMにアクセスするマスターが一度のアクセスでSDRAMに対して書き込みまたは読み出しを行うデータ量の最小単位は極力小さなほうが都合が良いが、アクセスする最小単位を小さくするとSDRAMへのアクセス効率が悪くなるため、ある一定の大きさの単位でSDRAMへアクセスする方法がとられる。例えば、MPEG2ではマクロブロックが縦8画素、横8画素で1画素あたり8ビットとなるため、各マクロブロックの総データ量は256バイト(2048ビット)となる。そのため、一例としてMPEG2の画像処理等をSDRAMを用いて行う際には、256バイト単位でSDRAMに対してアクセスすることが望ましい。
SDRAMへのアクセスの基本は、図2に示すように、所定のバンクに対してアクティベート(活性化)を行い、一定時間の後に書き込みまたは読み出しのコマンドを所望の回数発行し、プリチャージコマンドによりバンクを閉じ、該当バンクが再びアクティベート可能なアイドル状態に戻す動作を繰り返す。SDRAMに対して連続アクセスを行うには、各バンクに対して発行するコマンドのタイミングをずらし、各バンクに対する書き込みまたは読み出し処理を連続させることにより実現する。また、各バンクに対するアクティベートの間隔がtRCより大きくなるように各バンクのアクセスする回数を調整することによりtRCを隠蔽する必要がある。
このように、SDRAMに対して映像信号の読み出しまたは書き込みを行う場合に、図3に示すように、例えば256バイト(2048ビット)のように2のべき乗で示されるデータ量をアクセス単位とすることでSDRAMの制御を簡略化できる。図3に示すように、16ビット幅のDDR3ーSDRAMに対して256バイトのアクセスを行う場合には、1バンクあたり64バイト(512ビット)のアクセス、4バンクでインターリーブを行うことにより合計256バイト単位のアクセスを実現することができる。すなわち、各SDRAMのバンクに対して、バースト長が8の場合には、4回のライトまたはリードコマンドを発行することにより実現可能である。16ビット幅のDDR3−SDRAMでは、1クロックで2個のデータ(4バイト)のデータのアクセスが可能であり、256バイトのアクセスには64クロック必要となり、この時間がtRCより大きくなるためtRCを隠蔽可能となる。
一方で、年々複雑になる信号処理を実現するために、マスター数は年々増加しており、それに伴い必要とするデータ転送帯域は年々増加している。SDRAM単体で必要なデータ転送帯域が確保できない場合には、複数のSDRAMを並列に接続して、SDRAMの入出力インターフェースのバス幅を増やすことにより、必要なデータ転送帯域を確保している。
特許文献1による従来の技術の第1の方法では、図4及び図5に示すように、複数のマスターに相当する複数ラインのパラレル画像データのSDRAMへの書き込みまたは読み出しに対応した64ビットデータバス幅のSDRAMを割り当て、複数のマスターの必要とするデータ転送帯域を確保している。
また、複数のSDRAMの制御は、チップセレクト以外は、共通のコマンドとアドレスにより制御され、64ビットのデータバスも複数のSDRAM間で共有している。回路の簡略化のために、コマンドとアドレスとデータバスは共有されており、図5のタイミングチャートで示されるように、各マスターは排他的に時分割でSDRAMへのアクセスが行われ、各マスターは64ビットデータバス幅で実現可能なデータ転送帯域を利用可能となる。
特開2002ー14867号公報
しかしながら、データ転送帯域を高めるために従来の技術の第1の方法のような方法を採用したとしても、例えば1333Mbpsで動作する16ビットデータバス幅のDDR3−SDRAMを2個並列に32ビットのSDRAMとして複数個用いた場合に、あるマスターが256バイトの大きさの連続アクセスを行った場合には、tRCを隠蔽するアクセスが不可能となる。
つまり、32ビットデータバス幅のSDRAMに対して256バイトのアクセスは32クロックで実現できtRCより短い期間で終了するためである。あるマスターから256バイト単位で同一バンクに連続したアクセスが行われた場合には、tRCを満たすために個々の256バイトのアクセスの間にバブルが発生させることになり、データ転送帯域の使用効率が著しく低下する。
一方256バイトの2倍の512バイト単位でアクセスすることによりtRCは隠蔽可能だが、本来行いたい256バイトのアクセスに対してオーバヘッドが発生することになり、データ転送帯域またはメモリ容量の使用効率低下が発生する。
また、マスター毎に256バイト単位でアクセスする32ビットデータバス幅のSDRAMを切り替えることで、SDRAM単位でtRCの隠蔽は可能となるが、複数あるSDRAMの中でマスター毎に選択したSDRAMしか動作させることができないため、システムとしてのデータ転送帯域の使用効率は著しく悪くなる。また、複数個の32ビットデータバス幅のSDRAMが必要となるため、コストアップとなる。
本発明は上記に鑑み、複数のバンクを有し、一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスDRAMに対する制御回路において、複数のSDRAMと、複数のSDRAMの個別のSDRAMに対してアクセス行う複数のマスターと、複数のマスターから出力されるSDRAMへのアクセス要求に従ってSDRAMのデータ入出力制御とSDRAMのアクセスコマンドを生成する複数のコマンド発生回路と、複数のコマンド発生回路から出力される複数のSDRAMへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、複数のコマンド発生回路により複数のマスターと複数のSDRAM間のデータ制御を行う複数のデータ制御回路と、コマンドアドレス多重回路からチップセレクト信号のみ個別でコマンドとアドレスを共通で複数のSDRAMへ出力することにより、各マスターが並列にSDRAMのデータ転送帯域を効率的に使用可能な手段を提供する。
上記課題を解決するために、本発明は次の構成を採用した。すなわち、第1の発明は、複数のバンクを有し一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスDRAMに対する制御回路において、複数のSDRAMと、複数のSDRAMの個別のSDRAMに対してアクセス行う複数のマスターと、複数のマスターから出力されるSDRAMへのアクセス要求に従ってSDRAMのデータ入出力制御とSDRAMのアクセスコマンドを生成する複数のコマンド発生回路と、複数のコマンド発生回路から出力される複数のSDRAMへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、複数のコマンド発生回路により複数のマスターと複数のSDRAM間のデータ制御を行う複数のデータ制御回路と、コマンドアドレス多重回路からチップセレクト信号のみ個別でコマンドとアドレスを共通で複数のSDRAMへ出力することを特徴とするメモリ制御回路を備える。
第2の発明は、第1の発明に加え、複数のマスターから出力されるSDRAMへのアクセス要求は、書き込みまたは読み出しの要求とSDRAMの論理アドレスである。
第3の発明は、第2の発明に加え、複数のコマンド発生回路は、メモリ制御回路から入力される書き込みまたは読み出しの要求とSDRAMの論理アドレスから、書き込みまたは読み出しコマンドとSDRAMの物理アドレス(SDRAMのアドレスとバンク)を発生する。
第4の発明は、第3の発明に加え、複数のコマンド発生回路は、SDRAMへの書き込みまたは読み出しコマンドに同期して、SDRAMから読み出し時にはSDRAMからの読み出しデータを複数のマスターに入力し、SDRAMへの書き込み時にはマスターからの出力されたデータをSDRAMへ入力するようにデータ制御回路を制御する。
第5の発明は、第4の発明に加え、複数のメモリに対して独立に書き込みまたは読み出しを連続して行うことが可能である。
第6の発明は、第5の発明に加え、SDRAMはDDR3−SDRAMで構成するものである。
第7の発明は、第6の発明に加え、SDRAMはデータバス幅が16ビットであり、バースト長が8で動作し、個々のSDRAMに書き込みまたは読み出しを行う単位は256バイトである。
第8の発明は、第7の発明に加え、SDRAMへの256バイトの書き込みまたは読み出しをSDRAMの4バンクのインターリーブで実現する。
以上述べたように、本発明のメモリ制御回路においては、DDR3−SDRAMに代表される高速動作の複数のSDRAMに対して、複数のマスターが独立に個々のSDRAMに対して256バイト単位のデータの書き込みまたは読み出しを連続して行うことができる。また、チップセレクト信号のみSDRAMに対して個別に制御することにより、複数のSDRAMに対するコマンド及びアドレスを共用することができ、メモリ制御回路とSDRAMとの信号接続を簡略化することが可能となり、メモリ制御回路をLSI化した場合にも、LSIの出力信号数を低減できLSIのコスト削減が可能となる。また、メモリ制御回路の出力信号数を減らすことにより、メモリ制御回路の消費電力削減を行うことができる。
本実施形態におけるメモリ制御回路の図 SDRAMの基本アクセスパターンのタイミングチャート SDRAMに対して256バイトのデータ読み出しシーケンスのタイミングチャート 従来の技術におけるメモリ制御回路の図 従来の技術におけるメモリ制御回路の動作説明用のタイミングチャート 論理アドレスと物理アドレスの対応の説明図 DDR3−SDRAMのリード基本動作説明図 DDR3−SDRAMのライト基本動作説明図 DDR3−SDRAMの256バイト単位のデータ書き込みのタイミングチャート DDR3−SDRAMの256バイト単位のデータ読み出しのタイミングチャート コマンドの多重動作を説明するタイミングチャート データバス制御のタイミングチャート
(実施例1)
以下、本発明に関わるメモリ制御回路の一実施形態について説明する。図1は、本実施形態におけるメモリ制御回路を示すブロック図である。メモリ制御回路は、マスター101a、マスター101b、コマンド発生回路102a、コマンド発生回路102b、データ制御回路103a、データ制御回路103b、コマンドアドレス多重回路104を備えている。
マスター101a及びマスター101bは、それぞれSDRAM105aとSDRAM105bを対象にデータの書き込みまたは読み出し要求を発生する。マスター101a及びマスター101bからSDRAMへの書き込みまたは読み出しの要求は、論理アドレスとリクエストをコマンド発生回路102aとコマンド発生回路102bへ入力することにより行う。マスター101aから出力された論理アドレスとリクエストはコマンド発生回路102aへ入力される。マスター101bから出力された論理アドレスとリクエストはコマンド発生回路102bへ入力される。論理アドレスの詳細な説明は後ほど行う。
コマンド発生回路102a及びコマンド発生回路102bは、それぞれマスター101a及びマスター101bから入力される論理アドレスとリクエストをSDRAMへ入力可能な物理アドレスとコマンドに変換した後にコマンドアドレス多重回路104へ出力する。なお、物理アドレスは、列アドレスと行アドレスとバンクアドレスで構成される。
次に、コマンドアドレス多重回路104は、コマンド発生回路102aとコマンド発生回路102bから入力される物理アドレスとコマンドを時間軸多重し、SDRAM105a及びSDRAM105bへ出力する。この際、SDRAM105a及びSDRAM105bへ入力する物理アドレスとコマンドは、チップセレクト信号以外は共有しており、チップセレクトの制御により、SDRAM105aと105bには別々の物理アドレスとコマンドが入力可能となり、マスター101aはSDRAM105aに対して、マスター101bはSDRAM105bに対して並列に書き込みと読み出し制御を行うことになる。物理アドレスとコマンドの多重動作とSDRAMの並列処理に関しては後ほど説明を行う。
データ制御回路103aは、コマンド発生回路102aが発生するコマンドに従って、マスター101aとSDRAM105aの間のデータバスの制御を行う。すなわち、コマンド発生回路102aがSDRAM105aに対して書き込みコマンドを発生した場合には、所望のレーテンシー後にマスター101aからSDRAM105aにデータが入力されるようにデータバスを制御する。また、コマンド発生回路102aがSDRAM105aに対して読み出しコマンドを発生した場合には、所望のレーテンシー後にSDRAM105aからマスター101aにデータが入力されるようにデータバスを制御する。データ制御回路103bもデータ制御回路103aと同様に、コマンド発生回路102bが発生するコマンドに従って、マスター101bとSDRAM105bの間のデータバスの制御を行う。
以下、コマンド発生回路102a及びコマンド発生回路103aにおけるSDRAMへのコマンド発生に関して詳細に説明する。マスターがSDRAMに対して例えば映像処理を行うためのデータの読み書きを行う場合、ある大きさ以下でバースト的にアクセスすることにより、SDRAMに対して効率的にアクセスできる。
例えば、MPEG2ではマクロブロックが縦8画素、横8画素で1画素あたり8ビットとなるため、各マクロブロックの総データ量は256バイト(2048ビット)となり、256バイトの大きさでSDRAMにアクセスすることにより効率的にアクセスすることができる。一例として、データバス幅が16ビットで容量が1GビットのDDR3−SDRAMの一般的な構成は、行(ロウ)が13ビット、列(コラム)が10ビット、バンク3ビットで構成されており、図6に示すような論理アドレスを用いる場合、列の下位5ビットとバンクの下位2ビットの合計7ビットの物理アドレスは論理アドレスからは隠蔽される。SDRAMへの一度のアクセスにより、物理アドレスにより隠蔽されている7ビット分のアドレス(128データ)に対してアクセスが行われ、合計256バイトのデータのアクセスが行われる。
本実施形態では、列の下位アドレス5ビットとバンクの下位アドレス2ビットで構成される論理アドレスから隠蔽された7ビット以外のアドレスに関しては、バンク、列、行の順番に下位のビットから並べているが、これは一例であって任意の順番に並べても問題はない。
次に、図3にSDRAMからの読み出しを行うコマンドシーケンスの一例を示す。SDRAMのバースト長を8として、4つのバンクに対して連続して読み出しのアクセスを行うためには、各バンクに対して3回のリードコマンドと一回のオートプリチャージ付きのリードコマンドつまりリードコマンドを4バースト連続発行する。バースト長が8であることから、4バンクで16回のリードコマンドを発行することになり、SDRAMから合計128個のデータ(256バイト)が読み出される。
なお、各バンクに対する最後のリードコマンドは、オートプリチャージ付きのリードコマンドを使用したが、リードコマンドとプリチャージコマンドを別々に発行してもよい。また、4つのバンクに対して連続して書き込みのアクセスを行う場合にも、リードコマンドをライトコマンドに置き換えることで同様なアクセスを実現できる。
次に、図7、図8に、1333Mbps(クロック周期tCKは1.5ns)で動作するDDR3−SDRAMに対する一つのバンクに対するアクティベートからプリチャージ終了までのまでのタイミングの一例を示す。16ビット幅で1333Mbpsで動作する以下に示す、DDR3−SDRAMのコマンド発行に関係するタイミングのパラメータの典型的な値は、一般的に市販されているDDR3−SDRAMのタイミングパラメータを使用して説明する。
tRC:同一バンクに対してアクティベートから次のアクティベート発行までの最小時間 49.5ns(33tCK) CL:リードコマンドに対してSDRAMからデータが出力されるまでの時間 9tCK CWL:ライトコマンドに対してSDRAMにデータを入力できるまでの時間 8tCK tRP:プリチャージコマンドからプリチャージが終了するまでの時間 13.5ns(9tCK) tRCD:アクティベートからライトまたはリードコマンドの発行までの最小時間 13.5ns(9tCK) tRAS: アクティベートからプリチャージコマンドを発行までの最小時間 36ns(24tCK) tWR:SDRAMに最後ノデータを書きこんだ後から、プリチャージコマンド発行までの最小時間 15ns(10tCK)とする。
図7に、クロックは1333Mbpsの半分の667MHz(1.5ns周期)であり、バースト長は8で、上に示した一般的に市販されているDDR3−SDRAMのタイミングパラメータに従って、一つのバンクに対して4回のリードコマンドを発行する場合の一例のタイミングチャートを示す。
t0のタイミングでバンクBに対して発行されるアクティベートコマンドに対して、tRCD(9tCK)後のt1のタイミングでバンクBに対してリードコマンドを発行する。リードコマンドからCL(9tCK)後のt2のタイミングでSDRAMから最初のリードデータが出力される。t1のリードコマンドからバースト長に相当する4ck後のt3のタイミングでバンクBに対して2回目のリードコマンドを発行する。
さらに、t3から4ck後のt4のタイミングでバンクBに対して3回目のリードコマンドを発行する。t4のタイミングから4ck後のt5のタイミングでバンクBに対する4回目のリードコマンドに相当するオートプリチャージ付きのリードコマンドを発行する。t5のタイミングから(CL/2+2)tCK後のt6のタイミングで、t5のタイミングで発行したオートプリチャージ付きのリードコマンドに対応するバンクBに対するプリチャージ動作がSDRAM内部で開始される。
次に、t6のタイミングからtRP(9tCK)後のt7のタイミングでプリチャージ動作が完了し、再びバンクBに対してアクティベートが可能な状態になる。上記のシーケンスでt0からt7の間隔は36tCKとなり、tRAS(24tCK)及びtRC(33tCK)は隠蔽可能となる。以降、このt0からt7の間隔(36tCK)をリード時同一バンクアクセス最小間隔と呼ぶ。なお、本実施形態では、バンクを閉じる際にオートプリチャージ付きリードコマンドを発行したしたが、リードコマンドとプリチャージコマンドを別々に発行してもよい。
次に、図8において、一つのバンクに対して4回のライトコマンドを発行する場合の一例のタイミングチャートを説明する。SDRAMへのコマンド発行のタイミングに関するパラメータはライト時のみ有効となるパラメータ以外はリード時と同様である。t0のタイミングでバンクBに対して発行されるアクティベートコマンドに対して、tRCD(9tCK)後のt1のタイミングでバンクBに対してライトコマンドを発行する。ライトコマンドからCWL(8tCK)後のt2のタイミングでSDRAMに最初のライトデータが入力される。t1のライトコマンドからバースト長に相当する4ck後のt3のタイミングでバンクBに対して2回目のライトコマンドを発行する。
さらに、t3から4ck後のt4(t2と同タイミング)のタイミングでバンクBに対して3回目のライトコマンドを発行する。t4のタイミングから4ck後のt5のタイミングでバンクBに対する4回目のライトコマンドに相当するオートプリチャージ付きのライトコマンドを発行する。t5のタイミングで発行されたオートプリチャージ付きのライトコマンドに対応するSDRAMへのデータ書き込みがt6のタイミングで終了する。
次に、t6のタイミングからtWR(10tCK)後のt7のタイミングで、t5のタイミングで発行したオートプリチャージ付きのライトコマンドに対応するバンクBに対するプリチャージ動作がSDRAM内部で開始される。t7のタイミングからtRP(9tCK)後のt8のタイミングでプリチャージ動作が完了し、再びバンクBに対してアクティベートが可能な状態になる。上記のシーケンスでt0からt8の間隔は52tCKとなり、tRAS(24tCK)及びtRC(33tCK)は隠蔽可能となる。以降、このt0からt8の間隔(52tCK)をライト時同一バンクアクセス最小間隔と呼ぶ。なお、本実施形態ではバンクを閉じる際にオートプリチャージ付きライトコマンドを発行したしたが、ライトコマンドとプリチャージコマンドを別々に発行してもよい。
このように、一つのバンクに対してバースト長が8で4回のリードまたはライトコマンドを発行することにより、16ビットデータバス幅のSDRAMに対して、1つのバンクのアクセスで、512ビット(64バイト)のデータの読み出しまたは書き込みを行うことができる。このシーケンスを基本として、4つのバンクに対して上記シーケンスをインターリーブすることにより、図9及び図10に示すような2040ビット(256バイト)の読み出しまたは書き込みを連続して行うことが可能となる。この場合、同一バンクをアクティベートする間隔は64tCKとなり、リード時同一バンクアクセス最小間隔(36tCK)とライト時同一バンクアクセス最小間隔(52tCK)より長い時間となり、同一バンクアクセス時のtRCに代表されるタイミング制約を隠蔽している。
次に、図9、図10に示すタイミングチャートは、SDRAMに対するライト時のバンクインターリーブ時のタイミングの一例を示す。なお、リード時もコマンド発行のタイミングは同様になる。また、SDRAMのコマンド発行のタイミングの制約に関しては、上に示した一般的に市販されているDDR3−SDRAMのタイミングパラメータに従う。なお、図9と図10において同じ記号は同じものを示す。
バンク0に対してt0のタイミングでアクティベートコマンドを発行し、tRCD(9tCK)後のt1のタイミングでバンク0に対するライトコマンドを発行し、4tCKの間隔で4回連続してバンク0に対してライトコマンドを発行後にバンク0に対してプリチャージを行う。
バンク0の書き込みに連続してバンク1の書き込みを行うために、t3のタイミングでバンク1に対するライトコマンドを発行し、4tCKの間隔で4回連続してバンク1に対してライトコマンドを発行後にバンク1に対してプリチャージを行う。t3のタイミングでバンク1に対してライトコマンドを発行するために、t3からtRCD(9tCK)早いタイミングのt2のタイミングでバンク1に対してアクティベートコマンドを発行する。
同様に、t5のタイミングでバンク2に対するライトコマンドを発行し、4tCKの間隔で4回連続してバンク2に対してライトコマンドを発行後にバンク2に対してプリチャージを行う。t5のタイミングでバンク2に対してライトコマンドを発行するために、t5からtRCD(9tCK)早いタイミングのt4のタイミングでバンク2に対してアクティベートコマンドを発行する。
バンク3に対しても同様にコマンド発行を行い、t1から64tCK後t8のタイミングで再びバンク0に対してライトコマンドを発行する。またt8からtRCD(9tCK)早いタイミングのt7でバンク0に対するアクティベートコマンドを発行する。
なお、t2、t4、t7の各バンクに対するアクティベートのタイミングに関しては、SDRAMへのライト動作を連続して行うために4tCK毎にライトコマンドの発行が必須であり、ライトコマンドが発行されていないタイミングでかつ、tRCに代表されるSDRAMへのコマンド発生のタイミングの制約を違反しない限り、t2とt3、t4とt5、t7とt8の間隔を広げてアクティベートコマンドを発行してもよい。
なお、コマンド発生回路102aとコマンド発生回路102bでは、マスター101aとマスター101bからの要求に従って独立にSDRAMに対するコマンド発行を行うことができる。
次に、コマンドアドレス多重回路104に関して説明を行う。図11にコマンド発生回路102aとコマンド発生回路102bから入力されたSDRAMへのコマンドを多重する際のタイミングチャートの一例を示す。なお本実施形態では、ライトコマンドを発行した場合のタイミングチャートになっているが、リードコマンドの場合も全く同じタイミングになる。図9及び図10を用いて説明したコマンドのシーケンスでコマンド発生回路102a及びコマンド発生回路102bから出力されるSDRAMへのコマンドCa及びコマンドCbが同一タイミングで出力された場合、コマンド発生回路102bから出力されたコマンドCbを遅延回路106にて2tCK遅延させたCbdを発生する。
SDRAMへのコマンドは、アクティベート、ライトまたはリードコマンド等の有効なコマンドとNOP(無効コマンド)に分類される。コマンドCaとコマンドCbdは、無効コマンドを除いた有効なコマンドの発行タイミングで時間的に重なるコマンドはなく、例えば、コマンドCaの無効コマンドの部分にCbdの有効なコマンドを、タイミングを変更せず挿入することができる。
このようにして多重回路107においてコマンドCaとコマンドCbdを多重化した結果、コマンドCoが得られる。コマンドCoは、そのままSDRAM105a及び105bに入力されるため、チップセレクト信号にて、それぞれのSDRAMに有効なコマンドを選択する必要がある。
SDRAM105aに入力するチップセレクト信号CS0は、コマンドCaの有効なコマンドが存在するタイミングで0、無効なコマンドのタイミングで1になるように生成する。SDRAM105bに入力するチップセレクト信号CS1は、コマンドCbdの有効なコマンドが存在するタイミングで0、無効なコマンドのタイミングで1になるように生成する。
なお、本実施形態では、コマンドCbを遅延させているが、変わりにコマンドCaを遅延させてもよい。また、コマンドの遅延量2tCKに関しても、アクティベートの発生タイミングを変更することにより、他の遅延量で動作させてもよい。
また、本実施形態では、コマンドCaとコマンドCbが同一タイミングで入力される場合の多重化処理の説明を行ったが、コマンド発行タイミングが異なっていても、遅延回路106の遅延量を調整することにより対応可能である。なお、SDRAMへのチップセレクト信号が0で有効になる場合の例を説明したが、1で有効になる場合もまったく同様に対応することができる。
次に、図12に、データ制御回路103aとデータ制御回路103bにおけるデータバスの制御の一例のタイミングチャートを示す。図12のタイミングチャートでは、SDRAMへの書き込み動作から読み出し動作になり、再び書き込み動作になる際のデータバスの制御タイミングの例を示している。コマンド発生回路102aおよびコマンド発生回路102bから出力されるライトコマンドまたリードコマンドは一定の遅延後にSDRAMに入力される。
同様に、マスター101aおよびマスター102bからデータ制御回路103a及びデータ制御回路103bに入力される書き込みデータも一定の遅延の後にSDRAMに入力される。一方、SDRAMに入力されるライトコマンドに対して、CWS(CAS WRITE LATENCY)で定義されるレンテンシー後に書き込みデータをSDRAMに入力する必要がある。SDRAMに対して読み出しを行う場合には、コマンド発生回路102aおよびコマンド発生回路102bから出力されるリードコマンドが一定の遅延後にSDRAMに入力される。SDRAMから入力されたリードコマンドからCL(CAS LATENCY)後にリードデータが出力され、一定の遅延後に、データ制御回路103aとデータ制御回路103bに入力される。
データ制御回路103aとデータ制御回路103bでは、コマンド発生回路102aおよびコマンド発生回路102bから出力されるデータバス制御信号Sa及びデータバス制御信号Sbにより、データバスの制御を行う。データバス制御信号Saは、マスター101aからSDRAMへの書き込みの要求が発生した場合に、マスター101aから書き込みデータが出力されるタイミングで0となるように制御され、マスター101aからSDRAMへの読み出しの要求が発生した場合には、マスター101aにSDRAM105aからの読み出しデータが入力されるタイミングで1となるように制御される。
データ制御回路103aは、データバス制御信号Saが0の場合には、マスター101aから出力される書き込みデータをSDRAM105aへ入力し、データバス制御信号Saが1の場合には、SDRAM105aから出力される読み出しデータをマスター101aに入力する。データバス制御回路Sbも、マスター101bとデータ制御回路103bとSDRAM105bに対して同様な制御を行う。なお、本実施形態では、データバス制御信号Sa及びSbに対して、SDRAMへの書き込み時に0、読み出し時に1となるように制御を行ったが、SDRAMへの書き込み時に1、読み出し時に0となるように制御してもよい。
なお、本実施の形態では、2つの独立したSDRAMへのコマンドを多重する例を説明したが、3つの独立したSDRAMへのコマンドを多重することも同様な構成で可能である。
なお、本実施の形態では、SDRAMのバースト長を8の場合の例を説明したが、バースト長を16にすることができれば、4つ以上の独立したSDRAMのコマンドを多重することも同様な構成で可能である。
なお、本実施の形態では、2つの独立したSDRAMへのコマンドを多重する例を説明したが、データ転送帯域に問題が無い場合には、コマンドを多重せずに単体のSDRAMへコマンドを供給することも可能である。
本発明は、SDRAMに対する画像データ等の書き込み及び読み出しを行う方法において有用なものである。
101a マスター
101b マスター
102a コマンド発生回路
102b コマンド発生回路
103a データ制御回路
103b データ制御回路
104 コマンドアドレス多重回路
105a SDRAM
105b SDRAM
106 遅延回路
107 多重回路

Claims (8)

  1. 複数のバンクを有し一回の書き込みまたは読み出しのコマンドで複数回のデータの書き込みまたは読み出しを行うシンクロナスDRAMに対する制御回路において、
    複数のSDRAMと、
    前記複数のSDRAMの個別のSDRAMに対してアクセス行う複数のマスターと、
    前記複数のマスターから出力されるSDRAMへのアクセス要求に従ってSDRAMのデータ入出力制御とSDRAMのアクセスコマンドを生成する複数のコマンド発生回路と、
    前記複数のコマンド発生回路から出力される前記複数のSDRAMへのアクセスコマンドの時間軸多重を行うコマンドアドレス多重回路と、
    前記複数のコマンド発生回路に応じて、前記複数のマスターと前記複数のSDRAM間のデータ制御を行う複数のデータ制御回路と、
    前記コマンドアドレス多重回路から前記複数のSDRAMに対して、チップセレクト信号のみ個別に出力し、コマンドとアドレスを共通で出力することを特徴とするメモリ制御回路。
  2. 前記メモリ制御回路は、前記複数のマスターから出力されるSDRAMへのアクセス要求は、書き込みまたは読み出しの要求とSDRAMの論理アドレスであることを特徴とする請求項1記載のメモリ制御回路。
  3. 前記複数のコマンド発生回路は、前記メモリ制御回路から入力される書き込みまたは読み出しの要求とSDRAMの論理アドレスから、書き込みまたは読み出しコマンドとSDRAMの物理アドレスを発生することを特徴とする請求項2記載のメモリ制御回路。
  4. 前記複数のコマンド発生回路は、SDRAMへの書き込みまたは読み出しコマンドに同期して、SDRAMから読み出し時にはSDRAMからの読み出しデータを前記複数のマスターに入力し、SDRAMへの書き込み時にはマスターからの出力されたデータをSDRAMへ入力するように前記データ制御回路を制御することを特徴する請求項3記載のメモリ制御回路。
  5. 前記メモリ制御回路は、複数のメモリに対して独立に書き込みまたは読み出しを連続して行うことが可能なことを特徴とする請求項4記載のメモリ制御回路。
  6. 前記メモリ制御回路のSDRAMはDDR3−SDRAMであることを特徴とする請求項5記載のメモリ制御回路。
  7. 前記メモリ制御回路のSDRAMはデータバス幅が16ビットであり、バースト長が8で動作し、個々のSDRAMに書き込みまたは読み出しを行う単位は256バイトであること特徴とする請求項6記載のメモリ制御回路。
  8. 前記メモリ制御回路は、SDRAMへの256バイトの書き込みまたは読み出しをSDRAMの4バンクのインターリーブで実現することを特徴とする請求項7記載のメモリ制御回路。
JP2009101820A 2009-04-20 2009-04-20 メモリ制御回路 Pending JP2010250727A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009101820A JP2010250727A (ja) 2009-04-20 2009-04-20 メモリ制御回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009101820A JP2010250727A (ja) 2009-04-20 2009-04-20 メモリ制御回路

Publications (1)

Publication Number Publication Date
JP2010250727A true JP2010250727A (ja) 2010-11-04

Family

ID=43312954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009101820A Pending JP2010250727A (ja) 2009-04-20 2009-04-20 メモリ制御回路

Country Status (1)

Country Link
JP (1) JP2010250727A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013503397A (ja) * 2009-08-26 2013-01-31 クアルコム,インコーポレイテッド デュアルチャネル動作中にアドレス/コントロール信号をインターリーブすることによるシングルチャネルとデュアルチャネルのハイブリッドddrインターフェース方式
JP2018517205A (ja) * 2015-04-23 2018-06-28 華為技術有限公司Huawei Technologies Co.,Ltd. 拡張メモリにアクセスするための方法、デバイス及びシステム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013503397A (ja) * 2009-08-26 2013-01-31 クアルコム,インコーポレイテッド デュアルチャネル動作中にアドレス/コントロール信号をインターリーブすることによるシングルチャネルとデュアルチャネルのハイブリッドddrインターフェース方式
JP2018517205A (ja) * 2015-04-23 2018-06-28 華為技術有限公司Huawei Technologies Co.,Ltd. 拡張メモリにアクセスするための方法、デバイス及びシステム
US10545672B2 (en) 2015-04-23 2020-01-28 Huawei Technologies Co., Ltd. Method for accessing extended memory, device, and system
US11237728B2 (en) 2015-04-23 2022-02-01 Huawei Technologies Co., Ltd. Method for accessing extended memory, device, and system

Similar Documents

Publication Publication Date Title
JP4070051B2 (ja) 半導体メモリ装置のデータマスキング方法とその回路、及び該回路を有する半導体メモリ装置
KR101145784B1 (ko) 반도체 메모리 장치 및 그를 포함하는 메모리 시스템
JP4787988B2 (ja) ダブルデータレートダイナミックランダムアクセスメモリ用出力回路、及びダブルデータレートダイナミックランダムアクセスメモリ
KR100908760B1 (ko) 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치
US5901304A (en) Emulating quasi-synchronous DRAM with asynchronous DRAM
KR100246868B1 (ko) 디램 시스템, 디램 시스템의 동작 방법
JP4470183B2 (ja) 半導体記憶装置
JP2002063069A (ja) メモリ制御装置、データ処理システム及び半導体装置
WO2016185879A1 (ja) メモリ制御回路およびメモリ制御方法
US6081479A (en) Hierarchical prefetch for semiconductor memories
JP5420827B2 (ja) アドレスカウンタ及びこれを有する半導体記憶装置、並びに、データ処理システム
WO1999019876A1 (en) Apparatus and method for device timing compensation
CN102117244B (zh) Soc中支持多个音视频ip核寻址的ddr2的控制方法
JP5666077B2 (ja) アドレスカウンタ及びこれを有する半導体記憶装置、並びに、データ処理システム
JP2817685B2 (ja) 半導体メモリ
WO2009125572A1 (ja) メモリ制御回路及びメモリ制御方法
JP2010250727A (ja) メモリ制御回路
JP5204777B2 (ja) メモリ装置及びその制御方法
EP1028427B1 (en) Hierarchical prefetch for semiconductor memories
JP2009032055A (ja) データ記憶装置
JP2002149487A (ja) メモリアクセス装置および遅延データ発生装置
JPH07230410A (ja) メモリアクセス制御方式