(57)【要約】  ランダムアクセスメモリ(RAM)の修復において、エラー情報が受信され、RAMの不良アドレスが特定され、RAMの内容が有効である間に冗長回路の一部にワンタイムプログラミングが適用される。任意で、RAMはダイナミックアクセスRAM(DRAM)であり、DRAMにリフレッシュバーストが適用され、非リフレッシュ間隔が続き、非リフレッシュ間隔の間にワンタイムプログラミングが実行される。
2017534966.tif 000002
【特許請求の範囲】
【請求項１】
冗長回路を有するランダムアクセスメモリ(RAM)の修復のための方法であって、
エラー情報を受信するステップであって、前記エラー情報が前記RAMの不良アドレスを特定する、ステップと、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用するステップと、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持するステップと
を備える、方法。
【請求項２】
前記エラー情報が、前記冗長回路のターゲット領域を特定する情報を含み、前記冗長回路の前記ターゲット領域が不良アドレスに対応する、請求項1に記載の方法。
【請求項３】
冗長回路に前記ワンタイムプログラミングを適用するステップが、前記冗長回路の前記ターゲット領域の少なくとも一部をワンタイムプログラミングするステップと、前記ターゲット領域の少なくとも一部をワンタイムプログラミングしながら、前記RAMの内容を有効な状態に維持するステップとを備える、請求項2に記載の方法。
【請求項４】
前記ワンタイムプログラミングを適用するステップが、前記ワンタイムプログラミングの第1の反復であり、前記ワンタイムプログラミングの前記第1の反復が、前記ターゲット領域の少なくとも第1の部分をプログラムし、前記方法が、
前記ワンタイムプログラミングの第2の反復を、前記冗長回路の前記ターゲット領域の少なくとも第2の部分に適用するステップをさらに備える、請求項2に記載の方法。
【請求項５】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に対応する前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復であり、前記方法が、
前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムするワンタイムプログラミングの別の反復を適用するステップをさらに備える、請求項1に記載の方法。
【請求項６】
前記RAMの前記内容を有効な状態に維持しながら、終了条件が満たされるまで、前記冗長回路に前記ワンタイムプログラミングの別の反復を適用する前記ステップを繰り返すステップをさらに備える、請求項5に記載の方法。
【請求項７】
前記終了条件が、プログラミング完了の条件を含む、請求項6に記載の方法。
【請求項８】
前記プログラミング完了の条件が満たされたと決定すると、前記不良アドレスの修復を検査するステップと、
前記不良アドレスの前記修復を検査する前記ステップの結果が否定的であった場合、修復失敗のレポートを生成するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記不良アドレスに対応する前記冗長回路のすべての部分に前記ワンタイムプログラミングが適用されたと決定すると、前記プログラミング完了の条件が満たされる、請求項7に記載の方法。
【請求項１０】
前記冗長回路への別のワンタイムプログラミングの各適用を検証するステップをさらに備え、前記終了条件が、検証する前記ステップの失敗を検出するステップをさらに備える、請求項6に記載の方法。
【請求項１１】
検証する前記ステップの前記失敗の検出に応答して、修復失敗のレポートを生成するステップをさらに備える、請求項10に記載の方法。
【請求項１２】
前記RAMのアクセスエラーを検出するステップと、
前記RAMの前記アクセスエラーを検出するステップに少なくとも部分的に基づいて、前記エラー情報を生成するステップとをさらに備え、前記エラー情報が、前記冗長回路のターゲット領域を特定する情報を含む、請求項1に記載の方法。
【請求項１３】
前記RAMのアクセスに関連付けられるエラーを検出し、それに応答して前記エラーが前記RAMの修復を呼び出すための基準を満たすかどうかを決定するステップと、
前記エラーが前記RAMの修復を呼び出すための前記基準を満たすとの決定に少なくとも部分的に基づいて、前記エラー情報を生成するステップと、
をさらに備える、請求項1に記載の方法。
【請求項１４】
前記RAMの修復を呼び出すための前記基準がマルチビットエラーを備える、請求項13に記載の方法。
【請求項１５】
前記RAMの修復を呼び出すための前記基準が、前記RAM内のアドレスに関連付けられる繰返しエラーを備える、請求項13に記載の方法。
【請求項１６】
前記エラー情報の少なくとも一部を、前記RAMに関連付けられるメモリレジスタにロードするステップをさらに備える、請求項13に記載の方法。
【請求項１７】
前記エラー情報を生成するステップに関連して、前記RAMからメモリコントローラに前記エラーの通知を送信するステップをさらに備える、請求項13に記載の方法。
【請求項１８】
前記RAMから前記メモリコントローラに前記エラーの前記通知を送信するステップが、前記RAMと前記メモリコントローラとの間のバックチャネルを介する、請求項17に記載の方法。
【請求項１９】
前記エラー情報に少なくとも部分的に基づいて、前記ワンタイムプログラミングを完了するために必要な反復の数を計算するステップをさらに備え、前記ワンタイムプログラミングを適用するステップが、
前記ワンタイムプログラミングを完了するために必要な反復の前記数にわたって繰り返すステップと、ワンタイムプログラミングの別の反復を適用するステップとを含み、各繰返しが、前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムする、請求項1に記載の方法。
【請求項２０】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に関連付けられるヒューズのプログラミングである、請求項1に記載の方法。
【請求項２１】
前記RAMがダイナミックアクセスRAM(DRAM)であり、前記方法が、前記DRAMにリフレッシュバーストを適用することによって、前記DRAMの前記内容を有効な状態に維持するステップをさらに備える、請求項1に記載の方法。
【請求項２２】
前記ワンタイムプログラミングが持続時間を有し、前記ワンタイムプログラミングが、前記持続時間にわたって前記DRAMの前記内容を前記有効な状態に維持する前記リフレッシュバーストの適用に対するタイミングで実行される、請求項21に記載の方法。
【請求項２３】
前記DRAMの前記内容を有効な状態に維持しながら、終了条件が満たされるまで、ワンタイムプログラミングの別の反復を前記冗長回路に適用する前記ステップを繰り返すステップをさらに備える、請求項21に記載の方法。
【請求項２４】
前記DRAMにリフレッシュバーストを適用するステップが、一連のリフレッシュバーストを備え、前記リフレッシュバーストが非リフレッシュ間隔によって離間され、前記方法が、一連の前記非リフレッシュ間隔の間に、前記冗長回路へのワンタイムプログラミングの別の反復のそれぞれの一連の適用を実行するステップをさらに備える、請求項21に記載の方法。
【請求項２５】
プログラマブル冗長回路を有するランダムアクセスメモリ(RAM)の修復のための装置であって、
エラー情報を受信するための手段であって、前記エラー情報が、前記RAMの不良アドレスを特定する、手段と、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用する手段と、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持するための手段と
を備える、装置。
【請求項２６】
前記エラー情報に応じて前記冗長回路に前記ワンタイムプログラミングを適用する手段が、前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復を適用する手段と、前記冗長回路の少なくとも別の部分をプログラムするワンタイムプログラミングの別の反復を適用する手段とを備える、請求項25に記載の装置。
【請求項２７】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に対応する前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復を備え、前記ワンタイムプログラミングが、終了条件が満たされるまで、前記ワンタイムプログラミングの別の反復を前記冗長回路に適用することを繰り返す手段をさらに備え、各繰返しが、前記RAMの前記内容を有効な状態に維持しながら、前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムする、請求項25に記載の装置。
【請求項２８】
プログラマブル冗長回路を有するランダムアクセスメモリ(RAM)の修復のための装置であって、
前記RAM内の不良アドレスを検出し、結果としてエラー情報を生成するためのモジュールであって、前記エラー情報が前記不良アドレスを特定する、モジュールと、
前記RAMの内容を有効な状態に維持するためのモジュールと、
前記RAMの前記内容を前記有効な状態に維持するための前記モジュールが前記RAMの前記内容を前記有効な状態に維持する間、前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用するためのモジュールと
を備える、装置。
【請求項２９】
前記ワンタイムプログラミングを検証するためのモジュールをさらに備え、前記検証の否定的な結果の検出に応答して、修復失敗の通知を生成する、請求項28に記載の装置。
【請求項３０】
プロセッサによって実行されると、前記プロセッサに、メモリデバイス内の有効な内容を維持しながら、冗長回路を有する前記メモリデバイスを修復するための動作を実行させるコードを備えるコンピュータ可読記憶媒体であって、前記プロセッサに、
エラー情報を受信することであって、前記エラー情報が、前記RAMの不良アドレスを特定する、受信することと、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用することと、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持することと
を実行させるためのコードを備える、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に半導体メモリに関し、より詳細には、半導体メモリ故障の修復に関する。
【背景技術】
【０００２】
ダイナミックランダムアクセスメモリ(DRAM)における不良アドレスの修復を提供し得る1つの従来技法は、ヒューズまたはアンチヒューズを飛ばすことによって選択的にアクティブ化される冗長メモリセルを含むことである。ヒューズまたはアンチヒューズアドレスを飛ばすことは、「ワンタイムプログラミング」、すなわち「OTP」と呼ばれ得る。しかしながら、従来のDRAMに適用される場合、知られている従来のOTP技法では、DRAMデータ内容が失われる可能性がある。データ内容が失われる理由は、データ内容の有効性を維持するために、DRAMが定期的にリフレッシュ(読取り、および再書込み)される必要があるからである。所与の最大持続時間を超えてリフレッシュが中断された場合、データ内容の有効性が失われる可能性がある。知られている従来のOTP技法は、DRAMがリフレッシュせずに進むことができる所与の最大持続時間よりも著しく長い場合があるプログラミング時間を必要とする可能性がある。OTPを実行する前にDRAMのデータ内容を別のメモリにオフロードし、DRAM上でOTPを実行し、次いでDRAMを再ロードすることは、いくつかのアプリケーションにとって有効な手段となり得る。しかしながら、この手段は、たとえば、オフロードおよび再ロードのための処理オーバーヘッド、ならびに実質的に過剰なメモリ容量に対する追加の要求を含む、大きなコストを課す可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００３】
この発明の概要は、いくつかの例示的な態様の特徴および態様を特定するものであり、開示される主題の排他的または包括的な説明ではない。特徴または態様がこの発明の概要に含まれるか、またはこの発明の概要から省略されるかは、そのような特徴の相対的重要性を示すものとして意図されていない。以下の詳細な説明を読み、その一部を形成する図面を見ることによって、追加の特徴および態様が記載され、当業者に明らかになるであろう。
【０００４】
他の特徴および利点の中でも、これらに限定されないが、RAMの内容を有効な状態に維持することを含むさらなる特徴を備えた、RAMにおける不良アドレス範囲の修復を提供し得る、様々なシステムおよび方法が開示される。
【０００５】
ある態様による例示的な方法は、冗長回路を有するランダムアクセスメモリ(RAM)の修復を提供し得、RAMの不良アドレスを特定し得るエラー情報を受信するステップを含み得、エラー情報に応じて、冗長回路にワンタイムプログラミングを適用し得、冗長回路にワンタイムプログラミングを適用しながら、RAMの内容を有効な状態に維持し得る。
【０００６】
ある態様では、開示された方法は、ダイナミックアクセスRAM(DRAM)であるRAMを含み得、そのような方法は、たとえば、DRAMの内容を有効な状態に維持しながら修復を提供するために、リフレッシュ動作との協力関係において、反復ワンタイムプログラミングを含み得る。
【０００７】
ある態様では、開示される装置は、プログラマブル冗長回路を有するRAMの修復を提供し得、RAMの不良アドレスを特定し得るエラー情報を受信するための手段を含み得、また、エラー情報に応じて、冗長回路にワンタイムプログラミングを適用し、冗長回路にワンタイムプログラミングを適用しながら、RAMの内容を有効な状態に維持するための手段を含み得る。
【０００８】
別の態様では、開示される装置は、プログラマブル冗長回路を有するRAMの修復を提供し得、RAM内の不良アドレスを検出し、結果として不良アドレスを特定し得るエラー情報を生成するためのモジュールを含み得る。開示される装置は、RAMの内容を有効な状態に維持するためのモジュールと、RAMの内容を有効な状態に維持するためのモジュールがRAMの内容を有効な状態に維持しながら、エラー情報に応じて、冗長回路にワンタイムプログラミングを適用するためのモジュールとをさらに備え得る。
【０００９】
ある態様では、開示される非一時的コンピュータ可読媒体は、プロセッサによって実行されると、プロセッサに、メモリデバイス内の有効な内容を維持しながら、冗長回路を有するメモリデバイスを修復するための動作を実行させるコードを備え得る。さらなる態様では、開示される非一時的コンピュータ可読媒体は、実行されると、プロセッサに、RAMの不良アドレスを特定し得るエラー情報を受信させ、エラー情報に応じて、冗長回路にワンタイムプログラミングを適用させ、冗長回路にワンタイムプログラミングを適用しながら、RAMの内容を有効な状態に維持させ得るコードを含み得る。
【００１０】
添付の図面は、本発明の態様の説明を補助するために提示されており、それを限定するためではなく例示するためにのみ提供される。
【図面の簡単な説明】
【００１１】
【図１】1つまたは複数の態様に従って構成されたシステム内エラー管理メモリを有する、1つの例示的なプロセッサシステムの機能ブロック概略図である。
【図２】1つまたは複数の態様による、1つのOTPバースト修復プロセスにおける例示的な動作の例示的なイベントシーケンスを示す図である。
【図３】1つまたは複数の態様による、1つの代替のOTPバースト修復プロセスにおける例示的な動作の例示的なイベントシーケンスを示す図である。
【図４】1つまたは複数の例示的な態様による、1つの例示的なパーソナル通信およびコンピューティングデバイスの機能概略図である。
【図５】1つまたは複数の態様に従って構成された、システム内エラー管理メモリを有する1つの例示的なプロセッサシステムの機能モジュールブロック概略図である。
【図６】様々な例示的な態様による、1つまたは複数の修復プロセスにおける、およびそれに関連付けられる、例示的な動作の流れ図である。
【発明を実施するための形態】
【００１２】
本発明の態様は、特定の例示的な態様を対象とする以下の説明および関連する図面に開示される。本発明の範囲から逸脱することなしに、代替の態様が考案され得る。いくつかの説明された例示的な実装形態では、様々な構成要素の構造および動作の部分が知られている従来技法から得られ、次いで1つまたは複数の態様に従って配置される場合に実例が特定される。そのような実例では、知られている従来の構成要素構造および/または動作の部分の内部詳細は、本発明の概念の潜在的な不明瞭化の回避に役立つべく省略されている。
【００１３】
本明細書において使用される用語は、特定の態様を説明するためだけのものであり、本発明の範囲を限定することが意図されるものではない。
【００１４】
本明細書において使用される「例示的な」という語は、「例、実例、または例証として働く」ことを意味する。したがって、本明細書において使用される「例示的な態様」という用語は、例、実例、または例証として働く態様を意味するが、必ずしも他の態様よりも好ましい、または有利とは限らない。同様に、特徴、利点、または動作モードに関して本明細書において使用される「本発明の態様」という用語は、本発明のすべての態様が、説明された特徴、利点、または動作モードを含むことを意味しないことが理解されよう。
【００１５】
本明細書において使用されるように、単数形「a」、「an」、および「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図される。「備える」、「備えている」、「含む」、および/または「含んでいる」という用語は、本明細書において使用される場合、言及されている特徴、完全体、ステップ、動作、要素および/または構成要素の存在を明示しているが、1つまたは複数の他の特徴、完全体、ステップ、動作、要素、構成要素および/またはそれらのグループの存在または追加を排除するものではない。
【００１６】
いくつかの態様が、たとえば、設計および製造の様々なプロセスにおける、またはそれに関連する動作およびステップに関して説明される。実例において明示的に別途記載されている場合、または特定の文脈から明らかな場合を除いて、そのような動作およびステップの記載された順序は例示の目的に過ぎず、様々な例示的な態様による実施において適用され得る動作またはステップの順序を必ずしも限定するものではないことが理解されよう。
【００１７】
また、流れ図を参照して、様々なプロセスにおける動作が説明される。流れ図は、必ずしも1つのブロックによって示される動作が終了することを意味するものではなく、別のブロックによって示される動作の開始時に継続できないことを意味するものでもないことが理解されよう。
【００１８】
いくつかの態様は、たとえば、コンピューティングデバイスまたはコンピューティングデバイスの要素によって実行されるか、またはその制御下で実行され得る、例示的な動作、ステップ、動作のアクションおよびシーケンス、ステップ、ならびにアクションに関して説明される。本開示を読めば、そのような動作、ステップ、アクション、シーケンス、およびそれらの他の組合せは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、またはその制御下で、1つまたは複数のプロセッサによって実行されるプログラム命令によって、あるいは両方の組合せによって実行され得ることが当業者によって理解されよう。
【００１９】
したがって、動作、ステップ、アクション、シーケンス、およびそれらの他の組合せは、実行されると、関連するプロセッサに、本明細書において説明されている動作、ステップ、アクション、シーケンスおよび他の組合せを直接または間接的に実行させることができる対応するセットのコンピュータ命令が記憶された任意の形態のコンピュータ可読記憶媒体内で完全に具体化され得ることが、そのような当業者には理解されよう。したがって本発明の様々な態様は、多くの異なる形態で具体化され得、それらのすべては、特許請求される主題の範囲内であることが企図されている。
【００２０】
図1は、1つまたは複数の例示的な態様に従って構成された、1つのプロセッサシステム100の機能ブロック概略図を示す。プロセッサシステムは、たとえば、CPU104およびメモリコントローラ106を有し、プロセッサ102の外部にDRAMデバイス108を有するプロセッサ102を備え得る。ある態様では、プロセッサ102は、システムオンチップ(SOC)プロセッサデバイスとして実装され得る。図1を参照すると、DRAMデバイス108は、DRAMローカル制御ロジック110などのローカル制御ロジックを含み得る。DRAMローカル制御ロジック110は、図1にラベル付けされて示されている例などの機能ブロックまたは論理ブロックを提供する、または含むことができ、これらは本開示において後に詳細に説明される。
【００２１】
図1を参照すると、DRAMデバイス108は、たとえば、DRAMセルアレイ112を含み得る。DRAMセルアレイ112は、従来の行-列の、アドレス指定可能なセルアレイ(図1では別個には見えない)技法に従って構造化され配置されたセルアレイを含み得る。知られている従来の行-列の、アドレス指定可能なセルアレイ技法に従って、DRAMセルアレイ112は、たとえば、知られている従来のDRAMワード線およびビット線デコーダ(図1では別個には見えない)、従来のDRAM読出し回路、たとえば、センス増幅器(図1では明示的には見えない)、および従来のDRAM書込み回路(図1では明示的には見えない)を含み得る。
【００２２】
ある態様では、DRAMセルアレイ112は、公称アクティブDRAM領域112-Aと、「冗長性」112-Rとラベル付けされた冗長DRAMセルのリソースとを備え得る。冗長性112-Rは、知られている従来のDRAM冗長技法に従って構造化され配置され得る。たとえば、冗長性112-Rは、冗長行(図1では明示的には見えない)、および冗長列(図1では明示的には見えない)などのグループまたはブロックに配置され得る。ある態様では、そのようなブロックまたは冗長性112-Rのそのようなブロックの一部は、本開示において後に詳細に説明されるように、たとえば、ブロックまたはブロックの一部、たとえば公称アクティブDRAM領域112-Aの行(図1では別個には見えない)、列(図1では明示的には見えない)、行の一部、および/または列の一部を置換するために選択的にアクティブ化され得る。        ある態様では、プロセッサ102は、例示的な態様によるプロセスへの様々な動作をさらに可能にするために、メモリコントローラ106にローカルなランダムアクセスメモリ107(以下、「RAM107」と称する)をさらに含み得る。
【００２３】
ある態様では、冗長性112-Rに関連付けられるワンタイムプログラマブル回路は、本開示において後に詳細に説明されるように、一連のパルスワンタイムプログラミング(OTP)反復においてプログラムされ得る。さらなる態様では、反復は、定期的なバーストリフレッシュの間に発生し得る非リフレッシュ間隔(NRI)と同期され得、各反復は、ワンタイムプログラマブル回路の別の部分をプログラムし得る。例を説明する際の便宜のために、バーストリフレッシュとタイミングを合わせるか、またはバーストリフレッシュと同期させるそのようなパルスOTP動作は、代替的に、本開示において「継続的リフレッシュを伴うパルスOTP」または「パルスOTP-WCR修復」と呼ばれる。本開示において使用される「WCR」は、「継続的リフレッシュを伴う(with continuing refresh)」の略語であり、追加的または固有の意味を有さず、本開示に外的意味を導入しないことが理解されよう。
【００２４】
引き続き図1を参照すると、「DQ」とラベル付けされた例などのDRAMアクセス線またはバスは、メモリコントローラ106をDRAMローカル制御ロジック110の読出し-書込み制御ブロック(RD_WT_BLK)114に接続し得る。バックチャネル116などの専用制御線は、メモリコントローラ106をDRAMローカル制御ロジック110のエラー制御コード論理ブロック(ECC_BLK)118に直接接続し得る。ある態様では、ECC_BLK118は、公称アクティブDRAM領域112-Aから読み出されたデータ内のビットエラーをチェックするように構成され得る。ECC_BLK118は、所与の基準または複数の所与の基準のうちの1つを満たすエラーの検出に応答して、エラー検出信号、たとえば「ECC_Flag」を生成するように構成され得る。基準は、検出されたエラーがDRAMデバイス108の修復の呼出しに適格となるように設定され得る。DRAMデバイス108内の検出されたエラーが修復の呼出しに適格となるために設定され得る1つの例示的な基準は、検出されたビットエラーが訂正不能であり、したがってDRAMデバイス108内の不良アドレスを示すことであり得る。図示のように、DRAMローカル制御ロジック110内のECC_BLK118または他の回路は、DRAMセルアレイ112から読み出されたデータ内の単一のビットエラーを訂正するように構成され得るが、2ビットエラーを検出するためだけであり、訂正するためではない。そのような例示的な構成において、ECC_BLK118は、2ビットエラーを検出するとECC_Flagを生成するようにさらに構成され得る。別の例示的な基準は、DRAM領域112-A内の特定のアドレスまたはアドレス範囲からの繰返しエラーであり得る。ECC_BLK118の上述の例示的な構成、すなわち単一のビットエラーを訂正し、2ビットエラーを検出するが、訂正せず、およびECC_Flagまたは等価物を生成することは、例示の目的に過ぎず、例示的な態様のうちのいずれかの範囲を限定することが意図されるものではないことが理解されるであろう。
【００２５】
図1を参照すると、DRAMローカル制御ロジック110は、拡張モードレジスタセットブロック120(以下、「MRS_BLK_RP」120と称する)をさらに含み得る。MRS_BLK_RP120は、本開示において後に詳細に説明されるように、不良アドレスを修復する際に使用するための情報(図1では別個には見えない)に加えて、従来のモードレジスタ技法に従ってDRAM制御情報を保持するためのモードレジスタ(図1では別個には見えない)で構成され得る。ある態様では、DRAMローカル制御ロジック110は、DRAM制御ブロック122(以下、「DRAM_CTRL_BLK122」と称する)を含み得る。DRAM_CTRL_BLK122は、たとえば、DRAMセルアレイ112内のデータ内容の有効性を維持する従来のDRAMリフレッシュ動作を制御するように構成され得る。DRAM_CTRL_BLK122によるそのような動作は、少なくとも部分的に、MRS_BLK_RP120の内容に基づき得る。例示的な態様によるパルスOTP-WCR修復動作に特有の動作の制御以外のDRAM_CTRL_BLK122の特徴は、知られている従来のDRAM制御技法に従い得るので、そのような特徴のさらなる詳細な説明は省略される。
【００２６】
図1を参照すると、ある態様では、DRAMローカル制御ロジック110はまた、たとえばアドレス情報をリフレッシュ同期パルスOTP制御ブロック126(以下、「OTP-WCR_CTL126」と称する)に提供するように構成され得るコマンドアドレスブロック124(以下、「CMD_ADD_BLK124」と称する)を含み得る。OTP-WCR_CTL126は、次に、OTPヒューズブロック128(以下、「OTP_FUSE_BLK128」と称する)内でヒューズをプログラムする、すなわち選択的にヒューズを飛ばすように構成され得る。
【００２７】
ある態様では、様々な例示的な態様によるパルスOTP-WCR修復の1つのプロセスにおける例示的な動作は、コントローラがDRAM不良アドレスの通知を受信することから開始し得る。たとえば、図1を参照すると、DRAMローカル制御ロジック110のECC_BLK118は、DRAMセルアレイ112から読み出されたデータ内のビットエラー、たとえば2ビットエラーを検出し得る。ECC_BLK118は、それに応答してECC_FLAGまたは等価物をプロセッサ102のメモリコントローラ106に送信し得る。
【００２８】
図1を参照すると、例示のためにプロセッサシステム100上で実行される、1つのパルスOTP-WCRプロセスにおける例示的な動作が説明される。例示的な動作は、ECC_BLK118がDRAMセルアレイ112内の不良アドレスを検出することと、これに応答して、ECC_Flagなどの不良アドレス信号をプロセッサ102内のメモリコントローラ106に送信することとを含み得る。ある態様では、ECC_BLK118は、バックチャネル116を介してECC_Flagを送信し得る。ECC_BLK118は、不良アドレスを検出することに関連して、MRS_BLK_RP120に修復パラメータ(別々に示されていない)をロードし得る。メモリコントローラ106は、ECC_Flagの受信に応答して、コマンド信号、たとえば、パルスOTP-WCRプログラムモード制御信号(図1では別個には見えないが、図2を参照してさらに詳細に説明される)をDRAMローカル制御ロジック110に送信する。DRAMローカル制御ロジック110は、DRAMデバイス108をパルスOTP-WCRプログラミングモードに切り替えることによって、パルスOTP-WCRプログラムモード制御信号に応答するように構成され得る。DRAMローカル制御ロジック110は、デフォルトとして、またはメモリコントローラ106からの情報の追加として、それ自体のプログラミング情報も提供するように構成され得る。
【００２９】
ある態様では、DRAMローカル制御ロジック110のOTP-WCR_CTLブロック126は、メモリコントローラ106からプログラミング情報を受信する前に、またはそれに関連して、ECC_BLK118によって特定された不良アドレスの修復を達成するようにプログラムするために、OTP_FUSE_BLK128内のヒューズのターゲット領域を決定し得る。OTP_FUSE_BLK128内のヒューズのターゲット領域は、アクティブ化されると、ECC_BLK118によって特定された不良アドレスを置換し得る、冗長性112-Rにおける領域(図1では別個には見えない)に対応し得る。
【００３０】
図1を参照すると、OTP-WCR_CTLブロック126がOTP_FUSE_BLK128内のヒューズのターゲット領域を決定した後、OTP_FUSE_BLK128上でパルスOTP-WCR動作の第1の反復が実行され得る。第1の反復は、OTP_FUSE_BLK128内のヒューズのターゲット領域の第1の部分上にあり得る。第1の部分(および残りの部分)のサイズに関して、様々な例示的な実施形態によるパルスOTP-WCR修復における動作は、最大バーストプログラミング部分を決定することを含み得る。簡潔にするために、「最大バーストプログラミング部分」という語句は、代替で「MBP」と略記される。MBPは、最大数のアドレス、または所与のNRIの間にプログラムされ得るヒューズであり得る。さらなる態様では、MBPは、NRIの長さ、およびアドレスごと(またはヒューズごと)のプログラミング時間に基づいて決定され得る。ある態様では、MBPは、NRIをアドレスごと(またはヒューズごと)のプログラミング時間で除算することに基づいて決定され得る。例として、1つの時間単位の正規化されたアドレスごと(またはヒューズごと)のプログラミング時間、およびNRIの100個の時間単位長を割り当てると、MBPは100となる。ある態様では、MBPは、DRAMが、様々な例示的な実施形態によるパルスOTP修復のためのパルスOTP修復モードに切り替わるたびに再計算されるのとは対照的に、あらかじめ決定され得る。
【００３１】
図1を参照すると、様々な例示的な態様によれば、パルスOTP-WCR動作(および、その後のすべての反復)の第1の反復は、DRAMセルアレイ112上のバーストリフレッシュに続くように同期され得る。パルスOTP-WCR動作の第1の反復が後に続くDRAMセルアレイ112上のバーストリフレッシュは、「DRAM第1のバーストリフレッシュ」と呼ばれ得る。パルスOTP-WCR動作の第1の反復後、第2のバーストリフレッシュがDRAMセルアレイ112に適用され得る。第1のバーストリフレッシュの終了と第2のバーストリフレッシュの開始との間の時間間隔は、本開示において先に説明されたNRI(非リフレッシュ間隔)であり得ることが理解されよう。したがって、MBP値、すなわちパルスOTP-WCR動作の第1の反復によってプログラムされたOTP_FUSE_BLK128内のヒューズの数は、パルスOTP-WCRの第1の反復がNRI未満になるように設定され得る。
【００３２】
第1の部分がOTP_FUSE_BLK128内のヒューズのターゲット領域よりも小さいと仮定すると、パルスOTP-WCR動作の第2の反復が実行され得る。ある態様では、不良アドレス範囲は、所与のNRIおよび所与のMBPについて、OTP_FUSE_BLK128内のターゲット領域ヒューズ全体をプログラムするために追加の反復が必要とされ得るようなものであり得る。必要な反復の総量は、「K」とラベル付けされ得る。K回の反復の各々は、DRAMセルアレイ112上で別のバーストリフレッシュに続くことができる。反復は、パルスOTP-WCR動作のK回の反復が、DRAMセルアレイ112上のK回の連続バーストリフレッシュと、たとえばインターリーブされた方法で同期されるように連結され得る。
【００３３】
図1を参照すると、量「K」は、たとえば、メモリコントローラ106によって計算され得る。ある態様では、上述の反復は、カウントがKに達するまでカウントされ得る。Kに達するカウントのイベントは、パルスOTP-WCR動作を終了させるための終了条件と見なされ得る。別の態様では、反復をカウントする代わりに、OTP_FUSE_BLK128のターゲット領域のプログラミングが完了したかどうかに関して、パルスOTP-WCR動作の各反復の後に決定が行われ得る。答えが「いいえ」である場合、パルスOTP-WCR動作の別の反復が適用され得る。
【００３４】
ある態様では、OTP_FUSE_BLK128内のターゲット領域ヒューズのプログラミングが完了すると、プログラミングの検証が実行され得る。検証は、冗長回路内のヒューズのワンタイムプログラミングを検証するための従来技法を利用し得る。そのような従来の検証技法は、当業者には知られており、その態様に従って実施するために、本開示を読むそのような当業者によって容易に適合され得、したがって、さらなる詳細な説明は省略される。
【００３５】
図2は、1つまたは複数の態様による、例示的なイベントシーケンス、および1つのOTPバースト修復プロセスにおける関連する動作の図200を示す。図200における例示的なイベントおよび例示的な動作は、集合的に「修復シーケンス200」と呼ばれる。修復シーケンス200に関連付けられる例示的な動作は、図1の処理システム100を参照して説明される。修復シーケンス200における例示的な動作の説明は、不良アドレスが、たとえば図1のECC_BLK118によって検出され、また、たとえば図1のメモリコントローラ106などのパルスOTP-WCR修復コントローラが不良アドレスを通知されたと仮定する。
【００３６】
図2を参照すると、修復シーケンス200における動作は202で開始し得、DRAMをパルスOTP-WCRモードに切り替えるために「プログラム開始コマンド」(PGM ST CMD)がDRAMに送信される。PGM ST CMDは、たとえば、図1のメモリコントローラ106からDRAMローカル制御ロジック110に送信され得る。次に、204-1において、第1のバーストリフレッシュ204-1がDRAMセルアレイ112に適用され得る。第1のバーストリフレッシュ204-1は、持続時間tBSTを有し得る。「第1のバーストリフレッシュ204-1」の文脈における「第1の」は、202におけるPGM ST CMDの後の第1のバーストリフレッシュを単に意味することが理解されよう。言い換えれば、図2で見られるK+1バーストリフレッシュ(204-1…204-(K+1))は、単に修復シーケンス200に先行し、スパンし、そして修復シーケンス200の後に続く、バーストリフレッシュの連続シーケンスのK+1のウィンドウであり得る。
【００３７】
図2を参照すると、第1のバーストリフレッシュ204-1の後に、第1のパルスOTP-WCR動作206-1が実行され得る。図1および図2を参照すると、第1のパルスOTP-WCR動作206-1は、OTP_FUSE_BLK128内のヒューズのターゲット領域の第1の部分をプログラムし得る。第1のパルスOTP-WCR動作206-1は、時間間隔tPMPを有し得る。次に、204-2において、第2のバーストリフレッシュ204-2がDRAMセルアレイ112に適用され得る。第2のバーストリフレッシュ204-2は、第1のバーストリフレッシュ204-1と同じ持続時間tBSTを有し得る。すべてのバーストリフレッシュ(たとえば、204-1…204-(K+1))が同じ持続時間tBSTを有すると仮定され得る。また、バーストリフレッシュ(たとえば、204-1…204-(K+1))が周期的であり、周期がtREFで一定のままであり得ると仮定され得る。したがって、第2のバーストリフレッシュ204-2の開始は、第1のバーストリフレッシュ204-1の開始後にtREFで発生し得る。したがって、tREFとtBSTとの間の差は、本開示において先に説明されたNRIの例であり得る。したがって、第1のパルスOTP-WCR動作の持続時間であるtPMPは、tREFとtBSTとの間の差よりも小さくなければならないことが理解されよう。
【００３８】
引き続き図2を参照すると、第2のバーストリフレッシュ204-1の後に、第2のパルスOTP-WCR動作206-2が実行され得る。図1および図2を参照すると、第2のパルスOTP-WCR動作206-2は、OTP_FUSE_BLK128内のヒューズのターゲット領域の第2の部分をプログラムし得る。第1のパルスOTP-WCR動作206-1および第2のパルスOTP-WCR動作206-2は、OTP_FUSE_BLK128内のヒューズのターゲット領域のプログラミングを完了するために十分ではないと仮定すると、追加のパルスOTP-WCR動作206-3...206-Kが実行され得る。本明細書では、「パルスOTP-WCR動作の反復206」(図2には別個に示されていない)という用語は、パルスOTP-WCR動作206-1...206-Kへの一般的な参照として導入される。本明細書では、「バーストリフレッシュ204」(図2には別個に示されていない)という用語は、バーストリフレッシュ204-1...204-(K+1)への一般的な参照として導入される。パルスOTP-WCR動作206-3からパルスOTP-WCR動作206-KへのパルスOTP-WCR動作の各反復206は、対応するバーストリフレッシュ204の直後にタイミングを合わせられ得る。たとえば、第3のパルスOTP-WCR動作206-3は、第3のバーストリフレッシュ204-3の直後にタイミングを合わせられ得る。同様に、K番目のパルスOTP-WCR動作206-Kは、K番目のバーストリフレッシュ204-Kの直後にタイミングを合わせられ得る。
【００３９】
図2を参照すると、パルスOTP-WCR動作の反復206は、終了条件が満たされるまで継続し得る。本開示において先に説明されたように、終了条件は、あらかじめ計算されたカウント、たとえばKを満たす反復のカウントであり得る。あるいは、終了条件は、OTP_FUSE_BLK128内のヒューズのターゲット領域のすべての部分がプログラムされたという決定であり得る。ある態様では、終了条件が満たされると、パルスOTP-WCRプログラムモードを終了するために、たとえばDRAMローカル制御ロジック110に「プログラムモードを終了」(EXT PGM MD)コマンドが送信され得る。ある態様では、DRAMデバイス108は、パルスOTP-WCRプログラムモードを終了した後に、DRAMセルアレイ112に別のバーストリフレッシュ204-(K+1)を適用し得る。次に、210において、修復シーケンスはDRAMデバイス108を通常の動作に戻し得る。修復シーケンスの合計時間は、tPGMであり得る。任意で、210で通常の動作状態に戻る前に、冗長性112-Rの現在はアクティブであるターゲット部分の成功した動作を検証するために、検証(図2では明示的には見えない)が適用され得る。
【００４０】
1つの代替的な態様では、プロセッサ102内のメモリコントローラ106などのコントローラは、バーストオートリフレッシュを使用してバーストOTP-WCR修復シーケンスを制御し得る。
【００４１】
図3は、1つまたは複数の例示的な態様による、1つの代替的なOTPバースト修復プロセスにおける例示的な動作の例示的なイベントシーケンスの図300を示す。図300内の例示的なイベントおよび例示的な動作は、集合的に「修復シーケンス300」と呼ばれる。修復シーケンス300における記述される例示的な動作は、不良アドレスが検出されたと仮定し、パルスOTP-WCR修復コントローラ、たとえば、図1のメモリコントローラ106は、不良アドレスを通知されている。
【００４２】
図3を参照すると、修復シーケンス300における動作は、第1のバーストリフレッシュ302-1の後に、第1のパルスOTP-WCR動作304-1を含み得る。第1のパルスOTP-WCR動作304-1は、OTP_FUSE_BLK128内のヒューズのターゲット領域の第1の部分をプログラムするためにコマンドをDRAMデバイス108に送信するコントローラ、たとえばメモリコントローラ106を含み得る。第1のバーストリフレッシュ302-1、および修復シーケンス300における(および、その前後の)他のすべてのバーストリフレッシュは、本開示において先に説明された時間間隔tBSTを有し得る。また、第1のパルスOTP-WCR動作304-1、および修復シーケンス300における他のすべてのパルスOTP-WCR動作304は、本開示において先に説明された時間間隔tPMPを有し得る。第1のパルスOTP-WCR動作304-1の後、第2のバーストリフレッシュ302-2がDRAMセルアレイ112に適用され得る。第2のバーストリフレッシュ302-2の後、第2のパルスOTP-WCR動作304-2が実行され得る。第2のパルスOTP-WCR動作304-2は、OTP_FUSE_BLK128内のヒューズのターゲット領域の第2の部分をプログラムし得る。
【００４３】
図3を参照すると、第1のパルスOTP-WCR動作304-1および第2のパルスOTP-WCR動作304-2は、OTP_FUSE_BLK128内のヒューズのターゲット領域のプログラミングを完了するために十分ではないと仮定される。したがって、追加のパルスOTP-WCR動作304-3...304-Lが実行され得る。「パルスOTP-WCR動作の反復304」(図3には別個に示されていない)という用語は、パルスOTP-WCR動作304-1...304-Lへの一般的な参照として導入される。パルスOTP-WCR動作304-3からパルスOTP-WCR動作304-LへのパルスOTP-WCR動作の各反復304は、対応するバーストリフレッシュ302の直後にタイミングを合わせられ得る。パルスOTP-WCR動作の反復304は、終了条件が満たされるまで、たとえば、反復のカウントがあらかじめ計算されたカウントを満たすまで、またはOTP_FUSE_BLK128内のヒューズのターゲット領域のすべての部分がプログラムされたという決定まで継続し得る。DRAMデバイス108は、終了条件が満たされた後に、DRAMセルアレイ112に別のバーストリフレッシュ302-(L+1)を適用し得る。次に、306において、修復シーケンス300はDRAMデバイス108を通常の動作に戻し得る。任意で、306で通常の動作状態に戻る前に、冗長性112-Rの現在はアクティブであるターゲット部分の成功した動作を検証するために、検証(図3では明示的には見えない)が適用され得る。
【００４４】
図4は、上述のように、図1のプロセッサシステム100を参照して説明した機能および特徴をサポートまたは提供するように構成され得る、パーソナル通信およびコンピューティングデバイス400の一例を示す。図4を参照すると、パーソナル通信およびコンピューティングデバイス400は、システムバス402と、システムバス402に結合された1つまたは複数のCPU404とを含み得る。CPU404は、たとえば、1つまたは複数のプロセッサ406と、1つまたは複数のキャッシュメモリ408と備え得る。CPU406は、たとえば、限定ではなく、1つまたは複数のARM型処理デバイス(図4では別個には見えない)などの、1つまたは複数のプログラマブルコンピューティングデバイスによって実装され得る。CPU406は、マスタデバイスとして実行することが可能であり得る。CPU406は、たとえば、システムバス402を通じて、様々なマスタデバイスおよびスレーブデバイスに相互結合され得る。CPU404は、従来の通信プロトコルに従って、システムバス402を介してアドレス情報、制御情報、およびデータ情報を交換することによって、これらの他のデバイスと通信し得る。図4には示されていないが、複数のシステムバス402が提供され得る。複数のシステムバス402を有する例では、各システムバス402は異なる構造を構成し得る。
【００４５】
図4を参照すると、CPU404は、スレーブデバイスの一例として、システムメモリ412のメモリコントローラ410にバストランザクション要求を通信し得る。
【００４６】
ある態様では、システムバス402、CPU404、およびシステムメモリ412のうちの1つまたは複数は、メモリコントローラ410または等価物を、図1のDRAMローカル制御ロジック110のECC_BLK118などの機能を有するエラー制御コード論理ブロック(図4では明示的には見えない)に直接接続するために、図1のバックチャネル116などの専用の制御線(図4では明示的には見えない)を含むか、またはサポートし得る。一態様では、CPU404およびメモリコントローラ410は、図1のプロセッサ102に対応し得、システムメモリ412は、DRAMデバイス108に対応し得る。しかしながら、当業者であれば、図1の様々な要素が、図5を参照してさらに詳細に説明されるように、本開示の趣旨から逸脱することなしに、他の構成ではコンピューティングデバイス400全体に分散され得ることを理解するであろう。
【００４７】
図4を参照すると、他のマスタデバイスおよびスレーブデバイスの例は、1つまたは複数の入力デバイス414、1つまたは複数の出力デバイス416、1つまたは複数のネットワークインターフェースデバイス418、ならびに1つまたは複数のディスプレイコントローラ420を含み得る。入力デバイス414は、使用される場合、これらに限定されないが、入力キー、スイッチ、音声プロセッサなどを含む任意の種類の入力デバイスを含み得る。出力デバイス416は、使用される場合、これらに限定されないが、オーディオ、ビデオ、他の視覚インジケータなどを含む任意の種類の出力デバイスを含み得る。ネットワークインターフェースデバイス418は、使用される場合、ネットワーク422への、またはそこからのデータの交換を可能にするように構成された任意の種類のネットワークインターフェースデバイスであり得る。ネットワーク422は、これらに限定されないが、ワイヤードまたはワイヤレスネットワーク、プライベートまたはパブリックネットワーク、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WLAN)、およびインターネットを含む任意の種類のネットワークであり得る。ネットワークインターフェースデバイス418は、所望の任意の種類の通信プロトコルをサポートするように構成され得る。
【００４８】
引き続き図4を参照すると、CPU404はまた、1つまたは複数のディスプレイ424に送信される情報を制御するために、システムバス402を介してディスプレイコントローラ420にアクセスするように構成され得る。ディスプレイコントローラ420は、たとえば、1つまたは複数のビデオプロセッサ426を介して表示されるべき情報をディスプレイ424に送信し得る。ビデオプロセッサ426は、たとえば、ディスプレイ424に適したフォーマットに表示されるべき情報を処理し得る。ディスプレイ424は、使用される場合、たとえば、アクティブまたはパッシブ液晶ディスプレイ(LCD)、プラズマディスプレイ、およびブラウン管(CRT)などの任意の種類のディスプレイを含み得る。
【００４９】
図5は、1つまたは複数の例示的な態様に従って構成された、システム内エラー管理メモリを有する1つの例示的な装置500の機能モジュール概略図を示す。図5を参照すると、装置500は、相互接続502およびDRAM504を含み得る。DRAM504は、公称セル領域504-Aおよび冗長セル領域504-Bを有する冗長性を備えたDRAMであり得る。冗長セル領域504-Bは、代替的に、「冗長リソース」504-Bと呼ばれ得る。DRAM504は、たとえば、全体的または部分的に図1のDRAMデバイス108によって実装され得る。ある態様では、装置500は、プログラマブル冗長回路506を含み得る。プログラマブル冗長回路506は、冗長リソース504-B内の対応するメモリセルへの、公称セル領域504-A内の冗長メモリセル(たとえば、行、列、行の一部、列の一部)のワンタイムプログラマブルマッピングアドレスのための、選択的に飛ばすことが可能なヒューズ(図5では別個には見えない)を含み得る。図1および図5を参照すると、プログラマブル冗長回路506は、たとえばOTP_FUSE_BLK128によって実装され得る。
【００５０】
図5を参照すると、装置500は、DRAM504をバーストリフレッシュするためのモジュール508を含み得る。図1および図5を参照すると、モジュール508の例示的な実装形態は、MRS_BLK_RP120のいくつかの機能的側面と組み合わせてDRAM_CTRL_BLK122を含み得る。図1、図4、および図5を参照すると、モジュール508を実装するためにバーストリフレッシュを実行する際の上述のDRAM_CTRL_BLK122およびMRS_BLK_RP120などの回路の機能は、たとえばメモリコントローラ410、またはシステムメモリ412の内部の回路(図4では明示的には見えない)によって提供され得る。
【００５１】
装置500は、DRAM504のアクセスにおけるエラーを検出し、それに応答してエラー情報を生成するためのモジュール510を含み得る。エラー情報は、たとえば、冗長DRAM504の不良アドレスを特定し得る。図1および図5を参照すると、モジュール510の1つの例示的な実装形態は、DRAMローカル制御ロジック110のECC_BLK(エラー制御コード論理ブロック)118でもよく、それを含んでもよい。図1、図4、および図5を参照すると、モジュール510を実装するためのエラー検出における上述のECC_BLK118などの回路の機能は、たとえばメモリコントローラ410、またはシステムメモリ412の内部の回路(図4では明示的には見えない)によって提供され得る。
【００５２】
図5を参照すると、装置500は、冗長DRAM504の内容を有効に維持しながら、モジュール510からのエラー情報の受信に応答して、ワンタイムプログラミング動作をプログラマブル冗長回路504-Bに適用するためのモジュール512を含み得る。ある態様では、モジュール512は、たとえば、図1〜図3を参照して説明されるK回またはL回の反復として、ワンタイムプログラミングを反復的に適用するように構成され得る。ある態様では、ワンタイムプログラミング動作をプログラマブル冗長回路に適用しながら、DRAM504の内容の有効性を維持することに関連して、モジュール512およびモジュール508は、モジュール512がワンタイムプログラミングの反復をDRAM504のモジュール508バーストリフレッシュと同期させることを可能にする情報を交換するように構成され得る。ある態様では、モジュール512は、たとえば、終了条件が満たされるまで反復を繰り返すループ方式でプログラミングを冗長回路506に適用するように構成され得る。
【００５３】
図1および図5を参照すると、モジュール512の上述の機能の実装形態は、メモリコントローラ106およびDRAMローカル制御ロジック110の記載された特徴によって提供され得る。たとえば、モジュール512の上述の機能は、ECC_BLK118によって特定される不良アドレスの修復するためにプログラムするためにOTP_FUSE_BLK128内のヒューズのターゲット領域を決定する際に、およびOTP_FUSE_BLK128上の反復プログラミングを制御する際に、図1のOTP-WCR_CTLブロック126によって提供され得る。図1、図4、および図5を参照すると、モジュール510を実装するためにそのOTP-WCR_CTLブロックを含む、上述のメモリコントローラ106およびDRAMローカル制御ロジック110などの回路の機能は、たとえばメモリコントローラ410、またはシステムメモリ412の内部の回路(図4では明示的には見えない)によって提供され得る。
【００５４】
図5を参照すると、ある態様では、装置500は、たとえば、プログラミングが成功したかどうかを、モジュール512による反復のプログラミングの後に検証するためのモジュール514を含み得る。図1および図5を参照すると、モジュール514の1つの例示的な実装形態は、メモリコントローラ106およびDRAMローカル制御ロジック110でもよく、それを含んでもよい。図1、図4、および図5を参照すると、モジュール514を実装するための回路の機能は、たとえばメモリコントローラ410、またはシステムメモリ412の内部の回路(図4では明示的には見えない)によって提供され得る。
【００５５】
上述のように、図5のモジュールの機能は、図4の例示的なパーソナル通信デバイスプロセッサシステム400などの処理システムとして実装され得る。この開示と一致する様々な代替的な、および追加の実装形態がある。ある態様では、図4のモジュールの機能は、たとえば、1つまたは複数の集積回路(たとえば、ASIC)の少なくとも一部を使用して実装され得る。所与のサブセット(たとえば、集積回路の、および/またはソフトウェアモジュールのセットの)が、2つ以上のモジュールの機能の少なくとも一部を提供し得ることは、当業者には理解されるであろう。1つの特定の例として、装置500は、単一のデバイス(たとえば、冗長DRAM504、プログラマブル冗長回路506、およびASICの異なるセクションを備えるモジュール508〜512)を備え得る。別の特定の例として、装置500は、いくつかのデバイス(たとえば、あるASICを備える冗長DRAM504、別のASICを備えるモジュール508、さらに別のASICを備えるモジュール510、512、および514)を備え得る。
【００５６】
たとえば、図1〜図5のいずれか1つまたは複数を参照して説明されたような、上記で開示されたデバイスおよび機能は、コンピュータ可読媒体に記憶されたコンピュータファイル(たとえば、RTL、GDSII、GERBERなど)に設計および構成され得る。いくつかまたはすべてのそのようなファイルは、そのようなファイルに基づいてデバイスを製造する製造者に提供され得る。結果として得られる製品は、半導体ウェハを含み、次いで、半導体ウェハは半導体ダイに切断され、半導体チップにパッケージングされる。次いで、半導体チップは、上記で説明したようなデバイスに使用される。
【００５７】
図6は、様々な例示的な態様による、1つまたは複数のパルスOTP-WCR修復プロセスにおける、およびそれに関連付けられる、例示的な動作の流れ図600を示す。
【００５８】
図6を参照すると、例示的な動作は602で開始することができ、ここでDRAMの不良アドレスが検出される。図示されるように、図1および図6を参照すると、602における例示的な動作は、ECC_BLK118が、修復の呼出しに適格なエラーを検出し、それに応答してECC_Flagなどの通知を送信することを含み得る。図5および図6を参照すると、602における例示的な動作は、モジュール510が、DRAM504のアクセスにおけるエラーを検出し、それに応答してモジュール512にエラー情報を送信することによって実行され得る。
【００５９】
図6を参照すると、ある態様では、602におけるDRAM不良アドレスの検出に応答して、DRAM(たとえば、DRAM504)は、本明細書で先に説明したように、604においてそれ自体をパルスOTP-WCR修復モードに切り替える。別の態様では、604の代わりに、DRAMの外部のコントローラ、たとえば、図1のメモリコントローラ106は、たとえば図3を参照して説明したように、パルスOTP-WCR修復を実行するようにDRAMを制御し得る。切替え後、またはパルスOTP-WCR修復モードに切り替えると、DRAM冗長性およびワンタイムプログラミングのためのヒューズの対応するターゲット領域が決定され得る。図1および図6を参照すると、606における例示的な動作は、不良アドレスを置換し得る冗長性112-R内の領域に対応するOAD_FUSE_BLK128内のターゲット領域を決定する、DRAMローカル制御ロジック110、たとえばCMD_ADD_BLK124を含み得る。図5および図6を参照すると、606における例示的な動作は、プログラマブル冗長回路506内のターゲット領域を決定するモジュール512を含み得る。
【００６０】
図6を参照すると、プログラマブル回路内のターゲット領域を決定した後、動作は、608において、バーストリフレッシュをDRAMに適用することを含み得る。「バーストリフレッシュを適用すること」は、必ずしも602においてDRAM不良アドレスを検出することに特有とは限らないことが理解されよう。「バーストリフレッシュ」は、たとえば、602においてDRAM不良アドレスを検出した後に発生する通常のスケジューリングされたバーストリフレッシュであり得る。図2および図6を参照すると、608におけるある例示的なバーストリフレッシュは、図2の第1のバーストリフレッシュ204-1であり得る。図3および図6を参照すると、608における別の例示的なバーストリフレッシュは、図3の第1のバーストリフレッシュ302-1であり得る。図5および図6を参照すると、608におけるバーストリフレッシュは、たとえば、DRAM504の定期的なバーストリフレッシュ中にモジュール508によって実行され得る。
【００６１】
再び図6を参照すると、608におけるバーストリフレッシュの後、606において特定されたターゲットヒューズ領域の一部をプログラムするために、610において、第1のパルスOTP-WCR動作が適用され得る。図2、図3、および図6を参照すると、610における第1のパルスOTP-WCR動作の例は、図2の第1のパルスOTP-WCR動作206-1、および図3の第1のパルスOTP-WCR動作304-1を含み得る。図5および図6を参照すると、610における第1のパルスOTP-WCR動作は、たとえば、モジュール512によって実行され得る。ある態様では、モジュール512は、608において第1のバーストリフレッシュと干渉しないように第1のパルスOTP-WCR動作を同期させるために、モジュール508から情報を取得し得る。図6を参照すると、610における第1のパルスOTP-WCR動作の後、終了条件、たとえばプログラミングの完了が満たされているかどうかの決定が612で行われる。図2および図6を参照すると、反復206-3...206-Kに関連付けられる説明した動作は、終了条件が満たされているかどうかを決定することを含み、したがって、612における決定の例であり得る。同様に、図3および図6を参照すると、反復304-3...304-Lに関連付けられる説明した動作は、終了条件が満たされているかどうかを決定することを含み、したがって、やはり612における決定の例であり得る。図5および図6を参照すると、612における、終了条件、たとえば、ヒューズのターゲット領域のプログラミングの完了が満たされているかどうかを決定する例示的な動作が、たとえばモジュール512によって実行され得る。
【００６２】
図6を参照すると、ある態様では、612で「YES」になると、動作は直接614に進み、通常のDRAM動作を再開する。この態様によれば、610におけるプログラミングは必ずしも検証されない。別の態様では、612でYESになると、動作は616に進み、別のバーストリフレッシュを実行し、次いで、618において、DRAMはそのパルスOTP-WCR修復モードを終了し得る。ある態様では、618においてパルスOTP-WCRプログラミングモードを終了した後、動作は614に進み、通常の動作を再開し得る。
【００６３】
図6を参照すると、ある態様では、612で「NO」になると、動作は608にループバックしてDRAMのバーストリフレッシュを繰り返し、次いで610に進み、ヒューズのターゲット領域の別の部分をプログラムする。608から610へ、および612への第1の反復において、610におけるパルスOTP-WCRプログラミングは、ターゲット領域の第1の部分をプログラムし得る。612における決定が、プログラミングが完了したことである場合、その第1の部分は完全な部分であり得る。612における決定が、プログラミングが完了していないことである場合、608への第1のループバックは、ターゲット領域の第2の部分の610におけるOTP-WCRプログラミングをもたらす。
【００６４】
別の態様では、612においてパルスOTP-WCRプログラミングモードを終了した後、または616での追加のバーストリフレッシュの直後に、動作は620で、プログラミングの成功を検証し得る。決定ブロック622からのYES分岐として示されるように、620における検証が成功を示す場合、614において、通常の動作が再開され得る。620における検証が、決定ブロック622からのNO分岐として示されるようにエラーを示す場合、624における動作が、修復プロセスの報告または失敗、および終了を含めて実行され得る。図4および図6を参照すると、610の反復によって実行されるプログラミングの成功を検証する620および622における例示的な動作は、たとえば、モジュール514によって実行され得る。
【００６５】
例示的な態様、およびそれらのそれぞれの例示的な態様が、冗長リソースを有するDRAMデバイスのシステム内修復を参照して上記で説明された。例示的な態様は、DRAMデバイスに関連する実施に限定されないことが理解されるであろう。反対に、他のメモリデバイス、たとえばスタティックRAMの新規なシステム内修復を提供し得る様々な例示的な態様が企図される。
【００６６】
当業者であれば、情報および信号は、様々な異なる技術および技法のいずれかを使用して表され得ることを理解するであろう。たとえば、上記の説明全体にわたって参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せによって表される場合がある。
【００６７】
さらに、当業者であれば、本明細書で説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、ハードウェアに直接、プロセッサによって実行されるソフトウェアモジュールに、またはその2つの組合せに具体化され得ることを理解するであろう。ハードウェアおよびソフトウェアのこの互換性を示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップは、一般にそれらの機能に関して上記で説明されている。そのような機能がハードウェアまたはソフトウェアとして実装されるかどうかは、システム全体に課される特定のアプリケーションおよび設計の制約に依存する。当業者は、説明されている機能を特定のアプリケーションごとに様々な方法で実装することができるが、そのような実施形態の決定は、本発明の範囲を逸脱させるものとして解釈されるべきではない。
【００６８】
ソフトウェアモジュールに関して、ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当該技術分野で知られている任意の他の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ることができ、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替形態では、記憶媒体は、プロセッサと一体化され得る。
【００６９】
上記の開示が本発明の例示的な態様を示す一方で、添付される請求項により規定されるような、本発明の範囲から逸脱することなしに、本明細書に様々な変形および変更を行うことができることに留意されたい。本明細書に記載される本発明の態様に従う方法クレームの機能、ステップ、および/またはアクションは、任意の特定の順序で実行される必要はない。さらに、本発明の要素は、単数形で記載され、特許請求される場合があるが、単数形への制限が明示的に言及されない限り、複数形が企図される。
【符号の説明】
【００７０】
100  プロセッサシステム
102  プロセッサ
104  CPU
106  メモリコントローラ
108  DRAMデバイス
110  DRAMローカル制御ロジック
112  DRAMセルアレイ
112-A  公称アクティブDRAM領域
112-R  冗長性
114  読出し-書込み制御ブロック
116  バックチャネル
118  エラー制御コード論理ブロック
120  拡張モードレジスタセットブロック
122  DRAM制御ブロック
124  コマンドアドレスブロック
126  リフレッシュ同期パルスOTP制御ブロック
128  OTPヒューズブロック
200  図
200  修復シーケンス
204  バーストリフレッシュ
204-1  第1のバーストリフレッシュ
204-2  第2のバーストリフレッシュ
204-3  第3のバーストリフレッシュ
204-K  K番目のバーストリフレッシュ
206  パルスOTP-WCR動作の反復
206-1  第1のパルスOTP-WCR動作
206-2  第2のパルスOTP-WCR動作
206-3  第3のパルスOTP-WCR動作
206-3  パルスOTP-WCR動作
206-K  パルスOTP-WCR動作
300  図
300  修復シーケンス
302-1  第1のバーストリフレッシュ
302-2  第2のバーストリフレッシュ
304  パルスOTP-WCR動作の反復
304-1  第1のパルスOTP-WCR動作
304-2  第2のパルスOTP-WCR動作
304-3...304-L  追加のパルスOTP-WCR動作
400  パーソナル通信およびコンピューティングデバイス
400  パーソナル通信デバイスプロセッサシステム
402  システムバス
404  CPU
406  プロセッサ
408  キャッシュメモリ
410  メモリコントローラ
412  メモリシステム
414  入力デバイス
416  出力デバイス
418  ネットワークインターフェースデバイス
420  ディスプレイコントローラ
422  ネットワーク
424  ディスプレイ
426  ビデオプロセッサ
500  装置
502  相互接続
504  DRAM
504-A  公称セル領域
504-B  冗長リソース
504-B  冗長セル領域
506  プログラマブル冗長回路
508  モジュール
510  モジュール
512  モジュール
514  モジュール
600  流れ図
【図１】
2017534966.tif 000003
【図２】
2017534966.tif 000004
【図３】
2017534966.tif 000005
【図４】
2017534966.tif 000006
【図５】
2017534966.tif 000007
【図６】
2017534966.tif 000008
【手続補正書】
【提出日】平成29年3月23日(2017.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
冗長回路を有するランダムアクセスメモリ(RAM)の修復のための方法であって、
エラー情報を受信するステップであって、前記エラー情報が前記RAMの不良アドレスを特定する、ステップと、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用ステップと、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持するステップと
を備え、
前記RAMの内容を有効な状態に維持するステップが、前記RAMに複数のリフレッシュバーストを適用するステップであって、前記複数のリフレッシュバーストのうちの各リフレッシュバーストが、前記複数のリフレッシュバーストのうちのあるリフレッシュバーストの終了とその次のリフレッシュバーストの開始とを含む非リフレッシュ間隔によって離間される、ステップを含み、前記ワンタイムプログラミングを適用するステップが、前記リフレッシュバーストの前記終了と前記次のリフレッシュバーストの前記開始との間に前記ワンタイムプログラミングを適用するステップを含み、前記ワンタイムプログラミングが、前記非リフレッシュ間隔の持続時間未満の持続時間を有する、方法。
【請求項２】
前記エラー情報が、前記冗長回路のターゲット領域を特定する情報を含み、前記冗長回路の前記ターゲット領域が不良アドレスに対応する、請求項1に記載の方法。
【請求項３】
前記冗長回路に前記ワンタイムプログラミングを適用するステップが、前記冗長回路の前記ターゲット領域の少なくとも一部をワンタイムプログラミングするステップと、前記ターゲット領域の前記少なくとも一部をワンタイムプログラミングしながら、前記RAMの前記内容を前記有効な状態に維持するステップとを備える、請求項2に記載の方法。
【請求項４】
前記ワンタイムプログラミングを適用するステップが、前記ワンタイムプログラミングの第1の反復であり、前記ワンタイムプログラミングの前記第1の反復が、前記ターゲット領域の少なくとも第1の部分をプログラムし、前記方法が、
前記ワンタイムプログラミングの第2の反復を、前記冗長回路の前記ターゲット領域の少なくとも第2の部分に適用するステップをさらに備える、請求項2に記載の方法。
【請求項５】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に対応する前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復であり、前記方法が、
前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムするワンタイムプログラミングの別の反復を適用するステップをさらに備える、請求項1に記載の方法。
【請求項６】
前記RAMの前記内容を有効な状態に維持しながら、終了条件が満たされるまで、前記冗長回路に前記ワンタイムプログラミングの別の反復を適用する前記ステップを繰り返すステップをさらに備える、請求項5に記載の方法。
【請求項７】
前記終了条件が、プログラミング完了の条件を含む、請求項6に記載の方法。
【請求項８】
前記プログラミング完了の条件が満たされたと決定すると、前記ワンタイムプログラミングの成功を検証するステップと、
エラーを示す前記検証に応じて、レポートを生成するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
前記不良アドレスに対応する前記冗長回路のすべての部分に前記ワンタイムプログラミングが適用されたと決定すると、前記プログラミング完了の条件が満たされる、請求項7に記載の方法。
【請求項１０】
前記冗長回路への別のワンタイムプログラミングの各適用を検証するステップをさらに備え、前記終了条件が、検証する前記ステップの失敗を検出するステップをさらに備える、請求項6に記載の方法。
【請求項１１】
検証する前記ステップの前記失敗の検出に応答して、修復失敗のレポートを生成するステップをさらに備える、請求項10に記載の方法。
【請求項１２】
前記RAMのアクセスエラーを検出するステップと、
前記RAMの前記アクセスエラーを検出するステップに少なくとも部分的に基づいて、前記エラー情報を生成するステップとをさらに備え、前記エラー情報が、前記冗長回路のターゲット領域を特定する情報を含む、請求項1に記載の方法。
【請求項１３】
前記RAMのアクセスに関連付けられるエラーを検出し、それに応答して前記エラーが前記RAMの修復を呼び出すための基準を満たすかどうかを決定するステップと、
前記エラーが前記RAMの修復を呼び出すための前記基準を満たすとの決定に少なくとも部分的に基づいて、前記エラー情報を生成するステップと、
をさらに備える、請求項1に記載の方法。
【請求項１４】
前記RAMの修復を呼び出すための前記基準がマルチビットエラーを備える、請求項13に記載の方法。
【請求項１５】
前記RAMの修復を呼び出すための前記基準が、前記RAM内のアドレスに関連付けられる繰返しエラーを備える、請求項13に記載の方法。
【請求項１６】
前記エラー情報の少なくとも一部を、前記RAMに関連付けられるメモリレジスタにロードするステップをさらに備える、請求項13に記載の方法。
【請求項１７】
前記エラー情報を生成するステップに関連して、前記RAMからメモリコントローラに前記エラーの通知を送信するステップをさらに備える、請求項13に記載の方法。
【請求項１８】
前記RAMから前記メモリコントローラに前記エラーの前記通知を送信するステップが、前記RAMと前記メモリコントローラとの間のバックチャネルを介する、請求項17に記載の方法。
【請求項１９】
前記エラー情報に少なくとも部分的に基づいて、前記ワンタイムプログラミングを完了するために必要な反復の数を計算するステップをさらに備え、前記ワンタイムプログラミングを適用するステップが、
前記ワンタイムプログラミングを完了するために必要な反復の前記数にわたって繰り返すステップと、ワンタイムプログラミングの別の反復を適用するステップとを含み、各繰返しが、前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムする、請求項1に記載の方法。
【請求項２０】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に関連付けられるヒューズのプログラミングである、請求項1に記載の方法。
【請求項２１】
前記RAMがダイナミックアクセスRAM(DRAM)である、請求項1に記載の方法。
【請求項２２】
前記ワンタイムプログラミングが、それぞれのバーストリフレッシュに続くように前記非リフレッシュ間隔と同期される、請求項21に記載の方法。
【請求項２３】
前記DRAMの前記内容を有効な状態に維持しながら、終了条件が満たされるまで、前記冗長回路にワンタイムプログラミングを適用するステップを繰り返すステップをさらに備える、請求項21に記載の方法。
【請求項２４】
前記DRAMに前記複数のリフレッシュバーストを適用するステップが、一連のリフレッシュバーストを備え、前記リフレッシュバーストが前記非リフレッシュ間隔によって離間され、前記方法が、一連の前記非リフレッシュ間隔の間に、前記冗長回路へのワンタイムプログラミングのそれぞれの一連の適用を実行するステップをさらに備える、請求項21に記載の方法。
【請求項２５】
プログラマブル冗長回路を有するランダムアクセスメモリ(RAM)の修復のための装置であって、
エラー情報を受信するための手段であって、前記エラー情報が、前記RAMの不良アドレスを特定する、手段と、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用する手段と、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持するための手段と
を備え、
前記RAMの内容を有効な状態に維持する手段が、前記RAMに複数のリフレッシュバーストを適用する手段であって、前記複数のリフレッシュバーストのうちの各リフレッシュバーストが、前記複数のリフレッシュバーストのうちのあるリフレッシュバーストの終了とその次のリフレッシュバーストの開始とを含む非リフレッシュ間隔によって離間される、手段を備え、前記ワンタイムプログラミングを適用する手段が、前記リフレッシュバーストの前記終了と前記次のリフレッシュバーストの前記開始との間に前記ワンタイムプログラミングを適用する手段を備え、前記ワンタイムプログラミングが、前記非リフレッシュ間隔の持続時間未満の持続時間を有する、装置。
【請求項２６】
前記エラー情報に応じて前記冗長回路に前記ワンタイムプログラミングを適用する手段が、前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復を適用する手段と、前記冗長回路の少なくとも別の部分をプログラムするワンタイムプログラミングの別の反復を適用する手段とを備える、請求項25に記載の装置。
【請求項２７】
前記ワンタイムプログラミングが、前記不良アドレスの少なくとも一部に対応する前記冗長回路の少なくとも一部をプログラムするワンタイムプログラミングの反復を備え、前記ワンタイムプログラミングが、終了条件が満たされるまで、前記ワンタイムプログラミングの別の反復を前記冗長回路に適用することを繰り返す手段をさらに備え、各繰返しが、前記RAMの前記内容を前記有効な状態に維持しながら、前記不良アドレスの少なくとも別の部分に対応する前記冗長回路の少なくとも別の部分をプログラムする、請求項25に記載の装置。
【請求項２８】
プログラマブル冗長回路を有するランダムアクセスメモリ(RAM)の修復のための装置であって、
前記RAM内の不良アドレスを検出し、結果としてエラー情報を生成するためのモジュールであって、前記エラー情報が前記不良アドレスを特定する、モジュールと、
前記RAMの内容を有効な状態に維持するためのモジュールと、
前記RAMの前記内容を前記有効な状態に維持するための前記モジュールが前記RAMの前記内容を前記有効な状態に維持する間、前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用するためのモジュールと
を備え、
前記RAMの内容を有効な状態に維持するためのモジュールが、前記RAMに複数のリフレッシュバーストを適用するように構成され、前記複数のリフレッシュバーストのうちの各リフレッシュバーストが、前記複数のリフレッシュバーストのうちのあるリフレッシュバーストの終了とその次のリフレッシュバーストの開始とを含む非リフレッシュ間隔によって離間され、前記ワンタイムプログラミングを適用するためのモジュールが、前記リフレッシュバーストの前記終了と前記次のリフレッシュバーストの前記開始との間に前記ワンタイムプログラミングを適用するように構成され、前記ワンタイムプログラミングが、前記非リフレッシュ間隔の持続時間未満の持続時間を有する、装置。
【請求項２９】
前記ワンタイムプログラミングの成功を検証するためのモジュールをさらに備え、エラーを示す前記検証に応じて、レポートを生成する、請求項28に記載の装置。
【請求項３０】
プロセッサによって実行されると、前記プロセッサに、メモリデバイス内の有効な内容を維持しながら、冗長回路を有する前記メモリデバイスを修復するための動作を実行させるコードを備えるコンピュータ可読記憶媒体であって、前記プロセッサに、
エラー情報を受信することであって、前記エラー情報が、ランダムアクセスメモリ(RAM)の不良アドレスを特定する、受信することと、
前記エラー情報に応じて、前記冗長回路にワンタイムプログラミングを適用することと、前記冗長回路に前記ワンタイムプログラミングを適用しながら、前記RAMの内容を有効な状態に維持することと
を実行させるためのコードをさらに備え、
前記RAMの内容を有効な状態に維持することが、前記RAMに複数のリフレッシュバーストを適用することであって、前記複数のリフレッシュバーストのうちの各リフレッシュバーストが、前記複数のリフレッシュバーストのうちのあるリフレッシュバーストの終了とその次のリフレッシュバーストの開始とを含む非リフレッシュ間隔によって離間される、適用することを含み、前記プロセッサに前記ワンタイムプログラミングを適用することを実行させるためのコードが、前記リフレッシュバーストの前記終了と前記次のリフレッシュバーストの前記開始との間に前記ワンタイムプログラミングを適用させるためのコードを含み、前記ワンタイムプログラミングが、前記非リフレッシュ間隔の持続時間未満の持続時間を有する、コンピュータ可読記憶媒体。
【国際調査報告】
2017534966.tif 000009
2017534966.tif 000010
2017534966.tif 000011
2017534966.tif 000012
2017534966.tif 000013