JP4174665B2 - Information processing apparatus and memory check method - Google Patents

Information processing apparatus and memory check method Download PDF

Info

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
Application number
JP2003094237A
Other languages
Japanese (ja)
Other versions
JP2004302792A (en
Inventor
裕仁 矢島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2003094237A priority Critical patent/JP4174665B2/en
Publication of JP2004302792A publication Critical patent/JP2004302792A/en
Application granted granted Critical
Publication of JP4174665B2 publication Critical patent/JP4174665B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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 nonpatent literature 1.).
[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 Patent Document 1, since the CPU itself checks the contents of the RAM, if the CPU itself malfunctions, it cannot return to normal operation. In addition, in this conventional information processing apparatus, a control program for performing normal operation and a diagnostic program for performing a memory check are switched, but it does not change that a memory check is performed by software. it means that over the burden to the software processing. In addition, a certain amount of time is required to perform processing for switching between the control program and the diagnostic program. For this reason, it is not always possible to check the contents of the program written in the RAM without placing a processing burden on the processor with the conventional technique described in Patent Document 1 described above.
[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 DSP 1, a check and correction control unit 2, a CPU 5 that controls the DSP 1 and other circuits, a RAM 6 and a ROM 7 that are memories for the CPU 5, and a CPU 5. And a CLK circuit 8 for generating CLK used in the DSP 1 and a common power supply circuit 9.
[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 DSP 1 that is the target of the memory check is controlled by the CPU 5. The DSP 1 normally operates by downloading a processor program via the CPU 5 and downloading the program.
[0026]
The DSP 1 has a RAM 10 for storing a program therein, and performs main arithmetic processing based on the program written in the RAM 10. The DSP 1 outputs a “Ready” signal to the check and correction circuit 2 when it enters an idle state in which processing is not performed, and stops outputting the “Ready” signal when the idle state ends.
[0027]
The CLK circuit 8 generates CLK used in the CPU 5 and the DSP 1. The common power supply circuit 9 supplies power to the DSP 1, the check and correction control unit 2, the CPU 5, the RAM 6, the ROM 7, and the CLK circuit 8.
[0028]
The CPU 5, the DSP 1, and the check and correction control unit 2 are connected to each other by a bus line. The DSP 1 and the check and correction control unit 2 are also connected by a bus line. In each bus line, address data and program data are transmitted.
[0029]
The check and correction control unit 2 performs memory check of the RAM 10 provided in the DSP 1, correction of the program stored in the RAM 10, and storage of the program stored in the RAM 10.
[0030]
The check and correction control unit 2 has a memory area with excellent memory retention characteristics as compared with the RAM 10 provided in the DSP 1. When the program is stored in the RAM 10 inside the DSP 1 from the CPU 5, Stores the same data as the program in the memory area.
[0031]
When the RAM 10 provided in the DSP 1 is an SRAM, the memory area of the check and correction control unit 2 is a nonvolatile memory, such as a ferroelectric memory (FeRAM: Ferroelectric RAM) or a flash memory, which is unlikely to generate a soft error. Is used. As described above, it is generally known that soft errors often occur in DRAMs and SRAMs. On the other hand, it is considered that a nonvolatile memory such as a ferroelectric memory or a flash memory has a low possibility of data being destroyed due to a soft error due to a structural reason for storing the data.
[0032]
When the “Ready” signal is input from the DSP 1 and the check and correction control unit 2 knows that the DSP 1 is in an idle state where no processing is performed, the check and correction control unit 2 uses the data stored in the memory area provided therein. Then, a memory check is performed to confirm whether or not the contents of the program written in the RAM 10 have been rewritten, and a “Check” signal is output to notify the DSP 1 that the memory check is to be performed. In this memory check, if it is determined that the contents of the program stored in the RAM 10 are destroyed, the check and correction control unit 2 stores the data at the address determined to be destroyed in the RAM 10. Modify based on data stored in memory area.
[0033]
Next, a method for checking and correcting a program stored in the RAM 10 inside the DSP 1 in the information processing apparatus of this embodiment will be described in detail with reference to the drawings.
[0034]
First, when a program is downloaded from the CPU 5 to the DSP 1 via the bus line, data having the same contents as the program is also transferred to the check and correction control unit 2 via the bus line. In the DSP 1, the downloaded program is stored in the RAM 10, and in the check and correction control unit 2, data having the same content as this program is stored in an internal memory area.
[0035]
Then, check and correction control section 2 performs a memory check RAM10 according to the flowchart shown in FIG.
[0036]
First, a value A that designates an address to be checked is set to 0 (step 101). Then, the check and correction control unit 2 determines whether or not the “Ready” signal from the DSP 1 is active (step 102), and waits until the “Ready” signal becomes active. Since the DSP 1 outputs a “Ready” signal to the check and correction circuit 2 when it enters the idle state, the check and correction control unit 2 continues to wait until the DSP 1 enters the idle state.
[0037]
In step 102, when the “Ready” signal becomes active, the check and correction control unit 2 makes the “Check” signal active and notifies the DSP 1 that a memory check is performed (step 103), and then the memory at address A in the RAM 10 The contents are checked (step 104). During the memory check, the check and correction control unit 2 performs an operation of applying “Wait” to the DSP 1 by outputting a “Check” signal to the DSP 1.
[0038]
Here, any memory check method may be used, but in order to reduce the interrupt time for the DSP 1, first, only the checksum for each word is checked, and the data can be rewritten by checking with the checksum. When it is determined that there is a possibility, a detailed memory check for comparing the data of the address is performed for the first time.
[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 CPU 5 to the DSP 1 and the check and correction control unit 2, this checksum is also transferred.
[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 correction control unit 2 identifies the location where the data is rewritten by comparing the data of the addresses whose checksums do not match.
[0043]
In step 105, if the result of the memory check is NG (when it is determined that the contents of the memory have been rewritten), the correct data is obtained from the check and correction control unit 2 for the address A that has become NG in the memory check. The data of address A is corrected by performing an operation of writing to the internal RAM 10 (step 106).
[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 correction control unit 2 confirms whether or not the “Ready” signal from the DSP 1 is active (step 108), and if it is active, proceeds to step 104 where the memory check is continued, If it is inactive, the “Check” signal is made inactive to end the memory check (step 109).
[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 DSP 1 sets “Ready” to the low level to be active (time t 1 ). Then, the check and correction control unit 2 sets the “Check” signal to an active low level and starts a memory check (time t 2 ).
[0048]
If the DSP 1 quits the idle state and returns to the normal operation while the check and correction control unit 2 is performing the memory check, the DSP 1 sets the “Ready” signal to the inactive high level (time t 3 ). . Then, the check and correction control unit 2 stops the memory check and sets the “Check” signal to the inactive high level (time t 4 ).
[0049]
By performing such processing, in the information processing apparatus according to the present embodiment, when the DSP 1 is in the idle state, the program stored in the RAM 10 inside the DSP 1 by the check and correction control unit 2 provided outside the DSP 1. Therefore, it is possible to perform a memory check without imposing a load on the DSP 1. When the contents of the RAM 10 have been rewritten, the program stored in the RAM 10 is corrected based on the data contents stored in the memory area provided in the check and correction control unit 2. Therefore, it is possible to prevent the system from malfunctioning due to the runaway of the processor in the worst case.
[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 DSP 1 with respect to the first information processing apparatus shown in FIG. Is.
[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 DSP 1 and supplies the information to the DSP 1 with respect to the information processing apparatus according to the first embodiment shown in FIG. A programmable power supply circuit 3 having a function of controlling a power supply voltage and a circuit for generating a clock signal dedicated to the DSP1, and a programmable clock (CLK) circuit having a function of controlling the frequency of the clock signal supplied to the DSP1 4 is newly provided, and the CPU 5 is replaced with the CPU 25.
[0054]
The CPU 25 has a function of controlling the power supply voltage generated by the programmable power supply circuit 3 and a function of controlling the frequency of the clock signal generated by the programmable CLK circuit 4 in addition to the functions of the CPU 5 shown in FIG. It has.
[0055]
In the present embodiment, the DSP 1 is supplied with a power supply voltage from the programmable power supply circuit 3 instead of from the common power supply circuit 9. In the present embodiment, the DSP 1 operates by using the CLK signal from the programmable CLK circuit 4 instead of the CLK signal from the CLK circuit 8.
[0056]
In the information processing apparatus of the present embodiment, the CPU 25 changes the power supply voltage supplied to the DSP 1 by controlling the output voltage of the programmable power supply circuit 3. Further, the CPU 25 controls the clock frequency of the programmable CLK circuit 4 to change the frequency of the clock signal supplied to the DSP 1.
[0057]
In the information processing apparatus of this embodiment, the programmable power supply circuit 3 and the programmable CLK circuit 4 are controlled by the CPU 25 to change the power supply voltage supplied to the DSP 1 and the frequency of the clock signal, thereby detecting the defective DSP 1 in advance. Therefore, it is possible to prevent the DSP 1 from malfunctioning in actual operation.
[0058]
In the information processing apparatuses of the first and second embodiments, the case where the DSP 1 is used as a processor having a memory for storing a program therein is described, but the present invention is limited to such a case. The present invention can be applied in the same manner as long as it is a processor that has a memory for storing a program therein and performs processing by the program.
[0059]
In the first and second embodiments, the case where the RAM 10 is provided as a memory area for storing a program in the DSP 1 is described. However, the present invention is limited to such a case. However, the present invention can be similarly applied even when the program is stored in the external memory and the DSP 1 performs processing using the program stored in the external memory.
[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 Power Supply Circuit 4 Programmable CLK Circuit 5 CPU
6 RAM
7 ROM
8 CLK circuit 9 Common power supply circuit 10 RAM
25 CPU
101-109 steps

Claims (5)

内部にプログラムを格納するためのRAMを有し、該RAMに格納されたプログラムに基づいて処理を行うプロセッサと、
前記プロセッサに備えられた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.
前記チェックおよび訂正制御部は、前記プロセッサの内部のRAMに書き込まれたチェックサムと、前記メモリ領域に格納されたデータのチェックサムとを比較することによりメモリチェックを行い、チェックサムが一致しない場合に、前記RAMに格納されたデータと前記メモリ領域に格納されたデータとの比較を行う請求項1記載の情報処理装置。The check and correction control unit performs a memory check by comparing a checksum written in an internal RAM of the processor with a checksum of data stored in the memory area, and the checksum does not match The information processing apparatus according to claim 1, wherein the data stored in the RAM is compared with the 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にプログラムが格納される際、該プログラムと同内容のデータを、前記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.
前記メモリチェックを行うステップが、前記プロセッサの内部のRAMに書き込まれたチェックサムと、前記メモリ領域に格納されたデータのチェックサムとを比較することによりメモリチェックを行い、チェックサムが一致しない場合に、前記RAMに格納されたデータと前記メモリ領域に格納されたデータとの比較を行う請求項4記載のメモリチェック方法。When the memory check is performed by comparing the checksum written in the internal RAM of the processor with the checksum of the data stored in the memory area, and the checksums do not match 5. The memory check method according to claim 4, wherein the data stored in the RAM is compared with the data stored in the memory area.
JP2003094237A 2003-03-31 2003-03-31 Information processing apparatus and memory check method Expired - Fee Related JP4174665B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP2004302792A (en) 2004-10-28

Similar Documents

Publication Publication Date Title
US20210266014A1 (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
US20160266964A1 (en) Programmable logic circuit device and error detection method therefor
EP2770507B1 (en) Memory circuits, method for accessing a memory and method for repairing a memory
WO2015160835A1 (en) Systems and methods for recovering from uncorrected dram bit errors
JP2008165449A (en) Error correction code generation method and memory control device
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
US20080294961A1 (en) Method and apparatus for reading data
US11182231B2 (en) Host system and computing system including the host system
JP2010140167A (en) Semiconductor integrated circuit
US11955989B2 (en) Memory device and test method thereof
JPS60225954A (en) Storage device
JP2014016892A (en) Semiconductor memory device and method of controlling the same
US20220336035A1 (en) Memory apparatus and semiconductor system including the same
JP2001101084A (en) Memory device with error detecting and correcting function and error detecting and correcting 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