(57)【特許請求の範囲】
【請求項１】
ストレージリソースの階層化管理方法であって、
ストレージスペースを計画し、
アドレス管理インデックスを作成し、
前記インデックス及びデータのタイプに応じて、データを格納し、又はデータを読み取り、
前記インデックス及びデータのタイプに応じてデータを格納するステップでは、定期更新のデータに対して、
データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、
同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、
同一の送信主体から送信されたデータが既に格納されている場合、その送信主体から送信されたデータが格納されているディストリクトのディストリクト番号を検索し、検出されたディストリクト番号とデータを格納しようとするディストリクトのディストリクト番号として確定されたディストリクト番号とを比較し、検出されたディストリクト番号と確定されたディストリクト番号が同じである場合には、受信したデータを、同一の送信主体から送信されたデータが格納されていると検出された位置に格納し、検出されたディストリクト番号と確定されたディストリクト番号が同じではない場合には、その送信主体から送信されたデータが格納されていない場合と同一の方法に従ってデータを格納する
ストレージリソースの階層化管理方法。
【請求項２】
前記ストレージスペースを計画するステップでは、
ストレージスペースを互いにサイズが異なる複数のディストリクトに、各ディストリクトのサイズが漸次大きくなるように分割し、複数のディストリクトのそれぞれを複数のセグメントに、同一のディストリクトに属する各セグメントが同一のサイズとなるように分割する
請求項１に記載の方法。
【請求項３】
前記アドレス管理インデックスを作成するステップでは、
２つのランダムアクセスメモリを選択し、
前記２つのランダムアクセスメモリの一方を用いて、送信主体から送信されたデータのストレージステータスフラグ並びに格納されているデータに関連付けられたディストリクト番号及びセグメント番号を記録し、
前記２つのランダムアクセスメモリの他方を用いて、複数のディストリクトの全てに含まれる複数のセグメントの全てのストレージステータスフラグを記録する
請求項１又は２に記載の方法。
【請求項４】
前記インデックス及びデータのタイプに応じてデータを格納するステップでは、不定期更新のデータに対して、
データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、
同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、
同一の送信主体から送信されたデータが既に格納されている場合、データを格納しようとするディストリクトのディストリクト番号として確定されたディストリクト番号に応じて、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納する
請求項３に記載の方法。
【請求項５】
前記インデックス及びデータのタイプに応じてデータを読取るステップでは、不定期更新のデータに対して、
読み取ろうとするデータの送信主体の識別子に応じて、アドレス管理インデックスランダムアクセスメモリにおけるデータの格納位置を検索し、
データの格納位置に応じてデータを読み出し、
前記ランダムアクセスメモリにおけるデータの格納位置を記録するためのディストリクト番号及びセグメント番号をクリアし、
もう１つのアドレス管理インデックスランダムアクセスメモリにおける、データのストレージステータスを表示するセグメントストレージステータスフラグを未設定に変更する
請求項４に記載の方法。
【請求項６】
ストレージリソースの階層化管理システムであって、
メモリのストレージスペースを計画するアドレス計画ユニットと、
計画されたストレージスペースのためにアドレス管理インデックスを作成するアドレスインデックスユニットと、
前記アドレスインデックスユニットによって作成された前記インデックス及びデータのタイプに応じて、データを格納するデータ格納処理ユニットと、
前記アドレスインデックスユニットによって作成された前記インデックス及びデータのタイプに応じてデータを読み取り、その後、前記アドレスインデックスユニットにおける前記インデックスを更新するデータ読み取り処理ユニットと
を含み、
前記データ格納処理ユニットは、定期更新のデータに対して、
データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、
同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、
同一の送信主体から送信されたデータが既に格納されている場合、その送信主体から送信されたデータが格納されているディストリクトのディストリクト番号を検索し、検出されたディストリクト番号とデータを格納しようとするディストリクトのディストリクト番号とを比較し、検出されたディストリクト番号と確定されたディストリクト番号が同じである場合には、受信したデータを、同一の送信主体から送信されたデータが格納されていると検出された位置に格納し、検出されたディストリクト番号と確定されたディストリクト番号が同じではない場合には、その送信主体から送信されたデータが格納されていない場合と同一の方法に従ってデータを格納する
ストレージリソースの階層化管理システム。
【請求項７】
前記アドレス計画ユニットは、前記ストレージスペースを互いにサイズが異なる複数のディストリクトに、各ディストリクトのサイズが漸次大きくなるように分割し、前記複数のディストリクトのそれぞれを複数のセグメントに、同一のディストリクトに属する各セグメントのサイズが同一となるように分割する
請求項６に記載のシステム。
【請求項８】
前記アドレスインデックスユニットは、
２つのランダムアクセスメモリを選択し、前記２つのランダムアクセスメモリの一方を用いて、送信主体から送信されたデータのストレージステータスフラグ、並びに格納されたデータに関連付けられたディストリクト番号及びセグメント番号を記録し、前記２つのランダムアクセスメモリの他方を用いて、複数のディストリクトの全てに含まれる複数のセグメントの全てのストレージステータスフラグを記録する
請求項６又は７に記載のシステム。
【請求項９】
前記データ格納処理ユニットは、不定期更新のデータに対して、
データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、
同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、
同一の送信主体から送信されたデータが既に格納されている場合、データを格納しようとするディストリクトのディストリクト番号として確定されたディストリクト番号に応じて、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納する
請求項８に記載のシステム。
【請求項１０】
前記データ読み取り処理ユニットは、
不定期更新のデータに対して、読み取ろうとするデータの送信主体の識別子に応じて、前記アドレスインデックスユニットにおけるデータの位置を検索し、
データの格納位置に応じてデータを読み出し、
前記アドレスインデックスユニットにおける、データの格納位置を記録するためのディストリクト番号及びセグメント番号をクリアし、
前記アドレスインデックスユニットにおける、データのストレージステータスを表示するセグメントストレージステータスフラグを未設定に変更する
請求項８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージリソースの管理技術に関し、特に、ストレージリソースの階層化管理方法及びシステムに関する。
【背景技術】
【０００２】
デジタル論理設計においては、広帯域符号分割多重アクセス（ＷＣＤＭＡ：Wideband Code Division Multiple Access）の高速アップリンクパケットアクセス（ＨＳＵＰＡ：High Speed Uplink Packet Access）サービスのような、大量データのストレージに係わることが多い。
【０００３】
しかし、ハードウェアストレージは、ソフトウェアストレージほど柔軟でなく、且つデジタル論理設計におけるメモリチップの価格が非常に高い。データストレージ量が巨大である設計において、データの各セグメントが最大空間に格納されると、設計が簡単だが、ストレージリソースは多量に浪費される。
【０００４】
現在、ストレージ管理においてストレージは、デジタル論理設計におけるデータストレージメカニズムと全く異なり、主にオペレーティング・システムを介してソフトウェアによって管理される。したがって、このようなソフトウェア管理方式は、デジタル論理設計に適用されていない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これに鑑みて、本発明の主な目的は、ストレージスペースを更に節約することができ、異なるサイズのデータのストレージ要求に適する、ストレージリソースの階層化管理方法及びシステムを提供することにある。
【課題を解決するための手段】
【０００６】
前記目的を達成するように、本発明の技術的スキームは、下記のように実現される。
【０００７】
本発明は、ストレージスペースを計画し、アドレス管理インデックスを作成し、前記インデックス及びデータのタイプに応じて、データを格納する又はデータを読み取るステップを含むストレージリソースの階層化管理方法を提供する。
【０００８】
前記スキームにおいて、ストレージスペースを計画するステップでは、ストレージスペースを互いにサイズが異なる複数のディストリクトに、各ディストリクトのサイズが漸次大きくなるように分割し、複数のディストリクトのそれぞれを複数のセグメントに、同一のディストリクトに属する各セグメントが同一のサイズとなるように分割する。
【０００９】
前記スキームにおいて、前記アドレス管理インデックスを作成するステップでは、２つのランダムアクセスメモリを選択し、前記２つのランダムアクセスメモリの一方を用いて、送信主体から送信されたデータのストレージステータスフラグ、並びに格納されているデータに関連付けられたディストリクト番号及びセグメント番号を記録し、前記２つのランダムアクセスメモリの他方を用いて、複数のディストリクトの全てに含まれる複数のセグメントの全てのストレージステータスフラグを記録する。
【００１０】
前記スキームにおいて、前記インデックス及びデータのタイプに応じてデータを格納するステップでは、定期更新のデータに対して、データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、同一の送信主体から送信されたデータが既に格納されている場合、その送信主体から送信されたデータが格納されているディストリクトのディストリクト番号を検索し、検出されたディストリクト番号とデータを格納しようとするディストリクトのディストリクト番号とを比較し、検出されたディストリクト番号と確定されたディストリクト番号が同じである場合には、受信したデータを、同一の送信主体から送信されたデータが格納されていると検出された位置に格納し、検出されたディストリクト番号と確定されたディストリクト番号が同じではない場合には、その送信主体から送信されたデータが格納されない場合と同一の方法に従ってデータ格納する。
【００１１】
前記スキームにおいて、前記インデックス及びデータのタイプに応じてデータを格納するステップは、不定期更新のデータに対して、データのサイズに応じて、データを格納しようとするディストリクトのディストリクト番号を確定し、データの送信主体から送信されたデータのストレージステータスフラグを検索し、同一の送信主体から送信されたデータが格納されていない場合、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納し、同一の送信主体から送信されたデータが既に格納されている場合、データを格納しようとするディストリクトのディストリクト番号として確定されたディストリクト番号に応じて、何らのデータも格納されていない最初のセグメントを検索し、検出されたセグメントにデータを格納する。
【００１２】
前記スキームにおいて、前記インデックス及びデータのタイプに応じてデータを読取るステップでは、不定期更新のデータに対して、読み取ろうとするデータの送信主体の識別子に応じて、アドレス管理インデックスランダムアクセスメモリにおけるデータの格納位置をインデックスし、データの格納位置に応じてデータを読み出し、前記ランダムアクセスメモリにおける、データの格納位置を記録するためのディストリクト番号及びセグメント番号をクリアし、もう１つのアドレス管理インデックスランダムアクセスメモリにおけるデータのストレージステータスを表示するセグメントストレージステータスフラグを未設定に変更する。
【００１３】
本発明に係るストレージリソースの階層化管理システムは、
メモリのストレージスペースを計画するアドレス計画ユニットと、
計画されたストレージスペースのためにアドレス管理インデックスを作成するアドレスインデックスユニットと、
前記アドレスインデックスユニットによって作成された前記インデックス及びデータのタイプに応じてデータを格納するデータ格納処理ユニットと、
前記アドレスインデックスユニットによって作成された前記インデックス及びデータのタイプに応じて、データを読み取り、その後、前記アドレスインデックスユニットにおける前記インデックスを更新するデータ読み取り処理ユニットとを含む。
【００１４】
上記から理解されるように、本発明の方法及びシステムを利用することで、ストレージスペースを異なるスペースに分割し、要求に応じて、異なるサイズのストレージスペースを割り当て、異なるサイズのデータのストレージ要求を満たすことができる。また、利用過程において、ストレージスペースのストレージステータスをリアルタイムに記録して、ストレージスペースのリリースを柔軟に行うことができる。これにより、ストレージスペースを更に節約して、ストレージリソースの浪費を回避することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明のストレージリソースの階層化管理を実現する方法のフローチャートである。
【図２】本発明のストレージリソースの階層化管理を実現するシステムの構造図である。
【発明を実施するための形態】
【００１６】
本発明の基本的な着想は、ストレージスペースに対してアドレス計画を行い、そしてアドレス管理インデックスを作成し、インデックス及びデータのタイプに応じて受信したデータを格納することである。
【００１７】
ここで、データのタイプは、定期更新のデータと不定期更新のデータに分けることができる。定期更新のデータとは、ストレージスペースに格納されたデータが、所定の時間経過後に読み出され、このストレージスペースは解放されて再び利用可能となり、新規データが前に書き込まれたデータを上書きできるものを指す。
【００１８】
不定期更新のデータとは、ストレージスペースに格納されたデータが、読み出される時間が決められておらず、このデータが読み出されるまで、このデータストレージスペースを再び利用できず、新規データが以前のデータを上書きすることができないものを指す。
【００１９】
以下、具体的な実施形態及び図面を参照して本発明を詳しく説明する。図１に示されるように、本発明のストレージリソースの階層化管理を実現する方法は、下記のようなステップを含む。
【００２０】
ステップ１０１では、ストレージスペースに対してアドレス計画を行い、そしてアドレス管理インデックスを作成する。
ここで、アドレス計画の具体的なプロセスでは、データを格納するためのストレージスペースをｎ個の異なるサイズのディストリクトに分割し、各ディストリクトをディストリクト番号「ｄｉｓ＿ｎｕｍ」で表す。「ｄｉｓ＿１」は１番目のディストリクトを表し、「ｄｉｓ＿ｎ」はｎ番目のディストリクトを表す。
【００２１】
各ディストリクトのサイズは次のディストリクトのサイズより小さく、即ち、各ディストリクトのサイズが漸増するようにストレージスペースを分割する。各ディストリクトサイズは設計要求に応じて柔軟に配置可能である。
【００２２】
さらに、各ディストリクトをｍ個のセグメントに分割し、各セグメントをセグメント番号「ｓｅｇ＿ｎ＿ｍ」で表す。「ｓｅｇ＿１＿１」は１番目のディストリクトの１番目のセグメントを表す。同一ディストリクトのセグメントのサイズは同じとする。
【００２３】
異なるストレージスペースは、データ送信主体の識別子「ｕｓｅｒ＿ｉｄ」に従って割り当てられ、各データ送信主体に割り当てられるストレージスペースの数は手動で決定される。
【００２４】
アドレス管理インデックスを作成する具体的なプロセスは、２つのランダムアクセスメモリ（ＲＡＭ：Random Access Memory）を選択し、１つのＲＡＭに、ストレージステータスフラグを記録するように構成されたＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」を付する。ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」はデータ送信主体から送信されたデータの割り当て番号「ａｓｓｉｇｎ＿ｅｎ」で表される。
【００２５】
割り当て番号「ａｓｓｉｇｎ＿ｅｎ」がセットされていない（即ち、値が０）場合、データが格納されていないことを表し、セットされている（即ち、値が１）場合、データが既に格納されていることを表す。
【００２６】
そしてＲＡＭも、ディストリクト番号「ｄｉｓ＿ｎｕｍ」、セグメント番号「ｓｅｇ＿ｎ＿ｍ」等のデータの格納位置を記録するように構成されている。
【００２７】
さらに、もう１つのＲＡＭにＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」を付する。ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」はストレージステータスフラグを記録するように構成され、全ディストリクトにおける全セグメントのセグメント割り当て番号「ｓｅｇ＿ａｓｓｉｇｎ＿ｅｎ」で表される。セグメント割り当て番号「ｓｅｇ＿ａｓｓｉｇｎ＿ｅｎ」は、セットされている（即ち、値が１）場合、データが既に格納されていることを示し、セットされていない（即ち、値が０）場合、データが格納されていないことを示す。
【００２８】
ステップ１０２では、受信したデータが、定期更新のデータであるかどうかを確定し、定期更新のデータである場合にはステップ１０３を実行し、不定期更新のデータである場合にはステップ１０４を実行する。
【００２９】
本発明には、定期更新のデータの格納と不定期更新のデータの格納という２つの適用場面がある。一般的には、システムはデータを受信する前に、現在受信しているデータが定期更新のデータであるか、あるいは、不定期更新のデータであるかを認識できる。
【００３０】
ステップ１０３では、定期更新のデータの格納方法を用いて、受信したデータを格納し、処理プロセスを終了する。ここで、定期更新のデータの格納方法は、受信したデータのサイズに応じて、格納しようとするディストリクト番号「ｄｉｓ＿ｎｕｍ」を確定する。受信したデータには、データ送信主体の識別子「ｕｓｅｒ＿ｉｄ」が含まれている。そして、識別子「ｕｓｅｒ＿ｉｄ」に応じて、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」に含まれる、当該識別子「ｕｓｅｒ＿ｉｄ」に対応する割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を検索する。
【００３１】
割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が０である場合、それは当該識別子「ｕｓｅｒ＿ｉｄ」のデータが格納されていないことを示し、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」は、データを格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」に応じてインデックスする。
【００３２】
そして、データを格納しようとするディストリクトのディストリクト番号に対応するセグメントにおいて、何らのデータも格納されていないセグメント、即ち、値が０であるセグメントを検出する。
【００３３】
そして、データを当該セグメントに書き込み、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該ディストリクト中の当該セグメント番号と、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における当該識別子「ｕｓｅｒ＿ｉｄ」に対応する割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を１と設定する。
【００３４】
そして、ディストリクト番号「ｄｉｓ＿ｎｕｍ」とセグメント番号「ｓｅｇ＿ｎ＿ｍ」を用いてデータの格納位置を記録する。例えば、データが２番目のディストリクトの３番目のセグメントに格納されるとすると、ディストリクト番号「ｄｉｓ＿ｎｕｍ」は「ｄｉｓ＿２」となり、セグメント番号「ｓｅｇ＿ｎ＿ｍ」は「ｓｅｇ＿２＿３」となる。
【００３５】
割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が１である場合、それは当該識別子「ｕｓｅｒ＿ｉｄ」のデータが既に格納されていることを示し、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における当該識別子「ｕｓｅｒ＿ｉｄ」のデータを格納したディストリクト番号「ｄｉｓ＿ｎｕｍ」が、確定されたディストリクト番号「ｄｉｓ＿ｎｕｍ」と検出されたディストリクト番号「ｄｉｓ＿ｎｕｍ」を比較するために検索される。
【００３６】
確定されたディストリクト番号「ｄｉｓ＿ｎｕｍ」と検出されたディストリクト番号「ｄｉｓ＿ｎｕｍ」が同じである場合、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における記録に応じて、受信したデータを識別子「ｕｓｅｒ＿ｉｄ」の、検出されたデータの格納位置に格納し、元のデータを上書きする。
【００３７】
一方、確定されたディストリクト番号「ｄｉｓ＿ｎｕｍ」と検出されたディストリクト番号「ｄｉｓ＿ｎｕｍ」が同じではない場合、識別子「ｕｓｅｒ＿ｉｄ」のデータが格納されていない場合の方法に応じて、データが格納される。そして、検出されたディストリクト番号「ｄｉｓ＿ｎｕｍ」、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における対応するセグメント番号「ｓｅｇ＿ｎ＿ｍ」及びＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における元のデータのストレージステータスフラグを未設定に変更する。
【００３８】
ステップ１０４では、不定期更新のデータの格納方法に応じて、受信したデータを格納する。ここで、不定期更新のデータの格納方法は、受信したデータのサイズに応じて、ディストリクト番号「ｄｉｓ＿ｎｕｍ」を確定し、識別子「ｕｓｅｒ＿ｉｄ」に応じて、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における当該識別子「ｕｓｅｒ＿ｉｄ」に対応する割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を検索する。
【００３９】
割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が０である場合、当該識別子「ｕｓｅｒ＿ｉｄ」のデータが格納されていないことを示し、データを格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」に応じてＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」をインデックスする。
【００４０】
当該ディストリクト番号「ｄｉｓ＿ｎｕｍ」に対応するセグメント番号「ｓｅｇ＿ｎ＿ｍ」における、何らのデータも格納されていない最初のセグメントを検出する。データを当該セグメントに書き込み、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」におけるディストリクト番号「ｄｉｓ＿ｎｕｍ」とＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における割り当て番号「ａｓｓｉｇｎ＿ｅｎ」の値を設定する。そして、ディストリクト番号「ｄｉｓ＿ｎｕｍ」とセグメント番号「ｓｅｇ＿ｎ＿ｍ」を利用して、データの格納位置を記録する。
【００４１】
割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が１である場合、データを格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」に応じてＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」をインデックスする。そして、そのディストリクト番号「ｄｉｓ＿ｎｕｍ」に対応するセグメントにおける、何らのデータも格納されていない最初のセグメントを検出する。
【００４２】
データを当該セグメントに格納するとともに、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該ディストリクト番号「ｄｉｓ＿ｎｕｍ」の当該セグメントを設定し、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」において当該識別子「ｕｓｅｒ＿ｉｄ」に「ａｓｓｉｇｎ＿ｅｎ１」を追加して１と設定し、そしてデータの格納位置を表示するディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」を記録する。
【００４３】
データを読取ってアドレス管理インデックスを更新した場合、もしそのデータが定期更新のデータであれば、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」におけるデータの位置、即ち、データが位置するセグメント番号「ｓｅｇ＿ｎ＿ｍ」及びディストリクト番号「ｄｉｓ＿ｎｕｍ」を、読み取ろうとするデータの識別子「ｕｓｅｒ＿ｉｄ」に応じてインデックスし、対応する位置に応じてデータを直接に読み出す。
【００４４】
もしデータが不定期更新のデータである場合、データの識別子「ｕｓｅｒ＿ｉｄ」に応じてＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」におけるデータの位置をインデックスし、データの位置に応じてデータを読み出す。
【００４５】
そして、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における識別子「ｕｓｅｒ＿ｉｄ」に対応するディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」をクリアし、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」におけるセグメント番号「ｓｅｇ＿ｎ＿ｍ」を未設定、即ち、数値０に変更する。
【００４６】
本発明は、ストレージリソースの階層化管理システムを更に提供する。図２に示されるように、当該システムは、アドレス計画ユニット２０１と、アドレスインデックスユニット２０２と、データ格納処理ユニット２０３と、データ読み取り処理ユニット２０４とを含む。
【００４７】
アドレス計画ユニット２０１は、メモリのストレージスペースを計画する。アドレスインデックスユニット２０２は、計画されたストレージスペースのためにアドレス管理インデックスを作成し、ストレージスペースのストレージステータスを記録する。データ格納処理ユニット２０３は、アドレスインデックスユニット２０２によって作成されたインデックス及びデータのタイプに応じてデータを格納する。データ読み取り処理ユニット２０４は、アドレスインデックスユニット２０２におけるアドレスインデックスに応じてデータを読み取り、アドレスインデックスユニット２０２におけるアドレスインデックスを更新する。
【００４８】
アドレス計画ユニット２０１は、具体的には、ストレージスペースをｎ個の異なるサイズのディストリクトに分割する。ディストリクトは、ディストリクト番号「ｄｉｓ＿ｎｕｍ」によって識別される。各ディストリクトは、サイズが漸次大きくなるように分割されるが、そのサイズは設計要求に応じて柔軟に分割することが可能である。アドレス計画ユニット２０１は、各ディストリクトをｍ個のセグメントに分割する。、セグメントは、セグメント番号「ｓｅｇ＿ｎ＿ｍ」によって識別される。各セグメントは、同一のディストリクトに含まれるセグメントのサイズが同じとなるように分割される。
【００４９】
アドレスインデックスユニット２０２は、具体的には、２つのＲＡＭを選択し、１つのＲＡＭに、送信主体から送信されたデータのＲＡＭセグメント番号「ａｓｓｉｇｎ＿ｅｎ」によって表されるストレージステータスフラグを記録するＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」を付する。ＲＡＭセグメント番号「ａｓｓｉｇｎ＿ｅｎ」が未設定であり、即ち、その値が０である場合、データが格納されていないことを表し、割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が設定され、即ち、その値が１である場合、データが格納されていることを表す。データの格納位置はディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」によって記録する。
【００５０】
アドレスインデックスユニット２０２は、さらに、他方のＲＡＭに、全てのディストリクトに含まれる全てのセグメントのセグメント割り当て番号「ｓｅｇ＿ａｓｓｉｇｎ＿ｅｎ」によって表されるストレージステータスフラグを記録するＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」を付する。、セグメント割り当て番号「ｓｅｇ＿ａｓｓｉｇｎ＿ｅｎ」は、設定されている場合、即ちその値が１の場合、データが格納されていることを示し、設定されていない場合、即ちその値が０の場合、データが格納されていないことを示す。
【００５１】
データ格納処理ユニット２０３は、具体的には、定期更新のデータに対して、データを格納しようとするディストリクトのディストリクト番号を確定する。そして、受信したデータに含まれるデータ送信主体の識別子「ｕｓｅｒ＿ｉｄ」に応じて、アドレスインデックスユニット２０２のＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における識別子「ｕｓｅｒ＿ｉｄ」に対応する割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を検索する。
【００５２】
データ格納処理ユニット２０３は、データが未格納、即ち、割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が０である場合、検出された、データを格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」に応じて、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」をインデックスする。データ格納処理ユニット２０３は、当該ディストリクト番号「ｄｉｓ＿ｎｕｍ」に対応するセグメントにおける、何らのデータも格納されていない（即ち、値が０の）セグメントを検出し、データを当該セグメントに書き込む。
【００５３】
データ格納処理ユニット２０３は、さらに、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該セグメントのストレージステータスフラグを設定し、アドレスインデックスユニット２０２のＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を設定する。データ格納処理ユニット２０３は、ディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」を利用してデータの格納位置を記録する。
【００５４】
データ格納処理ユニット２０３は、データが格納され、即ち、割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が１である場合、受信したデータにおける識別子「ｕｓｅｒ＿ｉｄ」に応じて、アドレスインデックスユニット２０２のＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における、識別子「ｕｓｅｒ＿ｉｄ」のデータを格納するディストリクト番号「ｄｉｓ＿ｎｕｍ」をインデックスする。
【００５５】
データ格納処理ユニット２０３は、データを格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」と、検出されたディストリクト番号を比較する。これらが同じである場合、データ格納処理ユニット２０３は、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における記録に応じて、検出された識別子「ｕｓｅｒ＿ｉｄ」のデータの格納位置において、元のデータを上書きする。
【００５６】
同じではない場合、データ格納処理ユニット２０３は、送信主体から送信されたデータが格納されていない場合の方法に応じて、データを格納するとともに、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」において検出した識別子「ｕｓｅｒ＿ｉｄ」の割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を未設定に変更する。そしてデータ格納処理ユニット２０３は、データの格納位置を記録するディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」をクリアする。また、データ格納処理ユニット２０３は、アドレスインデックスユニット２０２のＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における、元のデータを格納したセグメントのストレージステータスフラグを未設定に変更する。
【００５７】
データ格納処理ユニット２０３は、不定期更新のデータに対しては、受信したデータのサイズに応じて、データ格納しようとするディストリクトのディストリクト番号「ｄｉｓ＿ｎｕｍ」を確定する。データ格納処理ユニット２０３は、識別子「ｕｓｅｒ＿ｉｄ」に応じて、アドレスインデックスユニット２０２のＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における識別子「ｕｓｅｒ＿ｉｄ」に対応する割り当て番号「ａｓｓｉｇｎ＿ｅｎ」を検索する。データが未格納、即ち、セグメント割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が０である場合、データ格納処理ユニット２０３は、データを格納しようとするディストリクトのディストリクト番号に応じて、アドレスインデックスユニット２０２のＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」をインデックスする。
【００５８】
データ格納処理ユニット２０３は、当該ディストリクト番号における、何らのデータも格納されていない最初のセグメントを検索し、データを当該セグメントに格納する。また、データ格納処理ユニット２０３は、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該セグメントのストレージステータスフラグ及びＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における割り当て番号「ａｓｓｉｇｎ＿ｅｎ」の値を設定する。
【００５９】
さらに、データ格納処理ユニット２０３は、データの格納位置を記録し、データが格納され、即ち、割り当て番号「ａｓｓｉｇｎ＿ｅｎ」が１である場合、データを格納しようとするディストリクトのディストリクト番号に応じて、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」をインデックスする。データ格納処理ユニット２０３は、当該ディストリクト番号における、何らのデータも格納されていない最初のセグメントを検索し、データを当該セグメントに格納し、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該セグメントのストレージステータスフラグを設定する。
【００６０】
また、データ格納処理ユニット２０３は、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」において、識別子「ｕｓｅｒ＿ｉｄ」に割り当て番号「ａｓｓｉｇｎ＿ｅｎ１」を追加して設定し、データの格納位置を記録し、割り当てる。
【００６１】
データ読み取り処理ユニット２０４は、具体的には、定期更新のデータに対して、読み取ろうとするデータの識別子「ｕｓｅｒ＿ｉｄ」に応じて、アドレスインデックスユニット２０２のＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」におけるデータの格納位置を検索し、検出された位置に応じてデータを直接に読み出す。
【００６２】
データ読み取り処理ユニット２０４は、不定期更新のデータに対しては、読取ろうとするデータの識別子「ｕｓｅｒ＿ｉｄ」に応じて、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」におけるデータの格納位置を検索する。データ読み取り処理ユニット２０４は、データの格納位置に応じてデータを読み出すとともに、ＲＡＭ割り当て「ＲＡＭ＿ａｓｓｉｇｎ」における識別子「ｕｓｅｒ＿ｉｄ」に対応するデータの格納位置を記録するディストリクト番号「ｄｉｓ＿ｎｕｍ」及びセグメント番号「ｓｅｇ＿ｎ＿ｍ」をクリアする。データ読み取り処理ユニット２０４は、ＲＡＭセグメント番号「ＲＡＭ＿ｓｅｇ＿ｅｎ」における当該データのストレージステータスフラグを未設定に変更する。
【００６３】
以上の説明は、本発明の好適な実施形態に過ぎず、本発明を限定するものではない。当業者にとっては、本発明に基づく種々の変更と変形が可能である。本発明の趣旨及び範囲を逸脱することなく実施されたあらゆる修正、同等の置換及び改良等は、すべて本発明の保護範囲に属する。
【図１】
0005574464.tif 000002
【図２】
0005574464.tif 000003