(57)【特許請求の範囲】
【請求項１】
方法であって、
揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集する工程と、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーする工程と、
不揮発性メモリ内の選択されたメモリロケーションを使用して、前記データを前記不揮発性メモリにコピーする工程と、
を有することを特徴とする方法。
【請求項２】
揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集する工程が、
前記揮発性メモリのメモリ空間内の、前記プロセスに対応する前記メモリロケーションを判定する工程であって、前記メモリ空間が複数の並行プロセスをサポートする、判定する工程と、
前記プロセスに対応する前記メモリロケーションを辿る工程と、
前記複数のメモリロケーションのそれぞれが前記揮発性メモリからのエビクションの候補であるか否かを決定する工程と、を有し、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーする工程は、エビクションの候補であるメモリロケーションのためのポインタを格納する工程を有することを特徴とする請求項１に記載の方法。
【請求項３】
複数のプロセス間でページを共有するメモリロケーションが、エビクションの候補ではない、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記プロセスに対応する前記メモリロケーションを再利用可能にする工程と、
前記メモリロケーションを別のプロセスに割り当てる工程と、
を更に有することを特徴とする請求項１に記載の方法。
【請求項５】
前記データを前記不揮発性メモリにコピーする工程が、前記不揮発性メモリへの単一の書き込み操作で達成される、
ことを特徴とする請求項１に記載の方法。
【請求項６】
選択されたデータを有する前記不揮発性メモリ内のページを検索する工程と、
前記ページを前記揮発性メモリにコピーする工程と、
を更に有することを特徴とする請求項２に記載の方法。
【請求項７】
前記メモリ空間内の元のロケーションを検索する工程と、
前記元のロケーションに前記ページを転送する工程と、
を更に有することを特徴とする請求項６に記載の方法。
【請求項８】
前記ページをコピーする工程が、前記揮発性メモリへの単一の読み取り操作で達成される、
ことを特徴とする請求項６に記載の方法。
【請求項９】
命令を格納しているコンピュータ可読媒体であって、前記命令が実行される場合、１つ以上のプロセッサに、
揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集させ、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーさせ、
不揮発性メモリ内の選択されたメモリロケーションを使用して、前記データを前記不揮発性メモリにコピーさせる、
ことを特徴とするコンピュータ可読媒体。
【請求項１０】
前記１つ以上のプロセッサに、揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集させる前記命令が実行される場合、前記１つ以上のプロセッサに、
前記揮発性メモリのメモリ空間内の、前記プロセスに対応する前記メモリロケーションを判定させることであって、前記メモリ空間が複数の並行プロセスをサポートしている、判定させること、
前記プロセスに対応する前記メモリロケーションを辿らせること、
前記複数のメモリロケーションのそれぞれが前記揮発性メモリからのエビクションの候補であるか否かを決定させること、の命令を含み、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーさせることは、エビクションの候補であるメモリロケーションのためのポインタを格納させることの、命令を含む、
ことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１１】
複数のプロセス間でページを共有するメモリロケーションが、エビクションの候補ではない、
ことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１２】
命令が実行される場合、前記１つ以上のプロセッサに、
前記プロセスに対応する前記メモリロケーションを再利用可能にさせること、
前記メモリロケーションを別のプロセスに割り当てさせることの、命令を更に含む、
ことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１３】
前記データを不揮発性メモリにコピーすることが、前記不揮発性メモリへの単一の書き込み操作で達成される、
ことを特徴とする請求項９に記載のコンピュータ可読媒体。
【請求項１４】
命令が実行される場合、前記１つ以上のプロセッサに、
選択されたデータを有する、前記不揮発性メモリ内のページを検索させること、
前記ページを前記揮発性メモリにコピーさせることの、命令を更に含む、
ことを特徴とする請求項１０に記載のコンピュータ可読媒体。
【請求項１５】
命令が実行される場合、前記１つ以上のプロセッサに、
前記メモリ空間内の元のロケーションを検索させること、
前記元のロケーションに前記ページを転送させることの、命令を更に含む、
ことを特徴とする請求項１４に記載のコンピュータ可読媒体。
【請求項１６】
装置であって、
揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集するための手段と、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーするための手段と、
不揮発性メモリ内の選択されたメモリロケーションを使用して、前記データを前記不揮発性メモリにコピーするための手段と、
を備えることを特徴とする装置。
【請求項１７】
前記揮発性メモリ内の複数の再利用可能なメモリロケーションから、プロセスに関するデータを収集するための手段が、
前記揮発性メモリのメモリ空間内の、前記プロセスに対応する前記メモリロケーションを判定する手段であって、前記メモリ空間が複数の並行プロセスをサポートする、判定する手段と、
前記プロセスに対応する前記メモリロケーションを辿るための手段と、
前記複数のメモリロケーションのそれぞれが前記揮発性メモリからのエビクションの候補であるか否かを決定するための手段と、を含み、
前記データに対する１つ以上のポインタを、単一のコンテナにコピーするための手段は、エビクションの候補であるメモリロケーションのためのポインタを格納するための手段を含む、
ことを特徴とする請求項１６に記載の装置。
【請求項１８】
前記プロセスに対応する前記メモリロケーションを再利用可能にするための手段と、
前記メモリロケーションを別のプロセスに割り当てるための手段と、を更に備える、
ことを特徴とする請求項１６に記載の装置。
【請求項１９】
選択されたデータを有する、前記不揮発性メモリ内のページを検索するための手段と、
前記ページを前記揮発性メモリにコピーするための手段と、を更に備える、
ことを特徴とする請求項１７に記載の装置。
【請求項２０】
前記メモリ空間内の元のロケーションを検索するための手段と、
前記元のロケーションに前記ページを転送するための手段と、を更に備える、
ことを特徴とする請求項１９に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、メモリタイプ間でのデータの転送に関する。より詳細には、本発明の実施形態は、揮発性メモリから不揮発性メモリにデータを移動させるための技術に関する。
【背景技術】
【０００２】
電子デバイスは、有限量のメモリを含む。揮発性メモリのタイプは、一般的には、不揮発性メモリよりも高速である。それゆえ揮発性メモリは一般的に、メモリレイテンシを最小にすることが必要とされるアプリケーションに使用される。しかしながら、揮発性メモリは有限であるため、他のアプリケーション又はプロセスが追加のメモリロケーションを利用できるようにするために、揮発性メモリからのデータ削除が必要となる状況が存在し得る。
【図面の簡単な説明】
【０００３】
【図１】第１メモリと第２メモリとの間のデータ移動の概念図である。
【図２】第１メモリと第２メモリとの間のデータ移動に関する技術の一実施形態の流れ図である。
【図３】第１メモリから第２メモリにデータを転送するための技術の一実施形態の流れ図である。
【図４】第１メモリと第２メモリとの間のデータ移動を管理するためのエージェントの一実施形態のブロック図である。
【図５】モバイルデバイスの例示的実装のブロック図である。
【発明を実施するための形態】
【０００４】
以下の説明では、数多くの具体的な詳細が記載される。しかしながら、本発明の実施形態は、これらの具体的な詳細を使用することなく実施することができる。他の例では、本説明の理解を不明瞭にすることがないように、周知の回路、構造、及び技術は、詳細には示されていない。
【０００５】
限られた量の揮発性メモリ（例えば、ランダムアクセスメモリ、ＲＡＭ）を有するデバイス上では、１つのプロセス又はアプリケーションのために使用されるメモリロケーションを、別のプロセス又はアプリケーションに割り当てることが望ましいか、若しくは更に必要とされる場合もある。例えば、より重要なアプリケーションは、それほど重要ではないアプリケーションを犠牲にして、より多くのメモリロケーションを必要とする場合がある。
【０００６】
一実施形態では、不揮発性メモリがソリッドステートメモリデバイスである場合、そのデバイスに対する劣化を最小限に抑え、読み取り／変更／書き込みの状況を回避することが望ましい場合がある。一実施形態では、プロセス又はアプリケーションは、揮発性メモリからデータをエビクションさせ、不揮発性メモリに移動させた後に、そのデータにアクセスすることが可能となる。
【０００７】
一実施形態では、２レベルのページング機構が使用される。第１のレベルは、特定のプロセスに関して、再利用可能なメモリロケーションからページを収集し、それらのページを単一のコンテナ内に圧縮する。第２のレベルは、その圧縮コンテナのコンテンツを、スワップファイルに送り、対象とするメモリデバイスに、最適なＩ／Ｏ操作を使用することができる。第１ページャーに、圧縮コンテナ内で、要求されたページを検索させ、次いで、第２ページャーに、スワップファイルから、対応するページを回収させることによって、オンデマンド式のページングが可能となる。
【０００８】
この２レベルのページング機構は、例えば、一般的には、デスクトップコンピュータ又は更にラップトップコンピュータ等の物理的に大型のデバイスよりも少ないＲＡＭを有する、モバイルデバイス内で有用とすることができる。例えば、タブレットデバイス、又はノートブックコンピュータ、又はスマートフォンは、限られた量のＲＡＭ、及びソリッドステートメモリデバイス（例えば、フラッシュメモリ）を含み得る。
【０００９】
図１は、第１メモリと第２メモリとの間のデータ移動の概念図である。本明細書で説明される技術は、概して適用可能なものとすることができるが、実施例は、全般的には、メインメモリ（例えば、ＤＲＡＭ）と、より大型の記憶デバイス（例えば、フラッシュメモリ）との間の、ページの移動に関して提供される。
【００１０】
アドレス空間１１０は、所定のプロセス又はアプリケーションによって使用することができるメモリを表す。アドレス空間１１０は、幾つかのメモリ領域を含み得る。メモリ領域は、幾つかの仮想ページを含み得る。仮想ページは、いかなる時点でも、未割り当て、常駐、又はページアウトの３つの状態のうちの１つにあるものとすることができる。
【００１１】
一次メモリ（ＲＡＭ、揮発性）及び二次メモリ（ＳＳＤ、不揮発性）は、ホストシステムによる複数のアプリケーションの実行中に、アプリケーションによって使用される。典型的には、一次メモリは、それらのアプリケーションを実行するプロセッサによってアクセス可能なランダムアクセスメモリである。アドレス空間１１０は、ホストシステム内部のランダムアクセスメモリの全て又は一部を使用することができる。他のアドレス空間は、システム内の他のプロセスをサポートするために使用され、それらは全て、一次メモリ（ＲＡＭ）の限られたリソースに関して競合する。
【００１２】
ランダムアクセスメモリは、複数のプロセスをサポートするために使用され、各プロセスは、それ自体の利用アドレス空間を有し得る。アドレス空間１１０は、データの１つ以上のページを格納するためにプロセスによって使用される、１つ以上のメモリ領域（例えば、１１２、１１４、１１６）を有する。
【００１３】
図１の実施例では、メモリ領域１１２、１１４、及び１１６を、プロセスに割り当てることができる。一実施形態では、各プロセスは、例えばリソースの競合を解決するために使用することができる関連優先度を有する。例えば、プロセスが追加のメモリロケーションを必要とし、利用可能なメモリが不十分である場合、より低い優先度を有するプロセスは、より高い優先度のプロセスにメモリ領域を再割り当てすることができるように、そのページの一部又は全てをエビクションさせることができる。
【００１４】
それゆえ、動作中に、メモリ領域１１２、１１４、及び１１６を、エビクションさせるために指定することができる。このエビクションプロセスは、メモリ領域１１２、１１４、及び１１６から、不揮発性メモリ１５０にページを移動させる。一実施形態では、このプロセスは圧縮コンテナ１３０の利用を含む。圧縮コンテナ１３０は、アドレス空間１１０の外部の、システムＲＡＭ内の領域若しくは構造とすることができ、又は圧縮コンテナ１３０は、システムＲＡＭと結合される異なるメモリデバイス内に存在し得る。一実施形態では、圧縮コンテナ１３０は、オペレーティングシステムのカーネルアドレス空間内部に存在する。
【００１５】
一実施形態では、メモリ領域１１２、１１４、及び１１６からのページは、圧縮コンテナ１３０内部に、より圧縮された方式で（例えば、連続的に、最少数のページなどで）格納される。別の実施形態では、それらのページに対するポインタを圧縮コンテナ１３０内に格納することができる。一実施形態では、メモリ領域１１２、１１４、及び１１６のコンテンツは、不揮発性メモリ１５０にコピーされる。一実施形態では、それらのページは単一の書き込み操作で、又は１ページごとに単一の書き込み操作で不揮発性メモリ１５０にコピーされる。
【００１６】
不揮発性メモリ１５０に移動されたページが要求されると、圧縮コンテナ１３０を通じて、その不揮発性メモリ１５０内のデータのロケーションを判定することができる。次いで、それらのページを、不揮発性メモリ１５０からアドレス空間１１０に転送して戻すことができる。同じメモリ領域を使用することもでき、又は異なるメモリ領域を使用することもできる。
【００１７】
図２は、第１メモリと第２メモリとの間のデータ移動に関する技術の一実施形態の流れ図である。図２の技術を利用して、例えば図１に示すようにメモリタイプ間でページを転送することができる。
【００１８】
プロセスに関するページが、エビクションさせるために指定されると、そのプロセスに対応するアドレス空間（例えば、図１の１１２、１１４、１１６）が凍結される（２１０）。アドレス空間が凍結されると、そのプロセスは、メモリロケーションへの書き込み及びメモリロケーションのコンテンツの変更を阻止される。それゆえ、転送されるメモリのコンテンツは、そのプロセスと一貫したものとなる。
【００１９】
そのプロセスに関するアドレス空間を辿る（２２０）。プロセスに関するアドレス空間を辿る際、凍結されてＲＡＭから転送されるメモリのページについての情報が収集される。一実施形態では、ＲＡＭから転送されるページに関しては、その常駐ページのためのポインタが圧縮コンテナに移動される（２３０）。別の実施形態では、そのメモリロケーションのコンテンツを、ＲＡＭから転送される圧縮コンテナにコピーすることができる。一実施形態では、複数のプロセス間でデータを共有するページはエビクションの候補とはならない。
【００２０】
次いで、それらのページは、ＲＡＭから不揮発性メモリ（例えば、フラッシュメモリ）にコピーされる（２４０）。一実施形態では、それらのページは、単一のＩ／Ｏ操作で不揮発性メモリに書き込まれ、このことは、不揮発性メモリに対する劣化を低減するために役立ち得る。代替的実施形態では、複数の書込み操作を実行することができる。
【００２１】
ページが移動されたアドレス空間のロケーションが、再利用可能にされる（２５０）。次いで、この再利用可能にされたメモリロケーションを、他のプロセスによって使用することができる。図２のプロセスは、他のプロセスに関しても同様に繰り返すことができる。
【００２２】
図３は、不揮発性メモリからＲＡＭにデータを転送するための技術の一実施形態の流れ図である。図３のプロセスを使用して、例えば図２に関して上述されたように、例えば、プロセスが従前に凍結され、かつ／又はデータがエビクションされている場合に、フラッシュメモリからページを回収することができる。
【００２３】
エビクションされたページに対する要求が受け取られる（３１０）。この要求は、従前に凍結されたプロセスの再活性化、すなわち解凍の結果とすることができる。この要求は、そのプロセスに関する、従前にエビクションされたページの一部分に対するものとすることができ、又はこの要求は、そのプロセスに関する、従前にエビクションされたページの全てに対するものとすることができる。
【００２４】
アドレス空間内の（例えば、ＲＡＭ内の）そのメモリロケーションに関する、圧縮コンテナへのリンクを追跡する（３２０）。このリンク並びに／あるいは他の情報を利用して、圧縮コンテナ内での、そのデータのロケーション及び／又は状態を判定することができる。ページのロケーションが判定される（３３０）。
【００２５】
次いで、それらのページが不揮発性メモリからＲＡＭにコピーされる（３４０）。一実施形態では、それらのページは、不揮発性メモリへの単一の読み取りによって回収される。次いで、その不揮発性のメモリロケーションを他のデータのために使用することができる（３５０）。
【００２６】
図４は、第１メモリと第２メモリとの間のデータ移動を管理するためのエージェントの一実施形態のブロック図である。データ転送エージェント４００は、データ転送エージェント４００の動作を指示するための論理機能制御を実装する制御論理４１０、及び／又はデータ転送エージェント４００の動作指示に関連するハードウェアを含む。論理は、ハードウェア論理回路及び／又はソフトウェアルーチンとすることができる。一実施形態では、データ転送エージェント４００は、制御論理４１０に命令を提供するコード列及び／又はプログラムを表す１つ以上のアプリケーション４１２を含む。
【００２７】
データ転送エージェント４００は、データ及び／又は命令を格納するためのメモリデバイス、及び／又はメモリリソースへのアクセスを表す、メモリ４１４を含む。メモリ４１４は、データ転送エージェント４００にローカルなメモリを含み、並びに、又は代替的には、データ転送エージェント４００が常駐するホストシステムのメモリを含み得る。データ転送エージェント４００はまた、データ転送エージェント４００の外部のエンティティ（電子的エンティティ、又は人間）に関する、データ転送エージェント４００への／からのアクセスインターフェース（例えば、入力／出力インターフェース、アプリケーションプログラミングインターフェース）を表す１つ以上のインターフェース４１６も含む。
【００２８】
データ転送エージェント４００はまた、本明細書で説明されるようなページに対する拡大及び／又は縮小を、データ転送エージェント４００が提供することを可能にする、１つ以上の機能を表すデータ転送エンジン４２０も含む。データ転送エンジン４２０内に含めることができる例示的モジュールとしては、プロセスメモリモジュール４３０、圧縮コンテナマネージャ４４０、リンクマネージャ４５０、及びメモリ転送モジュール４６０が挙げられる。本明細書で使用するとき、モジュールとは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの一部の組合せのいずれかで実装される、ルーチン、サブシステムなどを指す。
【００２９】
プロセスメモリモジュール４３０は、各プロセスに関する状態を判定するように動作し、また他のパラメーター、例えばそれらのプロセスに関連する優先度又は許容可能なメモリ消費量なども管理することができる。プロセスメモリモジュール４３０は、それらのプロセスの状態も同様に制御することができる。プロセスメモリモジュール４３０は、より高い優先度のプロセスが追加のメモリを必要とする場合に、プロセスを凍結するように動作することができる。
【００３０】
圧縮コンテナマネージャ４４０は、本明細書で説明されるような圧縮コンテナの動作及び機能性を制御するように動作する。圧縮コンテナマネージャ４４０は、圧縮コンテナ内部のデータ構造を管理することができ、加えて、圧縮コンテナの動作及び機構をリンクさせることにより、本明細書で説明される機能性を提供する。
【００３１】
リンクマネージャ４５０は、データ構造とメモリロケーションとのリンク、例えば圧縮コンテナと不揮発性メモリとのリンクを追跡及び維持するように動作する。リンクマネージャ４５０は、ＲＡＭに転送して戻すためのデータに対する要求に応答して、不揮発性メモリ内でデータを検索するように動作することができる。
【００３２】
メモリ転送マネージャ４６０は、不揮発性メモリからの読み取り及び不揮発性メモリへの書き込みを制御するように動作する。一実施形態では、メモリ転送マネージャ４６０は、最少数の書き込み操作で、不揮発性メモリにデータを書き込ませる。同様に、メモリ転送マネージャ４６０は、最少数の読み取りで、不揮発性メモリからデータを読み取らせる。このことにより不揮発性メモリに対する劣化を低減することができる。
【００３３】
図５は、モバイルデバイスの例示的実装のブロック図５００である。このモバイルデバイスは、メモリインターフェース５０２、１つ以上のデータプロセッサ、画像プロセッサ、及び／又は中央演算処理装置５０４、並びに周辺機器インターフェース５０６を含み得る。メモリインターフェース５０２、１つ以上のプロセッサ５０４、及び／又は周辺機器インターフェース５０６は別個の構成要素とすることができ、あるいは１つ以上の集積回路内に統合することもできる。これらのモバイルデバイス内の様々な構成要素は、１つ以上の通信バス又は信号線によって結合することができる。
【００３４】
周辺機器インターフェース５０６に、センサ、デバイス、及びサブシステムを結合することにより、多機能性を促進することができる。例えば、モーションセンサ５１０、光センサ５１２、及び近接センサ５１４を、周辺機器インターフェース５０６に結合することにより、配向、採光、及び近接性の機能を促進することができる。測位システム（例えば、ＧＰＳ受信器）、温度センサ、生体測定センサ、又は他の検出器等の、他のセンサ５１６もまた、周辺機器インターフェース５０６に結合することにより、関連する機能性を促進することができる。
【００３５】
カメラサブシステム５２０及び光学センサ５２２（例えば、電荷結合素子（ＣＣＤ）又は相捕型金属酸化膜半導体（ＣＭＯＳ）光学センサ）を利用して、写真及びビデオクリップの記録等のカメラ機能を促進することができる。
【００３６】
１つ以上の無線通信サブシステム５２４を通じて、通信機能を促進することができ、それらのサブシステムとしては、無線周波受信器及び送信器、並びに／あるいは光（例えば、赤外線）受信器及び送信器を挙げることができる。通信サブシステム５２４の具体的な設計及び実装は、このモバイルデバイスが動作することを目的とする、通信ネットワークに応じて変化し得る。例えば、モバイルデバイスは、ＧＳＭネットワーク、ＧＰＲＳネットワーク、ＥＤＧＥネットワーク、Ｗｉ−Ｆｉ若しくはＷｉＭａｘネットワーク、及びＢｌｕｅｔｏｏｔｈ（商標）ネットワーク上で動作するように設計された通信サブシステム５２４を含み得る。特に、無線通信サブシステム５２４は、このモバイルデバイスを、他の無線デバイスのための基地局として構成することができるようなホスティングプロトコルを含み得る。
【００３７】
オーディオサブシステム５２６をスピーカー５２８及びマイクロホン５３０に結合することにより、音声認識機能、音声複製機能、デジタル録音機能、及び電話機能等の音声使用可能な機能を促進することができる。
【００３８】
Ｉ／Ｏサブシステム５４０は、タッチスクリーンコントローラ５４２及び／又は他の入力コントローラ５４４を含み得る。タッチスクリーンコントローラ５４２は、タッチスクリーン５４６に結合することができる。タッチスクリーン５４６及びタッチスクリーンコントローラ５４２は、例えば、複数のタッチ感度技術のうちのいずれかを使用して、接触及び移動を検出する、あるいは接触及び移動の中断を検出することができ、それらのタッチ感度技術としては、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術に加えて、タッチスクリーン５４６との１つ以上の接触点を判定するための、他の近接センサアレイ又は他の要素が挙げられるが、これらに限定されない。
【００３９】
他の入力コントローラ５４４は、１つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、ＵＳＢポート、及び／又はスタイラス等のポインタデバイスのような他の入力／制御デバイス５４８に結合することができる。１つ以上のボタン（図示せず）は、スピーカー５２８及び／又はマイクロホン５３０の音量調節のためのアップ／ダウンボタンを含み得る。
【００４０】
一実装形態では、第１の持続時間でボタンを押すことにより、タッチスクリーン５４６のロックを解除することができ、第１の持続時間よりも長い第２の持続時間でボタンを押すことにより、モバイルデバイスへの電源をオン／オフすることができる。ユーザは、１つ以上のボタンの機能性をカスタマイズすることが可能である。タッチスクリーン５４６はまた、例えば、仮想ボタン若しくはソフトボタン、及び／又はキーボードを実装するために使用することもできる。
【００４１】
一部の実装形態では、このモバイルデバイスは、ＭＰ３ファイル、ＡＡＣファイル、及びＭＰＥＧファイル等の記録されたオーディオファイル及び／又はビデオファイルを提示することができる。一部の実装形態では、このモバイルデバイスは、ｉＰｏｄ（商標）等のＭＰ３プレーヤーの機能性を含み得る。それゆえ、このモバイルデバイスは、ｉＰｏｄ（商標）に対応する３２ピンコネクタを含み得る。他の入力／出力及び制御デバイスもまた、使用することができる。
【００４２】
メモリインターフェース５０２は、メモリ５５０に結合することができる。メモリ５５０は、高速のランダムアクセスメモリ、並びに／あるいは、１つ以上の磁気ディスク記憶装置、１つ以上の光記憶装置、及び／又はフラッシュメモリ（例えば、ＮＡＮＤ、ＮＯＲ）等の不揮発性メモリを含み得る。メモリ５５０は、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ、又はＶｘＷｏｒｋｓ等の組み込みオペレーティングシステム等のオペレーティングシステム５５２を格納することができる。オペレーティングシステム５５２は、基本システムサービスを処理するための命令、及びハードウェア依存タスクを実行するための命令を含み得る。一部の実装形態では、オペレーティングシステム５５２は、カーネル（例えば、ＵＮＩＸカーネル）とすることができる。メモリインターフェース５０２はまた、例えばフラッシュメモリとすることができる、不揮発性メモリ５７５にも結合することができる。
【００４３】
メモリ５５０はまた、１つ以上の追加デバイス、１つ以上のコンピュータ、及び／又は１つ以上のサーバとの通信を促進するための通信命令５５４も格納することができる。メモリ５５０は、グラフィカルユーザインターフェース処理を促進するためのグラフィカルユーザインターフェース命令５５６、センサ関連の処理及び機能を促進するためのセンサ処理命令５５８、電話関連のプロセス及び機能を促進するための電話命令５６０、電子メッセージ通信関連のプロセス及び機能を促進するための電子メッセージ通信命令５６２、ウェブ閲覧関連のプロセス及び機能を促進するためのウェブ閲覧命令５６４、メディア処理関連のプロセス及び機能を促進するためのメディア処理命令５６６、ＧＰＳ／ナビゲーション関連のプロセス及び指示を促進するためのＧＰＳ／ナビゲーション命令５６８、カメラ関連のプロセス及び機能を促進するためのカメラ命令５７０、並びに／あるいは他のプロセス及び機能（例えば、アクセス制御管理機能）を促進するための他のソフトウェア命令５７２を含み得る。
【００４４】
メモリ５５０はまた、ウェブビデオ関連のプロセス及び機能を促進するためのウェブビデオ命令、並びに／あるいはウェブショッピング関連のプロセス及び機能を促進するためのウェブショッピング命令等の他のソフトウェア命令（図示せず）も格納することができる。一部の実装形態では、メディア処理命令５６６は、例えばオーディオ処理関連のプロセス及び機能を促進するためのオーディオ処理命令と、ビデオ処理関連のプロセス及び機能を促進するためのビデオ処理命令とに、それぞれ分割することができる。駆動レコード及び国際移動体装置識別番号（ＩＭＥＩ）５７４、あるいは同様のハードウェア識別子もまた、メモリ５５０内に格納することができる。
【００４５】
本明細書中での「一実施形態」又は「実施形態」への言及は、その実施形態に関連して説明される具体的な機構、構造、若しくは特性が、本発明の少なくとも１つの実施形態に含まれることを意味する。本明細書中の様々な箇所での、語句「一実施形態では」の使用は、必ずしも全てが同じ実施形態に言及しているものではない。
【００４６】
上述の明細書では、本発明は、その特定の実施形態を参照して説明されている。しかしながら、より広範な本発明の趣旨及び範囲から逸脱することなく、それらの実施形態に様々な修正及び変更を加えることができる点が明白となるであろう。したがって、本明細書及び図面は、限定的な意味ではなく、例示的な意味で考慮されるべきである。
【図１】
0005827403.tif 000002
【図２】
0005827403.tif 000003
【図３】
0005827403.tif 000004
【図４】
0005827403.tif 000005
【図５】
0005827403.tif 000006