JP2001043636A - データ回復方法およびデータ記憶装置 - Google Patents
データ回復方法およびデータ記憶装置Info
- Publication number
- JP2001043636A JP2001043636A JP2000185994A JP2000185994A JP2001043636A JP 2001043636 A JP2001043636 A JP 2001043636A JP 2000185994 A JP2000185994 A JP 2000185994A JP 2000185994 A JP2000185994 A JP 2000185994A JP 2001043636 A JP2001043636 A JP 2001043636A
- Authority
- JP
- Japan
- Prior art keywords
- data
- read
- fragment
- data set
- codeword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
回復を向上させる。 【解決手段】 読み込み操作の際にデータが破壊される
かもしれないデータ記憶媒体に記憶されたホストデバイ
スからのユーザデータを回復させる方法であって、デー
タ記憶媒体からの複数の符号化されたデータ断片のうち
の少なくとも1つを読み込む読み込み操作を行うステッ
プと、その1つのデータ断片が正常に読み込まれたかど
うかを示すステータスデータを記憶するステップと、読
み込まれたデータ断片をバッファメモリに書き込むステ
ップと、バッファメモリ中のデータ断片を復号化するこ
とを試みるステップとを含み、もし試みられた復号化が
失敗した場合には、異常に読み込まれたデータ断片をデ
ータ記憶媒体から再読み込みするステップと、バッファ
メモリ内に置かれたデータ断片の復号化を試みるステッ
プとをさらに含む。
Description
び、限定されるものではないが特に、複数の符号化され
たデータ断片としてデータ記憶媒体に書かれたデータを
回復する方法に関する。
置に記憶されているデータが偶発的に消去等されないよ
うに、磁気テープのようなデータ記憶媒体にホスト装置
からのデータを記憶することがデータ記憶装置内で行わ
れることが知られている。データ記憶媒体にユーザのデ
ータを書き込む操作も、バックアップ操作として知られ
ている。データ記憶装置およびデータ記憶媒体を含む伝
統的なデータバックアップシステムでは、ユーザデータ
をコーディング(符号化)する符号化技術を用いること
が知られている。これは、データ記憶媒体にユーザデー
タを書き込む書き込み操作の際またはデータ記憶媒体に
書かれたデータを読み込む読み込み操作の際にエラーが
生じた場合に、ユーザデータを回復できるようにするた
めである。
体は、磁気テープデータ記憶媒体を含んでもよい。かか
る媒体の中では、細長いテープが引っ張られ、実質的に
静止または回転している読み込み/書き込み磁気ヘッド
機構を通過する。データは符号化され、微粒子磁気コー
ティングにおける磁化反転の順序として、データ記憶媒
体に記録される。
化方法は、たとえばデータ記憶媒体に関する書き込みま
たは読み込みの際にデータセットの一部が欠損または破
損された場合に、再び完全なデータを生成するために用
いることができる。しかしながら、どんな冗長符号化手
順にも、規定の長さのデータセットから回復できるデジ
タルデータの総バイト数に制限がある。
書き込みが正常に行われた後でも、データ記憶媒体から
データを読み戻す次の読み込み操作において、データの
破損が生じる虞がある。仮にデータ記憶媒体が細長い磁
気テープである場合、読み込み操作の際に、磁気テープ
から取り込まれるデータに破損を生じさせる数々のメカ
ニズムが存在する。読み込み操作の際にデータに破損を
生じさせるメカニズムの中には、以下のものが存在す
る。
化物がデータ記憶媒体と読み取りヘッドとの間の接触を
低下させ、読み込まれる信号が弱まったり間違えられた
りすること。
似信号を発生させる電気的なノイズまたは障害。
下に記す。まず、データ記憶装置は回転ドラム上に読み
込み/書き込みヘッドが据え付けられており、磁気テー
プデータ記憶媒体を斜めに横切る細長い磁気トラックを
複数の読み込みヘッドが連続してなぞっていけるように
傾斜がつけられている。また、データ記憶装置には、読
み込み操作中にデータの破損が生じた場合に総ての物理
的トラックを再度読むための機能が備えられている。
させるために再度総ての物理的なトラックを読むこと
は、データに多くの破損または読み間違いが生じている
場合には、著しくデータの回復を遅延させる。
憶装置をより正常かつ信頼性高く動作させるためには、
データ記憶媒体から読み込まれている破損または異常に
読み込まれたデータを回復させるより良い方法を開発す
ることが重要である。
において破損または異常に読み込まれたデータの回復を
向上させ、これに伴ってそのような機器の動作性を改善
することを目的とする。
の符号化されたデータ断片としてデータ記憶媒体に書き
込まれるデータを回復するための方法であって、前記デ
ータ記憶媒体から前記複数の符号化されたデータ断片の
うちの少なくとも1つのデータ断片を読み込む第1の読
み込み操作を行うステップと、前記少なくとも1つのデ
ータ断片が正常に読み込まれたかどうかを示す第1のス
テータスデータを記憶するステップと、前記少なくとも
1つのデータ断片が正常に読み込まれた場合には、前記
少なくとも1つの読み込まれたデータ断片をバッファメ
モリに書き込むステップと、前記バッファメモリの中の
前記少なくとも1つのデータ断片の復号化を試みるステ
ップと、試みられた前記復号化が失敗した場合には、前
記データ記憶媒体から前記少なくとも1つのデータ断片
を再読み込みする第2の読み込み操作を行うステップ
と、前記再読み込みされたデータ断片を復号化すること
を試みるステップと、前記再読み込みされたデータ断片
が前記少なくとも1つのデータ断片よりも誤ったバイト
が少ないときには、前記少なくとも1つのデータ断片に
前記再読み込みされたデータ断片を上書きするステップ
とを備える。
タ断片をバッファメモリに書き込む前記ステップにおい
ては、ヘッダデータの回復が成功した前記データ断片の
みが前記バッファメモリに書き込まれる。
C1符号語対が読み込まれたことを示すとともに、C1
復号化アルゴリズムによって訂正されたデータの破損し
たバイトの数を識別する。
読みこまれたデータ断片を再読み込みする前記ステップ
は、再読み込みされるべき異常に読み込まれたデータ断
片を少なくとも1つ含むデータセットの一端に読み込み
ヘッドを再配置することと、前記データセットの第1お
よび第2の端の間で前記読み込みヘッドを横切らせるこ
とによって前記データセットを再読み込みすることとを
含む。
領域データが正常に読み込まれたことを確認するために
前記少なくとも1つのデータ断片の中の冗長コーディン
グデータを使用するステップをさらに備える。
断片が前記第2の読み込み操作中に正常に読み込まれた
かどうかを示す第2のステータスデータを生成するステ
ップと、前記バッファメモリに記憶される対応するそれ
ぞれの前記データ断片よりも再読み込みされた前記少な
くとも1つのデータ断片の方が誤りバイトが少ないかど
うかを決定するために前記第2のステータスデータを前
記第1のステータスデータと比較するステップと、前記
再読み込みされた少なくとも1つのデータ断片が前記記
憶されたデータ断片よりも誤りバイトが少ない場合に
は、前記バッファメモリに前記再読み込みされたデータ
断片を記憶するステップとをさらに備える。
る前記ステップは好ましくは、第1の読み込み操作から
得られた最初の記憶されたデータ断片上に第2の読み込
み操作から得られた再読み込みされたデータ断片を上書
きすることを含む。
いて前記バッファメモリに既に書き込まれた前記データ
断片のヘッダ識別子データとは同じではないヘッダ識別
子データを有するデータ断片が前記第2の読み込み操作
中に読み込まれた場合には、前記第2の読み込み操作に
おいて読み込まれた前記データ断片を、前記ヘッダ識別
子データによって決定される前記バッファメモリ内の位
置に書き込む。
記少なくとも1つのデータ断片を復号化することを試み
るステップは、前記バッファメモリの中の少なくとも1
つのデータ断片に冗長復号化アルゴリズムを適用するこ
とを含む。
のサブデータセットとして前記バッファメモリの中に記
憶され、前記複数のサブデータセットはデータセットを
構成する。データ断片は符号語対を含む。
なくとも1つの符号化されたデータ断片を読み込むよう
に設定されうるデータ記憶装置において、前記データ記
憶媒体から前記符号化されたデータ断片を読み込む手段
と、少なくとも1つの復号化アルゴリズムを前記符号化
されたデータ断片に適用する手段と、符号化された前記
データ断片の復号化質基準に関するステータスデータを
記憶するように設定されうる第1の記憶領域と、復号化
された前記データ断片を記憶するよう設定されうる第2
の記憶領域とを備え、複数の符号化されたデータ断片と
して前記データ記憶媒体に書き込まれたデータを回復す
る操作を、前記データ記憶媒体から前記複数の符号化さ
れたデータ断片のうちの少なくとも1つのデータ断片を
読み込む第1の読み込み操作を実行することと、前記少
なくとも1つのデータ断片が正常に読み込まれたかどう
かを示す第1のステータスデータを記憶することと、前
記少なくとも1つのデータ断片が正常に読み込まれた場
合には、前記少なくとも1つの読み込まれたデータ断片
を前記第2の記憶領域に書き込むことと、前記第2の記
憶領域中の前記少なくとも1つのデータ断片の復号化を
試みることと、前記試みられた復号化が失敗した場合に
は、前記データ記憶媒体から前記少なくとも1つのデー
タ断片を再読み込みする第2の読み込み操作を実行する
ことと、前記再読み込みされたデータ断片を復号化する
ことを試みることと、前記少なくとも1つのデータ断片
よりも前記再読み込みされたデータ断片の方が誤ってい
るバイトが少ない場合には、前記第2の記憶領域内の前
記少なくとも1つのデータ断片に前記再読み込みされた
データ断片を上書きすることとによって為す。
ータ記憶媒体に書き込まれたデータを電気的な信号に変
換するように設計できる変換器と、前記読み込まれたデ
ータ断片から、前記複数の断片のうちの前記少なくとも
1つの読み込まれた断片の論理的位置を示すデータを回
復させる手段とを有する。
ムを適用する前記手段は、第1および第2のリード・ソ
ロモン冗長復号化アルゴリズムを適用するように設計し
得る。
れたデータ断片としてデータ記憶媒体に書き込まれてい
るデータセットを回復させるデータセット回復方法であ
って、前記データセットを構成する前記複数の符号化さ
れたデータ断片のうちの少なくとも1つを読み込むため
に前記データセットの読み込み操作を行うステップと、
前記データセットのデータ断片を記憶するために確保さ
れるバッファメモリの領域内に前記読み込まれた少なく
とも1つのデータ断片を記憶するステップと、前記少な
くとも1つのデータ断片の前記読み込み操作の質基準デ
ータを記憶装置内に記憶するステップと、前記バッファ
メモリ内に記憶される前記複数の断片を含むデータセッ
トを復号化するステップと、前記バッファメモリ内の前
記データセットを復号化する前記ステップが失敗する場
合には、異常に読み込まれた前記データセットのデータ
断片を前記データ記憶媒体から再読み込みする再読み込
み操作を実行するステップと、前記再読み込みされたデ
ータ要素が前記少なくとも1つのデータ断片よりも誤っ
たバイトが少ない場合には、前記少なくとも1つのデー
タ断片に前記バッファメモリ内の前記再読み込みされた
データ断片を上書きするステップとを含んで構成され
る。
されたデータ断片は冗長符号化された符号語対であり、
前記データセットは誤り訂正符号冗長符号化された複数
のサブデータセットを含み、前記バッファメモリ内の前
記データセットを復号化するステップは、誤り訂正符号
冗長復号化アルゴリズムを前記データセットを構成する
複数のサブデータセットのうちの各々のサブデータセッ
トに適用することと、前記複数のサブデータセットのう
ちのどのサブデータセットの復号化が成功したかを示す
位置データを記憶装置内に記憶することとを含む。
号化アルゴリズムは、リード・ソロモン冗長復号化アル
ゴリズムである。好ましくは、再読み込み操作を行う前
記ステップは、少なくとも1つの異常に読みこまれたデ
ータ断片を再読み込みすることと、前記少なくとも1つ
の再読み込みされたデータ断片を、前記バッファメモリ
に記憶される対応するそれぞれのより早いバージョンの
少なくとも1つの前記データ断片上に上書きすることと
を含む。
る、複数の正常に復号化されたサブデータセットの記憶
位置を記述する位置データを記憶するステップであり、
前記正常に復号化されたサブデータセットが前記バッフ
ァメモリにおける上書きから保護されるステップと、C
2冗長復号化アルゴリズムが前記完全なデータセットを
復号化するために機能できるまで、正常に読み込まれた
バージョンのデータ断片が、誤りを有しており記憶され
ているデータ断片上に上書きされるように、予め決定さ
れている回数分前記再読み込み操作を前記データセット
に繰り返すステップとをさらに備える。
ータ断片としてデータ記憶媒体に書き込まれたデータを
回復させるデータ回復方法であって、前記データ記憶媒
体から、複数の符号語対を含むデータセットを読み込む
ステップと、各々の前記符号語対のヘッダパリティデー
タをチェックするステップと、個々の前記符号語対に関
して、前記符号語対からC1冗長コーディングデータを
復号化し、前記C1冗長コーディングデータを、異常に
読み込まれた1または複数の符号語対を訂正するために
用いるステップと、前記C1冗長コーディングによって
訂正されたデータの破損したバイトの数を示す第1のス
テータスデータを記憶するステップと、前記データセッ
トの中の複数のサブデータセットのC2冗長データを復
号化するための冗長復号化アルゴリズムを適用するステ
ップと、前記データセット中のデータの失われたまたは
破損したバイトを再構築するために前記C2冗長符号化
されたデータを使用するステップと、前記C2訂正が前
記データセットを完全に訂正することに失敗する場合に
は、前記データセットからの個々の符号語対をデータ記
憶媒体から再読み込みするステップとを備える。
する前記ステップは、符号語対が回復されたかどうかを
示し、かつ前記符号語対内の誤ったバイトの数を示す前
記ステータスデータを読み込むことと、前記再読み込み
された符号語対が、より以前に行われた読み込み操作に
よって前記メモリ内に最初に記憶された前記同じ符号語
対よりも誤っているバイトが少ない場合には、前記以前
の符号語対に前記再読み込みされた符号語対が上書きさ
れることとを含み、符号語対がテープからの読み込みが
成功してC1復号化されたか否かを示すデータが第2の
ステータスデータとして記憶される。
れる態様について、例を用いて説明を行う。以下の記載
においては、本発明の理解を完全にするために、多数の
具体的な詳細が説明される。しかしながら、当技術分野
に精通した者(当業者)にとっては、かかる具体的詳細
に限定されることなく本発明を実施することができるこ
とは明らかである。また、公知の方法および構成につい
て記載していないのは、本発明を不必要にあいまいにす
るためではない。
等のホストデバイスからのデジタルデータを記憶するよ
うに構成できるデータ記憶装置を対象としている。特
に、本明細書に記載される特定の方法は、データ記憶媒
体から読み戻されたデータが埃または電気的な障害等の
ような環境的要因によって破損してしまうかもしれな
い、磁気テープデータ記憶装置のようなデータ記憶装置
に関する。
様に従うと、データの記憶および読み込みは、細長いテ
ープが磁気読み取り/書き込みヘッド機構に実質的に接
触している時に第1のリールと第2のリールとの間で細
長いテープを巻き取ることによって起こる。最適な態様
に従うと、読み込み/書き込みヘッド機構は実質的に静
止しており、データ記憶媒体に関するデータの書き込み
及び読み込みの双方は、正方向および逆方向のいずれに
細長いテープが巻かれる時に行うことができる。
細長い磁気テープを含むデータ記憶媒体に関してデータ
の読み込みおよび書き込みを行う実質的に静止した読み
込み/書き込みヘッドを有する記憶装置に限定されるも
のではないことが理解できるであろう。
M)のような記憶手段に記憶されているデータの論理的
レイアウトを例示する模式図である。図1に例示される
RAM内にて論理的に配置されているデータは、ユーザ
データの単一のデータセットを構成する。デジタルデー
タのストリームをデータ記憶媒体に書き込む書き込み操
作中には、最適な態様では、データのストリームは複数
のデータセットへと分割される。各々のデータセット1
000は404352バイトのユーザデータを含む。各
々のデータセット1000は、1024個の符号化され
たデータ断片へとさらに細かく分割される。符号化され
たデータ断片は、16カラム(列)のサブデータセット
1100〜1250としてメモリ装置内に論理的に配列
される符号語対として理解される。サブデータセットを
構成する各々のカラムはさらに、64個の符号化された
データ断片1101を含む。
って破損が生じたデータを訂正するために、ユーザデー
タは冗長情報を用いて符号化される。万一データ断片が
読み込みまたは書き込み処理中に破損した場合には、か
かる冗長情報を用いてデータの回復を行う。
号化アルゴリズム(C1冗長符号化として理解される)
が、54×468バイトの行列として論理的に構成され
たユーザデータのサブデータセットに適用される。第1
の冗長符号化アルゴリズムは、符号化されたサブデータ
セットの各々のロウ(行)の中の偶数が付された234
個のバイトに適用される。好ましくは、C1冗長符号化
を可能とする第1の冗長符号化アルゴリズムは、6バイ
トのコーディング情報を発生する(240,234,
7)のリード・ソロモン符号である。同じリード・ソロ
モン符号が次に、未符号化状態のサブデータセットの各
々のロウの中にある、奇数番号が付された残りの234
個の番号に適用される。これによって、さらに6バイト
のC1冗長コーディング情報が発生する。このようにし
て、符号化された各々のサブデータセット1100〜1
250の各々のロウは、C1符号語対(CCP)として
理解される、交互に配置された1対の符号語を含む。符
号化されたサブデータセットの第1のロウの偶数番号が
付されたバイトは、符号語対の第1の符号語を含み、対
応する奇数番号の付されたバイトは符号化されたサブデ
ータセットの第1のロウの符号語対の第2の符号語を形
成する。同様に、第2のC1符号語対は、サブデータセ
ットの第2ロウの奇数および偶数番号が付されたバイト
を符号化することによって形成される。このような処理
によって、54個のC1符号語対が各々のサブデータセ
ットごとに生成される。各々の符号語対は480バイト
の符号化長を有する。
情報の第2段階の冗長符号化は、16個の符号化された
サブデータセットになされる。第2の冗長符号化アルゴ
リズムは、C1符号化された符号語対の各々の54バイ
トのカラムに適用される。好ましくは、ユーザデータお
よびC1冗長情報双方に適用される第2の冗長符号化ア
ルゴリズムは、(64,54,11)のリード・ソロモ
ン冗長符号化アルゴリズムである。第2の冗長符号化ア
ルゴリズムは、さらに10バイトの冗長コーディング情
報を付加する。かかる情報は、C2冗長情報として理解
される。
論理的レイアウトを例示する模式図である。すなわち図
2は、図1に例示されているデータセットを構成する1
6のサブデータセットのうちの一つをさらに詳細に示す
図である。各々のサブデータセット200は、既述のよ
うに第1の冗長符号化アルゴリズムを用いて符号化され
た64個のロウのユーザデータブロックを含む。最初の
54個の連続して番号が付されているロウ0〜53は、
468バイトのユーザデータおよび対応するそれぞれの
12バイトのC1冗長情報を含む。ロウ54〜63は、
第2の冗長符号化アルゴリズムを既述のように用いるこ
とによって得られた冗長情報を含む。対応するそれぞれ
の最初のバイト(これは図2のカラム0・ロウ54に位
置する要素である)は、C2冗長情報の最初のバイトで
ある。このC2冗長情報の最初のバイトは、既述の第2
の冗長符号化アルゴリズムを図2の0番のカラムの中の
0番〜53番が付されたバイトに適用することによって
計算されたものである。図2の1番のカラムの54番〜
63番のバイトは、同様の方法で計算されたものであ
り、既述の第2の冗長符号化アルゴリズムを1番のカラ
ムの0番〜53番のバイトに適用することによって得ら
れる。これに対応する態様によって、2番のカラムの5
4番〜63番が付されたバイトは、第2の冗長符号化ア
ルゴリズムを、図2において例示されるデータの論理配
置における2番のカラムの0番〜53番のバイトに適用
することによって計算される。図2に例示される各々の
連続するカラムの54番〜63番のバイトは、第2の冗
長符号化アルゴリズムを、各々のカラムの対応するそれ
ぞれの0番〜53番のバイトに適用することによって計
算される。
正しい順序でデータセットを再度組み立てるためには、
符号語対1101のデータセットにおける論理的な位置
を識別することが重要である。符号語対は、対応するそ
れぞれの一意な整数の番号を、データセットの任意のロ
ウおよびカラムの中の符号語対の論理位置に応じてデー
タセットの中のおのおのの符号語対に割り当てることに
よって識別される。例を用いて説明すると、データセッ
トの論理アレイの中の0番のロウおよび0番のカラムを
占有する符号語対は、識別整数「0」を付与される。デ
ータセットにおける符号語対の論理位置を割り当てるた
めに用いられる整数番号は、「符号語対指名」として理
解される。データセット1000における符号語対の論
理位置は、各々の符号語対に関連付けられたヘッダ領域
に記憶される。
語対のためのそれぞれの対応するヘッダおよびC1冗長
コーディング情報の関係および構成を例示する模式図で
ある。
トにおける符号語対の位置を識別する整数番号を含んで
いる。符号語ヘッダは長さが32バイトである。言及す
ると、一単位として実行されるデジタル情報の8ビット
の順序付けられた1つの組である。最適な態様では、8
ビットのデジタル情報を含むバイトに関しては、ビット
0が最小桁(LSB)のビットであり、ビット7が最大
桁(MSB)のビットである。データセットの中の符号
語対に関する符号語ヘッダ情報を含むバイト480〜バ
イト511は、既述のように第1および第2の冗長符号
化アルゴリズムのいずれかが用いられて符号化されるこ
とはない。しかしながら、ユーザデータおよびC1冗長
コーディングデータに適用される冗長符号化とは全く別
のエラーチェックデータが符号語ヘッダには含まれる。
かかるエラーチェックデータは、読み込み操作中にヘッ
ダおよびステータスデータが正常に読み戻されているこ
とを確認するために用いられる。
に割り当てられる32バイトのデータをより詳細に例示
する模式図である。バイト480〜489は、データセ
ット中の符号語対の論理位置に関するデータを含む符号
語対ヘッダデータを記憶するために用いられる。表1
は、より詳細にCCPヘッダデータ400の構成を例示
する表である。
にデータセット中の符号語対を識別する。符号語識別子
領域は、好ましくは以下の4つの下位領域を含む。
1023を表し、図1に例示されるようにデータセット
中の符号語対の位置を識別するために用いられる。
たはC2冗長コーディングデータを含む符号語対のため
に0にセットされる。
上におけるデータの絶対的な位置を識別する番号の4つ
の最小桁のビットを格納するために用いられる。記憶装
置は読み込み操作に追随するためにデータセット1つ分
よりも多くの内容を記憶できるだけの十分な容量を有す
るであろうから、記憶装置の中の複数のデータセットの
うちのいずれに符号語対が対応しているかを識別できる
ようになることが必要である。各々のデータセットには
データ記憶媒体上における一意なデータセット番号が付
されている一方、最適な態様においては、符号語識別子
の12〜15のビットは、データセット番号の4つの最
小桁ビットを含むだけである。したがって、記憶装置内
の異なるデータセットを16個を上限として判別するこ
とが可能である。
00内のバイトの割り当てをより詳細に例示する模式図
である。符号語識別子バイトは、バイト480およびバ
イト481である。符号語ヘッダ400がデータ記憶媒
体から正常に読み込まれたかをチェックするために使わ
れる冗長データは、バイト488およびバイト489に
記憶される。
の冗長符号化されたデータセットを読み込む読み込み操
作中には、個々の符号語対はデータ記憶媒体から読み出
され、記憶装置に記憶される前にチェックされる。チェ
ックには、ヘッダ領域内に含まれたデータが読み込み操
作中に正常に回復されたことを確認するために、CCP
ヘッダデータ400内に符号化された冗長コーディング
データを使用する過程が含まれる。
置の操作の通常モードでの読み込み操作中における、少
なくとも1つのデータセットを構成する符号語対の回復
に含まれるステップを模式的に例示する。ステップ60
0では、読み込み操作中に少なくとも1つの符号語対
(CCP)がデータ記憶媒体から読み込まれる。読み込
み操作は、書き込まれたデータのトラックを含むデータ
記憶媒体をデータ記憶装置の読み込みヘッドを通過させ
て通すことを含んでいる。ステップ610では、CCP
ヘッダデータ400のバイト488〜489に含まれて
いるヘッダパリティデータがチェックされ、ヘッダが正
常にデータ記憶媒体から回復されており、それゆえ対応
する符号語対が正常に識別されているであろうことが確
認される。好ましくは、ヘッダパリティデータとして理
解されるヘッダ冗長データは、リード・ソロモン冗長符
号化アルゴリズムを使うことによって生成される。回復
された符号語対に関するデータがデータ記憶媒体から正
常に読み込まれたなら、ステップ620において、符号
語対のデータセット内における論理位置を探し出す、符
号語対識別子として理解される符号語対指名がCCPヘ
ッダデータ400から回復される。好ましくは、符号語
対指名は0〜1023の範囲内の整数である。
ルゴリズムが、データ記憶媒体上にて読み込みが成功し
たC1冗長符号化された符号語対に適用される。C1冗
長符号化としても理解される個々の符号語対の冗長符号
化は、破損さもなければ異常に読み込まれた、対応する
それぞれの符号語対の中のデータのバイトを訂正するた
めに用いられる。CCPデータヘッダ400が正常に回
復された各々の符号語対は、ステップ640においてバ
ッファメモリに書き込まれる。
またはバッファメモリの1つまたは複数の部分を構成す
る、データ記憶装置内のメモリの領域は、C1符号語対
が読み込まれていることと、C1冗長復号化アルゴリズ
ムによって訂正されたデータの破損したバイトの数とを
示すステータスデータを記憶するように構成されてい
る。ステップ650においては、1つのデータセットを
構成する複数の符号語対のうちの最後の符号語対が識別
され、バッファメモリに記憶されているデータの復号化
が続行される。好ましくは、冗長符号化されたデータの
復号化は、ROMまたはRAMであろう記憶装置に記憶
される指示の組み合わせに従って動作するプロセッサに
よってなされる。
ルゴリズムがメモリバッファ内に記憶されたデータセッ
トに適用される。C2冗長符号化は、図2に例示される
ように54バイトのユーザデータまたはC1冗長データ
を含む各々のカラムに適用される。図2に例示されるサ
ブデータセットの各々のカラムは、末尾に付加される、
対応するそれぞれの10バイトのC2冗長コーディング
データを有する。
復号化の最中には、C2冗長符号化するデータのバイト
は、データセットを構成する複数のサブデータセットの
それぞれの各々対応するカラムの中の、失われたまたは
破損したデータのバイトを再び作成するために用いられ
る。カラムの中の失われたまたは破損したデータのバイ
ト数が、C2冗長データを用いることによって回復が可
能であるバイト数よりも多い場合には、失われた符号語
対を含むサブデータセット全体は、完全であるとは判断
されない。
セットのうちの各々のサブデータセットが完全な場合に
は、ステップ670において、C1およびC2訂正され
た完全なデータセットはユーザに渡され、図6に例示さ
れるステップ600からステップ660全体がデータ記
憶媒体に記憶されている次のデータセットに対して繰り
返される。しかしながら、データセットを構成する複数
のサブデータセットのうちの少なくとも1つでも、C2
冗長復号化アルゴリズムおよび対応するそれぞれのC2
冗長コーディングデータを用いることによって回復可能
であるよりも多くの符号語対が破損または失われている
場合には、ステップ680において、データセットから
失われている符号語対を再度読み出すために回復アルゴ
リズムが呼び出される。
た、破損されているかさもなくば不完全な符号語対を回
復させるための回復アルゴリズムを模式的に例示する。
もし、最初の読み込み操作中に、たとえば既述のC1お
よびC2誤り訂正冗長符号化アルゴリズムを用いて訂正
可能であるよりも多くの符号語対が失われているかまた
は不完全であるがゆえに、完全なデータセットを回復さ
せることが不可能な場合には、ステップ700におい
て、ハードウエアまたはROMのようなメモリ中に保持
されたシステムソフトウエアとして実装されているコン
トローラから、再読み込みされるべきデータセットの始
点またはデータセットの終点に、データ記憶媒体に接触
している読み込みヘッドを再配置するための指示が出さ
れる。好ましくは、読み込みヘッドを通過したデータ記
憶媒体の正方向または逆方向のパス(pass)に沿っ
てデータセットは再読み込みされる。
ータ記憶媒体に記憶されている態様に従って、論理デー
タセットの第1および第2の端部の間を横切る。好まし
くは、データ記憶媒体は磁気テープデータ記憶媒体であ
る。しかしながら、当業者には、本発明が磁気テープデ
ータ記憶媒体を含むデータ記憶装置に限定されるもので
はないことが理解されるであろう。
憶媒体から再読み込みされる。ステップ710では、最
初の読み込み操作で読み込まれバッファメモリに記憶さ
れている符号語対が、バッファメモリ中の論理的に別個
の位置に記憶された符号語対ステータスバイトにアクセ
スすることによってチェックされる。
ータ記憶媒体から読み込まれ、CCPヘッダデータに記
憶されたヘッダ情報が回復される。ステップ720で
は、符号語対が回復されたか否かおよびC1復号化アル
ゴリズムを用いることによって訂正された誤っていたバ
イトの数を、ステータスデータが示す。符号語対をC1
冗長復号化する最中に訂正されたバイトの数は、C1冗
長復号化質基準(quality metrics,品
質距離)として理解される。
み込まれた符号語対が先の読み込み操作によってバッフ
ァに記憶された同じ符号語対よりも間違ったバイトが少
ないと識別された場合には、符号語対の最も新しいバー
ジョンがバッファメモリ中の先のバージョン上に上書き
される。同様に、符号語対が再読み込み操作中にデータ
記憶媒体から読み込まれ既述のようにC1復号化アルゴ
リズムを用いて復号され、かつ、同じ符号語識別子を有
する対応する符号語対が以前の読み込み操作中に回復さ
れない場合には、復号化された符号語対は、それぞれの
符号語識別子によって決定される位置へと、バッファメ
モリに書き込まれる。このようにして、最初の読み込み
操作中に破損さもなくば失われたC1符号語対は、引き
続き、再読み込み中に正常に復号されたバージョンの同
じ符号語対が上書きされる。
常にC2復号化されたサブデータセットの論理的な位置
は、サブデータセットマスクとして理解されるメモリの
領域内に記憶される。サブデータセットマスク内に記憶
されたそれらのサブデータセットは、引き続く再読み込
み操作中に維持され、上書きはされない。ステップ74
0では、再読み込み操作が完了した後に、C2冗長符号
化が繰り返される。
サブデータセットの単一のカラム内のデータの破損され
たバイト数がC2冗長符号化アルゴリズムによって回復
できる破損されたバイトの最大限の数よりも小さく、か
つデータセットを構成する総てのサブデータセットが各
々のサブデータセットの中の符号化された冗長データか
ら正常に回復されうるという理由によってデータセット
全体が回復可能である場合には、ステップ760で、デ
ータ記憶装置は通常の読み込み操作に復帰し、次のデー
タセットの読み込みを開始する。もし、データセットを
構成する複数のサブデータセット総てをC2復号化アル
ゴリズムによって回復可能とするには破損されていない
符号語ペアが不十分である場合には、最適な態様におい
ては、ステップ700および引き続くステップが繰り返
される。
読み込み操作が繰り返されることによって、C2冗長復
号化アルゴリズムが正常に機能することができる時点、
すなわち回復アルゴリズムが終了する時点まで正常に読
み込まれた符号語対を維持している間に、正常に読み込
まれたバージョンの同じ符号語対が、より多くの破損さ
れた符号語対上に累進的に上書きされる。そして、完全
なデータセットがユーザに渡され、読み込み操作は次の
データセットに取り掛かる。
モリ内に正常に読み込まれたデータを維持するように構
成されうるデータ記憶装置の構成を例示する模式図であ
る。たとえばデータ記憶媒体800は、たとえばコンピ
ュータのような第1の装置からのユーザデータを記憶す
るための書き込み操作の最中に2段階の冗長コーディン
グデータに基づいて符号化された符号語対をバックアッ
プ中に格納するように構成されうる磁気テープデータ記
憶媒体かもしれない。
媒体800に非常に近接して位置付けられている読み込
みヘッド機構810を用いる読み込み操作および再読み
込み操作中にデータ記憶媒体から符号語対を読み込むよ
うに構成することも好ましい。
号語対は、符号語クワッドリーダ(codeword
quad(CCQ) reader)820として理解
される読み込み装置によって処理される。ここで、符号
語クワッドという言葉は、符号語対の連結された対(c
oncatenated pair)のことをいう。符
号語クワッドリーダ820は、データ記憶媒体から読み
込まれた符号語対を検知するとともにCCPヘッダデー
タ400を回復するように設計することができる。読み
込み操作または再読み込み操作中に、正常に回復された
CCPヘッダデータ400を有する符号語対は第1の冗
長復号化手段830に送られる。第1の冗長復号化手段
830は、好ましくは、既述のようにC1誤り訂正冗長
符号化アルゴリズムを用いて符号化された符号語対を復
号するように設計される。
みチェインコントローラ840に送られる。もし、読み
込みチェインコントローラ840にヘッダデータが送ら
れたC1符号語対が正常に復号された場合には、読み込
みチェインコントローラ840はC1訂正ブロック83
0に、バッファメモリ880に回復されたC1符号語ペ
アを記憶するよう指示を出す。読み込みチェインコント
ローラ840は、読み込み操作または引き続く再読み込
み操作中にテープ800から読み込まれた回復後の符号
語対から完全なデータセットを構築することを試みるよ
うに構成されている。バッファメモリ880中の正常に
回復された符号語データの位置は、対応するそれぞれの
符号語対ヘッダデータ400の中に記憶されたデータセ
ット番号および符号語識別子データによって決定され
る。
40は、CCPステータスフラグ850として理解され
るメモリの他の領域にアクセスする。CCPステータス
フラグ850は、対応するそれぞれの符号語対がテープ
から正常に読み込まれておりC1復号化されているか否
かを示す、データセットを構成する複数の符号語対のう
ちの各々の符号語対のための対応するそれぞれのデータ
を記憶する。読み込み操作または再読み込み操作中に、
読み込みチェインコントローラ840はデータセット中
の各々の符号語対をチェックする。データセット中の総
ての符号語がデータ記憶媒体800から読み出されたと
きには、読み込みチェインコントローラ840は読み込
みコントローラ860に、単一のデータセットを構成す
る総ての符号語対が、個々の符号語対が正常にC1復号
化されたか否かを問わず読み込まれたことを知らせる。
け取ると、読み込みコントローラ860はC2訂正ブロ
ック870にバッファメモリ880に記憶されている符
号語対に対してC2訂正を行うことを試みるよう指示す
る。C2訂正ブロック870がバッファメモリ880の
内容に対してC2冗長復号化の実行を試みた後に、C2
訂正ブロック870は読み込みコントローラ860に、
データセットを構成する16のサブデータセットの各々
が正常にC2復号化されたか否かを知らせる。もし各々
のサブデータセットがC2訂正に成功した場合には、ユ
ーザに送られる前に、データは更なる処理のために送信
される。
ちの少なくとも1つでもC2訂正に失敗した場合には、
読み込みコントローラ860はデータ記憶装置駆動機構
に、目下処理されているデータセットを含むデータ記憶
媒体800の領域を再度読み込むことを指示する。読み
込みコントローラ860から駆動機構への指示は、読み
込みヘッド810がデータセットの始点に位置するよう
に、読み込みヘッド810を基準にしてデータ記憶媒体
800を再配置する指示を含んでも良い。また、読み込
みコントローラ860から駆動機構への指示は、バッフ
ァメモリ880に目下記憶されているデータセットが読
まれた位置まで逆方向にテープを読むことを開始させる
指示を含んでも良い。
トローラ860に与えられた、少なくとも一つのサブデ
ータセットがC2訂正に失敗した旨の指示に呼応して、
読み込みコントローラ860は最適なモードに沿った回
復アルゴリズムを呼び出す。
ータセットの読み込みの再試行に含まれる処理ステップ
を模式的に例示する。データセットを読み込む以前の読
み込み操作においては、既述のように第1および第2の
冗長復号化アルゴリズムを用いる復号化が成功したサブ
データセットは、サブデータセットマスクによって示さ
れる。
み込み操作中のデータ回復アルゴリズムを使用する際に
含まれる高度のステップは、以下に記載される通りであ
る。
読み込まれ、既述のように、CCPヘッドおよびステー
タス情報が回復され、C1およびC2復号化が試みられ
る。もしデータセットを構成するサブデータセットが少
なくとも1つでもC2復号化に失敗したら、最適な態様
に従って、再読み込み操作が開始される。
読み込まれる再読み込み操作が開始される。再読み込み
操作は、バッファメモリ880に記憶されている複製が
ちょうどC2復号化に失敗したデータ記憶媒体上のデー
タセットに限って行われる。バッファメモリ880に同
時に記憶されている他のデータセットは、再読み込みの
際に再び読み込まれることはない。再読み込み操作中に
は、サブデータセットの中に含まれており以前の読み込
み操作において読み込まれC2冗長復号化に失敗した、
異常に読み込まれた符号語対をバッファメモリ880内
にてオーバレイするように、ハードウエアおよびソフト
ウエアがセットアップされる。
み込み操作から得られた異常に読み込まれた符号語対の
オーバレイとを行うというこれらのステップは、C2冗
長復号化アルゴリズムを用いることによってデータセッ
トに含まれる総てのサブデータセットが訂正可能となる
まで繰り返される。再読み込みおよびオーバレイという
操作は、データセット中の総てのサブデータセットが正
常に復号化されるまで、または好ましくは、任意のデー
タセットに対して予め決定された回数分の再読み込み操
作が行われた後に異なる回復アルゴリズムが呼び出され
るまで、無期限に続く。
素が再読み込み操作中に行う一連の操作を例示する模式
図である。矢印は、或る下位要素から他の下位要素へと
送られる指示の方向を示す。また、その指示が送られる
順番は、各々の操作の上に、( )付きの番号で表されて
いる。もし少なくともひとつでもサブデータセットがC
2訂正に失敗すると、読み込みコントローラ860はデ
フォーマット再試行要求を読み込みチェインコントロー
ラ840に送る。
号化を用いることによって復号化が成功したデータセッ
トは、バッファメモリ880において維持される。そし
て、再読み込み操作中には、維持されたサブデータセッ
トの符号語対は、全く上書きされない。
々のサブデータセットの復号化がC2冗長復号化アルゴ
リズムを用いることによって成功したかどうか示すデー
タを記憶するランダムアクセスメモリの中の一組の記憶
位置である。再読み込み操作中には、読み込みチェイン
コントローラ840はC1復号化された符号語対をバッ
ファメモリ880に記憶するとともに、サブデータセッ
トマスクによって示されるように以前にC2復号化が成
功したサブデータセット中には再読み込みされた符号語
対が含まれないという制限下で、対応するそれぞれの符
号語対の古いバージョンを上書きする。以前にC2冗長
訂正に失敗したサブデータセットを完成するのに必要で
ある全ての符号語対が再読み込みされた場合には、読み
込みチェインコントローラ840は、読み込みコントロ
ーラ860にデフォーマット完了の指示を与える。読み
込みコントローラ860は、C2ブロックに、C2訂正
に以前に失敗したバッファメモリ880中のサブデータ
セットにC2訂正を試みるよう指示する。もしC2訂正
が再びサブデータセットについて失敗した場合には、読
み込みコントローラ860によってエラーマップが作成
され、読み込みチェインコントローラ840に新たなデ
フォーマット再試行指示が与えられる。
語対を含む16の冗長符号化されたサブデータセットに
分割された491520バイトのデータを含む、冗長符
号化されたユーザデータセットの構成を例示する模式図
である。
タセットを構成する冗長符号化されたユーザデータの構
成をより詳細に例示する模式図である。
たデータセットに従う、ユーザデータ、冗長コーディン
グ情報および符号語識別情報の関係と構成とを例示する
模式図である。
た符号語対ヘッダおよびステータスバイトの、メモリの
中における構成を例示する模式図である。
た符号語対ヘッダデータの構成をより詳細に例示する模
式図である。
対の読み込み及び訂正に含まれるステップの概要を模式
的に例示するブロック図である。
れたサブデータセットを維持し、読み込み操作中に破損
した符号語対を交換するアルゴリズムを模式的に例示す
るブロック図である。
によるデータ記憶媒体からの読み込み操作中に破壊され
た、符号語対の回復および交換のための装置の構成を模
式的に例示するブロック図である。
語対の回復に含まれるステップの概要を模式的に例示す
る図である。
う、破壊された符号語対を再読み込みするように設計さ
れうるデータ記憶装置の操作のモードを模式的に例示す
るブロック図である。
0 サブデータセット 400 CCPヘッダデータ 600,610,・・・680,700,710,・・
・760 ステップ 800 データ記憶媒体 830 第1の冗長復号化手段 840 読み込みチェインコントローラ 850 CCPステータスフラグ 860 読み込みコントローラ 870 C2訂正ブロック 880 バッファメモリ 1000 データセット 1101 符号語対。
Claims (13)
- 【請求項1】 複数の符号化されたデータ断片としてデ
ータ記憶媒体に書き込まれるデータを回復するための方
法であって、 前記データ記憶媒体から前記複数の符号化されたデータ
断片のうちの少なくとも1つのデータ断片を読み込む第
1の読み込み操作を行うステップと、 前記少なくとも1つのデータ断片が正常に読み込まれた
かどうかを示す第1のステータスデータを記憶するステ
ップと、 前記少なくとも1つのデータ断片が正常に読み込まれた
場合には、前記少なくとも1つの読み込まれたデータ断
片をバッファメモリに書き込むステップと、 前記バッファメモリの中の前記少なくとも1つのデータ
断片の復号化を試みるステップと、 試みられた前記復号化が失敗した場合には、前記データ
記憶媒体から前記少なくとも1つのデータ断片を再読み
込みする第2の読み込み操作を行うステップと、 前記再読み込みされたデータ断片を復号化することを試
みるステップと、 前記再読み込みされたデータ断片が前記少なくとも1つ
のデータ断片よりも誤ったバイトが少ないときには、前
記少なくとも1つのデータ断片に前記再読み込みされた
データ断片を上書きするステップとを備えるデータ回復
方法。 - 【請求項2】 請求項1に記載のデータ回復方法であっ
て、前記少なくとも1つのデータ断片をバッファメモリ
に書き込む前記ステップにおいては、ヘッダデータの回
復が成功した前記データ断片のみが前記バッファメモリ
に書き込まれるデータ回復方法。 - 【請求項3】 請求項1に記載のデータ回復方法であっ
て、前記ステータスデータは、C1符号語対が読み込ま
れたことを示すとともに、C1復号化アルゴリズムによ
って訂正されたデータの破損したバイトの数を識別する
データ回復方法。 - 【請求項4】 請求項1に記載のデータ回復方法であっ
て、 前記読み込み操作中にヘッダ領域データが正常に読み込
まれたことを確認するために前記少なくとも1つのデー
タ断片の中の冗長コーディングデータを使用するステッ
プをさらに備えるデータ回復方法。 - 【請求項5】 請求項1に記載のデータ回復方法であっ
て、 前記少なくとも1つのデータ断片が前記第2の読み込み
操作中に正常に読み込まれたかどうかを示す第2のステ
ータスデータを生成するステップと、前記バッファメモ
リに記憶される対応するそれぞれの前記データ断片より
も再読み込みされた前記少なくとも1つのデータ断片の
方が誤りバイトが少ないかどうかを決定するために前記
第2のステータスデータを前記第1のステータスデータ
と比較するステップと、 前記再読み込みされた少なくとも1つのデータ断片が前
記記憶されたデータ断片よりも誤りバイトが少ない場合
には、前記バッファメモリに前記再読み込みされたデー
タ断片を記憶するステップとをさらに備えるデータ回復
方法。 - 【請求項6】 請求項1に記載のデータ回復方法であっ
て、前記第1の読み込み操作において前記バッファメモ
リに既に書き込まれた前記データ断片のヘッダ識別子デ
ータとは同じではないヘッダ識別子データを有するデー
タ断片が前記第2の読み込み操作中に読み込まれた場合
には、 前記第2の読み込み操作において読み込まれた前記デー
タ断片を、前記ヘッダ識別子データによって決定される
前記バッファメモリ内の位置に書き込むデータ回復方
法。 - 【請求項7】 データ記憶媒体から少なくとも1つの符
号化されたデータ断片を読み込むように設定されうるデ
ータ記憶装置において、 前記データ記憶媒体から前記符号化されたデータ断片を
読み込む手段と、 少なくとも1つの復号化アルゴリズムを前記符号化され
たデータ断片に適用する手段と、 符号化された前記データ断片の復号化質基準に関するス
テータスデータを記憶するように設定されうる第1の記
憶領域と、 復号化された前記データ断片を記憶するよう設定されう
る第2の記憶領域とを備え、 複数の符号化されたデータ断片として前記データ記憶媒
体に書き込まれたデータを回復する操作を、 前記データ記憶媒体から前記複数の符号化されたデータ
断片のうちの少なくとも1つのデータ断片を読み込む第
1の読み込み操作を実行することと、 前記少なくとも1つのデータ断片が正常に読み込まれた
かどうかを示す第1のステータスデータを記憶すること
と、 前記少なくとも1つのデータ断片が正常に読み込まれた
場合には、前記少なくとも1つの読み込まれたデータ断
片を前記第2の記憶領域に書き込むことと、 前記第2の記憶領域中の前記少なくとも1つのデータ断
片の復号化を試みることと、 前記試みられた復号化が失敗した場合には、前記データ
記憶媒体から前記少なくとも1つのデータ断片を再読み
込みする第2の読み込み操作を実行することと、 前記再読み込みされたデータ断片を復号化することを試
みることと、 前記少なくとも1つのデータ断片よりも前記再読み込み
されたデータ断片の方が誤っているバイトが少ない場合
には、前記第2の記憶領域内の前記少なくとも1つのデ
ータ断片に前記再読み込みされたデータ断片を上書きす
ることとによって為すデータ記憶装置。 - 【請求項8】 請求項7に記載のデータ記憶装置であっ
て、前記読み込み手段は、 前記データ記憶媒体に書き込まれたデータを電気的な信
号に変換するように設計できる変換器と、 前記読み込まれたデータ断片から、前記複数の断片のう
ちの前記少なくとも1つの読み込まれた断片の論理的位
置を示すデータを回復させる手段とを有するデータ記憶
装置。 - 【請求項9】 第1の複数の符号化されたデータ断片と
してデータ記憶媒体に書き込まれているデータセットを
回復させるデータセット回復方法であって、 前記データセットを構成する前記複数の符号化されたデ
ータ断片のうちの少なくとも1つを読み込むために前記
データセットの読み込み操作を行うステップと、 前記データセットのデータ断片を記憶するために確保さ
れるバッファメモリの領域内に前記読み込まれた少なく
とも1つのデータ断片を記憶するステップと、 前記少なくとも1つのデータ断片の前記読み込み操作の
質基準データを記憶装置内に記憶するステップと、 前記バッファメモリ内に記憶される前記複数の断片を含
むデータセットを復号化するステップと、 前記バッファメモリ内の前記データセットを復号化する
前記ステップが失敗する場合には、異常に読み込まれた
前記データセットのデータ断片を前記データ記憶媒体か
ら再読み込みする再読み込み操作を実行するステップ
と、 前記再読み込みされたデータ要素が前記少なくとも1つ
のデータ断片よりも誤ったバイトが少ない場合には、前
記少なくとも1つのデータ断片に前記バッファメモリ内
の前記再読み込みされたデータ断片を上書きするステッ
プとを含んで構成されるデータセット回復方法。 - 【請求項10】 請求項9に記載のデータセット回復方
法であって、 前記少なくとも1つの符号化されたデータ断片は冗長符
号化された符号語対であり、 前記データセットは誤り訂正符号冗長符号化された複数
のサブデータセットを含み、 前記バッファメモリ内の前記データセットを復号化する
ステップは、 誤り訂正符号冗長復号化アルゴリズムを前記データセッ
トを構成する複数のサブデータセットのうちの各々のサ
ブデータセットに適用することと、 前記複数のサブデータセットのうちのどのサブデータセ
ットの復号化が成功したかを示す位置データを記憶装置
内に記憶することとを含むデータセット回復方法。 - 【請求項11】 請求項9に記載されるデータセット回
復方法であって、 前記データセットを構成する、複数の正常に復号化され
たサブデータセットの記憶位置を記述する位置データを
記憶するステップであり、前記正常に復号化されたサブ
データセットが前記バッファメモリにおける上書きから
保護されるステップと、 C2冗長復号化アルゴリズムが前記完全なデータセット
を復号化するために機能できるまで、正常に読み込まれ
たバージョンのデータ断片が、誤りを有しており記憶さ
れているデータ断片上に上書きされるように、予め決定
されている回数分前記再読み込み操作を前記データセッ
トに繰り返すステップとをさらに備えるデータセット回
復方法。 - 【請求項12】 複数の符号化されたデータ断片として
データ記憶媒体に書き込まれたデータを回復させるデー
タ回復方法であって、 前記データ記憶媒体から、複数の符号語対を含むデータ
セットを読み込むステップと、 各々の前記符号語対のヘッダパリティデータをチェック
するステップと、 個々の前記符号語対に関して、前記符号語対からC1冗
長コーディングデータを復号化し、前記C1冗長コーデ
ィングデータを、異常に読み込まれた1または複数の符
号語対を訂正するために用いるステップと、 前記C1冗長コーディングによって訂正されたデータの
破損したバイトの数を示す第1のステータスデータを記
憶するステップと、 前記データセットの中の複数のサブデータセットのC2
冗長データを復号化するための冗長復号化アルゴリズム
を適用するステップと、 前記データセット中のデータの失われたまたは破損した
バイトを再構築するために前記C2冗長符号化されたデ
ータを使用するステップと、 前記C2訂正が前記データセットを完全に訂正すること
に失敗する場合には、前記データセットからの個々の符
号語対をデータ記憶媒体から再読み込みするステップと
を備えるデータ回復方法。 - 【請求項13】 請求項12に記載のデータ回復方法で
あって、個々の符号語対を再読み込みする前記ステップ
は、 符号語対が回復されたかどうかを示し、かつ前記符号語
対内の誤ったバイトの数を示す前記ステータスデータを
読み込むことと、 前記再読み込みされた符号語対が、より以前に行われた
読み込み操作によって前記メモリ内に最初に記憶された
前記同じ符号語対よりも誤っているバイトが少ない場合
には、前記以前の符号語対に前記再読み込みされた符号
語対が上書きされることとを含み、 符号語対がテープからの読み込みが成功してC1復号化
されたか否かを示すデータが第2のステータスデータと
して記憶されるデータ回復方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP99305079A EP1067547A1 (en) | 1999-06-28 | 1999-06-28 | Data set recovery by codeword overlay |
EP99305079.8 | 1999-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001043636A true JP2001043636A (ja) | 2001-02-16 |
JP3405712B2 JP3405712B2 (ja) | 2003-05-12 |
Family
ID=8241478
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000185994A Expired - Fee Related JP3405712B2 (ja) | 1999-06-28 | 2000-06-21 | データ回復方法およびデータ記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6640326B1 (ja) |
EP (1) | EP1067547A1 (ja) |
JP (1) | JP3405712B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186572A (ja) * | 2007-01-30 | 2008-08-14 | Internatl Business Mach Corp <Ibm> | データ・ストレージ・テープ・フォーマット内の符号語対ヘッダのエラー訂正する方法、システム及びプログラム |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6978414B2 (en) * | 2001-07-17 | 2005-12-20 | Hewlett-Packard Development Company, L.P. | Method and apparatus for protecting against errors occurring in data storage device buffers |
US7042667B2 (en) * | 2001-07-31 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Data storage |
US6958873B2 (en) * | 2001-07-31 | 2005-10-25 | Hewlett-Packard Development Company, L.P. | Data rewrite control in data transfer and storage apparatus |
US20060242450A1 (en) * | 2005-04-11 | 2006-10-26 | Li-Lien Lin | Methods and apparatuses for selectively rebuffering and decoding a portion of a data block read from an optical storage medium |
KR101202537B1 (ko) | 2006-05-12 | 2012-11-19 | 애플 인크. | 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩 |
US8239735B2 (en) | 2006-05-12 | 2012-08-07 | Apple Inc. | Memory Device with adaptive capacity |
CN103280239B (zh) | 2006-05-12 | 2016-04-06 | 苹果公司 | 存储设备中的失真估计和消除 |
US7975192B2 (en) | 2006-10-30 | 2011-07-05 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
WO2008111058A2 (en) | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US8311990B2 (en) * | 2007-04-16 | 2012-11-13 | Michael Martinek | Fragmented data file forensic recovery system and method |
WO2008139441A2 (en) | 2007-05-12 | 2008-11-20 | Anobit Technologies Ltd. | Memory device with internal signal processing unit |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
US8527819B2 (en) | 2007-10-19 | 2013-09-03 | Apple Inc. | Data storage in analog memory cell arrays having erase failures |
KR101509836B1 (ko) | 2007-11-13 | 2015-04-06 | 애플 인크. | 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택 |
US8225181B2 (en) * | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8456905B2 (en) * | 2007-12-16 | 2013-06-04 | Apple Inc. | Efficient data storage in multi-plane memory devices |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8493783B2 (en) | 2008-03-18 | 2013-07-23 | Apple Inc. | Memory device readout using multiple sense times |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US8035909B2 (en) * | 2008-06-11 | 2011-10-11 | Seagate Technology Llc | Coding technique for correcting media defect-related errors and random errors |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US7965463B2 (en) * | 2009-01-09 | 2011-06-21 | International Business Machines Corporation | Recording multiple codeword sets during latency period |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) * | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8005798B2 (en) * | 2009-04-30 | 2011-08-23 | International Business Machines Corporation | Method and apparatus for partial data set recovery |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
WO2011087500A1 (en) * | 2010-01-14 | 2011-07-21 | Hewlett-Packard Development Company, L.P. | Recovery procedure for a data storage system |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8493781B1 (en) | 2010-08-12 | 2013-07-23 | Apple Inc. | Interference mitigation using individual word line erasure operations |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US8504893B1 (en) * | 2010-09-30 | 2013-08-06 | Micron Technology, Inc. | Error detection or correction of a portion of a codeword in a memory device |
US8910012B2 (en) * | 2012-10-16 | 2014-12-09 | International Business Machines Corporation | Block-interleaved and error correction code (ECC)-encoded sub data set (SDS) format |
US9053748B2 (en) * | 2012-11-14 | 2015-06-09 | International Business Machines Corporation | Reconstructive error recovery procedure (ERP) using reserved buffer |
US8793552B2 (en) | 2012-11-14 | 2014-07-29 | International Business Machines Corporation | Reconstructive error recovery procedure (ERP) for multiple data sets using reserved buffer |
US8869011B2 (en) * | 2013-01-03 | 2014-10-21 | International Business Machines Corporation | Unequal error protection scheme for headerized sub data sets |
US8810944B1 (en) | 2013-07-16 | 2014-08-19 | International Business Machines Corporation | Dynamic buffer size switching for burst errors encountered while reading a magnetic tape |
US9141478B2 (en) | 2014-01-07 | 2015-09-22 | International Business Machines Corporation | Reconstructive error recovery procedure (ERP) using reserved buffer |
US9582360B2 (en) | 2014-01-07 | 2017-02-28 | International Business Machines Corporation | Single and multi-cut and paste (C/P) reconstructive error recovery procedure (ERP) using history of error correction |
US9666225B2 (en) * | 2015-10-26 | 2017-05-30 | International Business Machines Corporation | Efficient recovery of the codeword interleave address |
US10241856B2 (en) * | 2016-09-09 | 2019-03-26 | Oracle International Corporation | Memory quarantine |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3638185A (en) * | 1969-03-17 | 1972-01-25 | Precision Instr Co | High-density permanent data storage and retrieval system |
US3657707A (en) * | 1969-03-17 | 1972-04-18 | Precision Instr Co | Laser recording system with both surface defect and data error checking |
US4435762A (en) * | 1981-03-06 | 1984-03-06 | International Business Machines Corporation | Buffered peripheral subsystems |
JPH0447568A (ja) * | 1990-06-15 | 1992-02-17 | Teac Corp | 磁気テープ装置におけるデータ読み取り方法 |
US5349481A (en) * | 1993-06-10 | 1994-09-20 | Exabyte Corporation | Apparatus and method for distorted track data recovery by rewinding and re-reading the tape at a slower than nominal speed |
US5619384A (en) * | 1994-01-25 | 1997-04-08 | Storage Technology Corporation | System for providing transparent storage of data embedded within predefined recording formats |
US5467361A (en) * | 1994-06-20 | 1995-11-14 | International Business Machines Corporation | Method and system for separate data and media maintenance within direct access storage devices |
US5991911A (en) * | 1997-11-14 | 1999-11-23 | Cirrus Logic, Inc. | Concurrent generation of ECC error syndromes and CRC validation syndromes in a DVD storage device |
US6272659B1 (en) * | 1998-05-18 | 2001-08-07 | Cirrus Logic, Inc. | Error correction code processor employing adjustable correction power for miscorrection minimization |
-
1999
- 1999-06-28 EP EP99305079A patent/EP1067547A1/en not_active Withdrawn
-
2000
- 2000-05-30 US US09/580,453 patent/US6640326B1/en not_active Expired - Lifetime
- 2000-06-21 JP JP2000185994A patent/JP3405712B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008186572A (ja) * | 2007-01-30 | 2008-08-14 | Internatl Business Mach Corp <Ibm> | データ・ストレージ・テープ・フォーマット内の符号語対ヘッダのエラー訂正する方法、システム及びプログラム |
US8196019B2 (en) | 2007-01-30 | 2012-06-05 | International Business Machines Corporation | Error correction in codeword pair headers in a data storage tape format |
Also Published As
Publication number | Publication date |
---|---|
US6640326B1 (en) | 2003-10-28 |
JP3405712B2 (ja) | 2003-05-12 |
EP1067547A1 (en) | 2001-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3405712B2 (ja) | データ回復方法およびデータ記憶装置 | |
US6661591B1 (en) | Disk drive employing sector-reconstruction-interleave sectors each storing redundancy data generated in response to an interleave of data sectors | |
US6687850B1 (en) | Disk drive for storing sector-reconstruction sectors and for storing a sector-reconstruction status in sectors distributed around a disk | |
EP1125294B1 (en) | Multi-level error detection and correction technique for data storage recording device | |
JP4397456B2 (ja) | データ記憶装置における書込み時読取り方法 | |
US6891690B2 (en) | On-drive integrated sector format raid error correction code system and method | |
KR0163566B1 (ko) | 에러 정정 방법 | |
US5757824A (en) | Code error correction apparatus | |
JP3663377B2 (ja) | データ記憶装置、読み出しデータの処理装置および読み出しデータの処理方法 | |
US5185746A (en) | Optical recording system with error correction and data recording distributed across multiple disk drives | |
US9489260B1 (en) | Flexible super block sizing for failed sector recovery | |
US7178086B2 (en) | Direct partial update of CRC/ECC check bytes | |
KR100537577B1 (ko) | 스트리밍 오디오비주얼 데이터를 디스크 드라이브에기록하는 방법 | |
US5265104A (en) | Data storage system including redundant storage devices | |
US4847705A (en) | Method and apparatus for encoding magnetic disk sector addresses | |
JP2002528839A (ja) | データ記憶装置のための書換え方法及び装置 | |
US6769088B1 (en) | Sector-coding technique for reduced read-after-write operations | |
JP4140344B2 (ja) | 復号化装置及びコンピュータプログラム | |
US10854239B1 (en) | Adaptive-rate error correction layer for tape storage | |
EP1069569A2 (en) | Data set recovery by codeword overlay | |
US5153879A (en) | Optical recording system | |
US6615384B1 (en) | Encoding/decoding method and apparatus and disk storage device | |
JP2664267B2 (ja) | 符号誤り訂正装置 | |
JP2779540B2 (ja) | 磁気テープ装置 | |
JP2633924B2 (ja) | 磁気記録再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090307 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090307 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100307 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100307 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110307 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |