JP4615122B2 - Interface control device - Google Patents

Interface control device Download PDF

Info

Publication number
JP4615122B2
JP4615122B2 JP2000384895A JP2000384895A JP4615122B2 JP 4615122 B2 JP4615122 B2 JP 4615122B2 JP 2000384895 A JP2000384895 A JP 2000384895A JP 2000384895 A JP2000384895 A JP 2000384895A JP 4615122 B2 JP4615122 B2 JP 4615122B2
Authority
JP
Japan
Prior art keywords
check
check code
control unit
data
circuit
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 - Lifetime
Application number
JP2000384895A
Other languages
Japanese (ja)
Other versions
JP2002183072A5 (en
JP2002183072A (en
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2000384895A priority Critical patent/JP4615122B2/en
Publication of JP2002183072A publication Critical patent/JP2002183072A/en
Publication of JP2002183072A5 publication Critical patent/JP2002183072A5/ja
Application granted granted Critical
Publication of JP4615122B2 publication Critical patent/JP4615122B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、中央処理装置や入出力装置等の処理装置間に接続される入出力インタフェースの制御方式に係り、特に一つ乃至は複数フレームで構成されるデータ情報に対して、一つのFCS(Frame Check Sequence)が付属する様なデータ転送プロトコルに於いて、FCSの生成、チェックを効率的に行うインタフェース制御方式に関する。
【0002】
【従来の技術】
OSI(Open System Interconnection)モデルに代表される様に、ネットワークアーキテクチャの構造を機能によって階層化し、各階層で様々なプロトコルを実現することは、自由度の高いネットワーク構築を可能にした。ANSI(Ameriacan National Standards Institute)で規格化されているファイバチャネルも同様に階層化されており、ファイバチャネル媒体を使用し、ULP(上位レイヤプロトコル)としてIP(Internet Protocol)やSCSI(Small Computer System Interface)、FC−SB2(Single−Byte Command Code Sets Mapping Protocol−2)といったさまざまなプロトコルを実行することができる。
【0003】
しかし、この様な階層化によって、上位レイヤプロトコルが送ろうとしたデータ量が下位レイヤプロトコルで1回あたり送信可能なデータ量よりも大きい場合、データの分割・組立といった処理が必要になる。
【0004】
例えば、ファイバチャネルに於いて、光ファイバに代表される物理インタフェース上は、図2(a)に示す様なフレーム200単位でデータ転送が行われるが、ファイバチャネルのULPであるFC−SB2では、図2(b)に示す様な情報ユニットIU(Information Unit)201でデータ転送が行われるため、IUからフレームへの分割・フレームからIUへの組立といった処理が必要となる。
【0005】
フレーム200は、4バイトの開始コード(SOF)で始まり、24バイトのヘッダ情報と最大2,112バイトのデータ、更にヘッダ情報とデータの誤り検出のためにFCSとして4バイトのCRC(以下フレームCRC)を付加し、最後に4バイトの終了コード(EOF)で終結した構造をしている。また情報ユニット201は、32バイトのヘッダ情報と最大8,160バイトのデータ、更に必要なら4バイトのCRC(以下SB_CRC)を付加した構造しており、情報ユニット201のヘッダ情報とデータ、SB_CRCは、フレーム200のデータに分割してマッピングされる。SB_CRCは、図2(c)に示す様に、一つあるいは複数IUで構成されるSBデータ202のデータ部分の誤り検出のために付加される。
【0006】
従来、ファイバチャネルに代表されるインタフェース制御装置では、下位レイヤのフレーム単位での処理を行う部位と、主にULPにしたがって処理を行う部位とを分け、PCIバスやマイクロチャネルといった入出力バスに接続してデータ転送を実現することが多い。つまり、下位レイヤと上位レイヤを分割することにより、光ファイバのビットレート向上に伴う変更や、ULP変更に柔軟な構造となっており、さまざまなデータ転送系を構築することが可能となる。図8にインタフェース制御装置の従来例を示す。
【0007】
インタフェース制御装置は、ファイバチャネルの下位レイヤを制御する下位インタフェース制御装置700とULPを含むその他の制御を行う上位インタフェース制御装置701に分けることができ、両者は、入出力バス702で接続されている。
【0008】
下位インタフェース制御装置700は、光ファイバケーブル703上の光信号と送受信フレームとを変換、制御するリンク制御部704と、送受信フレームを格納する送信バッファ705、受信バッファ706と、ファイバチャネルのフレーム転送制御等をマイクロプログラムで行うFCプロトコル制御部707と、入出力バス制御部708で構成される。
【0009】
上位インタフェース制御装置701は、メインメモリ709と中央処理装置710が入出力バス制御部711を介して下位インタフェース制御装置700と接続する構造になっており、上位インタフェース制御装置701の一例としてパーソナルコンピュータがあげられる。
【0010】
以下に、フレーム送信に関する従来例の動作を、図9のフローチャートを用いて簡単に説明する。
【0011】
中央処理装置710は、送信データをメインメモリ709に格納し(800)、下位インタフェース制御装置700に対して送信指示を行う(801)。送信指示を受けた下位インタフェース制御装置700のFCプロトコル制御部707は、送信データをメインメモリ709から送信バッファ705に格納するよう入出力バス制御部708に指示する(802)。指示を受けた入出力バス制御部708は、送信データをメインメモリ709から送信バッファ705に格納し(803)、格納終了を検出したFCプロトコル制御部707は、リンク制御部704に当該送信バッファのフレーム送信指示を行う(804)。フレーム送信指示を受けたリンク制御部704は送信バッファ705からフレームのヘッダ情報、フレームCRCを生成、付加し、フレーム送信を行う(805)。
【0012】
以下に、フレーム受信に関する従来例の動作を、図10のフローチャートを用いて簡単に説明する。
【0013】
下位インタフェース制御装置700に受信されたフレームは、リンク制御部704でフレームのフレームCRCがチェックされ、受信バッファ706に格納される(810)。更に、リンク制御部704からフレーム格納の通知を受けたFCプロトコル制御部707は、フレームを解析し、必要ならフレームデータをメインメモリ709に格納するよう入出力バス制御部708に指示する(811)。指示を受けた入出力バス制御部708は、フレームデータを受信バッファ706からメインメモリ709に格納し(812)、格納終了を検出したFCプロトコル制御部707は、中央処理装置710に対して格納データの処理を依頼する(813)。最後に、中央処理装置710で格納データが処理される(814)。
【0014】
以上のインタフェース制御装置に於いて、FC−SB2を動作させた場合、複数フレームで構成されるIUや一つもしくは複数IUで構成されるデータに付加されるSB_CRCの生成、チェックは上位インタフェース制御装置701の中央処理装置710で処理され、下位インタフェース制御装置700ではメインメモリ709上のIUをフレームに分割して送信したり、受信フレームのヘッダ情報からIUへの組み立てとメインメモリ709への格納を行う。図11にIU送信、図12にIU受信に関する従来装置での制御例のフローチャートを示す。
【0015】
しかし、上述に様に、IU処理の他にSB_CRCの生成、チェックも中央処理装置710で処理すると、中央処理装置710の負荷が増大し、プログラム実行のオーバヘッドのため、ULP制御性能が低下する恐れがある。
【0016】
そこでSB_CRCの生成、チェックを下位インタフェース制御装置700で行うことにより、上位インタフェース制御装置701にSB_CRCの専用制御機構等の特別な機構を付加することなく、ULP制御性能を向上させる方法を考える。
【0017】
この様に、ULPの処理の一部を下位レイヤで行うことは上下のレイヤをバインドさせて処理させることを意味し、本来のレイヤ構造によるプロトコルの多様性や柔軟性に矛盾しているが、SAN(Storage Area Network)やInternet 等のある特定の範囲で、上下レイヤのプロトコルの組合せが限定できる場合は性能向上に有用な方法であると考える。
【0018】
データの分割・組立とそれに付随するFCS関する従来例としては、特開平9−149080号公報や特開平10−303945号公報に開示されているが、上下レイヤをバインドしたFCSの処理については述べられていない。
【0019】
【発明が解決しようとする課題】
しかし、上述に様に、SB_CRCの生成、チェックをマイクロプログラムで処理すると、中央処理装置710の負荷が増大し、プログラム実行のオーバヘッドのため、ULP制御性能が低下する恐れがあるため、SB_CRCの生成、チェックを下位インタフェース制御装置700で行うことにより、ULP制御性能を維持しつつ、上位インタフェース制御装置701の汎用性を保つことを考える。
【0020】
SB_CRCの生成、チェックを下位インタフェース制御装置700で行う場合、次に示す問題がある。
【0021】
第一の問題点は、SB_CRCをFCプロトコル制御部707で処理する場合、送受信バッファのデータをローカルメモリ712に格納してマイクロプログラムで計算するため、SB_CRC生成、チェック用のメモリ領域が必要なことと、プログラム実行のオーバヘッドが大きいということである。図13にIU送信、図14にIU受信に関する従来装置での制御例のフローチャートを示す。
【0022】
第二の問題点は、SB_CRCの生成、チェックの専用制御機構を送受信バッファ705、706の前後に付加する場合、ファイバチャネルの特徴の一つである複数ULPの同時動作や、SB_CRCを含むデータが複数同時に転送され得ることを考えると、単純に生成、チェックする回路を付加するだけでは対応しきれないということである。
【0023】
第三の問題点は、下位インタフェース制御装置700は数ギガビット/秒という高いビットレートでフレームを送受信していることから、SB_CRC生成、チェックにかかる処理時間は無視できないということである。
【0024】
本発明の第一の目的は、上記第一及び第二の問題点を克服し、データ転送プロトコルが多重動作する場合にも、柔軟に対応するSB_CRCの生成、チェック方法を提供することにある。
【0025】
本発明の第二の目的は、上記第一及び第三の問題点を克服し、SB_CRCの処理時間を低減もしくは無視可能な、SB_CRCの生成、チェック方法を提供することにある。
【0026】
【課題を解決するための手段】
上記の目的を、下位インタフェース制御装置において、マイクロプログラム処理と専用制御機構を組み合わせて達成する。
【0027】
本発明の下位インタフェース制御装置は、送信バッファのデータ格納単位をIU単位まで拡張し、マイクロプログラムのIU単位での送信要求を可能とする。更に、IU送信契機でSB_CRC生成を、SB_CRCを生成するためのSB_CRC計算回路と、生成初期値と生成結果とを保持しマイクロプログラムでリード、ライト可能なSB_CRC生成レジスタから構成されるSB_CRC生成回路で、IU送信とは非同期に行う。また、SB_CRCチェックを、SB_CRCをチェックするためのSB_CRC計算回路と、チェック初期値とチェック結果とを保持しマイクロプログラムでリード、ライト可能なSB_CRCチェックレジスタから構成されるSB_CRCチェック回路で、受信フレームから構成されたIUをメインメモリに転送する際、IU転送契機でIU転送とは非同期に行う。つまりIUを送信、転送しながらSB_CRCの生成、チェックを同時に行うことにより処理に係るオーバヘッド低減を実現する。
【0028】
更に、マイクロプログラムのIU送信要求やメインメモリへのIU転送要求に必要な情報を格納するレジスタを複数用意し、複数同時に要求可能とすることで、SB_CRCが複数IUに跨ぐ場合やデータ転送が多重に実行される場合にも柔軟に対応する。
【0029】
また、受信フレームからIUを組み立て、メインメモリに転送する際に、当該フレームの受信バッファアドレスのチェイン情報で指示可能とすることで、IU転送のための特別なメモリは必要なく、つまり、同メモリに転送するオーバヘッドも削減できる。
【0030】
SB_CRC生成について簡単に説明する。フレームを正しく送信するためには、送信バッファからのデータ読み出し速度はリンク上のビットレートより高い必要があるが、本手法では、リンク上のビットレートの2倍以上の速度で読み出し可能な送信バッファを搭載することで、SB_CRC生成のオーバヘッドを低減する。つまり、リンク上のビットレートに合わせた送信フレームのデータ読み出しを行いながら、SB_CRC生成のデータ読み出しを非同期に行い、専用制御機構でSB_CRCを生成する。また、図2(a)に示す様に、フレームには開始、終了コード(SOF、EOF)やヘッダ情報、フレームCRC等が付属され、更にフレーム間も定められた間隔を空ける必要があるため、送信フレームとSB_CRC生成データを非同期に読み出せば、SB_CRC生成は先に完了する。これを利用し、SB_CRC生成が複数IUに跨る場合には、先に終了したSB_CRC生成の結果を、次のIU送信におけるSB_CRC生成の初期値としてセットし、予め、IU送信要求を発行することにより、SB_CRC生成のオーバヘッド無しにIU送信が可能となる。
【0031】
SB_CRCチェックについて簡単に説明する。受信バッファに格納されたフレームは、そのヘッダ情報から、マイクロプログラムによってIUに組み立てられる。組立られたIUは、入出力バスを介して上位インタフェース制御装置に転送されるわけだが、ここでも、SB_CRC生成と同様に、入出力バスのデータ転送速度の2倍以上の速度で読み出し可能な受信バッファを搭載し、入出力バスへのデータを読み出しながら、SB_CRCチェックのデータ読み出しを非同期で行い、専用制御機構でSB_CRCをチェックする。この場合も、入出力バスのデータ転送プロトコルのオーバヘッドから、入出力バスのデータ転送よりSB_CRC計算が先に完了するので、IUチェックが複数IUに跨る場合も、先に終了したSB_CRC計算結果を次のIU転送におけるSB_CRCチェックの初期値としてセットし、予め、IU転送要求を発行するすることにより、SB_CRCチェックのオーバヘッド無しにIU転送が可能となる。また、この時のIU転送要求は、受信バッファアドレスA−B−E−GといったIUを構成するフレーム位置の関連付けて指示可能である。
【0032】
以上の様に、本発明の下位インタフェース制御装置は、FC−SB2のデータに付加されるSB_CRCの生成、チェックといったULPの処理の一部を行うことによって、ULPの制御性能を向上させている。
【0033】
図3に上記のSB_CRCチェックの制御例を示す。ここでは、受信バッファのデータ読み出し速度が、入出力バスのデータ転送速度の4倍であり、IUは4フレーム、SB_CRCは2IUにまたがる場合の例を示す。
【0034】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【0035】
本実施例は、本発明におけるファイバチャネルインタフェース制御の好ましい形態の一例であり、本発明はこれに限るものではない。
【0036】
図1は、本発明のインタフェース制御方法の一例を示すインタフェース制御装置の構成図である。本構成は、送受信バッファに、それぞれ2つのポートで独立にリード、ライト可能な4ポートメモリを採用し、リードポートをデータ転送用とSB_CRC生成、チェック用とに割り当て、それぞれが非同期に動作できることに特徴がある。
【0037】
図1に示す様に、インタフェース装置制御装置は、従来例(図8)と同様に、ファイバチャネルの下位レイヤを制御する下位インタフェース制御装置100と、ULPを含むその他の制御を行う上位インタフェース制御装置101に分けることができ、両者は、入出力バス102で接続されている。
【0038】
下位インタフェース制御装置100は光ファイバケーブル103上の光信号と送受信フレームとを変換、制御するリンク制御部104、送受信フレームを格納し、4ポートメモリで構成された送信バッファ105、受信バッファ106、IU単位に付属するSB_CRCを生成、チェックするSB_CRC生成回路113、SB_CRCチェック回路114、ファイバチャネルのフレーム転送制御やIU組立等、ファイバチャネルの下位レイヤプロトコル制御をマイクロプログラムで行い、内部にローカルメモリ112を有するFCプロトコル制御部107と、入出力バス制御部108で構成される。
【0039】
送受信バッファ105、106は、図4(a),(b)で示されるように、送信バッファ105はIU単位に、受信バッファ106はフレーム単位に分割されており、各領域はそれぞれ、送信バッファ#と受信バッファ#で指示することが可能となっている。
【0040】
リンク制御部104には、FCプロトコル制御部107がIU送信制御情報を格納するためのリンク制御レジスタ115が存在する。リンク制御レジスタ115は、図5(a)に示される様に、送信制御情報、開始、終了コード、フレームヘッダ情報、送信IU長で構成され、更に送信バッファ#に対応して4つのリンク制御レジスタ情報を格納することができる。FCプロトコル制御部107からIU送信要求を出されたリンク制御部104は、リンク制御部レジスタ115を参照し、送信バッファ105からデータを読み出しながらIUをフレームに分割してフレーム送信を行う。また、リンク制御レジスタ115の送信制御情報でSB_CRC生成が指示されていた場合は、SB_CRC生成回路113でIUのSB_CRC生成を行う。このフレーム送信とSB_CRC生成は送信バッファのそれぞれ異なるリードポートから実行され、両者の動作は非同期に行われる。リンク制御レジスタ115が複数セットアップされている場合は、その優先度にしたがって、フレーム送信、SB_CRC生成がそれぞれ独立に連続して実行される。
【0041】
入出力バス制御部108には、FCプロトコル制御部107が上位インタフェース制御装置101のメインメモリ109と送受信バッファ105、106間のデータ転送制御情報を格納するためのデータ転送制御レジスタ116が存在する。データ転送制御レジスタ116は、図5(b)に示されるように、メインメモリ109のデータを送信バッファ105に転送するために用いられる送信バッファ用データ転送制御レジスタと、受信バッファ106のデータをメインメモリ109に転送するために用いられる受信バッファ用データ転送制御レジスタに分けることができる。送信バッファ用は、転送制御情報、転送元(メインメモリ)アドレス、転送長、転送先(送信バッファのアドレス)オフセット、送信バッファ#、受信バッファ用は、転送制御情報、転送先(メインメモリ)アドレス、転送長、転送元(受信バッファのアドレス)オフセット、受信バッファ#−チェイン情報で構成されており、それぞれ4つのデータ転送制御レジスタ情報を格納することができる。ここでいう受信バッファ#−チェイン情報は、受信バッファ106からメインメモリ109へのデータ転送をIU単位で行うための情報で、受信バッファ#を最大4つまで設定することができる。例えば、IUを構成するフレームが、受信バッファ#5、#7、#8、#0の順に格納されている場合は、チェイン情報#5−#7−#8−#0をセットすればよい。入出力バス制御部108は、このチェイン情報に従って、IUを組立てながらメインメモリ109に転送する。この様に本発明では、受信IUを、IUを構成するフレームが格納された受信バッファ#のチェイン情報で取り扱い、このチェイン情報でIU転送を可能とすることで、IUを組み立てる専用のメモリ領域は必要ない。また、受信バッファ用データ転送制御レジスタの転送制御情報でSB_CRCの計算が指示されていた場合は、SB_CRCチェック回路114でIUのSB_CRC計算を、更に、SB_CRCチェックが指示されていた場合は、IUのSB_CRCチェックを行う。この時、データ転送とSB_CRCチェックは受信バッファのそれぞれ異なるリードポートから実行され、両者の動作は非同期に行われる。受信バッファ用データ転送制御レジスタが複数セットアップされている場合は、その優先度に従って、データ転送、SB_CRCチェックがそれぞれ独立に連続して実行される。
【0042】
SB_CRC生成回路113、SB_CRCチェック回路114には、それぞれリンク制御レジスタ115とデータ転送制御レジスタ116に対応した4つのSB_CRC生成初期レジスタ117とSB_CRCチェック初期レジスタ118が存在し、リンク制御部104と入出力バス制御部108の指示で、SB_CRC計算を初期レジスタ値から開始して、計算結果を同レジスタに格納する。また、このレジスタはFCプロトコル制御部107のマイクロプログラムでリード、ライト可能で、SB_CRC初期値の仕様変更に柔軟に対応可能であり、更に、SB_CRCの計算が複数回に跨る場合、以前のSB_CRC計算結果を一旦ローカルメモリ112に格納し、続いて計算が必要なデータが準備できた段階で、改めてSB_CRC計算結果を初期レジスタに代入して、続きのSB_CRC計算をさせるといった制御も可能で、IUの多重処理にも柔軟に対応することができる。
【0043】
上位インタフェース制御装置101は、従来例(図8)と同様に、メインメモリ109と中央処理装置110が入出力バス制御部111を介して、下位インタフェース制御装置100と接続する構造になっている。
【0044】
以下に図1と図6のフローチャートを利用して、IU送信におけるデータの流れとSB_CRC生成方法を詳細に説明する。
【0045】
まず、上位インタフェース制御装置101のメインメモリ109に送信すべきIUを準備した(600)中央処理装置110は、入出力バス102を介して、下位インタフェース制御装置100のFCプロトコル制御部107に対して、IU送信の準備ができたことを報告する(601)。
【0046】
次に、IU送信準備完了の報告を受けたFCプロトコル制御部107は、送信バッファ105から空いている送信バッファ#を確保し、データ転送制御レジスタ116に、この送信バッファ#とオフセットアドレス、メインメモリ109のデータ転送元アドレス、データ転送長、転送制御情報をセットし、入出力バス制御部108に対してデータ転送要求を行う(602)。データ転送要求を受けた入出力バス制御部108は、データ転送制御レジスタ116に従って、メインメモリ109からデータを当該送信バッファに格納し、完了後、FCプロトコル制御部107に終了報告を行う(603)。また、IU送信準備完了を連続して受けた場合は、以前要求したデータ転送が完了するしないに関らず、次の送信バッファ#を確保し、レジスタをセットして次のデータ転送を要求する。
【0047】
次に、データ転送終了報告を受けたFCプロトコル制御部107は、SB_CRCの生成、付加が必要なら、データ転送終了した送信バッファ#に対応したSB_CRC生成初期レジスタ117にSB_CRC初期値を、リンク制御レジスタ115にフレームの開始、終了コード、ヘッダ情報、IU長、更にSB_CRC生成、付加といった送信制御情報をセットし、リンク制御部104にIU送信要求を行う(604)。IU送信要求を受けたリンク制御部104は、リンク制御レジスタ115に従って、IUをフレームに分割しながら送信し(605)、更にSB_CRC生成をフレーム送信とは非同期に行う(606)。本実施例では、送信バッファ105の1つのポートからリンクのビットレートに合わせてデータを読み出し、フレーム送信、またフレーム毎に付加するフレームCRC生成を行い、他のポートからはSB_CRC生成のためのデータを読み出し、SB_CRC生成回路113でSB_CRC生成する。
【0048】
送信IUへのSB_CRC付加が要求されている場合、分割した最終フレームのデータ部に生成したSB_CRCを付加する必要があるが、課題を解決するための手段の項で示した様に、フレーム構造やフレーム送信プロトコルのオーバヘッドから、フレーム送信より先にSB_CRC生成が終了するので、問題なくSB_CRCを付加することができる。
【0049】
また、SB_CRCが2つのIUに跨って生成される様な場合は、初めのIU送信でFCプロトコル制御部107は、SB_CRC生成初期レジスタ117にSB_CRC初期値を、リンク制御レジスタ115の送信制御情報にSB_CRC生成と生成後報告をセットし、リンク制御部104にIU送信要求を行う。IU送信要求を受けたリンク制御部104では、フレーム送信とSB_CRC生成を非同期に行い、当該IUのSB_CRC生成が終了した時点で、FCプロトコル制御部107に生成されたSB_CRCを報告する。SB_CRC生成終了の報告を受けたFCプロトコル制御部107は、先に要求したIU送信が完了する前に、次のIUが格納されている送信バッファ#に対応したSB_CRC生成初期レジスタ117に報告うけたSB_CRC値を、リンク制御レジスタ115の送信制御情報にSB_CRC生成と付加をセットし、リンク制御部104にIU送信要求を行う。リンク制御部104では、先に要求されたIU送信が完了していないものの、次のSB_CRC生成は非同期に動作可能なので、SB_CRC生成回路113において、次のSB_CRC生成を行う。先のIU送信が完了するとリンク制御部104では、続いて次のIU送信がスタートし、リンク上には、フレームが切れ目なく送信されることになる。
【0050】
以上説明した様に、SB_CRC生成を下位インタフェース制御装置のIU送信時、送信バッファからSB_CRC生成のデータとIU送信を非同期に読み出すことで、SB_CRC生成のオーバヘッド無しにIUを構成するフレームを送信することができる。
【0051】
続いて、図1と図7のフローチャートを利用して、フレーム受信からIU構築、更にはIUを上位インタフェース制御装置へ転送するデータの流れとSB_CRCチェック方法を詳細に説明する。
【0052】
光ファイバケーブル103から下位インタフェース制御装置100に入力された信号は、リンク制御部104でフレームに構築され、受信バッファ106に格納される。更に、その受信バッファ#は、FCプロトコル制御部107に報告される。フレーム単位に付加されるフレームCRCは、受信バッファ106に格納される際に、リンク制御部104でチェックされる(610)。フレーム受信報告を受けたFCプロトコル制御部107では、報告された受信バッファ#に格納されているフレームのヘッダ部や開始、終了コード、更にはリンク制御部104でチェックされたフレームCRCの合否を参照して、フレームの正当性や種類、構造、更にはULPの判断を行う(611)。受信フレームがIUを構成するフレームの1つである場合、FCプロトコル制御部107ではフレームの受信バッファ#をローカルメモリ112に格納し、IUを構成する全フレームを受信するまで、上位インタフェース制御装置101へのIU転送を保留する(612)。以上の判断は、FCプロトコル制御部107のマイクロプログラムで行われるため、ULPの仕様変更や新しいULPに柔軟に対応することができる。
【0053】
IUを構成する全フレームを受信し、さらに当該IUにSB_CRCが含まれる場合、FCプロトコル制御部107は、受信バッファ用データ転送制御レジスタ116にローカルメモリ112に格納しておいた受信バッファ#のチェイン情報とオフセットアドレス、メインメモリ109のデータ転送先アドレス、データ転送長、転送制御情報を、対応するSB_CRCチェック初期レジスタ118にSB_CRC初期値をセットし、入出力バス制御部108にデータ転送要求を行う(613)。
【0054】
データ転送要求を受けた入出力バス制御部108は、データ転送制御レジスタ116に従って、受信バッファ#をチェインさせIUを組立てながら、IUをメインメモリ109に転送し(614)、更にSB_CRC計算をIU転送とは非同期に行う(615)。本実施例では、受信バッファ106の1つのポートから入出力バスの転送レートに合わせてデータを読み出し、IU転送を行い、他のポートからはSB_CRC計算、チェックのためのデータを読み出し、SB_CRCチェック回路114でSB_CRCを計算、チェックする。
【0055】
また、SB_CRCが2つのIUに跨っている様な場合は、FCプロトコル制御部107で、初めのIUを構成する全フレームを受信してから、SB_CRCチェック初期レジスタ118にSB_CRC初期値を、データ転送制御レジスタ116に受信バッファ#のチェイン情報、SB_CRC計算、計算後報告の転送制御情報をセットし、入出力バス制御部108にIU転送要求を行う。IU転送要求を受けた入出力バス制御部108では、IU転送とSB_CRC計算を非同期に行い、当該IUのSB_CRC計算が終了した時点で、FCプロトコル制御部107に計算したSB_CRCを報告する。SB_CRC計算終了の報告を受けたFCプロトコル制御部107は、次IUを構成する全フレームの受信が完了していたら、先に要求したIU転送が完了していなくても、SB_CRCチェック初期レジスタ118に報告を受けたSB_CRC値を、データ転送制御レジスタ116に次IUを構成する受信バッファ#のチェイン情報、SB_CRC計算、チェックの転送制御情報をセットし、入出力バス制御部108にIU転送要求を行う。入出力バス制御部108では先に要求されたIU転送が完了していないものの、次のSB_CRC計算は非同期に動作可能なので、SB_CRCチェック回路114において次のSB_CRC計算、チェックを行う。先のIU転送が完了すると入出力バス制御部108では、続いて次のIU転送がスタートし、入出力バス102に効率よくデータを転送することができる。
【0056】
以上説明した様に、SB_CRCチェックを下位インタフェース制御装置のIU転送時、受信バッファからSB_CRCチェックのデータとIU転送を非同期に読み出すことで、SB_CRCチェックのオーバヘッド無しにIUを上位インタフェース制御装置に転送することができる。
【0057】
以上SB_CRCB2の様に、IU(上位プロトコルの制御単位)が、複数のフレーム(下位プロトコルの制御単位)で構成される場合について詳細に説明したが、本発明はこれに止まることなく、上位プロトコルの制御単位が複数の下位プロトコルの制御単位で構成される様なデータ転送系において当て嵌めることができるのは、いうまでもない。
【0058】
【発明の効果】
複数フレームに跨るIUのSB_CRC計算をデータ転送要求契機にデータ転送と非同期で行うことにより、SB_CRC計算のオーバヘッドを無くし、データ転送を最大性能で実行することができる。
【0059】
更に、データ転送要求を複数セット可能とすることで、IUのチェインや、更に、そのSB_CRC計算が必要な場合にも、データ転送を最大性能で実行することができる。
【0060】
SB_CRC計算の初期値や結果をマイクロプログラムでライト、リード可能とすることにより、SB_CRC計算の仕様変更や、SB_CRC計算を多重に処理する必要がある場合も柔軟に対応できる。
【0061】
受信フレームから組み立てたIUを処理する際、同IUを受信フレームの格納バッファ#のチェイン情報で処理可能とすることで、IUを組み立てる専用のメモリが必要ない。
【図面の簡単な説明】
【図1】本発明のインタフェース制御装置の一実施例を示す構成図である。
【図2】(a)は本発明に関するインタフェースのフレーム構造を示した図、(b)は本発明に関するインタフェースの情報ユニット構造を示した図、(c)は本発明に関するインタフェースのSBデータ構造を示した図である。
【図3】本発明のインタフェース制御方法で、SB_CRCチェック制御の動作例を示した図である。
【図4】(a)は本実施例における送信バッファの構成図、(b)は本実施例における受信バッファの構成図である。
【図5】(a)は本実施例におけるリンク制御レジスタの構成図、(b)は本実施例におけるデータ転送制御レジスタの構成図、(c)は本実施例におけるSB_CRC生成初期レジスタの構成図、(d)は本実施例におけるSB_CRCチェック初期レジスタの構成図である。
【図6】本実施例におけるIU送信とSB_CRC生成方法を示すフローチャートである。
【図7】本実施例におけるIU受信とSB_CRCチェック方法を示すフローチャートである。
【図8】本発明の関するインタフェース制御装置の従来例を示す構成図である。
【図9】図8において、フレーム送信制御方法を示すフローチャートである。
【図10】図8において、フレーム受信制御方法を示すフローチャートである。
【図11】図8において、SB_CRC生成を中央処理装置で実現した場合のIU送信制御方法を示すフローチャートである。
【図12】図8に於いて、SB_CRCチェック生成を中央処理装置で実現した場合のIU受信制御方法を示すフローチャートである。
【図13】図8に於いて、SB_CRC生成をFCプロトコル制御部で実現した場合のIU送信制御方法を示すフローチャートである。
【図14】図8において、SB_CRCチェック生成をFCプロトコル制御部で実現した場合のIU受信制御方法を示すフローチャートである。
【符号の説明】
100…下位インタフェース制御装置、101…上位インタフェース制御装置、102…入出力バス、103…光ファイバケーブル、104…リンク制御部、105…送信バッファ、106…受信バッファ、107…FCプロトコル制御部、108…入出力バス制御部、109…メインメモリ、110…中央処理装置、111…入出力バス制御部、112…ローカルメモリ、113…SB_CRC生成回路、114…SB_CRCチェック回路、115…リンク制御レジスタ、116…データ転送制御レジスタ、117…SB_CRC生成初期レジスタ、118…SB_CRCチェック初期レジスタ、200…フレーム、201…情報ユニット、202…SBデータ、700…下位インタフェース制御装置、701…上位インタフェース制御装置、702…入出力バス、703…光ファイバケーブル、704…リンク制御部、705…送信バッファ、706…受信バッファ、707…FCプロトコル制御部、708…入出力バス制御部、709…メインメモリ、710…中央処理装置、711…入出力バス制御部、712…ローカルメモリ。
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a control method of an input / output interface connected between processing devices such as a central processing unit and an input / output device, and in particular, for one piece of data information composed of one or a plurality of frames, one FCS ( The present invention relates to an interface control method for efficiently generating and checking an FCS in a data transfer protocol with a (Frame Check Sequence) attached.
[0002]
[Prior art]
As represented by the OSI (Open System Interconnection) model, the structure of the network architecture is hierarchized by function, and various protocols are realized in each layer, making it possible to construct a highly flexible network. The fiber channel standardized by ANSI (Ameriacan National Standards Institute) is also hierarchized in the same way, using a fiber channel medium, IP (Internet Protocol) or SCSI (Small Computer System Interface) as ULP (upper layer protocol). ) And FC-SB2 (Single-Byte Command Code Sets Mapping Protocol-2).
[0003]
However, due to such hierarchization, when the amount of data that the upper layer protocol is trying to send is larger than the amount of data that can be transmitted at one time by the lower layer protocol, processing such as data division / assembly is required.
[0004]
For example, in a fiber channel, data is transferred in units of a frame 200 as shown in FIG. 2A on a physical interface typified by an optical fiber. In FC-SB2, which is a fiber channel ULP, Since data transfer is performed in an information unit IU (Information Unit) 201 as shown in FIG. 2B, processes such as division from IU to frame and assembly from frame to IU are required.
[0005]
The frame 200 starts with a 4-byte start code (SOF), and includes 24-byte header information and a maximum of 2,112 bytes of data, and a 4-byte CRC (hereinafter referred to as a frame CRC) as an FCS for error detection of the header information and data. ) Is added, and finally it ends with a 4-byte end code (EOF). The information unit 201 has a structure in which 32 bytes of header information, a maximum of 8,160 bytes of data, and, if necessary, a 4-byte CRC (hereinafter referred to as SB_CRC) are added. The header information and data of the information unit 201 and SB_CRC are The frame 200 is divided and mapped. As shown in FIG. 2C, the SB_CRC is added for error detection of the data portion of the SB data 202 composed of one or a plurality of IUs.
[0006]
Conventionally, in interface control devices represented by Fiber Channel, a part that performs processing in units of frames in a lower layer and a part that performs processing mainly according to ULP are separated and connected to an input / output bus such as a PCI bus or a micro channel. In many cases, data transfer is realized. In other words, by dividing the lower layer and the upper layer, it has a flexible structure for the change accompanying the improvement of the bit rate of the optical fiber and the ULP change, and it becomes possible to construct various data transfer systems. FIG. 8 shows a conventional example of an interface control device.
[0007]
The interface control device can be divided into a lower interface control device 700 that controls the lower layer of the fiber channel and an upper interface control device 701 that performs other control including ULP, and both are connected by an input / output bus 702. .
[0008]
The lower interface control device 700 converts and controls an optical signal on the optical fiber cable 703 and a transmission / reception frame, a link control unit 704, a transmission buffer 705 and a reception buffer 706 for storing the transmission / reception frame, and fiber channel frame transfer control. The FC protocol control unit 707 and the input / output bus control unit 708 are configured by a microprogram.
[0009]
The upper interface controller 701 has a structure in which a main memory 709 and a central processing unit 710 are connected to a lower interface controller 700 via an input / output bus controller 711. A personal computer is an example of the upper interface controller 701. can give.
[0010]
The operation of the conventional example related to frame transmission will be briefly described below with reference to the flowchart of FIG.
[0011]
The central processing unit 710 stores the transmission data in the main memory 709 (800) and issues a transmission instruction to the lower-level interface control device 700 (801). Receiving the transmission instruction, the FC protocol control unit 707 of the lower level interface control device 700 instructs the input / output bus control unit 708 to store the transmission data from the main memory 709 in the transmission buffer 705 (802). Upon receiving the instruction, the input / output bus control unit 708 stores the transmission data from the main memory 709 into the transmission buffer 705 (803), and the FC protocol control unit 707 that detects the end of storage stores the transmission buffer in the link control unit 704. A frame transmission instruction is issued (804). Upon receiving the frame transmission instruction, the link control unit 704 generates and adds frame header information and a frame CRC from the transmission buffer 705, and performs frame transmission (805).
[0012]
The operation of the conventional example related to frame reception will be briefly described below with reference to the flowchart of FIG.
[0013]
The frame received by the lower interface control device 700 is checked by the link control unit 704 for the frame CRC of the frame and stored in the reception buffer 706 (810). Further, the FC protocol control unit 707 that has received the frame storage notification from the link control unit 704 analyzes the frame and instructs the input / output bus control unit 708 to store the frame data in the main memory 709 if necessary (811). . Upon receipt of the instruction, the input / output bus control unit 708 stores the frame data from the reception buffer 706 in the main memory 709 (812), and the FC protocol control unit 707 that has detected the end of storage stores the stored data in the central processing unit 710. Is requested (813). Finally, the stored data is processed in the central processing unit 710 (814).
[0014]
In the above interface control device, when the FC-SB2 is operated, the generation and check of the SB_CRC added to the IU composed of a plurality of frames and the data composed of one or a plurality of IUs is performed by the host interface control device. The lower-level interface controller 700 transmits the IU on the main memory 709 by dividing it into frames, or assembles the received frame from header information into the IU and stores it in the main memory 709. Do. FIG. 11 shows a flowchart of a control example in the conventional apparatus regarding IU transmission and FIG. 12 regarding IU reception.
[0015]
However, as described above, if the central processing unit 710 also processes SB_CRC generation and checking in addition to IU processing, the load on the central processing unit 710 increases, and the overhead of program execution may reduce the ULP control performance. There is.
[0016]
Therefore, a method of improving the ULP control performance without adding a special mechanism such as a dedicated control mechanism for SB_CRC to the upper interface control apparatus 701 by generating and checking the SB_CRC in the lower interface control apparatus 700 will be considered.
[0017]
In this way, performing part of the ULP processing in the lower layer means that the upper and lower layers are bound and processed, which contradicts the diversity and flexibility of the protocol by the original layer structure. If the combination of upper and lower layer protocols can be limited within a specific range such as SAN (Storage Area Network) or Internet, it is considered a useful method for improving performance.
[0018]
Conventional examples of data division / assembly and associated FCS are disclosed in JP-A-9-149080 and JP-A-10-303945, but FCS processing in which upper and lower layers are bound is described. Not.
[0019]
[Problems to be solved by the invention]
However, as described above, if the generation and check of SB_CRC is processed by a microprogram, the load on the central processing unit 710 increases, and the UL control performance may be reduced due to the overhead of program execution. Suppose that the lower interface control device 700 performs the check to maintain the versatility of the upper interface control device 701 while maintaining the ULP control performance.
[0020]
When the SB_CRC is generated and checked by the lower interface control apparatus 700, there are the following problems.
[0021]
The first problem is that when the SB_CRC is processed by the FC protocol control unit 707, the memory area for SB_CRC generation and checking is necessary because the data in the transmission / reception buffer is stored in the local memory 712 and calculated by the microprogram. The overhead of program execution is large. FIG. 13 shows a flowchart of an example of control in a conventional apparatus related to IU transmission and FIG. 14 shows IU reception.
[0022]
The second problem is that when a dedicated control mechanism for generating and checking SB_CRC is added before and after the transmission / reception buffers 705 and 706, simultaneous operation of a plurality of ULPs, which are one of the features of Fiber Channel, and data including SB_CRC Considering that a plurality of data can be transferred at the same time, simply adding a circuit for generating and checking cannot be used.
[0023]
A third problem is that the processing time for generating and checking SB_CRC cannot be ignored because the lower interface control device 700 transmits and receives frames at a high bit rate of several gigabits / second.
[0024]
A first object of the present invention is to overcome the first and second problems described above, and to provide a method for generating and checking a SB_CRC that can flexibly cope with the case where a data transfer protocol performs multiple operations.
[0025]
A second object of the present invention is to provide a method for generating and checking an SB_CRC that overcomes the first and third problems and can reduce or ignore the processing time of the SB_CRC.
[0026]
[Means for Solving the Problems]
The above object is achieved by combining microprogram processing and a dedicated control mechanism in the lower-level interface control device.
[0027]
The lower-level interface control device of the present invention extends the data storage unit of the transmission buffer to the IU unit, and enables a transmission request in the IU unit of the microprogram. In addition, SB_CRC generation is triggered by an IU transmission trigger, and an SB_CRC generation circuit that includes an SB_CRC calculation circuit for generating SB_CRC, and an SB_CRC generation register that holds a generation initial value and a generation result and can be read and written by a microprogram. Asynchronous with IU transmission. In addition, the SB_CRC check is performed by the SB_CRC check circuit configured to include the SB_CRC calculation circuit for checking the SB_CRC, and the SB_CRC check register that holds the check initial value and the check result and can be read and written by the microprogram. When the configured IU is transferred to the main memory, the IU transfer is performed asynchronously with the IU transfer trigger. In other words, processing overhead is reduced by simultaneously generating and checking SB_CRC while transmitting and transferring IU.
[0028]
In addition, by preparing multiple registers for storing information necessary for IU transmission requests of microprograms and IU transfer requests to the main memory and enabling multiple requests simultaneously, multiple SB_CRCs can be used across multiple IUs and data transfers can be multiplexed. Even when executed in a flexible manner.
[0029]
In addition, when an IU is assembled from a received frame and transferred to the main memory, it is possible to indicate with the chain information of the received buffer address of the frame, so that no special memory for IU transfer is necessary. It is possible to reduce the overhead to transfer to the network.
[0030]
The SB_CRC generation will be briefly described. In order to transmit a frame correctly, the data reading speed from the transmission buffer needs to be higher than the bit rate on the link. In this method, however, the transmission buffer can be read at a speed more than twice the bit rate on the link. To reduce the overhead of SB_CRC generation. That is, while reading the data of the transmission frame in accordance with the bit rate on the link, the data reading for SB_CRC generation is performed asynchronously, and the SB_CRC is generated by the dedicated control mechanism. Also, as shown in FIG. 2 (a), start and end codes (SOF, EOF), header information, frame CRC, etc. are attached to the frame, and further, it is necessary to leave a predetermined interval between frames. If the transmission frame and the SB_CRC generation data are read asynchronously, the SB_CRC generation is completed first. Using this, when SB_CRC generation spans multiple IUs, the result of SB_CRC generation that has been completed first is set as the initial value of SB_CRC generation in the next IU transmission, and an IU transmission request is issued in advance. , IU transmission is possible without the overhead of SB_CRC generation.
[0031]
The SB_CRC check will be briefly described. The frame stored in the reception buffer is assembled into an IU by the microprogram from the header information. The assembled IU is transferred to the host interface control device via the I / O bus. Here, too, as with the SB_CRC generation, the IU can be read at a rate that is at least twice the data transfer rate of the I / O bus. A buffer is mounted, and data reading of the SB_CRC check is performed asynchronously while reading data to the input / output bus, and the SB_CRC is checked by the dedicated control mechanism. Also in this case, since the SB_CRC calculation is completed earlier than the data transfer of the input / output bus due to the overhead of the data transfer protocol of the input / output bus, even when the IU check extends over a plurality of IUs, the previously completed SB_CRC calculation result is By setting the initial value of the SB_CRC check in the IU transfer and issuing the IU transfer request in advance, the IU transfer can be performed without the overhead of the SB_CRC check. Further, the IU transfer request at this time can be instructed in association with the frame position constituting the IU such as the reception buffer address A-B-E-G.
[0032]
As described above, the lower-level interface control apparatus of the present invention improves the ULP control performance by performing a part of the ULP process such as generation and check of SB_CRC added to the FC-SB2 data.
[0033]
FIG. 3 shows a control example of the above SB_CRC check. Here, an example is shown in which the data read speed of the reception buffer is four times the data transfer speed of the input / output bus, IU spans 4 frames, and SB_CRC spans 2 IU.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0035]
The present embodiment is an example of a preferred form of fiber channel interface control in the present invention, and the present invention is not limited to this.
[0036]
FIG. 1 is a configuration diagram of an interface control apparatus showing an example of an interface control method of the present invention. This configuration employs a 4-port memory that can be read and written independently for each of the two ports in the transmission / reception buffer, and assigns read ports for data transfer, SB_CRC generation, and check, and each can operate asynchronously. There are features.
[0037]
As shown in FIG. 1, the interface device control device is similar to the conventional example (FIG. 8), the lower interface control device 100 that controls the lower layer of the fiber channel, and the upper interface control device that performs other control including the ULP. 101 are connected to each other by an input / output bus 102.
[0038]
The lower interface control device 100 converts and controls the optical signal and the transmission / reception frame on the optical fiber cable 103, stores the transmission / reception frame, and stores a transmission buffer 105, a reception buffer 106, and an IU configured by a 4-port memory. SB_CRC generation circuit 113, SB_CRC check circuit 114 for generating and checking SB_CRC attached to the unit, Fiber Channel lower layer protocol control such as frame transfer control and IU assembly, etc. are performed by a micro program, and local memory 112 is internally stored. The FC protocol control unit 107 and the input / output bus control unit 108 are provided.
[0039]
As shown in FIGS. 4A and 4B, the transmission / reception buffers 105 and 106 are divided into transmission buffers 105 in IU units and reception buffers 106 in frame units, and each region has a transmission buffer #. It is possible to instruct with the reception buffer #.
[0040]
The link control unit 104 includes a link control register 115 for the FC protocol control unit 107 to store IU transmission control information. As shown in FIG. 5A, the link control register 115 includes transmission control information, start and end codes, frame header information, and transmission IU length, and further includes four link control registers corresponding to the transmission buffer #. Information can be stored. The link control unit 104, which has received an IU transmission request from the FC protocol control unit 107, refers to the link control unit register 115 and divides the IU into frames while reading data from the transmission buffer 105, and performs frame transmission. When the SB_CRC generation is instructed by the transmission control information of the link control register 115, the SB_CRC generation circuit 113 generates the SB_CRC of the IU. This frame transmission and SB_CRC generation are executed from different read ports of the transmission buffer, and both operations are performed asynchronously. When a plurality of link control registers 115 are set up, frame transmission and SB_CRC generation are performed independently and continuously according to the priority.
[0041]
The I / O bus control unit 108 includes a data transfer control register 116 for the FC protocol control unit 107 to store data transfer control information between the main memory 109 and the transmission / reception buffers 105 and 106 of the host interface control apparatus 101. As shown in FIG. 5B, the data transfer control register 116 stores the data in the transmission buffer data transfer control register used for transferring the data in the main memory 109 to the transmission buffer 105 and the data in the reception buffer 106 as the main data. It can be divided into a data transfer control register for reception buffer used for transferring to the memory 109. For transmission buffer, transfer control information, transfer source (main memory) address, transfer length, transfer destination (address of transmission buffer) offset, transmission buffer #, for reception buffer, transfer control information, transfer destination (main memory) address , Transfer length, transfer source (reception buffer address) offset, and reception buffer # -chain information, each of which can store four data transfer control register information. The reception buffer # -chain information here is information for performing data transfer from the reception buffer 106 to the main memory 109 in IU units, and up to four reception buffers # can be set. For example, when the frames constituting the IU are stored in the order of the reception buffers # 5, # 7, # 8, and # 0, the chain information # 5- # 7- # 8- # 0 may be set. The I / O bus control unit 108 transfers the IU to the main memory 109 while assembling according to the chain information. As described above, in the present invention, the reception IU is handled by the chain information of the reception buffer # in which the frame constituting the IU is stored, and the IU transfer can be performed using this chain information. unnecessary. If the SB_CRC calculation is instructed in the transfer control information of the reception buffer data transfer control register, the SB_CRC check circuit 114 performs the SB_CRC calculation of the IU, and if the SB_CRC check is instructed, the IU SB_CRC check is performed. At this time, the data transfer and the SB_CRC check are executed from different read ports of the reception buffer, and both operations are performed asynchronously. When a plurality of reception buffer data transfer control registers are set up, data transfer and SB_CRC check are executed independently and continuously according to the priority.
[0042]
The SB_CRC generation circuit 113 and the SB_CRC check circuit 114 include four SB_CRC generation initial registers 117 and SB_CRC check initial registers 118 corresponding to the link control register 115 and the data transfer control register 116, respectively. In response to an instruction from the bus control unit 108, the SB_CRC calculation is started from the initial register value, and the calculation result is stored in the register. In addition, this register can be read and written by the microprogram of the FC protocol control unit 107, can flexibly cope with the specification change of the SB_CRC initial value, and when the calculation of the SB_CRC is performed a plurality of times, the previous SB_CRC calculation Once the result is stored in the local memory 112 and the data that needs to be calculated is prepared, the SB_CRC calculation result can be substituted into the initial register and the subsequent SB_CRC calculation can be performed. Multiple processing can be handled flexibly.
[0043]
As in the conventional example (FIG. 8), the upper interface control device 101 has a structure in which the main memory 109 and the central processing unit 110 are connected to the lower interface control device 100 via the input / output bus control unit 111.
[0044]
The data flow and SB_CRC generation method in IU transmission will be described in detail below using the flowcharts of FIGS. 1 and 6.
[0045]
First, the central processing unit 110 that has prepared an IU to be transmitted to the main memory 109 of the higher-level interface control apparatus 101 (600), to the FC protocol control unit 107 of the lower-level interface control apparatus 100 via the input / output bus 102. , It reports that the IU transmission is ready (601).
[0046]
Next, the FC protocol control unit 107 that has received the IU transmission preparation completion report secures an empty transmission buffer # from the transmission buffer 105, and stores the transmission buffer #, the offset address, and the main memory in the data transfer control register 116. The data transfer source address 109, data transfer length, and transfer control information 109 are set, and a data transfer request is sent to the input / output bus control unit 108 (602). In response to the data transfer request, the I / O bus control unit 108 stores the data from the main memory 109 in the transmission buffer according to the data transfer control register 116, and after completion, reports the completion to the FC protocol control unit 107 (603). . Also, when IU transmission preparation completion is received continuously, the next transmission buffer # is secured and the next data transfer is requested regardless of whether the previously requested data transfer is completed. .
[0047]
Next, the FC protocol control unit 107 that has received the data transfer completion report, if generation and addition of SB_CRC are necessary, sets the SB_CRC initial value in the SB_CRC generation initial register 117 corresponding to the transmission buffer # for which data transfer has been completed, and the link control register. In 115, transmission control information such as the start of frame, end code, header information, IU length, SB_CRC generation and addition is set, and an IU transmission request is sent to the link control unit 104 (604). Upon receiving the IU transmission request, the link control unit 104 transmits the IU while dividing it into frames according to the link control register 115 (605), and further performs SB_CRC generation asynchronously with frame transmission (606). In this embodiment, data is read from one port of the transmission buffer 105 according to the link bit rate, frame transmission is performed, and frame CRC generation is added for each frame, and data for generating SB_CRC is transmitted from other ports. And the SB_CRC generation circuit 113 generates SB_CRC.
[0048]
When SB_CRC addition to the transmission IU is requested, it is necessary to add the generated SB_CRC to the data part of the final frame divided. However, as shown in the section of means for solving the problem, Since the SB_CRC generation is completed before the frame transmission due to the overhead of the frame transmission protocol, the SB_CRC can be added without any problem.
[0049]
If the SB_CRC is generated across two IUs, the FC protocol control unit 107 sets the SB_CRC initial value in the SB_CRC generation initial register 117 in the transmission control information of the link control register 115 in the first IU transmission. SB_CRC generation and post-generation report are set, and an IU transmission request is sent to the link control unit 104. Upon receiving the IU transmission request, the link control unit 104 performs frame transmission and SB_CRC generation asynchronously, and reports the SB_CRC generated to the FC protocol control unit 107 when the SB_CRC generation of the IU is completed. The FC protocol control unit 107 that has received the SB_CRC generation completion report has received the report to the SB_CRC generation initial register 117 corresponding to the transmission buffer # in which the next IU is stored before the previously requested IU transmission is completed. The SB_CRC value is set in the transmission control information of the link control register 115 as SB_CRC generation and addition, and an IU transmission request is sent to the link control unit 104. In the link control unit 104, although the previously requested IU transmission has not been completed, the next SB_CRC generation can be performed asynchronously, so the SB_CRC generation circuit 113 performs the next SB_CRC generation. When the previous IU transmission is completed, the link control unit 104 subsequently starts the next IU transmission, and the frame is transmitted without interruption on the link.
[0050]
As described above, when the SB_CRC generation is performed by the lower-level interface control device during IU transmission, the SB_CRC generation data and IU transmission are read asynchronously from the transmission buffer, thereby transmitting the frame constituting the IU without the overhead of SB_CRC generation. Can do.
[0051]
Next, the flow of data from frame reception to IU construction and further transfer of IU to the host interface control device and the SB_CRC check method will be described in detail using the flowcharts of FIGS.
[0052]
Signals input from the optical fiber cable 103 to the lower interface control apparatus 100 are constructed into frames by the link control unit 104 and stored in the reception buffer 106. Further, the reception buffer # is reported to the FC protocol control unit 107. The frame CRC added to each frame is checked by the link control unit 104 when stored in the reception buffer 106 (610). Upon receiving the frame reception report, the FC protocol control unit 107 refers to the header part and start / end code of the frame stored in the reported reception buffer #, and the pass / fail of the frame CRC checked by the link control unit 104 Then, the validity, type, and structure of the frame, and further the ULP are determined (611). When the received frame is one of the frames constituting the IU, the FC protocol control unit 107 stores the reception buffer # of the frame in the local memory 112, and until all frames constituting the IU are received, the upper interface control apparatus 101 The IU transfer to is suspended (612). Since the above determination is performed by the microprogram of the FC protocol control unit 107, it is possible to flexibly cope with a change in the ULP specification or a new ULP.
[0053]
When all the frames constituting the IU are received and the SB_CRC is included in the IU, the FC protocol control unit 107 stores the chain of the reception buffer # stored in the local memory 112 in the data transfer control register 116 for reception buffer. The information and offset address, the data transfer destination address of the main memory 109, the data transfer length, and the transfer control information are set to the corresponding SB_CRC check initial register 118, and the SB_CRC initial value is set, and the data transfer request is sent to the I / O bus control unit 108. (613).
[0054]
In response to the data transfer request, the I / O bus control unit 108 transfers the IU to the main memory 109 while chaining the reception buffer # and assembling the IU according to the data transfer control register 116 (614), and further transfers the SB_CRC calculation to the IU. Is performed asynchronously (615). In this embodiment, data is read from one port of the reception buffer 106 in accordance with the transfer rate of the input / output bus, IU transfer is performed, SB_CRC calculation and check data are read from the other ports, and an SB_CRC check circuit At 114, SB_CRC is calculated and checked.
[0055]
If the SB_CRC straddles two IUs, the FC protocol control unit 107 receives all the frames constituting the first IU, and then transfers the SB_CRC initial value to the SB_CRC check initial register 118 for data transfer. The transfer buffer # chain information, SB_CRC calculation, and post-calculation report transfer control information are set in the control register 116, and an IU transfer request is sent to the input / output bus control unit 108. In response to the IU transfer request, the I / O bus control unit 108 performs IU transfer and SB_CRC calculation asynchronously, and reports the calculated SB_CRC to the FC protocol control unit 107 when the SB_CRC calculation of the IU is completed. The FC protocol control unit 107 that has received the report of the completion of the SB_CRC calculation, if the reception of all the frames constituting the next IU is completed, even if the previously requested IU transfer is not completed, the FC protocol control unit 107 The received SB_CRC value is set in the data transfer control register 116 with the chain information of the reception buffer # constituting the next IU, the SB_CRC calculation, and the transfer control information for checking, and an IU transfer request is made to the I / O bus control unit 108 . Although the I / O bus control unit 108 has not completed the previously requested IU transfer, the next SB_CRC calculation can be performed asynchronously, so the SB_CRC check circuit 114 performs the next SB_CRC calculation and check. When the previous IU transfer is completed, the input / output bus control unit 108 starts the next IU transfer, and can efficiently transfer data to the input / output bus 102.
[0056]
As described above, when the SB_CRC check is transferred to the lower interface controller, the IU is transferred to the upper interface controller without the overhead of the SB_CRC check by asynchronously reading the SB_CRC check data and the IU transfer from the reception buffer. be able to.
[0057]
As described above, the case where the IU (upper protocol control unit) is composed of a plurality of frames (lower protocol control unit) as in SB_CRCB2 has been described in detail. However, the present invention is not limited to this, and the upper protocol control unit is not limited to this. Needless to say, this can be applied in a data transfer system in which a control unit is composed of a plurality of lower protocol control units.
[0058]
【The invention's effect】
By performing the SB_CRC calculation of the IU across multiple frames asynchronously with the data transfer triggered by the data transfer request, the overhead of the SB_CRC calculation can be eliminated and the data transfer can be executed with the maximum performance.
[0059]
Furthermore, by making it possible to set a plurality of data transfer requests, data transfer can be executed with maximum performance even when an IU chain and further SB_CRC calculation are required.
[0060]
By making the initial value and result of the SB_CRC calculation writeable and readable by a microprogram, it is possible to flexibly cope with a change in the specification of the SB_CRC calculation and the need for multiple processing of the SB_CRC calculation.
[0061]
When an IU assembled from a received frame is processed, the IU can be processed by the chain information of the received frame storage buffer #, so that a dedicated memory for assembling the IU is not necessary.
[Brief description of the drawings]
FIG. 1 is a block diagram showing an embodiment of an interface control device of the present invention.
2A is a diagram showing a frame structure of an interface according to the present invention, FIG. 2B is a diagram showing an information unit structure of an interface according to the present invention, and FIG. 2C is an SB data structure of an interface according to the present invention; FIG.
FIG. 3 is a diagram showing an operation example of SB_CRC check control in the interface control method of the present invention.
4A is a configuration diagram of a transmission buffer in the present embodiment, and FIG. 4B is a configuration diagram of a reception buffer in the present embodiment.
5A is a configuration diagram of a link control register in the present embodiment, FIG. 5B is a configuration diagram of a data transfer control register in the present embodiment, and FIG. 5C is a configuration diagram of an SB_CRC generation initial register in the present embodiment. (D) is a block diagram of the SB_CRC check initial register in the present embodiment.
FIG. 6 is a flowchart showing an IU transmission and SB_CRC generation method in the present embodiment.
FIG. 7 is a flowchart showing an IU reception and SB_CRC check method in the embodiment.
FIG. 8 is a block diagram showing a conventional example of an interface control apparatus according to the present invention.
FIG. 9 is a flowchart showing a frame transmission control method in FIG. 8;
FIG. 10 is a flowchart showing a frame reception control method in FIG. 8;
FIG. 11 is a flowchart showing an IU transmission control method when SB_CRC generation is realized by the central processing unit in FIG. 8;
12 is a flowchart showing an IU reception control method in the case where SB_CRC check generation is realized by the central processing unit in FIG. 8. FIG.
FIG. 13 is a flowchart showing an IU transmission control method when SB_CRC generation is realized by the FC protocol control unit in FIG. 8;
FIG. 14 is a flowchart showing an IU reception control method when SB_CRC check generation is realized by the FC protocol control unit in FIG. 8;
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 100 ... Lower interface control apparatus, 101 ... Upper interface control apparatus, 102 ... Input / output bus, 103 ... Optical fiber cable, 104 ... Link control part, 105 ... Transmission buffer, 106 ... Reception buffer, 107 ... FC protocol control part, 108 DESCRIPTION OF SYMBOLS ... Input / output bus control part 109 ... Main memory 110 ... Central processing unit 111 ... Input / output bus control part 112 ... Local memory 113 ... SB_CRC generation circuit 114 ... SB_CRC check circuit 115 ... Link control register 116 Data transfer control register, 117 ... SB_CRC generation initial register, 118 ... SB_CRC check initial register, 200 ... Frame, 201 ... Information unit, 202 ... SB data, 700 ... Lower interface controller, 701 ... Upper interface controller, 702 ... I / O bus, 703 ... Optical fiber cable, 704 ... Link controller, 705 ... Transmit buffer, 706 ... Receive buffer, 707 ... FC protocol controller, 708 ... I / O bus controller, 709 ... Main memory, 710 ... Central processing unit, 711... I / O bus control unit, 712.

Claims (3)

データを格納する送信バッファと、
前記データと当該データのチェックコードを有するフレームを複数個含む情報ユニットを各フレームに分割して送信するリンク制御部と、
前記送信バッファのデータを、リンク上のビットレートよりも高速で読み出し、前記読み出したデータのチェックコードをチェックコード生成初期値を基に生成するとともに、当該生成結果を保持する前記チェックコード生成回路と、
前記チェックコード生成回路で生成されたチェックコードを判別し、前記判別結果に従って前記リンク制御部と前記チェックコード生成回路に対する処理を行うプロトコル制御部と、を有し、
前記プロトコル制御部は、
前記チェックコード生成回路で生成されたチェックコードが複数の情報ユニットに跨っている場合、前記情報ユニット毎の送信を前記リンク制御部に要求し、前記チェックコード生成回路で前記各情報ユニットに対応して生成された生成結果のうち、先の生成結果を次の情報ユニットのチェックコード生成初期値として前記チェックコード生成回路にセットし、
前記リンク制御部は、
前記チェックコード生成回路で前記各情報ユニットに対応して生成された生成結果と前記送信バッファから読み出したデータから前記各情報ユニットを構成し、当該各情報ユニットを順次複数のフレームに分割し、前記分割されたフレームの送信を、前記チェックコード生成回路によるチェックコードの生成とは非同期で行う、ことを特徴とするインタフェース制御装置。
A send buffer to store data ,
A link controller that divides and transmits an information unit including a plurality of frames having the data and a check code of the data;
The check code generation circuit that reads the data of the transmission buffer at a speed higher than the bit rate on the link, generates a check code of the read data based on a check code generation initial value, and holds the generation result ,
A check code generated by the check code generation circuit; and a protocol control unit that performs processing on the link control unit and the check code generation circuit according to the determination result ;
The protocol control unit
When the check code generated by the check code generation circuit straddles a plurality of information units, the link control unit is requested to transmit for each information unit, and the check code generation circuit corresponds to each information unit. Among the generation results generated in the above, the previous generation result is set as the check code generation initial value of the next information unit in the check code generation circuit,
The link control unit
Each information unit is configured from a generation result generated corresponding to each information unit by the check code generation circuit and data read from the transmission buffer, and each information unit is sequentially divided into a plurality of frames. An interface control device characterized in that the divided frames are transmitted asynchronously with the generation of a check code by the check code generation circuit .
データと当該データのチェックコードを含むフレームを受信するリンク制御部と、
前記リンク制御部で受信されたフレームを格納する受信バッファと、
前記受信バッファからのデータを格納するメインメモリと、
前記受信バッファと前記メインメモリとの間のデータ転送を制御する入出力バス制御部と、
前記受信バッファのフレームを前記データ転送の速度よりも高速で読み出し、前記読み出したフレームのチェックコードをチェックコードチェック初期値を基にチェックするとともに、当該チェック結果を保持するチェックコードチェック回路と、
前記受信バッファの格納結果と前記チェックコードチェック回路のチェック結果を判別し、前記判別結果に従って前記入出力バス制御部と前記チェックコードチェック回路に対する処理を行うプロトコル制御部と、を有し、
前記プロトコル制御部は、
前記受信バッファに、情報ユニットを構成する複数のフレームが複数情報ユニット分格納され、且つ前記チェックコードチェック回路のチェック対象となるチェックコードが複数の情報ユニットに跨っている場合、前記情報ユニット毎の転送を前記入出力バス制御部に要求し、前記チェックコードチェック回路で前記各情報ユニットについてチェックされたチェック結果のうち、先のチェック結果を次の情報ユニットのチェックコードチェック初期値として前記チェックコードチェック回路にセットし、
前記入出力バス制御部は、
前記チェックコードチェック回路で前記各情報ユニットについてチェックされたチェック結果と前記受信バッファから読み出したデータとから前記各情報ユニットを構成し、当該各情報ユニットを順次前記メインメモリに転送し、当該転送を、前記チェックコードチェック回路によるチェックコードのチェックとは非同期で行う、ことを特徴とするインタフェース制御装置。
A link control unit for receiving a frame including data and a check code of the data;
A receive buffer for storing frames received by the link control unit ;
A main memory for storing data from the reception buffer;
An input / output bus controller for controlling data transfer between the reception buffer and the main memory;
Read the frame of the reception buffer at a speed higher than the data transfer speed, check the check code of the read frame based on a check code check initial value, and a check code check circuit that holds the check result ;
A determination result of a storage result of the reception buffer and a check result of the check code check circuit, and a protocol control unit that performs processing on the input / output bus control unit and the check code check circuit according to the determination result;
The protocol control unit
When a plurality of frames constituting an information unit are stored in the reception buffer for a plurality of information units, and a check code to be checked by the check code check circuit straddles a plurality of information units, Requesting transfer to the I / O bus control unit, among the check results checked for each information unit by the check code check circuit, the previous check result is used as the check code check initial value of the next information unit. Set in the check circuit,
The input / output bus controller is
Each information unit is configured from the check result checked for each information unit by the check code check circuit and the data read from the reception buffer, the information units are sequentially transferred to the main memory, and the transfer is performed. An interface control device characterized in that the check code check by the check code check circuit is performed asynchronously .
データを格納する送信バッファと、
前記データと当該データのチェックコードを有するフレームを複数個含む情報ユニットを各フレームに分割して送信するとともに、前記フレームを受信するリンク制御部と、
前記送信バッファのデータを、リンク上のビットレートよりも高速で読み出し、前記読み出したデータのチェックコードをチェックコード生成初期値を基に生成するとともに、当該生成結果を保持する前記チェックコード生成回路と、
前記リンク制御部で受信されたフレームを格納する受信バッファと、
前記受信バッファからのデータを格納するメインメモリと、
前記受信バッファと前記メインメモリとの間のデータ転送を制御する入出力バス制御部と、
前記受信バッファのフレームを前記データ転送の速度よりも高速で読み出し、前記読み出したフレームのチェックコードをチェックコードチェック初期値を基にチェックするとともに、当該チェック結果を保持するチェックコードチェック回路と、
前記受信バッファの格納結果と前記チェックコードチェック回路のチェック結果および前記チェックコード生成回路で生成されたチェックコードを判別し、前記判別結果に従って前記入出力バス制御部と前記チェックコードチェック回路と前記リンク制御部および前記チェックコード生成回路に対する処理に対する処理を行うプロトコル制御部と、を有し、
前記プロトコル制御部は、
前記チェックコード生成回路で生成されたチェックコードが複数の情報ユニットに跨っている場合、前記情報ユニット毎の送信を前記リンク制御部に要求し、前記チェックコード生成回路で前記各情報ユニットに対応して生成された生成結果のうち、先の生成結果を次の情報ユニットのチェックコード生成初期値として前記チェックコード生成回路にセットし、
前記受信バッファに、情報ユニットを構成する複数のフレームが複数情報ユニット分格納され、且つ前記チェックコードチェック回路のチェック対象となるチェックコードが複数の情報ユニットに跨っている場合、前記情報ユニット毎の転送を前記入出力バス制御部に要求し、前記チェックコードチェック回路で前記各情報ユニットについてチェックされたチェック結果のうち、先のチェック結果を次の情報ユニットのチェックコードチェック初期値として前記チェックコードチェック回路にセットし、
前記リンク制御部は、
前記チェックコード生成回路で前記各情報ユニットに対応して生成された生成結果と前記送信バッファから読み出したデータから前記各情報ユニットを構成し、当該各情報ユニットを順次複数のフレームに分割し、前記分割されたフレームの送信を、前記チェックコード生成回路によるチェックコードの生成とは非同期で行い、
前記入出力バス制御部は、
前記チェックコードチェック回路で前記各情報ユニットについてチェックされたチェック結果と前記受信バッファから読み出したデータから前記各情報ユニットを構成し、当該各情報ユニットを順次前記メインメモリに転送し、当該転送を、前記チェックコードチェック回路によるチェックコードのチェックとは非同期で行う、ことを特徴とするインタフェース制御装置。
A send buffer to store data ,
A link control unit that divides and transmits an information unit including a plurality of frames having the data and a check code of the data, and receives the frame;
The check code generation circuit that reads the data of the transmission buffer at a speed higher than the bit rate on the link, generates a check code of the read data based on a check code generation initial value, and holds the generation result ,
A receive buffer for storing frames received by the link control unit ;
A main memory for storing data from the reception buffer;
An input / output bus controller for controlling data transfer between the reception buffer and the main memory;
Read the frame of the reception buffer at a speed higher than the data transfer speed, check the check code of the read frame based on a check code check initial value, and a check code check circuit that holds the check result ;
The storage result of the reception buffer, the check result of the check code check circuit, and the check code generated by the check code generation circuit are determined, and the input / output bus control unit, the check code check circuit, and the link are determined according to the determination result A protocol control unit that performs processing for the control unit and processing for the check code generation circuit,
The protocol control unit
When the check code generated by the check code generation circuit straddles a plurality of information units, the link control unit is requested to transmit for each information unit, and the check code generation circuit corresponds to each information unit. Among the generation results generated in the above, the previous generation result is set as the check code generation initial value of the next information unit in the check code generation circuit,
When a plurality of frames constituting an information unit are stored in the reception buffer for a plurality of information units, and a check code to be checked by the check code check circuit straddles a plurality of information units, Requesting transfer to the I / O bus control unit, among the check results checked for each information unit by the check code check circuit, the previous check result is used as the check code check initial value of the next information unit. Set in the check circuit,
The link control unit
Each information unit is configured from a generation result generated corresponding to each information unit by the check code generation circuit and data read from the transmission buffer, and each information unit is sequentially divided into a plurality of frames. Transmission of the divided frames is performed asynchronously with the generation of the check code by the check code generation circuit,
The input / output bus controller is
Each information unit is configured from the check result checked for each information unit by the check code check circuit and data read from the reception buffer, each information unit is sequentially transferred to the main memory, and the transfer is performed. An interface control device characterized in that the check code check by the check code check circuit is performed asynchronously .
JP2000384895A 2000-12-13 2000-12-13 Interface control device Expired - Lifetime JP4615122B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000384895A JP4615122B2 (en) 2000-12-13 2000-12-13 Interface control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000384895A JP4615122B2 (en) 2000-12-13 2000-12-13 Interface control device

Publications (3)

Publication Number Publication Date
JP2002183072A JP2002183072A (en) 2002-06-28
JP2002183072A5 JP2002183072A5 (en) 2007-12-06
JP4615122B2 true JP4615122B2 (en) 2011-01-19

Family

ID=18852259

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000384895A Expired - Lifetime JP4615122B2 (en) 2000-12-13 2000-12-13 Interface control device

Country Status (1)

Country Link
JP (1) JP4615122B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006070443A1 (en) 2004-12-27 2006-07-06 Fujitsu Limited Device and method for judging the correctness of transfer data
JP5107880B2 (en) * 2008-12-10 2012-12-26 株式会社日立製作所 Data transfer processing apparatus and method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0563756A (en) * 1991-09-02 1993-03-12 Hitachi Ltd Communication protocol controller
JPH0793243A (en) * 1993-09-27 1995-04-07 Nec Eng Ltd Channel device
JPH1155299A (en) * 1997-07-30 1999-02-26 Matsushita Electric Ind Co Ltd Data communication equipment
JP2000138731A (en) * 1998-11-04 2000-05-16 Matsushita Electric Ind Co Ltd Data communications equipment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0563756A (en) * 1991-09-02 1993-03-12 Hitachi Ltd Communication protocol controller
JPH0793243A (en) * 1993-09-27 1995-04-07 Nec Eng Ltd Channel device
JPH1155299A (en) * 1997-07-30 1999-02-26 Matsushita Electric Ind Co Ltd Data communication equipment
JP2000138731A (en) * 1998-11-04 2000-05-16 Matsushita Electric Ind Co Ltd Data communications equipment

Also Published As

Publication number Publication date
JP2002183072A (en) 2002-06-28

Similar Documents

Publication Publication Date Title
US7711871B1 (en) Interface device and method for command processing
US7743178B2 (en) Method and apparatus for SATA tunneling over fibre channel
KR100666515B1 (en) Store and forward switch device, system and method
US6862648B2 (en) Interface emulation for storage devices
US8504755B2 (en) USB 3 bridge with embedded hub
US7411958B2 (en) Method and system for transferring data directly between storage devices in a storage area network
US7912086B2 (en) Method for bridging network protocols
JPH07325775A (en) Subsystem and method for input-output communication
JPH03250946A (en) Communication device
JPH07325767A (en) Subsystem and method for input-output communication
WO1998015896A1 (en) High speed heterogeneous coupling of computer systems using channel-to-channel protocol
JPS6278659A (en) Channel system
US7460531B2 (en) Method, system, and program for constructing a packet
JP2003242097A (en) Disk control device having cross call function
JP6734824B2 (en) Storage system
JP4615122B2 (en) Interface control device
US6684274B1 (en) Host bus adapter based scalable performance storage architecture
JP2723022B2 (en) Disk device interface and control method thereof
US20070076685A1 (en) Programmable routing for frame-packet based frame processing
JP4148663B2 (en) Data assurance system
JP4432388B2 (en) I / O controller
US20040151191A1 (en) Method and apparatus for processing raw fibre channel frames
JP3500565B2 (en) Message division communication method and communication system
JP4930554B2 (en) I / O controller
JP2001034567A (en) External storage subsystem and control method of external storage subsystem

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071019

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20071019

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071211

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100818

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101020

R150 Certificate of patent or registration of utility model

Ref document number: 4615122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131029

Year of fee payment: 3

EXPY Cancellation because of completion of term