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
JP6166773B2 - 光モジュール可用性検出方法及び装置 - Google Patents
[go: Go Back, main page]

JP6166773B2 - 光モジュール可用性検出方法及び装置 - Google Patents

光モジュール可用性検出方法及び装置 Download PDF

Info

Publication number
JP6166773B2
JP6166773B2 JP2015254363A JP2015254363A JP6166773B2 JP 6166773 B2 JP6166773 B2 JP 6166773B2 JP 2015254363 A JP2015254363 A JP 2015254363A JP 2015254363 A JP2015254363 A JP 2015254363A JP 6166773 B2 JP6166773 B2 JP 6166773B2
Authority
JP
Japan
Prior art keywords
register
path
optical module
level
sda
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
JP2015254363A
Other languages
English (en)
Other versions
JP2016146621A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016146621A publication Critical patent/JP2016146621A/ja
Application granted granted Critical
Publication of JP6166773B2 publication Critical patent/JP6166773B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/075Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
    • H04B10/077Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using a supervisory or additional signal
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/40Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/075Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
    • H04B10/079Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using measurements of the data signal
    • H04B10/0799Monitoring line transmitter or line receiver equipment

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Optical Communication System (AREA)
  • Information Transfer Systems (AREA)

Description

本発明の実施例は、通信技術の分野に関し、特に光モジュール可用性検出方法及び装置に関する。
光モジュールとも呼ばれるスモール・フォーム・ファクタ・プラガブル(英語:small form−factor pluggable,略してSFP)送受信機(英語:transceiver)は、電気通信及びデータ通信における光通信用途に利用され、通常は標準的なSFPケージ(cage)にパッケージ化されるスモール・フォーム・ファクタ・プラガブル光送受信機である。コンパクトSFP(英語:Compact SFP,略してCSFP)は、2つのシングル・ファイバ双方向光送受信機が標準的なSFPケージにパッケージ化される光モジュールである。CSFPが利用されるデバイスは、光モジュールケージの数が同一に留まる2倍の数のポートを有することが可能であり、高密度及び低コストのための要求を充足できる。
シングル・ファイバ双方向光送受信機はCSFPに利用されるが、CSFPがパッケージ化される光モジュールケージが、光モジュールをサポートする通信デバイスのソケットに接続されるとき、2つのペアの送受信ラインが依然として必要とされる。従って、CSFPにおける第2の送受信機の送信信号は、光モジュールケージの可用性信号のピンを占有する必要があり、この場合、光モジュールが利用可能であるか否かは、可用性信号のレベルを利用することによって決定することはできない。
システムソフトウェアを利用してI2Cポーリングを実行する方式は、通常は光モジュールがSFPケージにおいて利用可能であるか判断するのに利用され、すなわち、システムソフトウェアは、各光モジュールケージに対応するインター・インテグレーティッド・サーキット(英語:Inter Integrated Circuit,略してI2C又はIC)パスにリクエスト信号を送信し、それから、レスポンスがI2Cパスから受信されるか否かに従って、光モジュールが利用可能であるか判断する。しかしながら、システムソフトウェアにより実行されるI2Cポーリングは大量のCPUリソースを占有し、CPU使用の増加をもたらす。さらに、I2Cポーリングがシステムソフトウェアを利用することによって実行されるとき、ポーリング期間がある。比較的多数の光モジュールケージがある場合、ポーリング時間は長く、光モジュールがSFPケージにおいて利用可能であるか否かは、リアルタイムにモニタリングすることはできない。さらに、I2Cポーリング時間は長いため、光モジュールに対する高速の挿入及び削除処理は、I2Cポーリングがシステムソフトウェアを利用することによって実行されるとき感知されないかもしれない。
本発明の実施例は、CPU使用が増加しないケースにおいて、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視できず、光モジュールの高速の挿入及び削除が検知できないという従来技術における以下の問題が解決可能になるように、光モジュール可用性検出方法及び装置を提供する。
第1の態様は、検出装置に適用される光モジュール可用性検出方法であって、検出装置はN個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該方法は、
コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得するステップと、
プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップであって、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である、実行するステップと、
プローブ結果を可用性レジスタに書き込むステップであって、システムソフトウェアはレジスタからプローブ結果を取得する、書き込むステップと、
を有する方法を提供する。
第1の態様を参照して、第1の可能な実現方式では、プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップは、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するステップを有し、
M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも第1の光モジュールケージにおいて利用可能でないと判断され、
光モジュールが第1の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断され、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが第1の光モジュールケージにおいて利用可能であると判断される。
第1の態様を参照して、第2の可能な実現方式では、プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップは、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するステップを有し、M個の光モジュールケージにおける何れかの光モジュールケージについて、M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断され、光モジュールが第1の所定のアドレスにおいて利用可能であって、何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断され、光モジュールが第1の所定のアドレスにおいて利用可能であって、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが何れかの光モジュールケージにおいて利用可能であると判断される。
第1の態様の第1又は第2の可能な実現方式を参照して、第3の可能な実現方式では、N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタによって制御され、SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するステップは、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第1の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第1の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を有する。
第1の態様の第2の可能な実現方式を参照して、第4の可能な実現方式では、N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタによって制御され、SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するステップは、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第2の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第2の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第2の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を有する。
第1の態様の第3又は第4の可能な実現方式を参照して、第5の可能な実現方式では、所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
スタート時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、SCLパスのレベルを高レベルに設定すること、SDAパスのレベルを低レベルに設定すること、及びSCLパスのレベルを低レベルに設定することを順次有し、
アドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及びSCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
ステップi:SCLパスのレベルを低レベルに設定し、
ステップj:第1の所定のアドレス又は第2の所定のアドレスに従ってSDAパスのレベルを設定し、
ステップk:SCLパスのレベルを高レベルに設定する、
ことであり、
アクノリッジメント時間シーケンスにおける処理は、SCLパスのレベルを高レベルに設定すること、SDAパスを入力状態にスイッチすること、第1の所定のアドレス又は第2の所定のアドレスに対応する可用性レジスタを設定すること、SCLパスのレベルを低レベルに設定すること、及びSDAパスを出力状態にスイッチすることを順次有し、
ストップ時間シーケンスにおける処理は、SDAパスのレベルを低レベルに設定すること、SCLパスのレベルを高レベルに設定すること、及びSDAパスのレベルを高レベルに設定することを順次有する。
第2の態様は、検出装置であって、当該検出装置はN個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該装置は、
コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得するよう構成される読み込みモジュールと、
プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するよう構成される処理モジュールであって、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である、処理モジュールと、
プローブ結果を可用性レジスタに書き込むよう構成される書き込みモジュールであって、システムソフトウェアはレジスタからプローブ結果を取得する、書き込みモジュールと、を有する検出装置を提供する。
第2の態様を参照して、第1の可能な実現方式では、処理モジュールは、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するよう構成され、
M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも第1の光モジュールケージにおいて利用可能でないと判断され、
光モジュールが第1の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断され、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが第1の光モジュールケージにおいて利用可能であると判断される。
第2の態様を参照して、第2の可能な実現方式では、処理モジュールは、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するよう構成され、
M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断され、光モジュールが第1の所定のアドレスにおいて利用可能であり、何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールは何れかの光モジュールにおいて利用可能であると判断され、光モジュールが第1の所定のアドレスにおいて利用可能であり、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが何れかの光モジュールにおいて利用可能であると判断される。
第2の態様の第1又は第2の可能な実現方式を参照して、第3の可能な実現方式では、N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタによって制御され、SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、処理モジュールは、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第1の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第1の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成される。
第2の態様の第2の可能な実現方式を参照して、第4の可能な実現方式では、N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタによって制御され、SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、処理モジュールは、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第2の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第2の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第2の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成される。
第2の態様の第3又は第4の可能な実現方式を参照して、第5の可能な実現方式では、所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
スタート時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、SCLパスのレベルを高レベルに設定すること、SDAパスのレベルを低レベルに設定すること、及びSCLパスのレベルを低レベルに設定することを順次有し、
アドレスプローブ時間シーケンス及び前記リード/ライト時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及びSCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
ステップi:SCLパスのレベルを低レベルに設定し、
ステップj:第1の所定のアドレス又は第2の所定のアドレスに従ってSDAパスのレベルを設定し、
ステップk:SCLパスのレベルを高レベルに設定する、
ことであり、
アクノリッジメント時間シーケンスにおける処理は、SCLパスのレベルを高レベルに設定すること、SDAパスを入力状態にスイッチすること、第1の所定のアドレス又は第2の所定のアドレスに対応する可用性レジスタを設定すること、SCLパスのレベルを低レベルに設定すること、及びSDAパスを出力状態にスイッチすることを順次有し、
ストップ時間シーケンスにおける処理は、SDAパスのレベルを低レベルに設定すること、SCLパスのレベルを高レベルに設定すること、及びSDAパスのレベルを高レベルに設定することを順次有する。
本発明の実施例は、光モジュール可用性検出方法及び装置を提供し、ここで、検出装置は、N個のパスを利用することによってN個の光モジュールケージに同時に接続される。当該装置は、コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得し、それから、N個のパス内にあって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行し、プローブ結果を取得し、ここで、当該プローブ結果は、M個の光モジュールケージの光モジュールの可用性情報と、光モジュールのタイプとを有し、最後にプローブ結果を可用性レジスタに書き込み、これにより、システムソフトウェアは、他の何れのアクションを実行することなくレジスタからプローブ結果を取得可能になり、従って、CPU使用がかなり低くなる。さらに、検出装置はM個の光モジュールケージに対して同時プローブを実行するため、各回におけるプローブ時間はかなり短く、高速な挿入及び削除処理の時間よりはるかに小さい。この結果、システムソフトウェアを利用して従来技術におけるポーリングを実行する方式と比較して、CPU使用が増加しないケースでは、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視可能であり、光モジュールに対する高速な挿入及び削除処理が検知可能である。
本発明の実施例における技術的解決策をより明確に説明するため、以下は、実施例を説明するのに必要な添付図面を簡潔に紹介する。明らかに、以下の説明における添付図面は本発明の一部の実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
図1は、本発明の実施例による適用シナリオの概略的な構成図である。 図2は、本発明の実施例による光モジュール可用性検出方法の概略的なフローチャートである。 図3は、本発明の実施例による他の光モジュール可用性検出方法の概略的なフローチャートである。 図4は、本発明の実施例によるI2C時間シーケンスの図である。 図5は、本発明の実施例による光モジュール可用性検出方法におけるプローブプロセスの概略的なフローチャートである。 図6は、本発明の実施例による検出装置の概略的な構成図である。 図7は、本発明の実施例による他の検出装置の概略的な構成図である。
本発明の実施例の課題、技術的解決策及び効果をより明確にするため、以下は、本発明の実施例における添付図面を参照して、本発明の実施例における技術的解決策を明確且つ完全に説明する。明らかに、説明される実施例は本発明の実施例の全てでなく一部である。創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲内に属する。
図1に示されるように、図1は、本発明の実施例によるネットワーク装置の概略的な構成図であり、ここで、ネットワーク装置は、中央処理ユニット(Central Processing Unit、略してCPU)、検出装置及び複数の光モジュールケージを有する。検出装置を利用することによって、本発明の本実施例において提供されるネットワーク装置は、光モジュールケースにおけるCSFP及びSFPなどの光モジュールが利用可能であるかリアルタイムに監視し、光モジュールの高速な挿入及び削除を検知できる。検出装置は、論理デバイスであってもよく、例えば、コンプレクス・プログラマブル・ロジック・デバイス(英語:Complex Programmable Logic Device、略してCPLD)であってもよいし、又はフィールド・プログラマブル・ゲート・アレイ(英語:Field Programmable Gate Array、略してFPGA)であってもよい。図1を参照して、一方では、検出装置はI2Cパスを利用することによってCPUに接続され、他方では、検出装置はI2Cパスを利用することによって光モジュールケージに同時接続され、すなわち、1つのI2Cパスを利用することによって各光モジュールケージに接続される。検出装置は、複数の光モジュールケージに対して同時プローブを実行可能である。各I2Cパスは2つのライン、SDAパスとも呼ばれるシリアルデータ(英語:Serial Data、略してSDA)ラインと、SCLパスとも呼ばれるシリアルクロック(英語:Serial Clock、略してSCL)ラインとを有する。各I2CパスのSDAラインの一方のエンドとSCLラインの一方のエンドとは、検出装置の対応するピンに接続され、SDAラインの他方のエンドとSCLラインの他方のエンドとは、光モジュールケージの対応するピンに接続される。光モジュールケージに対してプローブを実行する際、検出装置は、光モジュールケージに対応するI2Cパスを占有する。この場合、システムソフトウェア(システムソフトウェアは、I2C機能を実現するため検出装置内のいくつかの命令セットであり、例えば、検出装置を制御するのに利用されるシステムソフトウェアであってもよいし、又は光モジュールの可用性状態及び光モジュールのタイプを決定するのに専用のソフトウェアなどの特定の機能を備えたシステムソフトウェアであってもよいことが理解されてもよい)は、光モジュールケージにおける光モジュールにアクセスできない(例えば、メーカー情報、電力及び電圧などの情報へのアクセス及び取得)。同様に、システムソフトウェアが光モジュールケージにアクセスするとき、検出装置は、光モジュールケージに対応するI2Cパスを利用することによって、光モジュールケージに対してプローブを実行できない。
本発明の本実施例では、コンフリクトレジスタは、各光モジュールケージのI2Cパスがシステムソフトウェアにより占有されているか示す占有状態を記憶するよう構成され、SCLレベルレジスタは、SCLパスのレベル状態を制御するよう構成され、SDAレベルレジスタは、SDAパスのレベル状態を制御するよう構成され、SDA制御レジスタは、SDAパスの入出力状態を制御するよう構成され、可用性レジスタは、プローブ結果を記憶するよう構成される。コンフリクトレジスタ、SCLレベルレジスタ、SDAレベルレジスタ、SDA制御レジスタ及び可用性レジスタは、通常は検出装置内に配置されてもよい。
図1に示される検出装置及び当該検出装置により実現される光モジュール可用性検出方法は、添付図面を参照して以下で詳細に説明される。
図2に示されるように、本発明の実施例は、図1に示される検出装置に適用可能な光モジュール可用性検出方法を提供し、ここで、検出装置は、N個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該方法は以下を有する。
ステップ101:コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得する。
ステップ102:プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行し、ここで、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である。
ステップ103:プローブ結果を可用性レジスタに書き込み、システムソフトウェアはレジスタからプローブ結果を取得する。
本発明の本実施例において提供される光モジュール可用性検出方法によると、検出装置は、N個のパスを利用することによってN個の光モジュールケージに同時に接続され、検出装置は、コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従って検出装置に接続されるN個のパスの占有状態を取得し、それから、プローブ結果を取得するため、N個のパス内にあって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行し、ここで、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、最後に、プローブ結果を可用性レジスタに書き込み、これにより、システムソフトウェアはレジスタからプローブ結果を取得できる。システムソフトウェアは、可用性レジスタの読み込みを除く他の何れかのアクションを実行する必要はなく、プローブが実行される必要がある光モジュールケージのプローブ結果を取得し、従って、CPU使用はかなり低い。さらに、検出装置はM個の光モジュールケージに対して同時プローブを実行するため、プローブ時間は各回についてかなり短く、高速な挿入及び削除処理のための時間よりかなり小さい。この結果、システムソフトウェアを利用して従来技術におけるポーリングを実行する方式と比較して、CPU使用が増加しないケースでは、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視可能であり、光モジュールに対する高速な挿入及び削除処理が検知できる。
本発明の実施例において提供される技術的解決策を当業者により明確に理解させるため、以下は、特定の実施例を利用することによって、本発明の本実施例において提供される光モジュール可用性検出方法を詳細に説明する。光モジュール可用性検出方法は検出装置により実行されてもよく、ここで、検出装置は、上述された論理デバイスであってもよく、検出装置の構成については、上記の説明を参照されたく、詳細は再説明されない。図3に示されるように、当該方法は以下を有する。
ステップ201:検出装置は、コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得し、ここで、本実施例では、N個のパスは全て上記のI2Cパスであってもよい。
具体的には、コンフリクトレジスタのレジスタ値は、N個のパスの占有状態を示すのに利用されてもよい。例えば、コンフリクトレジスタが32ビットレジスタである場合、コンフリクトレジスタの値は32ビットであり、Nは32である。コンフリクトレジスタの現在値が16進数で0x00000001であると仮定すると、当該値は、2進数値への変換後に00000000000000000000000000000001であり、0が非占有を表し、1が占有を表すことによって、32個のパスの占有状態を別々に特定する。32個のパスがパス0〜31であると仮定すると、コンフリクトレジスタの上記の値から、パス0〜30は占有されず、パス31が占有されることが理解できる。占有されていないパス0〜30に対するプローブが実行可能であり、パス31はシステムソフトウェアにより占有され、従って、パス31はスキップされ、検出中に検出されるべきでない。さらに、ここでのパスは全て上記のI2Cパスであり、説明の簡単化のため、以下の実施例における全てのレジスタはデフォルトにより32ビットレジスタである。
さらに、検出プロセス中、論理デバイスはコンフリクトレジスタに1回のみアクセスする必要があり、コンフリクトレジスタの値は、パスがシステムソフトウェアにより占有されているか否かに関して全てのパスの状態を反映し、従って、論理デバイスはコンフリクトレジスタの値を変更できない。
ステップ202:検出装置は、プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行し、ここで、M及びNは共に正の整数であり、MはN以下である。
具体的には、光モジュールが光モジュールケージにおいて利用可能であるか否かに関するプローブは、光モジュールの第1の所定のアドレス及び第2の所定のアドレスに対してプローブを実行することにより実現されてもよく、ここで、第1の所定のアドレス及び第2の所定のアドレスは、光モジュールの通常利用されるI2Cアドレスである。例えば、本明細書では、第1の所定のアドレスは0x50であってもよく、第2の所定のアドレスは0x52であってもよい。0x50に対してプローブを実行することからの結果と、0x52に対してプローブを実行することからの結果とは、0x50に対応する可用性レジスタと0x52に対応する可用性レジスタとにそれぞれ記憶される必要がある。
以下はまず、同時プローブがM個の光モジュールケージの第1の所定のアドレスに対して実行される具体例を利用することによって説明される。図5に示されるように、以下のステップが含まれてもよい。
ステップ2021:所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定する。
図4において、通常のI2C時間シーケンスが示されてもよい。本発明の本実施例における所定のI2C時間シーケンスは、図4に示される時間シーケンスと異なり、図4に示されるスタート時間シーケンス(START)、アドレスプローブ時間シーケンス(ADDRESS)及びリード/ライト時間シーケンス(R/W)、アクノリッジメント時間シーケンス(ACK)(図4では第1のアクノリッジメントのみ)及びストップ時間シーケンス(STOP)が順次実行される。
SDAパス及びSCLパスのための複数の処理が、各時間シーケンスに含まれる。具体的には、本発明の本実施例における所定のI2C時間シーケンスにおいて、処理、処理のためのターゲットパス及び各時間シーケンスに含まれる処理シーケンスが以下に示される。
スタート時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、SCLパスのレベルを高レベルに設定すること、SDAパスのレベルを低レベルに設定すること、及びSCLパスのレベルを低レベルに設定することを順次有し、
アドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及びSCLパスのレベルを低レベルに設定することを順次有し、ここで、Iは所定値であってもよく、例えば、I2Cプロトコルでは、Iは8であってもよいと指定され、ステップi、ステップj及びステップkは、
ステップi:SCLパスのレベルを低レベルに設定し、
ステップj:第1の所定のアドレス又は第2の所定のアドレスに従ってSDAパスのレベルを設定し、ここで、ステップ2021〜2028はM個の光モジュールケージの第1の所定のアドレスに対するプローブを説明し、従って、SDAパスのレベルは、ステップjが8回実行されるとき、第1の所定のアドレスに従って設定される必要がある。具体例としてアドレス0x50を利用することによって、0x50に対応するバイナリ値は01010000であり、1ビットの左へのシフトが01010000に対して実行され、10100000を取得し、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおけるステップjの8回の繰り返しの実行は、順次にSDAパスのレベルを高レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを高レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定することであってもよい。0x50と同様に、0x52について、対応するバイナリ値は01010010であり、1ビットだけ左へのシフトを実行することにより10100100が取得され、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおけるステップjの8回の繰り返しの実行は、順次にSDAパスのレベルを高レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを高レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを高レベルに設定し、SDAパスのレベルを低レベルに設定し、SDAパスのレベルを低レベルに設定することであってもよい。
ステップk:SCLパスのレベルを高レベルに設定し、
アクノリッジメント時間シーケンスにおける処理は、SCLパスのレベルを高レベルに設定し、SDAパスを入力状態にスイッチし、第1の所定のアドレス又は第2の所定のアドレスに対応する可用性レジスタを設定し、SCLパスのレベルを低レベルに設定し、SDAパスを出力状態にスイッチすることを順次有し、
ストップ時間シーケンスにおける処理は、SDAパスのレベルを低レベルに設定し、SCLパスのレベルを高レベルに設定し、SDAパスのレベルを高レベルに設定することを順次有する。
SCLパスのレベル又はSDAパスのレベルを高レベルに設定することは、SCLレベルレジスタ又はSDAレベルレジスタに1を書き込むことを表し、SCLパスのレベル又はSDAパスのレベルを低レベルに設定することは、SCLレベルレジスタ又はSDAレベルレジスタに0を書き込むことを表す。例えば、現在の時間シーケンスに従って、実行される現在の処理がスタート時間シーケンスにおいて“SDAパスのレベルを高レベルに設定する”ことであると判断されたと仮定すると、ターゲットパスはM個のパスのSDAパスであると判断され、ターゲットパスに対応するレジスタはSDAレベルレジスタであり、従って、SDAレベルレジスタに書き込まれる第1のレジスタ値は0xffffffff(2進数では11111111111111111111111111111111に等しい)であると判断されてもよい。さらに、現在の時間シーケンスに従って、実行される現在の処理がアドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおいて“SCLパスのレベルを低レベルに設定する”ことであると判断されたと仮定すると、ターゲットパスはM個のパスのSCLパスであると判断され、ターゲットパスに対応するレジスタはSCLレベルレジスタであると判断され、従って、SCLレベルレジスタに書き込まれる第1のレジスタ値は0x00000000(2進数で00000000000000000000000000000000に等しい)であると判断されてもよい。あるいは、現在の時間シーケンスに従って、実行される現在の処理がアクノリッジメント時間シーケンスにおいて“SDAパスを入力状態にスイッチする”ことであると判断されたと仮定すると、ターゲットパスはM個のパスのSDAパスであると判断され、この場合、ターゲットパスに対応するレジスタはSDAレベルレジスタである。
ステップ2022:ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込む。ステップ2021において説明されたように、ターゲットパスがM個のパスのSDAパスである場合、第2のレジスタ値はSDAレベルレジスタから読み込まれる必要があり、しかしながら、現在の処理がアクノリッジメント時間シーケンスにおいて“SDAパスを入力状態にスイッチする”又は“SDAパスを出力状態にスイッチする”ことである場合、第2のレジスタ値はSDA制御レジスタから読み込まれる必要があり、ターゲットパスがM個のパスのSCLパスである場合、第2のレジスタ値はSCLレベルレジスタから読み込まれる必要がある。
ステップ2023:コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行する。
ステップ2024:第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込む。
ステップ2023及びステップ2024は、以下の式を利用することによって単に表現されてもよい。
D=((A&〜C)|(B&C))
ここで、Cはコンフリクトレジスタの値を表し、Aは第1のレジスタ値であり、Bは第2のレジスタ値であり、Dは演算後のターゲットパスに対応するレジスタ(すなわち、Bが取得されるレジスタ、ここで、レジスタの値はBからDに更新されることに等しい)に記憶される第5のレジスタ値を表す。
上記のステップでは、第1のレジスタ値及び第2のレジスタ値は、スタート時間シーケンスにおいて“SDAパスのレベルを高レベルに設定する”処理に従って決定される。ステップ2024の実行が完了した後、ステップ2021〜ステップ2024が、スタート時間シーケンスにおいて“SCLパスのレベルを高レベルに設定する”処理に従って決定される第1のレジスタ値及び第2のレジスタ値に従って再実行される必要がある。同様に、ステップ2021〜ステップ2024が、アクノリッジメント時間シーケンスにおける“SDAパスを入力状態にスイッチする”処理が完了するまで、ステップ2021に示される所定のI2C時間シーケンスにより示される実行シーケンス及び各時間シーケンスにおける処理の実行シーケンスに従って繰り返し実行される。次に、以下のステップが実行される。
ステップ2025:SDAレベルレジスタの第6のレジスタ値を読み込む。
ステップ2026:第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込む。
2つの可用性レジスタがあり、一方の可用性レジスタは第1の所定のアドレスに対応し、他方の可用性レジスタは第2の所定のアドレスに対応し、例えば、0x50は1つの可用性レジスタに対応し、0x52は1つの可用性レジスタに対応する。0x50に対するプローブが今回実行される場合、第7のレジスタ値が、0x50に対応する可用性レジスタから読み込まれる必要がある。
ステップ2027:コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行する。
ステップ2028:第1の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行し、ここで、第10のレジスタ値は、M個の光モジュールケージの第1の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される。
ステップ2027及びステップ2028は、以下の式を利用することによって単に表現されてもよい。
D=((A&〜C)|(B&C))
ここで、Cはコンフリクトレジスタの値を表し、Aは第6のレジスタ値であり、Bは第7のレジスタ値であり、Dは演算後の第1の所定のアドレスに対応する可用性レジスタ(すなわち、Bが取得されるレジスタ、ここで、レジスタの値はBからDに更新されることに等しい)に記憶される第10のレジスタ値を表す。
ステップ2028の後、アクノリッジメント時間シーケンスにおける“SCLパスのレベルを低レベルに設定する”及び“SDAパスを出力状態にスイッチする”処理と、ストップ時間シーケンスにおける処理とが依然として、所定のI2C時間シーケンスに従って順次実行される必要がある。当該処理のプロセスはステップ2021〜2024のものと正確に同じであり、詳細は再説明されない。
結論として、上記の処理の完了はM個の光モジュールケージの第1の所定のアドレスに対して実行されるプローブの完了を意味し、以降の実行ステップは以下の2つの方式に分割されてもよい。
第1の方式:M個の光モジュールケージにおける何れかの光モジュールケージについて、第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断し、光モジュールケージの第2の所定のアドレスに対してプローブの実行をスキップするか、又は、
第1の所定のアドレスの可用性状態が利用可能であるとプローブ処理により判断された場合、何れかの光モジュールケージの第2の所定のアドレスに対してプローブを実行し続ける。
第2の方式:プローブ処理により決定された第1の所定のアドレスの可用性状態が利用可能であるか、又は利用不可であるかに関わらず、何れかの光モジュールケージの第2の所定のアドレスに対してプローブを実行し続け、すなわち、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行する。
何れかの光モジュールケージの第2の所定のアドレスに対してプローブを実行し続けるプロセスのため、何れかの光モジュールケージの第1の所定のアドレスに対してプローブを実行し続けるプロセスとの相違は、第7のレジスタ値が第2の所定のアドレスに対応する可用性レジスタから読み込まれる点にあり、取得された第10のレジスタ値は第2の所定のアドレスに対応する可用性レジスタに書き込まれる必要がある第10のレジスタ値であり、残りのステップは何れかの光モジュールケージの第1の所定のアドレスに対してプローブを実行し続けるステップと正確に同じであり、詳細は再説明されない。
ステップ203:検出装置は、プローブ結果を可用性レジスタに書き込む。
具体的には、ステップ2028に対応して、第1の所定のアドレスに対するプローブを介し取得された第10のレジスタ値は、第1の所定のアドレスに対応する可用性レジスタに書き込まれ、第2の所定のアドレスに対するプローブを介し取得された第10のレジスタ値は、第2の所定のアドレスに対応する可用性レジスタに書き込まれる。第1の所定のアドレスに対応する可用性レジスタにおける値と、第2の所定のアドレスに対応する可用性レジスタにおける値とがプローブ結果であり、2つの可用性レジスタの値における各ビットは、当該ビットに対応する光モジュールケージの第1の所定のアドレス又は第2の所定のアドレスの可用性状態を表すことができる。何れかの光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプは、何れかの光モジュールケージに対応する第1の所定のアドレスの可用性状態及び第2の所定のアドレスの可用性状態に従って記述でき、ここで、光モジュールの可用性情報は、光モジュールが利用可能である、光モジュールが利用可能でない、とを含み、光モジュールのタイプは、光モジュール及びコンパクト光モジュールを含む。
ステップ204:システムソフトウェアは、レジスタからプローブ結果を取得する。
最後に、システムソフトウェアは、第1の所定のアドレスに対応する可用性レジスタの値と第2の所定のアドレスに対応する可用性レジスタの値とに従って、光モジュールが各光モジュールケージにおいて利用可能であるか判断するため、各光モジュールケージにおける光モジュールの第1の所定のアドレスのプローブ結果と第2の所定のアドレスのプローブ結果とを知ることができ、ここで、当該判断は以下の方法を利用することによって実行されてもよく、
何れかの光モジュールについて、第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断し、第1の所定のアドレスの可用性状態が利用可能であって、第2の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断し、又は、第1の所定のアドレスの可用性状態が利用可能であって、第2の所定のアドレスの可用性状態が利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが何れかの光モジュールケージにおいて利用可能であると判断する。
結論として、ステップ201〜204の実行の各回は、論理デバイスが当該論理デバイスに接続されるN個の光モジュールケージに対して実行されるプローブである。プローブはI2Cパスを利用することによって複数の光モジュールケージに対して同時に実行され、プローブ時間は各回についてかなり短く、従来のI2C時間シーケンスの一部のみが実行され、これにより、プローブ時間は更に低減され、プローブを実行するのに通常は1ms未満しかかからず、従って、光モジュールが光モジュールケージにおいて利用可能であるか否かが、リアルタイムに監視できる。さらに、1msは管理者が高速な挿入及び削除処理を実行するための時間よりはるかに小さく、従って、光モジュールに対する高速な挿入及び削除処理が特定できる。さらに、システムソフトウェアは、プローブが実行される必要がある光モジュールケージのプローブ結果を取得するため、可用性レジスタの読み込みを除く他の何れかのアクションを実行する必要はなく、従って、CPU使用はかなり低い。この結果、システムソフトウェアを利用して従来技術におけるポーリングを実行する方式と比較して、本発明の本実施例において提供される上記の光モジュール可用性検出方法では、CPU使用が増加しないケースにおいて、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視可能であり、光モジュールに対する高速な挿入及び削除処理が検知できる。
本発明の実施例は更に、検出装置01を提供する。図6に示されるように、検出装置01は、N個のパスを利用することによってN個の光モジュールケージに同時に接続され、検出装置01は、
コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従ってN個のパスの占有状態を取得するよう構成される読み込みモジュール011と、
プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するよう構成される処理モジュール012であって、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である、処理モジュール012と、
プローブ結果を可用性レジスタに書き込むよう構成される書き込みモジュール013であって、システムソフトウェアはレジスタからプローブ結果を取得する、書き込みモジュール013と、
を有する。
任意的には、処理モジュール012は、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するよう構成されてもよく、
M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも第1の光モジュールケージにおいて利用可能でないと判断され、
光モジュールが第1の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断され、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが第1の光モジュールケージにおいて利用可能であると判断される。
任意的には、処理モジュール012は、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するよう構成されてもよく、
M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断され、光モジュールが第1の所定のアドレスにおいて利用可能であり、何れの光モジュールも第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールは何れかの光モジュールにおいて利用可能であると判断され、光モジュールが第1の所定のアドレスにおいて利用可能であり、光モジュールが第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが何れかの光モジュールにおいて利用可能であると判断される。
任意的には、N個のパスは、N個のI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタによって制御され、SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、処理モジュール012は、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第1の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第1の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成されてもよい。
任意的には、処理モジュールは更に(以下のステップにおける第1のレジスタ値から第10のレジスタ値は、第1の所定のアドレスに対して実行された上記のプローブプロセスにおけるものである第1のレジスタ値から第10のレジスタ値と異なることが留意されるべきである)、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタの値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタであり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ又はSDA制御レジスタである、書き込むステップと、
M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
f.第2の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタの否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタの値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第2の所定のアドレスに対応する可用性レジスタに書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第2の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成されてもよい。
任意的には、所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
スタート時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、SCLパスのレベルを高レベルに設定すること、SDAパスのレベルを低レベルに設定すること、及びSCLパスのレベルを低レベルに設定することを順次有し、
アドレスプローブ時間シーケンス及びリード/ライト時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及びSCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
ステップi:SCLパスのレベルを低レベルに設定し、
ステップj:第1の所定のアドレス又は第2の所定のアドレスに従ってSDAパスのレベルを設定し、
ステップk:SCLパスのレベルを高レベルに設定する、
ことであり、
アクノリッジメント時間シーケンスにおける処理は、SCLパスのレベルを高レベルに設定すること、SDAパスを入力状態にスイッチすること、第1の所定のアドレス又は第2の所定のアドレスに対応する可用性レジスタを設定すること、SCLパスのレベルを低レベルに設定すること、及びSDAパスを出力状態にスイッチすることを順次有し、
ストップ時間シーケンスにおける処理は、SDAパスのレベルを低レベルに設定すること、SCLパスのレベルを高レベルに設定すること、及びSDAパスのレベルを高レベルに設定することを順次有する。
本実施例は、上記の方法の実施例を実現するのに利用される。本実施例における動作手順及び動作原理について、上記の方法の実施例の説明が参照されてもよく、ここでは詳細は再説明されない。
結論として、本発明の本実施例において提供される検出装置は、N個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該検出装置は、コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従って検出装置に接続されるN個のパスの占有状態を取得し、それから、プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対してプローブを実行し、ここで、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを記述するのに利用され、最後にプローブ結果を可用性レジスタに書き込み、これにより、システムソフトウェアはレジスタからプローブ結果を取得することができる。システムソフトウェアは、プローブが実行される必要がある光モジュールケージのプローブ結果を取得するため、可用性レジスタの読み込みを除く他の何れかのアクションを実行する必要はなく、従って、CPU使用はかなり低い。さらに、検出装置はM個の光モジュールケージに対して同時プローブを実行するため、プローブ時間は各回についてかなり短く、高速な挿入及び削除処理のための時間よりはるかに小さい。この結果、システムソフトウェアを利用して従来技術におけるポーリングを実行する方式と比較して、CPU使用が増加しないケースにおいて、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視可能であり、光モジュールに対する高速な挿入及び削除処理が検知できる。
本発明の実施例は更に、検出装置02を提供する。検出装置02は、N個のパスを利用することによってN個の光モジュールケージに同時接続され、検出装置02とN個の光モジュールケージとの間の接続関係は、図1に示される検出装置とN個の光モジュールケージとの間の接続関係であってもよく、詳細はここでは再説明されない。検出装置02は論理デバイスであってもよい。
図7に示されるように、検出装置02は、論理機能ブロックアレイ021、I/O(入出力)ユニット022、コンフリクトレジスタ023、SCLレベルレジスタ024、SDAレベルレジスタ025、SDA制御レジスタ026及び可用性レジスタ027を有し、ここで、論理機能ブロックアレイ021は複数の論理機能ブロックを有する。論理機能ブロックアレイ021は、ケーブル化によってコンフリクトレジスタ023、SCLレベルレジスタ024、SDAレベルレジスタ025、SDA制御レジスタ026、可用性レジスタ027及びI/Oユニット022と相互接続される。I/Oユニット022を制御することによって、論理機能ブロックアレイ021は、
コンフリクトレジスタ023にアクセスし、コンフリクトレジスタ023の値に従ってN個のパスの占有状態を取得し、
プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行し、ここで、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下であり、
プローブ結果を可用性レジスタ027に書き込み、システムソフトウェアはレジスタ027からプローブ結果を取得し、ここで、可用性レジスタ027は、第1の所定のアドレスに対応する可用性レジスタ0271と第2の所定のアドレスに対応する可用性レジスタ0272との2つのレジスタを有し、第1の所定のアドレスは0x50であってもよく、第2の所定のアドレスは0x52であってもよい。
任意的には、実現方式では、I/Oユニット022を制御することによって、論理機能ブロックアレイ021は、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するよう構成され、
M個の光モジュールケージにおける何れかの光モジュールケージについて、第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断され、
第1の所定のアドレスにおける可用性状態が利用可能であるとプローブ処理によって判断された場合、何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
第2の所定のアドレスにおける可用性状態が利用不可であるとプローブ処理によって判断された場合、光モジュールが何れかの光モジュールケージにおいて利用可能であると判断され、第2の所定のアドレスにおける可用性状態が利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが第1の光モジュールケージにおいて利用可能であると判断される。
任意的には、他の実現方式では、I/Oユニット022を制御することによって、論理機能ブロックアレイ021は、具体的には、
M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するよう構成されてもよく、
M個の光モジュールケージにおける何れかの光モジュールケージについて、第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも何れの光モジュールケージにおいて利用可能でないと判断され、第1の所定のアドレスの可用性状態が利用可能であり、第2の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、光モジュールは何れかの光モジュールケージにおいて利用可能であると判断され、第1の所定のアドレスの可用性状態が利用可能であり、第2の所定のアドレスの可用性状態が利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが何れかの光モジュールケージにおいて利用可能であると判断される。
任意的には、N個のパスはN個のI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、SCLパスはSCLレベルレジスタ024によって制御され、SDAパスはSDAレベルレジスタ025及びSDA制御レジスタ026によって制御され、
I/Oユニット022を制御することによって、論理機能ブロックアレイ021は、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタ023の値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタ023の否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタ023の値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタ024であり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ025又はSDA制御レジスタ026である、書き込むステップと、
M個のパスのSDAパスの状態が出力状態から入力状態にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタ025の第6のレジスタ値を読み込むステップと、
f.第1の所定のアドレスに対応する可用性レジスタ0271の第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタ023の値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタ023の否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタ023の値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第1の所定のアドレスに対応する可用性レジスタ0271に書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第1の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成されてもよい。
任意的には、I/Oユニット022を制御することによって、論理機能ブロックアレイ021は更に(以下のステップにおける第1のレジスタ値から第10のレジスタ値は、第1の所定のアドレスに対して実行された上記のプローブプロセスにおけるものである第1のレジスタ値から第10のレジスタ値と異なることが留意されるべきである)、具体的には、
a.所定のI2C時間シーケンスに従って、現在の処理及び現在の処理に対応するターゲットパスを決定し、現在の処理に従って、ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
b.ターゲットパスに対応するレジスタの現在の第2のレジスタ値を読み込むステップと、
c.コンフリクトレジスタ023の値に対して否定演算が実行された後、第3のレジスタ値を取得するため、コンフリクトレジスタ023の否定された値と第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、コンフリクトレジスタ023の値と第2のレジスタ値とに対してAND演算を実行するステップと、
d.第5のレジスタ値を取得するため、第3のレジスタ値と第4のレジスタ値とに対してOR演算を実行し、第5のレジスタ値をターゲットパスに対応するレジスタに書き込むステップであって、ターゲットパスはM個のパスのSCLパス又はM個のパスのSDAパスであり、ターゲットパスがM個のパスのSCLパスである場合、ターゲットパスに対応するレジスタはSCLレベルレジスタ024であり、ターゲットパスがM個のパスのSDAパスである場合、ターゲットパスに対応するレジスタはSDAレベルレジスタ025又はSDA制御レジスタ026である、書き込むステップと、
M個のパスのSDAパスの状態が出力状態から入力状態にスイッチされるまで、所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
e.SDAレベルレジスタ025の第6のレジスタ値を読み込むステップと、
f.第2の所定のアドレスに対応する可用性レジスタ0272の第7のレジスタ値を読み込むステップと、
g.コンフリクトレジスタ023の値に対して否定演算が実行された後、第8のレジスタ値を取得するため、コンフリクトレジスタ023の否定された値と第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、コンフリクトレジスタ023の値と第7のレジスタ値とに対してAND演算を実行するステップと、
h.第2の所定のアドレスに対応する可用性レジスタ0272に書き込まれる第10のレジスタ値を取得するため、第8のレジスタ値と第9のレジスタ値とに対してOR演算を実行するステップであって、第10のレジスタ値は、M個の光モジュールケージの第2の所定のアドレスに対してプローブが実行された後に取得されるプローブ結果を示すのに利用される、実行するステップと、
を実行するよう構成されてもよい。
任意的には、所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
スタート時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、SCLパスのレベルを高レベルに設定すること、SDAパスのレベルを低レベルに設定すること、及びSCLパスのレベルを低レベルに設定することを順次有し、
アドレスプローブ時間シーケンス及び前記リード/ライト時間シーケンスにおける処理は、SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及びSCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
ステップi:SCLパスのレベルを低レベルに設定し、
ステップj:第1の所定のアドレス又は第2の所定のアドレスに従ってSDAパスのレベルを設定し、
ステップk:SCLパスのレベルを高レベルに設定する、
ことであり、
アクノリッジメント時間シーケンスにおける処理は、SCLパスのレベルを高レベルに設定すること、SDAパスを入力状態にスイッチすること、第1の所定のアドレス又は第2の所定のアドレスに対応する可用性レジスタを設定すること、SCLパスのレベルを低レベルに設定すること、及びSDAパスを出力状態にスイッチすることを順次有し、
ストップ時間シーケンスにおける処理は、SDAパスのレベルを低レベルに設定すること、SCLパスのレベルを高レベルに設定すること、及びSDAパスのレベルを高レベルに設定することを順次有する。
さらに、本実施例における検出装置は上記の論理デバイスであってもよく、ここで、論理デバイスはCPLD又はFPGAであってもよい。論理デバイスがCPLDである場合、論理機能ブロックアレイ021は、機能ブロック(英語:Function Block、略してFB)を有するアレイであってもよく、論理デバイスがFPGAである場合、論理機能ブロックアレイ021は、コンフィギュラブル論理ブロック(英語:Configurable Logic Block、略してCLB)を有するアレイであってもよい。さらに、論理機能ブロックアレイ021の周囲に分散されて、論理機能ブロックアレイ021と外部のパッケージピンとの間のインタフェースとして機能しうる複数のI/Oユニットがあってもよい。
本実施例は、上記の方法の実施例を実現するのに利用される。本実施例におけるモジュールの動作手順及び動作原理について、上記の方法の実施例の説明が参照されてもよく、ここでは詳細は再説明されない。
結論として、本発明の本実施例において提供される検出装置は、N個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該検出装置は、コンフリクトレジスタにアクセスし、コンフリクトレジスタの値に従って検出装置に接続されるN個のパスの占有状態を取得し、それから、プローブ結果を取得するため、N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対してプローブを実行し、ここで、プローブ結果はM個の光モジュールケージの光モジュールの可用性情報及び光モジュールのタイプを記述するのに利用され、最後に、プローブ結果を可用性レジスタに書き込み、これにより、システムソフトウェアはレジスタからプローブ結果を取得することができる。システムソフトウェアは、プローブが実行される必要がある光モジュールケージのプローブ結果を取得するため、可用性レジスタの読み込みを除く他の何れかのアクションを実行する必要はなく、従って、CPU使用はかなり低い。さらに、検出装置はM個の光モジュールケージに対して同時プローブを実行するため、プローブ時間は各回についてかなり短く、高速な挿入及び削除処理のための時間よりはるかに小さい。この結果、システムソフトウェアを利用して従来技術におけるポーリングを実行する方式と比較して、CPU使用が増加しないケースにおいて、光モジュールが光モジュールケージにおいて利用可能であるか否かがリアルタイムに監視可能であり、光モジュールに対する高速な挿入及び削除処理が検知できる。
本発明において提供される複数の実施例では、開示される装置及び方法は他の方式で実現されてもよいことが理解されるべきである。例えば、説明された装置の実施例は単なる例示的なものである。例えば、ユニットの分割は単なる論理機能の分割であり、実際の実現形態では他の分割であってもよい。例えば、複数のユニット又はコンポーネントが他のシステムに合成又は統合されてもよいし、又は一部の特徴は無視又は実行されなくてもよい。さらに、表示又は説明された相互結合又は直接的な結合又は通信接続は、いくつかのインタフェースを利用することによって実現されてもよい。装置又はユニット間の間接的な結合又は通信接続は、電子、機械又は他の形態により実現されてもよい。
別々のパーツとして説明されたユニットは、物理的に別々であってもよいし、又はそうでなくてもよく、ユニットとして表示されるパーツは物理的ユニットであってもよいし、又はそうでなくてもよく、1つのポジションに配置されてもよいし、又は複数のネットワークユニットに分散されてもよい。ユニットの一部又は全ては、実施例の解決策の課題を実現するため実際の要求に従って選択されてもよい。
さらに、本発明の実施例における機能ユニットは1つの処理ユニットに統合されてもよいし、又は各ユニットは物理的に単独で存在してもよいし、又は2つ以上のユニットが1つのユニットに統合される。統合されたユニットは、ハードウェアの形態で実現されてもよいし、又はシステムのソフトウェア機能ユニットに加えてハードウェアの形態で実現されてもよい。
上記の統合されたユニットがソフトウェア機能ユニットの形態で実現されるとき、統合されたユニットはコンピュータ可読記憶媒体に記憶されてもよい。ソフトウェア機能ユニットは、記憶媒体に記憶され、本発明の実施例において説明された方法のステップの一部をコンピュータ装置(パーソナルコンピュータ、サーバ、ネットワーク装置などであってもよい)又はプロセッサ(processor)に実行するよう指示するための複数の命令を含む。上記の記憶媒体は、USBフラッシュドライブ、着脱可能なハードディスク、読み出し専用メモリ(Read−Only Memory,ROM)、ランダム・アクセス・メモリ(Random Access Memory,RAM)、磁気ディスク又は光ディスクなど、プログラムコードを記憶可能な何れかの媒体を含む。
便宜的且つ簡潔な説明のため、上記の機能モジュールの分割は説明のための具体例として取り上げられていることが当業者に明確に理解されうる。実際の適用では、上記の機能は異なる機能モジュールに配分され、要求に従って実現可能であり、すなわち、装置の内部構造は、上述した機能の全て又は一部を実現するため異なる機能モジュールに分割される。上記の装置の詳細な動作プロセスについて、上記の方法の実施例における対応するプロセスが参照されてもよく、ここでは詳細は再説明されない。
最後に、上記の実施例は、本発明を限定することでなく、本発明の技術的解決策を説明することを単に意図していることが留意されるべきである。本発明は上記の実施例を参照して詳細に説明されるが、当業者は、これらの変更又は置換が対応する技術的解決策の本質に本発明の実施例の技術的解決策の範囲から逸脱させない限り、それらが上記の実施例において説明される技術的解決策に依然として変更を行ってもよいし、又はその技術的特徴の一部又は全てに等価な置換を行ってもよいことを理解すべきである。

Claims (13)

  1. 検出装置に適用される光モジュール可用性検出方法であって、前記検出装置はN個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該方法は、
    コンフリクトレジスタにアクセスし、前記コンフリクトレジスタの値に従って前記N個のパスの占有状態を取得するステップと、
    プローブ結果を取得するため、前記N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップであって、前記プローブ結果は前記M個の光モジュールケージの光モジュールの可用性情報及び前記光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である、実行するステップと、
    前記プローブ結果を可用性レジスタに書き込むステップであって、前記システムソフトウェアは前記レジスタから前記プローブ結果を取得する、書き込むステップと、
    を有する方法。
  2. 前記プローブ結果を取得するため、前記N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップは、
    前記M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するステップを有し、
    前記M個の光モジュールケージにおける何れかの光モジュールケージについて、前記第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも前記何れの光モジュールケージにおいて利用可能でないと判断され、
    前記第1の所定のアドレスの可用性状態が利用可能であるとプローブ処理によって判断された場合、前記何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
    前記第2の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断され、前記第2の所定のアドレスの可用性状態が利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断される、請求項1記載の方法。
  3. 前記プローブ結果を取得するため、前記N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するステップは、
    前記M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、前記M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するステップを有し、
    前記M個の光モジュールケージにおける何れかの光モジュールケージについて、前記第1の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、何れの光モジュールも前記何れの光モジュールケージにおいて利用可能でないと判断され、前記第1の所定のアドレスの可用性状態が利用可能であって、前記第2の所定のアドレスの可用性状態が利用不可であるとプローブ処理によって判断された場合、光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断され、前記第1の所定のアドレスの可用性状態が利用可能であって、前記第2の所定のアドレスの可用性状態が利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断される、請求項1記載の方法。
  4. 前記N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、前記SCLパスはSCLレベルレジスタによって制御され、前記SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、前記M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するステップは、
    a.所定のI2C時間シーケンスに従って、現在の処理及び前記現在の処理に対応するターゲットパスを決定し、前記現在の処理に従って、前記ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
    b.前記ターゲットパスに対応する前記レジスタの現在の第2のレジスタ値を読み込むステップと、
    c.前記コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第2のレジスタ値とに対してAND演算を実行するステップと、
    d.第5のレジスタ値を取得するため、前記第3のレジスタ値と前記第4のレジスタ値とに対してOR演算を実行し、前記第5のレジスタ値を前記ターゲットパスに対応するレジスタに書き込むステップであって、前記ターゲットパスは前記M個のパスのSCLパス又は前記M個のパスのSDAパスであり、前記ターゲットパスが前記M個のパスのSCLパスである場合、前記ターゲットパスに対応するレジスタは前記SCLレベルレジスタであり、前記ターゲットパスが前記M個のパスのSDAパスである場合、前記ターゲットパスに対応するレジスタは前記SDAレベルレジスタ又は前記SDA制御レジスタである、書き込むステップと、
    前記M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、前記所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
    e.前記SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
    f.前記第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
    g.前記コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第7のレジスタ値とに対してAND演算を実行するステップと、
    h.前記第1の所定のアドレスに対応する前記可用性レジスタに書き込まれる第10のレジスタ値を取得するため、前記第8のレジスタ値と前記第9のレジスタ値とに対してOR演算を実行するステップであって、前記第10のレジスタ値は、前記M個の光モジュールケージの第1の所定のアドレスに対して前記プローブが実行された後に取得される前記プローブ結果を示すのに利用される、実行するステップと、
    を有する、請求項2又は3記載の方法。
  5. 前記N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、前記SCLパスはSCLレベルレジスタによって制御され、前記SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、前記M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するステップは、
    a.所定のI2C時間シーケンスに従って、現在の処理及び前記現在の処理に対応するターゲットパスを決定し、前記現在の処理に従って、前記ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
    b.前記ターゲットパスに対応する前記レジスタの現在の第2のレジスタ値を読み込むステップと、
    c.前記コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第2のレジスタ値とに対してAND演算を実行するステップと、
    d.第5のレジスタ値を取得するため、前記第3のレジスタ値と前記第4のレジスタ値とに対してOR演算を実行し、前記第5のレジスタ値を前記ターゲットパスに対応するレジスタに書き込むステップであって、前記ターゲットパスは前記M個のパスのSCLパス又は前記M個のパスのSDAパスであり、前記ターゲットパスが前記M個のパスのSCLパスである場合、前記ターゲットパスに対応するレジスタは前記SCLレベルレジスタであり、前記ターゲットパスが前記M個のパスのSDAパスである場合、前記ターゲットパスに対応するレジスタは前記SDAレベルレジスタ又は前記SDA制御レジスタである、書き込むステップと、
    前記M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、前記所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
    e.前記SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
    f.前記第2の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
    g.前記コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第7のレジスタ値とに対してAND演算を実行するステップと、
    h.前記第2の所定のアドレスに対応する前記可用性レジスタに書き込まれる第10のレジスタ値を取得するため、前記第8のレジスタ値と前記第9のレジスタ値とに対してOR演算を実行するステップであって、前記第10のレジスタ値は、前記M個の光モジュールケージの第2の所定のアドレスに対して前記プローブが実行された後に取得される前記プローブ結果を示すのに利用される、実行するステップと、
    を有する、請求項3記載の方法。
  6. 前記所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
    前記スタート時間シーケンスにおける処理は、前記SDAパスのレベルを高レベルに設定すること、前記SCLパスのレベルを高レベルに設定すること、前記SDAパスのレベルを低レベルに設定すること、及び前記SCLパスのレベルを低レベルに設定することを順次有し、
    前記アドレスプローブ時間シーケンス及び前記リード/ライト時間シーケンスにおける処理は、前記SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及び前記SCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
    ステップi:前記SCLパスのレベルを低レベルに設定し、
    ステップj:前記第1の所定のアドレス又は前記第2の所定のアドレスに従って前記SDAパスのレベルを設定し、
    ステップk:前記SCLパスのレベルを高レベルに設定する、
    ことであり、
    前記アクノリッジメント時間シーケンスにおける処理は、前記SCLパスのレベルを高レベルに設定すること、前記SDAパスを入力状態にスイッチすること、前記第1の所定のアドレス又は前記第2の所定のアドレスに対応する前記可用性レジスタを設定すること、前記SCLパスのレベルを低レベルに設定すること、及び前記SDAパスを出力状態にスイッチすることを順次有し、
    前記ストップ時間シーケンスにおける処理は、前記SDAパスのレベルを低レベルに設定すること、前記SCLパスのレベルを高レベルに設定すること、及び前記SDAパスのレベルを高レベルに設定することを順次有する、請求項4又は5記載の方法。
  7. 検出装置であって、当該検出装置はN個のパスを利用することによってN個の光モジュールケージに同時に接続され、当該装置は、
    コンフリクトレジスタにアクセスし、前記コンフリクトレジスタの値に従って前記N個のパスの占有状態を取得するよう構成される読み込みモジュールと、
    プローブ結果を取得するため、前記N個のパスにおけるものであって、占有状態がシステムソフトウェアにより占有されていないM個のパスに接続されるM個の光モジュールケージに対して同時プローブを実行するよう構成される処理モジュールであって、前記プローブ結果は前記M個の光モジュールケージの光モジュールの可用性情報及び前記光モジュールのタイプを有し、M及びNは共に正の整数であり、MはN以下である、処理モジュールと、
    前記プローブ結果を可用性レジスタに書き込むよう構成される書き込みモジュールであって、前記システムソフトウェアは前記レジスタから前記プローブ結果を取得する、書き込みモジュールと、
    を有する検出装置。
  8. 前記処理モジュールは
    前記M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行するよう構成され、
    前記M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも前記第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも前記何れかの光モジュールケージにおいて利用可能でないと判断され、
    光モジュールが前記第1の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、前記何れかの光モジュールケージの第2の所定のアドレスに対してプローブが実行され、
    何れの光モジュールも前記第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断され、光モジュールが前記第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが前記何れかの光モジュールケージにおいて利用可能であると判断される、請求項7記載の検出装置。
  9. 前記処理モジュールは
    前記M個の光モジュールケージの第1の所定のアドレスに対して同時プローブを実行し、前記M個の光モジュールケージの第2の所定のアドレスに対して同時プローブを実行するよう構成され、
    前記M個の光モジュールケージにおける何れかの光モジュールケージについて、何れの光モジュールも前記第1の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、何れの光モジュールも前記何れの光モジュールケージにおいて利用可能でないと判断され、光モジュールが前記第1の所定のアドレスにおいて利用可能であり、何れの光モジュールも前記第2の所定のアドレスにおいて利用可能でないとプローブ処理によって判断された場合、光モジュールは前記何れかの光モジュールにおいて利用可能であると判断され、光モジュールが前記第1の所定のアドレスにおいて利用可能であり、光モジュールが前記第2の所定のアドレスにおいて利用可能であるとプローブ処理によって判断された場合、コンパクト光モジュールが前記何れかの光モジュールにおいて利用可能であると判断される、請求項7記載の検出装置。
  10. 前記N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、前記SCLパスはSCLレベルレジスタによって制御され、前記SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、前記処理モジュールは
    a.所定のI2C時間シーケンスに従って、現在の処理及び前記現在の処理に対応するターゲットパスを決定し、前記現在の処理に従って、前記ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
    b.前記ターゲットパスに対応する前記レジスタの現在の第2のレジスタ値を読み込むステップと、
    c.前記コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第2のレジスタ値とに対してAND演算を実行するステップと、
    d.第5のレジスタ値を取得するため、前記第3のレジスタ値と前記第4のレジスタ値とに対してOR演算を実行し、前記第5のレジスタ値を前記ターゲットパスに対応するレジスタに書き込むステップであって、前記ターゲットパスは前記M個のパスのSCLパス又は前記M個のパスのSDAパスであり、前記ターゲットパスが前記M個のパスのSCLパスである場合、前記ターゲットパスに対応するレジスタは前記SCLレベルレジスタであり、前記ターゲットパスが前記M個のパスのSDAパスである場合、前記ターゲットパスに対応するレジスタは前記SDAレベルレジスタ又は前記SDA制御レジスタである、書き込むステップと、
    前記M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、前記所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
    e.前記SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
    f.前記第1の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
    g.前記コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第7のレジスタ値とに対してAND演算を実行するステップと、
    h.前記第1の所定のアドレスに対応する前記可用性レジスタに書き込まれる第10のレジスタ値を取得するため、前記第8のレジスタ値と前記第9のレジスタ値とに対してOR演算を実行するステップであって、前記第10のレジスタ値は、前記M個の光モジュールケージの第1の所定のアドレスに対して前記プローブが実行された後に取得される前記プローブ結果を示すのに利用される、実行するステップと、
    を実行するよう構成される、請求項8又は9記載の検出装置。
  11. 前記N個のパスは、N個のインター・インテグレーティッド・サーキットI2Cパスであり、各I2Cパスは、シリアルクロックSCLパス及びシリアルデータSDAパスを有し、前記SCLパスはSCLレベルレジスタによって制御され、前記SDAパスはSDAレベルレジスタ及びSDA制御レジスタによって制御され、前記処理モジュールは
    a.所定のI2C時間シーケンスに従って、現在の処理及び前記現在の処理に対応するターゲットパスを決定し、前記現在の処理に従って、前記ターゲットパスに対応するレジスタに書き込まれる第1のレジスタ値を決定するステップと、
    b.前記ターゲットパスに対応する前記レジスタの現在の第2のレジスタ値を読み込むステップと、
    c.前記コンフリクトレジスタの値に対して否定演算が実行された後、第3のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第1のレジスタ値とに対してAND演算を実行し、第4のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第2のレジスタ値とに対してAND演算を実行するステップと、
    d.第5のレジスタ値を取得するため、前記第3のレジスタ値と前記第4のレジスタ値とに対してOR演算を実行し、前記第5のレジスタ値を前記ターゲットパスに対応するレジスタに書き込むステップであって、前記ターゲットパスは前記M個のパスのSCLパス又は前記M個のパスのSDAパスであり、前記ターゲットパスが前記M個のパスのSCLパスである場合、前記ターゲットパスに対応するレジスタは前記SCLレベルレジスタであり、前記ターゲットパスが前記M個のパスのSDAパスである場合、前記ターゲットパスに対応するレジスタは前記SDAレベルレジスタ又は前記SDA制御レジスタである、書き込むステップと、
    前記M個のパスのSDAパスの状態が出力から入力にスイッチされるまで、前記所定のI2C時間シーケンスに従って、ステップa、ステップb、ステップc及びステップdを繰り返し実行するステップと、
    e.前記SDAレベルレジスタの第6のレジスタ値を読み込むステップと、
    f.前記第2の所定のアドレスに対応する可用性レジスタの第7のレジスタ値を読み込むステップと、
    g.前記コンフリクトレジスタの値に対して否定演算が実行された後、第8のレジスタ値を取得するため、前記コンフリクトレジスタの否定された値と前記第6のレジスタ値とに対してAND演算を実行し、第9のレジスタ値を取得するため、前記コンフリクトレジスタの値と前記第7のレジスタ値とに対してAND演算を実行するステップと、
    h.前記第2の所定のアドレスに対応する前記可用性レジスタに書き込まれる第10のレジスタ値を取得するため、前記第8のレジスタ値と前記第9のレジスタ値とに対してOR演算を実行するステップであって、前記第10のレジスタ値は、前記M個の光モジュールケージの第2の所定のアドレスに対して前記プローブが実行された後に取得される前記プローブ結果を示すのに利用される、実行するステップと、
    を実行するよう構成される、請求項9記載の検出装置。
  12. 前記所定のI2C時間シーケンスは、スタート時間シーケンス、アドレスプローブ時間シーケンス及びリード/ライト時間シーケンス、アクノリッジメント時間シーケンス並びにストップ時間シーケンスを順次有し、
    前記スタート時間シーケンスにおける処理は、前記SDAパスのレベルを高レベルに設定すること、前記SCLパスのレベルを高レベルに設定すること、前記SDAパスのレベルを低レベルに設定すること、及び前記SCLパスのレベルを低レベルに設定することを順次有し、
    前記アドレスプローブ時間シーケンス及び前記リード/ライト時間シーケンスにおける処理は、前記SDAパスのレベルを高レベルに設定すること、ステップi、ステップj及びステップkをI回繰り返し実行すること、及び前記SCLパスのレベルを低レベルに設定することを順次有し、Iは所定値であり、ステップi、ステップj及びステップkは、
    ステップi:前記SCLパスのレベルを低レベルに設定し、
    ステップj:前記第1の所定のアドレス又は前記第2の所定のアドレスに従って前記SDAパスのレベルを設定し、
    ステップk:前記SCLパスのレベルを高レベルに設定する、
    ことであり、
    前記アクノリッジメント時間シーケンスにおける処理は、前記SCLパスのレベルを高レベルに設定すること、前記SDAパスを入力状態にスイッチすること、前記第1の所定のアドレス又は前記第2の所定のアドレスに対応する前記可用性レジスタを設定すること、前記SCLパスのレベルを低レベルに設定すること、及び前記SDAパスを出力状態にスイッチすることを順次有し、
    前記ストップ時間シーケンスにおける処理は、前記SDAパスのレベルを低レベルに設定すること、前記SCLパスのレベルを高レベルに設定すること、及び前記SDAパスのレベルを高レベルに設定することを順次有する、請求項10又は11記載の検出装置。
  13. ネットワーク装置であって、中央処理ユニットCPU、複数の光モジュールケージ及び請求項7乃至12何れか一項記載の検出装置を有し、前記検出装置は、I2Cパスを利用することによって前記CPUに接続され、1つのI2Cパスを利用することによって前記複数の光モジュールケージの各光モジュールケージに接続され、
    前記検出装置は、前記複数の光モジュールケージに対して同時プローブを実行するよう構成されるネットワーク装置。
JP2015254363A 2014-12-26 2015-12-25 光モジュール可用性検出方法及び装置 Expired - Fee Related JP6166773B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410829082.0A CN105790830B (zh) 2014-12-26 2014-12-26 光模块在位检测方法和装置
CN201410829082.0 2014-12-26

Publications (2)

Publication Number Publication Date
JP2016146621A JP2016146621A (ja) 2016-08-12
JP6166773B2 true JP6166773B2 (ja) 2017-07-19

Family

ID=55129392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015254363A Expired - Fee Related JP6166773B2 (ja) 2014-12-26 2015-12-25 光モジュール可用性検出方法及び装置

Country Status (4)

Country Link
US (1) US10090916B2 (ja)
EP (1) EP3037977B1 (ja)
JP (1) JP6166773B2 (ja)
CN (1) CN105790830B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109995436B (zh) 2017-12-29 2021-08-31 北京华为数字技术有限公司 光线路终端的单板及光线路终端
CN108667515B (zh) * 2018-04-23 2020-01-14 新华三技术有限公司 端口配置方法及通信设备
CN111272212B (zh) * 2018-12-05 2021-12-31 卓望数码技术(深圳)有限公司 一种i2c设备数据采集方法及其系统
CN112860495B (zh) * 2019-11-12 2026-01-02 中兴通讯股份有限公司 一种i2c从设备的调试方法、i2c主设备及存储介质
CN112825050A (zh) * 2019-11-21 2021-05-21 中兴通讯股份有限公司 访问光模块寄存器的方法及系统
CN110971292B (zh) * 2019-12-31 2023-03-10 深圳市欧深特信息技术有限公司 一种csfp光模块的检测方法及装置
CN113452446B (zh) * 2021-06-22 2023-01-20 青岛海信宽带多媒体技术有限公司 一种光模块及通道切换方法
CN113660035B (zh) * 2021-08-18 2024-05-03 青岛海信宽带多媒体技术有限公司 一种光模块及校准单位定义方法
CN113630186B (zh) * 2021-09-15 2022-09-16 青岛海信宽带多媒体技术有限公司 一种光模块及通信方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412051B2 (en) * 2006-10-13 2013-04-02 Menara Networks, Inc. 40G/100G optical transceivers with integrated framing and forward error correction
JP3483514B2 (ja) * 2000-03-02 2004-01-06 沖電気工業株式会社 光伝送システム及び光チャネル安定品質測定方法
US20040197101A1 (en) * 2001-02-05 2004-10-07 Sasser Gary D. Optical transceiver module with host accessible on-board diagnostics
US7010639B2 (en) 2003-06-12 2006-03-07 Hewlett-Packard Development Company, L.P. Inter integrated circuit bus router for preventing communication to an unauthorized port
JP4432666B2 (ja) 2004-08-11 2010-03-17 住友電気工業株式会社 光モジュールおよび光伝送装置
ES2338715T3 (es) * 2006-10-06 2010-05-11 Acterna Llc Comprobacion de enlaces amplificados opticamente mediante señales de prueba de multiplexacion por division de tiempo.
CN100583072C (zh) 2006-10-13 2010-01-20 鸿富锦精密工业(深圳)有限公司 控制器、地址控制方法及使用其的总线数据传输系统
JP2009130431A (ja) 2007-11-20 2009-06-11 Opnext Japan Inc 伝送装置、通信モジュールおよび主装置
CN102590689A (zh) * 2011-01-14 2012-07-18 中兴通讯股份有限公司 一种检测小型可插拔式sfp光模块在位的装置
US20130156417A1 (en) * 2011-11-30 2013-06-20 Hui Tsuo Chou Optical fiber transmission switching device and control method thereof
US8867404B2 (en) * 2012-02-03 2014-10-21 Futurewei Technologies, Inc. Node level vectoring synchronization
CN103838698A (zh) * 2012-11-27 2014-06-04 鸿富锦精密工业(深圳)有限公司 I2c总线架构及设备可用性查询方法
CN103048116B (zh) * 2012-12-19 2015-04-29 华为技术有限公司 一种光纤在位检测方法及装置、微控制器
CN103701723A (zh) * 2013-12-19 2014-04-02 上海斐讯数据通信技术有限公司 Combo接口自适应以太网千兆光模块和电模块的结构及方法
CN104038275A (zh) * 2014-06-07 2014-09-10 深圳市共进电子股份有限公司 一种网络设备接口自适应光模块的方法及网络设备

Also Published As

Publication number Publication date
US20160191153A1 (en) 2016-06-30
CN105790830B (zh) 2018-11-20
CN105790830A (zh) 2016-07-20
EP3037977A1 (en) 2016-06-29
US10090916B2 (en) 2018-10-02
EP3037977B1 (en) 2018-05-16
JP2016146621A (ja) 2016-08-12

Similar Documents

Publication Publication Date Title
JP6166773B2 (ja) 光モジュール可用性検出方法及び装置
JP7118922B2 (ja) スイッチングデバイス、ペリフェラル・コンポーネント・インターコネクト・エクスプレスシステムおよびその初期化方法
KR101825244B1 (ko) 전속 병렬 dut 테스트용 솔루션
CN112579509B (zh) 单线通讯方法、装置、电子设备及可读存储介质
US10002085B2 (en) Peripheral component interconnect (PCI) device and system including the PCI
JP4056469B2 (ja) Fpga内のシリアライザ/デシリアライザの統合型テスト
US9378846B2 (en) Non-mounted storage test device based on FPGA
JP5209461B2 (ja) 集積回路内のデバイス間のデータ転送
KR102483890B1 (ko) 적응형 인터페이스 고 가용성 스토리지 장치
US20160268007A1 (en) Mbist device for use with ecc-protected memories
US10474604B2 (en) Transmitting universal serial bus (USB) data over alternate mode connection
KR101255265B1 (ko) 솔리드 스테이트 드라이브 테스터에서 에러 발생장치
TW201710919A (zh) 指示定向的連接器
KR20140136204A (ko) 반도체 시스템
CN118467434A (zh) 服务系统、输入输出机箱、设备机箱以及机箱识别方法
CN110379453B (zh) 存储器装置、存储器控制器及操作存储器装置的方法
CN113468028A (zh) 用于计算设备的设备管理方法、计算设备、装置和介质
US9378074B2 (en) Server system
CN116048893B (zh) 光纤总线接口的测试方法及相关设备
JP2007102653A (ja) データ記憶装置の機能試験方法及び機能試験装置
JP6503889B2 (ja) 演算処理装置、情報処理装置および演算処理装置の制御方法
US8832341B2 (en) Dynamically determining a primary or slave assignment based on receiving a power signal from the cable at the port of a device
US12353686B2 (en) Discovering and testing a topology of a peripheral component interconnect board
US11327908B2 (en) Method and system for facilitating communication between interconnect and system memory on system-on-chip
JP2006235665A (ja) コマンドテスタ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170623

R150 Certificate of patent or registration of utility model

Ref document number: 6166773

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees