JP2008117242A - データ転送制御装置、及び、データ転送制御方法 - Google Patents

データ転送制御装置、及び、データ転送制御方法 Download PDF

Info

Publication number
JP2008117242A
JP2008117242A JP2006301051A JP2006301051A JP2008117242A JP 2008117242 A JP2008117242 A JP 2008117242A JP 2006301051 A JP2006301051 A JP 2006301051A JP 2006301051 A JP2006301051 A JP 2006301051A JP 2008117242 A JP2008117242 A JP 2008117242A
Authority
JP
Japan
Prior art keywords
state
read
dram
data transfer
command
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
JP2006301051A
Other languages
English (en)
Inventor
Takeshi Saito
剛 斉藤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2006301051A priority Critical patent/JP2008117242A/ja
Priority to US11/874,641 priority patent/US7535792B2/en
Publication of JP2008117242A publication Critical patent/JP2008117242A/ja
Pending legal-status Critical Current

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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
    • G06F13/1631Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests through address comparison

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)

Abstract

【課題】DRAMへのアクセス時に、ページヒットの確率を高めるデータ転送制御装置を提供する。
【解決手段】プリンタコントローラ101は、各デバイス(CPU106、印刷エンジン102、PC103)からDRAM(DDR_SDRAM105)へのアクセスの要求を受け付けたときに、その要求に応じて、アクティブ処理、リード/ライト処理、プリチャージ処理、をDRAMに対して実行する。リード/ライト処理を実行する際には、メモリ制御ASIC104は、ページヒットしているか否かを判定する。メモリ制御ASIC104は、このページヒットの判定を、リード/ライト処理を命令するコマンドを発行したときから、プリチャージ処理を命令するコマンドを発行するまでの期間中、行う。
【選択図】図1

Description

本発明は、データ転送制御装置に関し、特に、データ転送の効率を向上させる技術に関する。
従来から、印刷装置を制御するプリンタコントローラに備わるCPU(Central Processing Unit)は、メインメモリとしてDRAM(Dynamic Random Access Memory)等を利用する。CPUとDRAMは、メモリ制御ASIC(Application Specific Integrated Circuit)を介して、相互にデータ転送を行う。
メモリ制御ASICは、CPUとDRAMとの間のデータ転送の他に、印刷エンジンとDRAM間、パーソナルコンピュータ(以下では、PCと呼ぶ)間、等といった、各種デバイスとDRAMとの間のデータ転送を制御する。
メモリ制御ASICのDRAMとのデータ転送における制御は、一般に、(バンク)アクティブ処理、リード/ライト処理、プリチャージ処理、というシーケンスに従って行われる。ここで、(バンク)アクティブ処理とは、メモリ制御ASICが、DRAM上のrowアドレス(ページ)を指定する処理である。リード/ライト処理とは、メモリ制御ASICが、アクティブ処理で指定したアドレスの記憶素子に対して、読み込み(リード)処理や書き込み(ライト)処理といった所定の処理を実行する処理である。(バンク)プリチャージ処理とは、メモリ制御ASICが、リード/ライト処理された記憶素子のデータを保持する処理である。
また、(バンク)プリチャージ処理は、リード/ライト処理の実行時間を考慮して、リード/ライト処理から数クロック期間経過後に行われる。
上記のようなシーケンスに従ったデータ転送の制御方法では、メモリ制御ASICが、DRAMに連続してアクセスする場合、同一のシーケンスを繰り返し行う。従って、DRAMの同ページに連続してアクセスする場合にも、リード/ライト処理後のプリチャージ処理、アクティブ処理といった、実行しなくても不都合のない処理を繰り返し実行することになる。
そこで、DRAMの同ページに連続してアクセスする際には、実行しなくても不都合のない処理は実行しないようにする技術が開発されている。例えば、従来技術では、メモリ制御ASICが、DRAMへアクセスする際に、同ページへのアクセスが連続しているか否かを判定し、実行しなくても不都合のない処理は実行しない。なお、以下では、メモリ制御ASICが、DRAMの同ページへ連続してアクセスすることをページヒットとよぶ。
しかしながら、従来技術では、上記の判定期間は、システムクロックの1クロック期間に固定しているため、ページヒットの確率が低いという問題がある。
そこで、本発明は、メモリ制御ASICとDRAMとのデータ転送の制御において、ページヒットの確率を高める技術を提供する。
上記課題を解決するため、本発明では、メモリ制御ASICがDRAMへアクセスする際に行うページヒットの判定を、リード/ライト処理を命令するコマンドの発行から、プリチャージ処理を命令するコマンドの発行までの期間中行う。
具体的には、上記メモリ制御ASICを備えるデータ制御装置は、DRAMが接続され、前記DRAMに対するデータのリードまたはライトを要求する各種デバイスからのリード/ライト要求に応じて、前記DRAMにアクセスするメモリ制御手段と、前記リード/ライト要求がされたときに、前記DRAMのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記DRAMに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、を備えるデータ転送制御装置であって、前記コマンド制御手段は、メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード/ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定し、メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード/ライト要求がされる、或いは、リード/ライト要求がされない、ことが2以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定する、ことを特徴とする。
なお、以下に、本発明の具体的な実施の形態について説明するが、そこで挙げた構成は、可能な限りの組み合わせの自由度を有し、その組み合わせのいずれもが発明を構成するものとする。すなわち、以下に説明する実施形態から一部の構成を適宜に削除した形態も、本発明の他の実施形態となり得る。また、以下において具体的に示される構成は、いずれも、機能において同一とされる上位概念のなかの一下位概念に過ぎないものである。
本発明のデータ転送制御装置によれば、メモリ制御ASICとDRAMとのデータ転送の制御において、ページヒットの確率を高めることができる。
以下、本発明の最良の実施の形態を図面を参照して説明する。
本発明の実施形態に適用される印刷システム100は、図1に示すように、印刷システム100を制御するプリンタコントローラ101と、印刷処理を実行する印刷エンジン102と、PC103と、を含む。
プリンタコントローラ101は、メモリ制御ASIC104と、DDR_SDRAM105と、CPU106と、I/O制御ASIC107と、を備える。
メモリ制御ASIC104は、CPU106、印刷エンジン102、及び、PC103と、DDR_SDRAM105との間のデータ転送を制御する回路である。メモリ制御ASIC104は、CPU106、印刷エンジン102、又は、PC103、から、DDR_SDRAM105へのアクセスの要求を受け付けたときに、その要求に応じて、上述した(バンク)アクティブ処理、リード/ライト処理、プリチャージ処理、をDDR_SDRAM105に対して実行する。なお、DDR_SDRAM105への1の要求に基づいた(バンク)アクティブ処理、リード/ライト処理、プリチャージ処理を実行することをメモリアクセスサイクルという。このメモリアクセスサイクルは、(バンク)アクティブ処理により開始する。また、プリチャージ処理を実行してメモリアクセスサイクルは終了する。
リード/ライト処理を実行する際には、メモリ制御ASIC104は、ページヒットしているか否かを判定する。メモリ制御ASIC104は、このページヒットの判定を、リード/ライト処理を命令するコマンドを発行したときから、プリチャージ処理を命令するコマンドを発行するまでの期間中、行う。
これにより、本実施形態における印刷システム100は、ページヒットの確率を高めることができる。
また、メモリ制御ASIC104は、ページヒットしていると判定した場合には、その後のプリチャージ処理、(バンク)アクティブ処理を実行しない。メモリ制御ASIC104は、前回の(バンク)アクティブ処理で指定したDDR_SDRAM105上のアドレスの記憶素子に対して、次のリード/ライト処理を実行する。これにより、本実施形態における印刷システム100は、メモリ制御ASIC104とDDR_SDRAM105との間でのデータ転送の効率を向上させることができる。
メモリ制御ASIC104の内部は、図2に示すように、メモリインタフェース回路200、CPUインタフェース(I/F)回路201、印刷エンジンインタフェース(I/F)回路202、I/Oインタフェース(I/F)回路203、ステートマシン204、メモリ回路205、等から構成される。
メモリインタフェース回路200は、CPUインタフェース回路201、印刷エンジンインタフェース回路202、又は、I/Oインタフェース回路203を介して、各デバイスとDDR_SDRAM105との間のデータ転送を制御する。メモリインタフェース回路200とDDR_SDRAM105との間のデータ転送は、外部バス108を介して行われる。
CPUインタフェース回路201、印刷エンジンインタフェース回路202、I/Oインタフェース回路203は、メモリ制御ASIC104と各デバイス(CPU106、印刷エンジン102、PC103)との間におけるデータ転送を制御する。
ステートマシン204は、メモリインタフェース回路200に接続される。ステートマシン200は、予め決められた複数の状態を、メモリインタフェース回路200から供給された信号に基づいて、決められた順番で遷移させていくデバイスである。ステートマシン204は、ある状態から別の状態に遷移したときに、遷移先の状態を示す信号をメモリインタフェース200に供給し、メモリインタフェース回路200を制御する。
なお、本願発明は、ステートマシン200を備えずに、ソフトウェアによりメモリインタフェース回路200の状態を制御してもよい。
メモリ回路205は、メモリインタフェース回路200に接続される。メモリ回路205には、メモリインタフェース回路200が各デバイスからDDR_SDRAM105へのアクセスの要求を受け付けたときに、アクセスを要求されたDDR_SDRAM105上のアドレスが格納される。このアドレスには、ページを示す行(row)アドレスと列(column)アドレスとを含む。また、メモリ回路205は、メモリインタフェース回路200がページヒット判定を行うときに参照される。
図1に戻って、DDR_SDRAM105は、外部クロックに同期して動作するように設計されたDRAMである。DDR_SDRAM105は、メモリ制御ASIC104により制御される。例えば、メモリ制御ASIC104は、DDR_SDRAM105上のrowアドレスを指定して、特定のページに、データの書き込み、読み込みを行うことができる。DDR_SDRAM105は、複数のバンクを備え、各バンクを独立して制御することが可能である。また、DDR_SDRAM105のクロック速度は、66MHz、100MHz、133MHzなどでよい。
CPU106は、印刷システム100全体を制御する。CPU106は、メモリ制御ASIC104を介して、DDR_SDRAM105に対してデータの読み込み、書き込み等の処理を行う。
I/O制御ASIC107は、PC103から供給された信号を、メモリ制御ASIC104が処理可能な信号に変換する回路である。また、I/O制御ASIC107は、メモリ制御ASIC104から供給された信号を、PC103が処理可能な信号に変換する。本実施形態では、I/O制御ASIC107に接続される機器をPC103に限定しているが、本願発明は、これに限定しなくてもよい。例えば、I/O制御ASIC107に接続される機器は、デジタルカメラやPDA等でもよい。
印刷エンジン102は、トナーカートリッジ、感光体ドラム、レーザ光照射機構、紙送り機構、印刷媒体の給排紙処理を行なう給排紙機構等からなる。また、印刷エンジン102は、PC103から送信される印刷データに含まれる印刷コマンドを、CPU106が実行することにより制御される。具体的には、印刷エンジン102は、例えば、DDR_SDRAM105からメモリ制御ASIC104を介して転送された画像データを印刷することができる。
PC103は、一般的に普及してるパーソナルコンピュータ等でよい。
次に、以上のような構成からなる印刷システム100におけるメモリ制御ASIC104がページヒットの判定を行う際の、具体的な動作について、図3に示す状態遷移図を参照して説明する。なお、状態遷移図に示す状態は、ステートマシン204の状態に従って遷移する。
メモリ制御ASIC104内のメモリインタフェース回路200は、プリンタコントローラ101に電源が供給されたときや、プリンタコントローラ101がリセットされたときに、ステートをIDLE状態として、DDR_SDRAM105を制御する動作を開始する。IDLE状態では、メモリインタフェース回路200は、CPUインタフェース回路201、印刷エンジンインタフェース回路202、I/Oインタフェース回路203、を介した各デバイスからの要求を待機する。具体的には、メモリインタフェース回路200は、外部(CPU106、印刷エンジン102、PC103)からのクロック信号を有効にする。なお、外部からのクロック信号が有効の場合に、メモリインタフェース回路200内のシステムクロックは動作する。
IDLE状態で、メモリインタフェース回路200は、各デバイスからの要求を受け付けると、ステートをACS状態として、外部バス108を介して、DDR_SDRAM105に対して(バンク)アクティブ処理を命令するコマンドを発行する。具体的には、メモリインタフェース回路200は、各デバイスからDDR_SDRAM105へのアクセスを要求する信号をORした信号(MEM_REQX)を生成する。参考のため、このとき生成した信号(MEM_REQX)の波形を図4に示す。ここで、図4に示す点線(T0〜T19)は、システムクロックの立ち上がり時を示す。図4に示すように、MEM_REQXは、各デバイスのいずれかのデバイスからDDR_SDRAM105へのアクセスを要求する信号が供給されたときに、HighからLowに切り替わる(T0→T1)。これに伴い、ステートは、IDLE状態からACS状態に遷移する(T2)。また、各デバイスからは、DDR_SDRAM105へのアクセスを要求する信号とともに、アクセスを要求するDDR_SDRAM105内のページを指定するrowアドレス(MEM_ADR)が供給される。これとともに、DDR_SDRAM105へのデータの書き込みが要求されている場合には、DDR_SDRAM105に書き込むデータ(MEM_DATA)も供給される。このとき、メモリインタフェース回路200は、供給されたMEM_ADRを、メモリ回路205に格納する。参考のため、MEM_ADR及びMEM_DATAの波形を図4に示す。図4には、供給されたMEM_ADRはADR0、供給されたMEM_DATAは、W_DATA0として示す。メモリインタフェース回路200は、MEM_ADRに対応するアドレスを指定するコマンド(ACT)を、外部バス108を介して、DDR_SDRAM105に発行する。参考のため、発行するコマンド(ACT)の波形を図4に示す(T2)。
図3に戻って、メモリインタフェース回路200は、各デバイスからの要求を受け付ける際に、DDR_SDRAM105に対して書き込み(ライト)か読み込み(リード)かを示す信号も供給される。この信号に基づいて、メモリインタフェース回路200は、各デバイスからの要求が、書き込み(ライト)か読み込み(リード)かを判別する。メモリインタフェース回路200は、書き込み(ライト)であると判別した場合には、ステートをW0状態、W1状態、WCS状態へと移行させる。一方、読み込み(リード)であると判別した場合には、ステートをR0状態、R1状態、RCS状態へと移行させる。参考のため、図4には、メモリインタフェース回路200が書き込み(ライト)であると判別した場合の、ステートの遷移を示す(W0状態(T3)、W1状態(T4)、WCS状態(T5))。
ここで、W0状態、W1状態は、ステートをWCS状態へ移行させる準備ステートである。また、同様に、R0状態、R1状態は、ステートをRCS状態へ移行させる準備ステートである。
図3に戻って、WCS状態、及び、RCS状態では、メモリインタフェース回路200は、リード/ライト処理を命令するコマンドを、DDR_SDRAM105に発行する。ただし、WCS状態では、メモリインタフェース回路200は、書き込み(ライト)コマンドを発行し、RCS状態では、読み込み(リード)コマンドを発行する。参考のため、発行するコマンド(WR)の波形を図4に示す(T5)。また、書き込み(ライト)コマンドを発行する場合、メモリインタフェース回路200は、外部バス108を介して、(バンク)アクティブ処理で指定したDDR_SDRAM105上のページに、MEM_DATAを書き込む。参考のため、DDR_SDRAM105に書き込むデータ(RAM_DATA)の波形を図4に示す。図4には、DDR_SDRAM105に書き込むデータを、RAM_WD0として示す。
図3に戻って、ステートがWCS状態或いはRCS状態のとき、リード/ライト処理を命令するコマンドをDDR_SDRAM105に発行後、メモリインタフェース回路200は、各デバイスからのこの時点(図4の例では、T5の時)での要求がページヒットしているか否かを判定する(図4のT5時における太線の矢印を参照)。具体的には、メモリインタフェース回路200は、まず、各デバイスからDDR_SDRAM105へのアクセスを要求する信号をORした信号(MEM_REQX)を生成する。続いて、メモリインタフェース回路200は、生成したMEM_REQXがHighかLowかにより、各デバイスから要求があるか否かを判別する。各デバイスから要求がある場合には、メモリインタフェース回路200は、各デバイスからの要求とともに供給されたrowアドレス(MEM_ADR)(図4の例では、T4からT6の範囲に示されたADR0)が、前回供給されたrowアドレス(図4の例では、T1からT2の範囲に示されたADR0)と一致するか否かを判定する。ここで、前回供給されたrowアドレスは、メモリ回路205に格納されている。rowアドレスが一致する場合は、ページヒットしていることになる。図4の例では、両方のrowアドレスは、ADR0で一致しているため、ページヒットしていることになる。
図3に戻り、ステートがWCS状態、或いは、RCS状態において、メモリインタフェース回路200は、続いて、各デバイスからの要求とともに供給される信号に基づいて、書き込み(ライト)か読み込み(リード)かを判別する。
ここで、ステートがWCS状態の場合で、受け付けた要求がページヒットしており、この要求とともに供給された信号が書き込み(ライト)であると判別した場合には、メモリインタフェース回路200のステートは、W1状態(T6)、WCS状態(T7)へと遷移する。一方、このとき読み込み(リード)であると判別した場合には、メモリインタフェース回路200のステートは、WAIT状態、R1状態、WCS状態へと遷移する。
ここで、WAIT状態は、ステートをW1状態、或いは、R1状態へ移行させる準備ステートである。
また、ステートがRCS状態の場合で、受け付けた要求がページヒットしており、この要求とともに供給された信号が読み込み(リード)であると判別した場合には、メモリインタフェース回路200のステートは、R1状態、RCS状態へと遷移する。一方、このとき書き込み(ライト)であると判別した場合には、メモリインタフェース回路200のステートは、WAIT状態、W1状態、WCS状態へと遷移する。
一方、ステートがWCS状態、或いは、RCS状態において、各デバイスからの要求がない場合、又は、受け付けた要求はページヒットしていないと判定した場合、ページミスとして、メモリインタフェース回路200のステートは、P0状態へ遷移する。ここで、P0状態は、プリチャージ処理を命令するコマンドを発行するまでの待機ステートである。
上記の状態遷移を、図4の例で説明すると、T5時のWCS状態で受け付けた要求がページヒットし、この要求とともに供給された信号が書き込み(ライト)であるとして、ステートはW1状態(T6)、WCS状態(T7)へと遷移している。T7時のWCS状態では、各デバイスからの要求がないため(T7時における太線の矢印を参照)、ページミスとして、ステートは、P0状態(T8)に遷移している。
図3に戻り、ステートがP0状態のとき、メモリインタフェース回路200は、WCS状態/RCS状態時と同様に、各デバイスからの要求がページヒットしているか否かの判定を行う。ステートがP0状態のときに、ページヒットしていると判定した場合は、WCS状態/RCS状態時にページヒットしていると判定したときと同様の状態にステートは遷移する。
一方、ステートがP0状態のときに、ページミスと判定した場合は、ステートはP0状態を維持する。図4の例では、T8時、T9時のP0状態において、各デバイスからの要求がないため(太字の矢印を参照)、ページミスとして、T8からT10までの期間、P0状態を維持している。
図3に戻り、P0状態がシステムクロックの4クロック期間維持されても、ページヒットしない場合は、ステートはPCS状態に遷移することが、予めステートマシン204に記述されている。
しかし、P0状態の維持が4クロック期間内で、各デバイスから受け付けた要求はページヒットしているとメモリインタフェース回路200が判定した場合、ステートは、PCS状態へと遷移せずに、受け付けた要求とともに供給された信号に基づいて、W1状態、或いは、R1状態へと遷移する。図4の例では、T8からT10までの3クロック期間、P0状態が維持された後に、各デバイスから受け付けた要求がページヒットしたため(T10時における太字の矢印を参照)、ステートは、W1状態(T11)に遷移している。
これにより、メモリインタフェース回路200は、ページヒット後、T7時の要求に対応するプリチャージ処理のコマンドの発行(PRE)、T10時の要求に対応する(バンク)アクティブ処理のコマンドの発行(ACT)をせずに、T10時の要求に対応するリード/ライト処理のコマンドを発行する(T12)。
また、T13からT16までの4クロック期間では、一度もページヒットしていないため(T13〜T16時の太字の矢印を参照)、T17時には、ステートはPCS状態に遷移している。
図3に戻り、PCS状態では、メモリインタフェース回路200は、プリチャージ処理を命令するコマンドを、DDR_SDRAM105に発行する。具体的には、メモリインタフェース回路200は、リード/ライト処理で書き込み/読み込みをしたDDR_SDRAM105のデータを、一時的に他のページに記憶する。ここで、一時的にデータを記憶するためのページは、異なるバンクのページであってもよい。
また、参考のため、発行するコマンド(PRE)の波形を図4に示す(T17)。
図3に戻り、PCS状態の後、メモリインタフェース回路200のステートは、P1状態に遷移する。P1状態は、プリチャージ処理の待機ステートである。メモリインタフェース回路200のステートは、1クロック後、IDLE状態へ遷移する。図4の例では、ステートは、PCS状態(T17)から、P1状態(T18)、IDLE状態(T19)へと遷移している。
以上までが、ページヒットの判定を行う際の、メモリ制御ASIC104の具体的な動作の説明である。
次に、本実施形態におけるページヒットの判定との比較のために、従来技術におけるページヒットの判定について、図5、図6を参照して説明する。図5は、各デバイスからの要求が時間的に連続している場合の、ページヒットの判定を説明するための図である。図6は、各デバイスからの要求が時間的に連続していない場合の、ページヒットの判定を説明するための図である。
従来技術のページヒットの判定期間は、上述したように、システムクロックの1クロック期間に固定されている。すなわち、従来技術のページヒットの判定は、ステートがWCS状態のときにのみ行われる。例えば、図5では、T5時、T7時、T9時に、ページヒットの判定が行われ、図6では、T5時、T7時、T18時に、ページヒットの判定が行われている。
図5に示すように、T1からT8までの期間、従来技術におけるメモリインタフェース回路が、各デバイスからの要求を、時間的に連続して受け付けている場合は、ページヒットの確率は高い。
具体的には、T5時のページヒットの判定においては、メモリインタフェース回路200がT5時に要求されたページ(ADR0)が、T1からT2の期間に要求されたページ(ADR0)と一致しているため、ページヒットと判定している。ページヒットと判定した場合は、T1時の要求に対応するプリチャージ処理のコマンド発行、及び、T5時の要求に対応する(バンク)アクティブ処理のコマンド発行を行わずに、T5時の要求に対応するリード/ライト処理のコマンド発行を行っている(T7)。
また、T7時のページヒットの判定においても、メモリインタフェース回路200がT7時に要求されたページ(ADR0)が、T3からT6の期間に要求されたページ(ADR0)と一致しているため、これもページヒットと判定している。
しかしながら、図6に示すように、従来技術におけるメモリインタフェース回路が、各デバイスからの要求を、時間的に連続せずに受け付ける場合は、ページヒットの確率は低くなる。
具体的には、メモリインタフェース回路は、T1からT2までの期間、T4からT6までの期間、及び、T10からT11までの期間に、各デバイスからの要求を受け付けている。T5時のページヒットの判定においては、メモリインタフェース回路がT5時に要求されたページ(ADR1)が、T1からT2の期間に要求されたページ(ADR1)と一致しているため、ページヒットと判定している。ページヒットと判定した場合は、T1時の要求に対応するプリチャージ処理のコマンド発行、及び、T5時の要求に対応する(バンク)アクティブ処理のコマンド発行を行わずに、T5時の要求に対応するリード/ライト処理のコマンド発行を行っている(T7)。
しかし、T7時のページヒットの判定においては、メモリインタフェース回路は、各デバイスからの要求を受け付けていないため、ページミスとなる。先にも述べたが、従来技術のページヒットの判定は、T7時の1クロック期間にのみ行われる。そのため、その後のT10からT11の期間に、T5からT6の期間に要求されたページ(ADR1)と一致するページ(ADR1)を要求されているにもかかわらず、T10からT11の期間にページヒットの判定を行うことができない。
これに対して、本実施形態のメモリ制御ASIC104は、以上に説明したように、ページヒットの判定を、最大で、システムクロックの4クロック期間行うため、各デバイスからの要求が時間的に連続していない場合であっても、ページヒットの確率は高い。
なお、本発明は、上記実施形態に限定されず、種々の変形、応用が可能である。
例えば、上記実施形態では、ページヒットの判定を、システムクロックの4クロック期間行うようにしている。しかしながら、本発明は、これに限定されず、例えば、ページヒットの判定を、6クロック期間、8クロック期間行うようにしてもよい。
また、上記実施形態では、DDR_SDRAM105とデータ転送を行う各種デバイスを、CPU106、印刷エンジン102、PC103に限定して説明している。しかしながら、本発明は、これに限定されず、例えば、各種デバイスは、デジタルカメラやPDA等であってもよいし、ネットワークを介したPC等でもよい。
さらに、上記実施形態では、メモリ制御ASIC104が制御するメモリを、DDR_SDRAM105として説明している。しかしながら、本発明は、これに限定されず、データ読み出し後にプリチャージ処理を必要とするDRAM等のメモリであればよい。具体的には、例えば、SDRAM、DDR2_SDRAM、DDR3_SDRAM等でもよい。
また、上記実施形態では、DDR_SDRAM105にデータを書き込んだ後も、DDR_SDRAM105からデータを読み込んだ後も、プリチャージ処理を行うようにしている。しかしながら、本願発明は、これに限定されず、DDR_SDRAM105にデータを書き込んだ後は、プリチャージ処理を実行しないようにしてもよい。
データ転送制御装置のハードウェア構成を示すブロック図である。 メモリ制御ASIC内部のハードウェア構成を示すブロック図である。 ページヒットを判定するための状態遷移図である。 メモリ制御ASICが生成する制御信号の波形の一例を示す図である。 従来のメモリ制御ASICが生成する制御信号の波形の一例を示す図である。 従来のメモリ制御ASICが生成する制御信号の波形の一例を示す図である。
符号の説明
100…印刷システム、101…プリンタコントローラ、102…印刷エンジン、103…PC、104…メモリ制御ASIC、105…DRR_SDRAM、106…CPU、107…I/O制御ASIC、108…外部バス、200…メモリインタフェース回路、201…CPU I/F回路、202…印刷エンジン I/F回路、203…I/O I/F回路、204…ステートマシン、205…メモリ回路。

Claims (4)

  1. DRAMが接続され、
    前記DRAMに対するデータのリードまたはライトを要求する各種デバイスからのリード/ライト要求に応じて、前記DRAMにアクセスするメモリ制御手段と、
    前記リード/ライト要求がされたときに、前記DRAMのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記DRAMに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、
    を備えるデータ転送制御装置であって、
    前記コマンド制御手段は、
    メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード/ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定し、
    メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード/ライト要求がされる、或いは、リード/ライト要求がされない、ことが2以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定する、
    を備えることを特徴とするデータ転送制御装置。
  2. 前記所定回数は、システムクロックの4クロック分である、
    ことを特徴とする請求項1に記載のデータ転送制御装置。
  3. 前記各種デバイスは、当該データ転送制御装置を制御するCPU、前記DRAMに格納した画像データを印刷する印刷エンジン、当該データ転送制御装置とデータの送受信が可能な情報処理装置、を含む、
    ことを特徴とする請求項1又は2に記載のデータ転送制御装置。
  4. DRAMが接続され、
    前記DRAMに対するデータのリードまたはライトを要求する各種デバイスからのリード/ライト要求に応じて、前記DRAMにアクセスするメモリ制御手段と、
    前記リード/ライト要求がされたときに、前記DRAMのロウアドレスを指定するアクティブコマンドを発行してメモリアクセスサイクルを開始し、前記DRAMに対してプリチャージコマンドを発行して該メモリアクセスサイクルを終了させるコマンド制御手段であって、前記プリチャージコマンドの発行が必要ない場合には、前回のメモリアクセスサイクルにおけるプリチャージコマンドの発行を禁止するコマンド制御手段と、
    を備えるデータ転送制御装置におけるデータ転送制御方法であって、
    前記コマンド制御手段が、
    メモリアクセスサイクルにおいて要求されたページと同一のページに対して、別の前記リード/ライト要求がされた場合、前記プリチャージコマンドの発行が不要と判定するステップと、
    メモリアクセスサイクルにおいて要求されたページと異なるページに対して、別の前記リード/ライト要求がされる、或いは、リード/ライト要求がされない、ことが2以上の所定回数を上限として繰り返された場合、前記プリチャージコマンドの発行を必要と判定するステップと、
    を有することを特徴とするデータ転送制御方法。
JP2006301051A 2006-11-07 2006-11-07 データ転送制御装置、及び、データ転送制御方法 Pending JP2008117242A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006301051A JP2008117242A (ja) 2006-11-07 2006-11-07 データ転送制御装置、及び、データ転送制御方法
US11/874,641 US7535792B2 (en) 2006-11-07 2007-10-18 Data transmission control device, and data transmission control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006301051A JP2008117242A (ja) 2006-11-07 2006-11-07 データ転送制御装置、及び、データ転送制御方法

Publications (1)

Publication Number Publication Date
JP2008117242A true JP2008117242A (ja) 2008-05-22

Family

ID=39359594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006301051A Pending JP2008117242A (ja) 2006-11-07 2006-11-07 データ転送制御装置、及び、データ転送制御方法

Country Status (2)

Country Link
US (1) US7535792B2 (ja)
JP (1) JP2008117242A (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5233541B2 (ja) * 2008-09-17 2013-07-10 セイコーエプソン株式会社 メモリ制御回路、電子機器制御装置、および、複合機
US11334288B2 (en) * 2016-09-27 2022-05-17 Integrated Silicon Solution, (Cayman) Inc. MRAM access coordination systems and methods with a plurality of pipelines

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281941A (ja) * 1994-04-15 1995-10-27 Oki Electric Ind Co Ltd メモリ制御方法およびメモリ制御装置
JPH1125670A (ja) * 1997-06-30 1999-01-29 Motorola Inc メモリ素子をページ・モードにおいて制御する方法および装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10143428A (ja) * 1996-11-07 1998-05-29 Nec Niigata Ltd 省電力用のメモリ制御システムおよびメモリ制御回路
JPH09288614A (ja) 1996-04-22 1997-11-04 Mitsubishi Electric Corp 半導体集積回路装置、半導体記憶装置およびそのための制御回路
JP2002063069A (ja) 2000-08-21 2002-02-28 Hitachi Ltd メモリ制御装置、データ処理システム及び半導体装置
JP4041358B2 (ja) * 2002-07-04 2008-01-30 富士通株式会社 半導体メモリ
US7254690B2 (en) * 2003-06-02 2007-08-07 S. Aqua Semiconductor Llc Pipelined semiconductor memories and systems

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07281941A (ja) * 1994-04-15 1995-10-27 Oki Electric Ind Co Ltd メモリ制御方法およびメモリ制御装置
JPH1125670A (ja) * 1997-06-30 1999-01-29 Motorola Inc メモリ素子をページ・モードにおいて制御する方法および装置

Also Published As

Publication number Publication date
US7535792B2 (en) 2009-05-19
US20080106961A1 (en) 2008-05-08

Similar Documents

Publication Publication Date Title
JP4643729B2 (ja) インタリーブ制御装置、インタリーブ制御方法及びメモリシステム
CN108139994B (zh) 内存访问方法及内存控制器
JP2011081553A (ja) 情報処理装置及びその制御方法
JP2009093227A (ja) メモリアクセス制御装置及びメモリアクセス制御方法
JP3728468B2 (ja) メモリ制御装置
JP2008210088A (ja) メモリコントローラ、半導体メモリのアクセス制御方法およびシステム
US20060195665A1 (en) Access control device, method for changing memory addresses, and memory system
JP5349775B2 (ja) メモリコントローラ及びその制御方法
JPH11224221A (ja) メモリ制御装置および方法
US7536519B2 (en) Memory access control apparatus and method for accomodating effects of signal delays caused by load
US5926828A (en) Method and apparatus for controlling data transfer between a synchronous DRAM-type memory and a system bus
JP2005038427A (ja) ダイナミック周波数スケーリングキャッシュメモリの休止時間を利用する方法、回路及びシステム
JP2008117242A (ja) データ転送制御装置、及び、データ転送制御方法
US20050182868A1 (en) Apparatus and method for controlling memory
US20020138672A1 (en) DMA control system enabling flyby transfer to synchronous memory
KR100298955B1 (ko) 데이타처리시스템
US5235694A (en) Multi i/o device system using temporary store of ram data when associated communicating i/o devices are operating at various clocking phases
KR20050122503A (ko) 명령어 스케줄링을 수행하는 메모리 제어장치 및 방법
JP6700739B2 (ja) コントローラおよび制御方法
US20120310621A1 (en) Processor, data processing method thereof, and memory system including the processor
JP2019133657A (ja) ページサイズ認識スケジューリング方法及び非一時的なコンピュータ読取可能記録媒体
JP2006146817A (ja) メモリ制御システム及びメモリ制御装置
JP4804803B2 (ja) メモリアクセス制御装置及びコンピュータプログラム
JP2010072792A (ja) メモリ制御回路、電子機器制御装置、および、複合機
US20070073961A1 (en) Memory controller

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090807

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120925