JP2000056931A - 格納管理システム - Google Patents
格納管理システムInfo
- Publication number
- JP2000056931A JP2000056931A JP11175854A JP17585499A JP2000056931A JP 2000056931 A JP2000056931 A JP 2000056931A JP 11175854 A JP11175854 A JP 11175854A JP 17585499 A JP17585499 A JP 17585499A JP 2000056931 A JP2000056931 A JP 2000056931A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- entity
- controller
- mirror
- 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.)
- Pending
Links
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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2097—Error 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 maintaining the standby controller/processing unit updated
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2089—Redundant storage control functionality
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Multi Processors (AREA)
Abstract
タ格納空間のコヒーレントで整合性のあるメモリ・イメ
ージをすべてのプロセッサに与えるミラー・メモリ・デ
ィスク・アレイ・コントローラを提供する。 【解決手段】ディスク・アレイ・コントローラは、冗長
イメージを保持するためにそれぞれが不揮発性メモリを
有する2つの同一のコントローラを備え、ホットプラグ
・インタフェースは、2つのコントローラを相互接続
し、各コントローラは、2つのコントローラ間のホット
プラグ・インタフェースを介してCRC保護されたメモ
リ・トランザクションの共有を可能にするオートRAI
Dメモリ・トランザクション・マネージャを備え、ま
た、オートRAIDメモリ・トランザクション・マネー
ジャは、いずれのコントローラがトランザクションを発
生させたかに関わらず、メモリ・トランザクションの順
序付けられた実行を容易にする。
Description
別ディスクの冗長アレイ)データ格納システムなどのデ
ータ格納システムに関する。特に、本発明は、ホットプ
ラグ・インタフェースを介して複数のプロセッサに、コ
ヒーレントな(一貫して)、整合性のあるメモリ・イメ
ージを提供するデータ格納システムのためのディスク・
アレイ・コントローラに関する。
納システムは、単一の大容量格納システムを形成するよ
う配列および調整された複数の格納ディスク・ドライブ
装置を有する。大容量格納システムのための一般的な設
計目的としては、メガバイト単位で低コストを実現する
こと、高い入出力性能を提供すること、および高いデー
タ可用性を提供することが含まれる。データ可用性に
は、ディスクまたは構成要素の障害時の動作継続を保証
する際に、格納システムに格納されたデータにアクセス
することができることが含まれる。データ可用性は、し
ばしば、データまたはデータ間の関係が格納システムの
複数のロケーションに格納されている、という冗長また
はデータ間の関連を使用することによって与えられる。
障害時に、冗長データは、システムの動作可能な部分か
ら検索され、構成要素の障害によって失われた元のデー
タを再生するために使用される。
る一般的な方法として、ミラーおよびパリティという2
つの方法がある。ミラー冗長では、データは複製されて
格納システムの2つの別々の領域に格納される。パリテ
ィ冗長では、冗長データは格納システムの1つの領域に
格納されるが、冗長格納領域のサイズは、原データを格
納するのに使用される残りの格納空間より小さい。
納システムは、物理格納容量の一部が冗長データの格納
に使用されるディスク・アレイ・システムである。概し
て、RAIDシステムは、略称RAIDに順に数字を付
した6つのアーキテクチャのうちの1つで特徴が表され
る。RAID0アーキテクチャは、冗長がまったく無く
構成されたディスク・アレイ・システムである。このア
ーキテクチャは本当は冗長アーキテクチャでないため、
RAID0はしばしばRAIDシステムの議論からは省
かれる。
に従って構成された格納ディスクを含む。原データは、
1セットのディスク上に格納され、データの複製コピー
は、別のディスク上に保持される。RAID2〜RAI
D5アーキテクチャは、すべてパリティ・タイプの冗長
格納を含む。特に興味深いことには、RAID5システ
ムは、すべてのディスクにデータおよびパリティ情報を
分散する。一般に、ディスクは、「ブロック」と呼ばれ
る等しいサイズのアドレス領域に分割される。同じ装置
アドレス値域を有する、各ディスクからのブロックの組
(セット)は、「ストライプ」と呼ばれる。RAID5
において、各ストライプは、N個のデータ・ブロック
と、N個のブロック内のデータについての冗長情報を含
む1つのパリティ・ブロックとを有する。
は、ストライプ間で異なるディスクに亙って循環する。
例えば、5つのディスクを有するRAID5では、第1
のストライプのためのパリティ・ブロックは、5番目の
ディスク上にあり、第2のストライプのためのパリティ
・ブロックは、4番目のディスク上にあり、第3のスト
ライプのためのパリティ・ブロックは、3番目のディス
ク上にある(以下、同様)。後に続くストライプのため
のパリティ・ブロックは、概して、ヘリカル(螺旋)・
パターン(他のパターンも可能であるが)でディスク・
ドライブに亙って「前進する(precess)」。RAID
2〜RAID4アーキテクチャは、パリティ・ブロック
を計算してディスク上に配置する方法がRAID5と異
なっている。
術によってデータを格納することが可能になる。階層R
AIDシステムでは、データは、RAID1およびRA
ID5などの複数のRAIDアーキテクチャによって格
納することができ、それによって、冗長技術の利点およ
び欠点のトレードオフが可能になる。
undancy Management(データ格納冗長管理によるメモリ
・システム)」という名称のJacobson等による米国特許
第5,392,244号では、データ格納状態および空
間の要求の変化に従って、あるRAIDタイプから他の
RAIDタイプへデータを移送することができる階層R
AIDシステムについて開示されている。この特許は、
Hewlett-Packard Companyに譲渡されたが、物理格納空
間が、ミラーおよびパリティRAID領域(例えば、R
AID1およびRAID5)を有するRAIDレベルの
仮想格納空間にマップされる、マルチレベルRAIDア
ーキテクチャについて述べている。そして、RAIDレ
ベルの仮想格納空間は、アプリケーション・レベルの仮
想格納空間にマップされ、それにより、ユーザに1つの
大きい連続してアドレス指定可能な空間が与えられる。
動作中に、アプリケーション・レベルの仮想空間におい
てユーザの格納要求が変化した場合、データは、その変
化に適応するために、RAIDレベルの仮想空間におい
てミラーRAID領域とパリティRAID領域との間で
移送することができる。例えば、ミラー冗長に従って一
旦格納されたデータは、パリティ冗長を使用してシフト
および格納することができ、またその逆も可能である。
ドミニストレータ(管理部)は、動作状態の定義および
論理格納装置(すなわちLUN)の確立を非常に柔軟に
行うことができる。一例として、RAIDシステムは、
最初に、最適な実行RAID1構成によりユーザ・デー
タを格納することができる。ユーザ・データがアレイ容
量の50%に近づいて超えた場合、ディスク・アレイ・
システムは、RAID1およびRAID5の両方に従っ
てデータを格納し始めることができ、格納要求の変化に
従って連続してRADI1およびRAID5間でデータ
を動的に移送することができる。動作中いつでも、デー
タはすべてのディスク上にRAID1またはRAID5
として格納することができる。RAID1およびRAI
D5格納の混合により、データI/O(入力/出力)が
動的に変化する。これにより、システムは増加するユー
ザ・データに対する性能を最適化することができる。
・インタフェースを介して、データ格納空間のコヒーレ
ントで整合性のあるメモリ・イメージをすべてのプロセ
ッサに与えるミラー・メモリ・ディスク・アレイ・コン
トローラを提供する。データを読出しまたは書込みしよ
うとするホスト処理に対し、メモリ・イメージは、ホッ
トプラグ・インタフェースを介して同じに見える。
ントローラは、冗長イメージを保持するために、それぞ
れが不揮発性メモリを有する2つの同一のコントローラ
を有する。ホットプラグ・インタフェースは、2つのコ
ントローラを相互接続する。各コントローラは、2つの
コントローラ間のホットプラグ・インタフェースを介し
てCRC保護されたメモリ・トランザクションの共有を
可能にするAutoRAID(以下オートRAIDと表
記する)メモリ・トランザクション・マネージャを有す
る。また、オートRAIDメモリ・トランザクション・
マネージャは、いずれのコントローラがトランザクショ
ンを発生させたかに関わらず、メモリ・トランザクショ
ンの順序付けられた実行を容易にする。ミラー読出しお
よび書込みトランザクションは、ホットプラグ・インタ
フェースにより自動的に操作される。
バス26を介してデータ格納システム24に接続された
ホスト・コンピュータ22を有するコンピュータ・シス
テム20を示す。ホスト・コンピュータ22は、例えば
サーバまたはワークステーションとして構成することが
できる汎用コンピュータである。コンピュータ22は、
視覚表示モニタ28、中央処理装置(CPU)30、キ
ーボード32およびマウス34を備えている。また、プ
リンタ、テープ、CD−ROM、ネットワーク・インタ
フェース等などの他のデータ・エントリおよび出力周辺
装置を含むこともできる。図1において、ホスト・コン
ピュータ22は、ネットワーク36に接続されており、
データ格納システム24から1または複数のクライアン
ト(図示せず)にデータを供給する。
タおよび他の情報を保持する。好ましい実施の形態で
は、データ格納システム24は、異なる冗長方式に従っ
てデータを格納できる階層RAIDシステムである。ホ
スト・コンピュータ22は、管理部に対し、RAIDシ
ステム24内のメモリ空間を構成し、診断を行い、性能
を評価し、あるいはRAID格納システムを管理するイ
ンタフェースを提供する。
データ格納システム24をより詳細に示す。コンピュー
タ22は、プロセッサ40、揮発性メモリ42(すなわ
ちRAM)、キーボード32、マウス34、不揮発性メ
モリ44(例えば、ROM、ハード・ディスク、フロッ
ピー・ディスク、CD−ROM等)およびディスプレイ
28を有する。アドミニストレータ・モジュール46
は、メモリ44に格納され、プロセッサ40上で実行さ
れる。アドミニストレータ・モジュール46は、診断、
性能の見直し、LUN配列分析および容量分析等の管理
機能を提供する。アドミニストレータ・モジュール48
は、ディスプレイ28上に視覚インタフェースを提供す
る格納マネージャ・グラフィカル・ユーザ・インタフェ
ース(UI)48を支援する。
ィスク52を有するディスク・アレイ50、ディスク・
アレイ・コントローラ(以下、単にコントローラとい
う)54およびRAID管理システム56を有する。コ
ントローラ54は、小型計算機システム・インタフェー
ス(SCSI)などの1または複数のインタフェース・
バス58を介して、ディスク・アレイ50に接続されて
いる。RAID管理システム56は、インタフェース・
プロトコル60を介してコントローラ54に接続されて
いる。なお、RAID管理システム56は、別個の構成
要素(図示のように)としても、コントローラ54内に
組込むようにしても、あるいはホスト・コンピュータ2
2内に組込むようにしてもよい。RAID管理システム
56は、好ましくは、データ格納システム24の処理ユ
ニット上で、あるいは、コンピュータ22のプロセッサ
40上で実行するソフトウエア・モジュールである。
0との間のデータ転送を調整する。コントローラ54
は、2つの同一のコントローラ・ボード、すなわち第1
のコントローラ54aおよび第2のコントローラ54b
を有する。コントローラを並列に設けることにより、1
つのコントローラが動作不能となった場合に連続したバ
ックアップおよび冗長さを提供することで、信頼性を向
上させることができる。並列なコントローラ54a、5
4bは、各々ミラー・メモリ62a、62bを有する。
ミラー・メモリ62a、62bは、好ましくは、バッテ
リでバックアップされた不揮発性のRAM(NVRA
M)として構成されている。ここでは概して、2つのコ
ントローラ54a、54bのみを示しそれについて説明
しているが、本発明の他の局面では、3つ以上のコント
ローラを使用する他のマルチ・コントローラ構成に拡張
することもできる。
かの種類の情報を格納する。ミラー・メモリ62a、6
2bは、ディスク・アレイ50の格納空間の密接した
(cohesive)メモリ・マップの複製コピーを保持する。
このメモリ・マップは、ディスク上でデータおよび冗長
情報が格納されている場所、および利用できる空き空間
の位置する場所を追跡する。ミラー・メモリのビュー
(見え方)は、ホットプラグ・インタフェースを介して
一貫しており、データの読出しまたは書込みを行おうと
する外部の処理に対しても同様である。
ディスク・アレイ50から読み出されているデータを保
持する読出しキャッシュを維持する。各読出し要求は、
コントローラ間で共有される。更に、ミラー・メモリ6
2a、62bは、書込みキャッシュの2つの複製可能な
コピーを有する。各書込みキャッシュは、ディスク・ア
レイ50に書出される前にデータを一時的に格納する。
デュアル・コントローラの特定の実施の1つが、Peters
en等の名義で1997年12月16日に発行されHewlet
t-Packard Companyに譲渡された、「Failure Detection
System for a Mirrored Memory Dual Controller Disk
Storage System(ミラー・メモリ・デュアル・コント
ローラ・ディスク格納システムの故障検出システム)」
という名称の米国特許第5,699,510号に記載さ
れている。
2bは、ホットプラグ・インタフェース64を介して物
理的に接続されている。本発明が欠如していると、ホッ
トプラグ・インタフェース64により、単一の故障点が
メモリ62a、62b両方を破壊するという問題が起こ
る可能性がある。本発明の一局面では、このような破壊
が防止され、2つのメモリが格納空間の複製されたイメ
ージを正確に保持することが保証される。概して、コン
トローラ62a、62bは、データが正確に転送される
こと、およびトランザクションの順序付け(例えば、読
出し/書込みの順序付け)が保たれることを保証するた
めに、それらの間のデータ転送を監視する。
ントローラをより詳細に示す。コントローラ・ボード5
4a、54bに加えて、ディスク・アレイ・コントロー
ラは、2つのI/Oモジュール70a、70b、ディス
プレイ72および2つの電源74a、74bを備えてい
る。I/Oモジュール70a、70bは、各コントロー
ラ54a、54bとホスト・コンピュータ22との間の
データ転送を容易にする。1つの実施例では、I/Oモ
ジュール70a、70bは、ファイバ・チャネル技術を
採用するが、他のバス技術を使用してもよい。電源74
a、74bは、コントローラ54、ディスプレイ72お
よびI/Oモジュール70を含むコントローラ54内の
他の構成要素に、電源を供給する。
モジュール70a、70bを介してホストから信号を受
信するために接続されたコンバータ78a、78bを有
している。各コンバータ78a、78bは、あるバス・
フォーマット(例えば、ファイバ・チャネル)から別の
バス・フォーマット(例えば、PCI)に信号を変換す
る。第1のPCIバス80a、80bは、信号をオート
RAIDメモリ・トランザクション・マネージャ82
a、82bに送信し、オートRAIDメモリ・トランザ
クション・マネージャ82a、82bは、ミラー化した
コントローラ内のNVRAM62a、62bへまたはそ
れらからの全てのミラー化したメモリ・トランザクショ
ン・トラフィックを処理する。オートRAIDメモリ・
トランザクション・マネージャは、メモリ・マップを保
持し、パリティを計算し、他方のコントローラとの相互
通信を容易にする。オートRAIDメモリ・トランザク
ション・マネージャ82a、82bは、好ましくは、集
積回路(例えば、特定用途向けIC、すなわちASI
C)として実現される。
・マネージャ82a、82bは、高速バス84a、84
bを介してNVRAM62a、62bに接続されると共
に、第2のPCIバス86a、86bを介して他の処理
要素および格納要素と接続されている。各コントローラ
54a、54bは、PCIバス86a、86bに接続さ
れた少なくとも1つのCPU88a、88bといくつか
の種類のメモリを有している。メモリには、DRAM9
0a、90b、フラッシュ・メモリ92a、92bおよ
びキャッシュ94a、94bがある。
・マネージャ82a、82bは、ホットプラグ・インタ
フェース64(図2)を介して互いに接続されている。
ホットプラグ・インタフェース64は、NVRAMバス
84a、84bに適応したデータ転送速度で、2つのオ
ートRAIDメモリ・トランザクション・マネージャ8
2a、82bの間の双方向並列通信を支援する。
イント・ツー・ポイント・バス96およびI2Cバス9
8を使用して実現されている。ポイント・ツー・ポイン
ト・バス96は、ミラー・メモリのコントローラ54
a、54b間でメモリ・トランザクション・データを移
送する複数ビット・バスである。I2Cバス98は、マ
イクロプロセッサ通信、周辺装置間通信等を媒介する。
・マネージャ82a、82bは、ハイレベル・パケット
・プロトコルを採用して、ホットプラグ・インタフェー
ス64のバス96を介してパケットでトランザクション
を交換する。オートRAIDメモリ・トランザクション
・マネージャ82a、82bは、データがコントローラ
間を正確に転送されることを保証するために、パケット
の誤り訂正を実行する。
・マネージャ82a、82bは、ホットプラグ・インタ
フェース64を介して、一貫したメモリ・イメージを供
給する。また、オートRAIDメモリ・トランザクショ
ン・マネージャ82a、82bは、メモリ・トランザク
ションの適切な順序列(シーケンス)を保証する順序付
けされたインタフェースを支援する順序付けメカニズム
を提供する。
クション・マネージャをより詳細に示す。説明のため
に、オートRAIDメモリ・トランザクション・マネー
ジャは、概して、「a」および「b」は示さずに82と
いう番号で参照する。図4において、オートRAIDメ
モリ・トランザクション・マネージャは、同一に構成さ
れている要素82a、82bのいずれかを表す。
・マネージャ82は、PCIインタフェース100、N
VRAMインタフェース102、NWayエンティティ
(インタフェース)104、ミラー・エンティティ10
6およびトランスバス・エンティティ108を有する。
PCIインタフェース100は、コンバータ78を介し
てPCIバス80によるI/Oモジュール70との間の
データ転送、およびPCIバス86によるCPU88と
の間のデータ転送を容易にする。PCIインタフェース
100は、メモリ・トランザクション・マネージャ82
内の他のエンティティとの間で転送されているトランザ
クション・データを一時的に保持するバッファ110を
備える。
しおよび書込みトランザクション要求を処理し、ローカ
ルNVRAM62へまたはそこからのデータ転送を容易
にする。
ーラ間のホットプラグ・インタフェースによるリモート
・メモリ・トランザクションの転送を容易にする。上述
したように、トランザクションはパケットで転送され、
パケットは、転送が有効であることを保証するために誤
り訂正がなされる。NWayエンティティ104は、ト
ランザクション・データを保持する1または複数のバッ
ファ112、ホットプラグ・インタフェースを介して他
のコントローラと交換されているパケットを保持するデ
ータ・メモリ114、および個々のパケットまたはまと
まったパケット群についての誤り訂正を実行するCRC
ユニット116を備える。
とミラー・メモリ・トランザクションを処理し、トラン
スバス・エンティティ108を介してそれらを順序付け
る。ミラー・エンティティ106は、そのようなトラン
ザクションを、ミラー読出し、ミラー書込みおよびミラ
ー空間におけるローカル読出しとして適応させる。ミラ
ー・エンティティ106は、バッファ118およびデー
タ・メモリ120を備える。トランザクション・キュー
122は、バッファ118およびデータ・メモリ120
の両方または一方から形成される。
り、異なる構成要素100〜106は命令を発行するこ
とができるようになる。トランスバス・エンティティ1
08は、メモリ・エンティティ106内のトランザクシ
ョン・キュー122と共に、コントローラで受信される
トランザクションを順序付ける順序付け機能を提供す
る。
つの構成要素100〜106を相互接続する多重アクセ
ス・バス124を制御する。PCIインタフェース10
0、NWayインタフェース104およびミラー・エン
ティティ106は、トランスバス・エンティティ108
上でトランザクションを起動し、4つの構成要素100
〜106すべてが、トランスバス・エンティティ108
からトランザクションを受信する。トランスバス・エン
ティティ108は、要求のソース(すなわち、ソースI
D)、アクセスのアドレスおよび他の属性を識別する。
して4つの構成要素100〜106間で移動する。トラ
ンザクションの発信元として動作する各構成要素につい
て、1つのコールバック・バス126が存在する。PC
Iインタフェース100、NWayインタフェース10
4およびミラー・エンティティ106は、コールバック
・バス126を有する。
例証するために、いくつかのトランザクションについて
以下に説明する。これらのトランザクションを、以下の
順序で説明する。すなわち、ミラー読出し、ローカル読
出し、ミラー書込みおよび並列書込みの順序である。ト
ランザクションを、図3および図4を参照して、デュア
ル・コントローラのコンテキスト(状況)において説明
する。しかしながら、トランザクションは、3つ以上の
コントローラを含む他のマルチ・コントローラにおいて
実行するようにしてもよい。
て、コントローラ54a、54bは、ミラー・メモリ6
2a、62b内のメモリ・マップを使用して、要求され
たデータをディスク・アレイに配置する。そして、その
データは、ミラー・メモリ62a、62bに保持された
読出しキャッシュに一時的に格納される。コントローラ
54aが、ホストからI/Oモジュール70aを介し
て、ディスク・アレイからデータを読出すという要求を
受信するものとする。コントローラのCPU88aは、
要求を処理して、ミラー・メモリ62a、62bからの
データの読出しを含むミラー読出し要求を生成させる。
ミラー読出し要求は、オートRAIDメモリ・トランザ
クション・マネージャ82aのPCIインタフェース1
00に送信される。
aおよびそのオートRAIDメモリ・トランザクション
・マネージャ82aは、ミラー読出し要求を受信して発
信するため、「ローカル」コントローラおよびマネージ
ャと呼ばれる。第2のコントローラ54bおよびそのオ
ートRAIDメモリ・トランザクション・マネージャ8
2bは、「リモート」コントローラおよびマネージャと
呼ばれる。このミラー読出しトランザクションにおい
て、ローカル・マネージャおよびリモート・マネージャ
は、以下のステップを実行する。
は、特定のデータについて、バス124を介してトラン
スバス・エンティティ108に対し要求を行う。この要
求には、メモリ・アドレス、バイトの数、および読出し
動作であることの指示等が含まれる。
は、トランスバス・エンティティ108からそれ自身の
ものとして要求を受信し、その要求をトランザクション
・キュー122に保存する。トランザクション・キュー
122は、ローカル・マネージャ82a上で処理されて
いるあらゆる要求に関する順序を保持する。
・キュー122の最上位にくると、ミラー・エンティテ
ィ106は、トランスバス・エンティティ108に対し
NWayエンティティ104について、リモート・メモ
リ・トランザクション・マネージャ82bからミラー・
メモリ・データのコピーを取得するという要求を行う。
ミラー・エンティティ106からの要求には、PCIイ
ンタフェースによりステップ1で行われた原要求と同じ
情報(すなわち、メモリ・アドレス、バイト数等)が含
まれている。
は、読出し要求をパケットにパッケージ化し、CRCユ
ニット116を使用してそのパケットについてのCRC
値を計算する。NWayエンティティ104は、NWa
yバス96を介して、リモート・オートRAIDメモリ
・トランザクション・マネージャ82bの対応するNW
ayエンティティに、読出し要求パケットを転送する。
ィは、有効な転送を保証するためにCRC値を検査し、
リモート・トランスバス・エンティティを介してリモー
トNVRAMインタフェースに対し、上記特定のデータ
を読み出すという要求を行う。リモートNWayエンテ
ィティは、ローカルNWayエンティティ104に対
し、要求が適切に受信され、実行するよう通知がなされ
たことを示す応答を返信する。
カルNWayエンティティ104は、トランスバス・エ
ンティティ108を介してローカルNVRAMインタフ
ェース102に対し、上記特定のデータを読み出すとい
う要求を行う。
ェースおよびリモートNVRAMインタフェースは、並
列して、各NVRAM62a、62bから同じデータを
検索する。ローカルNVRAMインタフェース102
は、データをコールバック・バス126に配置する。リ
モートNVRAMインタフェースは、リモート・ミラー
・エンティティが監視しているコールバック・バスにデ
ータを配置する。そして、リモート・ミラー・エンティ
ティは、リモートNWayエンティティに対し、データ
をローカル・マネージャ82aに転送するという要求を
行う。リモートNWayエンティティは、データをパッ
ケージ化し、パケットの誤り訂正を行い、NWayバス
96を介してローカルNWayエンティティ104にパ
ケットを転送する。
ィ104は、有効な転送を保証するためにCRC値を検
査し、データをコールバック・バス126に通知する。
ローカル・ミラー・エンティティ106は、NVRAM
インタフェース102およびNWayエンティティ10
4からのコールバック・バス126を監視する。ローカ
ル・データがNVRAMインタフェース102から受信
され、リモート・コピーがNWayエンティティ104
から受信されると、ミラー・エンティティ106は、2
つのバージョンを比較してそれらが一致することを確か
める。一致するということは、データが有効であること
を示す。
すると、ミラー・エンティティ106は、データをPC
Iインタフェース100に戻るコールバック・バス12
6に配置する。PCIインタフェース100は、データ
がどこから来るのか(例えば、ミラー・エンティティか
らかNVRAMインタフェースからか)を知らないた
め、各コールバック・バスを監視している。そして、P
CIインタフェース100は、結果をホストに対する戻
りとしてCPUまたはコンバータに返信する。
が、読出し比較動作を必要としない読出し要求を受信す
るものとする。ローカル・コントローラ54aは、リモ
ート・コントローラからのコピーを要求することなく、
それ自身のメモリからデータを読出すことができる。ロ
ーカル読出しトランザクションにおいて、ローカル・オ
ートRAIDメモリ・トランザクション・マネージャ
は、以下のステップを実行する。
は、ローカルNVRAM62a上のあるデータについ
て、バス124を介してトランスバス・エンティティ1
08に要求を行う。その要求には、メモリ・アドレス、
バイトの数、および読出し動作であることの指示等が含
まれる。
は、トランスバス・エンティティ108からそれ自身の
ものとして要求を受取り、その要求をトランザクション
・キュー122に保存する。このようにして、ローカル
読出しは、上述したミラー読出しトランザクションを含
む他の種類のトランザクションと共に順序正しく処理さ
れる。
上位にくると、ミラー・エンティティ106は、トラン
スバス・エンティティ108に対してローカル読出し要
求を行う。NVRAMインタフェース102は、要求を
受取り、NVRAM62aからデータを検索する。NV
RAMインタフェース102は、データをコールバック
・バス126に配置する。
は、返信データがあるかコールバック・バス126を監
視している。そして、PCIインタフェース100は、
ホストへの戻りとして、結果をCPUまたはコンバータ
に返信する。
4bは、(1)ミラー・メモリに保持された書込みキャ
ッシュ内にデータを格納し、(2)ミラー・メモリのメ
モリ・マップを更新することにより、ミラー書込み要求
を処理する。コントローラ54aが、ディスク・アレイ
上の特定のロケーションにデータを書込むという書込み
要求を受信したとする。書込み要求は、PCIバスから
PCIインタフェース100に受信される。そして、ロ
ーカル・オートRAIDメモリ・トランザクション・マ
ネージャおよびリモート・オートRAIDメモリ・トラ
ンザクション・マネージャは、以下のステップを実行す
る。
は、バス124を介してトランスバス・エンティティ1
08に対して書込み要求を行う。その要求には、メモリ
・アドレス、書込まれるデータに対するポインタ、およ
びミラー書込み動作であることの指示等が含まれる。
は、トランスバス・エンティティ108から書込み要求
を受取り、トランザクション・キュー122にその要求
を保存する。上述した場合と同様、トランザクション・
キュー122は、あらゆるメモリ・トランザクション間
の順序を保持している。
上位にくると、ミラー・エンティティ106は、NWa
yエンティティ104による受入れとして、書込み要求
をトランスバス・エンティティ108に戻す。この時点
で、ミラー・エンティティ106は処理を終了する。
は、書込み要求をパケットにパッケージ化し、CRCユ
ニット116を使用してそのパケットのCRC値を計算
する。NWayエンティティ104は、NWayバス9
6を介して、リモート・オートRAIDメモリ・トラン
ザクション・マネージャ82bの対応するNWayエン
ティティに、書込み要求パケットを転送する。
ィは、有効な転送を保証するためにCRC値を検査し、
リモート・トランスバス・エンティティを介してリモー
トNVRAMインタフェースに、上記特定のデータを読
み出すという要求を行う。リモートNWayエンティテ
ィは、ローカルNWayエンティティ104に対し、要
求が適切に受信され、実行するよう通知されたことを示
す応答を返信する。
カルNWayエンティティ104は、トランスバス・エ
ンティティ108を介してローカルNVRAMインタフ
ェース102に対し、ミラー・メモリ62a内の書込み
キャッシュにデータを書込むという要求を行う。
ェースおよびリモートNVRAMインタフェースは、各
NVRAM62a、62bの書込みキャッシュに同じデ
ータを書込む。ローカルNVRAMインタフェース10
2は、書込みが完了すると、コールバック・バス126
に応答をのせる。
ス100は、肯定応答(acknowledgement)を受信するか
コールバック・バスを監視し、NVRAMインタフェー
ス102から肯定応答を受信すると、ミラー書込み完了
の肯定応答を返信する。
ンザクションには、ローカル・コントローラ54a上の
CPU88aが、特定のメモリ・ロケーションへの書込
みを要求し、リモート・コントローラ54b上のCPU
88bが、同じメモリ・ロケーションへの書込みを要求
する状態が含まれる。この状態では、ミラー・メモリ・
ディスク・アレイ・コントローラは、書込み要求が順序
付けられ完全に完了することを保証するように設計され
ている。このようにするために、デュアル・コントロー
ラ54a、54bは、マスタ/スレーブまたは主/副の
役割を担い、それにより、一方のコントローラには、順
序付けトランザクションのタスクが与えられ、他方のコ
ントローラは、その順序付けに従うことを応諾する。い
ずれのコントローラがマスタまたは主であるかの決定
は、前構成プロセスの一部として前もって処理しておく
ことができ、または、そのような状態が起こった時にコ
ントローラによって折衝(ネゴシエート)することもで
きる。
4aがマスタまたは主コントローラであり、リモート・
コントローラ54bがスレーブまたは副コントローラで
あるものとする。書込み要求は、PCIバスから、マス
タおよびスレーブのオートRAIDメモリ・トランザク
ション・マネージャ82a、82bの各PCIインタフ
ェースで受信される。そして、マスタおよびスレーブの
オートRAIDメモリ・トランザクション・マネージャ
82a、82bは、以下のステップを実行する。
Iインタフェースは、トランスバス・エンティティに書
込み要求を行う。その要求には、メモリ・アドレス、書
込まれるデータへのポインタ、およびミラー書込み動作
であることの指示等が含まれる。
ランスバス・エンティティから書込み要求を受取り、そ
のトランザクション・キューに要求を配置する。
くると、ミラー・エンティティは、NWayエンティテ
ィによる受入れに対しトランスバス・エンティティに書
込み要求を戻す。
込み要求をCRC保護されたパケットとして、NWay
バス96を介して対向するNWayエンティティに転送
する。また、受信の応答が交換される。
カルおよびリモートのNWayエンティティは、各NV
RAMインタフェースに対し、トランスバス・エンティ
ティを介して、ミラー・メモリ62a、62b内の書込
みキャッシュにデータを書込むという要求を行う。ステ
ップ4およびステップ5の結果として、2つの書込みト
ランザクションは、オートRAIDメモリ・トランザク
ション・マネージャ内のトランスバス・エンティティに
通知される。これら書込みトランザクションの順序は、
「マスタ」コントローラ(この場合、コントローラ54
a)のトランスバス・エンティティにおける順序で制御
される。従って、リモート(またはスレーブ)・コント
ローラ54aからの書込み要求が通知される前に、マス
タ・コントローラ54aにローカルに受信された書込み
要求が、最初にローカル・トランスバス・エンティティ
108に通知される場合、ローカルに受信された書込み
要求は、最初に処理される。逆に、リモート(またはス
レーブ)・コントローラ54aからの他の書込み要求が
通知された後に、マスタ・コントローラ54aにローカ
ルに受信された書込み要求が、ローカル・トランスバス
・エンティティ108に通知された場合、リモートに受
信された書込み要求は、最初に処理される。スレーブ・
オートRAIDメモリ・トランザクション・マネージャ
は、この順序付けに従う。
VRAMインタフェースは、各NVRAM62a、62
bの書込みキャッシュに、取得した書込み要求のデータ
を書込む。NVRAMインタフェースは、書込みが完了
した時に、コールバック・バスに各応答を配置する。
定応答についてコールバック・バスを監視し、受信する
とともに、ミラー書込みの完了の応答を返信する。
読出しおよび書込みトランザクションは、ホットプラグ
・インタフェースを介して原子的に処理される。コント
ローラは、両方のNVRAMについて読出しおよび書込
み動作を実行するか、または両NVRAMについての実
行を中断するように設計されている。このようにして、
両NVRAMにあるイメージは、同一のまま維持され
る。
レイ・コントローラは、ホットプラグ・インタフェース
を介して一貫したメモリ・マップを維持するため、有益
である。デュアル・コントローラ、特にオートRAID
メモリ・トランザクション・マネージャは、インタフェ
ースを介してCRC保護されたメモリ・トランザクショ
ンを支援し、本質的に、トランザクションの順序付けさ
れた実行を容易にする。
たは方法論的なステップに特有の用語で説明してきた
が、特許請求の範囲で定義される発明は、説明した特定
の特徴またはステップに必ずしも限定されない。むし
ろ、特定の特徴およびステップは、請求された発明を実
現する好ましい形態として開示されている。
が、以下、本発明の各実施態様の例を示す。
ムのための格納管理システムであって、ホットプラグ・
インタフェース(64)を介して相互接続された少なく
とも2つのコントローラ(54a、54b)を具備し、
前記コントローラの各々は、前記データ格納システムに
よって供給される格納空間の冗長イメージを格納するた
めの不揮発性メモリ(62a、62b)と、前記不揮発
性メモリを含むメモリ・トランザクションを順序付けす
ると共に、有効な転送を保証する方法で前記ホットプラ
グ・インタフェースを介して前記メモリ・トランザクシ
ョンの送信および受信を容易にするメモリ・トランザク
ション・マネージャ(82a、82b)とを有すること
を特徴とする格納管理システム。
揮発性メモリによって提供される前記冗長イメージは、
データを読出しまたは書込みしようとする外部プロセス
に対し、前記ホットプラグ・インタフェースを介して同
一に現れる実施態様1記載の格納管理システム。
ョン・マネージャは、有効な転送を保証するために、C
RC保護されたパケットで前記メモリ・トランザクショ
ンを交換する実施態様1記載の格納管理システム。
ョン・マネージャは、前記メモリ・トランザクションの
順序付けを行うためのトランザクション・キューを有す
る実施態様1記載の格納管理システム。
前記メモリ・トランザクション・マネージャは、原子的
な方法で、前記不揮発性メモリの各々について前記メモ
リ・トランザクションを実行する実施態様1記載の格納
管理システム。
らコントローラすべてに対する前記メモリ・トランザク
ションの順序付けについての主な応答責任を有するよう
に、前記メモリ・トランザクション・マネージャの一方
を指定する実施態様1記載の格納管理システム。
ョン・マネージャは、前記メモリ・トランザクションを
順序付けするミラー・エンティティ(106)と、前記
不揮発性メモリに関して前記メモリ・トランザクション
を実行するローカル・メモリ・インタフェース(10
2)と、前記ホットプラグ・インタフェースを介して前
記メモリ・トランザクションの送信および受信を容易に
するバス・インタフェース(104)とを備えた実施態
様1記載の格納管理システム。
ローラのためのオートRAIDメモリ・トランザクショ
ン・マネージャであって、多重アクセス・バスを制御す
るトランスバス・エンティティ(108)と、バスから
メモリ・トランザクションを受信すると共に、前記アク
セス・バスに前記メモリ・トランザクションを伝える第
1のバス・インタフェース(100)と、前記アクセス
・バスに接続され、前記第1のバス・インタフェースに
よって受信される前記メモリ・トランザクションを処理
し、前記メモリトランザクションの順序付けを行うミラ
ー・エンティティ(106)と、前記アクセス・バスに
接続され、前記ミラー・エンティティから前記メモリ・
トランザクションを受信すると共に、ローカル・メモリ
に関連して前記メモリ・トランザクションを実行するロ
ーカル・メモリ・インタフェース(102)と、前記ア
クセス・バスに接続され、リモート・ミラー・メモリに
対する前記メモリ・トランザクションの転送を容易にす
る第2のバス・インタフェース(104)とを具備する
オートRAIDメモリ・トランザクション・マネージ
ャ。
は、ある順序で前記メモリ・トランザクションを保持す
るトランザクション・キューを備えた実施態様8記載の
オートRAIDメモリ・トランザクション・マネージ
ャ。
フェースは、前記メモリ・トランザクションを1または
複数のパケットにパッケージ化すると共に、前記1また
は複数のパケットについて誤り訂正値を計算する実施態
様8記載のオートRAIDメモリ・トランザクション・
マネージャ。
タを読出しまたは書込みしようとするホスト処理に対
し、メモリ・イメージは、ホットプラグ・インタフェー
スを介して同じに見える構成を有するので、ホットプラ
グ・インタフェースを介して、データ格納空間のコヒー
レントで整合性のあるメモリ・イメージをすべてのプロ
セッサに与えるミラー・メモリ・ディスク・アレイ・コ
ントローラを提供することができる。
ピュータの構成を示す概略図である。
ステムとして示されるデータ格納システムの構成を示す
ブロック図である。
納システムにおけるミラー・メモリ・ディスク・アレイ
・コントローラの構成を示すブロック図である。
ーラで実現されるオートRAIDメモリ・トランザクシ
ョン・マネージャの構成を示すブロック図である。
ョン・マネージャ 100:PCIインタフェース 102:NVRAMインタフェース 104:NWayエンティティ(NWayインタフェー
ス) 106:ミラー・エンティティ 108:トランスバス・エンティティ
Claims (1)
- 【請求項1】RAIDデータ格納システムのための格納
管理システムであって、 ホットプラグ・インタフェースを介して相互接続された
少なくとも2つのコントローラを具備し、 前記コントローラの各々は、 前記データ格納システムによって供給される格納空間の
冗長イメージを格納するための不揮発性メモリと、 前記不揮発性メモリを含むメモリ・トランザクションを
順序付けすると共に、有効な転送を保証する方法で前記
ホットプラグ・インタフェースを介して前記メモリ・ト
ランザクションの送信および受信を容易にするメモリ・
トランザクション・マネージャとを有することを特徴と
する格納管理システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US103,329 | 1998-06-23 | ||
US09/103,329 US6230240B1 (en) | 1998-06-23 | 1998-06-23 | Storage management system and auto-RAID transaction manager for coherent memory map across hot plug interface |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000056931A true JP2000056931A (ja) | 2000-02-25 |
Family
ID=22294601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11175854A Pending JP2000056931A (ja) | 1998-06-23 | 1999-06-22 | 格納管理システム |
Country Status (3)
Country | Link |
---|---|
US (2) | US6230240B1 (ja) |
EP (1) | EP0967552A3 (ja) |
JP (1) | JP2000056931A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856427B2 (en) | 2011-06-08 | 2014-10-07 | Panasonic Corporation | Memory controller and non-volatile storage device |
Families Citing this family (121)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3481485B2 (ja) * | 1999-01-28 | 2003-12-22 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム |
JP3769413B2 (ja) * | 1999-03-17 | 2006-04-26 | 株式会社日立製作所 | ディスクアレイ制御装置 |
US6421755B1 (en) * | 1999-05-26 | 2002-07-16 | Dell Usa, L.P. | System resource assignment for a hot inserted device |
US6513093B1 (en) * | 1999-08-11 | 2003-01-28 | International Business Machines Corporation | High reliability, high performance disk array storage system |
JP3458804B2 (ja) * | 1999-12-27 | 2003-10-20 | 日本電気株式会社 | 情報記録装置およびその制御方法 |
US6801954B1 (en) * | 2000-02-25 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem |
US6594724B1 (en) * | 2000-03-30 | 2003-07-15 | Hitachi Global Storage Technologies Netherlands B.V. | Enhanced DASD with smaller supplementary DASD |
US6802022B1 (en) * | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
US6842823B1 (en) | 2000-04-14 | 2005-01-11 | Stratus Technologies Bermuda Ltd | Methods and apparatus for persistent volatile computer memory |
US6791564B1 (en) | 2000-05-05 | 2004-09-14 | Ipfirst, Llc | Mechanism for clipping RGB value during integer transfer |
KR100364895B1 (ko) * | 2000-06-12 | 2002-12-16 | 아라리온 (주) | 데이터 액세스 제어 방법 및 시스템 |
US6978356B2 (en) | 2000-06-19 | 2005-12-20 | Storage Technology Corporation | System to support dynamically flexible data definitions and storage requirements |
US6968463B2 (en) | 2001-01-17 | 2005-11-22 | Hewlett-Packard Development Company, L.P. | System for controlling access to resources in a storage area network |
GB2371886B (en) * | 2001-01-31 | 2005-06-22 | Hewlett Packard Co | Storage apparatus |
US7624265B1 (en) * | 2001-02-14 | 2009-11-24 | Emc Corporation | Methods and apparatus for establishing communications with a data storage system |
US6546459B2 (en) * | 2001-03-15 | 2003-04-08 | Hewlett Packard Development Company, L. P. | Redundant data storage systems and methods of operating a redundant data storage system |
US20020143779A1 (en) * | 2001-03-27 | 2002-10-03 | Backman Drake A. | Data structures and methods for imaging computer readable media |
US6792505B2 (en) * | 2001-04-16 | 2004-09-14 | International Business Machines Corporation | System apparatus and method for storage device controller-based message passing having effective data channel bandwidth and controller cache memory increase |
US6915397B2 (en) * | 2001-06-01 | 2005-07-05 | Hewlett-Packard Development Company, L.P. | System and method for generating point in time storage copy |
US6877016B1 (en) * | 2001-09-13 | 2005-04-05 | Unisys Corporation | Method of capturing a physically consistent mirrored snapshot of an online database |
US7340555B2 (en) | 2001-09-28 | 2008-03-04 | Dot Hill Systems Corporation | RAID system for performing efficient mirrored posted-write operations |
US7437493B2 (en) * | 2001-09-28 | 2008-10-14 | Dot Hill Systems Corp. | Modular architecture for a network storage controller |
US7146448B2 (en) | 2001-09-28 | 2006-12-05 | Dot Hill Systems Corporation | Apparatus and method for adopting an orphan I/O port in a redundant storage controller |
US7062591B2 (en) * | 2001-09-28 | 2006-06-13 | Dot Hill Systems Corp. | Controller data sharing using a modular DMA architecture |
US7536495B2 (en) | 2001-09-28 | 2009-05-19 | Dot Hill Systems Corporation | Certified memory-to-memory data transfer between active-active raid controllers |
US7143227B2 (en) * | 2003-02-18 | 2006-11-28 | Dot Hill Systems Corporation | Broadcast bridge apparatus for transferring data to redundant memory subsystems in a storage controller |
US7315911B2 (en) | 2005-01-20 | 2008-01-01 | Dot Hill Systems Corporation | Method for efficient inter-processor communication in an active-active RAID system using PCI-express links |
US6931487B2 (en) * | 2001-10-22 | 2005-08-16 | Hewlett-Packard Development Company L.P. | High performance multi-controller processing |
US20030084397A1 (en) * | 2001-10-31 | 2003-05-01 | Exanet Co. | Apparatus and method for a distributed raid |
AU2002361603A1 (en) * | 2001-11-09 | 2003-05-26 | Chaparral Network Storage, Inc. | Transferring data using direct memory access |
US6996741B1 (en) | 2001-11-15 | 2006-02-07 | Xiotech Corporation | System and method for redundant communication between redundant controllers |
US7093043B2 (en) * | 2001-12-27 | 2006-08-15 | Hewlett-Packard Development Company, L.P. | Data array having redundancy messaging between array controllers over the host bus |
JP4219602B2 (ja) * | 2002-03-01 | 2009-02-04 | 株式会社日立製作所 | 記憶制御装置および記憶制御装置の制御方法 |
US6947981B2 (en) * | 2002-03-26 | 2005-09-20 | Hewlett-Packard Development Company, L.P. | Flexible data replication mechanism |
US7032131B2 (en) * | 2002-03-26 | 2006-04-18 | Hewlett-Packard Development Company, L.P. | System and method for ensuring merge completion in a storage area network |
US7007042B2 (en) * | 2002-03-28 | 2006-02-28 | Hewlett-Packard Development Company, L.P. | System and method for automatic site failover in a storage area network |
US7035953B2 (en) * | 2002-05-03 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Computer system architecture with hot pluggable main memory boards |
US20030217211A1 (en) * | 2002-05-14 | 2003-11-20 | Rust Robert A. | Controller communications over an always-on controller interconnect |
US6938124B2 (en) * | 2002-07-19 | 2005-08-30 | Hewlett-Packard Development Company, L.P. | Hardware assisted communication between processors |
US7069465B2 (en) * | 2002-07-26 | 2006-06-27 | International Business Machines Corporation | Method and apparatus for reliable failover involving incomplete raid disk writes in a clustering system |
US7337269B2 (en) * | 2002-10-03 | 2008-02-26 | Hewlett Packard Development Company, L.P. | Method of managing a data storage array, and a computer system including a raid controller |
US6807605B2 (en) * | 2002-10-03 | 2004-10-19 | Hewlett-Packard Development Company, L.P. | Managing a data storage array, a data storage system, and a raid controller |
JP2004192105A (ja) * | 2002-12-09 | 2004-07-08 | Hitachi Ltd | 記憶装置の接続装置およびそれを含むコンピュータシステム |
US6941396B1 (en) * | 2003-02-19 | 2005-09-06 | Istor Networks, Inc. | Storage controller redundancy using bi-directional reflective memory channel |
US7194568B2 (en) | 2003-03-21 | 2007-03-20 | Cisco Technology, Inc. | System and method for dynamic mirror-bank addressing |
US8301809B2 (en) * | 2003-07-02 | 2012-10-30 | Infortrend Technology, Inc. | Storage virtualization computer system and external controller thereof |
US20050015407A1 (en) * | 2003-07-17 | 2005-01-20 | International Business Machines Corporation | System and method of relational configuration mirroring |
JP4090400B2 (ja) * | 2003-07-24 | 2008-05-28 | 株式会社日立製作所 | ストレージシステム |
US20050038958A1 (en) * | 2003-08-13 | 2005-02-17 | Mike Jadon | Disk-array controller with host-controlled NVRAM |
US20050165617A1 (en) * | 2004-01-28 | 2005-07-28 | Patterson Brian L. | Transaction-based storage operations |
JP2005267239A (ja) * | 2004-03-18 | 2005-09-29 | Hitachi Global Storage Technologies Netherlands Bv | 記憶装置及び記憶装置間でファイルを転送する方法 |
US7178307B2 (en) * | 2004-04-02 | 2007-02-20 | Seagate Technology Llc | Reinforced shelf structure and method |
US7177145B2 (en) * | 2004-04-02 | 2007-02-13 | Seagate Technology Llc | Carrier device and method for a multiple disc array |
US7212412B2 (en) * | 2004-04-02 | 2007-05-01 | Seagate Technology Llc | Shelf with removable backplane |
US8090837B2 (en) | 2004-05-27 | 2012-01-03 | Hewlett-Packard Development Company, L.P. | Communication in multiprocessor using proxy sockets |
US7133291B2 (en) * | 2004-07-02 | 2006-11-07 | Seagate Technology Llc | Carrier device and method for a multiple disc array |
US7327564B2 (en) * | 2004-07-02 | 2008-02-05 | Seagate Technology Llc | Engagement system for a module in an electronics cabinet |
AT501011B1 (de) * | 2004-09-13 | 2006-10-15 | Polynet It Dienstleistungs G M | Spielkonsole |
US7310766B2 (en) * | 2004-10-07 | 2007-12-18 | International Business Machines Corporation | End-to-end data integrity protection for PCI-Express based input/output adapter |
US7730257B2 (en) * | 2004-12-16 | 2010-06-01 | Broadcom Corporation | Method and computer program product to increase I/O write performance in a redundant array |
JP4457019B2 (ja) * | 2005-01-05 | 2010-04-28 | 富士通株式会社 | 情報処理システム及び一次ストレージ装置 |
US7543096B2 (en) | 2005-01-20 | 2009-06-02 | Dot Hill Systems Corporation | Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory |
US8127088B2 (en) * | 2005-01-27 | 2012-02-28 | Hewlett-Packard Development Company, L.P. | Intelligent cache management |
US7301718B2 (en) * | 2005-01-31 | 2007-11-27 | Hewlett-Packard Development Company, L.P. | Recording errors in tape drives |
US20060230243A1 (en) * | 2005-04-06 | 2006-10-12 | Robert Cochran | Cascaded snapshots |
US7913038B2 (en) * | 2005-06-03 | 2011-03-22 | Seagate Technology Llc | Distributed storage system with accelerated striping |
US7984258B2 (en) * | 2005-06-03 | 2011-07-19 | Seagate Technology Llc | Distributed storage system with global sparing |
US7644228B2 (en) * | 2005-06-03 | 2010-01-05 | Seagate Technology Llc | Distributed storage system with global replication |
US20060288155A1 (en) * | 2005-06-03 | 2006-12-21 | Seagate Technology Llc | Storage-centric computer system |
CN101218571B (zh) * | 2005-06-27 | 2012-07-11 | 达西系统股份有限公司 | 执行镜像后置写入操作的系统及方法,和总线桥接器 |
US7447834B2 (en) | 2005-06-29 | 2008-11-04 | Emc Corproation | Managing serial attached small computer systems interface communications |
US7447833B2 (en) | 2005-06-29 | 2008-11-04 | Emc Corporation | Techniques for providing communications in a data storage system using a single IC for both storage device communications and peer-to-peer communications |
US7779218B2 (en) * | 2005-07-22 | 2010-08-17 | Hewlett-Packard Development Company, L.P. | Data synchronization management |
US7206156B2 (en) * | 2005-07-27 | 2007-04-17 | Hewlett-Packard Development Company, L.P. | Tape drive error management |
US7325078B2 (en) * | 2005-10-06 | 2008-01-29 | Hewlett-Packard Development Company, L.P. | Secure data scrubbing |
US7721053B2 (en) * | 2005-10-24 | 2010-05-18 | Hewlett-Packard Development Company, L.P. | Intelligent logical unit provisioning |
TW200723254A (en) * | 2005-12-08 | 2007-06-16 | Via Tech Inc | RAID (redundant arrays of independent disks) systems and set up methods thereto |
US7467268B2 (en) | 2006-04-14 | 2008-12-16 | Hewlett-Packard Development Company, L.P. | Concurrent data restore and background copy operations in storage networks |
US8453147B2 (en) * | 2006-06-05 | 2013-05-28 | Cisco Technology, Inc. | Techniques for reducing thread overhead for systems with multiple multi-threaded processors |
US8041929B2 (en) | 2006-06-16 | 2011-10-18 | Cisco Technology, Inc. | Techniques for hardware-assisted multi-threaded processing |
US7536508B2 (en) | 2006-06-30 | 2009-05-19 | Dot Hill Systems Corporation | System and method for sharing SATA drives in active-active RAID controller system |
US8363519B2 (en) * | 2006-06-30 | 2013-01-29 | Seagate Technology Llc | Hot data zones |
US7555599B2 (en) * | 2006-09-06 | 2009-06-30 | International Business Machines Corporation | System and method of mirrored RAID array write management |
CN100449472C (zh) * | 2006-09-08 | 2009-01-07 | 华为技术有限公司 | 一种处理磁盘热插拔的方法及装置 |
US8010966B2 (en) * | 2006-09-27 | 2011-08-30 | Cisco Technology, Inc. | Multi-threaded processing using path locks |
JP2008097527A (ja) * | 2006-10-16 | 2008-04-24 | Hitachi Ltd | ストレージシステム及びその制御方法 |
US7644204B2 (en) * | 2006-10-31 | 2010-01-05 | Hewlett-Packard Development Company, L.P. | SCSI I/O coordinator |
US7949841B2 (en) * | 2006-12-08 | 2011-05-24 | Microsoft Corporation | Protection of critical memory using replication |
US8112597B2 (en) * | 2006-12-08 | 2012-02-07 | Microsoft Corporation | Critical memory |
US7934027B2 (en) * | 2007-01-19 | 2011-04-26 | Hewlett-Packard Development Company, L.P. | Critical resource management |
US7681089B2 (en) | 2007-02-20 | 2010-03-16 | Dot Hill Systems Corporation | Redundant storage controller system with enhanced failure analysis capability |
US7992072B2 (en) * | 2007-02-26 | 2011-08-02 | International Business Machines Corporation | Management of redundancy in data arrays |
US7861031B2 (en) * | 2007-03-01 | 2010-12-28 | Hewlett-Packard Development Company, L.P. | Access control management |
US8024514B2 (en) * | 2007-03-01 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Access control management |
US7694079B2 (en) | 2007-04-04 | 2010-04-06 | Hewlett-Packard Development Company, L.P. | Tagged sequential read operations |
WO2009139115A1 (ja) * | 2008-05-12 | 2009-11-19 | パナソニック株式会社 | 半導体記録装置 |
US8554995B2 (en) * | 2008-07-29 | 2013-10-08 | Hewlett-Packard Development Company, L.P. | Connecting a storage subsystem and an electronic device with a control device that hides details of the storage subsystem |
CN101488077B (zh) * | 2009-02-24 | 2011-08-24 | 浪潮电子信息产业股份有限公司 | 冗余磁盘控制服务器系统 |
US8874628B1 (en) * | 2009-10-15 | 2014-10-28 | Symantec Corporation | Systems and methods for projecting hierarchical storage management functions |
JP4940322B2 (ja) * | 2010-03-16 | 2012-05-30 | 株式会社東芝 | 半導体メモリ映像蓄積再生装置及びデータ書込み/読出し方法 |
JP2011238038A (ja) * | 2010-05-11 | 2011-11-24 | Nec Corp | ディスクアレイ装置、ディスクアレイ装置制御方式、及び、ディスクアレイ装置制御プログラム |
US20110282963A1 (en) * | 2010-05-11 | 2011-11-17 | Hitachi, Ltd. | Storage device and method of controlling storage device |
JP5521816B2 (ja) * | 2010-06-18 | 2014-06-18 | 富士通株式会社 | 記憶装置、制御装置および記憶装置の制御方法 |
CN101984399B (zh) * | 2010-10-29 | 2014-11-05 | 中兴通讯股份有限公司 | 一种软独立冗余磁盘阵列的管理方法和系统 |
US8694866B2 (en) * | 2011-03-15 | 2014-04-08 | California Institute Of Technology | MDS array codes with optimal building |
US9292569B2 (en) | 2012-10-02 | 2016-03-22 | Oracle International Corporation | Semi-join acceleration |
US9679084B2 (en) * | 2013-03-14 | 2017-06-13 | Oracle International Corporation | Memory sharing across distributed nodes |
US9239797B2 (en) * | 2013-08-15 | 2016-01-19 | Globalfoundries Inc. | Implementing enhanced data caching and takeover of non-owned storage devices in dual storage device controller configuration with data in write cache |
RU2552151C2 (ru) * | 2013-09-17 | 2015-06-10 | Общество с ограниченной ответственностью "РЭЙДИКС" | Способ контроля корректности записи данных в двухконтроллерной системе хранения данных на массиве энергонезависимых носителей и устройство для его осуществления |
CN103746833B (zh) * | 2013-12-25 | 2017-02-01 | 新浪网技术(中国)有限公司 | 基于pxe的raid自动配置方法和系统 |
US9898414B2 (en) | 2014-03-28 | 2018-02-20 | Oracle International Corporation | Memory corruption detection support for distributed shared memory applications |
US9811413B2 (en) | 2014-07-30 | 2017-11-07 | Apple Inc. | Orphan block management in non-volatile memory devices |
CN105260137B (zh) * | 2015-09-28 | 2018-06-22 | 天津书生云科技有限公司 | 在sas存储系统中实现hba卡访问sata磁盘的方法及设备 |
WO2017140262A1 (zh) | 2016-02-18 | 2017-08-24 | 华为技术有限公司 | 数据更新技术 |
CN108572882B (zh) * | 2017-03-10 | 2020-07-14 | 华为技术有限公司 | 一种数据存储的方法及存储设备 |
US10776267B2 (en) | 2017-12-11 | 2020-09-15 | Red Hat, Inc. | Mirrored byte addressable storage |
US10467139B2 (en) | 2017-12-29 | 2019-11-05 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
US10452547B2 (en) | 2017-12-29 | 2019-10-22 | Oracle International Corporation | Fault-tolerant cache coherence over a lossy network |
CN108874311B (zh) * | 2018-05-29 | 2022-02-08 | 北京盛和大地数据科技有限公司 | 融合存储系统中的数据迁移方法和装置 |
US11086780B1 (en) * | 2020-03-23 | 2021-08-10 | EMC IP Holding Company LLC | Scratchpad journaling mechanism for performance optimization |
CN116501263B (zh) * | 2023-06-21 | 2023-09-12 | 苏州浪潮智能科技有限公司 | 数据存储装置、服务器、数据存储方法、电子设备和介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5432922A (en) * | 1993-08-23 | 1995-07-11 | International Business Machines Corporation | Digital storage system and method having alternating deferred updating of mirrored storage disks |
US5802394A (en) * | 1994-06-06 | 1998-09-01 | Starlight Networks, Inc. | Method for accessing one or more streams in a video storage system using multiple queues and maintaining continuity thereof |
US5479653A (en) * | 1994-07-14 | 1995-12-26 | Dellusa, L.P. | Disk array apparatus and method which supports compound raid configurations and spareless hot sparing |
DE69523124T2 (de) * | 1994-12-15 | 2002-05-29 | Hewlett Packard Co | Fehlererkennungssystem für einen gespiegelten Speicher in einer duplizierten Steuerung eines Plattenspeicherungssystems |
EP0721162A2 (en) * | 1995-01-06 | 1996-07-10 | Hewlett-Packard Company | Mirrored memory dual controller disk storage system |
US5548712A (en) * | 1995-01-19 | 1996-08-20 | Hewlett-Packard Company | Data storage system and method for managing asynchronous attachment and detachment of storage disks |
US5651133A (en) * | 1995-02-01 | 1997-07-22 | Hewlett-Packard Company | Methods for avoiding over-commitment of virtual capacity in a redundant hierarchic data storage system |
US5666512A (en) * | 1995-02-10 | 1997-09-09 | Hewlett-Packard Company | Disk array having hot spare resources and methods for using hot spare resources to store user data |
US5712970A (en) * | 1995-09-28 | 1998-01-27 | Emc Corporation | Method and apparatus for reliably storing data to be written to a peripheral device subsystem using plural controllers |
US5724501A (en) * | 1996-03-29 | 1998-03-03 | Emc Corporation | Quick recovery of write cache in a fault tolerant I/O system |
US5896492A (en) * | 1996-10-28 | 1999-04-20 | Sun Microsystems, Inc. | Maintaining data coherency between a primary memory controller and a backup memory controller |
US5960451A (en) * | 1997-09-16 | 1999-09-28 | Hewlett-Packard Company | System and method for reporting available capacity in a data storage system with variable consumption characteristics |
US6151659A (en) * | 1997-12-22 | 2000-11-21 | Emc Corporation | Distributed raid storage system |
-
1998
- 1998-06-23 US US09/103,329 patent/US6230240B1/en not_active Expired - Lifetime
- 1998-10-19 EP EP98119802A patent/EP0967552A3/en not_active Withdrawn
-
1999
- 1999-06-22 JP JP11175854A patent/JP2000056931A/ja active Pending
-
2001
- 2001-01-19 US US09/767,305 patent/US6397293B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8856427B2 (en) | 2011-06-08 | 2014-10-07 | Panasonic Corporation | Memory controller and non-volatile storage device |
Also Published As
Publication number | Publication date |
---|---|
US20010001871A1 (en) | 2001-05-24 |
EP0967552A2 (en) | 1999-12-29 |
EP0967552A3 (en) | 2006-08-23 |
US6230240B1 (en) | 2001-05-08 |
US6397293B2 (en) | 2002-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2000056931A (ja) | 格納管理システム | |
US5586291A (en) | Disk controller with volatile and non-volatile cache memories | |
US5548711A (en) | Method and apparatus for fault tolerant fast writes through buffer dumping | |
US6968425B2 (en) | Computer systems, disk systems, and method for controlling disk cache | |
US7783787B1 (en) | System and method for reprioritizing high-latency input/output operations | |
US5802345A (en) | Computer system with a reduced number of command end interrupts from auxiliary memory unit and method of reducing the number of command end interrupts | |
US5689678A (en) | Distributed storage array system having a plurality of modular control units | |
US6330642B1 (en) | Three interconnected raid disk controller data processing system architecture | |
US7197616B2 (en) | Virtual ordered writes | |
US7380082B2 (en) | Reading virtual ordered writes at local storage device | |
US7577788B2 (en) | Disk array apparatus and disk array apparatus control method | |
US6345368B1 (en) | Fault-tolerant access to storage arrays using active and quiescent storage controllers | |
US7783844B2 (en) | Shared/exclusive control scheme among sites including storage device system shared by plural high-rank apparatuses, and computer system equipped with the same control scheme | |
US7650467B2 (en) | Coordination of multiprocessor operations with shared resources | |
US20080276032A1 (en) | Arrangements which write same data as data stored in a first cache memory module, to a second cache memory module | |
US6604171B1 (en) | Managing a cache memory | |
US6728791B1 (en) | RAID 1 read mirroring method for host adapters | |
US7752340B1 (en) | Atomic command retry in a data storage system | |
US6801954B1 (en) | Method and apparatus to concurrently operate on multiple data movement transactions in a disk array subsystem | |
US7715378B1 (en) | Error notification and forced retry in a data storage system | |
US7526544B2 (en) | Message tracking method, apparatus, and system | |
US6701385B1 (en) | Raid 1 write mirroring method for host adapters | |
JP4708669B2 (ja) | パス冗長化装置及び方法 | |
JPH1027070A (ja) | データバックアップシステム | |
JP2854471B2 (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050607 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20050901 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050906 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051206 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051220 |