JP2009151752A - バススイッチ,電子機器及びデータ転送方法 - Google Patents

バススイッチ,電子機器及びデータ転送方法 Download PDF

Info

Publication number
JP2009151752A
JP2009151752A JP2008257428A JP2008257428A JP2009151752A JP 2009151752 A JP2009151752 A JP 2009151752A JP 2008257428 A JP2008257428 A JP 2008257428A JP 2008257428 A JP2008257428 A JP 2008257428A JP 2009151752 A JP2009151752 A JP 2009151752A
Authority
JP
Japan
Prior art keywords
data
memory
data transmission
processing control
control means
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
JP2008257428A
Other languages
English (en)
Inventor
Taiji Hagita
泰治 萩田
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2008257428A priority Critical patent/JP2009151752A/ja
Priority to US12/266,697 priority patent/US20090138647A1/en
Publication of JP2009151752A publication Critical patent/JP2009151752A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)
  • Bus Control (AREA)

Abstract

【課題】シリアル転送インターフェースのデータ転送性能を容易に向上させることができるバススイッチ,電子機器及びデータ転送方法を提供することを目的とする。
【解決手段】メモリ制御手段103と、複数の処理制御手段104,106との間に設けられたシリアル転送インターフェースのバススイッチ107であって、処理制御手段104,106との間で行うデータ送受信を制御する第一のデータ送受信手段202,203と、メモリ制御手段103との間で行うデータ送受信を制御する第二のデータ送受信手段201と、第一のデータ送受信手段202,203と第二のデータ送受信手段201との接続を切り替える切替手段とを有し、第一のデータ送受信手段202,203は、処理制御手段104,106からの1回の命令によりメモリ102との間で転送可能なデータ量以上の容量のバッファ204,205を有することにより上記課題を解決する。
【選択図】図5

Description

本発明は、バススイッチ,電子機器及びデータ転送方法に係り、特にシリアル転送インターフェースのバススイッチ,そのバススイッチを有する電子機器及びそのバススイッチにおけるデータ転送方法に関する。
例えば電子機器の一例としての複写機,プリンタ,パーソナルコンピュータ(PC)等ではPCIバスに代えてシリアル転送インターフェースを利用しているものがある。例えばシリアル転送インターフェースの一例にはPCIe(PCI Express)がある。PCIeを利用した電子機器では、機器性能を向上させようとすると、PCIeのデータ転送性能がボトルネックとなることがあった。
特許文献1には、PCIeのバススイッチに複数のメモリを接続してメモリアクセスを分散させることにより、メモリのバス帯域が足りなくなることを防止し、データ転送の負荷を分散する内容が記載されている。
特開2005−332372号公報
従来、PCIeのデータ転送性能を向上させる為には、バスのレーン数を増やす方法や動作周波数を上げる方法等が考えられる。しかし、バスのレーン数を増やす方法や動作周波数を上げる方法は、デバイスの変更が大きく、開発コスト,人員,工数,リスク面に以下のような影響があった。
開発コストへの影響としては、論理層IP,物理層IPを新規に開発又は調達する必要があるという問題があった。人員への影響としては、デバイスの開発に人的リソースの確保が必要であるという問題があった。工数への影響としては、デバイスの開発に数ヶ月程度の工数を有するという問題があった。また、リスクへの影響としてはデバイスを開発する為に、旧デバイスの動作実績が適用できないという問題もあった。
なお、引用文献1ではメモリのバス帯域が足りなくなることを防止できるが、PCIeのバス帯域が足りなくなることを防止できるものではない。このように、従来はPCIeのデータ転送性能を容易に向上させることができないという問題があった。
本発明は、上記の点に鑑みなされたもので、シリアル転送インターフェースのデータ転送性能を容易に向上させることができるバススイッチ,電子機器及びデータ転送方法を提供することを目的とする。
上記の課題を解決するため、本発明は、メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段との間に設けられたシリアル転送インターフェースのバススイッチであって、前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段と、前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段と、前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段とを有し、前記第一のデータ送受信手段は、前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを有することを特徴とする。
また、本発明は、メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段とを有する電子機器であって、前記メモリ制御手段及び前記複数の処理制御手段の間にシリアル転送インターフェースのバススイッチを有しており、前記バススイッチは、前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段と、前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段と、前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段とを有し、前記第一のデータ送受信手段は、前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを有することを特徴とする。
また、本発明は、メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段との間に設けられたシリアル転送インターフェースのバススイッチにおけるデータ転送方法であって、前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段が、前記処理制御手段から前記メモリとの間で行う読み出し命令を受信するステップと、前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段が前記読み出し命令を前記メモリ制御手段に送信するステップと、前記第二のデータ送受信手段が前記読み出しの命令に応じて前記メモリから読み出されたデータを前記メモリ制御手段から受信するステップと、前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段が前記メモリ制御手段から受信した前記データを、前記読み出し命令を送信した前記第一のデータ送受信手段へ送信するステップと、前記第一のデータ送受信手段が前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを用いて前記データを前記処理制御手段へ送信するステップとを有することを特徴とする。
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
本発明によれば、シリアル転送インターフェースのデータ転送性能を容易に向上させることができるバススイッチ,電子機器及びデータ転送方法を提供可能である。
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では電子機器の一例として画像処理装置であるプリンタを例に説明するが、如何なる電子機器であってもよい。まず、本発明の理解を容易とする為に従来のプリンタの構成例について説明する。
図1は従来のプリンタの一例の構成図である。なお、図1の構成図は本発明の説明に不要な部分を一部省略している。図1に示したプリンタは、CPU101,システムメモリ102,MCH(Memory Controller Hub)103,画像処理コントローラ104,画像出力装置(プロッタ部)105を有する構成である。
MCH103はメモリインターフェース(I/F)用のチップセットである。本実施例のMCH103ではPCIeのI/Fのポートが最大8レーンで接続可能とする。レーンとは、PCIeで用いられる最小構成の伝送路を言う。ポートとは、レーンを複数束ねた構成を言う。画像処理コントローラ104は画像の圧縮,変倍,色変換,階調処理等を行うデバイスである。画像出力装置105はデータ(画像データ)に基づいて用紙などの媒体上に画像形成を行う装置である。
CPU101,システムメモリ102及び画像処理コントローラ104はMCH103経由で接続されている。また、画像処理コントローラ104は画像出力装置105と接続されている。画像処理コントローラ104は、システムメモリ102を使って各種画像処理を行う。また、画像処理コントローラ104はシステムメモリ102のデータを画像出力装置105へ出力する機能も担う。本実施例の画像処理コントローラ104ではPCIeのI/Fのポートが最大4レーンで接続可能とする。
このように、図1に示した従来のプリンタではシステム性能的にMCH103と画像処理コントローラ104とがPCIeの4レーン「PCIe×4」で接続されている。ところがプリンタ性能を向上させる為、更に高性能なシステムを構築したとき、図1に示した従来のプリンタではPCIeのバス帯域が不足し、MCH103と画像処理コントローラ104との間のPCIeの4レーンがボトルネックになることも考えられる。
図1に示した従来のプリンタでは、画像処理コントローラ104のPCIeのレーン数が8レーンでないとバス帯域が不足すると分かったとしても、上記したように、PCIeのI/Fのポートが最大8レーンで接続可能となるように画像処理コントローラ104を容易に変更できないという問題があった。
図2は本発明のプリンタの一実施例の構成図である。図2の構成図は本発明の説明に不要な部分を一部省略している。図2に示したプリンタは、CPU101,システムメモリ102,MCH103,画像処理コントローラ104,画像出力装置105,画像処理コントローラ106及びPCIeのバススイッチ107を有する構成である。
図2に示したプリンタは、図1のプリンタに画像処理コントローラ106及びPCIeのバススイッチ107を追加した構成である。画像処理コントローラ106は、画像処理コントローラ104と同様に、画像の圧縮,変倍,色変換,階調処理等を行うデバイスである。PCIeのバススイッチ107は2つ以上のポートを結合し、ポート間でパケットルーティングを行うものである。
本実施例のバススイッチ107は、3つのポートを持ち、アップストリーム(上流)側の1ポートが最大8レーンで接続可能し、ダウンストリーム(下流)側の2ポートが最大4レーンで接続可能とする。
図2に示したプリンタでは、MCH103と画像処理コントローラ104及び106との間にPCIeのバススイッチ107が介在している。画像処理コントローラ106は画像処理コントローラ104の負荷を分散できるものであればよく、画像処理コントローラ104と同一のデバイスであっても、異なるデバイスであってもよい。
画像処理コントローラ104及び106は、共に、バススイッチ107とPCIeの4レーンで接続される。また、MCH103とバススイッチ107とはPCIeの8レーンで接続される。図2に示したプリンタでは、画像処理コントローラ104とバススイッチ107とをそれぞれ接続しているレーン数よりも、MCH103とバススイッチ107とを接続しているレーン数の方が多くなっている。
図2に示したプリンタではMCH103とバススイッチ107とを接続しているレーン数が画像処理コントローラ104とバススイッチ107とを接続しているレーン数の2倍以上、言い換えれば転送レートが2倍以上であることが望ましい。なお、N(以下、Nは複数とする)個の画像処理コントローラ104がバススイッチ107と接続されているプリンタでは、MCH103とバススイッチ107とを接続しているレーン数が画像処理コントローラ104とバススイッチ107とを接続しているレーン数のN倍以上、言い換えれば転送レートがN倍以上であることが望ましい。
本発明によるプリンタでは、マスタとしてシステムメモリ102をアクセスする複数のデバイス(画像処理コントローラ104,106)をPCIeのバススイッチ107に接続し、各デバイスとバススイッチ107とを接続しているレーン数「4」よりも、MCH103とバススイッチ107とを接続しているレーン数「8」の方を多くすることで、転送レート差を設けてPCIeのバス帯域におけるボトルネックを解消している。
PCIeのバススイッチ107の本来の用途は、複数のモジュール(機能)を一つのバスに接続することである。しかし、図2に示したプリンタでは同一のモジュールを複数接続してデータ転送性能を強化している。図2に示したプリンタでは図1に示したプリンタと同様、PCIeのレーン数が4レーンの既存の画像処理コントローラ104,106を利用できるので、開発コスト,人員,工数,リスクを最小限に抑えて、PCIeのデータ転送性能を向上させることができる。したがって、図2に示したプリンタでは機器性能を容易に向上させることができる。
図3は従来のプリンタで行うデータ転送のタイミングチャートである。図3ではMCH103と画像処理コントローラ104との間のPCIeのバスを「バス1」とする。図3のタイミングチャートは、画像処理コントローラ104が、CPU101からの起動要求を受けてシステムメモリ102から出力画像のデータをリードするときの「バス1」の動作を表している。
まず、CPU101は画像処理コントローラ104内部のレジスタ(図示せず)をアクセスし、画像処理コントローラ104を起動する。画像処理コントローラ104はシステムメモリ102に対するリードコマンド(C1)をMCH103に発行する。リードコマンド(C1)を受け付けたMCH103は指定されたアドレスのデータをシステムメモリ102から読み出す。
MCH103は、システムメモリ102から読み出したデータ(D1)をリードコマンド(C1)に対するPCIeの応答として画像処理コントローラ104に返す。画像処理コントローラ104はMCH103から受け取ったデータ(D1)を画像処理して画像出力装置105に送出する。画像出力装置105は受け取ったデータを紙に印字する。
画像処理コントローラ104はMCH103から受け取ったデータ(D1)を画像処理して画像出力装置105に送出する処理と並行して、システムメモリ102に対する次のリードコマンド(C2)をMCH103に発行する。以下、従来のプリンタではリードコマンド(C1)のときと同様に処理を続ける。
図4は本発明によるプリンタで行うデータ転送のタイミングチャートである。図4ではMCH103とバススイッチ107との間のPCIeのバスを「バス1」、画像処理コントローラ104とバススイッチ107との間のPCIeのバスを「バス2」、画像処理コントローラ106とバススイッチ107との間のPCIeのバスを「バス3」とする。
図4のタイミングチャートは、画像処理コントローラ104及び106が、CPU101からの起動要求を受けてシステムメモリ102から出力画像のデータをリードするときの「バス1」〜「バス3」の動作を表している。図4のタイミングチャートでは、画像処理コントローラ104及び106が、異なる出力画像を分担する。例えばプリンタがCMYK4プレーンのデータを扱う場合は、画像処理コントローラ104がC及びMプレーンを分担し、画像処理コントローラ106がY及びKプレーンを分担する。その他、プリンタが両面同時印刷を行う場合は画像処理コントローラ104が表面を分担し、画像処理コントローラ106が裏面を分担してもよい。
まず、CPU101は画像処理コントローラ104及び106内部のレジスタ(図示せず)をアクセスし、画像処理コントローラ104及び106を起動する。画像処理コントローラ104はシステムメモリ102に対するリードコマンド(C1)を「バス2」を経由してMCH103に発行する。画像処理コントローラ106はシステムメモリ102に対するリードコマンド(Cイ)を「バス3」を経由してMCH103に発行する。
バススイッチ107は受け取った2つのリードコマンド(C1,Cイ)を加工せず順番に「バス1」を経由してMCH103に送出する。リードコマンド(C1,Cイ)を受け付けたMCH103は指定されたアドレスのデータをシステムメモリ102からそれぞれ読み出す。
MCH103はシステムメモリ102から読み出したデータ(D1,Dイ)をリードコマンド(C1,Cイ)に対するPCIeの応答として「バス1」を経由してバススイッチ107に返す。
バススイッチ107は、受け取ったデータ(D1)をリードコマンド(C1)の要求元の画像処理コントローラ104に「バス2」を経由して返す。また、バススイッチ107は受け取ったデータ(Dイ)をリードコマンド(Cイ)の要求元の画像処理コントローラ106に「バス3」を経由して返す。
画像処理コントローラ104はバススイッチ107から受け取ったデータ(D1)を画像処理して画像出力装置105に渡しつつ、次のリードコマンド(C2)を発行する。画像処理コントローラ106はバススイッチ107から受け取ったデータ(Dイ)を画像処理して画像出力装置105に渡しつつ、次のリードコマンド(Cロ)を発行する。
画像出力装置105は画像処理コントローラ104又は106によって画像処理された後のデータを受け取ると、受け取ったデータを紙に印字する。リードコマンド(C2,Cロ)はリードコマンド(C1,Cイ)と同様にMCH103へ伝わる。以下、本発明によるプリンタではリードコマンド(C1,Cイ)のときと同様に処理を続ける。
なお、図4に示したタイミングチャートでは、「バス1」のデータ(D2)とリードコマンド(Cロ)とが重なっている。しかし、PCIeのバスは送信バスと受信バスとが分かれた全二重転送なので同時転送が可能である。
「バス1」が「バス2」及び「バス3」と比べてレーン数が多い、言い換えればバス帯域が広いので、図4に示した本発明によるプリンタのタイミングチャートは図3に示した従来のプリンタのタイミングチャートよりデータの転送効率が良い。
図5はPCIeのバススイッチの構成とデータの流れとを表した模式図である。図5のPCIeのバススイッチ107は3つのポート201〜203を持つ。アップストリーム側(ENDP)のポート201は8レーン「PCIe×8」で上流デバイスであるMCH103と接続されている。ダウンストリーム側(ROOT)のポート202,203は4レーン「PCIe×4」で下流デバイスである画像処理コントローラ104,106と接続されている。
ダウンストリーム側のポート202,203は、データの送受信に利用するバッファ204,205を持っている。バッファ204,205の容量が1転送サイズ(一回のコマンドで転送可能なデータ量:例えば4kバイト)しか無い場合は、下流デバイスである画像処理コントローラ104,106からのリードコマンドが交互に発行されると、最高性能がでる。
ただし、下流デバイスである画像処理コントローラ104,106からのリードコマンドが交互に発行されない(同じ下流デバイスが連続してリードコマンドを発行する)場合はリードコマンドの発行元に対応するバッファ204又は205がフル(FULL)状態となり、リードコマンドの発行元に対応するバッファ204又は205が空くまで、次のデータ転送が待ち状態となる。
バッファ204,205の容量が複数(N)転送サイズ(N回のコマンドで転送可能なデータ量)以上ある場合には、下流デバイスである画像処理コントローラ104,106からのリードコマンドが交互に発行されなくても、データ転送性能の低下を防げる。具体的にはバッファ204,205の容量がN転送サイズあれば、同じ下流デバイスがN回連続してリードコマンドを発行してもリードコマンドの発行元に対応するバッファ204又は205がフル状態とならず、次のデータ転送が待ち状態となることがない。
次に、PCIeのバススイッチ107の動作について説明する。バススイッチ107の各ポート201〜203は例えば図6に表すようにメモリ空間へマッピングされる。図6はバススイッチの各ポートがメモリ空間にマッピングされた様子を表した一例の模式図である。なお、メモリ空間へのマッピングは起動時のポート201〜203毎のコンフィグレーション(一般的なPCIのコンフィグレーション)によって行われる。
例えばポート201〜203を持つバススイッチが図6のようにメモリ空間へマッピングされたと仮定すると、ポート201に接続されている上流デバイスから、ポート202のアドレス空間(例えば0x3000 0000)にアクセスすると、ポート202に接続されている下流デバイスと接続される。つまり、ポート201に接続されている上流デバイスからポート202に接続されている下流デバイスにアクセスできる。
なお、PCIeのバススイッチ107は上記したメモリマップ方式ではなく、個別のアクセスウインドウを持っていて、ウインドウのオフセットを設定することで、各ポート201〜203毎に全アドレス空間をマッピングするものであってもよい。本発明によるバススイッチ107はスイッチングの方法に依存するものではなく、ポート201〜203間の接続(パス)を適切に切り替え可能であればよい。
次に、参考として、バススイッチ107にバッファ204,205を持つとき、持たないときのデータ転送のタイミングチャートについて説明する。図7はバススイッチ内部にバッファを持たない場合のデータ転送のタイミングチャートを示す。なお、バススイッチ107内部にバッファ204,205を持つ場合のデータ転送のタイミングチャートは図4に示した通りである。
バススイッチ107内部にバッファ204,205を持たない場合のデータ転送のタイミングチャートについて図7を参照しつつ説明する。内部にバッファ204,205を持たないため、図7のタイミングチャートは「バス1」でリードコマンド(C1,Cイ)が二つ連続で発行されるものの、受け取るデータ(D1,Dイ)が一つずつとなる。
図7のタイミングチャートでは、バススイッチ107が「バス1」でデータ(D1)を受け取り、そのデータ(D1)を「バス2」で画像処理コントローラ104に送出し終わるまで「バス1」でデータ(Dイ)を受け取れない。
即ち、内部にバッファ204,205を持たないバススイッチ107は、自身のレイテンシの為、データ転送性能のパフォーマンスを低下させると共に、複数のリードコマンドを連続転送してもデータ転送性能のパフォーマンスの向上に繋がらない。なお、ここで言うレイテンシとは、リードコマンドが発行されてからリードコマンドの発行元にデータを返すまでの時間である。
一方、内部にバッファ204,205を持つバススイッチ107は図4に示したように自身のレイテンシの為、データ転送性能のパフォーマンスを低下させるが、バッファ204,205を持つことによりデータを先読みできるので、複数のリードコマンドを連続転送することにより自身のレイテンシを相殺し、データ転送性能のパフォーマンスを向上させることができる。
次に、バススイッチ107にバッファ204,205を持ち、画像処理コントローラ104,106からのリードコマンドの先投げがある場合のタイミングチャートについて説明する。図8はバススイッチ内部にバッファを持ち、リードコマンドの先投げがある場合のデータ転送のタイミングチャートを示す。なお、リードコマンドの先投げとはリードコマンドの発行元である下流デバイスが前回のリードコマンドに対するデータを受け取る前に、次のリードコマンドを発行することである。
図8のタイミングチャートは、画像処理コントローラ104及び106が、CPU101からの起動要求を受けてシステムメモリ102から出力画像のデータをリードするときの「バス1」〜「バス3」の動作を表している。図8のタイミングチャートでは、CPU101からの起動要求を受けると、画像処理コントローラ104及び106が、連続して複数(図8では2つ)のリードコマンドを、先に発行したリードコマンドのデータ(応答データ)を受信する前に発行することで、リードコマンドの先投げを行う。
まず、CPU101は画像処理コントローラ104及び106内部のレジスタ(図示せず)をアクセスし、画像処理コントローラ104及び106を起動する。画像処理コントローラ104は、システムメモリ102に対するリードコマンド(C1,C2)を連続して「バス2」経由でMCH103に発行する。画像処理コントローラ106はシステムメモリ102に対するリードコマンド(Cイ,Cロ)を「バス3」経由でMCH103に発行する。バススイッチ107は受け取った4つのリードコマンド(C1,Cイ,C2,Cロ)を加工せず順番に「バス1」経由でMCH103に送出する。
リードコマンド(C1,Cイ,C2,Cロ)を受け付けたMCH103は指定されたアドレスのデータ(D1,Dイ,D2,Dロ)をシステムメモリ102からそれぞれ読み出す。MCH103はシステムメモリ102から読み出したデータ(D1,Dイ)をリードコマンド(C1,Cイ)に対するPCIeの応答として「バス1」経由でバススイッチ107に返す。
図8はバッファ204,205の容量が1転送サイズの例とする。従って、この時点ではシステムメモリ102から読み出したデータ(D2,Dロ)をバススイッチ107に返していない。
バススイッチ107は、受け取ったデータ(D1)をリードコマンド(C1)の要求元の画像処理コントローラ104に「バス2」経由で返す。また、バススイッチ107は受け取ったデータ(Dイ)をリードコマンド(Cイ)の要求元の画像処理コントローラ106に「バス3」経由で返す。
画像処理コントローラ104はバススイッチ107から受け取ったデータ(D1)を画像処理して画像出力装置105に渡しつつ、次のリードコマンド(C3)を発行する。画像処理コントローラ106はバススイッチ107から受け取ったデータ(Dイ)を画像処理して画像出力装置105に渡しつつ、次のリードコマンド(Cハ)を発行する。リードコマンド(C3,Cハ)は、リードコマンド(C1,Cイ等)と同様、MCH103に伝わる。
なお、バススイッチ107は「バス2」においてデータ(D1)の転送が完了した時点でバッファ204が空になるため、「バス1」においてデータ(D2)の転送が始まる。画像処理コントローラ104はリードコマンド(C3)を発行した直後、データ(D2)の受信を開始する。
また、バススイッチ107は「バス3」においてデータ(Dイ)の転送が完了した時点でバッファ205が空になるため、「バス1」においてデータ(Dロ)の転送が始まる。画像処理コントローラ106はリードコマンド(Cハ)を発行した直後、データ(Dロ)の受信を開始する。
なお、画像出力装置105は画像処理コントローラ104又は106によって画像処理された後のデータを受け取ると、受け取ったデータを紙に印字する。以下、本発明によるプリンタではリードコマンド(C1,Cイ)のときと同様に処理を続ける。
このように図8に示した本発明によるプリンタのタイミングチャートは画像処理コントローラ104,106がリードコマンドを先投げすることで、「バス1」のバス帯域を有効に利用できるので、データの転送効率を更に良くできる。
データの転送効率を更に良くしたい場合は、下流デバイスである画像処理コントローラ104,106の数を増やすこと、バッファ204,205の容量を増やすこと、下流デバイスである画像処理コントローラ104,106が先投げするリードコマンド数を増やすことで対応できる。なお、下流デバイスである画像処理コントローラ104,106の数を増やす場合は、「バス1」のバス帯域が狭いと効果が少なくなる。
ところで、本発明によるバススイッチ107はデータの転送単位(パケット)が小さいと「バス1」のバス帯域を有効に使えず、データの転送効率が悪くなる。次に、本発明によるバススイッチ107におけるデータの転送単位(パケット)が大きいとき及び小さいときのデータ転送のタイミングチャートについて説明する。
図9はデータの転送単位(パケット)が大きいとき及び小さいときのデータ転送のタイミングチャートを示す。なお、図9(A)はリードコマンドの先投げが無く、パケットが小さいときのデータ転送のタイミングチャートである。図9(B)はリードコマンドの先投げが無く、パケットが大きいときのデータ転送のタイミングチャートである。
図9(A)に示すように、バススイッチ107は1パケットが小さい(短い)と、「バス1」におけるリードコマンド発行待ちの空白時間の発生頻度が多くなり、データの転送効率が悪くなる。一方、図9(B)に示すように、バススイッチ107は1パケットが大きい(長い)と、「バス1」におけるリードコマンド発行待ちの空白時間の発生頻度が少なくなり、データの転送効率が良くなる。
このように、本発明によるバススイッチ107はパケットが短い場合に比べてパケットが長い方が「バス1」におけるリードコマンド発行待ちの空白時間の発生頻度が少なくなるため、リードコマンド発行待ちの空白時間が無視でき、「バス1」のバス帯域を有効に使うことで、データの転送効率が良くなる。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えばバススイッチ107は3つのポートを持っているが、3つのポートに限定するものではなく、4つ以上のポートを持つ構成であってもよい。また、バスのレーン数(4,8)も一例であって、他のレーン数であってもよい。
図10は本発明のプリンタの他の実施例の構成図である。図10の構成図は本発明の説明に不要な部分を一部省略している。図10に示したプリンタは、CPU101,システムメモリ102,MCH103,画像処理コントローラ104,画像出力装置105,画像処理コントローラ106及びPCIeのバススイッチ107を有する構成である。
図10に示したプリンタは、一部を除き、図2のプリンタと同様な構成である。図10に示したプリンタは、画像処理コントローラ106がPCIeの1レーンでバススイッチ107と接続される点と、画像処理コントローラ104がC,M及びYプレーンを分担する点と、画像処理コントローラ106がKプレーンを分担する点とで図2のプリンタと異なる。
つまり、図10に示したプリンタは、画像処理コントローラ104とバススイッチ107とを接続しているレーン数と、画像処理コントローラ106とバススイッチ107とを接続しているレーン数とが異なっている。言い換えれば、図10に示したプリンタは、画像処理コントローラ104とバススイッチ107との間の転送レートと、画像処理コントローラ106とバススイッチ107との間の転送レートとが異なっている。
また、図10に示したプリンタは図2のプリンタと同様、画像処理コントローラ104又は106とバススイッチ107とをそれぞれ接続しているレーン数よりも、MCH103とバススイッチ107とを接続しているレーン数の方が多くなっている。
図10に示したプリンタは、負荷を分散できるモジュール(画像処理コントローラ104,106)を複数接続してデータ転送性能を強化している。図10に示したプリンタでは図2に示したプリンタと同様、PCIeのレーン数が4又は1レーンの既存の画像処理コントローラ104,106を利用できるので、開発コスト,人員,工数,リスクを最小限に抑えて、PCIeのデータ転送性能を向上させることができる。したがって、図10に示したプリンタでは機器性能を容易に向上させることができる。
図2に示したプリンタは、画像処理コントローラ104とバススイッチ107との間の転送レートと、画像処理コントローラ106とバススイッチ107との間の転送レートとが等しく、図8に示したタイミングチャートのように、バス1の帯域をバス2とバス3とが均等に使用する。
一方、図10に示したプリンタは、画像処理コントローラ104とバススイッチ107との間の転送レートと、画像処理コントローラ106とバススイッチ107との間の転送レートとが異なっているため、図11に示すようなタイミングチャートとなる。
図11は本発明によるプリンタで行うデータ転送のうち、転送レートに差がある場合のタイミングチャートである。図11では図8と同様、MCH103とバススイッチ107との間のPCIeのバスを「バス1」、画像処理コントローラ104とバススイッチ107との間のPCIeのバスを「バス2」、画像処理コントローラ106とバススイッチ107との間のPCIeのバスを「バス3」とする。
図11のタイミングチャートは、図8のタイミングチャートと同様に、画像処理コントローラ104及び106がCPU101からの起動要求を受けてシステムメモリ102から出力画像のデータをリードするときの「バス1」〜「バス3」の動作を表している。
図11のタイミングチャートでは、CPU101からの起動要求を受けると、図8のタイミングチャートと同様、画像処理コントローラ104及び106が、最初にリードコマンドの先投げを行う。
まず、CPU101は画像処理コントローラ104及び106内部のレジスタ(図示せず)をアクセスし、画像処理コントローラ104及び106を起動する。画像処理コントローラ104は、システムメモリ102に対するリードコマンド(C1,C2)を連続して「バス2」経由でMCH103に発行する。画像処理コントローラ106はシステムメモリ102に対するリードコマンド(Cイ,Cロ)を「バス3」経由でMCH103に発行する。バススイッチ107は受け取った4つのリードコマンド(C1,Cイ,C2,Cロ)を加工せず順番に「バス1」経由でMCH103に送出する。
リードコマンド(C1,Cイ,C2,Cロ)を受け付けたMCH103は指定されたアドレスのデータ(D1,Dイ,D2,Dロ)をシステムメモリ102からそれぞれ読み出す。MCH103はシステムメモリ102から読み出したデータ(D1,Dイ)をリードコマンド(C1,Cイ)に対するPCIeの応答として「バス1」経由でバススイッチ107に返す。
図8はバッファ204,205の容量が1転送サイズの例とする。従って、この時点ではシステムメモリ102から読み出したデータ(D2,Dロ)をバススイッチ107に返していない。
バススイッチ107は、受け取ったデータ(D1)をリードコマンド(C1)の要求元の画像処理コントローラ104に「バス2」経由で返す。また、バススイッチ107は受け取ったデータ(Dイ)をリードコマンド(Cイ)の要求元の画像処理コントローラ106に「バス3」経由で返す。
しかし、画像処理コントローラ106とバススイッチ107との間の「バス3」の転送レートは、画像処理コントローラ104とバススイッチ107との間の「バス2」の転送レートに比べて遅いため、「バス2」においてデータ(D1)の転送が完了しても、「バス3」におけるデータ(Dイ)の転送が暫く完了しない。
画像処理コントローラ104はバススイッチ107から受け取ったデータ(D1)を画像処理して画像出力装置105に渡しつつ、次のリードコマンド(C3)を発行する。このように、画像処理コントローラ104はバススイッチ107からの1つのデータの転送が完了すると、次のリードコマンドを発行する。
一方、画像処理コントローラ106はバススイッチ107からデータ(Dイ,Dロ)を受け取ったあと、次のリードコマンド(Cハ)を発行する。画像処理コントローラ106は最初に2つのリードコマンド(Cイ,Cロ)を発行したあと、暫く、次のリードコマンド(Cハ)を発行しない。この間、「バス2」は「バス1」を断続的に利用してデータ転送
を行うことができる。
図10に示したプリンタは、画像処理コントローラ104とバススイッチ107との間の転送レートと、画像処理コントローラ106とバススイッチ107との間の転送レートとが異なり、図11に示したタイミングチャートのように、バス1の帯域をバス2がバス3よりも多く使用する。
図12は本発明のプリンタの他の実施例の構成図である。図12の構成図は発明の説明に不要な部分を一部省略している。図12に示したプリンタは、CPU101,システムメモリ102,MCH103,画像処理コントローラ104,画像出力装置105,画像処理コントローラ106,PCIeのバススイッチ107及び画像出力装置108を有する構成である。
図12に示したプリンタは、一部を除き、図2のプリンタと同様な構成である。図12に示したプリンタは、画像処理コントローラ104,106がC,M,Y及びKプレーンを分担する点と、画像処理コントローラ106が画像出力装置105ではなく画像出力装置108に接続されている点とで図2のプリンタと異なる。
図12に示したプリンタは、両面同時印刷を行うことができ、画像処理コントローラ104が表面を分担し、画像処理コントローラ106が裏面を分担する。図12に示したプリンタは、負荷を分散できるモジュール(画像処理コントローラ104,106)をバススイッチ107に複数接続してデータ転送性能を強化すると共に、画像処理コントローラ104が両面同時印刷における表面を分担し、画像処理コントローラ106が両面同時印刷における裏面を分担することにより、印刷機能も強化できる。
なお、特許請求の範囲に記載したメモリ制御手段はMCH103に相当し、処理制御手段は画像処理コントローラ104,106に相当し、第一のデータ送受信手段はポート202,203に相当し、第二のデータ送受信手段はポート201に相当する。
従来のプリンタの一例の構成図である。 本発明のプリンタの一実施例の構成図である。 従来のプリンタで行うデータ転送のタイミングチャートである。 本発明によるプリンタで行うデータ転送のタイミングチャートである。 PCIeのバススイッチの構成とデータの流れとを表した模式図である。 バススイッチの各ポートがメモリ空間にマッピングされた様子を表した一例の模式図である。 バススイッチ内部にバッファを持たない場合のデータ転送のタイミングチャートである。 バススイッチ内部にバッファを持ち、リードコマンドの先投げがある場合のデータ転送のタイミングチャートである。 データの転送単位(パケット)が大きいとき及び小さいときのデータ転送のタイミングチャートである。 本発明のプリンタの他の実施例の構成図である。 本発明によるプリンタで行うデータ転送のうち、転送レートに差がある場合のタイミングチャートである。 本発明のプリンタの他の実施例の構成図である。
符号の説明
101 CPU
102 システムメモリ
103 MCH(Memory Controller Hub)
104,106 画像処理コントローラ
105,108 画像出力装置(プロッタ部)
107 PCIeのバススイッチ
201〜203 ポート
204,205 バッファ

Claims (16)

  1. メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段との間に設けられたシリアル転送インターフェースのバススイッチであって、
    前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段と、
    前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段と、
    前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段とを有し、
    前記第一のデータ送受信手段は、前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを有する
    ことを特徴とするバススイッチ。
  2. 前記第一のデータ送受信手段は、前記処理制御手段からの一の読み出し命令により前記メモリから読み出したデータを前記処理制御手段に送信する前に、前記処理制御手段からの次の読み出し命令を受信することを特徴とする請求項1記載のバススイッチ。
  3. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートはN個の前記処理制御手段と接続された前記第一のデータ送受信手段の転送レートのN倍以上であることを特徴とする請求項1記載のバススイッチ。
  4. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートは、N個の前記処理制御手段と接続されたN個の前記第一のデータ送受信手段の転送レートを合計した転送レート以上であることを特徴とする請求項1記載のバススイッチ。
  5. 前記複数の処理制御手段は同一の機能を有し、前記データを分担して処理することを特徴とする請求項1記載のバススイッチ。
  6. メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段とを有する電子機器であって、
    前記メモリ制御手段及び前記複数の処理制御手段の間にシリアル転送インターフェースのバススイッチを有しており、
    前記バススイッチは、
    前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段と、
    前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段と、
    前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段とを有し、
    前記第一のデータ送受信手段は、前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを有する
    ことを特徴とする電子機器。
  7. 前記第一のデータ送受信手段は、前記処理制御手段からの一の読み出し命令により前記メモリから読み出したデータを前記処理制御手段に送信する前に、前記処理制御手段からの次の読み出し命令を受信することを特徴とする請求項6記載の電子機器。
  8. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートはN個の前記処理制御手段と接続された前記第一のデータ送受信手段の転送レートのN倍以上であることを特徴とする請求項6記載の電子機器。
  9. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートは、N個の前記処理制御手段と接続されたN個の前記第一のデータ送受信手段の転送レートを合計した転送レート以上であることを特徴とする請求項6記載の電子機器。
  10. 前記複数の処理制御手段は同一の機能を有し、前記データを分担して処理することを特徴とする請求項6記載の電子機器。
  11. 前記電子機器はプロッタ部を備えた画像処理装置であることを特徴とする請求項6乃至10何れか一項記載の電子機器。
  12. メモリからのデータの読み出し及び前記メモリへのデータの書き込みを制御するメモリ制御手段と、前記データを処理する複数の処理制御手段との間に設けられたシリアル転送インターフェースのバススイッチにおけるデータ転送方法であって、
    前記処理制御手段毎に設けられ、前記処理制御手段との間で行うデータ送受信を制御する第一のデータ送受信手段が、前記処理制御手段から前記メモリとの間で行う読み出し命令を受信するステップと、
    前記メモリ制御手段との間で行うデータ送受信を制御する第二のデータ送受信手段が前記読み出し命令を前記メモリ制御手段に送信するステップと、
    前記第二のデータ送受信手段が前記読み出しの命令に応じて前記メモリから読み出されたデータを前記メモリ制御手段から受信するステップと、
    前記第一のデータ送受信手段と前記第二のデータ送受信手段との接続を切り替える切替手段が前記メモリ制御手段から受信した前記データを、前記読み出し命令を送信した前記第一のデータ送受信手段へ送信するステップと、
    前記第一のデータ送受信手段が前記処理制御手段からの1回の命令により前記メモリとの間で転送可能なデータ量以上の容量のバッファを用いて前記データを前記処理制御手段へ送信するステップと
    を有することを特徴とするデータ転送方法。
  13. 前記第一のデータ送受信手段が、前記処理制御手段からの一の読み出し命令により前記メモリから読み出したデータを前記処理制御手段に送信する前に、前記処理制御手段からの次の読み出し命令を受信するステップ
    を更に有することを特徴とする請求項12記載のデータ転送方法。
  14. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートはN個の前記処理制御手段と接続された前記第一のデータ送受信手段の転送レートのN倍以上であることを特徴とする請求項12記載のデータ転送方法。
  15. 前記メモリ制御手段と接続された前記第二のデータ送受信手段の転送レートは、N個の前記処理制御手段と接続されたN個の前記第一のデータ送受信手段の転送レートを合計した転送レート以上であることを特徴とする請求項12記載のデータ転送方法。
  16. 前記複数の処理制御手段は同一の機能を有し、前記データを分担して処理することを特徴とする請求項12記載のデータ転送方法。
JP2008257428A 2007-11-26 2008-10-02 バススイッチ,電子機器及びデータ転送方法 Pending JP2009151752A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008257428A JP2009151752A (ja) 2007-11-26 2008-10-02 バススイッチ,電子機器及びデータ転送方法
US12/266,697 US20090138647A1 (en) 2007-11-26 2008-11-07 Bus switch, electronic equipment, and data transfer method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2007304430 2007-11-26
JP2008257428A JP2009151752A (ja) 2007-11-26 2008-10-02 バススイッチ,電子機器及びデータ転送方法

Publications (1)

Publication Number Publication Date
JP2009151752A true JP2009151752A (ja) 2009-07-09

Family

ID=40920784

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008257428A Pending JP2009151752A (ja) 2007-11-26 2008-10-02 バススイッチ,電子機器及びデータ転送方法

Country Status (1)

Country Link
JP (1) JP2009151752A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011201286A (ja) * 2010-03-01 2011-10-13 Ricoh Co Ltd カラープリンタシステムおよび印刷方法
JP2012139961A (ja) * 2011-01-05 2012-07-26 Ricoh Co Ltd 画像形成装置および画像形成システム
JP2012190347A (ja) * 2011-03-11 2012-10-04 Sharp Corp 電子機器システム、電子機器及び接続機器
JP2014057263A (ja) * 2012-09-13 2014-03-27 Ricoh Co Ltd 通信装置、通信システム、画像形成装置
US8700866B2 (en) 2009-09-14 2014-04-15 Ricoh Company, Limited Data transfer apparatus, data transfer device, and data transfer method in a data transfer device
US8836978B2 (en) 2011-01-05 2014-09-16 Ricoh Company, Limited Image forming apparatus and image forming system having a first memory and a second memory

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700866B2 (en) 2009-09-14 2014-04-15 Ricoh Company, Limited Data transfer apparatus, data transfer device, and data transfer method in a data transfer device
JP2011201286A (ja) * 2010-03-01 2011-10-13 Ricoh Co Ltd カラープリンタシステムおよび印刷方法
JP2012139961A (ja) * 2011-01-05 2012-07-26 Ricoh Co Ltd 画像形成装置および画像形成システム
US8836978B2 (en) 2011-01-05 2014-09-16 Ricoh Company, Limited Image forming apparatus and image forming system having a first memory and a second memory
JP2012190347A (ja) * 2011-03-11 2012-10-04 Sharp Corp 電子機器システム、電子機器及び接続機器
JP2014057263A (ja) * 2012-09-13 2014-03-27 Ricoh Co Ltd 通信装置、通信システム、画像形成装置

Similar Documents

Publication Publication Date Title
EP1775896B1 (en) Network on chip system employing an Advanced Extensible Interface (AXI) protocol
KR101077900B1 (ko) 네트워크 효율성을 고려한 SoC 기반 시스템 네트워크에서의 인터페이스 장치의 통신방법 및 그에 의해 통신하는 인터페이스 장치
JP5966265B2 (ja) データ転送装置及び画像形成システム
US20140040527A1 (en) Optimized multi-root input output virtualization aware switch
US10430370B2 (en) Data transfer device, data transfer method, and a non-transitory recording medium
JP2009151752A (ja) バススイッチ,電子機器及びデータ転送方法
TW201741887A (zh) 用於具有可重配置多端口的快捷外設互聯標準儲存系統的服務品質感測輸入輸出管理的方法、系統及設備
JP5145929B2 (ja) 半導体集積回路及び画像処理装置
US20070156980A1 (en) Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
JP2008541276A (ja) 同時読み出し応答確認拡張ダイレクト・メモリ・アクセス・ユニット
JP5340058B2 (ja) 画像処理装置、その制御方法及びプログラム
US20090138647A1 (en) Bus switch, electronic equipment, and data transfer method
JP4104939B2 (ja) マルチプロセッサシステム
JP2008502977A (ja) バス・コントローラのための割り込み方式
US20040230717A1 (en) Processing device
JP5531427B2 (ja) スイッチ、情報処理装置、アービトレーション方法及び画像形成システム
JP2008112413A (ja) データ転送装置および画像処理装置
JP2005332316A (ja) データ分配装置、データ転送装置及び画像処理装置
JP5057548B2 (ja) 画像データ転送装置及び画像データ転送方法
US11841812B2 (en) Data bus bridge
JP2002215562A (ja) Dma制御装置及び方法
JP2004345260A (ja) 画像出力装置
JP2004171362A (ja) 磁気ディスク記憶制御装置
JPH1173403A (ja) クロスバスイッチ制御回路
JP4791341B2 (ja) データ転送システム