第1の記憶域及び第2の記憶域内のデータを管理する方法であって、前記第2の記憶域から前記の第1の記憶域へトラックのエクステントを移動させる動作を処理するステップと、前記移動させるエクステントに関するエクステントオブジェクトが存在するかどうかを判断するステップであって、前記エクステントオブジェクトは、前記エクステントが前回に前記第1の記憶域から前記第2の記憶域へ以前に移動された場合に存在し、前記エクステントオブジェクトは、各々のトラックに関する、前記エクステントが以前に前記第2の記憶域に移動されたときの前回以来、前記トラックが前記第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む、前記判断するステップと、を含み、前記エクステントオブジェクトが存在するとの判断に応じて、前記前回以来、前記トラックが前記第2の記憶域内で更新されたことを示す書込みインジケータ有する、前記エクステント内の前記トラックを判断するステップと、前記判断されたトラックの前記データを、前記第2の記憶域から前記第1の記憶域内の未使用領域にコピーするステップと、前記判断された各々のトラックに対して、前記エクステントオブジェクト内の前記判断されたトラックに関する前記エントリを、前記トラックの前記データがコピーされた前記未使用領域を前記トラックのアクティブアドレスとして示すように更新するステップとを実行する、ステップを含む、方法。前記エクステントオブジェクトは、前記第1の記憶域内の前記トラックの前記データの前バージョンに関する情報を保持し、少なくとも1つの前バージョンを有する各トラックに対して、前記トラックに関する前記エントリは、前記トラックの前記前バージョンの前記データの前記第1の記憶域内の領域を示す、各前バージョンの前バージョンアドレスを含み、前記方法は、前記判断されたトラックの各々に対して、前記第2の記憶域から前記データがコピーされた前記未使用領域を示すように前記アクティブアドレスを更新する前に、新たな前バージョンアドレスを前記トラックの前記アクティブアドレスに設定するステップをさらに含む、請求項1に記載の方法。ソリッドステート記憶装置を備えた前記第1の記憶域を準備するステップと、前記ソリッドステート記憶装置よりも遅い入力/出力アクセスプロファイルを有するタイプの記憶装置を備えた前記第2の記憶域を準備するステップとをさらに含む、請求項1又は請求項2のいずれかに記載の方法。前記第2の記憶域は、前記エクステント内の前記トラックを隣接してストアし、前記方法は、前記第2の記憶域内の変更されたトラックを、前記第1の記憶域内の、前記エクステント内の未変更トラックに対して隣接しない領域にコピーするステップをさらに含む、前記請求項のいずれか1項に記載の方法。各々のエントリは、前記アクティブアドレス内で識別される前記トラックのデータから計算されたアクティブチェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョンアドレス、及び前記前バージョンアドレス内で識別される前記トラックのデータから計算された前バージョンチェックサム値を含み、前記方法は、前記第1の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るステップと、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するステップと、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記アクティブチェックサム又は少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するステップと、前記暫定チェックサムと整合する、前記アクティブアドレス又は前記前バージョンアドレス及び対応する前記アクティブチェックサム又は前記前バージョンチェックサムを、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス及びアクティブチェックサムのために用いるステップと、前記暫定チェックサムが、前記アクティブチェックサム、又は前記少なくとも1つの前バージョンチェックサムのいずれかのうちの、どの1つとも整合しないとの判断に応じて、前記ターゲットトラックへの書込みを、前記第1の記憶域内の未使用領域に書込むステップとをさらに含む、前記請求項のいずれか1項に記載の方法。前記書込みを前記ターゲットトラックへ前記書込むステップは、前記暫定チェックサムが、前記アクティブチェックサム又は前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するとの判断に応じて、前記第1の記憶域に書込まれない、請求項5に記載の方法。前記暫定チェックサムと整合する、前記アクティブアドレス又は前記前バージョンアドレス及び前記対応するチェックサムを前記用いるステップは、前記暫定チェックサムが前記アクティブチェックサム又は前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するとの判断に応じて、完了を前記書込みに返すステップを含み、前記暫定チェックサムが前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するとの判断に応じて、前記整合する前バージョンチェックサムに関する前記前バージョンアドレス及び前記前バージョンチェックサムをバッファリングするステップと、新たな前バージョンアドレス及び新たな前バージョンチェックサムを前記アクティブアドレス及び前記アクティブチェックサムの値に設定するステップと、前記新たな前バージョンアドレス及び前記新たな前バージョンチェックサムを設定した後で、前記アクティブアドレス及び前記アクティブチェックサムを、それぞれ前記バッファリングされた前バージョンアドレス及び前バージョンチェックサムに設定するステップとを実行する、ステップを含む、請求項5又は請求項6のいずれかに記載の方法。各々のエントリは、前記アクティブアドレス内で識別される前記トラックデータから計算されたアクティブチェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョンアドレス、及び前記前バージョンアドレス内で識別される前記トラックデータから計算された前バージョンチェックサムを含み、前記方法は、前記第2の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るステップと、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するステップと、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記アクティブチェックサム又は少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するステップと、前記整合の判断に応じて、前記暫定チェックサムと整合する、前記アクティブアドレス又は前記前バージョンアドレス及び対応するアクティブチェックサム又は前バージョンチェックサムを、前記前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス及びアクティブチェックサムのために用いるステップとをさらに含む、前記請求項のいずれか1項に記載の方法。前記方法は、前記暫定チェックサムが、前記アクティブチェックサム、又は前記少なくとも1つの前バージョンチェックサムのいずれか1つのうちの、どの1つとも整合しないとの判断に応じて、前記エクステントオブジェクト内の前記ターゲットトラックに関する前記エントリ内に、前記トラックが前記第2の記憶域内で更新されたことを示すインジケータを設定するステップをさらに含み、前記インジケータは、前記第1の記憶域内の前記アクティブアドレスにおける前記ターゲットトラックのデータが、前記第2の記憶域内に保持される前記トラックの前記データの最新バージョンではないことを示す、請求項8に記載の方法。前記暫定チェックサムが前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するとの判断に応じて、前記整合する前バージョンチェックサムに関する前記前バージョンアドレス及び前記前バージョンチェックサムをバッファリングするステップと、新たな前バージョンアドレス及び新たな前バージョンチェックサムを、それぞれ前記アクティブアドレス及び前記アクティブチェックサムの値に設定するステップと、前記新たな前バージョンアドレス及び前記新たな前バージョンチェックサムを設定した後で、前記アクティブアドレス及び前記アクティブチェックサムを、それぞれ前記バッファリングされた前バージョンアドレス及び前記バッファリングされた前バージョンチェックサムに設定するステップとを実行する、ステップをさらに含む、請求項8又は請求項9のいずれかに記載の方法。各々のエントリは、アクティブアドレス列中の前記アクティブアドレス内で識別される前記トラックデータから計算された、アクティブチェックサム列内のアクティブチェックサム値と、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンのアドレスを有する前バージョンアドレス列と、前記前バージョンアドレスにおける前記トラックデータから計算されたチェックサム値を有する前バージョンチェックサム列とを含む複数の列を含み、前記方法は、前記第1の記憶域又は前記第2の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るステップと、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するステップと、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するステップと、前記暫定チェックサムと整合する、前記前バージョンアドレス及び前記対応する前バージョンチェックサムを、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス列及び前記アクティブチェックサム列に書込むステップと、前記アクティブアドレス列及び前記アクティブチェックサム列に書込まれた前記前バージョンアドレス及び前記前バージョンチェックサムのバージョンよりも古いバージョンを有する全ての前アドレス列及び前チェックサム列をシフトさせて、前記アクティブアドレス列及び前記アクティブチェックサム列に書込まれた前記前バージョンアドレス及び前記対応する前バージョンチェックサムを含む前記前アドレス列及び前記前チェックサム列を上書きするステップとをさらに含む、前記請求項のいずれか1項に記載の方法。第1の記憶域及び第2の記憶域と通信するシステムであって、プロセッサと、前記プロセッサによって実行され、動作を実行するためのコードを含むメモリと、前記第2の記憶域から前記第1の記憶域へトラックのエクステントを移動させる動作を処理するための処理手段と、前記移動させるエクステントに関するエクステントオブジェクトが存在するかどうかを判断する判断手段であって、前記エクステントオブジェクトは、前記エクステントが前回に前記第1の記憶域から前記第2の記憶域へ以前に移動された場合に存在し、前記エクステントオブジェクトは、各トラックに関する、前記エクステントが以前に前記第2の記憶域へ移動されたときの前記前回以来、前記トラックが前記第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む、前記判断手段とを備え、前記エクステントオブジェクトが存在するとの判断に応じて、前記判断手段は、前記エクステント内の前記トラックが、前記前回以来前記トラックが前記第2の記憶域内で更新されたことを示す書込みインジケータを有することを判断するようにさらに動作可能であり、前記判断されたトラックの前記データを、前記第2の記憶域から前記第1の記憶域内の未使用領域にコピーするためのコピー手段と、前記判断されたトラックの各々に対して、前記エクステントオブジェクト内の前記判断されたトラックに関する前記エントリを、前記トラックの前記データがコピーされた前記未使用領域を前記トラックのアクティブアドレスとして示すように更新するための更新手段とをさらに備えるシステム。前記エクステントオブジェクトは、前記第1の記憶域内の前記トラックの前記データの前バージョンに関する情報を保持し、少なくとも1つの前バージョンを有する各トラックに対して、前記トラックに関する前記エントリは、前記トラックの前記前バージョンのデータの前記第1の記憶域内の領域を示す、各前バージョンの前バージョンアドレスを含み、前記システムは、前記判断されたトラックの各々に対して、前記第2の記憶域から前記データがコピーされた前記未使用領域を示すように前記アクティブアドレスを更新する前に、新たな前バージョンアドレスを前記トラックの前記アクティブアドレスに設定するための設定手段をさらに備える、請求項12に記載のシステム。前記第1の記憶域はソリッドステート記憶装置を備え、前記第2の記憶域は前記ソリッドステート記憶装置よりも遅い入力/出力アクセスプロファイルを有するタイプの記憶装置を備える、請求項12又は請求項13のいずれかに記載のシステム。各々のエントリは、前記アクティブアドレス内で識別される前記トラックデータから計算されたアクティブチェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョンアドレス、及び前記前バージョンアドレス内で識別される前記トラックデータから計算された前バージョンチェックサム値を含み、前記システムは、前記第1の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るための受取り手段と、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記アクティブチェックサム又は少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するようにさらに動作可能な判断手段と、前記暫定チェックサムと整合する、前記アクティブアドレス又は前記前バージョンアドレス及び対応するアクティブチェックサム又は前バージョンチェックサムを、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス及びアクティブチェックサムのために用いるための使用手段と、前記暫定チェックサムが、前記アクティブチェックサム、又は前記少なくとも1つの前バージョンチェックサムのいずれかのうちの、どの1つとも整合しないとの判断に応じて、前記ターゲットトラックへの前記書込みを、前記第1の記憶域内の未使用領域に書込むための書込み手段とをさらに備える、請求項12から請求項14のいずれか1項に記載のシステム。各々のエントリは、前記アクティブアドレス内で識別される前記トラックデータから計算されたアクティブチェックサム値、並びに、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンの前バージョンアドレス、及び前記前バージョンアドレス内で識別される前記トラックデータから計算された前バージョンチェックサムを含み、前記システムは、前記第2の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るための受取り手段と、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記アクティブチェックサム又は少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するようにさらに動作可能な判断手段と、前記整合の判断に応じて、前記暫定チェックサムと整合する、前記アクティブアドレス又は前記前バージョンアドレス及び対応するアクティブチェックサム又は前バージョンチェックサムを、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス及びアクティブチェックサムのために用いるための使用手段とをさらに備える、請求項12から請求項14のいずれか1項に記載のシステム。各々のエントリは、アクティブアドレス列中の前記アクティブアドレス内で識別される前記トラックデータから計算可能な、アクティブチェックサム列内のアクティブチェックサム値と、前記第1の記憶域内に保持される前記トラックの少なくとも1つの前バージョンに関する、前記第1の記憶域内の前記トラックの前記前バージョンのアドレスを有する前バージョンアドレス列と、前記前バージョンアドレスにおける前記トラックデータから計算可能なチェックサム値を有する前バージョンチェックサム列とを含む複数の列を含み、前記システムは、前記第1の記憶域又は前記第2の記憶域内に存在する前記エクステント内のターゲットトラックへの書込みを受け取るための受取り手段と、前記ターゲットトラックに対する前記書込みから暫定チェックサムを計算するための計算手段と、前記暫定チェックサムが、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリ内の前記少なくとも1つの前バージョンチェックサムのうちの1つと整合するかどうかを判断するための判断手段と、前記暫定チェックサムと整合する、前記前バージョンアドレス及び前記対応する前バージョンチェックサムを、前記ターゲットトラックに関する前記エクステントオブジェクト内の前記エントリの前記アクティブアドレス列及び前記アクティブチェックサム列に書込むための書込み手段と、前記アクティブアドレス列及び前記アクティブチェックサム列に書込まれた前記前バージョンアドレス及び前記前バージョンチェックサムのバージョンよりも古いバージョンを有する全ての前アドレス列及び前チェックサム列をシフトさせて、前記アクティブアドレス列及び前記アクティブチェックサム列に書込まれた前記前バージョンアドレス及び前記対応する前バージョンチェックサムを含む前記前アドレス列及び前記前チェックサム列を上書きするためのシフト手段とをさらに備える、請求項12又は請求項14のいずれかに記載のシステム。第1の記憶域及び第2の記憶域内のデータを管理するためのコンピュータプログラムであって、請求項1から請求項11までのいずれか1項による方法を実行するための処理回路による実行のための命令をストアする、前記処理回路によって可読なコンピュータ可読記憶媒体を備えたコンピュータプログラム。コンピュータ可読媒体上にストアされ、デジタルコンピュータの内部メモリにロードされ、コンピュータ上で実行されるとき請求項1から請求項11までのいずれか1項による方法を実行するソフトウェアコード部分を備える、コンピュータプログラム。当技術分野には、記憶装置の間でトラックのエクステントを移動させるための、上記の問題を解決する改良された技術の必要性が存在する。記憶装置の間で移動されるトラックのエクステントへの書込み動作を管理するための、コンピュータプログラム、コンピュータプログラム、システム、及び方法が提供される。第2の記憶域から第1の記憶域へトラックのエクステントを移動させるように、動作が処理される。移動させるエクステントに関するエクステントオブジェクトが存在するかどうかの判断がなされる。エクステントオブジェクトは、エクステントが前回第1の記憶域から第2の記憶域へ以前に移動された場合に存在する。エクステントオブジェクトは、各トラックに関して、エクステントが以前に第2の記憶域に移動された前回以来、トラックが第2の記憶域内で更新されたかどうかを示す書込みインジケータを含む。エクステントオブジェクトが存在するとの判断に応じて、前回以来トラックが第2の記憶域内で更新されたことを示す書込みインジケータを有する、エクステント内のトラックの判断がなされる。判断されたトラックのデータが第2の記憶域から第1の記憶域内の未使用領域にコピーされる。各々の判断されたトラックに関して、エクステントオブジェクト内の判断されたトラックに関するエントリが、トラックのデータがコピーされた未使用領域をそのトラックのアクティブアドレスとして示すように更新される。これから、本発明を、添付の図面に示す好ましい実施形態を参照しながら例証のみの目的で説明する。図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の一実施形態を示す。トラック識別子ID52は、エクステント内のトラックを識別する。変更インジケータ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に関する前バージョンアドレス601...60n、及びトラックの前バージョンから計算された前バージョンチェックサム621...62nを保持することになる。エクステントテーブル80内の前バージョンアドレス601...60nの順序は前バージョンの古さを示すことができ、ここで最も新しい前バージョンアドレスは第1の601であり、最も古いのは最後の60nである。サーバ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において。次いで、前バージョンの対、すなわち、前バージョンアドレス601...60n、及び前バージョンチェックサム62a...62nが順序付けられて、前バージョンの情報が、前バージョンの古さ又はバージョン番号によって並べられるブロック127において。エクステントオブジェクト16がエクステントテーブル80図3を含む実施形態において、ブロック127の順序付け動作を実行して現在のアクティブデータ及びチェックサムを前バージョンにするために、エクステント移動コード14は、現在の前バージョンに関する列601...60n及び62a...62nを右に2列に移動させて、前バージョン2...n1に関する列を上書きして占有し、次いで、現在のアクティブアドレス56及び現在のアクティブチェックサム58を新たな最も新しい前バージョンアドレス601及び621にコピーする。このようにして、現在のバージョンアドレス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は、暫定チェックサムが前バージョンチェックサム621...62nのうちの1つと整合するかどうか判断するブロック158において。ゼロ又はそれ以上の前バージョンアドレス及びチェックサムが存在し得る。整合がある場合には、オペレーティングシステム12は動作160-166を実行し、前バージョンアドレス601...60nのうちの1つにある前バージョンのデータが書込むデータと一致するので、該前バージョンのデータを用いる。ブロック160において、オペレーティングシステム12は、新たな前バージョンアドレス及び新たな前バージョンチェックサムをアクティブアドレス及びアクティブチェックサムの値に設定ブロック160においてする。この新たな前バージョンアドレス及び新たな前バージョンチェックサムが、最も新しい前バージョンアドレス601及びチェックサム621となる。オペレーティングシステム12は、トラックに対する書込みデータを第1の記憶域内の未使用領域に書込みブロック162において、アクティブアドレス56を、データがコピーされた未使用領域のアドレスに設定ブロック164においてし、アクティブチェックサム58を、未使用領域内のデータから計算されたチェックサム値に設定ブロック166においてする。次に、前バージョン対、すなわち、前バージョンアドレス601...60n、及び前バージョンチェックサム62a...62nが順序付けられてブロック167において、前バージョンの情報が、前バージョンの古さ又はバージョン番号によって並べられる。エクステントオブジェクト16がエクステントテーブル80図3を含む実施形態において、新たな前バージョンアドレス及び前バージョンチェックサムを生成した後、ブロック167の順序付け動作を行うために、オペレーティングシステム12は、全ての現在の前バージョンアドレス601...60n及びチェックサム621...62nを、テーブル内で右に2列移動させて列データを上書きし、それらを前バージョンアドレス602...60n1及びチェックサム622...62n1にして、生成された新たな前バージョンアドレス及びチェックサムが、前バージョンアドレス601及びチェックサム621となる。代替的な実施形態において、順序は、前バージョンの順序を示すポインタ又は他の情報によって示すことができる。暫定チェックサムが前バージョンチェックサム621...62nの判断された1つと整合する場合ブロック158においてには、オペレーティングシステム12は、整合した前バージョンチェックサムに関して、判断された前バージョンアドレス及び前バージョンチェックサムをバッファリングするブロック168において。オペレーティングシステム12は、新たな前バージョンアドレス及び新たな前バージョンチェックサムを、現在のアクティブアドレス56及びアクティブチェックサム58に設定しブロック170においてて、現在のアクティブアドレス及びチェックサムを最も新しい前バージョンにする。ブロック170を実行した後、次にオペレーティングシステム12は、アクティブアドレス56及びアクティブチェックサム58を、それぞれ、バッファリングされた前バージョンアドレス及び前バージョンンチェックサムに設定するブロック172において。エクステントオブジェクト16がエクステントテーブル80図3を含む実施形態において、ブロック168-172で、1つの前バージョンアドレス、例えば60i、及び前バージョンチェックサム、例えば62i、を現在のアクティブバージョン56及び58にした後、次にオペレーティングシステム12は、整合しバッファリングされた前バージョンアドレス60i及びチェックサム62iに続く前バージョンアドレス60i1...60n及び前バージョンチェックサム62i1...62nの全ての列を、テーブル80内で左に2列に移動させて、アクティブフィールド56及び58にコピーされた、整合しバッファリングされた前バージョンアドレス60i及びチェックサム62iが占有していた列を上書きする。上記の図5の実施形態により、オペレーティングシステム12は、現在のアクティブアドレス56及びチェックサム58、又は、1つの前バージョンアドレス601...60n及びチェックサム621...62nを、新たなアクティブアドレス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は、暫定チェックサムが前バージョンチェックサム621...62nのうちの1つと整合するかどうか判断するブロック212において。ゼロ又はそれ以上の前バージョンアドレス及びチェックサムが存在し得る。整合が存在する場合ブロック212においてには、オペレーティングシステム12は、動作214-218を実行して前バージョンアドレス601...60nのうちの1つにある前バージョントラックを用いるが、その理由は、第1の記憶域4内の判断された前バージョントラックが第2の記憶域6内のトラックに書込むデータと整合するからである。オペレーティングシステム12は、整合する前バージョンチェックサム62iに関して、判断された前バージョンアドレス、例えば60i、及び、前バージョンチェックサム、例えば62iをバッファリングするブロック216において。オペレーティングシステム12は、新たな前バージョンアドレス及び新たな前バージョンチェックサムを、現在のアクティブアドレス56及び現在のアクティブチェックサム58の値に設定するブロック216において。ブロック216を実行した後、オペレーティングシステム12は、アクティブアドレス56及びアクティブチェックサム58を、それぞれ、バッファリングされた前バージョンアドレス60i及び前バージョンチェックサム62iに設定するブロック218において。オペレーティングシステム12は、変更インジケータ54をクリアしてブロック206において、第1の記憶域4が第2の記憶域6内で変更されたデータを有する故に、トラックは変更されないことを示す。次に制御はブロック206からブロック208に進み、第2の記憶域6への書込みを完了する。エクステントオブジェクト16がエクステントテーブル80図3を含む実施形態において、ブロック212-216において1つの前バージョンアドレス、例えば60i、及び前バージョンチェックサム、例えば62i、を現在のアクティブバージョン56及び58にした後、オペレーティングシステム12は、整合しバッファリングされた前バージョンアドレス60i及びチェックサム62iに続く前バージョンアドレス60i1及び前バージョンチェックサム62i1の全ての列を、テーブル80内で左に2列に移動させて、整合しバッファリングされた前バージョンアドレス60i及びチェックサム62iが占有していた列を上書きする。暫定チェックサムが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つの前のバージョンアドレス601...60n及びチェックサム621...62nを、第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に関するストレージサービスを提供することができる。用語一実施形態anembodiment、実施形態embodiment、実施形態embodiments、その実施形態theembodiment、1つ又は複数の実施形態、幾つかの実施形態、及び1つの実施形態は、明示的に別に指定されない限り、本発明の1つ又は複数のしかし全てではない実施形態を意味する。用語含む、備える、有する及びそれらの変形物は、明示的に別に指定されない限り、含むがそれらに限定されないを意味する。列挙される項目のリストは、明示的に別に指定されない限り、何れか又は全ての項目が互いに排他的であることを意味しない。用語1つのa、1つのan及びそのtheは、明示的に別に指定されない限り、1つ又は複数を意味する。互いに通信するデバイスは、明示的に別に指定されない限り、互いに連続的に通信する必要はない。さらに、互いに通信するデバイスは、直接的に、又は1つ若しくは複数の媒介手段を介して間接的に通信することができる。互いに通信する幾つかの構成要素を有する実施形態の説明は、それら全ての構成要素が必要であることを意味しない。反対に、本発明の種々様々な可能な実施形態を示すために、様々な随意の構成要素が説明されている。さらに、プロセスステップ、方法ステップ又はアルゴリズムなどは、順番に説明されていることがあるが、それらプロセス、方法及びアルゴリズムは別の順番で動作するように構成することができる。換言すれば、説明され得るステップの何れの順序又は順番も、ステップがその順番で実行されることの必要性を必ずしも示すものではない。本明細書で説明するプロセスのステップは、実際には任意の順番で実行することができる。さらに、幾つかのステップは同時に実行することができる。本明細書において単一のデバイス又は物品が説明されている場合、単一のデバイス/物品の代りに1つより多くのデバイス/物品それらが協働してもしなくともを使用できることが直ちに明白となるであろう。同様に、本明細書で1つより多くのデバイス又は物品それらが協働してもしなくともが説明されている場合、1つより多くのデバイス又は物品の代りに単一のデバイス/物品を使用することができ、又は、示された数のデバイス又はプログラムの代りに異なる数のデバイス/物品を使用することができることが直ちに明白となるであろう。デバイスの機能及び/又は特徴は、それら機能/特徴を有するように明示的に説明されていない1つ又は複数の他のデバイスによって代替的に具体化することができる。従って、本発明の他の好ましい実施形態は、必ずしもそのデバイス自体を含む必要はない。図4-図6に示した動作は特定のイベントが特定の順番で行われることを示す。代替的実施形態においては、特定の動作は異なる順番で実行することができ、又は修正若しくは除去することができる。さらに、上記の論理にステップを付け加えて、それでもなお説明した実施形態に適合させることができる。さらに、本明細書で説明した動作は順次に行うことができ、又は特定の動作は並列に処理することができる。さらにまた、動作は単一の処理装置により、又は分散処理装置によって実行することができる。本発明の種々の好ましい実施形態の上記の説明は、例証及び説明のために提示されたものである。これは網羅的であること、又は本発明を開示された通りの形態に限定することを意図したものではない。上記の教示を考慮すれば、多くの修正及び変形が可能となる。本発明の範囲は、この詳細な説明ではなく、添付の特許請求の範囲によって限定されることが意図されている。上記の詳細な説明、実施例及びデータは、本発明の構成要素の製造及び用途の完全な説明を与える。本発明の範囲から逸脱せずに、本発明の多くの実施形態を構成することができるので、本発明は、添付の特許請求の範囲の中に存在する。