JP5460156B2 - データ処理装置 - Google Patents

データ処理装置 Download PDF

Info

Publication number
JP5460156B2
JP5460156B2 JP2009165921A JP2009165921A JP5460156B2 JP 5460156 B2 JP5460156 B2 JP 5460156B2 JP 2009165921 A JP2009165921 A JP 2009165921A JP 2009165921 A JP2009165921 A JP 2009165921A JP 5460156 B2 JP5460156 B2 JP 5460156B2
Authority
JP
Japan
Prior art keywords
data
control unit
input
output
data processing
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.)
Active
Application number
JP2009165921A
Other languages
English (en)
Other versions
JP2011022714A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009165921A priority Critical patent/JP5460156B2/ja
Priority to US12/835,641 priority patent/US9239811B2/en
Publication of JP2011022714A publication Critical patent/JP2011022714A/ja
Application granted granted Critical
Publication of JP5460156B2 publication Critical patent/JP5460156B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4252Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a handshaking protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Description

本発明は、リングバスを用いたデータ処理装置に関する。
従来、プリント画像処理のような一連のデータ処理を高速に効率よく実現するため、全体のデータ処理を所定の機能に分割してハード化し、ハード化されたモジュールを処理の流れ順に接続して一連のデータ処理をパイプライン的に実行する方法が知られている。
一方、画像処理においては、一連の処理の順序を変えることで効率的に処理を実現できる。例えば、所定の画素数の出力装置に画像を出力する場合、画素数(解像度)を合わせるために解像度の変換が必要となる。入力画像の画素数が出力装置の画素数よりも多い場合は、処理の上流側で解像度を変換する。画素数を少なくしてから処理を行った方がよいが、入力画像の画素数が出力装置の画素数よりも少ない場合は、解像度の変換を行わずに画素数が少ない状態で処理行い、出力の直前(下流側)で解像度を変換した方がよい。
また、ある空間(例えば、入力デバイス空間)から標準的な空間(例えば、解像度600ppi、CIELAB色空間等)に変換して処理を行う。別の空間(例えば、出力デバイス空間)に変換する場合、入力側と出力側との空間変換部の処理順(1次元LUT、行列演算、3次元LUT等の処理の順序)は逆になる。つまり、処理の順序を変えることができれば、同じ処理モジュールを入力側と出力側とで共用することもできる。しかしながら、上記データ処理方法においては、処理の順序を変えることができないため、例えば、上記に示したような場合は、無駄なモジュールを(即ち、同じ機能のモジュールを複数)実装することで対応していた。
上記問題を解決するために、各処理モジュール間をリング状のネットワークで接続する方法が提案されている(例えば、特許文献1、特許文献2を参照)。これらの手法によれば、リング状のネットワークにてデータの接続先を変更することにより、処理順序の変更が可能である。なお、特許文献2に記載の技術おいては、各処理モジュールは、各々プロセッサにて実行されるので、各プロセッサのプログラムを変更することによっても変更可能である。
特許第2522952号公報 特許第2518293号公報
しかしながら、上記特許文献1及び特許文献2に記載のリング状のネットワークでは、あるモジュールの出力レートに対し、そのデータを受けるモジュールの処理が遅い。入力レートが相対的に低い場合、データを受けるモジュールは全てのデータを受け取ることができなくなり、リングバス上の有効パケットを格納するスロットが受け取られなかったデータによって占有されてしまう。すなわち、リングバス上にデータを出力することができなくなる現象(デットロック)が発生してしまう。リングバスにおいては、一度デットロックが発生してしまうと、リングバス上の全てのパケットを破棄し、全てのモジュールの初期化を行った後に、デットロックの原因となったモジュールの出力を制限する(或いは入力のレートを抑える)必要があった。このとき、リングバスにて複数のデータパスが形成されていた場合、正常なデータパス(デットロックの原因となったモジュールを使用しないデータパス)についても、やり直しとなる処理が生じ得る問題があった。
本発明はこのような問題点に鑑みなされたもので、リングバスでのデータをより適切に制御することを目的とする。
そこで、本発明は、リングバスにデータの入力を行うデータ入力手段と、前記データ入力手段で入力されたデータの出力を行うデータ出力手段と、前記リングバスへの前記データ入力手段によるデータの入力を制御するとともに、前記データ出力手段によるデータの出力を制御する第1の通信処理手段と、データ処理を行う複数のデータ処理手段と、前記複数のデータ処理手段と前記リングバスとの間のデータの授受を制御する複数の第2の通信処理手段と、前記リングバスの異常を検出する検出手段と、前記検出手段によって異常が検出された場合に、前記リングバスを経由することなく、前記複数の第2の通信処理手段又は前記複数のデータ処理手段に、初期化を指示するリセット信号を入力する制御手段と、を備え、前記制御手段は、前記検出された異常に該当するデータパスを決定し、前記決定されたデータパスに関連する前記第2の通信処理手段又は前記データ処理手段に、前記リセット信号を入力し、前記リセット信号を受信した前記第2の通信手段又は前記データ処理手段は、前記リセット信号に基づいて、リセット動作を行うことを特徴とする。
本発明によれば、リングバスでのデータをより適切に制御することができる。
データ処理装置の構成を示す図である。 データパケットのフォーマットを示す図である。 通信処理部の構成を示す図である。 通信処理部の入力制御部の動作を示すフローチャートである。 通信処理部の出力制御部の動作を示すフローチャートである。 通信処理部の構成を示す図である。 通信処理部の動作を示すフローチャートである。 通信処理部の構成を示す図である。 通信処理部の動作を示すフローチャートである。 データ入力部の構成を示す図である。 データ出力部の構成を示す図である。 デッドロック状態からの復帰動作を示すフローチャートである。 第2の実施形態に係るデータ処理装置の構成を示す図である。 第2の実施形態に係る通信処理部の構成を示す図である。 第2の実施形態に係る入力制御部の動作を示すフローチャートである。 第2の実施形態に係る出力制御部の動作を示すフローチャートである。 第2の実施形態に係る通信処理部の構成を示す図である。 第2の実施形態に係るデータ出力部の構成を示す図である。
以下、本発明の実施形態について図面に基づいて説明する。
(第1の実施形態)
図1に、第1の実施形態に係るデータ処理装置の構成を示す。100は、入力データが格納されるメモリである。101は、メモリ100から入力データを読み出し、読み出した入力データをフォーマット成形した後述するデータパケットを入力するデータ入力部である。102から105までの各々は、データ処理を行うデータ処理部である。106は、データパケットからデータ処理後のデータを抽出してメモリに書き込むデータ出力部である。107は、データ処理後のデータが書き込まれるメモリである。
また、108から113までの各々は、データパケットの流れを制御する通信処理部である。114は、リングバスである。115は、データ処理装置全体を制御する制御部である。116は、制御部115からデータ入力部101に対して制御を行うための制御信号である。117は、制御部115から通信処理部108に対して制御を行うための制御信号である。118は、制御部115からデータ出力部106に対して制御を行うための制御信号である。119は、制御部115から通信処理部113に対して制御を行うための制御信号である。120は、データ処理部102及び通信処理部109をリセットするためのリセット信号である。121は、データ処理部103及び通信処理部110をリセットするためのリセット信号である。122は、データ処理部104及び通信処理部111をリセットするためのリセット信号である。123は、データ処理部105及び通信処理部112をリセットするためのリセット信号である。
図2に、データ処理装置でのデータ処理で用いられるデータパケットのフォーマットを示す。200は、データ処理の順序を示す順序カウンタである。201は、データパケットが保持しているデータが有効なデータ(有効データ)であることを示すvalidフラグである。validフラグ201の値が「1」であるときは有効を示し、「0」であるときは無効を示す。202は、データパケットが保持しているデータが何らかの理由で処理すべきデータ処理部で受け取れなかったことを示すstallフラグである。stallフラグ202の値が「1」であるときは受け取れなかったことを示し、「0」であるときは受け取れたことを示す。
203は、データパケットのデータを最後に処理したデータ処理部のIDを示す。後述するように、次に処理を行うデータ処理部に付随する通信処理部は、ID203と後述する待ち受けIDとを比較し(詳細は、図3の説明を参照のこと。)、IDが一致したデータに対して処理を行う。なお、データ処理部に付随する通信処理部は、通信処理部109から112までの通信処理部である。また、通信処理部(109,110,111,112)は、複数のデータ処理部(102,103,104,105)とリングバス114との間のデータの授受を制御する。204は、処理データである。
図3に、データ処理部に付随する第2の通信処理手段の一例である通信処理部(109,110,111,112)の構成を示す。300は、データパケットの入力端子である。301は、入力制御部である。入力制御部301は、データパケット内の順序カウンタ200の値、validフラグ201の値、及びID203の解析、stallフラグ202の生成等を行う。また、入力制御部301は、後述する出力制御部307、データ処理部等にデータパケット又はデータを出力する。302は、本通信処理部に接続されるデータ処理部で処理されるべきデータパケットのID203の値を保持する待ち受けIDレジスタである。303は、本通信処理部に接続されるデータ処理部に入力したデータの個数をカウントする入力カウンタである。
304は、データ処理部からのデータ要求信号(enable_in)である。enable_inの値が「1」であるときはデータ処理部へのデータが入力可能であることを示し、「0」であるときはデータ入力が不可能であることを示す。305は、データ処理部へのデータ出力が有効であることを示すための有効信号(valid_out)である。valid_outの値が「1」であるときは有効を示し、「0」であるときは無効を示す。306は、データ処理部へのデータ出力信号(data_out)である。
また、307は、出力制御部である。出力制御部307は、入力制御部301からのデータパケット内のvalidフラグ201の解析、後述するデータ要求信号(enable_out)の生成、出力するデータパケットの生成等を行う。また、出力制御部307は、後述するフリップフロップ313に出力する。308は、本通信処理部のIDを格納する出力IDレジスタである。309は、本通信処理部に接続されるデータ処理部が出力したデータの個数をカウントする出力カウンタである。
310は、データ処理部へのデータ要求信号(enable_out)である。enable_outの値が「1」であるときはデータ処理部からデータを受け取り可能であることを示し、「0」であるときはデータを受け取り不可能であることを示す。311は、データ処理部からのデータ入力が有効であることを示すための有効信号(valid_in)である。valid_inの値が「1」であるときは有効を示し、「0」であるときは無効を示す。312は、データ処理部からのデータ入力信号(data_in)である。
313は、出力制御部307からのデータパケットを格納するフリップフロップである。314は、データパケット出力端子である。315は、リセット信号(reset)である。リセット信号315(reset)の値が「1」であるときは有効であり、リセット信号315は、入力制御部301、入力カウンタ303、出力制御部307、出力カウンタ309に接続されている。
図4及び図5を参照して、通信処理部(109,110,111,112)の動作を説明する。初期設定として、制御部115により、待ち受けIDレジスタ302及び出力IDレジスタ308が設定され、入力カウンタ303及び出力カウンタ309が「0」にリセットされているものとする。なお、入力制御部301で制御される入力側と、出力制御部307で制御される出力側は独立に動作するため、夫々の動作を分けて説明する。
まず、図4を参照して、入力側の動作を説明する。ステップS400では、データパケット入力端子300からデータパケットが本通信処理部に入力される。このとき、ステップS401では、リセット信号315(reset)の値が「0」である場合は、入力制御部301は、通常動作を行うためにステップS402の処理を行う。他方、リセット信号315(reset)の値が「1」である場合は、入力制御部301は、リセット動作を行うためにステップS410の処理を行う。
ステップS402では、入力制御部301は、データパケットのvalidフラグ201の評価を行う。validフラグ201の値が「1」である場合は、入力制御部301は、データパケットのデータが有効であると判断し、ステップS403の処理を行う。他方、validフラグ201の値が「0」である場合は、入力制御部301は、データが無効(例えば、データパケットが空)であると判断し、空のデータパケットを出力制御部307へ出力する(ステップS408)。
ステップS403では、入力制御部301は、データパケットのID203と待ち受けIDレジスタ302の値の比較を行う。すなわち、入力制御部301は、自己(入力制御部301)に接続されているデータ処理部で処理すべきデータであるか否かを判断する。データパケットのID203と待ち受けIDレジスタ302の値が一致した場合は、入力制御部301は、処理すべきデータであると判断し、ステップS404の処理を行う。他方、一致しない場合は、入力制御部301は、処理すべきデータでないと判断し、データパケットをそのまま出力制御部307へ出力する(ステップS408)。
ステップS404では、入力制御部301は、データパケットの順序カウンタ200の値と、入力カウンタ303の値との比較を行い、値が一致した場合は、処理すべきデータであると判断し、ステップS405の処理を行う。他方、一致しない場合は、入力制御部301は、処理すべきデータではないと判断し、データパケットをそのまま出力制御部307へ出力する(ステップS408)。
ステップS405では、入力制御部301は、データ処理部からのデータ要求信号304を評価する。データ要求信号304の値が「1」である場合は、データ処理部がデータを受け取れると判断し、ステップS406の処理を行う。他方、「0」である場合は、データ処理部がデータを受け取れないと判断し、データパケットのstallフラグ202を「1」にした後(ステップS409)、出力制御部307へデータパケットを出力する(ステップS408)。
ステップS406では、入力制御部301は、有効信号305(valid_out)の値を「1」として、データ出力信号306(data_out)にデータパケットのデータを出力し、データ処理部では処理が行われる。また、入力制御部301は、validフラグ201及びstallフラグ202の値を「0」にして(ステップS406)、出力制御部307に空のデータパケットを出力する(ステップS408)。このとき、入力制御部301は、入力カウンタ303のカウントアップを行う。
ステップS410では、入力制御部301は、リセット信号315の値が「1」であるので、入力カウンタ303の値を「0」に(クリア)する。続いて、ステップS411では、入力制御部301は、データパケットのID203と待ち受けIDレジスタ302の値とを比較する。一致した場合は、入力制御部301は、validフラグ201及びstallフラグ202を「0」として、空のデータパケットを生成、すなわち、データ処理部が処理すべきデータパケットを無効にして、出力制御部307へ出力する(ステップS408)。他方、一致しない場合は、入力制御部301は、データ処理部が処理すべきデータでないので、データパケットをそのまま出力制御部307へ出力する(ステップS408)。
続いて、図5を参照して、出力側の動作を説明する。ステップS500では、データパケット入力端子300からデータパケットが通信処理部に入力される。このとき、ステップS501では、出力制御部307は、リセット信号315(reset)の値が「0」である場合は、通常動作を行うためにステップS502の処理を行う。他方、リセット信号315(reset)の値が「1」である場合は、出力制御部307は、リセット動作を行うためにデータ要求信号310(enable_out)を「1」に設定して出力カウンタ309の値を「0」に(クリア)する(ステップS508)。続いて、出力制御部307は、データパケットをそのまま出力する(ステップS506)。
ステップS502では、出力制御部307は、データパケットのvalidフラグ201の評価を行う。validフラグ201の値が「0」である場合は、データパケットが空であると判断し、データ要求信号310(enable_out)を「1」に設定した後(ステップS503)、ステップS504の処理を行う。他方、validフラグ201の値が「1」である場合は、出力制御部307は、データパケットが空でないと判断し、データ要求信号310(enable_out)を「0」に設定する(ステップS507)。続いて、出力制御部307は、データパケットをそのままフリップフロップ313へ出力する(ステップS506)。
ステップS504では、出力制御部307は、データ処理部からのデータ有効信号311(valid_in)の値を評価する。 データ有効信号311の値が「1」である場合は、データ入力信号312(data_in)の値が有効であると判断し、ステップS505の処理を行う。他方、「0」である場合は、出力制御部307は、データ入力信号312(data_in)の値が無効であると判断し、データパケットをそのままフリップフロップ313へ出力する(ステップS506)。
ステップS505では、出力制御部307は、出力するデータパケットの生成を行う。例えば、出力制御部307は、出力カウンタ309の値を順序カウンタ200の値として設定し、validフラグ201を「1」に設定し、stallフラグ202を「0」に設定する。また、出力制御部307は、ID203を出力IDレジスタ308の値に設定し、データ204にデータ入力信号312(data_in)の値を設定する。その後、出力制御部307は、生成したデータパケットをフリップフロップ313へ出力を行うとともに、出力カウンタ309の値を「1」カウントアップする(ステップS506)。
なお、フリップフロップ313に入力されたデータパケットは、1クロック遅延した後、データパケット出力端子314を介して後段の通信処理部へ出力される。
図6に、第1の通信処理手段の一例である通信処理部108の構成を示す。600は、データパケットの入力端子である。601は、データ制御部である。データ制御部601は、リングバス114とデータ入力部101とからのデータパケットの選択を行い、後述するフリップフロップ602へ出力する。また、データ制御部601は、リングバス114から入力されたデータパケットのstallフラグ202の値「1」が複数のクロックサイクルの期間続く場合には、後述するstallカウンタ606に対してイネーブル信号を「1」として出力する。
さらに、データ制御部601は、後述するパケットカウンタ609,612,615,618に対して夫々イネーブル信号を「1」として出力する。なお、この出力は、リングバス114から入力されたデータパケットのID203が後述する待ち受けIDレジスタ608,611,613,614に格納されているIDの値と等しく、かつstallカウンタ606の値が「6」の場合に行われる。ただし、データ制御部601は、リングバス114から入力されるデータパケットのID203及び順序カウンタ200の値を常に観測している。よって、データ制御部601は、stallカウンタ606の値が「6」になったときにデータ制御部601に入力されたデータパケットがリングバスを一周して再びデータ制御部601に戻ってくる間に関してのみ、イネーブル信号の値「1」を出力する。つまり、2周目以降に関しては、イネーブル信号の値は「0」となる。
602は、データ制御部601からのデータパケットを格納するフリップフロップである。603は、データパケット出力端子である。604は、データ入力部101へのデータ要求信号(enable_out)である。enable_outの値が「1」であるときはデータ入力部101からのデータが入力可能であることを示し、「0」であるときはデータの入力が不可能であることを示す。605は、データ入力部101からのデータの入力が有効であることを示すための有効信号(valid_in)である。valid_inの値が「1」であるときは有効を示し、「0」であるときは無効を示す。
606は、リングバス114から入力されたデータパケットのstallフラグ202の値「1」が複数のクロックサイクルの間連続している数を数えるためのstallカウンタである。stallカウンタ606は、データ制御部601からのイネーブル信号の値が「1」である間カウントアップが行われ、イネーブル信号の値が「0」のとき「0」値に(クリア)される。ただし、本実施形態の場合は、図1に示したようにリングバス114に格納することができるデータパケットの数は6個であるので、stallカウンタ606の値が「6」になった時点でカウントアップが停止される。また、607のカウンタ値出力信号を通して制御部115からカウンタ値が読み出される。さらに、カウンタ値出力信号607は、データ制御部601にも入力され、後述するパケットカウンタ609,612,615,618に対するイネーブル信号の生成に用いられる。
608,611,614,617は、待ち受けIDレジスタであり、本実施形態のデータ処理装置のデータ処理部の数だけ設けられる。609,612,615,618は、デッドロック時に待ち受けIDレジスタ608,611,613,614夫々に設定したIDと一致したデータパケットの数を数えるためのデータパケットカウンタである。前述したデータ制御部601からのイネーブル信号の値が「1」であるときにカウントアップが行われる。また、夫々のカウント値の読み出しは、610,613,616,619の制御信号を通して、制御部115により行われる。ここで、図1の制御信号117は、カウンタ値出力信号607、制御信号610,613,616,619等の詳細な信号群を簡略化して1本で表現したものである。
図7を参照して、通信処理部108の動作を説明する。ステップS700では、データパケット入力端子600にリングバス114からデータパケットが入力される。このとき、ステップS701では、validフラグ201の値が「0」である場合は、データ入力部101からのデータパケットの入力が可能である。よって通信処理部108は、データ要求信号310(enable_out)の値を「1」に設定し(ステップS702)、フリップフロップ602を通してデータパケット出力端子603へデータ入力部101からのデータパケットを出力する(ステップS703)。他方、validフラグ201の値が「1」である場合は、リングバス114からのデータパケットを優先するため、通信処理部108は、データ要求信号310(enable_out)の値を「0」に設定する(ステップS704)。そして、通信処理部108は、フリップフロップ602を通してデータパケット出力端子603へリングバス114からのデータパケットを出力する(ステップS705)。その他、stallカウンタ606,パケットカウンタ609,612,614,615の動作については、前述してあるので、ここでの説明は省略する。
図8に、第1の通信処理手段の一例である通信処理部113の構成を示す。800は、データパケットの入力端子である。801は、データ制御部である。データ制御部801は、リングバス114から入力されたデータパケットを後述するフリップフロップ802、又は後述するデータパケット出力端子803へ出力する。802は、データ制御部801からのデータパケットを格納するフリップフロップである。803は、リングバス114にデータパケットを出力する出力端子である。804,805は、データ出力部106に出力するデータパケットのID203を格納する待ち受けIDレジスタである。806は、データ出力部106へデータパケットを出力するためのデータ出力信号(data_out)である。ここで、待ち受けIDレジスタは、データ処理装置で取り扱う最大のプロセス数分設けられる。本実施形態では、最大で2つのプロセスを取り扱うため、データ処理装置は、2個の待ち受けIDレジスタを備えている。
図9を参照して、通信処理部113の動作を説明する。初期設定として、制御部115により、待ち受けIDレジスタ804,805には予めデータフロー(プロセス)に応じた値が設定されているものとする。
ステップS900では、データパケット入力端子800からデータパケットが入力される。このとき、通信処理部113は、データパケットのvalidフラグ201の評価を行い(ステップS901)、validフラグ201の値が「1」である場合は、データパケットのデータが有効であると判断し、ステップS902の処理を行う。また、validフラグ201の値が「0」である場合は、通信処理部113は、データが無効であると判断し、ステップS905の処理を行う。ステップS905では、通信処理部113は、フリップフロップ802を介してデータパケット出力端子803へデータパケット入力端子800から入力されたデータパケットをそのまま出力する。
ステップS902では、通信処理部113は、データパケットのID203と待ち受けIDレジスタ804,805の値の比較を行い、データパケットをデータパケット出力端子803へ出力すべきデータであるか否かを判断する。データパケットのID203と待ち受けIDレジスタの値が一致した場合は、通信処理部113は、出力すべきデータパケットであると判断し、データパケット出力端子803へ出力する(ステップS903)。また、通信処理部113は、データパケットのvalidフラグ201とstallフラグ202とを「0」に設定し(ステップS904)、空のデータパケットとしてフリップフロップ802を介してデータパケット出力端子803へ出力する(ステップS905)。他方、通信処理部113は、データパケットのID203と待ち受けIDレジスタとが一致しない場合は、ステップS905の処理を行う。ステップS905では、通信処理部113は、フリップフロップ802を介してデータパケット出力端子803へデータパケット入力端子800から入力されたデータパケットをそのまま出力する。
図10に、データ入力部101の構成を示す。1000は、メモリ100から入力データのリードを行うためのメモリ制御信号である。1001は、メモリ100の制御を行うメモリ制御部である。1002は、データパケットを生成するパケット生成部である。1003は、データパケットを通信処理部108に対して出力するデータパケット出力端子である。1004は、制御部115からメモリ制御部1001に対して制御を行うためのメモリ制御部制御信号である。1005は、制御部115からパケット生成部1002に対して制御を行うためのパケット生成部制御信号である。ここで、図1の制御信号116は、メモリ制御部制御信号1004、パケット生成部制御信号1005等の詳細な信号群を簡略化して1本で表現したものである。
ここで、データ入力部101の動作を説明する。まず、制御部115からの制御により、メモリ制御部1001に対して、メモリ制御部制御信号1004を介して、メモリ100内に本実施形態で扱う2つのプロセス(以下、プロセスa、プロセスbと称する。)のデータがどのアドレス領域に格納されているかが設定される。また、パケット生成部1002に対しては、パケット生成部制御信号1005を介して、パケット生成時にプロセスa又はプロセスbに対応するデータに対して夫々設定するID203が設定される。その後、制御部115からメモリ制御部制御信号1004を介して、メモリ制御部1001に処理の開始が通知される。メモリ制御部1001は、メモリ100の所定のアドレスからのデータを読み出し、そのデータと、アドレスに対応するプロセス名とをパケット生成部1002に対して出力する。パケット生成部1002は、プロセス名から所定のID203の設定とデータを設定してデータパケットを生成し、データパケット出力1003へ出力する。
図11に、データ出力部106の構成を示す。1100は、通信処理部113からのデータパケットの入力端子である。1101は、入力されたデータパケットからデータを分離するデータ分離部である。1102は、メモリ107に対してデータの書き込み制御を行うメモリ制御部である。1103は、メモリ107へのメモリ制御信号である。1104は、制御部115からメモリ制御部1102に対して制御を行うためのメモリ制御部制御信号である。1105は、制御部115からデータ分離部1101に対して制御を行うためのデータ分離部制御信号である。ここで、図1の制御信号118は、メモリ制御部制御信号1104、データ分離部制御信号1105等の詳細な信号群を簡略化して1本で表現したものである。
ここで、データ出力部106の動作を説明する。まず、制御部115からの制御により、データ分離部1101に対しては、データ分離部制御信号1105を介して、プロセスa又はプロセスbにおける処理が終了した後のデータパケットのID203が設定される。メモリ制御部1102に対しては、メモリ制御部制御信号1104を介して、メモリ107内にプロセスa及びプロセスbのデータがどのアドレス領域に格納されているかが設定される。その後、データパケット入力部1100が入力される度に、データ分離部1101は、データパケットからデータの分離と、データパケットのID203とプロセスa又はプロセスbとの対応付けを行う。そして、データ分離部1101は、データとプロセス名とをメモリ制御部1102へ出力する。メモリ制御部1102は、プロセス名に従って、メモリ107の所望のアドレス領域にデータを書き込む。
図12を参照して、データ処理装置のデッドロック状態からの復帰動作を説明する。ステップS1200では、制御部115は、デッドロック状態の検出を行う。前述のように、データ入力部101のstallカウンタ606の値が「6」である場合、制御部115は、stallフラグ202が「1」であるデータパケットでリングバス114が有されているため、デッドロック状態であると判定する。
制御部115は、デッドロック状態を検出した場合は、データ入力部101からのデータパケットの入力を一旦停止し、プロセスを破棄するためにリセットを行うデータパスを決定する(ステップS1201)。リセットするデータパスの決定は、制御部115が通信処理部108のパケットカウンタ609,612,615,618の値を、制御信号610,613,616,619を介して夫々参照して行う。本実施形態では、制御部115は、カウント値が大きいID203に係るデータパケットが、デッドロックの主な要因となっていると判断する。そのID203に係るデータパケットを出力するプロセスを破棄するために該当するデータパスのリセットを行う。
ステップS1202では、制御部115は、ステップS1201で決定したデータパスのリセットを行う。リセット動作は、制御部115からリセット信号(120,121,122,123)の所望のリセット信号を値「1」に設定することにより行われる。リセット時の通信処理部(109,110,111,112)の動作は、図4及び図5で説明した通りであり、破棄するプロセスに関連するデータパケットが、所望の通信処理部のリセット動作により消去される。このとき、所望の通信処理部に接続されたデータ処理部から出力されるデータは、通信処理部にて破棄される。ただし、破棄するプロセスが拡大処理等、データ処理部から出力されるデータが多くて、そのデータの破棄に多くのクロックサイクルを要する場合は、データ処理部に対してもリセット動作を行うことにより、そのデータが一括して破棄される。なお、リセット信号が入力された通信処理部の入力カウンタ303及び出力カウンタ309はリセットされるが、待ち受けIDレジスタ302及び出力IDレジスタ308はリセットされずに保持される。
ステップS1203では、制御部115は、リセット動作の解除を行う。ここで、リセット信号のアサートは、リングバス114上をデータパケットが1周するクロックサイクル行われ、本実施形態の場合は、6クロックサイクル以上行われる。
ステップS1204では、制御部115から、制御信号610,613,616,619を介して通信処理部108のパケットカウンタ609,612,615,618の値「0」への設定(クリア)を行う。その後、データ処理装置は、データ入力部101からのデータパケットの入力を再開する。ただし、データ処理装置は、ステップS1200から1203までで破棄されたプロセスを最初からやり直す場合は、データパスの初期設定を行った後、データパケットの入力を再開する。また、破棄していないプロセスのデータパスに関しては、データ処理装置は、データパケットの入力を再開するのみで何も行わない。
また、データパケットの入力を再開した後再びデッドロック状態に陥らないようにするために、制御部115は、データ入力部101に対してデータ入力部101から入力するデータパケットの数を制限する制御をする。また、制御部115は、データ入力部101に対してデッドロック状態を引き起こしたプロセスのデータパケットの数を制限する制御をしてもよい。
このような構成によれば、リングバス114でデッドロック状態が発生したとしても、全ての処理を破棄することなく、通常動作に復帰することが可能となる。また、処理時間のロスを極力(場合によっては最小限に)抑えることが可能となる。また、デッドロック状態の再発を防止することができる。
(第2の実施形態)
図13に、第2の実施形態に係るデータ処理装置の構成を示す。各部品に関して、第1の実施形態に係るデータ処理装置での機能と機能が同じものは、図1で用いた符号と同一とし、説明を省略する。主な違いは、1300から1304までのデータパケットの流れを制御する通信処理部、1305のデータ出力部、及び1306から1309までのリセット信号である。なお、第1の実施形態では、制御部115からのリセット信号が通信処理部にも入力されていたが、本実施形態では、データ処理部のみに入力される。データパケットのフォーマットは、第1の実施形態で示したもの(図2)と同一であるので、説明を省略する。
図14に、通信処理部1301から1304までの構成を示す。各部品に関して、第1の実施形態に係るデータ処理装置での機能と機能が同じものは、図3で用いた符号と同一とし、説明を省略する。主な違いは、リセット信号315が削除されている点である。本実施形態では、リセット時にデータパケットのデータを消去する動作は、データ処理部で行われるため、入力制御部301にはリセット信号が入力されていない。また、デッドロック状態からの復帰動作において、制御部115よりデータパスの再設定が行われ、そのときに同時に入力カウンタ303及び出力カウンタ309も値「0」に初期化されるので、両カウンタに対してリセット信号が入力されていない。
図15及び16を参照して、通信処理部(1301,1302,1303,1304)の動作を説明する。初期設定として、制御部115により、待ち受けIDレジスタ302及び出力IDレジスタ308が設定され、入力カウンタ303及び出力カウンタ309が「0」に設定(リセット)されているものとする。また、入力制御部301で制御される入力側と、出力制御部307で制御される出力側は独立に動作するため、夫々の動作を分けて説明する。
まず、図15を参照して、入力側の動作を説明する。各ステップに関して、図4で説明したものと動作が同じものは、ステップの番号を同一として説明を省略する。主な違いは、リセット時の動作である、ステップS401,410,411,412が省略されている点である。
ここで、データ処理部のリセット動作時には、入力制御部301は、データを消去する動作として、ステップS405のenable_inが常に「1」としてデータを受け付け、後述するように処理後のデータを通信処理部に出力しない。また、入力制御部301は、次にステップS406の処理を行い、出力制御部307に対してvalidフラグ201及びstallフラグ202が「0」の空のデータパケットを出力して、データパケットの消去を行う。
次に、図16を参照して、出力側の動作を説明する。各ステップに関して、図5で説明したものと動作が同じものは、ステップの番号を同一として説明を省略する。主な違いは、リセット時の動作である、ステップS501,508が省略されている点である。
ここで、データ処理部のリセット動作時には、出力制御部307は、データを消去する動作として、ステップS504のvalid_inが常に「0」としてデータの出力を行わない。また、出力制御部307は、次にステップS506の処理を行い、前述の入力側の動作とあわせて、validフラグ201及びstallフラグ202が「0」の空のデータパケットを、フリップフロップ313を介してデータパケット出力端子314に出力する。
図17に、通信処理部1300の構成を示す。各部品に関して、第1の実施形態に係るデータ処理装置での機能と機能が同じものは、図6で用いた符号と同一とし、説明を省略する。動作については、図7で説明したものと同一であるため、説明を省略する。
図18に、データ出力部1305の構成を示す。各部品に関して、第1の実施形態に係るデータ処理装置での機能と機能が同じものは、図11で用いた符号と同一とし、説明を省略する。主な違いは、1800,1801のカウンタと、1802,1803の制御信号が追加されている点である。1800は、入力されたプロセスaのデータパケットを数えるためのカウンタである。1801は、入力されたプロセスbのデータパケットを数えるためのカウンタである。1802は、制御部115からカウンタ1800に対して制御を行うためのカウンタ制御信号である。1803は、制御部115からカウンタ1801に対して制御を行うためのカウンタ制御信号である。ここで、カウンタは、データ処理装置で取り扱う最大のプロセス数分設けられている。本実施形態では最大で2つのプロセスを取り扱うため、データ処理装置は、2個のカウンタを備えている。また、図13に示す制御信号118は、データ分離部制御信号1105、メモリ制御部制御信号1104、カウンタ制御信号1802,1803等の詳細な信号群を簡略化して1本で表現したものである。
ここで、データ出力部1305の動作を説明する。図11で説明したように、まず、制御部115からの制御により、データ分離部1101に対しては、データ分離部制御信号1105を介して、プロセスa又はプロセスbにおける処理が終了した後のデータパケットのID203が設定される。また、メモリ制御部1102に対しては、メモリ制御部制御信号1104を介して、メモリ107内にプロセスa及びプロセスbのデータがどのアドレス領域に格納されているかが設定される。
また、カウンタ制御信号1802,1803を介して、カウンタ1800,1801が夫々値「0」に設定(クリア)される。その後、データ出力部1305は、データパケットが入力される度に、データ分離部1101で、データパケットからデータの分離と、データパケットのID203とプロセスa又はプロセスbとの対応付けを行う。
そして、データ出力部1305は、メモリ制御部1102にデータとプロセス名とをメモリ制御部1102へ出力する。このとき、カウンタ1800,1801は、夫々のプロセスのデータパケットが入力される度にカウントアップが行われる。また、制御部115は、カウンタ制御信号1802,1803を介して、カウンタ1800,1801の夫々の値を読み出すことが可能である。そして、メモリ制御部1102は、プロセス名に従って、メモリ107の所望のアドレス領域にデータを書き込む。
本実施形態に係るデータ処理装置のデッドロック状態からの復帰動作を説明する。本復帰動作は、第1の実施形態で示した図12のフローに従うが、以下で、各ステップでの処理が異なる部分を説明する。
まず、ステップS1200では、制御部115は、デッドロック状態の検出を行う。検出方法としては、制御部115は、データ出力部1305のカウンタ1800,1801の値が制御部115内の図示していないタイマーで計測して、ある一定期間動かない場合は、デッドロック状態と判定する。
第1の実施形態と同様に、ステップS1200でデッドロック状態が検出された場合は、制御部115は、データ入力部101からのデータパケットの入力を一旦停止し、ステップS1201にて、プロセスを破棄するためにリセットを行うデータパスを決定する。
リセットするデータパスの決定は、以下の2つのうちの何れかの方法で行われる。
(1)データ入力部101から入力されたデータパケットの数とデータ出力部1305で出力されるデータパケットの数とが等しく、データ量の増減が無い場合、制御部115は、データ出力部1305内のカウンタ1800,1801の値を夫々参照する。そして、制御部115は、値の小さい、すなわち最も処理が進んでいないプロセスを破棄するために該当するデータパスの決定(リセット)を行う。なお、制御部115は、カウンタ制御信号1802,1803を介して夫々の値を参照する。
(2)拡大処理等、データ処理部によって前記データ量が増加する処理が含まれるプロセスがある場合は、制御部115は、そのプロセスがデッドロックの主な要因となっていると判断する。そして、制御部115は、該当する(出力データが増加する割合の最も大きいデータ処理部を含むプロセスの)データパスの決定(リセット)を行う。
次のステップS1202では、制御部115は、ステップS1201で決定したデータパスのリセットを行う。リセット動作は、制御部115からリセット信号(1306,1307,1308,1309)の所望のリセット信号を値「1」に設定することにより行われる。リセット時の通信処理部(1301,1302,1303,1304)及びデータ処理部(102,103,104,105)の動作は、図15及び図16で説明した通りである。例えば、破棄するプロセスに関連するデータパケットが、所望のデータ処理部のリセット動作により消去される。
また、ステップS1203以降の処理に関しては第1の実施形態と同一であるので、説明を省略する。
なお、第1の実施形態及び第2の実施形態で説明した、ステップS1201のリセットするデータパスの決定方法以外に、制御部115が優先度の低いプロセスに該当するデータパスのリセットを行うことにより、デッドロック状態からの復帰動作を行ってもよい。
また、第1の実施形態及び第2の実施形態では、2つのプロセスに関して処理する場合を説明したが、これに限られるものではない。例えば、3つ以上のプロセスに関しても、少なくとも1つのプロセスを破棄することによりデータ処理装置内のデータパケットの空きを生成し、デッドロック状態から復帰させることが可能である。
このように、制御部115は、デッドロック状態を引き起こす要因となるプロセス、他のプロセスと比べて処理が進んでいないプロセス、優先順位の低いプロセス等に関係するデータパスのみリセットを行い、リングバス114上に空きデータパケットを生成する。この構成によれば、複数のプロセス(データパス)を処理中にリングバス114でデッドロック状態が発生したとしても、全ての処理を破棄することなく、所望のプロセスのみキャンセルして通常動作に復帰することが可能となる。また、この構成によれば、処理時間のロスを極力(場合によっては最小限に)抑えることが可能となる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。例えば、CPUが、記憶装置に格納されたプログラムの手順に従って処理を行うことによって、データ処理装置における機能及びフローチャートに係る処理が実現される。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
101 データ入力部、102−105 データ処理部、106 データ出力部、108−113 通信処理部、114 リングバス、115 制御部、116−119 制御信号、120−123 リセット信号

Claims (5)

  1. リングバスにデータの入力を行うデータ入力手段と、
    前記データ入力手段で入力されたデータの出力を行うデータ出力手段と、
    前記リングバスへの前記データ入力手段によるデータの入力を制御するとともに、前記データ出力手段によるデータの出力を制御する第1の通信処理手段と、
    データ処理を行う複数のデータ処理手段と、
    前記複数のデータ処理手段と前記リングバスとの間のデータの授受を制御する複数の第2の通信処理手段と、
    前記リングバスの異常を検出する検出手段と、
    前記検出手段によって異常が検出された場合に、前記リングバスを経由することなく、前記複数の第2の通信処理手段又は前記複数のデータ処理手段に、初期化を指示するリセット信号を入力する制御手段と、
    を備え、
    前記制御手段は、前記検出された異常に該当するデータパスを決定し、前記決定されたデータパスに関連する前記第2の通信処理手段又は前記データ処理手段に、前記リセット信号を入力し、
    前記リセット信号を受信した前記第2の通信手段又は前記データ処理手段は、前記リセット信号に基づいて、リセット動作を行うことを特徴とするデータ処理装置。
  2. 前記複数のデータ処理手段は、複数のプロセスを実行することを特徴とする、請求項1記載のデータ処理装置。
  3. 前記複数のデータ処理手段の各々には、互いに異なるIDが割り振られていることを特徴とする、請求項1又は2記載のデータ処理装置。
  4. 前記制御手段は、前記初期化を、少なくとも前記リングバスをデータが一周する間、続けることを特徴とする、請求項1乃至3の何れか1項記載のデータ処理装置。
  5. 前記制御手段は、破棄されたプロセスに対する前記リングバスへのデータの入力の数を制限することにより、前記リングバスでのデッドロック状態を防止することを特徴とする、請求項1乃至4の何れか1項記載のデータ処理装置。
JP2009165921A 2009-07-14 2009-07-14 データ処理装置 Active JP5460156B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009165921A JP5460156B2 (ja) 2009-07-14 2009-07-14 データ処理装置
US12/835,641 US9239811B2 (en) 2009-07-14 2010-07-13 Data processing apparatus and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009165921A JP5460156B2 (ja) 2009-07-14 2009-07-14 データ処理装置

Publications (2)

Publication Number Publication Date
JP2011022714A JP2011022714A (ja) 2011-02-03
JP5460156B2 true JP5460156B2 (ja) 2014-04-02

Family

ID=43466033

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009165921A Active JP5460156B2 (ja) 2009-07-14 2009-07-14 データ処理装置

Country Status (2)

Country Link
US (1) US9239811B2 (ja)
JP (1) JP5460156B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5600492B2 (ja) * 2010-06-28 2014-10-01 キヤノン株式会社 データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
DE102011005229B4 (de) 2011-03-08 2012-11-08 Carl Zeiss Sports Optics Gmbh Optisches Beobachtungsgerät mit wenigstens einem visuellen Beobachtungsstrahlengang
JP5922898B2 (ja) * 2011-09-15 2016-05-24 キヤノン株式会社 情報処理装置、通信方法およびプログラム
JP6139857B2 (ja) 2012-01-26 2017-05-31 キヤノン株式会社 データ処理装置、入力制御装置、及び制御方法
CN104991880B (zh) * 2015-06-03 2018-02-27 北京浩正泰吉科技有限公司 一种基于pci‑e接口的fc‑ae‑asm通讯板卡
CN106291902A (zh) * 2016-08-18 2017-01-04 河北汉光重工有限责任公司 一种具有图像融合功能的昼夜合一望远镜
KR102550886B1 (ko) * 2018-04-03 2023-07-05 삼성전자주식회사 시스템 온 칩 및 그 동작 방법
CN109032982A (zh) * 2018-08-02 2018-12-18 郑州云海信息技术有限公司 一种数据处理方法、装置、设备、系统、fpga板卡及其组合
US11829196B2 (en) * 2019-10-22 2023-11-28 Advanced Micro Devices, Inc. Ring transport employing clock wake suppression

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2522952B2 (ja) 1987-07-20 1996-08-07 三洋電機株式会社 リング状ネットワ−ク装置
JP2518293B2 (ja) 1987-07-24 1996-07-24 日本電気株式会社 デ−タフロ−プロセツサ
US4982400A (en) * 1988-12-29 1991-01-01 Intel Corporation Ring bus hub for a star local area network
FR2680026B1 (fr) * 1991-07-30 1996-12-20 Commissariat Energie Atomique Architecture de systeme en tableau de processeurs a structure parallele.
JPH05282246A (ja) * 1992-03-31 1993-10-29 Nec Corp マイクロコンピュータ
JPH06276205A (ja) * 1993-03-18 1994-09-30 Hitachi Ltd ネットワークシステム
JPH0991262A (ja) * 1995-09-20 1997-04-04 Fuji Xerox Co Ltd マルチプロセッサシステム
EP0802655A3 (en) * 1996-04-17 1999-11-24 Matsushita Electric Industrial Co., Ltd. Communication network
JPH10228445A (ja) * 1997-02-13 1998-08-25 Mitsubishi Electric Corp リングバス入出力制御装置
US5911056A (en) * 1997-05-01 1999-06-08 Hewlett-Packard Co. High speed interconnect bus
US5909562A (en) * 1997-05-01 1999-06-01 Hewlett-Packard Co. Backup FIFO in-line storage
US5907691A (en) * 1997-05-01 1999-05-25 Hewlett-Packard Co. Dual pipelined interconnect
US5948089A (en) * 1997-09-05 1999-09-07 Sonics, Inc. Fully-pipelined fixed-latency communications system with a real time dynamic bandwidth allocation
JPH11205366A (ja) * 1998-01-16 1999-07-30 Fuji Electric Co Ltd リング状ネットワークのデータ転送システム
US6718421B1 (en) * 2001-06-19 2004-04-06 Webtv Networks, Inc. Interconnect bus
CA2480081C (en) * 2002-03-22 2007-06-19 Michael F. Deering Scalable high performance 3d graphics
US7308558B2 (en) * 2004-01-07 2007-12-11 International Business Machines Corporation Multiprocessor data processing system having scalable data interconnect and data routing mechanism
US7849256B2 (en) * 2006-07-11 2010-12-07 Advanced Micro Devices, Inc. Memory controller with ring bus for interconnecting memory clients to memory devices
JP4607942B2 (ja) * 2007-12-05 2011-01-05 富士通株式会社 ストレージシステムおよびルートスイッチ
US8255644B2 (en) * 2009-05-18 2012-08-28 Lsi Corporation Network communications processor architecture with memory load balancing

Also Published As

Publication number Publication date
US9239811B2 (en) 2016-01-19
JP2011022714A (ja) 2011-02-03
US20110016242A1 (en) 2011-01-20

Similar Documents

Publication Publication Date Title
JP5460156B2 (ja) データ処理装置
US9462091B2 (en) Information processing apparatus, communication method and storage medium
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
JP2006333438A (ja) ゲートウェイ装置及びルーティング方法
US9225547B2 (en) Apparatus, method, and medium for controlling transmission of data
US8754896B2 (en) Data processing apparatus having a parallel processing circuit including a plurality of processing modules, and method for controlling the same
JP4869369B2 (ja) 情報処理装置、情報処理方法およびプログラム
US20100303090A1 (en) Data processing apparatus using ring bus, data processing method andcomputer-readable storage medium
US8982398B2 (en) Image forming apparatus that allows for a multi-operation
JP5432587B2 (ja) データ処理装置、その制御方法およびプログラム
JP6139857B2 (ja) データ処理装置、入力制御装置、及び制御方法
JP4546380B2 (ja) クロスバースイッチ、情報処理装置および転送方法
JP5600492B2 (ja) データ処理装置、データ処理方法、制御装置、制御方法およびプログラム
US9367496B2 (en) DMA transfer device and method
JP2013196509A (ja) 情報処理装置及びその制御方法
JP2006094400A (ja) 画像処理装置および画像処理方法
JP2010287175A (ja) データ処理装置、データ処理方法およびプログラム
Sulzbachner et al. An embedded high performance data acquisition and pre-processing interface for asynchronous event-based silicon retina data
JP6204313B2 (ja) 電子機器
JP6213003B2 (ja) 通信制御装置、画像処理装置、通信制御プログラム
JP2005107818A (ja) 調停装置およびそれを用いる画像形成装置
JP4791341B2 (ja) データ転送システム
US20110228316A1 (en) Communication control apparatus, image forming apparatus and computer readable medium
JP2003048345A (ja) プリンタ装置およびプリンタ装置のデータ転送方法
JP2005018339A (ja) 計算機システムのノード閉塞装置及びそのトランザクション制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130709

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130904

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: 20131217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140114

R151 Written notification of patent or utility model registration

Ref document number: 5460156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151