(57)【特許請求の範囲】
【請求項１】
主電源から電力を供給されてデータを記憶する揮発性データ記憶部と、
前記揮発性データ記憶部に記憶された前記データを退避するための退避用不揮発性記憶部と、
前記揮発性データ記憶部に記憶された前記データを一時的に記憶するための一時退避用揮発性記憶部と、前記主電源からの前記電力の供給停止を表す信号を取得し、前記信号の取得に応じて、前記揮発性データ記憶部から前記データを取得し、取得した前記データを前記一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納するデータ退避制御部と、を含む制御部と、
前記主電源からの前記電力の供給が停止した場合に、前記揮発性データ記憶部と前記退避用不揮発性記憶部と前記制御部とに電力を供給するためのバックアップ電源部と、
前記制御部が前記信号を取得すると、前記バックアップ電源部から前記制御部および前記退避用不揮発性記憶部への電力の供給を開始する第１電源制御部と、
前記制御部が前記信号を取得すると、前記バックアップ電源部から前記揮発性データ記憶部への電力の供給を開始し、前記制御部が前記揮発性データ記憶部から前記一時退避用揮発性記憶部への前記データの一時退避を完了すると、前記バックアップ電源部から前記揮発性データ記憶部への前記電力の供給を停止する第２電源制御部と、
前記退避用不揮発性記憶部とは異なる定期格納用不揮発性記憶部と、
前記揮発性データ記憶部における前記データの格納領域ごとに前記データの書き込みが実行された回数を記録する回数記録部と、を備え、
前記制御部は、あらかじめ決められた間隔で、前記揮発性データ記憶部に格納された前記データであって前記回数があらかじめ定められた基準値未満の前記格納領域に格納された前記データを、前記定期格納用不揮発性記憶部に格納する定期格納制御部をさらに含み、
前記データ退避制御部は、前記信号の取得に応じて、前記定期格納制御部が前記定期格納用不揮発性記憶部に前記データを格納した後に前記揮発性データ記憶部に書き込まれた前記データと、前記回数があらかじめ定められた基準値以上の前記格納領域に格納された前記データと、を含むデータを取得し、取得した前記データを前記一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する、
データ処理装置。
【請求項２】
前記回数記録部は、あらかじめ決められた間隔で、前記回数の記録を初期化する、
請求項１に記載のデータ処理装置。
【請求項３】
前記制御部は、前記揮発性データ記憶部から前記データを取得して前記一時退避用揮発性記憶部に一時的に記憶させる処理と、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する処理と、を並行して実行する、
請求項１又は２に記載のデータ処理装置。
【請求項４】
請求項１から３のいずれか１項に記載のデータ処理装置と、
情報処理装置と、を備え、
前記情報処理装置は、
前記揮発性データ記憶部に格納されたデータのデータ量と、前記退避用不揮発性記憶部の空き領域と、を表す情報を前記データ処理装置から取得する情報取得部と、
前記情報取得部が取得した前記情報に基づいて、前記退避用不揮発性記憶部の前記空き領域が前記揮発性データ記憶部に格納されたデータの保存に必要な領域より小さいか否かを判定する判定部と、
前記判定部が前記退避用不揮発性記憶部の前記空き領域が前記揮発性データ記憶部に格納されたデータの保存に必要な前記領域より小さいと判定した場合に、データ退避ができない旨のメッセージを表示する表示部と、を備える、
データ処理システム。
【請求項５】
主電源から電力を供給されてデータを記憶する揮発性データ記憶部から、退避用不揮発性記憶部に前記データを退避する方法であって、
前記主電源からの前記電力の供給停止を表す信号を取得し、前記信号の取得に応じて、前記揮発性データ記憶部から前記データを取得し、取得した前記データを一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する退避ステップと、
前記信号を取得すると、バックアップ電源から前記揮発性データ記憶部への電力の供給を開始し、前記退避ステップで前記揮発性データ記憶部から前記一時退避用揮発性記憶部への前記データの一時退避を完了すると、前記バックアップ電源から前記揮発性データ記憶部への前記電力の供給を停止する電源制御ステップと、
前記揮発性データ記憶部における前記データの格納領域ごとに前記データの書き込みが実行された回数を記録する回数記録ステップと、
あらかじめ決められた間隔で、前記揮発性データ記憶部に格納された前記データであって前記回数があらかじめ定められた基準値未満の前記格納領域に格納された前記データを、前記退避用不揮発性記憶部とは異なる定期格納用不揮発性記憶部に格納する定期格納ステップと、を備え、
前記退避ステップでは、前記信号の取得に応じて、前記定期格納ステップにて前記定期格納用不揮発性記憶部に前記データを格納した後に前記揮発性データ記憶部に書き込まれた前記データと、前記回数があらかじめ定められた基準値以上の前記格納領域に格納された前記データと、を含むデータを取得し、取得した前記データを前記一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する、
データ退避方法。
【請求項６】
コンピュータに、主電源から電力を供給されてデータを記憶する揮発性データ記憶部から、退避用不揮発性記憶部に前記データを退避する処理を実行させるためのプログラムであって、
前記主電源からの前記電力の供給停止を表す信号を取得し、前記信号の取得に応じて、前記揮発性データ記憶部から前記データを取得し、取得した前記データを一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する退避ステップと、
前記信号を取得すると、バックアップ電源から前記揮発性データ記憶部への電力の供給を開始し、前記退避ステップで前記揮発性データ記憶部から前記一時退避用揮発性記憶部への前記データの一時退避を完了すると、前記バックアップ電源から前記揮発性データ記憶部への前記電力の供給を停止する電源制御ステップと、
前記揮発性データ記憶部における前記データの格納領域ごとに前記データの書き込みが実行された回数を記録する回数記録ステップと、
あらかじめ決められた間隔で、前記揮発性データ記憶部に格納された前記データであって前記回数があらかじめ定められた基準値未満の前記格納領域に格納された前記データを、前記退避用不揮発性記憶部とは異なる定期格納用不揮発性記憶部に格納する定期格納ステップと、
を実行させ、
前記退避ステップでは、前記信号の取得に応じて、前記定期格納ステップにて前記定期格納用不揮発性記憶部に前記データを格納した後に前記揮発性データ記憶部に書き込まれた前記データと、前記回数があらかじめ定められた基準値以上の前記格納領域に格納された前記データと、を含むデータを取得し、取得した前記データを前記一時退避用揮発性記憶部に一時的に記憶させ、前記一時退避用揮発性記憶部に一時的に記憶させた前記データを前記退避用不揮発性記憶部に格納する、
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理装置、データ処理システム、データ退避方法およびプログラムに関する。
【背景技術】
【０００２】
高速処理を実行するデータ処理装置は、処理対象または処理結果のデータを揮発性メモリに格納するため、なんらかの原因で電力の供給が遮断された場合にデータが消失するリスクがある。そこで、揮発性メモリに格納されているデータを退避する技術が開発されている。例えば、特許文献１には、予期しない電源消失のイベントが発生した場合に、バックアップ電源から供給される電力を使って揮発性メモリに格納されたデータを、コントローラの保存部を経由して不揮発性メモリに保存する情報処理システムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１８−１５６１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載された技術では、揮発性メモリから不揮発性メモリへデータを退避する際に、揮発性メモリと、保存部を含むコントローラと、不揮発性メモリとにバックアップ電源から電力を供給し続けるため、バックアップ電源の電力量を増やすために、蓄電素子の容量を多くするか高価なものとする必要があり、データ処理装置の設計の制約を引き起こすか、またはコストが増える。【０００５】
本発明は、上記実情に鑑みてなされたものであり、電力の供給が遮断された場合のデータ退避に必要なバックアップ電源の容量を少なくすることができるデータ処理装置、データ処理システム、データ退避方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明のデータ処理装置は、揮発性データ記憶部と、退避用不揮発性記憶部と、制御部と、バックアップ電源部と、第１電源制御部と、第２電源制御部と、定期格納用不揮発性記憶部と、回数記録部と、を備える。揮発性データ記憶部は、主電源から電力を供給されてデータを記憶する。退避用不揮発性記憶部は、揮発性データ記憶部に記憶されたデータを退避するためのものである。制御部は、揮発性データ記憶部に記憶されたデータを一時的に記憶するための一時退避用揮発性記憶部と、主電源からの電力の供給停止を表す信号を取得し、信号の取得に応じて、揮発性データ記憶部からデータを取得し、取得したデータを一時退避用揮発性記憶部に一時的に記憶させ、一時退避用揮発性記憶部に一時的に記憶させたデータを退避用不揮発性記憶部に格納するデータ退避制御部と、を含む。バックアップ電源部は、主電源からの電力の供給が停止した場合に、揮発性データ記憶部と退避用不揮発性記憶部と制御部とに電力を供給するためのものである。第１電源制御部は、制御部が信号を取得すると、バックアップ電源部から制御部および退避用不揮発性記憶部への電力の供給を開始する。第２電源制御部は、制御部が信号を取得すると、バックアップ電源部から揮発性データ記憶部への電力の供給を開始し、制御部が揮発性データ記憶部から一時退避用揮発性記憶部へのデータの一時退避を完了すると、バックアップ電源部から揮発性データ記憶部への電力の供給を停止する。定期格納用不揮発性記憶部は、退避用不揮発性記憶部とは異なる。回数記録部は、揮発性データ記憶部におけるデータの格納領域ごとにデータの書き込みが実行された回数を記録する。制御部は、あらかじめ決められた間隔で、揮発性データ記憶部に格納されたデータであって回数があらかじめ定められた基準値未満の格納領域に格納されたデータを、定期格納用不揮発性記憶部に格納する定期格納制御部をさらに含む。データ退避制御部は、信号の取得に応じて、定期格納制御部が定期格納用不揮発性記憶部にデータを格納した後に揮発性データ記憶部に書き込まれたデータと、回数があらかじめ定められた基準値以上の格納領域に格納されたデータと、を含むデータを取得し、取得したデータを一時退避用揮発性記憶部に一時的に記憶させ、一時退避用揮発性記憶部に一時的に記憶させたデータを退避用不揮発性記憶部に格納する。
【発明の効果】
【０００７】
本発明によれば、揮発性データ記憶部から一時退避用揮発性記憶部へのデータの一時退避を完了すると、バックアップ電源部から揮発性データ記憶部への電力の供給を停止することによって、揮発性データ記憶部から退避用不揮発性記憶部へデータを退避する際に使用するバックアップ電源の容量を少なくすることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施の形態１に係るＰＬＣのハードウェア構成図
【図２】本発明の実施の形態１に係るＡＳＩＣのハードウェア構成図
【図３】本発明の実施の形態１に係るデータ退避処理のフローチャート
【図４】本発明の実施の形態２に係るＰＬＣのハードウェア構成図
【図５】本発明の実施の形態２に係るＡＳＩＣのハードウェア構成図
【図６】本発明の実施の形態２に係るデータ格納処理のフローチャート
【図７】本発明の実施の形態３に係るＡＳＩＣのハードウェア構成図
【図８】本発明の実施の形態３に係るデータ書き込み処理のフローチャート
【図９】本発明の実施の形態３に係るデータ格納処理のフローチャート
【図１０】本発明の実施の形態４に係る制御システムのハードウェア構成図
【図１１】本発明の実施の形態４に係る退避可否通知処理のフローチャート
【発明を実施するための形態】
【０００９】
（実施の形態１）
以下、本発明のデータ処理装置をＰＬＣ（Programmable Logic Controller）に適用した実施の形態について、図面を参照して説明する。
【００１０】
本実施の形態に係るＰＬＣ１は、各種機器を制御するための装置である。ＰＬＣ１は、各種機器に関する大量のデータを取得して記憶し、記憶したデータを高速に処理する。具体的に、ＰＬＣ１は、図１に示されるように、データ処理を実行する制御ユニット１０と、制御ユニット１０への電力の供給を制御する電源ユニット２０と、を備える。また、ＰＬＣ１は、サーボアンプ、サーボモータ等を制御するためのモーションユニット、装置のＯＮ／ＯＦＦ信号の受け渡しを実行するための入出力ユニット、センサを含むアナログデバイスとの間でデータを入出力するためのアナログユニット、上位の情報システム、他の制御システム等に接続するためのネットワークユニット等の、その他の図示しないユニットをさらに備えても良い。
【００１１】
制御ユニット１０は、特定用途向けの電子回路を集積したＡＳＩＣ（Application Specific Integrated Circuit）１００と、揮発性の記憶媒体である揮発性メモリ２００と、不揮発性の記憶媒体である不揮発性メモリ３００と、バックアップ用の電力を供給するバックアップ回路４００と、を備える。
【００１２】
ＡＳＩＣ１００は、特定用途向けの電子回路を集積した集積回路である。ＡＳＩＣ１００は、電源ユニット２０から電線３１を介して供給される電力によって駆動して、通信線４１を介して接続されている揮発性メモリ２００からデータを取得する。ＡＳＩＣ１００の内部のハードウェア構成については後述する。ＡＳＩＣ１００は、請求の範囲に記載された制御部の一例である。
【００１３】
揮発性メモリ２００は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置である。揮発性メモリ２００には、ＡＳＩＣ１００の処理対象である各種機器のデータ、ＡＳＩＣ１００が実行する処理を規定するプログラム等が格納されている。揮発性メモリ２００には、電線３１を介して電源ユニット２０から電力が供給されている。揮発性メモリ２００は、請求の範囲に記載された揮発性データ記憶部の一例である。
【００１４】
不揮発性メモリ３００は、ＭＲＡＭ（Magnetoresistive Random Access Memory）、ＰＲＡＭ（Phase change Random Access Memory）、ＲｅＲＡＭ（Resistive Random Access Memory）、ＦｅＲＡＭ（Ferroelectric Random Access Memory）、フラッシュメモリ等の不揮発性の記憶装置である。不揮発性メモリ３００は、データの退避先として機能する。不揮発性メモリ３００は、通信線４２を介してＡＳＩＣ１００と接続されている。不揮発性メモリ３００は、請求の範囲に記載された退避用不揮発性記憶部の一例である。
【００１５】
バックアップ回路４００は、データ退避用の電力を供給する電子回路である。具体的には、バックアップ回路４００は、電力を供給する蓄電回路４１０と、揮発性メモリ２００に供給する電力を制御する揮発性メモリ用電源制御回路４２０と、不揮発性メモリ３００に供給する電力を制御する不揮発性メモリ用電源制御回路４３０と、を備える。
【００１６】
蓄電回路４１０は、データ退避用の電力を供給するための蓄電回路である。蓄電回路４１０は、電源ユニット２０と電線３７を介して接続されている。具体的には、蓄電回路４１０は、コンデンサを備える。そして、蓄電回路４１０のコンデンサには、電源ユニット２０から電力が供給され、電荷が蓄積される。蓄電回路４１０は、電線３５を介して揮発性メモリ用電源制御回路４２０と接続されている。また、蓄電回路４１０は、電線３６を介して不揮発性メモリ用電源制御回路４３０と接続されている。蓄電回路４１０は、請求の範囲に記載されたバックアップ電源部の一例である。
【００１７】
揮発性メモリ用電源制御回路４２０は、揮発性メモリ２００に供給する電力を制御する電子回路である。揮発性メモリ用電源制御回路４２０は、信号線５１を介してＡＳＩＣ１００と接続されている。また、揮発性メモリ用電源制御回路４２０は、電線３２を介して揮発性メモリ２００と接続されている。具体的には、揮発性メモリ用電源制御回路４２０は、リレー素子を備える。リレー素子は、ＡＳＩＣ１００から電源制御信号が送信されている間はＯＮとなり、電源制御信号が送信されていない間はＯＦＦとなる。リレー素子がＯＮとなると、電線３２と電線３５が接続されて、揮発性メモリ２００に電力が供給される。リレー素子がＯＦＦとなると、電線３２と電線３５とが切断されて、揮発性メモリ２００に電力が供給されない。揮発性メモリ用電源制御回路４２０は、請求の範囲に記載された第２電源制御部の一例である。
【００１８】
不揮発性メモリ用電源制御回路４３０は、不揮発性メモリ３００およびＡＳＩＣ１００に供給する電力を制御する電子回路である。不揮発性メモリ用電源制御回路４３０は、信号線５２を介してＡＳＩＣ１００と接続されている。また、不揮発性メモリ用電源制御回路４３０は、電線３３を介して不揮発性メモリ３００と接続され、電線３４を介してＡＳＩＣ１００と接続されている。具体的には、不揮発性メモリ用電源制御回路４３０は、リレー素子を備える。リレー素子は、ＡＳＩＣ１００から電源制御信号が送信されている間はＯＮとなり、電源制御信号が送信されていない間はＯＦＦとなる。リレー素子がＯＮとなると、電線３３と電線３６とが接続されるとともに、電線３４と電線３６とが接続されて、不揮発性メモリ３００およびＡＳＩＣ１００に電力が供給される。リレー素子がＯＦＦとなると、電線３３と電線３６とが切断されるとともに、電線３４と電線３６とが切断されて、不揮発性メモリ３００およびＡＳＩＣ１００に電力が供給されない。不揮発性メモリ用電源制御回路４３０は、請求の範囲に記載された第１電源制御部の一例である。
【００１９】
電源ユニット２０は、制御ユニット１０に電力を供給する電源装置である。電源ユニット２０は、商用電源を入力する電源入力回路２１と、停電を検出する停電検出回路２２と、停電時に電力を供給する蓄電回路２３と、を備える。
【００２０】
電源入力回路２１は、商用電源に接続されている。そして、電源入力回路２１は、商用電源から供給された電力を、電線３１を介して制御ユニット１０のＡＳＩＣ１００および揮発性メモリ２００に供給し、電線３７を介して蓄電回路４１０に供給する。
【００２１】
停電検出回路２２は、電源入力回路２１と接続され、電源入力回路２１への商用電源の電力の供給を監視し、電力の供給が停止したことを検出すると、信号線５３を介して制御ユニット１０のＡＳＩＣ１００に電力の供給停止を表す電源断信号を送信する。
【００２２】
蓄電回路２３は、バッテリ、コンデンサ等の電荷を蓄積する回路である。蓄電回路２３には、一時的に電力を供給するための一定量の電荷が蓄積され、蓄電回路２３は、電源入力回路２１からの電力の供給が停止した場合に、蓄積された電荷を放出して、電線３１を介して制御ユニット１０のＡＳＩＣ１００および揮発性メモリ２００に電力を供給する。これによって、ＡＳＩＣ１００および揮発性メモリ２００は、電源入力回路２１からの電力の供給が停止した場合でも、直ちに動作を停止せず、一定時間動作することが可能となる。
【００２３】
次に、ＡＳＩＣ１００のハードウェア構成について、図２を参照して説明する。
【００２４】
ＡＳＩＣ１００は、データ処理を実行するＣＰＵ１１０と、電源断信号を受信する電源断信号受信回路１２０と、データ退避を制御するデータ退避制御回路１３０と、データを一時的に退避するための一時退避用揮発性メモリ１４０と、電源制御信号を送信する電源制御信号送信回路１５０と、を備える。
【００２５】
ＣＰＵ１１０は、データ処理を実行するプロセッサである。ＣＰＵ１１０は、通信線４１を介して揮発性メモリ２００からプログラムおよびデータを読み出して、プログラムに規定された処理を実行する。
【００２６】
電源断信号受信回路１２０は、電源断信号を受信する電子回路である。電源断信号受信回路１２０は、データ退避制御回路１３０および電源制御信号送信回路１５０と通信可能に接続されている。電源断信号受信回路１２０は、電源ユニット２０の停電検出回路２２から電源断信号を受信すると、データ退避制御の開始をデータ退避制御回路１３０に要求するとともに、電源制御信号の送信の開始を電源制御信号送信回路１５０に要求する。
【００２７】
データ退避制御回路１３０は、データ退避を制御する電子回路である。具体的には、
データ退避制御回路１３０は、電源断信号受信回路１２０からデータ退避処理の開始を要求する信号を受信すると、通信線４１を介して揮発性メモリ２００からデータを読み出して、一時退避用揮発性メモリ１４０に読み出したデータを書き込む。そして、データ退避制御回路１３０は、一時退避用揮発性メモリ１４０へのデータの書き込みが完了すると、揮発性メモリ用電源制御回路４２０への電源制御信号の送信の停止を電源制御信号送信回路１５０に要求する。また、データ退避制御回路１３０は、一時退避用揮発性メモリ１４０に書き込んだデータを読み出して、不揮発性メモリ３００に書き込む。そして、データ退避制御回路１３０は、不揮発性メモリ３００へのデータの書き込みが完了すると、不揮発性メモリ用電源制御回路４３０への電源制御信号の送信の停止を電源制御信号送信回路１５０に要求する。データ退避制御回路１３０は、請求の範囲に記載されたデータ退避制御部の一例である。
【００２８】
一時退避用揮発性メモリ１４０は、一時的にデータを退避するための揮発性メモリである。一時退避用揮発性メモリ１４０は、データ退避制御回路１３０と通信可能に接続されている。一時退避用揮発性メモリ１４０は、請求の範囲に記載された一時退避用揮発性記憶部の一例である。
【００２９】
電源制御信号送信回路１５０は、揮発性メモリ用電源制御回路４２０および不揮発性メモリ用電源制御回路４３０に電源制御信号を送信する。具体的には、電源制御信号送信回路１５０は、電源断信号受信回路１２０から電源制御信号の送信の開始を要求されると、揮発性メモリ用電源制御回路４２０および不揮発性メモリ用電源制御回路４３０への電源制御信号の送信を開始する。また、電源制御信号送信回路１５０は、データ退避制御回路１３０から、揮発性メモリ用電源制御回路４２０または不揮発性メモリ用電源制御回路４３０への電源制御信号の送信の停止を要求されると、揮発性メモリ用電源制御回路４２０または不揮発性メモリ用電源制御回路４３０への電源制御信号の送信を停止する。
【００３０】
次に、ＰＬＣ１がデータを退避する動作について、図面を参照して説明する。
【００３１】
電源ユニット２０は、正常動作においては、ＡＳＩＣ１００、揮発性メモリ２００おおよび蓄電回路４１０に電力を供給している。ＡＳＩＣ１００のＣＰＵ１１０は、電源ユニット２０から供給された電力によって駆動され、揮発性メモリ２００に格納されたデータを読み出してデータ処理を実行する。そして、なんらかの異常が発生して電力の供給が停止すると、電源ユニット２０の停電検出回路２２は、電源の停止を検出して、電源断信号をＡＳＩＣ１００に送信する。すると、電源ユニット２０の蓄電回路２３は、ＡＳＩＣ１００および揮発性メモリ２００に電力を供給する。電源ユニット２０は、請求の範囲に記載された主電源の一例である。
【００３２】
ＡＳＩＣ１００は、電源断信号が送信されると、図３に示されるデータ退避処理を開始する。また、ＡＳＩＣ１００は、蓄電回路２３に蓄積された電荷の範囲内で、一定時間、電力を供給される。具体的には、ＡＳＩＣ１００の電源断信号受信回路１２０は、電源ユニット２０から電源断信号を受信する（ステップＳ１１）。そして、電源断信号受信回路１２０は、電源制御信号送信回路１５０に電源制御信号の送信を要求するとともに、データ退避制御回路１３０にデータ退避処理の開始を要求する。続いて、電源制御信号送信回路１５０は、電源制御信号の送信を開始する（ステップＳ１２）。具体的には、電源制御信号送信回路１５０は、揮発性メモリ用電源制御回路４２０および不揮発性メモリ用電源制御回路４３０のそれぞれに対する電源制御信号の送信を開始する。バックアップ回路４００の揮発性メモリ用電源制御回路４２０と、不揮発性メモリ用電源制御回路４３０とは、電源制御信号を受信している間、揮発性メモリ２００、不揮発性メモリ３００およびＡＳＩＣ１００に対して蓄電回路４１０からの電力を供給する。
【００３３】
ＡＳＩＣ１００は、蓄電回路４１０と接続後にバックアップ回路４００から供給される電力によって駆動される。そしてＡＳＩＣ１００のデータ退避制御回路１３０は、揮発性メモリ２００のデータを一時退避用揮発性メモリ１４０に書き込む（ステップＳ１３）。具体的には、データが格納された揮発性メモリ２００のデータの格納領域を特定するメモリアドレスの一覧を取得して、取得したメモリアドレスごとのデータを読み出す。そして、読み出したデータを一時退避用揮発性メモリ１４０に書き込む。
【００３４】
続いて、データ退避制御回路１３０は、揮発性メモリ２００のすべてのデータを一時退避用揮発性メモリ１４０に書き込んだか否かを判定する（ステップＳ１４）。具体的には、データ退避制御回路１３０は、メモリアドレスごとの一時退避用揮発性メモリ１４０への書き込みが完了すると、揮発性メモリ２００のメモリアドレスの一覧の最後のメモリアドレスが処理中のメモリアドレスであるか否かを判定することによって、すべてのデータを一時退避用揮発性メモリ１４０に書き込んだか否かを判定する。そして、データ退避制御回路１３０は、揮発性メモリ２００のすべてのデータを一時退避用揮発性メモリ１４０に書き込んでいないと判定すると（ステップＳ１４：Ｎｏ）、ステップＳ１３の処理に戻り、次のメモリアドレスに格納されたデータを一時退避用揮発性メモリ１４０に書き込む。
【００３５】
データ退避制御回路１３０は、揮発性メモリ２００のすべてのデータを一時退避用揮発性メモリ１４０に書き込んだと判定すると（ステップＳ１４：Ｙｅｓ）、揮発性メモリ用電源制御回路４２０への電源制御信号の送信の停止を電源制御信号送信回路１５０に要求する。そして、電源制御信号送信回路１５０は、揮発性メモリ用電源制御回路４２０への電源制御信号の送信を停止する（ステップＳ１５）。バックアップ回路４００の揮発性メモリ用電源制御回路４２０は、電源制御信号の送信が停止されると、揮発性メモリ２００に対する蓄電回路４１０からの電力の供給を遮断する。ステップＳ１４およびステップＳ１５の処理は、請求の範囲に記載された電源制御ステップの一例である。
【００３６】
続いて、データ退避制御回路１３０は、一時退避用揮発性メモリ１４０のデータを不揮発性メモリ３００に書き込む（ステップＳ１６）。具体的には、データが格納された一時退避用揮発性メモリ１４０のメモリアドレスの一覧を取得して、取得したメモリアドレスごとのデータを読み出す。そして、読み出したデータを不揮発性メモリ３００に書き込む。ステップＳ１３およびステップＳ１６の処理は、請求の範囲に記載された退避ステップの一例である。
【００３７】
続いて、データ退避制御回路１３０は、一時退避用揮発性メモリ１４０のすべてのデータを不揮発性メモリ３００に書き込んだか否かを判定する（ステップＳ１７）。具体的には、データ退避制御回路１３０は、メモリアドレスごとの不揮発性メモリ３００への書き込みが完了すると、一時退避用揮発性メモリ１４０のメモリアドレスの一覧の最後のメモリアドレスが処理中のメモリアドレスであるか否かを判定することによって、すべてのデータを不揮発性メモリ３００に書き込んだか否かを判定する。そして、データ退避制御回路１３０は、一時退避用揮発性メモリ１４０のすべてのデータを不揮発性メモリ３００に書き込んでいないと判定すると（ステップＳ１７：Ｎｏ）、ステップＳ１６の処理に戻り、次のメモリアドレスに格納されたデータを不揮発性メモリ３００に書き込む。
【００３８】
データ退避制御回路１３０は、一時退避用揮発性メモリ１４０のすべてのデータを不揮発性メモリ３００に書き込んだと判定すると（ステップＳ１７：Ｙｅｓ）、不揮発性メモリ用電源制御回路４３０への電源制御信号の送信の停止を電源制御信号送信回路１５０に要求する。そして、電源制御信号送信回路１５０は、不揮発性メモリ用電源制御回路４３０への電源制御信号の送信を停止する（ステップＳ１８）。バックアップ回路４００の不揮発性メモリ用電源制御回路４３０は、電源制御信号の送信が停止されると、不揮発性メモリ３００およびＡＳＩＣ１００に対する蓄電回路４１０からの電力の供給を遮断する。
【００３９】
このようにして、ＰＬＣ１は、なんらかの異常によって電源ユニット２０から制御ユニット１０への電力の供給が停止した場合に、バックアップ回路４００から電力を供給して、揮発性メモリ２００に格納されたデータを不揮発性メモリ３００に格納することができる。
【００４０】
本実施の形態に係るＰＬＣ１は、揮発性メモリ２００に格納されたデータをＡＳＩＣ１００の一時退避用揮発性メモリ１４０に書き込む処理が完了すると、揮発性メモリ２００への電力の供給を停止する。例えば、退避元である揮発性メモリ２００のデータをＡＳＩＣ１００の一時退避用揮発性メモリ１４０に書き込み、ＡＳＩＣ１００の一時退避用揮発性メモリ１４０のデータを不揮発性メモリ３００に書き込み、当該書き込みが完了してから揮発性メモリ２００への電力の供給を停止する構成とすると、比較的に容量の多いコンデンサを使用する必要がある。しかし、本実施の形態に係るＰＬＣ１は、退避元である揮発性メモリ２００のデータをＡＳＩＣ１００の一時退避用揮発性メモリ１４０に書き込み完了した段階で揮発性メモリ２００への電力の供給を停止するため、バックアップ回路４００が備えるべきコンデンサの容量を、従来技術よりも少なくできる。
【００４１】
（実施の形態２）
実施の形態１では、揮発性メモリ２００のすべてのデータを不揮発性メモリ３００に格納する例を示した。実施の形態２では、運用中に定期的にデータを格納するための不揮発性メモリと、電源停止発生時にデータを格納するための不揮発性メモリの２つの退避先にデータを格納する例を示す。本実施の形態では、実施の形態１と異なる点を中心に説明する。
【００４２】
本実施の形態に係る制御ユニット１０は、図４に示されるように、定期的にデータを格納するための定期格納用不揮発性メモリ３１０と、電源停止発生時にデータを退避するための退避用不揮発性メモリ３２０と、をさらに備える。
【００４３】
定期格納用不揮発性メモリ３１０は、定期的にデータを格納するための不揮発性の記憶装置である。定期格納用不揮発性メモリ３１０は、通信線４３を介してＡＳＩＣ１００と接続されている。また、定期格納用不揮発性メモリ３１０には、電線３１を介して電源ユニット２０から電力が供給されている。定期格納用不揮発性メモリ３１０は、請求の範囲に記載された定期格納用不揮発性記憶部の一例である。
【００４４】
退避用不揮発性メモリ３２０は、電源停止発生時にデータを退避するための不揮発性の記憶装置である。退避用不揮発性メモリ３２０は、通信線４４を介してＡＳＩＣ１００と接続されている。また、退避用不揮発性メモリ３２０は、電線３８を介して不揮発性メモリ用電源制御回路４３０と接続されている。退避用不揮発性メモリ３２０は、請求の範囲に記載された退避用不揮発性記憶部の一例である。
【００４５】
次に、本実施の形態に係るＡＳＩＣ１００のハードウェア構成について、図５を参照して説明する。
【００４６】
本実施の形態に係るＡＳＩＣ１００は、定期的なデータの格納を制御する定期格納制御回路１６０と、退避データのメモリアドレスを表す情報を格納するための退避アドレス用揮発性メモリ１６１と、をさらに備える。
【００４７】
定期格納制御回路１６０は、揮発性メモリ２００のデータを定期的に定期格納用不揮発性メモリ３１０に格納する制御を行う電子回路である。具体的には、定期格納制御回路１６０は、定期的に、例えば１日ごとに、揮発性メモリ２００のデータを定期格納用不揮発性メモリ３１０に格納する。また、定期格納制御回路１６０は、定期格納用不揮発性メモリ３１０へのデータの格納が完了すると、退避アドレス用揮発性メモリ１６１に格納された情報を削除する。定期格納制御回路１６０は、請求の範囲に記載された定期格納制御部の一例である。
【００４８】
退避アドレス用揮発性メモリ１６１は、退避データのメモリアドレスを表す情報を格納するための揮発性メモリである。ＣＰＵ１１０は、運用中に揮発性メモリ２００にデータを書き込むと、書き込んだデータのメモリアドレスを表す情報を退避アドレス用揮発性メモリ１６１に書き込む。
【００４９】
データ退避制御回路１３０は、退避する対象のデータを、退避アドレス用揮発性メモリ１６１に書き込まれたメモリアドレスに対応するデータに限定して、退避用不揮発性メモリ３２０をデータ退避先とする退避処理を、実施の形態１と同様に実行する。
【００５０】
次に、本実施の形態に係るＰＬＣ１の動作について、図面を参照して説明する。
【００５１】
電源ユニット２０は、正常動作においては、ＡＳＩＣ１００、揮発性メモリ２００、蓄電回路４１０および定期格納用不揮発性メモリ３１０に電力を供給している。ＡＳＩＣ１００のＣＰＵ１１０は、電源ユニット２０から供給された電力によって駆動され、揮発性メモリ２００に格納されたデータを読み出してデータ処理を実行する。そして、ＣＰＵ１１０は、揮発性メモリ２００にデータを書き込む処理、すなわちデータの登録または更新処理を実行すると、書き込んだデータのメモリアドレスを表す情報を退避アドレス用揮発性メモリ１６１に格納する。
【００５２】
一方、定期格納制御回路１６０は、定期的に、例えば１日ごとに、図６に示されるデータ格納処理を開始する。定期格納制御回路１６０は、データ格納処理を開始すると、揮発性メモリ２００のデータを定期格納用不揮発性メモリ３１０に書き込む（ステップＳ２１）。
【００５３】
続いて、定期格納制御回路１６０は、退避アドレス用揮発性メモリ１６１の情報を削除する（ステップＳ２２）。そして、定期格納制御回路１６０は、データ格納処理を終了する。
【００５４】
一方、データ退避制御回路１３０は、図３に示されるデータ退避処理のステップＳ１３およびステップＳ１４における対象データを、揮発性メモリ２００のすべてのデータとする代わりに、揮発性メモリ２００のデータのうち、退避アドレス用揮発性メモリ１６１に格納された情報に含まれるメモリアドレスに対応するデータとする。
【００５５】
本実施の形態に係るＰＬＣ１によれば、データ退避処理の対象データが、揮発性メモリ２００に格納されたデータのうち、定期格納用不揮発性メモリ３１０に格納されていないデータに限定される。これによって、データ退避処理の処理時間が短くなり、バックアップ回路４００の蓄電回路４１０に蓄積すべき電荷が少なくなる。さらに、揮発性メモリ２００に格納されたデータの更新頻度に応じて、退避用不揮発性メモリ３２０に必要なデータ容量も少なくなる。また、定期格納用不揮発性メモリ３１０は、電源ユニット２０から電力が供給されている間にデータが格納されるため、退避用不揮発性メモリ３２０よりも低速の不揮発性メモリで良い。
【００５６】
本実施の形態において、データ格納処理を定期的に実行する例を示したが、あらかじめ実行するタイミングが規定されていれば良い。例えば、時間単位で規定されていても良いし、ＣＰＵ１１０が実行するプログラムの実行回数を単位として規定されていても良い。
【００５７】
（実施の形態３）
実施の形態２では、定期格納用不揮発性メモリ３１０に揮発性メモリ２００のデータをすべて格納する例を示した。実施の形態３では、定期格納用不揮発性メモリ３１０に格納するデータと退避用不揮発性メモリ３２０に格納するデータとを区別する例を示す。本実施の形態では、実施の形態２と異なる点を中心に説明する。
【００５８】
本実施の形態に係るＡＳＩＣ１００は、図７に示されるように、揮発性メモリ２００への書き込み回数をカウントするカウント回路１７０と、書き込み回数を格納するためのカウント用揮発性メモリ１７１と、書き込み回数に基づいて格納先を振り分ける格納先振分回路１７２と、書き込みが低頻度のメモリアドレスを表す情報を格納するための低頻度アドレス用揮発性メモリ１７３と、書き込みが高頻度のメモリアドレスを表す情報を格納するための高頻度アドレス用揮発性メモリ１７４と、をさらに備える。
【００５９】
カウント回路１７０は、揮発性メモリ２００への書き込み回数をカウントする電子回路である。カウント回路１７０は、ＣＰＵ１１０およびカウント用揮発性メモリ１７１と通信可能に接続されている。具体的には、カウント回路１７０は、ＣＰＵ１１０から書き込みを行ったメモリアドレスを表す信号を受信して、当該メモリアドレスに関連付けられた書き込み回数をカウント用揮発性メモリ１７１に記録する。
【００６０】
カウント用揮発性メモリ１７１は、書き込み回数を格納するための揮発性メモリである。カウント用揮発性メモリ１７１は、カウント回路１７０および格納先振分回路１７２と通信可能に接続されている。カウント用揮発性メモリ１７１に格納される情報は、カウント回路１７０によって書き込まれ、メモリアドレスと書き込み回数が関連付けられた情報である。カウント回路１７０とカウント用揮発性メモリ１７１とは、協働して、請求の範囲に記載された回数記録部の一例となる。
【００６１】
格納先振分回路１７２は、カウント用揮発性メモリ１７１に基づいて格納先を振り分ける電子回路である。格納先振分回路１７２は、カウント用揮発性メモリ１７１、低頻度アドレス用揮発性メモリ１７３および高頻度アドレス用揮発性メモリ１７４と通信可能に接続されている。具体的には、格納先振分回路１７２は、カウント用揮発性メモリ１７１に格納されたメモリアドレスに関連付けられた書き込み回数の値と、あらかじめ規定された基準値とを比較して、メモリアドレスごとにデータの格納先を決定して、低頻度アドレス用揮発性メモリ１７３および高頻度アドレス用揮発性メモリ１７４のいずれかにメモリアドレスを表す情報を格納する。
【００６２】
低頻度アドレス用揮発性メモリ１７３は、書き込みが低頻度のメモリアドレスを表す情報を格納するための揮発性メモリである。低頻度アドレス用揮発性メモリ１７３は、ＣＰＵ１１０、格納先振分回路１７２および定期格納制御回路１６０と通信可能に接続されている。低頻度アドレス用揮発性メモリ１７３には、カウント用揮発性メモリ１７１に格納された書き込み回数が基準値未満のメモリアドレスを表す情報が、格納先振分回路１７２によって格納される。
【００６３】
高頻度アドレス用揮発性メモリ１７４は、書き込みが高頻度のメモリアドレスを表す情報を格納するための揮発性メモリである。高頻度アドレス用揮発性メモリ１７４は、格納先振分回路１７２およびデータ退避制御回路１３０と通信可能に接続されている。高頻度アドレス用揮発性メモリ１７４には、カウント用揮発性メモリ１７１に格納された書き込み回数が基準値以上のメモリアドレスを表す情報が、格納先振分回路１７２によって格納される。
【００６４】
次に、本実施の形態に係るＰＬＣ１の動作について、図面を参照して説明する。
【００６５】
本実施の形態に係るＰＬＣ１は、ＣＰＵ１１０が揮発性メモリ２００にデータを書き込む処理を実行する際は、図８に示されるデータ書き込み処理を実行する。
【００６６】
ＣＰＵ１１０は、揮発性メモリ２００にデータを書き込む（ステップＳ３１）。すると、ＣＰＵ１１０は書き込んだデータのメモリアドレスを表す信号をカウント回路１７０に送信する。カウント回路１７０は、ＣＰＵ１１０から信号を受信して、受信した信号に基づいて、ＣＰＵ１１０が書き込んだメモリアドレスの書き込み回数に１を加算してカウント用揮発性メモリ１７１の情報を更新する（ステップＳ３２）。なお、対応するメモリアドレスを表す情報が格納されていなければ、新たに当該メモリアドレスと書き込み回数の値として１を関連付けた情報を格納する。
【００６７】
次に、ＣＰＵ１１０は、書き込んだメモリアドレスが低頻度アドレス用揮発性メモリ１７３に格納されているか否かを判定する（ステップＳ３３）。そして、ＣＰＵ１１０は、格納されていると判定すると（ステップＳ３３：Ｙｅｓ）、書き込んだメモリアドレスを表す情報を退避アドレス用揮発性メモリ１６１に書き込む（ステップＳ３４）。また、ＣＰＵ１１０は、格納されていないと判定すると（ステップＳ３３：Ｎｏ）、データ書き込み処理を終了する。
【００６８】
また、本実施の形態に係るＰＬＣ１は、定期的に、例えば１日ごとに、図９に示されるデータ格納処理を実行する。
【００６９】
データ格納処理が開始されると、定期格納制御回路１６０は、揮発性メモリ２００のデータのうち、低頻度アドレス用揮発性メモリ１７３に格納された情報に含まれるメモリアドレスに対応するデータを定期格納用不揮発性メモリ３１０に書き込む（ステップＳ４１）。そして、定期格納制御回路１６０は、退避アドレス用揮発性メモリ１６１の情報を削除する（ステップＳ４２）。
【００７０】
続いて、格納先振分回路１７２は、低頻度アドレス用揮発性メモリ１７３の情報を、カウント用揮発性メモリ１７１に格納された書き込み回数が基準値未満のメモリアドレスを表す情報に更新する（ステップＳ４３）。さらに、格納先振分回路１７２は、高頻度アドレス用揮発性メモリ１７４の情報を、カウント用揮発性メモリ１７１に格納された書き込み回数が基準値以上のメモリアドレスを表す情報に更新する（ステップＳ４４）。その後、ＰＬＣ１は、データ格納処理を終了する。
【００７１】
一方、データ退避制御回路１３０は、図３に示されるデータ退避処理のステップＳ１３およびステップＳ１４における対象データを、揮発性メモリ２００のデータのうち、（ａ）退避アドレス用揮発性メモリ１６１に格納された情報に含まれるメモリアドレスに対応するデータと、（ｂ）高頻度アドレス用揮発性メモリ１７４に格納された情報に含まれるメモリアドレスに対応するデータの、両方のデータとする。
【００７２】
本実施の形態に係るＰＬＣ１によれば、書き込み頻度の高いデータは定期的に定期格納用不揮発性メモリ３１０には格納せず、電源停止が発生した際に退避用不揮発性メモリ３２０に退避する。また、書き込み頻度の低いデータは定期的に定期格納用不揮発性メモリ３１０に格納し、基本的には、退避用不揮発性メモリ３２０には退避しない。ただし、書き込み頻度の低いデータであっても、定期格納用不揮発性メモリ３１０に格納した後で、書き込みが行われたデータは、退避アドレス用揮発性メモリ１６１に当該データのメモリアドレスを表す情報が格納されるため、退避用不揮発性メモリ３２０に退避される。
【００７３】
したがって、特に、ルーチン化された処理で書き込み頻度の高いデータと低いデータが決まっている場合には、揮発性メモリ２００に格納されたデータのうち、書き込み頻度の低いデータだけを定期格納用不揮発性メモリ３１０に格納するため、定期格納用不揮発性メモリ３１０のデータ容量を節約できる。また、書き込み頻度の高いデータを定期的に定期格納用不揮発性メモリ３１０に格納しないことによって、定期的な格納処理がＰＬＣ１の実行する各種データの取得、処理等の実行時間に与える影響を小さくできる。
【００７４】
また、書き込み頻度による振り分けと、書き込み頻度のカウントを運用中に行うため、使用状況に応じて適切な振り分けが可能となる。さらに、カウント用揮発性メモリ１７１に格納された書き込み回数の情報をあらかじめ決められた間隔で、例えば１月ごとに初期化しても良い。このようにすれば、例えば、ＣＰＵ１１０のルーチン化された処理内容が途中に変更されて、書き込み頻度の傾向が変化しても、最新の処理内容に対応した振り分けが可能となる。
【００７５】
（実施の形態４）
本実施の形態では、実施の形態１に係るＰＬＣ１の不揮発性メモリ３００の空き容量を監視する例を示す。本実施の形態では、実施の形態１と異なる点を中心に説明する。
【００７６】
本実施の形態に係る制御システム３は、図１０に示されるように、各種機器を制御するためのＰＬＣ１と、各種情報を集約して処理するためのホストコンピュータ２と、を備える。
【００７７】
ホストコンピュータ２は、各種情報を集約して処理する情報処理装置である。具体的には、ホストコンピュータ２には、ＰＬＣ１の設計、プログラミング、デバッグ、保守等のＰＬＣ１を運用するための専用ソフトウェアであるエンジニアリングツールがインストールされている。ユーザの操作を受けて、ホストコンピュータ２は、エンジニアリングツールを起動して、ＰＬＣ１を運用するための各種機能を実行する。例えば、ホストコンピュータ２は、ユーザが指定した頻度で、ＰＬＣ１から定期的に運用中の情報を取得する。ホストコンピュータ２は、請求の範囲に記載された情報処理装置の一例である。
【００７８】
具体的には、ホストコンピュータ２は、各種の処理を実行するＣＰＵ２０１と、各種情報を記憶するメモリ２０２と、情報を送受信するための通信ＩＦ（Interface）２０３と、情報を表示するディスプレイ２０４と、操作を受け付けるキーボード２０５と、各種情報を記憶するハードディスクドライブ２０６と、を備える。
【００７９】
ＣＰＵ２０１は、ハードディスクドライブ２０６に記憶されているエンジニアリングツールをメモリ２０２に読み出して実行することにより、後述する各種処理を実行する。ＣＰＵ２０１は、請求の範囲に記載された判定部の一例である。
【００８０】
メモリ２０２は、揮発性メモリおよび不揮発性メモリを含み、ＣＰＵ２０１の作業領域として用いられる他、ホストコンピュータ２の基本動作のためにＣＰＵ２０１が実行する制御プログラム、ＢＩＯＳ（Basic Input Output System）等を記憶する主記憶装置である。
【００８１】
通信ＩＦ２０３は、ネットワークカード、ネットワークアダプタ等のＰＬＣ１との間で情報を通信するための通信機器である。通信ＩＦ２０３は、請求の範囲に記載された情報取得部の一例である。
【００８２】
ディスプレイ２０４は、液晶パネル、プロジェクタ等の情報を表示するための機器である。ディスプレイ２０４は、ユーザがキーボード２０５を操作して情報を入力するために必要な情報、ＣＰＵ２０１の処理結果等を表示する。ディスプレイ２０４は、請求の範囲に記載された表示部の一例である。
【００８３】
キーボード２０５は、情報を入力するための操作を受ける機器である。
【００８４】
ハードディスクドライブ２０６は、情報を記憶する補助記憶装置である。ハードディスクドライブ２０６には、前述のエンジニアリングツール、ＰＬＣ１から取得した各種情報等が格納される。
【００８５】
ＰＬＣ１の制御ユニット１０は、情報を通信するための通信ＩＦ５００をさらに備える。
【００８６】
通信ＩＦ５００は、ホストコンピュータ２との間で情報を通信するための通信回路である。
【００８７】
次に、本実施の形態に係る制御システム３の動作について、図面を参照して説明する。
【００８８】
本実施の形態に係るＰＬＣ１のＣＰＵ１１０は、定期的に、例えば１日ごとに、データ退避制御回路１３０を介して不揮発性メモリ３００の空き容量を表す情報を取得して、取得した情報を、通信ＩＦ５００を介してホストコンピュータ２に送信する。さらに、ＣＰＵ１１０は、揮発性メモリ２００に格納されたデータのデータ量を表す情報も取得して、取得した情報を、通信ＩＦ５００を介してホストコンピュータ２に送信する。
【００８９】
ホストコンピュータ２は、ＰＬＣ１から情報を受信すると、図１１に示される退避可否通知処理を開始する。
【００９０】
ホストコンピュータ２のＣＰＵ２０１は、通信ＩＦ２０３を介して、不揮発性メモリ３００の空き容量を表す情報を受信する（ステップＳ５１）。次に、ＣＰＵ２０１は、通信ＩＦ２０３を介して、揮発性メモリ２００に格納されたデータのデータ量を表す情報を受信する（ステップＳ５２）。
【００９１】
続いて、ＣＰＵ２０１は、揮発性メモリ２００に格納されたデータのデータ量を表す情報に基づいて、不揮発性メモリ３００の空き領域が揮発性メモリ２００に格納されたデータの保存に必要な領域より小さいか否かを判定する（ステップＳ５３）。そして、ＣＰＵ２０１は、不揮発性メモリ３００の空き領域が揮発性メモリ２００に格納されたデータの保存に必要な領域より小さいと判定すると（ステップＳ５３：Ｙｅｓ）、ＣＰＵ２０１は、ディスプレイ２０４に、退避ができないことを表すメッセージを表示する（ステップＳ５４）。一方、ＣＰＵ２０１は、不揮発性メモリ３００の空き領域が揮発性メモリ２００に格納されたデータの保存に必要な領域より小さくないと判定すると（ステップＳ５３：Ｎｏ）、退避可否通知処理を終了する。
【００９２】
本実施の形態に係る制御システム３によれば、揮発性メモリ２００のデータを不揮発性メモリ３００に退避する処理において、空き領域が足りない事態を回避する運用を促し、データの保全性を高めることができる。
【００９３】
（変形例）
本発明は、上述した実施の形態に限定されるわけではなく、その他の種々の変更が可能である。
【００９４】
上述した複数の実施の形態に係る構成は、適宜組み合わせても良い。
【００９５】
上述した実施の形態では、図３に示されるデータ退避処理において、ＡＳＩＣ１００のデータ退避制御回路１３０が、揮発性メモリ２００のデータを一時退避用揮発性メモリ１４０に書き込むステップＳ１３の処理が完了してから、一時退避用揮発性メモリ１４０のデータを不揮発性メモリ３００に書き込むステップＳ１６の処理を実行する例を示した。ここで、ステップＳ１３およびそれに付随するステップＳ１４およびステップＳ１５の処理とステップＳ１６およびそれに付随するステップＳ１７およびステップＳ１８の処理を並行して実行しても良い。その場合、ステップＳ１３からステップＳ１５までの処理とステップＳ１６からステップＳ１８までの処理をそれぞれ別々の回路で実行する構成としても良い。このようにすれば、不揮発性メモリ３００へのデータの退避が完了するまでの時間を短くすることができる。
【００９６】
上述した実施の形態に係る蓄電回路４１０は、コンデンサを例として示したが、電池でも良い。充電式でない電池の場合には、電源ユニット２０と接続するための電線３７は不要である。
【００９７】
上述した実施の形態では、電源ユニット２０が停電検出回路２２を備える例を示したが、制御ユニット１０が停電を検出する回路もしくは装置を備えても良い。さらに、図示しない外部の装置が停電を検出する回路もしくは装置を備えても良い。
【００９８】
上述した実施の形態では、データの格納領域を示す情報としてメモリアドレスを使用する例を示したが、格納領域を識別することができる情報であればメモリアドレスでなくても良い。
【００９９】
上述した実施の形態に係るＰＬＣ１およびホストコンピュータ２は、専用の装置によらず、通常のコンピュータを用いても実現可能である。特に、ＡＳＩＣ１００に含まれる電子回路と同様の機能を、コンピュータを用いて実現しても良い。例えば、コンピュータに上述のいずれかを実行するためのプログラムを格納した記録媒体から該プログラムをコンピュータにインストールすることにより、上述の処理を実行するＰＬＣ１およびホストコンピュータ２を構成してもよい。また、複数のサーバ、コンピュータ等が協働して動作するか、または専用の装置とサーバ、コンピュータ等が協働して動作することによって、ＰＬＣ１およびホストコンピュータ２を構成してもよい。
【０１００】
また、コンピュータにプログラムを供給するための手法は、任意である。例えば、通信回線、通信ネットワーク、通信システム等を介して供給してもよい。
【０１０１】
また、上述の機能の一部をＯＳ（Operating System）が提供する場合には、ＯＳが提供する機能以外の部分をプログラムで提供すればよい。
【０１０２】
なお、本発明は、本発明の広義の精神と範囲を逸脱することなく、様々な実施の形態及び変形が可能とされるものである。また、上述した実施の形態は、この発明を説明するためのものであり、本発明の範囲を限定するものではない。即ち、本発明の範囲は、実施の形態ではなく、請求の範囲によって示される。そして、請求の範囲内及びそれと同等の発明の意義の範囲内で施される様々な変形が、この発明の範囲内とみなされる。
【符号の説明】
【０１０３】
１  ＰＬＣ、２  ホストコンピュータ、３  制御システム、１０  制御ユニット、２０  電源ユニット、３１，３２，３３，３４，３５，３６，３７，３８  電線、４１，４２，４３，４４  通信線、５１，５２，５３  信号線、１００  ＡＳＩＣ、１１０  ＣＰＵ、１２０  電源断信号受信回路、１３０  データ退避制御回路、１４０  一時退避用揮発性メモリ、１５０  電源制御信号送信回路、１６０  定期格納制御回路、１６１  退避アドレス用揮発性メモリ、１７０  カウント回路、１７１  カウント用揮発性メモリ、１７２  格納先振分回路、１７３  低頻度アドレス用揮発性メモリ、１７４  高頻度アドレス用揮発性メモリ、２００  揮発性メモリ、２０１  ＣＰＵ、２０２  メモリ、２０３  通信ＩＦ、２０４  ディスプレイ、２０５  キーボード、２０６  ハードディスクドライブ、３００  不揮発性メモリ、４００  バックアップ回路、４１０  蓄電回路、４２０  揮発性メモリ用電源制御回路、４３０  不揮発性メモリ用電源制御回路、５００  通信ＩＦ。
【要約】
ＰＬＣ（１）は、揮発性メモリ（２００）と、不揮発性メモリ（３００）と、ＡＳＩＣ（１００）と、蓄電回路（４１０）と、不揮発性メモリ用電源制御回路（４３０）と、揮発性メモリ用電源制御回路（４２０）と、を備える。ＡＳＩＣ（１００）は、主電源からの電力の供給停止を表す信号を取得し、信号の取得に応じて、揮発性メモリ（２００）からデータを取得し、取得したデータを一時退避用揮発性メモリに一時的に記憶させ、一時退避用揮発性メモリに一時的に記憶させたデータを不揮発性メモリ（３００）に格納する。揮発性メモリ用電源制御回路（４２０）は、ＡＳＩＣ（１００）が信号を取得すると、蓄電回路（４１０）から揮発性メモリ（２００）への電力の供給を開始し、ＡＳＩＣ（１００）が揮発性メモリ（２００）から一時退避用揮発性メモリへのデータの一時退避を完了すると、蓄電回路（４１０）から揮発性メモリ（２００）への電力の供給を停止する。【図１】
0006735938.tif 000002
【図２】
0006735938.tif 000003
【図３】
0006735938.tif 000004
【図４】
0006735938.tif 000005
【図５】
0006735938.tif 000006
【図６】
0006735938.tif 000007
【図７】
0006735938.tif 000008
【図８】
0006735938.tif 000009
【図９】
0006735938.tif 000010
【図１０】
0006735938.tif 000011
【図１１】
0006735938.tif 000012