JP2771537B2 - データ誤り訂正装置 - Google Patents

データ誤り訂正装置

Info

Publication number
JP2771537B2
JP2771537B2 JP62265185A JP26518587A JP2771537B2 JP 2771537 B2 JP2771537 B2 JP 2771537B2 JP 62265185 A JP62265185 A JP 62265185A JP 26518587 A JP26518587 A JP 26518587A JP 2771537 B2 JP2771537 B2 JP 2771537B2
Authority
JP
Japan
Prior art keywords
data
sub
block
data storage
error
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.)
Expired - Lifetime
Application number
JP62265185A
Other languages
English (en)
Other versions
JPS63180136A (ja
Inventor
ブルース ハートネス カール
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHIIGEITO TEKUNOROJII INTERN
Original Assignee
SHIIGEITO TEKUNOROJII INTERN
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SHIIGEITO TEKUNOROJII INTERN filed Critical SHIIGEITO TEKUNOROJII INTERN
Publication of JPS63180136A publication Critical patent/JPS63180136A/ja
Application granted granted Critical
Publication of JP2771537B2 publication Critical patent/JP2771537B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】 (発明の分野) 本発明はハード・デイスク装置のデータ誤り訂正装置
に関する。 (発明の背景技術) データの不揮発性大容量記憶装置に対する今日の選択
は磁気デイスク記憶装置である。本明細書で特に興味あ
る型の磁気デイスク記憶装置はいわゆるハード・デイス
ク・ドライブであり、比較的高速度で回転する1枚以上
の堅牢なデイスクを有することは意外ではない。各デイ
スク面は、デイスク上のデータを読み書きするため空力
的に自身の変換器を数マイクロインチ離して懸架させて
いる。大規模データ処理施設では、全て単一の中央コン
ピユータにデータ記憶をえ与えるいくつかのドライブが
ある。しばらくの間、個々のデイスク記憶装置と中央コ
ンピユータとの間のデータ速度を改良するためいくつか
のデイスク面の同時読出又は書込が考えられた。大規模
半導体メモリの最近の出現により、ドライブと中央メモ
リとの間のデータ伝送の困難な同期の問題は、デイスク
の角度位置の差を補償するためのバツフアとして半導体
メモリを単に用いることにより解決された。 デイスク・ドライブの信頼性は最近数年、相当改良さ
れてきたが、それにも係らず装置は電子機械的で、時折
の故障をうけやすい。これらの故障は読出機能に影響す
る回路欠陥によつて生じ、この場合データ失われない。
データへのアクセスを得るためには欠陥回路を修理する
ことのみが必要である。しかしながら、故障が不都合な
時間に生じた場合、使用者にとつて遅延は大きな出費を
生じる。故障が書込回路又は媒体自体に発生した場合、
データは永久に失われる。故障がいわゆるヘツド・クラ
ツシユで、ヘツドがデイスク面に当り破壊した場合、デ
ータは永久に失われる。これらの場合は通常単一のドラ
イブ又はドライブ・コントローラのみが関係しているこ
とを特徴としている。 多くの場合、施設のデイスク・ドライブに記憶したデ
ータはドライブ自体より貴重である。これは、データが
コンピユータ又は人間の時間の主要投資を表わしている
状況で生じる。時折、データは例えば実時間環境又は給
与支払や経営報告のような時間変動材料を印刷する時に
時間関連値を有する。それ故、ドライブ故障によるデー
タ損失のコストはしばしば受け入れがたく高いため、通
常高信頼性の記憶装置を設計しなければならない。従つ
て、データのこのような損失やアクセスの遅れを避ける
ためには実質的な動機づけがある。 これらの問題のいくつかに対する公知の従来技術の解
決は、データを検出し修正するための冗長データの使用
に関係する。いわゆる行及び列誤り訂正法は行及び列パ
リテイを用いる。すなわち、データ・ブロックのビツト
を行と列に(少なくとも概念的に)配置し、各行と列の
パリテイ・ビツトをデータ・ブロツクと共に記録する。
パリテイ・ビツトは予め定めた規則に従つて、行又は列
のような関連するビツト群に対して、ビツト群中の2進
数「1」の数が奇数又は偶数のどちらであるかを指示す
るように選択される。通常奇数パリテイが用いられ、こ
の場合関連する群中の「1」データ・ビツトの数が偶数
の場合にパリテイ・ビツトは1にセツトされ、従つてこ
の群のビツト総数は奇数であり、全ての場合に少なくと
も1つのビツトが存在することを保証する。 ブロツクを記録媒体から読出した時に単一行と単一列
のパリテイが不当な場合、ある確度で不正なパリテイを
有する行と列の両方に共通なビツト自体が不正であると
考えられる。この共通ビツトを反転することにより誤り
は訂正可能である。データを比較的短いバイト、例えば
6又は8ビツトの行群に分割し、行パリテイ・ビツトを
各バイトに記録するのが普通である。反対に、ビツトの
列群は極めて長い。 誤り検出訂正の別の方法はいわゆる誤り訂正コード
(ECC)の類により表わされ、このコードも各データ・
ブロツクに多数の冗長ビツトの作成を含む。これらの方
法の内のいくつかに共通な総称名はフアイヤ・コードと
リード・ソロモン・コードである。これらはデータ・ブ
ロツク中の多くの誤りを検出可能であり、加えてブロツ
ク中のいくつかの誤りビツトの訂正を可能とする。この
ようなECCの公知の制限は、ブロツク中の数個以上の誤
りを訂正不能である点と、1または2の広く拡がつたビ
ツト誤りを訂正できない点である。従つて、これは誤り
が磁気媒体に生じるように互いに数ビツト内に集中して
いるいわゆるバースト誤りを訂正するのに特に適してい
る。従つて、デイスクやテープ・ドライブのような種類
のデータ記憶装置内でECC冗長度を用いるのが習慣であ
る。 読出電子系も又時折誤りを発生しやすいものである
が、これらは通常互いに広く間隔をおいたランダムな単
一ビツト誤りか又は規則的かつ相対的に短い間隔で互い
に間をおいた誤りのどちらかである。これらのランダム
な誤りは通常「ソフト」で、すなわち繰返さず、記憶媒
体からデータを再読出しすることにより修正可能であ
る。読出後バイト・パリテイ冗長度(以後バイト・パリ
テイ)を用いてこれらの誤りを検出する。バイト・パリ
テイは、読出し直後に関連バイトのパリテイ誤り検出を
行なうパリテイ・ビツトをデータ中に規則的間隔で(す
なわち各バイトに)挿入することを意味する。規則的に
間隔をおいた誤りは通常読取時の直列並列変換後の故障
を指示する。このような誤りは容易に訂正はできない
が、少なくとも媒体からの読出し後にデータに追加した
バイト・パリテイ冗長度により検出可能である。記憶媒
体自体にECC冗長度を使用し、かつ記憶媒体に大量の冗
長データを記憶させることなく読出し時にデータ処理の
一体性に最大の確信度を与えるよう読出し時はバイト・
パリテイとECC冗長度の両方を使用することが通常の習
慣である。さらに、2組の冗長情報を重ね合せてデータ
路の部分が誤り検出訂正により保護されないことのない
ようにすることが望ましい。 磁気テープ・データ記憶装置に上述のように行及び列
誤り訂正を使用することも知られている。多数の行の同
じビツトが誤つた場合、この方法は影響をうけた列の再
構成を可能とする。これは、テープ媒体欠陥は殆んど行
から行への単一ビツト位置に限定されないため、通常列
のヘツド又は電子系の故障の結果である。 (発明の要旨) 以後説明する本発明の重要な識見は、多重データ記憶
装置を有する標準的な現状のデータ処理施設を設計する
ことを可能とし、単一の記憶装置の故障は同様の装置の
利用度に影響することなく独立に発生する。例えば、各
々は自身の電源とコントローラを有し、これは現在技術
的には妥当な追加コストで可能である。 本発明では、データ・ブロツクは多数のデータ副ブロ
ツクに分割され、その各々は自身の誤り検出訂正情報と
共に異なるデータ記憶装置(DSU)に記憶用にコード化
される。副ブロツクは、各ビツトが順番中の位置により
識別できる順番に構成した一定数のビツトから構成され
る。本発明を実装するため、各副ブロツク・ビツトは他
の副ブロツクの同様に位置するビツトと関連してビツト
行を形成する。(動作速度を最大化するため)記憶装置
を大体同期させて、副ブロツクの全てを大体同じ間隔と
大体同じビツト速度で読出すことが望ましい。 本装置は、任意のデータ副ブロツクを残りのデータ副
ブロツクと冗長データ副ブロツクから再構成することを
可能とするデータ再構成アルゴリズムが存在する所定の
アルゴリズムに従つてデータ副ブロツクの冗長データ副
ブロツクを発生する。冗長データ副ブロツクはパリテイ
・ビツトの組を含み、1パリテイ・ビツトが各ビツト行
と論理的かつ位置的に関係することが望ましい。他の冗
長なデータ記憶装置はこの冗長データ副ブロツクを記憶
する。書込時には、冗長データ・ブロツクがデータ・ブ
ロツクと同時に記憶されることを可能とするようにビツ
ト行をデータ記憶装置に送るにつれて冗長データ副ブロ
ツクをビツト毎に発生するのが都合がよい。特定ブロツ
クの読出し時には、各冗長データ・ブロツク・ビツトは
その行と大体同じ時間に利用可能となる。 2個の近代データ記憶装置が同時に故障する確率は非
常に少い。従つて、単一の記憶装置が故障した時、これ
に付随する誤り検出機構は誤り信号を発生する。前述し
たように、関連する列誤り検出器により検出されること
なく誤りが任意の列(又は副ブロツク)で発生可能であ
ることは非常に起りがたい。副ブロツクでの誤りの検出
は個々の行に作用するデータ再構成装置を作動させるた
めに用いられる。パリテイ誤りを有する各行は、誤り信
号を発生する列中のビツトを反転することにより訂正さ
れる。望ましい実施例における本発明の装置はいくつか
の種類の多重誤りを訂正可能である。 最も起り得る多重誤り故障モードは単一の副ブロツク
が全ての誤りを含む場合である。この物理的基礎は、単
一のデータ記憶装置の媒体又は回路の欠陥が副ブロツ
ク、又はこの件については、同一記憶装置に記憶されて
いる多くの副ブロツク中の1ビツト以上に影響を与え
る。上述したように、1台のデータ記憶装置の故障でさ
えもまれな事象であるため、短時間内の2台の故障は極
度にまれである。 望ましい実施例では、バイト誤り検出コードがデータ
記憶装置により与えられる各データ副ブロツク信号にコ
ード化した個々のバイトに対して発生される。このバイ
ト誤り検出コードは、前記各バイト中のある種のデータ
誤りを検出する段階を一部として含む所定のバイト誤り
検出アルゴリズムに従つて発生される。さらに、本実施
例のデータ冗長装置は、所定の訂正アルゴリズムに従つ
て冗長データ副ブロツクと他のデータ副ブロツクの関連
バイトを用いることによりデータ副ブロツク中のバイト
の訂正を可能とする型式の副ブロツクを所定のアルゴリ
ズムに従つて発生する。この方法は、関係する副ブロツ
ク・バイトの群の内の1個以上が誤りを有していない限
り同一ブロツクの異なる副ブロツクで発生する1つ以上
の誤りの訂正を可能とすることに注意されたい。 本装置はデイスク・ドライブ・データ記憶装置として
の実装に特に適している。前述したように、いくつかの
データ記憶装置を同時に読取書込することによりデータ
転送速度を増大することが有利である。多くのデイスク
・ドライブが独立である、すなわち他のドライブを故障
させることは起き得ないように装置を設計することは比
較的に容易である。 従つて、本発明の1つの目的は、多重記憶装置データ
記憶装置内のデータ損失の確率を個々の記憶装置故障の
確率の一部にまで減少させることである。 第2の目的は、データ速度を増すため記憶装置を同時
に読取書込可能にすることである。 他の目的は、単一のデータ記憶装置(DSU)の故障に
より生じるデータ処理装置の動作における中断を避ける
ことである。 さらに他の目的は緊急保守の必要性と出費を避けるこ
とである。 関連する目的は、個々のデータ記憶装置の故障により
必要とされる保守を通常より安価な定期保守時まで延期
させることを可能とすることである。 他の関連する目的は、故障したDSUをオフラインとす
ることを可能とし、装置の残りは誤り訂正を作動させて
機能させつつ修理して、修理時の無中断装置動作を可能
とすることである。 他の目的は以下の説明から明らかとなる。 (望ましい実施例) 1.総論 以下に開示する望ましい装置は、通常選択するものよ
り少い数のデータ記憶装置を有する。しかしながら、選
択した数4は本発明の数示に従つて動作する装置を正確
に図示し、より望ましい8又は9データ記憶装置が生じ
るであろう混乱を避けることができる。多くの異なる本
発明の構成が可能であることに注意されたい。本実施例
の各種詳細は単なる例示であり、他を排除する意図のも
のではない。例えば、説明した機能を実装するために論
理回路には多くの変形が可能である。説明が進むにつ
れ、本発明が有する多くの特有の構成を読者に理解させ
るのに可能な変形が時折記述される。 本発明は、個々のデータ記憶副装置ブロツクを含むブ
ロツク線図である第1図を最初に参照して説明される。
個々のブロツクの機能は当業者が容易に理解できかつ発
明を構成できるように十分に詳細に記述してあると信じ
られる。個々のブロツクの多くは今日一般に入手可能な
1個以上のマイクロ回路素子を表わす。データ記憶装置
(DSU)19a,19b,19c,19dのような他の要素は例えば前述
したデイスク・ドライブ装置でもよい公知の装置であ
る。個々のブロツクは電気パルスにより表わされる個々
のビツトが流れるデータ路により接続される。平行線の
数を表わす数字を中に有する小円(例えば参照番号27)
により特に指示しない限り、個々の路上のデータ路は直
列と仮定され、すなわち個々のビツトは目的ブロツクへ
逐次的に与えられるか、又は路はある種の制御信号を担
持する。 これらの図面には本発明を正しく機能させるのに必要
な正確なタイミング関係を示す試みはなされていないこ
とも理解されたい。このようなタイミングの考慮は当該
技術で十分理解でき、従つて詳細に議論する必要はな
い。このため、詳細なタイミングを含むことは要素や本
発明の理論を明らかにせず不明瞭としやすいと感じられ
る。さらに、記述した説明は発明を理解し実装するのに
必要な全てのタイミング関係を明確に又は暗黙に設定す
る。 第2図は第1図より詳細部分を含んでいることに注意
されたい。これは第1図は第2図に示す装置により訂正
を可能とする形式でのデータの書込に主に関係している
からである。データの訂正又は再構成は、訂正を可能と
するのに要する冗長度と元のデータの単なる記録より本
質的により複雑な問題である。従つて本発明を適切に開
示するため、書込装置より読出装置を詳細に説明する必
要がある。 2.書込 第1図を見ると、第1図の装置がアイドルであるか又
はブロツクを受入れ可能である時に、各々が一定数のビ
ツトを含むデータ・ブロツクは外部データ源からデータ
路11上で一時に1つずつ利用可能となると考えることが
できる。各ブロツクは中に同数のビツト、標準的は数千
又は数万ビツトを有していると仮定すると都合がよい。
路11上のデータは、各々ECC発生器の13a,13b,13cへのデ
ータ路12a,12b,12c上に送信される等長の3副ブロツク
にデータ・ブロツクを分割するブロツク・分割器10によ
り受信される。ブロツク分割器10は2モードの内の一方
で動作するように設計可能であり、そのどちらも受入れ
可能である。第1のモードでは直列順が路11上のデータ
・ブロツクの全ビツトに対して設定され、第1、第4、
第7等が路12aに配置され、第2、第5、第8等が路12b
に、第3、第6、第9等が路12cに配置される。又は、
ブロツク分割器10は各データ・ブロツクを連続したビツ
ト群、すなわちバイトに分割可能であり、各第1群を路
12aに連続的に、各第2群を路12bに、各第3群を路12c
に配置する。 さらに、各副ブロツクを含むビツト順を指定し、各副
ブロツクの順番中の同一位置を占めるビツトを関係づけ
ると都合がよい。群中の各ビツトが異なる副ブロツクか
らである前記各ビツト群は、各副ブロツクが列を含むビ
ツト・マトリクスとの類推から以後行と呼ぶ。本実施例
では、各行を含むビツトはブロツク分割器10により同時
に発行される。ビツトが路12a,12b,12c上で直列又は並
列のどちらで与えられるかは問題ではないが、これらの
路で信号を受信する要素は選択した形式と適合するもの
でなければならない。 ECC発生器13a,13b,13cはその各入力データ路12a,12b,
12cで受信する各データ副ブロツクに対して誤り訂正検
出データを発生する実質的に同一の装置である。各副ブ
ロツクのECCコードは副ブロツクを受信する時に発生さ
れ、データは関連するECC発生器を介して渡されて関連
路14a,14b,14c上に配置される信号にコード化される。
データ副ブロツクの終了時に、ECCコード値は決定され
て、各データ路14a,14b,14cの信号にコード化され追加
される。前述したように、ECC発生器13a,13b,13cにより
使用されるアルゴリズムはデータ副ブロツク中の誤りを
検出する非常に高い見込みを与える。 行パリテイ発生器15も又ブロツク分割器10から路12a,
12b,12c上を行毎にデータ副ブロツクを受信する。各行
を形成するデータ・ビツトは路12a,12b,12c上の信号で
同時に与えられることを想起されたい。パリテイ発生器
15は路14a,14b,14c上に同時に与えられる各ビツト行の
パリテイを決定し、数十ナノ秒後にこのパリテイをコー
ド化した信号を路12dに与え、これにより路12a,12b,12c
上のデータと路12d上の関係行パリテイ・ビツトとの間
の近似的同期を保持する。実際事項として、路12a,12b,
12c上のビツト間隔の持続時間と比較して数十ナノ秒は
無視できる。ECC発生器13a,13b,13c,13dは全て同一の内
部速度を有する同様な装置と考えられる。従つてデータ
記憶装置(DSU)19a,19b,19c,19dは各行とパリテイ発生
器15により計算した行パリテイとを事実上同時に受信す
る。パリテイ発生器15が遅くて、ビツト行とその各々の
行パリテイ・ビツトとの間の同期を破壊する場合、例え
ば路14a,14b,14cに信号遅延を挿入することによりこの
問題に対処するのは簡単なことである。 一般の場合各行とそのパリテイは必ずしも同時にDSU1
9a,19b,19c,19dへ与えられる必要はないが、そのように
するのが通常望ましく、従つて各DSU19a,19b,19c,19dは
同時に作動し、ビツト記憶速度を増加する。記憶装置の
媒体として望ましいデイスクを使用する装置では、デイ
スク回転の同期化は各行のビツトがその記憶装置へ同時
に与えられる場合には記憶及び検索速度の両方に非常な
大幅増加を生じる。 DSU19a,19b,19cに記憶させるデータ・ブロツクが路11
に置かれた時、データの書込又は記憶が必要なことを指
定し、かつデータ・ブロツクを記憶させるデイスク上の
物理的位置を指定する信号を読取/書込制御路25に置
く。この信号源は第1図の装置を周辺装置として使用す
るCPU(中央処理装置、すなわちコンピユータ)である
か、又は装置コントローラであるか、又は両者からその
一部を供給されているかである。 本発明の目的はDSU19dにより装置へ与えられる冗長度
を用いてデータを再生成することによりDSU19a,19b,19c
の内の1つの故障に対処することである。追加DSUのコ
ストを正当化するためには、記憶されるデータと比較し
て装置は相対的に安価でなければならない。さらに、1
装置の故障は多くの場合他の故障とは独立でなければな
らない。すなわち、故障の原因は通常単一の装置のみが
故障するような種類のものでなければならず、そのとき
本発明の装置はデータを再生又は再生成可能である。こ
のような種類の例は電源やヒユーズ故障、論理及び信号
処理故障、磁気テープ及びデイスク装置のヘツド及び媒
体故障、誤つたケーブル接続等である。 本発明の装置が訂正不能な非独立故障の例は、全装置
を同時に故障させる電源故障又は全装置に共通のコント
ローラ・ハードウエアの故障である。しかし故障が個々
の装置の故障であり、他の装置が正常動作を続行してい
る場合、本発明は装置全体の信頼性に有用な寄与をなし
うる。 それ故、各DSUが自分のコントローラを持つて、コン
トローラの故障が単一の記憶装置に局所化している方が
望ましい。このようなDSUは相対的にまれに故障し、故
障は大部分互いに独立である。 DSU19a,19b,19c,19dが望ましいように磁気又は光デイ
スク・ドライブの場合、各DSUへのデイスク回転の同期
化はあるデイスク媒体上のビツト間隔順を他のDSU媒体
の同じ順番と永久に関連付けて、大体同じ時間間隔でそ
の読取/書込ヘツド下を関係する順列が通過するように
できる。このような同期化は簡単化した読取と真の並列
データ動作を可能とするさらなる利点を有する。 以下の説明は、望ましいデイスク・ドライブ装置がDS
U19a,19b,19c,19dとして使用されているという仮定で進
める。DSU19a,19b,19c,19dは全て3組の各行ビツトとそ
の関連するパリテイ・ビツトを殆んど同時に受信し記憶
する。連続する行の組と関係するパリテイ・ビツトがDS
U19a,19b,19c,19dへ与えられるにつれてこれらは記憶さ
れるため、副ブロツクの終了時にビツトは直列的にDSU1
9a,19b,19c,19d内でデイスク上に配置される。個々の副
ブロツクに続いてDSUのデイスクに直列的に記憶される
上述のECC情報が来る。従つて、ブロツクの書込が終了
すると、各副ブロツクはそのECC情報データを追加して
直列的に記憶される。さらに、個個のDSUスピンドルの
同期化のため、読取/書込ヘツドが関連する副ブロツク
を記憶するトラツクに位置決めされると、各々の行のビ
ツトが殆んど同時に各読取/書込ヘツドの下に現われ
る。 通常特定のデータ・ブロツクをDSU19a,19b,19c,19dの
デイスク上の所定の物理位置に記憶させるのが普通であ
る。従つて、データ・ブロツクはDSU19a,19b,19c,19d内
のデイスク媒体を担持するスピンドルの角度位置と同期
した時間にブロツク分割器10へ与えなければならない。
標準的には、読取/書込ヘツドが所要のデータ・トラツ
クに正しく位置決めされ、かつトラツクの所要物理長が
ヘツド下を通過する時に書込信号が読取/書込ヘツドに
現われるようにデイスクの角度位置がなつた時、記憶さ
せるデータ・ブロツクの転送を開始させるようデータ源
自体が信号を送る。信号源からのデータの転送とそれが
記憶されるデイスクとの間の同期と協働は公知である。 3.読取り 読取り時には、個々のDSU19a,19b,19c,19dに対して路
25上で発せられた所要データ・ブロツクの位置をコード
化する制御信号により、読取/書込ヘツドは所要データ
・ブロツクの副ブロツクを含むトラツク上に位置決めさ
れる。さらに、路25上の読取/書込信号は読取時の所要
機能を指定する。個々のビツト空間が読取/書込ヘツド
を通過するにつれて、DSU 19a,19b,19c,19dの各々は路
16a,16b,16c,16d上に担持される生のデータ信号、読取
/書込信号により指定されたトラツク空間に記憶された
副ブロツクのビツトをコード化する。生データ信号のビ
ツトは関係するDSU19a,19b,19c,19dにより与えられるよ
うな路15a,15b,15c,15d上のクロツク(CLK)信号が付随
する。1組の直列対並列回路26a,26b,26c,26dがその各
々のDSU19a,19b,19c,19dから生データとクロツク信号と
を受信し、各連続する組の8ビツト毎の並列バイト信号
を路17a,17b,17c,17d上に、次いで非常に短い一定時間
後にバイト・クロツク信号により関連路22a,22b,22c,22
d上に組立てる。 バイト・パリテイ発生器18a,18b,18c,18dは各々路17
a,17b,17c,17d上の8ビツト・バイトを受信し、受信し
たバイトに対して奇バイト・パリテイ・ビツトを発生
し、このパリテイ・ビツトを各々路24a,24b,24c,24d上
の信号にコード化する。バイト・パリテイ発生器18a,18
b,18c,18dは、各8ビツト・バイト信号とその関連する
バイト・パリテイ・ビツトが単一の9ビツト・バイトと
して処理可能なように、特定の8ビツト・バイト信号が
利用できる時間に対して非常な内部速度を有する型式の
ものである。これは、路24a,24b,24c,24d上のパリテイ
信号を路17a,17b,17c,17d上の関係バイト信号と組合せ
て路21a,21b,21c,21d上にコード化される9ビツト・バ
イト信号を形成することにより象徴されている。従つ
て、各クロツク信号路22a,22b,22c,22d上のクロツク信
号は個々のデータ及び行パリテイ・ビツトが各々路21a,
21b,21c,21d上に現われる時間を識別する。以後の処理
中にデータに誤りが生じた場合、この行パリテイの試験
はこのような誤りを非常に表われやすくし、以後説明す
る誤り訂正装置は異なる副ブロツクの誤りを多くの場合
に訂正可能である。 データ復元装置30はこれらのデータ及び行パリテイ信
号を受信し、訂正可能な誤りは訂正した路11上に元々供
給されたデータ・ブロツクをコード化した出力信号を路
62上に与える。DSU19a,19b,19c,19dにより検出された内
部故障は各々の故障信号路23a,23b,23c,23d上をデータ
復元装置30へ指示される。多くの場合、本装置は路23a,
23b,23c,23d上の故障信号により指示されるようなDSU19
a,19b,19c,19dの内の1つのデータの完全な損失からも
復元可能である。 4.誤り復元 第2図は、1個以上の他の方法では訂正不能な誤りの
存在にもかかわらず、又はDSU19a,19b,19cの内のどれか
に記憶した構成副ブロツクの入手不能の場合でさえも、
DSU19a,19b,19cに記載した全データ・ブロツクの再構成
を可能とする装置30の詳細を開示する。路25上の前途の
読取指令も制御論理素子50に信号を与えて読取列を開始
し、この段階は第2図に示した各種素子の説明と関連し
て以下に説明する。 読取回路の入力側の主要素子は、DSU19a,19b,19c,19d
の各々から路21a,21b,21c,21d上で受信した各副ブロツ
ク全体を記憶する副ブロツク・バツフア52a,52b,52c,52
dである。副ブロツク・バツフア52a,52b,52c,52dはこれ
からデータ副ブロツク読取り必要に応じて訂正する同様
の素子である。バイト・パリテイ、DSU故障信号、追加E
CC情報は全て訂正の必要性を決定するために使用され
る。バツフア52aを1例としてその使用を以下に説明す
る。バツフア52aはそのビツト位置をアドレスするため
内部ポインタ・レジスタを有する。この内部レジスタは
路25上の読取指令に応答して発生した路66上のRESET AD
R (ADd Ress)信号により最初にクリヤされる。内部ポ
インタ・レジスタは路68a上の各クロツク(CLK)信号パ
ルスにより1つずつ増加される。路65上の読取/書込選
択(R/W SEL)信号が論理1にセツトされると、これは
バツフア52aを書込みモードとし、個々の9ビツト・バ
イトがデータ路21aを介してバツフア52aへロードされ
て、そのポインタ・レジスタにより指定されるバツフア
52a中の位置へ記憶される又は書込まれる。路68a上の連
続するクロツク・パルスによりこのポインタ・レジスタ
はバツフア52aの内部メモリ中をまわり、内部ポインタ
・レジスタにより指示されるバツフア位置へ路21a上に
与えられる連続するバイトをロードする。 路65が論理0を担持していると、バツフア52aは読取
モードにセツトされ、ポインタ・レジスタによりアドレ
スされるバイト位置の内容をコード化した信号をデータ
路63a上に与える。ポインタ・レジスタの内容は路68a上
のパルスにより増加するため、路63aはバツフア52aに記
憶した各バイトをコード化する信号を連続的に担持す
る。さらに、バツフア52aが書込モードから最初に読取
モードに入つた時、路21a上のデータに追加されるECC情
報が得られるECCアルゴリズムの訂正部分がバツフア52a
内に実装されて、バツフア52aのデータを必要に応じて
可能ならば訂正する。同様の動作が各々の副ブロツク・
バツフア52b,52c,52dで関係している。 ECC検査素子57aは副ブロツク・バツフア52aに非常に
密接に関係していて、路21a上のデータ及びバイト・パ
リテイ信号を受信し、データ中の誤りを検出する相補的
機能を実行する。ECCアルゴリズムにより検出可能では
あるが訂正不能である誤りは路67a上の論理1でECC検査
素子57aにより独立に信号を与えられる。論理0は誤り
のない副ブロツクか又はバツフア52a内で誤りが訂正さ
れた副ブロツクのどちらかを指示している。検査素子57
b,57c,57dは同様にバツフア52b,52c,52dと関係し、同様
の機能を実行し、到着した副ブロツクに検出可能ではあ
るが訂正不能な誤りが存在する時に路67b,67c,67d上に
論理1信号を与え、他の場合は論理0を与える。各副ブ
ロツクの到着前に各検査素子57a,57b,57c,57dをリセツ
トする必要がある。 路25上の信号により要求された読取動作は制御論理素
子50を刺激して、まずDSU19a,19b,19c,19dから個々の副
ブロツクをバツフア52a,52b,52c,52dヘロードし、次い
で必要に応じて可能なら訂正した副ブロツク・バイトを
連続的に路62a,62b,62c,62d上へ最後に与える信号列を
実行する。最初に、制御論理素子50は、副ブロツク・バ
ツフア52a,52b,52c,52dの内部ポインタ・レジスタを各
々の第1バイトの位置のアドレスにセツトするリセット
信号路66上に与える。以後DSU19a,19b,19c,19d(第1
図)は路16a,16b,16c,16d上に直列にビツトの送信を開
始し、このビツトはバイトに組立てられて路21a,21b,21
c,21d上の信号にコード化され、各バイトには各各路22
a,22b,22c,22d上にロード・クロツク(LD CLK)信号が
続く。 路22a,22b,22c,22d上の各LDCLK信号はORゲート55a,55
b,55c,55dの各々の一方の入力に印加され、このORゲー
トはバツフア52a,52b,52c,52dのポインタ・レジスタを
増加させるのに要するクロツクバルスを路68a,68b,68c,
68d上に発生させる。LD CLK信号のタイミングは各々DS
U19a,19b,19c,19dにより最終的に制御されるため、各バ
ツフア52a,52b,52c,52dはその関係するDSU19a,19b,19c,
19dの速度で満たされる。 データ路21a,21b,21c,21d上の各データ又は行パリテ
イ副ブロツク・バイトをバツフア52a,52b,52c,52dによ
り受信する時、このバイトは又各ECC検査素子57a,57b,5
7c,57dへ送信される。DSU19a,19b,19c,19dからの送信の
開始前に、ECC検査素子57a,57b,57c,57dは制御論理素子
50から各素子を初期化するために用いられる信号である
クリア・エラー・データ信号を路54上で受信する。各検
査素子57a,57b,57c,57dは、素子57a,57b,57c,57dにより
用いられる誤り検出アルゴリズムの現在の結果をデータ
・バイトの送信中は含んでいる内部アキユムレータを有
し、これは最初路54上のクリア・エアー・データ信号に
より各々0にセツトされる。素子57a,57b,57c,57dも標
準的には内部カウンタを含み、その各々は路54上の信号
によりデータ副ブロツクのバイト数にセツトされる。 路22a,22b,22c,22d上の各信号パルスにより、その関
係するECC検査素子のカウンタは1だけ減算される。カ
ウンタが副ブロツク中のバイト数に等しい回数だけ減算
されると、誤り検査素子57a,57b,57c,57dは受信した残
りのバイトを誤り検出コードとして使用して、これを関
係する内部アキユムユレータの内容と比較し、関連路21
a,21b,21c,21d上に送信されたデータに検出可能ではあ
るが訂正不能な誤りが存在するかどうかを決定する。こ
のデータ(又は路21d上の行パリテイ情報)にそのよう
な誤りの存在しない場合、論理0が関係出力路67a,67b,
67c,67d上に与えられる。この過程中で誤りが検出され
た場合、誤りデータ又は行パリテイに関係する路67a,67
b,67c,67d上に論理1が与えられる。 前述したように、DSU19a,19b,19c,19dにより内部的に
検出可能ないくつかの誤りがあり、その発生は関係する
故障信号線23a,23b,23c,23d上に信号される。路67a,67
b,67c,67d上で信号されるECC検査誤りは路23a,23b,23c,
23d上のDSU故障信号と共に各々ORゲート82a,82b,82c,82
dの入力に与えられる。ORゲート82a,82b,82c,82dは従つ
て、関連DSU19a,19b,19c,19d又は関連ECC検査素子57a,5
7b,57c,57dのどちらかにより誤りが検出された時に論理
1となる出力信号を与える。ORゲート82a,82b,82c,82d
出力は各々路85a,85b,85c,85d上のフリツプフロツプ59
a,59b,59c,59dのセツトS入力への入力を形成する。 各読取動作の開始時にフリツプフロツプ59a,59b,59c,
59dは路54上に与えられたクリア・エラー・データ信号
を各々のリセツトR入力上に受信する。この信号はフリ
ツプフロツプ59a,59b,59c,59dの初期状態をそのクリア
状態にセツトし、その出力の論理レベルは0である。路
85a,85b,85c,85dのどれかの論理1に応答して、路70a,7
0b,70c,70d上の関連フリツプフロツプ59a,59b,59c,59d
出力は論理1にセツトされる。従つて、データ・ブロツ
クを含む各副ブロツク群がバツフア52a,52b,52c,52dに
ロードされた後、フリツプフロツプ59a,59b,59c,59dの
出力は関連バツフア52a,52b,52c,52d中のデータ副ブロ
ツクが各々正しいか又は誤つているかに応じて0又は1
を指示する。行パリテイ・バツフア52dに記憶された行
パリテイ副ブロツクを処理する論理回路はデータ副ブロ
ツクを処理する論理回路とある程度の同一性を有してい
ることに注意すべきである。 データ副ブロツクと行パリテイ副ブロツクが各副ブロ
ツク・バツフア52a,52b,52c,及び52dにロードされ、か
つ誤りフリツプフロツプ59a,59b,59c,59dが上述したよ
うに副ブロツクが誤りを含むかどうかを指示するようセ
ツトされると、必要に応じて誤り訂正を含む読取過程の
残りの部分が進行可能である。制御論理素子50は副ブロ
ツク・バツフア52a,52b,52c,52d中のポインタを再びこ
れらのバツフア内の副ブロツクの開始点へリセツトす
る。制御論理素子50もR/W SEL路65上の出力を論理0に
セツトし、バツフア52a,52b,52c,52dを条件付けて中に
記憶されたデータを路63a,63b,63c,63dへ出力させる。
制御論理素子50は次いで副ブロツクに記憶されたバイト
数に等しい数だけ所定の速度で路64上に読取クロツク
(RD CLK)パルスを発生する。これらはORゲート55a,5
5b,55c,55dの第2入力端子により受信される。これらの
パルスの各々によりORゲート55a,55b,55c,55dは各々路6
8a,68b,68c,68d上にパルスを送信し、これによりバツフ
ア52a,52b,52c,52dはその各々の中に記憶した1副ブロ
ツク・バイトを路63a,63b,63c,63d上に送信させられ
る。バツフア52a,52b,52cからのデータ・バイトの各組
と路64上の同じ読取クロツク・パルスに応答して発した
バツフア52dからの行パリテイ・バイトは、本発明に従
つてデータの一部を訂正するための関連情報を含む。バ
ツフア52a, 52b,52c,52dは同時に書込読取が可能な型式のものでも
よく、この場合バツフア52a,52b,52c,52dはDSU19a,19b,
19c,19dから読取られた次のブロツクによりロードされ
つつ現在のブロツクは必要な訂正とバツフアからの転送
を受けていることに注意すべきである。 横パリテイ発生器56は路64上の同じ読取クロツク・パ
ルスによりバツフア52a,52b,52c,52dから読取つたデー
タとパリテイ・バイトを同時に受信し、このデータに応
答して路63a,63b,63c,63d上に与えられる関連4ビツト
の各組のビツト毎の奇数パリテイの正しく順序だてた8
ビツトを発生する。すなわち、各バイトと同じ位置を占
有する路63a,63b,63c,63d上のバイトの各々からのビツ
トを用いて対応する位置を占有する路81上のパリテイ・
バイトのビツトを発生する。各位置で奇数パリテイが発
生されるため、関連ビツトが全て正しい場合、路81上の
対応する出力パリテイ・ビツトは論理0である。4入力
ビツトのパリテイが偶数の場合、すなわち中に1つの不
正ビツトを有している場合、奇数パリテイの発生は対応
するビツト位置の路81上に論理1を与える。 8×2ビツトANDゲート・アレイ78はその8データD
入力に正しく順序付けられた路81上に並列に送られた8
ビツトと、その8ゲートG入力の各々に路88上のインバ
ータI素子74の出力とを受信する。ゲート入力の路88上
の信号が論理0の場合、ANDゲート78から路69上の8出
力の各ビツトもまたは論理0である。路88上の信号が論
理1の場合、路81上でANDゲート・アレイ78の8データ
入力へ与えられる8データ・ビツトは路69上の出力へゲ
ートされ、その信号を路81上の信号と同一とする。現在
処理しているパリテイ情報バイトが正しく見える場合に
路88上のゲート入力をいかに論理1にセツトするかは以
下に説明してある。 次にバイト・パリテイ検査素子76a,76b,76c,76dにつ
いては、この各々は各副ブロツク・バツフア52a,52b,52
c,52dにより路63a,63b,63c,63d上に与えられたバイトを
連続的に受信する。前記各バイトのパリテイはこれを受
信するバイト・パリテイ検査素子76a,76b,76c,76dによ
り検査され、正しい場合には路の信号を入力として受信
するORゲート77a,77b,77c,77dへ論理0が関連路87a,87
b,87c,87d上に与えられる。検査されたパリテイが正し
くない場合、論理1が各々路87a,87b,87c,87d上を関連O
Rゲート77a,77b,77c,77dへ与えられる。上述したよう
に、各ORゲート77a,77b,77c,77dはその他方の入力とし
て関係する誤りフリツプフロツプ59a,59b,59c,59dの出
力を受信する。 ORゲート77a,77b,77cの出力は各々路80a,80b,80c上を
8×2ビツトANDゲート・アレイ60a,60b,60cの各々の8
ゲートG入力へ与えられる。8×2ビツトANDゲート・
アレイ60a,60b,60cは8×2ビツトANDゲート・アレイ78
と同一の構造で、もち論同様に動作する。8×2ビツト
ANDゲート・アレイ60a,60b,60cはその8データD入力に
路69上の8×2ビツトANDゲート・アレイ78の正しく順
序付けた8ビツト出力を受信する。各路71a,71b,71c上
のANDゲート・アレイ60a,60b,60cの8ビツト出力は従つ
て、関連する8×2ビツトANDゲート・アレイ60a,60b,6
0cと関係する副ブロツクが各入力路80a,80b,80c上に担
持された論理1により指示されるように中に誤りを有し
ている場合にのみ限つて路69上の8ビツトを複写する。 ORゲート77dは路70d上のフリツフフロツプ59dの出力
と路87d上のパリテイ検査素子76dの出力をその2入力に
受信する。これらの入力の内のどちらか又は両方が論理
1の場合、すなわちフリツプフロツプ59dにより指示さ
れるように又はバイト・パリテイ検出素子76dにより検
査されるように誤りを検査した場合、ORゲート77dはそ
の出力である路80dに信号にコード化した論理1を発生
する。ORゲート77dの出力はインバータ74により反転さ
れて路88上の8×2ビツトANDゲート・アレイ78のゲー
ト入力へ与えられる。従つて、路81上のパリテイ情報バ
イトがその誤り検査の全てを通過した場合、論理1が路
88に与えられてパリテイ情報バイトは8×2ビツトAND
ゲート・アレイ78により路69へゲートされる。 8×2ビツト排他OR(XOR)ゲート・アレイ61a,61b,6
1cの各々はその2つの入力に2つの正しく順序付けられ
た8ビツト並列入力を受信し、これら2つの入力のビツ
ト毎の排他ORをその出力として与える。公知のように、
排他OR素子は2つの入力引数又は信号が互いに等しい場
合に論理0値を発生し、2つの引数が等しくない場合に
論理1値を発生する。従つて8ビツト並列路71a,71b,71
cのどれかで2進又は論理1である各ビツトに対して、
8×2ビツトXORゲート・アレイ61a,61b,61cは8ビツト
並列データ路62a,62b,62cの対応するビツト位置の出力
として路63a,63b,63c上に担持されたデータ副ブロツク
・バイトの対応するビツトの反転を与える。路71a,71b,
71c上の対応するビツト値が論理又は2進数0である路6
3a,63b,63c上の全てのビツト値はデータ路62a,62b,62c
の対応するビツト位置で不変に与えられる。繰返すと、
もち論路63aと路71a、路63bと路71b等のビツト位置の正
しい順序を保持することが不可欠である。 従つて、バツフア52a,52b,52c,52d中の同じ相対位置
を占有するビツトの組やドライブの内の1つ(路23a,23
b,23c,23d上の故障信号を介して)に行パリテイ誤りが
存在する場合、バイト・パリテイ検査(パリテイ検査素
子76a,76b,76cを介して)又はECC検査(素子57a,57b,57
c)が誤りビツトのあるバツフアを識別し、このビツト
は各路63a,63b,63c上で受信する8×2ビツトXORゲート
61a,61b,61cにより反転される。その変更値により3つ
のバツフア52a,52b,52cの内の残りの2つと行パリテイ
・バツフア52d中の関連ビツトがパリテイ的に合致する
という点でこれはそのビツトを訂正する。 ここでは1例が理解を助ける。DSU19a,19b,19c,19dか
らのデータ・ブロツクの読出し時に副ブロツク2ECC検査
素子57bにより副ブロツク2中に誤りが検出されたもの
と仮定する。これによりエラー・フリツプフロツプ2
(FF2)59bはセツトされ、出力路70b上に論理1が現わ
れる。個々の8ビツト・バイトが路63a,63b,63c,63d上
に出ているある時に、横パリテイ発生器56は1ビツトが
論理1にセツトされている出力を路81上に与えるとさら
に仮定する。路81上のこの論理1に対応して路63b上に
担持されるデータ・ビツトも論理1であると仮定する。
路80dに論理0が与えられて、その値を制御する条件に
よると行パリテイ・バツフア52d中の行パリテイ副ブロ
ツクが正しいことを示している場合、パリテイ発生器56
により発生された少なくとも1つの論理1を含み、かつ
路63b上の誤りのビツトの位置を識別する路81上のパリ
テイ・バイトが路69へゲートされる。この8ビツト・バ
イトはORゲート77bにより路80b上に発生した論理1によ
つて路71bへさらにゲートされる。8×2ビツトANDゲー
ト60bからの路71b上の論理1と同じビツト位置を有する
路63b上のビツトは8×2ビツトXORゲート61bにより反
転され、そのビツト位置の両入力は同じ値(この場合は
1)を有しているため路62b上に論理0として与えられ
る。ここで問題の位置の路62b上の論理0はDSU19bから
読出した路63b上の論理1の反転である。多分このビツ
ト(そして多分バツフア52bに記憶されたこの副ブロツ
クの他の部分も)は不正であり、バツフア52bからのこ
のビツトを反転することにより、このビツトの正しい値
が路62b上の信号にコード化される。横パリテイ発生器5
6によりパリテイを計算した4群の内の1ビツトを反転
することはその群のパリテイを変更し、事実上これを訂
正することに注意されたい。 ブロツクの内の2つ以上のデータ及び行パリテイ副ブ
ロツクが誤りというありえない場合は、ORゲート77a,77
b,77c,77dからの出力を「2+不正副ブロツク」素子72
に送ることにより対処する。2つ以上の論理1か路80a,
80b,80c,80d上を素子72へ与えられた場合、これはブロ
ツクの2つ以上の副ブロツクが中に誤りを有しているこ
とを示す。この状態に応答して、素子72は訂正不能な誤
りがブロツク中に存在することをCPU又は他の外部装置
へ指示する路73上の信号を与える。 パリテイ検査素子76a,76b,76c,76dにより検出したバ
イト・パリテイ誤りに対しては、連続するバイトに対し
て異なるデータ副ブロツクが誤りを含んでいてもよく、
かつ訂正可能であることに注意すべきである。これは、
第1図に示すバイト・パリテイ発生器18a,18b,18c,18d
により発生されるバイト・パリテイは関係する単一バイ
トに局所化していて、従つて他の副ブロツクの関係しな
いバイトに生じる同様の誤りの訂正に影響を与える必要
のないためである。適当なエラー・フリツプフロツプ59
a,59b,59c,59dにより指示される特定の副ブロツクに対
してDSU又はECC故障を検出した場合には、異なる副ブロ
ツクのバイト・パリテイ誤りはもはや訂正不能であるこ
とに注意すべきである。この条件は検査素子72によりフ
ラグが出される。 上述したような論理回路の機能は多くの異なる論理構
造により複製可能であることは公知である。例えば、論
理0と1値の選択は、これらの項目が実は単に電圧レベ
ルとこれらの電圧に対する個々の回路の反応を表わして
いるという点でいく分任意のものである。これらの約束
や他のことは論理設計に詳しい者には公知であり、その
ような特定の記述は行う必要がない。 前述したように、データを記憶するためたつた3個の
DSU19a,19b,19cを使用することは多分標準的な商用装置
が有する数ではないことを理解するのも重要である、な
ぜならこれらの装置の信頼性は多くの場合8個以上が単
一装置に結合されていることを容認しているからであ
る。8ビツト並列バイトを記憶する副ブロツク・バツフ
ア57a,57b,57c,57dの構成も又任意である。上述したよ
うな複雑な電子装置では、発明の概念を用いて同様の能
力を有する装置を提供する多くの代案が可能であると期
待できる。従つて、上述の装置の単なる模倣や発明の概
念を用いつつ実質的には異なつていないものをカバーす
る解釈が添附の特許請求の範囲に与えられることを謹ん
で要求するものである。
【図面の簡単な説明】 第1図は本発明の教示を含む簡略化した装置のブロツク
線図、第2図はデータ再構成回路の詳細なブロツク線図
である。 10……ブロツク分割器、13……ECC発生器、15……パリ
テイ発生器、19……データ記憶装置、26……直列並列変
換器、18……バイト・パリテイ発生器、50……制御論理
素子、52……副ブロツク・バツフア、57……ECC検査素
子、59……フリツプフロツプ、76……パリテイ検査、60
……8×2ビツトANDゲート・アレイ、61……8×2ビ
ツトXORゲート・アレイ。
フロントページの続き (56)参考文献 特開 昭58−127252(JP,A) 特開 昭52−80111(JP,A) 特開 昭56−129953(JP,A)

Claims (1)

  1. (57)【特許請求の範囲】 1.記憶すべきデータ(データ路11上の直列データ)を
    3以上のデータ副ブロック(データ路12a、12bおよび12
    c上のデータ)に分割し、予め選択したアルゴリズムに
    したがって前記分割した3以上のデータ副ブロックに対
    して1つの再構成副ブロックを発生させ、それにより1
    つのデータ副ブロック(例えば、図2の副ブロック2)
    を、データ再構成アルゴリズムにしたがい該再構成副ブ
    ロックと残りのデータ副ブロック(例えば、図2の副ブ
    ロック1および3)とを用いて再構成でき、前記再構成
    副ブロックを含む前記副ブロックが、各々の副ブロック
    に対して発生され記憶されるそれぞれの誤り訂正コード
    とともに3以上のデータ記憶装置に記憶され、該データ
    記憶装置の各々は、他のデータ記憶装置から実質的に独
    立しておりかつ独立した故障を受けやすい、データ記憶
    システムであって、 複数の誤り検出訂正手段(57a、57b、57c)であって、
    各々が、データ副ブロックをデータ記憶装置から読み出
    す際に遭遇する縦方向誤りを訂正しようとして前記それ
    ぞれの誤り訂正コードを用いてそれぞれのデータ副ブロ
    ックにおける縦方向誤りを検出し訂正するとともに、そ
    れぞれのデータ副ブロックにおける全ての縦方向誤りを
    訂正するのには失敗した際に、依然として誤りありと検
    出されたデータ副ブロックを記憶する誤データ記憶装置
    (例えば、19b)を示すそれぞれの誤り信号を発生す
    る、前記誤り検出訂正手段と、 前記誤り検出訂正手段からの誤り信号に応答して、前記
    データ副ブロックと前記再構成副ブロックとを用いて横
    方向データ再構成アルゴリズムを採用し、前記誤データ
    記憶装置のための横方向訂正データを生じる手段(56、
    60a−60b)と、 前記依然として誤りありと検出されたデータ副ブロック
    に前記横方向訂正データを与える手段(61a、61b、61
    c)と を含むことを特徴とするデータ記憶システム。 2.複数のデータブロック(データ路11上の直列デー
    タ)を、n−1を3以上の整数とする、n−1個のデー
    タ副ブロック(データ路12a、12bおよび12c上のデー
    タ)の組に分割するデータ記憶システムであって、 前記n−1個のデータ副ブロックの組を受け取り、予め
    選択したアルゴリズムにしたがって前記n−1個のデー
    タ副ブロックに対して1つの再構成副ブロックを発生
    し、それにより1つのデータ副ブロック(例えば、図2
    の副ブロック2)を、データ再構成アルゴリズムにした
    がい前記再構成副ブロックと残りのn−2個のデータ副
    ブロック(例えば、図2の副ブロック1および3)とを
    用いて再構成可能とする再構成副ブロック発生装置(1
    5)と、 n個のコード化ECC発生装置(13a、13b、13c、13d)で
    あって、各各がそれぞれのデータ副ブロックまたは前記
    再構成副ブロックを受け取り、それぞれの副ブロックに
    付加する誤り訂正コードを発生する前記コード化ECC発
    生装置と、 n個のデータ記憶装置(19a、19b、19c、19d)であっ
    て、各々がそれぞれのコード化ECC発生装置に結合さ
    れ、それぞれの副ブロックまたは前記再構成副ブロック
    および関連する誤り訂正コードを記憶し、また、各々
    が、他のデータ記憶装置から実質的に独立しておりかつ
    独立した故障を受けやすい、前記データ記憶装置と、 読み取り信号に応答して、前記データ副ブロックの組と
    前記再構成副ブロックと関連する誤り訂正コードとを前
    記データ記憶装置から受け取り、前記誤り訂正コードお
    よび前記再構成副ブロックに応答して誤りを検出訂正す
    るデータ再構成手段(30)と、 データ用前記データ記憶装置および再構成用前記データ
    記憶装置に読み取りおよび書込み信号を供給して、前記
    データ副ブロックおよび前記再構成副ブロックの読み取
    りおよび書込みを制御する制御手段(25)と を含み、 n個の誤り検出訂正手段(57a、57b、57c)であって、
    それぞれの誤り訂正コードを用いてそれぞれのデータ副
    ブロックにおける縦方向誤りを検出し訂正するととも
    に、それぞれのデータ副ブロックにおける全ての縦方向
    誤りを訂正するのには失敗した際に、依然として誤りあ
    りと検出されたデータ副ブロックを記憶する誤データ記
    憶装置(例えば、19b)を示すそれぞれの誤り信号を発
    生する、前記誤り検出訂正手段と、 前記誤り検出訂正手段からの誤り信号に応答して、前記
    データ副ブロックと前記再構成副ブロックとを用いて横
    方向データ再構成アルゴリズムを採用し、前記誤データ
    記憶装置のための横方向訂正データを生じる手段(56、
    60a−60d)と、 前記依然として誤りありと検出されたデータ副ブロック
    に前記横方向訂正データを与える手段(61a、61b、61
    c)と を含むことを特徴とするデータ記憶システム。 3.特許請求の範囲第2項記載のデータ記憶システムに
    おいて、各ブロックは同一サイズであることを特徴とす
    るデータ記憶システム。 4.特許請求の範囲第1項から第3項までのいずれかに
    記載のデータ記憶システムにおいて、データを副ブロッ
    クに分割するブロック分割器をさらに含むことを特徴と
    するデータ記憶システム。 5.特許請求の範囲第4項記載のデータ記憶システムに
    おいて、前記データ記憶装置の各々は、対応するアドレ
    ス範囲を有し、前記データ副ブロックと前記再構成副ブ
    ロックとは、異なるデータ記憶装置の同一アドレスに記
    憶されることを特徴とするデータ記憶システム。 6.特許請求の範囲第5項記載のデータ記憶システムに
    おいて、前記複数のデータ記憶装置は同期していること
    を特徴とするデータ記憶システム。 7.特許請求の範囲第4項から第6項までのいずれかに
    記載のデータ記憶システムにおいて、前記ブロック分割
    器は、データを順に副ブロックに分割し、前記データ記
    憶システムは、正しいデータ副ブロックからデータを再
    組立する手段をさらに含むことを特徴とするデータ記憶
    システム。 8.特許請求の範囲第1項から第7項までのいずれかに
    記載のデータ記憶システムにおいて、前記データ記憶装
    置の各々は、複数の副ブロックを記憶でき、読み取り信
    号に応答して選択的に所望の副ブロックを読み取り可能
    としたことを特徴とするデータ記憶システム。 9.特許請求の範囲第1項から第8項までのいずれかに
    記載のデータ記憶システムにおいて、前記誤り検出訂正
    手段の各々は、前記データ副ブロックを受け取りそのデ
    ータ副ブロック内のバイト誤り検出コードをコード化す
    るバイト誤りコード発生手段(18a、18b、18c)と、前
    記誤り検出コードとバイト誤り検出コードとを用いて誤
    りを検出訂正する検査手段(57a、57b、57c)と、前記
    データ記憶装置と前記検査手段とに接続され、前記誤り
    信号を発生する手段(59a、59b、59c)とを含むことを
    特徴とするデータ記憶システム。 10.特許請求の範囲第9項記載のデータ記憶システム
    において、前記訂正データを生じる手段(56)は、前記
    データ副ブロックの2つ以上および関連するバイト誤り
    検出コードを受け取る横パリティ発生手段であることを
    特徴とするデータ記憶システム。
JP62265185A 1987-01-12 1987-10-20 データ誤り訂正装置 Expired - Lifetime JP2771537B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US003961 1987-01-12
US3961 1987-01-12
US07/003,961 US4775978A (en) 1987-01-12 1987-01-12 Data error correction system

Publications (2)

Publication Number Publication Date
JPS63180136A JPS63180136A (ja) 1988-07-25
JP2771537B2 true JP2771537B2 (ja) 1998-07-02

Family

ID=21708418

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62265185A Expired - Lifetime JP2771537B2 (ja) 1987-01-12 1987-10-20 データ誤り訂正装置

Country Status (6)

Country Link
US (1) US4775978A (ja)
EP (1) EP0274817B1 (ja)
JP (1) JP2771537B2 (ja)
AU (1) AU7942187A (ja)
CA (1) CA1302574C (ja)
DE (1) DE3751578T2 (ja)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690853B2 (ja) * 1986-12-23 1994-11-14 ソニー株式会社 デイジタル信号の時間軸補正装置
US4872171A (en) * 1986-12-27 1989-10-03 Pioneer Electronic Corporation Method for recording digital data so as to avoid operational error on reproduction
JP2713902B2 (ja) * 1987-04-28 1998-02-16 三洋電機株式会社 アドレス発生回路
DE3719404A1 (de) * 1987-06-11 1988-12-22 Bosch Gmbh Robert Verfahren und anordnung zur korrektur von fehlern in digitalen signalen
DE3804175A1 (de) * 1988-02-11 1989-08-24 Broadcast Television Syst Verfahren und schaltungsanordnung zum einschreiben und auslesen eines digitalen halbleiterspeichers fuer videosignale
US4958350A (en) * 1988-03-02 1990-09-18 Stardent Computer, Inc. Error detecting/correction code and apparatus
US4989206A (en) * 1988-06-28 1991-01-29 Storage Technology Corporation Disk drive memory
US5172379A (en) * 1989-02-24 1992-12-15 Data General Corporation High performance memory system
US5101492A (en) * 1989-11-03 1992-03-31 Compaq Computer Corporation Data redundancy and recovery protection
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
US5072378A (en) * 1989-12-18 1991-12-10 Storage Technology Corporation Direct access storage device with independently stored parity
JPH0786810B2 (ja) * 1990-02-16 1995-09-20 富士通株式会社 アレイディスク装置
US5140592A (en) * 1990-03-02 1992-08-18 Sf2 Corporation Disk array system
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5956524A (en) * 1990-04-06 1999-09-21 Micro Technology Inc. System and method for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5164944A (en) * 1990-06-08 1992-11-17 Unisys Corporation Method and apparatus for effecting multiple error correction in a computer memory
JPH0786811B2 (ja) * 1990-06-19 1995-09-20 富士通株式会社 アレイディスク装置のドライブ位置確認方式
JPH0731582B2 (ja) * 1990-06-21 1995-04-10 インターナショナル・ビジネス・マシーンズ・コーポレイション パリティ保護データを回復するための方法および装置
US5220569A (en) * 1990-07-09 1993-06-15 Seagate Technology, Inc. Disk array with error type indication and selection of error correction method
US5210860A (en) * 1990-07-20 1993-05-11 Compaq Computer Corporation Intelligent disk array controller
EP0481735A3 (en) * 1990-10-19 1993-01-13 Array Technology Corporation Address protection circuit
US5208813A (en) * 1990-10-23 1993-05-04 Array Technology Corporation On-line reconstruction of a failed redundant array system
AU8683991A (en) * 1990-11-09 1992-05-14 Array Technology Corporation Logical partitioning of a redundant array storage system
US5241630A (en) * 1990-11-13 1993-08-31 Compaq Computer Corp. Device controller with a separate command path between a host and the device and a separate data path including a first in, first out memory between the host and the device
US5206865A (en) * 1990-12-17 1993-04-27 Motorola, Inc. Error detection and correction memory system
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5291498A (en) * 1991-01-29 1994-03-01 Convex Computer Corporation Error detecting method and apparatus for computer memory having multi-bit output memory circuits
US5579475A (en) * 1991-02-11 1996-11-26 International Business Machines Corporation Method and means for encoding and rebuilding the data contents of up to two unavailable DASDS in a DASD array using simple non-recursive diagonal and row parity
US5289478A (en) * 1991-03-11 1994-02-22 Fujitsu Limited Method and means for verification of write data
US5345565A (en) * 1991-03-13 1994-09-06 Ncr Corporation Multiple configuration data path architecture for a disk array controller
JP3187525B2 (ja) * 1991-05-17 2001-07-11 ヒュンダイ エレクトロニクス アメリカ バス接続装置
US5278838A (en) * 1991-06-18 1994-01-11 Ibm Corp. Recovery from errors in a redundant array of disk drives
US5333143A (en) * 1991-08-29 1994-07-26 International Business Machines Corporation Method and means for b-adjacent coding and rebuilding data from up to two unavailable DASDS in a DASD array
US5499337A (en) * 1991-09-27 1996-03-12 Emc Corporation Storage device array architecture with solid-state redundancy unit
US5636358A (en) * 1991-09-27 1997-06-03 Emc Corporation Method and apparatus for transferring data in a storage device including a dual-port buffer
US5237658A (en) * 1991-10-01 1993-08-17 Tandem Computers Incorporated Linear and orthogonal expansion of array storage in multiprocessor computing systems
JPH0823802B2 (ja) * 1991-11-13 1996-03-06 富士通株式会社 アレイディスク装置の状態表示方式
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
JP2672916B2 (ja) * 1991-12-13 1997-11-05 富士通株式会社 アレイディスク装置のデータチェック方法
JP2597060B2 (ja) * 1991-12-13 1997-04-02 富士通株式会社 アレイディスク装置
US5537566A (en) * 1991-12-17 1996-07-16 Fujitsu Limited Apparatus and method for controlling background processing in disk array device
US5506977A (en) * 1991-12-17 1996-04-09 Dell Usa, L.P. Method and controller for minimizing reads during partial stripe write operations to a disk drive
EP0551009B1 (en) * 1992-01-08 2001-06-13 Emc Corporation Method for synchronizing reserved areas in a redundant storage array
US5341381A (en) * 1992-01-21 1994-08-23 Tandem Computers, Incorporated Redundant array parity caching system
JP2548480B2 (ja) * 1992-02-10 1996-10-30 富士通株式会社 アレイディスク装置のディスク装置診断方法
JP2855019B2 (ja) * 1992-02-10 1999-02-10 富士通株式会社 外部記憶装置のデータ保証方法及び外部記憶装置
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
WO1993018456A1 (en) * 1992-03-13 1993-09-16 Emc Corporation Multiple controller sharing in a redundant storage array
US5375127A (en) * 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for generating Reed-Soloman error correcting code across multiple word boundaries
JP3575811B2 (ja) * 1992-05-07 2004-10-13 株式会社日立製作所 記憶装置
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
DE69321426T2 (de) * 1992-06-05 1999-03-04 Compaq Computer Corp., Houston, Tex. 77070 Plattenantriebsteuergerät mit Nachschreibcachespeicher
US5471586A (en) * 1992-09-22 1995-11-28 Unisys Corporation Interface system having plurality of channels and associated independent controllers for transferring data between shared buffer and peripheral devices independently
US5493574A (en) * 1992-09-24 1996-02-20 Zilog, Inc. Power efficient RAM disk and a method of emulating a rotating memory disk
WO1994009436A1 (en) * 1992-10-13 1994-04-28 Compaq Computer Corporation Disk array controller having advanced internal bus protocol
US5448709A (en) * 1992-10-13 1995-09-05 Compaq Computer Corporation Disk array controller having command descriptor blocks utilized by bus master and bus slave for respectively performing data transfer operations
US5463644A (en) * 1992-11-13 1995-10-31 Unisys Corporation Resilient storage system
US5819109A (en) * 1992-12-07 1998-10-06 Digital Equipment Corporation System for storing pending parity update log entries, calculating new parity, updating the parity block, and removing each entry from the log when update is complete
US5519849A (en) * 1992-12-07 1996-05-21 Digital Equipment Corporation Method of reducing the complexity of an I/O request to a RAID-4 or RAID-5 array
US5649162A (en) * 1993-05-24 1997-07-15 Micron Electronics, Inc. Local bus interface
US5581690A (en) * 1993-06-29 1996-12-03 Digital Equipment Corporation Method and apparatus for preventing the use of corrupt data in a multiple disk raid organized storage system
US5522031A (en) * 1993-06-29 1996-05-28 Digital Equipment Corporation Method and apparatus for the on-line restoration of a disk in a RAID-4 or RAID-5 array with concurrent access by applications
US5390327A (en) * 1993-06-29 1995-02-14 Digital Equipment Corporation Method for on-line reorganization of the data on a RAID-4 or RAID-5 array in the absence of one disk and the on-line restoration of a replacement disk
US6269453B1 (en) 1993-06-29 2001-07-31 Compaq Computer Corporation Method for reorganizing the data on a RAID-4 or RAID-5 array in the absence of one disk
US5504858A (en) * 1993-06-29 1996-04-02 Digital Equipment Corporation Method and apparatus for preserving data integrity in a multiple disk raid organized storage system
US5465260A (en) * 1993-11-04 1995-11-07 Cirrus Logic, Inc. Dual purpose cyclic redundancy check
US5502811A (en) * 1993-09-29 1996-03-26 International Business Machines Corporation System and method for striping data to magnetic tape units
US20030088611A1 (en) * 1994-01-19 2003-05-08 Mti Technology Corporation Systems and methods for dynamic alignment of associated portions of a code word from a plurality of asynchronous sources
US5446855A (en) * 1994-02-07 1995-08-29 Buslogic, Inc. System and method for disk array data transfer
US5778167A (en) * 1994-06-14 1998-07-07 Emc Corporation System and method for reassigning a storage location for reconstructed data on a persistent medium storage system
US5671349A (en) * 1994-12-06 1997-09-23 Hitachi Computer Products America, Inc. Apparatus and method for providing data redundancy and reconstruction for redundant arrays of disk drives
US5943422A (en) * 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
US5826001A (en) * 1995-10-13 1998-10-20 Digital Equipment Corporation Reconstructing data blocks in a raid array data storage system having storage device metadata and raid set metadata
US5933592A (en) * 1995-10-13 1999-08-03 Digital Equipment Corporation Promoting device level error to raidset level error to restore redundacy in a raid array data storage system
JPH09167427A (ja) * 1995-12-14 1997-06-24 Fujitsu Ltd ディスクアレイ装置
US6092215A (en) * 1997-09-29 2000-07-18 International Business Machines Corporation System and method for reconstructing data in a storage array system
US6175933B1 (en) 1997-10-17 2001-01-16 International Business Machines Corporation Recovery of file transfers in a data processing system
CN100430900C (zh) * 1998-02-25 2008-11-05 松下电器产业株式会社 纠错装置
JP4224875B2 (ja) * 1998-07-17 2009-02-18 ソニー株式会社 光ディスク、光ディスク記録装置、光ディスクの記録方法、光ディスクの再生装置、及び、光ディスクの再生方法
JP3853541B2 (ja) * 1998-07-30 2006-12-06 富士写真フイルム株式会社 データ配信方法
US7093182B2 (en) * 1999-08-02 2006-08-15 Inostor Corporation Data redundancy methods and apparatus
US6609219B1 (en) 2000-01-24 2003-08-19 Hewlett-Packard Development Company, L.P. Data corruption testing technique for a hierarchical storage system
US6629273B1 (en) 2000-01-24 2003-09-30 Hewlett-Packard Development Company, L.P. Detection of silent data corruption in a storage system
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7539991B2 (en) * 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7200715B2 (en) 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7111147B1 (en) 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7328305B2 (en) 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
US7366837B2 (en) * 2003-11-24 2008-04-29 Network Appliance, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7263629B2 (en) * 2003-11-24 2007-08-28 Network Appliance, Inc. Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
US8464093B1 (en) * 2004-09-03 2013-06-11 Extreme Networks, Inc. Memory array error correction
DE102004043461B4 (de) * 2004-09-08 2008-04-10 Infineon Technologies Ag Signalaufbereitungsanordnung und Verfahren zum Aufbereiten eines Signals
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7398460B1 (en) 2005-01-31 2008-07-08 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US7734980B2 (en) * 2005-06-24 2010-06-08 Intel Corporation Mitigating silent data corruption in a buffered memory module architecture
US7843927B1 (en) 2006-12-22 2010-11-30 Extreme Networks, Inc. Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US8898536B2 (en) * 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8504847B2 (en) * 2009-04-20 2013-08-06 Cleversafe, Inc. Securing data in a dispersed storage network using shared secret slices
US8331373B2 (en) * 2010-03-15 2012-12-11 Extreme Networks, Inc. Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device
KR102100708B1 (ko) * 2013-08-30 2020-04-16 에스케이하이닉스 주식회사 반도체 메모리 장치
US20150113204A1 (en) * 2013-10-17 2015-04-23 National Chiao Tung University Data storage device and computing system with the same
US11048516B2 (en) * 2015-06-27 2021-06-29 Intel Corporation Systems, methods, and apparatuses for last branch record support compatible with binary translation and speculative execution using an architectural bit array and a write bit array
US10025652B2 (en) 2015-10-27 2018-07-17 Western Digital Technologies, Inc. Error location pointers for non volatile memory
US11010304B2 (en) * 2018-01-09 2021-05-18 Intel Corporation Memory with reduced exposure to manufacturing related data corruption errors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5280111A (en) * 1975-12-26 1977-07-05 Casio Comput Co Ltd Magnetic tape controlling system
US4016547A (en) * 1976-01-22 1977-04-05 The United States Of America As Represented By The Secretary Of The Navy Mos shift register compensation system for defective tracks of drum storage system
JPS5857781B2 (ja) * 1978-01-17 1983-12-21 三菱電機株式会社 符号化復号化方式
US4202018A (en) * 1978-09-27 1980-05-06 Soundstream, Inc. Apparatus and method for providing error recognition and correction of recorded digital information
US4423448A (en) * 1979-12-26 1983-12-27 Burroughs Corporation Multi-path to data facility for disk drive transducer arms
JPS56129953A (en) * 1980-03-14 1981-10-12 Hitachi Ltd Failure detection system
GB2075728B (en) * 1980-05-01 1984-02-01 Sony Corp Processing binary data
NL8104342A (nl) * 1981-09-21 1983-04-18 Philips Nv Rekenmachinesysteem, gebaseerd op een symboolkorrigerende kode met twee werkmodes.
JPS6050669A (ja) * 1983-08-29 1985-03-20 Hitachi Ltd デ−タ復調方式
US4562577A (en) * 1983-09-19 1985-12-31 Storage Technology Partners Ii Shared encoder/decoder circuits for use with error correction codes of an optical disk system
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
CA1263194A (en) * 1985-05-08 1989-11-21 W. Daniel Hillis Storage system using multiple mechanically-driven storage units
US4706250A (en) * 1985-09-27 1987-11-10 International Business Machines Corporation Method and apparatus for correcting multibyte errors having improved two-level code structure
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass

Also Published As

Publication number Publication date
JPS63180136A (ja) 1988-07-25
CA1302574C (en) 1992-06-02
EP0274817A3 (en) 1991-04-10
EP0274817A2 (en) 1988-07-20
AU7942187A (en) 1988-07-14
DE3751578D1 (de) 1995-12-07
EP0274817B1 (en) 1995-11-02
US4775978A (en) 1988-10-04
DE3751578T2 (de) 1996-04-04

Similar Documents

Publication Publication Date Title
JP2771537B2 (ja) データ誤り訂正装置
USRE34100E (en) Data error correction system
US6018817A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US5537425A (en) Parity-based error detection in a memory controller
US4722085A (en) High capacity disk storage system having unusually high fault tolerance level and bandpass
US4833679A (en) Method and apparatus with improved error correction and error information availability
US5805799A (en) Data integrity and cross-check code with logical block address
US3800281A (en) Error detection and correction systems
EP0466296B1 (en) A data recovery channel in a fault tolerant disk drive array and a method of correcting errors therein
US5613088A (en) Raid system including first and second read/write heads for each disk drive
US3436734A (en) Error correcting and repairable data processing storage system
EP0463210A1 (en) Method and apparatus for checking the address and contents of a memory array
JPS63197123A (ja) エラ−訂正及びチエツク装置
US5768294A (en) Memory implemented error detection and correction code capable of detecting errors in fetching data from a wrong address
WO1981001893A1 (en) Self-correcting memory system and method
JPH054699B2 (ja)
US4926426A (en) Error correction check during write cycles
US5691996A (en) Memory implemented error detection and correction code with address parity bits
US5761221A (en) Memory implemented error detection and correction code using memory modules
JPH05166304A (ja) アレイディスク装置のデータチェック方法
JPH0632170B2 (ja) 符号処理回路
JPS63285778A (ja) ディスク記録方法
JPH0573226A (ja) 外部記憶装置におけるデータ入出力方式
SU890441A1 (ru) Запоминающее устройство с коррекцией ошибок
SU1624535A1 (ru) Запоминающее устройство с контролем

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080417

Year of fee payment: 10