JP2005332316A - データ分配装置、データ転送装置及び画像処理装置 - Google Patents

データ分配装置、データ転送装置及び画像処理装置 Download PDF

Info

Publication number
JP2005332316A
JP2005332316A JP2004151883A JP2004151883A JP2005332316A JP 2005332316 A JP2005332316 A JP 2005332316A JP 2004151883 A JP2004151883 A JP 2004151883A JP 2004151883 A JP2004151883 A JP 2004151883A JP 2005332316 A JP2005332316 A JP 2005332316A
Authority
JP
Japan
Prior art keywords
data
pci express
output unit
switch
data transfer
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
JP2004151883A
Other languages
English (en)
Inventor
Satoru Numakura
覚 沼倉
Yasuyuki Shindo
泰之 進藤
Noriyuki Terao
典之 寺尾
Junichi Ikeda
純一 池田
Koji Oshikiri
幸治 押切
Mitsuya Takeo
光冶 竹尾
Mitsuhiro Oizumi
充弘 大泉
Yutaka Yoneda
豊 米田
Toru Sasaki
徹 佐々木
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 JP2004151883A priority Critical patent/JP2005332316A/ja
Publication of JP2005332316A publication Critical patent/JP2005332316A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Abstract

【課題】 大量のデータを各部に適切に分配し、データ転送の高速化を図ることができるようにする。
【解決手段】 PCI Express規格のスイッチ及びバスを介してデータの転送を受けるPCI Express規格のエンドポイント21を備える。バッファ22は、上位のスイッチ及びバスを介して転送されたデータをバッファリングする。分配制御回路23は、この転送されたデータを下位の複数の出力先である出力部に分配して転送する制御を行う。PCI Express規格のルートコンプレックス24及びスイッチ25は、分配制御回路23の制御によりデータの転送を行なう。
【選択図】 図17

Description

本発明は、データの転送を行なうデータ転送装置、及び画像データに関する所定の処理を行なう画像処理装置に関する。
高速シリアルインタフェースとして、PCIバス方式の後継規格に当るPCI Express(登録商標)なるインタフェースが提案されている(例えば、非特許文献1参照)。
"PCI Express 規格の概要"Interface誌、July’2003 里見尚志
しかしながら、このPCI Express規格では、その装置構成は後述のような木構造をなしているが、その木構造の根元に位置するルートコンプレックス(Root complex)を経る経路を利用して大量のデータの伝送を行なうと、データ転送の高速化を図れない場合がある。
本発明の目的は、大量のデータを各部に適切に分配し、データ転送の高速化を図ることができるようにすることである。
本発明は、データの転送を行う上位のスイッチとバスで接続され、前記スイッチ及びバスを介して転送されたデータをバッファリングするバッファと、この転送されたデータを下位の複数の出力先に分配して転送する制御を行う分配制御回路と、を備えているデータ分配装置である。
本発明によれば、PCI Express規格のルートコンプレックスなどの上位の装置ですべてのデータの転送処理を行わなくても、その下位に位置するデータ分配装置でさらにその下位に対するデータの分配の制御を行なうことができるので、大量のデータを各部に適切に分配し、データ転送の高速化を図ることができる。
本発明を実施するための最良の形態について図面を参照して説明する。
以下では、PCI Expressの詳細について、[PCI Express規格の概要]〜[PCI Express のアーキテクチャの詳細]の欄で説明し、その後、本実施の形態の画像処理装置について、[画像処理装置]の欄で説明する。
[PCI Express規格の概要]
まず、本実施の形態は高速シリアルバスの一つであるPCI Express(登録商標)を利用するものであり、本実施の形態の前提として当該PCI Express規格の概要について、非特許文献1の一部抜粋により説明する。ここに、高速シリアルバスとは、1本の伝送路を用いてシリアル(直列)伝送により高速(100Mbps程度以上)にデータをやり取りすることができるインタフェースを意味する。
PCI Expressは、PCIの後継規格としてコンピュータ全般に通用する標準拡張バスとして規格化されたバスであり、概略的には、低電圧差動信号伝送、ポイントツーポイントで送受信独立の通信チャネル、パケット化されたスプリットトランザクション、リンク構成の違いによる高いスケーラビリティなどの特徴を持つ。
図1に既存のPCIシステム、図2にPCI Expressシステムの各々の構成例を示す。既存のPCIシステムにあっては、CPU100やAGPグラフィックス101やメモリ102が接続されたホストブリッジ103に対して、PCI-X(PCIの上位互換規格)デバイス104a,104bがPCI-Xブリッジ105aを介して接続されたり、PCI-Xデバイス104c,104dが接続されたPCI-Xブリッジ105bやPCIバススロット106が接続されたPCIブリッジ107がPCI-Xブリッジ105cを介して接続されたりしたツリー構造(木構造)とされている。
これに対して、PCI Expressシステムにあっては、CPU110やメモリ111が接続されたルートコンプレックス112に対して、PCI Expressグラフィックス113がPCI Express114aにより接続され、また、エンドポイント115aやレガシーエンドポイント116aがPCI Express114bにより接続されたスイッチ117aがPCI Express114cにより接続され、さらには、エンドポイント115bやレガシーエンドポイント116bがPCI Express114dにより接続されたスイッチ117bやPCIバススロット118が接続されたPCIブリッジ119がPCI Express114eにより接続されたスイッチ117cがPCI Express114fにより接続されたツリー構造(木構造)とされている。
実際に想定されるPCI Expressプラットホーム例を図3に示す。図示例は、デスクトップ/モバイルへの適用例を示し、CPU121がCPUホストバス122により接続され、メモリ123が接続されたメモリハブ124(ルートコンプレックスに相当する)に対して、例えば、グラフィックス125がx16のPCI Express126aにより接続され、また、変換機能を有するI/Oハブ127がPCI Express126bにより接続されている。このI/Oハブ127には、例えば、Serial ATA128によりメモリ129が接続され、LPC130によりローカルI/O131が接続され、USB 2.0132やPCIバススロット133が接続されている。さらには、I/Oハブ127には、PCI Express126cによりスイッチ134が接続され、このスイッチ134には、各々、PCI Express126d,126e,126fによりモバイルドック135、ギガビットイーサネット(イーサネットは登録商標)136、アドインカード137が接続されている。
即ち、PCI Expressシステムでは、従来のPCI,PCI-X,AGPといったバスがPCI Expressで置き換わり、既存のPCI/PCI-Xデバイスを接続するためにブリッジが使用される。チップセット間の接続もPCI Express接続となり、IEEE1394,Serial ATA,USB 2.0などの既存のバスはI/OハブによりPCI Expressに接続される。
[PCI Expressの構成要素]
A.ポート(Port)/レーン(Lane)/リンク(Link)
図4に物理層の構造を示す。ポートは、物理的には同一半導体内にあり、リンクを形成するトランスミッタ/レシーバの集合で、論理的にはコンポーネント間を1対1で接続(ポイント・ツー・ポイント)するインタフェースを意味する。転送レートは、例えば片方向2.5Gbpsとされている(将来的には、5Gbpsや10Gbpsが想定されている)。レーンは、例えば0.8Vの差動信号ペアのセットで、送信側の信号ペア(2本)、受信側の信号ペア(2本)からなる。リンクは、2つのポートとその間を結ぶレーンの集まりであり、コンポーネント間のデュアルシンプレックス通信バスである。「xNリンク」はN本のレーンから構成され、現在の規格では、N=1,2,4,8,16,32が定義されている。図示例は、x4リンク例である。例えば、図5に示すように、デバイスA,B間を結ぶこのレーン幅Nを可変することにより、スケーラブルなバンド幅を構成することが可能となる。
B.ルートコンプレックス(Root Complex)
ルートコンプレックス112は、I/O構造の最上位に位置し、CPUやメモリサブシステムをI/Oに接続する。ブロック図などでは、図3に示すように、「メモリハブ」と記述されることが多い。ルートコンプレックス112(又は、124)は、1つ以上のPCI Expressポート(ルートポート)(図2中では、ルートコンプレックス112中の四角で示す)を持ち、各々のポートは独立したI/O階層ドメインを形成する。I/O階層ドメインは、単純なエンドポイントである場合(例えば、図2中のエンドポイント115a側の例)や、多数のスイッチやエンドポイントから形成される場合(例えば、図2中のエンドポイント115bやスイッチ117b,115c側の例)がある。
C.エンドポイント(End Point)
エンドポイント115は、タイプ00hのコンフィグレーション空間ヘッダを持つデバイス(具体的には、ブリッジ以外のデバイス)で、レガシーエンドポイントとPCI Expressエンドポイントとに分けられる。両者の大きな違いは、PCI ExpressエンドポイントはBAR(ベースアドレスレジスタ)で基本的にI/Oポートリソースを要求せず、このためI/Oリクエストを要求しない。また、PCI Expressエンドポイントは、ロックリクエストもサポートしていない。
D.スイッチ(Switch)
スイッチ117(又は、134)は、2つ以上のポートを結合し、ポート間でのパケットルーティングを行う。コンフィグレーションソフトウェアからは、当該スイッチは、図6に示すように、仮想PCI-PCIブリッジ141の集合体として認識される。図中、両矢印はPCI Expressリンク114(又は、126)を示し、142a〜142dはポートを示す。このうち、ポート142aはルートコンプレックスに近い方のアップストリームポートであり、ポート142b〜142dはルートコンプレックスから遠い方のダウンストリームポートである。
E.PCI Express114e−PCIブリッジ119
PCI ExpressからPCI/PCI-Xへの接続を提供する。これにより、既存のPCI/PCI-XデバイスをPCI Expressシステム上で使用することができる。
[階層アーキテクチャ]
従来のPCIのアーキテクチャは、図7(a)に示すように、プロトコルとシグナリングが密接に関連する構造であり階層という考え方はなかったが、PCI Expressでは、図7(b)に示すように、一般的な通信プロトコルやInfiniBandのように、独立した階層構造とされ、各層に分けて仕様が定義されている。即ち、最上位のソフトウェア151、最下位の機構(メカニカル)部152間に、トランザクション層153、データリンク層154、物理層155を持つ構造とされている。これにより、各層のモジュール性が確保され、スケーラビリティを持たせることやモジュールの再利用が可能となる。例えば、新たな信号コーディング方式や伝送媒体を採用する場合、物理層を変更するだけでデータリンク層やトランザクション層は変更せずに対応できる。
PCI Expressのアーキテクチャの中心となるのは、トランザクション層153、データリンク層154、物理層155であり、各々図8を参照して説明する以下のような役割を持つ。
A.トランザクション層153
トランザクション層153は、最上位に位置し、トランザクションレイヤパケット(TLP)の組み立て、分解機能を持つ。トランザクションレイヤパケット(TLP)は、リード/ライト、各種イベントといったトランザクションの伝達に用いられる。また、トランザクション層153は、トランザクションレイヤパケット(TLP)のためのクレジットを用いたフロー制御を行う。各層153〜155におけるトランザクションレイヤパケット(TLP)の概要を図9に示す(詳細は、後述する)。
B.データリンク層154
データリンク層154の主な役割は、エラー検出/訂正(再送)によりトランザクションレイヤパケット(TLP)のデータ完全性を保証することと、リンク管理である。データリンク層154間では、リンク管理やフロー制御のためのパケットのやり取りを行う。このパケットは、トランザクションレイヤパケット(TLP)と区別するために、データリンクレイヤパケット(DLLP)と呼ばれる。
C.物理層155
物理層155は、ドライバ、入力バッファ、パラレル−シリアル/シリアル−パラレル変換器、PLL、インピーダンス整合回路といったインタフェース動作に必要な回路を含んでいる。また、論理的な機能としてインタフェースの初期化・保守の機能を持つ。物理層155は、データリンク層154/トランザクション層153を実際のリンクで使用される信号技術から独立させる役目も持っている。
なお、PCI Expressのハードウェア構成上、エンベデッド・クロックという技術を採用しており、クロック信号はなく、クロックのタイミングはデータ信号中に埋め込まれており、受信側でデータ信号のクロスポイントを基にクロックを抽出する方式とされている。
[コンフィグレーション空間]
PCI Expressは、従来のPCIと同様にコンフィグレーション空間を持つが、その大きさは従来のPCIが256バイトであるのに対して、図10に示すように、4096バイトへと拡張されている。これにより、多数のデバイス固有レジスタセットを必要とするデバイス(ホストブリッジなど)に対しても、将来的に十分な空間が確保されている。PCI Expressでは、コンフィグレーション空間へのアクセスは、フラットなメモリ空間へのアクセス(コンフィグレーションリード/ライト)で行われ、バス/デバイス/機能/レジスタ番号はメモリアドレスにマップされている。
当該空間の先頭256バイトは、PCIコンフィグレーション空間として、BIOSや従来のOSからI/Oポートを使用した方法でもアクセスできる。従来のアクセスをPCI Expressでのアクセスに変換する機能は、ホストブリッジ上に実装される。00hから3FhまではPCI2.3互換のコンフィグレーションヘッダとなっている。これにより、PCI Expressで拡張された機能以外であれば、従来のOSやソフトウェアをそのまま使用することができる。即ち、PCI Expressにおけるソフトウェア層は、既存のPCIと互換性を保ったロード・ストア・アーキテクチャ(プロセッサが直接I/Oレジスタをアクセスする方式)を継承している。しかし、PCI Expressで拡張された機能(例えば、同期転送やRAS(Reliability,Availability and Serviceability)などの機能)を使用するには、4KバイトのPCI Express拡張空間にアクセスできるようにする必要がある。
なお、PCI Expressとしては様々なフォームファクタ(形状)が考えられるが、具体化している例としては、アドインカード、プラグインカード(NEWCARD)、Mini PCI Expressなどがある。
[PCI Express のアーキテクチャの詳細]
PCI Express のアーキテクチャの中心となっているトランザクション層153、データリンク層154、物理層155について、各々詳細に説明する。
A.トランザクション層153
トランザクション層153の主な役割は、前述したように、上位のソフトウェア層151と下位のデータリンク層154との間でトランザクションレイヤパケット(TLP)の組み立てと分解を行うことである。
a.アドレス空間とトランザクションタイプ
PCI Expressでは、従来のPCIでサポートされていたメモリ空間(メモリ空間とのデータ転送用)、I/O空間(I/O空間とのデータ転送用)、コンフィグレーション空間(デバイスのコンフィグレーションとセットアップ用)に加えて、メッセージ空間(PCI Expressデバイス間のインバンドでのイベント通知や一般的なメッセージ送信(交換)用…割り込み要求や確認は、メッセージを「仮想ワイヤ」として使用することにより伝達される)が追加され、4つのアドレス空間が定義されている。各々の空間に対してトランザクションタイプが定義されている(メモリ空間、I/O空間、コンフィグレーション空間は、リード/ライト、メッセージ空間は基本(ベンダ定義含む))。
b.トランザクションレイヤパケット(TLP)
PCI Expressは、パケット単位で通信を行う。図9に示したトランザクションレイヤパケット(TLP)のフォーマットにおいて、ヘッダのヘッダ長は3DW(DWはダブルワードの略;合計12バイト)又は4DW(16バイト)で、トランザクションレイヤパケット(TLP)のフォーマット(ヘッダ長とペイロードの有無)、トランザクションタイプ、トラフィッククラス(TC)、アトリビュートやペイロード長などの情報が含まれる。パケット内の最大ペイロード長は1024DW(4096バイト)である。
ECRCは、エンドツーエンドのデータ完全性を保証するためのもので、トランザクションレイヤパケット(TLP)部分の32ビットCRCである。これは、スイッチ内部などでトランザクションレイヤパケット(TLP)にエラーが発生した場合、LCRC(リンクCRC)ではエラーを検出できないためである(エラーとなったTLPでLCRCが再計算されるため)。
リクエストは、完了パケットが不要なものと必要なものとがある。
c.トラフィッククラス(TC)と仮想チャネル(VC)
上位のソフトウェアは、トラフィッククラス(TC)を使用することによりトラフィックの差別化(優先度をつける)を行うことができる。例えば、映像データをネットワークのデータよりも優先して転送する、といったことが可能となる。トラフィッククラス(TC)はTC0からTC7まで8つある。
仮想チャネル(VC:Vertual Channel)は、各々独立した仮想通信バス(同一のリンクを共用する複数の独立したデータ・フロー・バッファを使用するメカニズム)で、各々がリソース(バッファやキュー)を持ち、図11に示すように、独立したフロー制御を行う。これにより、1つの仮想チャネルのバッファが満杯の状態(full)になっても、他の仮想チャネルの転送を行うことができる。つまり、物理的には1つのリンクを仮想的な複数のチャネルに分けることで、有効に使用することができる。例えば、図11中に示すように、スイッチを経由してルートのリンクが複数のデバイスに分かれる場合、各デバイスのトラフィックの優先度を制御することができる。VC0は必須で、コストパフォーマンスのトレードオフに応じてその他の仮想チャネル(VC1〜VC7)が実装される。図11中の実線矢印は、デフォルト仮想チャネル(VC0)を示し、破線矢印はその他の仮想チャネル(VC1〜VC7)を示している。
トランザクション層内では、トラフィッククラス(TC)が仮想チャネル(VC)にマッピングされる。1つの仮想チャネル(VC)に対して1つ又は複数のトラフィッククラス(TC)をマッピングできる(仮想チャネル(VC)の数が少ない場合)。単純な例では、各トラフィッククラス(TC)から各仮想チャネル(VC)に1対1、全てのトラフィッククラス(TC)を仮想チャネルVC0にマッピングする、といったことが考えられる。TC0−VC0のマッピングは、必須/固定で、それ以外のマッピングは上位のソフトウェアから制御される。ソフトウェアはトラフィッククラス(TC)を利用することで、トランザクションの優先度を制御することが可能となる。
d.フロー制御
受信バッファのオーバーフローを避け、伝送順序を確立するためにフロー制御(FC:Flow Control)が行われる。フロー制御は、リンク間のポイントツーポイントで行われ、エンドツーエンドではない。従って、フロー制御により最終的な相手(コンプリータ)にパケットが届いたことを確認することはできない。
PCI Expressのフロー制御は、クレジット・ベースで行われる(データ転送を始める前に、受け取り側のバッファの空き状況を確認し、オーバーフロー、アンダフローが発生しないメカニズム)。即ち、受信側はリンク初期化時にバッファ容量(クレジット値)を送信側に通知し、送信側はクレジット値と送信するパケットの長さとを比較し、一定の残りがある場合のみパケットを送信する。このクレジットには6種類ある。
フロー制御の情報交換はデータリンク層のデータリンクレイヤパケット(DLLP)を使用して行われる。フロー制御はトランザクションレイヤパケット(TLP)のみに適用され、データリンクレイヤパケット(DLLP)には適用されない(DLLPは常時送受信可能)。
B.データリンク層154
データリンク層154の主な役割は、前述したように、リンク上の2つのコンポーネント間での信頼性の高いトランザクションレイヤパケット(TLP)交換機能を提供することである。
a.トランザクションレイヤパケット(TLP)の扱い
トランザクション層153から受け取ったトランザクションレイヤパケット(TLP)に対しては、先頭に2バイトのシーケンス番号、末尾に4バイトのリンクCRC(LCRC)を付加して、物理層155に渡す(図9参照)。トランザクションレイヤパケット(TLP)は、リトライバッファに保管され、相手から受信確認(ACK)が届くまで再送される。トランザクションレイヤパケット(TLP)の送信に失敗が続いた場合は、リンク異常であると判断して物理層155に対してリンクの再トレーニングを要求する。リンクのトレーニングが失敗した場合、データリンク層154の状態はインアクティブに遷移する。
物理層155から受け取ったトランザクションレイヤパケット(TLP)は、シーケンス番号とリンクCRC(LCRC)が検査され、正常であればトランザクション層153に渡され、エラーがあった場合は再送を要求する。
b.データリンクレイヤパケット(DLLP)
データリンク層154が生成するパケットは、データリンクレイヤパケット(DLLP)と呼ばれ、データリンク層154間でやり取りされる。データリンクレイヤパケット(DLLP)には、
・Ack/Nak:TLPの受信確認、リトライ(再送)
・InitFC1/InitFC2/UpdateFC:フロー制御の初期化とアップデート
・電源管理のためのDLLP
なる種類がある。
図12に示すように、データリンクレイヤパケット(DLLP)の長さは6バイトで、種類を示すDLLPタイプ(1バイト)、DLLPの種類で固有の情報(3バイト)、CRC(2バイト)から構成される。
C.物理層−論理サブブロック156
図8中に示す物理層155の論理サブブロック156での主な役割は、データリンク層154から受け取ったパケットを電気サブブロック157で送信できる形式に変換することである。また、物理層155を制御/管理する機能も有する。
a.データ符号化とパラレル−シリアル変換
PCI Expressは、連続した“0”や“1”が続かないように(長い期間、クロスポイントが存在しない状態が続かないようにするため)、データ符号化に8B/10B変換を用いる。変換されたデータは、図13中に示すように、シリアル変換され、LSBからレーン上に送信される。ここに、レーンが複数ある場合は(図13はx4リンクの場合を例示している)、符号化の前にデータがバイト単位で各レーンに割り振られる。この場合、一見パラレル・バスのようにみえるが、レーン毎に独立した転送を行うので、パラレル・バスで問題となるスキューが大幅に緩和される。
b.電源管理とリンクステート
リンクの消費電力を低く抑えるために、図14に示すように、L0/L0s/L1/L2というリンクステートが定義されている。
L0が通常モードで、L0sからL2へと低消費電力となるが、L0への復帰にも時間がかかるようになる。図15に示すように、ソフトウェアによる電源管理に加えて、アクティブステート電源管理を積極的に行うことにより、消費電力を極力小さくすることが可能となる。
D.物理層−電気サブブロック157
物理層155の電気サブブロック157での主な役割は、論理サブブロック156でシリアル化されたデータをレーン上に送信することと、レーン上のデータを受信して論理サブブロック156に渡すことである。
a.ACカップリング
リンクの送信側では、ACカップリング用のコンデンサが実装される。これにより、送信側と受信側のDCコモンモード電圧が同一である必要がなくなる。このため、送信側と受信側で異なる設計、半導体プロセス、電源電圧を使用することが可能となる。
b.デエンファシス
PCI Expressでは、前述したように、8B/10Bエンコーディングによってできるだけ連続した“0”や“1”が続かないように処理されるが、連続した“0”や“1”が続くこともある(最大5回)。この場合、送信側はデエンファシス転送を行わなければならないことが規定されている。同一極性のビットが連続する場合は、2つ目のビットからは差動電圧レベル(振幅)を3.5±0.5dB落とすことで、受信側で受け取る信号のノイズ・マージンを稼ぐ必要がある。これを、デエンファシスという。伝送路の周波数依存性減衰のため、変化するビットの場合は高周波成分が多く、減衰により受信側の波形が小さくなるが、変化しないビットの場合は高周波成分が少なく、相対的に受信側の波形が大きくなる。このため、受信側での波形を一定とするためにデエンファシスを行う。
[画像処理装置]
図16は、本実施の形態の画像処理装置1の概略構成を示すブロック図である。画像処理装置1は、画像データに関する所定の処理、この例では、原稿画像の読み取り、その読み取り画像の画像データの記憶装置への保存、この画像データの印刷出力などの処理を実行する。
画像処理装置1では、画像データの転送に本実施の形態のデータ転送装置を用いている。このデータ転送装置は、PCI Expressのバスで接続されたPCI Express規格のルートコンプレックス(Root Complex)11とスイッチ(Switch)12、さらには、スイッチ12の下位にPCI Expressのバスで接続された接続されたデータ分配装置13などから構成されている。
スイッチ12には、データ分配装置13の他にも、スキャナなどの入力部14、画像データの一時記憶などに用いるメモリ15、画像データに対して画像処理、圧縮、伸長、データ変換処理(プリンタ言語の展開、拡大、縮小)などの処理を行なう処理部16、画像データを格納するハードディスクなどのストレージ部17、外部のネットワークなどとの通信を行なう通信制御装置等である通信部18が、PCI Expressのバスで接続されている。また、データ分配装置13には、その下位に画像データに基づいて用紙などの媒体上に画像形成するプロッタ等である複数の出力部201,202,203,…,mが、PCI Expressのバスで接続されている。スイッチ12以下は×nリンク(n≧1)、データ分配装置13以下は×1リンクとする。
図17は、データ分配装置13の構成を説明する説明図である。データ分配装置13は、その上位のスイッチ12とPCI Expressのバスで接続され、上位のルートコンプレックス11、スイッチ12を介してデータの転送を受けるPCI Express規格のエンドポイント(End Point)21と、この転送されたデータをバッファリングするバッファ22と、CPUを備えていてスイッチ12を介して転送されたデータを一時的にバッファ22に蓄積してデータの分配制御をする回路である分配制御回路23と、この分配制御回路23の制御に従って、データ分配装置13の下位に位置するデータの出力先である出力部201,202,203,…,mに画像データを分配して転送するPCI Express規格のルートコンプレックス24及びスイッチ25と、を備えている。
データ分配装置13は、分配制御回路23の制御により、上位のスイッチ12を介して転送された画像データを下位の出力部201,202,203,…,mに配送制御するが、以下では、その具体例について説明する。
(具体例1)
まず、各出力部201,202,203,…,mは、プリント速度の異なるものが混在するようにする。例えば、出力部201を高速プリント機、出力部202を中速プリント機、出力部203を低速プリント機などである。
そして、分配制御回路23は、画像データの各出力部201,202,203,…,mへの分配の仕方を予め設定している。これは、例えば、プリント速度の速いものの優先度を高くする。これにより、バッファ22がフルになったためにデータ送信が一時的に停止しても、自動的に画像データの出力先を変更することで、画像データの印刷のための待ち時間を低減することができる。さらに、プリント速度の速いものを優先することで、より印刷の高速化を図ることができる。
(具体例2)
また、各出力部201,202,203,…,mは、出力画質の異なるものが混在するようにしてもよい。例えば、出力部201を普通画質プリント機、出力部202も普通画質プリント機、出力部203は高画質プリント機とするなどである。ここで、プリント速度は、例えば、出力部201、出力部202、出力部203の順に速いものとする。
この例では、大量の部数を用途に応じて(お客様への配布用は高画質で、一般への配布用は普通画質で、など)、各出力部201,202,203,…,mで出力する場合、具体例1と同様に優先度を設けることで、用途に応じた印刷出力を高速に行うことができる。
(具体例3)
さらに、各出力部201,202,203,…,mが中速から低速のプリント機で、同程度の印刷速度のものである場合にも、大量の部数を印刷するに際して各出力部201,202,203,…,mを用いて印刷出力する場合、具体例1の場合と同様に、中速から低速のプリント機を用いても印刷出力全体の高速化を図ることができる。
次に、具体的にデータ分配装置13が実行する処理について説明する。
具体例1の場合で、データ分配装置13の下位に出力部201,202,203が接続され、そのプリント速度は、出力部201,202,203の順に速い(出力部201が最も速い)ものとする。
そして、この例で、1部あたり2ページのものを8部印刷出力する場合について図18を参照して説明する。図18においては、出力部201,202,203ごとにデータ転送とプロットについてのタイミングを表示している。各出力部201,202,203のデータ転送の欄においてデータ転送をしているのはHレベルの期間、転送を待機しているのはプリントが終了するまでのLレベルの期間とする。また、各出力部201,202,203のプロットの欄において、プリントをしているのはHレベルの期間とする。各出力部201,202,203は1ページ分相当の画像データを記憶できるバッファを備えているものとする。各出力部201,202,203のデータ転送の欄において、Hレベルの期間では1ページ分のデータをバッファに転送し、バッファがいっぱいになるので、次のLレベルの期間ではデータ転送を待機する。プリント中はバッファを確保し、プリントが終了したらリリースする。リリース後はバッファが空になるので、データ転送が可能となる。
データ分配装置13によるデータの分配について説明する。図18中に付した番号は、プリントされる部数の順番である。1部あたり2ページとしているので同じ番号が2つ付されている。同一番号で1番目のものが1ページ目、2番目のものが2ページ目になる。そしてプリント速度の速い出力部ほど優先度が高いものとする。最初に、最速のプリント速度の出力部201からスタートする。出力部201でデータ転送が終わったら、転送待機になるが、次に優先度が高い出力部202を選択する(図18の分配1)。出力部202のデータ転送が終わったら出力部202ではデータ転送が転送待機になる。ここで、転送可能な優先度の高い出力部があれば新たに選択するが、出力部201は1部あたりの全ページ数のプリントが終了していないので、引き続きデータ転送、プリントが継続される(図18の継続1)。出力部201の2回目のデータ転送が終わったら、出力部201では転送待機になる。ここで優先度が高いのは、出力部202だが、出力部202はプリント中で転送待機になっているので、出力部203が選択される(図18の分配2)。
大きな処理の手順は以上のとおりだが、部数を考慮すると以下の処理の流れになる。
ここで、
t_sel:分配判定時に選択された出力部での1ページあたりのプリント時間。
r_num:分配判定時に設定部数(総プリント数)に対してプリントしなければならない残りのプリント枚数(図19参照。なお、図19の例は、図18と関連はない)。なお、プリント中のページはプリント済みとはしない。
p_num:1部あたりのページ数。
plot_sel:分配判定時に選択された出力部。
sel_num:plot_selが1部プリントする時間において、plot_selより高速の各々の出力部においてプリント可能なページ数の総和。plot_selが全ての出力部で最速のものの場合は、1部あたりのページ数。
とする。
sel_numについて説明する。出力部201、出力部202、出力部203の1ページあたりのプリント時間を各々、t1,t2,t3とする(図18参照)。分配判定時に選択された出力部が出力部203であるとする。
従って、“t_sel=t3”である。
出力部203より速い出力部は、出力部201、出力部202であるので、出力部203が1部プリントする時間においてプリント可能な出力部201、出力部202のページ数は各々、“(t_sel/t1)×p_num”,“(t_sel/t2)×p_num”である。従って、sel_numは、“sel_num=(t_sel/t1)×p_num+(t_sel/t2)×p_num”である。
初めに最速の出力部へデータ転送開始するともに最速の出力部でプリントを行う。データ転送が終了したら、分配判定を行う。分配判定の処理について図20のフローチャートを参照して説明する。
分配制御回路23のCPUは、現在プリント中(転送待機)でない出力部201〜203の中で最速の出力部を選択する。この選択された最速の出力部にて、1部あたりでの全てのページのプリントが終了していないものは、今後もプリントを続けるので、利用可能な出力部なしと判断する(ステップS1のN)。1部あたりでの全てのページのプリントが終了している、または、まだ1ページもプリントしていない場合は、利用可能な出力部ありとする(ステップS1のY)。すべての出力部がプリント中の場合は、利用可能な出力部なしと判断する(ステップS1のN)。利用可能な出力部なしの場合は(ステップS1のN)、現在稼動中の出力部で1部あたりでの全てのページのプリントが終了するまで、データ転送、プリントを継続する(ステップS2)。利用可能な出力部がある場合は(ステップS1のY)、ステップS3の判定を行う。
ステップS3で、未プリントの残りページ数と比較して、選択された出力部で1部プリントする時間において、選択された出力部より高速の各々の出力部においてプリント可能な枚数の総和が小さい場合は(ステップS3のY)、選択された出力部を用いることを判定する(ステップS4)。そうでないときは(ステップS3のN)、現在稼動中の出力部でデータ転送、プリントを継続する(ステップS5)。すなわち、ステップS3では、選択された出力部でプリントすることで、逆に全体としてのプリント時間が長くならないかどうか判定している。この分配判定は、稼動している各出力部201〜203のデータ転送の終了後毎に設定部数になるまで行われる。
なお、プリントが設定部数分全て終了しなくても、設定部数の最後の部数(設定部数が10部なら10部目)の1ページ目のデータ転送の開始時点で、設定部数になったとみなす。全ての中で最速の出力部において1部あたりでの全てのページのプリントが終了後で、プリントが設定部数分全て終了していない場合は、最速の出力部ではデータ転送、プリントを継続する(図18の継続2、継続3)。
以上は、データ転送を1ページの単位で示した例だが、1部単位やライン単位で行っても同様である。
次に、図18のトレース例について、図21を参照して説明する。
図21の例では、
1部2ページ(p_num=2)、8部プリント
t2=2×t1,t3=4×t1
出力部203選択時のsel_num=12((t3/t1+t3/t2)×2)
出力部202選択時のsel_num=4(t2/t1×2)
出力部201選択時のsel_num=2
という条件の例を示す。
この条件での分配判定での結果(分配判定でないところもある)は以下の通りである。以下の符号A〜Lは、図21に示すとおりである。
A:利用可能な出力部は出力部202である。“r_num=16>sel_num=4”より、出力部202へデータ転送し、プリントする。
B:最速は出力部201だが、1部あたりで残りページがあるので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
C:利用可能な出力部は出力部203である。“r_num=15>sel_num=12”より、出力部203へデータ転送し、プリントする。
D:利用可能な出力部は出力部201である。“r_num=14>sel_num=2”より、出力部201へデータ転送し、プリントする。または、設定部数になっていないので、出力部201でデータ転送、プリントを継続と判定させてもよい。
E:最速は出力部202だが、1部あたりで残りページがあるので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
F:最速は出力部201だが、1部あたりで残りページがあるので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
G:全ての出力部はプリント中なので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
H:分配判定ではない。設定部数になっていないので出力部201でデータ転送、プリントを継続する。
I:利用可能な出力部は出力部202である。“r_num=10>sel_num=4”より、出力部202へデータ転送し、プリントする。
J:最速は出力部201だが、1部あたりで残りページがあるので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
K:最速は出力部203だが、1部あたりで残りページがあるので、利用可能な出力部はない。現在稼動中の出力部でデータ転送、プリントを継続する。
L:分配判定ではない。設定部数になっていないので出力部201でデータ転送、プリントを継続する。この後、設定部数分に達するので、以降は、分配判定は行わない。
既存PCIシステムの構成例を示すブロック図である。 PCI Expressシステムの構成例を示すブロック図である。 デスクトップ/モバイルでのPCI Expressプラットホームの構成例を示すブロック図である。 x4の場合の物理層の構造例を示す模式図である。 デバイス間のレーン接続例を示す模式図である。 スイッチの論理的構造例を示すブロック図である。 (a)は既存のPCIのアーキテクチャを示すブロック図、(b)はPCI Expressのアーキテクチャを示すブロック図である。 PCI Expressの階層構造を示すブロック図である。 トランザクションレイヤパケットのフォーマット例を示す説明図である。 PCI Expressのコンフィグレーション空間を示す説明図である。 仮想チャネルの概念を説明するための模式図である。 データリンクレイヤパケットのフォーマット例を示す説明図である。 x4リンクでのバイトストライピング例を示す模式図である。 L0/L0s/L1/L2というリンクステートの定義について説明する説明図である。 アクティブステート電源管理の制御例を示すタイムチャートである。 本実施の形態の画像処理装置の構成について説明するブロック図である。 本実施の形態のデータ分配装置の構成について説明するブロック図である。 データ分配装置によるデータの分配について説明するタイミングチャートである。 設定部数をどの出力部で印刷するかの例について説明する説明図である。 分配判定の処理について説明するフローチャートである。 図18の場合のトレース例について説明するタイミングチャートである。
符号の説明
1 画像処理装置
12 スイッチ
13 データ分配装置
21 エンドポイント
22 バッファ
23 分配制御回路
24 ルートコンプレックス
25 スイッチ

Claims (4)

  1. データの転送を行う上位のスイッチとバスで接続され、
    前記スイッチ及びバスを介して転送されたデータをバッファリングするバッファと、
    この転送されたデータを下位の複数の出力先に分配して転送する制御を行う分配制御回路と、
    を備えているデータ分配装置。
  2. PCI Express規格の前記スイッチ及びバスを介してデータの転送を受けるPCI Express規格のエンドポイントと、
    前記分配制御回路の制御により前記データの転送を行なうPCI Express規格のルートコンプレックス及びスイッチと、
    をさらに備えている請求項1に記載のデータ分配装置。
  3. データの転送を行うPCI Express規格のバス、ルートコンプレックス及びスイッチと、
    前記スイッチの下位に前記バスを介して接続されている請求項2に記載のデータ分配装置と、
    を備えているデータ転送装置。
  4. 画像データに関する所定の処理を行ない、
    画像データを転送する請求項3に記載のデータ転送装置を備えている、
    画像処理装置。
JP2004151883A 2004-05-21 2004-05-21 データ分配装置、データ転送装置及び画像処理装置 Pending JP2005332316A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004151883A JP2005332316A (ja) 2004-05-21 2004-05-21 データ分配装置、データ転送装置及び画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004151883A JP2005332316A (ja) 2004-05-21 2004-05-21 データ分配装置、データ転送装置及び画像処理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011087371A Division JP5064582B2 (ja) 2011-04-11 2011-04-11 データ分配装置

Publications (1)

Publication Number Publication Date
JP2005332316A true JP2005332316A (ja) 2005-12-02

Family

ID=35486922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004151883A Pending JP2005332316A (ja) 2004-05-21 2004-05-21 データ分配装置、データ転送装置及び画像処理装置

Country Status (1)

Country Link
JP (1) JP2005332316A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249816A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd データ通信回路および調停方法
JP2007323098A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd 転送処理装置
JP2010108211A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
JP2013080519A (ja) * 2007-12-27 2013-05-02 Ricoh Co Ltd 半導体集積回路及びその省電力制御方法、並びに半導体装置
US8966139B2 (en) 2010-10-13 2015-02-24 Nec Corporation Communication control apparatus, network, and network system
JP2016133972A (ja) * 2015-01-19 2016-07-25 富士ゼロックス株式会社 通信システム及び画像形成装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09149065A (ja) * 1995-11-17 1997-06-06 Fujitsu Ltd フロー制御方式及びそのハブ
JP2000232470A (ja) * 1999-02-08 2000-08-22 Hitachi Cable Ltd スイッチングハブ
JP2002223223A (ja) * 2000-11-24 2002-08-09 Matsushita Electric Ind Co Ltd フロー制御装置及び方法
JP2002544602A (ja) * 1999-05-05 2002-12-24 ケーエルエー−テンカー コーポレイション 並列処理でのレチクル検査のための方法および装置
JP2003076522A (ja) * 2001-09-05 2003-03-14 Seiko Epson Corp 印刷装置用データ分配器

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09149065A (ja) * 1995-11-17 1997-06-06 Fujitsu Ltd フロー制御方式及びそのハブ
JP2000232470A (ja) * 1999-02-08 2000-08-22 Hitachi Cable Ltd スイッチングハブ
JP2002544602A (ja) * 1999-05-05 2002-12-24 ケーエルエー−テンカー コーポレイション 並列処理でのレチクル検査のための方法および装置
JP2002223223A (ja) * 2000-11-24 2002-08-09 Matsushita Electric Ind Co Ltd フロー制御装置及び方法
JP2003076522A (ja) * 2001-09-05 2003-03-14 Seiko Epson Corp 印刷装置用データ分配器

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007249816A (ja) * 2006-03-17 2007-09-27 Ricoh Co Ltd データ通信回路および調停方法
JP2007323098A (ja) * 2006-05-30 2007-12-13 Hitachi Ltd 転送処理装置
JP2013080519A (ja) * 2007-12-27 2013-05-02 Ricoh Co Ltd 半導体集積回路及びその省電力制御方法、並びに半導体装置
JP2010108211A (ja) * 2008-10-30 2010-05-13 Hitachi Ltd ストレージ装置、及びストレージコントローラ内部ネットワークのデータ経路フェイルオーバー方法
US8321722B2 (en) 2008-10-30 2012-11-27 Hitachi, Ltd. Storage device, and data path failover method of internal network of storage controller
US8966139B2 (en) 2010-10-13 2015-02-24 Nec Corporation Communication control apparatus, network, and network system
JP2016133972A (ja) * 2015-01-19 2016-07-25 富士ゼロックス株式会社 通信システム及び画像形成装置

Similar Documents

Publication Publication Date Title
EP1681817B1 (en) Communication apparatus, electronic apparatus, imaging apparatus
JP5108261B2 (ja) 情報処理装置およびデータ通信装置
EP1722547A2 (en) Image processing apparatus and image forming apparatus
JP4928732B2 (ja) データ転送システム及び電子機器
JP2008172727A (ja) 制御装置および画像処理システム
JP4704050B2 (ja) データ転送システム及び電子機器
JP4308680B2 (ja) 画像形成装置
JP4287325B2 (ja) 画像システム
JP4564740B2 (ja) 画像機器システム
JP4564855B2 (ja) データ転送システム及び電子機器
JP4928715B2 (ja) シリアルデータ転送装置、画像出力装置、画像入力装置及び画像形成装置
JP2007087082A (ja) 情報処理装置およびオプションデバイス共有方法
JP4425766B2 (ja) 画像形成システム
JP4777723B2 (ja) 情報処理システム、プログラムおよびデータ転送方法
JP5218377B2 (ja) 画像形成システム
JP2005332316A (ja) データ分配装置、データ転送装置及び画像処理装置
JP5064582B2 (ja) データ分配装置
JP4603336B2 (ja) データ転送システム、画像形成システム及びデータ転送方法
JP2005346629A (ja) 画像処理装置
JP2007226494A (ja) データ転送システム
JP4271558B2 (ja) データ転送システム、画像形成システム及びデータ転送用プログラム
JP2007282187A (ja) 情報処理装置、情報処理システムおよびデータ通信方法
JP4828899B2 (ja) 情報処理装置および記憶デバイス共有方法
JP4607706B2 (ja) 画像処理システム、プログラムおよびジョブ実行方法
JP4690828B2 (ja) 情報処理システム、プログラムおよびパケット通信方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20051021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070426

RD01 Notification of change of attorney

Effective date: 20080111

Free format text: JAPANESE INTERMEDIATE CODE: A7421

A977 Report on retrieval

Effective date: 20100215

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Effective date: 20100223

Free format text: JAPANESE INTERMEDIATE CODE: A131

A521 Written amendment

Effective date: 20100426

Free format text: JAPANESE INTERMEDIATE CODE: A523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101005

A521 Written amendment

Effective date: 20101203

Free format text: JAPANESE INTERMEDIATE CODE: A523

A02 Decision of refusal

Effective date: 20110111

Free format text: JAPANESE INTERMEDIATE CODE: A02