JP3850478B2 - 高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム - Google Patents
高性能パリティ機能アーキテクチャーを含むディスクアレイ格納システム Download PDFInfo
- Publication number
- JP3850478B2 JP3850478B2 JP32869895A JP32869895A JP3850478B2 JP 3850478 B2 JP3850478 B2 JP 3850478B2 JP 32869895 A JP32869895 A JP 32869895A JP 32869895 A JP32869895 A JP 32869895A JP 3850478 B2 JP3850478 B2 JP 3850478B2
- Authority
- JP
- Japan
- Prior art keywords
- parity
- local bus
- speed local
- data
- disk array
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 17
- 230000009977 dual effect Effects 0.000 claims description 10
- 230000005055 memory storage Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000004575 stone Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/18—Error detection or correction; Testing, e.g. of drop-outs
- G11B20/1833—Error 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)
Description
【産業上の利用分野】
本発明はディスクアレイ格納システムに関し、特に、優れた性能をもち、同時的なデータ移動およびパリティ計算の実行ができるハードウェア型ディスクアレイコントローラに関する。
【0002】
【従来の技術】
ライド(RAID)格納システムと呼ばれる、廉価なディスクの冗長型アレイ(Redundant Array of Inexpensive Disks, RAID)は、ホストコンピューターシステムには単一の大きなディスクドライブとして見えるディスクドライブの集合体である。加えて、ディスク格納装置の容量の一部は、それ以外の容量部に格納されたユーザーデータについての冗長情報(redundant information)を格納するために利用される。万一アレイディスクメンバー(array disk member)が故障したときでも、この冗長情報によって、ディスクアレイはデータを失うことなく機能し続けることができ、かつ、故障メンバーにとって代わるアレイディスクドライブメンバー上にデータを再生させることができる。
【0003】
1987年12月にカリフォルニア大学から発行されたデイビッド・エイ・パターソン、ガース・ギブソンおよびランディー・エイチ・カッツ共著の「廉価なディスクの冗長型アレイの一例」と題する記事(No.UCB/CSD 87/391)にはいくつかのライドディスクアレイの設計例が掲載されている。ここに引用する上記記事は、ディスクアレイおよびそれらの性能、信頼性、電力消費量およびスケーラビリティ(scaleability, 縮小拡張性)の改良について、単一の大型磁気ディスクと比較して論じている。
【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 exclusive-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に接続される。このコントローラの諸コンポーネント間の通信および諸コンポーネントのオペレーションは、プロセッサメモリ118内に常駐するインストラクションに基づいてプロセッサ106により制御される。本技術分野の当業者は、図1に示すアレイコントローラおよびこのコントローラに含まれる諸コンポーネントの構成とオペレーションを直ちに理解できよう。
【0012】
ライド格納プロセスは、必要なデータ冗長性(すなわちディスクの故障に続く再構築データ)を創成するための多くのパリティ計算とデータ移動オペレーションとを必要とする。上述した図1のアレイコントローラアーキテクチャーでは、アレイ書込みオペレーション期間中の新規パリティ情報の発生あるいはアレイ故障後の再構築データを発生させるためには、ホストコンピューターシステム12、アレイドライブA な いし ド ライブE、ローカルメモリ110、およびパリティ論理回路106との間で新規データ、旧データ、再構築データ、旧パリティ情報、および新規パリティ情報の転送を行う上でPCIバス102を多用することが必要となる。
【0013】
【発明が解決しようとする課題】
それゆえ、本発明の課題はコントローラの性能を改善する新規かつ有用なディスクアレイコントローラのハードウェアアーキテクチャーを与えることである。
【0014】
本発明のもう一つの課題は、同時的なデータ移動(concurrent data move)およびパリティ計算と、時間的に独立なタスクの同時的実行とを可能にするディスクアレイコントローラアーキテクチャーを与えることである。
【0015】
本発明のさらに別の課題は、パリティの発生およびデータ再構築のオペレーションを行うための、独特のパリティ補助論理回路と専用ローカルメモリとを含んだディスクアレイコントローラを与えることである。
【0016】
本発明のさらに別の課題は、I/Oデバイスとローカルメモリ間におけるデータブロックの移動、ホストシステムとローカルメモリ間のデータブロックの移動、パリティ計算、正規アレイコントローラプロセッサメモリフェッチ(normal array controller processor memory fetch)のオペレーションを同時的に行うことを可能にする新規かつ有用なディスクアレイコントローラアーキテクチャーを与えることである。
【0017】
本発明のさらに別の課題は、ブロック移動の順待ちオペレーション(queued operation of block moves)およびパリティタスクの順待ちオペレーションをも可能にするディスクアレイコントローラアーキテクチャーを与えることである。
【0018】
【課題を解決するための手段】
前記目的を達成するべく、本発明は、ホストコンピューターシステムから受信したデータを格納すると共に格納済みデータを該ホストコンピューターシステムに提供するためのディスクアレイシステムであって、第一の高速ローカルバスと、該第一の高速ローカルバスを該ホストコンピューターシステムに接続する第一のインターフェース回路と、複数のディスクドライブメンバーと、該複数のディスクドライブメンバーを該第一の高速ローカルバスに接続する第二のインターフェース回路と、該第一の高速ローカルバスに接続されたパリティ補助論理回路と、該第一の高速ローカルバスに接続されるローカルメモリ格納装置と、該パリティ補助論理回路を該ローカルメモリ格納装置に接続する第二の高速ローカルバスと、該第一の高速ローカルバスに接続されたプロセッサと、を有し、該パリティ補助論理回路は、該第二の高速ローカルバスを介して該パリティ補助エンジンを該ローカルメモリに接続する2重ポートメモリインターフェースを有し、ディスクアレイの書込みオペレーション期間中はパリティデータの計算に必要なデータを該第二の高速ローカルバスを介して該ローカルメモリに提供すると共に、該ローカルメモリに保存されているデータを操作して該ディスクアレイ書込みオペレーション期間中のパリティを決定し、該プロセッサは、該第二の高速ローカルバスとは独立する該第一の高速ローカルバスを介して、該第一のインターフェース回路、該第二のインターフェース回路及び該パリティ補助論理回路の各回路の動作制御を、該パリティ補助論理回路の動作と同時に行うことを特徴とするディスクアレイシステムを提供するものである。
【0019】
ここに記載する実施例では、本パリティ補助論理回路は、排他的OR論理回路を含んだパリティ計算用パリティ補助エンジンと、上記第二高速ローカルバスを介して上記ローカルメモリに上記パリティ補助エンジンを接続する2重ポートメモリインターフェース(dual ported memory interface)と、上記第一高速ローカルバスに上記2重ポートメモリインターフェースを接続するインターフェース回路とを有する。この第一ローカルバスは高速PCIバスである。上記の第二バスは2重ポートメモリインターフェースである。
【0020】
このアレイコントローラアーキテクチャーは縮小拡張が可能であって、ライドモード0、3、4、および5をサポートしている。このアーキテクチャーは、高帯域パリティ計算エンジン(high bandwidth parity 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は高帯域を得るため、72ビット幅のインターフェースで組織されている。また、このメモリは最大性能を得るためのインターリーブサイクル(interleaved cycles)をサポートしている。このメモリシステムは、ライドパリティ補助チップの全速クロック速度で動作することができる。また、経済的なダイナミックRAMを格納用に使用することができるように、レフレッシュコントロールも含まれている。停電が起きたときにメモリデータを保護するため、電力低下モード動作が設けられている。
【0028】
PCIインターフェースモジュール130は、全速PCIバス転送を行うことができる。このモジュールは、1バイトから全帯域幅までのすべてのバスモードに応答するように設計されている。このPCIモジュールは、PCIバスから受信したデータを格納するための128バイトのFIFOを含んでいる。このため、ローカルメモリが一時的に利用できないときでも、PCI転送は続行することができる。
【0029】
パリティ補助エンジン132は、ローカルメモリ136内に格納されたデータに対して演算を行うことができる。このエンジンは、128バイトFIFOを使って、一時に一バースト単位でパリティを計算し、中間結果を格納することができる。これらの中間結果はローカルメモリに書き戻しされない。最大性能を得るため、パリティ補助エンジンの制御論理回路が、必要とされる各データブロックへのポインタを維持する。このパリティエンジンはローカルバスメモリの全速で動作し、上記メモリ帯域幅にとって最大可能な速度を与える。
【0030】
このパリティ補助エンジンは、一つのタスクが実行される間、別のタスクが順待ちできるようにするための4個の別個の部分を含んでいる。タスクのスケジュールが実行中のタスクと干渉しないよう、各タスクはそれ自身のコントロール兼ステータスレジスタを維持する。本発明の本アレイ機構を実現するようにパリティエンジンを調整するには、形態上いくつかの選択ができる。このエンジンは、22+1個のドライブ幅までのアレイに演算を行う単一エンジンとして構成することができ、また4+1個のドライブ幅のアレイに演算を行う4個のエンジンマシンとして構成することができる。これらの中間の形態では、エンジンを10+1個までのドライブをもつ2エンジンマシンとすることができる。
【0031】
本パリティエンジンは、移動モードおよびゼロチェックモードのみならず、ライド5およびライド3のパリティ発生/検査モードを与える排他的OR論理回路を含む。
【0032】
このアーキテクチャーの最も重要な部分は、アーキテクチャーが時間的に独立なオペレーションを与えることである。パリティ計算のためにデータブロックに同時的にアクセスをする必要はない。いくつかのドライブにまたがるディスクオペレーションのスケジュールが立てられ、各ドライブで実行可能になり次第、実行される。関連性のないディスクオペレーションは、単一のタスクに対するオペレーションがすべてのドライブで完了していないときでも続行しうる。この独立性によって、システムの最も遅い部分であるディスクドライブの動作性能を改善することができる。またこの独立性によって、同時的なハードウェアリソース条件(concurrent 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 高速ローカルバス
Claims (6)
- ホストコンピューターシステムから受信したデータを格納すると共に格納済みデータを該ホストコンピューターシステムに提供するためのディスクアレイシステムであって、
第一の高速ローカルバスと、
該第一の高速ローカルバスを該ホストコンピューターシステムに接続する第一のインターフェース回路と、
複数のディスクドライブメンバーと、
該複数のディスクドライブメンバーを該第一の高速ローカルバスに接続する第二のインターフェース回路と、
該第一の高速ローカルバスに接続されたパリティ補助論理回路と、
該第一の高速ローカルバスに接続されるローカルメモリ格納装置と、
該パリティ補助論理回路を該ローカルメモリ格納装置に接続する第二の高速ローカルバスと、
該第一の高速ローカルバスに接続されたプロセッサと、を有し、
該パリティ補助論理回路は、該第二の高速ローカルバスを介して該パリティ補助エンジンを該ローカルメモリに接続する2重ポートメモリインターフェースを有し、ディスクアレイの書込みオペレーション期間中はパリティデータの計算に必要なデータを該第二の高速ローカルバスを介して該ローカルメモリに提供すると共に、該ローカルメモリに保存されているデータを操作して該ディスクアレイ書込みオペレーション期間中のパリティを決定し、
該プロセッサは、該第二の高速ローカルバスとは独立する該第一の高速ローカルバスを介して、該第一のインターフェース回路、該第二のインターフェース回路及び該パリティ補助論理回路の各回路の動作制御を、該パリティ補助論理回路の動作と同時に行うことを特徴とするディスクアレイシステム。 - 該パリティ補助論理回路は、
パリティを計算するためのパリティ補助エンジンと、
該第一の高速ローカルバスに該2重ポートメモリインターフェースを接続している第三のインターフェース回路と、
を含むことを特徴とする請求項1に記載のディスクアレイシステム。 - 該パリティ補助エンジンは、排他的OR回路を含むことを特徴とする請求項2に記載のディスクアレイシステム。
- ホストコンピューターシステムから受信したデータを格納すると共に格納済みデータを該ホストコンピューターシステムに提供するための複数のディスクドライブメンバーを含むディスクアレイシステム用コントローラであって、
第一の高速ローカルバスと、
該第一の高速ローカルバスを該ホストコンピューターシステムに接続する第一のインターフェース回路と、
複数のディスクドライブメンバーと、
該複数のディスクドライブメンバーを該第一の高速ローカルバスに接続する第二のインターフェース回路と、
該第一の高速ローカルバスに接続されたパリティ補助論理回路と、
該第一の高速ローカルバスに接続されるローカルメモリ格納装置と、
該パリティ補助論理回路を該ローカルメモリ格納装置に接続する第二の高速ローカルバスと、
該第一の高速ローカルバスに接続されたプロセッサと、を有し、
該パリティ補助論理回路は、該第二の高速ローカルバスを介して該パリティ補助エンジ ンを該ローカルメモリに接続する2重ポートメモリインターフェースを有し、ディスクアレイの書込みオペレーション期間中はパリティデータの計算に必要なデータを該第二の高速ローカルバスを介して該ローカルメモリに提供すると共に、該ローカルメモリに保存されているデータを操作して該ディスクアレイ書込みオペレーション期間中のパリティを決定し、
該プロセッサは、該第二の高速ローカルバスとは独立する該第一の高速ローカルバスを介して、該第一のインターフェース回路、該第二のインターフェース回路及び該パリティ補助論理回路の各回路の動作制御を、該パリティ補助論理回路の動作と同時に行うことを特徴とするディスクアレイシステム用コントローラ。 - 該パリティ補助論理回路は、
パリティを計算するためのパリティ補助エンジンと、
該第一の高速ローカルバスに該2重ポートメモリインターフェースを接続している第三のインターフェース回路と、
を含むことを特徴とする請求項4に記載のディスクアレイシステム用コントローラ。 - 該パリティ補助エンジンは、排他的OR回路を含むことを特徴とする請求項5に記載のディスクアレイシステム用コントローラ。
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 JPH08235754A (ja) | 1996-09-13 |
JP3850478B2 true 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 (40)
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 |
US6694475B1 (en) * | 1997-12-17 | 2004-02-17 | Matsushita Electric Industrial Co., Ltd. | Magnetic disk apparatus and method of data transfer |
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 |
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 |
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 |
GB2341715A (en) * | 1998-09-17 | 2000-03-22 | Springtek Limited | Magnetic disk redundant array |
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 |
US6449678B1 (en) | 1999-03-24 | 2002-09-10 | International Business Machines Corporation | Method and system for multiple read/write transactions across a bridge system |
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 | 华为技术有限公司 | 一种磁盘存储系统 |
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 |
US7236987B1 (en) | 2003-02-28 | 2007-06-26 | Sun Microsystems Inc. | Systems and methods for providing 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 |
Family Cites Families (13)
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 |
-
1994
- 1994-12-16 US US08/357,847 patent/US5634033A/en not_active Expired - Lifetime
-
1995
- 1995-12-14 DE DE69529728T patent/DE69529728T2/de not_active Expired - Fee Related
- 1995-12-14 EP EP95309117A patent/EP0717357B1/en not_active Expired - Lifetime
- 1995-12-15 KR KR1019950052615A patent/KR100351964B1/ko not_active IP Right Cessation
- 1995-12-18 JP JP32869895A patent/JP3850478B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH08235754A (ja) | 1996-09-13 |
US5634033A (en) | 1997-05-27 |
KR100351964B1 (ko) | 2002-12-26 |
DE69529728T2 (de) | 2003-11-20 |
DE69529728D1 (de) | 2003-04-03 |
EP0717357B1 (en) | 2003-02-26 |
KR960024859A (ko) | 1996-07-20 |
EP0717357A2 (en) | 1996-06-19 |
EP0717357A3 (en) | 1997-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3850478B2 (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 | |
JP3302688B2 (ja) | 並列ディスク駆動機構アレイ式データ記憶サブシステム用の論理トラック書込みスケジューリングのシステム | |
KR100255847B1 (ko) | 레이드 제어기에서의 스트라이프 기록 방법 | |
US5499337A (en) | Storage device array architecture with solid-state redundancy unit | |
US5720027A (en) | Redundant disc computer having targeted data broadcast | |
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 | |
JP3237736B2 (ja) | データ記憶装置のマトリックス構造 | |
US5598549A (en) | Array storage system for returning an I/O complete signal to a virtual I/O daemon that is separated from software array driver and physical device driver | |
JP3129732B2 (ja) | コピーバックキャッシュを有する記憶装置アレイ | |
JP3606881B2 (ja) | 動作時にXor演算を行う高性能データ経路 | |
KR100211788B1 (ko) | 디스크 어레이의 고장 예측을 위한 데이타 처리방법및시스템 | |
US5418925A (en) | Fast write I/O handling in a disk array using spare drive for buffering | |
EP0907917B1 (en) | Cache memory controller in a raid interface | |
US5289418A (en) | Memory apparatus with built-in parity generation | |
US20020184443A1 (en) | Disk array device with selectable method for generating redundant data | |
US5867640A (en) | Apparatus and method for improving write-throughput in a redundant array of mass storage devices | |
US20040049632A1 (en) | Memory controller interface with XOR operations on memory read to accelerate RAID operations | |
EP0572564A4 (ja) | ||
JP3661205B2 (ja) | ディスクアレイシステムおよびディスクアレイシステムのパリティデータの生成方法 | |
US20050193273A1 (en) | Method, apparatus and program storage device that provide virtual space to handle storage device failures in a storage system | |
JP2981482B2 (ja) | データ記憶システム、データ転送方法及びデータ再構成方法 | |
US5964895A (en) | VRAM-based parity engine for use in disk array controller | |
Katz | A project on high performance I/0 subsystems | |
JPH10312246A (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 |