"メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御装置であって、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するシーケンス制御部と、前記シーケンス制御部から前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドとを前記メモリに出力するコマンド出力部と、を備えることを特徴とするメモリ制御装置。前記メモリは画像データを格納する画像メモリであり、前記第1所定数および前記第2所定数は、前記メモリから画像の水平方向の1ライン分の画像データを読み出す時間が予め定めた第1目標時間以下になるという第1条件と、前記メモリに画像の1ページ分の画像データを書き込む時間が予め定めた第2目標時間以下になるという第2条件の双方を同時に満たす数であることを特徴とする請求項1に記載のメモリ制御装置。前記シーケンス制御部は、前記ライトパケットを前記第1所定数蓄積し、蓄積した前記第1所定数の前記ライトパケットを連続して出力する第1バッファと、前記リードパケットを前記第2所定数蓄積し、蓄積した前記第2所定数の前記リードパケットを連続して出力する第2バッファと、前記第1バッファが前記第1所定数の前記ライトパケットを連続して出力していないときに、前記第2バッファから前記第2所定数の前記リードパケットを連続して出力させ、前記第2バッファが前記第2所定数の前記リードパケットを連続して出力していないときに、前記第1バッファから前記第1所定数の前記ライトパケットを連続して出力させるバッファ制御部と、を備えることを特徴とする請求項1に記載のメモリ制御装置。前記第1所定数と前記第2所定数は、1を除く同じ数の所定数であり、前記ライトパケットと前記リードパケットとが1つずつ交互に並ぶように前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更して前記シーケンス制御部に出力するリードライト分離部をさらに備え、前記シーケンス制御部は、前記ライトパケットを前記所定数蓄積し、前記所定数の前記ライトパケットを連続して出力するバッファと、前記バッファが前記所定数の前記ライトパケットを連続して出力していないときに、前記リードライト分離部から入力した前記パケットシーケンスに含まれる前記リードパケットを出力させるバッファ制御部と、を備えることを特徴とする請求項1に記載のメモリ制御装置。前記第1所定数と前記第2所定数は、1を除く同じ数の所定数であり、前記ライトパケットと前記リードパケットとが1つずつ交互に並ぶように前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更して前記シーケンス制御部に出力するリードライト分離部をさらに備え、前記シーケンス制御部は、前記リードパケットを前記所定数蓄積し、前記所定数の前記リードパケットを連続して出力するバッファと、前記バッファが前記所定数の前記リードパケットを連続して出力していないときに、前記リードライト分離部から入力した前記パケットシーケンスに含まれる前記ライトパケットを出力させるバッファ制御部と、を備えることを特徴とする請求項1に記載のメモリ制御装置。前記メモリは、SDRAMであることを特徴とする請求項1に記載のメモリ制御装置。メモリと、前記メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、前記メモリから読み出した前記データに基づいて所定の処理を実行する処理部と、を備える情報処理装置であって、前記メモリ制御部は、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するシーケンス制御部と、前記シーケンス制御部から前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドと前記メモリに出力するコマンド出力部と、を備えることを特徴とする情報処理装置。前記メモリは画像データを格納する画像メモリであり、前記処理部は、前記画像データに基づいて記録媒体に画像を形成するプロッタであり、前記第1所定数および前記第2所定数は、前記メモリから画像の水平方向の1ライン分の画像データを読み出す時間が前記プロッタの性能から求められる第1目標時間以下になるという第1条件と、前記メモリに画像の1ページ分の画像データを書き込む時間が前記プロッタの性能から求められる第2目標時間以下になるという第2条件を同時に満たす数であることを特徴とする請求項7に記載の情報処理装置。メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御方法であって、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するステップと、前記ライトパケットと前記リードパケットの並びが変更された前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドとを前記メモリに出力するステップと、を含むことを特徴とするメモリ制御方法。しかしながら、特許文献1に記載の技術は、複数の外部デバイスのうちデータ転送要求のあった外部デバイスにのみメモリ帯域を割り当てることでデータ転送効率を向上させる技術である。したがって、この特許文献1に記載の技術を上記の画像形成システムに適用した場合、DFE装置から画像形成装置にラスターイメージデータを転送してDDRに書き込む処理と、DDRから読み出したラスターイメージデータに基づいて画像を印刷する処理とを並行して行うことができずに、画像形成システムとしてのパフォーマンスが低下する。また、DFE装置から画像形成装置へのラスターイメージデータの転送と、DDRから読み出したラスターイメージデータに基づく画像の印刷とを並行して行う場合は、特許文献1に記載の技術を適用したとしても、DDRに対して異なるロウアドレスを指定したデータの書き込みと読み出しの切り替えが頻繁に発生するため、データ転送効率の低下が懸念される。本発明は、上記に鑑みてなされたものであって、メモリに対するデータの書き込みと読み出しを時分割で交互に行う場合であっても、メモリへのデータの書き込みや読み出しを高速に行って、効率のよいデータ転送を実現することができるメモリ制御装置、情報処理装置およびメモリ制御方法を提供することを目的としている。上述した課題を解決し、目的を達成するために、本発明に係るメモリ制御装置は、メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御装置であって、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するシーケンス制御部と、前記シーケンス制御部から前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドとを前記メモリに出力するコマンド出力部と、を備えることを特徴とする。また、本発明に係る情報処理装置は、メモリと、前記メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御部と、前記メモリから読み出した前記データに基づいて所定の処理を実行する処理部と、を備える情報処理装置であって、前記メモリ制御部は、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するシーケンス制御部と、前記シーケンス制御部から前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドと前記メモリに出力するコマンド出力部と、を備えることを特徴とする。また、本発明に係るメモリ制御方法は、メモリに対するデータの書き込みおよび読み出しを制御するメモリ制御方法であって、前記データの書き込み要求を含むライトパケットと、前記データの読み出し要求を含むリードパケットと、を含むパケットシーケンスを入力し、前記ライトパケットが第1所定数連続し、前記リードパケットが第2所定数連続するように、前記パケットシーケンスに含まれる前記ライトパケットと前記リードパケットの並びを変更するステップと、前記ライトパケットと前記リードパケットの並びが変更された前記パケットシーケンスを入力し、前記ライトパケットと前記リードパケットの並び順に従って、前記ライトパケットに応じたライトコマンドと前記リードパケットに応じたリードコマンドとを前記メモリに出力するステップと、を含むことを特徴とする。本発明によれば、メモリに対するデータの書き込みと読み出しを時分割で交互に行う場合であっても、メモリへのデータの書き込みや読み出しを高速に行って、効率のよいデータ転送を実現することができるという効果を奏する。以下に添付図面を参照して、この発明に係るメモリ制御装置、情報処理装置およびメモリ制御方法の最良な実施の形態を詳細に説明する。以下では、DFE装置と画像形成装置とが通信ケーブルにより接続された画像形成システムを例に説明する。以下の実施の形態では、画像形成装置が、特許請求の範囲に記載の情報処理装置に相当し、画像形成装置が備えるメモリコントローラが、特許請求の範囲に記載のメモリ制御装置に相当する。なお、本発明が適用可能な装置システムはこれらに限られるものではない。第1の実施の形態図1は、本実施に係る形態の画像形成システム100の概略構成図である。画像形成システム100は、DFE装置200と、画像形成装置400とを備える。DFE装置200と画像形成装置400は、通信ケーブル300によって接続される。DFE装置200は、いわゆるプリントサーバとして機能するものである。DFE装置200は、ネットワーク500を介して、ユーザが使用するPCなどの複数の端末クライアント端末600にも接続される。DFE装置200のマザーボード210には、図2に示すように、PCIe規格に準拠したスロット以下、PCIeスロットという。220が搭載されている。PCIeスロット220には、カードアダプタ700が装着される。画像形成装置400のマザーボード410には、図2に示すように、PCIeスロット420が搭載されている。PCIeスロット420には、カードアダプタ700が装着される。DFE装置200側のカードアダプタ700と画像形成装置400側のカードアダプタ700とは、通信ケーブル300によって相互に接続される。これにより、DFE装置200と画像形成装置400とが、お互いのカードアダプタ700および通信ケーブル300を介して通信可能に接続され、DFE装置200と画像形成装置400との間で高速の情報通信が行われる。本実施の形態に係る画像形成システム100では、画像情報ブラックの画像情報、シアンの画像情報、マゼンタの画像情報、およびイエローの画像情報が、ラスターイメージデータの形式で、DFE装置200から画像形成装置400に転送される。画像形成装置400は、DFE装置200から転送されたラスターイメージデータに基づいて、カラーの画像を形成する。なお、通信ケーブル300としては、PCIe規格に準拠した銅線ケーブルや光アクティブケーブル、その他の高速差動信号を伝送可能なケーブルなど、様々な通信ケーブルを用いることができる。図3は、カードアダプタ700の概要を示す模式図である。カードアダプタ700は、DFE装置200側と画像形成装置400側とで共通の構成である。カードアダプタ700は、図3に示すように、ケーブルコネクタ710と、カードエッジコネクタ720と、PCIeブリッジ730とを備えている。ケーブルコネクタ710は、通信ケーブル300が装着されるコネクタである。また、カードエッジコネクタ720は、カードアダプタ700がPCIeスロット220またはPCIeスロット420に装着されたときに、PCIeスロット220またはPCIeスロット420の端子に接続されるコネクタである。ケーブルコネクタ710およびカードエッジコネクタ720としては、PCIe規格に準拠したものが用いられる。PCIeブリッジ730は、ケーブルコネクタ710とカードエッジコネクタ720との間でデータを中継する、PCIe規格に準拠したブリッジである。PCIeブリッジ730としては、ノントランスペアレントタイプのブリッジが用いられる。ノントランスペアレントタイプのPCIeブリッジ730を用いてDFE装置200と画像形成装置400とを接続することにより、DFE装置200と画像形成装置400が、互いに邪魔されることなく個別に初期化などを行うことが可能となる。また、各装置のプロセッサは、別々に動作しながら互いのリソースにアクセス可能となる。また、PCIeブリッジ730としては、クロックアイソレーション機能を持つブリッジを用いることが望ましい。クロックアイソレーション機能とは、ブリッジを境界としてクロックドメインを分割する機能である。クロックアイソレーション機能により、DFE装置200側のPCIeブリッジ730と画像形成装置400側のPCIeブリッジ730との間通信ケーブル300を用いてラスターイメージデータを転送する領域を、それ以外の領域から独立したクロックドメインとすることができる。そして、DFE装置200側のPCIeブリッジ730と画像形成装置400側のPCIeブリッジ730との間のクロックドメインでは、クロックとして非スペクトラム拡散クロックを用い、それ以外のクロックドメインでは、クロックとしてスペクトラム拡散クロックを用いる。これにより、不要輻射EMIの低減を図りつつ、DFE装置200と画像形成装置400との間で同期を取りながら適切な通信を行うことが可能となる。すなわち、EMIの低減を図るためには、DFE装置200や画像形成装置400の動作の基準となるクロックとしてスペクトラム拡散クロックを用いることが有効である。しかし、画像形成システム100全体のクロックとしてスペクトラム拡散クロックを用いると、DFE装置200と画像形成装置400との間で同期が取れず、通信ケーブル300を用いた通信を適切に行うことができない。これに対して、PCIeブリッジ730のクロックアイソレーション機能を用いて、PCIeブリッジ730間のクロックドメインを分離し、この部分のみクロックとして非スペクトラム拡散クロックを用いるようにすれば、画像形成システム100全体としてのEMIの低減を図りつつ、DFE装置200と画像形成装置400との間での通信ケーブル300を用いた通信を適切に行うことができる。次に、本実施の形態に係る画像形成システム100におけるDFE装置200と画像形成装置400の具体的な構成例について、さらに詳しく説明する。図4は、本実施の形態に係る画像形成システム100のDFE装置200と画像形成装置400の具体的な構成例を示す図である。本実施の形態に係る画像形成システム100において、DFE装置200と画像形成装置400は、PCIeの規格に準拠した通信ケーブル300により接続される。また、DFE装置200には、LANなどのネットワーク500を介して、ユーザが使用するPCなどのクライアント端末600が接続される。DFE装置200は、DFE処理部10を備える。DFE処理部10は、図示しないプロセッサやメモリを用いて実現されるDFE装置200側のデータ処理部である。DFE処理部10は、主な機能構成として、RIP処理部11、画像処理部12、および、データ転送処理部13を有する。RIP処理部11は、クライアント端末600からネットワーク500経由で送られた印刷ジョブを受信し、印刷ジョブに含まれるPDL形式のデータを、印刷用のラスターイメージデータに展開する。画像処理部12は、RIP処理部11により生成されたラスターイメージデータに対して、画像回転や拡大または縮小など、画像編集のための画像処理を行う。画像処理部12により画像処理が行われた後のラスターイメージデータは、図示しないメモリに格納される。データ転送処理部13は、画像処理部12により画像処理が行われた後のラスターイメージデータをページ単位で上記メモリから取り出す。そして、データ転送処理部13は、上記メモリから取り出したラスターイメージデータを、メモリライト転送により、通信ケーブル300を介して画像形成装置400に転送する。メモリライト転送とは、書き込み要求本実施の形態では、後述する画像形成装置400のフレームメモリ31にラスターイメージデータを書き込む要求である。以下、この書き込み要求をライトリクエストという。に応じてデータを転送する処理である。通信ケーブル300との接続には、図示しないカードアダプタ上述したカードアダプタ700に相当が用いられる。カードアダプタには、通信ケーブル300を介して画像形成装置400に転送するラスターイメージデータが入力されるPCIeブリッジ14上述したPCIeブリッジ730に相当が実装されている。ラスターイメージデータは、このPCIeブリッジ14を経由し、PCIeのプロトコルに則って通信ケーブル300を介して画像形成装置400に転送される。なお、ラスターイメージデータの転送に用いるPCIeのレーン数は、転送するラスターイメージデータのサイズと要求される印刷処理速度に応じて十分な転送帯域が得られるレーン数とする。ここでは、一例として、4レーンx4でラスターイメージを転送するものとする。また、本実施の形態に係る画像形成システム100では、ラスターイメージデータは、非圧縮の状態で、DFE装置200から画像形成装置400へと転送される。画像形成装置400は、メモリコントローラ統合型プロセッサ21、メインメモリ22、PCH23、PCIeスイッチ24、2つのプロッタASIC25a,25b、プリンタエンジン26、フレームメモリ31、および、メモリコントローラ30特許請求の範囲に記載のメモリ制御装置に相当を備える。また、画像形成装置400には、通信ケーブル300との接続用に図示しないカードアダプタ上述したカードアダプタ700に相当が設けられている。そして、このカードアダプタに実装されたPCIeブリッジ27上述したPCIeブリッジ730に相当を経由して、DFE装置200からPCIeのプロトコルに則って通信ケーブル300を介して転送されたラスターイメージデータが入力される。本実施の形態に係る画像形成システム100では、上述したDFE装置200側のPCIeブリッジ14と、画像形成装置400側のPCIeブリッジ27との双方に、それぞれノントランスペアレントタイプのブリッジが用いられる。つまり、本実施の形態に係る画像形成システム100では、ノントランスペアレントタイプのブリッジ同士を通信ケーブル300によって接続することで、DFE装置200と画像形成装置400との間のホスト間通信が可能とされている。この場合、DFE装置200側から見て画像形成装置400側のPCIeブリッジ27が非透過の状態となるとともに、画像形成装置400側から見てDFE装置200側のPCIeブリッジ14が非透過の状態となる。このため、画像形成システム100の起動時に、DFE装置200側から立ち上げても画像形成装置400側から立ち上げても画像形成システム100は正常に起動し、起動時の立ち上げ順に制約が加わらない。また、システム起動後の稼働時において通信ケーブル300が抜けたとしても、システムがハングアップすることがない。さらに、DFE装置200と画像形成装置400との間の通信の際に、DFE装置200と画像形成装置400との間でアドレス変換を行う必要があるが、DFE装置200のアドレス空間と、画像形成装置400のアドレス空間のほかに、ノントランスペアレントタイプのブリッジPCIeブリッジ14,27に共通のアドレス空間NT空間を設定することができ、しかもそのNT空間を固定することが可能であるので、DFE装置200側と画像形成装置400側の双方でNT空間とのアドレス変換を行えばよく、アドレス変換が容易となる。また、本実施の形態に係る画像形成システム100では、上述したDFE装置200側のPCIeブリッジ14と、画像形成装置400側のPCIeブリッジ27との双方に、それぞれクロックアイソレーション機能を有するブリッジが用いられ、PCIeブリッジ14とPCIeブリッジ27との間のクロックドメインが、独立したクロックドメインとされている。そして、PCIeブリッジ14とPCIeブリッジ27との間を除く他のクロックドメインでは、クロックとしてスペクトラム拡散クロックが用いられ、PCIeブリッジ14とPCIeブリッジ27との間のクロックドメインでは、クロックとして非スペクトラム拡散クロックが用いられる。これにより、不要輻射EMIの低減を図りつつ、DFE装置200と画像形成装置400との間で同期を取りながら適切な通信を行えるようにしている。メモリコントローラ統合型プロセッサ21は、DFE装置200からのラスターイメージデータの転送を制御するための転送制御処理などを実行する。メモリコントローラ統合型プロセッサ21は、この転送制御処理を含む各種の処理ソフトウェアを実行するための作業領域として、メインメモリ22を用いる。なお、本実施の形態に係る画像形成システム100では、DFE装置200から画像形成装置400へ非圧縮の状態でラスターイメージデータが転送される。また、ラスターイメージデータに対する画像編集のための画像処理は、DFE装置200側で行われている。したがって、メモリコントローラ統合型プロセッサ21は、ラスターイメージデータの伸張処理や画像編集のための画像処理を行わない。メモリコントローラ統合型プロセッサ21は、PCH23およびこれに接続された制御信号伝送用ケーブル28を介して、DFE装置200のDFE処理部10と接続されている。DFE装置200から画像形成装置400へのラスターイメージデータの転送は、メモリコントローラ統合型プロセッサ21から制御信号伝送用ケーブル28経由でDFE処理部10へと伝送される制御信号に従って実行され、ページ単位でのラスターイメージデータの転送開始タイミングなどが制御される。メインメモリ22は、第1のメモリバス29を介してメモリコントローラ統合型プロセッサ21と接続されている。このメインメモリ22は、メモリコントローラ統合型プロセッサ21の作業領域として用いられる。本実施の形態に係る画像形成システム100では、DFE装置200から転送されたラスターイメージデータは、このメインメモリ22には格納されず、メモリコントローラ30に接続されたフレームメモリ31に格納される。PCIeスイッチ24は、PCIeブリッジ27と、メモリコントローラ30と、プロッタASIC25aと、プロッタASIC25bと、メモリコントローラ統合型プロセッサ21とに接続される。PCIeスイッチ24は、これらPCIeブリッジ27、メモリコントローラ30、プロッタASIC25a、プロッタASIC25b、および、メモリコントローラ統合型プロセッサ21の間のパケットルーティングを行う。なお、本実施の形態に係る画像形成システム100では、メモリコントローラ統合型プロセッサ21とPCIeスイッチ24との間の接続レーン数は、最小の1レーン接続×1としている。これは、本実施の形態に係る画像形成システム100の場合、メモリコントローラ統合型プロセッサ21とPCIeスイッチ24との間でラスターイメージデータの転送は行われず、これらの間では、メモリコントローラ統合型プロセッサ21がプロッタASIC25a,25bに1ラインのサイズやディスクリプタのアドレスを設定するためのレジスタ設定用のパケット程度しか転送されないためである。プロッタASIC25a,25bは、メモリリード転送により、フレームメモリ31に格納されたラスターイメージデータを、プリンタエンジン26の印刷速度紙送り速度に同期して、主走査方向1ライン分ずつメインメモリ22から読み出して、プリンタエンジン26に転送する。なお、プロッタASIC25a,25bは、それぞれ4色分のメモリリード転送処理が可能な構成であり、プロッタASIC25aがCMYKの4色に対応し、プロッタASIC25bがクリアトナーや特色2色に対応している。メモリリード転送とは、読み出し要求本実施の形態では、画像形成装置400のフレームメモリ31からラスターイメージデータを読み出す要求である。以下、この読み出し要求をリードリクエストという。に応じてデータを転送する処理である。プリンタエンジン26は、プロッタASIC25a,25bによりライン周期で転送されるラスターイメージデータに基づいて、記録媒体である紙に画像を形成する。フレームメモリ31は、DFE装置200から転送されたラスターイメージデータをページ単位で格納する。フレームメモリ31としては、例えば、高速のデータ転送速度を実現できるDDRが用いられる。なお、フレームメモリ31としては、DDR以外にも、クロック信号に同期してデータの書き込みおよび読み出しを行う各種SDRAMを利用可能である。フレームメモリ31は、第2のメモリバス33を介してメモリコントローラ30に接続されている。メモリコントローラ30は、フレームメモリ31に対するラスターイメージデータの書き込みおよび読み出しを制御する。メモリコントローラ30は、第2のメモリバス33を介してフレームメモリ31と接続されているとともに、PCIeスイッチ24と接続される。このようなメモリコントローラ30としては、例えば、PCIe接続ポートとDDRメモリバス第2のメモリバス33を有するASICや、PCIeとDDRメモリバスとに対応した高速IOを搭載した汎用の高速FPGAFieldProgrammableGateArrayなどが用いられる。なお、メモリコントローラ30の具体的な構成例については詳細を後述する。メモリコントローラ30とPCIeスイッチ24との間の接続レーン数は、2つのプロッタASIC25a,25bで必要とされる帯域よりも広い帯域が確保できる接続レーン数とされる。本実施の形態に係る画像形成システム100では、プロッタASIC25a,25bがそれぞれ4レーン接続×4とされているため、メモリコントローラ30とPCIeスイッチ24との間の接続レーン数を、8レーン接続×8としている。次に、本実施の形態に係る画像形成システム100におけるラスターイメージデータのデータフローについて、図5を参照して説明する。図5は、図4に示した構成の画像形成装置400におけるラスターイメージデータのデータフローを示す図である。DFE装置200のRIP処理部11により生成されたラスターイメージデータは、画像処理部12による画像処理が行われた後、データ転送処理部13によるメモリライト転送によって、非圧縮の状態でPCIeブリッジ14および通信ケーブル300を経由して、ページ単位で画像形成装置400へと転送される。DFE装置200から画像形成装置400へと転送されたラスターイメージデータは、PCIeブリッジ27、PCIeスイッチ24を経由してメモリコントローラ30に入力され、メモリコントローラ30によってフレームメモリ31に書き込まれる図5の破線矢印1で示す経路。このとき、画像形成装置400のPCIeスイッチ24は、PCIeブリッジ27とメモリコントローラ30との間でのラスターイメージデータの転送を中継する。メモリコントローラ30は、通信ケーブル300、PCIeブリッジ27およびPCIeスイッチ24を経由してDFE装置200から転送されたラスターイメージデータを、第2のメモリバス33を介してフレームメモリ31に格納する。1ページ分のラスターイメージデータがフレームメモリ31に格納されると、画像形成装置400のプロッタASIC25a,25bが、メモリコントローラ30に対してリードリクエストを送信する。その後、プロッタASIC25a,25bは、メモリリード転送によって、プリンタエンジン26の印刷速度紙送り速度に同期して、フレームメモリ31にページ分が格納されたラスターイメージデータを、1ライン分ずつフレームメモリ31から読み出し、プリンタエンジン26に転送する図5の破線矢印2および破線矢印3で示す経路。このとき、PCIeスイッチ24は、メモリコントローラ30とプロッタASIC25a,25bとの間でのラスターイメージデータの転送を中継する。プロッタASIC25a,25bは、メモリコントローラ30を介してフレームメモリ31から読み出したラスターイメージデータを、PCIeスイッチ24経由で取得し、プリンタエンジン26に供給する。プロッタASIC25a,25bによるメモリリード転送によって1ライン分ずつのラスターイメージデータがフレームメモリ31からプリンタエンジン26に供給されている間、次のページのラスターイメージデータが、DFE装置200のデータ転送処理部13によるメモリライト転送により、画像形成装置400に転送されてフレームメモリ31に書き込まれる。つまり、本実施の形態に係る画像形成システム100では、ラスターイメージデータをページ単位でフレームメモリ31に書き込む処理と、フレームメモリ31からラスターイメージデータをライン単位で読み出してプリンタエンジン26に供給する処理とを同時並行で処理することで、印刷処理が実行される。本実施の形態に係る画像形成システム100では、以上のように、ラスターイメージデータをページ単位でフレームメモリ31に書き込む処理と、フレームメモリ31からラスターイメージデータをライン単位で読み出してプリンタエンジン26に供給する処理とを同時並行で処理する。このため、PCIeスイッチ24からメモリコントローラ30に対しては、ライトリクエストを含むライトパケットと、リードリクエストを含むリードパケットとが混在したパケットシーケンスが送られる。メモリコントローラ30は、このパケットシーケンスに含まれるライトパケットとリードパケットの並びを変更することにより、フレームメモリ31へのラスターイメージデータの書き込みや読み出しを高速に行えるようにする機能を備える。図6は、ラスターイメージデータの構成を説明する図である。ラスターイメージデータは、図6に示すように、主走査方向および副走査方向の2次元配列によって構成されている。上述した本実施の形態に係る画像形成システム100では、DFE装置200のRIP処理部11によって図6のようなラスターイメージデータが生成され、画像形成装置400のフレームメモリ31に転送される。プロッタASIC25a,25bによるフレームメモリ31からプリンタエンジン26へのデータ転送は、主走査方向の画素データを決められた時間周期に転送する処理を副走査方向に繰り返す、同期転送によって実行される。図7は、画像形成装置400のメモリリード転送におけるトランザクションについての説明図である。画像形成装置400のメモリリード転送は、図7に示すように、主走査方向の1ラインごとに、複数の画素データを1つのパケットデータとして、1ラインずつ複数図7の例ではn個のパケット群から構成されるトランザクションとして、副走査方向に画像が走査される速度に同期させて転送する必要がある。1トランザクションあたりの許容時間を、1ライン周期と呼ぶ。1ライン周期は、下記のように、プリンタエンジン26の紙送り速度と印刷画像解像度によって決まる。1ライン周期s=1/{[紙送り速度mm/s]×[1mmあたりの画素数]}なお、画像形成装置400がスキャナエンジンを備える場合には、スキャナエンジンで読み取った画素データを同様の同期転送によりフレームメモリ31に転送する必要がある。この場合の1ライン周期は、下記のように、スキャナエンジンが備えるヘッドの移動速度と読み取り解像度によって決まる。1ライン周期s=1/{[ヘッド移動速度mm/s]×[1mmあたりの画素数]}図8は、画像形成装置400の1ライン周期に同期したデータ転送の一例を示すタイミングチャートである。以下では、説明を簡単にするために、1ライン分のデータ量を4つのパケットで転送できるものとして説明する。プロッタASIC25a,25bによるフレームメモリ31からプリンタエンジン26へのメモリリード転送は、上記のように1ライン周期に同期させた同期転送となる。このメモリリード転送は、プロッタASIC25a,25bからフレームメモリ31へのリードリクエストパケット読み出し要求に応じて実行される。ラスターイメージデータの1ライン分の全てのパケットデータ図中D1~D4が、1ライン周期内でフレームメモリ31からプリンタエンジン26へ転送されれば、ライン同期制約が守られていることになる。図8の例では、パケットデータD1~D4の転送が1ライン周期内で完了しており、ライン同期制約が満たされている。パケットデータD1~D4の転送が完了してから次のライン周期が始まるまでの間は、余裕時間となる。図8の例では、プロッタASIC25a,25bからのリードリクエストに対するフレームメモリ31からの応答遅延時間レイテンシが短いため、ライン同期制約を満たしたデータ転送が可能となっている。しかしながら、応答遅延時間が長くなると、ラスターイメージデータの1ライン分の全てのパケットデータ図中D1~D4の転送を1ライン周期内で完了させることができなくなり、プリンタエンジン26でエラーが発生するとともに、紙には異常画像が印刷されてしまうことになる。以上のようなライン同期制約は、高速で移動する紙にプリンタエンジン26で画像を形成する画像形成装置400でのデータ転送に固有のものであり、例えば、図5の破線矢印1で示したように、DFE装置200から画像形成装置400に対してラスターイメージデータをページ単位で転送する場合には、このような制約は存在しない。つまり、ページ単位でのデータ転送が遅れると、時間あたりの印刷枚数が減ることはあるが、印刷する紙のページ間では、プリンタエンジン26を一時停止して、ページ単位でのデータ転送完了を待つことができ、エラー発生や異常画像の印刷にはつながらないためである。これに対して、高速な紙の移動は、ライン単位でのデータ転送が遅れた場合に急停止することはできないため、ライン同期制約は必ず守られていなければならない。特に、大量印刷業種向けなど、高速かつ高解像度の印刷処理が求められる画像形成システムでは、1ライン周期が数十μsレベルと非常に短く、この短い期間内に数十kbyteにもなる1ライン分のデータ量を転送しなければならなくなってきており、このような状況であってもライン同期制約を確実に守れるようにする対策が求められている。また、本実施の形態に係る画像形成システム100は、上述したように、ラスターイメージデータをページ単位でフレームメモリ31に書き込む処理と、フレームメモリ31からラスターイメージデータをライン単位で読み出してプリンタエンジン26に供給する処理とを同時並行で処理するシステムである。したがって、フレームメモリ31へのラスターイメージデータの書き込みと読み出しが時分割で交互に行われることになり、ライン同期制約を確実に守れるようにするためには、フレームメモリ31に対するアクセスを適切に制御する必要がある。さらに、上述したプリンタエンジン26の一時停止を防止し、システムとしての性能向上を図るためには、ライン同期制約を確実に守れるようにすることに加え、DFE装置200から画像形成装置400に対するページ単位でのラスターイメージデータの転送も効率よく行えるようにする必要がある。そこで、本実施の形態に係る画像形成システム100では、フレームメモリ31に対するラスターイメージデータの書き込みおよび読み出しを制御するメモリコントローラ30に、入力したパケットシーケンスに含まれるライトパケットとリードパケットの並びを変更して、フレームメモリ31へのラスターイメージデータの書き込みや読み出しを高速に行えるようにする機能を持たせている。本実施の形態に係る画像形成システム100では、画像形成装置400のフレームメモリ31として、上述したようにDDRを用いる。したがって、フレームメモリ31に対するラスターイメージデータの書き込みや読み出しの際に、同一のロウアドレスを連続してアクセスする場合は、データの書き込みや読み出しが高速になる。一方、ロウアドレスが頻繁に切り替わる場合、特に、異なるロウアドレスを指定してデータの書き込みと読み出しを交互に行う場合は、書き込みから読み出しの切り替えを行うたびにコマンド受付完了待ちの時間が発生するため、パフォーマンスが低下する。詳述すると、DDRからのデータ読み出しは、ロウアドレスにより指定される行のうち、カラムアドレスにより指定されるメモリセルの電荷をデータとして出力する動作となる。このとき、メモリセルの電荷をチャージして出力する必要があるが、電荷のチャージは同一のロウアドレスのメモリセルに対して一括して行われる。したがって、同一のロウアドレスから連続してデータを読み出す場合は、最初に電荷のチャージを行えば、それ以降は、メモリセルからデータを読み出すたびに電荷のチャージを行う必要はない。しかしながら、データの読み出しの間に、異なるロウアドレスのメモリセルに対するデータの書き込みが介入すると、データの書き込みの後に再度データの読み出しを行う際に、再度電荷のチャージを行う必要がある。このデータ読み出し時に電荷のチャージが終了するまでの時間が、コマンド受付完了待ちの時間となる。なお、データの書き込み時には電荷をチャージする必要がないため、このような時間が発生しない。本実施の形態に係る画像形成システム100では、上述したように、DFE装置200から画像形成装置400にラスターイメージデータを転送してフレームメモリ31に書き込む処理と、フレームメモリ31から読み出したラスターイメージデータに基づく画像の印刷とが同時に行われる。このため、フレームメモリ31に対しては、ラスターイメージデータの書き込みと読み出しが時分割で交互に行われることになり、異なるロウアドレスを指定したデータの書き込みと読み出しの切り替えが頻繁に発生する。すなわち、フレームメモリ31からのラスターイメージデータの読み出しは、ラインごとに行われるため、同一のロウアドレスからのデータ読み出しとなる。したがって、1ライン分のラスターイメージデータをフレームメモリ31から連続して読み出すことができれば、ラインの最初のデータの読み出し時に電荷をチャージする時間が必要となるが、その後のデータ読み出しは、高速に行うことができる。しかしながら、本実施の形態に係る画像形成システム100では、1ライン分のラスターイメージデータをフレームメモリ31から読み出している間に、DFE装置200から画像形成装置400に転送されたラスターイメージデータをフレームメモリ31に書き込む必要がある。このとき、ラスターイメージデータの書き込み先は、既にラスターイメージデータの読み出しが終了したメモリセルとなる。したがって、ラスターイメージデータを読み出し中のメモリセルとは異なるロウアドレスのメモリセルに対して書き込みが行われることになり、例えば、1パケットずつのデータの書き込みと読み出しを交互に行うようにすると、書き込みから読み出しの切り替えを行うたびにコマンド受付完了待ちの時間が発生し、データ転送効率が低下する。図9は、メモリコントローラ30に入力されるパケットシーケンスの一例を示す概念図である。図9では、パケットシーケンスに含まれる各パケットのうち、リードパケットを細線の四角、ライトパケットを太線の四角でそれぞれ示している。リードパケットは、リードリクエストを含むパケットである。ライトパケットは、ライトリクエストを含むパケットである。本実施の形態では、ライトパケットには、ライトリクエストの他に、フレームメモリ31に書き込むラスターイメージデータ以下、ラスターイメージデータを単にデータと略称する。が含まれているものとして説明する。このため、ライトパケットの処理に必要な時間はリードパケットの処理に必要な時間よりも長く、例えば、リードパケットが1パケットあたり6サイクル1サイクルは同期信号の立ち上がりから次の同期信号の立ち上がりまでの時間の処理時間を要するのに対し、ライトパケットは1パケットあたり10サイクルの処理時間を要する。なお、パケットシーケンスは図中の矢印の方向に流れるものとし、各パケットに付した数字は、メモリコントローラ30に入力される順番を示す。図10は、図9に示したパケットシーケンスをそのまま処理してフレームメモリ31に対するデータの書き込みと読み出しを行った場合の処理時間を示す概念図である。図中のハッチングを付した領域が、コマンド受付完了待ちの時間例えば10サイクルを表している。図10に示すように、フレームメモリ31に入力されるパケットシーケンスにライトパケットとリードパケットとが混在する場合、ライトパケットを処理してからリードパケットを処理するまでの間に、コマンド受付完了待ちの時間が発生する。これは、上述したように、ライトパケットに含まれるライトリクエストが指定するロウアドレスとリードパケットに含まれるリードリクエストが指定するロウアドレスが異なり、リードリクエストに応じてメモリセルからデータを読み出す際に電荷をチャージする時間が必要となるためである。このライトパケットとリードパケットの間のコマンド受付完了待ちの時間が頻繁に発生すると、データ転送効率の低下を招き、上述したライン同期制約の遵守や、プリンタエンジン26による複数ページの連続印刷の維持が難しくなる。図11は、本実施の形態の画像形成装置400が備えるメモリコントローラ30の機能的な構成の一例を示すブロック図である。メモリコントローラ30は、図11に示すように、シーケンス制御部310と、メモリコントロール部320とを備える。シーケンス制御部310は、メモリコントローラ30に入力されたパケットシーケンスに含まれるライトパケットとリードパケットの並びを、ライトパケットが第1所定数連続し、リードパケットが第2所定数連続するように変更する。シーケンス制御部310は、ライト用バッファ311、リード用バッファ312、および、バッファ制御部313を備える。ライト用バッファ311は、メモリコントローラ30に入力されたパケットシーケンスに含まれるライトパケットを、予め定めた第1所定数蓄積し、蓄積した第1所定数のライトパケットを連続して出力する。また、リード用バッファ312は、メモリコントローラ30に入力されたパケットシーケンスに含まれるリードパケットを、予め定めた第2所定数蓄積し、蓄積した第2所定数のリードパケットを連続して出力する。バッファ制御部313は、ライト用バッファ311からのライトパケットの出力と、リード用バッファ312からのリードパケットの出力を制御する。具体的には、バッファ制御部313は、ライト用バッファ311が第1所定数のライトパケットを連続して出力していないときにリード用バッファ312から第2所定数のリードパケットを連続して出力させ、リード用バッファ312が第2所定数のリードパケットを連続して出力していないときにライト用バッファ311から第1所定数のリードパケットを連続して出力させる。ライト用バッファ311によるライトパケットの蓄積数第1所定数と、リード用バッファ312によるリードパケットの蓄積数第2所定数は、下記の2つの条件を同時に満たす数に設定される。条件1:フレームメモリ31から画像の水平方向1ライン分のデータを読み出す時間が、ライン同期制約を守るために予め定めた目標時間以下、ライン読み出し目標時間という。以下になる。条件2:フレームメモリ31に画像の1ページ分のデータを書き込む時間が、ページ間でプリンタエンジン26を一時停止させることなく複数ページの連続印刷を行えるようにするために予め定めた目標時間以下、ページ書き込み目標時間という。以下になる。なお、上記の条件1および条件2の双方を同時に満たす第1所定数および第2所定数の具体例については、詳細を後述する。メモリコントローラ30に入力されたパケットシーケンスは、シーケンス制御部310の処理によってパケットの並び替えが行われる。そして、シーケンス制御部310から出力されるパケットシーケンスは、ライトパケットが第1所定数連続し、リードパケットが第2所定数連続するパケットシーケンスとなる。なお、図11では、便宜上、ライトパケットとリードパケットが2つずつ連続するようにパケットシーケンスに含まれるパケットの並び替えが行われた例を図示している。シーケンス制御部310によりパケットの並び替えが行われたパケットシーケンスは、メモリコントロール部320に入力される。メモリコントロール部320は、コマンド生成部321特許請求の範囲に記載のコマンド出力部に相当と、データ制御部322とを備える。コマンド生成部321は、シーケンス制御部310によりパケットの並び替えが行われたパケットシーケンスを入力し、入力したパケットシーケンスのライトパケットとリードパケットの並び順に従って、ライトパケットに応じたライトコマンドおよびリードパケットに応じたリードコマンドをそれぞれ生成し、フレームメモリ31に出力する。具体的には、コマンド生成部321は、入力したパケットシーケンスの先頭のパケットから順に、パケットに含まれるリクエストライトリクエストまたはリードリクエストを参照し、リクエストに含まれるアクセス情報アクセスするメモリセルのアドレスと、アクセス方向情報ライト/リードなどに基づいて、フレームメモリ31へ与えるRASRowArrayStrobe、CASColumnArrayStrobeなどのコマンドアクセ方向情報がライトであればライトコマンド、リードであればリードコマンドを生成する。そして、コマンド生成部321は、生成したコマンドをフレームメモリ31に出力する。データ制御部322は、フレームメモリ31に対するデータの書き込みおよび読み出しを制御する。具体的には、データ制御部322は、メモリライト転送の場合は、メモリコントロール部320に入力されたライトパケットから書き込むべきデータを取り込んでフレームメモリ31に出力する。また、データ制御部322は、メモリリード転送の場合は、フレームメモリ31から読み出されたデータを取り込んで、PCIeスイッチ24に出力する。図12は、メモリコントローラ30が備えるシーケンス制御部310による処理の流れを示すフローチャートである。図12のフローチャートは、画像の1ページ分のデータの書き込みまたは読み出しが終了するまでのシーケンス制御部310による処理の流れを示している。ステップS101:シーケンス制御部310は、パケットシーケンスの先頭から順に、パケットシーケンスに含まれるパケットを入力し、ステップS102に進む。ステップS102:シーケンス制御部310は、ステップS101で入力したパケットがライトパケットであるか否かを判定する。そして、ステップS101で入力したパケットがライトパケットであればステップS102:YesステップS103に進み、ステップS101で入力したパケットがリードパケットであればステップS102:NoステップS111に進む。ステップS103:シーケンス制御部310は、ステップS101で入力したライトパケットをライト用バッファ311に格納し、第1カウンタをカウントアップして、ステップS104に進む。第1カウンタは、第1所定値をカウントするためのカウンタである。ステップS104:シーケンス制御部310は、第1カウンタのカウント値が第1所定値に達したか否かを判定する。そして、第1カウンタのカウント値が第1所定値に達していればステップS104:YesステップS105に進み、第1カウンタのカウント値が第1所定値未満であればステップS104:NoステップS109に進む。ステップS105:シーケンス制御部310は、リード用バッファ312からのリードパケットの出力中であるかどうかを判定する。そして、リード用バッファ312からのリードパケットの出力中であればステップS105:YesステップS106に進み、リード用バッファ312からのリードパケットの出力中でなければステップS105:NoステップS107に進む。ステップS106:シーケンス制御部310は、リード用バッファ312からのリードパケットの出力が終わるまで待機し、ステップS107に進む。ステップS107:シーケンス制御部310は、ライト用バッファ311に蓄積された第1所定数のライトパケットをライト用バッファ311から連続して出力させるとともに、第1カウンタをリセットし、ステップS108に進む。ステップS108:シーケンス制御部310は、画像の1ページ分のデータの書き込みまたは読み出しが終了したか否かを判定する。そして、画像の1ページ分のデータの書き込みまたは読み出しが終了していればステップS108:Yes、図12のフローチャートで示す一連の処理を終了する。一方、画像の1ページ分のデータの書き込みまたは読み出しが終了していなければステップS108:No、シーケンス制御部310は、ステップS101に戻って次のパケットを入力し、ステップS101以降の処理を繰り返し行う。ステップS109:シーケンス制御部310は、画像の1ページ分のデータに対応するライトパケットが入力されたか否かを判定する。そして、画像の1ページ分のデータに対応するライトパケットが入力されていればステップS109:YesステップS110に進み、画像の1ページ分のデータに対応するライトパケットが入力されていなければステップS109:No、ステップS101に戻って次のパケットを入力し、ステップS101以降の処理を繰り返し行う。ステップS110:シーケンス制御部310は、ライト用バッファ311に蓄積されたライトパケット第1所定数に満たないライトパケットをライト用バッファ311から連続して出力させるとともに、第1カウンタをリセットし、図12のフローチャートで示す一連の処理を終了する。ステップS111:シーケンス制御部310は、ステップS101で入力したリードパケットをリード用バッファ312に格納し、第2カウンタをカウントアップして、ステップS112に進む。第2カウンタは、第2所定値をカウントするためのカウンタである。ステップS112:シーケンス制御部310は、第2カウンタのカウント値が第2所定値に達したか否かを判定する。そして、第2カウンタのカウント値が第2所定値に達していればステップS112:YesステップS113に進み、第2カウンタのカウント値が第2所定値未満であればステップS112:NoステップS117に進む。ステップS113:シーケンス制御部310は、ライト用バッファ311からのライトパケットの出力中であるかどうかを判定する。そして、ライト用バッファ311からのライトパケットの出力中であればステップS113:YesステップS114に進み、ライト用バッファ311からのライトパケットの出力中でなければステップS113:NoステップS115に進む。ステップS114:シーケンス制御部310は、ライト用バッファ311からのライトパケットの出力が終わるまで待機し、ステップS115に進む。ステップS115:シーケンス制御部310は、リード用バッファ312に蓄積された第2所定数のリードパケットをリード用バッファ312から連続して出力させるとともに、第2カウンタをリセットし、ステップS116に進む。ステップS116:シーケンス制御部310は、画像の1ページ分のデータの書き込みまたは読み出しが終了したか否かを判定する。そして、画像の1ページ分のデータの書き込みまたは読み出しが終了していればステップS116:Yes、図12のフローチャートで示す一連の処理を終了する。一方、画像の1ページ分のデータの書き込みまたは読み出しが終了していなければステップS116:No、シーケンス制御部310は、ステップS101に戻って次のパケットを入力し、ステップS101以降の処理を繰り返し行う。ステップS117:シーケンス制御部310は、画像の1ページ分のデータに対応するリードパケットが入力されたか否かを判定する。そして、画像の1ページ分のデータに対応するリードパケットが入力されていればステップS117:YesステップS118に進み、画像の1ページ分のデータに対応するライトパケットが入力されていなければステップS117:No、ステップS101に戻って次のパケットを入力し、ステップS101以降の処理を繰り返し行う。ステップS118:シーケンス制御部310は、リード用バッファ312に蓄積されたリードパケット第2所定数に満たないリードパケットをリード用バッファ312から連続して出力させるとともに、第2カウンタをリセットし、図12のフローチャートで示す一連の処理を終了する。以上のように、本実施の形態に係る画像形成システム100においては、画像形成装置400のメモリコントローラ30に、ライトパケットが第1所定数連続し、リードパケットが第2所定数連続するように、パケットシーケンスに含まれるパケットの並びを変更するシーケンス制御部310を設けている。そして、シーケンス制御部310により変更された並び順に従って、メモリコントロール部320からフレームメモリ31に対して、ライトパケットに応じたライトコマンドと、リードパケットに応じたリードコマンドとが出力されるようにしている。したがって、データの書き込みから読み出しへの切り替え時のコマンド受付完了待ちの時間の発生回数を減らし、データ転送効率の向上を図ることができる。これにより、上述したライン同期制約を遵守して異常画像が印刷されることを防止できるとともに、DFE装置200から画像形成装置400に対するページ単位でのデータ転送も効率よく行って、複数ページの連続印刷を継続的に行うことができる。次に、シーケンス制御部310のライト用バッファ311に蓄積するライトパケットの蓄積数第1所定数と、リード用バッファ312に蓄積するリードパケットの蓄積数第2所定数の具体例について、図13~図17を参照しながら詳しく説明する。第1所定数と第2所定数は、上述した条件1および条件2の双方を同時に満たす数に設定される。これら第1所定数と第2所定数が取りうる範囲は、ライン読み出し目標時間read_line_timeと、ページ書き込み目標時間write_page_timeと、1ライン分のデータの読み出しに要する時間以下、1ラインリード時間という。t_read_line1と、1ページ分のデータの書き込みに要する時間以下、1ページライト時間という。t_write_page1との関係から定められる。ライン読み出し目標時間read_line_timeと、ページ書き込み目標時間write_page_timeは、画像形成装置400のプリンタエンジン26の性能などに応じて決まる値である。1ラインリード時間t_read_line1と、1ページライト時間t_write_page1は、下記のように算出することができる。まず、1ラインリード時間t_read_line1と、1ページライト時間t_write_page1の算出に使用する用語について、以下のように定義する。1ラインのバイト数:line1_byteByte1ページの総バイト数:page1_byteByteリードパケットのサイズ:read_sizeByteライトパケットのサイズ:write_sizeByteリードパケットのサイズ毎での時間:t_resdsライトパケットのサイズ毎での時間:t_writesデータの書き込みから読み出しへ切り替わる際のコマンド受付完了待ちの時間:t_waitsread_unit_numあたりで、バッファリング等で生じる待ち時間:t_bufsリードパケットのバッファ蓄積数第2所定数:read_buf_numライトパケットのバッファ蓄積数第1所定数:write_buf_num次に、1ラインリード時間t_read_line1および1ページライト時間t_write_page1の算出方法の一例について、図13を参照しながら説明する。図13は、1ラインリード時間t_read_line1および1ページライト時間t_write_page1の算出に使用するread_unit_numおよびwrite_unit_numの概念を説明する図であり、図13aがread_unit_numの説明図、図13bがwrite_unit_numの説明図である。read_unit_numは、リードパケットのバッファ蓄積数read_buf_numを1つのユニットとしたときの1ラインでのユニット数である。つまり、例えば、図13aに例示するように、read_buf_num=3の場合に、3つのリードパケットの塊であるユニットが1ラインにいくつ含まれるかを示したものがread_unit_numである。read_unit_numは、下記式1のように表すことができる。read_unit_num=line1_byte/read_size×read_buf_numの切り捨て1このread_unit_numを用いると、1ラインリード時間t_read_line1は、下記式2のように表すことができる。t_read_line1=read_unit_num×read_buf_num×t_readwrite_buf_num×t_writet_waitt_bufα2なお、αは1ラインのバイト数line1_byteをread_unit_numで除算したときの剰余バイト分の時間であり、例えば下記式3のように表すことができる。α=ROUNDUPline1_byte-read_unit_num×read_buf_num/read_size×t_resd3なお、ROUNDUPは整数部への切り上げである。write_unit_numは、ライトパケットのバッファ蓄積数write_buf_numをread_unit_num分集めたものを1つのユニットとしたときの1ページでのユニット数である。つまり、例えば、図13bに例示するように、write_buf_num=2の場合に、2つのライトパケットの塊をread_unit_num分集めたユニットが1ページにいくつ含まれるかを示したものがwrite_unit_numである。write_unit_numは、下記式4のように表すことができる。write_unit_num=page1_byte/write_size×write_buf_num×read_unit_numの切り捨て4このwrite_unit_numを用いると、1ページライト時間t_write_page1は、下記式5のように表すことができる。t_write_page1=write_unit_num×t_read_line1β5なお、βは1ページの総バイト数page1_byteをwrite_unit_num単位の総バイト数で除算したときの剰余バイト分の時間であり、例えば下記式6のように表すことができる。β=ROUNDUPpage1_byte-write_size×write_buf_num×read_unit_num×write_unit_num/write_size×t_write6なお、ROUNDUPは整数部への切り上げである。図14は、1ラインリード時間t_read_line1と、リードパケットのバッファ蓄積数read_buf_numおよびライトパケットのバッファ蓄積数write_buf_numとの関係を示すグラフ図である。図14の横軸はリードパケットのバッファ蓄積数read_buf_numであり、縦軸は1ラインリード時間t_read_line1である。図14では、例として、ライトパケットのバッファ蓄積数write_buf_numが1,2,4,8,16,32の場合について、リードパケットのバッファ蓄積数read_buf_numに対する1ラインリード時間t_read_line1を、それぞれグラフとして示している。図15は、1ページライト時間t_write_page1と、リードパケットのバッファ蓄積数read_buf_numおよびライトパケットのバッファ蓄積数write_buf_numとの関係を示すグラフ図である。図15の横軸はリードパケットのバッファ蓄積数read_buf_numであり、縦軸は1ページライト時間t_write_page1である。図15では、例として、ライトパケットのバッファ蓄積数write_buf_numが1,2,4,8,16,32の場合について、リードパケットのバッファ蓄積数read_buf_numに対する1ページライト時間t_write_page1を、それぞれグラフとして示している。図16および図17は、図14および図15のグラフ図において、1ラインリード時間t_read_line1がライン読み出し目標時間read_line_time以下上記の条件1となり、かつ、1ページライト時間t_write_page1がページ書き込み目標時間write_page_time以下上記の条件2となるリードパケットのバッファ蓄積数read_buf_num第2所定数およびライトパケットのバッファ蓄積数write_buf_num第1所定数の範囲を説明する図である。なお、図16では、一例として、ライン読み出し目標時間read_line_timeを0.0005sとしている。また、図17では、一例として、ページ書き込み目標時間write_page_timeを3sとしている。図16に示す各グラフにおいて、1ラインリード時間t_read_line1がライン読み出し目標時間read_line_timeと等しくなるときのリードパケットのバッファ蓄積数read_buf_numが、リードパケットのバッファ蓄積数の下限値read_buf_num_minとなる。また、図17に示す各グラフにおいて、1ページライト時間t_write_page1がページ書き込み目標時間write_page_timeと等しくなるときのリードパケットのバッファ蓄積数read_buf_numが、リードパケットのバッファ蓄積数の上限値read_buf_num_maxとなる。任意の数のライトパケットのバッファ蓄積数write_buf_numに対して、下限値read_buf_num_minから上限値read_buf_num_maxの間のリードパケットのバッファ蓄積数read_buf_numが、上記の条件1および条件2の双方を同時に満たすリードパケットのバッファ蓄積数read_buf_num第2所定数の許容範囲となる。図16および図17では、ライトパケットのバッファ蓄積数write_buf_numが8,16,32のときのリードパケットのバッファ蓄積数read_buf_numの許容範囲を、それぞれ破線の枠で示している。例えば、ライトパケットのバッファ蓄積数write_buf_num第1所定数が32の場合、上記の条件1および条件2の双方を同時に満たすリードパケットのバッファ蓄積数read_buf_num第2所定数の許容範囲は、およそ15~25となる。以下、ライトパケットのバッファ蓄積数write_buf_num第1所定数が32の場合を例に挙げて、上記の条件1および条件2の双方を同時に満たすリードパケットのバッファ蓄積数read_buf_num第2所定数の許容範囲の求め方について具体的に説明する。リードパケットのバッファ蓄積数read_buf_num第2所定数をrn図15および図16の例ではrn=1~32とし、ライトパケットのバッファ蓄積数write_buf_num第1所定数が32で、かつ、リードパケットのバッファ蓄積数rnの場合の1ラインリード時間をread_line_time32rnとする。また、ライトパケットのバッファ蓄積数write_buf_num第1所定数が32で、かつ、リードパケットのバッファ蓄積数rnの場合の1ページライト時間をwrite_page_time32rnとする。図16に示したグラフ図より、1ラインリード時間read_line_time32rnがライン読み出し目標時間read_line_time以下となるリードパケットのバッファ蓄積数read_buf_numのうち、最小の値を、リードパケットのバッファ蓄積数の下限値read_buf_num_minとする。図16の例では、この条件条件1を満たすリードパケットのバッファ蓄積数read_buf_numは15~32であるので、その中で最小の15がリードパケットのバッファ蓄積数の下限値read_buf_num_minとなる。次に、図17に示したグラフ図より、1ページライト時間write_page_time32rnがページ書き込み目標時間write_page_time以下となるリードパケットのバッファ蓄積数read_buf_numのうち、最大の値を、リードパケットのバッファ蓄積数の上限値read_buf_num_maxとする。図17の例では、この条件条件2を満たすリードパケットのバッファ蓄積数read_buf_numは1~25であるので、その中で最大の25がリードパケットのバッファ蓄積数の上限値read_buf_num_maxとなる。任意の数のライトパケットのバッファ蓄積数write_buf_numに対して、以上のように求めたリードパケットのバッファ蓄積数の下限値read_buf_num_minと上限値read_buf_num_maxが、read_buf_num_min≦read_buf_num_maxの関係にあれば、上記任意の数のライトパケットのバッファ蓄積数write_buf_numとの関係において、read_buf_num_minからread_buf_num_maxの範囲が、上記の条件1および条件2の双方を同時に満たすリードパケットのバッファ蓄積数read_buf_num第2所定数の許容範囲となる。一方、read_buf_num_min>read_buf_num_maxの関係にあれば、上記任意の数のライトパケットのバッファ蓄積数write_buf_numとの組み合わせで、上記の条件1および条件2の双方を同時に満たすリードパケットのバッファ蓄積数read_buf_numは存在しないことになる。以上のようにして、上記の条件1および条件2の双方を同時に満たすライトパケットのバッファ蓄積数write_buf_num第1所定数と、リードパケットのバッファ蓄積数read_buf_num第2所定数とを決定することができる。決定したライトパケットのバッファ蓄積数write_buf_num第1所定数と、リードパケットのバッファ蓄積数read_buf_num第2所定数は、シーケンス制御部310により、例えば、メモリコントローラ30内の図示しないEEPROMなどの記憶部に記憶される。第2の実施の形態次に、第2の実施の形態について説明する。第2の実施の形態に係る画像形成システムでは、画像形成装置400が、第1の実施の形態で説明したメモリコントローラ30に代えて、メモリコントローラ30’を備える。なお、その他の構成については第1の実施の形態と共通するため、以下、第1の実施の形態と共通する構成については同一の符号を付して重複した説明を省略し、第2の実施の形態に特徴的な点のみ説明する。図18は、本実施の形態の画像形成装置400が備えるメモリコントローラ30’の機能的な構成の一例を示すブロック図である。メモリコントローラ30’は、図18に示すように、リードライト分離部330と、シーケンス制御部310’と、メモリコントロール部320とを備える。リードライト分離部330は、メモリコントローラ30’に入力されたパケットシーケンスに含まれるライトパケットとリードパケットの並びを、ライトパケットとリードパケットとが1つずつ交互に並ぶように変更してシーケンス制御部310’に出力する。リードライト分離部330は、リードライト判別部331と、バッファ332を備える。リードライト判別部331は、メモリコントローラ30’に入力されたパケットシーケンスに含まれるライトパケットとリードパケットを判別する。リードライト判別部331は、ライトパケットとリードパケットのうち、予め定めた一方のパケットを、バッファ332に格納して一時的に保持する。そして、リードライト判別部331は、ライトパケットとリードパケットのうち、バッファ332に一時的に保持されない他方のパケットライトパケットをバッファ332が保持する場合はリードパケット、リードパケットをバッファ332が保持する場合はライトパケットがリードライト分離部330から出力された直後に、バッファ332に一時的に保持した一方のパケットをリードライト分離部330から出力させる。これにより、リードライト分離部330から出力されるパケットシーケンスは、ライトパケットとリードパケットが1つずつ交互に並んだパケットシーケンスとなる。シーケンス制御部310’は、ライト用バッファ311’と、バッファ制御部313’を備える。本実施の形態のシーケンス制御部310’には、第1の実施の形態で説明したリード用バッファ312が設けられていない。ライト用バッファ311’は、リードライト分離部330からシーケンス制御部310’に入力されたパケットシーケンスに含まれるライトパケットを、予め定めた所定数蓄積し、蓄積した所定数のライトパケットを連続して出力する。ここで、所定数は、第1の実施の形態で説明した第1所定数と第2所定数とが等しい場合に、上記の条件1と条件2の双方を同時に満たす数1を除くである。バッファ制御部313’は、ライト用バッファ311’が所定数のライトパケットを連続して出力していないときに、リードライト分離部330からシーケンス制御部310’に入力されたパケットシーケンスに含まれるリードパケットを出力させる。メモリコントローラ30’に入力されたパケットシーケンスは、シーケンス制御部310’の処理によってパケットの並び替えが行われる。そして、シーケンス制御部310’から出力されるパケットシーケンスは、ライトパケットが所定数連続し、リードパケットが所定数連続するパケットシーケンスとなる。なお、図18では、便宜上、ライトパケットとリードパケットが2つずつ連続するようにパケットシーケンスに含まれるパケットの並び替えが行われた例を図示している。シーケンス制御部310’によりパケットの並び替えが行われたパケットシーケンスは、メモリコントロール部320に入力される。本実施の形態のメモリコントローラ30’が備えるメモリコントロール部320は、第1の実施の形態のメモリコントローラ30が備えるメモリコントロール部320と同じであるため、詳細な説明は省略する。図19は、シーケンス制御部310’に入力されるパケットシーケンスと、シーケンス制御部310’から出力されるパケットシーケンスとを、時間t1~t9のそれぞれについて観測した様子を示す説明図である。なお、図19では、ライト用バッファ311’が蓄積するライトパケットの数所定数を2とし、シーケンス制御部310’が、ライトパケットとリードパケットが2つずつ連続するパケットシーケンスを出力する場合を例示している。時刻t1では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの先頭のリードパケットが、シーケンス制御部310’に入力される。時刻t2では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの2つ目のライトパケットが、シーケンス制御部310’に入力される。このとき、シーケンス制御部310’からは、時刻t1で入力された先頭のリードパケットが出力される。時刻t3では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの3つ目のリードパケットが、シーケンス制御部310’に入力される。このとき、時刻t2で入力された2つ目のライトパケットは、ライト用バッファ311’に格納され、シーケンス制御部310’から出力されない。時刻t4では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの4つ目のライトパケットが、シーケンス制御部310’に入力される。このとき、シーケンス制御部310’からは、時刻t3で入力された3つ目のリードパケットが出力される。時刻t5では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの5つ目のリードパケットが、シーケンス制御部310’に入力される。このとき、時刻t4で入力された4つ目のライトパケットは、ライト用バッファ311’に格納され、シーケンス制御部310’から出力されない。時刻t6では、時刻t2で入力され、ライト用バッファ311’に蓄積された2つ目のライトパケットが、シーケンス制御部310’から出力される。このとき、時刻t5で入力された5つ目のリードパケットは、ライトパケットの出力中であるため、出力待ちの状態となる。時刻t7では、時刻t4で入力され、ライト用バッファ311’に蓄積された4つ目のライトパケットが、シーケンス制御部310’から出力される。このとき、時刻t5で入力された5つ目のリードパケットは、ライトパケットの出力中であるため、出力待ちの状態となる。時刻t8では、コマンド受付完了待ちの時間が発生するため、時刻t5で入力された5つ目のリードパケットは、出力待ちの状態となる。時刻t9では、リードパケットとライトパケットが1つずつ交互に並ぶパケットシーケンスの6つ目のリードパケットが、シーケンス制御部310’に入力される。このとき、時刻t5で入力され、出力待ちの状態となっていた5つ目のリードパケットが、シーケンス制御部310’から出力される。以降、同様の動作が繰り返され、リードパケットとライトパケットが2つずつ連続するパケットシーケンスが、シーケンス制御部310’から出力される。図20は、本実施の形態のメモリコントローラ30’が備えるシーケンス制御部310’による処理の流れを示すフローチャートである。図20のフローチャートは、画像の1ページ分のデータの書き込みまたは読み出しが終了するまでのシーケンス制御部310’による処理の流れを示している。ステップS201:シーケンス制御部310’は、パケットシーケンスの先頭から順に、パケットシーケンスに含まれるパケットを入力し、ステップS202に進む。ステップS202:シーケンス制御部310’は、ステップS201で入力したパケットがライトパケットであるか否かを判定する。そして、ステップS201で入力したパケットがライトパケットであればステップS202:YesステップS203に進み、ステップS201で入力したパケットがリードパケットであればステップS202:NoステップS209に進む。ステップS203:シーケンス制御部310’は、ステップS201で入力したライトパケットをライト用バッファ311’に格納し、カウンタをカウントアップして、ステップS204に進む。カウンタは、所定値をカウントするためのカウンタである。ステップS204:シーケンス制御部310’は、カウンタのカウント値が所定値に達したか否かを判定する。そして、カウンタのカウント値が所定値に達していればステップS204:YesステップS205に進み、カウンタのカウント値が所定値未満であればステップS204:NoステップS207に進む。ステップS205:シーケンス制御部310’は、ライト用バッファ311’に蓄積された所定数のライトパケットをライト用バッファ311’から連続して出力させるとともに、カウンタをリセットし、ステップS206に進む。ステップS206:シーケンス制御部310’は、画像の1ページ分のデータの書き込みまたは読み出しが終了したか否かを判定する。そして、画像の1ページ分のデータの書き込みまたは読み出しが終了していればステップS206:Yes、図20のフローチャートで示す一連の処理を終了する。一方、画像の1ページ分のデータの書き込みまたは読み出しが終了していなければステップS206:No、シーケンス制御部310’は、ステップS201に戻って次のパケットを入力し、ステップS201以降の処理を繰り返し行う。ステップS207:シーケンス制御部310’は、画像の1ページ分のデータに対応するライトパケットが入力されたか否かを判定する。そして、画像の1ページ分のデータに対応するライトパケットが入力されていればステップS207:YesステップS208に進み、画像の1ページ分のデータに対応するライトパケットが入力されていなければステップS207:No、ステップS201に戻って次のパケットを入力し、ステップS201以降の処理を繰り返し行う。ステップS208:シーケンス制御部310’は、ライト用バッファ311’に蓄積されたライトパケット所定数に満たないライトパケットをライト用バッファ311’から連続して出力させるとともに、カウンタをリセットし、図20のフローチャートで示す一連の処理を終了する。ステップS209:シーケンス制御部310’は、ライト用バッファ311’からのライトパケットの出力中であるかどうかを判定する。そして、ライト用バッファ311’からのライトパケットの出力中であればステップS209:YesステップS210に進み、ライト用バッファ311’からのライトパケットの出力中でなければステップS209:NoステップS211に進む。ステップS210:シーケンス制御部310’は、ライト用バッファ311’からのライトパケットの出力が終わるまで待機し、ステップS211に進む。ステップS211:シーケンス制御部310’は、ステップS201で入力したリードパケットを出力し、ステップS212に進む。ステップS212:シーケンス制御部310’は、画像の1ページ分のデータの書き込みまたは読み出しが終了したか否かを判定する。そして、画像の1ページ分のデータの書き込みまたは読み出しが終了していればステップS212:Yes、図20のフローチャートで示す一連の処理を終了する。一方、画像の1ページ分のデータの書き込みまたは読み出しが終了していなければステップS212:No、シーケンス制御部310’は、ステップS201に戻って次のパケットを入力し、ステップS201以降の処理を繰り返し行う。以上のように、本実施の形態に係る画像形成システム100においては、画像形成装置400のメモリコントローラ30’に、ライトパケットとリードパケットとが1つずつ交互に並ぶようにパケットシーケンスのパケットの並び順を変更するリードライト分離部330と、リードライト分離部330からパケットシーケンスを入力し、ライトパケットとリードパケットが所定数ずつ連続するようにパケットシーケンスのパケットの並びを変更するシーケンス制御部310’とを設けている。そして、シーケンス制御部310’により変更された並び順に従って、メモリコントロール部320からフレームメモリ31に対して、ライトパケットに応じたライトコマンドと、リードパケットに応じたリードコマンドとが出力されるようにしている。したがって、第1の実施の形態と同様、データの書き込みから読み出しへの切り替え時のコマンド受付完了待ちの時間の発生回数を減らし、データ転送効率の向上を図ることができる。これにより、上述したライン同期制約を遵守して異常画像が印刷されることを防止できるとともに、DFE装置200から画像形成装置400に対するページ単位でのデータ転送も効率よく行って、複数ページの連続印刷を継続的に行うことができる。なお、本実施の形態では、メモリコントローラ30’のシーケンス制御部310’の構成として、リードライト分離部330からのパケットシーケンスに含まれるライトパケットを所定数蓄積し、所定数のライトパケットを連続して出力するライト用バッファ311’と、ライト用バッファ311’が所定数のライトパケットを連続して出力していないときに、リードライト分離部330からのパケットシーケンスに含まれるリードパケットを出力させるバッファ制御部313’を備える構成について説明した。しかし、シーケンス制御部310’は、リードライト分離部30からのパケットシーケンスに含まれるリードパケットを所定数蓄積し、所定数のリードパケットを連続して出力するリード用バッファと、リード用バッファが所定数のリードパケットを連続して出力していないときに、リードライト分離部330からのパケットシーケンスに含まれるライトパケットを出力させるバッファ制御部を備える構成であってもよい。この場合も、シーケンス制御部310’は、ライトパケットとリードパケットが所定数ずつ連続するパケットシーケンスを出力するので、上述した効果を同様に得ることができる。また、本実施の形態では、メモリコントローラ30’のリードライト分離部330が、ライトパケットとリードパケットとが1つずつ交互に並ぶようにパケットシーケンスのパケットの並び順を変更するようにしているが、リードライト分離部330は、1つのライトパケットと第1の実施の形態で説明した第2所定数のリードパケットとが交互に並ぶように、パケットシーケンスのパケットの並びを変更するようにしてもよい。この場合、シーケンス制御部310’のライト用バッファ311’が、第1の実施の形態で説明した第1所定数のライトパケットを蓄積し、第1所定数のライトパケットを連続して出力する構成とすることで、第1の実施の形態と同様に、ライトパケットが連続する数第1所定数とリードパケットが連続する数第2所定数とを異なる数にすることができ、汎用性が高くなる。また、リードライト分離部330は、上記の例とは逆に、1つのリードパケットと第1所定数のライトパケットとが交互に並ぶように、パケットシーケンスのパケットの並びを変更するようにしてもよい。この場合、シーケンス制御部310’のライト用バッファ311’の代わりにリード用バッファを設け、リード用バッファが第2所定数のリードパケットを蓄積し、第2所定数のリードパケットを連続して出力する構成とすることで、第1の実施の形態と同様に、ライトパケットが連続する数第1所定数とリードパケットが連続する数第2所定数とを異なる数にすることができ、汎用性が高くなる。以上、本発明の具体的な実施の形態を詳細に説明したが、本発明は、上述した実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。例えば、上記の各実施例では、PCIe規格のプロトコルに則ってラスターイメージデータの転送を行う場合について説明したが、データ転送の方式はこれに限定されるものではない。また、上述した実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。"