(57)【要約】【課題】異なるサイズのアドレス空間をアドレス指定するために使用される異なるアドレス指定形式と互換性のあるアドレス形式を提供するための方法、システム、および製品を提供すること。【解決手段】アドレス形式は、ストレージ・スペースの第１の領域および第２の領域を備えるストレージ・デバイス中のストレージ・スペースをアドレス指定するために、オペレーティング・システムで使用される。第１グループのアプリケーションは、そのアドレス形式を使用して第１の領域中のストレージ・スペースをアドレス指定するだけであり、アドレス形式を使用して第２の領域にアクセスするようにはコーディングされておらず、また第２グループのアプリケーションは、そのアドレス形式を使用して第１および第２の領域中のストレージ・スペースをアドレス指定する。【選択図】図６
2009535725.tif 000002
【特許請求の範囲】
【請求項１】
ストレージ・スペースの第１の領域および第２の領域を備えるストレージ・デバイス中のストレージ・スペースをアドレス指定するために、オペレーティング・システムで使用されるアドレス形式を処理するステップを含み、
第１グループのアプリケーションが、前記アドレス形式を使用して前記第１の領域中の前記ストレージ・スペースをアドレス指定するだけであり、前記アドレス形式を使用して前記第２の領域にアクセスするようにはコーディングされておらず、
また第２グループのアプリケーションが、前記アドレス形式を使用して前記第１および第２の領域中の前記ストレージ・スペースをアドレス指定する、
方法。
【請求項２】
前記第１の領域が、前記アドレス形式で定義されるアドレスの第１の範囲でアクセスされ、また前記第２の領域が、前記アドレス形式で定義されたアドレスの前記第１の範囲よりも上位の、アドレスの第２の範囲でアクセスされる、請求項１に記載の方法。
【請求項３】
前記アドレス形式が、第１および第２の組のビットを含み、前記第１グループのアプリケーションが、アドレスを形成するために前記第１の組のビットを変更するが、前記第２の組のビットを変更せず、また前記第２グループのアプリケーションが、アドレスを形成するために前記第１および第２の組のビットを共に変更する、請求項１に記載の方法。
【請求項４】
前記第２グループのアプリケーションに対して、前記第１の組のビットが、前記アドレスの最下位ビットを含み、前記第２の組のビットが、前記アドレスの最上位ビットを含む、請求項３に記載の方法。
【請求項５】
前記アドレス形式における第３の組のビットが、前記第１および第２の領域をそれぞれアドレス指定するためのアドレスを形成するために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションにより変更される、請求項３に記載の方法。
【請求項６】
前記第１グループのアプリケーションが、前記アドレスの第１の番号として前記第１の組のビットを、また前記アドレスの第２の番号として前記第２および第３の組のビットを処理し、また前記第２グループのアプリケーションが、前記第１の番号の最下位ビットとして前記第１の組のビットを、また前記第１の番号の最上位ビットとして前記第２の組のビットを、また前記第２の番号として前記第３の組のビットを処理する、請求項５に記載の方法。
【請求項７】
前記第１の番号がシリンダ番号を含み、また前記第２の番号がトラック番号を含む、請求項６に記載の方法。
【請求項８】
前記第１グループのアプリケーションが、前記アドレスにおける前記第２の番号を設定するとき、前記第３の組のビットを変更するだけで、前記第２の組のビットを変更しない、請求項６に記載の方法。
【請求項９】
前記第１の組のビットが４バイトを含み、前記第２の組のビットが３バイトを含み、また前記第３の組のビットが１バイトを含む、請求項８に記載の方法。
【請求項１０】
前記第１グループのアプリケーションが、アドレスの前記第１の領域を有するヘリテージ・ストレージ・デバイスを用いるだけのヘリテージ・アプリケーションを含み、また前記第２グループのアプリケーションが、アドレスの前記第１および第２の領域を有するストレージ・デバイスにアクセスする現世代アプリケーションを含む、請求項１に記載の方法。
【請求項１１】
前記アドレス形式が、前記第１のストレージ領域中にすでに存在するアドレスに影響を与えることなく、小容量ボリュームから大容量ボリュームへと大きくすることを可能にするようにストレージ・スペースの前記第２の領域を提供することにより、前記ストレージ・スペースの拡張を可能にし、ボリュームを、前記アドレス形式を用いて前記第２の領域へと動的に拡張する間、前記第１グループのアプリケーションが、中断されずに動作を継続することができる、請求項１に記載の方法。
【請求項１２】
ストレージ・デバイス中のストレージ・スペースにおけるアドレスのデータを求める、第１グループのアプリケーションおよび第２グループのアプリケーションによる要求が、オペレーティング・システムにより処理され、また
前記ストレージ・スペースへのアクセスを管理するストレージ・マネジャにより、前記アドレス形式で示された前記ストレージ・スペースにおけるアドレスの前記要求されたデータにアクセスするために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションからの要求を処理するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
前記アドレス形式が第１および第２の組のビットを含み、前記アドレスが第１の番号および第２の番号を有し、前記第１グループのアプリケーションが前記第１の番号に対して前記第１の組のビットを変更するだけであり、また前記第２グループのアプリケーションが、前記第１の番号に対して前記第１および前記第２の組のビットを共に使用しており、
前記ストレージ・マネジャがさらに、
前記ストレージ・スペースにおける１つのアドレスの前記第１の番号に関する情報を報告するためのコマンド応答を生成するステップと、
前記アドレスの前記第１の番号用に意図された前記コマンド応答の一部分に、前記第１の組のビットを含めるステップと、
報告すべき前記アドレスの前記第１の番号が、前記アドレスの前記第２の組のビットの使用を必要とするかどうかを判定するステップと、
前記第１の番号が、前記第１および第２の組のビットの使用を必要とするとの判定に応じて、前記アドレスの前記第１の番号を決定するために、前記第１グループのアプリケーションにより使用されない前記生成されたコマンド応答の一部分に、前記第２の組のビットを含めるステップと
を実施する、請求項１２に記載の方法。
【請求項１４】
第１のアプリケーションおよび第２グループのアプリケーション、ならびにストレージ・デバイスと通信するシステムであって、
プロセッサと、
アドレス形式の、前記ストレージ・デバイス中のストレージ・スペースに対する、前記第１グループのアプリケーションおよび第２グループのアプリケーションからのデータ要求を処理するための、前記プロセッサによって実行されるオペレーティング・システムとを含み、
前記ストレージ・デバイスが、ストレージ・スペースの第１の領域および第２の領域を備え、前記第１グループのアプリケーションが、前記アドレス形式を使用して前記第１の領域中の前記ストレージ・スペースをアドレス指定するだけであり、前記アドレス形式を使用して前記第２の領域にアクセスするようにはコーディングされておらず、第２のグループのアプリケーションが、前記アドレス形式を使用して前記第１および第２の領域中の前記ストレージ・スペースをアドレス指定するシステム。
【請求項１５】
前記第１の領域が、前記アドレス形式で定義されるアドレスの第１の範囲でアクセスされ、また前記第２の領域が、前記アドレス形式で定義されたアドレスの前記第１の範囲よりも上位の、アドレスの第２の範囲でアクセスされる、請求項１４に記載のシステム。
【請求項１６】
前記アドレス形式が、第１および第２の組のビットを含み、前記第１グループのアプリケーションが、アドレスを形成するために前記第１の組のビットを変更するが、前記第２の組のビットを変更せず、また前記第２グループのアプリケーションが、アドレスを形成するために前記第１および第２の組のビットを共に変更する、請求項１４に記載のシステム。
【請求項１７】
前記アドレス形式の第３の組のビットが、アドレスを形成するために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションにより変更され、前記第１および第２の領域をそれぞれアドレス指定する、請求項１６に記載のシステム。
【請求項１８】
前記第１グループのアプリケーションが、前記アドレスの第１の番号として前記第１の組のビットを、また前記アドレスの第２の番号として前記第２および第３の組のビットを処理し、また前記第２グループのアプリケーションが、前記第１の番号の最下位ビットとして前記第１の組のビットを、また前記第１の番号の最上位ビットとして前記第２の組のビットを、また前記第２の番号として前記第３の組のビットを処理する、請求項１７に記載のシステム。
【請求項１９】
前記第１グループのアプリケーションが、アドレスの前記第１の領域を有するヘリテージ・ストレージ・デバイスを用いるだけのヘリテージ・アプリケーションを含み、また前記第２グループのアプリケーションが、アドレスの前記第１および第２の領域を有するストレージ・デバイスにアクセスする現世代アプリケーションを含む、請求項１４に記載のシステム。
【請求項２０】
さらに、前記アドレス形式の前記要求されたアドレスにおける前記要求されたデータを、前記ストレージ・デバイスから戻す、請求項１４に記載のシステム。
【請求項２１】
前記アドレス形式が第１および第２の組のビットを含み、前記アドレスが第１の番号および第２の番号を有し、前記第１グループのアプリケーションが前記第１の番号に対して前記第１の組のビットを変更するだけであり、また前記第２グループのアプリケーションが、前記第１の番号に対して前記第１および前記第２の組のビットを共に使用しており、さらに、
前記ストレージ・スペースにおける１つのアドレスの前記第１の番号に関する情報を報告するためのコマンド応答を生成し、
前記アドレスの前記第１の番号用に意図された前記コマンド応答の一部分に、前記第１の組のビットを含め、
報告すべき前記アドレスの前記第１の番号が、前記アドレスの前記第２の組のビットの使用を必要とするかどうかを判定し、
前記第１の番号が前記第１および第２の組のビットの使用を必要とするとの判定に応じて、前記アドレスの前記第１の番号を決定するために、前記第１グループのアプリケーションにより使用されない前記生成されたコマンド応答の一部分に、前記第２の組のビットを含める、
請求項２０に記載のシステム。
【請求項２２】
コンピュータ・システムで実行されるとき、請求項１ないし請求項１３のいずれかに記載の方法の前記ステップのすべてを実行するための命令を含むコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なるサイズのアドレス空間をアドレス指定するために使用される異なるアドレス指定形式と互換性のあるアドレス形式を提供するための方法、システム、およびプログラムに関する。
【背景技術】
【０００２】
いくつかのコンピューティング環境では、複数のホスト・システムが、１つまたは複数の論理パスを介して相互接続されたハードディスク・ドライブなどのストレージ・デバイスへのアクセスを提供する複数の制御装置（ＣＵ）（ストレージ・コントローラ、ストレージ・サブシステム、エンタープライズ・ストレージ・サーバなどとしても知られている）と通信することができる。相互接続されるドライブは、ＤＡＳＤ（Direct Access Storage Device；直接アクセス記憶装置）、ＲＡＩＤ（Redundant Array ofIndependent Disks）、ＪＢＯＤ（Just a Bunch of Disks；単純ディスク束）などとして構成することができる。制御装置は、１つまたは複数のＬＳＳ（logicalsubsystems）を構成することができ、各ＬＳＳは、複数のボリュームを含むように構成される。
【０００３】
ホスト・システムは、オペレーティング・システム、ミドルウェア（データベースなど）、およびアプリケーションからのデータ要求を、制御装置に提示することのできるアドレスへと変換するアプリケーションを含む。制御装置は、受け取ったアドレスを、要求されたデータにアクセスするためのストレージ・デバイス上の物理的位置に変換する。例えばいくつかの環境では、ホスト・オペレーティング・システムは、特定の形式でシリンダ番号、トラック番号、およびレコード番号を有するアドレスを提示する。
【０００４】
より大きいストレージ・ボリュームが追加される場合、オペレーティング・システムによって使用されるアドレス指定形式は、より大きいストレージ・スペースに対するアドレス指定を提供するためにバイトを追加するように変更される必要があり得る。アドレス指定形式が変更された場合、現在のアプリケーションおよびオペレーティング・システムにより使用されたデータは、より大きいアドレス指定スペースを使用するように構成された新しいストレージ・システムに移行され、またアプリケーションは、より大きいストレージ・スペースへのアクセスを提供する新しいアドレス形式を使用するようにコーディングされたオペレーティング・システムのより新しいバージョンを使用するように移行される必要がある。これらの移行オペレーションは、かなりの量の時間を必要とし、またオペレーティング環境を混乱させることになり得る。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
これらの理由のため、現在のオペレーティング環境で利用可能なより大きいストレージ・スペースを作成するための改良された技法が、当技術分野で求められている。
【課題を解決するための手段】
【０００６】
異なるサイズのアドレス空間をアドレス指定するために使用される異なるアドレス指定形式と互換性のあるアドレス形式を提供するための方法、システム、および製品が提供される。アドレス形式は、ストレージ・スペースの第１の領域および第２の領域を備えるストレージ・デバイス中のストレージ・スペースをアドレス指定するために、オペレーティング・システムで使用される。第１グループのアプリケーションは、そのアドレス形式を使用して第１の領域中のストレージ・スペースをアドレス指定するだけであり、アドレス形式を使用して第２の領域にアクセスするようにはコーディングされておらず、また第２グループのアプリケーションは、そのアドレス形式を使用して第１および第２の領域中のストレージ・スペースをアドレス指定する。
【０００７】
他の実施形態では、第１の領域が、アドレス形式で定義されるアドレスの第１の範囲でアクセスされ、また第２の領域が、アドレス形式で定義されたアドレスの第１の範囲よりも上位の、アドレスの第２の範囲でアクセスされる。
【０００８】
他の実施形態では、アドレス形式が、第１および第２の組のビットを含み、第１グループのアプリケーションが、アドレスを形成するために第１の組のビットを変更するが、第２の組のビットを変更せず、また第２グループのアプリケーションが、アドレスを形成するために第１および第２の組のビットを共に変更する。
【０００９】
他の実施形態では、第２グループのアプリケーションに対して、第１の組のビットが、そのアドレスの最下位ビットを含み、第２の組のビットが、そのアドレスの最上位ビットを含む。
【００１０】
他の実施形態では、アドレス形式における第３の組のビットが、第１および第２の領域をそれぞれアドレス指定するためのアドレスを形成するために、第１および第２のグループのアプリケーションにより変更される。
【００１１】
他の実施形態では、第１グループのアプリケーションが、アドレスの第１の番号として第１の組のビットを、またアドレスの第２の番号として第２および第３の組のビットを処理し、また第２グループのアプリケーションが、第１の番号の最下位ビットとして第１の組のビットを、また第１の番号の最上位ビットとして第２の組のビットを、また第２の番号として第３の組のビットを処理する。
【００１２】
他の実施形態では、第１の番号がシリンダ番号を含み、また第２の番号がトラック番号を含む。
【００１３】
他の実施形態では、第１グループのアプリケーションが、アドレスにおける第２の番号を設定するとき、第３の組のビットを変更するだけであり、第２の組のビットは変更しない。
【００１４】
他の実施形態では、第１の組のビットが４バイトを含み、第２の組のビットが３バイトを含み、また第３の組のビットが１バイトを含む。
【００１５】
他の実施形態では、第１グループのアプリケーションが、アドレスの第１の領域を有するヘリテージ（heritage）・ストレージ・デバイスを用いるだけのヘリテージ・アプリケーション含み、また第２グループのアプリケーションが、アドレスの第１および第２の領域を有するストレージ・デバイスにアクセスする現世代アプリケーションを含む。
【００１６】
他の実施形態では、アドレス形式が、第１のストレージ領域中にすでに存在するアドレスに影響を与えることなく、小容量ボリュームから大容量ボリュームへと大きくすることを可能にするようにストレージ・スペースの第２の領域を提供することにより、ストレージ・スペースの拡張を可能にする。ボリュームを、アドレス形式を用いて第２の領域へと動的に拡張する間、第１グループのアプリケーションは、中断されずに動作を継続することができる。
【００１７】
ストレージ・スペースの第１の領域および第２の領域を備えるストレージ・デバイス中のストレージ・スペースにおけるアドレスのデータを求める、第１グループのアプリケーションおよび第２グループのアプリケーションによる要求を処理するオペレーティング・システムがさらに提供される。アドレスはアドレス形式である。第１グループのアプリケーションは、アドレス形式を用いて第１の領域中のストレージ・スペースをアドレス指定するだけであり、アドレス形式を用いて第２の領域にアクセスするようにコーディングされておらず、第２グループのアプリケーションは、アドレス形式を用いて第１および第２の領域中のストレージ・スペースをアドレス指定する。ストレージ・スペースへのアクセスを管理するストレージ・マネジャは、第１および第２のグループのアプリケーションからの要求を処理して、アドレス形式で示されたストレージ・スペースにおけるアドレスの要求されたデータにアクセスする。
【００１８】
他の実施形態では、アドレス形式は第１および第２の組のビットを含み、アドレスは、第１の番号および第２の番号を有する。第１グループのアプリケーションは、第１の番号に対して第１の組のビットを変更するだけであり、また第２グループのアプリケーションは、第１の番号に対して第１および第２の組のビットを共に使用する。ストレージ・マネジャはさらに、ストレージ・スペースにおける１つのアドレスの第１の番号に関する情報を報告するためのコマンド応答を生成するステップと、アドレスの第１の番号用に意図されたコマンド応答の一部分に、第１の組のビットを含めるステップと、報告すべきアドレスの第１の番号が、アドレスの第２の組のビットの使用を必要とするかどうかを判定するステップと、第１の番号が、第１および第２の組のビットの使用を必要とするとの判定に応じて、アドレスの第１の番号を決定するために、第１グループのアプリケーションにより使用されない生成されたコマンド応答の一部分に、第２の組のビットを含めるステップとを実施する。
【００１９】
本発明を、次に、例としてに過ぎないが、添付の図面を参照して説明する。
【発明を実施するための最良の形態】
【００２０】
図１は、本発明の諸態様が実施されるコンピューティング環境を示す。１つまたは複数のヘリテージ・ホスト２は、ヘリテージ・オペレーティング・システム４、およびストレージ・サーバ１０により管理されるストレージ・システム８中のデータにアクセスするヘリテージ・アプリケーション６を含む。１つまたは複数の現世代ホスト１２は、ヘリテージ・オペレーティング・システム４を置き換えるように意図された現世代オペレーティング・システム１４と、現世代アプリケーション１６およびヘリテージ・アプリケーション１８両方とを含む。アプリケーション１６、１８は、データ要求をストレージ・サーバ１０にサブミットし、ストレージ・サーバ１０を介してストレージ・システム８中のデータにアクセスする。ホスト２、１２およびストレージ・サーバ１０は、ネットワーク２０を介して通信することができる。ストレージ・サーバ１０は、ストレージ・システム８中のデータを求めるホスト・オペレーティング・システム４、１４からの入出力要求を管理するストレージ・マネジャ２２を含む。ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４はさらに、ストレージ・サーバ１０を介してヘリテージ・ストレージ・システム２４にアクセスすることができる。
【００２１】
ストレージ・システム８は、ストレージ８の第１の領域２６中の記憶位置をアドレス指定するある範囲のアドレスと、第２の領域２８中の記憶位置をアドレス指定する、その第１の領域２６のアドレスの上の、ある範囲の上位アドレスとを含む。一実施形態では、ヘリテージ・ストレージ・システム２４は、ストレージ・システム８よりも小さいストレージ・スペースを含み、また第１のストレージ領域２６と同じ数のアドレス指定可能な位置を含む。ストレージ・マネジャ２２は、ホスト・オペレーティング・システム４、１４から提供されたアドレスを、ストレージ８中の物理的な位置へと変換する。
【００２２】
ホスト２、１２は、ワークステーション、メインフレーム、サーバなどの当技術分野で知られた計算装置を含むことができる。ストレージ・サーバ１０は、エンタープライズ・ストレージ・サーバ、ストレージ・コントローラなどのストレージ・サブシステムもしくはサーバ、または付加されたボリュームに対する入出力要求を管理するために使用される他の装置を含むことができる。ストレージ・システム８、２４は、（例えば、ＤＡＳＤ、ＲＡＩＤ、ＪＢＯＤ、仮想化装置などとして構成された）相互接続されたハードディスク・ドライブ、磁気テープ、電子メモリ、フラッシュ・メモリ、光ディスクなど、当技術分野で知られたストレージ・デバイスを含むことができる。ネットワーク２０は、ＬＡＮ（ローカル・エリア・ネットワーク）、ＳＡＮ（ストレージ・エリア・ネットワーク）、ＷＡＮ（広域ネットワーク）、ピアツーピア・ネットワーク、無線ネットワークなどを含むことができる。代替的には、ホスト２、１２は、ＰＣＩ（周辺コンポーネント相互接続）バス、またはシリアル・インターフェースなどのバス・インターフェースを介して、ストレージ・サーバ１０と通信することができる。
【００２３】
オペレーティング・システム４、１４は、データを求めるアプリケーション６、１６からのデータ要求を受け取り、その要求を、ストレージ・マネジャ２２によって認識されるアドレスへと変換する。アプリケーション６、１６は、ミドルウェア、アクセス方法、およびＩＳＶ（independent software vendor；独立ソフトウェア・ベンダ）製品を含むことができる。一実施形態では、オペレーティング・システム４、１４は、ストレージ・サーバ１０への複数の論理パスを提供するホスト２、１２のチャネル・サブシステムを介して、入力／出力（Ｉ／Ｏ；入出力）要求をストレージ・サーバ１０に送ることができる。オペレーティング・システム４、１４は、オペレーションに関係する経路を管理することができる。各ホスト２、１２は、オペレーティング・システム４、１４およびチャネル・サブシステム・コード（図示せず）を含むプログラムを実行するＣＰＵ（中央処理装置）を含むことができる。代替的には、各ホスト２、１２は、それ自体のオペレーティング・システム４、１４を実行する独立したシステムとしてそれぞれが動作する複数の論理区画（ＬＰＡＲ）の１つを備えることができる。他の実施形態では、各処理システムは、プロセッサの論理区画を備えることができる。この方法では、ホスト２、１２中の１つまたは複数のプロセッサは、複数の論理区画（ＬＰＡＲ）を実施することができる。
【００２４】
一実施形態では、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーション６、１８は、ストレージ・システム８の第１の領域２６、またはヘリテージ・ストレージ・システム２４の任意の部分におけるアドレスにアクセスできるだけである。現世代オペレーティング・システム１４は、ヘリテージ・オペレーティング・システム４で使用される同じアドレス形式を使用して、ストレージ・システム８の第１の領域２６と第２の領域２８、ならびにヘリテージ・ストレージ・システム２４におけるアドレスにアクセスすることができる。第２の領域２８は、第１の領域２６よりも上位の範囲のアドレスを提供する。さらに、ヘリテージ・ストレージ・システム２４は、第２の領域２８のアドレス範囲を含まない。したがって、ヘリテージ・アプリケーション６および１８は、第１グループのアプリケーションを含み、また現世代アプリケーション１６は、同じアドレス形式を使用する第２グループのアプリケーションを含む。
【００２５】
図２は、アドレス要求をストレージ・マネジャ２２に送るために、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４で共に使用されるアドレス形式５０の実施形態を示す。アドレス形式５０は、第１の組のビット５２、第２の組のビット５４、および第３の組のビット５６を含む。各組のビットは、１つまたは複数のバイトを含み、各バイトは、ブロックの１つで表される。図２の例では、第１の組のビット５２は４バイトからなり、第２の組５４は３バイト、第３の組５６は１バイトからなる。代替の実施形態では、各組５２、５４、および５６は、任意の数のバイトを含むことができる。
【００２６】
一実施形態では、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーション６、１８は、第１の組のビット５２および第３の組のビット５６だけを使用し、かつ変更して、ストレージ８の第１の領域２６をアドレス指定できるに過ぎないアドレスを形成し、第２の組のビット５４を変更しないままにする。現世代オペレーティング・システム１４および現世代アプリケーション１６は、第１の組のビット５２、第２の組のビット５４、および第３の組のビット５６を使用し、かつ変更して、ストレージ・システム８の第１の領域２６および第２の領域２８の両方をアドレス指定できるアドレスを形成する。
【００２７】
図３は、シリンダ番号すなわちアドレスの第１の番号部分を形成するために使用されるバイト６２、およびトラック番号すなわちアドレスの第２の番号を形成するために使用されるバイト６４を有するアドレス形式６０におけるフィールドを、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーションがどのように解釈するかを示す従来技術のアドレス形式を示す。シリンダ番号６２は、「ＣＣＣＣ」値を含み、各「Ｃ」は４ビット・ニブルを含むことができ、したがって、「ＣＣＣＣ」は、４ニブル、または１６ビット、あるいは２バイトである。トラック番号６４は、「ＨＨＨＨ」値を含み、各「Ｈ」は４ビットのニブルであり、したがって、「ＨＨＨＨ」は４ニブルまたは１６ビット、あるいは２バイトである。しかし、ヘリテージ・オペレーティング・システム４は、アドレスのトラック番号を形成するために、最後のバイト６６を使用し、かつ変更するだけであり、バイト６８を使用または変更しない。
【００２８】
図４は、現世代オペレーティング・システム１４および現世代アプリケーション１６が、アドレス形式５０を、シリンダ番号の下位ビットすなわちアドレスの第１の番号部分を形成するために使用されるバイト「ＣＣＣＣ」８２を有するアドレス形式８０としてどのように見るかに関する実施形態を示しており、「ｃｃｃ」８４の値は、シリンダ番号の最上位ビットを形成している。各「ｃ」は、４ビットのニブルを含むことができ、したがって、「ｃｃｃ」は、３ニブル、または１２ビットである。トラック番号は、ニブル（またはビット）８６を含む。
【００２９】
図２、３、および４により分かるように、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４は共に、アドレスの第１の（シリンダ）番号および第２の（トラック）番号を形成するために同じアドレス形式を使用するが、異なる組のビットを使用する。ヘリテージ・オペレーティング・システム４は、シリンダ番号に対して、１６ビット（２バイト（４ニブルまたは１６ビット）「ＣＣＣＣ」）を使用し、一方、現世代オペレーティング・システム１４は、シリンダ番号に対して２８ビット（７ニブル（または２８ビット）「ＣＣＣＣｃｃｃ」）を使用する。現世代オペレーティング・システム１４およびアプリケーション１６が追加の「ｃｃｃ」ビットを用いて形成できるこれらの拡張されたアドレス形式により、現世代オペレーティング・システム１４は、第２のストレージ領域２８にアクセスし、かつアドレス指定ができるようになる。
【００３０】
さらに、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーション６、１８（またはミドルウェア、アプリケーション、およびＩＳＶソフトウェア）は、アドレス・バイトの一部分を使用することなく、したがって、第１の領域２６中の下位の範囲のアドレスに限定されるが、現世代オペレーティング・システム１４は、すべてのアドレスのバイトを使用し、かつ変更してアドレスを形成し、第１のストレージ領域２６および第２のストレージ領域２８両方の位置にアクセスすることができる。
【００３１】
前述のアドレス指定システムでは、ヘリテージ・アプリケーション６およびヘリテージ・オペレーティング・システム４（またはミドルウェア、アプリケーション、およびＩＳＶソフトウェア）は、現世代オペレーティング・システム１４およびアプリケーション１６で動作するホスト１２を含むネットワーク環境中で動作するように変更される必要はない。なぜなら、共に同じアドレス形式を共用するが、アドレスを形成するのに、アドレス形式における異なるビットを用いるからである。このように、より新しいアプリケーション１６は、より大容量のボリュームのすべての領域２６および２８にアクセスすることができ、またヘリテージ・ホスト２および現世代ホスト１２で共に動作するヘリテージ・アプリケーション６および１８は、それらがプログラムされたアドレス範囲に限定される。
【００３２】
さらに、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーション６、１８は、そのアドレス指定形式を変更することなくヘリテージ・ストレージ・システム２４へのアクセスを継続することができ、また現世代オペレーティング・システム１４およびアプリケーション１６はまた、同じアドレス形式を用いてヘリテージ・ストレージ・システム２４にアクセスすることができるが、ヘリテージ・ストレージ・システム２４のより少ないストレージ容量にアドレス指定する必要のない上位ビット８４（図４）を指定しない。したがって、前述のアドレス形式の実施形態では、ヘリテージ・オペレーティング・システム４およびヘリテージ・アプリケーション６、１８は、より大きいアドレス・ストレージ・スペースにアクセスするのに必要なアドレス形式に適合するようにそのプログラム命令を変更し、または更新する必要がない。
【００３３】
図５は、共通のアドレス形式を使用するために、ヘリテージ・オペレーティング・システム４によって実施されるオペレーションの実施形態を示す。ヘリテージ・アプリケーション６の入出力要求を処理するためのオペレーションを開始すると（ブロック１００で）、ヘリテージ・オペレーティング・システム４は、アプリケーションの入出力要求を受け取る（ブロック１０２で）。ヘリテージ・オペレーティング・システム４は、要求されたデータが記憶されているアドレスを決定する（ブロック１０４で）が、その場合、アドレスは、シリンダ番号６２に対する第１の部分６２（図３）、およびトラック番号６４に対する第２の部分６４を有する。前に論じたように、いくつかの実施形態では、ヘリテージ・オペレーティング・システム４は、トラック番号の一部分６６を使用するだけであり、部分６８、すなわち「ＨＨＨ」バイトを使用しない。図３では、ヘリテージ・オペレーティング・システム４は、トラック番号に対して、１ニブル（４ビット）６６を使用するだけであり、１６個の異なるトラック番号が可能になる。ヘリテージの３３９０トラック配置（geometry）では、シリンダ当たり１５トラックがあるだけである。ヘリテージ・オペレーティング・システム４は、第１の番号に対して第１の組のビット６２（例えば、シリンダ番号に対して、「ＣＣＣＣ」ビット）を、また第２の番号に対して第３の組のビット６６（例えば、トラック番号の最後のＨニブル（４ビット））を用いたアドレス形式６０（図３）で、決定されたアドレスを生成し（ブロック１０６で）、第２の番号の第２の組のビット６８（例えば、最初の「ＨＨＨ」ビット（３ニブル））をそのままにしておく。生成されたアドレスを含む入出力要求は、処理のためにストレージ・サーバ１０に送られる（ブロック１０８で）。
【００３４】
図６は、共通のアドレス形式５０（図２）をアドレス８０（図４）として使用するために、現世代オペレーティング・システム１４により実施されるオペレーションの実施形態を示す。アプリケーションの入出力要求を処理するためのオペレーションを開始すると（ブロック１５０で）、現世代オペレーティング・システム１４は、アプリケーション１６、１８の入出力要求を受け取る（ブロック１５２で）。現世代オペレーティング・システム１４は、第１の（シリンダ）番号８２（下位ビット）および８４（上位ビット）（図４）、および第２の（トラック）番号８６部分を有する、要求されたデータを含むアドレスを決定する（ブロック１５４で）。前に論じたように、いくつかの実施形態では、現世代オペレーティング・システム１４は、ヘリテージ・オペレーティング・システム４のためのトラック番号の未使用部分６８（図３）を、シリンダ番号の上位ビット８４として使用し、１ニブル（４ビット）のトラック番号８６を有するだけである。現世代オペレーティング・システム１４は、第１の（シリンダ）番号の下位ビットとして第１の組のビット８２（例えば、シリンダ番号に対して、「ＣＣＣＣ」ビット（４ニブル））を、第１の（シリンダ）番号の上位ビットとして第２の組のビット８４（例えば、シリンダ番号に対して、「ｃｃｃ」ビット（３ニブル））を、また第２の（トラック）番号として第３の組のビット８６（例えば、トラック番号の最後のＨニブル（４ビット））を用いたアドレス形式８０で、決定されたアドレスを生成する（ブロック１５６で）。現世代オペレーティング・システム１４は、次いで、生成されたアドレスに対する入出力要求をサーバに転送する（ブロック１５８で）。
【００３５】
前述の実施形態では、シリンダ番号に対して上位ビット８４を使用するようにプログラムされていないヘリテージ・オペレーティング・システム４などのオペレーティング・システムおよびアプリケーション６、１８（またはアプリケーションおよびミドルウェア）は、第１の領域２６に対してアドレスを使用することに限定され、第２の領域２８にアクセスするためにアドレスを使用することができない。
【００３６】
図７は、ストレージ・サーバ１０中のストレージ・マネジャ２２が、アドレス情報を、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４に報告するために使用するコマンド応答形式の実施形態を示す。コマンド応答１８０は、コマンド識別子（ＩＤ）１８２と、報告されるアドレスの第１の（シリンダ）番号１８４と、別（extra）フィールド１８６とを含み、その別フィールド１８６は、コマンド応答１８０が、４バイトのシリンダ番号を使用するだけであるヘリテージ・オペレーティング・システム４に報告されている場合は使用されず、コマンド応答１８０が、上位ビット８４もしくは第２の組のビット５４を使用する現世代オペレーティング・システム１４に報告されている場合に使用される。このように、コマンド応答１８０は、２バイト（４ニブル）（「ＣＣＣＣ」）シリンダ番号だけで動作するヘリテージ・オペレーティング・システム４に関して変更されない。しかし、ヘリテージ・オペレーティング・システム４に関するコマンド応答の別フィールド１８６は、現世代オペレーティング・システム１４に対する形式のシリンダ番号を報告するために、現世代オペレーティング・システム１４により使用されるシリンダ番号の上位ビットに対して使用される。現世代オペレーティング・システム１４は、完全なシリンダ番号値を求めて、フィールド１８２および１８６を共に参照するようにコーディングされるが、ヘリテージ・オペレーティング・システム４は、アドレスのシリンダ番号を決定するためにフィールド６２を参照するだけであり、未使用の部分６８は参照しない。
【００３７】
図８は、コマンド応答中のアドレス情報を、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４に報告するために、ストレージ・マネジャ２２により実施されるオペレーションの実施形態を示す。アドレスの第１の番号（シリンダ）を報告することを要求するコマンドを受け取ると（ブロック２００で）、ストレージ・マネジャ２２は、ストレージ・スペース中の１つのアドレスの第１の（シリンダ）番号に関する情報を報告するためのコマンド応答１８０（図７）を生成する（ブロック２０２で）。ストレージ・マネジャ２２は、報告すべきアドレスの第１の（シリンダ）番号用に意図されたコマンドの部分１８４に、第１の（シリンダ）番号に対する第１の組のビット５２（例えば、４個の「ＣＣＣＣ」ビット（４ニブル）６２（図３）、または８０（図４））を含める（ブロック２０４で）。ストレージ・マネジャ２２は、報告すべきアドレスの第１の（シリンダ）番号が第２の組のビット（例えば、シリンダ番号の上位ビットに対する３個の「ｃｃｃ」ニブル（１２ビット）８４）を使用するかどうか判定する（ブロック２０６で）。上位ビットが必要である場合、すなわち、アドレスが、現世代オペレーティング・システム１４（またはアプリケーションもしくはミドルウェア）に向けて意図されている場合、ストレージ・マネジャ２２は、アドレスの第１の（シリンダ）番号を決定するために、ヘリテージ・オペレーティング・システム４により使用されない、生成されたコマンドのセクション１８６に、第２の組のビット５４（上位「ｃｃｃ」ビット（３ニブル）８４）を含める。第２の組のビット５４（上位ビット）を追加した（ブロック２０８で）後、または上位ビットの第２の組が必要ではない場合、すなわち、アドレスがヘリテージ・オペレーティング・システム４に向けて意図されている場合、ストレージ・マネジャ２２は、アドレス・フィールド１８４、または１８４および１８６中のアドレスの第１の（シリンダ）番号を報告するコマンド応答１８０を送る（ブロック２１０で）。
【００３８】
前述のディスク・アドレス形式は、ストレージ・デバイス上でアクセス可能なデータを拡張するために、ストレージ制御装置、オペレーティング・システム、ミドルウェア、およびアプリケーションによって使用することができる。拡張されたアドレス指定能力は、現世代オペレーティング・システムおよびアプリケーションと上位互換があり、またより古いヘリテージ・オペレーティング・システムおよびアプリケーションと下位互換がある。さらに、ボリュームは、既存のデータまたはディスク上のそのアドレスに影響を与えることなく、定位置で動的に拡張することができ、ヘリテージ・システム・トラック配置との互換性を維持し、それにより、ヘリテージ・システム・トラック配置に関してデータを読み取り／書き込む古いプログラムとの互換性を可能にする。
【００３９】
前述の実施形態では、アプリケーション６、１６、１８は、本アドレス形式を使用して、オペレーティング・システム４、１４のいずれかにデータ要求をサブミットすることにより、ストレージ・システム８中のデータをアドレス指定する。オペレーティング・システム４、１４は、その要求をストレージ・マネジャ２２に転送する。ストレージ・マネジャ２２は、本アドレス形式のアドレスを使用して、ストレージ・システム８、２４の要求されたデータにアクセスする。
【００４０】
前述の諸実施形態では、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４は共に、同じ共通のアドレス形式を使用し、かつ受け取り、拡張されたストレージ・スペース、すなわち、ヘリテージ・オペレーティング・システム４により認識されない第２の領域２８を含むストレージ・システム８中のストレージ・スペースをアドレス指定するために、またヘリテージ・ストレージ・システム２４におけるストレージ・スペースをアドレス指定するために使用することができる。前述の諸実施形態では、現世代オペレーティング・システム１４は、上位ビット８４を含めるために、ヘリテージ・オペレーティング・システム４により使用されないアドレス６０（図３）のフィールド６８を使用して、ヘリテージ・ストレージ・システム２４にアクセスするように構成されたヘリテージ・オペレーティング・システム４に認識されない、または利用できないストレージ領域２８へのアドレスを形成する。同時に、ヘリテージ・オペレーティング・システム４は、ヘリテージ・ストレージ・システム２４、またはより大きいストレージ・システム８の限定された第１の領域２６をアドレス指定するために、そのアドレス形式の使用を継続することができる。言い換えると、オペレーティング・システム４および１４は共に、同じ共通のアドレス形式構造５０を使用するが、図３および４に示すように、このアドレス５０のフィールドを異なる形で見る。
【００４１】
さらに、前述の諸実施形態では、管理者は、ヘリテージ・ストレージ・システム２４のヘリテージ・データを、拡張されたアドレス空間２０で使用するように構成されたストレージ・システム８へと移行させ、次いで、ヘリテージ・アプリケーション６を、現世代オペレーティング・システム１４と動作するように構成する必要がない。前述の諸実施形態では、ヘリテージ・アプリケーション６は、現世代オペレーティング・システム１４により使用されるものと同じアドレス形式を用いて、ヘリテージ・オペレーティング・システム４を介して同じストレージ・スペースへのアクセスを継続することができる。
【００４２】
さらなる実施形態の詳細
前述のオペレーションは、ソフトウェア、ファームウェア、ハードウェア、またはそれらの任意の組合せを作成するために、標準のプログラミング技法またはエンジニアリング技法あるいはその両方を用いて、方法、装置、または製品として実施することができる。前述のオペレーションは、「コンピュータ可読媒体」中で維持されるコードとして実施することができ、プロセッサが、そのコンピュータ可読媒体からコードを読み取り、実行することができる。コンピュータ可読媒体は、磁気記憶媒体（例えば、ハードディスク・ドライブ、フロッピー（Ｒ）ディスク・ドライブ、テープなど）、光ストレージ（ＣＤ−ＲＯＭ、ＤＶＤ、光ディスクなど）、揮発性および不揮発性メモリ・デバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュ・メモリ、ファームウェア、プログラム可能ロジックなど）などの媒体を含むことができる。前述のオペレーションを実施するコードはさらに、ハードウェア・ロジック（例えば、集積回路チップ、ＰＧＡ（プログラム可能ゲートアレイ）、ＡＳＩＣ（特定用途向けＩＣ）など）で実施することができる。さらに、前述のオペレーションを実施するコードは、「伝送信号」中で実施することができ、伝送信号は空間を介して、または光ファイバ、銅線などの伝送媒体を介して伝播することができる。コードまたはロジックが符合化される伝送信号は、さらに、無線信号、衛星伝送、電波、赤外線信号、ブルートゥースなどを含むことができる。コードまたはロジックが符合化される伝送信号は、送信局により送信され、また受信局で受信することができ、伝送信号中に符合化されたコードまたはロジックは、受信および送信局もしくはデバイスで復号され、ハードウェアまたはコンピュータ可読媒体中に記憶され得る。「製品（article of manufacture）」は、コードが実施され得るコンピュータ可読媒体、ハードウェア・ロジックまたは伝送信号あるいはそれらの組合せを含む。オペレーションの前述の諸実施形態を実施するコードが符合化されている装置は、プロセッサより実行されるコードを有するコンピュータ可読媒体、またはコードをハードウェア・ロジックとして実施するハードウェア・ロジックを含むことができる。当然であるが、当業者であれば、本発明の範囲から逸脱することなく、多くの変更をこの構成に加え得ること、および本製品は、当技術分野で知られた適切な情報担持媒体を含み得ることが理解されよう。
【００４３】
前述の諸実施形態は、図３および４で示すように、アドレスのフィールドに対する異なる形式を論じてきた。さらなる実施形態では、図２、３、および４に示すアドレス形式は、示されたものよりも少ないバイトもしくは追加のバイト、または異なる情報を含むことができる。
【００４４】
前述の諸実施形態では、ヘリテージ対現世代のオペレーティング・システムとして述べられた異なるタイプのオペレーティング・システムにより、同じアドレス形式が使用されている。さらに、本アドレス形式は、ヘリテージ・オペレーティング・システム４および現世代オペレーティング・システム１４に関して述べられたものなど、異なるアドレス指定要件を有する異なるベンダからのオペレーティング・システムにより使用され得る。さらに、オペレーティング・システムは、１つのベンダからの異なるバージョンとすることもできる。
【００４５】
用語「１つの実施形態（an embodiment）」、「実施形態（embodiment）」、「諸実施形態（embodiments）」、「その実施形態（theembodiment）」、「その諸実施形態（the embodiments）」、「１つまたは複数の実施形態」、「いくつかの実施形態」、および「一実施形態（oneembodiment）」は、明示的に他の形で指定されない限り、「本発明の１つまたは複数の（すべてではない）実施形態」を意味する。
【００４６】
用語「含む（including）」、「備える／含む（comprising）」、「有する（having）」、およびそれらの変形形態は、明示的に他の形で指定されない限り、「含むがそれだけに限らない」ことを意味する。
【００４７】
列挙された項目の一覧は、明示的に他の形で指定されない限り、任意の、またはすべての項目を排することを示すものではない。
【００４８】
用語「１つの（a）」、「１つの（an）」、および「その（the）」は、明示的に他の形で指定されない限り、「１つまたは複数の」を意味する。
【００４９】
互いに通信する装置は、明示的に他の形で指定されない限り、連続的に互いに通信する状態にある必要はない。さらに、互いに通信する装置は、１つまたは複数の中間物（intermediaries）を介して直接、または間接的に通信することができる。
【００５０】
互いに通信するいくつかのコンポーネントを有する実施形態の説明は、このようなコンポーネントをすべて必要とすることを示すものではない。そうではなくて、本発明の多様な可能な実施形態を例示するために、様々な任意選択のコンポーネントが述べられている。
【００５１】
さらに、プロセス・ステップ、方法ステップ、アルゴリズムなどは、連続した順序で記述することができるが、このようなプロセス、方法、およびアルゴリズムは、代替の順序で動作するように構成することもできる。言い換えると、記述され得る諸ステップの任意のシーケンスまたは順序は、諸ステップを、その順序で実施すべきであるという要件を必ずしも示してはいない。本明細書に記述されたプロセスの諸ステップは、実際的には任意の順序で実施することができる。さらに、いくつかのステップは、同時に実施することもできる。
【００５２】
本明細書で単一の装置または製品が述べられた場合、複数の装置／製品（それらが協動しようとしまいと）を単一の装置／製品に代えて使用できることが容易に明らかとなろう。同様に、複数の装置または製品が本明細書で述べられる場合（それらが協動しようとしまいと）、単一の装置／製品を２つ以上の装置または製品に代えて使用できること、または異なる数の装置／製品を、示された数の装置またはプログラムに代えて使用できることが容易に明らかとなろう。ある装置の機能または特徴あるいはその両方は、このような機能／特徴を有するものとして、明示的に記述されていない１つまたは複数の他の装置によって、代替的実施され得る。したがって、本発明の他の諸実施形態は、装置それ自体を含む必要はない。
【００５３】
図２、３、４、および７は、特定形式のアドレスおよびコマンド応答を示す。代替の諸実施形態では、これらの図で示されたアドレスおよびコマンドは、代替のデータ構造および形式で維持することができ、また示されたものとは異なるフィールドを含むことができる。
【００５４】
図５、６、および８の例示されたオペレーションは、特定の順序で行われる特定のイベントを示している。代替の実施形態では、いくつかのオペレーションを、異なる順序で実施し、変更し、または除外することができる。さらに、諸ステップを、上記で述べたロジックに追加することができるが、なお、前述の諸実施形態に適合することができる。さらに、本明細書で述べたオペレーションは、順次に行うことができるが、あるいはいくつかのオペレーションを、並列に処理することができる。さらに、オペレーションは、単一の処理装置により、または分散された処理装置により実施することができる。
【図面の簡単な説明】
【００５５】
【図１】コンピューティング環境の実施形態を示す図である。
【図２】アドレス形式の実施形態を示す図である。
【図３】従来技術の実施形態のアドレス形式を示す図である。
【図４】アドレス形式の実施形態を示す図である。
【図５】データ要求で使用するアドレスを生成するために、オペレーティング・システムにより実施される従来技術で知られたオペレーションの実施形態を示す図である。
【図６】データ要求で使用するアドレスを生成するために、オペレーティング・システムにより実施されるオペレーションの実施形態を示す図である。
【図７】アドレス情報を報告するコマンド応答の実施形態を示す図である。
【図８】アドレスに関して報告するコマンド応答を生成するためのオペレーションの実施形態を示す図である。
【図１】
2009535725.tif 000003
【図２】
2009535725.tif 000004
【図３】
2009535725.tif 000005
【図４】
2009535725.tif 000006
【図５】
2009535725.tif 000007
【図６】
2009535725.tif 000008
【図７】
2009535725.tif 000009
【図８】
2009535725.tif 000010
【手続補正書】
【提出日】平成21年4月1日(2009.4.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ストレージ・スペースの第１の領域および第２の領域を備えるストレージ・デバイス中のストレージ・スペースをアドレス指定するために、オペレーティング・システムで使用されるアドレス形式を処理するステップを含み、
第１グループのアプリケーションが、前記アドレス形式を使用して前記第１の領域中の前記ストレージ・スペースをアドレス指定するだけであり、前記アドレス形式を使用して前記第２の領域にアクセスするようにはコーディングされておらず、
また第２グループのアプリケーションが、前記アドレス形式を使用して前記第１および第２の領域中の前記ストレージ・スペースをアドレス指定する、
方法。
【請求項２】
前記第１の領域が、前記アドレス形式で定義されるアドレスの第１の範囲でアクセスされ、また前記第２の領域が、前記アドレス形式で定義されたアドレスの前記第１の範囲よりも上位の、アドレスの第２の範囲でアクセスされる、請求項１に記載の方法。
【請求項３】
前記アドレス形式が、第１および第２の組のビットを含み、前記第１グループのアプリケーションが、アドレスを形成するために前記第１の組のビットを変更するが、前記第２の組のビットを変更せず、また前記第２グループのアプリケーションが、アドレスを形成するために前記第１および第２の組のビットを共に変更する、請求項１に記載の方法。
【請求項４】
前記第２グループのアプリケーションに対して、前記第１の組のビットが、前記アドレスの最下位ビットを含み、前記第２の組のビットが、前記アドレスの最上位ビットを含む、請求項３に記載の方法。
【請求項５】
前記アドレス形式における第３の組のビットが、前記第１および第２の領域をそれぞれアドレス指定するためのアドレスを形成するために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションにより変更される、請求項３に記載の方法。
【請求項６】
前記第１グループのアプリケーションが、前記アドレスの第１の番号として前記第１の組のビットを、また前記アドレスの第２の番号として前記第２および第３の組のビットを処理し、また前記第２グループのアプリケーションが、前記第１の番号の最下位ビットとして前記第１の組のビットを、また前記第１の番号の最上位ビットとして前記第２の組のビットを、また前記第２の番号として前記第３の組のビットを処理する、請求項５に記載の方法。
【請求項７】
前記第１の番号がシリンダ番号を含み、また前記第２の番号がトラック番号を含む、請求項６に記載の方法。
【請求項８】
前記第１グループのアプリケーションが、前記アドレスにおける前記第２の番号を設定するとき、前記第３の組のビットを変更するだけで、前記第２の組のビットを変更しない、請求項６に記載の方法。
【請求項９】
前記第１の組のビットが４バイトを含み、前記第２の組のビットが３バイトを含み、また前記第３の組のビットが１バイトを含む、請求項８に記載の方法。
【請求項１０】
前記第１グループのアプリケーションが、アドレスの前記第１の領域を有するヘリテージ・ストレージ・デバイスを用いるだけのヘリテージ・アプリケーションを含み、また前記第２グループのアプリケーションが、アドレスの前記第１および第２の領域を有するストレージ・デバイスにアクセスする現世代アプリケーションを含む、請求項１に記載の方法。
【請求項１１】
前記アドレス形式が、前記第１のストレージ領域中にすでに存在するアドレスに影響を与えることなく、小容量ボリュームから大容量ボリュームへと大きくすることを可能にするようにストレージ・スペースの前記第２の領域を提供することにより、前記ストレージ・スペースの拡張を可能にし、ボリュームを、前記アドレス形式を用いて前記第２の領域へと動的に拡張する間、前記第１グループのアプリケーションが、中断されずに動作を継続することができる、請求項１に記載の方法。
【請求項１２】
ストレージ・デバイス中のストレージ・スペースにおけるアドレスのデータを求める、第１グループのアプリケーションおよび第２グループのアプリケーションによる要求が、オペレーティング・システムにより処理され、また
前記ストレージ・スペースへのアクセスを管理するストレージ・マネジャにより、前記アドレス形式で示された前記ストレージ・スペースにおけるアドレスの前記要求されたデータにアクセスするために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションからの要求を処理するステップをさらに含む、請求項１に記載の方法。
【請求項１３】
前記アドレス形式が第１および第２の組のビットを含み、前記アドレスが第１の番号および第２の番号を有し、前記第１グループのアプリケーションが前記第１の番号に対して前記第１の組のビットを変更するだけであり、また前記第２グループのアプリケーションが、前記第１の番号に対して前記第１および前記第２の組のビットを共に使用しており、
前記ストレージ・マネジャがさらに、
前記ストレージ・スペースにおける１つのアドレスの前記第１の番号に関する情報を報告するためのコマンド応答を生成するステップと、
前記アドレスの前記第１の番号用に意図された前記コマンド応答の一部分に、前記第１の組のビットを含めるステップと、
報告すべき前記アドレスの前記第１の番号が、前記アドレスの前記第２の組のビットの使用を必要とするかどうかを判定するステップと、
前記第１の番号が、前記第１および第２の組のビットの使用を必要とするとの判定に応じて、前記アドレスの前記第１の番号を決定するために、前記第１グループのアプリケーションにより使用されない前記生成されたコマンド応答の一部分に、前記第２の組のビットを含めるステップと
を実施する、請求項１２に記載の方法。
【請求項１４】
第１のアプリケーションおよび第２グループのアプリケーション、ならびにストレージ・デバイスと通信するシステムであって、
プロセッサと、
アドレス形式の、前記ストレージ・デバイス中のストレージ・スペースに対する、前記第１グループのアプリケーションおよび第２グループのアプリケーションからのデータ要求を処理するための、前記プロセッサによって実行されるオペレーティング・システムとを含み、
前記ストレージ・デバイスが、ストレージ・スペースの第１の領域および第２の領域を備え、前記第１グループのアプリケーションが、前記アドレス形式を使用して前記第１の領域中の前記ストレージ・スペースをアドレス指定するだけであり、前記アドレス形式を使用して前記第２の領域にアクセスするようにはコーディングされておらず、第２のグループのアプリケーションが、前記アドレス形式を使用して前記第１および第２の領域中の前記ストレージ・スペースをアドレス指定するシステム。
【請求項１５】
前記第１の領域が、前記アドレス形式で定義されるアドレスの第１の範囲でアクセスされ、また前記第２の領域が、前記アドレス形式で定義されたアドレスの前記第１の範囲よりも上位の、アドレスの第２の範囲でアクセスされる、請求項１４に記載のシステム。
【請求項１６】
前記アドレス形式が、第１および第２の組のビットを含み、前記第１グループのアプリケーションが、アドレスを形成するために前記第１の組のビットを変更するが、前記第２の組のビットを変更せず、また前記第２グループのアプリケーションが、アドレスを形成するために前記第１および第２の組のビットを共に変更する、請求項１４に記載のシステム。
【請求項１７】
前記アドレス形式の第３の組のビットが、アドレスを形成するために、前記第１グループのアプリケーションおよび前記第２グループのアプリケーションにより変更され、前記第１および第２の領域をそれぞれアドレス指定する、請求項１６に記載のシステム。
【請求項１８】
前記第１グループのアプリケーションが、前記アドレスの第１の番号として前記第１の組のビットを、また前記アドレスの第２の番号として前記第２および第３の組のビットを処理し、また前記第２グループのアプリケーションが、前記第１の番号の最下位ビットとして前記第１の組のビットを、また前記第１の番号の最上位ビットとして前記第２の組のビットを、また前記第２の番号として前記第３の組のビットを処理する、請求項１７に記載のシステム。
【請求項１９】
前記第１グループのアプリケーションが、アドレスの前記第１の領域を有するヘリテージ・ストレージ・デバイスを用いるだけのヘリテージ・アプリケーションを含み、また前記第２グループのアプリケーションが、アドレスの前記第１および第２の領域を有するストレージ・デバイスにアクセスする現世代アプリケーションを含む、請求項１４に記載のシステム。
【請求項２０】
さらに、前記アドレス形式の前記要求されたアドレスにおける前記要求されたデータを、前記ストレージ・デバイスから戻す、請求項１４に記載のシステム。
【請求項２１】
前記アドレス形式が第１および第２の組のビットを含み、前記アドレスが第１の番号および第２の番号を有し、前記第１グループのアプリケーションが前記第１の番号に対して前記第１の組のビットを変更するだけであり、また前記第２グループのアプリケーションが、前記第１の番号に対して前記第１および前記第２の組のビットを共に使用しており、さらに、
前記ストレージ・スペースにおける１つのアドレスの前記第１の番号に関する情報を報告するためのコマンド応答を生成し、
前記アドレスの前記第１の番号用に意図された前記コマンド応答の一部分に、前記第１の組のビットを含め、
報告すべき前記アドレスの前記第１の番号が、前記アドレスの前記第２の組のビットの使用を必要とするかどうかを判定し、
前記第１の番号が前記第１および第２の組のビットの使用を必要とするとの判定に応じて、前記アドレスの前記第１の番号を決定するために、前記第１グループのアプリケーションにより使用されない前記生成されたコマンド応答の一部分に、前記第２の組のビットを含める、
請求項２０に記載のシステム。
【請求項２２】
コンピュータ・システムで実行されるとき、請求項１ないし請求項１３のいずれかに記載の方法の前記ステップのすべてを実行するための命令を含むコンピュータ・プログラム。
【国際調査報告】
2009535725.tif 000011
2009535725.tif 000012
2009535725.tif 000013