(57)【要約】メモリマネージャーは、固定メモリブロックの予め定められた個数で、各メモリブロックは予め定義されたサイズで、管理されたメモリに動作する。これらの固定ブロックは、割り当てプロセスを加速するために初期化されている。メモリマネージャーが割り当て要請を受信するとき、要請のサイズは、予め定義されたサイズと比較される。メモリマネージャーが、固定メモリブロックがメモリ要請を取り扱うと決定する場合、メモリマネージャーは固定ブロックの一つを未決定のメモリ要請へ割り当てる。どの固定ブロックも要請を取り扱うために利用可能でない場合、メモリマネージャーはメモリをフリーメモリプールから割り当て得る。メモリマネージャーは、未決定の割り当て要請を満足する最適なフリーブロックを識別し割り当てるために、利用可能なフリーメモリブロックを調べる。
2008513911.tif 000002
【特許請求の範囲】
【請求項１】
メモリを管理するための、メモリマネージャープロセスであって、
固定メモリブロックのためサイズを予め定義することと、
同時に活発な該固定メモリブロックの個数を予め決定することと、
該メモリにおける該固定メモリブロックの個数を初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを、該固定メモリブロックのサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定メモリブロックの一つを割り当てることと
を包含する、メモリマネージャープロセス。
【請求項２】
フリーメモリとして前記メモリの一部分を予め定義することと、
前記比較に応答して、前記割り当て要請が、前記固定メモリブロックのサイズによって満足されないことを決定することと、
該割り当て要請にしたがって、該フリーメモリのブロックを割り当てることと
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項３】
前記フリーメモリ部分で複数のフリーメモリブロックを識別することと、
サイズにしたがって、該複数のフリーメモリブロックを分類することと、
前記割り当て要請を最適に満足するサイズを有する該フリーメモリブロックの一つを選択するために、分類されたブロックサイズを調べることと
をさらに含む、請求項２に記載のメモリマネージャープロセス。
【請求項４】
前記割り当て要請を最小限に満足するサイズを有する前記フリーメモリブロックの一つを選択するために、分類されたブロックサイズを調べること
をさらに含む、請求項３に記載のメモリマネージャープロセス。
【請求項５】
前記比較に応答して、前記割り当て要請が前記固定メモリブロックのサイズによって満足させられ得ることを決定すること
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項６】
前記比較に応答して、前記割り当て要請のサイズが前記固定メモリブロックのサイズと正確に等しいことを決定すること
をさらに含む、請求項５に記載のメモリマネージャープロセス。
【請求項７】
前記比較に応答して、前記割り当て要請のサイズが前記固定メモリブロックのサイズとほぼ等しいことを決定すること
をさらに含む、請求項５に記載のメモリマネージャープロセス。
【請求項８】
フリーメモリとして前記メモリの一部分を予め定義することと、
どの前記固定メモリブロックも割り当てられるのに利用できないことを決定することと、
前記割り当て要請にしたがって、該フリーメモリのブロックを割り当てることと
をさらに含む、請求項５に記載のメモリマネージャープロセス。
【請求項９】
第二の固定メモリブロックのために第二のサイズを予め定義することと、
同時に活発な該第二の固定メモリブロックの個数を予め決定することと、
該メモリにおける該第二の固定メモリブロックの個数を初期化することと、
前記割り当て要請のサイズを該第二の固定ブロックサイズと比較することと、
第二の比較に応答して、割り当て要請にしたがって、該第二の固定メモリブロックの一つを割り当てることと
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項１０】
前記固定メモリブロックのサイズが、無線モバイルハンドセットのディスプレイ上に表示するためのグラフィックな要素のためのサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１１】
前記固定メモリブロックのサイズが、無線モバイルハンドセット上でプレイするためオーディオ要素に対するサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１２】
前記固定メモリブロックのサイズが、無線モバイルハンドセットで使用するための呼び出し処理要素に対するサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１３】
メモリを管理するための、メモリマネージャープロセスであって、
該メモリの一部分をフリーメモリプールとして定義することと、
固定メモリブロックのためにサイズを定義することと、
同時に活発な該固定メモリブロックの個数を決定することと、
該メモリの中の該固定メモリブロックの個数を初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを該固定メモリブロックサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定メモリブロックの一つを割り当てることと、
否定的な比較に応答して、該割り当て要請にしたがって、該フリーメモリプールからブロックを割り当てることと
を包含する、メモリマネージャープロセス。
【請求項１４】
サイズにしたがって、前記フリーメモリプールの中のブロックを分類することと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べることと
をさらに含む、請求項１３に記載のメモリマネージャープロセス。
【請求項１５】
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、前記フリーメモリプールを調べること
をさらに含む、請求項１３に記載のメモリマネージャープロセス。
【請求項１６】
割り当てられた前記固定メモリブロックの割り当てを解除するために、通知を受信することと、
割り当てに対して利用可能であるとして該固定メモリブロックを識別することと
をさらに含む、請求項１３に記載のメモリマネージャープロセス。
【請求項１７】
割り当てられたフリーメモリブロックの割り当てを解除するために、通知を受信することと、
前記フリーメモリプールへ該フリーメモリブロックを戻すことと
をさらに含む、請求項１３に記載のメモリマネージャープロセス。
【請求項１８】
より大きな隣接するメモリブロックを形成するために、前記フリーメモリプールにおいて隣接する利用可能なブロックを併合すること
をさらに含む、請求項１７に記載のメモリマネージャープロセス。
【請求項１９】
サイズにしたがって、前記フリーメモリプールの中で、ブロックを分類すること
をさらに含む、請求項１７に記載のメモリマネージャープロセス。
【請求項２０】
ランダムアクセスメモリに対して、メモリ管理プロセスを動作するプロセッサであって、該プロセスが、
フリーメモリプールとしてメモリの一部分を識別することと、
メモリの中で、予め決定されたサイズで、予め定義された個数の固定メモリブロックを初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを該固定メモリブロックサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定メモリブロックの一つを割り当てることと、
否定的な比較に応答して、該割り当て要請にしたがって、該フリーメモリプールからブロックを割り当てることと
を包含する、プロセッサ。
【請求項２１】
サイズにしたがって、前記フリーメモリプールにおいて、ブロックを分類するステップと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べるステップと
をさらに行う、請求項２０に記載のプロセッサ。
【請求項２２】
ランダムアクセスメモリに対して、メモリ管理プロセスを動作する無線モバイルハンドセットであって、該プロセスが、
フリーメモリプールとしてメモリの一部分を識別することと、
該メモリの中で、予め決定されたサイズで、予め定義された個数の固定メモリブロックを初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを該固定メモリブロックサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定メモリブロックの一つを割り当てることと、
否定的な比較に応答して、該割り当て要請にしたがって、該フリーメモリプールからブロックを割り当てることと
を包含する、無線モバイルハンドセット。
【請求項２３】
サイズにしたがって、前記フリーメモリプールにおいて、ブロックを分類するステップと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べるステップと
をさらに行う、請求項２２に記載の無線モバイルハンドセット。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願は、同一出願人、同時係属中の米国特許出願第１０／９５６，４１１号、タイトル「ＭＥＭＯＲＹ  ＭＡＮＡＧＥＲ  ＦＯＲ  ＡＮ  ＥＭＢＥＤＤＥＤ  ＳＹＳＴＥＭ」に関連し、その全体は、参照することにより、本明細書に援用される。
【背景技術】
【０００２】
（背景）
本発明の分野は、電子デバイスのためのメモリリソースの管理である。さらに特別には、本発明は、埋め込まれたプロセッサとメモリシステムを有するデバイスに対してメモリを管理することに関連する。
【０００３】
多くの電子デバイスは、埋め込まれたプロセッサを使用している。例えば、モバイル電子デバイスはしばしば、デバイスを制御しユーザーにインターフェイスを提供するために、埋め込まれたプロセッサ、マイクロプロセッサ、または他の制御部を含む。さらに特別には、モバイル無線電話、パーソナルデータアシスタント、ＭＰ３プレーヤー、および、カメラのようなデバイスは、一般に、モニターリング、動作、および、これらのデバイスの使用のために、埋め込まれたプロセッサを含む。また、ＤＶＤプレーヤー、ＣＤプレーヤー、ステレオ装置、家電製品、自動車のような、多くの消費者デバイスは、埋め込まれた動作制御部を含む。これらのデバイスは、しばしば、コストを抑えるために、ＲＡＭメモリのように、限られたメモリを有する。また、これらのデバイスの埋め込まれた制御部は典型的には制限された処理能力を有し、プロセッサとメモリは超過処理パワーを避けるために注意深く選択されている。このような超過処理パワーは不必要にデバイスのコストを上昇させる。また、デバイスが携帯用かバッテリーパワーで動作する場合、このような超過処理パワーは少ないバッテリーパワーを排出させ熱問題を悪化させ得る。このようにして、埋め込まれたプロセッサの制限されたメモリと制限されたプロセッサパワーと単純な構造とは、コストに敏感で信頼できるデバイスを作るのに協力する。
【０００４】
モバイル無線ハンドセットは、埋め込まれたプロセッサと制限されたメモリシステムを有する携帯用デバイスの一例である。モバイル電話の埋め込まれたプロセッサは、呼び出し処理、診断、支援アプリケーションのために、アプリケーションを動作する。新しいモバイルハンドセットは、ますます複雑になり、位置と所在地との情報のためにＧＰＳ信号を受信し処理するのと同様に、高速データを送受信する能力を提供している。さらには、消費者は、もっと興味深く、もっと役に立つ可動式ハンドセットとの相互作用を要求している。例えば、現代のハンドセットはしばしば、ゲーム、音楽プレーヤー、予定管理ソフト、および、デジタルカメラを動作する。これら全ての新しいアプリケーションと必要条件は、増加するプレッシャーを埋め込まれたプロセッサとメモリとのシステムに置く。
【０００５】
ユーザーアプリケーションまたはオペレーティングシステムアプリケーションのようなアプリケーションは、実行するまたはデータを記憶するためにメモリスペースを必要とする。デバイス上のメモリスペースは制限されているので、アプリケーションが追加のメモリスペースを要請するのに従い、メモリは各アプリケーションへ動的に割り当てられる。他のプロセッサと同じように、埋め込まれたプロセッサは、一般にメモリリソースを管理するためにメモリマネージャーを使用する。アプリケーションが追加のメモリスペースを必要とするとき、アプリケーションはメモリ割り当て要請をメモリマネージャーに作成する。メモリマネージャーは、典型的には要請よりも大きいフリーメモリの区分を設置し、要請されたメモリをアプリケーションへ割り当てる。アプリケーションが終了するとき、または、アプリケーションがもはやメモリを必要としないとき、アプリケーションはメモリマネージャーへ、メモリスペースが割り当て解除され得ることを通知する。メモリマネージャーはメモリをメモリプールへ戻し、そこでは、将来の割り当てのためにメモリが利用可能となる。
【０００６】
メモリマネージャーは典型的にはメモリを多くの同時発生するプロセスとアプリケーションとに割り当て、引き続き、ブロックを利用可能なメモリプールへ戻す。メモリ要請と割り当ては様々なサイズで、極めてランダムなので、時間につれてメモリは細分化され不十分に利用される。例えば、メモリマネージャーが８５０バイトの割り当て要請を受信した場合、それはメモリプールに１ｋ（１０２４）バイトのフリーメモリブロックを見出し得る。メモリマネージャーは、メモリ要請に対処するために８５０バイトを割り当て、たった１７４バイトの小さなフリーブロックをそのままにしておく。非常に小さな割り当て要請が受信されない場合は、これらの１７４バイトは使用されることはない。メモリマネージャーはかなりの処理リソースを、メモリリソースの管理と回収とのために費やさなければならないが、そのような努力をしても、メモリシステムは不十分に利用され細分化されたままでいる。
【発明の開示】
【課題を解決するための手段】
【０００７】
（概要）
簡単に、本発明は、各メモリブロックが予め定義されたサイズに設定された、予め決定された個数の固定メモリブロックに配列されたメモリに作用するメモリマネージャーを提供する。これらの固定ブロックは、割り当てプロセスを加速するように初期化されている。メモリマネージャーが割り当て要請を受信するとき、要請のサイズは予め定義されたサイズと比較される。メモリマネージャーが、固定メモリブロックがメモリ要請に対処すると決定する場合、メモリマネージャーは、未決定のメモリ要請へ固定ブロックの一つを割り当てる。どの固定ブロックも要請を取り扱うのに利用可能でない場合、メモリマネージャーはフリーメモリプールからメモリを割り当て得る。メモリマネージャーは、未決定の割り当て要請を満足させる最適なフリーブロックを識別し割り当てるために、利用可能なフリーメモリブロックを調べ得る。
【０００８】
一つの例では、メモリマネージャーは、携帯用デバイスの制限されたメモリシステムを管理するために、埋め込まれたプロセッサに動作する。メモリシステムは固定メモリ部分とフリーメモリ部分とを有し、それらは、アプリケーションとデバイス必要条件にしたがって大きさを分けられる。固定メモリ部分は、期待される割り当て要請のサイズと個数にしたがって、予め定義されたサイズのメモリのブロックを有する。このようにして、受信された割り当て要請の多くは、予め初期化された固定ブロックの一つを割り当てることによって効率的に満足させられる。他の要請は、フリーメモリ部分から満足させられ得、その場合、メモリマネージャーは、未決定の要請に対処する最も小さなフリーブロックを見付けるためにフリーメモリブロックのリストを調べる。効率は、大きさにしたがってリストを予め分類することによって、増大する。
【０００９】
有利なことには、新しいメモリマネージャーは、メモリの、より速く、より能率的で、より有効な割り当てを提供する。これらの有利さは、携帯用バッテリー動力付の無線ハンドセットのような、制限された処理およびメモリ資産で動作するデバイスにおいて、特に明らかである。プロセッサとメモリ資産をより良く利用することによって、デバイスは、もっと信頼できるように動作し、もっと洗練されたアプリケーションをサポートするようになる。
【発明を実施するための最良の形態】
【００１０】
図１を参照すると、メモリマネージャーシステム１０が図示されている。メモリマネージャー１０は、携帯用電子デバイス１２上で動作し、デバイスがその限られた処理とメモリ資産を有効に利用することを可能とする。電子デバイス１２は例えば、埋め込まれたプロセッサ１６とランダムアクセスメモリ１８とを有する携帯用電子デバイスであり得る。メモリマネージャーシステム１０は携帯用電子デバイスを参照して記述されているが、メモリマネージャーは他のプロセッサシステムと計算デバイスで使用され得ることが理解される。多くの電子デバイスのように、電子デバイス１２がそのプロセッサとメモリリソースとを有効に使用することは重要である。これを達成するために、デバイスのメモリの必要条件は、予め定められ、メモリ必要条件１４のセットとして提供される。これらのメモリ必要条件１４を成立させることによって、デバイスの特別なメモリの必要にしたがって、物理的メモリ１８は特別に配列される。これらのメモリ必要条件１４は、前もって設計者によって設定され、または、実際の動作上の経験にしたがって、デバイスによって、動的に調節される。しかしながら、これらの必要条件が成立しても、決定されたメモリ必要条件１４は、電子デバイス１２に適用されインプリメントされる。
【００１１】
メモリ必要条件１４はシミュレーションプロセスを使用して評価されるか、または、原型または実際の電子デバイスの使用を通じて決定され得る。メモリ必要条件１４は、電子デバイス１２の期待される動作上の条件にしたがって設定され、デバイスが動作することが期待されるアプリケーションを含んでいる。このようにして、評価プロセスは、電子デバイスに対して特別なメモリ必要条件を評価するのに役立つ。例えば、メモリ必要条件１４は、特定のサイズ、または、特定のアプリケーションまたはプロセスの実行のためにしばしば分配されるメモリブロックのサイズを識別する。メモリ必要条件１４はまた、特定のサイズでのどれだけのメモリブロックが一度に活発らしいかを評価し得る。この情報で、メモリ必要条件１４は、固定メモリブロック専用である、望ましいメモリの合計を示す。電子デバイス１２に対する全てのメモリ必要条件が、特定の固定メモリブロックに満足することは、起こり得ない。したがって、設計の考慮は、また、フリーメモリ必要条件１３を決定しなくてはならない。
【００１２】
一旦、固定ブロック１５のサイズと個数とフリーメモリ必要条件１３とが設計プロセスを通じて決定されると、これらのメモリ必要条件は電子デバイス１２に適用され得る。これらのメモリ必要条件は、ファームウェア、ソフトウェア、または、電子デバイスの設計におけるハードウェアアーキテクチュアを通じて、適用され得る。しかしながら、インプリメントされても、設計の考慮は、ランダムアクセスメモリ１８を固定メモリ部分１９とフリーメモリ部分２０とに分割する。固定メモリ部分１９は、特定のメモリ要請に有効に配分され得る、予め定義された固定メモリブロックを有し、それに対して、フリーメモリ部分２０は、他のメモリ要請のためのメモリプールを提供する。
【００１３】
電子デバイス１２は、電子デバイス１２を動作し制御するためのプロセッサ１６を有する。プロセッサ１６は、マイクロプロセッサ、ゲートアレイ、ＰＬＤ、または他の論理デバイスの形を取り得ることが理解される。プロセッサ１６はマルチプルプロセッサシステムとして、または、プロセッサをサポートする分離した論理で構成され得ることが、また、理解される。一般に、プロセッサ１６はメモリ１８とインターフェイスし、アプリケーション２８が実行することを可能にする。アプリケーションは、動作システム関数またはプロセス、入力または出力関数、またはユーザーアプリケーションであり得る。動作しているとき、アプリケーション２８はメモリマネージャー２６にメモリ要請３５を作り得る。メモリ要請３５がサイズに対して固定メモリブロックの一つと等しい場合には、次いで、メモリ要請３５は固定割り当てマネージャー２２によって対処され得る。このようにして、固定割り当てマネージャーは、利用可能な固定メモリブロックをメモリ要請３５に直ちに割り当て得る。メモリブロックは予め初期化されているので、固定メモリブロックの割り当ては非常に有効である。メモリ要請３５が固定メモリブロックとして予め定められていないメモリサイズに対してである場合、フリー割り当てマネージャー２４はメモリ要請に対処する。要請が固定メモリサイズに対してである場合、フリー割り当てマネージャー２４はまた、メモリ要請に対処するが、どの固定メモリブロックも割り当てに対して利用可能でない。フリー割り当てマネージャー２４は、利用可能なメモリブロック３１の検索可能なリスト３１を維持する。検索可能なリスト３１は、フリー割り当てマネージャーがメモリ要請を満足する最小の利用可能なフリーメモリブロックを見付けるために効果的に分類し得るように、利用可能なメモリブロックを整える。最小のメモリブロックを使用することによって、フリーメモリ部分２０は最も有効に使用される。
【００１４】
有利なことには、電子デバイスは、非常に有効な方法で割り当てられ得るメモリ１８を有する。例えば、固定メモリ部分１９は、しばしば使用されるメモリ要請に対して利用可能な予め初期化されたメモリブロックを有する。ブロックは予め初期化されているので、それらは最小のオーバーヘッドと遅延を用いて割り当てられる。他のメモリ要請に対しては、メモリマネージャーが各特別なメモリ要請に対して最適なブロックを識別できるように、利用可能なフリーメモリブロックのサイズは分類され整理される。固定メモリ部分と分類されたフリーメモリ部分の組み合わせは、電子デバイス１２に対して、非常に望ましい動作上の特質を提供する。
【００１５】
メモリの利用を改善するために、メモリ必要条件１４は、デバイス１０が動作する特定のアプリケーションとプロセスに調整される。このようにして、デバイスは、意図される使用に依存した、予め定義された異なるメモリ配列を有し得る。例えば、一つのキャリアのネットワークに展開する無線電話は、アプリケーションとプロセスとの集合を実行することが期待され、したがって、固定とフリーメモリの間の特別な割り当てを有するように予め定義され、固定メモリは、ブロックの定義された数とサイズに予め初期化される。その同じ無線電話は、異なるキャリアのネットワークでの展開が構成されている場合、アプリケーションとプロセスとの異なる混合を実行するように期待され、したがって、異なる予め定められたメモリ構成を有し得、固定された／フリーの割り当てと固定されたブロックの定義された個数とサイズとを含む。各デバイスを、実際の意図された使用のために調整することによって、メモリマネージャーは、利用できるメモリとプロセッサリソースの最高の使用を作り得る。
【００１６】
図２を参照すると、メモリマネージャー５０の流れ図が図示されている。メモリマネージャーシステム５０は一般に、セットアップステージ５２、割り当てステージ５４、実行ステージ５６、および、割り当て取り消し（ｄｅ−ａｌｌｏｃａｔｅ）ステージ５８を有する。割り当て５４、実行５６、および、割り当て取り消し関数全ては電子デバイス上で作用する一方で、セットアップステージ５２は、設計者がソフトウェア、ファームウェア、電子デバイスのためのハードウェアアーキテクチャを決定し設定する、設計関数を含む。しかしながら、特定のセットアップ関数は、動作条件にしたがって動的に調節され得ることが理解される。
【００１７】
セットアップ関数５２は、第一に固定ブロック必要条件６１を定義する。多くのソフトウェアアプリケーションでは、そして特に埋め込まれたアプリケーションでは、特定のメモリブロックサイズが繰り返し要請される。例えば、様々なときに、アプリケーションは、ディスプレイパネルの上に多くのグラフィックな要素を表示するために、動作し得る。新しい要素がディスプレイされる度に、アプリケーションはメモリ要請を作る可能性がある。インプリメンテーションを単純化するために、アプリケーションは、そのグラフィックな要素の全てまたはほとんど全てを同じ大きさに、例えば１ｋバイトに、設定し得る。シミュレーションまたは他の評価プロセスを通じて、設計者は、特別な個数のグラフィックな要素、例えば、２５要素、が一度に活発であるらしいと決定し得る。したがって、設計者は、２５個の１ｋブロックを、グラフィックな要素の割り当てのために利用可能な固定メモリとして、設定および予め定義し得る。特定のハードウェア構成に依存して、設計者が多数または少数の１ｋ固定ブロックを定義し得る。例えば、設計者は、固定メモリに対して、高利用率を得るために、たった２０個の１ｋ固定ブロックを設定し得、２０個の能動的な要素を超える割り当ては、より効率的でないフリーメモリ部分によって対処される必要があることが理解される。別の例では、システムが任意のグラフィックな要素のためにフリーメモリ部分を使用する必要があるという可能性を減少させるために、設計者は３０個の１ｋ固定ブロックを設定し得る。設計者は、また、特定のメモリサイズを要求する電子デバイスでの他の機能を識別し得る。例えば、トーンやリンガーに役立つオーディオ区分は、５１２バイトメモリブロックを使用し得る。したがって、設計者は５１２バイト固定ブロックのいくつかを、一度にいくつのこれらのブロックが能動的になりそうかに依存して、設定し得る。さらに、特定のメモリ割り当てを要求するある特定のシステムレベル動作が存在する。一つの例では、無線携帯用電話は、声とデータとの情報を受信し、処理し、そして、送信するための特定のメモリブロックを使用する、呼び出し処理関数を有する。
【００１８】
セットアッププロセスの間中、設計者が、電子デバイスによって使用される特定のブロックを特定する可能性があるが、全能率という目的のために、固定ブロックサイズとしてそのブロックサイズを定義しないことを選択する。例えば、電子デバイスのパワーオンの一続きはある特定のブロックサイズを要求し得る。しかしながら、一続きのパワーは滅多に起こらないので、固定メモリ部分を特定のブロックサイズの専用にすることは望ましくないかもしれず、その代わり、フリーメモリ部分からパワーオンの一続きを満足するためにメモリ割り当てに頼る。さらに一般的に述べるなら、固定メモリはもっとしばしば使用されるブロックサイズを含むように予め定義され、フリーメモリは、あまり使用されていないブロックサイズのために使用される。このようにして、最も頻繁なメモリ割り当て要請が、固定メモリを使用して満たされるように、メモリは調整され、それが、なるべく分裂させずメモリのより有効な利用を可能とする。セットアッププロセス５２の間中、したがって、設計者は、メモリは、固定メモリ部分またはフリーメモリ部分の、どちらから有効に割り当てられるかの間で、設計選択を行わなくてはならない。一旦、それぞれのトレードオフがなされたら、設計者は容易に固定ブロック必要条件６１を定義でき、フリーブロック必要条件６３を定義できる。
【００１９】
その後、固定ブロックは、ブロック６５に示されるように、電子デバイスに対して、予め定められ初期化される。固定ブロックは、ハードウェアまたはファームウェアプロセスを通じて初期化され得るか、または、初期化の一続きの間に動的に予め定義され得ることが理解される。固定部分とフリー部分の間の関係は、特定のデバイス構成に依存するデバイスに対して、異なるように設定され得る。例えば、無線モバイル電話は電話機能とカメラ機能とを有し得、デバイスが電話として、または、カメラとしてどちらに初期化されるかに依存して、異なるメモリ構成を有し得る。さらには、特定のデバイスは、デバイスが使用しそうな特定のアプリケーションとプロセスに依存して、予め定義された異なるメモリ必要条件を有し得る。デバイスはその意図するアプリケーションに調整されているので、デバイスは、そのメモリとプロセッサリソースをより有効に使用することが可能である。
【００２０】
一旦、固定およびフリーメモリ部分が定義されると、メモリマネージャーが、電子デバイス上でメモリ要請を割り当てるのに使用される。メモリ要請がアップリケーションから形成されるとき、メモリマネージャーは、メモリ要請がブロック６７で示されるように固定されたサイズに対するかどうかを、決定する。メモリマネージャーは、要請と固定ブロックサイズの間で釣り合う正確なサイズを要求するように設定されるか、または、わずかに小さなサイズの要請に対して使用される固定ブロックを許すように設定される。例えば、１ｋ固定ブロックサイズが利用可能な場合、メモリマネージャーは、９９５バイト要請を満足させるために１ｋ固定ブロックの割り当てを許し得る。要請が固定ブロックサイズとほぼ等しいので、一部のメモリが使用されていないのにもかかわらず、全能率は固定メモリブロックを使用することによって獲得され得る。要請とブロックサイズとの間の釣り合いの「無損失」は、特定のアプリケーションの必要性にしたがって設定され得ることが理解される。
【００２１】
メモリ要請がサイズに対して固定ブロックと等しく、しかし、そのサイズのどの固定ブロックも利用可能でない場合、次いで、要請はフリーメモリから対処され得る。同様にして、メモリ要請がサイズに対して固定メモリブロックとして存在しない場合、次いで、メモリ要請はまた、フリーメモリによって対処され得る。メモリマネージャー５０は、ブロック７７に示すように、サイズによって、フリーメモリブロックのリストを維持する。メモリ要請がフリーメモリ部分から対処されるとき、メモリマネージャーは、ブロック６９に示されるように、リストを通して、メモリ要請を満足する最も小さな利用可能なブロックを見付けるために検索する。最も小さなフリーブロックを使用することによって、メモリは最も有効に使用される。他の基準が最適なフリーブロックを見付けるのに使用され得ることが理解される。一旦、固定メモリブロックまたはフリーメモリブロックがアプリケーションに割り当てられると、アプリケーションはブロック７１に示されるように動作する。
【００２２】
あるとき、アプリケーションがメモリブロックを必要とせず、メモリプールへメモリブロックの割り当てを取り消す可能性がある。メモリが固定ブロックの場合、次いで、固定ブロックは、ブロック７３に示されるように、固定ブロックプールへ戻されるが、ブロックがフリー部分から来る場合は、次いで、ブロック７５に示されるように、ブロックはフリーブロックプールに戻される。フリーブロックが戻されるとき、考えられる最も大きいフリーメモリブロックを生成するために、メモリマネージャーは隣接する非割り当てブロックを併合する。一旦ブロックが戻されて併合プロセスが完了すると、次いで、利用可能なフリーブロックは、ブロック７７に示されるサイズにしたがって分類される。
【００２３】
図３を参照すると、セットアッププロセス９０がメモリマネージメントシステムに対して図示される。セットアッププロセス９０は、好適には、実際のアプリケーションとプロセスを動作する特別なデバイスに対して実行される。このようにして、各デバイスに対して予め定められたメモリ構成は、期待される動作にしたがって調整され、それは、メモリ効率性の増加を結果としてもたらす。もちろん、このことは、同じデバイスが、アプリケーションの混合体への微妙でさえある変化に基づいて、異なるメモリ構成を有し得ることを意味する。それはまた、同じプロセスを動作する異なるデバイスが、異なるメモリ構成を有する可能性があることを意味する。デバイスの実際の使用に対してメモリを調整するときに注意すればするほど、より効率的なメモリが使用される可能性がある。セットアッププロセス９０は、ブロック９２に示されるように固定ブロックのためのサイズを識別する。例えば、固定ブロックサイズは、グラフィックな要素、オーディオ要素、または、特別な電子デバイスまたはアプリケーションに対するシステム要素に対して、識別される。設計者は、次いで、ブロック９３に示されるように、特別なサイズに、能動的で有りそうなブロックの個数を決定する。能動的なブロックの個数は、スピードと利用必要条件にしたがって調節され得ることが理解される。ブロック９４に示されるように、複数の固定ブロックサイズが利用可能であり得る。例えば、小さなグラフィック要素、中ぐらいのグラフィック要素、大きなグラフィック要素に対するブロックサイズが存在し得る。
【００２４】
一旦、固定ブロックに対する必要性が定義されると、ブロック９５に示されるように、設計者はフリーメモリに対する必要性を定義し得る。物理的メモリは、ブロック９６に示されるように、固定部分とフリー部分との間で区切られる。この区切りステップは、固定またはフリー部分へ特別なメモリタイプを割り当てることを含み得る。例えば、特定のメモリはキャッシュまたは速いメモリで有り得、他のメモリは遅いメモリであり得、例えば、取り外し可能なメモリカードに存在するメモリであり得る。このようにして、設計者は、固定およびフリー部分の間の相対的なサイズを選択し得るだけでなく、スピード必要条件にしたがってメモリを分割し得る。異なるスピードのメモリが利用可能な場合、設計者は高速メモリに固定ブロックのいくつかを置くことを選択し得、追加の固定ブロックを遅いメモリに提供する。一旦システムが設計されると、固定ブロックが電子デバイス９７で初期化され得る。初期化プロセスは、ハードウェア、ファームウェア、または、ソフトウェアプロセスを通じてなされ、パワーアッププロセスの間にデバイスに実行されることが理解される。フリーメモリ部分のサイズと同様に、固定ブロックの個数とサイズは、動作条件にしたがって、動的に調節されることが理解される。
【００２５】
図４を参照すると、メモリマネージャー１００が図示される。メモリマネージャー１００は電子デバイスの使用のためのものであり、例えば、埋め込まれたプロセッサを有する携帯用電子デバイスのようなものである。このように、デバイスは、非常に効率的なメモリ割り当てプロセスから利益を得る。一般に、メモリマネージャー１００は、他のメモリ要請をサポートするための十分なフリーメモリと同様に、固定メモリブロックの望ましいセットを成立させるためのセットアップステージを有する。デバイスが動作しているとき、割り当てステージ１０１は、各割り当て要請に対して適切なメモリブロックを選択するために使用される。アプリケーションは１０２を実行し、メモリがもはや必要でないとき、メモリは割り当てを取り消される（１０３）。
【００２６】
デバイス上で動作するアプリケーションは、ブロック１０５に示されるように、メモリ割り当てに対して要請を形成する。メモリマネージャー１００は、ブロック１０７で示されるように、要請が、デバイスの固定メモリ部分で予め定義されたサイズに対するものであるかどうかを決定する。固定ブロックを割り当てるために、メモリマネージャーは、要請が固定メモリブロックサイズと全く等しい事を要求し得るか、または、固定サイズとほぼ等しい小さな要請を許し得る。メモリマネージャーが、固定ブロックサイズが使用され得ることを決定した場合は、メモリマネージャーは、ブロック１０９に示されるように固定サイズで割り当てられていないブロックがあるかどうかを決定する。そのサイズでの固定ブロックが利用可能な場合、そのブロックは、ブロック１１１に示されるようにメモリ要請に直ちに割り当てられ、メモリマネージャーは、ブロックが割り当てに対してもはや利用可能でないことを示すために更新される（１１３）。メモリ要請が、利用可能な固定ブロックによって適応させられないときは、メモリマネージャーは最も小さいフリーメモリブロックを、ブロック１１６に示されるように、設置する。この点については、メモリマネージャー１００は、サイズによって配列された利用可能なフリーメモリブロックのリストを維持する分類リスト１２２を維持する。このようにして、メモリマネージャーは、メモリ要請を満足する最も小さなメモリブロックを識別するために、フリー分類リスト１２２を通じて分類し得る。最も小さな可能なメモリブロックを使用することによって、フリーメモリはより効果的に使用される。一旦、最も小さなメモリブロックが識別されると、ブロック１１８に示されるように、それは割り当てられる。メモリマネージャーは、ブロック１２０で示されるように、フリーブロックがもはや利用可能でないことを示すために更新される。さらには、フリー分類リスト１２２は再び分類されて更新される。一旦、メモリが割り当てられると、アプリケーションは、ブロック１２７で示されるように、動作する。
【００２７】
いくつかの点で、アプリケーションは、メモリプールへ、メモリブロックの割り当てを解除し得、したがって、ブロック１２９に示されるようにブロックが戻るというメッセージを、メモリマネージャーに送る。メモリマネージャーは、ブロック１３１に示されるように、戻されたブロックは固定されたブロックまたはフリーブロックであるかどうかを決定する。ブロックが固定ブロック１３３の場合、固定ブロックは固定ブロックプールに戻され、メモリマネージャーは、固定ブロックが異なるアプリケーションへの割り当てに対して利用可能であることを示すために更新される（１３５）。ブロック１３８に示されるように、割り当てが解除されたものがフリーブロックの場合、フリーブロックはフリーメモリプールへ戻される。好適には、メモリマネージャーは、より大きな利用可能なフリーブロックを生成するために、戻されたブロックを割り当てられていない隣接するブロックと併合する。メモリマネージャーは、フリーメモリブロックのサイズと利用可能性を指摘するために更新され、分類プロセスは、ブロック１４０に示されるように、メモリブロックの新しい利用可能性を示すために更新される。
【００２８】
図５ａを参照すると、無線モバイルハンドセット１５０がブロック図の形式で示されている。無線モバイルハンドセット１５０は、ハンドセットの様々な構成要素を保持するためにハウジング１５１を含む。ハンドセットは、ハンドセット内の機能を制御するプロセッサ１６０を含む。プロセッサ１６０は、例えば、ベースバンドプロセッサ、マイクロプロセッサ、ＰＬＤ、ゲートアレイ、または、他の論理デバイスであり得る。プロセッサ１６０は二つ以上の分離された処理要素を備えることが認識される。
【００２９】
プロセッサはハンドセット１５１において他のデバイスへ制御し接続する。例えば、プロセッサは、ブロック１５３に示されるように、もし存在するなら、カメラまたはオーディオプレーヤーに接続し制御する。プロセッサはまた、グラフィックまたはテキストディスプレイ、ＬＥＤ光、オーディオスピーカー、および、リンガーのような、Ｉ／Ｏデバイス１５５を制御する。プロセッサはまた、声とデータとの伝達を含む、無線通信を受信および送信するために、トランシーバー１５７と協力する。他のデバイス１５９がハンドセット１５１に含まれることが認識される。例えば、ハンドセット１５１は、ハンドセットがモバイルで携帯用であることを可能にするために、バッテリーとバッテリー制御回路構成を有する可能性がある。一般的なモバイルハンドセットの構成は良く知られており、ここに詳細に記述される。
【００３０】
プロセッサ１６０は、様々なアプリケーション１６１を動作させるのに役に立つ。これらのアプリケーションは、アドレスリストを維持することやゲームのようなユーザーアプリケーションであり得、または、オペレーティングレベルのアプリケーションであり得る。例えば、アプリケーションは、グラフィックなアイコンをディスプレイ上に選択し表示する、カメラまたはＭＰ３プレーヤーを動作させる、または、声とデータとの伝達を処理する、受信する、または、送信することを含み得る。プロセッサは、また、メモリマネージャー１６２を動作し得る。メモリマネージャーは、アプリケーション１６１からメモリ割り当て要請を受信し、割り当て要請を取り扱うために固定メモリマネージャー１６４またはフリーメモリマネージャー１６６を使用する。メモリマネージャー機能は三つの分離されたブロック１６２，１６４、および、１６６に示されているにもかかわらず、機能は、より少ない機能ユニットに存するか、より多くの協力し合うモジュールに区切られ得ることが認識される。メモリマネージャーはプロセッサ上で動作することが示されているが、メモリマネージャーは分離されたプロセッサか異なる論理デバイス上で動作させられることが理解される。フリーメモリマネージャー１６６はまた、利用可能なフリーメモリブロックのリスト１７３を維持する。分類プロセス１７１は、フリーメモリマネージャー１６６によって、特定のサイズのフリーメモリブロックを識別し設置するために使用され得る。プロセッサはまた、メモリシステム１７５に結合する。メモリシステム１７５は、単一のランダムアクセスメモリシステムであり得るか、または、異なるタイプのメモリを備え得ることが、認識される。例えば、メモリ１７５は、速いキャッシュメモリ、動的メモリ、または、取り外し可能なメモリカード上のメモリを含み得る。前述の議論した方法にしたがって、メモリ１７５は、固定メモリ部分１７６とフリーメモリ部分１７７に予め定義される。好適には、固定メモリ部分１７６の固定メモリブロックは、固定ブロックの割り当てをより効率よくするために、予め初期化される。
【００３１】
動作中、アプリケーション１６１は、メモリマネージャー１６２へメモリ要請を作る。メモリ要請が固定ブロックサイズであれば、固定マネージャー１６４は、固定メモリ部分から、予め初期化されたメモリブロックの一つを割り当てる。割り当て要請が固定メモリブロックを使って対処されない場合、フリーメモリマネージャー１６６は、割り当て要請を満足する最小の利用可能なフリーメモリブロックを設置するために、フリーリスト１７３を分類し、フリーマネージャーはメモリスペースをフリーメモリ部分１７７から割り当てる。アプリケーションは割り当てられたメモリを使用して動作し、メモリがもはや必要でないとき、メモリマネージャーはブロックをメモリプールへ戻す。さらに特別には、メモリブロックが固定メモリ部分１７６から割り当てられる場合、メモリはその固定部分１７６へ戻され、メモリブロックがフリーメモリ部分１７７からの場合は、メモリはフリーメモリ部分１７７へ戻される。メモリがフリーメモリ部分へ戻される場合、フリーメモリマネージャー１６６は戻されたブロックを任意の利用可能な隣接するブロックと併合し、利用可能なフリーメモリブロックにしたがってフリーリスト１７３を更新する。
【００３２】
本発明の特別な好適および代替的な実施形態が開示されてきたが、上述の技術の様々な改変と拡張が、本発明の教示を使用してインプリメントされ得ることが認識される。そのような全ての改変と拡張は、添付の請求範囲の精神と範囲の中に含まれるように意図されている。
【図面の簡単な説明】
【００３３】
【図１】図１は、本発明にしたがった、メモリマネージメントシステムのブロック図である。
【図２】図２は、本発明にしたがった、メモリマネージメントシステムの流れ図である。
【図３】図３は、本発明にしたがった、メモリマネージメントシステムの設定の流れ図である。
【図４】図４は、本発明にしたがった、メモリマネージメントシステムの流れ図である。
【図５】図５は、本発明にしたがってメモリマネージメントシステムを有するモバイル無線ハンドセットのブロック図を示す。
【図１】
2008513911.tif 000003
【図２】
2008513911.tif 000004
【図３】
2008513911.tif 000005
【図４】
2008513911.tif 000006
【図５】
2008513911.tif 000007
【手続補正書】
【提出日】平成19年3月22日(2007.3.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリを管理するための、メモリマネージャープロセスであって、
固定されたサイズのブロックから構成される第１のメモリと、フリースペースから構成される第２のメモリとに、メモリを分割することであって、該フリースペースは、該第２のメモリにおける割り当てされていない隣接するメモリに基づいて、大きさが可変のブロックに割り当てることが可能であり、両メモリにおける割り当て解除されたブロックは、
該ブロックのそれぞれのメモリに戻される、ことと、
固定されたサイズのメモリブロックのためサイズを予め定義することと、
該第１のメモリにおける同時に活発な該固定されたサイズのメモリブロックの個数を予め決定することと、
該第１のメモリにおける該固定メモリブロックの個数を初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを、該固定されたサイズのメモリブロックのサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定されたサイズのメモリブロックの一つを割り当てることと
を包含する、メモリマネージャープロセス。
【請求項２】
前記比較に応答して、前記割り当て要請が前記第１のメモリを用いることによって満足されないことを決定することと、
該割り当て要請のサイズにしたがって、前記第２のメモリから少なくとも１つのブロックを割り当てることと
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項３】
前記第２のメモリで複数の割り当てされていないメモリブロックを識別することと、
サイズにしたがって、該複数の割り当てされていないメモリブロックを分類することと、
前記割り当て要請を最適に満足するサイズを有する該割り当てされていないメモリブロックの一つを選択するために、分類されたブロックサイズを調べることと
をさらに含む、請求項２に記載のメモリマネージャープロセス。
【請求項４】
前記割り当て要請を最小限に満足するサイズを有する前記割り当てされていないメモリブロックの一つを選択するために、分類されたブロックサイズを調べること
をさらに含む、請求項３に記載のメモリマネージャープロセス。
【請求項５】
前記比較に応答して、前記割り当て要請が前記固定されたサイズのメモリブロックのサイズによって満足させられ得ることを決定すること
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項６】
前記比較に応答して、前記割り当て要請のサイズが前記固定されたサイズのメモリブロックのサイズと正確に等しいことを決定すること
をさらに含む、請求項５に記載のメモリマネージャープロセス。
【請求項７】
前記比較に応答して、前記割り当て要請のサイズが前記固定されたサイズのメモリブロックのサイズとほぼ等しいことを決定すること
をさらに含む、請求項５に記載のメモリマネージャープロセス。
【請求項８】
第二の固定されたサイズのメモリブロックのために第二のサイズを予め定義することと、
同時に活発な該第二の固定されたサイズのメモリブロックの個数を予め決定することと、
該第１のメモリにおける該第二の固定されたサイズのメモリブロックの個数を初期化することと、
前記割り当て要請のサイズを該第二の固定されたサイズのブロックサイズと比較することと、
第二の比較に応答して、割り当て要請にしたがって、該第二の固定されたサイズのメモリブロックの一つを割り当てることと
をさらに含む、請求項１に記載のメモリマネージャープロセス。
【請求項９】
前記固定されたサイズのメモリブロックのサイズが、無線モバイルハンドセットのディスプレイ上に表示するためのグラフィックな要素のためのサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１０】
前記固定されたサイズのメモリブロックのサイズが、無線モバイルハンドセット上でプレイするためオーディオ要素に対するサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１１】
前記固定されたサイズのメモリブロックのサイズが、無線モバイルハンドセットで使用するための呼び出し処理要素に対するサイズに設定される、請求項１に記載のメモリマネージャープロセス。
【請求項１２】
メモリを管理するための、メモリマネージャープロセスであって、
固定されたサイズのブロックから構成される第１のメモリと、フリースペースから構成される第２のメモリとに、メモリを分割することであって、該フリースペースは、該第２のメモリにおける割り当てされていない隣接するメモリに基づいて、大きさが可変のブロックに割り当てることが可能であり、両メモリにおける割り当て解除されたブロックは、該ブロックのそれぞれのメモリに戻される、ことと、
固定されたサイズのメモリブロックのためにサイズを予め定義することと、
該第１のメモリにおける同時に活発な該固定されたサイズのメモリブロックの個数を予め決定することと、
該第１のメモリの中の該固定メモリブロックの個数を初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを該固定されたサイズのメモリブロックサイズと比較することと、
肯定的な比較に応答して、該第１のメモリにおける該固定されたサイズのメモリブロックの一つを割り当てることと、
否定的な比較に応答して、該第２のメモリからブロックを割り当てることであって、該割り当てられたブロックは、該割り当て要請にしたがう大きさである、ことと
を包含する、メモリマネージャープロセス。
【請求項１３】
サイズにしたがって、前記第２のメモリの中のブロックを分類することと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べることと
をさらに含む、請求項１２に記載のメモリマネージャープロセス。
【請求項１４】
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、前記第２のメモリを調べること
をさらに含む、請求項１２に記載のメモリマネージャープロセス。
【請求項１５】
割り当てられたブロックの割り当てを解除するために、前記第１のメモリから通知を受信することと、
割り当てに対して利用可能であるとして該固定メモリブロックを識別することと
をさらに含む、請求項１２に記載のメモリマネージャープロセス。
【請求項１６】
割り当てられた第２のメモリブロックの割り当てを解除するために、通知を受信することと、
前記第２のメモリへ該第２のメモリを戻すことと
をさらに含む、請求項１２に記載のメモリマネージャープロセス。
【請求項１７】
より大きな隣接するメモリブロックを形成するために、前記第２のメモリにおいて隣接する利用可能なブロックを併合すること
をさらに含む、請求項１６に記載のメモリマネージャープロセス。
【請求項１８】
サイズにしたがって、前記第２のメモリの中で、ブロックを分類すること
をさらに含む、請求項１６に記載のメモリマネージャープロセス。
【請求項１９】
ランダムアクセスメモリに対して、メモリ管理プロセスを動作するプロセッサであって、該プロセスが、
少なくとも１つのサイズの固定されたサイズのブロックから構成される第１のメモリと、フリースペースから構成される第２のメモリとに、メモリを分割することであって、該フリースペースは、該第２のメモリにおける割り当てされていない隣接するメモリに基づいて、大きさが可変のブロックに割り当てることが可能であり、両メモリにおける割り当て解除されたブロックは、該ブロックのそれぞれのメモリに戻される、ことと、
該第１のメモリにおいて同時に活発な該固定されたサイズのブロックの個数を予め決定し、初期化することと、
割り当て要請を受信することと、
該割り当て要請のサイズを該第１のメモリにおける固定されたサイズのブロックのサイズのうちの少なくとも１つと比較することと、
肯定的な比較に応答して、該割り当て要請のサイズにしたがって、該第１のメモリに該固定メモリブロックの一つを割り当てることと、
否定的な比較に応答して、該割り当て要請のサイズにしたがって、該第２のメモリからブロックを割り当てることと
を包含する、プロセッサ。
【請求項２０】
サイズにしたがって、前記第２のメモリにおいて、ブロックを分類するステップと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べるステップと
をさらに行う、請求項１９に記載のプロセッサ。
【請求項２１】
ランダムアクセスメモリに対して、メモリ管理プロセスを動作する無線モバイルハンドセットであって、該プロセスが、
該メモリの中で、予め決定されたサイズで、予め定義された個数の固定メモリブロックを初期化することと、
少なくとも１つのサイズの固定されたサイズのブロックから構成される第１のメモリと、フリースペースから構成される第２のメモリとに、メモリを分割することであって、該フリースペースは、該第２のメモリにおける割り当てされていない隣接するメモリに基づいて、大きさが可変のブロックに割り当てることが可能であり、両メモリにおける割り当て解除されたブロックは、該ブロックのそれぞれのメモリに戻される、ことと、
割り当て要請を受信することと、
該割り当て要請のサイズを該第１のメモリにおける該固定されたサイズのメモリブロックの少なくとも１つのサイズと比較することと、
肯定的な比較に応答して、該割り当て要請にしたがって、該固定されたサイズのメモリブロックの一つを割り当てることと、
否定的な比較に応答して、該割り当て要請にしたがって、該第２のメモリからブロックを割り当てることと
を包含する、無線モバイルハンドセット。
【請求項２２】
サイズにしたがって、前記第２のメモリにおいて、ブロックを分類するステップと、
前記割り当て要請を最小限に満足する大きさのブロックを識別するために、分類されたサイズを調べるステップと
をさらに行う、請求項２１に記載の無線モバイルハンドセット。
【国際調査報告】
2008513911.tif 000008
2008513911.tif 000009