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

ディスクセクタ解析方法

Info

Publication number
JP3151008B2
JP3151008B2 JP20485691A JP20485691A JP3151008B2 JP 3151008 B2 JP3151008 B2 JP 3151008B2 JP 20485691 A JP20485691 A JP 20485691A JP 20485691 A JP20485691 A JP 20485691A JP 3151008 B2 JP3151008 B2 JP 3151008B2
Authority
JP
Japan
Prior art keywords
disk
array
drive
read
sector
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
JP20485691A
Other languages
English (en)
Other versions
JPH04233625A (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.)
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)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (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)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
のディスクドライブ制御に関し、特にパーソナルコンピ
ュータに用いられるインテリジェント超大容量ディスク
ドライブアレイサブシステムのバックグラウンドモード
でのディスクドライブセクタ解析を実行するための方法
に関する。
【0002】
【従来の技術】近年、マイクロプロセッサ及びこれを用
いているパーソナルコンピュータは、能力がより一層増
強されている。現在のパーソナルコンピュータは、20
〜30年前のメインフレームコンピュータをはるかにし
のぐ容量を有しており、かつ最近製造されるようになっ
たマルチメインフレーム及びミニコンピュータの容量に
近づいている。32ビット幅のワードサイズを有するマ
イクロプロセッサが現在主に利用されているが、過去に
おいては、8ビット及び16ビットが一般的であった。
【0003】パーソナルコンピュータシステムは、毎年
のように発達し、新しい用途が発見されている。これら
の用途は、完全なコンピュータシステムを形成する種々
のサブシステムに対しての異なった種々の要求を包含し
ている。生産量の要求及び生産設備規模の経済性を考慮
すると、できるかぎり多くの共通特徴が高容量ユニット
と結びつけられることが好ましい。このことは、パーソ
ナルコンピュータ業界において、一般的には電源、種々
の大容量記憶装置を取り付ける設備及びシステムボード
を含み、かつ、マイクロプロセッサ、マイクロプロセッ
サに関する回路、他のサブシステムを含む回路ボードを
接続するコネクタ、マイクロプロセッサと回路ボードと
を連結することに関する回路及びメモリをこの順序で結
合する基本的システムユニットを発達させることによ
り、生じたものである。コネクタ及び変換可能な回路ボ
ードを用いることにより、各コンピュータシステムに対
し所望の能力を有するサブシステムが、簡単にコンピュ
ータシステムと結合されることが可能となった。交換可
能な回路ボードの使用は、サブシステムが簡単に設計で
きかつシステムユニット設計者及び交換可能な回路ボー
ド設計者によって非互換にされることから問題が生じな
いように、インターフェイスすなわちバス基準の発達を
必要とする。
【0004】交換可能な回路ボード及びインターフェイ
ス基準(種々の信号がバスによって全てのコネクタに供
給されることから、通常はバススペックと呼ばれる)を
用いることは、インターナショナル・ビジネス・マシン
(IBM)社の最初のパーソナルコンピュータであるI
BM PCにおいて始めて組み入れられた。IBMPC
はマイクロプロセッサとしてインテル(lntel)社
の8088を用いている。8088は、8ビット(1バ
イト)の外部データインターフェイスを有しているが、
内部では16ビットワードで稼動する。8088は20
本のアドレス線を有しており、これは8088が最大1
メガバイトまでのメモリに直接アドレス指定できること
を意味する。さらに当初のIBM PCにおいて、組み
入れ用に用いられたメモリ部品は、現在のものにくらべ
て遅くて高価なものであった。また、当時のコスト面か
らは簡単な装置しか利用できなかったため、ビデオ出力
ユニットや超大容量記憶装置ユニットのような種々のサ
ブシステムは、単純なものであり低パフォーマンスレベ
ルであった。
【0005】これら種々の要素及び構成物の選択を考慮
して、インターフェイス基準は発達し、IBM PCに
用いられた。該基準では、個々のラインが、入出力(1
/O)すなわちメモリスペースの読出し/書込み動作
(オペレーション)を示す20本のアドレス線及び8本
のデータ線を利用し、かつ、割込み及び直接メモリアク
セス(DMA)チャネルの限定された機能のみを有して
いる。構成物を複雑に構成することによって必要な稼働
が生じるようにし、これによって、インターフェイス基
準が柔軟性であることを必要としていない。このインタ
ーフェイス基準は数年間は成功した。
【0006】コンピュータ及びエレクトロニクス産業で
は避けられないことだが、種々の部品の能力は劇的に増
大する。メモリ物品の価格は下がったが、容量及びスピ
ードは増大した。超大容量記憶サブシステムのパフォー
マンス比及び容量は、一般に、従来からのフロッピーデ
ィスクユニットの代わりにハードディスクユニットを組
み入れることにより、増大させられる。ビデオプロセッ
サ技術は、高解像度カラーシステムが確実に実現できる
ように改良された。このような発達/改良が現存するI
BM PCインターフェイス基準の能力を圧迫し、これ
により、インターフェイス基準における数々の制限が問
題となっている。インテル社の80286が導入された
ことにより、IBM社はATと呼ばれる新しいより強力
なパーソナルコンピュータを開発した。80286は、
16ビットのデータバス及び24本のアドレス線を有し
ているので、16メガバイトのメモリに直接アドレス指
定することができる。さらに、80286においては、
稼動スピードが増大しており、8088にパフォーマン
ス制限を生じさせていた多くの動作が実現可能である。
【0007】現存のサブシステムの回路ボードが新しい
ATに用いられるようにすることが要望され、PCに用
いられていたインターフェイス基準が拡張されて用いら
れた。新しいインターフェイス基準は発展されて、産業
基準アーキテクチュア(ISA)となった。各ロケーシ
ョン(位置)に対する第2のコネクタが設けられて、拡
張に用いられた信号のための追加のラインを該コネクタ
に接続している。追加のラインは、24ビットのアドレ
ス指定能力及び16ビットのデータ転送を用いることが
できる付加的アドレス及びデータ線と、付加的割込み及
びDMA線と、サブシステム回路ボードが拡張特性を用
いることができるかどうかを示す線とを含んでいる。
【0008】アドレス値は動作(オペレーション)サイ
クルの比較的早期部分において80286マイクロプロ
セッサにより提供されるが、PCインターフェイスが設
計された8088のタイミング基準と異なっているの
で、PCインターフェイス基準はアドレスの初期部分を
利用することができなかった。これにより動作スピード
が制限されてしまうが、これは、動作がインターフェイ
ス基準のメモリタイミングスペックに制限されて、80
286の有するレートでの動作が不可能であるからであ
る。そのため、新しく加えられたアドレス信号は、サイ
クルの早期部分で利用することが可能である。アドレス
単一タイミングの変化は、アーキテクチュアの拡張部分
を利用している動作をより早くさせることができる。よ
り高いパフォーマンスを行う部品が存在すれば、システ
ムマイクロプロセッサすなわちバスを稼動させるDMA
コントローラの他に、マスタユニットを有することが可
能である。しかしながら、新16ビット基準又は旧8ビ
ット基準で動作させられる回路ボードと協働させる必要
があることから、各マスタユニットは、回路ボードの組
み合わせの全てで動作することが必要であった。マスタ
ユニットは、システムボードロジック回路及び他のマス
タユニットによりすでに実行された多くの機熊及び特性
と協働しなければならないので、上記のことは、マスタ
ユニットの複雑度を増しかつ部品の重複につながった。
【0009】さらに、マスタユニットは、バスのゲイン
制御をするためのDMAコントローラを用いることが必
要となり、優先化及びコンピュータシステム中に存在可
能なのマスタユニットの数を制限している。部品の容量
/能力は増大し続けた。メモリスピード及びその大きさ
が増大し、超大容量記憶ユニット及びその大きさが増大
し、ビデオユニット解像度が増大し、そして、インテル
社は80386マイクロプロセッサを導入した。部品能
力が増大したことによりマスタユニットの使用への要望
を強めたが、マスクユニットのパフォーマンスは、IS
Aのスペック及び容量により制限されていた。8038
6は、32ビットのアドレスを用いて4ギガバイトのメ
モリに直接アドレス指定する能力を提供し、32ビット
幅のデータ転送を可能にしたが、ISA基準が16ビッ
トデータと24ビットアドレスのみを許容しているもの
であるため、80386は十分に利用可能であるとは言
えなかった。
【0010】情報及びファイルがサーバと呼ばれる一つ
のコンピュータ中に貯えられており、該情報及びファイ
ルが限定的な(超大容量でない)容量を有するローカル
ワークステーションに分配されるというローカルエリア
ネットワーク(LAN)は、サーバに必要とされる大容
量部品のコストがかなり安いこと、及び、ワークステー
ションのための部品のコストが安いことにより、実用的
なものとなった。ISAを発展させる段階で行われたこ
とと同様な拡張が、80386の能力を利用するために
なされた。しかし、このタイプの拡張は、ある種の問題
点を有していた。LANの出現、サーバにおける高能力
化の要求、並びにコンピュータ支援設計(CAD)アニ
メーションに用いられるビデオグラフィックワークステ
ーソョンの高能力化の要求により、極めて高いデータ転
送速度が要求されるようになった。仮に、わずかに短い
基準サイクル時間を提供したとしても、ISAを発展さ
せる段階で行われたことと同様な拡張によっては、上述
した能力の向上は実現できないであろう。なぜなら、こ
れによっても性能は所望レベルよりも低い状態に止まる
からである。
【0011】コンピュータシステムの性能が増大したこ
とにより、固定ディスクドライブのような超大容量記憶
サブシステムが、コンピュータとの間のデータ転送にお
いて重要な役割を占めるようになった。過去数年間、超
大容量記憶サブシステムの流行により、データ転送性
能、容量及び信頼度が改良された。超大容量記憶サブシ
ステムは、一般的にはディスクアレイサブシステムとし
て知られるものである。ディスクアレイのデザインに関
する文献が、近年多数出版された。これには、「Con
siderations in the Pesign o
f a RAIDPrototype」〔シュルツ(M.
Schulze)著、レポートナンバーUCB/CSD
88/448,1988年8月,カリフォルニア州立
大学バークレー校コンピュータ科学部〕、「Codin
g Techniques forHandling F
ailures in Large Disk Array
s」〔ギブソン(G.Gibson),ヘレールシユタ
イン(L.Hellerstein)、カーブ(R.K
arp),カッツ(R.Katz)及びパターソン
(D.Patterson)著、レポートナンバーUC
B/CSD 88/477,1988年12月,カリフ
ォルニア州立大学バークレー校コンピュータ科学部〕及
び「A Case Study for Redundan
t Arraysof Inexpensive Dis
ks(RAID)」〔パターソン、ギフトソン及びカッ
ツ著、1988年6月にイリノイ州シカゴで行われたA
CM SIGMOD Conference〕が含まれ
ている。
【0012】ディスクアレイサブシステムの確立を望む
ひとつの理由は、非常に高速のデータ転送速度を有する
論理装置を創るためである。これは、多数の基準ディス
クドライブを組み合わせて、これらの装置とコンピュー
タシステムのメモリとの間で、データを転送することに
より達成される。もしn個の装置が組み合わせられれ
ば、データ転送速度はn倍になる。このストリッピング
と呼ばれる技術は、第2の記憶装置からの(又はこの装
置への)データの大量転送が要求されるスーパーコンピ
ュータにおいて最初に取り入れられた。この方式では、
多数の装置が、単一の論理装置としてアドレス指定され
てもよいし、さらには、ソフトウェア又はハードウェア
のどちらかによって実行されてもよい。ディスクアレイ
サブシステムは、データ冗長性及びデータ回復の能力の
いずれか一方及び両方を備えるようにしてもよい。
【0013】データ冗長性及びデータ回復の2つの技術
は、破滅的な装置障害が起こったときに、データを貯え
るために用いられるのが一般的である。その1つの技術
は、ミラードライブ(mirrored drive)
である。ミラードライブは、各データドライブに冗長性
データドライブを生成する。ミラードライブ耐障害(f
ault toletance)技術を利用すると、デ
ィスクアレイへの書込みにより、主データディスク及び
そのミラードライブへも書込みが実行される。この技術
によりディスクアレイ機能の損失は最小となる。しかし
ながら、ミラードライブ耐障害技術を用いることに、あ
る種の問題が存在する。主な問題は、この技術が冗長性
のために総データ記憶の50%を用いてしまうというこ
とである。このことにより、バイトあたりの記憶装置の
コストはかなり高いものとなってしまう。
【0014】ミラードライブ以外の他の技術は、アレイ
中の種々のドライブに書込まれているデータブロックを
読み出し、かつ、アレイ中の予備ドライブすなわちパリ
ティドライブに書込まれるパリティ情報を生成する排他
的論理和(XOR)技術を用いているパリティ技術であ
る。これの長所は、データ冗長性及びデータ回復のため
に用いられるデータ記憶の量を最小にすることができる
ということである。8ドライブアレイにおいては、パリ
ティ技術はパリティ情報として用いられる1つのドライ
ブを必要とするので、総記憶の12.5%が冗長性のた
めに用いられるが、これに対して、ミラードライブ耐障
害技術においては50%が用いられる。つまり、パリテ
ィドライブ技術は、データ記憶装置のコストを低下させ
る。しかしながら、パリティドライブ技術にも多くの問
題点がある。その中の主なものは、データドライブが更
新されると、パリティドライブもその都度更新されなけ
ればならないという、ディスクアレイ中での性能損失で
ある。データは、該データをデータドライブに書込むの
と同様にパリティドライブに書込まれるため、XOR処
理を被らなければならない。
【0015】2番目の問題点は、XORパリティ情報生
成を行うために、システムプロセッサを用いることであ
る。このことは、ドライブデータがXORパリティ情報
を生成するためにドライブから転送バッファ、システム
プロセッサローカルメモリへ転送されるということ、及
び、データが転送バッファを経てドライブに返送される
ことを必要とする。その結果、ホストシステムプロセッ
サは、XORパリティデータの生成を管理する際に、大
きな負担を強いられることになる。ディスクアレイコン
トローラ中のローカルプロセッサを用いることも、シス
テムプロセッサのときと同じような多くの問題にぶつか
る。ドライブデータは、XORパリティ情報を生成する
ために、再度、ドライブから転送バッファ、ローカルプ
ロセッサメモリへ送られ、そして、転送バッファを経て
パリティドライブに返送される。このデータエラー訂正
については、米国特許第4665978号に記載されて
いる。
【0016】
【発明が解決しようとする課題】ディスクアレイにおけ
るミラー又はパリティ耐障害技術の実行により、ディス
クアレイ中のデータ冗長性及びデータ回復能力が大きく
改善される。しかしながら、これは、ディスクアレイ中
のデータ損失を導くという問題を招く。これらの状態
は、パリティディスク又はミラーディスク上のディスク
セクタに障害が生じたときに、データディスク上の対応
するディスクセクタの障害がつづいて発生する。この場
合、ミラーディスク又はパリティディスクに障害が発生
し、それが検出又は訂正されないときには、データは再
生成されない。
【0017】たとえば、データベースアプリケーション
は、多数のデータ記録を含み、該データ記録は、ディス
クアレイにまず書込まれ、かつ、記録が更新されること
無しに何度も読み出される。最初の書込み動作時では、
データドライブに書込まれたデータは、XORパリティ
情報を生成するために用いられる。データは、アレイ中
のデータディスク上のデータドライブセクタに書込ま
れ、それに対応するXORパリティ情報は、パリティド
ライブ上の対応するセクタに書込まれる。データドライ
ブに障害が発生したとき、データは、パリティドライブ
及びその他のデータドライブからのXORパリティ情報
を用いて、再生成される。破滅的なドライブ障害が起こ
ると、ハードディスクの多くのコモンモードの障害が生
じると、ディスクトラックの1つ以上のディスクセクタ
に破損又は読出し不能が生じてしまう。ディスクセクタ
のデータは、データディスク及びXORパリティディス
クを利用して再生成される。データディスク及びパリテ
ィディスクの対応するセクタは、決まったディスクセク
タのデータを再生成するために読み出される。再生成さ
れたデータは、総データディスク再生成過程において、
置換えディスクに読出されてもよいし、現存するディス
ク上の新しいセククに再度マッピングされてもよい。
【0018】このような環境の下では、ディスクコント
ローラは、対応するデータドライブセクタへの書込みが
起こるか、又はパリティセクタが1つ以上のディスクド
ライブへのデータを生成するために読み出されるかしな
ければ、パリティディスクにアクセスしない。しかし、
パリティディスクは、アレイ中のデータドライブと同じ
くらいディスク障害を起こしやすい。動作中に、パリテ
ィドライブ上のセクタが破損又は故障してしまうことが
ある。この障害は、パリティディスクがディスクコント
ローラによりアクセスすることができないときには、検
出されない。このように、データディスク上のセクタに
対応するXORパリティ情報は、ディスクコントローラ
又はパリティディスクセクタ障害にユーザが気付いてい
ない場合に、破損又は損失してしまう。対応するデータ
ドライブセクタに破損又は障害が生じると、ディスクア
レイは、パリティ耐障害技術を用いても、データを再生
威できない。
【0019】同様のことは、ミラードライブ耐障害技術
がディスクアレイに用いられた場合にも起こる。パリテ
ィ耐障害技術の場合と同様なことは、記録が最初データ
ドライブに書込まれかつデータが更新されること無しに
多数回読出されたときに、起こる。最初の書込み要求
は、データディスク及びこれに対応するミラーディスク
への書込みコマンドを生成する。その後の読出し要求
は、ミラーディスク上の対応するセクタの読み出し無し
に、データディスク上のセクタへディスクコントローラ
により指図される。該コントローラは、書込みコマンド
がデータディスクに与えられるか、又はデータディスク
障害のときにミラーディスクがデータを再生成するため
に読み出されるかの場合にのみしか、ミラーディスクに
アクセスできない。
【0020】ミラーディスク上のセクタは、規定以上に
動作させられ、それにより破損又は障害を生じる可能性
がある。読出し要求がデータディスクに対してなされ、
ミラーディスクに対してなされていないとき、ミラーデ
ィスクに生じた障害は、ディスクアレイコントローラ又
はユーザにより検出されることがない。したがって、ド
ライブコントローラ及びユーザは、ミラーディスクアレ
イの障害に気付かない。ディスクアレイは、データディ
スクセクタが破損又は故障し、それに対応するミラード
ライブセクタがすでに破損又は故障していたならば、デ
ータを再生成することができない。
【0021】このようなことは、ミラードライブがデュ
プレックスディスクコントローラを用いて管理されてい
るときには起こらない。デュプレックス環境では、別の
コントローラが、データ及びミラードライブを管理する
ために用いられる。最初の書込み要求は、各ドライブへ
の各コントローラにより生成される書込みコマンドとな
る。その後の読出し要求もまた、両方のドライブコント
ローラに送られる。オペレーティングシステムは、どち
らのコントローラが続出し要求を最初に行うかに応じ
て、データ又はミラーのどちらかのディスクコントロー
ラからデータを受取る。よって、一方のディスクは、名
ばかりのミラーディスクとされるが、それは多くの場
合、主データディスクとして役立つ。さらに、どちらか
のドライブが不良になれば、各コントローラが要求に応
答するので、エラーがオペレーティングシステムに供給
される。よって、データが他のドライブから使用されて
も、エラーが報知される。よって、パリティ又はミラー
耐障害技術が用いられても、データ損失が起こる。
【0022】
【課題を解決するための手段】本発明は、インテリジェ
ントな耐障害ディスクアレイコントローラシステムを有
するパーソナルコンピュータの使用のためのもので、コ
ントローラは、コンピュータシステムのホストによる管
理を受けないでドライブパリス(paris)に接続さ
れる8つまでの基準集積ディスクドライブのアレイの動
作を管理することができるものである。特に本発明は、
ディスクセクタ完全性を確かめるためのバックグラウン
ドタスクのような、パリティ及びミラーディスクを含む
アレイ中のすべてのディスクへの読出し要求を生成する
ことにより、ディスク表面の解析を行う方法に関する。
【0023】本発明の方法は、マルチタスク環境で動作
するローカルマイクロプロセッサを有するインテリジェ
ントなディスクアレイサブシステムコントローラにおい
て用いられるものである。本発明の方法では、ディスク
が動作していない所定の時間後にバックグラウンドタス
クが始まる。バックグラウンドタスクは、耐障害及びデ
ータ冗長性に割り当てられたディスクを含んだすべての
ディスクセクタをアレイ中にあるようにするディスクコ
ントローラにより処理される読出し要求(読み出してセ
クタの完全性をチェックする)を生成する。個々の読出
し要求は、ローカルプロセッサにより管理され、セクタ
読出し中の完全性(無傷)情報を示している成功又は障
害コードを送り返す。本方法は、ホストプロセッサに読
出し障害を知らせる手段を含んでいるので、訂正処理が
なされる。本発明では、ディスクアレイ中のすべてのセ
クタが読出され確認されるまで、バックグラウンドモー
ドでの読出し要求を生成し続ける。すべてのセクタの読
出しが完了すると、本発明ではアレイ全体についての読
出し確認が始まる。本発明では、ディスクアレイサブシ
ステムがアクティブに読出し/書込み動作を行っている
ことを検出したときにバックグラウンドタスクが非アク
ティブ状態になるというように、上述の読出し確認過程
によりディスクアレイサブシステム機能が逆に影響を受
けるということがない。バックグラウンドタスクは所定
時間だけ待機した後にアクティブ状態となり、ディスク
アレイがまだ読出し又は書込み動作をしているかどうか
を判定するテストをする。まだビジー状態であれば、バ
ックグラウンドタスクは再び所定期間だけ非アクティブ
状態となる。ディスクアレイが非アクティブ状態であれ
ば、タスクは再びディスクアレイに読出し要求を送り始
める。本発明では、アレイ中のすべてのディスクメモリ
ロケーション(位置)が確認されるまで、読出し要求が
送り続けられる。このタスクの完了に続いて、本発明で
は、再びディスクアレイに読出し要求が送出され始め、
上述の過程が繰り返される。
【0024】
【実施例】まず、本発明に係るコンピュータシステムを
概説する。図1及び図2において、Cは本発明の一実施
例であるコンピュータシステムであり、該システムCは
図面上2つの部分に分けられているが、図1と図2は、
1から8の番号で相互連結されている。システムCは4
つのバスを通じて互いに連結されているいくつかのブロ
ック要素を備えている。
【0025】図1において、中央処理ユニット(CP
U)は、プロセッサ20、数値コプロセッサ22、キャ
ッシュメモリコントローラ24、及びローカルプロセッ
サバス26に接続されている論理回路を備えている。キ
ャッシュコントローラ24と結合され(関連づけられ)て
いるのは、高速キャッシュデータランダムアクセスメモ
リ(RAM)28、キャシュ不能メモリアドレスマップ
プログラミング論理回路30、キャッシュ不能アドレス
メモリ32、アドレス交換ラッチ回路34、及びデータ
交換トランシーバ36である。CPUと関連づけられて
いるのは、ローカルバスレディアドレスイネーブルロジ
ック回路40、論理回路38、次アドレスイネーブル論
理40、及びバス要求論理回路42である。
【0026】プロセッサ20は好ましくはインテル社の
80386マイクロプロセッサである。プロセッサ20
は、ローカルプロセッサバス26に連結されているコン
トロール線、アドレス線、及びデータ線を有している。
コプロセッサ22は、通常の方法でローカルプロセッサ
バス26及びプロセッサ20に連結されるインテル社の
80387及び/又はワイテック(Weitek) W
TL 3167数値コプロセッサであることが好まし
い。キャッシュRAM28は、キャッシュコントローラ
24の制御の下で、バス96のアドレス要素及びデータ
要素と連結して、要求されるキャッシュメモリ動作を実
行するための高速静的RAMであることが好ましい。キ
ャッシュコントローラ24は、マスタモードに関連して
2ウェイで動作するように、インテル社の82385キ
ャッシュコントローラであることが好ましい。
【0027】図1及び図2において、構成要素は、それ
ぞれユニットの33メガヘルツバージョンのものであ
る。アドレスラッチ回路34及びデータトランシーバ3
6は、キャッシュコントローラ24とプロセッサ20と
を連結し、ローカルプロセッサバス26とホストバス4
4との間に、ローカルバスインターフェイスを提供す
る。回路38は、アクセスを制御するためにローカルバ
ス26にバスレディ信号を供給し、かつ、何時次のサイ
クルが始まることができるかを指示する論理回路であ
る。イネーブル回路40は、パイプラインアドレスモー
ドのサブシステム要素により利用されるデータ又はコー
ドの次アドレスが、ローカルバス26上に送信できるこ
とを示すために用いられる。
【0028】キャッシュ不能メモリアドレスマッププロ
グラマー30は、プロセッサ20及びキャッシュ不能ア
ドレスメモリ34と協働して、キャッシュ不能メモリロ
ケーションをマッピングする。キャッシュ不能アドレス
メモリ32は、多くのタイプのキャッシュメモリの不一
致を避けるために、システムメモリのエリアがキャッシ
ュ不能であるようにする。バス要求論理回路42は、要
求されたデータがキャッシュメモリ28ではなくてシス
テムメモリへのアクセスが要求されるときのような場合
に、ホストバス44へのアクセスを要求するために、プ
ロセッサ20及び関連する要素によって利用される。
【0029】図においては、システムCは、プロセッサ
バス26、ホストバス44、拡張型ISA(EISA)
バス46(図2)、及びXバス90(図2)を有してい
る。図2に詳しく描かれていない部分は、本発明におい
て重要ではないものである。図2のシステムCの一部分
は、BISAバス46とホストバス44との間を連結す
るための、BISAバス46、BISAバスコントロー
ラ48、データラッチ及びトランシーバ50、アドレス
ラッチ及びバッファ52を含む、BISAシステムであ
る。また、図2には、BISAをもとにしたコンピュー
タシステムに用いられる多くの要素が組み込まれた集積
システム周辺機器54が示されている。
【0030】集積システム周辺機器(ISP)54は、
プロセッサ20へのアクセスを必要としないで、メイン
メモリ58(図1)すなわちBISAスロット及び入力
/出力(1/O)ロケーションに含まれているメモリへ
のアクセスを制御するDMAコントローラ56を含む。
メインメモリアレイ58は、ローカルメモリと考えら
れ、システムの所定の要求を調節するために、所望の大
きさのメモリ回路アレイを備える。ISP54は、割込
みコントローラ70、ノンマスカブル割込み論理72、
及び、割込み信号の制御を可能にし、必要なタイミング
信号と待機状態とをEISAスペック及び従来の手法に
したがって生成するシステムタイマ74を含む。好まし
い具体例においては、プロセッサ生成割込み信号は、従
来のインテル8259割込みコントローラをエミュレー
ト及び拡張したデュアル割り込みコントロール回路によ
って制御される。ISPはまた、バスコントローラ48
と協働してBISAバス46への種々の要求をキャッシ
ュコントローラ24により制御及び調整するバス調整論
理75、DMAコントローラ56及びBISAバス46
に位置するバスマスタ装置を含む。
【0031】メインメモリアレイ58は、ダイナミック
RAMであることが好ましい。該メモリ58は、データ
バッファ回路60、メモリコントローラ回路62及びメ
モリマップ装置68により、ホストバス44に連結す
る。バッファ60は、データトランシービング、パリテ
ィ生成及びチェック機能を行う。メモリコントローラ6
2及びメモリマップ装置68は、アドレスマルチプレク
サ及びコラムアドレスストローブバッファ66及びロウ
アドレスィネーブル論理回路64によりメモリ53に連
結する。
【0032】BISAバス46は、ISA制御バス76
及びEISA制御バス78、ISA制御バス80及びE
ISA制御バス82、並びに、アドレスバス84、8
6、88を含む。システム周辺機器は、Xバス90によ
り、EISAバス46からのISA制御バス76に連結
されている。Xバス90への制御及びデータ/アドレス
転送は、Xバスコントロール論理92、データトランシ
ーバ94及びアドレスラッチ96により行われる。
【0033】Xバス90には、Xバス90とキーボード
並びにマウスとをコネクタ100、102で連結するキ
ーボード/マウスコントローラ98のような種々の周辺
機器が備えられる。その他にも、システムC及びシステ
ムビデオ動作のための基本オペレーションソフトウェア
を記憶したROM回路106が、Xバス90に接続され
ている。直列通信ボート108が、Xバス90によりシ
ステムCに接続される。フロッピー及び固定ディスクサ
ポート、並列ポート、第2の直列ボート、及び、ビデオ
サポート回路が、Xバス90に接続されるブロック回路
110に備えられる。
【0034】次に、ディスクアレイコントローラについ
て説明する。ディスクアレイコントローラ112は、E
ISAバスを通してデータ及びアドレス情報の通信をす
るために、EISAバス46に接続されている。固定デ
ィスクコネクタ114は、固定ディスクサポートシステ
ムに接続され、固定ディスクアレイ116に接続されて
いる。図3には、本発明が用いられているディスクアレ
イコントローラ112の慨略的なブロック図が示されて
いる。図3のディスクアレイコントローラは、本発明が
動作する環境を示すためのものである。本発明の方法
は、マイクロプロセッサ基準のインテリジェントなアレ
イコントローラを有し、多くの従来型ボードディスクコ
ントロールシステムと共に、システムマイクロプロセッ
サにより行わせることができる、すべてのパーソナルコ
ンピュータシステムのディスクアレイについて実用可能
である。
【0035】ディスクアレイコントローラ112は、好
ましくは、32ビットEISAバスマスタ拡張型ボード
のためにつくられ、すべてのEISA制御、アドレス、
及びBISAバスによる転送に必要なデータ信号を備え
るインテル社の82355である、マスクインターフェ
イスコントローラ118(BMIC)を含む。BMIC
118は、ディスクアレイシステムとシステムメモリと
の間の16及び32ビットのバースト転送をサポートす
る。さらに、BMICは、拡張型ボードとBISA及び
ISA装置との間で、データサイズの変化する転送を実
行する。
【0036】ディスクアレイコントローラ112は、互
換性のあるポートコントローラ(CPC)120をも含
む。CPC120は、BISA能力の利点を用いるため
ではなく、EISAバス46と現存するホストドライバ
ソフトウェアとの間の通信を行う機構として構成されて
いる。ディスクアレイコントローラ112には、好まし
くはインテル社の80186であるマイクロプロセッサ
122も含まれている。該ローカルプロセッサ122
は、BMIC118、CPC120及び転送チャネルコ
ントローラ124とに連結されている、コントロール
線、アドレス線、及びデータ線を有している。さらに、
ローカルプロセッサ122は、ディスクアレイ中にある
ROM126及びダイナミックRAM128に連結され
ている。
【0037】転送チャネルコントラーラ(TCC)12
4は、ディスクシステムにより転送されるデータを格納
するために用いられる静的RAM転送バッファ130に
アクセスする4つの主PMAチャネルの動作を制御す
る。TCC124は、DMAチャネルを、BMIC11
8、CPC120、ローカルプロセッサ122、及びデ
ィスクアレイDMAのチャネル114に割り当てる。T
CC124は、4つのチャネルからの要求を受取り、各
チャネルに優先順位レベルを割り当てる。ローカルプロ
セッサ122は、最高位の優先順位レベルを有してい
る。CPC120のチャネルは、第2位の優先順位レベ
ルを有している。BMICI18のチャネルが第3位
の、ディスクアレイDMAのチャネル114が最下位の
優先順位レベルを有している。
【0038】ディスクアレイDMAのチャネル114
は、4つのディスクドライブサブチャネルを備える。こ
の4つのディスクドライブサブチャネルは、ディスクア
レイにある8つの異なったディスクアドライブのいずれ
か一つに割り当てられる。この4つのディスクドライブ
サブチャネルは、ディスクアレイDMAチャネル中では
等しい優先順位を有している。上記のサブチャネルは、
ディスクアレイDMAチャネルのソースとなるために等
しく交替される。サブチャネルのひとつは、アクティブ
DMA要求がある場合に限り、順番に挿入される。残り
の3つのサブチャネルは、交替中はつねにアクティブ状
態である。
【0039】ディスクアレイコントラーラ112の動作
において、要求は、好ましくはBMIC118を通して
ディスクアレイコントローラ112に提供される。BM
IC118を通じて要求を受取ったローカルプロセッサ
122は、ローカルプロセッサRAM128にデータ構
造をつくる。このデータ構造は、コマンドリストとして
知られ、ディスクアレイに向けられた簡単な読出し又は
書込み要求でもよく、又は、多数の読出し/書込みある
いは診断や環境設定要求を含む、より精緻な要求でもよ
い。コマンドリストは、その後処理のために、ローカル
プロセッサ122に提供される。そしてローカルプロセ
ッサ122は、データの転送を含むコマンドリストの実
行を管理する。コマンドリストの実行が行われると、ロ
ーカルプロセッサ122は、オペレーティングシステム
のデバイスドライバに通知する。コマンドリストの供給
とコマンドリスト完了の通知は、BMIC118I/0
レジスタを用いるプロトコルにより実行される。ディス
クアレイコントローラ112への多数の要求を実行可能
にするために、これらI/Oレジスタは、2つのチャネ
ルに分けられている。すなわち、コマンドリスト提供チ
ャネルとコマンドリスト完了チャネルである。
【0040】本発明の方法は、ローカルプロセッサ12
2(図3)に関するアプリケーションタスクとして実行
される。相互入力/出力動作の本来の特性により、ロー
カルプロセッサ122の単一バッチタスクとしては、本
発明は実用的ではない。よって、ローカルプロセッサ1
22は、多数のタスクがローカルプロセッサ122によ
りアドレス指定されるようなリアルタイムでマルチタス
クのオペレーティングシステムを利用する。好ましく
は、ローカルプロセッサ122のオペレーティングシス
テムは、カダック社(Kadak Products
Limited)のAMX86マルチタスク実行装置で
ある。AMX86オペレーティングシステムの中核は、
本発明の方法に示すアプリケーソョンに加えて、多くの
システムサービスを備える。本発明のように、コマンド
がディスクアレイコントローラに提供されるというやり
方は、米国特許出願第431737号〔シュメンク(S
chemnk)等、題名「バスマスタコマンドプロトコ
ル」、1989年11月3日出願、本出願人に譲渡〕に
よりさらに理解されるであろう。
【0041】バックグラウンド表面解析について説明す
る。本発明の方法は、ミラー又はパリティ耐障害技術の
ような技術に当てられたすべてのディスクを含むディス
クアレイ中のすべてのディスクセクタを、ディスクが非
アクティブ状態のときに続けて読出すような一連の読出
し要求を生成するように、ローカルプロセッサ122に
指示する方法である。読出し要求の結果は、読出しが成
功したかどうかを判定するために、ローカルプロセッサ
122によりチェックされる。成功でなければ、本発明
では、ディスクコントローラにエラーを通知する。
【0042】再スタートは、以下のようにして実行され
る。図4は、パワーオフ後のようにコンピュータシステ
ムがリセットされた後にアクティブとなる再スタートタ
スク650のフローチャートである。再スタートタスク
650の動作は、ローカルプロセッサ122がAMXシ
ステムユーティリティを用いてワンショットタイマタス
クを生成するステップ651から始まる。制御は、ステ
ップ652に進み、広域RIS情報が現ディスクにある
かどうかをローカルプロセッサ122が判定する。広域
RIS情報は、アレイ中のすべてのディスクについて、
ヘッド、シリンダ、セクタ、トラック当りのセクタなど
の数や他の情報を含んでおり、ディスクアレイを記述す
るものである。これは、このような情報が記憶されてコ
ンピュータシステムのセットアップで初期化されるディ
スク上の予備ディスクセクタのための広域RIS(予備
情報セクタ)として知られる。ステップ651におい
て、広域RIS情報が無いと判定されると、制御はステ
ップ654に移り、再スタートタスク650はストップ
し、バックグラウンド表面解析は行われない。広域RI
S情報があれば、ステップ656に移行し、プロセッサ
122が初期化タスク600(図6)を呼出して、リセ
ットコードを「真」にセットする。初期化タスク600
においては、プロセッサ122は、チェックすべきドラ
イブの数、並びに、ヘッド、トラック及びシリンダのド
ライブあたりの数やトラックあたりのセクタの数である
個々のディスクパラメータ等の、スタートパラメータを
決定する。
【0043】初期化タスク600から戻ると、プロセッ
サ122の制御はステップ658に進み、、現在の広域
RISが初期(リリース)値よりも大きいかどうかをプ
ロセッサ122がチェックする。これは、ディスクアレ
イコントローラが本発明を含むように環境設定されたか
どうかを判定することによって行われる。RISが本発
明を含む初期値よりも小さければ、タイマタスク(図
8)に用いられる標準遅延パラメータ(default
delay parameter )が広域RISに加
えられ、少なくともRIS初期値は更新される。タイマ
遅延は、広域RISを新しいタイマ遅延期間で更新する
コマンドを発するために、ユーザにより選択的にホスト
プロセッサ20においてセットされてもよい。これは、
本明細書中に述べられていないプログラムにより実行さ
れる。好ましくは、タイマ遅延は15秒である。ステッ
プ658において、現RISが初期値よりも小さいと判
定されれば、制御はステップ660に移り、広域RIS
が更新されてタイマ遅延値が標準値にセットされる。そ
の後、制御はステップ662に移る。ステップ658で
現RISが初期値よりも小さくないと判定されれば、制
御はステップ662に移り、初期化タスク600で判定
されたように、アレイ中の耐障害(故障許容)ドライブ
の数がゼロより大きいかをプロセッサ122が判定す
る。ゼロより大きくなければ、プロセッサ122の制御
は、ステップ664に移ってこのタスクが終了する。ゼ
ロより大きければ、制御はステップ666に移行し、本
発明において実際の表面解析のスタート又は再スタート
の前の遅延目的に用いられるワンショットタイマを初期
化する。その後、制御はステップ668において、タス
クの実行を終了する。
【0044】表面解析について説明する。図5は、ディ
スクアレイ中のすべてのディスクセクタへの読出し要求
を生成するローカルプロセッサ122において実行され
る、本発明に含まれる表面解析(SURFACE_AN
ALYSIS)タスク500のフローチャートである。
このタスクは、ステップ502において開始され、該ス
テップにおいては、実行すべきネクストアクション変数
(NEXT_ACTION)がバックグラウンド読出し
要求を表しているかどうかをプロセッサ122が判定す
る。ネクストアクションは、読出し要求を発するために
初期化される。ネクストアクションの値が読出し要求の
発生を表していれば、制御はステップ504に移り、ペ
ンディング(pending)論理の読出し又は書込み
要求の数がコントローラメモリ128中にローカル変数
として記憶される。そして制御は、初期化機能を呼出す
ステップ506に移る。ステップ502において、ネク
ストアクションが読出し要求の発生でなければ、制御は
ステップ506に移る。ステップ506では、プロセッ
サ122が初期化タスク600を呼出す。ステップ50
6で初期化タスク600が呼出されると、ノンリセット
状態を示すコードがタスク600に送られる。タスク6
00から戻ると、制御はステップ508に移り、ステッ
プ506で呼出された初期化タスク600により決定さ
れたアレイ中の耐障害ドライブの数をプロセッサ122
がチェックする。ドライブの数がゼロであれば、制御は
ステップ510に移り、プロセッサが現タスクを停止さ
せるに移る。ドライブの数がゼロでなければ、制御はス
テップ512に移行し、ネクストアクションに依存する
ように切り替えられる。
【0045】ネクストアクション変数が読出し要求を発
するようにセットされていれば、制御はステップ514
に移る。その後、制御はステップ516に移行し、プロ
セッサ122が、タスク500によりアドレス指定され
た現ドライブに、チェックすべきドライブをセットす
る。制御はステップ518に移り、ステップ506で呼
出された初期化タスク600から戻ってきたパラメータ
に基づいて、現ドライブがアレイ中の不良ドライブであ
るかをどうかを判定する。現ドライブが不良であれば、
制御はステップ520に移り、プロセッサ122が、現
ドライブポインタを増分して、アレイ中の次ドライブを
示すようにする。その後、制御はステップ522に移
る。ステップ518で現ドライブが不良でないと判定さ
れれば、制御はステップ522に移る。ステップ522
では、ローカルプロセッサ122は、読出し要求から得
られた結果のデータ及び状態コードを返送するために、
転送バッファにRAMメモリ128を割り当てる。
【0046】次いで、制御はステップ524に移り、読
出し要求転送バッファに割り当てるに十分なRAMメモ
リ128があるかどうかをプロセッサ122がテストす
る。十分な容量がメモリ128がなければ、制御はステ
ップ526に移り、タイマタスク680が表面解析タス
ク500を再開させるまで、待機する。タイマタスク6
80が表面解析タスク500を再開させた後、制御はス
テップ528に移る。十分な容量がメモリ128にない
という状態は、ディスクコントローラ112が多数のI
/O転送を実行しようと試みたときに起こる。つまり、
メモリ128の不足はアレイコントローラ112がビジ
ーのときに起こる。
【0047】ステップ524において十分な容量がメモ
リ128にあると判定されると、制御はステップ528
に移り、プロセッサ122が、現ドライブ、現ヘッド及
び現シリンダへの論理読出し要求を生成する。ハードデ
ィスクにおいては、トラックは単一回転ディスクメディ
ア上で半径位置に関連づけられている。トラック自身
は、トラックの半径位置を表す多数のディスクセクタを
備える。トラック情報あたりのセクタは、ディスクアレ
イ中の各ディスクの広域RIS情報中に記憶される。殆
どのハードディスクメディアは、同軸の多数のディスク
を備えている。よって、各ディスク上の同じトラック位
置は、シリンダとして参照される。ドライブ要求が特定
のヘッド、シリンダ及びディスクに対して出されたと
き、ディスク情報及びシリンダ情報は特定され、トラッ
ク情報は特定のディスクと関連したヘッドにより特定さ
れる。本発明では、読出し要求は、特定トラック上のす
べてのセクタを読出すためのものである。
【0048】制御は次にステップ530に移り、表面解
析タスク500が、コントローラ112により行われべ
き現在の読出し要求を待ち行列化する。読出し要求の発
生及びこの要求のスケジューリングについては、米国特
許出願第431,737号に詳細に開示されている。プ
ロセッサ122の制御はステップ532に移り、ネクス
トアクション変数が読出し要求の結果をチェックするよ
うにセットされ、そして読出し要求が完了するまで処理
を停止する。読出し要求が完了すると、実行が再開さ
れ、制御はステップ512に移る。
【0049】ステップ512において、タスク500に
よって取るべきネクストアクションが、読出し要求の結
果をチェックするものでると判定されれば、制御はステ
ップ534及び536に移る。ステップ536では、プ
ロセッサ122は、転送バッファを読み出して、ディス
クセクタ障害を示すエラーコードが読出し要求により戻
されたかどうか判定する。読出し要求がエラーコードを
戻していれば、制御はステップ538に移る。読出し要
求中のトラック中のいずれか一つのセクタに障害が生じ
ている場合、読出し要求は返送されるエラーコードを有
することになる。ステップ538では、タスク500は
コントローラにディスク障害を通知する。障害通知は、
ディスクコントローラ112によりローカルに行われる
か、又は、オペレータあるいはオペレーティングシステ
ムが適宜の訂正を実行できるようにするために、BMI
C118を通してホストシステムに送られてもよい。ロ
ーカル的に行われる訂正処理の手段は、同じディスク上
の新しいセクタへ障害セクタを自動的に再マッピングす
ることである。この手段は1990年7月20日に米国
において出願(本出願人に譲渡)された「Automa
tic hard disc bad sector re
mapping」に開示されている。しかし、障害ディ
スクセクタに含まれるデータのマニュアル調停及び再生
成のような訂正方法が取られることもある。プロセッサ
122の制御はステップ540に移る。
【0050】ステップ536において、読出し要求がエ
ラーコードを戻さなかったと判定されると、制御はステ
ップ540に移り、プロセッサ122が現在の読出し要
求をディスクコントローラ112の待ち行列から移動さ
せる。これは、読出し要求に割り当てられたメモリ12
8を割り当て解除にするために必要である。読出し要求
が待ち行列から排除されない場合は、ローカルメモリ1
28は割り当て解除にならず、終了した読出し要求、新
しい要求及び転送されるデータで、該メモリは直ちに満
杯になってしまう。制御はステップ542に移り、プロ
セッサ122が、ドライブ要求からのリターン情報に割
り当てられたメモリ128を割り当て解除する。制御は
ステップ544に移り、プロセッサ122が新しい読出
し要求を発するためにネクストアクション変数をセット
する。
【0051】すべてのディスクメモリロケーソョンを読
み出すために、本発明では、次に適用されるヘッド、シ
リンダ及びドライブをインクリメントし、全てのディス
クセクタをシーケンシャルに読み出す。制御はステップ
546に移行し、プロセッサ122は、次のヘッドへの
インクリメントが、現在チェックされているドライブ
(現ドライブ)のヘッドの最大数を超えるかどうかを判
定する。現ドライブのヘッドの最大数を超えないと判定
されれば、制御はステップ548に移り、現ドライブに
おける次のヘッドにインクリメントする。その後、制御
はステップ564に移る。
【0052】ステップ546において現ヘッドが現ドラ
イブのための最後の有効ヘッドであると判定されると、
制御はステップ550に移り、現ヘッドポインタを次の
ドライブの最初のヘッドにセットする。制御はステップ
552に移り、現シリンダがドライブの最後のシリンダ
であるかをプロセッサ122が判定する。最後のシリン
ダでなければ、制御はステップ554に移り、現ドライ
ブの次のシリンダに現シリンダポインタをインクリメン
ト24する。その後、制御はステップ564に移る。ス
テップ552において現シリンダが最後の有効シリンダ
であると判定されると、制御はステップ556に移り、
現シリンダを次のドライブの最初のシリンダとする。そ
して、制御はステップ558において、現ドライブがそ
のアレイ中の最後の有効ドライブであるかどうかを判定
する。当該アレイ中の最後の有効ドライブであれば、制
御は560に移り、現ドライブをアレイ中の最初のドラ
イブに等しくセットする。ステップ558において現ド
ライブがアレイ中の最後のドライブでないと判定される
と、制御はステップ562に移行して、アレイ中の次の
ドライブにインクリメントする。
【0053】このようにして、表面解析タスク500
は、読出し要求をあるアレイ中の1つのドライブの1つ
のシリンダのすべてのヘッドに対して行い、そして該ア
レイのすべてのドライブに拡張するものである。制御は
ステップ564に移り、ペンディングディスクI/Oタ
スクがあるかどうかを判定するために、ビジータスク7
00(図9)を呼出す。その後、制御は、ビジータスク
700が真コードを返送するかどうかを判定するステッ
プ566に移る。真コードが返送されれば、制御はステ
ップ570に移り、すべてのドライブ要求が完了した後
で表面解析タスク500の再開前に所定の時間だけ待機
し、タイマタスク680により再開させられるまで、処
理を停止する。再開の後、制御はステップ512に戻
る。
【0054】ステップ566においてビジーコードが偽
であると判定されれば、制御はステップ568に移り、
ローカル変数をチェックして、ペンディングI/O要求
の数が現在のペンディングI/O要求の数に等しいかど
うかを判定する。等しければ、新しいペンディングI/
Oタスクはひとつも受取っていないことになり、制御は
ステップ512に移る。等しくなければ、表面解析タス
ク500は、少なくともひとつの新しいタスクが、未だ
動作していないディスクアレイコントローラ112によ
り受取られたと判断し、制御はステップ570に移っ
て、表面解析タスク500は、タイマタスク680によ
り再開されるまで、非アクティブ化される。
【0055】このようにして、、表面解析タスク500
はループ処理を継続し、バックグラウンドモードのディ
スクアレイ中のすべてのセクタを続々にチェックする。
ディスクアレイがI/要求を実行していれば、表面解析
タスク500は所定の時間だけ非アクティブ状態にな
る。
【0056】次に、初期化について説明する。図6は、
表面解析タスク500による読出し要求の生成のための
初期パラメータをセットするのに用いられる初期化タス
ク600のフローチャートである。初期化タスク600
は、ステップ602において開始されて、アレイ中のす
べてのディスクについてのヘッド、シリンダ、セクタ、
トラック当たりのセクタ及び他の情報等のパラメータを
含んでいる、ディスクアレイを記述する情報があるかど
うかを、プロセッサ122が判定する。これは、上述の
ような情報が格納されかつコンピュータシステムのセッ
トアップで初期化されるディスク上の予備ディスクセク
タに関する広域RIS(reserved infor
mation sectors)として知られる。情報
がなければ、制御はステップ604に移り、タスクが停
止する。広域RISがあれば、制御はステップ606に
移り、再スタートタスク650によりセットされるリセ
ットコードがあるかどうかをプロセッサ122が判定す
る。リセットコードがあれば、ステップ608におい
て、すべてのパラメータをアレイ中の最初のヘッド、最
初のシリング及び最初のディスクにセットする。その
後、制御はステップ610に移る。ステップ606で、
初期化タスク600が表面解析タスク500により呼出
されたときのように、リセットコードがひとつもセット
されていないと判定されれば、制御は、プロセッサ12
2がディスクカウンタを初期化するステップ610に移
る。制御はステップ612に移り、現論理ボリュームを
現ディスクがメンバーであるボリュームにセットする。
その後、制御はステップ614に移る。
【0057】ステップ614では、現ユニットがアレイ
の有効論理ユニットであるか、さらに、現ユニットが耐
障害技術を含む論理ユニットの一部であるかが、ローカ
ルプロセッサ122により判定される。論理ユニット
は、ユニットに関連した耐障害ディスクだけでなくデー
タディスクをも識別することは、明らかであろう。ステ
ップ614において真であると判定すると、制御はステ
ップ616へ移り、プロセッサ122は、読出し数、シ
リンダ数、ディスク数などのすべての変数を、広域RI
S中に記憶されるディスクパラメータとして初期化す
る。制御はステップ618に移り、現シリンダが使用さ
れたことのないドライブを示すシリンダゼロにセットさ
れるか、又は、リセットコードが真であるかをプロセッ
サ122がテストする。もしどちらかの条件が真であれ
ば、制御はステップ620に移行して、現シリンダをシ
リンダ1にセットする。その後、制御はステップ622
に移る。
【0058】ステップ618において両方の条件が偽で
あれば、プロセッサ122の制御はステップ622に移
り、有効な耐障害ドライブのカウントがインクリメント
される。そして制御はステップ626に移る。ステップ
614において現ユニットが有効論理ユニットでなく又
は現ユニットが耐障害としてセットされていないと判定
されると、制御はステップ624に移り、現論理ユニッ
トに障害が生じている結果として現ドライブが故障であ
ることを示すように、ドライブパラメータがセットされ
る。そして制御はステップ626に移る。ステップ62
6では、プロセッサ122が、アレイ中に別の付加的ド
ライブがあるかどうかを判定する。付加的ドライブがあ
れば、プロセッサ122の制御は次のドライブにインク
リメントするステップ630に移り、さらに制御はステ
ップ614に移る。アレイ中に他のドライブがなけれ
ば、制御はステップ628に移り、呼出しタスクに戻
る。
【0059】スケジューリング動作は、以下の通りであ
る。図7は、ディスクアレイに送られるプロセス論理要
求に用いられる手続きの部分を示す。これらの部分は、
本発明のタイマタスク680の動作を管理するために用
いられる。好ましくはこれらの手続きは、ローカルプロ
セッサ122に関するディスクアレイのためのスケジュ
ーリングタスクの必須の部分である。しかし、これらの
タスクは、本発明におけるタイミングイベントの管理と
は独立の機能として実行される。
【0060】図7のAでは、ステップ800で、ローカ
ルプロセッサ122が論理要求を受け取る。制御はステ
ップ802に移り、現在の論理要求カウントがゼロに等
しいか、又は、再スタートタスク650などで初期化さ
れるタイマが稼働しているかを、ローカルプロセッサ1
22が判定する。両方の条件が真であれば、制御はステ
ップ804に移り、ローカルプロセッサ122が、AM
Xオペレーティングシステムの制御のもとで動作するワ
ンショットタイマタスクを停止してクリアする。その
後、制御は、論理要求カウントをインクリメントするス
テップ806に移る。このようにして、ローカルプロセ
ッサ122が論理要求を受け取ると、ワンショットタイ
マタスクは停止し、本発明は非アクティブ状態になる。
その後、制御は、要求が受け取られたときに必要となる
ステップに移る。
【0061】図7のBでは、コードの部分が論理要求の
完了を示す。ステップ810では、ローカルプロセッサ
122が、論理要求の完了によって論理要求カウントを
デクリメントする。そして制御はステップ812に移
り、論理要求カウントがゼロに等しくかつ現論理ユニッ
トがミラー又はパリティのどちらかの耐障害モードにセ
ットされているかどうか、さらに、ワンショットタイマ
タスクがストップしているかを、ローカルプロセッサ1
22が判定する。これらすべての条件が真であれば、制
御はステップ814に移り、ローカルプロセッサ122
が、ワンショットタイマタスクを広域RISに示されて
いる時間にリセットし、タイマを動作させる。ワンショ
ットクスクが完了すると、タイマタスク680が呼び出
される。ワンショットタスクの完了前に他の要求が受け
取られると、ローカルプロセッサ122は、図7のAで
述べらたようなワンショットタイマの停止及びクリアを
実行するタスクに入る。よって、本発明では、すべての
ペンディング動作の完了により、ワンショットタイマタ
スクのリセット及びスタートが生じる。ワンショットタ
イマタスクが完了すると、タイマタスク680自体が呼
び出される。
【0062】タイマタスクについて詳細に説明する。図
8は、タイマタスク680のフローチャートである。該
タスクは、ワンショットタイマタスクの完了に続いて開
始され、ステップ684において、ディスクコントロー
ラ112がI/O動作を実行しているかを判定するため
に、ビジータスク700がローカルプロセッサ122に
より呼び出される。ビジータスク700から戻ると、ス
テップ686において、ディスクコントローラ112が
実際にビジーであるかをプロセッサ122が判定する。
ビジーコードが真であれば、制御はステップ692に進
んで、タイマタスク680が停止される。ビジーコード
が偽であれば、制御はステップ688に進んで、プロセ
ッサ122が表面解析タスク500を再開させる。そし
て、制御はタイマタスク680が停止するステップ69
0に移る。
【0063】ビジータスクについて説明する。図9は、
ディスクアレイが再生成と呼ばれるI/O動作の特定タ
イプを実行しているかどうかを判定するために、本発明
に用いられるビジータスク700のフローチャートであ
る。このタスクの動作は、広域RISパラメータが不良
すなわちディスク障害を示す「ヌル」即ち0にセットさ
れるかをローカルプロセッサ122が判定するステップ
702から始まる。ヌルにセットされていると、制御は
ステップ706に移る。ステップ702で広域RISパ
ラメータがあると判定されると、制御はステップ704
に移り、現ボリュームが現在データ再生成されているか
をプロセッサ122がテストする。好ましくは、ドライ
ブが置き換わったとき、又はドライブのデータが再生成
されたときに、広域RIS構造に示されるのがよい。こ
のような場合、再生成されているドライブに対する読出
し要求を指示することは勧められない。
【0064】ステップ704においてドライブが再生成
されていると判定されると、制御はステップ706に移
る。ステップ706では、ビジーコードが真にセットさ
れ、制御はステップ710に移る。ステップ704で現
ボリュームが再生成されていないと判定されると、制御
は、ビジーコードを偽にセットするステップ708に移
る。その後、制御はステップ710に移り、ディスクア
レイ中に別の論理ボリュームがあるかを判定する。ディ
スクアレイ中に別のボリュームがあれば、制御はステッ
プ712に移り、次の論理ボリュームにインクリメント
する。その後、制御はステップ702に戻り、すべての
論理ボリュームがチェックされるまで、ビジータスク7
00が続けられる。アレイ中に別の論理ボリュームがな
ければ、制御はステップ710からステップ714に進
み、ローカルプロセッサ122の制御を呼び出しタスク
に戻す。
【0065】以上説明したように、本発明に係る、パリ
ティ及びミラー耐障害技術のためのドライブを含むディ
スクドライブアレイ中のすべてのドライブに向けられた
バックグラウンド読出し要求を発生し、かつそれを実行
する方法は、ディスクアレイの信頼性を増大させること
がわかる。ミラー又はパリティディスクの障害は、実際
にデータの再生成が要求される前に、ルーチン的に検出
される。よって、ディスクは置き換えられる、すなわ
ち、障害があるセクタはディスク上の有効なセクタに再
マッピングされる。
【0066】以上の説明は、本発明を説明するためのも
のであって大きさ、形、材料、部品、回路、結線などは
数々の変更が可能であり、このような変更は本発明の精
神に基づいてなされる。
【図面の簡単な説明】
【図1】本発明の一実施例であるコンピュータシステム
の一部分を示すブロック図である。
【図2】本発明の一実施例であるコンピュータシステム
の他の部分を示すブロック図である。
【図3】本発明に用いられるインテリジェントなディス
クアレイコントローラ環境のブロック図である。
【図4】本発明に係る、コンピュータシステムのリセッ
ト状態に続いて、ディスクアレイに向けられる読出し要
求の生成を示すフローチャートである。
【図5】本発明に係る、ディスクアレイ中のすべてのセ
クタへ読出し要求を生成する方法のフローチャートであ
る。
【図6】本発明に係る、ディスクアレイへの読出し要求
を生成する前にディスクアレイパラメータを初期化する
方法のフローチャートである。
【図7】本発明に係る、論理読出し及び書込み要求のス
ケジューリングのためのタスクの部分を示すフローチャ
ートである。
【図8】本発明に係る、ディスクアレイ非アクティブの
所定時間後に、読出し要求の生成をアクティブ化させる
方法のフローチャートである。
【図9】本発明に係る、ディスクアレイシステムが、読
出し又は書込み動作をしているか、あるいは、ビジーで
あるかを判定する方法のフローチャートである。
───────────────────────────────────────────────────── フロントページの続き (73)特許権者 591030868 20555 State Highway 249,Houston,Texas 77070,United States of America (72)発明者 スティーブン・エム・シュルツ アメリカ合衆国テキサス州77070ヒュー ストン#1726ブレトンリッジ13555 (56)参考文献 特開 昭58−182775(JP,A) 特開 平2−98760(JP,A) 実開 平2−6349(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 304 G06F 11/10 330

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムに用いられる、耐
    障害機能を有するインテリジェントな大容量記憶ディス
    クアレイサブシステムにおけるディスクアレイのディス
    クドライブに関するディスクセクタ解析を実行するため
    のディスクセクタ解析方法であって、該ディスクアレイ
    サブシステムが、ディスクドライブ及びディスクアレイ
    のパラメータ、並びにディスクドライブ及びディスクア
    レイに関連する状態情報を有している、ディスクセクタ
    解析方法において、 (a)記憶されたディスクアレイ及びディスクドライブ
    のパラメータ及び状態情報に基づいて、ディスクアレイ
    中の各ディスクドライブを初期化するための初期化ルー
    チンを実行するステップと、 (b)ディスクアレイがディスク動作を実行中であるか
    どうかを判定し、ディスク動作が実行されていないこと
    を判定するまで、この判定動作を反復するステップと、 (c)ディスク動作が実行されていないことが検出され
    たとき、該ディスクドライブの現ディスクメモリロケー
    ションで、該ディスクドライブの各ディスクセクタに関
    して、読み出しを開始するステップと、 (d)読み出し動作の結果をチェックして、読み出し動
    作に障害が生じたかどうかを判定し、障害が生じている
    場合に、対応するディスクセクタについてディスク媒体
    障害を指示するステップと、 (e)ディスクアレイ中の現ディスクドライブの障害解
    析が完了してから所定時間後に次のディスクドライブに
    インクリメントし、該ディスクアレイ中に存在する全て
    のディスクドライブの全てのディスクセクタの解析が完
    了するまで、ステップ(b)〜(d)を反復的に実行す
    るステップと、 (f)ディスクドライブの読み出し及びチェック動作中
    に生じる外部からのディスク動作コマンドを受け取って
    保持し、該ディスクドライブの読み出し及びチェック動
    作が終了後に外部からのディスク動作コマンドを実行す
    るステップとを含んでいることを特徴とするディスクセ
    クタ解析方法。
  2. 【請求項2】 請求項1記載のディスクセクタ解析方法
    において、ステップ(a)はさらに、コンピュータシス
    テムがリセットされているかどうかを判断し、リセット
    されている場合に、ディスクアレイ中の所定のディスク
    メモリロケーションを現ディスクメモリロケーションと
    して設定するステップを含んでいることを特徴とするデ
    ィスクセクタ解析方法。
  3. 【請求項3】 請求項1又は2記載のディスクセクタ解
    析方法において、ディスクアレイ及びディスクドライブ
    のパラメータは、チェックすべきディスクドライブの
    数、1ディスクドライブ当たりのヘッド、トラック、及
    びシリンダの数、並びに1トラック当たりのディスクセ
    クタの数を含んでいることを特徴とするディスクセクタ
    解析方法。
  4. 【請求項4】 請求項1〜3いずれかに記載のディスク
    セクタ解析方法において、ステップ(b)はさらに、現
    ディスクメモリロケーションが存在するディスクが現在
    読み出し中であるかどうかを判定するステップを含んで
    いることを特徴とするディスクセクタ解析方法。
  5. 【請求項5】 請求項1〜4いずれかに記載のディスク
    セクタ解析方法において、ステップ(a)は、ディスク
    ドライブ及びディスクアレイのパラメータを、ディスク
    の予備ディスクメモリロケーションから読み出すことを
    特徴とするディスクセクタ解析方法。
  6. 【請求項6】 ディスクドライブサブシステムを備えた
    ディスクアレイを有するコンピュータシステムにおい
    て、 ディスクアレイ及びディスクドライブのパラメータ及び
    状態情報に基づいて、初期化ルーチンを実行する初期化
    手段(20)と、 ディスクアレイにおいてディスク動作が実行中であるか
    どうかを判定する判定手段(20)と、 ディスク動作が実行中の場合、所定時間後に初期化手段
    をトリガする手段であって、ディスク動作が実行されな
    くなるまで初期化手段及び判定手段が反復的にそれぞれ
    の動作を実行するようにした、トリガ手段(20)と、 ディスクドライブのディスクセクタに対応する現ディス
    クメモリロケーションにおいて、ディスク動作が実行さ
    れていないと判定された後に、読み出し動作を実行する
    読み出し実行手段(122)と、 読み出し動作の結果をチェックすることにより読み出し
    動作に障害が生じたかどうかを判定し、障害が生じたと
    判定した場合に、ディスクドライブの現ディスクセクタ
    に関するディスク媒体障害の指示を出力するチェック手
    段(122)と、 読み出し及びチェック中のディスクドライブにおける他
    のディスクセクタの次のディスクメモリロケーションに
    インクリメントするインクリメント手段(20)と、 ディスク動作の判定手段、読み出し実行手段、チェック
    手段、及びインクリメント手段を、そのディスクドライ
    ブのすべてのディスクセクタのチェックが終了するま
    で、連続的に動作させる連続動作管理手段(20,12
    2)と、 読み出し及びチェックを行ったディスクドライブの次の
    ディスクドライブにインクリメントし、かつ、ディスク
    動作の判定手段、読み出し実行手段、チェック手段、イ
    ンクリメント手段、及び連続動作管理手段を、該ディス
    クアレイの全てのディスクドライブの全てのディスクセ
    クタのチェックが終了するまで、連続的に動作させる手
    段(20,122)と、 インクリメント手段の動作を遅延させて、所定の遅延時
    間後に、次のディスクドライブのディスクセクタのチェ
    ックを開始させるタイマ手段と読み出し動作手段、チェ
    ック手段、インクリメント手段の動作中に、外部からの
    ディスク動作コマンドを受け取って保持する保持手段
    (128)と、 連続動作管理手段が現ディスクドライブのすべてのディ
    スクセクタをチェックするための動作が完了したとき、
    保持手段に保持された外部からのディスク動作コマンド
    を実行する手段と、 を備えていることを特徴とするコンピュータシステム。
  7. 【請求項7】 請求項6記載のコンピュータシステムに
    おいて、該システムはさらに、ディスクドライブ及びデ
    ィスクアレイのパラメータ及び状態情報を決定して記憶
    する決定及び記憶手段(122)を備えていることを特
    徴とするコンピュータシステム。
  8. 【請求項8】 請求項7記載のコンピュータシステムに
    おいて、決定及び記憶手段は、チェックすべきディスク
    ドライブの数、1ドライブ当たりのヘッド、トラック及
    びシリンダの数、並びに、1トラック当たりのディスク
    セクタの数からなるパラメータを読み取る手段(12
    2)を備えていることを特徴とするコンピュータシステ
    ム。
JP20485691A 1990-07-20 1991-07-20 ディスクセクタ解析方法 Expired - Lifetime JP3151008B2 (ja)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
JPH04233625A JPH04233625A (ja) 1992-08-21
JP3151008B2 true 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 윤종용 제조공정 합격판정기 및 그를 이용한 제조공정방법
US5933824A (en) * 1996-12-23 1999-08-03 Lsi Logic Corporation Methods and apparatus for locking files within a clustered storage environment
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
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
KR100564664B1 (ko) 1997-10-08 2006-03-29 시게이트 테크놀로지 엘엘씨 데이터 저장 장치용 하이브리드 데이터 저장과 재구성시스템 및 방법
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
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
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
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
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
US7080278B1 (en) 2002-03-08 2006-07-18 Network Appliance, Inc. Technique for correcting multiple storage device failures in a storage array
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks 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
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance 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
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
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
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
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
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
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, 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
US8074103B2 (en) * 2007-10-19 2011-12-06 Oracle International Corporation Data corruption diagnostic engine
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
EP0031706B1 (en) * 1979-12-27 1984-11-07 Fujitsu Limited 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
US5210860A (en) 1993-05-11
DE69117371T2 (de) 1996-11-14
DE69117371D1 (de) 1996-04-04
EP0467706A2 (en) 1992-01-22
KR920003286A (ko) 1992-02-29
JPH04233625A (ja) 1992-08-21
CA2047406A1 (en) 1992-01-21
EP0467706B1 (en) 1996-02-28
EP0467706A3 (en) 1993-02-03
ATE134778T1 (de) 1996-03-15

Similar Documents

Publication Publication Date Title
JP3151008B2 (ja) ディスクセクタ解析方法
US5101492A (en) Data redundancy and recovery protection
US6058489A (en) On-line disk array reconfiguration
JP3358687B2 (ja) ディスクアレイ装置
JP2981245B2 (ja) アレイ型ディスク駆動機構システム及び方法
US6061750A (en) Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure
US6772310B2 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US5051887A (en) Maintaining duplex-paired storage devices during gap processing using of a dual copy function
US6598134B2 (en) System and method for on-line, real time, data migration
US7962783B2 (en) Preventing write corruption in a raid array
JP3181398B2 (ja) アレイ型記録装置
JP2548480B2 (ja) アレイディスク装置のディスク装置診断方法
US5522065A (en) Method for performing write operations in a parity fault tolerant disk array
US6961818B1 (en) Method, system and computer program product for managing data in a mirrored cache using an access balancing technique
WO2002003204A1 (en) Three interconnected raid disk controller data processing system architecture
US5680538A (en) System and method for maintaining a minimum quality of service during read operations on disk arrays
US20040049710A1 (en) Maintaining data access during failure of a controller
US6425053B1 (en) System and method for zeroing data storage blocks in a raid storage implementation
JPH09269871A (ja) ディスクアレイ装置におけるデータ再冗長化方式
US5574736A (en) Data storage device and method of operation
EP0303856B1 (en) Method and apparatus for maintaining duplex-paired devices by means of a dual copy function
US7020770B2 (en) Method and apparatus for configuration of RAID controllers
JP2854471B2 (ja) ディスクアレイ装置
US20060101302A1 (en) Method and computer program product of keeping configuration data history using duplicated ring buffers
Sicola The architecture and design of HS-series StorageWorks Array Controllers

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