JP2013533991A - 記憶装置の間で移動されるトラックのエクステントへの書込み動作の管理方法、システム、及びコンピュータ・プログラム - Google Patents

記憶装置の間で移動されるトラックのエクステントへの書込み動作の管理方法、システム、及びコンピュータ・プログラム Download PDF

Info

Publication number
JP2013533991A
JP2013533991A JP2013510561A JP2013510561A JP2013533991A JP 2013533991 A JP2013533991 A JP 2013533991A JP 2013510561 A JP2013510561 A JP 2013510561A JP 2013510561 A JP2013510561 A JP 2013510561A JP 2013533991 A JP2013533991 A JP 2013533991A
Authority
JP
Japan
Prior art keywords
checksum
previous version
track
address
storage area
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
JP2013510561A
Other languages
English (en)
Other versions
JP5802263B2 (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 JP2013533991A publication Critical patent/JP2013533991A/ja
Application granted granted Critical
Publication of JP5802263B2 publication Critical patent/JP5802263B2/ja
Active 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/061Improving I/O performance
    • 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/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • 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/064Management of blocks
    • G06F3/0641De-duplication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 記憶装置間で移動されるトラックのエクステントへの書込み動作を管理するための方法、システム、及びコンピュータ・プログラム製品を提供する。
【解決手段】 記憶装置間で移動されるトラックのエクステントへの書込み動作を管理するためのコンピュータ・プログラム製品、システム、及び方法を提供する。第2の記憶域から第1の記憶域へトラックのエクステントを移動させるように、動作が処理される。移動させるエクステントに関するエクステント・オブジェクトが存在するかどうかの判断がなされる。エクステント・オブジェクトは、エクステントが前回第1の記憶域から第2の記憶域へ以前に移動された場合に存在する。エクステント・オブジェクトは、各トラックに関して、エクステントが以前に第2の記憶域へ移動されたときの前回以来、トラックが第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む。エクステント・オブジェクトが存在するとの判断に応じて、前回以来トラックが第2の記憶域内で更新されたことを示す書込みインジケータを有する、エクステント内のトラックの判断がなされる。判断されたトラックのデータが第2の記憶域から第1の記憶域内の未使用領域にコピーされる。各々の判断されたトラックに関して、エクステント・オブジェクト内の判断されたトラックに関するエントリが、トラックのデータがコピーされた未使用領域をそのトラックのアクティブ・アドレスとして示すように更新される。
【選択図】 図1

Description

本発明は、記憶装置の間で移動されるトラックのエクステントへの書込み動作を管理するための方法、システム、及びコンピュータ・プログラムに関する。
階層記憶環境において、トラックのエクステントは、例えば、ハードディスク・ドライブ、ソリッド・ステート記憶装置などの記憶装置の異なる層の間で、記憶装置の特性並びにデータのアクセス頻度及び優先順位に応じて移動させることができる。例えば、より頻繁にアクセスされるエクステント及び/又は優先順位のより高いエクステントは、遅いアクセス層から速いアクセス層に移動させることができ、アクセス頻度が低いエクステント及び/又は優先順位がより低いエクステントは、遅いアクセス層に移動させることができる。
現在の階層記憶環境においては、エクステントは、所与の時間内に上層/プールと下層/プールとの間で複数回、行き来させられる。その前提に立つと、下層は、所与のエクステントが上層内で全体が又は部分的に未だ変更されずに存在していることを認識せずに、所与のエクステントを格上げ(promote)することになる。エクステントを移動させるときには、そのエクステント由来の全データが、1つの記憶装置から別の記憶装置にコピーされる。そのような移動には、相当な時間を費やす可能性がある。
現在の階層化記憶アーキテクチャにおいては、上層は、2次キャッシュとして用いることができる下層に以前に格下げ(demote)されたエクステント由来の古い未変更(冗長)区域を含む場合がある。現在の解決策の主な欠点は非効率性であり、その理由は、ソリッド・ステート・デバイス(SSD)ドライブの読み出し性能がハードディスク・ドライブの読み出し性能よりも著しく高いためである。
パワーダウンされたハードディスクからの不必要なデータ読み出しはまた、
・ハードディスクの寿命を縮め、
・電力効率を低下させ、
・データ要求に対して、先ずドライブをパワーアップする必要があるので、アクセス時間を長くする。
当技術分野には、記憶装置の間でトラックのエクステントを移動させるための、上記の問題を解決する改良された技術の必要性が存在する。
記憶装置の間で移動されるトラックのエクステントへの書込み動作を管理するための、コンピュータ・プログラム、コンピュータ・プログラム、システム、及び方法が提供される。第2の記憶域から第1の記憶域へトラックのエクステントを移動させるように、動作が処理される。移動させるエクステントに関するエクステント・オブジェクトが存在するかどうかの判断がなされる。エクステント・オブジェクトは、エクステントが前回第1の記憶域から第2の記憶域へ以前に移動された場合に存在する。エクステント・オブジェクトは、各トラックに関して、エクステントが以前に第2の記憶域に移動された前回以来、トラックが第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む。エクステント・オブジェクトが存在するとの判断に応じて、前回以来トラックが第2の記憶域内で更新されたことを示す書込みインジケータを有する、エクステント内のトラックの判断がなされる。判断されたトラックのデータが第2の記憶域から第1の記憶域内の未使用領域にコピーされる。各々の判断されたトラックに関して、エクステント・オブジェクト内の判断されたトラックに関するエントリが、トラックのデータがコピーされた未使用領域をそのトラックのアクティブ・アドレスとして示すように更新される。
これから、本発明を、添付の図面に示す好ましい実施形態を参照しながら例証のみの目的で説明する。
本発明の好ましい実施形態を実施することができる、従来技術によるコンピューティング環境の一実施形態を示す。 本発明の好ましい実施形態による、エクステント・オブジェクト内のエントリの一実施形態を示す。 本発明の好ましい実施形態による、エクステント・テーブルとしてエクステント・オブジェクトの一実施形態を示す。 本発明の好ましい実施形態による、エクステントを第2の記憶域から第1の記憶域へ移動させるための動作の一実施形態を示す。 本発明の好ましい実施形態による、第1の記憶域内に存在するエクステント内のトラックへの書込み要求を処理するための動作の一実施形態を示す。 本発明の好ましい実施形態による、第2の記憶域内に存在するエクステント内のトラックへの書込み要求を処理するための動作の一実施形態を示す。
図1は、データのトラックを第1の記憶域4及び第2の記憶域6内にストアするサーバ2の一実施形態を示す。サーバ2は、1つ又は複数のプロセッサ・デバイスを備えたプロセッサ8、及び、プロセッサ8によって実行されるオペレーティング・システム12がロードされるメモリ10を備える。オペレーティング・システム12は、エクステント・オブジェクト16で表されるトラックのエクステントの、第1の記憶域4と第2の記憶域6との間での移動を管理するためのエクステント移動コード14を含む。トラックのエクステントは、第1の記憶域4又は第2の記憶域6の一方においてアクティブとすることができ、第1の記憶域4と第2の記憶域6との間で移動させることができる。
サーバ2は、第1の記憶域4及び第2の記憶域6と、ネットワーク上で、記憶装置インタフェースを通じた別々のケーブルを介して、ループ構成において、等で通信することができる。第1の記憶域4及び第2の記憶域6は、異なる型の記憶装置、例えば、EEPROM(電気的消去可能プログラム可能読み出し専用メモリ)、フラッシュ・メモリ、フラッシュ・ディスク、ランダム・アクセス・メモリ(RAM)ドライブ、ストレージ・クラス・メモリ(SCM)などのソリッド・ステート・エレクトロニクスから構成されるソリッド・ステート記憶装置(SSD)、磁気記憶ディスク、光ディスク、テープなどを含む備えることができる。メモリ8は、1つ又は複数の揮発性又は不揮発性メモリ・デバイスを備えることができる。エクステント移動コード14は、代替的にオペレーティング・システム12の外部のアプリケーション・コードとして実装することができ、又は、特定用途向け集積回路(ASIC)のようなハードウェア論理を用いて、又はコンピュータ可読記憶媒体内のコードを実行するプラグラム可能プロセッサとして、実装することができる。
一実施形態において、第1の記憶域4及び第2の記憶域6は、記憶装置の階層的配置における記憶層を含むことができ、ここで層は、それらの入力/出力(I/O)アクセス速度のプロファイル、冗長性などの特性に基づいて記憶域を定める。例えば、第1の記憶域4は、SSD又はRAMドライブなどの高速記憶域を含むことができ、第2の記憶域6は、ハードディスク・ドライブ又はテープ媒体などの低速アクセス記憶域を含むことができる。オペレーティング・システム12は、エクステント移動コード14を呼び出し、当技術分野で既知の階層管理記憶技術を用いて、あまり頻繁にアクセスされず及び/又は優先順位が低いエクステントを第1の記憶域4から第2の記憶域6に移動させ、より頻繁にアクセスされ及び/又は優先順位が高いトラックのエクステントを第2の記憶域6から第1の記憶域4に移動させる。記憶階層における高層記憶装置と低層記憶装置との間でエクステントを移動させるかどうかを判断するために、データ・アクセスの頻度及びデータの優先順位以外の、又はそれに加えてのデータ特性を用いることができる。
特定の実施形態において、エクステント・オブジェクト16は、第2の記憶域6内で隣接してストアされるトラックを識別し、これは、第2の記憶域6が、ハードディスク・ドライブ及びテープ・ドライブなどの、媒体内に隣接してストアされるトラックに対する改善された読出し/書込みアクセスを有する記憶装置を含む実施形態において有利である。しかし、エクステント内のトラックのデータは、ソリッド・ステート記憶装置(SSD)又はランダム・アクセス・メモリ(RAM)ドライブの場合のように、隣接してストアされたトラックへの改善されたアクセスを経験しない記憶装置を含むことができる第1の記憶域内では、隣接してストアされる必要はない。
エクステント・オブジェクト16は、1つのエクステント内で管理される各々のトラックに関するエントリを含む。サーバ2は、サーバ2が第1の記憶域4及び第2の記憶域6内で管理する各々別々のエクステントに関する複数のエクステント・オブジェクト16を保持することができる。さらに、サーバ2が2つより多くの記憶域間でのトラックのエクステントの移動を管理することができるように、付加的な記憶装置が存在してもよく、ここで、異なる記憶域は、異なるI/Oアクセス・プロファイルを有することができる。
図2は、エクステント内の1つのトラックに関する情報を与える、エクステント・オブジェクト16内のエントリ50の一実施形態を示す。トラック識別子(ID)52は、エクステント内のトラックを識別する。変更インジケータ54は、エクステント及びトラックが以前に第1の記憶域4から第2の記憶域6へ移動された前回以来、トラックが第2の記憶域内で更新されたかどうかを示し、従って、トラック及びエクステントが第2の記憶域6上に存在する一方で第1の記憶域4がトラックの最新バージョンを有するかどうかを示す。アクティブ・アドレス56は、第1の記憶域4内でトラックの最新バージョンを有する、第1の記憶域4内のアドレスを示す。アクティブ・チェックサム58は、アクティブ・アドレス56にあるデータから計算されたチェックサム値を含む。チェックサム値は、当技術分野で既知のチェックサム又はハッシュ・アルゴリズムを用いて計算され、データの一意の又はおそらく一意の表現を判断することができる。変更インジケータ54が、トラックが第2の記憶域内で更新されたこと、及び、第1の記憶域4がデータの最新バージョンを有していないことを示す場合、アクティブ・アドレス56によって識別されるデータは、第2の記憶域6でのより最近の更新により、アクティブ・バージョンではなく、前バージョンを含む可能性がある。
特定の実施形態において、データ更新は、第1の記憶域4内の新しい未使用領域に書込むことができる。そのような場合、トラックに関するエクステント・エントリ50は、第1の記憶域4内にストアされたトラックの各々の前バージョンa...nに関する前バージョン・アドレス60...60、及びトラックの前バージョンから計算された前バージョン・チェックサム62...62を保持することになる。エクステント・テーブル80内の前バージョン・アドレス60...60の順序は前バージョンの古さを示すことができ、ここで最も新しい前バージョン・アドレスは第1の60であり、最も古いのは最後の60である。サーバ2は、例えば、使用可能スペース、所定数のバージョン限界、前バージョンをストアするのに使用可能な所定のスペースなどの種々の因子に基づいて、第1の記憶域4内に保持されるデータのバージョン数を制限することができる。
第1の記憶域4がSSDを含む実施形態において、新たに書込まれるデータは、頻繁にアクセスされる論理アドレスを更新するときに書込みを記憶装置全域に分布させるためのウェア・レベリングと呼ばれるプロセスの一部として、第1の記憶域4内の新たな物理的領域に書込まれ、これがソリッド・ステート記憶装置の寿命を延ばす。ソリッド・ステート装置の同じ物理的領域に書込みを続けることは、ソリッド・ステート記憶装置内の記憶ブロックを摩耗させる可能性がある。
図3は、エクステント・オブジェクトに関する情報を与える列を備えた、各トラックに関する行を有する、エクステント・テーブル80として実装されるエクステント・オブジェクトの一実施例を示す。
図4は、エクステントを第2の記憶域6から第1の記憶域4へ移動させる又は格上げするために、エクステント移動コード14内で実行される動作の一実施形態を示す。エクステントを移動させる要求を処理する(ブロック100において)と、移動させるトラックのエクステントに関するエクステント・オブジェクト16が存在するかどうかについての判断がなされる(ブロック102において)。存在しない場合には、エクステント移動コード14は、ブロック104に進んでエクステントに関する新たなエクステント・オブジェクト16を生成し、各エクステント・エントリ50(図2)の変更インジケータ54をクリアしてデータが第2の記憶域6内で変更されていないことを示す。エクステント16内の各トラックに対して、エクステント移動コード14は、エクステント内の各トラックに関する動作のループを実行する(ブロック106−114において)。各トラックに対して、トラックが第2の記憶域6から第1の記憶域4内の未使用領域にコピーされる。エクステント移動コード14は、コピーされたトラックに関するチェックサムを計算し(ブロック110において)、そのトラックに関するアクティブ・アドレス56を、第1の記憶域4内のトラックがコピーされた未使用領域に設定し(ブロック112において)、アクティブ・チェックサム58を、計算されたチェックサム値に設定する。ブロック104−114における動作は、エクステントが第1の記憶域4へ格上げされ移動される初回に実行することができる。
格上げされるエクステントに関するエクステント・オブジェクト16が既に存在する場合(ブロック102において)には、エクステントは以前に第1の記憶域4から第2の記憶域6に移動されており、第2の記憶域6から第1の記憶域4へ移動又は格上げされるエクステント内の各トラックに対して、ブロック116からブロック128までのループが実行される。トラックに関する変更インジケータ54が(ブロック118において)、そのトラックが第2の記憶域上にある間に更新されなかったことを示すと考えられる場合、そのトラックには何の操作も行われず、データが変更されていないのでデータはコピーされない。トラックに関する変更インジケータ54が(ブロック118において)、そのトラックが変更されたことを示す場合には、トラックのデータは、第2の記憶域6から第1の記憶域4の未使用領域にコピーされる(ブロック120において)。トラックに関する新たな前バージョン・アドレスが現在のアクティブ・アドレス56に設定されて、トラックの現在のデータが前バージョンにされ、トラックの新たな前バージョン・チェックサムが現在のアクティブ・チェックサム58に設定される。次に、アクティブ・アドレス56は、データがコピーされた未使用領域のアドレスに設定され(ブロック124において)、アクティブ・チェックサム58は、未使用領域にコピーされたデータから計算されたチェックサム値に設定される(ブロック126において)。次いで、前バージョンの対、すなわち、前バージョン・アドレス60...60、及び前バージョン・チェックサム62...62が順序付けられて、前バージョンの情報が、前バージョンの古さ又はバージョン番号によって並べられる(ブロック127において)。
エクステント・オブジェクト16がエクステント・テーブル80(図3)を含む実施形態において、ブロック127の順序付け動作を実行して現在のアクティブ・データ及びチェックサムを前バージョンにするために、エクステント移動コード14は、現在の前バージョンに関する列60...60及び62...62を右に2列に移動させて、前バージョン2...n+1に関する列を上書きして占有し、次いで、現在のアクティブ・アドレス56及び現在のアクティブ・チェックサム58を新たな最も新しい前バージョン・アドレス60及び62にコピーする。このようにして、現在のバージョン・アドレス56及びチェックサム58を最新の前バージョンにして、アクティブ・フィールド56及び58内に、未使用領域にコピーされた更新データのためのスペースを作る。代替的実施形態において、順序は、前バージョンの順序を示すポインタ又は他の情報によって示すことができる。
図4の動作により、エクステントが第1の記憶域4から第2の記憶域6に移動又は格下げされて以来第2の記憶域内で変化したトラックだけが、エクステントを第2の記憶域6から第1の記憶域4へ移動させる又は格上げするときに、第1の記憶域4にコピーされる。第1の記憶域4がSSDを含む実施形態において、上記の動作は、新たなデータが新たな領域に書込まれ、そして、前の移動以来第2の記憶域6内で変更されていないデータは第1の記憶域4にコピーされないので第1の記憶域4への不必要な書込みが回避されることから、ウェア・レベリングをもたらす。
図5は、第1の記憶域4内に存在するエクステント内のトラックへの書込みを処理するために、オペレーティング・システム12によって実行される動作の一実施形態を示す。書込みを受け取ると、オペレーティング・システム12(又は何か他のコード)は、ターゲット・トラックに対する書込みから暫定チェックサムを計算する(ブロック152において)。暫定チェックサムがトラックのアクティブ・チェックサム58と整合する場合(ブロック154において)には、トラックのアクティブ・アドレス56にあるデータが書込むデータと同じであるので、書込み要求に対して完了が返される。そのような場合には、データを第1の記憶域4に書込む必要がなく、これにより、第1の記憶域が同じ領域への継続的な書込みによって寿命が短くなるSSD又は他の型のデバイスを含む実施形態において、ウェア・レベリングが減る。暫定チェックサムがアクティブ・チェックサム58と整合しない場合(ブロック154において)、オペレーティング・システム12は、暫定チェックサムが前バージョン・チェックサム62...62のうちの1つと整合するかどうか判断する(ブロック158において)。ゼロ又はそれ以上の前バージョン・アドレス及びチェックサムが存在し得る。整合がある場合には、オペレーティング・システム12は動作160−166を実行し、前バージョン・アドレス60...60のうちの1つにある前バージョンのデータが書込むデータと一致するので、該前バージョンのデータを用いる。ブロック160において、オペレーティング・システム12は、新たな前バージョン・アドレス及び新たな前バージョン・チェックサムをアクティブ・アドレス及びアクティブ・チェックサムの値に設定(ブロック160において)する。この新たな前バージョン・アドレス及び新たな前バージョン・チェックサムが、最も新しい前バージョン・アドレス60及びチェックサム62となる。オペレーティング・システム12は、トラックに対する書込みデータを第1の記憶域内の未使用領域に書込み(ブロック162において)、アクティブ・アドレス56を、データがコピーされた未使用領域のアドレスに設定(ブロック164において)し、アクティブ・チェックサム58を、未使用領域内のデータから計算されたチェックサム値に設定(ブロック166において)する。次に、前バージョン対、すなわち、前バージョン・アドレス60...60、及び前バージョン・チェックサム62...62が順序付けられて(ブロック167において)、前バージョンの情報が、前バージョンの古さ又はバージョン番号によって並べられる。
エクステント・オブジェクト16がエクステント・テーブル80(図3)を含む実施形態において、新たな前バージョン・アドレス及び前バージョン・チェックサムを生成した後、ブロック167の順序付け動作を行うために、オペレーティング・システム12は、全ての現在の前バージョン・アドレス60...60及びチェックサム62...62を、テーブル内で右に2列移動させて列データを上書きし、それらを前バージョン・アドレス60...60n+1及びチェックサム62...62n+1にして、生成された新たな前バージョン・アドレス及びチェックサムが、前バージョン・アドレス60及びチェックサム62となる。代替的な実施形態において、順序は、前バージョンの順序を示すポインタ又は他の情報によって示すことができる。
暫定チェックサムが前バージョン・チェックサム62...62の判断された1つと整合する場合(ブロック158において)には、オペレーティング・システム12は、整合した前バージョン・チェックサムに関して、判断された前バージョン・アドレス及び前バージョン・チェックサムをバッファリングする(ブロック168において)。オペレーティング・システム12は、新たな前バージョン・アドレス及び新たな前バージョン・チェックサムを、現在のアクティブ・アドレス56及びアクティブ・チェックサム58に設定し(ブロック170において)て、現在のアクティブ・アドレス及びチェックサムを最も新しい前バージョンにする。ブロック170を実行した後、次にオペレーティング・システム12は、アクティブ・アドレス56及びアクティブ・チェックサム58を、それぞれ、バッファリングされた前バージョン・アドレス及び前バージョンン・チェックサムに設定する(ブロック172において)。エクステント・オブジェクト16がエクステント・テーブル80(図3)を含む実施形態において、ブロック168−172で、1つの前バージョン・アドレス、例えば60、及び前バージョン・チェックサム、例えば62、を現在のアクティブ・バージョン56及び58にした後、次にオペレーティング・システム12は、整合しバッファリングされた前バージョン・アドレス60及びチェックサム62に続く前バージョン・アドレス60i+1...60及び前バージョン・チェックサム62i+1...62の全ての列を、テーブル80内で左に2列に移動させて、アクティブ・フィールド56及び58にコピーされた、整合しバッファリングされた前バージョン・アドレス60及びチェックサム62が占有していた列を上書きする。
上記の図5の実施形態により、オペレーティング・システム12は、現在のアクティブ・アドレス56及びチェックサム58、又は、1つの前バージョン・アドレス60...60及びチェックサム62...62を、新たなアクティブ・アドレス56及びチェックサム58のために使用して、データを第1の記憶域4に書込むことを回避しようと試みる。このように、オペレーティング・システム12は、新しい書込みデータに対して、第1の記憶域4内に既に存在するデータを再使用する。第1の記憶域4がSSDを含む実施形態において、書込みのためにアクティブ又は前バージョン・データを用いて書込みを避けることは、SSDの摩耗を防ぎ、その寿命を延ばす。
図6は、第2の記憶域6内に存在するエクステント内のターゲット・トラックに向けられた書込みを処理するための、オペレーティング・システム12コード(又は他の構成要素)内で実行される動作の一実施形態を示す。エクステント・オブジェクト16は、図6の動作が始まるときには既に生成されていることになる。書込みを受け取ることに応じて(ブロック200において)、オペレーティング・システム12は、ターゲット・トラックに対する書込みから暫定チェックサムを計算する(ブロック202において)。暫定チェックサムがトラックのアクティブ・チェックサム58と整合する(ブロック204において)場合、且つ、変更インジケータ54が、トラックが第2の記憶域6内で以前に変更され、この変更がエクステント・オブジェクト16内に反映されなかったことを示すように設定されている場合、第1の記憶域4のトラックは第2の記憶域6内で変更されたトラックを有することになるので、変更インジケータ54はクリアされる(ブロック206において)。書込みデータは、第2の記憶域内のトラックに書込まれ(ブロック208において)、そして書込み要求に対して完了が返される(ブロック210において)。そのような場合、第1の記憶域4内のトラックのアクティブ・アドレス56は第2の記憶域6に書込まれたデータと同じであるので、エクステント・オブジェクト16は更新される必要がない。変更インジケータ54が設定されていない場合(ブロック205において)には、制御はブロック210に進み、第1の記憶域4及び第2の記憶域6の両方の中のアクティブ・データ又は最新書込みデータが書込むデータと既に一致するデータを有するので、なにも書込まない。
暫定チェックサムがアクティブ・チェックサム58と整合しない(ブロック204において)場合、オペレーティング・システム12は、暫定チェックサムが前バージョン・チェックサム62...62のうちの1つと整合するかどうか判断する(ブロック212において)。ゼロ又はそれ以上の前バージョン・アドレス及びチェックサムが存在し得る。整合が存在する場合(ブロック212において)には、オペレーティング・システム12は、動作214−218を実行して前バージョン・アドレス60...60のうちの1つにある前バージョン・トラックを用いるが、その理由は、第1の記憶域4内の判断された前バージョン・トラックが第2の記憶域6内のトラックに書込むデータと整合するからである。オペレーティング・システム12は、整合する前バージョン・チェックサム62iに関して、判断された前バージョン・アドレス、例えば60、及び、前バージョン・チェックサム、例えば62をバッファリングする(ブロック216において)。オペレーティング・システム12は、新たな前バージョン・アドレス及び新たな前バージョン・チェックサムを、現在のアクティブ・アドレス56及び現在のアクティブ・チェックサム58の値に設定する(ブロック216において)。ブロック216を実行した後、オペレーティング・システム12は、アクティブ・アドレス56及びアクティブ・チェックサム58を、それぞれ、バッファリングされた前バージョン・アドレス60及び前バージョン・チェックサム62に設定する(ブロック218において)。オペレーティング・システム12は、変更インジケータ54をクリアして(ブロック206において)、第1の記憶域4が第2の記憶域6内で変更されたデータを有する故に、トラックは変更されないことを示す。次に制御はブロック206からブロック208に進み、第2の記憶域6への書込みを完了する。
エクステント・オブジェクト16がエクステント・テーブル80(図3)を含む実施形態において、ブロック212−216において1つの前バージョン・アドレス、例えば60、及び前バージョン・チェックサム、例えば62、を現在のアクティブ・バージョン56及び58にした後、オペレーティング・システム12は、整合しバッファリングされた前バージョン・アドレス60及びチェックサム62に続く前バージョン・アドレス60i+1及び前バージョン・チェックサム62i+1の全ての列を、テーブル80内で左に2列に移動させて、整合しバッファリングされた前バージョン・アドレス60及びチェックサム62が占有していた列を上書きする。
暫定チェックサムが1つの前バージョン・チェックサムと整合しない場合(ブロック212において)には、変更インジケータ54はデータが第2の記憶域6内で変更されたことを示すように設定され(ブロック222において)、制御はブロック208に進み、第2の記憶域6への書込みを完了する。変更インジケータ54を設定することは、第1の記憶域4が第2の記憶域6に書込まれるデータを有していない可能性を示す。そのような場合、第1の記憶域4内のアクティブ・アドレス56におけるデータは、トラックの該データが第2の記憶域6内で変更されているために「アクティブ・データ」ではなくなり、アクティブ・アドレス56におけるトラックのデータが最新の前バージョンのデータとなり得る。従って、変更インジケータ54が設定されるとき、アクティブ・アドレス56及びアクティブ・チェックサム58の情報は、トラックの実際のアクティブ・データではなくなっている可能性がある。
上記の図6の実施形態により、オペレーティング・システム12は、第1の記憶域4内のトラックの既存のデータが第2の記憶域6に書込まれるデータと整合する場合には、現在のアクティブ・アドレス56及びチェックサム58、又は、1つの前のバージョン・アドレス60...60及びチェックサム62...62を、第1の記憶域4内の新たなアクティブ・アドレス56及びアクティブ・チェックサム58のために用いようと試みる。エクステント・オブジェクト16を更新して、第1の記憶域4が第2の記憶域6に書込まれたデータを有することを反映させることにより、変更インジケータがクリアされているので、変更されたトラックを有するエクステントを第2の記憶域6から第1の記憶域4に移動させて戻すときに引き続いて第1の記憶域4を第2の記憶域6内のトラックへの書込みデータで更新する必要はない。第1の記憶域4がSSDを含む実施形態において、第2の記憶域6への書込みのために、第1の記憶域4内のトラックのアクティブ・バージョン又は前バージョンを用いることにより、第2の記憶域6から第1の記憶域4への後の移動の際に、第1の記憶域への書込みの必要性が回避される。第1の記憶域4への書込みを回避することは、SSDの摩耗を減らして寿命を延ばす。
図5及び図6の実施形態において、第1の記憶域4又は第2の記憶域6内に書込まれているトラックに関するエクステント・オブジェクトが保持されていない場合には、さらに別の動作を実行せずに書込みを進行させることができる。さらに、書込み動作に対して、書込む複数のトラックが存在する場合には、図5及び図6の動作は書込む各トラックに対して実行されることになる。
説明した実施形態は、エクステントを第2の記憶域から第1の記憶域へ移動させるとき、第1の記憶域内に存在するエクステントへの書込みを実行するとき、そして第2の記憶域への書込みを実行するときに、第1の記憶域への書込みの回数を減らすための技術を提供する。第1の記憶域が、同じ位置に対する継続的な更新によって記憶寿命が短くなるSSD又は他の記憶装置を含む実施形態において、説明した実施形態は記憶装置の摩耗を減らし、その寿命を延ばす。
付加的な実施形態の詳細
説明した動作は、ソフトウェア、ファームウェア、又はこれらの任意の組合せを作成するための標準的プログラミング及び/又はエンジニアリング技法を用いて、方法、装置又はコンピュータ・プログラムとして実装することができる。従って、実施形態の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、又は、ソフトウェア態様とハードウェア態様とを組み合せた実施形態の形をとることができ、これらは、本明細書において全て一般的に「回路」、「モジュール」又は「システム」と呼ぶことができる。さらに、実施形態の態様は、その上に具体化されたコンピュータ可読プログラム・コードを有する1つ又は複数のコンピュータ可読媒体内に具体化されたコンピュータ・プログラムの形をとることができる。
1つ又は複数のコンピュータ可読媒体の任意の組合せを用いることができる。コンピュータ可読媒体は、コンピュータ可読信号媒体又はコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、それらに限定されないが、電子、磁気、光、電磁気、赤外、若しくは半導体のシステム、装置、若しくはデバイス、又は上記の任意の適切な組合せとすることができる。コンピュータ可読記憶媒体のより具体的な例(非網羅的リスト)は、1つ又は複数の配線を有する電気接続、携帯用コンピュータ・ディスケット、ハードディスク、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、消去可能プラグラム可能読み出し専用メモリ(EPROM又はフラッシュ・メモリ)、光ファイバ、携帯用コンパクト・ディスク読み出し専用メモリ(CD−ROM)、光記憶デバイス、磁気記憶デバイス、又は上記の任意の適切な組合せを含むであろう。本明細書の文脈において、コンピュータ可読記憶媒体は、命令実行システム、装置、又はデバイスにより、又はそれらと共に使用するためのプログラムを収容又はストアすることができる任意の有形媒体とすることができる。
コンピュータ可読信号媒体は、具体化されたコンピュータ可読プログラム・コードを内部に、例えば、ベースバンド内に又は搬送波の一部分として有する伝搬データ信号を含むことができる。そのような伝搬信号は、それらに限定されないが、電磁気、光、又はそれらの任意の適切な組合せを含んだ様々な形態のいずれかを取ることができる。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、そして、命令実行システム、装置、若しくはデバイスにより又はそれらと共に使用するためのプログラムを通信し、伝搬し、又は移送することができる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読媒体上に具体化されたプログラム・コードは、無線、有線、光ファイバ・ケーブル、RFなど、又はこれらの任意の適切な組合せを含むが、それらに限定されない任意の適切な媒体を用いて伝送することができる。
本発明の態様に関する動作を実行するためのコンピュータ・プログラム・コードは、例えばJava、Smalltalk、C++などのオブジェクト指向プログラミング言語、及び、例えば「C」プログラミング又は類似のプログラミング言語などの通常の手続き型プログラミング言語を含む1つ又は複数のプログラミング言語の任意の組合せによって書くことができる。プログラム・コードは、独立ソフトウェア・パッケージとして、完全にユーザのコンピュータ上で若しくは部分的にユーザのコンピュータ上で、又は部分的にユーザのコンピュータ上且つ部分的に遠隔コンピュータ上で、又は完全に遠隔コンピュータ若しくはサーバ上で実行することができる。後者のシナリオにおいて、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)又は広域ネットワーク(WAN)を含む任意の型のネットワークによってユーザのコンピュータに接続することができ、又は、接続は外部コンピュータ(例えば、インターネット・サービス・プロバイダを利用してインターネットにより)に対して行うことができる。
以下で本発明の態様を、本発明の実施形態による方法、装置(システム)及びコンピュータ・プログラムのフローチャート図及び/又はブロック図を参照しながら説明する。フローチャート図及び/又はブロック図の各ブロック、並びにフローチャート図及び/又はブロック図内のブロックの組合せは、コンピュータ・プログラム命令によって実施できることが理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、又は他のプログラム可能データ処理装置のプロセッサに供給して機械を生成し、その結果、命令がコンピュータ又は他のプログラム可能データ処理装置のプロセッサによって実行されてフローチャート図及び/又はブロック図のブロック又は複数のブロック内で指定された機能/動作を実行するための手段を形成するようにすることができる。
これらのコンピュータ命令を、コンピュータ、他のプログラム可能データ処理装置、又は他のデバイスに、特定の仕方で機能するように指示することができるコンピュータ可読媒体にストアし、その結果、コンピュータ可読媒体にストアされた命令が、フローチャート図及び/又はブロック図のブロック又は複数のブロック内で指定された機能/動作を実行する命令を含んだ製品を生成するようにすることもできる。
コンピュータ・プログラム命令を、コンピュータ、他のプログラム可能処理装置、又は他のデバイスにロードし、コンピュータ、他のプログラム可能装置、又は他のデバイス上で実行される一連の動作ステップが、コンピュータ実施のプロセスを生成するようにして、その結果、コンピュータ又は他のプログラム可能装置上で実行される命令が、フローチャート図及び/又はブロック図のブロック又は複数のブロック内で指定された機能/動作を実行するプロセスをもたらすようにすることもできる。
特定の実施形態において、図1のサーバは、クラウド・コンピューティング環境におけるクラウド構成部分として実施することができる。クラウド・コンピューティング環境において、クラウド・コンピューティングの配信に関与するハードウェア及びソフトウェア構成要素のシステム構成は、インターネットのようなネットワークを介して互いに通信する複数のクラウド構成要素を含むことができる。例えば、特定の実施形態において、図1のサーバは、クライアント及び他のサーバ、並びにネットワーク・クラウド内の他のソフトウェア及び/又はハードウェア構成要素に、ストレージ及びデータ処理サービスを提供することができる。サーバ2は、高信頼性のストレージ・サービスを提供することができ、記憶域4及び6へアクセスして、ストレージを必要とするクライアント及びストレージ・サービスをクライアントに提供する他のサーバを含むクラウド内の顧客のサービス要求の品質を満足させることができる。サーバ2は、ウェブ・インタフェース又は他のアプリケーション・プログラミング・インタフェースによってクライアントと通信し、記憶域4及び6に関するストレージ・サービスを提供することができる。
用語「一実施形態(an embodiment)」、「実施形態(embodiment)」、「実施形態(embodiments)」、「その実施形態(the embodiment)」、「1つ又は複数の実施形態」、「幾つかの実施形態」、及び「1つの実施形態」は、明示的に別に指定されない限り、「本発明の1つ又は複数の(しかし全てではない)実施形態」を意味する。
用語「含む」、「備える」、「有する」及びそれらの変形物は、明示的に別に指定されない限り、「含むがそれらに限定されない」を意味する。
列挙される項目のリストは、明示的に別に指定されない限り、何れか又は全ての項目が互いに排他的であることを意味しない。
用語「1つの(a)」、「1つの(an)」及び「その(the)」は、明示的に別に指定されない限り、「1つ又は複数」を意味する。
互いに通信するデバイスは、明示的に別に指定されない限り、互いに連続的に通信する必要はない。さらに、互いに通信するデバイスは、直接的に、又は1つ若しくは複数の媒介手段を介して間接的に通信することができる。
互いに通信する幾つかの構成要素を有する実施形態の説明は、それら全ての構成要素が必要であることを意味しない。反対に、本発明の種々様々な可能な実施形態を示すために、様々な随意の構成要素が説明されている。
さらに、プロセス・ステップ、方法ステップ又はアルゴリズムなどは、順番に説明されていることがあるが、それらプロセス、方法及びアルゴリズムは別の順番で動作するように構成することができる。換言すれば、説明され得るステップの何れの順序又は順番も、ステップがその順番で実行されることの必要性を必ずしも示すものではない。本明細書で説明するプロセスのステップは、実際には任意の順番で実行することができる。さらに、幾つかのステップは同時に実行することができる。
本明細書において単一のデバイス又は物品が説明されている場合、単一のデバイス/物品の代りに1つより多くのデバイス/物品(それらが協働してもしなくとも)を使用できることが直ちに明白となるであろう。同様に、本明細書で1つより多くのデバイス又は物品(それらが協働してもしなくとも)が説明されている場合、1つより多くのデバイス又は物品の代りに単一のデバイス/物品を使用することができ、又は、示された数のデバイス又はプログラムの代りに異なる数のデバイス/物品を使用することができることが直ちに明白となるであろう。デバイスの機能及び/又は特徴は、それら機能/特徴を有するように明示的に説明されていない1つ又は複数の他のデバイスによって代替的に具体化することができる。従って、本発明の他の好ましい実施形態は、必ずしもそのデバイス自体を含む必要はない。
図4−図6に示した動作は特定のイベントが特定の順番で行われることを示す。代替的実施形態においては、特定の動作は異なる順番で実行することができ、又は修正若しくは除去することができる。さらに、上記の論理にステップを付け加えて、それでもなお説明した実施形態に適合させることができる。さらに、本明細書で説明した動作は順次に行うことができ、又は特定の動作は並列に処理することができる。さらにまた、動作は単一の処理装置により、又は分散処理装置によって実行することができる。
本発明の種々の好ましい実施形態の上記の説明は、例証及び説明のために提示されたものである。これは網羅的であること、又は本発明を開示された通りの形態に限定することを意図したものではない。上記の教示を考慮すれば、多くの修正及び変形が可能となる。本発明の範囲は、この詳細な説明ではなく、添付の特許請求の範囲によって限定されることが意図されている。上記の詳細な説明、実施例及びデータは、本発明の構成要素の製造及び用途の完全な説明を与える。本発明の範囲から逸脱せずに、本発明の多くの実施形態を構成することができるので、本発明は、添付の特許請求の範囲の中に存在する。
2:サーバ
4:第1の記憶域
6:第2の記憶域
8:プロセッサ
10:メモリ
12:オペレーティング・システム
14:エクステント移動コード
16:エクステント・オブジェクト
50:エントリ
52:トラック識別子(トラックID)
54:変更インジケータ
56:アクティブ・アドレス
58:アクティブ・チェックサム
60...60:前バージョン・アドレス
62...62:前バージョン・チェックサム
80:エクステント・テーブル

Claims (19)

  1. 第1の記憶域及び第2の記憶域内のデータを管理する方法であって、
    前記第2の記憶域から前記の第1の記憶域へトラックのエクステントを移動させる動作を処理するステップと、
    前記移動させるエクステントに関するエクステント・オブジェクトが存在するかどうかを判断するステップであって、前記エクステント・オブジェクトは、前記エクステントが前回に前記第1の記憶域から前記第2の記憶域へ以前に移動された場合に存在し、前記エクステント・オブジェクトは、各々のトラックに関する、前記エクステントが以前に前記第2の記憶域に移動されたときの前回以来、前記トラックが前記第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む、前記判断するステップと、
    を含み、
    前記エクステント・オブジェクトが存在するとの判断に応じて、
    前記前回以来、前記トラックが前記第2の記憶域内で更新されたことを示す書込みインジケータ有する、前記エクステント内の前記トラックを判断するステップと、
    前記判断されたトラックの前記データを、前記第2の記憶域から前記第1の記憶域内の未使用領域にコピーするステップと、
    前記判断された各々のトラックに対して、前記エクステント・オブジェクト内の前記判断されたトラックに関する前記エントリを、前記トラックの前記データがコピーされた前記未使用領域を前記トラックのアクティブ・アドレスとして示すように更新するステップと
    を実行する、ステップ
    を含む、方法。
  2. 前記エクステント・オブジェクトは、前記第1の記憶域内の前記トラックの前記データの前バージョンに関する情報を保持し、少なくとも1つの前バージョンを有する各トラックに対して、前記トラックに関する前記エントリは、前記トラックの前記前バージョンの前記データの前記第1の記憶域内の領域を示す、各前バージョンの前バージョン・アドレスを含み、
    前記方法は、
    前記判断されたトラックの各々に対して、前記第2の記憶域から前記データがコピーされた前記未使用領域を示すように前記アクティブ・アドレスを更新する前に、新たな前バージョン・アドレスを前記トラックの前記アクティブ・アドレスに設定するステップをさらに含む、
    請求項1に記載の方法。
  3. ソリッド・ステート記憶装置を備えた前記第1の記憶域を準備するステップと、
    前記ソリッド・ステート記憶装置よりも遅い入力/出力アクセス・プロファイルを有するタイプの記憶装置を備えた前記第2の記憶域を準備するステップと
    をさらに含む、請求項1又は請求項2のいずれかに記載の方法。
  4. 前記第2の記憶域は、前記エクステント内の前記トラックを隣接してストアし、前記方法は、前記第2の記憶域内の変更されたトラックを、前記第1の記憶域内の、前記エクステント内の未変更トラックに対して隣接しない領域にコピーするステップをさらに含む、前記請求項のいずれか1項に記載の方法。
  5. 各々のエントリは、前記アクティブ・アドレス内で識別される前記トラックのデータから計算されたアクティブ・チェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョン・アドレス、及び前記前バージョン・アドレス内で識別される前記トラックのデータから計算された前バージョン・チェックサム値を含み、
    前記方法は、
    前記第1の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るステップと、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するステップと、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記アクティブ・チェックサム又は少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するステップと、
    前記暫定チェックサムと整合する、前記アクティブ・アドレス又は前記前バージョン・アドレス及び対応する前記アクティブ・チェックサム又は前記前バージョン・チェックサムを、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス及びアクティブ・チェックサムのために用いるステップと、
    前記暫定チェックサムが、前記アクティブ・チェックサム、又は前記少なくとも1つの前バージョン・チェックサムのいずれかのうちの、どの1つとも整合しないとの判断に応じて、前記ターゲット・トラックへの書込みを、前記第1の記憶域内の未使用領域に書込むステップと
    をさらに含む、
    前記請求項のいずれか1項に記載の方法。
  6. 前記書込みを前記ターゲット・トラックへ前記書込むステップは、前記暫定チェックサムが、前記アクティブ・チェックサム又は前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するとの判断に応じて、前記第1の記憶域に書込まれない、請求項5に記載の方法。
  7. 前記暫定チェックサムと整合する、前記アクティブ・アドレス又は前記前バージョン・アドレス及び前記対応するチェックサムを前記用いるステップは、
    前記暫定チェックサムが前記アクティブ・チェックサム又は前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するとの判断に応じて、完了を前記書込みに返すステップを含み、
    前記暫定チェックサムが前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するとの判断に応じて、
    前記整合する前バージョン・チェックサムに関する前記前バージョン・アドレス及び前記前バージョン・チェックサムをバッファリングするステップと、
    新たな前バージョン・アドレス及び新たな前バージョン・チェックサムを前記アクティブ・アドレス及び前記アクティブ・チェックサムの値に設定するステップと、
    前記新たな前バージョン・アドレス及び前記新たな前バージョン・チェックサムを設定した後で、前記アクティブ・アドレス及び前記アクティブ・チェックサムを、それぞれ前記バッファリングされた前バージョン・アドレス及び前バージョン・チェックサムに設定するステップと
    を実行する、ステップ
    を含む、請求項5又は請求項6のいずれかに記載の方法。
  8. 各々のエントリは、前記アクティブ・アドレス内で識別される前記トラック・データから計算されたアクティブ・チェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョン・アドレス、及び前記前バージョン・アドレス内で識別される前記トラック・データから計算された前バージョン・チェックサムを含み、
    前記方法は、
    前記第2の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るステップと、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するステップと、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記アクティブ・チェックサム又は少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するステップと、
    前記整合の判断に応じて、前記暫定チェックサムと整合する、前記アクティブ・アドレス又は前記前バージョン・アドレス及び対応するアクティブ・チェックサム又は前バージョン・チェックサムを、前記前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス及びアクティブ・チェックサムのために用いるステップと
    をさらに含む、
    前記請求項のいずれか1項に記載の方法。
  9. 前記方法は、前記暫定チェックサムが、前記アクティブ・チェックサム、又は前記少なくとも1つの前バージョン・チェックサムのいずれか1つのうちの、どの1つとも整合しないとの判断に応じて、前記エクステント・オブジェクト内の前記ターゲット・トラックに関する前記エントリ内に、前記トラックが前記第2の記憶域内で更新されたことを示すインジケータを設定するステップをさらに含み、
    前記インジケータは、前記第1の記憶域内の前記アクティブ・アドレスにおける前記ターゲット・トラックのデータが、前記第2の記憶域内に保持される前記トラックの前記データの最新バージョンではないことを示す、
    請求項8に記載の方法。
  10. 前記暫定チェックサムが前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するとの判断に応じて、
    前記整合する前バージョン・チェックサムに関する前記前バージョン・アドレス及び前記前バージョン・チェックサムをバッファリングするステップと、
    新たな前バージョン・アドレス及び新たな前バージョン・チェックサムを、それぞれ前記アクティブ・アドレス及び前記アクティブ・チェックサムの値に設定するステップと、
    前記新たな前バージョン・アドレス及び前記新たな前バージョン・チェックサムを設定した後で、前記アクティブ・アドレス及び前記アクティブ・チェックサムを、それぞれ前記バッファリングされた前バージョン・アドレス及び前記バッファリングされた前バージョン・チェックサムに設定するステップと
    を実行する、ステップ
    をさらに含む、請求項8又は請求項9のいずれかに記載の方法。
  11. 各々のエントリは、アクティブ・アドレス列中の前記アクティブ・アドレス内で識別される前記トラック・データから計算された、アクティブ・チェックサム列内のアクティブ・チェックサム値と、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンのアドレスを有する前バージョン・アドレス列と、前記前バージョン・アドレスにおける前記トラック・データから計算されたチェックサム値を有する前バージョン・チェックサム列とを含む複数の列を含み、
    前記方法は、
    前記第1の記憶域又は前記第2の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るステップと、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するステップと、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するステップと、
    前記暫定チェックサムと整合する、前記前バージョン・アドレス及び前記対応する前バージョン・チェックサムを、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込むステップと、
    前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込まれた前記前バージョン・アドレス及び前記前バージョン・チェックサムのバージョンよりも古いバージョンを有する全ての前アドレス列及び前チェックサム列をシフトさせて、前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込まれた前記前バージョン・アドレス及び前記対応する前バージョン・チェックサムを含む前記前アドレス列及び前記前チェックサム列を上書きするステップと
    をさらに含む、
    前記請求項のいずれか1項に記載の方法。
  12. 第1の記憶域及び第2の記憶域と通信するシステムであって、
    プロセッサと、
    前記プロセッサによって実行され、動作を実行するためのコードを含むメモリと、
    前記第2の記憶域から前記第1の記憶域へトラックのエクステントを移動させる動作を処理するための処理手段と、
    前記移動させるエクステントに関するエクステント・オブジェクトが存在するかどうかを判断する判断手段であって、前記エクステント・オブジェクトは、前記エクステントが前回に前記第1の記憶域から前記第2の記憶域へ以前に移動された場合に存在し、前記エクステント・オブジェクトは、各トラックに関する、前記エクステントが以前に前記第2の記憶域へ移動されたときの前記前回以来、前記トラックが前記第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む、前記判断手段と
    を備え、
    前記エクステント・オブジェクトが存在するとの判断に応じて、
    前記判断手段は、前記エクステント内の前記トラックが、前記前回以来前記トラックが前記第2の記憶域内で更新されたことを示す書込みインジケータを有することを判断するようにさらに動作可能であり、
    前記判断されたトラックの前記データを、前記第2の記憶域から前記第1の記憶域内の未使用領域にコピーするためのコピー手段と、
    前記判断されたトラックの各々に対して、前記エクステント・オブジェクト内の前記判断されたトラックに関する前記エントリを、前記トラックの前記データがコピーされた前記未使用領域を前記トラックのアクティブ・アドレスとして示すように更新するための更新手段と
    をさらに備える
    システム。
  13. 前記エクステント・オブジェクトは、前記第1の記憶域内の前記トラックの前記データの前バージョンに関する情報を保持し、少なくとも1つの前バージョンを有する各トラックに対して、前記トラックに関する前記エントリは、前記トラックの前記前バージョンのデータの前記第1の記憶域内の領域を示す、各前バージョンの前バージョン・アドレスを含み、
    前記システムは、
    前記判断されたトラックの各々に対して、前記第2の記憶域から前記データがコピーされた前記未使用領域を示すように前記アクティブ・アドレスを更新する前に、新たな前バージョン・アドレスを前記トラックの前記アクティブ・アドレスに設定するための設定手段をさらに備える、
    請求項12に記載のシステム。
  14. 前記第1の記憶域はソリッド・ステート記憶装置を備え、前記第2の記憶域は前記ソリッド・ステート記憶装置よりも遅い入力/出力アクセス・プロファイルを有するタイプの記憶装置を備える、請求項12又は請求項13のいずれかに記載のシステム。
  15. 各々のエントリは、前記アクティブ・アドレス内で識別される前記トラック・データから計算されたアクティブ・チェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョン・アドレス、及び前記前バージョン・アドレス内で識別される前記トラック・データから計算された前バージョン・チェックサム値を含み、
    前記システムは、
    前記第1の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るための受取り手段と、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記アクティブ・チェックサム又は少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するようにさらに動作可能な判断手段と、
    前記暫定チェックサムと整合する、前記アクティブ・アドレス又は前記前バージョン・アドレス及び対応するアクティブ・チェックサム又は前バージョン・チェックサムを、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス及びアクティブ・チェックサムのために用いるための使用手段と、
    前記暫定チェックサムが、前記アクティブ・チェックサム、又は前記少なくとも1つの前バージョン・チェックサムのいずれかのうちの、どの1つとも整合しないとの判断に応じて、前記ターゲット・トラックへの前記書込みを、前記第1の記憶域内の未使用領域に書込むための書込み手段と
    をさらに備える、
    請求項12から請求項14のいずれか1項に記載のシステム。
  16. 各々のエントリは、前記アクティブ・アドレス内で識別される前記トラック・データから計算されたアクティブ・チェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョン・アドレス、及び前記前バージョン・アドレス内で識別される前記トラック・データから計算された前バージョン・チェックサムを含み、
    前記システムは、
    前記第2の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るための受取り手段と、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記アクティブ・チェックサム又は少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するようにさらに動作可能な判断手段と、
    前記整合の判断に応じて、前記暫定チェックサムと整合する、前記アクティブ・アドレス又は前記前バージョン・アドレス及び対応するアクティブ・チェックサム又は前バージョン・チェックサムを、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス及びアクティブ・チェックサムのために用いるための使用手段と
    をさらに備える、
    請求項12から請求項14のいずれか1項に記載のシステム。
  17. 各々のエントリは、アクティブ・アドレス列中の前記アクティブ・アドレス内で識別される前記トラック・データから計算可能な、アクティブ・チェックサム列内のアクティブ・チェックサム値と、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンのアドレスを有する前バージョン・アドレス列と、前記前バージョン・アドレスにおける前記トラック・データから計算可能なチェックサム値を有する前バージョン・チェックサム列とを含む複数の列を含み、
    前記システムは、
    前記第1の記憶域又は前記第2の記憶域内に存在する前記エクステント内のターゲット・トラックへの書込みを受け取るための受取り手段と、
    前記ターゲット・トラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、
    前記暫定チェックサムが、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリ内の前記少なくとも1つの前バージョン・チェックサムのうちの1つと整合するかどうかを判断するための判断手段と、
    前記暫定チェックサムと整合する、前記前バージョン・アドレス及び前記対応する前バージョン・チェックサムを、前記ターゲット・トラックに関する前記エクステント・オブジェクト内の前記エントリの前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込むための書込み手段と、
    前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込まれた前記前バージョン・アドレス及び前記前バージョン・チェックサムのバージョンよりも古いバージョンを有する全ての前アドレス列及び前チェックサム列をシフトさせて、前記アクティブ・アドレス列及び前記アクティブ・チェックサム列に書込まれた前記前バージョン・アドレス及び前記対応する前バージョン・チェックサムを含む前記前アドレス列及び前記前チェックサム列を上書きするためのシフト手段と
    をさらに備える、
    請求項12又は請求項14のいずれかに記載のシステム。
  18. 第1の記憶域及び第2の記憶域内のデータを管理するためのコンピュータ・プログラムであって、請求項1から請求項11までのいずれか1項による方法を実行するための処理回路による実行のための命令をストアする、前記処理回路によって可読なコンピュータ可読記憶媒体を備えたコンピュータ・プログラム。
  19. コンピュータ可読媒体上にストアされ、デジタル・コンピュータの内部メモリにロードされ、コンピュータ上で実行されるとき請求項1から請求項11までのいずれか1項による方法を実行するソフトウェア・コード部分を備える、コンピュータ・プログラム。
JP2013510561A 2010-05-20 2011-05-09 記憶装置の間で移動されるトラックのエクステントへの書込み動作の管理方法、システム、及びコンピュータ・プログラム Active JP5802263B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/784,427 2010-05-20
US12/784,427 US8380949B2 (en) 2010-05-20 2010-05-20 Managing write operations to an extent of tracks migrated between storage devices
PCT/EP2011/057398 WO2011144477A1 (en) 2010-05-20 2011-05-09 Managing write operations to an extent of tracks migrated between storage devices

Publications (2)

Publication Number Publication Date
JP2013533991A true JP2013533991A (ja) 2013-08-29
JP5802263B2 JP5802263B2 (ja) 2015-10-28

Family

ID=44169025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510561A Active JP5802263B2 (ja) 2010-05-20 2011-05-09 記憶装置の間で移動されるトラックのエクステントへの書込み動作の管理方法、システム、及びコンピュータ・プログラム

Country Status (7)

Country Link
US (3) US8380949B2 (ja)
JP (1) JP5802263B2 (ja)
CN (1) CN102884502B (ja)
DE (1) DE112011100618B4 (ja)
GB (1) GB2493679B (ja)
TW (1) TW201211879A (ja)
WO (1) WO2011144477A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248352B2 (en) 2016-09-15 2019-04-02 International Business Machines Corporation Management of object location in hierarchical storage
JP2021096513A (ja) * 2019-12-13 2021-06-24 日本電気株式会社 管理装置、管理方法及びプログラム

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices
WO2012004837A1 (en) * 2010-07-09 2012-01-12 Hitachi, Ltd. Storage apparatus and storage management method
US8886901B1 (en) * 2010-12-31 2014-11-11 Emc Corporation Policy based storage tiering
US9280550B1 (en) 2010-12-31 2016-03-08 Emc Corporation Efficient storage tiering
US8868869B2 (en) 2011-08-08 2014-10-21 International Business Machines Corporation Enhanced copy-on-write operation for solid state drives
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US20130219116A1 (en) * 2012-02-16 2013-08-22 Wenguang Wang Data migration for composite non-volatile storage device
US10817202B2 (en) * 2012-05-29 2020-10-27 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831727B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831728B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
SG11201704871QA (en) * 2014-12-22 2017-07-28 Atotech Deutschland Gmbh Method for electromagnetic shielding and thermal management of active components
US10216966B2 (en) * 2015-02-25 2019-02-26 Netapp, Inc. Perturb key technique
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
DE102017212181A1 (de) 2017-07-17 2019-01-17 Robert Bosch Gmbh Verfahren und Vorrichtung zum Bestimmen von Prüfsummen, Pufferspeicher und Prozessor
JP7007565B2 (ja) * 2017-11-20 2022-01-24 富士通株式会社 情報処理装置および情報処理プログラム
US10684947B2 (en) * 2018-04-20 2020-06-16 International Business Machines Corporation Increasing high performance data storage utilization by reducing write operations
CN109271098B (zh) * 2018-07-18 2021-03-23 成都华为技术有限公司 一种数据迁移方法及装置
US11100132B2 (en) * 2018-10-11 2021-08-24 International Business Machines Corporation Intelligent space release in asynchronous mirror journal volumes
US11614868B2 (en) * 2019-09-30 2023-03-28 International Business Machines Corporation Data set overlay protection
CN113467722B (zh) * 2021-07-26 2024-04-30 浙江大华技术股份有限公司 一种分布式存储系统的数据迁移方法及装置
US11809731B2 (en) * 2021-09-28 2023-11-07 International Business Machines Corporation Appending data to a tape cartridge during recall operations
CN115174771B (zh) * 2022-06-23 2023-08-15 桂林医学院 一种儿童dr摄影辅助车及方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147862A1 (en) * 2001-04-07 2002-10-10 Traut Eric P. Method for establishing a drive image in a computing environment
EP1679585A2 (en) * 2005-01-10 2006-07-12 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
WO2007089502A1 (en) * 2006-01-26 2007-08-09 Network Appliance, Inc. Content addressable storage array element
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
US20080294696A1 (en) * 2007-05-22 2008-11-27 Yuval Frandzel System and method for on-the-fly elimination of redundant data
JP2009503731A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 大容量データ記憶システム
JP2009020858A (ja) * 2007-07-10 2009-01-29 Hitachi Ltd データデデュプリケーションを用いる電力効率のよいストレージ
US20090052311A1 (en) * 2007-08-22 2009-02-26 Hitachi Global Storage Technologies Netherlands, B.V. Data Storage Systems That Implement Sector Sets
WO2009102425A1 (en) * 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
US20100030987A1 (en) * 2008-07-30 2010-02-04 Samsung Electronics Co., Ltd Data storing location managing method and data storage system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5337275A (en) 1992-10-30 1994-08-09 Intel Corporation Method for releasing space in flash EEPROM memory array to allow the storage of compressed data
US5459850A (en) 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5720029A (en) * 1995-07-25 1998-02-17 International Business Machines Corporation Asynchronously shadowing record updates in a remote copy session using track arrays
JP3604466B2 (ja) 1995-09-13 2004-12-22 株式会社ルネサステクノロジ フラッシュディスクカード
US7356641B2 (en) 2001-08-28 2008-04-08 International Business Machines Corporation Data management in flash memory
JP2007066192A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd ストレージシステム及びその制御方法並びにコンピュータプログラム
US8086819B2 (en) 2007-10-05 2011-12-27 Diskeeper Corporation Solid state drive optimizer
US8880483B2 (en) 2007-12-21 2014-11-04 Sandisk Technologies Inc. System and method for implementing extensions to intelligently manage resources of a mass storage system
KR101553532B1 (ko) * 2008-04-17 2015-09-16 삼성전자주식회사 스토리지 장치
US8554983B2 (en) 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US8224782B2 (en) * 2008-09-29 2012-07-17 Hitachi, Ltd. System and method for chunk based tiered storage volume migration
JP2010102492A (ja) * 2008-10-23 2010-05-06 Hitachi Ltd データアーカイブシステム
US8380949B2 (en) 2010-05-20 2013-02-19 International Business Machines Corporation Managing write operations to an extent of tracks migrated between storage devices

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020147862A1 (en) * 2001-04-07 2002-10-10 Traut Eric P. Method for establishing a drive image in a computing environment
EP1679585A2 (en) * 2005-01-10 2006-07-12 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
JP2009503731A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 大容量データ記憶システム
JP2009524882A (ja) * 2006-01-26 2009-07-02 ネットアップ,インコーポレイテッド 内容参照ストレージアレイ要素
WO2007089502A1 (en) * 2006-01-26 2007-08-09 Network Appliance, Inc. Content addressable storage array element
WO2008005211A2 (en) * 2006-06-29 2008-01-10 Network Appliance, Inc. System and method for retrieving and using block fingerprints for data deduplication
JP2009543198A (ja) * 2006-06-29 2009-12-03 ネットアップ,インコーポレイテッド ブロック指紋を読み出し、ブロック指紋を使用してデータ重複を解消するシステム、及び方法
US20080294696A1 (en) * 2007-05-22 2008-11-27 Yuval Frandzel System and method for on-the-fly elimination of redundant data
JP2009020858A (ja) * 2007-07-10 2009-01-29 Hitachi Ltd データデデュプリケーションを用いる電力効率のよいストレージ
US20090052311A1 (en) * 2007-08-22 2009-02-26 Hitachi Global Storage Technologies Netherlands, B.V. Data Storage Systems That Implement Sector Sets
WO2009102425A1 (en) * 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
JP2011515727A (ja) * 2008-02-12 2011-05-19 ネットアップ,インコーポレイテッド ハイブリッド媒体ストレージシステムアーキテクチャ
US20100030987A1 (en) * 2008-07-30 2010-02-04 Samsung Electronics Co., Ltd Data storing location managing method and data storage system
JP2010033578A (ja) * 2008-07-30 2010-02-12 Samsung Electronics Co Ltd データ管理方法、記録媒体及びデータ保存システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10248352B2 (en) 2016-09-15 2019-04-02 International Business Machines Corporation Management of object location in hierarchical storage
US10579294B2 (en) 2016-09-15 2020-03-03 International Business Machines Corporation Management of object location in hierarchical storage
JP2021096513A (ja) * 2019-12-13 2021-06-24 日本電気株式会社 管理装置、管理方法及びプログラム

Also Published As

Publication number Publication date
DE112011100618B4 (de) 2021-03-04
GB201221295D0 (en) 2013-01-09
US20120272026A1 (en) 2012-10-25
US9218141B2 (en) 2015-12-22
US20110286123A1 (en) 2011-11-24
CN102884502B (zh) 2015-01-14
GB2493679B (en) 2018-06-06
DE112011100618T5 (de) 2013-03-07
US20140149700A1 (en) 2014-05-29
TW201211879A (en) 2012-03-16
US8380949B2 (en) 2013-02-19
CN102884502A (zh) 2013-01-16
US8656122B2 (en) 2014-02-18
GB2493679A (en) 2013-02-13
WO2011144477A1 (en) 2011-11-24
JP5802263B2 (ja) 2015-10-28

Similar Documents

Publication Publication Date Title
JP5802263B2 (ja) 記憶装置の間で移動されるトラックのエクステントへの書込み動作の管理方法、システム、及びコンピュータ・プログラム
US8566547B2 (en) Using a migration cache to cache tracks during migration
US11188431B2 (en) Transfer track format information for tracks at a first processor node to a second processor node
US9864531B2 (en) Raid-topology-aware multipath routing
US11995063B2 (en) Data set connection manager having a plurality of data sets to represent one data set
JP7256815B2 (ja) トラック・ロックおよびストライド・グループ・ロックを使用したキャッシュ動作の管理
JP2008027444A (ja) 方法、システム、製品(複数のデータ構造を用いるキャッシュ内のデータの管理)
JP6013626B2 (ja) 不揮発性メモリ書込み機構
US10754780B2 (en) Maintaining track format metadata for target tracks in a target storage in a copy relationship with source tracks in a source storage
US10430305B2 (en) Determine whether to rebuild track metadata to determine whether a track format table has a track format code for the track format metadata
CN104040508A (zh) 填充来自第一高速缓存的轨道的第一步幅以向第二高速缓存中的第二步幅写入
JP5721056B2 (ja) トランザクション処理装置、トランザクション処理方法およびトランザクション処理プログラム
US10025521B2 (en) Obtaining additional data storage from another data storage system
US8533398B2 (en) Combination based LRU caching
JP2000047941A (ja) ディスクキャッシュ制御装置
CN118672516A (zh) 一种数据存储方法、设备、存储介质及计算机程序产品
JP2004334255A (ja) 領域共用ファイル管理装置およびメンバ削除方法並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150224

TRDD Decision of grant or rejection written
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150804

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150828

R150 Certificate of patent or registration of utility model

Ref document number: 5802263

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150