[go: up one dir, main page]

JP7769181B2 - 欠陥検出を備えるエラー補正ハードウェア - Google Patents

欠陥検出を備えるエラー補正ハードウェア

Info

Publication number
JP7769181B2
JP7769181B2 JP2022096954A JP2022096954A JP7769181B2 JP 7769181 B2 JP7769181 B2 JP 7769181B2 JP 2022096954 A JP2022096954 A JP 2022096954A JP 2022096954 A JP2022096954 A JP 2022096954A JP 7769181 B2 JP7769181 B2 JP 7769181B2
Authority
JP
Japan
Prior art keywords
read
write
output
ecc logic
ecc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2022096954A
Other languages
English (en)
Other versions
JP2022123052A (ja
Inventor
ジャラン サケット
プラサパン インドゥ
ガナパティ カルキサヴァル アブヒシェック
Original Assignee
テキサス インスツルメンツ インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by テキサス インスツルメンツ インコーポレイテッド filed Critical テキサス インスツルメンツ インコーポレイテッド
Publication of JP2022123052A publication Critical patent/JP2022123052A/ja
Application granted granted Critical
Publication of JP7769181B2 publication Critical patent/JP7769181B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、概してエラー補正コード(ECC)に関し、更に特定して言えば、ECCロジック回路要素の欠陥検出のためのハードウェアに関連する。
エラー補正コード(ECC)メモリは、殆どの従来のタイプの内部データ破損を検出及び補正し得る或るタイプのコンピュータデータストレージである。ECCメモリ回路は、科学的な、又は機能的セーフティ要件に準拠する必要があるセーフティクリティカルな先進運転支援システム(ADAS)のためのオートモーティブメモリのためなど、データ破損が概して許容され得ないコンピュータにおいて用いることができる。
メモリ(例えば、スタティックランダムアクセスメモリ(SRAM)、読み出し専用メモリ(ROM)、又はフラッシュメモリ)にECCを実装することは、メモリ内のデータ完全性を確実にするためにセーフティクリティカル応用例において用いられる、標準のセーフティメカニズムである。従来、メモリが読み出し経路ECCロジック回路要素により読みだされるときメモリにストアされたデータのチェックを提供するために、(例えば、ハミングコードの)ECC冗長ビットが、書き込み経路ECCロジック回路要素によりメモリデータ内容に付加され、同じサイクルにおいて共に書き込まれる。本明細書において用いられるようなECCは、概してハミングコードの冗長ビットを用いる、単一ビットエラーのための単一ビットエラー補正及びマルチビットエラー(例えば、ダブルビットエラー)のためのマルチビットエラー検出のためである。
従来、生成ECCハードウェアユニットは、書き込み経路において及び読み出し経路において提供され、生成ECCユニットが書き込み経路にあり、別の生成ECCユニットを含むチェックECCブロックが読み出し経路にある。書き込み経路回路要素及び読み出し経路回路要素は、クロス結合接続を有さず、そのため、互いに独立して動作する。メモリ読み出しオペレーションの間、ECCはチェックECCブロックにより再演算され、ECCは、XOR回路により、ストアされたECCと比較される。このXOR回路の結果(出力)はシンドロームと呼ばれる。シンドロームがゼロである場合、エラーは生じていない。シンドロームが非ゼロである場合、それは、単一ビットエラー補正(SEC)の場合、どのビットがエラーであるかを判定するためにテーブルを「シンドロームデコード」にインデックスするため用いることができ、或いは、ダブルビットエラー検出(DED)の場合、そのエラーは補正不能である。従って、従来のECCメモリは、概して、メモリシステムを事実上殆どのビットエラーがなく保ち得る。
記載される例において、ロックステップECC回路ハードウェアが、書き込み経路回路要素と読み出し経路回路要素との間のクロス結合された接続を用いるエラー補正回路を含み、これにより、メモリ回路の一方の側での他方の側のエラーをチェックするためのECC生成ロジックの再利用が可能となり、そのため、ECCロジック要件が低減され、かなりの半導体チップ面積が節約される。記載される例は、書き込み経路回路要素における書き込み生成(Gen)ECCロジックと、読み出しGen ECCロジックを含む読み出し経路回路要素におけるチェックECCロジックとを有する、メモリ回路のためのECC回路要素のための欠陥検出、の方法を含む。読み出しGen ECCロジックの出力及び書き込みGen ECCロジックの出力は、それぞれのビットストリングが合致するか否かをチェックするために、デジタルコンパレータにより演算される。ビットストリングが合致しないとき、書き込みGen ECCロジック又は読み出しGen ECCロジックにおける欠陥が検出される。書き込みオペレーションの間のロックステップエラー(コンパレータ出力におけるミスマッチ)の場合、書き込みオペレーションが反復され得る。読み出しオペレーションの間のロックステップエラーの場合、単一ビットエラーが補正され得、マルチビットエラー割込み信号が送られ得る。
例示の一実施例に従った、ECC生成ロジックへの入力と直列に書き込みデータを受信するための第1の入力を備えるマルチプレクサを有する読み出し側ECCロジックにおける欠陥検出のための、説明されるロックステップECC回路ハードウェアを有する例示のECCメモリ回路のブロック図である。書き込みデータは、通常書き込みオペレーションの間、選択され、読み出しデータは、読み込みオペレーションの間、選択される。
例示の一実施例に従った、ECCロジックにおける欠陥検出のためのGen ECCロジックの入力と直列にメモリ回路から読み出しデータを受信するための第1の入力を備えるマルチプレクサを有する書き込み側ECCロジックにおける欠陥検出のための、説明されるロックステップECC回路ハードウェアを有する別の例示のECCメモリ回路のブロック図である。
例示の一実施例に従った、ECC回路要素のための欠陥検出の例示の方法における工程を示すフローチャートである。
例示の一実施例に従って、図1及び図2に関連して上述した読み出し側及び書き込み側エラーチェックの実施例を本質的に組み合わせる、その読み出し経路及び書き込み経路における欠陥検出のための説明されるECCハードウェアを含む例示のECCメモリ回路である。
例示の一実施例に従った、その読み出し経路及び書き込み経路におけるECCロジックにおける欠陥検出のための説明されるロックステップECC回路ハードウェアを有するプロセッサメモリとして図4に示される説明されるECCメモリ回路の2つの場合を含む、例示のADASシステムのシステム図である。
図面は必ずしも一定の縮尺で描いてはいない。図面において、同様の参照数字は同様の又は等価の要素を示す。幾つかの例示される行為又は事象は、異なる順序で、及び/又は他の行為又は事象と同時に成されてもよい。また、幾つかの例示される行為又は事象は、例示の実施例に従った手法を実装するためのオプションである。
本明細書でさらなる制約なしに用いられる「に結合される」又は「と結合される」という用語(及びそれに類するもの)は、間接的又は直接的な電気接続を述べたものである。そのため、第1のデバイスが第2のデバイスに「結合する」場合、その接続は、経路に寄生のみがある直接的な電気接続を介するものであり得、又は、他のデバイス及び接続を含めて介在物を介した間接的な電気接続を介するものであり得る。間接的結合の場合、介在物は、概して、信号の情報を改変しないが、その電流レベル、電圧レベル、及び/又は電力レベルを調整し得る。
ECCメモリ回路のECCロジックハードウェアにおいて、一時的又は永久エラーが書き込み側に存在し得、これは、書き込みオペレーションの間メモリに書き込まれている誤ったECCビットとなり得る。ECCメモリ回路の読み出し側におけるECCロジックハードウェアにおける一時的又は永久エラーは、メモリ読み出しデータの破損となり得るか、又は読み出しデータが実際には破損していないとき破損されたとしてメモリ読み出しデータの誤ったフラグとなり得る。書き込み経路回路要素及び読み出し経路回路要素が独立して動作する場合、ECCメモリ回路のECCロジックにおける一時的/永久エラーの検出が可能となり得るが、このような検出の実装は、ECCメモリ回路の両側の余分のECC生成ロジックを含む、かなりの付加的なロジックを必要とし得る。
図1は、メモリ回路130(例えば、SRAM、ROM、又はフラッシュメモリチップ)、及び、読み出し経路回路要素120における読み出し経路Gen ECC120bのビット出力を検証するために構成されるそのECCロジック回路要素における欠陥検出を有する説明される「ロックステップ」ECCハードウェア110を含む、ECCメモリ回路100を示す。メモリ回路130は、所与のクロックパルスに対して一つのオペレーション(読み出し又は書き込み)のみが実施され得る、単一ポートメモリを含む。この単一ポートメモリの特徴は、ECC GENロジックの一つ(特定の時間/クロックにおいてアクティブではない側、図1に示すように書き込みがアクティブではない、及び、図2に示すように読み出しがアクティブではない)からのビット出力を、説明されるロックステップエラー検出を可能とするための参照として利用可能とする。
メモリ回路130は、少なくとも半導体表面を有する共通基板105を含む。例えば、基板105は、バルクシリコン基板、又は、バルクシリコン基板上のエピタキシャル層を含み得る。
メモリ回路130は、個別のデータ出力及び個別のECC出力を有する。kビットとして示されるデータが、rビットとして示されるECCビットと共にストアされる。例えば、非ECCメモリが64ビットのデータをストアする場合、ECCメモリが、ECCの余分の8ビットと共に、同じ64ビットのデータをストアし得る。そのため、64+8ビットが書き込まれ、64+8ビットが読みだされる。ECC8ビットは、64データビットを有効化するために用いられ、チェックECCにおけるXORロジックに向かう。
書き込み経路回路要素115は、書き込み生成(Gen)ECCロジック115bを含み、チェックECCロジック120bは、読み出し経路回路要素120における読み出しGen ECCロジック120bを含む。書き込みモードで動作している(後述される図2において書き込みモードがアクティブである)間、データビット(64ビットなど、WRデータとして示される)及び書き込みECCGenロジック115bからの対応する演算されたECCビット(例えば、8ビット)は、各々、同じクロックサイクルにおいてメモリ回路100に書き込まれる。図1及び2においてメモリ回路130に対するデータ幅は、一例において64ビット(データ)+8ビット(ECC)を含む72ビット(72ビット幅のメモリ)であり得、これは、幅64及び幅8の2つの個別のメモリとして実現され得、又は単一の72ビット幅のメモリとし得る。
上述したように、64情報/データビット及び8ECCビットは単なる例である。ECCビットの実際の数は、下記の例において与えられるものなど、データ(情報)のため対応するビット幅に基づき得る。
概してプロセッサからの書き込み(wr)データを有するメモリ回路130からのkビットとして示されるクロス結合接続150により提供されるクロス結合読み出しデータにおいて多重化するために書き込みGEN ECCロジック115bの入力においてマルチプレクサ(Mux)115aが提供される。プロセッサは、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、又はマイクロコントローラユニット(MCU)を含み得る。MUX115aは、メモリ回路130が、Mux115aの出力に送るために一つのライン上のメモリからのrdデータ及び他のライン上のwrデータを含む入力ラインのどちらかを選択するために用いられるプロセッサからの読み出しモードにあることに基づいて示されている選択ラインを有して示されている。読み出しモードにあるとき、rdデータがMUX115aにより選択され、書き込みモードにあるとき、wrデータが選択される。
デジタルコンパレータ135が、一つの入力において書き込みGen ECCロジック115bからの出力(読み出しの間それがイナクティブであるとした参照として)を、及び、その別の出力において読み出し経路Gen ECC120bの出力を受信するように結合される。そのため、デジタルコンパレータ135は、読み出し経路Gen ECC120bのビット出力を検証するため書き込みGen ECCロジック115bからの出力を再使用し、いずれも、単なる一例として8ビットであるように示されている。読み出しGen ECC120bは、XOR回路120bと共に、チェックECCブロック120bを構成する。XOR回路120bの出力は、「シンドローム」信号をシンドロームデコードブロック120cに提供する。シンドロームがゼロである場合、エラーは生じていない。シンドロームが非ゼロである場合、シンドロームデコードブロック120cは、どのビットがエラーであるか(SEC)、又はエラーが補正不能である(例えば、エラーがダブルビットエラーである)と判定する。単一ビットエラーはSECブロック120dに提供され、SECブロック120dは、rdデータとして示される補正された読み出しデータを出力する。
ECCハードウェア110では、デジタルコンパレータ135の出力は、イネーブルとしてマルチビット(2又はそれ以上の)エラー割り込み生成に、及びイネーブルとしてSECブロック120dに接続される。そのため、SECブロック120dによるメモリ読み出しデータのSEC、及びシンドロームデコード120cにより提供されるシンドローム演算を用いるマルチビットエラーフラグは、いずれも、書き込み経路におけるECC演算と読み出し経路におけるECC演算とが互いに合致する(図1において同じrビットとして示される)場合に及びその場合にのみ、デジタルコンパレータ135からのイネーブル信号によりイネーブルされる。書き込み経路におけるECC演算と読み出し経路におけるECC演算とが互いに合致しない場合、読み出しオペレーションの間、ロックステップエラーが存在し、単一ビットエラーが補正され得、ダブルビットエラーなどのマルチビットエラーの場合は、ビットエラー割り込み(ディセーブル)信号が送られ得る。
図2は、書き込みGen ECCロジック115bを含むその書き込み経路における欠陥検出のための説明されるECCハードウェア110’を含む例示のECCメモリ回路200を示す。ここで、読み出し経路回路要素120’においてMUX120eが付加され、メモリ回路130から読み出された書き込みデータに多重化するため、クロス結合接続150’が、書き込み経路回路要素115’から読み出し経路回路要素120’におけるMUX120eに付加される。ここでは、そのECCロジック回路要素において欠陥検出を有する説明されたロックステップECCハードウェア110は、書き込みモードがアクティブである間、書き込みGen ECCロジック115bのビット出力を検証するために構成される。「メモリ書き込み」として示される制御入力が、MUX120eの入力選択ノードを制御する制御信号である。書き込みモードにあるとき、wrデータがMUX120eにより選択され、読み出しモードにあるとき、rdデータが選択される。
読み出しGen ECCロジック120bによるECCビット出力は、書き込みGen ECCロジック115bのオペレーションを検証するためにデジタルコンパレータ135により用いられ、デジタルコンパレータ135は、それぞれのGen ECCロジック115b及び120bにより生成されたECCビットを比較する。生成されたデジタルコンパレータ135の出力は、書き込み処理を反復するため、プロセッサ(例えば、マイクロプロセッサ、デジタルシグナルプロセッサ(DSP)、又はマイクロコントローラユニット(MCU))への割り込みとして用いられる。書き込みオペレーションの間、デジタルコンパレータ135によりエラーがフラグされている場合、メモリ回路130に書き込まれるデータがエラーではないことを確実にするため、書き込みオペレーションが反復され得る。エラーが一時的欠陥である場合、書き込みの反復は、ハードウェアエラーの問題を概して修復し得る。永久欠陥の場合、デジタルコンパレータ135は、再び、エラーを生成し続け、この場合プロセッサは、システムにおいて永久欠陥が生じたことをアプリケーションソフトウェアに示すなどの適切なアクションを取り得る。読み出しオペレーション場合もこの同じ欠陥応答が当てはまる。
図3は、例示の一実施例に従って、単一ポートメモリ回路に関連するECC回路要素のための欠陥検出の一例の方法300における工程を示すフローチャートである。工程301が、読み出しGen ECCロジック(図1及び図2における120b)の出力を、書き込みGen ECCロジックの出力(図1及び図2における115b)と比較することを含む。工程302が、この比較からの比較出力が、書き込みGen ECCロジックの出力の値が読み出しGen ECCロジック120bの出力の値と等しくないと判定する場合、書き込みGen ECCロジックにおける又は読み出しGen ECCロジックにおける欠陥を検出することを含む。
工程303が、欠陥が、読み出しオペレーションの間の単一ビットエラーである場合、この単一ビットエラーを補正すること、及び、欠陥が、読み出しオペレーションの間のマルチビットエラーである場合、マルチビットエラー割込み信号を送ることを含む。欠陥が、書き込みオペレーションの間のエラーであるとき、書き込みを反復する。読み出し側における欠陥検出を実装する図1のメモリ回路100に対して上述したように、単一ビットエラーはSECブロック120dに提供され、SECブロック120dは、rdデータとして示される補正された読み出しデータを出力する。書き込み側における欠陥検出を実装する図2のメモリ回路200に対して上述したように、メモリチップに書き込まれるデータがエラーではないこと確実にするため、書き込みオペレーションが反復され得る。
図1(書き込み側エラーチェック)及び図2(読み出し側エラーチェック)に関連して上述した実施例は、メモリ回路130の一方の側のエラーを検出するために独立して(他方の側なしで1つで)実施され得る。代替として、図1及び図2に関連して上述した読み出し側及び書き込み側エラーチェックの実施例は、メモリ回路130の両側でのエラーチェックを可能にするために、共に組み合わされ得る。
図4は、図1及び図2に関連して上述した読み出し側及び書き込み側エラーチェックの実施例を本質的に組み合わせる、その読み出し経路及び書き込み経路両方における欠陥検出のための説明されたECCハードウェア110’’を含む例示のECCメモリ回路400である。MUX115aのほかに、ECCメモリ回路400は、読み出しGen ECCロジック120bと直列の、メモリ回路400の入力からの読み出しデータを受信するための第1の入力を有する第2のMUX120e、及び、書き込みデータを第2のMUX120eの第2の入力に結合するためのクロス結合された接続150’を含む。ここでは、デジタルコンパレータ135は、読み出し側エラーチェック及び書き込み側エラーチェック両方に関与する。
本願において説明されるECCメモリ回路とは対照的に、従来のECCロジックは、内部メモリ(例えば、RAM)エラーを検出及び補正するためにのみ用いられる。本願において説明されるECCロジックを有するECCメモリ回路では、内部メモリエラーの検出及び補正に加えて、ECCロジックにおける欠陥検出が達成され、ここで、ECC演算及び生成ロジックにおける任意の一時的/永久エラーも検出され、これにより補正のアクションがなされ得る。上述したように、読み出しGen ECC120bのロックステップエラーの場合(図1参照)、この単一ビットエラーが補正され得、マルチビットエラー割込み信号が生成され得る。書き込みGen ECCロジック115b(図2参照)におけるエラーのロックステップロジックの場合、書き込みオペレーションが反復される。また、説明されるロックステップECC回路ハードウェアは、非侵入性であり、付加的なMux及びコンパレータに関してエリアが限られているという不利益を伴うだけで、メモリECCロジックをチェックするために(クロックサイクル毎に、オンザフライで)継続的に動作し得る。
説明される実施例を下記の例で更に図示する。図5は、プロセッサメモリ130(プロセッサメモリ1として示される)及び130(プロセッサメモリNとして示される)を含む400及び400として示される図4に示した説明されたECCメモリ回路の2つの場合を含む例示のADASシステム500のシステム図である。ECCメモリ回路は、プロセッサメモリの読み出し経路及び書き込み経路における欠陥検出のためのECCロジック110及び110として示される説明されたロックステップECC回路ハードウェアを有する。画像センサ505(例えば、CMOSカラーカメラ)が、シーンから(例えば、車両からの後方ビューから)画像データを生成する。画像データは、カメラインタフェース510により画像認識システム515に結合される。画像認識システム515は、ビデオ認識プロセッサ515a、フラッシュメモリ515b、外部DDRメモリ515c、及びコントローラエリアネットワーク(CAN)バスTx/Rx(トランシーバ)515dを含んで示されている。
画像認識システム515は、プロセッサコア530aを含むプロセッサブロック530にCANバス520により結合される。プロセッサコア530aは、ECCメモリ回路400及び400のプロセッサメモリ130及び130を用いるためバスインタフェース535により結合されて示されている。上述したように、ADASシステム500のオペレーションの間、ECCメモリ回路400及び400は、書き込み経路回路要素と読み出し経路回路要素との間のクロス結合された接続を備える、説明されたロックステップECC回路ハードウェアを用い、これにより、プロセッサメモリの一つの側の、他の側のエラーをチェックするためのECC生成ロジックの再利用が可能となり、これは、ECCロジック要件を低減し、かなりの半導体チップ面積を節約する。
本発明の特許請求の範囲内で、説明した例示の実施例に改変が成され得、他の実施例が可能である。

Claims (13)

  1. 方法であって、
    メモリ回路のための読み出し経路回路要素における読み出し生成エラー訂正コード(ECC)ロジックの出力を前記メモリ回路のための書き込み経路回路要素における書き込み生成ECCロジックの出力と比較することと、
    前記比較することに基づいて、前記書き込み生成ECCロジックの出力が前記読み出し生成ECCロジックの出力と等しくないときに、前記書き込み生成ECCロジックにおける又は前記読み出し生成ECCロジックにおける欠陥を検出することと、
    前記欠陥が書き込みオペレーションの間のエラーであるときに前記読み出し生成ECCロジックと前記書き込み生成ECCロジックとに書き込みデータを提供することと前記読み出し生成ECCロジックの出力と前記書き込み生成ロジックの出力とを比較することとを繰り返すことによって前記読み出し生成ECCロジック又は前記書き込み生成ECCロジックの一時的エラー又は永久的エラーを判定することと、
    を含み、
    前記一時的エラーが前記繰り返えすことの間に再び検出されない欠陥に基づいて判定され、前記永久的エラーが前記繰り返えすことの間に再び検出される欠陥に基づいて判定される、方法。
  2. 請求項1に記載の方法であって、
    前記比較することと前記検出することとが、クロックサイクル毎に連続的に実施される、方法。
  3. 請求項1に記載の方法であって、
    前記メモリ回路が、スタティックランダムアクセスメモリ(SRAM)、読み出し専用メモリ(ROM)、又はフラッシュメモリを含む、方法。
  4. 請求項1に記載の方法であって、
    前記メモリ回路が、先進運転支援システム(ADAS)のプロセッサのためのメモリである、方法。
  5. 請求項1に記載の方法であって、
    前記マルチビットエラーが、前記読み出し生成ECCロジックの出力と前記書き込み生成ECCロジックの出力との間の少なくとも2ビットの相違を含む、方法。
  6. 請求項1に記載の方法であって、
    前記メモリ回路から前記読み出し生成ECCロジックと前記書き込み生成ECCロジックとに読み出しデータを提供することを更に含む、方法。
  7. 装置であって、
    メモリ回路の書き込み経路回路要素における書き込み生成エラー訂正コード(ECC)ロジックの出力を前記メモリ回路の読み出し経路回路要素における読み出し生成ECCロジックの出力と比較する回路要素と、
    前記比較する回路要素からの比較出力が前記書き込み生成ECCロジックの出力の値が前記読み出し生成ECCロジックの出力の値と等しくないと判定するときに、前記書き込み生成ECCロジック又は前記読み出し生成ECCロジックにおける欠陥を検出する回路要素と、
    前記欠陥が書き込みオペレーションの間のエラーであるときに前記読み出し生成ECCロジックと前記書き込み生成ECCロジックとに書き込みデータを提供することと前記読み出し生成ECCロジックの出力と前記書き込み生成ロジックの出力とを比較することとを繰り返すことによって前記読み出し生成ECCロジック又は前記書き込み生成ECCロジックの一時的エラー又は永久的エラーを判定する回路要素と、
    を含み、
    前記一時的エラーが前記繰り返えすことの間に再び検出されない欠陥に基づいて判定され、前記永久的エラーが前記繰り返えすことの間に再び検出される欠陥に基づいて判定される、装置。
  8. 請求項に記載の装置であって、
    前記読み出し経路回路要素が、前記読み出し生成ECCロジックの出力に結合される第1の入力と前記メモリ回路のECC出力に結合される第2の入力とシンドロームデコードブロックにシンドローム出力を提供する出力とを有するXOR回路を含み、
    前記シンドロームデコードブロックが単一ビットエラー訂正(SEC)ブロックとマルチビットエラー生成回路要素とに結合され、
    前記装置が、
    前記比較出力をイネーブル入力としてマルチビットエラー検出(MED)回路要素に提供し、前記比較出力をイネーブル入力として前記SECブロックに提供する回路要素、
    を更に含む、装置。
  9. 請求項に記載の装置であって、
    前記比較することと前記検出することとが、クロックサイクル毎に連続的に実施される、装置。
  10. 請求項に記載の装置であって、
    前記メモリ回路が、スタティックランダムアクセスメモリ(SRAM)、読み出し専用メモリ(ROM)、又はフラッシュメモリである、装置。
  11. 請求項に記載の装置であって、
    前記メモリ回路が、先進運転支援システム(ADAS)のプロセッサのためのメモリである、装置。
  12. 請求項に記載の装置であって、
    前記比較する回路要素がデジタル比較器である、装置。
  13. 請求項に記載の装置であって、
    前記メモリ回路から前記読み出し生成ECCロジックと前記書き込み生成ECCロジックとに読み出しデータを提供する回路要素を更に含む、装置。
JP2022096954A 2016-08-23 2022-06-16 欠陥検出を備えるエラー補正ハードウェア Active JP7769181B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US15/244,739 2016-08-23
US15/244,739 US9904595B1 (en) 2016-08-23 2016-08-23 Error correction hardware with fault detection
PCT/US2017/047890 WO2018039156A1 (en) 2016-08-23 2017-08-22 Error correction hardware with fault detection
JP2019511460A JP7303408B2 (ja) 2016-08-23 2017-08-22 欠陥検出を備えるエラー補正ハードウェア

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2019511460A Division JP7303408B2 (ja) 2016-08-23 2017-08-22 欠陥検出を備えるエラー補正ハードウェア

Publications (2)

Publication Number Publication Date
JP2022123052A JP2022123052A (ja) 2022-08-23
JP7769181B2 true JP7769181B2 (ja) 2025-11-13

Family

ID=61225790

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019511460A Active JP7303408B2 (ja) 2016-08-23 2017-08-22 欠陥検出を備えるエラー補正ハードウェア
JP2022096954A Active JP7769181B2 (ja) 2016-08-23 2022-06-16 欠陥検出を備えるエラー補正ハードウェア

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2019511460A Active JP7303408B2 (ja) 2016-08-23 2017-08-22 欠陥検出を備えるエラー補正ハードウェア

Country Status (6)

Country Link
US (4) US9904595B1 (ja)
EP (1) EP3504624B1 (ja)
JP (2) JP7303408B2 (ja)
KR (2) KR102399843B1 (ja)
CN (1) CN109643262B (ja)
WO (1) WO2018039156A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9904595B1 (en) 2016-08-23 2018-02-27 Texas Instruments Incorporated Error correction hardware with fault detection
US10417077B2 (en) * 2016-09-29 2019-09-17 2236008 Ontario Inc. Software handling of hardware errors
GB201710839D0 (en) * 2017-07-05 2017-08-16 Irdeto Bv Data protection
US10901840B2 (en) * 2018-06-28 2021-01-26 Western Digital Technologies, Inc. Error correction decoding with redundancy data
US10977109B2 (en) 2018-08-07 2021-04-13 Samsung Electronics Co., Ltd. Apparatus including safety logic
US10985765B2 (en) 2018-08-07 2021-04-20 Samsung Electronics Co., Ltd. Apparatus including safety logic
US11119909B2 (en) * 2018-12-11 2021-09-14 Texas Instmments Incorporated Method and system for in-line ECC protection
US11069421B1 (en) 2020-06-16 2021-07-20 Nxp Usa, Inc. Circuitry for checking operation of error correction code (ECC) circuitry
CN114446370B (zh) * 2020-11-06 2024-08-09 长鑫存储技术有限公司 信号校验系统
KR20230121611A (ko) 2020-12-26 2023-08-18 인텔 코포레이션 시스템 메모리 신뢰성, 가용성 및 서비스 가능성(ras)을개선하기 위한 적응형 오류 정정
JP7749596B2 (ja) * 2021-09-29 2025-10-06 ドリーム・チップ・テクノロジーズ・ゲーエムベーハー データメモリの自己診断用の電子回路及び方法
US12176919B2 (en) 2021-11-25 2024-12-24 Samsung Electronics Co., Ltd. Error correction code circuit, memory device including error correction code circuit, and operation method of error correction code circuit
US11921580B2 (en) * 2022-07-08 2024-03-05 Micron Technology, Inc. Redundant multiport memory for vehicle applications
DE102023102337A1 (de) 2023-01-31 2024-08-01 Infineon Technologies Ag Fehlererkennung
KR20250104649A (ko) * 2023-12-29 2025-07-08 에스케이하이닉스 주식회사 메모리 장치 및 그의 테스트방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196680A (ja) 2004-01-09 2005-07-21 Ricoh Co Ltd コンピュータシステム
JP2010277352A (ja) 2009-05-28 2010-12-09 Toshiba Corp メモリシステム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5823678B2 (ja) * 1974-11-20 1983-05-17 日本電気株式会社 ジコチエツクキノウオユウスルアヤマリテイセイカイロ
US4531213A (en) * 1982-03-03 1985-07-23 Sperry Corporation Memory through checking system with comparison of data word parity before and after ECC processing
JP2583547B2 (ja) * 1988-01-13 1997-02-19 株式会社日立製作所 半導体メモリ
US5173905A (en) * 1990-03-29 1992-12-22 Micron Technology, Inc. Parity and error correction coding on integrated circuit addresses
US5488691A (en) 1993-11-17 1996-01-30 International Business Machines Corporation Memory card, computer system and method of operation for differentiating the use of read-modify-write cycles in operating and initializaiton modes
US5509129A (en) * 1993-11-30 1996-04-16 Guttag; Karl M. Long instruction word controlling plural independent processor operations
US5928349A (en) * 1995-02-24 1999-07-27 International Business Machines Corporation Mixed-endian computing environment for a conventional bi-endian computer system
US5758050A (en) * 1996-03-12 1998-05-26 International Business Machines Corporation Reconfigurable data storage system
US6216247B1 (en) * 1998-05-29 2001-04-10 Intel Corporation 32-bit mode for a 64-bit ECC capable memory subsystem
US7134069B1 (en) * 1999-06-16 2006-11-07 Madrone Solutions, Inc. Method and apparatus for error detection and correction
US6957378B2 (en) * 2001-06-04 2005-10-18 Kabushiki Kaisha Toshiba Semiconductor memory device
US20030009721A1 (en) 2001-07-06 2003-01-09 International Business Machines Corporation Method and system for background ECC scrubbing for a memory array
CN1409492A (zh) * 2001-09-07 2003-04-09 萧正杰 纠错码电路
US7028213B2 (en) 2001-09-28 2006-04-11 Hewlett-Packard Development Company, L.P. Error indication in a raid memory system
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
US7320100B2 (en) * 2003-05-20 2008-01-15 Cray Inc. Apparatus and method for memory with bit swapping on the fly and testing
US7437593B2 (en) * 2003-07-14 2008-10-14 International Business Machines Corporation Apparatus, system, and method for managing errors in prefetched data
US7392456B2 (en) * 2004-11-23 2008-06-24 Mosys, Inc. Predictive error correction code generation facilitating high-speed byte-write in a semiconductor memory
WO2007046350A1 (ja) * 2005-10-18 2007-04-26 Nec Corporation Mramの動作方法
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
US7861138B2 (en) * 2006-12-05 2010-12-28 Qimonda Ag Error correction in memory devices
JP4343945B2 (ja) * 2006-12-28 2009-10-14 三菱電機株式会社 電子制御装置
WO2008133087A1 (ja) * 2007-04-17 2008-11-06 Nec Corporation 半導体記憶装置及びその動作方法
JP4994112B2 (ja) * 2007-05-22 2012-08-08 ルネサスエレクトロニクス株式会社 半導体集積回路装置およびメモリ制御方法
US8250452B2 (en) 2007-08-20 2012-08-21 Infineon Technologies Ag Method and apparatus for embedded memory security
JP4564520B2 (ja) * 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
KR101489827B1 (ko) * 2008-03-25 2015-02-04 삼성전자주식회사 낸드 플래시 메모리와 컨트롤러 간의 효율적인 프로토콜을사용하는 반도체 메모리 장치
JP5259343B2 (ja) * 2008-10-31 2013-08-07 株式会社東芝 メモリ装置
US8090984B2 (en) * 2008-12-10 2012-01-03 Freescale Semiconductor, Inc. Error detection and communication of an error location in multi-processor data processing system having processors operating in Lockstep
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US9377313B2 (en) * 2009-06-16 2016-06-28 Tomtom North America Inc. Methods and systems for creating digital street network database
KR101062755B1 (ko) * 2009-07-29 2011-09-06 주식회사 하이닉스반도체 Ecc 회로를 포함하는 반도체 메모리 시스템 및 그 제어 방법
US8381083B2 (en) * 2009-10-22 2013-02-19 Arm Limited Error control coding for single error correction and double error detection
KR20110087036A (ko) * 2010-01-25 2011-08-02 삼성전자주식회사 덮어쓰기 가능한 불휘발성 메모리 장치 및 그것의 데이터 쓰기 방법
US8438344B2 (en) * 2010-03-12 2013-05-07 Texas Instruments Incorporated Low overhead and timing improved architecture for performing error checking and correction for memories and buses in system-on-chips, and other circuits, systems and processes
US8612814B1 (en) * 2010-06-14 2013-12-17 Altera Corporation Memory error detection circuitry
US8560927B1 (en) * 2010-08-26 2013-10-15 Altera Corporation Memory error detection circuitry
US8972821B2 (en) * 2010-12-23 2015-03-03 Texas Instruments Incorporated Encode and multiplex, register, and decode and error correction circuitry
US8984367B2 (en) * 2011-02-25 2015-03-17 Altera Corporation Error detection and correction circuitry
US8516339B1 (en) * 2011-04-01 2013-08-20 Xilinx, Inc. Method of and circuit for correcting adjacent bit errors in a memory
FR2983597B1 (fr) * 2011-12-01 2014-01-24 Viaccess Sa Procede de detection d'une erreur de lecture d'une donnee
US9081588B2 (en) 2012-01-31 2015-07-14 Mentor Graphics Corporation Execution time profiling for interpreted programming languages
US9081568B1 (en) * 2012-09-25 2015-07-14 Amazon Technologies, Inc. Electrical power system with automatic transfer switch failure protection
US9013921B2 (en) * 2012-12-06 2015-04-21 Samsung Electronics Co., Ltd. Semiconductor memory device
US10796617B2 (en) * 2013-06-12 2020-10-06 Infineon Technologies Ag Device, method and system for processing an image data stream
KR101750662B1 (ko) * 2013-06-24 2017-06-23 마이크론 테크놀로지, 인크. 데이터 에러 교정용 회로, 장치, 및 방법
WO2015037159A1 (ja) * 2013-09-13 2015-03-19 株式会社 東芝 半導体記憶装置及びメモリシステム
GB201320983D0 (en) * 2013-11-28 2014-01-15 Ibm Data encoding in solid-state storage apparatus
KR101611261B1 (ko) * 2013-12-12 2016-04-12 엘지전자 주식회사 스테레오 카메라, 이를 구비한 차량 운전 보조 장치, 및 차량
US9342404B2 (en) * 2013-12-12 2016-05-17 Phison Electronics Corp. Decoding method, memory storage device, and memory controlling circuit unit
JP6212396B2 (ja) * 2014-01-08 2017-10-11 ルネサスエレクトロニクス株式会社 データ処理装置
US9854707B2 (en) 2014-01-10 2017-12-26 Rosemount Aerospace Inc. Integrated pipe heat exchanger
US9430328B2 (en) * 2014-01-24 2016-08-30 Stmicroelectronics S.R.L. Error correction in memory devices by multiple readings with different references
US9495232B2 (en) 2014-03-28 2016-11-15 Intel IP Corporation Error correcting (ECC) memory compatibility
WO2015160859A1 (en) 2014-04-14 2015-10-22 Sirius Xm Radio Inc. Systems, methods and applications for using and enhancing vehicle to vehicle communications including synergies and interoperation with satellite radio
CN106463179B (zh) * 2014-04-16 2019-11-19 英特尔公司 利用存储器控制器处理数据错误事件的方法、装置和系统
JP6332134B2 (ja) * 2014-09-16 2018-05-30 株式会社デンソー メモリ診断回路
CN105830159B (zh) * 2014-11-27 2019-04-09 京微雅格(北京)科技有限公司 块存储器配置结构和配置方法
US9904595B1 (en) * 2016-08-23 2018-02-27 Texas Instruments Incorporated Error correction hardware with fault detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005196680A (ja) 2004-01-09 2005-07-21 Ricoh Co Ltd コンピュータシステム
JP2010277352A (ja) 2009-05-28 2010-12-09 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
US11372715B2 (en) 2022-06-28
US20220283899A1 (en) 2022-09-08
KR102267860B1 (ko) 2021-06-23
KR20210076195A (ko) 2021-06-23
US11740968B2 (en) 2023-08-29
EP3504624B1 (en) 2021-03-03
EP3504624A1 (en) 2019-07-03
JP2022123052A (ja) 2022-08-23
US20180107541A1 (en) 2018-04-19
CN109643262B (zh) 2023-08-08
US20200210287A1 (en) 2020-07-02
KR20190042013A (ko) 2019-04-23
US10599514B2 (en) 2020-03-24
EP3504624A4 (en) 2019-07-24
US20180060163A1 (en) 2018-03-01
JP7303408B2 (ja) 2023-07-05
KR102399843B1 (ko) 2022-05-20
WO2018039156A1 (en) 2018-03-01
CN109643262A (zh) 2019-04-16
US9904595B1 (en) 2018-02-27
JP2019525362A (ja) 2019-09-05

Similar Documents

Publication Publication Date Title
JP7769181B2 (ja) 欠陥検出を備えるエラー補正ハードウェア
US11037619B2 (en) Using dual channel memory as single channel memory with spares
US7765454B2 (en) Fault tolerant memory system
US10169126B2 (en) Memory module, memory controller and systems responsive to memory chip read fail information and related methods of operation
US9037941B2 (en) Systems and methods for error checking and correcting for memory module
CN101546291A (zh) 提高内存数据健壮性的存取方法和装置
US7496826B2 (en) Method, system, and apparatus for adjacent-symbol error correction and detection code
US20050154943A1 (en) Mechanism for adjacent-symbol error correction and detection
CN111880961A (zh) 用于透明寄存器数据错误检测和纠正的系统和方法
US20190114236A1 (en) Fault tolerant network on-chip
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
US10740179B2 (en) Memory and method for operating the memory
US7360132B1 (en) System and method for memory chip kill
KR20210116342A (ko) 데이터 처리 디바이스 및 데이터 처리 방법
US10250279B2 (en) Circuits and methods for writing and reading data
US11809272B2 (en) Error correction code offload for a serially-attached memory device
JP2002251898A (ja) シングルイベントアップセット補償回路
JPS6232826B2 (ja)
KR20190041395A (ko) 고장 감내 네트워크 온-칩
JPH04134537A (ja) パリティ生成二重化回路
JPS63103348A (ja) データチェック回路

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220713

A625 Written request for application examination (by other person)

Free format text: JAPANESE INTERMEDIATE CODE: A625

Effective date: 20220714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230613

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230613

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230913

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20231113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20240117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240516

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240709

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20240809

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20250519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20250709

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251001

R150 Certificate of patent or registration of utility model

Ref document number: 7769181

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150