(57)【要約】      （修正有）【課題】外部装置から不揮発性メモリへの制御情報の書き込みを適切に行なう。【解決手段】電気信号及び光信号の相互変換によって通信を行う光トランシーバであって、それぞれが第１のデータ容量を有する複数のセクタを備え、電気信号及び光信号の相互変換を制御するための制御情報を複数のセクタに分割して格納する不揮発性メモリ１６と、第２のデータ容量を有し、外部装置からシリアル通信バスを介して制御情報が書き込まれるレジスタ１２と、第３のデータ容量を有し、レジスタのデータを不揮発性メモリへ書き込むためのバッファメモリと、バッファメモリへの書き込みを制御する処理部２０と、処理部２０の指示によって、バッファメモリのデータを不揮発性メモリのセクタへＤＭＡ転送するＤＭＡコントローラ１８と、を備える。第１のデータ容量は、第２のデータ容量より大きく、第３のデータ容量は、第１のデータ容量より大きいまたは等しい。【選択図】図６
2017220802.tif 000002
【特許請求の範囲】
【請求項１】
電気信号及び光信号の相互変換によって通信を行う光トランシーバであって、
それぞれが第１のデータ容量を有する複数のセクタを備え、前記電気信号及び前記光信号の前記相互変換を制御するための制御情報を該複数のセクタに分割して格納する不揮発性メモリと、
第２のデータ容量を有し、外部装置からシリアル通信バスを介して前記制御情報を構成するデータが書き込まれるレジスタと、
第３のデータ容量を有し、前記レジスタに格納された前記データが前記レジスタから書き込まれ、前記レジスタから書き込まれた前記データを前記不揮発性メモリへ書き込むバッファメモリと、
前記レジスタに格納された前記データの前記バッファメモリへの書き込みを制御する処理部と、
前記処理部の指示によって、前記バッファメモリに格納された前記データを前記不揮発性メモリの前記セクタへＤＭＡ転送するＤＭＡコントローラと、
を備え、
前記第１のデータ容量は前記第２のデータ容量より大きく、
前記第３のデータ容量は前記第１のデータ容量より大きいまたは等しい、
光トランシーバ。
【請求項２】
前記シリアル通信バスは、ＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信バスであって、
前記処理部は、前記外部装置から送信された単一のＭＤＩＯフレームに含まれる単一データが前記レジスタに書き込まれる度に、前記単一データを前記バッファメモリの所定のアドレスに転送するとともに前記所定のアドレスをインクリメントする、
請求項１に記載の光トランシーバ。
【請求項３】
前記外部装置から送信された単一のＭＤＩＯフレームに含まれる単一データは、前記レジスタの特定のアドレスに書き込まれ、
前記処理部は、前記単一データが前記特定のアドレスへ書き込まれたときに、前記単一のＭＤＩＯフレームの次の単一のＭＤＩＯフレームに含まれる単一データが前記特定のアドレスへ書込まれるまでに、前記特定のアドレスへ書込まれた前記単一データを前記バッファメモリに転送する、
請求項２に記載の光トランシーバ。
【請求項４】
前記シリアル通信バスは、ＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信バスであって、
前記処理部は、前記外部装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データによって前記レジスタの全てが書き換えられたときに、前記レジスタに書き込まれた前記複数の単一データ全てを前記バッファメモリに転送する、
請求項１に記載の光トランシーバ。
【請求項５】
前記処理部は、前記外部装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データが前記バッファメモリのうち前記第１のデータ容量に等しい量だけ書き込まれたときに、前記ＤＭＡコントローラに前記バッファメモリから前記不揮発性メモリへのＤＭＡ転送を指示する、
請求項４に記載の光トランシーバ。
【請求項６】
前記レジスタは、ＭＤＩＯレジスタの一部である請求項１から５のいずれか一項に記載の光トランシーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光トランシーバに関し、特にＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信インターフェースを有する光トランシーバに関する。
【背景技術】
【０００２】
光トランシーバは、入力された電気信号を光信号に変換して送信する光送信回路と、受信した光信号を電気信号に変換して出力する光受信回路を備えている。光送信回路および光受信回路において情報を伝達するための信号を主信号という。さらに、光トランシーバには、マイクロコンピュータ等を含む制御回路が搭載されている。制御回路は、光送信回路と光受信回路とを制御する。光トランシーバは、光伝送装置（ホスト装置）に実装されて使用される。光トランシーバは、ホスト装置に対してＯＳＩ（Ｏｐｅｎ Ｓｙｓｔｅｍｓ Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルにおける物理層（ＰＨＹ）の装置に相当する。ホスト装置は、光トランシーバの制御及び監視を行うために主信号とは別の信号（制御系信号）を用いて光トランシーバと通信を行う。光トランシーバとホスト装置との間の制御系信号による通信規約は、ＭＳＡ（Ｍｕｌｔｉｐｌｅ  Ｓｏｕｒｃｅ  Ａｇｒｅｅｍｅｎｔ）等により規格化されている。例えば、１００Ｇｂｉｔ／ｓ光トランシーバ（ＣＦＰ）のＭＳＡでは、ホスト装置と光トランシーバとの制御及び監視のための通信は、ＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信インターフェースとして規定されている。
【０００３】
特許文献１には、光トランシーバ内の不揮発性メモリ内に記憶された情報（コード）をアップデートすることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第７８７３２８１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
光トランシーバにおいて、ＭＳＡ等の規格に準拠して、ホスト装置等の外部装置から制御回路内の不揮発性メモリに制御情報等のデータの書き込みが行なわれる。例えば、ホスト装置と光トランシーバの制御回路との通信をＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信方式によって行なう場合、ホスト装置と制御回路とのデータの読み書きは主に制御回路内に用意されたＭＤＩＯレジスタを介して行われる。例えば、１００Ｇｂｉｔ／ｓ 光トランシーバ（ＣＦＰ）のＭＳＡの場合、ＭＤＩＯレジスタは１ページ当り４０９６個のＭＤＩＯレジスタを有する８ページのレジスタ空間において用意される。ＣＦＰ  ＭＳＡでは、そのようなＭＤＩＯレジスタ空間にＣＤＢ（Ｃｏｍｍｏｎ  Ｄａｔａ  Ｂｌｏｃｋ）領域を設けることを規定している。それにより、不揮発性メモリに書き込まれる比較的大容量のデータは、ホスト装置からまずＣＤＢ領域に書き込まれる。しかし、ＣＤＢ領域の大きさが不揮発性メモリのセクタの大きさより小さいと、ＣＤＢ領域内に収まるようにデータを複数の部分に分割して転送するなど不揮発性メモリへのデータの書き込みが複雑になる。そのような複雑な書き込み処理は、ファームウェア等の大容量のデータを制御回路内の不揮発性メモリに書き込む場合に、処理効率を低下させ、完了までの所要時間を増大させる。
【０００６】
本発明は、外部装置から不揮発性メモリへの制御情報の書き込みを適切に行なうことを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、電気信号及び光信号の相互変換によって通信を行う光トランシーバであって、それぞれが第１のデータ容量を有する複数のセクタを備え、前記電気信号及び前記光信号の前記相互変換を制御するための制御情報を該複数のセクタに分割して格納する不揮発性メモリと、第２のデータ容量を有し、外部装置からシリアル通信バスを介して前記制御情報を構成するデータが書き込まれるレジスタと、第３のデータ容量を有し、前記レジスタに格納された前記データが前記レジスタから書き込まれ、前記レジスタから書き込まれた前記データを前記不揮発性メモリへ書き込むバッファメモリと、前記レジスタに格納された前記データの前記バッファメモリへの書き込みを制御する処理部と、前記処理部の指示によって、前記バッファメモリに格納された前記データを前記不揮発性メモリの前記セクタへＤＭＡ転送するＤＭＡコントローラと、を備え、前記第１のデータ容量は前記第２のデータ容量より大きく、前記第３のデータ容量は前記第１のデータ容量より大きいまたは等しい、光トランシーバである。
【発明の効果】
【０００８】
本発明によれば、外部装置から不揮発性メモリへの制御情報の書き込みを適切に行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１に係る光モジュールの構成を示すブロック図である。
【図２】図２（ａ）は、実施例１におけるＭＤＩＯフレームを示す図、図２（ｂ）は、ＭＤＩＯフレームで使用されるオペレーションコードおよびアドレス／データのテーブルである。
【図３】図３は、実施例１における制御部のブロック図である。
【図４】図４は、実施例１における制御部が行なう処理を示すフローチャートである。
【図５】図５は、実施例１における制御部内のデータの流れを示すタイミングチャートである。
【図６】図６は、実施例２における制御部のブロック図である。
【図７】図７は、実施例２における制御部が行なう処理を示すフローチャートである。
【図８】図８は、実施例２における制御部内のデータの流れを示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
［本願発明の実施形態の説明］
最初に本願発明の実施形態の内容を列記して説明する。
【００１１】
本願発明は、電気信号及び光信号の相互変換によって通信を行う光トランシーバであって、それぞれが第１のデータ容量を有する複数のセクタを備え、前記電気信号及び前記光信号の前記相互変換を制御するための制御情報を該複数のセクタに分割して格納する不揮発性メモリと、第２のデータ容量を有し、外部装置からシリアル通信バスを介して前記制御情報を構成するデータが書き込まれるレジスタと、第３のデータ容量を有し、前記レジスタに格納された前記データが前記レジスタから書き込まれ、前記レジスタから書き込まれた前記データを前記不揮発性メモリへ書き込むバッファメモリと、前記レジスタに格納された前記データの前記バッファメモリへの書き込みを制御する処理部と、前記処理部の指示によって、前記バッファメモリに格納された前記データを前記不揮発性メモリの前記セクタへＤＭＡ転送するＤＭＡコントローラと、を備え、前記第１のデータ容量は前記第２のデータ容量より大きく、前記第３のデータ容量は前記第１のデータ容量より大きいまたは等しい、光トランシーバである。
【００１２】
これにより、レジスタの容量（第２のデータ容量）がセクタの容量（第１のデータ容量）より小さいときにおいても、不揮発性メモリへの制御情報の書き込みを適切に行なうことができる。
【００１３】
前記シリアル通信バスは、ＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信バスであって、前記処理部は、前記外部装置から送信された単一のＭＤＩＯフレームに含まれる単一データが前記レジスタに書き込まれる度に、前記単一データを前記バッファメモリの所定のアドレスに転送するとともに前記所定のアドレスをインクリメントする。これにより、外部装置から不揮発性メモリへの制御情報の書き込み時間を削減できる。
【００１４】
前記外部装置から送信された単一のＭＤＩＯフレームに含まれる単一データは、前記レジスタの特定のアドレスに書き込まれ、前記処理部は、前記単一データが前記特定のアドレスへ書き込まれたときに、前記単一のＭＤＩＯフレームの次の単一のＭＤＩＯフレームに含まれる単一データが前記特定のアドレスへ書込まれるまでに、前記特定のアドレスへ書込まれた前記単一データを前記バッファメモリに転送する。これにより、レジスタの領域を小さくすることができる。
【００１５】
前記シリアル通信バスは、ＭＤＩＯ（Ｍａｎａｇｅｍｅｎｔ  Ｄａｔａ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）通信バスであって、前記処理部は、前記外部装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データによって前記レジスタの全てが書き換えられたときに、前記レジスタに書き込まれた前記複数の単一データ全てを前記バッファに転送する。これにより、外部装置から不揮発性メモリへの制御情報の書き込みを適切に行なうことができる。
【００１６】
前記処理部は、前記外部装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データが前記バッファメモリのうち前記第１のデータ容量に等しい量だけ書き込まれたときに、前記ＤＭＡコントローラに前記バッファメモリから前記不揮発性メモリへのＤＭＡ転送を指示する。これにより、不揮発性メモリにセクタ単位で制御情報を書き込むことができる。
【００１７】
前記レジスタは、ＭＤＩＯレジスタの一部であることが好ましい。
【実施例１】
【００１８】
［光モジュールの説明］
実施例として、ＣＦＰ（１００Ｇｂｉｔ/ｓ  ＦｏｒｍＦａｃｔｏｒ  Ｐｌｕｇｇａｂｌｅ）  ＭＳＡ準拠の光モジュールを例に説明する。ＣＦＰ  ＭＳＡ仕様については、例えばＣＦＰ  ＭＳＡ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ  Ｓｐｅｃｉｆｉｃａｔｏｎ  Ｖｅｒｓｉｏｎ  ２．４  ｒ０５ａに記載されている。
【００１９】
図１は、実施例１に係る光モジュールの構成を示すブロック図である。図１に示すように、実施例１に係る光トランシーバ４２は、電気信号および光信号の相互変換によって通信を行なう。光トランシーバ４２は、制御部１０、光送信回路３０および光受信回路３５を備えている。光送信回路３０は、電気信号を光信号に変換し、光受信回路３５は、光信号を電気信号に変換する。光送信回路３０は、信号処理回路３１、駆動回路３２および発光部３３を備える。光受信回路３５は、信号処理回路３６、増幅回路３７および受光部３８を備える。
【００２０】
信号処理回路３１は、例えばＣＤＲ（Ｃｌｏｃｋ  Ｄａｔａ  Ｒｅｃｏｖｅｒｙ）集積回路を含み、ホスト装置４０から伝送された電気信号を処理する。電気信号の処理としては、例えば波形整形およびタイミング再生である。駆動回路３２は、例えばレーザドライバ集積回路であり、信号処理回路３１が処理した電気信号を増幅して駆動信号を生成し、駆動信号によって発光部３３を駆動する。発光部３３は、例えばＴＯＳＡ（Ｔｒａｎｓｍｉｔｔｅｒ  Ｏｐｔｉｃａｌ  Ｓｕｂａｓｓｅｍｂｌｙ）であり、駆動回路３２から入力された駆動信号によって光信号を変調し、変調された光信号を光ファイバ等の光導波路（図示せず）に出力する。
【００２１】
受光部３８は、例えばＲＯＳＡ（Ｒｅｃｅｉｖｅｒ  Ｏｐｔｉｃａｌ  Ｓｕｂａｓｓｅｍｂｌｙ）であり、上述の送信用とは別の光ファイバ等の光導波路（図示せず）を伝搬してきた光信号を受光し電気信号に変換する。増幅回路３７は、例えばＴＩＡ（Ｔｒａｎｓｉｍｐｅｄａｎｃｅ  Ａｍｐｌｉｆｉｅｒ）であり、受光部３８が光信号に応じて生成した電気信号を増幅する。信号処理回路３６は、例えばＣＤＲ集積回路であり、光信号の受信において、増幅回路３７が増幅した電気信号を処理し、ホスト装置４０に出力する。電気信号の処理としては、例えば波形整形およびタイミング再生である。
【００２２】
制御部１０は、例えばマイクロコンピュータ等を含んで構成され、光送信回路３０および光受信回路３５を制御する。制御部１０と光送信回路３０および光受信回路３５との制御信号の通信には、Ｉ２Ｃ（Ｉｎｔｅｒ−ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）またはＳＰＩ（Ｓｅｒｉａｌ  Ｐｅｒｉｐｈｅｒａｌ  Ｉｎｔｅｒｆａｃｅ）等のシリアル通信方式を用いる。制御部１０とホスト装置４０との間の制御信号の通信には例えばＭＤＩＯ等のシリアル通信方式を用いる。
【００２３】
[ＭＤＩＯフレームの説明]
ＭＤＩＯ通信方式では、制御部１０はＭＤＩＯレジスタを有する。ホスト装置４０から光トランシーバ４２に特定の動作を行わせるための情報（制御コマンド）を入力したり、制御コマンドに応じて光トランシーバからホスト装置へ内部の動作状態に関する情報を出力したりする際に、ＭＤＩＯレジスタがそれらの情報のやり取りに使用される。より詳細には、ＭＤＩＯレジスタ空間内の特定のＭＤＩＯレジスタをアドレスによって指定し、その指定されたＭＤＩＯレジスタへの情報（例えば、制御コマンド）の書き込みとＭＤＩＯレジスタに格納されている情報（例えば、制御データ）の読み出しとによってホスト装置４０による光トランシーバの監視および制御が行われる。制御データおよび制御コマンドとＭＤＩＯレジスタ領域との関係は、ＣＦＰ  ＭＳＡ仕様等にて規定されている。
【００２４】
次に、ホスト装置４０からの制御部１０内のＭＤＩＯレジスタの読み書きに係るＭＤＩＯフレームの構成について説明する。図２（ａ）は、実施例１におけるＭＤＩＯフレームを示す図、図２（ｂ）は、ＭＤＩＯフレームにて使用されるオペレーションコードＯＰおよびアドレス／データのテーブルである。図２（ａ）に示すように、ＭＤＩＯフレーム５０は全長６４ビットのバイナリデータによって表される。ＭＤＩＯフレーム５０内の所定の位置に２ビットのオペレーションコードＯＰ５２と１６ビットのアドレス／データ５４とが含まれる。なお、この１６ビットのバイナリデータをペイロードと呼ぶ。
【００２５】
図２（ｂ）に示すように、ＯＰ５２の２ビットが「００」のとき、アクセスタイプ（ＭＤＩＯレジスタに対する操作）は「アドレス」となる。このとき、ホスト装置４０から制御部１０に送信されるペイロードには特定のＭＤＩＯレジスタのアドレスが格納される。ＯＰ５２の２ビットが「０１」のとき、アクセスタイプは「ライト」となる。このとき、ホスト装置４０から制御部１０に送信されるペイロードには１６ビットのデータが格納される。このデータは、先に「アドレス」によって指定された特定のＭＤＩＯレジスタに書き込まれる。
【００２６】
ＯＰ５２の２ビットが「１１」のとき、アクセスタイプは「リード」となる。このとき、先に「アドレス」によって指定された特定のＭＤＩＯレジスタに格納されているデータが制御部１０からホスト装置にペイロードの位置に合わせて送信される。すなわち、読み出しが行われる。ＯＰ５２の２ビットが「１０」のとき、アクセスタイプは「リードインクリメントアドレス」である。このとき、上述の「リード」と同様に読み出しが行われるが、読み出した後に今読み出したＭＤＩＯレジスタの次のアドレスが指定された状態となる（読み出し後にアドレスが１つ増える）。
【００２７】
ＯＰ５２には、アクセスタイプの「ライト」については「リードインクリメントアドレス」のように読み書き対象となるＭＤＩＯレジスタのアドレスをインクリメントするコードがない。このため、ホスト装置４０が特定のＭＤＩＯレジスタに特定のデータを書き込むときには、ホスト装置４０はアクセスタイプが「アドレス」のＭＤＩＯフレームを送信して特定のＭＤＩＯレジスタのアドレスを指定した後にアクセスタイプが「ライト」のＭＤＩＯフレームを送信して特定のデータを含むフレームを出力する。
【００２８】
［制御部の説明］
図３は、実施例１における制御部１０のブロック図である。図３に示すように、制御部１０は、レジスタ１２（ＭＤＩＯレジスタ群）、バッファ１４、不揮発性メモリ１６、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）コントローラ１８および処理部２０（プロセッサ）を備える。例えば制御部１０がＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を含むときに、レジスタ１２およびバッファ１４は、それぞれＳＲＡＭ内の特定の領域に用意されてもよい。不揮発性メモリ１６は、例えばフラッシュメモリであり、１セクタは例えば４キロバイト（ＫＢ）である。不揮発性メモリ１６は、それぞれが所定の容量（第１のデータ容量）を有する複数のセクタを備える。不揮発性メモリ１６にはデータがセクタ単位で書き込まれる。処理部２０は、レジスタ１２、バッファ１４、ＤＭＡコントローラ１８、及び不揮発性メモリを制御する。処理部２０は、例えばマイクロプロセッサであって、レジスタ１２、バッファ１４、及び、ＤＭＡコントローラ１８等と共に同一の半導体チップ上に形成されていてもよい。その場合、処理部２０とレジスタ１２、バッファ１４、およびＤＭＡコントローラ１８とは共通のバスで互いに接続され、バスを介して互いにデータの送受を行ってもよい。
【００２９】
ホスト装置４０と制御部１０とはＭＤＩＯバス等のシリアル通信バスにより接続されている。レジスタ１２は、ＭＤＩＯレジスタであり、コマンド領域およびＣＤＢ領域を含んでいる。コマンド領域にはホスト装置４０からのコマンドが書き込まれる。より詳細には、制御部１０は、シリアル通信方式のインターフェース部（図示せず）を備え、ホスト装置４０から受信したＭＤＩＯフレームを解析してペイロードに格納されていたデータ（コマンド）を先にアドレスが指定されたレジスタに格納する。ＣＤＢ領域は、アプリケーションにより共通に使用できる領域であり、ＣＦＰ  ＭＳＡ仕様では、容量（大きさ）は１０２４レジスタ×１６ビット＝２キロバイトである。バッファ１４は、不揮発性メモリ１６の１セクタ以上の大きさであり、例えば４キロバイトである。
【００３０】
図４は、実施例１における制御部が行なう処理を示すフローチャートである。図５は、実施例１における制御部内のデータの流れを示すタイミングチャートである。図５におけるホスト出力は、ホスト装置４０から制御部１０へ出力される連続したＭＤＩＯフレームの流れを示す。ただし、図５では、実施例に直接関係しないＭＤＩＯフレームは省略している。一つの矩形が一つのＭＤＩＯフレームに相当する。ここで、「Ａ」と印された矩形は、図２（ｂ）のＯＰ５２が「００」であり、アドレス／データ５４（ペイロード）が特定のＭＤＩＯレジスタのアドレスを格納するＭＤＩＯフレーム（以下、このＭＤＩＯフレームをアドレスフレームと呼ぶ）である。「Ｗ」と印された矩形は、図２（ｂ）のＯＰ５２が「０１」であり、アドレス／データ５４（ペイロード）がＭＤＩＯレジスタに書き込むべきデータを格納するＭＤＩＯフレーム（以下、このフレームをライトフレームと呼ぶ）である。
【００３１】
制御部１０は、ホスト装置４０からシリアル通信バスを介し入力されるアドレスフレームによって指定されるアドレスのＭＤＩＯレジスタに、アドレスフレームが入力された後にホスト装置４０からシリアル通信バスを介して入力されるライトフレームに含まれるデータを書き込む。このように、一つのアドレスフレームとそれに続く一つのライトフレームが一組となって特定のＭＤＩＯレジスタに特定のデータの書き込みが行われる。
【００３２】
図５におけるレジスタ→バッファは、レジスタ１２からバッファ１４へのデータの転送を示す。このデータの転送は、レジスタ１２とバッファ１４とを接続する専用のバスを介して行われてもよいし、レジスタ１２とバッファ１４とが一つの半導体チップ上に形成されている場合は、上述した共通のバスを介して行われてもよい。図５におけるバッファは、バッファ１４内のデータの格納状況を示す。図５におけるバッファ→不揮発性メモリは、バッファ１４から不揮発性メモリ１６へのデータの転送を示す。このデータの転送は、処理部２０から受けた指示及び情報に応じてＤＭＡコントローラ１８によって行われる。
【００３３】
図４および図５に示すように、ホスト装置４０は、コマンド領域のアドレスを含んだＭＤＩＯフレームとコマンド領域に書込むデータ（コマンド）を含んだＭＤＩＯフレームをシリアル通信バス（ＭＤＩＯ通信バス）を介して光トランシーバ４２に送信する。制御部１０は、それらのＭＤＩＯフレームを受信して、上述したようにそれぞれのＭＤＩＯフレームを解析してレジスタ１２のコマンド領域にコマンドを書き込む（ステップＳ１０）。ここで、コマンド領域に書込まれるコマンドは、大容量のデータを不揮発性メモリの所定のセクタに書き込むことを指示するコマンドである。大容量のデータは、光送信回路３０および光受信回路３５の少なくとも一方に関連したデータ（以下ではライトデータという）である。ライトデータは、例えば光トランシーバのファームウェアのアップグレードデータであり、光トランシーバの電気信号および光信号の相互変換を制御するための制御情報である。従って、ライトデータは、処理部２０が実行可能なプログラムを含んでいてもよい。ライトデータのデータ量は１セクタの大きさ（例えば、４キロバイト）より大きく、例えば６００キロバイトである。処理部２０はコマンド領域に書き込まれたコマンドに応じて、ホスト装置４０から複数のライトフレームによって送信されてくる大容量のライトデータの不揮発性メモリ１６への書き込みを開始する。処理部２０は、例えば、マイクロプロセッサであって、制御部１０内の所定の場所に予め格納されたファームウェアを実行することによって図４の各ステップを含む種々の処理を行う。
【００３４】
ホスト装置４０は、書き込みデータ６０としてアドレスフレームをレジスタ１２に出力する（ステップＳ１２）。ホスト装置４０は、書き込みデータ６０としてライトフレームをレジスタ１２に出力する（ステップＳ１４）。レジスタ１２は、アドレスフレームが示すレジスタ１２内のＣＤＢ領域にライトフレーム内のデータを格納する。処理部２０はＣＤＢ領域に書き込まれたデータをバッファ１４へ転送か否か判定する（ステップＳ１６）。例えば、処理部２０は、ＣＤＢ領域の最後のアドレス（または所定のアドレス）までデータが格納されたとき、Ｙｅｓと判定する。処理部２０は、ＣＤＢ領域の最後のアドレス（または所定のアドレス）までデータが格納されていないとき、Ｎｏと判定する。Ｎｏのとき、ステップＳ１２に戻る。ホスト装置４０は、ＣＤＢ領域の次のアドレスを示すアドレスフレームをレジスタ１２に出力する（ステップＳ１２）。ホスト装置４０は、次のデータを含むライトフレームをレジスタ１２に出力する（ステップＳ１４）。なお、書き込みデータ６２は、ホスト装置４０が制御部１０にレジスタ１２の所定のアドレスにＣＤＢ領域への書き込みが終了したことを知らせるためのもので、処理部２０はその所定のアドレスに書き込まれたデータによって転送か否かを判断してもよい。上述したように処理部２０がＣＤＢ領域のアドレスによって転送するか否かを判断する場合は、書き込みデータ６２は省略してもよい。
【００３５】
ステップＳ１６においてＹｅｓのとき、処理部２０は、図５の転送６４のようにＣＤＢ領域に格納されたデータをバッファ１４にまとめて転送する（ステップＳ１８）。これにより、ＣＤＢ領域内のデータ（例えば２キロバイト）がバッファ１４に格納される。バッファ１４には、例えばレジスタ１２内のアドレス順にデータが格納される。転送６４が完了すると、バッファ１４内の一部領域にデータが格納６６ａされる。例えば、バッファ１４には、バッファ１４の全容量４キロバイトのうち２キロバイトのデータが格納されている。
【００３６】
処理部２０は、バッファ１４のデータを不揮発性メモリ１６に転送するか判定する（ステップＳ２０）。例えば処理部２０は、バッファ１４の最後のアドレス（または所定アドレス）までデータが格納されたとき、Ｙｅｓと判定する。例えば処理部２０は、バッファ１４の最後のアドレス（または所定アドレス）までデータが格納されていないとき、Ｎｏと判定する。ＮｏのときステップＳ１２に戻り、レジスタ１２は、ＣＤＢ領域の最初のアドレスからデータを格納する。ＣＤＢ領域の最後のアドレスまでデータが格納されると、ステップＳ１８において、処理部２０は、ＣＤＢ領域に格納されたデータをバッファ１４にまとめて転送６４する。このとき、バッファ１４の一部領域に既に転送されたデータが格納されているときは、バッファ１４の空いている領域にデータが格納される。転送６４は、バッファ１４内の全領域にデータが格納６６ｂされるまで繰り返して行われるが、所定の回数まで行ったところで終了してもよい。
【００３７】
ステップＳ２０において、処理部２０は、バッファ１４の全領域にデータが格納されるか、所定の量のデータが全てバッファ１４内に格納されると、Ｙｅｓと判定する。処理部２０は、ＤＭＡコントローラ１８にバッファ１４内のデータを不揮発性メモリ１６に転送するよう指示する(ステップＳ２２）。ＤＭＡコントローラ１８は、バッファ１４に格納されたデータを、不揮発性メモリ１６内の所定のセクタにＤＭＡ転送６８する。ＤＭＡ転送は、ＤＭＡコントローラ１８によって自律的に行われ、処理部２０は、ＤＭＡ転送が行われている間に別の処理をおこなうことができる。バッファ１４から不揮発性メモリ１６へのデータの転送は、バッファ１４と不揮発性メモリ１６とを接続するバス（図示せず）を介して行われる。ＤＭＡコントローラ１８は、バッファ１４の読み出すデータが格納されているアドレスと、不揮発性メモリ１６の所定のセクタのデータを書き込むアドレスとをそれぞれ指定し、バスを介してバッファ１４から不揮発性メモリ１６へのデータの転送を行わせる。転送６８が終了すると、処理部２０は、不揮発性メモリへの書き込みを終了するか否か判定する（ステップＳ２４）。例えば、処理部２０は、ＤＭＡコントローラ１８からのＤＭＡ転送に係る割込み信号を受けて、不揮発性メモリ１６へのデータ書き込みを終了するときはＹｅｓ、別のセクタへの書き込みを行うときはＮｏと判定する。Ｎｏのとき、処理部２０は、書き込みを行なう不揮発性メモリ１６のセクタのアドレスをセクタの大きさに応じてインクリメントする（ステップＳ２６）。処理部２０は、不揮発性メモリ１６の所定のセクタへのデータの転送が終了したことを示すデータをレジスタ１２の所定のアドレスに書き込み、待機状態となり、ステップＳ１０に戻る。処理部２０は、次のセクタへの書き込みを指示するコマンドを受けて不揮発性メモリ１６の次のセクタへのデータの書き込みを開始する。このように複数のセクタに書き込みを行うときにはセクタ毎にステップＳ１０〜Ｓ２４を繰り返し、全てのセクタへの書き込みを終了したときには、Ｙｅｓと判断して終了する。
【００３８】
以上により、プログラム等の大容量のライトデータが複数のセクタに分割され不揮発性メモリ１６に書き込まれる。
【実施例２】
【００３９】
図６は、実施例２におけるホスト装置および制御部のブロック図である。図６に示すように、レジスタ１２はセクタアドレス領域、バッファアドレス領域およびデータ領域を含む。セクタアドレス領域、バッファアドレス領域およびデータ領域は、ＣＤＢ領域内に設けられていてもよい。セクタアドレス領域にはデータを書きこむ不揮発性メモリ１６のセクタのアドレス情報等（例えば、先頭アドレス、セクタの大きさなど）が格納される。バッファアドレス領域にはバッファ１４の最初にデータを格納するアドレス（例えば、先頭アドレス）が格納される。データ領域にはホスト装置４０から出力されたデータが格納される。その他の構成は実施例１の図３と同じであり、説明を省略する。
【００４０】
図７は、実施例２における制御部１０が行なう処理を示すフローチャートである。図８は、実施例２における制御部内のデータの流れを示すタイミングチャートである。図７および図８に示すように、ホスト装置４０は、レジスタ１２内のセクタアドレスを指定するためのアドレスフレームおよびライトフレームを制御部１０に出力する（ステップＳ３０）。セクタアドレスの格納７０は、先のアドレスフレームでレジスタ１２内のセクタアドレス領域のアドレスを指定し、後のライトフレームでセクタアドレスをセクタアドレス領域に格納することにより行なう。ホスト装置４０は、レジスタ１２内のバッファアドレスを指定するためのアドレスフレーム及びライトフレームを制御部１０に出力する（ステップＳ３２）。バッファアドレスの格納７２は、先のアドレスフレームでレジスタ１２内のバッファアドレス領域のアドレスを指定し、後のライトフレームでバッファアドレスをバッファアドレス領域に格納することにより行なう。
【００４１】
ホスト装置４０は、レジスタ１２内のデータを格納するための領域（データ領域）に係るアドレスフレームを出力する（ステップＳ３４）。アドレスフレームはレジスタ１２内のデータ領域のアドレスを指定する。ホスト装置４０は、レジスタ１２にライトフレームを出力する（ステップＳ３６）。これにより、レジスタ１２のデータ領域にライトフレームのデータが格納される。処理部２０は、バッファアドレス領域が示すバッファ１４のアドレスにデータ領域のデータを転送７４する（ステップＳ３８）。このデータ転送は、実施例１と同様に行われる。処理部２０は、不揮発性メモリ１６にバッファ１４のデータを転送するか判定する（ステップＳ４０）。例えば、処理部２０は、バッファ１４の最後のアドレス（または所定のアドレス）までデータが格納されているときＹｅｓと判定し、バッファ１４の最後のアドレス（または所定のアドレス）までデータが格納されていないときＮｏと判定する。
【００４２】
Ｎｏのとき処理部２０は、バッファ１４の次にデータを書き込むアドレスをインクリメントする（ステップＳ４２）。ステップＳ３６に戻り、次のデータをレジスタ１２のデータ領域に格納する（ステップＳ３６）。処理部２０は、データ領域に格納されたデータをバッファ１４に転送する（ステップＳ３８）。以上を繰り返すことにより、１セクタ分のデータがバッファ１４に転送７６される。転送７６は、大容量のデータが不揮発性メモリ１６の複数のセクタに分割されて格納されるとき、大容量のデータの全てが不揮発性メモリ１６に格納されるまで繰り返される。
【００４３】
ステップＳ４０においてＹｅｓのとき、処理部２０は、ＤＭＡコントローラ１８に、バッファ１４に書き込まれた１セクタ分のデータを不揮発性メモリ１６のセクタアドレス領域に書きこむよう指示する（ステップＳ２２）。ＤＭＡコントローラ１８は、バッファ１４に格納されたデータを、不揮発性メモリ１６内の所定のセクタにＤＭＡ転送６８する。ＤＭＡ転送は、ＤＭＡコントローラ１８によって自律的に行われ、処理部２０は、ＤＭＡ転送が行われている間に別の処理をおこなうことができる。転送６８が終了すると、処理部２０は、終了か否か判定する（ステップＳ２４）。例えば、Ｎｏのとき、処理部２０は、書き込みを行なう不揮発性メモリ１６のセクタのアドレスをセクタの大きさに応じてインクリメントする（ステップＳ２６）。例えばホスト装置４０は、セクタアドレス領域に次のセクタのアドレス（先頭アドレス）を書き込む。ステップＳ３０に戻り不揮発性メモリ１６の次のセクタにデータを書き込む。Ｙｅｓのとき終了する。
【００４４】
以上により、プログラム等の大容量のライトデータが複数のセクタに分割され不揮発性メモリ１６に書き込まれる。
【００４５】
実施例１および２によれば、図４のステップＳ１８および図７のステップＳ３８のように、処理部２０は、ライトデータの一部がレジスタ１２に書き込まれると、レジスタ１２に書き込まれたライトデータの一部をバッファ１４に転送する。図４および図７のステップＳ２２のように、ＤＭＡコントローラ１８（書込回路）は、バッファ１４に書き込まれたライトデータの一部の量が１セクタ分になると、バッファ１４に書き込まれた１セクタ分のライトデータの一部を不揮発性メモリ１６に書き込む。このとき、バッファ１４の読み出し元のアドレスと不揮発性メモリ１６の書き込み先のアドレスのそれぞれの更新と、バッファ１４から不揮発性メモリへのバスを介したデータの転送は、ＤＭＡコントローラ１８によって自律的に行われる。従って、その間、処理部２０は他の処理を行うことができる。例えば、光送信回路３０および光受信回路２５の制御に係る処理やホスト装置４０とのＭＤＩＯバスを介した通信に係る処理を行ってもよい。
【００４６】
図４のステップＳ１４および図７のステップＳ３６のように、レジスタ１２には、外部装置であるホスト装置４０からシリアル通信バスを介して光トランシーバの電気信号及び光信号の相互変換を制御するための制御情報を構成するデータ（ライトデータ）が書き込まれる。図４のステップＳ１８および図７のステップＳ３８のように、バッファメモリであるバッファ１４には、レジスタ１２に格納されたライトデータがレジスタ１２から書き込まれる。図４および図７のステップＳ２２のように、バッファ１４はレジスタ１２から書き込まれたライトデータを不揮発性メモリ１６に書き込む。ＤＭＡコントローラ１８は、処理部２０の指示によって、バッファ１４に格納されたライトデータを不揮発性メモリ１６のセクタへＤＭＡ転送する。このような構成において、セクタの容量（第１のデータ容量）はレジスタ１２のうちライトデータが格納される領域の容量（第２のデータ容量）より大きく、バッファ１４の容量（第３のデータ容量）はセクタの容量（第１のデータ容量）より大きいまたは等しい。
【００４７】
これにより、レジスタ１２に不揮発性メモリ１６の１セクタ分の領域（例えばＣＤＢ領域）が割り当てられていない（すなわち第１のデータ容量が第２のデータ容量より大きな）場合においても、バッファ１４の容量をセクタの容量より大きいまたは等しくすることで、ホスト装置４０から不揮発性メモリ１６へのライトデータ（制御情報）の書き込みを適切に行なうことができる。
【００４８】
実施例１の図４のステップＳ１２およびＳ１４および図５のように、ＭＤＩＯフレーム単位のデータはレジスタ１２のアドレスがインクリメントされ書き込まれる。処理部２０は、ステップＳ１６のように、レジスタ１２に書き込まれたライトデータの一部が１セクタより小さい所定量となると、ステップＳ１８のように、レジスタ１２に書き込まれたライトデータの一部をバッファ１４に転送する。
【００４９】
すなわち、処理部２０は、ホスト装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データによってレジスタ１２の全てが書き換えられたときに、レジスタ１２に書き込まれた複数の単一データ全てをバッファ１４に転送する。
【００５０】
これにより、レジスタ１２内のデータを格納できる領域が１セクタより小さくとも、ホスト装置４０から不揮発性メモリ１６へのライトデータの書き込みを適切に行なうことができる。
【００５１】
図４および図７のステップＳ２２のように、処理部２０は、ホスト装置から順次送信される複数のＭＤＩＯフレームに含まれる複数の単一データがバッファ１４のうち第１のデータ容量に等しい量だけ書き込まれたときに、ＤＭＡコントローラ１８にバッファ１４から不揮発性メモリ１６へのＤＭＡ転送を指示する。これにより、不揮発性メモリ１６にセクタ単位でライトデータを書き込むことができる。
【００５２】
実施例１のように、レジスタ１２がＭＤＩＯレジスタ中のＣＤＢ領域のとき、ＣＤＲ領域は１セクタより小さい。よって、実施例１のように、１セクタ分以上の大きさを有するバッファ１４を用いることが好ましい。
【００５３】
実施例２の図７のステップＳ３６および図８のように、処理部２０は、レジスタ１２に書き込まれたＭＤＩＯフレーム単位のデータを、ステップＳ４２のようにバッファ１４のアドレスを順次インクリメントさせ、ステップＳ３８のようにバッファ１４に順次転送する。
【００５４】
すなわち、処理部２０は、ホスト装置から送信された単一のＭＤＩＯフレームに含まれる単一データがレジスタ１２に書き込まれる度に、単一データをバッファ１４の所定のアドレスに転送するともに所定のアドレスをインクリメントする。
【００５５】
これにより、実施例１のように、ホスト装置４０は、複数のＭＤＩＯフレーム単位のデータをレジスタ１２に書き込むときに、アドレスフレームとライトフレームとを交互に出力しなくともよい。よって、ホスト装置４０から不揮発性メモリ１６へのデータの書き込み時間を５０％程度に削減できる。また、ホスト装置４０はアドレスフレームを毎回出力しなくともよくなる。
【００５６】
また、図６のように、ＭＤＩＯフレーム単位のデータはレジスタ１２の同じアドレスに書き込まれる。図７のステップＳ３６のように、処理部２０は、フレーム単位のデータが同じアドレスに書き込まれた後、ステップＳ３８のように次のフレーム単位のデータが同じアドレスに書き込まれる前に、フレーム単位のデータをバッファ１４に転送する。
【００５７】
すなわち、処理部２０は、単一データが特定のアドレスへ書き込まれたときに、単一のＭＤＩＯフレームの次の単一のＭＤＩＯフレームに含まれる単一データが特定アドレスへ書込まれるまでに、特定のアドレスへ書込まれた単一データをバッファ１４に転送する。これにより、レジスタ１２のデータ領域を小さくすることができる。
【００５８】
ホスト装置４０は、図８のように、次のＭＤＩＯフレーム単位のデータを出力する前にアイドルフレーム（他の処理に係るアドレスあるいはデータを送信するためのフレーム）を出力しない。あるいは、ホスト装置４０は、先のＭＤＩＯフレーム（ライトフレーム）の処理が終了するまで次のライトフレームの送信を遅らせる必要が無くなる。これにより、ライトデータの書き込み時間を短縮できる。
【００５９】
図６のバッファアドレス領域のように、レジスタ１２は、バッファ１４にＭＤＩＯフレーム単位のデータを最初に格納するバッファ１４のアドレスを格納する領域を有する。これにより、最初のＭＤＩＯフレーム単位のデータはバッファ１４の最初の領域に格納される。バッファ１４に複数のＭＤＩＯフレーム単位のデータを最初に書き込むアドレスは、ホスト装置４０から出力しなくとも、不揮発性メモリ１６内に格納されていてもよい。
【００６０】
図６のセクタアドレス領域のように、レジスタ１２は、ライトデータの一部を書き込む不揮発性メモリ１６のセクタのアドレスを格納する領域を有する。これにより、最初の１セクタ分のフレームは不揮発性メモリ１６の最初のセクタに格納される。ライトデータの一部を書き込む不揮発性メモリ１６のセクタのアドレスは、ホスト装置４０から出力しなくとも、不揮発性メモリ１６内に格納されていてもよい。このとき、図７のステップＳ２６において、セクタアドレスのインクリメントは制御部１０側が行なってもよい。
【００６１】
レジスタ１２がＭＤＩＯレジスタの一部である場合、レジスタ１２内において用いることができる領域が例えばＣＤＢ領域のように制限される。実施例１および２では、このような場合でも不揮発性メモリ１６への大容量のライトデータの書き込みを適切に行なうことができる。
【００６２】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００６３】
１０  制御部
１２  レジスタ（ＭＤＩＯレジスタ群）
１４  バッファ
１６  不揮発性メモリ
１８  ＤＭＡコントローラ
２０  処理部
３０  光送信回路
３１  信号処理回路
３２  駆動回路
３３  発光部
３５  光受信回路
３６  信号処理回路
３７  増幅回路
３８  受光部
４０  ホスト装置
５０  ＭＤＩＯフレーム
５２  ＯＰ
５４  アドレス／データ
６０  書込みデータ
６４、６８、７４、７６  転送
６６ａ、６６ｂ、７０、７２  格納
【図１】
2017220802.tif 000003
【図２】
2017220802.tif 000004
【図３】
2017220802.tif 000005
【図４】
2017220802.tif 000006
【図５】
2017220802.tif 000007
【図６】
2017220802.tif 000008
【図７】
2017220802.tif 000009
【図８】
2017220802.tif 000010