(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-23
(45)【発行日】2024-01-31
(54)【発明の名称】メモリディスパッチャ
(51)【国際特許分類】
G06F 11/16 20060101AFI20240124BHJP
G06F 11/10 20060101ALI20240124BHJP
【FI】
G06F11/16 612
G06F11/10 604
【外国語出願】
(21)【出願番号】P 2020058464
(22)【出願日】2020-03-27
【審査請求日】2023-02-14
(32)【優先日】2019-03-28
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】599158797
【氏名又は名称】インフィニオン テクノロジーズ アクチエンゲゼルシャフト
【氏名又は名称原語表記】Infineon Technologies AG
【住所又は居所原語表記】Am Campeon 1-15, 85579 Neubiberg, Germany
(74)【代理人】
【識別番号】100114890
【氏名又は名称】アインゼル・フェリックス=ラインハルト
(74)【代理人】
【識別番号】100098501
【氏名又は名称】森田 拓
(74)【代理人】
【識別番号】100116403
【氏名又は名称】前川 純一
(74)【代理人】
【識別番号】100135633
【氏名又は名称】二宮 浩康
(74)【代理人】
【識別番号】100162880
【氏名又は名称】上島 類
(72)【発明者】
【氏名】ペドロ コスタ
(72)【発明者】
【氏名】ムハマド ハッサン
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2008-262648(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/16
G06F 11/10
(57)【特許請求の範囲】
【請求項1】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、受け取った書き込みデータの書き込みアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記書き込みアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記書き込みアドレスに基づいて、プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレス、ならびに、前記書き込みデータの対応するプライマリコピーおよび冗長コピーを生成するように構成されており、
前記コンパレータは、前記書き込みデータの前記プライマリコピーと前記冗長コピーとを比較するとともに、前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとを比較するように構成されている、
メモリディスパッチャ。
【請求項2】
前記ロックステッププロセッサは、
前記プライマリメモリ書き込みアドレスおよび前記書き込みデータの前記プライマリコピーを生成するように構成されているプライマリデータパスプロセッサと、
ロックステップにおいて前記プライマリデータパスプロセッサとともに、前記冗長メモリ書き込みアドレスおよび前記書き込みデータの前記冗長コピーを生成するように構成されている冗長データパスプロセッサと、
を有する、
請求項1記載のメモリディスパッチャ。
【請求項3】
前記プライマリデータパスプロセッサは、前記書き込みデータの前記プライマリコピーに、または、前記プライマリメモリ書き込みアドレスに逆変換操作を行うように構成されており、または、
前記冗長データパスプロセッサは、前記書き込みデータの前記冗長コピーに、または、前記冗長メモリ書き込みアドレスに逆変換操作を行うように構成されている、
請求項2記載のメモリディスパッチャ。
【請求項4】
前記ロックステッププロセッサは、単一のメモリコントローラに、前記書き込みデータの前記プライマリコピーとともに前記プライマリメモリ書き込みアドレスを順次に出力し、前記書き込みデータの前記冗長コピーとともに前記冗長メモリ書き込みアドレスを順次に出力するように構成されている、
請求項1記載のメモリディスパッチャ。
【請求項5】
前記ロックステッププロセッサは、前記書き込みデータの前記プライマリコピーとともに前記プライマリメモリ書き込みアドレスをプライマリメモリコントローラに出力し、前記書き込みデータの前記冗長コピーとともに前記冗長メモリ書き込みアドレスを冗長メモリコントローラに出力するように構成されている、
請求項1記載のメモリディスパッチャ。
【請求項6】
前記プライマリメモリ書き込みアドレスおよび前記冗長メモリ書き込みアドレスは、別のメモリに位置している、
請求項1記載のメモリディスパッチャ。
【請求項7】
前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとが異なる場合に、または、前記書き込みデータの前記プライマリコピーと前記冗長コピーとが異なる場合に、前記コンパレータは、エラー信号を生成するように構成されている、
請求項1記載のメモリディスパッチャ。
【請求項8】
受け取った前記書き込みデータは、第1インテグリティレベルを有し、前記書き込みデータの前記プライマリコピーおよび前記冗長コピーは、第2インテグリティレベルを有し、前記第1インテグリティレベルは、前記第2インテグリティレベルよりも高い、
請求項1記載のメモリディスパッチャ。
【請求項9】
前記メモリディスパッチャは、非ロックステッププロセッサをさらに有し、
前記非ロックステッププロセッサは、デコードされた前記書き込みアドレスが、前記メモリの非ロックステップ領域に対応する場合、受け取った前記書き込みデータの単一のコピーを、前記メモリのデコードされた前記書き込みアドレスに書き込むように構成されている、
請求項1記載のメモリディスパッチャ。
【請求項10】
前記ロックステッププロセッサは、前記書き込みデータの前記プライマリコピーとともに転送されるプライマリ誤り検出訂正(EDC Error Detection Correction)チェックビットと、前記書き込みデータの前記冗長コピーとともに転送される冗長EDCチェックビットと、を生成するようにさらに構成されている、
請求項1記載のメモリディスパッチャ。
【請求項11】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されて
おり、
前記ロックステッププロセッサは、
前記プライマリメモリ読み出しアドレスを生成するように構成されているプライマリデータパスプロセッサと、
ロックステップにおいて前記プライマリデータパスプロセッサとともに、前記冗長メモリ読み出しアドレスを生成するように構成されている冗長データパスプロセッサと、
を有し、
前記プライマリデータパスプロセッサは、前記読み出しデータの前記プライマリコピーがどのように書き込みまれたかに依存して、前記プライマリメモリ読み出しアドレスからの読み出しデータのプライマリコピーに逆変換操作を実行し、または、前記プライマリメモリ読み出しアドレスがどのように生成されたかに依存して、前記プライマリメモリ読み出しアドレスに逆変換操作を実行するように構成されており、または、
前記冗長データパスプロセッサは、前記読み出しデータの前記冗長コピーがどのように書き込まれたのかに依存して、前記冗長メモリ読み出しアドレスからの前記読み出しデータの冗長コピーに逆変換操作を実行し、または、前記冗長メモリ読み出しアドレスがどのように生成されたかに依存して、前記冗長メモリ読み出しアドレスに逆変換操作を実行するように構成されている、
メモリディスパッチャ。
【請求項12】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されており、
前記ロックステッププロセッサは、単一のメモリコントローラから、前記読み出しデータの前記プライマリコピーとともに前記プライマリメモリ読み出しアドレスを順次に受け取り、前記読み出しデータの前記冗長コピーとともに前記冗長メモリ読み出しアドレスを順次に受け取るように構成されている、
メモリディスパッチャ。
【請求項13】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されており、
前記ロックステッププロセッサは、前記読み出しデータの前記プライマリコピーとともに前記プライマリメモリ読み出しアドレスをプライマリメモリコントローラから受け取り、前記読み出しデータの前記冗長コピーとともに前記冗長メモリ読み出しアドレスを冗長メモリコントローラから受け取るように構成されている、
メモリディスパッチャ。
【請求項14】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されており、
前記読み出しデータの前記プライマリコピーと前記冗長コピーとが異なる場合、または、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとが異なる場合、前記コンパレータは、エラー信号を生成するように構成されている、
メモリディスパッチャ。
【請求項15】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されており、
前記読み出しアドレスに対応する読み出しデータは、第1インテグリティレベルを有し、前記読み出しデータの前記プライマリコピーおよび前記冗長コピーは、第2インテグリティレベルを有し、前記第1インテグリティレベルは、前記第2インテグリティレベルよりも高い、
メモリディスパッチャ。
【請求項16】
前記プライマリメモリ読み出しアドレスおよび前記冗長メモリ読み出しアドレスは、別のメモリに位置している、
請求項11から15までのいずれか1項記載のメモリディスパッチャ。
【請求項17】
前記メモリディスパッチャは、非ロックステッププロセッサをさらに有し、
前記非ロックステッププロセッサは、デコードされた前記読み出しアドレスが、前記メモリの非ロックステップ領域に対応する場合、前記メモリのデコードされた前記読み出しアドレスから、前記読み出しデータの単一のコピーを読み出すように構成されている、
請求項11から15までのいずれか1項記載のメモリディスパッチャ。
【請求項18】
前記ロックステッププロセッサは、
前記読み出しデータの前記プライマリコピーとともに受け取ったプライマリ誤り検出訂正(EDC Error Detection Correction)チェックビットと、格納されたEDCチェックビットと、比較することにより、前記読み出しデータの前記プライマリコピーにおける任意のエラーを検出し、受け取った前記プライマリEDCチェックビットと、格納された前記EDCチェックビットと、が異なる場合、前記読み出しデータの受け取った前記プライマリコピーにおけるエラーを訂正し、または、
前記読み出しデータの前記冗長コピーとともに受け取った冗長EDCチェックビットと、格納された前記EDCチェックビットと、を比較することにより、前記読み出しデータの前記冗長コピーにおける任意のエラーを検出し、受け取った前記冗長EDCチェックビットと、格納された前記EDCチェックビットと、が異なる場合、前記読み出しデータの受け取った前記冗長コピーにおけるエラーを訂正するようにさらに構成されている、
請求項11から15までのいずれか1項記載のメモリディスパッチャ。
【請求項19】
メモリディスパッチ方法であって、
受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスを、アドレスデコーダによってデコードし、
ロックステッププロセッサにより、デコードされた前記書き込みアドレスまたはデコードされた前記読み出しアドレスに基づいて、
デコードされた前記書き込みアドレスが、メモリのロックステップ領域に対応する場合、前記書き込みデータのプライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスならびに対応するプライマリコピーおよび冗長コピーを生成し、または、
デコードされた前記読み出しアドレスが、前記メモリのロックステップ領域に対応する場合、プライマリ
メモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成し、
前記ロックステッププロセッサに接続されたコンパレータによって、
前記書き込みデータの前記プライマリコピーと前記冗長コピーとを比較し、前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとを比較するか、または、
前記読み出しデータの前記プライマリコピーと前記冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較する、
メモリディスパッチ方法。
【請求項20】
さらに、前記ロックステッププロセッサにより、前記読み出しデータの前記プライマリコピーまたは前記冗長コピーが、あらかじめ定めた期間内に受け取られないか否かを特定し、
あらかじめ定めた期間内に前記読み出しデータの前記プライマリコピーまたは前記冗長コピーが受け取られない場合にエラー信号を生成する、
請求項19記載の方法。
【請求項21】
さらに、前記コンパレータにより、受け取った前記プライマリ
コピーと、対応して受け取った前記冗長
コピーと、を同期する、
請求項19の方法。
【発明の詳細な説明】
【技術分野】
【0001】
自動運転は、自動車技術会(SAE:Society of Automotive Engineering)の国際規格J3016によって6つのレベル、すなわち0(自動運転なし)から5(全自動運転)までに分類されている。レベル2+の自動運転には、高度の計算アルゴリズムが必要である。計算の増大は、計算ユニットと、揮発性メモリとの間のデータ交換の増大に該当する。
【背景技術】
【0002】
SoC(System on Chip)ベースのアプローチにおける揮発性メモリには、価格対記憶容量のトレードオフがあり、このトレードオフは、内部のチップメモリおよび外部DRAM(Dynamic Random Access Memory)の両方を使用することによって取り扱われる。主に消費市場によって供給される外部メモリは、自動車産業の安全要件を満たさない。
【0003】
自動車用安全度水準(ASIL:Automotive Safety Integrity Level)は、国際標準化機構(ISO:International Organization for Standardization)26262によって定められた、ASIL-A、ASIL-B、ASIL-CおよびASIL-Dの4つのレベルへのリスク分類体系である。ISO26262はまた、ハザードに付随するリスクが些細な場合にこのハザードを品質管理(QM:Quality Management)として分類している。ASIL-Dは、最も高いインテグリティ要件を規定し、QMは、安全性要件をまったく規定しない。特に、ASIL-Dは、誤動作の際に人命を重大に脅かすかまたは致命的な障害についての起こり得る可能性を表し、ASIL-Dにより、従属する安全性についての目標が十分でありかつ達成されていることの最高レベルの保証が要求される。ASIL-Dインテグリティレベルにおけるマイクロコンピュータの計算および内部メモリとの通信には、ロックステップ、誤り検出訂正(EDC:Error Detection Correction)、メモリ組み込み自己テスト(MBIST:Memory Built-In Self-Test)およびウォッチドックのような機能が含まれる。これに対し、外部メモリは、ASIL-Bインテグリティレベルまでしか満たさない。したがって、ASIL-B外部メモリを使用しながらもなおASIL-Dインテグリティレベルを満たす必要がある。
【図面の簡単な説明】
【0004】
【
図1A】本開示の複数の様相による、書き込みパスについてのロックステップモードシステムの概略図である。
【
図1B】本開示の複数の様相による、
図1Aの書き込みパスについてのロックステップモードシステムのメモリディスパッチャの概略図である。
【
図2A】本開示の複数の様相による、読み出しパスについてのロックステップモードシステムの概略図である。
【
図2B】本開示の複数の様相による、
図2Aの読み出しパスについてのロックステップモードシステムのメモリディスパッチャの概略図である。
【
図3】本開示の複数の様相によるフルパフォーマンスモードシステムの概略図である。
【
図4】本開示の複数の様相によるメモリディスパッチング方法のフローチャートである。
【発明を実施するための形態】
【0005】
本開示は、メモリにアクセスするためのメモリディスパッチャに関する。メモリディスパッチャは、2つのモード、すなわちロックステップモードおよびフルパフォーマンス(非ロックステップ)モードを有する。モードは、メモリアクセスアドレスが対応しているメモリ領域の要求インテグリティレベルに基づいて設定される。ロックステップモードは、高インテグリティレベル(例えばASIL-D)を要求するデータ用であり、処理ユニットがメモリに2回アクセスすることなく、2重にデータ格納を行う。フルパフォーマンス(非ロックステップ)モードは、より低いインテグリティレベル(例えばASIL-B)を要求するデータ用であり、データを複製しない。
【0006】
図1Aは、本開示の複数の様相による、書き込みパスについてのロックステップモードシステム100Aの概略図を示している。
図1Bは、
図1Aのメモリディスパッチャ120の概略図を示している。
【0007】
全体像を得るために、ロックステップモードシステム100Aは、ロックステップモードにおいてメモリ140にデータを書き込むためにメモリディスパッチャ120を有するものとする。ロックステップモードは、高インテグリティレベル(例えばASIL-D)を要求するデータ用である。メモリディスパッチャ120は、処理ユニットが介入することなく、対応する2つのメモリ140A、140Bに元データおよび複製データを書き込むために、データおよび対応する書き込みアドレスを複製する。
【0008】
ロックステップモードシステム100は、外部メモリ140に接続されているMCUを有する。
【0009】
MCUは、計算ユニット110と、メモリディスパッチャ120と、メモリコントローラ130と、を有する。
【0010】
計算ユニット110は、例えば、レーダ処理ユニット、アプリケーションコアなどを有していてよい。本開示は、この点において限定されておらず、計算ユニット110は、複数の計算ユニットを適宜有していてよい。計算ユニット110は、ASIL-DにおいてMCU計算を実行するように構成されている。
【0011】
メモリコントローラ130は、メモリコントローラ130Aおよびメモリコントローラ130を有する。メモリコントローラ130は、例えば、DRAM(Dynamic Random Access Memory)コントローラまたはDMA(Direct Memory Access)コントローラであってよい。それぞれのメモリコントローラ130A、130Bは、論理アドレスから、メモリ140の物理アドレスを生成してメモリ書き込みサイクルを開始するように構成されている。
【0012】
メモリ140は、メモリ140Aおよびメモリ140Bを有する。それぞれのメモリ140Aおよび140Bは、チャネルと称することが可能である。メモリ140Aは、メモリコントローラ130Aを使用して、またメモリ140Bは、メモリコントローラ130Bを使用して書き込まれる。メモリ140Aおよびメモリ140Bは、物理的に別のメモリであってよく、または択一的には、同じ物理メモリの別の領域であってよい。メモリ140は、外部DRAMであってよいが、本開示はこれらの点において限定されない。メモリ140は、外部または内部メモリであってよく、かつ/または適宜、任意のメモリタイプ(例えばフラッシュ)であってよい。
【0013】
メモリディスパッチャ120は、アドレスデコーダ122と、プロセッサ124と、コンパレータ126と、を有する。
【0014】
アドレスデコーダ122は、単一の論理書き込みアドレスXPTOおよび書き込みデータXYを受け取る。受け取った書き込みデータXYは、インテグリティレベルASIL-Dを有する。アドレスデコーダ122は、論理書き込みアドレスXPTOをデコードするように構成されている。
【0015】
プロセッサ124は、ロックステッププロセッサ124Lおよび非ロックステッププロセッサ124NLを有する。デコードされた書き込みアドレスが、メモリ140のロックステップ領域に対応する場合、ロックステッププロセッサ124Lは、処理を実行し、ロックステップにおいてデータXYおよびアドレスXPTOのプライマリコピーおよび冗長コピーを生成することにより、ASIL-Dのようなより高いインテグリティレベルを提供する。
【0016】
より具体的にいうと、デコードされた書き込みアドレスが、メモリ140のロックステップ領域に対応する場合、ロックステッププロセッサ124Lは、ロックステップにおいて、デコードされた書き込みアドレスに基づき、プライマリメモリ書き込みアドレスXPTO_Aおよび冗長メモリ書き込みアドレスXPTO_Bと、対応する書き込みデータのプライマリコピーXY_Aおよび冗長コピーXY_Bを生成するように構成されている。書き込みデータのそれぞれのプライマリコピーXY_Aおよび冗長コピーXY_Bは、インテグリティレベルASIL-Bを有するが、ロックステップでは合わせてインテグリティレベルASIL-Dを有する。冗長書き込みデータXY_Bは、"Road vehicles - Functional safety"という名称のISO26262にしたがって生成可能である。
【0017】
図1Bに示したように、ロックステッププロセッサ124Lは、プライマリデータパスプロセッサ124LPおよび冗長データパスプロセッサ124LRを有する。アドレスXPTOおよびデータXYは、1つのパスから到来し、ロックステップで動作するプライマリデータパスプロセッサ124LPおよび冗長データパスプロセッサ124LRに到達する。プライマリデータパスプロセッサ124LPは、プライマリメモリ書き込みアドレスXPTO_Aおよび書き込みデータのプライマリコピーXY_Aを生成する。冗長データパスプロセッサ124LRは、ロックステップにおいてプライマリデータパスプロセッサ124LPとともに、冗長メモリ書き込みアドレスXPTO_Bおよび書き込みデータの冗長コピーXY_Bを生成する。プライマリデータパスプロセッサ124LPおよび冗長データパスプロセッサ124LRは、別のプロセッサであってよく、または択一的には同じ物理プロセッサ内の別の機能であってよい。
【0018】
ロックステッププロセッサ124Lは、書き込みデータのプライマリコピーXY_Aとともにプライマリメモリ書き込みアドレスXPTO_Aを、また書き込みデータの冗長コピーXY_Bとともに冗長メモリ書き込みアドレスXPTO_Bを単一のメモリコントローラ130に順次に出力するように構成可能である。択一的には、ロックステッププロセッサ124Lは、書き込みデータのプライマリコピーXY_Aとともにプライマリメモリ書き込みアドレスXPTO_Aをプライマリメモリコントローラ130Aに、また書き込みデータの冗長コピーXY_Bとともに冗長メモリ書き込みアドレスXPTO_Bを冗長メモリコントローラ130Bに出力するように構成可能である。
【0019】
コンパレータ126は、書き込みデータのプライマリコピーXY_Aと、冗長コピーXY_Bと、を比較するように構成されている。コンパレータ126はまた、プライマリメモリ書き込みアドレスXPTO_Aと、冗長メモリ書き込みアドレスXPTO_Bと、を比較するように構成されている。この比較は、メモリ140にデータが書き込まれる前に、エラーがあるか否かを判定するためである。プライマリメモリ書き込みアドレス(XPTO_A)および冗長メモリ書き込みアドレス(XPTO_B)が、本来あるべきアドレスと異なる場合、または書き込みデータのプライマリコピー(XY_A)と、冗長コピー(XY_B)と、が異なる場合、コンパレータ126は、エラー信号を生成するように構成されている。このことが意味するのは、MCUを信頼することができず、特定の期間内にMCUがシャットダウンするかまたは安全状態になることである。
【0020】
選択的にはロックステッププロセッサ124Lは、書き込みデータのプライマリコピーXY_Aに、かつ/またはプライマリメモリ書き込みアドレスXPTO_Aに逆変換操作を実行するように構成可能である。同様に、ロックステッププロセッサ124Lは、書き込みデータの冗長コピーXY_Bに、かつ/または冗長メモリ書き込みアドレスXPTO_Bに逆変換操作を行うように構成可能である。ISO26262 D2.4.4によって提案されている逆変換操作(0から1、1から0)により、診断の適用範囲が拡張される。
【0021】
さらに、ロックステッププロセッサ124Lは、書き込みデータのプライマリコピーとともに転送されるプライマリ誤り検出訂正(EDC:Error Detection Correction)チェックビットと、書き込みデータの冗長コピーとともに転送される冗長EDCチェックビットとを生成するように構成可能である。本開示では、EDCを説明しているが、本開示は、この点には限定されず、誤り検出および/または訂正は、適宜に任意のタイプのものであってよい。
【0022】
非ロックステッププロセッサ124NLは、デコードされた書き込みアドレスが、メモリ140の非ロックステップ領域に対応する場合、
図3に関してさらに以下で説明するように、受け取った書き込みデータXYの単一のコピーを、メモリ140のデコードされた書き込みアドレスに書き込むように構成されている。ここでも、非ロックステッププロセッサ124NLにより、ASIL-Bのようなより低いインテグリティレベルが提供されるが、フルパフォーマンスも提供される。
【0023】
図2Aには、本開示の複数の様相にしたがい、
図1Aおよび
図1Bの書き込みパスとは逆に、読み出しパスについてのロックステップモードシステム200Aの概略図が示されている。
図2Bには、
図2Aの読み出しパスについて、ロックステップモードシステム200Aのメモリディスパッチャ220の概略図が示されている。
【0024】
図1Aおよび
図1Bのコンポーネントと類似の参照符号を有する、
図2Aおよび
図2Bのコンポーネントは、実質的に同じであり、簡略のため、それらの説明をここでは繰り返さない。より具体的にいうと、計算ユニット210、メモリディスパッチャ220、メモリコントローラ230および外部メモリ240は、計算ユニット110、メモリディスパッチャ120、メモリコントローラ130および外部メモリ140にそれぞれ対応する。
【0025】
全体像を得るために、ロックステップモードシステム200Aは、ロックステップモードにおいてメモリ240からデータを読み出すためにメモリディスパッチャ220を有するとする。ロックステップモードは、高インテグリティレベル(例えばASIL-D)を要求するデータ用である。メモリディスパッチャ220は、処理ユニットが介入することなく、対応する2つのメモリ240A、240Bから元データおよび複製データを読み出すために、書き込みアドレスを複製する。
【0026】
アドレスデコーダ222は、単一の論理読み出しアドレスXPTOを受け取る。このアドレスデコーダは、論理読み出しアドレスXPTOをデコードするように構成されている。
【0027】
デコードされた読み出しアドレスXPTOが、メモリ240のロックステップ領域に対応する場合、ロックステッププロセッサ224Lは、デコードされた読み出しアドレスXPTOに基づき、プライマリメモリ読み出しアドレスXPTO_Aおよび冗長メモリ読み出しアドレスXPTO_Bを生成するように構成されている。プライマリデータパスプロセッサ220LPは、プライマリメモリ読み出しアドレスXPTO_Aを生成するように構成されている。冗長データパスプロセッサ220LRは、ロックステップにおいてプライマリデータパスプロセッサ220LPとともに冗長メモリ読み出しアドレスXPTO_Bを生成するように構成されている。
【0028】
それぞれのメモリコントローラ230A、230Bは、デコードされた論理読み出しアドレスXPTO_A、XPTO_Bから、メモリ140の物理アドレスを生成し、メモリ読み出しサイクルを開始するように構成されている。読み出しデータのプライマリコピーXY_Aは、プライマリメモリ240Aから読み出され、メモリコントローラ230Aを介してメモリディスパッチャ220に転送され、読み出しデータの冗長コピーXY_Bは、冗長メモリ240Bから読み出され、メモリコントローラ230Bを介してメモリディスパッチャ220に転送される。
【0029】
コンパレータ226は、読み出しデータのプライマリコピーXY_Aと、冗長データコピーXY_Bと、を比較するように構成されている。コンパレータ226はまた、プライマリメモリ読み出しアドレスXPTO_Aと、冗長メモリ読み出しアドレスXPTO_Bと、を比較するように構成されている。プライマリメモリ読み出しアドレス(XPTO_A)および冗長メモリ読み出しアドレス(XPTO_B)が、本来あるべきアドレスと異なる場合、または読み出しデータのプライマリコピー(XY_A)と、冗長コピー(XY_B)と、が異なる場合、コンパレータ226は、エラー信号を生成するように構成されている。このことが意味するのは、MCUを信頼することができず、特定の期間内にMCUがシャットダウンされるかまたは安全状態になることである。コンパレータ226は、さらに、受け取ったプライマリ読み出しデータXY_Aと、対応して受け取った冗長読み出しデータXY_Bと、を同期するように構成可能である。
【0030】
選択的にはプライマリデータパスプロセッサ220LPは、
図1Aおよび
図1Bに関して上で説明したように、読み出しデータのプライマリコピーXY_Aがどのように書き込まれたかに依存して、プライマリメモリ読み出しアドレスXPTO_Aからの読み出しデータのプライマリコピーXY_Aに逆変換操作を行うように構成可能であるか、またはプライマリメモリ読み出しアドレスXPTO_Aがどのように生成されたかに依存して、プライマリメモリ読み出しアドレスXPTO_Aに逆変換操作を行うように構成可能である。また冗長データパスプロセッサ220LRは、同様に、
図1Aおよび
図1Bに関して上で説明したように、読み出しデータの冗長コピーXY_Bがどのように書き込まれたかに依存して、冗長メモリ読み出しアドレスXPTO_Bからの読み出しデータの冗長コピーXY_Bに逆変換操作を行うように構成可能であるか、または冗長メモリ読み出しアドレスXPTO_Bがどのように生成されたかに依存して、冗長メモリ読み出しアドレスXPTO_Bに逆変換操作を行うように構成可能である。ISO26262 D2.4.4によって提案されているこの逆変換操作により、診断の適用範囲が拡張される。
【0031】
ロックステッププロセッサ224Lは、読み出しデータのプライマリコピーXY_Aとともにプライマリメモリ読み出しアドレスXPTO_Aをプライマリメモリコントローラ230Aから受け取るように、また読み出しデータの冗長コピーXY_Bとともに冗長メモリ読み出しアドレスXPTO_Bを冗長メモリコントローラ230Bから受け取るように構成可能である。択一的には、ロックステッププロセッサ224Lは、読み出しデータのプライマリコピーXY_Aとともにプライマリメモリ読み出しアドレスXPTO_Aを、また読み出しデータの冗長コピーXY_Bとともに冗長メモリ読み出しアドレスXPTO_Bを、単一のメモリコントローラ230から順次に受け取るように構成可能である。
【0032】
読み出しアドレスに対応する読み出しデータXYは、ASIL-Dのような高インテグリティレベルを有する。読み出しデータのそれぞれのプライマリコピーXY_Aおよび冗長コピーXY_Bは、ASIL_Bのようなより低いインテグリティレベルを有しているが、ロックステップでは合わせてインテグリティレベルASIL-Dを有する。
【0033】
ロックステッププロセッサ224Lは、さらに、読み出しデータのプライマリコピーXY_Aとともに受け取ったプライマリ誤り検出訂正(EDC:Error Detection Correction)チェックビットと、格納されたEDCチェックビットと、を比較することにより、読み出しデータのプライマリコピーXY_Aにおける任意のエラーを検出するように構成可能である。受け取ったプライマリEDCチェックビットと、格納されたEDCチェックビットと、が異なる場合、ロックステッププロセッサ224Lは、読み出しデータの受け取ったプライマリコピーXY_Aにおけるエラーを訂正するように構成されている。同様に、ロックステッププロセッサ224Lは、読み出しデータの冗長コピーXY_Bとともに受け取った冗長EDCチェックビットと、格納されたEDCチェックビットと、を比較することにより、読み出しデータの冗長コピーXY_Bにおける任意のエラーを検出するように構成可能である。受け取った冗長EDCチェックビットと、格納されたEDCチェックビットと、が異なる場合、ロックステッププロセッサ224Lは、読み出しデータの受け取った冗長コピーXY_Bにおけるエラーを訂正するように構成可能である。読み出しデータの受け取ったプライマリコピーXY_Aおよび冗長コピーXY_Bと比較される、格納されたEDCチェックビットは、同じEDCチェックビットでよいか、または択一的には異なるEDCチェックビットであってよい。
【0034】
ロックステッププロセッサ220Lは、さらに、読み出しデータのプライマリコピーXY_Aまたは冗長コピーXY_Bが、あらかじめ定めた期間内に受け取られないか否かを特定するように構成可能である。読み出しデータのプライマリコピーXY_Aまたは冗長コピーXY_Bが、あらかじめ定めた期間内に受け取られない場合、ロックステッププロセッサ220Lは、エラー信号を生成可能である。
【0035】
非ロックステッププロセッサ224NLは、デコードされた読み出しアドレスXPTOがメモリ240の非ロックステップ領域に対応する場合、
図3に関してさらに以下で説明するように、メモリ240のデコードされた読み出しアドレスから、読み出しデータの単一のコピーを読み出すように構成可能である。ここでも非ロックステッププロセッサ224NLにより、ASIL-Bのようなより低いインテグリティレベルが提供されるが、より高いパフォーマンスも提供される。
【0036】
図3には、本開示の複数の様相によるフルパフォーマンスモードシステム300の概略図が示されている。
【0037】
図1Aおよび
図1Bのコンポーネントと類似の参照符号を有する、
図3Aおよび
図3Bのコンポーネントは、実質的に同じであり、簡略のため、それらの説明をここでは繰り返さない。より具体的にいうと、計算ユニット310、メモリディスパッチャ320、メモリコントローラ330および外部メモリ340は、計算ユニット110、メモリディスパッチャ120、メモリコントローラ130および外部メモリ140にそれぞれ対応する。
【0038】
フルパフォーマンスモードは、デコードされた論理アドレスが、メモリ340の非ロックステップ領域に対応し、したがってより高いインテグリティレベルASIL-Dが必要でなく、ASIL-Bのようなより低いインテグリティレベルで十分な場合に発生する。このモードの間、メモリディスパッチャ320は、冗長アドレスまたは冗長データを生成しない。その代わりにそれぞれのデータパスは、慣用のシステムのように、他のアドレスおよび対応するデータとは独立している。データXYについての第1のアドレスXPTOは、メモリ340Aだけにマッピングされる。データZZについての第2のアドレス3CPOは、メモリ340Bだけにマッピングされる。このフルパフォーマンスモードにより、結果的に慣用のMCUと同じ効率を有するMCUが得られる。
【0039】
より具体的にいうと、アドレスデコーダ322は、2つの論理アドレスXPTO、3CPOと、対応する2つのデータの集合XY、ZZとを受け取る。このデータXYおよびZZは、
図1A、
図1B、
図2Aおよび
図2Bに関して上述した、受け取ったデータXYと異なり、インテグリティレベルASIL-Bを有する。アドレスデコーダ322は、論理アドレスXPTO、3CPOをデコードするように構成されている。
【0040】
デコードされた論理アドレスが、メモリ440の非ロックステップ領域に対応する場合、非ロックステッププロセッサ324NLは、デコードされた論理アドレスXPTOと、対応するデータXYとを処理するように構成されている。続いて、非ロックステッププロセッサ324NLは、デコードされた論理アドレス3CPOと、対応するデータZZとを処理するように構成されている。
【0041】
メモリコントローラ330Aは、論理アドレスXPTOから、メモリ340の物理アドレスXPTOを生成し、データXYをメモリ340Aに書き込むメモリ書き込みサイクルを開始するように構成されている。同様に、メモリ330Bは、論理アドレス3CPOから、メモリ340の物理アドレス3CPOを生成し、データZZをメモリ340Bに書き込むメモリ書き込みサイクルを開始するように構成されている。データXY、ZZを読み出すために類似のプロセスが行われる。
【0042】
図4には、本開示の複数の様相によるメモリディスパッチ方法のフローチャート400が示されている。
【0043】
ステップ410は、アドレスデコーダ122/222による、受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスのデコーディングである。
【0044】
ステップ420は、ロックステッププロセッサ124L/224Lによる、かつデコードされた書き込み/読み出しアドレスXPTOに基づく以下の生成である。すなわち、デコードされた書き込みアドレスXPTOが、メモリのロックステップ領域に対応する場合、プライマリメモリ書き込みアドレスXPTO_Aおよび冗長メモリ書き込みアドレスXPTO_B、ならびに対応する書き込みデータのプライマリコピーXY_Aおよび冗長コピーXY_Bの生成(サブステップ422)、またはデコードされた読み出しアドレスXPTOが、メモリのロックステップ領域に対応する場合、プライマリメモリ読み出しアドレスXPTO_Aおよび冗長メモリ読み出しアドレスXPTO_Bの生成(サブステップ424)、である。
【0045】
ステップ430は、ロックステッププロセッサ124L/224Lに接続されているコンパレータ126/226による比較、すなわち、書き込みデータのプライマリコピーXY_Aと冗長コピーXY_Bとの比較、およびプライマリメモリ書き込みアドレスXPTO_Aと冗長メモリ書き込みアドレスXPTO_Bとの比較(サブステップ432)、または、読み出しデータのプライマリコピーXY_Aと冗長コピーXY_Bとの比較、および、プライマリメモリ読み出しアドレスXPTO_Aと冗長メモリ読み出しアドレスXPTO_Bとの比較(サブステップ434)である。
【0046】
ASIL-Dインテグリティレベルにおいてデータを格納するために外部メモリが使用される場合、本開示のメモリディスパッチャにより、データの複製によって広い診断範囲が得られる。またこのメモリディスパッチャにより、結果的に全体的に計算性能が向上する。というのは、ASIL-D計算ユニットの負荷をメモリディスパッチャに負わせることができるからである。自動的な比較は、プライマリデータが利用可能になると直ちに、計算ユニットに、この計算ユニットが要求したデータが供給されることにより、時間を節約し、またその場合には、コンパレータがエラー信号を出力するまで、またエラー信号を出力しない限り、計算ユニットは、後続のタスクに使用可能である。
【0047】
本開示の技術は、以下の複数の例においても説明可能である。
【0048】
例1 受け取った書き込みデータの書き込みアドレスをデコードするように構成されているアドレスデコーダと、デコードされた書き込みアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた書き込みアドレスに基づいて、プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレス、ならびに書き込みデータの対応するプライマリコピーおよび冗長コピーを生成するように構成されているロックステッププロセッサと、ロックステッププロセッサに接続されておりかつ書き込みデータのプライマリコピーと冗長コピーとを比較し、かつ、プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとを比較するように構成されているコンパレータと、を有するメモリディスパッチャ。
【0049】
例2 ロックステッププロセッサが、プライマリメモリ書き込みアドレスおよび書き込みデータのプライマリコピーを生成するように構成されているプライマリデータパスプロセッサと、ロックステップにおいてプライマリデータパスプロセッサとともに、冗長メモリ書き込みアドレスおよび書き込みデータの冗長コピーを生成するように構成されている冗長データパスプロセッサと、を有する、例1のメモリディスパッチャ。
【0050】
例3 書き込みデータのプライマリコピーに、またはプライマリメモリ書き込みアドレスに逆変換操作を行うようにプライマリデータパスプロセッサが構成されており、または書き込みデータの冗長コピーに、または冗長メモリ書き込みアドレスに逆変換操作を行うように冗長データパスプロセッサが構成されている、例1および2の任意の組み合わせのメモリディスパッチャ。
【0051】
例4 書き込みデータのプライマリコピーとともにプライマリメモリ書き込みアドレスを、また書き込みデータの冗長コピーとともに冗長メモリ書き込みアドレスを単一のメモリコントローラに順次に出力するようにロックステッププロセッサが構成されている、例1から3までの任意の組み合わせのメモリディスパッチャ。
【0052】
例5 書き込みデータのプライマリコピーとともにプライマリメモリ書き込みアドレスをプライマリメモリコントローラに出力し、書き込みデータの冗長コピーとともに冗長メモリ書き込みアドレスを冗長メモリコントローラに出力するようにロックステッププロセッサが構成されている、例1から4までの任意の組み合わせのメモリディスパッチャ。
【0053】
例6 プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスは、別のメモリに位置している、例1から5までの任意の組み合わせのメモリディスパッチャ。
【0054】
例7 プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとが異なる場合に、または、書き込みデータのプライマリコピーと冗長コピーとが異なる場合に、エラー信号を生成するようにコンパレータが構成されている、例1から6までの任意の組み合わせのメモリディスパッチャ。
【0055】
例8 受け取った書き込みデータが、第1インテグリティレベルを有し、書き込みデータのプライマリコピーおよび冗長コピーが、第2インテグリティレベルを有し、第1インテグリティレベルが、第2インテグリティレベルよりも高い、例1から7までの任意の組み合わせのメモリディスパッチャ。
【0056】
例9 デコードされた書き込みアドレスが、メモリの非ロックステップ領域に対応する場合、受け取った書き込みデータの単一のコピーを、メモリのデコードされた書き込みアドレスに書き込むように構成されている非ロックステッププロセッサをさらに有する、例1から8までの任意の組み合わせのメモリディスパッチャ。
【0057】
例10 書き込みデータのプライマリコピーとともに転送されるプライマリ誤り検出訂正(EDC:Error Detection Correction)チェックビットと、書き込みデータの冗長コピーとともに転送される冗長EDCチェックビットとを生成するようにロックステッププロセッサがさらに構成されている、例1から9までの任意の組み合わせのメモリディスパッチャ。
【0058】
例11 読み出しアドレスをデコードするように構成されているアドレスデコーダと、デコードされた読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されているロックステッププロセッサと、ロックステッププロセッサに接続されており、かつ、読み出しデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとを比較するように構成されているコンパレータと、を有する、メモリディスパッチャ。
【0059】
例12 ロックステッププロセッサが、プライマリメモリ読み出しアドレスを生成するように構成されているプライマリデータパスプロセッサと、ロックステップにおいてプライマリデータパスプロセッサとともに、冗長メモリ読み出しアドレスを生成するように構成されている冗長データパスプロセッサと、を有する、例11のメモリディスパッチャ。
【0060】
例13 読み出しデータのプライマリコピーがどのように書き込みまれたかに依存して、プライマリメモリ読み出しアドレスからの読み出しデータのプライマリコピーに逆変換操作を実行し、またはプライマリメモリ読み出しアドレスがどのように生成されたかに依存して、プライマリメモリ読み出しアドレスに逆変換操作を実行するようにプライマリデータパスプロセッサが構成されており、または読み出しデータの冗長コピーがどのように書き込まれたかに依存して、冗長メモリ読み出しアドレスからの読み出しデータの冗長コピーに逆変換操作を実行し、または冗長メモリ読み出しアドレスがどのように生成されたかに依存して、冗長メモリ読み出しアドレスに逆変換操作を実行するように冗長データパスプロセッサが構成されている、例11および12の任意の組み合わせのメモリディスパッチャ。
【0061】
例14 読み出しデータのプライマリコピーとともにプライマリメモリ読み出しアドレスを、また読み出しデータの冗長コピーとともに冗長メモリ読み出しアドレスを、単一のメモリコントローラから順次に受け取るようにロックステッププロセッサが構成されている、例11から13までの任意の組み合わせのメモリディスパッチャ。
【0062】
例15 読み出しデータのプライマリコピーとともにプライマリメモリ読み出しアドレスをプライマリメモリコントローラから受け取り、読み出しデータの冗長コピーとともに冗長メモリ読み出しアドレスを冗長メモリコントローラから受け取るようにロックステッププロセッサが構成されている、例1から14までの任意の組み合わせのメモリディスパッチャ。
【0063】
例16 プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスは、別のメモリに位置している、例11から15までの任意の組み合わせのメモリディスパッチャ。
【0064】
例17 読み出しデータのプライマリコピーと冗長コピーとが異なる場合、またはプライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとが異なる場合、コンパレータが、エラー信号を生成するように構成されている、例11から16までの任意の組み合わせのメモリディスパッチャ。
【0065】
例18 読み出しアドレスに対応する読み出しデータが、第1インテグリティレベルを有し、読み出しデータのプライマリコピーおよび冗長コピーが、第2インテグリティレベルを有し、第1インテグリティレベルが、第2インテグリティレベルよりも高い、例11から17までの任意の組み合わせのメモリディスパッチャ。
【0066】
例19 デコードされた読み出しアドレスが、メモリの非ロックステップ領域に対応する場合、メモリのデコードされた読み出しアドレスから、読み出しデータの単一のコピーを読み出すように構成されている非ロックステッププロセッサをさらに有する、例11から18までの任意の組み合わせのメモリディスパッチャ。
【0067】
例20 読み出しデータのプライマリコピーとともに受け取ったプライマリ誤り検出訂正(EDC:Error Detection Correction)チェックビットと、格納されたEDCチェックビットと、を比較することにより、読み出しデータのプライマリコピーにおける任意のエラーを検出し、受け取ったプライマリEDCチェックビットと、格納されたEDCチェックビットと、が異なる場合、読み出しデータの受け取ったプライマリコピーにおけるエラーを訂正し、または読み出しデータの冗長コピーとともに受け取った冗長EDCチェックビットと、格納されたEDCチェックビットと、を比較することにより、読み出しデータの冗長コピーにおける任意のエラーを検出し、受け取った冗長EDCチェックビットと、格納されたEDCチェックビットと、が異なる場合、読み出しデータの受け取った冗長コピーにおけるエラーを訂正するようにロックステッププロセッサがさらに構成されている、例11から19までの任意の組み合わせのメモリディスパッチャ。
【0068】
例21 受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスを、アドレスデコーダによってデコードし、ロックステッププロセッサにより、デコードされた書き込みアドレスまたはデコードされた読み出しアドレスに基づいて、デコードされた書き込みアドレスが、メモリのロックステップ領域に対応する場合、書き込みデータのプライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスならびに対応するプライマリコピーおよび冗長コピーを生成し、またはデコードされた読み出しアドレスが、メモリのロックステップ領域に対応する場合、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成し、ロックステッププロセッサに接続されたコンパレータによって、書き込みデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとを比較するか、または読み出しデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとを比較する、メモリディスパッチ方法。
【0069】
例22 さらに、ロックステッププロセッサにより、読み出しデータのプライマリコピーまたは冗長コピーが、あらかじめ定めた期間内に受け取られないか否かを特定し、あらかじめ定めた期間内に読み出しデータのプライマリコピーまたは冗長コピーが受け取られない場合にエラー信号を生成する、例21の方法。
【0070】
例23 さらに、コンパレータにより、受け取ったプライマリ読み出しデータと、対応して受け取った冗長読み出しデータと、を同期する、例21および22の任意の組み合わせの方法。
【0071】
上述のことは、例示的な実施形態に関連して説明されていたが、「例示的」という語は、最善または最適なものではなくむしろ単に例として理解すべきである。したがって本開示は、択一的な形態、変化形態および同等の形態を包含することを意図しており、これらは、本開示の範囲内に含まれ得るものである。
【0072】
ここでは特定の実施形態を例証して説明したが、当業者は、本開示の範囲を逸脱することなく、さまざまな択一的かつ/または同等な実施が、ここに示して説明した特定の実施形態の代用になり得ることを理解されたい。本開示は、ここで説明した特定の実施形態の任意の適合形態または変化形態を包含することを意図している。