JP2016500459A - 監視レコード管理方法及びデバイス - Google Patents

監視レコード管理方法及びデバイス Download PDF

Info

Publication number
JP2016500459A
JP2016500459A JP2015548142A JP2015548142A JP2016500459A JP 2016500459 A JP2016500459 A JP 2016500459A JP 2015548142 A JP2015548142 A JP 2015548142A JP 2015548142 A JP2015548142 A JP 2015548142A JP 2016500459 A JP2016500459 A JP 2016500459A
Authority
JP
Japan
Prior art keywords
monitoring
record
monitoring record
memory
chunk
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
Application number
JP2015548142A
Other languages
English (en)
Other versions
JP6060276B2 (ja
Inventor
辰 王
辰 王
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of JP2016500459A publication Critical patent/JP2016500459A/ja
Application granted granted Critical
Publication of JP6060276B2 publication Critical patent/JP6060276B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3485Performance evaluation by tracing or monitoring for I/O devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本発明は、メモリに格納された監視レコードを管理するために使用される監視レコード管理技術を提供する。監視レコードは、ストレージのチャンクを監視するために使用され、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取ることにより、監視パラメータが閾値を満たす監視レコードが結合又は分割される。本発明で提供される監視レコード管理技術が適用された後に、メモリの占有が低減され得る、或いは、管理レコードの精度が改善され得る。

Description

本発明は、ストレージの分野に関し、特に監視レコード管理技術に関する。
ストレージシステムにおけるデータは、ライフサイクルの特性を有する。例えば、最近に生成されたネットワークビデオは、多くの人々により見られ、大量のアクセス量を有する。このため、ビデオサーバでは、ビデオはホット・スポット・データである。時間が経過すると、数ヶ月後に、ビデオは人々により着目されず、ビデオのアクセス量は急速に減少する。このため、ビデオサーバでは、ビデオは一般的な人気のデータになる。数年後に、ビデオは人々によりほとんど見られなくなり、また、人々によりほとんどアクセスされない。このため、ビデオはコールド・スポット・データになる。
ライフサイクルの異なる段階において異なる管理がデータで実行され得る。例えば、階層ストレージがデータで実行され得る。ホット・スポット・データは、ストレージシステムの高性能の階層にマイグレーションされる。データの入力速度を改善するために、入力速度は高性能の階層で高速である。コールド・スポット・データは、ストレージシステムにおける階層ストレージシステムの低性能の階層にマイグレーションされる。ストレージシステムの性能及び容量要件を低価格で満たすために、入力速度は低性能の階層では低速である。
チャンクは、ストレージシステムにおける基本的なストレージ単位であり、データは、チャンクで格納される。アクセス頻度及びIOサイズのような各チャンクの監視パラメータは監視され、監視を通じて取得されたデータは、ストレージ媒体(メモリ等)に格納され、監視データを分析することにより、チャンクのデータのライフサイクルの監視が実現され得る。しかし、監視レコードの数は、チャンクの総数により判断される。このため、ユーザの実際の要件を満たすことがしばしば困難になる。例えば、大量のチャンクがストレージシステムに格納された後に、大量の監視レコードは、ストレージシステムの容量に非常に大きい課題をもたらす。
本発明は、監視レコードの監視精度が変更され得るような監視レコード管理方法及びデバイスを提供する。
第1の態様では、本発明の実施例は、監視レコード管理方法を提供し、複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)を含み、この方法は、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るステップと、メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、読み取られた監視レコードを結合し、結合監視レコードを生成するステップであり、監視されるチャンクのアイデンティティは、結合監視レコードに記録され、メモリから、読み取られた監視レコードを削除するステップであり、結合監視レコードにおける各監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しいステップと、結合監視レコードをメモリに書き込むステップであり、結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用されるステップとを含む。
第1の態様の第1の可能な実現方式では、結合監視レコードをメモリに書き込んだ後に、この方法は、ストレージにおけるチャンクのI/O要求を監視するステップと、メモリの結合監視レコードの各監視パラメータを更新するために、結合監視レコードにより監視されるチャンクのI/O要求レコードを使用するステップとを更に含む。
第1の態様、第1の態様の第1の可能な実現方式、又は第1の態様の第2の可能な実現方式と組み合わせて、第1の態様の第3の可能な実現方式では、メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取ることは、具体的に、IOPSがIOPSの予め設定された閾値を満たし、IO回数がIO回数の予め設定された閾値を満たす監視レコードを読み取ることである。
第1の態様、第1の態様の第1の可能な実現方式、第1の態様の第2の可能な実現方式、又は第1の態様の第3の可能な実現方式と組み合わせて、第1の態様の第4の可能な実現方式では、結合監視レコードをメモリに書き込んだ後に、この方法は、メモリから、結合監視レコードを読み取り、結合監視レコードを少なくとも1つの分割監視レコードに分割するステップであり、各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しいステップと、メモリから、読み取られた結合監視レコードを削除し、各分割監視レコードをメモリに書き込むステップとを更に含む。
第2の態様では、本発明の実施例では、監視レコード分割方法を提供し、複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)を含み、この方法は、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るステップと、監視パラメータの各値が予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成するステップであり、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードの監視パラメータの値の合計は、結合監視レコードの同じ種類の監視パラメータの値に等しいステップと、分割監視レコードをメモリに書き込むステップであり、分割監視レコードは、分割監視レコードに保持されたオフセットアドレス及びデータ長により記述されるデータを監視するために使用されるステップとを含む。
第2の態様の第1の可能な実現方式では、各分割監視レコードの各監視パラメータの値は、具体的に、各分割監視レコードに保持されたデータ長に従って、分割前の監視レコードの各監視パラメータの値を各分割監視レコードに配分することにより取得された値である。
第3の態様では、本発明の実施例は、監視レコード管理デバイスを提供し、複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)を含み、このデバイスは、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成された第1の読み取りモジュールと、メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、読み取られた監視レコードを結合し、結合監視レコードを生成するように構成された結合モジュールであり、監視されるチャンクのアイデンティティは、結合監視レコードに記録され、メモリから、読み取られた監視レコードを削除するように構成された結合モジュールであり、結合監視レコードにおける各監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しい結合モジュールと、結合監視レコードをメモリに書き込むように構成された第1の書き込みモジュールであり、結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用される第1の書き込みモジュールとを含む。
第3の態様の第1の可能な実現方式では、第1の書き込みモジュールは、ストレージにおけるチャンクのI/O要求を監視し、メモリの結合監視レコードの各監視パラメータを更新するために、結合監視レコードにより監視されるチャンクのI/O要求レコードを使用するように更に構成される。
第3の態様、第3の態様の第1の可能な実現方式と組み合わせて、第3の態様の第2の可能な実現方式では、第1の分割モジュールは、メモリから、結合監視レコードを読み取り、結合監視レコードを少なくとも1つの分割監視レコードに分割するように構成され、各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しく、メモリから、読み取られた結合監視レコードを削除し、各分割監視レコードをメモリに書き込むように構成される。
第4の態様では、本発明の実施例は、監視レコード分割デバイスを提供し、複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)を含み、このデバイスは、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成された第2の読み取りモジュールと、読み取られた監視パラメータの各監視パラメータが予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成するように構成された第2の分割モジュールであり、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しい第2の分割モジュールと、分割監視レコードをメモリに書き込むように構成された第2の書き込みモジュールであり、分割監視レコードは、オフセットアドレス及びデータ長を保持するデータを監視するために使用される第2の書き込みモジュールとを含む。
第4の態様の第1の可能な実現方式では、読み取られた監視パラメータの各監視パラメータが予め設定された閾値を満たす監視レコードが分割され、少なくとも2つの監視レコードが分割後に生成され、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しく、分割前の監視レコードの各監視パラメータの値は、各分割監視レコードに保持されたデータ長に従って、各分割監視レコードに配分される。
第4の態様、第4の態様の第1の可能な実現方式、又は第4の態様の第2の可能な実現方式と組み合わせて、第2の読み取りモジュールは、メモリの各監視レコードから、ランダムIOの数とIOの総数とを読み取るように具体的に構成され、閾値は、IOの総数に対するランダムIOの数の割合である。
第5の態様では、本発明の実施例は、ストレージコントローラを提供し、ストレージコントローラは、CPUと、CPUと通信する通信インタフェースと、CPUと通信するメモリとを含み、通信インタフェースは、ストレージと通信するように構成され、メモリは、複数の監視レコードを格納するように構成され、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、CPUは、プログラムを実行するように構成され、プログラムは、メモリの監視レコードから少なくとも1つの監視パラメータを読み取り、読み取られた監視パラメータについて、異なる監視レコードの間で同じ種類の監視パラメータの差を計算し、メモリから、それぞれの監視パラメータの差が対応する予め設定された閾値を満たす監視レコードを読み取り、読み取られた監視レコードを結合し、結合監視レコードを生成し、監視されるチャンクのアイデンティティは、結合監視レコードに記録され、メモリから、結合された監視レコードを削除し、結合監視レコードにおける少なくとも1つの監視パラメータの値は、全ての監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しく、結合監視レコードをメモリに書き込むために使用され、結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用される。
第6の態様では、本発明の実施例は、ストレージコントローラを提供し、ストレージコントローラは、CPUと、CPUと通信する通信インタフェースと、CPUと通信するメモリとを含み、通信インタフェースは、ストレージと通信するように構成され、メモリは、複数の監視レコードを格納するように構成され、各監視レコードは、ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットであり、CPUは、プログラムを実行するように構成され、プログラムは、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取り、監視パラメータの各値が予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成し、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードの監視パラメータの値の合計は、結合監視レコードの同じ種類の監視パラメータの値に等しく、分割監視レコードをメモリに書き込むために使用され、分割監視レコードは、分割監視レコードに保持されたオフセットアドレス及びデータ長により記述されるデータを監視するために使用される。
本発明の実施例が適用された後に、監視レコードは分割又は結合されてもよい。すなわち、監視レコードの監視精度は変更されてもよい。
本発明の実施例又は従来技術の技術的対策を説明するために、以下に、実施例又は従来技術を説明するために必要な添付図面について簡単に紹介する。明らかに、以下の説明における添付図面は、本発明の単にいくつかの実施例を示しているに過ぎず、当業者は、創造的取り組みを行うことなく、依然としてこれらの添付図面から他の図面を導くことができる。
本発明の実施例1を適用したトポロジ図 本発明の実施例の構成図 本発明の実施例の構成図 本発明の実施例による監視レコード記録方法のフローチャート 本発明の実施例による監視レコード分割方法の実施例のフローチャート 本発明の実施例による監視レコード管理デバイスの構成図 本発明の実施例による監視レコード分割デバイスの構成図
以下に、本発明の実施例の添付図面を参照して、本発明の実施例の技術的対策を明確且つ完全に説明する。明らかに、説明する実施例は、本発明の実施例の全てではなく、単に一部に過ぎない。創造的取り組みを行うことなく本発明の実施例に基づいて当業者により得られる全ての他の実施例は、本発明の保護範囲内に入るものとする。
ストレージシステムは、データストレージサービスを提供するために使用されるシステムであり、物理的及び相対的に独立したストレージコントローラ及びストレージにより形成されてもよく、ストレージ機能を有するサーバでもよい。チャンク(Chunk)は、ストレージにおける基本的な論理ストレージ単位であり、データを格納するために使用される。チャンクは、ストレージにおける論理的に連続したストレージ空間であり、各チャンクは、物理的なストレージ媒体にマッピングする。これらの物理的なストレージ媒体は、不連続的でもよい。チャンクは、固定長を有してもよく、可変長を有してもよく、その容量のサイズは、数Kバイトのみでもよく、数Gバイトでもよい。
格納されたデータのコールド・ホット度のような情報を識別するために、格納されたデータは監視される必要がある。監視レコードは、基本監視単位としてチャンクを使用することにより生成され、監視レコードは、少なくとも1つの監視パラメータにより形成される。各監視パラメータは、チャンクの入出力状況の規模を監視するために使用される。
1つの監視レコードは、チャンク毎に設定されてもよい。これらの監視レコードは、ストレージ媒体を使用することにより格納される必要がある。監視レコードは、サービスデータと共に格納されてもよい。監視効率を改善するために、サービスデータの入出力(Input/Output、I/O)への影響はできるだけ低減される。I/OはIOとして記載されることもある。これらの監視レコードはまた、サービスデータとは別に格納されてもよく、例えば、ストレージシステム内のメモリに格納されてもよい。メモリは、ランダムアクセスメモリ(Random Access Memory、RAM)、ソリッドステートディスク(Solid State Disk、SSD)又はフラッシュ(Flash)を採用してもよく、入出力速度があまり必要ない場合には磁気ディスク又は磁気テープのようなストレージ媒体が使用されてもよい。
IO要求が処理される場合、IO要求の長さがチャンクのサイズを超える場合、IO要求は、チャンクのサイズに従って分割され、異なるチャンクに格納される。対応して、本発明の実施例では、各チャンクの監視レコードは、IO要求を通じてカウントされ、分割されたIO要求がカウントの基礎として使用される。例えば、出力IO要求の長さが100Kであり、単一のチャンクが30Kである場合、IO要求は4つのサブIO要求に分割されてもよい。データは4つのチャンクに書き込まれる。各チャンクの監視レコードは、チャンクに対応するサブIO要求のみを監視する。すなわち、本発明の実施例では、IO要求が分割された場合、“IO要求”という用語は、分割されたIO要求を示す。
図1は、本発明の実施例1を適用したトポロジ図である。ホストがストレージシステムのストレージにおいて入出力アクセスを実行した場合、監視プログラムは、サービスにより配信されたIO要求を監視してもよい。IOPS及びチャンクのIO配信頻度のような監視パラメータは、監視を通じて取得され、監視パラメータにより形成された監視レコードはメモリに格納される。データライフサイクル管理プログラムは、監視レコードを分析し、データ管理命令をストレージに配信することにより、ストレージのチャンクを管理する。例えば、IOが頻繁に配信されるチャンクを入出力速度がストレージにおいてより高速である領域にマイグレーションする。図面のメモリは、ストレージシステムのコントローラに設定されており、監視プログラム及びデータライフサイクル管理プログラムは、ストレージコントローラのCPUで実行される。
各監視レコードは、複数の監視パラメータを含む。監視パラメータは、チャンクの入出力状況を記録し、監視パラメータは、チャンクの1秒当たりの入力操作(Input Operations per Second)、1秒当たりの出力操作(Output Operations Per Second)及び1秒当たりの入出力操作(IOPS、Input/Output Operations Per Second)のうち1つ以上を含んでもよい。監視パラメータは、入力IOカウント(read IO count)、出力IOカウント(write IO count)及び入出力IOカウント(IO count)のうち1つ以上を更に含んでもよい。更に、監視パラメータは、入力IOサイズ(read IO size)を更に含んでもよい。入力IOサイズは、1つの入力IO要求が入力のために要求するデータのサイズを示し、IO要求が入力を想定するデータのサイズは、チャンクのサイズより小さくてもよい。すなわち、1つのチャンクにおいてデータの一部のみが入力される。監視パラメータは、出力IOサイズ(write IO size)を更に含んでもよい。出力IOサイズは、出力IO要求が出力のために要求するデータのサイズを示し、IO要求が出力を想定するデータのサイズは、チャンクのサイズより小さくてもよい。すなわち、1つのチャンクの一部のみが占有される。監視パラメータは、入力操作の数、出力操作の数、ランダム性を更に含んでもよい。ランダム性は、IOの総数に対するランダムなIOの数の割合を示す。監視パラメータは、I/O頻度を更に含んでもよい。I/O頻度は、単位時間におけるIO要求の数を示す。監視パラメータは、I/O待ち時間(IO latency)サイズ(ホスト要求に対するストレージサーバの応答時間)を更に含んでもよい。
大量のチャンクがストレージに存在する場合、監視レコードは、非常に大きいメモリを占有する必要がある。本発明の実施例では、メモリの空間が十分でないため、監視レコードが新たに追加されたチャンクのために生成できない状況を回避するために、1つの監視レコードは、複数のチャンクを監視するために使用されてもよい。他の態様では、本発明の実施例では、複数の監視レコードはまた、監視結果の細かさを向上させるために、同じチャンクの異なる範囲を監視してもよい。
<実施例1>
本発明の実施例は、ストレージコントローラに適用され得る監視レコード管理方法を提供する。
複数の監視レコードがストレージコントローラのメモリに格納され、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)、チャンクの入出力頻度及びチャンクの入出力ランダム性を含む。監視プログラムは、チャンクの入出力要求を監視し、監視結果を使用することにより、メモリの監視レコードをリアルタイムで更新する。ネットワークストレージ技術(Network Storage Technologies、NAS)又はストレージアエリアネットワーク(Storage Area Network、SAN)では、ストレージコントローラは、ストレージに対して物理的に独立しており、ストレージサーバでは、ストレージサーバ自体がストレージコントローラを有する。これは、ストレージコントローラがストレージサーバに統合されていることと等価であり、従って、この方法はストレージサーバ自体により実行され、他の形式のストレージシステムでは、この方法は、ストレージコントローラと同様の計算能力を有するデバイスにより実行されてもよい。本発明の実施例では、物理的に独立しても独立していなくても、同様の機能を有するストレージコントローラが併せてストレージコントローラと呼ばれる。
図2又は図3を参照すると、ストレージシステム4は、ストレージコントローラ41とストレージ42とにより形成される。ストレージコントローラ41は、CPU411と、CPU411と通信する通信インタフェース412と、CPU411と通信するメモリ413とを含む。ストレージコントローラは、通信インタフェース412を通じてストレージ42と通信する。CPU411は、コンピュータプログラムを実行し、コンピュータプログラムは、プログラムコードを含んでもよく、図4に示すステップがプログラムコードを実行するように実行されてもよい。
ステップ11:メモリの各監視レコードから少なくとも1つの監視パラメータを読み取る。
このステップでは、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、各監視レコードは、少なくとも1つの監視パラメータにより形成され、各監視パラメータは、チャンクのIO要求の入出力状況を監視することにより取得される。図2の例を参照すると、合計で5つの監視レコードがメモリ413に存在し、これらは、それぞれ監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEである。各監視レコードは、1つのチャンクを監視するために使用され、合計で5つのチャンクが監視され、各監視レコードは、3つの監視パラメータを含む。例えば、監視レコードAは、監視パラメータA1、監視パラメータA2及び監視パラメータA3を含み、3つの監視パラメータは、例えば、それぞれIOPS、入出力頻度及びIOカウントでもよい。
ステップ11は、ユーザによりアクティブに起動されてもよく、予め設定された閾値条件に従ってストレージシステムにより自動的に起動されてもよい。例えば、既存の監視パラメータが完全にメモリを占有した場合、すなわち、メモリが更に監視レコードを格納するための空間をもはや有さない場合、ステップ11が実行されてもよい。この時点で、新たなチャンクが監視される必要がある場合、メモリが新たなチャンクの監視パラメータにより使用できないという状況が生じる。或いは、監視されるチャンクは、一般的に小さく、例えば、数Kのみのサイズを有し、チャンク毎に監視パラメータを別々に設定する必要はなく、ステップ11がまた実行されてもよい。
ステップ12:メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、読み取られた監視レコードを結合し、結合監視レコードを生成する。監視されるチャンクのアイデンティティは、結合監視レコードに記録される。メモリから、読み取られた監視レコードを削除する。結合監視レコードにおける各監視パラメータの値は、複数の監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しい。
本発明の実施例では、読み取られた監視レコードを結合し、結合監視レコードを生成することは、読み取られた監視レコードの中から、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを結合することを示す。異なるアプリケーションの目的に従って、各監視パラメータの差の閾値は、ユーザにより指定されてもよい。監視されるチャンクのアイデンティティは、結合監視レコードに保持され、異なるチャンクは、異なるアイデンティティを有する。
結合前に、各監視レコードはまた、各監視レコードにより監視されるチャンクのアイデンティティを記録する。結合監視レコードは、複数のチャンクを監視するために使用され、従って、複数のチャンクのアイデンティティは、結合監視レコードに記録される。異なるチャンクは、異なるアイデンティティを有する。アイデンティティを通じて、ユーザは、どのチャンクが監視パラメータにより具体的に監視されるかを認識してもよい。
このステップにおいて、差の閾値検出は、ステップ11において読み取られた内容で実行される。検出された監視パラメータの数は、1つ又は複数でもよい。すなわち、1つのみの監視パラメータが決定されてもよい。異なる監視レコードにおいて監視パラメータの差が閾値を満たし、閾値を満たす方式が差が具体的な値より小さいことである場合又は具体的な値より大きくないことである場合、これらの監視レコードは全体として読み取られる。ステップ101において、読み取られた監視パラメータがIOPSを含み、監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEに記録されたIOPSがそれぞれ50、52、60、61及び70であり、IOPSの閾値が3であること、すなわち、IOPSの差が3より小さい監視レコードが全て結合の条件を満たすことを仮定する。監視レコードAのIOPSと監視レコードBのIOPSとの間の差52-50=2は閾値を満たし、監視レコードCのIOPSと監視レコードDのIOPSとの間の差は61-60=1も閾値を満たす。従って、監視レコードAの各監視パラメータと、監視レコードBの各監視パラメータとは、メモリから読み取られ、別々に結合され、チャンクAの監視レコードとチャンクBの監視レコードも結合監視レコードに記録される。監視レコードCの各監視パラメータと、監視レコードDの各監視パラメータも、メモリから読み取られ、結合され、チャンクCの監視レコードとチャンクDの監視レコードも結合監視レコードに記録される。
閾値検出が異なる種類の監視パラメータの差で実行される状況を適切に理解するために、前述の例に基づいて、以下に例が更に挙げられる。IOPSに加えて、監視パラメータのIOカウント(IO count)の差が更に比較され、監視パラメータA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEのIOカウントがそれぞれ10、11、20、30及び40であり、IOカウントの閾値が5であることを仮定する。すなわち、監視パラメータAのIOカウントと監視パラメータBのIOカウントとの差11-10=1のみが閾値より小さいという要件を満たす。このように、監視レコードA及び監視レコードBは、IOPS及びIOカウントの閾値の要件を同時に満たす。監視レコードC及び監視レコードDはIOPSの閾値の要件を満たすが、監視レコードC及び監視レコードDは、IOカウントの閾値の要件を満たさない。従って、監視レコードA及び監視レコードBのみがメモリから読み取られ、結合監視レコードを生成するように結合され、監視レコードCも監視レコードDもメモリから読み取られない。
結合監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされたときの各監視パラメータの値、又は監視されるチャンクのセットが監視されるときに取得された監視パラメータの値に等しい。チャンクのセットのいずれかのチャンクのIO要求は、チャンクの全セットのIO要求としてマーキングされる。結合監視パラメータの値は、全ての監視されるチャンクの監視パラメータを結合することにより生成され、結合監視パラメータにより監視されるチャンクは、結合された監視パラメータにより監視されるチャンクにより形成されたセットである。監視レコードにより監視されるチャンクのI/O要求レコードは、結合前の監視レコードに記録される。監視されるチャンクのセットのI/O要求レコードは、結合監視レコードに記録される。
このように、監視精度が相当に拡張され、単一のチャンクの監視パラメータの元々の記録は、複数のチャンクの監視パラメータの記録に変更される。すなわち、結合された監視レコードは、自分のチャンクを元々監視し、結合監視パラメータにおいて、各監視レコードの値は、これらのチャンクを一緒に監視することにより取得された値に等しい。結合監視パラメータにおいて、各監視レコードはまた、結合監視パラメータとも呼ばれることがある。
例えば、図2において、監視パラメータA及び監視パラメータBは共に、それぞれIOPS、IOカウント及びIO頻度である3つの監視パラメータにより形成される。監視レコードAにおいて、IOPSの値は50であり、IOカウントの値は10であり、IO頻度の値は10である。監視レコードBにおいて、IOPSの値は52であり、IOカウントの値は11であり、IO頻度の値は20である。本発明のこの実施例では、監視パラメータの値が直接加算され、チャンクA及びチャンクBにより形成されたセットが新たなチャンクABとして見なされた場合、IOPSを例として挙げることにより、チャンクA又はチャンクBのIOはチャンクABのIOに属し、IOは、結合されたIOPSにカウントされるべきである。従って、結合監視レコードの監視パラメータの値は、IOPS=50+52=102、IOカウント10+11=21及びIO頻度=10+20=30である。結合により生成された結合監視パラメータは、結合された監視パラメータの内容によって統合されるため、結合された監視パラメータにより監視されるチャンクのIO状況は、結合監視レコードに記録され、結合された監視レコードは、削除されてもよく、結合監視レコードと置換される。結合された監視レコードを削除する動作は、これらのパラメータが読み取られた後且つ結合動作が完了する前に実行されてもよく、結合動作が完了した後に実行されてもよい点に特に留意すべきである。前者はできるだけ早くメモリの空間を解放することができ、後者はセキュリティを改善することができ、例えば、結合監視レコードが計算されていない場合に生じた停電によりもたらされるデータロスが回避可能になる。
本発明のこの実施例では、チャンクのコールド・ホット度は、これらの2つの監視パラメータ(IOPS及びIOカウント)を通じて決定されてもよい。2つの監視レコードのIOPS及びIOカウントが近い場合、これらの2つの監視レコードに対応するチャンクのコールド・ホット度が近いと考えられる。チャンクが共にホット・チャンクである場合、チャンクは、入力速度が高速であるストレージ媒体に一緒にマイグレーションされてもよい。チャンクが共にコールド・データである場合、チャンクは、入力速度が低速であるストレージ媒体に一緒にマイグレーションされてもよい。
本発明のこの実施例では、チャンクのコールド・ホット変化規則は、3つの監視パラメータ(コールド・ホット変化時点、コールド・ホット変化時間間隔及び突然のIOアクセス頻度)を通じて決定されてもよい。2つの監視レコードにおいて、これらの3つの監視パラメータの差がそれぞれの予め設定された閾値を満たす場合、すなわち、コールド・ホット変化時点が近く、コールド・ホット変化時間間隔が近く、突然のIOの数が近い場合、これらの2つの監視レコードにより監視されるチャンクが近いコールド・ホット変化規則を有すると考えられ、これらのチャンクの監視レコードは、結合されて格納されてもよい。
ステップ13:結合監視レコードをメモリに書き込む。結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用される。
メモリに書き込まれた後に、結合監視パラメータは、結合されていない残りの監視パラメータとしてユーザにより使用されてもよい。この実施例の例が続けて挙げられる。図3を参照すると、監視レコードABは、図2の監視レコードA及び監視レコードBを結合することにより生成され、図2及び図3の点線は、監視レコードとチャンクとの間の対応関係を表す。メモリの監視レコードの数は、図2の5から図3の4に低減される。このことは、メモリの空間の占有を低減する。
監視レコードABの各監視パラメータの値は、監視レコードA及び監視レコードBの監視パラメータを結合することにより生成され、監視レコードABは、チャンクA及びチャンクBのIO要求を同時に監視してもよい。
<実施例2>
図4に示すように、実施例1に基づいて、この方法はステップS14を更に含んでもよい。
ステップS14:ストレージのチャンクについてのホストのI/O要求を監視し、メモリの結合監視レコードの各監視パラメータを更新するために、結合監視レコードにより監視されるチャンクのI/O要求レコードを使用する。すなわち、新たに追加されたIO要求が結合監視レコードにより監視されるチャンクのIO要求である限り、それぞれの新たに追加されたIO要求は、結合監視レコードの各監視パラメータにカウントされる。実施例1の具体的な例が挙げられる。結合監視レコードがメモリに書き込まれた後に、チャンクAにアクセスするための又はチャンクBにアクセスするための新たなIO要求が存在する場合、新たなIO要求は、監視レコードABにカウントされる。
<実施例3>
更に、実施例1又は2に基づいて、監視レコード分割方法が更に含まれてもよい。分割方法1についてステップS15に参照が行われる。監視レコードの結合が完了した後に、必要に応じて、結合監視レコードは、再び分割されてメモリに格納されてもよい。この実施例では、分割を通じて生成された監視レコードは、分割監視レコードと呼ばれる。例えば、メモリの大量の空間がアイドルである場合、又はユーザが監視精度を低減することを期待する場合、分割方法は、結合監視レコードがメモリから読み取られ、結合監視レコードが少なくとも1つの分割監視レコードに分割されることでもよい。各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、分割監視レコードにおいて、各監視レコードの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視レコードの値に等しい。
監視されるチャンクのアイデンティティは、結合監視レコードに保持される。1つの結合監視レコードが3つ以上の監視レコードを監視するために使用される場合、分割方法はもはや一意ではない。例えば、結合監視レコードが3つのチャンクを監視するために使用され、結合監視レコードは3つの監視レコードに分割されてもよい。各監視レコードは1つのチャンクを監視するために使用される。或いは、結合監視レコードは、2つの監視レコードに分割されてもよい。監視レコードのうち1つは2つのチャンクを監視するために使用され、他の監視レコードは、1つのチャンクを監視するために使用される。
監視レコードの分割は、監視レコードの結合の逆の処理である。実施例1及び2の理解に基づいて、複数の分割方法が存在してもよい。例えば、分割の後に、各監視パラメータは、監視されるチャンクの数に従って配分されてもよい。簡単な例は、3つのチャンクを監視する監視レコードにおいて監視パラメータIOPS=60であり、監視レコードが2つの部分に分割される場合、1つの部分が2つのチャンクを監視し、他の部分が1つのチャンクを監視し、分割監視レコードでは、前者のIOPS=40になり、後者のIOPS=20になる。
この実施例は、他の分割方法を更に提供する。図5を参照すると、分割処理は、監視データにより監視されるチャンクの数又はチャンクのサイズに依存しなくてもよい。結合監視レコード又は単一のチャンクの監視レコードが分割され、分割を通じて生成された監視レコードは、分割監視レコードと呼ばれる。すなわち、図5に示す方法は、実施例1及び2のものと一緒に実行されてもよく、別々に実行されてもよい。分割監視レコードは、監視されるデータのオフセットアドレス及び長さを保持してもよく、監視データが属するチャンクを更に保持してもよい。分割監視レコードでは、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しい。実現方式では、各監視パラメータの値は、分割された監視レコードにより監視されるデータ量に対する監視されるデータ量の割合に従って配分されてもよい。すなわち、監視パラメータは、各分割監視レコードで保持されたデータ長に従って各分割監視レコードに配分される。
図5に示す分割方法は、以下のステップを含む。
ステップ21:メモリの各監視レコードから少なくとも1つの監視パラメータを読み取る。
ステップ22:監視パラメータの各値が予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成する。データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードの監視パラメータの値の合計は、結合監視レコードの同じ種類の監視パラメータの値に等しい。
ステップ23:分割監視レコードをメモリに書き込む。分割監視レコードは、分割監視レコードに保持されたオフセットアドレス及びデータ長により記述されるデータを監視するために使用される。
簡単な例は、監視レコードの監視パラメータIOPS=60であり、監視レコードがいずれかの数のチャンクを監視するために使用されるものである。監視レコードが2つの監視レコードに分割される場合、且つ、監視レコードの各監視パラメータがデータ量の長さに従って配分される場合、第1の監視レコードにより監視されるデータ量が第2の監視レコードにより監視されるデータ量の2倍である場合には、分割監視レコードにおいて、前者のIOPS=40であり、後者のIOPS=20である。各監視レコードは、監視されるデータのオフセットアドレス及び長さを更に保持する。オフセットアドレスは、データの開始アドレスであり、監視されるデータは、オフセットアドレス及び長さを通じて見つけられ得る。
ランダム性は、監視レコードを分割するか否かの基礎として使用されてもよい。メモリの監視レコードが分析され、2つの監視パラメータ(ランダムIOの数及びIOの総数)があり、IOの総数に対するランダムIOの数の割合がランダム性として使用される。高いランダム性を有するチャンクのデータについては、異なる部分のアクセス頻度は非常に異なる可能性がある。このような監視レコードでは、メモリが十分である場合に、分割が監視精度を改善し得る。ランダムIOの数及びIOの総数は共に監視パラメータである。連続IOに対して、ランダムIOは、2つの異なる入出力IOについて前の終了アドレスと次の開始アドレスとが非常に異なることを意味する。閾値がユーザにより指定されてもよい。前の終了アドレスと次の開始アドレスとの間の差が閾値を超えた場合、これらの2つのIOはランダムIOとして考えられる。連続IOは、2つの異なる入出力IOについて前の終了アドレスと次の開始アドレスとの間の差が大きくないことを意味する。他の実施例では、ランダム性以外の他のパラメータが使用されてもよい。例えば、IOPSが予め設定された閾値より大きい監視レコードが分割される。或いは、出力IOサイズ及びIO待ち時間がそれぞれの閾値を満たす監視レコードが分割される。
<実施例4>
本発明の実施例は、監視レコード管理デバイスを更に提供する。このデバイスは、例えば、ストレージコントローラ又はストレージコントローラで実行されるプログラムでもよい。このデバイスは、前述の方法を適用してもよい。ストレージシステムは、ストレージコントローラ、メモリ及びストレージにより形成される。複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、監視パラメータは、例えば、監視されるチャンクの1秒当たりの入出力操作(IOPS)、チャンクの入出力頻度及びチャンクの入出力ランダム性を含む。監視プログラムは、チャンクの入出力要求を監視し、監視結果を使用することにより、メモリの監視レコードをリアルタイムで更新する。ネットワークストレージ技術(Network Storage Technologies、NAS)又はストレージアエリアネットワーク(Storage Area Network、SAN)では、ストレージコントローラは、ストレージに対して物理的に独立しており、ストレージサーバでは、ストレージサーバ自体がストレージコントローラを有する。これは、ストレージコントローラがストレージサーバに統合されていることと等価であり、従って、この方法はストレージサーバ自体により実行され、他の形式のストレージシステムでは、この方法は、ストレージコントローラと同様の計算能力を有するデバイスにより実行されてもよい。本発明の実施例では、物理的に独立しても独立していなくても、NAS又はSANのストレージコントローラのものと同様の機能を有するストレージコントローラが併せてストレージコントローラと呼ばれる。
図6を参照すると、監視レコード管理デバイス5は、第1の読み取りモジュール51と、第1の読み取りモジュール51に接続された結合モジュール52と、結合モジュール52に接続された第1の書き込みモジュール53とを含む。各機能モジュールの機能は、以下に1つずつ続けて紹介される。
第1の読み取りモジュール51は、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成される。
このステップでは、各監視レコードは、ストレージの1つのチャンクを監視するために使用され、各監視レコードは、少なくとも1つの監視パラメータにより形成され、各監視パラメータは、チャンクのIO要求の入出力状況を監視することにより取得される。図2の例を参照すると、合計で5つの監視レコードがメモリに存在し、これらは、それぞれ監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEである。各監視レコードは、1つのチャンクを監視するために使用され、合計で5つのチャンクが監視され、各監視レコードは、3つの監視パラメータを含む。例えば、監視レコードAは、監視パラメータA1、監視パラメータA2及び監視パラメータA3を含み、3つの監視パラメータは、例えば、それぞれIOPS、入出力頻度及びIOカウントでもよい。
第1の読み取りモジュールの動作の実行は、ユーザによりアクティブに起動されてもよく、予め設定された閾値条件に従ってストレージシステムにより自動的に起動されてもよい。例えば、既存の監視パラメータが完全にメモリを占有した場合、すなわち、メモリが更に監視レコードを格納するための空間をもはや有さない場合、第1の読み取りモジュールの動作が実行されてもよい。この時点で、新たなチャンクが監視される必要がある場合、メモリが新たなチャンクの監視パラメータにより使用できないという状況が生じる。或いは、監視されるチャンクは、一般的に小さく、例えば、数Kのみのサイズを有し、チャンク毎に監視パラメータを別々に設定する必要はなく、第1の読み取りモジュールの動作がまた実行されてもよい。
結合モジュール52は、メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、読み取られた監視レコードを結合し、結合監視レコードを生成するように構成される。監視されるチャンクのアイデンティティは、結合監視レコードに記録される。結合モジュール52は、メモリから、読み取られた監視レコードを削除するように構成される。結合監視レコードにおける各監視パラメータの値は、複数の監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しい。
本発明の実施例では、読み取られた監視レコードを結合し、結合監視レコードを生成することは、読み取られた監視レコードの中から、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを結合することを示す。異なるアプリケーションの目的に従って、各監視パラメータの差の閾値は、ユーザにより指定されてもよい。監視されるチャンクのアイデンティティは、結合監視レコードに保持され、異なるチャンクは、異なるアイデンティティを有する。
結合前に、各監視レコードはまた、各監視レコードにより監視されるチャンクのアイデンティティを記録する。結合監視レコードは、複数のチャンクを監視するために使用され、従って、複数のチャンクのアイデンティティは、結合監視レコードに記録される。異なるチャンクは、異なるアイデンティティを有する。アイデンティティを通じて、ユーザは、どのチャンクが監視パラメータにより具体的に監視されるかを認識してもよい。
結合モジュール52は、読み取りモジュール51により読み取られた内容で差の閾値検出を実行する。検出された監視パラメータの数は、1つ又は複数でもよい。すなわち、1つのみの監視パラメータが決定されてもよい。異なる監視レコードにおいて監視パラメータの差が閾値を満たし、閾値を満たす方式が差が具体的な値より小さいことである場合又は具体的な値より大きくないことである場合、これらの監視レコードは全体として読み取られる。ステップ101において、読み取られた監視パラメータがIOPSを含み、監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEに記録されたIOPSがそれぞれ50、52、60、61及び70であり、IOPSの閾値が3であること、すなわち、IOPSの差が3より小さい監視レコードが全て結合の条件を満たすことを仮定する。監視レコードAのIOPSと監視レコードBのIOPSとの間の差52-50=2は閾値を満たし、監視レコードCのIOPSと監視レコードDのIOPSとの間の差は61-60=1も閾値を満たす。従って、監視レコードAの各監視パラメータと、監視レコードBの各監視パラメータとは、メモリから読み取られ、別々に結合され、チャンクAの監視レコードとチャンクBの監視レコードも結合監視レコードに記録される。監視レコードCと、監視レコードDも、メモリから読み取られ、結合され、チャンクCの監視レコードとチャンクDの監視レコードも結合監視レコードに記録される。
閾値検出が異なる種類の監視パラメータの差で実行される状況を適切に理解するために、前述の例に基づいて、以下に例が更に挙げられる。IOPSに加えて、監視パラメータのIOカウント(IO count)の差が更に比較され、監視パラメータA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEのIOカウントがそれぞれ10、11、20、30及び40であり、IOカウントの閾値が5であることを仮定する。すなわち、監視パラメータAのIOカウントと監視パラメータBのIOカウントとの差11-10=1のみが閾値より小さいという要件を満たす。このように、監視レコードA及び監視レコードBは、IOPS及びIOカウントの閾値の要件を同時に満たす。監視レコードC及び監視レコードDはIOPSの閾値の要件を満たすが、監視レコードC及び監視レコードDは、IOカウントの閾値の要件を満たさない。従って、監視レコードA及び監視レコードBのみがメモリから読み取られ、結合監視レコードを生成するように結合され、監視レコードCも監視レコードDもメモリから読み取られない。
結合監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされたときの各監視パラメータの値、又は監視されるチャンクのセットが監視されるときに取得された監視パラメータの値に等しい。チャンクのセットのいずれかのチャンクのIO要求は、チャンクの全セットのIO要求としてマーキングされる。結合監視パラメータの値は、全ての監視されるチャンクの監視パラメータを結合することにより生成され、結合監視パラメータにより監視されるチャンクは、結合された監視パラメータにより監視されるチャンクにより形成されたセットである。監視レコードにより監視されるチャンクのI/O要求レコードは、結合前の監視レコードに記録される。監視されるチャンクのセットのI/O要求レコードは、結合監視レコードに記録される。
このように、監視精度が相当に拡張され、単一のチャンクの監視パラメータの元々の記録は、複数のチャンクの監視パラメータの記録に変更される。すなわち、結合された監視レコードは、自分のチャンクを元々監視し、結合監視パラメータにおいて、各監視レコードの値は、これらのチャンクを一緒に監視することにより取得された値に等しい。結合監視パラメータにおいて、各監視レコードはまた、結合監視パラメータとも呼ばれることがある。
例えば、図2において、監視パラメータA及び監視パラメータBは共に、それぞれIOPS、IOカウント及びIO頻度である3つの監視パラメータにより形成される。監視レコードAにおいて、IOPSの値は50であり、IOカウントの値は10であり、IO頻度の値は10である。監視レコードBにおいて、IOPSの値は52であり、IOカウントの値は11であり、IO頻度の値は20である。本発明のこの実施例では、監視パラメータの値が直接加算され、チャンクA及びチャンクBにより形成されたセットが新たなチャンクABとして見なされた場合、IOPSを例として挙げることにより、チャンクA又はチャンクBのIOはチャンクABのIOに属し、IOは、結合されたIOPSにカウントされるべきである。従って、結合監視レコードの監視パラメータの値は、IOPS=50+52=102、IOカウント10+11=21及びIO頻度=10+20=30である。結合により生成された結合監視パラメータは、結合された監視パラメータの内容によって統合されるため、結合された監視パラメータにより監視されるチャンクのIO状況は、結合監視レコードに記録され、結合された監視レコードは、削除されてもよく、結合監視レコードと置換される。結合された監視レコードを削除する動作は、これらのパラメータが読み取られた後且つ結合動作が完了する前に実行されてもよく、結合動作が完了した後に実行されてもよい点に特に留意すべきである。前者はできるだけ早くメモリの空間を解放することができ、後者はセキュリティを改善することができ、例えば、結合監視レコードが計算されていない場合に生じた停電によりもたらされるデータロスが回避可能になる。
本発明のこの実施例では、チャンクのコールド・ホット度は、これらの2つの監視パラメータ(IOPS及びIOカウント)を通じて決定されてもよい。2つの監視レコードのIOPS及びIOカウントが近い場合、これらの2つの監視レコードに対応するチャンクのコールド・ホット度が近いと考えられる。チャンクが共にホット・チャンクである場合、チャンクは、入力速度が高速であるストレージ媒体に一緒にマイグレーションされてもよい。チャンクが共にコールド・データである場合、チャンクは、入力速度が低速であるストレージ媒体に一緒にマイグレーションされてもよい。
本発明のこの実施例では、チャンクのコールド・ホット変化規則は、3つの監視パラメータ(コールド・ホット変化時点、コールド・ホット変化時間間隔及び突然のIOアクセス頻度)を通じて決定されてもよい。2つの監視レコードにおいて、これらの3つの監視パラメータの差がそれぞれの予め設定された閾値を満たす場合、すなわち、コールド・ホット変化時点が近く、コールド・ホット変化時間間隔が近く、突然のIOの数が近い場合、これらの2つの監視レコードにより監視されるチャンクが近いコールド・ホット変化規則を有すると考えられ、これらのチャンクの監視レコードは、結合されて格納されてもよい。
第1の書き込みモジュール53は、結合監視レコードをメモリに書き込むように構成される。結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用される。
メモリに書き込まれた後に、結合監視パラメータは、結合されていない残りの監視パラメータとしてユーザにより使用されてもよい。この実施例の例が続けて挙げられる。図3を参照すると、監視レコードABは、図2の監視レコードA及び監視レコードBを結合することにより生成される。メモリの監視レコードの数は、図2の5から図3の4に低減される。このことは、メモリの空間の占有を低減する。
監視レコードABの各監視パラメータの値は、監視レコードA及び監視レコードBの監視パラメータを結合することにより生成され、監視レコードABは、チャンクA及びチャンクBのIO要求を同時に監視してもよい。
<実施例5>
図6を参照して、実施例4に基づいて、書き込みモジュールは、ストレージのチャンクについてのホストのI/O要求を監視し、メモリの結合監視レコードの各監視パラメータを更新するために、結合監視レコードにより監視されるチャンクのI/O要求レコードを使用するように更に構成されてもよい。すなわち、新たに追加されたIO要求が結合監視レコードにより監視されるチャンクのIO要求である限り、それぞれの新たに追加されたIO要求は、結合監視レコードの各監視パラメータにカウントされる。実施例4の具体的な例が挙げられる。結合監視レコードがメモリに書き込まれた後に、チャンクAにアクセスするための又はチャンクBにアクセスするための新たなIO要求が存在する場合、新たなIO要求は、監視レコードABにカウントされる。
<実施例6>
更に、実施例4又は5に基づいて、第1の書き込みモジュール53に接続された分割モジュール54が更に含まれてもよい。図6を参照すると、監視レコードの結合が完了した後に、必要に応じて、分割モジュール54は、結合監視レコードを再び分割し、分割監視レコードをメモリに格納してもよい。この実施例では、分割を通じて生成された監視レコードは、分割監視レコードと呼ばれる。例えば、メモリの大量の空間がアイドルである場合、又はユーザが監視精度を低減することを期待する場合、分割モジュール54の機能は、メモリから結合監視レコードを読み取り、結合監視レコードを少なくとも1つの分割監視レコードに分割するために使用されてもよい。各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、分割監視レコードにおいて、各監視レコードの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視レコードの値に等しい。
監視されるチャンクのアイデンティティは、結合監視レコードに保持される。1つの結合監視レコードが3つ以上の監視レコードを監視するために使用される場合、分割方法はもはや一意ではない。例えば、結合監視レコードが3つのチャンクを監視するために使用され、結合監視レコードは3つの監視レコードに分割されてもよい。各監視レコードは1つのチャンクを監視するために使用される。或いは、結合監視レコードは、2つの監視レコードに分割されてもよい。監視レコードのうち1つは2つのチャンクを監視するために使用され、他の監視レコードは、1つのチャンクを監視するために使用される。
監視レコードの分割は、監視レコードの結合の逆の処理である。実施例1、2、4及び5の理解に基づいて、複数の分割方法が存在してもよい。例えば、分割の後に、各監視パラメータは、監視されるチャンクの数に従って配分されてもよい。簡単な例は、3つのチャンクを監視する監視レコードにおいて監視パラメータIOPS=60であり、監視レコードが2つの部分に分割される場合、1つの部分が2つのチャンクを監視し、他の部分が1つのチャンクを監視し、分割監視レコードでは、前者のIOPS=40になり、後者のIOPS=20になる。
<実施例7>
この実施例は、他の分割技術を提供する。図7を参照すると、分割処理は、監視データにより監視されるチャンクの数又はチャンクのサイズに依存しなくてもよい。結合監視レコード又は単一のチャンクの監視レコードが分割され、分割を通じて生成された監視レコードは、分割監視レコードと呼ばれる。分割監視レコードは、監視されるデータのオフセットアドレス及び長さを保持してもよく、監視データが属するチャンクを更に保持してもよい。分割監視レコードでは、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しい。実現方式では、各監視パラメータの値は、分割された監視レコードにより監視されるデータ量に対する監視されるデータ量の割合に従って配分されてもよい。すなわち、監視パラメータは、各分割監視レコードで保持されたデータ長に従って各分割監視レコードに配分される。
図7に示すチャンク分割デバイスは、第2の読み取りモジュール61と、第2の読み取りモジュールに接続された第2の分割モジュール62と、第2の分割モジュールに接続された第2の書き込みモジュール63とを含む。
第2の読み取りモジュール61は、メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成される。これらの監視レコードは、結合監視レコードでもよく、結合されていない監視レコードでもよい。
第2の分割モジュール62は、読み取られた監視パラメータの各監視パラメータが予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成するように構成される。データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しい。分割された監視レコードの対応する監視パラメータの値に対する分割監視レコードの各監視パラメータの値の比は、分割された監視レコードにより監視されるデータ量に対する分割監視レコードにより監視されるデータ量の比でもよい。
第2の書き込みモジュールは、分割監視レコードをメモリに書き込む。分割監視レコードは、オフセットアドレス及びデータ長を保持するデータを監視するために使用される。
簡単な例は、監視レコードの監視パラメータIOPS=60であり、監視レコードがいずれかの数のチャンクを監視するために使用されるものである。監視レコードが2つの監視レコードに分割される場合、且つ、監視レコードの各監視パラメータがデータ量の長さに従って配分される場合、第1の監視レコードにより監視されるデータ量が第2の監視レコードにより監視されるデータ量の2倍である場合には、分割監視レコードにおいて、前者のIOPS=40であり、後者のIOPS=20である。各監視レコードは、監視されるデータのオフセットアドレス及び長さを更に保持する。オフセットアドレスは、データの開始アドレスであり、監視されるデータは、オフセットアドレス及び長さを通じて見つけられ得る。
ランダム性は、監視レコードを分割するか否かの基礎として使用されてもよい。メモリの監視レコードが分析され、2つの監視パラメータ(ランダムIOの数及びIOの総数)があり、IOの総数に対するランダムIOの数の割合がランダム性として使用される。高いランダム性を有するチャンクのデータについては、異なる部分のアクセス頻度は非常に異なる可能性がある。このような監視レコードでは、メモリが十分である場合に、分割が監視精度を改善し得る。ランダムIOの数及びIOの総数は共に監視パラメータである。連続IOに対して、ランダムIOは、2つの異なる入出力IOについて前の終了アドレスと次の開始アドレスとが非常に異なることを意味する。閾値がユーザにより指定されてもよい。前の終了アドレスと次の開始アドレスとの間の差が閾値を超えた場合、ランダムIOとして考えられる。連続IOは、2つの異なる入出力IOについて前の終了アドレスと次の開始アドレスとの間の差が大きくないことを意味する。他の実施例では、ランダム性以外の他のパラメータが使用されてもよい。例えば、IOPSが予め設定された閾値より大きい監視レコードが分割される。或いは、出力IOサイズ及びIO待ち時間がそれぞれの閾値を満たす監視レコードが分割される。
本発明のこの実施例では、各監視パラメータが予め設定された閾値を満たすことは、監視パラメータ自体が閾値を満たすことでもよく、予め設定されたアルゴリズムを通じて計算された後に、監視パラメータが閾値を満たすことでもよい。例えば、2つの監視パラメータの間の差が閾値を満たすこと、2つの監視パラメータの間の比が閾値を満たすことでもよい。
前述の実施例では、例を挙げる便宜上、結合された監視パラメータは1つのみのチャンクを監視する点に特に留意すべきである。実際には、結合監視レコードは、再び更に結合されてもよい。結合監視レコードを再び結合することは単に本発明の前述の実施例の繰り返しの適用であるため、詳細は再びここで説明しないことが当業者は分かる。同様に、分割監視レコードも再び分割されてもよい。
実施例の前述の説明を通じて、本発明は、ソフトウェアに加えて必要な普遍のハードウェアにより実現されてもよく、明らかにハードウェアにより実現されてもよいが、多くの場合にはソフトウェアの実現が好ましいことが、当業者により明確に分かる。このような理解に基づいて、本発明の技術的対策は、本質的に又は従来技術に寄与する部分は、ソフトウェアプロダクトの形式で実現されてもよい。コンピュータソフトウェアプロダクトは、読み取り可能ストレージ媒体(例えば、コンピュータのフロッピー(登録商標)ディスク、ハードディスク又は光ディスク)に格納され、コンピュータデバイス(パーソナルコンピュータ、サーバ、ネットワークデバイスでもよい)に対して本発明の実施例に記載の方法を実行するように命令する複数の命令を含む。
前述の説明は、本発明の単に具体的な実施例に過ぎず、本発明の保護範囲を限定することを意図するものではない。本発明に開示された技術範囲内で当業者により容易に理解できる如何なる変更又は置換も、本発明の保護範囲内に入るものとする。従って、本発明の保護範囲は、特許請求の保護範囲に従うものとする。
ライフサイクルの異なる段階において異なる管理がデータで実行され得る。例えば、階層ストレージがデータで実行され得る。ホット・スポット・データは、ストレージシステムの高性能の階層にマイグレーションされる。データの入力速度を改善するために、入力速度は高性能の階層で高速である。コールド・スポット・データは、低性能の階層にマイグレーションされる。ストレージシステムの性能及び容量要件を低価格で満たすために、入力速度は低性能の階層では低速である。
結合前に、各監視レコードはまた、各監視レコードにより監視されるチャンクのアイデンティティを記録する。結合監視レコードは、複数のチャンクを監視するために使用され、従って、複数のチャンクのアイデンティティは、結合監視レコードに記録される。異なるチャンクは、異なるアイデンティティを有する。アイデンティティを通じて、ユーザは、どのチャンクが監視レコードにより具体的に監視されるかを認識してもよい。
このステップにおいて、差の閾値検出は、ステップ11において読み取られた内容で実行される。検出された監視パラメータの数は、1つ又は複数でもよい。すなわち、1つのみの監視パラメータが決定されてもよい。異なる監視レコードにおいて監視パラメータの差が閾値を満たし、閾値を満たす方式が差が具体的な値より小さいことである場合又は具体的な値より大きくないことである場合、これらの監視レコードは全体として読み取られる。ステップ11において、読み取られた監視パラメータがIOPSを含み、監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEに記録されたIOPSがそれぞれ50、52、60、61及び70であり、IOPSの閾値が3であること、すなわち、IOPSの差が3より小さい監視レコードが全て結合の条件を満たすことを仮定する。監視レコードAのIOPSと監視レコードBのIOPSとの間の差52-50=2は閾値を満たし、監視レコードCのIOPSと監視レコードDのIOPSとの間の差は61-60=1も閾値を満たす。従って、監視レコードAの各監視パラメータと、監視レコードBの各監視パラメータとは、メモリから読み取られ、別々に結合され、チャンクAの監視レコードとチャンクBの監視レコードも結合監視レコードに記録される。監視レコードCの各監視パラメータと、監視レコードDの各監視パラメータも、メモリから読み取られ、結合され、チャンクCの監視レコードとチャンクDの監視レコードも結合監視レコードに記録される。
閾値検出が異なる種類の監視パラメータの差で実行される状況を適切に理解するために、前述の例に基づいて、以下に例が更に挙げられる。IOPSに加えて、監視パラメータのIOカウント(IO count)の差が更に比較され、監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEのIOカウントがそれぞれ10、11、20、30及び40であり、IOカウントの閾値が5であることを仮定する。すなわち、監視レコードAのIOカウントと監視レコードBのIOカウントとの差11-10=1のみが閾値より小さいという要件を満たす。このように、監視レコードA及び監視レコードBは、IOPS及びIOカウントの閾値の要件を同時に満たす。監視レコードC及び監視レコードDはIOPSの閾値の要件を満たすが、監視レコードC及び監視レコードDは、IOカウントの閾値の要件を満たさない。従って、監視レコードA及び監視レコードBのみがメモリから読み取られ、結合監視レコードを生成するように結合され、監視レコードCも監視レコードDもメモリから読み取られない。
このように、監視精度が相当に拡張され、単一のチャンクの監視パラメータの元々の記録は、複数のチャンクの監視パラメータの記録に変更される。すなわち、結合された監視レコードは、自分のチャンクを元々監視し、結合監視レコードにおいて、各監視パラメータの値は、これらのチャンクを一緒に監視することにより取得された値に等しい。結合監視レコードにおいて、各監視パラメータはまた、結合監視パラメータとも呼ばれることがある。
例えば、図2において、監視レコードA及び監視レコードBは共に、それぞれIOPS、IOカウント及びIO頻度である3つの監視パラメータにより形成される。監視レコードAにおいて、IOPSの値は50であり、IOカウントの値は10であり、IO頻度の値は10である。監視レコードBにおいて、IOPSの値は52であり、IOカウントの値は11であり、IO頻度の値は20である。本発明のこの実施例では、監視パラメータの値が直接加算され、チャンクA及びチャンクBにより形成されたセットが新たなチャンクABとして見なされた場合、IOPSを例として挙げることにより、チャンクA又はチャンクBのIOはチャンクABのIOに属し、IOは、結合されたIOPSにカウントされるべきである。従って、結合監視レコードの監視パラメータの値は、IOPS=50+52=102、IOカウント10+11=21及びIO頻度=10+20=30である。結合により生成された結合監視パラメータは、結合された監視パラメータの内容によって統合されるため、結合された監視パラメータにより監視されるチャンクのIO状況は、結合監視レコードに記録され、結合された監視レコードは、削除されてもよく、結合監視レコードと置換される。結合された監視レコードを削除する動作は、これらのパラメータが読み取られた後且つ結合動作が完了する前に実行されてもよく、結合動作が完了した後に実行されてもよい点に特に留意すべきである。前者はできるだけ早くメモリの空間を解放することができ、後者はセキュリティを改善することができ、例えば、結合監視レコードが計算されていない場合に生じた停電によりもたらされるデータロスが回避可能になる。
結合モジュール52は、読み取りモジュール51により読み取られた内容で差の閾値検出を実行する。検出された監視パラメータの数は、1つ又は複数でもよい。すなわち、1つのみの監視パラメータが決定されてもよい。異なる監視レコードにおいて監視パラメータの差が閾値を満たし、閾値を満たす方式が差が具体的な値より小さいことである場合又は具体的な値より大きくないことである場合、これらの監視レコードは全体として読み取られる。ステップ11において、読み取られた監視パラメータがIOPSを含み、監視レコードA、監視レコードB、監視レコードC、監視レコードD及び監視レコードEに記録されたIOPSがそれぞれ50、52、60、61及び70であり、IOPSの閾値が3であること、すなわち、IOPSの差が3より小さい監視レコードが全て結合の条件を満たすことを仮定する。監視レコードAのIOPSと監視レコードBのIOPSとの間の差52-50=2は閾値を満たし、監視レコードCのIOPSと監視レコードDのIOPSとの間の差は61-60=1も閾値を満たす。従って、監視レコードAの各監視パラメータと、監視レコードBの各監視パラメータとは、メモリから読み取られ、別々に結合され、チャンクAの監視レコードとチャンクBの監視レコードも結合監視レコードに記録される。監視レコードCと、監視レコードDも、メモリから読み取られ、結合され、チャンクCの監視レコードとチャンクDの監視レコードも結合監視レコードに記録される。
このように、監視精度が相当に拡張され、単一のチャンクの監視パラメータの元々の記録は、複数のチャンクの監視パラメータの記録に変更される。すなわち、結合された監視レコードは、自分のチャンクを元々監視し、結合監視レコードにおいて、各監視パラメータの値は、これらのチャンクを一緒に監視することにより取得された値に等しい。結合監視レコードにおいて、各監視パラメータはまた、結合監視パラメータとも呼ばれることがある。
例えば、図2において、監視レコードA及び監視レコードBは共に、それぞれIOPS、IOカウント及びIO頻度である3つの監視パラメータにより形成される。監視レコードAにおいて、IOPSの値は50であり、IOカウントの値は10であり、IO頻度の値は10である。監視レコードBにおいて、IOPSの値は52であり、IOカウントの値は11であり、IO頻度の値は20である。本発明のこの実施例では、監視パラメータの値が直接加算され、チャンクA及びチャンクBにより形成されたセットが新たなチャンクABとして見なされた場合、IOPSを例として挙げることにより、チャンクA又はチャンクBのIOはチャンクABのIOに属し、IOは、結合されたIOPSにカウントされるべきである。従って、結合監視レコードの監視パラメータの値は、IOPS=50+52=102、IOカウント10+11=21及びIO頻度=10+20=30である。結合により生成された結合監視パラメータは、結合された監視パラメータの内容によって統合されるため、結合された監視パラメータにより監視されるチャンクのIO状況は、結合監視レコードに記録され、結合された監視レコードは、削除されてもよく、結合監視レコードと置換される。結合された監視レコードを削除する動作は、これらのパラメータが読み取られた後且つ結合動作が完了する前に実行されてもよく、結合動作が完了した後に実行されてもよい点に特に留意すべきである。前者はできるだけ早くメモリの空間を解放することができ、後者はセキュリティを改善することができ、例えば、結合監視レコードが計算されていない場合に生じた停電によりもたらされるデータロスが回避可能になる。

Claims (21)

  1. 複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの1つ以上のチャンクを監視するために使用され、前記監視レコードは、少なくとも1つの監視パラメータのセットである監視レコード管理方法であって、
    前記メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るステップと、
    前記メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、前記読み取られた監視レコードを結合し、結合監視レコードを生成するステップであり、監視されるチャンクのアイデンティティは、前記結合監視レコードに記録され、前記メモリから、前記読み取られた監視レコードを削除するステップであり、前記結合監視レコードにおける各監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しいステップと、
    前記結合監視レコードをメモリに書き込むステップであり、前記結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用されるステップと
    を有する監視レコード管理方法。
  2. 前記結合監視レコードを前記メモリに書き込んだ後に、
    前記ストレージにおけるチャンクのI/O要求を監視するステップと、
    前記メモリの前記結合監視レコードの各監視パラメータを更新するために、前記結合監視レコードにより監視される前記チャンクのI/O要求レコードを使用するステップと
    を更に有する、請求項1に記載の監視レコード管理方法。
  3. 前記メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取ることは、具体的に、
    IOPSが前記IOPSの予め設定された閾値を満たし、IO回数が前記IO回数の予め設定された閾値を満たす監視レコードを読み取ることである、請求項1又は2に記載の監視レコード管理方法。
  4. 前記結合監視レコードを前記メモリに書き込んだ後に、
    前記メモリから、前記結合監視レコードを読み取り、前記結合監視レコードを少なくとも1つの分割監視レコードに分割するステップであり、各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、前記分割監視レコードにおいて、監視パラメータの値の合計は、前記結合監視レコードの監視パラメータの値に等しいステップと、
    前記メモリから、前記読み取られた結合監視レコードを削除し、各分割監視レコードを前記結合監視レコードにより監視される前記メモリに書き込むステップと
    を更に有する、請求項1ないし3のうちいずれか1項に記載の監視レコード管理方法。
  5. 複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットである監視レコード分割方法であって、
    前記メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るステップと、
    前記読み取られた監視パラメータの各監視パラメータが予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成するステップであり、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、前記分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しいステップと、
    前記分割監視レコードを前記メモリに書き込むステップであり、前記分割監視レコードは、オフセットアドレス及びデータ長を保持するデータを監視するために使用されるステップと
    を有する監視レコード分割方法。
  6. 各分割監視レコードの各監視パラメータの値は、具体的に、各分割監視レコードに保持されたデータ長に従って、分割前の前記監視レコードの各監視パラメータの値を各分割監視レコードに配分することにより取得された値である、請求項5に記載の監視レコード分割方法。
  7. 前記監視パラメータは、IOの総数に対するランダムIOの数の割合である、請求項5又は6に記載の監視レコード分割方法。
  8. 複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの1つ以上のチャンクを監視するために使用され、前記監視レコードは、少なくとも1つの監視パラメータのセットである監視レコード管理デバイスであって、
    前記メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成された第1の読み取りモジュールと、
    前記メモリから、1つ以上の監視パラメータの差が予め設定された閾値を満たす監視レコードを読み取り、前記読み取られた監視レコードを結合し、結合監視レコードを生成するように構成された結合モジュールであり、監視されるチャンクのアイデンティティは、前記結合監視レコードに記録され、前記メモリから、前記読み取られた監視レコードを削除するように構成された結合モジュールであり、前記結合監視レコードにおける各監視パラメータの値は、監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しい結合モジュールと、
    前記結合監視レコードを前記メモリに書き込むように構成された第1の書き込みモジュールであり、前記結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用される第1の書き込みモジュールと
    を有する監視レコード管理デバイス。
  9. 前記第1の書き込みモジュールは、前記ストレージにおけるチャンクのI/O要求を監視し、前記メモリの前記結合監視レコードの各監視パラメータを更新するために、前記結合監視レコードにより監視される前記チャンクのI/O要求レコードを使用するように更に構成される、請求項8に記載の監視レコード管理デバイス。
  10. 前記第1の読み取りモジュールは、前記メモリの各監視レコードにおいて、1秒当たりの入出力操作(IOPS)がIOPSの予め設定された閾値を満たし、IO回数がIO回数の予め設定された閾値を満たす監視レコードを読み取るように構成される、請求項8又は9に記載の監視レコード管理デバイス。
  11. 前記メモリから、前記結合監視レコードを読み取り、前記結合監視レコードを少なくとも1つの分割監視レコードに分割するように構成された第1の分割モジュールであり、各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、前記分割監視レコードにおいて、監視パラメータの値の合計は、前記結合監視レコードの監視パラメータの値に等しく、前記メモリから、前記読み取られた結合監視レコードを削除し、各分割監視レコードを前記メモリに書き込むように構成された第1の分割モジュールを更に有する、請求項8ないし10のうちいずれか1項に記載の監視レコード管理デバイス。
  12. 複数の監視レコードがメモリに格納され、各監視レコードは、ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットである監視レコード分割デバイスであって、
    前記メモリの各監視レコードから少なくとも1つの監視パラメータを読み取るように構成された第2の読み取りモジュールと、
    前記読み取られた監視パラメータの各監視パラメータが予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成するように構成された第2の分割モジュールであり、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、前記分割監視レコードにおいて、監視パラメータの値の合計は、結合監視レコードの監視パラメータの値に等しい第2の分割モジュールと、
    前記分割監視レコードを前記メモリに書き込むように構成された第2の書き込みモジュールであり、前記分割監視レコードは、オフセットアドレス及びデータ長を保持するデータを監視するために使用される第2の書き込みモジュールと
    を有する監視レコード分割デバイス。
  13. 前記第2の分割モジュールは、前記読み取られた監視パラメータの各監視パラメータが前記予め設定された閾値を満たす監視レコードを分割し、分割後に前記少なくとも2つの監視レコードを生成するように具体的に構成され、前記データの前記オフセットアドレス及び前記データ長は、各分割監視レコードに保持され、前記分割監視レコードにおいて、前記監視パラメータの値の合計は、前記結合監視レコードの前記監視パラメータの値に等しく、分割前の前記監視レコードの各監視パラメータの値は、各分割監視レコードに保持されたデータ長に従って、各分割監視レコードに配分される、請求項12に記載の監視レコード分割デバイス。
  14. 前記第2の読み取りモジュールは、前記メモリの各監視レコードから、ランダムIOの数とIOの総数とを読み取るように具体的に構成され、前記閾値は、IOの総数に対するランダムIOの数の割合である、請求項11又は12に記載の監視レコード分割デバイス。
  15. CPUと、前記CPUと通信する通信インタフェースと、前記CPUと通信するメモリとを有するストレージコントローラであって、
    前記通信インタフェースは、ストレージと通信するように構成され、
    前記メモリは、複数の監視レコードを格納するように構成され、各監視レコードは、前記ストレージの1つのチャンクを監視するために使用され、1つの監視レコードは、1つのチャンクの監視パラメータのセットであり、
    プロセッサは、プログラムを実行するように構成され、
    前記プログラムは、
    前記メモリの監視レコードから少なくとも1つの監視パラメータを読み取り、
    前記読み取られた監視パラメータについて、異なる監視レコードの間で同じ種類の監視パラメータの差を計算し、
    前記メモリから、それぞれの監視パラメータの差が対応する予め設定された閾値を満たす監視レコードを読み取り、前記読み取られた監視レコードを結合し、結合監視レコードを生成し、監視されるチャンクのアイデンティティは、前記結合監視レコードに記録され、前記メモリから、結合された前記監視レコードを削除し、前記結合監視レコードにおける少なくとも1つの監視パラメータの値は、全ての監視されるチャンクが1つのチャンクとして見なされるときに各監視パラメータの値に等しく、
    前記結合監視レコードを前記メモリに書き込むために使用され、
    前記結合監視レコードは、結合前の各監視レコードにより監視されるチャンクを監視するために使用されるストレージコントローラ。
  16. 前記結合監視レコードを前記メモリに書き込んだ後に、
    前記ストレージにおけるチャンクのI/O要求を監視し、
    前記チャンクのI/O要求に従って、前記メモリの前記結合監視レコードの各監視パラメータを更新することを更に有し、前記I/O要求は、前記結合監視レコードにより監視される、請求項15に記載のストレージコントローラ。
  17. 前記メモリから、それぞれの監視パラメータの差が対応する予め設定された閾値を満たす監視レコードを読み取ることは、具体的に、
    前記メモリから、IPOSの値の差が予め設定されたIPOS閾値を満たし、IO回数の差が予め設定されたIO回数閾値を満たす監視レコードを読み取ることを有する、請求項16又は17に記載のストレージコントローラ。
  18. 前記結合監視レコードを前記メモリに書き込むステップの後に、
    前記メモリから、前記結合監視レコードを読み取り、前記結合監視レコードを少なくとも1つの分割監視レコードに分割し、各分割監視レコードは、少なくとも1つのチャンクを監視するために使用され、前記分割監視レコードの監視パラメータの値の合計は、前記結合監視レコードの監視パラメータの値に等しく、
    前記メモリから、前記読み取られた結合監視レコードを削除し、各分割監視レコードを前記メモリに書き込むことを更に有する、請求項15ないし17のうちいずれか1項に記載のストレージコントローラ。
  19. CPUと、前記CPUと通信する通信インタフェースと、前記CPUと通信するメモリとを有するストレージコントローラであって、
    前記通信インタフェースは、ストレージと通信するように構成され、
    前記メモリは、複数の監視レコードを格納するように構成され、各監視レコードは、前記ストレージの少なくとも1つのチャンクを監視するために使用され、各監視レコードは、監視されるチャンクの監視パラメータのセットであり、
    プロセッサは、プログラムを実行するように構成され、
    前記プログラムは、前記メモリの各監視レコードから少なくとも1つの監視パラメータを読み取り、
    前記監視パラメータの各値が予め設定された閾値を満たす監視レコードを分割し、分割後に少なくとも2つの監視レコードを生成し、データのオフセットアドレス及びデータ長は、各分割監視レコードに保持され、前記分割監視レコードの監視パラメータの値の合計は、結合監視レコードの同じ種類の監視パラメータの値に等しく、
    前記分割監視レコードを前記メモリに書き込むために使用され、
    前記分割監視レコードは、前記分割監視レコードに保持された前記オフセットアドレス及び前記データ長により記述されるデータを監視するために使用されるストレージコントローラ。
  20. 各分割監視レコードの各監視パラメータの値は、具体的に、各分割監視レコードに保持されたデータ長に従って、分割前の前記監視レコードの各監視パラメータの値を各分割監視レコードに配分することにより取得された値である、請求項19に記載のストレージコントローラ。
  21. 前記監視パラメータは、IOの総数に対するランダムIOの数の割合である、請求項19又は20に記載のストレージコントローラ。
JP2015548142A 2012-12-21 2012-12-21 監視レコード管理方法及びデバイス Active JP6060276B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/087170 WO2014094303A1 (zh) 2012-12-21 2012-12-21 一种监控记录管理方法与装置

Publications (2)

Publication Number Publication Date
JP2016500459A true JP2016500459A (ja) 2016-01-12
JP6060276B2 JP6060276B2 (ja) 2017-01-11

Family

ID=49866740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015548142A Active JP6060276B2 (ja) 2012-12-21 2012-12-21 監視レコード管理方法及びデバイス

Country Status (5)

Country Link
US (1) US8924642B2 (ja)
EP (1) EP2811410B1 (ja)
JP (1) JP6060276B2 (ja)
CN (1) CN103502925B (ja)
WO (1) WO2014094303A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9607036B2 (en) * 2013-08-21 2017-03-28 International Business Machines Corporation Managing a data set
CN105574055B (zh) * 2014-11-07 2019-02-26 阿里巴巴集团控股有限公司 防止内存耗尽的方法及装置
CN105095099B (zh) * 2015-07-21 2017-12-29 浙江大学 一种基于内存页位图变更的大内存页整合方法
CN105022696B (zh) * 2015-07-21 2017-12-29 浙江大学 一种基于内存访问热度的大内存页整合方法
US10659532B2 (en) * 2015-09-26 2020-05-19 Intel Corporation Technologies for reducing latency variation of stored data object requests
CN117331511B (zh) * 2023-11-30 2024-02-23 苏州元脑智能科技有限公司 一种存储设备及其数据传输方法、装置、系统和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008135055A (ja) * 1993-06-21 2008-06-12 Hitachi Ltd 計算機システムおよび二次記憶装置
WO2011077489A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US20110185140A1 (en) * 2010-01-25 2011-07-28 Hitachi, Ltd. Method and apparatus to support determining storage area unit size

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6125392A (en) * 1996-10-11 2000-09-26 Intel Corporation Method and apparatus for high speed event log data compression within a non-volatile storage area
US20020091722A1 (en) * 2000-03-03 2002-07-11 Surgient Networks, Inc. Systems and methods for resource management in information storage environments
US20020049841A1 (en) * 2000-03-03 2002-04-25 Johnson Scott C Systems and methods for providing differentiated service in information management environments
US9268780B2 (en) * 2004-07-01 2016-02-23 Emc Corporation Content-driven information lifecycle management
JP4579000B2 (ja) * 2005-02-14 2010-11-10 株式会社日立製作所 計算機システムにおけるデータ配置設定
WO2007036932A2 (en) * 2005-09-27 2007-04-05 Zetapoint Ltd. Data table management system and methods useful therefor
JP4749140B2 (ja) * 2005-12-05 2011-08-17 株式会社日立製作所 データマイグレーション方法及びシステム
JP4284332B2 (ja) * 2006-04-21 2009-06-24 株式会社東芝 パフォーマンスモニタ装置、データ収集方法及びそのプログラム
WO2008007348A1 (en) * 2006-07-12 2008-01-17 Mpstor Limited A data storage system
US7496707B2 (en) * 2006-08-22 2009-02-24 International Business Machines Corporation Dynamically scalable queues for performance driven PCI express memory traffic
US8627017B2 (en) * 2008-12-30 2014-01-07 Intel Corporation Read and write monitoring attributes in transactional memory (TM) systems
JP4832553B2 (ja) * 2009-06-16 2011-12-07 株式会社日立製作所 コピー開始タイミングを制御するシステム及び方法
JP5253353B2 (ja) * 2009-10-26 2013-07-31 株式会社日立製作所 情報処理システム、及びストレージ監視サーバの管理方法
US9020781B2 (en) * 2009-12-11 2015-04-28 Corsair Memory, Inc. Monitoring memory module parameters in high performance computers
US8375180B2 (en) * 2010-02-05 2013-02-12 International Business Machines Corporation Storage application performance matching
WO2012066671A1 (ja) * 2010-11-18 2012-05-24 株式会社日立製作所 計算機システムの管理装置及び管理方法
US20140122774A1 (en) * 2012-10-31 2014-05-01 Hong Kong Applied Science and Technology Research Institute Company Limited Method for Managing Data of Solid State Storage with Data Attributes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008135055A (ja) * 1993-06-21 2008-06-12 Hitachi Ltd 計算機システムおよび二次記憶装置
WO2011077489A1 (ja) * 2009-12-24 2011-06-30 株式会社日立製作所 仮想ボリュームを提供するストレージシステム
US20110185140A1 (en) * 2010-01-25 2011-07-28 Hitachi, Ltd. Method and apparatus to support determining storage area unit size

Also Published As

Publication number Publication date
EP2811410B1 (en) 2018-05-30
EP2811410A1 (en) 2014-12-10
EP2811410A4 (en) 2017-04-05
US20140181332A1 (en) 2014-06-26
CN103502925A (zh) 2014-01-08
CN103502925B (zh) 2016-05-25
JP6060276B2 (ja) 2017-01-11
US8924642B2 (en) 2014-12-30
WO2014094303A1 (zh) 2014-06-26

Similar Documents

Publication Publication Date Title
US10127233B2 (en) Data processing method and device in distributed file storage system
US9430321B2 (en) Reconstructing data stored across archival data storage devices
JP6060276B2 (ja) 監視レコード管理方法及びデバイス
US9436571B2 (en) Estimating data storage device lifespan
US8762667B2 (en) Optimization of data migration between storage mediums
JP5298982B2 (ja) ストレージシステム
US8762674B2 (en) Storage in tiered environment for colder data segments
US9251050B2 (en) Apparatus and method for resource alerts
US9424156B2 (en) Identifying a potential failure event for a data storage device
JP2013509658A (ja) 将来の使用推量に基づく記憶メモリの割り当て
US20140337457A1 (en) Using network addressable non-volatile memory for high-performance node-local input/output
WO2021073635A1 (zh) 一种数据存储方法及装置
US9557938B2 (en) Data retrieval based on storage device activation schedules
CN108089825B (zh) 一种基于分布式集群的存储系统
US9436524B2 (en) Managing archival storage
CN107422989A (zh) 一种Server SAN系统多副本读取方法及存储架构
CN108304142A (zh) 一种数据管理方法和装置
US9430149B2 (en) Pipeline planning for low latency storage system
JP6582721B2 (ja) 制御装置、ストレージシステム、及び制御プログラム
US9430152B2 (en) Data device grouping across data storage device enclosures for synchronized data maintenance
US9766677B2 (en) Cascading startup power draws of enclosures across a network
CN107132996B (zh) 基于智能精简配置的存储方法、模块及系统
US11989415B2 (en) Enabling or disabling data reduction based on measure of data overwrites

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160720

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160726

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161212

R150 Certificate of patent or registration of utility model

Ref document number: 6060276

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250