(57)【要約】      （修正有）【課題】大容量ストレージに保存された情報のインテグリティを向上させる。【解決手段】大容量ストレージ１２０は、追加のエラー訂正コードを使用する。これらの追加コードは、関連データとは別に記憶媒体１３０（例えば、揮発性ソリッドステートメモリ）に記憶され得る。追加コードは、不揮発性媒体に書き込まれ得る。追加コードは、一時的であり得る。追加コードは、キャッシュされ得る。現在のところ、追加コードは、他のエラー検出および訂正コードと同時にまたはそれに加えて、ユーザデータを訂正するために使用され得る。【選択図】図１
2014182834.tif 000002
【特許請求の範囲】
【請求項１】
ホスト書込ベースＥＣＣ(host  write-based  ECC)を保持することと、
キャッシングポリシーに応答して前記ホスト書込ベースＥＣＣを退避することとを含む、方法。
【請求項２】
前記キャッシングポリシーは、最長時間未使用（ＬＲＵ）方式、最低頻度使用（ＬＦＵ）方式、先入れ先出し（ＦＩＦＯ）方式、およびセットアソシアティブのうちの１つである、請求項１に記載の方法。
【請求項３】
内部信頼性動作のために前記ホスト書込ベースＥＣＣを使用することをさらに含む、請求項１に記載の方法。
【請求項４】
前記内部信頼性動作は、バックグラウンドメディアスキャン、パリティ生成、または書き込み後読み取り検証のうちの１つである、請求項３に記載の方法。
【請求項５】
前記保持することは、前記ホスト書込ベースＥＣＣをキャッシュすることを含む、請求項１に記載の方法。
【請求項６】
前記ホスト書込ベースＥＣＣを一時的に使用することをさらに含む、請求項１に記載の方法。
【請求項７】
前記一時的な使用は、非単回使用である、請求項６に記載の方法。
【請求項８】
前記一時的な使用は、単回使用である、請求項６に記載の方法。
【請求項９】
他のＥＣＣとともに、他のＥＣＣに加えて、および他のＥＣＣの代替としてのうちの少なくとも１つで、前記ホスト書込ベースＥＣＣを使用することをさらに含む、請求項１に記載の方法。
【請求項１０】
ホスト書込ベースＥＣＣを計算することと、
揮発性メモリに前記ホスト書込ベースＥＣＣを一時的に保持することとを含む、方法。
【請求項１１】
前記ホスト書込ベースＥＣＣを前記一時的に保持することは、キャッシングポリシーを使用する、請求項１０に記載の方法。
【請求項１２】
前記キャッシュポリシーは、ホスト書込ベースＥＣＣが生成されたかに基づいて変更される退避ポリシーである、請求項１１に記載の方法。
【請求項１３】
前記ホスト書込ベースＥＣＣおよび対応のメタデータを不揮発性メモリに書き込むことをさらに含む、請求項１０に記載の方法。
【請求項１４】
前記ホスト書込ベースＥＣＣを一時的に保持することは、あるアドレス範囲に対して優先される、請求項１０に記載の方法。
【請求項１５】
ユーザ読み取り用のデータの修復および内部動作中のデータの修復のうちの少なくとも一方を行うために前記ホスト書込ベースＥＣＣを使用することをさらに含む、請求項１０に記載の方法。
【請求項１６】
一時的な保持は、非単回使用である、請求項１３に記載の方法。
【請求項１７】
第１のメモリと、
第２のメモリと、
前記第１のメモリおよび前記第２のメモリに接続され、少なくとも前記第１のメモリにホスト書込ベースＥＣＣを一時的に保持するように構成されるコントローラとを備える大容量ストレージ。
【請求項１８】
前記第１のメモリは揮発性であり、前記第２のメモリは不揮発性である、請求項１７に記載の大容量ストレージ。
【請求項１９】
前記コントローラは、前記ホスト書込ベースＥＣＣを一時的に保持するためにキャッシングポリシーを使用する、請求項１７に記載の大容量ストレージ。
【請求項２０】
前記ホスト書込ベースＥＣＣに関連付けられたデータは、前記第２のメモリに保存され、
関連データの解放、削除、および退避のうちの１つが行われる前に、前記ホスト書込ベースＥＣＣの解放、削除、および退避のうちの１つが行われる、請求項１７に記載の大容量ストレージ。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エラー訂正コードの制御方法およびエラー訂正コードを使用する大容量ストレージに関する。
【背景技術】
【０００２】
大容量ストレージは、情報を永続的に保存し、それを使用するユーザまたはシステムのニーズに十分対応できる大きさの容量を有する。大容量ストレージは、テープライブラリ、ＲＡＩＤ、およびＪＢＯＤ等のシステムを含む。大容量ストレージは、ハードディスクドライブ、磁気テープドライブ、光ディスクドライブ、光磁気ドライブ、およびソリッドステートドライブ等のデバイスも含む。大容量ストレージは、大容量ストレージシステムまたはデバイスを使用するインフラも含む。そのようなインフラは、ダイレクト・アタッチト・ストレージ、ネットワーク・アッタチト・ストレージ、ストレージエリアネットワーク、データストレージラック、分散ファイルシステム、およびクラウドであり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
保存された情報のインテグリティを維持する大容量ストレージの能力は、所望の特性である。エラー訂正コード（ＥＣＣ）の使用は、情報のインテグリティを維持する方法を提供する。そして、ＥＣＣは、インテグリティを維持している情報とともに保存され得る。この方法でＥＣＣを保存するには費用がかかる。１つの費用として、ＥＣＣが記憶スペースを必要とすることが挙げられる。情報保存用の大容量ストレージ内のスペースが再割り当てられてＥＣＣを保存するか、またはさらなる外付け大容量ストレージが提供されてＥＣＣを保存するかのいずれかが行われる。前者の場合、大容量ストレージの容量が減少し、後者の場合、オーバープロビジョニングが費用および複雑さを増大させる。改善されたＥＣＣまたはホスト書込ベースＥＣＣが所望される場合、大容量ストレージの容量がさらに減少するか、またはさらなるオーバープロビジョニングが提供されるかのいずれかとなる。いずれの場合も上述の費用増大を引き起こす。
【０００４】
大容量ストレージは、情報のコピーを保存することによって、保存された情報のインテグリティを維持し得る。その場合、大容量ストレージは、ＥＣＣ情報を使用する必要はなく、関連のハードウェア／ファームウェアを削除するであろう。しかしながら、大容量ストレージの容量は、所定量の情報を保存するためにおよそ倍増されなければならないか、またはオーバープロビジョニングが用いられない場合にはその容量はおよそ半減されるであろう。また、どのコピーが正しいかの判定を試みることによって複雑さが増大する。この場合もやはり、このスキームを用いて保存された情報のインテグリティを維持するための費用が存在する。
【０００５】
加えて、いくつかの種類のＥＣＣは、一組のデータ上で計算される。その一組のデータが完全に書き込まれない場合、書き込まれなかったデータのすべてが記憶媒体から読み取られて新たなＥＣＣを計算しなければならないので、冗長性の計算に伴う莫大な経費が存在する。
【課題を解決するための手段】
【０００６】
大容量ストレージは、追加のエラー訂正コードを使用する。これらの追加コードは、関連データとは別に記憶媒体（例えば、揮発性ソリッドステートメモリ）に記憶され得る。追加コードは、不揮発性媒体に書き込まれ得るか、一時的であり得るか、またはキャッシュされ得る。現在のところ、追加コードは、他のエラー訂正コードとともにまたはそれに加えて、ユーザデータを訂正するために使用され得る。
【図面の簡単な説明】
【０００７】
【図１】図１は、追加のエラー訂正コードを使用するデバイスを示す。
【図２】図２は、追加のエラー訂正コードを使用する別のデバイスを示す。
【図３】図３は、追加のエラー訂正コードを使用するさらなるデバイスを示す。
【図４】図４は、追加のエラー訂正コードを使用し得るデータを示す。
【図５】図５は、追加のエラー訂正コードを使用する方法のフローチャートである。
【図６】図６は、追加のエラー訂正コードを使用する大容量ストレージの階層を示す。
【発明を実施するための形態】
【０００８】
大容量ストレージは、ホスト書込ベースＥＣＣ(host  write-based  ECC)を使用するが、保存された情報が存在するメモリまたはメモリの一部とは別のメモリにそれを保存することによって、保存された情報のインテグリティを向上させることができる。このホスト書込ベースＥＣＣは、一回のホスト転送でデータによって判定されるメモリの可変範囲をカバーする。言い換えると、ホスト書込ベースＥＣＣは、単一ユニットの大容量ストレージメモリ（例えば、セクタ）または決定論的な組のセクタ群（例えば、ＲＡＩＤパリティ）をカバーしない。図１を参照して、コントローラ１１０、大容量メモリ１２０、およびメモリ１３０を含む大容量ストレージデバイス１００が示される。大容量メモリ１２０は、少なくとも１つの磁気ディスク、光ディスク、光磁気ディスク、テープ、ソリッドステートメモリ、もしくはホログラフィックメモリ、またはそれらのうちの少なくとも２つの組み合わせを含み得る。メモリ１３０は、ＤＲＡＭ、ＳＲＡＭ、フラッシュ、またはバッテリバックアップ揮発性メモリ等の揮発性または不揮発性メモリを含み得る。コントローラ１１０は、情報が大容量メモリ１２０に書き込まれるためにメモリ１３０をキャッシュとして使用し得る。
【０００９】
ホスト１９０は、大容量ストレージデバイス１００に接続される。ホスト１９０は、ＳＣＳＩ、ＳＡＳ、様々なＳＡＴＡ（例えば、ｍＳＡＴＡ、ｅＳＡＴＡ）、ファイバーチャネル等のデータ転送プロトコルを用いて大容量ストレージデバイス１００と情報をやりとりする。ホスト１９０は、コントローラ１１０によって受信されてメモリ１３０にバッファリングまたはキャッシュされる情報を大容量ストレージデバイス１００に書き込む。その後、大容量ストレージデバイス１００は、情報を大容量メモリ１２０に保存し得る。大容量ストレージデバイス１００は、ホストからの情報がメモリ１３０に／から転送されるときに、ホスト書込ベースＥＣＣを生成し得る。ホスト書込ベースＥＣＣはまた、情報がメモリ１３０に存在する間（例えば、メモリ１３０からの退避よりも前に）、いつでも生成され得る。ホスト書込ベースＥＣＣは、リード・ソロモン、ハミング、ＢＣＨ、畳み込み、ターボ、単純パリティ、およびＬＤＰＣ等の任意のエラー訂正コードを含む。ホスト書込ベースＥＣＣは、パリティ、チェックサム、および周期的冗長性チェック等の任意のエラー検出コードを含み得る。
【００１０】
ホスト書込ベースＥＣＣは、メモリ１３０に存在する。そこで、それは、削除、解放、または退避される前に、様々な方法で使用され得る。ホスト書込ベースＥＣＣを用いて、ユーザまたはシステムの読み取り動作のために、保存された情報のインテグリティを確実にすることができる。ホスト書込ベースＥＣＣを用いて、バックグラウンドメディアスキャン、ストライプまたは任意の他の決定論的なＬＢＡ群上でのパリティ生成、および書き込み後読み取り検証等の大容量ストレージデバイス１００の内部信頼性動作中に、保存された情報の完全性を確実にすることもできる。
【００１１】
ホスト書込ベースＥＣＣは、いくつかの基準のうちの１つの発生に基づいて、メモリ１３０に保持されるか、またはメモリ１３０から削除、解放、もしくは退避され得る。メモリ１３０がキャッシュ退避ポリシーによって制御される場合、ホスト書込ベースＥＣＣを退避する基準は、最長時間未使用（ＬＲＵ）方式、最低頻度使用（ＬＦＵ）方式、ＦＩＦＯ、セットアソシアティブ等に対応し得る。さらに、ホスト書込ベースＥＣＣが生成されるとき、キャッシュポリシーは、ホスト書込ベースＥＣＣの保持および解放を考慮に入れるように変更され得る。ホスト書込ベースＥＣＣは、頻繁に書き込まれたアドレスまたはエラーを起こしやすいアドレス等のあるアドレス範囲の優先順位に基づいて、メモリ１３０に保持され得るか、またはメモリ１３０から削除、解放、もしくは退避され得る。また、ホスト書込ベースＥＣＣの保留中の退避は、内部信頼性動作を優先させることに用いられ得る。さらに、ホスト書込ベースＥＣＣは、内部信頼性動作に使用された後に削除、解放、または退避され得る。そして、ホスト書込ベースＥＣＣの大容量メモリ１２０からの退避は、上述のようにその使用を保証する前に許可されるか、または上述のようにそれが使用されるまで許可されないかのいずれかであり得る。
【００１２】
ホスト書込ベースＥＣＣは、いくつかの方法で不揮発性メモリに書き込まれ得る。図１において、ホスト書込ベースＥＣＣは、メモリ１３０の代わりに大容量メモリ１２０に書き込まれ得る。例えば、大容量メモリ１２０は、ホスト書込ベースＥＣＣが保持されるメディアキャッシュを有する磁気ディスクであり得る。あるいは、ホスト書込ベースＥＣＣは、メモリ１３０に書き込まれた後に大容量メモリ１２０に書き込まれ得る。この場合、ホスト書込ベースＥＣＣの大容量メモリ１２０への書き込みは、それをメモリ１３０から退避する前に、またはパワーロスが大容量ストレージデバイス１００内で生じたときに生じ得る。パワーロスの場合、メモリ１３０は、ホスト書込ベースＥＣＣが大容量メモリ１２０に書き込まれ得るように、例えば、スピンドルモータの逆起電力によって電力供給され得る。
【００１３】
その追加のＥＣＣは、メモリ１３０に関する上述の同一の基準を用いて、大容量メモリ１２０に保持されるか、または大容量メモリ１２０から削除、解放、もしくは退避され得る。大容量メモリ１２０内のホスト書込ベースＥＣＣは、上述のようにメモリ１３０に関しても使用され得る。加えて、ホスト書込ベースＥＣＣの大容量メモリ１２０からの退避は、上述のようにその使用を保証する前に許可されるか、または上述のようにそれが使用されるまで許可されないかのいずれかであり得る。
【００１４】
ホスト書込ベースＥＣＣは、関連のメタデータも有し得る。メタデータは、ホスト書込ベースＥＣＣを説明するデータを指す。メタデータは、ホスト書込ベースＥＣＣがカバーするＬＢＡ範囲、ホスト書込ベースＥＣＣの位置へのポインタ、次に最古のホスト書込ベースＥＣＣへのリンク、次に最新のホスト書込ベースＥＣＣへのリンク、次に高いＬＢＡ範囲をカバーするホスト書込ベースＥＣＣへのリンク、および次に低いＬＢＡ範囲をカバーするホスト書込ベースＥＣＣへのリンクを含み得る。各ホスト書込ベースＥＣＣのために、メタデータは、対応するＬＢＡ範囲を追跡し得る。例えば、論理ブロックアドレス１００〜１０９がホストからまたはメモリ間のいずれかで転送され、ホスト書込ベースＥＣＣが生成されると仮定する。メタデータは、ホスト書込ベースＥＣＣがそれらの論理ブロックアドレスおよびそのホスト書込ベースＥＣＣの位置（例えば、ＤＲＡＭアドレス）に対して存在することを記録する。異なる種類または構成のホスト書込ベースＥＣＣも存在し得る。その場合、それもまたメタデータによって記載される。このメタデータは、ホスト書込ベースＥＣＣが予期されたパワーサイクルであっても予期せぬパワーサイクルであっても保存されるように、大容量メモリ１２０等の不揮発性メモリにも記憶され得る。
【００１５】
メモリ１３０は、既存のホスト書込ベースＥＣＣと重複するホスト書込ベースＥＣＣを追跡することによって、有効なメタデータ群も保持し得る。上述の例を続けて、別の書き込みが論理ブロックアドレス１００〜１０９に対して受信される場合（またはある他の重複シナリオでもよい）、既存のホスト書込ベースＥＣＣは、上書きされたデータをカバーするので無効になる。したがって、メタデータは、上書きされたデータ用のホスト書込ベースＥＣＣが無効であることを示すように適切に管理され、新たなホスト書込ベースＥＣＣがあればそれを説明するように更新されるであろう。
【００１６】
図２は、ホスト書込ベースＥＣＣを使用する大容量ストレージデバイス２００を示す。コントローラ２１０、大容量メモリ２２０、揮発性メモリ２３５、および不揮発性メモリ２４０は、大容量ストレージデバイス２００内に含まれる。大容量メモリ２２０は、少なくとも１つの磁気ディスク、光ディスク、光磁気ディスク、テープ、ソリッドステートメモリ、もしくはホログラフィックメモリ、またはそれらのうちの少なくとも２つの組み合わせを含み得る。メモリ２３５は、ＤＲＡＭおよびＳＲＡＭ等の揮発性メモリを含み得る。不揮発性メモリ２４０は、フラッシュ、ＳＴＲＡＭ、ＲｅＲＡＭ、ＭＲＡＭ等の不揮発性ソリッドステートメモリを含み得る。ホスト２９０は、大容量ストレージデバイス２００に接続される。
【００１７】
大容量ストレージデバイス２００は、示されたメモリのうちの１つ、２つ、または３つすべてにホスト書込ベースＥＣＣを保存し得る。例えば、ホスト書込ベースＥＣＣが最初に揮発性メモリ２３５に保存され、その後不揮発性メモリ２４０に保存され、続いて大容量メモリ２２０に保存される階層ストレージが使用され得る。これらのメモリ間のホスト書込ベースＥＣＣの移動は、上述の退避基準に基づき得る。これらのメモリに対して他の順列が可能である。ホスト書込ベースＥＣＣは、図１の大容量ストレージデバイス１００に関して上で説明された方法のいずれかに基づいて、揮発性メモリ２３５に書き込まれ、その後、不揮発性メモリ２４０に書き込まれ得る。ホスト書込ベースＥＣＣの保持、解放、削除、退避、および使用は、大容量ストレージデバイス１００に関して上で説明されたものと同一であり得る。
【００１８】
図３は、コントローラ３１０およびメモリ／大容量メモリ３２５を含む大容量ストレージデバイス３００に接続されたホスト３９０を示す。メモリ／大容量メモリ３２５は、フラッシュメモリまたは磁気ディスク等の同種の記憶媒体であり得る。この種の記憶媒体は、ホスト書込ベースＥＣＣを記憶するためのメモリとしても、関連情報を保存するための大容量メモリとしても使用され得る。フラッシュメモリが使用される場合、メモリ／大容量メモリ３２５のメモリ部は、ＳＬＣであり得、大容量メモリ部は、ＭＬＣであり得る。別の選択肢として、ＭＬＣデバイスのＬＳＢページが挙げられる。ＬＳＢページは、典型的には、ＭＳＢページよりもはるかに速くプログラミングする。磁気ディスクが使用される場合、メモリ部は、メディアキャッシュであり、大容量メモリ部は、ディスクの残りの表面であり得る。いずれの場合にも、メモリ部は、大容量メモリ部よりも速い読み取りもしくは書き込み速度（またはそれら両方）を呈する。ホスト書込ベースＥＣＣの保持、解放、削除、退避、および使用は、大容量ストレージデバイス１００に関して上で説明されたものと同一であり得る。
【００１９】
そのように記載されるホスト書込ベースＥＣＣの適用は、図４を参照して説明される。図４において、４１０〜４７０がデータブロックであり、４８０が訂正コード（ＥＣＣ）ブロックである。データブロック４１０〜４７０の各々は、独自のエラー検出もしくは訂正情報（またはそれら両方）を含み得る。ＥＣＣブロック４８０は、データブロック４１０〜４７０のすべてに使用される。ブロック４１０〜４８０は、磁気ディスクのトラック、フラッシュメモリ内のブロック、または各ブロック４１０〜４８０が異なる大容量ストレージデバイス上に記憶されるＲＡＩＤシステムのストライプ上で連続した状態であり得る。
【００２０】
例えば、図１の大容量ストレージデバイス１００と接続されるホストは、情報をデータブロック４３０〜４４０に書き込むように要求し得る。関連のホスト書込ベースＥＣＣは、上述のようにデータブロック４３０〜４４０に対して生成され、メモリ１３０等のメモリに保存される。ＥＤＣブロック４８０は、それが保護するデータの一部が新たに書き込まれたので、無効になる。大容量ストレージデバイス１００は、バックグラウンドメディアスキャン等の内部信頼性動作を実行し得る。また、ＥＣＣブロック４８０は、それが保護するデータの一部が新たに書き込まれたので、無効になる。ブロック４３０〜４４０に対して生成されたＥＣＣは、ＥＤＣＥＣＣブロック４８０を更新することに用いられ得る。
【００２１】
データブロック４３０内でエラーが発見された場合、大容量ストレージデバイスは、データブロック４３０またはＥＣＣブロック４８０が更新された場合にデータブロック４３０またはＥＣＣブロック４８０内のエラー検出もしくは訂正情報のいずれか（またはそれら両方）とともに、それに加えて、またはその代替として、関連のホスト書込ベースＥＣＣを使用してエラーを訂正することができる。
【００２２】
図５は、説明されたホスト書込ベースＥＣＣに関連した方法５００を示す。方法５００は、ステップ５１０から始まり、その後、大容量ストレージがホスト書込ベースＥＣＣを保持して情報エラーを訂正するステップ５２０に進む。ステップ５３０において、退避、解放、または削除基準が満たされているかの判定がなされる。満たされていない場合、この方法は、ステップ５２０に戻る。満たされている場合、この方法は、ホスト書込ベースＥＣＣが退避されるステップ５４０に進む。その後、方法５００は、ステップ５５０で終了する。
【００２３】
上述の大容量ストレージのいずれかにおいて、ホスト書込ベースＥＣＣは、関連情報が上書き、消去、または解放される前に、退避、解放、または削除され得る。その結果、ホスト書込ベースＥＣＣは、関連情報と比較して一時的である。例えば、大容量ストレージは、ホスト書込ベースＥＣＣを使用して、ＥＤＣブロック４８０等のパリティを生成し得る。その後、ホスト書込ベースＥＣＣは、メモリから退避され得る。これは、単回使用の一時性の例である。別の例として、ホスト書込ベースＥＣＣは、退避、解放、または削除されるまで上述のように使用され得る。これは、非単回使用の一時性の例である。
【００２４】
さらなる説明として、パリティ／冗長性の計算は、パリティストライプ（すなわち、ＲＡＩＤグループ）上で実行され、そのパリティストライプとともにアドレス位置に保存され得る。上述の大容量ストレージは、パリティストライプの内容のいかなる知識も必要とすることなく、または基礎をなすパリティストライプの存在なしでさえも、ホスト書込ベースＥＣＣを計算する。ホスト書込ベースＥＣＣは、最近書き込まれたデータ上に一時的に保持される場合もあり、必ずしも全データセット（例えば、パリティストライプ）に保持されるとは限らない。
【００２５】
図６は、上述のようにホスト書込ベースＥＣＣを使用する大容量ストレージの階層を示す。ここで、ホスト書込ベースＥＣＣは、大容量ストレージデバイス、システム、またはインフラのメモリ内に記憶され得る。追加のＥＣＣおよび保存された情報がどこに存在するかにかかわらず、大容量ストレージデバイス、システム、またはインフラは、その情報およびホスト書込ベースＥＣＣの両方を読み出し、それを上述のように使用し得る。例えば、大容量ストレージシステム６２０は、ホスト書込ベースＥＣＣをそのメモリ内に保持し、その後、関連情報を大容量ストレージデバイス６１０に書き込み得る。大容量ストレージシステム６２０は、後に、大容量ストレージデバイス６１０からの関連情報の読み取りを要求し得る。大容量ストレージシステム６２０は、関連情報を受信すると、上述のようにホスト書込ベースＥＣＣをその関連情報とともに使用し得る。
【００２６】
別の例として、大容量ストレージシステム６２０は、ホスト書込ベースＥＣＣをそのメモリ内に保持し、その後、関連情報を大容量ストレージデバイス６１０に書き込み得る。大容量ストレージデバイス６１０は、後に、大容量ストレージシステム６２０からホスト書込ベースＥＣＣを要求し、それを上述のように使用し得る。同様のインタラクションが大容量ストレージインフラ６３０で生じ得る。
【００２７】
上述の方法および装置は、ホスト書込ベースＥＣＣを使用して、最近書き込まれたデータ上に検出可能な誤りまたは任意の他のエラーを生成していないかもしれない書き込みエラーからデータを修復し得る。コントローラは、単独で、または関連ファームウェアとともに、１つのメモリまたは複数のメモリ内でのホスト書込ベースＥＣＣの保持を制御する。
【００２８】
上述の説明は、詳細を提示するものであるが、特許請求の範囲を限定するものと見なされるべきではない。上述の説明の様々な修正、上述の説明からの削除、および上述の説明への追加は、特許請求の範囲内である。
【図１】
2014182834.tif 000003
【図２】
2014182834.tif 000004
【図３】
2014182834.tif 000005
【図４】
2014182834.tif 000006
【図５】
2014182834.tif 000007
【図６】
2014182834.tif 000008