説明

データ・ストレージ・システム

【課題】データ・ストレージ・システム内でデータをデコードするための方法および装置を提供すること。
【解決手段】動作中、検出器は、データ・ストレージ・システムのストレージ・サブシステムから受け取ったデータ・ブロックに基づいて、出力ビット・ストリームを生成する。検出器に接続されたポスト・プロセッサは、出力ビット・ストリームおよびデータ・ブロックに基づいて、第1のエラー訂正済みビット・ストリームを生成する。ポスト・プロセッサに接続されたエラー訂正デコーダは、第1のエラー訂正済みビット・ストリームに基づいて第2のエラー訂正済みビット・ストリームを生成し、第2のエラー訂正済みビット・ストリームに基づいてチェックサムも生成する。フィードバック経路は、チェックサムが第2のエラー訂正済みビット・ストリーム内のエラーを示し、第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、エラー訂正デコーダからポスト・プロセッサへ、第2のエラー訂正済みビット・ストリーム内の正しいビットの場所を示すピン設定データを供給する。ポスト・プロセッサは、エラー訂正デコーダから受け取ったピン設定データに基づいて、第1のエラー訂正済みビット・ストリームを再生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にデータ・ストレージ・システムに関し、特に、データ・ストレージ・システムにおいてデータをデコードするための装置および方法に関する。
【背景技術】
【0002】
図1を参照すると、典型的なデータ・ストレージ・システムは、エンコード・サブシステム1、デコード・サブシステム2、およびストレージ・サブシステム3を備える。ストレージ・サブシステム3は、磁気テープまたはディスクなどのストレージ・メディア、ストレージ・メディアからデータを読み取るためおよびこれにデータを書き込むための読み取り/書き込み変換機、ならびに、変換機に対してストレージ・メディアを移動するためのドライブ・システムを備える。別の方法として、ストレージ・メディアおよび変換機を光技術によって実施することもできる。エンコード・サブシステム1は、データ処理システムなどのユーザ・デバイスからのロー・データを、ストレージ・サブシステム3に適合する形に変換する。一般に、エンコード変換時にストレージ・サブシステム3によって記録されたデータに、エラー訂正データが追加される。デコード・サブシステム2は、ストレージ・サブシステム3から読み取ったデータをユーザ・データに再変換する。エラー訂正データは、ストレージ・サブシステム3によってリードバックされたデータにおけるエラーを訂正するために、デコード・サブシステム2によって採用される。
【0003】
データ・ストレージ・システムには、通常、信頼性仕様がある。費用対効果の高いデータの検出およびデコードによって、これらの仕様を満たすことが望ましい。したがって、性能を最大限にしながら、デコード・サブシステム2の実施複雑性を最低限に維持することが望ましい。
【0004】
図2を参照すると、データ・ストレージ・システム用の典型的なデコード・サブシステム2は、一連の処理ステップを採用する。良く知られた方法では、データ検出器10に続いてエラー訂正符号(ECC)デコーダ20を備える。デコーダ20は複数のECC符号を有することができる。
【0005】
図3を参照すると、デコード・サブシステム2の典型的な例では、検出器10とデコーダ20との間にソフト決定ベースのパリティ・ポスト・プロセッサ30が配置される。前述の信頼性要件を満たすために、通常、データ検出、内部変調/パリティ符号、および外部インタリーブド・リード・ソロモン符号の組み合わせが採用される。
【0006】
内部パリティ・ベース・コーディングは、実施複雑性の増加を最小限に抑えながら、性能を向上させる。データ検出器10は、通常、ビタービ・アルゴリズムに基づくシーケンス検出を採用する。検出器の出力時のエラー率は、ポスト・プロセッサ30によって改善される。
【0007】
使用に際して、ポスト・プロセッサ30は、内部コーディングの変調およびパリティ制約を活用する。ポスト・プロセッサ30は、検出器10の出力から決定事項を受け取る。ポスト・プロセッサ30は、フィード・フォワード・リンク40を介して、検出器10への入力からもソフト情報を受け取る。デコーダ20は、外部ECCを介して残りのエラーを訂正するために、リード・ソロモン符号を使用してポスト・プロセッサの出力を処理する。
【0008】
検出器10およびポスト・プロセッサ30による処理後にデータ内に残っているエラーは、通常、様々な長さのバーストとして現れる。バーストは、一般に、複数のインタリーブド外部ECC符号語を介してデコーダによって分割される。バーストの長さおよび出現頻度に応じて、様々なインタリーブ方式が可能である。複数レベルの外部符号を採用して、システムのエラー訂正機能をさらに強化することができる。通常、データ内の残存エラーの有無を検出するために、巡回冗長検査(CRC)符号が適用される。
【0009】
データ検出、内部デコード、および外部デコードは、通常、図2および3に示されるようにフィード・フォワード様式で順次実行され、一般に「オン・ザ・フライ」モードと呼ばれる。オン・ザ・フライ・モードでは、記録されたデータの連続部分がリードバックされ、デコード済みデータが一定のデータ・レートで送達されるように処理される。これには、読み取られた次のデータ部分が処理される前に、検出、内部コーディング、および外部デコードを完了する必要がある。したがって、検出器10およびデコーダ20の性能と複雑性との間の慎重なトレードオフが好ましい。
【0010】
最終的なCRC符号が未解決で残っているエラーを示す場合、入念な「オフ・ライン」データ回復手順が開始される。この手順は、一般に、オフ・ライン・モードと呼ばれる。次にオン・ザ・フライ・モードが中断され、デコード・サブシステム2のスループットが低下する。前述の信頼性要件は、障害宣言の前にすべてのデータ回復機能を使い尽くすことを必要とする。オフ・ライン・モードは、記録済みデータの再読み取りおよび再処理と共に、外部符号のいわゆる消去デコードを含むことができる。
【0011】
性能の向上は、検出器10、ポスト・プロセッサ30、外部インタリーブド符号、およびデコーダ20をより複雑にすることによって得られる。しかしながら、複雑性を増加させることは望ましくない。
【0012】
図4を参照すると、検出器10およびデコーダ20の性能は、少なくとも1つの外部インタリーブドECC符号語が正しくデコードされた場合、検出器10への外部デコードのフィードバック50によって向上させることができる。それぞれの正しいインタリーブド外部符号語について、インタリーブド・データ・ストリームにおける対応する位置のビットを、それらの正しい値または既知の値に固定または「ピン」することができる。この部分的に正しいデータ・ストリームを検出器10によって再処理することができる。
【0013】
正しいビットの場所および値を知ることによって、検出器10が追跡することになる可能なシーケンスの数を制限し、その結果、性能が向上する。これは、記録密度の高い主要なノイズが遷移またはメディア・ノイズであるデータ・ストレージ・システムの場合に、特に有用である。こうしたケースでは、多くの観察結果を平均することによってノイズのランダム性を活用することはできない。したがって、特定の場所での特定ビットの正確さに関する追加情報が有益である。外部インタリーブド・リード・ソロモン符号から内部重畳符号へのこうしたフィードバックを使用することが、E.Paaskeによる「Improved decoding for a concatenated coding system recommended by CCSDS」IEEE Trans.Commun.、第COM−38巻、1138〜1144ページ、1990年8月、ならびに、O.CollinsおよびM.Hizlanによる「Determinate state convolutional codes」IEEE Trans.Commun.、第41巻、12号、1785〜1794ページ、1993年12月の、ディープ・スペース適用例に提案される。データ・ストレージへのこの概念の適用例が、J.MillerおよびJ.K.Wolfによる「High code rate error correction code design for partial response systems」IEEE Trans.Magnetics、第37巻、2号、704〜707ページ、2001年3月に記載されており、ここでは内部データ検出器および外部インタリーブドRSコーディングのみが使用される。追加のビット・インタリーブ・ステップは、コーディング済みおよび未コーディングのユーザ・ビットを点在させる。訂正された外部符号語からのフィードバックが、未コーディング・ビットを回復する。しかしながら、こうした方式から入手可能な性能の向上には限りがある。次に図5を参照すると、データ・ストレージへのこの概念の他の適用例が、H.Sawaguchi、S.Mita、およびJ.K.Wolfによる「A concatenated coding technique for partial response channel」IEEE Trans.Magnetics、第37巻、2号、695〜703ページ、2001年3月に記載されている。ここでは、検出器10の入力からポスト・プロセッサ30へのフィード・フォワード・リンク40が順方向処理を提供する。ECCフィードバック50は、デコーダ20の出力から検出器に10に提供される。
【0014】
ポスト・プロセッサ30の従来の例が、R.D.Cideciyan、J.D.Coker、E.Eleftheriou、およびR.L.Galbraithによる「Noise predictive maximum likelihood detection combined with parity−based post−processing」IEEE Trans.Magnetics、第37巻、2号、714〜720ページ、2001年3月に記載されている。
【0015】
内部パリティ符号をデコードするための代替手法には、デコードと検出の組み合わせが含まれる。シーケンス検出およびパリティ符号トレリスを組み合わせて、結合「スーパー・トレリス」を形成することができる。検出およびデコードの組み合わせを実行するために、ビタービ・アルゴリズムを適用することができる。しかしながら、スーパー・トレリス内の状態の数は指数関数的に増加し、実施の複雑性は極端に高くなる。たとえば、mパリティ・ビットのパリティ符号と組み合わされたK度で生成されたパーシャル・レスポンス多項式用の検出器は、2^(K+m)状態のトレリスを必要とする。パリティ・ポスト・プロセッサは、デコードと検出を分離することによってこの問題を緩和する。
【0016】
ポスト・プロセッサ30および検出器10は、異なる動作をする。さらに、パリティ・ポスト・プロセッサ30の設計には、検出される主要なエラー・イベントの数、パリティ符号、チェックされる可能性が最も高いエラー・イベント・リストのサイズなどの、様々なパラメータの入念な選択が含まれる。
【非特許文献1】E.Paaskeによる「Improved decoding for a concatenated coding system recommended by CCSDS」IEEE Trans.Commun.、第COM−38巻、1138〜1144ページ、1990年8月
【非特許文献2】O.CollinsおよびM.Hizlanによる「Determinate state convolutional codes」IEEE Trans.Commun.、第41巻、12号、1785〜1794ページ、1993年12月
【非特許文献3】J.MillerおよびJ.K.Wolfによる「High code rate error correction code design for partial response systems」IEEE Trans.Magnetics、第37巻、2号、704〜707ページ、2001年3月
【非特許文献4】H.Sawaguchi、S.Mita、およびJ.K.Wolfによる「A concatenated coding technique for partial response channel」IEEE Trans.Magnetics、第37巻、2号、695〜703ページ、2001年3月
【発明の開示】
【発明が解決しようとする課題】
【0017】
データ・ストレージ・システム用のデコード・サブシステムの性能を向上させることが望ましい。
【課題を解決するための手段】
【0018】
本発明によれば、データ・ストレージ・システム内でデータをデコードするための方法が提供され、当該方法は、データ・ストレージ・システムのストレージ・サブシステムから受け取ったデータ・ブロックに基づいて、検出器によって出力ビット・ストリームを生成するステップと、出力ビット・ストリームおよびデータ・ブロックに基づいて、検出器に接続されたポスト・プロセッサによって第1のエラー訂正済みビット・ストリームを生成するステップと、第1のエラー訂正済みビット・ストリームに基づいて、ポスト・プロセッサに接続されたエラー訂正デコーダによって第2のエラー訂正済みビット・ストリームを生成するステップと、第2のエラー訂正済みビット・ストリームに基づいて、エラー訂正デコーダによってチェックサムを生成するステップと、を有し、さらに、チェックサムが第2のエラー訂正済みビット・ストリーム内のエラーを示し、第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、エラー訂正デコーダからポスト・プロセッサへ、第2のエラー訂正済みビット・ストリーム内の正しいビットの場所を示すピン設定データ(pinning data)を供給するステップと、ピン設定データに基づいて、ポスト・プロセッサによって第1のエラー訂正済みビット・ストリームを再生成するステップと、を有する。
【0019】
再生成するステップは、好ましくは、ピン設定データによって示される場所でビットを割り引く(discount)ステップを有する。ピン設定データは、第2のエラー訂正済みビット・ストリーム内の正しいビットの場所および値を示すことができる。当該方法は、チェックサムが第2のエラー訂正済みビット・ストリーム内のエラーを示し、第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、エラー訂正デコーダから検出器へピン設定データを供給するステップを有することができる。次に当該方法は、ピン設定データに基づいて、検出器によって出力ビット・ストリームを再生成するステップを有することができる。第1のエラー訂正済みビット・ストリームを再生成するステップは、ピン設定データおよび再生成された出力ストリームに基づいて実行することができる。
【0020】
消去デコードは、チェックサムが第2のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するためにエラー訂正デコーダ内で実行することができる。次にチェックサムは、第3のエラー訂正済みビット・ストリームに基づいて再生成される。別の方法として、消去デコードは、チェックサムが第2のエラー訂正済みビット・ストリーム内のエラーを示し、第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するために実行することができる。次にチェックサムは、第3のエラー訂正済みビット・ストリームに基づいて、再度再生成することができる。いずれのケースでも、再生成されたチェックサムが第3のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、ハード・エラーを信号通知することができる。
【0021】
本発明を他の態様から見ると、データ・ストレージ・システム内でデータをデコードするための装置が提供され、当該装置は、データ・ストレージ・システムのストレージ・サブシステムから受け取ったデータ・ブロックに基づいて、出力ビット・ストリームを生成するための検出器と、出力ビット・ストリームおよびデータ・ブロックに基づいて第1のエラー訂正済みビット・ストリームを生成するために、検出器に接続されたポスト・プロセッサと、第1のエラー訂正済みビット・ストリームに基づいて第2のエラー訂正済みビット・ストリームを生成するため、および第2のエラー訂正済みビット・ストリームに基づいてチェックサムを生成するために、ポスト・プロセッサに接続されたエラー訂正デコーダと、チェックサムが第2のエラー訂正済みビット・ストリーム内でエラーを示し、第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、エラー訂正デコーダからポスト・プロセッサへ、第2のエラー訂正済みビット・ストリーム内の正しいビットの場所を示すピン設定データを供給するための、フィードバック経路と、を備え、ポスト・プロセッサは、エラー訂正デコーダから受け取ったピン設定データに基づいて第1のエラー訂正済みビット・ストリームを再生成する。
【0022】
さらに当該装置は、ポスト・プロセッサの出力に接続された入力およびエラー訂正デコーダの入力に接続された出力を有する変調デコーダと、エラー訂正デコーダとポスト・プロセッサとの間のフィードバック経路内の変調エンコーダとを備える。
【0023】
本発明は、データ・ブロックをストレージ用にエンコードするためのエンコーダ・サブシステムと、エンコード済みデータ・ブロックをデータ・ストレージ・メディア上に書き込むため、およびエンコード済みデータ・ブロックをデータ・ストレージ・メディアから読み取るために、エンコーダ・サブシステムに接続されたストレージ・サブシステムと、エンコード済みデータ・ブロックをデコードするための本明細書で前述された装置を備えるデコード・サブシステムと、を備えるデータ・ストレージ・システムにも適用される。
【0024】
本発明は、磁気テープ・ドライブ、ディスク・ドライブなどのデータ・ストレージ・システムに関するデコード・サブシステムの性能を有利に向上させる。
【0025】
前述のように、データ・ストレージ・デコード・サブシステム技術には、内部コーディング方式にパリティ符号を含め、それらをデコードするためにポスト・プロセッサ30内でソフト決定パリティ・ベースの処理を使用する傾向がある。こうした方式の性能の向上を最大限にすることが、極めて望ましい。本発明の好ましい実施形態では、性能は、正しくデコードされた外部ECC符号語からポスト・プロセッサ30へフィードバックを提供することによって向上する。
【0026】
簡潔に説明される本発明の好ましい実施形態では、正しくデコードされた外部ECC符号語からのフィードバックと共に使用可能な、内部データ検出およびソフト決定パリティ・ベースのポスト処理のための方法が提供される。
【0027】
本発明の特に好ましい実施形態では、ポスト・プロセッサ30は、第2のパス時にECCフィードバック情報を受け入れるように修正される。具体的に言えば、正しいことがわかっているそれらのビット位置に少なくとも部分的に及ぶエラー・イベントは、考慮の対象から外される。この修正により、ポスト・プロセッサによって検討される可能性のあるエラー・イベント・リストが最適化され、その結果、性能が向上する。
【0028】
加えて、既知のビット位置のうちの少なくともいくつかに対応するエラー信号をゼロに設定するか、またはそうでなければ、第2のパスでの処理をさらに容易にするように有利に変更することもできる。
【0029】
本発明の利点は、外部ECCデコーダによって生成されるフィードバック情報のタイプおよび量を、柔軟に決定できることである。可能なことの1つが、正しいビット位置の場所および値の両方を提供することである。別の方法として、正しいビット位置の場所のみを供給することもできる。これにより、必要なフィードバックの量が大幅に削減される。検出器10が訂正済みビットの値も必要な形を取っている場合、この種の部分的なフィードバックでは不十分な可能性がある。しかしながら、ポスト・プロセッサ30は、受信機が個々のエラー・イベントについてエラー・イベントが最も発生しやすい場所として他の場所を選択できるようにするものであることから、ポスト・プロセッサ30では依然として部分的なフィードバックが有用である。ポスト・プロセッサ30によるパリティ・チェックと結合すると、性能における向上を実現することができる。
【0030】
提案された方式の他の利点は、ECCフィードバック情報を使用する検出器10で使用できることである。ポスト・プロセッサ30によって使用されるデータ・ストリームが検出器によっても事前に処理されていれば、ポスト・プロセッサ30にとって有利である。
【0031】
本発明は、オン・ザ・フライおよびオフ・ラインの両方のデコード・モードに適用可能である。これにより、性能、実施の複雑性、およびオペレーティング・モードの間での、柔軟な設計のトレードオフが可能である。複数の外部ECC符号が使用される場合、より詳細なフィードバック情報をポスト・プロセッサ30に提供することができる。したがって、性能におけるさらなる向上が可能である。
【0032】
次に、本発明の好ましい実施形態について、添付の図面を参照しながら単なる一例として説明する。
【発明を実施するための最良の形態】
【0033】
図6を参照すると、本発明を具体化するデータ・ストレージ・システムの一例において、デコード・サブシステム2は、検出器10、デコーダ20、およびパリティ・ベースのポスト・プロセッサ30を備える。検出器10の出力は、ポスト・プロセッサ30を介してデコーダ20の入力に接続される。フィード・フォワード経路40は、検出器10の入力からポスト・プロセッサ30へと延在する。フィードバック経路60は、デコーダ20からポスト・プロセッサ30へと延在する。ポスト・プロセッサ30は、フィードバック経路60を介してデコーダ20からフィードバックされたECCフィードバック情報を考慮に入れるように修正される。
【0034】
動作中、ポスト・プロセッサ30は、検出器10の出力で観察された主要なエラー・イベントを訂正する。ポスト・プロセッサ30は、通信理論の「1回限りの(one−shot)」受信機原理に基づくことができる。前述のCideciyan等の文献を参照されたい。検出される主要なエラー・イベントは、有色雑音の存在下で観察された「対象とされる(intended)メッセージ」として取り扱われる。ポスト・プロセッサ30は、それぞれの主要なエラー・イベントについて、別々の受信機を有する。各受信機の出力は、符号語内での対応するエラー・イベントの出現尤度およびその場所である。好ましい受信機は、雑音白色化フィルタとそれに続く整合フィルタとを備える。雑音白色化は、等化器の出力および検出器10によって生成されたビット決定事項から導出されたエラー信号上で実行される。本発明の好ましい実施形態では、受信機の出力が比較される。最も可能性の高いエラー・イベントが選択される。エラー・イベントの訂正によって内部パリティ・コードの制約が満たされることを確認するために、他のチェックを実行することができる。ポスト・プロセッサ30は、ここである利点を提供する。パリティ制約を満たした場合、検出されたデータ・ストリームは選択されたエラー・イベントに従って訂正される。そうでない場合、次に最も可能性の高いエラー・イベントがパリティ制約に関してチェックされる。このプロセスは、パリティ制約を満たすエラー・イベントが見つかるか、または可能性の高いエラー・イベントのリストがなくなるまで続けられる。
【0035】
動作中、デコード・サブシステム2によってストレージ・サブシステム3から読み取られるデータの各ブロックは、ブロックのデコードが成功したかどうかを判別するためにデコーダ20がCRCチェックサムを実行する第1のデコード・パスの対象となる。成功した場合、次のデータ・ブロックが読み取られる。成功しなかった場合、データ・ブロックの第2のデコード・パス用に、デコーダ20からポスト・プロセッサ30へフィードバック・リンク60を介して「ピン設定」フィードバック情報が戻される。
【0036】
本発明の他の実施形態では、デコーダ20から検出器10へと延在する追加のフィードバック経路50が提供される。
【0037】
いくつかのデータ・ストレージ・システムでは、エンコーダ・サブシステム1は、ユーザ・データのエンコードと、それに続くECCエンコードおよび先行する内部パリティ・エンコードのための、変調エンコーダを備える。したがって、次に図8を参照すると、本発明の他の実施形態では、ポスト・プロセッサ30の出力とデコーダ20の入力との間に変調デコーダ70が提供される。変調エンコーダ80は、デコーダ20からポスト・プロセッサ30および検出器10へのフィードバック経路内に提供される。デコーダ20からのフィードバックは、第2のパスにおけるポスト・プロセッサ30および検出器10での使用に先立って、変調エンコーダ80によって再エンコードされる。
【0038】
図9を参照すると、本発明の他の実施形態では、ポスト・プロセッサ30のみがデコーダ20からのECCフィードバック情報を受け取る。したがって、検出器10へのフィードバック経路50は省略される。これにより、検出器10は処理の第2のパスを実行しないため、実施の複雑性が削減される。
【0039】
次に、図6を参照しながら上記で説明したデコード・サブシステム2のオペレーションについて、図10を参照しながら説明する。ブロック100で、データ・ブロックが、ストレージ・サブシステム3からデコード・サブシステム2の検出器10へと読み取られる。ブロック120で、検出器10とポスト・プロセッサ30との組み合わせで、データ・ブロックから訂正済みビット・ストリームを生成する。ブロック130で、デコーダ20はエラー訂正を実行する。ブロック140で、デコーダ20はCRCチェックサムをテストする。
【0040】
CRCチェックサムがエラーなしを示す場合、ブロック210で、デコーダ20は第1の処理パスに続いてデコードが成功したものとしてデータ・ブロックを渡す。その後、次のデータ・ブロックがデコードのためにストレージ・サブシステム3から読み取られる。
【0041】
CRCチェックサムがエラーを示す場合、データ・ブロックの第2の処理パスが実行される。ブロック150で、デコーダ20は、少なくとも1つのインタリーブ・エラーが訂正されたかどうかを判別する。少なくとも1つのインタリーブ・エラーが訂正された場合、ブロック160で、デコーダ20は訂正済みデータからピン設定情報を抽出する。ピン設定情報は、データ・ブロック内の正しいビットの場所を有する。ピン設定情報は、デコーダ20により、フィードバック・リンク60を介してポスト・プロセッサ30に送られる。
【0042】
少なくとも1つのインタリーブ・エラーが訂正されなかった場合、デコード・サブシステム2はオフ・ライン・モードに入る。ブロック170で、デコーダ20は消去デコードを実行する。消去デコードに続いてブロック180で、デコーダはCRCチェックサムをテストする。
【0043】
チェックサムがエラーなしを示す場合、次にブロック210でデコーダ20は、ブロックのデコードが成功したことを示す。しかしながら、チェックサムがエラーを示した場合、ブロック200でデコーダ20は、すべての消去シフトが実行されたかどうかを判別する。すべての消去シフトが実行された場合、次にブロック220でデコーダは、ブロックのデコードが失敗した旨を決定する。ハード・エラーが戻される。消去デコードには、データ・ブロック内のビットを進むスイープ・アクションが含まれる。消去シフトが実行されたままである場合、ブロック190でデコーダ20は、少なくとも1つのインタリーブ・エラーが訂正されたかどうかを判別する。
【0044】
ここでも、少なくとも1つのインタリーブ・エラーが訂正された場合、ブロック160でデコーダ20は訂正済みデータからピン設定情報を抽出する。ここでも、ピン設定情報はデータ内の正しいビットの場所を有する。ピン設定情報は、デコーダ20によってフィードバック・リンク60を介してポスト・プロセッサ30へと再度送られる。ポスト・プロセッサ30は、受け取ったピン設定情報を考慮に入れるデータ・ブロックの他のパスを実行する。
【0045】
少なくとも1つのインタリーブ・エラーが訂正されなかった場合、次にブロック170で、デコーダ20は再度消去デコードを実行する。
【0046】
ピン設定情報を受け取ると、ポスト・プロセッサ30はステップ140から220へと続くデータ・ブロックの第2のパスを実行するが、ここでは、ピン設定情報が正しいものとして識別されたビットは除外する。ポスト・プロセッサ30が第2のパスで動作する場合、デコード・プロセスは、デコード・サブシステム2内の検出器10からの、等化器出力およびビット出力から導出されたデータ・サンプルを一時的に格納することを含む場合があることを理解されよう。
【0047】
本明細書で図10を参照しながら上記で説明したプロセスに基づいて、第1のパスの後で正しいことがわかっているビット位置に完全に含まれるエラーは、第2のパスでポスト・プロセッサ30によって考慮の対象から外される。正しいビット位置に部分的に位置するエラーも、ポスト・プロセッサ30によって外されることが可能である。この場合、隣接するビットにも影響を与える可能性がある。ピン設定情報は、ポスト・プロセッサ30に、これらの位置を以後の考慮の対象から除外させることができる。これにより、ポスト・プロセッサ30によって再検討される可能性のあるエラーの数が削減され、その結果、性能が強化される。
【0048】
図10を参照しながら上記で説明した本発明の例は、オン・ザ・フライおよびオフ・ラインの両方のモードに適用可能である。しかしながら、本発明のいくつかの実施形態は、オン・ザ・フライ・モードに限定することができる。同様に、本発明の他の実施形態は、オフ・ライン・モードに限定することができる。いくつかの適用例でオフ・ライン・モードに関連付けられた待ち時間要件は、同じ目標ハード・エラー率に対してブロックの再読み取り数を削減することができることから、本発明によって改善可能である。
【0049】
次に図11を参照すると、オフ・ラインのみの手順は、ブロック150での少なくとも1つのインタリーブ・エラーについてのテストを除き、図10を参照しながら上記で説明したものと同じステップを有する。
【0050】
図7を参照しながら上記で説明した本発明の実施形態では、検出器10はデコーダ20からもピン設定情報を受け取る。ここでピン設定情報は、正しいビットの値をさらに有する。この配置構成が、前述の一時格納ステップの簡略化を有利に可能にする。具体的に言えば、第1のパスに続いてデコーダ20からフィードバック経路50を介して受け取ったピン設定情報に基づいて検出されたビットの新しいセットを生成するために、検出器10が第2の処理パスも実行する場合、検出器10からのビット出力を格納する必要がない。正しいことがわかっている一部またはすべてのビット位置に対応するエラーは、ゼロに設定するか、またはそうでなければ検出器10内で有利に変更することが可能であり、これによってポスト・プロセッサ30内での第2のパスの処理が機能強化される。
【0051】
本発明は、処理データ・ブロック内の第2のパスでのポスト・プロセッサ30および検出器10の関与の程度に応じて、デコーダ20によって生成されるフィードバック情報のタイプおよび量を柔軟な様式で決定することが可能である。同様に、本発明は、ポスト・プロセッサ30および検出器10が第2のパスでの処理に参加する程度に基づいて、必要な一時格納の量を最適化することが可能である。検出器10あるいはポスト・プロセッサ30またはその両方による処理の第2のパスは残りのエラーの訂正が可能であり、それによって再読み取りの必要がなくなる。これにより、性能とスループットの両方が向上する。
【0052】
パイプライン化を採用して、本発明を具体化するデコーダ・サブシステム2のスループットをさらに向上させることができる。パイプライン化には、第2の検出器あるいは第2のポスト・プロセッサまたはその両方の使用が含まれる。第2の検出器あるいは第2のポスト・プロセッサまたはその両方は、第2のパスで採用される。その一方で、第1の検出器あるいは第1のポスト・プロセッサまたはその両方は、ストレージ・サブシステム3から読み取られたデータの次のブロックの処理を開始する。
【0053】
本発明の他の好ましい実施形態では、ピン設定情報がオフ・ライン・モードのみで使用される。デコード・サブシステム2がこのモードに入ると、記録されたデータの読み取りは延期される。したがって、リードバックされたデータを再処理するためにより多くの時間が利用できる。検出器10あるいはポスト・プロセッサ30またはその両方による第2の処理パスを、オフ・ライン・モードのみで実行することができる。これにより、実施の複雑性および待ち時間の両方が有利に削減される。しかしながらここでは、オン・ザ・フライ・モードでのオペレーション中は性能が強化されない。
【0054】
デコーダ20は、最も可能性の高いエラー・イベントのリストを維持することができる。ポスト・プロセッサ30によって、内部符号語内で複数のエラー・イベントを訂正することができる。その後、ポスト・プロセッサ30の出力を最終エラー訂正のためにデコーダ20に送ることができる。
【0055】
本発明は、磁気テープ・ドライブおよび光または磁気ディスク・ドライブを含む、多くの異なるデータ・ストレージ・システムに適用可能である。デコード・サブシステム2は、ハードワイヤード論理回路、1つまたは複数のプログラム可能プロセッサ上で実行するソフトウェア、あるいはハードワイヤードおよび論理回路と1つまたは複数のプログラム可能プロセッサ上で実行するソフトウェアとの組み合わせで実施可能であることを理解されよう。上記で説明した本発明の実施形態では、データはデコード・サブシステム2によってブロック単位で読み取られる。こうしたブロックは、ディスク上のセクタまたはテープ上の同様の部分に対応することが可能である。
【図面の簡単な説明】
【0056】
【図1】データ・ストレージ・システムを示すブロック図である。
【図2】データ・ストレージ・システム用の従来のデコード・サブシステムを示すブロック図である。
【図3】他の従来のデコード・サブシステムを示すブロック図である。
【図4】他の従来のデコード・サブシステムを示すブロック図である。
【図5】他の従来のデコード・サブシステムを示すブロック図である。
【図6】本発明を採用したデコード・サブシステムを示すブロック図である。
【図7】本発明を具体化する他のデコード・サブシステムを示すブロック図である。
【図8】本発明を具体化する他のデコード・サブシステムを示すブロック図である。
【図9】本発明を具体化する他のデコード・サブシステムを示すブロック図である。
【図10】図6に示されたデコード・サブシステムに対応する流れ図である。
【図11】図6に示されたデコード・サブシステムに対応する他の流れ図である。

【特許請求の範囲】
【請求項1】
データ・ストレージ・システムのストレージ・サブシステムから受け取ったデータ・ブロックに基づいて、検出器によって出力ビット・ストリームを生成するステップと、出力ビット・ストリームおよびデータ・ブロックに基づいて、前記検出器に接続されたポスト・プロセッサによって第1のエラー訂正済みビット・ストリームを生成するステップと、前記第1のエラー訂正済みビット・ストリームに基づいて、前記ポスト・プロセッサに接続されたエラー訂正デコーダによって第2のエラー訂正済みビット・ストリームを生成するステップと、前記第2のエラー訂正済みビット・ストリームに基づいて、前記エラー訂正デコーダによってチェックサムを生成するステップと、を有し、さらに、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、前記エラー訂正デコーダから前記ポスト・プロセッサへ、前記第2のエラー訂正済みビット・ストリーム内の正しいビットの場所を示すピン設定データを供給するステップと、前記ピン設定データに基づいて、前記ポスト・プロセッサによって前記第1のエラー訂正済みビット・ストリームを再生成するステップと、を有する、データ・ストレージ・システム内でデータをデコードするための方法。
【請求項2】
前記再生成するステップが、前記ピン設定データによって示された場所でビットを割り引くステップを有する、請求項1に記載の方法。
【請求項3】
前記ピン設定データが、前記第2のエラー訂正済みビット・ストリーム内の正しいビットの場所および値を示す、請求項1または2に記載の方法。
【請求項4】
前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、前記エラー訂正デコーダから前記検出器へ前記ピン設定データを供給するステップをさらに有する、請求項3に記載の方法。
【請求項5】
前記ピン設定データに基づいて、前記検出器によって前記出力ビット・ストリームを再生成するステップをさらに有する、請求項4に記載の方法。
【請求項6】
前記第1のエラー訂正済みビット・ストリームを再生成するステップが、前記ピン設定データおよび前記再生成された出力ストリームに基づいて実行される、請求項5に記載の方法。
【請求項7】
前記エラー訂正デコーダ内で、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するために消去デコードを実行するステップと、前記第3のエラー訂正済みビット・ストリームに基づいて前記チェックサムを再生成するステップと、を有する、前記請求項1から6のいずれかに記載の方法。
【請求項8】
前記エラー訂正デコーダ内で、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するために消去デコードを実行するステップと、前記第3のエラー訂正済みビット・ストリームに基づいて、前記チェックサムを再生成するステップと、を有する、請求項1から7のいずれかに記載の方法。
【請求項9】
前記再生成されたチェックサムが前記第3のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、ハード・エラーを信号通知するステップを有する、請求項7または8に記載の方法。
【請求項10】
データ・ストレージ・システムのストレージ・サブシステムから受け取ったデータ・ブロックに基づいて、出力ビット・ストリームを生成するための検出器と、前記出力ビット・ストリームおよび前記データ・ブロックに基づいて第1のエラー訂正済みビット・ストリームを生成するために、前記検出器に接続されたポスト・プロセッサと、前記第1のエラー訂正済みビット・ストリームに基づいて第2のエラー訂正済みビット・ストリームを生成するため、および前記第2のエラー訂正済みビット・ストリームに基づいてチェックサムを生成するために、前記ポスト・プロセッサに接続されたエラー訂正デコーダと、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内でエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、前記エラー訂正デコーダから前記ポスト・プロセッサへ、前記第2のエラー訂正済みビット・ストリーム内の正しいビットの場所を示すピン設定データを供給するためのフィードバック経路と、を備え、前記ポスト・プロセッサは、前記エラー訂正デコーダから受け取った前記ピン設定データに基づいて前記第1のエラー訂正済みビット・ストリームを再生成する、データ・ストレージ・システム内でデータをデコードするための装置。
【請求項11】
前記ポスト・プロセッサが、前記ピン設定データによって示された場所でビットを割り引くことによって前記第1のエラー訂正済みビット・ストリームを再生成する、請求項10に記載の装置。
【請求項12】
前記ピン設定データが、前記第2のエラー訂正済みビット・ストリーム内の正しいビットの場所および値を示す、請求項10または11に記載の装置。
【請求項13】
前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、前記エラー訂正デコーダから前記検出器へ前記ピン設定データを供給するために、前記フィードバック経路が前記エラー訂正デコーダから前記検出器まで延在する、請求項12に記載の装置。
【請求項14】
前記検出器が、前記ピン設定データに基づいて前記出力ビット・ストリームを再生成する、請求項13に記載の装置。
【請求項15】
前記ポスト・プロセッサが、前記ピン設定データおよび前記再生成された出力ストリームに基づいて前記第1のエラー訂正済みビット・ストリームを再生成する、請求項14に記載の装置。
【請求項16】
前記エラー訂正デコーダが、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するために消去デコードを実行し、前記第3のエラー訂正済みビット・ストリームに基づいて前記チェックサムを再生成する、請求項10から15のいずれかに記載の装置。
【請求項17】
前記エラー訂正デコーダが、前記チェックサムが前記第2のエラー訂正済みビット・ストリーム内のエラーを示し、前記第2のエラー訂正済みビット・ストリームが少なくとも1つの訂正インタリーブを有するイベントにおいて、第3のエラー訂正済みビット・ストリームを生成するために消去デコードを実行し、前記第3のエラー訂正済みビット・ストリームに基づいて、前記チェックサムを再生成する、請求項10から15のいずれかに記載の装置。
【請求項18】
前記再生成されたチェックサムが前記第3のエラー訂正済みビット・ストリーム内のエラーを示すイベントにおいて、前記エラー訂正デコーダがハード・エラーを信号通知する、請求項16または17に記載の装置。
【請求項19】
前記ポスト・プロセッサの出力に接続された入力および前記エラー訂正デコーダの入力に接続された出力を有する変調デコーダと、前記エラー訂正デコーダと前記ポスト・プロセッサとの間の前記フィードバック経路内の変調エンコーダと、をさらに備える、請求項10から18のいずれかに記載の装置。
【請求項20】
データ・ブロックをストレージ用にエンコードするためのエンコーダ・サブシステムと、前記エンコード済みデータ・ブロックをデータ・ストレージ・メディア上に書き込むため、および前記エンコード済みデータ・ブロックを前記データ・ストレージ・メディアから読み取るために、前記エンコーダ・サブシステムに接続されたストレージ・サブシステムと、前記エンコード済みデータ・ブロックをデコードするための請求項10から19のいずれかに記載の装置を備えるデコード・サブシステムと、を備える、データ・ストレージ・システム。

【図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

【図10】
image rotate

【図11】
image rotate


【公表番号】特表2007−513441(P2007−513441A)
【公表日】平成19年5月24日(2007.5.24)
【国際特許分類】
【出願番号】特願2006−530641(P2006−530641)
【出願日】平成16年5月6日(2004.5.6)
【国際出願番号】PCT/IB2004/001532
【国際公開番号】WO2004/107338
【国際公開日】平成16年12月9日(2004.12.9)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】