JP3269552B2 - ディスクドライブメモリ - Google Patents

ディスクドライブメモリ

Info

Publication number
JP3269552B2
JP3269552B2 JP50452791A JP50452791A JP3269552B2 JP 3269552 B2 JP3269552 B2 JP 3269552B2 JP 50452791 A JP50452791 A JP 50452791A JP 50452791 A JP50452791 A JP 50452791A JP 3269552 B2 JP3269552 B2 JP 3269552B2
Authority
JP
Japan
Prior art keywords
data
disk drive
disk drives
redundant
segments
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 - Fee Related
Application number
JP50452791A
Other languages
English (en)
Other versions
JPH05504431A (ja
Inventor
ヘンリー ジュニア. ダンフィ,ロバート
ウォルシュ,ロバート
ヘンリー ボワーズ,ジョン
アーサー ルードシール,ジョージ
Original Assignee
ストレイジ テクノロジー コーポレイション
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 ストレイジ テクノロジー コーポレイション filed Critical ストレイジ テクノロジー コーポレイション
Publication of JPH05504431A publication Critical patent/JPH05504431A/ja
Application granted granted Critical
Publication of JP3269552B2 publication Critical patent/JP3269552B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1833Error detection or correction; Testing, e.g. of drop-outs by adding special lists or symbols to the coded information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/012Recording on, or reproducing or erasing from, magnetic disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • G06F11/1662Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit the resynchronized component or unit being a persistent storage device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S360/00Dynamic magnetic information storage or retrieval
    • Y10S360/90Disk drive packaging
    • Y10S360/903Physical parameter, e.g. form factor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Moving Of Heads (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【発明の詳細な説明】 関連出願のクロス・レファレンス この出願は、1988年6月28日にRobert H.Dunphy,Jr.
外によりディスクドライブメモリという名称で提出され
た出願の部分継続出願である。この出願は、1990年1月
26日にRobert H.Dunphy,Jr.外によりディスクドライブ
メモリという名称で提出された出願にも関連している。
発明の分野 この発明はコンピュータシステムに関し、特に、コン
ピュータシステムと共に使用される安価で高性能且つ高
信頼度のディスクドライブメモリに関する。
問題点 コンピュータシステムの分野において、バックアップ
能力を持つ安価で高性能且つ高信頼度のメモリを提供す
ることは問題である。コンピュータシステムにおいて、
コンピュータと共に使用される様々なメモリデバイスに
高信頼度の能力を備えることは高価である。この問題
は、ディスクドライブメモリシステムの場合には特に厳
しい。典型的な市販のディスクドライブは、1.2ギガバ
イトのオーダーのデータをストアすることが出来る14イ
ンチの形態を持つファクタユニット、例えばIBM3380Jの
ディスクドライブである。その関連する中央処理装置
は、データファイル全体を単一のディスクドライブに書
き込むことによってデータファイルをディスクドライブ
メモリにストアする。単一のディスクドライブに欠陥が
あると結果的にかなりの量のデータが失われる可能性が
あることは明らかである。この発明の可能性を最小限に
するために、ディスクドライブは、高信頼度のユニット
となるように構築される。信頼性の代価は、結果として
生じるディスクドライブが極めて高価なユニットである
という点で高い。
ディスクドライブにストアされたデータの喪失がその
関連する中央処理装置の動作中に重大な分裂をひき起こ
す可能性のあるクリティカルな状況において、付加的な
信頼性は、付加的な冗長用ディスクドライブを用いて各
ディスクドライブをディスク・シャドウイング(disk s
hadowing)およびバックアップすることにより得られ
る。しかしながら、メインのディスクドライブをバック
アップするために別のディスクドライブを備えること
は、コンピュータシステムのメモリのコストを2倍以上
にする。ディスク・シャドウイングおよびバックアップ
・プロテクションを備えるためのコストを低減するため
に種々の装置が利用されている。これらの装置は、ディ
スクドライブにストアされたデータに対してなされる変
化のみをストアし、該ディスクドライブにストアされた
最もクリティカルなデータのみをバックアップし、そし
て、該ディスクドライブにストアされたデータを極めて
低速のデータ検索アクセス時間を持つ低価格のデータ記
憶ユニットにストアすることによって周期的にバックア
ップする手段を有している。しかしながらこれらの装置
のいずれも、手ごろな価格でバックアップ能力を備えた
高信頼度のデータ記憶手段を提供していない。
データをストアするための大形ファクタのディスクド
ライブの別の形態は、パラレルアレイの形態で相互接続
された多数の小形ファクタのディスクドライブを使用す
ることである。そのような装置は、4個のパラレル形態
で同期化されたディスクドライブおよび1個の冗長用パ
リティ・ドライブを用いたMicropolis Parallel Drive
Array,Model 1804 SCSIである。この装置は、データの
信頼性を増すために、パリティ・ドライブによって提供
されるパリティ・プロテクションを使用している。4個
のデータ・ディスクドライブの一つに欠陥が生じても、
パリティ・ディスクドライブにストアされたパリティ・
ビットを用いることによって上記欠陥は救済され得る。
類似のシステムは米国特許第4,722,085号に開示されて
おり、ここでは、大容量のディスクドライブメモリが示
されている。このディスクドライブメモリは、比較的小
規模で且つ独立に動作する複数のディスク・サブシステ
ムを用いており、極めて高い障害耐性と極めて高いデー
タ転送帯域を有する大容量のディスクドライブとして機
能する。データ・オーガナイザは、7個のエラー検査ビ
ットを各32ビット・データワードに付加してエラー検査
および訂正能力を提供している。結果として生じる39ビ
ット・ワードは、ディスクドライブ1個当たり1ビッ
ト、すなわち39個のディスクドライブに書き込まれる。
39個のディスクドライブの1個に欠陥が生じら場合に
は、各データワードがメモリから読み出される毎に、ス
トアされた39ビット・ワードのうち残りの38ビットが用
いられ、ワード対ワード対応で32ビット・データワード
が再構成される。これによって、障害耐性が得られる。
これらのパラレル型ディスクドライブ・アレイの装置
に関して問題となるのは、予備のディスクドライブが設
けられておらず、それ故、予備構成を備えていないn個
のパラレル接続されたディスクドライブのアーキテクチ
ャを持つシステムの信頼性がかなり低いということであ
る。これらのディスクドライブメモリシステムはデータ
の再構成能力を備えているが、その一方では、バックア
ップ用すなわち予備のディスクドライブ能力が欠けてい
ると該システムの維持費は高くなる。なぜならば、その
ようなアーキテクチャにおけるディスクドライブの欠陥
はかなり頻繁に発生し、また、各ディスクドライブに欠
陥が生じると該欠陥のあるディスクドライブを交換する
ためにサービスの呼出しを行う必要があるからである。
もしサービスの呼出しが別のディスクドライブに欠陥が
生じる前に行われない場合には、データの喪失が生じる
であろう。さらに、米国特許第4,722,085号に提案され
ているようなハミング・コード型のエラー検出および訂
正手段を用いると、高いオーバーヘッド、すなわち32ビ
ット・データワードに対して7ビットのエラー検出コー
ドが必要になる。これらの限定事項は、このアーキテク
チャをディスク記憶システムに対して不経済なものにす
る。米国特許第4,722,085のディスクドライブメモリシ
ステムの更なる限定事項は、この密結合のパラレル型デ
ィスクドライブ・アレイのアーキテクチャが密結合のデ
ィスク・アクチュエータを使用していることである。こ
の装置は、高いデータ転送帯域を有しているが、2.75ギ
ガバイトのメモリに対して1個のアクチュエータのみを
有している。このことは、ディスクドライブメモリシス
テムのメモリ性能へのランダム・アクセスに悪影響を与
える。なぜならば、全てのメモリはその単一のアクチュ
エータを介してのみアクセスされ得るからである。
したがって、コンピュータシステムに対してバックア
ップ能力を有する安価で高性能且つ高信頼度のディスク
ドライブメモリは、目下のところ、存在していない。
解決策 本発明のディスクドライブメモリによって、上述した
問題は解決され、そして技術的な進歩がその分野におい
て達成された。本発明のディスクドライブメモリは、大
形ファクタ(large form factor)のディスクドライブ
のフォーマットと能力をエミュレートする廉価で高性能
そして型信頼性のディスクドライブメモリを組み込むべ
く、多数の小形ファクタのディスクドライブを使用す
る。複数のディスクドライブは、データをそこに記憶す
べくN+M並列接続されたディスクドライブの複数の可
変サイズ冗長グループを形成するように切換可能に相互
接続できる。N+Mディスクドライブは、各データワー
ドのNセグメント+M冗長セグメントを記憶するのに使
われる。さらに、R個のバックアップ・ディスクドライ
ブ・プールは、動作中に故障した冗長グループのディス
クドライブの代わりに置き換えディスクドライブを自動
的に使用するように保守される。さらにまた、U個の割
り付けられないか、もしくはストックのディスクドライ
ブのプールは将来の使用のために保守され、そして予備
ドライブの冗長グループやバックアップ・プールに割り
付けられるまでパワーダウンされてもよい。
Rバックアップ・ディスクドライブのプールは低コス
トで高信頼性を提供する。各ディスクドライブは、その
動作における故障を検出できるように設計され、それは
冗長セグメントがマルチビットのエラー検出のためだけ
でなくマルチビット・エラー訂正のためにも使用できる
ようにする。故障したディスクドライブの識別はデータ
ワードのエラービット位置に関する情報を与え、そして
冗長データはエラーを訂正するための情報を与える。一
度、冗長グループにおける故障したディスクドライブが
識別されると、バックアップ・ディスクドライブの共用
プールからのバックアップ・ディスクドライブの故障し
たディスクドライブの代わりに自動的に切り換えられ
る。制御回路は、残りの各データワードのN−1セグメ
ント+関連するM冗長セグメントを使って、故障ディス
クドライブ上に記憶されたデータを再構築する。冗長セ
グメントにおける故障はデータの再構築を要求しない
が、冗長情報の再生を必要とする。再構築されたデータ
はそして代わりのディスクドライブの上に書き込まれ
る。バックアップ・ディスクドライブの共用プールの使
用が改善された信頼性を与えるコストを最小限化するの
に対して、バックアップ・ディスクドライブの使用はN
+M並列ディスクドライブアーキテクチャの信頼性を増
加させる。
このように切換可能で、相互接続可能な小形ファクタ
のディスクドライブの大きなプールのアーキテクチャは
また、ディスクドライブメモリの動作特性を制御するの
に大きな柔軟性を与える。ディスクドライブメモリ・シ
ステムの信頼性はディスクドライブのバックアップ・プ
ールからデータ記憶ディスクドライブ冗長グループへデ
ィスクドライブの割り付けを交互に行うことによって変
更することができる。さらに、冗長グループのサイズは
制御可能であり、それによって冗長グループサイズの混
在をディスクドライブメモリ内に同時に維持させること
ができる。種々の冗長グループが異なった性能特性に対
して最適化されうる。例えば、データ転送速度は冗長グ
ループにおけるディスクドライブの数に比例する。冗長
グループのサイズが増加した時、冗長ドライブおよび予
備プールで入手可能な予備ドライブの数は減少する。そ
して冗長グループのサイズが増加した時、物理アクチュ
エーア/仮想アクチュエータの数は減少する。
したがって、大きな数の切換可能で相互接続可能なデ
ィスクドライブを含む無定型プールの使用は、現状のデ
ィスクドライブメモリシステムの限界を克服し、そして
またディスクドライブメモリシステムにおいて以前は利
用できなった能力を提供する。
動作において、関連する中央処理ユニットによって転
送されたデータは冗長な情報を生成するのに使われる。
冗長な情報はMビットのエラー検出および訂正情報から
成る。冗長データはマルチビット・ハミングコード、も
しくは入りこ(ネステッド:nested)エラーコードのよ
うな、1組の分離(separate)エラーコードが可能であ
る。例えば、マルチビット・リード−ソロモン・コード
・セグメントは受信データセグメントがマルチビット・
エラー検出および訂正を与えるように生成できる。デー
タセグメントとエラーコード・セグメントはそしてパリ
ティ・セグメントを生成するのに使われ、それは個々の
ディスクドライブ上に記憶される。データと冗長情報は
ディスクドライブメモリにおけるN+Mディスクドライ
ブにまたがって書き込まれる。さらに、ディスクドライ
ブの数Rは、予備のユニットまたはバックアップ・ユニ
ットとしてディスクドライブメモリにおいて維持され、
そのバックアップ・ユニットは、故障したディスクドラ
イブの代わりに自動的にオンラインに切り換えられる。
制御ソフトウェアは、故障したディスクドライブ上に記
憶されたデータを再構築し、そしてこの再構築されたデ
ータを故障ディスクドライブユニットを置き換えるため
に選択されるバックアップ・ディスクドライブに書き込
むよう提供される。
ディスクドライブメモリへデータを書き込む関連中央
処理ユニットに応答して、ディスクドライブメモリにお
ける制御モジュールは受信データを複数(N)のセグメ
ントに分割する。制御モジュールはまた、もし一つまた
はそれ以上のセグメントがディスクドライブ故障によっ
て不意に失われたならば、Nセグメントデータの一つま
たはそれ以上の再構築に使われる冗長データを表すM冗
長セングメントを生成する。ディスクドライブメモリに
おけるディスクドライブマネージャは、ディスクドライ
ブメモリの複数のディスクドライブからN+Mディスク
ドライブを選択し、データファイルとその関連する冗長
セグメントが記憶された冗長グループとして機能させ
る。制御モジュールは、冗長グループの部分として選択
されたN+MディスクドライブのNの個々の1つの上に
各Nデータセグメントを書き込む。さらに、M冗長セグ
メントはM個の選択された冗長ディスクドライブに書き
込まれる。したがって、データとその関連する冗長情報
はシングル・ディスクドライブの代わりにN+Mディス
クドライブの上に書き込まれる。したがって、シングル
・ディスクドライブの故障はデータのNセグメントの一
つに影響を与えるだけである。残りのN−1データセグ
メントにM冗長ディスクドライブに記憶された冗長セグ
メントをプラスしたものは、シングル・ディスクドライ
ブの故障によって上記データから欠けたデータセグメン
トもしくは失われたデータセグメントを再構築するのに
使われる。
このようにして、冗長情報は、複数のバックアップ・
ディスクドライブとしてのデータのバックアップを与え
るのに使われる。ディスク・シャドウイング・バックア
ップとしての各ディスクドライブの複製を要求する代わ
りに、データは複数のディスクドライブを通して拡散さ
れ、その結果、シングル・ディスクドライブの故障は一
時的に1/Nのデータの喪失を生じるだけである。Mディ
クスドライブに書き込まれた冗長セグメントは、ディス
クドライブメモリにおけるソフトウェアがある期間を通
して新たなディスクドライブ上に失われたデータセグメ
ントを再構築することを可能にする。しかしながら、デ
ータは、CPUによって要求されると同じ実時間の要求で
再構築可能であり、その結果、元のディスク故障はCPU
に対してトランスペアレントである。したがって、各N
データ・ディスクドライブに対するM冗長ディスクドラ
イブの提供に加えて待機ディスクドライブ、またはバッ
クアップ・ディスクドライブのプールの提供は、このデ
ィスクドライブメモリのディスクドライブ上に記憶され
た全てのデータに対する完全なバックアップを与える。
そのような構成は許容されるコストで高信頼性を提供
し、そのコストは、ディスク・シャドウイングや従来の
ディスクドライブメモリアレイシステムの高維持費のよ
うな2種バックアップ・ディスクドライブを提供するコ
ストに比べてずっと低い。待機ドライブのプール・サイ
ズ、割り付けられていないパワーダウンされたディスク
ドライブのプール・サイズ、そしてドライブ故障の比率
は、要求されるサービス・コールの間隔を決定する。十
分に大きなプールは、それなりのコストをセーブしなが
ら1年に一度またはそれ以下の頻度でのサービスを許容
する。本発明のこれらの利点、および他の利点は、詳細
な説明を読むことによって明らかとなるであろう。
図面の簡単な説明 図1はディスクドライブメモリのアーキテクチャをブ
ロック図形式で示したものである。
図2はブロック図形式のディスク・サブシステムを示
したものである。
図3はブロック図形式の制御モジュールを示したもの
である。
図4はブロック図形式のディスク・マネージャを示し
たものである。
図5はフロー図形式でデータ冗長セグメントを与える
典型的な方法を示したものである。
図面の詳細な説明 本発明にかゝるディスクドライブメモリは単ディスク
ドライブの代りに複数の小型ファクターのディスクドラ
イブを用いて安価な高性能の高信頼性のディスクドライ
ブメモリを供給するものであって、大型ファクターのデ
ィスクドライブのフォーマットおよび可能性を提供する
ものである。複数のディスクドライブはスイッチによっ
て結合するようになっており、データを蓄積するために
接続された並列のN+Mの可変の大きさの複数の冗長群
を形成する。N+Mのディスクドライブは各データ語の
NセグメントとM冗長セグメントを蓄積するために用い
られる。さらにRのバックアップ・ディスクドライブの
プールは動作中に故障があったディスクドライブに対し
てディスクドライブを自動的に交換するために用いられ
る。
バックアップディスクドライブのプールは低価格にし
て高信頼性を提供する。各ディスクドライブはその動作
中における欠陥を検出することができるように設計され
ておって冗長セグメントは単にエラー検出(誤差検出)
だけでなくエラー(誤差)の訂正に用いることもでき
る。故障のあったディスクドライブの確認は、データワ
ードにおけるエラーのビット位置に関する情報を提供
し、冗長データはエラーそれ自体の訂正する情報を提供
する。一たび、故障したディスクドライブが確認される
と、バックアップ・ディスクドライブの配当されたプー
ルからのバックアップ・ディスクドライブが、故障した
ディスクドライブの代わりに自動的にスイッチされる。
制御回路が残りのデータワードのN−1セグメントと関
連冗長セグメントを用いて、故障したディスクドライブ
に蓄積されたデータを再構成する。冗長セグメントにお
けるエラーはデータの再構成を必要とせず冗長情報の再
生成を必要とする。再構成されたデータはついで代替の
ディスクドライブに書き込まれる。バックアップ・ドラ
イブドライブの使用はN+M並列ディスクドライブ構成
の信頼性を増加し、バックアップ・ディスクドライブの
配当されたプールの使用は改良された信頼性を提供する
ための価格を最小限にする。
切換可能でかつ相互接続可能な小形ファクタのディス
クドライブの大きいプールの構成はディスクドライブメ
モリの操作特性を制御するために大きい柔軟性を提供す
る。ディスクドライブメモリシステムの信頼性はディス
クドライブの割当てをディスクドライブのバックアップ
プールからデータ蓄積ディスクドライブ冗長群にかえる
ことによって変形される。さらに、各冗長群の大きさは
制御可能であって、冗長群の大きさの混合をディスクド
ライブメモリに同時に維持することができる。種々の冗
長群が種々の性能特性に対して最適化することができ
る。例えば、データ転移率は冗長群におけるディスクド
ライブ数に比例し、冗長群の大きさが増加すると、冗長
駆動と配当駆動の数は予備のプールの減少に役立ち、冗
長群の大きさが増加すると物理的アクチュエータ/実質
的アクチュエータの数が減少する。
かくして、切換可能でかつ相互接続可能な多数のディ
スクドライブを含む無形のプールの使用は、現存するデ
ィスドライブメモリシステムの制限を克服し、ディスク
ドライブメモリシステムに前もって不使用の可能性を提
供する。
操作においては、関連する中央処理ユニットによって
伝達されたデータは冗長情報を発生するに用いられる。
冗長情報はエラー検出および訂正情報のMビットからな
る。冗長データはマルチビット・ハミングコードもしく
は分離したエラーコードのセット、例えばネステッドエ
ラーコードのごときものである。例えば、マルチビット
・リード−ソロモン・コード・セグメントが、受け取ら
れたデータセグメントに対して発生してマルチビットエ
ラー検出および訂正を提供することができる。データセ
グメントおよびエラーコードセグメントはそこで分離デ
ィスクドライブに蓄積されるパリティセグメントを発生
するために用いられる。データおよび冗長情報はディス
クドライブメモリのN+Mディスクドライブにわたって
書き込まれる。さらに、ディスクドライブの数はディス
クドライブメモリにスペアもしくはバックアップユニッ
トとして維持され、そのバックアップユニットは、故障
したディスクドライブの代わりに自動的にラインにスイ
ッチされる。制御ソフトウェアが設けられ、誤ったディ
スクドライブに蓄積されたデータを再構成し、この再構
成されたデータをこの誤ったディスクドライブユニット
の代わりに選択されたバックアップ・ディスクドライブ
に書き込む。
ディスクドライブメモリにデータを書込む関連する中
央処理ユニットに応答して、ディスクドライブメモリの
制御モジュールが受取ったデータを複数のNセグメント
に分割する。制御モジュールはまたM冗長セグメントを
発生し、もし1もしくはそれ以上のセグメントがディス
クドライブの故障によって不注意に失われたときデータ
のNセグメントの1つを再構成するに用いることのでき
る冗長データを示すM冗長セグメントを発生する。ディ
スクドライブメモリのディスクドライブマネージャは、
ディスクドライブメモリの複数のディスクドライブから
N+Mディスクドライブを選択し、データファイルおよ
びその関連冗長セグメントがストアされている冗長群と
して機能させる。制御モジュールはNデータセグメント
の各々を冗長群の一部として選択されたN+Mディスク
ドライブのNの分離された1つに書き込む。さらに、N
冗長セグメントは残りの選択されたディスクドライブM
に書き込む。かくしてデータおよびその関連冗長情報は
単一ディスクドライブの代わりにN+Mディスクドライ
ブに書き込まれる。したがって、単一ディスクドライブ
の故障はデータのセグメントの1つに衝撃を与えるであ
ろう。データの残りのN−1セグメントとMディスクド
ライブに蓄積されたM冗長セグメントは、冗長群におけ
る1もしくはそれ以上のディスクドライブの故障によっ
て上記データから欠けたデータセグメントもしくは失わ
れたデータセグメントを再構成するために用いることが
できる。
このようにして、冗長情報は複数のバックアップ・デ
ィスクドライブのようにデータに対してバックアップを
提供するために用いる。ディス・シャドウイングのよう
に各ディスクドライブの写しを要求する代わりに、デー
タは複数のディスクドライブにわたって拡がり、単一デ
ィスクドライブの誤りはデータの1/Nの一時的損失を発
生するだけですむ。M分離ディスクドライブに書き込ま
れたM冗長セグメントは時間周期にわたって新規のドラ
イブをデータの損失セグメントに再構成するようにディ
スクドライブメモリにソフトウェアを可能にするように
駆動する。しかし、データはCPUによって要求されるよ
うな必要によっては実時間に構成することもできる。し
たがって、各Nデータディスクドライブに対するM冗長
ディスクドライブの準備および待機ディスクドライブも
しくはバックアップ・ディスクドライブのプールの準備
は、このディスクドライブメモリのディスクドライブに
蓄積されたデータのすべてに対してフルバックアップを
提供する。かゝる配列は合理的な価格において高信頼性
を提供する。この価格は、ディスク・シャドウイングに
おけるような複製バックアップを提供するコストもしく
は従来のディスクドライブメモリ配列システムの高維持
費よりもはるかに安い。
信頼性 信頼性の1つの寸度は誤り間の機能平均時間であって
これによってシステムが比較できる単位である。単位時
間に誤りを一定率fを有する単一素子に対しては誤り間
平均時間は1/fである。nシリーズの接続された素子の
システムの全信頼度は、ユニットのすべてが操作システ
ムにおいて操作されているときは、単純に各信頼性機能
の積である。すべての素子が一定の誤り率を有する場合
には誤り間平均時間は1/nfである。
素子の信頼性は常に1より小さいか1に等しい、そし
て接続された1連の素子の信頼性は常に単一素子の信頼
性よりも小さいか等しい。高システム信頼性を達成する
ためには、極高信頼性素子が必要かもしくは冗長性が用
いられる。冗長性はオンラインユニットが誤ったときに
動作するシステムを維持するに用いられるスペアユニッ
トを準備する。(n−K)n待機冗長システムに対して
は、誤り間平均時間は(K+1)/f(n−K)となる。
こゝに(n−K)/nは全素子がnでRがスペアでn−K
のみが操作システムに対して操作されるものとする。
システムの信頼性は誤りのユニットを固定し、それを
完全操作可能に回復させることを含むリペアを用いるこ
とによって著るしく増加させることができる。これには
2つの型がある、それは要求によるものと周期的なもの
である。要求によるリペアは各誤りが発生したときから
始めてリペア率uをもってリペア操作を行う。周期的リ
ペアは規則的な間隔で定期的なリペアを行う。これは最
後のリペアが訪れてから誤りのあったすべてのユニット
をリペアする。要求されたリペア過程として同一の信頼
性をもつが維持プロセスが単純化される場合には周期的
スペアに対してスペアユニットが要求される。かくし
て、冗長性方式およびリペア方式を適切に選択すること
によって高信頼性が得られる。ディスクドライブメモリ
構成の選択における他のファクタはデータ再構成方法で
ある。8ビットバイトにおける2ビットエラーを検出
し、1つを訂正するためにはハミングコードを用いた8
ビットデータバイトあたり5エラーチェックビットを必
要とする。もしも欠陥ビットの位置が既知であるならば
データ再構成は単エラーチェック(パリティ)ビットで
達成される。本発明のディスクドライブメモリの構成は
マルチビット・エラー検出およびエラー回復に対してM
冗長ビットを使用することを可能とし、それに加えて冗
長およびリペア方法の選択に柔軟性をもたせ低価格の高
信頼性のディスクドライブメモリを提供するという利益
を有する。
ディスクドライブメモリのアーキテクチャ 図1はディスクドライブメモリ100の好適な実施例の
アーキテクチャを、ブロック線図の形式で図解するもの
である。数多くの代替の実施形態が可能であり、この実
施例は本発明の概念を図解するとともに、高信頼性、高
性能、かつ非高価なディスクドライブメモリを提供す
る。ディスクドライブメモリ100は、協働する中央処理
ユニットには1つの大規模なディスクドライブまたは大
規模なディスクドライブの集合体であるようにみえる
が、その理由は、ディスクドライブメモリ100のアーキ
テクチャは、協働する中央処理ユニットに対して透明で
あるからである。このディスクドライブメモリ100は、
ディスクドライブ130−Oないし130−Kの複数のディス
クドライブを包含し、該ディスクドライブの各個は、非
高価なしかもかなりに信頼可能なディスクドライブであ
る。ディスクドライブ130−Oないし130−Kの複数個
は、冗長な情報を記憶するディスクドライブ、およびバ
ックアップの目的のためのディスクドライブをともなう
場合においてさえ、ディスクドライブメモリにおける各
ディスクドライブ用に代表的な14インチ形式のファクタ
のバックアップ・ディスクドライブを設ける場合に比べ
て、相当に、より安価である。ディスクドライブ130−
Oないし130−Kの複数個は、代表的には、5−1/4イン
チ形式のファクターの商品のハードディスクドライブで
ある。
ディスクドライブ130−Oないし130−Kの各個は、デ
ィスクドライブ相互接続装置に接続され、該ディスクド
ライブ相互接続装置は、この例においては、図1に示さ
れる交差点スイッチ(すなわち、クロスポイントスイッ
チ)121−124の複数個である。図解の目的のために、4
個の交差点スイッチ121−124が図1に示され、これらの
4個の交差点スイッチ121−124は各々がディスクドライ
ブ130−Oないし130−Kのすべてに接続されている。各
交差点スイッチ(例えば121)は、協働するK個の導体1
40−Oないし141−Kにより、対応する協働するディス
クドライブ130−Oないし130−Kに接続されている。こ
のようにして、各交差点121−124は、ディスクドライブ
メモリにおける各ディスクドライブ130−Oないし130K
を、協働する指定された導体を経由して、アクセスする
ことができる。交差点スイッチ121−124自体は、N+M
対Kのスイッチであり、交差点スイッチの1つの側にお
けるN+M個の信号リードを、交差線スイッチ121の他
の側のK個の信号リードに相互接続するものである。交
差点スイッチ121を通る伝送は、2方向性の性質のもの
であり、それによりデータが交差点スイッチ121を通っ
てディスクドライブへ書き込まれ、またはデータを交差
点スイッチを通って読み取ることができる。このように
して、各交差点スイッチ121−124は、ディスクドライブ
130−Oないし120KのN+M個を並列に接続させ、冗長
グループを形成させるのに役立つ。
図1は制御モジュール(すなわち、コントロールモジ
ュール)101−104の複数個を図解し、該制御モジュール
の各個は協働する交差点スイッチ121−124に接続され
る。各制御モジュール(例えば101)は、N+M個のデ
ータリードおよび単一の制御リード111を経由して、協
働する交差点スイッチ121に接続される。制御モジュー
ル101は、制御リードを通して伝送される制御信号によ
り、制御モジュール101からのN+M個の信号リードを
K個のディスクドライブ130−Oないし130−KのN+M
個の指定されたものに相互接続させるよう交差スイッチ
121を作動させることができる。この相互接続がひとた
び達成されると、制御モジュール101は、N+M個のデ
ータリード111および交差点スイッチ121を介しての相互
接続を経由して、K個のディスクドライブ130−Oない
し130−KのN+M個における指定されたサブセットに
直接に接続される。このサブセットにはN+M個のディ
スクドライブが存在し、交差点スイッチ121は、制御ユ
ニット101からのN+M個の信号リードの各個をサブセ
ットにおけるディスクドライブの1つの協働する対応す
る信号リードに接続することにより、制御モジュール10
1をサブセットに存在するこれらのディスクドライブに
相互接続する。したがって、制御ユニット101と、ディ
スクドライブ130−Oないし130−Kの集合体におけるN
+M個のディスクドライブの間に直接の接続が確立され
る。それにより、制御ユニット101は、このサブセット
におけるディスクドライブに対し、この接続を直接に通
して、データの読取りおよび書込みを行うことができ
る。
ディスクドライブへ書き込まれたデータは、協働する
中央処理ユニットからバス150を通って指示装置(すな
わち、ダイレクタ)151−154の1つへ伝送されるデータ
からなる。データファイルは例えば指示装置151へ書き
込まれるが、該指示装置151はこのデータを記憶しこの
受信したデータを導体161を通って制御モジュール101へ
転送する。制御モジュール101は受信したデータをN個
のセグメントに区分し、また、エラーの訂正の目的のた
めにM個の冗長セグメントを発生させる。データセグメ
ントの数Nは可変であり、それにより、制御モジュール
101は、Nが固定された量であるよりはむしろ、数Nを
選択することができる。例えば、制御モジュール101
は、中央処理ユニットから受信した、8ビットの広がり
をもつ語の形式をもつデータについてN=8を選択する
ことができ、一方、制御モジュール101は、16ビットの
広がりをもつ語の形式をもつデータについてN=16を選
択することができる。制御モジュール101はまた、Nの
サイズを、他の選択されたパラメータ、例えば、ディス
クドライブメモリにおける読取り/書込み動作のレベ
ル、データの予備用コピイの利用可能性および装置、等
の関数として、変化させることができる。データの各セ
グメントは、選択されたサブセットにおけるN個のディ
スクドライブの1つに書き込まれる。追加のM個のディ
スクドライブが、M個の冗長のセグメントを記憶するた
めに、サブセットにおいて用いられる。このM個の冗長
のセグメントは、エラー訂正の文字およびデータを包含
し、該データは、N個のディスクドライブに記憶される
データの完全性を検証する、およびデータセグメントが
記憶されているディスクドライブの故障によりセグメン
トが喪失されたときデータのN個のセグメントの1個ま
たは複数個を再構成するのに用いられることができる。
図1に示されるディスクドライブメモリは、ディスク
ドライブマネージャ(すなわち、ディスクドライブ制
御)140を包含するが、該ディスクドライブマネージャ
は導体143を経由してディスクドライブ130−Oないし13
0−Kの全部に、および導体145−1ないし145−4の協
働する1個を経由して制御モジュール101−104の各個に
接続される。ディスクドライブマネージャ140は、ディ
スクドライブメモリ100に読み取られたデータとデータ
が記憶されている種々のディスク130−Oないし130Kに
おける位置の間の対応関係をあらわすメモリにおけるデ
ータを維持する。ディスクドライブマネージャ140は、
ディスクドライブ130−Oないし130−Kの種々のものを
前記の冗長なグループに割り当てるとともに、種々のデ
ィスクドライブを予備のプールに割り当てる。これらの
N+M個のディスクドライブの識別は、ディスクドライ
ブマネージャ140により導体145−1を経由して制御モジ
ュール101へ伝送される。制御モジュール101は、このパ
リティグループに割り当てられたディスクドライブの識
別を用い、交差点スイッチ121を作動させ、制御モジュ
ール101のN+M個の信号リードと、この冗長性グルー
プの部分としてディスクドライブマネージャ140により
指定されたN+M個のディスクドライブの対応する信号
リードの間の必要な相互接続を確立する。
このようにして、ディスクドライブメモリ100は、よ
り小形ファクタのディスクドライブの複数個を用いて、
1個または複数個の大形ファクタのディスクドライブ
(例えばIBM3380形式のディスクドライブ)と競争する
ことができ、一方、より小形ファクタのディスクドライ
ブの複数個にわたりデータの書込みを行うことにより高
い信頼性の能力を提供する。信頼性の改善はまた、故障
したディスクドライブの代りに切換可能に相互接続され
ることが可能なR個のバックアップ・ディスクドライブ
のプールを設けることにより、得られる。データの再構
成は、M個の冗長性のセグメントを用いることにより達
成され、それにより、冗長のセグメントに記憶された冗
長性の情報と組み合わされた、剰余の機能を有するディ
スクドライブに記憶されているデータが、冗長性のグル
ープにおけるディスクドライブの1個または複数個が故
障したときに、制御のソフトウェアにより、喪失された
データを再構成するのに用いられることができる。この
配置は、ディスクシ・シャドウイングの配置により得ら
れるものに類似する信頼性の能力を、該ディスク・シャ
ドウイングの配置よりも相当に低減された費用で提供す
る。
ディスクドライブ 図2はディスクドライブ130−Oのブロック図であ
る。このディスクドライブ130−Oは、ディスクドライ
ブメカニズムと、その周辺の制御回路およびインタフェ
ース回路とを備えたディスク・サブシステムであると考
えられる。図2に示すディスクドライブは、市場にて入
手可能でありかつパーソナルコンピュータに典型的に使
用される市販用ハードディスクドライブからなる。制御
プロセッサ(すなわち、コントロールプロセッサ)202
は、図2に示すようなディスクドライブ全体を制御する
責務を負っている。さらに、制御プロセッサ202は、種
々のデータチャネル141−O〜144−Oに送られる情報を
監視する。これらのデータチャネル141−O〜144−O
は、シリアル形式の交信用チャネルであり、かつ、それ
ぞれ関係する交差点スイッチ121〜124と相互に接続す
る。これらのチャネルから転送された任意のデータが、
それぞれ対応するインタフェース・バッファ231〜234に
記憶される。これらのインタフェース・バッファは、そ
れぞれ関係するシリアルのデータチャネル241〜244を介
して、対応するシリアル/パラレル変換回路211〜214に
それぞれ接続される。制御プロセッサ202は、複数のパ
ラレル・インタフェースを備えている。これらのパラレ
ル・インタフェースは、パラレル・データパス221〜224
を介してシリアル/パラレル変換回路211〜214に接続さ
れる。このような構成においては、それぞれ対応する交
差点スイッチ121〜124と制御プロセッサ202との間で任
意のデータを転送する際に、上記交差点スイッチ121〜1
24と制御プロセッサ202との間のインタフェース・フォ
ーマットの差異に合わせてシリアル形式とパラレル形式
との間でデータを変換しなければならない。さらに、デ
ィスクドライブ130−Oにおいては、ディスク・コント
ローラ204も備えられている。このディスク・コントロ
ーラ204は、市販用ディスクドライブ201により要求され
る低レベルの電気インタフェースの条件を満足させるた
めのものである。この市販用ディスクドライブ201はESD
Iインタフェースを有しており、このESDIインタフェー
スは制御プロセッサ202と接触する必要がある。この場
合、ディスク・コントローラ204が上記のような機能を
有している。ここでは、制御プロセッサ202と市販用デ
ィスクドライブ201との間のデータ交信は、バス206、キ
ャッシュメモリ203、バス207、ディスク・コントローラ
204、およびバス208により実行される。キャッシュメモ
リ203は、ディスクドライブ130−Oの性能を向上させる
ためのバッファとして設けられる。このキャッシュメモ
リは、市販用ディスクドライブ201における物理的なデ
ータヘッドの各々に対し完全に1トラック分のデータを
保持する能力を有している。ディスク・コントローラ20
4は、データのシリアル化および非シリアル化や、CRC/E
CCの生成や、データの検査および修正や、NRZ形式のデ
ータ符号化を実行可能にする。ヘッド選択およびその他
の種類の制御信号のようにアドレス指定がなされた情報
は、制御プロセッサ202により供給され、かつ、バス205
を介して市販用ディスクドライブに伝達される。さら
に、制御プロセッサ202は、信号引出線262によってイン
タフェース・バッファ261に接続されている。さらに、
このインタフェース・バッファ261は、信号引出線143に
よって制御プロセッサ201とディスクドライブマネージ
ャ140とを相互に接続するようにしている。上記のよう
な伝達経路は、診断や制御の目的に使用するために備え
られている。例えば、ディスクドライブ130−Oがスタ
ンバイ・モードになっている場合、上記ディスクドライ
ブマネージャ140は、市販用ディスクドライブ201の電力
を下げるように制御プロセッサ202へ通知する。このよ
うな状況下では、市販用のディスクドライブ201は休止
状態のままになっている。この休止状態は、ディスクド
ライブマネージャ140が、引出線143を介して適切な制御
信号を供給することによりディスクドライブを稼働させ
るべき時期を選択するまで続く。
制御モジュール 図3は、ブロック図の形式で描かれる制御モジュール
を示すものである。図3において、制御モジュール(す
なわち、コントロールモジュール)101は、制御プロセ
ッサ(すなわち、コントロールプロセッサ)301を備え
ている。この制御プロセッサ301は、指示装置(すなわ
ち、ダイレクタ)151およびそれに関係する交差点スイ
ッチ121に対する種々のインタフェースを監視する責務
を負うものである。さらに、上記制御プロセッサ301
は、指示装置151からのコマンドを受けるためにCTL−I
インタフェース309,311と接触する。さらに、これら2
つのインタフェース309,311の一方がコマンドを受け取
ったときに、上記制御プロセッサ301は、インタフェー
ス309,311にそれぞれ対応する信号引出線310,312を介し
てコマンドを読み取る。さらに、制御プロセッサ301
は、バス304を介してキャッシュメモリ305に接続されて
いる。このキャッシュメモリ305は、装置の性能を向上
させるために使用されるものである。さらに、制御プロ
セッサ301は、指示装置151が受け取ったコマンドもしく
はデータ情報またはその両方を、N個のシリアルのコマ
ンド/データ・インタフェースを介して適切なディスク
群に送る。ここで、上記コマンド/データ・インタフェ
ースは、シリアル/パラレル・インタフェース302とし
て図示されている。このシリアル/パラレル・インタフ
ェース302は、(N+M)個のインタフェースを備えて
いる。ここで、(N+M)個のインタフェースとは、デ
ータおよび制御チャネル111であり、これらのデータお
よび制御チャネル111は、それに関係する交差点スイッ
チ121に接続されている。制御プロセッサ301は、指示装
置151により転送されたデータを受け取ってNのセグメ
ント(区分)に分割する。さらに、制御プロセッサ301
はまた、エラーに対する回復を目的としてM個の冗長セ
グメントを生成する。制御プロセッサ301は、引出線145
を介してディスクドライブマネージャ140からの情報を
受け取る。このようにして受け取った制御データは、デ
ィスクドライブマネージャ用のインタフェース313に書
き込まれる。ここで、上記制御データは、引出線314を
介して制御プロセッサ301により検索される。ディスク
ドライブマネージャ140からの制御情報は、交差点スイ
ッチ121において要求される相互接続関係を示すデータ
である。さらに詳しく言えば、このようなデータは、制
御モジュール101内の(N+M)個のデータチャネル111
と、ディスクドライブ130−O〜130−Xのプール(poo
l)から選択された(N+M)個のディスクドライブと
を接続するためのものである。このようにして、制御プ
ロセッサ301は、(N+M)個のデータおよび冗長セグ
メントを生成し、かつ、これら(N+M)個のセグメン
トをキャッシュメモリ305に記憶することにより、選択
された(N+M)個のディスクドライブに転送できるよ
うにしている。このような転送を遂行するために、制御
プロセッサ301は、引出線307および交差点制御ロジック
308を介して交差点スイッチ121に制御信号を伝達する。
この制御信号は、制御モジュール101の(N+M)個の
信号チャネル111と、この信号チャネルに対応し且つ選
択されたディスクドライブに関係する信号引出線141−
O〜141−Kとを相互に接続するために、交差点スイッ
チ121に要求される相互接続関係を示すのものである。
交差点制御信号が、それに関係する交差点スイッチ121
に一度転送されると、(N+M)個のデータおよび冗長
セグメントが制御プロセッサ301により転送される。こ
の制御プロセッサ301は、キャッシュメモリ305から、バ
ス306を介して、(N+M)個のシリアルのデータチャ
ネル111上のシリアル/パラレル・インタフェース302へ
上記(N+M)個のセグメントを出力する。
カウント/キー/データおよびアドレス変換 IBM3380のイメージを支持(support)するために、IB
M3380形のディスクドライブのカウント/キー/データ
の書式が確立されなければならない。このカウント/キ
ー/データの情報は、物理的なトラック上にデータとし
て記憶される。この場合、各セクタ毎の仮想的なトラッ
クのすべての番号が記憶できるように、物理的なディス
クドライブが書式設定される。片面の密度を有する多量
の粒状組織からなる630MBの記憶装置をシミュレートす
るために、各制御モジュールのトラックに対し個別のキ
ャッシュメモリが備えられている。このようにすれば、
異なった制御モジュールによるパラレル形式のアクセス
が可能となる。例えば、片面の密度を有する3380形トラ
ックは、約50KBの容量を備えている。もし、8つのデー
タ用ディスクドライブと1つの冗長用ディスクドライブ
からなる冗長群が使用されるならば、50/8すなわち6.25
KBが、各々の物理的なディスクドライブに記憶されるこ
とになる。制御モジュールの第1の責務は、仮想的な33
80のアドレスを物理的なアドレスに変換することであ
る。仮想的なアドレスは、アクチュエータの数と、シリ
ンダの数と、ヘッドの数と、ターゲット・レコードとか
ら構成される。上記の仮想的なアドレスは、冗長群の数
と、この冗長群内の物理的なシリンダの数と、ヘッドの
数と、現在記憶中の4つの仮想的なトラックから1つの
トラックを選択するために物理的なトラック内に設けら
れるセクタ・インデックスとに変換される。このような
変換は、まず初めに、仮想的なアクチュエータの数およ
び仮想的なシリンダの数から、次の“連続的なシリンダ
・インデックス”を生成することにより実行される。す
なわち、 連続的なシリンダ・インデックス=仮想的なアクチュエータ× (各アクチュエータに対するシリンダ数)+仮想的なシリンダ により求められる。
さらに、次に示すように、上記の連続的なシリンダ・
インデックスを、1つの物理的な群に対する仮想的なシ
リンダの数により除算した結果として得られる整数(IN
T)を採用することによって、データが入っている物理
的な群の数を見い出すことが可能となる。すなわち、 により求められる。
例えば、1つの物理的なトラックに対し4つの仮想的
なトラックがあり、かつ、典型的なディスクドライブに
含まれるトラックの数が1632である場合、1つの群に対
し4×1632=6528の仮想トラックが存在する。次に示す
ように、連続的なシリンダ・インデックスと特定の群に
対する基本的なシリンダ・インデックスとの差を、1つ
の物理的なトラックに対する仮想的なトラックの数によ
り除算した結果として得られる整数(INT)を採用する
ことによって、所望のデータが入っている適切な群内の
物理的なシリンダを見い出すことが可能となる。すなわ
ち、 物理的なシリンダ=INT{(連続的なシリンダ・イン
デックス)−(群×各群毎の仮想的なシリンダの数)/
(1つの物理的なトラックに対する仮想的なトラックの
数)} により求められる。さらに、このようにして算出された
物理的なシリンダの計算結果の剰余(REM)を、次式の
ように求めることによって、特定の仮想的なトラックを
識別するためのインデックスが、物理的なトラック内に
付与される。すなわち、 セクタ・インデックス=REM{(連続的なシリンダ・
インデックス)−(群×各群毎の仮想的なシリンダの
数)/(1つの物理的なトラックに対する仮想的なトラ
ックの数)} により求められる。
上記の計算によって、物理的に動作している単一の仮
想的なトラックを一意的に識別することが可能となる。
さらに、必要とされる特定の情報を得る目的で仮想的な
トラックを処理するために、仮想的なターゲット・レコ
ードが使用される。それゆえに、ディスクドライブメモ
リは、所望の3380のイメージと、このディスクドライブ
の構成との間のマッピング(mapping)状態を保持する
ことができる。このマッピングにより、どのように大き
な形状ファクタを有するディスクドライブが要求されよ
うとも、ディスクドライブメモリのエミュレートするこ
とが可能となる。
ディスクドライブマネージャ 図4はブロックダイアグラム形式によりディスクドラ
イブマネージャを示す。ディスクドライブマネージャ14
0は図1に示した全ディスクドライブメモリ用基本コン
トローラである。ディスクドライブマネージャ140は関
連する制御モジュールインタフェース411−414を介して
各制御モジュール101−104に個別の通信パスを有する。
加えて、ディスクドライブマネージャ140はクロスポイ
ントスイッチ(交差点スイッチともよばれる)121−124
とは独立したディスクドライブメモリにおけるディスク
ドライブ130−Oから130−Kの各々への通信パスを有す
る。ディスクドライブマネージャ140はまたこのディス
クドライブメモリのアーキテクチャ内の動作の診断に対
して基本的責任を有し、ヒストリー(経歴)ログメモリ
404における全ヒストリーとエラーに対するログを保持
する。ディスクドライブマネージャ140の中央部はプロ
セッサ401であり、プロセッサ401はこれらの機能を実行
する知的演算プログラムを提供する。プロセッサ401は
制御モジュール101−104とそれぞれ通信するため相関す
る制御モジュールインタフェース411−414とバス421−4
24を介し接続される。加えて、バス403はディスクドラ
イブメモリにおけるディスクドライブ130−Oから130−
Kの全てに対する通信パスリード143を提供するディス
ク制御インタフェース402とプロセッサ401とを接続す
る。ヒストリーログ404はバス405を介してプロセッサ40
1に接続される。プロセッサ401はディスクドライブメモ
リにおける仮想的アドレスから物理的アドレスへの割り
付けを決定し、対応する信号リード145を越えて制御モ
ジュール101−104への情報を提供する。プロセッサ401
はまた予備のディスクドライブのプールを維持し、影響
を及ぼされた制御モジュール101−104により割り当てる
ように要求されるときにディスク異常が発生したとき、
新しい予備(スペア)を割り当てる。
システムのパワーアップ時においてディスクドライブ
マネージャ140はディスクドライブメモリにおいて可能
な予備のディスクドライブ(すなわち、スペアディスク
ドライブ)の数を決定する。システムの容量の要求に基
づいて、ディスクドライブマネージャ140はこの予備の
ディスクドライブのプールから複数の可変長の冗長グル
ープを形成する。物理的ディスクが冗長グループに含ま
れる特別な情報は、ディスクドライブマネージャ140に
おけるローカルメモリに記憶され、その情報のコピー
は、これらの制御モジュール101−104が関連する中央処
理装置からのデータと共に受信した仮想アドレスを、対
応する選択されたディスクドライブから成る物理的冗長
グループに、移動可能なように、各制御モジュール101
−104に送られる。このシステムの割り付け情報の重要
性ゆえに、エラー補正コードにより保護された冗長コピ
ーはディスクドライブマネージャ140における不揮発性
メモリにおいて記憶される。1つの特定な情報に対する
要求が、ストレージダイレクタ(単に、ダイレクタとよ
ぶこともある)151−154から制御モジュール101−104に
より受信されたとき、制御モジュール101−104はディス
クドライブマネージャ140により供給されたシステム割
り付け情報をどの物理的ディスクグループがデータを含
むかを決定するため使用する。この転送情報に基づい
て、対応する制御モジュール101は制御モジュール101の
N+Mデータチャンネル111と、この転送情報により識
別された選択されたディスクドライブとを内部接続する
ため相関するクロスポイントスイッチ121を設定する。
相関する中央処理装置がディスクドライブメモリにデー
タを書き込んでいるとき、制御モジュールは中央処理装
置によって供給されたデータをN個のセグメントに分割
し、そのデータを冗長グループの個々の要素にM個の冗
長セグメントと共に分配する。データがディスクドライ
ブメモリから中央処理装置に読まれる状況において、制
御モジュールは冗長グループにおいて選択されたディス
クドライブから読まれたデータの流れを再組み立てする
ことによって逆の動作を実行せねばならない。
ディスクドライブ動作異常 制御モジュールは、割り付けされている冗長グループ
における個々のディスクドライブが動作異常か否かを決
定する。異常ディスクドライブを検出した制御モジュー
ルは、ディスクドライブが異常となった、異常と思われ
る、または新しいディスクが必要であることを示すため
対応する制御信号リード145を越えてディスクドライブ
マネージャ140に制御メッセージを送信する。予備ディ
スクドライブに対する要求がディスクドライブマネージ
ャ140によって受信されるとき、異常ディスクドライブ
は使用から外され、予備ディスクドライブがディスクド
ライブマネージャ140により駆動されるRディスクの予
備プールから作動される。これは異常ディスクドライブ
を含むその冗長グループの識別を再書き込みすることに
よって達成される。冗長グループにおいて新しく選択さ
れたディスクドライブは、全制御モジュール101−104に
転送される制御信号によって識別される。このことは各
制御モジュール101−104において記憶されたシステム割
り付け情報が更新されて保持されることを確実にする。
新しいディスクドライブが冗長グループに一度加えら
れると、新しいディスクドライブは適切に動作するか否
か試験され、システム割り付けテーブルにおける異常デ
ィスクドライブを交換する。予備ディスクドライブを要
求した制御モジュールは、残されたN−1個の演算デー
タディスクドライブおよびMの冗長ディスクドライブか
らの可能な冗長情報を使用する新しいディスクドライブ
のためのデータを再構成する。再構成がディスク上で完
成される前に、データはCPUに対しなお可能であり、デ
ィスクからデータを単に読み取るよりむしろデータはオ
ンラインで再構成されねばならない。このデータ再構成
動作が完了するとき、再構成されたセグメントが交換デ
ィスクドライブ上に書かれ、制御信号が再構成動作が完
了し、冗長グループが現在再び演算可能なことを示すた
めディスクドライブマネージャ140に送信される。ディ
スクドライブマネージャ140は、再構成された冗長グル
ープが更なるデータ再構成なしでアクセスできるよう
に、データ再構成が完成される制御モジュールに情報を
提供するディスクドライブメモリにおける全制御モジュ
ールに対する制御信号を送信する。
このディスクドライブメモリの能動的再配置可能とす
る属性は、このシステムに非常に融通性をもたせる。加
えて、制御モジュールのディスクドライブ間の通信パス
の能動的配置可能な形態はアーキテクチャーに非常に融
通性をもたせる。同一の物理的ディスクメモリで、ユー
ザは単に能動的なディスクドライブ冗長グループの数を
変えることにより、大データ記憶容量を有しより短い周
期的修理インターバルが要求されるディスクドライブメ
モリを満たし、あるいは小データ記憶容量を有しより長
い修理インターバルが要求されるディスクドライブメモ
リを満たす。加えて、ディスクドライブメモリはシステ
ムに接続されたとき、新しい予備ディスクドライブを検
出する能力を有し、それによりディスクドライブメモリ
を記憶部のように変化させ、または信頼性の必要性がデ
ィスクドライブメモリコントロールソフトウェアを再プ
ログラムする必要なしに変化する。
アーキテクチャ上のトレードオフ このディスクドライブメモリのアーキテクチャには、
種々のトレードオフが存在する。変更可能なパラメータ
には、システム信頼性、システム修復間隔、システムデ
ータ記憶容量、および冗長グループサイズが含まれる。
各パラメータは、システム性能の一態様を改善すべく変
更されると、典型的には、システムの他の特性を悪化さ
せてしまう。かくして、システム信頼性を低くすれば、
必要な予備ディスクドライブがより少なくなり、そして
システム故障率がより高くなる。すなわちデータロスが
より頻繁となる。ユーザは、周期的な修復間隔を減少さ
せることができる。これによって、ディスクドライブメ
モリにおいて必要な予備ディスクドライブの数は減少す
るが、しかし、保守費用は増大する。同様に、ディスク
ドライブメモリのデータ記憶容量についての要件を減少
させれば、活性状態のディスクドライブの数が減少する
ため、必要な予備ディスクドライブはより少なくなる。
ディスクドライブメモリのデータ記憶容量と、固定され
た信頼性のために必要な予備ディスクドライブの数と、
の間には、ほぼ線形の関係がある。他の可変な特性は、
冗長グループのサイズである。冗長グループのサイズが
大きくなるにつれて、ディスクドライブのオーバヘッド
は小さくなる。なぜならば、所与のデータ記憶容量のた
めに必要なグループがより少なくなり、またM個の冗長
ディスクドライブが、1グループにつき、そのサイズに
かかわらず必要となるからである。大きな冗長グループ
からの瞬間的なデータ転送速度は、並列に動作するディ
スクドライブの数が大きいため、より大きなものとな
る。しかしながら、より大きなグループサイズは、1よ
り多くのディスクドライブが同時に故障する確率が増大
するという事実により、予備スワッププロセスの信頼性
を減少させる。これはまた、ディスクドライブ上でデー
タの同時シークを行う可能性のある、別個の物理アクチ
ュエータの数を減少させる。
データ冗長アーキテクチャ エラー検出および訂正機能を達成するために、このデ
ィスクメモリシステムにおいて使用可能な、数多くのデ
ータ冗長アレンジメントが存在する。最も簡単なアレン
ジメントは、M個の冗長ビットとしてのシングルパリテ
ィビットの使用である。このアレンジメントは、ディス
クドライブ自己チェック能力とともに、シングルビット
エラーを識別および訂正する能力を提供する。よく知ら
れたリード−ソロモン(Reed−Solomon)・コードのよ
うな、マルチビット・エラーコードの使用は、付加的な
エラー検出および訂正能力を提供する。検出および訂正
可能なビットエラーの数は、各Nビット・データワード
に関して生成された冗長ビットの数(M)の関数であ
る。さらに、M個の冗長セグメントは、シングル・エラ
ーコードのみを表す必要はなく、少なくとも2つの独立
したエラーコード、または相互依存したエラーコードと
成りえる。係るアレンジメントの例は、M個の冗長セグ
メントにおけるリード−ソロモン・エラーコードの少な
くとも1ビットの使用であり、ついで、そのリード−ソ
ロモン・エラーコードおよび関連するN個のデータセグ
メントは、パリティ・セグメントあるいは他のリード−
ソロモン・エラーコードを計算するために使用される。
それ故、該エラーコードは、より大きなエラー検出およ
び訂正能力を提供すべく、ネストさせることができる。
図5は、フロー図形式で、典型的なデータ冗長セグメ
ント生成アレンジメントを例示する。制御プロセッサ30
1は、データファイルのセグメント化およびデータ冗長
生成機能を実行し、この記述を目的として、図5のプロ
セスは制御プロセッサ301において複数のサブルーチン
の形で遂行される、と仮定する。ステップ501におい
て、制御プロセッサ301は、変数Nの値を選択し、受信
ファイルをセグメント化するためのセグメントの数を決
定する。N用に選択された値は、入力データワードの
幅、あるいは他の定義可能な測定可能またはパラメー
タ、の関数とすることができる。次の受信データブロッ
クのためのNを定義するために、ステップ501において
制御プロセッサ301により決定プロセスが実行される。
ステップ502において、制御プロセッサ301は、受信デー
タブロックをサイズの等しいN個のセグメントに分割す
る。ステップ503において、制御プロセッサ301は、デー
タ冗長セグメント生成プロセスを開始する。該データ冗
長オペレーションは、複数のエラー検出および訂正ビッ
トが生成される単一プロセスとすることができるか、あ
るいは、1つのプロセスが他のプロセスにネストするよ
うな、相互関係のある2以上のデータ冗長プロセスとす
ることができる。ネストするプロセスのアーキテクチャ
は、図5に開示される。
ステップ503において、制御プロセッサ301は、エラー
検出および訂正コードを使用して、N個のデータセグメ
ントから、I個のデータ冗長セグメントを生成すること
によって、ネステッドデータ冗長セグメント生成プロセ
スを開始する。典型的なマルチビットエラー検出および
訂正コードは、リード−ソロモン・エラーコードであ
る。ステップ503において、制御プロセッサ301は、リー
ド−ソロモン・コードおよびN個のデータセグメントを
使用して、複数(I)のデータ冗長セグメントを生成す
る。ついで、ステップ504において、制御プロセッサ301
は、N個のデータセグメントおよび生成されたI個のデ
ータ冗長セグメントに基づいて、J個のデータ冗長セグ
メント(ここでM=I+J)を生成する。1つのエラー
コード生成プロセスが他のエラーコード生成プロセス内
にネストすることは、該N個のデータ記憶ディスクドラ
イブに記憶されたデータのための、付加的をエラー保護
を提供する。第2のデータ冗長セグメント生成プロセス
は、単純なパリティセグメント生成(ここでJ=1)と
することが可能である。ステップ505において、制御プ
ロセッサ301は、2つのデータ冗長セグメントを連結
し、M個のデータ冗長セグメントを形成する。ステップ
506において、制御プロセッサ301は、所望のデータ冗長
グループ内のN+M個のディスクドライブ上に、N個の
データセグメントおよびM個のデータ冗長セグメントを
書き込む。
本発明の特定の実施例を開示したが、この特定の実施
例とは異なるが、請求の範囲内にある他の実施例を、当
業者が設計可能であることが期待される。
フロントページの続き (72)発明者 ウォルシュ,ロバート アメリカ合衆国,コロラド,80303,ブ ールダー,バッサー ドライブ 2300 (72)発明者 ボワーズ,ジョン ヘンリー アメリカ合衆国,ニュージャージィー 08510,クラークスバーグ,ピー.オー. ボックス 401 (72)発明者 ルードシール,ジョージ アーサー アメリカ合衆国,コロラド 80304,ブ ールダー,クインス アベニュ 1083 (56)参考文献 特開 平2−90254(JP,A) 特開 平1−286176(JP,A) 特表 平2−500228(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06 304 G06F 11/16 310

Claims (32)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の関連データ処理システム用のデータ
    ファイルを格納するディスクメモリシステムであって、 複数のディスクドライブと、 各グループが少なくとも2つのディスクドライブからな
    る少なくとも2つの冗長グループと、該複数のディスク
    ドライブのサブセットを割り当てる割り当て手段と、 該冗長グルームの一つを選択するために、該複数の関連
    データ処理システムから前記ディスクメモリシステムに
    送信されるデータファイルの受信に応答し、該ディスク
    メモリシステムに送信された該データファイルをそこに
    格納する手段と、 送信された該データファイルと、送信された該データフ
    ァイルに関連した冗長データとを複数のセグメントに分
    割し、選択された前記冗長グループ内の前記少なくとも
    2つのディスクドライブにまたがって書き込む書込み手
    段と、 該冗長グループにより共通に分割されたバックアップ・
    ディスクドライブとして該複数のディスクドライブの少
    なくとも1つをリザーブする手段と、 機能上欠陥のある該サブセットにおいて該少なくとも2
    つのディスクドライブの1つを識別する手段と、 識別された欠陥ディスクドライブの代わりに該ディスク
    ドライブの1つを切り換え可能に接続する手段と、 を具備することを特徴とするディスクメモリシステム。
  2. 【請求項2】前記の関連した冗長データを使用して、前
    記の識別された欠陥ディスクドライブ上に書かれた該デ
    ータファイルのセグメントを再構成する再構成手段をさ
    らに含む請求の範囲第1項に記載のシステム。
  3. 【請求項3】1つの前記バックアップ・ディスクドライ
    ブ上に、前記再構成手段により再構成された前記データ
    ファイルのセグメントを書き込む手段をさらに含む請求
    の範囲第2項に記載のシステム。
  4. 【請求項4】前記再構成手段は、前記データファイルに
    関連した前記冗長データと、該データファイルの前記複
    数のセグメントとを使用して、前記の識別された欠陥デ
    ィスクドライブ上に書かれた前記データファイルのセグ
    メントを生成する手段を含む請求の範囲第2項に記載の
    システム。
  5. 【請求項5】前記書込み手段は、前記データファイルを
    少なくとも2つのセグメントに分割する手段と、分割さ
    れた前記データファイルに対する冗長データを生成する
    生成手段とを含む請求の範囲1項に記載のシステム。
  6. 【請求項6】前記書込み手段は、前記ディスクメモリシ
    ステムに送信された前記データファイルの前記セグメン
    トの各々、および前記冗長データを、前記の選択された
    冗長グループにおける前記少なくとも2つのディスクド
    ライブ中の異なる一つに書き込む手段を含む請求の範囲
    第5項に記載のシステム
  7. 【請求項7】前記生成手段は、送信された前記データフ
    ァイルのn個のセグメントの各々についてm個の冗長セ
    グメントを生成するためのマルチビット・エラーコード
    を生成する手段を含む請求の範囲第5項に記載のシステ
    ム。
  8. 【請求項8】前記生成手段は、 送信された前記データファイルの前記n個のセグメント
    について少なくとも1つの冗長セグメントを生成する手
    段と、 生成された前記少なくとも1つの冗長セグメントと組み
    合わせられた前記の送信されたデータファイルの前記n
    個のセグメントについて少なくとも1つの冗長セグメン
    トを生成する手段とをさらに含む請求の範囲第7項に記
    載のシステム。
  9. 【請求項9】前記セグメントの1つがパリティセグメン
    トである請求の範囲第7項に記載のシステム。
  10. 【請求項10】前記m個の冗長セグメントの少なくとも
    2つが、マルチビット・エラー検出およびエラー訂正コ
    ードである請求の範囲第7項に記載のシステム。
  11. 【請求項11】前記データファイルと、選択された前記
    冗長グループにおける少なくとも2つのディスクドライ
    ブとの対応を示すデータを保持する手段をさらに含む請
    求の範囲第1項に記載のシステム。
  12. 【請求項12】前記データファイルのセグメントを再構
    成するために、前記複数の関連データ処理装置の1つか
    らの前記データファイルの要求に応答する手段をさらに
    含む請求の範囲第1項に記載のシステム。
  13. 【請求項13】再構成された前記データファイルを前記
    複数の関連データ処理装置の1つに送信するために、前
    記再構成手段に応答する手段をさらに含む請求の範囲第
    2項に記載のシステム。
  14. 【請求項14】前記割り当て手段が、 少なくとも2つの異なる冗長グループのサイズを選択す
    る手段と、 該冗長グループの各々のサイズを示すデータを記憶する
    手段とを含む請求の範囲第1項に記載のシステム。
  15. 【請求項15】u個の前記複数のディスクドライブをデ
    ータ用のディスクドライブ、冗長用のディスクドライ
    ブ、またはバックアップ・ディスクドライブに割り当て
    ないままに維持する維持手段をさらに含み、ここでuは
    正の整数である請求の範囲第1項に記載のシステム。
  16. 【請求項16】前記維持手段が、前記u個の未割り当て
    のディスクドライブの電源を断とする手段を含む請求の
    範囲第15項に記載のシステム。
  17. 【請求項17】複数のディスクドライブを含む関連ディ
    スクメモリシステム上のデータ処理装置にデータファイ
    ルを格納する方法であって、 各グループが少なくとも2つのディスクドライブからな
    る少なくとも2つの冗長グループに、前記複数のディス
    クドライブのサブセットを割り当てる段階と、 前記データ処理装置から前記ディスクメモリシステムの
    前記データファイルの送信に応答して、送信した前記デ
    ータファイルを格納するために前記冗長グループの1つ
    を選択する段階と、 選択された該冗長グループの少なくとも2つのディスク
    ドライブにまたがって、送信された前記データファイ
    ル、および送信された前記データファイルに関連した冗
    長データを書き込む段階と、 前記冗長グループにより共通に分割されたバックアップ
    ・ディスクドライブとして前記複数のディスクドライブ
    の少なくとも1つをリザーブする段階と、 機能上欠陥のある前記サブセットにおいて前記ディスク
    ドライブの1つを識別する段階と、 識別された欠陥ディスクドライブの代わりに前記ディス
    クドライブの1つを切り換え可能に接続する段階とを有
    することを特徴とする、データ処理装置にデータファイ
    ルを格納する方法。
  18. 【請求項18】前記データファイルに関連した冗長デー
    タを使用して、前記の識別された欠陥ディスクドライブ
    上に書かれた前記データファイルのセグメントを再構成
    する段階をさらに含む請求の範囲第17項に記載の方法。
  19. 【請求項19】1つの前記バックアップディスクドライ
    ブ上に、前記データファイルの再構成された前記セグメ
    ントを書き込む段階をさらに含む請求の範囲第18項に記
    載の方法。
  20. 【請求項20】前記セグメントを再構成する段階は、前
    記データファイルに関連した前記冗長データと、該デー
    タファイルの前記複数のセグメントとを使用して、前記
    の識別された欠陥ディスクドライブ上に書かれた前記デ
    ータファイルのセグメントを生成する段階をさらに含む
    請求の範囲第18項に記載の方法。
  21. 【請求項21】前記冗長データを書き込む段階は、前記
    データファイルを少なくとも2つのセグメントに分割
    し、分割された前記データファイルに対する冗長データ
    を生成する段階をさらに含む請求の範囲第18項に記載の
    方法。
  22. 【請求項22】前記セグメントおよび冗長データを書き
    込む段階は、前記ディスクメモリシステムに送信された
    前記データファイルの前記セグメントの各々、および前
    記冗長データを、前記の選択された冗長グループにおけ
    る前記少なくとも2つのディスクドライブ中の異なる一
    つに書き込む段階をさらに含む請求の範囲第21項に記載
    の方法。
  23. 【請求項23】前記冗長データを生成する段階は、送信
    された前記データファイルのn個のセグメントの各々に
    ついてm個の冗長セグメントを生成するためのマルチビ
    ット・エラーコードを生成する段階をさらに含む請求の
    範囲第21項に記載の方法。
  24. 【請求項24】前記マルチビット・エラーコードを生成
    する段階は、 送信された前記データファイルの前記n個のセグメント
    について少なくとも1つの冗長セグメントを生成する段
    階と、 生成された前記少なくとも1つの冗長セグメントと組み
    合わせられた前記の送信されたデータファイルの前記n
    個のセグメントについて少なくとも1つの冗長セグメン
    トを生成する段階とを含む請求の範囲第23項に記載の方
    法。
  25. 【請求項25】前記冗長セグメントの1つがパリティセ
    グメントである請求の範囲第23項に記載の方法。
  26. 【請求項26】m個の冗長セグメントの少なくとも2つ
    が、マルチビット・エラー検出およびエラー訂正コード
    である請求の範囲第23項に記載の方法。
  27. 【請求項27】前記データファイルと、選択された前記
    冗長グループにおける少なくとも2つのディスクドライ
    ブとの対応を示すデータを保持する段階をさらに含む請
    求の範囲第17項に記載の方法。
  28. 【請求項28】前記複数の関連データ処理装置の1つか
    らの前記データファイルの要求に応答して、前記データ
    ファイルのセグメントを集結させる段階をさらに含む請
    求の範囲第17項に記載の方法。
  29. 【請求項29】集結された前記データファイルのセグメ
    ントを前記複数の関連データ処理装置の1つに送信する
    段階をさらに含む請求の範囲第28項に記載の方法。
  30. 【請求項30】前記サブセットを割り当てる段階は、 少なくとも2つの異なる冗長グループのサイズを選択す
    る段階と、 該冗長グループの各々のサイズを示すデータを記憶する
    手段とを含む請求の範囲第17項に記載の方法。
  31. 【請求項31】u個の前記複数のディスクドライブをデ
    ータ用のディスクドライブ、冗長用のディスクドライ
    ブ、またはバックアップ・ディスクドライブに割り当て
    ないままに維持する段階をさらに含み、ここでuは正の
    整数である請求の範囲第17項に記載の方法。
  32. 【請求項32】前記の維持する段階が、前記u個の未割
    り当てのディスクドライブの電源を断とする段階を含む
    請求の範囲第31項に記載の方法。
JP50452791A 1990-02-13 1991-02-05 ディスクドライブメモリ Expired - Fee Related JP3269552B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/480,019 US5077736A (en) 1988-06-28 1990-02-13 Disk drive memory
US480,019 1990-02-13

Publications (2)

Publication Number Publication Date
JPH05504431A JPH05504431A (ja) 1993-07-08
JP3269552B2 true JP3269552B2 (ja) 2002-03-25

Family

ID=23906347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50452791A Expired - Fee Related JP3269552B2 (ja) 1990-02-13 1991-02-05 ディスクドライブメモリ

Country Status (9)

Country Link
US (1) US5077736A (ja)
EP (1) EP0515499B1 (ja)
JP (1) JP3269552B2 (ja)
AT (1) ATE182714T1 (ja)
AU (1) AU645064B2 (ja)
CA (1) CA2075934A1 (ja)
DE (1) DE69131480T2 (ja)
ES (1) ES2133282T3 (ja)
WO (1) WO1991012577A1 (ja)

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112287A (en) * 1993-03-01 2000-08-29 Busless Computers Sarl Shared memory multiprocessor system using a set of serial links as processors-memory switch
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
US5185746A (en) * 1989-04-14 1993-02-09 Mitsubishi Denki Kabushiki Kaisha Optical recording system with error correction and data recording distributed across multiple disk drives
JPH03194774A (ja) * 1989-12-25 1991-08-26 Hitachi Ltd 外部記憶装置の不良ブロック交替処理方式
FR2656753B1 (fr) * 1989-12-29 1992-03-20 Europ Rech Electr Lab Procede de liaison des donnees lors de l'enregistrement de donnees codees sur un disque optique du type enregistrable.
JPH0786810B2 (ja) * 1990-02-16 1995-09-20 富士通株式会社 アレイディスク装置
US5428802A (en) * 1990-05-16 1995-06-27 International Business Machines Corporation Method and apparatus for executing critical disk access commands
US5263145A (en) * 1990-05-24 1993-11-16 International Business Machines Corporation Method and means for accessing DASD arrays with tuned data transfer rate and concurrency
DE69127433T2 (de) * 1990-09-20 1998-01-02 Fujitsu Ltd Eingang-ausgangsteuerungseinrichtung
US5293498A (en) * 1990-09-28 1994-03-08 Fujitsu Limited Arrangement of designation of drive element number using mother boards
US5146588A (en) * 1990-11-26 1992-09-08 Storage Technology Corporation Redundancy accumulator for disk drive array memory
US5265104A (en) * 1990-11-26 1993-11-23 Digital Equipment Corp. Data storage system including redundant storage devices
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5359611A (en) * 1990-12-14 1994-10-25 Dell Usa, L.P. Method and apparatus for reducing partial write latency in redundant disk arrays
WO1992014208A1 (en) * 1991-02-06 1992-08-20 Storage Technology Corporation Disk drive array memory system using nonuniform disk drives
US5257362A (en) * 1991-03-08 1993-10-26 International Business Machines Corporation Method and means for ensuring single pass small read/write access to variable length records stored on selected DASDs in a DASD array
US5506979A (en) * 1991-04-02 1996-04-09 International Business Machines Corporation Method and means for execution of commands accessing variable length records stored on fixed block formatted DASDS of an N+2 DASD synchronous array
US5239659A (en) * 1991-06-19 1993-08-24 Storage Technology Corporation Phantom duplex copy group apparatus for a disk drive array data storge subsystem
US5287462A (en) * 1991-12-20 1994-02-15 Ncr Corporation Bufferless SCSI to SCSI data transfer scheme for disk array applications
JP3160106B2 (ja) * 1991-12-23 2001-04-23 ヒュンダイ エレクトロニクス アメリカ ディスクアレーの区分け方法
JP2849271B2 (ja) * 1992-05-06 1999-01-20 富士通株式会社 ディスク装置
US5404361A (en) * 1992-07-27 1995-04-04 Storage Technology Corporation Method and apparatus for ensuring data integrity in a dynamically mapped data storage subsystem
US5315701A (en) * 1992-08-07 1994-05-24 International Business Machines Corporation Method and system for processing graphics data streams utilizing scalable processing nodes
US5666511A (en) * 1992-10-08 1997-09-09 Fujitsu Limited Deadlock suppressing schemes in a raid system
US5581724A (en) * 1992-10-19 1996-12-03 Storage Technology Corporation Dynamically mapped data storage subsystem having multiple open destage cylinders and method of managing that subsystem
US5423046A (en) * 1992-12-17 1995-06-06 International Business Machines Corporation High capacity data storage system using disk array
JP3200500B2 (ja) * 1993-05-27 2001-08-20 株式会社日立製作所 ディスク装置及びディスク制御方法
US5867640A (en) * 1993-06-01 1999-02-02 Mti Technology Corp. Apparatus and method for improving write-throughput in a redundant array of mass storage devices
US5596727A (en) * 1993-06-02 1997-01-21 Lucent Technologies Inc. Arrangement for expanding the device capacity of a bus
US5668976A (en) * 1993-11-04 1997-09-16 Cirrus Logic, Inc. Error correction method and apparatus for disk drive emulator
EP0660236B1 (en) * 1993-11-30 1999-06-09 Hitachi, Ltd. Disc array system having disc storage devices dispersed on plural boards and accessible at withdrawal of part of the boards
JP3161189B2 (ja) * 1993-12-03 2001-04-25 株式会社日立製作所 記憶システム
US6003071A (en) * 1994-01-21 1999-12-14 Sony Corporation Image data transmission apparatus using time slots
JP3176207B2 (ja) * 1994-01-26 2001-06-11 ブラザー工業株式会社 映像再生装置
US5566316A (en) * 1994-02-10 1996-10-15 Storage Technology Corporation Method and apparatus for hierarchical management of data storage elements in an array storage device
US5778167A (en) * 1994-06-14 1998-07-07 Emc Corporation System and method for reassigning a storage location for reconstructed data on a persistent medium storage system
US5524204A (en) * 1994-11-03 1996-06-04 International Business Machines Corporation Method and apparatus for dynamically expanding a redundant array of disk drives
JPH08202506A (ja) * 1995-01-30 1996-08-09 Fujitsu Ltd データ転送制御装置及びデータ転送制御方法
US5867642A (en) * 1995-08-10 1999-02-02 Dell Usa, L.P. System and method to coherently and dynamically remap an at-risk memory area by simultaneously writing two memory areas
EP0843856A1 (de) * 1995-08-11 1998-05-27 Siemens Nixdorf Informationssysteme AG Anordnung zum anschluss peripherer speichergeräte
US5729763A (en) * 1995-08-15 1998-03-17 Emc Corporation Data storage system
US6334195B1 (en) 1995-12-29 2001-12-25 Lsi Logic Corporation Use of hot spare drives to boost performance during nominal raid operation
US6374329B1 (en) * 1996-02-20 2002-04-16 Intergraph Corporation High-availability super server
US5987506A (en) * 1996-11-22 1999-11-16 Mangosoft Corporation Remote access and geographically distributed computers in a globally addressable storage environment
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US7136903B1 (en) 1996-11-22 2006-11-14 Mangosoft Intellectual Property, Inc. Internet-based shared file service with native PC client access and semantics and distributed access control
US5909540A (en) * 1996-11-22 1999-06-01 Mangosoft Corporation System and method for providing highly available data storage using globally addressable memory
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
JP3595099B2 (ja) * 1997-03-17 2004-12-02 富士通株式会社 デバイスアレイ・システム
JP3228182B2 (ja) 1997-05-29 2001-11-12 株式会社日立製作所 記憶システム及び記憶システムへのアクセス方法
US6058454A (en) * 1997-06-09 2000-05-02 International Business Machines Corporation Method and system for automatically configuring redundant arrays of disk memory devices
FR2771225B1 (fr) * 1997-11-20 1999-12-24 Bull Sa Protection contre les defauts electriques dans un systeme de stockage de donnees
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6061753A (en) * 1998-01-27 2000-05-09 Emc Corporation Apparatus and method of accessing target devices across a bus utilizing initiator identifiers
JP4294142B2 (ja) 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US7093182B2 (en) * 1999-08-02 2006-08-15 Inostor Corporation Data redundancy methods and apparatus
JP2001167040A (ja) * 1999-12-14 2001-06-22 Hitachi Ltd 記憶サブシステム及び記憶制御装置
JP4651230B2 (ja) 2001-07-13 2011-03-16 株式会社日立製作所 記憶システム及び論理ユニットへのアクセス制御方法
US7657727B2 (en) * 2000-01-14 2010-02-02 Hitachi, Ltd. Security for logical unit in storage subsystem
US6684209B1 (en) * 2000-01-14 2004-01-27 Hitachi, Ltd. Security method and system for storage subsystem
GB2359385B (en) * 2000-02-16 2004-04-07 Data Connection Ltd Method for upgrading running software processes without compromising fault-tolerance
JP4719957B2 (ja) * 2000-05-24 2011-07-06 株式会社日立製作所 記憶制御装置及び記憶システム並びに記憶システムのセキュリティ設定方法
US7196862B1 (en) * 2000-09-11 2007-03-27 Maxtor Corporation Coherent phase data segment layout in data storage device
US6816982B2 (en) * 2001-03-13 2004-11-09 Gonen Ravid Method of and apparatus for computer hard disk drive protection and recovery
US7162668B2 (en) * 2001-04-19 2007-01-09 Micron Technology, Inc. Memory with element redundancy
US6865702B2 (en) * 2001-04-09 2005-03-08 Micron Technology, Inc. Synchronous flash memory with test code input
US7640465B2 (en) * 2001-04-19 2009-12-29 Micron Technology, Inc. Memory with element redundancy
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
US6967804B1 (en) * 2001-11-30 2005-11-22 Western Digital Technologies, Inc. Shock event error logging in a disk drive
US7613984B2 (en) 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US7640484B2 (en) 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
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
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
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7200715B2 (en) * 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US6996752B2 (en) * 2002-05-13 2006-02-07 Lsi Logic Corporation System, method, and computer program product within a data processing system for converting a spare storage device to a defined storage device in a logical volume
US20030217305A1 (en) * 2002-05-14 2003-11-20 Krehbiel Stanley E. System, method, and computer program product within a data processing system for assigning an unused, unassigned storage device as a replacement device
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
US7174486B2 (en) * 2002-11-22 2007-02-06 International Business Machines Corporation Automation of fuse compression for an ASIC design system
US7032086B2 (en) * 2003-02-28 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for adjusting storage device layout with at least one status for the adjusting
JP2004272527A (ja) * 2003-03-07 2004-09-30 Hitachi Ltd ディスクアレイ装置および障害回復制御方法
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
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
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
US7328305B2 (en) * 2003-11-03 2008-02-05 Network Appliance, Inc. Dynamic parity distribution technique
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
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
JP4400913B2 (ja) * 2003-11-26 2010-01-20 株式会社日立製作所 ディスクアレイ装置
JP4454299B2 (ja) * 2003-12-15 2010-04-21 株式会社日立製作所 ディスクアレイ装置及びディスクアレイ装置の保守方法
US7533292B2 (en) * 2004-07-15 2009-05-12 International Business Machines Corporation Management method for spare disk drives in a raid system
US7873782B2 (en) 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
AU2005304759B2 (en) 2004-11-05 2012-05-17 Drobo, Inc. Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method
US7383406B2 (en) * 2004-11-19 2008-06-03 International Business Machines Corporation Application transparent autonomic availability on a storage area network aware file system
US7464124B2 (en) * 2004-11-19 2008-12-09 International Business Machines Corporation Method for autonomic data caching and copying on a storage area network aware file system using copy services
US7457930B2 (en) * 2004-11-19 2008-11-25 International Business Machines Corporation Method for application transparent autonomic data replication improving access performance for a storage area network aware file 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
US7258381B2 (en) * 2005-05-23 2007-08-21 International Automotive Components Group North America, Inc. Modular vehicle interior component system and release latch mechanism for use with the system
US20070006048A1 (en) * 2005-06-29 2007-01-04 Intel Corporation Method and apparatus for predicting memory failure in a memory system
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
US20070283223A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with all checkbits transferred last
US20070283207A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus timing improvements
US20070283208A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features
US7721178B2 (en) * 2006-06-01 2010-05-18 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code
US8046629B1 (en) * 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) 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
JP2008197886A (ja) * 2007-02-13 2008-08-28 Nec Corp ストレージ装置及びその制御方法
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
US20090198928A1 (en) * 2008-02-04 2009-08-06 General Electric Company Method and system for providing data backup to multiple storage media
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
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
US10101913B2 (en) * 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10002039B2 (en) * 2015-10-29 2018-06-19 At&T Intellectual Property I, L.P. Predicting the reliability of large scale storage systems
US10303572B2 (en) * 2017-01-23 2019-05-28 Wipro Limited Methods and systems for improving fault tolerance in storage area network

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4467421A (en) * 1979-10-18 1984-08-21 Storage Technology Corporation Virtual storage system and method
US4825403A (en) * 1983-05-16 1989-04-25 Data General Corporation Apparatus guaranteeing that a controller in a disk drive system receives at least some data from an invalid track sector
FR2561428B1 (fr) * 1984-03-16 1986-09-12 Bull Sa Procede d'enregistrement dans une memoire a disques et systeme de memoire a disques
US4667326A (en) * 1984-12-20 1987-05-19 Advanced Micro Devices, Inc. Method and apparatus for error detection and correction in systems comprising floppy and/or hard disk drives
US4722085A (en) * 1986-02-03 1988-01-26 Unisys Corp. High capacity disk storage system having unusually high fault tolerance level and bandpass
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4870643A (en) * 1987-11-06 1989-09-26 Micropolis Corporation Parallel drive array storage system
US4993030A (en) * 1988-04-22 1991-02-12 Amdahl Corporation File system for a plurality of storage classes
US4914656A (en) * 1988-06-28 1990-04-03 Storage Technology Corporation Disk drive memory
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method

Also Published As

Publication number Publication date
CA2075934A1 (en) 1991-08-14
DE69131480T2 (de) 2000-01-20
ES2133282T3 (es) 1999-09-16
EP0515499B1 (en) 1999-07-28
US5077736A (en) 1991-12-31
ATE182714T1 (de) 1999-08-15
AU645064B2 (en) 1994-01-06
WO1991012577A1 (en) 1991-08-22
EP0515499A4 (ja) 1994-02-16
JPH05504431A (ja) 1993-07-08
EP0515499A1 (en) 1992-12-02
DE69131480D1 (de) 1999-09-02
AU7303591A (en) 1991-09-03

Similar Documents

Publication Publication Date Title
JP3269552B2 (ja) ディスクドライブメモリ
JP2831072B2 (ja) ディスクドライブメモリ
US4989206A (en) Disk drive memory
US4989205A (en) Disk drive memory
US5566316A (en) Method and apparatus for hierarchical management of data storage elements in an array storage device
JP3742494B2 (ja) 大容量記憶装置
US6154853A (en) Method and apparatus for dynamic sparing in a RAID storage system
EP0526487B1 (en) Logical track write scheduling system for a parallel disk drive array data storage subsystem
CN111480148A (zh) 具有对等数据恢复的存储系统
EP0936534A2 (en) Recording device
US5007053A (en) Method and apparatus for checksum address generation in a fail-safe modular memory
JPH0731579B2 (ja) Dasdアレイの階層を管理する方法および装置
US20040037120A1 (en) Storage system using fast storage devices for storing redundant data
US7523257B2 (en) Method of managing raid level bad blocks in a networked storage system
JP2006252126A (ja) ディスクアレイ装置及びその再構築方法
US20050193273A1 (en) Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system
JPH07261945A (ja) ディスクアレイ装置およびディスクアレイの区分け方法
JPH06119125A (ja) ディスクアレイ装置
JP2004164675A (ja) ディスクアレイ装置
JP3699797B2 (ja) ディスクアレイ装置
JP2857289B2 (ja) ディスクアレイ装置
GB2298308A (en) A disk storage array with a spiralling distribution of redundancy data

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: 20080118

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090118

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees