JP4440803B2 - 記憶装置、その制御方法及びプログラム - Google Patents

記憶装置、その制御方法及びプログラム Download PDF

Info

Publication number
JP4440803B2
JP4440803B2 JP2005058784A JP2005058784A JP4440803B2 JP 4440803 B2 JP4440803 B2 JP 4440803B2 JP 2005058784 A JP2005058784 A JP 2005058784A JP 2005058784 A JP2005058784 A JP 2005058784A JP 4440803 B2 JP4440803 B2 JP 4440803B2
Authority
JP
Japan
Prior art keywords
area
data
storage device
page
parity
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
JP2005058784A
Other languages
English (en)
Other versions
JP2006244122A (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 JP2005058784A priority Critical patent/JP4440803B2/ja
Priority to US11/159,361 priority patent/US20060200697A1/en
Publication of JP2006244122A publication Critical patent/JP2006244122A/ja
Application granted granted Critical
Publication of JP4440803B2 publication Critical patent/JP4440803B2/ja
Priority to US13/846,432 priority patent/US20130290630A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/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
    • 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/1059Parity-single bit-RAID5, i.e. RAID 5 implementations

Description

本発明は、上位装置の記憶デバイスに対する入出力要求をキャッシュメモリを介して処理する記憶装置、その制御方法及びプログラムに関し、特にキャッシュメモリ上で更新された最新のデータを記憶デバイスにライトバックする記憶装置、その制御方法及びプログラムに関する。
従来、ホストからの入出力要求を処理するRAID装置にあっては、図18のように、RAID装置100にキャッシュメモリ102を設け、キャッシュメモリ102上でホストからのディスク装置104−1〜104−4に対する入出力要求を処理するようにしている。
このようなRAID装置100のキャッシュデータはページ単位に管理されており、図19のように、キャッシュページ106は例えば66,560バイトを1ページとして管理している。
キャッシュページ106はホストのアクセス単位となる複数のブロック単位のユーザデータで構成され、1ブロックのユーザデータは512バイトであり、512バイト毎に8バイトのブロックチェックコード(BCC)が付加され、この520バイトのブロックを128ブロック単位で1ページとして管理し、このため1ページは520×128=66,560バイトとなる。
またキャッシュページ106を管理するためにキャッシュバンドルエレメントCBEと呼ばれるキャッシュ管理テーブルを用意する。キャッシュ管理テーブルには1ページごとに対応する管理レコードが存在し、管理レコードは論理ユニット番号LUN、論理ブロックアドレスLBA、1ブロックを1ビットで対応したダーティデータをダーティデータビットマップ等を保持している。このキャッシュ管理テーブルの1ページはRAIDグループを構成する各ディスク装置のストリップ領域のサイズと同一サイズとしている。
ここでRAID装置100の冗長構成としてRAID5を使用する場合、キャッシュメモリ102上にキャッシュデータを格納するキャッシュ領域108を設けると共に、キャッシュ領域108とは別にライトバック処理の際に新パリティ生成用の作業用域として旧データや旧パリティを格納するデータバッファ領域110や新パリティを格納するパリティバッファ領域112を設けている。
ライトバック処理は、例えばキャッシュ領域108に1ページデータとして存在する新データ(D2)newについてディスク装置104−2に対するライトバック要求が発生した場合、キャッシュメモリ102上にデータバッファ領域110とパリティバッファ領域112を確保してからライトバック処理を進める。ここで、新データ(D2)はディスク装置の1台に書き込むことから、このライトバック処理をスモールライトという。
スモールライトは、ディスク装置104−2から旧データ(D2)oldを読み出してデータバッファ領域110に格納すると共にディスク装置104−4から旧パリティ(P)oldを読み出して同じくデータバッファ領域110に格納する。続いて新データ(D2)new、旧データ(D2)old及び旧パリティ(P)oldの排他論理和(XOR)116を計算して新パリティ(P)newを求めてパリティバッファ領域112に格納する。最後に、新データ(D2)newと新パリティ(P)newをぞれぞれディスク装置104−2,104−4に書込んで処理を終了する。
また新データがディスク装置104−1〜104−3のストリップに対応して全て存在する場合のライトバックはバンドワイドライトといわれ、バンドワイドライトでは、ディスク装置104−1〜104−3のストリップ領域に対応した全データの排他論理和として新パリティを計算し、ディスク装置104−1〜104−4に書込んで処理を終了する。
特開平05−303528号公報 特開平08−115169号公報
しかしながら、このような従来のキャッシュ制御処理にあっては、データバッファ領域やパリティバッファ領域はキャッシュ領域と比較して十分なサイズを確保されているわけではないため、ライトバック要求時にデータバッファ領域やパリティバッファ領域の枯渇が発生した場合、これら領域が空くまで処理が待たされ、ライトバック処理が非常に多くの時間がかかっている。
本発明は、ライトバック時に作業用のバッファ領域を確保することなく旧データ、旧パリティ、新パリティの格納領域を確実に確保してライトバック処理待ちを解消する記憶装置、その制御方法及びプログラムを提供することを目的とする。
図1は本発明の原理説明図である。本発明は記憶装置を提供する。本発明の記憶装置は、
キャッシュメモリ28上のデータをページ領域単位に管理して上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御部42と、
複数の記憶デバイス上のデータをそれぞれページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎にパリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御部38と、
上位装置からライト要求を受けた際に、キャッシュメモリ28上に、ストライプ領域と同一サイズとなる複数のページ領域で構成したキャッシュ領域48を配置するキャッシュ領域配置部44と、
記憶デバイスのデータより新しいキャッシュメモリ28上の新データを記憶デバイスに書き戻す際に、キャッシュ領域48内の空き領域を使用して新パリティデータを生成した後に、新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理部46と、
を備えたことを特徴とする。
ここで、ライトバック処理部は、キャッシュ領域を構成する複数のページ領域の1つに新データが存在する場合、空きページ領域をワーク領域に使用して、新データに対応する記憶デバイスから旧データ及び旧パリティを読出した後に、新データ、旧データ及び旧パリティから新パリティを生成し、新データ及び新パリティを対応する記憶デバイスに書き込む。
ライトバック処理部は、キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在する場合、空きページ領域をワーク領域に使用して複数の新データから新パリティを生成し、新データ及び新パリティを対応する記憶デバイスに書き込む。
ライトバック処理部は、キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在すると共にページ領域の新データの一部に空きが存在する場合、ページ領域内の空き部分に対応する記憶デバイスから旧データを読み出して格納した後に、空きページ領域をワーク領域に使用して複数の新データから新パリティを生成し、新データ及び新パリティを対応する記憶デバイスに書き込む。キャッシュ領域配置部はライトバック処理部による書込み終了で対応するキャッシュ領域を開放する。
本発明は、記憶装置の制御方法を提供する。本発明による記憶装置の制御方法は、
キャッシュメモリ上のデータをページ領域単位に管理して上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
複数の記憶デバイス上のデータをそれぞれページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎にパリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
上位装置からライト要求を受けた際に、キャッシュメモリ上に、ストライプ領域と同一サイズとなる複数のページ領域で構成したキャッシュ領域を配置するキャッシュ領域配置ステップと、
記憶デバイスのデータより新しいキャッシュメモリ上の新データを記憶デバイスに書き戻す際に、キャッシュス領域内の空き領域を使用して新パリティデータを生成した後に、新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
を備える。
本発明は、記憶装置のコンピュータにより実行されるプログラムを提供する。本発明のプログラムは、記憶装置のコンピュータに、
キャッシュメモリ上のデータをページ領域単位に管理して上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
複数の記憶デバイス上のデータをそれぞれページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎にパリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
上位装置からライト要求を受けた際に、キャッシュメモリ上に、ストライプ領域と同一サイズとなる複数のページ領域で構成されたキャッシュ領域を配置するキャッシュ領域配置ステップと、
記憶デバイスのデータより新しいキャッシュメモリ上の新データを記憶デバイスに書き戻す際に、キャッシュス領域内の空き領域を使用して新パリティデータを生成した後に、新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
を実行させることを特徴とする。
なお、本発明における記憶装置の制御方法及びプログラムの詳細は、本発明の記憶装置の場合と基本的に同じになる。
本発明によれば、RAID5については、ホストからライト要求時に、複数のディスク装置のストリップ領域を1つにまとめた1ストライプ分のキャッシュ領域をキャッシュメモリ上に配置して確保し、このキャッシュ領域をユーザデータと同様に管理する。これによってライトバック時には、新データ以外の配置済みの空きページ領域を作業領域に使用して旧データや旧パリティ、更には新パリティを格納し、これによってライトバック時にキャッシュ領域とは別の作業用のバッファ領域を改めて確保する必要がなくなり、バッファ領域の枯渇によって発生するライトバック処理時間の遅延を解消することができる。
図2は本発明が適用されるRAID装置のハードウェア構成のブロック図であり、大型の装置構成を例にとっている。図2において、RAID装置10に対してはフレーム系ホスト12とUNIX(R)/IAサーバ系のホスト14が設けられている。
RAID装置10内には、CPU15を備えたチャネルアダプタ16−1,16−2、制御モジュール18−1〜18−n、バックグラウンドルータ20−1,20−2、記憶デバイスとして機能するRAID5の冗長構成をとるハードディスクドライブなどのディスク装置22−1〜22−4、更にフロントルータ32−1,32−2を設けている。
RAID装置10は最大構成で制御モジュールを8台実装することができる。チャネルアダプタ16−1,16−2はCPU15を備え、フレームワーク系のホスト12を制御モジュール18−1に接続している。またチャネルアダプタ26−1,26−2は、UNIX(R)/IAサーバ系のホスト14を制御モジュール18−1に接続している。
チャネルアダプタ16−1,16−2及びチャネルアダプタ26−1,26−2は、制御モジュール18−1に設けた通信部25からフロントルータ32−1,32−2を介して、他の制御モジュール18−2(図示せず)〜18−nに接続される。
制御モジュール18−1〜18−nには、制御モジュール18−1に代表して示すように、CPU24、通信部25、キャッシュメモリ28及びデバイスインタフェース30−1,30−2が設けられている。
CPU24には、ホスト12またはホスト14からのライトコマンドまたはリードコマンドに対する入出力要求をキャッシュメモリ28上で処理して応答する入出力処理機能に加え、キャッシュメモリ28の制御と管理、更にキャッシュメモリ28からバックグラウンドルータ20−1,20−2を介して、ディスク装置22−1〜22−4に対するキャッシュデータのライトバック、及びディスク装置22−1〜22−4からのディスクデータのステージングなどをプログラム制御により行っている。
フロントルータ32−1,32−2は、制御モジュール18−1に対し他の制御モジュール18−2(図示せず)〜18−nを接続し、制御の多重化を図っている。またバックグラウンドルータ20−1,20−2に対しては制御モジュール18−1〜18−nがそれぞれ接続され、制御モジュール側のCPU24によるRAID制御によるデータ入出力処理を行っている。
図3は本発明が適用されるRAID装置の他のハードウェア構成のブロック図であり、図2の大型装置に対し規模の小さな小型あるいは中型装置とした場合を例にとっている。図3において、RAID装置10は、CPU15を備えたチャネルアダプタ16、2重構成の制御モジュール18−1,18−2及び、少なくともRAID5の冗長構成をとるディスク装置22−1〜22−4を備えている。
制御モジュール18−1,18−2には、制御モジュール18−1に代表して示すように、CPU24、通信部25、キャッシュメモリ28及びデバイスインタフェース30−1,30−2が設けられている。またUNIX(R)/IAサーバ系のホスト14は、チャネルアダプタ26により制御モジュール18−1に接続される。
この小型及び中型に対応した図3のRAID装置10は、図2のRAID装置10からバックグラウンドルータ20−1,20−2及びフロントルータ32−1,32−2を除いた規模の小さな構成であり、それ以外の構成は基本的に図2と同じである。
図4は本発明によるRAID装置の機能構成のブロック図である。図4において、RAID装置10の機能は、制御モジュール18に設けているCPU24のプログラム制御により実現され、制御モジュール18内に示すように、リソース処理部34、キャッシュ処理部36、RAID制御部38及びコピー処理部40を構築している。
キャッシュ処理部36には、キャッシュ制御部42、キャッシュ領域配置部44、キャッシュ管理テーブル45、ライトバック処理部46、更にキャッシュメモリ28が設けられている。
キャッシュメモリ28には、ホスト12またはホスト14からのライト要求を受けた際に配置されてデータを書き込むキャッシュ領域48、キャッシュ領域48のキャッシュデータを物理デバイス22で示すRAID構成のディスク装置に対し書き込むライトバック処理の際に配置されるデータバッファ領域50及びパリティバッファ領域52が設けられる。
キャッシュ制御部42はキャッシュメモリ28上のデータをページ領域単位に管理し、ホスト12またはホスト14の複数のディスク装置でRAIDグループを構成した物理デバイス22に対する入出力要求を処理する。
即ちキャッシュ制御部42は、図5に示すように、キャッシュページ55としてホスト側のアクセス単位である512バイトのユーザデータと8バイトのBCCで構成される520バイトのブロックデータを128ブロック備えた66,560バイトで1ページを構成している。
このようなキャッシュメモリ28上のキャッシュページ55は、キャッシュ管理テーブル45にページごとに記録されて管理されており、キャッシュ管理テーブル45におけるデコードは、論理ユニット番号(LUN)、論理ブロックアドレス(LBA)、ブロックが新データであることを示すことをビットで表わしたダーティデータビットマップ(128ビット)などで構成されている。
再び図4を参照するに、RAID制御部38は複数のディスク装置でRAIDグループを構成する物理デバイス22に対し、本発明にあってはRAID5の冗長構成によるRAID制御を行う。
即ちRAID制御部38は、図5のディスク装置22−1〜22−4に示すように、ディスク装置22−1〜22−4上のデータを、それぞれキャッシュメモリ28におけるキャッシュページ55と同一サイズのストリップ領域54−1,54−2,54−3,54−4として管理すると共に、同一アドレスを持つ複数のストリップ領域54−1〜54−4をまとめて、ストライプ領域56として管理している。
RAID5の冗長構成の場合、例えばストライプ領域56を例にとると、ディスク装置22−1〜22−3のストリップ領域54−1〜54−3にはデータD1,D2,D3が格納され、残りのディスク装置22−4のストリップ領域54−4にはパリティPが格納されている。RAID5の冗長構成の場合、ストライプ領域56のアドレスが異なるごとにパリティPを格納するディスクの位置が変化する。
再び図4を参照するに、キャッシュ処理部36に設けたキャッシュ領域配置部44は、ホスト12または14からのライト要求を受けた際に、キャッシュメモリ28上に図5に示したディスク装置22−1〜22−4におけるストライプ領域56と同一サイズとなる複数のページ領域、この例では4ページのページ領域で構成したキャッシュ領域48を配置する。
更にライトバック処理部46は、ディスク装置のデータより新しいキャッシュメモリ28上のキャッシュ領域48における新データをディスク装置に書き戻す際に、ストライプ領域と同一サイズの配置を行ったキャッシュ領域48における空きページ領域を使用して新パリティを生成した後に、新データ及び新パリティを対応するディスク装置に書き込む。
このように本発明にあっては、ホスト12または14からライト要求を受けた際に、パリティを含めて1ストライプ分のキャッシュメモリ領域を同時にアロケーション(配置)してユーザデータと同様の管理を行う。例えば図5のように、ディスク装置22−1〜22−4が4台あって、RAIDグループにおけるストリップ領域54−1〜54−4が4つある場合、ホストからのライト要求に対し4ストリップ領域で構成される1ストライプ領域分のキャッシュ領域、即ち4ページ分のキャッシュ領域を同時にアロケーションし、パリティ用空きページを除く残り3ページ分のキャッシュ領域の一部もしくは全ページにライト要求データを書き込んで、ユーザデータと同様の管理を行う。
図6は本発明におけるキャッシュライト処理のフローチャートである。図6において、キャッシュライト処理は、ホストからのライト要求に対し、ステップS1でライトコマンドを解析し、ステップS2でRAID5か否かチェックする。RAID5であった場合には本発明による処理がステップS3から行われる。
ステップS3にあっては、ライト要求データの範囲をディスク装置のストリップ単位に丸めたキャッシュページ数を決定する。即ち、ライト要求データが1ページ未満であれば、キャッシュページ数を1とする。またライト要求データのサイズが1.5ページであれば、これを丸めてキャッシュページは2ページとする。
次にステップS4でパリティ用の空きページを含むストライプ単位に丸めたキャッシュ領域をアロケーションする。図5のように、ストライプ領域56が4つのストリップ領域54−1〜54−4、即ちキャッシュページ55を4つ合わせた4ページで構成されている場合には、ステップS3で決定されたキャッシュページ数が3以下であれば、1ストライプ分のキャッシュ領域をアロケーションし、例えば4ページであった場合には2ストライプ分のキャッシュ領域をアロケーションする。
続いてステップS5で、パリティ用空きページを除いてアロケーションしたキャッシュ領域の先頭ページから要求データをページ単位に書き込む。もちろん、要求データが1ページ未満の場合には先頭ページの先頭位置から格納し、この場合には先頭ページの後ろ側は空き領域となる。
一方、ステップS2でRAID5以外のRAID、例えばRAID3やRAID4を判別した場合には、ステップS6に進み、ライト要求データに必要なキャッシュページを決定した後、ステップS7で決定したキャッシュページをキャッシュ領域にアロケーションし、ステップS8で要求データをページ単位に書き込む。即ち、RAID5以外のライト要求に対してはページ単位のキャッシュ管理を行っている。
図7はRAID5を対象に1ページ未満サイズのライト要求データに対するキャッシュ配置の説明図である。
図7(A)はライト要求データであり、キャッシュ1ページの容量である66,560バイト未満のサイズを持っている。この場合には図7(B)のように、ライト要求データを丸めてページ数として1ページを決定する。
次に図7(C)のように、決定したページ数である1ページにつき、RAID5グループを構成する複数のディスク装置における1ストライプ分、即ち4ページ分のキャッシュ領域をアロケーションする。このアロケーションされたキャッシュ領域60は、第1ページ62−1、第2ページ62−2、第3ページ62−3及び第4ページ62−4から構成される。
続いてライト要求データ58を先頭の第1ページ62−1に対するキャッシュ書込みを図7(D)のように行う。このキャッシュ書込み状態において、先頭の第1ページ62−1は前半にライト要求データ58が格納され、後半は空き領域となっている。また第2ページ62−2、第3ページ62−3はデータ用の空きページであり、最後の第4ページ62−4はパリティ用の空きページとなっている。もちろん、ストライプのアドレスが異なるとパリティ用空きページの位置は他のページ位置に変化する。
図8は1ページサイズのライト要求データのキャッシュ配置処理の説明図である。図8(A)のライト要求データ64はキャッシュの1ページに相当する66,560バイトであり、このため図8(B)のように、ページ数として1ページを決定する。続いて図8(C)のように、決定したページ数である1ページに対応して1ストライプ分の4ページで構成されるキャッシュ領域60をアロケーションする。このアロケーション後に、キャッシュ領域60に対し、図8(D)のように1ページ分のライト要求データ64を第1ページ62−1に格納する。
図9は3ページサイズのライト要求データのキャッシュ配置の説明図である。図9(A)はライト要求データ66であり、3ページ分のサイズを持っている。このため図9(B)の決定ページ数として第1ページ、第2ページ、第3ページの3ページが決定される。
続いて図9(C)で、決定ページ数である3ページに基づき1ストライプ分のキャッシュ領域60をアロケーションする。アロケーション後に、図9(D)のように3ページ分のサイズを持つライト要求データ66をページ分割して、第1ページ62−1、第2ページ62−2、第3ページ62−3に順番に格納する。この場合、空きページは最後の第4ページ62−4のパリティ用空きページのみとなる。
図10は4ページサイズのライト要求データのキャッシュ配置の説明図である。図10(A)は4ページのサイズを持つライト要求データであり、これについて図10(B)のようにページ数として4ページが決定される。次に図10(C)のように、決定ページ数である4ページのデータにつきパリティページを1ページ追加することを考慮し、2ストライプ分の第1ページ62−1〜第8ページ62−8の8ページ分を2つに分けたキャッシュ領域60をアロケーションする。
このアロケーション後に、図10(D)のように、ライト要求データ68の先頭から3ページ分を最初のストライプ領域の先頭から3ページとなる第1ページ62−1〜第3ページ62−3に格納し、第4ページ目62−4はパリティ用の空きページとする。また4ページ目となるライト要求データについては、別のストライプの第1ページ62−5に格納する。
この場合、残り3ページである第2ページ62−6、第3ページ62−7、第4ページ62−8は、それぞれデータ用空きページ、パリティ用空きページとなるが、先頭のストライプのパリティ空きページが第4ページ62−4であったものが、次のストライプについては第3ページ62−7がパリティ用空きページとなって、パリティの位置がストライプ領域のアドレスごとに変化している。
このようにホスト12または14からのライト要求に基づき、図4においてキャッシュメモリ28にストライプ領域単位に確保されたキャッシュ領域48に格納されたデータ、即ち物理デバイス22側のRAIDグループのディスク装置に格納されているデータより新しいデータであるダーティデータ即ち新データは、キャッシュ制御部42における例えばLRU制御などに基づき、物理デバイス22を構成しているRAIDグループの複数のディスク装置に対し書き込まれるライトバック処理を受けることになる。
図11は本発明におけるスモールライトのライトバック処理の説明図である。スモールライトとは、1ストライプ分のキャッシュ領域60を構成する複数ページの一部に新データが存在する場合である。図11において、RAID装置10のキャッシュメモリ28には、ライト要求でアロケーションされたキャッシュ領域60が配置されており、キャッシュ領域60は第1ページ62−1、第2ページ62−2、第3ページ62−3及び第4ページ62−4で構成される1ストライプ分の領域となっている。
このようなキャッシュ領域60には、ライトバック処理を開始する際に、例えば第2ページ62−2にのみ新データ(D2)newが存在しており、それ以外の第1ページ62−1、第3ページ62−3及び第4ページ62−4は空きページ領域になっていたとする。
第2ページ62−2のみに存在する新データ(D2)newをRAID5グループ70にライトバックする際には、空きページ領域である第1ページ62−1、第3ページ62−3及び第4ページ62−4をワーク領域として使用する。このため、ライトバック処理の際に、従来のようにキャッシュメモリ28にデータバッファ領域やパリティバッファ領域を改めてアロケーションする必要はない。
第2ページ62−2の新データ(D2)newをライトバックする際には、まず対応するディスク装置22−2の旧データ(D2)oldを読み出して第1ページ62−1に格納する。また、ディスク装置22−4から旧パリティ(P)oldを読み出して第3ページ62−3に格納する。
次にキャッシュ領域60上に確保された旧データ(D2)old、新データ(D2)new及び旧パリティ(P)oldにつき、演算部72により排他論理和(XOR)を演算して新パリティ(P)newを求め、空きページ領域である第4ページ62−4に格納する。その後、新データ(D2)newと新パリティ(P)newを、RAID5グループ70における対応するディスク装置22−2及び22−4に格納する。
図12は本発明におけるバンドワイドライトのライトバック処理の説明図である。バンドワイドライトのライトバック処理は、図12のRAID装置に設けたキャッシュメモリ28に示すように、ホストからのライト要求でアロケーションされたキャッシュ領域60におけるパリティページである例えば第4ページ62−4を除く他のページの全てに新データが存在している場合である。
即ち、第1ページ62−には新データ(D1)newが存在し、第2ページ62−2には新データ(D2)newが存在し、更に第3ページ62−3には新データ(D3)newが存在している。このような場合にはRAID5グループ70からの読出しは不要であり、ライトバックの対象となったキャッシュ領域60のパリティページを除くページ、即ち第1ページ62−1、第2ページ62−2及び第3ページ62−3に存在する新データ(D1)new、(D2)new、(D3)newを対象に、演算部72で排他論理和(XOR)を算出して新パリティ(P)newを求め、空きページとなっている第4ページ62−4に格納する。
その後、キャッシュ領域60の新データ(D1)new、(D2)new、(D3)new及び新パリティ(P)newを、RAID5グループ70を構成するディスク装置22−1〜22−4のそれぞれに書き込む。
図13は本発明におけるリードバンドワイドライトのライトバック処理の説明図である。このリードバンドワイドライトのライトバック処理は、図13のRAID装置10のキャッシュメモリ28にアロケーションしたキャッシュ領域60の第1ページ62−1に示すように、新データ(D12)newが一部に存在し、空き領域74を持っている場合である。
この場合には、対応するディスク装置22−1からデータを読み出して旧データ(D11)oldとして格納した後、第1ページ62−1、第2ページ62−2、第3ページ62−3の全てのデータについて演算部72で排他論理和を計算し、新パリティ(P)newを求めて、空きページとなっている第4ページ62−4に格納する。
その後、第1ページ62−1の旧データ(D11)oldと新データ(D12)newを合わせた1ページ分のデータを、対応するディスク装置22−1に書き込み、第2ページ62−2、第3ページ62−3、更に第4ページ62−4について、新データ(D2)new、新データ(D3)new及び新パリティ(P)newを、対応するディスク装置22−2,22−3,22−4のそれぞれに書き込む。
このように図11のスモールライト、図12のバンドワイドライト、更に図13のリードバンドワイドライトのいずれのライトバック処理にあっても、ライトバック対象となったキャッシュ領域60の空きページを利用して、旧データのディスク装置からの読出し、計算された新パリティの格納ができるため、ライトバック処理の際にキャッシュメモリ28上にデータバッファ領域やパリティバッファ領域を確保する必要がなく、従来のライトバック処理の際にキャッシュメモリの空き領域が枯渇して、データバッファ領域やパリティバッファ領域が確保できずに、ライトバック処理に非常に多くの時間が掛かる問題を確実に解消することができる。
図14は本発明によるRAID5のライトバック処理のフローチャートである。このライトバック処理は、ステップS1で対象キャッシュ領域の新データの状態を解析し、ステップS2で新データは1ページのみに存在するか否かチェックする。1ページのみ即ち1ページ以内の場合には、ステップS4でスモールライトのライトバック処理を実行する。
ステップSで新データが複数ページに存在することが判別された場合には、ステップS3に進み、複数ページに存在する新データにページ内の空きがあるか否かチェックする。空きがなければ、ステップS5でバンドワイドライトのライトバック処理を実行する。
ページ内に空きがあった場合にはステップS6に進み、リードバンドワイドライトのライトバック処理を実行する。ステップS4,ステップS5またはステップS6によるライトバック処理が完了すると、ステップS7で対象となったキャッシュ領域を開放する。
図15は図14ステップS4のスモールライトのフローチャートである。スモールライトにあっては、ステップS1で新データに対応した旧データをディスク装置から読み出して空きページに格納し、次にステップS2で新データに対応したパリティをディスク装置から読み出して空きページに格納する。次にステップS3で新データ、旧データ及び旧パリティの排他論理和により新パリティを計算して空きページに格納する。最後にステップS4で新データと新パリティを対応するディスク装置に書き込む。
図16は図14のステップS5のバンドワイドライトのフローチャートである。バンドワイドライトにあっては、ステップS1で複数の新データの排他論理和により新パリティを計算して空きパリティ用のページに格納する。そしてステップS2で新データ及び新パリティを対応するディスク装置に書き込む。
図17は図14のステップS6のリードバンドワイドライトのフローチャートである。リードバンドワイドライトは、ステップS1で新データの存在するページ内の空き部分にディスク装置からデータを読み出して格納した後、ステップS2で複数の新データの排他論理和により新パリティを計算して空きパリティ用のページに格納し、最終的にステップS3で新データ及び新パリティを対応するディスク装置に書き込む。
また本発明はRAID装置のCPU24で実行されるプログラムを提供するものであり、図6,図14,図15,図16のフローチャートに従った手順でプログラムを実現することができる。
なお本発明は、その目的と利点を損なうことのない適宜の変形を含み、更に上記の実施形態に示した数値による限定は受けない。
ここで本発明の特徴をまとめて列挙すると次の付記のようになる。
(付記)
(付記1)
キャッシュメモリ上のデータをページ領域単位に管理して上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御部と、
複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位として管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御部と、
上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したキャッシュ領域を配置するキャッシュ領域配置部と、
前記記憶デバイスのデータより新しい前記キャッシュメモリ上の新データを前記記憶デバイスに書き戻す際に、前記キャッシュ領域内の空き領域を使用して新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理部と、
を備えたことを特徴とする記憶装置。(1)
(付記2)
付記1記載の記憶装置に於いて、前記ライトバック処理部は、前記キャッシュ領域を構成する複数のページ領域の1つに新データが存在する場合、空きページ領域をワーク領域に使用して、前記新データに対応する記憶デバイスから旧データ及び旧パリティを読出した後に、前記新データ、旧データ及び旧パリティから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置。(2)
(付記3)
付記1記載の記憶装置に於いて、前記ライトバック処理部は、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在する場合、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置。(3)
(付記4)
付記1記載の記憶装置に於いて、前記ライトバック処理部は、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在すると共に前記ページ領域の新データの一部に空きが存在する場合、前記ページ領域内の空き部分に対応する記憶デバイスから旧データを読み出して格納した後に、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置。
(付記5)
付記1記載の記憶装置に於いて、前記キャッシュ領域配置部は、前記ライトバック処理部による書込み終了で対応するキャッシュ領域を開放することを特徴とする記憶装置。
(付記6)
記憶装置の制御方法に於いて、
キャッシュメモリ上のデータをページ領域単位に管理して前記上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したキャッシュ領域を配置するキャッシュ領域配置ステップと、
前記記憶デバイスのデータより新しい前記キャッシュメモリ上の新データを前記記憶デバイスに書き戻す際に、前記キャッシュ領域内の空き領域を使用して新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
を備えたことを特徴とする記憶装置の制御方法。(4)
(付記7)
付記6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域の1つに新データが存在する場合、空きページ領域をワーク領域に使用して、前記新データに対応する記憶デバイスから旧データ及び旧パリティを読出した後に、前記新データ、旧データ及び旧パリティから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置の制御方法。
(付記8)
付記6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在する場合、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置の制御方法。
(付記9)
付記6記載の記憶装置の制御方法に於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在すると共に前記ページ領域の新データの一部に空きが存在する場合、前記ページ領域内の空き部分に対応する記憶デバイスから旧データを読み出して格納した後に、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置の制御方法。
(付記10)
付記6記載の記憶装置の制御方法に於いて、前記キャッシュ領域配置ステップは、前記ライトバック処理ステップによる書込み終了で対応するキャッシュ領域を開放することを特徴とする記憶装置の制御方法。
(付記11)
記憶装置のコンピュータに、
キャッシュメモリ上のデータをページ領域単位に管理して前記上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したキャッシュ領域を配置するキャッシュ領域配置ステップと、
前記記憶デバイスのデータより新しい前記キャッシュメモリ上の新データを前記記憶デバイスに書き戻す際に、前記キャッシュ領域内の空き領域を使用して新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
を実行させることを特徴とするプログラム。(5)
(付記12)
付記11記載のプログラムに於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域の1つに新データが存在する場合、空きページ領域をワーク領域に使用して、前記新データに対応する記憶デバイスから旧データ及び旧パリティを読出した後に、前記新データ、旧データ及び旧パリティから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とするプログラム。
(付記13)
付記11記載のプログラムに於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在する場合、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とするプログラム。
(付記14)
付記11記載のプログラムに於いて、前記ライトバック処理ステップは、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在すると共に前記ページ領域の新データの一部に空きが存在する場合、前記ページ領域内の空き部分に対応する記憶デバイスから旧データを読み出して格納した後に、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とするプログラム。
(付記15)
付記11記載のプログラムに於いて、前記キャッシュ領域配置ステップは、前記ライトバック処理ステップによる書込み終了で対応するキャッシュ領域を開放することを特徴とするプログラム。
本発明の原理説明図 本発明が適用されるRAID装置のハードウェア構成のブロック図 本発明が適用されるRAID装置の他のハードウェア構成のブロック図 本発明によるRAID装置の機能構成のブロック図 キャッシュページとディスク装置のストリップ領域及びストライプ領域の説明図 本発明におけるキャッシュライト処理のフローチャート 1ページ未満サイズのライト要求データのキャッシュ配置の説明図 1ページサイズのライト要求データのキャッシュ配置の説明図 3ページサイズのライト要求データのキャッシュ配置の説明図 4ページのライト要求データのキャッシュ配置の説明図 本発明におけるスモールライトのライトバック処理の説明図 本発明におけるバンドワイドライトのライトバック処理の説明図 本発明におけるリードワイドライトのライトバック処理の説明図 本発明におけるRAID5ライトバック処理のフローチャート 本発明におけるスモールライトのライトバック処理のフローチャート 本発明におけるバンドワイドライトのライトバック処理のフローチャート 本発明におけるリードバンドワイドライトのライトバック処理のフローチャート 従来のライトバック処理の説明図 従来装置におけるキャッシュページの説明図
符号の説明
10:RAID装置
12:ホスト(メインフレーム系)
14:ホスト(UNIX(R)/IAサーバ系)
15,24:CPU
16−1,16−2,26,26−1,26−2:チャネルアダプタ
18,18−1〜18−n:制御モジュール
20−1,20−2:バックグラウンドルータ
22:物理デバイス
22−1〜22−4:ディスク装置
25:通信部
28:キャッシュメモリ
30−1〜30−8:デバイスインタフェース
32−1〜32−4:フロントルータ
34:リソース処理部
36:キャッシュ処理部
38:RAID制御部
40:コピー処理部
42:キャッシュ制御部
44:キャッシュ領域配置部
45:キャッシュ管理テーブル
46:ライトバック処理部
48,60:キャッシュ領域
50:データバッファ領域
52:パリティバッファ領域
54−1〜54−4:ストリップ領域
55:キャッシュページ
56:ストライプ領域
58,64,66,68:ライト要求データ
70:RAID5グループ
72:演算部
74:空き領域

Claims (5)

  1. キャッシュメモリ上のデータをページ領域単位に管理して上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御部と、
    複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位として管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御部と、
    上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したストライプキャッシュ領域を配置するキャッシュ領域配置部と、
    前記記憶デバイスのデータより新しい新データを格納する記憶デバイスに対応する前記ストライプキャシュ領域に記憶された新データを前記記憶デバイスに書き戻す際に、前記ストライプキャッシュ領域内の前記パリティを格納する記憶デバイスに対応する空きページ領域に新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理部と、を備えたことを特徴とする記憶装置。
  2. 請求項1記載の記憶装置に於いて、前記ライトバック処理部は、前記キャッシュ領域を構成する複数のページ領域の1つに新データが存在する場合、空きページ領域をワーク領域に使用して、前記新データに対応する記憶デバイスから旧データ及び旧パリティを読出した後に、前記新データ、旧データ及び旧パリティから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置。
  3. 請求項1記載の記憶装置に於いて、前記ライトバック処理部は、前記キャッシュ領域を構成する複数のページ領域のパリティ対応領域を除く全てのページ領域に新データが存在する場合、空きページ領域をワーク領域に使用して前記複数の新データから新パリティを生成し、前記新データ及び新パリティを対応する記憶デバイスに書き込むことを特徴とする記憶装置。
  4. 記憶装置の制御方法に於いて、
    キャッシュメモリ上のデータをページ領域単位に管理して前記上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
    複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
    上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したストライプキャッシュ領域を配置するキャッシュ領域配置ステップと、
    前記記憶デバイスのデータより新しい新データを格納する記憶デバイスに対応する前記ストライプキャシュ領域に記憶された新データを前記記憶デバイスに書き戻す際に、前記ストライプキャッシュ領域内の前記パリティを格納する記憶デバイスに対応する空きページ領域に新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
    を備えたことを特徴とする記憶装置の制御方法。
  5. 記憶装置のコンピュータに、
    キャッシュメモリ上のデータをページ領域単位に管理して前記上位装置からの記憶デバイスに対する入出力要求を処理するキャッシュ制御ステップと、
    複数の記憶デバイス上のデータをそれぞれ前記ページ領域と同一サイズのストリップ領域単位に管理すると共に、同一アドレスをもつ複数のストリップ領域をまとめてストライプ領域単位に管理し、前記ストライプ領域に含まれる1つを除く複数のストリップ領域のデータからパリティを生成して残り1つのストリップ領域に格納し、且つアドレス毎に前記パリティを格納する記憶デバイスを変化させるRAID5の冗長構成をとるRAID制御ステップと、
    上位装置からライト要求を受けた際に、前記キャッシュメモリ上に、前記ストライプ領域と同一サイズとなる複数のページ領域で構成したストライプキャッシュ領域を配置するキャッシュ領域配置ステップと、
    前記記憶デバイスのデータより新しい新データを格納する記憶デバイスに対応する前記ストライプキャシュ領域に記憶された新データを前記記憶デバイスに書き戻す際に、前記ストライプキャッシュ領域内の前記パリティを格納する記憶デバイスに対応する空きページ領域に新パリティデータを生成した後に、前記新データ及び新パリティを対応する記憶デバイスに書き込むライトバック処理ステップと、
    を実行させることを特徴とするプログラム。
JP2005058784A 2005-03-03 2005-03-03 記憶装置、その制御方法及びプログラム Expired - Fee Related JP4440803B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2005058784A JP4440803B2 (ja) 2005-03-03 2005-03-03 記憶装置、その制御方法及びプログラム
US11/159,361 US20060200697A1 (en) 2005-03-03 2005-06-23 Storage system, control method thereof, and program
US13/846,432 US20130290630A1 (en) 2005-03-03 2013-03-18 Storage system, control method thereof, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005058784A JP4440803B2 (ja) 2005-03-03 2005-03-03 記憶装置、その制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2006244122A JP2006244122A (ja) 2006-09-14
JP4440803B2 true JP4440803B2 (ja) 2010-03-24

Family

ID=36945415

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005058784A Expired - Fee Related JP4440803B2 (ja) 2005-03-03 2005-03-03 記憶装置、その制御方法及びプログラム

Country Status (2)

Country Link
US (2) US20060200697A1 (ja)
JP (1) JP4440803B2 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4402711B2 (ja) * 2007-11-05 2010-01-20 富士通株式会社 ディスクアレイ装置、ディスクアレイ装置制御方法、ディスクアレイ装置制御プログラムおよびディスクアレイ制御装置
TWI370969B (en) * 2008-07-09 2012-08-21 Phison Electronics Corp Data accessing method, and storage system and controller using the same
JP2010049637A (ja) * 2008-08-25 2010-03-04 Hitachi Ltd 計算機システム、ストレージシステム及び構成管理方法
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8316175B2 (en) * 2009-11-03 2012-11-20 Inphi Corporation High throughput flash memory system
KR101678868B1 (ko) * 2010-02-11 2016-11-23 삼성전자주식회사 플래시 주소 변환 장치 및 그 방법
US8954688B2 (en) * 2010-10-06 2015-02-10 International Business Machines Corporation Handling storage pages in a database system
US8762644B2 (en) * 2010-10-15 2014-06-24 Qualcomm Incorporated Low-power audio decoding and playback using cached images
US9170878B2 (en) 2011-04-11 2015-10-27 Inphi Corporation Memory buffer with data scrambling and error correction
TWI436212B (zh) * 2011-07-21 2014-05-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
US8687451B2 (en) 2011-07-26 2014-04-01 Inphi Corporation Power management in semiconductor memory system
JP5923964B2 (ja) 2011-12-13 2016-05-25 富士通株式会社 ディスクアレイ装置、制御装置、およびプログラム
US9158726B2 (en) 2011-12-16 2015-10-13 Inphi Corporation Self terminated dynamic random access memory
KR101445025B1 (ko) * 2012-02-09 2014-09-26 서울시립대학교 산학협력단 신뢰성 있는 ssd를 위한 효율적인 raid 기법
US8949473B1 (en) 2012-02-16 2015-02-03 Inphi Corporation Hybrid memory blade
US9069717B1 (en) 2012-03-06 2015-06-30 Inphi Corporation Memory parametric improvements
US9003270B2 (en) * 2012-06-04 2015-04-07 Marvell World Trade Ltd. Methods and apparatus for temporarily storing parity information for data stored in a storage device
US8861277B1 (en) 2012-06-26 2014-10-14 Inphi Corporation Method of using non-volatile memories for on-DIMM memory address list storage
US9647799B2 (en) 2012-10-16 2017-05-09 Inphi Corporation FEC coding identification
US10185499B1 (en) 2014-01-07 2019-01-22 Rambus Inc. Near-memory compute module
US9553670B2 (en) 2014-03-03 2017-01-24 Inphi Corporation Optical module
EP2988222B1 (en) * 2014-08-21 2019-12-11 Dot Hill Systems Corporation Method and apparatus for efficiently destaging sequential i/o streams
US9874800B2 (en) 2014-08-28 2018-01-23 Inphi Corporation MZM linear driver for silicon photonics device characterized as two-channel wavelength combiner and locker
US9325419B1 (en) 2014-11-07 2016-04-26 Inphi Corporation Wavelength control of two-channel DEMUX/MUX in silicon photonics
US9473090B2 (en) 2014-11-21 2016-10-18 Inphi Corporation Trans-impedance amplifier with replica gain control
US9553689B2 (en) 2014-12-12 2017-01-24 Inphi Corporation Temperature insensitive DEMUX/MUX in silicon photonics
US9461677B1 (en) 2015-01-08 2016-10-04 Inphi Corporation Local phase correction
US9484960B1 (en) 2015-01-21 2016-11-01 Inphi Corporation Reconfigurable FEC
US9547129B1 (en) 2015-01-21 2017-01-17 Inphi Corporation Fiber coupler for silicon photonics
US9548726B1 (en) 2015-02-13 2017-01-17 Inphi Corporation Slew-rate control and waveshape adjusted drivers for improving signal integrity on multi-loads transmission line interconnects
US9632390B1 (en) 2015-03-06 2017-04-25 Inphi Corporation Balanced Mach-Zehnder modulator
US9933947B1 (en) * 2015-12-30 2018-04-03 EMC IP Holding Company LLC Maintaining write consistency on distributed multiple page writes
US10318378B2 (en) 2016-02-25 2019-06-11 Micron Technology, Inc Redundant array of independent NAND for a three-dimensional memory array
US9847839B2 (en) 2016-03-04 2017-12-19 Inphi Corporation PAM4 transceivers for high-speed communication
US10620983B2 (en) 2016-11-08 2020-04-14 International Business Machines Corporation Memory stripe with selectable size
US10235202B2 (en) 2016-11-08 2019-03-19 International Business Machines Corporation Thread interrupt offload re-prioritization
CN108255414B (zh) 2017-04-14 2020-04-03 新华三信息技术有限公司 固态硬盘访问方法及装置
WO2019016911A1 (ja) * 2017-07-20 2019-01-24 株式会社日立製作所 分散ストレージシステム及び分散ストレージ制御方法
US10838805B2 (en) * 2018-02-23 2020-11-17 Micron Technology, Inc. Generating parity data based on a characteristic of a stream of data
US11630725B2 (en) * 2019-12-24 2023-04-18 Micron Technology, Inc. Management of parity data in a memory sub-system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5408644A (en) * 1992-06-05 1995-04-18 Compaq Computer Corporation Method and apparatus for improving the performance of partial stripe operations in a disk array subsystem
US5488711A (en) * 1993-04-01 1996-01-30 Microchip Technology Incorporated Serial EEPROM device and associated method for reducing data load time using a page mode write cache
US5446855A (en) * 1994-02-07 1995-08-29 Buslogic, Inc. System and method for disk array data transfer
US5895485A (en) * 1997-02-24 1999-04-20 Eccs, Inc. Method and device using a redundant cache for preventing the loss of dirty data
US6012123A (en) * 1997-06-10 2000-01-04 Adaptec Inc External I/O controller system for an independent access parity disk array
US6112255A (en) * 1997-11-13 2000-08-29 International Business Machines Corporation Method and means for managing disk drive level logic and buffer modified access paths for enhanced raid array data rebuild and write update operations
US6460122B1 (en) * 1999-03-31 2002-10-01 International Business Machine Corporation System, apparatus and method for multi-level cache in a multi-processor/multi-controller environment
US6401181B1 (en) * 2000-02-29 2002-06-04 International Business Machines Corporation Dynamic allocation of physical memory space
US6516380B2 (en) * 2001-02-05 2003-02-04 International Business Machines Corporation System and method for a log-based non-volatile write cache in a storage controller
US6718434B2 (en) * 2001-05-31 2004-04-06 Hewlett-Packard Development Company, L.P. Method and apparatus for assigning raid levels
US6718435B2 (en) * 2001-08-14 2004-04-06 International Business Machines Corporation Method and system for migrating data in a raid logical drive migration
JP2005284816A (ja) * 2004-03-30 2005-10-13 Hitachi Ltd ディスクアレイシステム

Also Published As

Publication number Publication date
US20130290630A1 (en) 2013-10-31
JP2006244122A (ja) 2006-09-14
US20060200697A1 (en) 2006-09-07

Similar Documents

Publication Publication Date Title
JP4440803B2 (ja) 記憶装置、その制御方法及びプログラム
EP2942713B1 (en) Storage system and storage apparatus
US11175984B1 (en) Erasure coding techniques for flash memory
US6898668B2 (en) System and method for reorganizing data in a raid storage system
JP6328335B2 (ja) ストレージ装置及びその制御方法
JP4366298B2 (ja) 記憶装置、その制御方法及びプログラム
KR100786153B1 (ko) 기억 장치, 그 제어 방법 및 프로그램
JP6144819B2 (ja) 不揮発性メモリシステムにおける同期ミラーリング
US6058489A (en) On-line disk array reconfiguration
US8074017B2 (en) On-disk caching for raid systems
US9465561B2 (en) Storage system and storage control method
CN103226519B (zh) 冗余缓存数据的弹性缓存
US20160335195A1 (en) Storage device
US8838890B2 (en) Stride based free space management on compressed volumes
US20090327801A1 (en) Disk array system, disk controller, and method for performing rebuild process
KR20090073099A (ko) 전역 핫 스패어 디스크를 이용한 고장난 드라이브의 재구성및 카피백 방법
US9223655B2 (en) Storage system and method for controlling storage system
JP2011530746A (ja) 現在データ及び再生データに関して異なるraidデータ・ストレージの形式の間でデータを伝送するシステム及び方法
US20060053287A1 (en) Storage apparatus, system and method using a plurality of object-based storage devices
US20100115210A1 (en) Method and apparatus for expanding a virtual storage device
JP6451770B2 (ja) ストレージ制御装置およびストレージ制御プログラム
JP6163588B2 (ja) ストレージシステム
JP3122252B2 (ja) ディスクアレイ制御方式
US20230297242A1 (en) Storage device and data recovery method by storage device
JP4848272B2 (ja) 多重化冗長ストレージへの安全な書き込みを行う装置及び方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090806

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: 20091215

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: 20100107

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

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130115

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140115

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees