(57)【特許請求の範囲】
【請求項１】
複数の管理対象物に対してそれぞれ１又は複数件数の情報が割り当てられており、前記複数の管理対象物の１又は複数件数の情報を、各管理対象物に対して共通のエントリ件数の単位ブロックを割り当てたメモリにて前記管理対象物の情報を記憶管理する際のメモリ使用効率の最適化方法であって、
単位ブロック毎に該単位ブロックに対応する前記管理対象物の情報を格納する第１のメモリ領域と、
前記第１のメモリ領域の単位ブロックに格納できずに溢れた情報を格納する第２のメモリ領域と、
を設け、前記単位ブロックに格納できずに溢れた情報が前記第２のメモリ領域に格納される場合、前記第１のメモリ領域の前記単位ブロックには前記第２のメモリ領域を指示するアドレスが格納され、
前記複数の管理対象物のそれぞれの情報件数の最大値をソートし、該ソートされた前記複数の最大値のうち、最も値の大きな情報件数の次の値に対応した情報件数以下の件数に、前記第１のメモリ領域の単位ブロックのエントリ件数を設定した場合の、前記第１メモリ領域の未使用領域の件数、アドレス領域の件数、前記第２のメモリ領域に格納される情報の件数のそれぞれについて、前記複数の管理対象物に関する総和の合計値に基づき、前記第１のメモリ領域の単位ブロックの最適なサイズを決定する、ことを特徴とするメモリ使用効率の最適化方法。
【請求項２】
前記複数の最大値のうち２番目の値に対応した情報件数から前記合計値を求めて記憶し、あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの情報件数についても前記合計値の計算を求める処理を繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における情報件数に対応するサイズを前記第１のメモリ領域の単位ブロックの最適なサイズとする、ことを特徴とする請求項１記載のメモリ使用効率の最適化方法。
【請求項３】
複数の管理対象物に対してそれぞれ１又は複数件数の情報が割り当てられており、前記複数の管理対象物の１又は複数件数の情報を、各管理対象物に対して共通のエントリ件数の単位ブロックを割り当てたメモリにて前記管理対象物の情報を記憶管理する際のメモリ使用効率の最適化方法であって、
単位ブロック毎に該単位ブロックに対応する前記管理対象物の情報を格納する第１のメモリ領域と、
前記第１のメモリ領域の単位ブロックに格納できずに溢れた情報を格納する第２のメモリ領域と、
を設け、
前記単位ブロックに格納できずに溢れた情報が前記第２のメモリ領域に格納される場合、前記第１のメモリ領域の前記単位ブロックには前記第２のメモリ領域を指示するアドレスが格納され、
前記第１のメモリ領域の単位ブロックの最適なサイズを求めるにあたり、前記複数の管理対象物毎の情報件数の最大値を大きさの順に並び替え、その際、同一の最大値のものは１つとみなし、前記最大値を並び替えた個数が偶数の場合には、真中２つの値うち大きい方の値に対応する情報件数を、前記第１のメモリ領域の単位ブロックのエントリ件数とし、前記最大値を並び替えた個数が奇数の場合には、真中の大きさに対応する情報件数を、前記第１のメモリ領域の単位ブロックのエントリ件数とする、ことを特徴とするメモリ使用効率の最適化方法。
【請求項４】
物理装置配下に論理装置が複数台存在する情報処理システムにおいて、前記物理装置毎に論理装置の装置情報を格納するメモリ領域を管理する方法であって、
複数の前記物理装置に対して共通サイズに区分して割り当てられ、前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を設け、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報から、前記物理装置内に含まれる前記論理装置番号の最大値をソートし、該ソートの結果得られた前記論理装置番号の最大値の最も大きな値から、第２番目以降の最大値の論理装置番号数に対応したサイズに、前記第１のメモリ領域の共通サイズを設定した場合の、前記第１メモリ領域の未使用領域、アドレス領域の件数、前記第２のメモリ領域に格納される情報の件数の合計情報に基づき、前記第１のメモリ領域を区分する前記共通サイズの最適値を決定する、ことを特徴とするメモリ使用効率の最適化方法。
【請求項５】
物理装置配下に論理装置が複数台存在する情報処理システムにおいて、前記物理装置毎に論理装置の装置情報を格納するメモリ領域を管理する方法であって、前記各物理装置に対して共通サイズに区分して割り当てられ前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を設け、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、前記物理装置内の論理装置番号数の最大値を取得するステップと、
前記論理装置番号数の最大値を降順に並び替えるステップと、
前記第１のメモリ領域を区分する共通サイズの最適な値を求めるにあたり、前記降順に並び替えた順番のうち２番目の論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域を区分する共通サイズとして、前記第１のメモリ領域内の未使用領域の件数とアドレス領域の件数と、前記第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求めるステップと、
最大値が２番目の論理装置番号数の場合には、求めた合計値を初期値として設定し、次の、最大値が３番目以降の論理装置番号数について、論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域の共通サイズとして、前記第１のメモリ領域内の未使用領域の件数と、アドレス領域の件数と、前記アドレス領域で指示される第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求めるステップと、
あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの論理装置番号についても前記合計値の計算を求める処理を繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における論理装置番号数に対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとするステップと、
を含む、ことを特徴とするメモリ使用効率の最適化方法。
【請求項６】
物理装置配下に論理装置が複数台存在する情報処理システムにおいて、前記物理装置毎に論理装置の装置情報を格納するメモリ領域を管理する方法であって、
複数の前記物理装置に対して共通サイズに区分して割り当てられ、前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を設け、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、各物理装置毎の論理装置数の最大値を取得するステップと、
前記論理装置番号の最大値を降順に並び替えるステップと、
前記第１のメモリ領域の最適なサイズを求めるにあたり、同一の最大値のものは１つとみなし、前記降順に並び替えた個数が偶数の場合には、真中２つのうち大きい方の値に対応するサイズを、前記第１のメモリ領域のサイズとし、前記降順に並び替えた個数が奇数の場合には、真中の大きさに対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとするステップと、
を含むことを特徴とするメモリ使用効率の最適化方法。
【請求項７】
物理装置配下に論理装置が複数台存在する情報処理装置において、
複数の前記物理装置に対して共通サイズに区分して割り当てられ、前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を備え、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報から、前記物理装置内に含まれる前記論理装置番号の最大値をソートし、該ソートの結果得られた前記論理装置番号の最大値の最も大きな値から、第２番目以降の最大値の論理装置番号数に対応したサイズに、前記第１のメモリ領域の共通サイズを設定した場合の、前記第１メモリ領域の未使用領域の件数、アドレス領域の件数、前記第２のメモリ領域に格納される情報の件数のそれぞれについて、前記複数の物理装置に関する総和の合計値に基づき、前記第１のメモリ領域の単位ブロックの最適なサイズを決定する手段を備えた、ことを特徴とする情報処理装置。
【請求項８】
物理装置配下に論理装置が複数台存在する情報処理装置において、
複数の前記物理装置に対して共通サイズに区分して割り当てられ前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を備え、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、前記物理装置内の論理装置番号数の最大値を取得する手段と、
前記論理装置番号数の最大値を降順に並び替える手段と、
前記第１のメモリ領域を区分する共通サイズの最適な値を求めるにあたり、前記降順に並び替えた順番のうち２番目の論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域を区分する共通サイズとして、前記第１のメモリ領域内の未使用領域の件数とアドレス領域の件数と、前記第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求める手段と、
最大値が２番目の論理装置番号数の場合には、求めた合計値を初期値として設定し、次の、最大値が３番目以降の論理装置番号数について、論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域の共通サイズとして、前記第１のメモリ領域内の未使用領域の件数と、アドレス領域の件数と、前記アドレス領域で指示される第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求める手段と、
あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの論理装置番号についても前記合計値の計算を求める処理を繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における論理装置番号数に対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとする手段と、
を含む、ことを特徴とする情報処理装置。
【請求項９】
物理装置配下に論理装置が複数台存在する情報処理装置において、
複数の前記物理装置に対して共通サイズに区分して割り当てられ前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を備え、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、各物理装置毎の論理装置数の最大値を取得する手段と、
前記論理装置番号の最大値を大きさの順に並び替える手段と、
前記第１のメモリ領域の最適なサイズを求めるにあたり、同一の最大値のものは１つとみなし、前記並び替えた個数が偶数の場合には、真中２つのうち大きい方の値に対応するサイズを、前記第１のメモリ領域のサイズとし、前記並び替えた個数が奇数の場合には、真中の大きさに対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとする手段と、を含む、ことを特徴とする情報処理装置。
【請求項１０】
物理装置配下に論理装置が複数台ある情報処理装置にメモリ使用効率の最適化を行わせるためのプログラムを記録した記録媒体において、
複数の前記物理装置に対して共通サイズに区分して割り当てられ前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を備え、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
（ａ）物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、前記物理装置内の論理装置数の最大値を取得する処理と、
（ｂ）前記論理装置番号の最大値を降順に並び替える処理と、
（ｃ）前記第１のメモリ領域を区分する共通サイズの最適な値を求めるにあたり、前記降順に並び替えた順番のうち２番目の論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域を区分する共通サイズとして、前記第１のメモリ領域内の未使用領域の件数とアドレス領域の件数と、前記第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求める処理と、
（ｄ）最大値が２番目の論理装置番号数の場合には、求めた合計値を初期値として設定し、最大値が３番目以降の論理装置番号数について、論理装置番号数の最大値に対応するサイズを、前記第１のメモリ領域の共通サイズとして、前記第１のメモリ領域内の未使用領域の件数と、アドレス領域の件数と、前記アドレス領域で指示される第２のメモリ領域に装置情報が格納されている件数を、すべての前記物理装置についてそれぞれ合計した値の合計値を求める処理と、
（ｅ）あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの論理装置番号についても前記合計値の計算を求める処理を繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における論理装置番号数に対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとする処理と、の前記各処理（ａ）乃至（ｅ）を前記情報処理装置を構成するコンピュータで実行させるためのプログラムを記録した記録媒体。
【請求項１１】
物理装置配下に論理装置が複数台ある情報処理装置にメモリ使用効率の最適化を行わせるためのプログラムを記録した記録媒体において、
前記各物理装置に対して共通のサイズが割り当てられ、前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域と、
前記第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域と、
を備え、
前記第２のメモリ領域に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納され、
（ａ）物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、各物理装置毎の論理装置数の最大値を取得する処理と、
（ｂ）前記論理装置番号の最大値を降順に並び替える処理と、
（ｃ）前記第１のメモリ領域の最適なサイズを求めるにあたり、同一の最大値のものは１つとみなし、前記降順に並び替えた個数が偶数の場合には、真中２つのうち大きい方の値に対応するサイズを、前記第１のメモリ領域のサイズとし、前記降順に並び替えた個数が奇数の場合には、真中の大きさに対応するサイズを、前記第１のメモリ領域を前記物理装置毎に区分する共通サイズの最適なサイズとする処理との前記各処理（ａ）乃至（ｃ）を前記情報処理装置を構成するコンピュータで実行させるためのプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、メモリの管理技術に関し、特に、物理装置配下に論理装置が複数台存在する情報処理装置のメモリ管理に適用して好適な方法、装置に関する。
【０００２】
【従来の技術】
情報処理システムにおいて、一つのＩ／Ｏ装置（物理装置）が複数の入出力チャネルをサポートしている場合等、一つの物理装置配下に論理装置が複数台存在する場合、アプリケーションからは論理装置名等で各チャネルがアクセスされる。また、一つのコントローラで複数のドライブユニットの制御を行うディスク装置等においても、ディスクドライブを論理装置名等でアクセス可能とされる。情報処理システムにおいて、物理装置毎に論理装置を制御・管理するために情報をメモリにテーブル形式で記憶管理している。
【０００３】
物理装置配下に論理装置が複数台ある情報処理システムにおいて、装置毎の情報データ（装置の動作を規定するコマンド命令、パラメータ等の装置情報）を格納するメモリ領域を確保するための方法として、従来より、次の様な方法が知られている。
【０００４】
図５に示すように、論理装置番号（ＬＣ＃）の最大値にあわせて、各物理装置番号（ＰＣ＃）毎に同じ大きさのメモリ領域２−１を確保している。
【０００５】
このメモリ管理方法によれば、参照または更新する情報が格納されているアドレスを計算で求め、直接アクセスできることから、格納されている情報を一件ずつ検索する方法よりも、検索速度が高速となる。
【０００６】
すなわち、図５のメモリ領域２−１のように、各物理装置番号（ＰＣ＃）毎の論理装置番号（ＬＣ＃）の最大値の中から、最も大きな値（図５の場合、ｒ）を基準に、メモリ領域の確保を行い、目的とする情報が格納されている領域にアクセスする方法として、必要な情報の物理装置番号（ＰＣ＃）、論理装置番号（ＬＣ＃）から計算で、アドレスを導き出していた。従来の方法は、つぎのように動作する。
【０００７】
各物理装置番号毎の論理装置番号（ＬＣ＃）の最大値の中で、最も大きな値がｒ（ｒは、１以上）の装置構成において、各物理装置のメモリ領域２−１の大きさはｒとされており、参照または更新する情報が格納されている物理装置番号（ＰＣ＃）、論理装置番号（ＬＣ＃）が、
ＰＣ＃＝ｑ（ｑは０以上）、ＬＣ＃＝ｐ（ｐは１以上ｒ以下）である場合、該情報が格納されているアドレスは、
ｒ×ｑ＋ｐ−１    …（１）
で求められる。
【０００８】
このように、式（１）で求めたアドレスにアクセスすることによって検索速度を速くしている。
【０００９】
しかしながら、確保したメモリ領域２−１内の未使用領域（図５のＮＵＬＬ）が多くなり、メモリの使用効率が悪くなる。すなわち、テーブル形式のメモリ領域２−１には、（ｑ＋１）×ｒ分に相当する領域が確保されており、このため、複数の物理装置のうち、１つの物理装置の論理装置番号の最大値だけが、特別に大きな値の場合、物理装置毎に割り当てられるブロック（１〜ｒ個のエントリを有する）に空き（未使用領域）が多くなり、メモリの使用効率は極めて悪くなる。
【００１０】
その理由は、各物理装置番号（ＰＣ＃）毎の論理装置番号（ＬＣ＃）の最大値の中から、最も大きな値（図５では論理装置番号（ＬＣ＃）の最大値ｒ）を基準として、メモリ領域の大きさを決定しているためである。
【００１１】
上記したように、図５において、論理装置番号（ＬＣ＃）の最大値に合わせて、各物理装置番号（ＰＣ＃）毎に、同じ大きさのメモリ領域を確保し、参照または更新する情報が格納されているアドレスを、計算（式（１））で求め、直接、アクセスできるため、格納されている情報を一件ずつ検索する方法よりも検索速度が高速になるが、この方法では、確保したメモリ領域中の未使用領域が増え、メモリの使用効率が落ちてしまう。
【００１２】
【発明が解決しようとする課題】
したがって、本発明が解決しようとする課題は、メモリ領域内の未使用領域が減らし、メモリ使用効率を最適化できる方法、装置、並びに記録媒体を提供することにある。
【００１３】
【課題を解決するための手段】
前記課題を解決するための手段を提供する本発明は、複数の管理対象物に対してそれぞれ１又は複数件数の情報が割り当てられており、前記複数の管理対象物の１又は複数件数の情報を、各管理対象物に対して共通のエントリ件数の単位ブロックを割り当てたメモリにて前記管理対象物の情報を記憶管理する際のメモリ使用効率の最適化方法であって、単位ブロック毎に対応する前記管理対象物の情報を格納する第１のメモリ領域と、前記第１のメモリ領域の単位ブロックに格納できずに溢れた情報を格納する第２のメモリ領域とを設け、前記単位ブロックに格納できずに溢れた情報が前記第２のメモリ領域に格納される場合、前記第１のメモリ領域の前記単位ブロックには前記第２のメモリ領域を指示するアドレスが格納され、前記複数の管理対象物のそれぞれの情報件数の最大値をソートし、該ソートの結果、前記複数の最大値のうち最も値の大きな情報件数の次の値に対応した情報件数以下の件数に、前記第１のメモリ領域の単位ブロックのエントリ件数を設定した場合の、前記第１メモリ領域の未使用領域、アドレス領域の件数、前記第２のメモリ領域に格納される情報の件数の、前記複数の管理対象物に関する合計値に基づき、前記第１のメモリ領域の単位ブロックの最適なサイズを決定する。
【００１４】
本発明においては、前記複数の最大値のうち２番目の値に対応した情報件数から前記合計値を求め、あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの情報件数についても前記合計値の計算を求める処理を繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における情報件数に対応するサイズを、前記第１のメモリ領域の単位ブロックの最適なサイズとする。
【００１５】
本発明においては、前記情報件数の最大値をソートし、前記第１のメモリ領域の単位ブロックの最適なサイズを求めるにあたり、同一の最大値のものは１つとみなし、前記ソートした個数が偶数の場合には、真中２つの値うち大きい方の値に対応する情報件数を、前記第１のメモリ領域の単位ブロックのエントリ件数とし、前記ソートした個数が奇数の場合には、真中の大きさに対応する情報件数を、前記第１のメモリ領域の単位ブロックのエントリ件数とする。
【００１６】
【発明の実施の形態】
本発明の好ましい実施の形態について以下に説明する。本発明の実施の形態は、複数の管理対象物（物理装置）に対してそれぞれ１又は複数件数の情報（論理装置の装置情報）が割り当てられており、前記複数の管理対象物の１又は複数件数の情報（論理装置の装置情報）を、各管理対象物（物理装置）に対して共通のエントリ件数の単位ブロックを割り当てテーブル形式のメモリにて前記管理対象物の情報を記憶管理する際のメモリ使用効率の最適化方法であって、単位ブロック毎に対応する前記管理対象物の情報を格納する第１のメモリ領域（１−１）と、前記第１のメモリ領域の単位ブロックに格納できずに溢れた情報を格納する第２のメモリ領域（１−２）とを設け、前記単位ブロックに格納できずに溢れた情報が前記第２のメモリ領域に格納される場合、前記第１のメモリ領域の前記単位ブロックには前記第２のメモリ領域を指示するアドレスが格納され、前記複数の管理対象物のそれぞれの情報件数の最大値をソートし、該ソートの結果、前記複数の最大値のうち最も値の大きな情報件数の次の値に対応した情報件数以下の件数に、前記第１のメモリ領域の単位ブロックのエントリ件数を設定した場合の、前記第１メモリ領域の未使用領域、アドレス領域の件数、前記第２のメモリ領域に格納される情報の件数の、前記複数の管理対象物に関する合計値に基づき、前記第１のメモリ領域の単位ブロックの最適なサイズを決定するものである。
【００１７】
本発明は、アクセス速度を保ちつつメモリ領域の使用効率を上げる方法として、図１に示すように、論理装置番号（ＬＣ＃）が、基準値を越えたものについては、メモリ領域を分割して管理し、もとの第１のメモリ領域（１−１）には、第２のメモリ領域（１−２）のアドレスが格納される。
【００１８】
この基準値（第１のメモリ領域の各物理装置に割り当てられる単位ブロックのサイズ）は、第１のメモリ領域（１−１）の未使用領域（ＮＵＬＬ）と、アドレス領域の件数と、第２のメモリ領域（１−２）に格納される件数との合計が最小になるように、決定する。このようにして、メモリ使用効率とアクセス速度の最適化を可能にする。
【００１９】
本発明は、物理装置配下に論理装置が複数台ある情報処理装置において、物理装置毎に論理装置に対して割り当てるメモリ領域を管理するにあたり、前記各物理装置に対して共通のサイズが割り当てられ、前記各物理装置毎の論理装置の装置情報が格納される第１のメモリ領域（１−１）と、第１のメモリ領域に格納されない論理装置の装置情報が格納される第２のメモリ領域（１−２）と、を備えている。第２のメモリ領域（１−２）に論理装置の装置情報が格納される場合、前記第１のメモリ領域には前記第２のメモリ領域を指示するアドレスが格納される。
【００２０】
情報処理装置は、物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、前記物理装置内の論理装置数の最大値を取得する手段と、前記論理装置番号の最大値を降順に並び替えると、前記第１のメモリ領域の最適なサイズ（各物理装置に対応した共通サイズの単位ブロック）を求めるにあたり、前記降順に並び替えた２番目の論理装置番号の最大値に対応するサイズを、前記第１のメモリ領域のサイズとして、前記第１のメモリ領域内の未使用領域の件数とアドレス領域の件数と、前記第２のメモリ領域に装置情報が格納されている件数を、前記各物理装置の各々について合計した値の全体の合計値を求める手段と、最大値が２番目の大きさの論理装置番号数の場合には、求めた合計値を初期値として設定し、次の、最大値が３番目以降の大きさの論理装置番号数について、３番目の論理装置番号の最大値に対応するサイズを、前記第１のメモリ領域のサイズとして、前記第１のメモリ領域内の未使用領域の件数とアドレス領域の件数と、前記アドレス領域で指示される第２のメモリ領域に装置情報が格納されている件数を、前記各物理装置の各々について合計した値の全体の合計値を求める手段と、あらたに求めた前記全体の合計値が前回の計算で求めた全体の合計値よりも小さい場合には、最大値が次の大きさの論理装置番号数についても前記合計値の計算を求めるステップを繰り返し、あらたに求めた全体の合計値が前回の計算で求めた合計値以上になった場合、前回の合計値の計算における論理装置数に対応するサイズを前記第１のメモリ領域の最適なサイズとする処理の各処理を実行する手段を含む。
【００２１】
あるいは、本発明は、物理装置番号と論理装置番号との対応を定義した装置構成情報を解析し、各物理装置毎の論理装置数の最大値を取得する手段と、前記論理装置番号の最大値を降順に並び替える手段と、前記第１のメモリ領域の最適なサイズを求めるにあたり、同一の最大値のものは１つとみなし、前記降順に並び替えた個数が偶数の場合には、真中２つのうち大きい方の値に対応するサイズを、前記第１のメモリ領域のサイズとし、前記降順に並び替えた個数が奇数の場合には、真中の大きさに対応するサイズを、前記第１のメモリ領域のサイズとする処理の各処理を実行する手段を含む。
【００２２】
本発明の実施の形態において、上記各手段は、情報処理装置を構成するコンピュータ上でプログラムを実行することで実現される。この場合、上記プログラムを記録した記録媒体（フロッピーディスク、ハードディスク等の磁気ディスク、磁気テープ、またはＣＤ（ｃｐｍｐａｃｔ  ｄｉｓｋ）−ＲＯＭ、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｋ）等の光ディスク、もしくは、半導体メモリ等）から該プログラムを、該記録媒体の機械読み出し装置及びインタフェースを介して該コンピュータに読み出し、主記憶にロードして実行することで、本発明を実施することができる。あるいは、該コンピュータに、有線または無線ネットワーク媒体と、通信インタフェースを介して、他のコンピュータの記憶装置から上記プログラムを伝送し、上記プログラムを該コンピュータにインストールし、主記憶にロードして実行するようにしてもよいことは勿論である。
【００２３】
【実施例】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の実施例について図面を参照して以下に説明する。図１を参照すると、本発明の一実施例において、物理装置配下に論理装置が複数台あるシステムにおいて、装置毎のデータを格納するメモリ領域として、第１のメモリ領域１−１と、第２のメモリ領域１−２（拡張領域）から構成されている。第１のメモリ領域１−１は、各物理装置に対応した共通サイズの単位ブロックに区分され、論理装置の情報が格納される。第２のメモリ領域１−２は、各物理装置に共通とされ、第１のメモリ領域１−１の論理装置の件数が納まらない装置情報が格納される。
【００２４】
第１のメモリ領域１−１は、各物理装置番号（ＰＣ＃）毎に、論理装置の装置情報（論理装置の設定情報、コマンド情報等）が格納され、未使用領域にはＮＵＬＬコードが格納され、第１のメモリ領域１−１の論理装置の件数が納まらない場合には、装置情報が第２のメモリ領域１−２に格納され、第１のメモリ領域１−１には、第２のメモリ領域１−２へのアドレス情報が格納される。
【００２５】
本発明の一実施例において、第１のメモリ領域１−１に登録される論理装置の件数は、第１のメモリ領域１−１の未使用領域（ＮＵＬＬ）とアドレス領域の件数と、第２のメモリ領域１−２に格納される件数との合計が最小になるように決定された値の分だけ領域を確保して装置情報を格納する。
【００２６】
第２のメモリ領域１−２は、第１のメモリ領域１−１に格納できなかった情報を格納する。図１では、第１のメモリ領域１−１のサイズを３エントリとし、３エントリに納まらない物理装置２の論理装置番号３〜論理装置番号ｒ（ただしｒ＞３の整数）が第２のメモリ領域１−２に格納されており、物理装置２に対応する第１のメモリ領域１−１の３番目のエントリは、第２のメモリ領域１−２のアドレス情報が格納されている。論理装置番号の最大値が３以上の物理装置についても、あふれた装置情報は第２のメモリ領域１−２に格納され、その先頭アドレスが第１のメモリ領域１−１の３番目のエントリに格納される。
【００２７】
参照または更新する情報が格納されている物理装置番号（ＰＣ＃）、論理装置番号（ＬＣ＃）について、ＬＣ＃が３以上場合、アドレス情報から第２のメモリ領域１−２の装置情報を得る。
【００２８】
本発明の一実施例においては、装置構成情報１から、メモリ領域１−１、１−２で確保する領域の大きさをを決定する。装置構成情報１は、情報処理システムにおける物理装置のシステム構成を規定する情報であり、物理装置と論理装置番号との対応が規定されている。
【００２９】
次に、図２のフローチャートを参照して、本実施例の全体の動作について詳細に説明する。
【００３０】
まず、ステップＳ１１にて、装置構成情報１を解析し、各物理装置番号（ＰＣ＃）毎の論理装置番号（ＬＣ＃）の最大値を取得する。装置構成情報１は、情報処理システムのシステム構成情報の一つである。
【００３１】
ステップＳ１２で、取得した各論理装置番号（ＬＣ＃）の最大値を、降順に並び替える。その際、論理装置番号（ＬＣ＃）の最大値が同一の値の物理装置については、同一とみなす。すなわち、論理装置番号（ＬＣ＃）の最大値が同一の値の物理装置が複数存在する場合には同一とみなし、その１つについてステップ１３以下の処理が行われる。
【００３２】
ステップＳ１３では、降順に並び替えた論理装置番号（ＬＣ＃）の２番目の値を使用して、メモリ領域１−１の未使用領域（ＮＵＬＬ）の件数とアドレス領域の件数とメモリ領域１−２に格納されている件数とのそれぞれについて、全物理装置で合計を求め、求めた合計値の合計を計算する。
【００３３】
降順に並び替えた論理装置番号（ＬＣ＃）の１番目の値を使用した場合、図５に示した従来のメモリ管理と同等となるため、降順に並び替えた論理装置番号（ＬＣ＃）の１番目の値は使用しないで、２番目の値から最適な値を探索する。
【００３４】
ステップＳ１４において、２番目の論理装置番号（ＬＣ＃）であるか否かを判断し、２番目の論理装置番号（ＬＣ＃）である場合、ステップＳ１６で、合計値を、初期値として設定し、合計の計算を繰り返す。
【００３５】
求めた値が値が、前回の計算で求めた値より小さければ、次の論理装置番号（ＬＣ＃）についても、計算を繰り返す判断を、ステップＳ１５で行う。
【００３６】
前回の計算で求めた値以上になった場合、ステップＳ１７で前回の計算で求めた値がメモリ領域１−１を確保するときの各論理装置番号（ＬＣ＃）に割り当てられる件数として使用される。
【００３７】
ただし最大ＰＣ＃が２以下の場合は、この方法を適用しても、有効な結果が得られないため、この方法によるメモリ確保は行わない。
【００３８】
次に、本発明の一実施例について具体例を用いて説明する。
【００３９】
図４に示すような装置構成の場合、各論理装置番号（ＬＣ＃）毎のＬＣ＃の最大値は、それぞれ５、１、１２、３、４、７で、これを降順に並び替えると、１２、７、５、４、３、１となる。
【００４０】
論理装置番号（ＬＣ＃）の２番目の値は７であるため、第１のメモリ領域１−１の論理装置の装置情報を格納する件数が７の場合の、第１メモリ領域１−１の未使用領域数、アドレス領域数、第２のメモリ領域１−２の格納件数（拡張件数）のそれぞれについて物理装置ＰＣ＃０〜ＰＣ＃５の合計は、１５、１、６となり、これらの各件数の合計の合計値を計算すると、２２になる。
【００４１】
これを初期値として、３番目の論理装置番号（ＬＣ＃）の値で計算した値と、比較する。３番目の論理装置番号（ＬＣ＃）の値は５であり、第１のメモリ領域１−１の論理装置の装置情報を格納する件数が７の場合の、第１メモリ領域１−１の未使用領域数、アドレス領域数、第２のメモリ領域１−２の格納件数（拡張件数）のそれぞれについて物理装置ＰＣ＃０〜ＰＣ＃５の合計は、７、２、１１となり、これらの各件数の合計の合計値を計算すると、２０になる。
【００４２】
この値は、前回求めた値２２より小さいため、次に、４番目の論理装置番号（ＬＣ＃）の値で合計値を計算する。
【００４３】
４番目の論理装置番号（ＬＣ＃）の値は４で、合計値は２２になり、前回求めた値２０より大きくなるので、合計値の計算を終了する。
【００４４】
第１のメモリ領域１−１の大きさは、
５（求めた値）×６（ＰＣ＃の数）＝３０
となり、そのうち未使用領域の件数は７、アドレス領域の件数は２である。
【００４５】
物理装置ＰＣ＃＝０２（ＬＣ＃＝１２）と、ＰＣ＃＝０５（ＬＣ＃＝５）の装置情報について、第２のメモリ領域１−２が確保される。
【００４６】
次に、本発明の第２の実施例について図面を参照して詳細に説明する。
【００４７】
図３を参照すると、本発明の第２の実施例は、確保するメモリ領域を最適化するための値の決定方法で異なる。各ＰＣ＃毎のＬＣ＃の値を決定する際に、メモリ領域１−１内の未使用領域の件数とメモリ領域１−２に格納される件数は考慮せず、各ＰＣ＃毎のＬＣ＃の最大値を比較し、降順に並び替えてＬＣ＃の個数の半分の位置にあるＬＣ＃の値を採用する。
【００４８】
ＬＣ＃の個数が偶数の場合は降順に並び替えたＬＣ＃の個数の半分の位置にある２つの値のうち大きい値を採用する。
【００４９】
次に、図３を参照して、本発明の第２の実施例の全体の動作について詳細に説明する。
【００５０】
まず、ステップＳ２１にて装置構成を解析し各ＰＣ＃毎のＬＣ＃の最大値を取得する。取得した各ＬＣ＃はＳ２２で降順に並び替える。その際、ＬＣ＃が同じ値ならば一つとみなす。
【００５１】
ステップＳ２３で、取得したＬＣ＃の数Ｓの奇数、偶数を判断し、奇数の場合、ステップＳ２４にて、（Ｓ＋１）／２を、メモリ領域２−１の各ＰＣ＃毎の格納件数とする。
【００５２】
取得したＬＣ＃の数Ｓが偶数の場合、ステップＳ２５において、Ｓ／２をメモリ領域２−１の各ＰＣ＃毎の格納件数とする。
【００５３】
これによりメモリ領域２−１を確保するための各ＰＣ＃毎の格納件数を決定する処理が速くなるが、装置構成によってはメモリ使用効率が本発明よりも最適でない場合がある。
【００５４】
次に、具体例について説明する。
【００５５】
図４に示すような装置構成の場合、各ＰＣ＃毎のＬＣ＃の最大値はそれぞれ５、１、１２、３、４、７で、これを降順に並び替えると、１２、７、５、４、３、１となる。
【００５６】
降順に並び替えたＬＣ＃の個数Ｓ＝６の半分の位置にあるＬＣ＃の値は、５と４である。この場合、大きい方の値５を採用する。
【００５７】
【発明の効果】
以上説明したように、本発明によれば、従来のメモリ管理方法と較べて、メモリ領域内の未使用領域を減らすことができ、メモリ使用効率を最適化できる、という効果を奏する。
【００５８】
また本発明によれば、各物理装置番号（ＰＣ＃）毎のメモリ領域が同じ大きさ（共通のサイズ）であるため、メモリ領域内へのアクセス方法に、既存の方法を流用することができる、という利点も有している。
【図面の簡単な説明】
【図１】本発明の一実施例を説明するための図である。
【図２】本発明の一実施例の処理手順を説明するための流れ図である。
【図３】本発明の他の実施例の処理手順を説明するための流れ図である。
【図４】本発明の一実施例を具体的に説明するための図である。
【図５】従来のメモリ管理を説明するための図である。
【符号の説明】
１、２  装置構成情報
１−１、２−１  第１のメモリ領域
１−２  第２のメモリ領域
【図１】
0003616567.tif 000002
【図２】
0003616567.tif 000003
【図３】
0003616567.tif 000004
【図４】
0003616567.tif 000005
【図５】
0003616567.tif 000006