JPH08321138A - デジタル・データを格納する方法 - Google Patents
デジタル・データを格納する方法Info
- Publication number
- JPH08321138A JPH08321138A JP8082211A JP8221196A JPH08321138A JP H08321138 A JPH08321138 A JP H08321138A JP 8082211 A JP8082211 A JP 8082211A JP 8221196 A JP8221196 A JP 8221196A JP H08321138 A JPH08321138 A JP H08321138A
- Authority
- JP
- Japan
- Prior art keywords
- data
- parity
- block
- storage medium
- data storage
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004364 calculation method Methods 0.000 claims abstract description 43
- 238000013500 data storage Methods 0.000 claims description 97
- 230000002950 deficient Effects 0.000 claims description 25
- 230000003287 optical effect Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 4
- 208000011580 syndromic disease Diseases 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001681 protective effect Effects 0.000 description 2
- 238000011109 contamination Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
(57)【要約】
【課題】 データの損失に対して安定性/信頼性を高め
たデジタル・データ記憶装置を提供する。 【解決手段】 デジタル・データは、データ項目の指定
ブロックに対するパリティ・ブロックを生成し、パリテ
ィ・ブロックをDASD上の選択位置に格納することに
よってDASDに格納される。パリティ・ブロックは、
パリティ・ルーチンを対応データに適用することによっ
て計算されたパリティ計算を含む。パリティ・ブロック
はまた、(1)対応データ・ブロックのサイズ、または
(2)パリティ計算にかかわったデータ項目数のいずれ
かを示すパリティ・コードを含む。パリティ・ブロック
は対応データに隣接して、もしくは独立位置に格納でき
る。本発明は特に、データの損失に対して安定性/信頼
性を大幅に高め、データ格納の柔軟性と効率を改良す
る。
たデジタル・データ記憶装置を提供する。 【解決手段】 デジタル・データは、データ項目の指定
ブロックに対するパリティ・ブロックを生成し、パリテ
ィ・ブロックをDASD上の選択位置に格納することに
よってDASDに格納される。パリティ・ブロックは、
パリティ・ルーチンを対応データに適用することによっ
て計算されたパリティ計算を含む。パリティ・ブロック
はまた、(1)対応データ・ブロックのサイズ、または
(2)パリティ計算にかかわったデータ項目数のいずれ
かを示すパリティ・コードを含む。パリティ・ブロック
は対応データに隣接して、もしくは独立位置に格納でき
る。本発明は特に、データの損失に対して安定性/信頼
性を大幅に高め、データ格納の柔軟性と効率を改良す
る。
Description
【0001】
【発明の属する技術分野】本発明は、デジタル・データ
を各種の直接アクセス・データ記憶媒体に格納すること
に関し、特に格納されるデータのパリティ・ブロックを
生成し、データとパリティ・ブロックをデータ記憶媒体
上の選択された位置に格納する方法及び装置に関する。
これは損失に対するデータの信頼性/安定性を大きく高
める。
を各種の直接アクセス・データ記憶媒体に格納すること
に関し、特に格納されるデータのパリティ・ブロックを
生成し、データとパリティ・ブロックをデータ記憶媒体
上の選択された位置に格納する方法及び装置に関する。
これは損失に対するデータの信頼性/安定性を大きく高
める。
【0002】
【従来の技術】様々なアプリケーションでパリティ方式
が用いられている。パリティ情報は一般に、電話回線等
を転送されるデジタル・データに伴う。パリティはまた
RAID(redundant arrays of inexpensive disks)
を用いたアプリケーションにも用いられる。また、これ
までパリティは、読出し専用の光学式媒体で、エラー・
チェックやエラー訂正の手法と共に用いられることもあ
る。
が用いられている。パリティ情報は一般に、電話回線等
を転送されるデジタル・データに伴う。パリティはまた
RAID(redundant arrays of inexpensive disks)
を用いたアプリケーションにも用いられる。また、これ
までパリティは、読出し専用の光学式媒体で、エラー・
チェックやエラー訂正の手法と共に用いられることもあ
る。
【0003】"パリティ"とは、デジタル・データを基に
したデジタル・パリティ情報の計算をいう。パリティ情
報は、デジタル・データのエラー・フリー転送を支援す
るために、あるいはデジタル・データを、一部が失われ
た場合に復元するために使用できる。
したデジタル・パリティ情報の計算をいう。パリティ情
報は、デジタル・データのエラー・フリー転送を支援す
るために、あるいはデジタル・データを、一部が失われ
た場合に復元するために使用できる。
【0004】通常パリティは、データをモデム等を通し
て転送するために用いられるが、コンピュータはまた様
々なパリティ方式を採用して、デジタル・データをデジ
タル・データ磁気ディスクに格納する。このようなシス
テムでは通常、データ・セクタとは別の物理表面や別の
ディスク・ドライブにパリティ・セクタがあり、データ
・セクタとパリティ・セクタの位置の間には一定の関係
がある。
て転送するために用いられるが、コンピュータはまた様
々なパリティ方式を採用して、デジタル・データをデジ
タル・データ磁気ディスクに格納する。このようなシス
テムでは通常、データ・セクタとは別の物理表面や別の
ディスク・ドライブにパリティ・セクタがあり、データ
・セクタとパリティ・セクタの位置の間には一定の関係
がある。
【0005】コンピュータではまた、光学式データ記憶
媒体にパリティが採用されることも知られている。しか
しこれは不要である場合が少なくない。光ディスクの多
くは、光ディスクの破損や汚染を防ぐための保護ケース
内に収容されるからである。しかしそれでも現在、多く
の光ディスクが保護ケースのないまま作られている。音
楽用コンパクト・ディスク(CD)のように、保護され
ていないこのような光ディスクは、埃、飛沫、指紋等に
よって汚れやすく、掻き傷、かすり傷等、機械的破損も
受けやすい。また、光ディスクの記憶容量が数百万バイ
トを超えると、バイト欠陥が生じる可能性も大きくな
る。
媒体にパリティが採用されることも知られている。しか
しこれは不要である場合が少なくない。光ディスクの多
くは、光ディスクの破損や汚染を防ぐための保護ケース
内に収容されるからである。しかしそれでも現在、多く
の光ディスクが保護ケースのないまま作られている。音
楽用コンパクト・ディスク(CD)のように、保護され
ていないこのような光ディスクは、埃、飛沫、指紋等に
よって汚れやすく、掻き傷、かすり傷等、機械的破損も
受けやすい。また、光ディスクの記憶容量が数百万バイ
トを超えると、バイト欠陥が生じる可能性も大きくな
る。
【0006】図1は、これまでのパリティの1つの用途
を示している。これは読出し専用メモリ(ROM)に関
係する。この用途では固定長データ・セクタ101のグ
ループ100が用いられる。各データ・セクタ101に
は複数のバイト102がある。データ・セクタのグルー
プ100に対して、バイト102に等しい数のバイト1
06を持つ1つのパリティ・セクタ104が計算され
る。具体的には、パリティ・セクタ104に関連したグ
ループ100の各データ・セクタ101からの対応バイ
トにパリティ計算式を適用することによって、パリティ
・セクタ104の各バイト106が計算される。各パリ
ティ・セクタ104とそれに関連したデータ・セクタ1
00は論理トラックと呼ばれることもある。
を示している。これは読出し専用メモリ(ROM)に関
係する。この用途では固定長データ・セクタ101のグ
ループ100が用いられる。各データ・セクタ101に
は複数のバイト102がある。データ・セクタのグルー
プ100に対して、バイト102に等しい数のバイト1
06を持つ1つのパリティ・セクタ104が計算され
る。具体的には、パリティ・セクタ104に関連したグ
ループ100の各データ・セクタ101からの対応バイ
トにパリティ計算式を適用することによって、パリティ
・セクタ104の各バイト106が計算される。各パリ
ティ・セクタ104とそれに関連したデータ・セクタ1
00は論理トラックと呼ばれることもある。
【0007】図1に示した用途ではまた、パリティと共
にエラー訂正/制御(ECC)も用いられる。ECCア
ルゴリズムは各データ・セクタ101に適用されて、対
応するECCシンドローム108が生成される。通常E
CCアルゴリズムでは、指定多項式での計算が行なわれ
る。パリティ・セクタ104に基づいてECCシンドロ
ーム110も生成される。各ECCシンドロームは、E
CCアルゴリズムによって処理することで、関連データ
・セクタ内のエラー・バイトが具体的に識別される。E
CCメカニズムにより、不良データ・セクタ101を訂
正できなかった場合、欠陥のないデータ・セクタからの
情報を使って、不良データ・セクタを復元するためにパ
リティ・セクタ104を使用できる。
にエラー訂正/制御(ECC)も用いられる。ECCア
ルゴリズムは各データ・セクタ101に適用されて、対
応するECCシンドローム108が生成される。通常E
CCアルゴリズムでは、指定多項式での計算が行なわれ
る。パリティ・セクタ104に基づいてECCシンドロ
ーム110も生成される。各ECCシンドロームは、E
CCアルゴリズムによって処理することで、関連データ
・セクタ内のエラー・バイトが具体的に識別される。E
CCメカニズムにより、不良データ・セクタ101を訂
正できなかった場合、欠陥のないデータ・セクタからの
情報を使って、不良データ・セクタを復元するためにパ
リティ・セクタ104を使用できる。
【0008】
【発明が解決しようとする課題】このアプローチは多く
の用途で有効性を認められているが、ユーザによって
は、データを格納しパリティを計算する際の柔軟性を高
めることから利点を得ることができよう。例えば、論理
トラックには、その容量よりも少ないデータを格納した
トラックがある。例えば17セクタの論理トラックは、
場合によってはデータを2セクタしか格納していないか
もしれない。その場合、残りの領域には、小量のパリテ
ィとECC情報が含まれ、かなりの部分が未使用スペー
スである。空きスペースの問題の他に、このアプローチ
によるパリティ計算は不必要に複雑になる。具体的に
は、パリティはすべてのデータ・セクタを基にして計算
される。先に述べたように、たとえかなりの部分が空で
あってもである。従って、パリティを計算し格納する効
率を高める方式を得ることが望ましい。
の用途で有効性を認められているが、ユーザによって
は、データを格納しパリティを計算する際の柔軟性を高
めることから利点を得ることができよう。例えば、論理
トラックには、その容量よりも少ないデータを格納した
トラックがある。例えば17セクタの論理トラックは、
場合によってはデータを2セクタしか格納していないか
もしれない。その場合、残りの領域には、小量のパリテ
ィとECC情報が含まれ、かなりの部分が未使用スペー
スである。空きスペースの問題の他に、このアプローチ
によるパリティ計算は不必要に複雑になる。具体的に
は、パリティはすべてのデータ・セクタを基にして計算
される。先に述べたように、たとえかなりの部分が空で
あってもである。従って、パリティを計算し格納する効
率を高める方式を得ることが望ましい。
【0009】
【課題を解決するための手段】本発明は、広くDASD
(直接アクセス・データ記憶デバイス)にデジタル・デ
ータを格納する方法に関する。これは、データ項目の指
定ブロックに対してパリティ・ブロックを生成し、選択
されたDASD位置にパリティ・ブロックを格納するこ
とによる。このDASD位置は、データ項目が格納され
たDASD位置とは別でもよい。データ項目の対応ブロ
ックに基づくパリティ計算の他に、パリティ・ブロック
は、(1)対応データのサイズ、または(2)パリティ
計算にかかわるデータ項目数を示すパリティ・コードを
含む。パリティ・ブロックは、対応データに隣接して、
もしくは独立位置に格納できる。ある実施例では、各セ
クタに予約位置を追加でき、そのセクタがデータ・セク
タかまたはパリティ・セクタと識別される。
(直接アクセス・データ記憶デバイス)にデジタル・デ
ータを格納する方法に関する。これは、データ項目の指
定ブロックに対してパリティ・ブロックを生成し、選択
されたDASD位置にパリティ・ブロックを格納するこ
とによる。このDASD位置は、データ項目が格納され
たDASD位置とは別でもよい。データ項目の対応ブロ
ックに基づくパリティ計算の他に、パリティ・ブロック
は、(1)対応データのサイズ、または(2)パリティ
計算にかかわるデータ項目数を示すパリティ・コードを
含む。パリティ・ブロックは、対応データに隣接して、
もしくは独立位置に格納できる。ある実施例では、各セ
クタに予約位置を追加でき、そのセクタがデータ・セク
タかまたはパリティ・セクタと識別される。
【0010】本発明はまた各種ハードウェア構成要素に
実現できる。例えば本発明は、ここに述べる方法を実行
するようプログラムされたドライブ・コントローラ、ま
たは、そのような手続きを実行するためデジタル・プロ
セッサによって実行可能な命令のプログラムを明確に表
すディスク媒体から構成してもよい。
実現できる。例えば本発明は、ここに述べる方法を実行
するようプログラムされたドライブ・コントローラ、ま
たは、そのような手続きを実行するためデジタル・プロ
セッサによって実行可能な命令のプログラムを明確に表
すディスク媒体から構成してもよい。
【0011】本発明はユーザにいくつかはっきりした利
点を提供する。例えば本発明は、データの損失に対して
信頼性/安定性を大幅に高めてデジタル・データを格納
する。これは、データ項目の各ブロックに対して別にパ
リティ・ブロックを生成し、各パリティ・ブロックをデ
ータから離して格納することによって達成される。また
本発明はデータの格納に柔軟性を付与する。パリティ・
ブロックは、パリティ・ブロックにかかわるデータ項目
数やデータ項目の位置を示すパリティ・コードを含むか
らである。その結果、本発明のパリティ・ブロックは、
無関係のデータ項目を持つデータ・ブロックを、あるい
は切詰められたデータのブロックを正確に表すことがで
きる。
点を提供する。例えば本発明は、データの損失に対して
信頼性/安定性を大幅に高めてデジタル・データを格納
する。これは、データ項目の各ブロックに対して別にパ
リティ・ブロックを生成し、各パリティ・ブロックをデ
ータから離して格納することによって達成される。また
本発明はデータの格納に柔軟性を付与する。パリティ・
ブロックは、パリティ・ブロックにかかわるデータ項目
数やデータ項目の位置を示すパリティ・コードを含むか
らである。その結果、本発明のパリティ・ブロックは、
無関係のデータ項目を持つデータ・ブロックを、あるい
は切詰められたデータのブロックを正確に表すことがで
きる。
【0012】
【発明の実施の形態】本発明は、広くDASDにデジタ
ル・データを格納する上で有用な方法及び装置に関す
る。DASDには、フロッピー・ディスケット、ハード
・ディスケット、ハード・ディスク・ドライブ、光ディ
スク、"フロプティカル(floptical)"ディスク、RA
M、その他格納されたデータに直接アクセスするタイプ
のデータ記憶デバイス等である。本発明は、セクタ等、
独立した複数のデータ"項目"を含むデータ・ブロックに
対して"パリティ・ブロック"を生成する。パリティ・ブ
ロックは、データ媒体上の選択された位置に格納され
る。好適には、DASDのどのセクタも、データまたは
パリティを格納するためにあらかじめ具体的に指定され
るという"優先的な"要件はない。パリティ・ブロック
は、対応データに基づくパリティ"計算"、及び特別パリ
ティ"コード"を含む。パリティ・コードは対応データに
隣接して、もしくは独立位置に格納され、(1)対応デ
ータのサイズ、または(2)パリティ計算にかかわるデ
ータ項目数を示すために用いられる。各データ項目及び
パリティ・ブロックには、DASDの領域にパリティが
あるかデータがあるかを示すためのフラグ等の識別子を
置ける。
ル・データを格納する上で有用な方法及び装置に関す
る。DASDには、フロッピー・ディスケット、ハード
・ディスケット、ハード・ディスク・ドライブ、光ディ
スク、"フロプティカル(floptical)"ディスク、RA
M、その他格納されたデータに直接アクセスするタイプ
のデータ記憶デバイス等である。本発明は、セクタ等、
独立した複数のデータ"項目"を含むデータ・ブロックに
対して"パリティ・ブロック"を生成する。パリティ・ブ
ロックは、データ媒体上の選択された位置に格納され
る。好適には、DASDのどのセクタも、データまたは
パリティを格納するためにあらかじめ具体的に指定され
るという"優先的な"要件はない。パリティ・ブロック
は、対応データに基づくパリティ"計算"、及び特別パリ
ティ"コード"を含む。パリティ・コードは対応データに
隣接して、もしくは独立位置に格納され、(1)対応デ
ータのサイズ、または(2)パリティ計算にかかわるデ
ータ項目数を示すために用いられる。各データ項目及び
パリティ・ブロックには、DASDの領域にパリティが
あるかデータがあるかを示すためのフラグ等の識別子を
置ける。
【0013】ドライブ・コントローラ 本発明は、データ記憶ドライブ200(図2)を使って
実現できる。ドライブ200は、以下に説明する特定の
手続きを実行するようプログラムされる。ドライブ20
0は、メモリ・ユニット204に接続されたマイクロプ
ロセッサ等のプロセッサ202を含む。メモリ・ユニッ
ト204は、例えば不揮発性メモリ206(ROM等)
と揮発性メモリ208(RAM等)から構成できる。
実現できる。ドライブ200は、以下に説明する特定の
手続きを実行するようプログラムされる。ドライブ20
0は、メモリ・ユニット204に接続されたマイクロプ
ロセッサ等のプロセッサ202を含む。メモリ・ユニッ
ト204は、例えば不揮発性メモリ206(ROM等)
と揮発性メモリ208(RAM等)から構成できる。
【0014】プロセッサ202はまたインタフェース2
10に接続される。インタフェース210はプロセッサ
202とホスト212の間で電気信号を交換する。イン
タフェース210は、例えばSCSI型インタフェース
から構成できる。プロセッサ202はまた、エラー制御
用に追加する場合にはECCユニット214に接続でき
る。ECCユニット214は、エラー・チェック/訂正
を行なう回路を含む。この回路は、リード・ソロモン
(Reed-Solomon)等これまでの手法に従って動作させる
ことができる。プロセッサ202はまたメモリ・バッフ
ァ216に接続される。バッファ216は、読取り/書
込みヘッド218を通して直接アクセス・データ記憶媒
体(DASD)220と電気信号を交換する。
10に接続される。インタフェース210はプロセッサ
202とホスト212の間で電気信号を交換する。イン
タフェース210は、例えばSCSI型インタフェース
から構成できる。プロセッサ202はまた、エラー制御
用に追加する場合にはECCユニット214に接続でき
る。ECCユニット214は、エラー・チェック/訂正
を行なう回路を含む。この回路は、リード・ソロモン
(Reed-Solomon)等これまでの手法に従って動作させる
ことができる。プロセッサ202はまたメモリ・バッフ
ァ216に接続される。バッファ216は、読取り/書
込みヘッド218を通して直接アクセス・データ記憶媒
体(DASD)220と電気信号を交換する。
【0015】DASD220は、フロッピー・ディスケ
ット、ハード・ディスケット、ハード・ドライブを含め
た磁気デジタル・データ記憶デバイス等、異なる複数の
直接アクセス記憶媒体から構成できる。またDASD2
00は、90mm、120mm、130mmの光ディス
ク、フロプティカル・ディスク等、光学式データ記憶媒
体からも構成できる。DASD220は、磁気または光
等にかかわらず、読出し専用、追記型、あるいは再書込
み可能型の媒体で構成できる。
ット、ハード・ディスケット、ハード・ドライブを含め
た磁気デジタル・データ記憶デバイス等、異なる複数の
直接アクセス記憶媒体から構成できる。またDASD2
00は、90mm、120mm、130mmの光ディス
ク、フロプティカル・ディスク等、光学式データ記憶媒
体からも構成できる。DASD220は、磁気または光
等にかかわらず、読出し専用、追記型、あるいは再書込
み可能型の媒体で構成できる。
【0016】DASD上のプログラムの格納 本発明の機能は、例えばプロセッサ202(図2)を使
用して機械読取り可能な命令を実行するすることによっ
て実行できる。これらの命令は、例えば不揮発性メモリ
206、揮発性メモリ208、あるいは両方に置ける。
また命令は、コンピュータ・ディスケット300(図
3)等、プロセッサ202によって読取られる別のデー
タ記憶媒体にも格納できる。あるいはまた命令は、DA
SDアレイ、磁気テープ、従来の"ハード・ドライブ"、
読出し専用電子メモリ、光記憶デバイス、紙の"パンチ"
カード、その他適切なデータ記憶デバイスに格納しても
よい。
用して機械読取り可能な命令を実行するすることによっ
て実行できる。これらの命令は、例えば不揮発性メモリ
206、揮発性メモリ208、あるいは両方に置ける。
また命令は、コンピュータ・ディスケット300(図
3)等、プロセッサ202によって読取られる別のデー
タ記憶媒体にも格納できる。あるいはまた命令は、DA
SDアレイ、磁気テープ、従来の"ハード・ドライブ"、
読出し専用電子メモリ、光記憶デバイス、紙の"パンチ"
カード、その他適切なデータ記憶デバイスに格納しても
よい。
【0017】固定長格納法 本発明は、ハードウェア面に加えて、データの格納、読
取り、復元のためにさまざまな方法を考慮している。例
えばある実施例は、図4に示した固定長格納法である。
固定長格納法では、各データ・ブロック402に1つの
パリティ・ブロック400が関連づけられる。各データ
・ブロック402は、同数の固定サイズ・データ項目4
09を含み、従って全体サイズも同じである。パリティ
・ブロック400は1データ項目409と同じサイズで
ある。1つの例として、各データ項目409はセクタか
ら構成でき、そこでデータ・ブロック402は16セク
タを含み、パリティ・ブロック400は1セクタを含
む。従って、16セクタのデータがDASDに格納され
る度に、1セクタのパリティ・ブロックが生成され格納
される。各セクタは、例えば512バイトまたは102
4バイトを格納できる。
取り、復元のためにさまざまな方法を考慮している。例
えばある実施例は、図4に示した固定長格納法である。
固定長格納法では、各データ・ブロック402に1つの
パリティ・ブロック400が関連づけられる。各データ
・ブロック402は、同数の固定サイズ・データ項目4
09を含み、従って全体サイズも同じである。パリティ
・ブロック400は1データ項目409と同じサイズで
ある。1つの例として、各データ項目409はセクタか
ら構成でき、そこでデータ・ブロック402は16セク
タを含み、パリティ・ブロック400は1セクタを含
む。従って、16セクタのデータがDASDに格納され
る度に、1セクタのパリティ・ブロックが生成され格納
される。各セクタは、例えば512バイトまたは102
4バイトを格納できる。
【0018】パリティ・ブロック400はパリティ計算
403を含む。計算403はパリティ・ルーチンを、パ
リティ・ブロック400に関連づけられたデータ項目4
09に適用することによって形成される。パリティ計算
403は、好適にはパリティ・ブロック400に関連づ
けられたデータ項目409それぞれから対応ビットの排
他的論理和(XOR)をとることによって計算される。
パリティ・ブロック400は、パリティ計算403の他
に、データ・ブロック402に関連づけられたパリティ
・コード404を含む。パリティ・コード404は、"
DMP"バイト等、パリティ・ブロック400に付随し
得る"オーバヘッド"バイトに格納できる。ある実施例
で、パリティ・コード404は、1バイト以上のパリテ
ィ・フラグ406と、シングルバイトもしくはマルチバ
イトのパリティ・ビット・マップ408(パリティ・マ
ップ)を含む。フラグ406は、パリティ・ブロック4
00によって占有されたDASDの領域を、データでは
なくパリティを格納すると識別する信号を格納する。こ
の点に関して、データ項目409はそれぞれ、データ項
目によって占有されたDASDの領域を、パリティでは
なくデータを格納すると識別するフラグ(図示なし)も
また格納できる。
403を含む。計算403はパリティ・ルーチンを、パ
リティ・ブロック400に関連づけられたデータ項目4
09に適用することによって形成される。パリティ計算
403は、好適にはパリティ・ブロック400に関連づ
けられたデータ項目409それぞれから対応ビットの排
他的論理和(XOR)をとることによって計算される。
パリティ・ブロック400は、パリティ計算403の他
に、データ・ブロック402に関連づけられたパリティ
・コード404を含む。パリティ・コード404は、"
DMP"バイト等、パリティ・ブロック400に付随し
得る"オーバヘッド"バイトに格納できる。ある実施例
で、パリティ・コード404は、1バイト以上のパリテ
ィ・フラグ406と、シングルバイトもしくはマルチバ
イトのパリティ・ビット・マップ408(パリティ・マ
ップ)を含む。フラグ406は、パリティ・ブロック4
00によって占有されたDASDの領域を、データでは
なくパリティを格納すると識別する信号を格納する。こ
の点に関して、データ項目409はそれぞれ、データ項
目によって占有されたDASDの領域を、パリティでは
なくデータを格納すると識別するフラグ(図示なし)も
また格納できる。
【0019】パリティ・マップ408は、パリティ計算
403にかかわったデータ項目409をそれぞれ識別す
ることによって本発明の重要機能を実行する。例えば、
データ項目1乃至10はデータを格納し、データ項目1
1乃至16は空の場合、パリティ・マップ408は、パ
リティ計算403がデータ項目1乃至10からのビット
を使って計算されたことを示す。また、データ項目1、
5、7乃至10、及び16はデータを格納し、データ項
目2乃至4、6、及び11乃至15は空の場合、パリテ
ィ・マップ408は、パリティ計算403がデータ項目
1、5、7乃至10、及び16からのビットを使って計
算されたことを示す。データ項目とパリティ・ブロック
にフラグを使用する代わりに、パリティ・マップ408
は、この実施例ではパリティ・フラグ406(及び個々
のデータ項目のフラグを)なくすことができるように、
パリティ・ブロック400を識別することができる。
403にかかわったデータ項目409をそれぞれ識別す
ることによって本発明の重要機能を実行する。例えば、
データ項目1乃至10はデータを格納し、データ項目1
1乃至16は空の場合、パリティ・マップ408は、パ
リティ計算403がデータ項目1乃至10からのビット
を使って計算されたことを示す。また、データ項目1、
5、7乃至10、及び16はデータを格納し、データ項
目2乃至4、6、及び11乃至15は空の場合、パリテ
ィ・マップ408は、パリティ計算403がデータ項目
1、5、7乃至10、及び16からのビットを使って計
算されたことを示す。データ項目とパリティ・ブロック
にフラグを使用する代わりに、パリティ・マップ408
は、この実施例ではパリティ・フラグ406(及び個々
のデータ項目のフラグを)なくすことができるように、
パリティ・ブロック400を識別することができる。
【0020】パリティ・ブロック400は、DASD
上、データ・ブロック402の直後に格納できるが、パ
リティ・ブロック400をデータ・ブロック402と離
して置くことによってデータの復元性を高めることがで
きる。これにより、データ・ブロック402の領域の破
損や汚染が、離して置かれたパリティ・ブロック400
に影響を与えるのを防ぐことができる。この場合、パリ
ティ・マップ408はデータ・ブロック402のアドレ
スも提供する。
上、データ・ブロック402の直後に格納できるが、パ
リティ・ブロック400をデータ・ブロック402と離
して置くことによってデータの復元性を高めることがで
きる。これにより、データ・ブロック402の領域の破
損や汚染が、離して置かれたパリティ・ブロック400
に影響を与えるのを防ぐことができる。この場合、パリ
ティ・マップ408はデータ・ブロック402のアドレ
スも提供する。
【0021】再書込み可能な媒体とWORM媒体のいず
れについても、固定長格納法は、特に、多数の長い転送
単位を生成する用途で有益である。これは、この方法の
格納効率の高さと良好な性能特性による。
れについても、固定長格納法は、特に、多数の長い転送
単位を生成する用途で有益である。これは、この方法の
格納効率の高さと良好な性能特性による。
【0022】可変長格納法 データを格納するもう1つの方法では、図5に示すよう
に、可変長データ・ブロックが用いられる。可変長格納
法では、1つのパリティ・ブロック500が各データ・
ブロック502に関連づけられる。各データ項目509
は同じ固定サイズであるが、各データ・ブロック502
は他のデータ・ブロックと異なるサイズでもよい。図示
の例の場合、データ・ブロック502は4つのデータ項
目509を含み、最大は16データ項目である。パリテ
ィ・ブロック500は1データ項目と同じサイズであ
る。データ項目は(従ってパリティ・ブロックも)、例
えば1セクタを占有できる。データのブロックがDAS
Dに書込まれる度に、パリティ・ブロック500が生成
され格納される。
に、可変長データ・ブロックが用いられる。可変長格納
法では、1つのパリティ・ブロック500が各データ・
ブロック502に関連づけられる。各データ項目509
は同じ固定サイズであるが、各データ・ブロック502
は他のデータ・ブロックと異なるサイズでもよい。図示
の例の場合、データ・ブロック502は4つのデータ項
目509を含み、最大は16データ項目である。パリテ
ィ・ブロック500は1データ項目と同じサイズであ
る。データ項目は(従ってパリティ・ブロックも)、例
えば1セクタを占有できる。データのブロックがDAS
Dに書込まれる度に、パリティ・ブロック500が生成
され格納される。
【0023】パリティ・ブロック500は、図4と同様
に複数の構成要素を含む。例えばパリティ・ブロック5
00はパリティ計算503(図4のパリティ計算403
と同様)と、パリティ・フラグ506とパリティ・マッ
プ508を持つパリティ・コード504(図4のパリテ
ィ・コード404と同様)を含む。この点に関して、デ
ータ項目503それぞれは、データ項目によって占有さ
れた領域を、パリティ情報ではなくデータを格納すると
識別するフラグ(図示なし)を格納することもできる。
に複数の構成要素を含む。例えばパリティ・ブロック5
00はパリティ計算503(図4のパリティ計算403
と同様)と、パリティ・フラグ506とパリティ・マッ
プ508を持つパリティ・コード504(図4のパリテ
ィ・コード404と同様)を含む。この点に関して、デ
ータ項目503それぞれは、データ項目によって占有さ
れた領域を、パリティ情報ではなくデータを格納すると
識別するフラグ(図示なし)を格納することもできる。
【0024】しかし、パリティ・マップ508は、パリ
ティ計算503にかかわったデータ項目509を示すの
ではなく、"どのくらい"のデータ項目がパリティ計算5
03にかかわったカウントを提供する。従って、すべて
のデータ項目509がパリティ計算503にかかわり、
パリティ・マップ508は、データ・ブロック502の
長さを示す。図の例では、パリティ・マップ508は、
パリティ計算503がデータ項目1乃至5からのビット
を使って計算されたことを示す。データ項目とパリティ
・ブロックにフラグを使用する代わりに、パリティ・マ
ップ508は、パリティ・ブロック500を、この実施
例では、パリティ・フラグ506(及び個々のデータ項
目のフラグ)をなくすことができるように識別できる。
ティ計算503にかかわったデータ項目509を示すの
ではなく、"どのくらい"のデータ項目がパリティ計算5
03にかかわったカウントを提供する。従って、すべて
のデータ項目509がパリティ計算503にかかわり、
パリティ・マップ508は、データ・ブロック502の
長さを示す。図の例では、パリティ・マップ508は、
パリティ計算503がデータ項目1乃至5からのビット
を使って計算されたことを示す。データ項目とパリティ
・ブロックにフラグを使用する代わりに、パリティ・マ
ップ508は、パリティ・ブロック500を、この実施
例では、パリティ・フラグ506(及び個々のデータ項
目のフラグ)をなくすことができるように識別できる。
【0025】パリティ・ブロック400と同じく、パリ
ティ・ブロック500はデータ・ブロック502と離し
て置くと都合がよく、データの復元性が高められる。こ
の場合、パリティ・マップ508はデータ・ブロック5
02のアドレスも提供する。
ティ・ブロック500はデータ・ブロック502と離し
て置くと都合がよく、データの復元性が高められる。こ
の場合、パリティ・マップ508はデータ・ブロック5
02のアドレスも提供する。
【0026】可変長格納法は、特にROMやWORM媒
体の場合に有益である。このようなタイプの媒体でのデ
ータの再書込みは不便か、または不可能だからである。
可変長格納法はしかし、記憶域が効率よく用いられるよ
うにする。例えば、他の場合には空のデータ・セクタを
格納するのではなく、データ・ブロック全体のサイズが
小さくされるだけである。従ってデータはよりコンパク
トに格納できる。
体の場合に有益である。このようなタイプの媒体でのデ
ータの再書込みは不便か、または不可能だからである。
可変長格納法はしかし、記憶域が効率よく用いられるよ
うにする。例えば、他の場合には空のデータ・セクタを
格納するのではなく、データ・ブロック全体のサイズが
小さくされるだけである。従ってデータはよりコンパク
トに格納できる。
【0027】手続きシーケンス例 本発明の方法の側面をさらに詳しく説明するため、図6
にタスク600のシーケンス例を示してある。タスク6
00は、データ記憶ドライブのプロセッサ、ホスト・コ
ンピュータ、あるいは上述のようなデジタル・データ・
プロセッサによって実行し、固定長あるいは可変長の格
納法等のデータ格納プロセスを実現できる。便宜上、こ
の例はデータ記憶ドライブ200に関して説明する。こ
こでルーチン600はプロセッサ202によって実行さ
れる。プロセッサ202は、格納される各データ・ブロ
ックに対してルーチン600を一度実行する。
にタスク600のシーケンス例を示してある。タスク6
00は、データ記憶ドライブのプロセッサ、ホスト・コ
ンピュータ、あるいは上述のようなデジタル・データ・
プロセッサによって実行し、固定長あるいは可変長の格
納法等のデータ格納プロセスを実現できる。便宜上、こ
の例はデータ記憶ドライブ200に関して説明する。こ
こでルーチン600はプロセッサ202によって実行さ
れる。プロセッサ202は、格納される各データ・ブロ
ックに対してルーチン600を一度実行する。
【0028】具体的には、プロセッサ202は、データ
・ブロックを格納したいとき、タスク602でルーチン
600をスタートする。次にタスク604でプロセッサ
202は読取り/書込みヘッド218に、目的のデータ
・ブロックをDASD220に格納するよう指示する。
データ・ブロックは図4で述べたような固定長データ・
ブロックか、図5で述べたような可変長データ・ブロッ
クである。
・ブロックを格納したいとき、タスク602でルーチン
600をスタートする。次にタスク604でプロセッサ
202は読取り/書込みヘッド218に、目的のデータ
・ブロックをDASD220に格納するよう指示する。
データ・ブロックは図4で述べたような固定長データ・
ブロックか、図5で述べたような可変長データ・ブロッ
クである。
【0029】タスク604の後、プロセッサ202は、
格納されたデータ・ブロックに対応したパリティ・ブロ
ックを生成し(タスク606)、パリティ・ブロックを
DASD220に格納する(タスク608)。パリティ
・ブロックはデータ・ブロックの直後にか、あるいは別
の位置に格納できる。最後に、データとパリティのブロ
ックが格納されてから、ルーチン600はタスク610
で終了する。
格納されたデータ・ブロックに対応したパリティ・ブロ
ックを生成し(タスク606)、パリティ・ブロックを
DASD220に格納する(タスク608)。パリティ
・ブロックはデータ・ブロックの直後にか、あるいは別
の位置に格納できる。最後に、データとパリティのブロ
ックが格納されてから、ルーチン600はタスク610
で終了する。
【0030】図7は、図6の方法に従って格納されたデ
ータを復元するタスク700のシーケンス例を示す。タ
スク700はタスク600と同様、上述のようにプロセ
ッサその他のハードウェア・デバイスによって実行でき
る。便宜上、本発明の例はデータ記憶ドライブ200に
関して説明する、ここでルーチン700はプロセッサ2
02によって実行される。
ータを復元するタスク700のシーケンス例を示す。タ
スク700はタスク600と同様、上述のようにプロセ
ッサその他のハードウェア・デバイスによって実行でき
る。便宜上、本発明の例はデータ記憶ドライブ200に
関して説明する、ここでルーチン700はプロセッサ2
02によって実行される。
【0031】ルーチン700は、プロセッサ200がデ
ータの項目を読込んでから実行される。具体的にはプロ
セッサ202は、データ項目を読取った後、タスク70
2でルーチン700をスタートする。照会の704で
は、データ項目(読取られたばかりの)に欠陥があるか
どうかが尋ねられる。ない場合、プロセッサ202はタ
スク705でデータの読取りと処理を続ける。照会の7
04でデータ項目に欠陥があるとわかった場合、タスク
706で、不良データ項目を格納したデータ・ブロック
に関連づけられたパリティ・ブロックが読取られる。次
にタスク708で、識別されたパリティ・ブロックのパ
リティ・マップが識別される。照会の710では、不良
データ項目がパリティ・ブロックのパリティ計算にかか
わったかどうか尋ねられる。そうでない場合、プロセッ
サ202はタスク711でデータの読取りと処理を続け
る。パリティ計算が不良データ項目に依存する場合、プ
ロセッサ202はタスク712で、同じデータ・ブロッ
クの他のデータ項目を読取る。例えば固定長格納法が用
いられていた場合、パリティ計算は、無関係なデータ項
目とは独立している。タスク712の後、プロセッサは
タスク714で、パリティ計算と、データ・ブロックの
残りの(欠陥のない)データ項目を使って、欠陥セクタ
から訂正されたデータを復元する。この操作は、例えば
パリティ計算と残りのデータ項目に対して論理演算(X
OR等)を行なうことによって実行できる。タスク71
4の後、ルーチン700はタスク716で終了する。
ータの項目を読込んでから実行される。具体的にはプロ
セッサ202は、データ項目を読取った後、タスク70
2でルーチン700をスタートする。照会の704で
は、データ項目(読取られたばかりの)に欠陥があるか
どうかが尋ねられる。ない場合、プロセッサ202はタ
スク705でデータの読取りと処理を続ける。照会の7
04でデータ項目に欠陥があるとわかった場合、タスク
706で、不良データ項目を格納したデータ・ブロック
に関連づけられたパリティ・ブロックが読取られる。次
にタスク708で、識別されたパリティ・ブロックのパ
リティ・マップが識別される。照会の710では、不良
データ項目がパリティ・ブロックのパリティ計算にかか
わったかどうか尋ねられる。そうでない場合、プロセッ
サ202はタスク711でデータの読取りと処理を続け
る。パリティ計算が不良データ項目に依存する場合、プ
ロセッサ202はタスク712で、同じデータ・ブロッ
クの他のデータ項目を読取る。例えば固定長格納法が用
いられていた場合、パリティ計算は、無関係なデータ項
目とは独立している。タスク712の後、プロセッサは
タスク714で、パリティ計算と、データ・ブロックの
残りの(欠陥のない)データ項目を使って、欠陥セクタ
から訂正されたデータを復元する。この操作は、例えば
パリティ計算と残りのデータ項目に対して論理演算(X
OR等)を行なうことによって実行できる。タスク71
4の後、ルーチン700はタスク716で終了する。
【0032】他の実施例 現在、本発明の好適な実施例とみなされるものを示した
が、当業者には明らかなように、特許請求の範囲によっ
て定義される本発明の範囲から逸脱することなく、様々
な変更が可能である。1つの例として本発明は、ここに
開示したものとはサイズの異なるデータ・ブロック、パ
リティ・ブロックを使用できる。
が、当業者には明らかなように、特許請求の範囲によっ
て定義される本発明の範囲から逸脱することなく、様々
な変更が可能である。1つの例として本発明は、ここに
開示したものとはサイズの異なるデータ・ブロック、パ
リティ・ブロックを使用できる。
【0033】また本発明のパリティの計算と格納のアプ
ローチの他に、ECCの手法を採用することによってデ
ータの整合性をさらに高めることができる。1つの例と
してECCは、主に喪失データの復元に使用できる。E
CCが不適当であれば、喪失データを復元する第2の方
法としてパリティ・セクタを採用できる。
ローチの他に、ECCの手法を採用することによってデ
ータの整合性をさらに高めることができる。1つの例と
してECCは、主に喪失データの復元に使用できる。E
CCが不適当であれば、喪失データを復元する第2の方
法としてパリティ・セクタを採用できる。
【0034】また別の例として、パリティ・ブロック
は、1つのデータ項目よりも大きくしてデータの信頼性
をさらに高めることができる。例えばパリティ・ブロッ
クにはパリティ計算が2つ以上あってもよく、そこでパ
リティ計算はそれぞれ、別のデータ項目グループに基づ
き、このデータ項目は、もう1つのパリティ計算と関連
づけられたデータ項目とインタリーブできる。パリティ
は、本発明に従って、下記の資料の開示内容の通りに計
算し管理することができる。 (1)M. Blaumらによる米国特許第5271012
号、"A Coding Technique for Double Disk Failures i
n Disk Arrays"。 (2)M. Blaumらによる米国特許第5321246
号、"Method and Means forCoding and Rebuilding the
Data Contents of Unavailable DASDs or Rebuilding
the Contents of a DASD in Error in the Presence of
a Reduced Number of Unavailable DASDs in a DASD A
rray"。
は、1つのデータ項目よりも大きくしてデータの信頼性
をさらに高めることができる。例えばパリティ・ブロッ
クにはパリティ計算が2つ以上あってもよく、そこでパ
リティ計算はそれぞれ、別のデータ項目グループに基づ
き、このデータ項目は、もう1つのパリティ計算と関連
づけられたデータ項目とインタリーブできる。パリティ
は、本発明に従って、下記の資料の開示内容の通りに計
算し管理することができる。 (1)M. Blaumらによる米国特許第5271012
号、"A Coding Technique for Double Disk Failures i
n Disk Arrays"。 (2)M. Blaumらによる米国特許第5321246
号、"Method and Means forCoding and Rebuilding the
Data Contents of Unavailable DASDs or Rebuilding
the Contents of a DASD in Error in the Presence of
a Reduced Number of Unavailable DASDs in a DASD A
rray"。
【0035】まとめとして、本発明の構成に関して以下
の事項を開示する。
の事項を開示する。
【0036】(1)第1の所定数のデータ項目を、デー
タ記憶媒体の、少なくとも第1の所定数と同数の第2の
所定数の位置を持つ連続ブロックの選択された位置に格
納するステップと、パリティ・ブロックを生成するため
の、前記第1の所定数のデータ項目にパリティ・ルーチ
ンを適用してパリティ計算を形成するステップと、前記
第1の所定数のデータ・バイトが格納された前記選択さ
れた位置を表すパリティ・マップを形成するステップ
と、を含み、前記パリティ・ブロックを前記データ記憶
媒体に格納するステップと、を含む、デジタル・データ
を格納する方法。 (2)各データ項目は1セクタを含む、前記(1)記載
の方法。 (3)各ブロック位置は異なるデータ・セクタに対応す
る、前記(1)記載の方法。 (4)前記パリティ・ブロックとパリティ・マップを格
納するステップは、前記データ項目の直後に前記パリテ
ィ・ブロックとパリティ・ビットを格納するステップを
含む、前記(1)記載の方法。 (5)前記パリティ・ブロックとパリティ・マップを格
納するステップは、前記データ項目とは別に前記パリテ
ィ・ブロックとパリティ・ビットを格納するステップを
含む、前記(1)記載の方法。 (6)前記パリティ・ブロックは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記
(1)記載の方法。 (7)前記パリティ・マップは、前記パリティ・ブロッ
クをデータ項目とは区別するフラグを含む、前記(1)
記載の方法。 (8)前記第1の所定数のデータ項目のうち不良データ
項目を読取るステップと、前記不良データ項目を不良と
認識するステップと、前記不良データ項目に関連づけら
れたパリティ・ブロックを見つけるステップと、前記パ
リティ・ブロックと、前記第1の所定数のデータ項目の
うち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(1)記載の方法。 (9)第1の数のデータ項目をデータ記憶媒体上の連続
位置に格納するステップと、前記第1の数のデータ項目
にパリティ計算ルーチンを適用してパリティ・ブロック
を生成するステップと、前記第1の数のデータ項目を表
すパリティ・マップを生成するステップと、前記パリテ
ィ・ブロックとパリティ・マップを前記データ記憶媒体
に格納するステップと、を含む、デジタル・データを格
納する方法。 (10)各データ項目は1セクタを含む、前記(9)記
載の方法。 (11)前記データ記憶媒体上に、前記データ項目に続
いてパリティ・ビットとパリティ・コードが格納され
る、前記(9)記載の方法。 (12)前記データ記憶媒体上に、前記データ項目とは
別にパリティ・ビットとパリティ・コードが格納され
る、前記(9)記載の方法。 (13)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(9)記載の方法。 (14)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記
(9)記載の方法。 (15)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(9)記載の方法。 (16)手続きを実行して、デジタル・データを格納す
るために、デジタル・プロセッサによって実行可能な命
令のプログラムを明確に表すデータ記憶媒体であって、
前記手続きは、第1の所定数のデータ項目を、データ記
憶媒体の、前記第1の所定数と同数の第2の所定数の位
置を有する連続ブロックの選択された位置に格納するス
テップと、パリティ計算ルーチンを前記第1の所定数の
データ項目に適用することによってパリティ・ブロック
を生成するステップと、前記第1の所定数のデータ・バ
イトが格納された前記選択された位置を表すパリティ・
マップを生成するステップと、前記パリティ・ブロック
とパリティ・マップを前記データ記憶媒体に格納するス
テップと、を含む、データ記憶媒体。 (17)各データ項目は1セクタを含む、前記(16)
記載のデータ記憶媒体。 (18)各ブロック位置は異なるデータ・セクタに対応
する、前記(16)記載のデータ記憶媒体。 (19)前記パリティ・ブロックとパリティ・マップを
格納するステップは、前記データ項目の直後に前記パリ
ティ・ブロックとパリティ・ビットを格納するステップ
を含む、前記(16)記載のデータ記憶媒体。 (20)前記パリティ・ブロックとパリティ・マップを
格納するステップは、前記データ項目とは別に前記パリ
ティ・ブロックとパリティ・ビットを格納するステップ
を含む、前記(16)記載のデータ記憶媒体。 (21)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(16)記載のデータ記憶媒体。 (22)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記(1
6)記載のデータ記憶媒体。 (23)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(16)記載のデータ記憶媒体。 (24)手続きを実行して、デジタル・データを、デー
タの損失に対して安定性/信頼性を高めて格納するため
に、デジタル・プロセッサによって実行可能な命令のプ
ログラムを明確に表すデータ記憶媒体であって、前記手
続きは、第1の数のデータ項目を、データ記憶媒体の連
続位置に格納するステップと、パリティ計算ルーチンを
前記第1の数のデータ項目に適用することによってパリ
ティ・ブロックを生成するステップと、前記第1の数の
データ・バイトを表すパリティ・マップを生成するステ
ップと、前記パリティ・ブロックとパリティ・マップを
前記データ記憶媒体に格納するステップと、を含む、デ
ータ記憶媒体。 (25)各データ項目は1セクタを含む、前記(24)
記載のデータ記憶媒体。 (26)前記データ記憶媒体上に、前記データ項目に続
いてパリティ・ビットとパリティ・コードが格納され
る、前記(25)記載のデータ記憶媒体。 (27)前記データ記憶媒体上に、前記データ項目とは
別にパリティ・ビットとパリティ・コードが格納され
る、前記(26)記載のデータ記憶媒体。 (28)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(24)記載のデータ記憶媒体。 (29)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記(2
4)記載のデータ記憶媒体。 (30)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(24)記載のデータ記憶媒体。 (31)データ記憶ドライブに接続されたデータ記憶媒
体との間でデータを選択的に読取り書込む読取り/書込
みユニットと、データ・コントローラと、を含み、前記
データ・コントローラは、ホストに接続されたインタフ
ェースと、前記読取り/書込みユニットに接続されたバ
ッファと、前記インタフェース、バッファ、及び読取り
/書込みユニットに接続され、前記インタフェースを通
して前記ホストから受信されたデジタル・データを、前
記データ記憶媒体上に格納するための手続きを実行する
ようプログラムされた、プロセッサと、を含み、前記手
続きは、第1の所定数のデータ項目を、データ記憶媒体
の、少なくとも前記第1の所定数と同数の第2の所定数
の位置を有する連続ブロックの選択された位置に格納す
るステップと、パリティ・ルーチンを前記第1の所定数
のデータ項目に適用することによってパリティ計算を生
成するステップと、前記第1の所定数のデータ・バイト
が格納された前記選択された位置を表すパリティ・マッ
プを生成するステップと、前記パリティ計算とパリティ
・マップを前記データ記憶媒体に格納するステップと、
を含む、データ記憶ドライブ。 (32)データ記憶ドライブに接続されたデータ記憶媒
体との間でデータを選択的に読取り書込む読取り/書込
みユニットと、データ・コントローラと、を含み、前記
データ・コントローラは、ホストに接続されたインタフ
ェースと、前記読取り/書込みユニットに接続されたバ
ッファと、前記インタフェース、バッファ、及び読取り
/書込みユニットに接続され、前記インタフェースを通
して前記ホストから受信されたデジタル・データを、前
記データ記憶媒体上に格納するための手続きを実行する
ようプログラムされた、プロセッサと、を含み、前記手
続きは、第1の数のデータ項目をデータ記憶媒体の連続
位置に格納するステップと、パリティ・ルーチンを前記
第1の数のデータ項目に適用することによってパリティ
計算を生成するステップと、前記第1の数のデータ項目
を表すパリティ・マップを生成するステップと、前記パ
リティ計算とパリティ・マップを前記データ記憶媒体に
格納するステップと、を含む、データ記憶ドライブ。
タ記憶媒体の、少なくとも第1の所定数と同数の第2の
所定数の位置を持つ連続ブロックの選択された位置に格
納するステップと、パリティ・ブロックを生成するため
の、前記第1の所定数のデータ項目にパリティ・ルーチ
ンを適用してパリティ計算を形成するステップと、前記
第1の所定数のデータ・バイトが格納された前記選択さ
れた位置を表すパリティ・マップを形成するステップ
と、を含み、前記パリティ・ブロックを前記データ記憶
媒体に格納するステップと、を含む、デジタル・データ
を格納する方法。 (2)各データ項目は1セクタを含む、前記(1)記載
の方法。 (3)各ブロック位置は異なるデータ・セクタに対応す
る、前記(1)記載の方法。 (4)前記パリティ・ブロックとパリティ・マップを格
納するステップは、前記データ項目の直後に前記パリテ
ィ・ブロックとパリティ・ビットを格納するステップを
含む、前記(1)記載の方法。 (5)前記パリティ・ブロックとパリティ・マップを格
納するステップは、前記データ項目とは別に前記パリテ
ィ・ブロックとパリティ・ビットを格納するステップを
含む、前記(1)記載の方法。 (6)前記パリティ・ブロックは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記
(1)記載の方法。 (7)前記パリティ・マップは、前記パリティ・ブロッ
クをデータ項目とは区別するフラグを含む、前記(1)
記載の方法。 (8)前記第1の所定数のデータ項目のうち不良データ
項目を読取るステップと、前記不良データ項目を不良と
認識するステップと、前記不良データ項目に関連づけら
れたパリティ・ブロックを見つけるステップと、前記パ
リティ・ブロックと、前記第1の所定数のデータ項目の
うち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(1)記載の方法。 (9)第1の数のデータ項目をデータ記憶媒体上の連続
位置に格納するステップと、前記第1の数のデータ項目
にパリティ計算ルーチンを適用してパリティ・ブロック
を生成するステップと、前記第1の数のデータ項目を表
すパリティ・マップを生成するステップと、前記パリテ
ィ・ブロックとパリティ・マップを前記データ記憶媒体
に格納するステップと、を含む、デジタル・データを格
納する方法。 (10)各データ項目は1セクタを含む、前記(9)記
載の方法。 (11)前記データ記憶媒体上に、前記データ項目に続
いてパリティ・ビットとパリティ・コードが格納され
る、前記(9)記載の方法。 (12)前記データ記憶媒体上に、前記データ項目とは
別にパリティ・ビットとパリティ・コードが格納され
る、前記(9)記載の方法。 (13)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(9)記載の方法。 (14)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記
(9)記載の方法。 (15)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(9)記載の方法。 (16)手続きを実行して、デジタル・データを格納す
るために、デジタル・プロセッサによって実行可能な命
令のプログラムを明確に表すデータ記憶媒体であって、
前記手続きは、第1の所定数のデータ項目を、データ記
憶媒体の、前記第1の所定数と同数の第2の所定数の位
置を有する連続ブロックの選択された位置に格納するス
テップと、パリティ計算ルーチンを前記第1の所定数の
データ項目に適用することによってパリティ・ブロック
を生成するステップと、前記第1の所定数のデータ・バ
イトが格納された前記選択された位置を表すパリティ・
マップを生成するステップと、前記パリティ・ブロック
とパリティ・マップを前記データ記憶媒体に格納するス
テップと、を含む、データ記憶媒体。 (17)各データ項目は1セクタを含む、前記(16)
記載のデータ記憶媒体。 (18)各ブロック位置は異なるデータ・セクタに対応
する、前記(16)記載のデータ記憶媒体。 (19)前記パリティ・ブロックとパリティ・マップを
格納するステップは、前記データ項目の直後に前記パリ
ティ・ブロックとパリティ・ビットを格納するステップ
を含む、前記(16)記載のデータ記憶媒体。 (20)前記パリティ・ブロックとパリティ・マップを
格納するステップは、前記データ項目とは別に前記パリ
ティ・ブロックとパリティ・ビットを格納するステップ
を含む、前記(16)記載のデータ記憶媒体。 (21)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(16)記載のデータ記憶媒体。 (22)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記(1
6)記載のデータ記憶媒体。 (23)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(16)記載のデータ記憶媒体。 (24)手続きを実行して、デジタル・データを、デー
タの損失に対して安定性/信頼性を高めて格納するため
に、デジタル・プロセッサによって実行可能な命令のプ
ログラムを明確に表すデータ記憶媒体であって、前記手
続きは、第1の数のデータ項目を、データ記憶媒体の連
続位置に格納するステップと、パリティ計算ルーチンを
前記第1の数のデータ項目に適用することによってパリ
ティ・ブロックを生成するステップと、前記第1の数の
データ・バイトを表すパリティ・マップを生成するステ
ップと、前記パリティ・ブロックとパリティ・マップを
前記データ記憶媒体に格納するステップと、を含む、デ
ータ記憶媒体。 (25)各データ項目は1セクタを含む、前記(24)
記載のデータ記憶媒体。 (26)前記データ記憶媒体上に、前記データ項目に続
いてパリティ・ビットとパリティ・コードが格納され
る、前記(25)記載のデータ記憶媒体。 (27)前記データ記憶媒体上に、前記データ項目とは
別にパリティ・ビットとパリティ・コードが格納され
る、前記(26)記載のデータ記憶媒体。 (28)前記パリティ・ブロックは、前記パリティ・ブ
ロックをデータ項目とは区別するフラグを含む、前記
(24)記載のデータ記憶媒体。 (29)前記パリティ・マップは、前記パリティ・ブロ
ックをデータ項目とは区別するフラグを含む、前記(2
4)記載のデータ記憶媒体。 (30)前記第1の所定数のデータ項目のうち不良デー
タ項目を読取るステップと、前記不良データ項目を不良
と認識するステップと、前記不良データ項目に関連づけ
られたパリティ・ブロックを見つけるステップと、前記
パリティ・ブロックと、前記第1の所定数のデータ項目
のうち欠陥のないすべてのデータ項目を読取るステップ
と、前記パリティ・ブロックと欠陥のないデータ項目を
使用して前記不良データ項目を復元するステップと、を
含む、前記(24)記載のデータ記憶媒体。 (31)データ記憶ドライブに接続されたデータ記憶媒
体との間でデータを選択的に読取り書込む読取り/書込
みユニットと、データ・コントローラと、を含み、前記
データ・コントローラは、ホストに接続されたインタフ
ェースと、前記読取り/書込みユニットに接続されたバ
ッファと、前記インタフェース、バッファ、及び読取り
/書込みユニットに接続され、前記インタフェースを通
して前記ホストから受信されたデジタル・データを、前
記データ記憶媒体上に格納するための手続きを実行する
ようプログラムされた、プロセッサと、を含み、前記手
続きは、第1の所定数のデータ項目を、データ記憶媒体
の、少なくとも前記第1の所定数と同数の第2の所定数
の位置を有する連続ブロックの選択された位置に格納す
るステップと、パリティ・ルーチンを前記第1の所定数
のデータ項目に適用することによってパリティ計算を生
成するステップと、前記第1の所定数のデータ・バイト
が格納された前記選択された位置を表すパリティ・マッ
プを生成するステップと、前記パリティ計算とパリティ
・マップを前記データ記憶媒体に格納するステップと、
を含む、データ記憶ドライブ。 (32)データ記憶ドライブに接続されたデータ記憶媒
体との間でデータを選択的に読取り書込む読取り/書込
みユニットと、データ・コントローラと、を含み、前記
データ・コントローラは、ホストに接続されたインタフ
ェースと、前記読取り/書込みユニットに接続されたバ
ッファと、前記インタフェース、バッファ、及び読取り
/書込みユニットに接続され、前記インタフェースを通
して前記ホストから受信されたデジタル・データを、前
記データ記憶媒体上に格納するための手続きを実行する
ようプログラムされた、プロセッサと、を含み、前記手
続きは、第1の数のデータ項目をデータ記憶媒体の連続
位置に格納するステップと、パリティ・ルーチンを前記
第1の数のデータ項目に適用することによってパリティ
計算を生成するステップと、前記第1の数のデータ項目
を表すパリティ・マップを生成するステップと、前記パ
リティ計算とパリティ・マップを前記データ記憶媒体に
格納するステップと、を含む、データ記憶ドライブ。
【図1】これまでのROMに見られるパリティ格納方式
の図である。
の図である。
【図2】本発明の実施例に従った、データ記憶ドライブ
のハードウェア構成要素と相互接続のブロック図であ
る。
のハードウェア構成要素と相互接続のブロック図であ
る。
【図3】本発明の実施例に従ったデータ記憶媒体の斜視
図である。
図である。
【図4】本発明の固定長格納例に従った、データとパリ
ティの格納の設定を示すブロック図である。
ティの格納の設定を示すブロック図である。
【図5】本発明の可変長格納例に従った、データとパリ
ティの格納の設定を示すブロック図である。
ティの格納の設定を示すブロック図である。
【図6】本発明に従ってデータを格納するタスクのシー
ケンス例のフローチャートを示す図である。
ケンス例のフローチャートを示す図である。
【図7】本発明に従って不良データを復元するタスクの
シーケンス例のフローチャートを示す図である。
シーケンス例のフローチャートを示す図である。
100 グループ 101 データ・セクタ 102、106 バイト 104 パリティ・セクタ 108、110 ECCシンドローム 200 データ記憶ドライブ 202 プロセッサ 204 メモリ・ユニット 206 不揮発性メモリ(ROM等) 208 揮発性メモリ(RAM等) 210 インタフェース 212 ホスト 214 ECCユニット 216 メモリ・バッファ 218 読取り/書込みヘッド 220 直接アクセス・データ記憶媒体(DASD) 300 コンピュータ・ディスケット 400、500 パリティ・ブロック 402、502 データ・ブロック 403、503 パリティ計算 404、504 パリティ・コード 406、506 パリティ・フラグ 408、508 パリティ・マップ 409、509 データ項目
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マリオ・ブラウム アメリカ合衆国95118、カリフォルニア州 サン・ホセ、マニラ・ドライブ 341 (72)発明者 ジョン・イー・クラコスキー アメリカ合衆国85715、アリゾナ州ツーソ ン、ノルウッド・プレイス 7541 (72)発明者 カート・アレン・ラビン アメリカ合衆国95050、カリフォルニア州 サンタ・クララ、スーザン・ドライブ 2377
Claims (32)
- 【請求項1】第1の所定数のデータ項目を、データ記憶
媒体の、少なくとも第1の所定数と同数の第2の所定数
の位置を持つ連続ブロックの選択された位置に格納する
ステップと、 パリティ・ブロックを生成するための、 前記第1の所定数のデータ項目にパリティ・ルーチンを
適用してパリティ計算を形成するステップと、 前記第1の所定数のデータ・バイトが格納された前記選
択された位置を表すパリティ・マップを形成するステッ
プと、を含み、 前記パリティ・ブロックを前記データ記憶媒体に格納す
るステップと、 を含む、デジタル・データを格納する方法。 - 【請求項2】各データ項目は1セクタを含む、請求項1
記載の方法。 - 【請求項3】各ブロック位置は異なるデータ・セクタに
対応する、請求項1記載の方法。 - 【請求項4】前記パリティ・ブロックとパリティ・マッ
プを格納するステップは、前記データ項目の直後に前記
パリティ・ブロックとパリティ・ビットを格納するステ
ップを含む、請求項1記載の方法。 - 【請求項5】前記パリティ・ブロックとパリティ・マッ
プを格納するステップは、前記データ項目とは別に前記
パリティ・ブロックとパリティ・ビットを格納するステ
ップを含む、請求項1記載の方法。 - 【請求項6】前記パリティ・ブロックは、前記パリティ
・ブロックをデータ項目とは区別するフラグを含む、請
求項1記載の方法。 - 【請求項7】前記パリティ・マップは、前記パリティ・
ブロックをデータ項目とは区別するフラグを含む、請求
項1記載の方法。 - 【請求項8】前記第1の所定数のデータ項目のうち不良
データ項目を読取るステップと、 前記不良データ項目を不良と認識するステップと、 前記不良データ項目に関連づけられたパリティ・ブロッ
クを見つけるステップと、 前記パリティ・ブロックと、前記第1の所定数のデータ
項目のうち欠陥のないすべてのデータ項目を読取るステ
ップと、 前記パリティ・ブロックと欠陥のないデータ項目を使用
して前記不良データ項目を復元するステップと、 を含む、請求項1記載の方法。 - 【請求項9】第1の数のデータ項目をデータ記憶媒体上
の連続位置に格納するステップと、 前記第1の数のデータ項目にパリティ計算ルーチンを適
用してパリティ・ブロックを生成するステップと、 前記第1の数のデータ項目を表すパリティ・マップを生
成するステップと、 前記パリティ・ブロックとパリティ・マップを前記デー
タ記憶媒体に格納するステップと、 を含む、デジタル・データを格納する方法。 - 【請求項10】各データ項目は1セクタを含む、請求項
9記載の方法。 - 【請求項11】前記データ記憶媒体上に、前記データ項
目に続いてパリティ・ビットとパリティ・コードが格納
される、請求項9記載の方法。 - 【請求項12】前記データ記憶媒体上に、前記データ項
目とは別にパリティ・ビットとパリティ・コードが格納
される、請求項9記載の方法。 - 【請求項13】前記パリティ・ブロックは、前記パリテ
ィ・ブロックをデータ項目とは区別するフラグを含む、
請求項9記載の方法。 - 【請求項14】前記パリティ・マップは、前記パリティ
・ブロックをデータ項目とは区別するフラグを含む、請
求項9記載の方法。 - 【請求項15】前記第1の所定数のデータ項目のうち不
良データ項目を読取るステップと、 前記不良データ項目を不良と認識するステップと、 前記不良データ項目に関連づけられたパリティ・ブロッ
クを見つけるステップと、 前記パリティ・ブロックと、前記第1の所定数のデータ
項目のうち欠陥のないすべてのデータ項目を読取るステ
ップと、 前記パリティ・ブロックと欠陥のないデータ項目を使用
して前記不良データ項目を復元するステップと、 を含む、請求項9記載の方法。 - 【請求項16】手続きを実行して、デジタル・データを
格納するために、デジタル・プロセッサによって実行可
能な命令のプログラムを明確に表すデータ記憶媒体であ
って、前記手続きは、 第1の所定数のデータ項目を、データ記憶媒体の、前記
第1の所定数と同数の第2の所定数の位置を有する連続
ブロックの選択された位置に格納するステップと、 パリティ計算ルーチンを前記第1の所定数のデータ項目
に適用することによってパリティ・ブロックを生成する
ステップと、 前記第1の所定数のデータ・バイトが格納された前記選
択された位置を表すパリティ・マップを生成するステッ
プと、 前記パリティ・ブロックとパリティ・マップを前記デー
タ記憶媒体に格納するステップと、 を含む、データ記憶媒体。 - 【請求項17】各データ項目は1セクタを含む、請求項
16記載のデータ記憶媒体。 - 【請求項18】各ブロック位置は異なるデータ・セクタ
に対応する、請求項16記載のデータ記憶媒体。 - 【請求項19】前記パリティ・ブロックとパリティ・マ
ップを格納するステップは、前記データ項目の直後に前
記パリティ・ブロックとパリティ・ビットを格納するス
テップを含む、請求項16記載のデータ記憶媒体。 - 【請求項20】前記パリティ・ブロックとパリティ・マ
ップを格納するステップは、前記データ項目とは別に前
記パリティ・ブロックとパリティ・ビットを格納するス
テップを含む、請求項16記載のデータ記憶媒体。 - 【請求項21】前記パリティ・ブロックは、前記パリテ
ィ・ブロックをデータ項目とは区別するフラグを含む、
請求項16記載のデータ記憶媒体。 - 【請求項22】前記パリティ・マップは、前記パリティ
・ブロックをデータ項目とは区別するフラグを含む、請
求項16記載のデータ記憶媒体。 - 【請求項23】前記第1の所定数のデータ項目のうち不
良データ項目を読取るステップと、 前記不良データ項目を不良と認識するステップと、 前記不良データ項目に関連づけられたパリティ・ブロッ
クを見つけるステップと、 前記パリティ・ブロックと、前記第1の所定数のデータ
項目のうち欠陥のないすべてのデータ項目を読取るステ
ップと、 前記パリティ・ブロックと欠陥のないデータ項目を使用
して前記不良データ項目を復元するステップと、 を含む、請求項16記載のデータ記憶媒体。 - 【請求項24】手続きを実行して、デジタル・データ
を、データの損失に対して安定性/信頼性を高めて格納
するために、デジタル・プロセッサによって実行可能な
命令のプログラムを明確に表すデータ記憶媒体であっ
て、前記手続きは、 第1の数のデータ項目を、データ記憶媒体の連続位置に
格納するステップと、 パリティ計算ルーチンを前記第1の数のデータ項目に適
用することによってパリティ・ブロックを生成するステ
ップと、 前記第1の数のデータ・バイトを表すパリティ・マップ
を生成するステップと、 前記パリティ・ブロックとパリティ・マップを前記デー
タ記憶媒体に格納するステップと、 を含む、データ記憶媒体。 - 【請求項25】各データ項目は1セクタを含む、請求項
24記載のデータ記憶媒体。 - 【請求項26】前記データ記憶媒体上に、前記データ項
目に続いてパリティ・ビットとパリティ・コードが格納
される、請求項25記載のデータ記憶媒体。 - 【請求項27】前記データ記憶媒体上に、前記データ項
目とは別にパリティ・ビットとパリティ・コードが格納
される、請求項26記載のデータ記憶媒体。 - 【請求項28】前記パリティ・ブロックは、前記パリテ
ィ・ブロックをデータ項目とは区別するフラグを含む、
請求項24記載のデータ記憶媒体。 - 【請求項29】前記パリティ・マップは、前記パリティ
・ブロックをデータ項目とは区別するフラグを含む、請
求項24記載のデータ記憶媒体。 - 【請求項30】前記第1の所定数のデータ項目のうち不
良データ項目を読取るステップと、 前記不良データ項目を不良と認識するステップと、 前記不良データ項目に関連づけられたパリティ・ブロッ
クを見つけるステップと、 前記パリティ・ブロックと、前記第1の所定数のデータ
項目のうち欠陥のないすべてのデータ項目を読取るステ
ップと、 前記パリティ・ブロックと欠陥のないデータ項目を使用
して前記不良データ項目を復元するステップと、 を含む、請求項24記載のデータ記憶媒体。 - 【請求項31】データ記憶ドライブに接続されたデータ
記憶媒体との間でデータを選択的に読取り書込む読取り
/書込みユニットと、 データ・コントローラと、を含み、前記データ・コント
ローラは、 ホストに接続されたインタフェースと、 前記読取り/書込みユニットに接続されたバッファと、 前記インタフェース、バッファ、及び読取り/書込みユ
ニットに接続され、前記インタフェースを通して前記ホ
ストから受信されたデジタル・データを、前記データ記
憶媒体上に格納するための手続きを実行するようプログ
ラムされた、プロセッサと、を含み、前記手続きは、 第1の所定数のデータ項目を、データ記憶媒体の、少な
くとも前記第1の所定数と同数の第2の所定数の位置を
有する連続ブロックの選択された位置に格納するステッ
プと、 パリティ・ルーチンを前記第1の所定数のデータ項目に
適用することによってパリティ計算を生成するステップ
と、 前記第1の所定数のデータ・バイトが格納された前記選
択された位置を表すパリティ・マップを生成するステッ
プと、 前記パリティ計算とパリティ・マップを前記データ記憶
媒体に格納するステップと、を含む、 データ記憶ドライブ。 - 【請求項32】データ記憶ドライブに接続されたデータ
記憶媒体との間でデータを選択的に読取り書込む読取り
/書込みユニットと、 データ・コントローラと、を含み、前記データ・コント
ローラは、 ホストに接続されたインタフェースと、 前記読取り/書込みユニットに接続されたバッファと、 前記インタフェース、バッファ、及び読取り/書込みユ
ニットに接続され、前記インタフェースを通して前記ホ
ストから受信されたデジタル・データを、前記データ記
憶媒体上に格納するための手続きを実行するようプログ
ラムされた、プロセッサと、を含み、前記手続きは、 第1の数のデータ項目をデータ記憶媒体の連続位置に格
納するステップと、 パリティ・ルーチンを前記第1の数のデータ項目に適用
することによってパリティ計算を生成するステップと、 前記第1の数のデータ項目を表すパリティ・マップを生
成するステップと、 前記パリティ計算とパリティ・マップを前記データ記憶
媒体に格納するステップと、を含む、 データ記憶ドライブ。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/450,123 US5737344A (en) | 1995-05-25 | 1995-05-25 | Digital data storage with increased robustness against data loss |
| US450123 | 1995-05-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08321138A true JPH08321138A (ja) | 1996-12-03 |
Family
ID=23786856
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8082211A Pending JPH08321138A (ja) | 1995-05-25 | 1996-04-04 | デジタル・データを格納する方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5737344A (ja) |
| JP (1) | JPH08321138A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005327450A (ja) * | 2004-05-12 | 2005-11-24 | Samsung Electronics Co Ltd | オーディオプレーヤーにおける音飛び防止機能のためのオーディオ符号化方法およびオーディオ符号化装置 |
| US7380198B2 (en) | 2003-06-11 | 2008-05-27 | International Business Machines Corporation | System and method for detecting write errors in a storage device |
| US8707134B2 (en) | 2010-12-24 | 2014-04-22 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
| US9021183B2 (en) | 2010-12-24 | 2015-04-28 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
Families Citing this family (19)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5889934A (en) * | 1997-02-24 | 1999-03-30 | Data General Corporation | Data validation system for a group of data storage disks |
| JP2000242440A (ja) * | 1999-02-25 | 2000-09-08 | Alps Electric Co Ltd | ディスク装置 |
| US7389466B1 (en) * | 1999-08-12 | 2008-06-17 | Texas Instruments Incorporated | ECC in computer system with associated mass storage device, and method for operating same |
| US20020178316A1 (en) * | 2001-05-23 | 2002-11-28 | Schmisseur Mark A. | System and method for defining private functions of a multi-function peripheral device |
| US20020178317A1 (en) * | 2001-05-23 | 2002-11-28 | Schmisseur Mark A. | System and method for defining private functions of a multi-function peripheral device |
| US6883131B2 (en) * | 2001-09-28 | 2005-04-19 | Sun Microsystems, Inc. | XOR processing incorporating error correction code data protection |
| US6904540B2 (en) | 2001-10-29 | 2005-06-07 | Hewlett-Packard Development Company, L.P. | Targeted data protection |
| US6928515B2 (en) * | 2002-11-09 | 2005-08-09 | International Business Machines Corporation | Integrated sector format-error correction code system and method for efficient writing in a disk array system |
| US6891690B2 (en) * | 2002-11-20 | 2005-05-10 | International Business Machines Corporation | On-drive integrated sector format raid error correction code system and method |
| US20050091452A1 (en) * | 2003-10-28 | 2005-04-28 | Ying Chen | System and method for reducing data loss in disk arrays by establishing data redundancy on demand |
| US8645622B2 (en) * | 2003-11-18 | 2014-02-04 | International Business Machines Corporation | Method to protect data on a disk drive from uncorrectable media errors |
| US7188212B2 (en) * | 2004-05-06 | 2007-03-06 | International Business Machines Corporation | Method and system for storing data in an array of storage devices with additional and autonomic protection |
| US7093157B2 (en) * | 2004-06-17 | 2006-08-15 | International Business Machines Corporation | Method and system for autonomic protection against data strip loss |
| GB0508395D0 (en) * | 2005-04-26 | 2005-06-01 | Renishaw Plc | Method for scanning the surface of a workpiece |
| US8988800B1 (en) * | 2009-09-15 | 2015-03-24 | Marvell International Ltd. | Error correction for storage devices |
| US9069687B2 (en) * | 2010-01-29 | 2015-06-30 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Memory read-channel with selective transmission of error correction data |
| EP2863566B1 (en) | 2013-10-18 | 2020-09-02 | Université de Nantes | Method and apparatus for reconstructing a data block |
| US10120797B1 (en) * | 2016-09-30 | 2018-11-06 | EMC IP Holding Company LLC | Managing mapping metadata in storage systems |
| CN114327239B (zh) * | 2020-09-27 | 2024-08-20 | 伊姆西Ip控股有限责任公司 | 存储和访问数据的方法、电子设备和计算机程序产品 |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4949326A (en) * | 1986-12-10 | 1990-08-14 | Matsushita Electric Industrial Co., Ltd. | Optical information recording and reproducing system using optical disks having an error correction function |
| FR2426938A1 (fr) * | 1978-05-26 | 1979-12-21 | Cii Honeywell Bull | Dispositif de detection de secteurs defectueux et d'allocation de secteurs de remplacement dans une memoire a disques |
| US4796110A (en) * | 1986-02-18 | 1989-01-03 | Irwin Magnetic Systems, Inc. | System and method for encoding and storing digital information on magnetic tape |
| US4972316A (en) * | 1987-03-30 | 1990-11-20 | International Business Machines Corporation | Method of handling disk sector errors in DASD cache |
| JPS63251968A (ja) * | 1987-04-08 | 1988-10-19 | Pioneer Electronic Corp | デイスク記録方式 |
| EP0348240B1 (en) * | 1988-06-24 | 1996-05-08 | Nec Corporation | Microprocessor equipped with parity control unit on same chip |
| US5157669A (en) * | 1988-10-14 | 1992-10-20 | Advanced Micro Devices, Inc. | Comparison of an estimated CRC syndrome to a generated CRC syndrome in an ECC/CRC system to detect uncorrectable errors |
| JPH02105730A (ja) * | 1988-10-14 | 1990-04-18 | Sony Corp | データ記録方法 |
| US5185746A (en) * | 1989-04-14 | 1993-02-09 | Mitsubishi Denki Kabushiki Kaisha | Optical recording system with error correction and data recording distributed across multiple disk drives |
| US5239637A (en) * | 1989-06-30 | 1993-08-24 | Digital Equipment Corporation | Digital data management system for maintaining consistency of data in a shadow set |
| GB8926004D0 (en) * | 1989-11-17 | 1990-01-10 | Inmos Ltd | Repairable memory circuit |
| US5233618A (en) * | 1990-03-02 | 1993-08-03 | Micro Technology, Inc. | Data correcting applicable to redundant arrays of independent disks |
| JP2776006B2 (ja) * | 1990-07-06 | 1998-07-16 | 松下電器産業株式会社 | 情報記録再生装置 |
| US5241531A (en) * | 1990-11-07 | 1993-08-31 | Matsushita Graphic Communication Systems, Inc. | Storage medium having read/write storage region and read-only storage region and a method for managing defective sectors in the storage medium |
| JPH04178978A (ja) * | 1990-11-14 | 1992-06-25 | Ricoh Co Ltd | 情報再生装置とその制御方法 |
| US5287478A (en) * | 1991-08-06 | 1994-02-15 | R-Byte, Inc. | Digital data tape storage system utilizing plurality of read/write heads with system diagnostic capability |
| US5331646A (en) * | 1992-05-08 | 1994-07-19 | Compaq Computer Corporation | Error correcting code technique for improving reliablility of a disk array |
-
1995
- 1995-05-25 US US08/450,123 patent/US5737344A/en not_active Expired - Lifetime
-
1996
- 1996-04-04 JP JP8082211A patent/JPH08321138A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7380198B2 (en) | 2003-06-11 | 2008-05-27 | International Business Machines Corporation | System and method for detecting write errors in a storage device |
| JP2005327450A (ja) * | 2004-05-12 | 2005-11-24 | Samsung Electronics Co Ltd | オーディオプレーヤーにおける音飛び防止機能のためのオーディオ符号化方法およびオーディオ符号化装置 |
| US8707134B2 (en) | 2010-12-24 | 2014-04-22 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
| US9021183B2 (en) | 2010-12-24 | 2015-04-28 | Kabushiki Kaisha Toshiba | Data storage apparatus and apparatus and method for controlling nonvolatile memories |
Also Published As
| Publication number | Publication date |
|---|---|
| US5737344A (en) | 1998-04-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH08321138A (ja) | デジタル・データを格納する方法 | |
| US7984328B1 (en) | System and method for reducing unrecoverable media errors | |
| US5519844A (en) | Logical partitioning of a redundant array storage system | |
| US5758054A (en) | Non-volatile memory storage of write operation identifier in data storage device | |
| JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
| US7281089B2 (en) | System and method for reorganizing data in a raid storage system | |
| US7386758B2 (en) | Method and apparatus for reconstructing data in object-based storage arrays | |
| US6021463A (en) | Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem | |
| US7080200B2 (en) | System and method for handling writes in HDD using 4K block sizes | |
| US7464322B2 (en) | System and method for detecting write errors in a storage device | |
| US8112679B2 (en) | Data reliability bit storage qualifier and logical unit metadata | |
| US7523257B2 (en) | Method of managing raid level bad blocks in a networked storage system | |
| US20050086429A1 (en) | Method, apparatus and program for migrating between striped storage and parity striped storage | |
| EP0517823A1 (en) | Data corrections applicable to redundant arrays of independent disks | |
| US7386754B2 (en) | Method and apparatus to improve magnetic disc drive reliability using excess un-utilized capacity | |
| US20090113236A1 (en) | Disk management method, disk management device and storage system | |
| US6611827B1 (en) | Redundant disk array and method for redundant disk array access using contiguous page grouping | |
| JP2005004733A (ja) | ストレージ・システムにおいて書込みエラーを検出するための配置構成および方法 | |
| JP2002175157A (ja) | ディスクアレイ装置 | |
| JP3615250B2 (ja) | ディスクアレイ装置 | |
| JPH0816327A (ja) | ディスクアレイ装置 | |
| JPH0736633A (ja) | 磁気ディスクアレイ | |
| JPH05313833A (ja) | アレイ型ディスク駆動機構システム | |
| JPH0240169A (ja) | ディスク装置の代替処理方法 |