(57)【要約】      （修正有）【課題】ＡＳＩＬ−Ｂ外部メモリを使用しながらもなおＡＳＩＬ−Ｄインテグリティレベルを満たすメモリディスパッチャを提供する。【解決手段】ロックステップモードシステムにおいて、メモリディスパッチャは、受け取った書き込みデータの書き込みアドレスをデコードするアドレスデコーダと、デコードされた書き込みアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた書き込みアドレスに基づいて、プライマリメモリ書き込みメモリアドレスおよび冗長メモリ書き込みアドレスならびに書き込みデータの対応するプライマリコピーおよび冗長コピーを生成するロックステッププロセッサと、ロックステッププロセッサに接続されておりかつ書き込みデータのプライマリコピーと冗長コピーとを比較し、かつ、プライマリメモリ書き込みアドレスと、冗長メモリ書き込みアドレスとを比較するるコンパレータと、を有する。【選択図】図１Ａ
2020166862.tif 000002
【特許請求の範囲】
【請求項１】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、受け取った書き込みデータの書き込みアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記書き込みアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記書き込みアドレスに基づいて、プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレス、ならびに、前記書き込みデータの対応するプライマリコピーおよび冗長コピーを生成するように構成されており、
前記コンパレータは、前記書き込みデータの前記プライマリコピーと前記冗長コピーとを比較するとともに、前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとを比較するように構成されている、
メモリディスパッチャ。
【請求項２】
前記ロックステッププロセッサは、
前記プライマリメモリ書き込みアドレスおよび前記書き込みデータの前記プライマリコピーを生成するように構成されているプライマリデータパスプロセッサと、
ロックステップにおいて前記プライマリデータパスプロセッサとともに、前記冗長メモリ書き込みアドレスおよび前記書き込みデータの前記冗長コピーを生成するように構成されている冗長データパスプロセッサと、
を有する、
請求項１記載のメモリディスパッチャ。
【請求項３】
前記プライマリデータパスプロセッサは、前記書き込みデータの前記プライマリコピーに、または、前記プライマリメモリ書き込みアドレスに逆変換操作を行うように構成されており、または、
前記冗長データパスプロセッサは、前記書き込みデータの前記冗長コピーに、または、前記冗長メモリ書き込みアドレスに逆変換操作を行うように構成されている、
請求項２記載のメモリディスパッチャ。
【請求項４】
前記ロックステッププロセッサは、単一のメモリコントローラに、前記書き込みデータの前記プライマリコピーとともに前記プライマリメモリ書き込みアドレスを順次に出力し、前記書き込みデータの前記冗長コピーとともに前記冗長メモリ書き込みアドレスを順次に出力するように構成されている、
請求項１記載のメモリディスパッチャ。
【請求項５】
前記ロックステッププロセッサは、前記書き込みデータの前記プライマリコピーとともに前記プライマリメモリ書き込みアドレスをプライマリメモリコントローラに出力し、前記書き込みデータの前記冗長コピーとともに前記冗長メモリ書き込みアドレスを冗長メモリコントローラに出力するように構成されている、
請求項１記載のメモリディスパッチャ。
【請求項６】
前記プライマリメモリ書き込みアドレスおよび前記冗長メモリ書き込みアドレスは、別のメモリに位置している、
請求項１記載のメモリディスパッチャ。
【請求項７】
前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとが異なる場合に、または、前記書き込みデータの前記プライマリコピーと前記冗長コピーとが異なる場合に、前記コンパレータは、エラー信号を生成するように構成されている、
請求項１記載のメモリディスパッチャ。
【請求項８】
受け取った前記書き込みデータは、第１インテグリティレベルを有し、前記書き込みデータの前記プライマリコピーおよび前記冗長コピーは、第２インテグリティレベルを有し、前記第１インテグリティレベルは、前記第２インテグリティレベルよりも高い、
請求項１記載のメモリディスパッチャ。
【請求項９】
前記メモリディスパッチャは、非ロックステッププロセッサをさらに有し、
前記非ロックステッププロセッサは、デコードされた前記書き込みアドレスが、前記メモリの非ロックステップ領域に対応する場合、受け取った前記書き込みデータの単一のコピーを、前記メモリのデコードされた前記書き込みアドレスに書き込むように構成されている、
請求項１記載のメモリディスパッチャ。
【請求項１０】
前記ロックステッププロセッサは、前記書き込みデータの前記プライマリコピーとともに転送されるプライマリ誤り検出訂正（ＥＤＣ  Error Detection Correction）チェックビットと、前記書き込みデータの前記冗長コピーとともに転送される冗長ＥＤＣチェックビットと、を生成するようにさらに構成されている、
請求項１記載のメモリディスパッチャ。
【請求項１１】
アドレスデコーダと、ロックステッププロセッサと、前記ロックステッププロセッサに接続されているコンパレータと、を有するメモリディスパッチャであって、
前記アドレスデコーダは、読み出しアドレスをデコードするように構成されており、
前記ロックステッププロセッサは、デコードされた前記読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた前記読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されており、
前記コンパレータは、前記読み出しデータのプライマリコピーと冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較するように構成されている、
メモリディスパッチャ。
【請求項１２】
前記ロックステッププロセッサは、
前記プライマリメモリ読み出しアドレスを生成するように構成されているプライマリデータパスプロセッサと、
ロックステップにおいて前記プライマリデータパスプロセッサとともに、前記冗長メモリ読み出しアドレスを生成するように構成されている冗長データパスプロセッサと、
を有する、
請求項１１記載のメモリディスパッチャ。
【請求項１３】
前記プライマリデータパスプロセッサは、前記読み出しデータの前記プライマリコピーがどのように書き込みまれたかに依存して、前記プライマリメモリ読み出しアドレスからの読み出しデータのプライマリコピーに逆変換操作を実行し、または、前記プライマリメモリ読み出しアドレスがどのように生成されたかに依存して、前記プライマリメモリ読み出しアドレスに逆変換操作を実行するように構成されており、または、
前記冗長データパスプロセッサは、前記読み出しデータの前記冗長コピーがどのように書き込まれたのかに依存して、前記冗長メモリ読み出しアドレスからの前記読み出しデータの冗長コピーに逆変換操作を実行し、または、前記冗長メモリ読み出しアドレスがどのように生成されたかに依存して、前記冗長メモリ読み出しアドレスに逆変換操作を実行するように構成されている、
請求項１２記載のメモリディスパッチャ。
【請求項１４】
前記ロックステッププロセッサは、単一のメモリコントローラから、前記読み出しデータの前記プライマリコピーとともに前記プライマリメモリ読み出しアドレスを順次に受け取り、前記読み出しデータの前記冗長コピーとともに前記冗長メモリ読み出しアドレスを順次に受け取るように構成されている、
請求項１１記載のメモリディスパッチャ。
【請求項１５】
前記ロックステッププロセッサは、前記読み出しデータの前記プライマリコピーとともに前記プライマリメモリ読み出しアドレスをプライマリメモリコントローラから受け取り、前記読み出しデータの前記冗長コピーとともに前記冗長メモリ読み出しアドレスを冗長メモリコントローラから受け取るように構成されている、
請求項１１記載のメモリディスパッチャ。
【請求項１６】
前記プライマリメモリ読み出しアドレスおよび前記冗長メモリ読み出しアドレスは、別のメモリに位置している、
請求項１１記載のメモリディスパッチャ。
【請求項１７】
前記読み出しデータの前記プライマリコピーと前記冗長コピーとが異なる場合、または、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとが異なる場合、前記コンパレータは、エラー信号を生成するように構成されている、
請求項１１記載のメモリディスパッチャ。
【請求項１８】
前記読み出しアドレスに対応する読み出しデータは、第１インテグリティレベルを有し、前記読み出しデータの前記プライマリコピーおよび前記冗長コピーは、第２インテグリティレベルを有し、前記第１インテグリティレベルは、前記第２インテグリティレベルよりも高い、
請求項１１記載のメモリディスパッチャ。
【請求項１９】
前記メモリディスパッチャは、非ロックステッププロセッサをさらに有し、
前記非ロックステッププロセッサは、デコードされた前記読み出しアドレスが、前記メモリの非ロックステップ領域に対応する場合、前記メモリのデコードされた前記読み出しアドレスから、前記読み出しデータの単一のコピーを読み出すように構成されている、
請求項１１記載のメモリディスパッチャ。
【請求項２０】
前記ロックステッププロセッサは、
前記読み出しデータの前記プライマリコピーとともに受け取ったプライマリ誤り検出訂正（ＥＤＣ  Error Detection Correction）チェックビットと、格納されたＥＤＣチェックビットと、比較することにより、前記読み出しデータの前記プライマリコピーにおける任意のエラーを検出し、受け取った前記プライマリＥＤＣチェックビットと、格納された前記ＥＤＣチェックビットと、が異なる場合、前記読み出しデータの受け取った前記プライマリコピーにおけるエラーを訂正し、または、
前記読み出しデータの前記冗長コピーとともに受け取った冗長ＥＤＣチェックビットと、格納された前記ＥＤＣチェックビットと、を比較することにより、前記読み出しデータの前記冗長コピーにおける任意のエラーを検出し、受け取った前記冗長ＥＤＣチェックビットと、格納された前記ＥＤＣチェックビットと、が異なる場合、前記読み出しデータの受け取った前記冗長コピーにおけるエラーを訂正するようにさらに構成されている、
請求項１１記載のメモリディスパッチャ。
【請求項２１】
メモリディスパッチ方法であって、
受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスを、アドレスデコーダによってデコードし、
ロックステッププロセッサにより、デコードされた前記書き込みアドレスまたはデコードされた前記読み出しアドレスに基づいて、
デコードされた前記書き込みアドレスが、メモリのロックステップ領域に対応する場合、前記書き込みデータのプライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスならびに対応するプライマリコピーおよび冗長コピーを生成し、または、
デコードされた前記読み出しアドレスが、前記メモリのロックステップ領域に対応する場合、プライマリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成し、
前記ロックステッププロセッサに接続されたコンパレータによって、
前記書き込みデータの前記プライマリコピーと前記冗長コピーとを比較し、前記プライマリメモリ書き込みアドレスと前記冗長メモリ書き込みアドレスとを比較するか、または、
前記読み出しデータの前記プライマリコピーと前記冗長コピーとを比較し、前記プライマリメモリ読み出しアドレスと前記冗長メモリ読み出しアドレスとを比較する、
メモリディスパッチ方法。
【請求項２２】
さらに、前記ロックステッププロセッサにより、前記読み出しデータの前記プライマリコピーまたは前記冗長コピーが、あらかじめ定めた期間内に受け取られないか否かを特定し、
あらかじめ定めた期間内に前記読み出しデータの前記プライマリコピーまたは前記冗長コピーが受け取られない場合にエラー信号を生成する、
請求項２１記載の方法。
【請求項２３】
さらに、前記コンパレータにより、受け取った前記プライマリ読み出しデータと、対応して受け取った前記冗長読み出しデータと、を同期する、
請求項２１の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
自動運転は、自動車技術会（ＳＡＥ：Society of Automotive Engineering）の国際規格Ｊ３０１６によって６つのレベル、すなわち０（自動運転なし）から５（全自動運転）までに分類されている。レベル２＋の自動運転には、高度の計算アルゴリズムが必要である。計算の増大は、計算ユニットと、揮発性メモリとの間のデータ交換の増大に該当する。
【背景技術】
【０００２】
ＳｏＣ（System on Chip）ベースのアプローチにおける揮発性メモリには、価格対記憶容量のトレードオフがあり、このトレードオフは、内部のチップメモリおよび外部ＤＲＡＭ（Dynamic Random Access Memory）の両方を使用することによって取り扱われる。主に消費市場によって供給される外部メモリは、自動車産業の安全要件を満たさない。
【０００３】
自動車用安全度水準（ＡＳＩＬ：Automotive Safety Integrity Level）は、国際標準化機構（ＩＳＯ：International Organization for Standardization）２６２６２によって定められた、ＡＳＩＬ−Ａ、ＡＳＩＬ−Ｂ、ＡＳＩＬ−ＣおよびＡＳＩＬ−Ｄの４つのレベルへのリスク分類体系である。ＩＳＯ２６２６２はまた、ハザードに付随するリスクが些細な場合にこのハザードを品質管理（ＱＭ：Quality Management）として分類している。ＡＳＩＬ−Ｄは、最も高いインテグリティ要件を規定し、ＱＭは、安全性要件をまったく規定しない。特に、ＡＳＩＬ−Ｄは、誤動作の際に人命を重大に脅かすかまたは致命的な障害についての起こり得る可能性を表し、ＡＳＩＬ−Ｄにより、従属する安全性についての目標が十分でありかつ達成されていることの最高レベルの保証が要求される。ＡＳＩＬ−Ｄインテグリティレベルにおけるマイクロコンピュータの計算および内部メモリとの通信には、ロックステップ、誤り検出訂正（ＥＤＣ：Error Detection Correction）、メモリ組み込み自己テスト（ＭＢＩＳＴ：Memory Built-In Self-Test）およびウォッチドックのような機能が含まれる。これに対し、外部メモリは、ＡＳＩＬ−Ｂインテグリティレベルまでしか満たさない。したがって、ＡＳＩＬ−Ｂ外部メモリを使用しながらもなおＡＳＩＬ−Ｄインテグリティレベルを満たす必要がある。
【図面の簡単な説明】
【０００４】
【図１Ａ】本開示の複数の様相による、書き込みパスについてのロックステップモードシステムの概略図である。
【図１Ｂ】本開示の複数の様相による、図１Ａの書き込みパスについてのロックステップモードシステムのメモリディスパッチャの概略図である。
【図２Ａ】本開示の複数の様相による、読み出しパスについてのロックステップモードシステムの概略図である。
【図２Ｂ】本開示の複数の様相による、図２Ａの読み出しパスについてのロックステップモードシステムのメモリディスパッチャの概略図である。
【図３】本開示の複数の様相によるフルパフォーマンスモードシステムの概略図である。
【図４】本開示の複数の様相によるメモリディスパッチング方法のフローチャートである。
【発明を実施するための形態】
【０００５】
本開示は、メモリにアクセスするためのメモリディスパッチャに関する。メモリディスパッチャは、２つのモード、すなわちロックステップモードおよびフルパフォーマンス（非ロックステップ）モードを有する。モードは、メモリアクセスアドレスが対応しているメモリ領域の要求インテグリティレベルに基づいて設定される。ロックステップモードは、高インテグリティレベル（例えばＡＳＩＬ−Ｄ）を要求するデータ用であり、処理ユニットがメモリに２回アクセスすることなく、２重にデータ格納を行う。フルパフォーマンス（非ロックステップ）モードは、より低いインテグリティレベル（例えばＡＳＩＬ−Ｂ）を要求するデータ用であり、データを複製しない。
【０００６】
図１Ａは、本開示の複数の様相による、書き込みパスについてのロックステップモードシステム１００Ａの概略図を示している。図１Ｂは、図１Ａのメモリディスパッチャ１２０の概略図を示している。
【０００７】
全体像を得るために、ロックステップモードシステム１００Ａは、ロックステップモードにおいてメモリ１４０にデータを書き込むためにメモリディスパッチャ１２０を有するものとする。ロックステップモードは、高インテグリティレベル（例えばＡＳＩＬ−Ｄ）を要求するデータ用である。メモリディスパッチャ１２０は、処理ユニットが介入することなく、対応する２つのメモリ１４０Ａ、１４０Ｂに元データおよび複製データを書き込むために、データおよび対応する書き込みアドレスを複製する。
【０００８】
ロックステップモードシステム１００は、外部メモリ１４０に接続されているＭＣＵを有する。
【０００９】
ＭＣＵは、計算ユニット１１０と、メモリディスパッチャ１２０と、メモリコントローラ１３０と、を有する。
【００１０】
計算ユニット１１０は、例えば、レーダ処理ユニット、アプリケーションコアなどを有していてよい。本開示は、この点において限定されておらず、計算ユニット１１０は、複数の計算ユニットを適宜有していてよい。計算ユニット１１０は、ＡＳＩＬ−ＤにおいてＭＣＵ計算を実行するように構成されている。
【００１１】
メモリコントローラ１３０は、メモリコントローラ１３０Ａおよびメモリコントローラ１３０を有する。メモリコントローラ１３０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）コントローラまたはＤＭＡ（Direct Memory Access）コントローラであってよい。それぞれのメモリコントローラ１３０Ａ、１３０Ｂは、論理アドレスから、メモリ１４０の物理アドレスを生成してメモリ書き込みサイクルを開始するように構成されている。
【００１２】
メモリ１４０は、メモリ１４０Ａおよびメモリ１４０Ｂを有する。それぞれのメモリ１４０Ａおよび１４０Ｂは、チャネルと称することが可能である。メモリ１４０Ａは、メモリコントローラ１３０Ａを使用して、またメモリ１４０Ｂは、メモリコントローラ１３０Ｂを使用して書き込まれる。メモリ１４０Ａおよびメモリ１４０Ｂは、物理的に別のメモリであってよく、または択一的には、同じ物理メモリの別の領域であってよい。メモリ１４０は、外部ＤＲＡＭであってよいが、本開示はこれらの点において限定されない。メモリ１４０は、外部または内部メモリであってよく、かつ／または適宜、任意のメモリタイプ（例えばフラッシュ）であってよい。
【００１３】
メモリディスパッチャ１２０は、アドレスデコーダ１２２と、プロセッサ１２４と、コンパレータ１２６と、を有する。
【００１４】
アドレスデコーダ１２２は、単一の論理書き込みアドレスＸＰＴＯおよび書き込みデータＸＹを受け取る。受け取った書き込みデータＸＹは、インテグリティレベルＡＳＩＬ−Ｄを有する。アドレスデコーダ１２２は、論理書き込みアドレスＸＰＴＯをデコードするように構成されている。
【００１５】
プロセッサ１２４は、ロックステッププロセッサ１２４Ｌおよび非ロックステッププロセッサ１２４ＮＬを有する。デコードされた書き込みアドレスが、メモリ１４０のロックステップ領域に対応する場合、ロックステッププロセッサ１２４Ｌは、処理を実行し、ロックステップにおいてデータＸＹおよびアドレスＸＰＴＯのプライマリコピーおよび冗長コピーを生成することにより、ＡＳＩＬ−Ｄのようなより高いインテグリティレベルを提供する。
【００１６】
より具体的にいうと、デコードされた書き込みアドレスが、メモリ１４０のロックステップ領域に対応する場合、ロックステッププロセッサ１２４Ｌは、ロックステップにおいて、デコードされた書き込みアドレスに基づき、プライマリメモリ書き込みアドレスＸＰＴＯ＿Ａおよび冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂと、対応する書き込みデータのプライマリコピーＸＹ＿Ａおよび冗長コピーＸＹ＿Ｂを生成するように構成されている。書き込みデータのそれぞれのプライマリコピーＸＹ＿Ａおよび冗長コピーＸＹ＿Ｂは、インテグリティレベルＡＳＩＬ−Ｂを有するが、ロックステップでは合わせてインテグリティレベルＡＳＩＬ−Ｄを有する。冗長書き込みデータＸＹ＿Ｂは、"Road vehicles - Functional safety"という名称のＩＳＯ２６２６２にしたがって生成可能である。
【００１７】
図１Ｂに示したように、ロックステッププロセッサ１２４Ｌは、プライマリデータパスプロセッサ１２４ＬＰおよび冗長データパスプロセッサ１２４ＬＲを有する。アドレスＸＰＴＯおよびデータＸＹは、１つのパスから到来し、ロックステップで動作するプライマリデータパスプロセッサ１２４ＬＰおよび冗長データパスプロセッサ１２４ＬＲに到達する。プライマリデータパスプロセッサ１２４ＬＰは、プライマリメモリ書き込みアドレスＸＰＴＯ＿Ａおよび書き込みデータのプライマリコピーＸＹ＿Ａを生成する。冗長データパスプロセッサ１２４ＬＲは、ロックステップにおいてプライマリデータパスプロセッサ１２４ＬＰとともに、冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂおよび書き込みデータの冗長コピーＸＹ＿Ｂを生成する。プライマリデータパスプロセッサ１２４ＬＰおよび冗長データパスプロセッサ１２４ＬＲは、別のプロセッサであってよく、または択一的には同じ物理プロセッサ内の別の機能であってよい。
【００１８】
ロックステッププロセッサ１２４Ｌは、書き込みデータのプライマリコピーＸＹ＿Ａとともにプライマリメモリ書き込みアドレスＸＰＴＯ＿Ａを、また書き込みデータの冗長コピーＸＹ＿Ｂとともに冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂを単一のメモリコントローラ１３０に順次に出力するように構成可能である。択一的には、ロックステッププロセッサ１２４Ｌは、書き込みデータのプライマリコピーＸＹ＿Ａとともにプライマリメモリ書き込みアドレスＸＰＴＯ＿Ａをプライマリメモリコントローラ１３０Ａに、また書き込みデータの冗長コピーＸＹ＿Ｂとともに冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂを冗長メモリコントローラ１３０Ｂに出力するように構成可能である。
【００１９】
コンパレータ１２６は、書き込みデータのプライマリコピーＸＹ＿Ａと、冗長コピーＸＹ＿Ｂと、を比較するように構成されている。コンパレータ１２６はまた、プライマリメモリ書き込みアドレスＸＰＴＯ＿Ａと、冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂと、を比較するように構成されている。この比較は、メモリ１４０にデータが書き込まれる前に、エラーがあるか否かを判定するためである。プライマリメモリ書き込みアドレス（ＸＰＴＯ＿Ａ）および冗長メモリ書き込みアドレス（ＸＰＴＯ＿Ｂ）が、本来あるべきアドレスと異なる場合、または書き込みデータのプライマリコピー（ＸＹ＿Ａ）と、冗長コピー（ＸＹ＿Ｂ）と、が異なる場合、コンパレータ１２６は、エラー信号を生成するように構成されている。このことが意味するのは、ＭＣＵを信頼することができず、特定の期間内にＭＣＵがシャットダウンするかまたは安全状態になることである。
【００２０】
選択的にはロックステッププロセッサ１２４Ｌは、書き込みデータのプライマリコピーＸＹ＿Ａに、かつ／またはプライマリメモリ書き込みアドレスＸＰＴＯ＿Ａに逆変換操作を実行するように構成可能である。同様に、ロックステッププロセッサ１２４Ｌは、書き込みデータの冗長コピーＸＹ＿Ｂに、かつ／または冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂに逆変換操作を行うように構成可能である。ＩＳＯ２６２６２  Ｄ２．４．４によって提案されている逆変換操作（０から１、１から０）により、診断の適用範囲が拡張される。
【００２１】
さらに、ロックステッププロセッサ１２４Ｌは、書き込みデータのプライマリコピーとともに転送されるプライマリ誤り検出訂正（ＥＤＣ：Error Detection Correction）チェックビットと、書き込みデータの冗長コピーとともに転送される冗長ＥＤＣチェックビットとを生成するように構成可能である。本開示では、ＥＤＣを説明しているが、本開示は、この点には限定されず、誤り検出および／または訂正は、適宜に任意のタイプのものであってよい。
【００２２】
非ロックステッププロセッサ１２４ＮＬは、デコードされた書き込みアドレスが、メモリ１４０の非ロックステップ領域に対応する場合、図３に関してさらに以下で説明するように、受け取った書き込みデータＸＹの単一のコピーを、メモリ１４０のデコードされた書き込みアドレスに書き込むように構成されている。ここでも、非ロックステッププロセッサ１２４ＮＬにより、ＡＳＩＬ−Ｂのようなより低いインテグリティレベルが提供されるが、フルパフォーマンスも提供される。
【００２３】
図２Ａには、本開示の複数の様相にしたがい、図１Ａおよび図１Ｂの書き込みパスとは逆に、読み出しパスについてのロックステップモードシステム２００Ａの概略図が示されている。図２Ｂには、図２Ａの読み出しパスについて、ロックステップモードシステム２００Ａのメモリディスパッチャ２２０の概略図が示されている。
【００２４】
図１Ａおよび図１Ｂのコンポーネントと類似の参照符号を有する、図２Ａおよび図２Ｂのコンポーネントは、実質的に同じであり、簡略のため、それらの説明をここでは繰り返さない。より具体的にいうと、計算ユニット２１０、メモリディスパッチャ２２０、メモリコントローラ２３０および外部メモリ２４０は、計算ユニット１１０、メモリディスパッチャ１２０、メモリコントローラ１３０および外部メモリ１４０にそれぞれ対応する。
【００２５】
全体像を得るために、ロックステップモードシステム２００Ａは、ロックステップモードにおいてメモリ２４０からデータを読み出すためにメモリディスパッチャ２２０を有するとする。ロックステップモードは、高インテグリティレベル（例えばＡＳＩＬ−Ｄ）を要求するデータ用である。メモリディスパッチャ２２０は、処理ユニットが介入することなく、対応する２つのメモリ２４０Ａ、２４０Ｂから元データおよび複製データを読み出すために、書き込みアドレスを複製する。
【００２６】
アドレスデコーダ２２２は、単一の論理読み出しアドレスＸＰＴＯを受け取る。このアドレスデコーダは、論理読み出しアドレスＸＰＴＯをデコードするように構成されている。
【００２７】
デコードされた読み出しアドレスＸＰＴＯが、メモリ２４０のロックステップ領域に対応する場合、ロックステッププロセッサ２２４Ｌは、デコードされた読み出しアドレスＸＰＴＯに基づき、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａおよび冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂを生成するように構成されている。プライマリデータパスプロセッサ２２０ＬＰは、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａを生成するように構成されている。冗長データパスプロセッサ２２０ＬＲは、ロックステップにおいてプライマリデータパスプロセッサ２２０ＬＰとともに冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂを生成するように構成されている。
【００２８】
それぞれのメモリコントローラ２３０Ａ、２３０Ｂは、デコードされた論理読み出しアドレスＸＰＴＯ＿Ａ、ＸＰＴＯ＿Ｂから、メモリ１４０の物理アドレスを生成し、メモリ読み出しサイクルを開始するように構成されている。読み出しデータのプライマリコピーＸＹ＿Ａは、プライマリメモリ２４０Ａから読み出され、メモリコントローラ２３０Ａを介してメモリディスパッチャ２２０に転送され、読み出しデータの冗長コピーＸＹ＿Ｂは、冗長メモリ２４０Ｂから読み出され、メモリコントローラ２３０Ｂを介してメモリディスパッチャ２２０に転送される。
【００２９】
コンパレータ２２６は、読み出しデータのプライマリコピーＸＹ＿Ａと、冗長データコピーＸＹ＿Ｂと、を比較するように構成されている。コンパレータ２２６はまた、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａと、冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂと、を比較するように構成されている。プライマリメモリ読み出しアドレス（ＸＰＴＯ＿Ａ）および冗長メモリ読み出しアドレス（ＸＰＴＯ＿Ｂ）が、本来あるべきアドレスと異なる場合、または読み出しデータのプライマリコピー（ＸＹ＿Ａ）と、冗長コピー（ＸＹ＿Ｂ）と、が異なる場合、コンパレータ２２６は、エラー信号を生成するように構成されている。このことが意味するのは、ＭＣＵを信頼することができず、特定の期間内にＭＣＵがシャットダウンされるかまたは安全状態になることである。コンパレータ２２６は、さらに、受け取ったプライマリ読み出しデータＸＹ＿Ａと、対応して受け取った冗長読み出しデータＸＹ＿Ｂと、を同期するように構成可能である。
【００３０】
選択的にはプライマリデータパスプロセッサ２２０ＬＰは、図１Ａおよび図１Ｂに関して上で説明したように、読み出しデータのプライマリコピーＸＹ＿Ａがどのように書き込まれたかに依存して、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａからの読み出しデータのプライマリコピーＸＹ＿Ａに逆変換操作を行うように構成可能であるか、またはプライマリメモリ読み出しアドレスＸＰＴＯ＿Ａがどのように生成されたかに依存して、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａに逆変換操作を行うように構成可能である。また冗長データパスプロセッサ２２０ＬＲは、同様に、図１Ａおよび図１Ｂに関して上で説明したように、読み出しデータの冗長コピーＸＹ＿Ｂがどのように書き込まれたかに依存して、冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂからの読み出しデータの冗長コピーＸＹ＿Ｂに逆変換操作を行うように構成可能であるか、または冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂがどのように生成されたかに依存して、冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂに逆変換操作を行うように構成可能である。ＩＳＯ２６２６２  Ｄ２．４．４によって提案されているこの逆変換操作により、診断の適用範囲が拡張される。
【００３１】
ロックステッププロセッサ２２４Ｌは、読み出しデータのプライマリコピーＸＹ＿Ａとともにプライマリメモリ読み出しアドレスＸＰＴＯ＿Ａをプライマリメモリコントローラ２３０Ａから受け取るように、また読み出しデータの冗長コピーＸＹ＿Ｂとともに冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂを冗長メモリコントローラ２３０Ｂから受け取るように構成可能である。択一的には、ロックステッププロセッサ２２４Ｌは、読み出しデータのプライマリコピーＸＹ＿Ａとともにプライマリメモリ読み出しアドレスＸＰＴＯ＿Ａを、また読み出しデータの冗長コピーＸＹ＿Ｂとともに冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂを、単一のメモリコントローラ２３０から順次に受け取るように構成可能である。
【００３２】
読み出しアドレスに対応する読み出しデータＸＹは、ＡＳＩＬ−Ｄのような高インテグリティレベルを有する。読み出しデータのそれぞれのプライマリコピーＸＹ＿Ａおよび冗長コピーＸＹ＿Ｂは、ＡＳＩＬ＿Ｂのようなより低いインテグリティレベルを有しているが、ロックステップでは合わせてインテグリティレベルＡＳＩＬ−Ｄを有する。
【００３３】
ロックステッププロセッサ２２４Ｌは、さらに、読み出しデータのプライマリコピーＸＹ＿Ａとともに受け取ったプライマリ誤り検出訂正（ＥＤＣ：Error Detection Correction）チェックビットと、格納されたＥＤＣチェックビットと、を比較することにより、読み出しデータのプライマリコピーＸＹ＿Ａにおける任意のエラーを検出するように構成可能である。受け取ったプライマリＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、が異なる場合、ロックステッププロセッサ２２４Ｌは、読み出しデータの受け取ったプライマリコピーＸＹ＿Ａにおけるエラーを訂正するように構成されている。同様に、ロックステッププロセッサ２２４Ｌは、読み出しデータの冗長コピーＸＹ＿Ｂとともに受け取った冗長ＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、を比較することにより、読み出しデータの冗長コピーＸＹ＿Ｂにおける任意のエラーを検出するように構成可能である。受け取った冗長ＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、が異なる場合、ロックステッププロセッサ２２４Ｌは、読み出しデータの受け取った冗長コピーＸＹ＿Ｂにおけるエラーを訂正するように構成可能である。読み出しデータの受け取ったプライマリコピーＸＹ＿Ａおよび冗長コピーＸＹ＿Ｂと比較される、格納されたＥＤＣチェックビットは、同じＥＤＣチェックビットでよいか、または択一的には異なるＥＤＣチェックビットであってよい。
【００３４】
ロックステッププロセッサ２２０Ｌは、さらに、読み出しデータのプライマリコピーＸＹ＿Ａまたは冗長コピーＸＹ＿Ｂが、あらかじめ定めた期間内に受け取られないか否かを特定するように構成可能である。読み出しデータのプライマリコピーＸＹ＿Ａまたは冗長コピーＸＹ＿Ｂが、あらかじめ定めた期間内に受け取られない場合、ロックステッププロセッサ２２０Ｌは、エラー信号を生成可能である。
【００３５】
非ロックステッププロセッサ２２４ＮＬは、デコードされた読み出しアドレスＸＰＴＯがメモリ２４０の非ロックステップ領域に対応する場合、図３に関してさらに以下で説明するように、メモリ２４０のデコードされた読み出しアドレスから、読み出しデータの単一のコピーを読み出すように構成可能である。ここでも非ロックステッププロセッサ２２４ＮＬにより、ＡＳＩＬ−Ｂのようなより低いインテグリティレベルが提供されるが、より高いパフォーマンスも提供される。
【００３６】
図３には、本開示の複数の様相によるフルパフォーマンスモードシステム３００の概略図が示されている。
【００３７】
図１Ａおよび図１Ｂのコンポーネントと類似の参照符号を有する、図３Ａおよび図３Ｂのコンポーネントは、実質的に同じであり、簡略のため、それらの説明をここでは繰り返さない。より具体的にいうと、計算ユニット３１０、メモリディスパッチャ３２０、メモリコントローラ３３０および外部メモリ３４０は、計算ユニット１１０、メモリディスパッチャ１２０、メモリコントローラ１３０および外部メモリ１４０にそれぞれ対応する。
【００３８】
フルパフォーマンスモードは、デコードされた論理アドレスが、メモリ３４０の非ロックステップ領域に対応し、したがってより高いインテグリティレベルＡＳＩＬ−Ｄが必要でなく、ＡＳＩＬ−Ｂのようなより低いインテグリティレベルで十分な場合に発生する。このモードの間、メモリディスパッチャ３２０は、冗長アドレスまたは冗長データを生成しない。その代わりにそれぞれのデータパスは、慣用のシステムのように、他のアドレスおよび対応するデータとは独立している。データＸＹについての第１のアドレスＸＰＴＯは、メモリ３４０Ａだけにマッピングされる。データＺＺについての第２のアドレス３ＣＰＯは、メモリ３４０Ｂだけにマッピングされる。このフルパフォーマンスモードにより、結果的に慣用のＭＣＵと同じ効率を有するＭＣＵが得られる。
【００３９】
より具体的にいうと、アドレスデコーダ３２２は、２つの論理アドレスＸＰＴＯ、３ＣＰＯと、対応する２つのデータの集合ＸＹ、ＺＺとを受け取る。このデータＸＹおよびＺＺは、図１Ａ、図１Ｂ、図２Ａおよび図２Ｂに関して上述した、受け取ったデータＸＹと異なり、インテグリティレベルＡＳＩＬ−Ｂを有する。アドレスデコーダ３２２は、論理アドレスＸＰＴＯ、３ＣＰＯをデコードするように構成されている。
【００４０】
デコードされた論理アドレスが、メモリ４４０の非ロックステップ領域に対応する場合、非ロックステッププロセッサ３２４ＮＬは、デコードされた論理アドレスＸＰＴＯと、対応するデータＸＹとを処理するように構成されている。続いて、非ロックステッププロセッサ３２４ＮＬは、デコードされた論理アドレス３ＣＰＯと、対応するデータＺＺとを処理するように構成されている。
【００４１】
メモリコントローラ３３０Ａは、論理アドレスＸＰＴＯから、メモリ３４０の物理アドレスＸＰＴＯを生成し、データＸＹをメモリ３４０Ａに書き込むメモリ書き込みサイクルを開始するように構成されている。同様に、メモリ３３０Ｂは、論理アドレス３ＣＰＯから、メモリ３４０の物理アドレス３ＣＰＯを生成し、データＺＺをメモリ３４０Ｂに書き込むメモリ書き込みサイクルを開始するように構成されている。データＸＹ、ＺＺを読み出すために類似のプロセスが行われる。
【００４２】
図４には、本開示の複数の様相によるメモリディスパッチ方法のフローチャート４００が示されている。
【００４３】
ステップ４１０は、アドレスデコーダ１２２／２２２による、受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスのデコーディングである。
【００４４】
ステップ４２０は、ロックステッププロセッサ１２４Ｌ／２２４Ｌによる、かつデコードされた書き込み／読み出しアドレスＸＰＴＯに基づく以下の生成である。すなわち、デコードされた書き込みアドレスＸＰＴＯが、メモリのロックステップ領域に対応する場合、プライマリメモリ書き込みアドレスＸＰＴＯ＿Ａおよび冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂ、ならびに対応する書き込みデータのプライマリコピーＸＹ＿Ａおよび冗長コピーＸＹ＿Ｂの生成（サブステップ４２２）、またはデコードされた読み出しアドレスＸＰＴＯが、メモリのロックステップ領域に対応する場合、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａおよび冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂの生成（サブステップ４２４）、である。
【００４５】
ステップ４３０は、ロックステッププロセッサ１２４Ｌ／２２４Ｌに接続されているコンパレータ１２６／２２６による比較、すなわち、書き込みデータのプライマリコピーＸＹ＿Ａと冗長コピーＸＹ＿Ｂとの比較、およびプライマリメモリ書き込みアドレスＸＰＴＯ＿Ａと冗長メモリ書き込みアドレスＸＰＴＯ＿Ｂとの比較（サブステップ４３２）、または、読み出しデータのプライマリコピーＸＹ＿Ａと冗長コピーＸＹ＿Ｂとの比較、および、プライマリメモリ読み出しアドレスＸＰＴＯ＿Ａと冗長メモリ読み出しアドレスＸＰＴＯ＿Ｂとの比較（サブステップ４３４）である。
【００４６】
ＡＳＩＬ−Ｄインテグリティレベルにおいてデータを格納するために外部メモリが使用される場合、本開示のメモリディスパッチャにより、データの複製によって広い診断範囲が得られる。またこのメモリディスパッチャにより、結果的に全体的に計算性能が向上する。というのは、ＡＳＩＬ−Ｄ計算ユニットの負荷をメモリディスパッチャに負わせることができるからである。自動的な比較は、プライマリデータが利用可能になると直ちに、計算ユニットに、この計算ユニットが要求したデータが供給されることにより、時間を節約し、またその場合には、コンパレータがエラー信号を出力するまで、またエラー信号を出力しない限り、計算ユニットは、後続のタスクに使用可能である。
【００４７】
本開示の技術は、以下の複数の例においても説明可能である。
【００４８】
例１  受け取った書き込みデータの書き込みアドレスをデコードするように構成されているアドレスデコーダと、デコードされた書き込みアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた書き込みアドレスに基づいて、プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレス、ならびに書き込みデータの対応するプライマリコピーおよび冗長コピーを生成するように構成されているロックステッププロセッサと、ロックステッププロセッサに接続されておりかつ書き込みデータのプライマリコピーと冗長コピーとを比較し、かつ、プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとを比較するように構成されているコンパレータと、を有するメモリディスパッチャ。
【００４９】
例２  ロックステッププロセッサが、プライマリメモリ書き込みアドレスおよび書き込みデータのプライマリコピーを生成するように構成されているプライマリデータパスプロセッサと、ロックステップにおいてプライマリデータパスプロセッサとともに、冗長メモリ書き込みアドレスおよび書き込みデータの冗長コピーを生成するように構成されている冗長データパスプロセッサと、を有する、例１のメモリディスパッチャ。
【００５０】
例３  書き込みデータのプライマリコピーに、またはプライマリメモリ書き込みアドレスに逆変換操作を行うようにプライマリデータパスプロセッサが構成されており、または書き込みデータの冗長コピーに、または冗長メモリ書き込みアドレスに逆変換操作を行うように冗長データパスプロセッサが構成されている、例１および２の任意の組み合わせのメモリディスパッチャ。
【００５１】
例４  書き込みデータのプライマリコピーとともにプライマリメモリ書き込みアドレスを、また書き込みデータの冗長コピーとともに冗長メモリ書き込みアドレスを単一のメモリコントローラに順次に出力するようにロックステッププロセッサが構成されている、例１から３までの任意の組み合わせのメモリディスパッチャ。
【００５２】
例５  書き込みデータのプライマリコピーとともにプライマリメモリ書き込みアドレスをプライマリメモリコントローラに出力し、書き込みデータの冗長コピーとともに冗長メモリ書き込みアドレスを冗長メモリコントローラに出力するようにロックステッププロセッサが構成されている、例１から４までの任意の組み合わせのメモリディスパッチャ。
【００５３】
例６  プライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスは、別のメモリに位置している、例１から５までの任意の組み合わせのメモリディスパッチャ。
【００５４】
例７  プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとが異なる場合に、または、書き込みデータのプライマリコピーと冗長コピーとが異なる場合に、エラー信号を生成するようにコンパレータが構成されている、例１から６までの任意の組み合わせのメモリディスパッチャ。
【００５５】
例８  受け取った書き込みデータが、第１インテグリティレベルを有し、書き込みデータのプライマリコピーおよび冗長コピーが、第２インテグリティレベルを有し、第１インテグリティレベルが、第２インテグリティレベルよりも高い、例１から７までの任意の組み合わせのメモリディスパッチャ。
【００５６】
例９  デコードされた書き込みアドレスが、メモリの非ロックステップ領域に対応する場合、受け取った書き込みデータの単一のコピーを、メモリのデコードされた書き込みアドレスに書き込むように構成されている非ロックステッププロセッサをさらに有する、例１から８までの任意の組み合わせのメモリディスパッチャ。
【００５７】
例１０  書き込みデータのプライマリコピーとともに転送されるプライマリ誤り検出訂正（ＥＤＣ：Error Detection Correction）チェックビットと、書き込みデータの冗長コピーとともに転送される冗長ＥＤＣチェックビットとを生成するようにロックステッププロセッサがさらに構成されている、例１から９までの任意の組み合わせのメモリディスパッチャ。
【００５８】
例１１  読み出しアドレスをデコードするように構成されているアドレスデコーダと、デコードされた読み出しアドレスが、メモリのロックステップ領域に対応する場合に、デコードされた読み出しアドレスに基づいて、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成するように構成されているロックステッププロセッサと、ロックステッププロセッサに接続されており、かつ、読み出しデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとを比較するように構成されているコンパレータと、を有する、メモリディスパッチャ。
【００５９】
例１２  ロックステッププロセッサが、プライマリメモリ読み出しアドレスを生成するように構成されているプライマリデータパスプロセッサと、ロックステップにおいてプライマリデータパスプロセッサとともに、冗長メモリ読み出しアドレスを生成するように構成されている冗長データパスプロセッサと、を有する、例１１のメモリディスパッチャ。
【００６０】
例１３  読み出しデータのプライマリコピーがどのように書き込みまれたかに依存して、プライマリメモリ読み出しアドレスからの読み出しデータのプライマリコピーに逆変換操作を実行し、またはプライマリメモリ読み出しアドレスがどのように生成されたかに依存して、プライマリメモリ読み出しアドレスに逆変換操作を実行するようにプライマリデータパスプロセッサが構成されており、または読み出しデータの冗長コピーがどのように書き込まれたかに依存して、冗長メモリ読み出しアドレスからの読み出しデータの冗長コピーに逆変換操作を実行し、または冗長メモリ読み出しアドレスがどのように生成されたかに依存して、冗長メモリ読み出しアドレスに逆変換操作を実行するように冗長データパスプロセッサが構成されている、例１１および１２の任意の組み合わせのメモリディスパッチャ。
【００６１】
例１４  読み出しデータのプライマリコピーとともにプライマリメモリ読み出しアドレスを、また読み出しデータの冗長コピーとともに冗長メモリ読み出しアドレスを、単一のメモリコントローラから順次に受け取るようにロックステッププロセッサが構成されている、例１１から１３までの任意の組み合わせのメモリディスパッチャ。
【００６２】
例１５  読み出しデータのプライマリコピーとともにプライマリメモリ読み出しアドレスをプライマリメモリコントローラから受け取り、読み出しデータの冗長コピーとともに冗長メモリ読み出しアドレスを冗長メモリコントローラから受け取るようにロックステッププロセッサが構成されている、例１から１４までの任意の組み合わせのメモリディスパッチャ。
【００６３】
例１６  プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスは、別のメモリに位置している、例１１から１５までの任意の組み合わせのメモリディスパッチャ。
【００６４】
例１７  読み出しデータのプライマリコピーと冗長コピーとが異なる場合、またはプライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとが異なる場合、コンパレータが、エラー信号を生成するように構成されている、例１１から１６までの任意の組み合わせのメモリディスパッチャ。
【００６５】
例１８  読み出しアドレスに対応する読み出しデータが、第１インテグリティレベルを有し、読み出しデータのプライマリコピーおよび冗長コピーが、第２インテグリティレベルを有し、第１インテグリティレベルが、第２インテグリティレベルよりも高い、例１１から１７までの任意の組み合わせのメモリディスパッチャ。
【００６６】
例１９  デコードされた読み出しアドレスが、メモリの非ロックステップ領域に対応する場合、メモリのデコードされた読み出しアドレスから、読み出しデータの単一のコピーを読み出すように構成されている非ロックステッププロセッサをさらに有する、例１１から１８までの任意の組み合わせのメモリディスパッチャ。
【００６７】
例２０  読み出しデータのプライマリコピーとともに受け取ったプライマリ誤り検出訂正（ＥＤＣ：Error Detection Correction）チェックビットと、格納されたＥＤＣチェックビットと、を比較することにより、読み出しデータのプライマリコピーにおける任意のエラーを検出し、受け取ったプライマリＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、が異なる場合、読み出しデータの受け取ったプライマリコピーにおけるエラーを訂正し、または読み出しデータの冗長コピーとともに受け取った冗長ＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、を比較することにより、読み出しデータの冗長コピーにおける任意のエラーを検出し、受け取った冗長ＥＤＣチェックビットと、格納されたＥＤＣチェックビットと、が異なる場合、読み出しデータの受け取った冗長コピーにおけるエラーを訂正するようにロックステッププロセッサがさらに構成されている、例１１から１９までの任意の組み合わせのメモリディスパッチャ。
【００６８】
例２１  受け取った書き込みデータの書き込みアドレスまたは読み出しアドレスを、アドレスデコーダによってデコードし、ロックステッププロセッサにより、デコードされた書き込みアドレスまたはデコードされた読み出しアドレスに基づいて、デコードされた書き込みアドレスが、メモリのロックステップ領域に対応する場合、書き込みデータのプライマリメモリ書き込みアドレスおよび冗長メモリ書き込みアドレスならびに対応するプライマリコピーおよび冗長コピーを生成し、またはデコードされた読み出しアドレスが、メモリのロックステップ領域に対応する場合、プライマリメモリ読み出しアドレスおよび冗長メモリ読み出しアドレスを生成し、ロックステッププロセッサに接続されたコンパレータによって、書き込みデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ書き込みアドレスと冗長メモリ書き込みアドレスとを比較するか、または読み出しデータのプライマリコピーと冗長コピーとを比較し、プライマリメモリ読み出しアドレスと冗長メモリ読み出しアドレスとを比較する、メモリディスパッチ方法。
【００６９】
例２２  さらに、ロックステッププロセッサにより、読み出しデータのプライマリコピーまたは冗長コピーが、あらかじめ定めた期間内に受け取られないか否かを特定し、あらかじめ定めた期間内に読み出しデータのプライマリコピーまたは冗長コピーが受け取られない場合にエラー信号を生成する、例２１の方法。
【００７０】
例２３  さらに、コンパレータにより、受け取ったプライマリ読み出しデータと、対応して受け取った冗長読み出しデータと、を同期する、例２１および２２の任意の組み合わせの方法。
【００７１】
上述のことは、例示的な実施形態に関連して説明されていたが、「例示的」という語は、最善または最適なものではなくむしろ単に例として理解すべきである。したがって本開示は、択一的な形態、変化形態および同等の形態を包含することを意図しており、これらは、本開示の範囲内に含まれ得るものである。
【００７２】
ここでは特定の実施形態を例証して説明したが、当業者は、本開示の範囲を逸脱することなく、さまざまな択一的かつ／または同等な実施が、ここに示して説明した特定の実施形態の代用になり得ることを理解されたい。本開示は、ここで説明した特定の実施形態の任意の適合形態または変化形態を包含することを意図している。
【図１Ａ】
2020166862.tif 000003
【図１Ｂ】
2020166862.tif 000004
【図２Ａ】
2020166862.tif 000005
【図２Ｂ】
2020166862.tif 000006
【図３】
2020166862.tif 000007
【図４】
2020166862.tif 000008
【外国語明細書】
2020166862.tif 000009
2020166862.tif 000010
2020166862.tif 000011
2020166862.tif 000012
2020166862.tif 000013
2020166862.tif 000014
2020166862.tif 000015
2020166862.tif 000016
2020166862.tif 000017
2020166862.tif 000018
2020166862.tif 000019
2020166862.tif 000020
2020166862.tif 000021
2020166862.tif 000022
2020166862.tif 000023
2020166862.tif 000024
2020166862.tif 000025
2020166862.tif 000026
2020166862.tif 000027
2020166862.tif 000028
2020166862.tif 000029
2020166862.tif 000030
2020166862.tif 000031
2020166862.tif 000032
2020166862.tif 000033
2020166862.tif 000034
2020166862.tif 000035
2020166862.tif 000036
2020166862.tif 000037