JP4410178B2 - Raid装置におけるライトバック方法 - Google Patents

Raid装置におけるライトバック方法 Download PDF

Info

Publication number
JP4410178B2
JP4410178B2 JP2005274830A JP2005274830A JP4410178B2 JP 4410178 B2 JP4410178 B2 JP 4410178B2 JP 2005274830 A JP2005274830 A JP 2005274830A JP 2005274830 A JP2005274830 A JP 2005274830A JP 4410178 B2 JP4410178 B2 JP 4410178B2
Authority
JP
Japan
Prior art keywords
data
write
update
reference value
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005274830A
Other languages
English (en)
Other versions
JP2007087094A (ja
Inventor
和彦 池内
実希夫 伊藤
秀治郎 大黒谷
信哉 望月
秀夫 ▲高▼橋
與志仁 紺田
靖丈 佐藤
弘昭 越智
司 牧野
典秀 久保田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005274830A priority Critical patent/JP4410178B2/ja
Priority to US11/356,287 priority patent/US7370145B2/en
Publication of JP2007087094A publication Critical patent/JP2007087094A/ja
Application granted granted Critical
Publication of JP4410178B2 publication Critical patent/JP4410178B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1009Cache, i.e. caches used in RAID system with parity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1066Parity-small-writes, i.e. improved small or partial write techniques in RAID systems

Description

本発明は、ディスクアレイサブシステムのRAID制御方式におけるライトバック方法に関する。
コンピュータシステムで取り扱う大量のデータを記憶する手段として、RAID(Redundant Array of Independent/Inexpensive Disk drives)装置が広く使用されている。特に、RAID5は、コスト効率が高くシンプルな構成でデータの保護を実現できる等の理由から広く利用されている。
RAID5では、パリティディスクを使用してデータの冗長性を維持しているため、ライトバック(Write Back)処理を行なう際にパリディディスクのデータ(パリティデータ)を更新する必要がある。
ここで、ライトバック処理とは、例えば、ディスクから新しい情報をRAID制御装置内のキャッシュメモリに取り出す時に、キャッシュメモリ上で不要となった情報をディスクに書き込む処理をいう。
図10は、ライトバック処理時に全データストライプを更新する場合におけるRAID制御装置が備えるキャッシュメモリ内のデータの例を示している。
ホストコンピュータ等からRAID制御装置に送られる更新データは、RAID制御装置によってストライピングされる。そして、キャッシュメモリに更新対象のデータが存在する場合には、当該データが更新データによって更新される。
ここで、以下の説明においては、RAID制御装置によってストライピングされた1つのデータを「データストライプ」という。
同図に示すデータ1は、4つのディスク(同図に示すDisk#0〜#3)で構成されるRAID5のデータを示し、#0〜#3にストライピングされている。
また、同図に示すデータ1は、データストライプ#0〜#2が全て更新データである場合を示している。
更新する全データストライプ(データストライプ#0〜#2)がキャッシュメモリ上にあるので、Disk#0〜#3からのリード処理を行なうことなく、パリティデータ(データストライプ#3)を生成することができる。そして、生成したデータ1は、Disk#0〜#3に格納される(以下、この書込み方式を「Bandwidth Write方式」という)。
図11は、ライトバック処理時に一部のデータストライプを更新する場合におけるRAID制御装置が備えるキャッシュメモリ内のデータの例を示す図である。
同図に示すデータ2も図10と同様に、4つのディスク(同図に示すDisk#0〜#3)で構成されるRAID5のデータを示し、#0〜#3にストライピングされている。
また、同図に示すデータ2は、データストライプ#0及び#1のみが更新データである場合を示している。
この場合、ストライプの一部のデータのみキャッシュメモリ上にあるため、Disk#0、#1、及び#3から更新前データを読込み、更新データ(データストライブ#0及び#1)と排他的論理和(以下、単に「XOR」という)をとることによってパリティデータを生成する必要がある。そして、更新データと生成したパリティデータとをそれぞれDisk#0、#1、及び#3に格納する(以下、この書込み方式を「Small Write方式」という)。
上述のように、RAID5等におけるデータの更新処理、特に、更新データの一部の更新(ディスクへのライト処理)時には、更新前のデータとパリディデータを一旦ディスクから読み出し、更新データに応じた新たなパリティデータ(以下、「更新パリティ」という)を生成した後に更新データとともに更新パリティをディスクに書き込む必要がある。
すなわち、一部のデータストライプを更新する場合には、全てのデータストライプを更新する場合に比べて、ディスクから更新前データを読込む処理等が余分に必要となり、更新時の処理速度が遅くなるという問題があった。
ここで、特許文献1には、ライトバック処理の時間を短縮してスループットを向上させるために、ホストコンピュータによるライト処理後の更新データをキャッシュメモリに格納して管理するとともに、更新前データがキャッシュメモリ上に残っている場合には更新前データもキャッシュ管理テーブルで管理するディスクアレイ装置について開示されている。
特開平07−311659号公報
本発明は、上述した問題に鑑みてなされたものであり、その解決しようとする課題は、一部のデータストライプを更新する処理が含まれる場合であっても、更新時の処理速度を向上することが可能なRAID装置におけるライトバック方法を提供することである。
上記課題を解決するために、本発明に係るRAID制御装置におけるライトバック方法は、ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶処理と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成処理と、該基準値生成処理によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定処理と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定処理で決定した方式によって前記データストライプの更新を行なう書込み処理と、をRAID制御装置に行なわせる。
本発明によると、基準値生成処理によって第1及び第2の基準値を生成し、書込み方式決定処理によって第1の基準値と第2の基準値との比較結果に基づいて書込み方式を決定する。そして、この決定した書込み方式によって書込み処理が行われるので、比較結果からRAID制御装置に負荷が少なくなるようにライトバック処理を行わせることが可能となる効果を奏する。
本発明は、ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成手段と、該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプの更新を行なう書込み手段と、を備えるRAID制御装置であっても同様の効果を奏する。
また、本発明は、ホストコンピュータから送られる更新データを格納するための複数の記憶部を備えるRAID装置であって、前記更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成手段と、該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプを前記複数の記憶部に格納する書込み手段と、を備えるRAID装置であっても同様の効果を奏する。
以上のように、本発明によると、一部のデータストライプを更新する処理が含まれる場合であっても、更新時の処理速度を向上することが可能なRAID装置におけるライトバック方法を提供することができる。
以下、本発明の実施形態について図1から図9に基づいて説明する。
図1は、本発明の原理図を示している。
図1に示すRAID制御装置3は、データを一時的に格納するキャッシュメモリ4と、キャッシュメモリ4に格納されているデータの更新情報(更新箇所、更新位置)を格納する更新情報管理テーブル5と、キャッシュメモリ4に格納されているデータの更新を検出し、この更新情報を更新情報管理テーブル5に格納する更新情報記憶手段6と、更新情報管理テーブル5から更新情報を取得し、この更新情報からSmall Write方式及びRead & Bandwidth Write方式によるライトバック処理の負荷を表す基準値を生成する基準値生成処理7と、この基準値から書込み方式(Small Write方式/Read & Bandwidth Write方式)を決定する書込み方式決定手段8と、決定した方式によってRAID制御装置3に接続されるディスク装置群(ディスクアレイ)16にライトバック処理を行なう書込み手段9と、を少なくとも備えている。
ここで、Read & Bandwidth方式とは、例えば、図11に示した更新データ2において、Disk#2からデータを読込み、更新データとXORを行なうことによって更新パリティを生成し、更新データと生成した更新パリティとをそれぞれDisk#0、#1、及び#3に格納する方式をいう。
また、本実施例において、ディスク装置群16又はキャッシュメモリ4上のデータであって、ホストコンピュータ14等の上位装置から送られる更新データによって更新される前のデータを「更新前データ」といい、この時のパリティデータを「更新前パリティ」という。また、ホストコンピュータ14等の上位装置から送られる更新データによって更新されたキャッシュメモリ4上のデータを「更新後データ」という。
キャッシュメモリ4は、ホストコンピュータ14等からの要求に応じてディスク装置群から読み出したデータが一時的に格納される記憶部である。また、更新情報管理テーブル5は、キャッシュメモリ4に格納されているデータの更新情報、例えば、ブロック単位の更新の有無に関する情報、が格納される記憶部である。
更新情報記憶手段6は、ホストコンピュータ14等から送られる更新データによって、キャッシュメモリ4上のデータが更新された更新箇所(更新位置)を検出して更新情報を生成し、更新情報管理テーブル5に記憶する。
基準値生成手段7は、更新情報管理テーブル5から更新後データの更新情報を取得し、取得した更新情報から、Small Write方式によるライトバック処理を行なった場合の負荷を表す第1の基準値と、Read & Bandwidth Write方式によるライトバック処理を行なった場合の負荷を表す第2の基準値と、を生成する。
本実施例では、第1及び第2の基準値として、ライトバック処理時の
(1)ディスク装置群16へのコマンド発行回数、
(2)RAID制御装置3−ディスク装置群16間のデータ転送量、及び
(3)更新パリティを生成するためのXOR処理回数
を使用する。
なお、上記(1)〜(3)の全てを第1及び第2の基準値として使用することに限定する趣旨ではない。例えば、(1)〜(3)のいずれか1つ又は2つの組み合わせを第1及び第2の基準値として使用してもよい。
書込み方式決定手段8は、第1の基準値と第2の基準値とを比較して、より小さい負荷で行える方式に書込み方式を決定する。例えば、比較の結果、第1の基準値の方が小さい場合には、Small Write方式に決定し、第2の基準値の方が小さい場合には、Read & Bandwidth Write方式に決定する。
書込み手段9は、RAID制御装置3に備わる図示しないキャッシュメモリ制御部等からのライトバック処理命令に応じて書込み方式決定手段8で決定した書込み方式によってライトバック処理を行なう。
図2は、本実施例に係るRAID装置の構成例を示す図である。
図2に示すRAID装置は、CA(Channel Adapter)13aを介してホストコンピュータ14と接続されるRAID制御装置のCM3aと、CM3aとルータ15aを介して接続されるディスク装置群16aと、を少なくとも備えている。
また、本実施例では、CA(Channel Adapter)13bを介してホストコンピュータ14と接続されるRAID制御装置のCM3bと、CM3bとルータ15bを介して接続されるディスク装置群16bと、を更に備え、CM3aとCM3bとはルータ17を介して接続されている。また、ディスク装置群16a及びディスク装置群16bは、ルータ15a及びルータ15bを介してCM3a及びCM3bに接続されている。
ここで、本実施例では、RAID制御装置(CM3a、CM3b)及びディスク装置群(ディスク装置群16a、ディスク装置群16b)をそれぞれ二重化した場合の構成例を示しているが、これに限定する趣旨ではない。二重化以上の冗長構成であってもよいし、CM3a及びディスク装置群16aのみを使用したシングル構成であってもよい。
CA13aは、ホストコンピュータに備わる図示しないI/O装置とCM3aとのインターフェースであり、ホストコンピュータ−CM3a間のコマンドやデータの制御を行なう。
CM3aは、マイクロプロセッサ10aとキャッシュメモリ11aとRAM(Random Access Memory)12aとを少なくとも備え、所定のプログラムに従ってマイクロプロセッサ10aを動作させることによって、更新情報記憶手段6、基準値生成手段7、書込み方式決定手段8、及び書込み手段9を実現する。
更新情報記憶手段6は、キャッシュメモリ11aに格納されている更新前データが、CA13aを介してホストコンピュータ14から送られた更新データによって更新された更新箇所を検出し、当該更新箇所をブロック毎に管理する更新データ管理テーブル5を生成してRAM12aに格納する。
さらに、基準値生成手段7は、更新情報管理テーブル5から更新データの更新箇所を取得し、当該更新箇所からライトバック処理にかかる負荷を示す基準値(第1の基準値、第2の基準値)を算出する。そして、書込み方式決定手段8が当該基準値に基づいて書込み方式を決定する。
書込み手段9は、決定された書込み方式に従ってキャッシュメモリ11aに格納された更新後のデータをディスク装置群16aに書き込む処理(ライトバック処理)を行なう。
ディスク装置群16aは、Disk#0〜#3の磁気ディスクで構成されるRAIDディスクドライブである。
ここで、本実施例に係るディスク装置群16aは、RAID5の構成をとっているが、ディスク装置群16aを構成する磁気ディスクの数を限定する趣旨ではなく、少なくとも3つ以上の磁気ディスクで構成するRAIDディスクドライブを使用すればよい。
以上に説明したCA13a、CM3a、ルータ15a、及びディスク装置群16aの構成は、CA13b、CM3b、ルータ15b、及びディスク装置群16bも同様なので説明は省略する。
CM3aとCM3bとはルータ17を介して接続され、例えば、更新データがホストコンピュータ14からCA13aを介してCM3aに送られると、プロセッサ10aは、更新データをキャッシュメモリ11aに格納するとともに、ルータ17を介してCM3bに送信する。そして、CM3bでは、プロセッサ10bが受信した更新データをキャッシュメモリ11bに格納することによって、CM3a内のキャッシュメモリ11aとCM3b内のキャッシュメモリ11bとは常に同一のデータが格納される。
以上の処理によって、CM3aとCM3bとが二重化されることとなる。したがって、以下、説明を簡単にするためにCA13a、CM3a、ルータ15a、及びディスク装置群16aの動作(処理)について説明をする。
図3は、本実施例に係るRAID制御装置の処理の概要を示すフローチャートである。
キャッシュメモリ11aを制御するキャッシュメモリ制御部等からライトバック処理要求がない状態では、図3に示すライトバック処理は実行されない。
一方、RAID制御装置3であるCM3aの更新情報記憶手段6は、ホストコンピュータ14から受信した更新データによって、キャッシュメモリ11aに格納されている更新前データが更新された箇所をブロック単位で検出し、更新情報管理テーブル5を生成する。そして、生成された更新情報管理テーブル5を、RAM12aの所定のアドレスに格納する。
ここで、図4は、更新情報記憶手段6で生成される更新情報管理テーブル5の例を示している。
図4に示す更新情報管理テーブル5は、ホストコンピュータ14から送られる更新データの番号(更新データ番号)と、各更新データ番号の更新データを構成するデータストライプの番号(データストライプ番号)と、各データストライプ番号のデータストライプを構成するブロックの番号(ブロック番号)と、各ブロック番号のブロックの更新の有無を表すブロック更新フラグと、で構成されている。
また、図4に示すブロック更新フラグは、例えば、1ビットのデータで構成され、1の場合には更新有りを示し、0の場合には更新無しを示す。したがって、RAM12a上では、ビットマップテーブルとして格納されている。
CM3aに備わる図示しないキャッシュメモリ制御部等からプロセッサ10aに対してライトバック処理が要求されると、CM3aはライトバック処理を開始し(ステップS300)、処理をステップS301に移行する。
ステップS301において、CM3aは、キャッシュメモリ11aに格納されている更新情報管理テーブル5を参照し、ブロック更新フラグが全て1(更新有り)であるか判別する。
ブロック更新フラグが全て1の場合には、キャッシュメモリ11aに格納されている更新後データは、ホストコンピュータ14から送られた更新データによって全て更新されたことを示すので、処理をステップS302に移行する。そして、書込み方式をBandwidth Write方式に設定する。
また、ブロック更新フラグが全て1でない(少なくとも1つ以上のブロック更新フラグに0が含まれる)場合は、キャッシュメモリ11aに格納されていた更新前データの一部が、ホストコンピュータ14から送られた更新データによって更新されたことを示すので、処理をステップS303に移行する。
ステップS303において、CM3aは、書込み方式をSmall Write方式又はRead & Bandwidth Write方式のいずれか一方の方式に設定する。なお、ステップS303では、Small Write方式又はRead & Bandwidth Write方式のいずれを書込み方式に設定してもよいが、本実施例では、Small Write方式に設定する。
さらに、CM3aは、RAM12aの所定のアドレスに格納されている(a)ディスク装置群16aへのコマンド発行回数、(b)CM3a−ディスク装置群16a間のデータ転送量及び(c)更新パリティを生成するためのXOR処理回数(以下、「総合基準値」という)を読出す。
ここで、総合基準値は、所定の期間に実行されるライトバック処理による(a)ディスク装置群16aへのコマンド発行回数、(b)CM3a−ディスク装置群16a間のデータ転送量及び(c)更新パリティを生成するためのXOR処理回数の積算値である。
したがって、CM3aは、ライトバック処理時に(a)ディスク装置群16aへのコマンド発行回数、(b)CM3a−ディスク装置群16a間のデータ転送量及び(c)更新パリティを生成するためのXOR処理回をそれぞれカウントし、(a)〜()のそれぞれの総合基準値に加算した値をRAM12aに記憶する。
処理方式一時決定処理が完了すると、CM3aは、処理をステップS304に移行する。
ステップS304において、CM3aは、ステップS303で取得した(a)コマンド発行回数が予め設定された上限値を超えているか否かのチェックを行なう。そして、コマンド発行回数が上限値を超えている場合には、処理をステップS305に移行し、ステップS303で一時決定した方式とは別の方式を書込み方式に決定する。
例えば、ステップS303で、Small Write方式を選択した場合に、ディスクへのコマンド発行回数が上限値を越えてしまったときには、ステップS305において、Read & Bandwidth Write方式に方式を変更する。
また、ステップS304において、コマンド発行回数が上限値を超えていない場合には、処理をステップS306に移行する。
ステップS306において、CM3aは、ステップS303で取得した(b)データ転送量が予め設定された上限値を超えているか否かのチェックを行なう。そして、データ転送量が上限値を超えている場合には、処理をステップS305に移行し、ステップS303で一時決定した方式とは別の方式を書込み方式に決定する。
例えば、ステップS303で、Small Write方式を選択した場合に、ディスクへのデータ転送量が上限値を越えていたときには、ステップS305において、Read & Bandwidth Write方式に方式を変更する。
また、ステップS306において、データ転送量が上限値を超えていない場合には、処理をステップS307に移行する。
ステップS307において、CM3aは、ステップS303で取得した(c)XOR回数が上限値を超えているか否かのチェックを行なう。そして、XORの回数が上限値を超えている場合には、処理をステップS305に移行し、ステップS303で一時決定した方式とは別の方式を書込み方式に決定する。
また、ステップS307において、XORの回数が上限値を超えていない場合には、処理をステップS308に移行する。
ステップS308において、CM3aは、RAM12aに記憶されている更新情報管理テーブル5を参照して更新情報(更新箇所)を取得し、第1及び第2の基準値を生成する。そして、第1の基準値と第2の基準値との比較結果に基づいて書込み方式を決定する。なお、ステップS308の詳細については、図5で説明する。
ステップS302、S305及びS308の処理によって書込み方式が決定すると、CM3aは、処理をステップS309に移行する。そして、決定した書込み方式によってライトバック処理を行なう。
以上に説明した処理において、ステップS303では、書込み方式にSmall Write方式を設定したが、Read & Bandwidth Write方式を設定してもよいことは当然である。
図5は、本実施例に係る処理方式最終決定処理を示すフローチャートである。
図3に示したステップS307において、(c)XORの回数が上限値を超えていない場合には、処理をステップS500に移行して処理方式最終決定処理を開始する。
ステップS501において、CM3aは、RAM12a上の更新情報管理テーブル5を参照し、更新情報(更新箇所)を取得する。そして、以下に説明するように、更新情報から第1及び第2の基準値を生成する。
まず、本実施例に係る第1の基準値、すなわち、Small Write方式によるライトバック処理時の
(1a)ディスク装置群16aへのコマンド発行回数、
(2a)RAID制御装置3−ディスク装置群16a間のデータ転送量、及び
(3a)更新パリティを生成するためのXOR処理回数の生成方法
について説明し、次に、本実施例に係る第2の基準値、すなわち、Read & Bandwidth Write方式によるライトバック処理時の
(1b)ディスク装置群16aへのコマンド発行回数、
(2b)RAID制御装置3−ディスク装置群16a間のデータ転送量、及び
(3b)更新パリティを生成するためのXOR処理回数の生成方法
について説明する。
なお、(1a)〜(3a)及び(1b)〜(3b)の具体例は、それぞれ図6及び8、図7及び9に基づいて後述する。
(1a)ディスク装置群16aへのコマンド発行回数
CM3aは、更新情報管理テーブル5から取得した更新情報に基づいて、更新データによって更新された領域(例えば、図6に示す更新後データ20aにおける領域#00、#11、#13及び#20)と更新されていない領域(例えば、図6に示す更新後データ20aにおける領域#12)とに各データストライプを分割する。
Small Write方式によるライトバック処理の場合、CM3aは、更新データによって更新された領域の更新前データと更新前パリティをディスク装置群16aから読出す。この時、CM3aがディスク装置群16aに対して発行するRead命令の回数は、次式により算出できる。
(Read命令の回数)=(更新された領域の数)+1 ・・・(1)
同様に、CM3aは、更新データによって更新された領域の更新後データと更新後パリティをディスク装置群16aに書き込む。この時、CM3aがディスク装置群16aに対して発行するWrite命令の回数は、次式により算出できる。
(Write命令の回数)=(更新された領域の数)+1 ・・・(2)
(2a)RAID制御装置3−ディスク装置群16a間のデータ転送量
Small Write方式によるライトバック処理の場合、CM3aは、更新データによって更新された領域の更新前データと更新前パリティをディスク装置群16aから読出し、更新データによって更新された領域の更新後データと更新後パリティをディスク装置群16aに書き込む。
したがって、この時のデータ転送量は、次式により算出できる。
(Read時のデータ転送量)=(データストライプの数)
×(1データストライプのブロック数)
−(更新されない領域のブロック数) ・・・(3)
(Write時のデータ転送量)=(データストライプの数)
×(1データストライプのブロック数)
−(更新されない領域のブロック数)・・・(4)
(3a)更新パリティを生成するためのXOR処理回数
Small Write方式によるライトバック処理の場合、CM3aは、更新データによって更新された領域と更新されない領域とに分割されたデータストライプ(例えば、図6に示す更新後データ20a)について、さらに、各データストライプ内の領域が同じ構成となるように分割する(例えば、図6に示す更新後データ20bの領域#01〜#03、#11〜#13及び#21〜#23)。
また、更新前データをディスク装置群16aから読出し、各データストライプ内の領域が同じ構成となるように分割する(例えば、図6に示す更新前データ30bの#31〜#33、#41〜#43、#51〜#53及び#61〜#63)。
そして、各領域の更新後データと更新後データに対応する更新前データと更新前パリティとについてXOR処理を行なう。
したがって、この時のXOR処理回数は、次式により算出される。
(XOR処理回数)=2×(更新された領域の数)
+(1データストライプ内の領域の数) ・・・(5)
(1b)ディスク装置群16aへのコマンド発行回数
Read & Bandwidth Write方式によるライトバック処理の場合、CM3aは、更新データによって更新されなかった領域の更新前データをディスク装置群16aから読出す。この時、CM3aがディスク装置群16aに対して発行するRead命令の回数は、次式により算出できる。
(Read命令の回数)=(更新なし領域の数) ・・・(6)
また、Small Write方式によるライトバック処理の場合と同様に、CM3aは、更新データによって更新された領域の更新後データと更新後パリティをディスク装置群16aに書き込む。この時、CM3aがディスク装置群16aに対して発行するWrite命令の回数は、式(2)により算出できる。
(2b)RAID制御装置3−ディスク装置群16a間のデータ転送量
Read & Bandwidth Write方式によるライトバック処理の場合、CM3aは、更新データによって更新されなかった領域の更新前データのみをディスク装置群16aから読出し、更新データによって更新された領域の更新後データと更新後パリティをディスク装置群16aに書き込む。
したがって、この時のデータ転送量は、次式により算出できる。
(Read時のデータ転送量)=(更新なし領域のブロック数) ・・・(7)
(Write時のデータ転送量)=(データストライプの数)
×(1データストライプのブロック数)
−(更新なし領域のブロック数) ・・・(8)
(3b)更新パリティを生成するためのXOR処理回数
Read & Bandwidth Write方式によるライトバック処理の場合のXOR処理回数は、全てを更新されたデータストライプ(例えば、図7に示す更新後データ20cのデータストライプ#0、#2)と更新されない領域を含むデータストライプ(例えば、図7に示す更新前データ30cのデータストライプ#1)とについてXOR処理を行うので、次式により算出される。
(XOR処理回数)=(ディスク装置群16aを構成するディスクの数)−1
・・・(9)
以上に説明したように、ステップS501において、第1及び第2の基準値を生成すると、CM3aは、処理をステップS502に移行する。
ステップS50において、CM3aは、(1)コマンド発行回数について第1の基準値と第2の基準値とを比較し、コマンド発行回数の少ない方に点数を加算する。
ステップS503において、CM3aは、(2)データ転送量について第1の基準値と第2の基準値とを比較し、データ転送量の少ない方に点数を加算する。
さらに、ステップS50において、CM3aは、(3)更新パリティを生成するためのXOR処理回数について、第1の基準値と第2の基準値とを比較し、XOR処理回数が少ない方に点数を加算する。
ステップS501〜S504の比較処理が終了すると、CM3aは、処理をステップS505に移行する。
ステップS505において、CM3aは、ステップS502〜S504で取得した第1の基準値の点数と第2の基準値の点数とを比較する。そして、比較の結果、第1の基準値の点数の方が大きい場合には、処理をステップS506に移行し、書込み方式をSmall Write方式に設定する。
また、ステップS505での比較の結果、第2の基準値の点数の方が大きい場合には、処理をステップS507に移行し、書込み方式をRead & Bandwidth Write方式に設定する。
ステップS506又はS507で書込み方式が決定されると、CM3aは、処理をステップS508に移行して、処理方式最終決定処理を終了する。
以下、図6〜図9に基づいてライトバック処理時の(1)ディスク装置群16aへのコマンド発行回数、(2)CM3a−ディスク装置群16a間のデータ転送量及び(3)更新パリティを生成するためのXOR処理回数の具体例を示して説明する。
そして、図6及び図7には、第1の例として、データストライプの一部に更新されないデータがある場合を示す。そして、図6ではSmall Write方式によるライトバック処理について説明し、図7ではRead & Bandwidth Write方式によるライトバック処理について説明する。
また、図8及び図9には、第2の例として、データストライプの2箇所に更新されないデータがある場合を示す。そして、図8ではSmall Write方式によるライトバック処理について説明し、図9ではRead & Bandwidth Write方式によるライトバック処理について説明する。
なお、説明を簡単にするために1データストライプが16ブロックの場合について説明するが、これに限定する趣旨ではないことは当然である。
図6は、データストライプの一部に更新されないデータがある場合のSmall Write方式によるライトバック処理について説明する図である。
図6に示す更新後データ20aは、データストライプ#0〜#2にストライピングされたキャッシュメモリ11a上のデータである。また、この更新後データ20aは、更新データによってデータ領域#00、#11、#13及び#20が更新された状態を示している。
ここで、更新後データ20aに示す領域#11、#12及び#13は、領域#10が領域#11、#12及び#13に分割されていることを表している。以下、領域#01、#02及び#03、領域#21、#22及び#23等についても同様である。
この時、更新情報管理テーブル21は、更新後データ20aの領域#00、#11、#13及び#20に対応するブロック更新フラグが1、領域#12に対応するブロック更新フラグが0である。
Small Write方式によるライトバック処理において、CM3aは、更新後データ20aを各データストライプ内の領域が同じ構成となるように適当な領域に分割して更新後データ20bを生成するとともに、ディスク装置#0〜#3で構成されるディスク装置群16aから読出した更新前データ30aを各データストライプ内の領域が同じ構成となるように適当な領域に分割して更新前データ30bを生成する。
そして、更新後データ20bと更新前データ30bの各領域についてXOR処理をして得る更新パリティ(#71〜#73)を付加した更新後データ40をディスク装置群16aに格納する。
(1a)ディスク装置群16aへのコマンド発行回数
Small Write方式によるライトバック処理において、CM3aは、ディスク装置群16aに対してRead命令を発行する。そして、更新後データ20aに対応する更新前データをディスク装置群16aから読出して、更新前データ30aを生成する。
この時、CM3aは、ディスク装置#0に対して領域#00の更新前データを要求して更新前データ30aの領域#30に格納する。また、CM3aは、ディスク装置#1に対して領域#11及び#13の更新前データをそれぞれ要求して領域#41、#43に格納する。同様に、CM3aは、ディスク装置#2、#3に対して領域#20、#30の更新前データを要求するので、ディスク装置群16aに対して合計5回のRead命令を発行する。
また、CM3aは、更新後データ20bと更新前データ30bとから生成した更新パリティを付加した更新後データ40を、ディスク装置群16aに書込むために、ディスク装置群16aに対するWrite命令を発行する。
この時、CM3aは、ディスク装置#0に対して更新後データ40の領域#00のデータの書込みを要求する。また、CM3aは、ディスク装置#1に対して、領域#11及び#13のデータの書込みをそれぞれ要求する。同様に、CM3aは、ディスク装置#2、#3に対して領域#20、領域#71〜#73のデータの書込みを要求するので、ディスク装置群16aに対して合計5回のWrite命令を発行する。
(2a)CM3a−ディスク装置群16a間のデータ転送量
Small Write方式によるライトバック処理では、CM3aは、更新パリティを生成するために、更新後データ20aの領域#00(16ブロック)、#11(8ブロック)、#13(4ブロック)及び#20(16ブロック)の更新前データと、更新前パリティ(16ブロック)をディスク装置群16aから読出して更新前データ30aの領域#30、#41、#43、#50及び#60に記憶するので、合計60ブロックのデータをディスク装置群16aから読出すことになる。
また、CM3aは、更新後データと更新パリティをディスク装置群16aに書き込むために、ディスク装置群16aに対して更新後データ40の領域#00(16ブロック)、#11(8ブロック)、#13(4ブロック)及び#20(16ブロック)の更新後データと更新後パリティデータ(領域#71〜#73の16ブロック)を転送するので、合計60ブロックのデータをディスク装置群16aに書込むことになる。
(3a)更新パリティを生成するためのXOR処理回数
Small Write方式によるライトバック処理では、更新パリティを生成するXOR処理を行なうために、CM3aは、更新後データ20aを各データストライプ内の領域が同じ構成となるように領域分割して更新後データ20bを生成し、同様に、更新前データ30aを各データストライプ内の領域が同じ構成となるように領域分割して更新後データ30bを生成する。
そして、以下に示すXOR処理を行なって更新パリティを生成する。
(#71)=(#01)XOR(#11)XOR(#21)
XOR(#31)XOR(#41)XOR(#51)XOR(#61)
(#72)=(#02)XOR(#22)XOR(#32)
XOR(#52)XOR(#62)
(#73)=(#03)XOR(#13)XOR(#23)
XOR(#33)XOR(#43)XOR(#53)XOR(#63)
ここで、(領域番号)は、該当する領域内のデータを示す。例えば、(#30)は、領域#30のデータを示す。
したがって、(#1)を算出するために6回、(#2)を算出するために4回、(#3)を算出するために6回、合計16回のXOR演算が行なわれる。
図7は、データストライプの一部に更新されないデータがある場合のRead & Bandwidth Write方式によるライトバック処理について説明する図である。
図7に示す更新後データ20cは、図6で示した更新後データ20a(又は更新後データ20b)であり、データストライプ#0〜#2にストライピングされたデータを示している。したがって、この更新データ20cは、更新データによってデータ領域#00、#11、#13及び#20が更新された状態を示している。
この時、更新情報管理テーブル21は、更新後データ20cの領域#00、#11、#13及び#20に対応するブロック更新フラグが1、領域#12に対応するブロック更新フラグが0となっている。
Read & Bandwidth Write方式によるライトバック処理において、CM3aは、更新後データ20cと、ディスク装置#0〜#3で構成されるディスク装置群16aから読出した更新前データ30cと、の各データストライプについてXOR処理をして得る更新パリティ(#70)を付加した更新後データ40をディスク装置群16aに格納する。
(1b)ディスク装置群16aへのコマンド発行回数
Read & Bandwidth Write方式によるライトバック処理において、CM3aは、更新対象でない更新前データをディスク装置群16aから読出すために、ディスク装置群16aに対してRead命令を発行する。そして、更新後データ20cに対応する更新前データをディスク装置群16aから読出して、更新前データ30cを生成する。
この時、CM3aは、ディスク装置#1に対して更新後データ20cの領域#12の更新前データを要求して更新前データ30cの領域#41に格納する。したがって、合計1回のRead命令をディスク装置群16aに対して発行する。
また、CM3aは、更新後データ20cと更新前データ30cとから生成した更新パリティを付加した更新後データ40を、ディスク装置群16aに書き込むために、ディスク装置群16aに対してWrite命令を発行する。
この時、CM3aは、Small Write方式と同様に、ディスク装置#0に対して更新後データ40の領域#00のデータの書込みを要求し、ディスク装置#1に対して、領域#11及び#13のデータの書込みをそれぞれ要求する。同様に、CM3aは、ディスク装置#2、#3に対して更新後データ40の領域#20、#70のデータの書込みを要求するので、ディスク装置群16aに対して合計5回のWrite命令を発行する。
(2b)CM3a−ディスク装置群16a間のデータ転送量
Read & Bandwidth Write方式によるライトバック処理では、CM3aは、更新後データ20cの領域#12の更新前データをディスク装置#1から読出すので、4ブロックのデータをディスク装置群16aから読出すことになる。
また、CM3aは、更新後データと更新パリティをディスク装置群16aに書き込むために、ディスク装置群16aに対して更新後データ40の領域#00、#11、#13及び#20の更新後データと領域#70の更新後パリティデータを転送するので、合計60ブロックのデータをディスク装置群16aに書込みことになる。
(3b)更新パリティを生成するためのXOR処理回数
Read & Bandwidth Write方式によるライトバック処理では、更新パリティを生成するために、以下の計算を行なう。
(#70)=(#00)XOR(#20)XOR(#40)
したがって、(#70)を算出するために2回のXOR演算が行なわれる。
図8は、データストライプの2箇所に更新されないデータがある場合のSmall Write方式によるライトバック処理について説明する図である。
図8に示す更新後データ22aは、データストライプ#0〜#2にストライピングされたキャッシュメモリ11a上のデータである。また、この更新後データ22aは、更新データによってデータ領域#00、#12及び#21が更新された状態を示している。
この時、更新情報管理テーブル23は、更新後データ22aの領域#00、#12及び#21に対応するブロック更新フラグが1、領域#11及び#22に対応するブロック更新フラグが0である。
Small Write方式によるライトバック処理において、CM3aは、更新後データ22aを各データストライプ内の領域が同じ構成となるように適当な領域に分割して更新後データ22bを生成するとともに、ディスク装置#0〜#3で構成されるディスク装置群16aから読出した更新前データ31aを各データストライプ内の領域が同じ構成となるように適当な領域に分割して更新前データ31bを生成する。
そして、更新後データ22bと更新前データ31bの各領域についてXOR処理をして得る更新パリティ(#71〜#73)を付加した更新後データ41をディスク装置群16aに格納する。
(1a)ディスク装置群16aへのコマンド発行回数
Small Write方式によるライトバック処理において、CM3aは、ディスク装置群16aに対してRead命令を発行する。そして、更新後データ22aに対応する更新前データをディスク装置群16aから読出して、更新前データ31aを生成する。
この時、CM3aは、ディスク装置#0に対して領域#00の更新前データを要求して更新前データ31a領域#30に格納する。また、CM3aは、ディスク装置#1に対して領域#12の更新前データを要求して領域#43に格納する。同様に、CM3aは、ディスク装置#2に対して領域#21の更新前データを要求して領域#51に格納し、ディスク装置#3に対して更新前パリティを要求して領域#60に格納する。したがって、ディスク装置群16aに対して合計4回のRead命令を発行する。
また、CM3aは、更新後データ20bと更新前データ30bとから生成した更新パリティを付加した更新後データ40を、ディスク装置群16aに書込むために、ディスク装置群16aに対するWrite命令を発行する。
この時、CM3aは、ディスク装置#0に対して更新後データ41の領域#00のデータの書込みを要求する。また、CM3aは、ディスク装置#1に対して領域#12のデータの書込みを要求する。同様に、CM3aは、ディスク装置#2、#3に対してそれぞれ領域#21、領域#70のデータの書込みを要求するので、ディスク装置群16aに対して合計4回のWrite命令を発行する。
(2a)CM3a−ディスク装置群16a間のデータ転送量
Small Write方式によるライトバック処理では、CM3aは、更新パリティを生成するために、更新後データ22aの領域#00(16ブロック)、#12(4ブロック)及び#21(4ブロック)の更新前データと、更新前パリティ(16ブロック)をディスク装置群16aから読出して更新前データ31aの領域#30、#43、#51及び#60に記憶するので、合計40ブロックのデータをディスク装置群16aから読出すことになる。
また、CM3aは、更新後データと更新パリティをディスク装置群16aに書き込むために、ディスク装置群16aに対して更新後データ41の領域#00(16ブロック)、#12(4ブロック)及び#21(4ブロック)の更新後データと更新後パリティデータ(領域#70の16ブロック)を転送するので、合計40ブロックのデータをディスク装置群16aに書込むことになる。
(3a)更新パリティを生成するためのXOR処理回数
Small Write方式によるライトバック処理では、更新パリティを生成するXOR処理を行なうために、CM3aは、更新後データ22aを各データストライプ内の領域が同じ構成となるように領域分割して更新後データ22bを生成し、同様に、更新前データ31aを各データストライプ内の領域が同じ構成となるように領域分割して更新後データ31bを生成する。
そして、以下に示すXOR処理を行なって更新パリティを生成する。
(#71)=(#01)XOR(#21)XOR(#31)
XOR(#51)XOR(#61)
(#72)=(#02)XOR(#32)XOR(#62)
(#73)=(#03)XOR(#12)XOR(#33)
XOR(#43)XOR(#63)
したがって、(#71)を算出するために4回、(#72)を算出するために2回、(#73)を算出するために4回、合計10回のXOR演算が行なわれる。
図9は、データストライプの2箇所に更新されないデータがある場合のRead & Bandwidth Write方式によるライトバック処理について説明する図である。
図9に示す更新後データ22cは、図8で示した更新後データ22a(又は更新後データ22b)であり、データストライプ#0〜#2にストライピングされたデータを示している。したがって、この更新後データ22cは、更新データによってデータ領域#00、#12及び#21が更新された状態を示している。
この時、更新情報管理テーブル23は、更新後データ22cの領域#00、#12及び#21に対応するブロック更新フラグが1、領域#11及び#22に対応するブロック更新フラグが0となっている。
Read & Bandwidth Write方式によるライトバック処理において、CM3aは、更新後データ22cと、ディスク装置#0〜#3で構成されるディスク装置群16aから読出した更新前データ31cと、の各データストライプについてXOR処理をして得る更新パリティ(#70)を付加した更新後データ41をディスク装置群16aに格納する。
(1b)ディスク装置群16aへのコマンド発行回数
Read & Bandwidth Write方式によるライトバック処理において、CM3aは、更新対象でない更新前データをディスク装置群16aから読出すために、ディスク装置群16aに対してRead命令を発行する。そして、更新後データ22cに対応する更新前データをディスク装置群16aから読出して、更新前データ31cを生成する。
この時、CM3aは、ディスク装置#1に対して更新後データ22cの領域#11の更新前データを要求して更新前データ31cの領域#41に格納する。また、ディスク装置#2に対して領域#22の更新前データを要求して領域#51に格納する。したがって、合計2回のRead命令をディスク装置群16aに対して発行する。
また、CM3aは、更新後データ20cと更新前データ30cとから生成した更新パリティを付加した更新後データ40を、ディスク装置群16aに書き込むために、ディスク装置群16aに対してWrite命令を発行する。
この時、CM3aは、Small Write方式と同様に、ディスク装置#0に対して更新後データ41の領域#00のデータの書込みを要求し、ディスク装置#1に対して、領域#12のデータの書込みを要求する。同様に、CM3aは、ディスク装置#2に対して更新後データ41の領域#21のデータの書込みを要求し、ディスク装置#3に対して領域#70のデータの書込みを要求するので、ディスク装置群16aに対して合計4回のWrite命令を発行する。
(2b)CM3a−ディスク装置群16a間のデータ転送量
Read & Bandwidth Write方式によるライトバック処理では、CM3aは、ディスク装置#1から更新後データ22cの領域#11、ディスク装置#2から領域#22の更新前データをそれぞれ読出すので、8ブロック(4ブロック+4ブロック)のデータをディスク装置群16aから読出すことになる。
また、CM3aは、更新後データと更新パリティをディスク装置群16aに書き込むために、ディスク装置群16aに対して更新後データ41の領域#00、#12及び#21の更新後データと領域#70の更新後パリティデータを転送するので、合計40ブロックのデータをディスク装置群16aに書込みことになる。
(3b)更新パリティを生成するためのXOR処理回数
Read & Bandwidth Write方式によるライトバック処理では、更新パリティを生成するために、以下の計算を行なう。
(#70)=(#00)XOR(#40)XOR(#50)
したがって、(#70)を算出するために2回のXOR演算が行なわれる。
以上に説明したように、本実施例に係るRAID制御装置は、第1及び第2の基準値を生成して比較を行ない、より基準値の低い書込み方式によるライトバック処理を行なうことによって、ライトバック処理時の負荷を減らしてRAID装置の性能(例えば、ディスク装置群へのアクセス速度、時間等)を向上することが可能となる。
また、第1及び第2の基準値として、ライトバック処理時の(1)ディスク装置群16へのコマンド発行回数、(2)RAID制御装置3−ディスク装置群16間のデータ転送量、及び(3)更新パリティを生成するためのXOR処理回数を使用し、図5に示したように全体として(1)〜(3)の値が低くなる書込み方式を選択することによって、RAID装置の性能向上にとってのボトルネックとなる要因を低減することが可能となる効果を奏する。
また、図3に示したステップS304〜S307に示したように、所定の期間に実行されるライトバック処理による(a)ディスク装置群16aへのコマンド発行回数、(b)CM3a−ディスク装置群16a間のデータ転送量及び(c)更新パリティを生成するためのXOR処理回数の積算値に上限を設け、この上限を越えないように書込み方式を選択することによっても、RAID装置の性能向上にとってのボトルネックとなる要因を低減することが可能となる効果を奏する。
(付記1) ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶処理と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成処理と、該基準値生成処理によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定処理と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定処理で決定した方式によって前記データストライプの更新を行なう書込み処理と、をRAID制御装置に行なわせることを特徴とするライトバック方法。
(付記2) 前記第1及び第2の基準値には、前記ディスク装置に対して発行するコマンド発行回数、前記ディスク装置との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数、の少なくとも1つを用いる、ことを特徴とする請求項1に記載のライトバック方法。
(付記3) 前記書込み方式決定処理は、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項1に記載のライトバック方法。
(付記4) 前記書込み方式決定処理は、前記ディスク装置に対して発行するコマンド発行回数と、前記ディスク装置との間で送受信されるデータ転送量と、及び更新後データのパリティデータを生成するために必要なXOR演算回数と、をそれぞれ前記第1及び第2の基準値に用いて比較をし、該比較の結果、前記コマンド発行回数、前記データ転送量、及び前記XOR演算回数の少なくとも2以上について、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項1に記載のライトバック方法。
(付記5) 前記書込み方式決定処理は、前記ディスク装置に対して発行するコマンド発行回数、前記ディスク装置との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数に、上限値を設け、該上限値を超えた場合には、Small Write方式とRead & Bandwidth Write方式のうち前記上限値を超えない方に決定する、ことを特徴とする請求項1に記載のライトバック方法。
(付記6) ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成手段と、該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプの更新を行なう書込み手段と、を備えるRAID制御装置。
(付記7) 前記第1及び第2の基準値には、前記ディスク装置に対して発行するコマンド発行回数、前記ディスク装置との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数、の少なくとも1つを用いる、ことを特徴とする請求項6に記載のRAID制御装置。
(付記8) 前記書込み方式決定手段は、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項6に記載のRAID制御装置。
(付記9) 前記書込み方式決定手段は、前記ディスク装置に対して発行するコマンド発行回数と、前記ディスク装置との間で送受信されるデータ転送量と、及び更新後データのパリティデータを生成するために必要なXOR演算回数と、をそれぞれ前記第1及び第2の基準値に用いて比較をし、該比較の結果、前記コマンド発行回数、前記データ転送量、及び前記XOR演算回数の少なくとも2以上について、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項6に記載のRAID制御装置。
(付記10) 前記書込み方式決定手段は、前記ディスク装置に対して発行するコマンド発行回数、前記ディスク装置との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数に、上限値を設け、該上限値を超えた場合には、Small Write方式とRead & Bandwidth Write方式のうち前記上限値を超えない方に決定する、ことを特徴とする請求項6に記載のRAID制御装置。
(付記11) ホストコンピュータから送られる更新データを格納するための複数の記憶部を備えるRAID装置であって、前記更新データによって更新されたキャッシュメモリに格納されている更新後データの更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報から、Small Write方式による書込み処理の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理の負荷を表す第2の基準値と、を生成する基準値生成手段と、該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプを前記複数の記憶部に格納する書込み手段と、を備えるRAID装置。
(付記12) 前記第1及び第2の基準値には、前記記憶部に対して発行するコマンド発行回数、前記記憶部との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数、の少なくとも1つを用いる、ことを特徴とする請求項11に記載のRAID装置。
(付記13) 前記書込み方式決定手段は、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項11に記載のRAID装置。
(付記14) 前記書込み方式決定手段は、前記記憶部に対して発行するコマンド発行回数と、前記記憶部との間で送受信されるデータ転送量と、及び更新後データのパリティデータを生成するために必要なXOR演算回数と、をそれぞれ前記第1及び第2の基準値に用いて比較をし、該比較の結果、前記コマンド発行回数、前記データ転送量、及び前記XOR演算回数の少なくとも2以上について、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、ことを特徴とする請求項11に記載のRAID装置。
(付記15) 前記書込み方式決定手段は、前記記憶部に対して発行するコマンド発行回数、前記記憶部との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数に、上限値を設け、該上限値を超えた場合には、Small Write方式とRead & Bandwidth Write方式のうち前記上限値を超えない方に決定する、ことを特徴とする請求項11に記載のRAID装置。
本発明の原理を示す図である。 本実施例に係るRAID装置の構成例を示す図である。 本実施例に係るRAID制御装置の処理の概要を示すフローチャートである。 本実施例に係る更新情報記憶手段で生成される更新情報管理テーブルの例を示す図である。 本実施例に係る処理方式最終決定処理を示すフローチャートである。 本実施例に係る第1の例におけるSmall Write方式によるライトバック処理について説明する図である。 本実施例に係る第1の例におけるRead & Bandwidth Write方式によるライトバック処理について説明する図である。 本実施例に係る第2の例におけるSmall Write方式によるライトバック処理について説明する図である。 本実施例に係る第2の例におけるRead & Bandwidth Write方式によるライトバック処理について説明する図である。 ライトバック処理時に全データストライプを更新する場合におけるRAID制御装置が備えるキャッシュメモリ内のデータの従来例を示す図である。 ライトバック処理時に一部のデータストライプを更新する場合におけるRAID制御装置が備えるキャッシュメモリ内のデータの従来例を示す図である。
符号の説明
3 RAID制御装置
4 キャッシュメモリ
5 更新情報管理テーブル
6 更新情報記憶手段
7 基準値生成手段
8 書き込み方式決定手段
9 書き込み手段
10a、10b マイクロプロセッサ
11a、11b キャッシュメモリ
12a、12b RAM
13a、13b CA
14 ホストコンピュータ
16a、16b ディスク装置群

Claims (5)

  1. ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新部分を示す更新情報を更新情報管理テーブルに記憶する更新情報記憶処理と、
    該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報が示す更新部分を有する前記更新後データについて、Small Write方式による書込み処理を行なう場合の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理を行なう場合の負荷を表す第2の基準値と、を生成する基準値生成処理と、
    該基準値生成処理によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定処理と、
    前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定処理で決定した方式によって前記データストライプの更新を行なう書込み処理と、
    をRAID制御装置に行なわせることを特徴とするライトバック方法。
  2. 前記第1及び第2の基準値には、前記ディスク装置に対して発行するコマンド発行回数、前記ディスク装置との間で送受信されるデータ転送量、更新後データのパリティデータを生成するために必要なXOR演算回数、の少なくとも1つを用いる、
    ことを特徴とする請求項1に記載のライトバック方法。
  3. 前記書込み方式決定処理は、前記第2の基準値より前記第1の基準値が小さい場合にSmall Write方式に決定し、前記第1の基準値より前記第2の基準値が小さい場合にRead & Bandwidth Write方式に決定する、
    ことを特徴とする請求項1に記載のライトバック方法。
  4. ホストコンピュータから送られる更新データによって更新されたキャッシュメモリに格納されている更新後データの更新部分を示す更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、
    該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報からが示す更新部分を有する前記更新後データについて、Small Write方式による書込み処理を行なう場合の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理を行なう場合の負荷を表す第2の基準値と、を生成する基準値生成手段と、
    該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、
    前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプの更新を行なう書込み手段と、
    を備えるRAID制御装置。
  5. ホストコンピュータから送られる更新データを格納するための複数の記憶部を備えるRAID装置であって、
    前記更新データによって更新されたキャッシュメモリに格納されている更新後データの更新部分を示す更新情報を更新情報管理テーブルに記憶する更新情報記憶手段と、
    該更新情報管理テーブルから前記更新後データの更新情報を取得し、該更新情報が示す更新部分を有する前記更新後データについて、Small Write方式による書込み処理を行なう場合の負荷を表す第1の基準値と、Read & Bandwidth Write方式による書込み処理を行なう場合の負荷を表す第2の基準値と、を生成する基準値生成手段と、
    該基準値生成手段によって生成された前記第1の基準値と前記第2の基準値とを比較し、該比較結果に基づいて、Small Write方式とRead & Bandwidth Write方式とのいずれかの方式を書込み方式に決定する書込み方式決定手段と、
    前記キャッシュメモリに格納された前記更新後データのデータストライプを読出し、前記書込み方式決定手段で決定した方式によって前記データストライプを前記複数の記憶部に格納する書込み手段と、
    を備えるRAID装置。
JP2005274830A 2005-09-22 2005-09-22 Raid装置におけるライトバック方法 Expired - Fee Related JP4410178B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005274830A JP4410178B2 (ja) 2005-09-22 2005-09-22 Raid装置におけるライトバック方法
US11/356,287 US7370145B2 (en) 2005-09-22 2006-02-17 Write back method for RAID apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005274830A JP4410178B2 (ja) 2005-09-22 2005-09-22 Raid装置におけるライトバック方法

Publications (2)

Publication Number Publication Date
JP2007087094A JP2007087094A (ja) 2007-04-05
JP4410178B2 true JP4410178B2 (ja) 2010-02-03

Family

ID=37885638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005274830A Expired - Fee Related JP4410178B2 (ja) 2005-09-22 2005-09-22 Raid装置におけるライトバック方法

Country Status (2)

Country Link
US (1) US7370145B2 (ja)
JP (1) JP4410178B2 (ja)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
US8239735B2 (en) 2006-05-12 2012-08-07 Apple Inc. Memory Device with adaptive capacity
WO2008026203A2 (en) * 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
CN101601094B (zh) * 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7706182B2 (en) * 2006-12-03 2010-04-27 Anobit Technologies Ltd. Adaptive programming of analog memory cells using statistical characteristics
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
EP2118746B1 (en) * 2007-01-11 2019-01-02 Red Bend Ltd. Method and system for in-place updating content stored in a storage device
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
CN101715595A (zh) * 2007-03-12 2010-05-26 爱诺彼得技术有限责任公司 存储器单元读取阈的自适应估计
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8060696B2 (en) * 2007-04-27 2011-11-15 Siemens Medical Solutions Usa, Inc. Positron emission tomography event stream buffering
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
JP5124217B2 (ja) * 2007-09-18 2013-01-23 株式会社日立製作所 ストレージ装置
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) * 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US7797501B2 (en) * 2007-11-14 2010-09-14 Dell Products, Lp Information handling system including a logical volume and a cache and a method of using the same
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US8498151B1 (en) 2008-08-05 2013-07-30 Apple Inc. Data storage in analog memory cells using modified pass voltages
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
WO2010049928A1 (en) * 2008-10-27 2010-05-06 Kaminario Tehnologies Ltd. System and methods for raid writing and asynchronous parity computation
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
JP5218147B2 (ja) * 2009-02-26 2013-06-26 富士通株式会社 ストレージ制御装置,ストレージ制御方法およびストレージ制御プログラム
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8103904B2 (en) 2010-02-22 2012-01-24 International Business Machines Corporation Read-other protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
US8583866B2 (en) 2010-02-22 2013-11-12 International Business Machines Corporation Full-stripe-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
US8103903B2 (en) 2010-02-22 2012-01-24 International Business Machines Corporation Read-modify-write protocol for maintaining parity coherency in a write-back distributed redundancy data storage system
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
JP2012185687A (ja) * 2011-03-07 2012-09-27 Fujitsu Ltd 制御装置、制御方法およびストレージ装置
JP5923964B2 (ja) 2011-12-13 2016-05-25 富士通株式会社 ディスクアレイ装置、制御装置、およびプログラム
WO2014155525A1 (ja) * 2013-03-26 2014-10-02 株式会社日立製作所 ストレージシステム及び制御方法
US9104597B2 (en) * 2013-04-16 2015-08-11 International Business Machines Corporation Destaging cache data using a distributed freezer
US9298398B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Fine-grained control of data placement
US9329938B2 (en) 2013-04-16 2016-05-03 International Business Machines Corporation Essential metadata replication
US9619404B2 (en) 2013-04-16 2017-04-11 International Business Machines Corporation Backup cache with immediate availability
US9423981B2 (en) 2013-04-16 2016-08-23 International Business Machines Corporation Logical region allocation with immediate availability
US9104332B2 (en) 2013-04-16 2015-08-11 International Business Machines Corporation Managing metadata and data for a logical volume in a distributed and declustered system
US9298617B2 (en) 2013-04-16 2016-03-29 International Business Machines Corporation Parallel destaging with replicated cache pinning
CN104571959A (zh) * 2014-12-31 2015-04-29 曙光信息产业股份有限公司 数据处理方法和装置
JP7355616B2 (ja) 2019-11-26 2023-10-03 株式会社日立製作所 分散ストレージシステムおよび分散ストレージシステムのパリティ更新方法
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7200715B2 (en) 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7035974B2 (en) * 2002-11-06 2006-04-25 Synology Inc. RAID-5 disk having cache memory implemented using non-volatile RAM
JP4435705B2 (ja) * 2005-03-14 2010-03-24 富士通株式会社 記憶装置、その制御方法及びプログラム

Also Published As

Publication number Publication date
JP2007087094A (ja) 2007-04-05
US7370145B2 (en) 2008-05-06
US20070067667A1 (en) 2007-03-22

Similar Documents

Publication Publication Date Title
JP4410178B2 (ja) Raid装置におけるライトバック方法
JP4634157B2 (ja) ストレージシステム
JP5923964B2 (ja) ディスクアレイ装置、制御装置、およびプログラム
JP4788528B2 (ja) ディスク制御装置、ディスク制御方法、ディスク制御プログラム
JP4372134B2 (ja) データ比較機能を有するストレージシステム
US7127557B2 (en) RAID apparatus and logical device expansion method thereof
JP3249868B2 (ja) アレイ形式の記憶装置システム
US20070168754A1 (en) Method and apparatus for ensuring writing integrity in mass storage systems
JP4675881B2 (ja) 磁気ディスク装置およびその制御方法
JP4712102B2 (ja) 記憶装置、データ処理方法およびデータ処理プログラム
EP0701208A2 (en) Disk array subsystem and data generation method therefor
JP2006318017A (ja) Raid構成変換方法、装置及びプログラム並びにこれを用いたディスクアレイ装置
JP4461089B2 (ja) ストレージ制御装置およびストレージ制御方法
JP6052288B2 (ja) ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム
JP2006072435A (ja) ストレージシステムおよびデータ記録方法
JP2006252165A (ja) ディスクアレイ装置、及びコンピュータシステム
JP4373450B2 (ja) Raid制御装置及びその制御方法
JP2008003857A (ja) ストレージ装置の容量拡張方法、プログラム、およびストレージ装置
JP5505329B2 (ja) ディスクアレイ装置及びその制御方法
JP2003241904A (ja) ディスクアレイ装置、及びその制御方法
WO2016175762A1 (en) Storage cache management
JP2018063491A (ja) 制御装置、制御方法及びプログラム
JP6875237B2 (ja) ストレージ制御装置、ストレージ制御システム、ストレージ制御方法、及び、ストレージ制御プログラム
JPH08202505A (ja) アレイ型記憶装置
JP2017054303A (ja) ディスクアレイ装置、ディスクアレイシステム、制御方法、および、制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091005

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091112

R150 Certificate of patent or registration of utility model

Ref document number: 4410178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees