JP4936506B2 - メモリ制御回路及びメモリ制御方法 - Google Patents

メモリ制御回路及びメモリ制御方法 Download PDF

Info

Publication number
JP4936506B2
JP4936506B2 JP2005354512A JP2005354512A JP4936506B2 JP 4936506 B2 JP4936506 B2 JP 4936506B2 JP 2005354512 A JP2005354512 A JP 2005354512A JP 2005354512 A JP2005354512 A JP 2005354512A JP 4936506 B2 JP4936506 B2 JP 4936506B2
Authority
JP
Japan
Prior art keywords
data
burst
transfer
burst length
control circuit
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.)
Active
Application number
JP2005354512A
Other languages
English (en)
Other versions
JP2007157029A (ja
Inventor
英之 三輪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2005354512A priority Critical patent/JP4936506B2/ja
Priority to US11/634,120 priority patent/US20070162654A1/en
Publication of JP2007157029A publication Critical patent/JP2007157029A/ja
Priority to US12/614,845 priority patent/US7962669B2/en
Application granted granted Critical
Publication of JP4936506B2 publication Critical patent/JP4936506B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

本発明は、メモリ制御回路及びメモリ制御方法に関し、特に、バーストアクセスを制御する制御部を備えたメモリ制御回路及びそのメモリ制御方法に関する。
近年、クロック信号に同期してデータを入出力するDRAM(Dynamic Random Access Memory)、所謂SDRAM(Synchronous DRAM)は、高速大容量メモリをシステムに組み込む事ができるため、RAMの主流になっている。SDRAMは、データを連続的に入出力するバーストモードを備え、データの入出力を高速に行えるように構成されている。このようなSDRAMの高速アクセス性能を充分に利用するためには、SDRAMとの接続にインターフェース回路が必要になる。
バーストアクセスを行う高速メモリのアクセスを制御する高速メモリアクセス制御装置に関する技術は、例えば、特開2005−141682号公報に開示されている。この特許文献には、このバーストアクセスにより指定された数のワードが連続的に入出力され、その途中にメモリのページ境界がある場合の制御が示されている。
高速メモリアクセス制御装置は、例外アクセス情報決定手段とアドレス発生手段と切替制御手段とタイミング制御手段とを備えている。例外アクセス情報決定手段は、外部から供給されるバーストワード数およびアクセス開始アドレスに基づいてバーストアクセスが連続する2ページに亘る例外アクセスであることを判定する。それとともに、例外アクセス情報決定手段は、各ページにバーストアクセスするアクセスワード数を決定する。アドレス発生手段は、高速メモリにバーストアクセスを開始するための開始アドレスを発生する。それとともに、アドレス発生手段は、バーストアクセスを開始するページから次のページにアクセスするために開始アドレスを切り替える。切替制御手段は、バーストアクセスが連続する2ページにまたがると判定されたときに、決定されたバースト数に基づいてアドレス発生手段によるアドレスの切替タイミングを制御する。タイミング制御手段は、例外アクセス情報決定手段によって例外アクセスの判定およびバーストアクセスのワード数決定が行なわれた後に高速メモリへのアクセスを開始するようにアクセスのタイミングを制御する。
SDRAMは、例えば、図1に示されるように、マイクロプロセッサシステムのメインメモリとして使用される。このシステムにおいてバースト転送によるデータの書き込み動作を、図を参照して説明する。
マイクロプロセッサシステムは、中央演算処理装置(CPU:Central Processing Unit)11、DMAC(Direct Memory Access Controller)12、入出力部(I/O)18、SDRAM制御回路17、SDRAM20を具備する。CPU11、DMAC12、SDRAM制御回路17、入出力部18は、集積回路の集積度が向上して1チップに集積されることも多くなってきている。そのため、マイクロプロセッサシステムは、チップ10とSDRAM20との2チップで構成されることも多くなってきている。
CPU11、DMAC12、SDRAM制御回路17、入出力部18は、バス15を介して接続される。CPU11は、メインメモリであるSDRAM20をアクセスしてプログラムを実行し、入出力部18からデータを取り込み、入出力部18にデータを出力する。DMAC12は、CPU11を介さずにメモリ間、メモリ入出力部間のデータ転送を制御する。SDRAM制御回路17は、CPU11或いはDMAC12によるSDRAM20のアクセスを制御する。
SDRAM制御回路17は、図2に示されるように、コマンドバッファ91、データ書込カウンタ97、バースト長判定回路95、バーストタイミング制御回路96、データバッファ98、データ読出カウンタ99を備える。ここでは、SDRAM20に書き込む回路を主に説明する。
コマンドバッファ91は、CPU11またはDMA12からバス15を介してコマンドPCMDを受け取る。コマンドバッファ91は、コマンドPCMDとともに、転送するデータのバースト長PBLと、転送先のメモリのアドレスPADRとを受け取る。受け取ったコマンドPCMD、バースト長PBL、アドレスPADRは、バーストタイミング制御回路96に出力されるとともに、バースト長PBLはバースト長判定回路95にも出力される。
データ書込カウンタ97は、データバッファ98が受け取るライトデータの数をデータ有効信号DVALDに基づいてカウントする。カウント結果WCNTは、バースト長判定回路95に出力される。バースト長判定回路95は、データ書込カウンタ97の値とコマンドバッファ91のバースト長PBLとを比較し、一致したらバーストタイミング制御回路96に転送開始を指示する。
バーストタイミング制御回路96は、転送開始の指示を受けてSDRAM20へのデータ転送を制御する。バーストタイミング制御回路96は、データ転送のプロトコルに従ってSDRAM20にコマンドSCMDを発行し、転送先アドレスSADRを指定し、データバッファ98にデータ出力を指示する。このとき、データ読出カウンタ99のカウント値RCNTを参照して、転送の終了を検知する。SDRAM20は、一度にバースト転送できるデータ数を予めモードレジスタに設定されている。バースト転送を継続するときは、バーストタイミング制御回路96は、その設定されたバースト転送数毎にコマンドを発行する。
データバッファ98は、バス15を介して転送されるSDRAM20に書き込むべきデータPDATAをデータ有効信号DVALDに基づいて取り込む。取り込まれたデータは、一旦データバッファ98に蓄積され、バーストタイミング制御回路96の指示を受けてSDRAM20に出力される(DQ)。
データ読出カウンタ99は、データバッファ98が出力したデータの数をカウントし、カウント値RCNTをバーストタイミング制御回路96に出力する。また、データ読出カウンタ99は、読出アドレスをデータバッファ98に出力してもよい。
図3を参照して、SDRAM制御回路17の動作を説明する。ここでは、SDRAM制御回路17、バス15、SDRAM20は、クロックCLKに同期して動作し、バス15を介して転送されるデータのデータ幅とSDRAM20に格納されるデータのデータ幅とは等しいものとする。クロックの1周期毎に符号が付され、タイミングの説明に使われる(図3(a))。また、SDRAM20は、一度に受け取ることのできるバースト数に4が設定されているものとする。
SDRAM20にデータを書き込む指示であるコマンドPCMDが、バースト長PBLとアドレスPADRと共にバス15上に出力される。コマンドバッファ91は、期間t0の立ち上がりのタイミングでコマンドPCMD:WRと、バースト長PBL:8とアドレスとを取り込む(図3(b)(c))。
データ有効信号DVALDがバス15上のデータPDATAが有効であることを示している期間t1〜t8において、データバッファ98は、データPDATA:D0〜D7を取り込む(図3(d)(e))。データ書込カウンタ97は、このデータ有効信号DVALDがアクティブである期間のクロックCLKの立ち上がりを計数することによりデータ数を計数する(図3(f))。
指示されたバースト長は8であるから、データ書込カウンタ97のカウントWCNTが“8”になったとき、即ち、期間t8において、バースト長判定回路95は、バーストタイミング制御回路96に対してSDRAM20へのデータ転送開始を指示する。バーストタイミング制御回路96は、データ転送開始の指示に応答して、SDRAM20に動作開始を指示するコマンドSCMD:ACTをSDRAM20が期間t10において受け取れるように出力する(図3(f)(h))。
バーストタイミング制御回路96は、SDRAM20の動作準備が完了するまで待機し、期間t13にSDRAM20が受け取れるようにデータ書き込みを指示するコマンドSCMD:WRを出力する。データバッファ98は、バーストタイミング制御回路96の指示に応答して、蓄積しているデータの出力を期間t13から開始する。SDRAM20は、期間t13の立ち上がりでコマンドSCMDを受け取り、次のクロック(t14)の立ち上がりからクロックに同期して書き込みデータを取り込む。データ読出カウンタ99は、このデータバッファ98に対するデータ出力の指示に同期して、データバッファ98から出力されるデータ数を計数する(図3(g)(h)(i))。
バーストタイミング制御回路96は、SDRAM20のモードレジスタに設定されているバースト数に達する4ワード目のデータDQ:D3の出力と同時に、次の4ワードのデータの書き込みを指示するコマンドSCMD:WRをSDRAM20に対して出力する。このタイミングでコマンドSCMD:WRを出力することにより、SDRAM20は、アドレスの指定なく連続してデータを受け取ることができる。
また、この2回目のコマンドSCMD:WRの出力により、SDRAM制御回路17に対して指示されたバースト長8のデータ転送のコマンドが全て出力されたことになり、コマンドバッファ91は、次のコマンドPCMDを受け取ることができる。ここでは、そのタイミングは期間t18となる。
先のデータ転送は、データ読出カウンタ99が期間t21において、RCNT=8を示し、最後のデータDQ:D7が出力されたことをバーストタイミング制御回路96に通知する。ここで先のデータ転送が終了する。
特開2005−141682号公報
このように、CPU11或いはDMAC12から指示されるデータ転送は、SDRAM制御回路17がバースト長のデータを全て受け取ってからSDRAM20に対して書き込みを開始するため、タイムラグが大きくなってしまう。
また、転送データのバースト長がデータバッファ98のサイズより大きい場合、データバッファのサイズに合わせて複数回に分けて転送する必要があり、余分に時間が掛かってしまう。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の観点では、メモリ制御回路(17)は、データバッファ(38)と、コマンド分割回路(32)と、バースト長テーブル(33)と、バーストタイミング制御回路(36)とを具備する。データバッファ(38)は、第1バースト長の転送データを格納する。この第1バースト長は、バースト転送される毎に指定される。コマンド分割回路(32)は、第1バースト長を分割バースト長に分割する。予めメモリ(20)には1回のコマンド発行に応答してバースト転送可能な第2バースト長が設定されており、その第2バースト長で転送できるように分割バースト長が決められる。バースト長テーブル(33)は、分割バースト長を記憶する。バーストタイミング制御回路(36)は、データバッファ(38)に格納された転送データを、バースト長テーブル(33)に記憶される前記分割バースト長ずつメモリ(20)にバースト転送する。バーストタイミング制御回路(36)は、分割バースト長により示されるデータ数の転送データがデータバッファ(38)に格納されたとき、メモリ(20)に対するバースト転送を開始する。
本発明の他の観点では、メモリ制御方法は、データ蓄積ステップと、コマンド分割ステップと、バースト長格納ステップと、バーストタイミング制御ステップとを具備する。データ蓄積ステップは、バースト転送される毎に指定されるデータ数が第1バースト長で示される転送データをデータバッファ(38)に格納する。コマンド分割ステップは、第1バースト長を分割バースト長に分割する。予めメモリ(20)には第2バースト長が設定されており、その第2バースト長で転送できるように分割バースト長が決められる。バースト長格納ステップは、分割バースト長をバースト長テーブル(33)に格納する。バーストタイミング制御ステップは、データバッファ(38)に格納されたデータを、バースト長テーブル(33)に格納される分割バースト長ずつメモリ(20)にバースト転送する。バーストタイミング制御ステップは、データ蓄積ステップが、分割バースト長により示されるデータ数の転送データをデータバッファ(38)に格納したとき、メモリ(20)に対するバースト転送を開始する。
本発明によれば、タイムラグの少ないデータ転送ができるSDRAM制御回路を提供することができる。また、本発明によれば、転送時間を短縮するSDRAM制御回路を提供することができる。
図を参照して、本発明を実施するための最良の形態のSDRAM制御回路を説明する。図1は、メインメモリとしてSDRAM(Synchronous DRAM)を使用するマクロプロセッサシステムの構成の概略を示すブロック図である。マイクロプロセッサシステムは、中央演算処理装置(CPU:Central Processing Unit)11、DMAC(Direct Memory Access Controller)12、入出力部(I/O)18、SDRAM制御回路17、SDRAM20を具備する。
CPU11、DMAC12、SDRAM制御回路17、入出力部18は、集積回路の集積度が向上して1チップに集積されることも多く、マイクロプロセッサシステムは、チップ10とSDRAM20との2チップで構成される。CPU11、DMAC12、SDRAM制御回路17、入出力部18は、バス15を介して接続される。SDRAM20は、SDRAM制御回路17に接続される。
CPU11は、メインメモリであるSDRAM20をアクセスしてプログラムを実行し、入出力部18からデータを取り込み、入出力部18にデータを出力する。DMAC12は、CPU11を介さずにメモリ間、メモリ入出力部間のデータ転送を制御する。SDRAM制御回路17は、CPU11或いはDMAC12によるSDRAM20のアクセスを制御する。
SDRAM制御回路17は、図4に示されるように、コマンドバッファ31、先行コマンド分割回路32、バースト長テーブル33、バースト長判定回路35、バーストタイミング制御回路36、データ書込カウンタ37、データバッファ38、データ読出カウンタ39を備える。ここでは、説明を簡単にするために、SDRAM制御回路17は、バス15のデータ幅がSDRAM20のデータ幅に等しいものとして説明する。また、SDRAM制御回路17は、SDRAM20からデータを取り出す読み出し側回路も当然備えているが、ここでは説明は省略し、SDRAM20にデータを転送する書き込み側の回路を説明する。
コマンドバッファ31は、CPU11またはDMAC12からバス15を介してコマンドPCMDを受け取る。コマンドバッファ31は、コマンドPCMDとともに、転送するデータのバースト長PBLと、転送先のアドレスPADRとを受け取り、保持する。受け取ったコマンドPCMD、バースト長PBL、アドレスPADRは、バーストタイミング制御回路36に出力されるとともに、先行コマンド分割回路32にも出力される。
データバッファ38は、バス15を介してCPU11またはDMAC12から転送されるデータPDATAを格納する。また、データバッファ38は、バーストタイミング制御回路36の指示に応答して、格納されているデータDQ(データPDATA)をSDRAM20に転送する。データバッファ38から出力されたライトデータPDATAは、クロックに同期して、バス15にその有効性を示す信号DVALDとともにのせられる。従って、データ書込カウンタ37は、データバッファ38が受け取ったライトデータ数を計数するために、有効信号DVALDがアクティブになっている期間のクロックを計数する。カウント結果WCNTは、バースト長判定回路35に出力される。
先行コマンド分割回路32は、コマンドバッファ31から受け取ったアドレスPADRとバースト長PBLとに基づいて、SDRAM20がコマンド毎に受け取ることのできるSDRAMバースト長に合せてコマンド(バースト長)を分割する。転送元が1回のコマンドによりSDRAM20に転送するデータの数を示すバースト長PBLは、SDRAM20に対して発行される1回のコマンドによりSDRAM20に転送されるデータの数を示す分割バースト長に分割される。先行コマンド分割回路32は、その分割バースト長をバースト長テーブル33に格納する。SDRAMバースト長は、予めSDRAM20のモードレジスタに設定されている。また、SDRAM20は、例えば、0番地、8番地、16番地などのバースト境界からバースト転送が開始される。従って、先行コマンド分割回路32は、そのバースト境界までのデータを1バーストで転送するように第1分割バースト長を決定する。バースト境界以降のデータは、SDRAMバースト長に合せて分割される。即ち、分割バースト長は、単にSDRAMバースト長に合わせるだけでなく、アドレスPADRに基づいて決定されることになる。従って、分割バースト長は、等分であるとは限らない。
バースト長テーブル33は、先行コマンド分割回路32から分割バースト長を受け取って格納する。n個に分割された場合、図5に示されるように、分割バースト長群は、第1分割バースト長、第2分割バースト長、…、第n分割バースト長というように、使用される順に格納される。それぞれの分割バーストの転送が完了すると、分割バースト長は順次繰り上げられる。或いは、バースト長テーブル33は、使用されるべき分割バースト長を示すポインタを備え、そのポインタの示す位置が移動する。
バースト長判定回路35は、データ書込カウンタ37のカウント値WCNTと、バースト長テーブル33に格納される分割バースト長とを比較する。カウント値WCNTが分割バースト長に一致、或いは、超過すると、バースト長判定回路35は、バーストタイミング制御回路36に分割バースト転送の開始を指示する。即ち、バースト転送によりSDRAM20に書き込むことが可能な数のデータがデータバッファ38に書き込まれると、バースト転送が始まる。
バーストタイミング制御回路36は、転送開始の指示を受けてSDRAM20へのデータ転送を制御する。バーストタイミング制御回路36は、SDRAM20のデータ転送のプロトコルに従って、SDRAM20にコマンドSCMDを発行するとともに、転送先アドレスSADRを指定し、データバッファ38にデータ出力を指示する。このとき、バーストタイミング制御回路36は、データ読出カウンタ39のカウント値RCNTを参照して、転送の終了を検知する。このとき、SDRAM20に対する1つのコマンドによりバースト転送できるデータ数(SDRAMバースト長)が予めSDRAM20のモードレジスタに設定されており、バースト転送を継続するときは、バーストタイミング制御回路36は、その設定されたバースト転送数毎にコマンドを発行するものとする。
データバッファ38は、バス15を介して転送されるSDRAM20に書き込むべきデータPDATAをデータ有効信号DVALDに基づいて取り込む。取り込まれたデータは、一旦データバッファ38内に蓄積され、バーストタイミング制御回路36の指示に従ってSDRAM20に出力される(DQ)。データバッファ38は、種々の構成により実現可能であるが、ここではFIFO(First−In First−Out)により実現される。したがって、書き込まれた順に読み出されるものとする。
データ読出カウンタ39は、データバッファ38が出力するデータの数を計数し、カウント値RCNTをバーストタイミング制御回路36に出力する。また、データ読出カウンタ39は、読出アドレスをデータバッファ38に出力しても良い。
図6を参照して、SDRAM制御回路17の動作を説明する。ここでは、SDRAM制御回路17、バス15、SDRAM20は、クロックCLK(図6(a))に同期して動作し、バス15のデータ幅とSDRAM20のデータ幅は等しいものとする。また、SDRAM20のモードレジスタには、SDRAMバースト長、即ち、1回のコマンドにより受け取ることのできるバースト数として4が設定されているものとする。
まず、簡単にSDRAM20へのデータ書き込みプロトコルを説明する。SDRAM20へのアクセスを制御するSDRAM制御回路17は、RAS(ロウアドレスストローブ)信号、CAS(カラムアドレスストローブ)信号、CS(チップセレクト)信号、WES(ライトイネーブル)信号、アドレス信号等をSDRAM20に対して出力する。これらの信号の組み合せにより、SDRAM20に対するコマンドおよびそのパラメータが示される。これらの個々の信号は、図6には示されず、コマンドのタイミングのみ示されている。例えば、CS=“L”、RAS=“L”、CAS=“H”、WE=“H”により示されるコマンドは、コマンド:ACTであり、メモリ動作の開始が指示される。このとき、SDRAM制御回路17はロウアドレスを出力し、ロウアドレスの取り込みを指示する。また、CS=“L”、RAS=“H”、CAS=“L”、WE=“L”により示されるコマンドは、コマンド:WRであり、カラムアドレスの取り込みとデータ書き込み動作が指示される。このとき、SDRAM制御回路17は、カラムアドレスを出力している。
以下、SDRAM20に対してバースト転送によりデータを書き込む場合の手順について説明する。SDRAM制御回路17は、SDRAM20に対してアクセスの開始を示すコマンド:ACTを出力すると共に、ロウアドレス(アドレス信号の一部)を与える。次に、SDRAM20に対して書き込み動作の開始を示すコマンド:WRを出力すると共に、カラムアドレス(アドレス信号の一部)を与える。CASレイテンシにより設定される待ち時間の後、書き込みデータが転送される。書き込みデータは、各クロック毎に転送される。DDR型等においては、更に高速に転送するため、別にストローブ信号を有する場合もあるが、ここでは単純な形式による転送で動作を説明する。
書き込みデータが転送されている間、SDRAM制御回路17からSDRAM20に対するアドレスの指示は不要であり、転送速度の向上に役立つ。1度の書き込みコマンドSCMD:WRにより転送されるデータ数(SDRAMバースト長)は、SDRAM20に内蔵されるモードレジスタに予め設定されている。ここでは、モードレジスタへのデータ数の設定手順の説明を省略する。
次に、CPU11或いはDMAC12の指示によりSDRAM制御回路17が行うバースト転送によるSDRAM20への書き込み動作を、図6を参照して説明する。
SDRAM20にデータを書き込む指示であるコマンドPCMD:WRが、CPU11或いはDMAC12により、バースト長PBL:8と書き込み先アドレスPADRと共にバス15上に出力される。バス15上に出力されたコマンド、バースト長、アドレスは、期間t0の立ち上がりのタイミングでコマンドバッファ31に取り込まれる(図6(b)、(c))。
コマンドバッファ31に取り込まれたコマンド、バースト長、アドレスは、先行コマンド分割回路32に出力される。先行コマンド分割回路32は、入力されたコマンドをSDRAM20に転送する最適なバースト長に分割し、図5に示されるように、分割バースト長をバースト長テーブル33に格納する。SDRAM20の書き込みアドレスが、バースト境界から始まる場合、SDRAM20のバースト長が4であるから、バースト長8の書き込みコマンドは、2回に分けてSDRAM20に転送されることになる。即ち、バースト長テーブル33には、第1分割バースト長=4、第2分割バースト長=4が格納される。分割された最初のバースト長である第1分割バースト長=4が、バースト長判定回路35に出力される。
一方、データ有効信号DVALDがバス15上のデータPDATAが有効であることを示している期間t1〜t8において、データバッファ38は、データPDATA:D0〜D7を取り込む(図6(d)(e))。データ書き込みカウンタ37は、このデータ有効信号DVALDがアクティブである期間のクロックを計数することにより転送数を計数する(図6(f))。
バースト長判定回路35は、バースト長テーブル33から出力される分割バースト長と、データ書込カウンタ37から出力されるカウント値WCNTとを比較する。このとき、バースト長テーブルから得られる分割バースト長は“4”であるから、カウント値WCNTが“4”になった時、即ち、期間t4において、バースト長判定回路35は、バーストタイミング制御回路36に対してSDRAM20へのデータ転送開始を指示するとともに、データ書込カウンタ37に対してカウントリセットを指示し、バースト長テーブル33に対して次の分割バースト長の出力を指示する(図6(f))。
バーストタイミング制御回路36によりカウントリセットの指示をされたデータ書込カウンタ37は、カウント値WCNTをリセットし、データPDATA:D4から転送数を再計数する。
バーストタイミング制御回路36は、1回目のデータ転送開始の指示、即ち期間t4におけるバースト長判定回路35からの指示に応答して、動作開始を指示するコマンドSCMD:ACTを、期間t6に出力する(図6(f)(h))。
続いて、バーストタイミング制御回路36は、SDRAM20の動作準備が完了するまで待機し、動作準備が完了した期間t9にデータ書き込みを指示するコマンドSCMD:WRを出力する(図6(h))と共に、データバッファ38に蓄積されているデータの期間t9からの出力を指示する(図6(i))。SDRAM20は、期間t9の立ち上がりでコマンドSCMD:WRを受け取り、次のクロック(t10)の立ち上がりからクロックに同期してデータバッファ38から出力される書き込みデータを取り込む。データ読出カウンタ39は、このデータバッファ38に対するデータ出力の指示に同期して読み出しデータ数を計数する(図6(g))。
ここで、データ書込カウンタ37は、期間t8の立ち上がりでカウントが“4”となり、バースト長テーブル33が第2分割バースト長“4”を出力しているため、バースト長判定回路35は、期間t8にバーストタイミング制御回路36に対して2回目のデータ転送開始を指示するが、このとき、バーストタイミング制御回路36は、まだSDRAM20に対する1回目のバースト転送を指示しておらず、バースト長判定回路35からの2回目のデータ転送開始指示は保留状態とされる(図6(f)(h))。バーストタイミング制御回路36は、保留状態としていた2回目のデータ転送開始指示を、1回目のデータ転送終了直前即ち、データDQ:D3の出力と同時に次のバーストデータの書き込みを指示するコマンドSCMD:WRをSDRAM20に出力する。それとともに、データ読出カウンタ39はリセットされ、次のバースト転送のデータ読み出しに備える。これによりSDRAM20へのバースト転送は途切れなく継続される。従って、SDRAM20は連続してデータを受け取ることが可能となる。従って、期間t14〜t17において、データDQ:D4〜D7がデータバッファ38からSDRAM20に転送される。期間t17において、データ読出カウンタ39は2度目のカウント値RCNT“4”を示し、バースト長テーブル33の分割バースト長に対応するデータは全て転送されたことになり、バースト転送が終了する。バースト転送の終了は、従来の回路の場合、期間t21であったので、4クロック短縮されたことになる。
また、この2回目のコマンドSCMD:WRの出力により、SDRAM制御回路17に対して指示されたバースト長“8”のデータ転送の分割コマンドが全て出力されたことになり、コマンドバッファ31は、次のコマンドPCMDを受け取ることができる。ここでは、そのタイミングは期間t14となる。従来の回路では、次のコマンドPCMDを受け取ることのできるタイミングは、期間t18であったので、本発明の回路は4クロック短縮することができたことになる。
次に、書き込み開始アドレスがバースト境界ではない場合のSDRAM制御回路17の動作を、図7を参照して説明する。ここでは、書き込み開始アドレスがバースト境界から2ワードずれているものを例にして説明する。
SDRAM20にデータを書き込む指示であるコマンドPCMD:WRが、CPU11或いはDMAC12により、バースト長PBL:8と書き込み先アドレスPADRと共にバス15上に出力される。バス15上に出力されたコマンド、バースト長、アドレスは、期間t0の立ち上がりのタイミングでコマンドバッファ31に取り込まれる(図7(b)、(c))。
コマンドバッファ31に取り込まれたコマンド、バースト長、アドレスは、先行コマンド分割回路32に出力される。先行コマンド分割回路32は、入力されたコマンドをSDRAM20に転送する最適な分割バースト長に分割し、図5に示されるように、分割バースト長をバースト長テーブル33に格納する。書き込み開始アドレスが、バースト境界ではないため、バースト境界までの転送数が第1分割バースト長になる。ここでは、2ワードずれている。従って、第1分割バースト長は、2となる。
第1分割にてアドレスがバースト境界に一致するため、残りのバースト長は、SDRAM20のモードレジスタに設定されているSDRAMバースト長で分割される。SDRAMバースト長は4であるから第2分割バースト長は4であり、残り2ワードが第3分割バースト長になる。即ち、バースト長8の書き込みコマンドは、3回に分けてSDRAM20に転送される。バースト長テーブル33には、第1分割バースト長=2、第2分割バースト長=4、第3分割バースト長=2が格納される。コマンドの分割された最初のバースト長である第1分割バースト長=2が、バースト長判定回路35に出力される。
一方、データ有効信号DVALDがバス15上のデータPDATAが有効であることを示している期間t1〜t8において、データバッファ38は、データPDATA:D0〜D7を取り込む(図7(d)(e))。データ書き込みカウンタ37は、このデータ有効信号DVALDがアクティブである期間のクロックを計数することによりデータ数を計数する(図7(f))。
バースト長判定回路35は、バースト長テーブル33から出力される分割バースト長と、データ書込カウンタ37から出力されるカウント値WCNTとを比較する。このとき、バースト長テーブルから得られる分割バースト長は“2”であるから、カウント値WCNTが“2”になった時、即ち、期間t2において、バースト長判定回路35は、バーストタイミング制御回路36に対してSDRAM20へのデータ転送開始を指示するとともに、データ書込カウンタ37に対してカウントリセットを指示し、バースト長テーブル33に対して次の分割バースト長の出力を指示する(図7(f))。
バーストタイミング制御回路36によりカウントリセットの指示をされたデータ書込カウンタ37は、カウント値WCNTをリセットし、データPDATA:D2から転送数を再計数する。
バースト長判定回路35が2回目のデータ転送開始指示を出力すると、データ書込カウンタ37はリセットされ、バースト長テーブル33は次の第3分割バースト長“2”を出力する。データ書込カウンタ37がデータPDATA:D6、D7の2ワードの書き込みをカウントすると、第3分割バースト長に一致するため、バースト長判定回路35は、3回目のデータ転送開始を指示する。ここでデータバッファ38への書き込みは終了する(図7(f)(h))。
一方、バーストタイミング制御回路36は、1回目のデータ転送開始の指示に応答して、SDRAM20に動作開始を指示するコマンドSCMD:ACTを、期間t4においてSDRAM20が受け取ることができるように出力する(図7(f)(h))。
その後、バーストタイミング制御回路36は、SDRAM20の動作準備が完了するまで待機し、動作準備が完了した期間t7にデータ書き込みを指示するコマンドSCMD:WRを出力する(図7(h))と共に、バースト境界から書き込み先アドレスまでの2ワード分のダミーデータが出力された後、データバッファ38に蓄積されているデータの期間t9からの出力を指示する(図7(i))。SDRAM20は、期間t7の立ち上がりでコマンドSCMD:WRを受け取り、次のクロック(t8)からクロックの立ち上がりに同期してダミーデータdm及びデータバッファ38から出力される書き込みデータを取り込む。SDRAM20は、バースト境界からデータを取り込むように動作するが、バースト境界から転送先アドレスまでのダミーデータdmはメモリに書き込まれない。書き込まれるデータは、D0からとなる。データ読出カウンタ39は、このデータバッファ38に対するデータ出力の指示に同期して読み出しデータ数を計数する(図7(g))。例えば、データ読出カウンタ39は、SDRAM20に対するコマンドSCMD:WRが発行されるとリセットされ、データバッファ38にデータ出力が指示されると、カウント値RCNTを+1する。従って、データ読出カウンタ39は、データDQ:D0を出力するとカウント値RCNT“1”、データDQ:D1を出力するとカウント値RCNT“2”となる。
ここで、データ書込カウンタ37は、期間t6の立ち上がりでカウントが“4”となる。バースト長テーブル33が第2分割バースト長“4”を出力しているため、バースト長判定回路35は、期間t6にバーストタイミング制御回路36に対して2回目のデータ転送開始を指示するが、このとき、バーストタイミング制御回路36は、まだSDRAM20に対する1回目のバースト転送を開始しておらず、バースト長判定回路35からの2回目のデータ転送開始指示は保留状態とされる(図7(f)(h))。バーストタイミング制御回路36は、保留状態としていた2回目のデータ転送開始指示を、1回目のデータ転送終了直前即ち、データDQ:D1の出力と同時に次のバーストデータの書き込みを指示するコマンドSCMD:WRをSDRAM20に出力する。それとともに、データ読出カウンタ39はリセットされ、次のバースト転送のデータ読み出しに備える。これによりSDRAM20へのバースト転送は途切れなく継続される。従って、SDRAM20は連続してデータを受け取ることが可能となる。従って、期間t12から期間t15までデータDQ:D2〜D5がデータバッファ38からSDRAM20に転送される(図7(h)(i))。データ読出カウンタ39は、カウント値“4”まで計数する。
さらに、2回目のデータ転送の最後のデータDQ:D5を転送する前の期間t14までに3回目のデータ転送開始の指示があり、保留状態とされており、バーストタイミング制御回路36は、SDRAM20に対して、データDQ:D5の出力と同時に次のバーストデータの書き込みを指示するコマンドSCMD:WRを出力する。データ読出カウンタ39は、リセットされ、次のバースト転送のデータ読み出しに備える。従って、バースト転送は途切れなく継続される(図7(h)(i))。
3回目のバースト転送は、2ワードであるため、期間t16にデータDQ:D6、期間t17にデータDQ:D7が出力される。期間t17において、データ読出カウンタ39はカウント値RCNT“2”を示し、バースト長テーブル33の分割バースト長に対応するデータは全て転送されたことになる。その後、バースト転送は、バースト境界までダミーデータdmを転送して終了する。バースト転送は、バースト境界アドレスでバースト転送した従来の回路の場合の期間t21より2クロック短縮された期間t19に終了する。従来回路によるバースト境界ではない転送先アドレスに対するバースト転送の場合は、ダミーデータの転送時間が加わり、さらに時間を要する。従って、本発明の回路により大幅な時間短縮ができたことになる。
本実施の形態において、データ書込カウンタ37は、バースト長をカウントするとリセットすることにした。バースト長テーブル33に格納されるデータは、分割バースト長の代わりにバーストデータの分割位置としてもよく、データ書込カウンタ37は、リセットせずに連続してカウントすることになる。その場合、バースト長テーブル33に設定されるバースト長として、分割されたバーストデータの位置を示す数が設定されると、バースト長判定回路35は構成が簡単になる。ここでは、データ書込カウンタ37は、転送回数を計数することにしたが、データ転送量を計数してもよい。
また、本実施の形態において、バス15のデータ幅(データPDATAのデータ幅)は、SDRAM20のデータ幅(データDQのデータ幅)と等しいものとして説明されたが、データ幅は異なっていてもよい。それぞれの転送数に応じた換算を行って、コマンドを分割すればよく、同じように動作させることができる。例えば、CPU11側のデータ幅が64ビット(8=2バイト)、SDRAM20側のデータ幅が32ビット(4=2バイト)とし、SDRAM20側では、コマンドSCMD:WRを1回発行する毎に4ワード(32ビット/ワード)のバースト転送をするものとする。CPU11側のバースト長が8ワード(64ビット/ワード)であれば、転送バイト数は64バイトになる。SDRAM20は、1回のコマンドCMD:WRにおいて4ワード=16バイトのバースト転送を行う。従って、SDRAM20に対して4回のコマンドSCMD:WRが発行され、合計16ワード(32ビット/ワード)のバースト転送が行われる。
通常、データ幅は2バイト(i=0、1、…)で構成される。また、SDRAM20のバースト長も2、4等2回である。データバッファ38は、バス15のデータ転送速度が速いため、バス15のデータ幅に基づいて構成される。データ転送数をバイト単位で表現すると、バス15を介してデータ転送されるデータのデータ幅を2バイト、データ転送の回数をBとすると、データバッファ38には“B×2バイト”のデータが書き込まれる。一方、SDRAM20のデータ幅を2バイトとすると、データDQのデータ幅“2バイト”ずつ読み出される。SDRAMバースト長を2とすると、SDRAM20は、1度のバースト書き込みにより“2n+j”バイトのデータを受け取ることになる。従って、転送先の書き込みアドレスがバースト境界であれば、バースト長×2/2n+j回(バースト長×2m−n−j回)だけSDRAM20に書き込みコマンドSCMD:WRが発行され、バースト転送される。
これは、データバッファ38のデータ書込カウンタ37がバースト長を計数するカウンタとmビットカウンタとを備えることにより書き込みバイト数を計数できることを示している。また、データ読出カウンタ39がSDRAMバースト長を計数するjビットカウンタとnビットカウンタとを備えることにより読み出しバイト数を計数できることを示している。従って、バースト長テーブル33に2n+jを設定し、蓄積されたデータのバイト数2×Bを比較することにより、バースト長判定回路35は、SDRAM20へのデータ転送を開始できるか否かの判定ができる。即ち、データバッファ38に格納されたデータは、2×Bバイトであり、これが2n+jに達するか、または超えたとき、SDRAM20へのデータ転送が開始される。そのときの転送数Bは、B≧2n+j/2=2n+j−mで求められるため、次のように場合分けされる。
(1)n+j>mの場合、バス15を介する1回のデータ転送では、SDRAM20へのバースト転送ができない。SDRAM20へのバースト転送は、バス15を介してデータバッファ15にB=2n+j−m回のデータ転送が行われ、データが蓄積されたときに開始指示がなされる。例えば、本実施の形態において説明したバス15のデータ幅とSDRAM20のデータ幅とが等しい場合、SDRAM20に対するコマンドSCMD:WRは、データ書込カウンタ37のカウント値WCNTがB=2になると起動される。j=2であるから、B=4毎に起動されることがわかる。
(2)n+J≦mの場合、バス15のデータ幅が充分広く、バス15を介したデータ転送1回に対して、2m−n−j回のSDRAM20へのバースト転送が行われることになる。
データバッファ38は、バス15のデータ転送速度が速いため、バス15のデータ幅に基づいて構成される。従って、データバッファ38から読み出したデータをSDRAM20に転送するときにデータ幅の変換が行われる。SDRAM20のデータ幅がデータバッファ38のデータ幅より狭い場合、データバッファ38から読み出されたデータは複数回に分割されてSDRAM20に転送される。これは、SDRAM20のデータ幅に合わせたデータ幅を有するマルチプレクサを備えることにより実現できる。また、SDRAM20のデータ幅がデータバッファ38のデータ幅より広い場合、データバッファ38から読み出された複数のデータは結合されてSDRAM20に転送される。これは、読み出したデータを次のデータ読み出しまで保持するレジスタを備えることにより実現できる。さらに、転送先アドレスがバースト境界と異なる場合、ダミーデータ転送は、バースト境界とのアドレスのオフセット値を計数するカウンタを備えることにより実現できる。このカウンタによりデータバッファ38から転送データを読み出すタイミングが決められる。即ち、このカウンタは、SDRAM20へのバースト転送開始から計数を開始し、オフセット値に達したとき、データ転送が開始される。従って、転送先アドレスにデータバッファ38に格納されているデータがSDRAM20に転送される。
それぞれのデータ幅を示す情報は、先行コマンド分割回路32、バーストタイミング制御回路36に必要に応じて設定されることが好ましい。データ幅を示す情報を設定する外部端子を設けてもよいし、データ幅の設定条件を記憶するレジスタを設け、コマンドにより上位装置から設定するようにしてもよい。
さらに、SDRAM20は、DDR(Double Data Rate)型、DDR2型、その他の改良型でも、同じように動作することは明らかである。
このように、SDRAM20にバースト転送できるデータ数がデータバッファ38に取り込まれたときからSDRAM20に対してバースト転送を始めることができる。そのため、転送データを全てデータバッファに取り込んでからバースト転送を始める従来の回路に比べて、タイムラグが短くなる。また、SDRAM20にデータを書き込みながらCPU11側のデータを取り込むため、データバッファの容量も小さくて済む。
メインメモリとしてSDRAMを使用するマクロプロセッサシステムの構成例を示すブロック図である。 従来のSDRAM制御回路の構成を示すブロック図である。 従来のSDRAM制御回路の動作を示すタイミング図である。 本発明の実施の形態に係るSDRAM制御回路の構成を示すブロック図である。 同分割バースト長を格納するバースト長テーブルの構成を示す図である。 同SDRAM制御回路の動作を示すタイミング図である。 同SDRAM制御回路の他の動作を示すタイミング図である。
符号の説明
10 マイクロプロセッサチップ
11 中央演算処理装置(CPU)
12 DMAC
15 バス
17 SDRAM制御回路
18 入出力部
20 SDRAM
31 コマンドバッファ
32 先行コマンド分割回路
33 バースト長テーブル
35 バースト長判定回路
36 バーストタイミング制御回路
37 データ書込カウンタ
38 データバッファ
39 データ読込カウンタ
91 コマンドバッファ
95 バースト長判定回路
96 バーストタイミング制御回路
97 データ書込カウンタ
98 データバッファ
99 データ読込カウンタ

Claims (16)

  1. 第1のビット長のデータを第1のバースト回数回バースト送信して第1のビット長と第1のバースト回数の積で求まるデータ量のデータを送信する送信回路からのデータを受信し、第2のビット長のデータを第2のバースト回数回バースト受信することが可能な受信回路にバースト転送するメモリ制御回路であって、
    受信した前記第1のビット長のデータ量が前記第2のビット長のデータと前記第2のバースト回数の積と同じかそれ以上になったとき、前記第1のビット長のデータの受信回数が前記第1のバースト回数に達していなくても、前記第1のビット長のデータの受信を行っている間に前記受信回路の動作の開始を指示するコマンドを出力し、所定期間の経過後、受信済みのデータを前記第2のビット長のデータとして前記受信回路へバースト転送する制御部を備えることを特徴とするメモリ制御回路。
  2. 前記第1のビット長及び前記第2のビット長を示す情報を記憶するレジスタを具備する
    請求項1に記載のメモリ制御回路。
  3. 前記第1のビット長及び前記第2のビット長を示す情報を外部から指定する外部端子を具備する
    請求項1または請求項2に記載のメモリ制御回路。
  4. 第1バースト長の転送データを格納するデータバッファと、第1バースト長はバースト転送される毎に指定され、
    1回のコマンド発行に応答して前記転送データをメモリにバースト転送する時の予め定められた第2バースト長に従って、前記第1バースト長の転送を指示するコマンドを分割バースト長の転送を指示するコマンドに分割するコマンド分割回路と、
    前記分割バースト長を記憶するバースト長テーブルと、
    前記データバッファが前記第1バースト長の前記転送データの格納を完了する前であっても、前記第2バースト長のデータが前記データバッファに格納された場合には、前記データバッファに対する前記第1バースト長の前記転送データの格納と並行して、前記メモリの動作の開始を指示するコマンドを出力するとともに、前記データバッファに格納された前記転送データを前記バースト長テーブルに記憶される前記分割バースト長ずつ前記メモリにバースト転送するバーストタイミング制御回路と
    を具備する
    メモリ制御回路。
  5. 前記データバッファに格納される前記転送データの数が前記分割バースト長により示されるデータ数に達するか、或いは、超える時、前記バーストタイミング制御回路は、前記メモリに対するバースト転送を開始する
    請求項4に記載のメモリ制御回路。
  6. 前記コマンド分割回路は、
    前記転送データの転送先の先頭アドレスが所定のアドレスと異なる場合、前記転送先の先頭アドレスから前記所定のアドレスまでのデータ数を分割バースト長とする
    請求項4または請求項5に記載のメモリ制御回路。
  7. 前記コマンド分割回路は、前記データバッファに格納される前記転送データの第1データ幅と、前記データバッファから前記メモリに転送される前記転送データの第2データ幅とに基づいて、前記分割バースト長を決定する
    請求項4から請求項6のいずれかに記載のメモリ制御回路。
  8. 前記第1データ幅及び前記第2データ幅を示す情報を記憶するレジスタを具備する
    請求項7に記載のメモリ制御回路。
  9. 前記第1データ幅及び前記第2データ幅を示す情報を外部から指定するバス幅指定端子を具備する
    請求項7または請求項8に記載のメモリ制御回路。
  10. 前記データバッファに格納される転送データが転送されるデータバスと、
    前記データバッファから読み出された転送データが転送されるデータバスとは、
    電気的に分離されている
    請求項4から請求項9のいずれかに記載のメモリ制御回路。
  11. 請求項4から請求項10のいずれかに記載のメモリ制御回路とマイクロプロセッサとを内蔵する半導体集積回路。
  12. バースト転送される毎に指定されるデータ数が第1バースト長で示される転送データをデータバッファに格納するデータ蓄積ステップと、
    予めメモリに設定され、1回のコマンドによりバースト転送されるデータ数を示す第2バースト長で転送できるように、前記第1バースト長を分割バースト長に分割するコマンド分割ステップと、
    前記分割バースト長をバースト長テーブルに格納するバースト長格納ステップと、
    前記データバッファに対する前記第1バースト長の前記転送データの格納が完了する前であっても、前記第2バースト長のデータが前記データバッファに格納された場合には、前記データバッファに対する前記第1バースト長の前記転送データの格納と並行して、前記メモリの動作の開始を指示するコマンドを出力するステップと、
    前記データバッファに格納された前記転送データを前記バースト長テーブルに格納される前記分割バースト長ずつ前記メモリにバースト転送するバーストタイミング制御ステップと
    を具備するメモリ制御方法。
  13. 前記データ蓄積ステップが、前記分割バースト長により示されるデータ数の前記転送データを前記データバッファに格納したとき、
    前記バーストタイミング制御ステップは、前記メモリに対するバースト転送を開始する
    請求項12に記載のメモリ制御方法。
  14. 前記コマンド分割ステップは、
    前記転送データの転送先の先頭アドレスが所定のアドレスと異なる場合、前記転送先の先頭アドレスから前記所定のアドレスまでのデータ数を分割バースト長とする
    請求項12または請求項13に記載のメモリ制御方法。
  15. 前記データバッファに格納される前記転送データの第1データ幅と、前記データバッファから前記メモリに転送される前記転送データの第2データ幅とが異なるとき、
    前記コマンド分割ステップは、前記第1データ幅と前記第2データ幅に基づいて、前記分割バースト長を決定する
    請求項12から請求項14のいずれかに記載のメモリ制御方法。
  16. 前記第1データ幅及び第2データ幅を記憶するデータ幅記憶ステップを備える
    請求項15に記載のメモリ制御方法。
JP2005354512A 2005-12-08 2005-12-08 メモリ制御回路及びメモリ制御方法 Active JP4936506B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005354512A JP4936506B2 (ja) 2005-12-08 2005-12-08 メモリ制御回路及びメモリ制御方法
US11/634,120 US20070162654A1 (en) 2005-12-08 2006-12-06 Memory controller and memory control method
US12/614,845 US7962669B2 (en) 2005-12-08 2009-11-09 Memory controller and memory control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005354512A JP4936506B2 (ja) 2005-12-08 2005-12-08 メモリ制御回路及びメモリ制御方法

Publications (2)

Publication Number Publication Date
JP2007157029A JP2007157029A (ja) 2007-06-21
JP4936506B2 true JP4936506B2 (ja) 2012-05-23

Family

ID=38234055

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005354512A Active JP4936506B2 (ja) 2005-12-08 2005-12-08 メモリ制御回路及びメモリ制御方法

Country Status (2)

Country Link
US (2) US20070162654A1 (ja)
JP (1) JP4936506B2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743179B2 (en) * 2007-03-30 2010-06-22 Via Technologies, Inc. Data transmission methods
US8086936B2 (en) 2007-08-31 2011-12-27 International Business Machines Corporation Performing error correction at a memory device level that is transparent to a memory channel
US7840748B2 (en) * 2007-08-31 2010-11-23 International Business Machines Corporation Buffered memory module with multiple memory device data interface ports supporting double the memory capacity
US7584308B2 (en) * 2007-08-31 2009-09-01 International Business Machines Corporation System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel
US7861014B2 (en) * 2007-08-31 2010-12-28 International Business Machines Corporation System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel
US7899983B2 (en) * 2007-08-31 2011-03-01 International Business Machines Corporation Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module
US7865674B2 (en) * 2007-08-31 2011-01-04 International Business Machines Corporation System for enhancing the memory bandwidth available through a memory module
US8082482B2 (en) * 2007-08-31 2011-12-20 International Business Machines Corporation System for performing error correction operations in a memory hub device of a memory module
US7818497B2 (en) * 2007-08-31 2010-10-19 International Business Machines Corporation Buffered memory module supporting two independent memory channels
US7558887B2 (en) * 2007-09-05 2009-07-07 International Business Machines Corporation Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel
US8019919B2 (en) * 2007-09-05 2011-09-13 International Business Machines Corporation Method for enhancing the memory bandwidth available through a memory module
US7925825B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to support a full asynchronous interface within a memory hub device
US8140936B2 (en) * 2008-01-24 2012-03-20 International Business Machines Corporation System for a combined error correction code and cyclic redundancy check code for a memory channel
US7930470B2 (en) * 2008-01-24 2011-04-19 International Business Machines Corporation System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller
US7930469B2 (en) * 2008-01-24 2011-04-19 International Business Machines Corporation System to provide memory system power reduction without reducing overall memory system performance
US7770077B2 (en) * 2008-01-24 2010-08-03 International Business Machines Corporation Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem
US7925824B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency
US7925826B2 (en) * 2008-01-24 2011-04-12 International Business Machines Corporation System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency
US7730244B1 (en) * 2008-03-27 2010-06-01 Xilinx, Inc. Translation of commands in an interconnection of an embedded processor block core in an integrated circuit
JP5365336B2 (ja) * 2009-05-01 2013-12-11 ソニー株式会社 メモリ制御装置およびメモリ制御方法
JP5446464B2 (ja) * 2009-05-26 2014-03-19 富士通セミコンダクター株式会社 情報処理システム及びデータ転送方法
US9405355B2 (en) 2012-08-21 2016-08-02 Micron Technology, Inc. Memory operation power management by data transfer time adjustment
KR102336666B1 (ko) * 2017-09-15 2021-12-07 삼성전자 주식회사 메모리 장치 및 이를 포함하는 메모리 시스템
CN110297794B (zh) * 2018-03-23 2022-08-12 富联精密电子(天津)有限公司 数据通信系统及方法
CN117396857A (zh) * 2021-12-21 2024-01-12 华为技术有限公司 一种数据存储方法、存储装置及设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0877097A (ja) * 1994-09-08 1996-03-22 Ricoh Co Ltd メモリシステム
JPH11345165A (ja) * 1997-12-05 1999-12-14 Texas Instr Inc <Ti> アクセス待ち時間を減少するため優先度とバースト制御を使用するトラフィック・コントローラ
FR2778258A1 (fr) * 1998-04-29 1999-11-05 Texas Instruments France Controleur d'acces de trafic dans une memoire, systeme de calcul comprenant ce controleur d'acces et procede de fonctionnement d'un tel controleur d'acces
JP4108237B2 (ja) * 1999-11-04 2008-06-25 株式会社リコー メモリ制御装置
JP4651206B2 (ja) * 2001-02-21 2011-03-16 富士通セミコンダクター株式会社 半導体記憶装置および情報処理装置
JP2002328837A (ja) * 2001-04-27 2002-11-15 Fujitsu Ltd メモリ・コントローラ
JP4606725B2 (ja) 2003-11-10 2011-01-05 株式会社デジタル 高速メモリアクセス制御装置
JP4631278B2 (ja) * 2004-01-08 2011-02-16 セイコーエプソン株式会社 印刷装置及び印刷方法
EP1645967B1 (en) * 2004-10-11 2008-02-27 Texas Instruments Incorporated Multi-channel DMA with shared FIFO buffer

Also Published As

Publication number Publication date
US7962669B2 (en) 2011-06-14
JP2007157029A (ja) 2007-06-21
US20070162654A1 (en) 2007-07-12
US20100057952A1 (en) 2010-03-04

Similar Documents

Publication Publication Date Title
JP4936506B2 (ja) メモリ制御回路及びメモリ制御方法
US7447805B2 (en) Buffer chip and method for controlling one or more memory arrangements
KR100908760B1 (ko) 다중 내부 데이터 버스 및 메모리 뱅크 인터리빙을 갖는방법 및 메모리 장치
JP4077874B2 (ja) ダイナミック・ランダム・アクセス・メモリ・システム
JP2007183816A (ja) メモリ制御装置
EP1116123A1 (en) Memory controller with programmable delay counter for tuning performance based on timing parameter of controlled memory storage device
KR19980086541A (ko) 동기형 다이나믹 램들을 활용한 고성능, 고대역폭 메모리 버스
JP5446464B2 (ja) 情報処理システム及びデータ転送方法
WO2003007303A2 (en) Memory device having different burst order addressing for read and write operations
JP2011060162A (ja) メモリ制御装置
WO2004107187A1 (en) Memory controller dynamically arbitrating page packets
US6545942B2 (en) Semiconductor memory device and information processing unit
JP4855864B2 (ja) ダイレクトメモリアクセスコントローラ
US20060161698A1 (en) Architecture for accessing an external memory
TW491970B (en) Page collector for improving performance of a memory
US7508836B2 (en) Data processing apparatus and method for handling transactions
JP2007164415A (ja) データ転送制御装置
US7185122B2 (en) Device and method for controlling data transfer
JPH11232214A (ja) 情報処理装置用プロセッサおよびその制御方法
JP2004127305A (ja) メモリ制御装置
EP1067555B1 (en) Memory controller and an information processing apparatus having such a memory controller
JP3563340B2 (ja) メモリコントローラ
JP2023045362A (ja) 演算処理装置およびメモリアクセス方法
JP2008112485A (ja) 同期型メモリ回路
JP2006195810A (ja) メモリコントローラおよび高速データ転送方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110728

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111003

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120220

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4936506

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250