(57)【要約】【課題】不揮発記憶部の寿命を延ばすことにある。【解決手段】実施形態の管理装置は、第１記憶部および複数のページを含む不揮発記憶部に対する、処理回路によるデータの読み出しおよび書き込みを管理する。管理装置は、設定記憶部と、アクセス処理部と、管理部とを備える。設定記憶部は、複数のページのそれぞれについて、不揮発記憶部から第１記憶部に転送したデータに対して書き込みおよび読み出しをする第１アクセス処理、または、不揮発記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する。管理部は、第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。【選択図】図２
2018151687.tif 000002
【特許請求の範囲】
【請求項１】
第１記憶部および複数のページを含む不揮発記憶部に対する、処理回路によるデータの読み出しおよび書き込みを管理する管理装置であって、
前記複数のページのそれぞれについて、前記不揮発記憶部から前記第１記憶部に転送したデータに対して書き込みおよび読み出しをする第１アクセス処理、または、前記不揮発記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する設定記憶部と、
前記第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行するアクセス処理部と、
前記第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する管理部と、
を備える管理装置。
【請求項２】
前記アクセス処理部は、
前記第１アクセス処理において、前記不揮発記憶部における前記第１ページから前記第１記憶部に転送したデータに対して読み出しおよび書き込みをし、前記第１記憶部に転送されたデータを前記不揮発記憶部に書き戻し、
前記第２アクセス処理において、前記不揮発記憶部における前記第２ページに対して、データを直接読み出しおよび書き込みする
請求項１に記載の管理装置。
【請求項３】
前記管理部は、前記第３ページの品質が基準値以下となった場合、前記第３ページに記憶されたデータを、前記第２アクセス処理に設定されている第４ページに移動させる
請求項１または２に記載の管理装置。
【請求項４】
前記設定記憶部は、前記処理回路からデータの読み出しまたは書き込みがされたそれぞれのページについて、前記処理回路から要求される要求アドレスを記憶し、
前記管理部は、
前記第４ページに対して、前記第３ページに対応付けられていた要求アドレスを対応付け、
前記第３ページを、何れの要求アドレスも対応付けられていない未使用ページに変更する
請求項３に記載の管理装置。
【請求項５】
前記管理部は、前記第３ページの書き換え回数が所定値以上となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する
請求項１から４の何れか１項に記載の管理装置。
【請求項６】
前記管理部は、前記第３ページから読み出されたデータの誤りビット数が所定値以上となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する
請求項１から４の何れか１項に記載の管理装置。
【請求項７】
前記不揮発記憶部に含まれる前記複数のページのそれぞれについて、書き換え回数を記憶するカウンタ記憶部をさらに備え、
前記管理部は、前記第２アクセス処理が設定され、未使用であり、且つ、書き換え回数が予め定められた基準を満たすページを、前記第４ページとして選択する
請求項３に記載の管理装置。
【請求項８】
前記アクセス処理部は、前記第１アクセス処理において、前記不揮発記憶部から前記第１記憶部に転送されたデータを、何れの要求アドレスも対応付けられていない未使用ページであり、前記第１アクセス処理に設定されており、且つ、書き換え回数が所定値以下のページに書き戻す
請求項１から７の何れか１項に記載の管理装置。
【請求項９】
前記複数のページのそれぞれは、複数のサブページを含み、
前記設定記憶部は、前記複数のページのそれぞれについて、ページ全体に対するアクセス方法、または、含まれる前記複数のサブページのそれぞれに対するアクセス方法を記憶し、
前記管理部は、
ページ全体が前記第２アクセス処理に設定されている前記第３ページの品質が基準値以下となった場合、前記第３ページに含まれる前記複数のサブページのうちの品質が基準値以下となった第１サブページに記憶されたデータを、前記第２アクセス処理に設定されている第２サブページに移動させ、
前記第１サブページのアクセス方法を、前記第１アクセス処理に設定し、
前記第３ページに含まれる前記第１サブページ以外のそれぞれのサブページのアクセス方法を、前記第２アクセス処理に設定する
請求項１に記載の管理装置。
【請求項１０】
前記設定記憶部は、前記処理回路からデータの読み出しまたは書き込みがされたそれぞれのページまたはそれぞれのサブページについて、対応する要求アドレスを記憶し、
前記管理部は、
前記第２サブページに対して、前記第１サブページに対応付けられていた前記要求アドレスを対応付け、
前記第３ページにおける前記第１サブページ以外のそれぞれのサブページに対して、対応する前記要求アドレスを対応付け、
前記第１サブページを、何れの前記要求アドレスも対応付けられていない未使用サブページに変更する
請求項９に記載の管理装置。
【請求項１１】
前記不揮発記憶部は、個別に交換可能であり、それぞれに優先度が設定された複数の要素メモリを含み、
前記管理部は、前記複数の要素メモリのうち、書き換え回数が所定条件を満たした要素メモリであって優先度の最も高い要素メモリを選択し、選択した要素メモリの中から前記第４ページを選択する
請求項３に記載の管理装置。
【請求項１２】
所定状態に達するまでの第１期間において、前記アクセス処理部は、
前記第１アクセス処理に設定されている前記第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている前記第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行し、
前記所定状態に達した後の第２期間において、前記アクセス処理部は、
前記第１アクセス処理に設定されている前記第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、
前記第２アクセス処理に設定されている前記第２ページに対して書き込みの要求を受けた場合、前記第１アクセス処理を実行し、
前記第２アクセス処理に設定されている前記第２ページに対して読み出しの要求を受けた場合、前記第２アクセス処理を実行する
請求項１から１１の何れか１項に記載の管理装置。
【請求項１３】
所定状態に達するまでの第１期間において、前記アクセス処理部は、
前記第１アクセス処理に設定されている前記第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている前記第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行し、
前記所定状態に達した後の第２期間において、前記アクセス処理部は、
前記第１アクセス処理に設定されている前記第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、
前記第２アクセス処理に設定されている前記第２ページに対して書き込みの要求を受けた場合、書き込みを実行せず、
前記第２アクセス処理に設定されている前記第２ページに対して読み出しの要求を受けた場合、前記第２アクセス処理を実行する
請求項１から１１の何れか１項に記載の管理装置。
【請求項１４】
前記不揮発記憶部に含まれる前記複数のページのそれぞれについて、カウンタ値を記憶するカウンタ記憶部と、
所定個のページのそれぞれについての管理情報を格納可能な管理テーブルを記憶する管理情報記憶部と、
前記カウンタ値および前記管理テーブルを更新する更新部と、
をさらに有し、
前記複数のページのそれぞれは、複数の第２領域を含み、
前記管理情報は、対応するページに含まれる前記複数の第２領域のそれぞれが書き込み済みか未書き込みかを示し、
前記不揮発記憶部に対する第１データの書き込みに応じて、前記更新部は、
前記第１データが書き込まれるページである対象ページについての前記管理情報に示された、前記第１データが書き込まれる第２領域である対象第２領域の状態が、未書き込みの場合、書き込み済みに変更し、
前記管理情報に示された前記対象第２領域の状態が書き込み済みの場合、前記対象ページについての前記カウンタ値を更新する
請求項５に記載の管理装置。
【請求項１５】
第１記憶部および複数のページを含む不揮発記憶部に対する、処理回路によるデータの読み出しおよび書き込みを管理する管理装置であって、
所定状態に達するまでの第１期間において、前記ページのサイズまたは前記ページより小さいサイズで前記不揮発記憶部に書き込みをし、
前記所定状態に達した後の第２期間において、前記ページのサイズで前記不揮発記憶部に書き込みをする
管理装置。
【請求項１６】
前記第１期間において、前記処理回路は、機械学習におけるトレーニングを実行し、
前記第２期間において、前記処理回路は、前記機械学習によりトレーニングされたデータを用いた認識処理を実行する
請求項１５に記載された管理装置。
【請求項１７】
処理回路と、
前記処理回路によりデータの読み出しおよび書き込みがされる第１記憶部と、
前記処理回路によりデータの読み出しおよび書き込みがされ、複数のページを含む不揮発記憶部と、
前記複数のページのそれぞれについて、前記不揮発記憶部から前記第１記憶部に転送したデータに対して書き込みおよび読み出しをする第１アクセス処理、または、前記不揮発記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する設定記憶部と、
前記第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行するアクセス処理部と、
前記第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する管理部と、
を備える情報処理装置。
【請求項１８】
第１記憶部および複数のページを含む不揮発記憶部に対する、処理回路によるデータの読み出しおよび書き込みを管理する管理装置における、管理方法であって、
前記管理装置は、
前記複数のページのそれぞれについて、前記不揮発記憶部から前記第１記憶部に転送したデータに対して書き込みおよび読み出しをする第１アクセス処理、または、前記不揮発記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する設定記憶部と、
前記第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行するアクセス処理部と、
を備え、
前記第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する
管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、管理装置、情報処理装置および管理方法に関する。
【背景技術】
【０００２】
ＮＡＮＤフラッシュ等の不揮発メモリは、書き換え可能回数が少ない。このため、不揮発メモリを備える情報処理装置は、不揮発メモリに対してウェアレベリング制御をしている。例えば、情報処理装置は、ページ単位でのデータの書き換え回数を管理して、不揮発メモリに含まれる複数のページに対して平均的にデータを書き込む。これにより、情報処理装置は、不揮発メモリの寿命を延ばすことができる。
【０００３】
ところで、近年、ストレージクラスメモリとも呼ばれる高速な不揮発メモリが開発されている。ストレージクラスメモリは、ページ単位でのデータの書き換えに加えて、ページよりも小さい例えばバイト単位でのデータの書き換えが可能である。
【０００４】
しかし、ストレージクラスメモリは、ある特定のバイトに対するデータの書き換えが集中した場合、ページ内の他のバイトのデータに対する書き換えは少ないにも関わらず、そのページの書き換え回数が増えてしまう。このため、ストレージクラスメモリを備える情報処理装置では、ページ内の特定のバイトに書き換えが集中しないように、ストレージクラスメモリに対して効率良くアクセスをする必要があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１４６２５５号公報
【非特許文献】
【０００６】
【非特許文献１】R.  F.  Freitas  and  W.  W.  Wilcke，  “Storage-class  Memory:  The  Next  Storage  System  Technology”，  IBM  Journal  of  Research  and  Development  Vol.52  No.4，  pp.439-447，  2008.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、不揮発記憶部の寿命を延ばすことにある。
【課題を解決するための手段】
【０００８】
実施形態の管理装置は、第１記憶部および複数のページを含む不揮発記憶部に対する、処理回路によるデータの読み出しおよび書き込みを管理する。前記管理装置は、設定記憶部と、アクセス処理部と、管理部とを備える。前記設定記憶部は、前記複数のページのそれぞれについて、前記不揮発記憶部から前記第１記憶部に転送したデータに対して書き込みおよび読み出しをする第１アクセス処理、または、前記不揮発記憶部に記憶されたデータに対して直接書き込みおよび読み出しをする第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する。前記アクセス処理部は、前記第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、前記第１アクセス処理を実行し、前記第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、前記第２アクセス処理を実行する。前記管理部は、前記第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、前記第３ページに対するアクセス方法を、前記第２アクセス処理から前記第１アクセス処理に変更する。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係る情報処理装置の構成を示す図。
【図２】第１実施形態に係るメモリコントローラの構成を示す図。
【図３】第１実施形態に係る変換テーブルの一例を示す図。
【図４】第１実施形態に係る未使用テーブルの一例を示す図。
【図５】第１アクセス処理および第２アクセス処理の内容を示す図。
【図６】カウンタテーブルの一例を示す図。
【図７】第１実施形態に係る管理部の処理を示すフローチャート。
【図８】第１実施形態に係る設定変更処理を示すフローチャート。
【図９】第１実施形態でのテーブルの変更例を示す図。
【図１０】誤り訂正をしたビット数により品質を判断するフローチャート。
【図１１】第２実施形態に係る管理部の処理を示すフローチャート。
【図１２】第３実施形態に係る不揮発記憶部を示す図。
【図１３】第３実施形態に係る変換テーブルの一例を示す図。
【図１４】第３実施形態に係る未使用テーブルの一例を示す図。
【図１５】第３実施形態に係る設定変更処理を示すフローチャート。
【図１６】第３実施形態でのテーブルの変更例を示す図。
【図１７】第４実施形態に係る不揮発記憶部の構成を示す図。
【図１８】第４実施形態に係る第４ページの選択処理を示すフローチャート。
【図１９】第５実施形態に係るメモリコントローラの構成を示す図。
【図２０】第２モードでのアクセス処理部の処理の流れを示すフローチャート。
【図２１】第６実施形態に係るメモリコントローラの構成を示す図。
【図２２】管理テーブルの一例を示す図。
【図２３】更新部による処理の流れを示すフローチャート。
【図２４】更新部による管理情報生成処理の流れを示すフローチャート。
【図２５】情報処理装置の構成の第１変形例を示す図。
【図２６】情報処理装置の構成の第２変形例を示す図。
【図２７】情報処理装置の構成の第３変形例を示す図。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態に係る情報処理装置１０について詳細に説明する。なお、以下、複数の実施形態について説明をするが、略同一の機能および構成を有するブロックに同一の符号を付け、第２実施形態以降においては重複する内容の説明を省略する。
【００１１】
（第１実施形態）
図１は、情報処理装置１０のハードウェア構成の一例を示す図である。情報処理装置１０は、処理回路１２と、第１記憶部１４と、不揮発記憶部１６と、メモリコントローラ１８とを備える。
【００１２】
処理回路１２は、１または複数のプロセッサを有する。プロセッサは、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。プロセッサは、１または複数のＣＰＵコアを含んでいてもよい。処理回路１２は、プログラムを実行して、データを処理する。処理回路１２は、プログラムの実行に応じて、第１記憶部１４または不揮発記憶部１６からデータを読み出したり、第１記憶部１４または不揮発記憶部１６にデータを書き込んだりする。
【００１３】
また、処理回路１２は、Ｌ１データキャッシュ、Ｌ１命令キャッシュ、Ｌ２キャッシュおよびＬ３キャッシュ等の階層的なキャッシュメモリを有する。処理回路１２は、このようなキャッシュメモリを用いて、不揮発記憶部１６に記憶されているデータを一時的に記憶する。処理回路１２は、例えば、階層的なキャッシュにおける最下層のキャッシュ（ラストレベルキャッシュ）でキャッシュミスをした場合、キャッシュライン単位で第１記憶部１４または不揮発記憶部１６に対してアクセスして必要なデータを読み出したり書き込んだりする。
【００１４】
なお、処理回路１２は、データ処理を実行できれば、どのような回路であってもよい。例えば、処理回路１２は、ＧＰＧＰＵ（Ｇｅｎｅｒａｌ−ｐｕｒｐｏｓｅ  ｃｏｍｐｕｔｉｎｇ  ｏｎ  Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）で利用されるＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であってもよい。また、処理回路１２は、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等のアクセラレータであってもよい。
【００１５】
第１記憶部１４は、処理回路１２による作業領域として用いられる主記憶装置である。第１記憶部１４は、例えば、電源の供給を停止すると記憶しているデータが消える揮発記憶部である。第１記憶部１４は、例えば、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ）である。なお、第１記憶部１４は、ＤＲＡＭと同様に高速アクセスが可能な、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓ  Ｍｅｍｏｒｙ）等の不揮発メモリであってもよい。
【００１６】
不揮発記憶部１６は、電源の供給を停止してもデータを記憶し続けるメモリである。不揮発記憶部１６は、例えば、第１記憶部１４とともに処理回路１２のメインメモリとして機能してもよい。
【００１７】
不揮発記憶部１６は、例えば、ＤＲＡＭより大容量な大容量高速不揮発メモリ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ）を含む。不揮発記憶部１６は、例えば、ＭＲＡＭ、ＰＣＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ）、ＰＲＡＭ（Ｐｈａｓｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＰＣＲＡＭ（Ｐｈａｓｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲｅＲＡＭ（Ｒｅｓｉｓｔａｎｃｅ  Ｃｈａｎｇｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ    Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、３ＤＸＰｏｉｎｔまたはＭｅｍｒｉｓｔｏｒ等である。不揮発記憶部１６は、いわゆるストレージクラスメモリ（ＳＣＭ）と呼ばれるメモリであってもよい。また、不揮発記憶部１６は、複数の半導体装置を１つの基板または筐体等に設けたモジュールであってもよい。
【００１８】
不揮発記憶部１６は、第１記憶部１４と比較して容量が大きい。また、不揮発記憶部１６は、第１記憶部１４のアクセス速度と同等または少し遅い程度である。また、不揮発記憶部１６は、待機電力がゼロか、または、第１記憶部１４と比較して待機電力が非常に少ない。不揮発記憶部１６は、一例として、アクセスレイテンシが１０ｎ秒から数μ秒程度の間のメモリである。
【００１９】
不揮発記憶部１６は、バイト単位等の小領域単位でデータを書き込みおよび読み出し可能である。従って、処理回路１２は、ロード命令またはストア命令により不揮発記憶部１６に対して直接アクセスが可能である。例えば、処理回路１２は、例えばキャッシュライン単位等で不揮発記憶部１６に直接アクセスする。なお、不揮発記憶部１６は、待機電力が非常に低くバイト単位等の小領域単位でアクセス可能な揮発性メモリに対して電力を継続して投入し続けて実現されてもよい。
【００２０】
また、不揮発記憶部１６は、複数のページを含む。ページは、処理回路１２によるデータの管理単位のデータ領域である。不揮発記憶部１６は、ページ単位でもデータの書き込みおよび読み出しが可能である。
【００２１】
メモリコントローラ１８は、第１記憶部１４および不揮発記憶部１６に対する、処理回路１２によるデータの読み出しおよび書き込みを管理する管理装置として機能する。メモリコントローラ１８は、処理回路１２からの第１記憶部１４および不揮発記憶部１６に対するアクセス要求を処理する。すなわち、メモリコントローラ１８は、処理回路１２からの書込命令に応じて、データを第１記憶部１４または不揮発記憶部１６に書き込む。また、メモリコントローラ１８は、処理回路１２からの読出命令に応じて、データを第１記憶部１４または不揮発記憶部１６から読み出し、読み出したデータを処理回路１２に与える。
【００２２】
また、メモリコントローラ１８は、不揮発記憶部１６に対するウェアレベリング制御を実行する。より具体的には、メモリコントローラ１８は、不揮発記憶部１６における領域毎のデータの書き換え回数を管理する。そして、メモリコントローラ１８は、領域毎の書き換え回数に基づき、不揮発記憶部１６における全体の領域に平均的にデータが書き込まれるように、データの書き込み位置を制御する。
【００２３】
図２は、第１実施形態に係るメモリコントローラ１８の構成を示す図である。図３は、第１実施形態に係る変換テーブルの一例を示す図である。図４は、第１実施形態に係る未使用テーブルの一例を示す図である。図５は、第１アクセス処理および第２アクセス処理の内容を示す図である。図６は、カウンタテーブルの一例を示す図である。
【００２４】
メモリコントローラ１８は、設定記憶部２６と、アクセス処理部２８と、カウンタ記憶部３６と、更新部４０と、管理部５０とを有する。
【００２５】
設定記憶部２６は、変換テーブルと、未使用テーブルとを記憶する。
【００２６】
変換テーブルは、例えば図３に示すように、処理回路１２がアクセス要求をしたそれぞれのページについて（アクティブなページ）、要求アドレスと、第１記憶部１４または不揮発記憶部１６における対応するページ番号との対応関係を記憶する。すなわち、変換テーブルは、処理回路１２による要求アドレスに対応するデータが、第１記憶部１４または不揮発記憶部１６における何れのページに記憶されているのかを示すマッピング情報を記憶する。
【００２７】
さらに、変換テーブルは、処理回路１２がアクセス要求をしたそれぞれのページのうち、不揮発記憶部１６のページ番号が示されているページについて、第１アクセス処理または第２アクセス処理の何れを実行するか示すアクセス方法を記憶する。
【００２８】
第１アクセス処理は、不揮発記憶部１６から第１記憶部１４に転送したデータに対して、書き込みおよび読み出しをする方法である。第２アクセス処理は、不揮発記憶部１６に記憶されるデータに対して直接書き込みおよび読み出しをする方法である。
【００２９】
未使用テーブルは、図４に示すように、不揮発記憶部１６に含まれる複数のページのうち、処理回路１２がアクセス要求をしていないそれぞれのページ（非アクティブなページ）について、第１アクセス処理または第２アクセス処理の何れを実行するかを示すアクセス方法を記憶する。
【００３０】
従って、不揮発記憶部１６に含まれる全てのページのそれぞれは、変換テーブルまたは未使用テーブルの何れかにより、アクセス方法が設定されている。なお、変換テーブルおよび未使用テーブルは、図３および図４に示すような構成に限らず、他の構成であってもよい。
【００３１】
アクセス処理部２８は、処理回路１２からの第１記憶部１４および不揮発記憶部１６に対するアクセス要求を処理する。すなわち、メモリコントローラ１８は、処理回路１２からの書込命令に応じて、データを第１記憶部１４または不揮発記憶部１６に書き込む。また、メモリコントローラ１８は、処理回路１２からの読出命令に応じて、データを第１記憶部１４または不揮発記憶部１６から読み出し、読み出したデータを処理回路１２に与える。
【００３２】
ここで、アクセス処理部２８は、第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、不揮発記憶部１６に対して、第１アクセス処理を実行する。
【００３３】
例えば、図５に示すように、第１アクセス処理において、アクセス処理部２８は、不揮発記憶部１６における第１ページに記憶された全てのデータを転送して、第１記憶部１４に記憶させる。これにより、第１記憶部１４は、不揮発記憶部１６における第１ページに記憶されたデータのコピーを記憶することができる。続いて、第１アクセス処理において、アクセス処理部２８は、第１記憶部１４に記憶されている、不揮発記憶部１６から転送されたデータに対して、読み出しおよび書き込みをする。例えば、アクセス処理部２８は、不揮発記憶部１６から第１記憶部１４に転送されたデータに対して、ページより小さいサイズ（例えばプロセッサのキャッシュラインサイズ）でデータの読み出しおよび書き込みをする。そして、第１アクセス処理において、アクセス処理部２８は、第１記憶部１４の空き容量が無くなり不揮発記憶部１６から第１記憶部１４にデータを転送できなくなった場合、および、第１記憶部１４に記憶させておくことが不要と判断された場合等において、第１記憶部１４に転送されたデータを、不揮発記憶部１６における第１ページに書き戻す。
【００３４】
なお、アクセス処理部２８は、第１記憶部１４に転送されたデータを、第１ページ（同じ場所）以外に書き戻してもよい。例えば、アクセス処理部２８は、第１アクセス処理において、不揮発記憶部１６から第１記憶部１４に転送されたデータを、何れの要求アドレスも対応付けられていない未使用ページであり、第１アクセス処理に設定されており、且つ、書き換え回数が所定値以下のページに書き戻してよい。これにより、アクセス処理部２８は、ページ毎の書き換え回数の隔たりを小さくするウェアレベリング制御を実行し、特定のページの品質劣化を抑制することができる。
【００３５】
また、アクセス処理部２８は、第２アクセス処理に設定されている第２ページに対して書き込みまたは読み出しの要求を受けた場合、不揮発記憶部１６に対して、第２アクセス処理を実行する。
【００３６】
例えば、図５に示すように、第２アクセス処理において、アクセス処理部２８は、不揮発記憶部１６における第２ページに対して、直接読み出しおよび書き込みをする。例えば、アクセス処理部２８は、ページより小さいサイズでデータの読み出しおよび書き込みをする。
【００３７】
このように、アクセス処理部２８は、２種類のアクセス方法により不揮発記憶部１６に対してアクセスする。例えば、メモリアクセスに局所性が高いアプリケーションを実行した場合、アクセス処理部２８は、第１アクセス処理により不揮発記憶部１６に記憶されたページをアクセスする。これにより、アクセス処理部２８は、メモリアクセスに局所性が高いアプリケーションを実行した場合、同一のページに対してより高速に処理をすることができる。
【００３８】
また、例えば、ランダムアクセスのようにメモリアクセスに局所性が低い処理を実行する場合、アクセス処理部２８は、第１アクセス処理により不揮発記憶部１６に記憶されたページをアクセスする。これにより、アクセス処理部２８は、局所性が低い処理を実行する場合、不揮発記憶部１６から第１記憶部１４への転送処理のオーバヘッドを無くして、効率良く処理をすることができる。このように、アクセス処理部２８は、第１アクセス処理および第２アクセス処理の２種類のアクセス方法を用いることにより、処理の効率化を図ることができる。
【００３９】
カウンタ記憶部３６は、カウンタテーブルを記憶する。カウンタテーブルは、不揮発記憶部１６に含まれる複数のページのそれぞれについての、データの書き換え回数を表すカウンタ値を格納する。
【００４０】
例えば、カウンタテーブルは、図６に示すように、不揮発記憶部１６に含まれる複数のページの番号に対応させて、カウンタ値を記憶する。カウンタ値は、対応するページが書き換えられた回数を表す。カウンタ値は、工場出荷時等の初期時には、例えば０とされており、書き換えられる毎に１ずつ増加（インクリメント）されていく。なお、カウンタテーブルは、図６に示すような構成に限らず、他の構成であってもよい。
【００４１】
更新部４０は、カウンタテーブルに記憶されたカウンタ値を更新する。更新部４０は、アクセス処理部２８が不揮発記憶部１６にデータを書き込んだ場合、書き込んだデータのアドレス情報を取得し、取得したアドレス情報に基づきカウンタ値を更新する。
【００４２】
管理部５０は、カウンタ記憶部３６に記憶されたページ毎のカウンタ値に基づき、不揮発記憶部１６に対するウェアレベリング制御を実行する。管理部５０は、不揮発記憶部１６における全体の領域に平均的にデータが書き込まれるように、データが書き込まれるページを制御する。
【００４３】
ここで、管理部５０は、第２アクセス処理に設定されている第３ページの品質が基準値以下となったか否かを判断する。例えば、管理部５０は、第２アクセス処理に設定されている第３ページの書き込み回数が所定値以上となった場合、品質が基準値以下となったと判断してよい。また、管理部５０は、第２アクセス処理に設定されている第３ページから読み出されたデータの誤りビット数が所定値以上となった場合、品質が基準値以下となったと判断してよい。また、管理部５０は、書き込み回数または誤りビット数を用いるのではなく、他の方法により、品質が基準値以下となったと判断してもよい。品質低下は、劣化および摩耗等により生じる。品質が基準値以下とは、別の言い方をすると、例えば、劣化（の度合い）または摩耗（の度合い）が基準値以上ということである。管理部５０は、誤りビット数を検出したり、書換え回数を検出したりすることにより、品質劣化を判断することができる。
【００４４】
管理部５０は、第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。
【００４５】
さらに、管理部５０は、第３ページの品質が基準値以下となった場合、第２アクセス処理が設定され、未使用であり、且つ、書き換え回数が予め定められた基準を満たすページを、第４ページとして選択する。例えば、管理部５０は、カウンタテーブルおよび未使用テーブルを参照して、第４ページを選択する。書き換え回数が予め定められた基準を満たすページは、例えば、書き換え回数が最小のページであってもよいし、書き換え回数が予め定められた回数以下のページであってもよい。
【００４６】
そして、管理部５０は、第３ページの品質が基準値以下となった場合、第３ページに記憶されたデータを、第２アクセス処理に設定されている第４ページに移動させる。さらに、管理部５０は、設定記憶部２６に記憶されている未使用テーブルから第４ページを削除して、変換テーブルに第４ページを登録する。そして、管理部５０は、変換テーブルに登録した第４ページに対して、第３ページに対応付けられていた要求アドレスを対応付ける。
【００４７】
さらに、管理部５０は、第３ページを何れの要求アドレスも対応付けられていない未使用ページに変更する。例えば、管理部５０は、第３ページを変換テーブルから削除して、未使用テーブルに第３ページを登録する。
【００４８】
図７は、第１実施形態に係る管理部５０の処理を示すフローチャートである。管理部５０は、例えば、図７に示す処理を実行する。
【００４９】
まず、Ｓ１１において、管理部５０は、第２アクセス処理に設定された第３ページの品質が、基準値以下となったか否かを判断する。判断のタイミングは、どのようなタイミングであってもよい。
【００５０】
例えば、管理部５０は、第２アクセス処理に設定されている第３ページの書き込み回数が更新されたタイミングにおいて、書き込み回数が所定値以上となったか否かを判断してもよい。また、管理部５０は、第３ページからデータが読み出されたタイミングにおいて、読み出されたデータの誤りビット数が所定値以上となったか否かを判断してもよい。
【００５１】
管理部５０は、第３ページの品質が基準値以下ではない場合（Ｓ１１のＮｏ）、本フローを終了する。管理部５０は、第３ページの品質が基準値以下となった場合（Ｓ１１のＹｅｓ）、処理をＳ１２に進める。
【００５２】
Ｓ１２において、管理部５０は、設定変更処理を実行する。設定変更処理については、図８を参照して説明する。管理部５０は、設定変更処理を終了すると本フローを終了する。
【００５３】
図８は、第１実施形態に係る設定変更処理を示すフローチャートである。図９は、第１実施形態での変換テーブルおよび未使用テーブルの変更例を示す図である。
【００５４】
管理部５０は、図７のＳ１２の設定変更処理において、図８に示すＳ２１〜Ｓ２５の処理を実行する。
【００５５】
まず、Ｓ２１において、管理部５０は、第４ページを選択する。具体的には、管理部５０は、設定記憶部２６に記憶された未使用テーブルを参照して、未使用ページであって、アクセス方法が第２アクセス処理に設定されている１以上のページを検出する。そして、管理部５０は、カウンタ記憶部３６に記憶されたカウンタテーブルを参照して、検出された１以上のページのうちの、書き換え回数が予め定められた基準を満たすページを選択する。書き換え回数が予め定められた基準を満たすページは、書き換え回数が最小のページであってもよいし、書き換え回数が予め定められた回数以下のページであってもよい。
【００５６】
続いて、Ｓ２２において、管理部５０は、不揮発記憶部１６にアクセスして、第３ページに記憶されたデータを、第２アクセス処理に設定されている第４ページに移動させる。例えば、管理部５０は、第３ページに記憶されたデータを読み出して、第４ページに書き込む。そして、管理部５０は、図９に示すように、未使用テーブルにおける第４ページ（ページ番号“００５２”）のエントリを削除して、変換テーブルに第４ページのエントリを新たに追加する。
【００５７】
続いて、Ｓ２３において、管理部５０は、第４ページに対して、第３ページに対応付けられていた要求アドレスを対応付ける。例えば、図９に示すように、管理部５０は、変換テーブルに追加した第４ページのエントリに、第３ページのエントリに記憶されていた要求アドレス（“１１０１”）を記憶させる。
【００５８】
続いて、Ｓ２４において、管理部５０は、第３ページを、何れの要求アドレスも対応付けられていない未使用ページに変更する。例えば、図９に示すように、管理部５０は、変換テーブルにおける第３ページ（ページ番号“０００１”）のエントリを削除し、未使用テーブルに第３ページのエントリを新たに追加する。
【００５９】
続いて、Ｓ２５において、管理部５０は、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。例えば、管理部５０は、図９に示すように、未使用テーブルにおける第３ページのエントリにおけるアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。
【００６０】
そして、管理部５０は、Ｓ２５の処理を終えると、処理を図７のフローに戻す。
【００６１】
図１０は、誤り訂正をしたビット数により品質を判断する場合の管理部５０の処理を示すフローチャートである。管理部５０は、第２アクセス処理に設定されたページの品質が基準値以下となったか否かを、誤り訂正をしたビット数により判断してもよい。この場合、管理部５０は、図１０に示すＳ３１〜Ｓ３５の処理を実行する。
【００６２】
まず、Ｓ３１において、管理部５０は、第２アクセス処理に設定された第３ページに対する読み出し要求が発行されたか否かを判断する。該当する読み出し要求が発行されない場合（Ｓ３１のＮｏ）、管理部５０は、処理をＳ３１で待機する。該当する読み出し要求が発行された場合（Ｓ３１のＹｅｓ）、管理部５０は、処理をＳ３２に進める。
【００６３】
続いて、Ｓ３２において、管理部５０は、第３ページから読み出したデータに対してＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ  Ｍｅｍｏｒｙ）により誤り訂正したビット数が、所定数以上か否かを判断する。
【００６４】
管理部５０は、ＥＣＣにより３ビット分の誤りを訂正可能な場合、例えば、２ビット（または１ビット）の誤りが発生したか否かを判断する。また、例えば、管理部５０は、ＥＣＣにより２ビット分の誤りを訂正可能な場合、例えば、１ビットの誤りが発生したか否かを判断する。すなわち、管理部５０は、ＥＣＣにより誤りを訂正可能な最大のビットより小さいビット数分の誤りが発生したか否かを判断する。これにより、管理部５０は、書き換え回数の限界値に達する前に、第３ページのアクセス方法を第２アクセス処理から第１アクセス処理に変更することができる。
【００６５】
ＥＣＣにより誤り訂正したビット数が所定数以上ではない場合（Ｓ３２のＮｏ）、管理部５０は、処理をＳ３３に進める。Ｓ３３において、管理部５０は、アクセス処理部２８に対して、第３ページに対して第２アクセス処理を継続させる。
【００６６】
ＥＣＣにより誤り訂正したビット数が所定数以上であった場合（Ｓ３２のＹｅｓ）、管理部５０は、処理をＳ３４に進める。Ｓ３４において、管理部５０は、図８のＳ２１〜Ｓ２５で示した設定変更処理を実行する。Ｓ３４の処理を終了すると、管理部５０は、処理をＳ３５に進める。Ｓ３５において、管理部５０は、アクセス処理部２８に対して、第４ページに対して第２アクセス処理を継続させる。
【００６７】
そして、管理部５０は、Ｓ３３またはＳ３５の処理を終了すると、本フローを終了する。
【００６８】
（効果）
第１アクセス処理を実行する場合、更新部４０は、ページ単位で不揮発記憶部１６への書換え回数を管理することができる。従って、管理部５０は、例えば特定のページへの書き換えが集中しないように、不揮発記憶部１６へデータを書き戻せば、平均化を容易に実行することができる。また、第１アクセス処理を実行する場合、処理回路１２からのアクセス要求に応じて、第１記憶部１４に転送されたデータに対してアクセスするので、管理部５０は、不揮発記憶部１６に対する書き換え回数を少なくすることができる。
【００６９】
一方、第２アクセス処理を実行する場合、処理回路１２からの全てのアクセス要求に応じて、不揮発記憶部１６が書き換えられるので、管理部５０は、ある特定のバイトに対する書き換えが集中して、不揮発記憶部１６に対する書き換え回数が多くなる可能性がある。従って、第２アクセス処理が多く実行された場合、不揮発記憶部１６は、短時間で、書き換え回数の限界値に達する可能性が高い。
【００７０】
しかし、管理部５０は、第３ページの品質が基準値以下となった場合、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。これにより、管理部５０は、書き換え回数の限界値に近づいた第３ページを、書き換え回数を少なくするアクセス方法に切り換えることができる。従って、管理部５０は、書き換え回数をより平均化して、不揮発記憶部１６の寿命を延ばすことができる。
【００７１】
さらに、管理部５０は、第３ページの品質が基準値以下となった場合、第３ページに記憶されたデータを、第２アクセス処理に設定されている第４ページに移動させるので、処理回路１２から発行されていたメモリアクセスを同一のアクセス方法で継続させることができる。さらに、管理部５０は、比較的に書き換え回数の少ないページを第４ページに選択するので、書き換え回数をより平均化して、不揮発記憶部１６の寿命を延ばすことができる。
【００７２】
以上のように、第１実施形態に係る情報処理装置１０によれば、不揮発記憶部１６に対して効率良くアクセスして不揮発記憶部１６の寿命を延ばすことができる。
【００７３】
（第２実施形態）
図１１は、第２実施形態に係る管理部５０の処理を示すフローチャートである。第２実施形態において、管理部５０は、例えば、図１１に示すＳ４１〜Ｓ４５の処理を実行する。
【００７４】
まず、Ｓ４１において、管理部５０は、第２アクセス処理に設定された第３ページに対する読み出し要求が発行されたか否かを判断する。該当する読み出し要求が発行されない場合（Ｓ４１のＮｏ）、管理部５０は、処理をＳ４１で待機する。該当する読み出し要求が発行された場合（Ｓ４１のＹｅｓ）、管理部５０は、処理をＳ４２に進める。
【００７５】
続いて、Ｓ４２において、管理部５０は、第３ページから読み出したデータに対してＥＣＣにより誤り訂正したビット数が、所定数以上か否かを判断する。ＥＣＣにより誤り訂正したビット数が所定数以上ではない場合（Ｓ４２のＮｏ）、管理部５０は、処理をＳ４３に進める。Ｓ４３において、管理部５０は、アクセス処理部２８に対して、第３ページに対して第２アクセス処理を継続させる。
【００７６】
ＥＣＣにより誤り訂正したビット数が所定数以上であった場合（Ｓ４２のＹｅｓ）、管理部５０は、処理をＳ４４に進める。Ｓ４４において、管理部５０は、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。Ｓ４４の処理を終了すると、管理部５０は、処理をＳ４５に進める。Ｓ４５において、管理部５０は、アクセス処理部２８に対して、第３ページに対して第１アクセス処理を継続させる。
【００７７】
そして、管理部５０は、Ｓ４３またはＳ４５の処理を終了すると、本フローを終了する。
【００７８】
以上のように、第２実施形態において、管理部５０は、第２アクセス処理に設定されている第３ページの品質が基準値以下となった場合、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。しかし、管理部５０は、第３ページに記憶されたデータを、第２アクセス処理に設定されている第４ページに移動させない。
【００７９】
従って、管理部５０は、処理回路１２から発行されていたメモリアクセスを同一のアクセス方法で継続させることはできない。しかし、管理部５０は、第３ページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更するので、少なくとも、書き換え回数の限界値に近づいた第３ページを、以後、書き換え回数を少なくするアクセス方法に切り換えることができる。
【００８０】
以上のように、第２実施形態に係る情報処理装置１０によれば、不揮発記憶部１６に対する書き換え回数を平均化して、不揮発記憶部１６の寿命を延ばすことができる。
【００８１】
（第３実施形態）
図１２は、第３実施形態に係る不揮発記憶部１６を示す図である。不揮発記憶部１６は、複数のページを含む。第３実施形態において、複数のページのそれぞれは、複数のサブページのそれぞれを含む。
【００８２】
サブページは、処理回路１２によるデータの管理単位であってよい。処理回路１２は、サブページ単位で、データを書き込みおよび読み出しが可能である。なお、本実施形態においては、サブページと称しているが、他の名称であってもよい。
【００８３】
図１３は、第３実施形態に係る変換テーブルの一例を示す図である。第３実施形態に係る変換テーブルは、図１３に示すように、それぞれのページについて、ページ全体に対するアクセス方法、または、含まれる複数のサブページのそれぞれに対するアクセス方法の何れかを記憶する。また、変換テーブルは、例えば、ページ全体に対するアクセス方法について設定されているページについては、そのページに対応する要求アクセスを記憶する。また、変換テーブルは、サブページに対するアクセス方法が設定されている場合には、そのサブページに対応する要求アドレスを記憶する。
【００８４】
従って、第３実施形態において、管理部５０は、第１アクセス処理を実行するかまたは第２アクセス処理を実行するかを、ページの全体に対して設定することができる。さらに、管理部５０は、ページ全体に対してアクセス方法を設定していないページについては、含まれるそれぞれのサブページに対して、第１アクセス処理を実行するかまたは第２アクセス処理を実行するかを設定することができる。なお、変換テーブルは、図１３に示すような構成に限らず、他の構成であってもよい。
【００８５】
図１４は、第３実施形態に係る未使用テーブルの一例を示す図である。第３実施形態に係る未使用テーブルは、図１４に示すように、不揮発記憶部１６に含まれる複数のページのうちの、処理回路１２がアクセス要求をしていないそれぞれのページまたはそれぞれのサブページについて、アクセス方法を記憶する。
【００８６】
例えば、未使用テーブルは、ページ全体が未使用であり、そのページに含まれる全てのサブページに対するアクセス方法が同一であれば、そのページの全体に対するアクセス方法を記憶する。また、未使用テーブルは、一部のサブページが未使用であるページ、または、アクセス方法がサブページ毎に異なっているページについては、ページ全体に対するアクセス方法を記憶せず、サブページ毎のアクセス方法を記憶する。なお、未使用テーブルは、図１４に示すような構成に限らず他の構成であってもよい。
【００８７】
図１５は、第３実施形態に係る設定変更処理を示すフローチャートである。図１６は、第３実施形態での変換テーブルおよび未使用テーブルの変更例を示す図である。
【００８８】
第３実施形態に係る管理部５０は、図７のＳ１２の設定変更処理において、図１５に示すＳ５１〜Ｓ５８の処理を実行する。
【００８９】
まず、Ｓ５１において、管理部５０は、第３ページに含まれる複数のサブページのうちの品質が基準値以下となった第１サブページを特定する。例えば、ＥＣＣにより誤り訂正したビット数が所定値以上となったサブページを、第１サブページとして特定する。
【００９０】
続いて、Ｓ５２において、管理部５０は、第２サブページを選択する。例えば、管理部５０は、第２アクセス処理が設定され、未使用であり、且つ、書き換え回数が予め定められた基準を満たすサブページを、第２サブページとして選択する。書き換え回数が予め定められた基準を満たすサブページは、書き換え回数が最小のサブページであってもよいし、書き換え回数が予め定められた回数以下のサブページであってもよい。
【００９１】
続いて、Ｓ５３において、管理部５０は、第１サブページに記憶されたデータを、第２アクセス処理に設定されている第２サブページに移動させる。例えば、管理部５０は、第１サブページに記憶されたデータを読み出して、第２サブページに書き込む。さらに、管理部５０は、図１６に示すように、未使用テーブルにおける第２サブページ（ページ番号およびサブページ番号“００５２／３”）のエントリを削除して、変換テーブルに第２サブページのエントリを新たに追加する。さらに、管理部５０は、変換テーブルに、第３ページのうちの、第１サブページ以外のサブページ（ページ番号およびサブページ番号“０００１／０”、“０００１／１”、“０００１／２”）のエントリを新たに追加する。
【００９２】
続いて、Ｓ５４において、管理部５０は、第２サブページに対して、第１サブページに対応付けられていた要求アドレスを対応付ける。例えば、図１６に示すように、管理部５０は、変換テーブルに追加した第２サブページのエントリに、第１サブページに対応付けられていた要求アドレス（“１１０１／３”）を記憶させる。
【００９３】
続いて、Ｓ５５において、管理部５０は、第３ページのうちの、第１サブページ以外のサブページに対して、要求アドレスを対応付ける。例えば、図１６に示すように、管理部５０は、変換テーブルに追加した第３ページのうちの第１サブページ以外のサブページのエントリに、要求アドレス（“１１０１／０”、“１１０１／１”、“１１０１／２”）を記憶させる。
【００９４】
続いて、Ｓ５６において、管理部５０は、第１サブページを、何れの要求アドレスも対応付けられていない未使用サブページに変更する。例えば、図１６に示すように、管理部５０は、変換テーブルにおける第３ページ（ページ番号およびサブページ番号“０００１／全体”）のエントリを削除し、未使用テーブルに第１サブページ（ページ番号およびサブページ番号“０００１／３”）のエントリを新たに追加する。
【００９５】
続いて、Ｓ５７において、管理部５０は、第１サブページに対するアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。例えば、管理部５０は、図１６に示すように、未使用テーブルにおける第１サブページのエントリにおけるアクセス方法を、第２アクセス処理から第１アクセス処理に変更する。
【００９６】
続いて、Ｓ５８において、管理部５０は、第３ページのうちの、第１サブページ以外のサブページに対するアクセス方法を、第２アクセス処理に設定する。例えば、管理部５０は、図１６に示すように、変換テーブルにおける第１サブページ以外のサブページ（ページ番号およびサブページ番号“０００１／０”、“０００１／１”、“０００１／２”）のエントリにおけるアクセス方法を、第２アクセス処理に設定する。
【００９７】
そして、管理部５０は、Ｓ５８の処理を終えると、処理を図７のフローに戻す。
【００９８】
不揮発記憶部１６の容量が大きくなると、変換テーブルのサイズも大きくなり、アドレス変換効率が悪くなる。変換テーブルを小さくするためには、ページのサイズを大きくしなければならない。しかし、ページのサイズが大きいと、第２アクセス処理から第１アクセス処理に切り換えた場合に、書き換え回数が少ない領域が多く含まれる可能性が高くなる。そこで、第３実施形態において、管理部５０は、第２アクセス処理から第１アクセス処理へ切り換える場合には、ページよりも小さいサブページのサイズで切り換えを行い、書き換え回数が少ない領域については第２アクセス処理でアクセスをさせるようにした。これにより、第３実施形態に係る管理部５０は、最小限の領域を第２アクセス処理に切り換えて、効率良く不揮発記憶部１６の寿命を延ばすことができる。
【００９９】
（第４実施形態）
図１７は、第４実施形態に係る不揮発記憶部１６の構成を示す図である。第４実施形態に係る不揮発記憶部１６は、個別に交換可能であり、それぞれに優先度が設定された複数の要素メモリ６０を含む。
【０１００】
要素メモリ６０は、物理的にまとまった単位のメモリであり、１つの半導体メモリであってもよいし、１つのスロットに差し込まれたＤＩＭＭ（Ｄｕａｌ  Ｉｎｌｉｎｅ  Ｍｅｍｏｒｙ  Ｍｏｄｕｌｅ）のようなメモリ基板であってもよい。また、それぞれの要素メモリ６０に設定された優先度は、管理部５０が識別できればよいので、それぞれの要素メモリ６０が優先度を記憶していなくてもよい。
【０１０１】
図１８は、第４実施形態に係る第４ページの選択処理を示すフローチャートである。第４ページを選択する場合、管理部５０は、複数の要素メモリ６０のうち、書き換え回数が所定条件を満たした要素メモリ６０であって優先度の最も高い要素メモリ６０を選択し、選択した要素メモリ６０の中から第４ページを選択する。
【０１０２】
例えば、管理部５０は、第４ページを選択する場合、図１８に示すＳ６１〜Ｓ６４の処理を実行する。
【０１０３】
まず、Ｓ６１において、管理部５０は、優先度の最も高い要素メモリ６０を選択する。続いて、Ｓ６２において、管理部５０は、選択した要素メモリ６０における平均の書き換え回数が所定値以下であるか否かを判断する。なお、管理部５０は、書き換え回数の総和が所定値以下であるか否かを判断してもよい。例えば、処理回路１２において実行されているオペレーティングシステムが、それぞれの要素メモリ６０における書き換え回数を監視しており、条件を満たした要素メモリ６０を選択してもよい。この場合、管理部５０は、処理回路１２から条件を満たしているか（例えば書き換え回数の平均が所定値以下か）の情報を取得する。
【０１０４】
平均の書き換え回数が所定値以下ではない場合（Ｓ６２のＮｏ）、管理部５０は、処理をＳ６３に進める。Ｓ６３において、管理部５０は、次に優先度の高い要素メモリ６０を選択して、処理をＳ６２に進める。この場合、Ｓ６２において、管理部５０は、選択された要素メモリ６０に対して同様の処理を実行し、平均の書き換え回数が所定値以下の要素メモリ６０が選択されるまで、Ｓ６２およびＳ６３の処理を繰り返す。
【０１０５】
平均の書き換え回数が所定値以下である場合（Ｓ６２のＹｅｓ）、管理部５０は、処理をＳ６４に進める。Ｓ６４において、管理部５０は、選択した要素メモリ６０の中から、第４ページを選択する。この場合において、管理部５０は、要素メモリ６０内での書き換え回数が平均化されるように第４ページを選択する。
【０１０６】
以上の処理により管理部５０は、第４ページを選択することができる。なお、管理部５０は、第３実施形態の第２サブページを選択する場合にも同様の処理を実行してもよい。
【０１０７】
第４実施形態に係る情報処理装置１０は、このように第４ページを選択することにより、優先度の高い要素メモリ６０から順に使用することができる。これにより、情報処理装置１０は、例えば、要素メモリ６０の交換が必要となった場合に、全部の要素メモリ６０を一括して交換せずに、一部分の要素メモリ６０を交換させることができる。なお、情報処理装置１０は、平均の使用回数が所定数を上回った要素メモリ６０を、例えばデバイスインターフェース等を介して接続されるストレージ用に切り換えてもよい。
【０１０８】
（第５実施形態）
図１９は、第５実施形態に係るメモリコントローラ１８の構成を示す図である。第５実施形態に係るメモリコントローラ１８は、モード切換部７０をさらに有する。
【０１０９】
モード切換部７０は、情報処理装置１０が所定状態に達するまで第１モードに設定し、所定状態に達した後に第２モードに切り換える。そして、モード切換部７０は、現在のモードをアクセス処理部２８に与える。例えば、モード切換部７０は、情報処理装置１０の使用が開始されてから予め定められたタイミングまでの期間（第１期間）、第１モードに設定する。そして、モード切換部７０は、情報処理装置１０の使用が開始されてから予め定められたタイミング後の期間（第２期間）、第２モードに設定する。
【０１１０】
図２０は、第２モードでのアクセス処理部２８の処理の流れを示すフローチャートである。第２モード、すなわち、所定状態に達した後の第２期間において、例えば、アクセス処理部２８は、図２０に示すＳ７１からＳ７６までに示す処理を実行する。
【０１１１】
まず、Ｓ７１において、アクセス処理部２８は、不揮発記憶部１６に対するアクセス要求（読み出し要求または書き込み要求）が検出されたか否かを判断する。アクセス要求が検出されない場合（Ｓ７１のＮｏ）、アクセス処理部２８は、処理をＳ７１で待機する。アクセス要求が検出された場合（Ｓ７１のＹｅｓ）、アクセス処理部２８は、処理をＳ７２に進める。
【０１１２】
Ｓ７２において、アクセス処理部２８は、アクセス先のページが第１アクセス処理に設定されているか否かを判断する。第１アクセス処理に設定されている場合（Ｓ７２のＹｅｓ）、アクセス処理部２８は、処理をＳ７３に進める。そして、Ｓ７３において、アクセス処理部２８は、第１アクセス処理を実行する。すなわち、第２モードにおいて、第１アクセス処理に設定されている第１ページに対して書き込みまたは読み出しの要求を受けた場合、アクセス処理部２８は、第１アクセス処理を実行する。
【０１１３】
第１アクセス処理に設定されていない場合（Ｓ７２のＮｏ）、つまり、第２アクセス処理に設定されている場合、アクセス処理部２８は、処理をＳ７４に進める。Ｓ７４において、アクセス処理部２８は、アクセス要求が読み出し要求か否かを判断する。
【０１１４】
読み出し要求を受けた場合（Ｓ７４のＹｅｓ）、アクセス処理部２８は、Ｓ７５において、第２アクセス処理を実行する。すなわち、第２モードにおいて、第２アクセス処理に設定されている第２ページに対して読み出しの要求を受けた場合、アクセス処理部２８は、第２アクセス処理を実行する。
【０１１５】
読み出し要求を受けていない場合、すなわち、書き込み要求を受けた場合（Ｓ７４のＮｏ）、アクセス処理部２８は、Ｓ７６において、第１アクセス処理を実行する。すなわち、第２モードにおいて、第２アクセス処理に設定されている第２ページに対して書き込みの要求を受けた場合、アクセス処理部２８は、第１アクセス処理を実行する。そして、アクセス処理部２８は、Ｓ７３またはＳ７４を終えると本フローを終了する。
【０１１６】
なお、アクセス処理部２８は、Ｓ７６において、第１アクセス処理を実行することに代えて、書き込みを実行しなくてもよい。つまり、この場合、第２モードにおいて、第２アクセス処理に設定されている第２ページに対して書き込みの要求を受けた場合、アクセス処理部２８は、書き込みをしない。
【０１１７】
第２アクセス処理に設定されているページのアクセス方法を第１アクセス処理に変更していくと、最終的には、第２アクセス処理に設定されているページがなくなる。本実施形態において、モード切換部７０は、第２アクセス処理に設定されているページがなくなる前の段階において、第１モードから第２モードへと切り換える。第２モードにおいて、アクセス処理部２８は、第２アクセス処理による読み出しは可能である。しかし、第２モードにおいて、アクセス処理部２８は、第２アクセス処理に設定されているページに対して、第１アクセス処理で書き込みをする（または書き込みをしない）。
【０１１８】
これにより、アクセス処理部２８は、第２モードにおいて、アクセス方法の切り換えが生じるような書き込みを少なくすることができる。しかし、アクセス処理部２８は、少なくとも第２アクセス処理による読み出しを継続することができる。
【０１１９】
なお、第１モードから第２モードへと切り換えるタイミングは、例えば、不揮発記憶部１６に対する書き換え回数の総数が予め定められた閾値を超えた時点であってよい。また、切り換えタイミングは、アクセス方法を第２アクセス処理から第１アクセス処理に変更したページの数が閾値を超えた時点であってもよい。また、切り換えタイミングは、選択可能な第４ページの数が所定数を下回った時点であってもよい。また、切り換えタイミングは、何らかの物理量が閾値を超えた時点であってもよい。
【０１２０】
また、切り換えタイミングは、情報処理装置１０の使用が開始されてから所定の時間が経過した時点であってもよい。また、切り換えタイミングは、処理回路１２により実行されているアプリケーションまたはオペレーティングシステムから、所定の通知を受けた時点であってもよい。
【０１２１】
例えば、機械学習におけるディープラーニングを利用する組込み機器等は、機器使用開始から一定期間、ディープラーニングのネットワークあるいはニューラルネットワークのトレーニングをする。情報処理装置１０がこのような機器に適用された場合、処理回路１２は、トレーニング期間において、ネットワークなどのデータを不揮発記憶部１６に記憶させるため、データの更新を第２アクセス処理で行う。しかし、トレーニング期間を終了した後には、処理回路１２は、不揮発記憶部１６への書き込みしない。
【０１２２】
ただし、処理回路１２は、トレーニング期間を終了した後であっても、認識処理を実行するために、第２アクセス処理によるデータの読み出しをする。従って、モード切換部７０は、トレーニング期間においては第１モードに設定し、トレーニングを終了した後の期間においては第２モードに設定してもよい。これにより、アクセス処理部２８は、トレーニング期間中においては、不揮発記憶部１６に第２アクセス処理による書き込みをすることができ、トレーニング期間中においては、不揮発記憶部１６から第２アクセス処理による読み出しをすることができる。
【０１２３】
（第６実施形態）
図２１は、第６実施形態に係るメモリコントローラ１８の構成を示す図である。第６実施形態に係るメモリコントローラ１８は、管理情報記憶部３８をさらに有する。
【０１２４】
管理情報記憶部３８は、管理テーブルを記憶する。管理テーブルは、所定個のエントリを有する。それぞれのエントリには、管理情報を格納することができる。すなわち、管理テーブルは、所定個の第１領域（ページ）のそれぞれについての管理情報を格納可能である。管理テーブルが格納できる管理情報の数は、不揮発記憶部１６に含まれる第１領域の数より少ない。管理テーブルは、処理回路１２が不揮発記憶部１６に最近アクセスした第１領域（アクティブな第１領域（アクティブなページ））についての管理情報を格納する。管理テーブルは、エントリが一杯となった場合、例えば最も古い管理情報（アクセスしてから最も時間が経過した管理情報）を消去して、新しい管理情報を格納する。
【０１２５】
管理情報は、対応する第１領域に含まれる複数の第２領域（キャッシュライン）のそれぞれが、書き込み済みか未書き込みかを示す。例えば、管理情報は、対応する第１領域に記憶されたデータに何らデータが書き込まれていない場合、対応する第１領域に含まれている複数の第２領域の全ての状態が、未書き込みとされている。管理情報は、何らデータが書き込まれていない第１領域に含まれる何れかの第２領域にデータが書き込まれた場合、その第２領域の状態が書き込み済みとされ、他の書き込み領域の状態が未書き込みとされる。なお、管理テーブルおよび管理情報については、図２２を参照してさらに説明する。
【０１２６】
更新部４０は、カウンタテーブルに格納されたそれぞれのカウンタ値、および、管理テーブルに格納されたそれぞれの管理情報を更新する。更新部４０は、処理回路１２が不揮発記憶部１６にデータを書き込んだ場合、書き込んだデータのアドレス情報を取得し、取得したアドレス情報に基づきカウンタ値およびアドレス情報を更新する。更新部４０の具体的な処理手順については、図２３および図２４を参照してさらに説明する。
【０１２７】
図２２は、第６実施形態に係る管理テーブルの一例を示す図である。管理テーブルは、管理情報を格納するための所定個のエントリを有する。例えば、図２２の例において、管理テーブルは、６４個のエントリを有する。
【０１２８】
それぞれのエントリは、管理情報を格納する。管理情報は、識別情報と、マップ情報とを含む。
【０１２９】
識別情報は、その管理情報が管理する第１領域（ページ）を識別するための番号（ページ番号）である。更新部４０は、識別情報を参照することにより、そのエントリが何れの第１領域を管理している管理情報を格納しているかを判断することができる。
【０１３０】
マップ情報は、対応する第１領域（ページ）に含まれる複数の第２領域（キャッシュライン）のそれぞれが、書き込み済みか未書き込みかを示す。マップ情報は、第１領域（ページ）に含まれる複数の第２領域（キャッシュライン）のそれぞれに対応したビットを含む。
【０１３１】
例えば、マップ情報は、キャッシュライン番号に対応したビットを含む。例えば、１ページ内に６４個のキャッシュラインが含まれる場合、マップ情報は、６４個のビットを含む。それぞれのビットは、例えば１である場合、対応するキャッシュラインが、書き込み済みであることを示す。また、それぞれのビットは、例えば０である場合、対応するキャッシュラインが、未書き込みであることを示す。
【０１３２】
なお、管理テーブルは、全てのエントリに管理情報が格納されていなくてよい。つまり、管理テーブルは、未使用エントリが有ってもよい。
【０１３３】
図２３は、第６実施形態に係る更新部４０による処理の流れを示すフローチャートである。更新部４０は、図２３および図２４に示すフローチャートに従って、カウンタテーブルおよび管理テーブルを更新する。
【０１３４】
まず、Ｓ１１１において、更新部４０は、不揮発記憶部１６にデータの書き込みがされるか否かを検出する。更新部４０は、書き込みがされない場合（Ｓ１１１のＮｏ）、処理をＳ１１１で待機し、書き込みがされる場合（Ｓ１１１のＹｅｓ）、処理をＳ１１２に進める。
【０１３５】
Ｓ１１２において、更新部４０は、書き込み対象のデータ（第１データ）が書き込まれる第１領域である対象第１領域（対象ページ）についての管理情報が、管理テーブルに存在するか否かを判断する。例えば、更新部４０は、アドレス情報に含まれるページ番号と同一のページ番号を含む管理情報が、管理テーブルに格納されているか否かを判断する。
【０１３６】
管理テーブルに対象第１領域についての管理情報が存在しない場合、例えば、アドレス情報に含まれるページ番号と同一のページ番号を含む管理情報が、管理テーブルに格納されていない場合（Ｓ１１２のＮｏ）、更新部４０は、処理をＳ１１３に進める。Ｓ１１３において、更新部４０は、管理情報生成処理を実行する。管理情報生成処理については、図２４を参照して説明する。更新部４０は、管理情報生成処理を終了した場合、本フローを終了し、次の書き込みを待機する。
【０１３７】
管理テーブルに対象第１領域についての管理情報が存在する場合、例えば、アドレス情報に含まれるページ番号と同一のページ番号を含む管理情報が管理テーブルに格納されている場合（Ｓ１１２のＹｅｓ）、更新部４０は、処理をＳ１１４に進める。
【０１３８】
Ｓ１１４において、更新部４０は、対象第１領域についての管理情報に示された第１データが書き込まれる第２領域である対象第２領域の状態が、書き込み済みであるか否かを判断する。例えば、更新部４０は、アドレス情報に含まれるページ番号に対応する管理情報におけるマップ情報を参照して、アドレス情報に含まれるキャッシュライン番号に対応するビットが１であるか否かを判断する。
【０１３９】
更新部４０は、対象第２領域の状態が未書き込みの場合、例えば、アドレス情報に含まれるキャッシュライン番号に対応するビットが０である場合（Ｓ１１４のＮｏ）、処理をＳ１１５に進める。Ｓ１１５において、更新部４０は、対象第１領域についての管理情報に示された対象第２領域の状態を、未書き込みから、書き込み済みに変更する。例えば、更新部４０は、対応するビットを、０から１に変更する。これにより、更新部４０は、第１データが書き込まれた後の不揮発記憶部１６の状態を、管理テーブルに反映することができる。更新部４０は、Ｓ１１５の処理を終了した場合、本フローを終了し、次の書き込みを待機する。
【０１４０】
更新部４０は、対象第１領域についての管理情報に示された対象第２領域の状態が書き込み済みの場合、例えば、アドレス情報に含まれるキャッシュライン番号に対応するビットが１である場合（Ｓ１１４のＹｅｓ）、処理をＳ１１６に進める。Ｓ１１６において、更新部４０は、対象第１領域についての管理情報に示された対象第２領域以外の第２領域の状態を、未書き込みに変更する。つまり、更新部４０は、対象第１領域についての管理情報に示された対象第２領域のみを書き込み済みとし、他の第２領域を未書き込みとする。例えば、更新部４０は、対応するビットのみを１とし、他のビットを０とする。
【０１４１】
これにより、更新部４０は、対象第２領域に対して第１データを書き込んだ後の不揮発記憶部１６の状態を、管理テーブルに反映することができる。
【０１４２】
更新部４０は、Ｓ１１６を終了すると、処理をＳ１１７に進める。Ｓ１１７において、更新部４０は、対象第１領域についてのカウンタ値を更新する。例えば、更新部４０は、カウンタテーブルにおける、アドレス情報に含まれるページ番号に対応するカウンタ値を、１増加させる。これにより、更新部４０は、対象第１領域の書き換え回数を更新することができる。
【０１４３】
なお、更新部４０は、Ｓ１１６とＳ１１７の処理を逆に実行してもよい。更新部４０は、Ｓ１１６およびＳ１１７の処理を終了した場合、本フローを終了し、次の書き込みを待機する。
【０１４４】
図２４は、第６実施形態に係る更新部４０による管理情報生成処理の流れを示すフローチャートである。更新部４０は、図２３のＳ１１３における管理情報生成処理において、図２４に示すＳ１２１からＳ１２５の処理を実行する。
【０１４５】
まず、Ｓ１２１において、更新部４０は、管理テーブルに未使用エントリが有るか否かを判断する。つまり、更新部４０は、管理情報が格納されていないエントリが、管理テーブルに存在するか否かを判断する。
【０１４６】
未使用エントリが有る場合（Ｓ１２１のＹｅｓ）、更新部４０は、処理をＳ１２２に進める。Ｓ１２２において、更新部４０は、未使用エントリに対象第１領域についての管理情報を書き込む。つまり、更新部４０は、対象第１領域を識別する識別情報と、対象第２領域のみを書き込み済みとし、他の領域を未書き込みとしたマップ情報とを含む管理情報を、未使用エントリに書き込む。例えば、更新部４０は、アドレス情報に含まれるページ番号と、アドレス情報に含まれるキャッシュライン番号に対応するビットのみを１とし、他のビットを０としたマップ情報とを、未使用エントリに書き込む。
【０１４７】
これにより、更新部４０は、第１データが書き込まれた後の不揮発記憶部１６の状態を管理テーブルに反映することができる。更新部４０は、Ｓ１２２の処理を終了した場合、処理を図２３のフローに戻す。
【０１４８】
未使用エントリが無い場合（Ｓ１２１のＮｏ）、更新部４０は、処理をＳ１２３に進める。Ｓ１２３において、更新部４０は、管理テーブルから、何れかの使用中エントリを選択する。例えば、更新部４０は、最も古い管理情報を格納した使用中エントリを選択する。なお、更新部４０は、他のアルゴリズムに従って何れかの使用中エントリを選択してもよい。
【０１４９】
更新部４０は、Ｓ１２３を終了すると、処理をＳ１２４に進める。Ｓ１２４において、更新部４０は、選択した使用中エントリに書き込まれている管理情報を消去して、対象第１領域についての管理情報を書き込む。つまり、更新部４０は、選択した使用中エントリに、対象第１領域を識別する識別情報と、対象第２領域のみを書き込み済みとし、他の領域を未書き込みとしたマップ情報とを含む管理情報を、上書きする。例えば、更新部４０は、アドレス情報に含まれるページ番号と、アドレス情報に含まれるキャッシュライン番号に対応するビットのみを１とし、他のビットを０としたマップ情報とを、選択した使用中エントリに上書きする。
【０１５０】
これにより、更新部４０は、選択した管理情報（例えば最も古い管理情報）を管理テーブルから消去して、新たな管理情報を管理テーブルに格納することができる。そして、更新部４０は、第１データが書き込まれた後の不揮発記憶部１６の状態を管理テーブルに反映することができる。
【０１５１】
更新部４０は、Ｓ１２４を終了すると、処理をＳ１２５に進める。Ｓ１２５において、更新部４０は、管理テーブルから消去した管理情報により管理されていた第１領域についてのカウンタ値を更新する。例えば、更新部４０は、カウンタテーブルにおける、消去する管理情報に含まれていたページ番号に対応するカウンタ値を、１増加させる。
【０１５２】
Ｓ１２５の処理を実行することにより、更新部４０は、管理テーブルを用いた管理を終了した第１領域について、データを追記したと仮定して、書き換え回数を更新することができる。これにより、更新部４０は、管理テーブルによりアクティブに管理がされていない第１領域について、書き換え回数を推定することができる。
【０１５３】
なお、更新部４０は、Ｓ１２４とＳ１２５の処理を逆に実行してもよい。更新部４０は、Ｓ１２４およびＳ１２５の処理を終了した場合、処理を図２３のフローに戻す。
【０１５４】
以上のように、本実施形態に係る情報処理装置１０は、不揮発記憶部１６に含まれる第１領域（ページ）の数より少ない数の管理情報を記憶する。これにより、本実施形態に係る情報処理装置１０によれば、管理テーブルのエントリ数を少なくすることができるので、管理情報記憶部３８の記憶容量を少なくすることができる。
【０１５５】
さらに、本実施形態に係る情報処理装置１０は、管理テーブルにより管理されていない第１領域については、管理テーブルから管理情報が消去されたタイミングでカウンタ値を更新する。これにより、本実施形態に係る情報処理装置１０によれば、不揮発記憶部１６に含まれる全ての第１領域（ページ）についての書き換え回数を精度良く推定することができる。
【０１５６】
（変形例）
図２５は、情報処理装置１０の構成の第１変形例を示す図である。例えば、第１変形例に係る処理回路１２は、メモリコントローラ１８を内部に備える。第１変形例に係る第１記憶部１４および不揮発記憶部１６は、この処理回路１２の外部に設けられる。
【０１５７】
図２６は、情報処理装置１０の構成の第２変形例を示す図である。例えば、第２変形例に係る処理回路１２は、メモリコントローラ１８を内部に備える。第２変形例に係る処理回路１２は、第１記憶部１４も内部に備える。第１記憶部１４は、例えば、プロセッサ内のＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であってもよい。
【０１５８】
図２７は、情報処理装置１０の構成の第３変形例を示す図である。例えば、情報処理装置１０は、処理回路１２と、不揮発記憶モジュール８０とを備えてもよい。この場合、不揮発記憶モジュール８０は、不揮発記憶部１６と、メモリコントローラ１８とを有する。
【０１５９】
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６０】
１０  情報処理装置
１２  処理回路
１４  第１記憶部
１６  不揮発記憶部
１８  メモリコントローラ
２６  設定記憶部
２８  アクセス処理部
３６  カウンタ記憶部
３８  管理情報記憶部
４０  更新部
５０  管理部
６０  要素メモリ
７０  モード切換部
８０  不揮発記憶モジュール
【図１】
2018151687.tif 000003
【図２】
2018151687.tif 000004
【図３】
2018151687.tif 000005
【図４】
2018151687.tif 000006
【図５】
2018151687.tif 000007
【図６】
2018151687.tif 000008
【図７】
2018151687.tif 000009
【図８】
2018151687.tif 000010
【図９】
2018151687.tif 000011
【図１０】
2018151687.tif 000012
【図１１】
2018151687.tif 000013
【図１２】
2018151687.tif 000014
【図１３】
2018151687.tif 000015
【図１４】
2018151687.tif 000016
【図１５】
2018151687.tif 000017
【図１６】
2018151687.tif 000018
【図１７】
2018151687.tif 000019
【図１８】
2018151687.tif 000020
【図１９】
2018151687.tif 000021
【図２０】
2018151687.tif 000022
【図２１】
2018151687.tif 000023
【図２２】
2018151687.tif 000024
【図２３】
2018151687.tif 000025
【図２４】
2018151687.tif 000026
【図２５】
2018151687.tif 000027
【図２６】
2018151687.tif 000028
【図２７】
2018151687.tif 000029