(57)【要約】【課題】書き込み要求を受けながらも、不揮発性メモリに格納されているデータを保護する。【解決手段】制御装置１０は、プロセッサ２０からの書き込み要求に応じて制御信号を不揮発性メモリ１４に出力するメモリコントローラ２２と、入力電源から供給される入力電圧を監視する電圧監視部１８と、電圧監視部１８によって入力電圧が低下したと判断された場合に、マスク信号を生成して出力するマスク信号生成部２４と、マスク信号生成部２４から出力されるマスク信号を受けると、メモリコントローラ２２から不揮発性メモリ１４に出力される制御信号に対してマスク処理を施すマスク部２６とを備える。マスク信号生成部２４は、電圧監視部１８によって入力電圧が低下したと判断された場合に、不揮発性メモリ１４へのデータの書き込みがなされている場合は、そのデータの書き込みが完了してから、マスク信号を出力する。【選択図】図１
2019175221.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと不揮発性メモリとを備える制御装置であって、
前記プロセッサからの書き込み要求に応じて、データを前記不揮発性メモリに記憶させるための制御信号を前記不揮発性メモリに出力するメモリコントローラと、
入力電源から供給される入力電圧を監視する電圧監視部と、
前記電圧監視部によって前記入力電圧が低下したと判断された場合に、マスク信号を生成して出力するマスク信号生成部と、
前記マスク信号生成部から出力される前記マスク信号を受けると、前記メモリコントローラから前記不揮発性メモリに出力される前記制御信号に対してマスク処理を施すマスク部と、
を備え、
前記マスク信号生成部は、前記電圧監視部によって前記入力電圧が低下したと判断された場合に、前記不揮発性メモリへの前記データの書き込みがなされている場合は、そのデータの書き込みが完了してから、前記マスク信号を出力する、制御装置。
【請求項２】
請求項１に記載の制御装置であって、
前記メモリコントローラは、前記不揮発性メモリへの前記データが書き込み中であるか否かを示すステータス情報を前記マスク信号生成部に出力する、制御装置。
【請求項３】
請求項１または２に記載の制御装置であって、
前記入力電圧から内部電圧を生成する内部電圧生成回路を備え、
少なくとも、前記プロセッサ、前記メモリコントローラ、前記マスク信号生成部、および、前記マスク部は、前記内部電圧で動作する、制御装置。
【請求項４】
請求項３に記載の制御装置であって、
前記内部電圧生成回路は、前記内部電圧を蓄積する蓄積部を含む、制御装置。
【請求項５】
プロセッサと不揮発性メモリとを備える制御装置のデータ書き込み方法であって、
前記プロセッサからの書き込み要求に応じて、データを前記不揮発性メモリに記憶させるための制御信号を前記不揮発性メモリに出力する出力ステップと、
入力電源から供給される入力電圧を監視する監視ステップと、
前記監視ステップで前記入力電圧が低下したと判断された場合に、前記不揮発性メモリに出力される前記制御信号に対してマスク処理を施すマスクステップと、
を含み、
前記マスクステップは、前記監視ステップで前記入力電圧が低下したと判断された場合に、前記不揮発性メモリへの前記データの書き込みがなされているときには、そのデータの書き込みが完了してから、前記マスク処理を施す、データ書き込み方法。
【請求項６】
請求項５に記載のデータ書き込み方法であって、
前記不揮発性メモリへの前記データが書き込み中であるか否かを示すステータス情報に基づいて、前記不揮発性メモリへの前記データの書き込みがなされているか否かが判断される、データ書き込み方法。
【請求項７】
請求項５または６に記載のデータ書き込み方法であって、
前記入力電圧から内部電圧を生成する生成ステップを含み、
少なくとも、前記プロセッサ、前記制御信号を出力するメモリコントローラ、前記マスク処理を施すマスク部、および、前記マスク部がマスク処理を施すためのマスク信号を生成するマスク信号生成部は、前記生成ステップで生成される前記内部電圧で動作する、データ書き込み方法。
【請求項８】
請求項７に記載のデータ書き込み方法であって、
前記生成ステップは、前記内部電圧を蓄積部に蓄積する、データ書き込み方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサと不揮発性メモリとを備える制御装置およびそのデータ書き込み方法に関する。
【背景技術】
【０００２】
プロセッサからの書き込み要求に応じたデータを不揮発性メモリに書き込んでいる途中に電源がオフになると、その書き込み中のデータが失われるだけでなく、不揮発性メモリに格納されているデータが破損する場合がある。このようなデータの破損を防ぐものとして、例えば、下記特許文献１の記憶装置が提案されている。
【０００３】
下記特許文献１の記憶装置は、不揮発性メモリと、不揮発性メモリを制御するアクセス制御部と、ホスト装置とデータ送受信する送受信部とを有する。この記憶装置では、記憶装置に供給される電源の異常が検出されると、送受信部に対するシステムクロックの供給が停止されることで、記憶装置が停止する。これにより記憶装置は、ホスト装置からの書き込み要求を受け付けない状態になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−０８１６５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ホスト装置からの書き込み要求を受けながらも、不揮発性メモリに格納されているデータを保護することが要請されている。
【０００６】
そこで、本発明は、書き込み要求を受けながらも、不揮発性メモリに格納されているデータを保護し得る制御装置およびそのデータ書き込み方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の第１の態様は、プロセッサと不揮発性メモリとを備える制御装置であって、前記プロセッサからの書き込み要求に応じて、データを前記不揮発性メモリに記憶させるための制御信号を前記不揮発性メモリに出力するメモリコントローラと、入力電源から供給される入力電圧を監視する電圧監視部と、前記電圧監視部によって前記入力電圧が低下したと判断された場合に、マスク信号を生成して出力するマスク信号生成部と、前記マスク信号生成部から出力される前記マスク信号を受けると、前記メモリコントローラから前記不揮発性メモリに出力される前記制御信号に対してマスク処理を施すマスク部と、を備え、前記マスク信号生成部は、前記電圧監視部によって前記入力電圧が低下したと判断された場合に、前記不揮発性メモリへの前記データの書き込みがなされている場合は、そのデータの書き込みが完了してから、前記マスク信号を出力する。
【０００８】
本発明の第２の態様は、プロセッサと不揮発性メモリとを備える制御装置のデータ書き込み方法であって、前記プロセッサからの書き込み要求に応じて、データを前記不揮発性メモリに記憶させるための制御信号を前記不揮発性メモリに出力する出力ステップと、入力電源から供給される入力電圧を監視する監視ステップと、前記監視ステップで前記入力電圧が低下したと判断された場合に、前記不揮発性メモリに出力される前記制御信号に対してマスク処理を施すマスクステップと、を含み、前記マスクステップは、前記監視ステップで前記入力電圧が低下したと判断された場合に、前記不揮発性メモリへの前記データの書き込みがなされているときには、そのデータの書き込みが完了してから、前記マスク処理を施す。
【発明の効果】
【０００９】
本発明によれば、書き込み要求を受けながらも、不揮発性メモリに格納されているデータを保護することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施の形態の制御装置を示すブロック図である。
【図２】メモリ制御処理手順を示すフローチャートである。
【図３】マスク処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明に係る制御装置およびそのデータ書き込み方法について、好適な実施の形態を掲げ、添付の図面を参照しながら以下、詳細に説明する。
【００１２】
〔実施の形態〕
図１は、制御装置１０を示すブロック図である。制御装置１０は、例えば、工作機械または産業用ロボットに用いられる数値制御装置である。この制御装置１０は、信号処理部１２、不揮発性メモリ１４、内部電圧生成回路１６および電圧監視部１８を主に備える。
【００１３】
信号処理部１２は、不揮発性メモリ１４にデータを記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ１４に出力する。この信号処理部１２は、内部電圧生成回路１６から供給される内部電圧で動作する。
【００１４】
不揮発性メモリ１４は、電源を与えられなくても記憶内容を保持するメモリである。この不揮発性メモリ１４は、信号処理部１２から供給される制御信号に基づいてデータを書き込む。
【００１５】
内部電圧生成回路１６は、図示しない入力電源から供給される入力電圧に基づいて、信号処理部１２を動作させるための内部電圧を生成し、生成した内部電圧を信号処理部１２に供給する。
【００１６】
この内部電圧生成回路１６は、内部電圧を蓄積する蓄積部１６ａを含んでおり、入力電圧によって充電されることで内部電圧が蓄積部１６ａに蓄積される。内部電圧生成回路１６は、入力電源から入力電圧が遮断された場合は、蓄積部１６ａに蓄積された内部電圧を信号処理部１２に供給する。なお、蓄積部１６ａとして、例えば、コンデンサ、あるいは、電池などが挙げられる。
【００１７】
電圧監視部１８は、入力電源から供給される入力電圧を監視しており、入力電圧が低下したと判断した場合は、異常信号を信号処理部１２に与える。すなわち、電圧監視部１８は、入力電源から供給される入力電圧が所定の閾値を下回った場合に、入力電圧が低下したと判断することで異常信号を生成し、生成した異常信号を信号処理部１２に与える。これにより電圧監視部１８は、入力電源から供給される入力電圧の遮断を検出し、検出結果を信号処理部１２に通知することができる。
【００１８】
次に、信号処理部１２をより具体的に説明する。信号処理部１２は、プロセッサ２０、メモリコントローラ２２、マスク信号生成部２４およびマスク部２６を有する。プロセッサ２０には、メモリコントローラ２２および図示しない入出力装置などの各種のデバイスがバス３０を介して接続される。
【００１９】
プロセッサ２０は、バス３０を介して各種のデバイスを制御するものであり、不揮発性メモリ１４に対してデータを書き込ませる場合には、バス３０を介して、書き込み要求をメモリコントローラ２２に与える。
【００２０】
メモリコントローラ２２は、プロセッサ２０からの書き込み要求に応じて制御信号を不揮発性メモリ１４に出力する。すなわち、メモリコントローラ２２は、プロセッサ２０から書き込み要求を受けると、その書き込み要求で指定されているデータを不揮発性メモリ１４に記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ１４に出力する。
【００２１】
また、メモリコントローラ２２は、書き込み要求で指定されているデータが書き込み中であるか否かを示すステータス情報を生成し、生成したステータス情報をマスク信号生成部２４に出力する。
【００２２】
メモリコントローラ２２は、プロセッサ２０からの書き込み要求で指定されているデータを不揮発性メモリ１４に記憶させるためのシーケンスを完了した場合には、その書き込み要求に対する応答として応答信号をプロセッサ２０に出力する。
【００２３】
マスク信号生成部２４は、電圧監視部１８によって入力電圧が低下したと判断された場合に、マスク処理を施すべき旨を通知するためのマスク信号を生成して出力する。
【００２４】
すなわち、マスク信号生成部２４は、電圧監視部１８から異常信号を受けると、その異常信号を受けた時点を契機としてマスク信号を生成する。また、マスク信号生成部２４は、異常信号を受けた時点を契機として、メモリコントローラ２２から出力されるステータス情報に基づいて、不揮発性メモリ１４へのデータの書き込みがなされているか否か認識する。
【００２５】
ここで、マスク信号生成部２４は、不揮発性メモリ１４へのデータの書き込みがなされていない場合は、生成したマスク信号をマスク部２６に出力する。一方、マスク信号生成部２４は、不揮発性メモリ１４へのデータの書き込みがなされている場合は、そのデータの書き込みが完了してから、生成したマスク信号をマスク部２６に出力する。
【００２６】
マスク部２６は、マスク信号生成部２４から出力されるマスク信号を受けると、メモリコントローラ２２から不揮発性メモリ１４に出力される制御信号に対してマスク処理を施す。つまり、マスク部２６は、メモリコントローラ２２から出力された制御信号を無効にすることで、不揮発性メモリ１４が書き込み動作しないようにする。
【００２７】
次に、制御装置１０のデータ書き込み方法について、メモリ制御処理とマスク処理とに分けて説明する。図２は、メモリ制御処理手順を示すフローチャートである。
【００２８】
メモリコントローラ２２は、所定時間を経過するたびにステップＳ１に進む。ステップＳ１において、メモリコントローラ２２は、プロセッサ２０から書き込み要求があったか否か判断する。ここで、メモリコントローラ２２は、プロセッサ２０から書き込み要求がなかった場合は、ステップＳ１に戻る。
【００２９】
一方、メモリコントローラ２２は、プロセッサ２０から書き込み要求があった場合は、ステップＳ２に進む。ステップＳ２において、メモリコントローラ２２は、書き込み要求で指定されているデータを不揮発性メモリ１４に記憶させるための制御信号を生成し、生成した制御信号を不揮発性メモリ１４に出力した後、ステップＳ３に進む。
【００３０】
ステップＳ３において、メモリコントローラ２２は、プロセッサ２０からの書き込み要求で指定されているデータを不揮発性メモリ１４に記憶させるためのシーケンスを完了したか否かを判断する。ここで、メモリコントローラ２２は、シーケンスを完了していないと判断した場合は、ステップＳ３に戻り、当該シーケンスを完了したと判断した場合は、ステップＳ４に進む。
【００３１】
ステップＳ４において、メモリコントローラ２２は、応答信号を生成してプロセッサ２０に出力することで、書き込み要求に対して応答した後、ステップＳ１に戻る。
【００３２】
このようにメモリコントローラ２２は、所定時間ごとにプロセッサ２０からの書き込み要求の有無を判断し、書き込み要求があった場合は、書き込み要求で指定されているデータを書き込むためのシーケンスを実行した後にその書き込み要求に対して応答する。
【００３３】
図３は、マスク処理手順を示すフローチャートである。このマスク処理手順が行われる前提として、内部電圧生成回路１６は、入力電源から供給される入力電圧に基づいて内部電圧を生成して信号処理部１２に出力するとともに、蓄積部１６ａに内部電圧を蓄積しているものとする。
【００３４】
ステップＳ１１において、電圧監視部１８は、入力電源から供給される入力電圧を監視し、その入力電圧が低下したか否かを判断する。ここで、電圧監視部１８は、所定の閾値を入力電圧が下回っていない場合は、入力電圧が低下していないと判断し、ステップＳ１１に戻る。
【００３５】
一方、電圧監視部１８は、所定の閾値を入力電圧が下回った場合は、入力電圧が低下したと判断し、ステップＳ１２に進む。ステップＳ１２において、マスク信号生成部２４は、マスク信号を生成し、ステップＳ１３に進む。ステップＳ１３において、マスク信号生成部２４は、メモリコントローラ２２から供給されるステータス情報に基づいて、不揮発性メモリ１４へのデータの書き込みがなされているか否か認識する。
【００３６】
ここで、マスク信号生成部２４は、不揮発性メモリ１４へのデータの書き込みがなされていない場合は、ステップＳ１４に進む。一方、マスク信号生成部２４は、不揮発性メモリ１４へのデータの書き込みがなされている場合は、そのデータの書き込みが完了するまで待機し、書き込みが完了すると、ステップＳ１４に進む。
【００３７】
ステップＳ１４において、マスク信号生成部２４は、ステップＳ１２で生成したマスク信号をマスク部２６に出力し、マスク部２６は、そのマスク信号を受けて、メモリコントローラ２２から不揮発性メモリ１４に出力される制御信号に対してマスク処理を施す。これによりマスク処理手順は終了する。
【００３８】
このように制御装置１０では、入力電圧が所定値よりも低下した際に、不揮発性メモリ１４へのデータの書き込みがなされているか否かが判断され、書き込みがなされているときには、そのデータの書き込みが完了してから、マスク処理が施される。
【００３９】
つまり、制御装置１０は、入力電圧の遮断時点で書き込み中のデータについてはそのまま書き込みを続行させる。一方、制御装置１０は、入力電圧の遮断時以降にプロセッサ２０から与えられる新規の書き込み要求をメモリコントローラ２２で受け付けるが、その書き込み要求で指定されるデータを不揮発性メモリ１４に記憶するための制御信号をマスクする。これにより、プロセッサ２０の書き込み要求をメモリコントローラ２２で拒否することなく、不揮発性メモリ１４に格納されているデータを保護することができる。
【００４０】
メモリコントローラ２２は、新規の書き込み要求を受け付けた場合、図２を用いて説明したように、入力電圧が低下していない通常時と同様に、その書き込み要求に対する応答として完了信号をプロセッサ２０に出力する。
【００４１】
したがって、新規の書き込み要求に対する応答をプロセッサ２０が処理するために要する時間のロスを避けることができ、またバス３０のハングアップおよび不必要な占有を避けることができる。
【００４２】
〔変形例〕
以上、本発明の一例として上記実施の形態が説明されたが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることはもちろんである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００４３】
例えば、上記実施の形態のマスク信号生成部２４は、電圧監視部１８によって入力電圧が低下したと判断された場合に、不揮発性メモリ１４へのデータの書き込みがなされているか否かを判断する前に、マスク信号を生成した。しかし、マスク信号生成部２４は、不揮発性メモリ１４へのデータの書き込みがなされているか否かを判断した以降にマスク信号を生成してもよい。
【００４４】
また、上記実施の形態では、電圧監視部１８が、内部電圧生成回路１６により生成された内部電圧で動作しなかったが、当該内部電圧で動作するようにしてもよい。
【００４５】
また、上記実施の形態では、制御装置１０が、工作機械または産業用ロボットに用いられる数値制御装置であったが、当該工作機械または産業用ロボット以外のものを制御する制御装置であってもよい。
【００４６】
〔技術的思想〕
上記実施の形態および変形例から把握し得る技術的思想について、以下に記載する。
【００４７】
（第１の技術的思想）
制御装置（１０）は、プロセッサ（２０）と不揮発性メモリ（１４）とを備えるものである。制御装置（１０）は、プロセッサ（２０）からの書き込み要求に応じて、データを不揮発性メモリ（１４）に記憶させるための制御信号を不揮発性メモリ（１４）に出力するメモリコントローラ（２２）と、入力電源から供給される入力電圧を監視する電圧監視部（１８）と、電圧監視部（１８）によって入力電圧が低下したと判断された場合に、マスク信号を生成して出力するマスク信号生成部（２４）と、マスク信号生成部（２４）から出力されるマスク信号を受けると、メモリコントローラ（２２）から不揮発性メモリ（１４）に出力される制御信号に対してマスク処理を施すマスク部（２６）と、を備える。
マスク信号生成部（２４）は、電圧監視部（１８）によって入力電圧が低下したと判断された場合に、不揮発性メモリ（１４）へのデータの書き込みがなされている場合は、そのデータの書き込みが完了してから、マスク信号を出力する。
【００４８】
これにより制御装置（１０）は、プロセッサ（２０）からの書き込み要求を受けながらも、不揮発性メモリ（１４）に格納されているデータを保護することができる。
【００４９】
メモリコントローラ（２２）は、不揮発性メモリ（１４）へのデータが書き込み中であるか否かを示すステータス情報をマスク信号生成部（２４）に出力するようにしてもよい。このようにすれば、マスク信号生成部（２４）は、メモリコントローラ（２２）からのステータス情報に基づいて、不揮発性メモリ（１４）へのデータの書き込みが完了してから、マスク信号を出力することができる。
【００５０】
制御装置（１０）は、入力電圧から内部電圧を生成する内部電圧生成回路（１６）を備え、少なくとも、プロセッサ（２０）、メモリコントローラ（２２）、マスク信号生成部（２４）、および、マスク部（２６）は、内部電圧で動作するようにしてもよい。このようにすれば、入力電圧が変化しても、プロセッサ（２０）、メモリコントローラ（２２）、マスク信号生成部（２４）、および、マスク部（２６）を安定して動作させ易い。
【００５１】
内部電圧生成回路（１６）は、内部電圧を蓄積する蓄積部（１６ａ）を含むようにしてもよい。このようにすれば、入力電源から入力電圧が遮断されても、蓄積部（１６ａ）に蓄積された内部電圧を用いて、プロセッサ（２０）、メモリコントローラ（２２）、マスク信号生成部（２４）、および、マスク部（２６）を動作させることができる。
【００５２】
（第２の技術的思想）
データ書き込み方法は、プロセッサ（２０）と不揮発性メモリ（１４）とを備える制御装置（１０）のデータ書き込み方法である。データ書き込み方法は、プロセッサ（２０）からの書き込み要求に応じて、データを不揮発性メモリ（１４）に記憶させるための制御信号を不揮発性メモリ（１４）に出力する出力ステップ（Ｓ２）と、入力電源から供給される入力電圧を監視する監視ステップ（Ｓ１２）と、監視ステップ（Ｓ１２）で入力電圧が低下したと判断された場合に、不揮発性メモリ（１４）に出力される制御信号に対してマスク処理を施すマスクステップ（Ｓ１４）と、を含む。
マスクステップ（Ｓ１４）は、監視ステップ（Ｓ１２）で入力電圧が低下したと判断された場合に、不揮発性メモリ（１４）へのデータの書き込みがなされているときには、そのデータの書き込みが完了してから、マスク処理を施す。
【００５３】
これにより、プロセッサ（２０）からの書き込み要求を受けながらも、不揮発性メモリ（１４）に格納されているデータを保護することができる。
【００５４】
不揮発性メモリ（１４）へのデータが書き込み中であるか否かを示すステータス情報に基づいて、不揮発性メモリ（１４）へのデータの書き込みがなされているか否かが判断されるようにしてもよい。
【００５５】
データ書き込み方法は、入力電圧から内部電圧を生成する生成ステップを含み、少なくとも、プロセッサ（２０）、制御信号を出力するメモリコントローラ（２２）、マスク処理を施すマスク部（２６）、および、マスク部（２６）がマスク処理を施すためのマスク信号を生成するマスク信号生成部（２４）は、生成ステップで生成される内部電圧で動作するようにしてもよい。このようにすれば、入力電圧が変化しても、プロセッサ（２０）、メモリコントローラ（２２）、マスク信号生成部（２４）、および、マスク部（２６）を安定して動作させ易い。
【００５６】
生成ステップは、内部電圧を蓄積部（１６ａ）に蓄積するようにしてもよい。このようにすれば、入力電源から入力電圧が遮断されても、蓄積部（１６ａ）に蓄積された内部電圧を用いて、プロセッサ（２０）、メモリコントローラ（２２）、マスク信号生成部（２４）、および、マスク部（２６）を動作させることができる。
【符号の説明】
【００５７】
１０…制御装置                          １２…信号処理部
１４…不揮発性メモリ                    １６…内部電圧生成回路
１８…電圧監視部                        ２０…プロセッサ
２２…メモリコントローラ                ２４…マスク信号生成部
２６…マスク部                          ３０…バス
【図１】
2019175221.tif 000003
【図２】
2019175221.tif 000004
【図３】
2019175221.tif 000005