(57)【要約】【課題】本発明が解決しようとする課題は、不揮発性半導体メモリに保存したデータの使用状況を把握して、データをどのメモリ領域に保存するかを制御するメモリシステムおよびメモリ管理装置を提供する。【解決手段】実施形態のメモリシステムは、２ビット以上のデータを格納するメモリセルを含む第１のメモリ領域と、２ビット以上のデータを格納するメモリセルを含む第２のメモリ領域とを含む不揮発性メモリと、制御部と、を備え、前記制御部は、前記第２のメモリ領域の読み出し可能回数が前記第１のメモリ領域の読み出し可能回数よりも少ない場合であって、前記不揮発性メモリに第１のデータを格納する際に、前記第１のデータの情報に基づいて、前記第１のデータを前記第１のメモリ領域および前記第２のメモリ領域のうちのいずれかに格納する。【選択図】図２
2017224112.tif 000002
【特許請求の範囲】
【請求項１】
２ビット以上のデータを格納するメモリセルを含む第１のメモリ領域と、２ビット以上
のデータを格納するメモリセルを含む第２のメモリ領域とを含む不揮発性メモリと、
制御部と、
を備え、
前記制御部は、前記第２のメモリ領域の読み出し可能回数が前記第１のメモリ領域の読
み出し可能回数よりも少ない場合であって、前記不揮発性メモリに第１のデータを格納す
る際に、前記第１のデータの情報に基づいて、前記第１のデータを前記第１のメモリ領域
および前記第２のメモリ領域のうちのいずれかに格納するメモリシステム。
【請求項２】
前記第１のデータの前記情報は、予め設定された前記第１のデータの読み出し頻度を含
む請求項１に記載のメモリシステム。
【請求項３】
前記第１のデータの前記情報は、ユーザが設定した前記第１のデータの読み出し頻度を
含む請求項１または請求項２に記載のメモリシステム。
【請求項４】
前記制御部は、前記第１のメモリ領域に第２のデータが格納されている際に、前記第２
のデータの読み出し頻度に基づいて、前記第２のデータを前記第１のメモリ領域に保持す
るか前記第２のメモリ領域に移動するかのいずれかを制御する請求項１ないし請求項３の
いずれか１項に記載のメモリシステム。
【請求項５】
前記制御部は、前記第２のメモリ領域に第３のデータが格納されている際に、前記第３
のデータの読み出し頻度に基づいて、前記第３のデータを前記第２のメモリ領域に保持す
るか前記第１のメモリ領域に移動するかのいずれかを制御する請求項１ないし請求項４の
いずれか１項に記載のメモリシステム。
【請求項６】
前記不揮発性メモリは１ビットのデータを格納するメモリセルを含む第３のメモリ領域
をさらに備え、
前記制御部は、前記第１のメモリ領域に第４のデータが格納されている際に、前記第４
のデータの読み出し頻度に基づいて、前記第４のデータを前記第１のメモリ領域に保持す
るか前記第３のメモリ領域に移動するかのいずれかを制御する請求項５に記載のメモリシ
ステム。
【請求項７】
２ビット以上のデータを格納するメモリセルを含む第１のメモリ領域と、２ビット以上
のデータを格納するメモリセルを含む第２のメモリ領域とを含む不揮発性メモリと、
制御部と、
を備え、
前記制御部は、前記第２のメモリ領域の読み出し可能回数が前記第１のメモリ領域の読
み出し可能回数よりも少ない場合であって、前記第１のメモリ領域に第１のデータが格納
されている際に、前記第１のデータの読み出し頻度に基づいて、前記第１のデータを前記
第１のメモリ領域に保持するか前記第２のメモリ領域に移動するかのいずれかを制御する
メモリシステム。
【請求項８】
前記制御部は、前記第２のメモリ領域に第２のデータが格納されている際に、前記第２
のデータの読み出し頻度に基づいて、前記第２のデータを前記第２のメモリ領域に保持す
るか前記第１のメモリ領域に移動するかのいずれかを制御する請求項７に記載のメモリシ
ステム。
【請求項９】
前記不揮発性メモリは１ビットのデータを格納するメモリセルを含む第３のメモリ領域
をさらに備え、
前記制御部は、前記第１のメモリ領域に第３のデータが格納されている際に、前記第３
のデータの読み出し頻度に基づいて、前記第３のデータを前記第１のメモリ領域に保持す
るか前記第３のメモリ領域に移動するかのいずれかを制御する請求項８に記載のメモリシ
ステム。
【請求項１０】
２ビット以上のデータを格納するメモリセルを含む第１のメモリ領域と、２ビット以上
のデータを格納するメモリセルを含む第２のメモリ領域とを含む不揮発性メモリにおいて
、前記第２のメモリ領域の読み出し可能回数が前記第１のメモリ領域の読み出し可能回数
よりも少ない場合であって、前記不揮発性メモリに第１のデータを格納する際に、前記第
１のデータの情報に基づいて、前記第１のデータを前記第１のメモリ領域および前記第２
のメモリ領域のうちのいずれかに格納する制御部を備えるメモリ管理装置。
【請求項１１】
前記第１のデータの前記情報は、予め設定された前記第１のデータの読み出し頻度を含
む請求項１０に記載のメモリ管理装置。
【請求項１２】
前記第１のデータの前記情報は、ユーザが設定した前記第１のデータの読み出し頻度を
含む請求項１０または請求項１１に記載のメモリ管理装置。
【請求項１３】
前記制御部は、前記第１のメモリ領域に第２のデータが格納されている際に、前記第２
のデータの読み出し頻度に基づいて、前記第２のデータを前記第１のメモリ領域に保持す
るか前記第２のメモリ領域に移動するかのいずれかを制御する請求項１０ないし請求項１
２のいずれか１項に記載のメモリ管理装置。
【請求項１４】
前記制御部は、前記第２のメモリ領域に第３のデータが格納されている際に、前記第３
のデータの読み出し頻度に基づいて、前記第３のデータを前記第２のメモリ領域に保持す
るか前記第１のメモリ領域に移動するかのいずれかを制御する請求項１０ないし請求項１
３のいずれか１項に記載のメモリ管理装置。
【請求項１５】
前記不揮発性メモリは１ビットのデータを格納するメモリセルを含む第３のメモリ領域
をさらに備え、
前記制御部は、前記第１のメモリ領域に第４のデータが格納されている際に、前記第４
のデータの読み出し頻度に基づいて、前記第４のデータを前記第１のメモリ領域に保持す
るか前記第３のメモリ領域に移動するかのいずれかを制御する請求項１４に記載のメモリ
管理装置。
【請求項１６】
前記第１のメモリ領域の読み出し可能回数、前記第２のメモリ領域の読み出し可能回数
、前記第１のデータの情報、前記第２のデータの読み出し頻度、前記第３のデータの読み
出し頻度、および前記第４のデータの読み出し頻度を記憶する記憶部をさらに備える請求
項１５に記載のメモリ管理装置。
【請求項１７】
２ビット以上のデータを格納するメモリセルを含む第１のメモリ領域と、２ビット以上
のデータを格納するメモリセルを含む不揮発性メモリにおいて、前記第２のメモリ領域の
読み出し可能回数が前記第１のメモリ領域の読み出し可能回数よりも少ない場合であって
、前記第１のメモリ領域に第１のデータが格納されている際に、前記第１のデータの読み
出し頻度に基づいて、前記第１のデータを前記第１のメモリ領域に保持するか前記第２の
メモリ領域に移動するかのいずれかを制御する制御部を備えるメモリ管理装置。
【請求項１８】
前記制御部は、前記第２のメモリ領域に第２のデータが格納されている際に、前記第２
のデータの読み出し頻度に基づいて、前記第２のデータを前記第２のメモリ領域に保持す
るか前記第１のメモリ領域に移動するかのいずれかを制御する請求項１７に記載のメモリ
管理装置。
【請求項１９】
前記不揮発性メモリは１ビットのデータを格納するメモリセルを含む第３のメモリ領域
をさらに備え、
前記制御部は、前記第１のメモリ領域に第３のデータが格納されている際に、前記第３
のデータの読み出し頻度に基づいて、前記第３のデータを前記第１のメモリ領域に保持す
るか前記第３のメモリ領域に移動するかのいずれかを制御する請求項１８に記載のメモリ
管理装置。
【請求項２０】
前記第１のメモリ領域の読み出し可能回数、前記第２のメモリ領域の読み出し可能回数
、前記第１のデータの読み出し頻度、前記第２のデータの読み出し頻度、および前記第３
のデータの読み出し頻度を記憶する記憶部をさらに備える請求項１９に記載のメモリ管理
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
メモリシステムおよびメモリ管理装置に関する。
【背景技術】
【０００２】
ＮＡＮＤ  Ｆｌａｓｈなどの不揮発性半導体メモリにおいて、データの書き込みと消去
を繰り返すと、メモリセルの劣化が進行する。そのため、劣化したメモリセルに読み出し
頻度が高いデータを保存した場合、データの読み出しエラーが起こりやすくなる。
【０００３】
従って、不揮発性半導体メモリに保存されたデータの使用状況を把握して、データをど
のメモリ領域に保存するかを制御する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４‐２２５１９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、不揮発性半導体メモリに保存したデータの使用状況
を把握して、データをどのメモリ領域に保存するかを制御するメモリシステムおよびメモ
リ管理装置を提供する。
【課題を解決するための手段】
【０００６】
実施形態のメモリシステムは、２ビット以上のデータを格納するメモリセルを含む第１
のメモリ領域と、２ビット以上のデータを格納するメモリセルを含む第２のメモリ領域と
を含む不揮発性メモリと、制御部と、を備え、前記制御部は、前記第２のメモリ領域の読
み出し可能回数が前記第１のメモリ領域の読み出し可能回数よりも少ない場合であって、
前記不揮発性メモリに第１のデータを格納する際に、前記第１のデータの情報に基づいて
、前記第１のデータを前記第１のメモリ領域および前記第２のメモリ領域のうちのいずれ
かに格納する。
【図面の簡単な説明】
【０００７】
【図１】メモリ管理装置及び情報処理装置の構成の一例を示すブロック図。
【図２】メモリ管理装置及び情報処理装置の構成の一例を示すブロック図。
【図３】混成メインメモリのメモリマップの一例を示す図。
【図４】アドレス変換情報の一例を示す図。
【図５】テーブルの一例を示す図。
【図６】各種データに対するカラー情報の設定の一例を示す図。
【図７】読み出し頻度と時間の関係図。
【図８】メモリ管理装置の動作フローを示す図。
【図９】メモリ管理装置の動作フローを示す図。
【発明を実施するための形態】
【０００８】
以下図面を参照して、本発明の実施形態を説明する。同じ符号が付されているものは同
様のものを示す。なお、図面は模式的または概念的なものであり、各部分の厚みと幅との
関係、部分間の大きさの比係数などは、必ずしも現実のものと同一とは限らない。また、
同じ部分を表す場合であっても、図面により互いの寸法や比係数が異なって表される場合
もある。
【０００９】
図１を参照して、本発明の実施形態に係るメモリ管理装置１及び情報処理装置１００に
ついて説明する。図１は、本実施形態に係るメモリ管理装置１及び情報処理装置１００の
構成の一例を示すブロック図である。
【００１０】
情報処理装置１００は、メモリ管理装置（制御部）１と、混成メインメモリ２と、プロ
セッサ３ａ，３ｂ，３ｃとを備える。
【００１１】
プロセッサ３ａ，３ｂ，３ｃは、例えば、ＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｏｒ  
Ｕｎｉｔ）又はＧＰＵ（Ｇｒａｐｈｉｃ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）である。プロ
セッサ３ａ，３ｂ，３ｃは、各々に１次キャッシュメモリ４ａ，４ｂ，４ｃと、２次キャ
ッシュメモリ５ａ，５ｂ，５ｃを備える。プロセッサ３ａ，３ｂ，３ｃは、それぞれプロ
セス６ａ，６ｂ，６ｃを実行し、種々のデータを処理する。プロセッサ３ａ，３ｂ，３ｃ
は、プロセス６ａ，６ｂ，６ｃの実行においては、仮想アドレスによりデータを指定する
。
【００１２】
プロセッサ３ａ，３ｂ，３ｃは、データ（書き込み対象データ）を混成メインメモリ２
に書き込む場合には、書き込み要求を発生させる。また、プロセッサ３ａ，３ｂ，３ｃは
、データ（読み出し対象データ）を混成メインメモリ２から読み出す場合には、読み出し
要求を発生させる。
【００１３】
プロセッサ３ａ，３ｂ，３ｃは、各々に仮想アドレスをＭＰＵ又はＧＰＵの物理アドレ
ス（混成メインメモリ２に対する論理アドレス）に変換するページテーブル（図示せず）
を備える。プロセッサ３ａ，３ｂ，３ｃは、１次キャッシュメモリ４ａ，４ｂ，４ｃ、２
次キャッシュメモリ５ａ，５ｂ，５ｃ、又は混成メインメモリ２にデータを書き込む場合
には、ページテーブルにより仮想アドレスを論理アドレスに変換し、論理アドレスにより
書き込み対象データを指定する。同様に、プロセッサ３ａ，３ｂ，３ｃは、１次キャッシ
ュメモリ４ａ，４ｂ，４ｃ、２次キャッシュメモリ５ａ，５ｂ，５ｃ、又は混成メインメ
モリ２からデータを読み出す場合には、ページテーブルにより仮想アドレスを論理アドレ
スに変換し、論理アドレスにより読み出し対象データを指定する。
【００１４】
なお、以下において、１次キャッシュメモリ４ａ，４ｂ，４ｃ、２次キャッシュメモリ
５ａ，５ｂ，５ｃ、又は混成メインメモリ２に対する書き込み、読み出しを総称して「ア
クセス」と表現する。
【００１５】
メモリ管理装置１は、プロセッサ３ａ，３ｂ，３ｃの混成メインメモリ２に対するアク
セス（書き込み、読み出し）を管理する。メモリ管理装置１は、処理部１５と、作業メモ
リ１６と、情報記憶部（記憶部）１７とを備える。メモリ管理装置１は、後述するメモリ
使用情報１１と、メモリ固有情報１２と、アドレス変換情報１３と、テーブル１４とを情
報記憶部１７に格納する。メモリ管理装置１の情報記憶部１７に格納されるテーブル１４
は、不揮発性半導体メモリ９，１０に格納されているテーブル１４の一部であってもよい
。例えば、不揮発性半導体メモリ９，１０に格納されているテーブル１４のうち、頻繁に
用いられるテーブル１４のデータを、メモリ管理装置１の情報記憶部１７に格納するとし
てもよい。メモリ管理装置１は、テーブル１４等を参照し、プロセッサ３ａ，３ｂ，３ｃ
の混成メインメモリ２に対するアクセスを管理する。詳細については後述する。
【００１６】
混成メインメモリ２は、第１のメモリ、第２のメモリ、及び第３のメモリを備えている
。第１のメモリは、第２のメモリよりもアクセス可能上限回数が多い。第２のメモリは、
第３のメモリよりもアクセス可能上限回数が多い。ここでアクセス可能上限回数とは、統
計的に予想される期待値であって、常にこの関係が保証されることを意味してはいないこ
とに注意されたい。
【００１７】
本実施形態では、第１のメモリは揮発性半導体メモリ８であるとする。揮発性半導体メ
モリ８としては、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍ
ｅｍｏｒｙ）、ＦＰＭ−ＤＲＡＭ、ＥＤＯ−ＤＲＡＭ、ＳＤＲＡＭなどのような、一般的
なコンピュータにおいてメインメモリとして利用されるメモリが用いられる。また、ＤＲ
ＡＭ程度の高速ランダムアクセスが可能であり、アクセス可能上限回数に実質的な制限が
無いのであれば、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃ
ｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａ
ｃｃｅｓｓ  Ｍｅｍｏｒｙ）などの不揮発性ランダムアクセスメモリを採用してもよい。
【００１８】
第２のメモリは不揮発性半導体メモリ９であるとする。不揮発性半導体メモリ９として
は、例えば、ＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）タイプのＮＡＮＤ型フラッ
シュメモリが用いられる。ＳＬＣは、ＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）と比
較して、読み出し及び書き込みが高速であり、信頼性が高い。しかしながら、ＳＬＣは、
ＭＬＣと比較して、ビットコストが高く、大容量化には向いていない。
【００１９】
第３のメモリは不揮発性半導体メモリ１０であるとする。不揮発性半導体メモリ１０と
しては、例えば、ＭＬＣタイプのＮＡＮＤ型フラッシュメモリが用いられる。ＭＬＣは、
ＳＬＣと比較して、読み出し及び書き込みが低速であり、信頼性が低い。しかしながら、
ＭＬＣは、ＳＬＣと比較して、ビットコストが低く、大容量化に向いている。
【００２０】
ＭＬＣタイプの不揮発性半導体メモリ１０は、２ビット以上のデータを格納するメモリ
セルを含む第１のメモリ領域を有する。第１のメモリ領域はブロックである。またＭＬＣ
タイプの不揮発性半導体メモリ１０は、２ビット以上のデータを格納するメモリセルを含
む第２のメモリ領域を有する。第２のメモリ領域はブロックである。たとえば、第２のメ
モリ領域は、第１のメモリ領域よりもデータの読み出し可能回数が少ない場合、第１のメ
モリ領域を“Ｇｏｏｄ  ｂｌｏｃｋ”、第２のメモリ領域を“Ｗｏｒｓｅ  ｂｌｏｃｋ”
という。
【００２１】
ＳＬＣタイプの不揮発性半導体メモリ９は、１ビットのデータを格納するメモリセルを
含む第３のメモリ領域を有する。第３のメモリ領域はブロックである。第３のメモリ領域
は、上述した第１のメモリ領域および第２のメモリ領域よりもデータの読み出し回数が多
い。第３のメモリ領域は、第１のメモリ領域および第２のメモリ領域よりも信頼性が高い
。第３のメモリ領域に格納されたデータは、第１のメモリ領域および第２のメモリ領域に
格納されたデータよりもデータの欠陥が起こりにくい。
【００２２】
第１のメモリ領域および第２のメモリ領域は不揮発性半導体メモリ１０に含まれ、第３
のメモリ領域は不揮発性半導体メモリ９に含まれているが、１つの不揮発性半導体メモリ
の中で、第１のメモリ領域、第２のメモリ領域、および第３のメモリ領域を含んでいても
よい。
【００２３】
揮発性半導体メモリ８、不揮発性半導体メモリ９、１０の製造時点で、それぞれに含ま
れるメモリセルには素子特性のばらつきが生じる。メモリセルの素子特性のばらつきはラ
ンダムに生じるため、メモリセルごとに読み出し誤り率も異なる。したがって、不揮発性
半導体メモリ１０において、第１のメモリ領域におけるデータの読み出し回数と第２のメ
モリ領域におけるデータの読み出し回数は異なる。
【００２４】
不揮発性メモリ１０の製造時点において第１のメモリ領域のデータの読み出し回数が第
２のメモリ領域のデータの読み出し回数よりも多い場合であっても、第１のメモリ領域に
データを何度も書き込んでいくと、第１のメモリ領域のデータの読み出し回数が第２のメ
モリ領域のデータの読み出し回数よりも少なくなることもある。これは第１のメモリ領域
の読み出し誤り率が増大していくためである。このとき、第１のメモリ領域が“Ｗｏｒｓ
ｅ  ｂｌｏｃｋ”、第２のメモリ領域が“Ｇｏｏｄ  ｂｌｏｃｋ”となる。
【００２５】
なお、本実施形態では、不揮発性半導体メモリ９がＳＬＣタイプのＮＡＮＤ型フラッシ
ュメモリであり、不揮発性半導体メモリ１０がＭＬＣタイプのＮＡＮＤ型フラッシュメモ
リであるが、例えば、不揮発性半導体メモリ９が２ｂｉｔ／ＣｅｌｌのＭＬＣタイプのＮ
ＡＮＤ型フラッシュメモリであり、不揮発性半導体メモリ１０が３ｂｉｔ／ＣｅｌｌのＭ
ＬＣタイプのＮＡＮＤ型フラッシュメモリであってもよい。
【００２６】
信頼性とは、記憶装置からデータを読み出す場合におけるデータの欠損の起こりにくさ
の程度（耐久性）を意味する。ＳＬＣの耐久性は、ＭＬＣの耐久性よりも高い。ここで、
耐久性が高いとは、アクセス可能上限回数が多く、耐久性が低いとは、アクセス可能上限
回数が少ないことを意味する。
【００２７】
ＳＬＣは１つのメモリセルに１ビットの情報を記憶可能である。一方、ＭＬＣは１つの
メモリセルに２ビット以上の情報を記憶可能である。すなわち、本実施形態に係る混成メ
インメモリ２は、第１に、揮発性メモリ８、第２に、不揮発性半導体メモリ９、第３に、
不揮発性半導体メモリ１０、の順で耐久性が高い。
【００２８】
ＮＡＮＤ型フラッシュメモリなどの不揮発性半導体メモリ９，１０は、揮発性半導体メ
モリ８と比較して、安価で大容量化が可能である。不揮発性半導体メモリ９，１０として
は、ＮＡＮＤ型フラッシュメモリに代えて、例えばＮＯＲ型フラッシュメモリなどのよう
な他の種類のフラッシュメモリ、ＰＲＡＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  ｍｅｍｏｒｙ）
、ＲｅＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を用
いることもできる。
【００２９】
なお、第３のメモリとしてＭＬＣを採用し、第２のメモリとして、ＭＬＣの下位ページ
のみを使用してデータ書き込みを行う擬似ＳＬＣモードが利用可能なＭＬＣを採用しても
よい。この場合、第２のメモリと第３のメモリとを共通のチップのみで構成することが可
能であり、製造コスト面で有利となる。
【００３０】
メインメモリとして不揮発性半導体メモリ９、１０を利用する場合と、２次記憶装置と
して不揮発性半導体メモリ９、１０を利用する場合とを比較すると、メインメモリとして
不揮発性半導体メモリ９、１０を使用した場合にはこの不揮発性半導体メモリ９、１０へ
のアクセス頻度が高くなる。本実施形態においては、揮発性半導体メモリ８とＳＬＣの不
揮発性半導体メモリ９とＭＬＣの不揮発性半導体メモリ１０とを混成してメインメモリと
する混成メインメモリ２を備えた情報処理装置を実現している。混成メインメモリ２は、
異機種混在型の主記憶装置であり、メモリ管理装置１によってデータの配置が管理される
。
【００３１】
不揮発性半導体メモリ９、１０の所定の領域には、メモリ使用情報１１、メモリ固有情
報１２、アドレス変換情報１３、テーブル１４が記憶されている。
【００３２】
メモリ使用情報１１は、不揮発性半導体メモリ９、１０の各ページ領域の書き込み発生
回数及び読み出し発生回数と、各ブロック領域の消去回数と、使用中領域サイズを含む。
【００３３】
メモリ固有情報１２は、揮発性半導体メモリ８のメモリサイズと、不揮発性半導体９、
１０のメモリサイズと、不揮発性半導体メモリ９、１０のページサイズ及びブロックサイ
ズと、各領域のアクセス可能上限回数（書き込み可能上限回数、読み出し可能上限回数（
読み出し可能回数）、消去可能上限回数）と、を含む。ここで、ページサイズとは、不揮
発性半導体メモリ９、１０の書き込み、読み出しのデータサイズの単位である。ブロック
サイズとは、不揮発性半導体メモリ９、１０のデータ消去サイズの単位である。不揮発性
半導体メモリ９、１０において、ブロックサイズはページサイズよりも大きい。
【００３４】
アドレス変換情報１３は、プロセッサ３ａ、３ｂ、３ｃから与えられる論理アドレスを
、論理アドレスに対応する物理アドレスに変換する情報である。アドレス変換情報１３の
詳細については後述する。
【００３５】
テーブル１４は、データ毎のカラーリング情報が保持するテーブルである。詳細は後述す
る。
【００３６】
次に、図２を参照して、本実施形態に係るメモリ管理装置とオペレーティングシステム
とについてさらに説明する。図２は、本実施形態に係るメモリ管理装置１及び情報処理装
置１００の構成の一例を示すブロック図である。図２では、図１のプロセッサ３ａ、３ｂ
、３ｃのうちプロセッサ３ｂを代表として説明するが、他のプロセッサ３ａ、３ｃについ
ても同様である。
【００３７】
オペレーティングシステム２７は、プロセッサ３ｂにより実行される。オペレーティン
グシステム２７は、プロセッサ３ｂで実行され、情報記憶部１７に格納されているテーブ
ル１４にアクセスする権限を有する。
【００３８】
メモリ管理装置１の処理部１５は、アドレス管理部１８、読み出し管理部１９、書き込
み管理部２０、データ情報管理部２１、メモリ使用情報管理部２２、再配置部２３を備え
る。さらに、データ情報管理部２１は、アクセス頻度算出部２４、カラー情報管理部２５
を備える。
【００３９】
処理部１５は、情報記憶部１７に記憶されている情報に基づいて、作業メモリ１６を使
用しつつ各種処理を実行する。
【００４０】
作業メモリ１６は、例えばバッファとして利用され、各種のデータ変換などの作業領域
として使用される。
【００４１】
処理部１５に備えられている上記機能ブロックは、ハードウェア及びソフトウェア（例
えばオペレーティングシステム２７、ファームウェア等）のいずれか一方、又は両者の組
み合わせとして実現することができる。これらの機能ブロックが、ハードウェアとして実
現されるか、又はソフトウェアとして実現されるかは、具体的な実施形態、又は情報処理
装置１００全体に課せられた設計制約に依存する。当業者は、具体的な実施形態毎に、様
々な方法でこれらの機能を実現し得るが、そのような実現を決定することは本発明の範疇
に含まれるものである。なお、以下の説明において用いられる機能ブロックについても同
様である。
【００４２】
アドレス管理部１８は、論理アドレスに対して物理アドレスを割り当て、アドレス変換
情報１３に記憶する。これにより、処理部１５は、アドレス変換情報１３を参照すること
により、論理アドレスに対応する物理アドレスを取得することができる。
【００４３】
読み出し管理部１９は、プロセッサ３ａ，３ｂ，３ｃが読み出し要求を発生した場合に
、混成メインメモリ２に対して読み出し対象データの読み出し処理を管理する。
【００４４】
書き込み管理部２０は、プロセッサ３ａ，３ｂ，３ｃが書き込み要求を発生した場合に
、混成メインメモリ２に対して書き込み対象データを書き込む処理を管理する。
【００４５】
データ情報管理部２１は、テーブル１４を管理する。
【００４６】
メモリ使用情報管理部２２は、混成メインメモリ２のメモリ使用情報１１を管理する。
【００４７】
再配置部２３は、プロセッサ３ａ，３ｂ，３ｃの動作と非同期に、テーブル１４に含ま
れているカラーリング情報に基づき、任意の論理アドレスに対応する物理アドレスに配置
されているデータの再配置を行う。
【００４８】
再配置部２３は、例えば、不揮発性半導体メモリ１０のあるブロックに含まれるデータ
のうち、読み出し頻度が高いデータを、定期的に、不揮発性半導体メモリ９に再配置して
もよい。また、再配置部２３は、例えば、不揮発性半導体メモリ９に含まれるデータのう
ち、読み出し頻度が低いデータを、定期的に、不揮発性半導体メモリ１０に再配置しても
よい。同様に、再配置部２３は、揮発性半導体メモリ８、不揮発性半導体メモリ９、１０
の間でもデータの再配置を行うことが可能である。
【００４９】
以下に、再配置部２３のデータの制御について具体的に説明する。
再配置部２３は、例えば、新たなデータである第１のデータを不揮発性半導体メモリ１０
に格納する場合に、第１のデータの情報に基づき、第１のデータを第１のメモリ領域およ
び第２のメモリ領域のいずれかに格納する。第１のデータの情報は、情報処理装置１００
を製造した製造者が予め設定した第１のデータの読み出し頻度を含む。また第１のデータ
の情報は、情報処理装置１００を使用するユーザが設定した第１のデータの読み出し頻度
でも良い。
【００５０】
再配置部２３は、例えば、不揮発性半導体メモリ１０の第１のメモリ領域に第２のデー
タが格納されている場合に、第２のデータの読み出し頻度に基づき、第２のデータを第１
のメモリ領域に保持するか第２のメモリ領域に移動するかを制御する。
【００５１】
また、例えば、不揮発性半導体メモリ１０の第２のメモリ領域に第３のデータが格納さ
れている場合に、第３のデータの読み出し頻度に基づき、第３のデータを第２のメモリ領
域に保持するか第１のメモリ領域に移動するかを制御する。
【００５２】
ここで、再配置部２３が、長期間にわたって、第４のデータを第１のメモリ領域に保持
する場合を考える。この場合、長期間にわたって、第４のデータの読み出し頻度が高いた
め、再配置部２３は第４のデータを第１のメモリ領域に保持している。再配置部２３は、
第４のデータを重要なデータとみなし、あるタイミングで第４のデータを不揮発性半導体
メモリ９の第３のメモリ領域にさらに移動する。
【００５３】
第４のデータを第３のメモリ領域に移動した場合、第３のメモリ領域はＳＬＣタイプで
信頼性が高いため、第４のデータを読み出す際にデータの欠陥が起こりにくい。さらに、
ＳＬＣタイプの第３のメモリ領域はデータの読み出し回数が多いため、読み出し頻度の高
いデータを保存するのに適している。
【００５４】
ＳＬＣタイプの第３のメモリ領域は信頼性は高いが、ＳＬＣタイプの第３のメモリ領域
の記憶容量は、ＭＬＣタイプの第１のメモリ領域の記憶容量の半分以下である。そのため
、再配置部２３は、読み出し頻度の高い第４のデータをすぐにＳＬＣタイプの第３のメモ
リ領域に移動させず、あるタイミングで第４のデータを第３のメモリ領域に移動させる。
【００５５】
再配置部２３が第４のデータを第１のメモリ領域から第３のメモリ領域に移動するタイ
ミングは、情報処理装置１００の製造者が予め設定してもよいし、情報処理装置１００を
使用するユーザが設定してもよい。
【００５６】
上述した第１のデータ、第２のデータ、第３のデータ、および第４のデータは、全て同
一のデータであってもよい。
【００５７】
上述したように、再配置部２３は、不揮発性半導体メモリ１０に新たに格納するデータ
および不揮発性半導体メモリ１０にすでに格納されているデータの両方を制御するが、例
えば、不揮発性半導体メモリ１０にすでに格納されているデータだけを制御してもよい。
【００５８】
この場合、再配置部２３は、例えば、不揮発性半導体メモリ１０の第１のメモリ領域に
第１のデータが格納されている場合に、第１のデータの読み出し頻度に基づき、第１のデ
ータを第１のメモリ領域に保持するか第２のメモリ領域に移動するかを制御する。また、
例えば、不揮発性半導体メモリ１０の第２のメモリ領域に第２のデータが格納されている
場合に、第２のデータの読み出し頻度に基づき、第２のデータを第２のメモリ領域に保持
するか第１のメモリ領域に移動するかを制御する。
【００５９】
再配置部２３が、長期間にわたって、第３のデータを第１のメモリ領域に保持する場合
を考える。この場合、長期間にわたって、第３のデータの読み出し頻度が高いため、再配
置部２３は第３のデータを第１のメモリ領域に保持している。再配置部２３は、第３のデ
ータを重要なデータとみなし、あるタイミングで第３のデータを不揮発性半導体メモリ９
の第３のメモリ領域にさらに移動する。
【００６０】
上述した第１のデータ、第２のデータ、および第３のデータは、全て同一のデータであ
ってもよい。
【００６１】
なお、不揮発性半導体メモリ１０の製造時点におけるメモリセルの素子特性のばらつき
に基づいて、第１のメモリ領域および第２のメモリ領域を設定しているが、不揮発性半導
体メモリ１０を使用するにつれて生じるメモリセルの素子特性のばらつきに基づいて、第
１のメモリ領域や第２のメモリ領域を設定してもよい。
【００６２】
後述する書き込み管理部２０による書き込み処理は、データの更新が発生するたびに、
書き込み先メモリ領域の判断処理と書き込み先ブロック領域の判断処理を行うことで再配
置を行う。これに対し、再配置部２３はデータの再配置を定期的に行う。再配置部２３が
データの再配置を行う場合、書き込み管理部２０及び読み出し管理部１９は再配置が終了
するまで動作しない。再配置部２３の動作開始のトリガは、開発者によって設定された周
期や、ユーザインターフェースにて設定可能な周期としてもよい。また、情報処理装置１
００が休止状態になる時に再配置部２３が動作してもよい。
【００６３】
アクセス頻度算出部２４は、テーブル１４に含まれているカラーリング情報に基づき、
データのアクセス頻度情報（読み出し頻度ＤＲ  ｃｏｌｏｒ）を算出する。
【００６４】
カラー情報管理部２５は、テーブル１４に含まれているカラーリング情報を管理する。
【００６５】
次に、図３を参照して、本実施形態に係る混成メインメモリについて説明する。図３は
、本実施形態に係る混成メインメモリ２のメモリマップの一例を示す図である。
【００６６】
混成メインメモリ２は、揮発性半導体メモリ８（ＤＲＡＭ領域）と、不揮発性半導体メ
モリ９（ＳＬＣ領域）と、不揮発性半導体メモリ１０（２ｂｉｔ／Ｃｅｌｌ領域、３ｂｉ
ｔ／Ｃｅｌｌ領域、４ｂｉｔ／Ｃｅｌｌ領域）とを備える。２ｂｉｔ／Ｃｅｌｌ領域、３
ｂｉｔ／Ｃｅｌｌ領域、４ｂｉｔ／Ｃｅｌｌ領域はＭＬＣ領域を構成する。ＤＲＡＭ領域
、ＳＬＣ領域、２ｂｉｔ／Ｃｅｌｌ領域、３ｂｉｔ／Ｃｅｌｌ領域、４ｂｉｔ／Ｃｅｌｌ
領域を総称して、メモリ領域と称する。
【００６７】
揮発性半導体メモリ８は、例えば、１２８ＭＢｙｔｅのＤＲＡＭ領域から構成される。
【００６８】
不揮発性半導体メモリ９は、例えば、２ＧＢｙｔｅのＢ領域と１２８ＭＢｙｔｅのＢ冗
長ブロック領域と、２ＧＢｙｔｅのＣ領域と１２８ＭＢｙｔｅのＣ冗長ブロック領域から
構成される。不揮発性半導体メモリ９の各メモリ領域は、ＳＬＣタイプのＮＡＮＤ型フラ
ッシュメモリである。
【００６９】
不揮発性半導体メモリ１０の各メモリ領域は、ＭＬＣタイプのＮＡＮＤ型フラッシュメ
モリである。不揮発性半導体メモリ１０は、例えば、４ＧＢｙｔｅのＡ領域と１２８ＭＢ
ｙｔｅのＡ冗長ブロック領域から構成される２ｂｉｔ／Ｃｅｌｌ領域と、４ＧＢｙｔｅの
Ｄ領域と１２８ＭＢｙｔｅのＤ冗長ブロック領域から構成される３ｂｉｔ／Ｃｅｌｌと、
４ＧＢｙｔｅのＥ領域と１２８ＭＢｙｔｅのＥ冗長ブロック領域から構成される４ｂｉｔ
／Ｃｅｌｌ領域とにより構成される。図３に示すように、メモリ領域には、物理アドレス
が割り付けられる。
【００７０】
混成メインメモリ２が上記構成である場合には、メモリ固有情報１２は、１）混成メイ
ンメモリ２のメモリ空間内の揮発性半導体メモリ８（ＤＲＡＭ領域）のメモリサイズ、２
）混成メインメモリ２のメモリ空間内の不揮発性半導体メモリ９，１０のメモリサイズ、
３）混成メインメモリ２のメモリ空間を構成するＮＡＮＤ型フラッシュメモリのブロック
サイズ、ページサイズ、４）不揮発性半導体メモリ９内のＳＬＣ領域（２値領域）として
割り付けられたメモリ空間情報（消去可能上限回数、読み出し可能上限回数（読み出し可
能回数）、書き込み可能上限回数を含む）、５）２ｂｉｔ／Ｃｅｌｌ領域に割り付けられ
たメモリ空間情報（消去可能上限回数、読み出し可能上限回数（読み出し可能回数）、書
き込み可能上限回数を含む）、６）３ｂｉｔ／Ｃｅｌｌ領域に割り付けられたメモリ空間
情報（消去可能上限回数、読み出し可能上限回数、書き込み可能上限回数を含む）、７）
４ｂｉｔ／Ｃｅｌｌ領域に割り付けられたメモリ空間情報（消去可能上限回数、読み出し
可能上限回数（読み出し可能回数）を含む）を含む。
【００７１】
次に、図４を参照して、本実施形態に係るアドレス変換情報（アドレス変換テーブル）
１３について説明する。図４は、本実施形態に係るアドレス変換情報１３の一例を示す図
である。
【００７２】
アドレス変換情報１３では、論理アドレス、揮発性半導体メモリ８の物理アドレス、不
揮発性半導体メモリ９，１０の物理アドレス、有効／無効フラグが、テーブル形式で管理
される。
【００７３】
アドレス変換情報１３の各エントリには、論理アドレス、この論理アドレスに対応する
揮発性半導体メモリ８の物理アドレスと不揮発性半導体メモリ９，１０の物理アドレスと
のうちの少なくとも一つ、有効／無効フラグが登録される。
【００７４】
有効／無効フラグは、各エントリが有効であるか否かを示す情報である。有効／無効フ
ラグは、１のときに有効、０のときに無効を表す。エントリの有効／無効フラグの初期値
は０である。有効／無効フラグが０のエントリは、論理アドレスのマッピングされていな
いエントリ、又は、論理アドレスがマッピングされたが消去されたエントリである。有効
／無効フラグが１のエントリには、論理アドレスがマッピングされており、揮発性半導体
メモリ８と不揮発性半導体メモリ９，１０とのうちの少なくとも一方に、論理アドレスに
対応する物理アドレスが存在する。
【００７５】
なお、図４に示すアドレス変換情報１３の例では、アドレス変換情報１３の１エントリ
で論理アドレス、揮発性半導体メモリ８の物理アドレス、不揮発性半導体メモリ９，１０
の物理アドレスを管理しているが、例えば、アドレス変換情報１３では論理アドレスと不
揮発性半導体メモリ８の物理アドレスを管理し、論理アドレスと揮発性半導体メモリ９，
１０の物理アドレスは、別のタグＲＡＭで管理してもよい。この場合、論理アドレスから
物理アドレスへ変換する際には、まず、タグＲＡＭが参照され、タグＲＡＭに当該論理ア
ドレスに対応する物理アドレスがない場合に、アドレス変換情報１３が参照される。
【００７６】
次に、図５を参照して、本実施形態に係るテーブル１４について説明する。図５は、本
実施形態に係るテーブル１４の一例を示す図である。
【００７７】
本実施形態では、データ毎にカラーリング情報が付与される。カラーリング情報が付与
されるデータのデータサイズ単位は、例えば、読み出し、書き込みの最小の単位である。
【００７８】
例えば、読み出し、書き込みの最小の単位は、ＮＡＮＤ型フラッシュメモリのページサ
イズである。以下において、テーブル１４によりカラーリング情報が対応付けられるデー
タのデータサイズがページサイズであるとして説明するが、これに限定されるものではな
い。例えば、ブロックサイズでもよい。
【００７９】
テーブル１４は、データ毎にカラーリング情報を対応付け、エントリ単位でカラーリン
グ情報を格納する。テーブル１４の各エントリには、インデックスが付されている。イン
デックスとは、論理アドレスを基に生成される値である。メモリ管理装置１の読み出し管
理部１９、書き込み管理部２０、データ情報管理部２１、再配置部２３などは、データを
指定する論理アドレスが与えられると、論理アドレスに対応するインデックスにより管理
されているエントリを参照し、データのカラーリング情報を取得する。
【００８０】
カラーリング情報は、当該データの読み出し頻度を含む。例えば、不揮発性半導体メモ
リ１０に新たに書き込まれる（格納される）データの場合、データの読み出し頻度は、デ
ータの種類等に基づいて、情報処理装置１００の製造者により予め設定される。また、デ
ータの読み出し頻度は、情報処理装置１００を使用するユーザが設定してもよい。例えば
、不揮発性半導体メモリ１０にすでに書き込まれている（格納されている）データの場合
、データの読み出し頻度は、実際にメモリ管理装置１により調べられたものである。
【００８１】
カラーリング情報は、当該データの書き込み頻度を含んでもよい。
【００８２】
読み出し頻度、書き込み頻度は、例えば、ファイルシステムに保持されるファイルの特
性、又はプログラムに一次的に使用される領域の特性により推測される。
【００８３】
ファイルシステムに保持されるファイルの特性とは、カラーリング情報が付与される当
該データが含まれるファイルデータのファイルに付加されたデータ属性により判断される
特性である。ファイルに付加されたデータ属性には、ファイルのヘッダ情報、ファイル名
、ファイルの位置、ファイル管理データ（ｉｎｏｄｄに保持される情報）等が含まれる。
【００８４】
例えば、ファイルの位置としては、ファイルがファイルシステムのゴミ箱に位置してい
る場合には、当該ファイルに含まれるデータの特性は、重要性が低い、読み出しの頻度、
書き込みの頻度が低いと予測できる。この特性に基づき、当該データのカラーリング情報
は、書き込み頻度は低、読み出し頻度は低、と推測される。
【００８５】
また、カラーリング情報は、ユーザインターフェースにより、ユーザが直接設定しても
よい。
【００８６】
なお、カラーリング情報としては、読み出し頻度だけを用いてもよいし、または書き込
み頻度と合わせて用いてもよい。さらに、他のカラーリング情報を別途定義して用いるこ
とも可能である。
【００８７】
ここで、読み出し頻度ＳＲ＿ｃｏｌｏｒは、読み出し頻度が高いと推測されるデータほ
ど、高い値が設定される。
【００８８】
後述するように、アクセス頻度算出部２４は、読み出し頻度ＳＲ＿ｃｏｌｏｒを算出す
る。
【００８９】
次に、図６を参照して、本実施形態に係るカラーリング情報について説明する。
【００９０】
図６は、各種データに対する読み出し頻度ＳＲ＿ｃｏｌｏｒの設定の第１の例を示す図
である。
【００９１】
例えばファイルの拡張子がＳＹＳ、ｄｌｌ、ＤＲＶなどで示されるようなシステムファ
イルが読み込まれる場合について説明する。このような拡張子を持つデータは、オペレー
ティングシステム２７が様々な処理を実行する場合に読み出されるファイルである。この
ような拡張子を持つデータは、混成メインメモリ２上にオペレーティングシステム２７が
インストールされる場合に、１度書き込まれるとその後更新されることはほとんどない。
したがって、オペレーティングシステム２７は、これらの拡張子を持つデータの書き込み
頻度ＳＲ＿ｃｏｌｏｒを３に設定する。この設定は、データから予測される読み出しの頻
度は高いことを示している。すなわち、これらの拡張子を持つデータは、ほとんどリード
・オンリーとして扱われると予測される。
【００９２】
ＭＰ３などによって圧縮されている音楽データの読み出し頻度ＳＲ＿ｃｏｌｏｒは２に
設定される。
【００９３】
ＭＰ３などによって圧縮されている動画データの読み出し頻度ＳＲ＿ｃｏｌｏｒは２に
設定される。
【００９４】
テキストデータの編集プログラムを使用するユーザは多い。このため、例えば、テキス
トファイルの読み出しの頻度は、高いと考えられる。したがって、テキストファイルの読
み出し頻度ＳＲ＿ｃｏｌｏｒは３に設定される。
【００９５】
ウェブブラウザを使用するユーザは多い。このため、ブラウザキャッシュファイルの読
み出しの頻度は、音楽データや動画データなどのメディアファイル以上であると考えられ
る。したがって、ブラウザキャッシュファイルの読み出し頻度ＳＲ＿ｃｏｌｏｒは３に設
定される。
【００９６】
例えば、ごみ箱などのようなアクセスの頻度の低いディレクトリに配置されているファ
イルの読み出し頻度ＳＲ＿ｃｏｌｏｒは１に設定される。
【００９７】
図７（ａ）に“Ｈｏｔ  ｄａｔａ”または“Ｃｏｌｄ  ｄａｔａ”のアクセス頻度と時
間の関係、図（ｂ）に“Ｗａｒａｍｉｎｇ  ｄａｔａ”または“Ｃｏｏｌｉｎｇ  ｄａｔ
ａ”の読み出し頻度と時間の関係を示す。
【００９８】
図７（ａ）において、縦軸にデータの読み出し頻度、横軸に時間を示す。
【００９９】
横軸の時間の単位は分（ｍｉｎｕｔｅ）、時間（ｈｏｕｒ）、日（ｄａｙ）などである
。縦軸の読み出し頻度は、読み出し頻度の高いデータが入る領域である“Ｈｏｔ  ｒｅｇ
ｉｏｎ”、読み出し頻度が低いデータが入る領域である“Ｃｏｌｄ  ｒｅｇｉｏｎ”に分
けられる。
【０１００】
例えば、混成メインメモリ２の不揮発性半導体メモリ１０に記憶されたデータの読み出
し頻度が１日当たり１００回と想定した場合を考える。データの読み出し頻度が１日に１
５０回以上のとき、データの読み出し頻度は“Ｈｏｔ  ｒｅｇｉｏｎ”に入る。データの
読み出し頻度が１日に５０回以下のときは、データの読み出し頻度は“Ｃｏｌｄ  ｒｅｇ
ｉｏｎ”に入る。常にデータの読み出し頻度が１日に１５０回以上であるデータを“Ｈｏ
ｔ  ｄａｔａ”とし、常にデータの読み出し頻度が１日に５０回以下であるデータを“Ｃ
ｏｌｄ  ｄａｔａ”を定義する。
【０１０１】
図７（ｂ）において、縦軸にデータの読み出し頻度、横軸に時間を示す。
【０１０２】
横軸の時間の単位は分（ｍｉｎｕｔｅ）、時間（ｈｏｕｒ）、日（ｄａｙ）などである
。縦軸の読み出し頻度は、読み出し頻度の高いデータが入る領域である“Ｈｏｔ  ｒｅｇ
ｉｏｎ”、読み出し頻度が低いデータが入る領域である“Ｃｏｌｄ  ｒｅｇｉｏｎ”に分
けられる。
【０１０３】
時間の経過に伴って“Ｃｏｌｄ  ｒｅｇｉｏｎ”から“Ｈｏｔ  ｒｅｇｉｏｎ”に入っ
たデータを“Ｗａｒａｍｉｎｇ  ｄａｔａ”という。“Ｗａｒａｍｉｎｇ  ｄａｔａ”は
読み出し頻度が低かったが、時間の経過に伴って読み出し頻度が高くなったデータである
。
【０１０４】
時間の経過に伴って“Ｈｏｔ  ｒｅｇｉｏｎ”から“Ｃｏｌｄ  ｒｅｇｉｏｎ”に入っ
たデータを“Ｃｏｏｌｉｎｇ  ｄａｔａ”という。“Ｃｏｏｌｉｎｇ  ｄａｔａ”は読み
出し頻度が高かったが、時間の経過に伴って読み出し頻度が低くなったデータである。
【０１０５】
例えば、混成メインメモリ２の不揮発性半導体メモリ１０に記憶されたデータの読み出
し頻度が１日当たり１００回と想定した場合を考える。読み出し頻度が１日に１５０回以
上であったデータが時間の経過に伴い、読み出し頻度が１日に５０回以下となった場合、
そのデータは“Ｃｏｏｌｉｎｇ  ｄａｔａ”である。読み出し頻度が１日に５０回以下で
あったデータが時間の経過に伴い、読み出し頻度が１日に１５０回以上となった場合、そ
のデータは“Ｗａｒｍｉｎｇ  ｄａｔａ”である。
【０１０６】
図８にメモリ管理装置（制御部）１が不揮発性半導体メモリ１０にデータを格納する場
合の制御フローを示す。
【０１０７】
第１のデータを保存（格納）する際に、メモリ管理装置（制御部）１は、情報記憶部１
７に格納される第１のデータの読み出し頻度に基づいて、第１のデータが“Ｈｏｔ  ｄａ
ｔａ”、“Ｎｏｒｍａｌ  ｄａｔａ”、および“Ｃｏｌｄ  ｄａｔａ”のいずれかを判断
する。“Ｈｏｔ  ｄａｔａ”と判断された第１のデータは、“Ｇｏｏｄ  ｂｌｏｃｋ”（
第１のメモリ領域）のアドレスが付与され“Ｇｏｏｄ  ｂｌｏｃｋ” （第１のメモリ領
域）に格納される。
【０１０８】
“Ｃｏｌｄ  ｄａｔａ”と判断された第１のデータは、“Ｗｏｒｓｅ  ｂｌｏｃｋ” 
（第２のメモリ領域）のアドレスが付与され“Ｗｏｒｓｅ  ｂｌｏｃｋ” （第２のメモ
リ領域）に格納される。
【０１０９】
“Ｈｏｔ  ｄａｔａ”または“Ｃｏｌｄ  ｄａｔａ”とみなされなかったデータは“Ｎ
ｏｒｍａｌ  ｄａｔａ”と判断され、“Ｎｏｒｍａｌ  ｂｌｏｃｋ”のアドレスが付与さ
れる。“Ｎｏｒｍａｌ  ｄａｔａ”は、“Ｎｏｒｍａｌ  ｂｌｏｃｋ”に保存される。
【０１１０】
図９にメモリ管理装置（制御部）１が不揮発性半導体メモリ１０に格納されたデータを
制御する制御フローを示す。
【０１１１】
メモリ管理装置１は、不揮発性半導体メモリ１０のブロックに格納されたデータを読み
出す。
【０１１２】
メモリ管理装置１は、情報記憶部１７に格納されるデータの読み出し頻度に基づいて、
不揮発性半導体メモリ１０のブロックに格納されたデータを別のブロックに移動するかど
うかを制御する。
【０１１３】
メモリ管理装置１は、例えば、“Ｇｏｏｄ  ｂｌｏｃｋ”（第１のメモリ領域）に格納
されていた第２のデータの読み出し頻度が低くなった場合は“Ｃｏｏｌｉｎｇ  ｄａｔａ
”として、第２のデータを“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格納する
。また、メモリ管理装置１は、例えば、“Ｇｏｏｄ  ｂｌｏｃｋ” （第１のメモリ領域
）に格納されていた第２のデータの読み出し頻度が高い場合は、“Ｈｏｔ  ｄａｔａ”と
して、第２のデータを“Ｇｏｏｄ  ｂｌｏｃｋ” （第１のメモリ領域）に保持する。
【０１１４】
メモリ管理装置１は、例えば、“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格
納されていた第３のデータの読み出し頻度が高くなった場合は“Ｗａｒｍｉｎｇ  ｄａｔ
ａ”として、データを“Ｇｏｏｄ  ｂｌｏｃｋ”（第１のメモリ領域）に格納する。また
、メモリ管理装置１は、例えば、“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格
納されていた第３のデータの読み出し頻度が低い場合は、“Ｃｏｌｄ  ｄａｔａ”として
、第３のデータを“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ）に保持する。
【０１１５】
メモリ管理装置１が、長期間にわたって、第４のデータを“Ｇｏｏｄ  ｂｌｏｃｋ”（
第１のメモリ領域）に保持する場合を考える。この場合、長期間にわたって、第４のデー
タの読み出し頻度が高いため、メモリ管理装置１は第４のデータを“Ｇｏｏｄ  ｂｌｏｃ
ｋ”に保持している。メモリ管理装置１は、第４のデータを重要なデータとみなし、ある
タイミングで第４のデータを不揮発性半導体メモリ９の“ｂｌｏｃｋ”（第３のメモリ領
域）にさらに移動する。
【０１１６】
上述した第１のデータ、第２のデータ、第３のデータ、および第４のデータは、全て同
一のデータであってもよい。
【０１１７】
図８および図９で示したように、メモリ管理装置１は、不揮発性半導体メモリ１０に新
たに格納するデータおよび不揮発性半導体メモリ１０にすでに格納されているデータの両
方を制御するが、例えば、不揮発性半導体メモリ１０にすでに格納されているデータだけ
を制御してもよい。
【０１１８】
メモリ管理装置１は、例えば、“Ｇｏｏｄ  ｂｌｏｃｋ”（第１のメモリ領域）に格納
されていた第１のデータの読み出し頻度が低くなった場合は“Ｃｏｏｌｉｎｇ  ｄａｔａ
”として、第１のデータを“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格納する
。また、メモリ管理装置１は、例えば、“Ｇｏｏｄ  ｂｌｏｃｋ” （第１のメモリ領域
）に格納されていた第１のデータの読み出し頻度が高い場合は、“Ｈｏｔ  ｄａｔａ”と
して、第１のデータを“Ｇｏｏｄ  ｂｌｏｃｋ” （第１のメモリ領域）に保持する。
【０１１９】
メモリ管理装置１は、例えば、“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格
納されていた第２のデータの読み出し頻度が高くなった場合は“Ｗａｒｍｉｎｇ  ｄａｔ
ａ”として、データを“Ｇｏｏｄ  ｂｌｏｃｋ”（第１のメモリ領域）に格納する。また
、メモリ管理装置１は、例えば、“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ領域）に格
納されていた第２のデータの読み出し頻度が低い場合は、“Ｃｏｌｄ  ｄａｔａ”として
、第２のデータを“Ｗｏｒｓｅ  ｂｌｏｃｋ”（第２のメモリ）に保持する。
【０１２０】
メモリ管理装置１が、長期間にわたって、第３のデータを“Ｇｏｏｄ  ｂｌｏｃｋ”（
第１のメモリ領域）に保持する場合を考える。この場合、長期間にわたって、第３のデー
タの読み出し頻度が高いため、メモリ管理装置１は第３のデータを“Ｇｏｏｄ  ｂｌｏｃ
ｋ”に保持している。メモリ管理装置１は、第３のデータを重要なデータとみなし、ある
タイミングで第３のデータを不揮発性半導体メモリ９の“ｂｌｏｃｋ”（第３のメモリ領
域）にさらに移動する。
【０１２１】
上述した第１のデータ、第２のデータ、および第３のデータは、全て同一のデータであ
ってもよい。
【０１２２】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したも
のであり、発明の範囲を限定することは意図していない。この実施形態は、その他の様々
な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置
き換え、変更を行うことができる。この実施形態やその変形は、説明の範囲や要旨に含ま
れると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである
。
【符号の説明】
【０１２３】
１  メモリ管理装置
２  混成メインメモリ
３ａ〜３ｂ  プロセッサ
４ａ〜４ｃ  １次キャッシュメモリ
５ａ〜５ｃ  ２次キャッシュメモリ
６ａ〜６ｃ  プロセス  
７  バス  
８  揮発性半導体メモリ  
９、１０、２９  不揮発性半導体メモリ
１１  メモリ使用情報
１２  メモリ固有情報
１３  アドレス変換情報
１４  テーブル
１５  処理部
１６  作業メモリ  
１７  情報記憶部  
１８  アドレス管理部  
１９  読み出し管理部  
２０  書き込み管理部
２１  データ情報管理部  
２２  メモリ使用情報管理部
２３  再配置部
２４  アクセス頻度算出部
２５  カラー情報管理部
２７  オペレーティングシステム
【図１】
2017224112.tif 000003
【図２】
2017224112.tif 000004
【図３】
2017224112.tif 000005
【図４】
2017224112.tif 000006
【図５】
2017224112.tif 000007
【図６】
2017224112.tif 000008
【図７】
2017224112.tif 000009
【図８】
2017224112.tif 000010
【図９】
2017224112.tif 000011