キャッシュをセグメント化するための方法であって、キャッシュ情報を格納するための第1の不揮発性メモリを複数のセグメントに分割するステップと、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、前記複数のセグメントのうちの第1のセグメントにピン留めするステップを含み、ピン留めされた前記第1のセグメントは、前記第1のタイプのソフトウェアに関連するキャッシュ情報を格納する、方法。前記ピン留めするステップは、前記複数のタイプのソフトウェアのうちの第2のタイプのソフトウェアを、前記複数のセグメントのうちの第2のセグメントにピン留めし、ピン留めされた前記第2のセグメントは、前記第2のタイプのソフトウェアに関連するキャッシュ情報を格納する、請求項1の方法。前記第1及び第2のタイプのソフトウェアは、あるタイプのアプリケーションと、オペレーティングシステムOSに関連するあるタイプのプロセスとのうちの少なくとも一方であり、前記アプリケーションは、ウェブブラウザ、ユーザーアプリケーション、及びベンダーアプリケーションのうちの少なくとも1つであり、前記プロセスは、ブートプロセス、休止プロセス、シャットダウンプロセス、及びスリーププロセスのうちの少なくとも1つである、請求項2の方法。前記ピン留めするステップは、前記複数のセグメントのうちの第3のセグメントをピン留めせず、前記ピン留めするステップは、前記第1のセグメントが一杯の場合には、前記第1のタイプのソフトウェアに関連するキャッシュ情報を前記第3のセグメントに格納し、前記ピン留めするステップは、前記第2のセグメントが一杯の場合には、前記第2のタイプのソフトウェアに関連するキャッシュ情報を前記第3のセグメントに格納する、請求項3の方法。前記分割するステップは、最初に、ベンダー仕様、ユーザーコマンド、及び、前記第1の不揮発性メモリのサイズのうちの少なくとも1つに基づいて、前記複数のセグメントのセグメントの数及びサイズを設定し、前記分割するステップは、前記ユーザーコマンドと前記複数のタイプのソフトウェアの使用形態との少なくとも一方に基づいて、前記複数のセグメントの前記数と前記サイズとの少なくとも一方を動的に変化させる、請求項1の方法。前記ピン留めするステップは、前記複数のタイプのソフトウェアの使用形態とユーザーコマンドとの少なくとも一方に基づいて、前記複数のタイプのソフトウェアのうちの1つのタイプのソフトウェアを、前記複数のセグメントのうちの1つのセグメントに動的にピン留めする、請求項1の方法。前記ピン留めするステップは、前記第1のタイプのソフトウェアに分類される第1及び第2のアプリケーションの使用率を決定し、前記ピン留めするステップは、前記決定された使用率に基づいて、前記第1及び第2のアプリケーションの一方を前記ピン留めされた第1のセグメントに動的にピン留めする、請求項1の方法。前記ピン留めするステップは、前記第1のタイプのソフトウェアを変更することと前記第1のタイプのソフトウェアを起動することとのうちの少なくとも一方が実施された場合に、前記ピン留めされた第1のセグメントを更新し、前記ピン留めするステップは、前記ピン留めされた第1のセグメントから前記第1のタイプのソフトウェアを起動することと、前記第1のタイプのソフトウェアの呼び出しを前記ピン留めされた第1のセグメントに向けることとの少なくとも一方を実施する、請求項1の方法。前記第1の不揮発性メモリを備える少なくとも1つの装置が低電力状態に移行することになり、かつ、ユーザーが、前記複数のセグメントのうちの消去すべき1以上のセグメントを選択した場合には、該1以上のセグメントを個別に消去するステップをさらに含む、請求項1の方法。前記消去するステップは、前記装置が前記低電力状態に移行する前に前記1以上のセグメントの消去が完了しない場合には、前記装置が高電力状態に戻ったときに前記1以上のセグメントの消去を続行し、前記消去が完了するまでは、前記1以上のセグメントは、前記キャッシュ情報を格納するためには使用できない、請求項9の方法。命令を格納している非一時的なコンピュータ可読記憶媒体であって、前記命令は、装置のプロセッサによって実行されると、該プロセッサに、キャッシュ情報を格納するための第1の不揮発性メモリを複数のセグメントにセグメント化するステップと、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、前記複数のセグメントのうちの第1のセグメントにピン留めするステップを実行させ、ピン留めされた前記第1のセグメントは、前記第1のタイプのソフトウェアに関連するキャッシュ情報を格納することからなる、コンピュータ可読記憶媒体。前記プロセッサによって実行されると、該プロセッサに、前記複数のタイプのソフトウェアのうちの第2のタイプのソフトウェアを、前記複数のセグメントのうちの第2のセグメントにピン留めするステップを実行させる命令をさらに含み、前記ピン留めされた第2のセグメントは、前記第2のタイプのソフトウェアに関連するキャッシュ情報を格納し、ユーザーコマンド、ベンダー仕様、及び使用率のうちの少なくとも1つに基づいて、前記第1と前記第2のタイプのソフトウェアのうちの少なくとも一方がピン留めされるために選択される、請求項11のコンピュータ可読記憶媒体。前記プロセッサによって実行されると、該プロセッサに、前記第1のセグメントが一杯の場合には、前記第1のタイプのソフトウェアに関連する情報を、前記複数のセグメントのうちの第3のセグメントに格納するステップと、前記第2のセグメントが一杯の場合には、前記第2のタイプのソフトウェアに関連する情報を前記第3のセグメントに格納するステップを実行させる命令をさらに含む、請求項12のコンピュータ可読記憶媒体。キャッシュ情報を格納するための第1の不揮発性メモリと、前記第1の不揮発性メモリを複数のセグメントに分割するためのセグメント化モジュールと、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、前記複数のセグメントのうちの第1のセグメントにピン留めするためのピン留めモジュールを備え、ピン留めされた前記第1のセグメントは、前記第1のタイプのソフトウェアに関連するキャッシュ情報を格納することからなる、装置。前記第1のタイプのソフトウェアを格納するための第2の不揮発性メモリと、前記第1及び前記第2の不揮発性メモリを制御するためのメモリコントローラをさらに備え、前記セグメント化モジュール及び前記ピン留めモジュールは、前記複数のセグメントの生成とピン留めの少なくとも一方を実施するために、オペレーティングシステムOSを介して前記メモリコントローラと通信する、請求項14の装置。以下、添付の図面を参照して詳細に説明する。実施形態を十分に理解できるようにするために、以下の説明において特定の細部が与えられている。しかしながら、当業者には、それらの特定の細部がなくても実施形態を実施できることが理解されよう。たとえば、いくつかのブロック図では、不要な細部に関して実施形態が不明瞭にならないようにシステムを図示している場合がある。他の例では、実施形態が不明瞭にならないようにするために、周知のプロセス、構成、及び技術については、不要な細部は省いて説明ないし図示されている場合がある。コンピューティング装置は、ハードディスクドライブHDDなどの比較的低速の記憶装置に加えて、フラッシュメモリなどの比較的高速の記憶装置を備えている場合がある。比較的高速の記憶装置の方が比較的低速の記憶装置よりも待ち時間が短いであろう。コンピューティング装置は、キャッシュ情報などのより頻繁にアクセスされる情報を、比較的低速の記憶装置ではなく、比較的高速の記憶装置に格納することによって性能を高めることができる。たとえば、コンピューティング装置は、頻繁にアクセスされるソフトウェアコード及び/またはそのデータを含むキャッシュ情報を格納するためのキャッシュとして比較的高速の記憶装置を使用することができる。コンピューティング装置は、比較的高速の記憶装置にある最新のキャッシュ情報を比較的低速の記憶装置にただちに書き込むライトスルーか、または、ある時間経過後に書き込むライトバックことができる。たとえば、キャッシュをクリアした後に、比較的高速の記憶装置内の非一時的ファイルを比較的低速の記憶装置にミラーリング複製することができる。しかしながら、比較的高速の記憶装置は、コンピューティング装置によって使用されているキャッシュ情報の全てを格納するのに十分な記憶容量を有していない場合がある。また、キャッシュミスの際などに、キャッシュ情報を比較的高速な記憶装置から取り出すことができない場合には、該比較的高速な記憶装置には存在しないキャッシュ情報は比較的低速な記憶装置から取り出されるだろう。したがって、比較的高速の記憶装置の記憶容量は、コンピューティング装置の性能に対するボトルネックとして間接的に作用しうる。さらに、比較的高速の記憶装置は、一般に、比較的低速の記憶装置に比べて、単位記憶容量あたりのコストがかなり高いので、通常は、比較的高速の記憶装置の記憶容量を増やすことができない。さらに、第1のアプリケーションがユーザーによって連続的に使用されるにつれて、第1のアプリケーションのより多くのキャッシュ情報を比較的高速の記憶装置に格納していくことができ、これによって、第1のアプリケーションの応答性を次第に向上させることができ、及び/または、該アプリケーションの性能を向上させることができる。たとえば、第1のアプリケーションの起動または実行動作が次第に速くなりうる。しかしながら、ユーザーが第2のアプリケーションの使用を開始すると、この応答性は失われうる。なぜなら、ユーザーは、第2のアプリケーションのキャッシュ情報が比較的高速の記憶装置に徐々に格納されていくのを待つことになるからである。さらに、比較的高速の記憶装置の記憶容量が限られているために、第1のアプリケーションのキャッシュ情報が第2のアプリケーションのキャッシュ情報で上書きされる場合がある。したがって、ユーザーが第1のアプリケーションに切り替えて戻った場合には、第1のアプリケーションの切り替えた後の最初のうちの応答性は、以前よりも劣る場合がある。このように、比較的高速の記憶装置に現在使用しているアプリケーションのキャッシュ情報が格納されていくのを待つことに起因して、新たに起動したアプリケーションは即座に応答することができず、及び/または、以前使用したアプリケーションに戻ったときに応答性が失われる場合がある。本発明の実施形態によれば、第1のアプリケーションなどのソフトウェアに最初にアクセスする場合でも、または、第1のアプリケーションなどのソフトウェアにアクセスしている間に第2のアプリケーションなどの別のアプリケーションが頻繁に使用される場合でも、第1のアプリケーションなどのソフトウェアが、即座に応答するようにすることができ、または、初期の期間により良好な応答性を有するようにすることができる。たとえば、いくつかの実施形態では、比較的高速な記憶装置をセグメントに分割することができる。それらのセグメントのうちの少なくとも1つのセグメント、たとえば第1のセグメントを、第1のアプリケーションなどのあるタイプのソフトウェアにピン留めするすなわち、固定的に割り当てる。尚、ピン留めするの具体的意味は後述ことによって、当該タイプのソフトウェアのキャッシュ情報だけを格納するようにすることができる。さらに、当該タイプのソフトウェアのキャッシュ情報を、当該タイプのソフトウェアにアクセスする前であっても、当該タイプのソフトウェアにピン留めされたセグメントに格納することができる。たとえば、第1のアプリケーションを第1のセグメントにピン留めすることができる。したがって、第1のアプリケーションにアクセスする前であっても、第1のアプリケーションのキャッシュ情報のうちの少なくともいくつかたとえば、第1のアプリケーションを起動するためのソフトウェアコードを第1のセグメントに格納することができる。それゆえ、ユーザーが第1のアプリケーションに最初にアクセスしたときでも、第1のアプリケーションをより速く起動させることなどによって、第1のアプリケーションの応答性をより良好にすることができる。ユーザーが、第2のアプリケーションを頻繁に使用した後、再び第1のアプリケーションに切り替えて戻る場合がある。それにもかかわらず、第1のアプリケーションの応答性は維持されるであろう。なぜなら、第1のアプリケーションのキャッシュ情報は第1のセグメントに保持されているであろうからである。図1は、複数のセグメント142-1~142-nを含む第1の不揮発性メモリ140を有する装置100のブロック図の1例である。装置100の例には、ノート型コンピュータまたはノートパソコン、デスクトップコンピュータ、オールインワンシステム、スレートコンピューティング装置、携帯型読取装置、無線電子メール装置、及び携帯電話などを含めることができる。図1の実施形態では、装置100は、プロセッサ110、セグメント化モジュール120、ピン留めモジュール130ピン留めモジュールは固定化モジュールともいう、及び、第1の不揮発性メモリ140を備えている。第1の不揮発性メモリ140はさらに、複数のセグメント142-1~142-nnは1より大きな自然数を備えている。プロセッサ110を、第1の不揮発性メモリ140から命令を取り出して実行するのに適したCPU、GPU、またはマイクロプロセッサ、及び/または、後述のモジュール120、130のうちの任意のモジュールの機能を実行するように構成された電子回路とすることができる。第1の不揮発性メモリ140を、電力が供給されていないときでも格納されている情報を保持する任意の電子記憶装置、磁気記憶装置、光学記憶装置、もしくはその他の物理的記憶装置などの1以上の不揮発性機械可読記憶媒体とすることができる。第1の不揮発性メモリ140の例には、ソリッドステートドライブSSDやフラッシュメモリを含めることができる。モジュール120、130の各々は、たとえば、後述の機能を実施するための電子回路を有するハードウェア装置を備えることができる。これに加えて、または、これに代えて、それぞれのモジュールを、第1の不揮発性メモリ140などの機械可読記憶媒体における符号化された一連の命令であって、プロセッサ110によって実行可能な一連の命令として実施することができる。いくつかの実施形態では、モジュール120、130のうちの一部分をハードウェア装置として実施し、他の部分を実行可能命令として実施することができる。たとえば、モジュール120、130を、装置100上で動作するオペレーティングシステムOS不図示によって実行されるアプリケーションの一部として実施することができる。第1の不揮発性メモリ140を、キャッシュ情報を格納するためのキャッシュとして使用することができる。第1の不揮発性メモリ140は、装置100の第2の不揮発性メモリ不図示よりも待ち時間が短いものとすることができる。第2の不揮発性メモリは、第1のタイプ及び/または第2のタイプのソフトウェアなどの複数のタイプのソフトウェアを格納することができる。第2の不揮発性メモリを、電力が供給されていないときでも格納されている情報を保持する任意の電子記憶装置、磁気記憶装置、光学記憶装置、もしくはその他の物理的記憶装置などの1以上の不揮発性機械可読記憶媒体とすることができる。第2の不揮発性メモリの例には、ハードディスクドライブHDDや記憶ドライブ磁気ディスク装置などを含めることができる。キャッシュ情報は、ソフトウェア命令及び/または該命令に関連するデータたとえば、ユーザーもしくはソフトウェアによって生成されもしくは変更されるメタデータ及び/もしくはデータなどの、再使用されるか頻繁に使用される可能性が高い情報を含むことができる。キャッシュデータにより高速にアクセスするために、たとえば、OSやアプリケーションやウェブブラウザなどの複数のタイプのソフトウェアのキャッシュ情報、または、プロセッサ110や別のメモリなどのハードウェアのキャッシュ情報を第1の不揮発性メモリ140に格納することができる。セグメント化モジュール120は、第1の不揮発性メモリ140を複数のセグメント142-1~142-nに分割するためのものである。セグメント142-1~142-nのセグメントの数、及び、セグメント142-1~142-nの各々のセグメントのサイズ大きさを変更可能とすることができる。ピン留めモジュール130は、複数のタイプのソフトウェアのうちの1以上のタイプのソフトウェアを複数のセグメント142-1~142-nのうちの1以上のセグメントにピン留めすることができる。たとえば、ピン留めモジュール130は、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第1のセグメント142-1にピン留めすることができる。ピン留めモジュール130はさらに、たとえば、複数のタイプのソフトウェアのうちの第2のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第2のセグメント142-2にピン留めすることができる。この場合、ピン留めされた第2のセグメント142-2は、該第2のタイプのソフトウェアに関連するキャッシュ情報を格納する。第2のセグメント142-2を、複数のセグメント142-1~142-nのうちのまだピン留めされていない任意のセグメントとすることができる。いくつかの実施形態は、最大で、複数のセグメント142-1~142-nの全てがピン留めされる場合を含むことができる。しかしながら、一般に、複数のセグメント142-1~142-nのうちの1つ、たとえば第3のセグメント142-3を、汎用キャッシュ汎用的に使用される一般的なキャッシュとして動作するようにピン留めされないままとすることができる。第1の不揮発性メモリ140の1例については、図2に関してより詳細に後述する。セグメント142-1~142-nのうちの1つをピン留めするとは、該ピン留めされたセグメントのメモリ空間を特定の用途専用に確保すること、すなわち、該メモリ空間を特定の用途専用のものとして割り当てることを意味する。そのため、第1のタイプのソフトウェアが第1のセグメント142-1にピン留めされた場合には、ピン留めされた第1のセグメント142-1は、該第1のタイプのソフトウェアに関連するキャッシュ情報を格納することができる。さらに、ピン留めされた第1のセグメント142-1は、該第1のタイプのソフトウェアに関連しないどのキャッシュ情報たとえば、第2のタイプのソフトウェアのキャッシュ情報も格納することはできない。これらタイプのソフトウェアの例には、OS、または、ブートプロセスや休止プロセスハイバネーションプロセスともいう。以下同じやシャットダウンプロセスやスリーププロセスなどのプロセス、または、ウェブブラウザ、または、グラフィックス画像ないし図形編集プログラムやCADプログラムエディタなどの生産性向上ツール、または、ソフトウェアフレームワーク、または、ユーザーアプリケーション、または、ベンダーアプリケーションなどの少なくとも一部を含めることができる。これらのタイプのソフトウェアのうちの1つ、たとえば第1のタイプのソフトウェアが、セグメント142-1~142-nのうちの1つ、たとえば第1のセグメント142-1にピン留めされたときは、ピン留めモジュール130は、第1のセグメント142-1に対して最も頻繁に使用される、第1のタイプのソフトウェアに関連するファイルもしくは論理ブロックアドレスLBAなどのコード及び/もしくはデータを格納することができる。たとえば、該コードは、ソースコード及び/またはランタイムコードruntimecodeを含むことができ、該データは、メタデータ及び/またはユーザーデータを含むことができる。さらに、該コードのうちの少なくともいくつか、たとえば第1のタイプのソフトウェアを起動させるためのコードを、該第1のタイプのソフトウェアが最初に起動される前であっても、第1のセグメント142-1に格納することができ、これによって、該第1のタイプのソフトウェアをより速く起動させることができる。その場合は、第1のタイプのソフトウェアの呼び出しまたは第1のタイプのソフトウェアに対する要求を、第2の不揮発性メモリから第1の不揮発性メモリ140に向けて送ることができる。さらに、第1のタイプのソフトウェアが、起動され及び/または変更されたとき、並びに、第1のセグメント142-1がアクセスされたときに、第1のセグメント142-1を、第1のタイプのソフトウェアのコードで更新することができる。この代わりに、または、これに加えて、第1のセグメント142-1を、第1のタイプのソフトウェアの使用率に基づいて更新することができる。あるタイプのソフトウェアの使用率とは、所定の時間の間に該あるタイプのソフトウェアがアクセスされる回数及び/または変更される回数を意味する。たとえば、第1のタイプのソフトウェアの使用率が使用率のある閾値使用率閾値より大きい場合には、ピン留めモジュール130は、第1のセグメント142-1を更新することができる。ピン留めモジュール130は、第1のセグメント142-1の旧バージョンを置き換えるために、第2の不揮発性メモリに格納されている第1のタイプのソフトウェアのファイルまたはLBAの最新バージョンを第1のセグメント142-1に転送するまたはプッシュすることによって、第1のセグメント142-1を更新することができる。図1は、セグメント142-1~142-nのうちの1つに1つのタイプのソフトウェアだけがピン留めされる場合を説明するものであるが、いくつかの実施形態は、セグメント142-1~142-nのうちの1つに2以上のタイプのソフトウェアがピン留めされる態様を含むことができる。セグメント142-1~142-nのサイズ及び数、並びに、セグメント142-1~142-nのうちの任意のセグメントにピン留めされるソフトウェアのタイプを、たとえば、ベンダー及び/またはユーザー及び/またはモジュール120及び130によって決定することができる。さらに、いくつかの実施形態では、セグメント142-1~142-nのサイズ、数、及びピン留めのうちの任意のものを、静的なものとすることができ、または、動的に変更することができる。静的という用語は、固定されている状態、すなわち、変更できない状態を意味する。たとえば、ユーザーは、静的なセグメントのサイズまたは該セグメントにピン留めされたソフトウェアのタイプを変更することはできない。ピン留めモジュール130は、どのタイプのソフトウェアをセグメント142-1~142-nのうちのどのセグメントにピン留めするかを、それらのタイプのソフトウェアの使用率に基づいて決定することができる。1例では、ベンダー装置100のメーカーないし販売業者などは、装置100が速くブートするのを確保しようとする場合がある。そのため、ベンダーは、装置100のブート時間を短くするために、第1のセグメント142-1を生成して、ブートプロセスなどのOSプロセスを第1のセグメント142-1に静的にすなわち不変的にピン留めすることができる。第1の不揮発性メモリ140は電力が供給されなくても情報を保持することができるので、ブートプロセスに関連するキャッシュ情報は、装置100の電源が切られている場合でも失われないだろう。別の例では、ユーザーは、グラフィカルユーザーインターフェースGUIを介して、セグメント142-1~142-nのサイズを変更し、及び/または、セグメント142-1~142-n中のセグメントを削除もしくは追加し、及び/または、セグメント142-1~142-nにピン留めするソフトウェアのタイプを変更することができる。GUIは、装置100のOS上で動作することができ、アプリケーションプログラミングインターフェースAPIを介して第1の不揮発性メモリ140と相互作用することができる。さらに他の例では、セグメント化モジュール120及び/またはピン留めモジュール130は、適合アルゴリズムを用いて、セグメント142-1~142-nのサイズ及び/または数及び/またはピン留めを動的に変更することができる。たとえば、セグメント化モジュール120は、セグメント142-1~142-nのうち通常は完全には一杯ではないすなわち、通常は記憶容量の全てが使用されているわけではないセグメントのサイズを自動的に小さくすることができ、または、セグメント142-1~142-nのうち通常は完全に一杯であるすなわち、通常は記憶容量の全てが使用されている別のセグメントのサイズを自動的に大きくすることができる。あるタイプのソフトウェアの応答性は、該ソフトウェアにピン留めされているセグメントのサイズの関数でありうる。セグメント化モジュール120はまた、セグメント142-1~142-nのうち、該タイプのソフトウェアにピン留めされているアクセス頻度が低いセグメントを削除し、これによって、セグメント142-1~142-nのうちアクセス頻度が高い別のセグメントのサイズを大きくすることができる。装置100は、1つのタイプのソフトウェアに対して複数の実体を備えることもできる。たとえば、装置100は、インターネットエクスプローラーInternetExplorerやファイアフォックスFirefoxなどの2つのウェブブラウザを備えることができる。この場合、ウェブブラウザタイプのソフトウェアの全ての実体のキャッシュ情報を、該ウェブブラウザタイプのソフトウェアにピン留めされたセグメント、たとえば第3のセグメント142-3に送ることができる。代替的には、ユーザー及び/またはベンダー及び/またはピン留めモジュール130は、あるタイプのソフトウェアのどの実体をピン留めするかを決定することができる。たとえば、ユーザーは、インターネットエクスプローラーよりもファイアフォックスをより多く使用するために、該ユーザーは、ファイアフォックスを第3のセグメント142-3にピン留めすることができるが、インターネットエクスプローラーを第3のセグメント142-3にピン留めしないようにすることができる。ピン留めモジュール130は、使用率に基づいて、単一のタイプのソフトウェアのどの実体をピン留めするかを決定することができる。たとえば、ピン留めモジュール130は、最も高い使用率を有する実体をピン留めすることができる。1実施形態では、たとえば、第1の不揮発性メモリ140及び第2の不揮発性メモリがハイブリッドドライブhybriddriveの一部である場合に、装置100は、第1の不揮発性メモリ140及び第2の不揮発性メモリを制御するためのメモリコントローラ不図示を備えることができる。この場合、セグメント化モジュール120とピン留めモジュール130は、OSを介してメモリコントローラと通信して、複数のセグメント142-1~142-nのうちの少なくとも1つのセグメントを生成してピン留めすることができる。たとえば、セグメント化モジュール120とピン留めモジュール130は、SATAインターフェース、PATAインターフェース、タグ付けされた短いコマンドファイルtaggedshortcommandfile、または、他のハイブリッド駆動通信メカニズムhybriddrivecommunicationmechanismを介して、メモリコントローラと通信することができる。上記したように、RAMとは異なり、装置100が電源オフ状態にある場合すなわち、装置100に電力が供給されていない場合でも、キャッシュ情報は第1の不揮発性メモリ140に保持される。しかしながら、ユーザー及び/またはベンダーは、全てのキャッシュ情報が保持されるのを望まないかもしれない。たとえば、ユーザー及び/またはベンダーは、個人情報や専有情報企業秘密などのような秘密のキャッシュ情報、及び/または、装置100の構成要素の一時的なコンテキスト情報のような不要なキャッシュ情報を消去することを望む場合がある。それでも、ユーザー及び/またはベンダーは、装置100をより速くブートするためのブートプロセスのキャッシュ情報やユーザーアプリケーションをより速く起動及び/または実行させるためのユーザーアプリケーションのキャッシュ情報などの他のキャッシュ情報は依然として保持しようとする場合がある。装置100は、消去モジュール不図示を備えることができる。該消去モジュールは、少なくとも1つのOSが低電力状態たとえば低消費電力状態に移行することになり、かつ、ユーザーが、複数のセグメント142-1~142-nのうちの消去すべき1以上のセグメントを選択した場合に、該1以上のセグメントを個別に消去する消去するとは、記憶されている内容を消去することを意味する。この場合は、セグメントに記憶されている内容が個別に消去される。低電力状態の例には、装置100の電源オフ状態、休止状態、またはスリープ状態を含めることができる。たとえば、ユーザー及び/またはベンダーは、低電力状態に移行する前に、セグメント142-1~142-nのうちの1以上のセグメントを自動的に消去するように装置100を設定することができる。さらに、ユーザーは、装置100の動作中に、GUIなどを介して、セグメント142-1~142-nのうちの1以上のセグメントを消去することができる。該1以上のセグメントが首尾よく消去されると、そのことをユーザーに知らせることができる。消去モジュールについては、図5に関してより詳細に後述する。第1のセグメント142-1及び/または第2のセグメント142-2に関して説明した任意の動作または特性は、複数のセグメント142-1~142-nのうちの他の任意のセグメントにも妥当しうる。このため、いくつかの実施形態は、たとえば、複数のタイプのソフトウェアのキャッシュ情報に対するアクセス時間を短くすることにより、起動時間または実行時間を短くすることによって、それらのタイプのソフトウェアの応答性を向上させることができる。さらに、複数のセグメント142-1~142-nは、あるタイプのソフトウェアの最初の起動時に、この向上した応答性が生じるようにすることができ、及び/または、異なるタイプのソフトウェアとの間で切り替えられたときでも、該応答性が維持されるようにすることができる。さらに、ベンダーは、すぐ使える状態になるOBE:outofboxように装置100の性能を向上させることができる。図2は、図1の第1の不揮発性メモリ140のブロック図の1例である。この実施形態では、第1の不揮発性メモリ140は、たとえば、nが6の場合である、6つのセグメント142-1~142-6を備えている。第1のセグメント142-1は、OSプロセスなどの第1のタイプのソフトウェアに関連するキャッシュ情報を格納するものとして図示されている。OSプロセスの例には、ブートプロセス、休止プロセス、シャットダウンプロセス、またはスリーププロセスを含めることができる。第2のセグメント142-2は、ベンダーアプリケーションなどの第2のタイプのソフトウェアに関連するキャッシュ情報を格納するものとして図示されている。ベンダーアプリケーションの例には、プロプライエタリソフトウェアや、装置100のハードウェア構成要素に固有のソフトウェアなどの、装置100に予めインストールされているソフトウェアを含めることができる。第3のセグメント142-3は、ウェブブラウザなどの第3のタイプのソフトウェアに関連するキャッシュ情報を格納するものとして図示されている。ウェブブラウザの例には、インターネットエクスプローラー、ファイアフォックス、グーグルクロームGoogleChrome、サファリSafari、オペラOperaなどのソフトウェアを含めることができる。第4のセグメント142-4は、第1のユーザーアプリケーションなどの第4のタイプのソフトウェアに関連するキャッシュ情報を格納するものとして図示されており、第5のセグメント142-5は、第2のユーザーアプリケーションなどの第5のタイプのソフトウェアに関連するキャッシュ情報を格納するものとして図示されている。第1及び第2のユーザーアプリケーションの例には、グラフィックスプログラムム、ビデオゲーム、マルチメディアソフトウェアなどのユーザーがインストールした任意のタイプのアプリケーション及び/または任意のタイプの非ベンダーアプリケーションを含めることができる。第6のセグメント142-6は、任意のキャッシュ情報を格納することができる汎用キャッシュとして図示されている。汎用キャッシュは、最長時間未使用法LRU:ReastRecentlyUsedや最短時間未使用MRU:MostRecentlyUsedなどのキャッシュアルゴリズムにしたがって動作することができる。したがって、この例では、第1~第5のセグメント141-1~142-5はピン留めされるが、第6のセグメント142-6はピン留めされないままである。たとえば、第1~第5のセグメント142-1~142-5にはピン留めされていない任意のキャッシュ情報を、第6のセグメント142-6に格納することができる。さらに、第1~第5のセグメント142-1~142-5のうちの任意のセグメントが一杯になった場合には、該一杯になったセグメントへの追加のキャッシュ情報または該一杯になったセグメントに入りきらないキャッシュ情報を該キャッシュ情報が第6のセグメント142-6にピン留めされていないにもかかわらず、第6のセグメント142-6に格納することもできる。たとえば、第1のセグメント142-1または第2のセグメント142-2が一杯になった場合には、OSプロセスなどの第1のタイプのソフトウェアに関連するキャッシュ情報や、ベンダーアプリケーション情報などの第2のタイプのソフトウェアに関連するキャッシュ情報を第6のセグメント142-6に格納することができる。セグメント142-1~142-5のうちのセグメントにピン留めされたキャッシュ情報は、そのピン留めされているセグメントが一杯になるまでは、汎用キャッシュすなわち第6のセグメント142-6には格納されず、したがって、第1の不揮発性メモリ140の記憶容量の一部が浪費されるかまたは使用されない可能性が低くなる。図2の第1の不揮発性メモリ140は、6つのセグメント142-1~142-6を有するものとして図示されているが、第1の不揮発性メモリ140のいくつかの実施形態は、7以上または5以下の数のセグメントを有することができる。さらに、第1の不揮発性メモリ140のセグメントのサイズ及び/または数は、第1の不揮発性メモリ140の記憶容量に依存しうる。たとえば、第1の不揮発性メモリ140の記憶容量が大きい場合は、該記憶容量が小さい場合よりも、セグメントのサイズ及び/または数は大きくなりうる。図3は、第1の不揮発性メモリ140をセグメント化してピン留めするための命令を含むコンピューティング装置300のブロック図の1例である。図3の実施形態では、コンピューティング装置300は、プロセッサ310、上記の第1の不揮発性メモリ140、及び、機械可読記憶媒体320を備えている。機械可読記憶媒体320はさらに、第1の不揮発性メモリ140をセグメント化し及びピン留めするための命令322及び324を含んでいる。コンピューティング装置300を、たとえば、チップセット、ノート型コンピュータ、スレートコンピューティング装置、携帯型読取装置、無線電子メール装置、携帯電話、または、命令322及び324を実行することができる他の任意の装置とすることができる。いくつかの例では、コンピューティング装置300は、メモリ記憶装置、センサー、ディスプレイ表示装置などの追加の構成要素コンポーネントを含むことができ、または、コンピューティング装置300を該追加の構成要素に接続することができる。たとえば、コンピューティング装置300は、図1に関して説明した第2の不揮発性メモリに類似の第2の不揮発性メモリ不図示を備えることができる。代替的には、該第2の不揮発性メモリを、機械可読記憶媒体320の一部とすることができる。プロセッサ310を、少なくとも1つの中央処理装置CPU、少なくとも1つの半導体ベースのマイクロプロセッサ、少なくとも1つのグラフィックプロセッシングユニットGPU、機械可読記憶媒体320に格納されている命令の取り出し及び実行に適した他のハードウェア装置、または、それらの組み合わせとすることができる。プロセッサ310は、第1の不揮発性メモリ140のセグメント化及びピン留めを実施するために命令322及び324をフェッチし、デコード復号し、及び実行することができる。命令を取り出して実行する代わりに、または、命令を取り出して実行することに加えて、プロセッサ310は、少なくとも1つの集積回路IC、または、その他の制御論理回路制御ロジック、または、その他の電子回路、または、それらの組み合わせこれらは、命令322及び324の機能を実行するための複数の電子部品を含むを備えることができる。機械可読記憶媒体320を、実行可能命令を含んでいるかまたは格納する任意の電子記憶装置、磁気記憶装置、光学記憶装置、または、その他の物理的記憶装置とすることができる。したがって、機械可読記憶媒体320を、たとえば、ランダムアクセスメモリRAM、電気的消去可能プログラマブルROMEEPROM、記憶ドライブ磁気ディスク装置など、CDROMCompactDiskReadOnlyMemoryなどとすることができる。したがって、機械可読記憶媒体320を非一時的なものすなわち持続的に記憶可能なものとすることができる。後述するように、機械可読記憶媒体320を、第1の不揮発性メモリ140をセグメント化し及びピン留めするための一連の実行可能命令で符号化することができる。さらに、命令322及び324がプロセッサによってたとえば、該プロセッサの1つの処理要素もしくは複数の処理要素によって実行されると、それらの命令は、図4または図5に示されているプロセスなどのプロセスを、該プロセッサに実行させることができる。たとえば、セグメント化命令322を、プロセッサ310によって実行して、第1の不揮発性メモリ140を複数のセグメントにセグメント化分割することができる。ピン留め命令324をプロセッサ310によって実行して、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第1のセグメント142-1にピン留めすることができる。ピン留めされた第1のセグメントは、第1のタイプのソフトウェアに関連するキャッシュ情報を格納する。また、ピン留め命令324をプロセッサ310によって実行して、複数のタイプのソフトウェアのうちの第2のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第2のセグメント142-2にピン留めすることもできる。ピン留めされた第2のセグメント142-2は、第2のタイプのソフトウェアに関連するキャッシュ情報を格納する。機械可読記憶媒体320はまた、第1のセグメントが一杯の場合には、第1のタイプのソフトウェアに関連する情報を、複数のセグメント142-1~142-nのうちの第3のセグメント142-3に格納し、及び、第2のセグメントが一杯の場合には、第2のタイプのソフトウェアに関連する情報を第3のセグメント142-3に格納するための命令不図示を含むこともできる。装置300の動作を図4及び図5に関してより詳細に説明する。図4は、第1の不揮発性メモリ140をセグメント化してピン留めするための方法400のフローチャートの1例である。以下では、方法400の実行を装置100を参照して説明するが、装置300などの、方法400を実行するための他の適切なコンポーネント構成要素や装置を使用することもできる。さらに、方法400を実行するためのそれらのコンポーネントを複数の装置たとえば、入力装置及び出力装置と通信する処理装置間に分散させることができる。いくつかの状況では、連係して動作する複数の装置を、方法400を実行する単一の装置とみなすことができる。方法400を、記憶媒体320などの機械可読記憶媒体に格納されている実行可能命令の形態で、及び/または、電子回路の形態で、実装ないし実施することができる。ブロック410において、装置100は、キャッシュ情報を格納するための第1の不揮発性メモリ140を複数のセグメント142-1~142-nに分割するまたは、キャッシュ情報を複数のセグメント142-1~142-nに格納するために、第1の不揮発性メモリ140を分割する。ブロック410において、装置100は、初めに、ベンダー仕様メーカー仕様など、ユーザーコマンド、及び第1の不揮発性メモリ140のサイズのうちの少なくとも1つに基づいて、複数のセグメント142-1~142-nのセグメントの数及びサイズを設定することができる。ブロック410において、ユーザーコマンドと複数のタイプのソフトウェアの使用形態または使用パターンとの少なくとも一方に基づいて、複数のセグメント142-1~142-nのセグメントの数とサイズの少なくとも一方を動的に変更することができる。次に、ブロック420において、装置100は、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第1のセグメント142-1にピン留めする。ピン留めされた第1のセグメント142-1は、第1のタイプのソフトウェアに関連するキャッシュ情報を格納する。ブロック420において、上記のように、装置100は、該複数のタイプのソフトウェアの使用形態とユーザーコマンドとの少なくとも一方に基づいて、該複数のタイプのソフトウェアのうちの1以上のタイプのソフトウェアを複数のセグメント142-1~142-nのうちの1つに動的にピン留めすることができる。たとえば、装置100は、第2のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第2のセグメント142-2にピン留めすることができる。ブロック420において、装置100は、複数のセグメント142-1~142-nの全てをピン留めしなくてもよく、たとえば、複数のセグメント142-1~142-nのうちの第3のセグメント142-3をピン留めしないようにすることができる。さらに、ブロック420において、第1のセグメント142-1が一杯の場合には、装置100は、第1のタイプのソフトウェアに関連するキャッシュ情報を第3のセグメント142-3に格納することができ、第2のセグメント142-2が一杯の場合には、第2のタイプのソフトウェアに関連するキャッシュ情報を第3のセグメント142-3に格納することができる。ブロック420において、装置100はまた、第1のタイプのソフトウェアに分類される第1及び第2のアプリケーションの使用率を決定することができ、及び、決定された使用率に基づいて、第1及び第2のアプリケーションの一方をピン留めされている第1のセグメント142-1に動的にピン留めすることができる。ブロック420において、第1のタイプのソフトウェアの変更と、第1のタイプのソフトウェアの起動のうちの少なくとも一方が実施された場合には、装置100はピン留めされている第1のセグメント142-1を更新する。装置100は、ピン留めされている第1のセグメント142-1から第1のタイプのソフトウェアを起動することと、第1のタイプのソフトウェアに対する呼び出しをピン留めされている第1のセグメント142-1に向けることとの少なくとも一方を実施する。図5は、第1の不揮発性メモリ140をセグメント化してピン留めするためのもう1つの方法500のフローチャートの1例である。以下では、方法500の実行を装置100を参照して説明するが、装置300などの、方法500を実行するための他の適切なコンポーネント構成要素や装置を使用することもできる。さらに、方法500を実行するためのそれらのコンポーネントを複数の装置たとえば、入力装置及び出力装置と通信する処理装置間に分散させることができる。いくつかの状況では、連係して動作する複数の装置を、方法500を実行する単一の装置とみなすことができる。方法500を、記憶媒体320などの機械可読記憶媒体に格納されている実行可能命令の形態で、及び/または、電子回路の形態で、実装ないし実施することができる。図5のブロック510を図4のブロック410に類似のものとすることができ、図5のブロック520を図4のブロック420に類似のものとすることができる。たとえば、ブロック510において、装置100は、キャッシュ情報を格納するための第1の不揮発性メモリ140を複数のセグメント142-1~142-nに分割するまたは、キャッシュ情報を複数のセグメント142-1~142-nに格納するために、第1の不揮発性メモリ140を分割する。次に、ブロック520において、装置100は、複数のタイプのソフトウェアのうちの第1のタイプのソフトウェアを、複数のセグメント142-1~142-nのうちの第1のセグメント142-1にピン留めする。ピン留めされた第1のセグメント142-1は、第1のタイプのソフトウェアに関連するキャッシュ情報を格納する。ブロック530において、少なくとも1つの装置100が低電力状態たとえば低消費電力状態に移行し、及び、ユーザーが複数のセグメント142-1~142-nのうちの消去すべき1以上のセグメントを選択した場合には、装置100は、該1以上のセグメントを個別に消去する。たとえば、装置100の消去モジュールは、ユーザーからコマンド命令を受け取って、複数のセグメント142-1~142-nのうちの第1のセグメント142-1をすぐに消去することができ、及び/または、装置100のOSからコマンド命令を受け取って、装置100が低電力状態に移行する前に、第1のセグメント142-1を消去することができる。しかしながら、第1の不揮発性メモリ140がフラッシュメモリまたはSSDメモリを含んでいる場合には、複数のセグメント142-1~142-nのアドレス指定構造には対応しないブロック単位でしか第1の不揮発性メモリ140を消去できない。たとえば、複数のブロックのうちの1つのブロックを消去すると、複数のセグメント142-1~142-nのうちの、第1のセグメント142-1の一部だけ及び/または第2のセグメント142-2の一部だけが消去される場合がある。第1のセグメント142-1だけが確実に消去されるようにするために、消去モジュールは、第1の不揮発性メモリ140のフラッシュコントローラ不図示と通信することができる。フラッシュコントローラは、データを格納し、取り出し、及び更新するための手順を提供し、並びに、第1の不揮発性メモリ140上の利用可能な空間を管理するために使用されるフラッシュファイルシステムを維持することができる。たとえば、ブロックに書き込む前に該ブロックを明確に消去する必要があるので、フラッシュコントローラは、時間を節約するために、装置100が動作を停止している間に、使用されていないブロックを消去することができる。さらに、フラッシュコントローラは、複数のブロックのうちのブロックに繰り返し上書きすることによって該ブロックの寿命が短くなったときに行われるウェアレベリングwearlevelingを低減しまたは阻止するために、書き込みを第1の不揮発性メモリ140全体に均等に分散させることができる。消去モジュールは、フラッシュコントローラと通信して、複数のセグメント142-1~142-nのマッピングと第1の不揮発性メモリ140の複数のブロックとの間の相互関係を決定することができる。また、消去モジュールは、フラッシュコントローラと通信して、複数のセグメント142-1~142-nのうちの消去されないセグメントのキャッシュ情報を保持することができる。たとえば、第1のセグメント142-1と第2のセグメント142-2が同じブロックの一部を共有している場合などのように、第1のセグメント142-1を消去すると、第2のセグメント142-2の少なくとも一部も消去されてしまう場合には、消去モジュールはフラッシュコントローラと通信して、先に、消去されるブロック内の第2のセグメント142-2のキャッシュ情報を、別のメモリブロックなどの別の場所に保存することができる。代替的には、消去されるブロック内の第3のセグメント142-3のキャッシュ情報を、記憶媒体320や第2の不揮発性メモリなどの別のメモリに保存することができる。次に、消去モジュールは、フラッシュコントローラと通信して、第1のセグメント142-1のキャッシュ情報を格納している1以上のブロックを消去することによって第1のセグメント142-1を消去することができる。その後、消去モジュールは、第3のセグメント142-3のキャッシュ情報がどこに格納されたかに依存して、第3のセグメント142-3のキャッシュ情報をライトバックするようにフラッシュコントローラに命じることができる。さらに、ブロック530において、消去モジュールは、OSと通信して、セグメント142-1~142-nのうちの1以上のセグメントの消去が完了するまで、装置100が低電力状態たとえば低消費電力状態に移行するのを遅らせることができる。しかしながら、装置100が低電力状態に移行する前に該1以上のセグメントの消去が完了しない場合には、消去モジュールは、装置100が電源オン状態パワーオン状態ともいうなどの高電力状態たとえば高消費電力状態に戻ったときに該1以上のセグメントの消去を続行することになる。さらに、複数のセグメント142-1~142-nのうちの消去されるべき1以上のセグメントの消去が完了するまで、該1以上のセグメントをキャッシュ情報の格納用に使用できないようにすることができる。上記の手順を消去に関して説明したが、本発明の実施形態はこれには限定されない。たとえば、装置100は、セグメント142-1~142-nのうちの少なくとも1つのセグメントのキャッシュ情報を上書きし、及び/または、暗号化ないし暗号解読するための類似の手順を実行することもできる。上記によれば、本発明の実施形態は、キャッシュ情報を格納している第1の不揮発性メモリをセグメント化してピン留めするための方法及び/または装置を提供する。たとえば、第1のタイプのソフトウェアのキャッシュ情報を、複数のセグメントのうちの第1のセグメントにピン留めすることができる。したがって、いくつかの実施形態では、第1のタイプのソフトウェアに最初にアクセスする場合や、第1のタイプのソフトウェアへのアクセスの間に第2のタイプのソフトウェアが頻繁に使用される場合でも、第1のタイプのソフトウェアがすぐに応答するようにすることができ、または、第1のタイプのソフトウェアの初期の応答性をより向上させることができる。