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