(57)【要約】  説明される例では、信号処理システム（１４００）が、デジタル信号の信号処理に対応する値をストアするように構成されるデータメモリ構成要素（１４２６）と、データメモリ構成要素におけるメモリワードの複数のグループのメモリワードの各グループに対し、グループパリティビットのセットを含む複数のパリティビットと、デジタル信号の信号処理を行なうように、及び、メモリエラーについて複数のパリティビットをチェックするように構成されるプロセッサ（１４４４）と、データメモリ構成要素におけるメモリワードのアドレスを、及び、信号処理の間にメモリワードから読み出される又はメモリワードに書き込まれる値を受信するように構成されるパリティ管理構成要素（１４２５）とを含む。パリティ管理構成要素は、値に基づいて、メモリワードのアドレスに対応する複数のパリティビットにおけるグループパリティビットを更新するように構成される。
2019505906.tif 000002
【特許請求の範囲】
【請求項１】
信号処理システムであって、
少なくとも一つのデジタル信号の信号処理に対応する値をストアするように構成されるデータメモリ構成要素、
前記データメモリ構成要素に関連する複数のパリティビットであって、前記複数のパリティビットが、前記データメモリ構成要素におけるメモリワードの複数のグループのメモリワードの各グループのためのグループパリティビットのセットを含む、前記複数のパリティビット、
前記少なくとも一つのデジタル信号を受信するために結合されるプロセッサであって、前記プロセッサが、前記少なくとも一つのデジタル信号の前記信号処理を行なうように、及び、メモリエラーについて前記複数のパリティビットをチェックするように構成される、前記プロセッサ、及び、
前記複数のパリティビットに結合されるパリティ管理構成要素、
を含み、
前記パリティ管理構成要素が、前記データメモリ構成要素におけるメモリワードのアドレスと、前記信号処理の間に前記プロセッサによって前記メモリワードから読み出される又は前記メモリワードに書き込まれる値とを受信するように結合され、前記パリティ管理構成要素が、前記値に基づいて、前記メモリワードの前記アドレスに対応する前記複数のパリティビットにおいてグループパリティビットを更新するように構成される、
信号処理システム。
【請求項２】
請求項１に記載の信号処理システムであって、前記複数のグループが、単一ソフトエラーがグループ毎に一つのメモリワードのみに影響を及ぼし得る、メモリワードの非重複グループである、信号処理システム。
【請求項３】
請求項１に記載の信号処理システムであって、前記信号処理が、前記データメモリの複数のメモリワードの各メモリワードを書き込む及び読み出すように構成され、そのため、前記複数のメモリワードの或るメモリワードに対する値の各書き込みに対して、前記メモリワードの或るグループに対応するグループパリティビットが前記値に基づいて更新され、前記メモリワードからの前記値の単一読み出しが行なわれて前記グループパリティビットが前記値に基づいて更新されるようにする、信号処理システム。
【請求項４】
請求項３に記載の信号処理システムであって、
前記パリティ管理構成要素が、パリティ更新がイネーブルされるか否かを示すパリティイネーブルフラグを受信するように結合され、
前記信号処理が、前記パリティイネーブルフラグの値を管理するように構成され、そのため、パリティ更新がイネーブルされた状態でのメモリワードへの値の各書き込みに対し、前記メモリワードからの前記値の単一読み出しが、パリティ更新がイネーブルされた状態で実施されることを確実にする、
信号処理システム。
【請求項５】
請求項１に記載の信号処理システムであって、前記信号処理システムがレーダシステムであり、前記少なくとも一つのデジタル信号が、前記レーダシステムの複数の受信チャネルによって生成される複数のデジタル中間周波数（ＩＦ）信号であり、各受信チャネルが、チャープのフレームの送信からの反射信号を受信するように、及び、前記反射信号のサンプルのデジタルＩＦ信号を生成するように構成される、信号処理システム。
【請求項６】
請求項５に記載の信号処理システムであって、前記信号処理が、
前記複数のデジタルＩＦ信号に対応する第１の値を、前記データメモリにおける複数のメモリワードに書き込むように構成され、前記複数のメモリワードの各メモリワードに対し、前記パリティ管理構成要素が、前記メモリワードにおいて書き込まれた値に基づいて、前記メモリワードの或るグループに対応する前記複数のパリティビットにおける前記グループパリティビットを更新し、及び、
前記複数のメモリワードから前記第１の値を読み出すように構成され、前記複数のメモリワードの各メモリワードに対し、前記パリティ管理構成要素が、前記メモリワードから読み出された値に基づいて、前記メモリワードの前記グループに対応する前記グループパリティビットを更新する、
信号処理システム。
【請求項７】
請求項６に記載の信号処理システムであって、前記信号処理が、
前記複数のデジタルＩＦ信号に対応する第２の値を、前記データメモリにおける前記複数のメモリワードに書き込むように構成され、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの前記グループに対応するグループパリティビットが、前記メモリワードに書き込まれた値に基づいて更新され、
前記複数のメモリワードから前記第２の値を読み出すように構成され、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの前記グループに対応する前記グループパリティビットが、前記メモリワードから読み出された値に基づいて更新され、及び、
前記第１の値を生成するために、前記第２の値に対して信号処理を行うように構成される、
信号処理システム。
【請求項８】
請求項１に記載の信号処理システムであって、グループパリティビットの各セットが、メモリワードの各ビット位置のためのパリティビットから成る、信号処理システム。
【請求項９】
請求項１に記載の信号処理システムであって、グループパリティビットの各セットが、メモリワードの各ビット位置のためのＰパリティビットから成り、Ｐの値が、グループにおけるワードの数Ｎに依存する、信号処理システム。
【請求項１０】
請求項９に記載の信号処理システムであって、Ｐの前記値が、Ｎ＞２Ｐ−Ｐ−１を満たす最小値として選ばれる、信号処理システム。
【請求項１１】
請求項９に記載の信号処理システムであって、前記パリティ管理構成要素が、或るグループにおける前記メモリワードの順序性に基づいて、前記グループのメモリワードに対応するグループパリティビットのサブセットを決定するように構成される、信号処理システム。
【請求項１２】
請求項１１に記載の信号処理システムであって、前記パリティ管理構成要素が、或るグループのメモリワードに対応するグループパリティビットの前記サブセットを決定するように構成されるパリティ識別回路を含み、前記パリティ識別回路が、
前記メモリワードの前記順序性のバイナリ表現を受信するように結合される第１の構成要素であって、前記第１の構成要素が、前記順序性の前記バイナリ表現の最も左の非ゼロビットのインデックスの第１のバイナリ表現を出力するように構成される、前記第１の構成要素、
前記第１のバイナリ表現を受信するために前記第１の構成要素に結合され、前記順序性の前記バイナリ表現を受信するように結合される、第１の加算器であって、前記第１の加算器が、前記第１のバイナリ表現と前記順序性の前記バイナリ表現との和の第２のバイナリ表現を出力するように構成される、前記第１の加算器、
前記第２のバイナリ表現を受信するために前記第１の加算器に結合される第２の構成要素であって、前記第２の構成要素が、前記第２のバイナリ表現の最も左の非ゼロビットのインデックスの第３のバイナリ表現を出力するように構成される、前記第２の構成要素、及び、
前記第３のバイナリ表現を受信するために前記第２の構成要素に結合され、前記順序性の前記バイナリ表現を受信するように結合される、第２の加算器であって、前記第２の加算器が、前記第３のバイナリ表現と前記順序性の前記バイナリ表現との和の第４のバイナリ表現を出力するように構成される、前記第２の加算器、
を含む、
信号処理システム。
【請求項１３】
信号処理システムにおけるデータメモリ保護のための方法であって、前記方法が、
前記信号処理システムのデータメモリのメモリワードを複数のグループに分割することであって、前記データメモリに関連する複数のパリティビットが、前記複数のグループの各グループのためのグループパリティビットのセットを含む、前記分割すること、
少なくとも一つのデジタル信号に対して信号処理を行なうことであって、前記メモリワードの複数のメモリワードの或るメモリワードに対する値の各書き込みに対し、前記メモリワードの或るグループに対応するグループパリティビットが前記値に基づいて更新され、前記メモリワードからの前記値の単一読み出しが行なわれて前記グループパリティビットが前記値に基づいて更新されるように、前記データメモリの前記複数のメモリワードの各メモリワードが書き込み及び読み出しされる、前記信号処理を行なうこと、及び、
前記複数のパリティビットに基づいて、ソフトエラーが生じたか否かを判定すること、
を含む、方法。
【請求項１４】
請求項１３に記載の方法であって、前記複数のグループが、単一ソフトエラーがグループ毎に一つのメモリワードのみに影響を及ぼし得る、メモリワードにおける非重複グループである、方法。
【請求項１５】
請求項１４に記載の方法であって、グループパリティビットの各セットが、メモリワードの各ビット位置のためのパリティビットから成る、方法。
【請求項１６】
請求項１４に記載の方法であって、グループパリティビットの各セットが、メモリワードの各ビット位置のためのＰパリティビットから成り、Ｐの値が、グループにおけるワードの数Ｎに依存する、方法。
【請求項１７】
請求項１６に記載の方法であって、Ｐの前記値が、Ｎ＞２Ｐ−Ｐ−１を満たす最小値として選ばれる、方法。
【請求項１８】
請求項１６に記載の方法であって、グループのメモリワードに対応するグループパリティビットのサブセットが、前記グループにおける前記メモリワードの順序性に基づいて決定される、方法。
【請求項１９】
請求項１３に記載の方法であって、信号処理を行なうことが、前記グループパリティビットを変更することなく、前記メモリワードからの前記値の読み出しを可能にするために、パリティ更新をディセーブルすることを含む、方法。
【請求項２０】
請求項１３に記載の方法であって、前記信号処理システムがレーダシステムであり、前記少なくとも一つのデジタル信号が、前記レーダシステムにおける複数の受信チャネルによって生成される複数のデジタル中間周波数（ＩＦ）信号である、方法。
【請求項２１】
請求項２０に記載の方法であって、信号処理を行なうことが、
前記デジタルＩＦ信号の信号処理に対応する第１の値を、前記複数のメモリワードに書き込むことであって、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの或るグループに対応するグループパリティビットが更新される、前記書き込むこと、及び、
前記複数のメモリワードから前記第１の値を読み出すことであって、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの前記グループに対応する前記グループパリティビットが更新される、前記読み出すこと、
を含む、方法。
【請求項２２】
請求項２１に記載の方法であって、信号処理を行なうことが、
前記デジタルＩＦ信号の信号処理に対応する第２の値を、前記複数のメモリワードに書き込むことであって、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの前記グループに対応するグループパリティビットが更新される、前記書き込むこと、
前記複数のメモリワードから前記第２の値を読み出すことであって、前記複数のメモリワードにおける各メモリワードに対し、前記メモリワードの前記グループに対応する前記グループパリティビットが更新される、前記読み出すこと、及び、
前記第１の値を生成するために、前記第２の値に対して信号処理を行うこと、
を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、概して、信号処理システムに関し、詳細には、信号処理システムにおいて信号データメモリを保護することに関する。
【背景技術】
【０００２】
オートモーティブ応用例において埋め込み周波数変調連続波（ＦＭＣＷ）レーダシステムの使用が急速に発展している。例えば、埋め込みＦＭＣＷレーダシステムは、アダプティブクルーズコントロールや、衝突警告、死角警告、車線変更アシスト、駐車アシスト、後方衝突警告など、車両に関連する多くの応用例において用いられ得る。オートモーティブ応用例において用いられるために、埋め込みＦＭＣＷレーダシステムは、厳格な機能安全要件を満たすことが要求される。自動車レーダにおける機能安全性は、レーダにおける構成要素の故障に起因する、人に対する危害の防止策である。これらの要件を満たすことは、レーダシステムにおいて種々の保護メカニズムを含むことを必要とする。こうした保護メカニズムは、レーダシステムに組み込まれる任意のプロセッサ、デジタル論理、及びメモリなどの構成要素の動作不良に起因する故障を最小化するか又はなくす。また、厳格な機能安全要件を伴う環境において用いられる場合、その他の信号処理システムが、同様の保護メカニズムを含み得る。
【発明の概要】
【０００３】
説明される例は、レーダシステムなどの信号処理システムにおける信号データメモリの保護のための方法及び装置に関する。一つの態様において、信号処理システムが、少なくとも一つのデジタル信号の信号処理に対応する値をストアするように構成されるデータメモリ構成要素と、データメモリ構成要素に関連する複数のパリティビットと、少なくとも一つのデジタル信号を受信するように結合されるプロセッサと、複数のパリティビットに結合され、データメモリ構成要素におけるメモリワードのアドレスを、及び、信号処理の間、プロセッサによってメモリワードから読み出されるか又はメモリワードに書き込まれる値を受信するように結合される、パリティ管理構成要素とを含む。複数のパリティビットは、データメモリ構成要素におけるメモリワードの複数のグループのメモリワードの各グループについて、グループパリティビットのセットを含む。プロセッサは、少なくとも一つのデジタル信号の信号処理を行なうように、及び、メモリエラーについて複数のパリティビットをチェックするように構成される。パリティ管理構成要素は、値に基づいて、メモリワードのアドレスに対応する複数のパリティビットにおけるグループパリティビットを更新するように構成される。
【０００４】
一つの態様において、信号処理システムにおけるデータメモリ保護のための方法が、信号処理システムのデータメモリのメモリワードを複数グループに分割すること、少なくとも一つのデジタル信号に対して信号処理を行なうこと、及び、複数のパリティビットに基づいて、ソフトエラーが生じたか否かを判定することを含む。複数グループに分割することにおいて、データメモリに関連する複数のパリティビットは、複数のグループの各グループについて、グループパリティビットのセットを含む。信号処理を行なうことにおいて、データメモリの複数のメモリワードの各メモリワードが書き込み及び読み出しされ、そのため、複数のメモリワードの或るメモリワードに対する或る値の各書き込みに対して、メモリワードの或るグループに対応するグループパリティビットがその値に基づいて更新され、メモリワードからの値の単一読み出しが行なわれ、グループパリティビットがその値に基づいて更新される。
【図面の簡単な説明】
【０００５】
【図１】メモリ上の単一ソフトエラーの影響を図示する例である。
【０００６】
【図２】対角線状グルーピングを備えるレーダデータメモリを図示する例である。
【０００７】
【図３】一つのソフトエラー発生に対する保護のための、図２のレーダデータメモリに対するパリティビット割り当てを図示する例である。
【０００８】
【図４】レーダデータメモリのパリティワードを更新するための方法のフローチャートである。
【０００９】
【図５】２つのソフトエラー発生に対する保護のための、図２のレーダデータメモリに対するパリティビット割り当てを図示する例である。
【００１０】
【図６】パリティ識別回路のブロック図である。
【００１１】
【図７】レーダデータメモリのパリティワードを更新するための方法のフローチャートである。
【００１２】
【図８】或るグループにおけるメモリワードの順序性を図示する例である。
【００１３】
【図９】図７の方法を図示する例である。
【００１４】
【図１０】例示のパリティ管理構成要素のブロック図である。
【００１５】
【図１１】行方向のメモリグルーピングを備える、一つのソフトエラー発生に対する保護のための、レーダデータメモリに対するパリティビット割り当てを図示する例である。
【００１６】
【図１２】行方向のメモリグルーピングを備える、２つのソフトエラー発生に対する保護のための、レーダデータメモリに対するパリティビット割り当てを図示する例である。
【００１７】
【図１３】レーダシステムにおけるレーダデータメモリの保護のための方法のフローチャートである。
【００１８】
【図１４】例示の周波数変調連続波（ＦＭＣＷ）レーダシステムのブロック図である。
【発明を実施するための形態】
【００１９】
種々の図面における同様の要素は、一貫性のため、同様の参照数字によって表記される。
【００２０】
周波数変調連続波（ＦＭＣＷ）レーダは、一つ又は複数の送信アンテナを介して、チャープと呼ばれる無線周波数（ＲＦ）周波数ランプを送信する。また、複数のチャープが、フレームと呼ばれる単位で送信され得る。送信されたチャープは、レーダの視野（ＦＯＶ）における任意のオブジェクトから反射され、一つ又は複数の受信アンテナによって受信される。各受信アンテナに対して受信された信号は、中間周波数（ＩＦ）信号にダウンコンバートされ、その後、デジタル化される。デジタル化されたサンプルは、前処理され、本願においてレーダデータメモリと呼ばれるメモリにストアされる。全フレームのためのデータがレーダデータメモリにストアされた後、データは、ＦＯＶにおける任意のオブジェクトを検出するために、及び、検出されたオブジェクトのレンジ、速度、及び、到来角を識別するために、後処理される。
【００２１】
前処理は、データを周波数ドメインに変換するために、各反射されたチャープのデジタル化されたサンプルに対してレンジ高速フーリエ変換（ＦＦＴ）を実施することを含み得る。ピーク値が、オブジェクトのレンジ（距離）に対応する。この処理は、通常、インラインで実施され、そのため、レンジＦＦＴが、前のチャープのデジタル化されたサンプルに対して実施される一方で、現在のチャープのためにサンプルが集められている。各受信アンテナのためのレンジＦＦＴの結果は、更なる処理のためにレーダデータメモリに保存される。Ｋ１レンジ結果が、チャープのためにストアされる。それゆえ、Ｋ２チャープがフレーム内にある場合、Ｋ１×Ｋ２レンジ値のアレイが、レンジＦＦＴによって生成される。このアレイにおいて、Ｋ１列の各々は、Ｋ２チャープの特定のレンジ値に対応する。Ｋ１×Ｋ２レンジ値が、システムにおける各受信チャンネルのために生成される。
【００２２】
各レンジに対し、フレームにおけるチャープの対応するレンジ値の各々にわたってドップラーＦＦＴが実施される。従って、Ｋ１×Ｋ２アレイのＫ１列の各々に対してドップラーＦＦＴが実施される。その結果のＫ１×Ｋ２レンジドップラーアレイにおけるピークは、潜在的なオブジェクトのレンジ及び相対的速さ（速度）に対応する。ドップラーＦＦＴを実施するために、レンジ値の各列がレーダデータメモリから読み出され、列のレンジ値に対してドップラーＦＦＴが実施される。ドップラーＦＦＴ値は、同じ列メモリロケーションにストアされ得る。
【００２３】
ドップラーＦＦＴの後、ＦＯＶにおけるオブジェクトを検出するために、及び、検出されたオブジェクトのレンジ、速度、及び、到来角を識別するために、その他の後処理、例えば、オブジェクト検出及び角度推定が、レーダデータメモリにストアされたＫ１否かを判定Ｋ２レンジドップラーアレイに対して実施され得る。後処理が完了した後、レーダデータメモリにおけるデータは捨てられてよい。
【００２４】
ドップラーＦＦＴ、角度推定、オブジェクト検出等などの後処理が開始され得る前に、フレームに対応する全てのデジタル化されたデータは、レーダデータメモリ内にある必要がある。また、分解能予想、すなわち、チャープ毎のデジタル化されたサンプルの数によって制御されるレンジ分解能、フレーム毎のチャープの数によって制御される速度分解能、及び、受信アンテナの数によって制御される角度分解能が、レーダデータメモリのサイズに直接影響する。オートモーティブレーダ応用例空間において、必要とされる現在のレーダデータメモリサイズは、約１〜２メガバイト（ＭＢ）であり、分解能増加が要求されるにつれて、将来、増加することが予測される。
【００２５】
上述されたように、オートモーティブ応用例における埋め込みレーダシステムの使用のための機能安全要件は、システムの種々の構成要素のための保護メカニズムの組み込みを要する。レーダデータメモリは、効果的な保護メカニズムを必要とする構成要素の一つである。メモリロケーションにおける一つ又は複数のビットの値を変化させるソフトエラーは、懸念されるメモリエラーの一つのカテゴリである。ソフトエラーは、放射又は放射性粒子がメモリセルとぶつかりセルの状態を変化させる、すなわち「１」が「０」に又はその逆に変化することによって生じ得る。
【００２６】
ソフトエラー保護のための現在の産業的解決策は、誤り訂正符号（ＥＣＣ）メモリを用いることである。ＥＣＣメモリにおいて、メモリにおける各ワードは、パリティビットのセットによって保護される。特定のメモリワードにデータが書き込まれる度、このデータに対応するパリティ値が、計算され、関連するパリティビットにストアされる。メモリワードが読み出されるとき、パリティ値が、再計算され、ストアされたパリティ値に対して検証される。ストアされたパリティ値と再計算されたパリティ値との如何なる差もビットエラーの存在を示す。
【００２７】
用いられる特定のパリティコードに依って、パリティビットは、ビットエラーを検出するため、或いは、ビットエラーを検出及び訂正するために用いられ得る。いくつかの典型的なＥＣＣメモリは、拡張ハミング符号パリティスキームを用い、拡張ハミング符号パリティスキームは、単一ビットエラーを訂正し、１ワードにおいて最大２つのビットエラーを検出する能力を備える。拡張ハミング符号スキームに必要とされるパリティビットの数は、メモリワードの長さに依る。例えば、１６ビットメモリワードは、６パリティビットを必要とし、３２ビットメモリワードは７パリティビットを必要とする。
【００２８】
ＥＣＣメモリにおけるメモリワードのサイズは、データが読み出される／書き込まれると予測される最小単位として選ばれる。レーダデータメモリの文脈では、メモリワードサイズは、複合サンプルの典型サイズに基づき、例えば３２ビットである。それゆえ、レーダデータメモリのために拡張ハミング符号パリティスキームを実装することは、３２ビット毎に７ビットのオーバーヘッドを必要とし得、これは、約２２％のオーバーヘッドである。従って、約４００ＫＢ（キロバイト）のオーバーヘッドが、２ＭＢのレーダデータメモリに必要とされ得る。これは、コスト重視の埋め込みレーダの解決策にとって、著しい量のオーバーヘッドである。
【００２９】
例示の実施形態は、最小オーバーヘッドを有する、レーダデータメモリ保護のための代替の技法を提供する。このメモリ保護技法は、レーダデータメモリに関する２つの主要な観察結果に基づく。一方の観察結果は、レーダデータメモリへのほとんどのアクセスがランダムでないことである。むしろ、チャープのフレームに対応する受信された信号の前処理の間、明確に定義された書き込みフェーズが存在し、この書き込みフェーズにおいて、レンジ値がメモリにストアされる。この書き込みフェーズの後、ストアされたレンジ値の後処理の間、読み出しフェーズが続く。読み出しフェーズにおいて、全てのレンジ値が読み出されるが、値がストアされたのと同じ順序で読み出されるのではない。他方の観察結果は、エラー訂正が、レーダデータメモリにとっては比較的重要でないことである。レーダデータメモリにおいて読み出される及び書き込まれるデータは、チャープの一つのフレームから次のフレームへ独立しているので、エラー検出は充分である。後処理の間にメモリエラーが検出される場合、メモリにおけるデータは捨てられてよい。
【００３０】
レーダデータメモリ保護技法の実施形態は、ＥＣＣメモリにおけるような、各メモリワードのためのパリティビットのセットを必要とするのではなく、パリティビットの共通セットを用いて、全レーダデータメモリの保護を提供する。これらの共通パリティビットは、レーダデータメモリにおけるワードがレーダデータ処理の一部として読み出される又は書き込まれる度に更新され得る。本願においてより詳細に説明されるように、この保護技法により、メモリエラーがない場合にレーダデータをストアするために用いられるレーダデータメモリにおける各ワードが、同じ回数書き込み及び読み出しされる限り、共通パリティビットが、チャープのフレームに対応するレーダデータの処理の最後にゼロであることが保証される。処理の最後の、共通パリティビットのいずれかにおける非ゼロ値は、少なくとも一つのメモリエラーを示す。
【００３１】
レーダデータメモリ保護の実施形態において、レーダデータメモリが、非重複グループに分割され、各グループが、共通パリティビットにおけるパリティビットのセットによって保護される。いくつかの実施形態において、グルーピングは、単一ソフトエラーが、グループ毎に最大一つのワードに影響を及ぼすことを保証するように選択される。用いられるパリティチェック技法は、それから保護するべきソフトエラーの数に基づく。例えば、本願において一層詳細に説明されるように、単一ソフトエラー保護が必要とされる場合、シンプルなチェックサムスキームが用いられ得、一方で、２つのソフトエラーに対する保護が必要とされる場合、ハミング符号スキームが用いられ得る。
【００３２】
上述したように、ソフトエラーは、メモリにおける放射誘導されたビットフリップである。図１の例に示すように、単一ソフトエラーが、行方向及び列方向の両方の、メモリにおける複数の隣接ビットにおいてビットエラーを起こし得、それゆえ、単一ワードにおける複数の隣接ビット（及び複数の列方向の隣接ワード）が、単一ソフトエラーによって影響を及ぼされ得る。図１の例では、単一ソフトエラーが、各ワードにおいて４つの影響を受けた隣接ビットを有する、４つの列方向の隣接８ビットワードに影響を及ぼしている。図１の例は、影響を受ける隣接ビットの最大数、及び、影響を受ける列方向の隣接ワードの最大数が４であると想定している。
【００３３】
レーダデータメモリ保護の幾つかの実施形態において、レーダデータメモリは、Ｍ個の非重複グループに分割され、ここで、Ｍの値は、単一ソフトエラーが、グループ毎に一つ以下のワードに影響を及ぼすように選ばれる。幾つかの実施形態において、単一ワードにおける隣接ビットの最大数、及び、単一ソフトエラーによって影響を及ぼされる列方向の隣接ワードの最大数は同じであり、Ｍは、この最大数であるように設定される。幾つかの実施形態において、影響を及ぼされる隣接ビットの最大数、及び、影響を及ぼされる列方向の隣接ワードの最大数は同じでなく、Ｍは、これら２つの数の大きい方であるように設定される。影響を及ぼされる隣接ビットの最大数、及び、影響を及ぼされる列方向の隣接ワードの最大数は、小型化のレベルが上がるにつれて大きくなり得る。従って、Ｍの値は、メモリデバイス及びメモリアーキテクチャの物理的性質などの要因に依る。
【００３４】
説明を簡潔にするため、レーダデータメモリ保護を、まず、図２、図３、図５、及び、図８〜図１０の例に関連して説明する。これらの例は、Ｍ＝４、３２ビットメモリワード、及び、１サイクルに最大４つの連続３２ビットワードを伝送し得る直接メモリアクセス（ＤＭＡ）コントローラを想定している。これらの例において、各セルは３２ビットワードを表し、セルは、グループ割り当てを示すために「網掛け」されている。メモリストール及びスループットロスを避けるため、行方向及び列方向両方の４つの隣接ワードが異なるグループにあるように、ワードは対角線状にグルーピングされる。この例において示される対角線状のグルーピングは、左上から右下である。このようなグルーピングにより、パリティワードが、メモリサイクル毎に２回以上更新される必要がないことが保証される。図２は、対角線状グルーピングを備えるレーダデータメモリ２００を図示する例である。各メモリセルは、グループ割り当てを示すために「網掛け」されている。また、各メモリセルは、説明のために番号付けされている。
【００３５】
Ｍ個のグループの各々が、パリティビットのセットによって保護される。パリティビットのセットは、本願においてグループパリティビットと呼ぶこともある。各グループに必要とされるパリティビットの数、及び、メモリアクセスの間、パリティビットがどのように更新されるかは、レーダシステムの特定の応用例の機能安全要件に依る。幾つかの実施形態において、メモリ保護は、チャープのフレームのためのレーダデータの処理の間の単一ソフトエラー発生に対して保護する。そのような実施形態において、或るグループに割り当てられるワードの各ビット位置の保護のために、パリティビットが割り振られる。例えば、３２ビットメモリワードでは、３２個のビット位置が存在し、そのため、各グループに３２ビットパリティワードが必要とされる。それゆえ、Ｍ個の３２ビットパリティワードが必要とされる。また、図４の方法に関連して一層詳細に説明するように、関連するパリティワードにストアされた値は、本質的にメモリグループのチェックサムである。
【００３６】
図３は、レーダデータメモリ２００のためのこのパリティビット割り当てを図示する例である。この例では、メモリワード１、５、１０、１４、・・・、５５、６０、６４は、同じグループに割り当てられている。Ｍ×Ｍ領域３００は、単一ソフトエラーによって影響を及ぼされ得るメモリの例示の部分を図示する。領域３００が示すように、このようにしてレーダデータメモリをＭ個のグループに分割することは、単一ソフトエラーが、グループ毎に一ワードにしか影響を及ぼさないことを保証する。図３の右側に、このグループのためのメモリワードが、例示のため垂直にスタックされており、関連する３２ビットパリティワードがこのスタックの下に示されている。また、グループの各ワードにおける例示のビット位置のビットの例示の列３０２が、パリティワードにおける関連するパリティビットと共に示されている。
【００３７】
図４は、単一ソフトエラーに対する上述のメモリ保護を想定した、レーダデータメモリのパリティワードを更新するための方法のフローチャートである。この方法は、レーダデータメモリにおけるメモリワードの読み出し又は書き込みのために実施される。メモリワードがアクセスされるとき、メモリワードのレーダデータメモリにおける行及び列座標は、メモリワードのアドレスに基づいて決定される（４００）。アドレスの行番号が、Ｒ＝ｆｌｏｏｒ（Ａｄｄｒｅｓｓ／ＮｕｍＣｏｌｕｍｎｓ）として計算され得、アドレスの列番号が、Ｃ＝ｍｏｄ（Ａｄｄｒｅｓｓ，ＮｕｍＣｏｌｕｍｎｓ）として計算され得、ここで、ＮｕｍＣｏｌｕｍｎｓは、レーダデータメモリにおける列の数であり、関数ｍｏｄは、モジュロ演算子を指し、ｍｏｄ（ａ，ｂ）の結果は、ａをｂで除算した余りである。前述の式において、メモリワードは、行の端から端へ水平にアドレスされると想定される。また、メモリワードのアドレス、行番号Ｒ、及び、列番号Ｃは、ゼロから数えられる。メモリの列及び行の数は、メモリ設計によって決定される。
【００３８】
その後、メモリワードのグループインデックスが、行及び列座標に基づいて決定される（４０２）。グループが、０、１、・・・、Ｍ−１でインデックスされると想定すると、メモリワードのグループを識別するインデックスｇｒｏｕｐ＿ｉｄｘは、
ｇｒｏｕｐ＿ｉｄｘ＝ｍｏｄ（Ｒ−ｍｏｄ（Ｃ，Ｍ），Ｍ）
によって計算され得、ここで、Ｒはメモリ行番号であり、Ｃはメモリワードのメモリ列番号である。その後、グループインデックスによって識別されたグループパリティワードは更新される（４０４）。より具体的には、グループインデックスによって識別されたパリティワードは、メモリワードのデータと、識別されたパリティワードの現在のコンテンツとのＸＯＲ演算を実施することによって更新される。
【００３９】
幾つかの実施形態において、メモリ保護は、チャープのフレームのためのレーダデータの処理の間の２つのソフトエラー発生に対して保護する。それゆえ、各グループにおいて最大２つのワードが、ソフトエラーによって影響を及ぼされ得る。図５は、レーダデータメモリ２００が、Ｍ×Ｍ領域５００及びＭ×Ｍ領域５０２により示される２つのソフトエラーによって影響を及ぼされることを図示する例である。この例では、各グループからの２つのワードが影響を及ぼされる。そのような実施形態において、或るグループに割り当てられるワードの各ビット位置の保護のために、Ｐ個のパリティビットの一セットが割り振られる。例えば、３２ビットメモリワードでは、３２個のビット位置が存在し、そのため、各グループにＰ個の３２ビットパリティワードが必要とされる。それゆえ、Ｍ×Ｐ個の３２ビットパリティワードが必要とされる。本願において一層詳細に説明されるように、Ｐ個のパリティビットは、最大２つのビットエラーを検出するハミング符号に対応する。
【００４０】
図５は、このパリティビット割り当てを図示する。この例では、メモリワード１、５、１０、１４、・・・、５５、６０、６４は、同じグループに割り当てられている。図５の右側に、このグループのためのメモリワードが、例示のため垂直にスタックされており、関連するＰ個の３２ビットパリティワードが、このスタックの下に示されている。また、グループの各ワードにおける例示のビット位置のビットの例示の列５０４が、パリティワードにおける関連するパリティビットと共に示されている。グループにおけるビットの各そのような列は、Ｐ個のパリティビットの列によって保護される。それゆえ、グループにおける各列は、Ｎデータビットのハミング符号ワードとして見ることができ、ここで、Ｎは、グループにおけるメモリワードの数であり、Ｐはパリティビットの数である。それゆえ、或るグループの３２個の列は、各々が最大２つのエラーを検出し得る、３２個のハミング符号ワードとして見ることができる。
【００４１】
ハミング符号が選ばれるのは、ハミング符号が、所与の入力ビットストリームにおいて最大２つのビットエラーを検出し得るからである。Ｎビットの所与の入力ビットストリームのために、ハミング符号はＰ個のパリティビットを計算する。パリティビットの数Ｐは、入力ビットの数Ｎに依存し、任意の適切な値のＰが用いられ得る。幾つかの実施形態において、Ｐの値は、次の関係：Ｎ＞２Ｐ−Ｐ−１を満たす、最小のＰとして選ばれる。
【００４２】
ハミングエンコーダを、概して、Ｎ個の入力ビットが、エンコーダに演繹的に利用可能であり、パリティビットを決定するために用いられ得ると想定して説明する。しかし、レーダデータメモリ保護の実施形態において、そうでない場合もある。ハミング符号への入力ストリームは、Ｎワードのストリーム、すなわち、或るグループにおけるワードである。それゆえ、パリティビットは、Ｎ個の入力ワードにおける個々のメモリワードがアクセスされるように決定される必要がある。また、メモリアクセスパターンは予め決定されておらず、これは、或るグループにおけるワードが、任意の特定の順にアクセスされることが想定され得ないことを意味する。それゆえ、レーダメモリ保護の実施形態は、或るグループの全てのＮ個のワードが所与の時間に利用可能であること、又は、Ｎ個のワードが任意の特定の順にアクセスされることを想定しない、ハミング符号のパリティビットを更新するための技法を実装する。
【００４３】
Ｐ個のパリティビットを計算するためにＮ個の入力ビットのシーケンスを取り入れるハミングエンコーダを考慮されたい。ハミング符号は、パリティビットを計算するプロセスにおいて、入力ビットシーケンスにおけるすべてのビットが、少なくとも２つのパリティビットを含むＰ個のパリティビットの一意のサブセットを更新するために必要とされるという特性を有する。例えば、第１の入力ビットは、パリティビット１及び２を更新し、第２の入力ビットはパリティビット１及び３を更新し、第３の入力はパリティビット２及び３を更新し、第４の入力ビットは、パリティビット１、２、及び３を更新する等である。このように、特定の入力ビットによって更新されるパリティビットのサブセットは、そうした入力ビットの順序性（ordinality）に依存する。
【００４４】
より具体的には、Ｇを、数の順序付けられたシーケンスとし、ここで、シーケンスにおける各数は、２つ以上の１ビットを含むバイナリ表現を有し、すなわち、Ｇ＝｛３，５，６，７，９，１０，１１，１２，１３，１４，１５，１７，・・・｝である。このシーケンスは、本質的に、２の冪でない全ての数である。入力ストリームにおけるｋ番目のビットに関連するパリティビットのセットは、Ｇ（ｋ）のバイナリ表現によって、すなわち、シーケンスＧにおけるｋ番目の位置の数のバイナリ表現によって与えられ、ｋ＞０である。例えば、ｋ＝５である場合、Ｇ（ｋ）＝９＝１００１であり、それゆえ、５番目の入力ビットはパリティビット１及び４に関連することを示す。
【００４５】
また、Ｇ（ｋ）は、
Ｇ（ｋ）＝Ｌ（Ｌ（ｋ）＋ｋ）＋ｋ
によって計算され得、ここで、Ｌ（ｎ）は、ｎのバイナリ表現の最も左の非ゼロビットのインデックスを出力する関数である。例えば、Ｌ（９）は４であり、Ｌ（１８）は５である。ｋ＝４の場合、Ｌ（ｋ）＝３、Ｌ（Ｌ（ｋ）＋ｋ）＝Ｌ（３＋４）＝Ｌ（７）＝３、及び、Ｌ（Ｌ（ｋ）＋ｋ）＋ｋ＝３＋４＝７である。それゆえ、Ｇ（４）＝７であり、また、７のバイナリ表現が０１１１であることを考慮すると、これは、更新されるべきパリティビットは、パリティビット１、２、及び、３であることを示す。
【００４６】
図６はパリティ識別回路６００を図示する。パリティ識別回路６００は、前述の式によってＧ（ｋ）を決定するために、レーダシステムにおいて実装され得る。識別回路６００への入力は、ｋのバイナリ表現であり、出力は、Ｐビットパリティレジスタ６０８である。構成要素Ｌ１  ６０２及びＬ２  ６０６は、各々、それぞれの構成要素への入力のバイナリ表現の最も左の非ゼロビットのインデックスのバイナリ表現を出力する。構成要素Ｌ１  ６０２及びＬ２  ６０６間に結合される加算器６０４は、Ｌ１構成要素６０２の出力をｋのバイナリ表現に加算し、その結果をＬ２構成要素６０６に提供する。構成要素Ｌ２  ６０６の出力に結合される加算器６０７は、Ｌ２構成要素６０６の出力をｋのバイナリ表現に加算し、その結果をパリティレジスタ６０８に提供する。構成要素Ｌ１  ６０２及びＬ２  ６０６は、任意の適切な回路設計を用いて実装され得る。用いられ得るいくつかの適切な回路設計が、１９９４年３月のＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｖｅｒｙ  Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ（ＶＬＳＩ）Ｓｙｓｔｅｍｓ，Ｖｏｌ．２，Ｎｏ．１，１２４〜１２８頁のＶ．Ｏｋｌｏｂｄｚｉｊａの「先行ゼロ検出器回路のアルゴリズム及び新規設計：論理合成との比較」 において説明されている。
【非特許文献１】V.Oklobdzija,“An Algorithmic and Novel Design of a Leading Zero Detector Circuit:Comparison with Logic Synthesis”,IEEE Transactions on Very Large Scale Integration(VLSI)Systems,Vol.2.,No.1,March 1994,pp.124-128
【００４７】
Ｌ１  ６０２への入力はｋであり、Ｌ２  ６０６への入力は、Ｌ１の出力にｋを加えたものである。Ｌ２  ６０６の出力は、再びｋに加算されて、最終結果、すなわち、Ｇ（ｋ）を生成する。この最終結果のビット表現は、パリティレジスタ６０８にストアされる。パリティレジスタ６０８における非ゼロビットのインデックスは、順序性ｋの入力ビットに関連するパリティビットを識別する。例えば、ｋ＝５の場合、パリティレジスタ６０８は、ビットシーケンス１００１０・・・０を含み得、それゆえ、パリティビット１及び４が、第５の入力ビットに関連することを示す。
【００４８】
前述の記載は、Ｎ個の入力ビットのシーケンスに基づいてＰ個のパリティビットを更新することを図示した。レーダデータメモリのケースでは、Ｎ個の入力メモリワードに関連するＰ個のパリティワードが更新され、ここで、Ｎは、或るグループにおけるメモリワードの数である。図６の方法に関連して一層詳細に説明されるように、或るグループのＮ個のワードの或るワードがアクセスされるとき、そのワードに関連するＰ個のパリティワードのパリティワードのサブセットが、そのグループにおけるワードの順序性が決定された後、上述のビット識別プロセスと同様の方式で識別され得る。従って、Ｇ（ｋ）は、或るグループのためのパリティワードのうちのどれが更新されるべきかを識別し、ここで、ｋは、グループにおけるワードの順序性である。
【００４９】
図７は、上述のハミング符号を想定してレーダデータメモリのパリティワードを更新するための方法のフローチャートである。この方法は、レーダデータメモリにおけるメモリワードの読み出し又は書き込みのために実施される。この方法は、図８及び図９の例に関連して説明され、先の例のグルーピングを想定する。図７を参照すると、メモリワードがアクセスされるとき、すなわち、例えば図８のレーダデータメモリ８００といったレーダデータメモリにおいて、読み出される又は書き込まれるとき、メモリワードのレーダデータメモリにおける行及び列座標が、メモリワードのアドレスに基づいて決定される（７００）。行及び列座標の決定は上記されている。
【００５０】
メモリワードのグループインデックスが、行及び列座標に基づいて決定される（７０２）。グループが０、１、・・・、Ｍ−ｌとインデックスされると想定すると、メモリワードのグループを識別するインデックスｇｒｏｕｐ＿ｉｄｘは、
ｇｒｏｕｐ＿ｉｄｘ＝ｍｏｄ（Ｒ−ｍｏｄ（Ｃ，Ｍ），Ｍ）
によって計算され得、ここで、Ｒはメモリ行番号であり、Ｃはメモリワードのメモリ列番号である。
【００５１】
ワードが割り当てられるグループにおけるメモリワードの順序性ｋが、行及び列座標に基づいて決定される（７０４）。順序性ｋは、
ｋ＝（ｎｕｍＲｏｗｓ／Ｍ）×Ｃ＋ｆｌｏｏｒ（Ｒ／Ｍ）＋１
によって計算され得、ここでＣはメモリワードの列座標であり、Ｒはメモリワードの行座標であり、ｎｕｍＲｏｗは、レーダデータメモリにおける行の数である。図８の例は、レーダデータメモリ８００のためのグループにおけるワードの順序性１、２、・・・、Ｎ８０１を図示する。
【００５２】
メモリワードに対応するグループパリティワードのパリティワードのサブセットが、メモリワードの順序性ｋを考慮して決定される（７０６）。従って、Ｇ（ｋ）が決定される。幾つかの実施形態において、Ｇ（ｋ）は、Ｇ（ｋ）のための前述の式によって計算され得る。幾つかの実施形態において、Ｇ（ｋ）は、図６のパリティ識別回路など、パリティ識別回路によって決定され得る。
【００５３】
その後、識別されたパリティワードが更新される（７０８）。上記したように、グループパリティワードの特定のパリティワードは、Ｇ（ｋ）のバイナリ表現の非ゼロビット位置によって識別される。Ｇ（ｋ）及びグループインデックスを考慮して、グループパリティワードにおける識別されたパリティワードは、メモリワードのデータと識別されたパリティワードの現在の内容とのＸＯＲ演算を実施することによって更新される。
【００５４】
図９は、前述の方法を図示する例である。図９は、グループに分割されるレーダデータメモリ９００、及び、各グループに関連するパリティワード９０２を示す。３２ビットワードを想定すると、例えば、１１０・・・１０１１が、特定のアドレスでレーダデータメモリに書き込まれるべきである。前述の方法のステップに従って、このアドレスは、この値がストアされるべきメモリワードの行及び列を識別するために用いられる。グループ内のメモリワードの順序性ｋ、及びグループ識別子は、行及び列に基づいて決定される。この例では、メモリワードは、１のグループインデックスを備えるグループに属するものとして識別される。その後、順序性ｋは、ワードをメモリに書き込むことに基づいて更新されるべきグループに対応するパリティワードのサブセットを識別するために用いられる。その後、識別されたパリティワードは、識別されたパリティワードの各々とデータ値１１０・・・１０１１とのＸＯＲ演算を実施することによって更新される。
【００５５】
図１０は、２つのソフトエラーからレーダデータメモリを保護するための上述の技法の実施形態を実装する、例示のパリティ管理構成要素１０００を図示するブロック図である。この例は、Ｍ＝４、メモリワードは３２ビット、及び、２ＭＢのレーダデータメモリサイズを想定している。例えば、Ｎ＝２ＭＢ／４／Ｍ＝１３１０７２であり、Ｐの値は、上述の関係、すなわちＰ＝１８、に従って選ばれ得る。Ｐ＝１８と仮定すると、総計Ｍ×１８＝７２パリティワード又は２８８バイトのために、グループ毎に１８個の３２ビットパリティワードが必要とされる。
【００５６】
パリティ管理構成要素１０００は、パリティデータ構成要素１００２、パリティワード識別構成要素１００４、及びパリティメモリ１００６を含む。パリティデータ構成要素１００２は、読み出される又は書き込まれる、レーダデータメモリにおけるワードのアドレスＡＤＤＲを受信する。パリティデータ構成要素１００２は、アドレスによって識別されるメモリロケーションの行及び列座標を決定するための機能を含む。パリティデータ構成要素１００２はさらに、メモリワードのグループインデックスと、行及び列座標に基づいてワードが割り当てられるグループにおけるメモリワードの順序性ｋとを決定するための機能を含む。パリティデータ構成要素１００２は、メモリアドレスのグループインデックスを提供するためにパリティメモリ１００６に、及び、メモリアドレスの順序性ｋのバイナリ表現を提供するためにパリティワード識別構成要素１００４に結合される。対角線状グルーピング割り当てを想定した、行及び列座標、グループインデックス、及び、順序性の決定は上記されている。
【００５７】
パリティワード識別構成要素１００４は、順序性ｋに基づいて、更新されるべきグループにおけるパリティワードを識別するための機能、すなわち、Ｇ（ｋ）を決定するための機能を含む。順序性に基づくパリティワードの識別は上記されている。幾つかの実施形態において、パリティ識別構成要素１００４は、図６の回路要素を含む。パリティ識別構成要素１００４は、Ｇ（ｋ）のバイナリ値を提供するために、パリティメモリ１００６に結合される。
【００５８】
パリティメモリ１００６は、７２パリティワードをストアするための充分なメモリを含み、グループインデックスに基づいてグループに割り当てられるパリティワードのサブセットと、パリティワード識別構成要素によって提供されるバイナリ値に基づいて更新されるべき、そのグループにおける特定のワードとを識別するための機能を含む。パリティメモリ１００６はさらに、アドレスＡＤＤＲに対応する、及び、ＸＯＲに対応するデータを受信するための機能を含み、データは、グループインデックスと、バイナリ値における非ゼロビットとによって識別されるパリティワードを有する。
【００５９】
パリティメモリ１００６は、イネーブルフラグ１００８の値を受信するように結合されてもよい。このフラグの値は、パリティが現在のメモリアクセスのために更新されるべきか否かを示す。上記したように、レーダデータメモリ保護は、チャープのフレームに対応するデータ処理の間、各メモリロケーションが、等しい回数読み出される及び書き込まれることを想定する。より具体的には、パリティが更新される間のメモリワードへの値の各書き込みのために、パリティが同じく更新される間、メモリワードからその値の単一読み出しが実施されなければならない。後処理の間、例えば、ドップラーＦＦＴの後、対応するパリティビットを更新することなく、データのいくつかを読み出す必要があり得る。そのような事例では、このフラグの値は、パリティ更新がないことを示すように設定される。
【００６０】
上述の例示の図は、レーダデータメモリワードのグルーピングについて対角線状パターンを想定した。単一ソフトエラーがグループ毎に最大１ワードに影響を及ぼし得るという特性が保持される場合、その他のグルーピング技法が用いられ得る。図１１及び図１２は、Ｍ＝４であり、メモリワードが行ごとにグループに割り当てられる３２ビットメモリワードを想定した、レーダデータメモリ１１００のための代替のグルーピングパターンを図示する例である。
【００６１】
図１１は、この行方向のグルーピングパターンを用いる単一ソフトエラー発生に対する保護のためのパリティビット割り当てを図示する例である。この例では、行１、４、及び、７におけるメモリワードが、同じグループにある。Ｍ×Ｍ領域１１０２は、単一ソフトエラーによって影響を及ぼされ得るメモリの例示の部分を図示する。図３の例と同様、パリティビットが、３２ビット位置の各々の保護のために割り振られている。図１１の右側に、例示のグループのためのメモリワードが、例示のため垂直にスタックされており、関連する３２ビットパリティワードが、そのスタックの下に示されている。また、グループの各ワードにおける例示のビット位置でのビットの例示の列１１０４が、パリティワードにおける関連するパリティビットと共に示されている。単一ソフトエラー保護のための図４の方法は、グループインデックスが決定される方式への改変を伴って、行方向のグルーピングと共に用いられ得る。
【００６２】
図１２は、行方向のグルーピングパターンを用いる、２つのソフトエラーに対する保護のためのパリティビット割り当てを図示する例である。この例では、行１、４、及び、７におけるメモリワードが、同じグループにある。Ｍ×Ｍ領域１２００及びＭ×Ｍ領域１２０２は、２つのソフトエラーによって影響を及ぼされ得るメモリの例示の部分を図示する。図５の例と同様、Ｐ個のパリティビットの一セットが、或るグループに割り当てられるワードの各ビット位置の保護のために割り振られる。図１２の右側に、例示のグループのためのメモリワードが、例示のため垂直にスタックされ、このグループに対応する３２ビットパリティワードが、スタックの下に示されている。また、グループの各ワードにおける例示のビット位置でのビットの例示の列１２０４が、パリティワードにおける関連するパリティビットと共に示されている。２つのソフトエラーからの保護のための図７の方法は、グループインデックス及び順序性の式に対する幾つかの変更を伴って、行方向のグルーピングと共に用いられ得る。より具体的には、グループインデックスは、
ｇｒｏｕｐ＿ｉｄｘ＝ｍｏｄ（Ｒ，Ｍ）
によって計算され得、順序性ｋは、
ｋ＝ＮｕｍＣｏｌｕｍｎｓｘｆｌｏｏｒ（Ｒ／Ｍ）＋Ｃ
によって計算され得る。
【００６３】
図１３は、図１４のレーダシステムなどのレーダシステムにおけるレーダデータメモリを保護するための方法のフローチャートである。この方法は、チャープのフレームに対応するレーダデータの処理の間に実施され得る。レーダデータメモリにデータをストアする前に、全てのパリティワードがゼロに初期化される（１３００）。デジタル化ＩＦ信号の前処理が実施されるとき、すなわち、レンジ値を生成するために、入力されるデジタル化サンプルにレンジＦＦＴが適用されるとき、各レンジ値は、レーダデータメモリにおけるメモリワードにストアされ（１３０２）、メモリワードに対応するパリティビットが更新される（１３０４）。レンジＦＦＴが完了する（１３０５）まで、すなわち、前処理が完了するまで、レンジ値のストア及びパリティ更新は続く。
【００６４】
フレームに対応するレンジ値の全てがレーダデータメモリにストアされた（１３０５）後、後処理が開始される。後処理の間、ドップラーＦＦＴが実施され、ドップラーＦＦＴでは、レンジ値の各列がレーダデータメモリから読み出され（１３０６）、レンジ値に対してドップラーＦＦＴが実施され、結果のドップラーＦＦＴ値が、レンジ値の列をストアしたメモリロケーションにおけるレーダデータメモリに書き込まれる（１３１０）。レンジ値の列の各メモリワードに対応するパリティビットは、レンジ値の列が読み出されるときに更新される（１３０８）。同様に、ドップラーＦＦＴの値がストアされる各メモリワードに対応するパリティビットは、その値がメモリワードに書き込まれるときに更新される（１３１２）。
【００６５】
ドップラーＦＦＴが完了した（１３１４）後、パリティ更新はディセーブルされ（１３１６）、例えば、オブジェクトを検出し、検出されたオブジェクトのレンジ、速度、及び、到来角を識別するなどの後処理を完了するために、データのいくつかが、レーダデータメモリから読み出される（１３１８）。後処理が完了した後、パリティ更新がイネーブルされる（１３２０）。
【００６６】
その後、前処理及び後処理の間、レーダデータをストアするために用いられた、レーダデータメモリにおける各メモリワードが読み出され（１３２２）、対応するパリティビットの更新をトリガする（１３２２）。このステップが完了した後、メモリワードは、パリティ更新のため、同じ回数読み出される及び書き込まれる。その後、パリティビットは、メモリエラーについてチェックされる（１３２４）。全てのパリティビットがゼロである場合（１３２４）、エラーは生じていない。ゼロでない場合は、メモリエラーが伝達される（１３２６）。
【００６７】
説明されたような単一ソフトエラーメモリ保護の実施形態が、レーダシステムによって実装される場合、メモリワードに対応するパリティビットの更新は、図４の方法を用いて実施され得る。本願で説明されるような２つのソフトエラーメモリ保護の実施形態がレーダシステムによって実装される場合、メモリワードに対応するパリティビットの更新は、図７の方法を用いて実施され得る。
【００６８】
図１４は、本願で説明されるようなレーダデータメモリ保護を実施するように構成される、例示のＦＭＣＷレーダシステム１４００のブロック図である。この実施形態において、レーダシステムは、埋め込み応用例において用いるために適したレーダ集積回路（ＩＣ）である。レーダＩＣ１４００は、ＦＭＣＷ信号を送信するための複数の送信チャネル１４０４、及び、反射された送信信号を受信するための複数の受信チャネル１４０２を含み得る。受信チャネル及び送信チャネルの任意の適切な数と、受信チャネルの数及び送信チャネルの数とは異なり得る。
【００６９】
送信チャネルが、適切なトランスミッタ及びアンテナを含む。受信チャネルが、適切なレシーバ及びアンテナを含む。また、受信チャネル１４０２の各々は、同一であり、受信された無線周波数（ＲＦ）信号を増幅するための低ノイズ増幅器（ＬＮＡ）１４０５、１４０７、送信された信号を、受信された信号と混合して中間周波数（ＩＦ）信号（あるいは、デチャープされた信号、ビート信号、又は、未加工レーダ信号とも呼ばれる）を生成するためのミキサ１４０６、１４０８、ビート信号をフィルタするためのベースバンドバンドパスフィルタ１４１０、１４１２、フィルタされたＩＦ信号を増幅するための可変利得増幅器（ＶＧＡ）１４１４、１４１６、及び、アナログＩＦ信号をデジタルＩＦ信号に変換するためのアナログ・デジタルコンバータ（ＡＤＣ）１４１８、１４２０を含む。
【００７０】
受信チャネル１４０２は、デジタルフロントエンド（ＤＦＥ）構成要素１４２２に結合されて、デジタルＩＦ信号をＤＦＥ１４２２に提供する。ＤＦＥは、サンプリングレートを低減させ、信号をベースバンドにするために、デジタルＩＦ信号に対してデシメーションフィルタリングを実施するための機能を含む。また、ＤＦＥ１４２２は、例えば、ＤＣオフセット除去など、デジタルＩＦ信号に対して他の動作を行ない得る。ＤＦＥ１４２２は、ＤＦＥ１４２２の出力を信号プロセッサ構成要素１４４４に伝送するために、信号プロセッサ構成要素１４４４に結合される。
【００７１】
信号プロセッサ構成要素１４４４は、レーダシステム１４００のＦＯＶにおける任意のオブジェクトを検出するため、及び、検出されたオブジェクトのレンジ、速度、及び、到来角を識別するために、レーダデータのフレームのデジタルＩＦ信号に対して信号処理を行なうように構成される。信号プロセッサ構成要素１４４４は、信号処理の間、データをレーダデータメモリ１４２６に読み出す及び書き込むために（１４２６）、レーダデータストレージ構成要素１４２４に結合される。
【００７２】
上述の前処理及び後処理などの信号処理を行なうために、信号プロセッサ構成要素１４４４は、メモリ構成要素１４４８にストアされたソフトウェア命令を実行する。これらのソフトウェア命令は、チャープのフレームに対応するデータを処理した後、メモリエラーについて、レーダデータストレージ構成要素１４２４のパリティビットをチェックするための命令を含み得る。また、メモリエラーが示される場合、ソフトウェア命令は、信号処理の結果を無視させ得る。
【００７３】
信号プロセッサ構成要素１４４４は、任意の適切なプロセッサ、又は、プロセッサの組み合わせであり得る。例えば、信号プロセッサ構成要素１４４４は、デジタル信号プロセッサ、ＭＣＵ、ＦＦＴエンジン、ＤＳＰ＋ＭＣＵプロセッサ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、又は、特定用途向け集積回路（ＡＳＩＣ）であり得る。
【００７４】
レーダデータストレージ構成要素１４２４は、本願で説明するレーダデータメモリ保護技法の実施形態に従って、保護されるレーダデータストレージを提供する。レーダデータストレージ構成要素１４２４は、パリティ管理構成要素１４２５、及び、レーダデータメモリ構成要素１４２６を含む。レーダデータメモリ構成要素１４２６は、例えばスタティックＲＡＭなど、任意の適切なランダムアクセスメモリ（ＲＡＭ）であり得る。レーダデータメモリ構成要素１４２６は、チャープの最大の予測されるフレームに対応するレーダデータをストアするための充分なメモリを含む。
【００７５】
パリティ管理構成要素１４２５は、レーダデータメモリ構成要素１４２６のためのパリティ更新を実装する。幾つかの実施形態において、パリティ管理構成要素１４２５は、レーダデータメモリ構成要素１４２６における単一ソフトエラーに対する保護のために、上述のパリティスキームの実施形態を実装する。そのような実施形態では、パリティビットが、或るグループに割り当てられるメモリワードの各ビット位置の保護のために割り振られる。それゆえ、メモリワードがＮｗビットである場合、１グループにＮｗ個のパリティビットが必要とされる。パリティ管理構成要素１４２５は、各グループのためのＮｗビットパリティ情報のための充分なストレージを含む。また、パリティ管理構成要素１４２５は、図４のパリティワードを更新するための方法の実施形態を実装するための機能を含む。
【００７６】
幾つかの実施形態において、パリティ管理構成要素１４２５は、レーダデータメモリ構成要素１４２６における２つのソフトエラーに対する保護のための上述のパリティスキームの実施形態を実装する。そのような実施形態では、上記したように、或るグループに割り当てられるメモリワードの列の各ビット位置列の保護のために、パリティビットの列が割り振られる。それゆえ、メモリワードがＮｗビットである場合、１グループにパリティビットのＮｗ列が必要とされる。パリティビットの列におけるパリティビットＰの数は、グループにおけるメモリワードの数に依存する。Ｐの値の選択については前述している。それゆえ、１グループにＰ×Ｎｗパリティビットが必要とされる。パリティ管理構成要素１４２５は、各グループのための、Ｐ×Ｎｗビットパリティ情報のための充分なストレージを含む。また、パリティ管理構成要素１４２５は、図７のパリティワードを更新するための方法の実施形態を実装するための機能を含む。幾つかの実施形態において、パリティ管理構成要素１４２５は、レーダデータメモリ構成要素１４２６におけるメモリの量のために適切に構成される、図１０のパリティ管理構成要素１０００によって実装され得る。
【００７７】
幾つかの実施形態において、パリティ管理構成要素１４２５は、イネーブルフラグ（図示せず）のための入力を含む。そのような実施形態では、パリティ更新が実施されるべきでないことを示すようにこのフラグが設定されない限り、パリティ管理構成要素１４２５は、レーダデータメモリ構成要素１４２６のワードが読み出される又は書き込まれるときにパリティ更新を行なう。各メモリワードに対応するパリティビットが、等しい数の読み出し及び書き込みによって更新されることを確実にするために、信号処理構成要素１４４４によって実行される信号処理ソフトウェアは、チャープのフレームに対応するデータの処理の間、必要に応じてこのフラグを設定し得る。例えば、図１３の方法に関連して説明されるように、パリティ更新は、後処理の部分の間、ディセーブルされ得る。
【００７８】
オンチップメモリ構成要素１４４８は、例えば、レーダＩＣ１４００上のプロセッサによって実行されるソフトウェアプログラムをストアするために、レーダＩＣ１４００の種々の構成要素間でデータを通信するために役立ち得るオンチップストレージ（例えば、コンピュータ読み出し可能媒体）を提供する。オンチップメモリ構成要素１４４８は、リードオンリメモリ、及び／又は、例えばスタティックＲＡＭなどのランダムアクセスメモリ（ＲＡＭ）などの、任意の適切な組み合わせを含み得る。
【００７９】
ダイレクトメモリアクセス（ＤＭＡ）構成要素１４４６は、レーダデータメモリ１４２６と信号プロセッサ構成要素１４４４との間のデータ伝送を行なうために、レーダデータストレージ構成要素１４２４に結合される。
【００８０】
制御構成要素１４２７は、レーダＩＣ１４００の動作を制御するための機能を含む。例えば、制御構成要素１４２７は、レーダＩＣ１４００の動作を制御するためにソフトウェアを実行するＭＣＵを含み得る。
【００８１】
シリアルペリフェラルインターフェース（ＳＰＩ）１４２８は、レーダ信号処理の結果を外部通信するためのインターフェースを提供する。例えば、信号プロセッサ構成要素１４４４によって実施された信号処理の結果は、例えば、オブジェクトトラッキング、オブジェクトの移動のレート、移動の方向などの、特定用途向け処理のために別のプロセッサに通信され得る。
【００８２】
プログラム可能タイミングエンジン１４４２は、レーダフレームにおけるチャープのシーケンスのためのチャープパラメータ値を制御モジュール１４２７から受信するため、及び、このパラメータ値に基づいて、フレームにおけるチャープの送信及び受信を制御するチャープ制御信号を生成するための機能を含む。例えば、チャープパラメータは、レーダシステムアーキテクチャによって定義され、イネーブルするべきトランスミッタ、チャープ周波数開始値、チャープ周波数スロープ、アナログ‐デジタル（ＡＤＣ）サンプル時間、ランプ終了時間、トランスミッタ開始時間等を示すためのトランスミッタイネーブルパラメータを含み得る。
【００８３】
無線周波数シンセサイザ（ＲＦＳＹＮＴＨ）１４３０は、タイミングエンジン１４４２からのチャープ制御信号に基づいて、送信のためのＦＭＣＷ信号を生成するための機能を含む。幾つかの実施形態において、ＲＦＳＹＮＴＨ１４３０は、電圧制御発振器（ＶＣＯ）を備える位相ロックループ（ＰＬＬ）を含む。
【００８４】
マルチプレクサ１４３２は、ＲＦＳＹＮＴＨ１４３０及び入力バッファ１４３６に結合される。マルチプレクサ１４３２は、入力バッファ１４３６において受信される信号か、ＲＦＳＹＮＴＨ１４３０によって生成される信号を選択するように構成され得る。例えば、出力バッファ１４３８は、マルチプレクサ１４３２に結合され、マルチプレクサ１４３２によって選択された信号を、別のレーダＩＣの入力バッファに送信するために用いられ得る。
【００８５】
クロック乗算器１４４０は、送信信号の周波数を、ミキサ１４０６、１４０８の周波数まで増加させる。クリーンアップＰＬＬ（位相ロックループ）１４３４は、外部低周波数基準クロック（図示せず）の信号の周波数を、ＲＦＳＹＮＴＨ１４３０の周波数まで増加させるように、及び、クロック信号からの基準クロック位相雑音をフィルタするように動作する。
【００８６】
レーダデータメモリワードのグループの数が４である、すなわち、Ｍ＝４と想定して、例示の実施形態を本願において説明してきたが、グループの数が４つ以上又は４つ以下のその他の実施形態も可能である。
【００８７】
また、メモリワードにおけるビットのサブセットがアクセスされるように、ビットパッキング又はメモリ圧縮は用いられないと想定して、例示の実施形態を本願で説明してきたが、ビットパッキング／メモリ圧縮が用いられるその他の実施形態が可能である。例えば、パリティ更新のために用いられるデータは、全パリティワードを用いるＸＯＲ演算を可能にするためにゼロ充填され得る。例えば、３２ビットワードのビット８〜１５がアクセスされる場合、パリティ更新のために用いられる３２ビットデータは、その他のビット位置にゼロを有するこれらのビットを含んでもよい。別の例において、アクセスされるビットに対応するパリティビットのみが更新される。例えば、３２ビットワードのビット８〜１５がアクセスされる場合、１つ又は複数のパリティワードのビット８〜１５が更新される。
【００８８】
左上から右下への対角線状グルーピングを想定して、その他の例示の実施形態を本願で説明してきたが、対角線状グルーピングが左下から右上であるその他の実施形態が可能である。
【００８９】
いくつかの例示の実施形態では、レーダシステムは、車両における埋め込みレーダシステムであるが、監視及びセキュリティ応用例や、工場又は倉庫におけるロボット操縦など、埋め込みレーダシステムのその他の応用例のための、その他の実施形態が可能である。
【００９０】
ＦＭＣＷレーダシステムの文脈において、更なる例示の実施形態を本願で説明してきたが、各メモリワードが、等しい回数、書き込み及び読み出しされるようにレーダ信号の信号処理が実施されるその他のレーダシステムのための、その他の実施形態が可能である。
【００９１】
ＦＭＣＷレーダシステムの文脈において、メモリ保護のさらなる例示の実施形態を本願で説明してきたが、安全性が重視される応用例において用いられるその他の信号処理システムのためのその他の実施形態が可能であり、こういった応用例では、大量のデータが信号処理のためにストアされ、信号処理に対応するデータアクセスは、（幾つかの実施形態では）パリティイネーブルフラグを用いて、或いは、（幾つかの実施形態では）パリティイネーブルフラグを用いることなく、メモリワード毎に、等しい回数の読み出し及び書き込みアクセスが保証され得るようなものである。
【００９２】
幾つかの例示の実施形態では、メモリは、単一ソフトエラーがグループ毎に一つのメモリワードのみに影響を及ぼすようにグルーピングされ、チェックサムベースの技法が、単一ソフトエラーに対する保護のために用いられ、ハミング符号技法が、２つのソフトエラーに対する保護のために用いられる。しかし、より効率の低いメモリワードグルーピングが用いられるその他の実施形態が可能である。例えば、単一ソフトエラーが或るグループにおいて２つのメモリワードに影響を及ぼすように、グルーピングが用いられ得る。幾つかの実施形態において、単一ソフトエラーから保護するためにハミング符号が用いられ得る。
【００９３】
方法のステップが、本願において順次提示及び説明され得るが、図示され本願で説明されるステップの一つ又は複数が、同時に実施されてもよく、組み合されてもよく、及び／又は、図示され及び／又は本願で説明される順とは異なる順で実施されてもよい。
【００９４】
レーダシステムにおける構成要素は、異なる名称で呼ばれることがあり、及び／又は、説明される機能から逸脱することなく、本願において示されないやり方で組み合わされ得る。この記載において、用語「結合する（ｃｏｕｐｌｅ）」及びその派生語は、間接的、直接的、光学的、及び／又は、ワイヤレス電気接続を意味することが意図される。例えば、第１のデバイスが第２のデバイスに結合する場合、そのような接続は、直接的な電気接続を介するもの、他のデバイス又は接続を介した間接的な電気接続を介するもの、光学電気接続を介するもの、及び／又は、ワイヤレス電気接続を介するものであり得る。
【００９５】
特許請求の範囲内で、説明された実施形態における改変が可能であり、その他の実施形態が可能である。
【図１】
2019505906.tif 000003
【図２】
2019505906.tif 000004
【図３】
2019505906.tif 000005
【図４】
2019505906.tif 000006
【図５】
2019505906.tif 000007
【図６】
2019505906.tif 000008
【図７】
2019505906.tif 000009
【図８】
2019505906.tif 000010
【図９】
2019505906.tif 000011
【図１０】
2019505906.tif 000012
【図１１】
2019505906.tif 000013
【図１２】
2019505906.tif 000014
【図１３】
2019505906.tif 000015
【図１４】
2019505906.tif 000016
【国際調査報告】
2019505906.tif 000017
2019505906.tif 000018