JP2009163773A - Raidストレージ・システム用にメモリを構成すること - Google Patents

Raidストレージ・システム用にメモリを構成すること Download PDF

Info

Publication number
JP2009163773A
JP2009163773A JP2009104812A JP2009104812A JP2009163773A JP 2009163773 A JP2009163773 A JP 2009163773A JP 2009104812 A JP2009104812 A JP 2009104812A JP 2009104812 A JP2009104812 A JP 2009104812A JP 2009163773 A JP2009163773 A JP 2009163773A
Authority
JP
Japan
Prior art keywords
storage
data
storage device
parameter
value
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
JP2009104812A
Other languages
English (en)
Inventor
William James Scales
ウィリアム・ジェームズ・スケールズ
Howard Charles Rankin
ハワード・チャールズ・ランキン
Nicholas Michael O'rourke
ニコラス・マイケル・オローク
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2009163773A publication Critical patent/JP2009163773A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H17/00Fencing, e.g. fences, enclosures, corrals
    • E04H17/02Wire fencing, e.g. made of wire mesh
    • E04H17/06Parts for wire fences
    • E04H17/08Anchoring means therefor, e.g. specially-shaped parts entering the ground; Struts or the like
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H17/00Fencing, e.g. fences, enclosures, corrals
    • E04H17/02Wire fencing, e.g. made of wire mesh
    • E04H17/10Wire fencing, e.g. made of wire mesh characterised by the way of connecting wire to posts; Droppers
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Architecture (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】仮想RAIDコントローラからキャッシュ・メモリを分離すると、適切なストライプ・サイズおよび調整特性でキャッシュ・メモリを自動的に構成することができない。
【解決手段】複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置であり、I/O操作がそれぞれRAIDコントローラにデータ・ブロックを書き込むことを含み、I/O構成がデータ長およびデータ調整を含む。
【選択図】図1

Description

本発明は、RAIDストレージ・システム用にメモリを構成することに関し、より詳細には、仮想RAIDコントローラおよび分離したメモリを含むRAIDストレージ・システム用にメモリを構成することに関する。
ストレージ・システムでは、RAID(Redundant Array ofIndependent
Disks)として知られる技術を用いて、独立した記憶装置アレイを単一の仮想記憶装置として動作するように構成することができる。RAIDストレージ・システムとともに動作するように構成されたコンピュータ・システムでは、RAIDストレージ・システムが単一の記憶装置であるかのように、RAIDストレージ・システム上で(読取りおよび書込み操作などの)I/O(入出力)操作を行うことができる。RAIDストレージ・システムは、独立した記憶装置アレイおよびRAIDコントローラを含む。RAIDコントローラにより、独立した記憶装置アレイの仮想ビューが得られる。すなわち、独立した記憶装置アレイが、記憶要素のシーケンシャル・リストを備えた単一の仮想記憶装置に見える。一般に、これらの記憶要素は記憶ブロックとして知られ、記憶ブロック中に記憶されたデータはデータ・ブロックとして知られている。I/O操作は、仮想記憶装置内の1つまたは複数の記憶ブロックに関して有効となる。仮想記憶装置上でI/O操作を実施する際、RIADコントローラは、独立した記憶装置アレイ上にI/O操作をマップする。記憶装置アレイを仮想化し、I/O操作をマップするために、RIADコントローラは、ディー・パターソン(D.Patterson)ら、「RAID(Redundant Arrays of Inexpensive Disks)の事例(A
Case forRedundant Array of Inexpensive Disks(RAID))」、1988年の論文で論じられている標準のRAID技術を用いることができる。以下にこれらの技術の一部を検討する。
単一の仮想記憶装置として記憶装置アレイの仮想ビューを提供する際、RAIDコントローラの機能は、仮想記憶装置内でアレイ全体にわたってデータ・ブロックを分散させることである。これを実現する一方法は、ストライピングとして知られる技術を用いることである。ストライピングは、複数の記憶装置全体にわたってデータ・ブロックを順番に分散させるというものである。RAIDストレージ・システム内にデータ・ブロックを記憶させるとき、各記憶装置中にストリップとして知られる複数のデータ・ブロックを記憶させる。ストリップのサイズは、個々のRAIDの実施形態によって決まることもあるし、構成可能とすることもできる。第1記憶装置上に記憶された第1ストリップおよび後続の記憶装置に記憶された後続のストリップを含むストリップ列は、ストライプとして知られている。ストライプのサイズは、ストライプを構成するすべてのストリップの合計サイズである。このようにしてデータ・ブロックを記憶するのに複数の独立した記憶装置を使用すると、複数の記憶装置がI/O操作中に並列に動作し得るので、単一の記憶装置に比べて高性能のI/O操作が行われる。
ディスク型記憶装置などの物理的な記憶装置は信頼性が低いことで知られており、RAIDコントローラの別の機能は、信頼性のあるストレージ・システムを提供することである。信頼性を高めるための一技法は、独立した記憶装置アレイ内にデータとともにチェック情報を記憶させることである。チェック情報は、このような装置アレイ内の1つの記憶装置の障害など、単一障害点(single
point of failure)のために読取り不能になったデータを再生成することができる冗長情報である。可読データと冗長チェック情報の組合せから読取り不能データを再生成する。チェック情報は、ストライプ中の1つのストリップを占めるパリティ・データとして記録し、そのストライプ中のすべてのデータ・ストリップにXOR(排他的論理和)論理演算子を適用することによって計算する。たとえば、データ・ストリップA、BおよびCを含むストライプに、A XOR B XOR Cとして演算したパリティ・ストリップをさらに付加する。ストレージ・システムにおける単一障害点時に、このパリティ・ストリップを用いてアクセス不能なデータ・ストリップを再生成する。たとえば、4つの独立した記憶装置W、X、YおよびZ全体にわたってそれぞれデータ・ストリップA、BおよびCならびにPARITYを含むストライプを記憶させ、記憶装置Xに障害が発生した場合、装置X上に記憶させたストリップBはアクセス不能になるであろう。ストリップBは、残りのデータ・ストリップおよびPARITYストリップからXOR演算によって計算することができる。この復元演算は、A XOR C XOR PARITY=Bとなる。
障害時にチェック情報を有効にするためには、そのチェック情報が正確であり、かつ維持されていることが必要である。したがって、RAIDストレージ・システム中のデータの変更を、チェック情報を適切に変更することによって反映させなければならない。これは、データの変更により、(「スモール書込み」として知られる)ストライプ全体よりもサイズが小さいデータ・ユニットが影響を受ける場合、以下に説明する理由から負担になり得る。ストライピング技術を用いるRAIDコントローラを備え、各ストライプがデータ・ストリップおよびパリティ・ストリップを含むRAIDストレージ・システムを考える。このようなシステムを、ストレージ・システム(仮想記憶装置)の仮想ビュー内の単一ブロックが単一データ・ストリップに相当するように構成する場合、仮想記憶装置に単一ブロックを書き込む操作は、RAIDストライプ中の単一ストリップの書込み操作としてRAIDコントローラによって実施される。ストライプ中の単一ストリップの変更は、対応するパリティ・ストリップを適切に変更することによって反映させなければならない。すなわち、このストライプ用のパリティ・ストリップを再計算しなければならない。パリティ・ストリップを再計算するには、ストライプ中で上書きされるデータ・ストリップ(「旧」データ・ストリップ)を、現在のパリティ・データから取り除かなければならない。これは、パリティ・データおよび旧データ・ストリップに対してXOR演算を実施することによって行うことができる。さらに、改変パリティ・ストリップを生成するために、このパリティ・データに更新データ・ストリップ(「新」データ・ストリップ)を含めなければならない。これは、パリティ・データおよび新データ・ストリップに対してXOR演算を実施することによって行うことができる。その後、改変されたパリティ・ストリップおよび新データ・ストリップをストライプ中に書き込まなければならない。したがって、現在のストライプを更新ストライプに書き換えるために、(旧データ・ストリップおよびパリティ・ストリップの)2回の読取り操作、パリティ・ストリップの改変、(新データ・ストリップおよび改変されたパリティ・ストリップの)2回の書込み操作を行う必要がある。スモール書込みを行うこの手法では、チェック情報の整合性を維持するために必要な追加の読取りおよび書込み操作のために、RAIDストレージ・システムの性能の低下が生じる。これは、スモール書込み操作のリード・モディファイ・ライト問題として周知のものである。
上記で概略を説明したようにスモール書込み操作と性能が密接に関係しているため、RAIDストレージ・システムに書き込む際に、1つまたは複数の完全なストライプを上書きして、現在のチェック情報を維持する必要をなくすことが好ましい。1つまたは複数の完全なストライプを上書きする書込み操作を行うために、RAIDストレージ・システムに書き込むデータ・ユニットが、適切なサイズのもの、すなわち(パリティ・ストリップを除く)ストライプ・サイズの倍数であることが必要である。1つまたは複数の完全なストライプを上書きするためには、データ・ユニットを、RAIDストライプ中の第1ストリップに対応するRAID記憶装置の仮想ビュー内のブロックに書き込むことも必要である。RAIDストライプ中の第1ストリップ以外の任意のストリップに対応するブロックに書き込む操作は、ストライプの一部に書込みを行うことを含み、これはスモール書込み操作になる。RAIDストライプ中の第1ストリップに対応するように書込み操作を行うことは、「ストライプ調整(stripe
alignment)」として知られている。このように、書込み操作により、1つまたは複数のRAIDストライプを確実に完全に上書きするには、ストライプが、所与のRAIDストレージ・システムのストライプ・サイズおよび調整基準を満たさなければならない。これらの基準を満たす書込み操作は、「ストライプ調整した書込み」として知られている。ストライプ調整した書込みでは、RAIDストライプ中の現在のチェック情報を維持する必要がない。というのは、1つまたは複数のストライプが、新たに書き込まれたデータに完全に置き換わり、書込み操作の一環として、この新しいデータ用に新しいチェック情報が計算されるからである。RAIDストレージ・システムへのすべての書込み操作がストライプ調整したものとなるようにすると、スモール書込みのリード・モディファイ・ライト問題がなくなることによって性能が向上する。
RAIDストレージ・システムへの書込み操作は、必ずしもストライプ調整しているとは限らず、スモール書込み操作は、完全なRAIDストライプよりもサイズが小さいデータ・ユニットを含むというその定義上、常にストライプ調整していない。既存のRAIDストレージ・システムでは、複数のスモール書込み操作を単一の書込み操作に集約して完全なストライプを構成するキャッシュなどのメモリを使用することができる。その後、スモール書込みの集合体をストライプ調整させ、RAID記憶装置に書き込むことができる。このようなキャッシュ・メモリを有効にするためには、ストライプのサイズおよび調整を含めて、RAIDストレージ・システムのパラメータで動作するようにキャッシュ・メモリ構成しなければならない。これらのパラメータは、異なるRAIDストレージ・システムでは異なり、一般に、異なる業者が提供するRAIDストレージ・システムでは異なる。使用者またはコントローラ自体によってキャッシュ・メモリが容易に適切なストライプ・サイズおよび調整のパラメータで構成されるように、しばしばキャッシュ・メモリをRAIDコントローラ内に統合する。
RAIDストレージ・システム自体が、SAN(ストレージ・エリア・ネットワーク)などの構成内にしだいに仮想化されつつある。SANは、1つまたは複数のサーバを1つまたは複数の記憶装置に接続するネットワークを含む。SAN内の記憶装置は、RAIDストレージ・システムとして実施される仮想記憶装置を含み得る。SAN内では、1つまたは複数のスイッチにより各装置が接続され、SANを介してホストと記憶装置の間の経路が提供される。SANにより記憶装置が仮想化されて、SANに接続された装置の相互運用性が確保される。ある記憶装置の実際の実装の細部を、SAN内の他の装置には未知とすることができることがSANにおける記憶装置の仮想化の特徴である。たとえば、SAN内のホストは、SANに接続された記憶装置が、単一のディスクとして実装されているのか、あるいはRAIDストレージ・システムとして実装されているのかを判別することができない。SAN内で記憶装置を仮想化すると、多数のRAIDストレージ・システムを含めて、多数の記憶装置全体にわたってデータを分散させ、それによって、性能および信頼性をさらに向上させることもできる。これは、SAN内のスイッチに接続することができる米国IBM社のTotalStorage Virtualization Engineなどのストレージ・アプライアンスを使用して実現される。キャッシュ・メモリは、RAIDストレージ・システムなどの記憶装置内に統合せず、SAN内で独立に実装して、複数のSAN記憶装置全体にわたってデータを分散させるときに使用できることが望ましい。たとえば、キャッシュ・メモリは、SAN内のスイッチに接続されたストレージ・アプライアンス内に実装することができる。
ディー・パターソン(D. Patterson)ら、「RAID(RedundantArraysof Inexpensive Disks)の事例(A Case for Redundant Array of Inexpensive Disks(RAID))」、1988年
RAIDストレージ・システムのRAIDコントローラにキャッシュ・メモリを統合せず、RAIDコントローラをSANなどで仮想化する場合、RAIDストレージ・システムの個々のストライプ・サイズおよび調整特性を、すぐにキャッシュ・メモリに利用することはできない。仮想RAIDコントローラからキャッシュ・メモリを分離すると、適切なストライプ・サイズおよび調整特性でキャッシュ・メモリを自動的に構成することができないという問題が生じる。というのは、キャッシュ・メモリにはこれらの特性が未知だからであり、手動で構成を行わなければならないか、あるいは全く行わないことになる。ストライプ・サイズおよび調整構成が不適切だと、おそらくは書込み操作が正しくストライプ調整されないので、リード・モディファイ・ライト問題が生じる可能性が高まる。したがって、従来型ストレージ・システムのこれらの問題を軽減するシステムおよび方法を提供することが望ましい。
したがって、本発明は、第1態様で、複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置を提供する。前記I/O操作はそれぞれ、RAIDコントローラにデータ・ブロックを書き込むことを含み、前記I/O構成は、データ長およびデータ調整を含む。こうすると、メモリ中に記憶されたデータを仮想RAIDコントローラに書き込む操作が、適切な長さおよび適切に調整されたものとなり、それによって、リード・モディファイ・ライト問題が生じることなく、ストライプ調整した書込みが行われるという利点が得られる。
好ましくは、このメモリはキャッシュである。
好ましくは、性能特性は応答時間である。
したがって、本発明は、第2態様で、仮想RAIDコントローラとともに動作可能なメモリを有する装置を動作させる方法を提供する。この方法は、RAIDコントローラにデータ・ブロックを書き込むことを含む複数のI/O操作を実施するステップと、前記複数のI/O操作の性能特性をテストするステップと、前記テスト・ステップに応答して、後続のI/O操作に対してデータ長およびデータ調整を含む最適なI/O構成を設定するステップとを含む。
さらに、本発明は、第3態様で、データ処理システム上で実行されるときに、上記方法を実施するようにデータ処理システムに命令する、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品を提供する。
次に、添付の図面を参照して、単なる例として本発明の好ましい実施形態を説明する。
本発明の好ましい実施形態におけるSAN(ストレージ・エリア・ネットワーク)の構成を示す概略図である。 仮想記憶装置の構成例を示す概略図である。 図1の記憶装置アレイの構成例を示す概略図であり、それ全体にわたって図2の記憶ブロックがストライプされる。 ストレージ・アプライアンスが仮想記憶装置に書込みを行うときに開始する書込み操作の構成要素を示すブロック図である。 図2の仮想記憶装置にストライプ調整した書込み操作が行われるように、図1のストレージ・アプライアンスを構成する方法を示す流れ図である。
図1は、本発明の好ましい実施形態におけるSAN(ストレージ・エリア・ネットワーク)102の構成を示す概略図である。SAN102は、ストレージ・アプライアンス1062を備えるスイッチ106を含む。好ましい実施形態では、ストレージ・アプライアンス1062は、米国IBM社のTotalStorage Virtualization Engineである。ストレージ・アプライアンス1062は、メモリ10622、ストライプ・サイズ属性10624およびストライプ調整属性10626を含む。好ましい実施形態では、メモリ10622はキャッシュである。あるいは、メモリ10622は、入力バッファまたは出力バッファである。ストライプ・サイズ属性10624およびストライプ調整属性10626は、ストレージ・アプライアンス1062の構成パラメータである。SAN102は、RAIDストレージ・システム108にホスト104を接続する。好ましい実施形態では、ホスト104は、コンピュータ・システムである。RAIDストレージ・システム108は、RAIDコントローラ1082および記憶装置アレイ1084を備える。好ましい実施形態では、記憶装置アレイ1084は、ディスク・アレイである。RAIDコントローラ1082は、ストライピングを利用して、記憶装置アレイ1084全体にわたってデータを分散させる。RAIDコントローラ1082は、記憶装置アレイ1084上に記憶されたデータ用のパリティ情報も維持する。これらの技術を用いて、RAIDコントローラ1082により、単一の仮想記憶装置としての記憶装置アレイ1084に確実にアクセスすることができる。
図2は、仮想記憶装置20の構成例を示す概略図である。この仮想記憶装置は、物理的な記憶装置ではなく、RAIDコントローラ1082によってSAN102およびホスト104に提示される記憶装置アレイ1084を表す。仮想記憶装置20は、それぞれに固定された大きさのデータを記憶する記憶要素である記憶ブロック202、204、206および208のシーケンシャル・リストを備える。記憶ブロック202、204、206および208はそれぞれ、それらが記憶することができるデータ・バイト数を表す記憶容量を有し、各記憶ブロック202、204、206および208の記憶容量は同じである。図3に示すように、記憶ブロック202、204、206および208は、RAIDコントローラ1082によって記憶装置アレイ1084全体にわたってストライプされており、それを以下で説明する。
図3は、図1の記憶装置アレイ1084の構成例を示す概略図であり、それ全体にわたって、図2の記憶ブロック202、204、206および208がストライプされている。記憶装置アレイ1084は、個々の記憶装置30、32および34を備える。仮想記憶装置20内に記憶されるデータは、RAIDコントローラ1082によって記憶装置アレイ1084全体にわたってストライプされる。データ・ストライプ36は、記憶装置30、32および34上にそれぞれ記憶されたストリップ302、322およびパリティ・ストリップ342を含む。この例の構成では、ストリップ302、322およびパリティ・ストリップ342はそれぞれ、2つの記憶ブロックを含む。したがって、仮想記憶装置20は、以下のように記憶装置アレイ1084全体にわたってストライプされる。すなわち、記憶ブロック202および204が、記憶装置30のストリップ302中に記憶され、記憶ブロック206および208が、記憶装置32のストリップ322中に記憶される。さらに、RAIDコントローラ1082により、記憶装置34上にパリティ・ストリップ342が保持される。パリティ・ストリップ342は、パリティ・データを記憶する2つの記憶ブロック3422および3424を含む。このパリティ・データは、RAIDコントローラ1082によって、XOR(排他的論理和)論理演算子を用いて演算される。記憶ブロック3422内に記憶されたパリティ・データは、記憶ブロック202内に記憶されたデータと記憶ブロック206内に記憶されたデータのXORである。記憶ブロック3424内に記憶されたパリティ・データは、記憶ブロック204内に記憶されたデータと記憶ブロック208内に記憶されたデータのXORである。記憶装置30または32の一方に障害が生じるなどの単一障害点時に、パリティ・ストリップ342を用いて、ストライプ36中で失われたストリップを再生成することができる。
動作においては、ホスト104は、ホスト104が仮想記憶装置20との間でI/O(入出力)操作を実施することができるように、RAIDストレージ・システム108とともに動作可能である。仮想記憶装置20との間のI/O操作は、スイッチ106およびストレージ・アプライアンス1062によって行われる。スイッチ106はこのI/O操作を、メモリ10622を使用して仮想記憶装置20上でストライプ調整した書込み操作を行うストレージ・アプライアンス1062に向ける。ストレージ・アプライアンス1062が仮想記憶装置20上でI/O操作を行うとき、RAIDコントローラ1082は、そのI/O操作を、記憶装置アレイ1084上でのI/O操作に変換する。RAIDストレージ・システム108およびRAIDコントローラ1082は、SAN102内のスイッチ106およびストレージ・アプライアンス1062によって仮想化されていると言える。
図4は、ストレージ・アプライアンス1062が仮想記憶装置20に書込みを行うときに開始する書込み操作402の構成要素を示すブロック図である。書込み操作402は、仮想記憶装置20に書き込まれるデータ・ユニット404を含む。書込み操作402は、データ・サイズ・パラメータ406も含む。データ・サイズ・パラメータ406の値は、仮想記憶装置20に書き込まれるデータ・ユニット404のサイズの尺度であり、仮想記憶装置20の複数の記憶ブロックで表すことができる。書込み操作402は、ブロック・パラメータ408も含む。ブロック・パラメータ408の値により、仮想記憶装置20内の記憶ブロック202、204、206または208のどれにデータ・ユニット404を書き込むべきなのかが識別される。個々の書込み操作用のデータ・サイズ・パラメータ406とブロック・パラメータ408の組合せを、書込み操作402用のパラメータ・タプル(parameter-tuple)と称する。動作においては、書込み操作402により、データ・ユニット404が、ブロック・パラメータ408で識別された記憶ブロックで始まる仮想記憶装置20に書き込まれる。当業者にはよく知られているように、記憶装置内の最初の記憶ブロックに記憶ブロックの容量よりも大きいデータ・ユニットを書き込む場合、最初の記憶ブロックで始まるシーケンシャル記憶ブロックの集合体を使用してデータ・ユニットを記憶させる。
ストレージ・アプライアンス1062が、メモリ10622を使用して仮想記憶装置20にストライプ調整した書込み操作を行うには、RAIDコントローラ1082に対して、適切なストライプ・サイズ属性10624およびストライプ調整属性10626でストレージ・アプライアンス1062を構成する必要がある。これらのパラメータは、ストレージ・アプライアンス1062が、それぞれ異なるパラメータ・タプルを有する一連の仮想記憶装置20への書込み操作の性能を分析することによって決まる。好ましい実施形態では、これらの書込み操作は、RAIDストレージ・システム108がその他の操作を行っていないときに行われる。
図5は、図2の仮想記憶装置20にストライプ調整した書込み操作が行われるように、図1のストレージ・アプライアンス1062を構成する方法を示す流れ図である。図5の方法は、ストレージ・アプライアンス1062によって実施されるものであり、仮想記憶装置20に繰り返し書込み操作を行うというものである。ステップ500で、それぞれ異なる組合せのデータ・サイズ・パラメータ406およびブロック・パラメータ408を含む多数のパラメータ・タプルの1組をまとめる。ステップ502で、このパラメータ・タプルの組の各パラメータ・タプルを通して行うループを開始する。ステップ504で、各パラメータ・タプルごとに、ストレージ・アプライアンス1062が、書込みパラメータとしてパラメータ・タプルを用いて仮想記憶装置20に書込み操作を実施する。ステップ506で、書込み操作の性能を測定し記録する。好ましい実施形態では、この性能の測定は、ステップ504の書込み操作が完了するのにかかる時間を測定することを含む。この性能測定値は、ストレージ・アプライアンス1062の記憶装置、たとえば(図示しない)ランダム・アクセス・メモリに記録することができる。ステップ508では、各パラメータ・タプルを通して行うループを継続する。ステップ510で、各書込み操作の性能の記録から最も性能のよい書込み操作を識別する。好ましい実施形態では、書込み操作が完了する時間が最も短いものが最も性能のよい書込み操作になるように決定する。最も性能のよい書込み操作を識別するとき、対応するパラメータ・タプルを識別する。その後、ステップ512で、ストライプ・サイズ10624の値が、最も性能のよい書込み操作のデータ・サイズ・パラメータ406の値に設定され、ストライプ調整10626の値が、最も性能のよい書込み操作のブロック・パラメータ408に設定されるようにストレージ・アプライアンス1062を構成する。
最も性能のよい書込み操作のパラメータ・タプルでストライプ・サイズ10624およびストライプ調整10626のパラメータでストレージ・アプライアンス1062を構成すると、キャッシュとしてメモリ10622を使用して、ストレージ・アプライアンス1062により書込み操作がストライプ調整される。ストレージ・アプライアンス1062によるストライプ調整した書込み操作では、リード・モディファイ・ライト問題が発生せず、それによってI/O性能が向上する。
次に、図5の方法の例として、以下の表に概略を記載する1組の3つのパラメータ・タプルについて検討する。
Figure 2009163773
ステップ500で、1組のパラメータ・タプルQ、RおよびSを表1に概略を記載するように定義する。ステップ502で、パラメータ・タプルQで始まる各パラメータ・タプルを通して行うループを開始する。ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルQを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック204に3ブロックのデータが書き込まれる書込み操作を行う。次に、図2を参照すると、パラメータ・タプルQについての書込み操作により、仮想記憶装置20内の記憶ブロック204、206および208にデータが書き込まれる。この書込み操作は、RAIDコントローラ1082によって、記憶装置アレイ1084全体にわたる書込み操作に変換される。次に、図3を参照すると、パラメータ・タプルQについての書込み操作により、記憶装置アレイ1084内のストリップ302の記憶ブロック204ならびにストリップ322の記憶ブロック206および208にデータが書き込まれる。その結果、ストライプ36全体には書き込まれず(記憶ブロック202には書き込まれない)、リード・モディファイ・ライト処理を用いて、記憶ブロック204、206および208の変更を反映するようにパリティ・ストリップ342を更新しなければならない。パリティ・ストリップを更新すると、パラメータ・タプルQについての書込み操作を完了するのに必要な時間が増加するように作用し、そのため、ステップ506で測定し記録する書込み操作の性能が低下する。ステップ508で、ループが、以下に概略を説明する次のパラメータ・タプルRに進む。
ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルRを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック202に2ブロックのデータが書き込まれる書込み操作を行う。次に、図2を参照すると、パラメータ・タプルRについての書込み操作により、仮想記憶装置20内の記憶ブロック202および204にデータが書き込まれる。この書込み操作は、RAIDコントローラ1082によって、記憶装置アレイ1084全体にわたる書込み操作に変換される。次に、図3を参照すると、パラメータ・タプルRについての書込み操作により、記憶装置アレイ1084内のストリップ302の記憶ブロック202および204にデータが書き込まれる。その結果、ストライプ36全体には書き込まれず(記憶ブロック206および208には書き込まれない)、リード・モディファイ・ライト処理を用いて、記憶ブロック202および204の変更を反映するようにパリティ・ストリップ342を更新しなければならない。パリティ・ストリップを更新すると、パラメータ・タプルRについての書込み操作を完了するのに必要な時間が増加するように作用し、そのため、ステップ506で測定し記録する書込み操作の性能が低下する。ステップ508で、ループが、以下に概略を説明する次のパラメータ・タプルSに進む。
ステップ504で、ストレージ・アプライアンス1062は、書込みパラメータとしてパラメータ・タプルSを用いて仮想記憶装置20に書込み操作を実施する。すなわち、仮想記憶装置20内の記憶ブロック202に4ブロックのデータが書き込まれる書込み操作を行う。次に、図2を参照すると、パラメータ・タプルSについての書込み操作により、仮想記憶装置20内の記憶ブロック202、204、206および208にデータが書き込まれる。この書込み操作は、RAIDコントローラ1082によって、記憶装置アレイ1084全体にわたる書込み操作に変換される。次に、図3を参照すると、パラメータ・タプルSについての書込み操作により、記憶装置アレイ1084内のストリップ302の記憶ブロック202および204ならびにストリップ322の記憶ブロック206および208にデータが書き込まれる。その結果、ストライプ36全体に書き込まれ、RAIDコントローラ1082によってパリティ・ストリップ342が計算される。パラメータ・タプルSについての書込み操作ではリード・モディファイ・ライト問題は生じないので書込み操作の性能は高く、それをステップ506で測定し記録する。3つのパラメータ・タプルQ、RおよびSがすべて処理されたので、ステップ508でループが終了する。
ステップ510で、各書込み操作の性能の記録から最も性能のよい書込み操作を識別する。この例では、パラメータ・タプルQおよびRについての書込み操作ではリード・モディファイ・ライト問題が生じ、その結果、性能が低くなる。パラメータ・タプルSについての書込み操作ではリード・モディファイ・ライト問題が発生せず、その結果、完了するのにかかる時間が最も短いので、性能が最も高い書込み操作になる。その後、ステップ512で、ストライプ・サイズ10624の値が、最も性能のよい書込み操作のデータ・サイズ・パラメータ406の値に設定され、ストライプ調整10626の値が、最も性能のよい書込み操作のブロック・パラメータ408に設定されるようにストレージ・アプライアンス1062が構成される。すなわち、ストライプ・サイズ10624の値は4ブロック・サイズに設定され、ストライプ調整10626の値は仮想記憶装置20内のブロック202に設定される。
まとめとして、本発明の構成に関して以下の事項を開示する。
(1)複数のI/O操作の性能特性をテストすることによって最適なI/O構成を決定する仮想RAIDコントローラとともに動作可能なメモリを有する装置であって、前記I/O操作がそれぞれ、前記RAIDコントローラにデータ・ブロックを書き込むことを含み、前記I/O構成がデータ長およびデータ調整を含む、装置。
(2)前記メモリがキャッシュである、上記(1)に記載の装置。
(3)前記メモリが入力バッファである、上記(1)に記載の装置。
(4)前記メモリが出力バッファである、上記(1)に記載の装置。
(5)前記性能特性が応答時間である、上記(1)に記載の装置。
(6)仮想RAIDコントローラとともに動作可能なメモリを有する装置を動作させる方法であって、
前記RAIDコントローラにデータ・ブロックを書き込むことを含む複数のI/O操作を実施するステップと、
前記複数のI/O操作の性能特性をテストするステップと、
前記テスト・ステップに応答して、データ長およびデータ調整を含む、後続のI/O操作に最適なI/O構成を設定するステップとを含む、方法。
(7)前記RAIDコントローラが他の操作を行っていないときに行う、上記(6)に記載の方法。
(8)前記メモリがキャッシュである、上記(6)に記載の方法。
(9)前記メモリが入力バッファである、上記(6)に記載の方法。
(10)前記メモリが出力バッファである、上記(6)に記載の方法。
(11)前記性能特性が応答時間である、上記(6)に記載の方法。
(12)データ処理システム上で実行されるときに、上記(6)に記載の方法を実施するように前記データ処理システムに命令する、コンピュータ可読記憶媒体上に記憶されたコンピュータ・プログラム・コードを含むコンピュータ・プログラム製品。
20 仮想記憶装置
30 記憶装置
32 記憶装置
34 記憶装置
36 データ・ストライプ
102 ストレージ・エリア・ネットワーク(SAN)
104 ホスト
106 スイッチ
108 RAIDストレージ・システム
202 記憶ブロック
204 記憶ブロック
206 記憶ブロック
208 記憶ブロック
302 ストリップ
322 ストリップ
342 パリティ・ストリップ
402 書込み操作
404 データ・ユニット
406 データ・サイズ・パラメータ
408 ブロック・パラメータ
1062 ストレージ・アプライアンス
1082 RAIDコントローラ
1084 記憶装置アレイ
3422 記憶ブロック
3424 記憶ブロック
10622 メモリ
10624 ストライプ・サイズ属性
10626 ストライプ調整属性

Claims (8)

  1. 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できる装置であって、
    前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
    前記RAIDコントローラによって、前記複数のI/O操作がそれぞれ前記記憶装置アレイ上でのI/O操作に変換され、
    複数のI/O操作が実施されることを通じて、測定された記録から所望の性能のI/O操作が識別されて、ストライプ・サイズの値(10624)がその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定され、データ調整の値(10626)がその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定される、
    前記装置。
  2. ストレージ・エリア・ネットワーク(以下、SAN)(102)内のスイッチ(106)に接続されて、前記スイッチ内のストレージ・アプライアンス(1062)を使用して実現される、請求項1に記載の装置。
  3. 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できる装置について、当該装置を動作させる方法であって、
    前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
    前記RAIDコントローラによって、前記複数のI/O操作をそれぞれ前記記憶装置アレイ上でのI/O操作に変換するステップと、
    複数のI/O操作を実施して、前記複数のI/O操作の性能を測定して記録するステップと、
    測定された記録から所望の性能のI/O操作を識別して、ストライプ・サイズの値(10624)をその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定し、データ調整の値(10626)をその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定するステップとを有する、
    前記方法。
  4. 前記RAIDコントローラが他の操作を行っていないときに行う、請求項3に記載の方法。
  5. 前記性能が応答時間である、請求項3に記載の方法。
  6. 前記装置がストレージ・エリア・ネットワーク(SAN)の構成内に仮想化されていて、SAN内のスイッチ(106)内のストレージ・アプライアンス(1062)を使用して動作させる、請求項3〜5の何れかに記載の方法。
  7. 請求項3〜6の何れかに記載の方法の各ステップを実施させるためのコンピュータ・プログラム・コードを含む、コンピュータ・プログラム。
  8. 複数の独立した記憶装置(30,32,34)を備えた記憶装置アレイ(1084)を仮想記憶装置(20)としてホスト(104)に提供するRAIDコントローラ(1082)を通じて、複数の入出力(以下、I/O)操作(402)を実施するにあたり、ストライプ・サイズの値(10624)及びデータ調整の値(10626)を維持できるストレージ・アプライアンス(1062)であって、
    前記I/O操作がそれぞれ、前記仮想記憶装置(20)内の記憶ブロック(202,204,206または208)に関する、データ・ユニット(404)のデータ・サイズ・パラメータ(406)と、記憶ブロック(202,204,206または208)のどれにデータ・ユニット(404)を書き込むべきかを識別するブロック・パラメータ(408)との組合せ(パラメータ・タプル)を含んでいて、
    前記RAIDコントローラによって、前記複数のI/O操作がそれぞれ前記記憶装置アレイ上でのI/O操作に変換され、
    複数のI/O操作が実施されることを通じて、測定された記録から所望の性能のI/O操作が識別されて、ストライプ・サイズの値(10624)がその所望の性能のI/O操作のデータ・サイズ・パラメータ(406)の値に設定され、データ調整の値(10626)がその所望の性能のI/O操作のブロック・パラメータ(408)の値に設定される、
    前記ストレージ・アプライアンス(1062)。
JP2009104812A 2003-04-26 2009-04-23 Raidストレージ・システム用にメモリを構成すること Pending JP2009163773A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0309538A GB2400935B (en) 2003-04-26 2003-04-26 Configuring memory for a raid storage system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2004112539A Division JP2004326759A (ja) 2003-04-26 2004-04-06 Raidストレージ・システム用にメモリを構成すること

Publications (1)

Publication Number Publication Date
JP2009163773A true JP2009163773A (ja) 2009-07-23

Family

ID=33042180

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2004112539A Pending JP2004326759A (ja) 2003-04-26 2004-04-06 Raidストレージ・システム用にメモリを構成すること
JP2009104812A Pending JP2009163773A (ja) 2003-04-26 2009-04-23 Raidストレージ・システム用にメモリを構成すること

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2004112539A Pending JP2004326759A (ja) 2003-04-26 2004-04-06 Raidストレージ・システム用にメモリを構成すること

Country Status (6)

Country Link
US (2) US7191285B2 (ja)
JP (2) JP2004326759A (ja)
KR (1) KR100637779B1 (ja)
CN (1) CN1280702C (ja)
GB (1) GB2400935B (ja)
TW (1) TWI266187B (ja)

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040011532A1 (en) * 2002-07-16 2004-01-22 White Jack D. Combined rod guide and rod rotator device
US8560671B1 (en) 2003-10-23 2013-10-15 Netapp, Inc. Systems and methods for path-based management of virtual servers in storage network environments
US20060095138A1 (en) * 2004-06-09 2006-05-04 Csaba Truckai Composites and methods for treating bone
US7559932B2 (en) 2004-12-06 2009-07-14 Dfine, Inc. Bone treatment systems and methods
US7678116B2 (en) 2004-12-06 2010-03-16 Dfine, Inc. Bone treatment systems and methods
US7682378B2 (en) 2004-11-10 2010-03-23 Dfine, Inc. Bone treatment systems and methods for introducing an abrading structure to abrade bone
US20060100706A1 (en) * 2004-11-10 2006-05-11 Shadduck John H Stent systems and methods for spine treatment
DE102005023258A1 (de) * 2004-11-16 2006-11-23 Fan Separator Gmbh Drehtrommel zur aeroben Erwärmung rieselfähiger Feststoffe
US8562607B2 (en) * 2004-11-19 2013-10-22 Dfine, Inc. Bone treatment systems and methods
US8070753B2 (en) * 2004-12-06 2011-12-06 Dfine, Inc. Bone treatment systems and methods
US7722620B2 (en) 2004-12-06 2010-05-25 Dfine, Inc. Bone treatment systems and methods
US7717918B2 (en) * 2004-12-06 2010-05-18 Dfine, Inc. Bone treatment systems and methods
US20060122614A1 (en) * 2004-12-06 2006-06-08 Csaba Truckai Bone treatment systems and methods
US7302522B2 (en) * 2004-12-27 2007-11-27 Lsi Corporation Optimizing I/O performance in a RAID subsystem using an adaptive maximum request size for a logical drive
CN100354833C (zh) * 2005-01-14 2007-12-12 英业达股份有限公司 San系统异常情况下的保护方法
CN100388239C (zh) * 2005-01-18 2008-05-14 英业达股份有限公司 在线增加廉价磁盘冗余阵列磁盘数量的方法与系统
JP2007011673A (ja) * 2005-06-30 2007-01-18 Fujitsu Ltd ホスト間データ転送方法、プログラム及びシステム
US8777479B2 (en) 2008-10-13 2014-07-15 Dfine, Inc. System for use in bone cement preparation and delivery
US8540723B2 (en) 2009-04-14 2013-09-24 Dfine, Inc. Medical system and method of use
US9066769B2 (en) 2005-08-22 2015-06-30 Dfine, Inc. Bone treatment systems and methods
US20090012525A1 (en) * 2005-09-01 2009-01-08 Eric Buehlmann Devices and systems for delivering bone fill material
CN100336007C (zh) * 2005-09-29 2007-09-05 威盛电子股份有限公司 磁盘阵列数据写入方法
JP4817783B2 (ja) 2005-09-30 2011-11-16 富士通株式会社 Raidシステム及びそのリビルド/コピーバック処理方法
JP4472617B2 (ja) * 2005-10-28 2010-06-02 富士通株式会社 Raidシステム、raidコントローラ及びそのリビルド/コピーバック処理方法
US7451354B2 (en) * 2006-01-06 2008-11-11 International Business Business Machines Apparatus and method to configure, format, and test, a data storage subsystem product
US20070214314A1 (en) * 2006-03-07 2007-09-13 Reuter James M Methods and systems for hierarchical management of distributed data
US7415574B2 (en) * 2006-07-05 2008-08-19 Cisco Technology, Inc. Dynamic, on-demand storage area network (SAN) cache
US8046629B1 (en) * 2006-07-24 2011-10-25 Marvell World Trade Ltd. File server for redundant array of independent disks (RAID) system
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US8696679B2 (en) 2006-12-08 2014-04-15 Dfine, Inc. Bone treatment systems and methods
WO2008097855A2 (en) * 2007-02-05 2008-08-14 Dfine, Inc. Bone treatment systems and methods
JP4347351B2 (ja) * 2007-02-15 2009-10-21 富士通株式会社 データ暗号化装置、データ復号化装置、データ暗号化方法、データ復号化方法およびデータ中継装置
US8065398B2 (en) * 2007-03-19 2011-11-22 Network Appliance, Inc. Method and apparatus for application-driven storage provisioning on a unified network storage system
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US8109933B2 (en) 2007-04-03 2012-02-07 Dfine, Inc. Bone treatment systems and methods
WO2008137428A2 (en) 2007-04-30 2008-11-13 Dfine, Inc. Bone treatment systems and methods
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
US7856022B1 (en) * 2007-06-28 2010-12-21 Emc Corporation Non-disruptive data migration with external virtualization engine
US9597118B2 (en) 2007-07-20 2017-03-21 Dfine, Inc. Bone anchor apparatus and method
WO2009088435A1 (en) * 2007-12-31 2009-07-16 Netapp, Inc. System and method for automatic storage load balancing in virtual server environments
US9445854B2 (en) 2008-02-01 2016-09-20 Dfine, Inc. Bone treatment systems and methods
EP2252336B1 (en) 2008-02-28 2014-06-25 Dfine, Inc. Bone treatment systems and methods
US9180416B2 (en) 2008-04-21 2015-11-10 Dfine, Inc. System for use in bone cement preparation and delivery
US8171339B2 (en) * 2008-06-02 2012-05-01 International Business Machines Corporation Testing a virtualised storage system in response to disk exercising commands
JP2010009548A (ja) * 2008-06-30 2010-01-14 Toshiba Corp 記憶装置、制御装置、記憶システム、および記憶方法
TW201028845A (en) * 2009-01-16 2010-08-01 Inventec Corp RAID testing method and testing system
US8266501B2 (en) 2009-09-29 2012-09-11 Micron Technology, Inc. Stripe based memory operation
US8495289B2 (en) * 2010-02-24 2013-07-23 Red Hat, Inc. Automatically detecting discrepancies between storage subsystem alignments
US10922225B2 (en) 2011-02-01 2021-02-16 Drobo, Inc. Fast cache reheat
US20120198152A1 (en) * 2011-02-01 2012-08-02 Drobo, Inc. System, apparatus, and method supporting asymmetrical block-level redundant storage
US20120278527A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on hybrid raid storage
US9176670B2 (en) * 2011-04-26 2015-11-03 Taejin Info Tech Co., Ltd. System architecture based on asymmetric raid storage
US20120278550A1 (en) * 2011-04-26 2012-11-01 Byungcheol Cho System architecture based on raid controller collaboration
JP2012252485A (ja) * 2011-06-02 2012-12-20 Nec Corp 記憶制御装置、及び、記憶制御方法
US8650471B2 (en) * 2011-06-28 2014-02-11 Dell Products L.P. System and method for look-aside parity based raid
US8327185B1 (en) * 2012-03-23 2012-12-04 DSSD, Inc. Method and system for multi-dimensional raid
US9411817B2 (en) * 2013-09-23 2016-08-09 Google Inc. Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems based on desired file reliability or availability
US9477679B2 (en) * 2013-09-20 2016-10-25 Google Inc. Programmatically choosing preferred storage parameters for files in large-scale distributed storage systems
CN103645995B (zh) * 2013-12-04 2016-12-07 华为技术有限公司 写数据的方法及装置
US9830110B2 (en) * 2014-06-20 2017-11-28 Dell Products, Lp System and method to enable dynamic changes to virtual disk stripe element sizes on a storage controller
US9917790B2 (en) 2014-07-31 2018-03-13 Microsoft Technology Licensing, Llc Storage device access mediation
JP6540068B2 (ja) * 2015-02-10 2019-07-10 富士通株式会社 ストレージ制御装置、制御方法、および制御プログラム
US10466913B2 (en) 2015-04-29 2019-11-05 EMC IP Holding Company LLC Method and system for replicating and using grid level metadata in a storage system
US10254992B2 (en) 2015-04-30 2019-04-09 International Business Machines Corporation Rebalancing data storage in a dispersed storage network
US9740440B2 (en) * 2015-05-21 2017-08-22 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
WO2016190891A1 (en) * 2015-05-23 2016-12-01 Hewlett Packard Enterprise Development Lp Translate data operations based on data stripe size
US10127113B1 (en) 2016-03-31 2018-11-13 EMC IP Holding Company LLC Method and system for checkerboard RAID
US10969960B2 (en) * 2016-09-01 2021-04-06 Samsung Electronics Co., Ltd. Storage device and host for the same
US10289491B1 (en) 2017-04-28 2019-05-14 EMC IP Holding Company LLC Method and system for implementing multi-dimensional raid in an extensible storage array to optimize performance
US10339062B2 (en) 2017-04-28 2019-07-02 EMC IP Holding Company LLC Method and system for writing data to and read data from persistent storage
US10614019B2 (en) 2017-04-28 2020-04-07 EMC IP Holding Company LLC Method and system for fast ordered writes with target collaboration
US10466930B2 (en) 2017-04-28 2019-11-05 EMC IP Holding Company LLC Method and system for fast ordered writes with atomic multicast
CN109683817A (zh) * 2018-12-14 2019-04-26 浪潮电子信息产业股份有限公司 一种数据写入方法、系统及电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328759A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 入出力処理システム
JPH11203055A (ja) * 1998-01-09 1999-07-30 Alps Electric Co Ltd ディスクアレイ装置
JP2001273176A (ja) * 1993-06-21 2001-10-05 Hitachi Ltd 計算機システムおよび二次記憶装置
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
JP2002358168A (ja) * 2001-04-18 2002-12-13 Internatl Business Mach Corp <Ibm> 記憶装置の設定方法、システム及び製品
JP2003521759A (ja) * 1999-05-03 2003-07-15 3ウェア カンパニー ミラーリング・ディスク・アレイのための方法およびシステム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5615335A (en) * 1994-11-10 1997-03-25 Emc Corporation Storage system self-test apparatus and method
US5623598A (en) * 1994-11-22 1997-04-22 Hewlett-Packard Company Method for identifying ways to improve performance in computer data storage systems
JP3400297B2 (ja) 1997-06-04 2003-04-28 株式会社日立製作所 記憶サブシステムおよび記憶サブシステムのデータコピー方法
US6567889B1 (en) * 1997-12-19 2003-05-20 Lsi Logic Corporation Apparatus and method to provide virtual solid state disk in cache memory in a storage controller
US6629158B1 (en) * 2000-02-16 2003-09-30 International Business Machines Corporation System, apparatus, and method for configuring an array controller
US6687765B2 (en) * 2001-01-16 2004-02-03 International Business Machines Corporation System, method, and computer program for explicitly tunable I/O device controller
US20030135609A1 (en) * 2002-01-16 2003-07-17 Sun Microsystems, Inc. Method, system, and program for determining a modification of a system resource configuration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273176A (ja) * 1993-06-21 2001-10-05 Hitachi Ltd 計算機システムおよび二次記憶装置
JPH08328759A (ja) * 1995-05-29 1996-12-13 Mitsubishi Electric Corp 入出力処理システム
JPH11203055A (ja) * 1998-01-09 1999-07-30 Alps Electric Co Ltd ディスクアレイ装置
JP2003521759A (ja) * 1999-05-03 2003-07-15 3ウェア カンパニー ミラーリング・ディスク・アレイのための方法およびシステム
JP2001290681A (ja) * 2000-04-05 2001-10-19 Nec Corp ファイルデータ格納装置及び方法並びに記録媒体
JP2002358168A (ja) * 2001-04-18 2002-12-13 Internatl Business Mach Corp <Ibm> 記憶装置の設定方法、システム及び製品

Also Published As

Publication number Publication date
CN1280702C (zh) 2006-10-18
US20040225926A1 (en) 2004-11-11
KR20040092424A (ko) 2004-11-03
TW200500856A (en) 2005-01-01
TWI266187B (en) 2006-11-11
US7191285B2 (en) 2007-03-13
JP2004326759A (ja) 2004-11-18
GB2400935B (en) 2006-02-15
US20070113008A1 (en) 2007-05-17
KR100637779B1 (ko) 2006-10-25
GB2400935A (en) 2004-10-27
CN1542600A (zh) 2004-11-03

Similar Documents

Publication Publication Date Title
JP2009163773A (ja) Raidストレージ・システム用にメモリを構成すること
US9122410B2 (en) Storage system comprising function for changing data storage mode using logical volume pair
US9588856B2 (en) Restoring redundancy in a storage group when a storage device in the storage group fails
US7386758B2 (en) Method and apparatus for reconstructing data in object-based storage arrays
US10664367B2 (en) Shared storage parity on RAID
US8046537B2 (en) Virtualization engine and method, system, and computer program product for managing the storage of data
US8250335B2 (en) Method, system and computer program product for managing the storage of data
JP5537976B2 (ja) 大容量ディスクドライブの使用方法及び装置
US7774643B2 (en) Method and apparatus for preventing permanent data loss due to single failure of a fault tolerant array
US7467269B2 (en) Storage apparatus and storage apparatus control method
US20070162692A1 (en) Power controlled disk array system using log storage area
US20060155944A1 (en) System and method for data migration and shredding
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
CN106168920B (zh) 控制包括只读闪速数据存储设备的独立磁盘冗余阵列
US7346733B2 (en) Storage apparatus, system and method using a plurality of object-based storage devices
US8949528B2 (en) Writing of data of a first block size in a raid array that stores and mirrors data in a second block size
US11210024B2 (en) Optimizing read-modify-write operations to a storage device by writing a copy of the write data to a shadow block
JPH09288547A (ja) アレイ型記憶装置
US8510507B2 (en) Data storage mirroring using virtual mirror
JP2006178926A (ja) 複数のオブジェクトベースのストレージ装置を使用したストレージ装置、システム、および方法
US20180307427A1 (en) Storage control apparatus and storage control method
JP6957845B2 (ja) ストレージ制御装置及びストレージ装置
US11544005B2 (en) Storage system and processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090423

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110719

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120207