JP2010097432A - Ram診断装置、そのプログラム - Google Patents

Ram診断装置、そのプログラム Download PDF

Info

Publication number
JP2010097432A
JP2010097432A JP2008267863A JP2008267863A JP2010097432A JP 2010097432 A JP2010097432 A JP 2010097432A JP 2008267863 A JP2008267863 A JP 2008267863A JP 2008267863 A JP2008267863 A JP 2008267863A JP 2010097432 A JP2010097432 A JP 2010097432A
Authority
JP
Japan
Prior art keywords
ram
data
diagnosis
processing
diagnostic
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.)
Granted
Application number
JP2008267863A
Other languages
English (en)
Other versions
JP5504604B2 (ja
Inventor
Koji Nishida
廣治 西田
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.)
Fuji Electric Co Ltd
Original Assignee
Fuji Electric Holdings Ltd
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 Fuji Electric Holdings Ltd filed Critical Fuji Electric Holdings Ltd
Priority to JP2008267863A priority Critical patent/JP5504604B2/ja
Publication of JP2010097432A publication Critical patent/JP2010097432A/ja
Application granted granted Critical
Publication of JP5504604B2 publication Critical patent/JP5504604B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】特にリアルタイム性が必要な処理がRAM診断処理によって妨害されないようにする。
【解決手段】RAM診断管理テーブル11には、RAM1内の各エリア毎に、そのエリアに格納するデータのデータ種別、ポインタ、診断トリガー、診断手法、診断間隔(診断周期)やタスクレベル等の各種属性情報等からなる管理情報が記憶される。特に、各データ種別毎に適切な診断手法が予め決定されて登録されている。割込関連データ処理部12等の各種機能部は、RAM診断管理テーブル11が示す内容に応じた診断処理を実行する。また、診断処理にはタスクレベルが割り当てられ、診断処理中であってもよりタスクレベルが高い処理が発生した場合には、割り込みを行わせる。
【選択図】 図1

Description

本発明は、RAMの故障診断装置に関する。
従来より、パソコン等の情報処理装置やCPUを内蔵したICカード等においては、故障等の有無を診断する診断機能が付加されている。この診断処理はCPUが行うものであり、CPUは自己診断の他、RAMやROM等の故障診断を行う。たとえば、揮発性メモリであるRAMに対する故障診断処理(RAM診断)は、通常、CPUによってRAMの各アドレスに所定のデータを書き込み、続いて、このデータを読み出して、これが正しいデータであるか否かを判定することによって行われる。
ここで、特許文献1や非特許文献1に開示される従来技術が知られている。
特許文献1の従来技術では、オンライン中に所定の周期で割込み禁止をした状態でメモリの診断を時間的に分割して全領域をおこなっている。
非特許文献1にはRAM診断の各種のアルゴリズムと当該アルゴリズムの診断効果が記載されている。
特開2000−66965号公報 JIS C 0508 電気・電子・プログラマブル電子安全関連系の機能安全
特許文献1では周期的にRAM診断のために割込み禁止となる。当該RAM診断方式では全RAMが診断対象となるため、リアルタイム性が必要な処理が妨害されずにリアルタイム性を保つには全RAMの診断を一巡する周期を長くする必要がある。しかし一巡する周期を長くすると異常発生から異常検知までの時間も長くなるという問題が発生する。
非特許文献1にはRAM診断の各種のアルゴリズムと当該アルゴリズムの診断効果が記載されているが、診断効果の高いアルゴリズムによってはRAMの大きさによって1回の診断時間が数日かかるなど実現できない場合がある。また、実現できたとしてもリアルタイム性が必要な処理が診断処理により妨害され、リアルタイム性が保てない場合がある。
また、非特許文献1にはRAMの診断方法のアルゴリズムが述べられているが、実装方法については記載されていない。また、非特許文献1に記載されているDouble RAM with hardware or software comparison and read/write test のアルゴリズムは(以降、反転二重化と呼ぶ)、アプリケーションプロブラムが書き込むデータ(アプリケーションデータ)には容易に適用できるが、スタックデータやDMA(Direct Memory Access)データが使用しているRAMエリアの診断には容易には適用できない(OSやハードウェアが書き込み制御をしている為)。
尚、上記反転二重化の診断手法では、RAMに格納する任意のデータに対してその反転データ(ビット反転したデータ;例えば0101→1010)を生成して、この反転データも格納する。そして、診断処理を行う際には、上記格納した任意のデータとその反転データを読出して、この反転データを反転して(例えば1010→0101)これが任意のデータと一致するか否かを判定するものである。RAMに異常が無ければ両者は一致するはずであり、不一
致である場合には異常有りと判定して、所定の異常対応処理を実行する。
本発明の課題は、アプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータ等の各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行するRAM診断装置において、予め登録される管理情報に基づいて、各格納エリア毎に個別のタイミングで適切な診断手法により診断処理を行うことができ、それによってリアルタイム性が必要な処理がRAM診断処理によって妨害され難く、更にRAM診断処理中であっても割り込みを可能とすることで、上記リアルタイム性が必要な処理をリアルタイム性を保って実行させることができるRAM診断装置、そのプログラム等を提供することにある。
本発明のRAM診断装置は、アプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータの各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行するRAM診断装置であって、各種管理情報に基づいて、前記各格納エリア毎にその格納データのリード/ライト制御を行うと共に、前記各格納エリアに対して、その格納エリアのRAM診断を行うものと判定したときに、その格納エリアに対応するRAM診断手法を用いてその格納エリアに対するRAM診断処理を実行するRAM制御/診断処理手段と、前記RAM制御/診断処理手段に関する前記各種管理情報を予め前記各格納エリアに記憶しておくRAM診断管理情報記憶手段とを有する。
上記構成のRAM診断装置によれば、予め登録される各種管理情報に基づいて各格納エリア毎に個別のタイミングで適切な診断手法により診断処理を行うことができ、それによってリアルタイム性が必要な処理がRAM診断処理によって妨害され難くなる。
上記RAM診断装置において、更に、例えば、前記RAM診断処理手段は、前記RAM診断処理に対して所定のタスクレベルを割り当てて実行し、該RAM診断処理実行中に該RAM診断処理のタスクレベルよりも高いレベルのタスクが発生した場合には、該RAM診断処理を中断して該タスクを実行させる。
一般的な従来技術では、RAM診断処理中は割り込み禁止となるので、特にRAM全体に対して一度にRAM診断処理を実行する場合、実行時間が非常に長くなり、リアルタイム性が必要な処理がRAM診断処理によって長時間妨害されることになり、問題が大きかった。これに対して、上記特許文献1の手法では、RAM診断処理中は割り込み禁止となる点は一般的な従来技術と同じであるが、メモリ診断を時間的に分割しており、RAM全体に対して一度にRAM診断処理を実行するのではなく、1回のRAM診断処理ではRAMの領域の一部のみを処理対象としている。よって、1回当たりのRAM診断処理時間は短くて済むが、その間は割り込み禁止なので、リアルタイム性が必要な処理を実行できない。
これに対して、上記本発明のRAM診断装置では、RAM診断処理中でも割り込み禁止とすることなく、RAM診断処理に対して所定のタスクレベルを割り当てて実行することで、上記問題を解決できる。すなわち、上記リアルタイム性が必要な処理は、通常、そのタスクレベルは高いので、RAM診断処理実行中にリアルタイム性が必要な処理が発生した場合には、割り込みによりリアルタイム性が必要な処理を実行することができる。
また、例えば、前記各格納エリアのうち前記スタックデータに関する格納エリアは、任意のスタックデータと該スタックデータの反転データである反転スタックデータを格納するものであり、前記RAM制御/診断処理手段は、スタック割り込み処理によるスタック
データ書き込みの際に、該スタックデータの反転データを生成し、該スタックデータとその反転データとを前記スタックデータに関する格納エリアに格納し、該格納エリアからスタックデータを読み出す際には、前記スタックデータとその反転データを用いる反転二重化処理により該格納エリアのRAM診断処理を実行する。
従来では、スタックデータに関しては反転二重化方式は適用できなかったが、本発明のRAM診断装置では上記構成により適用可能となる。既存の一般的なRAM診断手法として例えば“ギャルパット”、“アブラハム”等の所謂「メモリ読み書き」によるRAM診断処理が知られているが、反転二重化方式は「メモリ読み書き」によるRAM診断処理よりも処理時間が短くて済むことが期待でき、スタックデータに対しても反転二重化方式を適用可能とすることで、RAM診断処理の効率が向上することが期待できる。
また、例えば、前記RAM制御/診断処理手段による前記各DMAデータを格納する各格納エリアで、各DMAエリア対するRAM診断処理に関しては、前記管理情報に応じて、チェックコードによるRAM診断処理を行うDMAエリアと、定期的に「メモリ読み書き」によるRAM診断処理を行うDMAエリアとがある。
DMAデータに関しても、チェックコードによる簡易なRAM診断処理が適用可能なものに対しては、チェックコードによるRAM診断処理を行うことで、RAM診断処理の効率が向上することが期待できる。
本発明のRAM診断装置によれば、特にアプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータ等の各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行する場合において、予め登録される管理情報に基づいて、各格納エリア毎に個別のタイミングで適切な診断手法により診断処理を行うことができ、それによってリアルタイム性が必要な処理がRAM診断処理によって妨害され難くでき、更にRAM診断処理中であっても割り込みを可能とすることで、上記リアルタイム性が必要な処理をリアルタイム性を保って実行させることができる。
以下、図面を参照して本発明の実施の形態について説明する。
図1は、本例のRAM診断システムの構成ブロック図である。
図1において、RAM1は、本例のRAM診断システムの診断対象であるRAMを示すものである。
CPU20は、ROM10とRAM1を制御する。特に、ROM10に格納された各種アプリケーションプログラムを読出し実行し、その際、必要に応じてROM10に格納された各種データを参照することで、RAM1に対するデータ・リード・ライト制御や、RAM1の診断を実行する。尚、上記ROM10に格納された各種アプリケーションプログラムや各種データを、RAM1に格納する構成であってもよく、この場合には当然CPU20はRAM1からアプリケーションプログラム等を読み出して実行することになる。
ROM10は、まず、RAM診断管理テーブル11を記憶している。このRAM診断管理テーブル11は、本方式のRAMオンライン診断方式の管理をするためのテーブルであり、具体例は図2に示し、後に説明する。
また、ROM10は、割込関連データ処理部12、アプリケーションデータ書込処理部13、データ読込処理部14、RAM診断処理部15の各種アプリケーションプログラム
を記憶している。CPU20が、これら各種アプリケーションプログラムを読出・実行することにより、これら各種処理部12〜15の後述する機能処理が実現される。その意味で、これら各種処理部12〜15は、CPU20内に示しても良い。以下の説明では、これら各種処理部12〜15は、CPU20によって読出・実行されるものであることを前提とする。つまり、これら各種処理部12〜15は、ROM10に記憶されたアプリケーションプログラム自体を意味するものではなく、これらプログラムがCPU20によって読出・実行されてなる各種処理機能部を意味するものとする。
尚、これら割込関連データ処理部12、アプリケーションデータ書込処理部13、データ読込処理部14、RAM診断処理部15をまとめて1つの機能処理部と見做してもよく、この1つの機能処理部を例えばRAM制御/診断処理部と言うものとする。
まず、割込関連データ処理部12は、任意の割込のタイミングで又は定期的に、RAM診断に関係する処理を行う機能部であり、その処理の一例を図3Aのフローチャート図に示し、後に説明する。
アプリケーションデータ書込処理部13は、通常のデータエリアへ反転二重化方式のRAM診断を適用するためのデータ書込処理を行う処理機能部である。つまり、任意のアプリケーションデータをRAM1に書き込む際に、後にデータ読込処理部14によってこのデータを読出す際に反転二重化方式でのRAM診断を行わせる為に、このデータとこのデータの反転データとをRAM1に書き込む処理を行うものである。その処理の一例を図4のフローチャート図に示し、後に説明する。
尚、上記“通常のデータエリア”とは、ここでは、CPU20が実行する任意のアプリケーションによってRAM1に対して読み書きされるデータであって、後述する「固定データ」以外のデータの書き込み領域を意味するものとする。
データ読込処理部14は、反転二重化方式で反転二重化のデータ読込みとRAM診断処理を行う処理機能部である。つまり、任意のアプリケーションデータを読み出す際に、上記の通り、アプリケーションデータ書込処理部13によってこのデータの反転データもRAMに記憶されているので、これら読出し対象のデータ及びその反転データを読み出して、反転二重化方式でのRAM診断を行うものである。その処理の一例を図5のフローチャート図に示し、後に説明する。
RAM診断処理部15は、RAM1のメモリ読み書きによる一般的なRAM診断処理を行う処理機能部である。その処理の一例を図6を参照して後に説明する。
図2(a)は、RAM診断管理テーブル11のデータ構成例である。
RAM診断管理テーブル11は、各種データ毎の格納エリアを有するRAM1の当該各格納エリア毎に、そのデータ種別に応じた各種管理情報を記憶するものである。各種データ(データ種別)とは、例えば後述するアプリケーションデータ、スタックデータ、DMAデータ、固定データ等である。
図示の例では、RAM診断管理テーブル11は、番号31、領域種別とポインタ32、領域サイズ33、診断トリガー34、診断手法35、属性36等の各種管理情報を記憶する。
番号31は、RAM診断管理テーブル11の各データ(レコード)を特定するための一意の通し番号である。
領域種別とポインタ32(以下の説明ではポインタ32と記す)は、RAM1における
各種データ記憶領域(エリア)の領域種別と先頭アドレスである。例えば、番号31=1のレコードにおいては領域種別(=スタックエリア)とその先頭ポインタが格納され、番号31=2のレコードにおいては領域種別(=反転スタックエリア)とその先頭ポインタが格納される。これより、以下の説明では逐一述べないが、RAM診断管理テーブル11において処理対象のデータ(場合によってはその反転データ)に対応するレコードは、ポインタ32を参照することで判別する。
尚、図2(a)に示す番号31=‘6’のレコードのポインタ32に示すデータエリアとは、アプリケーションのデータを格納するエリアであり、番号31=‘7’のレコードのポインタ32に示す反転データエリアとは、このアプリケーションのデータの反転データを格納するエリアを意味する。上記アプリケーションのデータとは、CPU20が実行する任意のアプリケーションによってRAM1に対して読み書きされるデータを意味するが、ここではそのうちの「固定データ以外のデータ」を意味するものとする。上述した“通常のデータエリア”が、上記番号31=‘6’のレコードのポインタ32に示すデータエリアに相当する。つまり、上記アプリケーションのデータは、上述した“通常のデータエリア”に格納されるデータである。
尚、この様に、アプリケーションのデータだけでなく、スタックデータに関してもその反転データを格納するエリアを設け且つスタックデータ格納の際に反転データを生成して格納することで、スタックデータに関してもRAM診断手法として反転二重化方式を適用可能としたことも、本手法の特徴の1つである。詳しくは後述する。
尚、スタックエリア、反転スタックエリアに関しては、上記先頭ポインタだけでなく、後述するように最後に積んだデータの位置を示すポインタも別途記憶管理している。
領域サイズ33は、上記各種データ記憶領域(エリア)のサイズである。
診断トリガー34は、上記各種データ記憶領域(エリア)に対してRAM診断処理を実行するトリガーである。診断手法35は、上記各種データ記憶領域(エリア)に対するRAM診断処理の診断手法である。診断手法35は、各データ種別毎に最適な診断手法を、予め実験等により求めて、登録しておくものである。これは、例えば実験により各データ種別毎に各種診断手法を適用してみて、各データ種別毎に最も処理時間が短かったものを最適な/適切な診断手法と判断するものである。
診断トリガー34は、例えば上記スタックデータや上述した“アプリケーションのデータ”の記憶領域に関しては、図示の番号31=1,2,6,7のレコードに示すように、スタック割込、アプリ呼び出しとなっている。すなわち、スタック処理(スタックデータの書込/読出)や、アプリケーションによる任意のデータの書込/読出処理の際に、診断処理を行うものである。これは、詳しくは後述するように、書き込み処理の際に、書き込み対象データだけでなくその反転データも生成・格納し、異常か否かを診断する処理は、データ読出し処理の際に行う。尚、反転データを用いるのは、スタック割込、アプリ呼び出しの場合、診断手法35が反転二重化方式であるからである。
一方、DMAエリアに関しては、DMAデータの書込/読出処理はCPU20では管理・検知できない。すなわち、上記のように書込/読出のタイミングで診断処理を行うことは出来ないので、診断トリガー34は定周期となっている。つまり、予め設定される時間間隔で定期的に診断処理を行う。そして、各DMAデータの格納領域である各DMAエリアに関しては、図示の番号31=3,4等のレコードに示す通り、診断手法35は「メモリ読み書き」である。この「メモリ読み書き」は、既存の一般的な診断手法であり、ここでは後に図6で説明するアブラハム方式を用いるが、この例に限らない(例えばギャルパット方式等であってもよい)。
但し、各DMAエリアのうち、DMA処理終了時にアクセスされるエリア(図示の例では番号31=5であるDMAnエリア)に関しては、そのときにDMA終了割込がCPU20に入力されるので、これを診断処理のトリガーとする。また、その際にCRC(Cyclic Redundancy Check;巡回冗長検査)データ(一般的に例えば16bit)も一緒に入力されるので、CRCを用いる診断手法35を適用している。
また、アプリケーションが扱うデータのうち、図示の番号=8等のレコードで示す閾値の固定的な(つまり、書換/更新が行われない)データである固定データに関しては、図示の通り、診断トリガー34は定周期であり、診断手法35はCRCである。
属性36は、診断手法に付随する各種データであり、ここでは自己診断率等のデータである。自己診断率については後述するが、“99%”や“90%”で表される割合を指す。更に、定周期で診断を行うエリアに関しては、その診断間隔とタスクレベルが設定されている。また、上記DMAnエリアに関しても、タスクレベルが設定される。
ここで、これらのエリアに関してタスクレベルを設定する理由について説明する。
まず、例えばリアルタイムオペレーティングシステム等においては、各タスクに優先度が割り当てられ、タスクの優先度(ここではレベルという)に基づいてタスク実行スケジューリングを行うことが知られている。あるタスクレベルのタスクを実行中に、これよりもレベルが高いタスクを実行可能となった場合には、即座にタスク切替を行うものである。
そして、図7(a)に示すように従来ではRAM診断処理中は一切の割り込みを禁止していたのに対して、図7(b)に示すように本手法ではRAM診断処理中であっても割り込み可能となっている。これは、RAM診断処理のレベルよりも高いレベルのタスク等からの割り込みを許可し、当該高いレベルのタスク等の処理を実行後に、RAM診断処理を再開する。ここで、RAM診断処理のレベルは、基本的には、そのRAM診断処理のトリガーとなった処理のレベル(スタック割込みレベル、アプリケーションやタスクのレベル等)を適用するが、定周期診断に関してはトリガーは後述するステップS8の処理(登録された周期か?)であり処理レベルが無いので、属性36に設定している。尚、属性36に設定するタスクレベルは、人間が任意に決めてよいが、上述したことから、最もレベルが高い(優先度が高い)ものに設定することは望ましくない。
また、図7(c)にはスタックデータ処理のレベルについて示す。図示のように任意のレベルの任意のアプリケーションを実行中に、スタックデータを書き込む際には、スタック割込みにより書き込みを行うが(従来では標準スタック関数による;本手法では図3Aの処理による)、スタックは各タスクで共通に使用されるので、レベルを上げて処理を行う。つまり、図示のように、スタック割込みレベルは、アプリケーションのレベルよりも高いレベルとなっている(例えば最も高いレベルとするがこの例に限らない。これは、従来からこの様になっている)。一方、スタックデータの読込み処理に関しては、図示の通りアプリケーションにより実行されるのでアプリケーションと同じレベルで動作することになる。
尚、図示の例では、固定データに関しては番号31=8の1つの管理レコードのみ示すが、固定データが複数存在する場合には、それぞれについて同様の管理レコードが登録されていてよい。また、各固定データエリア毎にその固定データのCRC等のチェックコードを予め生成して、これを例えばテーブル11の属性36等に記憶しておいてもよい。
図2(b)には、RAM1内の記憶領域における上記各ポインタ32の位置の具体例を
示す。同図に示す1,2,3等の番号は番号31に相当し、よって例えば図示の番号1はスタックエリア先頭ポインタの位置を意味する。
尚、番号1と2、番号6と7は、RAMのワード線間隔と同じにならないようアドレスを配置する。これは、よく知られていることなので、特に説明しない。
図3Aは、上記割込関連データ処理部12の処理フローチャート図である。
当該処理は下記の何れかの割込で起動する。
・DMA終了割込
・スタック割込
・定周期時間割込
まず、本処理が上記何れの割込で起動したものであるのかをステップS1,S6,S8により判定する。すなわち、例えば、スタック割込か否かを判定し(ステップS1)、スタック割込の場合は(ステップS1,YES)ステップS2の処理へ進み、スタック割込でない場合は(ステップS1,NO)ステップS6の処理へ進む。
ステップS2では、スタックの獲得か返却かを判断する。スタックの獲得の場合は(ステップS2,YES)、ステップS3、S4に進み、タスク開始時のスタックの獲得の場合は(ステップS4,YES)、ステップS5、ENDへ進む。タスク開始時のスタック獲得でない場合は(ステップS4,NO)、ENDへ進む。
スタック獲得の場合は(ステップS2,YES)、まずスタックポインタ及び反転スタックポインタを更新する(ステップS3)。このとき、スタックポインタは、図3Bに示す“旧スタックポインタ”の位置になっており、ステップS3の処理を行うことで、スタックポインタの位置を図示の新スタックポインタの位置へと移動させる。位置の移動量はスタック獲得のパラメータで指定される。タスク開始時のスタックの獲得の場合は(ステップS4,YES)、レジスタ退避のためレジスタのデータをスタックエリアに書き込み、及び当該データをビット反転させた(例えば0101→1010)反転データを生成して反転スタックエリアに書き込む(ステップS5)。
スタックの返却の場合は(ステップS2,NO)、ステップS12へ進み、タスク終了の場合は(ステップS12,YES)ステップS13、14、ENDへ進む。タスク終了時のスタック返却でない場合は(ステップS12,NO)、ステップS14、ENDへ進む。
タスク終了の場合は(ステップS12,YES)、レジスタ復元のためレジスタのデータをスタックエリアから読み込み、及び当該データの反転データを反転スタックエリアから読み込み反転照合する(例えば当該データが0101の場合は反転データは1010であり、反転照合する場合は反転データ1010を反転し0101として当該データ0101と合致するか判断する)。照合が一致する場合は当該データをレジスタに復元する。照合が一致しない場合は異常処理を行う。その後、スタックポインタ及び反転スタックポインタを更新する(ステップS14)このとき、スタックポインタは、図3Bに示す“新スタックポインタ”の位置になっており、ステップS14の処理を行うことで、スタックポインタの位置を図示の旧スタックポインタの位置へと移動させる。位置の移動量はスタック返却のパラメータで指定される。
本例では、アプリケーションがスタックにデータを書き込む際に、図4のデータ書込処理を行うことで当該データをスタックエリアに書き込み、更に反転スタックエリアへ当該データの反転データを書き込む。当該処理はアプリケーションのレベルと同じレベルとする。そして、当該アプリケーションレベルより高いレベルのタスクがあった場合には、こ
のタスクを優先して実行させる。
そして、本例では、アプリケーションがスタックデータを読み出す際に、当該スタックデータと反転データとを用いた後述する図5のRAM診断処理を実行することで、このスタックエリアに異常があるか否かを判定する。この場合の診断処理のレベルは、当該スタックデータを読み出すアプリケーションのレベルと同じレベルとする。そして、診断処理中にこの診断処理のレベルよりも高いレベルのタスクがあった場合には、このタスクを優先して実行させる。
尚、スタックポインタの位置は、スタックエリア先頭ポインタからの相対アドレスとして記憶管理される。これは、反転スタックポインタについても同様である。
尚、スタック返却の場合におけるステップS5の処理は、上記獲得の場合における同処理とは逆に、例えば現在のスタックポインタが新スタックポインタの位置である場合、これを旧スタックポインタの位置へと移動させるものである。これは反転スタックエリアについても同様である。
尚、スタックポインタのスタック先頭からの相対アドレスと反転スタックポインタの反転スタック先頭からの相対アドレスが一致しているかをチェックして、一致していない場合はRAM異常と判定する処理を行うようにしてもよい。
上記ステップS6の処理では、DMA終了割込かを判断する。
DMA終了割込の場合(ステップS6,YES)、ステップS7の処理を行う。違う場合は(ステップS6,NO)ステップS8へ進む。
ステップS7の処理は、DMA終了割込に対応するエリアに対する診断処理であり、上記図2(a)に示す例ではDMAnエリアの診断処理を行うことになり且つその診断手法はCRCである。更に、その属性36を参照することで、この診断処理のレベルを決定して診断処理を実行する。図2(a)に示す例ではタスクレベル3となっているので、この診断処理はタスクレベル3で実行することになり、もし診断処理中にタスクレベル1や2等の高レベルの他のタスクが実行可能となった場合には、診断処理を一時中断して、当該レベル(優先度)が高いタスクを実行する。レベルが高いタスクとは、例えば上述したリアルタイム性が必要な処理である。上述したように従来ではリアルタイム性が必要な処理が診断処理により妨害され、リアルタイム性が保てない場合があるという問題があったが、本手法によりこの問題は解決される。
また、上記の場合、診断対象となるエリアのアドレス等は、図2のテーブルにおいて、その診断トリガー34が「DMA終了割込」であるレコードのポインタ32や領域サイズ33を参照すれば分かる。これは、他のトリガー(スタック割込やアプリ呼び出し等)による診断処理の際にも同様である。
上記ステップS7の処理では、処理対象エリア(上記の例ではDMAnエリア)のデータのCRCを生成し、このデータに付加されているCRCと一致するか否かを判定し、一致しない場合はRAM異常と判定する。尚、チェックコードはCRC以外でも可能である。
DMA終了割込でも無い場合には(ステップS6,NO)、現在時刻と上記属性36における診断間隔とに基づいて、診断トリガー34が定周期である各エリアのうち、登録された診断周期となったものがあるか否かを判定し(ステップS8)、該当するエリアがある場合には(ステップS8,YES)ステップS9へ進み、無い場合には(ステップS8,NO)本処理を終了する。尚、この処理は一例であり、例えば上記属性36における各
診断間隔を不図示の各タイマにセットして、何れかのタイマがタイムアップすることで上記定周期時間割込が発生する構成とした場合には、上記ステップS8の判定は必要なく、代わりに例えば「定周期時間割込か?」等の判定を行う。但し、図3Aの処理は、上記3つの割り込みの何れかによって起動されるので、ステップS1,S6の判定がNOで且つ「定周期時間割込か?」の判定がNOとなることは、基本的にあり得ないと考えてよい。尚、「定周期時間割込か?」の判定がYESの場合、ステップS9以降の処理を実行するが、これら処理が完了したら、タイムアップしたタイマを再びセットする必要がある。
ステップS9では、上記該当するエリアがDMAデータの格納エリア(DMAエリア)であるか否かを判定する。そして、DMAエリアでは無い場合には(ステップS9,NO)、図2(a)に示す例では診断トリガー34が定周期であるものでDMAエリア以外のエリアは固定データエリアのみであるので、ここでは固定データエリアに関して診断処理を行う。固定データエリアに関しては、図2(a)に示すように診断手法35はCRCであるので、上記DMAnエリアの場合と同様に、上記ステップS7の処理を実行する。尚、固定データエリアには、固定データを格納する際にそのCRCを生成して一緒に格納してある。尚、各エリアに格納されるデータの種別は、例えばポインタ32に格納してあり、これによってDMAエリアであるか否かを判別できる。また、ステップS7の処理では上記の通り属性36に格納されているタスクレベルのレベルで診断処理を実行させるものであり、図2に示す例では固定データエリアに関してはタスクレベル1となっているので、レベル1で処理実行させることになる。
一方、診断対象がDMAデータである場合には(ステップS9,YES)、まずDMAを禁止する。DMA中の場合はDMAを停止させる(ステップS10)。そして、診断対象エリアの診断手法35に従って、この場合は上記「メモリ読み書き」手法により診断処理を行う(ステップS11)。「メモリ読み書き」手法の一例を図6に示し後に説明する。
また、図2(a)に示す各レコードのうち、番号31=6,7のレコードはデータエリアと反転データエリアに関するものであり、データエリアにはCPU20が実行する任意のアプリケーションが読み書きするデータ(上記アプリケーションデータ)が格納され、その反転データが反転データエリアに格納される。
上記アプリケーションデータ書込処理部13は、このアプリケーションデータをRAM1に書き込む処理を行う機能部であり、上記データ読込処理部14はこのアプリケーションデータまたはスタックデータをRAM1から読み出す処理を行う機能部である。これら各機能部は、何れもアプリケーションによる機能と考えてよく、アプリケーション実行中にこれら各機能部の処理が行われる。つまり、これらの各機能部の処理は、アプリケーション関数とするか、またはアプリケーションのプログラム内にインライン展開している。
この様に、アプリケーションデータに関しては、アプリケーションデータ書込処理部13とデータ読込処理部14とによってデータ・リード/ライト処理が行われると共にRAM診断に関する処理が実行される(上記の通り、図3Aの処理にはアプリケーションデータに関する処理はない)。このRAM診断は、反転二重化方式の診断処理である。
また、スタックデータに関しては、上記図3Aにおけるスタックの獲得処理(スタックデータの書き込み含む)/返却処理は、従来では例えばCPU20内に予め用意されている標準スタック関数を、例えばアプリケーション実行中に当該アプリケーションが呼び出して実行させるものであり、標準スタック関数では反転データの生成・格納は行われていないので、反転二重化方式のRAM診断は行えなかった。これに対して、本装置では、アプリケーション実行中にスタックに関する処理があった場合には当該アプリケーションが
スタック割込で図3Aの処理を実行させることで、スタックの獲得処理/返却処理が行われると共に、反転データの生成・書き込みも行われる。そして、上記データ読込処理部14は、アプリケーションデータ/スタックデータの読み出しを行うと共にその際にRAM診断処理を行うものであり、スタックデータの読出しの際にも、上記アプリケーションデータの場合と同様に、反転二重化方式のRAM診断処理を行う。この様に、本装置では、スタックエリアに関しても、反転二重化方式のRAM診断処理を行うことができる。
上記の通りアプリケーションデータとスタックデータに関しては、診断手法として反転二重化方式が適用されるものであり、データ書き込み時に反転データを生成・格納しておく必要がある。スタックデータに関しては、図3AのステップS4で書き込み処理が実行されているが、アプリケーションデータに関してはアプリケーションデータ書込処理部13による以下に説明する図4の処理が実行される。そして、アプリケーションデータ、スタックデータの何れにおいても、そのデータ読出しの際にデータ読込処理部14による後述する図5の処理によって、RAM異常か否かの診断が行われる。
尚、上記図3Aの処理は、図2(a)に示すRAM診断管理テーブル11の各種管理情報を参照しながら実行するものと考えても良い。例えば、ステップS1の判定がYESになった場合、RAM診断管理テーブル11における該当レコード(診断トリガー34が「スタック割込」のレコード)を参照して、その診断手法35(反転二重化)を認識することで、ステップS4の処理が行われるものと考えることもできる。これは、他の処理でも同様であり、特にRAM診断処理実行に際して、適用すべき診断手法35を認識する為にRAM診断管理テーブル11を参照するものと考えても良い。勿論、最初から、RAM診断管理テーブル11の各種管理情報(特に診断手法)の内容を反映させたプログラムを作成するものであってもよい。何れの場合でも、基本的にRAM診断管理テーブル11の各種管理情報の内容に基づいて、RAM診断処理が実行されることに変わりは無い。尚、これは、図3Aに限らず、図4以降の他のフローチャートの処理についても同様である。
図4に、上記アプリケーションデータ書込処理部13の処理フローチャートを示す。
当該処理は、アプリケーション関数とするか、またはアプリケーションのプログラム内にインライン展開している。
図4の処理では、まず、指定された相対アドレスにより、データエリア先頭ポインタからの相対アドレスの位置へアプリケーションデータを書き込む(ステップS21)。更に、このアプリケーションデータの反転データを生成して、指定された相対アドレスにより、反転データエリア先頭ポインタからの相対アドレスの位置へ反転データを書き込む(ステップS22)。尚、相対アドレスは例えばアプリケーションによって指定され、データエリア先頭ポインタは図2(a)のRAM診断管理テーブル11を参照すれば分かる。これは他の処理/データに関しても同様であり、逐一説明しないものとする。
図5に、データ読込処理部14の処理フローチャートを示す。
上記の通り、この処理は、アプリケーションによるアプリケーションデータまたはスタックデータの読出し処理の際に実行され、当該処理はアプリケーション関数とするか、またはアプリケーションのプログラム内にインライン展開する。
図5の処理では、指定されたスタックデータまたはアプリケーションデータの相対アドレスと先頭ポインタに基づいて所定の領域からデータを読み出す。すなわち、スタックデータであれば、スタックエリア先頭ポインタからの相対アドレスの位置から、スタックデータを読み出す。アプリケーションデータであれば、データエリア先頭ポインタからの相対アドレスの位置からアプリケーションデータを読み込む(ステップS31)。
反転データに関しても該当位置からデータを読出す。そして、読み出した反転データを再反転する。つまり、スタックデータであれば、反転スタックエリア先頭ポインタからの相対アドレスの位置から、反転スタックデータを読み出し、これを反転する。アプリケーションデータであれば、反転データエリア先頭ポインタからの相対アドレスの位置から反転アプリケーションデータを読み込み、これを反転する(ステップS32)。
そして、ステップS31で取得したデータとステップS32の処理結果として得られるデータとを比較して、一致するか否かを判定する(ステップS33)。つまり、スタックデータであれば、ステップS31で得たスタックデータと、ステップS32で得た「反転スタックデータを反転したデータ(再反転スタックデータというものとする)」とが一致するか否かを判定する。アプリケーションデータであれば、ステップS31で得たアプリケーションデータと、ステップS32で得た「反転アプリケーションデータを反転したデータ(再反転データというものとする)」とが一致するか否かを判定する。
そして、一致する場合には(ステップS33,YES)、正常であるものとして、診断処理を終了する。一方、不一致の場合には(ステップS33、NO)、RAM1における当該診断対象エリアに異常が発生したものと判定して、所定のRAM異常処理(例えばRAM異常発生を通知する処理等)を実行する(ステップS34)。
図6は、上記RAM診断処理部15によって実行される処理の一例を説明する為の図である。つまり、上記「メモリ読み書き」診断手法の一例を説明する為の図であり、ここではアブラハム方式を説明する為の図である。
この方式では、まず、RAMにおける診断対象エリアのデータを、バッファへ退避させた後、以下の診断処理を行う。
まずイニシャライズ処理としてRAMにおける診断対象エリアの全Cellを‘0’にする。そして、まず、全CellをビットONした後(‘1’にする)にリード処理を行うことで、全て‘1’であるか否かをチェックする。続いて、全CellをビットOFFした後(‘0’にする)にリード処理を行うことで、全て‘0’であるか否かをチェックする。これらを2度繰り返す。
更に、全CellをビットONして直ちにビットOFFした後にリード処理を行うことで、全て‘0’であるか否かをチェックする。これも2回実行する。その後、更に、リセット処理として全CellをビットONした後、全CellをビットOFFして直ちにビットONした後にリード処理を行うことで、全て‘1’であるか否かをチェックする。これも2回実行する。
以上の診断処理が完了したら、バッファへ退避させたデータを、RAMの診断対象エリアに戻して、本処理は終了する。
以上、アブラハム方式について説明したが、上述してあるように、「メモリ読み書き」診断手法はこの例に限るものではない。
尚、反転二重化やチェックコードによる診断手法は、基本的に、「メモリ読み書き」診断手法よりも時間が掛からない。よって、特にスタックデータに関しても反転二重化による診断手法を適用できるようにしたことで、あるいはDMAデータであってもチェックコードによる判定が可能なものにはチェックコードによる診断手法を適用することで、リアルタイム性を妨害し難くなる。更に、診断処理中は割り込み禁止としていた従来手法に比べて、本手法では診断処理中でもこの診断処理にタスクレベルを割り当てることで、特にリアルタイム性が必要な処理がRAM診断処理によって妨害されないことになる。
以上説明したように、本例のRAM診断システムでは、RAM1の各領域種別(各種データの格納エリア)に対応づけて、最適な/適切な(例えば処理時間が短くて済み(CPU負荷が小さくて済み)、リアルタイム性を妨害し難い)RAM診断手法を予め決定しておき、各領域種別毎に個別にその診断トリガー、診断手法に従ってその領域(エリア)の診断を実行する。例えばデータ読出しのときやDMA終了時に、RAM診断処理を行うエリアもあり、適切なタイミングでRAM診断を行うことができ、また定周期でRAM診断を行う場合(特に診断間隔を短くする必要がある場合)と比べて、RAM診断回数が少なくてすむことも期待でき、CPUの負荷を軽減できることが期待できる。
また、RAM診断処理を実行中、割り込み禁止にすることなく、リアルタイム性が必要な処理(タスクレベルが高い処理)が実行可能となる。これより、RAM診断に関して、リアルタイム性が必要な処理がRAM診断処理によって妨害されず、リアルタイム性を保って実行することができる。そのために、RAM診断管理テーブル11を設け、RAM1の各領域種別に対応づけて、診断トリガー、RAM診断手法、RAM診断処理のタスクレベル等を管理する。
アプリケーションデータエリア、及びスタックエリアについては、反転二重化方式によるRAM診断処理を行う。本手法では、RAM診断処理に対してタスクレベルを割り当て、これよりレベルの高い(例えばリアルタイム性が必要な)タスクの割り込みを許可する。すなわち、アプリケーションデータエリアに関しては、当該データをアクセスするタスク(アプリケーション)のレベルで、RAM診断処理を動作させる。一方、スタックエリアについては、スタックデータ書き込み時はスタック割り込みレベルで動作させ、スタックデータ読み込み時は当該データをアクセスするタスク(アプリケーション)のレベルで、RAM診断処理を動作させる。
各DMAデータを格納する各DMAエリアについては、そのDMAデータにCRC等のチェックコードが付加される場合には、チェックコードを用いたRAM診断処理を実行する。このRAM診断処理のレベルは、RAM診断管理テーブル11(属性36)に予め登録されているので、これを参照することで、この登録されたレベルでRAM診断処理を動作させる。尚、上記の一例では、CRC等のチェックコードが付加されるDMAデータは、DMA処理の最後のデータ(DMAnエリアのデータ)であるので、診断トリガーはDMA終了割込となっているが、この例に限らず、例えば診断トリガーが定周期となる場合もあってよい。
また、チェックコードを付加できないDMAデータに関しては、各DMAデータエリア毎に予めRAM診断管理テーブル11に設定されている所定周期で、各DMAデータエリア毎に周期的に(定周期で)RAM診断処理を実行する。この診断処理の際にはDMA転送を禁止し、また診断手法は一般的な「メモリ読み書き」診断等とする。この場合も、当該診断対象のDMAデータエリアに関してRAM診断管理テーブル11(属性36)に予め登録されたタスクレベルで、RAM診断処理を動作させる。
また、固定データの場合は、予め各固定データの領域を複数設定しそれぞれにCRCデータ等のチェックコードを付加する。そして、各固定データの領域毎に予めRAM診断管理テーブル11に登録された周期で、周期的に(定周期で)チェックコードを用いたRAM診断処理を実行する。この場合も、当該診断対象の固定データエリアに関してRAM診断管理テーブル11(属性36)に予め登録されたレベルで、RAM診断処理を動作させる。
本例のRAM診断システムによれば、上述した効果、すなわち、CPUによるCPU外部のRAMの診断処理(オンラインのRAM診断処理)を、リアルタイム性が必要な処理
がRAM診断処理によって妨害されず、更にリアルタイム性を保って実行することができ、RAM診断に伴う処理性能の低下を防止することができるという効果が得られる。すなわち、本例のRAM診断装置によれば、特にアプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータ、固定データ等の各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行する場合において、上記RAM診断管理テーブル11等に予め登録される上記各種管理情報に基づいて、各格納エリア毎に個別のタイミングで適切な診断手法により診断処理を行うことができ、それによってリアルタイム性が必要な処理がRAM診断処理によって妨害され難くでき、更にRAM診断処理中であっても割り込みを可能とすることで、上記リアルタイム性が必要な処理をリアルタイム性を保って実行させることができる。
そして、更に以下に記す効果も得られる。
つまり、RAM診断管理テーブル11でRAM診断方式と適用RAM領域のサイズが管理されることにより、RAM診断方式から機能安全に係る自己診断率(DC: Diagnostic
Coverage)が予め分かるので、これを上記の通りテーブル11の属性36に登録しておくことで、適用RAM領域のサイズからRAM全体に対する当該診断方式の比率を求めることにより、RAM全体の自己診断率を求めることが容易に可能となる。
すなわち、以下の式により、RAM全体の自己診断率を求めることができる。
RAM全体の自己診断率 = Σ自己診断率i×(領域サイズi/RAM全体領域サイズ)
尚、上記式におけるRAM全体領域サイズは、当然、予め分かっているものであり、予め登録等しておく。また、上記式における“i”は、テーブル11における番号31を意味する。つまり、上記“領域サイズi”、“自己診断率i”とは、番号31=iのレコードにおける領域サイズ33に登録されている領域サイズ、及び属性36に登録されている自己診断率を意味する。例えばi=1であれば、図2(a)に示す例では、領域サイズ=1kバイト、自己診断率=99%である。この様に、テーブル11に予め登録されたデータに基づいて、例えばCPU20等が上記テーブル11のデータや上記の式に基づいてRAM全体の自己診断率の算出処理を行うことができ、RAM全体の自己診断率を容易に求めることができる。
また、上記RAM診断方式に応じた自己診断率iは、ここでは例えば最大自己診断率(低→60%、中→90%、高→99%)を用いるものとするが、この例に限るものではない。これは例えば参考資料(IEC61508-7)に示されており、故障検知技法としてよく知られているものであるのでここでは特に説明しないが、例えばRAM試験の方式として知られている“ウォークパス”、“ギャルパット”、“アブラハム”の各方式を例にすると、“ギャルパット”の“アブラハム”の最大自己診断率が99%であるのに対して、“ウォークパス”の最大自己診断率は90%であることが知られている。
また尚、上記参考資料等によって知られているように、危険側故障率λは、診断により検出される故障率λDDと、検出されずに残留する故障率λDUとから成る。上記自己診断率(DC)は、上記危険側故障率λはのうち上記検出される故障率λDDの割合を意味する。つまり、自己診断率(DC)は以下の式により表され、この式にしたがって各自己診断率iを求めるようにしてもよい。
自己診断率(DC) ≡ λDD/λ
本例のRAM診断システムの構成ブロック図である。 (a)はRAM診断管理テーブルのデータ構成例、(b)はポインタの配置例である。 図1の割込関連データ処理部の処理フローチャート図である。 スタック/反転スタックポインタの一例である。 図1のアプリケーションデータ書込処理部の処理フローチャート図である。 図1のデータ読込処理部の処理フローチャート図である。 メモリ読み書き診断手法の一例であるアブラハム方式を説明する為の図である。 (a)は従来のRAM診断処理中の割り込みに関して説明する為の図であり、(b)は本手法のRAM診断処理中の割り込みに関して説明する為の図であり、(c)はスタックデータ処理のレベルを示す図である。
符号の説明
1 RAM
10 ROM
11 RAM診断管理テーブル
12 割込関連データ処理部
13 アプリケーションデータ書込処理部
14 データ読込処理部
15 RAM診断処理部
20 CPU
31 番号
32 領域種別とポインタ
33 領域サイズ
34 診断トリガー
35 診断手法
36 属性

Claims (5)

  1. アプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータの各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行するRAM診断装置であって、
    各種管理情報に基づいて、前記各格納エリア毎にその格納データのリード/ライト制御を行うと共に、前記各格納エリアに対して、その格納エリアのRAM診断を行うものと判定したときに、その格納エリアに対応するRAM診断手法を用いてその格納エリアに対するRAM診断処理を実行するRAM制御/診断処理手段と、
    前記RAM制御/診断処理手段に関する前記各種管理情報を予め前記各格納エリアに記憶しておくRAM診断管理情報記憶手段と、
    を有することを特徴とするRAM診断装置。
  2. 前記RAM診断処理手段は、前記RAM診断処理に対して所定のタスクレベルを割り当てて実行し、該RAM診断処理実行中に該RAM診断処理のタスクレベルよりも高いレベルのタスクが発生した場合には、該RAM診断処理を中断して該タスクを実行させることを特徴とする請求項1記載のRAM診断装置。
  3. 前記各格納エリアのうち前記スタックデータに関する格納エリアは、任意のスタックデータと該スタックデータの反転データである反転スタックデータを格納するものであり、
    前記RAM制御/診断処理手段は、スタック割り込み処理によるスタックデータ書き込みの際に、該スタックデータの反転データを生成し、該スタックデータとその反転データとを前記スタックデータに関する格納エリアに格納し、該格納エリアからスタックデータを読み出す際には、前記スタックデータとその反転データを用いる反転二重化処理により該格納エリアのRAM診断処理を実行することを特徴とする請求項1または2記載のRAM診断装置。
  4. 前記RAM制御/診断処理手段による前記各DMAデータを格納する各格納エリアである各DMAエリア対するRAM診断処理に関しては、前記管理情報に応じて、チェックコードによるRAM診断処理を行うDMAエリアと、定期的に「メモリ読み書き」によるRAM診断処理を行うDMAエリアとがあることを特徴とする請求項1〜3の何れかに記載のRAM診断装置。
  5. アプリケーションが読み書きするデータであるアプリケーションデータの格納エリア以外にも、各DMAデータ、スタックデータの各種データ毎の格納エリアを有するRAMに対するRAM診断処理を実行するRAM診断装置のコンピュータを、
    予め前記各格納エリアに対するRAM制御/診断処理に関する各種管理情報を記憶するRAM診断管理情報記憶手段と、
    該各種管理情報に基づいて、前記各格納エリア毎にその格納データのリード/ライト制御を行うと共に、前記各格納エリアに対して、その格納エリアのRAM診断を行うものと判定したときに、その格納エリアに対応するRAM診断手法を用いてその格納エリアに対するRAM診断処理を実行するRAM制御/診断処理手段、
    として機能させるためのプログラム。
JP2008267863A 2008-10-16 2008-10-16 Ram診断装置 Active JP5504604B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008267863A JP5504604B2 (ja) 2008-10-16 2008-10-16 Ram診断装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008267863A JP5504604B2 (ja) 2008-10-16 2008-10-16 Ram診断装置

Publications (2)

Publication Number Publication Date
JP2010097432A true JP2010097432A (ja) 2010-04-30
JP5504604B2 JP5504604B2 (ja) 2014-05-28

Family

ID=42259063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008267863A Active JP5504604B2 (ja) 2008-10-16 2008-10-16 Ram診断装置

Country Status (1)

Country Link
JP (1) JP5504604B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104064A (ja) * 2010-11-12 2012-05-31 Fuji Electric Co Ltd Ram故障診断装置、そのプログラム
JP2014056396A (ja) * 2012-09-12 2014-03-27 Denso Corp 電子制御装置
US9009549B2 (en) 2011-02-18 2015-04-14 Mitsubishi Electric Corporation Memory diagnostic apparatus and memory diagnostic method and program
JP2019114244A (ja) * 2017-12-21 2019-07-11 株式会社デンソー 電子制御装置
JP2021086470A (ja) * 2019-11-29 2021-06-03 日立Astemo株式会社 電子制御装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62189545A (ja) * 1986-02-14 1987-08-19 Toshiba Corp 計算機システムのスタ−ト処理装置
JPH03100736A (ja) * 1989-09-13 1991-04-25 Fujitsu Ltd パトロール診断装置
JPH03149629A (ja) * 1989-11-07 1991-06-26 Fujitsu Ltd メモリ試験方式
JPH04330549A (ja) * 1990-11-30 1992-11-18 Toshiba Corp 制御装置
JPH09293028A (ja) * 1996-04-26 1997-11-11 Toyota Motor Corp 半導体記憶装置
JPH11136845A (ja) * 1997-10-31 1999-05-21 Toshiba Corp ディジタル保護継電器
JPH11259374A (ja) * 1998-03-12 1999-09-24 Nec Corp メモリ試験装置及び方法及び記録媒体
JP2003323353A (ja) * 2002-05-01 2003-11-14 Denso Corp メモリ診断装置及び制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62189545A (ja) * 1986-02-14 1987-08-19 Toshiba Corp 計算機システムのスタ−ト処理装置
JPH03100736A (ja) * 1989-09-13 1991-04-25 Fujitsu Ltd パトロール診断装置
JPH03149629A (ja) * 1989-11-07 1991-06-26 Fujitsu Ltd メモリ試験方式
JPH04330549A (ja) * 1990-11-30 1992-11-18 Toshiba Corp 制御装置
JPH09293028A (ja) * 1996-04-26 1997-11-11 Toyota Motor Corp 半導体記憶装置
JPH11136845A (ja) * 1997-10-31 1999-05-21 Toshiba Corp ディジタル保護継電器
JPH11259374A (ja) * 1998-03-12 1999-09-24 Nec Corp メモリ試験装置及び方法及び記録媒体
JP2003323353A (ja) * 2002-05-01 2003-11-14 Denso Corp メモリ診断装置及び制御装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104064A (ja) * 2010-11-12 2012-05-31 Fuji Electric Co Ltd Ram故障診断装置、そのプログラム
US9009549B2 (en) 2011-02-18 2015-04-14 Mitsubishi Electric Corporation Memory diagnostic apparatus and memory diagnostic method and program
JP2014056396A (ja) * 2012-09-12 2014-03-27 Denso Corp 電子制御装置
JP2019114244A (ja) * 2017-12-21 2019-07-11 株式会社デンソー 電子制御装置
JP7155902B2 (ja) 2017-12-21 2022-10-19 株式会社デンソー 電子制御装置
JP2021086470A (ja) * 2019-11-29 2021-06-03 日立Astemo株式会社 電子制御装置
WO2021106353A1 (ja) * 2019-11-29 2021-06-03 日立Astemo株式会社 電子制御装置

Also Published As

Publication number Publication date
JP5504604B2 (ja) 2014-05-28

Similar Documents

Publication Publication Date Title
US8862953B2 (en) Memory testing with selective use of an error correction code decoder
US20080016415A1 (en) Evaluation system and method
JP2011165164A (ja) サービス品質に基づくストレージ階層化及び移動技法のためのシステム及び方法
JP5815388B2 (ja) メモリアクセス制御装置および方法
JP5504604B2 (ja) Ram診断装置
JP6102515B2 (ja) 情報処理装置、制御回路、制御プログラム、および制御方法
US20150220394A1 (en) Memory system and method of controlling memory system
US20140164724A1 (en) Method and apparatus for processing system command during memory backup
JP5981906B2 (ja) 画像形成装置
WO2017162049A1 (zh) 驱动模块内存数据监测方法及装置
JP5883284B2 (ja) 半導体メモリ制御装置及び制御方法
JP6306548B2 (ja) メモリー管理回路、記憶装置、メモリー管理方法、及びメモリー管理プログラム
JP5915490B2 (ja) 電子制御装置
US20150370635A1 (en) Implementing enhanced wear leveling in 3d flash memories
US8516310B2 (en) Information processing device equipped with write-back cache and diagnosis method for main memory of the same
JP4902427B2 (ja) 履歴情報管理方法及び履歴情報管理システム
CN113470725A (zh) 一种动态随机存储器的测试方法及装置
JP2007094767A (ja) メモリ制御装置及びメモリ制御方法
JP2013149112A (ja) 記憶媒体の管理方法
CN108628699B (zh) 一种基于ecc的flash数据异常处理方法及装置
US9773562B2 (en) Storage apparatus, flash memory control apparatus, and program
US8503241B2 (en) Electronic apparatus and data reading method
JP4562641B2 (ja) コンピュータシステム、動作状態判定プログラムおよび動作状態判定方法
JP2012203642A (ja) メモリシステム
KR102283739B1 (ko) 파티션 간 데이터 공유장치 및 공유방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130611

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130906

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140130

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: 20140218

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140303

R150 Certificate of patent or registration of utility model

Ref document number: 5504604

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250