JP3187720B2 - コントローラにおけるディスクアレイデータ転送のスループットを改善する方法及び装置 - Google Patents

コントローラにおけるディスクアレイデータ転送のスループットを改善する方法及び装置

Info

Publication number
JP3187720B2
JP3187720B2 JP19305696A JP19305696A JP3187720B2 JP 3187720 B2 JP3187720 B2 JP 3187720B2 JP 19305696 A JP19305696 A JP 19305696A JP 19305696 A JP19305696 A JP 19305696A JP 3187720 B2 JP3187720 B2 JP 3187720B2
Authority
JP
Japan
Prior art keywords
bus
processor
controller
data
local bus
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
JP19305696A
Other languages
English (en)
Other versions
JPH09114596A (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 JPH09114596A publication Critical patent/JPH09114596A/ja
Application granted granted Critical
Publication of JP3187720B2 publication Critical patent/JP3187720B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コントローラにお
けるディスクアレイデータ転送のスループットを改善す
る方法及び装置に関する。
【0002】
【従来の技術】既知のPCI(Peripheral Component I
nterconnect)ローカルバスは、多重アドレス及びデー
タの伝送を行う高効率の32ビットバス又は64ビット
バスである。これは高度に集積化された周辺コントロー
ラ構成処理部(コンポーネント)と、周辺追加ボード
と、プロセッサ/メモリシステムとの間の相互接続用と
して用いることを意図している。
【0003】図5は、パーソナルコンピュータ4で実現
される既知のPCIローカルバスシステムアーキテクチ
ャを示すブロック図である。
【0004】プロセッサ/キャッシュ/DRAM(ダイ
ナミックランダムアクセスメモリ)サブシステムは、メ
モリ又は入出力アドレスにおけるいずれかにマッピング
されたPCIによる装置を直接アクセスすることが出来
る。さらに、ブリッジ/メモリコントローラは、PCI
ローカルバスマスタがDRAMに対して直接アクセスを
実行するパスを設定する。
【0005】米国特許第5,379,384号では、公
知のPCIローカルバスシステムアーキテクチャ用のブ
リッジ/メモリ/コントローラを開示している。その実
施形態のブリッジ/メモリ/コントローラのチップセッ
トは、インテル株式会社によって製造された82423
TXデータパスユニット(DPU)、82424ZXキ
ャッシュ、及びDRAMコントローラ(CDC)を備え
た82420PCIセットキャッシュ/メモリサブシス
テムである。
【0006】さらに、既知のPCIローカルバスシステ
ムアーキテクチャは、図6に示すようなディスクアレイ
コントローラ6にも適用されている。このディスクアレ
イコントローラ6は、プロセッサ/キャッシュ/DRA
Mサブシステム及びブリッジ/メモリ/コントローラと
ともに、RAID(冗長独立ディスクアレイ)パリティ
アシスト(RPA)回路によってPCIローカルバスに
接続された第2のDRAMを備えている。さらに、ディ
スクアレイコントローラ6は、PCIローカルバスに対
してISA(産業標準アーキテクチャ)バスのようなバ
スをインタフェース処理するシステム入出力(SIO)
回路とともに、SCSI(スモールコンピュータシステ
ムインタフェース)バスのように、チャネルによってP
CIローカルバスに、一つ以上のディスクドライブを接
続するための、一つ以上の入出力プロセッサ(IOP)
が設けられている。
【0007】前記したSIO回路はPCIローカルバス
のアービトレーションを処理するアービトレーションロ
ジックを有している。ディスクドライブ8は各チャネル
によって接続されるディスクのような一つ以上の記憶媒
体(図示せず)を有している。不揮発性RAM、フラッ
シュメモリ、直列入出力ポート等のような複数の付加的
なコントローラ・リソースがISAバスに接続される。
SIO回路はPCIローカルバスアービトレーションを
取り扱うアービトレーションロジックが設けられてい
る。
【0008】ディスクアレイコントローラ6の第1のメ
インメモリDRAMは、一般的に、プロセッサ用のコー
ド及びデータを記憶するためのマイクロプロセッサコー
ド及びデータのRAMとして動作する。第2のDRAM
は、一般的には、PCIローカルバスを通じて一つ以上
の記憶媒体から読み出し、又は第2のDRAMに書き込
むデータを一時的に記憶するデータ転送バッファとして
動作する。
【0009】
【発明が解決しようとする課題】上記従来例において、
図6に示す既知のPCIによるディスクアレイコントロ
ーラアーキテクチャにおける一つの欠点は、このディス
クアレイコントローラ内に個別的な二つのDRAMサブ
システムを備えなければならずコスト高となる。このた
め、既知のPCIによるデュアルメモリコントローラア
ーキテクチャは、ローコストのディスクアレイコントロ
ーラとして使用するのに適していない。
【0010】図6に示す既知のPCIによるディスクア
レイコントローラアーキテクチャのさらなる欠点とし
て、PCIローカルバスの帯域幅の一部がプロセッサと
ISAバスに接続されていたリソースとの間のデータ転
送のようなPCIローカルバスを通じた非ディスクアレ
イ関連部のデータ転送によって使用される問題がある。
この問題は、特にプロセッサがPCIローカルバスに対
してアービトレーションを処理する必要があり、また、
一度PCIローカルバスに対するアクセスが許可される
と、PCIローカルバスを通じたデータ転送が行われ、
これによってディスクアレイ又はデータ転送を行うPC
Iローカルバスの伝送処理能力が低下することである。
【0011】したがって、本発明の目的は、コントロー
ラにおけるデータを転送する新しい有用な方法を提供
し、コントローラにおけるデータを転送する改良された
方法を提供することにある。
【0012】本発明の目的は、また、ディスクアレイデ
ータ転送の改善されたスループットを有するコントロー
ラ装置を提供することにある。
【0013】さらに、本発明の他の目的は、コントロー
ラにおけるディスクアレイデータ転送のスループットを
改善する方法を提供することにある。
【0014】本発明の上記の目的及び他の目的、特徴、
及び効果は、以下の説明及び添付図面から明らかとなる
ものである。
【0015】
【課題を解決するための手段】上記課題を達成するため
に、本発明は、プロセッサ、第1のバス及びコントロー
ラ・リソースを有し、ホスト装置とディスク装置との間
に接続されるコントローラにおけるデータを転送する方
法であって、前記プロセッサは、前記第1のバスによっ
て前記ホスト装置と前記ディスク装置との間で第1のデ
ータを転送するステップと、前記第1のバスの帯域幅を
減少させることなく前記プロセッサと前記コントローラ
・リソースとの間で第2のデータを転送するステップ
と、を有することを特徴とするディスクアレイデータ転
送のスループットを改善する方法を提供するものであ
る。
【0016】本発明は、さらに、プロセッサ、第1のバ
ス及びコントローラ・リソースを有し、ホスト装置とデ
ィスク装置との間に接続されるコントローラにおけるデ
ータを転送する方法であって、前記コントローラは、前
記コントローラに第1のバス及び第2のバスを接続する
ステップと、前記ディスク装置と前記ホスト装置との間
に前記第1のバスを接続するステップと、前記プロセッ
サと前記コントローラ・リソースとの間に前記第2のバ
スを接続するステップと、前記第1のバスを通じて前記
ディスク装置と前記ホスト装置との間で第1のデータを
転送するステップと、前記第1のバスの帯域幅を減少さ
せることなく前記第2のバスを通じて前記プロセッサと
前記コントローラ・リソースとの間で第2のデータを転
送するステップと、を有することを特徴とするディスク
アレイデータ転送のスループットを改善する方法を提供
するものである。
【0017】
【発明の実施の形態】次に、本発明の実施の形態を図面
参照して詳細に説明する。
【0018】本発明は多様な変更や他の形式への変更が
可能であるが、特定の実施形態を例とし、かつ、図示し
て以下に詳細に説明する。
【0019】なお、本発明は開示された特定の形式に限
定されるものではない。すなわち、本発明は記載の請求
の範囲のように、本発明の要旨及び、この要旨の範囲を
逸脱しない全ての変更例や同等の方法及び構成ととも
に、その代替例を含むものである。
【0020】図1を参照すると、この図1にはPCIロ
ーカルバス−SCSIバス間のディスクアレイコントロ
ーラ10のブロック構成が示されている。ディスクアレ
イコントローラ10は、マイクロプロセッサなどのメイ
ンプロセッサ12と、第1のインタフェース回路14
と、第2のインタフェース回路16と、第3のインタフ
ェース回路18と、RAIDパリティアシスト(RP
A)回路20と、DRAMなどのRAM装置22と、一
つ以上の入出力プロセッサ(IOP)24とを有してい
る。この開示した実施形態では、メインプロセッサ12
は、インテル80486ファミリーにおけるマイクロプ
ロセッサの一つである。例えば、インテル株式会社から
入手できる80486SX−33のマイクロプロセッサ
である。
【0021】プロセッサ12は、内部ローカルバス26
と、内部ローカルバス26へ外部アクセスを実行するた
めの一つ以上の外部入出力ピン又はパッドとが設けられ
ている。第1のインタフェース回路14及び第3のイン
タフェース回路18は、内部ローカルバス26に接続さ
れている。第2のインタフェース回路16、第3のイン
タフェース回路18、RPA回路20、及び入出力プロ
セッサ24が、PCIローカルバス28に接続されてい
る。第2のインタフェース回路16は、例えば、コンピ
ュータやファイルサーバであるホスト装置31における
PCIローカルバススロットのようなスロット(図示せ
ず)によってホストPCIローカルバス30に接続され
ている。
【0022】PCIローカルバスの規格は、P.O.B
ox14070,Portland,OR97214の
PCI Special Interest Groupから入手できるものであ
り、本明細書に参照用として示すタイトル「PCIロー
カルバスの仕様(PCI Local Bus Specification)第
2.1版」の出版物に掲載されている。
【0023】入出力プロセッサ24は、SCSIバスな
どのチャネル32を通じて一つ以上のディスクドライブ
33に接続されている。SCSIは、入出力装置の通信
プロトコルの規格である。この規格の第1バーションS
CSI−1では、本明細書に参照として示す「ANSI
ドキュメントNo.X3.131−1986」に記載さ
れている。SCSI−1仕様は、SCSI−2として拡
張されたインタフェースとしてグレードアップされたも
のである。このSCSI−2仕様は、本明細書に参照と
して示す「ANSIドキュメントNo.X3.131−
1994」に記載されている。
【0024】追加ディスクドライブ33は、点線をもっ
て図示した一つ以上の追加入出力プロセッサ24及びチ
ャネル32によってPCIローカルバス28に接続され
るものである。ディスクドライブのアレイは、「廉価な
ディスクの冗長アレイ(Redundant Array of Inexpensi
ve Disks)(RAID)」と称されるような設計による
ものである。RAID−1からRAID−5と称される
RAID設計における五つのレベルは、従来から知られ
ており、「デビットAパターソン(David A.Patterso
n)、ガースギブソン(Garth Gibson)及びランディH
カッツ(Randy H.Katz)」による「安価なディスクの冗
長アレイ(RAID)のケース(A case for Redundant
Arrays of Inexpensive Disks(RAID))」のタイトル
の出版物1087年12月、カリフォルニア大学レポー
ト第UCB/CSD87/391号に掲載されている。
【0025】入出力プロセッサ24は、プロセッサ12
が実行するコントローラファームウエアから独立したA
SIC特定(アプリケーション特定集積回路:Applicat
ionSpecific Integrated Circuit)命令を実行する。こ
の場合の適切な入出力プロセッサの例は、コロラド州フ
ォートコリンズのシンビオスロジック社(SymbiosLogic
Inc.)によって製造されているSCSI入出力プロセ
ッサ(SIOP)53C825Aチップ、又は53C8
75チップである。この53C825A及び53C87
5入出力プロセッサは、シンビオスロジック社製品の5
3C8XXファミリーを制御するよう特に設計されたA
SIC特定命令セットであるSCRIPTS命令を実行
する。
【0026】RPA回路20は、メモリ制御回路及び排
他的OR(XOR)によるパリティ回路を備えている。
一般的な読取処理では、RPA回路20が、PCIに基
づいたDRAMコントローラとして動作し、DRAM2
2は、キャッシュバッファとして動作する。特に、読取
データは、入出力プロセッサ24、チャネル32を通じ
て一つ以上のディスクドライブ33から、さらにPCI
ローカルバス28を通じてDRAM22に送出される。
プロセッサ12は、読み取りデータがDRAM22に記
憶されると、読み取りデータがDRAM22からPCI
ローカルバス28を通じ、さらに第2のインタフェース
回路16を通じてホスト装置31に送出される第2の処
理を行う。
【0027】RAIDレベル3書き込み処理などの一般
的な書き込み処理を実行する場合、新規の書き込みデー
タが、ホスト装置31から第2のインタフェース回路1
6を通じ、かつ、PCIローカルバス28を通じてDR
AM22内の第1領域に送出される。そして、元のデー
タが、ディスクドライブ33のデータディスクからPC
Iローカルバス28を通じてDRAM22内の第2領域
で読み取られ、かつ、元のパリティ情報が、ディスクド
ライブ33のパリティディスクからPCIローカルバス
28を通じてDRAM22内の第3領域で読み取られ
る。その後、RPA回路20は、DRAM22内に記憶
されている元のデータ、元のパリティ情報及び新規のデ
ータを排他的OR処理することによって、新規パリティ
情報が生成される読み取り、修正及び書き込みの処理を
単独で実行する。新規パリティ情報が算出されて、DR
AM内の第4領域に記憶された後は、プロセッサ12
が、DRAM22からディスクドライブ33のデータデ
ィスクへ新規の書き込みデータ及び/又はDRAM22
からディスクドライブ33のパリティディスクへ新規パ
リティデータを書き込む処理を実行する。適切なRPA
回路20は、例えば、シンビオスロジック社によって提
供されており、同社の既存のコントローラ製品の一部で
あるRAIDパリティアシストチップである。
【0028】第1のインタフェース回路14は、ISA
バスや類似バスなどの補助バス38に接続されるバッテ
リー付きRAMやフラッシュメモリの一つ以上のコント
ローラ・リソース又は装置37にプロセッサ12をイン
タフェース接続するための回路を備えている。処理中に
プロセッサ12への非ディスクアレイ関連部からのデー
タ転送、及びプロセッサ12からの非ディスクアレイ関
連部へのデータ転送は、プロセッサローカルバス26を
通じ、さらに第1のインタフェースチップ14を通じて
実行される。これは、図6に示しめしたように従来の設
計にはない利点である。従来のアーキテクチャは、非デ
ィスクアレイ関連部のデータ転送がPCIローカルバス
を通じて実行される。そのため利用可能な帯域幅の一部
を使用してしまうことになる。逆に、本発明のアーキテ
クチャでは、PCIローカルバス28を通じた転送にお
ける非ディスクアレイ関連部がアクティビティとならな
い。これによって、PCIローカルバス28を通じたデ
ィスクアレイ関連部データ転送に使用可能な帯域幅が減
少しないように出来る。
【0029】第2のインタフェース回路16は、ホスト
PCIローカルバス30にPCIローカルバス28をイ
ンタフェース接続するための回路を備えている。図3に
示すように、第2のインタフェース回路16は、第1の
PCIインタフェース回路40と、第2のPCIインタ
フェース回路41及び高帯域DMA(ダイレクトメモリ
アクセス)インタフェース回路42とを有している。
【0030】第1のPCIインタフェース40は、既存
のソフトウエアドライバがPCIによるコントローラ1
0で動作することによって、ソフトウエアへの悪影響を
最小限にできる従来のSCRIPTSエンジン処理を実
行する。特に、ホスト装置31は、ディスク読み書きオ
ペレーション処理を開始する場合にPCIによるコント
ローラ10との通信を行うために、その処理能力が向上
したディスクアレイドライバのみならず既存のSCSI
装置ドライバを用いる。
【0031】例えば、ホスト装置31が別々のブロック
に格納されている64キロバイトのデータをホストメモ
リを通じてディスクドライブへ書き込む場合、ホスト装
置31が、第1のPCIインタフェース40のSCRI
PTSエンジンへ従来の分散−集合リスト(scatter-ga
therlist)にかかる処理を実行する。この分散−集合リ
ストは、書き込みデータブロックがホストメモリでのマ
ッピングを示している。第1のPCIインタフェース4
0で実行されるSCRIPTSエンジンは、ホスト装置
から書き込みデータのブロックを取り出す連結(linke
d)DMA(ダイレクトメモリアクセス)処理を実行す
るように分散−集合リストを用いる。第2のPCIイン
タフェース41は、書き込みデータのブロックがディス
クドライブ33への記憶であることを示すように、別々
の分散−集合リストを作成する従来からのSCRIPT
Sエンジン処理を実行する。
【0032】このようにして、転送された書き込みデー
タ長は、例えば、64キロバイトは、第2のインタフェ
ース回路16の両端で、そのデータ長が同一である。し
かしながら、第1及び第2のPCIインタフェース4
0,42内のSCRIPTSエンジンは、別々に動作し
ており、DMAインタフェース44を通じて一つの分散
−集合リストから別々の分散−集合リストへ書き込みデ
ータのブロックを転送する。加えて、DMAインタフェ
ースは、第1のPCIインタフェース40と第2のPC
Iインタフェース41との間の動作速度を低減し、又は
バッファリングを処理する。例えば、ディスクアレイP
CIローカルバス20が、33MHzで動作する一方、
ホスト装置PCIローカルバス30は、25MHzで動
作するように出来る。
【0033】第3のインタフェース回路18は、PCI
ローカルバス28上の装置に対してPCIローカルバス
マスタとして動作し、プロセッサ12に対してはPCI
バスマスタ及びPCIバススレーブの両方として動作す
る。
【0034】図4に示すように、第3のインタフェース
回路は、インテル486ステートマシンなどの第1ステ
ートマシンを実行する回路44と、PCIローカルバス
ステートマシンのような第2ステートマシンとして実行
回路46と、4ワードデータバッファ48と、4ワード
アドレスバッファ50と、第2レベルキャッシュ制御回
路52と、アービトレーションロジック54とを有して
いる。
【0035】回路44,46で実現される第1及び第2
ステートマシンは、連動して、既知の方法によるPCI
ローカルバス28サイクル又はコントロール信号に相当
するようなプロセッサ12バスサイクル又はコントロー
ル信号の変換を行う。加えて、回路44,46で実現さ
れる第1及び第2ステートマシンは、ある当業者に周知
なように、PCIローカルバス28サイクルに相当する
ようにプロセッサ12バーストモード命令実行サイクル
の変換を行うことによって、プロセッサ12バーストモ
ードコード及びデータが、PCIローカルバス28を通
じて取り出せるようになる。
【0036】特に、回路44で実行された第1ステート
マシンは、プロセッサ12のインテル80486SX/
DX/DX2バーストモード命令実行サイクルを適切な
PCIローカル/バス28サイクルに変換する。この適
切なPCIローカル/バス28サイクルは、PCIロー
カルバスの仕様「第2.1版であるタイトルの前記した
出版物」に掲載されている。プロセッサ12バーストモ
ード命令実行サイクルは、本明細書に参照として示すイ
ンテル80486XXデータブックに記載されている。
第3のインタフェース回路18は、DRAM22からP
CIローカルバス28を通じて線形アドレスの順番でプ
ロセッサコード及び/又はデータを取り出すための、か
つ、プロセッサ12によって要求される非線形アドレス
の順番でプロセッサ12へコード/データを示すための
回路を備えている。
【0037】4ワードデータ及びアドレスバッファ4
8,50は、PCIローカルバス28に接続された装置
に通知した書き込み(posted writes)を実行するため
に用いられる。処理中にプロセッサ12からの書き込み
データが、PCIローカルバス28がアドレスバッファ
50に指定された装置に書き込みデータを転送するまで
データバッファ48に格納される。加えて、プロセッサ
12がDRAM22の連続したメモリアドレスへ多くを
指示した書き込み処理を実行する場合、プロセッサ12
から通知された書き込みデータが、アドレスバッファ5
0からPCIローカルバス28を通じてバースト転送さ
れる。
【0038】第2レベルキャッシュ制御回路52(図
4)は、一つ以上の制御ライン58(図1)を通じてオ
プションのルックアサイド第2のキャッシュ56(図
1)に対する処理を実行する。適切なルックアサイド第
2レベルのキャッシュは、CXK78486Q1−33
(キャッシュ−1C)総合キャッシュ/コントローラチ
ップ、又はCX784862Q−33(キャッシュ−
2)総合キャッシュ/コントローラチップであり、両方
ともSONY株式会社から入手可能である。このSON
Yチップは、(図1の)点線で示すようにプロセッサロ
ーカルバス26に直接接続することによって、また、第
3のインタフェース回路18へ最少処理による接続のル
ックアサイド方法によってデータのキャッシュ処理を実
行する。これによって、プロセッサのインテル8048
6ファミリーと連動した動作を行う。第2レベルのキャ
ッシュ56を支援処理するために必要なキャッシュ制御
回路は、既知のインテル82424ZXCDCチップへ
の処理実行するような第3のインタフェースチップ18
に設けられるよりも、第2レベルのキャッシュ56の内
部に設けられている。第3のインタフェース回路18
は、プロセッサ12から要求された特別なコード/デー
タが、プロセッサ12又は第2レベルのキャッシュ56
の内部の第1レベルのキャッシュに存在しない場合に、
DRAM22又はディスクドライブ33からコード/デ
ータを取り出す支援処理回路を有している。
【0039】PCIアービトレーションロジック54
は、リクエストライン55a及びグラントライン55b
を通じてPCIローカルバス28に接続された全ての装
置間のアービトレーション(競合要求の監視、管理)を
処理する。PCIローカルバス28について、アービト
レーションを処理装置が設けられていない場合、定義に
よって第3のインタフェース回路18が、プロセッサ1
2のバーストコード命令実行オペレーション処理中にD
RAM22からコードを取り出すなど、PCIローカル
バス18を通じたプロセッサ12バスサイクルの処理を
実行するために用いられるPCIローカルバス18への
アクセス実行を行うことが出来る。既知の多くのアービ
トレーションスキームが、第3のインタフェース回路1
8におけるインンプレメンテーション処理に適してい
る。
【0040】図2は、SCSIバス−SCSIバス間の
ディスクアレイコントローラ60の構成を示している。
図1及び図2では、同一装置に同一符号を付してある。
コントローラ60は、第2のインタフェースチップ16
(図1)に代えてPCIローカルバス28に接続された
第2の入出力プロセッサ(IOP)62を備えている。
第2の入出力プロセッサ62は、SCSIケーブルなど
の一つ以上のケーブル64を通じ、かつ、ホスト装置
(図示せず)のスロット(図示せず)によってホストS
CSIバス70へ接続されているSCSIホストアダプ
タ68に連動する第3の入出力プロセッサ(IOP)6
6に接続されている。
【0041】データは、53C825ASCSI入出力
プロセッサチップなどの第2の入出力プロセッサ62と
第3の入出力プロセッサ63との間で、約20メガバイ
ト/秒、又は53C875チップでは40メガバイト/
秒の、それぞれ転送速度で処理される。対照的に、デー
タはPCIローカルバス28の特定のデータ転送速度で
ある132メガバイト/秒の転送速度で第1のPCIイ
ンタフェース40と第2のPCIインタフェース41と
の間(図3)で処理される。
【0042】このように、第2の入出力プロセッサ62
は、第2のPCIインタフェース41(図3)と同様に
動作し、第3の入出力プロセッサ66が、第1のPCI
インタフェース40(図3)と同様に動作する。このよ
うにして、データは、図2に示したディスクアレイコン
トローラ60における共通のSCSIインタフェースに
よって、分散−集合リストから別々の分散−集合リスト
に転送される。対照的に、第2のインタフェース回路1
6(図1)は、コントローラ10における広帯域のDM
Aインタフェース42(図3)によって分散−集合リス
トから別々の分散−集合リストにデータを転送する。
【0043】本発明のディスクアレイコントローラアー
キテクチャでは、バーストモードコード/データが、第
3のインタフェース回路18を通じ、かつ、PCIロー
カルバス28を通じて取り出せるようになる。さらに、
第3のインタフェース回路18を通じたPCIローカル
バス28までのコード/データキャッシングケイパビリ
ティが処理できるようになり、内部ローカルバス26を
通じた補助バス38が帯域幅を使用することによって、
コントローラ10のプライス/パフォーマンス効率が改
善される。
【0044】本発明は、上記の図をもって例示し、その
詳細な説明を行ったが、このような例示や説明の記載内
容は、一例であり、これに限定されない。すなわち、好
適な実施形態のみを示して説明しているものであり、本
発明の趣旨を逸脱しない変更及び修正をも包含するもの
である。
【図面の簡単な説明】
【図1】第1の実施形態のPCIに基づくディスクアレ
イコントローラを示すブロック図である。
【図2】第2の実施形態のPCIに基づくディスクアレ
イコントローラを示すブロック図である。
【図3】図1に示すディスクアレイコントローラにおけ
る第2のインタフェース回路を示すブロック図である。
【図4】図1及び図2に示すディスクアレイコントロー
ラにおける第3のインタフェース回路を示すブロック図
である。
【図5】従来技術のパーソナルコンピュータ環境におけ
るPCIローカルバスシステムアーキテクチャを示すブ
ロック図である。
【図6】従来技術のディスクアレイコントローラ環境に
おけるPCIローカルバスシステムアーキテクチャを示
すブロック図である。
【符号の説明】
10 ディスクアレイコントローラ 12 メインプロセッサ 14 第1のインタフェース回路 16 第2のインタフェース回路 18 第3のインタフェース回路 20 RAIDパリティアシスト(RPA)回路 22 RAM装置 24 入出力プロセッサ(IOP) 26 内部ローカルバス 28 PCIローカルバス 30 ホストPCIローカルバス 31 ホスト装置 32 チャネル 33 ディスクドライブ 40 第1のPCIインタフェース 41 第2のPCIインタフェース 42 DMAインタフェース 48 データバッファ 50 アドレスバッファ 52 第2レベルキャッシュ制御回路 54 アービトレーションロジック
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−287217(JP,A) 特開 平6−348647(JP,A) 特開 平9−114596(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/06

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】 プロセッサ、第1のバス及びコントロー
    ラ・リソースを有し、ホスト装置とディスク装置との間
    に接続されるコントローラにおけるデータを転送する方
    法であって、 前記プロセッサは、 前記第1のバスによって前記ホスト装置と前記ディスク
    装置との間で第1のデータを転送するステップと、 前記第1のバスの帯域幅を減少させることなく前記プロ
    セッサと前記コントローラ・リソースとの間で第2のデ
    ータを転送するステップと、 を有することを特徴とするディスクアレイデータ転送の
    スループットを改善する方法。
  2. 【請求項2】 前記コントローラは、さらに第2のバス
    を有し、 前記第2のデータを転送するステップが、前記第2のバ
    スを通じて前記プロセッサと前記コントローラ・リソー
    スとの間で第2のデータを転送することを特徴とする請
    求項1記載の方法。
  3. 【請求項3】 前記プロセッサが内部バスを備え、前記
    第2のデータ転送において、さらに前記内部バスと前記
    第2のバスとの間でインタフェース処理を実行するステ
    ップを有することを特徴とする請求項2記載の方法。
  4. 【請求項4】 前記プロセッサが、インテル80486
    マイクロプロセッサであることを特徴とする請求項1記
    載の方法。
  5. 【請求項5】 前記第1のバスが、PCIローカルバス
    であることを特徴とする請求項1記載の方法。
  6. 【請求項6】 プロセッサ、第1のバス及びコントロー
    ラ・リソースを有し、ホスト装置とディスク装置との間
    に接続されるコントローラにおけるデータを転送する方
    法であって、 前記コントローラは、 前記コントローラに第1のバス及び第2のバスを接続す
    るステップと、 前記ディスク装置と前記ホスト装置との間に前記第1の
    バスを接続するステップと、 前記プロセッサと前記コントローラ・リソースとの間に
    前記第2のバスを接続するステップと、 前記第1のバスを通じて前記ディスク装置と前記ホスト
    装置との間で第1のデータを転送するステップと、 前記第1のバスの帯域幅を減少させることなく前記第2
    のバスを通じて前記プロセッサと前記コントローラ・リ
    ソースとの間で第2のデータを転送するステップと、 を有することを特徴とするディスクアレイデータ転送の
    スループットを改善する方法。
  7. 【請求項7】 前記プロセッサは内部バスを備え、前記
    第2のデータを転送するステップが、前記内部バスと前
    記第2のバスとの間でのインタフェースを処理するステ
    ップを有することを特徴とする請求項6記載の方法。
  8. 【請求項8】 前記プロセッサが、インテル80486
    マイクロプロセッサであることを特徴とする請求項6記
    載の方法。
  9. 【請求項9】 前記第1のバスが、PCIローカルバス
    であることを特徴とする請求項6記載の方法。
  10. 【請求項10】 ホスト装置及びディスク装置に接続さ
    れたコントローラにおいて、 プロセッサと、 前記ホスト装置と前記ディスク装置との間に接続された
    第1のバスと、 コントローラ・リソースと、 前記プロセッサと前記コントローラ・リソースとの間に
    接続された第2のバスと、を有し、 前記プロセッサと前記コントローラ・リソースとの間の
    全データ転送を前記第1のバスの帯域幅を減少させるこ
    となく実行することを特徴とするコントローラ。
  11. 【請求項11】 前記プロセッサと前記コントローラ・
    リソースとの間の全データ転送が、前記第2のバスを通
    じて実行されることを特徴とする請求項10記載のコン
    トローラ。
  12. 【請求項12】 前記プロセッサは内部バスを備え、前
    記コントローラが、さらに前記内部バスと前記第2のバ
    スとの間に接続されたインタフェース回路を有すること
    を特徴とする請求項10記載のコントローラ。
  13. 【請求項13】 前記プロセッサが、インテル8048
    6マイクロプロセッサであることを特徴とする請求項1
    0記載の方法。
  14. 【請求項14】 前記第1のバスが、PCIローカルバ
    スであることを特徴とする請求項10記載の方法。
JP19305696A 1995-07-24 1996-07-23 コントローラにおけるディスクアレイデータ転送のスループットを改善する方法及び装置 Expired - Fee Related JP3187720B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/506,148 1995-07-24
US08/506,148 US5729705A (en) 1995-07-24 1995-07-24 Method and apparatus for enhancing throughput of disk array data transfers in a controller

Publications (2)

Publication Number Publication Date
JPH09114596A JPH09114596A (ja) 1997-05-02
JP3187720B2 true JP3187720B2 (ja) 2001-07-11

Family

ID=24013394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19305696A Expired - Fee Related JP3187720B2 (ja) 1995-07-24 1996-07-23 コントローラにおけるディスクアレイデータ転送のスループットを改善する方法及び装置

Country Status (4)

Country Link
US (1) US5729705A (ja)
EP (1) EP0756235A1 (ja)
JP (1) JP3187720B2 (ja)
KR (1) KR100271118B1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
DE69434381T2 (de) 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
US5884050A (en) * 1996-06-21 1999-03-16 Digital Equipment Corporation Mechanism for high bandwidth DMA transfers in a PCI environment
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5950225A (en) * 1997-02-28 1999-09-07 Network Appliance, Inc. Fly-by XOR for generating parity for data gleaned from a bus
US5966534A (en) 1997-06-27 1999-10-12 Cooke; Laurence H. Method for compiling high level programming languages into an integrated processor with reconfigurable logic
US6098114A (en) * 1997-11-14 2000-08-01 3Ware Disk array system for processing and tracking the completion of I/O requests
US6134630A (en) 1997-11-14 2000-10-17 3Ware High-performance bus architecture for disk array system
US6138176A (en) * 1997-11-14 2000-10-24 3Ware Disk array controller with automated processor which routes I/O data according to addresses and commands received from disk drive controllers
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US5941972A (en) * 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6504854B1 (en) * 1998-04-10 2003-01-07 International Business Machines Corporation Multiple frequency communications
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6560573B1 (en) * 1999-07-30 2003-05-06 Emc Corporation Storage controller with hardware emulation controller for emulation between control processor and transfer circuitry compatible to different processor
KR100375816B1 (ko) * 2000-10-10 2003-03-15 조용범 디지털신호 처리 프로세서의 hpi와 dma인터페이스를 가진 pci 버스 컨트롤러
KR20020032136A (ko) * 2000-10-25 2002-05-03 박성훈 메모리를 이용한 대용량 보조기억장치
US7020770B2 (en) * 2002-07-12 2006-03-28 Lsi Logic Corporation Method and apparatus for configuration of RAID controllers
US7219169B2 (en) * 2002-09-30 2007-05-15 Sun Microsystems, Inc. Composite DMA disk controller for efficient hardware-assisted data transfer operations
WO2012089154A1 (zh) * 2010-12-30 2012-07-05 成都市华为赛门铁克科技有限公司 存储阵列和存储系统及数据访问方法
CN102063274B (zh) * 2010-12-30 2013-10-09 华为技术有限公司 存储阵列和存储系统及数据访问方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965801A (en) * 1987-09-28 1990-10-23 Ncr Corporation Architectural arrangement for a SCSI disk controller integrated circuit
EP0416331B1 (en) * 1989-08-31 1995-05-17 Yokogawa Electric Corporation Line computer
GB9018992D0 (en) * 1990-08-31 1990-10-17 Ncr Co Internal bus for work station interfacing means
EP0487901A3 (en) * 1990-11-29 1992-09-23 Hewlett-Packard Company Disk controller using a video ram
US5253348A (en) * 1990-12-28 1993-10-12 Apple Computer, Inc. Method of arbitration for buses operating at different speeds
US5287476A (en) * 1991-06-07 1994-02-15 International Business Machines Corp. Personal computer system with storage controller controlling data transfer
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
US5289418A (en) * 1992-02-14 1994-02-22 Extended Systems, Inc. Memory apparatus with built-in parity generation
US5379384A (en) * 1992-06-05 1995-01-03 Intel Corporation Configuration data loopback in a bus bridge circuit
US5434976A (en) * 1992-09-28 1995-07-18 Standard Microsystems Corporation Communications controller utilizing an external buffer memory with plural channels between a host and network interface operating independently for transferring packets between protocol layers
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5522050A (en) * 1993-05-28 1996-05-28 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5542053A (en) * 1994-11-30 1996-07-30 International Business Machines Corporation Bridge interface between two buses of a computer system with a direct memory access controller programmed by a scatter/gather programmer

Also Published As

Publication number Publication date
JPH09114596A (ja) 1997-05-02
US5729705A (en) 1998-03-17
KR100271118B1 (ko) 2000-11-01
KR970007655A (ko) 1997-02-21
EP0756235A1 (en) 1997-01-29

Similar Documents

Publication Publication Date Title
JP3187720B2 (ja) コントローラにおけるディスクアレイデータ転送のスループットを改善する方法及び装置
US6526477B1 (en) Host-memory based raid system, device, and method
US6370611B1 (en) Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data
JP3328141B2 (ja) コンピュータ・システム及びコントローラ
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US7206899B2 (en) Method, system, and program for managing data transfer and construction
US7562249B2 (en) RAID system, RAID controller and rebuilt/copy back processing method thereof
US6813688B2 (en) System and method for efficient data mirroring in a pair of storage devices
JP3151008B2 (ja) ディスクセクタ解析方法
US5937174A (en) Scalable hierarchial memory structure for high data bandwidth raid applications
US7877526B2 (en) Data processing system having a channel adapter shared by multiple operating systems
US6636927B1 (en) Bridge device for transferring data using master-specific prefetch sizes
EP1310874A2 (en) Fly-by XOR
US5694581A (en) Concurrent disk array management system implemented with CPU executable extension
US5996046A (en) Parity generation system for generating new parity using old data in temporary storage without accessing main disk storage of disk drive
US6529989B1 (en) Intelligent expansion ROM sharing bus subsystem
US6370616B1 (en) Memory interface controller for datum raid operations with a datum multiplier
US5771247A (en) Low latency error reporting for high performance bus
WO1999034273A2 (en) Automated dual scatter/gather list dma
US7188303B2 (en) Method, system, and program for generating parity data
US7162565B1 (en) Universal serial bus interface to mass storage device
US7143234B2 (en) Bios storage array
US7886310B2 (en) RAID control method and core logic device having RAID control function
JPS61253570A (ja) バス制御方式

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

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

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090511

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100511

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110511

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120511

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130511

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees