JP2004102823A - Write-through processing method, program for write-through processing, and disk controller for redundant logical disk - Google Patents
Write-through processing method, program for write-through processing, and disk controller for redundant logical disk Download PDFInfo
- Publication number
- JP2004102823A JP2004102823A JP2002265855A JP2002265855A JP2004102823A JP 2004102823 A JP2004102823 A JP 2004102823A JP 2002265855 A JP2002265855 A JP 2002265855A JP 2002265855 A JP2002265855 A JP 2002265855A JP 2004102823 A JP2004102823 A JP 2004102823A
- Authority
- JP
- Japan
- Prior art keywords
- stripe
- data
- mode
- write
- mirroring
- 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.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、複数の物理ディスクから構成される冗長性を持つ論理ディスク(ディスクアレイ)を制御するディスクコントローラに係り、特にホストから要求されたライトデータをライトスルーで当該論理ディスクに書き込むための冗長化論理ディスクに対するライトスルー処理方法、ライトスルー処理用プログラム及びディスクコントローラに関する。
【0002】
【従来の技術】
安価で信頼性の高い大容量記憶装置を実現する手段として、複数のディスク(ディスク装置)から構成されるディスクアレイが知られている。このディスクアレイは、当該ディスクアレイを利用するホストからは、1つのディスク(ディスク装置)として見える。そのため、ディスクアレイは論理ディスク(論理ディスク装置)とも呼ばれる。また、ディスクアレイを構成するディスク(ディスク装置)は、物理ディスク(物理ディスク装置)とも呼ばれる。
【0003】
ディスクアレイは一般に、高信頼性化のために、RAID(Redundant Array of Independent DisksまたはRedundant Array of Inexpensive Disks)に代表されるように、冗長データとしての例えばパリティデータにより冗長性を持たせたディスク構成、いわゆる冗長化ディスク構成を適用している。ディスクアレイには、ホストからの要求を受けて当該ディスクアレイのアクセスを制御する、例えば特開平11−53235号公報に記載されたディスクコントローラ(ディスクアレイコントローラ)が接続されている。この公報に記載のディスクコントローラは、ディスクアレイのアクセス(ディスクアクセス)、例えばランダムライトのディスクアクセスを高速化するために次の手法を適用している。即ち、公報記載のディスクコントローラでは、ホストから要求されたライトデータをキャッシュメモリ上に蓄積し、一定量に達した際に、蓄積されていたデータをディスクアレイ上の連続する空き領域に書き込む手法を適用している。ここでは、ホストから要求されたアドレス(論理アドレス)と実際にデータが書かれているディスクアレイ上のアドレス(物理アドレス)との対応をアドレス変換マップで管理している。
【0004】
【発明が解決しようとする課題】
上記した、ランダムライトのディスクアクセスの高速化手法は、いわゆるライトバック技術に属するものである。ここでは、ホストから要求されたライトデータが、ディスクコントローラ上のキャッシュメモリに書かれた時点で、ホストから要求されたライト動作の完了が当該ホストに通知される。
【0005】
一方、ランダムライトのディスクアクセスの高速化手法を採用したシステムにおいて、一層の高信頼性化のために、ホストから要求されたライトデータを直接ディスク(ディスクアレイ)に書くライトスルーでの運用が要求されることがある。ここでは、ディスクにデータが書かれた時点で、ホストから要求されたライト動作の完了が当該ホストに通知される。
【0006】
しかしながら、ライトスルーでの運用の方法は、システムの性質上、定義されていない。また、ライトスルー処理は、ライトバック処理に比べて低速であるため、高速化が要求されている。
【0007】
本発明は上記事情を考慮してなされたものでその目的は、冗長化論理ディスクに対するライトスルー処理が高速化できる冗長化論理ディスクに対するライトスルー処理方法、ライトスルー処理用プログラム及びディスクコントローラを提供することにある。
【0008】
【課題を解決するための手段】
本発明の1つの観点によれば、複数の物理ディスクにより構成され、パリティまたはミラーリングのいずれかのモードでデータが保持されるストライプを単位に管理される冗長化論理ディスクに対し、ライトスルーでデータを書き込むための方法(ライトスルー処理方法)が提供される。この方法は、ホストから要求されたデータのライトスルーでの書き込みに際し、上記ミラーリングモードのストライプの空き領域を探索するステップと、この探索されたミラーリングモードのストライプの空き領域に上記ミラーリングモードでデータを書き込むステップとから構成される。
【0009】
このように、上記の構成においては、各ストライプにデータを保持するモードとして、パリティモードとミラーリングモードの2通りを用意し、そのいずれかのモードが動的に設定可能なようにしている。パリティモードのストライプには、データ領域とパリティ領域とが割り当てられる。通常、パリティ領域には、上記論理ディスクを構成する複数の物理ディスクのうちのいずれか1つの物理ディスクの領域が割り当てられる。データ領域には、残りの物理ディスクの領域が割り当てられる。これに対し、ミラーリングモードのストライプには、上記複数の物理ディスクのうちの少なくとも1組の1対の物理ディスクの領域がミラーリングでデータを保持するためのデータ領域(ミラーリング領域)として割り当てられる。
【0010】
ここで、ライトスルーでのデータ書き込みに際しては、ミラーリングモードのストライプの空き領域が探索されて、その空き領域にミラーリングモードでデータが書き込まれる。もし、パリティモードでライト処理を実行するならば、パリティ生成のためにディスクからのリード処理が必要である。しかしながら、上記のように、ミラーリングモードでデータを書き込むならば、パリティ生成が不要となるため、冗長性を確保しながら、上記リード処理のオーバヘッドをなくすことができる。これによりライトスルー処理の高速化が可能となる。また、どのストライプもミラーリングモードに設定可能なため、ホストからのライト要求が多い場合でもミラーリングモードのストライプを増やすことにより迅速に対応可能である。
【0011】
ここで、上記の構成に、以下のステップ、即ち、ミラーリングモードのストライプを探索するステップと、この探索されたミラーリングモードのストライプのデータをパリティモードのストライプのデータに変更するステップとを追加するとよい。このようにすると、ストライプの領域を無駄なく利用できるようになる。よって、ライトスルーでの書き込みをミラーリングモードで行う結果、ミラーリングモードのストライプが一時的に増加しても、そのことによる記憶容量への影響を軽減できる。ここで、上記ミラーリングモードのストライプを探索するステップと、この探索されたミラーリングモードのストライプのデータをパリティモードのストライプのデータに変更するステップとを、空きストライプが予め定められた数を下回った場合を含む条件のうちの予め定められた条件の成立時に実行する構成とするとよい。このように、予め定められた条件の成立時に上記両ステップを実行してストライプの領域を無駄なく利用することにより、常に空きストライプを確保すること、つまりミラーリングモードに適用可能なストライプを確保することが可能となる。
【0012】
また、上記の構成に以下のステップ、即ち、ミラーリングモードのストライプの空き領域が見つからなかった場合に、空きストライプを探索するステップと、上記探索された空きストライプを構成する上記複数の物理ディスクの領域のうち、相対的に高速アクセスが可能なミラーリング用の1対の物理ディスクの領域を空き領域として選択するステップとを追加し、上記ミラーリングモードでデータを書き込むステップでは、上記探索された空きストライプ中の上記選択された物理ディスクの領域にミラーリングモードでデータを書き込むようにするとよい。
【0013】
このように、ミラーリングモードでのデータ書き込みに加えて、相対的に高速アクセスが可能なミラーリング用の1対の物理ディスクの領域を選択することで、物理ディスクへの負荷分散の最適化が行えるため、ライトスルー処理の一層の高速化が可能となる。相対的に高速アクセスが可能な物理ディスクは、(1)その時点において入出力アクセスの少ない物理ディスク、または(2)相対的に性能の良い物理ディスク、または(3)各物理ディスクの現在のヘッド位置から、空きストライプ中の該当する物理ディスクの領域にヘッドをシークするのに要する時間がより短くて済む物理ディスクである。
【0014】
また、上記の構成に以下のステップ、即ち、ホストからのリード要求で指定された論理アドレスのデータがミラーリングモードのストライプに存在する場合に、そのデータが書き込まれている当該ストライプ中の1対の物理ディスクの領域のうち、相対的に高速アクセスが可能な物理ディスクの領域をリード対象として選択するステップを追加するとよい。
【0015】
ここで、ホストからのリード要求で指定された論理アドレスのデータがミラーリングモードのストライプに存在する場合に、そのデータが書き込まれている当該ストライプ中の1対の物理ディスクの領域のいずれからもデータを読み出すことが可能である。このため、上記1対の物理ディスクの領域のうち、相対的に高速アクセスが可能な物理ディスクの領域をリード対象として選択することにより、リード処理の高速化が可能となる。相対的に高速アクセスが可能な物理ディスクは、上記(1)または(2)または(3)の条件を満たす物理ディスクである。
【0016】
また、上記の構成に以下のステップ、即ち、ホストからのライト要求で指定された論理アドレスのデータがミラーリングモードのストライプに存在する場合に、そのデータを、当該ストライプにミラーリングモードで上書きするステップを追加するとよい。このようにすると、新たなミラーリングストライプを割り当てずに済むことから、ミラーリングモードのストライプのデータをパリティモードのストライプのデータに変更する処理(回復処理)が軽減できる。
【0017】
また、上記の構成に以下のステップ、即ち、ホストからのライト要求で指定されたデータのサイズがストライプサイズ(ストライプのデータ領域のサイズ)以上の場合に、当該ストライプサイズのデータを単位に空きストライプを探索して、その空きストライプに当該ストライプサイズのデータをパリティモードで書き込むステップを追加し、上記ミラーリングモードでデータを書き込むステップでは、上記ライト要求で指定されたデータのサイズがストライプサイズに満たない場合には当該データをミラーリングモードで書き込み、上記ライト要求で指定されたデータのサイズがストライプサイズを超えている場合には、当該データのうち、ストライプサイズのデータを単位とするパリティモードでの書き込みの対象とならない残りのデータをミラーリングモードで書き込むようにするとよい。
【0018】
このように、ライト要求で指定されたデータのサイズに応じて、パリティモードストライプへのライト処理とミラーリングモードストライプへのライト処理を動的に切り替えて、或いは併用してライトスルー処理を行うことにより、常にミラーリングモードでのみのライト処理を行う場合に比べて、ライト処理を一層効率的に実行することが可能となる。
【0019】
なお、ライト要求で指定されたデータのサイズに無関係に、パリティモードでのライト処理とミラーリングモードでのライト処理を動的に切り替えることも可能である。例えば、通常はミラーリングモードでのライト処理を実行し、空きストライプが不足して上記変更処理(ミラーリングモードのストライプのデータをパリティモードのストライプのデータに変更する処理)が必要となった結果、ミラーリングモードでのライト処理の方が時間を要する場合、つまりパリティモードでのライト処理の方が高速に行える場合には、当該パリティモードでのライト処理を実行することも可能である。このようにすると、ミラーリングモードのストライプを多く作り過ぎずに済む。
【0020】
また、冗長化論理ディスクを構成する物理ディスクの数が4以上の場合には、上記ミラーリングモードでデータを書き込むステップにおいて、少なくとも2組の1対の物理ディスクの領域をミラーリングのデータの領域として、そのうちの1組を選択使用する構成とするとよい。このようにすると、ミラーリングモードのストライプの領域を無駄なく有効に利用できる。
【0021】
冗長化論理ディスクを構成する複数の物理ディスクのうちの1つが故障している場合、つまり論理ディスクの縮退時には、当該論理ディスクは冗長性を持たない。このため、パリティモードのストライプであっても、当該ストライプ中のパリティデータの領域(パリティ領域)が故障物理ディスクの領域の場合には、パリティデータは意味をなさない。そこで、上記の構成に以下のステップ、即ち、論理ディスクの縮退時におけるライトスルーでの書き込みに際し、アクセス可能な領域にパリティデータが存在しないパリティモードのストライプから空きデータ領域を探索するステップと、ここで探索された空きデータ領域(つまりアクセス可能な領域にパリティデータが存在しないストライプの空きデータ領域)に、データの書き込み先を割り当て、当該ストライプのモードをパリティモードに保ったまま、当該空きデータ領域にデータを書き込むステップとを追加すると、パリティモードのストライプへの書き込みであっても、もともとパリティ計算の必要がないことから、ライトスルー処理が高速に行える。また、ミラーリングモードでの書き込みを適用しないため、パリティモードのストライプのデータへの変更処理(回復処理)も不要となる。
【0022】
なお、以上のライトスルー処理方法に係る本発明は、コンピュータに当該方法に相当する手順を実行させるためのプログラムに係る発明としても成立する。また、上記ライトスルー処理方法に係る本発明は、当該方法を適用し、冗長化論理ディスクを制御するコントローラ(ディスクコントローラ)に係る発明としても成立する。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
図1は、本発明の一実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図である。
【0024】
図1において、ディスクアレイ装置1は、ディスクコントローラ(ディスクアレイコントローラ)11と、当該コントローラ11により制御されるディスクアレイ(冗長化論理ディスク)12とから構成される。ディスクアレイ12は、複数、例えば3つの物理ディスク(物理ディスク装置)120−0(HDD0)〜120−2(HDD2)から構成されており、記録するデータはストライプ単位に管理される。各ストライプは、ディスクアレイ12を構成する物理ディスク120−0〜120−2にそれぞれ対応する、同時にアクセス可能なストライプユニットから構成される。1つのストライプを構成する3つのストライプユニットの、対応するディスク120−0〜120−2上の相対位置は同一である。この3つのストライプユニットは、対応するディスク120−0〜120−2上の物理アドレスが連続する複数の物理ブロック(本実施形態では4ブロック)から構成される。
【0025】
各ディスク120−0〜120−2は、SCSI(Small Computer System Interface)バス等のディスクインタフェースバス13によりディスクコントローラ11と接続されている。ディスクコントローラ11は、ディスクアレイ装置1(内のディスクアレイ12)を利用するホスト(ホストコンピュータ)2とホストインタフェースバス21により接続されている。
【0026】
ディスクコントローラ11は、キャッシュメモリ111と、アドレス変換テーブル112と、ストライプモード管理テーブル113と、空き領域管理テーブル114と、アクセス制御部115とから構成される。
【0027】
キャッシュメモリ111は高速で揮発性の記憶装置である。キャッシュメモリ111は、ホスト2から転送されてディスクアレイ12に書き込まれるデータ、及びディスクアレイ12から読み出されてホスト2に転送されるデータを一時格納するのに用いられる。
【0028】
アドレス変換テーブル112は、図2に示すように、各論理アドレスについて、当該論理アドレス(論理ブロックアドレス)と、当該論理アドレスに割り当てられるディスクアレイ12の物理アドレス空間の物理アドレス(物理ブロックアドレス)との対応を示す情報(アドレス変換情報)が登録されるエントリから構成される。ここで、物理アドレスは、物理ディスクの番号(HDD番号)と、当該物理ディスク内の物理ブロックのアドレス(HDD内アドレス)とにより示される。アドレス変換テーブル112の各エントリの情報は、対応する論理アドレスのブロックのデータがパリティモードPまたはミラーリングモードMのいずれで書かれているかを示すモード情報(モードフラグ)を含む。図2のデータ構造のアドレス変換テーブル112を参照することにより、目的の論理アドレスがどの物理アドレスに対応するかを調べると共に、当該論理アドレスのデータがパリティモードPまたはミラーリングモードMのいずれで書かれているかを識別できる。ミラーリングモードMでは、2つのディスク内の同一アドレスに同一データが書き込まれる。しかし、アドレス変換テーブル112では、2つのディスクのうちの一方のHDD番号だけが登録される。ここでは、HDD0,HDD1またHDD2が登録されている場合、ミラーリングモードMでデータが書かれているもう1つのHDDは、それぞれHDD1,HDD2またはHDD0であると予め定められている。
【0029】
図2の例では、論理アドレス0及び1のデータが、HDD0の物理アドレス0及び1にパリティモードMで書かれていることが示されている。同様に、論理アドレス3及び4のデータが、HDD1(とHDD2)の物理アドレス4及び5にミラーリングモードMで書かれていることが示されている。なお、図2中のHDD番号のフィールドに「−」が設定されているエントリは、対応する論理アドレスに物理アドレスが割り当てられていないことを示す。
【0030】
ストライプモード管理テーブル113は、図3に示すように、各ストライプについて、そのストライプを成す物理ディスク上のデータがパリティモードPまたはミラーリングモードMで書かれているかを示す情報(ストライプモード管理情報)が登録されるエントリから構成される。前記したように、1つのストライプを構成するストライプユニット(ここでは3つのストライプユニット)は、それぞれ4ブロックから構成されている。この場合、1ストライプのデータ領域(データ部分)のサイズは、ミラーリングモードMまたはパリティモードPのいずれの場合にも、2ストライプユニット分、即ち8ブロックである。パリティモードPのストライプのパリティ領域(パリティ1単位を保持する領域)のサイズは、1ストライプユニット分、即ち4ブロックである。
【0031】
ストライプモード管理テーブル113の各エントリの情報は、対応するストライプを指定する情報と、当該ストライプのモードを示すモード情報(モードフラグ)とを含む。ここで、ストライプを指定する情報には、当該ストライプを構成するストライプユニットの先頭ブロックの物理アドレス(ストライプ先頭アドレス)が用いられる。ストライプモード管理テーブル113の各エントリ情報は更に、対応するストライプがミラーリングモードMの場合には、ディスク120−0(HDD0)〜12−2(HDD2)のうち、有効なデータが格納されている物理ディスク、即ちミラーリングデータの格納に用いられている1対の物理ディスク(ミラーHDD)の番号(HDD番号)を含む。図3の例では、ストライプ先頭アドレス4で示されるストライプを構成するストライプユニットのうち、HDD1及びHDD2上のストライプユニットが、ミラーリングデータの格納に用いられていることを示す。
【0032】
空き領域管理テーブル114は、各ストライプについて、当該ストライプの空きの有無と、(当該ストライプが空きでない場合に)当該ストライプ中の対応するディスク120−0〜120−2の物理ブロック毎の空きの有無とを示す空き領域管理情報が登録されるエントリから構成される。この空き領域管理テーブル114を参照することで、空きストライプ、またはストライプ中の空き領域(ブロック)を探索することができる。なお、効率を考えないならば、アドレス変換テーブル112を参照して当該テーブル112に登録されていない物理アドレスを検索することでも、空きストライプ、またはストライプ中の空き領域が探索可能である。
【0033】
テーブル112〜114は図示せぬメモリ上に置かれる。このメモリには、ディスクコントローラ11の電源がオフされてもテーブル112〜114の内容が消失しないように、書き換え可能な不揮発性メモリを用いるとよい。また、バッテリバックアップされた揮発性メモリを用いることも可能である。また、テーブル112〜114が、メモリ以外の記憶手段、例えばディスクに格納される構成とすることも可能である。
【0034】
アクセス制御部115は、ホスト2からリードまたはライトの要求を受けて、ディスクアレイ12へのアクセスの制御及びキャッシュメモリ111の割り当てを含む制御を行う。アクセス制御部115は、例えば、制御プログラムが格納されたROM等の不揮発性メモリと、当該制御プログラムを実行するCPU(いずれも図示せず)とにより実現可能である。この制御プログラムは、ホスト2からのライト要求に応じて、ディスクアレイ12にデータをライトスルーで書き込むためのプログラムを含む。
【0035】
アクセス制御部115は、ホスト2からライトの要求を受けた場合、実際にデータを書き込む物理ディスク上の位置を決定する。そして、アクセス制御部115は、ホストから要求されてキャッシュメモリ111上に割り当てられた領域に書き込まれたデータを、上記決定した物理ディスク上の位置に書き込む。このときアクセス制御部115は、上記決定した物理ディスク上の位置に応じて、アドレス変換テーブル112内の上記参照エントリの情報を更新すると共に、空き領域管理テーブル114内の対応するエントリの情報も更新する。
【0036】
図4に、図2の内容のアドレス変換テーブル112及び図3の内容のストライプモード管理テーブル113で示される、ディスク120−0(HDD0)〜120−2(HDD2)の状態を示す。ここでは、ストライプ先頭アドレス4で示されるストライプを構成するストライプユニットのうち、HDD1並びにHDD2のストライプユニット中の物理アドレス4及び5に、それぞれミラーリングデータ401a及び401bが格納されている。
【0037】
次に、図1中のディスクアレイ装置1におけるライト処理について、ライトスルーでディスクアレイ装置1内のディスクアレイ12にデータを書き込む場合を例に、図5のフローチャートを参照して説明する。
【0038】
まず、ホスト2からディスクアレイ装置1内のディスクコントローラ11に対し、論理アドレス“0”から3ブロック分のサイズのライトが要求されたものとする。この場合、ディスクコントローラ11内のアクセス制御部115は、ライトすべきデータのサイズ(ここでは、ホストからのライト要求で指定されたサイズ)がストライプサイズ(ストライプのデータ領域のサイズ)以上であるか否かを判定する(ステップS1)。ここで、ストライプサイズは8ブロックであり、ライトすべきデータのサイズは3ブロックである。
【0039】
この例のように、ライトすべきデータのサイズがストライプサイズ(8ブロック)未満の場合、つまりステップS1での判定がNoの場合、アクセス制御部115はミラーリングモードでライトを行うことを確定する。そこでアクセス制御部115は、ミラーリングモードMのストライプ(ミラーリングストライプ)に空き領域があるか否かを判定する(ステップS2)。但し、このステップS2は、実際にはステップS1でNoが判定された直後ではなく、後述するステップS51及びS52(図12参照)が実行されて、当該ステップ(判定ステップ)S52でNoが判定された場合に実行される。
【0040】
ステップS2の判定は、例えば、ストライプモード管理テーブル113を参照して、ミラーリングストライプを検索し、そのストライプについて空き領域管理テーブル114を参照することにより実現される。なお、効率は悪いものの、ミラーリングストライプのデータ領域を構成する1対のストライプユニットの物理ブロックについて、その物理ブロックのアドレスがアドレス変換テーブル112に登録されているか否かを調べることでも、ステップS2の判定は可能である。
【0041】
本実施形態では、図4中の物理アドレス“4”から始まるストライプがミラーリングストライプであり、且つミラーディスク120−1(HDD1)及び120−2(HDD2)の物理アドレス6及び7のブロックが空き領域(空きブロック)となっている。
【0042】
アクセス制御部115は、見つけた空き領域にミラーリングでデータを書ける量だけ書き込む(ステップS3)。ここでは、ディスク120−1(HDD1)及び120−2(HDD2)の物理アドレス“6”及び“7”のブロックが空き領域として検出されたことから、指定された論理アドレス“0”〜“2”のデータのうち、論理アドレス“0”及び“1”のデータが、ディスク120−1(HDD1)の物理アドレス“6”及び“7”の空き領域とディスク120−2(HDD2)の物理アドレス“6”及び“7”の空き領域とに、それぞれミラーリングで書き込まれる。この様子を、図6に示す。ここでは、論理アドレス“0”及び“1”のデータ600及び601が、ディスク120−1(HDD1)及び120−2(HDD2)の、いずれも物理アドレス“6”及び“7”の空き領域にミラーリングで書き込まれる(ステップS11)。
【0043】
アクセス制御部115は、ステップS3の書き込みを終了すると、その書込みを終えた分に関して、アドレス変換テーブル112を更新する(ステップS4)。このときアクセス制御部115は、物理アドレス“4”から始まるストライプ中の、ディスク120−1(HDD1)及び120−2(HDD2)の物理アドレス“6”及び“7”の領域に関して、空き領域管理テーブル114も更新する。
【0044】
上記論理アドレス“0”及び“1”のデータの書き込み及び後述する論理アドレス“2”のデータの書き込みに伴って、それぞれステップS4の更新処理が実行された後のアドレス変換テーブル112の内容を図7に示す。ここでは、論理アドレス“0”及び“1”のデータが、ディスク120−1(とディスク120−2)、つまりHDD1(とHDD2)の物理アドレス“6”及び“7”にミラーリングモードMで書かれていることが示されている。このとき、ディスク120−0(HDD0)の物理アドレス“0”及び“1”の領域に既に書き込まれていた、論理アドレス“0”及び“1”のデータ(図2のアドレス変換テーブル112参照)は無効データとなる。
【0045】
アクセス制御部115は、ステップS4を実行すると、未書き込みデータが残っているか否かを調べる(ステップS5)。この例のように、未書き込みデータ(論理アドレス“2”のデータ)が残っている場合、アクセス制御部115はステップS1に戻る。また、この例のように、未書き込みデータがストライプサイズ(ストライプのデータ領域のサイズ)に満たない場合(ステップS1)、アクセス制御部115は、再びステップS2を実行して、ミラーリングモードのストライプに空き領域があるか否かを調べる。ここでは、ミラーリングモードのストライプに空きがないものとする。この場合、アクセス制御部115は、空き領域管理テーブル114を参照して空きストライプを探す(ステップS6)。ここでは、図6中の物理アドレス“12”から始まるストライプが見つかったものとする。
【0046】
アクセス制御部115は、ステップS6で空きストライプが見つけられた場合、その空きストライプを構成するディスク120−0(HDD0)〜120−2(HDD2)の領域のうち、任意の1対(2台)のディスク(HDD)の領域を有効なミラーリングデータの書き込み用、つまりミラーリング用の空き領域として選択する(ステップS7)。ここでは、ディスク120−0(HDD0)及び120−1(HDD1)の領域がミラーリング用に選択されたものとする。
【0047】
次にアクセス制御部115は、ステップS6で見つけた空きストライプをミラーリングモードMに切り替えると共に、ステップS7でのHDD選択結果をもとに、ストライプモード管理テーブル113を更新する(ステップS8)。この更新後のストライプモード管理テーブル113の内容を図8に示す。ここでは、物理アドレス“12”から始まるストライプがミラーリングモードMとなり、当該ストライプを構成するストライプユニットのうち、HDD0及びHDD1のストライプユニットが、ミラーリングデータの格納に用いられることが示されている。
【0048】
次にアクセス制御部115は、ステップS7で選択された、空きストライプ中の2つのHDDの領域(空き領域)に、ミラーリングでデータを書ける量だけ書き込む(ステップS3)。
【0049】
これにより本実施形態では、図6に示すように、物理アドレス“12”から始まるストライプがミラーリングモードMに変更された状態で(ステップS12)、当該ストライプ中の、例えばディスク120−0(HDD0)及び122−1(HDD1)の物理アドレス“12”の領域に、論理アドレス“2”のデータ602がミラーリングで書き込まれる(ステップS13)。
【0050】
次にアクセス制御部115は、書込みを終えた分に関してアドレス変換テーブル112(及び空き領域管理テーブル114)を更新する(ステップS4)。このステップS4での更新後の、論理アドレス“2”に対応するアドレス変換テーブル112内エントリでは、図7から明らかなように、論理アドレス“2”のデータが、ディスク120−0(とディスク120−1)、つまりHDD0(とHDD1)の物理アドレス“12にミラーリングモードMで書かれていることが示されている。
【0051】
以上により、ホスト2から指定された論理アドレス“0”から3ブロック分のデータの書き込みがすべて終了し、未書き込みデータがなくなったため(ステップS5)、アクセス制御部115はホスト2から指定されたデータをライトスルーでディスクアレイ12に書き込む処理を終了し、ライト完了をホスト2に通知する。
【0052】
次に、上記ステップS7で、ミラーリングストライプ中の有効データを書き込むディスクの領域を選択する方法について、図9の動作説明図を参照して説明する。
【0053】
上記したように、ステップS6で空きストライプを検出すると、アクセス制御部115は、当該空きストライプをミラーリングモードに切り替えるに際し、有効データを書き込む2台の物理ディスクを、ディスク120−0(HDD0)〜120−2(HDD2)のうちから選択する(ステップS7)。このステップS7では、その時点でより早く書き込みが行える2台の物理ディスクの領域を選択するとよい。このようにすると、ライト処理をより高速に処理できる。ここでは、図9に示すように、ディスク120−0(HDD0)〜120−2(HDD2)のうち、たまたまディスク120−1(HDD1)への入出力アクセスが多いものとする。言い換えれば、ディスク120−0(HDD0)及び120−2(HDD2)へのアクセスが少ないものとする。この場合、アクセス制御部115は、HDD0とHDD2への書き込みがHDD1への書き込みよりも早く処理できるものと判断し、図9に示すように、空きストライプ中のHDD0及びHDD2の領域をミラーリング用に選択す(割り当て)る(ステップS20)。なお、アクセスの少ない物理ディスクを2台選択する代わりに、相対的に性能の良い物理ディスクを2台選択しても、ライト処理の一層の高速化が可能となる。この他に、各HDDの現在のヘッド位置から、空きストライプ中の該当するHDDの領域にヘッドをシークするのに要する時間が短い方の2台を選択するようにしてもよい。
【0054】
次に、ミラーリングモードMが設定されている領域からのデータ読み出しについて、図10の動作説明図を参照して説明する。
ホスト2からリード要求のあった論理アドレスに対応する物理アドレスの領域がミラーリングモードMのストライプ(ミラーリングストライプ)上に存在する場合、つまり当該論理アドレスのデータがミラーリングストライプに存在する場合、明らかなように、有効データを持つ2台の物理ディスクのどちらからもデータを読み出すことが可能である。その際、その時点でより早く読み出しが行える方の物理ディスクの領域を選ぶと、より高速に処理できる。
【0055】
今、ディスク120−0(HDD0)及び120−1(HDD1)に有効データのあるミラーリングストライプを対象とするリード要求があったものとする。このとき、図10に示すように、たまたまディスク120−1(HDD1)への入出力アクセスが多いものとする。この場合、アクセス制御部115は、HDD0からの読み出しの方がHDD1からの読み出しよりも早く処理できるものと判断し、図10に示すように、ミラーリングストライプ中のHDD0の領域からデータの読み出しを行う(ステップS30)。なお、アクセスの少ない物理ディスクから読み出す代わりに、上述のミラーリングでのライト処理の場合のディスク選択と同様に、相対的に性能の良い物理ディスク、またはシークが短時間で済む物理ディスクを選択するようにしても、リード処理を一層高速化できる。
【0056】
次に、図5中のステップS1でストライプサイズ(ストライプのデータ領域サイズ)以上のライトであると判定された場合の動作について説明する。
まず、ストライプサイズのライトに関しては、ライトデータから直接パリティ(パリティデータ)を作成することが可能である。この場合、パリティモードPでデータを書き込んでも、パリティ生成のためのリードによるオーバーヘッドがない。そこで本実施形態では、以下に述べるように、ストライプサイズのデータのライトをパリティモードPで実行することにより、後述するミラーリングモードMのストライプの回復処理を削減するようにしている。
【0057】
まずアクセス制御部115は、データのライトに際しては、ライトすべきデータのサイズがストライプサイズ(ストライプのデータ領域のサイズ)以上であるか否かを判定する(図5ステップS1)。もし、ライトすべきデータのサイズがストライプサイズ(本実施形態では8ブロック)以上ならば、アクセス制御部115はパリティモードPでライトを行うことが可能であると判断する。この場合、アクセス制御部115はライトすべきデータから1ストライプ分のデータ(8ブロック分のデータ)を切り出すと共に、空き領域管理テーブル114をもとに空きストライプを探して、その空きストライプにパリティモードPで1ストライプ分のデータ及び対応するパリティ(パリティデータ)を書き込む(図5ステップS9)。ここで、パリティは、ストライプサイズのデータから直接生成される。アクセス制御部115は、パリティモードPでのデータ書き込みを実行すると(ステップS9)、書込みを終えた分に関してアドレス変換テーブル112(及び空き領域管理テーブル114)を更新して(ステップS4)、ステップS5の判定処理に進む。
【0058】
図11は、このストライプサイズのデータのライトを説明するための図である。図11の例では、物理アドレス“12”から始まる(HDD0〜HDD2に対応するストライプユニットから構成される)ストライプが空きストライプであるものとする。また、ストライプサイズのデータD、つまり8ブロック分のデータDが、ライトすべきデータであるものとする。この場合、アクセス制御部115は、8ブロック分のデータDを4ブロック分のデータDa及びDbに2等分する。次に、データDa及びDbの間の例えば排他的論理和演算を行うことで、4ブロック分のパリティPを生成する(ステップS40)。そして、物理アドレス12から始まる空きストライプを構成するストライプユニットのうち、例えばHDD0及びHDD1のストライプユニットにデータDa及びDbを書き込み、HDD2のストライプユニットにパリティPを書き込む。
【0059】
次に、ミラーリングモードMの領域への上書きについて、図12のフローチャートを参照して説明する。なお、図12のフローチャートは、図5のフローチャートでは省略されていた処理手順を示し、図5中のステップS1の判定でNoとなった直後に実行される処理手順(ステップS51及びS52)を含む。
【0060】
本実施形態では、ホスト2からのライト要求で指定された論理アドレスに対応する物理アドレスの領域がミラーリングモードMのストライプ中に存在する場合には、以下に述べるように、図12のフローチャートに示す手順で、その物理アドレスにデータをミラーリングモードMで上書きをしている。このようにすると、アドレス変換テーブル112の更新と、新たな空きミラーリング領域の割り当てを行わずに済む。
【0061】
アクセス制御部115は、ステップS1で、ライトすべきデータのサイズがストライプサイズ(ストライプのデータ領域のサイズ)未満であると判定した場合、そのデータに対応する論理アドレスでアドレス変換テーブル112を参照する(ステップS51)。そして、アクセス制御部115は、その論理アドレスに対応する物理アドレスの領域がミラーリングモードMのストライプ(ミラーリングストライプ)上に存在するか否かを判定する(ステップS52)。この判定がNoの場合、アクセス制御部115は図5中のステップS2に進む。これに対し、ステップS52の判定がYesの場合、即ちライトすべきデータの論理アドレスに対応する物理アドレスの領域がミラーリングストライプ中に存在する場合には、アクセス制御部115はストライプモード管理テーブル113を参照して、当該ストライプ中の有効なデータ領域を提供する2つの物理ディスク(HDD)を検出する(ステップS53,S54)。そしてアクセス制御部115は、上記ストライプ中の、上記検出した2つの物理ディスクの領域に、同一のライトデータを上書きし(ステップS55)、しかる後に図5中のステップS5に進む。
【0062】
このデータの上書きの具体例について、図6を参照して説明する。今、論理アドレス“0”及び“1”のデータ600及び601を、物理アドレス“4”から始まるストライプ中の、HDD1とHDD2の領域(物理アドレス“6”及び“7”の領域)にミラーリングモードMで書き込む処理(ステップS11)が実行されたものとする。この状態で、論理アドレス“0”に対して1ブロックのデータ603のライト要求があったものとする。このとき、アドレス変換テーブル112及びストライプモード管理テーブル113の内容は、それぞれ図7及び図8のようになっているものとする。
【0063】
アクセス制御部115は、論理アドレス“0”でアドレス変換テーブル112を参照することにより(ステップS51)、当該論理アドレス“0”のデータが、ミラーリングモードMで物理アドレス6の領域に書き込まれていることを認識する(ステップS52)。この場合、アクセス制御部115は、論理アドレス“0”のデータの上書きを決定する。そこでアクセス制御部115は、ストライプモード管理テーブル113を参照して、物理アドレス“4”から始まるストライプ(ミラーリングストライプ)上のHDD0〜HDD2の領域のうち、いずれのHDDの領域が有効であるかを調べる(ステップS53,S54)。ここでは、図8から明らかなように、HDD1及びHDD2の領域が有効である。そこで、アクセス制御部115は、データ603を、図6に示すように、物理アドレス“4”から始まるミラーリングストライプ中のHDD1及びHDD2の領域の物理アドレス“6”の領域に上書きする(ステップS14)。
【0064】
次に、ミラーリングモードMのストライプのデータをパリティモードPのストライプのデータに回復(変更)する処理について、図13のフローチャート並びに図6及び図14の動作説明図を参照して説明する。
【0065】
本実施形態において、ミラーリングモードMのストライプ(ミラーリングストライプ)のデータをパリティモードPのストライプのデータに回復する処理は、予め定められた条件の成立時に実行される。ここでは、上記回復処理は、ディスクアレイ装置1がホスト2からアクセスされないアイドル状態時、或いは空きストライプが予め定められた数を下回った場合(つまり空きストライプの不足時)を含む条件のうちの、予め定められた条件の成立時に実行される。
【0066】
まずアクセス制御部115は、ストライプモード管理テーブル113をもとに、回復処理の対象となるミラーリングモードMのストライプを選択する(ステップS61)。ここで、有効データの総量がパリティモードでの1ストライプに収まる範囲であれば、複数のミラーリングモードMのストライプを選んでもよい。ここでは、図6中の物理アドレス“4”から始まるストライプと、物理アドレス“12”から始まるストライプとが選ばれたものとする。
【0067】
次にアクセス制御部115は、空き領域管理テーブル114をもとに空きストライプを探す(ステップS62)。ここでは、図6中の物理アドレス“0”から始まるストライプが空きストライプとして検出されている。ここで、物理アドレス“0”から始まるストライプを構成するHDD0のストライプユニットのうち、物理アドレス0及び1のブロックに格納されていたデータは、アドレス変換テーブル112の対応するエントリの内容が図2の状態から図7の状態に更新されて既に無効となっているものとする。
【0068】
次にアクセス制御部115は、ステップS61で選択したミラーリングモードMのストライプのデータを、順次、ステップS62で見つけた空きストライプのデータ領域にコピーする(ステップS63)。図14の例では、HDD0の物理アドレス“12”のデータが、当該HDD0の物理アドレス0の領域にコピーされる(ステップS71)。このステップS71では、HDD1の物理アドレス4〜7のデータが、当該HDD1の物理アドレス0〜3の領域にコピーされる。
【0069】
アクセス制御部115は上記ステップS63において、有効データがコピーされたストライプのパリティを生成し、そのパリティを当該ストライプのパリティ領域に書き込む。図14の例では、HDD0及びHDD1の、それぞれ物理アドレス“0”〜“3”のデータ(ストライプユニットのデータ)が読み出されて、そのデータ間で排他的論理和演算を行うことで、そのデータのパリティが生成される(ステップS72)。この生成されたパリティが、HDD2の物理アドレス“0”〜“3”の領域に書き込まれる。
【0070】
アクセス制御部115は、ステップS63を実行し終えると、アドレス変換テーブル112(及び空き領域管理テーブル114)を更新する(ステップS64)。図15に、図14の例における更新後のアドレス変換テーブル112の内容を示す。
【0071】
またアクセス制御部115は、ストライプモード管理テーブル113を更新し、ステップS61で選択したストライプのミラーリングモードMを解除して、パリティモードPに切り替える(ステップS65)。これにより図14の例では、物理アドレス“4”から始まるストライプ、及び物理アドレス“12”から始まるストライプのミラーリングモードMがそれぞれ解除される(ステップS73)。図16に、図14の例における更新後のストライプモード管理テーブル113の内容を示す。
【0072】
なお、上述のミラーリングモードMのストライプのデータをパリティモードPのストライプのデータに回復する処理を、独立の処理とせずに、有効データ再配置処理と一体化して実行することも可能である。有効データ再配置処理とは、ディスクアレイ装置1内のディスク120−0(HDD0)〜120−2(HDD2)上で細切れになって配置されている有効データを集めてストライプ上に再配置する処理である。
【0073】
次に、1ストライプ上への複数組のミラーリングデータの配置について説明する。
ディスクアレイ(論理ディスク)が2n台または2n+1台(nは2以上の整数)の物理ディスクから構成されている場合、1対(2台)の物理ディスクの組を単位にミラーリングを行うと、1ストライプ中に、最大n組のミラーリング領域を確保することが可能となる。今、図1中のディスク120−0(HDD0)〜120−2(HDD2)から構成されるディスクアレイ12に、図17に示すように、ディスク120−3(HDD3)を追加して、4台の物理ディスクでディスクアレイ12を構成したものとする。この場合、図17に示すように、1ストライプ中の、例えばHDD0及びHDD1の領域をミラーリングデータ用に割り当て、当該ストライプ中のHDD2及びHDD3の領域を別のミラーリングデータ用に割り当てる。これにより、ミラーリングモードMのストライプでより多くの冗長データを保持できる。
【0074】
次に、ディスクアレイ12が縮退している状態におけるライト処理について、図18の動作説明図及び図19のフローチャートを参照して説明する。なお、縮退状態とは、ディスクアレイ(論理ディスク)を構成する複数の物理ディスクのうちの例えば1台が故障によりアクセス不能となり、残りの物理ディスクで運用を継続している状態をいう。
【0075】
今、図1中のディスクアレイ12を構成するディスク120−0(HDD0)〜120−2(HDD2)のうちの例えばディスク120−2(HDD2)が図18に示すように故障したものとする。この場合、ディスクアレイ12は縮退状態で運用されるため、冗長性を持たない。このような状態では、図19のフローチャートの示す手順でライト処理を実行することにより、ライト処理の高速化が可能となる。
【0076】
アクセス制御部115は、故障していない物理ディスクの領域(つまりアクセス可能領域)がすべてデータ領域(つまりパリティの存在しない領域)のパリティモードPのストライプであって、当該データ領域に空き領域(つまり空きデータ領域)を含むストライプを探す(ステップS81)。ここでは、空きデータ領域を含むストライプとして、図18に示すように、正常なディスク120−0(HDD0)及び120−1(HDD1)の領域がデータ領域180及び181で、故障ディスク120−1(HDD2)の領域がパリティ領域182のストライプが検出されたものとする。この場合、アクセス制御部115は、今回ライトすべき論理アドレスに、ステップS81で検出したストライプ中の空きデータ領域の物理アドレスを割り当てる(ステップS82)。
【0077】
次にアクセス制御部115は、ステップS81で検出したストライプのモードはパリティモードPのまま、ステップS82で割り当てた物理アドレスの領域にデータを書き込む(ステップS83)。ここでは、図18に示すように、HDD0内のデータ領域180の先頭ブロックにデータが書き込まれる(ステップS80)。このデータ書き込みでは、ステップS81で検出されたパリティモードPのストライプのパリティ領域を提供するHDD2は故障しているため、つまり当該パリティ領域は使用できないため、パリティ計算の必要はない。また、このデータ書き込みが行われたストライプはパリティモードPに保たれているため、前述の空きストライプへのミラーリングデータ書き込みの場合と異なって、パリティモードPへの回復処理も必要ない。
【0078】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0079】
【発明の効果】
以上詳述したように本発明によれば、ライトスルーでのデータ書き込みに際し、ミラーリングモードのストライプの空き領域を探し、その空き領域にミラーリングモードでデータを書き込む構成としたので、パリティ生成が不要となり、冗長性を確保しながら、パリティ生成のためのリード処理のオーバヘッドをなくして、ライトスルー処理を高速化できる。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るディスクコントローラを備えたコンピュータシステムの構成を示すブロック図。
【図2】図1中のアドレス変換テーブル112のデータ構造例を示す図。
【図3】図1中のストライプモード管理テーブル113のデータ構造例を示す図。
【図4】図2の内容のアドレス変換テーブル112及び図3の内容のストライプモード管理テーブル113で示される。ディスク120−0(HDD0)〜120−2(HDD2)の状態を示す図。
【図5】同実施形態におけるライト処理の手順を示すフローチャート。
【図6】同実施形態におけるライト処理、及びミラーリングモードMの領域への上書きを説明するための図。
【図7】図6に示すライト処理実行後のアドレス変換テーブル112の内容を示す図。
【図8】図6に示すライト処理実行後のストライプモード管理テーブル113の内容を示す図。
【図9】ミラーリングストライプ中の有効データを書き込むディスクの領域を選択する方法を説明するための図。
【図10】ミラーリングストライプ中の有効データの読み出しの対象とするディスクの領域を選択する方法を説明するための図。
【図11】ストライプサイズのデータのライト処理を説明するための図、
【図12】ミラーリングモードMの領域への上書きの手順を示すフローチャート。
【図13】ミラーリングモードMのストライプのデータをパリティモードPのストライプのデータに回復する処理の手順を示すフローチャート。
【図14】上記回復処理を説明するための図。
【図15】図14の例における更新後のアドレス変換テーブル112の内容を示す図。
【図16】図14の例における更新後のストライプモード管理テーブル113の内容を示す図。
【図17】1ストライプ上への複数組のミラーリングデータの配置を説明するための図。
【図18】ディスクアレイ12が縮退している状態におけるライト処理を説明するための図。
【図19】ディスクアレイ12が縮退している状態におけるライト処理の手順を示すフローチャート。
【符号の説明】
1…ディスクアレイ装置
2…ホスト(ホストコンピュータ)
11…ディスクコントローラ
12…ディスクアレイ(冗長化論理ディスク)
111…キャッシュメモリ
112…アドレス変換テーブル(アドレス変換情報記憶手段)
113…ストライプモード管理テーブル(ストライプモード管理情報記憶手段)
114…空き領域管理テーブル(空き領域管理情報記憶手段)
115…アクセス制御部
120−0,120−1,120−2,120−3…物理ディスク(HDD0,HDD1,HDD2,HDD3)[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a disk controller for controlling a logical disk (disk array) having redundancy composed of a plurality of physical disks, and more particularly to a redundant disk for writing write data requested by a host to the logical disk in a write-through manner. The present invention relates to a write-through processing method, a write-through processing program, and a disk controller for a logical disk.
[0002]
[Prior art]
As a means for realizing an inexpensive and highly reliable mass storage device, a disk array composed of a plurality of disks (disk devices) is known. This disk array appears as one disk (disk device) to a host using the disk array. Therefore, the disk array is also called a logical disk (logical disk device). The disks (disk devices) that make up the disk array are also called physical disks (physical disk devices).
[0003]
In general, a disk array is provided with redundancy by, for example, parity data as redundant data as represented by RAID (Redundant Array of Independent Disks or Redundant Array of Inexpensive Disks) in order to increase reliability. That is, a so-called redundant disk configuration is applied. The disk array is connected to a disk controller (disk array controller) described in, for example, JP-A-11-53235, which controls access to the disk array in response to a request from a host. The disk controller described in this publication applies the following method to speed up disk array access (disk access), for example, random write disk access. That is, the disk controller described in the publication discloses a method in which write data requested by a host is stored in a cache memory, and when the write data reaches a certain amount, the stored data is written to a continuous free area on a disk array. Have applied. Here, the correspondence between the address (logical address) requested by the host and the address (physical address) on the disk array where data is actually written is managed by an address conversion map.
[0004]
[Problems to be solved by the invention]
The above-described technique for speeding up disk access by random write belongs to a so-called write-back technique. Here, when the write data requested by the host is written in the cache memory on the disk controller, the completion of the write operation requested by the host is notified to the host.
[0005]
On the other hand, in a system that employs a method of accelerating random write disk access, write-through operation in which write data requested by a host is directly written to a disk (disk array) is required for higher reliability. May be done. Here, when the data is written to the disk, the host is notified of the completion of the write operation requested by the host.
[0006]
However, the method of operation in write-through is not defined due to the nature of the system. In addition, the write-through processing is slower than the write-back processing, so that a higher speed is required.
[0007]
SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and has as its object to provide a write-through processing method, a write-through processing program, and a disk controller for a redundant logical disk which can speed up the write-through processing for the redundant logical disk. It is in.
[0008]
[Means for Solving the Problems]
According to one aspect of the present invention, data is written through a write-through to a redundant logical disk that is configured by a plurality of physical disks and is managed in stripes in which data is retained in either parity or mirroring mode. Is provided (write-through processing method). In this method, when writing data requested by the host by write-through, a step of searching for an empty area of the stripe in the mirroring mode, and writing the data in the mirroring mode to the empty area of the found stripe in the mirroring mode. Writing step.
[0009]
As described above, in the above-described configuration, two modes, ie, a parity mode and a mirroring mode, are prepared as modes for holding data in each stripe, and any one of the modes can be dynamically set. A data area and a parity area are allocated to the stripe in the parity mode. Usually, an area of any one of the plurality of physical disks constituting the logical disk is allocated to the parity area. The remaining physical disk area is allocated to the data area. On the other hand, in the stripe in the mirroring mode, an area of at least one pair of physical disks of the plurality of physical disks is allocated as a data area (mirroring area) for holding data by mirroring.
[0010]
Here, when writing data in write-through, an empty area of the stripe in the mirroring mode is searched, and data is written in the empty area in the mirroring mode. If write processing is performed in the parity mode, read processing from the disk is required to generate parity. However, as described above, if data is written in the mirroring mode, parity generation becomes unnecessary, and thus the overhead of the read processing can be eliminated while ensuring redundancy. This makes it possible to speed up the write-through processing. Further, since any stripe can be set to the mirroring mode, even when there are many write requests from the host, it is possible to quickly respond by increasing the number of stripes in the mirroring mode.
[0011]
Here, the following steps may be added to the above configuration, that is, a step of searching for a mirroring mode stripe and a step of changing the searched mirroring mode stripe data to parity mode stripe data. . This makes it possible to use the stripe area without waste. Therefore, as a result of performing write-through writing in the mirroring mode, even if the number of stripes in the mirroring mode temporarily increases, the effect on the storage capacity can be reduced. Here, the step of searching for the mirroring mode stripes and the step of changing the searched mirroring mode stripe data to parity mode stripe data are performed when the number of empty stripes falls below a predetermined number. It may be configured to be executed when a predetermined condition among the conditions including is satisfied. As described above, when the predetermined condition is satisfied, the above steps are executed to use the area of the stripe without waste, thereby always securing the empty stripe, that is, securing the stripe applicable to the mirroring mode. Becomes possible.
[0012]
In addition, the following steps are included in the above configuration, that is, a step of searching for a free stripe when a free area of a stripe in the mirroring mode is not found, and an area of the plurality of physical disks constituting the searched free stripe. Selecting, as a free area, a pair of physical disks for mirroring that can be accessed at relatively high speed, and writing data in the mirroring mode. It is preferable to write data in the mirroring mode in the area of the selected physical disk.
[0013]
As described above, in addition to the data writing in the mirroring mode, the load distribution to the physical disks can be optimized by selecting a pair of physical disks for mirroring that can be accessed at relatively high speed. Further, the speed of the write-through processing can be further increased. Physical disks that can be accessed at a relatively high speed include: (1) a physical disk with less input / output access at that time, (2) a physical disk with relatively better performance, or (3) a current head of each physical disk. From the position, the physical disk requires less time to seek the head to the area of the corresponding physical disk in the empty stripe.
[0014]
Further, in the above configuration, when the data of the logical address specified by the read request from the host is present in the stripe in the mirroring mode, a pair of data in the stripe to which the data is written is written. It is preferable to add a step of selecting, as a read target, an area of the physical disk which can be accessed at a relatively high speed among the areas of the physical disk.
[0015]
Here, when the data of the logical address specified by the read request from the host exists in the stripe in the mirroring mode, the data is written from any of the areas of the pair of physical disks in the stripe where the data is written. Can be read. Therefore, by selecting a physical disk area that can be accessed at a relatively high speed from among the pair of physical disk areas as a read target, the read processing can be speeded up. A physical disk that can be accessed at a relatively high speed is a physical disk that satisfies the above condition (1), (2), or (3).
[0016]
In the above configuration, the following step, that is, when data of a logical address specified by a write request from a host is present in a stripe in a mirroring mode, the step of overwriting the data in the stripe in the mirroring mode is performed. Good to add. By doing so, it is not necessary to allocate a new mirroring stripe, and the process of changing the data of the mirroring mode stripe to the data of the parity mode stripe (recovery process) can be reduced.
[0017]
When the size of the data specified by the write request from the host is equal to or larger than the stripe size (the size of the data area of the stripe) in the above configuration, an empty stripe is set in units of data of the stripe size. And adding a step of writing data of the stripe size to the empty stripe in the parity mode. In the step of writing data in the mirroring mode, the size of the data specified by the write request is smaller than the stripe size. In this case, the data is written in the mirroring mode. If the size of the data specified by the write request exceeds the stripe size, the data is written in the parity mode in units of stripe size data among the data. Remaining days not subject to The better to write in the mirroring mode.
[0018]
As described above, the write process to the parity mode stripe and the write process to the mirroring mode stripe are dynamically switched according to the size of the data specified by the write request, or by performing the write-through process in combination. This makes it possible to more efficiently execute the write processing as compared with the case where the write processing is always performed only in the mirroring mode.
[0019]
It is also possible to dynamically switch between the write processing in the parity mode and the write processing in the mirroring mode regardless of the size of the data specified by the write request. For example, normally, a write process in the mirroring mode is executed, and the above-described change process (a process of changing the data of the mirroring mode stripe to the data of the parity mode stripe) is required due to a shortage of empty stripes. If the write processing in the mode requires more time, that is, if the write processing in the parity mode can be performed at a higher speed, the write processing in the parity mode can be executed. In this way, it is not necessary to make too many mirroring mode stripes.
[0020]
Further, when the number of physical disks constituting the redundant logical disk is four or more, in the step of writing data in the mirroring mode, at least two pairs of physical disk areas are used as mirroring data areas. It is preferable that one of the sets is selectively used. In this manner, the stripe area in the mirroring mode can be effectively used without waste.
[0021]
When one of the physical disks constituting the redundant logical disk has failed, that is, when the logical disk is degraded, the logical disk has no redundancy. For this reason, even in the case of a stripe in the parity mode, if the area of the parity data (parity area) in the stripe is the area of the failed physical disk, the parity data has no meaning. Accordingly, the following steps are added to the above configuration, that is, a step of searching for an empty data area from a stripe in a parity mode in which no parity data exists in an accessible area when writing by write-through at the time of degeneration of a logical disk. The data write destination is allocated to the free data area searched in (i.e., the free data area of the stripe where no parity data exists in the accessible area), and the free data area is maintained while the mode of the stripe is maintained in the parity mode. If the step of writing data to the stripe is added, the write-through process can be performed at a high speed even if the data is written to the stripe in the parity mode because the parity calculation is not necessary from the beginning. Further, since the writing in the mirroring mode is not applied, a change process (recovery process) to the data of the stripe in the parity mode becomes unnecessary.
[0022]
The present invention relating to the above write-through processing method is also realized as an invention relating to a program for causing a computer to execute a procedure corresponding to the method. Further, the present invention relating to the above write-through processing method is also realized as an invention relating to a controller (disk controller) which controls the redundant logical disk by applying the method.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a computer system including a disk controller according to an embodiment of the present invention.
[0024]
In FIG. 1, the
[0025]
Each of the disks 120-0 to 120-2 is connected to the disk controller 11 by a
[0026]
The disk controller 11 includes a cache memory 111, an address conversion table 112, a stripe mode management table 113, a free area management table 114, and an
[0027]
The cache memory 111 is a high-speed volatile storage device. The cache memory 111 is used to temporarily store data transferred from the
[0028]
As shown in FIG. 2, the address conversion table 112 stores, for each logical address, the logical address (logical block address), the physical address (physical block address) in the physical address space of the
[0029]
In the example of FIG. 2, it is shown that the data of the
[0030]
As shown in FIG. 3, the stripe mode management table 113 contains information (stripe mode management information) indicating whether data on a physical disk forming the stripe is written in the parity mode P or the mirroring mode M for each stripe. Consists of entries to be registered. As described above, the stripe units (here, three stripe units) that constitute one stripe are each composed of four blocks. In this case, the size of the data area (data portion) of one stripe is equivalent to two stripe units, that is, eight blocks in both the mirroring mode M and the parity mode P. The size of the parity area (area holding one parity unit) of the stripe in the parity mode P is one stripe unit, that is, four blocks.
[0031]
The information of each entry of the stripe mode management table 113 includes information designating the corresponding stripe and mode information (mode flag) indicating the mode of the stripe. Here, the physical address (stripe head address) of the head block of the stripe unit constituting the stripe is used as the information for specifying the stripe. When the corresponding stripe is in the mirroring mode M, each entry information of the stripe mode management table 113 further includes physical data storing valid data among the disks 120-0 (HDD0) to 12-2 (HDD2). It contains the number of a pair of physical disks (mirror HDD) (HDD number) used for storing the disk, ie, the mirroring data. In the example of FIG. 3, among the stripe units forming the stripe indicated by the
[0032]
The free area management table 114 indicates, for each stripe, whether or not there is a free space in the stripe and whether or not there is a free space for each physical block of the corresponding disks 120-0 to 120-2 in the stripe (if the stripe is not free). The entry is registered with the free space management information indicating the following. By referring to the free area management table 114, a free stripe or a free area (block) in the stripe can be searched. If efficiency is not considered, a free stripe or a free area in a stripe can be searched for by searching the physical address not registered in the address conversion table 112 with reference to the address conversion table 112.
[0033]
The tables 112 to 114 are placed on a memory (not shown). As this memory, a rewritable nonvolatile memory may be used so that the contents of the tables 112 to 114 are not lost even when the power of the disk controller 11 is turned off. It is also possible to use a volatile memory backed up by a battery. Further, the tables 112 to 114 may be configured to be stored in storage means other than the memory, for example, a disk.
[0034]
Upon receiving a read or write request from the
[0035]
When receiving a write request from the
[0036]
FIG. 4 shows the states of the disks 120-0 (HDD0) to 120-2 (HDD2) indicated by the address translation table 112 having the contents shown in FIG. 2 and the stripe mode management table 113 having the contents shown in FIG. Here, mirroring data 401a and 401b are stored at
[0037]
Next, write processing in the
[0038]
First, it is assumed that the
[0039]
As in this example, if the size of the data to be written is smaller than the stripe size (8 blocks), that is, if the determination in step S1 is No, the
[0040]
The determination in step S2 is realized by, for example, searching the mirroring stripe with reference to the stripe mode management table 113 and referring to the free area management table 114 for the stripe. Although the efficiency is low, by checking whether or not the address of the physical block of the pair of stripe units constituting the data area of the mirroring stripe is registered in the address conversion table 112, it is also possible to perform the processing in step S2. Judgment is possible.
[0041]
In this embodiment, the stripe starting from the physical address “4” in FIG. 4 is a mirroring stripe, and the blocks of the
[0042]
The
[0043]
After completing the writing in step S3, the
[0044]
The contents of the address conversion table 112 after the update process of step S4 has been executed in accordance with the writing of the data of the logical addresses "0" and "1" and the writing of the data of the logical address "2" described later. FIG. Here, the data of the logical addresses “0” and “1” are written in the mirroring mode M to the physical addresses “6” and “7” of the disk 120-1 (and the disk 120-2), that is, the HDD 1 (and the HDD 2). It is shown that it is. At this time, the data of the logical addresses “0” and “1” already written in the area of the physical addresses “0” and “1” of the disk 120-0 (HDD0) (see the address conversion table 112 in FIG. 2). Becomes invalid data.
[0045]
After executing step S4, the
[0046]
When a free stripe is found in step S6, the
[0047]
Next, the
[0048]
Next, the
[0049]
Thus, in the present embodiment, as shown in FIG. 6, with the stripe starting from the physical address “12” being changed to the mirroring mode M (step S12), for example, the disk 120-0 (HDD0) in the stripe The
[0050]
Next, the
[0051]
As described above, the writing of all three blocks of data starting from the logical address “0” specified by the
[0052]
Next, a method of selecting an area of a disk to which valid data in the mirroring stripe is to be written in step S7 will be described with reference to the operation explanatory diagram of FIG.
[0053]
As described above, upon detecting a free stripe in step S6, the
[0054]
Next, data reading from an area in which the mirroring mode M is set will be described with reference to the operation explanatory diagram of FIG.
It is apparent that the physical address area corresponding to the logical address requested to be read from the
[0055]
Now, it is assumed that there is a read request for a mirroring stripe having valid data on the disks 120-0 (HDD0) and 120-1 (HDD1). At this time, as shown in FIG. 10, it is assumed that there are many input / output accesses to the disk 120-1 (HDD1). In this case, the
[0056]
Next, an operation when it is determined in step S1 in FIG. 5 that the write is equal to or larger than the stripe size (the data area size of the stripe) will be described.
First, for a write with a stripe size, a parity (parity data) can be created directly from write data. In this case, even if data is written in the parity mode P, there is no overhead due to reading for parity generation. Therefore, in the present embodiment, as described below, the stripe size data is written in the parity mode P, thereby reducing the later-described stripe recovery processing in the mirroring mode M.
[0057]
First, when writing data, the
[0058]
FIG. 11 is a diagram for explaining the writing of data of this stripe size. In the example of FIG. 11, it is assumed that a stripe starting from the physical address “12” (consisting of stripe units corresponding to HDD0 to HDD2) is an empty stripe. It is also assumed that data D having a stripe size, that is, data D for eight blocks is data to be written. In this case, the
[0059]
Next, the overwriting of the area in the mirroring mode M will be described with reference to the flowchart in FIG. Note that the flowchart of FIG. 12 illustrates a processing procedure that has been omitted in the flowchart of FIG. 5 and includes a processing procedure (steps S51 and S52) that is executed immediately after the determination in step S1 in FIG. 5 is No. .
[0060]
In the present embodiment, when a physical address area corresponding to a logical address specified by a write request from the
[0061]
If the
[0062]
A specific example of this data overwriting will be described with reference to FIG. Now, the
[0063]
The
[0064]
Next, a process of recovering (changing) the data of the stripe in the mirroring mode M to the data of the stripe in the parity mode P will be described with reference to the flowchart of FIG. 13 and the operation explanatory diagrams of FIGS.
[0065]
In the present embodiment, the process of recovering the data of the stripe in the mirroring mode M (mirroring stripe) to the data of the stripe in the parity mode P is executed when a predetermined condition is satisfied. Here, the above-described recovery processing is performed when the
[0066]
First, the
[0067]
Next, the
[0068]
Next, the
[0069]
In step S63, the
[0070]
After completing the execution of step S63, the
[0071]
Further, the
[0072]
Note that the process of recovering the data of the stripe in the mirroring mode M into the data of the stripe in the parity mode P can be executed not integrally with the effective data relocation process but as an independent process. The effective data relocation process is a process of collecting valid data, which is arranged in pieces on the disks 120-0 (HDD0) to 120-2 (HDD2) in the
[0073]
Next, the arrangement of a plurality of sets of mirroring data on one stripe will be described.
When the disk array (logical disk) is composed of 2n or 2n + 1 physical disks (n is an integer of 2 or more), mirroring is performed for each pair of (two) physical disks. It is possible to secure a maximum of n sets of mirroring areas in a stripe. Now, as shown in FIG. 17, a disk 120-3 (HDD3) is added to the
[0074]
Next, write processing in a state where the
[0075]
Now, it is assumed that, for example, the disk 120-2 (HDD2) among the disks 120-0 (HDD0) to 120-2 (HDD2) constituting the
[0076]
The
[0077]
Next, the
[0078]
Note that the present invention is not limited to the above-described embodiment, and can be variously modified in an implementation stage without departing from the gist of the invention. Further, the embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some components are deleted from all the components shown in the embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and the effects described in the column of the effect of the invention can be solved. Is obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention.
[0079]
【The invention's effect】
As described above in detail, according to the present invention, when writing data in write-through, a configuration is employed in which a free area of a stripe in the mirroring mode is searched for and data is written in the free area in the mirroring mode, so that parity generation is unnecessary. In addition, the write-through processing can be speeded up while eliminating the overhead of the read processing for parity generation while ensuring redundancy.
[Brief description of the drawings]
FIG. 1 is an exemplary block diagram showing the configuration of a computer system including a disk controller according to an embodiment of the present invention.
FIG. 2 is a diagram showing a data structure example of an address conversion table 112 in FIG.
FIG. 3 is a view showing an example of a data structure of a stripe mode management table 113 in FIG. 1;
4 shows an address conversion table 112 having the contents shown in FIG. 2 and a stripe mode management table 113 having the contents shown in FIG. The figure which shows the state of the disk 120-0 (HDD0)-120-2 (HDD2).
FIG. 5 is an exemplary flowchart illustrating the procedure of a write process according to the embodiment;
FIG. 6 is an exemplary view for explaining write processing and overwriting in a mirroring mode M area in the embodiment.
FIG. 7 is a view showing the contents of an address conversion table 112 after execution of the write processing shown in FIG. 6;
FIG. 8 is a view showing the contents of a stripe mode management table 113 after execution of the write processing shown in FIG. 6;
FIG. 9 is an exemplary view for explaining a method of selecting an area of a disk to which valid data in a mirroring stripe is written.
FIG. 10 is an exemplary view for explaining a method of selecting a disk area from which valid data in a mirroring stripe is to be read;
FIG. 11 is a diagram for explaining write processing of data of a stripe size;
FIG. 12 is a flowchart showing a procedure for overwriting an area in the mirroring mode M;
FIG. 13 is a flowchart illustrating a procedure of a process of recovering data of a stripe in a mirroring mode M to data of a stripe in a parity mode P;
FIG. 14 is a view for explaining the recovery processing.
15 is a diagram showing the contents of an updated address translation table 112 in the example of FIG. 14;
FIG. 16 is a diagram showing the contents of an updated stripe mode management table 113 in the example of FIG. 14;
FIG. 17 is a view for explaining the arrangement of a plurality of sets of mirroring data on one stripe.
FIG. 18 is a diagram for explaining write processing in a state where the
FIG. 19 is a flowchart showing the procedure of a write process when the
[Explanation of symbols]
1. Disk array device
2. Host (host computer)
11 ... Disk controller
12 ... Disk array (redundant logical disk)
111: Cache memory
112 ... Address conversion table (address conversion information storage means)
113: Stripe mode management table (stripe mode management information storage means)
114... Free area management table (free area management information storage means)
115 ... Access control unit
120-0, 120-1, 120-2, 120-3 ... physical disks (HDD0, HDD1, HDD2, HDD3)
Claims (13)
ホストから要求されたデータのライトスルーでの書き込みに際し、前記ミラーリングモードのストライプの空き領域を探索するステップと、
前記探索されたミラーリングモードのストライプの空き領域に前記ミラーリングモードでデータを書き込むステップと
を具備することを特徴とするライトスルー処理方法。This is a write-through processing method for writing data by write-through to a redundant logical disk that is configured by a plurality of physical disks and managed in stripes in which data is retained in either parity or mirroring mode. hand,
Searching for a free area of the stripe in the mirroring mode when writing in write-through of data requested by the host;
Writing data in the mirroring mode to the found free area of the stripe in the mirroring mode in the mirroring mode.
前記探索されたミラーリングモードのストライプのデータを前記パリティモードのストライプのデータに変更するステップと
を更に具備することを特徴とする請求項1記載のライトスルー処理方法。Searching for the stripe in the mirroring mode;
2. The write-through processing method according to claim 1, further comprising the step of: changing the data of the searched mirroring mode stripe to the data of the parity mode stripe.
前記探索された空きストライプを構成する前記複数の物理ディスクの領域のうち、相対的に高速アクセスが可能なミラーリング用の1対の物理ディスクの領域を空き領域として選択するステップと
を更に具備し、
前記ミラーリングモードでデータを書き込むステップでは、前記探索された空きストライプ中の前記選択された物理ディスクの領域に前記ミラーリングモードでデータを書き込む
ことを特徴とする請求項1記載のライトスルー処理方法。A step of searching for a free stripe when no free area of the stripe in the mirroring mode is found;
Selecting, as a free area, a pair of physical disks for mirroring, which can be accessed at relatively high speed, among the plurality of physical disks constituting the searched free stripe.
2. The write-through processing method according to claim 1, wherein in the step of writing data in the mirroring mode, the data is written in the mirroring mode in an area of the selected physical disk in the searched empty stripe.
前記ミラーリングモードでデータを書き込むステップでは、前記ライト要求で指定されたデータのサイズが前記ストライプサイズに満たない場合には当該データを前記ミラーリングモードで書き込み、前記ライト要求で指定されたデータのサイズが前記ストライプサイズを超えている場合には、当該データのうち、前記ストライプサイズのデータを単位とする前記パリティモードでの書き込みの対象とならない残りのデータを前記ミラーリングモードで書き込む
ことを特徴とする請求項1記載のライトスルー処理方法。If the size of the data specified by the write request from the host is equal to or larger than the stripe size, which is the size of the data area of the stripe, a search is made for a free stripe in units of data of the stripe size, and the stripe Writing data of a size in a parity mode,
In the step of writing data in the mirroring mode, when the size of the data specified in the write request is less than the stripe size, the data is written in the mirroring mode, and the size of the data specified in the write request is When the data size exceeds the stripe size, the remaining data which is not to be written in the parity mode in units of the data of the stripe size among the data is written in the mirroring mode. Item 1. The write-through processing method according to Item 1.
前記探索された、アクセス可能な領域にパリティデータが存在しないストライプの空きデータ領域に、データの書き込み先を割り当て、当該ストライプのモードを前記パリティモードに保ったまま、当該空きデータ領域にデータを書き込むステップと
を更に具備することを特徴とする請求項1記載のライトスルー処理方法。When one of the plurality of physical disks constituting the redundant logical disk has failed, at the time of write-through writing of data requested by the host, there is no parity data in an accessible area. Searching for a free data area from the stripe in the parity mode;
A data write destination is allocated to the found free data area of the stripe in which no parity data exists in the accessible area, and data is written to the free data area while maintaining the mode of the stripe in the parity mode. 2. The write-through processing method according to claim 1, further comprising:
前記冗長化論理ディスクを制御するディスクコントローラに、
前記ホストから要求されたデータのライトスルーでの書き込みに際し、前記ミラーリングモードのストライプの空き領域を探索するステップと、
前記探索されたミラーリングモードのストライプの空き領域に前記ミラーリングモードでデータを書き込むステップと
を実行させるためのライトスルー処理用プログラム。A write-through processing program for writing data in a write-through manner to a redundant logical disk that is composed of multiple physical disks and is managed in stripes in which data is retained in either parity or mirroring mode. So,
A disk controller for controlling the redundant logical disk,
Upon writing in write-through of the data requested from the host, searching for a free area of the stripe in the mirroring mode,
A step of writing data in the mirroring mode into a free area of the searched stripe in the mirroring mode.
ホストから要求されたデータのライトスルーでの書き込みに際し、前記ミラーリングモードのストライプの空き領域を探索する手段と、
前記探索手段により探索されたミラーリングモードのストライプの空き領域に前記ミラーリングモードでデータを書き込む手段と
を具備することを特徴とするディスクコントローラ。A disk controller configured to control access to a redundant logical disk that is configured by a plurality of physical disks and that is managed in units of stripes in which data is retained in one of a parity mode and a mirroring mode,
Means for searching for an empty area of the stripe in the mirroring mode when writing in write-through of data requested by the host,
Means for writing data in the mirroring mode in an empty area of the stripe in the mirroring mode searched by the search means.
を更に具備することを特徴とする請求項11記載のディスクコントローラ。12. The apparatus according to claim 11, further comprising: means for searching for the mirroring mode stripe; and recovery processing means for changing the searched mirroring mode stripe data to the parity mode stripe data. Disk controller.
前記冗長化論理ディスクの各ストライプについて、当該ストライプのデータが前記パリティモードまたは前記ミラーリングモードのいずれで保持されているかを示すと共に、前記ミラーリングモードの場合には、有効なデータが保持されている少なくとも1組の1対の物理ディスクを示すストライプモード管理情報を記憶する手段と、
前記冗長化論理ディスクの各ストライプについて、当該ストライプの空きの有無と、当該ストライプ中の対応する物理ディスクの物理ブロック毎の空きの有無とを示す空き領域管理情報を記憶する手段と、
前記書き込み手段によるデータ書き込みに応じて前記アドレス変換情報記憶手段及び前記空き領域管理情報記憶手段の記憶内容を更新する手段と
を更に具備し、
前記空き領域探索手段は、前記ストライプモード管理情報記憶手段及び前記空き領域管理情報記憶手段の記憶内容をもとに前記ミラーリングモードのストライプの空き領域を探索することを特徴とする請求項11記載のディスクコントローラ。Address conversion indicating a correspondence relationship between a logical address and a physical address corresponding to the logical address, the physical address of an area in the physical disk constituting the redundant logical disk in which data of the logical address is stored. Means for storing information;
For each stripe of the redundant logical disk, it indicates whether the data of the stripe is held in the parity mode or the mirroring mode, and in the case of the mirroring mode, at least valid data is held Means for storing stripe mode management information indicating a pair of physical disks;
Means for storing, for each stripe of the redundant logical disk, free space management information indicating whether or not there is free space in the stripe and whether or not there is free space for each physical block of the corresponding physical disk in the stripe;
Means for updating storage contents of the address conversion information storage means and the free space management information storage means in accordance with data writing by the writing means,
12. The apparatus according to claim 11, wherein the free area search means searches for a free area of the stripe in the mirroring mode based on the storage contents of the stripe mode management information storage means and the free area management information storage means. Disk controller.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002265855A JP3730609B2 (en) | 2002-09-11 | 2002-09-11 | Write-through processing method, write-through processing program and disk controller for redundant logical disk |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002265855A JP3730609B2 (en) | 2002-09-11 | 2002-09-11 | Write-through processing method, write-through processing program and disk controller for redundant logical disk |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004102823A true JP2004102823A (en) | 2004-04-02 |
JP3730609B2 JP3730609B2 (en) | 2006-01-05 |
Family
ID=32264872
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002265855A Expired - Fee Related JP3730609B2 (en) | 2002-09-11 | 2002-09-11 | Write-through processing method, write-through processing program and disk controller for redundant logical disk |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3730609B2 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006120120A (en) * | 2004-10-20 | 2006-05-11 | Seagate Technology Llc | General storage container for assigning a plurality of data formats |
JP2008171537A (en) * | 2006-12-20 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | Apparatus and method to generate, restore, store, write, and read a plurality of error correction coded data sets |
US7552278B2 (en) | 2005-06-24 | 2009-06-23 | Fujitsu Limited | Disk array access dynamic control device and method |
JP2016511879A (en) * | 2013-02-01 | 2016-04-21 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited | Method and apparatus for enabling more detailed and expandable allocation of storage in a data storage system |
CN114924778A (en) * | 2022-04-01 | 2022-08-19 | 北京遥测技术研究所 | Program upgrading method based on ZYNQ redundant backup |
CN114924778B (en) * | 2022-04-01 | 2024-04-26 | 北京遥测技术研究所 | Program upgrading method based on ZYNQ redundancy backup |
-
2002
- 2002-09-11 JP JP2002265855A patent/JP3730609B2/en not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006120120A (en) * | 2004-10-20 | 2006-05-11 | Seagate Technology Llc | General storage container for assigning a plurality of data formats |
US7552278B2 (en) | 2005-06-24 | 2009-06-23 | Fujitsu Limited | Disk array access dynamic control device and method |
JP2008171537A (en) * | 2006-12-20 | 2008-07-24 | Internatl Business Mach Corp <Ibm> | Apparatus and method to generate, restore, store, write, and read a plurality of error correction coded data sets |
US8667379B2 (en) | 2006-12-20 | 2014-03-04 | International Business Machines Corporation | Apparatus and method to generate, store, and read, a plurality of error correction coded data sets |
JP2016511879A (en) * | 2013-02-01 | 2016-04-21 | ヒタチ データ システムズ エンジニアリング ユーケー リミテッドHitachi Data Systems Engineering Uk Limited | Method and apparatus for enabling more detailed and expandable allocation of storage in a data storage system |
CN114924778A (en) * | 2022-04-01 | 2022-08-19 | 北京遥测技术研究所 | Program upgrading method based on ZYNQ redundant backup |
CN114924778B (en) * | 2022-04-01 | 2024-04-26 | 北京遥测技术研究所 | Program upgrading method based on ZYNQ redundancy backup |
Also Published As
Publication number | Publication date |
---|---|
JP3730609B2 (en) | 2006-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3505093B2 (en) | File management system | |
JP5264203B2 (en) | Power efficient storage using data deduplication | |
US5410667A (en) | Data record copy system for a disk drive array data storage subsystem | |
US6941420B2 (en) | Log-structure array | |
US8131969B2 (en) | Updating system configuration information | |
JP3697149B2 (en) | How to manage cache memory | |
US8607010B2 (en) | Information processing system and management device for managing relocation of data based on a change in the characteristics of the data over time | |
US20030236944A1 (en) | System and method for reorganizing data in a raid storage system | |
WO2011042428A1 (en) | Secondary cache for write accumulation and coalescing | |
JP2013517537A (en) | Storage system and ownership control method in storage system | |
JP2000010738A (en) | Disk array system, storage capacity extension method applied in the system, and record medium | |
US9471252B2 (en) | Use of flash cache to improve tiered migration performance | |
JP2001243021A (en) | Disk control mechanism suitable for random disk write | |
JPH0863298A (en) | Disk array device | |
US7676644B2 (en) | Data processing system, storage apparatus and management console | |
JP4189342B2 (en) | Storage apparatus, storage controller, and write-back cache control method | |
US7908434B2 (en) | Raid apparatus, cache management method, and computer program product | |
JP4838054B2 (en) | Disk array device and load balancing method thereof | |
JP3687111B2 (en) | Storage device system and storage device control method | |
JPH09288547A (en) | Array-type storage device | |
US20040133741A1 (en) | Disk array apparatus and data writing method used in the disk array apparatus | |
JP3730609B2 (en) | Write-through processing method, write-through processing program and disk controller for redundant logical disk | |
US20130159656A1 (en) | Controller, computer-readable recording medium, and apparatus | |
JP4734432B2 (en) | Data storage system | |
JP2002014776A (en) | Disk control system and data rearranging method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20041221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050628 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
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: 20051004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051006 |
|
LAPS | Cancellation because of no payment of annual fees |