JP5293283B2 - 半導体集積回路及びメモリアクセス制御方法 - Google Patents

半導体集積回路及びメモリアクセス制御方法 Download PDF

Info

Publication number
JP5293283B2
JP5293283B2 JP2009054489A JP2009054489A JP5293283B2 JP 5293283 B2 JP5293283 B2 JP 5293283B2 JP 2009054489 A JP2009054489 A JP 2009054489A JP 2009054489 A JP2009054489 A JP 2009054489A JP 5293283 B2 JP5293283 B2 JP 5293283B2
Authority
JP
Japan
Prior art keywords
write
transmission
data
image forming
read
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.)
Expired - Fee Related
Application number
JP2009054489A
Other languages
English (en)
Other versions
JP2010211349A (ja
Inventor
直樹 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2009054489A priority Critical patent/JP5293283B2/ja
Publication of JP2010211349A publication Critical patent/JP2010211349A/ja
Application granted granted Critical
Publication of JP5293283B2 publication Critical patent/JP5293283B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、半導体集積回路及びメモリアクセス制御方法に関し、詳細には、スプリットトランザクションの伝送路経由した外部メモリへのアクセスのリクエストを効率的に制御する半導体集積回路及びメモリアクセス制御方法に関する。
近年、要求と応答が分離され、応答を待たずに次の要求を発行できるPCI(Peripheral Component Interconnect) Express(以下、PCIeという。)のような高速なスプリットトランザクションのバスが利用されるようになってきている。
一方、プリンタ、複写装置、複合装置、コンピュータ等の画像処理装置においては、半導体集積回路である外部とのインターフェイス処理を行うASIC(Application Specific Integrated Circuit)を搭載して、ネットワーク、USB(Universal Serial Bus)、スキャナ、プロッタ及びコンピュータ等の外部とのインターフェイス処理をASICで行って、外部からのデータをメインメモリに保管したり、メインメモリに保管したデータを読み出して外部に出力する等のインターフェイス処理を行うようになってきている。
すなわち、ASICは、ネットワーク、スキャナ、プロッタ等との間でデータの送受信を行うとともに、PCIeエンドポイントを介して接続されたメインメモリとの間で、DMA(Direct Memory Access)によってデータのやり取りを行う。
例えば、画像形成装置に搭載されているASICとしては、イーサネット(Ethernet:登録商標) I/F等のネットワークI/FやUSB(Universal Serial Bus) I/Fを制御するI/O機能を搭載するASICがあり、このようなASICは、ネットワーク用のリードDMAC(Direct Memory Access Controller :DMAコントローラ)とライトDMAC、USB用のリードDMACとライトDMAC、アービタ及びPCIeエンドポイント回路等を備えて、ネットワークデータやUSBデータとのデータの送受信を、以下のように行う。
すなわち、ASICは、ネットワークへの送信においては、メインメモリ上に保管されている送信データをリードDMACによって、PCIeエンドポイント回路からアービタを経由してイーサネットI/Fにデータ転送して、イーサネットI/Fによりネットワーク上へデータを送信する。また、ネットワークからのデータの受信においては、イーサネットI/Fによりネットワークから受信したデータをライトDMACによって、アービタを経由してメインメモリへライトさせる。
同様に、ASICは、USBとの間のデータの送受信においても、メインメモリからデータをリードして、USB I/Fに送り、USB I/FがデータをUSBに送信する。また、USB I/Fからのデータを、ライトDMACによってアービタを経由してメインメモリにライトする。
すなわち、ASICは、アービタを内蔵して、DMACによってPCIeバスを経由してメモリとの間でデータのリード及びライトを行うメモリアクセスを調停している。
このようなアービタを利用したメインメモリへのアクセスにおいては、アービタから出力されたリクエストがPCIeバスのインターフェイスを経由してメインメモリとのやり取りが行なわれ、送信と受信が全二重で行なわれる。
すなわち、PCIeは、リードとライトがスプリットトランザクションで行なわれる。すなわち、PCIeは、図11に示すように、ライトトランザクションでは、Tx伝送路上で、ライトコマンド(WC)に続いて、ライトデータ(WD)が送信され、リードトランザクションでは、Tx伝送路上で、リードコマンド(RC)が送信された後に、その応答としてRx伝送路上で、リードデータ(RD)が受信される。
しかし、従来のアービタは、規定された固定優先順位方式、または、ラウンドロビン方式で決定された順番でアクセスのリクエストを処理するだけであり、ASICの場合、ネットワークやUSB等からの受信データのオーバーフローを回避するために、アービタでのプライオリティーとして、受信動作であるライトDMACの優先順位が高く設定されていて、ラウンドロビンで処理される。一方、DMACとアービタ間のデータ転送サイズは、128バイトであり、1回のトランザクションでやり取りされるデータ量は、128バイトである。また、アービタとPCIeエンドポイント(PCIeバスのI/F)との間のデータ転送サイズは、128バイトであり、PCIeバス上は、128バイトのパケットが送受信される。
そして、例えば、ASICが、ネットワーク、USB等のデバイスの外部I/Fとメインメモリとのデータ転送を行うDMACを複数搭載している場合、複数のDMACが並行動作すると、図12に示すように、アービタからライトアクセスを連続して受けた場合、リードコマンドの発行が先送りになり、Tx伝送路の効率とRx伝送路の効率のバランスが悪くなる。特に、128バイトのライトデータが送信されないとリードコマンドは送信することができないため、デバイスへのリードコマンドの伝達が遅くなって、Rx伝送路上の効率が悪くなる。
その結果、イーサネットI/FやUSB I/F等の外部デバイスI/Fから外部デバイスへのデータ送信時に、メインメモリからの送信データのリードが遅くなって、送信アンダーランが発生し、プロトコル上の再送等が発生して、パフォーマンスの低下を招くという問題があった。
また、PCIeバスは、スプリットトランザクションバスであるため、アービタによって複数のDMACからのアクセスを調停するだけでは、Tx伝送路とRx伝送路の効率が悪くなり、リードアクセスとライトアクセスを考慮した調停が必要となる。例えば、Tx伝送路の効率を高めるために、1回に送信するライトパケットのサイズを大きくすると、上述のようにRx伝送路の効率が低下して、リードパケットのレイテンシー(遅延時間)が大きくなる。逆に、Rx伝送路の効率を高めるために、1回に送信するライトパケットのサイズを小さくすると、ライトパケットに付加するライトコマンドの数が増大し、Tx伝送路の効率が低下する。
そして、従来、アービタからのライトコマンドをバッファに保管し、ライトコマンドの保管中にリードコマンドを受け付けると、既に保管されているライトコマンドよりも先にリードコマンドをPCIeインターフェイスに渡すことにより、送信路と受信路の利用効率の向上を図った技術が提案されている(特許文献1参照)。
しかしながら、上記公報記載の従来技術にあっては、アービタからのライトコマンドをバッファに保管して、このライトコマンドの保管中にリードコマンドを受け付けると、既に保管されているライトコマンドよりも先にリードコマンドをPCIeインターフェイスに渡しているため、ライトコマンドの受け付けとリードコマンドの受け付けが同時に発生した場合のタイミング制御やライトコマンド処理の受け付けの終了と同時にリードコマンドの受け付けが発生した場合のタイミング制御が複雑になり、回路規模が大きくなるとともに、コストが高くなるおそれがある。
そこで、本発明は、簡単な構成で、スプリットトランザクション伝送路の利用効率を向上させてスループットを向上させることのできる半導体集積回路及びメモリアクセス制御方法を提供することを目的としている。
本発明は、上記目的を達成するために、外部インターフェイスに接続されているDMAコントローラから受け取った外部メモリへのライトアクセスのライトデータをデータ保管手段に一時保管し、画像形成出力を実行する画像形成出力機構に接続された画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であるか否かを示す動作状態を前記伝送効率判定基準として前記伝送路の伝送効率を判定し、前記画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であると判定された場合、前記画像形成出力インターフェイスに接続されている前記DMAコントローラから前記外部メモリへのリードアクセスを行う間、前記画像形成出力インターフェイス以外の前記外部インターフェイスに接続されている前記DMAコントローラから受け取って保管されている前記ライトデータを所定の分割データ量に分割して前記伝送路経由で前記外部メモリに伝送することを特徴としている。
また、本発明は、前記DMAコントローラから受け取って前記伝送路側に出力するリードリクエストのリクエスト時間間隔を監視して、該リクエスト時間間隔が予め設定されている所定の基準時間間隔を前記伝送効率判定基準として前記伝送路の伝送効率を判定することを特徴としてもよい。
本発明によれば、トランザクション伝送路の伝送効率に応じてDMAコントローラからのライトデータの分割伝送を制御しているので、簡単な構成で伝送路の利用効率を向上させることができ、伝送路を利用した処理のスループットを向上させることができる。
本発明の一実施例を適用した画像形成装置の要部ブロック図。 アービタのブロック構成図 複数のDMACが並行動作する場合のPCIeバスの状態例を示す図。 リードリクエスト時間間隔が長くなった状態のPCIeバスの状態例を示す図。 ライトデータを分割サイズに分割して送信した場合のPCIeバスの状態例を示す図。 外部インターフェイスの通信モードに基づいてパケットを分割制御する場合の画像形成装置のブロック構成図。 外部インターフェイスの通信モードに基づくパケット分割制御処理を示すフローチャート。 外部インターフェイスの動作状態に基づいてライトパケットを分割制御する場合の画像形成装置のブロック構成図。 外部インターフェイスの動作状態に基づくパケット分割制御処理を示すフローチャート。 画像処理ASICを搭載する画像形成装置のブロック構成図。 PCIeにおけるライトとリードのトランザクションの説明図。 PCIeにおける送信伝送路と受信伝送路の効率のバランスが悪化した状態を示す図。
以下、本発明の好適な実施例を添付図面に基づいて詳細に説明する。なお、以下に述べる実施例は、本発明の好適な実施例であるので、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明によって不当に限定されるものではなく、また、本実施の形態で説明される構成の全てが本発明の必須の構成要件ではない。
図1〜図10は、本発明の半導体集積回路及びメモリアクセス制御方法の一実施例を示す図であり、図1は、本発明の半導体集積回路及びメモリアクセス制御方法の一実施例を適用した画像形成装置1の要部ブロック構成図である。
図1において、画像形成装置1は、例えば、プリンタ、複合装置等であり、CPU(Central Processing Unit )チップセット2、メインメモリ(外部メモリ)3及び半導体集積回路としてのASIC(Application Specific Integrated Circuit)4等を備えている。ASIC4とCPUチップセット2の内蔵するMCH(Memory Controller Hub)とは、スプリットトランザクションの伝送路であるPCIeバス5で接続されている。
ASIC4は、外部デバイスとの接続のI/F(インターフェイス)を行うイーサネットI/F11とUSB I/F12、イーサネットI/F11用のリードDMAC(Direct Memory Access Controller :DMAコントローラ)13rとライトDMAC13w、USB I/F12用の2つのリードDMAC14r、15rとライトDMAC14w、15w、アービタ16及びPCIeインターフェイスであるPCIeエンドポイント17等を備えており、外部デバイスとのインターフェイス処理を行う。
アービタ16は、DMAC13r、13w、14r、14w、15r、15wからのライトリクエスト及びリードリクエストを調停して、PCIeエンドポイント17に渡す。PCIeエンドポイント17は、ライトリクエスト及びリードリクエストをPCIeバス5を経由させてCPUチップセット2を越してメインメモリ3にアクセスさせる。
ASIC4は、ネットワークへのデータ送信においては、メインメモリ3上の送信データをリードDMAC13rによって、PCIeエンドポイント17からアービタ16を経由してイーサネットI/F11にデータ転送を行って、イーサネットI/F11によりネットワーク(イーサネット)上に送信し、ネットワークからのデータ受信においては、イーサネットI/F11により受信したデータをライトDMAC13wによって、アービタ16を経由してメインメモリ3にライトする。同様に、ASIC4は、USBへのデータの出力においては、メインメモリ3上に保存されている出力データをリードDMAC14r、15rによって、PCIeエンドポイント17からアービタ16を経由してUSB I/F12にデータ転送を行って、USB I/F12によりUSB上に出力し、USBからのデータ受信においては、USB I/F12により受信したデータをライトDMAC14w、15wによって、アービタ16を経由してメインメモリ3にライトする。
そして、PCIeバス5を利用したCPUチップセット2を越したメインメモリ3へのアクセスにおいては、アービタ16から出力されたリクエストがPCIeエンドポイント17を経由してメインメモリ3との間でやり取りされる。
アービタ16は、上述のように、リードDMAC13r、14r、15rからのリードコマンドとライトDMAC13w、14w、15wからのライトコマンドを調停して、PCIeエンドポイント17に渡すが、本実施例のアービタ16は、図2に示すように、ライトパケットバッファ21、ライトパケットサイズ制御回路22、リードリクエスト監視回路23及びレジスタ24等を備えている。
リードリクエスト監視回路(判定手段)23は、アービタ16から送信されるリードリクエストの時間間隔trを監視し、リードリクエスト時間間隔trを効率低下判定時間間隔(伝送効率判定基準)tpと比較して、効率低下判定時間間隔tpを上回る(長い)リードリクエスト時間間隔trが時間継続すると、リードトランザクションの効率(伝送効率)が低下していると判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行う。レジスタ24は、上記効率低下判定時間間隔tpや後述するライトパケットの分割サイズが設定されて、保持する。また、リードリクエスト監視回路23は、各外部インターフェイスであるイーサネットI/F11及びUSB I/F12から動作状態を伝送効率判定基準として取得して、伝送効率の低下の有無を判定する。
ライトパケットバッファ(データ保管手段)21は、各ライトDMAC13w、14w、15から受信したライトデータを一旦保管する。
ライトパケットサイズ制御回路(分割伝送制御手段)22は、リードリクエスト監視回路23から伝送効率低下通知を受けると、ライトパケットバッファ21に保管されているライトデータを、レジスタ24に保持されている分割サイズによって、分割ライトパケットに分割してPCIeエンドポイント17へ送信する。
なお、ASIC4は、ROM、EEPROM(Electrically Erasable and Programmable Read Only Memory )、EPROM、フラッシュメモリ、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory )、CD−RW(Compact Disc Rewritable )、DVD(Digital Video Disk)、SD(Secure Digital)カード、MO(Magneto-Optical Disc)等のコンピュータが読み取り可能な記録媒体に記録されている本発明のメモリアクセス制御方法を実行するメモリアクセス制御プログラムを読み込んで、ASIC4内の図示しないROM等に導入することで、後述するPCIeバス5の利用効率を向上させるメモリアクセス制御方法を実行する半導体集積回路として構築されている。このメモリアクセス制御プログラムは、アセンブラ、C、C++、C#、Java(登録商標)等のレガシープログラミング言語やオブジェクト指向ブログラミング言語等で記述されたコンピュータ実行可能なプログラムであり、上記記録媒体に格納して頒布することができる。
次に、本実施例の作用を説明する。本実施例のASIC4は、アービタ16がPCIeバス5の伝送効率を判定してライトデータを分割してメインメモリ3にライトアクセスすることで、PCIeバス5の伝送効率を向上させる。
すなわち、ASIC4は、イーサネットI/F11用にリードDMAC13rとライトDMAC13wを、USB I/F12用に2つのリードDMAC14r、15rと2つのライトDMAC14w、15wを備えており、これらのDMAC13r、13w、14r、14w、15r、15wが並行動作する。これらのDMAC13r、13w、14r、14w、15r、15wが並行動作する場合、各DMAC13r、13w、14r、14w、15r、15wからのアクセスをアービタ16が調整してPCIeエンドポイント17に渡す。
このとき、PCIeバス5には、図3に示すように、ライト側のTx伝送路では、ライトコマンドWC1、ライトデータWD1、リードコマンドRC1、ライトコマンドWC2、ライトデータWD2、リードコマンドRC2、ライトコマンドWC3、ライトデータWD3・・・とアクセスが実行されることとなり、リード側のRx伝送路では、リードコマンドRC1によるリードデータRD1、リードコマンドRC2によるリードデータRD2のアクセスが実行されることとなる。
ところが、上述のように、PCIeバス5は、スプリットトランザクションバスであるため、アービタ16によって複数のDMAC13r、13w、14r、14w、15r、15wからのアクセスを単に調停するだけでは、Tx伝送路とRx伝送路の効率が悪くなる。
すなわち、リードリクエスト時間間隔trは変動的であり、アービタ16に接続されるDMAC13r、13w、14r、14w、15r、15wの数やリクエストの発行能力、画像形成装置1の動作によって大きく(長く)なったり、小さく(短く)なったりする。例えば、リードDMAC13r、14r、15rのうちの1つ、例えば、リードDMAC13rと複数のライトDMAC13w、14w、15wが並行動作した場合、アービタ16は、リードDMAC13rからのリードリクエストの間に複数のライトDMAC13w、14w、15wからのライトリクエストに割り込まれ、リードリクエスト時間間隔trは、大きくなる。また、ライトDMAC13w、14w、15wの動作が1つの場合は、リードリクエストとライトリクエストが交互に処理され、リードリクエスト時間間隔trは、ライトパケットサイズの転送時間とほぼ等しくなる。
そこで、本実施例のASIC4は、PCIeバス5の伝送効率を、リードリクエスト時間間隔trと外部インターフェイスの動作状態に基づいて判定してDMAC13r、13w、14r、14w、15r、15wからのリードデータを所定の分割データ量に分割してPCIeバス5を経由させてメインメモリ3に伝送する分割伝送を行う。
すなわち、アービタ16は、ライトパケットバッファ21が、各ライトDMAC13w、14w、15から受信したライトデータを一旦保管し、リードリクエスト監視回路23が、アービタ16からリードリクエスト時間間隔trを計測して、レジスタ24に保管されている効率低下判定時間間隔tpと比較する。リードリクエスト監視回路23は、図4に示すように、リードリクエスト時間間隔trが効率低下判定時間間隔tpを上回る(長い)リードリクエスト時間間隔trが時間継続すると、PCIeバス5のリードトランザクションの効率が低下していると判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行う。
ライトパケットサイズ制御回路22は、リードリクエスト監視回路23から伝送効率低下通知があると、ライトパケットバッファ21に格納したライトデータ(ライトパケット)を、図5に示すように、レジスタ24に設定されている分割サイズに応じて分割して、アービタ16からPCIeエンドポイント17へ送信する。
したがって、PCIeバス5上のライトパケットサイズが分割サイズに応じて小さくなり、PCIeバス5上の状態が、図5から分かるように、リードリクエスト時間間隔trが短くなって、リード側のRx伝送路の転送効率が向上する。
また、ASIC4のアービタ6は、外部インターフェイスの動作状態を取得し、該動作状態を、予め設定されている所定の動作状態を伝送効率判定基準として伝送路の伝送効率を判定して、ライトパケットバッファ21に格納したライトデータを分割してPCIeエンドポイント17に送るか分割しないで送るかを決定する。
この外部インターフェイスの動作状態としては、種々の状態に対応することができ、まず、図6に示すように、イーサネットインターフェイス11とUSB I/F12の動作状態を取得してライトデータの分割を制御する場合について説明する。
図6では、画像形成装置1は、ASIC4のイーサネットI/F11にイーサネット31が接続され、USB I/F12にパーソナルコンピュータ(PC)32が接続されている。アービタ16は、外部インターフェイスであるイーサネットI/F11及びUSB I/F12から外部インターフェイスの動作状態を取得する。すなわちイーサネットI/F11に接続されているイーサネット31は、全二重モードと半二重モードで動作が可能であり、アービタ16は、イーサネットI/F11から全二重モードと半二重モードのいずれで動作しているかを取得する。また、イーサネット31が、高速の1000BASE−Tであるのか、比較的低速の100BASE−Tであるのかを取得する。
そして、イーサネット31が半二重モードの場合には、送信と受信が同時に行われることがないので、PCIeエンドポイント17とCPUチップセット2との間のPCIeバス5のTx伝送路でリードリクエストがライトリクエストとライトデータに邪魔されることはないが、イーサネット31が全二重モードの場合には、送信と受信が同時に行われるので、PCIeバス5上でのバランスが悪くなる。
そこで、リードリクエスト監視回路23は、図7に示すように、外部インターフェイスの状態信号(動作状態)を取り込み(ステップS101)、イーサネットI/F11に接続されているイーサネット31が全二重モードであるかチェックする(ステップS102)。ステップS102で、イーサネット31が半二重モードであると、PCIeバス5のTx伝送路でリードリクエストがライトリクエストとライトデータに邪魔されることはないため、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS103)。
ステップS102で、イーサネット31が全二重モードであると、リードリクエスト監視回路23は、イーサネット31の通信速度が高速の1000BASE−Tであるかチェックし(ステップS104)、1000BASE−Tでないときには、PCIeバス5の効率がパケットを分割する程度には悪化しないと判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS103)。
ステップS104で、イーサネット31の通信速度が高速の1000BASE−Tであると、リードリクエスト監視回路23は、リードリクエスト時間間隔trがレジスタ24に設定されている設定値である効率低下判定時間間隔tpより長いかチェックし(ステップS105)、リードリクエスト時間間隔trが効率低下判定時間間隔tp以下であると、PCIeバス5の効率が低下していないと判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS103)。
ステップS105で、リードリクエスト時間間隔trが効率低下判定時間間隔tpよりも長いときには、リードリクエスト監視回路23は、PCIeバス5の効率が低下していると判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行い、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割をレジスタ24に設定されている分割サイズに応じて分割して、PCIeエンドポイント17へ送信する(ステップS106)。
このように、本実施例のASIC4は、外部インターフェイスに接続されているDMACから受け取ったメインメモリ3へのライトアクセスのライトデータをライトパケットバッファ21に一時保管し、リードリクエスト監視回路23が、PCIeバス5の伝送効率を所定の伝送効率判定基準に基づいて判定して、該判定結果に基づいてライトパケットバッファ21に保管されているライトデータを所定の分割データ量に分割してPCIeバス5経由でメインメモリ3に伝送している。
したがって、PCIeバス5の伝送効率に応じてDMACからのライトデータの分割伝送を制御して、簡単な構成でPCIeバス5の利用効率を向上させることができ、PCIeバス5を利用した処理のスループットを向上させることができる。
また、ASIC4は、USB I/F12が、USB I/F12に接続されているパーソナルコンピュータ32との通信状態を取得して、ライトデータの分割送信を行ってもよい。
例えば、アービタ16は、USB I/F12がパーソナルコンピュータ32からのプロッタ印刷を処理する動作中であるか否か、パーソナルコンピュータ32へスキャナデータを送信する動作中であるか否かの情報を取得し、USB I/F12からのライトDMAC14w、15wからのライトデータを分割送信するか否かを制御する。
すなわち、パーソナルコンピュータ32からのプロッタ印刷用のデータを受信して該データによるプロッタ印刷動作中であるが、スキャナ動作によって読み取ったデータのパーソナルコンピュータ32への送信中でない場合には、パーソナルコンピュータ32から印刷データを受信する動作、すなわち、ライトDMAC14w、15wによるメモリ3へのライト処理のみであるので、アービタ16は、ライトデータ(ライトパケット)の分割を行うことなく、PCIeエンドポイント17に送信する。
また、パーソナルコンピュータ32からのプロッタ印刷データを受信して印刷するプロッタ印刷動作中であって、かつ、パーソナルコンピュータ32へのスキャナデータ送信中である場合には、PCIeバス5上でのバランスが悪くなるおそれがあるため、アービタ16は、パーソナルコンピュータ32からのプロッタ印刷データであるライトパケットを分割すると判定して、ライトパケットを分割サイズに分割して、PCIeエンドポイント17に送信する。
このようにすると、PCIeバス5上のバランスを向上させることができ、パーソナルコンピュータ32からのプロッタ処理とパーソナルコンピュータ32へのスキャナデータ送信動作を効率的に行うことができる。
さらに、外部インターフェイスの動作状態としては、その通信状態だけでなく、例えば、図8及び図9に示すように、ASIC40が、外部インターフェイスとして、ビデオインI/F41とビデオアウトI/F42を備え、ビデオインI/F41用に、ライトDMAC43wを、ビデオアウトI/F42用に、C(シアン)、M(マゼンタ)、Y(イエロー)、K(ブラック)の各版に対応する4つのリードDMAC44r〜47rを搭載していて、これらのビデオインI/F41とビデオアウトI/F42に接続される外部デバイスとしてのスキャナ51とプロッタ52の動作状態を取得して、ライトデータの分割を制御してもよい。
すなわち、ビデオインI/F41には、原稿の画像を読み取って読み取り画像データをビデオインI/F41に入力するスキャナ51が接続され、ビデオアウトI/F42には、ビデオアウトI/F42からの画像データに基づいて用紙に画像形成するプロッタ52が接続される。そして、ライトDMAC43wは、アービタ16にメインメモリ3へのライトコマンドを出して、ビデオインI/F41がスキャナ51から取り込んだ画像データをライトデータとしてアービタ16に渡す。リードDMAC44r〜47rは、リードコマンドをアービタ16に出して、メインメモリ3の画像データをリードデータとして取り込んで、ビデオアウトI/F42に渡して、ビデオアウトI/F42がプロッタ52に出力する。
そして、アービタ16は、ビデオアウトI/F42からプロッタ52の動作状態信号を取得し、また、ビデオインI/F41からスキャナ51の動作状態信号を取得して、ライトデータの分割を制御する。
すなわち、アービタ16のリードリクエスト監視回路23は、図9に示すように、外部インターフェイスであるビデオインI/F41とビデオアウトI/F42の状態信号(動作状態)を取り込み(ステップS201)、ビデオアウトI/F42に接続されているプロッタ52が動作中であるかチェックする(ステップS202)。ステップS202で、プロッタ52が動作中でないときには、リードリクエスト監視回路23は、リードコマンドが発生しないため、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS203)。
ステップS202で、プロッタ52が動作中であると、リードリクエスト監視回路23は、ビデオインI/F41に接続されているスキャナ51が動作中であるかチェックし(ステップS204)、スキャナ51が動作中でないときには、ライトコマンドが発生しないため、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS203)。
ステップS204で、スキャナ51が動作中であると、すなわち、コピーアプリやプリンタアプリとスキャナアプリのマルチ動作(複合動作)の場合は、リードリクエスト監視回路23は、リードリクエスト時間間隔trがレジスタ24に設定されている設定値である効率低下判定時間間隔tpより長いかチェックし(ステップS205)、リードリクエスト時間間隔trが効率低下判定時間間隔tp以下であると、PCIeバス5の効率が低下していないと判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行わず、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割を行うことなくPCIeエンドポイント17に送信する(ステップS203)。
ステップS205で、リードリクエスト時間間隔trが効率低下判定時間間隔tpよりも長いときには、リードリクエスト監視回路23は、PCIeバス5の効率が低下していると判定して、ライトパケットサイズ制御回路22に伝送効率低下通知を行い、ライトパケットサイズ制御回路22は、ライトデータ(ライトパケット)の分割をレジスタ24に設定されている分割サイズに応じて分割して、PCIeエンドポイント17へ送信する(ステップS206)。
このようにすると、外部インターフェイスの動作状態に応じて、ライトパケットを分割して、PCIeバス5のTxとRxの伝送効率のバランスを向上させることができ、比較的高速の線速で動作するスキャナ51やプロッタ52に対しても適切に対応して動作させて、スループットを向上させることができる。
また、上述のように、スキャナ51からのビデオ入力用のライトDMAC43wとプロッタ52へのビデオ出力用のリードDMAC44r〜47rに適用して、ビデオインI/F41とビデオアウトI/F42が動作中であるか否かの情報を伝送効率判定基準として取得して、ライトパケットの分割を行うか否かの判定を行っている。
したがって、スキャナ51及びプロッタ52とメインメモリ3との間のPCIeバス5を介したデータ転送を効率的に行うことができ、より一層高速で動作するスキャナ51やプロッタ52の動作性能を向上させて、スループットをより一層向上させることができる。
また、半導体集積回路が、図10に示すような画像処理モジュールを搭載した画像処理ASIC60である場合にも、同様に適用することができる。なお、図10においては、図1及び図8と同様の構成部分には、同一の符号を付して、その詳細な説明を省略する。
図10において、画像処理ASIC60は、図1と同様のアービタ16とPCIeエンドポイント17、図8と同様のビデオインI/F41、ビデオアウトI/F42、ビデオインI/F41用のライトDMAC43w、ビデオアウトI/F42用のリードDMAC44r〜47rを備えているとともに、圧縮伸長器61、回転器62、ハードディスク(HDD)I/F63、メモリクリア64、圧縮伸長器61用のライトDMAC65w、リードDMAC65r、回転器62用のライトDMAC66w、リードDMAC66r、ハードディスクI/F用のライトDMAC67w、リードDMAC67r及びメモリクリア64用のライトDMAC68wを備えており、ビデオインI/F41には、スキャナ51が、ビデオアウトI/F42には、プロッタ52が、ハードディスクI/F63には、ハードディスク(HDD)71がそれぞれ接続されている。
この画像処理ASIC60は、外部インターフェイスであるビデオインI/F41、ビデオアウトI/F42及びハードディスクI/F63から動作状態信号を取得して、ライトデータの分割送信を制御する。例えば、画像処理ASIC60は、コピー動作の場合、スキャナ51からの画像データをビデオインI/F41を経由して、ライトDMAC43wによりメインメモリ3にライトする。次に、画像処理ASIC60は、メインメモリ3に保管されている画像データをリードDMAC65rでリードして圧縮伸長器61に送って符号化し、ライトDMAC65wによってメインメモリ3へ符号データをライトする。次に、画像処理ASIC60は、ジャム用バックアップまたはドキュメントボックスによるスキャン無しでの再印刷を可能とするために、ハードディスクI/F63が、メインメモリ3にライトされた符号データをリードDMAC67rによってリードし、ハードディスク71へ格納する。そして、画像処理ASIC60は、ハードディスクI/F63が、ハードディスク71に格納された符号データをライトDMAC75wによってメインメモリ3へライトし、メインメモリ3にライトされた符号データをリードDMAC65rによってリードして圧縮伸長器61で復号化して、ライトDMAC65wによって、復号化した画像データを再びメインメモリ3へライトする。次に、画像処理ASIC60は、印刷用紙の方向がメインメモリ3上に展開された画像データの方向と異なる場合等に必要に応じて、リードDMAC66rによってメインメモリ3上の画像データをリードして、回転器62で用紙の方向に合わせる等の回転を行って、ライトDMAC66wによって再度メインメモリ3にライトする。次に、画像処理ASIC60は、ビデオアウトI/F42が、リードDMAC44r〜47rによりメインメモリ3上のCMYK各版の画像データをリードし、プロッタ52へ出力する。なお、メモリクリア64は、各機能がメインメモリ3上へ画像データまたは符号データをライトする場合に、確保したメモリ領域(ページメモリ)を初期化するために使用される。
アービタ16は、上記処理において、スキャナ動作とドキュメントBOXからの印刷動作、すなわち、スキャナ51の読み取り動作で読み取った画像データのメインメモリ3へのライト動作とハードディスク71の画像データをプロッタ52で印刷出力する印刷動作を並列に行った場合、メインメモリ3に対しては、スキャナ51で読み取った画像データのビデオインI/F41用のライトDMAC43wによるライト、ハードディスクI/F63用のライトDMAC67wによる符号データのライト、圧縮伸長器61用のリードDMAC65rによる符号データ(少量)のリード、ライトDMAC65wによる画像データのライト、メモリクリア64用のライトDMAC68wによるページメモリ領域の初期化のためのライト及びビデオアウトI/F42用のリードDMAC44r〜47rによる画像データのリードの各メモリアクセスが発生する。
このようなメモリアクセスが発生するため、PCIeバス5上では、リードリクエストよりもライトリクエストの数の方が多くなり、PCIeバス5の効率の低下が発生して、リードリクエストに対する応答が遅くなる。その結果、ビデオアウトI/F42への画像データの供給がプロッタ52のラインシンク間に間に合わず、印刷時に異常画像となるおそれがある。
そこで、アービタ16は、ビデオアウトI/F42からプロッタ52へのデータ出力中であるか否かの動作状態信号を取得して、ビデオアウトI/F42からプロッタ52へのデータ出力と上記他の動作が平行動作を行なう場合には、ビデオアウトI/F52のリードDMAC44r〜47rが画像データをリードしている間は、他のライトDMAC43w、65w、66w、67w、68wからのライトパケットを分割パケットに分割して、PCIeエンドポイント17に送信する。
このようにすると、ビデオアウトI/F42のリードDMAC44r〜47rからのリードリクエストに対する応答速度を速くすることができ、プロッタ52のラインシンク間に画像データを供給できる。その結果、印刷時の異常画像を回避することができる。
特に、プロッタ52のラインシンク時間が短い高速の画像形成装置の場合にも、画像データをラインシンク間に供給することができ、印刷時の異常画像の発生を適切に回避することができる。また、プロッタ52が、CMYKの4ドラム間の距離が物理的に離れている機種の場合、ビデオアウトI/F42の各版用のリードDMAC44r〜47rによる起動タイミングが重なることが無くなり、リードDMAC44r〜47rのリードリクエスト間に他のライトリクエストが割り込む状態が発生しやすくなるが、このような状態を適切に解消することができる。
以上、本発明者によってなされた発明を好適な実施例に基づき具体的に説明したが、本発明は上記実施例で説明したものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
本発明は、PCIe等のスプリットトランザクションの伝送路経由で外部メモリへのアクセスを効率的に行うASIC等の半導体集積回路及びメモリアクセス制御方法に利用することができる。
1 画像形成装置
2 CPUチップセット
3 メインメモリ
4 ASIC
5 PCIeバス
11 イーサネットI/F
12 USB I/F
13r リードDMAC
13w ライトDMAC
14r、15r リードDMAC
14w、15w ライトDMAC
16 アービタ
17 PCIeエンドポイント
21 ライトパケットバッファ
22 ライトパケットサイズ制御回路
23 リードリクエスト監視回路
24 レジスタ
tr リードリクエスト時間間隔
tp 効率低下判定時間間隔
31 イーサネット
32 パーソナルコンピュータ
40 ASIC
41 ビデオインI/F
42 ビデオアウトI/F
43w ライトDMAC
44r〜47r リードDMAC
51 スキャナ
52 プロッタ
60 画像処理ASIC
61 圧縮伸長器
62 回転器
63 ハードディスク(HDD)I/F
64 メモリクリア
65w ライトDMAC
65r リードDMAC
66w ライトDMAC
66r リードDMAC
67w ライトDMAC
67r リードDMAC
68w ライトDMAC
71 ハードディスク(HDD)
特開2008−250985号公報

Claims (3)

  1. 外部インターフェイスに接続されているDMAコントローラから外部メモリへのライトアクセスとリードアクセスをスプリットトランザクションの伝送路経由で行う半導体集積回路において、
    前記DMAコントローラから受け取った前記外部メモリへのライトアクセスのライトデータを一時保管するデータ保管手段と、
    前記伝送路の伝送効率を所定の伝送効率判定基準に基づいて判定する判定手段と、
    前記判定手段の判定結果に基づいて前記データ保管手段に保管されている前記ライトデータを所定の分割データ量に分割して前記伝送路経由で前記外部メモリに伝送する分割伝送制御手段と、
    を備え
    前記外部インターフェイスは、画像形成出力を実行する画像形成出力機構に接続された画像形成出力インターフェイスを含み、
    前記判定手段は、前記画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であるか否かを示す動作状態を前記伝送効率判定基準として前記伝送路の伝送効率を判定し、
    前記分割伝送制御手段は、前記画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であると判定された場合、前記画像形成出力インターフェイスに接続されている前記DMAコントローラから前記外部メモリへのリードアクセスを行う間、前記画像形成出力インターフェイス以外の前記外部インターフェイスに接続されている前記DMAコントローラから受け取って保管されている前記ライトデータを所定の分割データ量に分割して前記伝送路経由で前記外部メモリに伝送する
    ことを特徴とする半導体集積回路。
  2. 前記判定手段は、前記DMAコントローラから受け取って前記伝送路側に出力するリードリクエストのリクエスト時間間隔を監視して、該リクエスト時間間隔が 予め設定されている所定の基準時間間隔を前記伝送効率判定基準として前記伝送路の伝送効率を判定することを特徴とする請求項1記載の半導体集積回路。
  3. 外部インターフェイスに接続されているDMAコントローラから外部メモリへのライトアクセスとリードアクセスをスプリットトランザクションの伝送路経由で行う半導体集積回路におけるメモリアクセス制御方法において、
    前記DMAコントローラから受け取った前記外部メモリへのライトアクセスのライトデータをデータ保管手段に一時保管するデータ保管処理ステップと、
    前記伝送路の伝送効率を所定の伝送効率判定基準に基づいて判定する判定処理ステップと、
    前記判定処理ステップでの判定結果に基づいて前記データ保管手段に保管されている前記ライトデータを所定の分割データ量に分割して前記伝送路経由で前記外部メモリに伝送する分割伝送制御処理ステップと、
    を有し、
    前記外部インターフェイスは、画像形成出力を実行する画像形成出力機構に接続された画像形成出力インターフェイスを含み、
    前記判定ステップは、前記画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であるか否かを示す動作状態を前記伝送効率判定基準として前記伝送路の伝送効率を判定し、
    前記分割伝送制御ステップは、前記画像形成出力インターフェイス及び前記画像形成出力インターフェイス以外の前記外部インターフェイスがともに動作中であると判定された場合、前記画像形成出力インターフェイスに接続されている前記DMAコントローラから前記外部メモリへのリードアクセスを行う間、前記画像形成出力インターフェイス以外の前記外部インターフェイスに接続されている前記DMAコントローラから受け取って保管されている前記ライトデータを所定の分割データ量に分割して前記伝送路経由で前記外部メモリに伝送する
    ことを特徴とするメモリアクセス制御方法。
JP2009054489A 2009-03-09 2009-03-09 半導体集積回路及びメモリアクセス制御方法 Expired - Fee Related JP5293283B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009054489A JP5293283B2 (ja) 2009-03-09 2009-03-09 半導体集積回路及びメモリアクセス制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009054489A JP5293283B2 (ja) 2009-03-09 2009-03-09 半導体集積回路及びメモリアクセス制御方法

Publications (2)

Publication Number Publication Date
JP2010211349A JP2010211349A (ja) 2010-09-24
JP5293283B2 true JP5293283B2 (ja) 2013-09-18

Family

ID=42971474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009054489A Expired - Fee Related JP5293283B2 (ja) 2009-03-09 2009-03-09 半導体集積回路及びメモリアクセス制御方法

Country Status (1)

Country Link
JP (1) JP5293283B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0631140B2 (ja) * 1984-09-26 1994-04-27 株式会社東芝 エレベ−タの地震管制方法および管制装置
JP5293516B2 (ja) * 2009-09-10 2013-09-18 株式会社リコー データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP5418193B2 (ja) * 2009-12-14 2014-02-19 富士ゼロックス株式会社 調停装置、画像処理装置、及び画像形成システム
JP5935235B2 (ja) 2011-02-18 2016-06-15 ソニー株式会社 通信装置、通信システムおよび通信方法
US9280498B2 (en) * 2011-03-02 2016-03-08 Nec Corporation Data control system, data control method, and data control program
KR101934519B1 (ko) 2012-11-26 2019-01-02 삼성전자주식회사 저장 장치 및 그것의 데이터 전송 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4309508B2 (ja) * 1999-03-25 2009-08-05 コニカミノルタビジネステクノロジーズ株式会社 Dma制御装置
JP5145929B2 (ja) * 2007-03-08 2013-02-20 株式会社リコー 半導体集積回路及び画像処理装置
JP2008293487A (ja) * 2007-04-27 2008-12-04 Panasonic Corp プロセッサシステム、バス制御方法および半導体装置
JP2010198138A (ja) * 2009-02-23 2010-09-09 Ricoh Co Ltd データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体

Also Published As

Publication number Publication date
JP2010211349A (ja) 2010-09-24

Similar Documents

Publication Publication Date Title
JP5293283B2 (ja) 半導体集積回路及びメモリアクセス制御方法
US6807590B1 (en) Disconnecting a device on a cache line boundary in response to a write command
JP2011186894A (ja) データ転送装置、画像処理装置、データ転送方法、データ転送プログラム及び記録媒体
US10430370B2 (en) Data transfer device, data transfer method, and a non-transitory recording medium
US8386670B2 (en) System controlling device and image processing system
US7702841B2 (en) Semiconductor integrated circuit and image processing apparatus having the same
JP6886301B2 (ja) メモリアクセスシステム、その制御方法、プログラム、及び画像形成装置
JP5108578B2 (ja) 画像処理コントローラ及び画像形成装置
KR20180116717A (ko) 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법
WO2006019770A2 (en) System and method for transmitting data in storage controllers
JP2009151752A (ja) バススイッチ,電子機器及びデータ転送方法
JP5340058B2 (ja) 画像処理装置、その制御方法及びプログラム
US20170257518A1 (en) Data processing apparatus, method for controlling data processing apparatus, and storage medium
JP2012034254A (ja) データ転送装置、画像形成装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
US11010114B2 (en) Read/write direction-based memory bank control for imaging
JP2010198138A (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
US10579317B1 (en) Memory control method, memory control apparatus, and image forming method that uses memory control method
JP5736847B2 (ja) 画像形成装置およびその制御方法
JP3970728B2 (ja) データ通信装置
JP2011059979A (ja) データ転送装置、データ転送制御方法、データ転送制御プログラム及び記録媒体
JP4607706B2 (ja) 画像処理システム、プログラムおよびジョブ実行方法
JP2005332372A (ja) 画像処理装置及び画像形成装置
KR102438319B1 (ko) 공통 메모리 인터페이스 장치 및 방법
JP2011101249A (ja) 画像処理システム、画像処理装置、データ転送制御方法、プログラム及び記録媒体
US20230297535A1 (en) Controller, image forming apparatus, and access arbitration method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120302

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120302

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120706

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130419

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130419

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130514

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130527

R151 Written notification of patent or utility model registration

Ref document number: 5293283

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees