JPH08235754A - 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム - Google Patents

高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム

Info

Publication number
JPH08235754A
JPH08235754A JP7328698A JP32869895A JPH08235754A JP H08235754 A JPH08235754 A JP H08235754A JP 7328698 A JP7328698 A JP 7328698A JP 32869895 A JP32869895 A JP 32869895A JP H08235754 A JPH08235754 A JP H08235754A
Authority
JP
Japan
Prior art keywords
parity
high speed
local bus
disk array
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7328698A
Other languages
English (en)
Other versions
JP3850478B2 (ja
Inventor
John W Stewart
ダブリュー.スチュワート ジョン
Dennis E Gates
イー.ゲイツ デニス
Rodney A Dekoning
エイ.デコニング ロドニー
Curtis W Rink
ダブリュー.リンク カーティス
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.)
LSI Logic FSI Corp
Original Assignee
Symbios Logic Inc
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 Symbios Logic Inc filed Critical Symbios Logic Inc
Publication of JPH08235754A publication Critical patent/JPH08235754A/ja
Application granted granted Critical
Publication of JP3850478B2 publication Critical patent/JP3850478B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

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

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】 高性能パリティ機能をもつディスクアレイ格
納システムを与える。 【解決手段】 専用ローカルメモリは2重ポートを有す
るので、PCIとパリティオペレーションとが同時的に
動作し得る。本ディスクアレイコントローラのアーキテ
クチャーは、コントローラプロセッサあるいはそのメモ
リと干渉することなく、パリティ計算およびメモリブロ
ック移動を進行させることができる。その結果、コント
ローラプロセッサが解放され、コントローラプロセッサ
はアレイタスクコントロールを管理することができる。
本アレイコントローラの形態により、格納I/Oデバイ
スとローカルメモリ間のデータブロック移動、ホストS
CSI接続部とローカルメモリとの間のデータブロック
移動、パリティ計算、および正規CPUメモリフェッ
チ、ブロック移動を行うための順待ちオペレーション、
およびパリティタスクを行うための順待ちオペレーショ
ンを同時的に実行することが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はディスクアレイ格納シス
テムに関し、特に、優れた性能をもち、同時的なデータ
移動およびパリティ計算の実行ができるハードウェア型
ディスクアレイコントローラに関する。
【0002】
【従来の技術】ライド(RAID)格納システムと呼ば
れる、廉価なディスクの冗長型アレイ(Redundant Arra
y of Inexpensive Disks, RAID)は、ホストコンピュー
ターシステムには単一の大きなディスクドライブとして
見えるディスクドライブの集合体である。加えて、ディ
スク格納装置の容量の一部は、それ以外の容量部に格納
されたユーザーデータについての冗長情報(redundant
information)を格納するために利用される。万一アレ
イディスクメンバー(array disk member)が故障した
ときでも、この冗長情報によって、ディスクアレイはデ
ータを失うことなく機能し続けることができ、かつ、故
障メンバーにとって代わるアレイディスクドライブメン
バー上にデータを再生させることができる。
【0003】1987年12月にカリフォルニア大学か
ら発行されたデイビッド・エイ・パターソン、ガース・
ギブソンおよびランディー・エイチ・カッツ共著の「廉
価なディスクの冗長型アレイの一例」と題する記事(N
o.UCB/CSD 87/391)にはいくつかのラ
イドディスクアレイの設計例が掲載されている。ここに
引用する上記記事は、ディスクアレイおよびそれらの性
能、信頼性、電力消費量およびスケーラビリティ(scal
eability, 縮小拡張性)の改良について、単一の大型磁
気ディスクと比較して論じている。
【0004】この記事には5種類のディスクアレイ構成
が記載されている。第一レベルのライドは、データ格納
のためのN個のディスクと、これらのデータディスクに
書き込まれた情報のコピーを格納するための別のN個の
「ミラー」ディスクとを含んでいる。ライドレベル1の
書込み機能は、2つのディスクへのデータの書き込み
と、第2「ミラー」ディスクによる冗長情報(すなわち
第一ディスクに与えられたものと同一の情報)の受信と
を必要とする。データの読み取りでは、いずれのディス
クからでもデータを読み取ることができる。
【0005】ライドレベル3のシステムは、N+1個の
ディスクからなるグループを1つ以上含む。各グループ
内で、データの格納にN個のディスクが使用され、もう
一つのディスクが冗長情報(すなわちパリティ情報)の
格納に利用される。ライドレベル3の書込み機能では、
各データブロックはこれをN個のデータディスクにまた
がって格納すべくN個の部分に分割される。それに対応
するパリティ情報は、N個のデータディスクに書き込ま
れたデータと専用パリティディスクに書き込まれたデー
タとの排他的OR積を決定することにより計算される。
データが読み取られるときは、すべてのN個のデータデ
ィスクがアクセスされなければならない。パリティディ
スクはディスクが故障したときに情報を再構築するのに
使用される。
【0006】ライドレベル2のシステムは上記のライド
レベル3のシステムに類似であるが、ディスクドライブ
の故障を同定するための付加的な冗長ディスクを含む。
【0007】ライドレベル4のシステムもまたN+1個
のディスクからなるグループを1つ以上含むが、この場
合、N個のディスクはデータの格納に使用され、付加的
ディスクはパリティ情報の格納に利用される。ライドレ
ベル4のシステムは、保存すべきデータを複数のディス
クにまたがって格納するにあたり、データが1つ以上の
データブロックからなるより大きな部分に分割される点
で、ライドレベル3のシステムと異なる。書込みには依
然として二つのディスク、すなわちN個のデータディス
クの1つおよびパリティディスク、にアクセスすること
が必要である。同様にして、読み取りオペレーション
は、読み取るべきデータが各ディスク上に格納されてい
るブロック長を超えない限り、通常はN個のデータディ
スクのうちの一ディスクのみにアクセスすればよい。ラ
イドレベル3システムにおけると同様、パリティディス
クはディスクの故障の際の情報の再構築に使用される。
【0008】ライドレベル5はライドレベル4と類似し
ているが、データに加えてパリティ情報が各グループ内
のN+1個のディスクにまたがって分配される点が異な
る。各グループはN+1個のディスクを含むが、各ディ
スクはいくつかのデータ格納用ブロックと、いくつかの
パリティ情報格納用ブロックを含む。パリティ情報がど
こに格納されているかは、ユーザーが与えるアルゴリズ
ムによって制御される。ライドレベル4システムと同様
に、ライドレベル5の書込みには少なくとも二つのディ
スクへのアクセスが必要である。しかし、一グループへ
の書込であれば、ライドレベル4システムにおけるよう
な専用パリティディスクへのアクセスをもはや必要とし
ない。この特徴は同時的書込みオペレーションを行うの
好都合である。
【0009】ライドレベル3におけるように、ライドレ
ベル4あるいはレベル5のいずれにおいてもまた、N個
のデータドライブにまたがって格納されたデータの対応
部分についてビット毎の排他的OR積(bit-wise exclu
sive-OR)を行うことによりパリティデータを計算する
ことができる。しかしながら、各パリティビットは単に
データドライブからとった対応データビットすべての排
他的OR積であるから、新規パリティは次の方程式を使
って旧データ、旧パリティ、および新規データから容易
に決定できる: 新規パリティ=(旧データ XOR 新規データ)XOR
旧パリティ 上記の方程式に示されたライドレベル4または5に対す
るパリティ計算は、すべてのデータドライブにまたがっ
て格納されたデータの諸部分のビット毎の排他的OR積
を行うよりもはるかに簡単であるが、通常のライドレベ
ル4または5の書込みオペレーションは最小限二つのデ
ィスク読取りと二つのディスク書込みとを必要とする。
二つ以上のデータブロックを含むデータ書込みオペレー
ションには二を超えるディスクの読み取りおよび書込み
が必要である。別個のディスクについて行われる各々の
読み取りオペレーションには、適切なディスクトラック
および読み取るべきセクタへのシーク(seek, 探索)お
よび回転が関与する。それゆえ、全ディスクが対象とな
るシークの時間は各ディスクのシーク時間の最大値であ
る。したがって、ライドレベル4または5のシステム
は、これを単一ディスク格納デバイスあるいはライドレ
ベル1、2または3のシステムと比較するとき、書込み
の負担が顕著になる。
【0010】読み取りおよび書き込み機能を行うために
アレイ内のディスクドライブのオペレーションを統合
し、受信データをアレイディスクドライブメンバー上に
マップ化し、冗長情報を発生・検査し、データの回復・
再構築をするためには、複雑な格納管理技術が必要であ
る。多くの初期ディスクアレイシステムにおいては、こ
れらの複雑な格納管理技術を果たすのに必要なアレイ管
理ソフトウェアはホストコンピューターシステム内で実
行される。したがってホストシステムは、ディスクアレ
イに必要な多くの他の格納管理オペレーションの統合の
みならず、ディスクアレイコントローラとして機能する
とともに冗長情報の発生と検査を行う。
【0011】今日使用されているほとんどのディスクア
レイシステムは、自己完結型(self-contained)であ
り、アレイ管理ソフトウェアを実行するための専用のコ
ントローラを含んでおり、したがってホストシステムを
これらのオペレーションの負担を軽減している。図1に
はディスクアレイシステムの一つの簡単な構成ブロック
図が示してある。このシステムは、ホストコンピュータ
ーシステム12とN個のディスクドライブユニットとの
間のデータ転送を管理するインテリジェントアレイコン
トローラ100を含む。これらのN個のディスクドライ
ブユニットの内の5個が図1でドライブAからドライブ
Eと示されている。このアレイコントローラの中心部
に、周辺コンポーネントインターコネクト(Peripheral
Component Interconnect, PCI)のような高速ローカル
バス102がある。ホストのSCSIインターフェース
104およびSCSIバス14は、ホストコンピュータ
ーシステム12とPCIバス102との間の接続を与え
る。同様にして、ドライブAからドライブEまでの各デ
ィスクドライブは、PCIバス102からSCSIドラ
イブインターフェース(112Aないし112E)およ
び対応するSCSIバス(114Aないし114E)に
接続される。パリティ機能は、パリティ論理回路108
およびローカルメモリ110によって果たされる。これ
らもまたそれぞれPCIバス102に接続される。この
コントローラの諸コンポーネント間の通信および諸コン
ポーネントのオペレーションは、プロセッサメモリ11
8内に常駐するインストラクションに基づいてプロセッ
サ106により制御される。本技術分野の当業者は、図
1に示すアレイコントローラおよびこのコントローラに
含まれる諸コンポーネントの構成とオペレーションを直
ちに理解できよう。
【0012】ライド格納プロセスは、必要なデータ冗長
性(すなわちディスクの故障に続く再構築データ)を創
成するための多くのパリティ計算とデータ移動オペレー
ションとを必要とする。上述した図1のアレイコントロ
ーラアーキテクチャーでは、アレイ書込みオペレーショ
ン期間中の新規パリティ情報の発生あるいはアレイ故障
後の再構築データを発生させるためには、ホストコンピ
ューターシステム12、アレイドライブA いし
ブE、ローカルメモリ110、およびパリティ論理回路
106との間で新規データ、旧データ、再構築データ、
旧パリティ情報、および新規パリティ情報の転送を行う
上でPCIバス102を多用することが必要となる。
【0013】
【発明が解決しようとする課題】それゆえ、本発明の課
題はコントローラの性能を改善する新規かつ有用なディ
スクアレイコントローラのハードウェアアーキテクチャ
ーを与えることである。
【0014】本発明のもう一つの課題は、同時的なデー
タ移動(concurrent data move)およびパリティ計算
と、時間的に独立なタスクの同時的実行とを可能にする
ディスクアレイコントローラアーキテクチャーを与える
ことである。
【0015】本発明のさらに別の課題は、パリティの発
生およびデータ再構築のオペレーションを行うための、
独特のパリティ補助論理回路と専用ローカルメモリとを
含んだディスクアレイコントローラを与えることであ
る。
【0016】本発明のさらに別の課題は、I/Oデバイ
スとローカルメモリ間におけるデータブロックの移動、
ホストシステムとローカルメモリ間のデータブロックの
移動、パリティ計算、正規アレイコントローラプロセッ
サメモリフェッチ(normal array controller processo
r memory fetch)のオペレーションを同時的に行うこと
を可能にする新規かつ有用なディスクアレイコントロー
ラアーキテクチャーを与えることである。
【0017】本発明のさらに別の課題は、ブロック移動
の順待ちオペレーション(queued operation of block
moves)およびパリティタスクの順待ちオペレーション
をも可能にするディスクアレイコントローラアーキテク
チャーを与えることである。
【0018】
【課題を解決するための手段】本発明に基づいて、ホス
トコンピューターシステムから受信したデータを格納す
ると共にホストコンピューターシステムに対して格納済
みデータを与えるためのディスクアレイシステムが提供
される。このディスクアレイシステムは、第一の高速ロ
ーカルバスと、該第一高速ローカルバスを該ホストコン
ピューターシステムに接続するインターフェース回路
と、複数のディスクドライブメンバーと、該複数のディ
スクドライブメンバーを該第一高速ローカルバスに接続
する少なくとも一つのインターフェース回路と、該第一
高速ローカルバスに接続された複数のパリティ補助論理
回路(parity assist logic)と、ローカルメモリ格納
装置(local memory storage)と、該パリティ補助論理
回路を該ローカルメモリ格納装置に接続する第二の高速
ローカルバスと、該第一高速ローカルバスに接続された
コンポーネントのオペレーションを制御すべく、該第一
高速ローカルバスに接続されたプロセッサとを含む。こ
のパリティ補助論理回路は、ディスクアレイ書込みオペ
レーション期間中はパリティデータの計算に必要なデー
タを、該第二高速ローカルバスを介して該ローカルメモ
リに提供するとともに、該ローカルメモリに保存されて
いるデータを操作して該ディスクアレイ書込みオペレー
ション期間中のパリティを決定する。
【0019】ここに記載する実施例では、本パリティ補
助論理回路は、排他的OR論理回路を含んだパリティ計
算用パリティ補助エンジンと、上記第二高速ローカルバ
スを介して上記ローカルメモリに上記パリティ補助エン
ジンを接続する2重ポートメモリインターフェース(du
al ported memory interface)と、上記第一高速ローカ
ルバスに上記2重ポートメモリインターフェースを接続
するインターフェース回路とを有する。この第一ローカ
ルバスは高速PCIバスである。上記の第二バスは2重
ポートメモリインターフェースである。
【0020】このアレイコントローラアーキテクチャー
は縮小拡張が可能であって、ライドモード0、3、4、
および5をサポートしている。このアーキテクチャー
は、高帯域パリティ計算エンジン(high bandwidth par
ity calculation engine)と、上記高速PCIローカル
バスの速度に等しい速度(以下、全速という)で動作す
るバッファ付きPCIインターフェースとを含むという
特徴を有する。このアーキテクチャーは、多重タスクが
実行されるときにタスクが順待ちできるよう、多重プロ
セッシングを行うという特徴を有する。さらにこのアー
キテクチャーは、128MBまでの別のローカルRAM
メモリのブロックをPCIバスに付加する途を与える。
この付加的ローカルメモリは、PCIオペレーションお
よびパリティオペレーションが同時的に進行しうるよう
に、2重ポート化されている。
【0021】本発明に関する上記その他の課題、特徴お
よび利 を、添付の図面を参照しながら実施例を通して
説明する。
【0022】
【実施例】図2に示すディスクアレイシステムは、図1
に示して上述したコンポーネントの多くを含む。これら
のコントローラアーキテクチャーおよびアレイシステム
に共通するコンポーネントについては、図1および図2
で共通の参照番号を付してある。図1および図2に示す
システムは、共通のコンポーネントとして、高速PCI
バス102、ホストSCSIインターフェース104、
SCSIバス14、SCSIドライブインターフェース
112Aないし112E、SCSIバス114Aないし
114E、デスクドライブメンバ イブA いしE
プロセッサ106、およびプロセッサメモリ118を
含む。
【0023】しかしながら、図2に示すアレイコントロ
ーラアーキテクチャーは、パリティの発生とPCIバス
102から受信したデータの再構築とに利用されるパリ
ティ論理回路およびローカルメモリとが除去されている
ため、既知アレイコントローラアーキテクチャーより優
れている。図2に示すコントローラアーキテクチャー
は、独立したパリティ補助エンジン132と、2重ポー
トメモリインターフェース134を介して相互接続され
ているローカルメモリ136とを有する。高速PCIイ
ンターフェース130は、PCIバス102とローカル
メモリ136との間のデータ通信を与える。
【0024】図示するように、PCIバスインターフェ
ース130、パリティ計算エンジン132および2重ポ
ートメモリインターフェース134は、単一のライドパ
リティ補助チップ128中に一体的に集積されている。
しかしこれらの三つのコンポーネントは統合された態様
で独立に動作し、最小限のホストCPUサイクルを使っ
て高速のデータ格納およびパリティ計算を行うことがで
きる。高速ローカルバス138は、このライドパリティ
補助チップをローカルメモリ136に接続する。
【0025】ディスク書込みオペレーションの期間中
は、データブロックはホストSCSIチャンネル14か
ら受信され、ローカルメモリ136内に格納される。パ
リティ補助エンジン132がこのデータを読み取り、パ
リティ情報を計算し、それをローカルメモリ136に書
き戻す。次いで最終的データブロックがローカルメモリ
136から適当なディスクドライブに書き込まれる。
【0026】デスク読み取りオペレーションは、ディス
クドライブからローカルメモリ136へのデータ移動を
もって開始される。このデータは次いで、当該データを
再構築するのにパリティ情報が必要とされる場合を除
き、ホストSCSIチャンネル14に転送される。
【0027】このアーキテクチャー メモリ使用度
いので、ローカルメモリ136は高帯域を得るため、7
2ビット幅のインターフェースで組織されている。ま
た、このメモリは最大性能を得るためのインターリーブ
サイクル(interleaved cycles)をサポートしている。
このメモリシステムは、ライドパリティ補助チップの全
速クロック速度で動作することができる。また、経済的
なダイナミックRAMを格納用に使用することができる
ように、レフレッシュコントロールも含まれている。停
電が起きたときにメモリデータを保護するため、電力低
下モード動作が設けられている。
【0028】PCIインターフェースモジュール130
は、全速PCIバス転送を行うことができる。このモジ
ュールは、1バイトから全帯域幅までのすべてのバスモ
ードに応答するように設計されている。このPCIモジ
ュールは、PCIバスから受信したデータを格納するた
めの128バイトのFIFOを含んでいる。このため、
ローカルメモリが一時的に利用できないときでも、PC
I転送は続行することができる。
【0029】パリティ補助エンジン132は、ローカル
メモリ136内に格納されたデータに対して演算を行う
ことができる。このエンジンは、128バイトFIFO
を使って、一時に一バースト単位でパリティを計算し、
中間結果を格納することができる。これらの中間結果は
ローカルメモリに書き戻しされない。最大性能を得るた
め、パリティ補助エンジンの制御論理回路が、必要とさ
れる各データブロックへのポインタを維持する。このパ
リティエンジンはローカルバスメモリの全速で動作し、
上記メモリ帯域幅にとって最大可能な速度を与える。
【0030】このパリティ補助エンジンは、一つのタス
クが実行される間、別のタスクが順待ちできるようにす
るための4個の別個の部分を含んでいる。タスクのスケ
ジュールが実行中のタスクと干渉しないよう、各タスク
はそれ自身のコントロール兼ステータスレジスタを維持
する。本発明の本アレイ機構を実現するようにパリティ
エンジンを調整するには、形態上いくつかの選択ができ
る。このエンジンは、22+1個のドライブ幅までのア
レイに演算を行う単一エンジンとして構成することがで
き、また4+1個のドライブ幅のアレイに演算を行う4
個のエンジンマシンとして構成することができる。これ
らの中間の形態では、エンジンを10+1個までのドラ
イブをもつ2エンジンマシンとすることができる。
【0031】本パリティエンジンは、移動モードおよび
ゼロチェックモードのみならず、ライド5およびライド
3のパリティ発生/検査モードを与える排他的OR論理
回路を含む。
【0032】このアーキテクチャーの最も重要な部分
は、アーキテクチャーが時間的に独立なオペレーション
を与えることである。パリティ計算のためにデータブロ
ックに同時的にアクセスをする必要はない。いくつかの
ドライブにまたがるディスクオペレーションのスケジュ
ールが立てられ、各ドライブで実行可能になり次第、実
行される。関連性のないディスクオペレーションは、単
一のタスクに対するオペレーションがすべてのドライブ
で完了していないときでも続行しうる。この独立性によ
って、システムの最も遅い部分であるディスクドライブ
の動作性能を改善することができる。またこの独立性に
よって、同時的なハードウェアリソース条件(concurre
nt hardware resource requirements)を管理するソフ
トウェアタスクを簡単化することができる。
【0033】本発明は、時間的に独立なデータブロック
移動、時間的に独立なパリティ計算、順待ちライドオペ
レーション(3個までの順待ちタスク)、全速PCI転
送オペレーション(4バイト/クロックサイクル)、お
よび全速パリティ計算(4バイト/クロックサイクル)
を含むという特徴を有する。さらに、本アーキテクチャ
ーは、付加的ライドパリティ補助チップおよびローカル
メモリ格納装置を付加することによって縮小拡張が可能
である。
【0034】
【効果】以上に述べたように本発明によれば、データ緩
衝用の独立なメモリ構造を有するディスクアレイコント
ローラアーキテクチャーと、アレイタスクの並列オペレ
ーションを可能にする独立なパリティ計算エンジンとが
与えられることが理解できよう。本発明は、CPUある
いはそのメモリとの干渉を起こすことなくパリティ計算
およびメモリブロックの移動を実行することができ、そ
の結果、CPUにアレイタスクの制御を行わせるように
CPUを解放することができる。ここに開示したアレイ
コントローラの形態は、格納I/Oデバイスとローカル
メモリとの間のデータブロック移動オペレーション、ホ
ストSCSI接続部とローカルメモリとの間のデータブ
ロック移動、パリティ計算、正規のCPUメモリフェッ
チ、ブロック移動を行うための順待ちオペレーション、
およびパリティタスクを行うための順待ちオペレーショ
ンを同時的に実行することを可能にする。
【0035】本発明の好ましい実施例をここに開示した
が、前記特許請求の範囲内で種々の設計変更をなしうる
ことを了解されたい。
【図面の簡単な説明】
【図1】 PCIバスを利用した従来技術のディスクア
レイシステムの簡単なアーキテクチャーブロック線図で
ある。
【図2】 本発明に基づく高速PCIバスと高速動作パ
リティ機能アーキテクチャーを利用した改良型ディスク
アレイシステムの簡単なブロック線図である。
【符号の説明】
14 SCSIバス 102 高速PCIバス 104 ホストSCSIインターフェース 106 プロセッサ 112 SCSIドライブインターフェース 114 SCSIバス 118 プロセッサメモリ 128 ライドパリティ補助チップ 130 高速PCIインターフェース 132 パリティ補助エンジン 134 2重ポートメモリインターフェース 136 ローカルメモリ 138 高速ローカルバス
フロントページの続き (72)発明者 デニス イー.ゲイツ アメリカ合衆国 カンザス州 67220 ウ ィチタ、ファームステッド コート 4893 (72)発明者 ロドニー エイ.デコニング アメリカ合衆国 カンザス州 67226 ウ ィチタ、ダンベリー 6443 (72)発明者 カーティス ダブリュー.リンク アメリカ合衆国 カンザス州 67205 ウ ィチタ、ノース メイズ ロード 3124

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ホストコンピューターシステムから受信
    したデータを格納するための、および格納済みデータを
    該ホストコンピューターシステムに提供するための、デ
    ィスクアレイシステムであって、 第一の高速ローカルバスと、 該第一高速ローカルバスを該ホストコンピューターシス
    テムに接続するインターフェース回路と、 複数のディスクドライブメンバーと、 該複数のディスクドライブメンバーを該第一高速ローカ
    ルバスに接続する少なくとも一つのインターフェース回
    路と、 該第一高速ローカルバスに接続された複数のパリティ補
    助論理回路と、 ローカルメモリ格納装置と、 該パリティ補助論理回路を該ローカルメモリ格納装置に
    接続する第二の高速ローカルバスと、 該第一高速ローカルバスに接続されたコンポーネントの
    オペレーションを制御すべく、該第一高速ローカルバス
    に接続されたプロセッサとを含み、 該パリティ補助論理回路が、ディスクアレイ書込みオペ
    レーション期間中はパリティデータの計算に必要なデー
    タを、該第二高速ローカルバスを介して該ローカルメモ
    リに提供するとともに、該ローカルメモリに保存されて
    いるデータを操作して該ディスクアレイ書込みオペレー
    ション期間中のパリティを決定することを特徴とするデ
    ィスクアレイシステム。
  2. 【請求項2】 請求項1に記載のディスクアレイシステ
    ムにおいて、該パリティ補助論理回路が、 パリティを計算するためのパリティ補助エンジンと、 該第二高速ローカルバスを介して該パリティ補助エンジ
    ンを該ローカルメモリに接続している2重ポートメモリ
    インターフェースと、 該第一高速ローカルバスに該2重ポートメモリインター
    フェースを接続しているインターフェース回路とを含む
    ことを特徴とするディスクアレイシステム。
  3. 【請求項3】 請求項2に記載のディスクアレイシステ
    ムにおいて、該パリティ補助エンジンが排他的OR回路
    を含むことを特徴とするディスクアレイシステム。
  4. 【請求項4】 ホストコンピューターシステムから受信
    したデータを格納するための、および格納済みデータを
    該ホストコンピューターシステムに提供するための、複
    数のディスクドライブメンバーを含むディスクアレイシ
    ステム用ディスクアレイコントローラであって、 第一の高速ローカルバスと、 該第一高速ローカルバスを該ホストコンピューターシス
    テムに接続するインターフェース回路と、 該複数のディスクドライブメンバーを該第一高速ローカ
    ルバスに接続する少なくとも一つのインターフェース回
    路と、 該第一高速ローカルバスに接続された複数のパリティ補
    助論理回路と、 ローカルメモリ格納装置と、 該パリティ補助論理回路を該ローカルメモリ格納装置に
    接続する第二の高速ローカルバスと、 該第一高速ローカルバスに接続されたコンポーネントの
    オペレーションを制御するため、該第一高速ローカルバ
    スに接続されたプロセッサとを含み、 該パリティ補助論理回路が、ディスクアレイ書込みオペ
    レーション期間中はパリティデータの計算に必要なデー
    タを該第二高速ローカルバスを介して該ローカルメモリ
    に提供するとともに、該ローカルメモリに保存されてい
    るデータを操作して該ディスクアレイ書込みオペレーシ
    ョン期間中のパリティを決定することを特徴とするディ
    スクアレイコントローラ。
  5. 【請求項5】 請求項4に記載のディスクアレイコン
    トローラにおいて、該パリティ補助論理回路が、 パリティを計算するためのパリティ補助エンジンと、 該第二高速ローカルバスを介して該パリティ補助エンジ
    ンを該ローカルメモリに接続する2重ポートメモリイン
    ターフェースと、 該第一高速ローカルバスに該2重ポートメモリインター
    フェースを接続するインターフェース回路とを含むこと
    を特徴とするディスクアレイコントローラ。
  6. 【請求項6】 請求項5に記載のディスクアレイコント
    ローラにおいて、該パリティ補助エンジンが排他的OR
    回路を含むことを特徴とするディスクアレイコントロー
    ラ。
  7. 【請求項7】 第一高速ローカルバスと、該第一高速ロ
    ーカルバスをホストコンピューターシステムに接続して
    いるインターフェース回路と、複数のディスクドライブ
    メンバーと、該複数のディスクドライブメンバーを該第
    一高速ローカルバスに接続している少なくとも一つのイ
    ンターフェース回路と、該第一高速ローカルバスに接続
    されたコンポーネントのオペレーションを制御するべく
    該第一高速ローカルバスに接続されたプロセッサとを含
    むディスクアレイシステムにおいて、 該第一高速ローカルバスに接続されたパリティ補助論理
    回路と、 ローカルメモリ格納装置と、 該ローカルメモリ格納装置に該パリティ補助論理装置を
    接続する第二高速ローカルバスとを含み、 該パリティ補助論理回路が、ディスクアレイ書込みオペ
    レーション期間中はパリティデータの計算に必要なデー
    タを、該第二高速ローカルバスを介して該ローカルメモ
    リに提供するとともに、該ローカルメモリに保存されて
    いるデータを操作して該ディスクアレイ書込みオペレー
    ション期間中のパリティを決定することを特徴とする改
    良されたディスクアレイシステム。
  8. 【請求項8】 請求項7に記載の改良されたディスクア
    レイシステムにおいて、該パリティ補助論理回路が、 パリティを計算するためのパリティ補助エンジンと、 該パリティ補助エンジンを該ローカルメモリに該第二高
    速ローカルバスを介して接続している2重ポートメモリ
    インターフェースと、 該2重ポートメモリインターフェースを該第一高速ロー
    カルバスに接続するインターフェース回路とを含むこと
    を特徴とするディスクアレイシステム。
  9. 【請求項9】 請求項8に記載の改良されたディスクア
    レイシステムにおいて、該パリティ補助エンジンが排他
    的OR論理回路を含むことを特徴とするディスクアレイ
    システム。
JP32869895A 1994-12-16 1995-12-18 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム Expired - Lifetime JP3850478B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/357,847 US5634033A (en) 1994-12-16 1994-12-16 Disk array storage system architecture for parity operations simultaneous with other data operations
US08/357,847 1994-12-16

Publications (2)

Publication Number Publication Date
JPH08235754A true JPH08235754A (ja) 1996-09-13
JP3850478B2 JP3850478B2 (ja) 2006-11-29

Family

ID=23407284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32869895A Expired - Lifetime JP3850478B2 (ja) 1994-12-16 1995-12-18 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム

Country Status (5)

Country Link
US (1) US5634033A (ja)
EP (1) EP0717357B1 (ja)
JP (1) JP3850478B2 (ja)
KR (1) KR100351964B1 (ja)
DE (1) DE69529728T2 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996037840A1 (en) * 1995-05-22 1996-11-28 Mti Technology Corporation Disk array system including a dual-ported staging memory and concurrent redundancy calculation capability
US5774641A (en) * 1995-09-14 1998-06-30 International Business Machines Corporation Computer storage drive array with command initiation at respective drives
JP2981482B2 (ja) * 1995-12-06 1999-11-22 日本アイ・ビー・エム株式会社 データ記憶システム、データ転送方法及びデータ再構成方法
US5790773A (en) * 1995-12-29 1998-08-04 Symbios, Inc. Method and apparatus for generating snapshot copies for data backup in a raid subsystem
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port
US5835694A (en) * 1996-12-06 1998-11-10 International Business Machines Corporation Raid-configured disk drive array wherein array control occurs at the disk drive level
US6065096A (en) * 1997-09-30 2000-05-16 Lsi Logic Corporation Integrated single chip dual mode raid controller
US6134630A (en) * 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
EP1046981A4 (en) * 1997-12-17 2005-09-07 Matsushita Electric Industrial Co Ltd MAGNETIC DISK APPARATUS AND DATA TRANSFER METHOD
US6631477B1 (en) * 1998-03-13 2003-10-07 Emc Corporation Host system for mass storage business continuance volumes
US6173415B1 (en) 1998-05-22 2001-01-09 International Business Machines Corporation System for scalable distributed data structure having scalable availability
US6122754A (en) * 1998-05-22 2000-09-19 International Business Machines Corporation Method and system for data recovery using a distributed and scalable data structure
US6065083A (en) * 1998-08-21 2000-05-16 International Business Machines, Inc. Increasing I/O performance through storage of packetized operational information in local memory
US6134623A (en) * 1998-08-21 2000-10-17 International Business Machines Corporation Method and system for taking advantage of a pre-stage of data between a host processor and a memory system
GB2341715A (en) * 1998-09-17 2000-03-22 Springtek Limited Magnetic disk redundant array
US6449678B1 (en) 1999-03-24 2002-09-10 International Business Machines Corporation Method and system for multiple read/write transactions across a bridge system
US6425023B1 (en) 1999-03-24 2002-07-23 International Business Machines Corporation Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests
US6502157B1 (en) 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6286074B1 (en) 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6772108B1 (en) * 1999-09-22 2004-08-03 Netcell Corp. Raid controller system and method with ATA emulation host interface
US6542945B1 (en) * 1999-09-28 2003-04-01 Intel Corporation Instant configuration of a digital device
JP2001344076A (ja) * 2000-06-05 2001-12-14 Fujitsu Ltd ディスクアレイ装置
US6792567B2 (en) 2001-04-30 2004-09-14 Stmicroelectronics, Inc. System and method for correcting soft errors in random access memory devices
TW560678U (en) * 2001-06-15 2003-11-01 Accusys Inc Floppy disk array device having large storage capacity
US20030131167A1 (en) * 2001-12-20 2003-07-10 Rankin Linda J. Node ID discovery
KR100467102B1 (ko) * 2002-05-28 2005-01-24 (주) 그레이프테크놀로지 데이터 저장 시스템
US6941408B2 (en) * 2002-09-30 2005-09-06 Lsi Logic Corporation Bus interface system with two separate data transfer interfaces
US20040123027A1 (en) * 2002-10-03 2004-06-24 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
US20040068591A1 (en) * 2002-10-03 2004-04-08 Workman Michael Lee Systems and methods of multiple access paths to single ported storage devices
CN1296845C (zh) * 2003-01-24 2007-01-24 华为技术有限公司 一种磁盘存储系统
US7236987B1 (en) 2003-02-28 2007-06-26 Sun Microsystems Inc. Systems and methods for providing a storage virtualization environment
US8166128B1 (en) 2003-02-28 2012-04-24 Oracle America, Inc. Systems and methods for dynamically updating a virtual volume in a storage virtualization environment
US7383381B1 (en) 2003-02-28 2008-06-03 Sun Microsystems, Inc. Systems and methods for configuring a storage virtualization environment
US7290168B1 (en) 2003-02-28 2007-10-30 Sun Microsystems, Inc. Systems and methods for providing a multi-path network switch system
JP4426261B2 (ja) 2003-11-25 2010-03-03 株式会社日立製作所 チャネルアダプタ及びディスクアレイ装置
US8209551B2 (en) * 2008-02-15 2012-06-26 Intel Corporation Security for RAID systems
JP2009230608A (ja) * 2008-03-25 2009-10-08 Fuji Xerox Co Ltd 記憶システム、制御装置、画像形成装置、および制御プログラム
US8756371B2 (en) 2011-10-12 2014-06-17 Lsi Corporation Methods and apparatus for improved raid parity computation in a storage controller
US9086992B1 (en) 2012-06-08 2015-07-21 Digital Ordnance Storage, Inc. System and method for interconnecting storage elements
CN119292528B (zh) * 2024-09-29 2025-11-11 山东云海国创云计算装备产业创新中心有限公司 独立磁盘冗余阵列控制器及其控制方法、装置和主机设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5218689A (en) * 1988-08-16 1993-06-08 Cray Research, Inc. Single disk emulation interface for an array of asynchronously operating disk drives
AU630635B2 (en) * 1988-11-14 1992-11-05 Emc Corporation Arrayed disk drive system and method
US5206943A (en) * 1989-11-03 1993-04-27 Compaq Computer Corporation Disk array controller with parity capabilities
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
US5191584A (en) * 1991-02-20 1993-03-02 Micropolis Corporation Mass storage array with efficient parity calculation
US5345565A (en) * 1991-03-13 1994-09-06 Ncr Corporation Multiple configuration data path architecture for a disk array controller
US5257391A (en) * 1991-08-16 1993-10-26 Ncr Corporation Disk controller having host interface and bus switches for selecting buffer and drive busses respectively based on configuration control signals
JPH0820964B2 (ja) * 1991-09-13 1996-03-04 インターナショナル・ビジネス・マシーンズ・コーポレイション メモリ制御装置および方法
US5398253A (en) * 1992-03-11 1995-03-14 Emc Corporation Storage unit generation of redundancy information in a redundant storage array system
US5469566A (en) * 1992-03-12 1995-11-21 Emc Corporation Flexible parity generation circuit for intermittently generating a parity for a plurality of data channels in a redundant array of storage units
US5375217A (en) * 1992-03-25 1994-12-20 Ncr Corporation Method and apparatus for synchronizing disk drive requests within a disk array
US5418925A (en) * 1992-10-23 1995-05-23 At&T Global Information Solutions Company Fast write I/O handling in a disk array using spare drive for buffering
US5392244A (en) * 1993-08-19 1995-02-21 Hewlett-Packard Company Memory systems with data storage redundancy management

Also Published As

Publication number Publication date
DE69529728D1 (de) 2003-04-03
US5634033A (en) 1997-05-27
KR100351964B1 (ko) 2002-12-26
KR960024859A (ko) 1996-07-20
EP0717357B1 (en) 2003-02-26
EP0717357A2 (en) 1996-06-19
EP0717357A3 (en) 1997-05-28
DE69529728T2 (de) 2003-11-20
JP3850478B2 (ja) 2006-11-29

Similar Documents

Publication Publication Date Title
JP3850478B2 (ja) 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム
JP3606881B2 (ja) 動作時にXor演算を行う高性能データ経路
JP3302688B2 (ja) 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム
US6018778A (en) Disk array controller for reading/writing striped data using a single address counter for synchronously transferring data between data ports and buffer memory
EP0907917B1 (en) Cache memory controller in a raid interface
US7493441B2 (en) Mass storage controller with apparatus and method for extending battery backup time by selectively providing battery power to volatile memory banks not storing critical data
US5499337A (en) Storage device array architecture with solid-state redundancy unit
KR100255847B1 (ko) 레이드 제어기에서의 스트라이프 기록 방법
US7418526B2 (en) Memory hub and method for providing memory sequencing hints
US6112255A (en) Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations
JPH06180623A (ja) ディスクアレイ制御装置用多重構成データパス構造
JPH0772985A (ja) Raidレベル5ディスクアレイにおけるリード−モディファイ−ライト パリティ オペレーションの遅延イニシエション方法
JPH04232557A (ja) Dasd制御方法及び装置
KR100208801B1 (ko) 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법
JPH05502313A (ja) データ記憶システム
JPH0820964B2 (ja) メモリ制御装置および方法
WO1996018141A1 (en) Computer system
JP3247075B2 (ja) パリティブロックの生成装置
JP2912299B2 (ja) ディスクアレイ制御装置
US6665773B1 (en) Simple and scalable RAID XOR assist logic with overlapped operations
JP2981482B2 (ja) データ記憶システム、データ転送方法及びデータ再構成方法
JP2716350B2 (ja) 電子データ記憶システム
US5964895A (en) VRAM-based parity engine for use in disk array controller
Katz A project on high performance I/0 subsystems
JP2981711B2 (ja) ディスク記憶装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050525

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050825

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050829

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20050829

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051125

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060201

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060727

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060830

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100908

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110908

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120908

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130908

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term