(57)【要約】【課題】データメモリのセル故障が生じても装置の停止に至ることなく可能な限りデータの正常な読み出し書き込みの続行を可能とする。【解決手段】 車両の変速機用電子制御ユニット５内に設けられ間接アドレッシングによりデータの書き込み、読み出しがなされる第２のメモリ５Ａの記憶エリアの一部に故障が発生した際に、未使用の記憶領域があるか否かが判定され、未使用の記憶エリア有りと判定されると、間接アドレッシングにおけるポインタによって指示されている当該故障が生じた記憶エリアのアドレスが未使用の記憶エリアのアドレスに書き換えられて、メモリエラーが生じても直ちに部品交換を施すことなく変速機用電子制御ユニット５の正常動作が確保可能となっている。【選択図】図２
2005149183.tif 000002
【特許請求の範囲】
【請求項１】
任意にデータの書き込み、読み出しが可能に構成されてなる半導体記憶素子のエラーフェイルセーフ処理方法であって、
前記半導体記憶素子は、間接アドレッシングによりデータの書き込み、読み出しがなされるものであって、当該半導体記憶素子の記憶エリアの一部に故障が発生した際に、未使用の記憶領域があるか否かを判定し、未使用の記憶エリアがあると判定された場合に、前記間接アドレッシングにおけるポインタが指示する前記故障が生じた記憶エリアのアドレスを前記未使用の記憶エリアのアドレスに書き換えることを特徴とする半導体記憶素子のエラーフェイルセーフ処理方法。
【請求項２】
間接アドレッシングに用いられるポインタテーブルが、揮発性メモリに展開されている場合に、当該ポインタテーブルを間接アドレッシングによりデータの書き込み又は読み出しがなされる前記半導体記憶素子の未使用の記憶エリアに複写することを特徴とする請求項１記載の半導体記憶素子のエラーフェイルセーフ処理方法。
【請求項３】
車両の変速機用電子制御ユニット内に設けられ、間接アドレッシングにより任意にデータの書き込み、読み出しが可能に構成されてなる半導体記憶素子のエラーフェイルセーフ処理方法であって、
前記半導体記憶素子の記憶エリアの一部に故障が発生した際に、未使用の記憶領域があるか否かを判定し、未使用の記憶エリアがあると判定された場合に、前記間接アドレッシングにおけるポインタが指示する前記故障が生じた記憶エリアのアドレスを前記未使用の記憶エリアのアドレスに書き換えることを特徴とする半導体記憶素子のエラーフェイルセーフ処理方法。
【請求項４】
未使用の記憶エリアが無いと判定された場合に、前記変速機用電子制御ユニット以外の他の電子ユニットに設けられた任意にデータの書き込み、読み出しが可能に構成されてなる半導体記憶素子の未使用の記憶エリアの有無を判定し、未使用の記憶エリア有りと判定された場合に、前記間接アドレッシングにおけるポインタが指示する前記故障が生じた記憶エリアのアドレスを前記他の電子ユニットの半導体素子の未使用の記憶エリアのアドレスに書き換えることを特徴とする請求項３記載の半導体記憶素子のエラーフェイルセーフ処理方法。
【請求項５】
間接アドレッシングに用いられるポインタテーブルが、揮発性メモリに展開されている場合に、当該ポインタテーブルを未使用の記憶エリア有りと判定された他の電子ユニットの半導体記憶素子の未使用の記憶エリアに複写することを特徴とする請求項４記載の半導体記憶素子のエラーフェイルセーフ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、任意にデータの読み出し書き込み可能に構成された半導体メモリの故障時におけるフェイルセーフ処理に係り、特に、セル故障に代表されるメモリエラー時における正常動作の確保等を図ったフェイルセーフ処理方法に関する。
【背景技術】
【０００２】
従来、半導体メモリにおけるセル故障に対する救済手段としては、例えば、データエリアが最大でｎビットの２進数で表される容量を有するメモリにおいて、下位（ｎ／２）ビットのアドレスデータで表される領域を通常時の使用領域とする一方、上位（ｎ／２）ビットのアドレスデータで表される領域部分を予備エリアとし、下位（ｎ／２）ビットのアドレスデータに対するアドレスデコーダと、上位（ｎ／２）ビットのアドレスデータに対するアドレスデコーダを、それぞれ具備するよう予めメモリを構成し、通常の使用領域においてセル故障が生じた際に、予備エリアに切り換えてデータの確実な読み出し書き込みができるようにしたものが提案されている（例えば、特許文献１参照）。
【０００３】
【特許文献１】特開２０００−１６３９８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来例は、予めメモリのハードウェア的な構成を上述したようなセル故障に対処可能な構成とするものであり、既存のメモリを用いた装置に適用しようとする場合には、メモリの交換を余儀なくするものであり、メモリ故障の際における安価で簡易なフェイルセーフ処理を提供するものではない。
また、メモリを用いた装置にあっては、装置完成後はその内部の部品交換が容易でないものもあり、上記従来例は、そのような装置におけるメモリの故障発生に対する解決手段を与えるものではない。
【０００５】
本発明は、上記実状に鑑みてなされたもので、データメモリのセル故障が生じても即座に装置の動作停止に至ることなく可能な限りデータの正常な読み出し書き込みの続行を確保することができる半導体記憶素子のエラーフェイルセーフ処理方法を提供するものである。
本発明の他の目的は、メモリ交換の困難な装置におけるデータメモリのセル故障が生じても極力交換することなくデータの正常な読み出し書き込みの続行を確保することができる半導体記憶素子のエラーフェイルセーフ処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
上記本発明の目的を達成するため、本発明に係る半導体記憶素子のエラーフェイルセーフ処理方法は、
任意にデータの書き込み、読み出しが可能に構成されてなる半導体記憶素子のエラーフェイルセーフ処理方法であって、
前記半導体記憶素子は、間接アドレッシングによりデータの書き込み、読み出しがなされるものであって、当該半導体記憶素子の記憶エリアの一部に故障が発生した際に、未使用の記憶領域があるか否かを判定し、未使用の記憶エリアがあると判定された場合に、前記間接アドレッシングにおけるポインタが指示する前記故障が生じた記憶エリアのアドレスを前記未使用の記憶エリアのアドレスに書き換えるよう構成されてなるものである。
【発明の効果】
【０００７】
本発明によれば、メモリの未使用エリアを活用できるようにしたので、メモリの一部に故障が生じても、直ちに部品交換を施すことなく、正常な動作の継続を確保することができ、装置の信頼性の向上を図ることができるという効果を奏するものである。
特に、車両装置などにあって内部の電子部品の交換が容易ではない構造を有するユニットにおいては、直ちにユーザを煩わすことなく装置の正常動作を確保することができるという効果を奏するものである。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施の形態について、図１乃至図５を参照しつつ説明する。
なお、以下に説明する部材、配置等は本発明を限定するものではなく、本発明の趣旨の範囲内で種々改変することができるものである。
最初に、本発明の実施の形態における半導体記憶素子のエラーフェイルセーフ処理方法が適用される半導体記憶素子としてのＲＡＭ(Random Access Memory)が用いられた装置の一例として車両用電子制御装置の構成例について図１を参照しつつ説明する。
本発明の実施の形態における車両用電子制御装置１は、エンジン２の出力側に一体的に設けられた自動変速機３と、エンジン２を電子的に制御するエンジン用電子制御ユニット４と、自動変速機３内に収納されて自動変速機３を電子的に制御する変速機用電子制御ユニット（ＴＣＵ）５とを主たる構成要素として構成されたものとなっている。
自動変速機３内には、さらに、位置スイッチ６が配設されており、この位置スイッチ６は、変速機の変速位置を選択するセレクトレバー７がいずれのセレクト位置に設定されたかを検出し、その検出結果を示す位置信号Ｓ１を変速機用電子制御ユニット５へ出力するものとなっている。
また、エンジン用電子制御ユニット４と変速機用電子制御ユニット５との間は、車内ＬＡＮ８で接続されており、この車内ＬＡＮ８を介して相互にデータの授受が行われるように構成されたものとなっている。
【０００９】
エンジン用電子制御ユニット４は、第１のマイクロコンピュータ（図１においては「ＣＰＵ１」と表記）４Ｂと、第１のメモリ（図１においては「ＭＥＭ１」と表記）４Ａと、イモビライザユニット９とを主たる構成要素として構成されたものとなっている。
第１のメモリ４Ａには、エンジン用電子制御ユニット４を他のエンジン用電子制御ユニットと区別するため予め一台毎に設定された所定の識別データＩＤＡが格納されている。なお、第１のメモリ４Ａは、装置の動作の有無に関わらず識別データＩＤＡを常時、格納、保持する必要があるため、例えば、ＲＯＭ(Read Only Memory)に代表される不揮発性メモリを用いるのが好適であるが、ＲＡＭ(Random Access Memory)などの揮発性メモリであっても、装置の主電源の供給が断たれても、この不揮発性メモリに動作電源を供給する別個の専用の電源（バックアップ電源）が設けられており、実施的に不揮発性メモリと同様な機能を果たすようになっているものであればそのようなメモリであっても良い。
【００１０】
一方、変速機用電子制御ユニット５は、第２のマイクロコンピュータ（図１においては「ＣＰＵ２」と表記）５Ｂを用いて構成されており、同ユニット５内に設けられた第２のメモリ（図１においては「ＭＥＭ２」と表記）５Ａには、変速機用電子制御ユニット５を他の電子制御ユニットと区別するため予め一台毎に設定された所定の識別データＩＤＢが格納されている。そして、第２のメモリ５Ａ内には、エンジン用電子制御ユニット４によってエンジン２を始動させるために必要なエンジン始動データＤＥＳが格納されている。なお、この第２のメモリ５Ａも、先の第１のメモリ４Ａと同様に、不揮発性メモリが好適であるが、揮発性メモリであってもいわゆるバックアップ電源により実質的に不揮発性メモリと同様な機能を果たすものであれば、揮発性メモリであっても構わない。
また、第２のマイクロコンピュータ５Ｂには、制御動作中における各種のデータや変数等を読み出し書き込みするためのＲＡＭ１１が設けられている。
【００１１】
さらに、この車両用電子制御装置１は、イモビライザ機能を有するものとなっており、そのため、エンジン用電子制御ユニット４にはイモビライザユニット９が設けられており、ユーザがキースイッチ（図１においては「Ｋ−ＳＷ」と表記）１０をオンにした状態で、イモビライザユニット９から所定の暗証番号を入力することにより、エンジン始動のための制御がエンジン用電子制御ユニット４により開始されるようになっている。
【００１２】
しかして、上記構成における車両用電子制御装置１の全体動作について概括的に説明すれば、まず、ユーザによりキースイッチ１０がオフからオンへ切り換えられ、イモビライズユニット９から暗証番号が入力されると、入力された暗証番号が第１のメモリ４Ａに登録されているデータと一致したものでるあるか否かがエンジン用電子制御ユニット４において判定されることとなる。また、このとき同時に、入力された暗証番号は、変速機用電子制御ユニット５へも車内ＬＡＮ８を介して送出されて、第２のメモリ５Ｂに登録されているデータと一致したものであるか否かの判定が行われる。
そして、エンジン用電子制御ユニット４及び変速機用電子制御ユニット５のそれぞれにおいて、暗証番号が登録されたものと一致したものであると判定された場合のみ、すなわち、換言すれば、正規のユーザであると判定された場合にのみ、エンジン始動が開始されることとなる。
【００１３】
すなわち、変速機用電子制御ユニット５からエンジン用電子制御ユニット４へ対してエンジン始動データＤＥＳが車内ＬＡＮ８を介して送信され、エンジン用電子制御ユニット４においては、そのエンジン始動データＤＥＳを基にエンジン２の始動制御が行われ、次いで、走行制御が行われることとなる。
一方、変速機用電子制御ユニット５においては、ユーザによるセレクトレバー７の切替位置の情報が位置スイッチ６を介して入力され、他のデータと共に自動変速機３の制御に供され、変速機用電子制御ユニット５による自動変速機３の制御が行われる。この変速機用電子制御ユニット５による自動変速機３の制御動作中、自動変速機３の動作状態に応じて変化するデータや変数等は、間接アドレッシングによりＲＡＭ１１に書き込みされ、また、必要に応じて読み出しされるようになっている。
【００１４】
図２には、上述のＲＡＭ１１にセル故障が発生した場合に、支障なくデータ、変数等の書き込み、読み出しができるようにするために、第２のマイクロコンピュータ５Ｂにより実行されるエラーフェイルセーフ処理の手順を示すフローチャートが示されており、以下、同図を参照しつつその手順について説明する。
先ず、前提として、ＲＡＭ１１へのデータ、変数等の書き込みは、間接アドレッシングにより行われるものとする。したがって、ＲＡＭ１１が正常の状態において、間接アドレッシングの際に必要とされるポインタテーブルは、第２のマイクロコンピュータ５Ｂの図示されない記憶領域や、または、変速機用電子制御ユニット５内に設けられた図示されない他のメモリを用いて展開されているものとする。また、ＲＡＭ１１には、正常動作の状態において空きエリアが存在するものとする。
【００１５】
かかる前提の下、第２のマイクロコンピュータ５Ｂにより処理が開始されると、最初に、ポインタテーブルのＲＡＭ１１へのコピーが行われる（図２のステップＳ１００参照）。すなわち、例えば、第２のマイクロコンピュータ５Ｂの図示されない領域にポインタテーブルがあると仮定すると、この第２のマイクロコンピュータ５Ｂ内のポインタテーブルが、ＲＡＭ１１の予めポインタエリアの複写領域と定めた領域に展開（コピー）されることとなる。ここで、このＲＡＭ１１へのポインタエリアのコピーについて、図５に示された例を参照しつつ説明することとする。まず、図５に示されたＲＡＭ１１は、例えば、アドレスが１６進法で表されるとして、アドレス”０００”からアドレス”Ｘn1Ｘn2Ｘn3”までのエリアが使用されており、かつ、先のＲＡＭエラー（セル故障）は、この領域内の一部に生じているとし、アドレス”Ｘn1Ｘn2Ｘn3”以降は空きがあると仮定したとする。かかる場合においては、例えば、アドレス”Ｘn1Ｘn2Ｘn3”以降からアドレス”ＸaＸbＸc”までをテーブルエリアとして確保し、そこにポインタテーブルのコピーを行う（図５参照）。なお、元々ポインタテーブルが不揮発性の記憶素子又は記憶領域にある場合には、このステップＳ１００の処理は不要である。
【００１６】
次いで、公知・周知のバックグランド処理によりＲＡＭ１１のデータエリアにおいてセル故障が生じているか否か、ＲＡＭ１１の動作確認が行われる（図２のステップＳ１０２参照）、エラー（セル故障）が発見されたか否かが判定されることとなる（図２のステップＳ１０４参照）。
そして、ＲＡＭ１１内にエラー有りと判定された場合（ＹＥＳの場合）には、次述するステップＳ１０６の処理へ進む一方、ＲＡＭ１１内にエラー無しと判定された場合（ＮＯの場合）には、先のステップＳ１０２の処理へ戻りＲＡＭ１１のエラーチェックが再度行われることとなる。
【００１７】
ステップＳ１０６においては、ＲＡＭ１１の記憶容量に余裕があるかの判定が行われ、ＲＡＭ１１に余裕有りと判定された場合（ＹＥＳの場合）には、ステップＳ１０８の処理へ進んで該当するテーブルエリアの内容がＲＡＭ１１の新たな記憶領域へ再割り付けされることとなる（図２のステップＳ１０８参照）。すなわち、前提条件で述べたように、本発明の実施の形態においてＲＡＭ１１へのデータの書き込み又は読み出しは、間接アドレッシングにより行われるので、外部から書き込み又は読み出しのアクセスが生じた際には、そのアクセスの順序や状態によって定まるポインタテーブルの所定の箇所が参照され、その箇所で指示されている（書き込まれている）データエリアのアドレスに対して書き込みや読み出しが行われる。したがって、このアドレス再割り当てにおいては、セル故障が発見されたデータエリアのアドレスを指示しているポインタにおけるそのアドレスが、空きエリア（記憶領域）の適宜なアドレスに書き換えられることとなる。
【００１８】
例えば、先に図５に一例を示したようにＲＡＭ１１のアドレス”ＸaＸbＸc”以降が正常な空きエリアとして余裕がある場合、アドレス再割り付けの際には、このエリアのアドレスが順次割り付けられるようにすれば良い。
上述のようにしてＲＡＭ１１内に再割り付けが行われた後は、先のステップＳ１０２へ戻り、それ以後の一連の処理が同様に繰り返されることとなる。
一方、先のステップＳ１０６において、ＲＡＭ１１の記憶容量に余裕が無い（空きエリアが無い）と判定された場合（ＮＯの場合）には、変速機用電子制御ユニット（ＴＣＵ）５以外の他の電子ユニット内のＲＡＭの空きエリアへの割り付け処理（詳細は後述）が行われることとなり（図２のステップＳ２００参照）、この処理後は、先のステップＳ１０２へ戻り、それ以後の一連の処理が同様に繰り返されることとなる。
【００１９】
次に、ステップＳ２００における変速機用電子制御ユニット（ＴＣＵ）５以外の他の電子ユニット内のＲＡＭの空きエリアへの割り付け処理の具体的な手順について、図３及び図４を参照しつつ説明する。
処理が開始されると、最初に、データ識別番号（ＤＩＤ）の設定が行われる（図３のステップＳ２０２参照）。すなわち、変数ＤＩＤに、再割り付けにより書き換えられる前のアドレス（エラーが生ずる前にポインタに書き込まれていた本来のアドレス）がデータ識別番号として設定されることとなる。
次いで、ユニット識別番号（ＵＩＤ）の設定が行われる（図３のステップＳ２０４参照）。すなわち、変速機用電子制御ユニット（ＴＣＵ）５以外のＲＡＭを有する他の電子ユニット（例えば、エンジン用電子制御ユニット４や他の図示されない電子ユニット）に対して予め付された識別番号、例えば、「１」から昇順に付された番号が変数ＵＩＤへ設定される。例えば、最初に、ＵＩＤ＝１と設定されるとする。
そして、この変数ＵＩＤに設定された番号に対応する電子ユニットに対して、ＲＡＭへの書き込みが可能か否かの問い合わせと、先に設定された変数ＤＩＤの内容の送信が行われる（要求送信）こととなる（図３のステップＳ２０６参照）。なお、この要求送信を受信した電子ユニットにおける処理については後述する。
【００２０】
次いで、要求送信を受信した電子ユニットからは、その要求に対する回答送信が行われるので、それに対応して回答の受信が行われることとなる（図３のステップＳ２０８参照）。
そして、受信された回答が、当該電子ユニット内のＲＡＭへの書き込みを許容（ＯＫ）するものであるか否かが判定され（図３のステップＳ２１０参照）、ＯＫの回答であると判定された場合（ＹＥＳの場合）には、変速機用電子制御ユニット５の第２のマイクロコンピュータ５Ｂによる一連の処理は終了されることとなる（図３参照）。
一方、先のステップＳ２１０において、受信された回答はＯＫではないと判定された場合（ＮＯの場合）には、この時点における変数ＵＩＤの値に１が加算されて新たな変数ＵＩＤの値とされる（図３のステップＳ２１２参照）。次いで、この新たな変数ＵＩＤの値が予め定められた最大値ＭＡＸより小さいか否か（ＵＩＤ＜ＭＡＸ）が判定されることとなり（図３のステップＳ２１４参照）、ＵＩＤがＭＡＸより小さい、すなわち、換言すれば、ＲＡＭを有する他の電子ユニットが存在すると判定された場合（ＹＥＳの場合）には、先のステップＳ２０６へ戻り、新たな変数ＵＩＤで指定された電子ユニットに対して先に説明した一連の処理が同様に行われることとなる。
【００２１】
また、ステップＳ２１４において、ＵＩＤ＜ＭＡＸではない、すなわち、ＵＩＤがＭＡＸを越えたと判定された場合（ＮＯの場合）には、ＲＡＭ使用の対象となる他の電子ユニットは存在しないことを意味し、この場合、代替えのＲＡＭ記憶領域が確保されないこととなり、変速機用電子制御ユニット５の正常な動作が保証できなくなることから、変速機用電子制御ユニット５のリセット要求が行われて（図３のステップＳ２１６参照）、一連の処理が終了されることとなる。なお、変速機用電子制御ユニット５のリセット要求がなされた場合、変速機用電子制御ユニット５は初期動作状態とされるようになっている。
【００２２】
次に、要求送信（図３のステップ２０６参照）を受けた他の電子ユニットにおける処理手順について、図４を参照しつつ説明する。
まず、変速機用電子制御ユニット５からの要求送信に対する受信処理が行われ（図４のステップＳ３０２参照）、次いで、この電子ユニット（例えば、エンジン用電子制御ユニット４等）に設けられたＲＡＭ（図示せず）に余裕があるか否か、すなわち、空きエリアがあるか否かのチェックが行われることとなる（図４のステップＳ３０４参照）。そして、そのチェックの結果が判定され（図４のステップＳ３０６参照）、ＲＡＭに余裕ありと判定された場合（ＹＥＳの場合）には、変速機用電子制御ユニット５へ対して、ＲＡＭに余裕有りとする（ＯＫ回答）送信が行われ（図４のステップＳ３０８参照）、次いで、受信された変数ＤＩＤの値、すなわち、エラーが生じているアドレスが、ＲＡＭの空きエリアに再割り付けされて（図４のステップＳ３１０参照）、一連の処理が終了されることとなる。なお、ここで、アドレスの再割り付けは、先にステップＳ１０８で説明したと同様であるので、ここでの詳細な説明は省略することとする。
【００２３】
一方、先のステップＳ３０６において、ＲＡＭに余裕無しと判定された場合（ＮＯの場合）には、ＲＡＭに余裕無しとする（ＮＧ回答）送信が行われて（図４のステップＳ３１２参照）、一連の処理が終了されることとなる。
なお、上述した実施の形態においては、ポインタテーブルを、ＲＡＭ１１に複写するようにしたが、エラーフェイルセーフ処理方法が適用される半導体記憶素子以外のもの、例えば、フラッシュメモリやＥＥＰＲＯＭ等の他の半導体記憶素子に複写するようにしても良いものである。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施の形態における半導体記憶素子のエラーフェイルセーフ処理方法が実行される装置の一例としての車両用電子制御装置の一構成例を示す構成図である。
【図２】図１に示された車両用電子制御装置において実行される半導体記憶素子のエラーフェイルセーフ処理の手順を示すフローチャートである。
【図３】図２に示されたフローチャートにおける変速機用電子制御ユニット以外の他の電子ユニットのＲＡＭへ割り付けを行う場合の処理手順を示すサブルーチンフローチャートである。
【図４】図３に示されたサブルーチンフローチャートが実行された場合において、他の電子ユニットで実行される制御手順を示すサブルーチンフローチャートである。
【図５】本発明の実施の形態における半導体記憶素子のエラーフェイルセーフ処理の対象とされるＲＡＭの記憶エリアの配置例を模式的に示す説明図である。
【符号の説明】
【００２５】
４…エンジン用電子制御ユニット
５…変速機用電子制御ユニット
５Ｂ…第２のマイクロコンピュータ
１１…ＲＡＭ
【図１】
2005149183.tif 000003
【図２】
2005149183.tif 000004
【図３】
2005149183.tif 000005
【図４】
2005149183.tif 000006
【図５】
2005149183.tif 000007