JP2019095842A - 伝送装置、プラガブルデバイス、及び通信制御方法 - Google Patents

伝送装置、プラガブルデバイス、及び通信制御方法 Download PDF

Info

Publication number
JP2019095842A
JP2019095842A JP2017222102A JP2017222102A JP2019095842A JP 2019095842 A JP2019095842 A JP 2019095842A JP 2017222102 A JP2017222102 A JP 2017222102A JP 2017222102 A JP2017222102 A JP 2017222102A JP 2019095842 A JP2019095842 A JP 2019095842A
Authority
JP
Japan
Prior art keywords
request
piu
pluggable
main board
control
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.)
Pending
Application number
JP2017222102A
Other languages
English (en)
Inventor
智裕 上野
Tomohiro Ueno
智裕 上野
広之 北島
Hiroyuki Kitajima
広之 北島
西村 寛之
Hiroyuki Nishimura
寛之 西村
潔 宮野
Kiyoshi Miyano
潔 宮野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017222102A priority Critical patent/JP2019095842A/ja
Priority to US16/191,591 priority patent/US20190155346A1/en
Publication of JP2019095842A publication Critical patent/JP2019095842A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/364Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1698Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a sending/receiving arrangement to establish a cordless communication link, e.g. radio or infrared link, integrated cellular phone
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/11Printed elements for providing electric connections to or between printed circuits
    • H05K1/117Pads along the edge of rigid circuit boards, e.g. for pluggable connectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/0266Marks, test patterns or identification means
    • H05K1/0268Marks, test patterns or identification means for electrical inspection or testing
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K1/00Printed circuits
    • H05K1/02Details
    • H05K1/14Structural association of two or more printed circuits
    • H05K1/141One or more single auxiliary printed circuits mounted on a main printed circuit, e.g. modules, adapters
    • HELECTRICITY
    • H05ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
    • H05KPRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
    • H05K2201/00Indexing scheme relating to printed circuits covered by H05K1/00
    • H05K2201/10Details of components or other objects attached to or integrated in a printed circuit board
    • H05K2201/10007Types of components
    • H05K2201/10159Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Abstract

【課題】プラガブルデバイスの抜去により通信が遮断される場合でも、カーネルパニックの発生を防止して伝送装置を適正な動作状態に維持する。【解決手段】プラガブルデバイスを備えた伝送装置は、プロセッサを有する装置本体と、前記装置本体に着脱可能に接続された1以上のプラガブルデバイスと、を有し、前記プラガブルデバイスは、前記装置本体に対して自律的に制御要求を出力するマスター回路を有し、前記装置本体は、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給する。【選択図】図6

Description

本発明は、伝送装置、プラガブルデバイス、及び通信制御方法に関する。
光伝送システムにおいて、トランスポート(伝送)、波長多重(WDM:Wavelength Division Multiplexing)、スイッチ、アクセス等の機能ごとに機器を分割したディスアグリゲーション構成が採用されている。機能ごとに分割された機器(「ブレード」と呼ばれることがある)を組み合わせることで、機能追加や性能向上を迅速に行うことができる。
ディスアグリゲーション構成の伝送システムでは、機能の拡張を可能にするために、カードあるいはパッケージモジュールをプラガブルにしている。プラガブルなモジュールはプラグインユニット(PIU:plug-in unit)と呼ばれ、複数のPIUがメインボードに接続されている。図1に示すように、メインボードと各PIUの間の通信は、PCIe等の高速シリアル通信インタフェースを介して行われる。メインボードのCPUがマスターとして機能し、各PIUとの通信を制御している。PIUのCPLD(Complex Programmable Logic Device)、FPGA(Field-Programmable Gate Array)などのロジックデバイスはスレーブとして動作する。
メインボードとPIUの間の通信は、PIUの抜去などによって途切れることがある。PCIeポートの先にPIUが接続されていない状態で通信が行われた場合、もしくは通信の途中でPIUが抜去された場合、CPUはPIUとの通信で期待する信号以外の信号を受信するか、または何も受信しない。図1の(B)に示すように、CPUがPCIeスイッチからPIU#5にリクエストパケットを送信しても、PIU#5が抜去されると通信が遮断され、期待するコンプリージョンパケットを受け取ることができない。PIUからの応答が一定時間得られない場合、CPUのオペレーティングシステム(OS)はカーネルパニックを引き起こし、メインボードの動作が停止する。
これを防止するために、PIUにスイッチを搭載し、PIUの抜去前にオペレータがスイッチを押下してメインボード側に抜去を通知することで、抜去前にPCIe通信を停止する措置がとられている。なお、被監視装置の個別処理部と共通処理部の間に高速シリアルバスを用い、共通処理部でシリアルバスマスタコントローラが活線挿抜を含む制御を行う技術が知られている(たとえば、特許文献1参照)。
特開2005−50001号公報
PIUのスイッチ押下によりPIUの抜去を事前にメインボードに通知する構成を用いても、不適切なタイミング(PCIe通信の停止処理が完了する前など)でPIUが抜去されると、カーネルパニックが発生する。カーネルはOSの中核となる部分であり、カーネルパニックによりOSの動作が完全に停止する。また、カーネルパニック発生のトリガとなるマシンチェック例外(CPUによって生成されるエラー)をOSやカーネルにおいてマスクまたは無効にすることはできない。
本発明は、プラガブルデバイスの抜去により通信が遮断される場合でも、カーネルパニックの発生を防止して伝送装置を適正な動作状態に維持することのできる技術の提供を目的とする。
一つの態様では、プラガブルデバイスを備えた伝送装置において、
プロセッサを有する装置本体と、
前記装置本体に着脱可能に接続された1以上のプラガブルデバイスと、
を有し、
前記プラガブルデバイスは、前記装置本体に対して自律的に制御要求を出力するマスター回路を有し、
前記装置本体は、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給する。
プラガブルデバイスの抜去により通信が遮断される場合でも、カーネルパニックの発生を防止して伝送装置の適正な動作状態を維持することができる。
従来の伝送システムを示す図である。 メインボードをマスターとする従来のプラガブル構成で、PIUに抜去通知用のスイッチを設けたときの構成を示す。 図2の動作で生じるカーネルパニックを説明するシーケンス図である。 本発明の基本原理を説明する図である。 実施形態の伝送装置が適用される光通信システムの概略図である。 第1実施形態の伝送装置の概略図である。 第1実施形態の伝送装置で行われる通信制御処理のフローチャートであり、PIUからメインボードに状態値を書き込むときの制御フローである。 PIUがメインボードから制御値を読み出すときの制御フローである。 第1実施形態の伝送装置で行われる通信制御のうち、PIUからメインボードへのライト要求に着目したシーケンス図である。 第1実施形態の伝送装置で行われる通信制御のうち、PIUからメインボードに対するリード要求に着目したシーケンス図である 第2実施形態の伝送装置の概略図である。 第2実施形態の伝送装置で行われる通信制御処理のフローチャートであり、PIUからメインボードに状態値を書き込むときの制御フローである。 PIUがメインボードから制御値を読み出すときの制御フローである。 第2実施形態の伝送装置で行われる通信制御のうち、PIUからメインボードへのライト要求に着目したシーケンス図である。 第2実施形態の伝送装置で行われる通信制御のうち、PIUからメインボードに対するリード要求に着目したシーケンス図である
実施形態では、カーネルパニックの発生を防止して、伝送装置の本体であるブレードまたはメインボードを確実に動作させるために、プラガブルデバイスをマスターとし、メインボードをスレーブとして用いる。これは、従来の通信制御関係とは逆の構成である。
実施形態の構成と制御方法を説明する前に、図2及び図3を参照して、プラガブルデバイスの抜去によるカーネルパニック発生の問題を説明する。
図2は、メインボードをマスターとする従来のプラガブル構成で、PIU1000に抜去通知用のスイッチ1003を設けたときの構成を示す。PIU1000のCPLD1001は、メインボード2000のCPU2001の制御の下で、周辺デバイス1002のステータス情報をメインボード2000に送信し、メインボード2000から受け取る制御値を設定する。周辺デバイス1002は、たとえば、PIU1000に搭載される光モジュールの温度センサ、ジッター減衰器などである。周辺デバイス1002の状態を表わす状態値はステータスレジスタ(群)1011に一時的に保持され、制御値はコントロールレジスタ(群)1012に一時的に保持される。
各PIU1000のCPLD1001は、PCIeなどの高速通信インタフェース1013でCPU2001と通信する。メインボード2000と複数のPIUの間の通信は、CPU2001の制御の下でPCIeスイッチ2003によって切り替えられる。
PIU1000で抜去通知用のスイッチ1003が押されると、押下状態がステータスレジスタ1011に記録され、CPLD1001からメインボード2000のCPLD2004に「Remove Ready」通知が送られる。CPLD2004は抜去の通知をCPUコア2012に通知する。CPUコア2012は、PCIeインタフェース2011を制御して通信停止処理を行い、メモリ2002にデータをキャッシュ、ロード、あるいはストアして抜去に備える。PIU1000は抜去の準備が完了すると、抜去可能の通知をオペレータに出力する。スイッチ1003が押されてから実際にPIU1000が抜去されるまで時間はかかるが、この動作が正常に行われる場合は、カーネルパニックは生じない。
図3は、図2で抜去準備完了前にPIU1000が抜かれたときに生じるカーネルパニックを説明するシーケンス図である。ここでプロセスP1001、P1002、P1003はパラレルに行われている。
P1001で、PIU1000とメインボード2000のCPLD2004の間で、挿抜状態が「挿入」として確認されている。P1002で、メインボード2000のOSとCPLD2004(ハードウエア)の間で、PIUの挿抜状態が「挿入」として確認されている。
P1003で、OSはCPU2001にリード命令を出す(S301)。リード命令は、カーネルとドライバを介してCPUコア2012に入力される。CPU2001のPCIeインタフェース2011でリード要求のパケットが生成され(S302)、PIU1000に送信される(S303)。PIU1000のCPLD1001は、PCIeインタフェース1013でリクエストパケットを受信すると、レジスタ1011から状態値を読み出す(S304)。このとき、抜去通知用のスイッチ1003が押され(S305)、抜去準備完了を待たずにPIU1000が抜去されると(S306)、状態値をメインボード2000に送ることができない。
メインボード1000のCPUのPCIeインタフェース2011は、リクエストに対する応答がないため、タイムアウト処理を行って(S307)、マシンチェック例外(エラー)を発生する。マシンチェック例外がOSに到達すると、OSは上位のプロセスを削除し(S308)、動作が完全に停止する(カーネルパニック)。
OSやカーネルは、カーネルパニック発生のトリガとなるマシンチェック例外をマスクまたは無効にすることができない。
図4は、本発明の基本原理を説明する図である。カーネルパニックは、伝送装置の本体であるメインボードのCPUが送信したリクエストパケットに対するコンプリージョンパケットが返ってこないことにより引き起こされる。そこで、実施形態では、メインボード側のCPUからリクエスト(ライト要求、リード要求を含む)を行わず、代わりに、PIUからメインボードに所定のタイミングでリクエストを送信する。
図4において、各PIU10のCPLD11はマスターとして機能し、所定のタイミングでリクエストパケットをメインボード20に送信する。メインボード20のCPU21はスレーブとして機能し、メモリ22を参照して、リクエストパケットで要求される処理を行い、コンプリージョンパケットをPIU10に送信する。
PIU10からメインボード20へのリクエストは、複数種類がある。たとえば、PIU10のステータスレジスタの値をメインボード20のメモリ22に書き込むライト要求と、メインボード20のメモリ22の値をPIU10のコントロールレジスタに転送するリード要求である。PIU10をマスターとして動作させるためには、PIU10で複数の要求が競合しないように、調停または制御する構成が求められる。メインボード20でも、PIU10からのメモリアクセス要求と、CPU21からのメモリアクセス要求が競合しないように、調停する構成が求められる。これらの具体的な構成については、以下で詳細に説明する。
図5は、実施形態の伝送装置が適用される光通信システム1の概略図である。光通信システム1は、複数のネットワーク機器2a、2b、2c(以下、適宜「ネットワーク機器2」と総称する)で形成される光ネットワーク4をと含む。少なくとも一部のネットワーク機器2はルータ3(ルータ3a、3c等を含む)に接続され、ルータ3を経由してクライアント装置の間でデータの送受信が行われる。
ネットワーク機器2は、複数の伝送装置5を収容する。伝送装置5は、たとえばブレード型の装置である。伝送装置5は、装置本体であるメインボード20と、メインボード20に着脱可能に接続されるPIU10を有する。PIU10の挿入時は、PIU10のコネクタ121と、メインボード20のコネクタ201が電気的に接続される。PIU10の制御系122と、メインボード20のCPU21とは、PCIeなどの高速シリアルインタフェースで通信し、アラームの転送、デバイス設定等が行われる。制御系122は、CPLD、FPGAなどのプラガブルロジックデバイスで実現される。実施形態では、PIU10の制御系122が、PCIe通信のイニシャチブをとり、PIU10が自発的に制御要求をメインボード20に出力する。
PIU10の主信号系123は、たとえばデジタル信号プロセッサ(DSP)であり、ルータ3を介してクライアント信号の送受信を行い、光ネットワーク4とネットワーク信号の送受信を行う。以下で伝送装置5の具体的な構成と手法を説明する。
<第1実施形態>
図6は、第1実施形態の伝送装置5Aの概略図である。伝送装置5Aは、装置本体であるメインボード20と、メインボード20に着脱可能に接続される1以上のプラガブルデバイス(たとえばPIU10A)を有する。従来構成と異なり、メインボード20とPIU10Aの間の制御系の通信で、PIU10Aがマスター、メインボード20がスレーブとして動作する。PIU10Aには、抜去通知スイッチを設けなくてもよい。
PIU10Aは、主信号の処理を行うデジタル信号処理系(図5参照)と別に、制御系の処理を行うロジックデバイスとしてCPLD11を有する。CPLD11は、PCIeインタフェース113と、マスター回路101Aと、ステータスレジスタ(群)111と、コントロールレジスタ(群)112を有する。PCIeインタフェース113は、メインボード20との間の通信インタフェースの一例である。
マスター回路101Aは、レジスタリード回路103、レジスタライト回路104、及び調停回路105を有する。調停回路105は、PCIeインタフェース113と、レジスタリード回路103及びレジスタライト回路104の間に接続され、マスター回路101AからPCIeインタフェース113への要求の競合を防止する。
レジスタリード回路103は、自律的なタイミングでステータスレジスタ(群)111に保持されている状態値を読み込む。状態値の読み込みタイミングは、たとえば、周期的なタイミングである。レジスタリード回路103は、読み込んだ状態値(ステータス情報)とともに、メインボード20に対するライト要求を調停回路105に出力する。
レジスタライト回路104は、自律的なタイミングで、メインボード20に対するリード要求を調停回路105に出力する。自律的なタイミングは、たとえば周期的なタイミングである。レジスタライト回路104は、PIU10Aが送信したリード要求に対するメインボード20からの応答を調停回路105から受け取り、受信データをコントロールレジスタ(群)112に書き込む。レジスタリード回路103による読み込みの周期と、レジスタライト回路104による書き込みの周期は、同じであっても異なっていてもよい。
調停回路105は、メインボード20に対するライト要求とリード要求が競合しないように調停して、各要求を順次PCIeインタフェース113に出力する。
メインボード20は、CPU21と、メモリ22と、PCIeスイッチ23と、ロジックデバイスの一例としてFPGA25を有する。PCIeスイッチ23は、各PIU10Aからの要求に応じて送信するパケットのアドレスに従って、方路を切り替える。PCIeスイッチ23の入出力端にバッファを設けて輻輳時の制御を行ってもよい。
FPGA25は、PCIeスイッチ23と接続されるPCIeインタフェース254、CPU21と接続されるPCIeインタフェース252、メモリと接続されるメモリインタフェース253、及び調停回路251を有する。CPU21は、コア211とPCIeインタフェース212を有し、FPGA25と高速シリアル通信を行う。メモリ22は、PIU10Aのレジスタのデータを格納する共有メモリ221を有する。CPU21のコア211は、FPGA25を介してメモリ22にアクセス可能である。
FPGA25の調停回路251は、PCIeインタフェース254を介したPIU10Aからのメモリアクセスと、PCIeインタフェース252を介したCPU21からのメモリアクセスの間の競合を防止する。調停回路251の調停動作に従って、PIU10Aのステータスレジスタ値が共有メモリ221に書き込まれ、コントロールレジスタ112に書き込まれる制御値が共有メモリ221から読み出される。
ここで、太線で囲まれた通信プロセス1は、PIU10AのCPLD11と、メインボード20のFPGA25及び共有メモリ221の間の通信プロセスである。通信プロセス2は、メインボード20のCPU21と、FPGA25及び共有メモリ221の間の通信プロセスである。通信プロセス1と通信プロセス2は、パラレルで行われる。
通信プロセス1で、PIU10Aはたとえば周期的なタイミングで、メインボード20にアクセスして最新のステータス情報を送って共有メモリ221に保存する。また、周期的なタイミングで、共有メモリ221から最新の制御値を読み出す。
通信プロセス2で、CPU21は、共有メモリ221に保存された情報に対して任意のタイミングでアクセス可能であるが、PIU10Aからの共有メモリ221へのアクセスと競合しないように、調停回路251が調停処理を行う。
この構成により、PIU10Aが主導のリード/ライト制御が行われ、PIU10Aが抜去されたとしても、CPU21の応答待ちタイムアウト処理によるカーネルパニックの発生は防止できる。抜去時にPIU10A及び/またはメインボード20で処理中のデータがある場合も、キャッシュなどの特別な処理は行わず、抜去前の処理を継続する。
図7は伝送装置5Aで行われる制御処理のフローチャートである。より具体的には、PIU10Aからメインボード20の共有メモリにデータを書き込むときの制御フローである。
PIU10Aのマスター回路101Aは、メインボード20の共有メモリ221に状態値を書き込むライトタイミングにあるか否かを判断する(S10)。ライトタイミングにある場合は(S10でYes)、マスター回路101Aはステータスレジスタ111の状態値を読み出し(S11)、メインボード20の共有メモリ221に書き込むライト要求を生成する(S12)。マスター回路101Aの調停回路105は、共有メモリ221へのライト要求と、メインボード20に対するリード要求の間の競合の確認・調停処理に入る(S13)。競合の有無を判定し(S14)、競合がない場合は(S14でNo)、PCIeインタフェース113にライト要求を出力する。PCIeインタフェース113は、ライト要求とレジスタデータを含むライト要求パケットを生成し、メインボードに送信する(S15)。
ライト要求とリード要求が競合する場合は(S14でYes)、ステップS13に戻って競合する要求の間を調停する。たとえば、調停回路105は、ランダムにいずれかの要求を優先してもよいし、あらかじめメインボード20へのリード要求、またはライト要求のいずれかを優先するルールを設定しておいてもよい。
マスター回路101Aは、現在のステータスレジスタ111のアドレスがエンドアドレスか否かを判断する(S16)。ステップS16のアドレス判定と、ステップS15のライト要求パケットの送信は、同時または並列に行われてもよい。
現在のアドレスがエンドアドレスに至っていない場合は(S16でNo)、ステータスレジスタ111の処理対象のアドレスをインクリメントして(S17)、ステップS11〜S16の処理を繰り返す。現在のアドレスがエンドアドレスの場合は(S16でYes)、スタートアドレスに戻し(S18)、ステップS10に戻って次のライトタイミングを待つ。
ステップS10〜S18は、PIU10Aがメインボード20に接続されている間、繰り返し行われるため、ループになっている。PIU10Aがメインボード20から抜去されたときは、PIU10Aの電源がOFFになり、その時点で処理は終了する。メインボード20は、抜去前の処理を継続する。
一方、ステップS15でメインボード20に送信されたライト要求パケットは、FPGA25のPCIeインタフェース254で受信される(S21)。FPGA25の調停回路251は競合の確認・調停処理に入り(S22)、PIU10Aからのライト要求と、CPU21のコア211から共有メモリ221へのアクセス要求の間で競合の有無を判定する(S23)。競合がない場合は(S23でNo)、PIU10Aから受け取ったライト要求パケットに含まれる状態値を、共有メモリ221に書き込む(S24)。競合する場合は(S23でYes)、ステップS22に戻って調停処理を行い、競合のない状態で(S23でNo)、ライト要求パケットに含まれる状態値を共有メモリ221に書き込む(S24)。
FPGA25での調停は、ランダムにいずれかの要求を優先させてもよいし、CPU21からのアクセス、またはPIU10Aからのアクセスの何れか一方を優先させる規則を設定しておいてもよい。
この方法により、PIU10Aで生成されるライト要求を、メインボード20のCPU21からのアクセス要求と抵触せずに共有メモリ221に書き込むことができる。また、CPU21は、PIU10Aとの間で応答待ちタイムアウト処理を行わないので、カーネルパニックの原因となるマシンチェック例外の発生を防止できる。
図8は、伝送装置5Aにおいて、PIU10Aがメインボード20の共有メモリ221から制御データを読み出してコントロールレジスタ112に制御値を書き込むときの制御フローである。PIU10Aのマスター回路101Aは、メインボード20の共有メモリ221から制御値を読み出すリードタイミングにあるか否かを判断する(S30)。リードタイミングにある場合は(S30でYes)、メインボード20の共有メモリ221からデータを読み出すリード要求を生成する(S31)。マスター回路101Aの調停回路105は、リード要求とライト要求の間の競合の確認・調停処理に入る(S32)。競合の有無を判定し(S33)、競合がない場合は(S33でNo)、PCIeインタフェース113にリード要求を出力する。PCIeインタフェース113は、リード要求をメインボードに送信する(S34)。
ライト要求とリード要求が競合する場合は(S33でYes)、ステップS32に戻って競合する要求の間を調停する。たとえば、調停回路105は、ランダムにいずれかの要求を優先してもよいし、あらかじめリード要求を優先するルールを設定しておいてもよい。
ステップS34で送信されたリード要求は、メインボード20のFPGA25のPCIeインタフェース254で受信される(S41)。FPGA25の調停回路251は競合の確認・調停処理に入り(S42)、PIU10Aからのリード要求と、CPU21のコア211から共有メモリ221へのアクセスとの間で競合の有無を判定する(S43)。競合がない場合は(S43でNo)、PIU10Aからのリード要求に従って共有メモリ221に保存されている制御値を読み出し(S44)、読み出した制御データをPIU10Aに送信する(S45)。PIU10Aからのリード要求と、CPU21から共有メモリ221へのアクセスとが競合する場合は(S43でYes)、ステップS42に戻って調停処理を行い、調停された順序でリード要求に基づく読み出し処理を行い(S44)、読み出したデータをPIU10Aに送信する(S45)。
PIU10Aは、メインボード20から制御データ(リードデータ)を受信すると(S35)、制御値をコントロールレジスタ112に書き込み(S36)、現在のレジスタアドレスがエンドアドレスか否かを判断する(S37)。ステップS37のアドレス判定と、ステップS36の書き込み処理は、同時または並列に行われてもよい。
現在のアドレスがエンドアドレスに達していない場合は(S37でNo)、コントロールレジスタ112の処理対象のアドレスをインクリメントして(S38)、ステップS31〜S37を繰り返す。現在のアドレスがエンドアドレスの場合は(S37でYes)、スタートアドレスに戻して(S39)、ステップS30に戻り、次のリードタイミングを待つ。
この処理は、PIU10Aがメインボード20に接続されている間、繰り返して行われるため、ループになっている。PIU10Aがメインボード20から抜去されたときは、PIU10Aの電源がOFFになり処理は終了する。メインボード20は、抜去前の処理を継続する。
この方法により、PIU10Aからのリード要求に応答して、メインボード20のCPU21から共有メモリ221へのアクセス要求と抵触せずに、共有メモリ221から制御値を読み出すことができる。また、CPU21は、PIU10Aとの間で応答待ちタイムアウト処理を行わないので、カーネルパニックの原因となるマシンチェック例外の発生を防止できる。
図9は、第1実施形態の伝送装置5Aで行われる通信制御のうち、PIU10Aからメインボード20へのライト要求に着目したシーケンス図である。伝送装置5Aで、PIU10Aとメインボード20の間の通信プロセスP1(図6参照)と、メインボード20の中での通信プロセスP2(図6参照)は、パラレルに行われる。
通信プロセスP1で、PIU10Aからメインボード20に対するライトタイミングになると、PIU10Aのマスター回路101Aは、ステータスレジスタ111から状態値を読み出す(S101)。マスター回路101AからPCIeインタフェース113への要求の競合の有無を判定し(S102)、必要に応じて調停処理を行い、競合がない状態でメインボード20へのライト要求を出力する(S103)。PCIeインタフェース113は、ライト要求と状態値のデータを含めたライト要求パケットを生成し(S104)、ライト要求パケットをメインボード20に送信する(S105)。
メインボード20はライト要求パケットを受信すると、FPGA25の調停回路251で共有メモリ221へのアクセス競合の有無を判定し(S106)、必要に応じて調停処理を行い、競合がない状態で、ライト命令を出して共有メモリ221に状態値を書き込む(S107)。この通信プロセスP1は、ステータスレジスタ群に含まれるステータスレジスタ111の数だけ行われる。
上記の通信プロセスP1とパラレルに、通信プロセスP2で、メインボード20のOSは、カーネル及びドライバを介して、ハードウエアであるCPU21のコア211にリード命令を送る(S201)。調停回路251は、CPU21のコア211からリード命令を受け取ると、共有メモリ221へのアクセス競合の有無を判定する(S203)。このリード命令とプロセスP1のライト要求が競合する場合は、調停回路251は調停処理を行って、競合がない状態で、共有メモリ221にリード命令を転送する(S204)。これにより、共有メモリ221から必要なデータを読み出して、CPU21を経由してOSにデータを転送する(S205)。
このシーケンスによると、メインボード20のOSからPIU10Aに対するリクエストパケットの送信と、応答(コンプリージョンパケット)待ちの処理は行われないので、カーネルパニックの発生を防止することができる。また、PIU10Aに抜去通知スイッチを設ける必要がなく、メインボード20とPIU10Aの双方において、抜去完了までの待機時間を省略することができる。
図10は、第1実施形態の伝送装置5Aで行われる通信制御のうち、PIU10Aからメインボード20へのリード要求に着目したシーケンス図である。伝送装置5Aで、PIU10Aとメインボード20の間の通信プロセスP1(図6参照)と、メインボード20の中での通信プロセスP2(図6参照)は、パラレルに行われる。
通信プロセスP1で、PIU10Aからメインボード20に対するリードタイミングになると、PIU10Aのマスター回路101Aはリード要求を生成し(S111)、PCIeインタフェース113への要求の競合の有無を判定する(S112)。マスター回路101Aは、必要に応じて調停処理を行い、競合がない状態でリード要求をPCIeインタフェース113に出力する(S113)。PCIeインタフェース113は、リード要求を含めたパケットを生成し(S114)、リード要求パケットをメインボード20に送信する(S115)。
メインボード20はリード要求パケットを受信すると、FPGA25の調停回路251で共有メモリ221へのアクセス競合の有無を判定し(S116)、必要に応じて調停処理を行って、競合がない状態で共有メモリ221から制御値を読み出す(S117、S118)。FPGA25は、読出した制御データを含む応答パケットを生成し、パケットをPIU10Aに送信する(S119)。
PIU10Aは、PCIeインタフェース113で応答パケットを受信し、制御データをマスター回路101Aに出力する(S120)。マスター回路101Aは、制御データをコントロールレジスタ112に書き込む(S121)。
通信プロセスP1は、コントロールレジスタ群に含まれるコントロールレジスタ112の数だけ行われる。通信プロセスP1とパラレルに、通信プロセスP2が行われる。通信プロセスP2で、メインボード20のOSは、カーネル及びドライバを介して、ハードウエアであるCPU21のコア211にライト命令を送る(S211)。調停回路251は、CPU21のコア211からライト命令を受け取ると、共有メモリ221へのアクセス競合の有無を判定する(S212)。このライト命令と通信プロセスP1のリード要求が競合する場合は、調停回路251は調停処理を行って、競合がない状態で、共有メモリ221にライト命令を転送する(S213)。これにより、共有メモリ221に必要なデータを書き込む(S214)。
このシーケンスによると、メインボード20のOSからPIU10Aに対するリクエストパケットの送信と、応答(コンプリージョンパケット)待ちの処理は行われないので、カーネルパニックの発生を防止することができる。また、PIU10Aに抜去通知スイッチを設ける必要がなく、メインボード20とPIU10Aの双方において、抜去完了までの待機時間を省略することができる。
<第2実施形態>
図11は、第2実施形態の伝送装置5Bの概略図である。伝送装置5Bでは、PIU10Bのマスター回路101Bは、調停回路105に替えて、リード/ライト動作のタイミングを制御する制御回路107を有する。その他の構成は第1実施形態と同じであり、同じ構成要素に同じ符号を付けて重複する説明を省略する。
伝送装置5Bは、装置本体であるメインボード20と、メインボード20に着脱可能に接続される1以上のPIU10Bを有する。第2実施形態でも、メインボード20とPIU10Bの間の制御系の通信において、PIU10BのCPLD11がマスター、メインボード20のCPU21がスレーブとして動作する。
マスター回路101Bは、レジスタリード回路103、レジスタライト回路104、及び制御回路107を有する。制御回路107は、レジスタリード回路103を動作させるタイミングと、レジスタライト回路104を動作させるタイミングを制御する。
レジスタリード回路103は、制御回路107によって制御されるタイミングで、ステータスレジスタ(群)111に保持されている状態値を読み込み、ステータスデータとともに、メインボード20へのライト要求をPCIeインタフェース113に出力する。
レジスタライト回路104は、制御回路107によって制御されるタイミングで、メインボード20に対するリード要求をPCIeインタフェース113に出力する。リード要求に対するメインボード20からの応答を調停回路105から受け取ると、受信データをコントロールレジスタ(群)112に書き込む。
メインボード20の構成と動作は、第1実施形態と同じであり、FPGA25の調停回路251は、PIU10Bから受け取る要求と、CPU21から共有メモリ221へのアクセス要求の間を調停する。
通信プロセス1で、PIU10Bは制御回路107により制御されたタイミングで、メインボード20に最新のステータス情報を送って共有メモリ221に保存し、共有メモリ221から最新の制御値を読み出す。
通信プロセス2で、CPU21は、共有メモリ221に保存された情報に対して任意のタイミングでアクセス可能であるが、PIU10Bからの共有メモリ221へのアクセスと競合しないように、調停回路251で調停する。
この構成により、PIU10Bが主導のリード/ライト制御が行われ、PIU10Bが抜去されたとしても、CPU21の応答待ちタイムアウト処理によるカーネルパニックの発生は防止できる。
図12は、伝送装置5Bのマスター回路101Bで行われる制御処理のフローチャートである。より具体的には、PIU10Bからメインボード20の共有メモリにデータを書き込むときの制御フローである。
マスター回路101Bの制御回路107は、レジスタリード回路103にリード回路動作要求を出力する(S51)。レジスタリード回路103は、動作要求に従ってステータスレジスタ111から状態値を読み出す(S52)。また、メインボード20へのライト要求を生成して、ライト要求と状態値をPCIeインタフェース113に出力する(S53)。PCIeインタフェース113は、ライト要求と状態値を含めたライト要求パケットを生成して、パケットをメインボード20に送信する(S54)。
マスター回路101Bは、現在のステータスレジスタ111のアドレスがエンドアドレスか否かを判断する(S55)。ステップS55のアドレス判定と、ステップS54のライト要求パケットの送信は、同時または並列に行われてもよい。現在のアドレスがエンドアドレスに達していない場合は(S55でNo)、ステータスレジスタ111の処理対象のアドレスをインクリメントして(S56)、ステップS51〜S55の処理を繰り返す。現在のアドレスがエンドアドレスの場合は(S55でYes)、スタートアドレスに戻して(S57)、ステップS51〜S55の処理を繰り返す。
ステップS51〜S57は、PIU10Bがメインボード20に接続されている間、繰り返し行われるため、ループになっている。
一方、ステップS54でメインボード20に送信されたライト要求パケットは、FPGA25のPCIeインタフェース254で受信される(S61)。FPGA25の調停回路251は競合の確認・調停処理に入って(S62)、PIU10Bからのライト要求と、CPU21のコア211から共有メモリ221へのアクセス要求の間で競合の有無を判定する(S63)。競合がない場合は(S63でNo)、PIU10Bから受け取ったライト要求パケットに含まれる状態値を、共有メモリ221に書き込む(S64)。競合する場合は(S63でYes)、ステップS62に戻って調停処理を行い、競合のない状態で(S63でNo)、ライト要求パケットに含まれる状態値を共有メモリ221に書き込む(S64)。
この方法により、PIU10Bで制御回路107のタイミング制御の下で生成されるライト要求を、メインボード20のCPU21からのアクセス要求と抵触せずに、共有メモリ221に書き込むことができる。また、CPU21は、PIU10Bとの間で応答待ちタイムアウト処理を行わないので、カーネルパニックの原因となるマシンチェック例外の発生を防止できる。
図13は、伝送装置5Bにおいて、PIU10Bがメインボード20の共有メモリ221から制御データを読み出してコントロールレジスタ112に制御値を書き込むときの制御フローである。
マスター回路101Bの制御回路107は、レジスタライト回路104に、ライト動作を起動させるライト回路動作要求を出力する(S71)。また、共有メモリ221からの制御値の読出しのためのリード要求を生成し(S72)、リード要求をメインボード20に送信する(S73)。ステップS71と、ステップS72及びS73は、同時に並列で行われてもよい。
メインボード20では、リード要求を受信すると(S81)、競合確認処理に入り(S82)、PIU10Bからのリード要求と、CPUコア211から共有メモリ221へのアクセス要求との競合の有無を判定する(S83)。競合が無い場合は(S83でNo)、リード要求に従って共有メモリ221からPIU10Bのための制御値を読み出して(S84)、読み出したデータをPIU10Bに送信する(S85)。競合する場合は(S83でYes)、ステップS82に戻って、CPUコア211からのアクセス要求との間を調整し、競合のない状態で(S83でNo)、共有メモリ221からデータを読み取る(S84)。
PIU10Bは、メインボード20から制御データ(リードデータ)を受信すると(S74)、制御値をコントロールレジスタ112に書き込み(S75)、現在のレジスタアドレスがエンドアドレスか否かを判断する(S76)。ステップS76のアドレス判定と、ステップS75の書き込み処理は、同時または並列に行われてもよい。
現在のアドレスがエンドアドレスに達していない場合は(S76でNo)、コントロールレジスタ112の処理対象のアドレスをインクリメントして(S78)、ステップS71〜S76を繰り返す。現在のアドレスがエンドアドレスの場合は(S76でYes)、スタートアドレスに戻して(S77)、ステップS71に戻り、次の指示を待つ。
この方法により、PIU10Bからのリード要求に応答して、メインボード20のCPU21から共有メモリ221へのアクセス要求と抵触せずに、共有メモリ221から制御値を読み出すことができる。また、CPU21は、PIU10Bとの間で応答待ちタイムアウト処理を行わないので、カーネルパニックの原因となるマシンチェック例外の発生を防止できる。
図12と図13のフローは、PIU10Bがメインボード20に接続されている間、繰り返して行われるため、ループになっている。PIU10Bがメインボード20から抜去されたときは、PIU10Bの電源がOFFになり、処理は終了する。
図14は、第2実施形態の伝送装置5Bで行われる通信制御のうち、PIU10Bからメインボード20へのライト要求に着目したシーケンス図である。伝送装置5Bで、PIU10Aとメインボード20の間の通信プロセスP1と、メインボード20の中での通信プロセスP2は、パラレルに行われる。
通信プロセスP1で、PIU10Bの制御回路107は、レジスタリード回路103とレジスタライト回路104のいずれを動作させるかを制御して(S401)、レジスタリード回路103に動作命令を出力する(S402)。レジスタリード回路103は、動作命令に従ってステータスレジスタ111から状態値を読み出して、PCIeインタフェース113にデータを渡す(S403、S404)。PCIeインタフェース113は、状態値とライト要求を含めたライト要求パケットを生成し(S405)、メインボード20に送信する(S406)。
メインボード20はライト要求パケットを受信すると、FPGA25の調停回路251で共有メモリ221へのアクセス競合の有無を判定し(S407)、必要に応じて調停処理を行い、競合がない状態で、共有メモリ221に状態値を書き込む(S408)。この通信プロセスP1は、ステータスレジスタ群に含まれるステータスレジスタ111の数だけ行われる。
上記の通信プロセスP1とパラレルに、通信プロセスP2が行われる。通信プロセスP2で、メインボード20のOSは、カーネル及びドライバを介して、ハードウエアであるCPU21のコア211にリード命令を送る(S501)。調停回路251は、CPU21のコア211からリード命令を受け取ると、共有メモリ221へのアクセス競合の有無を判定する(S502)。このリード命令とプロセスP1のライト要求が競合する場合は、調停回路251は調停処理を行って、競合がない状態で、共有メモリ221にリード命令を転送する(S503)。これにより、共有メモリ221から必要なデータを読み出して、CPU21を経由してOSにデータを転送する(S504)。
このシーケンスによると、メインボード20のOSからPIU10Bに対するリクエストパケットの送信と、応答(コンプリージョンパケット)待ちの処理は行われないので、カーネルパニックの発生を防止することができる。また、PIU10Bに抜去通知スイッチを設ける必要がなく、メインボード20とPIU10Bの双方において、抜去完了までの待機時間を省略することができる。
図15は、第2実施形態の伝送装置5Bで行われる通信制御のうち、PIU10Bからメインボード20へのリード要求に着目したシーケンス図である。伝送装置5Bで、PIU10Aとメインボード20の間の通信プロセスP1と、メインボード20の中での通信プロセスP2は、パラレルに行われる。
通信プロセスP1で、PIU10Bの制御回路107は、レジスタリード回路103とレジスタライト回路104のいずれを動作させるかを制御して(S411)、レジスタライト回路104に動作命令を出力する(S412)。レジスタライト回路104は、動作命令に従って、メインボード20に対するリード要求をPCIeインタフェース113に出力し、PCIeインタフェース113でリード要求パケットを生成する(S413)。リード要求パケットはメインボード20に送信される(S414)。
メインボード20のFPGA25は、調停回路251で、共有メモリ221へのアクセス要求の競合がないかを確認し(S415)、競合のない状態で共有メモリ221からPIU10Bのための制御値を読み出す(S316,S317)。読み出した制御値をコンプリージョンパケットに含め、コンプリージョンパケットをPIU10Bに送信する(S418)。PIU10BはPCIeインタフェース113でコンプリージョンパケットを受信し、レジスタライト回路104はパケットから制御値を取り出して、コントロールレジスタ112に書き込む(S419)。
上記の通信プロセスP1とパラレルに、通信プロセスP2が行われる。通信プロセスP2で、メインボード20のOSは、カーネル及びドライバを介して、ハードウエアであるCPU21のコア211にライト命令を送る(S511)。調停回路251は、CPU21のコア211からライト命令を受け取ると、共有メモリ221へのアクセス競合の有無を判定する(S512)。このライト命令と通信プロセスP1のリード要求が競合する場合、調停回路251は調停処理を行って、競合がない状態で、共有メモリ221にライト命令を転送してデータを書き込む(S513)。
このシーケンスによると、メインボード20のOSからPIU10Bに対するリクエストパケットの送信と、応答(コンプリージョンパケット)待ちの処理は行われないので、カーネルパニックの発生を防止することができる。また、PIU10Bに抜去通知スイッチを設ける必要がなく、メインボード20とPIU10Bの双方において、抜去完了までの待機時間を省略することができる。
以上、特定の実施形態に基づいて本発明を説明したが、発明は上述した実施例に限定されない。伝送装置5の本体はメインボード20に替えて、ブレード、マザーボード等と呼ばれる基板やパッケージボードであってもよい。PIU10のロジック回路として、CPLDに替えてFPGAを用いてもよい。第1実施形態と第2実施形態で、各PIUの周辺デバイスの図示は省略されているが、PIUごとに複数の光トランシーバが搭載されていてもよい。PIU10の主導で行われるメインボード20へのアクセス要求は、共有メモリ221へのリード要求とライト要求に限定されない。たとえば、PIU10からのDMA転送や、CPU以外の搭載部品(クロックモジュールや光モジュール)へのシャットダウン要求/リセット要求等の動作にも本発明は適用可能である。
以上の説明に対して、以下の付記を呈示する。
(付記1)
プラガブルデバイスを備えた伝送装置であって、
プロセッサを有する装置本体と、
前記装置本体に着脱可能に接続された1以上のプラガブルデバイスと、
を有し、
前記プラガブルデバイスは、前記装置本体に対して自律的に制御要求を出力するマスター回路を有し、
前記装置本体は、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給することを特徴とする伝送装置。
(付記2)
前記装置本体は、前記プラガブルデバイスからの第1要求と、前記プロセッサからの第2要求の競合を調整する調停回路を有し、
前記第1要求と前記第2要求は調停された順序で処理されることを特徴とする付記1に記載の伝送装置。
(付記3)
前記装置本体は、前記プラガブルデバイスと前記プロセッサとによって使用される共有メモリを有し、
前記調停回路は、前記プラガブルデバイスから前記共有メモリへの第1のアクセス要求と、前記プロセッサから前記共有メモリへの第2のアクセス要求の競合を調停することを特徴とする付記2に記載の伝送装置。
(付記4)
前記第1のアクセス要求は、前記共有メモリへのライト要求またはリード要求であり、
前記マスター回路は、前記プラガブルデバイスにおいて前記ライト要求の出力と前記リード要求の出力が競合しないように調停または制御する回路を有することを特徴とする付記3に記載の伝送装置。
(付記5)
前記マスター回路は、周期的なタイミングで前記ライト要求またはリード要求を出力するリード/ライト回路と、前記装置本体への前記ライト要求と前記リード要求の出力を調停する第2調停回路とを有することを特徴とする付記4に記載の光伝送装置。
(付記6)
前記マスター回路は、前記ライト要求または前記リード要求を出力するリード/ライト回路の動作タイミングを制御する制御回路、
を有し、前記ライト要求または前記リード要求は、前記制御回路で制御されたタイミングで前記装置本体に出力されることを特徴とする付記4に記載の光伝送装置。
(付記7)
前記マスター回路は、第1レジスタから状態値を読み出して、前記装置本体にライト要求を出力し、
前記装置本体は、前記ライト要求に基づいて前記状態値を前記共有メモリに書き込むことを特徴とする付記3に記載の伝送装置。
(付記8)
前記マスター回路は、前記装置本体にリード要求を出力し、
前記装置本体は、前記リード要求に基づいて前記共有メモリから制御値を読み出して前記プラガブルデバイスに供給し、
前記マスター回路は、前記制御値を第2レジスタに書き込むことを特徴とする付記3に記載の伝送装置。
(付記9)
伝送装置で着脱可能に用いられるプラガブルデバイスであって、
前記伝送装置の装置本体との間で制御データの送受信を行う通信インタフェースと、
前記装置本体に対して自律的に制御要求を出力し、前記装置本体から受け取る情報を処理するマスター回路を有し、
前記マスター回路は、前記装置本体への前記制御要求の出力タイミングを制御または調停する回路を有することを特徴とするプラガブルデバイス。
(付記10)
前記制御要求は、前記装置本体のメモリに第1データを書き込むライト要求、または前記メモリから第2データを読み出すリード要求であることを特徴とする付記9に記載のプラガブルデバイス。
(付記11)
前記回路は、前記プラガブルデバイスにおいて前記ライト要求と前記リード要求が競合するときに前記ライト要求と前記リード要求の処理を調停することを特徴とする付記10に記載のプラガブルデバイス。
(付記12)
プラガルデバイスを備えた伝送装置における通信制御方法において、
前記伝送装置の装置本体に前記プラガブルデバイスを着脱可能に接続し、
前記プラガブルデバイスから前記装置本体に対して制御要求を出力し、
前記装置本体で、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給する、
ことを特徴とする通信制御方法。
(付記13)
前記装置本体で、前記プラガブルデバイスからの第1要求と、前記装置本体のプロセッサで生成される第2要求の間の競合を調整し、
前記第1要求と前記第2要求を調停された順序で処理することを特徴とする付記12に記載の通信制御方法。
(付記14)
前記装置本体は、前記プラガブルデバイスから前記装置本体に設けられたメモリへの第1アクセス要求を受信したときに、前記プロセッサから前記メモリへの第2のアクセス要求の有無を判定し、
前記第1アクセス要求と前記第2アクセス要求が競合するときは前記第1アクセス要求と前記第2アクセス要求の処理を調停することを特徴とする付記13に記載の通信制御方法。
(付記15)
前記プラガブルデバイスで、前記第1のアクセス要求として前記メモリへのライト要求またはリード要求が発生したときに、前記プラガブルデバイスにて前記ライト要求の出力と前記リード要求の出力が競合しないように調停または制御することを特徴とする付記14に記載の通信制御方法。
1 光通信システム
2 ネットワーク機器
5、5A、5B 伝送装置
10、10A、10B PIU(プラガブルデバイス)
11 CPLD(ロジックデバイス)
101A、101B マスター回路
103 レジスタリード回路
104 レジスタライト回路
105 調停回路
107 制御回路
111 ステータスレジスタ
112 コントロールレジスタ
113 PCIeインタフェース(通信インタフェース)
20 メインボード(装置本体)
21 CPU(プロセッサ)
22 メモリ
221 共有メモリ
23 PCIeスイッチ(通信インタフェース)
251 調停回路(メインボード側)

Claims (8)

  1. プラガブルデバイスを備えた伝送装置であって、
    プロセッサを有する装置本体と、
    前記装置本体に着脱可能に接続された1以上のプラガブルデバイスと、
    を有し、
    前記プラガブルデバイスは、前記装置本体に対して自律的に制御要求を出力するマスター回路を有し、
    前記装置本体は、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給することを特徴とする伝送装置。
  2. 前記装置本体は、前記プラガブルデバイスからの第1要求と、前記プロセッサからの第2要求の競合を調整する調停回路を有し、
    前記第1要求と前記第2要求は調停された順序で処理されることを特徴とする請求項1に記載の伝送装置。
  3. 前記装置本体は、前記プラガブルデバイスと前記プロセッサとによって使用される共有メモリを有し、
    前記調停回路は、前記プラガブルデバイスから前記共有メモリへの第1のアクセス要求と、前記プロセッサから前記共有メモリへの第2のアクセス要求の競合を調停することを特徴とする請求項2に記載の伝送装置。
  4. 前記第1のアクセス要求は、前記共有メモリへのライト要求またはリード要求であり、
    前記マスター回路は、前記プラガブルデバイスにおいて前記ライト要求の出力と前記リード要求の出力が競合しないように調停または制御する回路を有することを特徴とする請求項3に記載の伝送装置。
  5. 伝送装置で着脱可能に用いられるプラガブルデバイスであって、
    前記伝送装置の装置本体との間で制御データの送受信を行う通信インタフェースと、
    前記装置本体に対して自律的に制御要求を出力し、前記装置本体から受け取る情報を処理するマスター回路を有し、
    前記マスター回路は、前記装置本体への前記制御要求の出力タイミングを制御または調停する回路を有することを特徴とするプラガブルデバイス。
  6. 前記制御要求は、前記装置本体のメモリに第1データを書き込むライト要求、または前記メモリから第2データを読み出すリード要求であることを特徴とする請求項5に記載のプラガブルデバイス。
  7. プラガルデバイスを備えた伝送装置における通信制御方法において、
    前記伝送装置の装置本体にプラガブルデバイスを着脱可能に接続し、
    前記プラガブルデバイスから前記装置本体に対して制御要求を出力し、
    前記装置本体で、前記制御要求に基づく処理を行って処理結果を前記プラガブルデバイスに供給する、
    ことを特徴とする通信制御方法。
  8. 前記装置本体で、前記プラガブルデバイスからの第1要求と、前記装置本体のプロセッサで生成される第2要求の間の競合を調整し、
    前記第1要求と前記第2要求を調停された順序で処理することを特徴とする請求項7に記載の通信制御方法。
JP2017222102A 2017-11-17 2017-11-17 伝送装置、プラガブルデバイス、及び通信制御方法 Pending JP2019095842A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017222102A JP2019095842A (ja) 2017-11-17 2017-11-17 伝送装置、プラガブルデバイス、及び通信制御方法
US16/191,591 US20190155346A1 (en) 2017-11-17 2018-11-15 Electronic apparatus, pluggable device, and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017222102A JP2019095842A (ja) 2017-11-17 2017-11-17 伝送装置、プラガブルデバイス、及び通信制御方法

Publications (1)

Publication Number Publication Date
JP2019095842A true JP2019095842A (ja) 2019-06-20

Family

ID=66532967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017222102A Pending JP2019095842A (ja) 2017-11-17 2017-11-17 伝送装置、プラガブルデバイス、及び通信制御方法

Country Status (2)

Country Link
US (1) US20190155346A1 (ja)
JP (1) JP2019095842A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124963A (zh) * 2019-12-09 2020-05-08 深圳震有科技股份有限公司 Cpld实现iic接口从设备方法、智能终端及储存介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11194753B2 (en) * 2017-09-01 2021-12-07 Intel Corporation Platform interface layer and protocol for accelerators

Also Published As

Publication number Publication date
US20190155346A1 (en) 2019-05-23

Similar Documents

Publication Publication Date Title
CN106688208B (zh) 利用机架规模架构中的池化存储器进行的网络通信
US20150347345A1 (en) Gen3 pci-express riser
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
KR20070116102A (ko) Dma 컨트롤러, 노드, 데이터 전송 제어 방법 및 프로그램을 기록한 컴퓨터 판독가능한 기록 매체
US20060200614A1 (en) Computer system using serial connect bus, and method for interconnecting a plurality of CPU using serial connect bus
JPH0981508A (ja) 通信方法及び装置
JP2008165269A (ja) データ中継装置、ストレージ装置、および応答遅延監視方法
CN108268419A (zh) 具有相互通信处理器的设备、收音装置及非临时存储介质
JP2019095842A (ja) 伝送装置、プラガブルデバイス、及び通信制御方法
KR19990060566A (ko) 인터넷을 이용한 프로세스 간의 정보교환 장치
KR20170117326A (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
JP2003050788A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
KR100790747B1 (ko) 피엘시 시스템 및 그의 통신 제어 방법
JP5601090B2 (ja) 通信装置
EP2574012A1 (en) Bus control device and bus control method
US7054958B2 (en) Apparatus and method for responding to a interruption of a packet flow to a high level data link controller in a signal processing system
JP2009037526A (ja) データ転送装置、リクエスト発生装置、及びリクエスト発生方法
US11847089B2 (en) Electronic device and method for sharing data lanes of a network interface device between two or more computing devices
US20030093594A1 (en) Apparatus and method for controlling block signal flow in a multi digital signal processor configuration from a shared peripheral direct memory controller to high level data link controller
CN100525259C (zh) 组合异类硬件接口以用于下一代pvdm设备的方法和装置
JPH05300152A (ja) アドレス設定器
KR100331865B1 (ko) 다수의 보드간 데이터 송수신 방법
KR0168904B1 (ko) 그룹통신을 제공하는 데이터 교환 장치 및 방법
US9229886B2 (en) Management data transfer between processors
KR100211059B1 (ko) 폴링 주소 제어 장치 및 그 방법