JPH04233625A - ディスクセクタ解析方法 - Google Patents

ディスクセクタ解析方法

Info

Publication number
JPH04233625A
JPH04233625A JP3204856A JP20485691A JPH04233625A JP H04233625 A JPH04233625 A JP H04233625A JP 3204856 A JP3204856 A JP 3204856A JP 20485691 A JP20485691 A JP 20485691A JP H04233625 A JPH04233625 A JP H04233625A
Authority
JP
Japan
Prior art keywords
disk
disk array
array
drive
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP3204856A
Other languages
English (en)
Other versions
JP3151008B2 (ja
Inventor
Scott M Pfeffer
スコット・エム・プフェファー
Stephen M Schultz
スティーブン・エム・シュルツ
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.)
Compaq Computer Corp
Original Assignee
Compaq Computer Corp
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 Compaq Computer Corp filed Critical Compaq Computer Corp
Publication of JPH04233625A publication Critical patent/JPH04233625A/ja
Application granted granted Critical
Publication of JP3151008B2 publication Critical patent/JP3151008B2/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2221Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/06Control of operating function, e.g. switching from recording to reproducing by counting or timing of machine operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1088Scrubbing in RAID systems with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Detection And Correction Of Errors (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Manufacturing Of Magnetic Record Carriers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
のディスクドライブ制御に関し、特にパーソナルコンピ
ュータに用いられるインテリジェント超大容量ディスク
ドライブアレイサブシステムのバックグラウンドモード
でのディスクドライブセクタ解析を実行するための方法
に関する。
【0002】
【従来の技術】近年、マイクロプロセッサ及びこれを用
いているパーソナルコンピュータは、より一層強力なも
のとなっている。現在のパーソナルコンピュータは、2
0〜30年前のメインフレームコンピュータをはるかに
しのぐ容量を有しており、かつ最近製造されるようにな
った多メインフレーム及びミニコンピュータの容量に近
づいている。32ビット幅のワードサイズを有するマイ
クロプロセッサが現在主に利用されているが、過去にお
いては、8ビット及び16ビットが一般的であった。
【0003】パーソナルコンピュータシステムは、毎年
のように発達し、新しい用途が毎日発見されている。用
途が変わることの結果として、この用途は、完全なコン
ピュータシステムを形成する種々のサブシステムへの異
なった要求を有している。生産量の要求及びその結果と
しての規模の経済性のために、できるかぎり多くの共通
特徴が高容量ユニットと結びつけられることが好ましい
。このことは、一般的には電源、種々の大容量記憶装置
を取り付ける設備及びシステムボードを含み、かつ、マ
イクロプロセッサ、マイクロプロセッサに関する回路、
他のサブシステムを含む回路ボードを接続するコネクタ
、マイクロプロセッサと回路ボードとを連結することに
関する回路及びメモリをこの順序で結合する基本的シス
テムユニットを発達させることによりパーソナルコンピ
ュータ業界で起こった。コネクタ及び変換可能な回路ボ
ードを用いることにより、各コンピュータシステムに対
し所望の容量であるサブシステムが、簡単にコンピュー
タシステムと結合されることが可能となった。交換可能
な回路ボードの使用は、サブシステムが簡単に設計でき
かつシステムユニット設計者及び交換可能な回路ボード
設計者によって非互換にされることから問題が生じない
ように、インターフェイスすなわちバス基準の発達を必
要とする。
【0004】交換可能な回路ボード及びインターフェイ
ス基準(種々の信号がバスによって全てのコネクタに供
給されることから、通常はバススペックと呼ばれる)を
用いることは、インターナショナル・ビジネス・マシン
(IBM)社の最初のパーソナルコンピュータであるI
BM  PCにおいて始めて組み入れられた。IBMP
Cはマイクロプロセッサとしてインテル(Intel)
社の8088を用いていた。8088は、8ビット(1
バイト)の外部データインターフェイスを有しているが
、内部では16ビットワードで稼動する。8088は2
0本のアドレス線を有しており、これは8088が最大
1メガバイトまでのメモリに直接アドレスできることを
意味する。さらに当初のIBM  PCにおいて上記組
み入れのために用いられたメモリ部品は、現在のものに
くらべて遅くて高価なものであった。また、当時のコス
ト面からは簡単な装置しか利用できなかったため、ビデ
オ出力ユニットや超大容量記憶装置ユニットのような種
々のサブシステムは、複雑でもなく低いパフォーマンス
レベルしか有していなかった。
【0005】これら種々の要素及び構成物の選択を心に
置いて、インターフェイス基準は発達し、IBM  P
Cに用いられた。上記基準では、個々のラインが、入出
力(I/O)すなわちメモリスペースの読出し/書込み
稼動(オペレーション)を示す20本のアドレス線及び
8本のデータ線を利用し、かつ、割込み及び直接メモリ
転送(DMA)チャンネルの限定された能力を有した。 構成物の複雑度は、必要な稼動が起こることを可能とさ
せるために、より大きな柔軟性すなわちインターフェイ
ス基準の容量を必要としない。このインターフェイス基
準は数年間は成功した。
【0006】コンピュータ及びエレクトロニクス産業で
は避けられないことだが、種々の部品の能力は劇的に増
大する。メモリ物品の価格は下がったが、能力及びスピ
ードは増大した。超大容量記憶装置サブシステムのパフ
ォーマンス比及び容量は、以前からのフロッピーディス
クユニットの代わりにハードディスクユニットを組み入
れることにより増大させられることが一般的である。ビ
デオプロセッサ技術は、高解像度カラーシステムが十分
実現できるように改良された。こういった発達が現存す
るIBM  PCインターフェイス基準の容量を圧迫し
たので、インターフェイス基準の数々の制限が問題とな
った。インテル社の80286が導入されたことにより
、IBM社はATと呼ばれる新しいより強力なパーソナ
ルコンピュータを発展させた。80286は、16ビッ
トのデータパス及び24本のアドレス線を有しているの
で、16メガバイトのメモリに直接アドレスすることが
できる。さらに、80286は、稼動スピードが増大し
ており、8088にパフォーマンス制限をつけていた多
くの操作が実行可能である。
【0007】現存したサブシステム回路ボードが新しい
ATに用いられるように要求されていたので、PCに用
いられていたインターフェイス基準が利用され拡張され
た。新しいインターフェイス基準は、産業基準アーキテ
クチュア(ISA)として知られるように発展した。各
ロケーションへの第2のコネクタが、拡張に用いられた
信号のための付加的ラインを含むように補われた。これ
らのラインは、24ビットのアドレス指定容量及び16
ビットのデータ転送を用いることができるような付加的
なアドレス及びデータ線と、付加的割込み及びDMA線
と、サブシステム回路ボードが拡張特性を用いることが
できたかどうかを示す線とを含むものであった。
【0008】アドレス値は稼動サイクルのかなり早い時
期に80286マイクロプロセッサにより提供されるが
、PCインターフェイスが設計された8088のタイミ
ング基準と異なるために、PCインターフェイス基準は
上記アドレスの初期部分を利用することができなかった
。稼動がインターフェイス基準メモリタイミングスペッ
クに制限されて80286の有するレートでの稼動が不
可能であったので、上記のことは稼動スピードを制限し
ていた。そのために、以前からあった新しく加えられた
アドレス信号はサイクルの早期に存在していた。このア
ドレス単一タイミングの変化は、上記アーキテクチュア
の拡張部分を利用する稼動をより早くさせる。より高い
パフォーマンスを行う部品が存在すれば、システムマイ
クロプロセッサすなわちバスを稼動させるDMAコント
ローラの他にマスタユニットを有することが可能であっ
た。しかしながら、新しい16ビット基準又は古い8ビ
ット基準で稼動させられる回路ボードと協働させる必要
があることから、各マスタユニットはすべての可能な回
路ボードの組み合わせで稼動することが必要であった。 マスタユニットはシステムボード及びマスタユニット上
のロジック及び回路によりすでに実行された多くの機能
及び特性と協働しなければならなかったので、上記のこ
とはマスタユニットの複雑度を増し、部品の重複につな
がった。
【0009】さらに、マスタユニットは、バスのゲイン
制御をするためのDMAコントラーラ、制限優先化及び
与えられたコンピュータシステム中にあるマスタユニッ
トの数を利用することが要求される。
【0010】部品の容量は増大し続けた。メモリスピー
ド及びその大きさ、超大容量記憶装置ユニット及びその
大きさ、並びにビデオユニット解像度の増大により、イ
ンテル社は80386マイクロプロセッサを導入した。 部品容量が増大したことはマスタユニットの使用への要
望を強めたが、マスタユニットのパフォーマンスはIS
Aのスペック及び容量により制限されていた。8038
6は、32ビットのアドレスを用いて4ギガバイトのメ
モリに直接アドレスする容量を提供し、32ビット幅の
データ変換を可能にしたので十分利用されなかったが、
これはISA基準が16ビットデータと24ビットアド
レスのみとを許すものであるからであった。
【0011】情報及びファイルがサーバと呼ばれる一つ
のコンピュータ中に貯えられておりそれが制限された(
超大容量でない)容量を有するローカルワークステーシ
ョンに分配されるというローカルエリアネットワーク(
LAN)の概念は、サーバに必要とされる高容量部品の
コストがかなり安いこと、及び、ワークステーションの
ための部品のコストが安いことにより実用的なものとな
った。ISAを発展させる段階で行われたことと同様な
拡張が、80386の容量を利用するためになされた。 しかしこのタイプの拡張はある短所を有していた。 LANの出現、及びサーバ並びにCADアニメーション
に用いられるビデオグラフィックワークステーションの
高性能要求により、高いデータ転送速度が重大事として
要求されるようになった。たとえわずかに短い基準サイ
クル時間が提供されとしても、ISAを発展させる段階
で行われたことと同様な拡張により上述の容量は提供さ
れなかったであろう。なぜなら、これによっても性能は
所望のレベル以下に止まるからであったであろうからで
ある。
【0012】コンピュータシステムの性能が増大したこ
とにより、固定ディスクドライブのような超大容量記憶
サブシステムが、コンピュータから及びコンピュータへ
のデータ転送において重要な役割を占めるようになた。 過去数年間、超大容量記憶サブシステムにおける新しい
流行が、データ転送性能、容量及び信頼度を改良するた
めに現れた。これは一般的にはディスクアレイサブシス
テムとして知られるものである。ディスクアレイのデザ
インに関する文献が近年多数出版された。これには、「
Considerations in the Pes
ign of a RAID Prototype」〔
シュルツ(M.Schulze)著、レポートナンバー
UCB/CSD  88/448,1988年8月,カ
リフォルニア州立大学バークレー校コンピュータ科学部
〕、「Coding Techniques for 
Handling Failures in Larg
e Disk Arrays」〔ギブソン(G.Gib
son),ヘレールシュタイン(L.Hellerst
ein)、カープ(R.Karp),カッツ(R.Ka
tz)及びパターソン(D.Patterson)著、
レポートナンバーUCB/CSD  88/477,1
988年12月,カリフォルニア州立大学バークレー校
コンピュータ科学部〕及び「A Case Study
 for Redundant Arrays of 
Inexpensive Disks (RAID) 
」〔パターソン、ギブソン及びカッツ著、1988年6
月にイリノイ州シカゴで行われたACMSIGMOD 
 Conference〕が含まれている。
【0013】ディスクアレイサブシステムの確立を望む
ひとつの理由は、非常に高いデータ転送速度を有する論
理装置を創るためである。これは、多数の基準ディスク
ドライブを組み合わせて、これらの装置から(又はこれ
らの装置へ)コンピュータシステムメモリへデータを転
送することにより達成される。もしn個の装置が組み合
わせられれば、データ転送速度はn倍になる。このスト
リッピングと呼ばれる技術は、第2の記憶装置からの(
又はこの装置への)データの大量転送が要求されるスー
パーコンピュータにおいて最初に取り入れられた。この
やり方では、多数の装置が、単一の論理装置としてアド
レスされてもよいし、さらにソフトウェア又はアードウ
ェアのどちらかによって実行されてもよい。ディスクア
レイサブシステムは、データ冗長性及び/又はデータ回
復容量を備えるようにされてもよい。
【0014】データ冗長性及びデータ回復の2つの技術
は、破滅的装置故障が起こったときに、データを貯える
ために用いられるのが一般的である。ひとつの技術はミ
ラードライブ(mirrored  drive)であ
る。ミラードライブは、各データドライブに冗長性デー
タドライブを創る。ミラードライブ故障許容技術を利用
するディスクアレイの書込みは、主データディスク及び
そのミラードライブへの書込みという結果をもたらす。 この技術によりディスクアレイ性能の損失は最小となる
。しかしながら、ミラードライブ故障許容技術を用いる
ことにはある不利益が存在する。主な不利益は、この技
術は冗長性目的のためにある総データ記憶装置の50%
を用いるということである。このことにより、バイトあ
たりの記憶装置のコストはかなり高いものとなる。
【0015】ミラードライブ以外の他の技術は、アレイ
中の種々のドライブに書込まれているデータブロックを
読み出し、かつ、アレイ中の保存されているすなわちパ
リティドライブに書込まれるパリティ情報を創る既知除
外すなわちXOR技術を用いるというパリティを用いる
技術である。これの長所は、データ冗長性及び回復のた
めに用いられるデータ記憶装置の量を最小にするために
用いることができるということである。8ドライブアレ
イにおいては、パリティ技術はパリティ情報として用い
られる1つのドライブを必要とするので、総記憶装置の
12.5%が冗長性のために用いられるが、これに対し
てミラードライブ故障許容技術においては50%が用い
られていた。つまりパリティドライブ技術はデータ記憶
装置のコストを低下させる。しかしながら、パリティド
ライブ技術にも多くの欠点がある。その中で主なものは
、データドライブが更新されるとパリティドライブも各
時間において更新されなければならないというような、
ディスクアレイ中での性能損失である。データは、デー
タをデータドライブに書込むのと同様にパリティドライ
ブに書込むために、XOR過程を被らなければならない
【0016】2番目の欠点は、XORパリティ情報生成
を行うためにシステムプロセッサを用いることである。 このことは、ドライブデータがXORパリティ情報を創
るためにドライブから転送バッファ、システムプロセッ
サローカルメモリへ転送されるということ、及び、デー
タが転送バッファを経てドライブに送り戻されるという
ことを要求する。その結果として、ホストシステムプロ
セッサは、XORパリティデータの生成を管理する際に
大きな負担をかけられる。ディスクアレイコントローラ
中のローカルプロセッサを用いることも、システムプロ
セッサのときと同じような問題に多くぶつかる。ドライ
ブデータは、XORパリティ情報を創るためにふたたび
、ドライブから転送バッファ、ローカルプロセッサメモ
リへ送られ、転送バッファを経てパリティドライブに戻
される。このデータエラー訂正については、米国特許第
4、665、978号に記載されている。
【0017】
【発明が解決しようとする課題】ディスクアレイにおけ
るミラー又はパリティ故障許容技術の実行により、ディ
スクアレイ中のデータ冗長性及び回復容量が大きく改善
される。しかしながら、これはディスクアレイ中のデー
タ損失を導くという状態を招く。これらの状態は、パリ
ティ又はミラーディスク上のディスクセクタが故障した
ときに、データディスク上の相当するディスクセクタの
故障につづいて発生する。こうした場合、ミラー又はパ
リティディスクが故障しそれが検出又は訂正されないと
きには、データは再生成され得ない。
【0018】たとえば、データベースは、ディスクアレ
イにまず書込まれ、かつ、記録が更新されることなしに
何度も読出しされる多数のデータ記録を含む。最初の書
込み操作時中には、データドライブに書込まれたデータ
はXORパリティ情報を生成するために用いられる。デ
ータはアレイ中のデータディスク上のデータドライブセ
クタに書込まれ、それに対応するXORパリティ情報は
パリティドライブ上の対応するセクタに書込まれる。デ
ータドライブが故障したとき、データはパリティドライ
ブ及びその他のデータドライブからのXORパリティ情
報を用いて再生成されてもよい。破滅的なドライブ故障
が起こると、ハードディスクの多くの同相の故障がディ
スクトラックの1つ以上のディスクセクタに破損又は読
出し不可能を生じさせる。ディスクセクタデータは、残
りのデータディスク及びXORパリティディスクを利用
して再生成されてもよい。残りのデータディスク及びパ
リティディスクの対応するセクタは、決まったディスク
セクタデータを再生成するために読出されてもよい。再
生成されたデータは総データディスク再生成過程の一部
として置換えディスクに読出されてもよいし、再生成さ
れたデータは現存するディスク上の新しいセクタに再マ
ッピングされてもよい。
【0019】この条件の元では、ディスクコントローラ
は、対応するデータドライブセクタへの書込みが起こる
か又はパリティセクタが1つ以上のディスクドライブへ
のデータを生成するために読出されるかしなければ、パ
リティディスクにアクセスしない。しかし、パリティデ
ィスクは、アレイ中のデータドライブと同じくらいディ
スク故障を起こしやすい。稼動の間に、パリティドライ
ブ上のセクタは破損又は故障してしまうであろう。この
故障は、パリティディスクがディスクコントローラによ
りアクセスすることができないときは検出されない。こ
のように、データディスク上のセクタに対応するXOR
パリティ情報はディスクコントローラ又はパリティディ
スクセクタ故障に気付いているユーザなしでは破損又は
損失する。もし対応するデータドライブセクタが破損又
は故障すれば、ディスクアレイは、パリティ故障許容技
術を用いてもデータを再生成できない。
【0020】同様のことは、ミラードライブ故障許容技
術がディスクアレイに用いられた場合にも起こる。パリ
ティ故障許容のときのようなことは、記録が最初データ
ドライブに書込まれかつデータが更新されることなしに
多数回読出されるときに起こる。最初の書込み要求は、
データディスク及びこれに対応するミラーディスクへの
書込みコマンドを生成する。その後の読出し要求は、ミ
ラーディスク上の対応するセクタを読出しすることなし
に、データディスク上のセクタへのディスクコントロー
ラにより指図される。このコントローラは、書込みコマ
ンドがデータディスクに与えられるか又はデータディス
ク故障のときにミラーディスクがデータを再生成するた
めに読み出されるかでなければ、ミラーディスクにアク
セスできない。
【0021】ミラーディスク上の、規定以上に稼動させ
られるセクタは、破損又は故障するであろう。読出し要
求がデータディスクにされてミラーディスクにはされな
いとき、この故障はディスクアレイコントローラ又はユ
ーザにより検出されない。このように、ドライブコント
ローラ及びユーザはミラーディスクアレイ故障に気付か
ない。ディスクアレイは、データディスクセクタが破損
又は故障しそれに対応するミラードライブセクタがすで
に破損又は故障していたならば、データを再生成するこ
とができない。
【0022】このようなことは、ミラードライブがデュ
プレックスディスクコントローラを用いて管理されてい
るときには起こらない。デュプレックス環境では、セパ
レートコントローラが、データ及びミラードライブを管
理するために用いられる。最初の書込み要求は、各ドラ
イブへの各コントローラにより生成される書込みコマン
ドとなる。その後の読出し要求もまた両方のドライブコ
ントローラに送られる。稼動システムは、どちらのコン
トローラが読出し要求を最初にそろえるかによって、デ
ータ又はミラーのどちらかのディスクコントローラから
のデータを受取る。よって、ひとつのディスクは名ばか
りのミラーディスクとされるが、それは多くの場合は最
初のデータディスクとして役立つ。さらに、もしどちら
かのドライブが不良になれば、各コントローラが要求に
反応するので、エラーが稼動システムに供給される。よ
って、たとえデータが他のドライブから使用されても、
エラーが報告される。よって、たとえパリティ又はミラ
ー故障許容技術が用いられても、データ損失が起こる。
【0023】
【課題を解決するための手段】本発明は故障許容インテ
リジェントディスクアレイコントローラシステムを有す
るパーソナルコンピュータの使用のためのもので、上記
コントローラは、コンピュータシステムホストによる管
理を受けないでドライブパリス(paris)に接続さ
れる8つまでの基準集積ディスクドライブのアレイの稼
動を管理することができるものである。特に本発明は、
ディスクセクタ集積度を確かめるためのバックグラウン
ドタスクのような、パリティ及びミラーディスクを含む
アレイ中のすべてのディスクへの読出し要求を生成する
ことによるディスク表面解析を行う方法に関する。
【0024】本発明の方法は、マルチタスク環境で稼動
するローカルマイクロプロセッサを有するインテリジェ
ントディスクアレイサブシステムコントローラにおいて
用いられるべきものである。本発明の方法では、ディス
ク活動のない所定の時間後にバックグラウンドタスクが
始まる。バックグラウンドタスクは、故障許容及びデー
タ冗長性に割り当てられたディスクを含んだすべてのデ
ィスクセクタをアレイ中にあるようにするディスクコン
トローラにより処理される読出し要求(読出されてセク
タ集積度をチェックされる)を創る。個々の読出し要求
は、ローカルプロセッサにより管理され、セクタ読出し
中の集積度情報を示す成功又は故障コードを送り返す。 本方法はホストプロセッサに読出し故障を知らせる手段
を含んでいるので、訂正行為がなされる。本発明では、
ディスクアレイ中のすべてのセクタが読出され確認され
るまで、バックグラウンドモードでの読出し要求を生成
し続ける。すべてのセクタの読出しが完了すると、本発
明ではアレイ全体についての読出し確認が始まる。本発
明では、ディスクアレイサブシステムが活発に読出し書
込み操作を行っているということを検出したときにバッ
クグラウンドタスクが非活性状態になるというように、
上述の読出し確認過程によりディスクアレイサブシステ
ム性能が逆に影響を受けるということがない。バックグ
ラウンドタスクは所定時間だけ待機した後に活性状態と
なり、ディスクアレイがまだ読出し又は書込み操作をし
ているかどうかを決定するテストをする。もしまだビジ
ーであれば、バックグラウンドタスクは再び所定期間だ
け非活性状態となる。もしディスクアレイが非活性状態
であればタスクは再びディスクアレイに読出し要求を送
り始める。本発明ではアレイ中のすべてのディスクメモ
リロケーションが確認されるまで、読出し要求が送り続
けられる。このタスクの完了に続いて、本発明では、再
びディスクアレイに読出し要求が送り出され始め、上述
の過程が繰り返される。
【0025】本発明のより詳細な理解は、以下の実施例
及び図面により得られるであろう。
【0026】
【実施例】I.コンピュータシステム概説図1及び図2
において、Cは本発明の一実施例であるコンピュータシ
ステムを表す。システムCは図面上2つの部分に分けら
れているが、図1と図2は1から8の番号で相互連結さ
れるものとする。システムCは4つのバスを通じて互い
に連結されているいくつかのブロック要素を備えている
【0027】図1にはコンピュータシステムCが描かれ
ている。中央処理ユニット(CPU)は、プロセッサ2
0、数値コプロセッサ22、キャッシュメモリコントロ
ーラ24及びローカルプロセッサバス26に接続されて
いる論理回路を備える。キャッシュコントローラ24と
関連づけられているのは、高速キャッシュデータランダ
ムアクセスメモリ(RAM)28、キャシュ不能メモリ
アドレスマッププログラミング論理回路30、キャッシ
ュ不能アドレスメモリ32、アドレス交換ラッチ回路3
4及びデータ交換トランシーバ36である。CPUと関
連づけられているのは、ローカルバスレディアドレスイ
ネーブルロジック回路40、論理回路38、次アドレス
イネーブル論理40及びバス要求論理回路42である。
【0028】プロセッサ20は好ましくはインテル社の
80386マイクロプロセッサである。プロセッサ20
は、ローカルプロセッサバス26に連結されている制御
、アドレス及びデータ線を有している。コプロセッサ2
2は、通常のやり方でローカルプロセッサバス26及び
プロセッサ20に連結されるインテル社の80387及
び/又はワイテック(Weitek)  WTL  3
167数値コプロセッサであることが好ましい。キャッ
シュRAM28は、キャッシュコントローラ24の制御
のもとでバス96のアドレス及びデータ要素と連結して
要求されるキャッシュメモリ稼働を実行するために高速
静的RAMであることが好ましい。キャッシュコントロ
ーラ24は2ウェイセット連想マスタモードで稼働する
ようにインテル社の82385キャッシュコントローラ
であることが好ましい。図1及び図2において、部品は
、各ユニットの33メガヘルツバージョンである。アド
レスラッチ回路34及びデータトランシーバ36はキャ
ッシュコントローラ24とプロセッサ20とを連結し、
ローカルプロセッサバス26とホストバス44との間に
ローカルバスインターフェイスを提供する。回路38は
、アクセスを制御するためにローカルバス26にバスレ
ディ信号を供給しかついつ次のサイクルが始まることが
できるかを示す論理回路である。イネーブル回路40は
、パイプラインアドレスモードのサブシステム要素によ
り利用されるデータ又はコードの次アドレスがローカル
バス26に配置できることを示すために用いられる。
【0029】キャッシュ不能メモリアドレスマッププロ
グラマー30は、プロセッサ20及びキャッシュ不能ア
ドレスメモリ34と協働してキャッシュ不能メモリロケ
ーションをマップする。キャッシュ不能アドレスメモリ
32は、多くのタイプのキャッシュメモリ不一致を避け
るためにシステムメモリのエリアがキャッシュ不能であ
るようにする。バス要求論理回路42は、要求されたデ
ータがキャッシュメモリ28になくてシステムメモリへ
のアクセスが要求されるときのような状態ではホストバ
ス44へのアクセスを要求するためにプロセッサ20及
び関連する要素によって利用される。
【0030】図面においては、システムCは、プロセッ
サバス26、ホストバス44、拡張型ISA(EISA
)バス46(図2)及びXバス90を有している。図2
に詳しく描かれていない部分は本発明において重要では
ない。図2に描かれているシステムCの部分は、EIS
Aバス46とホストバス44との間を連結するために、
EISAバス46、EISAバスコントローラ48、デ
ータラッチ及びトランシーバ50、アドレスラッチ及び
バッフア52を含むEISAシステムである。また、図
2には、EISAをもとにしたコンピュータシステムに
用いられる多くの要素と合同する集積システム周辺機器
54が示されている。
【0031】集積システム周辺機器(ISP)54は、
プロセッサ20へのアクセスを必要としないでメインメ
モリ58(図1)すなわちEISAスロット及び入力/
出力(I/O)ロケーションに含まれているメモリへの
アクセスを制御するDMAコントローラ56を含む。メ
インメモリアレイ58は、ローカルメモリと考えられ、
システムの所定の要求を調節するために好ましい大きさ
のメモリ回路アレイを備える。ISP54は、割込みコ
ントローラ70、ノンマスカブル割込み論理72、及び
、割込み信号の制御を可能にし必要なタイミング信号と
待機状態とをEISAスペック及び従来のやり方にした
がって生成するシステムタイマ74を含む。好ましい具
体例においては、プロセッサ生成割込み信号は、従来の
インテル8259割込みコントローラをエミュレート及
び拡張したデュアル割り込みコントロール回路によって
制御される。ISPはまた、バスコントローラ48と協
働してEISAバス46への種々の要求をキャッシュコ
ントローラ24により制御及び調整するバス調整論理7
5、DMAコントローラ56及びEISAバス46に位
置するバスマスタ装置を含む。
【0032】メインメモリアレイ58は、ダイナミック
RAMであることが好ましい。メモリ58は、データバ
ッフア回路60、メモリコントローラ回路62及びメモ
リマップ装置68によりホストバス44に連結する。バ
ッファ60は、データトランシービング、パリティ生成
及びチェック機能を行う。メモリコントローラ62及び
メモリマップ装置68は、アドレスマルチプレクサ及び
コラムアドレスストローブバッファ66及びロウアドレ
スイネーブル論理回路64によりメモリ53に連結する
【0033】EISAバス46は、ISA及びEISA
制御バス76、78、ISA及びEISA制御バス80
、82、及び、アドレスバス84、86、88を含む。 システム周辺機器は、Xバス90によりEISAバス4
6からのISA制御バス76に連結されている。Xバス
90への制御及びデータ/アドレス転送は、Xバスコン
トロール論理92、データトランシーバ94及びアドレ
スラッチ96によりなされる。
【0034】Xバス90には、Xバス90とキーボード
並びにマウスとをコネクタ100、102で連結するキ
ーボード/マウスコントローラ98のような種々の周辺
機器が備えられる。その他にも、システムC及びシステ
ムビデオ稼働のための基本稼働ソフトウェアを含むRO
M回路106がXバス90に備えられる。直列通信ポー
ト108がXバス90によりシステムCに接続される。 フロッピー及び固定ディスクサポート、並列ポート、第
2の直列ポート、及び、ビデオサポート回路が、Xバス
90に接続されるブロック回路110に備えられる。
【0035】II.ディスクコントローラディスクアレ
イコントローラ112は、EISAバスを通してデータ
及びアドレス情報の通信をするためにEISAバス46
に接続されている。固定ディスクコネクタ114は、固
定ディスクサポートシステムに接続され、固定ディスク
アレイ116に接続されている。図3には、本発明が用
いられているディスクアレイコントローラ112の概略
的なブロック図が示されている。図3のディスクコント
ローラは、本発明が稼働する環境を示すためのものであ
る。本発明の方法は、マイクロプロセッサを基とするイ
ンテリジェントアレイコントローラを有し、多くの従来
型ボードディスクコントロールシステムと共にシステム
マイクロプロセッサにより行わせることができるすべて
のパーソナルコンピュータシステムディスクアレイにつ
いて実用可能である。
【0036】ディスクアレイコントローラ112は、好
ましくは、32ビットEISAバスマスタ拡張型ボード
のためにつくられ、すべてのEISA制御、アドレス及
びEISAバスによる転送に必要なデータ信号を備える
インテル社の82355であるマスタインターフェイス
コントローラ118(BMIC)を含む。BMIC11
8は、ディスクアレイシステムとシステムメモリとの間
の16及び32ビットバースト転送を支持する。さらに
、BMICは、拡張型ボードとEISA及びISA装置
との間でデータサイズの変化する転送をさせる。
【0037】ディスクアレイコントローラ112は、互
換性ポートコントローラ(CPC)120をも含む。C
PC120は、EISA容量の利点を用いるためではな
く、EISAバス46と現存するホストドライバソフト
ウェアとの間の通信機構としてつくられる。
【0038】ディスクライエコントローラ112には、
好ましくはインテル社の80186であるマイクロプロ
セッサ122も含まれている。ローカルプロセッサ12
2は、BMIC118、CPC120及び転送チャンネ
ルコントローラ124とに連結されている制御、アドレ
ス及びデータ線を有している。さらに、ローカルプロセ
ッサ122は、ディスクアレイ中にあるROM126及
びダイナミックRAM128に連結されている。
【0039】転送チャンネルコントラーラ(TCC)1
24は、ディスクシステムにより転送される貯蔵データ
に用いられる静的RAM転送バッファ130にアクセス
する4つの主PMAチャンネルの稼動を制御する。TC
C124は、DMAチャンネルを、BMIC118、C
PC120、ローカルプロセッサ122及びディスクア
レイDMAチャンネル114に割り当てる。TCC12
4は、4つのチャンネルからの要求を受取り、各チャン
ネルに優先順位レベルを割り当てる。ローカルプロセッ
サ122は最高位の優先順位レベルを有している。CP
C120チャンネルは第2位の優先順位レベルを有して
いる。BMIC118チャンネルが第3位の、ディスク
アレイDMAチャンネル114が最下位の優先順位レベ
ルを有している。
【0040】ディスクアレイDMAチャンネル114は
4つのディスクドライブサブチャンネルを備える。この
4つのディスクドライブサブチャンネルは、ディスクア
レイにある8つの異なったディスクアドライブのいずれ
か一つに割り当てられる。この4つのディスクドライブ
サブチャンネルは、ディスクアレイDMAチャンネル中
では等しい優先順位を有している。上記サブチャンネル
は、ディスクアレイDMAチャンネルの源となるために
等しく交替される。上記サブチャンネルのひとつは、活
性DMA要求がある場合に限り順番に差し込まれる。残
りの3つのサブチャンネルは、交替中はつねに活性状態
である。
【0041】ディスクアレイコントラーラ112の稼動
において、要求は好ましくはBMIC118を通してデ
ィスクアレイコントローラ112に付与される。BMI
C118を通したこの要求を受取ったローカルプロセッ
サ122は、ローカルプロセッサRAMメモリ128に
データ構造をつくる。このデータ構造は、コマンドリス
トとして知られ、ディスクアレイに向けられた簡単な読
出し又は書込み要求でもよく、又は、多数の読出し/書
込みあるいは診断や形状要求を含むより精巧な要求でも
よい。コマンドリストは、その後処理のためにローカル
プロセッサ122に付与される。そしてローカルプロセ
ッサ122は、データの転送を含んでコマンドリストの
実行を監督する。コマンドリストの実行が行われると、
ローカルプロセッサ122は稼動システム装置ドライバ
に通知する。コマンドリストの付与とコマンドリスト完
了の通知は、BMIC118I/Oレジスタを用いるプ
ロトコルにより達成される。ディスクアレイコントロー
ラ112への多数の要求を可能にするために、これらI
/Oレジスタは2つのチャンネルに分けられている。そ
の2つとは、コマンドリスト付与チャンネルとコマンド
リスト完了チャンネルである。
【0042】本発明の方法は、ローカルプロセッサ12
2(図3)に関するアプリケーションタスクとして実行
される。相互作用入力/出力稼動本来の性質のために、
ローカルプロセッサ122の単一バッチタスクとしては
本発明は実用的ではない。よって、ローカルプロセッサ
122は、多数のタスクがローカルプロセッサ122に
よりアドレスされるようなリアルタイム、マルチタスク
稼動システムを利用する。好ましくは、ローカルプロセ
ッサ122の稼動システムは、カダック社(Kadak
  Products  Limited)のAMX8
6マルチタスキング実行である。AMX86稼動システ
ムの中核は、本発明の方法に示すアプリケーションに加
えて多くのシステムサービスを備える。
【0042】本発明のようにコマンドがディスクレイコ
ントローラに付与されるというやり方は、米国特許出願
第431,737号〔シュメンク(Schemnk)等
、題名「バスマスタコマンドプロトコル」、1989年
11月3日出願、コンパック・コンピュータ・コーポレ
イションに譲渡された〕によりさらに理解されるであろ
う。
【0043】III.バックグラウンド表面解析本発明
は、ミラー又はパリティ故障許容技術のような故障許容
技術に当てられたすべてのディスクを含むディスクアレ
イ中のすべてのディスクセクタを、ディスクが非活性状
態のときに続けて読出すような一連の読出し要求を生成
するローカルプロセッサ122を教示する方法である。 読出し要求の結果は、読出しが成功したかどうかを定め
るためにローカルプロセッサ122によりチェックされ
る。成功でなければ、本発明では、ディスクコントロー
ラにエラーを通知する。
【0044】A.再スタート 図4は、パワーオフ後のようにコンピュータシステムが
リセットされた後に活性となる再スタートタスク650
の流れ図である。再スタートタスク650の稼動は、ロ
ーカルプロセッサ122がAMXシステムユーティリテ
ィを用いてワンショットタイマタスクを創るというステ
ップ651から始まる。制御は、広域RIS情報が現デ
ィスクにあるかどうかをローカルプロセッサ122が決
めるというステップ652に移る。広域RIS情報は、
アレイ中のすべてのディスクについて、ヘッド、シリン
ダ、セクタ、トラック当りのセクタなどの数や他の情報
を含んでディスクアレイを記述するものである。これは
、このような情報が貯えられてコンピュータシステムセ
ットアップで初期化されるディスク上の保存ディスクセ
クタのための広域RIS(保存情報セクタ)として知ら
れる。もしなければ、制御はステップ654に移り、再
スタートタスク650はストップし、バックグラウンド
表面解析は行われない。もし広域RIS情報があれば、
プロセッサ122の制御は、プロセッサ122が初期化
タスク600(図6)を呼出してリセットコードを真に
セットするというステップ656に移る。初期化タスク
600においては、プロセッサ122は、チェックされ
るドライブの数、及び、たとえば、ヘッド、トラック並
びにシリンダのドライブあたりの数やトラックあたりの
セクタの数である個々のディスクパラメータのようなス
タートパラメータを決める。
【0045】初期化タスク600から戻ると、プロセッ
サ122の制御は、現在の広域RISが初期値よりも大
きいかどうかをプロセッサ122がチェックするという
ステップ658に移る。これは、ディスクアレイコント
ローラが本発明を含んでいるかどうかを判定するために
なされる。もしRISが本発明を含む初期値よりも小さ
ければ、タイマタスク(図8)に用いられる標準遅延パ
ラメータ(default delay parame
ter )が広域RISに加えられ、少なくともRIS
初期値は更新される。タイマ遅延は、広域RISを新し
いタイマ遅延期間で更新するコマンドを発するために、
ユーザにより選択的にホストプロセッサ20でセットさ
れてもよい。これは、本明細書中に述べられていないプ
ログラムにより実行される。好ましくは、タイマ遅延は
15秒である。もしステップ658で現RISが初期値
よりも小さいと判定されれば、制御は、広域RISが更
新されてタイマ遅延値が標準値にセットされるというス
テップ660に移る。その後、制御はステップ662に
移る。もしステップ658で現RISが初期値よりも小
さくないと判定されれば、制御は、初期化タスク600
で判定されたように、アレイ中の故障許容ドライブの数
がゼロより大きいかをプロセッサ122が判定するとい
うステップ662に移る。もしゼロより大きくなければ
、プロセッサ122の制御は、タスクがストップするス
テップ664に移る。 もしゼロより大きければ、制御は、本発明において実際
の表面解析のスタート又は再スタートの前に遅延目的に
用いられるワンショットタイマを初期化するというステ
ップ666に移る。その後、制御は、タスクの実行を終
了するステップ668に移る。
【0046】B.表面解析 図5は、ディスクアレイ中のすべてのディスクセクタへ
の読出し要求を生成するローカルプロセッサ122に関
する、本発明に含まれる表面解析タスク500の流れ図
である。これは、実行されるネクストアクション(NE
XT  ACTION)変数がバックグラウンド読出し
要求の結果であるかどうかをプロセッサ122が決定す
るというステップ502から始まる。ネクストアクショ
ンは読出し要求を発するために初期化される。もしネク
ストアクション値が読出し要求の結果であれば、制御は
、未決(pending) 論理読出し又は書込み要求
の数がコントローラメモリ128中のローカル変数とし
て貯えられるというステップ504に移る。そして制御
はステップ506に移る。もしステップ502でネクス
トアクションが読出し要求の結果でなければ、制御は5
06に移る。 ステップ506ではプロセッサ122は初期化タスク6
00を呼出す。ステップ506で初期化タスク600が
呼出されると、ノンリセット状態を示すコードがタスク
600に送られる。タスク600から戻ると、制御は、
ステップ506で呼出された初期化タスク600により
決定されたアレイ中の故障許容ドライブの数をプロセッ
サ122がチェックするというステップ508に移る。 もし上記ドライブの数がゼロであれば、制御は、プロセ
ッサが現タスクを停止させるというステップ510に移
る。もし上記ドライブの数がゼロでなければ、制御は、
ネクストアクションに依存するスイッチであるステップ
512に移る。
【0047】もしネクストアクション変数が読出し要求
を発するようにセットされていれば、制御はステップ5
14に移る。その後、制御は、プロセッサ122が、タ
スク500によりアドレスされた現ドライブにチェック
されるドライブをセットするというステップ516に移
る。制御は、ステップ506で呼出されたタスク600
から戻ってきたパラメタを基に現ドライブがアレイ中の
不良ドライブ(baddrive)であるかを決めると
いうステップ518に移る。もし現ドライブが不良であ
れば、制御は、プロセッサ122がアレイ中の次ドライ
ブを現ドライブポインタだけインクリメントするという
ステップ520に移る。その後、制御はステップ522
に移る。もしステップ518で現ドライブが不良(故障
)でないと判定されれば、制御はステップ522に移る
。ステップ522では、ローカルプロセッサ122は、
読出し要求によるデータ及び状態コードを戻すために転
送バッファにRAMメモリ128を割り当てる。制御は
、読出し要求転送バッファに割り当てるに十分なRAM
メモリ128があるかどうかをプロセッサ122がテス
トするというステップ524に移る。もし十分なメモリ
128がなければ、制御は、タイマタスク680が表面
解析タスク500を再開させるまで実行を停止するとい
うステップ526に移る。タイマタスク680がタスク
500を再開させた後、制御はステップ528に移る。 十分なメモリ128がないということは、ディスクコン
トローラ112が多数のI/O転送を実行しようと試み
たときに起こる。つまり、メモリ128の不足はアレイ
コントローラ112がビジーのときの起こる。ステップ
524で十分なメモリ128があると判定されると、制
御は、プロセッサ122が現ドライブ、ヘッド及びシリ
ンダへの論理読出し要求を生成するというステップ52
8へ移る。ハードディスクにおいては、トラックは単一
回転ディスクメディアでの半径位置を参照する。 トラック自身は、トラックの半径位置を表す多数のディ
スクセクタを備える。トラック情報あたりのセクタは、
ディスクアレイ中の各ディスクの広域RIS情報中に貯
えられる。たいていのハードディスクメディアは多数の
同軸ディスクを備える。よって、各ディスク上の同じト
ラック位置はシリンダとして参照される。ドライブ要求
が特定のヘッドに出されたとき、シリンダ及びディスク
、ディスク及びシリンダ情報は明らかに特定され、トラ
ック情報は特定のディスクと関連したヘッドにより特定
される。本発明では、読出し要求は特定トラック上のす
べてのセクタを読出そうとするものである。
【0048】制御は、表面解析タスク500がコントロ
ーラ112により行われる読出し要求を優先的に取り扱
うというステップ530へ移る。読出し要求の発生方法
及びこの要求のスケジューリングについては、米国特許
出願第431,737号に詳しい。プロセッサ122の
制御は、ネクストアクション変数が読出し要求の結果を
チェックするようにセットされ、読出し要求が完了する
まで実行が停止されるというステップ532に移る。読
出し要求が完了すると実行が再開され、制御はステップ
512に移る。
【0049】もしステップ512においてタスク500
によるネクストアクションが読出し要求の結果をチェッ
クすると判定されれば、制御ステップ534及び536
に移る。ステップ536では、プロセッサ122は、デ
ィスクセクタ故障を示すエラーコードがリード要求によ
り戻されたかどうか判定するために転送バッファを読出
す。もしリード要求がエラーコードを戻していれば、制
御はステップ538に移る。もし読出し要求中のトラッ
ク中のいずれか一つのセクタが故障であれば、エラーコ
ードは戻る。ステップ538では、タスク500はコン
トローラにディスク故障を通知する。故障通知は、ディ
スクコントローラ112によりローカルに行われるか、
又は、オペレータあるいはオペレーティングシステムが
どのような訂正行動をもとれるようにBMIC118を
通してホストシステムに送られてもよい。ローカル的に
行われる訂正行動のひとつの手段は、同じディスク上の
新しいセクタへの故障セクタの自動再マッピングである
。この手段は1990年7月20日に米国において出願
(コンパック・コンピュータ社に譲渡された)された「
Automatic hard disc bad s
ector remapping」に詳しい。しかし、
故障ディスクセクタに含まれるデータのマニュアル調停
及び再生成のような訂正方法が取られることもある。プ
ロセッサ122の制御はステップ540に移る。もしス
テップ536で読出し要求がエラーコードを戻さなかっ
たと判定されると、制御は、プロセッサがこの読出し要
求をディスクコントローラ112から優先的に移動させ
るというステップ540に移る。これは、読出し要求に
割り当てられたメモリ128を割り当て不能にするため
に必要である。もし読出し要求が優先的にされなければ
、ローカルメモリ128は割り当て不能とならず、すぐ
に完了した読出し要求、新しい要求及び転送されるデー
タで満たされるであろう。制御は、プロセッサ122が
、ドライブ要求からのリターン情報に割り当てられたメ
モリ128を割り当て不能とするステップ542に移る
。制御は、プロセッサ122が新しい読出し要求を発す
るためにネクストアクション変数をセットするというス
テップ544に移る。
【0050】すべてのディスメモリロケーションを読出
すために、本発明では、すべてのディスクセクタが続け
て読出される次に適用されるヘッド、シリンダ及びドラ
イブをインクリメントする。制御は、次のヘッドのイン
クリメントが現在チェックされているドライブのヘッド
最大数を超えるかどうかをプロセッサ122が判定する
というステップ546に移る。もし現ドライブのヘッド
最大数を超えないと判定されれば、制御は、現ドライブ
の次のヘッドをインクリメントするステップ548に移
る。その後、制御はステップ564に移る。
【0051】ステップ546で現ヘッドが本ドライブの
ための最後の有効ヘッドであると判定されると、制御は
、現ヘッドポインタをドライブの最初のヘッドにセット
するステップ550に移る。制御は、現シリンダがドラ
イブの最後のシリンダであるかをプロセッサ122が判
定するステップ552に移る。もし最後のシリンダでな
ければ、制御は、現ドライブの次のシリンダを現シリン
ダだけインクリメントするステップ554に移る。その
後、制御はステップ564に移る。ステップ552で現
シリンダが最後の有効シリンダであると判定されると、
制御は、現シリンダをドライブの最初のシリンダに等し
くセットするステップ556に移る。そして、制御は、
現ドライブがアレイ中の最後の有効ドライブであるかど
うかを判定するステップ558に移る。もしアレイ中の
最後の有効ドライブであれば、制御は、現ドライブをア
レイ中の最初のドライブに等しくセットするステップ5
60に移る。もしステップ558で現ドライブがアレイ
中の最後のドライブでないと判定されると、制御は、ア
レイ中の次のドライブをインクリメントするステップ5
62に移る。
【0052】つまり、表面解析タスク500は、読出し
要求をすべてのヘッドすべてのシリンダすべてのドライ
ブに順次に付与するものである。制御は、未決ディスク
I/Oタスクがあるかを判定するためにビジータスク7
00(図9)を呼出すステップ564に移る。制御は、
ビジータスク700が真コードを戻すかどうかを判定す
るステップ566に移る。もし真コードが戻されれば、
制御は、すべてのドライブ要求が完了した後で表面解析
タスク500の再開前に所定の時間だけ待機する、タイ
マタスク680により再開させられるまで実行が停止さ
せられるステップ570に移る。再開の後に制御はステ
ップ512に戻る。ステップ566でビジーコードが偽
であると判定されれば、制御は、未決I/O要求の数を
備えるローカル変数が現在の未決のI/O要求の数に等
しいかどうかをプロセッサが判定するというステップ5
68に移る。もし等しければ、新しい未決I/Oタスク
はひとつも受取られず、制御はステップ512に移る。 もし等しくなければ、表面解析タスク500は、少なく
ともひとつの新しいタスクがまだ作用していないディス
クアレイコントローラ112により受取られたと結論し
、制御は、表面解析タスク500がタイマタスク680
により再開されるまで非活性にされるステップ570に
移る。
【0053】つまり、表面解析タスク500はループし
続け、バックグラウンドモードのディスクアレイ中のす
べてのセクタを続々にチェックする。もしディスクアレ
イが活性的にI/O要求を実行していれば、表面解析タ
スク500は所定の時間だけ非活性状態になる。
【0054】C.初期化 図6は、表面解析タスク500による読出し要求の生成
のための初期パラメタをセットするのに用いられる初期
化タスク600の流れ図である。初期化タスク600は
、アレイ中のすべてのディスクについてのヘッド、シリ
ンダ、セクタ、トラック当たりのセクタ及び他の情報の
ようなパラメタを含んでいるディスクアレイについての
情報があるかどうかをプロセッサ122が判定するステ
ップ602から始まる。これは、上述のような情報が貯
えられコンピュータシステムセットアップで初期化され
るディスク上の予約ディスクセクタへの広域RIS(r
eserved information secto
rs)として知られる。もし情報がなければ、制御はス
テップ604に移りタスクが停止する。もし広域RIS
があれば、制御は、再スタートタスク650によりセッ
トされるリセットコードがあるかどうかをプロセッサ1
22が判定するステップ606へ移る。もしリセットコ
ードがあれば、制御は、すべてのパラメタをアレイ中の
最初のヘッド、最初のシリンダ及び最初のディスクにセ
ットするステップ608に移る。その後制御はステップ
610に移る。もしステップ606で、初期化タスク6
00が表面解析タスク500により呼出されたときのよ
うに、リセットコードがひとつもセットされていないと
判定されれば、制御は、プロセッサ122がディスクカ
ウンタを初期化するステップ610に移る。制御は、現
論理ボリュームを現ディスクがメンバーであるボリュー
ムにセットするステップ612に移る。その後、制御は
ステップ614に移る。
【0055】ステップ614では、現ユニットがアレイ
の有効論理ユニットであるか、さらに、現ユニットが故
障許容技術を含む論理ユニットの一部であるかがローカ
ルプロセッサ122により判定される。論理ユニットは
、ユニットに関連した故障許容ディスクだけでなくデー
タディスクをも識別することは注意されるべきである。 もし真であれば、制御は、読出し、シリンダ、ディスク
などの数のような広域RIS中に貯えられたディスクパ
ラメタへのディスク要求に関連したすべての変数をプロ
セッサ122が初期化するステップ616へ移る。 制御は、現シリンダが使用されたことのないドライブを
示すシリンダゼロにセットされるか、又は、リセットコ
ードが真であるかをプロセッサ122がテストするステ
ップ618に移る。もしどちらかの条件が真であれば、
制御は、現シリンダをシリンダ1と同じにセットするス
テップ620に移る。その後、制御はステップ622に
移る。もしステップ618で両方の条件が偽であれば、
プロセッサ122の制御は、有効故障許容ドライブカウ
ントがインクリメントされるステップ622に移る。そ
して制御はステップ626に移る。もしステップ614
において現ユニットが有効論理ユニットでなく又は現ユ
ニットが故障許容オペレーションにセットされていない
と判定されると、制御は、現論理ユニットが故障である
ことの結果として現ドライブが故障であるということを
示すようにドライブパラメタがセットされるステップ6
24に移る。そして制御はステップ626に移る。ステ
ップ626では、論理プロセッサ122が、アレイ中に
付加的ドライブがあるかどうかを判定する。もし付加的
ドライブがあれば、プロセッサ122の制御は次のドラ
イブをインクリメントするステップ630に移り、さら
に制御はステップ614に移る。もしアレイ中に他のド
ライブがなければ、制御は、呼出しタスクに戻るステッ
プ628に移る。
【0056】D.スケジュールオペレーション図7は、
ディスクアレイに送られるプロセス論理要求に用いられ
る手続きの部分を示す。これらの部分は、本発明のタイ
マタスク680の稼働を管理するために用いられる。好
ましくはこれらの手続きは、ローカルプロセッサ122
に関するディスクアレイのためのスケジューリングタス
クの集積部分である。しかし、これらのタスクは、本発
明のタイミング事象の管理とは独立の機能として実行さ
れる。
【0057】図7Aでは、ステップ800で、ローカル
プロセッサ122が論理要求を受け取る。制御は、現論
理要求カウントがゼロに等しいか、又は、再スタートタ
スク650などで初期化されるタイマが稼働しているか
をローカルプロセッサ122が判定するステップ802
に移る。もし両方の条件が真であれば、制御は、ローカ
ルプロセッサ122が停止しかつAMX稼働の制御のも
とで稼働するワンショットタイマタスクをクリアするス
テップ804に移る。その後、制御は、論理要求カウン
トをインクリメントするステップ806に移る。よって
、ローカルプロセッサ122が論理要求を受け取ると、
ワンショットタイマタスクは止まり、本発明は非活性状
態になる。その後、制御は、要求が受け取られたときに
必要となるステップに移って行く。
【0058】図7Bでは、コード部分が論理要求の完了
を示す。ステップ810では、ローカルプロセッサ12
2が、論理要求の完了によって論理要求カウントをデク
リメントする。そして制御は、論理要求カウントがゼロ
に等しくかつ現論理ユニットがミラー又はパリティのど
ちらかの故障許容モードにセットされているかどうか、
さらに、ワンショットタイマタスクがストップしている
かをローカルプロセッサ122が判定するステップ81
2に移る。もしこれらすべての条件が真であれば、制御
は、ローカルプロセッサ122が、ワンショットタイマ
タスクを広域RISに示されている時間にリセットし、
タイマランニングをスタートさせるステップ814に移
る。ワンショットタスクが実行されると、タイマタスク
680が呼び出される。もしワンショットタスク完了の
前に他の要求が受け取られると、ローカルプロセッサ1
22は、図7Aで述べられたようなワンショットタイマ
の停止及びクリアリングを起こすタスクパスに入る。よ
って、本発明では、すべての未決オペレーションの完了
でワンショットタイマタスクのリセット及びスタートが
起こる。ワンショットタイマタスクが完了すると、タイ
マタスク680自体が呼び出される。
【0059】E.タイマ図8は、タイマタスク680の
流れ図である。ディスクコントローラ112がI/O稼
働をしているかを判定するためにビジータスク700を
ローカルプロセッサ122が呼び出すステップ684は
、ワンショットタイマタスクの完了につづいて始まる。 ビジータスク700から戻ると、制御は、ディスクコン
トローラ112が本当にビジーであるかをプロセッサ1
22が判定するステップ686に移る。もしビジーコー
ドが真であれば、制御は、タイマタスク680が停止す
る692に移る。もしビジーコードが偽にセットされれ
ば、制御は、プロセッサ122が表面解析タスク500
の稼働を再開するステップ688に移る。そして、制御
はタイマタスク680が停止するステップ690に移る
【0060】F.ビジー 図9は、ディスクアレイが再生成と呼ばれるI/O稼働
の特定のタイプを実行しているかどうかを判定するため
に本発明に用いられるビジータスク700の流れ図であ
る。稼働は、広域RISパラメタが不良すなわちディス
ク故障を示すヌルにセットされるかをローカルプロセッ
サ122が判定するステップ702から始まる。もしそ
うであれば、制御はステップ706に移る。もしステッ
プ702で広域RISパラメタがあると判定されると、
制御は、現ボリュームが現在データ再生成されているか
をプロセッサ122がテストするステップ704に移る
。好ましくはドライブが置き換わった及び/又はドライ
ブのデータが再生成されたときに、広域RIS構造に示
されるのがよい。このような場合、再生成されたドライ
ブ読出し要求を付与することは勧められない。もしドラ
イブが再生成されると、制御はステップ706に移る。 ステップ706では、ビジーコードが真にセットされ、
制御はステップ710に移る。もしステップ704で現
ボリュームが再生成されていないと判定されると、制御
は、ビジーコードを偽にセットするステップ708に移
る。その後、制御は、ディスクアレイ中に付加的な論理
ボリュームがあるかをプロセッサ122が判定するステ
ップ710に移る。もしディスクアレイ中に付加的なボ
リュームがあれば、制御は、次の論理ボリュームをイン
クリメントするステップ712に移る。その後、制御は
、すべての論理ボリュームがチェックされるまでビジー
タスク700が続けられるようにステップ702に戻さ
れる。もしアレイ中に付加的な論理ボリュームがなけれ
ば、制御は、ローカルプロセッサ122の制御を呼び出
しタスクにもどすステップ714に移る。
【0061】
【発明の効果】IV.結論 パリティ及びミラー故障許容技術のためのものを含むデ
ィスクドライブアレイ中のすべてのドライブに対するバ
ックグラウンド読出し要求の発行及び実行の方法は、デ
ィスクアレイの信頼性を増大させることがわかる。ミラ
ー又はパリティディスクの故障は、実際にデータの再生
成が要求される前にルーチン的に検出される。よって、
ディスクは置き換えられる、すなわち、故障セクタはデ
ィスク上の有効なセクタに再マップされる。以上の記述
は本発明を説明するためのものであって大きさ、形、材
料、部品、回路、結線などは数々の変更が可能であり、
このような変更は本発明の精神に基づいてなされる。
【図面の簡単な説明】
【図1】本発明の一実施例であるコンピュータシステム
の概略的なブロック図である。
【図2】本発明の一実施例であるコンピュータシステム
の概略的なブロック図である。
【図3】本発明に用いられるインテリジェントディスク
アレイコントローラ環境の概略的なブロック図である。
【図4】本発明に用いられるコンピュータシステムのリ
セット状態に続いて、ディスクアレイに向けられる読出
し要求の生成を要約して示す流れ図である。
【図5】本発明において、ディスクアレイ中のすべての
セクタへの読出し要求を生成する方法の流れ図である。
【図6】本発明において、ディスクアレイへの読出し要
求を生成する前にディスクアレイパラメタを初期化する
方法の流れ図である。
【図7】本発明に関する論理読出し及び書込み要求のス
ケジューリングのためのタスクの部分を示す図である。
【図8】本発明において、ディスクアレイ非活性の所定
時間後読出し要求の生成を活性化させる方法の流れ図で
ある。
【図9】本発明において、ディスクアレイシステムが、
読出し又は書込み稼働をしているか、あるいは、ビジー
であるかを判定する方法の流れ図である。
【符号の説明】
20            プロセッサ22    
        コプロセッサ44         
   ホストバス46            EIS
Aバス48            EISAバスコン
トローラ56            DMAコントロ
ーラ74            システムタイマ90
            Xバス

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】個々のディスク及びディスクアレイパラメ
    ータとディスク及びディスクアレイの関連状態情報とを
    有する故障許容インテリジェント超大容量ディスクアレ
    イサブシステムを持つコンピュータシステムに用いられ
    る、ディスクアレイ中のすべてのドライブのディスクセ
    クタ解析を実行するための方法であって、(a)ディス
    クアレイ及びディスクドライブ状態情報並びに現ディス
    クパラメタに基づいて、現ディスクメモリロケーション
    を初期化し、 (b)ディスクアレイがディスク稼動を実行する過程に
    あるかどうかを判定し、もし上記稼動を実行していれば
    、所定時間だけ本発明の方法の稼動を中止し、ディスク
    稼動が実行されなくなるまで以上の操作を繰り返し、(
    c)現ディスクメモリロケーションでの読出し稼動を実
    行し、 (d)読出し稼動が故障しているかどうかを判定するた
    めに読出し稼動の結果をチェックして、もし故障が検出
    されれば現ディスクメモリロケーションにディスクメデ
    ィア故障を表示し、 (e)連続したディスクメモリロケーションをインクリ
    メントし、 (f)ディスクアレイ中に位置するすべてのディスクの
    すべてのディスクメモリロケーションについて、上記(
    b)〜(e)のステップを連続的に行う、という上記(
    a)〜(f)のステップを備える方法。
  2. 【請求項2】上記ディスクメモリロケーションを初期化
    するステップは、コンピュータシステムがリセットされ
    ているかを判定しもしリセットされていれば現ドライブ
    メモリロケーションをディスクアレイ中の所定のディス
    クメモリロケーションに初期化することを含んでいる請
    求項1の方法。
  3. 【請求項3】上記ディスクアレイが活性状態であるかど
    うかを判定するステップは、ディスクアレイコントロー
    ラが受信しても入力又は出力稼動要求に作用しないかを
    判定することを含んでいる請求項1の方法。
  4. 【請求項4】上記ディスクアレイが活性状態であるかど
    うかを判定するステップは、現ディスクメモリロケーシ
    ョンがあるディスクが現在再生成されているかどうかを
    判定することを含んでいる請求項3の方法。
  5. 【請求項5】故障許容インテリジェント超大容量ディス
    クアレイサブシステムを持つコンピュータシステムに用
    いられる、ディスクアレイ中のすべてのドライブのディ
    スクセクタ解析を実行するための方法であって、(a)
    ディスク及びディスクアレイパラメタ並びに現状態情報
    を判定する、 (b)ディスクアレイ及びディスクドライブ状態情報並
    びに現ディスクパラメタに基づいて、現ディスクメモリ
    ロケーションを初期化し、 (c)ディスクアレイがディスク稼動を実行する過程に
    あるかどうかを判定し、もし上記稼動を実行していれば
    、所定時間だけ本発明の方法の稼動を中止し、ディスク
    稼動が実行されなくなるまで以上の操作を繰り返し、(
    d)現ディスクメモリロケーションへの読出し要求を生
    成し、ディスクアレイコントローラにより実行の読出し
    要求を優先的に扱い、 (e)読出し要求が故障しているかどうかを判定するた
    めに読出し要求の結果をチェックして、もし故障が検出
    されれば現ディスクメモリロケーションにディスクメデ
    ィア故障を表示し、 (f)連続したディスクメモリロケーションをインクリ
    メントし、 (g)ディスクアレイ中に位置するすべてのディスクの
    すべてのディスクメモリロケーションについて、上記(
    c)〜(f)のステップを連続的に行う、という上記(
    a)〜(g)のステップを備える方法。
  6. 【請求項6】上記ディスクメモリロケーションを初期化
    するステップは、コンピュータシステムがリセットされ
    ているかを判定しもしリセットされていれば現ドライブ
    メモリロケーションをディスクアレイ中の所定のディス
    クメモリロケーションに初期化することを含んでいる請
    求項5の方法。
  7. 【請求項7】上記ディスクアレイが活性状態であるかど
    うかを判定するステップは、ディスクアレイコントロー
    ラが受信しても入力又は出力稼動要求に作用しないかを
    判定することを含んでいる請求項5の方法。
  8. 【請求項8】上記ディスクアレイが活性状態であるかど
    うかを判定するステップは、現ディスクメモリロケーシ
    ョンがあるディスクが現在再生成されているかどうかを
    判定することを含んでいる請求項7の方法。
  9. 【請求項9】上記ディスク及びディスクアレイパラメタ
    を判定するステップは、ディスクの保存されているディ
    スクメモリロケーションからの読出しディスク及びディ
    スクアレイパラメタ情報を含んでいる請求項5の方法。
JP20485691A 1990-07-20 1991-07-20 ディスクセクタ解析方法 Expired - Lifetime JP3151008B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US556,646 1990-07-20
US07/556,646 US5210860A (en) 1990-07-20 1990-07-20 Intelligent disk array controller

Publications (2)

Publication Number Publication Date
JPH04233625A true JPH04233625A (ja) 1992-08-21
JP3151008B2 JP3151008B2 (ja) 2001-04-03

Family

ID=24222226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP20485691A Expired - Lifetime JP3151008B2 (ja) 1990-07-20 1991-07-20 ディスクセクタ解析方法

Country Status (7)

Country Link
US (1) US5210860A (ja)
EP (1) EP0467706B1 (ja)
JP (1) JP3151008B2 (ja)
KR (1) KR920003286A (ja)
AT (1) ATE134778T1 (ja)
CA (1) CA2047406A1 (ja)
DE (1) DE69117371T2 (ja)

Families Citing this family (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0502207B1 (en) * 1990-09-20 1997-08-27 Fujitsu Limited Input/output controller
JP2743606B2 (ja) * 1991-04-11 1998-04-22 三菱電機株式会社 アレイ型記録装置
JP3187525B2 (ja) * 1991-05-17 2001-07-11 ヒュンダイ エレクトロニクス アメリカ バス接続装置
JP2913917B2 (ja) 1991-08-20 1999-06-28 株式会社日立製作所 記憶装置および記憶装置システム
US5502836A (en) * 1991-11-21 1996-03-26 Ast Research, Inc. Method for disk restriping during system operation
US5974544A (en) * 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
US5442752A (en) * 1992-01-24 1995-08-15 International Business Machines Corporation Data storage method for DASD arrays using striping based on file length
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5724539A (en) * 1992-03-19 1998-03-03 Digital Equipment Corporation System for selectively storing stripes of data in tracks of disks so that sum of transfer rates of stripes match communication bandwidth to host
US5454081A (en) * 1992-08-28 1995-09-26 Compaq Computer Corp. Expansion bus type determination apparatus
AU4632693A (en) * 1992-09-04 1994-03-29 Jostens Learning Corporation Local area video network
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
JP3083663B2 (ja) * 1992-12-08 2000-09-04 株式会社日立製作所 ディスクアレイ装置
US5455934A (en) * 1993-03-23 1995-10-03 Eclipse Technologies, Inc. Fault tolerant hard disk array controller
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5617425A (en) * 1993-05-26 1997-04-01 Seagate Technology, Inc. Disc array having array supporting controllers and interface
US5511227A (en) * 1993-09-30 1996-04-23 Dell Usa, L.P. Method for configuring a composite drive for a disk drive array controller
JP2905373B2 (ja) * 1993-10-01 1999-06-14 富士通株式会社 ディスク制御装置及びその制御方法
JPH07134635A (ja) * 1993-11-10 1995-05-23 Nec Eng Ltd ディスクアレイ装置
US5490149A (en) * 1993-12-28 1996-02-06 International Business Machines Corporation Tactical read error recovery strategy based on dynamic feedback
US5446855A (en) * 1994-02-07 1995-08-29 Buslogic, Inc. System and method for disk array data transfer
US5617534A (en) * 1994-02-16 1997-04-01 Intel Corporation Interface protocol for testing of a cache memory
CA2145106C (en) * 1994-04-22 1999-08-24 Abhaya Asthana Intelligent memory-based input/output system
US5546558A (en) * 1994-06-07 1996-08-13 Hewlett-Packard Company Memory system with hierarchic disk array and memory map store for persistent storage of virtual mapping information
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
JP3283724B2 (ja) * 1995-05-10 2002-05-20 三菱電機株式会社 ミラーディスク制御方法およびミラーディスク装置
US5812753A (en) * 1995-10-13 1998-09-22 Eccs, Inc. Method for initializing or reconstructing data consistency within an array of storage elements
US5978856A (en) * 1996-01-26 1999-11-02 Dell Usa, L.P. System and method for reducing latency in layered device driver architectures
US5819030A (en) * 1996-07-03 1998-10-06 Microsoft Corporation System and method for configuring a server computer for optimal performance for a particular server type
KR100223651B1 (ko) * 1996-10-30 1999-10-15 윤종용 제조공정 합격판정기 및 그를 이용한 제조공정방법
US6073218A (en) * 1996-12-23 2000-06-06 Lsi Logic Corp. Methods and apparatus for coordinating shared multiple raid controller access to common storage devices
US5895438A (en) * 1996-12-23 1999-04-20 Hitachi Computer Products (America ), Inc. Inline disk tester
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
US5914967A (en) * 1997-01-18 1999-06-22 Hitachi Computer Products (America), Inc. Method and apparatus for protecting disk drive failure
US5944838A (en) * 1997-03-31 1999-08-31 Lsi Logic Corporation Method for fast queue restart after redundant I/O path failover
US6098181A (en) * 1997-04-10 2000-08-01 International Business Machines Corporation Screening methodology for operating system error reporting
US5968182A (en) * 1997-05-12 1999-10-19 International Business Machines Corporation Method and means for utilizing device long busy response for resolving detected anomalies at the lowest level in a hierarchical, demand/response storage management subsystem
US6178520B1 (en) * 1997-07-31 2001-01-23 Lsi Logic Corporation Software recognition of drive removal or insertion in a storage system
US6223301B1 (en) * 1997-09-30 2001-04-24 Compaq Computer Corporation Fault tolerant memory
US6704838B2 (en) 1997-10-08 2004-03-09 Seagate Technology Llc Hybrid data storage and reconstruction system and method for a data storage device
US6098114A (en) 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6195767B1 (en) * 1998-09-14 2001-02-27 Phillip M. Adams Data corruption detection apparatus and method
US6374377B1 (en) * 1998-12-14 2002-04-16 Intel Corporation Low yield analysis of embedded memory
US6266677B1 (en) * 1999-02-08 2001-07-24 Hewlett Packard Company System and method for ensuring the integrity of stored data
US6629273B1 (en) * 2000-01-24 2003-09-30 Hewlett-Packard Development Company, L.P. Detection of silent data corruption in a storage system
US6970936B2 (en) * 2000-12-19 2005-11-29 International Business Machines Corporation Data processing system and method of communication that employ a request-and-forget protocol
US7017107B2 (en) 2001-04-30 2006-03-21 Sun Microsystems, Inc. Storage array employing scrubbing operations at the disk-controller level
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
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
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
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
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple 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
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
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
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
JP4059714B2 (ja) * 2002-07-04 2008-03-12 Tdk株式会社 光記録媒体
US7185144B2 (en) * 2003-11-24 2007-02-27 Network Appliance, Inc. Semi-static distribution technique
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7137038B2 (en) * 2003-07-29 2006-11-14 Hitachi Global Storage Technologies Netherlands, B.V. System and method for autonomous data scrubbing in a hard disk drive
US7328305B2 (en) 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
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
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
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
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
US8268956B2 (en) * 2006-12-08 2012-09-18 Ems-Chemie Ag Transparent mold made of a polyamide molding material
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US8898536B2 (en) * 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
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
US10248483B2 (en) 2007-10-19 2019-04-02 Oracle International Corporation Data recovery advisor
EP2060607B2 (de) * 2007-11-16 2019-11-27 Ems-Patent Ag Gefüllte Polyamidformmassen
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
ES2429814T3 (es) * 2010-03-12 2013-11-18 Ems-Patent Ag Masa de moldeo de poliamida modificada para resistencia al impacto así como recipiente formado a partir de la misma
CN102270167A (zh) * 2010-06-03 2011-12-07 鸿富锦精密工业(深圳)有限公司 主板多硬盘端口测试系统与方法
TWI486736B (zh) * 2012-12-06 2015-06-01 Yu Sheng So 照明調控方法及設備
SI2746339T1 (sl) 2012-12-18 2015-05-29 Ems-Patent Ag Poliamidna oblikovalna masa in oblikovalni deli proizvedeni iz enakega

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3771143A (en) * 1972-06-01 1973-11-06 Burroughs Corp Method and apparatus for providing alternate storage areas on a magnetic disk pack
DE3069611D1 (en) * 1979-12-27 1984-12-13 Fujitsu Ltd Apparatus and method for testing semiconductor memory devices
US4630269A (en) * 1983-05-16 1986-12-16 Data General Corporation Methods for diagnosing malfunctions in a disk drive
US4724531A (en) * 1984-07-18 1988-02-09 Hughes Aircraft Company Gate array with bidirectional symmetry
US4669082A (en) * 1985-05-09 1987-05-26 Halliburton Company Method of testing and addressing a magnetic core memory
US4775978A (en) * 1987-01-12 1988-10-04 Magnetic Peripherals Inc. Data error correction system
JPS63279318A (ja) * 1987-05-11 1988-11-16 Nec Corp 磁気ディスク装置

Also Published As

Publication number Publication date
ATE134778T1 (de) 1996-03-15
DE69117371D1 (de) 1996-04-04
CA2047406A1 (en) 1992-01-21
DE69117371T2 (de) 1996-11-14
JP3151008B2 (ja) 2001-04-03
EP0467706A2 (en) 1992-01-22
KR920003286A (ko) 1992-02-29
EP0467706A3 (en) 1993-02-03
EP0467706B1 (en) 1996-02-28
US5210860A (en) 1993-05-11

Similar Documents

Publication Publication Date Title
JPH04233625A (ja) ディスクセクタ解析方法
US5101492A (en) Data redundancy and recovery protection
US6505268B1 (en) Data distribution in a disk array
EP0428021B1 (en) Method for data distribution in a disk array
US6058489A (en) On-line disk array reconfiguration
US5598549A (en) Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver
JP2981245B2 (ja) アレイ型ディスク駆動機構システム及び方法
US6772310B2 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US5822584A (en) User selectable priority for disk array background operations
KR100211788B1 (ko) 디스크 어레이의 고장 예측을 위한 데이타 처리방법및시스템
US5961652A (en) Read checking for drive rebuild
US5526507A (en) Computer memory array control for accessing different memory banks simullaneously
US5608891A (en) Recording system having a redundant array of storage devices and having read and write circuits with memory buffers
US6505281B1 (en) Hard disk drives employing high speed distribution bus
US5249279A (en) Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5148432A (en) Arrayed disk drive system and method
WO2002003204A1 (en) Three interconnected raid disk controller data processing system architecture
JPH07134635A (ja) ディスクアレイ装置
JP2003131816A (ja) 局部的なデータの再割り付けのためのi/oカウンターを持つ記憶デバイス及びその制御方法
US5680538A (en) System and method for maintaining a minimum quality of service during read operations on disk arrays
US7130973B1 (en) Method and apparatus to restore data redundancy and utilize spare storage spaces
US5574736A (en) Data storage device and method of operation
JP2006507603A (ja) Bios記憶アレイ
WO1993013475A1 (en) Method for performing disk array operations using a nonuniform stripe size mapping scheme
WO1992004674A1 (en) Computer memory array control

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

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11