IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ドリーム・チップ・テクノロジーズ・ゲーエムベーハーの特許一覧

特表2024-532975データメモリの自己診断用の電子回路及び方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】データメモリの自己診断用の電子回路及び方法
(51)【国際特許分類】
   G11C 29/02 20060101AFI20240905BHJP
   G11C 29/42 20060101ALI20240905BHJP
   G06F 11/10 20060101ALI20240905BHJP
【FI】
G11C29/02
G11C29/42
G06F11/10 648
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022572415
(86)(22)【出願日】2021-09-29
(85)【翻訳文提出日】2022-12-20
(86)【国際出願番号】 EP2021076800
(87)【国際公開番号】W WO2023051903
(87)【国際公開日】2023-04-06
(81)【指定国・地域】
(71)【出願人】
【識別番号】522456833
【氏名又は名称】ドリーム・チップ・テクノロジーズ・ゲーエムベーハー
【氏名又は名称原語表記】Dream CHIP Technologies GmbH
【住所又は居所原語表記】Steinriede 10,30827 Garbsen,Germany
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100212705
【弁理士】
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【弁理士】
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】アイケル、カール・ハインツ
【テーマコード(参考)】
5L206
【Fターム(参考)】
5L206AA01
5L206AA02
5L206AA17
5L206BB12
5L206DD50
5L206EE05
5L206FF04
5L206FF05
5L206HH05
5L206HH11
(57)【要約】
データメモリ(RAM)中に書き込まれるユーザデータ(DIN)から誤り訂正符号(ECCIN)を生成するための第1の誤り訂正符号ユニット(ECCGEN1)を備える/使用する、データメモリ(RAM)の自己診断用の電子回路及び方法を説明する。電子回路は、データメモリ(RAM)中にユーザデータ及び関連する誤り訂正符号(ECCIN)を書き込む書き込みサイクルにおいてメモリ中に書き込まれたユーザデータ(DIN)及び誤りチェックユニット(ECCCHK/CORR)中に書き込まれた関連する誤り訂正符号(ECCIN)を供給して、誤り訂正符号(ECCIN)と、誤りチェックユニット(ECCCHK/CORR)によってユーザデータ(DIN)から算出されたカウンタチェック符号(CCCIN)との間に差があると決定された場合にLatent_Faultフラグを提供するように構成される。
【選択図】図1
【特許請求の範囲】
【請求項1】
データメモリ(RAM)の自己診断用の電子回路であって、
-前記データメモリ(RAM)中に書き込まれるユーザデータ(DIN)から誤り訂正符号(ECCIN)を生成するための第1の誤り訂正符号ユニット(ECCGEN1)と、ここにおいて、前記電子回路は、前記データメモリ(RAM)中に前記ユーザデータ(DIN)及び前記関連する誤り訂正符号(ECCIN)を書き込むように構成される、
-前記データメモリ(RAM)から読み出されるユーザデータ(DOUT)からカウンタチェック符号(CCCOUT)を算出し、前記カウンタチェック符号(CCCOUT)を、前記関連するユーザデータ(DOUT)と共に前記データメモリ(RAM)から読み出される前記誤り訂正符号(ECCOUT)と比較するための誤りチェックユニット(ECCCHK/CORR)と、ここにおいて、前記誤りチェックユニット(ECCCHK/CORR)は、前記誤りチェック符号(ECCOUT)と前記カウンタチェック符号(CCCOUT)との間に差がある場合に誤りフラグ(CERR/UNCERR)を提供するように構成される、
を備える電子回路において、
前記電子回路は、前記データメモリ(RAM)中に前記ユーザデータ及び前記関連する誤り訂正符号(ECCIN)を書き込む前記書き込みサイクルにおいて前記メモリ中に書き込まれた前記ユーザデータ(DIN)及び前記誤りチェックユニット(ECCCHK/CORR)中に書き込まれた前記関連する誤り訂正符号(ECCIN)を供給して、前記誤り訂正符号(ECCIN)と、前記誤りチェックユニット(ECCCHK/CORR)によって前記ユーザデータ(DIN)から算出された前記カウンタチェック符号(CCCIN)との間に差があると決定された場合にLatent_Faultフラグを提供するように構成されることを特徴とする、電子回路。
【請求項2】
前記電子回路は、
-第1及び第2の入力並びに出力を備える第1のマルチプレクサ(MUX_1)と、ここにおいて、前記データメモリ(RAM)中に書き込まれる前記ユーザデータ(DIN)は、前記第1のマルチプレクサ(MUX_1)の前記第2の入力において提供され、前記データメモリ(RAM)から読み出すときに前記データメモリ(RAM)から提供される前記ユーザデータ(DOUT)は、前記第1のマルチプレクサ(MUX_1)の前記第1の入力において提供され、前記第1のマルチプレクサ(MUX_1)の前記出力は、前記誤りチェックユニット(ECCCHK/CORR)の入力に、読み出しサイクルにおいて前記データメモリ(RAM)から読み出された前記ユーザデータ(DOUT)を提供し、前記誤りチェックユニット(ECCCHK/CORR)の前記入力に、前記書き込みサイクルにおいて前記データメモリ(RAM)中に書き込まれるように供給された前記ユーザデータ(DIN)を提供するようにデータメモリ読み出し/書き込みフラグによって前記第1のマルチプレクサ(MUX_1)が制御されるときに、前記誤りチェックユニット(ECCCHK/CORR)の前記入力に接続される、
-第1及び第2の入力並びに出力を有する第2のマルチプレクサ(MUX_2)と、ここにおいて、前記データメモリ(RAM)中に書き込まれる前記ユーザデータ(DIN)のために前記第1の誤り訂正符号ユニット(ECCGEN1)によって生成された前記誤り訂正符号(ECCIN)は、前記第2のマルチプレクサ(MUX_2)の前記第2の入力において提供され、読み出しサイクルにおいて前記データメモリ(RAM)から前記関連するユーザデータ(DOUT)を読み出すときに前記データメモリ(RAM)から読み出された前記誤り訂正符号(ECCOUT)は、前記第2のマルチプレクサ(MUX_2)の前記第1の入力において提供され、前記第2のマルチプレクサ(MUX_2)の前記出力は、前記誤りチェックユニット(ECCCHK/CORR)の入力に接続され、前記第2のマルチプレクサ(MUX_2)は、書き込みサイクルにおいて前記誤りチェックユニット(ECCCHK/CORR)に、前記第1の誤り訂正符号ユニット(ECCGEN1)から直接得られた前記誤り訂正符号(ECCIN)を提供し、読み出しサイクルにおいて、前記データメモリ(RAM)から直接得られた前記誤り訂正符号(ECCOUT)を提供するように前記データメモリ読み出し/書き込みフラグによって制御される、
を備えることを特徴とする、請求項1に記載の電子回路。
【請求項3】
前記第1及び第2のマルチプレクサ(MUX_1,MUX_2)は、共通のマルチプレクサユニット中に一体的に形成されることを特徴とする、請求項2に記載の電子回路。
【請求項4】
前記誤りチェックユニット(ECCCHK/CORR)の前記出力は、少なくとも1つのロジックユニット(&_1,&_2)の入力に提供され、前記少なくとも1つのロジックユニット(&_1,&_2)は、書き込みサイクルにおいて、前記データメモリ中に書き込まれるように提供された前記ユーザデータ(DIN)から計算された前記計算された誤り訂正符号(ECCIN)と、前記データメモリ(RAM)中に書き込まれる前記ユーザデータ(DIN)から計算された前記カウンタチェック符号(CCCIN)との比較の結果として、前記書き込みサイクルにおいて前記少なくとも1つのロジックユニット(&_1,&_2)の前記出力において前記Latent_Faultフラグを提供し、前記読み出しサイクルにおいて、前記データメモリから読み出された前記記憶された誤り訂正符号(ECCOUT)と、前記データメモリ(RAM)から読み出される前記ユーザデータ(DOUT)から計算された前記カウンタチェック符号(CCCOUT)との比較の結果として、誤りフラグ(CERR/UNCERR)を提供するように前記読み出し/書き込みフラグによって制御されることを特徴とする、請求項1~3のうちのいずれか一項に記載の電子回路。
【請求項5】
前記誤りチェックユニット(ECCCHK/CORR)は、前記カウンタチェック符号(CCCOUT)を計算するために提供された第2の誤り符号生成ユニット(ECCGEN2)と、前記誤り訂正符号(ECCIN)を前記カウンタチェック符号(CCCOUT)を比較し、前記比較された誤り訂正符号(ECCIN)とカウンタチェック符号(CCCOUT)との間に不一致がある場合に、訂正可能な誤りが検出された場合には訂正可能な誤りフラグ(CERR)を設定するか、又は訂正不可能な誤りが検出された場合には訂正不可能な誤りフラグ(UNCERR)を設定するか、のうちのいずれかを行うように構成されたチェック符号比較ユニット(ECCCHK)とを備えることを特徴とする、請求項1~4のうちのいずれか一項に記載の電子回路。
【請求項6】
前記誤りチェックユニット(ECCCHK/CORR)は、前記誤り訂正符号(ECCIN)を前記それぞれのカウンタチェック符号(CCCOUT)と比較することによって検出された故障ビットの前記少なくとも1つのビット位置を位置特定するように構成された誤り位置特定ユニット(ERRLOC)を備え、前記誤りチェックユニット(ECCCHK/CORR)は、故障ビットの少なくとも1つのビット位置を位置特定する場合にLatent_Faultフラグを設定するように構成されるか、又は訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)が設定され、前記誤り位置特定ユニット(ERRLOC)は、前記書き込みサイクル及び前記読み出しサイクルの両方において機能するように適合されることを特徴とする、請求項5に記載の電子回路。
【請求項7】
前記誤りチェックユニット(ECCCHK/CORR)は、故障ビットの少なくとも1つのビット位置が第1のORゲート(OR1)の前記入力におけるビットベクトルによって示される場合にフラグを提供する前記第1のORゲート(OR1)と、前記第1のORゲート(OR1)によって提供された前記誤りフラグ、前記訂正可能な誤りフラグ(CERR)、又は前記訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが第2のORゲート(OR2)の前記入力において設定される場合に前記第2のORゲート(OR2)の出力として潜在故障信号を提供する前記第2のORゲート(OR2)とを備えることを特徴とする、請求項6に記載の電子回路。
【請求項8】
前記誤りチェックユニット(ECCCHK/CORR)は、誤り訂正ユニット(ECCCOR)の前記入力における前記ユーザデータ(DIN,DOUT)の故障ビットの前記位置を示す誤り位置ベクトルの関数としてその出力における訂正されたユーザデータ(DOUT, CORR)を提供するように設計された前記誤り訂正ユニット(ECCCOR)を備え、前記誤りチェックユニット(ECCCHK/CORR)は、前記誤り訂正ユニット(ECCCOR)の前記入力における前記ユーザデータ(DIN,DOUT)を前記誤り訂正ユニット(ECCCOR)の前記出力における前記訂正されたユーザデータ(DOUT, CORR)と比較して、書き込みサイクルにおいて前記比較されたユーザデータ(DIN,DOUT)と前記訂正されたユーザデータ(DOUT, CORR)との間に不一致がある場合に誤りフラグを示すように設計された比較器ユニットを更に備えることを特徴とする、請求項1~7のうちのいずれか一項に記載の電子回路。
【請求項9】
データメモリの自己診断用の方法であって、
a)書き込みサイクルであって、
-前記データメモリ(RAM)中に書き込まれるように提供されたユーザデータ(DIN)から誤り訂正符号(ECCIN)を計算することと、
-前記データメモリ(RAM)中に前記計算された誤り訂正符号(ECCIN)及び前記関連するユーザデータ(DIN)を記憶することと
を行うステップを備える書き込みサイクルと、
b)読み出しサイクルであって、
-前記データメモリ(RAM)からユーザデータ(DOUT)及び前記関連する記憶された誤り訂正符号(ECCOUT)を読み出すことと、
-前記データメモリ(RAM)から読み出された前記ユーザデータ(DOUT)からカウンタチェック符号(CCCOUT)を計算することと、
-前記データメモリ(RAM)から読み出された前記誤り訂正符号(ECCOUT)を前記カウンタチェック符号(CCCOUT)と比較して、不一致がある場合に前記データメモリ(RAM)の機能不全を示す誤りフラグを提供することと
を行うステップを備える読み出しサイクルと
を備える方法において、前記書き込みサイクルにおける、
-前記データメモリ(RAM)中に書き込まれるように提供された前記ユーザデータ(DIN)からカウンタチェック符号(CCCIN)を計算することと、
-前記計算された誤り訂正符号(ECCIN)を前記計算されたカウンタチェック符号(CCCIN)と比較して、不一致がある場合に前記書き込みサイクルにおいて前記データメモリ(RAM)中に記憶される前記誤り訂正符号(ECCIN)を計算するために提供された前記機能の潜在故障を示すLatent_Faultフラグを提供することと
を行う追加のステップを特徴とする、方法。
【請求項10】
-前記誤りチェックユニット(ECCCHK/CORR)に、書き込みサイクルにおいて、前記誤り訂正符号ユニット(ECCGEN)の前記出力において提供された前記誤り訂正符号(ECCIN)と、前記誤り訂正符号ユニット(ECCGEN)の前記入力において提供された前記関連するユーザデータ(DIN)とを転送して、前記書き込みサイクルにおいて不一致がある場合にLatent_Faultフラグを提供することと、
-前記誤りチェックユニット(ECCCHK/CORR)に、前記読み出しサイクルにおいて、前記データメモリ(RAM)から読み出された前記記憶された誤り訂正符号(ECCOUT)及び前記関連する記憶されたユーザデータ(DOUT)とを転送して、読み出しサイクルにおいて前記データメモリ(RAM)の機能不全を示す誤りフラグを提供することと
を特徴とする、請求項1~8のうちのいずれか一項に記載の電子回路で実行される、請求項9に記載の方法。
【請求項11】
前記ユーザデータ(DIN,DOUT)中の1ビット誤りが訂正され、訂正可能な誤りフラグが設定され、前記ユーザデータ(DIN,DOUT)中に1よりも多くのビットを備える任意の誤りが、前記ユーザデータ(DIN,DOUT)を訂正することなく前記誤りフラグによって訂正不可能な誤りとして示される、請求項9又は10に記載の方法。
【請求項12】
前記書き込みサイクルは、
-前記データメモリ(RAM)中に書き込まれるように提供されたユーザデータ(DIN)から誤り訂正符号(ECCIN)を計算することと、
-前記データメモリ(RAM)中に前記計算された誤り訂正符号(ECCIN)及び前記関連するユーザデータ(DIN)を記憶することと、
-前記データメモリ(RAM)中に書き込まれるように提供された前記ユーザデータ(DIN)からカウンタチェック符号(CCCIN)を計算することと、
-前記計算された誤り訂正符号(ECCIN)を前記計算されたカウンタチェック符号(CCCIN)と比較して、不一致がある場合に、前記第1のステップにおける前記誤り訂正符号(ECCIN)の前記計算における、又は前記第3のステップにおける前記カウンタチェック符号(CCCIN)の前記計算における機能不全を示す少なくとも1つの誤りフラグ(CERR,UNCERR)を提供することと、
-前記カウンタチェック符号(CCCIN)を計算するときに故障によって引き起こされる前記処理されたユーザデータ(DIN)における故障として識別されるビットの前記ビット位置を検出することと、
前記訂正可能な誤りフラグ(CERR)、訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出されたかどうかをチェックし、前記訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出された場合にLatent_Faultフラグを設定することと
を行うステップを備えることを特徴とする、請求項9~11のうちのいずれか一項に記載の方法。
【請求項13】
前記読み出しサイクルは、
-前記データメモリ(RAM)からユーザデータ(DOUT)及び前記関連する記憶された誤り訂正符号(ECCOUT)を読み出すことと、
-前記データメモリ(RAM)から読み出された前記ユーザデータ(DOUT)からカウンタチェック符号(CCCOUT)を計算することと、
-前記データメモリ(RAM)から読み出された前記誤り訂正符号(ECCOUT)を前記計算されたカウンタチェック符号(CCCOUT)と比較して、不一致がある場合に前記データメモリ(RAM)の機能不全を示す少なくとも1つの誤りフラグ(CERR,UNCERR)を提供することと、
-前記データメモリ(RAM)から読み出された前記ユーザデータ(DOUT)中の故障ビットの前記ビット位置を検出することと、
-前記訂正可能な誤りフラグ(CERR)、訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出されたかどうかをチェックし、前記訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出された場合に潜在故障信号を設定することと
を行うステップを備えることを特徴とする、請求項9~12のうちのいずれか一項に記載の方法。
【請求項14】
前記示されたビット位置において前記読み出しサイクルにおいて前記データメモリ(RAM)から読み出される前記ユーザデータ(DOUT)中の前記故障ビットを訂正するステップを特徴とする、請求項12又は13に記載の方法。
【請求項15】
受信機に、前記データメモリ(RAM)から読み出された前記誤り訂正符号(ECCOUT)と共に前記読み出しサイクルにおいて前記訂正されたユーザデータ(DOUT)を提供し、前記受信機側上の前記受信された訂正されたユーザデータ(DOUT)の正しさをチェックすることを特徴とする、請求項9~14のうちのいずれか一項に記載の方法。
【請求項16】
前記ユーザデータ(DIN,DOUT)を前記訂正されたユーザデータ(DOUT, CORR)と比較し、それらは、前記ユーザデータ(DIN,DOUT)中の前記故障ビットを訂正し、前記書き込みサイクルにおいて前記比較されたユーザデータ(DIN,DOUT)と前記訂正されたユーザデータ(DOUT, CORR)との間に不一致がある場合に潜在故障信号を示すステップにおいて訂正されることを特徴とする、請求項14又は15に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データメモリの自己診断用の電子回路に関し、
-データメモリ中に書き込まれるユーザデータから誤り訂正符号を生成するための第1の誤り訂正符号ユニットと、ここにおいて、電子回路は、データメモリ中にユーザデータ及び関連する誤り訂正符号を書き込むように構成される、
-データメモリから読み出されるユーザデータからカウンタチェック符号を算出し、カウンタチェック符号を、関連するユーザデータと共にメモリから読み出される誤り訂正符号と比較するための誤りチェックユニットと、ここにおいて、誤りチェックユニットは、誤りチェック符号とカウンタチェック符号との間に差がある場合に誤りフラグを提供するように構成される、
を備える。
【0002】
本発明は更に、データメモリの自己診断用の方法に関し、
a)書き込みサイクルであって、
-データメモリ中に書き込まれるように提供されたユーザデータから誤り訂正符号を計算することと、
-データメモリ中に計算された誤り訂正符号及び関連するユーザデータを記憶することと
を行うステップを備える書き込みサイクルと、
b)読み出しサイクルであって、
-データメモリからユーザデータ及び関連する記憶された誤り訂正符号を読み出すことと、
-データメモリから読み出されたユーザデータからカウンタチェック符号を計算することと、
-データメモリから読み出された誤り訂正符号をカウンタチェック符号と比較して、不一致がある場合にデータメモリの機能不全を示す誤りフラグを提供することと
を行うステップを備える読み出しサイクルと
を備える。
【背景技術】
【0003】
データメモリ中に電子的にデータを記憶するとき、いくつかの理由に起因して、機能不全が生じる可能性がある。
【0004】
メモリデータ破損を検出するために、誤り訂正符号が、データメモリ中で発生しているnビットのデータ破損を検出及び訂正するために使用される。そのような誤りは、いくつかの理由に起因して、ビットフリップによって引き起こされる可能性がある。
【0005】
データストリングのパリティ(例えば、単一バイト又は複数バイト)を記録するために余分なメモリビットを書き込むことが知られており、それは、全ての単一ビット誤りの検出を可能にする。誤り訂正符号(ECC)を使用することが更に知られており、それは、データメモリ中に書き込まれるユーザデータから計算され、データメモリ中にユーザデータと共に記憶される。単一誤り訂正及び二重誤り訂正ハミング符号のような誤り訂正符号は、単一ビット誤りが訂正され、二重ビット誤りが検出されることを可能にする。これは、余分なパリティビットの使用と組み合わせることができる。誤り訂正符号はまた、マルチビット誤りを訂正することが知られている。誤り訂正符号機能は、データメモリデバイスのロジックと共にハードウェアにおいて実装することができる。
【0006】
G. Tosenovjan: Error correction codes implemented on MPC55XX and MPC56XX devices, NXP-free scale semiconductor Application note, Document no. AN5200, rev. 1, 12/2015は、ソフト誤りを介したデータ破損が容易に許容されない用途においてデータメモリで利用される誤り訂正符号機能について説明している。例えば、ECC誤り割り込みによって、単一誤りは訂正され、二重誤りは検出され、示される。
【0007】
1ビット誤りは、データメモリからデータを読み出し、訂正後にそれらを書き戻すことによって「物理的に」修復することができる。
【0008】
JP-H-08263391 Aは、誤り訂正符号(ECC)を記憶するためのランダムアクセスメモリ(RAM)の試験方法を備えるメモリデバイスを開示している。メモリデバイスは、ECC生成回路、及び誤り訂正/検出回路中にECCを記憶するためのRAMを含む。メモリデバイスでは、ECCは、メモリ制御デバイスから受信された書き込みデータからECC生成回路によって生成される。誤り訂正/検出回路では、RAMの信号ラインによって示されたアドレスのECCから、シンドロームが生成される。シンドロームによって検出された誤りの結果が1ビット誤りである場合、誤り訂正されたデータが、レジスタ中に設定され、1ビット誤り情報が、誤りフラグ中に設定される。2ビット誤りの場合、2ビット誤り情報が、誤りフラグ中に設定され、誤りフラグの内容が、信号ラインによってメモリ制御デバイスに報告される。
【0009】
US 2020/0167230 A1は、誤り訂正符号(ECC)比較器を含むECCモジュールを備えるパワートレインコントローラのロジックを検出するRAM誤りの自己診断用の方法及び装置について開示している。
【0010】
RAM誤り検出ロジックの自己診断は、誤りがRAM誤り検出ロジックにおいて生じているか、又は誤り訂正符号ECCモジュールにおいて生じているかを診断するために提供される。試験モードの特定の試験動作中のマイクロコントローラユニットの第2のコアと連動して動作しているRAMに対応する誤り訂正符号モジュールに対して、試験が実行される。
【0011】
各ECCモジュールの試験が実行されるとき、各コアによって実行される試験は、ECC比較器の試験ビット入力ポート中で誤りが生じるように、指定値に対してOR入力を実行するための第1のタスクを通して誤り検出機能が適切に動作しているかどうかをチェックすることと、ECC比較器の入力ポートがフリップ及び入力されることを通して入力データの1ビットが実際に入力される訂正可能な誤り試験のための第2のタスクを通して誤り検出機能が適切に動作しているかどうかをチェックすることと、ECC比較器の入力ポートがフリップされることを通して入力データの2ビットが実際に入力される訂正不可能な誤り試験のための第3のタスクを通して誤り検出機能が適切に動作しているかどうかをチェックすることとを含む。
【発明の概要】
【0012】
本発明の目的は、ユーザデータから誤り訂正符号(ECC)を生成するために提供された誤り訂正符号ユニットの機能不全を容易且つ安全に監視するための改善された電子回路及び方法を提供することである。本目的は、請求項1に記載の特徴を備える電子回路と、請求項5に記載の特徴を備える方法とによって達成される。
【0013】
好ましい実施形態は、従属請求項に説明する。
【0014】
請求項1の前提部に記載の電子回路は、データメモリ中にユーザデータ及び関連する誤り訂正符号を書き込む書き込みサイクルにおいてデータメモリ中に書き込まれたユーザデータ及び誤りチェックユニット中に書き込まれた関連する誤り訂正符号を供給して、誤り訂正符号とカウンタチェック符号との間に差があると決定された場合に潜在故障フラグを提供するように更に構成される。
【0015】
潜在故障フラグは、誤り訂正符号ユニット中で発生している誤りを示す。従って、誤り訂正符号ユニットの機能を、追加の時間を必要としないで、及び少ないハードウェア及び/又はソフトウェアリソースのみで、容易に監視することができる。
【0016】
このことから、本発明によると、データメモリから読み出されたユーザデータから計算された記憶された誤り訂正符号及びカウンタチェック符号をチェックするために読み出しサイクルのために設計された誤りチェックユニットは、本発明によると、書き込みサイクルにおいて誤り訂正符号ユニットによって生成された誤り訂正符号をチェックするために書き込みサイクルのために更に使用される。これは、特にセーフティクリティカルな用途において、永久及び過渡故障に対してISO規格26262に従ってメモリ及びレジスタを保護することを可能にする。
【0017】
誤り訂正符号ユニット及び誤りチェックユニットは、このISO規格26262の意味の範囲内の安全機構である。
【0018】
書き込みサイクルにおいて誤りチェックユニットを使用することによって誤り訂正符号ユニットを監視することによって、両方の安全機構が、潜在故障の発生のために監視される。ISO規格26262は、例えば、安全機構自体に欠陥があり、このことから、機能的なロジックにおける誤りがもはや認識されなくなる場合に、潜在故障について語っている。
【0019】
先行技術の安全機構は、システムがロジックBist(LBist)を介して起動されるときに永久誤りについてチェックされるだけではないが、本発明では、安全機構は、データメモリの読み出しサイクルにおいてだけでなく書き込みサイクルにおいても、誤り訂正符号と関連するカウンタチェック符号とを比較することによって頻繁に監視される。
【0020】
データメモリは、あらゆるデータメモリであり得、特に、ランダムアクセスメモリ、レジスタ、等であり得る。データメモリは、別個の集積回路中に提供することができるか、又はマイクロプロセッサ、マイクロコントローラ、FPGA、ASIC、等のような集積回路の一部であり得る。
【0021】
電子回路は、本発明が誤り訂正符号ユニット(ECCGEN)及び誤りチェックユニット(ECCCHK/CORR)を備える既存の安全機構を使用して互いを監視するので、容易に実装することができる。
【0022】
好ましくは、電子回路は、誤り訂正符号ユニットから生成された誤り訂正符号(ECC)とメモリの書き込みユーザデータとが書き込みサイクルにおいてマルチプレクサユニットによって誤りチェックユニット(ECCCHK/CORR)に切り替えられるように、少なくとも1つのマルチプレクサユニットを備える。
【0023】
このことから、電子回路は、好ましくは、
-第1及び第2の入力並びに出力を備える第1のマルチプレクサと、ここにおいて、データメモリ中に書き込まれるユーザデータは、第1のマルチプレクサの第2の入力において提供され、データメモリから読み出すときにデータメモリから提供されるユーザデータは、第1のマルチプレクサの第1の入力において提供され、第1のマルチプレクサの出力は、誤りチェックユニットの入力に、読み出しサイクルにおいてデータメモリから読み出されたユーザデータを提供し、誤りチェックユニットの入力に、書き込みサイクルにおいてデータメモリ中に書き込まれるように供給されたユーザデータを提供するようにデータメモリ読み出し/書き込みフラグによって第1のマルチプレクサが制御されるときに、誤りチェックユニットの入力に接続される、
-第1及び第2の入力並びに出力を有する第2のマルチプレクサと、ここにおいて、データメモリ中に書き込まれるユーザデータのために誤り訂正符号ユニットによって生成された誤り訂正符号は、第2のマルチプレクサの第2の入力において提供され、読み出しサイクルにおいてデータメモリから関連するユーザデータを読み出すときにデータメモリから読み出された誤り訂正符号は、第2のマルチプレクサの第1の入力において提供され、第2のマルチプレクサの出力は、誤りチェックユニットの入力に接続され、第2のマルチプレクサは、書き込みサイクルにおいて誤りチェックユニットに、誤り訂正符号ユニットから直接得られた誤り訂正符号を提供し、読み出しサイクルにおいて、データメモリから直接得られた誤り訂正符号を提供するようにデータメモリ読み出し/書き込みフラグによって制御される、
を備える。
【0024】
第1及び第2のマルチプレクサは、別個の電子回路として提供することができ、それらは、共通の集積回路中の別個の電子部品又は別個の機能ユニットであり得る。第1及び第2のマルチプレクサはまた、好ましくは、共通のマルチプレクサユニット中に一体的に形成されるように設計することができる。読み出しサイクルにおけるデータメモリからのデータ(記憶された誤り訂正符号及び記憶されたユーザデータ)と、書き込みサイクルにおいてデータメモリ中に書き込まれるデータ(生成された誤り訂正符号及びユーザデータ)との間の切り替えは、例えば、電子回路の信号ラインにおいて利用可能な、データメモリに適用される読み出し及び書き込みコマンドによって制御される。この読み出し/書き込みフラグは、1ビット信号であり、それは、第1及び第2のマルチプレクサを制御するために使用される。
【0025】
第1及び第2のマルチプレクサの目的は、書き込みサイクルにおいてデータメモリ中に書き込まれる、データメモリの入力において提供される誤り訂正符号及びユーザデータと、読み出しサイクルにおいてデータメモリから読み出される、データメモリの出力における記憶された誤り訂正符号及び記憶されたユーザデータとを誤りチェックユニットに供給することである。
【0026】
マルチプレクサユニットを除いて、改善された電子回路を達成するために必要とされる追加のハードウェアは存在しない。更に、データメモリ中にデータを書き込むために誤りチェックユニットの機能を並行して実行することができるので、追加の安全チェックによって引き起こされる時間遅延は存在しない。
【0027】
誤りチェックユニットの出力は、少なくとも1つのマルチプレクサの入力に提供することができ、少なくとも1つのマルチプレクサは、書き込みサイクルにおいてマルチプレクサの出力において潜在フラグを提供し、データメモリから読み出された記憶された誤り訂正符号(ECC)とユーザデータから計算されたカウンタチェック符号(CCC)との比較の結果として誤りフラグを提供するように読み出し/書き込みフラグによって制御され、それらは、読み出しサイクルにおいてデータメモリから読み出される。
【0028】
好ましくは、電子回路の誤りチェックユニットは、カウンタチェック符号を計算するために提供された第2の誤り符号生成ユニットを更に備える。チェック符号比較ユニットが、誤り訂正符号をカウンタチェック符号と比較して、比較された誤り訂正符号とカウンタチェック符号との間に不一致がある場合に、訂正可能な誤りが検出された場合には訂正可能な誤りフラグを設定するか、又は訂正不可能な誤りが検出された場合には訂正不可能な誤りフラグを設定するか、のうちのいずれかを行うように構成される。訂正可能な及び訂正不可能なフラグは、読み出しサイクルにおいて設定され、その一方で潜在故障フラグは、書き込みサイクルにおいて設定される。
【0029】
これらの誤りフラグは、書き込みサイクルにおいて誤り符号生成ユニットの機能を監視するために、外部にシグナリングし、更に内部で使用することができる。
【0030】
更に改善された実施形態では、誤りチェックユニットは、誤り訂正符号をそれぞれのカウンタチェック符号と比較することによって検出された故障ビットの少なくとも1つのビット位置を位置特定するように構成された誤り位置特定ユニットを備える。前記誤りチェックユニットは、故障ビットの少なくとも1つのビット位置を位置特定する場合に潜在故障フラグを設定するように構成されるか、又は訂正可能な誤りフラグ又は訂正不可能な誤りフラグが設定される。このことから、訂正可能な及び訂正不可能な誤りフラグの使用による書き込みサイクルにおける誤り符号生成ユニットの機能の監視の結果は、故障ビットのビット位置の位置特定の結果と組み合わされて、潜在故障フラグを提供する。
【0031】
これは、ORゲートの使用によって実装することができ、誤りチェックユニットは、故障ビットの少なくとも1つのビット位置が第1のORゲートの入力におけるビットベクトルによって示される場合にフラグを提供する第1のORゲートと、第1のORゲートによって提供された誤りフラグ、訂正可能な誤りフラグ、又は訂正不可能な誤りフラグのうちの少なくとも1つが第2のORゲートの入力において設定される場合に第2のORゲートの出力として潜在故障フラグを提供する第2のORゲートとを備える。
【0032】
前記誤り位置特定ユニットは、書き込みサイクル及び読み出しサイクルの両方において機能するように適合される。
【0033】
好ましい実施形態では、電子回路は、誤り訂正ユニットの入力におけるユーザデータの故障ビットの位置を示す誤り位置ベクトルの関数としてその出力における訂正されたユーザデータを提供するように設計された誤り訂正ユニットを更に備える。誤りチェックユニットは、誤り訂正ユニットの入力におけるユーザデータを誤り訂正ユニットの出力における訂正されたユーザデータと比較して、書き込みサイクルにおいて比較されたユーザデータと訂正されたユーザデータとの間に不一致がある場合に誤りフラグを示すように設計された比較器ユニットを更に備える。これは、任意の時間遅延を伴わないデータ処理中の訂正ユニットの機能の容易な安全チェックを可能にする。
【0034】
データメモリの自己診断用の方法は、
a)書き込みサイクルであって、
-データメモリ中に書き込まれるように提供されたユーザデータから誤り訂正符号を計算することと、
-データメモリ中に計算された誤り訂正符号及び関連するユーザデータを記憶することと
を行うステップを有する書き込みサイクルと、
b)読み出しサイクルであって、
-データメモリからユーザデータ及び関連する記憶された誤り訂正符号を読み出すことと、
-データメモリから読み出されたユーザデータからカウンタチェック符号を計算することと、
-データメモリから読み出された誤り訂正符号をカウンタチェック符号と比較して、不一致がある場合にデータメモリの機能不全を示す誤りフラグを提供することと
を行うステップを備える読み出しサイクルと
を備える。
【0035】
書き込みサイクルにおける、
-データメモリ中に書き込まれるように提供されたユーザデータからカウンタチェック符号を計算することと、
-計算された誤り訂正符号を計算されたカウンタチェック符号と比較して、不一致がある場合に書き込みサイクルにおいてデータメモリ中に記憶される誤り訂正符号を計算するために提供された機能の潜在故障を示す潜在故障フラグを提供することと
を行う追加のステップが提供される。
【0036】
上記で説明した電子回路で実行される本方法は、好ましくは、
-誤りチェックユニットに、書き込みサイクルにおいて、誤り訂正符号ユニットの出力において提供された誤り訂正符号と、誤り訂正符号ユニットの入力において提供された関連するユーザデータとを転送して、書き込みサイクルにおいて不一致がある場合に潜在故障フラグを提供することと、
-誤りチェックユニットに、読み出しサイクルにおいて、データメモリから読み出された記憶された誤り訂正符号及び関連する記憶されたユーザデータとを転送して、読み出しサイクルにおいてデータメモリの機能不全を示す誤りフラグを提供することと
を行う更なるステップを備える。
【0037】
潜在故障フラグは、データメモリの任意の機能不全を示すようにデータメモリを制御するために使用される誤り訂正符号ユニット及び誤りチェックユニットによって提供された安全機能の潜在故障を示す。書き込みサイクルにおける誤り訂正符号ユニット及び誤りチェックユニットの両方の使用は、これらの安全機能自体の安全チェックを可能にする。これは、誤り訂正符号ユニットの直接入力、即ちユーザデータと、誤り訂正符号ユニットの直接出力、即ち計算された誤り訂正符号が、故障となり得るデータメモリ中への中間記憶なしに誤りチェックユニット中に直接供給されるので、機能する。誤り訂正符号と計算されたカウンタチェック符号との間の不一致によって潜在故障が監視される場合、誤りは、誤り訂正符号を計算するときに誤り訂正符号ユニットによって、又はカウンタチェック符号を計算するときに誤りチェックユニットによってのうちのいずれかで引き起こされる。誤り訂正符号ユニット又は誤りチェックユニットにおける別の潜在故障は、誤り訂正符号ユニット及び誤りチェックユニットのレジスタ中のビットのフリップによって引き起こされ得る。
【0038】
好ましくは、ユーザデータ中の1ビット誤りが訂正され、訂正可能な誤りフラグが誤りチェックユニットによって設定される。ユーザデータ中の1よりも多くのビットを備える任意の誤りは、ユーザデータを訂正することなく誤りフラグによって訂正不可能な誤りとして示すことができる。
【0039】
1ビット誤りのそのような訂正は、メモリのデータを読み出す読み出しサイクルに制限することができる。
【0040】
好ましい実施形態では、データメモリは、書き込みサイクルの正しさを即時にチェックするために、書き込みサイクル後に読み出しサイクルを実行することによって追加的に頻繁に監視される。
【0041】
書き込みサイクルでは、本方法は、好ましくは、
-データメモリ(RAM)中に書き込まれるように提供されたユーザデータ(DIN)から誤り訂正符号(ECCIN)を計算することと、
-データメモリ(RAM)中に計算された誤り訂正符号(ECCIN)及び関連するユーザデータ(DIN)を記憶することと、
-データメモリ(RAM)中に書き込まれるように提供されたユーザデータ(DIN)からカウンタチェック符号(CCCIN)を計算することと、
-計算された誤り訂正符号(ECCIN)を計算されたカウンタチェック符号(CCCIN)と比較して、不一致がある場合に、第1のステップにおける誤り訂正符号(ECCIN)の計算における、又は第3のステップにおけるカウンタチェック符号(CCCIN)の計算における機能不全を示す少なくとも1つの誤りフラグ(CERR,UNCERR)を提供することと、
-カウンタチェック符号(CCCIN)を計算するときに故障によって引き起こされる処理されたユーザデータ(DIN)における故障として識別されるビットのビット位置を検出することと、
-訂正可能な誤りフラグ(CERR)、訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出されたかどうかをチェックし、訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出された場合に潜在故障フラグを設定することと
を行うステップを備える。
【0042】
このことから、書き込みサイクルはまた、誤り訂正符号及びカウンタチェック符号の計算の機能を監視するために使用される。
【0043】
読み出しサイクルでは、本方法は、好ましくは、
-データメモリ(RAM)からユーザデータ(DOUT)及び関連する記憶された誤り訂正符号(ECCOUT)を読み出すことと、
-データメモリ(RAM)から読み出されたユーザデータ(DOUT)からカウンタチェック符号(CCCOUT)を計算することと、
-データメモリ(RAM)から読み出された誤り訂正符号(ECCOUT)を計算されたカウンタチェック符号(CCCOUT)と比較して、不一致がある場合にデータメモリ(RAM)の機能不全を示す少なくとも1つの誤りフラグ(CERR,UNCERR)を提供することと、
-データメモリ(RAM)から読み出されたユーザデータ(DOUT)中の故障ビットのビット位置を検出することと、
-訂正可能な誤りフラグ(CERR)、訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出されたかどうかをチェックし、訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出された場合に潜在故障信号を設定することと
を行うステップを備える。
【0044】
このことから、読み出しサイクルはまた、故障ビットのビット位置の検出の機能を監視するために使用される。
【0045】
好ましくは、本方法は、示されたビット位置において読み出しサイクルにおいてデータメモリ(RAM)から読み出されたユーザデータ(DOUT)中の故障ビットを訂正するステップを備える。
【0046】
検出されない誤りが、例えば、検出又は訂正ロジックにおける故障に起因してビットをトグルすることによって、ユーザデータを意図せずに訂正するときに、検出又は訂正ロジックにおいて生じ得る。そのような誤りは、受信機側上での訂正されたユーザデータの後続の処理において検出することができる。訂正されたユーザデータ(DOUT)は、受信機に、データメモリ(RAM)から読み出された誤り訂正符号(ECCOUT)と共に読み出しサイクルにおいて提供することができる。ユーザデータは、例えば、ECC保護されたデータバスの使用によって転送することができる。受信された訂正されたユーザデータ(DOUT)の意図されない訂正は、受信機側上での誤り訂正チェックECCCHKによって検出することができる。誤り訂正チェックECCCHKは、受信された訂正されたユーザデータ(DOUT)及び受信された誤り訂正符号(ECCOUT)に対して実行される。ECC保護されたメモリが送信機側において使用されない場合、送信機は、訂正されたユーザデータ(DOUT)に基づいて訂正誤り訂正符号ECCGENを生成する。この場合、データバスは、訂正ユーザデータ(DOUT)及び対応する誤り訂正符号ECCGENによって保護される。
【0047】
別の実施形態では、ユーザデータ(DIN,DOUT)は、訂正されたユーザデータ(DOUT, CORR)と比較され、それらは、ユーザデータ(DIN,DOUT)中の故障ビットを訂正するステップにおいて訂正される。誤りフラグが、比較されたユーザデータ(DIN,DOUT)と訂正されたユーザデータ(DOUT, CORR)との間に不一致がある場合に示される。これは、任意の時間遅延を伴わないデータ処理中の訂正ユニットの機能の容易な安全チェックと、故障ビットのビット位置の検出及び訂正の機能を監視するためにも書き込みサイクルを使用することとを可能にする。
【0048】
本発明は、同封の図面における例証的な実施形態によって開示される。
【図面の簡単な説明】
【0049】
図1】先行技術による電子回路のブロック図である。
図2】本発明による電子回路の例証的な実施形態のブロック図である。
図3a)】図2における電子回路のための誤り訂正ユニットを備える誤りチェックユニットの例証的な実施形態のブロック図である。
図3b)】誤り訂正ユニットの安全チェック用の追加の比較器を備える図3aにおける誤りチェックユニットのブロック図である。
図4】データメモリの自己診断用の方法のフロー図である。
図5a)】書き込みサイクルにおける訂正ステップを備える図4の改善された方法のフロー図である。
図5b)】読み出しサイクルにおける訂正ステップを備える図4の改善された方法のフロー図である。
図6】受信機側上に追加の誤りチェックユニットを備える、データバスによる電子回路と受信機との相互接続のブロック図である。
【0050】
図1は、先行技術によるデータメモリRAMの自己診断用の、先行技術による電子回路のブロック図を提示する。ユーザデータDIN(31...0)は、データメモリRAM中に書き込まれるようにユーザによって提供されて、特定の場所にデータが記憶される。ユーザデータDINは、複数のビット、即ち、1バイト、又は示すように、各々が8ビットを備える複数のバイト(例えば、4バイトデータパケット)を備えるデータパケットである。データパケットはまた、データメモリRAMの記憶アドレスと共にユーザデータDINを備え得る。
【0051】
データメモリRAM中に記憶されたユーザデータDINは、読み出すことができ、それは、以下において、記憶されたユーザデータDOUT(31...0)と呼ばれる。
【0052】
データメモリRAMの機能を連続してチェックするために、第1の誤り訂正符号ユニットECCGEN1が提供され、それは、ユーザデータDIN(31...0)から誤り訂正符号ECCINを計算するように設計され、それは、データメモリRAM中に書き込まれるように提供される。
【0053】
前記書き込みユーザデータDIN(31...0)は、第1の誤り訂正符号ユニットECCGEN1中に供給され、それは、データメモリRAM中に記憶されるユーザデータDIN(31...0)の関数として誤り訂正符号ECCINを計算する。関数は、例えば、ハミング符号、HSIAO符号、リードソロモン符号、等であり得る。これは、ソフトウェアアルゴリズムによって制御されるプログラマブルロジックユニットとしてハードウェアにおいて、又は電子回路のデータプロセッサ上で実行されているソフトウェアにおいて完全に、実装することができる。
【0054】
第1の誤り訂正符号ユニットECCGEN1によって計算された誤り訂正符号ECCINは、次いで、関連するユーザデータDIN(31...0)と共にデータメモリRAM中に記憶される。
【0055】
これは、データメモリRAM中にデータを記憶するための書き込みサイクルを示す信号ライン上の書き込みフラグWRによって制御される。
【0056】
データメモリRAMのデータを読み出すことは、読み出しフラグによって制御され、それは、例えば、信号ライン上の書き込みフラグWRの反転である。
【0057】
読み出しサイクルでは、ユーザデータDOUT(31...0)は、関連する記憶された誤り訂正符号ECCOUTと共に読み出され、誤りチェックユニットECCCHKに転送される。誤りチェックユニットは、データメモリRAMから読み出されるユーザデータDOUT(31...0)からカウンタチェック符号CCCOUTを計算し、カウンタチェック符号CCCOUTを読み出しサイクルにおいて関連するユーザデータDOUT(31...0)と共にデータメモリRAMから読み出される誤り訂正符号ECCOUTと比較するように設計される。
【0058】
従って、誤りチェックユニットECCCHKは、信号ライン上の読み出しフラグ
【数1】
によって制御され、それはまた、データメモリRAMのためにデータ読み出しサイクルを制御する。
【0059】
チェック及び読み出しサイクルは、記憶された読み出された誤り訂正符号ECCOUTが、データメモリRAMから読み出されたユーザデータDOUT(31...0)の関数で計算される計算されたカウンタチェック符号CCCOUTと類似であるかどうかを決定する。
【0060】
機能不全が、例えば、少なくとも1ビットのフリップによってデータメモリRAMで生じた場合、誤り訂正符号ECCOUTと計算されたカウンタチェック符号CCCOUTとの間に差が存在する。誤りチェックユニットECCCHKは、訂正された誤りCERR及び訂正不可能な誤りUNCERRのための誤りフラグを提供する。
【0061】
誤りチェックユニットECCCHKは、好ましい実施形態では、誤りがある場合、ユーザデータDOUT(31...0)を訂正する訂正ユニットを備える。1ビット誤りは、誤りフラグERRが訂正された誤りCERRを示すように、容易に訂正することができる。誤りが訂正可能でない場合、これは、訂正不可能な誤りフラグUNCERRによって示される。
【0062】
誤りフラグCERR及びUNCERRは、読み出しフラグ
【数2】
及びチップ選択フラグCSによって制御されるANDロジック&_1に提供することができる。
【0063】
誤りチェックユニットECCCHKの出力において、ユーザデータDOUT(31...0)が提供され、それは、データメモリRAMから読み出され、場合によっては、訂正ロジックによって訂正される。
【0064】
この先行技術の電子回路は、誤り訂正符号での保護によって過渡及び永久誤りに対してデータメモリRAMを保護するように設計される。
【0065】
誤り訂正符号ECCの使用は、データメモリRAM中の1ビット誤りを検出及び訂正し、1よりも多くのビット誤り、即ち、2ビット誤りを検出することを可能にする。
【0066】
例えば、対応する7ビット誤り訂正符号ECCは、例えば、32ビットユーザデータDIN(31...0)から計算することができ、それは、ハードウェアECCGENによってデータメモリRAM中に書き込まれるように提供され、誤り訂正符号ECCは、ユーザデータDIN(31...0)と共にデータメモリRAM中に書き込まれる。
【0067】
例えば、データメモリRAMからメモリラインを読み出すとき、読み出しユーザデータDOUT(31...0)は、同様に読み出された誤り訂正符号ECCOUTに対して、別のハードウェアユニット、即ち、誤りチェックユニットECCCHKでチェックされる。
【0068】
ユーザデータDOUT(31...0)中に1ビット誤りがある場合、それは、誤りチェックユニットECCCHKを介して認識され、ハードウェアECCORRを介して訂正され、訂正可能な誤りフラグCERRが設定される。
【0069】
ユーザデータDOUT(31...0)中に任意の2ビット誤りがある場合、それは、誤りチェックユニットECCCHKを介して認識され、訂正不可能な誤りフラグUNCERRが設定される。
【0070】
第1の誤り訂正符号ユニットECCGEN1及び誤りチェックユニットECCCHKは、ISO規格26262の意味の範囲内の安全機構である。誤り訂正ユニットECCCORRの機能は、出力データの意図されない訂正が、以下のシステムが誤ったデータで機能することをもたらすことになるので、読み出しサイクルにおいてセーフティクリティカルである。規格は、誤りが報告されなければならないことのみを要求するが、それが訂正される必要はなく、そのため、電子回路中の訂正ユニットと書き込みサイクルにおいて訂正ユニットの機能を制御するためのそれぞれの安全監視手順とは、任意選択である。
【0071】
ISO規格26262によると、例えば、安全機構自体に欠陥があり、このことから、機能的なロジックにおける誤りがもはや認識されなくなる場合に、潜在故障が存在する。図1による先行技術の安全機構は、システムがロジックBist(LBist)を介して起動されるときに、安全機構をチェックしないか、又は永久誤りについて安全機構をチェックするだけである。
【0072】
図2は、本発明による電子回路のブロック図を提示する。電子回路は、図1による先行技術の電子回路によるANDロジック(&_1)と共に、データメモリRAM、第1の誤り訂正符号ユニットECCGEN1、及び誤りチェックユニットECCCHKを備える。
【0073】
加えて、第1のマルチプレクサMUX_1及び第2のマルチプレクサMUX_2が提供され、第1及び第2のマルチプレクサMUX_1及びMUX_2の両方の出力が、誤りチェックユニットECCCHKの入力に接続される。
【0074】
第1のマルチプレクサMUX_1の第1の入力は、データメモリRAMに接続されて、第1のマルチプレクサの入力に、データメモリRAMからの読み出しユーザデータDOUT(31...0)を提供する。
【0075】
第1のマルチプレクサMUX_1の第2の入力は、書き込みユーザデータDIN(31...0)に接続され、それらは、データメモリRAM中に書き込まれるようにユーザによって提供される。
【0076】
第2のマルチプレクサMUX_2の第1の入力は、データメモリRAMに接続されて、記憶された誤り訂正符号ECCOUTを提供し、それは、第1のマルチプレクサMUX_1の第2の入力を提供されるユーザデータDOUT(31...0)に関連する。
【0077】
第2のマルチプレクサMUX_2の第2の入力は、第1の誤り訂正符号ユニットECCGEN1の出力に接続されて、第2のマルチプレクサの入力に、計算された誤り訂正符号ECCINを提供する。
【0078】
第1及び第2のマルチプレクサMUX_1及びMUX_2は、データメモリRAMに関連するチップ選択CS信号に加えて、信号ライン上の書き込み及び読み出しフラグによって制御される。
【0079】
チップ選択CSコマンドと共に書き込みフラグがデータメモリRAM並びに第1及び第2のマルチプレクサMUX_1及びMUX_2上に存在するとき、第2の入力が書き込みサイクルのために選択されて、第1の誤り訂正符号ユニットECCGEN1から直接得られ、ユーザデータDIN(31...0)の関数として算出され、データメモリRAM中に書き込まれるユーザデータDIN(31...0)及び誤り訂正符号ECCを誤りチェックユニットECCCHKの入力に提供する。この書き込みサイクルでは、誤りチェックユニットは、データメモリRAM中に書き込まれるように提供されたユーザデータDIN(31...0)の関数としてカウンタチェック符号CCCを計算して、このカウンタチェック符号CCCに対して第1の誤り訂正符号ユニットECCGEN1から直接得られた誤り訂正符号ECCをチェックすする。誤りチェックユニットは、誤りフラグを計算し、それは、第2のANDロジック&_2の使用によって潜在故障フラグとして扱われ、それは、信号ライン上の書き込みフラグ及びチップ選択フラグ(WR及びCS)によって制御され、それは、デジタルメモリRAMに書き込む実際に書き込みサイクルを示す。
【0080】
不一致が誤りチェックユニットECCCHKによって検出された場合、第1の誤り訂正符号ユニットECCGEN1及び誤りチェックユニットECCCHKによって提供された安全機構の機能不全を示す潜在故障フラグ、即ち、デジタル「1」ビットが設定される。
【0081】
読み出しサイクルでは、第2のANDロジックが、読み出しフラグ(書き込みフラグの反転)に起因して無効にされる。このことから、第1のANDロジック&_1は、誤りチェックユニットECCCHKが誤りチェックユニットの出力における誤りフラグ中に訂正不可能な誤りを示すときに有効にされる。このことから、第1のANDロジックの出力は、訂正可能な誤りCORR及び訂正不可能な誤りUNCORRのインジケーションを提供する。訂正可能なメモリ誤りの反復するインジケーションは、訂正不可能な誤りのリスクを伴うメモリ中の潜在故障を示す。
【0082】
この読み出しサイクルでは、データメモリ(RAM)から読み出された記憶された誤り訂正符号ECCOUT及び記憶されたユーザデータDOUT(31...0)は、誤りチェックユニットECCCHKの入力に転送されて、記憶された読み出されたユーザデータDOUT(31...0)の関数として計算されたカウンタチェック符号CCCに対して記憶された誤り訂正符号ECCOUTをカウンタチェックする。
【0083】
これは、図1で説明した先行技術の解決策に対応する関数である。
【0084】
図2における電子回路は、このことから、第1の誤り訂正符号ユニットECCGEN1及び誤りチェックユニットECCCHKによって確立された既存の安全機構を使用して、書き込みサイクルにおいて互いを監視する。第1の誤り訂正符号ユニットECCGEN1から生成された誤り訂正符号ECC及びデータメモリRAMの書き込みユーザデータDIN(31...0)は、書き込みサイクルにおいて、第1及び第2のマルチプレクサを備えるマルチプレクサユニットによって誤りチェックユニットECCCHKに切り替えられる。
【0085】
第1の誤り訂正符号ユニットECCGEN1又は誤りチェックユニットECCCHK中に1ビット誤り又は二重ビット誤りが存在する場合、それは、潜在故障フラグを介して識別及びシグナリングされることになる。
【0086】
データメモリRAMへの書き込みアクセスの度に、安全機構が、高い診断範囲(DC)を有するソフトウェアのいかなる必要性も伴わずにチェックされる。診断範囲DCは100%である。
【0087】
安全機構の監視は、単に誤りチェックユニットECCCHKに既存の誤り訂正符号ECC及びユーザデータDIN(31...0)を転送し、この書き込みサイクルにおいてもこの誤りチェックユニットECCCHKを実行することによって、データメモリ中にユーザデータDIN(31...0)を書き込むことと並行して書き込みサイクルにおいて行われる。
【0088】
電子回路は、データメモリRAM集積回路の一部として、又はマイクロコントローラ、マイクロプロセッサ、FPGA、ASICのようなより大きいロジック構造、若しくはメモリユニットを備える他のロジック回路の一部として、ハードウェアにおいて完全に実装することができる。本発明の意味の範囲内のメモリユニットはまた、データレジスタを含む。電子回路は、RAMメモリ、レジスタ、不揮発性メモリ、等を含む任意の種類のメモリと組み合わせて設計することができる。
【0089】
図3a)は、図2における電子回路のための誤り訂正ユニットECCCORを備える誤りチェックユニットECCCHK/CORRの例証的な実施形態のブロック図である。
【0090】
ISO26262の安全目的は、誤りフラグ(CORR,UNCORR,潜在故障)によって署名された誤りは必ず訂正されなければならないとは規定していない。しかしながら、誤った訂正は、誤りが存在しない場合には、読み出し中に実行されないことがある。
【0091】
初日の「意図されない」訂正をもたらす誤り訂正ロジックECCCOR又は誤りチェックロジックECCCHKにおける誤りは、システムが正しくないデータで動作し続けることになるので、ISO26 262の安全目的の違反となるであろう。従って、書き込みサイクル中に既に訂正ロジックECCCORの大部分を監視していることが有利であり、それは、誤りチェックユニットECCCHK/CORRの一部であり得る。
【0092】
書き込みサイクル中の2つの誤り事例の単純且つ高速なチェックは、図3のブロック図において例証的に示すロジックによって行うことができる。
【0093】
誤りチェックユニットECCCHK/CORRは、図2に示す誤り訂正符号ECCINを計算するために提供された第1の誤り訂正符号ユニットECCGEN1と類似である、カウンタチェック符号CCCOUTを計算する第2の誤り訂正符号ユニットECCGEN2を備える。これは、各サイクル、即ち、読み出し及び書き込みサイクルにおいて、書き込みサイクルにおいてデータメモリ中に書き込まれたユーザデータDIN(31...0)と、読み出しサイクルにおいてメモリRAMから読み出されたユーザデータDOUT(31...0)とに対して起こる。誤りチェック機能ECCCHKは、誤り訂正符号ECCINをカウンタチェック符号CCCOUTと比較し、訂正可能な、例えば、1ビット誤りが検出された場合には訂正可能な誤りフラグCERRを設定するか、又は訂正不可能な、例えばマルチビット誤りが検出された場合には訂正不可能な誤りフラグUNCERRを設定するか、のうちのいずれかを行う。
【0094】
フラグは、デジタル状態(0又は1)であり得、デジタル0は、誤りがない、即ち、それぞれ、CORRフラグについて訂正可能でなく、UNCORRフラグについて訂正不可能な誤りがないことを示し得、デジタル1は、誤り、即ち、それぞれ、CORRフラグについての訂正可能な誤り、又はUNCORRフラグについての訂正不可能な誤りを示し得る。
【0095】
読み出しサイクルでは、これらのCORR及びUNCORRフラグは、&_1ロジックの出力において示される。
【0096】
誤りチェックユニットECCCHK/CORRは、故障ビットの少なくとも1つのビット位置を位置特定するように構成された誤り位置特定ユニットERRLOCを更に備える。誤り位置特定ユニットERRLOCは、誤り訂正符号ECCINをそれぞれのカウンタチェック符号CCCOUTと比較し、ビットベクトル(31...0)インジケーション、例えば、故障ビット位置におけるビットベクトル中のデジタル1及び訂正ビット位置におけるデジタル0を提供する。誤り位置特定ユニットERRLOCは、入力データとして8ビット誤り訂正符号ECCIN及び8ビットカウンタチェック符号CCCOUT、並びに出力として32ビット誤り位置ベクトルを有する32ビットベクトルゲートとして設計することができる。
【0097】
誤り位置ベクトルは、誤り訂正ユニットECCCORへの入力に転送されて、誤り訂正ユニットECCCORの第2の入力に提供されたユーザデータDIN(31...0)のビットを訂正する。誤り訂正ユニットECCCORは、誤り位置ベクトルによって故障として示されたそれぞれのビットをトグルするように設計することができる。誤り訂正ユニットECCCORの出力は、訂正されたユーザデータDOUT(31...0)を提供する。
【0098】
(例えば、32ビット)誤り位置ベクトルは、第1のORゲートOR1の入力に転送され、それは、誤り位置ベクトルの少なくとも1つのビットが故障ビットの存在を示すと、出力において誤りフラグを示す。
【0099】
誤り制御ロジックの機能を監視するために、CORR/UNCORRフラグを提供する誤りチェック機能が、読み出し及び書き込みサイクルの両方に対して実行される。CORR/UNCORRフラグは、読み出し又は書き込みサイクルインジケーションにおいて誤りチェックロジックによって、誤り、即ち訂正可能な又は訂正不可能な誤りが検出された場合に、第2のORゲートOR2の入力として内部で使用されて、潜在故障フラグを提供する。そのような誤りは、第1又は第2の誤り符号生成ユニットECCGEN1/2のうちのいずれかの機能不全を示す。
【0100】
誤りフラグを示す第1のORゲートOR1の出力もまた、誤りが誤り位置特定ユニットECCLOCによって検出された場合に、第2のORゲートOR2の入力に転送されて、潜在故障フラグを提供する。
【0101】
少なくとも誤り位置特定ユニットERRLOCは、読み出し及び書き込みサイクルにおいて実行される。誤り訂正ユニットECCCORもまた、その出力における結果として生じる訂正されたユーザデータDOUT(31...0)がこの書き込みサイクルのために未使用であっても、書き込みサイクルにおいて機能することができる。
【0102】
2つの誤りは、区別することができる。
【0103】
a)書き込み又は読み出しサイクルの両方における、誤り訂正符号ECCINを生産するために提供された第1の誤り符号生成ユニットECCGEN1における誤り、及びカウンタチェック符号CCCOUTを計算するために提供された第2の誤り符号生成ユニットECCGEN2における誤り。
【0104】
b)第1及び第2の誤り符号生成ユニットECCGEN1/2は、誤りがないが、誤り位置特定ユニットECCLOCは、故障しており、それは、データの正しくない訂正につながることになる。
【0105】
第1の誤りタイプa)について、どちらの場合でも、訂正可能な誤りCORR又は訂正不可能な誤りUNCORRフラグのうちのいずれかが、ECCCHK/CORRモジュール中で内部で認識されることになる。これは、次いで、結果として、第2のORゲートOR2に起因して、潜在故障フラグの設定につながる。
【0106】
第2の誤りタイプb)について、潜在故障フラグも設定されることになる。ECCCHKが、誤り訂正符号ECCINとカウンタチェック符号CCCOUTとを比較することによって任意の誤りを示さないが、誤り位置特定ユニットERRLOCが、同じ誤り訂正符号ECCIN及びカウンタチェック符号CCCOUTを分析することによって故障ビット位置を位置特定する場合、誤り位置特定ユニットERRLOCにおいて機能不全がある。これは、第1のORゲートOR1の出力において、CERRフラグ、UNCERRフラグ、及び誤りフラグについて第2のORロジックOR2によって検出される。
【0107】
一般に、誤りがECCGENロジックにあるか、又はECCCHKロジックにあるか、又はERRLOCロジックにあるかとは無関係に、書き込みサイクル中の全ての訂正が潜在故障フラグの設定につながると言える。
【0108】
図3bは、図3a)に示す誤りチェックユニットECCCHK/CORRの例証的な改善された実施形態のブロック図である。加えて、誤りチェックユニットECCCHK/CORRは、書き込みサイクルにおいて誤り訂正ユニットECCCORの機能チェックのために提供される任意選択の比較器COMPを備える。誤り訂正ユニットECCCORの入力におけるユーザデータDIN,DOUTと、誤り訂正ユニットECCCORの出力における訂正されたユーザデータDOUT, CORRは、比較器の入力において提供され、それは、ユーザデータDIN,DOUTを訂正されたユーザデータDOUT, CORRと比較するように設計される。書き込みサイクルWRにおけるこれらの2つのユーザデータと訂正されたユーザデータとの間に不一致がある場合、誤りフラグが示され、それは、第2のORゲートOR2の入力に転送される。
【0109】
誤り訂正ロジックECCCORのいかなる機能不全も、第1のORゲートOR1の出力において、CERRフラグ、UNCERRフラグ、誤りフラグについて、並びに比較器COMPの誤りフラグについて、第2のORロジックOR2によって検出される。
【0110】
図4は、データメモリRAMにユーザデータを書き込むための書き込みサイクルWRと、データメモリRAMの出力データを読み出すための読み出しサイクル
【数3】
とを備えるデータメモリの自己診断の方法のフロー図である。
書き込みサイクルは、
W1)データメモリRAM中に書き込まれるように提供されたユーザデータDIN(31...0)から誤り訂正符号ECCを計算することと、
W2)データメモリ中に計算された誤り訂正符号ECC及び関連するユーザデータを記憶することと、
好ましくはステップW1)と並行して追加のステップを実行することによって、
W3)データメモリRAM中に書き込まれるように提供されたユーザデータDIN(31...0)からカウンタチェック符号CCCを計算することと、
W4)計算された誤り訂正符号ECCを計算されたカウンタチェック符号CCCと比較して、不一致がある場合に書き込みサイクルWRにおいてデータメモリRAM中に記憶される誤り訂正符号ECCを計算するために提供された機能の潜在故障を示す潜在故障フラグを提供することと
を行うステップを備える。
読み出しサイクル
【数4】
は、
R1)データメモリRAMからユーザデータDOUT(31...0)及び関連する記憶された誤り訂正符号ECCOUTを読み出すことと、
R2)データメモリRAMから読み出されたユーザデータDOUT(31...0)からカウンタチェック符号CCCを計算することと、
R3)データメモリRAMから読み出された誤り訂正符号ECCをカウンタチェック符号CCCと比較して、不一致がある場合にデータメモリRAMの機能不全を示す少なくとも1つの誤りフラグCERR,UNCERRを提供することと
を行うステップを備える。
【0111】
図5は、
W4)計算された誤り訂正符号ECCを計算されたカウンタチェック符号CCCと比較して、不一致がある場合に書き込みサイクルWRにおいて、ステップW1)における誤り訂正符号ECCの計算における、又はステップW3)におけるカウンタチェック符号CCCの計算における機能不全を示す少なくとも1つの誤りフラグCERR,UNCERRを提供することと、
W5/R4)書き込みサイクルにおいてデータメモリRAM中に書き込まれるように提供されたユーザデータDIN(31...0)、又は読み出しサイクルにおいてデータメモリRAMから読み出されたユーザデータDOUT(31...0)中の故障ビットのビット位置を検出することと、
W6/R5)訂正可能な誤りフラグCORR、訂正不可能な誤りフラグUNCORRのうちの少なくとも1つがステップW4/R3)において設定されているか、又は故障ビットを備える少なくとも1つのビット位置がステップW5/R5)において検出されたかどうかをチェックすることと
を行う補正された追加のステップを備える、図4における方法の改善されたフローチャートを示す。
【0112】
ステップW6/R5では、訂正可能な誤りフラグ(CERR)若しくは訂正不可能な誤りフラグ(UNCERR)のうちの少なくとも1つが設定されているか、又は故障ビットを備える少なくとも1つのビット位置が検出された場合に、潜在故障フラグが設定される。
【0113】
読み出しサイクルでは、更なる改善された方法は、
W7/R6 例えば、それぞれのビットをトグルすることによって、ステップW5/R4に示されるビット位置において読み出しサイクルにおいてデータメモリRAMから読み出されたユーザデータDOUT(31...0)中の故障ビットを訂正するステップを備える。
【0114】
ステップW7/R6は監視されず、例えば、故障メモリ若しくはレジスタに起因して又は訂正ステップW7におけるトグル誤りに起因して、このステップにおいて機能不全が生じる可能性がある。これは、データメモリ(RAM)から読み出された誤り訂正符号(ECCOUT)と共にステップW7/R6の出力において、訂正されたユーザデータDOUT(31...0)を提供するときに、受信機側上で検出することができる。そのような一対のユーザデータ及び関連する誤り訂正符号は、例えば、ECC保護されたデータバスに与えて、受信機に転送することができ、ここで、受信機は、上記のECCチェックECCCHKを実行する。この場合、送信側上の誤った接続は、受信機システムによって検出されることになる。
【0115】
図6は、データメモリRAMを備える電子回路の一部と、誤り訂正ユニットCORRを含む誤りチェックユニットECCCHKとの相互接続のブロック図を示す。誤りチェックユニットECCCHK/CORRの出力は、データバスBに接続され、そのため、誤り訂正符号ECCOUT及び関連する訂正されたユーザデータDOUT(31...0)は、データバスBを介して少なくとも1つの受信機に通信される。受信機は、データバスBの底部にその一部と共に示し、それらは、本発明に関連する。受信機は、受信機側上に追加の誤りチェックユニットECCCHKを備える。
【0116】
マルチプレクサを制御する構成信号CONFIGの使用による構成に応じて、送信機の誤り訂正符号誤り訂正符号ユニットECCGENによって算出された誤り訂正符号ECCOUT又は生成された誤り訂正符号ERRGENのうちのいずれかが、誤りチェックユニットECCCHKの入力において提供される。訂正されたユーザデータDOUT(31...0)は、誤りチェックユニットECCCHKの他の入力において存在する。このことから、誤りチェックユニットECCCHKは、誤り訂正符号ECCOUT及び受信された訂正されたユーザデータDOUT(31...0)の妥当性をチェックすることが可能である。
【0117】
追加のECCGENロジックが、例えば、データメモリユニット中の実装された特徴として、ECC制御されたデータバスを提供するためにデータバスの入力において提供される場合、データバスを介して受信機に一対の訂正されたユーザデータDOUT(31...0)及び誤り訂正符号(ECCOUT)とを通信するときに、このECCGENロジックを無効にすることが望ましい。データバスの入力における追加のECCチェックロジックの使用は、一対の訂正されたユーザデータDOUT及びECCOUTが常に訂正されることになるので、逆効果である。
【0118】
ユーザデータの意図されない訂正は、データバスを保護する受信機側においてECCチェックロジックECCCHKによって監視することができる。データバス上の正しくないユーザデータDOUTは、宛先によって検出されることになる。訂正ロジック中に故障がない場合、データバスは、訂正されたデータ及び関連する訂正誤りチェック符号の使用で保護される。
図1
図2
図3a)】
図3b)】
図4
図5a)】
図5b)】
図6)】
【国際調査報告】