(57)【要約】【課題】  アクセスの高速化を実現しつつ、安価な回路構成で、電源瞬断に際して揮発性メモリにキャッシュされるデータがすべて消失してしまう状態を回避する。【解決手段】    第１のコントローラと、第２のコントローラとが通信するメモリ制御装置において、第２のコントローラが第１のコントローラから受信するキャッシュ無効領域を設定するコマンドに基づいて、揮発性メモリの特定領域をキャッシュ無効領域化する。そして、第１のコントローラから受信するコマンドに基づいて特定される前記揮発性メモリの領域が特定領域である場合、当該特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込むことを特徴とする。【選択図】  図３
2016151947.tif 000002
【特許請求の範囲】
【請求項１】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置であって、
前記第２のコントローラは、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ手段と、
前記第１のコントローラから受信するキャッシュ無効領域を設定するコマンドに基づいて、前記揮発性メモリの特定領域をキャッシュ無効領域化する設定手段と、
前記第１のコントローラから受信するコマンドに基づいて特定される前記揮発性メモリの領域が前記特定領域である場合、当該特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込む書込手段と、
を備えることを特徴とするメモリ制御装置。
【請求項２】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置であって、
前記第２のコントローラは、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ手段と、
前記第１のコントローラから受信するコマンドに基づいて、前記揮発性メモリの特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込む書込手段と、
を備えることを特徴とするメモリ制御装置。
【請求項３】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置であって、
前記第２のコントローラは、
電源手段から供給される電源の瞬断状態を監視する監視手段と、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ手段と、
前記第１のコントローラから受信する電源瞬断時に移動すべき領域の優先度を設定するコマンドに基づいて、前記揮発性メモリの特定領域に優先度を設定する設定手段と、
前記監視手段により前記電源が瞬断状態であることが検知された場合、設定された前記優先度に従い、前記揮発性メモリにキャッシュされた特定のデータを不揮発性メモリに書き込む書込手段と、
を備えることを特徴とするメモリ制御装置。
【請求項４】
前記監視手段により前記電源が瞬断状態であることが検知された場合、前記第２のコントローラに電源を供給するバックアップ電源を備えることを特徴とする請求項３記載のメモリ制御装置。
【請求項５】
前記不揮発性メモリは、ＮＡＮＤフラッシュメモリであることを特徴とする請求項１乃至４のいずれか１項に記載のメモリ制御装置。
【請求項６】
前記第１のコントローラは、所定のジョブ処理を実行することを特徴とする請求項１に記載のメモリ制御装置。
【請求項７】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置での制御方法であって、
前記第２のコントローラは、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ工程と、
前記第１のコントローラから受信するキャッシュ無効領域を設定するコマンドに基づいて、前記揮発性メモリの特定領域をキャッシュ無効領域化する設定工程と、
前記第１のコントローラから受信するコマンドに基づいて特定される前記揮発性メモリの領域が前記特定領域である場合、当該特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込む書込工程と、
を備えることを特徴とするメモリ制御装置の制御方法。
【請求項８】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置の制御方法であって、
前記第２のコントローラは、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ工程と、
前記第１のコントローラから受信するコマンドに基づいて、前記揮発性メモリの特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込む書込工程と、
を備えることを特徴とするメモリ制御装置の制御方法。
【請求項９】
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置の制御方法であって、
前記第２のコントローラは、
電源手段から供給される電源の瞬断状態を監視する監視工程と、
前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ工程と、
前記第１のコントローラから受信する電源瞬断時に移動すべき領域の優先度を設定するコマンドに基づいて、前記揮発性メモリの特定領域に優先度を設定する設定工程と、
前記監視工程により前記電源が瞬断状態であることが検知された場合、設定された前記優先度に従い、前記揮発性メモリにキャッシュされた特定のデータを不揮発性メモリに書き込む書込工程と、
を備えることを特徴とするメモリ制御装置の制御方法。
【請求項１０】
請求項７乃至９のいずれか１項に記載のメモリ制御装置の制御方法をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリ制御装置、メモリ制御装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
ハードディスクやNANDフラッシュメモリなど不揮発性の記録媒体は、揮発性メモリにくらべアクセス速度が遅いため、不揮発性の記憶媒体の制御部ではしばしばキャッシュメモリとして揮発性メモリが使用される。このような構成において、制御部に対する書き込みデータの転送が終了した直後に電源断が発生した場合、キャッシュメモリのデータを不揮発性記録媒体へ書き込めずデータを消失してしまうという問題がある。
【０００３】
このような問題を解決する方式として、交流電源の遮断後も電源供給を短時間継続するための大容量コンデンサを内蔵し、電源断を検出してからコンデンサから放電が完了するまでの時間内にキャッシュメモリのデータを不揮発性の記憶媒体にデータ退避を行う技術が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２３１０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１記載の技術では、電源断発生後にキャッシュメモリにあるデータを不揮発性の記録媒体へ書き込む間電源を供給するために、大容量のコンデンサが必要となってしまう。
【０００６】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、アクセスの高速化を実現しつつ、安価な回路構成で、電源瞬断に際して揮発性メモリにキャッシュされるデータがすべて消失してしまう状態を回避できる仕組みを提供することである。
【課題を解決するための手段】
【０００７】
上記目的を達成する本発明のメモリ制御装置は以下に示す構成を備える。
第１のコントローラと、第２のコントローラとが通信するメモリ制御装置であって、前記第２のコントローラは、前記第１のコントローラから受信する所定のデータを揮発性メモリにキャッシュするキャッシュ手段と、前記第１のコントローラから受信するキャッシュ無効領域を設定するコマンドに基づいて、前記揮発性メモリの特定領域をキャッシュ無効領域化する設定手段と、前記第１のコントローラから受信するコマンドに基づいて特定される前記揮発性メモリの領域が前記特定領域である場合、当該特定領域にキャッシュされた特定のデータを不揮発性メモリに書き込む書込手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、アクセスの高速化を実現しつつ、安価な回路構成で、電源瞬断に際して揮発性メモリにキャッシュされるデータがすべて消失してしまう状態を回避できる。
【図面の簡単な説明】
【０００９】
【図１】システム機器の一例を示すブロック図である。
【図２】メモリ制御装置の制御方法を説明するフローチャートである。
【図３】メモリ制御装置の制御方法を説明するフローチャートである。
【図４】メモリ制御装置の制御方法を説明するフローチャートである。
【図５】メモリ制御装置の制御方法を説明するフローチャートである。
【図６】メモリ制御装置の制御方法を説明するフローチャートである。
【図７】システム機器の一例を示すブロック図である。
【図８】メモリ制御装置の制御方法を説明するフローチャートである。
【図９】メモリ制御装置の制御方法を説明するフローチャートである。
【図１０】メモリ制御装置の制御方法を説明するフローチャートである。
【図１１Ａ】コマンドフォーマットを示す図である。
【図１１Ｂ】コマンドフォーマットとキャッシュフラッシュデータと、瞬断時優先設定範囲を示す図である。
【発明を実施するための形態】
【００１０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
＜システム構成の説明＞
〔第１実施形態〕
図１は、本実施形態を示すメモリ制御装置を適用するシステム機器の一例を示すブロック図である。本例は、第１のコントローラとして機能するシステム制御部１０２が、所定のジョブ処理を実行するシステム機器１０１を例とする。
【００１１】
図１において、システム機器１０１は、システム制御部１０２、メモリモジュール１０３から構成され、通信を行うインターフェース１０４にて接続される。尚、システム機器１０１としては、ＰＣやその周辺機器、複合機、さらには、携帯端末などの様々な機器が考えられる。システム制御部１０２は、システム機器１０１の機能を実現するためさまざまな処理を行う処理部である。
【００１２】
メモリモジュール１０３は、メモリ制御部１０５、キャッシュメモリ１０６、ＮＡＮＤＦｌａｓｈ１０７から構成され、インターフェース１０４にてシステム制御部１０２と通信する。尚、インターフェース１０４は、シリアルＡＴＡ規格に準拠したインターフェースを用いるものとする。
【００１３】
メモリ制御部１０５は、メモリモジュール１０３のコントロール部であり、インターフェース１０４から指示されるコマンドに応じて、キャッシュメモリ１０６、ＮＡＮＤＦｌａｓｈ１０７へのリードライトアクセスを制御する。また、キャッシュメモリ１０６は、揮発性メモリで構成され、不揮発性メモリの一例であるＮＡＮＤＦｌａｓｈ１０７のデータを一時的に保存し、システム制御部１０２からのアクセスに対し、応答速度を速くするために用いられる。また、システム制御部１０２は、ＮＡＮＤＦｌａｓｈ１０７より小容量の不揮発性メモリ１０８と接続されている。
【００１４】
[起動時初期化処理]
図２は、図１に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、図１に示したシステム制御部１０２が起動時にメモリモジュール１０３へ指示する処理例である。なお、各ステップは、システム制御部１０２を構成するハードウエアとしてのコントローラが記憶される制御プログラムを実行することで実現される。以下、キャッシュメモリ１０６の特定領域をキャッシュ無効領域化する処理を説明する。
第１のコントローラとして機能するシステム制御部１０２は、システムを起動する際にメモリモジュール１０３に対し、キャッシュ無効領域を指示する（Ｓ１０１）。本実施形態ではシリアルＡＴＡ規格に準拠したインターフェースで通信しており、図１１Ａの（Ａ）に示すコマンドフォーマットにてメモリモジュール１０３に指示を発行する。本実施形態においては、領域の指示はＮＡＮＤＦｌａｓｈ（ＮＡＮＤフラッシュメモリ）１０７のブロック単位とし、先頭のブロックとそこからのブロック数という形式で各領域を指示するものとする。
【００１５】
次に、システム制御部１０２は、メモリモジュール１０３に対し、Ｓ１０１にて指示したキャッシュ無効領域の設定を有効化する指示を発行する（Ｓ１０２）。このときは、図１１Ａの（Ｂ）に示すコマンドフォーマットにてメモリモジュール１０３に指示を発行する。
【００１６】
図３は、図１に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、図２に示した指示を受信した際のメモリモジュール１０３の制御例である。なお、各ステップは、メモリ制御部１０５を構成するハードウエアとしての第２のコントローラが記憶される制御プログラムを実行することで実現される。
【００１７】
メモリ制御部１０５は、図１１Ａに示したコマンドフォーマットにてシステム制御部１０２からキャッシュ無効領域の指示を受信する（Ｓ２０１）。このとき、指示されたキャッシュ無効領域を記憶するためＮＡＮＤＦｌａｓｈ１０７に書き込む。
尚、ＮＡＮＤＦｌａｓｈ１０７内は、システム制御部１０２からリードライト可能な領域とメモリ制御部１０５が自身の設定やプログラムを格納する領域とに分けられている。次に、図１１Ａの（Ｂ）に示したコマンドフォーマットにてシステム制御部１０２からキャッシュ無効領域の設定を有効化する指示を受信する（Ｓ２０２）。そして、メモリ制御部１０５は、現時点でキャッシュメモリ１０６に保存しているデータの領域を確認する（Ｓ２０３）。
そして、メモリ制御部１０５は、Ｓ２０１にてＮＡＮＤＦｌａｓｈ１０７に保存したキャッシュ無効領域の設定を読み出し、現在キャッシュメモリ１０６にキャッシュしているデータに領域内のデータがあるかを判断する（Ｓ２０４）。Ｓ２０４にて該当のデータがあるとメモリ制御部１０５が判断した場合、キャッシュメモリ１０６のデータをＮＡＮＤＦｌａｓｈ１０７に書込む処理を実行し（Ｓ２０５）、キャッシュ無効領域の設定を有効状態とする（Ｓ２０６）。またＳ２０４にて、該当データがなかった場合には、Ｓ２０６の処理を実行し、処理を完了する。
【００１８】
[データ転送処理]
図４は、図１に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、メモリ制御部１０５がシステム制御部１０２から書き込み指示を受信した場合のメモリモジュール１０３内の処理例である。
まずメモリ制御部１０５は、システム制御部１０２から書き込み指示を受信する（Ｓ３０１）。メモリ制御部１０５は図３のＳ２０６にて有効化されるキャッシュ無効領域の設定を確認し、設定が有効状態であるかを判断する（Ｓ３０２）。Ｓ３０２にて設定が有効であった場合、Ｓ３０１にて受信した書き込み指示のアドレスと設定の範囲を比較する（Ｓ３０３）。
Ｓ３０３にて、受信した指示のアドレスが設定範囲であるとメモリ制御部１０５が判断した場合、受信したデータをＮＡＮＤＦｌａｓｈ１０７に書き込む（Ｓ３０４）。また、Ｓ３０２で設定が無効であると判断した場合、もしくはＳ３０３にて受信した指示のアドレスが設定範囲外であるとメモリ制御部１０５が判断した場合は、受信したデータをキャッシュメモリ１０６に書き込む（Ｓ３０５）。
Ｓ３０４またはＳ３０５にてデータの書き込み処理が完了すると、メモリ制御部１０５は、システム制御部１０２に応答を送信する（Ｓ３０６）。
【００１９】
以上のような制御を実施することで、システム制御部１０２は、メモリモジュール１０３内のＮＡＮＤＦｌａｓｈ１０７に書き込むデータに関して、領域ごとにキャッシュの有効・無効を制御できる。
例えば瞬断時に消失してはいけない非常に重要なデータを保存している領域はキャッシュを無効化し、それ以外の領域に関しては有効化しておくということが可能となる。
これにより、バックアップコンデンサを備えていない場合でも、電源の瞬断時に重要な領域のデータ消失を防ぐことができ、またそれ以外の領域へはキャッシュを用いて高速なアクセスが可能となる。
【００２０】
〔第２実施形態〕
なお、本実施形態におけるシステム構成は、第１実施形態と同じのため説明を割愛し、以下、フローチャートに基づいて本実施形態におけるデータ転送処理について説明する。
[データ転送処理]
図５は、図１に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、システム制御部１０２がメモリ制御部１０５へ書き込み指示を送信する場合のシステム制御部１０２内の処理例である。本処理は、システム制御部１０２が記憶された制御プログラムを実行することで実現される。
システム制御部１０２は、データの書き込み処理を開始したとしてシステム制御部１０２内の不揮発性メモリ１０８にフラグをセットする（Ｓ６０１）。システム制御部１０２は、メモリモジュール１０３に対しデータの書き込み指示を送信する（Ｓ６０２）。本実施形態ではシリアルＡＴＡ規格に準拠したインターフェースで通信しており、規格に準拠したライトコマンドのフォーマットにてメモリモジュール１０３に指示を発行する。
次に、システム制御部１０２はステップＳ６０２にてメモリ制御部１０５に送信したコマンドの応答を受信する（Ｓ６０３）。応答を受信すると、システム制御部１０２は、メモリモジュール１０３に対し、指定領域のデータのキャッシュ書き込み指示を送信する（Ｓ６０４）。本実施形態ではシリアルＡＴＡ規格に準拠したインターフェースで通信しており、図１１Ｂの（Ａ）に示すコマンドフォーマットにてメモリモジュール１０３に指示を発行する。
【００２１】
次に、システム制御部１０２はステップＳ６０４にてメモリ制御部１０５に送信したコマンドの応答を受信する（Ｓ６０５）。応答を受信すると、システム制御部１０２は、この応答をもって書き込みが完了したと判断し、システム制御部１０２内の不揮発性メモリ１０８にフラグをクリアする（Ｓ６０６）。
【００２２】
図６は、図１に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、メモリ制御部１０５がシステム制御部１０２から書き込み指示を受信した際にメモリ制御部１０５内の処理例である。本処理は、メモリ制御部１０５が記憶される制御プログラムを実行することで実現される。
まず、メモリ制御部１０５は、システム制御部１０２から書き込み指示を受信する（Ｓ７０１）。メモリ制御部１０５は受信したデータをキャッシュメモリに書き込み（Ｓ７０２）、システム制御部に応答を送信する（Ｓ７０３）。次に、システム制御部１０２から指定領域のデータのキャッシュ書き込み指示を受信する（Ｓ７０４）。そして、メモリ制御部１０５はＳ７０４にて受信した指定領域のデータがキャッシュメモリにあるかを確認し（Ｓ７０５）、あった場合にはそのデータをＮＡＮＤＦｌａｓｈに書き込みを行った後（Ｓ７０６）、メモリ制御部１０５は、システム制御部１０２に応答を送信する（Ｓ７０７）。Ｓ７０５にてキャッシュメモリ内になかった場合は、何も処理せずそのままシステム制御部１０２に応答を送信する（Ｓ７０７）。
【００２３】
以上のような制御を実施することで、システム制御部１０２は、メモリモジュール１０３内のＮＡＮＤＦｌａｓｈ１０７に対して、領域ごとにキャッシュデータをＮＡＮＤＦｌａｓｈ１０７に書くように指示が可能となる。例えば、瞬断時に消失してはいけない非常に重要なデータを保存している領域に書き込んだ場合、直後にその領域のデータをＮＡＮＤＦｌａｓｈ１０７に書くように指示する。これにより、重要な領域のデータに関してキャッシュデータをフラッシュする時間が短くできる。また合わせて書き込み前後にフラグ処理を行うことにより、処理状態とデータの整合性を一致させることができる。
【００２４】
〔第３実施形態〕
[システム構成]
図７は、本実施形態を示すメモリ制御装置を適用するシステム機器の構成を説明するブロック図である。
図７において、システム機器２０１は、システム制御部２０２、メモリモジュール２０３、電源部２０４から構成され、システム制御部２０２およびメモリモジュール２０３は通信を行うインターフェース２０５にて接続される。尚、システム機器２０１としては、ＰＣやその周辺機器、複合機、さらには、携帯端末などの様々な機器が考えられる。システム制御部２０２は、システム機器の機能を実現するためさまざまな処理を行う処理部である。
【００２５】
メモリモジュール２０３は、メモリ制御部２０６、キャッシュメモリ２０７、ＮＡＮＤＦｌａｓｈ２０８、電源監視部２０９、バックアップ電源部２１０から構成され、インターフェース２０５にてシステム制御部２０２と通信する。尚、インターフェース２０５は、シリアルＡＴＡ規格に準拠したインターフェースを用いるものとする。電源部２０４は、システム制御部２０２およびメモリモジュール２０３に対し、電源を供給する。
【００２６】
メモリ制御部２０６は、メモリモジュール２０３のコントロール部であり、インターフェース２０５から指示されるコマンドに応じて、キャッシュメモリ２０７、ＮＡＮＤＦｌａｓｈ２０８へのリードライトアクセスを制御する。また、キャッシュメモリ２０７は、揮発性の記憶媒体で構成され、ＮＡＮＤＦｌａｓｈ２０８のデータを一時的に保存し、システム制御部２０２からのアクセスに対し、応答速度を速くするために用いられる。
【００２７】
電源監視部２０９は電源部２０４からメモリモジュール２０３に供給される電源を監視している。メモリモジュール２０３への供給電源が降下し、所定の閾値を下回った場合、メモリモジュールに電源電圧の低下をメモリ制御部２０６に通知する構成とする。
【００２８】
バックアップ電源部２１０は、電源部２０４からメモリモジュール２０３に供給される電源を受ける部分で、このモジュールを経て残りのメモリモジュール２０３内各ブロックに電源が供給される。尚、バックアップ電源部２１０は、万一電源部の電圧が低下しても、一定期間メモリモジュール２０３が動作を継続できるように電荷を保持している。
【００２９】
[起動時初期化処理]
図８は、図７に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、起動時にシステム制御部２０２がメモリモジュール２０３へ指示する処理例である。
まず、システム制御部２０２は、システムを起動する際にメモリモジュール２０３に対し、瞬断時キャッシュデータをフラッシュする優先領域を指示する（Ｓ８０１）。本実施形態ではシリアルＡＴＡ規格に準拠したインターフェースで通信しており、図１１Ｂの（Ｃ）、（Ｄ）に示したコマンドフォーマットにてメモリモジュール２０３に指示を発行する。本実施形態においては、領域の指示はＮＡＮＤＦｌａｓｈ２０８のブロック単位とし、先頭のブロックとそこからのブロック数、優先度という形式で各領域を指示するものとする。
【００３０】
図９は、図７に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、図８に示した指示を受信した際のメモリモジュール２０３の制御例である。尚、本制御に示すステップはメモリ制御部２０６にて実行されることで実現される。
【００３１】
メモリ制御部２０６は、図１１Ｂの（Ｃ），（Ｄ）に示すコマンドフォーマットにてシステム制御部２０２から瞬断時キャッシュデータをフラッシュする優先領域の指示を受信する（Ｓ９０１）。このとき、指示された領域と優先度を記憶するため、ＮＡＮＤＦｌａｓｈ２０８に、図１１Ｂの（Ｅ）に示したテーブルの形式にてデータを書き込む。尚、ＮＡＮＤＦｌａｓｈ２０８内は、システム制御部２０２からリードライト可能な領域とメモリ制御部２０６が自身の設定やプログラムを格納する領域とに分けられている。ここで、図１１Ｂの（Ｅ）は、電源瞬断時にキャッシュメモリ上で移動すべき領域の優先度を設定する例である。
【００３２】
次に、瞬断時のデータフラッシュの優先度に従って処理するため、メモリ制御部２０６は設定を有効化する。具体的にはＮＡＮＤＦｌａｓｈ２０８内設定領域に有効状態を示すフラグを設定する。
【００３３】
[瞬断時キャッシュデータ退避処理]
図１０は、図７に示したメモリ制御装置の制御方法を説明するフローチャートである。本例は、電源が瞬断状態時にメモリ制御部２０６がキャッシュデータをＮＡＮＤＦｌａｓｈ２０８に退避する処理例である。
【００３４】
まず、メモリ制御部２０６は電源監視部２０９からの電源断検知の通知を受ける（Ｓ１００１）。次に、メモリ制御部２０６は、自身が処理している優先度を示す変数Ｎを１に設定し（Ｓ１００２）、図９のＳ９０１にてＮＡＮＤＦｌａｓｈ２０８に保存した優先度Ｎの領域を確認する（Ｓ１００３、Ｓ１００４）。優先度Ｎの設定があると判断した場合、設定された領域のデータがキャッシュメモリ２０７にあるかを判断する（Ｓ１００５）。
ここで、データがあると判断した場合は、該当のデータをＮＡＮＤＦｌａｓｈ２０８に書き込み（Ｓ１００６）、優先度を示す変数Ｎを１足す（Ｓ１００７）。
一方、Ｓ１００５にて該当のデータがないと判断した場合は、Ｓ１００６をスキップし、Ｓ１００７へ遷移する。Ｓ１００７を処理した後、優先度を示す変数が１６に到達したかを判断し（Ｓ１００８）、到達していないと判断した場合、Ｓ１００３から再度処理を始める。
Ｓ１００４にて優先度Ｎの設定がないと判断した場合、もしくは優先度を示す変数Ｎが「１６」に到達した場合、残りのキャッシュメモリ２０７のデータをＮＡＮＤＦｌａｓｈ２０８に書き込み、処理を終了する（Ｓ１００９）。
【００３５】
以上のような制御を実施することで、システム制御部２０２は、メモリモジュール２０３内のＮＡＮＤＦｌａｓｈ２０８に書き込むデータに関して、瞬断時に領域ごとに優先順位を設定可能となる。
これにより、例えば、電源の瞬断時に消失してはいけない非常に重要なデータを保存している領域だけ優先度を高く設定しておき、その領域をＮＡＮＤＦｌａｓｈ２０８に書き込む時間分のバックアップコンデンサだけを搭載するということが可能となる。これにより、最適なバックアップコンデンサの容量にすることが可能である。
【００３６】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステムまたは装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えばＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００３７】
１０３  メモリモジュール
１０５  メモリ制御部
１０６  キャッシュメモリ
１０７  ＮＡＮＤ  Ｆｌａｓｈ
【図１】
2016151947.tif 000003
【図２】
2016151947.tif 000004
【図３】
2016151947.tif 000005
【図４】
2016151947.tif 000006
【図５】
2016151947.tif 000007
【図６】
2016151947.tif 000008
【図７】
2016151947.tif 000009
【図８】
2016151947.tif 000010
【図９】
2016151947.tif 000011
【図１０】
2016151947.tif 000012
【図１１Ａ】
2016151947.tif 000013
【図１１Ｂ】
2016151947.tif 000014