JP6306611B2 - ワンタイムプログラマブル素子のエラー検出/訂正 - Google Patents

ワンタイムプログラマブル素子のエラー検出/訂正 Download PDF

Info

Publication number
JP6306611B2
JP6306611B2 JP2015555238A JP2015555238A JP6306611B2 JP 6306611 B2 JP6306611 B2 JP 6306611B2 JP 2015555238 A JP2015555238 A JP 2015555238A JP 2015555238 A JP2015555238 A JP 2015555238A JP 6306611 B2 JP6306611 B2 JP 6306611B2
Authority
JP
Japan
Prior art keywords
data
representation
flag
otp
value
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.)
Expired - Fee Related
Application number
JP2015555238A
Other languages
English (en)
Other versions
JP2016508658A (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 JP2016508658A publication Critical patent/JP2016508658A/ja
Application granted granted Critical
Publication of JP6306611B2 publication Critical patent/JP6306611B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/02Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards using magnetic or inductive elements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/146Write once memory, i.e. allowing changing of memory content by writing additional bits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C17/00Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
    • G11C17/14Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
    • G11C17/18Auxiliary circuits, e.g. for writing into memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/027Detection or location of defective auxiliary circuits, e.g. defective refresh counters in fuses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Error Detection And Correction (AREA)
  • Read Only Memory (AREA)

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に明確に組み込まれている、2013年1月29日に出願した、同一出願人が所有する米国特許非仮出願第13/752,419号の優先権を主張するものである。
本開示は、一般に、ワンタイムプログラマブル素子のエラー検出/訂正に関する。
技術における進歩により、小型化されて、よりパワーのあるコンピューティングデバイスがもたらされている。たとえば、現在では、携帯型ワイヤレス電話、携帯情報端末(PDA)、および小型で軽量かつユーザが容易に携行できる、ページングデバイスなどの、ワイヤレスコンピューティングデバイスを含む、様々な携帯型のパーソナルコンピューティングデバイスが存在する。より具体的には、セルラー電話やインターネットプロトコル(IP)電話などの携帯型ワイヤレス電話は、ワイヤレスネットワーク上で音声およびデータを通信することができる。さらに、多くのそのようなワイヤレス電話には、その中に組み込まれているその他の種類のデバイスが含まれている。たとえば、ワイヤレス電話は、ディジタルスチルカメラ、ディジタルビデオカメラ、ディジタルレコーダ、およびオーディオファイルプレーヤを含む可能性がある。また、そのようなワイヤレス電話は、インターネットにアクセスするのに使用することのできる、ウェブブラウザアプリケーションなどのソフトウェアアプリケーションを含む、実行可能な命令を処理することができる。したがって、これらのワイヤレス電話は相当な計算能力を備え得る。
ワイヤレス電話などの電子デバイスは、1回だけ書込み(たとえば、プログラム)をすることのできるワンタイムプログラマブル(OTP)素子を含むことがある。たとえば、OTP素子は、集合的に読出し専用メモリを形成することができる。信頼性を向上させるために、OTP素子は、デュアルOTP構成に配設してもよい。デュアルOTP構成においては、全体読出し出力を決定するのに、2つのOTP素子の各々からの読出し出力に対して、論理OR演算が行われる。すなわち、2倍にしたメモリサイズの代償として、信頼性を改善することができる。
OTP素子は、様々なデバイスを使用して実現することができる。たとえば、e-ヒューズまたはアンチヒューズ(anti-fuse)を使用して、OTPメモリを実現してもよい。e-ヒューズまたはアンチヒューズを使用する場合には、溶断されていないヒューズが論理0を表し、溶断されたヒューズが論理1を表す。溶断されていないe-ヒューズ、またはアンチヒューズ用の溶断されていないゲート酸化物(すなわち、誤りの論理0)の場合には、OTP素子に対するプログラミング不具合が起こる可能性がある。しかしながら、デュアル構成の他方のOTP素子が正しくプログラムされている(すなわち、論理1を含む)場合には、読出し出力に対して論理OR演算を行うことで、プログラミング不具合を克服することができる。
OTP素子を実現するのに使用することのできる別の種類のデバイスは、磁気トンネル接合(MTJ)デバイスである。MTJデバイスは、MTJデバイスがe-ヒューズ/アンチヒューズほど高いプログラミング電圧、負の電圧、または大きなプログラミング電流を必要としなくてもよいので、e-ヒューズ/アンチヒューズよりも好ましい場合がある。MTJ OTP素子をプログラムするのに、MTJの酸化マグネシウム(MgO)トンネルバリア層を破壊してもよい。しかしながら、このトンネルバリア層は、動作中の損耗によって破壊することもあり、この結果としてポストプログラミングエラーが生じる(たとえば、論理0が論理1となることがある)。(たとえば、損耗による)MTJ酸化物破壊の結果として生じる論理1は誤りであるので、デュアルMTJ OTP構成において読出し出力に対して論理OR演算を行っても、MTJ酸化物破壊の場合には正しい出力が得られない。論理OR演算を行うことによって、結果として、読出し出力に誤りの論理1が含まれることになる。
MTJ OTP素子に使用することのできる、エラー検出/訂正のシステムおよび方法が開示される。たとえば、デュアルMTJ OTP素子バンク(たとえば、メモリ)の各々は、シングルエラー訂正(SEC)/ダブルエラー検出(DED)(SEC-DED)デコーダなどのような、エラー訂正コード(ECC)デコーダを含むか、またはそれに接続されてもよい。デコーダの各々は、読出し動作中にフラグを生成してもよい。データに1つのエラーだけが検出されたときには、デコーダは、エラーを訂正して、第1の(たとえば、デアサートされた、または0の)値でフラグを出力してもよい。2つ以上のエラーが検出されるときには、デコーダは、エラーのすべてを訂正することはできず、したがって第2の(たとえば、アサートされた、または1の)値でフラグを出力してもよい。デコーダの一方がそのフラグをアサートするが、他方のデコーダはそうしないときには、非アサートデコーダからの出力を、デュアルMTJ OTP構成の「正しい」読出し出力として供給してもよい。どちらのフラグもアサートされないときには、デコーダのいずれかからのデータを供給してもよい。両方のフラグがアサートされている(すなわち、両方のデコーダが訂正不可能なエラーに遭遇した)場合には、エラー信号を生成してもよい。
様々な種類のECCを、記述した技法と合わせて使用してよい。たとえば、ハミング(Hamming)コードを使用してもよい。別の例として、パリティビットを生成して、OTP素子に記憶させてもよい。別の実現においては、巡回冗長検査(CRC)方式デコーダを、SEC-DEDデコーダの代わりに使用してもよい。さらに、記述の技法は、非MTJタイプOTPにも使用してもよいことに留意すべきである。
特定の実施形態において、回路は、第1のOTP素子と第2のOTP素子とを含む。この回路は、第1のOTP素子からのデータの第1の表現を受信するように結合された、エラー検出回路も含む。この回路は、エラー検出回路の出力に応答して、データの第1の表現に基づくか、または第2のOTP素子からのデータの第2の表現に基づいて、OTP読出し結果を出力する、出力回路をさらに含む。
別の特定の実施形態において、方法は、第1のOTP素子に記憶されたデータの第1の表現に基づいて第1のフラグを生成するステップであって、第1のフラグが、データの第1の表現が訂正不可能なエラーを含むかどうかを指示する、ステップを含む。この方法は、第2のOTP素子に記憶されたデータの第2の表現に基づいて第2のフラグを生成するステップであって、第2のフラグが、データの第2の表現が訂正不可能なエラーを含むかどうかを指示する、ステップも含む。この方法は、第1のフラグおよび第2のフラグに応答して、データの第1の表現、またはデータの第2の表現に基づいて、読出し出力を生成するステップをさらに含む。
別の特定の実施形態においては、装置は、第1のOTP素子および第2のOTP素子を含む。この装置はまた、第1のOTP素子からのデータの第1の表現を受信するための手段も含む。この装置は、前記受信するための手段の出力に応答して、データの第1の表現に基づくか、または第2のOTP素子からのデータの第2の表現に基づいて、OTP読出し結果を出力するための手段をさらに備える。
別の特定の実施形態においては、方法は、第1のOTP素子に記憶されたデータの第1の表現に基づいて第1のフラグを生成するステップであって、第1のフラグが、データの第1の表現が訂正不可能なエラーを含むかどうかを指示する、ステップを含む。この方法は、第2のOTP素子に記憶されたデータの第2の表現に基づいて第2のフラグを生成するステップであって、第2のフラグが、データの第2の表現が訂正不可能なエラーを含むかどうかを指示するステップも含む。この方法は、第1のフラグおよび第2のフラグに応答して、データの第1の表現またはデータの第2の表現に基づいて、読出し出力を生成する、ステップをさらに含む。
別の特定の実施形態において、非一時的コンピュータ可読媒体は、プロセッサによって実行されると、プロセッサに、第1のOTPに記憶されたデータの第1の表現に基づいて第1のフラグを生成させる、命令を含む。第1のフラグは、データの第1の表現が訂正不可能なエラーを含むかどうかを指示する。これらの命令は、第2のOTP素子に記憶されたデータの第2の表現に基づいて第2のフラグを生成させるように、プロセッサによって実行可能でもある。第2のフラグは、データの第2の表現が訂正不可能なエラーを含むかどうかを指示する。前記命令は、第1のフラグおよび第2のフラグに応答して、データの第1の表現またはデータの第2の表現に基づいて、読出し出力を生成させるように、プロセッサによってさらに実行可能である。
別の特定の実施形態においては、方法は、半導体デバイスの少なくとも1つの物理的性質を表す設計情報を受信するステップを含み、半導体デバイスは、第1のOTP素子および第2のOTP素子を含む。半導体デバイスは、第1のOTP素子からのデータの第1の表現を受信するように結合されたエラー検出回路と、エラー検出回路の出力に応答して、データの第1の表現に基づくか、または第2のOTP素子からのデータの第2の表現に基づいて、OTP読出し結果を出力する、出力回路も含む。この方法は、ファイルフォーマットに適合するように設計情報を変換するステップと、変換された設計情報を含む、データファイルを生成するステップとを含む。
開示された実施形態の少なくとも1つによって提供される1つの特有の利点は、デュアルMTJ OTP構成におけるメモリを含む、OTPメモリのエラー検出/訂正を行う能力である。本開示のその他の観点、利点、および特徴は、次のセクション:図面の簡単な説明、詳細な説明、および特許請求の範囲を含む、出願全体を検討した後に明白になるであろう。
OTP素子のエラー検出/訂正を行う動作の可能なシステムの特定の実施形態を示す図である。 図1の出力ロジックの動作の特定の実施形態を示す表である。 OTP素子のエラー検出/訂正を行う方法の特定の実施形態を示すフローチャートである。 OTP素子のエラー検出/訂正を行う動作の可能な構成要素を含むワイヤレスデバイスのブロック図である。 OTP素子のエラー検出/訂正を行う動作の可能な構成要素を含む電子デバイスを製造する、製造方法の特定の例証用実施形態のデータフロー図である。
図1を参照すると、ワンタイムプログラマブル(OTP)素子のエラー検出/訂正を行う動作の可能なシステムの特定の例証用実施形態が示されており、全体が100で表されている。システム100は、第1の組の1つまたは複数の第1のOTP素子102と、第2の組の1つまたは複数のOTP素子112とを含む。便宜上、第1の組のOTP素子102およびそれと関連する回路/動作には、「左」または「L」のラベルを付け、第2の組のOTP素子112およびそれに関連する回路/動作には、「右」または「R」のラベルを付ける。
OTP素子は、1回、書込み(たとえば、プログラム)し、複数回、読み出すことができる。すなわち、OTP素子は、システム100における読出し専用メモリを表すことができる。図1の例において、OTP素子102および112は、デュアルOTP構成に配設されている。OTP素子をデュアル構成に配設することによって、冗長性を介して、OTPプログラミングエラーの影響を低減することができる。デュアルOTP構成においては、OTP読出し動作は、個々のOTPに対するローカル読出しを行い、次いで、グローバル読出し結果としてどちらの読出し出力を選択するかを決定することを含むことができる。
第1の組のOTP素子102は、第1のロウデコーダ(row decoder)103に結合し、第2の組のOTP素子112を第2のロウデコーダ113に結合してもよい。特定のOTP素子(たとえば、OTP素子106および116)を読み出すのに、対応するワードライン104、114およびビットライン105、115をアサートしてもよい(たとえば、論理ハイ値または論理1値に設定する)。読み出されるビット数は、ワードサイズ、アラインメント、およびアドレス指定能力(addressability)などの要因に依存することがある。第1の組のOTP素子102に対する読出し動作は、第1の組のOTP素子102の第1のローカルデータパス107によって検出される、第1の信号を生成してもよい。たとえば、第1のローカルデータパス107は、(たとえば、読出し動作中に使用される)1つまたは複数のセンス増幅器、および(たとえば、第1の組のOTP素子102のワンタイムプログラミング中に使用される)プログラミング書込みドライバを含んでもよい。第2の組のOTP素子112に対する読出し動作は、第2の組のOTP素子112の第2のローカルデータパス117によって検出される、第2の信号を生成してもよい。たとえば、第2のローカルデータパス117には、(たとえば、読出し動作中に使用される)1つまたは複数のセンス増幅器、および(たとえば、第2の組のOTP素子112のワンタイムプログラミング中に使用される)プログラミング書込みドライバを含めてもよい。
ローカルデータパス107および117は、読出しデータをエラー検出/訂正回路120へ供給してもよい。たとえば、第1のエラー検出/訂正デコーダ122は、第1のOTP素子102と結合してもよく、第2のエラー検出/訂正デコーダ124は、第2のOTP素子112と結合してもよい。特定の実施形態において、第1のデコーダ122と第2のデコーダ124の少なくとも一方が、エラー訂正コード(ECC)デコーダである。たとえば、ECCデコーダは、シングルエラー訂正(SEC)/ダブルエラー検出(DED)(SEC-DED)デコーダである。代替的、また追加的に、第1のデコーダ122と第2のデコーダ124の少なくとも一方を、巡回冗長検査(CRC)デコーダとしてもよい。なお、ECCデコーダおよびCRCデコーダは、例示としてのみ記述されている。その他の種類のエラー検出/訂正回路も、記述の技法と合わせて使用してもよい。
デコーダ122および124の各々は、対応するOTP素子102および112に記憶されたデータが訂正不可能なエラーを含むかどうかを指示するフラグを生成してもよい。たとえば、第1のデコーダ122は、第1のフラグ133を生成して、第2のデコーダ124は、第2のフラグ134を生成してもよい。第1のフラグ133は、第1のOTP素子102に記憶されたデータの第1の表現が、訂正不可能なエラーを含むかどうかを指示してもよく、第2のフラグ134は、第2のOTP素子112に記憶されたデータの第2の表現が訂正不可能なエラーを含むかどうかを指示してもよい。
説明のために、デコーダ122および124がSEC-DEDデコーダであるとき、デコーダ122および124は、単一のエラーを訂正することができるとともに、データが2つのエラー(すなわち、訂正不可能なエラー)を含むかどうかを検出することができてもよい。すなわち、第1のフラグ133は、第1のデコーダ122が、第1のOTP素子102に記憶されたデータの第1の表現が2つ以上のエラーを含むと判定するときに、アサートしてもよい(たとえば、論理1の値に設定してもよい)。同様に、第2のフラグ134は、第2のデコーダ124が、第2のOTP素子112に記憶されているデータの第2の表現が2つ以上のエラーを含むと判定するときに、アサートしてもよい。別の例として、デコーダ122および124がCRCデコーダであるとき、フラグ133および134は、エラーが検出されるときにアサートされて、エラーが検出されないときにデアサートされてもよい。
デコーダ122および124の各々は、中間(たとえば、ローカル)読出し出力を生成してもよい。特定のOTP素子に記憶されたデータが訂正可能なエラーを含むときには、対応する中間読出し出力は、データのエラー訂正版としてもよい。しかしながら、データが訂正不可能なエラーを含むときには、対応する中間読出し出力は、そのエラーを含んでもよい。図1の例においては、第1のデコーダ122が、第1の中間読出し出力131を生成し、第2のデコーダ124が、第2の中間読出し出力132を生成する。図1のデュアルOTP構成から単一ビットが読み出されているときには、中間読出し出力131および132は、各々単一ビットを含んでもよい。多ビット(たとえば、8ビットワード、32ビットワード、その他)がデュアルOTP構成から読み出されているときには、中間読出し出力131および132は、多(たとえば、8、32、その他の)ビットを各々含んでもよい。
エラー検出/訂正回路120は、中間読出し出力131、132およびフラグ133および134を、出力回路140に供給してもよい。特定の実施形態において、出力回路140は、マルチプレクサ(MUX)144に選択信号を供給するように構成された出力ロジック142を含む。フラグ133および134の値に基づいて、出力ロジック142は、MUX144に、第1の中間読出し出力131または第2の中間読出し出力132を、システム100のグローバルデータパスに供給される、OTP読出し結果150として選択させてもよい。出力ロジック142の動作の特定の例を示す表について、図2を参照してさらに説明する。
なお、OTP素子102および112は、ヒューズ方式またはアンチヒューズ方式のOTP素子、磁気トンネル接合(MTJ)OTP素子、またはその他の種類のOTP素子としてもよいことに留意すべきである。OTP素子102および112がMTJ OTP素子であるときには、各MTJ OTP素子は層のスタックを含んでもよい。たとえば、下端から上端まで、(MTJ OTP素子内の)MTJスタックは、バッファ層、反強磁性(AF:anti-ferromagnetic)ピニング層(たとえば、プラチナマンガン(PtMn)製)、合成AFピンド層(たとえば、コバルト鉄(CoFe)、ルテニウム(Ru)、およびコバルト鉄ボロン(CoFeB)の副層を含む)、トンネルバリア層(たとえば、酸化マグネシウム(MgO)製)、自由層(たとえば、CoFeB製)、およびキャッピング層を含んでもよい。
OTPメモリ用に使用されるときには、MTJ素子は、プログラミング電圧を使用してトンネルバリア層を破壊(たとえば、溶断)することによってプログラムしてもよい。トンネルバリア層が手つかずの場合には、MTJ OTP素子は、論理0を表すとともに、MTJ素子が平行状態にあるか、反平行状態にあるかに応じて、約2〜4キロオームの電気抵抗を与えてもよい。トンネルバリア層が破壊されると、MTJ OTP素子は、論理1を表して、1桁小さい(たとえば、約250オームの)電気抵抗をもたらしてもよい。すなわち、MTJ OTP素子の抵抗の、基準抵抗(たとえば、1.5キロオーム)に対する比較を、MTJ OTP素子が論理1を表すか、論理0を表すかを判定するのに使用してもよい。しかしながら、MTJ OTP素子のトンネルバリア層は比較的薄い(たとえば、10オングストローム未満である)ので、トンネルバリア層は、寿命動作(たとえば、損耗)中に、かつ/またはプロセス変動により破壊することがある。この結果として、論理0は、誤った論理1によって置き換えられることがある。エラー検出/訂正回路120および出力回路140を使用することによって、そのようなエラーを訂正することができる。
動作中に、OTP素子102および112をプログラムしてもよい。たとえば、OTP素子102および112がMTJ方式であるときには、8ビットワード「11110000」を、次の4つのOTP素子のバリア酸化物層を手つかずのまま残しながら、4つのOTP素子のバリア酸化物層を破壊することによってプログラムしてもよい。回路120によって実現される、エラー検出/訂正のタイプに応じて、パリティビットのような、追加のビットもプログラムしてもよい。特定の実施形態において、32データビットごとに7つのパリティビットを生成してもよい。たとえば、OTP素子106は、正しくプログラムされるが、2つのプログラミングエラーが、OTP素子116において発生することがあり、その結果、第3および第4のビットにおける破壊しない酸化物によって、「11000000」が得られる。
プログラミングが完了した後に、8ビットワードに対して読出し動作を行ってもよい。説明の目的で、デコーダ122および124の各々はSEC-DEDデコーダであると仮定する。すなわち、第1のデコーダ122は、左OTP素子102に記憶された8ビットワードの表現内に訂正不可能なエラーが存在しないので、デアサートされた(たとえば、ゼロ)値を有する第1のフラグ133を出力してもよく、第1の中間読出し出力131は「11110000」としてもよい。しかしながら、第2のデコーダ124は、右OTP素子112に記憶された8ビットワードの表現内に訂正不可能なエラーが存在するので(たとえば、SEC-DEDデコーダは、プログラミングエラーの両方を訂正することはできないので)、アサートされた(たとえば、1の)値を有する第2のフラグ134を出力してもよい。すなわち、第2の中間読出し出力132は正しくないことがある。
出力ロジック142は、フラグ133および134を受信してもよい。図2の表に示されるように、第1のフラグ133がデアサートされ、かつ第2のフラグ134がアサートされているとき、出力ロジック142は、選択信号(SEL)を、MUX144が第1の中間読出し出力131をOTP読出し結果150として選択するように、設定してもよい。すなわち、エラーを含まない、左OTP素子102における8ビットワードの表現を、OTP読出し結果150として選択してもよい。
OTP素子102および112に対する寿命動作(たとえば、定常的な損耗)中に、酸化物破壊が起こることがある。たとえば、酸化物破壊が、左OTP素子102内の8ビットワードの最後ビットにおいて発生して、結果として「11110001」となることがある。しかしながら、シングルビットエラーだけが、ワード内で形成されたので、第1のSEC-DECデコーダ122は、読出し動作中にエラーを正しく訂正することが可能であり、第1の中間読出し出力131は「11110000」のままとすることができる。すなわち、第1のフラグ133が読出し動作中にデアサートされて、エラー訂正された中間読出し出力131が、OTP読出し結果150として選択されてもよい。
なお、図1のシステム100において、様々な種類のECCを使用してもよいことに留意すべきである。たとえば、ハミングコードを使用してもよい。別の例として、パリティビットを生成して、OTP素子102および112内に記憶させてもよい。別の実現形態においては、巡回冗長検査(CRC)式デコーダを、SEC-DEDデコーダの代わりに使用してもよい。
すなわち、図1のシステム100は、デュアルOTP構成において、MTJ素子を含むOTP素子のエラー検出/訂正を可能にすることができる。読出し出力に対して論理OR動作を行い、したがって誤った論理1値を伝播するシステムとは異なり、図1のシステム100は、誤った論理1値を検出、訂正するために、エラー訂正技法を使用してもよい。たとえば、MTJ酸化物破壊により生じる誤った論理1値は、エラー検出/訂正回路120を使用して検出、訂正してもよい。
図2を参照すると、図1の出力ロジック142の動作の特定の実施形態を示す、表200が示されている。表200に示されているように、第1のフラグ133(「FLG_DED_L」と表す)と、第2のフラグ134(「FLG_DED_R」と表す)のいずれもアサートされていないときには、第1の読出し出力131(「DOUT_L」と表す)および第2の読出し出力132(「DOUT_R」と表す)の両方が正しいので、選択信号(SEL)のどちらかの値をMUX144に供給してもよい。しかしながら、フラグ133、134の一方がアサートされて、他方のフラグがデアサートされているときには、選択信号(SEL)を、デアサートされたフラグに対応する読出し出力が、OTP読出し結果150(「DOUT」と表す)として選択されるように、生成してもよい。両方のフラグ133、134がアサートされているときには、両方の読出し出力131、132が誤りであるので、選択信号(SEL)のいずれの値を使用してもよい。この場合には、エラー信号を生成してもよい。
図3を参照すると、OTP素子のエラー検出/訂正を行う方法の特定の実施形態のフローチャートが示されており、全体が300で表されている。例証用の実施形態において、方法300は、図1のシステム100において実施してもよい。
方法300は、302において、第1のOTPに記憶されたデータの第1の表現に対して、第1のエラー検出動作を実施して第1のフラグを生成することを含んでもよい。第1のフラグは、データの第1の表現が、訂正不可能なエラーを含むかどうかを指示してもよい。たとえば、図1において、第1のデコーダ122は、OTP素子106に記憶されたデータの第1の表現に対する第1のエラー検出動作を実施して、第1のフラグ133を生成してもよい。特定の実施形態において、第1のデコーダ122は、データの第1の表現が訂正可能なエラーを含むという判定に応答して、エラー訂正動作を実施してもよい。たとえば、第1のデコーダ122がSEC-DEDデコーダであり、データの第1の表現内に単一のエラーが存在するときには、第1のデコーダ122はエラーを訂正してもよい。
方法300は、304において、第2のOTP素子に記憶されたデータの第2の表現に対して、第2のエラー検出動作を実施して、第2のフラグを生成してもよい。第2のフラグは、データの第2の表現が訂正不可能なエラーを含むかどうかを指示してもよい。たとえば、図1において、第2のデコーダ124は、OTP素子116に記憶されたデータの第2の表現に対する第2のエラー検出動作を実施して、第2のフラグ134を生成してもよい。特定の実施形態において、第2のデコーダ124は、データの第2の表現が訂正可能なエラーを含むという判定に応答して、エラー訂正動作を実施してもよい。たとえば、第2のデコーダ124が、SEC-DEDデコーダであるとともに、単一のエラーがデータの第2の表現内に存在するときには、第2のデコーダ124は、エラーを訂正してもよい。
方法300は、306において、第1のフラグおよび第2のフラグに応答して、データの第1の表現またはデータの第2の表現に基づいて、読出し出力を生成することをさらに含んでもよい。たとえば、図1において、MUX144は、出力ロジック142から受信された選択信号に基づいて、OTP読出し結果150を生成してもよく、選択信号は、図2の表200を参照して記述したように、第1のフラグ133と第2のフラグ134とに応答性を有する。
図3の方法300は、このように、デュアルOTP構成における、MTJ素子を含む、OTP素子のエラー検出/訂正を可能にすることができる。さらに、読出し出力に対して論理OR演算を実施し、そのために誤った論理1値を伝播するシステムとは異なり、図3の方法300は、エラー訂正技法を使用して、(たとえば、MTJ酸化物破壊により作成される)誤りのある論理1値を検出して訂正してもよい。
図4を参照すると、OTP素子のエラー検出/訂正を行う動作の可能な構成要素を含む、ワイヤレスデバイス400のブロック図が示されている。ワイヤレスデバイス400は、メモリ432に結合された、ディジタルシグナルプロセッサ(DSP)のような、プロセッサ410を含む。
図4は、プロセッサ410とディスプレイ428とに結合された、ディスプレイコントローラ426も示す。コーダ/デコーダ(CODEC)434は、プロセッサ410に結合することもできる。スピーカ436およびマイクロフォン438をCODEC434に結合することができる。図4は、ワイヤレスコントローラ440が、プロセッサ410に結合するとともに、ワイヤレスコントローラ440とアンテナ442との間に配置された無線周波数(RF)インターフェース480を介して、アンテナ442に結合することができることも示している。ワンタイムプログラマブル(OTP)素子491および492は、図示されているようにプロセッサ410へと結合されてもよい。OTP素子491および492は、図1のOTP素子102および112に一致してもよい。OTP素子491および492は、エラー検出/訂正回路493と出力回路494とに結合してもよい。エラー検出/訂正回路493は、図1のエラー検出/訂正回路120と一致してもよく、出力回路494は、図1の出力回路140に対応してもよい。
メモリ432は、実行可能命令456を含む、有形の非一時的プロセッサ可読記憶媒体としてもよい。命令456は、プロセッサ410のようなプロセッサによって実行されて、本明細書に記述した動作、機能、および/または方法、たとえば図3の方法300、の1つまたは複数を実施するか、または実施を開始してもよい。命令456は、プロセッサ410に結合された、ワイヤレスデバイス400の代替的なプロセッサ(図示せず)によって実行可能としてもよい。たとえば、プロセッサ410は、命令456を実行する間に、OTP素子491および492に対する読出し動作を実施(または開始)してもよい。すなわち、プロセッサ410による命令456の実行は、第1のフラグ(たとえば、図1の第1のフラグ133)の生成、第2のフラグ(たとえば、図1の第2のフラグ134)の生成、および読出し出力(たとえば、図1のOTP読出し結果150)の生成を引き起こす(または開始する)ことができる。
特定の実施形態において、プロセッサ410、ディスプレイコントローラ426、メモリ432、CODEC434、およびワイヤレスコントローラ440が、システムインパッケージデバイスまたはシステムオンチップデバイス422内に含まれる。特定の実施形態において、入力デバイス430および電源444が、システムオンチップデバイス422に結合される。さらに、特定の実施形態において、図4に示されているように、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、アンテナ442、および電源444が、システムオンチップデバイス422の外部にある。しかしながら、ディスプレイ428、入力デバイス430、スピーカ436、マイクロフォン438、アンテナ442、および電源444は、インターフェースまたはコントローラなどの、システムオンチップデバイス422の構成要素に結合することができる。
記述した実施形態と関係して、装置は、第1のOTP素子、第2のOTP素子、および第1のOTP素子からのデータの第1の表現を受信するための手段を含む。たとえば、受信するための手段は、ローカルデータパス107、ローカルデータパス117、エラー検出/訂正回路120、第1のデコーダ122、第2のデコーダ124、エラー検出/訂正回路493、1つもしくは複数のその他のデバイス、回路、モジュール、またはOTP素子からのデータを受信する命令、またはそれらの任意の組合せを含むことができる。
装置は、受信のための手段の出力に応答して、第1のOTP素子からのデータの第1の表現に基づいて、または第2のOTP素子からのデータの第2の表現に基づいて、OTP読出し結果を出力するための手段も含む。たとえば、出力するための手段は、出力回路140、出力ロジック142、MUX144、出力回路494、1つもしくは複数のその他のデバイス、回路、モジュール、またはデータを出力するための命令、またはそれらの任意の組合せを含んでもよい。
前述の開示のデバイスおよび機能は、コンピュータ可読媒体に記憶されたコンピュータファイル(たとえば、RTL、GDSII、GERBER、など)中に設計および構成してもよい。そのようなファイルの一部または全部を、そのようなファイルに基づいてデバイスを製作する、製作取扱者に供給してもよい。結果として得られる製品としては、次いで、半導体ダイに切断されて、半導体チップ中にパッケージされる、半導体ウェーハがある。チップは、次いで、上記のデバイスにおいて利用される。図5は、電子デバイス製造プロセス500の特定の例証用実施形態を示す。
物理デバイス情報502が、リサーチコンピュータ506におけるなど、製造プロセス500において受け取られる。物理デバイス情報502は、図1のシステム100および/またはその構成要素(たとえば、OTP素子102、OTP素子112、エラー検出/訂正回路120、出力回路140、など)を含むデバイスなどの、半導体デバイスの少なくとも1つの物理的性質を表す情報を含んでもよい。たとえば、物理デバイス情報502は、物理パラメータ、材料特性、およびリサーチコンピュータ506に結合されたユーザインターフェース504を介して入力される構造情報を含めてもよい。リサーチコンピュータ506は、メモリ510などのコンピュータ可読媒体に結合された、1つまたは複数の処理コアなどの、プロセッサ508を含む。メモリ510は、コンピュータ可読命令を記憶してもよく、これらの命令は、実行可能であって、プロセッサ508に、物理デバイス情報502をファイルフォーマットに適合するように変換させるとともに、ライブラリファイル512を生成させる。
特定の実施形態において、ライブラリファイル512は、変換された設計情報を含む、少なくとも1つのデータファイルを含む。たとえば、ライブラリファイル512には、電子設計自動化(EDA)ツール520に使用するために提供される、図1のシステム100および/またはその構成要素を含む、半導体デバイスのライブラリを含めてもよい。
ライブラリファイル512は、メモリ518と結合された、1つまたは複数の処理コアなどの、プロセッサ516を含む、設計コンピュータ514において、EDAツール520と合わせて使用してもよい。EDAツール520は、設計コンピュータ514のユーザが、ライブラリファイル512の、図1のシステム100および/またはその構成要素を含む、デバイスを設計することを可能にするために、メモリ518において、プロセッサ実行可能命令として記憶させてもよい。たとえば、設計コンピュータ514のユーザは、設計コンピュータ514に結合された、ユーザインターフェース524を介して回路設計情報522を入力してもよい。
回路設計情報522には、図1のシステム100および/またはその構成要素を含む半導体デバイスの少なくとも1つの物理的性質を表す設計情報を含めてもよい。例証のために、回路設計特性には、特定の回路の識別、および回路設計におけるその他の要素への関係、位置決め情報、フィーチャサイズ情報、相互接続情報、または半導体デバイスの物理的性質を表す、その他の情報を含めてもよい。
設計コンピュータ514は、回路設計情報522を含む、設計情報を、ファイルフォーマットに適合するように変換するように構成してもよい。例証のために、ファイルフォーマットには、グラフィックデータシステム(GDSII)ファイルフォーマットなどの、平面幾何学形状、テキストラベル、および階層フォーマットにレイアウトされた回路についての、その他の情報を表す、データベースバイナリファイルフォーマットを含めてもよい。設計コンピュータ514は、図1のシステム100および/またはその構成要素を含むとともに、SOC内の追加の電子回路および構成要素も含む、デバイスを記述する情報を含む、GDSIIファイル526などの、変換された設計情報を含むデータファイルを生成するように構成されてもよい。
GDSIIファイル526は、製作プロセス528において受け取り、GDSIIファイル526内の変換された情報に従って、図1のシステム100および/またはその構成要素を含む、半導体デバイスを製造してもよい。たとえば、デバイス製造プロセスには、GDSIIファイル526をマスク製造業者530に供給して、フォトリソグラフィ処理に使用する、代表的なマスク532として図示されている、1つまたは複数のマスクを作成することを含んでもよい。マスク532を、製作プロセス中に使用して、1つまたは複数のウェーハ534を生成して、このウェーハを試験して、代表的なダイ536のようなダイに切り離してもよい。ダイ536は、図1のシステム100および/またはその構成要素を含む、回路を含む。
ダイ536は、ダイ536が代表的なパッケージ540中に組み込まれる、パッケージングプロセス538へと供給してもよい。たとえば、パッケージ540は、単一のダイ536または、システムインパッケージ(SiP)配設のような、複数のダイを含んでもよい。パッケージ540は、合同電子デバイス技術協議会(JEDEC: Joint Electron Device Engineering Council)などの、1つまたは複数の標準または規格に適応するように構成してもよい。
パッケージ540に関する情報は、コンピュータ546に記憶されたコンポーネントライブラリを介するなどして、様々な製品設計者に配布してもよい。コンピュータ546は、メモリ550に結合された1つまたは複数の処理コアのような、プロセッサ548を含んでもよい。プリント回路基板(PCB)ツールは、プロセッサ実行可能命令としてメモリ550に記憶して、ユーザインターフェース544を介してコンピュータ546のユーザから受け取ったPCB設計情報542を処理してもよい。PCB設計情報542には、回路基板上にパッケージングされた半導体デバイスの物理的位置決め情報を含めてもよく、パッケージングされた半導体デバイスは、図1のシステム100および/またはその構成要素を含む、パッケージ540に対応する。
コンピュータ546は、PCB設計情報542を変換して、回路基板上のパッケージングされた半導体デバイスの物理的位置決め情報、ならびにトレースおよびビアなどの電気的接続のレイアウトを含む、データを備えるGERBERファイル552などの、データファイルを生成するように構成してもよく、この場合にパッケージングされた半導体デバイスは、図1のシステム100および/またはその構成要素を含む、パッケージ540に対応する。その他の実施形態において、変換されたPCB設計情報によって生成されたデータファイルは、GERBERフォーマット以外のフォーマットを有してもよい。
GERBERファイル552は、基板アセンブリプロセス554において受け取られて、GERBERファイル552内に記憶された設計情報に従って製造された、代表的なPCB556のような、PCBを作成するのに使用してもよい。たとえば、GERBERファイル552は、1つまたは複数のマシンにアップロードされて、PCB生成プロセスの様々なステップを実施してもよい。PCB556は、パッケージ540を含む電子構成要素が配置されて、代表的なプリント回路アセンブリ(PCA)558を形成してもよい。
PCA558は、製品製造プロセス560において受け取られて、第1の代表的な電子デバイス562および第2の代表的な電子デバイス564などの、1つまたは複数の電子デバイスに一体化されてもよい。例証のための非限定の例として、第1の代表的な電子デバイス562、第2の代表的な電子デバイス564、または両方を、図1のシステム100および/またはその構成要素がその中に一体化されている、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定場所データユニット、およびコンピュータからなる群から選択してもよい。別の例証のための非限定の例として、電子デバイス562および564の1つまたは複数は、モバイル電話のようなリモートユニット、携帯情報端末のようなハンドヘルドパーソナル通信システム(PCS)ユニット、携帯用データユニット、全地球測位システム(GPS)利用可能デバイス、ナビゲーションデバイス、固定場所データユニット、検針機器などの固定場所データユニット、またはデータまたはコンピュータ命令を記憶するまたは取り出すその他任意のデバイス、またはそれらの任意の組合せとしてもよい。本開示の教示によるリモートユニットに加えて、本開示の実施形態は、メモリおよびオンチップ回路を含む、アクティブ集積回路を含む、任意のデバイスに好適に使用することができる。
図1のシステム100および/またはその構成要素を含むデバイスは、例証のためのプロセス500に記述されるように、製作、処理されるとともに、電子デバイス中に組み入れられてもよい。図1〜図4について開示された実施形態の1つまたは複数の観点は、ライブラリファイル512、GDSIIファイル526、およびGERBERファイル552内などの、様々なステージにおいて含まれてもよく、それに加えて、リサーチコンピュータ506のメモリ510、設計コンピュータ514のメモリ518、コンピュータ546のメモリ550、基板アセンブリプロセス554などの、様々なステージにおいて使用される、1つまたは複数のその他のコンピュータまたはプロセッサ(図示せず)のメモリに記憶されてもよく、またマスク532、ダイ536、パッケージ540、PCA558、プロトタイプ回路またはデバイス(図示せず)などのその他の製品、またはそれらの任意の組合せなどの、1つまたは複数のその他物理的実施形態に組み込まれてもよい。物理デバイス設計から最終製品までの、様々な代表的な生産のステージについて述べたが、その他の実施形態においては、より少ないステージを使用するか、または追加のステージを含めてもよい。同様に、プロセス500は、単一のエンティティによるか、またはプロセス500の様々なステージを実施する、1つまたは複数のエンティティによって実施してもよい。
当業者は、本明細書において開示された実施形態と関係して記述した、様々な例証のための論理ブロック、構成、モジュール、回路および、アルゴリズムステップは、電子ハードウェア、プロセッサによって実行されるコンピュータソフトウェア、または両者の組合せによって実現してもよいことにさらに気付くであろう。様々な例証のための構成要素、ブロック、構成、モジュール、回路、およびステップを、概してその機能について上記した。そのような機能が、ハードウェアとして実現されるか、またはプロセッサ実行可能な命令として実現されるかは、特定の応用および、システム全体に課せられる設計制約に依存する。当業者は、各々の特定の応用に対して、様々な方法で記述された機能を実現するかもしれないが、そのような実現の決定は、本開示の範囲からの逸脱を起こすものと解釈されるべきではない。
本明細書において開示された実施形態と関係して記述された方法またはアルゴリズムのステップは、ハードウェアとして、プロセッサによって実行可能なソフトウェアモジュールとして、または両者の組合せとして、直接的に具現化してもよい。ソフトウェアモジュールは、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読出し専用メモリ(ROM)、プログラマブル読出し専用メモリ(PROM)、消去可能プログラマブル読出し専用メモリ(EPROM)、電気的消去可能プログラマブル読出し専用メモリ(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、コンパクトディスク読出し専用メモリ(CD-ROM)、または当該技術分野において知られている、その他任意の形態の非一時的記憶媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み出すとともに、それに書き込むことができるように、プロセッサに結合される。代替的形態においては、記憶媒体は、プロセッサと一体化してもよい。プロセッサおよび記憶媒体は、特定用途向け集積回路(ASIC)内に存在してもよい。ASICは、コンピュータデバイスまたはユーザ端末内に存在してもよい。代替形態においては、プロセッサおよび記憶媒体は、コンピュータデバイスまたはユーザ端末内の別個の構成要素として存在してもよい。
開示された実施形態についての先述の説明は、当業者が、開示された実施形態を製作または使用することを可能にするために提示されたものである。これらの実施形態に対する様々な修正が、当業者にはすぐに明白となり、本明細書において定義される原理は、本開示の範囲から逸脱することなく、その他の実施形態に応用することができるであろう。すなわち、本開示は、本明細書において示された実施形態に限定されることを意図するものではなく、以下の特許請求の範囲によって定義される原理および新規な特徴に見合った可能な限り広い範囲が認容されるべきである。
100 システム
102 第1の組のOTP素子
103 ロウデコーダ
104 ワードライン
105 ビットライン
107 第1のローカルデータパス
112 第2の組のOTP素子
113 ロウデコーダ
114 ワードライン
115 ビットライン
117 ローカルデータパス
120 エラー検出/訂正回路
122 第1のエラー検出/訂正デコーダ
124 第2のエラー検出/訂正デコーダ
131 第1の中間読出し出力
132 第2の中間読出し出力
133 第1のフラグ
134 第2のフラグ
140 出力回路
142 出力ロジック
144 マルチプレクサ(MUX)
150 OTP読出し結果
400 ワイヤレスデバイス
410 プロセッサ
422 システムインパッケージデバイスまたはシステムオンチップデバイス
426 ディスプレイコントローラ
428 ディスプレイ
430 入力デバイス
432 メモリ
434 CODEC
436 スピーカ
438 マイクロフォン
440 ワイヤレスコントローラ
442 アンテナ
444 電源
456 命令
480 無線周波数RFインターフェース
491 OTP素子
492 OTP素子
493 エラー検出/訂正回路
494 出力回路
500 製造プロセス
502 物理デバイス情報
504 ユーザインターフェース
506 リサーチコンピュータ
508 プロセッサ
510 メモリ
512 ライブラリファイル
514 設計コンピュータ
516 プロセッサ
518 メモリ
520 EDAツール
522 回路設計情報
524 ユーザインターフェース
526 GDSIIファイル
528 製作プロセス
530 マスク製造業者
532 マスク
534 ウェーハ
536 ダイ
538 パッケージングプロセス
540 パッケージ
542 PCB設計情報
544 ユーザインターフェース
546 コンピュータ
548 プロセッサ
550 メモリ
552 GERBERファイル
554 基板アセンブリプロセス
556 PCB
558 プリント回路アセンブリ(PCA)
560 製品製造プロセス
562 第1の代表的電子デバイス
564 第2の代表的電子デバイス

Claims (25)

  1. 第1のワンタイムプログラマブル(OTP)素子と、
    第2のOTP素子と、
    前記第1のOTP素子からのデータの第1の表現を受信し前記第2のOTP素子からの前記データの第2の表現を受信するように結合された、エラー検出回路と、
    マルチプレクサを含む出力回路であって、前記エラー検出回路の出力に応答して、前記データの前記第1の表現に基づくか、または前記第2のOTP素子からのデータの前記第2の表現に基づいて、OTP読出し結果を出力する、出力回路と
    を備え、
    前記エラー検出回路の前記出力が、前記データの前記第1の表現において訂正不可能なエラーが検出されたかどうかを指示する第1のフラグおよび前記データの前記第2の表現において訂正不可能なエラーが検出されたかどうかを指示する第2のフラグを含み
    記第1のフラグと前記第2のフラグとがデアサートされていることに基づいて前記出力回路が、第1の値を有する第1の選択信号又は第2の値を有する第2の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第1の表現又は前記データの前記第2の表現に基づいて前記OTP読出し結果を出力し
    前記第1のフラグがデアサートされて、前記第2のフラグがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第1の表現に基づいて前記OTP読出し結果を出力し
    前記第1のフラグがアサートされて、前記第2のフラグがデアサートされていることに基づいて前記出力回路が、前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第2の表現に基づいて前記OTP読出し結果を出力しかつ、
    前記第1のフラグと前記第2のフラグとがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号又は前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサが、前記OTP読出し結果として、前記訂正不可能なエラーが検出された前記データの前記第1の表現又は前記データの前記第2の表現のいずれも伴わないエラー信号を出力する、回路。
  2. 前記第1のOTP素子が第1の組の磁気トンネル接合(MTJ)OTP素子に含まれる、請求項1に記載の回路。
  3. 前記第2のOTP素子が第2の組の磁気トンネル接合(MTJ)OTP素子に含まれる、請求項1に記載の回路。
  4. 前記エラー検出回路が、エラー訂正コード(ECC)デコーダを備える、請求項1に記載の回路。
  5. 前記ECCデコーダが、シングルエラー訂正(SEC)/ダブルエラー検出(DED)(SEC-DEC)デコーダを備える、請求項4に記載の回路。
  6. 前記エラー検出回路が、巡回冗長検査(CRC)デコーダを備える、請求項1に記載の回路。
  7. 前記マルチプレクサが、前記第1の選択信号又は前記第2の選択信号に応答して、エラー訂正コード(ECC)データを選択するように構成されている、請求項1に記載の回路。
  8. 前記出力回路が、少なくとも1つの半導体ダイ中に一体化されている、請求項1に記載の回路。
  9. 前記出力回路が、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定場所データユニット、コンピュータ、またはそれらの組合せの中に一体化されている、請求項1に記載の回路。
  10. 第1のワンタイムプログラマブル(OTP)素子に記憶されたデータの第1の表現に基づいて第1のフラグを生成するステップであって、前記第1のフラグが、前記データの前記第1の表現が訂正不可能なエラーを含むかどうかを指示する、ステップと、
    第2のOTP素子に記憶されたデータの第2の表現に基づいて第2のフラグを生成するステップであって、前記第2のフラグが、前記データの前記第2の表現が訂正不可能なエラーを含むかどうかを指示する、ステップと、
    前記第1のフラグと前記第2のフラグとがデアサートされていることに基づいて出力回路が、第1の値を有する第1の選択信号又は第2の値を有する第2の選択信号を生成するとき、マルチプレクサによって、前記データの前記第1の表現又は前記データの前記第2の表現に基づいてOTP読出し結果を出力するステップと、
    前記第1のフラグがデアサートされて、前記第2のフラグがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号を生成するとき、前記マルチプレクサによって、前記データの前記第1の表現に基づいて前記OTP読出し結果を出力するステップと、
    前記第1のフラグがアサートされて、前記第2のフラグがデアサートされていることに基づいて前記出力回路が、前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサによって、前記データの前記第2の表現に基づいて前記OTP読出し結果を出力するステップと、
    前記第1のフラグと前記第2のフラグとがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号又は前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサによって、前記OTP読出し結果として、前記訂正不可能なエラーが検出された前記データの前記第1の表現又は前記データの前記第2の表現のいずれも伴わないエラー信号を出力するステップ
    含む、方法。
  11. 前記データの前記第1の表現に対して第1のエラー検出動作を実施して、前記第1のフラグを生成するステップと、
    前記データの前記第2の表現に対して第2のエラー検出動作を実施して、前記第2のフラグを生成するステップと
    をさらに含む、請求項10に記載の方法。
  12. 前記データの特定の表現が訂正可能なエラーを含むという判定に応答して、前記データの前記特定の表現について、エラー訂正動作を実施するステップをさらに含む、請求項10に記載の方法。
  13. 前記第1のフラグが、前記データの前記第1の表現が訂正不可能なエラーを含まないことを指示し、前記第2のフラグが、前記データの前記第2の表現が少なくとも1つの訂正不可能なエラーを含むことを指示するとき、前記OTP読出し結果が、前記データの前記第1の表現に基づいて生成される、請求項10に記載の方法。
  14. 前記第2のフラグが、前記データの前記第2の表現が訂正不可能なエラーを含まないことを指示し、前記第1のフラグが、前記データの前記第1の表現が少なくとも1つの訂正不可能なエラーを含むことを指示するとき、前記OTP読出し結果が、前記データの前記第2の表現に基づいて生成される、請求項10に記載の方法。
  15. 前記第1のフラグおよび前記第2のフラグが、電子デバイスに一体化された回路において生成される、請求項10に記載の方法。
  16. 第1のワンタイムプログラマブル(OTP)素子と、
    第2のOTP素子と、
    前記第1のOTP素子からのデータの第1の表現および前記第2のOTP素子からの前記データの第2の表現を受信するための手段と、
    前記受信するための手段の出力に応答して、前記データの前記第1の表現に基づくか、または前記第2のOTP素子からのデータの前記第2の表現に基づいて、OTP読出し結果を出力するための手段と、
    を備え、
    前記出力するための手段が、マルチプレクシングのための手段を備え、前記出力するための手段が、前記データの前記第1の表現において訂正不可能なエラーが検出されたかどうかを指示する第1のフラグおよび前記データの前記第2の表現において訂正不可能なエラーが検出されたかどうかを指示する第2のフラグを含み
    記第1のフラグと前記第2のフラグとがデアサートされていることに基づいて前記出力するための手段が、第1の値を有する第1の選択信号又は第2の値を有する第2の選択信号を生成するとき、前記マルチプレクシングのための手段が、前記データの前記第1の表現又は前記データの前記第2の表現に基づいて前記OTP読出し結果を出力し、
    前記第1のフラグがデアサートされて、前記第2のフラグがアサートされていることに基づいて前記出力するための手段が、前記第1の値を有する前記第1の選択信号を生成するとき、前記マルチプレクシングのための手段が、前記データの前記第1の表現に基づいて前記OTP読出し結果を出力し
    前記第1のフラグがアサートされて、前記第2のフラグがデアサートされていることに基づいて前記出力するための手段が、前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクシングのための手段が、前記データの前記第2の表現に基づいて前記OTP読出し結果を出力しかつ、
    前記第1のフラグと前記第2のフラグとがアサートされていることに基づいて前記出力するための手段が、前記第1の値を有する前記第1の選択信号又は前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクシングのための手段が、前記OTP読出し結果として、前記訂正不可能なエラーが検出された前記データの前記第1の表現又は前記データの前記第2の表現のいずれも伴わないエラー信号を出力する、装置。
  17. 前記第1のOTP素子が第1の組の磁気トンネル接合(MTJ)OTP素子に含まれ、前記第2のOTP素子が第2の組のMTJ OTP素子に含まれる、請求項16に記載の装置。
  18. 前記受信するための手段が、前記第1のOTP素子と前記第2のOTP素子とに接続されたエラー検出回路を備える、請求項16に記載の装置。
  19. 前記出力するための手段が、前記データの特定の表現において訂正不可能なエラーが検出されていないことを前記エラー検出回路が指示することに応答して、前記データの前記特定の表現に対応する、エラー訂正コード(ECC)データ出力を選択するように構成された、マルチプレクサを含む、請求項18に記載の装置。
  20. 前記受信するための手段および前記出力するための手段が、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定場所データユニット、コンピュータ、またはそれらの組合せの中に一体化されている、請求項16に記載の装置。
  21. プロセッサによって実行されると、前記プロセッサに、
    第1のワンタイムプログラマブル(OTP)素子に記憶されたデータの第1の表現に基づいて、前記データの前記第1の表現が訂正不可能なエラーを含むかどうかを指示する、第1のフラグを生成させ、
    第2のOTP素子に記憶されたデータの第2の表現に基づいて、前記データの前記第2の表現が訂正不可能なエラーを含むかどうかを指示する、第2のフラグを生成させ、
    前記第1のフラグと前記第2のフラグとがデアサートされていることに基づいて出力回路によって、第1の値を有する第1の選択信号又は第2の値を有する第2の選択信号を生成させるとき、マルチプレクサによって、前記データの前記第1の表現又は前記データの前記第2の表現に基づいてOTP読出し結果を出力させ、
    前記第1のフラグがデアサートされて、前記第2のフラグがアサートされていることに基づいて前記出力回路によって、前記第1の値を有する前記第1の選択信号を生成させるとき、前記マルチプレクサによって、前記データの前記第1の表現に基づいて前記OTP読出し結果を出力させ、
    前記第1のフラグがアサートされて、前記第2のフラグがデアサートされていることに基づいて前記出力回路によって、前記第2の値を有する前記第2の選択信号を生成させるとき、前記マルチプレクサによって、前記データの前記第2の表現に基づいて前記OTP読出し結果を出力させ、
    前記第1のフラグと前記第2のフラグとがアサートされていることに基づいて前記出力回路によって、前記第1の値を有する前記第1の選択信号又は前記第2の値を有する前記第2の選択信号を生成させるとき、前記マルチプレクサによって、前記OTP読出し結果として、前記訂正不可能なエラーが検出された前記データの前記第1の表現又は前記データの前記第2の表現のいずれも伴わないエラー信号を出力させ
    命令を含む、非一時的コンピュータ可読記憶媒体。
  22. 前記プロセッサが、セットトップボックス、音楽プレーヤ、ビデオプレーヤ、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、携帯情報端末(PDA)、固定場所データユニット、コンピュータ、またはそれらの組合せ中に一体化されている、請求項21に記載の非一時的コンピュータ可読記憶媒体。
  23. 半導体デバイスの少なくとも1つの物理的性質を表す設計情報を受信するステップであって、前記半導体デバイスが、
    第1のワンタイムプログラマブル(OTP)素子と、
    第2のOTP素子と、
    前記第1のOTP素子からのデータの第1の表現を受信し前記第2のOTP素子からの前記データの第2の表現を受信するように結合されたエラー検出回路と、
    マルチプレクサを含む出力回路であって、前記エラー検出回路の出力に応答して、前記データの前記第1の表現に基づくか、または前記第2のOTP素子からのデータの前記第2の表現に基づいて、OTP読出し結果を出力する、出力回路と、
    を含む、ステップと、
    ファイルフォーマットに適合するように前記設計情報を変換するステップと、
    前記変換された設計情報を含む、データファイルを生成するステップと
    を含み、
    前記エラー検出回路の前記出力が、前記データの前記第1の表現において訂正不可能なエラーが検出されたかどうかを指示する第1のフラグおよび前記データの前記第2の表現において訂正不可能なエラーが検出されたかどうかを指示する第2のフラグを含み
    記第1のフラグと前記第2のフラグとがデアサートされていることに基づいて前記出力回路が、第1の値を有する第1の選択信号又は第2の値を有する第2の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第1の表現又は前記データの前記第2の表現に基づいて前記OTP読出し結果を出力し
    前記第1のフラグがデアサートされて、前記第2のフラグがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第1の表現に基づいて前記OTP読出し結果を出力し
    前記第1のフラグがアサートされて、前記第2のフラグがデアサートされていることに基づいて前記出力回路が、前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサが、前記データの前記第2の表現に基づいて前記OTP読出し結果を出力しかつ、
    前記第1のフラグと前記第2のフラグとがアサートされていることに基づいて前記出力回路が、前記第1の値を有する前記第1の選択信号又は前記第2の値を有する前記第2の選択信号を生成するとき、前記マルチプレクサが、前記OTP読出し結果として、前記訂正不可能なエラーが検出された前記データの前記第1の表現又は前記データの前記第2の表現のいずれも伴わないエラー信号を出力する、方法。
  24. 前記データファイルが、GDSIIフォーマットを含む、請求項23に記載の方法。
  25. 前記データファイルが、GERBERフォーマットを含む、請求項23に記載の方法。
JP2015555238A 2013-01-29 2014-01-22 ワンタイムプログラマブル素子のエラー検出/訂正 Expired - Fee Related JP6306611B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/752,419 2013-01-29
US13/752,419 US9183082B2 (en) 2013-01-29 2013-01-29 Error detection and correction of one-time programmable elements
PCT/US2014/012539 WO2014120529A1 (en) 2013-01-29 2014-01-22 Error detection and correction of one-time programmable elements

Publications (2)

Publication Number Publication Date
JP2016508658A JP2016508658A (ja) 2016-03-22
JP6306611B2 true JP6306611B2 (ja) 2018-04-04

Family

ID=50071782

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015555238A Expired - Fee Related JP6306611B2 (ja) 2013-01-29 2014-01-22 ワンタイムプログラマブル素子のエラー検出/訂正

Country Status (7)

Country Link
US (1) US9183082B2 (ja)
EP (1) EP2951835B1 (ja)
JP (1) JP6306611B2 (ja)
KR (2) KR101914138B1 (ja)
CN (1) CN104956445B (ja)
TW (1) TWI546813B (ja)
WO (1) WO2014120529A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10127998B2 (en) * 2013-09-26 2018-11-13 Nxp Usa, Inc. Memory having one time programmable (OTP) elements and a method of programming the memory
KR102200489B1 (ko) * 2014-05-30 2021-01-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
US9460803B1 (en) * 2015-09-25 2016-10-04 Micron Technology, Inc. Data path with clock-data tracking
CN106681855B (zh) * 2015-11-10 2019-07-05 澜起科技股份有限公司 一次性可编程存储装置以及对其进行数据校验的方法
CN105512560B (zh) * 2015-11-27 2018-11-16 深圳国微技术有限公司 一种一次性可编程存储器芯片和及其的控制方法
KR102563162B1 (ko) * 2016-09-05 2023-08-04 에스케이하이닉스 주식회사 집적회로
US10360956B2 (en) 2017-12-07 2019-07-23 Micron Technology, Inc. Wave pipeline
US11226909B2 (en) 2018-08-24 2022-01-18 Rambus Inc. DRAM interface mode with interruptible internal transfer operation
KR20200071484A (ko) * 2018-12-11 2020-06-19 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 메모리 시스템
CN110751978B (zh) * 2019-10-16 2021-06-08 上海华虹宏力半导体制造有限公司 用于非挥发性存储器的测试校调方法及测试校调电路
FR3110983A1 (fr) * 2020-05-29 2021-12-03 Stmicroelectronics S.R.L. Mémoire et son procédé d'écriture
CN114968068A (zh) * 2021-02-26 2022-08-30 瑞昱半导体股份有限公司 具有单次可编程存储器的电子装置及其写入与读取方法
CN113886134A (zh) * 2021-09-30 2022-01-04 成都千嘉科技有限公司 一种纠错编码读取字轮装置
TWI790971B (zh) * 2022-05-23 2023-01-21 信驊科技股份有限公司 積體電路及其操作方法與檢查方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60201599A (ja) 1984-03-26 1985-10-12 Hitachi Ltd 半導体集積回路装置
JPS61243549A (ja) * 1985-04-19 1986-10-29 Nippon Telegr & Teleph Corp <Ntt> 誤り検出訂正方式
JPH08500687A (ja) * 1992-08-10 1996-01-23 モノリシック・システム・テクノロジー・インコーポレイテッド ウェハ規模の集積化のためのフォルトトレラントな高速度のバス装置及びバスインタフェース
JPH09288619A (ja) * 1996-04-22 1997-11-04 Mitsubishi Electric Corp 主記憶装置
US6092193A (en) * 1997-05-29 2000-07-18 Trimble Navigation Limited Authentication of accumulated instrument data
FR2810152A1 (fr) 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
US7003713B2 (en) 2002-05-16 2006-02-21 Broadcom Corporation Variable Hamming error correction for a one-time-programmable-ROM
US7047381B2 (en) 2002-07-19 2006-05-16 Broadcom Corporation System and method for providing one-time programmable memory with fault tolerance
US7187602B2 (en) 2003-06-13 2007-03-06 Infineon Technologies Aktiengesellschaft Reducing memory failures in integrated circuits
US7398348B2 (en) 2004-08-24 2008-07-08 Sandisk 3D Llc Method and apparatus for using a one-time or few-time programmable memory with a host device designed for erasable/rewritable memory
KR100712596B1 (ko) 2005-07-25 2007-04-30 삼성전자주식회사 플래시 메모리 장치의 리페어 및 트리밍 방법 및 장치
KR100732628B1 (ko) * 2005-07-28 2007-06-27 삼성전자주식회사 멀티-비트 데이터 및 싱글-비트 데이터를 저장하는 플래시메모리 장치
US7774684B2 (en) * 2006-06-30 2010-08-10 Intel Corporation Reliability, availability, and serviceability in a memory device
DE602006008480D1 (de) 2006-09-13 2009-09-24 Hynix Semiconductor Inc NAND-Flash-Speichervorrichtung mit ECC-geschütztem reserviertem Bereich für nicht-flüchtige Speicherung von Redundanzdaten
US8194437B2 (en) 2009-01-13 2012-06-05 Seagate Technology Llc Computer memory device with multiple interfaces
US8264895B2 (en) * 2009-11-30 2012-09-11 Qualcomm Incorporated Resistance based memory circuit with digital sensing
US8547736B2 (en) * 2010-08-03 2013-10-01 Qualcomm Incorporated Generating a non-reversible state at a bitcell having a first magnetic tunnel junction and a second magnetic tunnel junction
US8996950B2 (en) * 2012-02-23 2015-03-31 Sandisk Technologies Inc. Erasure correction using single error detection parity

Also Published As

Publication number Publication date
EP2951835A1 (en) 2015-12-09
CN104956445A (zh) 2015-09-30
KR20150111964A (ko) 2015-10-06
TWI546813B (zh) 2016-08-21
US9183082B2 (en) 2015-11-10
US20140215294A1 (en) 2014-07-31
KR101914138B1 (ko) 2018-11-02
EP2951835B1 (en) 2019-10-09
WO2014120529A1 (en) 2014-08-07
JP2016508658A (ja) 2016-03-22
CN104956445B (zh) 2019-07-05
TW201440063A (zh) 2014-10-16
KR20170043667A (ko) 2017-04-21

Similar Documents

Publication Publication Date Title
JP6306611B2 (ja) ワンタイムプログラマブル素子のエラー検出/訂正
KR101673441B1 (ko) 비트 재맵핑 시스템
JP5670570B2 (ja) 第1の磁気トンネル接合構造および第2の磁気トンネル接合構造を有するビットセルにおける非可逆状態の生成
JP5509344B2 (ja) 参照セルを選択するためのシステムおよび方法
KR101704682B1 (ko) 비트 복구 시스템
KR20120130096A (ko) 자기 터널 접합에 인가될 전류의 방향을 제어하기 위한 시스템 및 방법
CN105518788A (zh) 用于提供参考单元的系统和方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151224

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151224

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20151224

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160509

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161031

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20161109

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20161202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180308

R150 Certificate of patent or registration of utility model

Ref document number: 6306611

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees