JP2014517971A - データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム - Google Patents

データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム Download PDF

Info

Publication number
JP2014517971A
JP2014517971A JP2014511716A JP2014511716A JP2014517971A JP 2014517971 A JP2014517971 A JP 2014517971A JP 2014511716 A JP2014511716 A JP 2014511716A JP 2014511716 A JP2014511716 A JP 2014511716A JP 2014517971 A JP2014517971 A JP 2014517971A
Authority
JP
Japan
Prior art keywords
data
pool
free space
volume
threshold
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
JP2014511716A
Other languages
English (en)
Other versions
JP5946521B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2014517971A publication Critical patent/JP2014517971A/ja
Application granted granted Critical
Publication of JP5946521B2 publication Critical patent/JP5946521B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】 データ・ストレージ・システムのデータのデフラグ要求に応答するための方法、データ・ストレージ・システム及びコンピュータ・プログラム製品を提供する。
【解決手段】 少なくとも1つのストレージ制御部と、データがボリュームの形で格納され、少なくとも複数のボリュームが少なくとも幾らかの空き領域を有し、且つ、複数のボリュームのグループがプールを構成する、データ・ストレージとを含むコンピュータ実装データ・ストレージ・システムである。デフラグ要求に応答して、ストレージ制御部は、プールからのデータのマイグレーションを開始して付加的な空き領域を生成する。データのマイグレーションの後で、プールのデータの断片化を計算し、プールの既存の空き領域の量を求める。既存の空き領域の量を空き領域閾値と比較し、ここで、空き領域閾値は計算された断片化と関連している。比較が、空き領域の量が閾値を下回ることを示す場合には、スピル・ボリュームをプールに付加する。他の場合には、スピル・ボリュームを付加することなく、プールをそのままの状態に保持する。次いで、プールのデフラグを開始する。
【選択図】 図3

Description

本発明は、コンピュータ実装データ・ストレージに関し、より具体的には、このようなデータ・ストレージに関するデータのデフラグ(デフラグメンテーション(断片化解消)、defragmentation)に関する。
その2つの例がディスク・ストレージ及びRAID(Redundant Array of Independent Disk、独立ディスク冗長アレイ)システムである、データ・ストレージ・システムのシリアル・デバイス上のデータ・ストレージを更新することは、典型的には、断片化(フラグメンテーション、fragmentation)として知られる現象の発生をもたらす。例えば、データ・セットのようなファイルが最初に作成されるとき、連続的領域を得ることが可能な場合、コンピュータ実装システムにより、ファイルは、ディスク又はRAIDシステム上の一連のトラック又はシリンダなどの連続的領域に割り当てられる。しかしながら、ユーザがデータを付加するか又は最初のファイルのデータを更新すると、その付加又は更新に対して、ディスク上の別の物理的位置において何らかの付加的な空間が割り当てられ、さらに、ファイルの古くなった(outdated)部分が削除され、その結果、削除に起因するオリジナル・ファイルのデータの断片化、又はデータの配置に起因する付加データ若しくは更新データの断片化がもたらされ得る。
より多くのデータ及びファイルが付加、削除、及び修正されるにつれて、断片化が、時間の経過と共に増加する傾向がある。従って、断片化したデータを分析し、データの部分を削除された領域内に配置するようにデータを移動して再編成し、データがより連続的かつ正しい順序になるようにする、デフラグ・アルゴリズムが開発された。デフラグ・アルゴリズムの多数の例の一部として、Dino Softwareの「Real Time Defrag」、Computer Associatesの「Compaktor」及びInternational Business Machines Corp.の「DFDSS Defrag」が挙げられる。
本明細書において、「空き領域(freespace)」という用語は、空間を「空いた状態」にしてデータの格納のために使用可能にする、データが削除されたストレージ空間(storage space)、又は、データのない付加されたストレージ空間を表す専門用語として用いられる。
データ・ストレージ・システムのデータのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びコンピュータ・プログラム製品(プログラム)を提供する。
1つの実施形態において、少なくとも1つのストレージ制御部と、データがボリュームの形で格納され、少なくとも複数のボリュームが少なくとも幾らかの空き領域を有し、且つ、複数のボリュームのグループがプールを構成する、データ・ストレージとを含む、コンピュータ実装データ・ストレージ・システムにおいて、以下のこと、即ち、
プールからのデータのマイグレーションを開始して、付加的な空き領域を生成することと、
データのマイグレーションの後で、プールのデータの断片化を計算することと、
プールの既存の空き領域の量を求めることと、
既存の空き領域の量を空き領域閾値と比較することであって、空き領域閾値は計算された断片化と関連している、比較することと、
比較が、空き領域の量が閾値を下回ることを示す場合には、スピル(spill、溢れ)ボリュームをプールに付加することと、
他の場合には、スピル・ボリュームを付加することなく、プールをそのままの状態に保持することと、
プールのデフラグを開始することと、
が実施される。
別の実施形態において、付加的に、もしあれば、スピル・ボリュームを一時的ボリュームとして識別し、プールのデフラグの後で、スピル・ボリュームをプールから除去する。
更に別の実施形態において、空き領域閾値は公称閾値を含み、計算された断片化は、空き領域閾値を調整してこれを増加又は減少させる。
更に別の実施形態において、調整は、ある範囲の値を含む。
更に別の実施形態において、値の範囲は、計算された断片化の指標に関連する値の間で調整される。
別の実施形態において、範囲内の値は計算された断片化の指標に基づくものとして、空き領域閾値(T)は、式:
(T)=(プールの総ストレージ容量)×(公称閾値)×{0.5〜1.5の範囲}
に従って求められる。
更に別の実施形態において、計算された断片化の指標は、範囲の下部に加算される0から1.0までの値である。
更なる別の実施形態において、計算された断片化は、断片(fragment)の推定数とプールのデータ・ストレージ容量の比である。
更に別の実施形態において、データは複数のデータ・セットを有するボリュームを含み、データ・セットは、それぞれ少なくとも1つのデータ・エクステント(data extent)を有し、断片の推定数は、プールのデータ・エクステントの数からプールのデータ・セットの数を減算することにより求められる。
本発明のより完全な理解のために、添付図面と併せて、以下の詳細な説明を参照すべきである。
異なるタイプのコンピューティング・デバイス及びデータ・ストレージ・デバイスから構成される、コンピュータ実装システムの1つの実施形態を示す高レベル・ブロック図である。 図1のデータ・ストレージ・デバイスの少なくとも1つのデフラグを提供するための、コンピュータ実装システムの1つの実施形態を示す高レベル・ブロック図である。 図1及び図2のシステムを動作させる例示的な方法を示すフローチャートである。 図1及び図2のシステムのデータ・ボリュームの概略図である。 図1及び図2のシステムのデータ・ボリュームの別の概略図である。
本発明が、以下の説明において図面を参照して好ましい実施形態で説明され、図中、同様の符号が同一又は類似の要素を表す。本発明は、本発明の目的を達成するための最良の形態に関して説明されるが、当業者であれば、本発明の趣旨又は範囲から逸脱することなく、これらの教示に照らして、変形を実現できることを認識するであろう。
図1を参照すると、コンピュータ実装システム100の例が示される。このシステムは、システム内のデータ・ストレージ・デバイスの少なくとも1つのデフラグ中、データのポイント・イン・タイム・コピー(point-in-time copy)を提供するように本発明を実装することができる多くのコンピュータ実装システムの1つである。システム・アーキテクチャ100は、本明細書で開示される装置及び方法から利益を得ることができる種々のタイプのコンピューティグ・デバイスを示すように提示される。システム・アーキテクチャ100は単なる例として提示されており、限定することを意図するものではない。実際に、本明細書で開示される装置及び方法は、多種多様な異なるコンピューティング・デバイスに適用可能であり、本明細書で示されるものに限定されるわけではない。
示されるように、例示的なシステム・アーキテクチャ100は、ネットワーク104により相互接続された1つ又は複数のコンピュータ・プロセッサ102、106を含む。ネットワーク104は、例えば、ローカル・エリア・ネットワーク(LAN)、広域ネットワーク(WAN)、インターネット、イントラネット等を含むことができる。特定の実施形態において、コンピュータ・プロセッサ102、106は、クライアント・コンピュータ・プロセッサ102及びサーバ・コンピュータ・プロセッサ106の両方を含むことができる。例において、クライアント・コンピュータ102は通信セッションを開始するのに対して、サーバ・コンピュータ・プロセッサ106は、クライアント・コンピュータ・プロセッサ102からの要求を待つ。特定の実施形態において、コンピュータ・プロセッサ102及び/又はサーバ・プロセッサ106は、1つ又は複数の内部若しくは外部データ・ストレージ・システム112(例えば、ハード・ディスク・ドライブ、ソリッド・ステート・ドライブ、テープ・ドライブ、ライブラリ等)に接続することができる。これらのコンピュータ・プロセッサ102、106、及びダイレクト・アタッチト(direct-attached)データ・ストレージ・システム112は、ATA、SATA、SCSI、SAS、ファイバー・チャネル等のようなプロトコルを用いて通信することができる。
特定の実施形態において、システム・アーキテクチャ100は、サーバ・プロセッサ106の背後に、ストレージ・エリア・ネットワーク(SAN)又はLAN(例えば、ネットワーク・アタッチト(network-attached)ストレージを用いる場合)のようなストレージ・ネットワーク108を含むことができる。このネットワーク108は、サーバ・プロセッサ106を、RAID(独立ディスク冗長アレイ)アレイ、テープ・ライブラリ110b、個々のハード・ディスク・ドライブ110c又はソリッド・ステート・ドライブ110c、テープ・ドライブ又はライブラリ110d、CD−ROMライブラリ、仮想テープ・ライブラリ等を含む、ハード・ディスク・ドライブ又はソリッド・ステート・ドライブのアレイ110aのような、1つ又は複数のデータ・ストレージ・システム110に接続することができる。ストレージ・システム110にアクセスするために、サーバ・プロセッサ106は、サーバ・プロセッサ106上の1つ又は複数のポートからストレージ・システム110上の1つ又は複数のポートへの物理的接続によって通信することができる。接続は、スイッチ、ファブリック、直接接続等を通じたものにすることができる。特定の実施形態において、サーバ・プロセッサ106及びストレージ・システム110は、ファイバ・チャネル(FC)のようなネットワーク規格を用いて通信することができる。
図2を参照すると、図1のデータ・ストレージ・デバイスの少なくとも1つのデフラグのためのデータ処理を提供する、コンピュータ実装システム200の1つの実施形態が示される。コンピュータ実装システム200は、クライアント・システム102、サーバ・プロセッサ106、ストレージ・システム110、及びアタッチト・ストレージ112を含む図1のデバイス又はシステムのいずれかに、又は、ネットワーク104を介して接続された別のコンピュータ実装システムに実装することができる。示されるように、コンピュータ実装システム200は、データ処理を提供するための1つ又は複数のモジュールを含む。モジュールは、1つ又は複数のコンピュータ・プロセッサ、及び、非一時的コンピュータ使用可能プログラム・コードが内部に具体化された1つ又は複数の関連したコンピュータ使用可能ストレージ媒体に配置することができる。コンピュータ・プロセッサ及びコンピュータ使用可能ストレージ媒体の詳細は、後述される。コンピュータ実装システム200は、コマンド、情報、及びコンピュータ使用可能プログラム・コードを受け取り、コマンド、通知及び情報を1つ又は複数のホスト若しくはホスト端末206に提供することができる。これらのモジュールは、スタンドアロン型ユニットを含むストレージ制御部210のアプリケーション内に組み込むこと又はそれを含むこと、又はホストの一部、サーバ・プロセッサ、ストレージ・システム若しくはアタッチト・ストレージ含むことができる。
モジュールは、ホスト・システム及びデフラグ・アプリケーションとインターフェース接続するためのモジュール220と、そのデータがデフラグ・アプリケーションによりデフラグされ、且つ、アクティブ・データを有さない付加的なボリュームを備えたストレージ・デバイスを含むデータ・ストレージ240とインターフェース接続するためのモジュール230とを含むことができる。
互いにグループ化された状態で示されているが、上述のように、モジュール及び他の要素は、種々のコンピュータ・プロセッサ及びシステムの間で分散されてもよい。
1つの実施形態において、データ・ストレージ240のデータは、複数のデータ・セットを有する1つ又は複数のボリュームのプールを含み、データ・セットはそれぞれ少なくとも1つのデータ・エクステントを有する。
特に、ストレージ制御部210は、コマンドに応答し、インターフェース220を介し、ホスト206に情報を要求し、そこから情報を受信する、応答モジュール250を実装する。データ管理モジュール260は、1つのタイプのデータ・ストレージから別のタイプのデータ・ストレージへとデータを移動させる、International Business Machines Corp.の「HSM」のようなデータ管理プロセスを呼び出す。一例として、「HSM」は、古くなって特定の閾値を満たさないデータを見つけ出し、それを、例えばハード・ディスク・ドライブのRAID構成からテープ・ライブラリへといったように、より低いアクティブ・レベルのデータ・ストレージに移動させる。
本明細書でのデータ管理は、データ・プール全体に対して行われる。
空き領域モジュール270は、データ・プールの断片化を判断し、プール内の既存の空き領域の量を求め、断片化及び空き領域に対する種々のアクションを行う。
デフラグ・モジュール280は、例えば、Dino Softwareの「Real Time Defrag」、Computer Associatesの「Compaktor」、及びInternational Business Machines Corp.の「DFDSS Defrag」のようなデフラグ・プロセスを呼び出すことによって、デフラグを開始する。デフラグ・モジュールは、ユーザが、プールのためのデフラグ・プロセスに関する選択肢を選択することを可能にすることができる。ユーザは、デフラグ・プロセスにより、デフラグされるオブジェクト、及び、プールにおける移動されたデータ・オブジェクトの一部の配置を選択することができる。
上述のように、データ・ストレージ240は、各々が複数のボリュームを有する1つ又は複数のデータ・ストレージ・プールを含むことができる。1つの実施形態において、アクティブ・データを有さない付加的なボリュームが、多数の「スピル」ボリューム290を含み、これらは、アクティブ・データを含まず、且つ、プールのどれにも属さないボリュームである。
当業者には周知のように、コンピュータ実装データ・ストレージは、「トラック」及び「シリンダ」のような、ハード・ドライブのディスク・ストレージの過去の物理的レイアウトに基づくが、現代の物理的ストレージより小容量の測定及びアドレス指定を用いている。大量のデータ・ストレージを収容するために、アドレス指定は、種々の方法で拡張されてきた。一例が、International Business Machines Corp.の「z/OS」システムにおいて、ストレージ・ボリュームを65,520シリンダより大きくすることを可能にした「EAV」即ち拡張できるアドレス指定可能ボリューム(Extendable Addressable Volume)として、実装される。この環境において、最初の65,520シリンダを超える空間は、「シリンダ管理空間(cylinder-managed space)」と呼ばれる、拡張されたアドレス空間である。シリンダ管理空間を用いることができるデータ・セットは、z/OSアドレス指定スキームにおいて、拡張されたアドレス指定に適していると言われる。EAVボリュームは、「トラック管理(track-managed)」領域として知られるより小容量のデータ・セットのための領域と、より大容量のデータ・セットのための、21のシリンダ・ユニットに割り当てられる「チャンク(chunk)」管理ストレージの領域とを有する。
データ・セットは、1つ又は複数のエクステントを含み、且つ、1つのボリューム又は複数のボリューム内に存在し得る。逆に、ボリュームは複数のデータ・セットを有し、データ・セットは少なくとも1つのデータ・エクステントを有する。ボリュームの容量は、典型的には、ボリュームに割り当てられた又は実際にボリュームが使用するシリンダの数で測定される。
図2及び図3を参照すると、応答モジュール250が、例えばホスト・システム206による、データ・ストレージ240のボリュームのプールに対するデフラグ操作300の開始に応答する。上述のように、デフラグは、時間の経過と共に断片化されたデータを取り出し、断片化されたデータを分析し、データの部分を削除された領域内に配置してデータを再編成し、データがより連続的且つ正しい順序になるようにする、1つのレベルのデータ・ストレージに対する操作又はプロセスである。ユーザ206は、JCLバッチ・ジョブ又はTSOコマンドを介して、プール・デフラグ・コマンドを指定することができる。コマンドにおいて、ユーザは、デフラグされるプールを含むストレージ・グループ名を指定する。ステップ300において、応答モジュールは、ストレージ・システムの動作を編成して、デフラグ操作に適合させる。これは、データ・ストレージの動作の早期完了又は一時停止を信号で伝えることを含むことができる。
ステップ305において、データ管理モジュール260は、上述した「HSM」のようなデータ管理プロセスを呼び出し、古くなって特定の閾値を満たさないデータを見つけ出し、そのデータを、例えばデータのプールを含むハード・ディスク・ドライブのRAID構成からテープ・ライブラリへ及びプールの外へといったように、より低いアクティブ・レベルのデータ・ストレージ240に移動させる。データの移動は、典型的には、データ・セット・ベースで行われ、データのプール内に空き領域を開ける。空き領域は、典型的には、削除されたデータとしてVTOCにおいて識別される。
データ管理プロセスが完了し、ステップ310においてプロセスがデフラグ操作に戻ると、ステップ315は、空き領域モジュール270を動作させて、デフラグされるプールのデータの断片化を測定し、求める。
デフラグは、データがある期間にわたって更新され変更された後のデータの複雑度に関連する。データは、単一のエクステントを有するデータ・セットとして開始し得るが、時間の経過と共により多くのデータ及びファイルが付加、削除、及び修正されるにつれて、データ・セットは、物理的に分散された付加的なエクステントから構成されるようになる。
プールの断片化を判断するためのステップ315の1つの実施形態は、断片の推定数とプールのデータ・ストレージ容量の比を計算することによるものである。
データが複数のデータ・セットを有するボリュームを含む場合、データ・セットはそれぞれ少なくとも1つのデータ・エクステントを有し、断片の推定数は、プールのデータ・エクステントの数からプールのデータ・セットの数を減算することにより求められる。
プールのデータ・ストレージ容量は、プールを含むシリンダの数とすることができる。
別の実施形態において、断片化は、各ボリュームにおけるエクステントに基づいて計算され、これはボリュームのデフラグにも適用可能である。断片化の推定値は、エクステントの数及びこれらのエクステントのサイズを計算することによって計算される。エクステントの数をエクステントの平均サイズで除算すると、各ボリュームについての断片化測定値が得られる。エクステントの数が少なく、エクステントのサイズが大きいほど、ボリュームに関する断片化値は小さくなる。
ステップ315の1つの実施形態は、プールにわたるボリュームの断片化の計算結果を結合する。
ステップ320において、プールの既存の空き領域の量が求められる。空き領域は、削除されたデータを含む又はデータを含まない、ボリューム内の空間である。
空き領域及び断片化の両方を判断するためのツールが、International Business Machines Corp.の「LSPACE」である。LSPACEは、ボリューム・サイズ、ボリュームの空き領域、VTOC及びINDEXの空き領域、エクステント及びデータ・セットの数等のような断片化情報に関する情報を提供する。トラック管理空間のサイズ、及びその空き領域統計値の情報も提供される。LSPACEマクロは、(LSPACEのサブファンクション、戻りコード、及び理由コードのような)状態情報をパラメータ・リストに戻す。「EXPMSG」及び「XEXPMSG」のような選択肢は、LSPACEマクロが空き領域及びボリューム空間情報をボリューム・ベースで提供する必要がある拡張されたメッセージ戻り領域を生成する。シリンダ管理空間を有するボリュームについては、空き領域情報が、ボリューム全体に関する空き領域及びトラック管理空間に関する空き領域として戻される。2組の空き領域データは、シリンダ管理空間を有さないボリュームについて同一になる。LSPACEはまた、フォーマット、データ・セット制御ブロック、エクステント及び空きエクステントの総数、又は断片化指標のような情報を戻すこともできる。
代替的に、ファイル割り当てテーブル(file allocation table、FAT)は、シリンダ範囲の開始及び終了を提供することができ、且つ、空き領域及び空間情報をボリューム・ベースで提供し、空き領域及び断片化の両方を判断するために用い得る空き領域ポインタを含む。
ステップ325において、空き領域モジュール270は、空き領域閾値を求める。
1つの実施形態において、空き領域閾値は公称閾値を含み、計算された断片化は、空き領域閾値を調整して、これを増加又は減少させる。
更に別の実施形態において、調整は、ある範囲の値を含む。
更に別の実施形態において、値の範囲は、計算された断片化の指標と関連する値の間で調整される。別の実施形態において、範囲内の値が計算された断片化の指標に基づくものとして、空き領域閾値(T)は、式:
(T)=(プールの総ストレージ容量)×(公称閾値)×{0.5〜1.5の範囲}
に従って求められる。
従って、計算された断片化の指標は、範囲の下部に加算される0から1.0までの値である。
図4及び図5を参照すると、2つの異なるデータのレイアウトが示される。提示を簡単にするために、データは、データの物理的分散を示さずに、プールの代表的な仮想ボリュームとして示される。プールは、実際には、何百、何千のボリュームを含む可能性が高い。
図4のデータは、アクティブ・タイプのデータを示し、ここでは、代表的なボリューム401−404及び406−407が、100のデータ・セットと、500乃至1000のエクステントとを含み、各々が10,000シリンダの容量を有する。ボリューム405は、例えばそのボリュームに関するVTOCにおいて、「空(Empty)」であるとして示され、そのデータ・セットが削除済みとしてマーク付けされていることを意味する。「空」のボリュームのソースはステップ260のデータ管理であってもよく、又は、ボリュームは、後述される「スピル」ボリュームであってもよい。
図5のデータは、低アクティブ・タイプのデータを示し、ここでは、代表的なボリューム501−503及び505−507は、25乃至50のデータ・セットと、100乃至200のエクステントとを含み、各々が10,000シリンダの容量を有する。ボリューム504は、「空」であるとして示され、例えばそのボリュームに関するVTOCにおいて、そのデータ・セットが削除済みとしてマーク付けされていることを意味する。「空」のボリュームのソースはステップ260のデータ管理であってもよく、又は、ボリュームは、後述される「スピル」ボリュームであってもよい。
図2、図3、図4、及び図5を参照すると、ステップ325において、空き領域モジュール270は、ステップ315において判断された情報を利用して、空き領域閾値を求める。
1つの実施形態において、空き領域閾値が、最初に、ユーザにより公称値として設定されるか、又はデフォルト設定により確立される。公称値は、ユーザが通常デフラグしなければならないデータ・タイプに対してデフラグを行うのに、ユーザの必要性に最良適合する値となるように、ユーザが経験から見出した値を含むことができる。一例として、デフラグを行うために必要とされる公称値は、プール内の25%の空き領域を含むことができる。
1つの実施形態においては、プール内の実際のデータに従って、公称値に対して調整が行われる。1つの実施形態において、調整は、断片化の指標に基づいた範囲に従って、例えば公称値の0.5倍から1.5倍までである。公称値が25%であれば、調整の範囲は、(25%)×{0.5〜1.5}であり、即ち、12.5%から37.5%までの値の範囲である。
1つの実施形態において、公称値からの値の調整は、推定される断片化に関連する指標に基づく。一例として、指標は、0から1.0までとすることができ、調整の範囲の下部に加算することができる。1つの実施形態において、指標は、データの推定される断片化に線形に又は指数関数的に関連することができ、又は、データの推定される断片化に対するいずれの他の非線形の関係をも含むことができる。一例において、断片化は、エクステントの数からプールのデータ・セットの数を引いて、断片の推定数をもたらすことを含み、この断片の推定数をプールの容量で除算する。従って、断片化値は、ごく僅かなものである。
1つの実施形態において、説明目的で、図4の代表的なボリュームのみを用いて、ステップ315は、プールを構成するデータ401−404及び406−407を有するボリュームについて、4,500のエクステントを有する600のデータ・セットが存在すると判断した。ステップ315はまた、データ管理ステップ305により「空」のボリューム405が空にされた場合、プールの容量は70,000シリンダであるとも判断した。
上記の例示的な断片化の判断を用いて、エクステントの数(4,500)からデータ・セットの数(600)を減算すると、断片の推定数(3,900)が得られ、この結果をプールの容量(70,000)で除算すると、(0.0557)の断片化値が得られる。
1つの実施形態において、説明目的で、図5の代表的なボリュームのみを用いて、ステップ315は、プールを構成するデータ501−503及び505−507を有するボリュームについて、900個の範囲を有する250個のデータ・セットが存在すると判断した。ステップ315はまた、「空」のボリューム504が存在しない場合、プールの容量は60,000シリンダであると判断した。
上記の例示的な断片化の判断を用いて、エクステントの数(900)からデータ・セットの数(250)を減算すると、断片の推定数(650)が得られ、この結果をプールの容量(60,000)で除算すると、(0.0011)の断片化値が得られる。
上述のように、指標は、推定されるデータの断片化に線形又は指数関数的に関連することができ、又は、推定されるデータの断片化に対するいずれの他の非線形の関係をも含むことができる。一例において、指標は、推定されるデータの断片化に線形に関連し、断片化が「0.0000」を含む場合の「0」から、断片化が「0.1000」を含む場合の「1」までの範囲に及ぶ。
上記の例を用いると、指標は、図4のプールのデータについて(0.56)を含み、図5のプールのデータについて(0.01)を含む。
1つの実施形態において、指標値は、範囲の下部に加算され、図4のプールのデータについては、(0.5)に(0.56)を加算した(1.06)に等しく、図5のプールのデータについては、(0.5)に(0.01)を加算した(0.51)に等しい。
指標値を求めるための式は、推定されたプールのデータの断片化に基づいており、上記に提示されたものとは異なり得る。
1つの実施形態において、範囲内の値は、計算された断片化の指標に基づくものとして、空き領域閾値(T)は、式:
(T)=(前記プールの総ストレージ容量)×(公称閾値)×{0.5〜1.5の範囲}
に従って求められる。
空き領域閾値を求めるためにこれらの値を用いることは、指標値に公称閾値を乗算し、その結果得られた百分率にプールの容量を乗算することを含む。図4のプールのデータについては、この計算は、(70,000シリンダ)×(25パーセント)×(1.06)を含み、(18,550シリンダ)の閾値(T)が得られる。図5のプールのデータについて、この計算は、(60,000シリンダ)×(25パーセント)×(0.51)を含み、(7,650シリンダ)の閾値(T)が得られる。
ステップ325の閾値(T)を確立するために指標と共に用いる測定単位は、上記のものとは異なることがあり、閾値(T)は、ステップ320で求められた既存の空き領域の量と比較することができる測定単位を表す。
ステップ330は、ステップ320において求められた既存の空き領域を、ステップ325において求められた閾値と比較する。ステップ335において、空き領域モジュール270は、この比較を用いて、「スピル」ボリュームを付加するか、又は既存の空き領域にデフラグを命令するかを判断する。ステップ320において求められた、プールに関する既存の空き領域が閾値を下回る場合、ステップ340において、「スピル」ボリュームが付加される。1つの実施形態において、付加されるスピル・ボリュームの数は、閾値を超えるのに必要とされる数である。
例として図5のプールを用いると、閾値(7,650シリンダ)に関して、ステップ320において求められた空き領域が、この閾値を下回った場合、「スピル」ボリューム290から、1つの「スピル」ボリューム504をプールに付加すればよく、付加された「スピル」ボリュームは、10,000シリンダをもたらす。代案として、「スピル」ボリュームは、ボリュームのオーバーフロー・プールによってもたらされ得る。
ひとたび既存の空き領域又は既存の空き領域と付加された「スピル」ボリュームとの組み合わせからの、空き領域が閾値を上回ると、プロセスは、モジュール280のステップ350に移動する。「スピル」ボリュームが用いられた場合、同じ数の既存のボリュームが、デフラグ・プロセスの間に空にされるボリュームとしてマーク付けされ、その結果、デフラグ・プロセスが完了すると同時に、これらをプールから除去することができる。マーク付けは、ボリュームがそのコンテンツが除去されるという、VTOCにおける表示を含むことができる。
デフラグ・モジュール280は、例えば、デフラグ・プロセスを呼び出すことによって、デフラグを開始する。幾つかの例として、Dino Softwareの「Real Time Defrag」、Computer Associatesの「Compaktor」、及びInternational Business Machines Corp.の「DFDSS Defrag」が挙げられる。1つの実施形態において、デフラグ・モジュールは、付加的に、ユーザが、プールについてのデフラグ・プロセスに関する選択肢を選択するのを可能にすることができる。この選択肢は、デフラグ・プロセスによる、デフラグされるオブジェクトの選択、及びプールにおける移動されたデータ・オブジェクトの配置を含む。
選択肢及びパラメータの選択は、ユーザから受信し、応答モジュール250により転送することができる。
1つの実施形態において、選択肢「Reduce_Multi」は、設定された場合、現在複数のボリューム上にあるデータ・セットを、できる限り少ないボリューム上に割り当てるべきであることを示す。この選択肢を選択する理由として、バックアップをより容易にすること、及び、幾つかの操作中のシリアル化の制約を低減させることを挙げることができる。ストライプ化された(striped)データ・セットは、性能上の理由で意図的に設定されているので、この選択肢はストライプ化されたデータ・セットには適用されない。ストライプ化されていない複数ボリューム上のデータ・セットは、ボリュームにわたってI/Oをストライプ化しないため、割り当てられたボリュームを減らすための性能上の意味が存在しない。
選択肢「Freespace_Preference」は、設定された場合、ユーザが、ストレージ・プール内で空き領域がどのように分散されることを望むかを指定することを可能にする。例えば、これにより、ユーザが、各ボリューム上に残されるべき空き領域の最小量を指定することが可能になる。例えば、「Freespace_Preference(5)」は、ユーザが、プールの各ボリューム上に、最低5%の空き領域が残されることを望むことを意味する。従って、デフラグ中にデータを割り当てる際、ボリュームの空間の95%を超えた割り当ては許容されない。ユーザが、「スピル」ボリュームを戻した後、指定値を満たすのにプール内に十分な空間を有していない場合、応答モジュール250により、エラー・メッセージがユーザに発行される。ステップ315及び320が実施された後、プール内の総利用可能な空間は既知である。
選択肢「Empty_Vol_Preference」は、ユーザが、「スピル」ボリュームを戻した後、プール内に残す最小数の空のボリュームを表す数値を指定することを可能にする。次に、ユーザが異なるプールにおけるその空間の使用を望む場合、デフラグ後にこれらのボリュームを除去することができ、又はこれらのボリュームをプール内に残して、単一ボリュームへの大きな割り当てを可能にすることができる。ユーザがこの選択肢を用いる場合、最も多い空き領域及び最小量の割り当てられたデータ・セットを有するボリュームは、プールのデフラグ中、データ・セットの全てをこれらのボリュームの外に移動させる。ユーザが、ボリュームごとの「Freespace_Preference」と併せて、あまりに多数の空のボリュームを指定した場合、同じく、総プール空間が不十分であることを示すように、エラー・メッセージが発行される。
データ・セットが最小サイズ基準を満たす場合、「EAV_Uplift」は、データ・セットを上述のようなシリンダ管理ストレージに移動させるための選択肢である。既存のシリンダ管理データ・セットに関しては、空間が依然としてそこで利用可能であると仮定して、デフラグの後も、引き続きシリンダ管理ストレージ内に存在する。この選択肢もまた、「スピル」ボリュームを、上述した拡張されたアドレス可能ボリュームとして付加することを可能にし、これにより、デフラグの際、付加的なEAV空間が利用できるようになる。
「Retry_in_Use」は、現在使用中のデータ・セットを移動させる再試行の回数を含むパラメータである。最大数の再試行後にデータ・セットが依然として使用中である場合、そのデータ・セットは移動されない。
ステップ360は、デフラグの完了後、デフラグ・プロセスから戻ることを含み、ステップ360は、「スピル」ボリュームに戻されるボリュームを識別する。これにより、「スピル」ボリュームが、別のデフラグで用いるために利用できるようになる。
当業者であれば、図1のシステム100内でデフラグを行うための、図2のコンピュータ実装システム200を含む、本明細書で開示される本発明の実施形態、及びそこで提供される機能を、システム、方法、又はコンピュータ・プログラム製品として具体化できることを認識するであろう。従って、本発明の実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロ・コード等を含む)、又はソフトウェアの態様とハードウェアの態様とを組み合わせた実施形態のような、その組み合わせの形態を取ることができ、本明細書においては、これらは全て一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、本発明の実施形態は、具体化されたコンピュータ可読プログラム・コードを有する、1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラム製品の形態をとることができる。
1つ又は複数のコンピュータ可読媒体のいずれの組み合わせを用いることもできる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、これらに限定されるものではないが、電子、磁気、光、電磁気、赤外線又は半導体のシステム、装置、若しくはデバイス、又は上記のいずれかの適切な組み合わせとすることができる。コンピュータ可読ストレージ媒体のより具体的な例(非網羅的なリスト)として、以下のもの、即ち、1つ又は複数の配線を有する電気的接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プログラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶装置、磁気記憶装置、又は上記のいずれかの適切な組み合わせが挙げられる。本明細書の文脈において、コンピュータ可読ストレージ媒体は、命令実行システム、装置若しくはデバイスによって又はこれらと関連して用いるためのプログラムを収容又は格納することができるいずれかの有形媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、これらに限定されるものではないが、無線、有線、光ファイバ・ケーブル、RF等、又は上記のいずれかの適切な組み合わせを含む、いずれかの適切な媒体を用いて伝送することができる。
本発明の実施形態の動作を実行するためのコンピュータ・プログラム・コードは、Java、SmallTalk、C++等のようなオブジェクト指向型プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続き型プログラミング言語を含む、1つ又は複数のプログラミング言語のいずれかの組み合わせで記述することができる。プログラム・コードは、完全にユーザのコンピュータ上で実行される場合もあり、一部がユーザのコンピュータ上で、独立型ソフトウェア・パッケージとして実行される場合もあり、一部がユーザのコンピュータ上で実行され、一部が遠隔コンピュータ上で実行される場合もあり、又は完全に遠隔コンピュータ若しくはサーバ上で実行される場合もある。一番最後のシナリオにおいては、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)若しくは広域ネットワーク(WAN)を含むいずれかのタイプのネットワークを通じてユーザのコンピュータに接続される場合もあり、又は外部コンピュータへの接続がなされる場合もある(例えば、インターネット・サービス・プロバイダを用いたインターネットを通じて)。
本発明の実施形態は、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラム製品のフローチャート図及び/又はブロック図を参照して、上述される。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図中のブロックの組み合わせは、コンピュータ・プログラム命令によって実装することができることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに与えてマシンを製造し、それにより、コンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するための手段を作り出すようにすることができる。
これらのコンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに特定の方式で機能するように指示することができるコンピュータ可読媒体内に格納して、それにより、そのコンピュータ可読媒体内に格納された命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装する命令を含む製造物品を製造するようにさせることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上にロードして、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイス上で、コンピュータ実装プロセスを生成するための一連の動作ステップを実施させて、それにより、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート及び/又はブロック図の1つ又は複数のブロックにおいて指定された機能/動作を実装するためのプロセスを提供するようにさえることもできる。
当業者であれば、上述の方法に関して、ステップの順序に対する変更を含む変更をなし得ることを理解するであろう。さらに、当業者であれば、本明細書で示されるものとは異なる特定のコンポーネント構成を用い得ることも理解するであろう。
当業者であれば、上述の方法に関して、ステップの順序に対する変更を含む変更をなし得ることを理解するであろう。さらに、当業者であれば、本明細書で示されるものとは異なる特定のコンポーネント構成を用い得ることも理解するであろう。
本発明の好ましい実施形態が詳細に示されたが、当業者であれば、添付の特許請求の範囲で記述されるような本発明の範囲から逸脱することなく、これらの実施形態に対する修正及び適合に想到し得ることは明らかである。
100、200:コンピュータ実装システム(システム・アーキテクチャ)
102:コンピュータ・プロセッサ
106:サーバ・プロセッサ
104:ネットワーク
108:ストレージ・ネットワーク
110:ストレージ・システム
112:アタッチト・ストレージ
110a:アレイ
110b:テープ・ライブラリ
110c:ハード・ディスク・ドライブ又はソリッド・ステート・ドライブ
110d:テープ・ドライブ又はライブラリ
206:ホスト
210:ストレージ制御部
220、230:インターフェース
240:データ・ストレージ
250:応答モジュール
260:データ管理モジュール
270:空き領域モジュール
280:デフラグ・モジュール
290:スピル・ボリューム
401−407、501−507:ボリューム

Claims (20)

  1. 少なくとも1つのストレージ制御部と、データがボリュームの形で格納され、少なくとも複数の前記ボリュームが少なくとも幾らかの空き領域を有し、且つ、複数のボリュームのグループがプールを構成するデータ・ストレージとを含むコンピュータ実装データ・ストレージ・システムにおいて、方法が、
    プールからのデータのマイグレーションを開始して付加的な空き領域を生成するステップと、
    前記データのマイグレーションの後で、前記プールのデータの断片化を計算するステップと、
    前記プールの既存の空き領域の量を求めるステップと、
    前記既存の空き領域の量を空き領域閾値と比較するステップであって、前記空き領域閾値は前記計算された断片化と関連する、比較するステップと、
    前記比較が、前記空き領域の量が前記閾値を下回ることを示す場合には、スピル・ボリュームを前記プールに付加するステップと、
    他の場合には、スピル・ボリュームを付加することなく、前記プールをそのままの状態に保持するステップと、
    前記プールのデフラグを開始するステップと、
    を含む、方法。
  2. もしあれば、前記スピル・ボリュームを一時的ボリュームとして識別し、前記プールの前記デフラグの後で、前記スピル・ボリュームを前記プールから除去するステップをさらに含む、請求項1に記載の方法。
  3. 前記空き領域閾値は公称閾値を含み、前記計算された断片化は、前記空き領域閾値を調整してこれを増加又は減少させる、請求項1に記載の方法。
  4. 前記調整は、ある範囲の値を含む、請求項3に記載の方法。
  5. 前記値の範囲は、前記計算された断片化の指標に関連する前記値の間で調整される、請求項4に記載の方法。
  6. 前記範囲内の前記値は前記計算された断片化の指標に基づくものとして、前記空き領域閾値(T)は、式:
    (T)=(前記プールの総ストレージ容量)×(公称閾値)×{0.5〜1.5の範囲}
    に従って求められる、請求項1に記載の方法。
  7. 前記計算された断片化の前記指標は、前記範囲の下部に加算される0から1.0までの値である、請求項6に記載の方法。
  8. 前記計算された断片化は、断片の推定数と前記プールのデータ・ストレージ容量の比である、請求項7に記載の方法。
  9. 前記データは複数のデータ・セットを有するボリュームを含み、前記データ・セットは、それぞれ少なくとも1つのデータ・エクステントを有し、前記断片の推定数は、前記プールの前記データ・エクステントの数から前記プールのデータ・セットの数を減じた数から求められる、請求項8に記載の方法。
  10. データ・ストレージ・システムであって、
    データがボリュームの形で格納され、少なくとも複数の前記ボリュームは少なくとも幾らかの空き領域を有し、且つ、複数のボリュームのグループがプールを構成する、データ・ストレージと、
    プールからのデータのマイグレーションを開始して付加的な空き領域を生成するステップと、
    前記データのマイグレーションの後で、前記プールのデータの断片化を計算するステップと、
    前記プールの既存の空き領域の量を求めるステップと、
    前記既存の空き領域の量を空き領域閾値と比較するステップであって、前記空き領域閾値は前記計算された断片化と関連する、比較するステップと、
    前記比較が、前記空き領域の量が前記閾値を下回ることを示す場合には、スピル・ボリュームを前記プールに付加するステップと、
    他の場合には、スピル・ボリュームを付加することなく、前記プールをそのままの状態に保持するステップと、
    前記プールのデフラグを開始するステップと、
    を実施する少なくとも1つのストレージ制御部と、
    を含む、データ・ストレージ・システム。
  11. 前記ストレージ制御部は、もしあれば、前記スピル・ボリュームを一時的ボリュームとして識別し、前記プールの前記デフラグの後で、前記スピル・ボリュームを前記プールから除去するステップをさらに実施する、請求項10に記載のデータ・ストレージ・システム。
  12. 前記空き領域閾値は公称閾値を含み、前記計算された断片化は、前記空き領域閾値を調整してこれを増加又は減少させる、請求項10に記載のデータ・ストレージ・システム。
  13. 前記調整は、ある範囲の値を含む、請求項12に記載のデータ・ストレージ・システム。
  14. 前記値の範囲は、前記計算された断片化の指標と関連する値の間で調整される、請求項13に記載のデータ・ストレージ・システム。
  15. 前記範囲内の前記値が前記計算された断片化の指標に基づくものとして、前記空き領域閾値(T)は、式:
    (T)=(前記プールの総ストレージ容量)×(公称閾値)×{0.5〜1.5の範囲}
    に従って求められる、請求項10に記載のデータ・ストレージ・システム。
  16. 前記計算された断片化の前記指標は、前記範囲の下部に加算される0から1.0までの値である、請求項15に記載のデータ・ストレージ・システム。
  17. 前記計算された断片化は、フラグメントの推定数と前記プールのデータ・ストレージ容量の比である、請求項16に記載のデータ・ストレージ・システム。
  18. 前記データは複数のデータ・セットを有するボリュームを含み、前記データ・セットは、それぞれ少なくとも1つのデータ・エクステントを有し、前記断片の推定数は、前記プールの前記データ・エクステントの数から前記プールのデータ・セットの数を減じた数から求められる、請求項17に記載のデータ・ストレージ・システム。
  19. プログラムがコンピュータ上で実行されたとき、請求項1から請求項9までのいずれかに記載の方法ステップを実施するように適合されたプログラム・コードを含む、コンピュータ・プログラム。
  20. 少なくとも1つのストレージ制御部と、データがボリュームの形で格納され、少なくとも複数の前記ボリュームは少なくとも幾らかの空き領域を有し、且つ、複数のボリュームのグループはプールを構成するデータ・ストレージとを含むコンピュータ実装データ・ストレージ・システムにおいて、方法が、
    前記プールのデータの断片化を計算するステップと、
    前記プールの既存の空き領域の量を求めるステップと、
    前記既存の空き領域の量を空き領域閾値と比較するステップであって、前記空き領域閾値は前記計算された断片化と関連する、ステップと、
    前記比較が、前記空き領域の量が前記閾値を下回ることを示す場合には、スピル・ボリュームを前記プールに付加するステップと、
    他の場合には、スピル・ボリュームを付加することなく、前記プールをそのままの状態に保持するステップと、
    データ・セットを、これらがデフラグ中に最小サイズ基準を満たす場合には、シリンダ管理ストレージに移動させる選択肢のユーザ選択を可能にし、前記プールのデフラグを開始するステップと、
    を含む方法。
JP2014511716A 2011-05-25 2012-04-18 データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム Expired - Fee Related JP5946521B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/115,805 US8639900B2 (en) 2011-05-25 2011-05-25 Defragmentation of data storage pools
US13/115,805 2011-05-25
PCT/CN2012/074260 WO2012159513A1 (en) 2011-05-25 2012-04-18 Defragmentation of data storage pools

Publications (2)

Publication Number Publication Date
JP2014517971A true JP2014517971A (ja) 2014-07-24
JP5946521B2 JP5946521B2 (ja) 2016-07-06

Family

ID=47216609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014511716A Expired - Fee Related JP5946521B2 (ja) 2011-05-25 2012-04-18 データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム

Country Status (6)

Country Link
US (2) US8639900B2 (ja)
JP (1) JP5946521B2 (ja)
CN (1) CN103562881B (ja)
DE (1) DE112012001162T5 (ja)
GB (1) GB2505328A (ja)
WO (1) WO2012159513A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402114B2 (en) 2015-07-06 2019-09-03 Nec Corporation Information processing system, storage control apparatus, storage control method, and storage control program
US10592148B2 (en) 2015-07-06 2020-03-17 Nec Corporation Information processing system, storage control apparatus, storage control method, and storage control program for evaluating access performance to a storage medium

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436696B2 (en) 2013-10-02 2016-09-06 International Business Machines Corporation Data fragmentation tuning and candidacy persistence
WO2016045096A1 (zh) 2014-09-26 2016-03-31 华为技术有限公司 一种文件迁移方法、装置和存储设备
CN105743956A (zh) * 2014-12-12 2016-07-06 阿里巴巴集团控股有限公司 一种数据资源分配方法和装置
WO2016175028A1 (ja) * 2015-04-28 2016-11-03 日本電気株式会社 情報処理システム、記憶制御装置、記憶制御方法および記憶制御プログラム
US10120570B2 (en) 2015-06-11 2018-11-06 International Business Machines Corporation Temporary spill area for volume defragmentation
US9495100B1 (en) 2015-06-28 2016-11-15 International Business Machines Corporation Shifting a defrag operation in a mirrored system
CN106611364B (zh) * 2015-10-22 2020-07-24 中国电信股份有限公司 存储碎片整理方法及装置
US10228886B2 (en) 2016-04-20 2019-03-12 International Business Machines Corporation Storage device volume selection for improved space allocation
US10296235B2 (en) * 2016-06-27 2019-05-21 International Business Machines Corporation Partial volume reorganization to increase data availability
US11151031B2 (en) * 2017-06-29 2021-10-19 Microsoft Technology Licensing, Llc Optimized record placement in defragmenting graph database
CN107506496B (zh) * 2017-09-28 2021-10-22 北京小米移动软件有限公司 碎片整理方法、装置及计算机可读存储介质
US10664188B2 (en) * 2018-08-25 2020-05-26 International Business Machines Corporation Data set allocations taking into account point-in-time-copy relationships
TWI760697B (zh) * 2020-02-19 2022-04-11 群聯電子股份有限公司 記憶體之資料整理方法、記憶體儲存裝置及記憶體控制電路單元
US11275514B2 (en) * 2020-08-10 2022-03-15 International Business Machines Corporation Expanding storage capacity for implementing logical corruption protection
CN112363828B (zh) * 2020-10-30 2024-01-12 北京罗克维尔斯科技有限公司 内存碎片管理方法、装置、车载系统及车辆

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110839A (ja) * 1994-10-12 1996-04-30 Toshiba Corp 集合型データ処理装置
JPH08339318A (ja) * 1995-04-10 1996-12-24 Sony Corp データ記録装置およびデータ管理方法
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法
JP2009037564A (ja) * 2007-08-03 2009-02-19 Fujitsu Ltd ディスク管理プログラム、ディスク管理方法及びディスク管理装置
JP2010086424A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd ストレージ装置の管理装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4146380B2 (ja) * 2004-03-29 2008-09-10 東芝ソリューション株式会社 ストレージシステム、ブロック再配置制御方法及びプログラム
US20110179219A1 (en) * 2004-04-05 2011-07-21 Super Talent Electronics, Inc. Hybrid storage device
US7788460B2 (en) * 2004-04-13 2010-08-31 Intel Corporation Defragmenting objects in a storage medium
TWI254205B (en) * 2004-11-01 2006-05-01 Benq Corp Bidirectional data storing method
US7584341B2 (en) 2005-11-15 2009-09-01 Sanrad, Ltd. Method for defragmenting of virtual volumes in a storage area network (SAN)
JP4890033B2 (ja) * 2006-01-19 2012-03-07 株式会社日立製作所 記憶装置システム及び記憶制御方法
JP4927412B2 (ja) * 2006-02-10 2012-05-09 株式会社日立製作所 記憶制御方法及びその制御方法
US20070226445A1 (en) 2006-03-22 2007-09-27 Tony Nichols Method and system for rapid data-fragmentation analysis of a file-allocation-table (FAT) file system
CA2700872A1 (en) 2007-10-05 2009-04-09 Diskeeper Corporation Solid state drive optimizer
US8086810B2 (en) * 2009-01-15 2011-12-27 International Business Machines Corporation Rapid defragmentation of storage volumes
US9875033B2 (en) * 2009-05-12 2018-01-23 International Business Machines Corporation Apparatus and method for minimizing data storage media fragmentation
US8539184B2 (en) * 2009-09-23 2013-09-17 International Business Machines Corporation On demand storage group management with recapture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08110839A (ja) * 1994-10-12 1996-04-30 Toshiba Corp 集合型データ処理装置
JPH08339318A (ja) * 1995-04-10 1996-12-24 Sony Corp データ記録装置およびデータ管理方法
JP2008186172A (ja) * 2007-01-29 2008-08-14 Hitachi Ltd ストレージモジュール及び容量プール空き容量調整方法
JP2009037564A (ja) * 2007-08-03 2009-02-19 Fujitsu Ltd ディスク管理プログラム、ディスク管理方法及びディスク管理装置
JP2010086424A (ja) * 2008-10-01 2010-04-15 Hitachi Ltd ストレージ装置の管理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402114B2 (en) 2015-07-06 2019-09-03 Nec Corporation Information processing system, storage control apparatus, storage control method, and storage control program
US10592148B2 (en) 2015-07-06 2020-03-17 Nec Corporation Information processing system, storage control apparatus, storage control method, and storage control program for evaluating access performance to a storage medium

Also Published As

Publication number Publication date
US20120303918A1 (en) 2012-11-29
CN103562881B (zh) 2016-11-09
US8661217B2 (en) 2014-02-25
US8639900B2 (en) 2014-01-28
GB2505328A (en) 2014-02-26
US20120303916A1 (en) 2012-11-29
GB201315646D0 (en) 2013-10-16
WO2012159513A1 (en) 2012-11-29
JP5946521B2 (ja) 2016-07-06
CN103562881A (zh) 2014-02-05
DE112012001162T5 (de) 2013-12-19

Similar Documents

Publication Publication Date Title
JP5946521B2 (ja) データのデフラグに対する要求に応答するための方法、データ・ストレージ・システム及びプログラム
US9747036B2 (en) Tiered storage device providing for migration of prioritized application specific data responsive to frequently referenced data
US8639899B2 (en) Storage apparatus and control method for redundant data management within tiers
JP5314772B2 (ja) 性能の異なる実領域群で構成されたプールを有するストレージシステムの管理システム及び方法
US8832371B2 (en) Storage system with multiple flash memory packages and data control method therefor
US8745344B2 (en) Storage system using thin provisioning pool and snapshotting, and controlling method of the same
JP5816303B2 (ja) フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP6067819B1 (ja) 階層化ストレージシステム、ストレージコントローラ、並びに重複排除及びストレージ階層化のための方法
US6941439B2 (en) Computer system
US8359431B2 (en) Storage subsystem and its data processing method for reducing the amount of data to be stored in a semiconductor nonvolatile memory
EP1876519A2 (en) Storage system and write distribution method
US10664182B2 (en) Storage system
US20110225117A1 (en) Management system and data allocation control method for controlling allocation of data in storage system
US7380090B2 (en) Storage device and control method for the same
US9229860B2 (en) Storage system
JP2014506688A (ja) フラッシュメモリを含むストレージシステム、及び記憶制御方法
JP2012531653A (ja) 記憶制御装置及び仮想ボリュームの制御方法
WO2019025861A1 (en) EXTENSION OF LONGEVITY OF SSD
JP6867578B2 (ja) ストレージ制御装置、ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
US20170262220A1 (en) Storage control device, method of controlling data migration and non-transitory computer-readable storage medium
JP2020004186A (ja) 情報処理システム、管理装置および制御方法
US10929299B2 (en) Storage system, method and non-transitory computer-readable storage medium
US8572347B2 (en) Storage apparatus and method of controlling storage apparatus
US20170017507A1 (en) Storage, computer, and control method therefor
JP2009294699A (ja) ストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160531

R150 Certificate of patent or registration of utility model

Ref document number: 5946521

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees