(57)【要約】【課題】メモリ電力および／または領域縮小のための方法と装置。【解決手段】メモリ・セルのアレイは、そのアレイに存在するならば、不良のメモリ・セルの検出するため、スキャンすることができる。メモリ・セルのアレイに適用される供給電圧Ｖｍｅｍは、スキャンの結果に基づいて、そして、１つ以上のメモリ・セルのアレイのセンシティブ度係数に基づいて、制御することができる。センシティブ度係数は、不良であるその１つ以上のメモリ・セルのアレイが、そのメモリ・アレイにデータを読み書きする装置のパフォーマンスに対して有する影響を示すことができる。追加的に、または、代替的に、メモリ・セルの物理的大きさは、センシティブ度係数に基づいて、および／または、メモリ・セルのアレイにおいて許容可能である不良のメモリ・セルの数に基づいて、決定することができる。【選択図】図１Ｂ
2014517439.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・セルのアレイを備える電子装置において、前記メモリ・セルのアレイにおいて、存在するならば、不良なメモリ・セルを検出するために、該メモリ・セルのアレイをスキャンするステップと、前記メモリ・セルのアレイに適用される供給電圧を、前記スキャンの結果に基づいて、また、前記メモリ・セルのアレイの１つ以上のセンシティブ度係数に基づいて、制御するステップと、を含む方法。
【請求項２】
前記センシティブ度係数は、不良である前記１つ以上の前記メモリ・セルのアレイが前記電子装置のパフォーマンスに関して有する影響を示す、請求項１に記載の方法。
【請求項３】
前記センシティブ度係数は、少なくとも部分的には、前記１つ以上の前記メモリ・セルのアレイが不良でない、前記電子装置のパフォーマンス・メトリックと、前記１つ以上の前記メモリ・セルのアレイが不良である、前記電子装置の前記パフォーマンス・メトリックとの比較によって、決定される、請求項１に記載の方法。
【請求項４】
前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容可能であることを示すとき、前記供給電圧を減少させること、を含む、請求項１に記載の方法。
【請求項５】
前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、前記メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加させることを含む、請求項１に記載の方法。
【請求項６】
電子装置に用いられる１つ以上の回路を具備するシステムであって、
前記１つ以上の回路は、メモリ・セルのアレイを備え、
少なくとも、
前記メモリ・セルのアレイにおいて、存在する可能性がある、不良のメモリ・セルを検出するために、該メモリ・セルのアレイをスキャンし、
前記メモリ・セルのアレイに適用される供給電圧を、前記スキャンの結果に基づいて、また、前記メモリ・セルのアレイの１つ以上のセンシティブ度係数に基づいて、制御する、
ように動作可能である、システム。
【請求項７】
前記センシティブ度係数は、不良である前記１つ以上の前記メモリ・セルのアレイが前記電子装置のパフォーマンスに関して有する影響を示す、請求項６に記載のシステム。
【請求項８】
前記センシティブ度係数は、少なくとも部分的には、前記１つ以上の前記メモリ・セルのアレイが不良でない、前記電子装置のパフォーマンス・メトリックと、前記１つ以上の前記メモリ・セルのアレイが不良である、前記電子装置の前記パフォーマンス・メトリックとの比較によって、決定される、請求項６に記載のシステム。
【請求項９】
前記１つ以上回路は、少なくとも、部分的には、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容されることができることを示すとき、前記供給電圧を減らすために動作することによって、前記供給電圧を制御するように動作可能である、請求項６に記載のシステム。
【請求項１０】
前記１つ以上回路は、少なくとも、部分的には、前記スキャンの前記結果が、メモリ・セルの前記アレイにおいて不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加するために動作することによって、前記供給電圧を制御するように動作可能である、請求項６に記載のシステム。
【請求項１１】
メモリ・セルのアレイにおいて、存在する可能性がある、不良のメモリ・セルを検出するために、前記メモリ・セルのアレイをスキャンするステップと、
前記スキャンの結果に基づいて、フォールト・レジスタのコンテンツを構成するステップと、テスト・データを前記メモリ・セルの前記アレイへ書き込むステップであって、前記テスト・データのビットが前記メモリ・セルのアレイに書き込まれる順序が、前記フォールト・レジスタの前記コンテンツによって決定される、ステップと、
前記メモリ・セルのアレイから前記テスト・データを読み出すステップであって、前記テスト・データのビットが前記メモリ・セルのアレイから読み出される順序が、前記フォールト・レジスタの前記コンテンツによって決定される、ステップと、
前記メモリ・セルのアレイに適用される供給電圧を、前記メモリ・セルのアレイから読み出された前記テスト・データの測定されたパフォーマンス・メトリックに基づいて、制御するステップと、を含む方法。
【請求項１２】
前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容可能であることを示すとき、前記供給電圧を減少させること、を含む、請求項１１に記載の方法。
【請求項１３】
前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、メモリ・セルの前記アレイにおいて不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加させることを含む、請求項１１に記載の方法。
【請求項１４】
前記パフォーマンス・メトリックは、ビット誤り率および／またはパケット・エラー率の一方または両方である、請求項１１に記載の方法。
【請求項１５】
前記スキャンは、スタート・アップ、および／または、前記メモリ・セルのアレイのリセットの一方または両方の際に実行される、請求項１１に記載の方法。
【請求項１６】
メモリ・セルのアレイを備える１つ以上の回路を具備するシステムであって、
前記メモリ・セルの１つ以上の物理的大きさが、前記メモリ・セルのアレイにおいて許容可能な不良のメモリ・セルの数に基づいている、前記メモリ・セルのアレイの１つ以上のセンシティブ度係数と相関している、システム。
【請求項１７】
前記１つ以上の回路は、フォールト・レジスタを備え、前記フォールト・レジスタのサイズは、前記メモリ・セルの前記１つ以上の物理的大きさと相関している、請求項１６に記載のシステム。
【請求項１８】
前記１つ以上の回路は、フォールト・レジスタを備え、前記メモリ・セルの前記１つ以上の物理的大きさは、前記フォールト・レジスタのサイズに基づく、請求項１６に記載のシステム。
【請求項１９】
前記１つ以上の回路は、マルチプレクサと、複数のデータ・ラインを備えるデータ・バスとを備え、
前記メモリ・セルのアレイは、特定のメモリ・アドレスに対応し、複数のビット・ラインに結合しており、
前記複数のデータ・ラインおよび前記複数のビット・ラインは、前記メモリ・セルのアレイに書き込み、および／または、前記メモリ・セルのアレイから読み取るのに用いられ、
前記マルチプレクサは、前記複数のデータ・ラインと前記複数のビット・ラインとの間の異なるマッピングの中から選択する、請求項１６に記載のシステム。
【請求項２０】
前記マルチプレクサの構成は、少なくとも部分において、前記メモリ・セルのいずれかが不良であるかどうかに基づいて制御される、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
［優先度主張］
本特許出願は、２０１１年５月１７日に出願された米国仮特許出願第６１／４８７２５０号、および、２０１１年１０月３１日に出願された米国特許出願番号第１３／２８５８６４号とその請求項の優先権に言及し、優先権を主張するものである。
【０００２】
上記の出願は、その全体が参照により、ここに組み込まれる。
【０００３】
［参照による組み込み］
本特許出願は、また、２０１１年１０月７日に出願された米国特許出願番号第１３／２６９４１６号、および、同日に出願された米国特許出願番号第１３／２８５８６４号（代理人整理番号２４３４９ＵＳ０３号）を参照する。
【０００４】
上記の参照出願の各々は、その全体が参照により、ここに組み込まれる。
【０００５】
本願発明のある実施形態は、メモリ回路に関するものである。より詳細には、本願発明のある実施形態は、メモリ電力や領域の縮小のための方法と装置に関するものである。
【背景技術】
【０００６】
従来のメモリ回路は広い領域を占有し、顕著な量の電力を消費する。従来の伝統的なアプローチの更なる制限と不利な点が、図面を参照して以下に記載したように、本願発明のいくつかの態様における、そのようなシステムの比較を通して、当事者にとって明らかになる。
【発明の概要】
【０００７】
メモリの電力や領域縮小のための装置や方法が提供され、それらは、特許請求の範囲においてより完全に述べられるように、図面の少なくとも１つに関連して実質的に図解、記載されている。
【０００８】
これらと他の利点、態様、および、本願発明の新規の特徴は、そこで図示した実施例の詳細とともに、以下の説明と図面からより完全に理解される。
【図面の簡単な説明】
【０００９】
【図１Ａ】図１Ａは、不良のメモリ・セルの影響を緩和するために動作可能な例示的な装置を表す。
【図１Ｂ】図１Ｂは、本願発明を用いることにより、不良のメモリ・セルの数が修正可能な数のものを有するメモリ・セルのアレイを利用するときでも、満足なパフォーマンスを成し遂げることができる例示的な受信機の部分を表す。
【図２】図２は、例示的なフォールトトレラントなメモリの第１のビューを表す。
【図３Ａ】図３Ａは、例示的なフォールトトレラントなメモリの第２のビューを表す。
【図３Ｂ】図３Ｂは、例示的なメモリ・インスタンスを表す。
【図３Ｃ】図３Ｃは、典型的なフォールト・レジスタと、フォールト・レジスタを通して管理されるメモリ・セルとの間でのマッピングを図示する。
【図３Ｄ】図３Ｄは、フォールト緩和コントローラの例示的な部分を図示する。
【図４Ａ】図４Ａは、メモリのアレイが、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのゾーンに区分けされる、例示的なシステムを表す。
【図４Ｂ】図４Ｂは、メモリのアレイが、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのゾーンに区分けされる、例示的なシステムを表す。
【図４Ｃ】図４Ｃは、メモリのアレイが、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのゾーンに区分けされる、例示的なシステムを表す。
【図４Ｄ】図４Ｄは、メモリのアレイが、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのゾーンに区分けされる、例示的なシステムを表す。
【図４Ｅ】図４Ｄは、メモリのアレイが、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのゾーンに区分けされる、例示的なシステムを表す。
【図４Ｆ】図４Ｆは、メモリ・セルの各々のサイズが、不良のセルへのシステムのセンシティブ度に関連する例示的なメモリ・アレイを表す。
【図４Ｇ】図４Ｇは、メモリ・セルの各々の供給電圧が、不良のセルへのシステムのセンシティブ度に関連する例示的なメモリ・アレイを表す。
【図５Ａ】図５Ａは、例示的なフォールト緩和マッピング・モジュールを表す。
【図５Ｂ】図５Ｂは、構成可能フォールト緩和マッピング・モジュールを備えるシステムを表す。
【図６】図６は、本願発明の態様を利用している受信機の例示的なインプリメンテーションのシミュレーション結果を示す。
【図７】図７は、本願発明の態様を利用している受信機の例示的なインプリメンテーションのシミュレーション結果を示す。
【図８】図８は、メモリ・フォールト緩和モジュールのデータストリーム依存的な制御を図示するブロック図である。
【図９】図９は、フォールトトレラントなメモリの供給電圧を決定するための例示的なステップを図示しているフローチャートである。
【図１０】図１０は、フォールト・トレラント・メモリのメモリ・セルのサイズ設定のための例示的なステップを図示しているフローチャートである。
【図１１】図１１は、フォールト・トレラント・メモリの供給電圧を決定するための例示的なステップを図示しているフローチャートである。
【発明を実施するための形態】
【００１０】
ここに用いられる、用語「回路」は、物理的電子部品（すなわち、ハードウェア）を言い、ハードウェアを設定することができるソフトウェア及び／又はファームウェア（「コード」）は、ハードウェアで実行される、および／または、さもなければ、ハードウェアと結びついている。ここに用いられる、「および／または」は、「および／または」により接続されたリストにおける１つ以上の任意の項目を意味する。例えば、「ｘおよび／またはｙ」は、３要素セット｛（ｘ）、（ｙ）、（ｘ、ｙ）｝の任意の要素をも意味する。同様に、「ｘ、ｙ、および／またはｚ」は、７要素セット｛（ｘ）、（ｙ）、（ｚ）、（ｘ、ｙ）、（ｘ、ｚ）、（ｙ、ｚ）、（ｘ、ｙ、ｚ）｝の任意の要素をも意味する。ここに用いられる、「モジュール」という用語は、ハードウェア、ソフトウェア、ファームウェア、または、それらの１つ以上の任意の組合せでインプリメントされることができる機能を指す。ここに用いられる、「例示的である」という用語は、非限定的な例、インスタンス、または具体例を意味する。ここに用いられる、「ｅ．ｇ．」、「例えば」という用語は、１つ以上の非限定的な例、インスタンス、または、具体例のリストを導入する。
【００１１】
図１Ａは、不良のメモリ・セルの影響を緩和するために動作可能な例示的な装置を表す。図１Ａを参照すると、アナログ・フロントエンド（ＡＦＥ）モジュール１０２、中央演算処理装置（ＣＰＵ）１０４、メモリ・モジュール１０６、デジタル信号処理モジュール（ＤＳＰ）１０８、ユーザ・インターフェース・モジュール１１２、信号バス１１０、電源モジュール１１４、および、電力レール１１６を含む、例示的な電子デバイス１００の回路が、示されている。装置１００のいくつかの例は、ケーブルや衛星のセットトップボックスまたはゲートウェイ、テレビジョン、光ディスク・プレーヤー、デジタル・ビデオテープ・レコーダー、および、携帯電話を含む。
【００１２】
ＡＦＥ１０２は、任意の適当な通信プロトコルを利用して、情報を送信し、および／また、受信するように動作可能である。本願発明の例示的な実施形態において、ＡＦＥ１０２は、直角周波数分割多重化信号（ＯＦＤＭ）の送信および／または受信を可能にするアナログ領域処理動作を実行するように動作可能である。
【００１３】
ＣＰＵ１０４は、装置１００の動作を制御する命令（例えば、オペレーティングシステム）を実行するように動作可能である。例えば、ＣＰＵ１０４は、装置１００を構成し、ＡＦＥ１０２、メモリ１０６、ＤＳＰ１０８の動作を制御するために、制御信号を生成することができる。
【００１４】
電力供給１１４は、１つ以上の供給電圧を生成し、装置１００の他のコンポーネントに、１つ以上のライン（「電力レール」）を通して、それを出力するように動作可能である。電力供給１１４は、電圧、Ｖｍｅｍ、を生成することができる、それは電力レール１１６の上の出力であることができる。電圧スケーラー１１６は、Ｖｍｅｍは、複数の電圧の間で構成可能でありえるように、（例えば、ＣＰＵ１０４からの制御信号を介して）制御することができる。電力供給１１４は、他の供給電圧を生成することもできる（示された例示的な実施形態において、電力供給１１４は、デジタル回路のためのＶｄｄと、ＡＦＥ１０２のアナログ回路のためのＶＡとを生成する）。Ｖｍｅｍの値は、電力供給１１４により生成される他の電圧のと独立に、制御することができる。本願発明の別の実施形態において、電力供給１１４は、複数のメモリ供給電圧（例えば、Ｖｍｅｍ１とＶｍｅｍ２）を生成することができる。メモリ供給電圧の各々の値は、独立して構成されることができ、および／または、複数のメモリ供給電圧の値は、同時に構成することができる。
【００１５】
メモリ１０６は、１つ以上の行と１つ以上の列とに配置することができる複数のメモリ・セルを備えることができる。メモリは、揮発性および／または不揮発性メモリ、例えば、ＳＲＡＭ、ＤＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＭＲＡＭ、ＦｅＲＡＭ、および、Ｆｌａｓｈのどんな適当なタイプでも備えることができる。メモリ１０６のメモリ・セルは、レール１１６を介して受け取られる電圧Ｖｍｅｍによって、電力供給することができる。本願発明の例示的な実施形態において、メモリ・セル自体以外のメモリ１０８の回路は、異なる電力レール（図示せず）を通して電力供給することができる。メモリ１０６の例示的な構造が、図２、図３Ｂに関して、以下に記載される。
【００１６】
ＤＳＰ１０８は、１つ以上のコミュニケーション標準にしたがって、デジタル信号処理アルゴリズムと機能を実行するように動作可能である。例えば、ＤＳＰ１０８は、デジタル・フィルタリング、を信号空間マッピング、信号空間デマッピング、インタリーブ、デインターリーブ、および、エラー訂正実行するように動作可能である。本願発明の例示的な実施形態において、ＤＳＰ１０８は、直角周波数分割多重化信号（ＯＦＤＭ）の送信および／または受信を可能にするデジタル領域処理機能を実行するように動作可能である。
【００１７】
バス１１０は、データ・ライン、アドレスライン、および／または、制御ラインを備えることができる。例えば、信号バス１１０は、１つ以上のＮビットデータ・バス、および、メモリ１０６に伝えられる読み取りイネーブルおよび書き込みイネーブル信号など複数の制御ラインを備えることができる。
【００１８】
ユーザ・インターフェース１１２は、装置１００のユーザーから入力を受け取り、出力を装置１００のユーザーに送ることができる。例えば、ユーザ・インターフェース１１２は、タッチスクリーン、キーボード、および／または、他の入力装置、を備えることができ、また、ＬＣＤ、スピーカー、および／または、他の出力装置を含むことができる。
【００１９】
例示的な受信動作において、ＡＦＥ１０２は、ＲＦ信号を受信し、ベースバンド信号を生成するために、アナログ領域において受信信号を処理し、ベースバンド信号をデジタル化し、信号バス１１０を介して、ＤＳＰ１０８にベースバンド信号を出力することができる。ＤＳＰ１０８は、ベースバンド信号に含まれる情報を回復するために、ベースバンド信号を処理するかもしれないベースバンド信号の処理の間、ＤＳＰ１０８は、メモリ１０６に対して、読み取り、及び、書込みを行うことができる。それから回復された情報は、次に、装置のユーザーへの出力のために、ユーザ・インターフェース１１２に伝達することができる。
【００２０】
例示的な伝送動作において、送られるデータは、メモリ１０６から読み出して、ＤＳＰ１０８に伝達することができる。デジタル・シグナル・プロセッサ１０８は、１つ以上のコミュニケーション標準にしたがって、ベースバンド信号を生成するために、データを処理することができる。ベースバンド信号を生成する際に、ＤＳＰ１０８は、メモリ１０６から読み出し、および、それに書き込むことができる。生成されたベースバンド信号は、それをアナログ表現に変換し、さらに処理し、そして、物理メディアの上に送ることができるＡＦＥ１０２に伝達することができる。
【００２１】
図１Ｂは、本願発明を用いることにより、不良のメモリ・セルの数が修正可能な数のものを有するメモリ・セルのアレイを利用するときでも、満足なパフォーマンスを成し遂げることができる例示的な受信機の部分を表す。
【００２２】
ここに用いられる、メモリ・セルの「アレイ」は、特定のアドレス（例えば、図２のアドレス・バス２０８の上の特定の値）に対応するメモリ・セルのグループを言うことができる。したがって、例えば、図２のメモリ２００は、「アレイ・アドレス可能」なものと呼ぶことができる。例えば、メモリ２００が８ビット・アレイを利用するならば、それは、バイト・アドレス指定可能なものと呼ぶことができる。同様に、メモリ２００が、メモリのＸビット・ワードに対応する各々のアレイを有するＸ−ビット・アレイ（Ｘは整数である）を利用するならば、メモリ２００は、ワード・アドレス指定可能なものと呼ぶことができる。
【００２３】
受信機１５０の表現された部分は、メモリ・モジュール１５２、イコライザー・モジュール１５４、デマッパー・モジュール１５６および１６０、デインターリーバ・モジュール１５８、デパンクチャ・モジュール１６２、ビタビ（Ｖｉｔｅｒｂｉ）・デコーダ・モジュール１６４、バイト・デインターリーバ・モジュール１６６、リード・ソロモン・デコーダ・モジュール１６８を備える。受信機１５０の表現された部分は、例えば、図１ＡのＤＳＰ１０８のようなＤＳＰによりインプリメントすることができる。
【００２４】
メモリ・モジュール１５２が、デインターリーバ・モジュール１５８だけにより利用されるものとして表現されているが、受信機１５０の他のモジュールは、また、メモリ・モジュール１５２に対して、読み取り、及び、書込みを行うことができ、そうする際に、パフォーマンスを改善し、および／または、コストおよび／または電力消費を減らすために、本願発明の態様を利用することができる。なお、受信機１５０の他のモジュールは、バス１１０に、インターフェースすることも、しなくても良い、それら自身のメモリを有することができ、本願発明の態様を備え、および／または、利用することができる。
【００２５】
動作において、受信したデジタル・ベースバンド信号１５１は、ＡＦＥ１０２から受け取ることができる。イコライザー１５４は、信号１５１を処理して、信号１５５を生成するために、信号１５１の種々の周波数成分のレベルを調節することができる。デマッパー１５６は、信号１５５のシンボルを信号１５７の１つ以上のビットのグループに翻訳することができる。デインターリーバ１５８は、信号１５９を生成するために、信号１５７のビットのグループをデインターリーブすることができる。メモリ１５２は、デインターリーブする間、信号１５７および／または１５９のバッファ・ビットに利用することができる。デマッパー１６０は、信号１５９のビットのグループを信号１６１のビットのグループに翻訳することができる。デパンクチャ１６２は、信号１６３を生成するために、ビットを信号１６１に挿入することができる。ビタビ（Ｖｉｔｅｒｂｉ）・デコーダ１６４は、信号１６５を生成するために、ビタビ（Ｖｉｔｅｒｂｉ）・アルゴリズムを利用して信号１６３をデコードすることができる。バイト・デインターリーバ１６６は、信号１６７を生成するために、バイト毎ベースで信号１６５を再編成することができる。モジュール１６８は、信号１６９を生成するために、信号１６７の上でリード・ソロモン・デコーディングを実行することができる。信号１６９は、更なる処理のために（例えば、ユーザ・インターフェースによって）出力することができる。
【００２６】
本願発明の例示的な実施形態において、受信機１５０は、少なくとも６ビット秒ヘルツ（ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ  ｐｅｒ  Ｈｅｒｔｚ，  ｂｐｓ／Ｈｚ）のスペクトル効率を要求するシステムで動作することができる。そのような実施形態において、本願発明の態様は、０．０２５ｄＢの以上搬送波対雑音センシティブ度閾値の性能を低下させることなく、メモリ１５２のいかなる所与の列に対しても少なくとも０．０００４のセル故障率を許容する受信機を動作可能にすることができる。これは、たとえ、メモリ１５２が面積において、ファウンドリー標準電池に基づく従来メモリよりも、より小さい場合があるとしても、達成することができる。メモリ１５２は、例えば、メモリ・セルの冗長な列および／または冗長な行の数を減らす、または完全に除くことにより小さくすることができる。
【００２７】
本願発明の例示的な実施形態において、メモリ１５２に供給されるＶｍｅｍの値は、メモリ１５２の電力消費と、メモリ１５２における不良のメモリ・セルの数との間で望ましいバランスを達成するように構成することができる。これに関して、Ｖｍｅｍを減少すると、メモリ１５２の電力消費は、不良のメモリ・セルの数が増加する間、減少することができる。したがって、メモリ１０６の補正の間、Ｖｍｅｍは、最大値から、より低い値まで減少することができる。これは、所与のアプリケーションに対して、メモリ１５２において、不良のメモリ・セルの許容できる数という結果になる。
【００２８】
図２は、例示的なフォールトトレラントなメモリの第１のビューを表す。図２を参照すると、メモリ２００は、セレクタ２０５、および、複数のメモリ・タイル２０２１−２０２８を備える。他の例示的なメモリは、異なる数のメモリ・タイルを備えることができる。アドレス・バス２０８、書込データ・バス２１０、読み取りデータ・バス２１６、および、タイル選択ライン２１２１−２１２８も、また示される。図２の中で表される例示的なメモリにおいて、書き込みデータ・バス２１０と読み込みデータ・バス２１６のそれぞれが、４０ビットのデータを搬送するために、４０ラインを備え、アドレス・バス２０８は、２０ビット・アドレスを搬送するために、２０のラインを備える。２０ビットアドレスと４０ビット・データが表されるが、本願発明は、アドレスまたはデータビットの特定の数に限られていない。
【００２９】
メモリ・タイル２０２１−２０２８は、メモリ・セルの１つ以上のアレイ、および関連周辺コンポーネントを備えることができる。各々のアレイは、全体がメモリ・タイル２０２１−２０２８の１つに存在することができ、あるいは、メモリ・タイル２０２１−２０２８の複数のものにわたることができる。例示的なメモリ・タイル２０２Ｘは、図３Ａにおいて表される。ここで、Ｘは、１以上８以下の整数である。セレクタ２０５は、アドレス・バス２０８（アドレスの最上位３ビット（ＭＳＢ）に対応する）の３つの最上位のラインの上で、タイル選択信号２１２１−２１２８の１つをアサートするために、値をデコードすることができる。
【００３０】
例示的な書込み動作において、データが書き込まれるべきメモリ位置のアドレスは、アドレス・バス２０８に配置することができ、メモリ位置へ書き込まれるべきデータは、書き込みデータ・バス２１０に配置することができる。アドレス・バス２０８の３つの最上位のラインは、タイル選択ライン２１２１−２１２８のどれがアサートされるのかを決定することができる。アサートされたタイル選択ライン２１２Ｘは、タイル２０２Ｘが選択されるという結果となり得る。アドレス・バス２０８の１７の最下位ライン（アドレスの１７最下位ビット（ＬＳＢ）に対応する）は、選択されたタイル２０２Ｘのどのメモリ位置に、書き込みデータ・バス２１０の上のデータは、書き込まれるか、を決定することができる。
【００３１】
例示的な読込み操作において、データが読まれるべきメモリ位置のアドレスは、アドレス・バス２０８に配置することができる。アドレスの３つのＭＳＢは、タイル選択ライン２１２１−２１２８のどれがアサートされるのかを決定することができる。アサートされたタイル選択ライン２１２Ｘは、タイル２０２Ｘが選択されるという結果となり得る。アドレス・バス２０８の１７の最下位ラインは、選択されたタイル２０２Ｘにおける、どのメモリ位置が、読み込みデータ・バス２１６の上に読み出されるのかを決定することができる。
【００３２】
図３Ａは、例示的なフォールトトレラントなメモリの第２のビューを表す。図２のメモリ・タイル２０２１−２０２８の１つに対応することができる例示的なメモリ・タイル２０２Ｘが、図３Ａに示される。メモリ・タイル２０２Ｘは、フォールト・レジスタ３０４、フォールト緩和マッピング・モジュール３０６１−３０６５、フォールト緩和制御モジュール３２２、メモリ・インスタンス３１４１−３１４４、および、マルチプレクサ・モジュール３１８、３２０を備える。書込データ・バス２１０、読み込みデータ・バス２１６、バス３０２、バス３１６１−３１６４、書き込みマップ制御信号３０８、および、読み出しマップ制御信号３１０も示される。
【００３３】
フォールト・レジスタ３０４は、メモリ・インスタンス３１４１−３１４４の１つ以上のフォールト・スキャンの結果を格納することができる。そのようなスキャンは、例えば、メモリ２００が存在するシステム（例えば、受信機１５０）の始動の間、および／または、製造中にメモリやシステムをテストすることの部分として起こり得る。そのようなスキャンの間、メモリ・インスタンス３１４１−３１４４は、不良のメモリ・セルの検出するため、スキャンすることができる。各々の１つ以上の検出された不良のメモリ・セルに対して、フォールト・レジスタ３０４の１つ以上のセルを構成することができる。このようにして、フォールト・レジスタ３０４は、メモリ・インスタンス３１４１−３１４４における不良のメモリ・セルの数や位置を決定することを可能とすることができる。フォールト・レジスタ３０４は、どんな適当なタイプの揮発性および／または不揮発性メモリでも、例えば、ＳＲＡＭ、ＤＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュ、ｅＦｕｓｅ、および／または、メモリ・インスタンス３１４１−３１４４内部および／または外部に１つ以上のフリップフロップを含むレジスタを備えることができる。例えば、フォールト・レジスタ３０４は、製造の間に実行されたスキャンに基づいてプログラムされる１つ以上のワンタイム書込可能（ＯＴＰ：Ｏｎｅ  Ｔｉｍｅ  Ｐｒｏｇｒａｍｍａｂｌｅ）セル、および、各々の始動時にプログラムされる１つ以上のＳＲＡＭセルを備えることができる。別の例において、始動時スキャンの結果を（例えば、フラッシュに）複数の始動にわたって蓄積することができる。フォールト・レジスタのメモリ・セルは、メモリ・インスタンス３１４１−３１４４のメモリ・セルと物理的に分離していることができる。代替的に、（あるいは、追加的に）、メモリ・インスタンス３１４１−３１４４の１つ以上のメモリ・セルは、フォールト・レジスタとして機能するために割り当てることができる。
【００３４】
フォールト緩和制御モジュール３２２は、書き込みマップ制御信号３０８と読み出しマップ制御信号３１０とを生成することができる。書き込み動作の間に、制御モジュール３２２は、書き込まれるメモリ・セルのアレイ、そして、メモリ・セルのそのアレイに対応するフォールト・レジスタのコンテンツに基づいて、書き込みマップ制御信号３０８の状態をコントロールすることができる。読み込み動作中に、制御モジュール３２２は、読み出されるメモリ・セルのアレイ、そして、メモリ・セルのそのアレイに対応するフォールト・レジスタのコンテンツに基づいて、読み出しマップ制御信号３１０の状態をコントロールすることができる。
【００３５】
読み込み動作中に、バス３０２の信号ラインは、メモリ・インスタンス３１４１−３１４４の各々のビット・ラインに、それぞれ接続することができる。書き込み動作の間に、バス３１６１の信号ラインは、メモリ・インスタンス３１４１のビット・ラインに接続することができ、バス３１６２の信号ラインは、メモリ・インスタンス３１４２のビット・ラインに接続することができ、バス３１６３の信号ラインは、メモリ・インスタンス３１４３のビット・ラインに接続することができ、バス３１６４の信号ラインは、メモリ・インスタンス３１４４のビット・ラインに接続することができしている。これは、図３Ｂに図示され、そして以下に記載される。
【００３６】
フォールト緩和マッパー３０６５は、書き込みデータ・バス２１０のどのラインが、バス３０２のどのラインに接続するのかを決定する。書き込みマップ制御信号３０８の異なる値は、書き込みデータ・バス２１０のラインとバス３０２のラインとの間の異なるマッピングに対応する。
【００３７】
フォールト緩和マッパー３０６１は、バス３１６１のどのラインが、バス３１７１のどのラインに接続するのかを決定する。最終的に、信号３１６１がマルチプレクサ３１８により選択されるならば、フォールト緩和マッパー３０６１は、バス３１６１のどのラインが、読み込みデータ・バス２１６のどのラインに接続するのかを決定する。読み出しマップ制御信号３１０の異なる値は、バス３１６１とバス３１７１との間での異なるマッピング（したがって、バス３１６１と読み込みデータ・バス２１６と間の異なるマッピング）に対応する。
【００３８】
フォールト緩和マッパー３０６２は、バス３１６２のどのラインが、バス３１７２のどのラインに接続するのかを決定する。最終的に、信号３１６２がマルチプレクサ３１８により選択されるならば、フォールト緩和マッパー３０６２は、バス３１６２のどのラインが、読み込みデータ・バスの２１６に線のどのラインに接続するのかを決定する。読み出しマップ制御信号３１０の異なる値は、バス３１６２とバス３１７２との間での異なるマッピング（したがって、バス３１６２と読み込みデータ・バス２１６と間の異なるマッピング）に対応する。
【００３９】
フォールト緩和マッパー３０６３は、バス３１６３のどのラインが、バス３１７３のどのラインに接続するのかを決定する。最終的に、信号３１６３がマルチプレクサ３１８により選択されるならば、フォールト緩和マッパー３０６３は、バス３１６１のどのラインが、読み込みデータ・バスの２１６のどのラインに接続するのかを決定する。読み出しマップ制御信号３１０の異なる値は、バス３１６３とバス３１７３との間での異なるマッピング（したがって、バス３１６３と読み込みデータ・バス２１６と間の異なるマッピング）に対応する。
【００４０】
フォールト緩和マッパー３０６４は、バス３１６４のどのラインが、バス３１７４のどのラインに接続するのかを決定する。最終的に、信号３１６４がマルチプレクサ３１８により選択されるならば、フォールト緩和マッパー３０６４は、バス３１６４のどのラインが、読み込みデータ・バス２１６のどのラインに接続するのかを決定する。読み出しマップ制御信号３１０の異なる値は、バス３１６４とバス３１７４との間での異なるマッピング（したがって、バス３１６４と読み込みデータ・バス２１６との間の異なるマッピング）に対応する。
【００４１】
メモリ・インスタンス３１４１−３１４４は、メモリの１つ以上のアレイを備えることができる。各々のアレイは、メモリ・インスタンス３１４１−３１４４の１つにおいて、全体が存在することができる、あるいは、メモリ・インスタンス３１４１−３１４４の複数のものにわたることができる。本願発明の例示的な実施形態において、各々のメモリ・インスタンス３１４１−３１４４は、Ｍ行とＮ列に配置されるＭ×Ｎメモリ・セルを備えることができる。ここで、ＭとＮとの各々が整数であり、ＭとＮの一方または両方は、１より大きい。
【００４２】
マルチプレクサ３１８は、バス３１７１−３１７４のどれが、バス３１９に送られるかを選択することができる。マルチプレクサ３１８は、アドレス・バスの１つ以上のライン（図３Ａに表した例示的な実施形態における、アドレスビット１５と１６に対応したライン１６と１５）によって制御することができる。
【００４３】
マルチプレクサ３２０は、バス３１９のどのビットが、読み込みデータ・バス２１６に送られるか選択することができる。マルチプレクサ３１９は、アドレス・バスの１つ以上のライン（図３Ａに表した例示的な実施形態における、アドレスビット０に対応するライン０）によって制御することができる。
【００４４】
動作において、始動および／または製造／生産テストの際に、メモリ・インスタンス３１４１−３１４４のスキャンを実行することができ、不良のメモリ・セルの位置を、フォールト・レジスタ３０４に保存することができる。スキャンを完了した後で、メモリ２０２Ｘは、メモリ２０２Ｘからデータを読み出し、それに書き込む通常動作を開始することができる。ここで、Ｘは、１以上、８以下の整数である。
【００４５】
書込み動作に対して、メモリ位置へ書き込まれるべきデータは、バス２１０のラインに配置することができ、書き込まれる場所のアドレス（「ＡＤＲＳ＿Ｗ」）は、アドレス・バス２０８に配置することができる。フォールト緩和制御モジュール３２２は、メモリ・インスタンス３１４１−３１４４中で、その場所に不良のメモリ・セルがあるかどうか決定するために、フォールト・レジスタ３０４において、ＡＤＲＳ＿Ｗを調べることができる。フォールト緩和制御モジュール３２２は、ルックアップの結果に対応するマッパー３０６５のマッピングを実行するように構成するために、書き込みマップ制御信号３０８をセットすることができる。次に、バス２１０のデータは、バス３０２にマップすることができる。メモリ・インスタンス３１４Ｗ（ＡＤＲＳ＿Ｗに対応しているメモリ・インスタンス）に対応しているライトイネーブル信号３１２のビットは、次に、バス３０２のラインをメモリ・インスタンス３１４Ｗのビット・ラインに接続させ、そして、書込み操作を生じるようにアサートすることができる。
【００４６】
読み取り動作に対して、（「ＡＤＲＳ＿Ｒ」）から読まれるアドレスは、アドレス・バス２０８に配置することができる。フォールト緩和制御モジュール３２２は、メモリ・インスタンス３１４１−３１４４中で、その場所に不良のメモリ・セルがあるかどうか決定するために、フォールト・レジスタ３０４においてＡＤＲＳ＿Ｒを調べることができる。フォールト緩和制御モジュール３２２は、読み出しマップ制御信号３１０をルックアップの結果に対応するマッピングをインプリメントするようにマッパー３０６１−３０６４を設定するようにセットすることができる。メモリ・インスタンス３１４１−３１４４の各々におけるＡＤＲＳ＿Ｒに対応するメモリ・セルは、それぞれ、バス３１６１−３１６４の上に読み出すことができる。バス３１６１のラインは、マッパー３０６１によって、バス３１７１のラインにマップすることができ、バス３１６２のラインは、マッパー３０６２によって、バス３１７２のラインにマップすることができ、バス３１６３のラインは、マッパー３０６３によって、バス３１７３のラインにマップすることができ、バス３１６４のラインは、マッパー３０６４によって、バス３１７４のラインにマップすることができる。ＡＤＲＳ＿Ｒのビット１６と１５に基づいて、マルチプレクサ３１８は、バス３１７１−３１７４の１つを、バス３１９へ接続する。ＡＤＲＳ＿Ｒのビット０に基づいて、バス３１９のラインの第１の部分、あるいは、第２の部分のいずれかが、読み込みデータ・バス２１６のラインに接続される。
【００４７】
図３Ｂは、例示的なメモリ・インスタンスを表す。図３Ａに示されたメモリ・インスタンス３１４１−３１４４のいずれか１つに対応することができる例示的なメモリ・インスタンス３１４Ｙが、図３Ｂに示される。メモリ・インスタンス３１４Ｙは、行デコーダ３３０、ワード／行ライン３３２［１：Ｍ］、ビット・ライン３３６［１：Ｎ］、メモリ・セル３３４１，１−３３４Ｍ，Ｎ、列入力／出力モジュール３３８、そして、トランジスタ３４７をプリチャージする［１：プレチャージ・トランジスタ３４７［１：Ｎ］を備える。セル３３４１，１−３３４Ｍ，Ｎは、メモリ・タイル２０２１−２０２８の１つ以上のメモリ・インスタンス３１４１−３１４４の１つ以上の中に存在することができる。シングル・エンドの実施形態が表されるが、各々のワード・ライン３３２［ｍ］および／または各々のビット・ライン３３６［ｎ］は、ディファレンシャル信号伝達のための２つのラインを備えることができた。ここに用いられる、「ビット・ライン」という用語は、シングル・エンド・ビット・ラインとディファレンシャル・ビット・ラインの両方を指して用いられる。
【００４８】
行デコーダ３３０は、バス２０８の上のバイナリ・コード化されたアドレスの部分を、残りのワード・ライン３３２がアサート停止される（すなわち、「選択されない」）一方で、アドレス２０８に対応している行ラインがアサートされる（すなわち「選択される」）ように、デコードすることができる。
【００４９】
各々のメモリ・セル３３４１，１−３３４Ｍ，Ｎは、データのビットを保存するように動作可能でありえる。各々のメモリ・セルは、例えば、交差結合インバータ、および、１つ以上のアクセス・トランジスタを備えることができる。しかし、６つのトランジスタ（６Ｔ）ＳＲＡＭメモリ・セルが、示される、本願発明は、よく知られている他のメモリ・セル設計に等しく適用される。
【００５０】
列入力／出力モジュール３３８は、バス３０２（図３Ａ参照）またはバス３１６（図３Ａ参照）が、ビット・ライン３３６［１：Ｎ］に接続しているか否かを選択することができる。ｗｅ［Ｙ］、メモリ・インスタンス３１４Ｙに対応するライトイネーブル信号３１２のビットが、アサートされるときに、メモリ・インスタンス３１４Ｙに対応しているバス３１６は、ビット・ライン３３６［１：Ｎ］に結合することができる。ｗｅ［ｙ］が、アサート停止されるとき、バス３０２は、ビット・ライン３３６［１：Ｎ］に接続することができる。
【００５１】
プリチャージ・トランジスタ３４７［１：Ｎ］は、書き込み動作の間に、ビット・ライン３３６［１：Ｎ］に、Ｖｍｅｍを適用することができる。本願発明の別の実施形態において、メモリ・インスタンス３１４Ｙは、また、使用可能であるときに、ちょうど読み取り動作の前に、ビット・ライン３３６［１：Ｎ］に、Ｖｍｅｍを適用することができる複数のプリチャージ・トランジスタを備えることもできる。
【００５２】
また、メモリ・セル３３４１，１−３３４Ｍ，Ｎの例示的なものの拡張されたビューが、図３Ｂにおいて示される。拡大された図は、一部の差異ビット線３３６［Ｎ］＋と３６６［Ｎ］−、ワード・ライン３３２［２］の部分、一対の交差結合インバータ３３９と３４０、および、セル・アクセス・トランジスタ３４５と３４６を表す。６つのトランジスタ（６Ｔ）ＳＲＡＭメモリ・セルが、示されているのであるが、本願発明は、他の周知のメモリ・セル設計に対しても同様にうまく適用される。
【００５３】
動作において、Ｖｍｅｍの値は、不良のメモリ・セルの数を決定することができる。Ｖｍｅｍに対するこの依存性は、たとえば、メモリ・セル３３４１，１−３３４Ｍ，Ｎの間のトランジスタ閾値電圧におけるバリエーションと、所与の閾値電圧に対して、セルの中のノードをチャージするのに要求される時間におけるバリエーションとによるものでありえる。従って、メモリ２００の補正（例えば、スタート・アップの間の自己診断）の間に、Ｖｍｅｍの値は、（例えば、不良のセルの数、および／または、データがメモリから書き込み／読み出しできる率に関して測定された）パフォーマンスと、所与のアプリケーションに対する電力消費との間で望ましいバランスを達成するように調節することができる。
【００５４】
同様に、メモリ・セル３３４１，１−３３４Ｍ，Ｎの種々のパラメータは、メモリ・セル３３４１，１−３３４Ｍ，Ｎのいくつが、所与のプロセス、電圧、および、温度条件に対して、不良であるかに影響することがありえる。そのようなパラメータは、メモリ・セル３３４１，１−３３４Ｍ，Ｎの種々の物理的大きさを含むことができる例えば、これらパラメータは、１つ以上のトランジスタ（例えば、プリチャージ・トランジスタ３４７［１：Ｎ］、セル・アクセス・トランジスタ３４５と３４６、および／または、トランジスタ３４１ー３４４））の１つ以上の大きさ（例えば、ゲート幅や長さ）、トレース（すなわち、「ワイヤー」）の幅、トレース間の間隔、接点のサイズ、接点の間隔、拡散ウェルのサイズ、および／または、拡散ウェル間の間隔を含むことができる。したがって、特殊用途のためにメモリを設計するとき、１つ以上のそのようなパラメータは、（例えば、不良のセルの数、および／または、データがメモリから書き込み／読み出しできる率に関して測定された）パフォーマンスと、メモリ領域との間で望ましいバランスを達成するように調節することができる。
【００５５】
図３Ｄは、フォールト・レジスタと、フォールト・レジスタを介して管理されるメモリ・セルの間の例示的なマッピングを図示する。図３Ｃを参照すると、Ｍ行Ｎ列メモリブロック３５１が示される。ここで、ＭとＮとは、整数であり、それらの一方または両方は、１より大きい。メモリ３５１のブロックは、例えば、メモリ２００のメモリ・セル３３４１，１−３３４Ｍ，Ｎに対応することができる。本願発明の例示的な実施形態において、メモリ３５１の各々の行は、特定のメモリ・アドレスに対応することができる（そして、このように、各々の行は、その用語がここで持ちられるように「アレイ」でありえる）。別の実施形態において、各々の行は、複数のメモリ・アドレスに対応する複数のアレイを備えることができる。さらに別の実施形態において、メモリブロック３５１におけるアレイは、複数の行にわたることができ、したがって、単一のメモリ・アドレスは、複数の行に対応することができる。
【００５６】
フォールト・レジスタ３０４のメモリ・セル３５０１−３５０Ｋも、また、示されている。ここで、Ｋ＝ｃｅｉｌｉｎｇ（Ｍ／ｉ）である。「ｃｅｉｌｉｎｇ（）」は、最も近い整数まで丸めることを意味し、ｉは、１以上Ｍ以下の整数である。メモリブロック３５１の各々の第１の部分３５２は、メモリブロック３５１のメモリ・セルのｉ行に対応することができ、フォールト・レジスタ・メモリ・セル３５０１−３５０Ｋの１つと結びついていることができる。したがって、ｉのより大きい値は、より小さなフォールト・レジスタ、に対応することができる。一方、メモリブロック３５１において、ｉのより少ない値が不良のセルのより良い緩和を提供することができる。従って、本願発明の態様は、Ｖｍｅｍの値に基づいて、ｉを調節することを可能にすることができる。例えば、ｉのより小さい値を、Ｖｍｅｍのより小さい値で利用することができ、および、その逆を含む。ｉとＶｍｅｍの異なる組合せは、メモリブロック３５１の異なるアプリケーションに対して、最適でありえる。例えば、ｉとＶｍｅｍの値の第１の組合せは、メモリブロック３５１に第１のデータ・タイプを格納するとき、最適でありえ、ｉとＶｍｅｍの値の第２の組合せは、メモリブロック３５１に第２のデータ・タイプを格納するとき、最適でありえる。異なるデータ・タイプは、たとえば、異なるフォーマットや標準に対応することができる。
【００５７】
同様に、本願発明の態様は、メモリブロック３５１のトランジスタのサイズ設定に基づいて、ｉを調節することを可能にすることができる。例えば、より小さなトランジスタ・サイズ（したがって、より小さなメモリ・セル・サイズ）は、ｉのより少ない値で利用することができる。このようにして、メモリブロック３５１のフォールト・レジスタとサイズのサイズは、最適の設計トレードオフを達成するように調整することができる。本願発明の例示的な実施形態において、すべてのパラメータ、Ｖｍｅｍ、ｉ、および、個々のトランジスタのサイズ、は、最適の電力、領域、および、パフォーマンスの、所与のアプリケーションに対するトレードオフを達成するように調整することができる。ｉのそのような調整／最適化は、メモリブロック３５１の製造の間、および／または、たとえば、メモリブロック３５１のスタート・アップで走らせる補正ルーチンの間に行うことができる。
【００５８】
図３Ｃにおける、１つのフォールト・レジスタ・セル３５０Ｋが、メモリブロック３５１の各々のｉ行に対応する、例示的な実施形態は、アレイが２つのセンシティブ度ゾーンに区分けされる実施形態に対応することができる（センシティブ度ゾーンはもっと詳細に下で記述される）。本願発明は、しかしながら、そのように制限されるものではなく、複数のフォールト・レジスタ・ビットが、メモリブロック３５１の各々のｉ行に対応することができる。本願発明の例示的な実施形態において、各々のｉ行に対応するフォールト・レジスタ・セルの数は、ｃｅｉｌｉｎｇ（ｌｏｇ２Ｒ）に等しいことができる。ここで、Ｒは、１より大きい整数であり、センシティブ度ゾーンの数を表す。例えば、Ｒ＝４（例えば、高い、中高、中低、および、低い）センシティブ度ゾーンに対して、メモリの各々のｉ行に対して、２つのフォールト・レジスタ・セルがあることができる。本願発明の実施形態において、Ｒの値は、メモリの特定のアプリケーションに対して最適化することができる。Ｒの値は、ｉ、Ｖｍｅｍ、および／または、個々のトランジスタのサイズの調整とともに、調節することができる。
【００５９】
図３Ｄは、フォールト緩和コントローラの例示的な部分を図示する。図３Ｄを参照すると、フォールト緩和コントローラ３２２の表現された部分は、フォールト蓄積器３５６、および、論理モジュール３５８、３６０、３６２、そして、３６４を備える。
【００６０】
動作において、メモリ２００の始動と同時に、メモリ２００のスキャンを、始めることができる。スキャンは、メモリにテスト・データに書き込むこと、メモリからテスト・データを読むこと、次に、不良のメモリ・セルを検出するために書き込まれたデータを読まれたデータと比較することを含むことができる。フォールト蓄積器３５６のセルの各々のセルまたはグループは、スキャンされているメモリブロックにおける、メモリの特定の列に対応することができる。従って、テストされているｉ行に対して、不良のセルが特定の列で検出されるたびに、その列に対応しているフォールト蓄積器３５６の１つ以上のビットが、インクリメントされる。
【００６１】
実例を示すと、メモリブロック３５１の第１のｉ行に対応するセル３５２１（図３Ｃ）の部分を考える。テスト・データは、部分３５２１におけるどんな不良のセルでも検出するために、部分３５２１のセルへ書き込むこと、次にそれから読むことができる。列１からＮの各々に対して、その列に対応するフォールト蓄積器３５６の１つ以上のビットは、部分３５２１のその列で、不良のメモリ・セルが検出されるたびに、インクリメントすることができる。一旦、部分３５２１のすべてのセルがテストされるならば、１つ以上の論理的および／または数値演算が、フォールト・レジスタのセル３５０１は、アサートされるべきか、アサート停止されなければならないかどうかを決定するために、フォールト蓄積器３５６のコンテンツに適用される。アサートされているセル３５０１は、１つ以上のフォールト緩和マッパー（例えば、図３Ａのフォールト緩和マッパー３０６１−３０６５）は、部分３５２１におけるアレイに書き、それから読むときに、ビット・ライン・マッピングに最初のデータ・ラインを利用することになっていることを示すことができる。反対に、アサート停止されているセル３５０１は、１つ以上のフォールト緩和マッパー（例えば、図３Ａのフォールト緩和マッパー３０６１−３０６５）は、部分３５２１におけるアレイに書き、それから読むときに、ビット・ライン・マッピングに第２のデータ・ラインを利用することになっていることを示すことができる。
【００６２】
フォールト蓄積器３５６のコンテンツの上で実行される論理的および／または数値演算は、高センシティブ度ゾーンに対応する部分３５２１の列と、低センシティブ度ゾーンに対応する部分３５２１の列とに依存することができる。記載された例示的な部分において、高感度部分３６８１と３６８３、および、低センシティブ度部分３６８２と３６８４が存在し、各々の部分が、それぞれ、メモリブロック３５１の１つ以上の列に対応する、１つ以上のビットを備える。部分３６８１と３６８３のビットは、信号３５９を生成するために、モジュール３５８による論理的ＯＲ演算したものである。部分３６８２と３６８４のビットは、信号３６１を生成するために、モジュール３６０による論理的ＯＲ演算したものである。信号３６１は、信号３６３を生成するために、インバータ３６２で反転される。信号３６１と３６３は、信号３６６を生成するために、ＡＮＤ演算される。信号３６６がアサートされるならば、「ａ  １」をメモリ・セル３５０１に書き込むことができ、信号３６６がアサート停止されるならば、「ａ  ０」をメモリ・セル３５０１に書き込むことができる。
【００６３】
各々の部分３５２２−３５２Ｋは、部分３５２１にたいして上で記述されたのと類似した方法で、フォールトのスキャンすることができる。各々のフォールト・レジスタ・セル３５０２−３５０Ｋは、セル３５０１に対して上で記述されたのと類似した方法で、配置することができる。
【００６４】
図４Ａー４Ｅは、メモリのアレイは、そのアレイにおいて１つ以上の不良のセルの影響を緩和するために、２つのセンシティブ度ゾーンに区分される、例示的なシステムを表す。図４Ａー４Ｅに、メモリ・セル４００のアレイ、アレイ４００に関連するフォールト・レジスタ４０２、および、アレイ４００へ書き込まれる８ビット・データ・ブロックを示す。図４Ａ−４Ｅの中で表される例示的な実施形態において、アレイ４００は８ビットであり、データ・ブロックは、８ビットであるが、しかし、本願発明は、それに制限されるものではない。
【００６５】
配列４００に格納されるべきデータに基いて、アレイ４００のセルは、高いセンシティブ度ゾーンと低いセンシティブ度ゾーンに区分けすることができる。実例を示すと、図４Ａー４Ｃの中で表される例示的な実施形態において、データ・ブロック４０４は、ビット［７］がＭＳＢであり、ビット［０］がＬＳＢである８ビット数である。この実施形態において、データ・ブロック４０４のビット［７：４］の１つにおけるエラーは、システム性能において、データ・ブロック４０４のビット［３：０］の１つにおけるエラーよりも、正しい値から、より大規模な逸脱を引き起こす。例えば、デジタル通信またはビデオシステムにおいて、ビット誤り率（ＢＥＲ）、パケット・エラー率（ＰＥＲ）、または、フレーム・エラー率（ＦＥＲ）は、ビット［３：０］におけるエラーであるより、ビット［７：４］におけるエラーであるほうが、より低くなることができる。従って、上部４つのセル（セル［７：４］）は、より高いセンシティブ度セルとして区分けされ、下部の４つのセル（セル［３：０］）は、より低いセンシティブ度セルとして区分けされた。本願発明の実施形態において、セルや列を、どのセンシティブ度ゾーンに割り当てるべきかを、不良のセルや列を機能的なそのセルや列と比較することによる、システム・パフォーマンス測定（例えば、ビット誤り率（ＢＥＲ））での正規化差異に基づいて、決定することができる。
【００６６】
動作において、アレイ４００のセル［７：０］と、データ・ブロック４０４のビット［７：０］との間のマッピングは、フォールト・レジスタ４０２によって示されるマッピングに基づいて、決定することができる。
【００６７】
図４Ａにおいて、不良のセルが、アレイ４００にない。従って、フォールト・レジスタ４０２は、第１のマッピングが利用されることになっていることを示す。図４Ａ−４Ｅの中で表される例示的な実施形態において、第１のマッピングは、データ・ブロック４０４のビット［０：Ｎ］がシーケンシャルにアレイ４００のセル［０：Ｎ］へ書き込まれるという結果になる。すなわち、図４Ａの中で利用されるマッピングは、下記の表１で示すようである。
【表１】
2014517439.tif 000003
【００６８】
図４Ｂにおいて、不良のメモリ・セル（セル［１］）が、より低いセンシティブ度ゾーンに存在するが、しかし、より高いセンシティブ度ゾーンには存在しない。従って、フォールト・レジスタ４０２は、第１のマッピングが使われることになっていることを示す。
【００６９】
図４Ｃにおいて、不良のメモリ・セル（セル［５］）が、より高いセンシティブ度ゾーンに存在し、そして、より低いセンシティブ度ゾーンには存在しない。従って、フォールト・レジスタ４０２は、第２のマッピングが使われることになっていることを示す。図４Ａ−４Ｅの中で表される例示的な実施形態において、第２のマッピングは、データ・ブロック４０４のビット［０：Ｎ］がリバース・シーケンシャルにアレイ４００のセル［０：Ｎ］へ書き込まれることという結果になる。すなわち、図４Ｃの中で利用されるマッピングは、下記の表２で示すとおりである。
【表２】
2014517439.tif 000004
【００７０】
図４Ｄにおいて、不良のメモリ・セル（セル［４］）が、より高いセンシティブ度ゾーンに存在し、不良のメモリ・セル（セル［１］が、より低いセンシティブ度ゾーンに存在する。本願発明の態様は、どのマッピングを利用するべきかを決定するために、利用できるマッピングごとにデータ・ブロック４０４の値における潜在的エラーを比較することを可能にすることができる。実例を示すと、図４Ｄにおいて、第１のマッピングは、ビット４と１の潜在的エラーの結果となり、そして、第２のマッピングは、ビット６と３での、潜在的エラーの結果となる。従って、図４Ｄにおいて、第１のマッピングは利用されることができる。同様に、図４Ｅにおいて、第１のマッピングはビット７と２の潜在的エラーの結果となり、第２のマッピングは、ビット５と０での、潜在的エラーの結果となる。従って、図４Ｅにおいて、第２のマッピングが利用される。
【００７１】
図４Ａ−４Ｅが２つのセンシティブ度ゾーンを表す、一方、実際には、利用されるセンシティブ度ゾーンの数は、１より大きいどんな整数でもありえる。
【００７２】
図４Ｆは、メモリ・セルの各々のサイズが、不良（たとえば、ビット誤り率で測定されると）のセルへのセンシティブ度に関連する例示的なメモリ・アレイを表す。データ・ブロック４０４（すなわち、上位４ビットがより高いセンシティブ度であり、下位４ビットがより低いいセンシティブ度である８ビット・データ・ブロック）のようなデータ・ブロックを格納するサイズのメモリ・インスタンス３１４Ｙの例示的なインプリメンテーションが、図４Ｆにおいて示される。すなわち、各々の行ｍに対して、メモリ・セル３３４ｍ，１−３３４ｍ，４（より高いセンシティブ度ゾーンにおけるセル）は、メモリ・セル３３３４ｍ，５−３３４ｍ，８（より低いセンシティブ度ゾーンにおけるセル）より大きい。このサイズ設定は、より高いセンシティブ度ゾーンの方が、より低いセンシティブ度ゾーンよりも、不良のセルが、より少ないという結果となりえる。図４Ｆが、２つのセンシティブ度ゾーンに対する２つのセルサイズを図示する、一方、センシティブ度に基づくサイズ設定は、任意数のセンシティブ度ゾーンに適用することができる。同様に、図４Ｆは、センシティブ度ゾーンの数と、セルサイズの数との間で、１対１の対応を有するのであるが、センシティブ度ゾーンの数と、セルサイズの数との間での他の関係を、用いることができる。例えば、第１のより大きなサイズのセルを有する、高いセンシティブ度ゾーンと中程度に高いセンシティブ度ゾーン、および、第２のより小さなサイズのセルを有する、中程度に低いセンシティブ度ゾーンと低いセンシティブ度ゾーン、の４つのセンシティブ度ゾーンに対して、２つのセルサイズがありえる。
【００７３】
図４Ｇは、メモリ・セルの各々の供給電圧が、不良（たとえば、ビット誤り率で測定されと）のセルへのセンシティブ度に関連する例示的なメモリ・アレイを表す。データ・ブロック４０４のようなデータ・ブロックを格納するために構成された供給電圧を有するメモリ・インスタンス３１４Ｙの例示的なインプリメンテーションが、図４Ｇにおいて示される。すなわち、各々の行ｍに対して、メモリ・セル３３４ｍ，１−３３４ｍ，４（より高いセンシティブ度ゾーンにおけるセル）は、Ｖｍｅｍ１を供給され、メモリ・セル３３３４ｍ，５−３３４ｍ，８（より低いセンシティブ度ゾーンにおけるセル）は、Ｖｍｅｍ２を供給される。ここで、Ｖｍｅｍ１＞Ｖｍｅｍ２である。この供給電圧の構成は、より高いセンシティブ度ゾーンの方が、より低いセンシティブ度ゾーンよりも、不良のセルが、より少ないという結果となりえる。図４Ｇが、２つのセンシティブ度ゾーンに対する２つの供給電圧を図示する、一方、センシティブ度に基づく供給電圧構成は、任意数のセンシティブ度ゾーンに適用することができる。同様に、図４Ｇは、センシティブ度ゾーンの数と、供給電圧の数との間での１対１の対応を有するのであるが、センシティブ度ゾーンの数と、供給電圧の数との間での他の関係を、用いることができる。例えば、第１のより高い供給電圧を供給される、高いセンシティブ度ゾーンと中程度に高いセンシティブ度ゾーン、および、第２のより低い供給電圧を供給される、中程度に低いセンシティブ度ゾーンと低いセンシティブ度ゾーン、の４つのセンシティブ度ゾーンに対して、２つの供給電圧がありえる。
【００７４】
図５Ａは、例示的なフォールト緩和マッピング・モジュールを表す。図５Ａを参照すると、フォールト緩和マッピング・モジュール５０２は、入力ライン５０４［７：０］と、出力ライン５１０［７：０］と、マルチプレクサ５０８と、制御信号５１２とを備える。制御信号５１２が論理０であるとき、ライン５０４［７：０］は、下の表３に示されるように、ライン５１０［７：０］にマップすることができる。制御信号５１２が論理１であるとき、ライン５０４［７：０］は、下の表４に示されるように、ライン５１０［７：０］にマップすることができる。
【表３】
2014517439.tif 000005
【表４】
2014517439.tif 000006
【００７５】
図５Ａにおいて表されるフォールト緩和マッピング・モジュールは、信号ラインの再順位付けを通して、異なるマッピングを達成する。このようにして、マルチプレクサ５０８により導入されたディレイは、フォールト緩和マッピング・モジュール５０２によって導入される唯一の顕著な追加的ディレイでありえる。他の実施形態において、しかしながら、マッピングは、１つ以上の論理ゲートを介して達成することができる。そのような他の実施形態は、例えば、追加的なディレイが許容されえるときに、利用することができる。本願発明の実施形態において、マッピングは、例えば、ベネス置換ネットワークなど置換ネットワークによって達成することができる。
【００７６】
図５Ｂは、構成可能フォールト緩和マッピング・モジュールを備えるシステムを表す。図５Ｂを参照すると、構成可能フォールト緩和マッピング・モジュール５４０は、入力ライン５４４［７：０］と、出力ライン５５０［７：０］と、マルチプレクサ５４８と、制御信号５５２と、６４の構成要素５４６１，１−５４６８，８を備える。６４構成素子は、説明のために利用されるものであるけれども、本願発明は、それに制限されるものではない。
【００７７】
構成要素５４６１，１−５４６８，８の各々は、例えば、ＮＭＯＳトランジスタ、ＰＭＯＳトランジスタ、ＣＭＯＳ伝達ゲート、ヒューズ、アンチ・ヒューズ、または、信号トレースの接続をつくる、および／または、接続を切断するための任意他のものデバイスを備えることができる。構成要素５４６１，１−５４６８，８は、ワンタイム構成可能であり、プログラミング・ステーションを介して電子的に構成可能であり、および／または、モジュール５４２が存在する（例えば、受信機１５０）装置の作動の間に、（例えばＣＰＵ１０４などのプロセッサーからの制御信号によって）ダイナミックに構成可能である。
【００７８】
動作において、信号５５２が論理０であるとき、モジュール５４２は、第１のマッピングを実行することができ、信号５５２が論理１であるとき、第２のマッピングを実行することができる。
【００７９】
モジュール５４２がワンタイム・プログラマブルである例示的な実施形態において、モジュール５４２で利用されることになっている特定のメモリを特徴づける際に、第２のマッピングを決定することができる。例えば、そのモジュールは、メモリ１５２の各々の行のセル［６］が不良であるように、不良のビット・ライン［６］を有するメモリ１５２と対にすることができる。モジュール５４２は、メモリ１５２のビット・ライン［６］が、モジュール５４２（例えば、データ・ブロック４０４のビット［０］）を介してメモリ１５２に書き込まれるデータ・ブロックの最下位ビットに対応するライン５４４［７：０］の１つにマップされるように、プログラムすることができる。
【００８０】
例示的な実施形態において、モジュール５４２は、メモリごとに、メモリ・インスタンスごとに、メモリ・アドレスごとに、および／または、メモリ・アレイごとに、を基礎に構成することができる。例えば、構成要素５４２は、メモリ１５２の第１のアドレスからメモリを書き込むか、読むとき、第１の構成に配置することができ、メモリ１５２の第２のアドレスからメモリを書き込むか、読むとき、第２の構成に配置することができる。
【００８１】
図６、図７は、受信機１５０の例示的なインプリメンテーションのシミュレーション結果を示す。図６、図７において提示されたシミュレーション結果は、標準供給電圧Ｖｍｅｍを有する一様サイズのメモリ・セルを使用して得られた。
【００８２】
図６は、ビット誤り率（ＢＥＲ）で測定される前向き誤り訂正（ＦＥＣ）を有する受信機１５０の例示的なインプリメンテーションのデコーディング・パフォーマンスに関して周波数・時間デインターリーバ（ＦＴＤＩ）メモリ１５２において、ＮＳＡＦ＝４００縮退故障（ＳＡＦ）の影響を示す。図６に示されるシミュレーションに対して、デインターリーバ・メモリ１５２は、ソフト・シンボル・データを格納する。ＮＳＡＦ＝４００縮退故障は、一様に分布しており、以下の通り、メモリ・ワードにおいて各々のビットにマップされる。ＮＳＡＦフォールトは、シンボル・データのＭＳＢにおいて、最初に導入され、不良によるＢＥＲが、記録された。次に、ＮＳＡＦフォールトが、残りのシンボル・データにおいて導入され、各々のケースにおいて、不良のビットによるＢＥＲは、固定されたＳＮＲ＝１８．５ｄＢ、および、０ＦＥＣデコード反復を有する付加白色ガウス雑音（ＡＷＧＮ）チャネルにたいして記録され、このシミュレーションは、デインターリーバ・メモリ・ワードにおける各々のセルに対して繰り返された。
【００８３】
縮退故障（ＳＡＦ）は、典型的には、メモリ・アレイ・フォールトの５０％以上を占める。したがって、ＳＡＦは、不良のメモリ・アレイへの一次近似として使用することができる。このシミュレーションに対して、ＮＳＡＦ＝４００縮退故障の期待される数よりより大きい数が、高い故障条件でシステムをテストするために、シミュレーションにおいてモデル化されないフォールトの他のタイプを説明するために、選択された。このシミュレーションに対して、センシティブ度閾値を１．６ｘ１０−４ＢＥＲに、または、フォールト・フリー基準より７％上に、セットすることによって、高センシティブ度（ＭＳＢ）領域は、１．６ｘ１０−４閾値より大きいＢＥＲを有するすべての不良のビットを含む。同様に、このシミュレーションに対して、同じサイズのＬＳＢ領域（すなわち低いセンシティブ度ゾーン）は、１．６ｘ１０−４閾値より少ないＢＥＲを有するすべての不良のビットを含む。このシミュレーションにおいて、メモリ障害がＭＳＢ領域において見つかり、フォールトが、ＬＳＢ領域において見つからないならば、ＭＳＢとＬＳＢ領域の置換は、修理のないメモリと比較してΔＳＮＲゲイン改善という結果になる。
【００８４】
受信機１５０は、前向き誤り訂正技術（すなわち、ビタビ（Ｖｉｔｅｒｂｉ）とリード−ソロモン・エンコーディング）と組み合わせて発明の態様を利用するのであるが、本願発明の態様は、追加的な誤り訂正を使用しなくても、システム性能を向上させることができる。
【００８５】
図７は、縮退故障による例示的な周波数・時間デインターリーバ（ＦＴＤＩ）メモリ１５２に対するフォールト・センシティブ度係数を示す。図７は、図６におけるＢＥＲプロットに基づいて、周波数・時間デインターリーバ（ＦＴＤＩ）メモリの断面に対するフォールト・センシティブ度係数ζを示す。このシミュレーションにおいて、ＦＴＤＩメモリ列は、メモリ行に格納されたデータシンボルを格納する。フォールト・センシティブ度係数ζは、図６における実線と破線との間の差異を取り、次に、その差異を１に正規化することによって決定された。すなわち、特定のメモリ・セルのフォールト・センシティブ度係数は、機能的なメモリ・セルと比較して不良であるそのメモリ・セルによるシステム・パフォーマンス測定（例えば、ＢＥＲ）における差異に対応することができる。シミュレーション結果は、ＭＳＢに最も近いデータビットが、ＬＳＢに最も近いビットと比較してより高いフォールト・センシティブ度係数を有することを示す。ＭＳＢとＬＳＢ領域の置換の結果として、発明の態様を利用することは、ＭＳＢ領域がフォールトを有し、ＬＳＢ領域は、フォールト・フリーであるときはいつでも、ＭＳＢ領域データに対してＬＳＢ領域によって示されるフォールト・センシティブ度を達成する。
【００８６】
図８は、メモリ・フォールト緩和モジュールのデータストリーム依存制御を図示しているブロック図である図８において、データ検査モジュール８０２、フォールト緩和モジュール８０４、および、メモリ・セル・ブロック８０６を備える装置８００が示される。
【００８７】
検査モジュール８０２は、メモリ８０６へ書き込まれるデータストリーム８０１の検査に基づいて、フォールト緩和モジュール８０４を制御するように動作可能にできる。データ検査モジュール８０２は、モジュール８０２により出力されるデータのタイプに基づいて、信号８０３の状態を制御することができる。例えば、信号８０３は、モジュール８０２により、データ出力に同期させることができ、たとえば、出力されるデータのタイプ、および／または、出力されるデータのセンシティブ度係数を示すことができる。
【００８８】
フォールト緩和モジュール８０４は、データストリーム８０１の対応するデータに対して、どのマッピングを利用するべきかを決定するために、制御信号８０３の状態を利用することができる。フォールト緩和モジュール８０４は、メモリ８０６のフォールト・レジスタと組み合わせて、制御信号８０３の状態を利用することができる。
【００８９】
本願発明の例示的な実施形態において、パケット化したデータストリーム８０１をメモリ８０６へ書き込むとき、データ検査モジュール８０２は、ペイロード・ビットを出力するときに、制御信号８０３を第１の状態に、ヘッダ・ビットを出力するときに、第２の状態に入れることができる。そのような実施形態において、フォールト緩和モジュール８０４は、不良のセルがペイロード・ビットが書かれる、および／または、書き込まれるメモリ・アドレスに対応するアレイにおいて存在しないとき、第１のマッピングを利用することができ、不良のセルがヘッダ・ビットが書き込まれたか、書き込まれるメモリ・アドレスに対応するアレイにおいて、１つ以上存在するとき、第２のマッピングを利用することができ、第２のマッピングが利用されるとき、フォールト緩和モジュールは、メモリからデータを正しく読み出すことを可能にするために、どのアドレスが第２のマッピングを利用したか、の追跡を続けることができる。例えば、第２のマッピングが利用されるときに、ビットを、フォールト・レジスタにセットすることができ、および／または、ビットを、第２のマッピングが適用されるメモリ・アドレスにおいて定めることができる。
【００９０】
本願発明の例示的な実施形態において、データストリーム８０１のデータ・タイプと制御信号８０３の状態との間で、１対１の対応がありえる。制御信号８０３は、例えば、書き込まれるデータのタイプに基づいて、スイッチング素子５４６（図５Ｂ参照）を制御することができる。
【００９１】
図９は、フォールト・トレラント・メモリの供給電圧を決定するための、例示的なステップを図示しているフローチャートである。例示的なステップは、Ｖｍｅｍを調整するためのルーチンがメモリに供給されるステップ９０２から始めることができる。補正ルーチンは、例えば、メモリの製造テストの間、および／または、メモリのパワーオンまたはリセットで実行される自己診断の間に行うことができる。補正ルーチンを開始する際に、変数ｊは、０に初期化することができる。ここで、ｊは、Ｖｍｅｍの可能な値のリストのインデックスである。例えば、ＶｍｅｍのＪ個の可能な値がありえる（例えば、ルック・アップ・テーブルにおいて格納される）。Ｖ１は、Ｖｍｅｍの最も高い値であり、ＶＪは、Ｖｍｅｍの最も低い可能な値である。
【００９２】
ステップ９０４において、ｊは、１ずつインクリメントすることができる。ステップ９０６においてｊがＪ＋１と等しいならば（すなわち、Ｖｍｅｍで最も低い可能な値が、例示的なステップ９０２ー９１８の前の反復の間にテストされた）、例示的なステップは、ステップ９１８へ進むことができる。ステップ９０６に戻って、ｊが、Ｊ＋１と等しい、または、より大きいならば、例示的なステップは、ステップ９０８へ進むことができる。ステップ９０８において、Ｖｍｅｍは、Ｖjにセットことができる。
【００９３】
ステップ９１０において、テスト・データは、メモリへ書き込むことができる。ステップ９１２において、テスト・データは、メモリから読み出し、エラーを検査することができる。いくつかのインスタンスにおいて、補正ルーチンの制御された条件の下で、メモリから読み出されたデータにおけるエラーの各々は、不良のメモリ・セルの結果であることを仮定することができる。
【００９４】
ステップ９１４において、メモリにおいて不良のメモリ・セルの数や位置が、許容可能であるか否かを決定することができる。許容されることができる不良のメモリ・セルの数や位置は、例えば、メモリに格納されるデータのタイプ、および／または、フォールト・レジスタのサイズ（すなわち、利用できるマッピングの数、および／または、フォールト・レジスタの各々のセル３５０に結びつけられるアレイの数）に依存することができる。本願発明の例示的な実施形態において、データは、不良のメモリ・セルの合計数が閾値を越えるか否かを決定するために検査することができる。本願発明の別の実施形態において、データは、不良のメモリ・セルの閾値の数より多くのものを有するメモリにおけるアレイの数が、閾値を越えるか否かを決定するために検査することができる。本願発明の別の実施形態において、データは、複数のセンシティブ度ゾーンにおいてエラーを有するメモリにおけるアレイの数が、閾値を越えるか否かを決定するために検査することができる。検出された不良のメモリ・セルが許容できるならば、例示的なステップは、ステップ９０４に戻ることができる。検出されたエラーが許容できないならば、例示的なステップは、ステップ９１６へ進むことができる。
【００９５】
ステップ９１６において、Ｖｍｅｍは、Ｖｊ−１にセットされることができ、そして、メモリのフォールト・レジスタは、ステップ９１２において、実行された検査の結果に基づいて、プログラムすることができる。すなわち、フォールト・レジスタのコンテンツは、ＶｍｅｍをＶｊ−１にセットして、不良のメモリ・セルの存在および／または位置を示すように構成されることがでる。ステップ９１８において、Ｖｍｅｍの補正は、終了し、システムは、メモリから読み出し、メモリに書き込むことができる。
【００９６】
本願発明の例示的な実施形態において、Ｖｍｅｍの複数の補正は、複数のデータ・タイプに対応して、実行することができる（データ・タイプが、センシティブ度係数の複数のセットに対応することができることに留意する）。異なるデータ・タイプに対して適切なＶｍｅｍの値を、（例えば、ルック・アップ・テーブルに）格納することができ、次に、Ｖｍｅｍは、所与のセンシティブ度ゾーンに対する電圧スケーリング・ユニット（例えば、図１Ａのスケーラー１１６）を通して、メモリに、格納されるデータのタイプに基づいて、ダイナミックに構成することができる。
【００９７】
図１０は、フォールト・トレラント・メモリのメモリ・セルのサイズ設定のための、例示的なステップを図示しているフローチャートである。例示的なステップは、サイズ設定ルーチンが開始するステップ１００２から始めることができる。サイズ設定ルーチンは、例えば、メモリのデザイン・フェーズの間に行うことができる。サイズ設定ルーチンを開始する際に、変数ｓは、０に初期化することができる。ここで、ｓは、サイズ・インデックスとして使用される。例えば、セルサイズは、「ｓｉｚｅｓ」と表示することができる。ここで、ｓｉｚｅ１が、最も小さい可能なセルサイズであり、そして、ｓが増加すると、セルサイズが、増加する。
【００９８】
ステップ１００４において、ｊは、１ずつインクリメントすることができる。ステップ１００６において、セルサイズは、ｓｉｚｅｓにセットすることができ、ｓｉｚｅｓのセルサイズを有するメモリにおける不良のセルの数および／または位置は、シミュレーション、および／または、さもなければ計算することができる。ステップ１０１０において、ステップ１００８において決定される不良のメモリ・セルの数および／または位置が、許容可能であるか否かを決定することができる。許容されることができる不良のメモリ・セルの数や位置は、例えば、メモリに格納されるデータのタイプ、および／または、フォールト・レジスタのサイズ（すなわち、利用できるマッピングの数および／または、フォールト・レジスタの各々のセル３５０に結びつけられるアレイの数）に依存することができる。不良のメモリ・セルの数が許容できないならば、例示的なステップは、ステップ１００４に戻ることができる。不良のメモリの数が許容できるならば、例示的なステップは、ステップ１０１２へ進むことができる。ステップ１０１２において、サイズは、メモリを造るセルサイズとして選択されることができる。ステップ１０１４においてサイズ設定ルーチンは完了している。
【００９９】
図１１は、受信機においてフォールト・トレラント・メモリの供給電圧を決定するための、例示的なステップを図示しているフローチャートである。例示的なステップは、メモリに供給される電圧Ｖｍｅｍの補正が始まることができるときに、ステップ１１０２から始めることができる。補正ルーチンは、例えば、メモリの製造テストの間、および／または、メモリのパワーオンまたはリセットで実行される自己診断の間に行うことができる。補正ルーチンを開始する際に、変数ｊは、０に初期化することができる。ここで、ｊは、Ｖｍｅｍの可能な値のリストのインデックスである。例えば、ＶｍｅｍのＪ個の可能な値がありえる（例えば、ルック・アップ・テーブルにおいて格納される）。Ｖ１は、Ｖｍｅｍの最も高い値であり、ＶＪは、Ｖｍｅｍの最も低い可能な値である。
【０１００】
ステップ１１０４において、ｊは、１ずつインクリメントすることができる。ステップ１１０６においてｊがＪ＋１と等しいならば（すなわち、Ｖｍｅｍで最も低い可能な値が、例示的なステップ１１０２ー１１２６前の反復の間にテストされた）、例示的なステップは、ステップ１１２４へ進むことができる。ステップ１１０６に戻って、ｊが、Ｊ＋１と等しい、または、より大きいならば、例示的なステップは、ステップ１１０８へ進むことができる。ステップ１１０８において、Ｖｍｅｍは、Ｖｊにセットことができる。
【０１０１】
ステップ１１１０において、テスト信号を、受信機に入力することができる。テスト信号は、たとえば、テストステーションにより、生成することができ、および／または、受信機と接続し、受信機にループ・バックする送信器で生成することができる。テスト信号は、例えば、テスト信号に含まれるデータの成功した回復が、受信機が、受信を要求される信号（例えば、１つ以上の標準に記載された仕様を満たす信号）をうまく受信することができることの信頼できる指標ありえるように、厄介なケースまたは最悪のシナリオを表すことができる。
【０１０２】
ステップ１１１２において、テスト信号はデジタル化されることができ、さもなければ、アナログ・フロントエンド（例えば、ＡＦＥ１０２）によって処理される。ステップ１１１４において、デジタル化される信号に含まれるデータは、たとえば、デジタル化された信号を復調して、デコードすることによって回復することができる。ステップ１１１６において、回復されたデータを、メモリへ書き込むことができる。ステップ１１１８において、データは、メモリから読み出すことができる。ステップ１１２０において、１つ以上の誤り訂正アルゴリズム（例えば、ビタビ（Ｖｉｔｅｒｂｉ）とリード・ソロモン）を、読出しデータに適用することができる。例示的なステップが、メモリに対して単一の読み書きを反映しているが、復調、デコーディング、誤り訂正、および／または、信号の他の処理が、実際には、メモリへの複数の読み書きを要求することができることに留意する。
【０１０３】
ステップ１１２２において、パフォーマンス・メトリック（例えば、ビット誤り率）は、エラー修正されたデータに対して測定して、閾値と比較することができる。パフォーマンス・メトリックが閾値の下にあるならば、例示的なステップは、ステップ１１０４に戻ることができる。パフォーマンス・メトリックが閾値を越えるならば、例示的なステップは、ステップ１１２４へ進むことができる。
【０１０４】
ステップ１１２４において、Ｖｍｅｍは、Ｖｊ−１にセットすることができる。ステップ１１２６において、Ｖｍｅｍの補正は、終了して、システムは、実際のデータを、メモリから読み出し、メモリに書き込むことを始めることができる。
【０１０５】
本願発明の例示的な実施形態において、メモリ・セル３３４１，１−３３４Ｍ，Ｎのアレイは、そのアレイに存在するならば、不良のメモリ・セルの検出するため、スキャンすることができる。メモリ・セルのアレイに適用される供給電圧Ｖｍｅｍは、スキャンの結果に基づいて、また、メモリ・セルの１つ以上のセンシティブ度係数に基づいて、制御することができる、センシティブ度係数は、１つ以上の不良のセルが、メモリ・アレイにデータを読み書きする装置（例えば、受信機１５０）のパフォーマンスに対して有する影響を示すことができる。センシティブ度係数は、１つ以上の不良のメモリ・セルがない電子装置のパフォーマンス・メトリックと、そして、１つ以上の不良のメモリ・セルを有する電子装置のパフォーマンス・メトリックとの比較によって決定することができる。供給電圧を制御することは、スキャンの結果が、より多くの不良のメモリ・セルが、メモリ・セルのアレイにおいて許容可能であることを示すときに、供給電圧Ｖｍｅｍを減らすことを含むことができる。供給電圧を制御することは、スキャンの結果が、メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すときに、供給電圧を増やすことを含むことができる。
【０１０６】
本願発明の例示的な実施形態において、メモリ・セル３３４１，１−３３４Ｍ，Ｎのアレイは、アレイにおいて不良のメモリ・セルを、存在するならば、検出するためにスキャンすることができる。フォールト・レジスタのコンテンツ（例えば、フォールト・レジスタ３０４）は、スキャニングの結果に基づいて構成することができる。テスト・データは、メモリ・セルのアレイに対してであることができる。テスト・データのビットがメモリ・セルのアレイへ書き込まれる順序は、フォールト・レジスタのコンテンツによって決定することができる。テスト・データは、次に、メモリ・セルのアレイから読むことができる。テスト・データのビットがメモリ・セルのアレイから読まれる順序は、フォールト・レジスタのコンテンツによって決定することができる。メモリ・セルのアレイに適用される供給電圧Ｖｍｅｍは、メモリから読まれるテスト・データの測定されたパフォーマンス・メトリックに基づいて、制御することができる。供給電圧を制御は、スキャニングの結果が、メモリ・セルのアレイにおいて、もっと多い不良のメモリ・セルが許容可能であることを示すときに、供給電圧を減らすことを含むことができる。供給電圧を制御は、スキャニングの結果が、メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すときに、供給電圧を増やすことを含むことができる。パフォーマンス・メトリック基準は、例えば、ビット誤り率および／またはパケット・エラー率であることができる。スキャンは、メモリ・セルのアレイのスタート・アップまたはリセットの際に、実行することができる。
【０１０７】
本願発明の例示的な実施形態において、１つ以上の回路は、メモリ・セル３３４１，１−３３４Ｍ，Ｎのアレイを備えることができる。メモリ・セルの１つ以上のトランジスタ（例えば、１つ以上のトランジスタ３４１ー３４６）のサイズは、メモリ・セルのアレイの１つ以上のセンシティブ度係数と相関している（すなわち、に依存している、および／または、と関係を有する）ことがありえる。追加的に、または、代替的に、メモリ・セルの１つ以上のトランジスタのサイズは、メモリ・セルのアレイにおいて許容可能である不良のメモリ・セルの数と相関している（すなわち、に依存している、および／または、と関係を有する）ことがありえる。その１つ以上の回路は、フォールト・レジスタを備えることができる。フォールト・レジスタのサイズは、その１つ以上のトランジスタのサイズと相関している（すなわち、に依存している、および／または、と関係を有する）ことがありえる。追加的に、または、代替的に、その１つ以上のトランジスタのサイズは、フォールト・レジスタのサイズと相関している（すなわち、に依存している、および／または、と関係を有する）ことがありえる。その１つ以上の回路は、複数のデータ・ラインを備えるデータ・バスとマルチプレクサを備える。メモリ・セルのアレイは、特定のメモリ・アドレスに対応することができ、複数のビット・ラインに結合することができる。複数のデータ・ラインと複数のビット・ラインは、メモリ・セルのアレイに書き込む、および／または、それから読み出すために、用いることができる。マルチプレクサは、複数のデータ・ラインと複数のビット・ラインとの間の異なるマッピングの間で選ぶことができる。マルチプレクサの構成は、少なくとも部分において、メモリ・セルのいずれかが不良であるか否かに基づいて制御することができる。
【０１０８】
本願発明の他の実施形態は、マシンコードおよび／または、マシンおよび／またはコンピュータで、実行可能な少なくとも１つのコード部を有するコンピュータ・プログラムをその上に保存した非一時的機械可読（例えば、コンピュータで読取り可能な）媒体及び／又はや記憶媒体を提供することができる。それによって、マシンおよび／またはコンピュータに、ここに記載した、メモリ電力および／または領域縮小のためのステップを実行させる。
【０１０９】
したがって、本願発明は、ハードウェア、ソフトウェア、あるいは、ハードウェアとソフトウェアとのは組合せで実現することができる。本願発明は、少なくとも１つのコンピューティング・システムに集中化したやり方で、あるいは、異なる要素がいくつかの相互接続したコンピューティング・システムにわたり広がっている分散化したやり方で、実現することができる。ここに記載した方法を実行するのに適合したいかなるコンピューティング・システムでも、または他の装置でも、適している。ハードウェアとソフトウェアとの典型的組合せは、ロードされて、実行されるときに、それがここに記述された方法を実行するようなコンピューティング・システムを制御するプログラムまたは他のコードを有する汎用コンピューティング・システムでありえる。別の典型的なインプリメンテーションは、アプリケーション特定集積回路（ＡＳＩＣ）またはシステム・オン・チップ（ＳｏＣ）を備えることができる。
【０１１０】
本願発明は、コンピュータ・プログラム・プロダクトにも埋め込むことができる。そしてそれは、ここに記載された方法のインプリメンテーションを可能にしているすべての特徴を含み、コンピュータシステムでロードされたときに、それは、これらの方法を実行することができる。ここでの文脈において、コンピュータ・プログラムは、システムに直接、または、ａ）別の言語、コードまたは記法への変換、ｂ）異なるマテリアル形式の再現、のどちらか、または、両方の後に、特定の機能を実行するための情報処理能力を持たせることを意図した一組の命令のいかなる言語、コード、あるいは記法におけるいかなる表現でも意味する。
【０１１１】
本願発明は、特定の実施形態を参照して記載されてきたが、種々の変更を行うことができ、本願発明の範囲を離れることなく、均等物が、置き換えられることは、当業者に理解される。なお、本願発明の教示に対して、本願の特許請求の範囲から離れることなく、特定の状況または材料に適応させるために多くの修正をすることができる。したがって、本願発明は、開示された特定の実施形態に限られないが、本願発明が、本願特許請求の範囲内にあるすべて実施形態を含むことが意図されている。
【図１Ａ】
2014517439.tif 000007
【図１Ｂ】
2014517439.tif 000008
【図２】
2014517439.tif 000009
【図３Ａ】
2014517439.tif 000010
【図３Ｂ】
2014517439.tif 000011
【図３Ｃ】
2014517439.tif 000012
【図３Ｄ】
2014517439.tif 000013
【図４Ａ】
2014517439.tif 000014
【図４Ｂ】
2014517439.tif 000015
【図４Ｃ】
2014517439.tif 000016
【図４Ｄ】
2014517439.tif 000017
【図４Ｅ】
2014517439.tif 000018
【図４Ｆ】
2014517439.tif 000019
【図４Ｇ】
2014517439.tif 000020
【図５Ａ】
2014517439.tif 000021
【図５Ｂ】
2014517439.tif 000022
【図６】
2014517439.tif 000023
【図７】
2014517439.tif 000024
【図８】
2014517439.tif 000025
【図９】
2014517439.tif 000026
【図１０】
2014517439.tif 000027
【図１１】
2014517439.tif 000028
【国際調査報告】
2014517439.tif 000029