(57)【要約】集積回路において、動作中に、複数のアドレス指定可能ユニット（１２）を含むメモリ（１０）のセンスアンプ（２０）差動マージンを動的に制御するための方法（８０、１２０、１４０、１７０）を提供する。本方法は、複数のアドレス指定可能ユニット（１２）に対応するセンスアンプ差動マージンを第１の値に設定する段階を含む。本方法（８０、１２０、１４０、１７０）は、更に、一組の複数のアドレス指定可能ユニット（１２）からデータを読み出す際に読み出しデータ誤りが発生した場合、複数のアドレス指定可能ユニット（１２）に対応するセンスアンプ（２０）差動マージンを第１の値より大きい第２の値に設定する段階を含む。
2011501338.tif 000002
【特許請求の範囲】
【請求項１】
集積回路において、動作中に、複数のアドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法であって、
前記複数のアドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第１の値に設定する段階と、
前記複数のアドレス指定可能ユニットの一組からデータを読み出す際に読み出しデータ誤りが発生した場合、前記複数のアドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第２の値に設定する段階であって、前記第２の値が前記第１の値より大きい、前記段階と、
を備える方法。
【請求項２】
請求項１に記載の方法であって、前記センスアンプ差動マージンの前記第１の値が第１選択動作点に対応する、方法。
【請求項３】
請求項２に記載の方法であって、前記第１選択動作点が、前記集積回路を動作させるための選択電圧及び選択周波数に対応する、方法。
【請求項４】
請求項１に記載の方法であって、複数のアドレス指定可能ユニットの前記組が、残りの複数のアドレス指定可能ユニットのどれよりも高い故障率を招いたアドレス指定可能ユニットを一つだけ含む、方法。
【請求項５】
請求項１に記載の方法であって、前記メモリは、更に、前記複数のアドレス指定可能ユニットに接続された複数のセンスアンプを備え、前記センスアンプ差動マージンを設定する段階が、前記複数のセンスアンプのセンスアンプ・イネーブル・アサート時間を設定する段階を備える、方法。
【請求項６】
請求項４に記載の方法であって、更に、残りの複数のアドレス指定可能ユニットのどれよりも高い前記故障率を招いた前記アドレス指定可能ユニット上での読み出し動作により読み出しデータ誤りが発生しなくなるまで、前記センスアンプ差動マージンを前の値より大きい値に漸増設定する段階を備える方法。
【請求項７】
請求項１に記載の方法であって、更に、
前記センスアンプ差動マージンの可能な限り最も高い値から始まり前記センスアンプ差動マージンの最も低い値に至る一組の値に前記センスアンプ差動マージンを漸減設定する段階と、
前記センスアンプ差動マージンの前記一組の値への設定に起因する読み出し誤りに基づき前記複数の集積回路を選別して仕分ける過程において、前記読み出し誤りの解析を組み込む段階と、
を備える方法。
【請求項８】
集積回路において、複数のアドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法において、前記複数のアドレス指定可能ユニットは、少なくとも一つの故障予知アドレス指定可能ユニットを備え、前記故障予知アドレス指定可能ユニットは、残りの複数のアドレス指定可能ユニットよりも前に故障するように構成された、前記方法であって、
前記複数のアドレス指定可能ユニット及び前記少なくとも一つの故障予知アドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第１の値に設定する段階と、
前記故障予知アドレス指定可能ユニットからデータを読み出す際に読み出しデータ誤りが発生した場合、前記複数のアドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第２の値に設定する段階であって、前記第２の値が前記第１の値より大きい、前記段階と、
を備える方法。
【請求項９】
請求項８に記載の方法であって、前記センスアンプ差動マージンの第１の値が第１選択動作点に対応する、方法。
【請求項１０】
請求項９に記載の方法であって、
前記第１選択動作点が前記集積回路を動作させるための選択電圧及び選択周波数に対応する、方法。
【請求項１１】
請求項８に記載の方法であって、前記メモリは、更に、
前記複数のアドレス指定可能ユニットに接続された複数のセンスアンプを備え、前記センスアンプ差動マージンを設定する段階は、前記複数のセンスアンプのセンスアンプ・イネーブル・アサート時間を設定する段階を含む、方法。
【請求項１２】
請求項８に記載の方法であって、更に、前記故障予知アドレス指定可能ユニット上での読み出し動作により読み出しデータ誤りが発生しなくなるまで、前記センスアンプ差動マージンを前の値より大きい値に漸増設定する段階を備える、方法。
【請求項１３】
集積回路において、複数のアドレス指定可能ユニット及び少なくとも一つの冗長アドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法であって、
前記複数のアドレス指定可能ユニット及び前記少なくとも一つの冗長アドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第１の値に設定する段階と、
前記複数のアドレス指定可能ユニットの内のいずれか一つからデータを読み出す際に読み出しデータ誤りが発生した場合、前記複数のアドレス指定可能ユニット及び前記少なくとも一つの冗長アドレス指定可能ユニットに対応する前記センスアンプ差動マージンを第２の値に設定する段階であって、前記第２の値が前記第１の値より大きい、前記段階と、
前記複数のアドレス指定可能ユニットの内のいずれか一つについて読み出しデータ誤りが継続して起こる場合、前記センスアンプ差動マージンを最大値まで漸増させる段階と、
不良アドレス指定可能ユニットを前記冗長アドレス指定可能ユニットで置き換える段階であって、前記不良アドレス指定可能ユニットは、前記センスアンプ差動マージンが前記最大値に設定された場合でも読み出しデータ誤りを発生させる前記複数のアドレス指定可能ユニットの内の一つである、前記段階と、
を備える方法。
【請求項１４】
請求項１３に記載の方法であって、前記センスアンプ差動マージンの第１の値が第１選択動作点に対応する、方法。
【請求項１５】
請求項１４に記載の方法であって、前記第１選択動作点が、前記集積回路を動作させるための選択電圧及び選択周波数に対応する、方法。
【請求項１６】
請求項１３に記載の方法であって、前記メモリは、更に、前記複数のアドレス指定可能ユニット及び前記冗長アドレス指定可能ユニットに接続された複数のセンスアンプを備え、前記センスアンプ差動マージンを設定する段階は、前記複数のセンスアンプ及び前記冗長アドレス指定可能ユニットのセンスアンプ・イネーブル・アサート時間を設定する段階を備える方法。
【請求項１７】
メモリを含む集積回路であって、前記メモリは、複数のアドレス指定可能ユニットを備え、更に、前記メモリは、
複数のセンスアンプに接続されたメモリアレイと、
フィードバック経路であって、
前記複数のセンスアンプのセンスアンプ差動マージンを第１の値に設定する段階と、
前記複数のアドレス指定可能ユニットの内の少なくとも一つからデータを読み出す際の読み出しデータ誤りを検出する段階と、
前記複数のアドレス指定可能ユニットの前記センスアンプ差動マージンを第２の値に設定する段階であって、前記第２の値は、前記第１の値より大きい前記段階と、
のために構成された前記フィードバック経路と、
を備える集積回路。
【請求項１８】
請求項１７に記載の集積回路であって、前記センスアンプ差動マージンの第１の値が第１選択動作点に対応する、集積回路。
【請求項１９】
請求項１７に記載の集積回路であって、第１選択動作点が、前記集積回路を動作させるための選択電圧及び選択周波数に対応する、集積回路。
【請求項２０】
請求項１７に記載の集積回路であって、前記フィードバック経路が、前記読み出しデータ誤りを検出するための誤り検出器を含む、集積回路。
【請求項２１】
請求項１７に記載の集積回路であって、前記フィードバック経路は、更に、前記センスアンプ差動マージンを前の値より大きい値に漸増設定するために構成されており、この漸増設定は、残りの複数のアドレス指定可能ユニットのどれよりも高い故障率を招いたアドレス指定可能ユニット上での読み出し動作により読み出しデータ誤りが発生しなくなるまで行われる集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的に、集積回路に関し、特に、動的に調整可能な読み出しマージンを有する集積回路メモリ及びその方法に関する。
【背景技術】
【０００２】
消費電力の低減は、集積回路において継続的に望まれている。消費電力を低減する一つの方法は、電源電圧を小さくすることである。しかしながら、所定の回路を確実に動作させるために、電源電圧をどれだけ小さくできるかには、限界がある。静的ランダムアクセスメモリ（ＳＲＡＭ）は、一般的に、データ処理システムのメモリ等、高速性が必要な用途に用いられるタイプのメモリである。ＳＲＡＭセルは、二つの可能な電圧レベルの内の一つでのみ安定であり、一対のビットライン上の比較的小さい差動電圧を検知することによって読み出される。センスアンプは、差動電圧を検知及び増幅するために用いられる。センスアンプは、広い電圧範囲に渡って高い信頼度で動作可能であること、更に、ＳＲＡＭの性能的利点を維持するように充分高速であることが期待される。しかしながら、センスアンプのセンスマージンは、電源電圧が小さくなるにつれて減少する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従って、広範囲の電源電圧レベルに渡って性能が良好な信頼度の高いメモリに対するニーズがある。
【図面の簡単な説明】
【０００４】
【図１】一実施形態に基づく集積回路メモリをブロック図形式で示す図。
【図２】他の実施形態に基づく集積回路メモリをブロック図形式で示す図。
【図３】他の実施形態に基づき読み出しマージンを決定するための方法のフローチャート。
【図４】他の実施形態に基づき読み出しマージンを決定するための方法のフローチャート。
【図５】更に他の実施形態に基づき読み出しマージンを決定するための方法のフローチャート。
【図６】他の実施形態に基づき読み出しマージンを決定するための方法のフローチャート。
【発明を実施するための形態】
【０００５】
本発明は、一例として示すものであり、添付図によって限定されない。図では、同様な参照符号は、同様な要素を示す。図の要素は、簡潔明瞭に示されており、必ずしも縮尺通りに描かれていない。
【０００６】
一般的には、冗長性を有する集積回路メモリ及び動作方法を一つの形態で提供する。この場合、誤り検出器及び点検修復論理回路を有するフィードバック経路を用いて、まず、センスアンプのセンスマージンを大きくすることによって、ビットセルにおける読み出し誤りを修正する。読み出し誤りは、タイミング誤りに起因することがあるが、その場合、検知時間が短すぎるか、センスアンプマージンが小さすぎる。センスマージンは、センスアンプ・イネーブル・アサート時間を長くすることによって大きくなる。センスマージンが大きくなってもタイミング誤りが是正されない場合、冗長列を用いて不良列を置き換える。これにより、集積回路メモリ上の冗長列の数が減少し、製造歩留が改善される。他の実施形態では、フィードバック経路は、一対のメモリセルのシャドー列を含む。シャドー列は、メモリの「最悪事態の」動作環境を表し、基本的に同じ故障モードを持つ脆弱なシャドーセンスアンプを有する。フィードバック誤り信号は、脆弱なセンスアンプを用いて予測したセンスマージンに基づき、実際のセンスアンプのセンスマージンを調整する。他の実施形態では、センスアンプマージン調整の結果は、性能に基づき集積回路メモリを選別するために用いる。
【０００７】
一態様では、集積回路において、動作中に、複数のアドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法を提供する。本方法は、複数のアドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値に設定する段階と、複数のアドレス指定可能ユニットの組からデータを読み出す際に読み出しデータ誤りが発生した場合、複数のアドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値より大きい第２の値に設定する段階を含む。
【０００８】
他の態様では、集積回路において、複数のアドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法を提供する。これら複数のアドレス指定可能ユニットは、少なくとも一つの故障予知アドレス指定可能ユニットを含む。本故障予知アドレス指定可能ユニットは、残りの複数のアドレス指定可能ユニットよりも前に故障するように構成される。本方法は、複数のアドレス指定可能ユニット及び少なくとも一つの故障予知アドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値に設定する段階を含む。また、本方法は、故障予知アドレス指定可能ユニットからデータを読み出す際に読み出しデータ誤りが発生した場合、複数のアドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値より大きい第２の値に設定する段階が含む。
【０００９】
更に他の態様では、集積回路において、複数のアドレス指定可能ユニット及び少なくとも一つの冗長アドレス指定可能ユニットを含むメモリのセンスアンプ差動マージンを動的に制御するための方法を提供する。本方法は、複数のアドレス指定可能ユニット及び少なくとも一つの冗長アドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値に設定する段階を含む。また、本方法は、複数のアドレス指定可能ユニットの内のいずれか一つからデータを読み出す際に読み出しデータ誤りが発生した場合、複数のアドレス指定可能ユニット及び少なくとも一つの冗長アドレス指定可能ユニットに対応するセンスアンプ差動マージンを第１の値より大きい第２の値に設定する段階を含む。更に、本方法は、複数のアドレス指定可能ユニットの内のいずれか一つについて読み出しデータ誤りが継続して起こる場合、センスアンプ差動マージンを最大値まで漸増させる段階と、不良アドレス指定可能ユニットを冗長アドレス指定可能ユニットで置換する段階と、を含む。ここで、不良アドレス指定可能ユニットは、センスアンプ差動マージンが最大値に設定された場合でも読み出しデータ誤りを発生させる複数のアドレス指定可能ユニットの内の一つである。
【００１０】
更に他の態様では、メモリを含む集積回路を提供する。メモリは、複数のアドレス指定可能ユニットを含む。メモリは、更に、複数のセンスアンプに接続されたメモリアレイと、フィードバック経路とを含む。本フィードバック経路は、複数のセンスアンプのセンスアンプ差動マージンを第１の値に設定する段階と、複数のアドレス指定可能ユニットの内の少なくとも一つからデータを読み出す際の読み出しデータ誤りを検出する段階と、複数のアドレス指定可能ユニットのセンスアンプ差動マージンを第１の値より大きい第２の値に設定する段階のために構成される。
【００１１】
図１は、一実施形態に基づく集積回路メモリ１０をブロック図形式で示す。集積回路メモリ１０は、メモリアレイ１２、冗長列１４、ワードラインドライバ１６、列論理回路１８、センスアンプ２０、冗長列制御回路２２、誤り検出器２４、故障履歴レジスタ２６、点検修復論理回路２８、及びセンスアンプ制御器３０を含む。センスアンプ２０は、センスアンプ３４及び３６並びに冗長センスアンプ３８を含む。例示した実施形態では、メモリアレイ１２は、行及び列で構成された複数のＳＲＡＭセルを含む。メモリセルの行はワードラインを含み、全セルがワードラインに接続されている。メモリセルの列はビットライン対を含み、全セルがビットライン対に接続されている。例えば、「ＷＬ０」と表記されたワードラインは、代表的なメモリセル３２を含む複数のメモリセルに接続されている。同様に、列は、例えば、メモリセル３２を含む複数のメモリセルに接続され、「ＢＬ０」及び「ＢＬＢ０」と表記されたビットライン対を含む。例示した実施形態では、ビットライン対の各々は、比較的小さな差動信号を検知するためのセンスアンプに接続される。例えば、ビットライン対ＢＬ０及びＢＬＢ０はセンスアンプ３４に接続され、ビットライン対ＢＬＮ及びＢＬＢＮはセンスアンプ３６に接続される。ワードラインドライバ１６は、「ＲＯＷ＿ＡＤＤＲＥＳＳ」と表記された行アドレスを受信するための複数の入力端子を有しており、また、これに応じて、Ｍを整数とすると、ワードラインＷＬ０乃至ＷＬＭの内の一つにワードライン電圧を供給する。列論理回路１８は、「ＣＯＬＵＭＮ＿ＡＤＤＲＥＳＳ」と表記された列アドレスを受信するための複数の入力端子を有しており、また、これに応じて、ビットライン対ＢＬ０／ＢＬＢ０乃至ＢＬＮ／ＢＬＢＮの内の選択された一つを介して、データビットを供給する一つ又は複数のメモリセルをセンスアンプ２０に接続する。列論理回路１８は、「ＤＡＴＡ」と表記されたデータを供給するための出力部を有する。メモリアレイ１２は、冗長列１４によって代表される一つ又は複数の冗長列を含む。冗長列１４は、通常の列と概ね同じであり、冗長ビットライン対ＲＢＬ及びＲＢＬＢに接続されたメモリセル４０等のメモリセルを含む。ビットライン対ＲＢＬ及びＲＢＬＢは、冗長センスアンプ３８に接続される。冗長センスアンプ３８は、通常のセンスアンプより大きいものであってもよいし、通常のセンスアンプより信頼度が高いものであってもよい。冗長列制御回路２２は、列論理回路１８に接続され、冗長列１４の動作を制御する。冗長列制御回路２２は、アドレス及び出力経路等の冗長性情報を記憶するための従来のヒューズ又は不揮発性メモリ等の記憶機構を含む。冗長性情報は、不良列を冗長列で置き換えるために用いられる。図１は、分かりやすくするために、単一の冗長列だけを示す。しかしながら、通常、不良列が検出された場合、その不良列及びその不良列の両側にある隣接列が、置き換えられる。更に、例示した実施形態では、別個のセンスアンプが、各ビットライン対に接続されることに留意されたい。他の実施形態では、センスアンプは、幾つかのビットライン対又は冗長ビットライン対によって共有し得る。更に、他の実施形態では、行の冗長性を含んでもよいことに留意されたい。
【００１２】
誤りフィードバック経路は、誤り検出器２４、故障履歴レジスタ２６、点検修復論理回路２８、及びセンスアンプ制御器３０を含む。誤り検出器２４は、データ信号ＤＡＴＡを受信するために列論理回路１８の出力部に接続された入力部と、故障履歴レジスタ２６の入力部に接続した出力部とを有する。点検修復論理回路２８は、故障履歴レジスタ２６の出力部に接続した入力部と、電源（ＶＤＤ）・周波数制御回路２９に接続した入出力部と、「ＷＲＩＴＥ＿ＤＡＴＡ」と表記された書込データ信号を供給するための第１出力と、第２出力とを有する。電源・周波数制御回路２９は、メモリ１０が受電した電源電圧と、メモリ１０の動作タイミングを制御するために供給されるクロック信号のクロック周波数とを制御する。他の実施形態では、誤り検出器２４は、点検修復論理回路２８に接続された他の出力部を有するため、故障履歴レジスタ２６を迂回し得る。センスアンプ制御器３０は、点検修復論理回路２８の出力部に接続した入力部と、センスアンプ３４、３６、及び３８の各々に接続した出力部とを有する。尚、図１のブロック間で接続した矢印の各々には、ブロック間で制御信号及び電圧を伝導するための一つ又は複数の導体を含み得る。
【００１３】
点検修復論理回路２８は、異なるセンスアンプマージンを記憶するためのレジスタを含む。誤り検出器２４によるタイミング誤りの検出に応じて、点検修復論理回路２８は、センスアンプタイミングマージンを漸増変更する。例えば、マージンは、最初に５０ミリボルト（ｍＶ）に調整される。ビットが、５０ｍＶマージンでの再テストで依然機能しない場合、マージンを７０ｍＶに調整して再テストする。センスアンプテストの反復回数は、任意の回数であってもよい。一実施形態では、センスアンプは、５０ｍＶ、７０ｍＶ、９０ｍＶ、及び１１０ｍＶでテストを行う。他の実施形態では、マージン及びテスト反復回数は、異なってもよい。更に、センスアンプマージンは、選択されたビットライン対からの比較的小さな差動電圧をセンスアンプが検出して増幅すべき時間の間隔を長くすることによって調整し得る。所定のセンスアンプの場合、時間の間隔が長くなると、センスアンプは、ビットライン対上で検知した差動電圧を大きいマージンによって分離し得る。電源・周波数制御回路２９によって供給される電源電圧及びクロック周波数もセンスアンプマージンに影響を及ぼし得る。詳細に後述するように、更に、点検修復論理回路２８により、電源電圧及びクロック周波数は、テスト中に変更可能なようにしてもよい。
【００１４】
集積回路メモリ１０の動作については、図３及び図４の議論で後述する。
図２は、他の実施形態に基づく集積回路メモリ５０をブロック図形式で示す。集積回路メモリ５０は、メモリアレイ１２、シャドー列５２、ワードラインドライバ１６、列論理回路１８、センスアンプ５４、比較器６６及び６８、誤り検出器７０、故障履歴レジスタ７２、点検修復論理回路７４、並びにセンスアンプ制御器７６を含む。センスアンプ５４は、センスアンプ５６及び５８、並びにシャドーセンスアンプ６２及び６４を含む。図１の議論において上述したように、メモリアレイ１２は、行及び列で構成された複数のＳＲＡＭセルを含む。メモリセルの行はワードラインを含み、全セルがワードラインに接続されている。メモリセルの列はビットライン対を含み、全セルがビットライン対に接続されている。例えば、「ＷＬ０」と表記されたワードラインは、代表的なメモリセル３２を含む複数のメモリセルに接続される。同様に、列は、例えば、メモリセル３２を含む複数のメモリセルに接続した「ＢＬ０」及び「ＢＬＢ０」と表記されたビットライン対を含む。例示した実施形態では、ビットライン対の各々は、センスアンプに接続される。例えば、ビットライン対ＢＬ０及びＢＬＢ０は、センスアンプ５６に接続され、ビットライン対ＢＬＮ及びＢＬＢＮは、センスアンプ５８に接続される。ワードラインドライバ１６は、「ＲＯＷ＿ＡＤＤＲＥＳＳ」と表記された行アドレスを受信するための複数の入力端子を有し、これに応じて、Ｍを整数とすると、ワードラインＷＬ０乃至ＷＬＭの内の一つにワードライン電圧を供給する。列論理回路１８は、「ＣＯＬＵＭＮ＿ＡＤＤＲＥＳＳ」と表記された列アドレスを受信するための複数の入力端子を有し、これに応じて、ビットライン対ＢＬ０／ＢＬＢ０乃至ＢＬＮ／ＢＬＢＮの内の選択された一つを介して、データビットを供給する一つ又は複数のメモリセルをセンスアンプ５４に接続する。列論理回路１８は、「ＤＡＴＡ」と表記されたデータを供給するための出力部を有する。メモリアレイ１２は、シャドー列５２を含む。シャドー列５２は、シャドー列５３及び５５を含む。シャドー列５３は、通常の列と概ね同じであり、「ＳＢＬ０」及び「ＳＢＬＢ０」と表記されたビットライン対に接続したメモリセル６０等の複数のメモリセルを含む。更に、シャドー列５５は、「ＳＢＬ１」及び「ＳＢＬＢ１」と表記されたビットライン対に接続された複数のメモリセルを含む。シャドービットライン対ＳＢＬ０及びＳＢＬＢ０は、シャドーセンスアンプ６２に接続され、シャドービットライン対ＳＢＬ１及びＳＢＬＢ１は、シャドーセンスアンプ６４に接続される。比較器６６は、シャドーセンスアンプ６２の出力部に接続された入力部と、論理「０」を受信するための入力部と、出力部とを有する。比較器６８は、シャドーセンスアンプ６４の出力部に接続した入力部と、論理「１」を受信するための入力部と、出力部とを有する。比較器６６及び６８の出力部は、誤り検出器７０の入力部に接続される。シャドーセンスアンプ６２及び６４は、通常のセンスアンプ５４の内の一つよりも脆弱に実装される。尚、例示した実施形態では、別個のセンスアンプが、各ビットライン対に接続されている。他の実施形態では、センスアンプは、幾つかのビットライン対又は冗長ビットライン対によって共有し得る。更に、他の実施形態では、行及び列の冗長性を含んでもよいことに留意されたい。
【００１５】
誤りフィードバック経路は、誤り検出器７０、故障履歴レジスタ７２、点検修復論理回路７４、及びセンスアンプ制御器７６を含む。誤り検出器７０は、故障履歴レジスタ７２の入力部に接続された出力部を有する。点検修復論理回路７４は、故障履歴レジスタ７２の出力部に接続された入力部と、電源（ＶＤＤ）・周波数制御回路７５に接続された入出力部と、センスアンプ制御器３０の入力部に接続された出力部とを有する。電源・周波数制御回路７５は、メモリ５０が受電した電源電圧と、メモリ５０の動作タイミングを制御するために供給されたクロック信号のクロック周波数とを制御する。他の実施形態では、誤り検出器７０は、点検修復論理回路７４に接続された他の出力部を有し、これにより故障履歴レジスタ７２を迂回し得る。センスアンプ制御器７６は、点検修復論理回路７４の出力部に接続され「ＥＮＡＢＬＥ」と表記された入力信号と、「ＳＥＮＳＥ＿ＡＭＰ＿ＭＡＲＧＩＮ＿ＡＤＪＵＳＴ（センスアンプマージン調整）」と表記された信号を供給するためにセンスアンプ５６及び５８の各々に接続された第１出力と、「ＳＨＡＤＯＷ＿ＳＥＮＳＥ＿ＡＭＰ＿ＭＡＲＧＩＮ＿ＡＤＪＵＳＴ（シャドーセンスアンプマージン調整）」と表記された信号を供給するためにシャドーセンスアンプ６２及び６４の各々に接続された第２出力とを有する。
【００１６】
一般的に、シャドー列５３は、センスアンプ制御器７６からのイネーブル信号ＥＮＡＢＬＥに応じてイネーブル状態になる。図１の実施形態に関して上述したように、通常のセンスアンプからのデータを用いる代わりに、メモリ５０は、シャドーセンスアンプ６２及び６４を用いて、通常のセンスアンプ５６及び５８のマージンを調整する。シャドーセンスアンプは、通常のセンスアンプよりも脆弱に具体化される。
【００１７】
メモリが動作する動作条件は、変化し得る。例えば、自動車のボンネットの下など高温状態で集積回路が動作している場合、センスマージンは、変化してタイミング誤りを引き起こすことがある。シャドー列５２からのデータ読み出しの際に誤りが検出されると、通常のセンスアンプ５４のマージンは、漸増される。一つの列、例えば、シャドー列５３には、そのメモリセルの全てに、例えば、論理「０」が書き込まれ、他のシャドー列５５には、そのメモリセルの全てに、例えば、論理「１」が書き込まれる。従って、シャドー列５３は、論理「０」だけを読み出し、シャドー列５５は、「１」だけを読み出す。アレイ１２を読み出す度に、シャドー列が読み出される。シャドーセンスアンプ６２及び６４は、シャドー列の差動電圧を検知し増幅する。シャドーセンスアンプの出力は、所定の論理状態と比較され、比較結果は、誤り検出器７０に提供される。誤りを検出した場合、誤り検出器７０は、故障履歴レジスタ７２を更新し得る。更に、誤り検出器７０は、点検修復論理回路７４に誤り情報を提供する。点検修復論理回路７４は、センスアンプ制御器７６を用いて通常のセンスアンプのマージンを大きくさせる。更に、通常のセンスアンプ５６及び５８のマージンが調整されると、シャドーセンスアンプ６２及び６４のマージンは、同じ様に調整される。通常のセンスアンプが調整された時、シャドーセンスアンプのマージンを調整することは、たとえ通常のセンスアンプが調整されていても、誤予測故障の発生を防止するために必要である。
【００１８】
図３は、他の実施形態に基づき読み出しマージンを決定するための方法８０のフローチャートを示す。本方法は、図１のメモリ１０に関連して議論する。本方法は、ステップ８２で始まる。ステップ８２では、メモリ１０等のメモリが、電源投入又はリセットされる。ステップ８４では、必要に応じて、アレイ回路チューニング用ヒューズ設定値を用いて、不良列を冗長列で置き換える。更に、第１読み出しマージンが、センスアンプ３４及び３６並びに冗長センスアンプ３８について選択される。例えば、第１読み出しマージンは、５０ｍＶであってもよい。利用可能な読み出しマージンの表は、上述した点検修復論理回路２８に記憶し得る。既定の読み出しマージンは、メモリの読み出し動作中、センスアンプがイネーブル状態にされる所定の時間期間を用いることによって設定される。センスアンプのイネーブル状態が長ければ長いほど、ビットライン上で検知されプルされる差動電圧マージンは、広くなる。ステップ８６では、第１電源電圧及び第１動作周波数を選択する。電源電圧及び動作周波数を設定するために用いる論理回路は、点検修復論理回路２８又は異なる制御回路に含み得る。ステップ８８では、メモリセルの最悪事態の列を選択し、その列に所定のデータを書き込む。この書込データは、更に、点検修復論理回路２８に記憶する。最悪事態の列とは、最悪の読み出しマージンを提供すると判断された列である。通例、最悪事態の列は、メモリアレイ１２の外周部の列であると判断される。そして、ステップ９０では、その列を読み出し、点検修復論理回路２８の書込データＷＲＩＴＥ＿ＤＡＴＡと比較する。判断ステップ９２では、読み出したデータが、列に書き込んだデータと同じであるか否か判断する。読み出しデータが書込データと一致しない場合は、読み出し誤りが起こっている。読み出し誤りは、メモリセルもしくはビットラインに欠陥があるか、又はセンスアンプが不良であることから起こり得る。ステップ９２においてメモリが故障だった場合、「不合格」経路を取って判断ステップ９４に進む。判断ステップ９４では、点検修復論理回路２８に記憶された読み出しマージン表の最後の読み出しマージンが使用されたか否か判断する。判断が「いいえ」の場合、「いいえ」経路を取ってステップ９６に進み、また、読み出しマージンが、長くなるように、即ち、安全サイドに調整される。本方法では、次に、ステップ８８に戻り、最悪事態の列を再テストする。ステップ９４に戻ると、最大幅のマージンが用いられていた場合、「はい」経路を取ってステップ９８に進み、その故障が、現在の電源電圧及び周波数でセンスアンプマージンを調整することによって修復できないことを示す。メモリが故障しており、報告が生成され、故障履歴レジスタ２６に記憶される。ステップ１００では、異なる電源電圧及び動作周波数が選択され、方法８０が、初めに再始動される（ステップ８４）。
【００１９】
判断ステップ９２に戻ると、読み出しデータが書込データに一致した場合、メモリは、現在の設定値でテストに合格し、「合格」経路を取ってステップ１０２に進む。判断ステップ１０２では、最後の列がテストされたか否か判断する。最後の列がテストされていた場合、「はい」経路を取ってステップ１０８に進む。他の列をテストする場合、「いいえ」経路を取ってステップ１０４に進み、前にテストした列が合格したものと同じ読み出しマージンを点検修復論理回路２８のルックアップ表から選択する。ステップ１０６では、テストする次の列を選択し、次の列を伴ってステップ８６に戻る。再びステップ１０８に戻ると、最後の列がテストされ、また、最後の電源電圧及び周波数が使われたと判断された場合、「はい」経路を取ってステップ１１０に進む。ステップ１１０では、読み出しマージンの特徴付けテストが完了しており、方法８０によって決定された読み出しマージン、電源電圧、及び動作周波数で通常の動作を進めることができる。ステップ１０８において、他の電源電圧及び周波数をテストする場合、「いいえ」経路を取ってステップ８６に戻り、新しい電源電圧及び動作周波数を選択する。異なるセンスアンプマージンでメモリをテストすることによって、メモリ１０等のメモリは、別の方法で使用可能にできない場合、最適読み出しマージンで使用可能にすることができる。
【００２０】
図４は、他の実施形態に基づきメモリ１０の読み出しマージンを決定するための方法１４０のフローチャートを示す。本方法は、ステップ１４２で始まり、ここで、メモリ１０は、点検修復論理回路２８のルックアップ表からの既定読み出しマージンでリセットされる。ステップ１４４では、アレイ１２の列が、選択され、所定のテストデータが書き込まれる。所定のテストデータは、点検修復論理回路２８にも記憶される。ステップ１４６では、その列が読み出され、読み出したデータが、点検修復論理回路２８によって提供されたＷＲＩＴＥ＿ＤＡＴＡと比較される。判断ステップ１４８では、選択した列からの読み出しデータが、点検修復論理回路２８に記憶した書込データに一致するか否か判断される。読み出しデータが書込データに一致しない場合、「不合格」経路を取って判断ステップ１５０に進む。判断ステップ１５０では、現在の読み出しマージンが、点検修復論理回路２８のルックアップ表の中で最も安全サイドの読み出しマージン、即ち、最も大きな読み出しマージンであるか否か判断される。より安全サイドの読み出しマージンが利用可能である場合、「いいえ」経路を取ってステップ１５２に進み、読み出しマージンが更に安全サイドに調整される。読み出しマージンは、センスアンプが読み出しデータを増幅する時間の量を増やすことによって調整される。読み出し時間を増やすことにより、センスアンプは、差動電圧をより広くプルできる。本方法は、ステップ１４４に戻る。しかしながら、最も安全サイドの読み出しマージンが使用されていた場合、判断ステップ１５０から「はい」経路を取って判断ステップ１６０に進む。判断ステップ１６０では、全ての冗長列が不良列を置き換えるために用いられたか否か判断する。列の修復に利用可能な冗長列がない場合は、「いいえ」経路を取ってステップ１６２に進み、そこで、テストの不合格が記録される。しかし、冗長列が利用可能である場合は、「はい」経路を取ってステップ１６４に進み、冗長列１４等の冗長列が、不良列を置き換えるために用いられる。尚、通常の列の冗長性では、冗長列は、三つの連続した冗長列のグループで置き換えられる。しかしながら、図３のメモリ１０には、一つの冗長列のみを示している。本方法は、次に、ステップ１４４に戻り、ステップ１４４に続くステップが、冗長列を含んだ状態で繰り返される。判断ステップ１４８において読み出しデータが書込データに一致した場合は、「合格」経路を取ってステップ１５４に進む。判断ステップ１５４では、最後の列がテストされたか否か判断される。テストすべき追加の列がある場合は、「いいえ」経路を取ってステップ１５６に進む。ステップ１５６では、前のテストからの読み出しマージンを用いる。ステップ１５８では、次の列を選択する。ステップ１４４では、本方法は、上述したように続く。判断ステップ１５４において、最後の列がテストされたと判断した場合、「はい」経路を取ってステップ１６６に進む。ステップ１６６では、冗長修復を備えた従来のＭＢＩＳＴ（メモリ内蔵自己診断）アルゴリズムを実行し得る。
【００２１】
図５は、図２のメモリにおいて読み出しマージンの調整を決定するための方法１２０のフローチャートを示す。ステップ１２２では、メモリが、リセット又は初期化される。ステップ１２４では、アレイ回路チューニング用ヒューズ設定値が適用され、また、既定読み出しマージンが点検修復論理回路７４のマージン表から選択される。ヒューズ設定値は、電源電圧、周波数、及び冗長性を含み得る。ステップ１２６では、点検修復論理回路７４は、センスアンプ制御器７６へのイネーブル信号ＥＮＡＢＬＥをアサートして、シャドーセンスアンプ６２及び６４を故障予見モードで動作させる。ステップ１２８では、通常のアレイ１２を読み出す度に、シャドー列５２のメモリセルを読み出し、それらの出力を評価して、シャドーセンスアンプ６２及び６４の一方又は両方に読み出し障害がないか判断する。シャドーセンスアンプを用いて通常のセンスアンプ５４のマージンを調整する方法の詳細は、図２の議論において既に述べた。シャドーセンスアンプの内の一つが故障した場合、通常のセンスアンプの内の一つが故障しかけていると仮定する。判断ステップ１３０では、読み出し毎に、シャドー列５２からのデータが期待されたものであるか否か判断する。データが制御データに一致する場合、テストは合格であり、「合格」経路を取ってステップ１３４に進み、そこで、現在のセンスアンプマージンが維持される。ステップ１３４から、本方法は、ステップ１２８に戻り、故障予見モードがイネーブル状態である限り繰り返される。判断ステップ１３０においてシャドー列からのデータが一致しない場合、「不合格」経路を取ってステップ１３２に進む。ステップ１３２では、読み出しマージンは、通常のセンスアンプのマージン及びシャドーセンスアンプのマージンを大きくすることによって、更に一段階安全サイドになるように調整される。次に、通常の動作が、よい安全サイドの新しい読み出しマージンでステップ１３４から再開される。そして、メモリがリセットされた場合、ステップ１２２に示すように、前の既定読み出しマージンが再度読み込まれる。これにより、動作状態が良好な場合、性能の利点を維持しつつ、変化している動作状態の場合、更に信頼度の高い動作が可能になる。
【００２２】
図６は、図１のメモリ１０において最適読み出しマージンを決定するための方法１７０のフローチャートを示す。方法１７０は、メモリの読出マージンを調整して、性能利得を得るために用いられる。方法１７０の開始に先立って、まず、メモリが高い信頼性で動作するかテストを行い、必要ならば、冗長性が用いられる。ステップ１７２では、メモリ１０の動作が、リセット動作で始まる。ステップ１７４では、アレイ１２の回路チューニング用ヒューズ設定値、例えば、冗長性、周波数、及び既定読み出しマージン等が適用される。ステップ１７６では、電源電圧及び温度を設定する。ステップ１７８では、読み出しマージンを更に一段階厳しくなるように調整する。これは、点検修復論理回路２８の読み出しマージン表からの次に小さい読み出しマージンを選択することによって行われる。ステップ１８０では、最悪事態の列が選択され書き込まれる。最悪事態の列は、実験データによって決定し得る。ステップ１８２では、最悪事態の列を読み出して、点検修復論理回路２８に記憶されたＷＲＩＴＥ＿ＤＡＴＡと比較する。判断ステップ１８４では、データが一致しない場合、新しい読み出しマージンでのテストは、不合格である。「不合格」経路を取ってステップ１８６に進み、読み出しマージンを調整して前に設定された読み出しマージンに戻す。判断ステップ１９４では、他の電圧／温度をテストするか否かに関する判断を行う。判断が「いいえ」である場合、「いいえ」経路を取って、実験室解析及び製品選別のためにステップ１９６及び１９８に進む。判断ステップ１８４においてデータが一致した場合、テストは合格であり、「合格」経路を取ってステップ１８８に進む。ステップ１８８では、「いいえ」経路を取ってステップ１９０に進み、現在設定されている読み出しマージンを他の列のテストに用いる。ステップ１９１では、次の列を設定し、ステップ１８０に戻る。ステップ１８０から１８８へのループは、列が不合格になるまで、又は全ての列が現読み出しマージンを合格させるまで繰り返される。次に、判断ステップ１９２に進む。判断ステップ１９２では、読み出しマージン表からの最小読み出しマージンが使用されたか否かを判断する。否であれば、「いいえ」経路を取ってステップ１７８に戻り、そこで、読み出しマージンが、表から再調整され、本方法は、ステップ１７８から繰り返される。最小読み出しマージンが使用されていた場合、「はい」経路を取ってステップ１９４に進む。ステップ１９４では、異なる電圧及び温度でテストを繰り返すべきか否か判断する。否であれば、「いいえ」経路を取って、ステップ１９６及び１９８に進み、実験室解析及び製品選別、即ち仕分けを行う。異なる電圧及び温度でテストを繰り返すべきである場合、「はい」経路を取ってステップ１７６に戻り、そこで、新しい電圧及び温度を選択し、本方法をステップ１７６から繰り返す。
【００２３】
用語「アサートする」又は「設定する」及び「ネゲートする」（又は「ディアサートする」又は「クリアする」）は、信号、ステータスビット、又は同様の装置をそれぞれその論理的に真又は論理的に偽の状態にすることを参照する際に用いる。論理的に真の状態が論理レベル１である場合、論理的に偽の状態は、論理レベル０である。また、論理的に真の状態が論理レベル０である場合、論理的に偽の状態は、論理レベル１である。
【００２４】
本明細書に述べた各信号は、正又は負論理として構成し得る。この場合、負論理は、信号名称上のバー又は名称に続く星印（＊）によって示し得る。負論理信号の場合、信号は、アクティブローであり、この場合、論理的に真の状態は、論理レベル０に対応する。正論理信号の場合、信号は、アクティブハイであり、この場合、論理的に真の状態は、論理レベル１に対応する。本明細書で述べる信号は、いずれも負又は正のいずれかの論理信号として構成し得ることに留意されたい。従って、他の実施形態では、正論理信号として述べた信号は、負論理信号として実現してもよく、また、負論理信号として述べた信号は、正論理信号として実現してもよい。
【００２５】
以上、動的に調整可能な読み出しマージンを有するメモリ及びその方法が提供されたことを理解されたであろう。一実施形態では、本メモリ及び方法によって、読み出しマージンを調整して、メモリの信頼性を改善し得る。他の実施形態では、性能利得を得るために本メモリ及び方法を用いる。
【００２６】
本発明を実装する装置は、当業者には既知の電子部品や回路からほとんど構成されるため、回路の詳細については、本発明の根底にある概念の理解や認識のために、また、本発明の教示内容が不明瞭になったり注意が逸れたりしないように、上述した如く必要と思われる以上の説明はしない。
【００２７】
上述した実施形態の一部は、適用可能であれば、様々な異なる情報処理システムを用いて実現し得る。例えば、図１及びそれについての議論では、代表的なメモリについて述べたが、このメモリは、本発明の様々な態様の議論において有用な基準を提供するためだけに示している。勿論、メモリの説明は、議論のために簡素化しており、また、本発明に基づいて用い得る多くの異なる種類の適切なメモリの内の一つに過ぎない。当業者は、論理ブロック間の境界は、単なる説明用であり、他の実施形態では、論理ブロック又は回路素子を併合したり、他の選択肢として様々な論理ブロック又は回路素子に機能を分解したりしてもよいことを認識されたい。
【００２８】
従って、本明細書に示した構成は代表例に過ぎず、実際には、同じ機能を実現する多くの他の構成を実装し得ることを理解されたい。抽象的ではあるが限定的には、同じ機能を達成する要素のあらゆる構成は、所望の機能を達成するように有効に「連動している」。従って、本明細書において特定の機能を達成するために組み合わせた任意の二つの構成要素は、基本的構成又は中間構成要素にかかわらず、所望の機能を達成するように互いに「連動している」と理解し得る。同様に、そのように連動している任意の二つの構成要素は、所望の機能を達成するために互いに「動作可能に接続された」又は「動作可能に接続された」とも見なし得る。
【００２９】
更に、例えば、一実施形態では、メモリ１０の例示要素は、単一の集積回路上又は同一装置内に配置された回路である。他の選択肢として、システム１０は、相互接続された任意の数の個別集積回路又は個別装置を含み得る。例えば、メモリ１０は、同一集積回路上にプロセッサとして埋め込んでもよく、又は、個別集積回路上にスタンドアローンのメモリとして埋め込んでもよい。更に、メモリアレイ１２は、ＳＲＡＭセルを有するものとして述べた。他の実施形態では、メモリアレイは、他のタイプの記憶セルを有してもよく、例えば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）セル、又は不揮発性メモリタイプの内の一つ、例えば、磁気電気ランダムアクセスメモリ（ＭＲＡＭ）セルもしくは浮遊ゲートメモリセル等を有してもよい。
【００３０】
更に、当業者は、上述した動作の機能間の境界は、単なる例示であることを認識されるであろう。複数動作の機能は、単一動作に集約してもよく、及び／又は単一動作の機能は、追加の動作に分散してもよい。更に、他の実施形態には、特定の動作の複数の例を含んでもよく、動作順序は、様々な他の実施形態では、変更してもよい。
【００３１】
本発明について、本明細書では特定の実施形態を参照して述べたが、様々な修正や変更は、以下の請求項に記載した本発明の範囲から逸脱することなく行い得る。従って、明細書及び図は、限定的であるというよりもむしろ例示であると解釈すべきであり、また、そのような全ての修正は、本発明の範囲内に含まれるものとする。本明細書において具体的な実施形態に関して述べたあらゆる恩恵、利点、又は問題に対する解決策も、全ての請求項の不可欠、必須、又は本質的な特徴もしくは要素であると解釈しようとするものではない。
【００３２】
本明細書に用いた用語「接続された」は、直接的接続又は機械的接続に限定するものではない。
更に、本明細書に用いた用語「一つ（不定冠詞）」は、一以上であると定義する。更に、請求項において「少なくとも一つの」及び「一つ又は複数の」等の導入節を用いることは、不定冠詞「一つ」による他の請求項要素の導入が、同じ請求項に導入節「一つ又は複数の」又は「少なくとも一つの」及び「一つ」等の不定冠詞が含まれる場合でも、そのように導入した請求項要素を含む任意の特定の請求項を、そのような要素を一つだけ含む発明に限定することを意味すると解釈すべきではない。同じことが、定冠詞の使用にも当てはまる。
【００３３】
特に明記しない限り、「第１」及び「第２」等の用語は、そのような用語が述べる要素間を任意に区別するために用いる。従って、これらの用語は、必ずしもそのような要素の時間的な又は他の優先順位付けを示そうとするものではない。
【図１】
2011501338.tif 000003
【図２】
2011501338.tif 000004
【図３】
2011501338.tif 000005
【図４】
2011501338.tif 000006
【図５】
2011501338.tif 000007
【図６】
2011501338.tif 000008
【国際調査報告】
2011501338.tif 000009
2011501338.tif 000010