(57)【要約】  エラー検出および訂正復号装置は、データ入力がシングルビットエラーを含むか、または複数ビットエラーを含むかに応じて、シングルビットエラーの場合は電力消費量およびレイテンシを低減するために、複数ビットエラーの場合は強力なエラー訂正を提供するために、シングルエラー訂正-ダブルエラー検出(SEC-DED)またはダブルエラー訂正-トリプルエラー検出(DEC-TED)を実行する。
2018533254.tif 000002
【特許請求の範囲】
【請求項１】
入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、
前記入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、
訂正された出力データを生成するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダに結合されるエラー訂正器と
を備える、エラー検出および訂正装置。
【請求項２】
前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を生成するように構成されるシンドローム生成器と、
前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するように構成されるコントローラと
をさらに備え、
前記シングルエラー位置特定デコーダが、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を生成するように構成され、
前記ダブルエラー位置特定デコーダが、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項1に記載の装置。
【請求項３】
前記シンドローム生成器がパリティチェック行列デコーダを備える、請求項2に記載の装置。
【請求項４】
前記パリティチェック行列デコーダが、XORツリーベースのパリティチェック行列デコーダを備える、請求項3に記載の装置。
【請求項５】
前記シンドローム生成器から前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取るように構成されるダブルエラー検出器をさらに備える、請求項2に記載の装置。
【請求項６】
前記ダブルエラー検出器が、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力のうちの2つまたはそれ以上に基づいてダブルエラー検出出力を生成するように構成される、請求項5に記載の装置。
【請求項７】
前記ダブルエラー検出器から前記ダブルエラー検出出力をかつ前記シンドローム生成器から前記第1のベクトル信号出力を受け取り、かつ前記ダブルエラー検出出力および前記第1のベクトル信号出力に基づいてエラーフラグを生成するように構成されるフラグ生成器をさらに備える、請求項6に記載の装置。
【請求項８】
前記シングルエラー位置特定デコーダ出力に結合される第1の入力と、
前記ダブルエラー位置特定デコーダ出力に結合される第2の入力と
を備える、マルチプレクサをさらに備える、請求項6に記載の装置。
【請求項９】
前記マルチプレクサが、
前記ダブルエラー検出出力を受け取るように構成される制御入力と、
前記制御入力に基づいて、前記シングルエラー位置特定デコーダ出力または前記ダブルエラー位置特定デコーダ出力のいずれかを出力するように構成される出力と
をさらに備える、請求項8に記載の装置。
【請求項１０】
前記入力データを受け取るように構成される入力と、
前記マルチプレクサの前記出力に結合されるエラー位置特定デコーダ入力と、
前記入力データおよび前記エラー位置特定デコーダ入力に基づいて前記訂正された出力データを出力するように構成される出力と
を備える、エラー訂正器をさらに備える、請求項9に記載の装置。
【請求項１１】
制御入力および制御出力を有するタイミングコントローラと、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項2に記載の装置。
【請求項１２】
前記タイミングコントローラが遅延ユニットを備える、請求項11に記載の装置。
【請求項１３】
前記遅延ユニットが1つまたは複数の論理ゲートを備える、請求項12に記載の装置。
【請求項１４】
前記遅延ユニットが1つまたは複数のバッファをさらに備える、請求項13に記載の装置。
【請求項１５】
前記第1のフリップフロップが第1の正のエッジトリガのフリップフロップを備え、前記第2のフリップフロップが第2の正のエッジトリガのフリップフロップを備える、請求項10に記載の装置。
【請求項１６】
入力データにおけるシングルエラーを位置特定するためにシングルエラー位置特定復号を行うための手段と、
前記入力データにおけるダブルエラーを位置特定するためにダブルエラー位置特定復号を行うための手段と、
前記シングルエラーおよび前記ダブルエラーに基づいて、訂正された出力データを生成するためにエラーを訂正するための手段と
を備える、エラー検出および訂正装置。
【請求項１７】
シンドロームを生成するための手段であって、前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を出力するように構成される、手段と、
シングルエラー訂正出力およびダブルエラー訂正出力を生成するための手段であって、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するように構成される、手段と
をさらに備え、
前記シングルエラー位置特定復号を行うための手段が、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を出力するように構成され、
前記ダブルエラー位置特定復号を行うための手段が、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項16に記載の装置。
【請求項１８】
前記シンドロームを生成するための手段がパリティチェック行列デコーダを備える、請求項17に記載の装置。
【請求項１９】
ダブルエラー検出出力を生成するために前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてダブルエラーを検出するための手段をさらに備える、請求項17に記載の装置。
【請求項２０】
前記ダブルエラー検出出力および前記第1のベクトル信号出力に基づいてエラーフラグを生成するための手段をさらに備える、請求項19に記載の装置。
【請求項２１】
前記シングルエラー位置特定デコーダ出力に結合される第1の入力と、
前記ダブルエラー位置特定デコーダ出力に結合される第2の入力と、
前記ダブルエラー検出出力を受け取るように構成される制御入力と、
前記制御入力に基づいて、前記シングルエラー位置特定デコーダ出力または前記ダブルエラー位置特定デコーダ出力のいずれかを出力するように構成される出力と
を備える、多重化するための手段をさらに備える、請求項20に記載の装置。
【請求項２２】
前記入力データを受け取るように構成されるデータ入力と、
前記多重化するための手段の前記出力に結合されるエラー位置特定デコーダ入力と、
前記データ入力および前記エラー位置特定デコーダ入力に基づいて訂正されたデータを出力するように構成される出力と
を備える、エラーを訂正するための手段をさらに備える、請求項21に記載の装置。
【請求項２３】
タイミングを制御するため手段であって、制御入力および制御出力を有する、手段と、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングを制御するための手段の前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングを制御するための手段の前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項17に記載の装置。
【請求項２４】
前記第1の配信されたシンドローム出力が前記シングルエラー位置特定復号を行うための手段に配信され、前記第2の配信されたシンドローム出力が前記ダブルエラー位置特定復号を行うための手段に配信される、請求項23に記載の装置。
【請求項２５】
入力データにおけるシングルエラーを位置特定するように構成される論理と、
前記入力データにおけるダブルエラーを位置特定するように構成される論理と、
前記シングルエラーおよび前記ダブルエラーに基づいて、訂正された出力データを生成するように構成される論理と
を備える、エラー検出および訂正装置。
【請求項２６】
前記入力データを受け取り、前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を出力するように構成される、シンドロームを生成するように構成される論理と、
前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するように構成される論理と
をさらに備え、
シングルエラーを位置特定するように構成される前記論理が、前記シングルエラー訂正出力を受け取り、シングルエラー位置特定デコーダ出力を出力するように構成され、
ダブルエラーを位置特定するように構成される前記論理が、前記ダブルエラー訂正出力を受け取り、ダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項25に記載の装置。
【請求項２７】
タイミングを制御するように構成される論理と、
前記シングルエラー訂正出力を受け取るように結合される入力と、タイミングを制御するように構成される前記論理に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、タイミングを制御するように構成される前記論理に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項26に記載の装置。
【請求項２８】
メモリセルと、
前記メモリセルから入力データを受け取り、訂正された出力データを前記メモリセルに伝送するように結合されるエラー検出および訂正装置であって、
入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、
前記入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、
訂正された出力データを生成するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダに結合されるエラー訂正器と
を備える、エラー検出および訂正装置と
を備える、メモリ。
【請求項２９】
前記エラー検出および訂正装置が、
前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を生成するように構成されるシンドローム生成器と、
前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するように構成されるコントローラと
をさらに備え、
前記シングルエラー位置特定デコーダが、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を生成するように構成され、
前記ダブルエラー位置特定デコーダが、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項28に記載のメモリ。
【請求項３０】
前記エラー検出および訂正装置が、
制御入力および制御出力を有するタイミングコントローラと、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項29に記載のメモリ。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で説明する様々な実施形態は、エラー訂正に関し、より詳細には、シングルビットおよび複数ビットのエラー訂正に関する。
【背景技術】
【０００２】
メモリなどのデジタル装置およびデジタルデバイスにおけるエラー検出および訂正のための様々な方式が考案されてきた。メモリデバイスにおけるエラー訂正の分野では、エラー検出とエラー訂正は、別々に実行される場合がある。たとえば、ダブルビットエラーが検出された場合、シングルビットエラーの訂正を可能にする、シングルエラー訂正-ダブルエラー検出(SEC-DED:single error correcting-double error detecting)などの方式が考案されてきた。しかしながら、複数ビットエラーの場合、従来のSEC-DED方式は、これらのエラーを緩和できるほど十分に強力でないことがある。
【０００３】
複数ビットエラーの問題に対処するために、より強力なエラー検出および訂正方式が考案されてきた。たとえば、従来のSEC-DED方式よりも強力なエラー訂正機能を提供する、ダブルエラー訂正-トリプルエラー検出(DEC-TED:double error correcting-triple error detecting)などの方式が考案されてきた。しかしながら、DEC-TEDに通常必要な回路の面積は、SEC-DEDに必要な面積よりもはるかに大きい。さらに、従来のDEC-TED回路は、通常、従来のSEC-DED回路よりも多くの電力を消費し、従来のSEC-DED回路よりも長いレイテンシまたは時間遅延をもたらす。たとえば、シングルエラーを訂正するためにDEC-TED回路が利用されるとき、電力消費量および時間遅延は、SEC-DED回路よりもはるかに大きい。
【０００４】
さらに、シングルビットまたは複数ビットのエラー訂正用のエラー訂正コードを実装する純粋な組合せ回路は、エラー位置特定復号(error location decoding)における無効な遷移のために入力が変化するとき、通常、大量の動的電力を消費する場合がある。エラー検出および訂正、特に低電力メモリチップなどの低電力集積回路デバイスにおける複数ビットエラー検出および訂正に必要な電力消費量を低減することが望ましい。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示の例示的な実施形態は、電力消費量が低減されたメモリにおけるダブルエラー訂正の装置および方法を対象とする。
【課題を解決するための手段】
【０００６】
一実施形態では、エラー検出および訂正装置が提供され、本エラー検出および訂正装置は、入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、訂正された出力データを生成するためにシングルエラー位置特定デコーダおよびダブルエラー位置特定デコーダに結合されるエラー訂正器とを備える。
【０００７】
別の実施形態では、エラー検出および訂正装置が提供され、本エラー検出および訂正装置は、入力データにおけるシングルエラーを位置特定するためにシングルエラー位置特定復号を行うための手段と、入力データにおけるダブルエラーを位置特定するためにダブルエラー位置特定復号を行うための手段と、シングルエラーおよびダブルエラーに基づいて、訂正された出力データを生成するためにエラーを訂正するための手段とを備える。
【０００８】
別の実施形態では、エラー検出および訂正装置が提供され、本エラー検出および訂正装置は、入力データにおけるシングルエラーを位置特定するように構成される論理と、入力データにおけるダブルエラーを位置特定するように構成される論理と、シングルエラーおよびダブルエラーに基づいて、訂正された出力データを生成するように構成される論理とを備える。
【０００９】
また別の実施形態では、メモリが提供され、本メモリは、メモリセルと、メモリセルから入力データを受け取り、訂正された出力データをメモリセルに伝送するために結合されるエラー検出および訂正装置とを備え、本エラー検出および訂正装置は、入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、訂正された出力データを生成するためにシングルエラー位置特定デコーダおよびダブルエラー位置特定デコーダに結合されるエラー訂正器とを備える。
【００１０】
添付の図面は、本開示の実施形態の説明を助けるために提示され、実施形態の限定ではなく、実施形態の例示のためのみに提供される。
【図面の簡単な説明】
【００１１】
【図１】エラー検出および訂正装置の一実施形態を示すブロック図である。
【図２】フリップフロップおよびタイミングコントローラを有するエラー検出および訂正装置の別の実施形態を示すブロック図である。
【図３】図2のエラー訂正および復号装置の実施形態におけるタイミングコントローラとしての遅延線の一実施形態を示すブロック図である。
【図４】フリップフロップと、タイミングコントローラと、別個のシングルエラー訂正(SEC)およびダブルエラー訂正(DEC)エラー位置特定デコーダと、マルチプレクサと、フラグ生成器とを有するエラー検出および訂正装置のまた別の実施形態を示すブロック図である。
【図５】エラー検出機能および訂正機能を実行するように構成される論理を有するエラー検出および訂正装置の一実施形態を示すブロック図である。
【図６】エラー検出および訂正装置を実装する場合があるメモリデバイスの一実施形態を示すブロック図である。
【発明を実施するための形態】
【００１２】
本開示の態様は、特定の実施形態を対象とする以下の説明および関連する図面において説明される。本開示の範囲から逸脱することなく、代替実施形態を考案してもよい。さらに、本開示の関連する詳細を不明瞭にしないように、よく知られている要素については詳細に説明しないか、または省略する。
【００１３】
「例示的」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。「例示的」として本明細書で説明するいかなる実施形態も、他の実施形態よりも好ましい、または有利であると必ずしも解釈されるべきでない。同様に、「実施形態」という用語は、すべての実施形態が、後述の特徴、利点または動作モードを含むことを必要とするものではない。
【００１４】
本明細書で使用する用語は、特定の実施形態について説明するためのものにすぎず、様々な実施形態を限定するものではない。本明細書では、文脈がそうでないことを明確に示すのでない限り、単数形"a"、"an"、および"the"は複数形も含むものとする。本明細書で使用するとき、「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、または「含んでいる(including)」という用語は、述べられた特徴、整数、ステップ、動作、要素、および/または構成要素の存在を明示するが、1つまたは複数の他の特徴、整数、ステップ、動作、要素、構成要素、またはそれらのグループの存在または追加を排除するものではないことがさらに理解されよう。さらに、「または」という単語は、ブール演算子"OR"と同じ意味を有し、すなわち、"OR"は、「どちらか」および「両方」の可能性を含み、別段に明記されていない限り、「排他的論理和」("XOR")に限定されないことを理解されたい。2つの隣接する単語間のシンボル"/"は、別段に明記されていない限り、「または」と同じ意味を有することも理解されたい。さらに、「〜に接続される」、「〜に結合される」、または「〜と通信している」などの句は、別段に明記されていない限り、直接接続に限定されない。
【００１５】
さらに、多くの実施形態は、たとえば、コンピューティングデバイスの要素によって実行される動作のシーケンスの観点から説明される。本明細書において説明される様々な動作は、特定の回路、たとえば中央処理装置(CPU)、グラフィック処理ユニット(GPU)、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または様々な他のタイプの汎用もしくは専用のプロセッサもしくは回路によって実行されることがあり、1つまたは複数のプロセッサによって実行されるプログラム命令によって実行されることがあり、あるいは両方の組合せによって実行されることがあることが認識されよう。さらに、本明細書で説明するこれらの動作のシーケンスは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させる、対応するコンピュータ命令のセットがその中に格納された任意の形態のコンピュータ可読記憶媒体内に完全に具現化されるとみなすことができる。したがって、本開示の様々な態様は、すべてが特許請求される主題の範囲内のものであると考えられるいくつかの異なる形態において具現化されてもよい。加えて、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式は、本明細書では、たとえば、説明する動作を実行する「ように構成される論理」として説明される場合がある。
【００１６】
図1は、データ入力(databit_in)102と、エラーチェック入力(checkbit_in)104と、訂正されたデータ出力(databit_out)106とを有するエラー検出および訂正装置100の一実施形態を示すブロック図である。そのようなエラー訂正コードデコーダは、たとえば、スピン転送トルクマグネティックランダムアクセスメモリ(STT-MRAM)などのメモリデバイスにおいて、データエラーを訂正するための様々なデジタル装置またはデバイス内に実装される場合がある。本開示の実施形態によるエラー訂正コードデコーダが、当業者によって様々な他の装置またはデバイスにおいて使用される場合もあることが了解されよう。図1を参照すると、エラー検出および訂正装置100は、データ入力(databit_in)102およびエラーチェック入力(checkbit_in)104を受け取るように構成されるシンドローム生成器108を含む。一実施形態では、シンドローム生成器108は、データ入力(databit_in)102およびエラーチェック入力(checkbit_in)104に応答して、第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を生成することが可能である。
【００１７】
一実施形態では、シンドローム生成器108はパリティチェック行列デコーダを備え、エラーチェック入力(checkbit_in)104はパリティチェックビット入力を備える。そのようなシンドローム生成器108は、多くの既知のエラー訂正コード(ECC)のうちの1つを使用することによって構成されてもよい。一実施形態では、パリティチェック行列デコーダは、XORツリーベースのパリティチェック行列デコーダを備えてもよい。たとえば、シンドローム生成器108は、ダブルエラー訂正トリプルエラー検出(DEC-TED)Bose-Chaudhuri-Hocquenghem(BCH)コードなどのECCを実装することによって構成される場合があるが、αはガロア体GF(2n)における原始元である。
【００１８】
【数１】
2018533254.tif 000003
【００１９】
上記のパリティチェック行列によって生成されるシンドロームは、3つの部分に分割される場合がある。
【００２０】
S = v・HT = [v・l,v・H1T,v・H3T] = [S0,S1,S3]
【００２１】
代替実施形態では、エラー検出および訂正のために、他のタイプのシンドローム生成器が実装される場合もある。
【００２２】
図1に示す実施形態では、エラー検出および訂正装置100はまた、シンドローム生成器108から第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を受け取り、シンドローム生成器108からの3つのベクトル信号S0、S1、およびS3のうちの少なくとも2つに基づいてシングルエラー訂正出力(SEC_output)およびダブルエラー訂正出力(DEC_output)を生成するように構成されるコントローラ110を含む。
【００２３】
一実施形態では、コントローラ110は、シングルエラー訂正(SEC)エラー位置特定デコーダ118およびダブルエラー訂正(DEC)エラー位置特定デコーダ120にそれぞれ伝送される、シングルエラー訂正出力(SEC_output)およびダブルエラー訂正出力(DEC_output)を生成するように実装される。SECエラー位置特定デコーダ118およびDECエラー位置特定デコーダ120について以下でさらに詳細に説明する。一実施形態では、同時にアクティブに動作するSECエラー位置特定デコーダ118とDECエラー位置特定デコーダ120を有しないことによって、エラー検出および訂正装置100の遅延および動的な電力消費量を低減することが望ましい。たとえば、データ入力のエラーがシングルエラーである場合、DECエラー位置特定デコーダ120は、アクティブであるべきでない。同様に、エラーがダブルエラーである場合、SECエラー位置特定デコーダ118は、アクティブであるべきでない。
【００２４】
一実施形態では、上記の条件を満たすために、コントローラ110のシングルエラー訂正出力(SEC_output)およびダブルエラー訂正出力(DEC_output)が設定される。たとえば、データ入力がシングルエラーを有すると仮定されることを意味する、シンドローム生成器108からの第1のベクトル信号出力(S0)が1つである場合、コントローラ110のダブルエラー訂正出力(DEC_output)はゼロベクトルである。対照的に、データ入力がダブルエラーを有すると仮定されることを意味する、シンドローム生成器108からの第1のベクトル信号出力(S0)が0である場合、コントローラのシングルエラー訂正出力(SEC_output)はゼロベクトルである。
【００２５】
一実施形態では、コントローラ110の出力SEC_outputおよびDEC_outputは、シンドローム生成器108からの第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)に基づいて以下の式によって生成される場合がある。
【００２６】
SEC_output=S0*[S1,S3]
【００２７】
DEC_output=(~S0)*[S1,S3]
【００２８】
ここで、"~"は論理補数または"NOT"を示す。トリプルエラーの場合、S0は、シングルエラーの場合と同じ1である。
【００２９】
図1に示す実施形態では、エラー検出および訂正装置100は、シンドローム生成器108から第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を受け取るために結合される入力と、シンドローム生成器108から受け取った3つのベクトル信号S0、S1、およびS3に基づいてダブルエラー検出出力(AL_DED)114を生成する出力とを有する、ダブルエラー検出器112をさらに含む。
【００３０】
一実施形態では、ダブルエラー検出器112からのダブルエラー検出出力(AL_DED)114は、シンドローム生成器108からの第2のベクトル信号出力(S1)および第3のベクトル信号出力(S3)に基づいて以下の式によって生成される場合がある。
【００３１】
AL_DED = S13+S3
【００３２】
さらなる実施形態では、図1に示すように、エラー検出および訂正装置100内にフラグ生成器116が設けられる。一実施形態では、ゼロエラーからトリプルエラーまでのエラーの数を決定するために、フラグ生成器116が設けられる。一実施形態では、フラグ生成器116は、ゼロエラー、シングルエラー、ダブルエラー、またはトリプルエラーの2ビットインジケータとしてエラー検出および訂正装置100から出力されるエラーフラグ(error_flag)122と呼ばれる2ビット変数を生成する。
【００３３】
一実施形態では、エラーフラグ(error_flag)122は、ダブルエラー検出器112からのダブルエラー検出出力(AL_DED)114およびシンドローム生成器108からの第1のベクトル信号出力(S0)に基づいて決定される場合がある。
【表１】
2018533254.tif 000004
【００３４】
上記の表によれば、error_flagとS0との間の関係は、次のように表現することができる。
【００３５】
error_flagの最上位ビット(MSB) = AL_DED
【００３６】
error_flagの最下位ビット(LSB) = S0
【００３７】
上記で説明したように、SECエラー位置特定デコーダ118はシングルエラーを位置特定するために設けられ、DECエラー位置特定デコーダ120はダブルエラーを位置特定するために設けられる。一実施形態では、SECエラー位置特定デコーダ118は、コントローラ110からシングルエラー訂正出力(SEC_output)を受け取るように結合され、コントローラ110からのSEC_outputに基づいてシングルエラー位置特定デコーダ出力(e_sec)124を出力する。一実施形態では、DECエラー位置特定デコーダ120は、コントローラ110からダブルエラー訂正出力(DEC_output)を受け取るように結合され、コントローラ110からのDEC_outputに基づいてダブルエラー位置特定デコーダ出力(e_dec)126を出力する。
【００３８】
一実施形態では、マルチプレクサ出力130を生成するために、エラー検出および訂正装置100内にマルチプレクサ128が設けられる。図1に示す実施形態では、マルチプレクサ128は、シングルエラー位置特定デコーダ出力(e_sec)124に結合される第1の入力と、ダブルエラー位置特定デコーダ出力(e_dec)126に結合される第2の入力と、制御入力132に基づいてシングルエラー位置特定デコーダ出力(e_sec)またはダブルエラー位置特定デコーダ出力(e_dec)のいずれかを出力するためのマルチプレクサ出力130とを有する2:1マルチプレクサを備える。
【００３９】
図1に示す実施形態では、マルチプレクサ128用の制御入力132は、ダブルエラー検出器112からのダブルエラー検出出力(AL_DED)の論理補数を受け取る入力である。一実施形態では、(~AL_DED)である制御信号は、マルチプレクサ128の制御入力132において、次の関係に従ってマルチプレクサ128の出力130を決定する。
【表２】
2018533254.tif 000005
【００４０】
本実施形態では、データ入力におけるダブルエラーまでのビットエラーが訂正される場合がある。本実施形態では、トリプルエラーは訂正可能でない場合があるが、フラグ生成器116によって生成されるエラーフラグ122は、トリプルエラーの存在を示す場合がある。たとえば、上記のTable 1(表1)に関して説明する実施形態では、11個の2ビットエラーフラグが、トリプルエラーの存在を示す。
【００４１】
上記で説明した実施形態では、エラーの数と、シンドローム生成器108からの第1のベクトル信号出力(S0)と、SECエラー位置特定デコーダ118からの出力(e_sec)124と、DECエラー位置特定デコーダ120からの出力(e_dec)126と、AL_DEDの論理補数(~AL_DED)と、マルチプレクサ128の出力(e)130との関係が、次の表にまとめられる。
【表３】
2018533254.tif 000006
【００４２】
さらなる実施形態では、入力データ(databit_in)を受け取るように結合されるデータ入力と、マルチプレクサ128のエラーベクトル出力(e)130に結合されるエラーベクトル入力と、訂正されたデータを出力する出力106(databit_out)とを有する、エラー訂正器134が設けられる。
【００４３】
図2は、フリップフロップと、タイミングコントローラと、別個でないSECおよびDECエラー位置特定デコーダとをマルチプレクサとともに含む、エラー検出および訂正装置200の別の実施形態を示すブロック図である。図2では、エラー検出および訂正装置200は、データ入力(databit_in)202と、エラーチェック入力(checkbit_in)204と、制御入力206と、訂正されたデータ出力(databit_out)208と、シングルエラー検出出力(AL_SED)210と、トリプルエラー検出出力(AL_TED)212とを有する。図2に示す実施形態では、エラー検出および訂正装置200は、シンドローム生成器214を含む。一実施形態では、図2のシンドローム生成器214は、図1に示し上記で説明したように、シンドローム生成器108と同様である場合がある。たとえば、図2のシンドローム生成器214は、図1に示した実施形態に関して上記で説明したように、BCHコードを使用してXORツリーベースのパリティチェック行列デコーダなどのパリティチェック行列デコーダを備えてもよい。
【００４４】
図2に示す実施形態では、タイミングコントローラ216が設けられる。一実施形態では、タイミングコントローラ216は、図3を参照しながら以下でさらに詳細に説明する実施形態の遅延線を含む。図2を参照すると、タイミングコントローラ216は、制御入力206に結合され、制御出力218において制御入力206からの入来信号がタイミングコントローラ216を出る前に、所与の時間量だけ、その入来信号を遅延させる。一実施形態では、エラー検出および訂正装置200は、シンドローム生成器214の出力に結合されるデータ入力222と、タイミングコントローラ216の制御出力218に結合されるトグル入力224と、シンドローム生成器214から受け取ったシンドロームおよびタイミングコントローラ216の制御出力218に基づいて配信されたシンドローム出力226を出力する出力とを有するフリップフロップ220を含む。
【００４５】
一実施形態では、エラー位置特定デコーダ228が、エラー検出および訂正装置200内に設けられる。一実施形態では、エラー位置特定デコーダ228は、フリップフロップ220から配信されたシンドローム出力226を受け取るように結合される入力と、エラー位置特定デコーダ出力230と、シングルエラーデコーダ出力(SED)232と、ダブルエラーデコーダ出力(DED)234とを有する。図2に示す実施形態では、エラー訂正器236が、エラー検出および訂正装置200内に設けられる。一実施形態では、エラー訂正器236は、データ入力(databit_in)202に結合される第1の入力と、エラー位置特定デコーダ出力230に結合される第2の入力と、エラー検出および訂正装置200の訂正されたデータ出力(databit_out)208を生成する出力とを有する。
【００４６】
一実施形態では、エラー検出および訂正装置200はまた、シングルエラー検出出力(AL_SED)210と、トリプルエラー検出出力(AL_TED)212とを生成するエラー検出器238を含む。一実施形態では、エラー検出器238は、フリップフロップ220から配信されたシンドローム出力226を受け取るように結合される第1の入力と、シングルエラーデコーダ出力(SED)232を受け取るように結合される第2の入力と、エラー位置特定デコーダ228からのダブルエラーデコーダ出力(DED)234を受け取るように結合される第3の入力とを有する。
【００４７】
一実施形態では、エラー検出器238は、配信されたシンドローム出力226を受け取るように結合される入力と、シングルエラー検出出力(AL_SED)210を出力するように構成される出力とを有するORゲート240を含む。さらなる実施形態では、エラー検出器238はまた、ORゲート240の出力に結合される第1の入力と、シングルエラーデコーダ出力(SED)232の補数に結合される第2の入力と、ダブルエラーデコーダ出力(DED)234の補数に結合される第3の入力とを有するANDゲート242を含む。図2に示す実施形態では、ANDゲート242の出力は、トリプルエラー検出出力(AL_TED)212である。
【００４８】
図3は、図2のエラー検出および訂正装置の実施形態におけるフリップフロップ220のための制御信号を生成するための遅延線300を備えるタイミングコントローラ216の一実施形態を示すブロック図である。一実施形態では、制御入力206は、正の立上りエッジを有するクロック信号302を受け取り、クロック信号302の正の立上りエッジは、クロック信号302が遅延線300の出力218を出るとき、所与の時間量だけ遅延する。
【００４９】
一実施形態では、複数の論理ゲートまたはバッファが、クロック信号302の伝播を遅延させるために遅延線300内に設けられてもよい。図3に示す実施形態では、遅延線300は、ANDゲート304a、304b、304c、および304dなどの1つまたは複数のANDゲートと、NANDゲート306などの1つまたは複数のNANDゲートと、遅延線300の入力206から出力218までのクロック信号302の伝搬を遅延させるためのバッファ308a、308b、および308cなどの1つまたは複数のバッファとを含む。他のタイプの論理ゲート、バッファ、または遅延線は、本開示の範囲内で実装される場合もある。さらに、図3は、Dフリップフロップなどの正のエッジトリガのフリップフロップ220を示すが、他の実施形態では、他のタイプのフリップフロップが実装される場合がある。たとえば、正のエッジトリガの代わりに、負のエッジトリガなどの他のタイプのトリガが、実装される場合がある。
【００５０】
一実施形態では、図2に示すように、エラー位置特定デコーダ228における無効な遷移の確率を低減するために、図3の遅延線300およびフリップフロップ220が実装される。遅延線300によって提供される時間遅延の設定量があれば、クロック信号302は、シンドロームが確定された後に、フリップフロップ220に達し、シンドロームは、無効な遷移を避けるためにシンドロームが確定された後にのみ、配信されたシンドロームとしてフリップフロップ220によってエラー位置特定デコーダ228に配信される。一実施形態では、シンドローム生成器214によって生成されたシンドロームの最悪の遅延を模倣するために、遅延線300が設けられる。一実施形態では、データおよびエラーチェック(databit_in)および(checkbit_in)入力202および204から、シンドローム生成器214の出力までの回路のクリティカルパスを模倣することによって、遅延線300が作成される。このクリティカルパスの最悪の場合の時間遅延は、シンドロームを確定するのに必要な最大時間(TI-S)である。
【００５１】
一実施形態では、適切なフリップフロップ動作を確実にするために、遅延線300は、エラー検出および訂正装置200の総遅延がわずかに増加しても、遅延線300によって生成された総時間遅延がシンドロームを確定するのに必要な最大時間(TI-S)よりもわずかに大きくなるように設計される場合がある。たとえば、図3に示す実施形態では、シンドローム入力からシンドローム出力までのクリティカルパス上のシンドロームを確定するのに必要な最大時間(TI-S)を模倣するために、ANDゲート304a、304b、304c、および304d、ならびにNANDゲート306などのいくつかの論理ゲートが実装されてもよく、追加の時間遅延を生成するためにバッファ308a、308b、および308cなどのバッファが追加されてもよい。
【００５２】
図4は、フリップフロップを有するエラー検出および訂正装置と、タイミングコントローラと、別個のシングルエラー訂正(SEC)およびダブルエラー訂正(DEC)エラー位置特定デコーダと、マルチプレクサと、フラグ生成器とのまた別の実施形態を示すブロック図である。図4に示す実施形態では、エラー検出および訂正装置400は、データ入力(databit_in)402と、エラーチェック入力(checkbit_in)404と、訂正されたデータ出力(databit_out)406とを有する。本実施形態では、エラー検出および訂正装置400は、データ入力(databit_in)402およびエラーチェック入力(checkbit_in)404を受け取るように構成されるシンドローム生成器408を含む。
【００５３】
一実施形態では、シンドローム生成器408は、図1に示し上記で説明した実施形態におけるシンドローム生成器108と同様に、データ入力(databit_in)402およびエラーチェック入力(checkbit_in)404に応答して、第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を生成することが可能である。一実施形態では、シンドローム生成器408はパリティチェック行列デコーダを備え、エラーチェック入力(checkbit_in)404はパリティチェックビット入力を備える。一実施形態では、パリティチェック行列デコーダは、XORツリーベースのパリティチェック行列デコーダを備えてもよい。たとえば、シンドローム生成器408は、BCHコードなどの任意の既知のECCを実装することによって構成される場合がある。
【００５４】
図4に示す実施形態では、エラー検出および訂正装置400はまた、シンドローム生成器408から第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を受け取り、シンドローム生成器108からの3つのベクトル信号S0、S1、およびS3に基づいてシングルエラー訂正出力(SEC_output)およびダブルエラー訂正出力(DEC_output)を生成するように構成されるコントローラ410を含む。一実施形態では、SEC_outputおよびDEC_outputは、図1に関して上記で説明したものと同様に生成される場合がある。
【００５５】
図4に示す実施形態では、エラー検出および訂正装置400は、シンドローム生成器108から第1のベクトル信号出力(S0)、第2のベクトル信号出力(S1)、および第3のベクトル信号出力(S3)を受け取るために結合される入力と、シンドローム生成器408からの3つのベクトル信号S0、S1、およびS3のうちの少なくとも2つに基づいてダブルエラー検出出力(AL_DED)414を生成する出力とを有する、ダブルエラー検出器412をさらに含む。
【００５６】
一実施形態では、ダブルエラー検出器412からのダブルエラー検出出力(AL_DED)414は、シンドローム生成器108から受け取った第2のベクトル信号出力(S1)および第3のベクトル信号出力(S3)に基づいて図1に関して上記で説明したものと同じ式によって生成される場合がある。
【００５７】
AL_DED=S13+S3
【００５８】
一実施形態では、図1に関して上記で説明した実施形態と同様に図4に示す、エラー検出および訂正装置400内にフラグ生成器416が設けられる。図4を参照すると、フラグ生成器416は、ゼロエラー、シングルエラー、ダブルエラー、またはトリプルエラーの2ビットインジケータとしてエラー検出および訂正装置400から出力される2ビットエラーフラグ(error_flag)422を生成する。一実施形態では、図1に関して上記で説明したTable 1(表1)による、ゼロエラー、シングルエラー、ダブルエラー、またはトリプルエラーの存在を示すために、2ビットエラーフラグ(error_flag)422が生成される場合がある。
【００５９】
図4を参照すると、クロック信号を受信する制御入力426と、時間遅延クロック出力を生成する出力428とを有するタイミングコントローラ424が設けられる。一実施形態では、タイミングコントローラ424は、図3に示し上記で説明したように、遅延線300などの遅延線を備えてもよい。たとえば、そのような遅延線は、図3に示したように、ANDゲートまたはNANDゲートなどの1つもしくは複数の論理ゲート、または1つもしくは複数のバッファ、または論理ゲートとバッファの組合せを備えてもよい。図4を参照すると、タイミングコントローラ424の出力428から出力される時間遅延クロックが、2つのフリップフロップ430および432のためのトグル入力として提供される。
【００６０】
図4に示す実施形態では、コントローラ410からシングルエラー訂正出力(SEC_output)を受け取るためのデータ入力434と、タイミングコントローラ424から出力される時間遅延クロックを受け取るためのトグル入力436とを含む、第1のフリップフロップ430が提供される。一実施形態では、第1のフリップフロップ430は、正のエッジトリガを有するDフリップフロップを備える。同様に、コントローラ410からダブルエラー訂正出力(DEC_output)を受け取るためのデータ入力438と、タイミングコントローラ424から出力される時間遅延クロックを受け取るためのトグル入力440とを含む、第2のフリップフロップ432が提供される。さらなる実施形態では、第2のフリップフロップ432は、正のエッジトリガを有するDフリップフロップを備える場合もある。代替実施形態では、他のタイプのフリップフロップが実装されてもよく、フリップフロップのトリガは、クロック信号による正のエッジトリガである必要はない。
【００６１】
図4に示す実施形態では、第1のフリップフロップ430は、シングルエラー訂正(SEC)エラー位置特定デコーダ444に配信されたSEC_output442を出力するが、第2のフリップフロップ432は、ダブルエラー訂正(DEC)エラー位置特定デコーダ448に配信されたDEC_output446を出力する。SEC_outputおよびDEC_outputは、図1に関して上記で説明したものと同様にコントローラ410によって生成される場合がある。無効な遷移を避けるためにシンドロームが確定された後にのみ、SEC_outputおよびDEC_outputがそれぞれSECエラー位置特定デコーダ444およびDECエラー位置特定デコーダ448に配信されることを確実にするために、図4に示すように、本実施形態では、第1および第2のフリップフロップ430および432が設けられる。
【００６２】
一実施形態では、図1に関して上記で説明したものと同様に、図4のSECエラー位置特定デコーダ444およびDECエラー位置特定デコーダ448は、それぞれ、シングルエラー位置特定デコーダ出力(e_sec)450およびダブルエラー位置特定デコーダ出力(e_dec)452を生成する。図4を参照すると、マルチプレクサ454は、シングルエラー位置特定デコーダ出力(e_sec)450を受け取るように結合される第1の入力と、ダブルエラー位置特定デコーダ出力(e_dec)452を受け取るように結合される第2の入力と、制御入力456とを有する。一実施形態では、制御入力456は、図1に関して上記で説明したものと同様に、AL_DEDの論理補数を受け取るように結合される。一実施形態では、たとえば、Table 2(表2)およびTable 3(表3)に記載された関係に従って、図1に関して上記で説明したものと同様に、マルチプレクサ454の出力(e)458が選択される。
【００６３】
さらなる実施形態では、図4のエラー検出および訂正装置400内にエラー訂正器460が設けられる。一実施形態では、エラー訂正器は、入力データ(databit_in)を受け取るように結合されるデータ入力と、マルチプレクサ454のエラーベクトル出力(e)458に結合されるエラーベクトル入力と、訂正されたデータを出力する出力406(databit_out)とを有する。
【００６４】
図5は、エラー検出機能および訂正機能を実行するように構成される論理を有するエラー検出および訂正装置の一実施形態を示す簡略ブロック図である。図5に示す実施形態では、エラー検出および訂正装置500は、ブロック505においてシングルエラーを位置特定するように構成される論理と、ダブルエラーを位置特定するように構成される論理510と、訂正された出力データを生成するように構成される論理515とを含む。ブロック505、510、および515に示す、シングルエラーを位置特定するように構成される論理、ダブルエラーを位置特定するように構成される論理、および訂正された出力データを生成するように構成される論理の各々は、図1〜図4に関して上記で説明したエラー検出および訂正装置の様々な実施形態において1つまたは複数の要素を含む場合がある。
【００６５】
図6は、エラー検出および訂正装置を実装する場合があるメモリデバイスの一実施形態を示すブロック図である。図6に示す実施形態では、メモリ600は、メモリセル605およびエラー検出および訂正装置610を含む。エラー検出および訂正装置610は、メモリセル605と同じチップ上に統合されるか、または別個のチップ上に設けられる場合がある。図6に示すように、メモリセルからの生データは、矢印615に沿って、エラー検出および訂正のためのエラー検出および訂正装置610に伝送される場合があり、エラー検出および訂正装置610からの訂正されたデータは、矢印620に沿って、メモリセル605に再び伝送される場合がある。エラー検出および訂正装置610は、図1〜図4に関して上記で説明した様々な実施形態のうちのいずれかを含んでもよい。
【００６６】
当業者は、情報および信号が、様々な異なる技術および技法のうちのいずれかを使用して表現される場合があることを了解するであろう。たとえば、上の説明全体にわたって言及される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表現される場合がある。
【００６７】
さらに、本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装されてもよいことが、当業者には了解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、上記では、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、全般的にそれらの機能に関して説明した。そのような機能がハードウェアとして実装されるかそれともソフトウェアとして実装されるかは、特定の適用例および全体的な装置に課される設計制約によって決まる。当業者は、説明した機能を具体的な用途ごとに様々な方法で実施してもよいが、そのような実施の判断は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【００６８】
本明細書で開示する実施形態に関して説明した方法、シーケンス、またはアルゴリズムは、ハードウェア内で直接、プロセッサによって実行されるソフトウェアモジュール内で、または2つの組合せで具現化される場合がある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態の記憶媒体に存在する場合がある。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態では、記憶媒体はプロセッサと一体である場合がある。
【００６９】
したがって、本開示の実施形態は、エラー検出および訂正のための方法を具現化するコンピュータ可読媒体を含むことができる。したがって、本開示は図示の例に限定されず、本明細書で説明する機能を実行するためのいかなる手段も、本開示の実施形態に含まれる。
【００７０】
これまでの開示は例示的な実施形態を示しているが、添付の特許請求の範囲を逸脱することなく、本明細書において様々な変更および修正を行うことができることに留意されたい。本明細書で説明した実施形態による方法クレームの機能、ステップ、または動作は、別段に明記されていない限り、任意の特定の順序で実行される必要はない。さらに、要素は単数形で記載または請求されている場合があるが、単数形への限定が明示的に述べられていない限り、複数形が企図される。
【符号の説明】
【００７１】
100  エラー検出および訂正装置
102  データ入力
104  エラーチェック入力
106  訂正されたデータ出力
108  シンドローム生成器
110  コントローラ
112  ダブルエラー検出器
114  ダブルエラー検出出力
116  フラグ生成器
118  シングルエラー訂正(SEC)エラー位置特定デコーダ
120  ダブルエラー訂正(DEC)エラー位置特定デコーダ
122  エラーフラグ
124  シングルエラー位置特定デコーダ出力
126  ダブルエラー位置特定デコーダ出力
128  マルチプレクサ
130  マルチプレクサ出力
132  制御入力
134  エラー訂正器
200  エラー検出および訂正装置
202  データ入力
204  エラーチェック入力
206  制御入力
208  訂正されたデータ出力
210  シングルエラー検出出力
212  トリプルエラー検出出力
214  シンドローム生成器
216  タイミングコントローラ
218  制御出力
220  フリップフロップ
222  データ入力
224  トグル入力
226  シンドローム出力
228  エラー位置特定デコーダ
230  エラー位置特定デコーダ出力
232  シングルエラーデコーダ出力
234  ダブルエラーデコーダ出力
236  エラー訂正器
238  エラー検出器
240  ORゲート
242  ANDゲート
300  遅延線
302  クロック信号
304  ANDゲート
306  NANDゲート
308  バッファ
400  エラー検出および訂正装置
402  データ入力
404  エラーチェック入力
406  訂正されたデータ出力
408  シンドローム生成器
410  コントローラ
412  ダブルエラー検出器
414  ダブルエラー検出出力
416  フラグ生成器
422  2ビットエラーフラグ
424  タイミングコントローラ
426  制御入力
428  出力
430  第1のフリップフロップ
432  第2のフリップフロップ
434  データ入力
436  トグル入力
438  データ入力
440  トグル入力
442  SEC_output
444  SECエラー位置特定デコーダ
446  DEC_output
448  DECエラー位置特定デコーダ
450  シングルエラー位置特定デコーダ出力
452  ダブルエラー位置特定デコーダ出力
454  マルチプレクサ
456  制御入力
458  エラーベクトル出力
460  エラー訂正器
500  エラー検出および訂正装置
600  メモリ
605  メモリセル
610  エラー検出および訂正装置
【図１】
2018533254.tif 000007
【図２】
2018533254.tif 000008
【図３】
2018533254.tif 000009
【図４】
2018533254.tif 000010
【図５】
2018533254.tif 000011
【図６】
2018533254.tif 000012
【手続補正書】
【提出日】平成30年3月15日(2018.3.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、
前記入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、
特定のデータ入力がシングルエラーを有すると予測されるか、またはダブルエラーを有すると予測されるかを決定し、前記エラー予測に基づいて前記特定のデータ入力上のエラー位置特定を実行するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダのうちの1つだけを選択し、かつ前記選択されなかったエラー位置特定デコーダを非アクティブ化するように構成されるコントローラと、
訂正された出力データを生成するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダに結合されるエラー訂正器と
を備える、エラー検出および訂正装置。
【請求項２】
前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を生成するように構成されるシンドローム生成器
をさらに備え、
前記コントローラが、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するようにさらに構成され、
前記シングルエラー位置特定デコーダが、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を生成するように構成され、
前記ダブルエラー位置特定デコーダが、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項1に記載の装置。
【請求項３】
前記シンドローム生成器がパリティチェック行列デコーダを備える、請求項2に記載の装置。
【請求項４】
前記パリティチェック行列デコーダが、XORツリーベースのパリティチェック行列デコーダを備える、請求項3に記載の装置。
【請求項５】
前記シンドローム生成器から前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取るように構成されるダブルエラー検出器をさらに備える、請求項2に記載の装置。
【請求項６】
前記ダブルエラー検出器が、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力のうちの2つまたはそれ以上に基づいてダブルエラー検出出力を生成するように構成される、請求項5に記載の装置。
【請求項７】
前記ダブルエラー検出器から前記ダブルエラー検出出力をかつ前記シンドローム生成器から前記第1のベクトル信号出力を受け取り、かつ前記ダブルエラー検出出力および前記第1のベクトル信号出力に基づいてエラーフラグを生成するように構成されるフラグ生成器をさらに備える、請求項6に記載の装置。
【請求項８】
前記シングルエラー位置特定デコーダ出力に結合される第1の入力と、
前記ダブルエラー位置特定デコーダ出力に結合される第2の入力と
を備える、マルチプレクサをさらに備える、請求項6に記載の装置。
【請求項９】
前記マルチプレクサが、
前記ダブルエラー検出出力を受け取るように構成される制御入力と、
前記制御入力に基づいて、前記シングルエラー位置特定デコーダ出力または前記ダブルエラー位置特定デコーダ出力のいずれかを出力するように構成される出力と
をさらに備える、請求項8に記載の装置。
【請求項１０】
前記入力データを受け取るように構成される入力と、
前記マルチプレクサの前記出力に結合されるエラー位置特定デコーダ入力と、
前記入力データおよび前記エラー位置特定デコーダ入力に基づいて前記訂正された出力データを出力するように構成される出力と
を備える、エラー訂正器をさらに備える、請求項9に記載の装置。
【請求項１１】
制御入力および制御出力を有するタイミングコントローラと、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項2に記載の装置。
【請求項１２】
前記タイミングコントローラが遅延ユニットを備える、請求項11に記載の装置。
【請求項１３】
前記遅延ユニットが1つまたは複数の論理ゲートを備える、請求項12に記載の装置。
【請求項１４】
前記遅延ユニットが1つまたは複数のバッファをさらに備える、請求項13に記載の装置。
【請求項１５】
前記第1のフリップフロップが第1の正のエッジトリガのフリップフロップを備え、前記第2のフリップフロップが第2の正のエッジトリガのフリップフロップを備える、請求項11に記載の装置。
【請求項１６】
入力データにおけるシングルエラーを位置特定するためにシングルエラー位置特定復号を行うための手段と、
前記入力データにおけるダブルエラーを位置特定するためにダブルエラー位置特定復号を行うための手段と、
特定のデータ入力がシングルエラーを有すると予測されるか、またはダブルエラーを有すると予測されるかを決定するための手段と、
前記エラー予測に基づいて前記特定のデータ入力上のエラー位置特定を実行するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダのうちの1つだけを選択するための手段と、
前記選択されなかったエラー位置特定デコーダを非アクティブ化するための手段と、
前記シングルエラー位置特定復号を行うための手段によって位置特定された前記シングルエラーおよび前記ダブルエラー位置特定復号を行うための手段によって位置特定された前記ダブルエラーに基づいて、訂正された出力データを生成するためにエラーを訂正するための手段と
を備える、エラー検出および訂正装置。
【請求項１７】
シンドロームを生成するための手段であって、前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を出力するように構成される、手段と、
シングルエラー訂正出力およびダブルエラー訂正出力を生成するための手段であって、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するように構成される、手段と
をさらに備え、
前記シングルエラー位置特定復号を行うための手段が、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を出力するように構成され、
前記ダブルエラー位置特定復号を行うための手段が、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項16に記載の装置。
【請求項１８】
前記シンドロームを生成するための手段がパリティチェック行列デコーダを備える、請求項17に記載の装置。
【請求項１９】
ダブルエラー検出出力を生成するために前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてダブルエラーを検出するための手段をさらに備える、請求項17に記載の装置。
【請求項２０】
前記ダブルエラー検出出力および前記第1のベクトル信号出力に基づいてエラーフラグを生成するための手段をさらに備える、請求項19に記載の装置。
【請求項２１】
前記シングルエラー位置特定デコーダ出力に結合される第1の入力と、
前記ダブルエラー位置特定デコーダ出力に結合される第2の入力と、
前記ダブルエラー検出出力を受け取るように構成される制御入力と、
前記制御入力に基づいて、前記シングルエラー位置特定デコーダ出力または前記ダブルエラー位置特定デコーダ出力のいずれかを出力するように構成される出力と
を備える、多重化するための手段をさらに備える、請求項20に記載の装置。
【請求項２２】
前記入力データを受け取るように構成されるデータ入力と、
前記多重化するための手段の前記出力に結合されるエラー位置特定デコーダ入力と、
前記データ入力および前記エラー位置特定デコーダ入力に基づいて訂正されたデータを出力するように構成される出力と
を備える、エラーを訂正するための手段をさらに備える、請求項21に記載の装置。
【請求項２３】
タイミングを制御するための手段であって、制御入力および制御出力を有する、手段と、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングを制御するための手段の前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングを制御するための手段の前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項17に記載の装置。
【請求項２４】
前記第1の配信されたシンドローム出力が前記シングルエラー位置特定復号を行うための手段に配信され、前記第2の配信されたシンドローム出力が前記ダブルエラー位置特定復号を行うための手段に配信される、請求項23に記載の装置。
【請求項２５】
メモリセルと、
前記メモリセルから入力データを受け取り、訂正された出力データを前記メモリセルに伝送するように結合されるエラー検出および訂正装置であって、
入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、
前記入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダと、
特定のデータ入力がシングルエラーを有すると予測されるか、またはダブルエラーを有すると予測されるかを決定し、前記エラー予測に基づいて前記特定のデータ入力上のエラー位置特定を実行するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダのうちの1つだけを選択し、かつ前記選択されなかったエラー位置特定デコーダを非アクティブ化するように構成されるコントローラと、
訂正された出力データを生成するために前記シングルエラー位置特定デコーダおよび前記ダブルエラー位置特定デコーダに結合されるエラー訂正器と
を備える、エラー検出および訂正装置と
を備える、メモリ。
【請求項２６】
前記エラー検出および訂正装置が、
前記入力データを受け取り、かつ前記入力データに基づいて第1のベクトル信号出力および1つまたは複数の追加のベクトル信号出力を生成するように構成されるシンドローム生成器
をさらに備え、
前記コントローラが、前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力を受け取り、かつ前記第1のベクトル信号出力および前記1つまたは複数の追加のベクトル信号出力に基づいてシングルエラー訂正出力およびダブルエラー訂正出力を生成するようにさらに構成され、
前記シングルエラー位置特定デコーダが、前記シングルエラー訂正出力を受け取り、かつシングルエラー位置特定デコーダ出力を生成するように構成され、
前記ダブルエラー位置特定デコーダが、前記ダブルエラー訂正出力を受け取り、かつダブルエラー位置特定デコーダ出力を出力するように構成される、
請求項25に記載のメモリ。
【請求項２７】
前記エラー検出および訂正装置が、
制御入力および制御出力を有するタイミングコントローラと、
前記シングルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第1の配信されたシンドローム出力を出力するように構成される出力とを備える第1のフリップフロップと、
前記ダブルエラー訂正出力を受け取るように結合される入力と、前記タイミングコントローラの前記制御出力に結合されるトグル入力と、第2の配信されたシンドローム出力を出力するように構成される出力とを備える第2のフリップフロップと
をさらに備える、請求項26に記載のメモリ。
【請求項２８】
特定のデータ入力がシングルエラーを有すると予測されるか、またはダブルエラーを有すると予測されるかを決定するステップと、
前記決定するステップに基づいて前記特定のデータ入力上のエラー位置特定を実行するために、入力データにおけるシングルエラーを位置特定するように構成されるシングルエラー位置特定デコーダと、前記入力データにおけるダブルエラーを位置特定するように構成されるダブルエラー位置特定デコーダのうちの1つだけを選択するステップと、
前記選択されなかったエラー位置特定デコーダを非アクティブ化するステップと
を備える、エラー復号の方法。
【国際調査報告】
2018533254.tif 000013
2018533254.tif 000014
2018533254.tif 000015