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
Application number
JP11175854A
Other languages
English (en)
Inventor
Steven L Shrader
スティーブン・エル・シュレーダー
Robert A Rust
ロバート・エイ・ラスト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JP2000056931A publication Critical patent/JP2000056931A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing

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

(57)【要約】 【課題】ホットプラグ・インタフェースを介して、デー
タ格納空間のコヒーレントで整合性のあるメモリ・イメ
ージをすべてのプロセッサに与えるミラー・メモリ・デ
ィスク・アレイ・コントローラを提供する。 【解決手段】ディスク・アレイ・コントローラは、冗長
イメージを保持するためにそれぞれが不揮発性メモリを
有する2つの同一のコントローラを備え、ホットプラグ
・インタフェースは、2つのコントローラを相互接続
し、各コントローラは、2つのコントローラ間のホット
プラグ・インタフェースを介してCRC保護されたメモ
リ・トランザクションの共有を可能にするオートRAI
Dメモリ・トランザクション・マネージャを備え、ま
た、オートRAIDメモリ・トランザクション・マネー
ジャは、いずれのコントローラがトランザクションを発
生させたかに関わらず、メモリ・トランザクションの順
序付けられた実行を容易にする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、階層RAID(個
別ディスクの冗長アレイ)データ格納システムなどのデ
ータ格納システムに関する。特に、本発明は、ホットプ
ラグ・インタフェースを介して複数のプロセッサに、コ
ヒーレントな(一貫して)、整合性のあるメモリ・イメ
ージを提供するデータ格納システムのためのディスク・
アレイ・コントローラに関する。
【0002】
【従来の技術】従来からのディスク・アレイ・データ格
納システムは、単一の大容量格納システムを形成するよ
う配列および調整された複数の格納ディスク・ドライブ
装置を有する。大容量格納システムのための一般的な設
計目的としては、メガバイト単位で低コストを実現する
こと、高い入出力性能を提供すること、および高いデー
タ可用性を提供することが含まれる。データ可用性に
は、ディスクまたは構成要素の障害時の動作継続を保証
する際に、格納システムに格納されたデータにアクセス
することができることが含まれる。データ可用性は、し
ばしば、データまたはデータ間の関係が格納システムの
複数のロケーションに格納されている、という冗長また
はデータ間の関連を使用することによって与えられる。
障害時に、冗長データは、システムの動作可能な部分か
ら検索され、構成要素の障害によって失われた元のデー
タを再生するために使用される。
【0003】ディスク・ドライブに冗長データを格納す
る一般的な方法として、ミラーおよびパリティという2
つの方法がある。ミラー冗長では、データは複製されて
格納システムの2つの別々の領域に格納される。パリテ
ィ冗長では、冗長データは格納システムの1つの領域に
格納されるが、冗長格納領域のサイズは、原データを格
納するのに使用される残りの格納空間より小さい。
【0004】RAID(独立ディスクの冗長アレイ)格
納システムは、物理格納容量の一部が冗長データの格納
に使用されるディスク・アレイ・システムである。概し
て、RAIDシステムは、略称RAIDに順に数字を付
した6つのアーキテクチャのうちの1つで特徴が表され
る。RAID0アーキテクチャは、冗長がまったく無く
構成されたディスク・アレイ・システムである。このア
ーキテクチャは本当は冗長アーキテクチャでないため、
RAID0はしばしばRAIDシステムの議論からは省
かれる。
【0005】RAID1アーキテクチャは、ミラー冗長
に従って構成された格納ディスクを含む。原データは、
1セットのディスク上に格納され、データの複製コピー
は、別のディスク上に保持される。RAID2〜RAI
D5アーキテクチャは、すべてパリティ・タイプの冗長
格納を含む。特に興味深いことには、RAID5システ
ムは、すべてのディスクにデータおよびパリティ情報を
分散する。一般に、ディスクは、「ブロック」と呼ばれ
る等しいサイズのアドレス領域に分割される。同じ装置
アドレス値域を有する、各ディスクからのブロックの組
(セット)は、「ストライプ」と呼ばれる。RAID5
において、各ストライプは、N個のデータ・ブロック
と、N個のブロック内のデータについての冗長情報を含
む1つのパリティ・ブロックとを有する。
【0006】RAID5において、パリティ・ブロック
は、ストライプ間で異なるディスクに亙って循環する。
例えば、5つのディスクを有するRAID5では、第1
のストライプのためのパリティ・ブロックは、5番目の
ディスク上にあり、第2のストライプのためのパリティ
・ブロックは、4番目のディスク上にあり、第3のスト
ライプのためのパリティ・ブロックは、3番目のディス
ク上にある(以下、同様)。後に続くストライプのため
のパリティ・ブロックは、概して、ヘリカル(螺旋)・
パターン(他のパターンも可能であるが)でディスク・
ドライブに亙って「前進する(precess)」。RAID
2〜RAID4アーキテクチャは、パリティ・ブロック
を計算してディスク上に配置する方法がRAID5と異
なっている。
【0007】階層データ格納システムにより、異なる技
術によってデータを格納することが可能になる。階層R
AIDシステムでは、データは、RAID1およびRA
ID5などの複数のRAIDアーキテクチャによって格
納することができ、それによって、冗長技術の利点およ
び欠点のトレードオフが可能になる。
【0008】「Memory Systems with Data Storage Red
undancy Management(データ格納冗長管理によるメモリ
・システム)」という名称のJacobson等による米国特許
第5,392,244号では、データ格納状態および空
間の要求の変化に従って、あるRAIDタイプから他の
RAIDタイプへデータを移送することができる階層R
AIDシステムについて開示されている。この特許は、
Hewlett-Packard Companyに譲渡されたが、物理格納空
間が、ミラーおよびパリティRAID領域(例えば、R
AID1およびRAID5)を有するRAIDレベルの
仮想格納空間にマップされる、マルチレベルRAIDア
ーキテクチャについて述べている。そして、RAIDレ
ベルの仮想格納空間は、アプリケーション・レベルの仮
想格納空間にマップされ、それにより、ユーザに1つの
大きい連続してアドレス指定可能な空間が与えられる。
動作中に、アプリケーション・レベルの仮想空間におい
てユーザの格納要求が変化した場合、データは、その変
化に適応するために、RAIDレベルの仮想空間におい
てミラーRAID領域とパリティRAID領域との間で
移送することができる。例えば、ミラー冗長に従って一
旦格納されたデータは、パリティ冗長を使用してシフト
および格納することができ、またその逆も可能である。
【0009】
【発明が解決しようとする課題】データ移送により、ア
ドミニストレータ(管理部)は、動作状態の定義および
論理格納装置(すなわちLUN)の確立を非常に柔軟に
行うことができる。一例として、RAIDシステムは、
最初に、最適な実行RAID1構成によりユーザ・デー
タを格納することができる。ユーザ・データがアレイ容
量の50%に近づいて超えた場合、ディスク・アレイ・
システムは、RAID1およびRAID5の両方に従っ
てデータを格納し始めることができ、格納要求の変化に
従って連続してRADI1およびRAID5間でデータ
を動的に移送することができる。動作中いつでも、デー
タはすべてのディスク上にRAID1またはRAID5
として格納することができる。RAID1およびRAI
D5格納の混合により、データI/O(入力/出力)が
動的に変化する。これにより、システムは増加するユー
ザ・データに対する性能を最適化することができる。
【0010】
【課題を解決するための手段】本発明は、ホットプラグ
・インタフェースを介して、データ格納空間のコヒーレ
ントで整合性のあるメモリ・イメージをすべてのプロセ
ッサに与えるミラー・メモリ・ディスク・アレイ・コン
トローラを提供する。データを読出しまたは書込みしよ
うとするホスト処理に対し、メモリ・イメージは、ホッ
トプラグ・インタフェースを介して同じに見える。
【0011】説明する実施では、ディスク・アレイ・コ
ントローラは、冗長イメージを保持するために、それぞ
れが不揮発性メモリを有する2つの同一のコントローラ
を有する。ホットプラグ・インタフェースは、2つのコ
ントローラを相互接続する。各コントローラは、2つの
コントローラ間のホットプラグ・インタフェースを介し
てCRC保護されたメモリ・トランザクションの共有を
可能にするAutoRAID(以下オートRAIDと表
記する)メモリ・トランザクション・マネージャを有す
る。また、オートRAIDメモリ・トランザクション・
マネージャは、いずれのコントローラがトランザクショ
ンを発生させたかに関わらず、メモリ・トランザクショ
ンの順序付けられた実行を容易にする。ミラー読出しお
よび書込みトランザクションは、ホットプラグ・インタ
フェースにより自動的に操作される。
【0012】
【発明の実施の形態】図1は、I/Oインタフェース・
バス26を介してデータ格納システム24に接続された
ホスト・コンピュータ22を有するコンピュータ・シス
テム20を示す。ホスト・コンピュータ22は、例えば
サーバまたはワークステーションとして構成することが
できる汎用コンピュータである。コンピュータ22は、
視覚表示モニタ28、中央処理装置(CPU)30、キ
ーボード32およびマウス34を備えている。また、プ
リンタ、テープ、CD−ROM、ネットワーク・インタ
フェース等などの他のデータ・エントリおよび出力周辺
装置を含むこともできる。図1において、ホスト・コン
ピュータ22は、ネットワーク36に接続されており、
データ格納システム24から1または複数のクライアン
ト(図示せず)にデータを供給する。
【0013】データ格納システム24は、ユーザ・デー
タおよび他の情報を保持する。好ましい実施の形態で
は、データ格納システム24は、異なる冗長方式に従っ
てデータを格納できる階層RAIDシステムである。ホ
スト・コンピュータ22は、管理部に対し、RAIDシ
ステム24内のメモリ空間を構成し、診断を行い、性能
を評価し、あるいはRAID格納システムを管理するイ
ンタフェースを提供する。
【0014】図2は、ホスト・コンピュータ22および
データ格納システム24をより詳細に示す。コンピュー
タ22は、プロセッサ40、揮発性メモリ42(すなわ
ちRAM)、キーボード32、マウス34、不揮発性メ
モリ44(例えば、ROM、ハード・ディスク、フロッ
ピー・ディスク、CD−ROM等)およびディスプレイ
28を有する。アドミニストレータ・モジュール46
は、メモリ44に格納され、プロセッサ40上で実行さ
れる。アドミニストレータ・モジュール46は、診断、
性能の見直し、LUN配列分析および容量分析等の管理
機能を提供する。アドミニストレータ・モジュール48
は、ディスプレイ28上に視覚インタフェースを提供す
る格納マネージャ・グラフィカル・ユーザ・インタフェ
ース(UI)48を支援する。
【0015】データ格納システム24は、複数の格納デ
ィスク52を有するディスク・アレイ50、ディスク・
アレイ・コントローラ(以下、単にコントローラとい
う)54およびRAID管理システム56を有する。コ
ントローラ54は、小型計算機システム・インタフェー
ス(SCSI)などの1または複数のインタフェース・
バス58を介して、ディスク・アレイ50に接続されて
いる。RAID管理システム56は、インタフェース・
プロトコル60を介してコントローラ54に接続されて
いる。なお、RAID管理システム56は、別個の構成
要素(図示のように)としても、コントローラ54内に
組込むようにしても、あるいはホスト・コンピュータ2
2内に組込むようにしてもよい。RAID管理システム
56は、好ましくは、データ格納システム24の処理ユ
ニット上で、あるいは、コンピュータ22のプロセッサ
40上で実行するソフトウエア・モジュールである。
【0016】コントローラ54は、ディスク・アレイ5
0との間のデータ転送を調整する。コントローラ54
は、2つの同一のコントローラ・ボード、すなわち第1
のコントローラ54aおよび第2のコントローラ54b
を有する。コントローラを並列に設けることにより、1
つのコントローラが動作不能となった場合に連続したバ
ックアップおよび冗長さを提供することで、信頼性を向
上させることができる。並列なコントローラ54a、5
4bは、各々ミラー・メモリ62a、62bを有する。
ミラー・メモリ62a、62bは、好ましくは、バッテ
リでバックアップされた不揮発性のRAM(NVRA
M)として構成されている。ここでは概して、2つのコ
ントローラ54a、54bのみを示しそれについて説明
しているが、本発明の他の局面では、3つ以上のコント
ローラを使用する他のマルチ・コントローラ構成に拡張
することもできる。
【0017】ミラー・メモリ62a、62bは、いくつ
かの種類の情報を格納する。ミラー・メモリ62a、6
2bは、ディスク・アレイ50の格納空間の密接した
(cohesive)メモリ・マップの複製コピーを保持する。
このメモリ・マップは、ディスク上でデータおよび冗長
情報が格納されている場所、および利用できる空き空間
の位置する場所を追跡する。ミラー・メモリのビュー
(見え方)は、ホットプラグ・インタフェースを介して
一貫しており、データの読出しまたは書込みを行おうと
する外部の処理に対しても同様である。
【0018】また、ミラー・メモリ62a、62bは、
ディスク・アレイ50から読み出されているデータを保
持する読出しキャッシュを維持する。各読出し要求は、
コントローラ間で共有される。更に、ミラー・メモリ6
2a、62bは、書込みキャッシュの2つの複製可能な
コピーを有する。各書込みキャッシュは、ディスク・ア
レイ50に書出される前にデータを一時的に格納する。
【0019】ディスク格納システムのミラー・メモリ・
デュアル・コントローラの特定の実施の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号に記載さ
れている。
【0020】コントローラのミラー・メモリ62a、6
2bは、ホットプラグ・インタフェース64を介して物
理的に接続されている。本発明が欠如していると、ホッ
トプラグ・インタフェース64により、単一の故障点が
メモリ62a、62b両方を破壊するという問題が起こ
る可能性がある。本発明の一局面では、このような破壊
が防止され、2つのメモリが格納空間の複製されたイメ
ージを正確に保持することが保証される。概して、コン
トローラ62a、62bは、データが正確に転送される
こと、およびトランザクションの順序付け(例えば、読
出し/書込みの順序付け)が保たれることを保証するた
めに、それらの間のデータ転送を監視する。
【0021】図3は、デュアル・ディスク・アレイ・コ
ントローラをより詳細に示す。コントローラ・ボード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内の
他の構成要素に、電源を供給する。
【0022】各コントローラ54a、54bは、I/O
モジュール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)として実現される。
【0023】オートRAIDメモリ・トランザクション
・マネージャ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がある。
【0024】オートRAIDメモリ・トランザクション
・マネージャ82a、82bは、ホットプラグ・インタ
フェース64(図2)を介して互いに接続されている。
ホットプラグ・インタフェース64は、NVRAMバス
84a、84bに適応したデータ転送速度で、2つのオ
ートRAIDメモリ・トランザクション・マネージャ8
2a、82bの間の双方向並列通信を支援する。
【0025】ホットプラグ・インタフェース64は、ポ
イント・ツー・ポイント・バス96およびI2Cバス9
8を使用して実現されている。ポイント・ツー・ポイン
ト・バス96は、ミラー・メモリのコントローラ54
a、54b間でメモリ・トランザクション・データを移
送する複数ビット・バスである。I2Cバス98は、マ
イクロプロセッサ通信、周辺装置間通信等を媒介する。
【0026】オートRAIDメモリ・トランザクション
・マネージャ82a、82bは、ハイレベル・パケット
・プロトコルを採用して、ホットプラグ・インタフェー
ス64のバス96を介してパケットでトランザクション
を交換する。オートRAIDメモリ・トランザクション
・マネージャ82a、82bは、データがコントローラ
間を正確に転送されることを保証するために、パケット
の誤り訂正を実行する。
【0027】オートRAIDメモリ・トランザクション
・マネージャ82a、82bは、ホットプラグ・インタ
フェース64を介して、一貫したメモリ・イメージを供
給する。また、オートRAIDメモリ・トランザクショ
ン・マネージャ82a、82bは、メモリ・トランザク
ションの適切な順序列(シーケンス)を保証する順序付
けされたインタフェースを支援する順序付けメカニズム
を提供する。
【0028】図4に、オートRAIDメモリ・トランザ
クション・マネージャをより詳細に示す。説明のため
に、オートRAIDメモリ・トランザクション・マネー
ジャは、概して、「a」および「b」は示さずに82と
いう番号で参照する。図4において、オートRAIDメ
モリ・トランザクション・マネージャは、同一に構成さ
れている要素82a、82bのいずれかを表す。
【0029】オートRAIDメモリ・トランザクション
・マネージャ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を
備える。
【0030】NVRAMインタフェース102は、読出
しおよび書込みトランザクション要求を処理し、ローカ
ルNVRAM62へまたはそこからのデータ転送を容易
にする。
【0031】NWayエンティティ104は、コントロ
ーラ間のホットプラグ・インタフェースによるリモート
・メモリ・トランザクションの転送を容易にする。上述
したように、トランザクションはパケットで転送され、
パケットは、転送が有効であることを保証するために誤
り訂正がなされる。NWayエンティティ104は、ト
ランザクション・データを保持する1または複数のバッ
ファ112、ホットプラグ・インタフェースを介して他
のコントローラと交換されているパケットを保持するデ
ータ・メモリ114、および個々のパケットまたはまと
まったパケット群についての誤り訂正を実行するCRC
ユニット116を備える。
【0032】ミラー・エンティティ106は、ローカル
とミラー・メモリ・トランザクションを処理し、トラン
スバス・エンティティ108を介してそれらを順序付け
る。ミラー・エンティティ106は、そのようなトラン
ザクションを、ミラー読出し、ミラー書込みおよびミラ
ー空間におけるローカル読出しとして適応させる。ミラ
ー・エンティティ106は、バッファ118およびデー
タ・メモリ120を備える。トランザクション・キュー
122は、バッファ118およびデータ・メモリ120
の両方または一方から形成される。
【0033】トランスバス・エンティティ108によ
り、異なる構成要素100〜106は命令を発行するこ
とができるようになる。トランスバス・エンティティ1
08は、メモリ・エンティティ106内のトランザクシ
ョン・キュー122と共に、コントローラで受信される
トランザクションを順序付ける順序付け機能を提供す
る。
【0034】トランスバス・エンティティ108は、4
つの構成要素100〜106を相互接続する多重アクセ
ス・バス124を制御する。PCIインタフェース10
0、NWayインタフェース104およびミラー・エン
ティティ106は、トランスバス・エンティティ108
上でトランザクションを起動し、4つの構成要素100
〜106すべてが、トランスバス・エンティティ108
からトランザクションを受信する。トランスバス・エン
ティティ108は、要求のソース(すなわち、ソースI
D)、アクセスのアドレスおよび他の属性を識別する。
【0035】データは、コールバック・バス126を介
して4つの構成要素100〜106間で移動する。トラ
ンザクションの発信元として動作する各構成要素につい
て、1つのコールバック・バス126が存在する。PC
Iインタフェース100、NWayインタフェース10
4およびミラー・エンティティ106は、コールバック
・バス126を有する。
【0036】ディスク・アレイ・コントローラの動作を
例証するために、いくつかのトランザクションについて
以下に説明する。これらのトランザクションを、以下の
順序で説明する。すなわち、ミラー読出し、ローカル読
出し、ミラー書込みおよび並列書込みの順序である。ト
ランザクションを、図3および図4を参照して、デュア
ル・コントローラのコンテキスト(状況)において説明
する。しかしながら、トランザクションは、3つ以上の
コントローラを含む他のマルチ・コントローラにおいて
実行するようにしてもよい。
【0037】<ミラー読出し>ミラー読出し要求におい
て、コントローラ54a、54bは、ミラー・メモリ6
2a、62b内のメモリ・マップを使用して、要求され
たデータをディスク・アレイに配置する。そして、その
データは、ミラー・メモリ62a、62bに保持された
読出しキャッシュに一時的に格納される。コントローラ
54aが、ホストからI/Oモジュール70aを介し
て、ディスク・アレイからデータを読出すという要求を
受信するものとする。コントローラのCPU88aは、
要求を処理して、ミラー・メモリ62a、62bからの
データの読出しを含むミラー読出し要求を生成させる。
ミラー読出し要求は、オートRAIDメモリ・トランザ
クション・マネージャ82aのPCIインタフェース1
00に送信される。
【0038】この例において、第1のコントローラ54
aおよびそのオートRAIDメモリ・トランザクション
・マネージャ82aは、ミラー読出し要求を受信して発
信するため、「ローカル」コントローラおよびマネージ
ャと呼ばれる。第2のコントローラ54bおよびそのオ
ートRAIDメモリ・トランザクション・マネージャ8
2bは、「リモート」コントローラおよびマネージャと
呼ばれる。このミラー読出しトランザクションにおい
て、ローカル・マネージャおよびリモート・マネージャ
は、以下のステップを実行する。
【0039】ステップ1:PCIインタフェース100
は、特定のデータについて、バス124を介してトラン
スバス・エンティティ108に対し要求を行う。この要
求には、メモリ・アドレス、バイトの数、および読出し
動作であることの指示等が含まれる。
【0040】ステップ2:ミラー・エンティティ106
は、トランスバス・エンティティ108からそれ自身の
ものとして要求を受信し、その要求をトランザクション
・キュー122に保存する。トランザクション・キュー
122は、ローカル・マネージャ82a上で処理されて
いるあらゆる要求に関する順序を保持する。
【0041】ステップ3:当該要求がトランザクション
・キュー122の最上位にくると、ミラー・エンティテ
ィ106は、トランスバス・エンティティ108に対し
NWayエンティティ104について、リモート・メモ
リ・トランザクション・マネージャ82bからミラー・
メモリ・データのコピーを取得するという要求を行う。
ミラー・エンティティ106からの要求には、PCIイ
ンタフェースによりステップ1で行われた原要求と同じ
情報(すなわち、メモリ・アドレス、バイト数等)が含
まれている。
【0042】ステップ4:NWayエンティティ104
は、読出し要求をパケットにパッケージ化し、CRCユ
ニット116を使用してそのパケットについてのCRC
値を計算する。NWayエンティティ104は、NWa
yバス96を介して、リモート・オートRAIDメモリ
・トランザクション・マネージャ82bの対応するNW
ayエンティティに、読出し要求パケットを転送する。
【0043】ステップ5:リモートNWayエンティテ
ィは、有効な転送を保証するためにCRC値を検査し、
リモート・トランスバス・エンティティを介してリモー
トNVRAMインタフェースに対し、上記特定のデータ
を読み出すという要求を行う。リモートNWayエンテ
ィティは、ローカルNWayエンティティ104に対
し、要求が適切に受信され、実行するよう通知がなされ
たことを示す応答を返信する。
【0044】ステップ6:ステップ5と並列して、ロー
カルNWayエンティティ104は、トランスバス・エ
ンティティ108を介してローカルNVRAMインタフ
ェース102に対し、上記特定のデータを読み出すとい
う要求を行う。
【0045】ステップ7:ローカルNVRAMインタフ
ェースおよびリモートNVRAMインタフェースは、並
列して、各NVRAM62a、62bから同じデータを
検索する。ローカルNVRAMインタフェース102
は、データをコールバック・バス126に配置する。リ
モートNVRAMインタフェースは、リモート・ミラー
・エンティティが監視しているコールバック・バスにデ
ータを配置する。そして、リモート・ミラー・エンティ
ティは、リモートNWayエンティティに対し、データ
をローカル・マネージャ82aに転送するという要求を
行う。リモートNWayエンティティは、データをパッ
ケージ化し、パケットの誤り訂正を行い、NWayバス
96を介してローカルNWayエンティティ104にパ
ケットを転送する。
【0046】ステップ8:ローカルNWayエンティテ
ィ104は、有効な転送を保証するためにCRC値を検
査し、データをコールバック・バス126に通知する。
【0047】ステップ9:一方、読出し要求を発信する
ローカル・ミラー・エンティティ106は、NVRAM
インタフェース102およびNWayエンティティ10
4からのコールバック・バス126を監視する。ローカ
ル・データがNVRAMインタフェース102から受信
され、リモート・コピーがNWayエンティティ104
から受信されると、ミラー・エンティティ106は、2
つのバージョンを比較してそれらが一致することを確か
める。一致するということは、データが有効であること
を示す。
【0048】ステップ10:データが有効であると仮定
すると、ミラー・エンティティ106は、データをPC
Iインタフェース100に戻るコールバック・バス12
6に配置する。PCIインタフェース100は、データ
がどこから来るのか(例えば、ミラー・エンティティか
らかNVRAMインタフェースからか)を知らないた
め、各コールバック・バスを監視している。そして、P
CIインタフェース100は、結果をホストに対する戻
りとしてCPUまたはコンバータに返信する。
【0049】<ローカル読出し>コントローラ54a
が、読出し比較動作を必要としない読出し要求を受信す
るものとする。ローカル・コントローラ54aは、リモ
ート・コントローラからのコピーを要求することなく、
それ自身のメモリからデータを読出すことができる。ロ
ーカル読出しトランザクションにおいて、ローカル・オ
ートRAIDメモリ・トランザクション・マネージャ
は、以下のステップを実行する。
【0050】ステップ1:PCIインタフェース100
は、ローカルNVRAM62a上のあるデータについ
て、バス124を介してトランスバス・エンティティ1
08に要求を行う。その要求には、メモリ・アドレス、
バイトの数、および読出し動作であることの指示等が含
まれる。
【0051】ステップ2:ミラー・エンティティ106
は、トランスバス・エンティティ108からそれ自身の
ものとして要求を受取り、その要求をトランザクション
・キュー122に保存する。このようにして、ローカル
読出しは、上述したミラー読出しトランザクションを含
む他の種類のトランザクションと共に順序正しく処理さ
れる。
【0052】ステップ3:当該要求がキュー122の最
上位にくると、ミラー・エンティティ106は、トラン
スバス・エンティティ108に対してローカル読出し要
求を行う。NVRAMインタフェース102は、要求を
受取り、NVRAM62aからデータを検索する。NV
RAMインタフェース102は、データをコールバック
・バス126に配置する。
【0053】ステップ4:PCIインタフェース100
は、返信データがあるかコールバック・バス126を監
視している。そして、PCIインタフェース100は、
ホストへの戻りとして、結果をCPUまたはコンバータ
に返信する。
【0054】<ミラー書込み>コントローラ54a、5
4bは、(1)ミラー・メモリに保持された書込みキャ
ッシュ内にデータを格納し、(2)ミラー・メモリのメ
モリ・マップを更新することにより、ミラー書込み要求
を処理する。コントローラ54aが、ディスク・アレイ
上の特定のロケーションにデータを書込むという書込み
要求を受信したとする。書込み要求は、PCIバスから
PCIインタフェース100に受信される。そして、ロ
ーカル・オートRAIDメモリ・トランザクション・マ
ネージャおよびリモート・オートRAIDメモリ・トラ
ンザクション・マネージャは、以下のステップを実行す
る。
【0055】ステップ1:PCIインタフェース100
は、バス124を介してトランスバス・エンティティ1
08に対して書込み要求を行う。その要求には、メモリ
・アドレス、書込まれるデータに対するポインタ、およ
びミラー書込み動作であることの指示等が含まれる。
【0056】ステップ2:ミラー・エンティティ106
は、トランスバス・エンティティ108から書込み要求
を受取り、トランザクション・キュー122にその要求
を保存する。上述した場合と同様、トランザクション・
キュー122は、あらゆるメモリ・トランザクション間
の順序を保持している。
【0057】ステップ3:当該要求がキュー122の最
上位にくると、ミラー・エンティティ106は、NWa
yエンティティ104による受入れとして、書込み要求
をトランスバス・エンティティ108に戻す。この時点
で、ミラー・エンティティ106は処理を終了する。
【0058】ステップ4:NWayエンティティ104
は、書込み要求をパケットにパッケージ化し、CRCユ
ニット116を使用してそのパケットのCRC値を計算
する。NWayエンティティ104は、NWayバス9
6を介して、リモート・オートRAIDメモリ・トラン
ザクション・マネージャ82bの対応するNWayエン
ティティに、書込み要求パケットを転送する。
【0059】ステップ5:リモートNWayエンティテ
ィは、有効な転送を保証するためにCRC値を検査し、
リモート・トランスバス・エンティティを介してリモー
トNVRAMインタフェースに、上記特定のデータを読
み出すという要求を行う。リモートNWayエンティテ
ィは、ローカルNWayエンティティ104に対し、要
求が適切に受信され、実行するよう通知されたことを示
す応答を返信する。
【0060】ステップ6:ステップ5に並列して、ロー
カルNWayエンティティ104は、トランスバス・エ
ンティティ108を介してローカルNVRAMインタフ
ェース102に対し、ミラー・メモリ62a内の書込み
キャッシュにデータを書込むという要求を行う。
【0061】ステップ7:ローカルNVRAMインタフ
ェースおよびリモートNVRAMインタフェースは、各
NVRAM62a、62bの書込みキャッシュに同じデ
ータを書込む。ローカルNVRAMインタフェース10
2は、書込みが完了すると、コールバック・バス126
に応答をのせる。
【0062】ステップ8:ローカルPCIインタフェー
ス100は、肯定応答(acknowledgement)を受信するか
コールバック・バスを監視し、NVRAMインタフェー
ス102から肯定応答を受信すると、ミラー書込み完了
の肯定応答を返信する。
【0063】<並列書込み>最後の具体例としてのトラ
ンザクションには、ローカル・コントローラ54a上の
CPU88aが、特定のメモリ・ロケーションへの書込
みを要求し、リモート・コントローラ54b上のCPU
88bが、同じメモリ・ロケーションへの書込みを要求
する状態が含まれる。この状態では、ミラー・メモリ・
ディスク・アレイ・コントローラは、書込み要求が順序
付けられ完全に完了することを保証するように設計され
ている。このようにするために、デュアル・コントロー
ラ54a、54bは、マスタ/スレーブまたは主/副の
役割を担い、それにより、一方のコントローラには、順
序付けトランザクションのタスクが与えられ、他方のコ
ントローラは、その順序付けに従うことを応諾する。い
ずれのコントローラがマスタまたは主であるかの決定
は、前構成プロセスの一部として前もって処理しておく
ことができ、または、そのような状態が起こった時にコ
ントローラによって折衝(ネゴシエート)することもで
きる。
【0064】説明のために、ローカル・コントローラ5
4aがマスタまたは主コントローラであり、リモート・
コントローラ54bがスレーブまたは副コントローラで
あるものとする。書込み要求は、PCIバスから、マス
タおよびスレーブのオートRAIDメモリ・トランザク
ション・マネージャ82a、82bの各PCIインタフ
ェースで受信される。そして、マスタおよびスレーブの
オートRAIDメモリ・トランザクション・マネージャ
82a、82bは、以下のステップを実行する。
【0065】ステップ1:各マネージャにおいて、PC
Iインタフェースは、トランスバス・エンティティに書
込み要求を行う。その要求には、メモリ・アドレス、書
込まれるデータへのポインタ、およびミラー書込み動作
であることの指示等が含まれる。
【0066】ステップ2:ミラー・エンティティは、ト
ランスバス・エンティティから書込み要求を受取り、そ
のトランザクション・キューに要求を配置する。
【0067】ステップ3:当該要求がキューの最上位に
くると、ミラー・エンティティは、NWayエンティテ
ィによる受入れに対しトランスバス・エンティティに書
込み要求を戻す。
【0068】ステップ4:NWayエンティティは、書
込み要求をCRC保護されたパケットとして、NWay
バス96を介して対向するNWayエンティティに転送
する。また、受信の応答が交換される。
【0069】ステップ5:ステップ4と並列して、ロー
カルおよびリモートのNWayエンティティは、各NV
RAMインタフェースに対し、トランスバス・エンティ
ティを介して、ミラー・メモリ62a、62b内の書込
みキャッシュにデータを書込むという要求を行う。ステ
ップ4およびステップ5の結果として、2つの書込みト
ランザクションは、オートRAIDメモリ・トランザク
ション・マネージャ内のトランスバス・エンティティに
通知される。これら書込みトランザクションの順序は、
「マスタ」コントローラ(この場合、コントローラ54
a)のトランスバス・エンティティにおける順序で制御
される。従って、リモート(またはスレーブ)・コント
ローラ54aからの書込み要求が通知される前に、マス
タ・コントローラ54aにローカルに受信された書込み
要求が、最初にローカル・トランスバス・エンティティ
108に通知される場合、ローカルに受信された書込み
要求は、最初に処理される。逆に、リモート(またはス
レーブ)・コントローラ54aからの他の書込み要求が
通知された後に、マスタ・コントローラ54aにローカ
ルに受信された書込み要求が、ローカル・トランスバス
・エンティティ108に通知された場合、リモートに受
信された書込み要求は、最初に処理される。スレーブ・
オートRAIDメモリ・トランザクション・マネージャ
は、この順序付けに従う。
【0070】ステップ6:ローカルおよびリモートのN
VRAMインタフェースは、各NVRAM62a、62
bの書込みキャッシュに、取得した書込み要求のデータ
を書込む。NVRAMインタフェースは、書込みが完了
した時に、コールバック・バスに各応答を配置する。
【0071】ステップ7:PCIインタフェースは、肯
定応答についてコールバック・バスを監視し、受信する
とともに、ミラー書込みの完了の応答を返信する。
【0072】<原子性(atomicity)>上述したミラー
読出しおよび書込みトランザクションは、ホットプラグ
・インタフェースを介して原子的に処理される。コント
ローラは、両方のNVRAMについて読出しおよび書込
み動作を実行するか、または両NVRAMについての実
行を中断するように設計されている。このようにして、
両NVRAMにあるイメージは、同一のまま維持され
る。
【0073】<まとめ>ミラー・メモリ・ディスク・ア
レイ・コントローラは、ホットプラグ・インタフェース
を介して一貫したメモリ・マップを維持するため、有益
である。デュアル・コントローラ、特にオートRAID
メモリ・トランザクション・マネージャは、インタフェ
ースを介してCRC保護されたメモリ・トランザクショ
ンを支援し、本質的に、トランザクションの順序付けさ
れた実行を容易にする。
【0074】本発明について、構造的な特徴および/ま
たは方法論的なステップに特有の用語で説明してきた
が、特許請求の範囲で定義される発明は、説明した特定
の特徴またはステップに必ずしも限定されない。むし
ろ、特定の特徴およびステップは、請求された発明を実
現する好ましい形態として開示されている。
【0075】以上、本発明の実施例について詳述した
が、以下、本発明の各実施態様の例を示す。
【0076】(実施態様1)RAIDデータ格納システ
ムのための格納管理システムであって、ホットプラグ・
インタフェース(64)を介して相互接続された少なく
とも2つのコントローラ(54a、54b)を具備し、
前記コントローラの各々は、前記データ格納システムに
よって供給される格納空間の冗長イメージを格納するた
めの不揮発性メモリ(62a、62b)と、前記不揮発
性メモリを含むメモリ・トランザクションを順序付けす
ると共に、有効な転送を保証する方法で前記ホットプラ
グ・インタフェースを介して前記メモリ・トランザクシ
ョンの送信および受信を容易にするメモリ・トランザク
ション・マネージャ(82a、82b)とを有すること
を特徴とする格納管理システム。
【0077】(実施態様2)前記コントローラの前記不
揮発性メモリによって提供される前記冗長イメージは、
データを読出しまたは書込みしようとする外部プロセス
に対し、前記ホットプラグ・インタフェースを介して同
一に現れる実施態様1記載の格納管理システム。
【0078】(実施態様3)前記メモリ・トランザクシ
ョン・マネージャは、有効な転送を保証するために、C
RC保護されたパケットで前記メモリ・トランザクショ
ンを交換する実施態様1記載の格納管理システム。
【0079】(実施態様4)前記メモリ・トランザクシ
ョン・マネージャは、前記メモリ・トランザクションの
順序付けを行うためのトランザクション・キューを有す
る実施態様1記載の格納管理システム。
【0080】(実施態様5)前記コントローラにおける
前記メモリ・トランザクション・マネージャは、原子的
な方法で、前記不揮発性メモリの各々について前記メモ
リ・トランザクションを実行する実施態様1記載の格納
管理システム。
【0081】(実施態様6)前記コントローラは、それ
らコントローラすべてに対する前記メモリ・トランザク
ションの順序付けについての主な応答責任を有するよう
に、前記メモリ・トランザクション・マネージャの一方
を指定する実施態様1記載の格納管理システム。
【0082】(実施態様7)前記メモリ・トランザクシ
ョン・マネージャは、前記メモリ・トランザクションを
順序付けするミラー・エンティティ(106)と、前記
不揮発性メモリに関して前記メモリ・トランザクション
を実行するローカル・メモリ・インタフェース(10
2)と、前記ホットプラグ・インタフェースを介して前
記メモリ・トランザクションの送信および受信を容易に
するバス・インタフェース(104)とを備えた実施態
様1記載の格納管理システム。
【0083】(実施態様8)ディスク・アレイ・コント
ローラのためのオートRAIDメモリ・トランザクショ
ン・マネージャであって、多重アクセス・バスを制御す
るトランスバス・エンティティ(108)と、バスから
メモリ・トランザクションを受信すると共に、前記アク
セス・バスに前記メモリ・トランザクションを伝える第
1のバス・インタフェース(100)と、前記アクセス
・バスに接続され、前記第1のバス・インタフェースに
よって受信される前記メモリ・トランザクションを処理
し、前記メモリトランザクションの順序付けを行うミラ
ー・エンティティ(106)と、前記アクセス・バスに
接続され、前記ミラー・エンティティから前記メモリ・
トランザクションを受信すると共に、ローカル・メモリ
に関連して前記メモリ・トランザクションを実行するロ
ーカル・メモリ・インタフェース(102)と、前記ア
クセス・バスに接続され、リモート・ミラー・メモリに
対する前記メモリ・トランザクションの転送を容易にす
る第2のバス・インタフェース(104)とを具備する
オートRAIDメモリ・トランザクション・マネージ
ャ。
【0084】(実施態様9)前記ミラー・エンティティ
は、ある順序で前記メモリ・トランザクションを保持す
るトランザクション・キューを備えた実施態様8記載の
オートRAIDメモリ・トランザクション・マネージ
ャ。
【0085】(実施態様10)前記第2のバス・インタ
フェースは、前記メモリ・トランザクションを1または
複数のパケットにパッケージ化すると共に、前記1また
は複数のパケットについて誤り訂正値を計算する実施態
様8記載のオートRAIDメモリ・トランザクション・
マネージャ。
【0086】
【発明の効果】以上のように、本発明を用いると、デー
タを読出しまたは書込みしようとするホスト処理に対
し、メモリ・イメージは、ホットプラグ・インタフェー
スを介して同じに見える構成を有するので、ホットプラ
グ・インタフェースを介して、データ格納空間のコヒー
レントで整合性のあるメモリ・イメージをすべてのプロ
セッサに与えるミラー・メモリ・ディスク・アレイ・コ
ントローラを提供することができる。
【図面の簡単な説明】
【図1】データ格納システムに接続されたホスト・コン
ピュータの構成を示す概略図である。
【図2】ホスト・コンピュータ、および階層RAIDシ
ステムとして示されるデータ格納システムの構成を示す
ブロック図である。
【図3】2つのコントローラで具体化された、データ格
納システムにおけるミラー・メモリ・ディスク・アレイ
・コントローラの構成を示すブロック図である。
【図4】ディスク・アレイ・コントローラの各コントロ
ーラで実現されるオートRAIDメモリ・トランザクシ
ョン・マネージャの構成を示すブロック図である。
【符号の説明】
54a、54b:ディスク・アレイ・コントローラ 62a、62b:ミラー・メモリ(NVRAM) 64:ホットプラグ・インタフェース 82a、82b:オートRAIDメモリ・トランザクシ
ョン・マネージャ 100:PCIインタフェース 102:NVRAMインタフェース 104:NWayエンティティ(NWayインタフェー
ス) 106:ミラー・エンティティ 108:トランスバス・エンティティ

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】RAIDデータ格納システムのための格納
    管理システムであって、 ホットプラグ・インタフェースを介して相互接続された
    少なくとも2つのコントローラを具備し、 前記コントローラの各々は、 前記データ格納システムによって供給される格納空間の
    冗長イメージを格納するための不揮発性メモリと、 前記不揮発性メモリを含むメモリ・トランザクションを
    順序付けすると共に、有効な転送を保証する方法で前記
    ホットプラグ・インタフェースを介して前記メモリ・ト
    ランザクションの送信および受信を容易にするメモリ・
    トランザクション・マネージャとを有することを特徴と
    する格納管理システム。
JP11175854A 1998-06-23 1999-06-22 格納管理システム Pending JP2000056931A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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