JP5494028B2 - スイッチ装置 - Google Patents

スイッチ装置 Download PDF

Info

Publication number
JP5494028B2
JP5494028B2 JP2010051823A JP2010051823A JP5494028B2 JP 5494028 B2 JP5494028 B2 JP 5494028B2 JP 2010051823 A JP2010051823 A JP 2010051823A JP 2010051823 A JP2010051823 A JP 2010051823A JP 5494028 B2 JP5494028 B2 JP 5494028B2
Authority
JP
Japan
Prior art keywords
frame
received
data
controller
switch 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 - Fee Related
Application number
JP2010051823A
Other languages
English (en)
Other versions
JP2011188272A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010051823A priority Critical patent/JP5494028B2/ja
Priority to US13/032,095 priority patent/US8625585B2/en
Publication of JP2011188272A publication Critical patent/JP2011188272A/ja
Application granted granted Critical
Publication of JP5494028B2 publication Critical patent/JP5494028B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/02Arrangements for detecting or preventing errors in the information received by diversity reception
    • H04L1/06Arrangements for detecting or preventing errors in the information received by diversity reception using space diversity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、データを転送するスイッチ装置に関する。
複数のサーバ装置によるストレージ装置の共有やデータのバックアップによる信頼性向上のため、複数のサーバ装置と複数のストレージ装置とのデータを転送するスイッチ装置が用いられる。
スイッチ装置は複数のサーバ装置のいずれかからデータを受信し、受信したデータを複数のストレージ装置のいずれかに送信するための複数の伝送経路を有する。スイッチ装置がサーバ装置から受信したデータは、スイッチ装置に実装されたポートモジュールを介してスイッチ装置内部の伝送経路に送信される。ポートモジュールはスイッチ装置内部の伝送経路と外部装置との接続を切り替えるスイッチ回路である。
ポートモジュールはデータを送受信する。外部装置からデータを受信したポートモジュールは、スイッチ装置内部のコントローラにデータを送信する。コントローラはポートモジュールから受信したデータに含まれる情報に基づいて、送信先の装置に接続されたポートモジュールへデータを送信する。コントローラはスイッチ装置内部に複数実装されている。ポートモジュールは複数のコントローラのうちの1つを選択し、データを送信する。よって1つのポートモジュールと他のポートモジュールとの伝送経路は複数存在する。
コントローラからデータを受信したポートモジュールは、ポートモジュールに接続されたストレージ装置に対し、受信したデータを送信する。
スイッチ装置内部に複数のコントローラが存在する場合、1つのコントローラが故障しても、他のコントローラを用いることにより、スイッチ装置はデータの送受信処理を継続することが出来る。しかし、データの送受信中にコントローラが故障すると、故障発生時に送受信中であったデータは破壊される。
以下の特許文献には冗長化されたシステムに信号を伝播させる技術が開示されている。
特表2005−539284号公報 国際公開第91/08632号
本発明の一実施例では、データの送受信中におけるコントローラでの故障発生に関わらず、データを正確に送受信するスイッチ装置を提供することを目的とする。
上記課題を解決するため、複数のスイッチ回路と、複数のコントローラを有するスイッチ装置であって、該複数のコントローラに含まれる第1および第2のコントローラの各々は、前記複数のスイッチ回路に含まれる第1のスイッチ回路から受信したフレーム該フレームに含まれる宛先情報に対応した前記複数のスイッチ回路に含まれる第2のスイッチ回路へ転送し、前記第1のスイッチ回路外部からデータを受信した際、該受信したデータを含むフレームを先発フレームとして前記第1のコントローラへ送信すると共に、前記先発フレームの送信から所定時間後に、該受信したデータを含むフレームを後発フレームとして前記第2のコントローラへ送信し、前記第2のスイッチ回路は、前記第1のコントローラより前記先発フレームを受信した際、受信した前記先発フレームに誤りが無い場合、受信した前記先発フレームに含まれるデータを外部へ送信し、受信た前記先発フレームに誤りがありかつ前記第2のコントローラから受信した前記後発フレームに誤りが無い場合、前記第2のコントローラから受信した前記後発フレームに含まれるデータを外部へ送信し、前記所定時間は、前記第1のスイッチ回路から前記第2のスイッチ回路へ送信されるフレームの列が、前記先発フレーム、前記後発フレーム、および、次の外部からのデータを含む先発フレームの順に時間差を置いて前記第2のスイッチ回路へ到着するように設定される
実施形態によれば、データの送受信中におけるコントローラでの故障発生に関わらず、データを正確に送受信するスイッチ装置を提供することが出来る。
スイッチ装置のブロック図である。 先発フレームおよび後発フレームのタイミングチャート図である。 フレームの形式図である。 ポートモジュールの詳細ブロック図である。 フレーム送信時のスイッチ回路のフローチャート図である。 フレーム受信時のスイッチ回路のフローチャート図である。 制御情報のテーブル図である。図7のAはフレームを送信するポートモジュールに記憶される制御情報のテーブル図である。図7のBはフレームを受信するポートモジュールに記憶される制御情報のテーブル図である。
以下、本実施の形態について説明する。なお、各実施形態における構成の組み合わせも本発明の実施形態に含まれる。
図1は本実施例におけるスイッチ装置1のブロック図である。スイッチ装置1は1つのポートモジュールで受信したデータのヘッダ情報などに応じて、そのデータを送信するポートモジュールを切り替える。
スイッチ装置1はポートモジュール11、14、87、88、89、90、コントローラ12、13を有する。ポートモジュール11、14、87、88、89、90はスイッチ装置1の外部から受信したデータを他のポートモジュールに送信し、他のポートモジュールから受信したデータをスイッチ装置1の外部へ送信する。ポートモジュール11、14、87、88、89、90にはサーバ装置やストレージ装置が接続される。各ポートモジュールはコントローラ12、13を介して互いに接続されている。図1において、ポートモジュール11とポートモジュール14との間の接続状態を図示し、その他のポートモジュール間の接続状態は省略する。スイッチ装置1は2つ以上のポートモジュール、2つ以上のコントローラを有している。ポートモジュールおよびコントローラはそれぞれ挿抜により交換可能である。ポートモジュールの11、14、87、88、89、90はそれぞれ同一構成および同一機能を有する。よって本実施例ではポートモジュール11、14を詳細に説明し、他のポートモジュールの説明を省略する。
本実施例において、ポートモジュール11にはサーバ装置2、3が接続され、ポートモジュール14にはストレージ装置4、5が接続される。ポートモジュール11と14は2つの伝送路7、8で接続されている。伝送路7はコントローラ12を経由する。伝送路8はコントローラ13を経由する。スイッチ装置1はサーバ装置2または3から受信したデータをストレージ装置4または5に送信し、ストレージ装置4または5から受信したデータをサーバ装置2または3に送信する。
ポートモジュール11は外部ポート34、35、内部ポート38、39、スイッチ回路15を有する。外部ポート34、35はスイッチ装置1の外部装置とポートモジュール11とを接続するポートである。外部ポート34はサーバ装置2に対し伝送路33で接続されている。外部ポート35はサーバ装置3に対し伝送路10で接続されている。各外部ポートで受信したデータはスイッチ回路15により検知される。
内部ポート38、39はスイッチ装置1の内部において、ポートモジュール11とコントローラ12、13を接続するポートである。内部ポート38はコントローラ12に対し伝送路7で接続されている。内部ポート39はコントローラ13に対し伝送路8で接続されている。各内部ポートで受信したデータは、スイッチ回路15により検知される。
ポートモジュール14は外部ポート85、86、内部ポート83、84、スイッチ回路82を有する。外部ポート85、86はスイッチ装置1の外部装置とポートモジュール14とを接続するポートである。外部ポート85はストレージ装置4に接続されている。外部ポート86はストレージ装置5に接続されている。各外部ポートで受信したデータはスイッチ回路82により検知される。
内部ポート83、84はスイッチ装置1の内部において、ポートモジュール14とコントローラ12、13を接続するポートである。内部ポート83はコントローラ12に接続されている。内部ポート84はコントローラ13に接続されている。各内部ポートで受信したデータは、スイッチ回路82により検知される。ポートモジュール11、14は同一構成および同一機能を有するので、機能の説明はポートモジュール11を中心に行う。
スイッチ回路15は内部ポート38、39または外部ポート34、35のいずれのポートでデータを受信したかを判断し、データを受信したポートに応じてデータの処理内容を切り替える。外部ポート34または35でデータを受信した場合、スイッチ回路15は受信したデータを複製し、複製したデータの一方を伝送路7で他のスイッチ回路へ送信し、複製したデータの他方を一定時間遅延させて伝送路8で他のスイッチ回路へ送信する。
一方、内部ポート38、39でデータを受信した場合、スイッチ回路15は他のスイッチ回路で複製されたデータの一方をエラー判定し、データが正常であればそのデータを外部へ出力する。データが異常であれば他方のデータをエラー判定し、他方のデータが正常であればそのデータを外部へ出力する。スイッチ回路15についての詳細は後述する。
コントローラ12、13はスイッチ装置1の全体の設定、状態管理、動作制御などを実行する。コントローラ12、13は1つのポートモジュールから受信したデータをそのデータに含まれる宛先情報に対応した他のポートモジュールへ転送する。
コントローラ12は、CPU(Central Processing Unit)16、転送回路17を有する。CPU16は転送回路17の動作制御を行う。転送回路17は1つのポートモジュールから受信したデータをそのデータに含まれる宛先情報に対応した他のポートモジュールへ転送する。
コントローラ13は、CPU80、転送回路81を有する。CPU80は転送回路81の動作制御を行う。転送回路81は転送回路17と同一の機能を有する。転送回路81はCPU80の命令に応じて受信したデータの送信先ポートモジュールを切り替える。
本実施例において、サーバ装置とストレージ装置との間のデータのやり取りはフレームと呼ばれる単位で行う。例えばあるデータを読み込むコマンドがサーバ装置からストレージ装置に送られた場合、その読み込みコマンドに対応してストレージ装置が出力するデータをシーケンスという。シーケンスをある一定のデータ長に分割し、付加的な情報を追加したものをそれぞれフレームという。付加的な情報としてアドレス情報やヘッダ情報がある。フレーム構造の詳細な説明は後述する。
サーバ装置2から送信されたフレームAをスイッチ装置1経由でストレージ装置4が受信する手順を以下に説明する。ポートモジュール11はサーバ装置2からフレームAを受信する。ポートモジュール11は受信したフレームAに基づいてフレームAx、Ayを生成する。
ポートモジュール11はフレームAxを内部ポート38経由でコントローラ12に送信する。コントローラ12はフレームAxのヘッダ情報に基づき、フレームAxの宛先がポートモジュール14であることを確認すると、受信したフレームAxをポートモジュール14に送信する。複製したフレームのうち、先に送信するフレームを先発フレームと呼ぶ。またポートモジュール11は先発フレームAxの送信から一定時間経過後にフレームAyを内部ポート39経由でコントローラ13へ送信する。複製したフレームのうち、後で送信するフレームを後発フレームと呼ぶ。先発フレームAxと後発フレームAyの送信タイミングをずらすことにより、各フレームAx、Ayを受信するポートモジュールの受信処理を分散させることができる。コントローラ13は後発フレームAyのヘッダ情報に基づき、フレームAyの宛先がポートモジュール14であることを確認すると、受信した後発フレームAyをポートモジュール14に送信する。
内部ポート83で先発フレームAxを受信したポートモジュール14は、受信したフレームに異常がないかCRC(Cyclic Redundancy Check)などのエラーチェック処理を行う。エラーチェック処理の結果、先発フレームAxが正常であれば、ポートモジュール14はストレージ装置4に対し、先発フレームAxをフレームAとして出力する。
先発フレームAxをエラーチェック処理した結果、先発フレームAxが異常であった場合、ポートモジュール14は内部ポート84で受信した後発フレームAyのエラーチェック処理を行う。エラーチェック処理の結果、後発フレームAyが正常であれば、ポートモジュール14はストレージ装置4に対し、後発フレームAyをフレームAとして出力する。ポートモジュール14の処理の詳細については後述する。
図2は先発フレームおよび後発フレームのタイミングチャート図である。矢印7、8はポートモジュール11から出力されるフレームを伝送する伝送路7、8を示す。矢印A1x、A2x、A3xはポートモジュール11から先発フレームA1x、A2x、A3xを伝送路7へ出力するタイミングを示す。矢印A1y、A2y、A3yはポートモジュール11から後発フレームA1y、A2y、A3yを伝送路8へ出力するタイミングを示す。
図2において時間T1は、先発フレームA1xを送信してから送信した先発フレームに対応する後発フレームA1yを送信するまでの待機時間である。時間T1は伝送路7、8の伝播誤差やコントローラ12、13での処理時間のずれなどを考慮し、先発フレームA1xがポートモジュール14に到達した後に後発フレームA1yがポート14に到達するように設定する。すなわち時間T1は、スイッチ回路15が先にデータを送信するコントローラ12を経由しスイッチ回路82に到達するまでのデータ転送時間と、スイッチ回路15が後にデータを送信するコントローラ13を経由しスイッチ回路82に到達するまでのデータ転送時間との差分以上の時間である。
図2において時間T2は、先の順番の後発フレームA1yを送信してから次の先発フレームA2xを送信するまでの待機時間である。時間T2は伝送路7、8の伝播誤差やコントローラ12、13での処理時間のずれなどを考慮し、先の順番の後発フレームA1yがポートモジュール14に到達した後に次の先発フレームA2xがポートモジュール14に到達するように設定する。
以上の通り時間T1、T2を設定することにより、1つのシーケンスにおけるフレームの順番を崩すことなくスイッチ装置1の外部装置へフレームを送信することが出来る。フレームの順番を崩さずに外部装置へ送信することにより、外部装置においてフレームの並び替えの必要性をなくし、外部装置の処理負荷を軽減することが出来る。またポートモジュールがフレームを受信するタイミングを適度にずらすことにより、受信側のポートモジュールでのCRCチェック処理や外部へのフレーム出力処理などの処理タイミングを分散させることが出来る。
図3は先発フレームA1xの形式図である。先発フレームA1xはシーケンスに含まれる複数のフレームのうちの一つであり、他の先発フレームおよび後発フレームも同一構成を有する。先発フレームA1xはSOF(Start of Frame Delimiter)41、フラグ59、FH(Frame Header)42、オプショナルヘッダ44、ペイロード45、CRC46、EOF(End of Frame Delimiter)47を有する。
SOF41は先発フレームA1xの開始位置を示すデリミタである。デリミタはフレームの区切り位置を示す符号である。フラグ59は複製後のフレームに挿入されるフラグである。フラグ59は先発フレームA1xと後発フレームA1yとを区別するために用いられる識別子である。フラグ59の値は、例えば先発フレームA1xの場合には論理値‘1’とし、後発フレームA1yの場合には論理値‘0’とする。フラグ59を先発フレームA1xおよび後発フレームA1yに挿入することにより、受信側のポートモジュールは、受信したフレームが先発フレームA1xか後発フレームA1yかを識別することが出来る。
FH42はフレームの送信先アドレスやシーケンスにおけるフレームの順番などの情報を有する。FHについての詳細は後述する。オプショナルヘッダ44、ペイロード45はデータフィールドを構成する。オプショナルヘッダ44は予備的に設けられたヘッダ領域である。ペイロード45は外部装置からのリクエストに応答するデータの一部を記憶する領域である。フラグ59はオプショナルヘッダ44の領域に設けても良い。CRC46はフレームヘッダとデータフィールドを対象としたビット誤り検出用チェックコードである。EOF47はフレームの終了位置を示すデリミタである。
FH42はフレームを識別するための識別情報である。FH42はR−CTL(Routing Control)48、CS−CTL(Class Specific Control)49、TYPE(Data Structure Type)50、SEQ−ID(Sequence Identifier)51、OX−ID(Originator Exchange Identifier)52、D−ID(Destination Identifier)53、S−ID(Source Identifier)54、F−CTL(Frame Control)55、DF−CTL(Data Field Control)56,SEQ−CNT(Sequence Count)57、RX−ID(Responder Exchange Identifier)58を有する。
R−CTL48はリンク制御フレーム、リンクデータフレーム、データフレーム等のフレームの種類である。CS−CTL49はフレームの属性やフレーム送信の優先権を示す。TYPE50はフレームがリンク制御フレームの場合、リンク制御のコマンドコードを示す。SEQ−ID51は混在転送時のフレームの所属するシーケンスを示す。OX−ID52はオリジネータが発行するエクスチェンジ番号である。D−ID53はフレームの宛先ポートアドレスである。S−ID54はフレームの送信元ポートアドレスである。F−CTL55はフラグ、コードよりなるフレーム転送シーケンスの制御に用いられる。DF−CTL56はオプショナルヘッダの有無、およびオプショナルヘッダを使用する場合のオプショナルヘッダの長さを表示する。SEQ−CNT57は1つのシーケンスの中のフレームの順番、または同じエクスチェンジ中のシーケンスの順番を表示する。SEQ−CNT57は1つのフレームを識別する固有の番号である。RX−ID58はレスポンダが発行するエクスチェンジ番号を表示する。
以上の通り送信側のポートモジュールにおけるスイッチ装置1の内部で外部から受信したフレームを複製し、フラグ59を挿入することにより、受信側のポートモジュールは先発フレームA1x、後発フレームA1yを判別することが出来る。
図4はポートモジュール11の詳細ブロック図である。前述の通りポートモジュール11はスイッチ回路15、外部ポート34、35、内部ポート38、39を有する。スイッチ回路15は記憶部30、制御部31、スイッチング処理部32を有する。他のポートモジュール14、87、88、89、90はポートモジュール11と同一の構成および同一の機能を有するため、その説明を省略する。
スイッチ回路15はフレームの送信機能、受信機能のいずれの機能も有する。内部ポートまたは外部ポートのいずれのポートからフレームを受信するかによって、スイッチ回路15は異なる処理を実行する。内部ポートでフレームを受信したときの処理、および外部ポートでフレームを受信したときの処理の詳細については後述する。
スイッチング処理部32は外部ポート34、35、内部ポート38、39のいずれのポートでフレームを受信したかを検知する。スイッチング処理部32は検知結果を検知信号28として制御部31に送信する。スイッチング処理部32は受信したフレームを記憶部30にフレーム26として書き込む。スイッチング処理部32は制御部31から受信した制御信号29に応じて記憶部30から読み出したフレーム27を外部ポート34、35、内部ポート38、39のいずれかのポートへ読み出す。
記憶部30はスイッチング処理部32から書き込まれたフレームを記憶する。記憶部30は先発フレーム、後発フレームの送信状態または受信状態を管理する制御情報をフレームの識別情報に対応させて記憶する。記憶部30は制御部31から受信した制御信号36に応じて、記憶したフレームをフレーム27としてスイッチング処理部32へ出力する。記憶部30は記憶したフレームを出力すると、制御部31から受信した制御信号36に対し、通知信号37を制御部31へ出力する。
制御部31はスイッチング処理部32から受信した検知信号28に応じて記憶部30およびスイッチング処理部32を制御する。制御部31は制御信号29によってフレームを出力する内部ポートを制御する。制御部31は制御信号36によって記憶部30が記憶するフレームの読み出しタイミングを制御する。
以下にポートモジュール11における先発フレーム、後発フレームの送信動作を図5のフローチャートに基づいて説明する。またポートモジュール11における先発フレーム、後発フレームの受信動作を図6のフローチャートに基づいて説明する。他のポートモジュールはポートモジュール11と同一の構成および機能を有するため、その説明を省略する。
図5はポートモジュール11が外部装置から受信したフレームを他のポートモジュールに送信する時のスイッチ回路15の処理を表すフローチャート図である。外部装置から外部ポート34または35にフレームを受信すると、スイッチ回路15のスイッチング処理部32は外部ポートでフレームを受信したことを検知し、検知信号28を制御部31に送信する(S1)。
スイッチング処理部32は受信したフレームをフレーム26として記憶部30に書き込む。記憶部30は書き込まれたフレーム26を記憶する。外部ポートによりフレームを受信した旨の検知信号28を受信した制御部31は、記憶部30に記憶されたフレーム26を記憶部30の別のアドレスに複製する(S2)。
制御部31は複製したフレームにそれぞれフラグ59を図3の通り挿入する(S3)。前述の通り先発フレームと後発フレームとの区別が可能となるように、制御部31は複製したフレームに対し、別個の論理値を有するフラグ59を挿入する。
制御部31は先発フレームおよび後発フレームが送信済であるか否かを示す制御情報をフレーム毎に記憶部30に記憶させる(S4)。制御情報はフレームの送信状態を管理するための管理テーブルとして記憶部30に記憶される。各フレームの制御情報は、そのフレームに対応する識別情報であるFH42と共に管理テーブルに記憶される。管理テーブルにはFH42のすべての情報を記憶する必要は無く、フレームを特定できる情報のみでもよい。制御情報は先発フレームおよび後発フレームが送信済であるか否かを示すフラグを有する。制御情報生成時には、ポートモジュール11はまだフレームを送信していないため、先発フレーム、後発フレームの送信済フラグはいずれもOFFである。制御情報についての詳細は後述する。
制御部31は記憶部30に記憶した制御情報を参照し、先発フレームの送信前に、先の順番の後発フレームが送信済であるか否かを制御情報のフラグ値に基づいて判定する(S5)。先の順番の後発フレームが送信済である場合あるいは先の順番の後発フレームが無い場合(S5:YES)、制御部31は次の先発フレームを読み出す制御信号36を記憶部30に送信する。制御信号36を受信した記憶部30は、記憶した先発フレームをスイッチング処理部32へ出力する。制御部31はスイッチング処理部32に対し、記憶部30から読み出したフレーム27を内部ポート38、39の何れかから送信するように制御信号29を送信する(S6)。
先発フレームを出力した記憶部30は、制御部31に通知信号37を出力する。通知信号37を受信した制御部31は、制御情報の先発フレームの送信済フラグをONにする制御信号36を記憶部30に出力する(S7)。制御部31は先発フレームが送信されたことを通知信号37により確認後、後発フレームを送信する制御信号36を記憶部30に送信することにより、1つのシーケンスにおけるフレームの順番を守ることが出来る。
先の順番の後発フレームが送信済でない場合(S5:NO)、制御部31は先の順番の後発フレームを出力するよう記憶部30に制御信号36を送信する(S11)。先の順番の後発フレームを出力した記憶部30は、制御部31にフレームの送信完了を通知する通知信号37を出力する。通知信号37を受信した制御部31は、記憶部30に記憶した制御情報において、先の順番の後発フレームの送信済フラグをONにする(S12)。
制御部31は送信した先発フレームのFH42を参照し、送信した先発フレームがその先発フレームの属するシーケンスの最終フレームか否かを判定する(S8)。送信した先発フレームが最終フレームであった場合(S8:YES)、制御部31は先発フレームを出力してから一定時間経過後に後発フレームを出力するよう記憶部30に制御信号36を送信する。制御信号36を受信した記憶部30は後発フレームをスイッチング処理部32に出力する(S9)。後発フレームを出力後、記憶部30は後発フレームを出力した旨の通知信号37を制御部31に出力する。通知信号37を受信した制御部31はスイッチング処理部32に対し、内部ポート38、39のうち先発フレームを送信した内部ポートと別の内部ポートへ後発フレームを送信するように制御信号29を送信する。制御信号29を受信したスイッチング処理部32は、受信した後発フレームを制御部31に指定された内部ポートへ送信する。
記憶部30から後発フレームを出力した旨の通知信号37を受信した制御部31は制御情報における後発フレームの送信済フラグをONにする(S10)。
ステップS8において先発フレームが最終フレームで無かった場合(S8:NO)、スイッチ回路15は再びステップS1からのフレーム送信処理を繰り返す。
以上の通り外部装置から受信したフレームを処理することにより、スイッチ回路15はスイッチ装置1の内部の異なる伝送路に対し、異なるタイミングで先発フレームおよび後発フレームを送信することが出来る。
図6はスイッチ装置1内の他のポートモジュールから受信したフレームをスイッチ装置1の外部に送信する時のスイッチ回路15の処理を表すフローチャート図である。なお本実施例においてすべてのポートモジュールにおけるスイッチ回路はスイッチ回路15と同一の構成および機能を有するため、その説明を省略する。また、先発受信済フラグ、後発受信済フラグはそれぞれOFFを示す値とする。
他のポートモジュールから内部ポート38または39にフレームを受信すると、スイッチ回路15のスイッチング処理部32は内部ポートによりフレームを受信したことを検知し、検知信号28を制御部31に送信する。スイッチング処理部32は受信したフレーム26を記憶部30に送信する。制御部31は記憶部30に記憶されたフラグ59を読み出し、記憶部30に書き込まれたフレームが先発フレームであることを認識する(S20)。
制御部31は先発フレームのCRC46に基づき、先発フレームのデータフィールド43に格納されたデータのエラーチェック処理であるCRC処理を行う(S21)。
CRCの結果、制御部31は先発フレームのデータが正しいと判断した場合(S22:YES)、先発受信済フラグをONにした制御情報を記憶部30に書き込む(S23)。制御部31は先発受信済フラグの値を参照することにより、受信した先発フレームのデータが正しいか否かを確認することが出来る。
制御部31は先発フレームのフラグ59を削除する(S24)。制御部31は記憶部30に対し、フラグ59を削除したフレーム27をスイッチング処理部32に送信するように制御信号36を出力する。制御部31はスイッチング処理部32に対し、受信したフレーム27を外部ポート34または35のいずれかへ出力するように制御信号29を出力する。制御信号29を受信したスイッチング処理部32は、受信したフレーム27を外部ポート34または35のいずれかへ出力する(S25)。
一方、制御部31は先発フレームのデータが誤っていると判断した場合、または先発フレームを受信していない場合(S22:NO)、先発受信済フラグをOFFのまま保持する(S26)。
続いてスイッチング処理部32は、内部ポート38または39からフレームを受信する。内部ポートからフレームを受信したスイッチング処理部32は、制御部31に検知信号28を送信する。スイッチング処理部32は記憶部30に対し、受信したフレーム26を記憶部30に送信する。制御部31は記憶部30に記憶したフラグ59を読み出し、記憶部30に記憶されたフレームが後発フレームであることを認識する(S27)。
制御部31は記憶部30に記憶された後発フレームのCRC46に基づいてデータフィールド43のデータのCRC処理を実行する(S28)。
エラーチェックの結果、後発フレームのデータが正しい場合(S29:YES)、制御部31は後発受信済フラグがONになるように、記憶部30に記憶した制御情報を書き換える(S30)。
一方、エラーチェックの結果、後発フレームのデータが誤っている場合(S29:NO)、記憶部30に記憶した制御情報の後発受信済フラグをOFFに書き換える(S31)。制御部31は後発受信済フラグの値がOFFである場合、後発フレームの正しいデータが受信できていないことを確認することが出来る。
データが正常な後発フレームを受信後、制御部31は記憶部30に記憶された制御情報を参照する。制御部31は制御情報の先発受信済フラグがONの場合(S32:YES)、先発フレームは外部に送信済であると判断し、ステップS35以降を処理する。一方、制御部31は制御情報の先発受信済フラグがOFFの場合(S32:NO)、先発フレームは外部に未送信であると判断し、後発フレームのフラグ59を削除する(S33)。制御部31はフラグ59を削除した後発フレームをスイッチング処理部32に送信するよう記憶部30に制御信号36を送信する。また制御部31はスイッチング処理部32に対し、記憶部30から受信したフレーム27を外部ポート34または35から外部装置へ送信するよう制御信号29を出力する(S34)。
本実施例において、制御情報における先発送信済フラグ、後発送信済フラグがいずれもOFFの場合、そのフレームは外部装置へ送信されない。
制御部31は記憶部30に記憶した後発フレームのFH42を読み出す。制御部31はFH42を参照し、全フレームを処理したか否かを確認する(S35)。全フレームを処理済の場合(S35:YES)、スイッチ回路15はフレームの受信処理を終了する。一方、全フレームを処理していない場合(S35:NO)、スイッチ回路15はステップS20に戻り、次の先発フレームの受信処理を開始する(S20)。
以上の通り他のポートモジュールから受信したフレームを処理することにより、スイッチ回路15はスイッチ装置1の外部に接続された外部装置に対し、受信した先発フレームまたは後発フレームのうち正しいデータを受信出来たフレームを送信することが出来る。
なお、図6の実施例では先発フレームの受信処理後に後発フレームを受信処理するが、先発フレームを受信前に後発フレームを受信した場合、ステップS27から処理を開始しても良い。ステップS27から処理を開始することにより、制御部31は先発フレームを受信しなくても後発フレームを受信処理することが出来る。
図7は制御情報テーブルのテーブル図である。図7のAはフレームを送信するポートモジュールに記憶される制御情報テーブルのテーブル図である。図7のBはフレームを受信するポートモジュールに記憶される制御情報テーブルのテーブル図である。
図7のAに示す制御情報テーブル70は本実施例において、フレーム送信側のポートモジュール11に実装された記憶部30に記憶される。制御情報テーブル70の生成および記憶部30への記憶は制御部31により実行される。
制御情報テーブル70はFH42、先発送信済フラグ71、後発送信済フラグ72を有する。FH42は外部装置から受信したフレームのFH42をコピーしたものである。
先発送信済フラグ71は先発フレームが送信済であるか否かを示すフラグである。例えば先発送信済フラグ71の値が‘1’の場合、先発フレームは送信済であると判定し、先発送信済フラグ71の値が‘0’の場合、先発フレームは未送信であると判定することが出来る。
後発送信済フラグ72は後発フレームが送信済であるか否かを示すフラグである。例えば後発送信済フラグ72の値が‘1’の場合、後発フレームは送信済であると判定し、後発送信済フラグ72の値が‘0’の場合、後発フレームは未送信であると判定することが出来る。
図7のBに示す制御情報テーブル75は本実施例において、フレーム送信側のポートモジュール14に実装された記憶部30に記憶される。制御情報テーブル75の生成および記憶部30への記憶は制御部31により実行される。
制御情報テーブル75はFH42、先発受信済フラグ76、後発受信済フラグ77を有する。FH42は外部装置から受信したフレームのFH42をコピーしたものである。
先発受信済フラグ76は先発フレームが受信済であるか否かを示すフラグである。例えば先発受信済フラグ76の値が‘1’の場合、先発フレームは受信済であると判定し、先発受信済フラグ76の値が‘0’の場合、先発フレームは未受信であると判定することが出来る。
後発受信済フラグ77は後発フレームが受信済であるか否かを示すフラグである。例えば後発受信済フラグ77の値が‘1’の場合、後発フレームは受信済であると判定し、後発受信済フラグ77の値が‘0’の場合、後発フレームは未受信であると判定することが出来る。
以上の通りフレーム送信側、受信側のポートモジュールにそれぞれ制御情報テーブルを記憶させることにより、ポートモジュール間の異なる伝送路を異なるタイミングで伝播する先発フレームおよび後発フレームの送受信を管理することが出来る。
1 スイッチ装置
2、3 サーバ装置
4、5 ストレージ装置
7、8 伝送路
10、33 伝送路
11、14、87、88、89、90 ポートモジュール
12、13 コントローラ
15、82 スイッチ回路
16、80 CPU
17、81 転送回路
30 記憶部
31 制御部
32 スイッチング処理部
34、35、85、86 外部ポート
38、39、83、84 内部ポート
42 FH
59 フラグ
70、75 制御情報テーブル
71 先発送信済フラグ
72 後発送信済フラグ
76 先発受信済フラグ
77 後発受信済フラグ

Claims (6)

  1. 複数のスイッチ回路と、複数のコントローラを有するスイッチ装置であって、
    該複数のコントローラに含まれる第1および第2のコントローラの各々は、前記複数のスイッチ回路に含まれる第1のスイッチ回路から受信したフレーム該フレームに含まれる宛先情報に対応した前記複数のスイッチ回路に含まれる第2のスイッチ回路へ転送し、
    前記第1のスイッチ回路
    外部からデータを受信した際、該受信したデータを含むフレームを先発フレームとして前記第1のコントローラへ送信すると共に、前記先発フレームの送信から所定時間後に、該受信したデータを含むフレームを後発フレームとして前記第2のコントローラへ送信し、
    前記第2のスイッチ回路は、
    前記第1のコントローラより前記先発フレームを受信した際、受信した前記先発フレームに誤りが無い場合、受信した前記先発フレームに含まれるデータを外部へ送信し、受信した前記先発フレームに誤りがありかつ前記第2のコントローラから受信した前記後発フレームに誤りが無い場合、前記第2のコントローラから受信した前記後発フレームに含まれるデータを外部へ送信し、
    前記所定時間は、前記第1のスイッチ回路から前記第2のスイッチ回路へ送信されるフレームの列が、前記先発フレーム、前記後発フレーム、および、次の外部からのデータを含む先発フレームの順に時間差を置いて前記第2のスイッチ回路へ到着するように設定される
    ことを特徴とするスイッチ装置。
  2. 該所定時間は、前記第1のスイッチ回路から送信されるフレームが前記第1のコントローラを経由して前記第2のスイッチ回路に到達するまでのフレーム転送時間と、前記第1のスイッチ回路から送信されるフレームが前記第2のコントローラを経由して前記第2のスイッチ回路に到達するまでのフレーム転送時間との差分以上の時間である
    ことを特徴とする、請求項1に記載のスイッチ装置。
  3. 前記第1のスイッチ回路は、外部から受信したデータを記憶する記憶部を有し、
    外部からデータを受信した際、該データを該記憶部に記憶させ、該記憶部に記憶したデータおよび先の送信を示す識別子を含む前記先発フレームを前記第2のコントローラへ送信するとともに、前記先発フレームの送信から前記所定時間後に、該記憶部に記憶したデータおよび後の送信を示す識別子を含む前記後発フレームを前記第2のコントローラへ送信し、
    前記第2のスイッチ回路は、前記第1のコントローラより受信した先の送信を示す識別子を含む前記先発フレームに誤りが無い場合、受信した前記先発フレームに含まれるデータを外部へ送信し、受信した前記先発フレームに誤りがあり、前記第2のコントローラから受信した後の送信を示す識別子を含む前記後発フレームに誤りが無い場合に、前記第2のコントローラから受信した前記後発フレームに含まれるデータを外部へ送信する
    ことを特徴とする、請求項1に記載のスイッチ装置。
  4. 該記憶部は記憶するデータが送信済みであることを示す制御情報に、該データを識別する識別情報を対応させて記憶し、
    該制御部は該制御情報に基づいて該データが送信済みであることを確認後、次のデータを送信する
    ことを特徴とする、請求項3に記載のスイッチ装置。
  5. 複数のスイッチ回路と、複数のコントローラを有するスイッチ装置の制御方法であって、
    外部からデータを前記複数のスイッチ回路に含まれる第1のスイッチ回路で受信し、
    該受信したデータを含むフレームを先発フレームとして前記複数のコントローラに含まれる第1のコントローラへ送信すると共に、前記先発フレームの送信から所定時間後に、該受信したデータを含むフレームを後発フレームとして前記複数のコントローラに含まれる第2のコントローラへ送信し、
    前記第1のスイッチ回路ら前記第1および第2のコントローラでそれぞれ受信した前記先発フレームおよび前記後発フレーム、前記先発フレームおよび前記後発フレームに含まれる宛先情報に対応した前記複数のスイッチ回路に含まれる第2のスイッチ回路へ転送し、
    前記第1のコントローラより送信された前記先発フレーム前記第2のスイッチ回路で受信し、受信した前記先発フレームに誤りが無い場合、該受信した前記先発フレームに含まれるデータを外部へ送信し、受信した前記先発フレームに誤りがありかつ前記第2のコントローラから受信した前記後発フレームに誤りが無い場合、前記第2のコントローラから受信した前記後発フレームに含まれるデータを外部へ送信し、
    前記所定時間は、前記第1のスイッチ回路から前記第2のスイッチ回路へ送信されるフレームの列が、前記先発フレーム、前記後発フレーム、および、次の外部からのデータを含む先発フレームの順に時間差を置いて前記第2のスイッチ回路へ到着するように設定される
    ことを特徴とするスイッチ装置の制御方法。
  6. 該所定時間は、前記第1のスイッチ回路から送信されるフレームが前記第1のコントローラを経由して前記第2のスイッチ回路に到達するまでのフレーム転送時間と、前記第1のスイッチ回路から送信されるフレームが前記第2のコントローラを経由して前記第2のスイッチ回路に到達するまでのフレーム転送時間との差分以上の時間である
    ことを特徴とする、請求項5に記載のスイッチ装置の制御方法。
JP2010051823A 2010-03-09 2010-03-09 スイッチ装置 Expired - Fee Related JP5494028B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010051823A JP5494028B2 (ja) 2010-03-09 2010-03-09 スイッチ装置
US13/032,095 US8625585B2 (en) 2010-03-09 2011-02-22 Switch apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010051823A JP5494028B2 (ja) 2010-03-09 2010-03-09 スイッチ装置

Publications (2)

Publication Number Publication Date
JP2011188272A JP2011188272A (ja) 2011-09-22
JP5494028B2 true JP5494028B2 (ja) 2014-05-14

Family

ID=44559922

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010051823A Expired - Fee Related JP5494028B2 (ja) 2010-03-09 2010-03-09 スイッチ装置

Country Status (2)

Country Link
US (1) US8625585B2 (ja)
JP (1) JP5494028B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9571868B2 (en) 2012-08-10 2017-02-14 At&T Intellectual Property I, L.P. Method and apparatus for delivery of application services
US10256700B1 (en) 2017-10-10 2019-04-09 Zero E Technologies, Llc Robust permanent magnet electric machine and methods

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69029854T2 (de) 1989-11-29 1997-06-05 Fujitsu Ltd Umschaltverfahren für verdoppeltes atm-vermittlungssystem
JP4294142B2 (ja) * 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
JP2000228671A (ja) * 1999-02-08 2000-08-15 Hitachi Ltd 自律分散ネットワークとイーサネット(登録商標)の通信方法
JP3709795B2 (ja) * 2001-02-05 2005-10-26 日本電気株式会社 コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US7293105B2 (en) 2001-12-21 2007-11-06 Cisco Technology, Inc. Methods and apparatus for implementing a high availability fibre channel switch
US7743065B2 (en) * 2002-06-27 2010-06-22 Siebel Systems, Inc. System and method for cross-referencing information in an enterprise system
GB2392262A (en) * 2002-08-23 2004-02-25 Hewlett Packard Co A method of controlling the processing of data
JP4326768B2 (ja) * 2002-08-23 2009-09-09 株式会社東芝 プラントネットワーク健全性診断装置とその方法
US7564818B2 (en) * 2002-11-26 2009-07-21 Qualcomm Incorporated Reverse link automatic repeat request
JP2004282293A (ja) * 2003-03-14 2004-10-07 Toshiba Corp 多重帰属ネットワークにおけるマルチキャスト通信システム

Also Published As

Publication number Publication date
JP2011188272A (ja) 2011-09-22
US20110222533A1 (en) 2011-09-15
US8625585B2 (en) 2014-01-07

Similar Documents

Publication Publication Date Title
JP3709795B2 (ja) コンピュータシステムと、コンピュータシステム内のモジュール間の通信方法
US5958064A (en) Multiple node dual level error recovery system and method
US6948031B2 (en) Methods and apparatus for transferring a data element within a data storage system
WO2007148462A1 (ja) 制御装置
WO2023125212A1 (zh) 数据传输方法、装置、设备及介质
CN111585835B (zh) 一种带外管理系统的控制方法、装置和存储介质
CN100571108C (zh) 用于在计算节点之间进行数据通信的系统和方法
JP5112246B2 (ja) ストレージシステム及び通信方法
JP5494028B2 (ja) スイッチ装置
US20100082875A1 (en) Transfer device
US7672305B2 (en) Crossbar switch, information processor, and transfer method
US8264948B2 (en) Interconnection device
US20100208581A1 (en) Data transfer system, data transmitting device, data receiving device and data transfer method
US8639967B2 (en) Controlling apparatus, method for controlling apparatus and information processing apparatus
JP4655733B2 (ja) リング型二重化ネットワークにおける受信方法及び装置
CN109891833B (zh) 传送装置和帧传送方法
US20220050139A1 (en) System, apparatus and method for communicating debug messages on a sideband of a serial link according to a debug type messaging protocol
JPS6412144B2 (ja)
JPWO2008050456A1 (ja) コンピュータシステム、データ中継装置およびコンピュータシステム制御方法
JPH0218623B2 (ja)
JP5669193B2 (ja) 情報処理装置、データ転送方法、及び情報処理システム
CN112463669A (zh) 一种存储仲裁管理方法、系统、终端及存储介质
JPH1145189A (ja) データ設定方法及びデータ処理装置
JPH11168528A (ja) 回線制御装置
JP2008199178A (ja) データ処理システム及び診断方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140217

R150 Certificate of patent or registration of utility model

Ref document number: 5494028

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees