(57)【要約】【課題】揮発性記憶部のキャッシュと不揮発性記憶部を持ち、両方を制御するコントローラを搭載したメモリモジュールでは、キャッシュのデータが不揮発性記憶部に格納される前に電源断が発生した場合のデータ不一致防止と、過敏な電源断検出でキャッシュデータ退避することによるシステムとの状態不整合を防止する。【解決手段】システムの動作電源をメモリモジュールの入力電源とし、メモリモジュールで入力電源を監視し、メモリモジュールで使用する電圧より高い電圧を生成し、高い電圧で電荷を保持し、電源オフや瞬断発生時の入力電源の低下を検出した場合、生成した高い電圧と入力電源とを分離し、同じ検出信号でコントローラにキャッシュ退避動作を開始させ、保持した電荷でキャッシュ退避動作を完了させる。【選択図】  図１
2015170332.tif 000002
【特許請求の範囲】
【請求項１】
高速な応答が可能な揮発性記憶部（３３）を持ち、該揮発性記憶部（３３）をキャッシュとして使用し、応答が低速な不揮発性記憶部（３２）を持ち、該不揮発性記憶部（３２）と前記揮発性記憶部（３３）を制御するコントローラ部（３１）を持つメモリモジュール（３）で、
装置全体を制御するシステム部（２）と通信可能で、電源供給をシステム動作電源（５）から受け、前記メモリモジュール（３）に、動作電源の電圧を監視し、電圧が所定の電圧以上か否かを通知可能な通知信号（３９）を出力できる電源監視部（３４）を持ち、前記動作電源（５）をコントローラ部で使用する動作電源（５）の電圧より高い電圧に昇圧した昇圧電源を出力する昇圧部（３５）を持ち、昇圧電源から電荷の供給を受ける電荷保持部（３７）を持ち、該電荷保持部が接続された昇圧電源部（３６）と前記システム動作電源（５）側とを接続分離が可能なSW部（３８）を持ち、昇圧電源部（３６）の電圧を降圧してコントローラ部（３１）で使用する電圧を出力する降圧部（４０）を持ち、
前記電源監視部（３４）の出力する通知信号（３９）が動作電源（５）の電圧が所定の電圧以上を示す場合に、前記コントローラ部（３１）が通常動作し、前記SW部（３８）が昇圧電源部（３６）と前記システム動作電源（５）側とを接続し、所定電圧未満を示す場合に、前記コントローラ部（３１）が揮発性記憶部（３３）のデータを不揮発性記憶部（３２）に退避させ、前記SW部（３８）が昇圧電源部（３６）と前記システム動作電源（５）側とを切断し、前記退避動作では前記電荷保持部（３７）の放電電荷により電力を賄うことを特徴とするメモリモジュール。
【請求項２】
前記電源監視部（３４）が検出する所定電圧がシステム側のリセット電圧より低いことを特徴とする請求項１に記載のメモリモジュール。
【請求項３】
前記電荷保持部（３７）がコンデンサであることを特徴とする請求項１に記載のメモリモジュール。
【請求項４】
前記電荷保持部（３７）が２次電池と充放電回路からなることを特徴とする請求項１のメモリモジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、NANDフラッシュメモリを搭載したメモリモジュールの制御方法に関する。特にキャッシュを持つNANDフラッシュコントローラの電源瞬断時のキャッシュデータフラッシュ動作に関する。
【背景技術】
【０００２】
NAND型フラッシュメモリをシステムの不揮発メモリとして使用する装置において、NANDフラッシュメモリ内のメモリブロックの書き換えを効率的に処理するNANDコントローラを搭載して使用するものがある。NANDフラッシュメモリのデータ書き換えは、ブロックごとに消去して消去済みのブロックに対して書き込むことで実現される。また、NANDフラッシュのデータ書き換え回数は、HDD等と異なり、数万回程度で寿命となるため、特定ブロックのみを集中的に書き換えていくと、やがて書き換え不能となる。
【０００３】
従って、NANDフラッシュメモリを活用する上では、ブロック毎の書き換え回数の管理と、書き換え不能となったブロックや製造ばらつきによる不良ブロックの管理をすることが必要になる。これらの管理をシステムに代わって、NANDコントローラと呼ばれる専用のコントローラで行う構成が広く知られている。
【０００４】
NANDコントローラはNANDフラッシュメモリのアクセススピードが比較的遅いことから応答性の速い揮発性メモリをキャッシュメモリとして使用することが多い。この場合、電源瞬断が発生した場合にキャッシュのデータがNANDフラッシュメモリに書き込まれていないと再起動後にシステム側とデータの整合が取れなくなるという問題があった。
【０００５】
電源瞬断を検出してキャッシュのデータをNANDフラッシュメモリに退避させる方法として、退避制御用の電源部を持ち該電源部への交流電源遮断時に、キャッシュデータの退避制御を行う技術が提案されている（特許文献１参照）。
【０００６】
特許文献１では、キャッシュからNANDフラッシュへのデータ退避を、交流電源の遮断を検出することで開始し、退避動作に必要な電力を電源部に内蔵された２次側の大容量コンデンサから供給させて退避動作を完了させている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−２３１０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１は、１次側の交流電源停止を検出するため、２次側の電源状態と必ずしも整合が取れない。例えば、瞬間的な交流電源停止が発生した際、システムの動作状態が正常でも、NANDフラッシュメモリモジュールではキャッシュデータ退避動作が発生しシステムからのライトリードアクセスができなくなる。
【０００９】
同一の交流電源経路に多数の装置を接続して使用している環境では、しばしば各機器の負荷変動の影響で瞬間的な交流停止が発生することがある。このような電源環境では前述したシステムからのライトリードアクセスができない状態が頻発しシステム全体の動作が不安定になる。
【００１０】
よって、本発明が解決しようとする課題は、システムとNANDフラッシュメモリモジュールの状態整合を保ちながら電源瞬断時にはキャッシュデータをNANDフラッシュメモリに確実に退避させることである。
【課題を解決するための手段】
【００１１】
本発明の構成は、
不揮発性のNANDフラッシュメモリと、揮発性のキャッシュメモリと、該キャッシュメモリと前記フラッシュメモリへのリードライトアクセスを制御するNANDコントローラを搭載したメモリモジュールで、
該モジュールの入力電源がシステム側電源であり、該入力電源を監視する電源監視部を持ち、該入力電源から前記NANDコントローラで使用する電源電圧よりも高い電圧を生成する昇圧部を持ち、該昇圧された電源からの電力を用いて前記メモリモジュールのモジュール電源とし、該モジュール電源に電荷保持部を持ち、該モジュール電源を降圧して前記NANDコントローラと前記キャッシュメモリと前記フラッシュメモリに電力を供給する降圧部を持ち、前記モジュール電源と前記入力電源を分離または接続することが可能なスイッチ部を持ち、
前記電源監視部は前記入力電源の電圧が所定電圧以上か未満かを検出でき、所定電圧未満の場合低電圧を示し、所定電圧以上の場合高電圧を示す通知信号を前記NANDコントローラに出力し、該通知信号をさらにスイッチ部にも出力する。
前記NANDコントローラは、該通知信号が所定電圧以上を示すとき、通常動作を行い、所定電圧未満を示すとき、前記キャッシュメモリのデータを前記NANDフラッシュメモリに退避させる。
前記スイッチ部は、該通知信号が所定電圧以上を示すとき、前記モジュール電源と前記入力電源の接続を行い、所定電圧未満を示すとき、前記モジュール電源と前記入力電源の分離を行う。
【発明の効果】
【００１２】
本発明によれば、システムとメモリモジュール間の状態不整合による不安定動作を発生させずに、電源瞬断時のキャッシュデータ退避動作を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施例であるメモリモジュールを搭載したシステム機器の構成を示すブロック図
【図２】システムとメモリモジュールの状態と電源・信号の動作を示すタイミングチャート
【発明を実施するための形態】
【００１４】
以下、本発明の実施例におけるキャッシュデータ退避動作について図面を用いて説明する。
【００１５】
図１は、本発明の実施例におけるメモリモジュールとシステムの構成を示すブロック図である。
【００１６】
１は、本発明のメモリモジュールを搭載したシステム機器である。システム機器は、メモリモジュールを制御するシステム部を持つ構成であれば、ＰＣやその周辺機器、複合機、さらには、携帯端末などの様々な機器で構成できる。ここでは複合機とする。
【００１７】
２は、システム部であり、システム機器である複合機を統括的に制御するメイン制御部として動作するものである。
【００１８】
３は、メモリモジュールであり、システム部２と通信I/F４で通信ができ、システム部２の動作電源５を入力電源として動作する。
【００１９】
４は、システム部２とメモリモジュール３との間で様々な通信を行うためのI/Fで、システムからの要求により、メモリモジュールとの初期化通信や通常動作通信ができる。
５は、システム部２の動作電源であり、メモリモジュール３の入力電源にもなっている。
【００２０】
３１は、メモリモジュール３のコントローラ部であり、通信I/F４から入力されるアクセスに応じて、不揮発記憶部３２とキャッシュ３３へのライトリードアクセスを制御する。動作電源は降圧部４０の出力電源４１を用い、電源監視部３４から出力される通知信号３９に応じて、キャッシュ３３のデータを不揮発記憶部３２に格納する退避動作を行う。通知信号３９に応じた動作とは、通知信号３９が入力電源５の電圧が所定電圧以上を示すとき通常動作を行い、所定電圧未満を示すとき、キャッシュ３３のデータを不揮発記憶部３２に格納する退避動作を行うものである。さらに、不揮発記憶部３２の物理アドレスと通信I/F４から入力される論理アドレスの対応管理や、不揮発記憶部３２のブロックごとの書き換え回数の管理や、キャッシュ３３に格納したデータの不揮発記憶部３２への移動なども行う。
【００２１】
３２は、不揮発記憶部であり、電源供給が止まってもデータを保持することが可能なメモリで、ここではNANDフラッシュメモリとする。コントローラ３１の制御により消去、書き込み、読み出し等のアクセスに応答する。
【００２２】
３３は、キャッシュメモリであり、電源供給が止まるとデータを消失するが応答速度が不揮発記憶部３２より高速なメモリであり、ここではＳＲＡＭとする。コントローラ３１の制御により、書き込み、読み出し等のアクセスに応答する。
【００２３】
３４は、電源監視部であり、メモリモジュール３への入力電源である動作電源５の電圧を監視し、所定電圧以上か未満かを示す通知信号３９を出力することができる。
【００２４】
３５は、昇圧部であり、メモリモジュール３への入力電源である動作電源５からコントローラ３１で使用する電圧よりも高い電圧に昇圧した電力をメモリモジュール３内に供給することができる。ここでは、動作電源５が３．３Ｖで、コントローラ３１で使用する電圧が３．３Ｖと１．２Ｖとし、昇圧した電圧を５Ｖとする。
【００２５】
３６は、昇圧部３５で昇圧された昇圧電源部であり、ＳＷ３８、電荷保持部３７、降圧部４０に接続されている。
【００２６】
３７は、電荷保持部であり、動作電源５から電力が供給されているときに昇圧部３５とＳＷ３８を経由した昇圧電源部３６の電荷を蓄電し、昇圧電源部３６の電圧が低下した場合には放電することができる。コントローラ３１がキャッシュ３３のデータを不揮発記憶部３２に格納する退避動作を行う間、降圧部４０に必要な電荷を放電するものであり、２次電池で構成しても良いしコンデンサで構成しても良い。ここではコンデンサとする。
【００２７】
３８は、ＳＷ部であり、昇圧部３５の出力を昇圧電源部３６に接続または切断することができる。電源監視部３４の出力する通知信号３９が入力電源５の電圧が所定電圧以上を示すとき接続し、所定電圧未満を示すとき切断する。
【００２８】
３９は、電源監視部３４が出力する通知信号である。
【００２９】
４０は、降圧部であり、昇圧電源部３６の電力をもとにコントローラ３１で使用する電圧である３．３Ｖと１．２Ｖを生成降圧電源部４１として出力する。
【００３０】
４１は、降圧部４０で生成された降圧電源部である。
【００３１】
図２は、動作電源のオンから瞬断が発生し、通常電圧に復帰し電源をＯＦＦするまでのシステム部２とメモリモジュール３の状態とコントローラ３１のキャッシュ３３のデータを不揮発記憶部３２に退避させる退避動作までのタイミングチャートである。
【００３２】
時刻t0からt7の動作を元に、本実施例により電源瞬断時のシステム部２とメモリモジュール３の状態不整合が防止できることを説明する。
【００３３】
システム機器１は電源を投入されると時刻t0にて、システム部２をオフ状態からリセット状態にし、メモリモジュール３もリセット状態にする。
【００３４】
時刻t1までに動作電源５は所定電圧を超え、リセット電圧も超え、動作可能な電圧まで上昇する。動作可能な電圧は前述の通り３．３Ｖである。メモリモジュール３の昇圧電源部３６の電圧もこの期間に上昇し動作中の電圧として５Ｖに到達する。さらに、降圧電源部４１も同様に動作可能な電圧である３．３Ｖと１．２Ｖに到達する。
【００３５】
時刻t1では、システム２とメモリモジュール３の両方ともリセットが解除され、初期化を開始する。初期化はシステム部２がメモリモジュール３に通信I/F４を経由して初期化コマンドを送信してメモリモジュール３が応答するものである。
【００３６】
時刻t2では、システム部２とメモリモジュール３の初期化が終了し、システム部２とメモリモジュール３の両方が動作中になる。
【００３７】
時刻t3では、動作電源５に瞬断が発生し、電圧の低下が始まる。
【００３８】
時刻t4では、システム部２のリセット電圧まで低下する。システム部２はリセットを検知して状態をリセット状態とする。メモリモジュール３は所定電圧まで動作可能なためリセット状態にはならず動作中を維持する。
【００３９】
時刻t4からt5の間に動作電源５の瞬断状態が解除され、動作電源５が上昇する。最も電圧が低下した時点でも所定電圧より高いため、メモリモジュール３は動作中を維持する。
【００４０】
時刻t5では、動作電源５がリセット電圧を超え、システム部２はリセット解除を開始する。
【００４１】
時刻t6までの間で動作電源５は動作可能な電圧まで上昇し、時刻t6でシステム部２がリセット解除され初期化を行う。時刻t1と同様に、システム部２がメモリモジュール３に通信I/F４を経由して初期化コマンドを送信してメモリモジュール３が応答し、初期化が行われる。
【００４２】
時刻t7では、時刻t2と同様に初期化処理が終了し、システム部２とメモリモジュール３の両方とも動作中状態になる。
【００４３】
以上のように、本実施例では、メモリモジュール３が監視する電源とシステム部２の動作電源が同一であることから、状態不整合を防止することができた。
【００４４】
次に、メモリモジュール３のキャッシュ退避動作を時刻t8からt11の動作で説明する。
【００４５】
時刻t8では、動作電源５が電源オフに移行し始めている。
【００４６】
この電源オフはユーザーが意図した正常な電源オフでも良いし、停電や電源コンセントをいきなり抜くような異常な電源オフでもかまわない。本実施例では正常の異常のどちらの電源オフでもキャッシュ退避が確実に行われる。
【００４７】
時刻t9では、動作電源５の電圧がシステム部２のリセット電圧を下回り、システム部２がリセット状態に移行する。
【００４８】
時刻t10では、動作電源５の電圧が所定電圧を下回る。メモリモジュール３の電源監視部３４は、所定電圧未満を検出し、通知信号３９を所定電圧未満を示す‘Low’に切り替えて出力する。コントローラ３１は通知信号３９の‘Low’を認識するとキャッシュ退避動作を開始する。SW部３８は通知信号３９の‘Low’を認識すると昇圧部３５の出力と昇圧電源部３６を切断する。電荷保持部３７は昇圧部３５からの給電が停止したことにより昇圧電源部３６に保持していた電荷を放電する。コントローラ３１は電荷保持部３７が放電する電荷による降圧電源部４１から給電持続を受け、キャッシュ３３のデータを不揮発記憶部３２に格納する。
【００４９】
以上の説明のように、電荷保持部３７の電荷は予め退避動作に必要な電荷量を保持しているため、時刻t11の降圧電源部４１の電圧がメモリモジュール３の動作下限電圧を下回る前に退避動作を完了させることができる。
【００５０】
また、電圧低下が最も早く表れる動作電源５を監視してキャッシュ退避動作を開始していることから、コントローラ３１の電源である降圧電源４１の電圧低下からキャッシュ退避を開始するよりも早くキャッシュ退避動作を開始することができている。
【００５１】
さらに、昇圧部３５で動作電源５の電圧を昇圧していることで、動作電源５の電圧のままで電荷保持部で電荷を保持するより多くの電荷を保持してキャッシュ退避動作時に使用できるようにしている。
【００５２】
これらの特徴により、確実なキャッシュ退避動作を実現している。
【符号の説明】
【００５３】
２     システム部
３     メモリモジュール
５     動作電源
３１   コントローラ部
３２   不揮発記憶部
３３   キャッシュ
３４   電源監視部
３５   昇圧部
３８   SW部
３７   電荷保持部
【図１】
2015170332.tif 000003
【図２】
2015170332.tif 000004