JP4174665B2 - Information processing apparatus and memory check method - Google Patents
Information processing apparatus and memory check method Download PDFInfo
- Publication number
- JP4174665B2 JP4174665B2 JP2003094237A JP2003094237A JP4174665B2 JP 4174665 B2 JP4174665 B2 JP 4174665B2 JP 2003094237 A JP2003094237 A JP 2003094237A JP 2003094237 A JP2003094237 A JP 2003094237A JP 4174665 B2 JP4174665 B2 JP 4174665B2
- Authority
- JP
- Japan
- Prior art keywords
- ram
- memory
- check
- program
- processor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、RAM等のメモリにプロセッサを制御するためのプログラムを格納し、このRAMに格納されたプログラムによりプロセッサの制御が行われる情報処理装置に関し、特に、RAMに書き込まれたプログラムの内容が書き換わっていないかチェックするためのメモリチェック方法に関する。
【0002】
【従来の技術】
データの記憶に使われるRAM等のメモリでは、書き込まれたデータを正しく保持することが求められる。しかし、半導体材料に極微量に含まれる放射性元素から発生するα線や、宇宙線が大気中に飛び込んだ際に発生する二次宇宙線中性子の影響により書き込まれたデータが破壊されてしまう現象が指摘されている。この現象はソフトエラーと呼ばれ、半導体材料の不純物濃度を下げたり半導体チップをコーティングする等の対策がなされている。
【0003】
近年プロセッサ(DSP(Digital Signal Processor)やCPU(Central Processing Unit))の進歩は目覚しいものがあるが、プロセスの高度化や低電圧化により、上述したソフトエラーの発生する確率が上昇し内部メモリの動作不具合が顕著化するようになってきた。
【0004】
また、従来では一般的に、容量素子にデータを記憶するDRAMにおいてはソフトエラーが発生し易いことが指摘されていた。しかし、近年DRAM(Dynamic Random Access Memory)だけでなく、容量素子を用いずにデータの記憶を行うSRAM(Static Random Access Memory))においてもソフトエラーが発生する可能性があることが知られている(例えば、非特許文献1参照。)。
【0005】
近年、情報処理装置では、プログラムをRAM等の内部メモリに格納し、内部メモリに格納されたプログラムによりプロセッサの制御を行うことが行われている。そのため、このような情報処理装置においてソフトエラーが発生して内部メモリに格納されたプログラムの内容が書き換わってしまうと、プログラムが暴走することにより最悪システムが止まってしまうような事態が発生する。
【0006】
このようにプログラムの内容が書き換わってしまった場合には、システムをリセットしてもプログラム自体が破壊されているため正常に復帰することはできず、再度プログラムをRAM等の内部メモリに書き込む処理が必要となる。
【0007】
特に、無線基地局装置のように連続して動作を行うことが要求される装置では問題となる。また、このような装置では、何か障害等が発生した場合でも、できるだけシステムが停止している時間を短くして迅速に正常動作に復旧することが要求される。
【0008】
プログラムの誤動作を防止してシステムが停止しないようにするため、簡単に出来る方法としてソフトウェアで定期的にメモリチェックを行い、メモリの書き換えがあった箇所を上書きして訂正する方法が従来から存在する。しかし、訂正を厳重に行なおうとすればするほどソフトウェアにかかる処理が増大し、通常の動作に影響を及ぼしてしまうことや動作しているプログラム自体のチェックはできないなどのデメリットがある。
【0009】
また、CPUによりRAMに書き込まれたプログラムの内容のチェックを行い、異常があった場合には、RAMにプログラムを再ロードするようにした情報処理装置が提案されている(例えば、特許文献1参照。)。
【0010】
上記の特許文献1に記載された情報処理装置では、CPU自体がRAMの内容のチェックを行っているため、CPU自体が誤動作を起こしてしまうと、正常動作に復帰することができない。また、この従来の情報処理装置では、通常の動作を行う制御プログラムとメモリチェックを行うための診断プログラムの切替を行ってはいるが、ソフトウェアによりメモリチェックを行っていることには変わりないため、ソフトウェア処理に対して負担をかけていることになる。また、制御プログラムと診断プログラムの切り替えを行うための処理を行うためにある程度の時間が必要となる。そのため、上記の特許文献1に記載された従来技術では、かならずしも、プロセッサに処理負担をかけることなくRAMに書き込まれたプログラムの内容のチェックを行うことは実現できない。
【0011】
さらに、最近のDSPやCPUでは、内部メモリに自らFEC(Forward Error Correction)機能を持たせているものもある。しかし、FEC機能を実現するためには回路構成が複雑となりDSPやCPUの処理に負担をかけることとなる。
【0012】
【特許文献1】
特開昭59−53952号公報
【非特許文献1】
Anthony Cataldo、“SRAM soft errors cause hard network problems”、[online]、2001年8月17日、EE Times[平成13年3月11日検索]、インターネット<URL: http://www.eetimes.com/story/OEG20010817S0073>
【0013】
【発明が解決しようとする課題】
上述した従来の情報処理装置では、プロセッサに処理負担をかけることなくRAMに書き込まれたプログラムの内容のチェックを行うことが困難であるという問題点があった。
【0014】
本発明の目的は、RAM等の揮発性のメモリにプロセッサを制御するためのプログラムを格納するシステムにおいて、プロセッサの処理に負担をかけることなくRAMに書き込まれたプログラムの内容が書き換わっていないかチェックし、プログラムの内容が書き換わってしまった場合には書き換わったデータの修正を行うことができる情報処理装置およびメモリチェック方法を提供することである。
【0015】
【課題を解決するための手段】
上記目的を達成するために、本発明の情報処理装置は、内部にプログラムを格納するためのRAMを有し、該RAMに格納されたプログラムに基づいて処理を行うプロセッサと、
前記プロセッサに備えられたRAMと比較してメモリ保持特性の優れたメモリ領域を内部に有し、前記プロセッサの内部のRAMにプログラムが格納される際、該プログラムと同内容のデータを前記メモリ領域に格納し、前記プロセッサが処理を行っていないアイドル状態となると、前記メモリ領域に格納されたデータを用いて前記RAMに書き込まれたプログラムの内容が書き換わっていないかどうかを確認するメモリチェックを行い、メモリチェックによりデータが破壊されていると判定されたアドレスのデータを前記メモリ領域に格納されたデータに基づいて修正するチェックおよび訂正制御部を有することを特徴とする。
【0016】
本発明によれば、プロセッサがアイドル状態の時に、プロセッサの外部に設けられたチェックおよび訂正制御部によりプロセッサ内部のRAMに格納されたプログラムの内容のチェックを行うようにしているので、プロセッサに負荷をかけることなくメモリチェックを行うことができる。また、RAMの内容が書き換えられてしまっている場合には、メモリ領域に格納されたデータ内容に基づいてRAMに格納されたプログラムの修正を行うようにしているので、最悪の場合にプロセッサの動作が暴走してシステムが誤動作することを未然に防ぐことができる。
【0017】
また、本発明の他の情報処理装置では、前記チェックおよび訂正制御部は、前記プロセッサの内部のRAMに書き込まれたチェックサムと、前記メモリ領域に格納されたデータのチェックサムとを比較することによりメモリチェックを行い、チェックサムが一致しない場合に、前記RAMに格納されたデータと前記メモリ領域に格納されたデータとの比較を行うようにしてもよい。
【0018】
本発明によれば、メモリチェックの際に先ずチェックサムを比較して、チェックサムが一致しない場合にのみデータの比較を行うようにしているので、プロセッサに対する割り込み時間を少なくすることができる。
【0019】
さらに、本発明の他の情報処理装置では、前記プロセッサに供給する電源電圧を制御する機能を備えたプログラマブル電源回路と、
前記プロセッサに供給するクロック信号の周波数を制御する機能を備えたプログラマブルクロック回路とをさらに有する。
【0020】
本発明によれば、プロセッサに供給する電源電圧およびクロック信号の周波数を変更して、不具合のあるプロセッサを予め検出することができるので、プロセッサの誤動作を未然に防ぐことができる。
【0021】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0022】
(第1の実施形態)
図1は本発明の第1の実施形態の情報処理装置の構成を示すブロック図である。
【0023】
本実施形態の情報処理装置は、図1に示されるように、DSP1と、チェックおよび訂正制御部2と、DSP1その他の回路を制御するCPU5と、CPU5用のメモリであるRAM6およびROM7と、CPU5およびDSP1において使用されるCLKを生成するCLK回路8と、共通電源回路9より構成されている。
【0024】
本実施形態の情報処理装置では、内部のRAMにプログラムが格納され、このプログラムによって制御されるプロセッサがDSPである場合を用いて説明を行うが、本発明はこのような場合に限定されるものではなく、RAMに格納されたプログラムにより制御されるプロセッサであれば同様に適用することができるものである。
【0025】
メモリチェックの対象となるDSP1は、CPU5によって制御されている。通常DSP1はCPU5経由でプロセッサのプログラムをダウンロードしてダウンロードしたプログラムにより動作している。
【0026】
DSP1は、内部にプログラムを格納するためのRAM10を有し、このRAM10に書き込まれたプログラムに基づいて主演算処理を行なう。DSP1は、処理を行わないアイドル状態となると、チェックおよび訂正回路2に対し“Ready”信号を出力し、アイドル状態が終了すると“Ready”信号の出力を停止する。
【0027】
CLK回路8は、CPU5およびDSP1において使用されるCLKを生成する。共通電源回路9は、DSP1、チェックおよび訂正制御部2、CPU5、RAM6、ROM7、CLK回路8に電源を供給している。
【0028】
CPU5と、DSP1およびチェックおよび訂正制御部2とはバスラインによりそれぞれ接続されている。また、DSP1とチェックおよび訂正制御部2との間もバスラインにより接続されている。それぞれのバスラインでは、アドレスデータおよびプログラムデータが伝送される。
【0029】
チェックおよび訂正制御部2は、DSP1内部に設けられたRAM10のメモリチェック及びRAM10に格納されたプログラムの修正、およびRAM10に格納されるプログラムの記憶を行なう。
【0030】
チェックおよび訂正制御部2は、DSP1に備えられたRAM10と比較してメモリ保持特性の優れたメモリ領域を内部に有していて、DSP1の内部のRAM10にCPU5からプログラムが格納される際、このプログラムと同内容のデータをメモリ領域に格納する。
【0031】
DSP1に備えられたRAM10がSRAMの場合には、チェックおよび訂正制御部2のメモリ領域としては、強誘電体メモリ(FeRAM:Ferroelectric RAM)やフラッシュメモリ等のソフトエラーが発生し難い不揮発性のメモリを用いる。上述したように、ソフトエラーは、DRAMやSRAMで発生する場合が多いことが一般的に知られている。これに対して、強誘電体メモリやフラッシュメモリ等の不揮発性メモリは、データを記憶する構造上の理由からソフトエラーによりデータが破壊される可能性が低いと考えられる。
【0032】
そして、チェックおよび訂正制御部2は、DSP1から“Ready”信号が入力され、DSP1が処理を行っていないアイドル状態であることを知ると、内部に設けられたメモリ領域に格納されたデータを用いてRAM10に書き込まれたプログラムの内容が書き換わっていないかどうかを確認するメモリチェックを行うとともに、“Check”信号を出力してDSP1にメモリチェックを行う旨を通知する。そして、このメモリチェックおいて、RAM10に格納されているプログラムの内容が破壊されていると判定された場合、チェックおよび訂正制御部2は、RAM10の破壊されていると判定されたアドレスのデータをメモリ領域に格納されたデータに基づいて修正する。
【0033】
次に、本実施形態の情報処理装置においてDSP1の内部のRAM10に格納されたプログラムのチェックおよび修正を行う方法について図面を参照して詳細に説明する。
【0034】
先ず、CPU5からバスラインを介してプログラムがDSP1にダウンロードされる際に、このプログラムと同じ内容のデータがバスラインを介してチェックおよび訂正制御部2にも転送される。DSP1では、ダウンロードされたプログラムはRAM10に格納され、チェックおよび訂正制御部2では、このプログラムと同じ内容のデータが内部のメモリ領域に格納される。
【0035】
そして、チェックおよび訂正制御部2は、図2に示すフローチャートに従いRAM10のメモリチェックを行う。
【0036】
先ず、チェックするアドレスを指定する値Aが0に設定される(ステップ101)。そして、チェックおよび訂正制御部2は、DSP1からの“Ready”信号がアクティブか否かを判定し(ステップ102)、“Ready”信号がアクティブとなるまで待機している。DSP1は、アイドル状態となるとチェックおよび訂正回路2に対して”Ready”信号を出力するため、チェックおよび訂正制御部2はDSP1がアイドル状態となるまで待機し続けることになる。
【0037】
ステップ102において、“Ready”信号がアクティブとなると、チェックおよび訂正制御部2は、“Check”信号をアクティブとしてDSP1にメモリチェックを行う旨を通知した後(ステップ103)、RAM10のアドレスAのメモリ内容のチェックを行う(ステップ104)。なお、メモリチェック中はDSP1に対して”Check”信号を出力することにより、チェックおよび訂正制御部2はDSP1に対して“Wait”をかける動作を行なっている。
【0038】
ここで、メモリチェック方法はどのような方法を用いてもよいが、DSP1に対する割り込み時間を少なくするため先ずワードごとのチェックサムのみの確認を行い、チェックサムによる確認でデータが書き換えられている可能性があると判定されて場合に初めてそのアドレスのデータどうしを比較する詳細なメモリチェックを行うようにする。
【0039】
ここで、チェックサムとは、あるアドレスのデータを加算した合計値であり、このチェックサムを予め計算しておき、そのデータとともに格納することによりデータの書き換えが発生したかがわかるようになっている。そして、CPU5からDSP1およびチェックおよび訂正制御部2にプログラムデータが転送される際に、このチェックサムも合わせて転送される。
【0040】
このチェックサムの具体例を図3に示す。例えば、図3において、アドレス“1000”データプログラムデータ“0011 2233 4455 66778899 AABB CCDD EEFF”をそれぞれ加算して“abcd”という値となった場合、この“abcd”がこのアドレスにおけるチェックサムとなる。
【0041】
尚、チェックサムによるチェックを行う際には、各アドレス毎のチェックサムを比較するようにしてもよいし、一定のアドレス分のチェックサムを合計したチェックサムを予め用意して、このチェックサムどうしを比較するようにしてもよい。
【0042】
そして、チェックおよび訂正制御部2は、チェックサムが一致しなかったアドレスのデータを比較することにより、データが書き換わっている場所を特定する。
【0043】
ステップ105において、メモリチェックの結果がNGの場合(メモリの内容が書き換わっていると判定された場合)、メモリチェックでNGになったアドレスAに関してはチェックおよび訂正制御部2から正しいデータをDSP1内部のRAM10に書き込む動作を行なうことによりアドレスAのデータの修正を行う(ステップ106)。
【0044】
そして、Aの値を1加算する(ステップ107)。ただし、1回のメモリチェックにおいて、複数アドレスのプログラムデータのチェックを同時に行っている場合には、同時にチェックを行うアドレス分だけAの値を加算する。
【0045】
最後に、チェックおよび訂正制御部2は、DSP1からの“Ready”信号がアクティブであるか否かを確認し(ステップ108)、アクティブであればメモリチェックの継続を行うステップ104に処理を進め、インアクティブの場合には、“Check”信号をインアクティブにしてメモリチェックを終了する(ステップ109)。
【0046】
本実施形態のメモリチェックの動作を図4のタイミングチャートに示す。ここでは、“Ready”信号および“Check”信号はともに、ロウレベルの場合にアクティブであるアクティブロウであるものとして説明する。
【0047】
先ず、DSP1は、通常動作からアイドル状態に移行する場合、“Ready”をロウレベルとしてアクティブとする(時刻t1)。すると、チェックおよび訂正制御部2は、“Check”信号をアクティブであるロウレベルとしてメモリチェックを開始する(時刻t2)。
【0048】
チェックおよび訂正制御部2がメモリチェックを行っている最中にDSP1がアイドル状態をやめて通常動作に復帰する場合、DSP1は、“Ready”信号をインアクティブであるハイレベルとする(時刻t3)。すると、チェックおよび訂正制御部2は、メモリチェックを中止して、“Check”信号をインアクティブであるハイレベルとする(時刻t4)。
【0049】
このような処理が行われることにより、本実施形態の情報処理装置では、DSP1がアイドル状態の時に、DSP1の外部に設けられたチェックおよび訂正制御部2によりDSP1内部のRAM10に格納されたプログラムの内容のチェックを行うようにしているので、DSP1に負荷をかけることなくメモリチェックを行うことが可能となる。また、RAM10の内容が書き換えられてしまっている場合には、チェックおよび訂正制御部2の内部に設けられたメモリ領域に格納されたデータ内容に基づいてRAM10に格納されたプログラムの修正を行うようにしているので、最悪の場合にプロセッサの動作が暴走してシステムが誤動作することを未然に防ぐことができる。
【0050】
(第2の実施形態)
次に、本発明の第2の実施形態の情報処理装置について説明する。本発明の第2の実施形態の情報処理装置は、図1で示した第1の情報処理装置に対して、通常の運用を停止してDSP1の不具合の有無を検査するための機能を追加したものである。
【0051】
プロセッサのメモリ動作の不具合は、場合によっては電圧を変更したり、動作クロック周波数を変更したりしないと現象が出にくい場合がある。これはプロセッサ内に使用するメモリの保持特性が一般的にメモリの電源電圧や周波数特性により変動することがあるためである。そのため、本実施形態では、プロセッサに供給する電源電圧やクロック信号の周波数を規格内で変更した上で、上記第1の実施形態において説明したメモリチェックを行うことにより、ソフトエラーの発生し易いプロセッサを予め検出するようにする。
【0052】
このようにしてメモリチェックを行うことによりソフトエラーの発生し易いプロセッサを検出して実際のシステムでは使用されないようにすることにより、ソフトエラーによりRAMに格納されたプログラムが破壊されプロセッサが誤動作を発生してシステムが停止してしまうという不具合の発生を未然に防ぐことが可能となる。
【0053】
本発明の第2の実施形態の情報処理装置は、図2に示すように、図1に示した第1の実施形態の情報処理装置に対して、DSP1専用の電源であり、DSP1に供給する電源電圧を制御する機能を備えたプログラマブル電源回路3と、DSP1専用のクロック信号を生成するための回路であり、DSP1に供給するクロック信号の周波数を制御する機能を備えたプログラマブルクロック(CLK)回路4とが新たに設けられていて、CPU5がCPU25に置き換えられている点が異なっている。
【0054】
CPU25は、図1に示したCPU5が有する機能に加えて、プログラマブル電源回路3により生成される電源電圧の制御を行う機能、およびプログラマブルCLK回路4により生成されるクロック信号の周波数の制御を行う機能を備えている。
【0055】
本実施形態では、DSP1は、共通電源回路9からではなく、プログラマブル電源回路3から電源電圧を供給されている。また、本実施形態では、DSP1は、CLK回路8からのCLK信号ではなく、プログラマブルCLK回路4からのCLK信号により動作を行っている。
【0056】
本実施形態の情報処理装置では、CPU25によりプログラマブル電源回路3の出力電圧を制御することにより、DSP1に供給される電源電圧を変更する。また、CPU25によりプログラマブルCLK回路4のクロック周波数を制御することにより、DSP1に供給されるクロック信号の周波数を変更する。
【0057】
本実施形態の情報処理装置では、CPU25によりプログラマブル電源回路3、プログラマブルCLK回路4を制御することにより、DSP1に供給する電源電圧およびクロック信号の周波数を変更して、不具合のあるDSP1を予め検出することができるので、実際の運用においてDSP1が誤動作を発生することを未然に防ぐことが可能となる。
【0058】
上記第1および第2の実施形態の情報処理装置では、内部にプログラムを格納するためのメモリを有するプロセッサとしてDSP1を用いた場合について説明しているが、本発明はこのような場合に限定されるものでははく、内部にプログラムを格納するためのメモリを有し、そのプログラムによって処理が行われるプロセッサであれば同様にして適用することができるものである。
【0059】
また、上記第1および第2の実施形態では、DSP1の内部にプログラムを格納するメモリ領域としてRAM10が設けられている場合を用いて説明しているが、本発明はこのような場合に限定されるものではなく、外部メモリにプログラムが格納され、DSP1がこの外部メモリに格納されているプログラムにより処理を行うような場合でも同様に適用することができるものである。
【0060】
【発明の効果】
以上説明したように、本発明によれば、RAM等の揮発性のメモリにプロセッサを制御するためのプログラムを格納するシステムにおいて、プロセッサの処理に負担をかけることなくRAMに書き込まれたプログラムの内容が書き換わっていないかチェックして、プログラムの内容が書き換わってしまった場合には書き換わったデータの修正を行うことができるという効果を得ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態の情報処理装置の構成を示すブロック図である。
【図2】本実施形態の情報処理装置の動作を示すフローチャートである。
【図3】チェックサムを説明するための図である。
【図4】本実施形態の情報処理装置の動作を示すタイミングチャートである。
【図5】本発明の第2の実施形態の情報処理装置の構成を示すブロック図である。
【符号の説明】
1 DSP
2 チェックおよび訂正制御部
3 プログラマブル電源回路
4 プログラマブルCLK回路
5 CPU
6 RAM
7 ROM
8 CLK回路
9 共通電源回路
10 RAM
25 CPU
101〜109 ステップ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus in which a program for controlling a processor is stored in a memory such as a RAM, and the processor is controlled by the program stored in the RAM, and in particular, the content of the program written in the RAM is The present invention relates to a memory check method for checking whether data has been rewritten.
[0002]
[Prior art]
In a memory such as a RAM used for storing data, it is required to correctly hold the written data. However, there is a phenomenon that the written data is destroyed due to the influence of alpha rays generated from radioactive elements contained in trace amounts of semiconductor materials and secondary cosmic ray neutrons generated when cosmic rays jump into the atmosphere. It has been pointed out. This phenomenon is called soft error, and measures such as lowering the impurity concentration of the semiconductor material and coating the semiconductor chip are taken.
[0003]
In recent years, the progress of processors (DSPs (Digital Signal Processors) and CPUs (Central Processing Units)) has been remarkable, but with the advancement of processes and the lowering of voltage, the probability of occurrence of the above-mentioned soft errors has increased, and the internal memory Operational problems have become prominent.
[0004]
Conventionally, it has been pointed out that a soft error is likely to occur in a DRAM that stores data in a capacitor element. However, in recent years, it is known that a soft error may occur not only in a DRAM (Dynamic Random Access Memory) but also in an SRAM (Static Random Access Memory) that stores data without using a capacitive element. (For example, refer
[0005]
In recent years, in information processing apparatuses, a program is stored in an internal memory such as a RAM, and a processor is controlled by the program stored in the internal memory. For this reason, when a soft error occurs in such an information processing apparatus and the contents of the program stored in the internal memory are rewritten, a situation occurs in which the worst system stops due to the program running away.
[0006]
If the contents of the program are rewritten in this way, even if the system is reset, the program itself is destroyed and cannot be restored normally, and the program is written again to the internal memory such as RAM. Is required.
[0007]
In particular, it becomes a problem in a device that is required to operate continuously, such as a radio base station device. In addition, even if a failure or the like occurs in such an apparatus, it is required to quickly restore the normal operation by shortening the time during which the system is stopped as much as possible.
[0008]
In order to prevent malfunction of the program and prevent the system from shutting down, there is a method that can be easily performed by periodically checking the memory with software and overwriting and correcting the part where the memory was rewritten. . However, the more severely the correction is made, the more processing is required for the software, and there is a demerit that the normal operation is affected and the operating program itself cannot be checked.
[0009]
Further, an information processing apparatus has been proposed in which the content of a program written in a RAM is checked by a CPU, and when there is an abnormality, the program is reloaded into the RAM (see, for example, Patent Document 1). .)
[0010]
In the information processing apparatus described in
[0011]
Furthermore, some recent DSPs and CPUs have their own internal memory with an FEC (Forward Error Correction) function. However, in order to realize the FEC function, the circuit configuration becomes complicated, and the processing of the DSP and CPU is burdened.
[0012]
[Patent Document 1]
JP 59-53952 A [Non-Patent Document 1]
Anthony Cataldo, “SRAM soft errors cause hard network problems”, [online], August 17, 2001, EE Times [searched March 11, 2001], Internet <URL: http://www.eetimes.com / story / OEG20010817S0073>
[0013]
[Problems to be solved by the invention]
The above-described conventional information processing apparatus has a problem that it is difficult to check the contents of a program written in the RAM without imposing a processing burden on the processor.
[0014]
It is an object of the present invention to check whether the contents of a program written in the RAM are rewritten without imposing a burden on the processing of the processor in a system in which a program for controlling the processor is stored in a volatile memory such as a RAM. To provide an information processing apparatus and a memory check method capable of checking and correcting the rewritten data when the contents of a program are rewritten.
[0015]
[Means for Solving the Problems]
In order to achieve the above object, an information processing apparatus of the present invention has a RAM for storing a program therein, and performs a process based on the program stored in the RAM;
It has a memory area with excellent memory retention characteristics as compared with the RAM provided in the processor, and when a program is stored in the RAM inside the processor, the same data as the program is stored in the memory area. And when the processor is in an idle state in which processing is not performed, a memory check is performed to check whether the contents of the program written in the RAM have been rewritten using the data stored in the memory area. And a check and correction control unit that corrects the data at the address determined to have been destroyed by the memory check based on the data stored in the memory area.
[0016]
According to the present invention, when the processor is in an idle state, the check and correction control unit provided outside the processor checks the contents of the program stored in the RAM inside the processor. Memory check can be performed without applying. Further, when the contents of the RAM have been rewritten, the program stored in the RAM is corrected based on the data contents stored in the memory area. Can prevent the system from malfunctioning due to runaway.
[0017]
In the other information processing apparatus of the present invention, the check and correction control unit compares a checksum written in an internal RAM of the processor with a checksum of data stored in the memory area. The memory check may be performed, and if the checksums do not match, the data stored in the RAM may be compared with the data stored in the memory area.
[0018]
According to the present invention, when the memory check is performed, the checksums are first compared, and the data is compared only when the checksums do not match. Therefore, the interrupt time for the processor can be reduced.
[0019]
Furthermore, in another information processing apparatus of the present invention, a programmable power supply circuit having a function of controlling a power supply voltage supplied to the processor,
And a programmable clock circuit having a function of controlling a frequency of a clock signal supplied to the processor.
[0020]
According to the present invention, since a defective processor can be detected in advance by changing the power supply voltage and the frequency of the clock signal supplied to the processor, it is possible to prevent malfunction of the processor.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0022]
(First embodiment)
FIG. 1 is a block diagram showing the configuration of the information processing apparatus according to the first embodiment of this invention.
[0023]
As shown in FIG. 1, the information processing apparatus according to the present embodiment includes a
[0024]
In the information processing apparatus of the present embodiment, a description will be given using a case where a program is stored in an internal RAM and the processor controlled by the program is a DSP, but the present invention is limited to such a case. However, any processor that is controlled by a program stored in the RAM can be applied in the same manner.
[0025]
The
[0026]
The
[0027]
The
[0028]
The
[0029]
The check and
[0030]
The check and
[0031]
When the
[0032]
When the “Ready” signal is input from the
[0033]
Next, a method for checking and correcting a program stored in the
[0034]
First, when a program is downloaded from the
[0035]
Then, check and
[0036]
First, a value A that designates an address to be checked is set to 0 (step 101). Then, the check and
[0037]
In
[0038]
Here, any memory check method may be used, but in order to reduce the interrupt time for the
[0039]
Here, the checksum is a total value obtained by adding data at a certain address. By calculating the checksum in advance and storing it together with the data, it becomes possible to know whether data rewriting has occurred. Yes. When program data is transferred from the
[0040]
A specific example of this checksum is shown in FIG. For example, in FIG. 3, when the address “1000” data program data “0011 2233 4455 6678899 AABB CCDD EEFF” is added to a value “abcd”, this “abcd” becomes the checksum at this address.
[0041]
When performing a checksum check, the checksums for each address may be compared, or a checksum obtained by totaling the checksums for a certain address is prepared in advance. May be compared.
[0042]
Then, the check and
[0043]
In
[0044]
Then, 1 is added to the value of A (step 107). However, if the program data of a plurality of addresses are simultaneously checked in one memory check, the value A is added for the addresses to be checked simultaneously.
[0045]
Finally, the check and
[0046]
The operation of the memory check of this embodiment is shown in the timing chart of FIG. Here, it is assumed that both the “Ready” signal and the “Check” signal are active low when they are low level.
[0047]
First, when shifting from the normal operation to the idle state, the
[0048]
If the
[0049]
By performing such processing, in the information processing apparatus according to the present embodiment, when the
[0050]
(Second Embodiment)
Next, an information processing apparatus according to the second embodiment of this invention will be described. The information processing apparatus according to the second embodiment of the present invention adds a function to stop normal operation and inspect whether there is a malfunction of the
[0051]
In some cases, the malfunction of the memory operation of the processor is difficult to occur unless the voltage is changed or the operation clock frequency is changed. This is because the retention characteristics of the memory used in the processor generally vary depending on the power supply voltage and frequency characteristics of the memory. For this reason, in this embodiment, a processor in which a soft error is easily generated by performing the memory check described in the first embodiment after changing the power supply voltage supplied to the processor and the frequency of the clock signal within the standard. Is detected in advance.
[0052]
By performing memory check in this way, detecting processors that are prone to soft errors and preventing them from being used in the actual system, the software stored in RAM is destroyed due to soft errors, causing the processor to malfunction. Thus, it is possible to prevent the occurrence of a problem that the system stops.
[0053]
As shown in FIG. 2, the information processing apparatus according to the second embodiment of the present invention is a dedicated power source for the
[0054]
The
[0055]
In the present embodiment, the
[0056]
In the information processing apparatus of the present embodiment, the
[0057]
In the information processing apparatus of this embodiment, the programmable power supply circuit 3 and the
[0058]
In the information processing apparatuses of the first and second embodiments, the case where the
[0059]
In the first and second embodiments, the case where the
[0060]
【The invention's effect】
As described above, according to the present invention, in a system that stores a program for controlling a processor in a volatile memory such as a RAM, the contents of the program written in the RAM without imposing a burden on the processing of the processor. It is possible to obtain an effect that the rewritten data can be corrected when the contents of the program are rewritten.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a configuration of an information processing apparatus according to a first embodiment of this invention.
FIG. 2 is a flowchart showing the operation of the information processing apparatus according to the present embodiment.
FIG. 3 is a diagram for explaining a checksum.
FIG. 4 is a timing chart showing an operation of the information processing apparatus according to the embodiment.
FIG. 5 is a block diagram illustrating a configuration of an information processing apparatus according to a second embodiment of this invention.
[Explanation of symbols]
1 DSP
2 Check and Correction Control Unit 3 Programmable
6 RAM
7 ROM
8
25 CPU
101-109 steps
Claims (5)
前記プロセッサに備えられたRAMと比較してメモリ保持特性の優れたメモリ領域を内部に有し、前記プロセッサの内部のRAMにプログラムが格納される際、該プログラムと同内容のデータを前記メモリ領域に格納し、前記プロセッサが処理を行っていないアイドル状態となると、前記メモリ領域に格納されたデータを用いて前記RAMに書き込まれたプログラムの内容が書き換わっていないかどうかを確認するメモリチェックを行い、メモリチェックによりデータが破壊されていると判定されたアドレスのデータを前記メモリ領域に格納されたデータに基づいて修正するチェックおよび訂正制御部を有することを特徴とする情報処理装置。A processor having a RAM for storing a program therein, and performing processing based on the program stored in the RAM;
It has a memory area with excellent memory retention characteristics as compared with the RAM provided in the processor, and when a program is stored in the RAM inside the processor, the same data as the program is stored in the memory area. And when the processor is in an idle state in which processing is not performed, a memory check is performed to check whether the contents of the program written in the RAM have been rewritten using the data stored in the memory area. An information processing apparatus comprising: a check and correction control unit that performs correction and corrects data at an address determined to have been destroyed by a memory check based on data stored in the memory area.
前記プロセッサに供給するクロック信号の周波数を制御する機能を備えたプログラマブルクロック回路とをさらに有する請求項1または2記載の情報処理装置。A programmable power supply circuit having a function of controlling a power supply voltage supplied to the processor;
The information processing apparatus according to claim 1, further comprising a programmable clock circuit having a function of controlling a frequency of a clock signal supplied to the processor.
前記プロセッサの内部のRAMにプログラムが格納される際、該プログラムと同内容のデータを、前記RAMと比較してメモリ保持特性の優れたメモリ領域に格納するステップと、
前記プロセッサが処理を行っていないアイドル状態となると、前記メモリ領域に格納されたデータを用いて前記RAMに書き込まれたプログラムの内容が書き換わっていないかどうかを確認するメモリチェックを行うステップと、
メモリチェックによりデータが破壊されていると判定されたアドレスのデータを前記メモリ領域に格納されたデータに基づいて修正するステップとを有するメモリチェック方法。A memory check method for checking whether the contents of a program written in the RAM have been rewritten in an information processing apparatus that performs processing of the processor based on a program stored in a RAM provided in the processor. And
When a program is stored in an internal RAM of the processor, storing data having the same contents as the program in a memory area having superior memory retention characteristics compared to the RAM;
When the processor is in an idle state in which processing is not performed, performing a memory check for confirming whether the contents of the program written in the RAM have been rewritten using the data stored in the memory area;
A memory check method comprising: correcting data at an address determined to have been destroyed by the memory check based on the data stored in the memory area.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094237A JP4174665B2 (en) | 2003-03-31 | 2003-03-31 | Information processing apparatus and memory check method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003094237A JP4174665B2 (en) | 2003-03-31 | 2003-03-31 | Information processing apparatus and memory check method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004302792A JP2004302792A (en) | 2004-10-28 |
JP4174665B2 true JP4174665B2 (en) | 2008-11-05 |
Family
ID=33406840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003094237A Expired - Fee Related JP4174665B2 (en) | 2003-03-31 | 2003-03-31 | Information processing apparatus and memory check method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4174665B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4998681B2 (en) * | 2006-07-10 | 2012-08-15 | 富士ゼロックス株式会社 | Information processing apparatus, operation method of information processing apparatus, and program |
JP5233290B2 (en) * | 2008-01-21 | 2013-07-10 | 日本電気株式会社 | Memory judgment system |
JP6130735B2 (en) * | 2013-05-29 | 2017-05-17 | サイプレス セミコンダクター コーポレーション | Microcontroller and error detection method |
CN107197160B (en) * | 2017-06-30 | 2019-01-22 | 维沃移动通信有限公司 | A kind of self checking method and mobile terminal of digital signal processor DSP |
-
2003
- 2003-03-31 JP JP2003094237A patent/JP4174665B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004302792A (en) | 2004-10-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12074616B2 (en) | Semiconductor memory device and method of controlling the same | |
US11398264B2 (en) | Methods and apparatus for dynamically adjusting performance of partitioned memory | |
KR102198611B1 (en) | Method of correcting error in a memory | |
US8135991B2 (en) | Semiconductor device and processing method for starting the same | |
US9619318B2 (en) | Memory circuits, method for accessing a memory and method for repairing a memory | |
US20160266964A1 (en) | Programmable logic circuit device and error detection method therefor | |
KR100837274B1 (en) | Flash memory device with auto multi-page copyback function and block replacement method thereof | |
WO2015160835A1 (en) | Systems and methods for recovering from uncorrected dram bit errors | |
US20080256416A1 (en) | Apparatus and method for initializing memory | |
JP4174665B2 (en) | Information processing apparatus and memory check method | |
JP2008091012A (en) | Electronic device, method of operating electronic device, memory circuit, and method of operating memory circuit | |
US7240272B2 (en) | Method and system for correcting errors in a memory device | |
US11182231B2 (en) | Host system and computing system including the host system | |
US20080294961A1 (en) | Method and apparatus for reading data | |
US11955989B2 (en) | Memory device and test method thereof | |
JPS60225954A (en) | Storage device | |
JP2014016892A (en) | Semiconductor memory device and method of controlling the same | |
JP2001101084A (en) | Memory device with error detecting and correcting function and error detecting and correcting device | |
CN118672822A (en) | FPGA soft error resistance method and device | |
JP2010176333A (en) | Computer device, data storage method, and storage processing program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20050107 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050107 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060131 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080715 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080723 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110829 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120829 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130829 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |