(57)【要約】  【課題】  多重化構成・冗長化構成のある複数台のメモリ等の障害時における復旧時間を短くし、ＩＯコントローラの機能についても、よりシンプルなものにすることが望まれる。  【解決手段】  本発明は、ホスト等から複数台の記憶装置への接続方式に利用される光リンクに関し、より詳しくは、光リンクの分岐とその一方向性を利用して多重化・冗長化を実現する光接続方式または光配線方式に利用できる光リンク及びその製造方法に関する。ホスト等と複数台のメモリ等の記憶装置とを、２つ以上の光カップラーを経由して光接続するにあたり、光カップラーの分岐とその一方向性を利用して、２つの光カップラーの間にループを設ける構成に利用される。ここでは、ＩＯコントローラに複数の動作モードを選択させるという構成が採用されている。【選択図】  図６
2011237828.tif 000002
【特許請求の範囲】
【請求項１】
光リンクの製造方法であって、
同じ長さである、第１のファイバー、第２のファイバー、および、第３のファイバーを用意するステップと、
第１のファイバーの一端から第１の距離にある第１の箇所と、第２のファイバーの一端から第１の距離にある第１の箇所とを、長さを揃えた箇所として、融着するステップと、
第２のファイバーのうちの第１の箇所とは異なった箇所であって、第２のファイバーの一端から第２の距離にある第２の箇所と、第３のファイバーの一端から第２の距離にある第２の箇所とを、長さを揃えた箇所として、融着するステップとを有する、
前記方法。
【請求項２】
各々が、両端（一端、他端）を含み、一端の側から他端の側へと光を一方向に送信することが可能であって、かつ、一端の側において光インターコネクトの２つ以上の分岐（第１の分岐、第２の分岐）を含み、他端の側において光インターコネクトの２つ以上の分岐（第３の分岐、第４の分岐）を含む、第１の（X型）カップラー（４０）および第２の（X型）カップラー（３０）を有し、
第１のカップラー（４０）の他端の第４の分岐（４２）は、（ループを形成することができるように）第２のカップラー（３０）の一端の第２の分岐（３４）に接続されている、
光リンク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト等から複数台の記憶装置への光リンクによる接続方式に関し、より詳しくは、光リンクの分岐とその一方向性を利用して多重化・冗長化を実現する光接続方式または光配線方式に関する。
【背景技術】
【０００２】
現在、ホスト等のＣＰＵとメモリ等の記憶装置との接続方式として、光リンクを使う方式が注目されており、研究が進められている。サーバーでは（最近では、パソコンでさえ）システムの信頼性（ＲＡＳ）が重要であり、メモリ等の記憶装置としてのシステム構成として、誤り訂正符号(ＥＣＣ: ErrorCorrecting Code)に基づくものはもとより、ミラーリング(ＲＡＩＤ１)など、その他のＲＡＩＤによって、メモリ等の記憶装置を複数台用意して、これらにわたって多重化構成または冗長化構成をサポートしている。
【０００３】
ホスト等のＣＰＵからは、メモリ等の記憶装置に対して、データの読み出し(Read)コマンドやデータの書き込み(Write)コマンドがもたらされるが、それらのコマンドに従った処理を実行するにあたっては、メモリ等の記憶装置に内蔵されているか、又は、メモリ等の記憶装置に外付けされている入出力（ＩＯまたはＩ／Ｏ)コントローラが利用されることが一般的である。すなわち、このＩＯコントローラが、ホスト等からもたらされたコマンドをどのように解釈してメモリ等の記憶装置を動作させるかという役割を担っている。
【０００４】
複数台のメモリ等の記憶装置の何れかの箇所において、（通常は予期せずに）何らかの障害(fault)が発生した場合には、多重化・冗長化されている耐障害性(fault tolerance)を利用することで、その復旧(recovery)動作(operation)が行なわれる。この復旧動作についても、通常はＩＯコントローラがその役割を担っている。この役割は、ＲＡＩＤであれば、ＲＡＩＤコントローラと呼ばれる部分が担っており、復旧動作という目的に沿って、データの再構築(rebuild)と呼ばれこともある。したがって、このＩＯコントローラの機能を充実させていくことが考えられるが、メモリ等の記憶装置が複数台にわたって接続されているような状況において、電気的な配線や電気的なリンクに従っている限りは、復旧時間についても限界がある。
【０００５】
特許文献１は、メモリミラーリング構成におけるメモリ素子間のコピー動作について、コピー速度を変更しているが、電気的な接続を前提としており、メモリ制御装置またはミラーリング制御装置への負担を複雑なものにしてしまう。
【０００６】
特許文献２は、入力された光信号の分岐装置について説明している。この文献は、光の分岐についての一般的技術水準を示すものである。
【０００７】
特許文献３は、光ファイバカップラー（２×２型の光ファイバカップラー）の製造方法であり、このような製造が可能であることについて一般的技術水準を示すものであり、それを用いた光通信システムについて記載している。ただし、２×２型光ファイバカップラーの片方の端部の終端部分が不要ポートとされており、その不要ポートについては生かされてはいない。この２×２型光ファイバカップラーは、その外観の特徴から、Ｘ型カップラーと呼ばれることもある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−２１７７２７号公報
【特許文献２】特開２００１−１６６１７７号公報
【特許文献３】特開平１１−６９３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
多重化構成・冗長化構成のある複数台のメモリ等の障害時における復旧時間を短くし、ＩＯコントローラの機能についても、よりシンプルなものにすることが望まれる。
【課題を解決するための手段】
【００１０】
ホスト等と複数台のメモリ等の記憶装置とを、２つ以上の光カップラーを経由して光接続するにあたり、光カップラーの分岐とその一方向性を利用して、２つの光カップラーの間にループを設ける構成に利用することができる光リンク及びその製造方法が提供される。
【００１１】
ここでは、ＩＯコントローラに複数の動作モードを選択させるという構成が採用されている。
【発明の効果】
【００１２】
多重化構成・冗長化構成のある複数台のメモリ等の障害時における復旧時間を短くし、ＩＯコントローラの機能についても、よりシンプルなものにすることができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本発明で利用されるメモリユニットの構成を示す図である。
【図２】図２は、本発明に従って、複数台のメモリユニットと、ホストとの接続例を示す図である。
【図３】図３は、本発明に関わる、３種類の状態（動作モード）とそれら状態の間での遷移を示す模式図である。
【図４】図４は、従来技術として、ホストと２つのメモリユニットとが電気的に接続された状態でのメモリの復旧(recovery)動作のタイミングチャートを示す図である。
【図５】図５は、本発明として、ホストと２つのメモリユニットとが（ホストに戻ることなく「ループ」を通じて）光学的に接続された状態でのメモリの復旧(recovery)動作のタイミングチャートを示す図である。
【図６】図６は、本発明としての、光リンクの作成方法を示す図である。この例では、図２における光インターコネクトとして採用されている光リンクであり、図２におけるものと同一の符号が付されている。
【図７】図７は、本発明に従って、さらに発展的に構成した接続例を示す図である。
【図８】図８は、本発明に従う図７の発展的な構成の接続を実現する、光リンクの作成方法を示す図である。
【発明を実施するための形態】
【００１４】
図１は、本発明で利用されるメモリユニットの構成を示す図である。メモリユニット（以下、Ｕｎｉｔという省略形でも表現される）１００は、ＩＯコントローラ（以下、Ｃｔｒｌ．という省略形でも表現される）１０、メモリデバイス（以下、Ｄｅｖ．という省略形でも表現される）２０、を主たる構成要素に含んでいる。ＩＯコントローラ１０は、メモリデバイス２０の入力２２を通じて、メモリデバイス２０内におけるデータやそのデータが記憶されているアドレスを指定するという制御を行なう。また、ＩＯコントローラ１０は、メモリデバイス２０の出力２４を通じて、メモリデバイス２０内におけるデータを取り出すという制御を行なう。
【００１５】
ＩＯコントローラ１０は、メモリデバイス２０の制御だけでなく、光インターコネクトの制御も行なう。本発明においては、メモリユニット１００に複数の動作モードを設定することができる。メモリユニット１００本体のモード切替スイッチ１６によって物理的に制御することが可能であるし、また、ネットワーク・インターフェイス１８を通じて行なうようなネットワーク接続や光リンク自体によって制御することも可能である。
【００１６】
本発明で重要となる構成は、ＩＯコントローラ１０において、少なくとも３種類の動作モードが設定できるというところにある。具体的には、ホスト（の送信端）よりもたらされるところの読み出し(Read)コマンド（Ｃｍｄという省略形でも表現される）または書き込み(Write)コマンドに従って、
（１）読み出しコマンドに応答してメモリからのデータの読み出しを実行し、および、書き込みコマンドに応答してメモリへのデータの書き込みを実行する状態（Active  Mode）、
（２）読み出しコマンドには応答しないが、書き込みコマンドに応答してメモリへのデータの書き込みだけを実行する状態（Snoop  Mode）、並びに、
（３）書き込みコマンドに応答してメモリへのデータの書き込みを実行し、および、読み出しコマンドを書き込みコマンドに変換してメモリへのデータの書き込みを実行する状態（Recovery  Mode）、
という（少なくとも）３種類の状態について、
（１）の状態と（２）の状態との間、および、（２）の状態と（３）の状態との間、において選択的な遷移が可能になっている、
という点である。
【００１７】
このような少なくとも３種類の動作モードと、それらの間での選択的な遷移は、ＩＯコントローラ１０自体の機能として実現することができるが、ＩＯコントローラ１０を図１のようにメモリユニット１００に内蔵することもできるし、ＩＯコントローラ１０としての相当する機能をメモリユニット１００の外付け（この場合については、図示せず）として実現することもできる。
【００１８】
受信端（Ｒｘ）１２において、この受信端１２を通して、読み出しコマンドまたは書き込みコマンドを受け取ることができる。また、この受信端（Ｒｘ）１２において、データを受け取ることができ、アドレス等の情報を受け取ることができ、メモリデバイス２０中のどのアドレスにデータを書き込み、メモリデバイス２０中のどのアドレスからデータを読み出すかについて、メモリデバイス２０を動作させる。光の一方向性に由来して、受信端（Ｒｘ）は書き込みポートと呼ばれる場合もあるし、入力チャネル（Ｉｎ）と呼ばれる場合もある。
【００１９】
送信端（Ｔｘ）１４において、この送信端１４を通して、読み出しコマンドに従ってメモリデバイスからデータが出力される。光の一方向性に由来して、出力チャネル（Ｔｘ）１４は読み出しポートと呼ばれる場合もあるし、出力チャネル（Ｏｕｔ）と呼ばれる場合もある。
【００２０】
図２は、本発明に従って、複数台のメモリユニットと、ホストとの接続例を示す図である。メモリユニット２００と、メモリユニット４００とは、図１におけるメモリユニット１００と同じ構成のものである。ホスト５０として図示したものは、コマンドを複数台のメモリユニットにもたらすためのＣＰＵに相当する機能（が存在する部分）を概念的に示しているにすぎないのであって、メモリユニット２００と、メモリユニット４００との間における複数の光インターコネクトによって、コマンドの送受信が可能なような関係として構築してあればよい。以下、このような概念のものは、Ｈｏｓｔという表記でも表現される。
【００２１】
ホスト５０からの書き込みは、カップラー３０を介して、メモリユニット２００の受信端（Ｒｘ）２１２、メモリユニット４００の受信端（Ｒｘ）４１２に対して、同時に分配される。メモリからの読み出しに関しては、Active  Mode の状態（（１）の状態）にあるメモリユニットのみが、送信端（Ｔｘ）からデータをホスト５０に出力する。この図の場合には、メモリユニット２００のみが Active  Mode の状態であり、メモリユニット４００については Snoop  Mode の状態（（２）の状態）であるため、メモリユニット２００の送信端（Ｔｘ）２１４のみからデータが出力され、メモリユニット４００の送信端（Ｔｘ）４１４からはデータが出力されない（データが出力されないことを、点線を用いて模式的に現している）。
【００２２】
この図においては、２つの、カップラー３０、カップラー４０を経由して複数の光インターコネクトが形成される。何れのカップラーも、Ｘ型カップラーであり、両端（一端、他端）を含み、一端の側から他端の側へと光を一方向に送信することが可能であって、かつ、両端の側において光インターコネクトの２つ以上の分岐を含むものである。
【００２３】
このような性質と光インターコネクトの接続関係から、何れのＸ型カップラーも光の一方向性に由来する光Ｘ型カップラーとしての性質を担っており、２つの光カップラーのうちの１つのカップラー３０はスプリッター(splitter)としての役割を担っており、２つの光カップラーのうちのもう１つのカップラー４０はコンバイナー(combiner)としての役割を担っている。
【００２４】
スプリッターとしての役割を担っているところの、カップラー３０は、両端（一端、他端）を含み、一端において第１の分岐３１と第２の分岐３４とを含み、他端において第３の分岐３２と第４の分岐３３とを含む。
【００２５】
コンバイナーとしての役割を担っているところの、カップラー４０は、両端（一端、他端）を含み、一端において第１の分岐４１と第２の分岐４３とを含み、他端において第３の分岐４４と第４の分岐４２とを含む。
【００２６】
ここで注目すべきことは、コンバイナーとしての役割を担っているところの、カップラー４０の第４の分岐４２から、スプリッターとしての役割を担っているところの、カップラー３０の第２の分岐３４へと戻っていく（繋がっている）「ループ」が形成されている点である。
【００２７】
送信端（Ｔｘ）２１４から読み出されたデータは、受信端（Ｒｘ）２１２と、受信端（Ｒｘ）４１２とにフィードバックされるようにインターコネクトされている。
【００２８】
すなわち、この「ループ」が存在するおかげで、メモリデバイスから読み出されたデータは、ＩＯコントローラ２１０、４１０の各々の入力チャネル（Ｒｘ）にフィードバックされるようにインターコネクトされ、新たに追加したメモリユニットに書き込むことで、メモリの複製（コピー）を行なうことができる。
【００２９】
別の言い方をすると、従来であればカップラー４０の第４の分岐４２において捨てていたところの情報を、ループによって再生利用しているということになる。さらには、このような特徴的なインターコネクトの配線パターン自体が、ＩＯコントローラの機能を肩代りしている、と言うこともできる。
【００３０】
図３は、本発明に関わる、３種類の状態（動作モード）とそれら状態の間での遷移を示す模式図である。具体的には、ホスト（の送信端）よりもたらされるところの読み出しコマンドまたは書き込みコマンドに従って、
（１）読み出しコマンドに応答してメモリからのデータの読み出しを実行し、および、書き込みコマンドに応答してメモリへのデータの書き込みを実行する状態（Active  Mode）、
（２）読み出しコマンドには応答しないが、書き込みコマンドに応答してメモリへのデータの書き込みだけを実行する状態（Snoop  Mode）、並びに、
（３）書き込みコマンドに応答してメモリへのデータの書き込みを実行し、および、読み出しコマンドを書き込みコマンドに変換してメモリへのデータの書き込みを実行する状態（Recovery  Mode）、
という（少なくとも）３種類の状態について、
（１）の状態と（２）の状態との間、および、（２）の状態と（３）の状態との間、において選択的な遷移が可能になる、
【００３１】
図３の中では、（１）の状態は、読み出し(Read)コマンドと書き込み(Write)コマンドとの両方に応答することから、頭文字をとって（Ｒ／Ｗ）という形で表現している。（２）の状態は、読み出し(Read)コマンドには応答しないので、応答しないことを（−）という記号を用いて（−／Ｗ）という形で表現している。（３）の状態は、読み出しコマンドを書き込みコマンドに変換していることから（Ｗ／Ｗ）という形で表現している。
【００３２】
（１）の状態と（２）の状態との間、における選択的な遷移は、図１のモード切替スイッチ１６やネットワークインターフェイス１８等を通じて実現させることができる。
【００３３】
（２）の状態と（３）の状態との間、における選択的な遷移も、図１のモード切替スイッチ１６等を通じて実現させることができる。例えば、（３）の状態も、（２）の状態と同じSnoop Modeとして、その派生形として捉えることで、（図１のモード切替スイッチ１６等のオンオフの制御によって）（３）の状態に遷移させて、Recoveryができるオンの状態を実現させることができる。
【００３４】
図３では、さらに追加的な状態として、（４）初期化(Initial)する状態（ＰＯＲ：PowerOn Reset）という状態と（５）非活動（Inactive）な状態についても書かれている。通常は、ホスト等とメモリユニットとを配線しただけでは足りず、接続関係を前提とした上で、アドレス空間を初期化して決めたり、個々のメモリユニットの初期の状態を設定したりすることが行なわれるためである。もっとも、この追加的な（４）の状態は、本発明の技術的思想において必須の構成でなく、初期化を経て、少なくとも３種類の状態（動作モード）が設定されている時点から全体の動作が実現可能となる。次に、（１）、（２）、（３）の各状態で動作中に障害が発生した場合、そのメモリユニットは(５）の状態になる。メモリユニットが復旧した場合には、状態(４)を経て、（３）で（１）の状態で稼動中のメモリユニットと同期したのち状態（２）に至る。状態（１）のメモリユニットに障害が発生した場合には、状態（２）のメモリユニットは即座に状態（１）に推移する。
【００３５】
図４は、従来技術として、ホストと２つのメモリユニットとが電気的に接続された状態でのメモリの復旧(recovery)動作のタイミングチャートを示す図である。従来技術のように「ループ」が形成されていないと、読み出しコマンドによって読み出されたデータは一旦はホストに戻ることになり、その戻るという過程を経た上で、書き込みコマンドが再びホストから発せられるという過程を経る。これは、ＲＭＷ（Read-Modify-Write）と呼ばれる。クロック（Ｃｌｏｃｋ）は、コマンドと、そのコマンドに応答して読み出されるデータのタイミングを司っているものである。ホスト→ＩＯコントローラ→メモリデバイスと送信していく過程においては、少なくとも１クロックを要しているが、このタイミングチャートでないと機能しない（動作させることができない）というわけではなく、あくまでも一例にすぎない。
【００３６】
図５は、本発明として、ホストと２つのメモリユニットとが（ホストに戻ることなく「ループ」を通じて）光学的に接続された状態でのメモリの復旧(recovery)動作のタイミングチャートを示す図である。本発明の「ループ」が形成されていることで、ホストに戻ることなく、読み出しコマンドが２つのＩＯコントローラに同時に送信でき、読み出されたデータが（ホストに戻る必要がないのでより速いタイミングで）もう一方のＩＯコントローラに送信することができる。別の言い方をすると、読み出しコマンドによるＲｅａｄサイクルの中で、新規メモリへの書き込みが可能になってくるので、その結果として、ＩＯコントローラによるＷｒｉｔｅサイクル（別途、書き込みコマンドを発するための時間）が不要になり、大まかに見積もっても、復旧時間を半減することができる。
【００３７】
図６は、本発明としての、光リンクの作成方法を示す図である。この例では、図２における光インターコネクトとして採用されている光リンクであり、図２におけるものと同一の符号が付されている。Ｈｏｓｔ  Ｏｕｔとあるのはホストの送信端に接続される。Ｓｔｅｐ１からＳｔｅｐ２を経て作成された最終形からも容易に想像できるであろうが、Ｈｏｓｔ  Ｉｎとあるのはホストの受信端（Ｒｘ）に接続される。ＯＡＭ０  Ｉｎとあるのはメモリユニット２００の受信端（Ｒｘ）２１２に接続される。ＯＡＭ０  Ｏｕｔとあるのはメモリユニット２００の送信端（Ｔｘ）２１４に接続される。ＯＡＭ１  Ｉｎとあるのはメモリユニット４００の受信端（Ｒｘ）４１２に接続される。ＯＡＭ１  Ｏｕｔとあるのはメモリユニット４００の送信端（Ｔｘ）４１４に接続される。ＯＡＭは、Optical Attachment to Memory (Unit) の省略形である。
【００３８】
３本のファイバーの長さや、融着箇所までの長さなどを揃えることによって、光リンクの遅延タイミングを均一にすることができる。ステップ１（Ｓｔｅｐ１）において、３本のファイバーを二箇所（ファイバーの一端から第１の距離にある第１の箇所と、（第１の箇所とは異なった箇所であって）第２の距離にある第２の箇所）の融着箇所で融着するだけで、光リンクは完成する。特許文献３は、その融着を実現するにあたっての一般的技術水準を示している。実際に本発明に適用するにあたっては、ステップ２（Ｓｔｅｐ２）として示すように、カップラー４０の第４の分岐４２からカップラー３０の第２の分岐３４へと形成されている「ループ」を中心にして上下を反転させればよく、図２における光インターコネクトと対応した接続関係に適用することができる。特許文献３では、３本のファイバーがこのように融着される位置をずらして束とされる点については開示されていないことに注意されたい。
【００３９】
図７は、本発明に従って、さらに発展的に構成した接続例を示す図である。まず、図２と比較して、接続関係が層状に構成されている。また、Ｈｏｓｔとして、ホスト側のＰＨＹ（物理レイヤー層、第１層）をＭａｓｔｅｒ（Ｍまたは０の省略形）とＳｌａｖｅ（Ｓまたは１の省略形）とで二重化しており、冗長性を高めている。ループはメモリ側のカップラーに構成している。ここでは１段のドロップ（Ｄｒｏｐ）例を示すが、多段に適応することも可能である。この配線例では、ドロップにより、２つのメモリユニットを利用することで２倍のメモリ容量を実現する。
【００４０】
図８は、本発明に従う図７の発展的な構成の接続を実現する、光リンクの作成方法を示す図である。図６において説明した光リンクの作成を発展させればよい。
【符号の説明】
【００４１】
１０、２１０、４１０  ＩＯコントローラ
１２、２１２、４１２  受信端（書き込みポート）
１４、２１４、４１４  送信端（読み出しポート）
１６  モード切替スイッチ
１８  ネットワーク・インターフェイス
２０、２２０、４２０  メモリデバイス
２２  入力
２４  出力
３０  カップラー（スプリッター）  第２のカップラー
３１  （一端の）第１の分岐
３２  （他端の）第３の分岐
３３  （他端の）第４の分岐
３４  （一端の）第２の分岐
４０  カップラー（コンバイナー）  第１のカップラー
４１  （一端の）第１の分岐
４２  （他端の）第４の分岐
４３  （一端の）第２の分岐
４４  （他端の）第３の分岐
５０  ホスト
１００、２００、４００  メモリユニット
【図１】
2011237828.tif 000003
【図２】
2011237828.tif 000004
【図３】
2011237828.tif 000005
【図４】
2011237828.tif 000006
【図５】
2011237828.tif 000007
【図６】
2011237828.tif 000008
【図７】
2011237828.tif 000009
【図８】
2011237828.tif 000010