説明

ストレージデバイス及び誤り訂正方法

【課題】ストレージデバイスにおいて、記憶媒体の記憶容量の低下を抑制しつつ、誤り訂正能力を向上させる。
【解決手段】実施形態に係るストレージデバイス2は、第1の符号器10と、記憶媒体8と、第2の符号器12と、無線通信部9とを含む。第1の符号器10は、書き込みデータの少なくとも一部に対応する第1の情報部と、第1の情報部の訂正に用いられる第1の冗長部とを含む第1の符号語を生成する。記憶媒体8は、第1の符号語を記憶する。第2の符号器12は、第1の符号語又は第1の情報部に対応する第2の情報部の訂正に用いられる第2の冗長部を生成する。無線通信部9は、第2の冗長部を、外部の記憶装置3へ無線通信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、データの誤り訂正機能を備えたストレージデバイス及び誤り訂正方法に関する。
【背景技術】
【0002】
例えばNAND型フラッシュメモリなどのような半導体不揮発性記憶媒体は、微細化を行うほどセル誤り率を低く保つことが困難になる。NAND型フラッシュメモリを用いたストレージデバイスでは、誤り訂正符号を用い、ホストからの書き込みデータに対する冗長なデータを作成し、データと冗長なデータとをNAND型フラッシュメモリに書き込む。
【0003】
一般的に、誤り訂正符号では、情報部に対して冗長部を大きく(符号化率を小さく)するほど、訂正能力が高くなる。しかしながら冗長な書き込み量が大きくなると、記憶媒体の物理的な容量に対し、ホストがデータを格納できる論理的な容量が小さくなる。また、情報部と冗長部がメディア上で同時にアクセスできない領域に配置される場合、書き込み又は読み出しの性能が低下するため、同時にアクセス可能な領域に情報部と冗長部を配置することで、書き込み及び読み出しの性能を高くすることができる。
【0004】
誤り訂正の技術として、誤り訂正符号の階層化又は長符号化、確率情報に基づいて決定される訂正能力を高める符号と復号器との組み合わせなどが、提案されている。
【0005】
符号の階層化とは、一つの情報部に対して複数の符号語を生成し、それぞれの符号語には異なる誤り訂正能力を持たせ、高速に復号できる符号語から順に復号を試みる手法である。この符号の階層化では、平均的な読み出し性能を保ちつつ、最後の階層の符号語の復号まで含めた高い誤り訂正能力が得られる。しかしながら、全階層の冗長部は大きく、これらの冗長部を全て記憶媒体に格納すると記憶媒体の論理的な容量が減少する。
【0006】
符号の長符号化では、一般的に、同じ符号化率の場合、短い符号語で構成されたフレームと長い符号語で構成されたフレームは、長い符号語で構成されたフレームの方が、フレームの誤り率を低くできるという性質が利用される。フレーム内の一つ符号語にその符号語が訂正し切れない数の誤りが集中する確率が、短い符号語と長い符号語とでは長い符号語の方が低いためである。しかしながら、符号語を長くしても符号化率で決まる誤り訂正能力には限界があり、また符号語が長くなるにつれ復号時間が長くなるため、読み出し性能が低下する。
【0007】
符号語の各ビットに確率情報を用いて、符号語そのものが持つ訂正能力を高める方法もある。しかしながら、確率情報の読み出しは、通常のビット読み出しに比べて時間がかかり、また復号器の回路規模及び消費電力が大きくなる。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2010−67060号公報
【特許文献2】特開2009−59422号公報
【特許文献3】特開2000−339228号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の実施形態は、記憶媒体の記憶容量の低下を抑制しつつ、誤り訂正能力を向上させるストレージデバイス及び誤り訂正方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
実施形態によれば、ストレージデバイスは、第1の符号器と、記憶媒体と、第2の符号器と、無線通信部とを含む。第1の符号器は、書き込みデータの少なくとも一部に対応する第1の情報部と、第1の情報部の訂正に用いられる第1の冗長部とを含む第1の符号語を生成する。記憶媒体は、第1の符号語を記憶する。第2の符号器は、第1の符号語又は第1の情報部に対応する第2の情報部の訂正に用いられる第2の冗長部を生成する。無線通信部は、第2の冗長部を、外部の記憶装置へ無線通信する。
【図面の簡単な説明】
【0011】
【図1】第1の実施形態に係るストレージデバイスの構成の一例を示すブロック図。
【図2】第1の実施形態に係るストレージデバイスへの書き込み処理の一例を示すフローチャート。
【図3】第1の実施形態に係るストレージデバイスへの読み出し処理の一例を示すフローチャート。
【図4】書き込み処理における第1の符号語及び第2の符号語の構成の一例を示すブロック図。
【図5】記憶媒体からホストデバイスまでの訂正可能な第1の符号語の流れの一例を示すブロック図。
【図6】読み出し処理における第1の符号語及び第2の符号語の構成の一例を示すブロック図。
【図7】第1の実施形態に係る実施形態に係るサーバの記憶フィーマットの一例を示すブロック図。
【図8】第2の符号語の変形例を示すブロック図。
【図9】第2の実施形態に係るストレージデバイスの第2のコーデック部の動作の一例を示すブロック図。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら本発明の各実施の形態について説明する。なお、以下の説明において、略または実質的に同一の機能および構成要素については、同一符号を付し、必要に応じて説明を行う。
【0013】
(第1の実施形態)
本実施形態においては、無線通信装置を備え、データ誤り訂正を行うストレージデバイスについて説明する。
【0014】
例えば無線LAN内蔵SDカードなどのような無線通信装置を備えたストレージデバイスは、記憶媒体に書き込まれたデータをネットワーク上のサーバへ送信することができる。このことはデータのバックアップをネットワーク上のサーバに作成していることに相当する。仮にSDカードの読み出し時にエラーが発生しても、ネットワーク上のサーバにデータが保存されているため、SDカードとサーバを含むシステム全体でデータの故障確率を下げることができる。しかしながら、無線通信路を流れるデータ及びネットワーク上のサーバにアップロードされたデータは、盗聴及び不正なアクセスにより第三者に盗まれる可能性がある。また、無線通信装置で全てのデータをサーバにバックアップする場合、書き込みに時間がかかり、消費電力が増える。記憶媒体で読み出しエラーがあった際には、データがサーバからSDカードへ丸ごとダウンロードされる。サーバにはユーザのストレージデバイスと同じだけの容量が必要となる。
【0015】
そこで、本実施形態においては、以下のような構成を持つストレージデバイスを実現する。
【0016】
図1は、本実施形態に係るストレージデバイスの構成の一例を示すブロック図である。
【0017】
ストレージシステム1は、ストレージデバイス2と、サーバ(データストレージサーバ)3とを備える。ストレージシステム1は、ホストデバイス4と接続される。
【0018】
さらに、ストレージデバイス2は、コントローラ5、第1のコーデック(Codec)部6、第2のコーデック部7、記憶媒体8、無線通信装置9を備える。第1のコーデック部6は、第1の符号器(エンコーダ)10と第1の復号器(デコーダ)11とを備える。第2のコーデック部7は、第2の符号器12と第2の復号器13とを備える。
【0019】
本実施形態において、ストレージデバイス2は無線通信装置9を備えており、ストレージデバイス2とサーバ3とは、無線通信路を介して無線通信可能である。
【0020】
本実施形態において、符号語は、情報部と冗長部とを備える。符号語は、一定のレベルまでは冗長部を用いて訂正可能である。冗長部は、例えば、パリティビットなどのような誤り訂正符号である。
【0021】
本実施形態において、第1のコーデック部6の第1の符号器10によって生成される第1の符号語の符号化率は、第2のコーデック部7の第2の符号器12によって生成される第2の符号語の符号化率以下とする。
【0022】
コントローラ5は、ストレージデバイス2内の各種の構成要素の動作を制御する。例えば、コントローラ5は、ホストデバイス4からの書き込み時に、書き込みデータに基づいて、第1の符号語及び第2の符号語を生成するための制御、第1の符号語を記憶媒体8に書き込むための制御、第2の符号語の第2の冗長部と識別情報とを無線通信装置9によりサーバ3へ送信し、第2の符号語の第2の情報部は送信しない制御を実行する。また、例えば、コントローラ5は、第1の符号語で復号エラーが発生した場合に、無線通信装置9によりサーバ3から第2の符号語の第2の冗長部を読み出し、第2の符号語の復号を行うための制御を実行する。
【0023】
記憶媒体8は、不揮発性記憶媒体とする。記憶媒体8としては、例えばNAND型フラッシュメモリなどのような半導体記憶装置が用いられる。なお、ストレージデバイス2は、例えばDRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)などのような揮発性記憶媒体を備え、この揮発性記憶媒体を書き込み・読み出しのバッファとして用いるとしてもよい。また、ストレージデバイス2に備えられている揮発性記憶媒体に、後述の第2の冗長部、未送信データリスト、未生成データリストを記憶するとしてもよい。
【0024】
図2は、本実施形態に係るストレージデバイス2への書き込み処理の一例を示すフローチャートである。
【0025】
ステップS1において、ホストデバイス4は、コントローラ5に、書き込みデータを提供する。コントローラ5は、ホストデバイス4から書き込みのデータを受け、書き込みデータを第1のコーデック部6に提供する。第1のコーデック部6の第1の符号器10は、書き込みデータをコントローラ5から受ける。
【0026】
ステップS2において、第1の符号器10は、書き込みデータのうちの少なくとも一部(第1の符号語の第1の情報部のサイズ単位)に対して、第1の符号化処理を行い、第1の符号語を生成する。第1の符号語は、第1の情報部とこの第1の情報部の訂正に用いられる第1の冗長部とを備える。第1の符号語の第1の情報部は、書き込みデータの少なくとも一部に対応する。
【0027】
ステップS3において、第1の符号器10は、第1の符号語の第1の情報部と第1の冗長部との双方を記憶媒体8に記憶する。
【0028】
ステップS4において、第2のコーデック部7の第2の符号器12は第1の符号器10から第1の符号語を受け、第2のコーデック部7はコントローラ5からその識別情報を受ける。識別情報としては、例えば、記憶媒体8に対する書き込み・読み出しに用いられるアドレスを用いることができる。第2の符号器7は、第1の符号語を第2の符号語の第2の情報部とみなし、第2の符号化処理を実行し、第2の符号語を生成する。第2の符号語は、第1の符号語に対応する第2の情報部とこの第2の情報部の訂正に用いられる第2の冗長部とを備える。そして、第2のコーデック部7は、第2の符号語のうちの第2の冗長部とその識別情報とを無線通信装置9に提供する。
【0029】
ステップS5において、無線通信装置9は、第2の符号語のうちの第2の冗長部とその識別情報をサーバ3へ送信し、第2の情報部を送信しない。サーバ3は、無線通信装置9から第2の冗長部とその識別情報を受信し、第2の冗長部とその識別情報とを関連付けた状態で記憶する。
【0030】
上記のような書き込み処理において、ストレージデバイス2から無線通信路経由でサーバ3へ送られるデータは、ホストデバイス4からストレージデバイス2へ送られた書き込みデータに基づいて生成された第2の符号語のうちの第2の冗長部とその識別情報であり、第2の符号語の第2の情報部などはストレージデバイス2からサーバ3へ送信されない。したがって、本実施形態に係るストレージシステム1は、書き込みデータをストレージデバイス2からサーバ3へ送ってバックアップを行うシステムと比べて、無線通信装置9に必要な通信コスト(転送時間、転送時の消費電力)、サーバ3にかかる負荷(データ転送量、記憶容量)を減少させることができ、高い安全性を確保することができる。
【0031】
図3は、本実施形態に係るストレージデバイス2への読み出し処理の一例を示すフローチャートである。
【0032】
ステップT1において、ホストデバイス4は、読み出し要求と読み出しデータのアドレスとをコントローラ5に提供する。
【0033】
ステップT2において、コントローラ5は、アドレスで特定される第1の符号語を、記憶媒体8から読み出し、第1のコーデック部6の第1の復号器11は、読み出された第1の符号語を受ける。
【0034】
ステップT3において、第1の復号器11は、第1の符号語に対して第1の復号処理を実行する。
【0035】
ステップT4において、第1の復号器11は、第1の復号処理が成功したか否か判断する。成功した場合には、処理はステップT5に移る。失敗した場合には、処理はステップT6に移る。
【0036】
ステップT5において、コントローラ5は、データをホストデバイス4へ提供する。
【0037】
ステップT6において、第1の復号器11は、第1の符号語を第2のコーデック部7に提供し、コントローラ5は、その識別情報を第2のコーデック部7に提供する。第2のコーデック部7は、無線通信装置9を用いて、識別情報に基づいてサーバ3から第2の冗長部を読み出す。
【0038】
ステップT7において、第2のコーデック部7の第2の復号器13は、第1の符号語に対応する第2の情報部と第2の冗長部とを含む第2の符号語に対して第2の復号処理を実行する。
【0039】
ステップT8において、第2の復号器13は、第2の復号処理が成功したか否か判断する。成功した場合には、処理はステップT5に移る。失敗した場合には、処理はステップT9に移る。
【0040】
ステップT9において、第2の復号器13は、読み出しエラー通知をコントローラ5へ提供し、コントローラ5は、読み出しエラー通知をホストデバイス4へ提供する。
【0041】
この読み出し処理において、コントローラ5は、ホストデバイス3からの読み出し要求とアドレスとを受けると、記憶媒体8から該当するデータ(第1の符号語)を読み出す。このとき、第1の復号器11は、第1の符号語に対する第1の復号処理を行い、第1の復号処理が成功した場合には、データがホストデバイス4に転送される。第1の符号語に対する第1の復号処理が失敗した場合には、第2の復号器13は、無線通信装置9を用いて、通信ネットワーク上のサーバ3から、対応する第2の冗長部を読み出す。第2の復号器13は、読み出された第2の冗長部と、第1の符号語(第2の符号語の第2の情報部に相当)とに基づいて、第2の符号語に対する第2の復号処理を実行する。第2の符号語に対する第2の復号処理が成功した場合は、データがホストデバイス4へ転送される。第2の符号語に対する第2の復号処理が失敗した場合には、読み出しエラー通知がホストデバイス4に送られる。
【0042】
本実施形態において、第1の符号語は、記憶媒体8のビットエラーが少ない状況ではストレージデバイス2が高速に動作するように、符号化率を大きく設計する。符号化率を大きくすることにより、コントローラ5によってアクセスされる記憶媒体8上の領域で、第1の符号語の第1の情報部の占める割合が大きくなる。
【0043】
第2の符号語は、記憶媒体8の経年劣化などにより、ビットエラーが大きくなってしまった状況でもデータを救済できるように、符号化率を第1の符号語と同じ、又は、第1の符号語よりも小さく設計する。さらに、第2の符号語の符号化率は、0.5よりも大きくなるように設計する。その理由を以下で説明する。
【0044】
第2の符号語の符号化率は小さいほど、ストレージシステム1全体として救済可能なビットエラーは大きくなる。しかしながら、符号化率が0.5以下になると、ストレージデバイス2内の記憶媒体8に格納されるデータの量よりも、サーバ3に格納されるデータの量の方が大きくなり、無線通信装置9にかかるコスト(転送時間、転送時の消費電力)、サーバにかかる負荷(データ転送量、ストレージの容量)が、ホストデバイス4からストレージデバイス2に書き込まれる書き込みデータをすべてサーバ3へ送信する場合と同程度以上になり、これらのコストの削減効果が得られなくなる。
【0045】
また、符号化率が0.5より大きく、十分な符号長を持つ符号語の場合、冗長部から、符号語全体を復元するのはほぼ不可能である。そのため、無線通信路を流れるデータが盗聴された場合、又は、ネットワーク上のサーバ3が不正にアクセスされたた場合であっても、第三者が入手できるのは第2の冗長部であり、データを安全に保護することができる。
【0046】
図4は、書き込み処理における第1の符号語及び第2の符号語の構成の一例を示すブロック図である。
【0047】
ストレージデバイス2は、ホストデバイス4から受けた書き込みデータの少なくとも一部を第1の情報部14とし、第1の情報部14の訂正に用いられる第1の冗長部15を求め、第1の情報部14と第1の冗長部15とを含む第1の符号語16を生成する。
【0048】
さらに、ストレージデバイス2は、第1の符号語16を第2の情報部17とし、第2の情報部17の訂正に用いられる第2の冗長部18を求め、第2の情報部17と第2の冗長部18とを含む第2の符号語19を生成する。
【0049】
上述したように、第1の符号語16の符号化率は、第2の符号語19の符号化率より高いことが好ましい。この場合、第1の符号語16に対する復号のレイテンシは、第2の符号語19に対する復号のレイテンシより小さくすることができ、第1の符号語16に対するスループットは、第2の符号語19に対するスループットより小さくすることができる。
【0050】
ストレージデバイス2の無線通信装置9は、第2の符号語19のうちの第2の冗長部18とその識別情報をサーバ3へ送信する。
【0051】
図5は、記憶媒体8からホストデバイス4までの訂正可能な第1の符号語16の流れの一例を示すブロック図である。
【0052】
ストレージデバイス2は、記憶媒体8から第1の符号語16を読み出し、第1の復号器11によって第1の符号語16に含まれている誤りを訂正する。そして、ストレージデバイス2は、誤り訂正された第1の符号語16の第1の情報部14を、ホストデバイス4に提供する。
【0053】
図6は、読み出し処理における第1の符号語16及び第2の符号語19の構成の一例を示すブロック図である。
【0054】
ストレージデバイス2は、記憶媒体8から第1の符号語16を読み出し、第1の復号器11によって第1の符号語16に含まれている誤りを訂正する。この図6では、誤りの数が多く、記憶媒体8から読み出された第1の符号語16が訂正されなかったとする。すると、ストレージデバイス2は、サーバ3から、無線通信装置9を用いて、無線伝送路経由で第2の符号語19の第2の冗長部18を受信する。ストレージデバイス2は、第2の復号器13によって、記憶媒体8から読み出された第1の符号語10とサーバ3から受信された第2の冗長部18とを含む第2の符号語19に対して誤り訂正を行う。そして、ストレージデバイス2は、訂正された第2の符号語19の第2の情報部17に対応する訂正された第1の符号語16の第1の情報部14を、ホストデバイス4に提供する。
【0055】
図7は、本実施形態に係るサーバ3の記憶形式の一例を示すブロック図である。
【0056】
サーバ3は、ストレージデバイス2から受信した例えばアドレスなどのような識別情報と第2の冗長部18とを関連付けて、テーブル20で管理する。
【0057】
サーバ3は、ストレージデバイス2から識別情報を受信すると、テーブル20から、受信した識別情報に対応する第2の冗長部18を読み出し、読み出された第2の冗長部18をストレージデバイス2に送信する。
【0058】
なお、上記において、第2の符号語19は、第1の符号語16に対応する第2の情報部17と、この第2の情報部17に対する第2の冗長部18との組み合わせとしている。しかしながら、例えば、図8に示すように、第2の符号語19は、第1の符号語16のうち第1の情報部14を含む第2の情報部21と、その第2の情報部21に対する第2の冗長部22との組み合わせとしてもよい。この場合、第2の復号化処理は、第2の符号語19の第2の冗長部22を用いて、第1の情報部14を訂正することになる。
【0059】
以上説明した本実施形態においては、ホストデバイス4から記憶媒体8を持つストレージデバイス2にデータが書き込まれる場合に、誤り訂正能力の異なる複数の符号語が生成され、記憶媒体8には、符号化率の高い第1の符号語16が書き込まれる。第2の符号語19の符号化率は、記憶媒体8に書き込まれた第1の符号語16の符号化率以下であり、第2の符号語19は第1の符号語16以上の誤り訂正能力を持つ。第2の符号語19のうちの第2の冗長部18が、ストレージデバイス2と別構成のサーバ3に対して、無線通信路経由で送信され、格納され、第2の符号語19の第2の情報部17は送信されない。
【0060】
ホストデバイス4がストレージデバイス2からデータを読み出す場合には、まず記憶媒体8から第1の符号語16が読み出され、必要であれば第1の復号処理が実行される。この第1の復号処理において誤りが訂正できなかった場合には、サーバ3に格納されている第2の符号語19の第2の冗長部18を、無線通信装置9を用いて読み出し、誤り訂正できなかった第1の符号語16を第2の符号語19の第2の情報部17とし、サーバ3から読み出された第2の符号語19の第2の冗長語18を用いて第2の復号処理が実行され、訂正されたデータがホストデバイス4へ送られる。
【0061】
これにより、ストレージデバイス2内のデータの符号化率を高く保ったまま、ストレージシステム1全体としてのデータ保持の信頼性を高くすることができる。また、無線通信路を流れるデータ、サーバ3に格納されるデータは第2の符号語19の第2の冗長部18とその識別情報であり、第2の情報部17はサーバ3に格納されないため、仮に盗聴又は不正アクセスなどによってこのデータが第三者に盗まれても、第2の符号語19の第2の冗長部18から第1の符号語16を復元することは極めて困難であり、セキュアなシステムを構築することができる。
【0062】
本実施形態においては、ストレージシステム1を構成するストレージデバイス2の信頼性を向上させることができる。
【0063】
本実施形態においては、第2の符号語19を用いることにより、第1の符号語16で誤り訂正できない量のビットエラーを誤り訂正することができ、ホストデバイス4から見たストレージデバイス2の故障率を低下させることができる。
【0064】
本実施形態においては、第1の符号語16の符号化率が第2の符号語19の符号化率より高く、かつ、第2の符号語19の符号化率が0.5よりも高い。これにより、ホストデバイス4からの書き込みデータのすべてをサーバ3にバックアップする場合と比べて、ストレージデバイス2の無線通信装置9から無線伝送路を介してサーバ3に転送されるデータ量を削減することができ、通信コスト、サーバ3の負荷を削減することができる。
【0065】
(第2の実施形態)
本実施形態においては、データ書き込み時又はデータ読み出し時に無線通信ができない環境でのコントローラの動作について説明する。
【0066】
図9は、本実施形態に係るストレージデバイス2の第2のコーデック部7の動作の一例を示すブロック図である。この図9では、データ書き込み時に無線通信ができない場合の動作に関連する構成要素が示されており、他の構成要素は省略されている。
【0067】
本実施形態に係るストレージデバイス2において、記憶媒体8は、ホストデバイス4から認識されない所定の容量を持つ予備領域23を備える。なお、予備領域23は、記憶媒体8と別構成としてもよい。
【0068】
コントローラ5は、未送信データリスト24と、未生成データリスト25とを備える。
【0069】
例えば、ホストデバイス4からのデータ書き込み時に周囲に通信可能なアクセスポイントがないなどの理由で、無線通信装置9とサーバ3との間が無線通信不可状態の場合、コントローラ5は、第2の符号器12を用いて、第2の冗長部18を生成し、記憶媒体8の予備領域23に、識別情報と第2の冗長部18とを関連付けて記憶し、未送信データリスト24に識別情報を追記する。
【0070】
コントローラ5は、記憶媒体8の予備領域23の空き容量が低下し、予備領域23の空き容量が下限値より小さい場合に、第2の冗長部18を未生成とし、第2の冗長部18が未生成のデータの識別情報を、未生成データリスト25に追記する。
【0071】
無線通信装置9とサーバ3との間で無線通信可能状態になると、コントローラ5は、未送信データリスト24を参照し、予備領域23に記憶されている未送信の識別情報と第2の冗長部18とを、無線通信装置9を用いてサーバ3へ送信する制御を行う。
【0072】
また、無線通信装置9とサーバ3との間が無線通信可能状態となると、コントローラ5は、未生成データリスト25を参照し、未生成の識別情報に基づいて、記憶媒体8から第2の冗長部18が未生成の第1の符号語16を読み出し、この読み出された第1の符号語16と第2の符号器12とを用いて、第2の符号語19の第2の冗長部18を生成する。コントローラ5は、識別情報と生成された第2の冗長部18とを、無線通信装置9を用いて、サーバ2へ送信するための制御を行う。
【0073】
例えば、第2の冗長部18が未生成である第1の符号語16が記憶媒体8から読み出され、この第1の符号語16の復号に失敗した場合、第2の符号器12は、第2の冗長部18を生成しない。ストレージデバイス2のコントローラ5は、後で、ホストデバイス4からこの復号に失敗した第1の符号語16に対応する読み出し要求を受けた場合、読み出しエラー通知をホストデバイス4に返す。
【0074】
未送信データリスト24、未生成データリスト25が揮発性記憶媒体に記憶されており、ストレージデバイス2の電源が遮断される場合には、コントローラ5は、未送信データリスト24、未生成データリスト25を管理情報として、例えば記憶媒体8などのような不揮発性記憶媒体に書き込む。ストレージデバイス2の電源が再投入された場合、コントローラ5は、不揮発性記憶媒体に記憶されている未送信データリスト24、未生成データリスト25を参照可能である。
【0075】
データ読み出し時に、無線通信装置9とサーバ3との間が無線通信不可状態の場合、ストレージデバイス2は、第1の符号語16の復号に成功した場合は問題ない。
【0076】
第一の符号語16の復号に失敗し、かつ無線通信不可状態の場合、コントローラ5は、ホストデバイス4に読み出しエラー通知を返す。このとき、コントローラ5は、訂正失敗したことを示す訂正失敗情報26を記録し、後で無線通信可能状態になった場合に、サーバ3から第2の冗長部18を読み出し、第2の復号処理を実行し、訂正された第1の符号語16を記憶媒体8に書き込む。
【0077】
以上説明した本実施形態においては、無線通信装置9とサーバ3との間が無線通信不可状態であっても、予備領域23の容量に空きのある間は、第2の冗長部18がストレージデバイス2に保持される。これにより、ストレージシステム1の故障率を、常に無線通信が行える場合の故障率に近づけることができる。
【0078】
また、本実施形態においては、記憶媒体8のビットエラーが第1の符号語16で訂正可能な程度の場合には、ストレージデバイス2内で訂正を行うことができ、無線通信が可/不可に影響されず、正常動作させることができる。
【0079】
本実施形態においては、第1の符号語16の復号エラーが発生しただけでは、ストレージデバイス2の故障がホストデバイス4に通知されなくてもよいため、ストレージシステム1の故障率を下げることができる。
【0080】
本実施形態において、無線通信装置9とサーバ3との間が無線通信可能状態に戻れば、ホストデバイス4がデータ読み出しをリトライしてもよい。本実施形態においては、無線通信装置9がストレージデバイス2からサーバ3へ未送信であった第2の冗長部18をサーバ3へ再送信する。これにより、無線通信環境の状態がストレージシステム1の故障率へ与える影響を低減することができる。
【0081】
なお、本実施形態に係るストレージデバイス2と同様の機能は、デバイスコントローラに備えられてもよく、ストレージシステムに備えられてもよい。
【0082】
本実施形態に係るストレージデバイス2における各構成要素の動作・機能の一部は、他の構成要素で実現するとしてもよい。すなわち、ストレージデバイス2は、装置全体で上記の動作が実現可能であればよく、構成要素の動作・機能の割り当ては適宜変更可能である。
【0083】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0084】
1…ストレージシステム、2…ストレージデバイス、3…サーバ、4…ホストデバイス、5…コントローラ、6…第1のコーデック部、7…第2のコーデック部、8…記憶媒体、9…無線通信装置、10…第1の符号器、11…第1の復号器、12…第2の符号器、13…第2の復号器、14…第1の情報部、15…第1の冗長部、16…第1の符号語、17,21…第2の情報部、18,22…第2の冗長部、19…第2の符号語、20…テーブル、23…予備領域、24…未送信データリスト、25…未生成データリスト、26…訂正失敗情報。

【特許請求の範囲】
【請求項1】
書き込みデータの少なくとも一部に対応する第1の情報部と、前記第1の情報部の訂正に用いられる第1の冗長部とを含む第1の符号語を生成する第1の符号器と、
前記第1の符号語を記憶する記憶媒体と、
前記第1の符号語又は前記第1の情報部に対応する第2の情報部の訂正に用いられる第2の冗長部を生成する第2の符号器と、
前記第2の冗長部を、外部の記憶装置へ無線通信する無線通信部と
を備えるストレージデバイス。
【請求項2】
読み出し時において、前記記憶媒体から読み出された前記第1の符号語の前記第1の情報部に誤りがあり、前記第1の情報部の誤りを前記第1の冗長部を用いて訂正できる場合に、前記第1の情報部の誤りを前記第1の冗長部を用いて訂正する第1の復号器と、
前記第1の復号器によって前記第1の情報部の誤りを訂正できない場合に、前記外部の記憶装置から前記無線通信部経由で前記第2の冗長部を受信し、前記第2の冗長部を用いて前記第1の符号語又は前記第1の情報部を訂正する第2の復号器と
を更に具備する請求項1記載のストレージデバイス。
【請求項3】
前記第1の符号語の符号化率は、前記第2の情報部と前記第2の冗長部とを含む第2の符号語の符号化率以上であり、
前記第2の符号語の符号化率は、0.5よりも高い
ことを特徴とする請求項1又は請求項2記載のストレージデバイス。
【請求項4】
前記無線通信部から前記外部の記憶装置への通信不可状態において、前記第2の冗長部を保存する未送信記憶部をさらに備え、
前記無線通信部は、前記通信不可状態から通信可能状態に変化した場合に、前記未送信記憶部に保存されている前記第2の冗長部を、前記外部の記憶装置に無線通信する、
ことを特徴とする請求項1乃至請求項3のいずれか1項に記載のストレージデバイス。
【請求項5】
前記未送信記憶部の空き容量が予め設定された下限値より少ない場合に、前記第2の冗長部ではなく前記第1の符号語の識別情報を保存する未生成記憶部をさらに備え、
前記第2の符号器は、前記通信不可状態から前記通信可能状態に変化した場合に、前記記憶媒体に記憶されており前記未生成記憶部の前記識別情報に対応する前記第1の符号語に基づいて、前記第2の冗長部を生成し、
前記無線通信部は、前記通信不可状態から前記通信可能状態に変化した場合に、前記第2の符号器で生成された前記第2の冗長部を、前記外部の記憶装置に無線通信する、
ことを特徴とする請求項4記載のストレージデバイス。
【請求項6】
前記通信不可状態から前記通信可能状態に変化し、前記記憶媒体に記憶されており前記未生成記憶部の前記識別情報に対応する前記第1の符号語を読み出したが、前記第1の符号器が前記第1の符号語を訂正できない場合に、前記第2の符号器は、前記第2の冗長部を生成せず、
前記第2の冗長部が未生成であり前記第1の符号器が訂正できない前記第1の符号語の読み出し時に、読み出しエラー通知を発行するコントローラをさらに具備する、
ことを特徴とする請求項5記載のストレージデバイス。
【請求項7】
読み出し時において、前記第1の復号器によって前記第1の情報部の誤りを訂正できず、かつ、前記無線通信部と前記外部の記憶装置との間で通信不可状態の場合、読み出しエラー通知を発行するコントローラをさらに具備し、
前記読み出しエラー通知の後、前記通信不可状態から通信可能状態に変化した場合に、前記第2の復号器は、前記外部の記憶装置から前記無線通信装置経由で前記第2の冗長部を受信し、前記第2の冗長部を用いて前記第1の符号語又は前記第1の情報部を訂正し、訂正された前記第1の符号語を前記記録媒体に記憶する、
ことを特徴とする請求項2記載のストレージデバイス。
【請求項8】
前記未送信記憶部と前記未生成記憶部とのうちの少なくとも一方は、揮発性記憶部であり、
電源切断前に、前記揮発性記憶部に記憶されているデータを、退避用の不揮発性記憶部に書き込み、電源再投入時に、前記不揮発性記憶部に書き込まれたデータをアクセスし、前記第1の符号器と前記第2の符号器と前記無線通信部とを制御するコントローラをさらに具備する
ことを特徴とする請求項5記載のストレージデバイス。
【請求項9】
書き込み時において、書き込みデータの少なくとも一部に対応する第1の情報部と、前記第1の情報部の訂正に用いられる第1の冗長部とを含む第1の符号語を生成することと、
前記第1の符号語を記憶媒体に記憶することと、
前記第1の符号語又は前記第1の情報部に対応する第2の情報部の訂正に用いられる第2の冗長部を生成することと、
前記第2の冗長部を、外部の記憶装置へ無線通信することと
を具備し、
読み出し時において、前記記憶媒体から読み出された前記第1の符号語の前記第1の情報部に誤りがあり、前記第1の情報部の誤りを前記第1の冗長部を用いて訂正できる場合に、前記第1の情報部の誤りを前記第1の冗長部を用いて訂正することと、
前記第1の復号器によって前記第1の情報部の誤りを訂正できない場合に、前記外部の記憶装置から前記無線通信部経由で前記第2の冗長部を受信し、前記第2の冗長部を用いて前記第1の符号語又は前記第1の情報部を訂正することと
を具備する、誤り訂正方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2013−109567(P2013−109567A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−253807(P2011−253807)
【出願日】平成23年11月21日(2011.11.21)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】