Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6404129B2 - COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD - Google Patents
[go: Go Back, main page]

JP6404129B2 - COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD - Google Patents

COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD Download PDF

Info

Publication number
JP6404129B2
JP6404129B2 JP2015007640A JP2015007640A JP6404129B2 JP 6404129 B2 JP6404129 B2 JP 6404129B2 JP 2015007640 A JP2015007640 A JP 2015007640A JP 2015007640 A JP2015007640 A JP 2015007640A JP 6404129 B2 JP6404129 B2 JP 6404129B2
Authority
JP
Japan
Prior art keywords
control unit
communication
data
communication control
credit value
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
JP2015007640A
Other languages
Japanese (ja)
Other versions
JP2016134718A (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.)
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Original Assignee
Fujitsu Ltd
Fujitsu Broad Solution and Consulting Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd, Fujitsu Broad Solution and Consulting Inc filed Critical Fujitsu Ltd
Priority to JP2015007640A priority Critical patent/JP6404129B2/en
Publication of JP2016134718A publication Critical patent/JP2016134718A/en
Application granted granted Critical
Publication of JP6404129B2 publication Critical patent/JP6404129B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)

Description

本発明は、通信装置、通信制御プログラム、および通信制御方法に関する。   The present invention relates to a communication device, a communication control program, and a communication control method.

ファイバチャネルは、BBクレジット(Buffer-to-Buffer Credit)という仕組みを用いてフロー制御をおこなう。通信装置は、リンク確立時におこなうネゴシエーションによって、フレームバッファサイズとしてクレジットを設定する。通信装置は、受信ポートが受信可能なフレーム数をクレジットによって管理し、クレジットの範囲で送信ポートからフレームを送信することでフレームロストのないデータ通信を実現している。   Fiber Channel performs flow control using a mechanism called BB credit (Buffer-to-Buffer Credit). The communication apparatus sets a credit as a frame buffer size by negotiation performed at the time of link establishment. The communication device manages the number of frames that can be received by the reception port by credit, and realizes data communication without frame lost by transmitting frames from the transmission port within the credit range.

また、通信障害など何らかの理由によりクレジットが「0」の状態のままとなり、送信ポートがフレームを送信できなくなる場合があるが、通信装置は、所定の監視時間を経てリカバリ処理により通信を復旧できる。   Further, although the credit remains in a state of “0” for some reason such as a communication failure and the transmission port may not be able to transmit a frame, the communication device can recover communication by a recovery process after a predetermined monitoring time.

特開2000−22742号公報JP 2000-22742 A 特開2002−141964号公報JP 2002-141964 A 特開平9−233082号公報Japanese Patent Laid-Open No. 9-233082

しかしながら、たとえばクレジットが「0」と「1」を繰返すような状態、すなわちクレジットが減少して最大値まで復帰しない状態において、通信装置は、必ずしもリカバリ処理を実行しない。これにより、送信ポートは、クレジットが減少した状態で通信を継続することとなり通信性能を低下させる。   However, for example, in a state where the credit repeats “0” and “1”, that is, in a state where the credit is decreased and does not return to the maximum value, the communication device does not necessarily execute the recovery process. As a result, the transmission port continues communication in a state where credits are reduced, and communication performance is degraded.

1つの側面では、本発明は、通信性能が低下した状態から復帰可能な通信装置、通信制御プログラム、および通信制御方法を提供することを目的とする。   In one aspect, an object of the present invention is to provide a communication device, a communication control program, and a communication control method that can be recovered from a state in which communication performance has deteriorated.

上記目的を達成するために、以下に示すような、通信装置が提供される。通信装置は、送信可能数の範囲で所定単位のデータを他の通信装置に送信する。通信装置は、記憶部と制御部とを備える。記憶部は、送信可能数を記憶する。制御部は、データの送信により送信可能数からデータの送信数を減算して更新し、データの送達確認により送信可能数にデータの送達確認数を加算して更新し、送信可能数の所定の減少状態を検出した場合に、送信可能数からデータの送信数を減算しないダミーデータを送信し、ダミーデータの送達確認により送信可能数にダミーデータの送達確認数を加算して更新する。   In order to achieve the above object, a communication apparatus as shown below is provided. The communication device transmits data of a predetermined unit to other communication devices within the range of the transmittable number. The communication device includes a storage unit and a control unit. The storage unit stores the transmittable number. The control unit updates the data transmission number by subtracting the data transmission number from the transmission possible number, updates the data transmission confirmation number by adding the data delivery confirmation number to the transmission possible number, and updates the predetermined number of transmission possible numbers. When the decrease state is detected, dummy data that does not subtract the data transmission number from the transmission possible number is transmitted, and the dummy data delivery confirmation number is added to the transmission possible number to update the dummy data delivery confirmation.

1態様によれば、通信装置、通信制御プログラム、および通信制御方法において、通信性能が低下した状態から復帰できる。   According to the first aspect, in the communication device, the communication control program, and the communication control method, it is possible to recover from the state in which the communication performance has deteriorated.

第1の実施形態の通信システムの構成の一例を示す図である。It is a figure which shows an example of a structure of the communication system of 1st Embodiment. 第2の実施形態のストレージシステムの構成の一例を示す図である。It is a figure which shows an example of a structure of the storage system of 2nd Embodiment. 第2の実施形態のFCスイッチの構成の一例を示す図である。It is a figure which shows an example of a structure of FC switch of 2nd Embodiment. 第2の実施形態の通信制御部のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the communication control part of 2nd Embodiment. 第2の実施形態のFCスイッチの通信バッファの一例を示す図である。It is a figure which shows an example of the communication buffer of FC switch of 2nd Embodiment. 第2の実施形態のクレジット監視処理のフローチャートを示す図である。It is a figure which shows the flowchart of the credit monitoring process of 2nd Embodiment. 第2の実施形態の正常な通信におけるクレジット値の更新シーケンスの一例を示す図である。It is a figure which shows an example of the update sequence of the credit value in the normal communication of 2nd Embodiment. 第2の実施形態の通常フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。It is a figure which shows an example of the update sequence of the credit value in the communication which carried out frame loss of the normal frame of 2nd Embodiment. 第2の実施形態の通常フレームに対する応答フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。It is a figure which shows an example of the update sequence of the credit value in the communication which carried out the frame loss of the response frame with respect to the normal frame of 2nd Embodiment. 第2の実施形態のクレジット復旧処理のフローチャートを示す図である。It is a figure which shows the flowchart of the credit restoration process of 2nd Embodiment. 第2の実施形態のクレジット値非減少状態とクレジット値減少状態における通信シーケンスの一例を示す図である。It is a figure which shows an example of the communication sequence in the credit value non-decrease state and credit value decrease state of 2nd Embodiment. 第2の実施形態のダミーフレームの送信によるクレジット値減少状態からの復旧時における通信シーケンスの一例を示す図である。It is a figure which shows an example of the communication sequence at the time of the recovery from the credit value reduction | decrease state by transmission of the dummy frame of 2nd Embodiment. 第2の実施形態のクレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。It is a figure which shows an example of the timing chart of monitoring and determination of the credit value reduction | decrease state in the credit recovery process of 2nd Embodiment. 第3の実施形態の第2クレジット復旧処理のフローチャートを示す図である。It is a figure which shows the flowchart of the 2nd credit restoration process of 3rd Embodiment. 第3の実施形態の第2クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。It is a figure which shows an example of the timing chart of monitoring and determination of the credit value reduction | decrease state in the 2nd credit recovery process of 3rd Embodiment.

以下、実施の形態について、図面を参照しながら詳細に説明する。
[第1の実施形態]
まず、第1の実施形態の通信システムについて図1を用いて説明する。図1は、第1の実施形態の通信システムの構成の一例を示す図である。
Hereinafter, embodiments will be described in detail with reference to the drawings.
[First Embodiment]
First, the communication system of 1st Embodiment is demonstrated using FIG. FIG. 1 is a diagram illustrating an example of a configuration of a communication system according to the first embodiment.

通信システム1は、通信装置2と、通信装置2と通信可能に接続する通信装置3を含む。通信システム1は、通信装置2を送信元とし、通信装置3を通信装置2の送信先とする。たとえば、通信システム1は、ストレージネットワークを構成するFC−SAN(Fibre Channel − Storage Area Network)であり、通信装置2,3は、通信を中継するFCスイッチ(中継装置)である。   The communication system 1 includes a communication device 2 and a communication device 3 that is communicably connected to the communication device 2. The communication system 1 uses the communication device 2 as a transmission source and the communication device 3 as a transmission destination of the communication device 2. For example, the communication system 1 is an FC-SAN (Fibre Channel-Storage Area Network) constituting a storage network, and the communication devices 2 and 3 are FC switches (relay devices) that relay communication.

通信装置2は、所定単位(たとえば、フレーム単位)のデータを送信可能数2cの範囲で通信装置3に送信する。
通信装置2は、記憶部2aと制御部2bを含む。記憶部2aは、送信可能数2cを記憶する。送信可能数2cは、通信装置2が通信装置3に送信できる所定単位のデータ数を示す。たとえば、送信可能数2cは、通信装置3が用意する受信バッファのサイズに対応する。
The communication device 2 transmits data in a predetermined unit (for example, frame unit) to the communication device 3 within the range of the transmittable number 2c.
The communication device 2 includes a storage unit 2a and a control unit 2b. The storage unit 2a stores the transmittable number 2c. The transmittable number 2 c indicates the number of data in a predetermined unit that the communication device 2 can transmit to the communication device 3. For example, the transmittable number 2 c corresponds to the size of the reception buffer prepared by the communication device 3.

制御部2bは、データの送信により送信可能数2cからデータの送信数を減算して送信可能数2cを更新する。また、制御部2bは、データの送達確認により送信可能数2cにデータの送達確認数を加算して送信可能数2cを更新する。これにより、通信装置2は、送信可能数2cの範囲で所定単位のデータを通信装置3に送信できる。   The control unit 2b updates the transmittable number 2c by subtracting the data transmit number from the transmittable number 2c by transmitting data. Further, the control unit 2b updates the transmittable number 2c by adding the data delivery confirmation number to the transmittable number 2c based on the data delivery confirmation. Thereby, the communication apparatus 2 can transmit data of a predetermined unit to the communication apparatus 3 within the range of the transmittable number 2c.

たとえば、送信可能数2cが「3」であるとき、制御部2bは、通信装置2から通信装置3宛てに3単位のデータ4a,4b,4cを送信できる。制御部2bは、1単位のデータ4aを送信することで送信可能数2cから「1」を減算して送信可能数2cを「3」から「2」に更新する。同様にして、制御部2bは、データ4b,4cの送信により送信可能数2cを「2」から「1」、さらに「1」から「0」に更新する。制御部2bは、データ4a,4b,4cのいずれかの送達確認5aにより送信可能数2cに「1」を加算して送信可能数2cを「0」から「1」に更新する。   For example, when the transmittable number 2 c is “3”, the control unit 2 b can transmit three units of data 4 a, 4 b, 4 c from the communication device 2 to the communication device 3. The control unit 2b updates the transmittable number 2c from “3” to “2” by subtracting “1” from the transmittable number 2c by transmitting one unit of data 4a. Similarly, the control unit 2b updates the transmittable number 2c from “2” to “1” and further from “1” to “0” by transmitting the data 4b and 4c. The control unit 2b updates the transmittable number 2c from “0” to “1” by adding “1” to the transmittable number 2c by the delivery confirmation 5a of any of the data 4a, 4b, and 4c.

なお、図示しないが、制御部2bは、データ4a,4b,4cに対応する送達確認を順次受信すれば、送信可能数2cに「1」を加算して送信可能数2cを「2」に、さらに「3」へと更新する。   Although not shown, if the control unit 2b sequentially receives the delivery confirmation corresponding to the data 4a, 4b, 4c, the control unit 2b adds “1” to the transmittable number 2c to set the transmittable number 2c to “2”. Furthermore, it is updated to “3”.

制御部2bは、送信可能数2cを監視する。制御部2bは、送信可能数2cの監視により、所定の減少状態を検出できる。たとえば、制御部2bは、送信可能数2cが「0」と「1」とを推移して「2以上」に復帰しない状態を所定の減少状態として検出できる。このような状態は、通信装置2から通信装置3宛ての送信量を制限することとなり、通信性能が低下した状態である。   The controller 2b monitors the transmittable number 2c. The controller 2b can detect a predetermined decrease state by monitoring the transmittable number 2c. For example, the control unit 2b can detect a state in which the transmittable number 2c changes between “0” and “1” and does not return to “2 or more” as a predetermined decrease state. Such a state is a state in which the amount of transmission from the communication device 2 to the communication device 3 is limited, and the communication performance is deteriorated.

制御部2bは、送信可能数2cの所定の減少状態を検出した場合に、ダミーデータを送信する。ダミーデータは、制御部2bが通信装置3宛てに送信しても、送信可能数2cからデータの送信数を減算する対象としないデータである。なお、ダミーデータは、通信装置3によって破棄されてもよいデータである。   The control unit 2b transmits dummy data when a predetermined decrease state of the transmittable number 2c is detected. The dummy data is data that is not targeted for subtracting the transmission number of data from the transmittable number 2c even if the control unit 2b transmits to the communication device 3. The dummy data is data that may be discarded by the communication device 3.

たとえば、送信可能数2cが「1」であるとき、制御部2bは、通信装置2から通信装置3宛てに2単位のダミーデータ6a,6bを送信できる。制御部2bは、2単位のダミーデータ6a,6bを送信するが、送信可能数2cを「1」のままにして更新しない。   For example, when the transmittable number 2 c is “1”, the control unit 2 b can transmit two units of dummy data 6 a and 6 b to the communication device 3 from the communication device 2. The control unit 2b transmits two units of dummy data 6a and 6b, but does not update the transmittable number 2c while keeping “1”.

制御部2bは、ダミーデータの送達確認により送信可能数2cにダミーデータの送達確認数を加算して更新する。たとえば、制御部2bは、ダミーデータ6a,6bのいずれかの送達確認7aにより送信可能数2cに「1」を加算して送信可能数2cを「2」に更新し、さらなる送達確認7bにより送信可能数2cを「3」に更新する。   The control unit 2b updates the dummy data delivery confirmation by adding the dummy data delivery confirmation number to the transmittable number 2c. For example, the control unit 2b adds “1” to the transmittable number 2c by the delivery confirmation 7a of either of the dummy data 6a and 6b, updates the transmittable number 2c to “2”, and transmits by the further delivery confirmation 7b. The possible number 2c is updated to “3”.

このようにして、通信装置2は、送信可能数2cの所定の減少状態に起因して通信性能が低下した状態から復帰できる。
[第2の実施形態]
次に、第2の実施形態のストレージシステムについて図2を用いて説明する。図2は、第2の実施形態のストレージシステムの構成の一例を示す図である。
In this way, the communication device 2 can recover from the state in which the communication performance is deteriorated due to the predetermined decrease state of the transmittable number 2c.
[Second Embodiment]
Next, a storage system according to the second embodiment will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of the configuration of the storage system according to the second embodiment.

ストレージシステム10は、FC−SANである。ストレージシステム10は、サーバ11,12と、FCスイッチ20,21と、FCスイッチ20とFCスイッチ21とを接続するFCケーブル13と、ストレージアレイ14,15とを含む。ストレージアレイ14,15は、大容量の記憶装置である。サーバ11,12は、FCスイッチ20,21を介してストレージアレイ14,15にアクセスできる。   The storage system 10 is an FC-SAN. The storage system 10 includes servers 11 and 12, FC switches 20 and 21, an FC cable 13 that connects the FC switch 20 and the FC switch 21, and storage arrays 14 and 15. The storage arrays 14 and 15 are large-capacity storage devices. The servers 11 and 12 can access the storage arrays 14 and 15 via the FC switches 20 and 21.

次に、第2の実施形態のFCスイッチ20,21について図3を用いて説明する。図3は、第2の実施形態のFCスイッチの構成の一例を示す図である。FCスイッチ20,21は、通信装置の一形態である。なお、FCスイッチ20を例示して説明するが、FCスイッチ21もFCスイッチ20と同様の構成を有する。   Next, FC switches 20 and 21 of the second embodiment will be described with reference to FIG. FIG. 3 is a diagram illustrating an example of the configuration of the FC switch according to the second embodiment. The FC switches 20 and 21 are a form of communication device. Although the FC switch 20 will be described as an example, the FC switch 21 has the same configuration as the FC switch 20.

FCスイッチ20は、全体制御部20aと、通信制御部22と、フラッシュメモリ23と、管理用LAN(Local Area Network)ポート24と、複数のFCポート200a,200b,200c,200dを含む。全体制御部20aは、FCスイッチ20を統括的に制御する。全体制御部20aは、ユーザからの命令(コマンド)を受け付けて、通信制御部22が実現する各種機能を動作させる。全体制御部20aは、管理用LANポート24を介して操作用端末装置と接続し、操作用端末装置からユーザが入力する命令を受け付けることができる。たとえば、ユーザは、操作用端末装置からFCスイッチ20にアクセスし、telnet、http(Hypertext Transfer Protocol)、SSH(Secure Shell)などのプロトコルを用いてゾーニング(Zoning)設定を含む各種設定をおこなうことができる。   The FC switch 20 includes an overall control unit 20a, a communication control unit 22, a flash memory 23, a management LAN (Local Area Network) port 24, and a plurality of FC ports 200a, 200b, 200c, and 200d. The overall control unit 20a controls the FC switch 20 in an integrated manner. The overall control unit 20a receives commands (commands) from the user and operates various functions realized by the communication control unit 22. The overall control unit 20a is connected to the operation terminal device via the management LAN port 24, and can accept a command input by the user from the operation terminal device. For example, a user may access the FC switch 20 from an operation terminal device and perform various settings including zoning settings using protocols such as telnet, http (Hypertext Transfer Protocol), and SSH (Secure Shell). it can.

フラッシュメモリ23は、不揮発性のメモリであり、ゾーニングデータベース23aやネームサーバ23bなどの情報を保持する。全体制御部20aは、ゾーニングデータベース23aやネームサーバ23bなどの情報を生成または更新できる。   The flash memory 23 is a non-volatile memory and holds information such as a zoning database 23a and a name server 23b. The overall control unit 20a can generate or update information such as the zoning database 23a and the name server 23b.

ゾーニングデータベース23aは、ユーザが設定したアクセス制御の定義情報を保持するデータベースである。ゾーニングデータベース23aは、アクセスを許可するデバイス間の組み合わせを保持する。ゾーニングデータベース23aは、たとえば、アクセスを許可するデバイス間の組み合わせとして、「FCポート200a、FCポート200c」、「FCポート200b、FCポート200d」を保持する。   The zoning database 23a is a database that holds access control definition information set by a user. The zoning database 23a holds combinations between devices that permit access. The zoning database 23a holds, for example, “FC port 200a, FC port 200c”, “FC port 200b, FC port 200d” as combinations between devices that permit access.

ネームサーバ23bは、FCスイッチ20に接続されたデバイスの識別情報、製造ベンダー名、製品型名などの情報を保持するデータベースである。ネームサーバ23bは、FCスイッチ20内での転送に用いるアドレス情報を付与してデバイスを登録する。   The name server 23 b is a database that holds information such as identification information of a device connected to the FC switch 20, a manufacturing vendor name, and a product model name. The name server 23b adds the address information used for transfer in the FC switch 20 and registers the device.

通信制御部22は、通信制御およびゾーニング制御をおこなう。通信制御部22は、ゾーニング制御として、ユーザが設定したゾーニングデータベース23aのゾーニング情報にもとづいてアクセス制限をおこなう。通信制御部22は、受信バッファにデータを一時的に格納した後、ゾーニング制御によりアクセス制御情報と通信データ内の宛先情報とを照合して、適切な宛先ポートの送信バッファに転送する。これにより、通信制御部22は、通信元から通信先へのデータ転送をおこなうことができるとともに、不正なアクセスを制限することができる。   The communication control unit 22 performs communication control and zoning control. As the zoning control, the communication control unit 22 performs access restriction based on the zoning information of the zoning database 23a set by the user. After temporarily storing the data in the reception buffer, the communication control unit 22 collates the access control information with the destination information in the communication data by zoning control, and transfers it to the transmission buffer of the appropriate destination port. Thereby, the communication control unit 22 can perform data transfer from the communication source to the communication destination, and can limit unauthorized access.

通信制御部22は、通信データ内の宛先情報から適切な送信先を選択し、選択した送信先宛てにデータを転送する。通信制御部22は、ネームサーバ23bが保持するアドレス情報を用いてFCスイッチ20内でのデータ通信を制御できる。   The communication control unit 22 selects an appropriate transmission destination from the destination information in the communication data, and transfers the data to the selected transmission destination. The communication control unit 22 can control data communication in the FC switch 20 using address information held by the name server 23b.

通信制御部22は、送受信のための一時的なデータを格納する格納領域として通信バッファを有する。通信バッファは、FCスイッチ20が送受信するデータを格納するためのメモリ領域である。通信制御部22は、FCポート200a,200b,200c,200dごとの通信バッファを内部メモリに用意する。通信バッファは、受信データを格納する受信バッファと、送信データを格納する送信バッファとを含む。なお、通信制御部22は、通信バッファに加えて、受信バッファの空き領域の大きさを示すクレジット(第1の実施形態の送信可能数2cに相当)を受信バッファごとに内部メモリに用意する。   The communication control unit 22 has a communication buffer as a storage area for storing temporary data for transmission and reception. The communication buffer is a memory area for storing data transmitted and received by the FC switch 20. The communication control unit 22 prepares a communication buffer for each of the FC ports 200a, 200b, 200c, and 200d in the internal memory. The communication buffer includes a reception buffer that stores reception data and a transmission buffer that stores transmission data. In addition to the communication buffer, the communication control unit 22 prepares a credit (corresponding to the transmittable number 2c in the first embodiment) indicating the size of the free area of the reception buffer in the internal memory for each reception buffer.

次に、通信制御部22のハードウェア構成について図4を用いて説明する。図4は、第2の実施形態の通信制御部のハードウェア構成の一例を示す図である。
通信制御部22は、プロセッサ100と、バス101と、RAM(Random Access Memory)102と、フラッシュメモリ103と、外部インタフェース104を含む。
Next, the hardware configuration of the communication control unit 22 will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of a hardware configuration of a communication control unit according to the second embodiment.
The communication control unit 22 includes a processor 100, a bus 101, a RAM (Random Access Memory) 102, a flash memory 103, and an external interface 104.

プロセッサ100は、通信制御部22の制御部として機能する。プロセッサ100には、バス101を介して、RAM102とフラッシュメモリ103と外部インタフェース104が接続されている。プロセッサ100は、2以上のプロセッサからなるマルチコアプロセッサであってもよい。   The processor 100 functions as a control unit of the communication control unit 22. A RAM 102, a flash memory 103, and an external interface 104 are connected to the processor 100 via a bus 101. The processor 100 may be a multi-core processor including two or more processors.

プロセッサ100は、たとえばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、またはPLD(Programmable Logic Device)である。なお、通信制御部22は、プロセッサ100に限らず、通信制御部22が含む構成要素の一部または全部をASICによって実現するものであってもよい。   The processor 100 is, for example, a central processing unit (CPU), a micro processing unit (MPU), a digital signal processor (DSP), an application specific integrated circuit (ASIC), or a programmable logic device (PLD). Note that the communication control unit 22 is not limited to the processor 100, and some or all of the components included in the communication control unit 22 may be realized by an ASIC.

RAM102とフラッシュメモリ103は、通信制御部22の記憶部として機能する。フラッシュメモリ103には、OS(Operating System)のプログラム、アプリケーションプログラム、および各種データが格納される。   The RAM 102 and the flash memory 103 function as a storage unit of the communication control unit 22. The flash memory 103 stores an OS (Operating System) program, application programs, and various data.

RAM102には、プロセッサ100に実行させるOSのプログラムやアプリケーションプログラムの少なくとも一部が一時格納される。また、RAM102には、プロセッサ100による処理に必要な各種データが格納される。また、RAM102は、プロセッサ100のキャッシュメモリや、FCポート200a,200b,200c,200dの通信バッファとして機能する。また、RAM102は、FCポート200a,200b,200c,200dのクレジットを記憶する。   The RAM 102 temporarily stores at least part of an OS program and application programs to be executed by the processor 100. The RAM 102 stores various data necessary for processing by the processor 100. The RAM 102 functions as a cache memory for the processor 100 and a communication buffer for the FC ports 200a, 200b, 200c, and 200d. The RAM 102 stores credits for the FC ports 200a, 200b, 200c, and 200d.

なお、外部インタフェース104は、全体制御部20aとFCポート200a,200b,200c,200dを接続する他、通信制御部22に周辺機器を接続するための通信インタフェースである。たとえば、外部インタフェース104には、図示しないメモリ装置やメモリリーダライタを接続することができる。メモリ装置は、外部インタフェース104との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しをおこなう装置である。メモリカードは、たとえば、カード型の記録媒体である。   The external interface 104 is a communication interface for connecting peripheral devices to the communication control unit 22 in addition to connecting the overall control unit 20a and the FC ports 200a, 200b, 200c, and 200d. For example, a memory device or a memory reader / writer (not shown) can be connected to the external interface 104. The memory device is a recording medium equipped with a communication function with the external interface 104. The memory reader / writer is a device that writes data to the memory card or reads data from the memory card. The memory card is, for example, a card type recording medium.

また、外部インタフェース104には、図示しないモニタを接続してもよい。その場合、外部インタフェース104は、プロセッサ100からの命令にしたがって、画像をモニタの画面に表示させるグラフィック処理機能を有する。   Further, a monitor (not shown) may be connected to the external interface 104. In that case, the external interface 104 has a graphic processing function for displaying an image on a monitor screen in accordance with a command from the processor 100.

また、外部インタフェース104は、図示しないキーボードやマウスを接続してもよい。その場合、外部インタフェース104は、キーボードやマウスから送られてくる信号をプロセッサ100に送信する。なお、マウスは、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。   Further, the external interface 104 may be connected to a keyboard and a mouse (not shown). In that case, the external interface 104 transmits a signal sent from the keyboard or mouse to the processor 100. Note that the mouse is an example of a pointing device, and other pointing devices can be used. Examples of other pointing devices include a touch panel, a tablet, a touch pad, and a trackball.

また、外部インタフェース104は、図示しない光学ドライブ装置を接続してもよい。光学ドライブ装置は、レーザ光などを利用して、光ディスクに記録されたデータの読み取りをおこなう。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。   The external interface 104 may be connected to an optical drive device (not shown). The optical drive device reads data recorded on the optical disk using laser light or the like. An optical disc is a portable recording medium on which data is recorded so that it can be read by reflection of light. Optical disks include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc Read Only Memory), CD-R (Recordable) / RW (ReWritable), and the like.

以上のようなハードウェア構成によって、第2の実施形態の通信制御部22の処理機能を実現することができる。
なお、全体制御部20aや第1の実施形態に示した通信装置2も、図4に示した通信制御部22と同様のハードウェアにより実現することができる。
With the hardware configuration described above, the processing function of the communication control unit 22 of the second embodiment can be realized.
Note that the overall control unit 20a and the communication device 2 shown in the first embodiment can also be realized by the same hardware as the communication control unit 22 shown in FIG.

通信制御部22は、たとえば、コンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施形態の処理機能を実現する。通信制御部22に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。たとえば、通信制御部22に実行させるプログラムをフラッシュメモリ103に格納しておくことができる。プロセッサ100は、フラッシュメモリ103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、通信制御部22に実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、たとえばプロセッサ100からの制御により、フラッシュメモリ103にインストールされた後、実行可能となる。またプロセッサ100が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。   The communication control unit 22 implements the processing functions of the second embodiment by executing a program recorded on a computer-readable recording medium, for example. The program describing the processing content to be executed by the communication control unit 22 can be recorded on various recording media. For example, a program to be executed by the communication control unit 22 can be stored in the flash memory 103. The processor 100 loads at least a part of the program in the flash memory 103 into the RAM 102 and executes the program. The program to be executed by the communication control unit 22 can also be recorded on a portable recording medium such as an optical disk, a memory device, or a memory card. The program stored in the portable recording medium becomes executable after being installed in the flash memory 103 under the control of the processor 100, for example. The processor 100 can also read and execute the program directly from the portable recording medium.

次に、FCスイッチ20,21の通信バッファについて図5を用いて説明する。図5は、第2の実施形態のFCスイッチの通信バッファの一例を示す図である。
FCスイッチ20が有するFCポート200aは、FCスイッチ21が有するFCポート210aとFCケーブル13で接続する。FCケーブル13は、送信ライン(TX)と受信ライン(RX)とを含み、光信号が相互干渉しないように設計されている。FCポート200aのTX200dは、FCポート210aのRX210eと接続し、FCポート200aのRX200eは、FCポート210aのTX210dと接続する。
Next, communication buffers of the FC switches 20 and 21 will be described with reference to FIG. FIG. 5 is a diagram illustrating an example of a communication buffer of the FC switch according to the second embodiment.
The FC port 200 a included in the FC switch 20 is connected to the FC port 210 a included in the FC switch 21 through the FC cable 13. The FC cable 13 includes a transmission line (TX) and a reception line (RX), and is designed so that optical signals do not interfere with each other. The TX 200d of the FC port 200a is connected to the RX 210e of the FC port 210a, and the RX 200e of the FC port 200a is connected to the TX 210d of the FC port 210a.

FCポート200aは、FCポート200a用の通信バッファとして送信バッファ201aと受信バッファ202aを、FCスイッチ20のRAM102に有する。FCポート210aは、FCポート210a用の通信バッファとして送信バッファ211aと受信バッファ212aを、FCスイッチ21のRAM102に有する。   The FC port 200a has a transmission buffer 201a and a reception buffer 202a as communication buffers for the FC port 200a in the RAM 102 of the FC switch 20. The FC port 210a has a transmission buffer 211a and a reception buffer 212a as communication buffers for the FC port 210a in the RAM 102 of the FC switch 21.

送信バッファ201a,211aは、FIFO(First In First Out)バッファであり、送信対象のフレームを一時的に格納する。一時格納されたフレームは、通信相手(送信先)への送信後に送信バッファ201a,211aからクリアされる。   The transmission buffers 201a and 211a are FIFO (First In First Out) buffers, and temporarily store frames to be transmitted. The temporarily stored frame is cleared from the transmission buffers 201a and 211a after transmission to the communication partner (transmission destination).

受信バッファ202a,212aは、FIFOバッファであり、通信相手(送信元)から受信したフレームを一時的に格納する。一時格納されたフレームは、FCスイッチ20,21内で読み出された後に受信バッファ202a,212aからクリアされる。   The reception buffers 202a and 212a are FIFO buffers, and temporarily store frames received from a communication partner (transmission source). The temporarily stored frame is read from the FC switches 20 and 21, and then cleared from the reception buffers 202a and 212a.

次に、クレジット監視処理について図6を用いて説明する。図6は、第2の実施形態のクレジット監視処理のフローチャートを示す図である。
クレジット監視処理は、クレジットの設定条件や更新条件を監視して、クレジットの設定や更新をおこなう処理である。クレジット監視処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22が実行する処理である。
Next, the credit monitoring process will be described with reference to FIG. FIG. 6 is a diagram illustrating a flowchart of credit monitoring processing according to the second embodiment.
The credit monitoring process is a process for monitoring the credit setting conditions and update conditions to set and update credits. The credit monitoring process is a process executed by the communication control unit 22 on the data transmission side when communication between the FC switches 20 and 21 is started.

[ステップS11]通信制御部22は、通信相手(たとえば、FCスイッチ21)からクレジット値を受信する。通信制御部22は、受信したクレジット値を初期値として記憶する。なお、クレジットの初期値は、クレジットの最大値である。   [Step S11] The communication control unit 22 receives a credit value from a communication partner (for example, the FC switch 21). The communication control unit 22 stores the received credit value as an initial value. The initial value of credit is the maximum value of credit.

[ステップS12]通信制御部22は、通信相手に向けてフレーム(1単位のデータ)を送信したか否かを判定する。通信制御部22は、通信相手に向けてフレームを送信した場合にステップS13にすすみ、通信相手に向けてフレームを送信していない場合にステップS15にすすむ。   [Step S12] The communication control unit 22 determines whether a frame (one unit of data) has been transmitted to the communication partner. The communication control unit 22 proceeds to step S13 when the frame is transmitted toward the communication partner, and proceeds to step S15 when the frame is not transmitted toward the communication partner.

[ステップS13]通信制御部22は、送信したフレームがダミーフレームであるか否かを判定する。通信制御部22は、送信したフレームがダミーフレームである場合にステップS17にすすみ、送信したフレームがダミーフレームでない場合、すなわち通常フレームである場合にステップS14にすすむ。   [Step S13] The communication control unit 22 determines whether the transmitted frame is a dummy frame. The communication control unit 22 proceeds to step S17 when the transmitted frame is a dummy frame, and proceeds to step S14 when the transmitted frame is not a dummy frame, that is, a normal frame.

[ステップS14]通信制御部22は、通信相手に向けて通常フレームを送信したことから、クレジット値から「1」減算する。すなわち、通信制御部22は、送信したフレームが通常フレームである場合にクレジット値から「1」を減算し、送信したフレームがダミーフレームである場合にステップS14をパスしてクレジット値を更新しない。   [Step S14] The communication control unit 22 subtracts “1” from the credit value because the normal frame is transmitted to the communication partner. That is, the communication control unit 22 subtracts “1” from the credit value when the transmitted frame is a normal frame, and passes the step S14 when the transmitted frame is a dummy frame and does not update the credit value.

なお、通信制御部22は、クレジット値が「1以上」の場合に通信相手に向けて通常フレームを送信し、クレジット値が「0以上」の場合に通信相手に向けてダミーフレームを送信するので、クレジット値は常に「0以上」である。   The communication control unit 22 transmits a normal frame toward the communication partner when the credit value is “1 or more”, and transmits a dummy frame toward the communication partner when the credit value is “0 or more”. The credit value is always “0 or more”.

[ステップS15]通信制御部22は、通信相手から応答フレームの受信があったか否かを判定する。応答フレームの受信は、通常フレームの送信に対する応答フレームの受信と、ダミーフレームの送信に対する応答フレームの受信とがある。通信制御部22は、通信相手から応答フレームの受信があった場合にステップS16にすすみ、通信相手から応答フレームの受信がない場合にステップS17にすすむ。   [Step S15] The communication control unit 22 determines whether a response frame has been received from the communication partner. Response frame reception includes reception of a response frame for transmission of a normal frame and reception of a response frame for transmission of a dummy frame. The communication control unit 22 proceeds to step S16 when the response frame is received from the communication partner, and proceeds to step S17 when the response frame is not received from the communication partner.

[ステップS16]通信制御部22は、通信相手から応答フレームの受信があったことから、クレジット値に「1」加算する。すなわち、通信制御部22は、通信相手から応答フレームの受信があった場合に、通常フレームの送信に対する応答フレームの受信であるか、ダミーフレームの送信に対する応答フレームの受信であるかにかかわらず、クレジット値に「1」を加算する。   [Step S16] Since the response frame is received from the communication partner, the communication control unit 22 adds “1” to the credit value. That is, when the response control unit 22 receives a response frame from the communication partner, the communication control unit 22 receives the response frame for the normal frame transmission or the reception of the response frame for the dummy frame transmission. Add “1” to the credit value.

これにより、通常フレームの送信に対する応答フレームの受信によるクレジット値への「1」加算は、通常フレームの送信によるクレジット値からの「1」減算と相殺する。すなわち、正常に通信がおこなえた場合、クレジット値は、通信終了時に初期値に復帰する。   Thereby, “1” addition to the credit value due to reception of the response frame in response to transmission of the normal frame cancels out “1” subtraction from the credit value due to transmission of the normal frame. That is, when communication can be performed normally, the credit value returns to the initial value at the end of communication.

一方、ダミーフレームの送信に対する応答フレームの受信によるクレジット値への「1」加算は、ダミーフレームによるクレジット値からの「1」減算がないことから、クレジット値を増大させる作用を有する。したがって、何らかの通信異常によりクレジット値が小さな値となってしまった場合に、通信制御部22は、ダミーフレームの送信によってクレジット値の復旧を図ることができる。   On the other hand, the addition of “1” to the credit value by receiving the response frame in response to the transmission of the dummy frame has the effect of increasing the credit value because there is no “1” subtraction from the credit value by the dummy frame. Therefore, when the credit value becomes a small value due to some communication abnormality, the communication control unit 22 can recover the credit value by transmitting a dummy frame.

[ステップS17]通信制御部22は、通信終了であるか否かを判定する。通信制御部22は、通信終了である場合にクレジット監視処理を終了し、通信終了でない場合にステップS18にすすむ。   [Step S17] The communication control unit 22 determines whether or not the communication is terminated. The communication control unit 22 ends the credit monitoring process when the communication is terminated, and proceeds to step S18 when the communication is not terminated.

[ステップS18]通信制御部22は、所定のリカバリ条件の成立を判定する。リカバリは、異常な通信状態からの復帰処理である。リカバリ条件は、リカバリ実行契機の判定条件である。たとえば、リカバリ条件は、所定の監視時間中、クレジット値が「0」の状態を検出することである。このリカバリ条件は、通信相手から一切の応答フレームを受信できないときに成立し得る。通信制御部22は、所定のリカバリ条件が成立した場合にステップS19にすすみ、所定のリカバリ条件が成立しない場合にステップS12にすすむ。   [Step S18] The communication control unit 22 determines whether a predetermined recovery condition is satisfied. Recovery is recovery processing from an abnormal communication state. The recovery condition is a condition for determining a recovery execution trigger. For example, the recovery condition is to detect a state where the credit value is “0” during a predetermined monitoring time. This recovery condition can be satisfied when no response frame can be received from the communication partner. The communication control unit 22 proceeds to step S19 when a predetermined recovery condition is satisfied, and proceeds to step S12 when the predetermined recovery condition is not satisfied.

[ステップS19]通信制御部22は、リカバリをおこなう。たとえば、通信制御部22は、通信バッファ内のフレームを破棄して処理中の通信をクリアすることで、クレジット値を初期値に復帰させる。   [Step S19] The communication control unit 22 performs recovery. For example, the communication control unit 22 returns the credit value to the initial value by discarding the frame in the communication buffer and clearing the communication being processed.

このように、通信制御部22は、クレジット値を管理することができる。これにより、通信制御部22は、受信側で受信可能なフレーム数を認識して、送信するフレーム数を制御することができ、ストレージシステム10におけるフレームロストしないデータ転送を実現する。   In this way, the communication control unit 22 can manage the credit value. As a result, the communication control unit 22 can recognize the number of frames that can be received on the receiving side and control the number of frames to be transmitted, thereby realizing data transfer without frame loss in the storage system 10.

次に、正常な通信時のクレジット値の更新について図7を用いて説明する。図7は、第2の実施形態の正常な通信におけるクレジット値の更新シーケンスの一例を示す図である。   Next, updating of the credit value during normal communication will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of a credit value update sequence in normal communication according to the second embodiment.

[シーケンスsq11]通信制御部22は、FCスイッチ21のFCポート210aからクレジット値の通知を受けてFCスイッチ20のFCポート200aのクレジット値を初期化する。これにより、FCポート200aのクレジット値とFCポート210aのクレジット値とは、通信開始時において「4」で一致する。なお、初期値となるクレジット値は、FCポート200aとFCポート210aとの間のネゴシエーションによって決定される。   [Sequence sq11] The communication control unit 22 receives the notification of the credit value from the FC port 210a of the FC switch 21, and initializes the credit value of the FC port 200a of the FC switch 20. As a result, the credit value of the FC port 200a and the credit value of the FC port 210a coincide with “4” at the start of communication. Note that the initial credit value is determined by negotiation between the FC port 200a and the FC port 210a.

[シーケンスsq12]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」に更新する。このとき、FCポート210aのクレジット値は、受信した通常フレームが受信バッファ212aに格納されることから「3」に更新される。   [Sequence sq12] The communication control unit 22 transmits a normal frame from the FC port 200a to the FC port 210a, and updates the credit value to “3”. At this time, the credit value of the FC port 210a is updated to “3” because the received normal frame is stored in the reception buffer 212a.

[シーケンスsq13]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「2」に更新する。このとき、FCポート210aのクレジット値は、「2」に更新される。   [Sequence sq13] The communication control unit 22 transmits a normal frame from the FC port 200a to the FC port 210a, and updates the credit value to “2”. At this time, the credit value of the FC port 210a is updated to “2”.

[シーケンスsq14]通信制御部22は、シーケンスsq12で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「3」に更新される。   [Sequence sq14] The communication control unit 22 receives the response frame corresponding to the normal frame transmitted in the sequence sq12 from the FC port 210a, thereby updating the credit value to “3”. The credit value of the FC port 210a is updated to “3” by clearing one frame storage area of the reception buffer 212a together with the transmission of the response frame.

[シーケンスsq15]通信制御部22は、シーケンスsq13で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「4」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「4」に更新される。   [Sequence sq15] The communication control unit 22 receives the response frame corresponding to the normal frame transmitted in the sequence sq13 from the FC port 210a, thereby updating the credit value to “4”. The credit value of the FC port 210a is updated to “4” when the response frame is transmitted and one frame storage area of the reception buffer 212a is cleared.

[シーケンスsq16]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」に更新する。このとき、FCポート210aのクレジット値は、「3」に更新される。   [Sequence sq16] The communication control unit 22 transmits a normal frame from the FC port 200a to the FC port 210a, and updates the credit value to “3”. At this time, the credit value of the FC port 210a is updated to “3”.

このように、正常な通信時のクレジット値は、送信元と送信先とで同期して更新される。したがって、送信元となるFCスイッチ20は、受信できない量のフレームを、送信先となるFCスイッチ21に送信することを防止できる。   In this way, the credit value during normal communication is updated in synchronization between the transmission source and the transmission destination. Therefore, the transmission source FC switch 20 can prevent an unreceivable amount of frames from being transmitted to the transmission destination FC switch 21.

次に、通常フレームをフレームロストした通信時のクレジット値の更新について図8を用いて説明する。図8は、第2の実施形態の通常フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。   Next, updating of a credit value during communication in which a normal frame is lost will be described with reference to FIG. FIG. 8 is a diagram illustrating an example of a credit value update sequence in communication in which a normal frame is lost in the second embodiment.

[シーケンスsq21]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「3」から「2」に更新する。FCポート200aから送信された通常フレームが何らかの理由でフレームロストする。FCポート210aのクレジット値は、FCポート210aが通常フレームを受信することがないのでクレジット値を「3」のままとする。   [Sequence sq21] The communication control unit 22 transmits a normal frame from the FC port 200a to the FC port 210a, and updates the credit value from “3” to “2”. The normal frame transmitted from the FC port 200a is lost for some reason. The credit value of the FC port 210a remains “3” because the FC port 210a never receives a normal frame.

[シーケンスsq22]通信制御部22は、送信した通常フレームに対応する応答フレームを監視時間t1の経過前に受信しない場合に、FCポート200aからFCポート210aに通常フレームをリトライ送信する。通信制御部22は、リトライ送信時にクレジット値を更新しない。FCポート210aのクレジット値は、リトライ送信された通常フレームの受信によって「3」から「2」に更新される。   [Sequence sq22] If the communication control unit 22 does not receive a response frame corresponding to the transmitted normal frame before the monitoring time t1 has elapsed, it retransmits the normal frame from the FC port 200a to the FC port 210a. The communication control unit 22 does not update the credit value at the time of retry transmission. The credit value of the FC port 210a is updated from “3” to “2” by receiving the retry-transmitted normal frame.

[シーケンスsq23]通信制御部22は、シーケンスsq22で送信した通常フレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「2」から「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。   [Sequence sq23] The communication control unit 22 receives the response frame corresponding to the normal frame transmitted in the sequence sq22 from the FC port 210a, thereby updating the credit value from “2” to “3”. The credit value of the FC port 210a is updated from “2” to “3” by clearing one frame storage area of the reception buffer 212a with the transmission of the response frame.

このように、通常フレームをフレームロストすることがあっても、送信元のクレジット値と送信先のクレジット値とは、送信した通常フレームに対応する応答時に一致する。
次に、通常フレームに対する応答フレームをフレームロストした通信時のクレジット値の更新について図9を用いて説明する。図9は、第2の実施形態の通常フレームに対する応答フレームをフレームロストした通信におけるクレジット値の更新シーケンスの一例を示す図である。
As described above, even when the normal frame is lost, the credit value of the transmission source and the credit value of the transmission destination match at the time of the response corresponding to the transmitted normal frame.
Next, update of a credit value during communication in which a response frame for a normal frame is lost will be described with reference to FIG. FIG. 9 is a diagram illustrating an example of a credit value update sequence in communication in which a response frame to a normal frame according to the second embodiment is lost.

[シーケンスsq31]通信制御部22は、FCポート200aからFCポート210aに通常フレームを送信し、クレジット値を「1」から「0」に更新する。このとき、FCポート210aのクレジット値は、「1」から「0」に更新される。   [Sequence sq31] The communication control unit 22 transmits a normal frame from the FC port 200a to the FC port 210a, and updates the credit value from “1” to “0”. At this time, the credit value of the FC port 210a is updated from “1” to “0”.

[シーケンスsq32]FCポート210aから送信された応答フレームが何らかの理由でフレームロストする。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「0」から「1」に更新される。一方、通信制御部22は、FCポート200aが応答フレームを受信することがないのでクレジット値を「0」のままとする。   [Sequence sq32] The response frame transmitted from the FC port 210a is lost for some reason. The credit value of the FC port 210a is updated from “0” to “1” by clearing one frame storage area of the reception buffer 212a with the transmission of the response frame. On the other hand, the communication control unit 22 keeps the credit value “0” because the FC port 200a does not receive the response frame.

監視時間t2中にFCポート200aが応答フレームを受信することがない場合、通信制御部22は、リカバリをおこなう。なお、通信制御部22は、リカバリに至る前に後述するクレジット復旧処理によって通信状態の回復を図ることができる。   If the FC port 200a does not receive a response frame during the monitoring time t2, the communication control unit 22 performs recovery. Note that the communication control unit 22 can recover the communication state by a credit recovery process to be described later before recovery.

次に、クレジット復旧処理について図10を用いて説明する。図10は、第2の実施形態のクレジット復旧処理のフローチャートを示す図である。
クレジット復旧処理は、クレジット値が減少したままの状態を検出して、減少したクレジット値を復旧する処理である。クレジット復旧処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22によって実行される。
Next, the credit recovery process will be described with reference to FIG. FIG. 10 is a diagram illustrating a flowchart of credit recovery processing according to the second embodiment.
The credit recovery process is a process for detecting a state in which the credit value remains decreased and recovering the decreased credit value. The credit recovery process is executed by the communication control unit 22 on the data transmission side when communication between the FC switches 20 and 21 is started.

[ステップS21]通信制御部22は、復旧監視タイマをスタートする。復旧監視タイマは、クレジット値が減少したままの状態の検出期間の設定に用いるタイマである。
[ステップS22]通信制御部22は、クレジット値を監視する。
[Step S21] The communication control unit 22 starts a recovery monitoring timer. The recovery monitoring timer is a timer used for setting a detection period in a state where the credit value remains decreased.
[Step S22] The communication control unit 22 monitors the credit value.

[ステップS23]通信制御部22は、復旧監視タイマがタイムアップ(たとえば、復旧監視タイマのスタートから500ms経過)したか否かを判定する。通信制御部22は、復旧監視タイマがタイムアップした場合にステップS24にすすみ、復旧監視タイマがタイムアップしていない場合にステップS22にすすむ。   [Step S23] The communication control unit 22 determines whether or not the recovery monitoring timer has expired (for example, 500 ms has elapsed since the start of the recovery monitoring timer). The communication control unit 22 proceeds to step S24 when the recovery monitoring timer expires, and proceeds to step S22 when the recovery monitoring timer has not expired.

[ステップS24]通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して差分が「1」より大きいか否かを判定する。差分が「1」より大きい状態は、復旧監視タイマがタイムアップするまでの間、クレジット値が減少したままの状態であり、クレジット値が「初期値−1」まで復帰しない状態であることを示す。   [Step S24] The communication control unit 22 compares the initial credit value and the maximum credit value during the monitoring period to determine whether or not the difference is greater than “1”. The state where the difference is greater than “1” indicates that the credit value remains decreased until the recovery monitoring timer expires, and the credit value does not return to “initial value−1”. .

通信制御部22は、差分が「1」より大きい場合にステップS25にすすみ、差分が「1」より大きくない場合にステップS21にすすむ。
[ステップS25]通信制御部22は、ダミーフレームを送信してステップS21にすすむ。ダミーフレームは、受信側によって破棄されてもよいデータであり、たとえば、SCSI(Small Computer System Interface)やFCP(Fibre Channel Protocol)が提供するコマンドである。なお、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」とする。
The communication control unit 22 proceeds to step S25 when the difference is larger than “1”, and proceeds to step S21 when the difference is not larger than “1”.
[Step S25] The communication control unit 22 transmits a dummy frame and proceeds to Step S21. The dummy frame is data that may be discarded by the receiving side, and is, for example, a command provided by SCSI (Small Computer System Interface) or FCP (Fibre Channel Protocol). Note that the number of transmissions of dummy frames is set to “1” every time a state in which the credit value remains reduced is detected.

これにより、通信制御部22は、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、通信制御部22が受信側のクレジット値を超えてダミーフレームを送信しても、ダミーフレームが受信側によって破棄されるだけである。   Thereby, the communication control unit 22 can expect recovery of the credit value by receiving the response frame corresponding to the dummy frame. Even if the communication control unit 22 transmits a dummy frame exceeding the credit value on the receiving side, the dummy frame is only discarded by the receiving side.

なお、通信制御部22は、ダミーフレームの送信条件、すなわちクレジット値が減少したままの状態から、差分が「1」に等しい場合を除外する。これは、通常フレームとダミーフレームがバッティングして受信側によって通常フレームが破棄されることを防止するためである。   Note that the communication control unit 22 excludes the case where the difference is equal to “1” from the transmission condition of the dummy frame, that is, the state where the credit value remains decreased. This is to prevent the normal frame from being discarded by the receiving side due to the batting between the normal frame and the dummy frame.

また、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」としたが、差分が「n」より大きい状態をクレジット値が減少したままの状態とすることでダミーフレームの送信数を「n」としてもよい。ただし、「n」は、クレジットの初期値より小さい自然数とする。   In addition, the number of transmissions of dummy frames is set to “1” every time a state where the credit value remains decreased, but a state where the difference is larger than “n” is set to a state where the credit value remains decreased. The number of transmissions of dummy frames may be “n”. However, “n” is a natural number smaller than the initial credit value.

次に、応答フレームをフレームロストした通信時のクレジット値の復旧について説明する。まず、クレジット値が減少したままの状態(クレジット値減少状態)の検出について図11を用いて説明する。図11は、第2の実施形態のクレジット値非減少状態とクレジット値減少状態における通信シーケンスの一例を示す図である。   Next, restoration of a credit value at the time of communication in which a response frame is lost will be described. First, detection of a state in which the credit value remains decreased (credit value decreased state) will be described with reference to FIG. FIG. 11 is a diagram illustrating an example of a communication sequence in the credit value non-decrease state and the credit value decrease state according to the second embodiment.

通信制御部22は、タイミングt11で復旧監視タイマをスタートし、タイミングt12で復旧監視タイマがタイムアップするまでクレジット値を監視する。なお、クレジット値の初期値は、「4」である。通信制御部22は、タイミングt11からタイミングt12までの監視期間中に、シーケンスsq41からsq43における通常フレームの送信と応答フレームの受信とによって、クレジット値を「4」、「3」、「4」、「3」と更新する。通信制御部22は、監視期間中のクレジット値の最大値が「4」であることから、クレジット値の初期値「4」との差分が「1」を超えないことを判定する。したがって、通信制御部22は、タイミングt11からタイミングt12までの監視期間中のクレジット値減少状態を検出しない。   The communication control unit 22 starts the recovery monitoring timer at timing t11 and monitors the credit value until the recovery monitoring timer expires at timing t12. The initial value of the credit value is “4”. During the monitoring period from the timing t11 to the timing t12, the communication control unit 22 sets the credit value to “4”, “3”, “4”, by transmitting the normal frame and receiving the response frame in the sequences sq41 to sq43. Update to “3”. Since the maximum value of the credit value during the monitoring period is “4”, the communication control unit 22 determines that the difference from the initial value “4” of the credit value does not exceed “1”. Accordingly, the communication control unit 22 does not detect a credit value decrease state during the monitoring period from the timing t11 to the timing t12.

一方、通信制御部22は、タイミングt13で復旧監視タイマをスタートし、タイミングt14で復旧監視タイマがタイムアップするまでクレジット値を監視する。通信制御部22は、タイミングt13からタイミングt14までの監視期間中に、シーケンスsq44からsq46における通常フレームの送信と応答フレームの受信とによって、クレジット値を「1」、「0」、「1」、「0」と更新する。   On the other hand, the communication control unit 22 starts the recovery monitoring timer at timing t13 and monitors the credit value until the recovery monitoring timer expires at timing t14. During the monitoring period from timing t13 to timing t14, the communication control unit 22 sets the credit value to “1”, “0”, “1”, by transmitting the normal frame and receiving the response frame in the sequences sq44 to sq46. Update to “0”.

FCポート200aのクレジット値は、タイミングt13からタイミングt14までの監視期間中、応答フレームのフレームロストによりFCポート210aのクレジット値と不一致となっている。また、FCポート200aのクレジット値は、「1」までしか復帰しないため、通信制御部22は、送信できるフレーム数に制約を受ける。このような状態は、FCポート200aとFCポート210aとの間の通信性能が低下した状態である。   The credit value of the FC port 200a does not match the credit value of the FC port 210a due to the frame lost of the response frame during the monitoring period from timing t13 to timing t14. Further, since the credit value of the FC port 200a is restored only to “1”, the communication control unit 22 is restricted by the number of frames that can be transmitted. Such a state is a state in which the communication performance between the FC port 200a and the FC port 210a is deteriorated.

通信制御部22は、タイミングt13からタイミングt14までの監視期間中のクレジット値の最大値が「1」であることから、クレジット値の初期値「4」との差分が「1」を超えることを判定する。したがって、通信制御部22は、タイミングt13からタイミングt14までの監視期間中のクレジット値減少状態を検出する。   Since the maximum value of the credit value during the monitoring period from timing t13 to timing t14 is “1”, the communication control unit 22 determines that the difference from the initial value “4” of the credit value exceeds “1”. judge. Therefore, the communication control unit 22 detects a credit value decrease state during the monitoring period from timing t13 to timing t14.

次に、ダミーフレームの送信によるクレジット値減少状態からの復旧について図12を用いて説明する。図12は、第2の実施形態のダミーフレームの送信によるクレジット値減少状態からの復旧時における通信シーケンスの一例を示す図である。   Next, recovery from a credit value decrease state by transmission of a dummy frame will be described with reference to FIG. FIG. 12 is a diagram illustrating an example of a communication sequence at the time of recovery from a credit value decrease state due to transmission of a dummy frame according to the second embodiment.

[シーケンスsq51]通信制御部22は、クレジット値減少状態にあることを検出して、FCポート200aからFCポート210aにダミーフレームを送信する。このとき、FCポート200aのクレジット値は、更新されず、FCポート210aのクレジット値は、ダミーフレームの受信により「3」から「2」に更新される。   [Sequence sq51] The communication control unit 22 detects that the credit value is decreasing, and transmits a dummy frame from the FC port 200a to the FC port 210a. At this time, the credit value of the FC port 200a is not updated, and the credit value of the FC port 210a is updated from “3” to “2” by receiving the dummy frame.

[シーケンスsq52]通信制御部22は、シーケンスsq51で送信したダミーフレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「1」から「2」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。   [Sequence sq52] The communication control unit 22 receives the response frame corresponding to the dummy frame transmitted in the sequence sq51 from the FC port 210a, thereby updating the credit value from “1” to “2”. The credit value of the FC port 210a is updated from “2” to “3” by clearing one frame storage area of the reception buffer 212a with the transmission of the response frame.

このように、通信制御部22は、クレジット値をクレジット値減少状態から「1」だけ復旧する。なお、通信制御部22は、未だクレジット値減少状態にあることを検出した場合、ダミーフレームを再度送信する。   In this way, the communication control unit 22 recovers the credit value by “1” from the credit value decrease state. If the communication control unit 22 detects that the credit value is still decreasing, it transmits the dummy frame again.

[シーケンスsq53]通信制御部22は、クレジット値減少状態にあることを検出して、FCポート200aからFCポート210aにダミーフレームを送信する。このとき、FCポート200aのクレジット値は、更新されず、FCポート210aのクレジット値は、ダミーフレームの受信により「3」から「2」に更新される。   [Sequence sq53] The communication control unit 22 detects that the credit value is decreasing, and transmits a dummy frame from the FC port 200a to the FC port 210a. At this time, the credit value of the FC port 200a is not updated, and the credit value of the FC port 210a is updated from “3” to “2” by receiving the dummy frame.

[シーケンスsq54]通信制御部22は、シーケンスsq52で送信したダミーフレームに対応する応答フレームをFCポート210aから受信することにより、クレジット値を「2」から「3」に更新する。FCポート210aのクレジット値は、応答フレームの送信とともに受信バッファ212aのフレーム格納領域が1つクリアされて「2」から「3」に更新される。   [Sequence sq54] The communication control unit 22 receives the response frame corresponding to the dummy frame transmitted in the sequence sq52 from the FC port 210a, thereby updating the credit value from “2” to “3”. The credit value of the FC port 210a is updated from “2” to “3” by clearing one frame storage area of the reception buffer 212a with the transmission of the response frame.

これにより、通信制御部22は、クレジット値減少状態を解消したクレジット値の範囲で通常フレームを送信することができる(シーケンスsq55からsq57)。このようにして、通信制御部22は、ダミーフレームの送信を繰返すことによって、クレジット値減少状態を解消し、通信性能が低下した状態から復帰できる。   Thereby, the communication control part 22 can transmit a normal frame in the range of the credit value which eliminated the credit value decrease state (sequence sq55 to sq57). In this way, the communication control unit 22 can return from the state in which the communication performance is degraded by repeating the transmission of the dummy frame to eliminate the credit value decrease state.

なお、通信制御部22は、クレジット値減少状態にあることを検出して、ダミーフレームを1つ送信するようにしたが、クレジット値減少状態に応じて2以上のダミーフレームを送信するものであってもよい。   The communication control unit 22 detects that the credit value is reduced and transmits one dummy frame. However, the communication control unit 22 transmits two or more dummy frames according to the credit value decreased state. May be.

次に、クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングについて図13を用いて説明する。図13は、第2の実施形態のクレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。   Next, the timing of monitoring and determining the credit value decrease state in the credit recovery process will be described with reference to FIG. FIG. 13 is a diagram illustrating an example of a timing chart for monitoring and determining a credit value decrease state in the credit recovery process according to the second embodiment.

通信制御部22は、復旧監視タイマをタイミングt21にスタートし、復旧監視タイマがタイムアップするタイミングt22までのクレジット値を監視し、タイミングt22を判定タイミングとする。通信制御部22は、タイミングt21からタイミングt22までの監視期間中にクレジット値に「4」または「3」があることから、クレジット値減少状態を検出しない。通信制御部22は、タイミングt22を始期としてタイミングt23を終期として次の監視期間を設定する。以降、通信制御部22は、間断なくクレジット値を監視する。   The communication control unit 22 starts the recovery monitoring timer at timing t21, monitors the credit value until timing t22 when the recovery monitoring timer times up, and uses timing t22 as the determination timing. The communication control unit 22 does not detect the credit value decrease state because the credit value is “4” or “3” during the monitoring period from the timing t21 to the timing t22. The communication control unit 22 sets the next monitoring period with the timing t22 as the start and the timing t23 as the end. Thereafter, the communication control unit 22 monitors the credit value without interruption.

[第3の実施形態]
次に、第3の実施形態のストレージシステムについて説明する。第3の実施形態のストレージシステムは、ダミーフレームの送信基準が第2の実施形態と異なる。具体的には、第2の実施形態の通信制御部22が実行するクレジット復旧処理に代えて、第3の実施形態の通信制御部22は、第2クレジット復旧処理を実行する点で相違する。以下、第3の実施形態の説明では、第2の実施形態と同様の構成について符号を同じにして説明を省略する。
[Third Embodiment]
Next, a storage system according to the third embodiment will be described. The storage system of the third embodiment differs from that of the second embodiment in dummy frame transmission standards. Specifically, instead of the credit recovery process executed by the communication control unit 22 of the second embodiment, the communication control unit 22 of the third embodiment is different in that the second credit recovery process is executed. Hereinafter, in the description of the third embodiment, the same components as those in the second embodiment are denoted by the same reference numerals and description thereof is omitted.

まず、第2クレジット復旧処理について図14を用いて説明する。図14は、第3の実施形態の第2クレジット復旧処理のフローチャートを示す図である。第2クレジット復旧処理は、クレジット値が減少したままの状態を検出して、減少したクレジット値を復旧する処理である。第2クレジット復旧処理は、FCスイッチ20,21間の通信開始時に、データ送信側の通信制御部22によって実行される。   First, the second credit recovery process will be described with reference to FIG. FIG. 14 is a diagram illustrating a flowchart of the second credit recovery process according to the third embodiment. The second credit recovery process is a process of detecting a state in which the credit value remains decreased and recovering the decreased credit value. The second credit recovery process is executed by the communication control unit 22 on the data transmission side when communication between the FC switches 20 and 21 is started.

[ステップS31]通信制御部22は、第1監視タイマをスタートする。第1監視タイマは、クレジット値が減少したままの状態の検出期間の設定に用いるタイマである。
[ステップS32]通信制御部22は、クレジット値を監視する。
[Step S31] The communication control unit 22 starts a first monitoring timer. The first monitoring timer is a timer used for setting a detection period for a state in which the credit value remains decreased.
[Step S32] The communication control unit 22 monitors the credit value.

[ステップS33]通信制御部22は、第1監視タイマがタイムアップ(たとえば、第1監視タイマのスタートから500ms経過)したか否かを判定する。通信制御部22は、第1監視タイマがタイムアップした場合にステップS34にすすみ、第1監視タイマがタイムアップしていない場合にステップS32にすすむ。   [Step S33] The communication control unit 22 determines whether or not the first monitoring timer has expired (for example, 500 ms has elapsed since the start of the first monitoring timer). The communication control unit 22 proceeds to step S34 when the first monitoring timer expires, and proceeds to step S32 when the first monitoring timer has not expired.

[ステップS34]通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して差分が「1以上」であるか否かを判定する。差分が「1以上」である状態は、第1監視タイマがタイムアップするまでの間、クレジット値が減少したままの状態、あるいはクレジット値が「初期値(最大値)」まで復帰しない状態であることを示す。   [Step S34] The communication control unit 22 compares the initial value of the credit with the maximum value of the credit during the monitoring period, and determines whether or not the difference is “1 or more”. The state where the difference is “1 or more” is a state where the credit value remains decreased until the first monitoring timer expires, or the credit value does not return to the “initial value (maximum value)”. It shows that.

通信制御部22は、差分が「1以上」の場合にステップS35にすすみ、差分が「1以上」でない場合にステップS31にすすむ。
なお、第3の実施形態は、差分が「1」の場合を含めて、クレジット値が減少したままの状態と判定する点で、第2の実施形態と相違する。第2の実施形態は、差分が「1」の場合を、クレジット値が減少したままの状態と判定しないことで、通常フレームの送信とダミーフレームの送信のバッティングを防止した。第3の実施形態は、以下の処理によって通常フレームの送信とダミーフレームの送信のバッティングを防止する。
The communication control unit 22 proceeds to step S35 when the difference is “1 or more”, and proceeds to step S31 when the difference is not “1 or more”.
The third embodiment is different from the second embodiment in that it is determined that the credit value remains reduced including the case where the difference is “1”. In the second embodiment, the case where the difference is “1” is not determined as a state in which the credit value remains decreased, thereby preventing the batting between the transmission of the normal frame and the transmission of the dummy frame. In the third embodiment, batting between normal frame transmission and dummy frame transmission is prevented by the following processing.

[ステップS35]通信制御部22は、ダミーフレームを送信する。なお、ダミーフレームの送信数は、クレジット値が減少したままの状態を検出するごとに「1」とする。
これにより、通信制御部22は、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、通信制御部22が受信側のクレジット値を超えてダミーフレームを送信しても、ダミーフレームが受信側によって破棄されるだけである。
[Step S35] The communication control unit 22 transmits a dummy frame. Note that the number of transmissions of dummy frames is set to “1” every time a state in which the credit value remains reduced is detected.
Thereby, the communication control unit 22 can expect recovery of the credit value by receiving the response frame corresponding to the dummy frame. Even if the communication control unit 22 transmits a dummy frame exceeding the credit value on the receiving side, the dummy frame is only discarded by the receiving side.

[ステップS36]通信制御部22は、第2監視タイマをスタートする。第2監視タイマは、ダミーフレーム送信後の通常フレームの送信待ち合わせに用いるタイマである。
[ステップS37]通信制御部22は、通常フレームの送信を待機する。これにより、通信制御部22は、通常フレームの送信とダミーフレームの送信のバッティングを防止し、通常フレームが受信側によって破棄されることを防止する。
[Step S36] The communication control unit 22 starts a second monitoring timer. The second monitoring timer is a timer used for waiting for transmission of a normal frame after transmission of a dummy frame.
[Step S37] The communication control unit 22 waits for transmission of a normal frame. Thereby, the communication control unit 22 prevents batting of transmission of the normal frame and transmission of the dummy frame, and prevents the normal frame from being discarded by the receiving side.

[ステップS38]通信制御部22は、ダミーフレームに対する応答フレームを受信したか否かを判定する。通信制御部22は、応答フレームを受信した場合にステップS44にすすみ、応答フレームを受信していない場合にステップS39にすすむ。   [Step S38] The communication control unit 22 determines whether a response frame to the dummy frame has been received. The communication control unit 22 proceeds to step S44 when the response frame is received, and proceeds to step S39 when the response frame is not received.

[ステップS39]通信制御部22は、第2監視タイマがタイムアップ(たとえば、第2監視タイマのスタートから100ms経過)したか否かを判定する。通信制御部22は、第2監視タイマがタイムアップした場合にステップS40にすすみ、第2監視タイマがタイムアップしていない場合にステップS38にすすむ。これにより、通信制御部22は、ダミーフレームに対する応答フレームの受信を、最大で第2監視タイマの監視時間だけ待ち合わせることができる。   [Step S39] The communication control unit 22 determines whether or not the second monitoring timer has expired (for example, 100 ms has elapsed since the start of the second monitoring timer). The communication control unit 22 proceeds to step S40 when the second monitoring timer expires, and proceeds to step S38 when the second monitoring timer does not expire. As a result, the communication control unit 22 can wait for a response time for the dummy frame for the monitoring time of the second monitoring timer at the maximum.

[ステップS40]通信制御部22は、ダミーフレームが破棄されたと判断して、ダミーフレームをリトライ送信する。
[ステップS41]通信制御部22は、第2監視タイマをスタートする。
[Step S40] The communication control unit 22 determines that the dummy frame has been discarded, and transmits the dummy frame as a retry.
[Step S41] The communication control unit 22 starts a second monitoring timer.

[ステップS42]通信制御部22は、リトライ送信したダミーフレームに対する応答フレームを受信したか否かを判定する。通信制御部22は、応答フレームを受信した場合にステップS44にすすみ、応答フレームを受信していない場合にステップS43にすすむ。   [Step S42] The communication control unit 22 determines whether a response frame to the dummy frame that has been retried has been received. The communication control unit 22 proceeds to step S44 when the response frame is received, and proceeds to step S43 when the response frame is not received.

[ステップS43]通信制御部22は、第2監視タイマがタイムアップしたか否かを判定する。通信制御部22は、第2監視タイマがタイムアップした場合にステップS44にすすみ、第2監視タイマがタイムアップしていない場合にステップS42にすすむ。   [Step S43] The communication control unit 22 determines whether or not the second monitoring timer has expired. The communication control unit 22 proceeds to step S44 when the second monitoring timer expires, and proceeds to step S42 when the second monitoring timer does not expire.

なお、リトライ送信したダミーフレームに対する応答がない場合、FCスイッチ20,21は、クレジットが枯渇した状態から復旧できない、あるいは経路異常によりダミーフレームが相手側に届いていない状態である可能性がある。このような場合、通信制御部22は、FCスイッチ20より上位のデバイス(たとえば、図示しない管理装置)による復旧に委ねるものとして、上位のデバイスに所要の状態情報を報知するようにしてもよい。   If there is no response to the retry-transmitted dummy frame, there is a possibility that the FC switches 20 and 21 cannot recover from the state where the credit is depleted or the dummy frame has not reached the other party due to a path abnormality. In such a case, the communication control unit 22 may notify the upper device of necessary status information as entrusted to recovery by a device higher than the FC switch 20 (for example, a management device (not shown)).

[ステップS44]通信制御部22は、通常フレームの送信待機を解除して、ステップS31にすすむ。
これにより、通信制御部22は、通常フレームの送信とダミーフレームの送信のバッティングを防止しながら、ダミーフレームに対応する応答フレームの受信によるクレジット値の復旧を期待できる。また、第3の実施形態の通信制御部22は、差分が「1」の場合を含めて、クレジット値が減少したままの状態と判定することで、第2の実施形態の通信制御部22よりも早くクレジット値が減少したままの状態を検出して早期の復帰を図ることができる。
[Step S44] The communication control unit 22 cancels the normal frame transmission standby and proceeds to step S31.
As a result, the communication control unit 22 can expect recovery of the credit value by receiving the response frame corresponding to the dummy frame while preventing the normal frame transmission and the dummy frame transmission batting. In addition, the communication control unit 22 of the third embodiment determines that the credit value remains reduced, including the case where the difference is “1”, thereby allowing the communication control unit 22 of the second embodiment to An early return can be achieved by detecting a state in which the credit value is still decreasing as soon as possible.

次に、第2クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングについて図15を用いて説明する。図15は、第3の実施形態の第2クレジット復旧処理におけるクレジット値減少状態の監視と判定のタイミングチャートの一例を示す図である。   Next, the timing for monitoring and determining the credit value decrease state in the second credit recovery process will be described with reference to FIG. FIG. 15 is a diagram illustrating an example of a timing chart for monitoring and determining a credit value decrease state in the second credit recovery process according to the third embodiment.

通信制御部22は、第1監視タイマをタイミングt31にスタートし、第1監視タイマがタイムアップするタイミングt32までのクレジット値を監視し、タイミングt32を判定タイミングとする。通信制御部22は、タイミングt31からタイミングt32までの監視期間中にクレジット値に「4」があることから、クレジット値減少状態を検出しない。   The communication control unit 22 starts the first monitoring timer at timing t31, monitors the credit value until timing t32 when the first monitoring timer times up, and uses timing t32 as the determination timing. The communication control unit 22 does not detect the credit value decrease state because the credit value is “4” during the monitoring period from the timing t31 to the timing t32.

通信制御部22は、第1監視タイマをタイミングt32にスタートし、第1監視タイマがタイムアップするタイミングt33までのクレジット値を監視し、タイミングt33を判定タイミングとする。通信制御部22は、タイミングt32からタイミングt33までの監視期間中にクレジット値に「4」がないことから、クレジット値減少状態を検出して、ダミーフレームを送信する。通信制御部22は、第2監視タイマをタイミングt33にスタートし、第2監視タイマがタイムアップすることで、またはダミーフレームに対する応答フレームを受信することで、タイミングt34をクレジット値減少状態の次の監視期間とする。   The communication control unit 22 starts the first monitoring timer at timing t32, monitors the credit value up to timing t33 when the first monitoring timer times up, and uses timing t33 as the determination timing. Since there is no “4” in the credit value during the monitoring period from timing t32 to timing t33, the communication control unit 22 detects a credit value decrease state and transmits a dummy frame. The communication control unit 22 starts the second monitoring timer at the timing t33, and when the second monitoring timer expires or receives a response frame for the dummy frame, the communication control unit 22 sets the timing t34 next to the credit value decreasing state. The monitoring period.

なお、第2の実施形態および第3の実施形態において、通信制御部22は、クレジットの初期値と監視期間中のクレジットの最大値とを比較して両者の差分によりクレジット値が減少したままの状態を検出した。しかしながら、差分によるクレジット値が減少したままの状態の検出は、一例であってこれに限らず、その他の方法によって検出するものであってもよい。たとえば、通信制御部22は、クレジットの最大値がクレジットの初期値まで復帰しない状態と、スループットの低下状態などその他の条件との組み合わせにより、クレジット値が減少したままの状態を検出してもよい。   In the second embodiment and the third embodiment, the communication control unit 22 compares the initial credit value and the maximum credit value during the monitoring period, and the credit value remains reduced due to the difference between the two. A state was detected. However, the detection of the state in which the credit value due to the difference remains reduced is an example, and is not limited to this, and may be detected by other methods. For example, the communication control unit 22 may detect a state in which the credit value remains reduced by a combination of a state where the maximum credit value does not return to the initial credit value and other conditions such as a reduced throughput state. .

なお、上記の処理機能は、コンピュータによって実現することができる。その場合、通信装置2,3、全体制御部20aおよび通信制御部22が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。   The above processing functions can be realized by a computer. In that case, a program describing the processing contents of the functions that the communication devices 2 and 3, the overall control unit 20 a and the communication control unit 22 should have is provided. By executing the program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic storage device, an optical disk, a magneto-optical recording medium, and a semiconductor memory. Examples of the magnetic storage device include a hard disk device (HDD), a flexible disk (FD), and a magnetic tape. Optical discs include DVD, DVD-RAM, CD-ROM / RW, and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。   When distributing the program, for example, portable recording media such as a DVD and a CD-ROM in which the program is recorded are sold. It is also possible to store the program in a storage device of a server computer and transfer the program from the server computer to another computer via a network.

プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムにしたがった処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムにしたがった処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムにしたがった処理を実行することもできる。   The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device. Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program. In addition, each time a program is transferred from a server computer connected via a network, the computer can sequentially execute processing according to the received program.

また、上記の処理機能の少なくとも一部を、DSP、ASIC、PLDなどの電子回路で実現することもできる。   In addition, at least a part of the processing functions described above can be realized by an electronic circuit such as a DSP, ASIC, or PLD.

1 通信システム
2,3 通信装置
2a 記憶部
2b 制御部
2c 送信可能数
4a,4b,4c データ
5a,7a,7b 送達確認
6a,6b ダミーデータ
10 ストレージシステム
11,12 サーバ
13 FCケーブル
14,15 ストレージアレイ
20,21 FCスイッチ
20a 全体制御部
22 通信制御部
23,103 フラッシュメモリ
23a ゾーニングデータベース
23b ネームサーバ
24 管理用LANポート
100 プロセッサ
101 バス
102 RAM
104 外部インタフェース
200a,200b,200c,200d,210a FCポート
201a,211a 送信バッファ
202a,212a 受信バッファ
DESCRIPTION OF SYMBOLS 1 Communication system 2, 3 Communication apparatus 2a Storage part 2b Control part 2c Transmission possible number 4a, 4b, 4c Data 5a, 7a, 7b Delivery confirmation 6a, 6b Dummy data 10 Storage system 11, 12 Server 13 FC cable 14, 15 Storage Array 20, 21 FC switch 20a Overall control unit 22 Communication control unit 23, 103 Flash memory 23a Zoning database 23b Name server 24 Management LAN port 100 Processor 101 Bus 102 RAM
104 External interface 200a, 200b, 200c, 200d, 210a FC port 201a, 211a Transmission buffer 202a, 212a Reception buffer

Claims (7)

送信可能数の範囲で所定単位のデータを他の通信装置に送信する通信装置であって、
前記送信可能数を記憶する記憶部と、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
制御部と、
を備える通信装置。
A communication device that transmits data of a predetermined unit to another communication device within a range of the number of possible transmissions,
A storage unit for storing the transmittable number;
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A control unit;
A communication device comprising:
前記制御部は、所定の監視期間において前記送信可能数が所定数まで復帰しないことの検出により、前記減少状態を検出する、
請求項1記載の通信装置。
The control unit detects the decrease state by detecting that the transmittable number does not return to the predetermined number in a predetermined monitoring period.
The communication apparatus according to claim 1.
前記制御部は、前記送信可能数の初期値と、前記所定の監視期間における前記送信可能数の最大値との差分が1より大きい場合に、前記減少状態を検出する、
請求項2記載の通信装置。
The control unit detects the decrease state when a difference between the initial value of the transmittable number and the maximum value of the transmittable number in the predetermined monitoring period is greater than 1.
The communication apparatus according to claim 2.
前記制御部は、前記減少状態の検出ごとに前記ダミーデータを1つ送信する、
請求項3記載の通信装置。
The control unit transmits one dummy data for each detection of the decrease state,
The communication apparatus according to claim 3.
前記制御部は、前記送信可能数の初期値と、前記所定の監視期間における前記送信可能数の最大値との差分が1以上である場合に、前記減少状態を検出し、
前記ダミーデータを送信後に、所定時間経過または前記ダミーデータの送達確認まで前記データの送信を待機する、
請求項2記載の通信装置。
The control unit detects the decrease state when a difference between an initial value of the transmittable number and a maximum value of the transmittable number in the predetermined monitoring period is 1 or more,
After transmitting the dummy data, wait for transmission of the data until a predetermined time elapses or confirmation of delivery of the dummy data,
The communication apparatus according to claim 2.
コンピュータに、
通信装置から他の通信装置に所定単位のデータを、記憶部が記憶する送信可能数の範囲で送信させ、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
処理を実行させる通信制御プログラム。
On the computer,
A predetermined unit of data is transmitted from the communication device to another communication device within the range of the transmittable number stored in the storage unit,
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A communication control program that executes processing.
コンピュータが、
通信装置から他の通信装置に所定単位のデータを、記憶部が記憶する送信可能数の範囲で送信させ、
前記データの送信により前記送信可能数から前記データの送信数を減算して更新し、
前記データの送達確認により前記送信可能数に前記データの送達確認数を加算して更新し、
前記送信可能数の所定の減少状態を検出した場合に、前記送信可能数から前記データの送信数を減算しないダミーデータを送信し、
前記ダミーデータの送達確認により前記送信可能数に前記ダミーデータの送達確認数を加算して更新する、
処理を実行する通信制御方法。
Computer
A predetermined unit of data is transmitted from the communication device to another communication device within the range of the transmittable number stored in the storage unit,
Subtract and update the number of data transmissions from the transmittable number by transmitting the data,
Update the data delivery confirmation number by adding the data delivery confirmation number to the transmittable number,
When detecting a predetermined decrease state of the transmittable number, send dummy data that does not subtract the transmit number of the data from the transmittable number,
The dummy data delivery confirmation is updated by adding the dummy data delivery confirmation number to the transmittable number,
A communication control method for executing processing.
JP2015007640A 2015-01-19 2015-01-19 COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD Expired - Fee Related JP6404129B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015007640A JP6404129B2 (en) 2015-01-19 2015-01-19 COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015007640A JP6404129B2 (en) 2015-01-19 2015-01-19 COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD

Publications (2)

Publication Number Publication Date
JP2016134718A JP2016134718A (en) 2016-07-25
JP6404129B2 true JP6404129B2 (en) 2018-10-10

Family

ID=56464554

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015007640A Expired - Fee Related JP6404129B2 (en) 2015-01-19 2015-01-19 COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD

Country Status (1)

Country Link
JP (1) JP6404129B2 (en)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3351684B2 (en) * 1996-07-03 2002-12-03 日本電信電話株式会社 Opponent station busy detection method and apparatus therefor
JPH1032584A (en) * 1996-07-17 1998-02-03 Matsushita Electric Ind Co Ltd Data transfer device having retransmission control function
JP3436100B2 (en) * 1996-10-04 2003-08-11 株式会社日立製作所 Communication method
US9350806B2 (en) * 2012-09-07 2016-05-24 International Business Machines Corporation Zero copy data transfers without modifying host side protocol stack parameters

Also Published As

Publication number Publication date
JP2016134718A (en) 2016-07-25

Similar Documents

Publication Publication Date Title
US10652331B1 (en) Locally providing highly available cloud-based storage system services
JP6239029B2 (en) Surveillance camera
US9626153B2 (en) Control device and control method
JP2010524053A (en) In-band problem log data collection method between host and storage system, computer program, and system (in-band problem log data collection between host and storage system)
WO2016190938A1 (en) Locally providing cloud storage array services
JP2017010390A (en) Storage control device, storage control program, and storage control method
IL186893A (en) Virtual media systems, methods and devices
US20140122421A1 (en) Information processing apparatus, information processing method and computer-readable storage medium
JP4317436B2 (en) Disk array system and interface conversion device
JP2010055284A (en) Storage device
WO2011051075A1 (en) Facilitating data compression during replication
JP2007280258A (en) Storage controller
JP2014026529A (en) Storage system and control method thereof
JP6428048B2 (en) COMMUNICATION SYSTEM, ABNORMALITY CONTROL DEVICE, AND ABNORMALITY CONTROL METHOD
JP6404129B2 (en) COMMUNICATION DEVICE, COMMUNICATION CONTROL PROGRAM, AND COMMUNICATION CONTROL METHOD
JP4998166B2 (en) Data input terminal, input data transmission method, input data transmission program
US11102298B1 (en) Locally providing cloud storage services for fleet management
JP5112138B2 (en) Session management method, storage device, and computer system
JP2017182332A (en) Remote terminal, method of controlling the same, computer system, and program
JP2013093681A (en) Monitoring camera device and monitoring camera system
JP4129449B2 (en) Stream data delivery method and system
JP6051617B2 (en) Control device, storage device, control method, and control program
US12470495B2 (en) Data transmitting apparatus that transmits a data stream to a receiving apparatus via a network and a control method thereof
US20130219212A1 (en) Array management device, array management method and integrated circuit
JP6007620B2 (en) RELAY DEVICE, STORAGE SYSTEM, AND RELAY DEVICE CONTROL METHOD

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180823

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180912

R150 Certificate of patent or registration of utility model

Ref document number: 6404129

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees