(57)【特許請求の範囲】
【請求項１】
メモリを割り当てるメモリ割り当て部と、
システムの性能と解除動作の回数別に測定されたユーザ応答時間を考慮して、割り当てられたメモリの解除に関する解除単位を獲得する解除単位算出部と、
前記獲得された解除単位に基づいて割り当てられたメモリを解除するメモリ解除部と、を含むことを特徴とするメモリ管理装置。
【請求項２】
前記メモリ割り当て部は、
前記システムの第１モードに応答して、前記システム上のプロセスに前記メモリの一部領域を割り当てることを特徴とする請求項１に記載のメモリ管理装置。
【請求項３】
前記システムは、デジタルカメラ及びデジタルカメラ付き携帯用機器のうち少なくとも一つを含み、前記第１モードは、前記システムに保存されたデータを再生するための再生モードと定義されることを特徴とする請求項２に記載のメモリ管理装置。
【請求項４】
前記メモリ解除部は、
前記システムの第２モードに応答して、前記システム上のプロセスに割り当てられたメモリの一部領域を前記獲得された解除単位で解除して、前記システムに返還することを特徴とする請求項１に記載のメモリ管理装置。
【請求項５】
前記システムは、デジタルカメラ及びデジタルカメラ付き携帯用機器のうち少なくとも一つを含み、前記第２モードは、前記システムにデータを記録するための記録モードと定義されることを特徴とする請求項４に記載のメモリ管理装置。
【請求項６】
前記解除単位算出部は、
前記システムの性能によって、割り当てられたメモリを解除するための解除動作の回数別に測定されたユーザ応答速度を用いて、最適の解除動作回数を獲得し、割り当てられたメモリの大きさを、獲得された最適の解除動作回数で割って、前記解除単位を獲得することを特徴とする請求項１に記載のメモリ管理装置。
【請求項７】
前記解除単位は、
割り当てられたメモリを解除するときの解除動作の基本単位として定義され、少なくとも１以上のページを含むことを特徴とする請求項１に記載のメモリ管理装置。
【請求項８】
メモリを割り当てる段階と、
システムの性能と解除動作の回数別に測定されたユーザ応答時間を考慮して、割り当てられたメモリの解除に関する解除単位を獲得する段階と、
前記獲得された解除単位に基づいて割り当てられたメモリを解除する段階と、
を含むことを特徴とするメモリ管理方法。
【請求項９】
前記割り当てる段階は、
前記システムの第１モードに応答して、前記システム上のプロセスに前記メモリの一部領域を割り当てる過程を含むことを特徴とする請求項８に記載のメモリ管理方法。
【請求項１０】
前記解除単位を獲得する段階は、
前記システムの性能によって、割り当てられたメモリを解除するための解除動作の回数別にユーザ応答速度を測定する過程と、
前記測定されたユーザ応答速度を用いて、最適の解除動作回数を獲得する過程と、
前記割り当てられたメモリの大きさを、前記最適の解除動作回数で割って、前記解除単位を獲得する過程と、
を含むことを特徴とする請求項８に記載のメモリ管理方法。
【請求項１１】
前記解除する段階は、
前記システムの第２モードに応答して、前記システム上のプロセスに割り当てられたメモリの一部領域を前記獲得された解除単位で解除して、前記システムに返還する過程を含むことを特徴とする請求項８に記載のメモリ管理方法。
【請求項１２】
メモリと、
前記メモリの割り当て及び解除を管理するメモリ管理部と、を含み、
前記メモリ管理部は、システムの性能と解除動作の回数別に測定されたユーザ応答時間を考慮して、前記メモリの解除単位を獲得し、該獲得された解除単位に基づいて割り当てられたメモリ領域を解除することを特徴とする電子装置。
【請求項１３】
前記電子装置は、
デジタルカメラ及びデジタルカメラ付き携帯用機器のうち少なくとも一つを含むことを特徴とする請求項１２に記載の電子装置。
【請求項１４】
前記メモリ管理部は、
前記電子装置に記録されたデータを再生するための再生モードに応答して、前記メモリの一部分を前記電子装置上のプロセスに割り当て、
前記電子装置にデータを記録するための記録モードに応答して、前記割り当てられたメモリの一部分を前記解除単位に基づいて解除することを特徴とする請求項１２に記載の電子装置。
【請求項１５】
前記メモリ管理部は、
前記電子装置のＣＰＵ性能によって、割り当てられたメモリを解除するための解除動作の回数別に測定されたユーザ応答速度を用いて、最適の解除動作回数を獲得し、割り当てられたメモリの大きさを、獲得された最適の解除動作回数で割って、前記解除単位を獲得することを特徴とする請求項１２に記載の電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリを割り当てるか、該割り当てられたメモリを解除するためのメモリ管理技術に関する。
【背景技術】
【０００２】
メモリ割り当て（ｍｅｍｏｒｙ  ａｌｌｏｃａｔｉｏｎ）とは、或るプロセスまたは或るデバイスがメモリの特定領域を使用できるように当該部分を確保することを言う。そして、メモリ割り当て解除（ｍｅｍｏｒｙ  ｄｅａｌｌｏｃａｔｉｏｎ）とは、或るプロセスまたは或るデバイスが確保したメモリの特定領域の占有を解除し、元の状態に戻すことを言う。
【０００３】
一方、大容量ファイルを処理するシステム、例えば、大容量の映像データを再生及び録画するデジタルカメラまたはデジタルカムコーダの場合、再生モード（ｐｌａｙ  ｍｏｄｅ）から記録モード（ｒｅｃｏｒｄｉｎｇ  ｍｏｄｅ）への切換時、ユーザ待機時間が存在することが一般的である。
【０００４】
このユーザ待機時間は、モード切換時のメモリ割り当て解除動作が行われることによって発生する。すなわち、再生モードで映像データをメモリにローディングするためにメモリ割り当て動作が行われながら、記録モードへの切換時、メモリ割り当て解除動作が行われるが、このメモリ割り当て解除動作が行われる時、必要以上にＣＰＵが使われることによって、ユーザ待機時間が長くなる場合がある。
【０００５】
そして、メモリ割り当て解除動作は、メモリの大きさと関連した所定の固定値を予め定め、その固定値に該当するメモリ領域を反復的に解除する方式で数回にわたって行われることが通常的である。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、ユーザ応答時間を考慮したメモリ管理装置及び方法を提供することである。
【課題を解決するための手段】
【０００７】
本発明の一態様によるメモリ管理装置は、メモリを割り当てるメモリ割り当て部と、システムの性能またはユーザ応答時間を考慮して、割り当てられたメモリの解除に関する解除単位を獲得する解除単位算出部と、獲得された解除単位に基づいて割り当てられたメモリを解除するメモリ解除部と、を含みうる。
【０００８】
また、本発明の一態様によるメモリ管理方法は、メモリを割り当てる段階と、システムの性能またはユーザ応答時間を考慮して、割り当てられたメモリの解除に関する解除単位を獲得する段階と、獲得された解除単位に基づいて割り当てられたメモリを解除する段階と、を含みうる。
【０００９】
また、本発明の一態様による電子装置は、メモリと、メモリの割り当て及び解除を管理するメモリ管理者と、を含み、メモリ管理者は、システムの性能またはユーザ応答時間を考慮して、メモリの解除単位を獲得し、該獲得された解除単位に基づいて割り当てられたメモリ領域を解除することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態による電子装置を示す図である。
【図２】本発明の一実施形態によるメモリ割り当て解除動作を示す図である。
【図３】本発明の一実施形態によるメモリ管理装置を示す図である。
【図４】本発明の一実施形態による固定型解除単位と可変型解除単位とを示す図である。
【図５】本発明の一実施形態によるメモリ管理方法を示す図である。
【図６】本発明の一実施形態による解除単位獲得方法を示す図である。
【発明を実施するための形態】
【００１１】
以下、添付した図面を参照して、本発明の実施のための具体例を詳しく説明する。
【００１２】
図１は、本発明の一実施形態による電子装置を示す図である。図１を参照すると、本実施形態による電子装置１００は、デジタルカメラ（または、デジタルカムコーダ）またはこのようなデジタルカメラ（または、デジタルカムコーダ）が搭載されたモバイル機器（例えば、スマートフォンＰＭＰ、ＰＤＡなど）の一部構成になりうる。
【００１３】
本実施形態による電子装置１００は、メモリ１０１及びメモリ管理者１０２を含みうる。メモリ１０１は、運用体制、応用プログラム及び現在使用中であるデータを保存及び維持する。メモリ管理者１０２は、電子装置１００上で実行されるプロセスにメモリ１０１の特定部分を割り当て（ａｌｌｏｃａｔｉｏｎ）るか、或るプロセスに割り当てられたメモリ１０１の特定部分を割り当て解除（ｄｅａｌｌｏｃａｔｉｏｎ）して、電子装置１００に返還する。本実施形態において、メモリ割り当てとは、或るプロセスまたは或るデバイスがメモリ１０１の特定領域を使用できるように当該部分を確保することを言う。また、メモリ割り当て解除、メモリ解除または割り当てられたメモリの解除とは、或るプロセスまたは或るデバイスが確保したメモリの特定領域の占有状態を解除し、元の状態に戻すことを言う。
【００１４】
例えば、電子装置１００が、デジタルカムコーダである場合、メモリ管理者１０２は、保存された映像データを再生するための再生モードに応答して、メモリ１０１の特定領域を再生と関連したプロセスに割り当てられる。また、新たな映像データを記録または録画するための記録モードに応答して、再生モードで割り当てられたメモリ１０１の特定領域を解除することが可能である。
【００１５】
メモリ管理者１０２が、メモリ１０１を解除する時、解除動作は、所定の解除単位に基づいて行われる。解除単位とは、割り当てられたメモリを解除するときの解除動作の基本単位として定義される。このような解除単位は、数枚のページからなりうるが、電子装置１００のＣＰＵ性能及び／またはユーザ応答時間を考慮して決定されうる。
【００１６】
解除単位は、システム性能と関係なく、所定の固定値を有することもあるが、本実施形態による電子装置１００は、システム性能によって解除単位を適切に決定し、該決定された解除単位に基づいてメモリ解除動作を行うことによって、ユーザ待機時間を短縮しうる。
【００１７】
例えば、電子装置１００が、デジタルカムコーダである場合、再生モードから記録モードへの切換時、メモリ割り当て解除が行われるが、このメモリ割り当て解除をシステムの性能及び／またはユーザ応答時間によって決定される所定の解除単位で行って、モード切換時のユーザ待機時間を短縮することが可能である。
【００１８】
図２は、本発明の一実施形態によるメモリ割り当て解除動作を示す図である。図２を参照すると、割り当てられたメモリ領域２０１は、９枚のページ２０２からなり、メモリ割り当て解除動作の基本単位である解除単位は、３枚のページからなる。しかし、これは、説明の便宜上、例示的に表わしたものに過ぎないものであって、実際システムに適用する場合には、数百または数千枚のページ２０２に割り当てられたメモリ領域２０１が構成されるということはいうまでもなく、解除単位も数百または数千枚のページ２０２で構成することができる。
【００１９】
本実施形態によって、メモリ割り当て解除動作は、次のように数回にわたってなされる。例えば、まず、解除単位に対応する最初の部分２０３の割り当てが解除される。最初の部分２０３の割り当てが解除されれば、解除単位に対応する二番目の部分２０４の割り当てが解除される。同様に、二番目の部分２０４の割り当てが解除されれば、解除単位に対応する三番目の部分２０５の割り当てが解除される。このように解除動作がなされる回数を解除動作回数と名付ける。すなわち、図２で、解除動作回数は３回である。
【００２０】
解除動作回数は、ユーザの待機時間またはユーザの応答時間と関連する。例えば、メモリ割り当て解除は、デジタルカムコーダの再生モードと記録モードとの間のモード切換時に行われるが、解除動作回数によってユーザ待機時間が早くなることもあり、遅くなることもある。すなわち、最も早いユーザ待機時間に対応する最適の解除動作回数が存在することができる。
【００２１】
図３は、本発明の一実施形態によるメモリ管理装置を示す図である。これは、図１のメモリ管理者１０２に関する構成の一例になりうる。
【００２２】
図１及び図３を参照すると、メモリ管理装置３００は、メモリ割り当て部３０１、解除単位算出部３０２、及びメモリ解除部３０３を含む。
【００２３】
メモリ割り当て部３０１は、システムの第１モードに応答して、システム上のプロセスにメモリ１０１の一部領域を割り当てる。システムが、デジタルカムコーダである場合、例えば、メモリ割り当て部３０１は、保存された映像データを再生または表示するための再生モードによってメモリ割り当て動作を実行することが可能である。
【００２４】
メモリ解除部３０３は、システムの第２モードに応答して、システム上のプロセスに割り当てられたメモリ１０１の一部領域を所定の解除単位で解除して、システムに返還する。システムが、デジタルカムコーダである場合、例えば、メモリ解除部３０３は、映像データを記録または録画するための記録モードによってメモリ割り当て解除動作を実行することができる。
【００２５】
メモリを割り当て、解除するためには、ｍｍａｐ（）システムコールとｍｕｎｍａｐ（）システムコールとが使われる。ｍｍａｐ（）システムコールは、二つ以上のプログラムによって読み取られるか、記録されるメモリ領域を設定する。元々このシステムコールは、プロセス空間にマッピングする目的で導入された機能であるが、実際では、メモリ領域を割り当てる目的でも使われる。ｍｍａｐ（）システムコールを使う時、ｏｆｆパラメータを指定すれば、共有されるセグメントによってアクセスされるファイルデータの開始を変更し、特定メモリアドレスを要請するために、ａｄｄｒパラメータを使うことができる。そして、ｍｕｎｍａｐ（）システムコールは、ｍｍａｐ（）システムコールによって確保したプロセス空間領域を解除可能にする。
【００２６】
メモリ割り当て解除と関連して、解除単位算出部３０２は、割り当て解除動作の基本単位である解除単位をシステムの性能を考慮して決定する。例えば、解除単位算出部３０２は、システムのＣＰＵ性能またはＣＰＵ動作速度を考慮して、次のように解除単位を算出することが可能である。
【００２７】
解除単位＝割り当てられたメモリの大きさ／最適の解除動作回数      （１）
式（１）を参照して、解除単位算出方法を説明する。
【００２８】
まず、最初にメモリが割り当てられれば、予め定義された解除動作回数でメモリ割り当て解除動作を行った場合のユーザ応答時間を測定する。この際、ユーザ応答時間は、ＣＰＵの種類、すなわち、ＣＰＵの性能によって変わりうる。そして、解除動作回数を増減しながら、各回数別にユーザ応答時間を測定し、最小のユーザ応答時間を有する解除動作回数を最適の解除動作回数として選択する。最適の解除動作回数が選択されれば、割り当てられたメモリの大きさを用いて解除単位を決定する。
【００２９】
例えば、最初１００ＭＢのメモリが割り当てられ、予め定義された基準解除動作回数が２５回と仮定する。解除単位算出部３０２は、基準解除動作回数の一定範囲内で各回数別にユーザ応答時間を測定する。例えば、解除単位算出部３０２は、２５回を中心に一定回数ほど増減した範囲で回数別にユーザ応答時間を測定することが可能である。この際、２６回の解除動作回数でユーザ応答時間が最も短かったならば、この２６回を最適の解除動作回数として選択する。最適の解除動作回数が得られれば、式（１）のように割り当てられたメモリの大きさを、最適の解除動作回数で割って、解除単位を決定することが可能である。
【００３０】
また、以後３００ＭＢのメモリが割り当てられれば、再びユーザ応答時間を測定して最適の解除動作回数を選択するが、この際、２６回ではない他の最適の解除動作回数が選択されうる。例えば、３０回の最適の解除動作回数が選択されれば、３００ＭＢ／３０回の解除単位で割り当て解除を行う。
【００３１】
図４は、本発明の一実施形態による固定型解除単位と可変型解除単位とを示す図である。図４を参照すると、メモリ割り当てを解除する時、システムのＣＰＵ性能と無関係に解除単位が固定される場合とＣＰＵ性能を考慮して解除単位が調節される場合との差異点が分かる。例えば、割り当てられた１００ＭＢを解除する場合、固定型解除単位を使えば、８ｐａｇｅ単位で３，３２８回にわたって解除動作が行われる。しかし、可変型解除単位を使えば、ＣＰＵの性能を考慮して最も早いユーザ応答速度が得られる解除単位である１，０２４ｐａｇｅが得られ、該得られた１，０２４ｐａｇｅ単位で２６回にわたって解除動作が行われることが可能である。すなわち、システムの種類またはＣＰＵの性能によって１００ＭＢを解除する時、８ｐａｇｅ単位で３，３２８回わたって解除する場合と１，０２４ｐａｇｅ単位で２６回にわたって解除する場合、ユーザ応答時間が異なりうる。この際、解除単位を或る特定の値で固定せず、最も早いユーザ応答時間が得られる値で調節して解除動作を行えば、メモリ割り当て解除動作によるユーザ待機時間を短縮しうる。
【００３２】
図５は、本発明の一実施形態によるメモリ管理方法を示す図である。
【００３３】
図１、図３及び図５を参照して、本実施形態によるメモリ管理方法を説明すれば、次の通りである。
【００３４】
まず、メモリ１０１を割り当てる（５０１）。例えば、電子装置１００が、デジタルカムコーダである場合、メモリ割り当て部３０１が保存された映像データを再生するための再生モードに応答して、メモリ１０１の特定領域を割り当てることが可能である。
【００３５】
引き続き、メモリ１０１の割り当て解除によってシステムの性能及び／またはユーザの応答時間を考慮した解除単位を獲得する（５０２）。例えば、解除単位算出部３０２が、式（１）のように解除単位を獲得することが可能である。
【００３６】
解除単位が獲得されれば、該獲得された解除単位に基づいてメモリ１０１の割り当てを解除する（５０３）。例えば、電子装置１００が、デジタルカムコーダである場合、メモリ解除部３０３が、映像データを記録するための記録モードに応答して、再生モードで割り当てられたメモリ１０１の特定領域を解除することが可能である。
【００３７】
図６は、本発明の一実施形態による解除単位獲得方法を示す図である。
【００３８】
図３及び図６を参照すると、解除単位を得るために、まず解除動作回数別にユーザ応答時間を測定する（６０１）。例えば、解除単位算出部３０２が、予め定義された解除動作回数を基準に各回数別にユーザ応答時間を測定することが可能である。
【００３９】
そして、最適の解除動作回数を決定する（６０２）。例えば、解除単位算出部３０２が、測定されたユーザ応答時間を用いて最小応答時間に対応する解除動作回数を選択することが可能である。
【００４０】
そして、割り当てられたメモリ領域の大きさを、最適の解除動作回数で割って、解除単位を獲得する（６０３）。例えば、解除単位算出部３０２が、式（１）のように解除単位を計算することが可能である。
【００４１】
一方、本実施形態によるメモリ管理装置及び方法は、或るシステムの運用体制の一部として具現することが可能である。運用体制は、応用プログラムからシステムコールが呼び出されるか、ハードウェアからインタラプトが発生した場合にのみ動作する。例えば、本実施形態による運用体制が、ライブラリー関数ｍｍａｐ＆ｍｕｎｍａｐを呼び出してメモリを割り当て、解除する作業を行う場合、応用プログラムは、ライブラリー内に存在するライブラリー関数ｍｍａｐを呼び出す。ライブラリー関数ｍｍａｐは、その中でｍｍａｐシステムコールを呼び出す。ｍｍａｐシステムコールは、普通関数のように見えるが、アーキテクチャー依存的に当該インストラクションを実行し、強制的にインタラプトを発生させる。これにより、運用体制内の機能を呼び出す。運用体制は、ｍｍａｐシステムコール処理を始める。ｍｍａｐシステムコールは、仮想ファイルシステム機能で実行される。ファイルシステム（Ｆｉｌｅｓｙｓｔｅｍ）は、対象となるファイルのデータが如何なるデバイスの如何なるブロックに配されているかが分かり、そのデバイスを制御するブロックデバイスドライバーに読み取りを要請する。ブロック型デバイスドライバーは、読み取り要請によってハードウェアを制御する。ハードウェアは、Ｉ／Ｏ要請によってデバイスブロック上のデータを運用体制内のキャッシュ領域に伝送する。伝送が完了されれば、ハードウェアインタラプトと言う形態で運用体制に通知する。ファイルシステムは、運用体制内のキャッシュ領域からライブラリー関数ｍｍａｐが管理しているバッファ内のデータをコピーする。これで、運用体制のｍｍａｐシステムコール処理が終わる。
【００４２】
また、本発明の実施形態は、コンピュータで読み取り可能な記録媒体にコンピュータで読み取り可能なコードとして具現しうる。コンピュータで読み取り可能な記録媒体は、コンピュータシステムによって読み取れるデータが保存されるあらゆる種類の記録装置を含む。
【００４３】
コンピュータで読み取り可能な記録媒体の例としては、ＲＯＭ、ＲＡＭ、ＣＤ−ＲＯＭ、磁気テープ、フロッピー（登録商標）ディスク、光データ保存装置などがあり、また、キャリアウェーブ（例えば、インターネットを通じる伝送）の形態で具現するものを含む。また、コンピュータで読み取り可能な記録媒体は、ネットワークで連結されたコンピュータシステムに分散されて、分散方式でコンピュータで読み取り可能なコードとして保存されて実行可能である。そして、本発明を具現するための機能的な（ｆｕｎｃｔｉｏｎａｌ）プログラム、コード及びコードセグメントは、本発明が属する技術分野のプログラマーによって容易に推論されうる。
【００４４】
以上、本発明の実施のための具体例を説明した。前述した実施形態は、本発明を例示的に説明するためのものであって、本発明の権利範囲が特定の実施形態に限定されるものではない。
【産業上の利用可能性】
【００４５】
本発明は、ユーザ応答時間を考慮したメモリ管理装置及び方法関連の技術分野に適用可能である。
【図１】
0005868611.tif 000002
【図２】
0005868611.tif 000003
【図３】
0005868611.tif 000004
【図４】
0005868611.tif 000005
【図５】
0005868611.tif 000006
【図６】
0005868611.tif 000007