JP2006507603A - Bios記憶アレイ - Google Patents

Bios記憶アレイ Download PDF

Info

Publication number
JP2006507603A
JP2006507603A JP2004555387A JP2004555387A JP2006507603A JP 2006507603 A JP2006507603 A JP 2006507603A JP 2004555387 A JP2004555387 A JP 2004555387A JP 2004555387 A JP2004555387 A JP 2004555387A JP 2006507603 A JP2006507603 A JP 2006507603A
Authority
JP
Japan
Prior art keywords
storage device
storage
data
firmware
array
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004555387A
Other languages
English (en)
Inventor
ナラワディ,ラジーヴ
タイ,ドン
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006507603A publication Critical patent/JP2006507603A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

BIOS初期化コードが記憶デバイスを2以上の部分に分割する方法、装置、機械読み取り可能媒体を説明する。さらに、BIOSデバイスハンドラーがその分割された記憶デバイスの部分を用いてRAIDレベルの属性を提供する記憶アレイを実施してもよい。

Description

記憶アレイはデータアクセス性能を高め、耐障害性を高める役に立つ。記憶アレイは一般に、1以上のRAID(redundant arrays of inexpensive disks)レベルを実施するとして説明される。例えば、RAIDレベル0あるいはRAID0は、一般に、2以上の記憶デバイスよりなる記憶アレイであってそのアレイの記憶デバイスにわたってデータ読み出しとデータ書き込みがストライプされる記憶アレイを指す。アレイの記憶デバイスにわたるデータ読み出しと書き込みをストライプすると、読み出しと書き込みの性能が向上する。アレイの記憶デバイスは、読み出しまたは書き込み要求を満たすために、基本的に、並列にアクセスされるからである。しかし、RAID0アレイは冗長性は提供せず、アレイの耐障害性も向上させない。その結果、RAID0アレイの記憶デバイスのいずれかが故障すると、アレイのすべてのデータが失われる。故障した記憶デバイスに関連したデータはアレイ中に散在しているからである。
RAIDレベル1またはRAID1は、一般に、2以上の記憶デバイスよりなる記憶アレイであって、データ書き込みがアレイの各記憶デバイスにミラーされる記憶アレイを指す。データ書き込みをアレイの各記憶デバイスにミラーすると、そのアレイの耐障害性が向上する。そのアレイの記憶デバイスのいずれかが故障したとき、そのアレイの他の記憶デバイスからデータを読み出してもよいからである。しかし、データ書き込みをミラーすると、データ書き込み性能が下がる傾向がある。そのデータをアレイの他の記憶デバイスにミラーするため、追加的データ書き込みが必要だからである。読み出しがそのアレイの記憶デバイスにわたってバランス/ストライプしている場合、データをミラーすると、読み出し性能は高くなる。しかし、多くの実施例では、読み出し要求はすべてアレイの単一の記憶デバイスに対してなされ、故障の時だけそのアレイの他の記憶デバイスから読み出す。
最後に、RAIDレベル0+1またはRAID0+1は、一般に、4以上の記憶デバイスよりなる記憶アレイであって、データ書き込みがストライプされたアレイにミラーされる記憶アレイを指す。例えば、RAID0+1アレイは、第1のRAID0アレイと第2のRAID0アレイよりなる。データは、第1のRAID0に書き込まれ、RAID1に従って第2のRAID0にミラーされる。繰り返すが、データ書き込みをミラーすると、アレイの耐障害性は高くなるが、追加的書き込みが生じるため、書き込み性能は低くなる。しかし、書き込み性能の低下の一部は、第1と第2のRAID0アレイがデータをそれぞれのアレイの記憶デバイスにわたってストライプすることにより相殺される。
詳細な説明
以下の詳細な説明において、本発明を十分理解できるように細部を多数説明した。しかし、本発明はこれらの細部なしでも実施できる。他の実施例では、本発明をわかりにくくしないように、周知の方法、手続き、コンポーネント、および回路を詳細には説明しない。さらに、例としてサイズ、モデル、値、範囲を記載したが、だからといって一部の実施形態はこれらの例には限定されない。
本明細書において「一実施形態」、「実施形態の一実施例」とは、説明した実施形態が特定のフィーチャ、構造、または特徴を含んでいてもよいことを表すが、すべての実施形態がその特定のフィーチャ、構造、または特徴を必ずしも含んでいるわけではない。さらにまた、上記のフレーズは必ずしも同じ実施形態を指すものではない。さらに、特定のフィーチャ、構造、または特徴を一実施形態に関して説明するとき、明示的に説明しようがしまいが、他の実施形態に関して、そのような特定のフィーチャ、構造、または特徴を作用させることを当業者は知っていることを表明するものである。
さらに、「第1の」、「第2の」、「第3の」等の用語は、同様に命名されたコンポーネントおよび/または動作を区別するラベルとして用いる。とくに、上記の用語はコンポーネントおよび/または動作の順番を表すものではない。さらに、上記の用語はあるコンポーネントおよび/または動作が他のコンポーネントおよび/または動作より重要であることを表すものではない。
コンピューティングデバイス100の実施形態の実施例を図1に示した。コンピューティングデバイス100は1以上のプロセッサ1021、...、102Pを有する。そのプロセッサ1021、...、102Pは、プロセッサバスを介してチップセット104と結合している。チップセット104は、1以上のプロセッサ1021、...、102Pをメモリ106、ファームウェア108、記憶デバイス(SD)コントローラ110、1以上の記憶デバイス1121、...、112D、およびその他のデバイス114(例えば、マウス、キーボード、ビデオコントローラ、フロッピー(登録商標)ディスク、ネットワークインターフェイスコントローラ、モデム等)と相互接続する。その相互接続は、チップセット104を有する1以上の集積回路デバイスまたはチップを介して行われる。特に、その他のデバイス114は多様なブリッジとバスを介してチップセット104と結合している。例えば、PCI(peripheral component interconnect)バス、AGP(accelerated graphics port)バス、USB(universal serial bus)バス、LPC(low pin count)バス、その他I/Oバス、および/または関連するブリッジ等である。
SDコントローラ110は、一般に、1以上のバスを介してSDコントローラ110に結合した記憶デバイス1121、...、112Dからデータを読み出したり書き込んだりするインターフェイスを提供する。一実施形態において、SDコントローラ110はチップセット104に組み込まれている。しかし、他の実施形態において、SDコントローラ110はチップセット104とは別体であり、コンピューティングデバイス100のスロットに挿入されたアドインカードにより提供されてもよい。例えば、PCI(Peripheral Component Interconnect)スロット、PCIエクスプレススロット、ISA(Industry Standard Architecture)スロット、および/または他種の周辺相互接続である。さらに、SDコントローラ110は、記憶デバイス1121、...、112Dとそれがサポートしている記憶インターフェイスプロトコルを介してインターフェイスしている。例えば、SDコントローラ110と記憶デバイス1121、...、112Dは、以下の1以上のインターフェイスプロトコルをサポートしている:IDE(Integrated Drive Electronics)、ATA(Advanced Technology Attachment)、シリアルATA、SCSI(Small Computer System Interface)、および/またはシリアルSCSI。
ファームウェア108はBIOS(Basic Input/Output System)コード116を有する。BIOS116は、1以上のプロセッサ1021、...、102Pがコンピューティングデバイス100のコンポーネントにアクセスし初期化するために実行する命令およびルーチンを有する。一実施形態において、BIOS116は、1以上のプロセッサ1021、...、102Pが1以上の記憶デバイス1121、...、112Dを初期化するために実行するSD初期化コード118を有する。さらに、BIOS116は、1以上の記憶デバイス1121、...、112Dからデータを読み出したり、書き込んだりするSDハンドラー120を有する。一実施形態において、SD初期化コード118は、例えばSDハンドラ120の割り込みベクトル13H等の割り込みベクトルに関連する。従って、1以上のプロセッサ1021、...、102Pは、例えば、ソフトウェア割り込み13H等のソフトウェア割り込みに応じて、SDハンドラー120を実行する。従来、そのソフトウェア割り込みは、x86パーソナルコンピュータのIDEハードディスクにアクセスするためのBIOSコードに関連している。
メモリ106は、プロセッサ1021、...、102Pがデータを読み出したり書き込んだりするアドレス可能格納先を提供する1以上のメモリデバイスを有する。特に、一実施形態において、メモリ106はBIOSデータエリア122とオペレーティングシステム124を有する。1以上のプロセッサ1021、...、102Pは、オペレーティングシステム124を実行して、コンピューティングデバイス100のコンポーネントにアクセスおよび制御をし、ユーザにコンピューティングデバイス100と相互に作用し合う動作環境を提供する。さらに、メモリ106は、1以上のメモリ技術を用いて実施されてもよい。例えば、DRAM(dynamic random access memory)デバイス、SDRAM(synchronous dynamic random access memory)デバイス、DDR(double data rate)SDRAMデバイス、QDR(quad data rate)SDRAMデバイス、その他の揮発または不揮発メモリデバイスなどである。
便宜上、BIOS116、SD初期化コード118、SDハンドラ120、オペレーティングシステム124、ブートローダ、および/またはソフトウェア/ファームウェアは、1以上の動作を実行するとして説明する。しかし、コンピューティングデバイス100のハードウェア、例えばプロセッサ1021、...、102P等が、そのBIOS116、SD初期化コード118、SDハンドラ120、オペレーティングシステム124、ブートローダ、および/またはソフトウェア/ファームウェアの実行命令に応じて上記の動作を実行してもよい。
図2を参照して、実施例として、RAID0+1を実施する記憶アレイ200が示されている。従来のRAID0+1アレイは少なくとも4つの記憶デバイスを必要とするが、記憶アレイ200は2つの記憶デバイス1121、1122を有する。図示したように、記憶デバイス1121は第1部分2021と第2部分2022を有し、第2の記憶デバイス1122は第1部分2041と第2部分2042を有する。一般に、第1の記憶デバイス1121の第1部分2021と第2の記憶デバイス1122の第1部分2041は結合され、第1のRAID0アレイ2061を形成する。このRAID0アレイ2061においてデータは第1部分2021、2041にわたりストライプされる。同様に、第2の記憶デバイス1122の第2部分2042と第1の記憶デバイス1121の第2部分2022は結合され、第2のRAID0アレイ2062を形成する。このRAID0アレイ2062においてデータは第2部分2042、2022にわたりストライプされる。さらに、第1のRAID0アレイ2061と第2のRAID0アレイ2062は結合し、RAID1アレイを形成する。このRAID1アレイにおいて、第1のRAID0アレイ2061のデータは第2のRAID0アレイ2062をミラーする。
例えば、図2に示したように、データはチャンクA、...、Hに分けられ、記憶アレイ200に書き込まれる。チャンクA、...、Hを記憶アレイ200に書き込む結果、チャンクA、...、Hは第1のRAID0アレイ2061に書き込まれ、第2のRAID0アレイ2062にミラーされる。さらに、第1のRAID0アレイ2061に書き込まれたチャンクA、...、Hは記憶デバイス1121、1122の第1部分2021、2041にわたってストライプされる。とくに、チャンクA、C、E、Gは第1の記憶デバイス1121の第1の部分2021に書き込まれ、チャンクB、D、F、Hは第2の記憶デバイス1122の第1部分2041に書き込まれる。同様に、第2のRAID0アレイ2062に書き込まれたチャンクA、...、Hは記憶デバイス1121、1122の第2部分2022、2042にわたってストライプされる。特に、チャンクA、C、E、Gは第2の記憶デバイス1122の第2部分2042に書き込まれ、チャンクB、D、F、Hは第1記憶デバイス1121の第2部分2022に書き込まれる。
一実施形態において、第1の記憶デバイス1121はマスターデバイスとして第1のIDEバスまたはチャネルに結合され、第2の記憶デバイス1122はマスターデバイスとして第2のIDEバスまたはチャネルに結合される。2つの記憶デバイス1121、1122を別々のバスに結合することにより、SDハンドラー120は、SDコントローラ110に並行して、または実質的に並行して記憶デバイス1121、1122にアクセスするように要求する。データミラーリングは、非ミラーリング記憶デバイスシステムと比較して、記憶デバイス1121、1122に書き込まれるバイト数を倍増させ、それゆえバスを介して転送されるバイト数を倍増させる。しかし、2つの記憶デバイス1121、1122と関連するバス2081、2082にわたりデータをストライプすると、一般的に、単一のバスと単一の記憶デバイスを有する記憶デバイスシステムの2倍の帯域幅が提供される。従って、図2のアレイは、データのミラーリングではない単一の記憶デバイスと同等のデータ性能を達成する。さらに、図2のRAID0+1アレイは、単一記憶デバイスシステムの2倍の読み出し性能に近づくデータ読み出し性能を達成する。読み出し要求は記憶デバイス1121、1122にわたりストライプされ、並行してサービスされるからである。さらにまた、図2のアレイは、第1の記憶デバイス1121または第2の記憶デバイス1122の故障を許容する。記憶デバイスのデータはすべて他の記憶デバイスにミラーされているからである。
図3には、図2のアレイを生成する方法の実施例を示した。一実施形態において、コンピューティングデバイス100は、多様なイベント、例えばシステムパワーアップイベントやシステムリセットイベント等に応じて、図3の方法を実行する。さらに、一実施形態において、コンピューティングデバイス100は、オペレーティングシステム124やそれの実行を引き起こすブートローダの起動の前に、図3の方法を実行する。
ブロック300において、SD初期化コード118はSDハンドラー120をインストールする。一実施形態において、SD初期化コードはSDハンドラー120をファームウェア108からメモリ106にコピーし、メモリ106に格納されたSDハンドラー120のエントリーポイントを指し示す割り込み13Hに関連する割り込みベクトルを更新する。さらに、SD初期化コード118はその他の割り込み、例えば、BIOS116の従来のSDハンドラー(図示せず)のエントリーポイントを指し示す割り込み40H等に関連する割り込みベクトルを更新してもよい。この従来のSDハンドラーは以前、割り込み13Hに関連していたものである。したがって、一実施形態において、プロセッサ1021、...、102Pは、割り込み13Hに応じてSDハンドラー120を実行し、割り込み40Hに応じて従来のSDハンドラーを実行してもよい。しかし、与えられたコンピュータアーキテクチャについて、SD初期化コード118は、SDハンドラー120を特定の割り込みと関連させるため、追加的および/または相違する動作を実行する必要があるかも知れない。さらに、SD初期化コード118は自分自身を異なる割り込みや複数の割り込みと関連させてもよい。
ブロック302において、SD初期化コード118は、SDコントローラ110に接続された利用可能記憶デバイス1121、...、112Dが少なくとも2つあるかどうかを判断する。このために、SD初期化コード118は多様なテストおよび/または診断を実行してもよい。例えば、SD初期化コード118は、SDコントローラ110の各チャネルが1以上の記憶デバイス1121、...、112Dに結合されているかどうかを判断する。さらに、SD初期化コード118は、SDコントローラ110に結合されている各記憶デバイス1121、...、112Dがうまく機能しているかどうかを確認する1以上の診断を実行し、うまく機能していないSDコントローラ110および/または記憶デバイス1121、...、112Dのチャネルをディスエーブルしてもよい。当然のことながら、上記のテストと診断は、一般に、SDコントローラ110と記憶デバイス1121、...、112Dにより使用される記憶技術に依存する。結果として、SD初期化コード118はある記憶技術しかサポートしておらず、多様なテストと診断を用いて実施される。多様なテストと診断とは、例えば、記憶デバイスの状態レジスタの読み出し、および/またはデータを記憶デバイスに書き込んだり読み出したりするかどうかの判断である。
利用可能な記憶デバイスが少なくとも2つ無いと判断すると、ブロック304において、SD初期化コード118はRAIDサポートをディスエーブルし、終了する。そうでなければ、ブロック306において、SD初期化コード118は、SDコントローラ110に結合された記憶デバイスおよびアレイの数をオペレーティングシステムに報告するため、BIOSデータエリア122を更新する。
一実施形態において、SD初期化コード118は、各RAID0+1アレイを、2つの記憶デバイス1121、...、112Dを有するものとしてではなく、単一の記憶デバイスとして報告する。従って、上記実施形態におけるSD初期化コード118は、ブロック302において、取得した利用可能記憶デバイス1121、...、112Dの数を2で割ることにより、記憶デバイス1121、...112Dの有効数を取得する。従って、SD初期化コード118が2つの記憶デバイス1121、1122を検知したとき、SD初期化コード118は、オペレーティングシステム124に単一の記憶デバイスを報告するため、BIOSデータエリア122を更新する。
SD初期化コード118は、ブロック308において、記憶デバイス1121、...、112Dのパラメータを取得する。一実施形態において、SD初期化コード118は、512バイトのデバイス識別データを取得するため、各ATA記憶デバイス1121、...、112DにIDENTIFY DEVICEコマンドを発行する。一実施形態において、デバイス識別データは、論理シリンダー数、論理ヘッド数、論理トラックごとの論理セクター数を有する。これらは一体として記憶デバイス112のサポートされた構造を決定する。さらに、デバイス識別データは、論理シリンダーの現在数、論理ヘッドの現在数、トラックごとの論理セクターの現在数を有する。これらは一体として記憶デバイス112の現在の構造を決定する。識別データは、セクター中の現在記憶容量と、ユーザアドレス可能セクターの全数とを有してもよい。これらのうちいずれかを記憶デバイスの現在の記憶容量を決定するために用いてもよい。さらにまた、デバイス識別データは、例えば、DMA転送、コマンドセット、PIOモード、パワーマネージメント等の動作パラメータに関する情報を有してもよい。
ブロック310において、SD初期化コード118は、第1の記憶デバイス1121を2つの実質的に等しい部分2021、2022に分割してもよく、第2の記憶デバイス1122を2つの実質的に等しい部分2041、2042に分割してもよい。一実施形態において、SD初期化コード118は、第1の記憶デバイス1121にSET MAXコマンドを発行することにより、第1の記憶デバイス1121を第1部分2021と第2部分2022に分割する。このSET MAXコマンドは、第1の記憶デバイス1121の最大アクセス可能セクターを第1の記憶デバイス1121の最小部分2021、2022のセクター数に設定する。同様に、SD初期化コード118は、第2の記憶デバイス1122にSET MAXコマンドを発行することにより、第2の記憶デバイス1122を第1部分2041と第2部分2042に分割する。このSET MAXコマンドは、第2の記憶デバイス1122の最大アクセス可能セクターを第2の記憶デバイス1122の最小部分2041、2042のセクター数に設定する。
SD初期化コード118は、ブロック312において、デバイス識別データに基づき、性能をよくするため、記憶デバイス1121、1122およびSDコントローラ110を初期化する。特に、SD初期化コード118は、記憶デバイス1121、1122とSDコントローラ110をプログラムして、記憶デバイス1121、1122およびSDコントローラ110によりサポートされた最高性能の設定とする。例えば、SD初期化コード118は、最高速サポートPIO、マルチワードDMA、ウルトラDMAモードのために、記憶デバイス1121、1122およびSDコントローラをプログラムする。
SD初期化コード118は、ブロック314において、第1の記憶デバイス1121の容量が最小部分2021、2022の容量と等しいことをオペレーティングシステム124に報告するため、BIOSデータエリア122を更新する。さらに、SD初期化コード118は、第2の記憶デバイス1122の容量が最小部分2041、2042の容量と等しいことをオペレーティングシステムに報告するため、BIOSデータエリア122を更新する。従って、SD初期化コード118は、RAIDレベルおよびデータ冗長性を実施するために用いる記憶デバイス1121、1122の記憶容量の半分を実質的に確保する。
図4において、図2の記憶アレイ200にアクセスする方法の実施例を示した。ブロック400において、SDハンドラー120は、記憶アレイ200からデータを読み出したり書き込んだりする要求を受信する。一実施形態において、SDハンドラー120は、多様なイベントに応じて上記の要求を受信する。例えば、アプリケーションやペレーティングシステム124が記憶アレイ200からデータ読み出しや書き込みを要求するときである。特に、アプリケーションおよびオペレーティングシステム124は、割り込み13Hを生成してもよい。この割り込み13Hにより、それに関連したSDハンドラー120に要求パラメータが提供される。
SDハンドラー120は、ブロック402において、その要求が有効であるかどうか判断する。一実施形態において、SDハンドラー120は、要求されたセクターが記憶アレイ200の第1部分2021、2041のアクセス可能セクターに対応するかどうかを判断してもよい。例えば、その要求は、セクターカウントと、LBA(論理ブロックアドレッシング)アドレスまたはCHS(シリンダー/ヘッド/セクター)アドレスを特定する開始セクターとを提供してもよい。SDハンドラー120は、この開始セクターおよびセクターカウントから終了セクターを決定する。さらに、SDハンドラー120は、BIOSデータエリア122により特定された最大アクセス可能セクターに基づき、この開始セクターと終了セクターが第1部分2021、2041のアクセス可能セクター範囲内にあるかどうかを判断する。要求が無効であるとの判断に応じて、SDハンドラー120は、要求を終了し、その要求をしたアプリケーションおよび/またはオペレーティングシステム124に、エラー発生を示す終了メッセージまたはエグジットコードを提供する(ブロック404)。
ブロック406において、SDハンドラー120は、要求された転送を実施する一連のコマンドを記憶アレイ200の記憶デバイス1121、1122に発行する。例えば、記憶アレイ200からデータのストライプを読み出す要求に応じて、SDハンドラー120は記憶デバイス1121、1122に一連の読み出しコマンドを発行する。このコマンドにより、記憶デバイス1121、1122は、第1部分2021、2022から要求されたデータを返す。当然のことながら、生成された読み出しコマンドの数は要求されたデータ量と各チャンクのサイズに依存する。例えば、32キロバイトチャンクを用いた記憶アレイ200からの64キロバイトデータの要求に応じて、SDハンドラー120は、第1の32キロバイトチャンクを取得するために、第1の記憶デバイス1121に第1の読み出しコマンドを発行し、第2の32キロバイトチャンクを取得するために第2の記憶デバイス1122に第2の読み出しコマンドを発行する。さらに、読み出しエラーが発生したときには、SDハンドラー120は、第2部分2022、2042から第1の32キロバイトチャンクと第2の32キロバイトチャンクのミラーされたコピーを取得するため、記憶デバイス1121、1122に第3の読み出しコマンドと第4の読み出しコマンドを発行する。
同様に、記憶アレイ200にデータのストライプを書き込む要求に応じて、SDハンドラー120は、記憶デバイス1121、1122に一連の書き込みコマンドを発行する。この書き込みコマンドにより、記憶デバイス1121、1122は、第1部分2021、2022に要求のデータを書き込み、そのデータを第2部分2022、2042にミラーする。例えば、32キロバイトチャンクを用いて記憶アレイ200に64キロバイトデータを書き込む要求に応じて、SDハンドラー120は、第1の記憶デバイス1121に第1の書き込みコマンドを発行する。これにより、第1の32キロバイトチャンクが第1部分2021に格納される。また、第2の記憶デバイス1122に第2の書き込みコマンドを発行する。これにより、第2の32キロバイトチャンクが第1部分2041に書き込まれる。さらに、SDハンドラー120は、第2の記憶デバイス1122に第3の書き込みコマンドを発行してもよい。これにより、第1の32キロバイトチャンクが第2部分2042にミラーされる。また第1の記憶デバイス1121に第4の書き込みコマンドを発行してもよい。これにより、第2の32キロバイトチャンクが第2部分2022にミラーされる。
SDハンドラー120は、ブロック408において、要求された転送が成功裏に完了したかどうかを判断する。要求が成功裏に完了したとの判断に応じて、SDハンドラー120は、ブロック410において、プロセスを終了し、要求が成功裏に完了したことを示すエグジットコードをアプリケーションおよび/またはオペレーティングシステム124に提供する。さらに、要求が読み出し要求であった場合、SDハンドラー120は、アプリケーションおよび/またはオペレーティングシステム124に、要求されたデータまたはその要求されたデータへのポインターを提供する。または、アプリケーションおよび/またはオペレーティングシステム124により要求された場所にその要求されたデータを格納する。要求が成功裏には完了しなかったという判断に応じて、SDハンドラー120は、ブロック404において、プロセスを終了し、要求が失敗したことを示すエグジットコードをアプリケーションおよびオペレーティングシステム124に提供する。
図5を参照して、他の記憶アレイ500を示した。従来の記憶アレイ、例えば、RAID0およびRAID1アレイは記憶デバイスを少なくとも2つ必要とするが、記憶アレイ500は、単一の記憶デバイス1121を有している。記憶デバイス1121は、第1部分2021および第2部分2022を有する。一般に、第1部分2021と第2部分2022は結合し、RAID1アレイを形成する。そのRAID1アレイにおいて、第1部分2021のデータは第2部分2022にミラーされる。例えば、図5に示したように、データはチャンクA、...、Dに分割され、そのチャンクA、...、Dは、記憶デバイス1121の第1部分2021に書き込まれ、第2部分にミラーされる。
データのミラーリングは、一般に、非ミラーリング記憶デバイスと比較して、記憶デバイス1121に書き込まれるバイト数が2倍になる。従って、記憶アレイ500は、非ミラーリング記憶デバイスの半分のデータ書き込み性能を達成する。しかし、記憶アレイ500は、非ミラーリング記憶デバイスの読み出し性能に近いデータ読み出し性能を達成する。読み出し要求は記憶デバイス1121の一部分によりサービスされるからである。さらにまた、記憶アレイ500は、記憶デバイス1121の第2部分2022に再度要求をすることにより、第1部分2021からデータを読み出す時の失敗を許容する。このように、記憶アレイ500は、断続的な格納またはデバイスエラーを許容し、故障した記憶デバイスに起因するデータロスからのプロテクションを与える。
図6において、図5の記憶アレイ500を生成する方法の実施形態を示した。一実施形態において、コンピューティングデバイス100は、多様なイベント、例えばシステムパワーアップイベントやシステムリセットイベント等に応じて、図6の方法を実行する。さらに、一実施形態において、コンピューティングデバイス100は、オペレーティングシステム124やそれの実行を引き起こすブートローダの起動の前に、図5の方法を実行する。ブロック600において、SD初期化コード118はSDハンドラー120をインストールする。一実施形態において、SD初期化コードはSDハンドラー120を図3のブロック300と同様にインストールする。
ブロック602において、SD初期化コード118は、SDコントローラ110に接続された利用可能記憶デバイス1121、...、112Dが少なくとも1つあるかどうかを判断する。このために、SD初期化コード118は、図3のブロック302と同様に、多様なテストおよび/または診断を実行してもよい。利用可能な記憶デバイスが少なくとも1つ無いと判断すると、ブロック604において、SD初期化コード118はRAIDサポートをディスエーブルし、終了する。そうでなければ、ブロック606において、SD初期化コード118は、SDコントローラ110に結合された記憶デバイスおよびアレイの数をオペレーティングシステムに報告するため、BIOSデータエリア122を更新する。SD初期化コード118は、ブロック608において、利用可能記憶デバイス1121、...、112Dのパラメータを取得する。再度、SD初期化コード118は、図3のブロック308と同様に、利用可能記憶デバイスのパラメータを取得する。
ブロック610において、SD初期化コード118は、第1の記憶デバイス1121を2つの実質的に等しい部分2021、2022に分割する。一実施形態において、SD初期化コード118は、第1の記憶デバイス1121にSET MAXコマンドを発行することにより、第1の記憶デバイス1121を第1部分2021と第2部分2022に分割する。このSET MAXコマンドは、第1の記憶デバイス1121の最大アクセス可能セクターを第1の記憶デバイス1121の最小部分2021、2022のセクター数に設定する。
SD初期化コード118は、ブロック612において、デバイス識別データに基づき、性能をよくするため、記憶デバイス1121、1122およびSDコントローラ110を初期化する。特に、SD初期化コード118は、記憶デバイス1121、1122とSDコントローラ110をプログラムして、記憶デバイス1121、1122およびSDコントローラ110によりサポートされた最高性能の設定とする。例えば、SD初期化コード118は、最高速サポートPIO、マルチワードDMA、ウルトラDMAモードのために、記憶デバイス1121、1122およびSDコントローラをプログラムする。
SD初期化コード118は、ブロック614において、第1の記憶デバイス1121の容量が最小部分2021、2022の容量と等しいことをオペレーティングシステム124に報告するため、BIOSデータエリア122を更新する。従って、SD初期化コード118は、RAIDレベルおよびデータ冗長性を実施するために用いる記憶デバイス1121の記憶容量の半分を実質的に確保する。
図7において、図5の記憶アレイ500にアクセスする方法の実施例を示した。ブロック700において、SDハンドラー120は、記憶アレイ500からデータを読み出したり書き込んだりする要求を受信する。一実施形態において、SDハンドラー120は、多様なイベントに応じて上記の要求を受信する。例えば、アプリケーションやオペレーティングシステム124が記憶アレイ500からデータ読み出しや書き込みを要求するときである。特に、アプリケーションおよびオペレーティングシステム124は、割り込み13Hを生成してもよい。この割り込み13Hにより、それに関連したSDハンドラー120に要求パラメータが提供される。
SDハンドラー120は、ブロック702において、その要求が有効であるかどうか判断する。一実施形態において、SDハンドラー120は、要求されたセクターが記憶アレイ500の第1部分2021のアクセス可能セクターに対応するかどうかを判断してもよい。要求が無効であるとの判断に応じて、SDハンドラー120は、要求を終了し、その要求をしたアプリケーションおよび/またはオペレーティングシステム124に、エラー発生を示す終了メッセージまたはエグジットコードを提供する(ブロック704)。
ブロック706において、SDハンドラー120は、要求された転送を実施する一連のコマンドを記憶アレイ500の記憶デバイス1121に発行する。例えば、32キロバイトチャンクを用いた記憶アレイ500からの64キロバイトデータの要求に応じて、SDハンドラー120は、第1と第2の32キロバイトチャンクを取得するために、第1の記憶デバイス1121に第1の読み出しコマンドを発行する。さらに、読み出しエラーが発生したときには、SDハンドラー120は、第2部分2022から第1と第2の32キロバイトチャンクのミラーされたコピーを取得するため、記憶デバイス1121に第2の読み出しコマンドを発行する。
ブロック406において、SDハンドラー120は、要求された転送を実施する一連のコマンドを記憶アレイ200の記憶デバイス1121、1122に発行する。例えば、記憶アレイ200からデータのストライプを読み出す要求に応じて、SDハンドラー120は記憶デバイス1121、1122に一連の読み出しコマンドを発行する。このコマンドにより、記憶デバイス1121、1122は、第1部分2021、2022から要求されたデータを返す。当然のことながら、生成された読み出しコマンドの数は要求されたデータ量と各チャンクのサイズに依存する。例えば、32キロバイトチャンクを用いた記憶アレイ200からの64キロバイトデータの要求に応じて、SDハンドラー120は、第1の32キロバイトチャンクを取得するために、第1の記憶デバイス1121に第1の読み出しコマンドを発行し、第2の32キロバイトチャンクを取得するために第2の記憶デバイス1122に第2の読み出しコマンドを発行する。さらに、読み出しエラーが発生したときには、SDハンドラー120は、第2部分2022、2042から第1の32キロバイトチャンクと第2の32キロバイトチャンクのミラーされたコピーを取得するため、記憶デバイス1121、1122に第3の読み出しコマンドと第4の読み出しコマンドを発行する。
同様に、記憶アレイ500にデータのストライプを書き込む要求に応じて、SDハンドラー120は、記憶デバイス1121に一連の書き込みコマンドを発行する。この書き込みコマンドにより、記憶デバイス1121は、第1部分2021に要求のデータを書き込み、そのデータを第2部分2022にミラーする。例えば、32キロバイトチャンクを用いて記憶アレイ500に64キロバイトデータを書き込む要求に応じて、SDハンドラー120は、第1の記憶デバイス1121に第1の書き込みコマンドを発行する。これにより、第1および第2の32キロバイトチャンクが第1部分2021に格納される。さらに、SDハンドラー120は、記憶デバイス1121に第2の書き込みコマンドを発行してもよい。これにより、第1と第2の32キロバイトチャンクが第2部分2022にミラーされる。
SDハンドラー120は、ブロック708において、要求された転送が成功裏に完了したかどうかを判断する。要求が成功裏に完了したとの判断に応じて、SDハンドラー120は、ブロック710において、プロセスを終了し、要求が成功裏に完了したことを示すエグジットコードをアプリケーションおよび/またはオペレーティングシステム124に提供する。さらに、要求が読み出し要求であった場合、SDハンドラー120は、アプリケーションおよび/またはオペレーティングシステム124に、要求されたデータまたはその要求されたデータへのポインターをさらに提供する。または、アプリケーションおよび/またはオペレーティングシステム124により要求された場所にその要求されたデータを格納する。要求が成功裏には完了しなかったという判断に応じて、SDハンドラー120は、ブロック704において、プロセスを終了し、要求が失敗したことを示すエグジットコードをアプリケーションおよびオペレーティングシステム124に提供する。
コンピューティングデバイス100は、機械読み出し可能媒体の実行命令に応じて、図3、4、6、7に示された動作のすべてまたはその一部を実行する。ここで、機械読み出し可能媒体は、例えば、ROM(リードオンリーメモリ)、RAM(ランダムアクセスメモリ)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、および/または電気的、光学的、音響的その他の形式の伝搬信号である。例えば、搬送波、赤外線信号、デジタル信号、アナログ信号等である。さらにまた、図3、4、6、7は動作シーケンスを示すが、一部の実施形態においては、コンピューティングデバイス100は、例示した様々な動作を並行して、または異なる順番で実行してもよい。
本発明のフィーチャを実施例を参照して説明したが、この記載は本発明の範囲を限定するものではない。本発明の他の実施形態だけではなく、これらの実施例を修正したものは、当業者には明らかであれば、本発明の精神と範囲に含まれる。
本発明を添付した図面に示したが、これは本発明を例示するものであり、限定するものではない。図示を容易かつ明らかにするため、図面に示したエレメントは必ずしも一定の縮尺ではない。例えば、エレメントの一部は、明確にするため他のエレメントと比較して誇張されている。さらに、適当と思われる場合には、複数の図面で同一または類似のエレメントを示すために同じ参照符号を用いた。
少なくとも1の記憶デバイスを有するコンピューティングデバイスの実施例を示す図である。 図1のコンピューティングデバイスの記憶アレイの実施例を示す図である。 図2のアレイの初期化方法の実施例を示す図である。 図2のアレイからの読み出しおよび書き込み方法の実施例を示す図である。 図1のコンピューティングデバイス記憶アレイの他の実施例を示す図である。 図5のアレイの初期化方法の実施例を示す図である。 図5のアレイからの読み出しおよび書き込み方法の実施例を示す図である。

Claims (20)

  1. コンピューティングデバイスであって、
    プロセッサと、
    前記プロセッサと少なくとも1つの記憶デバイス間でデータを転送するコントローラと、
    前記コントローラとは離れたファームウェアとを有し、前記ファームウェアは、前記プロセッサにより実行されたとき、前記プロセッサに
    前記少なくとも1つの記憶デバイスを複数の部分に分割させ、
    前記少なくとも1つの記憶デバイスの複数の部分から記憶アレイを生成させる
    命令を有することを特徴とするコンピューティングデバイス。
  2. 請求項1に記載のコンピューティングデバイスであって、
    実行されたとき、前記プロセッサに、前記ファームウェアの記憶デバイスハンドラを介して前記少なくとも1つの記憶デバイスを評価させるオペレーティングシステムをさらに有することを特徴とするコンピューティングデバイス。
  3. 請求項2に記載のコンピューティングデバイスであって、
    前記オペレーティングシステムは、前記プロセッサに前記記憶デバイスハンドラを実行させる割り込みを生成させることを特徴とするコンピューティングデバイス。
  4. 請求項1に記載のコンピューティングデバイスであって、
    前記少なくとも1つの記憶デバイスは、第1の記憶デバイスと第2の記憶デバイスを有し、
    前記ファームウェアは、実行されたとき、前記プロセッサに前記第1の記憶デバイスを第1部分と第2部分に分割させ、前記第2の記憶デバイスを第1部分と第2部分に分割させる命令を有することを特徴とするコンピューティングデバイス。
  5. 請求項4に記載のコンピューティングデバイスであって、
    前記ファームウェアは、実行されたとき、前記プロセッサに、前記第1の記憶デバイスの前記第1部分と前記第2の記憶デバイスの前記第1部分にわたってデータをストライピングさせる命令を有することを特徴とするコンピューティングデバイス。
  6. 請求項4に記載のコンピューティングデバイスであって、
    前記ファームウェアは、実行されたとき、前記プロセッサに、前記第1の記憶デバイスの前記第1部分のデータを前記第2のデバイスの前記第2部分にミラーさせ、前記第2の記憶デバイスの前記第1部分のデータを前記第1の記憶デバイスの前記第2部分にミラーさせる命令を有することを特徴とするコンピューティングデバイス。
  7. 1以上の記憶デバイスを有するコンピューティングデバイスのためのファームウェアであって、前記ファームウェアは、実行されたとき、前記コンピューティングデバイスに、
    第1の記憶デバイスの記憶容量がその全記憶容量の実質的に半分であることを報告することにより、前記第1の記憶デバイスの第1部分と第2部分とを決定させ、
    前記第1の記憶デバイスの前記第1部分と前記第2部分を有する記憶アレイを生成させる複数の命令を有することを特徴とするファームウェア。
  8. 請求項7に記載のファームウェアであって、前記コンピューティングデバイスに、
    前記第1の記憶デバイスの前記第1部分にデータを書き込ませ、
    前記第1の記憶デバイスの前記第2部分にデータをミラーさせる命令をさらに有することを特徴とするファームウェア。
  9. 請求項7に記載のファームウェアであって、前記コンピューティングデバイスに、
    第2の記憶デバイスの記憶容量がその全記憶容量の実質的に半分であることを報告することにより前記第2の記憶デバイスの第1部分と第2部分とを決定させ、
    前記第2の記憶デバイスの前記第1部分と前記第2部分をさらに有する前記記憶アレイを生成させる命令をさらに有することを特徴とするファームウェア。
  10. 請求項9に記載のファームウェアであって、前記コンピューティングデバイスに、
    前記第1の記憶デバイスの前記第1部分と前記第2の記憶デバイスの前記第1部分とにわたりデータをストライピングさせる命令をさらに含むことを特徴とするファームウェア。
  11. 請求項9に記載のファームウェアであって、前記コンピューティングデバイスに、
    前記第1の記憶デバイスの前記第1部分と前記第2の記憶デバイスの前記第1部分に書き込まれたデータを、前記第1の記憶デバイスの前記第2部分と前記第2の記憶デバイスの前記第2部分にミラーさせる命令をさらに有することを特徴とするファームウェア。
  12. 請求項9に記載のファームウェアであって、前記コンピューティングデバイスに、
    前記第1の記憶デバイスの前記第1部分に書き込まれたデータを、前記第2の記憶デバイスの前記第2部分にミラーさせ、
    前記第2の記憶デバイスの前記第1部分に書き込まれたデータを、前記第1の記憶デバイスの前記第2部分にミラーさせる命令をさらに有することを特徴とするファームウェア。
  13. 請求項12に記載のファームウェアであって、前記コンピューティングデバイスに、
    前記第1の記憶デバイスと前記第2の記憶デバイスの前記第1部分にわたってデータをストライピングさせる命令をさらに有することを特徴とするファームウェア。
  14. 第1の記憶デバイスを第1の複数の部分に分割するステップと、
    前記第1の記憶デバイスが前記第1の複数の部分の最小部分に等しい記憶容量を有することを報告するステップと、
    前記第1の複数の部分に、またはその部分から、データを転送する命令を前記第1の記憶デバイスに発効するステップとを有することを特徴とする方法。
  15. 請求項14に記載の方法であって、前記第1の記憶デバイスが前記コマンドを実行するのに応じて、
    前記第1の記憶デバイスの第1部分にデータを転送するステップと、
    前記第1の記憶デバイスの第2部分に前記データをミラーするステップとを有することを特徴とする方法。
  16. 請求項14に記載の方法であって、
    第2の記憶デバイスを第2の複数の部分に分割するステップと、
    前記第2の記憶デバイスが前記第2の複数の部分の最小部分に等しい記憶容量を有することを報告するステップと、
    前記第2の複数の部分に、またはその部分からデータを転送する命令を前記第2の記憶デバイスに発効するステップとを有することを特徴とする方法。
  17. 請求項16に記載の方法であって、
    前記第1の記憶デバイスと前記第2の記憶デバイスが前記それぞれのコマンドを処理するのに応じて、前記第1の記憶デバイスの第1部分と前記第2の記憶デバイスの第1部分にわたってデータをストライピングするステップをさらに有することを特徴とする方法。
  18. 請求項16に記載の方法であって、前記第1の記憶デバイスと前記第2の記憶デバイスが前記それぞれのコマンドを処理するのに応じて、
    前記第1の記憶デバイスの第1部分と前記第2の記憶デバイスの第1部分にデータをストライピングするステップと、
    前記第1の記憶デバイスの第2部分と前記第2の記憶デバイスの第2部分に前記データをミラーするステップとをさらに有することを特徴とする方法。
  19. 請求項16に記載の方法であって、前記第1の記憶デバイスと前記第2の記憶デバイスが前記それぞれのコマンドを処理するのに応じて、
    前記第1の記憶デバイスの第1部分と前記第2の記憶デバイスの第2部分からデータをストライピングするステップをさらに有することを特徴とする方法。
  20. 請求項16に記載の方法であって、
    前記第1の記憶デバイスを分割するステップは、前記第1の記憶デバイスの第1部分と第2部分を決定するため、前記第1の記憶デバイスの最大アクセス可能セクターを設定するステップを有し、
    前記第2の記憶デバイスを分割するステップは、前記第2の記憶デバイスの第1部分と第2部分を決定するため、前記第2の記憶デバイスの最大アクセス可能セクターを設定するステップを有することを特徴とする方法。
JP2004555387A 2002-11-26 2003-11-05 Bios記憶アレイ Pending JP2006507603A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/305,727 US7143234B2 (en) 2002-11-26 2002-11-26 Bios storage array
PCT/US2003/035293 WO2004049158A2 (en) 2002-11-26 2003-11-05 Bios storage array

Publications (1)

Publication Number Publication Date
JP2006507603A true JP2006507603A (ja) 2006-03-02

Family

ID=32325499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004555387A Pending JP2006507603A (ja) 2002-11-26 2003-11-05 Bios記憶アレイ

Country Status (7)

Country Link
US (1) US7143234B2 (ja)
EP (1) EP1573542A2 (ja)
JP (1) JP2006507603A (ja)
KR (1) KR100829651B1 (ja)
CN (1) CN1327354C (ja)
AU (1) AU2003286914A1 (ja)
WO (1) WO2004049158A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020100883A1 (ja) * 2018-11-16 2020-05-22 Necプラットフォームズ株式会社 ディスクアレイシステム、制御装置、およびデータ入出力方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7454555B2 (en) * 2003-06-12 2008-11-18 Rambus Inc. Apparatus and method including a memory device having multiple sets of memory banks with duplicated data emulating a fast access time, fixed latency memory device
US7418621B2 (en) * 2005-02-24 2008-08-26 Dot Hill Systems Corp. Redundant storage array method and apparatus
US20070113006A1 (en) * 2005-11-16 2007-05-17 Elliott John C Apparatus and method to configure one or more storage arrays
US7669008B2 (en) 2007-02-09 2010-02-23 International Business Machines Corporation Destage management of redundant data copies
JP5320678B2 (ja) * 2007-02-20 2013-10-23 日本電気株式会社 データ分散格納システム及びデータ分散方法、それに用いる装置並びにそのプログラム
KR20100133710A (ko) * 2009-06-12 2010-12-22 삼성전자주식회사 메모리 시스템 및 그것의 코드 데이터 로딩 방법
JP2013530448A (ja) * 2010-05-05 2013-07-25 マーベル ワールド トレード リミテッド キャッシュストレージアダプタアーキテクチャ
WO2017138620A1 (ja) 2016-02-09 2017-08-17 株式会社 東芝 メモリデバイス、蓄積可能データを扱うエッジ装置及びデータ管理方法
US10579282B1 (en) * 2016-03-30 2020-03-03 EMC IP Holding Company LLC Distributed copy in multi-copy replication where offset and size of I/O requests to replication site is half offset and size of I/O request to production volume
KR20180023784A (ko) * 2016-08-25 2018-03-07 삼성전자주식회사 사전 부팅 환경에서 raid 볼륨에 접근하는 데이터 저장 시스템 및 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694581A (en) * 1993-09-07 1997-12-02 Industrial Technology Research Institute Concurrent disk array management system implemented with CPU executable extension
US6098119A (en) * 1998-01-21 2000-08-01 Mylex Corporation Apparatus and method that automatically scans for and configures previously non-configured disk drives in accordance with a particular raid level based on the needed raid level
JP2000132915A (ja) * 1998-10-22 2000-05-12 Matsushita Electric Ind Co Ltd ディスク装置およびそのデータ処理方法
US6401183B1 (en) * 1999-04-01 2002-06-04 Flash Vos, Inc. System and method for operating system independent storage management
US6681290B2 (en) * 2001-01-29 2004-01-20 International Business Machines Corporation Physical data layout to reduce seeks in a raid system
US20020156971A1 (en) * 2001-04-19 2002-10-24 International Business Machines Corporation Method, apparatus, and program for providing hybrid disk mirroring and striping
JP2003216341A (ja) * 2002-01-22 2003-07-31 American Megatrends Inc コンピュータシステム、HD(HardDisk)制御方法、及びRAIDプログラム
US7383576B2 (en) * 2004-04-23 2008-06-03 Microsoft Corporation Method and system for displaying and managing security information
KR100673329B1 (ko) * 2005-02-03 2007-01-24 학교법인 대전기독학원 한남대학교 그리드 환경에서 인증서를 이용한 사용자 역할/권한 설정 시스템 및 그 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020100883A1 (ja) * 2018-11-16 2020-05-22 Necプラットフォームズ株式会社 ディスクアレイシステム、制御装置、およびデータ入出力方法

Also Published As

Publication number Publication date
CN1327354C (zh) 2007-07-18
WO2004049158A2 (en) 2004-06-10
AU2003286914A1 (en) 2004-06-18
CN1503140A (zh) 2004-06-09
KR100829651B1 (ko) 2008-05-16
EP1573542A2 (en) 2005-09-14
US7143234B2 (en) 2006-11-28
AU2003286914A8 (en) 2004-06-18
US20040103260A1 (en) 2004-05-27
WO2004049158A3 (en) 2005-08-04
KR20050086832A (ko) 2005-08-30

Similar Documents

Publication Publication Date Title
US7206899B2 (en) Method, system, and program for managing data transfer and construction
JP3151008B2 (ja) ディスクセクタ解析方法
US8073675B2 (en) ATA emulation host interface in a RAID controller
US8819338B2 (en) Storage system and storage apparatus
US6526477B1 (en) Host-memory based raid system, device, and method
US6748486B2 (en) Method, system, and data structures for superimposing data records in a first data format to memory in a second data format
US6993676B2 (en) Method and apparatus for fast initialization of redundant arrays of storage devices
US20020065984A1 (en) Method and apparatus for zeroing a transfer buffer memory as a background task
US9304710B2 (en) Storage system and data transfer method of storage system
US7222135B2 (en) Method, system, and program for managing data migration
CN109313593B (zh) 存储系统
WO2001022221A1 (en) Raid controller system and method with ata emulation host interface
WO1996018141A1 (en) Computer system
KR100829651B1 (ko) 바이오스 스토리지 어레이
CN114817093B (zh) 一种数据传输方法、系统、装置及存储介质
US10846234B2 (en) Storage control system and storage control method
US7020770B2 (en) Method and apparatus for configuration of RAID controllers
JP2007524932A (ja) パリティデータを生成するための方法、システム、及びプログラム
US7330930B1 (en) Method and apparatus for balanced disk access load distribution
US8935488B2 (en) Storage system and storage control method
US11321023B2 (en) Method and apparatus for rapid volume reformatting
US6898666B1 (en) Multiple memory system support through segment assignment
JP2026042462A (ja) コントローラ、記憶デバイス
JPH04259026A (ja) ディスクアレイ制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090616