(57)【要約】  本発明の実施例は、ディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置を提供する。本方法は、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける論理ユニットのシーケンスを取得するステップと、論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップであって、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、順次的にフラッシュするステップとを有する。本発明の実施例において提供されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのため前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響は、ＲＡＩＤグループに対する独立した制御により防止され、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増大させる。
2016503209.tif 000002
【特許請求の範囲】
【請求項１】
ディスクアレイ・フラッシュ方法であって、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するステップと、
前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、順次的にフラッシュするステップと、
を有するディスクアレイ・フラッシュ方法。
【請求項２】
前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップの前に、当該方法は更に、
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップを有する、請求項１記載の方法。
【請求項３】
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップは、
前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するステップを有し、
Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である、請求項２記載の方法。
【請求項４】
前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップは、
前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行するステップと、
前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするステップと、
を有する、請求項１乃至３何れか一項記載の方法。
【請求項５】
前記現在の論理ユニットをフラッシュするステップは、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュするステップと、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するステップと、
を有する、請求項４記載の方法。
【請求項６】
前記現在の論理ユニットをフラッシュするステップは、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュするステップと、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止するステップと、
を有する、請求項４又は５記載の方法。
【請求項７】
前記ＲＡＩＤグループのフラッシュを停止するステップの後に、当該方法は更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するステップを有する、請求項６記載の方法。
【請求項８】
ディスクアレイ・フラッシュ装置であって、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するよう構成される取得モジュールと、
前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されるフラッシュモジュールであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュールと、
を有するディスクアレイ・フラッシュ装置。
【請求項９】
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュールを更に有する、請求項８記載の装置。
【請求項１０】
前記決定モジュールは、具体的には、
前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、
Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である、請求項９記載の装置。
【請求項１１】
前記フラッシュモジュールは、具体的には、
前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、
前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュする、
よう構成される、請求項８乃至１０何れか一項記載の装置。
【請求項１２】
前記フラッシュモジュールが前記現在の論理ユニットをフラッシュするよう構成されることは、具体的には、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示する、
ことを含む、請求項１１記載の装置。
【請求項１３】
前記フラッシュモジュールは更に、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、
よう構成される、請求項１１又は１２記載の装置。
【請求項１４】
前記フラッシュモジュールは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される、請求項１３記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、コンピュータ技術に関し、特にディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置に関する。
【背景技術】
【０００２】
コンピュータアプリケーション技術の急速な発展によって、大量のデータが生成され、記憶スペース及び性能に対するより高い要求を生じさせている。現在主流のディスクに対する操作は多数の機械的操作を依然として含むため、現在主流のディスクの性能とプロセッサ及びメモリのものとの間のギャップが存在する。キャッシュ（ＣＡＣＨＥ）技術は記憶分野に適用され、ホスト遅延を隠蔽可能にするだけでなく、データを統合することもまた可能であり、データはＣＡＣＨＥを利用することによってディスクフレンドリーな方式によりディスクに書き込まれ、すなわち、該ディスクはフラッシュされ、これにより、記憶システムの最適なスループットを達成する。
【０００３】
数十年の研究の後、既存のＣＡＣＨＥアルゴリズムは成熟した。しかしながら、コンピュータにより提供されるアプリケーションが日々多様化し、ディスクアレイにより提供されるスペースと性能との双方が、よりフレキシブルなスケジューリング方法を必要としている。同一のディスクアレイは、通常、異なるタイプのディスクを有するかもしれず、同じタイプのディスクを有するリダンダント・アレイ・オブ・インディペンデント・ディスク（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ，以下では略してＲＡＩＤ）においてさえ、各ＲＡＩＤグループに含まれるメンバーディスクの個数は通常は異なっている。さらに、単一のＲＡＩＤグループにおける論理ユニット番号（Ｌｏｇｉｃ  Ｕｎｉｔ  Ｎｕｍｂｅｒ、以下では略してＬＵＮ）を利用することにより特定される論理ユニットの個数がまた徐々に増加している。
【０００４】
従来技術では、ディスクアレイのフラッシュ中、スケジューリングは論理ユニットレイヤにおいて実行され、すなわち、各フラッシュ入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ、以下では略してＩＯ）は、単一の論理ユニットに対してである。しかしながら、ディスクアレイは複数のＲＡＩＤグループを含み、各ＲＡＩＤグループは更に複数の論理ユニットを含む。すなわち、現在のディスクアレイ・フラッシュ方法は、この状況において適切に動作することができない。例えば、同じＲＡＩＤグループにおける複数の論理ユニットについて、単一の論理ユニットのフラッシュＩＯは、論理ユニットにおける順序づけされたフラッシュＩＯである。しかしながら、同時的なフラッシュが複数の論理ユニットに対して実行される必要があり、同時的なフラッシュが実行される複数の論理ユニットは離散的シーケンスを有するため、ＲＡＩＤグループ全体における同時的フラッシュＩＯは、通常は離散的となる。離散的である同時的フラッシュＩＯは、ディスクの磁気アームをアドレッシングのため前後にジャンプさせるかもしれず、データの読み書きより磁気アームによるアドレッシングに多くの時間が費やされ、ディスクアレイの全体的な性能に対して重大な負の効果及びディスクアレイの低スループットをもたらす。
【発明の概要】
【０００５】
本発明の実施例は、ディスクアレイのフラッシュ効率を向上させ、ディスクアレイのスループットを増大させるのに利用されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置を提供する。
【０００６】
第１の態様によると、本発明の実施例は、ディスクアレイ・フラッシュ方法であって、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するステップと、前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、順次的にフラッシュするステップと、を有するディスクアレイ・フラッシュ方法を提供する。
【０００７】
第１の態様の第１の可能な実現方式では、前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップの前に、当該方法は更に、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップを有する。
【０００８】
第１の態様の第１の可能な実現方式によると、第１の態様の第２の可能な実現方式では、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップは、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するステップを有し、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【０００９】
第１の態様又は第１の態様の上記２つの可能な実現方式の１つによると、第１の態様の第３の可能な実現方式では、前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップは、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行するステップと、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするステップと、を有する。
【００１０】
第１の態様の第３の可能な実現方式によると、第１の態様の第４の可能な実現方式では、前記現在の論理ユニットをフラッシュするステップは、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュするステップと、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するステップと、を有する。
【００１１】
第１の態様の第３又は第４の可能な実現方式によると、第１の態様の第５の可能な実現方式では、前記現在の論理ユニットをフラッシュするステップは、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュするステップと、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止するステップと、を有する。
【００１２】
第１の態様の第５の可能な実現方式によると、第１の態様の第６の可能な実現方式では、前記ＲＡＩＤグループのフラッシュを停止するステップの後に、当該方法は更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するステップを有する。
【００１３】
第２の態様によると、本発明の実施例は、ディスクアレイ・フラッシュ装置であって、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するよう構成される取得モジュールと、前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されるフラッシュモジュールであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュールと、を有するディスクアレイ・フラッシュ装置を提供する。
【００１４】
第２の態様の第１の可能な実現方式では、当該装置は、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュールを更に有する。
【００１５】
第２の態様の第１の可能な実現方式によると、第２の態様の第２の可能な実現方式では、前記決定モジュールは、具体的には、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【００１６】
第２の態様又は第２の態様の上記２つの可能な実現方式の１つによると、第２の態様の第３の可能な実現方式では、前記フラッシュモジュールは、具体的には、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュする、よう構成される。
【００１７】
第２の態様の第３の可能な実現方式によると、第２の態様の第４の可能な実現方式では、前記フラッシュモジュールが前記現在の論理ユニットをフラッシュするよう構成されることは、具体的には、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００１８】
第２の態様の第３又は第４の可能な実現方式によると、第２の態様の第５の可能な実現方式では、前記フラッシュモジュールは更に、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、よう構成される。
【００１９】
第２の態様の第５の可能な実現方式によると、第２の態様の第６の可能な実現方式では、前記フラッシュモジュールは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００２０】
第３の態様によると、本発明の実施例は、他のディスクアレイ・フラッシュ装置であって、命令を格納するよう構成されるメモリと、前記メモリに結合されるプロセッサであって、前記プロセッサは前記メモリに格納される命令を実行するよう構成され、前記プロセッサは、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得し、前記論理ユニットの物理アドレスのシーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成され、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する他のディスクアレイ・フラッシュ装置を提供する。
【００２１】
第３の態様の第１の可能な実現方式では、前記プロセッサは、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される。
【００２２】
第３の態様の第１の可能な実現方式によると、第３の態様の第２の可能な実現方式では、前記プロセッサは、具体的には、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【００２３】
第３の態様又は第３の態様の上記２つの可能な実現方式の１つによると、第３の態様の第３の可能な実現方式では、前記プロセッサは、具体的には、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするよう構成される。
【００２４】
第３の態様の第３の可能な実現方式によると、第３の態様の第４の可能な実現方式では、前記プロセッサが前記現在の論理ユニットをフラッシュするよう構成されることは、具体的には、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００２５】
第３の態様の第３又は第４の可能な実現方式によると、第３の態様の第５の可能な実現方式では、前記プロセッサは更に、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、よう構成される。
【００２６】
第３の態様の第５の可能な実現方式によると、第３の態様の第６の可能な実現方式では、前記プロセッサは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００２７】
本発明の実施例において提供されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置によると、単一のＲＡＩＤグループにおける複数の論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのため前後にジャンプするのにより時間がかからず、ＲＡＩＤグループ間の影響がＲＡＩＤグループに対する独立した制御によって防止され、これにより、ディスクアレイのフラッシュ効率性を改善し、ディスクアレイのスループットを増大させる。
【図面の簡単な説明】
【００２８】
本発明の実施例又は従来技術における技術的方策をより明確に説明するため、以下において、実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明のいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
【図１】図１は、本発明によるディスクアレイ・フラッシュ方法の実施例１のフローチャートである。
【図２】図２は、本発明によるディスクアレイ・フラッシュ方法の実施例２のフローチャートである。
【図３】図３は、本発明によるディスクアレイ・フラッシュ方法の実施例３のフローチャートである。
【図４】図４は、本発明によるディスクアレイ・フラッシュ装置の実施例１の概略的な構成図である。
【図５】図５は、本発明によるディスクアレイ・フラッシュ装置の実施例２の概略的な構成図である。
【発明を実施するための形態】
【００２９】
本発明の実施例の課題、技術的方策及び効果をより明確にするため、以下において、本発明の実施例における添付図面を参照して、本発明の実施例における技術的方策が明確且つ完全に説明される。明らかに、説明される実施例は、本発明の全ての実施例というよりも一部である。創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲内に属する。
【００３０】
図１は、本発明によるディスクアレイ・フラッシュ方法の実施例１のフローチャートである。図１に示されるように、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００３１】
ステップＳ１１０：論理ユニットの物理アドレスに従っている、ディスクアレイの同一のＲＡＩＤグループにおける論理ユニットのシーケンスを取得する。
【００３２】
具体的には、ディスクアレイは複数のＲＡＩＤグループを有してもよく、各ＲＡＩＤグループは複数の論理ユニットを有してもよく、論理ユニットは論理ユニット番号ＬＵＮを利用することによって特定されてもよく、論理ユニットはＲＡＩＤグループにおける記憶スペースを分割するのに利用される。一般に、論理ユニットが作成されると、記憶スペースは、ＲＡＩＤグループにおける論理ユニットの物理アドレスのシーケンスに従って、同一のＲＡＩＤグループにおける全ての論理ユニットについて分割されてもよく、各論理ユニットは、ＲＡＩＤグループにおける連続する物理アドレスのスペースを占有する。例えば、物理アドレスによるＬＵＮ１〜ＬＵＮ５のシーケンスは、ＬＵＮ２，ＬＵＮ４，ＬＵＮ１，ＬＵＮ５，ＬＵＮ３であってもよい。
【００３３】
ステップＳ１２０：論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュし、ここで、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００３４】
ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要のある１以上のダーティページを含むものであってもよく、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、同時的フラッシュＩＯにおけるダーティページをＲＡＩＤグループにフラッシュする１つのフラッシュ処理として解釈可能である。一般に、ＲＡＩＤグループにフラッシュされるべきダーティページは、同時的フラッシュＩＯを形成するため、ダーティページに対応するデスティネーションアドレスのシーケンスに従って連続的にパッケージ化され、ダーティページのデスティネーションアドレスは、ダーティページが書き込まれるべき論理ユニットの物理アドレスに対応する。フラッシュは、ＲＡＩＤグループに対して別々に実行され、フラッシュ中、ＲＡＩＤグループは互いに干渉しない。ＲＡＩＤグループにおける同時的フラッシュＩＯは、シーケンスに従ってＲＡＩＤグループの論理ユニットに別々にフラッシュされる。シーケンスがＲＡＩＤグループにおける論理ユニットの物理アドレスの配置シーケンスに整合している場合、ＲＡＩＤグループにおける論理ユニットの物理アドレスは連続的であるため、ＲＡＩＤグループへのＲＡＩＤグループの同時的フラッシュＩＯをフラッシュする処理は、ＲＡＩＤグループにおける磁気アームが順次的なアドレッシングを実行し、ダーティページをディスクに書き込む処理となる。
【００３５】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響が、ＲＡＩＤグループに対する独立した制御によって防止され、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００３６】
図２は、本発明によるディスクアレイ・フラッシュ方法の実施例２のフローチャートである。図２に示されるように、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００３７】
ステップＳ２１０：論理ユニットの物理アドレスに従っている、ディスクアレイの同一のＲＡＩＤグループにおける論理ユニットのシーケンスを取得する。
【００３８】
具体的には、ディスクアレイは複数のＲＡＩＤグループを有してもよく、各ＲＡＩＤグループは複数の論理ユニットを有してもよく、論理ユニットは論理ユニット番号ＬＵＮを利用することによって特定されてもよく、論理ユニットはＲＡＩＤグループにおける記憶スペースを分割するのに利用される。一般に、論理ユニットが作成されると、記憶スペースは、ＲＡＩＤグループにおける論理ユニットの物理アドレスのシーケンスに従って、同一のＲＡＩＤグループにおける全ての論理ユニットについて分割されてもよく、各論理ユニットは、ＲＡＩＤグループにおける連続する物理アドレスのスペースを占有する。
【００３９】
ステップＳ２２０：ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定する。
【００４０】
当該ステップはまた、ステップＳ２１０の前に実行されてもよい。具体的には、ディスクアレイにフラッシュされるべきダーティページは、ＣＡＣＨＥに書き込まれたが、ディスクアレイに書き込まれていないデータである。ＣＡＣＨＥにおけるダーティページの個数が高い水準を超過した場合、すなわち、ＣＡＣＨＥにダーティページを記憶するためのスペースが尽きた場合、各ＲＡＩＤグループの同時的フラッシュ上限が、ＲＡＩＤグループの同時的フラッシュＩＯの個数として利用される。ＣＡＣＨＥにおけるダーティページの個数が高い水準に達していない場合、現在のフラッシュにおけるＲＡＩＤグループの論理ユニットの同時的フラッシュＩＯの個数は、ディスクアレイにフラッシュされるべきダーティページの合計数に対するＲＡＩＤグループにフラッシュされるべきダーティページの合計数の比、ＲＡＩＤグループの同時的フラッシュ上限及びディスクアレイのビジー／アイドルの程度に従って決定されてもよい。ＲＡＩＤグループの同時的フラッシュ上限は、各同時的フラッシュにおいてＲＡＩＤグループにおいて実行可能なフラッシュＩＯの個数の上限であり、ＲＡＩＤグループの同時的フラッシュ上限は、ＲＡＩＤグループのメンバーディスクのタイプ、メンバーディスクの個数及びＲＡＩＤグループにより利用されるＲＡＩＤレベルに従って決定される。メンバーディスクの速度が高速になるに従って、また、データディスクとして利用されるメンバーディスクの個数が多くなるに従って、ＲＡＩＤグループの同時的フラッシュ上限はより高くなる。
【００４１】
任意的には、ＣＡＣＨＥにおけるダーティページの個数が高い水準に達していない場合、現在のフラッシュにおけるＲＡＩＤグループの同時的フラッシュＩＯの個数が、以下の式、すなわち、
ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）
に従って決定可能であり、ここで、ｄｎはＲＡＩＤグループの同時的フラッシュＩＯの個数であり、ＲＡＩＤグループにおける全ての論理ユニットの同時的フラッシュＩＯの合計数を含み、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００４２】
ディスクアレイにフラッシュされるべきダーティページの合計数に対するＲＡＩＤグループにフラッシュされるべきダーティページの合計数の比が大きくなるに従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数は多くなり、ディスクアレイの現在の利用率が低くなるに従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数が多くなる。
【００４３】
ステップＳ２３０：論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュし、ここで、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００４４】
ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要がある１以上のダーティページを有してもよく、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、同時的フラッシュＩＯにおけるダーティページをＲＡＩＤグループにフラッシュする１つのフラッシュ処理として解釈可能であり、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要がある１以上のダーティページを有してもよい。一般に、ＲＡＩＤグループにフラッシュされるべきダーティページは、同時的フラッシュＩＯを形成するため、ダーティページに対応するデスティネーションアドレスのシーケンスに従って連続的にパッケージ化され、ダーティページのデスティネーションアドレスは、ダーティページが書き込まれるべき論理ユニットの物理アドレスに対応する。フラッシュはＲＡＩＤグループに対して別々に実行され、フラッシュ中、ＲＡＩＤグループは互いに干渉しない。ＲＡＩＤグループにおける同時的フラッシュＩＯは、シーケンスに従ってＲＡＩＤグループの論理ユニットに別々にフラッシュされる。シーケンスがＲＡＩＤグループにおける論理ユニットの物理アドレスの配置シーケンスに整合している場合、ＲＡＩＤグループにおける論理ユニットの物理アドレスは連続的であるため、ＲＡＩＤグループへのＲＡＩＤグループの同時的フラッシュＩＯをフラッシュする処理は、ＲＡＩＤグループにおける磁気アームが順次的なアドレッシングを実行し、ダーティページをディスクに書き込む処理となる。
【００４５】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響が、ＲＡＩＤグループに対する独立した制御によって防止され、さらに、ＲＡＩＤグループレイヤにおける各ＲＡＩＤグループの同時的フラッシュＩＯの個数を統一的に管理することによって、ＲＡＩＤグループの利用率がある程度バランスされ、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００４６】
さらに、論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュすることは、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含み、現在の論理ユニットに対応する同時的フラッシュＩＯが存在することを示す場合、現在の論理ユニットをフラッシュすることを含む。要約すると、単一のＲＡＩＤグループでは、フラッシュポインタが設定され、現在のフラッシュ処理がスタートする論理ユニット、すなわち、前の同時的フラッシュ処理が終了した論理ユニットを指示するのに利用される。フラッシュ中、ＲＡＩＤグループにフラッシュされるべきダーティページが、フラッシュポインタが指示する現在の論理ユニットにフラッシュされるべきダーティページを含み、現在の論理ユニットに対応する同時的フラッシュＩＯが存在しないことを示す場合、フラッシュポインタは他の論理ユニットに指示され、ここで、他の論理ユニットは、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される論理ユニットであり、他の論理ユニットはフラッシュされる。現在の論理ユニットが物理アドレスのシーケンスに従ってＲＡＩＤグループのエンドに配置されている場合、フラッシュポインタは、物理アドレスのシーケンスに従ってＲＡＩＤグループの第１位置に配置される論理ユニットに指示される。
【００４７】
さらに、現在の論理ユニットをフラッシュすることは、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含む。要約すると、１つの同時的フラッシュＩＯにおけるダーティページが現在の論理ユニットにフラッシュされる前に、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していると判断される場合、現在の論理ユニットに対して実行されたフラッシュは停止され、フラッシュポインタは他の論理ユニットに指示され、ここで、他の論理ユニットは、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される論理ユニットであり、他の論理ユニットはフラッシュされる。
【００４８】
さらに、現在の論理ユニットをフラッシュすることは、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止することを含む。同様に、ダーティページが現在の論理ユニットにフラッシュされる前に、ＲＡＩＤグループにおける全ての論理ユニットの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループにおける論理ユニットの同時的フラッシュＩＯの個数に達していると判断された場合、すなわち、ＲＡＩＤグループに対する現在のフラッシュが完了している場合、ＲＡＩＤグループのフラッシュポインタはまた、現在の論理ユニットに留まり、ＲＡＩＤグループに対する現在のフラッシュから抜け出る。
【００４９】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループに対する独立した制御によって、また、ディスクアレイにフラッシュされるべきダーティページの合計数、各ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び各ＲＡＩＤグループの同時的フラッシュ上限に従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数を別々に決定することによって、ＲＡＩＤグループの論理ユニットの個数の有意な相違により生じる効果が防止され、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００５０】
図３は、本発明によるディスクアレイ・フラッシュ方法の実施例３のフローチャートである。図３に示されるように、単一のＲＡＩＤグループをフラッシュするための方法として利用されるとき、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００５１】
ステップＳ３０２：ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定する。
【００５２】
具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数は、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って決定されてもよい。
【００５３】
ステップＳ３０４：ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットを決定する。
【００５４】
単一のＲＡＩＤグループでは、フラッシュポインタが設定されてもよく、現在のフラッシュ処理がスタートする論理ユニット、すなわち、前の同時的フラッシュ処理が終了した論理ユニットを指示するのに利用される。
【００５５】
ステップＳ３０６：ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュＩＯの個数に達しているか判断し、達している場合、ステップＳ３１６を実行し、達していない場合、ステップＳ３０８を実行する。
【００５６】
ステップＳ３０８：ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含むか判断し、含む場合、ステップＳ３１０を実行し、含まない場合、ステップＳ３１６を実行する。
【００５７】
ステップＳ３１０：ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達しているか判断し、達している場合、ステップＳ３２０を実行し、達していない場合、ステップＳ３１２を実行する。
【００５８】
ステップＳ３１２：現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達しているか判断し、達している場合、ステップＳ３１６を実行し、達していない場合、ステップＳ３１４を実行する。
【００５９】
さらに、同時的フラッシュ上限はまた、ＲＡＩＤグループにおける各論理ユニットに対して設定されてもよい。対応して、フラッシュポインタが指示する現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達しているか判断できる。
【００６０】
ステップＳ３１４：現在の論理ユニットに対応する１つの同時的フラッシュＩＯに含まれるダーティページを現在の論理ユニットに書き込み、ステップＳ３０６に戻る。
【００６１】
具体的には、ステップＳ３１４の前に、当該方法は更に、現在の論理ユニットに対応する少なくとも１つのダーティページを現在の論理ユニットに対応する１つの同時的フラッシュＩＯにパッケージ化することを含む。
【００６２】
ステップＳ３１６：フラッシュポインタが全ての論理ユニットをトラバースしたか、トラバースした場合、ステップ３２０を実行し、トラバースしていない場合、ステップＳ３１８を実行する。
【００６３】
具体的には、ここでの全ての論理ユニットは、ＲＡＩＤグループにおける全ての論理ユニットを表す。
【００６４】
ステップＳ３１８：次の論理ユニットにフラッシュポインタを指示し、ステップＳ３０４に戻る。
【００６５】
具体的には、次の論理ユニットは、論理ブロックアドレッシングシーケンスに従って、フラッシュポインタが指示する現在の論理ユニットの次に配置される論理ユニットである。現在の論理ユニットが物理アドレスのシーケンスに従ってＲＡＩＤグループのエンドに配置されている場合、フラッシュポインタは、物理アドレスのシーケンスに従ってＲＡＩＤグループの第１位置に配置される論理ユニットに指示される。
【００６６】
ステップＳ３２０：フラッシュを完了する。
【００６７】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、上記のステップを利用することによって、単一のＲＡＩＤグループにおける論理ユニットが統一的にスケジューリングされ、物理アドレスのシーケンスに従ってフラッシュされ、従って、磁気アームがアドレッシングのため前後にジャンプするのに時間がかからず、ＲＡＩＤグループに対する独立した制御によって、また、ディスクアレイにフラッシュされるべきダーティページの合計数、各ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び各ＲＡＩＤグループの同時的フラッシュ上限に従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数を別々に決定することによって、ＲＡＩＤグループの論理ユニットの個数の有意な相違により生じる効果が防止される。
【００６８】
図４は、本発明によるディスクアレイ・フラッシュ装置の実施例１の概略的な構成図である。図４に示されるように、本実施例によるディスクアレイ・フラッシュ装置４００は、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける論理ユニットのシーケンスを取得するよう構成されてもよい取得モジュール４１０と、
論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されてもよいフラッシュモジュール４２０であって、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュール４２０と、
を有してもよい。
【００６９】
さらに、ディスクアレイ・フラッシュ装置４００は更に、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュール４３０を有してもよい。
【００７０】
さらに、決定モジュール４３０は、具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成されてもよく、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００７１】
さらに、フラッシュモジュール４２０は、具体的には、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含む場合、現在の論理ユニットをフラッシュするよう構成されてもよい。
【００７２】
さらに、フラッシュモジュール４２０が現在の論理ユニットをフラッシュするよう構成されることは、具体的には、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含むものであってもよい。
【００７３】
さらに、フラッシュモジュール４２０は更に、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止するよう構成されてもよい。
【００７４】
さらに、フラッシュモジュール４２０は更に、ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成されてもよい。
【００７５】
本実施例において提供されるディスクアレイ・フラッシュ装置４００は、図１〜３に示される何れかの方法の実施例の技術的方策を実現するのに利用されてもよく、ディスクアレイ・フラッシュ装置４００の実現原理及び技術的効果は、方法の実施例と同様であり、ここでは再度説明しない。
【００７６】
図５は、本発明によるディスクアレイ・フラッシュ装置の実施例２の概略的な構成図である。図５に示されるように、本実施例によるディスクアレイ・フラッシュ装置５００は、命令を記憶するよう構成されるメモリ５０１と、メモリに結合されるプロセッサ５０２とを有し、プロセッサ５０２は、メモリ５０１に記憶される命令を実行するよう構成され、ディスクアレイ・フラッシュ装置５００は更に、ネットワークインタフェース５０３、他のユーザインタフェース５０４及び通信バス５０５を有してもよい。通信バス５０５は、これらの装置の間の接続及び通信を実現するよう構成される。メモリ５０１は、高速ランダム・アクセス・メモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、略してＲＡＭ）を有してもよいし、又は、例えば、少なくとも１つの磁気ディスクメモリなどの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）を更に有してもよい。メモリ５０１は、任意的には、上記のプロセッサ５０２から遠く離れて配置された少なくとも１つの記憶装置を有してもよい。
【００７７】
プロセッサ５０２は、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける論理ユニットのシーケンスを取得し、論理ユニットの物理アドレスのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成され、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００７８】
さらに、プロセッサ５０２は更に、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される。
【００７９】
さらに、プロセッサ５０２は、具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００８０】
さらに、プロセッサ５０２は、具体的には、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含む場合、現在の論理ユニットをフラッシュするよう構成される。
【００８１】
さらに、プロセッサ５０２が現在の論理ユニットをフラッシュするよう構成されることは、具体的には、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００８２】
さらに、プロセッサ５０２は更に、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止するよう構成される。
【００８３】
さらに、プロセッサ５０２は更に、ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００８４】
本実施例において提供されるディスクアレイ・フラッシュ装置５００は、図１〜３に示される何れかの方法の実施例の技術的方策を実現するのに利用されてもよく、ディスクアレイ・フラッシュ装置５００の実現原理及び技術的効果は、方法の実施例と同様であり、ここでは再度説明しない。図５は、本発明によるディスクアレイ・フラッシュ装置の構成の単なる１つの概略図であり、特定の構成が実際の要求に従って調整されてもよい。
【００８５】
要約すると、本発明の実施例において提供されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのため前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響は、ＲＡＩＤグループに対する独立した制御により防止され、さらに、ＲＡＩＤグループレイヤにおけるＲＡＩＤグループのフラッシュＩＯの個数をバランスさせることによって、ＲＡＩＤグループの利用率がある程度バランスされ、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増大させる。
【００８６】
当業者は、方法の実施例のステップの全て又は一部が関連するハードウェアに指示するプログラムにより実現されてもよいことを理解してもよい。当該プログラムは、コンピュータ可読記憶媒体に格納されてもよい。プログラムが実行されると、方法の実施例のステップが実行される。上記の記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク又は光ディスクなどのプログラムコードを記憶可能な何れかの媒体を含む。
【００８７】
最後に、上記の実施例は本発明の技術的方策を説明するためだけに意図され、本発明を限定するものでないことに留意すべきである。本発明が上記の実施例を参照して詳細に説明されたが、当業者は、それらが本発明の実施例の技術的方策の範囲を逸脱することなく、上記の実施例において説明された技術的方策に依然として修正を行ってもよいし、又はその一部若しくは全ての技術的特徴に等価な置換をしてもよいことを理解すべきである。
【図１】
2016503209.tif 000003
【図２】
2016503209.tif 000004
【図３】
2016503209.tif 000005
【図４】
2016503209.tif 000006
【図５】
2016503209.tif 000007
【手続補正書】
【提出日】平成27年8月11日(2015.8.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ディスクアレイ・フラッシュ方法であって、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するステップと、
前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、順次的にフラッシュするステップと、
を有するディスクアレイ・フラッシュ方法。
【請求項２】
前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップの前に、当該方法は更に、
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップを有する、請求項１記載の方法。
【請求項３】
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップは、
前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するステップを有し、
Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である、請求項２記載の方法。
【請求項４】
前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップは、
前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行するステップと、
前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするステップと、
を有する、請求項１乃至３何れか一項記載の方法。
【請求項５】
前記現在の論理ユニットをフラッシュするステップは、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュするステップと、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するステップと、
を有する、請求項４記載の方法。
【請求項６】
前記現在の論理ユニットをフラッシュするステップは、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュするステップと、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止するステップと、
を有する、請求項４又は５記載の方法。
【請求項７】
前記ＲＡＩＤグループのフラッシュを停止するステップの後に、当該方法は更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するステップを有する、請求項６記載の方法。
【請求項８】
ディスクアレイ・フラッシュ装置であって、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するよう構成される取得モジュールと、
前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されるフラッシュモジュールであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュールと、
を有するディスクアレイ・フラッシュ装置。
【請求項９】
前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュールを更に有する、請求項８記載の装置。
【請求項１０】
前記決定モジュールは、
前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、
Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である、請求項９記載の装置。
【請求項１１】
前記フラッシュモジュールは、
前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、
前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュする、
よう構成される、請求項８乃至１０何れか一項記載の装置。
【請求項１２】
前記フラッシュモジュールが前記現在の論理ユニットをフラッシュするよう構成されることは、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、
前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示する、
ことを含む、請求項１１記載の装置。
【請求項１３】
前記フラッシュモジュールは更に、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、
前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、
よう構成される、請求項１１又は１２記載の装置。
【請求項１４】
前記フラッシュモジュールは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される、請求項１３記載の装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、コンピュータ技術に関し、特にディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置に関する。
【背景技術】
【０００２】
コンピュータアプリケーション技術の急速な発展によって、大量のデータが生成され、記憶スペース及び性能に対するより高い要求を生じさせている。現在主流のディスクに対する操作は多数の機械的操作を依然として含むため、現在主流のディスクの性能とプロセッサ及びメモリのものとの間のギャップが存在する。キャッシュ（ＣＡＣＨＥ）技術は記憶分野に適用され、ホスト遅延を隠蔽可能にするだけでなく、データを統合することもまた可能であり、データはＣＡＣＨＥを利用することによってディスクフレンドリーな方式によりディスクに書き込まれ、すなわち、該ディスクはフラッシュされ、これにより、記憶システムの最適なスループットを達成する。
【０００３】
数十年の研究の後、既存のＣＡＣＨＥアルゴリズムは成熟した。しかしながら、コンピュータにより提供されるアプリケーションが日々多様化し、ディスクアレイにより提供されるスペースと性能との双方が、よりフレキシブルなスケジューリング方法を必要としている。同一のディスクアレイは、通常、異なるタイプのディスクを有するかもしれず、同じタイプのディスクを有するリダンダント・アレイ・オブ・インディペンデント・ディスク（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ，以下では略してＲＡＩＤ）においてさえ、各ＲＡＩＤグループに含まれるメンバーディスクの個数は通常は異なっている。さらに、単一のＲＡＩＤグループにおける論理ユニット番号（Ｌｏｇｉｃ  Ｕｎｉｔ  Ｎｕｍｂｅｒ、以下では略してＬＵＮ）を利用することにより特定される論理ユニットの個数がまた徐々に増加している。
【０００４】
従来技術では、ディスクアレイのフラッシュ中、スケジューリングは論理ユニットレイヤにおいて実行され、すなわち、各フラッシュ入出力（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ、以下では略してＩＯ）は、単一の論理ユニットに対してである。しかしながら、ディスクアレイは複数のＲＡＩＤグループを含み、各ＲＡＩＤグループは更に複数の論理ユニットを含む。すなわち、現在のディスクアレイ・フラッシュ方法は、この状況において適切に動作することができない。例えば、同じＲＡＩＤグループにおける複数の論理ユニットについて、単一の論理ユニットのフラッシュＩＯは、論理ユニットにおける順序づけされたフラッシュＩＯである。しかしながら、同時的なフラッシュが複数の論理ユニットに対して実行される必要があり、同時的なフラッシュが実行される複数の論理ユニットは離散的シーケンスを有するため、ＲＡＩＤグループ全体における同時的フラッシュＩＯは、通常は離散的となる。離散的である同時的フラッシュＩＯは、ディスクの磁気アームをアドレッシングのため前後にジャンプさせるかもしれず、データの読み書きより磁気アームによるアドレッシングに多くの時間が費やされ、ディスクアレイの全体的な性能に対して重大な負の効果及びディスクアレイの低スループットをもたらす。
【発明の概要】
【０００５】
本発明の実施例は、ディスクアレイのフラッシュ効率を向上させ、ディスクアレイのスループットを増大させるのに利用されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置を提供する。
【０００６】
第１の態様によると、本発明の実施例は、ディスクアレイ・フラッシュ方法であって、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するステップと、前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、順次的にフラッシュするステップと、を有するディスクアレイ・フラッシュ方法を提供する。
【０００７】
第１の態様の第１の可能な実現方式では、前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップの前に、当該方法は更に、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップを有する。
【０００８】
第１の態様の第１の可能な実現方式によると、第１の態様の第２の可能な実現方式では、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するステップは、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するステップを有し、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【０００９】
第１の態様又は第１の態様の上記２つの可能な実現方式の１つによると、第１の態様の第３の可能な実現方式では、前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするステップは、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行するステップと、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするステップと、を有する。
【００１０】
第１の態様の第３の可能な実現方式によると、第１の態様の第４の可能な実現方式では、前記現在の論理ユニットをフラッシュするステップは、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュするステップと、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するステップと、を有する。
【００１１】
第１の態様の第３又は第４の可能な実現方式によると、第１の態様の第５の可能な実現方式では、前記現在の論理ユニットをフラッシュするステップは、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュするステップと、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止するステップと、を有する。
【００１２】
第１の態様の第５の可能な実現方式によると、第１の態様の第６の可能な実現方式では、前記ＲＡＩＤグループのフラッシュを停止するステップの後に、当該方法は更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するステップを有する。
【００１３】
第２の態様によると、本発明の実施例は、ディスクアレイ・フラッシュ装置であって、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得するよう構成される取得モジュールと、前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されるフラッシュモジュールであって、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュールと、を有するディスクアレイ・フラッシュ装置を提供する。
【００１４】
第２の態様の第１の可能な実現方式では、当該装置は、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュールを更に有する。
【００１５】
第２の態様の第１の可能な実現方式によると、第２の態様の第２の可能な実現方式では、前記決定モジュールは、具体的には、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【００１６】
第２の態様又は第２の態様の上記２つの可能な実現方式の１つによると、第２の態様の第３の可能な実現方式では、前記フラッシュモジュールは、具体的には、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュする、よう構成される。
【００１７】
第２の態様の第３の可能な実現方式によると、第２の態様の第４の可能な実現方式では、前記フラッシュモジュールが前記現在の論理ユニットをフラッシュするよう構成されることは、具体的には、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００１８】
第２の態様の第３又は第４の可能な実現方式によると、第２の態様の第５の可能な実現方式では、前記フラッシュモジュールは更に、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、よう構成される。
【００１９】
第２の態様の第５の可能な実現方式によると、第２の態様の第６の可能な実現方式では、前記フラッシュモジュールは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００２０】
第３の態様によると、本発明の実施例は、他のディスクアレイ・フラッシュ装置であって、命令を格納するよう構成されるメモリと、前記メモリに結合されるプロセッサであって、前記プロセッサは前記メモリに格納される命令を実行するよう構成され、前記プロセッサは、論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける前記論理ユニットのシーケンスを取得し、前記論理ユニットの前記シーケンスに従って、前記ＲＡＩＤグループにおける論理ユニットへの前記ＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成され、各同時的フラッシュＩＯは、前記ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する他のディスクアレイ・フラッシュ装置を提供する。
【００２１】
第３の態様の第１の可能な実現方式では、前記プロセッサは、前記ディスクアレイにフラッシュされるべきダーティページの合計数、前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び前記ＲＡＩＤグループの同時的フラッシュ上限に従って、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される。
【００２２】
第３の態様の第１の可能な実現方式によると、第３の態様の第２の可能な実現方式では、前記プロセッサは、具体的には、前記ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、Ｍは前記ＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎは前記ＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐは前記ディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕは前記ディスクアレイの現在の利用率である。
【００２３】
第３の態様又は第３の態様の上記２つの可能な実現方式の１つによると、第３の態様の第３の可能な実現方式では、前記プロセッサは、具体的には、前記ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示するか、又は、前記ＲＡＩＤグループにフラッシュされるべきダーティページが前記現在の論理ユニットにフラッシュされるべきダーティページを含む場合、前記現在の論理ユニットをフラッシュするよう構成される。
【００２４】
第３の態様の第３の可能な実現方式によると、第３の態様の第４の可能な実現方式では、前記プロセッサが前記現在の論理ユニットをフラッシュするよう構成されることは、具体的には、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを前記現在の論理ユニットにフラッシュし、前記現在の論理ユニットの完了した同時的フラッシュＩＯの個数が前記現在の論理ユニットの同時的フラッシュ上限に達している場合、前記現在の論理ユニットのフラッシュを停止し、前記物理アドレスのシーケンスに従って前記現在の論理ユニットの次に配置される他の論理ユニットに前記ＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００２５】
第３の態様の第３又は第４の可能な実現方式によると、第３の態様の第５の可能な実現方式では、前記プロセッサは更に、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達していない場合、前記現在の論理ユニットをフラッシュし、前記ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数が前記ＲＡＩＤグループの同時的フラッシュ上限に達している場合、前記ＲＡＩＤグループのフラッシュを停止する、よう構成される。
【００２６】
第３の態様の第５の可能な実現方式によると、第３の態様の第６の可能な実現方式では、前記プロセッサは更に、前記ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００２７】
本発明の実施例において提供されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置によると、単一のＲＡＩＤグループにおける複数の論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのため前後にジャンプするのにより時間がかからず、ＲＡＩＤグループ間の影響がＲＡＩＤグループに対する独立した制御によって防止され、これにより、ディスクアレイのフラッシュ効率性を改善し、ディスクアレイのスループットを増大させる。
【図面の簡単な説明】
【００２８】
本発明の実施例又は従来技術における技術的方策をより明確に説明するため、以下において、実施例又は従来技術を説明するのに必要な添付図面が簡単に紹介される。明らかに、以下の説明における添付図面は本発明のいくつかの実施例を示し、当業者は、創作的な努力なく、これらの添付図面から他の図面を依然として導出してもよい。
【図１】図１は、本発明によるディスクアレイ・フラッシュ方法の実施例１のフローチャートである。
【図２】図２は、本発明によるディスクアレイ・フラッシュ方法の実施例２のフローチャートである。
【図３】図３は、本発明によるディスクアレイ・フラッシュ方法の実施例３のフローチャートである。
【図４】図４は、本発明によるディスクアレイ・フラッシュ装置の実施例１の概略的な構成図である。
【図５】図５は、本発明によるディスクアレイ・フラッシュ装置の実施例２の概略的な構成図である。
【発明を実施するための形態】
【００２９】
本発明の実施例の課題、技術的方策及び効果をより明確にするため、以下において、本発明の実施例における添付図面を参照して、本発明の実施例における技術的方策が明確且つ完全に説明される。明らかに、説明される実施例は、本発明の全ての実施例というよりも一部である。創作的な努力なく本発明の実施例に基づき当業者により取得される他の全ての実施例は、本発明の保護範囲内に属する。
【００３０】
図１は、本発明によるディスクアレイ・フラッシュ方法の実施例１のフローチャートである。図１に示されるように、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００３１】
ステップＳ１１０：論理ユニットの物理アドレスに従っている、ディスクアレイの同一のＲＡＩＤグループにおける論理ユニットのシーケンスを取得する。
【００３２】
具体的には、ディスクアレイは複数のＲＡＩＤグループを有してもよく、各ＲＡＩＤグループは複数の論理ユニットを有してもよく、論理ユニットは論理ユニット番号ＬＵＮを利用することによって特定されてもよく、論理ユニットはＲＡＩＤグループにおける記憶スペースを分割するのに利用される。一般に、論理ユニットが作成されると、記憶スペースは、ＲＡＩＤグループにおける論理ユニットの物理アドレスのシーケンスに従って、同一のＲＡＩＤグループにおける全ての論理ユニットについて分割されてもよく、各論理ユニットは、ＲＡＩＤグループにおける連続する物理アドレスのスペースを占有する。例えば、物理アドレスによるＬＵＮ１〜ＬＵＮ５のシーケンスは、ＬＵＮ２，ＬＵＮ４，ＬＵＮ１，ＬＵＮ５，ＬＵＮ３であってもよい。
【００３３】
ステップＳ１２０：論理ユニットのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュし、ここで、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００３４】
ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要のある１以上のダーティページを含むものであってもよく、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、同時的フラッシュＩＯにおけるダーティページをＲＡＩＤグループにフラッシュする１つのフラッシュ処理として解釈可能である。一般に、ＲＡＩＤグループにフラッシュされるべきダーティページは、同時的フラッシュＩＯを形成するため、ダーティページに対応するデスティネーションアドレスのシーケンスに従って連続的にパッケージ化され、ダーティページのデスティネーションアドレスは、ダーティページが書き込まれるべき論理ユニットの物理アドレスに対応する。フラッシュは、ＲＡＩＤグループに対して別々に実行され、フラッシュ中、ＲＡＩＤグループは互いに干渉しない。ＲＡＩＤグループにおける同時的フラッシュＩＯは、シーケンスに従ってＲＡＩＤグループの論理ユニットに別々にフラッシュされる。シーケンスがＲＡＩＤグループにおける論理ユニットの物理アドレスの配置シーケンスに整合している場合、ＲＡＩＤグループにおける論理ユニットの物理アドレスは連続的であるため、ＲＡＩＤグループへのＲＡＩＤグループの同時的フラッシュＩＯをフラッシュする処理は、ＲＡＩＤグループにおける磁気アームが順次的なアドレッシングを実行し、ダーティページをディスクに書き込む処理となる。
【００３５】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響が、ＲＡＩＤグループに対する独立した制御によって防止され、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００３６】
図２は、本発明によるディスクアレイ・フラッシュ方法の実施例２のフローチャートである。図２に示されるように、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００３７】
ステップＳ２１０：論理ユニットの物理アドレスに従っている、ディスクアレイの同一のＲＡＩＤグループにおける論理ユニットのシーケンスを取得する。
【００３８】
具体的には、ディスクアレイは複数のＲＡＩＤグループを有してもよく、各ＲＡＩＤグループは複数の論理ユニットを有してもよく、論理ユニットは論理ユニット番号ＬＵＮを利用することによって特定されてもよく、論理ユニットはＲＡＩＤグループにおける記憶スペースを分割するのに利用される。一般に、論理ユニットが作成されると、記憶スペースは、ＲＡＩＤグループにおける論理ユニットの物理アドレスのシーケンスに従って、同一のＲＡＩＤグループにおける全ての論理ユニットについて分割されてもよく、各論理ユニットは、ＲＡＩＤグループにおける連続する物理アドレスのスペースを占有する。
【００３９】
ステップＳ２２０：ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定する。
【００４０】
当該ステップはまた、ステップＳ２１０の前に実行されてもよい。具体的には、ディスクアレイにフラッシュされるべきダーティページは、ＣＡＣＨＥに書き込まれたが、ディスクアレイに書き込まれていないデータである。ＣＡＣＨＥにおけるダーティページの個数が高い水準を超過した場合、すなわち、ＣＡＣＨＥにダーティページを記憶するためのスペースが尽きた場合、各ＲＡＩＤグループの同時的フラッシュ上限が、ＲＡＩＤグループの同時的フラッシュＩＯの個数として利用される。ＣＡＣＨＥにおけるダーティページの個数が高い水準に達していない場合、現在のフラッシュにおけるＲＡＩＤグループの論理ユニットの同時的フラッシュＩＯの個数は、ディスクアレイにフラッシュされるべきダーティページの合計数に対するＲＡＩＤグループにフラッシュされるべきダーティページの合計数の比、ＲＡＩＤグループの同時的フラッシュ上限及びディスクアレイのビジー／アイドルの程度に従って決定されてもよい。ＲＡＩＤグループの同時的フラッシュ上限は、各同時的フラッシュにおいてＲＡＩＤグループにおいて実行可能なフラッシュＩＯの個数の上限であり、ＲＡＩＤグループの同時的フラッシュ上限は、ＲＡＩＤグループのメンバーディスクのタイプ、メンバーディスクの個数及びＲＡＩＤグループにより利用されるＲＡＩＤレベルに従って決定される。メンバーディスクの速度が高速になるに従って、また、データディスクとして利用されるメンバーディスクの個数が多くなるに従って、ＲＡＩＤグループの同時的フラッシュ上限はより高くなる。
【００４１】
任意的には、ＣＡＣＨＥにおけるダーティページの個数が高い水準に達していない場合、現在のフラッシュにおけるＲＡＩＤグループの同時的フラッシュＩＯの個数が、以下の式、すなわち、
ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）
に従って決定可能であり、ここで、ｄｎはＲＡＩＤグループの同時的フラッシュＩＯの個数であり、ＲＡＩＤグループにおける全ての論理ユニットの同時的フラッシュＩＯの合計数を含み、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００４２】
ディスクアレイにフラッシュされるべきダーティページの合計数に対するＲＡＩＤグループにフラッシュされるべきダーティページの合計数の比が大きくなるに従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数は多くなり、ディスクアレイの現在の利用率が低くなるに従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数が多くなる。
【００４３】
ステップＳ２３０：論理ユニットのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュし、ここで、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００４４】
ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要がある１以上のダーティページを有してもよく、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、同時的フラッシュＩＯにおけるダーティページをＲＡＩＤグループにフラッシュする１つのフラッシュ処理として解釈可能であり、ＲＡＩＤグループの１つの同時的フラッシュＩＯは、ＲＡＩＤグループにおける同一の論理ユニットにフラッシュされる必要がある１以上のダーティページを有してもよい。一般に、ＲＡＩＤグループにフラッシュされるべきダーティページは、同時的フラッシュＩＯを形成するため、ダーティページに対応するデスティネーションアドレスのシーケンスに従って連続的にパッケージ化され、ダーティページのデスティネーションアドレスは、ダーティページが書き込まれるべき論理ユニットの物理アドレスに対応する。フラッシュはＲＡＩＤグループに対して別々に実行され、フラッシュ中、ＲＡＩＤグループは互いに干渉しない。ＲＡＩＤグループにおける同時的フラッシュＩＯは、シーケンスに従ってＲＡＩＤグループの論理ユニットに別々にフラッシュされる。シーケンスがＲＡＩＤグループにおける論理ユニットの物理アドレスの配置シーケンスに整合している場合、ＲＡＩＤグループにおける論理ユニットの物理アドレスは連続的であるため、ＲＡＩＤグループへのＲＡＩＤグループの同時的フラッシュＩＯをフラッシュする処理は、ＲＡＩＤグループにおける磁気アームが順次的なアドレッシングを実行し、ダーティページをディスクに書き込む処理となる。
【００４５】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響が、ＲＡＩＤグループに対する独立した制御によって防止され、さらに、ＲＡＩＤグループレイヤにおける各ＲＡＩＤグループの同時的フラッシュＩＯの個数を統一的に管理することによって、ＲＡＩＤグループの利用率がある程度バランスされ、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００４６】
さらに、論理ユニットのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュすることは、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含み、現在の論理ユニットに対応する同時的フラッシュＩＯが存在することを示す場合、現在の論理ユニットをフラッシュすることを含む。要約すると、単一のＲＡＩＤグループでは、フラッシュポインタが設定され、現在のフラッシュ処理がスタートする論理ユニット、すなわち、前の同時的フラッシュ処理が終了した論理ユニットを指示するのに利用される。フラッシュ中、ＲＡＩＤグループにフラッシュされるべきダーティページが、フラッシュポインタが指示する現在の論理ユニットにフラッシュされるべきダーティページを含み、現在の論理ユニットに対応する同時的フラッシュＩＯが存在しないことを示す場合、フラッシュポインタは他の論理ユニットに指示され、ここで、他の論理ユニットは、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される論理ユニットであり、他の論理ユニットはフラッシュされる。現在の論理ユニットが物理アドレスのシーケンスに従ってＲＡＩＤグループのエンドに配置されている場合、フラッシュポインタは、物理アドレスのシーケンスに従ってＲＡＩＤグループの第１位置に配置される論理ユニットに指示される。
【００４７】
さらに、現在の論理ユニットをフラッシュすることは、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含む。要約すると、１つの同時的フラッシュＩＯにおけるダーティページが現在の論理ユニットにフラッシュされる前に、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していると判断される場合、現在の論理ユニットに対して実行されたフラッシュは停止され、フラッシュポインタは他の論理ユニットに指示され、ここで、他の論理ユニットは、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される論理ユニットであり、他の論理ユニットはフラッシュされる。
【００４８】
さらに、現在の論理ユニットをフラッシュすることは、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止することを含む。同様に、ダーティページが現在の論理ユニットにフラッシュされる前に、ＲＡＩＤグループにおける全ての論理ユニットの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループにおける論理ユニットの同時的フラッシュＩＯの個数に達していると判断された場合、すなわち、ＲＡＩＤグループに対する現在のフラッシュが完了している場合、ＲＡＩＤグループのフラッシュポインタはまた、現在の論理ユニットに留まり、ＲＡＩＤグループに対する現在のフラッシュから抜け出る。
【００４９】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのために前後にジャンプするのに時間がかからず、ＲＡＩＤグループに対する独立した制御によって、また、ディスクアレイにフラッシュされるべきダーティページの合計数、各ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び各ＲＡＩＤグループの同時的フラッシュ上限に従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数を別々に決定することによって、ＲＡＩＤグループの論理ユニットの個数の有意な相違により生じる効果が防止され、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増加させる。
【００５０】
図３は、本発明によるディスクアレイ・フラッシュ方法の実施例３のフローチャートである。図３に示されるように、単一のＲＡＩＤグループをフラッシュするための方法として利用されるとき、本実施例によるディスクアレイ・フラッシュ方法は以下を含むものであってもよい。
【００５１】
ステップＳ３０２：ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定する。
【００５２】
具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数は、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って決定されてもよい。
【００５３】
ステップＳ３０４：ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットを決定する。
【００５４】
単一のＲＡＩＤグループでは、フラッシュポインタが設定されてもよく、現在のフラッシュ処理がスタートする論理ユニット、すなわち、前の同時的フラッシュ処理が終了した論理ユニットを指示するのに利用される。
【００５５】
ステップＳ３０６：ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュＩＯの個数に達しているか判断し、達している場合、ステップＳ３１６を実行し、達していない場合、ステップＳ３０８を実行する。
【００５６】
ステップＳ３０８：ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含むか判断し、含む場合、ステップＳ３１０を実行し、含まない場合、ステップＳ３１６を実行する。
【００５７】
ステップＳ３１０：ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達しているか判断し、達している場合、ステップＳ３２０を実行し、達していない場合、ステップＳ３１２を実行する。
【００５８】
ステップＳ３１２：現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達しているか判断し、達している場合、ステップＳ３１６を実行し、達していない場合、ステップＳ３１４を実行する。
【００５９】
さらに、同時的フラッシュ上限はまた、ＲＡＩＤグループにおける各論理ユニットに対して設定されてもよい。対応して、フラッシュポインタが指示する現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達しているか判断できる。
【００６０】
ステップＳ３１４：現在の論理ユニットに対応する１つの同時的フラッシュＩＯに含まれるダーティページを現在の論理ユニットに書き込み、ステップＳ３０６に戻る。
【００６１】
具体的には、ステップＳ３１４の前に、当該方法は更に、現在の論理ユニットに対応する少なくとも１つのダーティページを現在の論理ユニットに対応する１つの同時的フラッシュＩＯにパッケージ化することを含む。
【００６２】
ステップＳ３１６：フラッシュポインタが全ての論理ユニットをトラバースしたか、トラバースした場合、ステップ３２０を実行し、トラバースしていない場合、ステップＳ３１８を実行する。
【００６３】
具体的には、ここでの全ての論理ユニットは、ＲＡＩＤグループにおける全ての論理ユニットを表す。
【００６４】
ステップＳ３１８：次の論理ユニットにフラッシュポインタを指示し、ステップＳ３０４に戻る。
【００６５】
具体的には、次の論理ユニットは、論理ブロックアドレッシングシーケンスに従って、フラッシュポインタが指示する現在の論理ユニットの次に配置される論理ユニットである。現在の論理ユニットが物理アドレスのシーケンスに従ってＲＡＩＤグループのエンドに配置されている場合、フラッシュポインタは、物理アドレスのシーケンスに従ってＲＡＩＤグループの第１位置に配置される論理ユニットに指示される。
【００６６】
ステップＳ３２０：フラッシュを完了する。
【００６７】
本発明の本実施例において提供されるディスクアレイ・フラッシュ方法によると、上記のステップを利用することによって、単一のＲＡＩＤグループにおける論理ユニットが統一的にスケジューリングされ、物理アドレスのシーケンスに従ってフラッシュされ、従って、磁気アームがアドレッシングのため前後にジャンプするのに時間がかからず、ＲＡＩＤグループに対する独立した制御によって、また、ディスクアレイにフラッシュされるべきダーティページの合計数、各ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及び各ＲＡＩＤグループの同時的フラッシュ上限に従って、各ＲＡＩＤグループの同時的フラッシュＩＯの個数を別々に決定することによって、ＲＡＩＤグループの論理ユニットの個数の有意な相違により生じる効果が防止される。
【００６８】
図４は、本発明によるディスクアレイ・フラッシュ装置の実施例１の概略的な構成図である。図４に示されるように、本実施例によるディスクアレイ・フラッシュ装置４００は、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける論理ユニットのシーケンスを取得するよう構成されてもよい取得モジュール４１０と、
論理ユニットのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成されてもよいフラッシュモジュール４２０であって、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する、フラッシュモジュール４２０と、
を有してもよい。
【００６９】
さらに、ディスクアレイ・フラッシュ装置４００は更に、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される決定モジュール４３０を有してもよい。
【００７０】
さらに、決定モジュール４３０は、具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成されてもよく、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００７１】
さらに、フラッシュモジュール４２０は、具体的には、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含む場合、現在の論理ユニットをフラッシュするよう構成されてもよい。
【００７２】
さらに、フラッシュモジュール４２０が現在の論理ユニットをフラッシュするよう構成されることは、具体的には、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含むものであってもよい。
【００７３】
さらに、フラッシュモジュール４２０は更に、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止するよう構成されてもよい。
【００７４】
さらに、フラッシュモジュール４２０は更に、ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成されてもよい。
【００７５】
本実施例において提供されるディスクアレイ・フラッシュ装置４００は、図１〜３に示される何れかの方法の実施例の技術的方策を実現するのに利用されてもよく、ディスクアレイ・フラッシュ装置４００の実現原理及び技術的効果は、方法の実施例と同様であり、ここでは再度説明しない。
【００７６】
図５は、本発明によるディスクアレイ・フラッシュ装置の実施例２の概略的な構成図である。図５に示されるように、本実施例によるディスクアレイ・フラッシュ装置５００は、命令を記憶するよう構成されるメモリ５０１と、メモリに結合されるプロセッサ５０２とを有し、プロセッサ５０２は、メモリ５０１に記憶される命令を実行するよう構成され、ディスクアレイ・フラッシュ装置５００は更に、ネットワークインタフェース５０３、他のユーザインタフェース５０４及び通信バス５０５を有してもよい。通信バス５０５は、これらの装置の間の接続及び通信を実現するよう構成される。メモリ５０１は、高速ランダム・アクセス・メモリ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、略してＲＡＭ）を有してもよいし、又は、例えば、少なくとも１つの磁気ディスクメモリなどの不揮発性メモリ（ｎｏｎ−ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ）を更に有してもよい。メモリ５０１は、任意的には、上記のプロセッサ５０２から遠く離れて配置された少なくとも１つの記憶装置を有してもよい。
【００７７】
プロセッサ５０２は、
論理ユニットの物理アドレスに従っている、ディスクアレイの同一のリダンダント・アレイ・オブ・インディペンデント・ディスクＲＡＩＤグループにおける論理ユニットのシーケンスを取得し、論理ユニットのシーケンスに従って、ＲＡＩＤグループにおける論理ユニットへのＲＡＩＤグループの同時的フラッシュ入出力ＩＯを順次的にフラッシュするよう構成され、各同時的フラッシュＩＯは、ＲＡＩＤグループにおける１つの論理ユニットにフラッシュされるべき少なくとも１つのダーティページを有する。
【００７８】
さらに、プロセッサ５０２は更に、ディスクアレイにフラッシュされるべきダーティページの合計数、ＲＡＩＤグループにフラッシュされるべきダーティページの合計数及びＲＡＩＤグループの同時的フラッシュ上限に従って、ＲＡＩＤグループの同時的フラッシュＩＯの個数を決定するよう構成される。
【００７９】
さらに、プロセッサ５０２は、具体的には、ＲＡＩＤグループの同時的フラッシュＩＯの個数ｄｎ＝Ｍ×（ｐｎ／Ｐ）×（１−Ｕ）を決定するよう構成され、ＭはＲＡＩＤグループの同時的フラッシュ上限であり、ｐｎはＲＡＩＤグループにフラッシュされるべきダーティページの合計数であり、Ｐはディスクアレイにフラッシュされるべきダーティページの合計数であり、Ｕはディスクアレイの現在の利用率である。
【００８０】
さらに、プロセッサ５０２は、具体的には、ＲＡＩＤグループのフラッシュポインタが指示する現在の論理ユニットからのトラバースを実行し、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含まない場合、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示するか、又は、ＲＡＩＤグループにフラッシュされるべきダーティページが現在の論理ユニットにフラッシュされるべきダーティページを含む場合、現在の論理ユニットをフラッシュするよう構成される。
【００８１】
さらに、プロセッサ５０２が現在の論理ユニットをフラッシュするよう構成されることは、具体的には、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達していない場合、現在の論理ユニットに対応する同時的フラッシュＩＯにおけるダーティページを現在の論理ユニットにフラッシュし、現在の論理ユニットの完了した同時的フラッシュＩＯの個数が現在の論理ユニットの同時的フラッシュ上限に達している場合、現在の論理ユニットのフラッシュを停止し、物理アドレスのシーケンスに従って現在の論理ユニットの次に配置される他の論理ユニットにＲＡＩＤグループのフラッシュポインタを指示することを含む。
【００８２】
さらに、プロセッサ５０２は更に、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達していない場合、現在の論理ユニットをフラッシュし、ＲＡＩＤグループの完了した同時的フラッシュＩＯの個数がＲＡＩＤグループの同時的フラッシュ上限に達している場合、ＲＡＩＤグループのフラッシュを停止するよう構成される。
【００８３】
さらに、プロセッサ５０２は更に、ＲＡＩＤグループのフラッシュポインタを不変に維持するよう構成される。
【００８４】
本実施例において提供されるディスクアレイ・フラッシュ装置５００は、図１〜３に示される何れかの方法の実施例の技術的方策を実現するのに利用されてもよく、ディスクアレイ・フラッシュ装置５００の実現原理及び技術的効果は、方法の実施例と同様であり、ここでは再度説明しない。図５は、本発明によるディスクアレイ・フラッシュ装置の構成の単なる１つの概略図であり、特定の構成が実際の要求に従って調整されてもよい。
【００８５】
要約すると、本発明の実施例において提供されるディスクアレイ・フラッシュ方法及びディスクアレイ・フラッシュ装置によると、単一のＲＡＩＤグループにおける論理ユニットを統一的にスケジューリングし、物理アドレスのシーケンスに従ってフラッシュを実行することによって、磁気アームがアドレッシングのため前後にジャンプするのに時間がかからず、ＲＡＩＤグループ間の影響は、ＲＡＩＤグループに対する独立した制御により防止され、さらに、ＲＡＩＤグループレイヤにおけるＲＡＩＤグループのフラッシュＩＯの個数をバランスさせることによって、ＲＡＩＤグループの利用率がある程度バランスされ、これにより、ディスクアレイのフラッシュ効率を改善し、ディスクアレイのスループットを増大させる。
【００８６】
当業者は、方法の実施例のステップの全て又は一部が関連するハードウェアに指示するプログラムにより実現されてもよいことを理解してもよい。当該プログラムは、コンピュータ可読記憶媒体に格納されてもよい。プログラムが実行されると、方法の実施例のステップが実行される。上記の記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク又は光ディスクなどのプログラムコードを記憶可能な何れかの媒体を含む。
【００８７】
最後に、上記の実施例は本発明の技術的方策を説明するためだけに意図され、本発明を限定するものでないことに留意すべきである。本発明が上記の実施例を参照して詳細に説明されたが、当業者は、それらが本発明の実施例の技術的方策の範囲を逸脱することなく、上記の実施例において説明された技術的方策に依然として修正を行ってもよいし、又はその一部若しくは全ての技術的特徴に等価な置換をしてもよいことを理解すべきである。
【国際調査報告】
2016503209.tif 000008
2016503209.tif 000009
2016503209.tif 000010
2016503209.tif 000011