(57)【要約】【課題】  長期間書き込みをしないメモリの誤動作に対する信頼性を向上させたメモリアクセス部を備える制御装置を提供することを目的とする【解決手段】  制御プログラムを実行するCPU１０１と、当該制御プログラムを記憶するメモリ２０１と、CPUとメモリとの間に設けられ、メモリに対するアクセス要求を調停するメモリアクセス部１０と、を備える制御装置５００において、メモリはSRAMで構成され、メモリアクセス部１０は、アクセス要求元インタフェース部１１と、予め設定された周期で能動的にメモリをリフレッシュするアクセス要求信号を生成するメモリ能動アクセス部３１と、複数の前記アクセス要求信号を先着優先で調停し、メモリにアクセス要求信号を送るメモリインタフェース部２１と、を備えるメモリアクセス部を備える制御装置。【選択図】  図１
2017059017.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを実行するCPUと、当該制御プログラムを記憶するメモリと、前記CPUと前記メモリとの間に設けられ、前記メモリに対するアクセス要求を調停するメモリアクセス部と、を備える制御装置において、
前記メモリはSRAMで構成され、
前記メモリアクセス部は、前記CPUと当該メモリアクセス部とをインタフェースし、前記CPUからの第１のアクセス要求信号を処理するアクセス要求元インタフェース部と、
予め設定された周期で能動的に前記メモリをリフレッシュする第２のアクセス要求信号を生成するメモリ能動アクセス部と、
前記CPUからの前記メモリに対する前記第１のアクセス要求信号と、前記メモリ能動アクセス部からの前記第２のアクセス要求信号とが重複生成された場合に、複数の前記アクセス要求信号を先着優先で調停し、前記メモリにアクセス要求信号を送るメモリインタフェース部と、を備え、
前記アクセス要求元インタフェース部は、前記CPUから前記メモリに対するアクセス要求信号を受け、前記メモリへのアクセス要求信号を生成し、前記メモリインタフェース部からメモリアクセス完了信号をデータと供に受信して、このアクセス要求に対するアクセスサイクルの終了を前記データと供にアクセス要求元の前記CPUに送信し、
前記メモリインタフェース部は、アクセス元調停回路を備え、当該アクセス元調停回路は、前記アクセス要求元インタフェース部で生成された前記CPUから前記メモリに対する前記第１のアクセス要求信号と、前記メモリ能動アクセス部からの第２のアクセス要求信号とを先着優先で調停し、アクセス要求に応じて前記メモリからデータの読み出し及びデータの書き込みのバスサイクル信号を生成し、前記メモリとの間で前記データを授受するようにした、メモリアクセス部を備える制御装置。
【請求項２】
前記メモリ能動アクセス部は、予め設定されるリフレッシュ周期でメモリに対するアクセス要求信号を前記メモリインタフェース部に送るアクセス周期設定部を備え、
前記アクセス周期設定部は、前記CPUから予め設定されるリフレッシュ開始指令を受信して、前記メモリのデータを予め定める周期で連続して読み出し書き込みを行うアクセス要求をリフレッシュ周期信号として生成し、
前記リフレッシュ開始指令は、少なくとも半年以下の期間で生成し、
前記リフレッシュ周期は、前記メモリのサイズとバスサイズとから、前記メモリの全アドレスに対するリフレッシュアクセス回数とリフレッシュ処理時間とを求め、リフレッシュ処理時間が前記メモリのデータ保持時間に対して十分小さい値となるように設定し、
また、リフレッシュ周期の時間は、前記メモリのリフレッシュのバスサイクルと制御周期に対する影響度が、予め定める値以下となるように設定し、
前記制御装置の制御プログラムの実行を中断することなくすることなく、予め定めるリフレッシュ処理時間内に実行できるようにした請求項１に記載のメモリアクセス部を備える制御装置。
【請求項３】
前記メモリ能動アクセス部は、同じアドレスから読み出ししたデータを同じアドレスに連続して書き込みする連続アクセス要求信号を生成し、
前記アクセス元調停回路は、前記連続アクセス要求信号を受信して連続処理が可能となるようにアクセス権を確保するようにした請求項１に記載のメモリアクセス部を備える制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置のメモリの高信頼化に関し、特に、メモリ（SRAM）の誤動作に対する信頼性を向上させたメモリアクセス部を備える制御装置に関する。
【背景技術】
【０００２】
制御システムを制御するコントローラ(ここでは制御装置と称す)は、一般に、搭載されるマイコン（microcomputer）に接続されるメモリ（SRAM：Static Random Access Memory、以後ここでは断らない限りメモリはSRAMを言う）においてデータの読み出し、及び書き込みを実行する。
【０００３】
また、同じメモリに対して、複数のアクセス元がある場合は、アクセス元とメモリ間にアクセスを調停するロジック回路で構成されるアクセス元調停回路を備え、複数のアクセス要求に対するメモリからのデータの読み出し書き込みのバスサイクル信号の生成を調停している。
【０００４】
したがって、アクセス元からのアクセス要求がない場合には、このアクセス元調停回路は、接続しているメモリのバスサイクル信号を生成しないのでデータの書き込み読み出しを実行しない。
【０００５】
また、一般にメモリは書き込まれたデータを一定時間保持できる特性を有するが、様々な要因で、例えば、α線や宇宙線中性子によるソフトエラーなどにより、保持しているデータが変化し、読み出しデータと書き込みデータとが異なる誤動作を起こす場合がある。
【０００６】
そのため、例えば、メモリ（SDRAM：Synchronous Dynamic Random Access Memory）では、データリフレッシュ操作で、メモリの誤動作を防止するようにしている。
【０００７】
また、中性子線量の高低によりキャッシュメモリに対するアクセス制御方法を切替えたり、メモリデバイス（SDRAMとSRAMと）を強制的に切替えたりして、出来るだけ装置の動作が継続できるようにした電子システム装置がある(例えば、特許文献１参照。)。
【０００８】
また、メモリに書き込まれたデータの誤り検出訂正回路において、マルチビットのエラーを検出する誤り検出訂正回路が開示されている（例えば、特許文献２参照。）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第５７２２７５４号公報
【特許文献２】特許第４７９０７９０号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
一般に、メモリ（SRAM）は、リフレッシュ操作が不要なメモリと言われているが、半導体の微細化に伴い保持データが電源供給中でもデータをリフレッシュしていない制御プログラムやその制御パラメータなどのデータが変化する事象が数多く報告されている。データのリフレッシュしていない期間とは、例えば、半年〜１年以上の長期の期間を言う。
【００１１】
このような事象の原因としては、ソフトエラー以外にも、メモリ（SRAM）のデータ保持特性の劣化、及び電源電圧変動の影響が考えられる。
【００１２】
そのため、連続運転を行う制御システムにおいては、プラントの安全操業のためにメモリのデータについての信頼性対策が重大な問題となっている。
【００１３】
本発明はこの問題点を解決するためになされたものであり、メモリ（SRAM）に対するアクセス要求元とメモリとの間にメモリアクセス部を備え、このメモリアクセス部が、能動的にメモリをリフレッシュするバスサイクル信号を生成し、メモリが保持しているメモリデータの信頼性を向上させるようにし、長期間書き込みをしないメモリの誤動作に対する信頼性を向上させたメモリアクセス部を備える制御装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本実施形態のメモリアクセス部を備える制御装置は、制御プログラムを実行するCPUと、当該制御プログラムを記憶するメモリと、前記CPUと前記メモリとの間に設けられ、前記メモリに対するアクセス要求を調停するメモリアクセス部と、を備える制御装置において、前記メモリはSRAMで構成され、前記メモリアクセス部は、前記CPUと当該メモリアクセス部とをインタフェースし、前記CPUからの第１のアクセス要求信号を処理するアクセス要求元インタフェース部と、予め設定された周期で能動的に前記メモリをリフレッシュする第２のアクセス要求信号を生成するメモリ能動アクセス部と、前記CPUからの前記メモリに対する前記第１のアクセス要求信号と、前記メモリ能動アクセス部からの前記第２のアクセス要求信号とが重複生成された場合に、複数の前記アクセス要求信号を先着優先で調停し、前記メモリにアクセス要求信号を送るメモリインタフェース部と、を備え、前記アクセス要求元インタフェース部は、前記CPUから前記メモリに対するアクセス要求信号を受け、前記メモリへのアクセス要求信号を生成し、前記メモリインタフェース部からメモリアクセス完了信号をデータと供に受信して、このアクセス要求に対するアクセスサイクルの終了を前記データと供にアクセス要求元の前記CPUに送信し、前記メモリインタフェース部は、アクセス元調停回路を備え、当該アクセス元調停回路は、前記アクセス要求元インタフェース部で生成された前記CPUから前記メモリに対する前記第１のアクセス要求信号と、前記メモリ能動アクセス部からの第２のアクセス要求信号とを先着優先で調停し、アクセス要求に応じて前記メモリからデータの読み出し及びデータの書き込みのバスサイクル信号を生成し、前記メモリとの間で前記データを授受するようにした、メモリアクセス部を備える。
【図面の簡単な説明】
【００１５】
【図１】第1の実施形態のメモリアクセス部を備える制御装置。
【図２】第２の実施形態のメモリアクセス部を備える制御装置。
【図３】第３の実施形態のメモリアクセス部を備える制御装置。
【図４】メモリアクセス部の動作を説明するタイムチャートの例。
【図５】アクセス元調停回路の動作を説明するタイムチャートの例。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態に係るメモリアクセス部を備える制御装置について図面を参照して説明する。
【００１７】
（第1の実施形態）
図１を参照して、メモリアクセス部１０を備える制御装置５００の構成を説明する。本制御装置５００は、例えば、SRAMを備えるメモリ２０１に記憶される制御プログラムを実行し、メモリに対するアクセス要求元となるCPU１０１と、CPU１０１とメモリ２０１との間に設けられ、CPU１０１からのアクセス要求と自信で能動的に生成するメモリに対するアクセス要求とを調停するメモリアクセス部１０と、CPU１０１の主メモリとなるメモリ２０１と、を備える。
【００１８】
メモリアクセス部１０は、CPLD（(Complex Programmable Logic Device)やFPGA（Field Programmable Gate Array）を含むロジック回路で構成され、CPU１０１とメモリアクセス部１０とをインタフェースし、CPU１０１からのアクセス要求信号を処理するアクセス要求元インタフェース部１１と、予め設定された周期で能動的にメモリ２０１をリフレッシュするアクセス要求信号を生成するメモリ能動アクセス部３１と、CPU１０１からメモリ２０１に対するアクセス要求信号（Address101、CS101、RD101、WR101）とメモリ能動アクセス部３１からのアクセス要求信号（Address31、RD31、WR31、CNT31）とが重複生成された場合に、生成されたアクセス要求信号の先着優先で調停処理して、メモリ２０１に供給するメモリインタフェース部２１と、を備える。
【００１９】
詳細には、アクセス要求元インタフェース部１１は、CPU１０１からのアドレス信号（Adress101）、メモリデータ読み出し信号（RD101）、メモリデータ書き込み信号（WR101）、及びメモリインタフェース部２１を指定するチップセレクト信号（CS101）の要求を受け、メモリ２０１へのアクセス要求信号（アドレス信号：Adress11、読み出し信号：RD11、書き込み信号WR11）を生成してメモリインタフェース部２１に送り、メモリインタフェース部２１からメモリアクセス完了信号（READY11）をデータ（読み出し11R、書き込み11W）と供に受信して、アクセスサイクルの終了（READY101）をデータ(101)と供にアクセス要求元のCPU１０１に送信する。
【００２０】
また、メモリインタフェース部２１はアクセス元調停回路２２を備え、CPU１０１からメモリ２０１に対するアクセス要求信号とメモリ能動アクセス部３１からのアクセス要求信号とを先着優先で調停処理して、アクセス要求に応じてメモリ２０１のデータ読み出し、及びデータ書き込みのバスサイクル信号（Address201、CS201、RD201、WR201）を生成し、メモリ２０１との間でデータ(201)を授受する。
【００２１】
この構成においてメモリ能動アクセス部３１は、予め設定されるタイミングで能動的にメモリ２０１をリフレッシュするアクセス要求信号（Adress31、RD31、WR31）をメモリインタフェース部２１に送り、メモリ２０１の同一アドレスに対してデータ（31）を読み出し、さらに連続して読み出したデータを書き込みして、保持データをリフレッシュすることで、メモリ２０１のデータ保持特性を向上させる。
【００２２】
このメモリ２０１の全てのメモリアドレスについてのリフレッシュ処理は、メモリSRAMの保持特性の信頼度と、これまで知見した故障事例とから、通常の制御システムにおいては、発明者はシステムの長周期の点検期間である半年に一回程度の頻度で実施すれば問題がないと予測している。
【００２３】
また、連続運転される制御装置５００においては、制御動作に影響を与えないように、また、この作業を効率よく行うために、予め全メモリアドレスに対するリフレュシュ時間と、制御周期に影響を与えないメモリアクセスが要求される。
【００２４】
そこで、メモリ能動アクセス部３１には、リフレッシュ処理のためにアクセス周期設定部３６を備える。アクセス周期設定部３６は、予め設定されるリフレッシュ周期でメモリをリフレッシュするアクセス要求信号をメモリインタフェース部２１に送る。
【００２５】
次に、図４を参照して、アクセス周期設定部３６の設定方法について説明する。図4は、COU101に設定される制御周期(Tc)とアクセス周期設定部３６で設定するリフレッシュ周期(ΔTr)、リフレッシュ時間（Tr）の関係を図示したものである。また、その拡大部Ａは、制御周期内でのリフレッシュのためのメモリアクセス時間(tac)を対比して図示したものである。
【００２６】
制御周期アクセス周期設定部３６は、図1に示すように、CPU１０１から、予め設定されるリフレッシュ開始指令（Ri）を受信して、メモリ２０１のデータを予め定める周期で連続して読み出し書き込みを行うアクセス要求をリフレッシュ周期（ΔTr）信号として生成する。
【００２７】
また、リフレッシュ開始指令(ΔRi)は、少なくとも半年以下の期間で生成し、リフレッシュ周期(ΔTr)は、前記メモリのサイズとバスサイズとから、メモリ２０１の全アドレスに対するリフレッシュアクセス回数ｎとリフレッシュ処理時間(Tr)を求め、リフレッシュ処理時間（Tr）が、メモリのデータ保持時間に対して十分小さい値となるように設定する。
【００２８】
また、リフレッシュ周期(ΔTr)の時間は、メモリ２０１のリフレッシュのバスサイクル（応答時間tac）と制御周期(Tc)に対する影響度（tac/Tc）が、予め定める値以下となるように設定する。
【００２９】
このリフレッシュ指令（Ri）は、CPU１０１で自動生成しても良いが、指令釦を操作して人為的に指令を入力するようにしても良い。
【００３０】
このように構成することで、制御装置５００の制御プログラムの実行を中断することなくすることなく、予め定めるリフレッシュ処理時間内に実行できるようにしたメモリアクセス部を備える制御装置を提供することができる。
【００３１】
次に、アクセス周期設定部３６の設定の例を図４に示す。メモリ２０１に搭載された全メモリサイズNが1024kバイトで、その読み出し書き込みのアクセスサイクル（tac）が200nsecとし、制御装置５００の制御周期（Tc）が2msec、バスサイズが32ビットと設定された場合、図４に示すようにリフレッシュ周期（ΔTr）を制御周期（Tc）と同じ2msecに設定すると、そのリフレッシュ処理時間は、下記のようになる。
【００３２】
リフレッシュアクセス回数＝１０２４ｋバイト／４バイト＝２５６ｋ
リフレッシュ処理時間(Tr)  ＝2msec×２５６ｋ＝512sec
となる。
【００３３】
また、制御周期Tcに与える影響（tac/Tc）は、このような設定の場合、制御周期Tcの2msecの期間において、200nsecのメモリアクセスサイクルの実行による制御処理遅延の影響は、（200nsec／2msec＝）0.01%程度と僅かであるので、問題がないと判断できる。
【００３４】
通常、制御周期（Tc）は、プログラムの処理時間のバラツキに対して余裕を見込んだ時間を設定するので、許容可能までリフレッシュ周期（ΔTr）を短縮することが可能である。
【００３５】
また、上記の設定の場合でも、リフレッシュ処理時間も9分弱で完了できるのでメモリの保持特性と、制御装置のシステムの運転に影響を与える恐れがない。
【００３６】
次に、図５を参照してアクセス元調停回路２２の処理動作について、図５を参照して説明する。図５は、メモリ２０１に対しCPU１０１からのアクセス要求（ａ１〜ａ４）と、メモリ能動アクセス部３１からのメモリ２０１のリフレッシュのアクセス要求（ｂ１〜ｂ４）とが重複して発生した場合の先到着優先処理の動作について、アクセスが重ならない場合を図５（ａ）に、いずれかのアクセスが重なった場合を図５（ｂ）、（ｃ）に示す。
【００３７】
また、図５（ｃ）はリフレッシュのアクセス要求について、メモリ能動アクセス部３１から同じアドレスに連続して読み出し(read)書き込み(write)処理する場合の連続アクセス要求信号CNT31の動作を拡大してタイムチャートにしたものである。
【００３８】
アクセスが重複しない場合図５（ａ）は、特に問題がない。アクセスが重複した図５(ｂ)の場合、通常は先着優先で先に到着した方を優先処理し、遅れて到着したｂ２、ａ３のアクセス要求は、夫々ｔｂ２時間、ｔａ３時間ウエイトするように遅延処理される。
【００３９】
図５（ｃ）に示すように、メモリ２０１のリフレッシュ処理の場合、同じアドレスに対して読み出し書き込みを連続して行うので、メモリ能動アクセス部３１では、このためのリフレッシュのためのアクセス要求信号として、連続アクセス要求信号（CNT31）を生成してアクセス元調停回路２２に送る。
【００４０】
アクセス元調停回路２２では、連続アクセス要求信号（CNT31）を受信した場合、メモリ能動アクセス部３１がメモリ２０1の同じドレスに対して読み出し書き込みを連続してアクセスが出来るようにアクセス権を確保する。
【００４１】
本実施形態では、アクセス要求元の数は、CPU１０１１つの場合で説明したが、上述したように複数のCPUで構成される場合がある。この場合には、アクセス要求元インタフェース部１１は複数のアクセス要求を受ける構成とし、アクセス元調停回路２２は、複数のアクセス要求元からのアクセス要求と、メモリ能動アクセス部３１からのアクセス要求とを含めて、複数のアクセス要求に対する調停を行うように構成することが可能である。
【００４２】
以上説明したように第1の実施形態のメモリアクセス部を備える制御装置は、メモリ（SRAM）に対するアクセス要求元とメモリとの間にメモリアクセス部を備え、このメモリアクセス部が、能動的にメモリをリフレッシュするバスサイクル信号を生成し、メモリが保持しているメモリデータの信頼性を向上させるようにししたので、長期間書き込みをしないメモリの誤動作に対する信頼性を向上させたメモリアクセス部を備える制御装置を提供することができる。（第２の実施形態）
次に、図２を用いて、第２の実施形態を説明する。本第２の実施形態の各部について、第１の実施形態の各部と同一部分は同一符号で示し、その説明を省略する。この第２の実施形態が、第１の実施形態と異なる点は、メモリインタフェース部２１にECC（Error Correcting Code）生成回路２３及びECCチェック回路２４を備え、さらに、メモリ２０１と対となるECCメモリ２０２を備えるようにしたことにある。
【００４３】
このECC生成回路２３は、メモリ２０１にデータを書き込むタイミングでメモリ２０１に書き込むデータに対するECCデータを生成してECCメモリ２０２にECCデータを書き込み、ECCチェック回路２４は、データ読み出しタイミングでメモリ２０１から読み出したデータとECCメモリ２０２から読み出したECCデータを比較して一致しているか否かをチェックし、コレクタブルエラーの発生と、及びアンコレクタブルエラーの発生と、を登録できる機能を有する。
【００４４】
また、ECCチェック回路２４でコレクタブルエラーと判定された読み出しデータを正常なデータに訂正し、アクセス要求元インタフェース部１１またはメモリ能動アクセス部３１に出力する。
【００４５】
そして、メモリアクセス部１０は、エラーを検出した同一のアドレスに対して、メモリ能動アクセス部３１が能動的にメモリ２０１とECCメモリ２０２に対するアクセス要求をメモリインタフェース部２１に送り、メモリ２０１とECCメモリ２０２の同一アドレスに対してデータを連続して読み出し及び書き込みして、保持データをリフレッシュすることで、メモリ２０１とECCメモリ２０２のデータを訂正して保持特性を向上させる。
【００４６】
このような構成とすることで、エラーが発生したアドレスのデータのリフレッシュとデータの訂正とを同時に行うことができるので、エラー発生のアドレスデータについて効率の良いデータ保持特性の改善が期待できる。
【００４７】
（第３の実施形態）
図３を用いて、第２の実施形態を説明する。本第３の実施形態の各部について、第２の実施形態の各部と同一部分は同一符号で示し、その説明を省略する。この第３の実施形態が、第２の実施形態と異なる点は、第２の実施形態では、データ書き込みタイミングでメモリ２０１に書き込むデータに対するECCデータを生成してECCメモリ２０２にECCデータを書き込み、ECCチェック回路２４は、データ読み出しタイミングでメモリ２０１から読み出したデータとECCメモリ２０２から読み出したECCデータを比較して誤りを検出するようにしたが、本第３の実施形態においては、メモリ２０１に通常書き換えがされない（順次変化しない）データが保持されている場合において、第１の実施形態と同様にメモリ能動アクセス部３１が能動的にメモリ２０１に対してメモリリフレッシュのアクセス要求をメモリインタフェース部２１に送り、メモリ能動アクセス部３１のメモリチェック開始アドレス３２で指定したメモリ２０１のアドレスからデータを順次読み出し、メモリチェックサイズ３３で指定したデータ数まで読み出したデータのBCCを算出し、算出したBCC （Block Check Character）とチェック用に指定されたBCCチェックデータ３４とを比較し、BCCチェックでメモリ２０１の保持データの一致不一致を確認するようにしたことにある。
【００４８】
尚、BCCはCRC （Cyclic Redundancy Check）に置換とすることも可能である。
【００４９】
このような構成によれば、予め設定したメモリのアドレスに対して誤りを検出することが可能となるので、特定範囲のアドレスのデータの誤り検出し、特定のアドレスのみに限定したリフレッシュ動作を実行できるので、効率の良いリフレッシュ動作を実行することが出来る。
【００５０】
以上説明した様に、本実施形態によれば、メモリ（SRAM）に対するアクセス要求元とメモリとの間にメモリアクセス部を備え、このメモリアクセス部が、能動的にメモリをリフレッシュするバスサイクル信号を生成し、メモリが保持しているメモリデータの信頼性を向上させるようにし、長期間書き込みをしないメモリの誤動作に対する信頼性を向上させたメモリアクセス部を備える制御装置を提供することが出来る。
【００５１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００５２】
１０  メモリアクセス部
１１  アクセス要求元インタフェース部
２１  メモリインタフェース部
２２  アクセス元調停回路
２３  ECC生成回路
２４  ECCチェック回路
３１  メモリ能動アクセス部
３２  開始アドレス
３３  チェックサイズ
３４  BCCチェックデータ
３６  アクセス周期設定部
１０１  CPU
２０１  メモリ
２０２  ECCメモリ
５００  制御装置
【図１】
2017059017.tif 000003
【図２】
2017059017.tif 000004
【図３】
2017059017.tif 000005
【図４】
2017059017.tif 000006
【図５】
2017059017.tif 000007