(57)【要約】【課題】フラッシュデバイスへのデータ書込回数を抑制できる情報処理装置の提供【解決手段】実施形態に係る情報処理装置は、オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリと、第１メモリの複数の管理領域のうち１つの管理領域を選択する選択手段と、選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、第２のメモリ容量に応じた数の管理領域のデータを第２メモリに書き込む書込手段とを備え、書込手段は、選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを第２メモリに書き込んだ後、異なる管理領域のうち何れか１の第２管理領域が選択手段により選択された場合、当該第２管理領域のデータを第２メモリに書き込まない。【選択図】  図１
2012155561.tif 000002
【特許請求の範囲】
【請求項１】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、
前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリと、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択する選択手段と、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第２メモリに書き込む書込手段と
を備え、
前記書込手段は、前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを前記第２メモリに書き込んだ後、前記異なる管理領域のうち何れか１の第２管理領域が前記選択手段により選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まない、情報処理装置。
【請求項２】
前記選択手段は、前記複数の管理領域のうち、前記書き込み手段により前記第２メモリにデータが書き込まれている管理領域を優先的に選択する、請求項１記載の情報処理装置。
【請求項３】
前記第１メモリは、前記第２のメモリ容量に応じた数の管理領域を含む管理ブロック毎に前記オペレーティングシステムにより管理され、
前記第２メモリは、前記第２のメモリ容量の書き込みブロック毎にデータが書き込まれ、
前記書込手段は、前記選択された管理領域が含まれる前記管理ブロックに、前記第２メモリにデータを書込済みの管理領域と未書込の管理領域とが含まれる場合、当該書込済のデータと未書込のデータとを、当該書込済のデータが書き込まれている前記書込ブロックとは異なる書込ブロックに書き込む、請求項１記載の情報処理装置。
【請求項４】
前記書込手段は、前記第２メモリに書き込まれている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項５】
前記書込手段は、前記第１メモリに格納されている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項６】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリとを備える装置における書き込み制御方法であって、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択することと、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第２メモリに書き込むことと、
前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを前記第２メモリに書き込まれた後、前記異なる管理領域のうち何れか１の第２管理領域が選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まないことと
を備える書き込み制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、情報処理装置及び書き込み制御方法に関する。
【背景技術】
【０００２】
動作メモリのデータを、ＨＤＤやフラッシュデバイス等のストレージにスワップアウトすることにより、動作メモリの容量を確保する技術がある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２０７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、ＮＡＮＤやＮＯＲ  Ｆｌａｓｈ等のフラッシュデバイスは、当該デバイスに対するデータ書込の限度回数が例えば数十万回程度に制限されている場合がある。このため、フラッシュデバイスに対するデータ書込回数を抑制できることが好ましい。
【０００５】
そこで本発明の実施形態は、フラッシュデバイスをスワップデバイスとして使用した場合に、フラッシュデバイスに対するデータ書込回数を抑制できる情報処理装置及び書き込み制御方法の提供を目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本実施形態の情報処理装置は、オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリと、第１メモリの複数の管理領域のうち１つの管理領域を選択する選択手段と、選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、第２のメモリ容量に応じた数の管理領域のデータを第２メモリに書き込む書込手段とを備え、書込手段は、選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを第２メモリに書き込んだ後、異なる管理領域のうち何れか１の第２管理領域が選択手段により選択された場合、当該第２管理領域のデータを第２メモリに書き込まない。
【図面の簡単な説明】
【０００７】
【図１】実施形態の情報処理装置の構成例を示す図。
【図２】実施形態の情報処理装置が用いるアドレス管理テーブルの構成例を示す図。
【図３】実施形態の情報処理装置におけるデータ格納状態の初期状態例を示す図。
【図４】実施形態の情報処理装置におけるデータ処理例を示す図。
【図５】実施形態の情報処理装置におけるデータ処理例を示す図。
【図６】実施形態の情報処理装置におけるデータ処理例を示す図。
【図７】実施形態の情報処理装置におけるデータ処理例を示す図。
【図８】実施形態の情報処理装置におけるデータ処理フロー例を示す図。
【発明を実施するための形態】
【０００８】
以下、図面を参照して実施形態を説明する。
図１は本実施形態に係る情報処理装置のシステム構成例を示す図である。実施形態に係る情報処理装置１００は、例えばパーソナルコンピュータ、チューナ装置及びデジタルＴＶ等に適用される。ここで情報処理装置１００は、ＣＰＵ等で構成される制御モジュール１１０、ＲＡＭ等の揮発性メモリにより構成されるワークメモリ１２０、ＮＡＮＤやＮＯＲ  Ｆｌａｓｈ等により構成されるフラッシュデバイス１３０等を備え、制御モジュール１１０、ワークメモリ１２０、フラッシュデバイス１３０は、バス１４０を介して接続されている。
【０００９】
ワークメモリ１２０は物理メモリ空間を含み、物理メモリ空間は複数の物理ページ（複数の物理メモリ領域）により構成され、複数の物理ページは複数の物理アドレスと対応する。つまり各物理ページは、各物理アドレスにより管理することができる。
【００１０】
制御モジュール１１０は、ＯＳと協同して、仮想メモリ空間１５０（図１では不図示）によりワークメモリ１２０へのデータの読み書きを制御する。仮想メモリ空間１５０は複数のページ（複数の仮想メモリ領域）により構成され、各ページは複数の仮想アドレスと対応する。つまり各ページは各仮想アドレスにより管理することができる。
【００１１】
例えば、制御モジュール１１０は、複数の仮想アドレスと複数の物理アドレスとの対応関係を管理したアドレス管理テーブル１６０（図１では不図示）を生成し、この管理テーブル１６０に基づき、各仮想アドレスにより各物理アドレスに記憶されたデータへのアクセスを制御する。そして、ここで制御モジュール１１０は、ワークメモリ１２０へのデータアクセスをＯＳに応じた処理単位（ページ単位）で制御する。
【００１２】
更に制御モジュール１１０は、各種処理の際にワークメモリ１２０の容量が所定の閾値以上になった場合等において、ワークメモリ１２０に書き込まれたデータをフラッシュデバイス１３０にスワップアウトする機能を有する。つまり制御モジュール１１０は、ワークメモリのメモリ容量が不足してきた場合に、例えばアクセス回数の少ないデータや最終アクセス時間が古いデータ等をワークメモリ１２０からフラッシュデバイス１３０のスワップファイルに書き出す。
【００１３】
図２に、制御モジュール１１０が生成するアドレス管理テーブル１６０の構成例を示す。アドレス管理テーブル１６０では、各ページに対して、仮想アドレス範囲と物理アドレス範囲とデータ格納状態とが対応付けられる。つまり、ワークメモリ１２０のメモリ領域は、制御モジュール１１０により複数のページ（管理領域）毎に管理されており、夫々のページに対してデータ格納状態が対応付けられている。
【００１４】
ここで、データ格納状態とは、ページに対応付けられた物理アドレス範囲のデータが、フラッシュデバイス１３０にスワップアウト済みか否か、ページに対応付けられた物理アドレス範囲のメモリが開放済みであるか否か等を示すものである。即ち、例えば「Ｅｍｐｔｙ」はページに対応付けられた物理アドレスのメモリが開放されていることを示し、「Ｃｌｅａｎ」はページのデータがスワップアウトされてフラッシュデバイス１３０にデータが格納されていることを示し、「Ｄｉｒｔｙ」はページのデータがスワップアウトされていないことを示す。
【００１５】
次に図３乃至図８を参照して、制御モジュール１１０によるスワップアウトに係る処理例を説明する。
図３は、ワークメモリ１２０及びフラッシュデバイス１３０の初期状態における、仮想メモリ空間１５０とフラッシュデバイス１３０のデータ格納状態例を示す図である。制御モジュール１１０は、ＯＳに従って、仮想メモリ空間１５０を例えば４Ｋバイト等の処理単位（メモリ容量）毎に管理し、当該仮想メモリ空間１５０にアドレスが対応付けられたワークメモリ１２０へのデータアクセスを制御する。そして仮想メモリ空間１５０は、例えばページＰ１乃至Ｐｎにブロック化されており、各ページのデータ格納状態は「Ｄｉｒｔｙ」となっている。つまり各ページに対応するデータはフラッシュデバイス１３０に書き込まれていない。
【００１６】
また制御モジュール１１０は、ワークメモリ１２０からフラッシュデバイス１３０へのスワップアウトを行う場合、一定数のページ毎の処理単位で書き込み処理を行う。ここでは当該一定数ページ毎の書き込み処理単位の夫々をＳｗａｐ  Ｂｌｏｃｋ  Ｂ１乃至Ｂｍと呼ぶ。そして図３においては、これらＳｗａｐ  Ｂｌｏｃｋ  Ｂ１乃至Ｂｍ夫々のデータ格納状態も「Ｄｉｒｔｙ」となっている。なお、Ｓｗａｐ  Ｂｌｏｃｋのデータ格納状態における「Ｄｉｒｔｙ」は、Ｓｗａｐ  Ｂｌｏｃｋ内の何れかのページのデータが未スワップアウトであることを示し、「Ｃｌｅａｎ」は、Ｓｗａｐ  Ｂｌｏｃｋ内の全てのページのデータがスワップアウトされ、フラッシュデバイス１３０にデータが書き込まれている状態であることを示す。
【００１７】
一方、フラッシュデバイス１３０において、当該フラッシュデバイス１３０の記憶領域を構成するＥｒａｓｅ  Ｂｌｏｃｋ  Ｅ１乃至Ｅｍは、既にデータが消去されている(データが書き込まれていない)ｆｒｅｅ  ｂｌｏｃｋとなっており、新たなデータを書き込み可能な状態となっている。ここでＥｒａｓｅ  Ｂｌｏｃｋとは、フラッシュデバイス内のデータを書き換える（消去する）場合の処理単位（管理単位）となるブロックであり、夫々のブロックは例えば１６Ｋバイトや１２８Ｋバイト等のメモリ容量に設定されている。つまり、フラッシュデバイス１３０においては、制御モジュール１１０がワークメモリ１２０に対してアクセスする場合の処理単位（ページ単位）よりも大きな処理単位（Ｅｒａｓｅ  Ｂｌｏｃｋ単位）でデータの書き換えが行われる場合がある。
【００１８】
このため制御モジュール１１０は、スワップアウトの際に、仮想メモリ空間１５０の夫々のページに対応付けられたワークメモリ１２０のデータを、フラッシュデバイス１３０の書換え処理単位に一致する容量となる複数ページ（Ｓｗａｐ  Ｂｌｏｃｋ）毎に当該フラッシュデバイス１３０にスワップアウトする。
【００１９】
図４は、制御モジュール１１０が、ページＰ２をスワップ対象ページとして指定した場合の処理例を示す図である。ここで制御モジュール１１０は、スワップ対象のページＰ２が含まれるＳｗａｐ  Ｂｌｏｃｋ  Ｂ１に含まれるページＰ１乃至Ｐ４を、フラッシュデバイス１３０の領域Ｅ１に書き込む。そして制御モジュール１１０は、スワップ対象ページのページＰ２に対応するメモリ空間を開放して、当該ページＰ２の状態を「Ｅｍｐｔｙ」に変更する。なお制御モジュール１１０は、メモリ領域を開放する場合、当該メモリ領域に新たなデータを書き込み可能であることをＯＳが認識可能な状態にすればよい。そしてこの場合に制御モジュール１１０は、当該開放するメモリ領域のデータを削除しても良いし、あるいは削除しなくとも良い。
【００２０】
また、ページＰ２と共にスワップされたＳｗａｐ  Ｂｌｏｃｋ  Ｂ１内の他のページＰ１、Ｐ３、Ｐ４は、スワップ済みを示す「Ｃｌｅａｎ」の状態になる。更にＳｗａｐ  Ｂｌｏｃｋ  Ｂ１の状態も「Ｄｉｒｔｙ」から「Ｃｌｅａｎ」に変更される。そして、フラッシュデバイス１３０の記憶領域において、Ｅｒａｓｅ  Ｂｌｏｃｋ  Ｅ１には、Ｓｗａｐ  Ｂｌｏｃｋ  Ｂ１のデータが書き込まれる。
【００２１】
図５に、図４にてスワップアウトが完了した後に制御モジュール１１０がページＰ１をスワップアウトの対象ページとして指定した場合の処理例を示す。この場合、ページＰ１のデータは既にスワップアウトされている。このため制御モジュール１１０は、当該ページＰ１のデータを再度スワップアウトすることなくページＰ１に対応するメモリ領域を開放して、アドレス管理テーブル１６０のデータ格納状態を「Ｃｌｅａｎ」から「Ｅｍｐｔｙ」に変更する。なおここで制御モジュール１１０は、Ｓｗａｐ  Ｂｌｏｃｋ  Ｂ１のデータがスワップアウト済みであるため、当該Ｓｗａｐ  Ｂｌｏｃｋ  Ｂ１の状態を「Ｃｌｅａｎ」から変更しない。
【００２２】
図６は、図５の状態においてにおいてページＰ１の開放が完了した後に、制御モジュール１１０がページＰ４のメモリ領域をＷｒｉｔｅ対象の領域として指定した場合の処理例を示す。制御モジュール１１０は、ページＰ４にデータを書き込むと、当該ページＰ４のデータ格納状態を、未スワップであることを示す「Ｄｉｒｔｙ」に変更する。なおここではページＰ４がＷｒｉｔｅ対象ページである場合を示しているが、ページＰ１乃至Ｐ３がＷｒｉｔｅ対象ページである場合、制御モジュール１１０は当該対象ページにデータを書き込み、当該対象ページのデータ格納状態を「Ｄｉｒｔｙ」に変更する。
【００２３】
そして制御モジュール１１０は、Ｓｗａｐ  Ｂｌｏｃｋ  Ｂ１の状態を「Ｃｌｅａｎ」から「Ｄｉｒｔｙ」に変更する。なお、Ｗｒｉｔｅ対象ページが「Ｄｉｒｔｙ」である場合、制御モジュール１１０は、当該Ｗｒｉｔｅ対象ページに対応付けられているメモリ領域にデータを書き込み、当該ページの状態を「Ｄｉｒｔｙ」から変更しない。
【００２４】
なお図５においては書き込み処理が発生した場合について例示しているが、例えば図５において「Ｃｌｅａｎ」状態のページＰ４をＲｅａｄ対象のページとして指定した場合、制御モジュール１１０は、当該ページＰ４に対応するメモリ領域のデータを読み出し、当該ページＰ４の状態を「Ｃｌｅａｎ」から変化させない。一方、図５においてメモリが開放された「Ｅｍｐｔｙ」状態のページＰ１又はＰ２に対するＲｅａｄ処理を行う場合、制御モジュール１１０は、ＯＳに従った通常のスワップインの処理と同様に、リード対象ページのメモリ開放前に当該ページに格納されていたデータを、当該データがスワップアウトされているフラッシュデバイス１３０から読み込み、当該データをリード対象ページに書き込む。そして制御モジュール１１０は、当該ページの状態を「Ｅｍｐｔｙ」から「Ｃｌｅａｎ」に変更する。
【００２５】
図７は、図６の状態においてページＰ４へのＷｒｉｔｅ処理が完了した後に、制御モジュール１１０がページＰ３をスワップアウト対象ページとして指定した場合の処理例を示す。ここで、ページＰ３が含まれるＳｗａｐ  Ｂｌｏｃｋ  Ｂ１に含まれるページＰ４は、未だフラッシュデバイス１３０にスワップアウトされていない。このため制御モジュール１１０は、ページＰ４に対応するメモリ領域のデータをフラッシュデバイス１３０にスワップアウトする。
【００２６】
ここで、状態が「Ｃｌｅａｎ」であるページＰ１乃至Ｐ３に対応するデータは、フラッシュデバイス１３０のメモリ領域に格納されている。そこで制御モジュール１１０は、フラッシュデバイス１３０に格納されている、ページＰ１乃至Ｐ３に対応するデータと、ワークメモリ１２０に格納されているページＰ４に対応するデータとを、フラッシュデバイス１３０に書き込む。そしてこの場合に制御モジュール１１０は、当該データを、ページＰ１乃至Ｐ３が格納されているＥｒａｓｅ  Ｂｌｏｃｋ  Ｅ１とは異なるＥｒａｓｅ  Ｂｌｏｃｋに書き込む。
【００２７】
そして制御モジュール１１０は、スワップアウト対象のページＰ３に対応するメモリ領域を開放して当該ページの状態を「Ｃｌｅａｎ」から「Ｅｍｐｔｙ」に変更し、また、スワップアウトしたＳｗａｐ  Ｂｌｏｃｋ  Ｂ１内に含まれるページＰ４の状態を「Ｄｉｒｔｙ」から「Ｃｌｅａｎ」に変更する。また制御モジュール１１０は、Ｓｗａｐ  Ｂｌｏｃｋ  Ｂ１の状態を「Ｄｉｒｔｙ」から「Ｃｌｅａｎ」に変更する。
【００２８】
なお図７において制御モジュール１１０は、ページＰ１乃至Ｐ４に対応するデータをワークメモリ１２０から読み込んでフラッシュデバイス１３０のＥｒａｓｅ  Ｂｌｏｃｋ  Ｅ２に書き込んでもよい。
【００２９】
図８は、制御モジュール１１０によるスワップアウトに係る処理フロー例を示す図である。まず制御モジュール１１０は、例えばワークメモリ１２０における書き込み可能な状態のメモリ領域が所定値以下になると（Ｓ８０１のＹｅｓ）、スワップアウト対象ページを選択する(Ｓ８０２)。ここで制御モジュール１１０は、例えば夫々のページに対するアクセスの回数等に基づいてスワップアウト対象ページを選択できる。
【００３０】
つまり、アクセス回数が他のページよりも少ないページや、最終アクセス時間が最も古いページ等をスワップアウト対象ページとして選択できる。あるいは制御モジュール１１０は、Ｓ８０２において、データ格納状態が「Ｃｌｅａｎ」であるＳｗａｐ  Ｂｌｏｃｋに含まれるページを優先的にスワップアウト対象ページとして選択してもよい。
【００３１】
次に制御モジュール１１０は、アドレス管理テーブル１６０を参照して、スワップアウト対象として選択したページのデータ格納状態が「Ｄｉｒｔｙ」であるか否か、即ち、選択したページに対応するワークメモリ１２０のメモリ領域のデータがフラッシュデバイス１３０に書き込まれているか否かを判別する（Ｓ８０３）。ここで、選択ページのデータがワークメモリ１３０に記憶されている場合（Ｓ８０３のＮｏ）、つまりスワップアウト対象のページの状態が「Ｃｌｅａｎ」又は「Ｅｍｐｔｙ」である場合、制御モジュール１１０は、当該ページに対応するメモリ領域を開放する（Ｓ８０４）。なお、スワップアウト対象ページの状態が「Ｅｍｐｔｙ」である場合、当該ページは既に開放されているのでＳ８０４において再度開放しなくともよい。
【００３２】
一方、Ｓ８０３において、スワップアウト対象ページの状態が「Ｄｉｒｔｙ」である場合（Ｓ８０３のＹｅｓ）、続いて制御モジュール１１０は当該スワップアウト対象ページが含まれるＳｗａｐ  Ｂｌｏｃｋに含まれる全てのページの状態が「Ｄｉｒｔｙ」であるか否かを判別する（Ｓ８０５）。ここで、当該Ｓｗａｐ  Ｂｌｏｃｋ内の何れかのページの状態が「Ｃｌｅａｎ」又は「Ｅｍｐｔｙ」である場合（Ｓ８０５のＮｏ）、つまり当該Ｓｗａｐ  Ｂｌｏｃｋ内の何れかのページのデータがフラッシュデバイス１３０に格納されている場合、制御モジュール１１０は、図７で説明した処理を実行する（Ｓ８０６）。
【００３３】
即ち、スワップアウト対象ページが含まれるＳｗａｐ  Ｂｌｏｃｋ内の未スワップアウトのページのデータと、フラッシュデバイス１３０に記憶されている、当該Ｓｗａｐ  Ｂｌｏｃｋの未スワップアウトページ以外のページのデータとを、フラッシュデバイス１３０に書き込む。そしてこの場合に制御モジュール１１０は、フラッシュデバイス１３０のＥｒａｓｅ  Ｂｌｏｃｋのうち、未スワップアウトページ以外のページのデータが格納されていたブロックとは異なるブロックにデータを書き込む。
【００３４】
一方、Ｓ８０５において、スワップアウト対象ページを含むＳｗａｐ  Ｂｌｏｃｋ内の全てのページの状態が「Ｄｉｒｔｙ」である場合（Ｓ８０５のＹｅｓ）、制御モジュール１１０は当該Ｓｗａｐ  Ｂｌｏｃｋ内のデータを、ワークメモリ１２０からフラッシュデバイス１１０にスワップアウトする（Ｓ８０７）。そして制御モジュール１１０は、当該Ｓｗａｐ  Ｂｌｏｃｋの状態を「Ｃｌｅａｎ」に変更する（Ｓ８０８）。
【００３５】
そして制御モジュール１１０は、スワップアウト対象として選択したページに対応するメモリ領域を開放するとともに当該ページの状態を「Ｅｍｐｔｙ」に変更し（Ｓ８０９）、また、Ｓｗａｐ  Ｂｌｏｃｋ内のスワップアウト対象以外のページの状態を「Ｃｌｅａｎ」に変更し（Ｓ８１０）、再度Ｓ８０１の処理を実行する。
【００３６】
続いて、Ｓ８０１においてワークメモリ１２０のスワップアウトが必要でない場合（Ｓ８０１のＮＯ）について説明する。制御モジュール１１０は、ワークメモリ１２０のメモリ領域へのデータのＷｒｉｔｅ処理を実行する場合（Ｓ８１１のＹｅｓ）、書き込み対象ページを選択して当該ページに対応するメモリ領域にデータを書き込む（Ｓ８１２）。そして制御モジュール１１０は、書き込み対象ページの書き込み前の状態が「Ｃｌｅａｎ」や「Ｅｍｐｔｙ」であった場合（Ｓ８１３のＹｅｓ）、例外処理（割り込み処理）を発生させて当該書き込み処理を検出する。次に制御モジュール１１０は、書き込み対象ページの状態を「Ｄｉｒｔｙ」に変更し（Ｓ８１５）、再度Ｓ８０１の処理を実行する。
【００３７】
一方、Ｓ８１３において書き込み対象ページの状態が「Ｄｉｒｔｙ」であった場合（Ｓ８１３のＮｏ）、制御モジュール１１０は、例外処理を発生させることなくＳ８０１の処理を実行する。
【００３８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【００３９】
１００…情報処理装置、１１０…制御モジュール、１２０…ワークメモリ、１３０…フラッシュデバイス、１４０…バス、１５０…仮想メモリ空間、１６０…アドレス管理テーブル
【図１】
2012155561.tif 000003
【図２】
2012155561.tif 000004
【図３】
2012155561.tif 000005
【図４】
2012155561.tif 000006
【図５】
2012155561.tif 000007
【図６】
2012155561.tif 000008
【図７】
2012155561.tif 000009
【図８】
2012155561.tif 000010
【手続補正書】
【提出日】平成23年11月16日(2011.11.16)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、
前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリと、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択する選択手段と、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第２メモリに書き込む書込手段と
を備え、
前記書込手段は、前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを前記第２メモリに書き込んだ後、前記異なる管理領域のうち何れか１の第２管理領域が前記選択手段により選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まない、情報処理装置。
【請求項２】
前記選択手段は、前記複数の管理領域のうち、前記書き込み手段により前記第２メモリにデータが書き込まれている管理領域を優先的に選択する、請求項１記載の情報処理装置。
【請求項３】
前記第１メモリは、前記第２のメモリ容量に応じた数の管理領域を含む管理ブロック毎に前記オペレーティングシステムにより管理され、
前記第２メモリは、前記第２のメモリ容量の書き込みブロック毎にデータが書き込まれ、
前記書込手段は、前記選択された第１管理領域が含まれる前記管理ブロックに、前記第２メモリにデータを書込済みの管理領域と未書込の管理領域とが含まれる場合、当該書込済のデータと未書込のデータとを、当該書込済のデータが書き込まれている前記書込ブロックとは異なる書込ブロックに書き込む、請求項１記載の情報処理装置。
【請求項４】
前記書込手段は、前記第２メモリに書き込まれている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項５】
前記書込手段は、前記第１メモリに格納されている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項６】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備 える第１メモリと、前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリとを備える装置における書き込み制御方法であって、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択することと、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第２メモリに書き込むことと、
前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを前記第２メモリに書き込まれた後、前記異なる管理領域のうち何れか１の第２管理領域が選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まないことと
を備える書き込み制御方法。
【手続補正書】
【提出日】平成24年2月1日(2012.2.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備える第１メモリと、
前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリと、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択する選択手段と、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第１メモリから前記第２メモリに書き込む書込手段と
を備え、
前記書込手段は、前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとを前記第１メモリから前記第２メモリに書き込んだ後、前記異なる管理領域のうち何れか１の第２管理領域が前記選択手段により選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まない、情報処理装置。
【請求項２】
前記選択手段は、前記複数の管理領域のうち、前記書込手段により前記第２メモリにデータが書き込まれている管理領域を優先的に選択する、請求項１記載の情報処理装置。
【請求項３】
前記第１メモリは、前記第２のメモリ容量に応じた数の管理領域を含む管理ブロック毎に前記オペレーティングシステムにより管理され、
前記第２メモリは、前記第２のメモリ容量の書き込みブロック毎にデータが書き込まれ、
前記書込手段は、前記選択された第１管理領域が含まれる前記管理ブロックに、前記第２メモリにデータを書込済みの管理領域と未書込の管理領域とが含まれる場合、当該書込済のデータと未書込のデータとを、当該書込済のデータが書き込まれている前記書込ブロックとは異なる書込ブロックに書き込む、請求項１記載の情報処理装置。
【請求項４】
前記書込手段は、前記第２メモリに書き込まれている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項５】
前記書込手段は、前記第１メモリに格納されている前記書込済みのデータと前記未書込のデータとを、前記異なる書込ブロックに書き込む、請求項３記載の情報処理装置。
【請求項６】
オペレーティングシステムにより第１のメモリ容量毎に管理される複数の管理領域を備 える第１メモリと、前記第１のメモリ容量よりも大きな第２のメモリ容量毎にデータが書き込まれる第２メモリとを備える装置における書き込み制御方法であって、
前記第１メモリの複数の管理領域のうち１つの管理領域を選択することと、
前記選択された管理領域のデータと当該選択された管理領域とは異なる管理領域のデータとを含む、前記第２のメモリ容量に応じた数の管理領域のデータを前記第１メモリから前記第２メモリに書き込むことと、
前記選択手段により選択された第１管理領域のデータと、当該第１管理領域とは異なる管理領域のデータとが前記第１メモリから前記第２メモリに書き込まれた後、前記異なる管理領域のうち何れか１の第２管理領域が選択された場合、当該第２管理領域のデータを前記第２メモリに書き込まないことと
を備える書き込み制御方法。