(57)【要約】【課題】ストレージデバイスにおいて、記憶媒体の記憶容量の低下を抑制しつつ、誤り訂正能力を向上させる。【解決手段】実施形態に係るストレージデバイス２は、第１の符号器１０と、記憶媒体８と、第２の符号器１２と、無線通信部９とを含む。第１の符号器１０は、書き込みデータの少なくとも一部に対応する第１の情報部と、第１の情報部の訂正に用いられる第１の冗長部とを含む第１の符号語を生成する。記憶媒体８は、第１の符号語を記憶する。第２の符号器１２は、第１の符号語又は第１の情報部に対応する第２の情報部の訂正に用いられる第２の冗長部を生成する。無線通信部９は、第２の冗長部を、外部の記憶装置３へ無線通信する。【選択図】      図１
2013109567.tif 000002
【特許請求の範囲】
【請求項１】
書き込みデータの少なくとも一部に対応する第１の情報部と、前記第１の情報部の訂正に用いられる第１の冗長部とを含む第１の符号語を生成する第１の符号器と、
前記第１の符号語を記憶する記憶媒体と、
前記第１の符号語又は前記第１の情報部に対応する第２の情報部の訂正に用いられる第２の冗長部を生成する第２の符号器と、
前記第２の冗長部を、外部の記憶装置へ無線通信する無線通信部と
を備えるストレージデバイス。
【請求項２】
読み出し時において、前記記憶媒体から読み出された前記第１の符号語の前記第１の情報部に誤りがあり、前記第１の情報部の誤りを前記第１の冗長部を用いて訂正できる場合に、前記第１の情報部の誤りを前記第１の冗長部を用いて訂正する第１の復号器と、
前記第１の復号器によって前記第１の情報部の誤りを訂正できない場合に、前記外部の記憶装置から前記無線通信部経由で前記第２の冗長部を受信し、前記第２の冗長部を用いて前記第１の符号語又は前記第１の情報部を訂正する第２の復号器と
を更に具備する請求項１記載のストレージデバイス。
【請求項３】
前記第１の符号語の符号化率は、前記第２の情報部と前記第２の冗長部とを含む第２の符号語の符号化率以上であり、
前記第２の符号語の符号化率は、０．５よりも高い
ことを特徴とする請求項１又は請求項２記載のストレージデバイス。
【請求項４】
前記無線通信部から前記外部の記憶装置への通信不可状態において、前記第２の冗長部を保存する未送信記憶部をさらに備え、
前記無線通信部は、前記通信不可状態から通信可能状態に変化した場合に、前記未送信記憶部に保存されている前記第２の冗長部を、前記外部の記憶装置に無線通信する、
ことを特徴とする請求項１乃至請求項３のいずれか１項に記載のストレージデバイス。
【請求項５】
前記未送信記憶部の空き容量が予め設定された下限値より少ない場合に、前記第２の冗長部ではなく前記第１の符号語の識別情報を保存する未生成記憶部をさらに備え、
前記第２の符号器は、前記通信不可状態から前記通信可能状態に変化した場合に、前記記憶媒体に記憶されており前記未生成記憶部の前記識別情報に対応する前記第１の符号語に基づいて、前記第２の冗長部を生成し、
前記無線通信部は、前記通信不可状態から前記通信可能状態に変化した場合に、前記第２の符号器で生成された前記第２の冗長部を、前記外部の記憶装置に無線通信する、
ことを特徴とする請求項４記載のストレージデバイス。
【請求項６】
前記通信不可状態から前記通信可能状態に変化し、前記記憶媒体に記憶されており前記未生成記憶部の前記識別情報に対応する前記第１の符号語を読み出したが、前記第１の符号器が前記第１の符号語を訂正できない場合に、前記第２の符号器は、前記第２の冗長部を生成せず、
前記第２の冗長部が未生成であり前記第１の符号器が訂正できない前記第１の符号語の読み出し時に、読み出しエラー通知を発行するコントローラをさらに具備する、
ことを特徴とする請求項５記載のストレージデバイス。
【請求項７】
読み出し時において、前記第１の復号器によって前記第１の情報部の誤りを訂正できず、かつ、前記無線通信部と前記外部の記憶装置との間で通信不可状態の場合、読み出しエラー通知を発行するコントローラをさらに具備し、
前記読み出しエラー通知の後、前記通信不可状態から通信可能状態に変化した場合に、前記第２の復号器は、前記外部の記憶装置から前記無線通信装置経由で前記第２の冗長部を受信し、前記第２の冗長部を用いて前記第１の符号語又は前記第１の情報部を訂正し、訂正された前記第１の符号語を前記記録媒体に記憶する、
ことを特徴とする請求項２記載のストレージデバイス。
【請求項８】
前記未送信記憶部と前記未生成記憶部とのうちの少なくとも一方は、揮発性記憶部であり、
電源切断前に、前記揮発性記憶部に記憶されているデータを、退避用の不揮発性記憶部に書き込み、電源再投入時に、前記不揮発性記憶部に書き込まれたデータをアクセスし、前記第１の符号器と前記第２の符号器と前記無線通信部とを制御するコントローラをさらに具備する
ことを特徴とする請求項５記載のストレージデバイス。
【請求項９】
書き込み時において、書き込みデータの少なくとも一部に対応する第１の情報部と、前記第１の情報部の訂正に用いられる第１の冗長部とを含む第１の符号語を生成することと、
前記第１の符号語を記憶媒体に記憶することと、
前記第１の符号語又は前記第１の情報部に対応する第２の情報部の訂正に用いられる第２の冗長部を生成することと、
前記第２の冗長部を、外部の記憶装置へ無線通信することと
を具備し、
読み出し時において、前記記憶媒体から読み出された前記第１の符号語の前記第１の情報部に誤りがあり、前記第１の情報部の誤りを前記第１の冗長部を用いて訂正できる場合に、前記第１の情報部の誤りを前記第１の冗長部を用いて訂正することと、
前記第１の復号器によって前記第１の情報部の誤りを訂正できない場合に、前記外部の記憶装置から前記無線通信部経由で前記第２の冗長部を受信し、前記第２の冗長部を用いて前記第１の符号語又は前記第１の情報部を訂正することと
を具備する、誤り訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データの誤り訂正機能を備えたストレージデバイス及び誤り訂正方法に関する。
【背景技術】
【０００２】
例えばＮＡＮＤ型フラッシュメモリなどのような半導体不揮発性記憶媒体は、微細化を行うほどセル誤り率を低く保つことが困難になる。ＮＡＮＤ型フラッシュメモリを用いたストレージデバイスでは、誤り訂正符号を用い、ホストからの書き込みデータに対する冗長なデータを作成し、データと冗長なデータとをＮＡＮＤ型フラッシュメモリに書き込む。
【０００３】
一般的に、誤り訂正符号では、情報部に対して冗長部を大きく（符号化率を小さく）するほど、訂正能力が高くなる。しかしながら冗長な書き込み量が大きくなると、記憶媒体の物理的な容量に対し、ホストがデータを格納できる論理的な容量が小さくなる。また、情報部と冗長部がメディア上で同時にアクセスできない領域に配置される場合、書き込み又は読み出しの性能が低下するため、同時にアクセス可能な領域に情報部と冗長部を配置することで、書き込み及び読み出しの性能を高くすることができる。
【０００４】
誤り訂正の技術として、誤り訂正符号の階層化又は長符号化、確率情報に基づいて決定される訂正能力を高める符号と復号器との組み合わせなどが、提案されている。
【０００５】
符号の階層化とは、一つの情報部に対して複数の符号語を生成し、それぞれの符号語には異なる誤り訂正能力を持たせ、高速に復号できる符号語から順に復号を試みる手法である。この符号の階層化では、平均的な読み出し性能を保ちつつ、最後の階層の符号語の復号まで含めた高い誤り訂正能力が得られる。しかしながら、全階層の冗長部は大きく、これらの冗長部を全て記憶媒体に格納すると記憶媒体の論理的な容量が減少する。
【０００６】
符号の長符号化では、一般的に、同じ符号化率の場合、短い符号語で構成されたフレームと長い符号語で構成されたフレームは、長い符号語で構成されたフレームの方が、フレームの誤り率を低くできるという性質が利用される。フレーム内の一つ符号語にその符号語が訂正し切れない数の誤りが集中する確率が、短い符号語と長い符号語とでは長い符号語の方が低いためである。しかしながら、符号語を長くしても符号化率で決まる誤り訂正能力には限界があり、また符号語が長くなるにつれ復号時間が長くなるため、読み出し性能が低下する。
【０００７】
符号語の各ビットに確率情報を用いて、符号語そのものが持つ訂正能力を高める方法もある。しかしながら、確率情報の読み出しは、通常のビット読み出しに比べて時間がかかり、また復号器の回路規模及び消費電力が大きくなる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−６７０６０号公報
【特許文献２】特開２００９−５９４２２号公報
【特許文献３】特開２０００−３３９２２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の実施形態は、記憶媒体の記憶容量の低下を抑制しつつ、誤り訂正能力を向上させるストレージデバイス及び誤り訂正方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
実施形態によれば、ストレージデバイスは、第１の符号器と、記憶媒体と、第２の符号器と、無線通信部とを含む。第１の符号器は、書き込みデータの少なくとも一部に対応する第１の情報部と、第１の情報部の訂正に用いられる第１の冗長部とを含む第１の符号語を生成する。記憶媒体は、第１の符号語を記憶する。第２の符号器は、第１の符号語又は第１の情報部に対応する第２の情報部の訂正に用いられる第２の冗長部を生成する。無線通信部は、第２の冗長部を、外部の記憶装置へ無線通信する。
【図面の簡単な説明】
【００１１】
【図１】第１の実施形態に係るストレージデバイスの構成の一例を示すブロック図。
【図２】第１の実施形態に係るストレージデバイスへの書き込み処理の一例を示すフローチャート。
【図３】第１の実施形態に係るストレージデバイスへの読み出し処理の一例を示すフローチャート。
【図４】書き込み処理における第１の符号語及び第２の符号語の構成の一例を示すブロック図。
【図５】記憶媒体からホストデバイスまでの訂正可能な第１の符号語の流れの一例を示すブロック図。
【図６】読み出し処理における第１の符号語及び第２の符号語の構成の一例を示すブロック図。
【図７】第１の実施形態に係る実施形態に係るサーバの記憶フィーマットの一例を示すブロック図。
【図８】第２の符号語の変形例を示すブロック図。
【図９】第２の実施形態に係るストレージデバイスの第２のコーデック部の動作の一例を示すブロック図。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の各実施の形態について説明する。なお、以下の説明において、略または実質的に同一の機能および構成要素については、同一符号を付し、必要に応じて説明を行う。
【００１３】
（第１の実施形態）
本実施形態においては、無線通信装置を備え、データ誤り訂正を行うストレージデバイスについて説明する。
【００１４】
例えば無線ＬＡＮ内蔵ＳＤカードなどのような無線通信装置を備えたストレージデバイスは、記憶媒体に書き込まれたデータをネットワーク上のサーバへ送信することができる。このことはデータのバックアップをネットワーク上のサーバに作成していることに相当する。仮にＳＤカードの読み出し時にエラーが発生しても、ネットワーク上のサーバにデータが保存されているため、ＳＤカードとサーバを含むシステム全体でデータの故障確率を下げることができる。しかしながら、無線通信路を流れるデータ及びネットワーク上のサーバにアップロードされたデータは、盗聴及び不正なアクセスにより第三者に盗まれる可能性がある。また、無線通信装置で全てのデータをサーバにバックアップする場合、書き込みに時間がかかり、消費電力が増える。記憶媒体で読み出しエラーがあった際には、データがサーバからＳＤカードへ丸ごとダウンロードされる。サーバにはユーザのストレージデバイスと同じだけの容量が必要となる。
【００１５】
そこで、本実施形態においては、以下のような構成を持つストレージデバイスを実現する。
【００１６】
図１は、本実施形態に係るストレージデバイスの構成の一例を示すブロック図である。
【００１７】
ストレージシステム１は、ストレージデバイス２と、サーバ（データストレージサーバ）３とを備える。ストレージシステム１は、ホストデバイス４と接続される。
【００１８】
さらに、ストレージデバイス２は、コントローラ５、第１のコーデック（Codec）部６、第２のコーデック部７、記憶媒体８、無線通信装置９を備える。第１のコーデック部６は、第１の符号器（エンコーダ）１０と第１の復号器（デコーダ）１１とを備える。第２のコーデック部７は、第２の符号器１２と第２の復号器１３とを備える。
【００１９】
本実施形態において、ストレージデバイス２は無線通信装置９を備えており、ストレージデバイス２とサーバ３とは、無線通信路を介して無線通信可能である。
【００２０】
本実施形態において、符号語は、情報部と冗長部とを備える。符号語は、一定のレベルまでは冗長部を用いて訂正可能である。冗長部は、例えば、パリティビットなどのような誤り訂正符号である。
【００２１】
本実施形態において、第１のコーデック部６の第１の符号器１０によって生成される第１の符号語の符号化率は、第２のコーデック部７の第２の符号器１２によって生成される第２の符号語の符号化率以下とする。
【００２２】
コントローラ５は、ストレージデバイス２内の各種の構成要素の動作を制御する。例えば、コントローラ５は、ホストデバイス４からの書き込み時に、書き込みデータに基づいて、第１の符号語及び第２の符号語を生成するための制御、第１の符号語を記憶媒体８に書き込むための制御、第２の符号語の第２の冗長部と識別情報とを無線通信装置９によりサーバ３へ送信し、第２の符号語の第２の情報部は送信しない制御を実行する。また、例えば、コントローラ５は、第１の符号語で復号エラーが発生した場合に、無線通信装置９によりサーバ３から第２の符号語の第２の冗長部を読み出し、第２の符号語の復号を行うための制御を実行する。
【００２３】
記憶媒体８は、不揮発性記憶媒体とする。記憶媒体８としては、例えばＮＡＮＤ型フラッシュメモリなどのような半導体記憶装置が用いられる。なお、ストレージデバイス２は、例えばＤＲＡＭ（Dynamic Random Access Memory）、ＳＲＡＭ（Static Random Access Memory）などのような揮発性記憶媒体を備え、この揮発性記憶媒体を書き込み・読み出しのバッファとして用いるとしてもよい。また、ストレージデバイス２に備えられている揮発性記憶媒体に、後述の第２の冗長部、未送信データリスト、未生成データリストを記憶するとしてもよい。
【００２４】
図２は、本実施形態に係るストレージデバイス２への書き込み処理の一例を示すフローチャートである。
【００２５】
ステップＳ１において、ホストデバイス４は、コントローラ５に、書き込みデータを提供する。コントローラ５は、ホストデバイス４から書き込みのデータを受け、書き込みデータを第１のコーデック部６に提供する。第１のコーデック部６の第１の符号器１０は、書き込みデータをコントローラ５から受ける。
【００２６】
ステップＳ２において、第１の符号器１０は、書き込みデータのうちの少なくとも一部（第１の符号語の第１の情報部のサイズ単位）に対して、第１の符号化処理を行い、第１の符号語を生成する。第１の符号語は、第１の情報部とこの第１の情報部の訂正に用いられる第１の冗長部とを備える。第１の符号語の第１の情報部は、書き込みデータの少なくとも一部に対応する。
【００２７】
ステップＳ３において、第１の符号器１０は、第１の符号語の第１の情報部と第１の冗長部との双方を記憶媒体８に記憶する。
【００２８】
ステップＳ４において、第２のコーデック部７の第２の符号器１２は第１の符号器１０から第１の符号語を受け、第２のコーデック部７はコントローラ５からその識別情報を受ける。識別情報としては、例えば、記憶媒体８に対する書き込み・読み出しに用いられるアドレスを用いることができる。第２の符号器７は、第１の符号語を第２の符号語の第２の情報部とみなし、第２の符号化処理を実行し、第２の符号語を生成する。第２の符号語は、第１の符号語に対応する第２の情報部とこの第２の情報部の訂正に用いられる第２の冗長部とを備える。そして、第２のコーデック部７は、第２の符号語のうちの第２の冗長部とその識別情報とを無線通信装置９に提供する。
【００２９】
ステップＳ５において、無線通信装置９は、第２の符号語のうちの第２の冗長部とその識別情報をサーバ３へ送信し、第２の情報部を送信しない。サーバ３は、無線通信装置９から第２の冗長部とその識別情報を受信し、第２の冗長部とその識別情報とを関連付けた状態で記憶する。
【００３０】
上記のような書き込み処理において、ストレージデバイス２から無線通信路経由でサーバ３へ送られるデータは、ホストデバイス４からストレージデバイス２へ送られた書き込みデータに基づいて生成された第２の符号語のうちの第２の冗長部とその識別情報であり、第２の符号語の第２の情報部などはストレージデバイス２からサーバ３へ送信されない。したがって、本実施形態に係るストレージシステム１は、書き込みデータをストレージデバイス２からサーバ３へ送ってバックアップを行うシステムと比べて、無線通信装置９に必要な通信コスト（転送時間、転送時の消費電力）、サーバ３にかかる負荷（データ転送量、記憶容量）を減少させることができ、高い安全性を確保することができる。
【００３１】
図３は、本実施形態に係るストレージデバイス２への読み出し処理の一例を示すフローチャートである。
【００３２】
ステップＴ１において、ホストデバイス４は、読み出し要求と読み出しデータのアドレスとをコントローラ５に提供する。
【００３３】
ステップＴ２において、コントローラ５は、アドレスで特定される第１の符号語を、記憶媒体８から読み出し、第１のコーデック部６の第１の復号器１１は、読み出された第１の符号語を受ける。
【００３４】
ステップＴ３において、第１の復号器１１は、第１の符号語に対して第１の復号処理を実行する。
【００３５】
ステップＴ４において、第１の復号器１１は、第１の復号処理が成功したか否か判断する。成功した場合には、処理はステップＴ５に移る。失敗した場合には、処理はステップＴ６に移る。
【００３６】
ステップＴ５において、コントローラ５は、データをホストデバイス４へ提供する。
【００３７】
ステップＴ６において、第１の復号器１１は、第１の符号語を第２のコーデック部７に提供し、コントローラ５は、その識別情報を第２のコーデック部７に提供する。第２のコーデック部７は、無線通信装置９を用いて、識別情報に基づいてサーバ３から第２の冗長部を読み出す。
【００３８】
ステップＴ７において、第２のコーデック部７の第２の復号器１３は、第１の符号語に対応する第２の情報部と第２の冗長部とを含む第２の符号語に対して第２の復号処理を実行する。
【００３９】
ステップＴ８において、第２の復号器１３は、第２の復号処理が成功したか否か判断する。成功した場合には、処理はステップＴ５に移る。失敗した場合には、処理はステップＴ９に移る。
【００４０】
ステップＴ９において、第２の復号器１３は、読み出しエラー通知をコントローラ５へ提供し、コントローラ５は、読み出しエラー通知をホストデバイス４へ提供する。
【００４１】
この読み出し処理において、コントローラ５は、ホストデバイス３からの読み出し要求とアドレスとを受けると、記憶媒体８から該当するデータ（第１の符号語）を読み出す。このとき、第１の復号器１１は、第１の符号語に対する第１の復号処理を行い、第１の復号処理が成功した場合には、データがホストデバイス４に転送される。第１の符号語に対する第１の復号処理が失敗した場合には、第２の復号器１３は、無線通信装置９を用いて、通信ネットワーク上のサーバ３から、対応する第２の冗長部を読み出す。第２の復号器１３は、読み出された第２の冗長部と、第１の符号語（第２の符号語の第２の情報部に相当）とに基づいて、第２の符号語に対する第２の復号処理を実行する。第２の符号語に対する第２の復号処理が成功した場合は、データがホストデバイス４へ転送される。第２の符号語に対する第２の復号処理が失敗した場合には、読み出しエラー通知がホストデバイス４に送られる。
【００４２】
本実施形態において、第１の符号語は、記憶媒体８のビットエラーが少ない状況ではストレージデバイス２が高速に動作するように、符号化率を大きく設計する。符号化率を大きくすることにより、コントローラ５によってアクセスされる記憶媒体８上の領域で、第１の符号語の第１の情報部の占める割合が大きくなる。
【００４３】
第２の符号語は、記憶媒体８の経年劣化などにより、ビットエラーが大きくなってしまった状況でもデータを救済できるように、符号化率を第１の符号語と同じ、又は、第１の符号語よりも小さく設計する。さらに、第２の符号語の符号化率は、０．５よりも大きくなるように設計する。その理由を以下で説明する。
【００４４】
第２の符号語の符号化率は小さいほど、ストレージシステム１全体として救済可能なビットエラーは大きくなる。しかしながら、符号化率が０．５以下になると、ストレージデバイス２内の記憶媒体８に格納されるデータの量よりも、サーバ３に格納されるデータの量の方が大きくなり、無線通信装置９にかかるコスト（転送時間、転送時の消費電力）、サーバにかかる負荷（データ転送量、ストレージの容量）が、ホストデバイス４からストレージデバイス２に書き込まれる書き込みデータをすべてサーバ３へ送信する場合と同程度以上になり、これらのコストの削減効果が得られなくなる。
【００４５】
また、符号化率が０．５より大きく、十分な符号長を持つ符号語の場合、冗長部から、符号語全体を復元するのはほぼ不可能である。そのため、無線通信路を流れるデータが盗聴された場合、又は、ネットワーク上のサーバ３が不正にアクセスされたた場合であっても、第三者が入手できるのは第２の冗長部であり、データを安全に保護することができる。
【００４６】
図４は、書き込み処理における第１の符号語及び第２の符号語の構成の一例を示すブロック図である。
【００４７】
ストレージデバイス２は、ホストデバイス４から受けた書き込みデータの少なくとも一部を第１の情報部１４とし、第１の情報部１４の訂正に用いられる第１の冗長部１５を求め、第１の情報部１４と第１の冗長部１５とを含む第１の符号語１６を生成する。
【００４８】
さらに、ストレージデバイス２は、第１の符号語１６を第２の情報部１７とし、第２の情報部１７の訂正に用いられる第２の冗長部１８を求め、第２の情報部１７と第２の冗長部１８とを含む第２の符号語１９を生成する。
【００４９】
上述したように、第１の符号語１６の符号化率は、第２の符号語１９の符号化率より高いことが好ましい。この場合、第１の符号語１６に対する復号のレイテンシは、第２の符号語１９に対する復号のレイテンシより小さくすることができ、第１の符号語１６に対するスループットは、第２の符号語１９に対するスループットより小さくすることができる。
【００５０】
ストレージデバイス２の無線通信装置９は、第２の符号語１９のうちの第２の冗長部１８とその識別情報をサーバ３へ送信する。
【００５１】
図５は、記憶媒体８からホストデバイス４までの訂正可能な第１の符号語１６の流れの一例を示すブロック図である。
【００５２】
ストレージデバイス２は、記憶媒体８から第１の符号語１６を読み出し、第１の復号器１１によって第１の符号語１６に含まれている誤りを訂正する。そして、ストレージデバイス２は、誤り訂正された第１の符号語１６の第１の情報部１４を、ホストデバイス４に提供する。
【００５３】
図６は、読み出し処理における第１の符号語１６及び第２の符号語１９の構成の一例を示すブロック図である。
【００５４】
ストレージデバイス２は、記憶媒体８から第１の符号語１６を読み出し、第１の復号器１１によって第１の符号語１６に含まれている誤りを訂正する。この図６では、誤りの数が多く、記憶媒体８から読み出された第１の符号語１６が訂正されなかったとする。すると、ストレージデバイス２は、サーバ３から、無線通信装置９を用いて、無線伝送路経由で第２の符号語１９の第２の冗長部１８を受信する。ストレージデバイス２は、第２の復号器１３によって、記憶媒体８から読み出された第１の符号語１０とサーバ３から受信された第２の冗長部１８とを含む第２の符号語１９に対して誤り訂正を行う。そして、ストレージデバイス２は、訂正された第２の符号語１９の第２の情報部１７に対応する訂正された第１の符号語１６の第１の情報部１４を、ホストデバイス４に提供する。
【００５５】
図７は、本実施形態に係るサーバ３の記憶形式の一例を示すブロック図である。
【００５６】
サーバ３は、ストレージデバイス２から受信した例えばアドレスなどのような識別情報と第２の冗長部１８とを関連付けて、テーブル２０で管理する。
【００５７】
サーバ３は、ストレージデバイス２から識別情報を受信すると、テーブル２０から、受信した識別情報に対応する第２の冗長部１８を読み出し、読み出された第２の冗長部１８をストレージデバイス２に送信する。
【００５８】
なお、上記において、第２の符号語１９は、第１の符号語１６に対応する第２の情報部１７と、この第２の情報部１７に対する第２の冗長部１８との組み合わせとしている。しかしながら、例えば、図８に示すように、第２の符号語１９は、第１の符号語１６のうち第１の情報部１４を含む第２の情報部２１と、その第２の情報部２１に対する第２の冗長部２２との組み合わせとしてもよい。この場合、第２の復号化処理は、第２の符号語１９の第２の冗長部２２を用いて、第１の情報部１４を訂正することになる。
【００５９】
以上説明した本実施形態においては、ホストデバイス４から記憶媒体８を持つストレージデバイス２にデータが書き込まれる場合に、誤り訂正能力の異なる複数の符号語が生成され、記憶媒体８には、符号化率の高い第１の符号語１６が書き込まれる。第２の符号語１９の符号化率は、記憶媒体８に書き込まれた第１の符号語１６の符号化率以下であり、第２の符号語１９は第１の符号語１６以上の誤り訂正能力を持つ。第２の符号語１９のうちの第２の冗長部１８が、ストレージデバイス２と別構成のサーバ３に対して、無線通信路経由で送信され、格納され、第２の符号語１９の第２の情報部１７は送信されない。
【００６０】
ホストデバイス４がストレージデバイス２からデータを読み出す場合には、まず記憶媒体８から第１の符号語１６が読み出され、必要であれば第１の復号処理が実行される。この第１の復号処理において誤りが訂正できなかった場合には、サーバ３に格納されている第２の符号語１９の第２の冗長部１８を、無線通信装置９を用いて読み出し、誤り訂正できなかった第１の符号語１６を第２の符号語１９の第２の情報部１７とし、サーバ３から読み出された第２の符号語１９の第２の冗長語１８を用いて第２の復号処理が実行され、訂正されたデータがホストデバイス４へ送られる。
【００６１】
これにより、ストレージデバイス２内のデータの符号化率を高く保ったまま、ストレージシステム１全体としてのデータ保持の信頼性を高くすることができる。また、無線通信路を流れるデータ、サーバ３に格納されるデータは第２の符号語１９の第２の冗長部１８とその識別情報であり、第２の情報部１７はサーバ３に格納されないため、仮に盗聴又は不正アクセスなどによってこのデータが第三者に盗まれても、第２の符号語１９の第２の冗長部１８から第１の符号語１６を復元することは極めて困難であり、セキュアなシステムを構築することができる。
【００６２】
本実施形態においては、ストレージシステム１を構成するストレージデバイス２の信頼性を向上させることができる。
【００６３】
本実施形態においては、第２の符号語１９を用いることにより、第１の符号語１６で誤り訂正できない量のビットエラーを誤り訂正することができ、ホストデバイス４から見たストレージデバイス２の故障率を低下させることができる。
【００６４】
本実施形態においては、第１の符号語１６の符号化率が第２の符号語１９の符号化率より高く、かつ、第２の符号語１９の符号化率が０．５よりも高い。これにより、ホストデバイス４からの書き込みデータのすべてをサーバ３にバックアップする場合と比べて、ストレージデバイス２の無線通信装置９から無線伝送路を介してサーバ３に転送されるデータ量を削減することができ、通信コスト、サーバ３の負荷を削減することができる。
【００６５】
（第２の実施形態）
本実施形態においては、データ書き込み時又はデータ読み出し時に無線通信ができない環境でのコントローラの動作について説明する。
【００６６】
図９は、本実施形態に係るストレージデバイス２の第２のコーデック部７の動作の一例を示すブロック図である。この図９では、データ書き込み時に無線通信ができない場合の動作に関連する構成要素が示されており、他の構成要素は省略されている。
【００６７】
本実施形態に係るストレージデバイス２において、記憶媒体８は、ホストデバイス４から認識されない所定の容量を持つ予備領域２３を備える。なお、予備領域２３は、記憶媒体８と別構成としてもよい。
【００６８】
コントローラ５は、未送信データリスト２４と、未生成データリスト２５とを備える。
【００６９】
例えば、ホストデバイス４からのデータ書き込み時に周囲に通信可能なアクセスポイントがないなどの理由で、無線通信装置９とサーバ３との間が無線通信不可状態の場合、コントローラ５は、第２の符号器１２を用いて、第２の冗長部１８を生成し、記憶媒体８の予備領域２３に、識別情報と第２の冗長部１８とを関連付けて記憶し、未送信データリスト２４に識別情報を追記する。
【００７０】
コントローラ５は、記憶媒体８の予備領域２３の空き容量が低下し、予備領域２３の空き容量が下限値より小さい場合に、第２の冗長部１８を未生成とし、第２の冗長部１８が未生成のデータの識別情報を、未生成データリスト２５に追記する。
【００７１】
無線通信装置９とサーバ３との間で無線通信可能状態になると、コントローラ５は、未送信データリスト２４を参照し、予備領域２３に記憶されている未送信の識別情報と第２の冗長部１８とを、無線通信装置９を用いてサーバ３へ送信する制御を行う。
【００７２】
また、無線通信装置９とサーバ３との間が無線通信可能状態となると、コントローラ５は、未生成データリスト２５を参照し、未生成の識別情報に基づいて、記憶媒体８から第２の冗長部１８が未生成の第１の符号語１６を読み出し、この読み出された第１の符号語１６と第２の符号器１２とを用いて、第２の符号語１９の第２の冗長部１８を生成する。コントローラ５は、識別情報と生成された第２の冗長部１８とを、無線通信装置９を用いて、サーバ２へ送信するための制御を行う。
【００７３】
例えば、第２の冗長部１８が未生成である第１の符号語１６が記憶媒体８から読み出され、この第１の符号語１６の復号に失敗した場合、第２の符号器１２は、第２の冗長部１８を生成しない。ストレージデバイス２のコントローラ５は、後で、ホストデバイス４からこの復号に失敗した第１の符号語１６に対応する読み出し要求を受けた場合、読み出しエラー通知をホストデバイス４に返す。
【００７４】
未送信データリスト２４、未生成データリスト２５が揮発性記憶媒体に記憶されており、ストレージデバイス２の電源が遮断される場合には、コントローラ５は、未送信データリスト２４、未生成データリスト２５を管理情報として、例えば記憶媒体８などのような不揮発性記憶媒体に書き込む。ストレージデバイス２の電源が再投入された場合、コントローラ５は、不揮発性記憶媒体に記憶されている未送信データリスト２４、未生成データリスト２５を参照可能である。
【００７５】
データ読み出し時に、無線通信装置９とサーバ３との間が無線通信不可状態の場合、ストレージデバイス２は、第１の符号語１６の復号に成功した場合は問題ない。
【００７６】
第一の符号語１６の復号に失敗し、かつ無線通信不可状態の場合、コントローラ５は、ホストデバイス４に読み出しエラー通知を返す。このとき、コントローラ５は、訂正失敗したことを示す訂正失敗情報２６を記録し、後で無線通信可能状態になった場合に、サーバ３から第２の冗長部１８を読み出し、第２の復号処理を実行し、訂正された第１の符号語１６を記憶媒体８に書き込む。
【００７７】
以上説明した本実施形態においては、無線通信装置９とサーバ３との間が無線通信不可状態であっても、予備領域２３の容量に空きのある間は、第２の冗長部１８がストレージデバイス２に保持される。これにより、ストレージシステム１の故障率を、常に無線通信が行える場合の故障率に近づけることができる。
【００７８】
また、本実施形態においては、記憶媒体８のビットエラーが第１の符号語１６で訂正可能な程度の場合には、ストレージデバイス２内で訂正を行うことができ、無線通信が可／不可に影響されず、正常動作させることができる。
【００７９】
本実施形態においては、第１の符号語１６の復号エラーが発生しただけでは、ストレージデバイス２の故障がホストデバイス４に通知されなくてもよいため、ストレージシステム１の故障率を下げることができる。
【００８０】
本実施形態において、無線通信装置９とサーバ３との間が無線通信可能状態に戻れば、ホストデバイス４がデータ読み出しをリトライしてもよい。本実施形態においては、無線通信装置９がストレージデバイス２からサーバ３へ未送信であった第２の冗長部１８をサーバ３へ再送信する。これにより、無線通信環境の状態がストレージシステム１の故障率へ与える影響を低減することができる。
【００８１】
なお、本実施形態に係るストレージデバイス２と同様の機能は、デバイスコントローラに備えられてもよく、ストレージシステムに備えられてもよい。
【００８２】
本実施形態に係るストレージデバイス２における各構成要素の動作・機能の一部は、他の構成要素で実現するとしてもよい。すなわち、ストレージデバイス２は、装置全体で上記の動作が実現可能であればよく、構成要素の動作・機能の割り当ては適宜変更可能である。
【００８３】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８４】
１…ストレージシステム、２…ストレージデバイス、３…サーバ、４…ホストデバイス、５…コントローラ、６…第１のコーデック部、７…第２のコーデック部、８…記憶媒体、９…無線通信装置、１０…第１の符号器、１１…第１の復号器、１２…第２の符号器、１３…第２の復号器、１４…第１の情報部、１５…第１の冗長部、１６…第１の符号語、１７，２１…第２の情報部、１８，２２…第２の冗長部、１９…第２の符号語、２０…テーブル、２３…予備領域、２４…未送信データリスト、２５…未生成データリスト、２６…訂正失敗情報。
【図１】
2013109567.tif 000003
【図２】
2013109567.tif 000004
【図３】
2013109567.tif 000005
【図４】
2013109567.tif 000006
【図５】
2013109567.tif 000007
【図６】
2013109567.tif 000008
【図７】
2013109567.tif 000009
【図８】
2013109567.tif 000010
【図９】
2013109567.tif 000011