JP2014517439A - メモリ電力および/または領域縮小のための方法および装置 - Google Patents
メモリ電力および/または領域縮小のための方法および装置 Download PDFInfo
- Publication number
- JP2014517439A JP2014517439A JP2014511341A JP2014511341A JP2014517439A JP 2014517439 A JP2014517439 A JP 2014517439A JP 2014511341 A JP2014511341 A JP 2014511341A JP 2014511341 A JP2014511341 A JP 2014511341A JP 2014517439 A JP2014517439 A JP 2014517439A
- Authority
- JP
- Japan
- Prior art keywords
- memory cells
- array
- memory
- defective
- supply voltage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 395
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000009467 reduction Effects 0.000 title abstract description 5
- 230000035945 sensitivity Effects 0.000 claims abstract description 42
- 230000002950 deficient Effects 0.000 claims abstract description 40
- 230000000694 effects Effects 0.000 claims abstract description 12
- 238000013507 mapping Methods 0.000 claims description 57
- 238000012360 testing method Methods 0.000 claims description 29
- 230000001276 controlling effect Effects 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 6
- 230000000116 mitigating effect Effects 0.000 description 38
- 230000000875 corresponding effect Effects 0.000 description 29
- 238000012937 correction Methods 0.000 description 18
- 238000004088 simulation Methods 0.000 description 13
- 238000012545 processing Methods 0.000 description 8
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000004513 sizing Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
- G11C5/143—Detection of memory cassette insertion or removal; Continuity checks of supply or ground lines; Detection of supply variations, interruptions or levels ; Switching between alternative supplies
- G11C5/144—Detection of predetermined disconnection or reduction of power supply, e.g. power down or power standby
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/14—Power supply arrangements, e.g. power down, chip selection or deselection, layout of wirings or power grids, or multiple supply levels
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Static Random-Access Memory (AREA)
Abstract
【課題】メモリ電力および/または領域縮小のための方法と装置。
【解決手段】メモリ・セルのアレイは、そのアレイに存在するならば、不良のメモリ・セルの検出するため、スキャンすることができる。メモリ・セルのアレイに適用される供給電圧Vmemは、スキャンの結果に基づいて、そして、1つ以上のメモリ・セルのアレイのセンシティブ度係数に基づいて、制御することができる。センシティブ度係数は、不良であるその1つ以上のメモリ・セルのアレイが、そのメモリ・アレイにデータを読み書きする装置のパフォーマンスに対して有する影響を示すことができる。追加的に、または、代替的に、メモリ・セルの物理的大きさは、センシティブ度係数に基づいて、および/または、メモリ・セルのアレイにおいて許容可能である不良のメモリ・セルの数に基づいて、決定することができる。
【選択図】図1B
【解決手段】メモリ・セルのアレイは、そのアレイに存在するならば、不良のメモリ・セルの検出するため、スキャンすることができる。メモリ・セルのアレイに適用される供給電圧Vmemは、スキャンの結果に基づいて、そして、1つ以上のメモリ・セルのアレイのセンシティブ度係数に基づいて、制御することができる。センシティブ度係数は、不良であるその1つ以上のメモリ・セルのアレイが、そのメモリ・アレイにデータを読み書きする装置のパフォーマンスに対して有する影響を示すことができる。追加的に、または、代替的に、メモリ・セルの物理的大きさは、センシティブ度係数に基づいて、および/または、メモリ・セルのアレイにおいて許容可能である不良のメモリ・セルの数に基づいて、決定することができる。
【選択図】図1B
Description
[優先度主張]
本特許出願は、2011年5月17日に出願された米国仮特許出願第61/487250号、および、2011年10月31日に出願された米国特許出願番号第13/285864号とその請求項の優先権に言及し、優先権を主張するものである。
本特許出願は、2011年5月17日に出願された米国仮特許出願第61/487250号、および、2011年10月31日に出願された米国特許出願番号第13/285864号とその請求項の優先権に言及し、優先権を主張するものである。
上記の出願は、その全体が参照により、ここに組み込まれる。
[参照による組み込み]
本特許出願は、また、2011年10月7日に出願された米国特許出願番号第13/269416号、および、同日に出願された米国特許出願番号第13/285864号(代理人整理番号24349US03号)を参照する。
本特許出願は、また、2011年10月7日に出願された米国特許出願番号第13/269416号、および、同日に出願された米国特許出願番号第13/285864号(代理人整理番号24349US03号)を参照する。
上記の参照出願の各々は、その全体が参照により、ここに組み込まれる。
本願発明のある実施形態は、メモリ回路に関するものである。より詳細には、本願発明のある実施形態は、メモリ電力や領域の縮小のための方法と装置に関するものである。
従来のメモリ回路は広い領域を占有し、顕著な量の電力を消費する。従来の伝統的なアプローチの更なる制限と不利な点が、図面を参照して以下に記載したように、本願発明のいくつかの態様における、そのようなシステムの比較を通して、当事者にとって明らかになる。
メモリの電力や領域縮小のための装置や方法が提供され、それらは、特許請求の範囲においてより完全に述べられるように、図面の少なくとも1つに関連して実質的に図解、記載されている。
これらと他の利点、態様、および、本願発明の新規の特徴は、そこで図示した実施例の詳細とともに、以下の説明と図面からより完全に理解される。
ここに用いられる、用語「回路」は、物理的電子部品(すなわち、ハードウェア)を言い、ハードウェアを設定することができるソフトウェア及び/又はファームウェア(「コード」)は、ハードウェアで実行される、および/または、さもなければ、ハードウェアと結びついている。ここに用いられる、「および/または」は、「および/または」により接続されたリストにおける1つ以上の任意の項目を意味する。例えば、「xおよび/またはy」は、3要素セット{(x)、(y)、(x、y)}の任意の要素をも意味する。同様に、「x、y、および/またはz」は、7要素セット{(x)、(y)、(z)、(x、y)、(x、z)、(y、z)、(x、y、z)}の任意の要素をも意味する。ここに用いられる、「モジュール」という用語は、ハードウェア、ソフトウェア、ファームウェア、または、それらの1つ以上の任意の組合せでインプリメントされることができる機能を指す。ここに用いられる、「例示的である」という用語は、非限定的な例、インスタンス、または具体例を意味する。ここに用いられる、「e.g.」、「例えば」という用語は、1つ以上の非限定的な例、インスタンス、または、具体例のリストを導入する。
図1Aは、不良のメモリ・セルの影響を緩和するために動作可能な例示的な装置を表す。図1Aを参照すると、アナログ・フロントエンド(AFE)モジュール102、中央演算処理装置(CPU)104、メモリ・モジュール106、デジタル信号処理モジュール(DSP)108、ユーザ・インターフェース・モジュール112、信号バス110、電源モジュール114、および、電力レール116を含む、例示的な電子デバイス100の回路が、示されている。装置100のいくつかの例は、ケーブルや衛星のセットトップボックスまたはゲートウェイ、テレビジョン、光ディスク・プレーヤー、デジタル・ビデオテープ・レコーダー、および、携帯電話を含む。
AFE102は、任意の適当な通信プロトコルを利用して、情報を送信し、および/また、受信するように動作可能である。本願発明の例示的な実施形態において、AFE102は、直角周波数分割多重化信号(OFDM)の送信および/または受信を可能にするアナログ領域処理動作を実行するように動作可能である。
CPU104は、装置100の動作を制御する命令(例えば、オペレーティングシステム)を実行するように動作可能である。例えば、CPU104は、装置100を構成し、AFE102、メモリ106、DSP108の動作を制御するために、制御信号を生成することができる。
電力供給114は、1つ以上の供給電圧を生成し、装置100の他のコンポーネントに、1つ以上のライン(「電力レール」)を通して、それを出力するように動作可能である。電力供給114は、電圧、Vmem、を生成することができる、それは電力レール116の上の出力であることができる。電圧スケーラー116は、Vmemは、複数の電圧の間で構成可能でありえるように、(例えば、CPU104からの制御信号を介して)制御することができる。電力供給114は、他の供給電圧を生成することもできる(示された例示的な実施形態において、電力供給114は、デジタル回路のためのVddと、AFE102のアナログ回路のためのVAとを生成する)。Vmemの値は、電力供給114により生成される他の電圧のと独立に、制御することができる。本願発明の別の実施形態において、電力供給114は、複数のメモリ供給電圧(例えば、Vmem1とVmem2)を生成することができる。メモリ供給電圧の各々の値は、独立して構成されることができ、および/または、複数のメモリ供給電圧の値は、同時に構成することができる。
メモリ106は、1つ以上の行と1つ以上の列とに配置することができる複数のメモリ・セルを備えることができる。メモリは、揮発性および/または不揮発性メモリ、例えば、SRAM、DRAM、ROM、EEPROM、MRAM、FeRAM、および、Flashのどんな適当なタイプでも備えることができる。メモリ106のメモリ・セルは、レール116を介して受け取られる電圧Vmemによって、電力供給することができる。本願発明の例示的な実施形態において、メモリ・セル自体以外のメモリ108の回路は、異なる電力レール(図示せず)を通して電力供給することができる。メモリ106の例示的な構造が、図2、図3Bに関して、以下に記載される。
DSP108は、1つ以上のコミュニケーション標準にしたがって、デジタル信号処理アルゴリズムと機能を実行するように動作可能である。例えば、DSP108は、デジタル・フィルタリング、を信号空間マッピング、信号空間デマッピング、インタリーブ、デインターリーブ、および、エラー訂正実行するように動作可能である。本願発明の例示的な実施形態において、DSP108は、直角周波数分割多重化信号(OFDM)の送信および/または受信を可能にするデジタル領域処理機能を実行するように動作可能である。
バス110は、データ・ライン、アドレスライン、および/または、制御ラインを備えることができる。例えば、信号バス110は、1つ以上のNビットデータ・バス、および、メモリ106に伝えられる読み取りイネーブルおよび書き込みイネーブル信号など複数の制御ラインを備えることができる。
ユーザ・インターフェース112は、装置100のユーザーから入力を受け取り、出力を装置100のユーザーに送ることができる。例えば、ユーザ・インターフェース112は、タッチスクリーン、キーボード、および/または、他の入力装置、を備えることができ、また、LCD、スピーカー、および/または、他の出力装置を含むことができる。
例示的な受信動作において、AFE102は、RF信号を受信し、ベースバンド信号を生成するために、アナログ領域において受信信号を処理し、ベースバンド信号をデジタル化し、信号バス110を介して、DSP108にベースバンド信号を出力することができる。DSP108は、ベースバンド信号に含まれる情報を回復するために、ベースバンド信号を処理するかもしれないベースバンド信号の処理の間、DSP108は、メモリ106に対して、読み取り、及び、書込みを行うことができる。それから回復された情報は、次に、装置のユーザーへの出力のために、ユーザ・インターフェース112に伝達することができる。
例示的な伝送動作において、送られるデータは、メモリ106から読み出して、DSP108に伝達することができる。デジタル・シグナル・プロセッサ108は、1つ以上のコミュニケーション標準にしたがって、ベースバンド信号を生成するために、データを処理することができる。ベースバンド信号を生成する際に、DSP108は、メモリ106から読み出し、および、それに書き込むことができる。生成されたベースバンド信号は、それをアナログ表現に変換し、さらに処理し、そして、物理メディアの上に送ることができるAFE102に伝達することができる。
図1Bは、本願発明を用いることにより、不良のメモリ・セルの数が修正可能な数のものを有するメモリ・セルのアレイを利用するときでも、満足なパフォーマンスを成し遂げることができる例示的な受信機の部分を表す。
ここに用いられる、メモリ・セルの「アレイ」は、特定のアドレス(例えば、図2のアドレス・バス208の上の特定の値)に対応するメモリ・セルのグループを言うことができる。したがって、例えば、図2のメモリ200は、「アレイ・アドレス可能」なものと呼ぶことができる。例えば、メモリ200が8ビット・アレイを利用するならば、それは、バイト・アドレス指定可能なものと呼ぶことができる。同様に、メモリ200が、メモリのXビット・ワードに対応する各々のアレイを有するX−ビット・アレイ(Xは整数である)を利用するならば、メモリ200は、ワード・アドレス指定可能なものと呼ぶことができる。
受信機150の表現された部分は、メモリ・モジュール152、イコライザー・モジュール154、デマッパー・モジュール156および160、デインターリーバ・モジュール158、デパンクチャ・モジュール162、ビタビ(Viterbi)・デコーダ・モジュール164、バイト・デインターリーバ・モジュール166、リード・ソロモン・デコーダ・モジュール168を備える。受信機150の表現された部分は、例えば、図1AのDSP108のようなDSPによりインプリメントすることができる。
メモリ・モジュール152が、デインターリーバ・モジュール158だけにより利用されるものとして表現されているが、受信機150の他のモジュールは、また、メモリ・モジュール152に対して、読み取り、及び、書込みを行うことができ、そうする際に、パフォーマンスを改善し、および/または、コストおよび/または電力消費を減らすために、本願発明の態様を利用することができる。なお、受信機150の他のモジュールは、バス110に、インターフェースすることも、しなくても良い、それら自身のメモリを有することができ、本願発明の態様を備え、および/または、利用することができる。
動作において、受信したデジタル・ベースバンド信号151は、AFE102から受け取ることができる。イコライザー154は、信号151を処理して、信号155を生成するために、信号151の種々の周波数成分のレベルを調節することができる。デマッパー156は、信号155のシンボルを信号157の1つ以上のビットのグループに翻訳することができる。デインターリーバ158は、信号159を生成するために、信号157のビットのグループをデインターリーブすることができる。メモリ152は、デインターリーブする間、信号157および/または159のバッファ・ビットに利用することができる。デマッパー160は、信号159のビットのグループを信号161のビットのグループに翻訳することができる。デパンクチャ162は、信号163を生成するために、ビットを信号161に挿入することができる。ビタビ(Viterbi)・デコーダ164は、信号165を生成するために、ビタビ(Viterbi)・アルゴリズムを利用して信号163をデコードすることができる。バイト・デインターリーバ166は、信号167を生成するために、バイト毎ベースで信号165を再編成することができる。モジュール168は、信号169を生成するために、信号167の上でリード・ソロモン・デコーディングを実行することができる。信号169は、更なる処理のために(例えば、ユーザ・インターフェースによって)出力することができる。
本願発明の例示的な実施形態において、受信機150は、少なくとも6ビット秒ヘルツ(bits per second per Hertz, bps/Hz)のスペクトル効率を要求するシステムで動作することができる。そのような実施形態において、本願発明の態様は、0.025dBの以上搬送波対雑音センシティブ度閾値の性能を低下させることなく、メモリ152のいかなる所与の列に対しても少なくとも0.0004のセル故障率を許容する受信機を動作可能にすることができる。これは、たとえ、メモリ152が面積において、ファウンドリー標準電池に基づく従来メモリよりも、より小さい場合があるとしても、達成することができる。メモリ152は、例えば、メモリ・セルの冗長な列および/または冗長な行の数を減らす、または完全に除くことにより小さくすることができる。
本願発明の例示的な実施形態において、メモリ152に供給されるVmemの値は、メモリ152の電力消費と、メモリ152における不良のメモリ・セルの数との間で望ましいバランスを達成するように構成することができる。これに関して、Vmemを減少すると、メモリ152の電力消費は、不良のメモリ・セルの数が増加する間、減少することができる。したがって、メモリ106の補正の間、Vmemは、最大値から、より低い値まで減少することができる。これは、所与のアプリケーションに対して、メモリ152において、不良のメモリ・セルの許容できる数という結果になる。
図2は、例示的なフォールトトレラントなメモリの第1のビューを表す。図2を参照すると、メモリ200は、セレクタ205、および、複数のメモリ・タイル2021−2028を備える。他の例示的なメモリは、異なる数のメモリ・タイルを備えることができる。アドレス・バス208、書込データ・バス210、読み取りデータ・バス216、および、タイル選択ライン2121−2128も、また示される。図2の中で表される例示的なメモリにおいて、書き込みデータ・バス210と読み込みデータ・バス216のそれぞれが、40ビットのデータを搬送するために、40ラインを備え、アドレス・バス208は、20ビット・アドレスを搬送するために、20のラインを備える。20ビットアドレスと40ビット・データが表されるが、本願発明は、アドレスまたはデータビットの特定の数に限られていない。
メモリ・タイル2021−2028は、メモリ・セルの1つ以上のアレイ、および関連周辺コンポーネントを備えることができる。各々のアレイは、全体がメモリ・タイル2021−2028の1つに存在することができ、あるいは、メモリ・タイル2021−2028の複数のものにわたることができる。例示的なメモリ・タイル202Xは、図3Aにおいて表される。ここで、Xは、1以上8以下の整数である。セレクタ205は、アドレス・バス208(アドレスの最上位3ビット(MSB)に対応する)の3つの最上位のラインの上で、タイル選択信号2121−2128の1つをアサートするために、値をデコードすることができる。
例示的な書込み動作において、データが書き込まれるべきメモリ位置のアドレスは、アドレス・バス208に配置することができ、メモリ位置へ書き込まれるべきデータは、書き込みデータ・バス210に配置することができる。アドレス・バス208の3つの最上位のラインは、タイル選択ライン2121−2128のどれがアサートされるのかを決定することができる。アサートされたタイル選択ライン212Xは、タイル202Xが選択されるという結果となり得る。アドレス・バス208の17の最下位ライン(アドレスの17最下位ビット(LSB)に対応する)は、選択されたタイル202Xのどのメモリ位置に、書き込みデータ・バス210の上のデータは、書き込まれるか、を決定することができる。
例示的な読込み操作において、データが読まれるべきメモリ位置のアドレスは、アドレス・バス208に配置することができる。アドレスの3つのMSBは、タイル選択ライン2121−2128のどれがアサートされるのかを決定することができる。アサートされたタイル選択ライン212Xは、タイル202Xが選択されるという結果となり得る。アドレス・バス208の17の最下位ラインは、選択されたタイル202Xにおける、どのメモリ位置が、読み込みデータ・バス216の上に読み出されるのかを決定することができる。
図3Aは、例示的なフォールトトレラントなメモリの第2のビューを表す。図2のメモリ・タイル2021−2028の1つに対応することができる例示的なメモリ・タイル202Xが、図3Aに示される。メモリ・タイル202Xは、フォールト・レジスタ304、フォールト緩和マッピング・モジュール3061−3065、フォールト緩和制御モジュール322、メモリ・インスタンス3141−3144、および、マルチプレクサ・モジュール318、320を備える。書込データ・バス210、読み込みデータ・バス216、バス302、バス3161−3164、書き込みマップ制御信号308、および、読み出しマップ制御信号310も示される。
フォールト・レジスタ304は、メモリ・インスタンス3141−3144の1つ以上のフォールト・スキャンの結果を格納することができる。そのようなスキャンは、例えば、メモリ200が存在するシステム(例えば、受信機150)の始動の間、および/または、製造中にメモリやシステムをテストすることの部分として起こり得る。そのようなスキャンの間、メモリ・インスタンス3141−3144は、不良のメモリ・セルの検出するため、スキャンすることができる。各々の1つ以上の検出された不良のメモリ・セルに対して、フォールト・レジスタ304の1つ以上のセルを構成することができる。このようにして、フォールト・レジスタ304は、メモリ・インスタンス3141−3144における不良のメモリ・セルの数や位置を決定することを可能とすることができる。フォールト・レジスタ304は、どんな適当なタイプの揮発性および/または不揮発性メモリでも、例えば、SRAM、DRAM、ROM、EEPROM、フラッシュ、eFuse、および/または、メモリ・インスタンス3141−3144内部および/または外部に1つ以上のフリップフロップを含むレジスタを備えることができる。例えば、フォールト・レジスタ304は、製造の間に実行されたスキャンに基づいてプログラムされる1つ以上のワンタイム書込可能(OTP:One Time Programmable)セル、および、各々の始動時にプログラムされる1つ以上のSRAMセルを備えることができる。別の例において、始動時スキャンの結果を(例えば、フラッシュに)複数の始動にわたって蓄積することができる。フォールト・レジスタのメモリ・セルは、メモリ・インスタンス3141−3144のメモリ・セルと物理的に分離していることができる。代替的に、(あるいは、追加的に)、メモリ・インスタンス3141−3144の1つ以上のメモリ・セルは、フォールト・レジスタとして機能するために割り当てることができる。
フォールト緩和制御モジュール322は、書き込みマップ制御信号308と読み出しマップ制御信号310とを生成することができる。書き込み動作の間に、制御モジュール322は、書き込まれるメモリ・セルのアレイ、そして、メモリ・セルのそのアレイに対応するフォールト・レジスタのコンテンツに基づいて、書き込みマップ制御信号308の状態をコントロールすることができる。読み込み動作中に、制御モジュール322は、読み出されるメモリ・セルのアレイ、そして、メモリ・セルのそのアレイに対応するフォールト・レジスタのコンテンツに基づいて、読み出しマップ制御信号310の状態をコントロールすることができる。
読み込み動作中に、バス302の信号ラインは、メモリ・インスタンス3141−3144の各々のビット・ラインに、それぞれ接続することができる。書き込み動作の間に、バス3161の信号ラインは、メモリ・インスタンス3141のビット・ラインに接続することができ、バス3162の信号ラインは、メモリ・インスタンス3142のビット・ラインに接続することができ、バス3163の信号ラインは、メモリ・インスタンス3143のビット・ラインに接続することができ、バス3164の信号ラインは、メモリ・インスタンス3144のビット・ラインに接続することができしている。これは、図3Bに図示され、そして以下に記載される。
フォールト緩和マッパー3065は、書き込みデータ・バス210のどのラインが、バス302のどのラインに接続するのかを決定する。書き込みマップ制御信号308の異なる値は、書き込みデータ・バス210のラインとバス302のラインとの間の異なるマッピングに対応する。
フォールト緩和マッパー3061は、バス3161のどのラインが、バス3171のどのラインに接続するのかを決定する。最終的に、信号3161がマルチプレクサ318により選択されるならば、フォールト緩和マッパー3061は、バス3161のどのラインが、読み込みデータ・バス216のどのラインに接続するのかを決定する。読み出しマップ制御信号310の異なる値は、バス3161とバス3171との間での異なるマッピング(したがって、バス3161と読み込みデータ・バス216と間の異なるマッピング)に対応する。
フォールト緩和マッパー3062は、バス3162のどのラインが、バス3172のどのラインに接続するのかを決定する。最終的に、信号3162がマルチプレクサ318により選択されるならば、フォールト緩和マッパー3062は、バス3162のどのラインが、読み込みデータ・バスの216に線のどのラインに接続するのかを決定する。読み出しマップ制御信号310の異なる値は、バス3162とバス3172との間での異なるマッピング(したがって、バス3162と読み込みデータ・バス216と間の異なるマッピング)に対応する。
フォールト緩和マッパー3063は、バス3163のどのラインが、バス3173のどのラインに接続するのかを決定する。最終的に、信号3163がマルチプレクサ318により選択されるならば、フォールト緩和マッパー3063は、バス3161のどのラインが、読み込みデータ・バスの216のどのラインに接続するのかを決定する。読み出しマップ制御信号310の異なる値は、バス3163とバス3173との間での異なるマッピング(したがって、バス3163と読み込みデータ・バス216と間の異なるマッピング)に対応する。
フォールト緩和マッパー3064は、バス3164のどのラインが、バス3174のどのラインに接続するのかを決定する。最終的に、信号3164がマルチプレクサ318により選択されるならば、フォールト緩和マッパー3064は、バス3164のどのラインが、読み込みデータ・バス216のどのラインに接続するのかを決定する。読み出しマップ制御信号310の異なる値は、バス3164とバス3174との間での異なるマッピング(したがって、バス3164と読み込みデータ・バス216との間の異なるマッピング)に対応する。
メモリ・インスタンス3141−3144は、メモリの1つ以上のアレイを備えることができる。各々のアレイは、メモリ・インスタンス3141−3144の1つにおいて、全体が存在することができる、あるいは、メモリ・インスタンス3141−3144の複数のものにわたることができる。本願発明の例示的な実施形態において、各々のメモリ・インスタンス3141−3144は、M行とN列に配置されるM×Nメモリ・セルを備えることができる。ここで、MとNとの各々が整数であり、MとNの一方または両方は、1より大きい。
マルチプレクサ318は、バス3171−3174のどれが、バス319に送られるかを選択することができる。マルチプレクサ318は、アドレス・バスの1つ以上のライン(図3Aに表した例示的な実施形態における、アドレスビット15と16に対応したライン16と15)によって制御することができる。
マルチプレクサ320は、バス319のどのビットが、読み込みデータ・バス216に送られるか選択することができる。マルチプレクサ319は、アドレス・バスの1つ以上のライン(図3Aに表した例示的な実施形態における、アドレスビット0に対応するライン0)によって制御することができる。
動作において、始動および/または製造/生産テストの際に、メモリ・インスタンス3141−3144のスキャンを実行することができ、不良のメモリ・セルの位置を、フォールト・レジスタ304に保存することができる。スキャンを完了した後で、メモリ202Xは、メモリ202Xからデータを読み出し、それに書き込む通常動作を開始することができる。ここで、Xは、1以上、8以下の整数である。
書込み動作に対して、メモリ位置へ書き込まれるべきデータは、バス210のラインに配置することができ、書き込まれる場所のアドレス(「ADRS_W」)は、アドレス・バス208に配置することができる。フォールト緩和制御モジュール322は、メモリ・インスタンス3141−3144中で、その場所に不良のメモリ・セルがあるかどうか決定するために、フォールト・レジスタ304において、ADRS_Wを調べることができる。フォールト緩和制御モジュール322は、ルックアップの結果に対応するマッパー3065のマッピングを実行するように構成するために、書き込みマップ制御信号308をセットすることができる。次に、バス210のデータは、バス302にマップすることができる。メモリ・インスタンス314W(ADRS_Wに対応しているメモリ・インスタンス)に対応しているライトイネーブル信号312のビットは、次に、バス302のラインをメモリ・インスタンス314Wのビット・ラインに接続させ、そして、書込み操作を生じるようにアサートすることができる。
読み取り動作に対して、(「ADRS_R」)から読まれるアドレスは、アドレス・バス208に配置することができる。フォールト緩和制御モジュール322は、メモリ・インスタンス3141−3144中で、その場所に不良のメモリ・セルがあるかどうか決定するために、フォールト・レジスタ304においてADRS_Rを調べることができる。フォールト緩和制御モジュール322は、読み出しマップ制御信号310をルックアップの結果に対応するマッピングをインプリメントするようにマッパー3061−3064を設定するようにセットすることができる。メモリ・インスタンス3141−3144の各々におけるADRS_Rに対応するメモリ・セルは、それぞれ、バス3161−3164の上に読み出すことができる。バス3161のラインは、マッパー3061によって、バス3171のラインにマップすることができ、バス3162のラインは、マッパー3062によって、バス3172のラインにマップすることができ、バス3163のラインは、マッパー3063によって、バス3173のラインにマップすることができ、バス3164のラインは、マッパー3064によって、バス3174のラインにマップすることができる。ADRS_Rのビット16と15に基づいて、マルチプレクサ318は、バス3171−3174の1つを、バス319へ接続する。ADRS_Rのビット0に基づいて、バス319のラインの第1の部分、あるいは、第2の部分のいずれかが、読み込みデータ・バス216のラインに接続される。
図3Bは、例示的なメモリ・インスタンスを表す。図3Aに示されたメモリ・インスタンス3141−3144のいずれか1つに対応することができる例示的なメモリ・インスタンス314Yが、図3Bに示される。メモリ・インスタンス314Yは、行デコーダ330、ワード/行ライン332[1:M]、ビット・ライン336[1:N]、メモリ・セル3341,1−334M,N、列入力/出力モジュール338、そして、トランジスタ347をプリチャージする[1:プレチャージ・トランジスタ347[1:N]を備える。セル3341,1−334M,Nは、メモリ・タイル2021−2028の1つ以上のメモリ・インスタンス3141−3144の1つ以上の中に存在することができる。シングル・エンドの実施形態が表されるが、各々のワード・ライン332[m]および/または各々のビット・ライン336[n]は、ディファレンシャル信号伝達のための2つのラインを備えることができた。ここに用いられる、「ビット・ライン」という用語は、シングル・エンド・ビット・ラインとディファレンシャル・ビット・ラインの両方を指して用いられる。
行デコーダ330は、バス208の上のバイナリ・コード化されたアドレスの部分を、残りのワード・ライン332がアサート停止される(すなわち、「選択されない」)一方で、アドレス208に対応している行ラインがアサートされる(すなわち「選択される」)ように、デコードすることができる。
各々のメモリ・セル3341,1−334M,Nは、データのビットを保存するように動作可能でありえる。各々のメモリ・セルは、例えば、交差結合インバータ、および、1つ以上のアクセス・トランジスタを備えることができる。しかし、6つのトランジスタ(6T)SRAMメモリ・セルが、示される、本願発明は、よく知られている他のメモリ・セル設計に等しく適用される。
列入力/出力モジュール338は、バス302(図3A参照)またはバス316(図3A参照)が、ビット・ライン336[1:N]に接続しているか否かを選択することができる。we[Y]、メモリ・インスタンス314Yに対応するライトイネーブル信号312のビットが、アサートされるときに、メモリ・インスタンス314Yに対応しているバス316は、ビット・ライン336[1:N]に結合することができる。we[y]が、アサート停止されるとき、バス302は、ビット・ライン336[1:N]に接続することができる。
プリチャージ・トランジスタ347[1:N]は、書き込み動作の間に、ビット・ライン336[1:N]に、Vmemを適用することができる。本願発明の別の実施形態において、メモリ・インスタンス314Yは、また、使用可能であるときに、ちょうど読み取り動作の前に、ビット・ライン336[1:N]に、Vmemを適用することができる複数のプリチャージ・トランジスタを備えることもできる。
また、メモリ・セル3341,1−334M,Nの例示的なものの拡張されたビューが、図3Bにおいて示される。拡大された図は、一部の差異ビット線336[N]+と366[N]−、ワード・ライン332[2]の部分、一対の交差結合インバータ339と340、および、セル・アクセス・トランジスタ345と346を表す。6つのトランジスタ(6T)SRAMメモリ・セルが、示されているのであるが、本願発明は、他の周知のメモリ・セル設計に対しても同様にうまく適用される。
動作において、Vmemの値は、不良のメモリ・セルの数を決定することができる。Vmemに対するこの依存性は、たとえば、メモリ・セル3341,1−334M,Nの間のトランジスタ閾値電圧におけるバリエーションと、所与の閾値電圧に対して、セルの中のノードをチャージするのに要求される時間におけるバリエーションとによるものでありえる。従って、メモリ200の補正(例えば、スタート・アップの間の自己診断)の間に、Vmemの値は、(例えば、不良のセルの数、および/または、データがメモリから書き込み/読み出しできる率に関して測定された)パフォーマンスと、所与のアプリケーションに対する電力消費との間で望ましいバランスを達成するように調節することができる。
同様に、メモリ・セル3341,1−334M,Nの種々のパラメータは、メモリ・セル3341,1−334M,Nのいくつが、所与のプロセス、電圧、および、温度条件に対して、不良であるかに影響することがありえる。そのようなパラメータは、メモリ・セル3341,1−334M,Nの種々の物理的大きさを含むことができる例えば、これらパラメータは、1つ以上のトランジスタ(例えば、プリチャージ・トランジスタ347[1:N]、セル・アクセス・トランジスタ345と346、および/または、トランジスタ341ー344))の1つ以上の大きさ(例えば、ゲート幅や長さ)、トレース(すなわち、「ワイヤー」)の幅、トレース間の間隔、接点のサイズ、接点の間隔、拡散ウェルのサイズ、および/または、拡散ウェル間の間隔を含むことができる。したがって、特殊用途のためにメモリを設計するとき、1つ以上のそのようなパラメータは、(例えば、不良のセルの数、および/または、データがメモリから書き込み/読み出しできる率に関して測定された)パフォーマンスと、メモリ領域との間で望ましいバランスを達成するように調節することができる。
図3Dは、フォールト・レジスタと、フォールト・レジスタを介して管理されるメモリ・セルの間の例示的なマッピングを図示する。図3Cを参照すると、M行N列メモリブロック351が示される。ここで、MとNとは、整数であり、それらの一方または両方は、1より大きい。メモリ351のブロックは、例えば、メモリ200のメモリ・セル3341,1−334M,Nに対応することができる。本願発明の例示的な実施形態において、メモリ351の各々の行は、特定のメモリ・アドレスに対応することができる(そして、このように、各々の行は、その用語がここで持ちられるように「アレイ」でありえる)。別の実施形態において、各々の行は、複数のメモリ・アドレスに対応する複数のアレイを備えることができる。さらに別の実施形態において、メモリブロック351におけるアレイは、複数の行にわたることができ、したがって、単一のメモリ・アドレスは、複数の行に対応することができる。
フォールト・レジスタ304のメモリ・セル3501−350Kも、また、示されている。ここで、K=ceiling(M/i)である。「ceiling()」は、最も近い整数まで丸めることを意味し、iは、1以上M以下の整数である。メモリブロック351の各々の第1の部分352は、メモリブロック351のメモリ・セルのi行に対応することができ、フォールト・レジスタ・メモリ・セル3501−350Kの1つと結びついていることができる。したがって、iのより大きい値は、より小さなフォールト・レジスタ、に対応することができる。一方、メモリブロック351において、iのより少ない値が不良のセルのより良い緩和を提供することができる。従って、本願発明の態様は、Vmemの値に基づいて、iを調節することを可能にすることができる。例えば、iのより小さい値を、Vmemのより小さい値で利用することができ、および、その逆を含む。iとVmemの異なる組合せは、メモリブロック351の異なるアプリケーションに対して、最適でありえる。例えば、iとVmemの値の第1の組合せは、メモリブロック351に第1のデータ・タイプを格納するとき、最適でありえ、iとVmemの値の第2の組合せは、メモリブロック351に第2のデータ・タイプを格納するとき、最適でありえる。異なるデータ・タイプは、たとえば、異なるフォーマットや標準に対応することができる。
同様に、本願発明の態様は、メモリブロック351のトランジスタのサイズ設定に基づいて、iを調節することを可能にすることができる。例えば、より小さなトランジスタ・サイズ(したがって、より小さなメモリ・セル・サイズ)は、iのより少ない値で利用することができる。このようにして、メモリブロック351のフォールト・レジスタとサイズのサイズは、最適の設計トレードオフを達成するように調整することができる。本願発明の例示的な実施形態において、すべてのパラメータ、Vmem、i、および、個々のトランジスタのサイズ、は、最適の電力、領域、および、パフォーマンスの、所与のアプリケーションに対するトレードオフを達成するように調整することができる。iのそのような調整/最適化は、メモリブロック351の製造の間、および/または、たとえば、メモリブロック351のスタート・アップで走らせる補正ルーチンの間に行うことができる。
図3Cにおける、1つのフォールト・レジスタ・セル350Kが、メモリブロック351の各々のi行に対応する、例示的な実施形態は、アレイが2つのセンシティブ度ゾーンに区分けされる実施形態に対応することができる(センシティブ度ゾーンはもっと詳細に下で記述される)。本願発明は、しかしながら、そのように制限されるものではなく、複数のフォールト・レジスタ・ビットが、メモリブロック351の各々のi行に対応することができる。本願発明の例示的な実施形態において、各々のi行に対応するフォールト・レジスタ・セルの数は、ceiling(log2R)に等しいことができる。ここで、Rは、1より大きい整数であり、センシティブ度ゾーンの数を表す。例えば、R=4(例えば、高い、中高、中低、および、低い)センシティブ度ゾーンに対して、メモリの各々のi行に対して、2つのフォールト・レジスタ・セルがあることができる。本願発明の実施形態において、Rの値は、メモリの特定のアプリケーションに対して最適化することができる。Rの値は、i、Vmem、および/または、個々のトランジスタのサイズの調整とともに、調節することができる。
図3Dは、フォールト緩和コントローラの例示的な部分を図示する。図3Dを参照すると、フォールト緩和コントローラ322の表現された部分は、フォールト蓄積器356、および、論理モジュール358、360、362、そして、364を備える。
動作において、メモリ200の始動と同時に、メモリ200のスキャンを、始めることができる。スキャンは、メモリにテスト・データに書き込むこと、メモリからテスト・データを読むこと、次に、不良のメモリ・セルを検出するために書き込まれたデータを読まれたデータと比較することを含むことができる。フォールト蓄積器356のセルの各々のセルまたはグループは、スキャンされているメモリブロックにおける、メモリの特定の列に対応することができる。従って、テストされているi行に対して、不良のセルが特定の列で検出されるたびに、その列に対応しているフォールト蓄積器356の1つ以上のビットが、インクリメントされる。
実例を示すと、メモリブロック351の第1のi行に対応するセル3521(図3C)の部分を考える。テスト・データは、部分3521におけるどんな不良のセルでも検出するために、部分3521のセルへ書き込むこと、次にそれから読むことができる。列1からNの各々に対して、その列に対応するフォールト蓄積器356の1つ以上のビットは、部分3521のその列で、不良のメモリ・セルが検出されるたびに、インクリメントすることができる。一旦、部分3521のすべてのセルがテストされるならば、1つ以上の論理的および/または数値演算が、フォールト・レジスタのセル3501は、アサートされるべきか、アサート停止されなければならないかどうかを決定するために、フォールト蓄積器356のコンテンツに適用される。アサートされているセル3501は、1つ以上のフォールト緩和マッパー(例えば、図3Aのフォールト緩和マッパー3061−3065)は、部分3521におけるアレイに書き、それから読むときに、ビット・ライン・マッピングに最初のデータ・ラインを利用することになっていることを示すことができる。反対に、アサート停止されているセル3501は、1つ以上のフォールト緩和マッパー(例えば、図3Aのフォールト緩和マッパー3061−3065)は、部分3521におけるアレイに書き、それから読むときに、ビット・ライン・マッピングに第2のデータ・ラインを利用することになっていることを示すことができる。
フォールト蓄積器356のコンテンツの上で実行される論理的および/または数値演算は、高センシティブ度ゾーンに対応する部分3521の列と、低センシティブ度ゾーンに対応する部分3521の列とに依存することができる。記載された例示的な部分において、高感度部分3681と3683、および、低センシティブ度部分3682と3684が存在し、各々の部分が、それぞれ、メモリブロック351の1つ以上の列に対応する、1つ以上のビットを備える。部分3681と3683のビットは、信号359を生成するために、モジュール358による論理的OR演算したものである。部分3682と3684のビットは、信号361を生成するために、モジュール360による論理的OR演算したものである。信号361は、信号363を生成するために、インバータ362で反転される。信号361と363は、信号366を生成するために、AND演算される。信号366がアサートされるならば、「a 1」をメモリ・セル3501に書き込むことができ、信号366がアサート停止されるならば、「a 0」をメモリ・セル3501に書き込むことができる。
各々の部分3522−352Kは、部分3521にたいして上で記述されたのと類似した方法で、フォールトのスキャンすることができる。各々のフォールト・レジスタ・セル3502−350Kは、セル3501に対して上で記述されたのと類似した方法で、配置することができる。
図4Aー4Eは、メモリのアレイは、そのアレイにおいて1つ以上の不良のセルの影響を緩和するために、2つのセンシティブ度ゾーンに区分される、例示的なシステムを表す。図4Aー4Eに、メモリ・セル400のアレイ、アレイ400に関連するフォールト・レジスタ402、および、アレイ400へ書き込まれる8ビット・データ・ブロックを示す。図4A−4Eの中で表される例示的な実施形態において、アレイ400は8ビットであり、データ・ブロックは、8ビットであるが、しかし、本願発明は、それに制限されるものではない。
配列400に格納されるべきデータに基いて、アレイ400のセルは、高いセンシティブ度ゾーンと低いセンシティブ度ゾーンに区分けすることができる。実例を示すと、図4Aー4Cの中で表される例示的な実施形態において、データ・ブロック404は、ビット[7]がMSBであり、ビット[0]がLSBである8ビット数である。この実施形態において、データ・ブロック404のビット[7:4]の1つにおけるエラーは、システム性能において、データ・ブロック404のビット[3:0]の1つにおけるエラーよりも、正しい値から、より大規模な逸脱を引き起こす。例えば、デジタル通信またはビデオシステムにおいて、ビット誤り率(BER)、パケット・エラー率(PER)、または、フレーム・エラー率(FER)は、ビット[3:0]におけるエラーであるより、ビット[7:4]におけるエラーであるほうが、より低くなることができる。従って、上部4つのセル(セル[7:4])は、より高いセンシティブ度セルとして区分けされ、下部の4つのセル(セル[3:0])は、より低いセンシティブ度セルとして区分けされた。本願発明の実施形態において、セルや列を、どのセンシティブ度ゾーンに割り当てるべきかを、不良のセルや列を機能的なそのセルや列と比較することによる、システム・パフォーマンス測定(例えば、ビット誤り率(BER))での正規化差異に基づいて、決定することができる。
動作において、アレイ400のセル[7:0]と、データ・ブロック404のビット[7:0]との間のマッピングは、フォールト・レジスタ402によって示されるマッピングに基づいて、決定することができる。
図4Aにおいて、不良のセルが、アレイ400にない。従って、フォールト・レジスタ402は、第1のマッピングが利用されることになっていることを示す。図4A−4Eの中で表される例示的な実施形態において、第1のマッピングは、データ・ブロック404のビット[0:N]がシーケンシャルにアレイ400のセル[0:N]へ書き込まれるという結果になる。すなわち、図4Aの中で利用されるマッピングは、下記の表1で示すようである。
図4Bにおいて、不良のメモリ・セル(セル[1])が、より低いセンシティブ度ゾーンに存在するが、しかし、より高いセンシティブ度ゾーンには存在しない。従って、フォールト・レジスタ402は、第1のマッピングが使われることになっていることを示す。
図4Cにおいて、不良のメモリ・セル(セル[5])が、より高いセンシティブ度ゾーンに存在し、そして、より低いセンシティブ度ゾーンには存在しない。従って、フォールト・レジスタ402は、第2のマッピングが使われることになっていることを示す。図4A−4Eの中で表される例示的な実施形態において、第2のマッピングは、データ・ブロック404のビット[0:N]がリバース・シーケンシャルにアレイ400のセル[0:N]へ書き込まれることという結果になる。すなわち、図4Cの中で利用されるマッピングは、下記の表2で示すとおりである。
図4Dにおいて、不良のメモリ・セル(セル[4])が、より高いセンシティブ度ゾーンに存在し、不良のメモリ・セル(セル[1]が、より低いセンシティブ度ゾーンに存在する。本願発明の態様は、どのマッピングを利用するべきかを決定するために、利用できるマッピングごとにデータ・ブロック404の値における潜在的エラーを比較することを可能にすることができる。実例を示すと、図4Dにおいて、第1のマッピングは、ビット4と1の潜在的エラーの結果となり、そして、第2のマッピングは、ビット6と3での、潜在的エラーの結果となる。従って、図4Dにおいて、第1のマッピングは利用されることができる。同様に、図4Eにおいて、第1のマッピングはビット7と2の潜在的エラーの結果となり、第2のマッピングは、ビット5と0での、潜在的エラーの結果となる。従って、図4Eにおいて、第2のマッピングが利用される。
図4A−4Eが2つのセンシティブ度ゾーンを表す、一方、実際には、利用されるセンシティブ度ゾーンの数は、1より大きいどんな整数でもありえる。
図4Fは、メモリ・セルの各々のサイズが、不良(たとえば、ビット誤り率で測定されると)のセルへのセンシティブ度に関連する例示的なメモリ・アレイを表す。データ・ブロック404(すなわち、上位4ビットがより高いセンシティブ度であり、下位4ビットがより低いいセンシティブ度である8ビット・データ・ブロック)のようなデータ・ブロックを格納するサイズのメモリ・インスタンス314Yの例示的なインプリメンテーションが、図4Fにおいて示される。すなわち、各々の行mに対して、メモリ・セル334m,1−334m,4(より高いセンシティブ度ゾーンにおけるセル)は、メモリ・セル3334m,5−334m,8(より低いセンシティブ度ゾーンにおけるセル)より大きい。このサイズ設定は、より高いセンシティブ度ゾーンの方が、より低いセンシティブ度ゾーンよりも、不良のセルが、より少ないという結果となりえる。図4Fが、2つのセンシティブ度ゾーンに対する2つのセルサイズを図示する、一方、センシティブ度に基づくサイズ設定は、任意数のセンシティブ度ゾーンに適用することができる。同様に、図4Fは、センシティブ度ゾーンの数と、セルサイズの数との間で、1対1の対応を有するのであるが、センシティブ度ゾーンの数と、セルサイズの数との間での他の関係を、用いることができる。例えば、第1のより大きなサイズのセルを有する、高いセンシティブ度ゾーンと中程度に高いセンシティブ度ゾーン、および、第2のより小さなサイズのセルを有する、中程度に低いセンシティブ度ゾーンと低いセンシティブ度ゾーン、の4つのセンシティブ度ゾーンに対して、2つのセルサイズがありえる。
図4Gは、メモリ・セルの各々の供給電圧が、不良(たとえば、ビット誤り率で測定されと)のセルへのセンシティブ度に関連する例示的なメモリ・アレイを表す。データ・ブロック404のようなデータ・ブロックを格納するために構成された供給電圧を有するメモリ・インスタンス314Yの例示的なインプリメンテーションが、図4Gにおいて示される。すなわち、各々の行mに対して、メモリ・セル334m,1−334m,4(より高いセンシティブ度ゾーンにおけるセル)は、Vmem1を供給され、メモリ・セル3334m,5−334m,8(より低いセンシティブ度ゾーンにおけるセル)は、Vmem2を供給される。ここで、Vmem1>Vmem2である。この供給電圧の構成は、より高いセンシティブ度ゾーンの方が、より低いセンシティブ度ゾーンよりも、不良のセルが、より少ないという結果となりえる。図4Gが、2つのセンシティブ度ゾーンに対する2つの供給電圧を図示する、一方、センシティブ度に基づく供給電圧構成は、任意数のセンシティブ度ゾーンに適用することができる。同様に、図4Gは、センシティブ度ゾーンの数と、供給電圧の数との間での1対1の対応を有するのであるが、センシティブ度ゾーンの数と、供給電圧の数との間での他の関係を、用いることができる。例えば、第1のより高い供給電圧を供給される、高いセンシティブ度ゾーンと中程度に高いセンシティブ度ゾーン、および、第2のより低い供給電圧を供給される、中程度に低いセンシティブ度ゾーンと低いセンシティブ度ゾーン、の4つのセンシティブ度ゾーンに対して、2つの供給電圧がありえる。
図5Aは、例示的なフォールト緩和マッピング・モジュールを表す。図5Aを参照すると、フォールト緩和マッピング・モジュール502は、入力ライン504[7:0]と、出力ライン510[7:0]と、マルチプレクサ508と、制御信号512とを備える。制御信号512が論理0であるとき、ライン504[7:0]は、下の表3に示されるように、ライン510[7:0]にマップすることができる。制御信号512が論理1であるとき、ライン504[7:0]は、下の表4に示されるように、ライン510[7:0]にマップすることができる。
図5Aにおいて表されるフォールト緩和マッピング・モジュールは、信号ラインの再順位付けを通して、異なるマッピングを達成する。このようにして、マルチプレクサ508により導入されたディレイは、フォールト緩和マッピング・モジュール502によって導入される唯一の顕著な追加的ディレイでありえる。他の実施形態において、しかしながら、マッピングは、1つ以上の論理ゲートを介して達成することができる。そのような他の実施形態は、例えば、追加的なディレイが許容されえるときに、利用することができる。本願発明の実施形態において、マッピングは、例えば、ベネス置換ネットワークなど置換ネットワークによって達成することができる。
図5Bは、構成可能フォールト緩和マッピング・モジュールを備えるシステムを表す。図5Bを参照すると、構成可能フォールト緩和マッピング・モジュール540は、入力ライン544[7:0]と、出力ライン550[7:0]と、マルチプレクサ548と、制御信号552と、64の構成要素5461,1−5468,8を備える。64構成素子は、説明のために利用されるものであるけれども、本願発明は、それに制限されるものではない。
構成要素5461,1−5468,8の各々は、例えば、NMOSトランジスタ、PMOSトランジスタ、CMOS伝達ゲート、ヒューズ、アンチ・ヒューズ、または、信号トレースの接続をつくる、および/または、接続を切断するための任意他のものデバイスを備えることができる。構成要素5461,1−5468,8は、ワンタイム構成可能であり、プログラミング・ステーションを介して電子的に構成可能であり、および/または、モジュール542が存在する(例えば、受信機150)装置の作動の間に、(例えばCPU104などのプロセッサーからの制御信号によって)ダイナミックに構成可能である。
動作において、信号552が論理0であるとき、モジュール542は、第1のマッピングを実行することができ、信号552が論理1であるとき、第2のマッピングを実行することができる。
モジュール542がワンタイム・プログラマブルである例示的な実施形態において、モジュール542で利用されることになっている特定のメモリを特徴づける際に、第2のマッピングを決定することができる。例えば、そのモジュールは、メモリ152の各々の行のセル[6]が不良であるように、不良のビット・ライン[6]を有するメモリ152と対にすることができる。モジュール542は、メモリ152のビット・ライン[6]が、モジュール542(例えば、データ・ブロック404のビット[0])を介してメモリ152に書き込まれるデータ・ブロックの最下位ビットに対応するライン544[7:0]の1つにマップされるように、プログラムすることができる。
例示的な実施形態において、モジュール542は、メモリごとに、メモリ・インスタンスごとに、メモリ・アドレスごとに、および/または、メモリ・アレイごとに、を基礎に構成することができる。例えば、構成要素542は、メモリ152の第1のアドレスからメモリを書き込むか、読むとき、第1の構成に配置することができ、メモリ152の第2のアドレスからメモリを書き込むか、読むとき、第2の構成に配置することができる。
図6、図7は、受信機150の例示的なインプリメンテーションのシミュレーション結果を示す。図6、図7において提示されたシミュレーション結果は、標準供給電圧Vmemを有する一様サイズのメモリ・セルを使用して得られた。
図6は、ビット誤り率(BER)で測定される前向き誤り訂正(FEC)を有する受信機150の例示的なインプリメンテーションのデコーディング・パフォーマンスに関して周波数・時間デインターリーバ(FTDI)メモリ152において、NSAF=400縮退故障(SAF)の影響を示す。図6に示されるシミュレーションに対して、デインターリーバ・メモリ152は、ソフト・シンボル・データを格納する。NSAF=400縮退故障は、一様に分布しており、以下の通り、メモリ・ワードにおいて各々のビットにマップされる。NSAFフォールトは、シンボル・データのMSBにおいて、最初に導入され、不良によるBERが、記録された。次に、NSAFフォールトが、残りのシンボル・データにおいて導入され、各々のケースにおいて、不良のビットによるBERは、固定されたSNR=18.5dB、および、0FECデコード反復を有する付加白色ガウス雑音(AWGN)チャネルにたいして記録され、このシミュレーションは、デインターリーバ・メモリ・ワードにおける各々のセルに対して繰り返された。
縮退故障(SAF)は、典型的には、メモリ・アレイ・フォールトの50%以上を占める。したがって、SAFは、不良のメモリ・アレイへの一次近似として使用することができる。このシミュレーションに対して、NSAF=400縮退故障の期待される数よりより大きい数が、高い故障条件でシステムをテストするために、シミュレーションにおいてモデル化されないフォールトの他のタイプを説明するために、選択された。このシミュレーションに対して、センシティブ度閾値を1.6x10−4BERに、または、フォールト・フリー基準より7%上に、セットすることによって、高センシティブ度(MSB)領域は、1.6x10−4閾値より大きいBERを有するすべての不良のビットを含む。同様に、このシミュレーションに対して、同じサイズのLSB領域(すなわち低いセンシティブ度ゾーン)は、1.6x10−4閾値より少ないBERを有するすべての不良のビットを含む。このシミュレーションにおいて、メモリ障害がMSB領域において見つかり、フォールトが、LSB領域において見つからないならば、MSBとLSB領域の置換は、修理のないメモリと比較してΔSNRゲイン改善という結果になる。
受信機150は、前向き誤り訂正技術(すなわち、ビタビ(Viterbi)とリード−ソロモン・エンコーディング)と組み合わせて発明の態様を利用するのであるが、本願発明の態様は、追加的な誤り訂正を使用しなくても、システム性能を向上させることができる。
図7は、縮退故障による例示的な周波数・時間デインターリーバ(FTDI)メモリ152に対するフォールト・センシティブ度係数を示す。図7は、図6におけるBERプロットに基づいて、周波数・時間デインターリーバ(FTDI)メモリの断面に対するフォールト・センシティブ度係数ζを示す。このシミュレーションにおいて、FTDIメモリ列は、メモリ行に格納されたデータシンボルを格納する。フォールト・センシティブ度係数ζは、図6における実線と破線との間の差異を取り、次に、その差異を1に正規化することによって決定された。すなわち、特定のメモリ・セルのフォールト・センシティブ度係数は、機能的なメモリ・セルと比較して不良であるそのメモリ・セルによるシステム・パフォーマンス測定(例えば、BER)における差異に対応することができる。シミュレーション結果は、MSBに最も近いデータビットが、LSBに最も近いビットと比較してより高いフォールト・センシティブ度係数を有することを示す。MSBとLSB領域の置換の結果として、発明の態様を利用することは、MSB領域がフォールトを有し、LSB領域は、フォールト・フリーであるときはいつでも、MSB領域データに対してLSB領域によって示されるフォールト・センシティブ度を達成する。
図8は、メモリ・フォールト緩和モジュールのデータストリーム依存制御を図示しているブロック図である図8において、データ検査モジュール802、フォールト緩和モジュール804、および、メモリ・セル・ブロック806を備える装置800が示される。
検査モジュール802は、メモリ806へ書き込まれるデータストリーム801の検査に基づいて、フォールト緩和モジュール804を制御するように動作可能にできる。データ検査モジュール802は、モジュール802により出力されるデータのタイプに基づいて、信号803の状態を制御することができる。例えば、信号803は、モジュール802により、データ出力に同期させることができ、たとえば、出力されるデータのタイプ、および/または、出力されるデータのセンシティブ度係数を示すことができる。
フォールト緩和モジュール804は、データストリーム801の対応するデータに対して、どのマッピングを利用するべきかを決定するために、制御信号803の状態を利用することができる。フォールト緩和モジュール804は、メモリ806のフォールト・レジスタと組み合わせて、制御信号803の状態を利用することができる。
本願発明の例示的な実施形態において、パケット化したデータストリーム801をメモリ806へ書き込むとき、データ検査モジュール802は、ペイロード・ビットを出力するときに、制御信号803を第1の状態に、ヘッダ・ビットを出力するときに、第2の状態に入れることができる。そのような実施形態において、フォールト緩和モジュール804は、不良のセルがペイロード・ビットが書かれる、および/または、書き込まれるメモリ・アドレスに対応するアレイにおいて存在しないとき、第1のマッピングを利用することができ、不良のセルがヘッダ・ビットが書き込まれたか、書き込まれるメモリ・アドレスに対応するアレイにおいて、1つ以上存在するとき、第2のマッピングを利用することができ、第2のマッピングが利用されるとき、フォールト緩和モジュールは、メモリからデータを正しく読み出すことを可能にするために、どのアドレスが第2のマッピングを利用したか、の追跡を続けることができる。例えば、第2のマッピングが利用されるときに、ビットを、フォールト・レジスタにセットすることができ、および/または、ビットを、第2のマッピングが適用されるメモリ・アドレスにおいて定めることができる。
本願発明の例示的な実施形態において、データストリーム801のデータ・タイプと制御信号803の状態との間で、1対1の対応がありえる。制御信号803は、例えば、書き込まれるデータのタイプに基づいて、スイッチング素子546(図5B参照)を制御することができる。
図9は、フォールト・トレラント・メモリの供給電圧を決定するための、例示的なステップを図示しているフローチャートである。例示的なステップは、Vmemを調整するためのルーチンがメモリに供給されるステップ902から始めることができる。補正ルーチンは、例えば、メモリの製造テストの間、および/または、メモリのパワーオンまたはリセットで実行される自己診断の間に行うことができる。補正ルーチンを開始する際に、変数jは、0に初期化することができる。ここで、jは、Vmemの可能な値のリストのインデックスである。例えば、VmemのJ個の可能な値がありえる(例えば、ルック・アップ・テーブルにおいて格納される)。V1は、Vmemの最も高い値であり、VJは、Vmemの最も低い可能な値である。
ステップ904において、jは、1ずつインクリメントすることができる。ステップ906においてjがJ+1と等しいならば(すなわち、Vmemで最も低い可能な値が、例示的なステップ902ー918の前の反復の間にテストされた)、例示的なステップは、ステップ918へ進むことができる。ステップ906に戻って、jが、J+1と等しい、または、より大きいならば、例示的なステップは、ステップ908へ進むことができる。ステップ908において、Vmemは、Vjにセットことができる。
ステップ910において、テスト・データは、メモリへ書き込むことができる。ステップ912において、テスト・データは、メモリから読み出し、エラーを検査することができる。いくつかのインスタンスにおいて、補正ルーチンの制御された条件の下で、メモリから読み出されたデータにおけるエラーの各々は、不良のメモリ・セルの結果であることを仮定することができる。
ステップ914において、メモリにおいて不良のメモリ・セルの数や位置が、許容可能であるか否かを決定することができる。許容されることができる不良のメモリ・セルの数や位置は、例えば、メモリに格納されるデータのタイプ、および/または、フォールト・レジスタのサイズ(すなわち、利用できるマッピングの数、および/または、フォールト・レジスタの各々のセル350に結びつけられるアレイの数)に依存することができる。本願発明の例示的な実施形態において、データは、不良のメモリ・セルの合計数が閾値を越えるか否かを決定するために検査することができる。本願発明の別の実施形態において、データは、不良のメモリ・セルの閾値の数より多くのものを有するメモリにおけるアレイの数が、閾値を越えるか否かを決定するために検査することができる。本願発明の別の実施形態において、データは、複数のセンシティブ度ゾーンにおいてエラーを有するメモリにおけるアレイの数が、閾値を越えるか否かを決定するために検査することができる。検出された不良のメモリ・セルが許容できるならば、例示的なステップは、ステップ904に戻ることができる。検出されたエラーが許容できないならば、例示的なステップは、ステップ916へ進むことができる。
ステップ916において、Vmemは、Vj−1にセットされることができ、そして、メモリのフォールト・レジスタは、ステップ912において、実行された検査の結果に基づいて、プログラムすることができる。すなわち、フォールト・レジスタのコンテンツは、VmemをVj−1にセットして、不良のメモリ・セルの存在および/または位置を示すように構成されることがでる。ステップ918において、Vmemの補正は、終了し、システムは、メモリから読み出し、メモリに書き込むことができる。
本願発明の例示的な実施形態において、Vmemの複数の補正は、複数のデータ・タイプに対応して、実行することができる(データ・タイプが、センシティブ度係数の複数のセットに対応することができることに留意する)。異なるデータ・タイプに対して適切なVmemの値を、(例えば、ルック・アップ・テーブルに)格納することができ、次に、Vmemは、所与のセンシティブ度ゾーンに対する電圧スケーリング・ユニット(例えば、図1Aのスケーラー116)を通して、メモリに、格納されるデータのタイプに基づいて、ダイナミックに構成することができる。
図10は、フォールト・トレラント・メモリのメモリ・セルのサイズ設定のための、例示的なステップを図示しているフローチャートである。例示的なステップは、サイズ設定ルーチンが開始するステップ1002から始めることができる。サイズ設定ルーチンは、例えば、メモリのデザイン・フェーズの間に行うことができる。サイズ設定ルーチンを開始する際に、変数sは、0に初期化することができる。ここで、sは、サイズ・インデックスとして使用される。例えば、セルサイズは、「sizes」と表示することができる。ここで、size1が、最も小さい可能なセルサイズであり、そして、sが増加すると、セルサイズが、増加する。
ステップ1004において、jは、1ずつインクリメントすることができる。ステップ1006において、セルサイズは、sizesにセットすることができ、sizesのセルサイズを有するメモリにおける不良のセルの数および/または位置は、シミュレーション、および/または、さもなければ計算することができる。ステップ1010において、ステップ1008において決定される不良のメモリ・セルの数および/または位置が、許容可能であるか否かを決定することができる。許容されることができる不良のメモリ・セルの数や位置は、例えば、メモリに格納されるデータのタイプ、および/または、フォールト・レジスタのサイズ(すなわち、利用できるマッピングの数および/または、フォールト・レジスタの各々のセル350に結びつけられるアレイの数)に依存することができる。不良のメモリ・セルの数が許容できないならば、例示的なステップは、ステップ1004に戻ることができる。不良のメモリの数が許容できるならば、例示的なステップは、ステップ1012へ進むことができる。ステップ1012において、サイズは、メモリを造るセルサイズとして選択されることができる。ステップ1014においてサイズ設定ルーチンは完了している。
図11は、受信機においてフォールト・トレラント・メモリの供給電圧を決定するための、例示的なステップを図示しているフローチャートである。例示的なステップは、メモリに供給される電圧Vmemの補正が始まることができるときに、ステップ1102から始めることができる。補正ルーチンは、例えば、メモリの製造テストの間、および/または、メモリのパワーオンまたはリセットで実行される自己診断の間に行うことができる。補正ルーチンを開始する際に、変数jは、0に初期化することができる。ここで、jは、Vmemの可能な値のリストのインデックスである。例えば、VmemのJ個の可能な値がありえる(例えば、ルック・アップ・テーブルにおいて格納される)。V1は、Vmemの最も高い値であり、VJは、Vmemの最も低い可能な値である。
ステップ1104において、jは、1ずつインクリメントすることができる。ステップ1106においてjがJ+1と等しいならば(すなわち、Vmemで最も低い可能な値が、例示的なステップ1102ー1126前の反復の間にテストされた)、例示的なステップは、ステップ1124へ進むことができる。ステップ1106に戻って、jが、J+1と等しい、または、より大きいならば、例示的なステップは、ステップ1108へ進むことができる。ステップ1108において、Vmemは、Vjにセットことができる。
ステップ1110において、テスト信号を、受信機に入力することができる。テスト信号は、たとえば、テストステーションにより、生成することができ、および/または、受信機と接続し、受信機にループ・バックする送信器で生成することができる。テスト信号は、例えば、テスト信号に含まれるデータの成功した回復が、受信機が、受信を要求される信号(例えば、1つ以上の標準に記載された仕様を満たす信号)をうまく受信することができることの信頼できる指標ありえるように、厄介なケースまたは最悪のシナリオを表すことができる。
ステップ1112において、テスト信号はデジタル化されることができ、さもなければ、アナログ・フロントエンド(例えば、AFE102)によって処理される。ステップ1114において、デジタル化される信号に含まれるデータは、たとえば、デジタル化された信号を復調して、デコードすることによって回復することができる。ステップ1116において、回復されたデータを、メモリへ書き込むことができる。ステップ1118において、データは、メモリから読み出すことができる。ステップ1120において、1つ以上の誤り訂正アルゴリズム(例えば、ビタビ(Viterbi)とリード・ソロモン)を、読出しデータに適用することができる。例示的なステップが、メモリに対して単一の読み書きを反映しているが、復調、デコーディング、誤り訂正、および/または、信号の他の処理が、実際には、メモリへの複数の読み書きを要求することができることに留意する。
ステップ1122において、パフォーマンス・メトリック(例えば、ビット誤り率)は、エラー修正されたデータに対して測定して、閾値と比較することができる。パフォーマンス・メトリックが閾値の下にあるならば、例示的なステップは、ステップ1104に戻ることができる。パフォーマンス・メトリックが閾値を越えるならば、例示的なステップは、ステップ1124へ進むことができる。
ステップ1124において、Vmemは、Vj−1にセットすることができる。ステップ1126において、Vmemの補正は、終了して、システムは、実際のデータを、メモリから読み出し、メモリに書き込むことを始めることができる。
本願発明の例示的な実施形態において、メモリ・セル3341,1−334M,Nのアレイは、そのアレイに存在するならば、不良のメモリ・セルの検出するため、スキャンすることができる。メモリ・セルのアレイに適用される供給電圧Vmemは、スキャンの結果に基づいて、また、メモリ・セルの1つ以上のセンシティブ度係数に基づいて、制御することができる、センシティブ度係数は、1つ以上の不良のセルが、メモリ・アレイにデータを読み書きする装置(例えば、受信機150)のパフォーマンスに対して有する影響を示すことができる。センシティブ度係数は、1つ以上の不良のメモリ・セルがない電子装置のパフォーマンス・メトリックと、そして、1つ以上の不良のメモリ・セルを有する電子装置のパフォーマンス・メトリックとの比較によって決定することができる。供給電圧を制御することは、スキャンの結果が、より多くの不良のメモリ・セルが、メモリ・セルのアレイにおいて許容可能であることを示すときに、供給電圧Vmemを減らすことを含むことができる。供給電圧を制御することは、スキャンの結果が、メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すときに、供給電圧を増やすことを含むことができる。
本願発明の例示的な実施形態において、メモリ・セル3341,1−334M,Nのアレイは、アレイにおいて不良のメモリ・セルを、存在するならば、検出するためにスキャンすることができる。フォールト・レジスタのコンテンツ(例えば、フォールト・レジスタ304)は、スキャニングの結果に基づいて構成することができる。テスト・データは、メモリ・セルのアレイに対してであることができる。テスト・データのビットがメモリ・セルのアレイへ書き込まれる順序は、フォールト・レジスタのコンテンツによって決定することができる。テスト・データは、次に、メモリ・セルのアレイから読むことができる。テスト・データのビットがメモリ・セルのアレイから読まれる順序は、フォールト・レジスタのコンテンツによって決定することができる。メモリ・セルのアレイに適用される供給電圧Vmemは、メモリから読まれるテスト・データの測定されたパフォーマンス・メトリックに基づいて、制御することができる。供給電圧を制御は、スキャニングの結果が、メモリ・セルのアレイにおいて、もっと多い不良のメモリ・セルが許容可能であることを示すときに、供給電圧を減らすことを含むことができる。供給電圧を制御は、スキャニングの結果が、メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すときに、供給電圧を増やすことを含むことができる。パフォーマンス・メトリック基準は、例えば、ビット誤り率および/またはパケット・エラー率であることができる。スキャンは、メモリ・セルのアレイのスタート・アップまたはリセットの際に、実行することができる。
本願発明の例示的な実施形態において、1つ以上の回路は、メモリ・セル3341,1−334M,Nのアレイを備えることができる。メモリ・セルの1つ以上のトランジスタ(例えば、1つ以上のトランジスタ341ー346)のサイズは、メモリ・セルのアレイの1つ以上のセンシティブ度係数と相関している(すなわち、に依存している、および/または、と関係を有する)ことがありえる。追加的に、または、代替的に、メモリ・セルの1つ以上のトランジスタのサイズは、メモリ・セルのアレイにおいて許容可能である不良のメモリ・セルの数と相関している(すなわち、に依存している、および/または、と関係を有する)ことがありえる。その1つ以上の回路は、フォールト・レジスタを備えることができる。フォールト・レジスタのサイズは、その1つ以上のトランジスタのサイズと相関している(すなわち、に依存している、および/または、と関係を有する)ことがありえる。追加的に、または、代替的に、その1つ以上のトランジスタのサイズは、フォールト・レジスタのサイズと相関している(すなわち、に依存している、および/または、と関係を有する)ことがありえる。その1つ以上の回路は、複数のデータ・ラインを備えるデータ・バスとマルチプレクサを備える。メモリ・セルのアレイは、特定のメモリ・アドレスに対応することができ、複数のビット・ラインに結合することができる。複数のデータ・ラインと複数のビット・ラインは、メモリ・セルのアレイに書き込む、および/または、それから読み出すために、用いることができる。マルチプレクサは、複数のデータ・ラインと複数のビット・ラインとの間の異なるマッピングの間で選ぶことができる。マルチプレクサの構成は、少なくとも部分において、メモリ・セルのいずれかが不良であるか否かに基づいて制御することができる。
本願発明の他の実施形態は、マシンコードおよび/または、マシンおよび/またはコンピュータで、実行可能な少なくとも1つのコード部を有するコンピュータ・プログラムをその上に保存した非一時的機械可読(例えば、コンピュータで読取り可能な)媒体及び/又はや記憶媒体を提供することができる。それによって、マシンおよび/またはコンピュータに、ここに記載した、メモリ電力および/または領域縮小のためのステップを実行させる。
したがって、本願発明は、ハードウェア、ソフトウェア、あるいは、ハードウェアとソフトウェアとのは組合せで実現することができる。本願発明は、少なくとも1つのコンピューティング・システムに集中化したやり方で、あるいは、異なる要素がいくつかの相互接続したコンピューティング・システムにわたり広がっている分散化したやり方で、実現することができる。ここに記載した方法を実行するのに適合したいかなるコンピューティング・システムでも、または他の装置でも、適している。ハードウェアとソフトウェアとの典型的組合せは、ロードされて、実行されるときに、それがここに記述された方法を実行するようなコンピューティング・システムを制御するプログラムまたは他のコードを有する汎用コンピューティング・システムでありえる。別の典型的なインプリメンテーションは、アプリケーション特定集積回路(ASIC)またはシステム・オン・チップ(SoC)を備えることができる。
本願発明は、コンピュータ・プログラム・プロダクトにも埋め込むことができる。そしてそれは、ここに記載された方法のインプリメンテーションを可能にしているすべての特徴を含み、コンピュータシステムでロードされたときに、それは、これらの方法を実行することができる。ここでの文脈において、コンピュータ・プログラムは、システムに直接、または、a)別の言語、コードまたは記法への変換、b)異なるマテリアル形式の再現、のどちらか、または、両方の後に、特定の機能を実行するための情報処理能力を持たせることを意図した一組の命令のいかなる言語、コード、あるいは記法におけるいかなる表現でも意味する。
本願発明は、特定の実施形態を参照して記載されてきたが、種々の変更を行うことができ、本願発明の範囲を離れることなく、均等物が、置き換えられることは、当業者に理解される。なお、本願発明の教示に対して、本願の特許請求の範囲から離れることなく、特定の状況または材料に適応させるために多くの修正をすることができる。したがって、本願発明は、開示された特定の実施形態に限られないが、本願発明が、本願特許請求の範囲内にあるすべて実施形態を含むことが意図されている。
Claims (20)
- メモリ・セルのアレイを備える電子装置において、前記メモリ・セルのアレイにおいて、存在するならば、不良なメモリ・セルを検出するために、該メモリ・セルのアレイをスキャンするステップと、前記メモリ・セルのアレイに適用される供給電圧を、前記スキャンの結果に基づいて、また、前記メモリ・セルのアレイの1つ以上のセンシティブ度係数に基づいて、制御するステップと、を含む方法。
- 前記センシティブ度係数は、不良である前記1つ以上の前記メモリ・セルのアレイが前記電子装置のパフォーマンスに関して有する影響を示す、請求項1に記載の方法。
- 前記センシティブ度係数は、少なくとも部分的には、前記1つ以上の前記メモリ・セルのアレイが不良でない、前記電子装置のパフォーマンス・メトリックと、前記1つ以上の前記メモリ・セルのアレイが不良である、前記電子装置の前記パフォーマンス・メトリックとの比較によって、決定される、請求項1に記載の方法。
- 前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容可能であることを示すとき、前記供給電圧を減少させること、を含む、請求項1に記載の方法。
- 前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、前記メモリ・セルのアレイにおける不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加させることを含む、請求項1に記載の方法。
- 電子装置に用いられる1つ以上の回路を具備するシステムであって、
前記1つ以上の回路は、メモリ・セルのアレイを備え、
少なくとも、
前記メモリ・セルのアレイにおいて、存在する可能性がある、不良のメモリ・セルを検出するために、該メモリ・セルのアレイをスキャンし、
前記メモリ・セルのアレイに適用される供給電圧を、前記スキャンの結果に基づいて、また、前記メモリ・セルのアレイの1つ以上のセンシティブ度係数に基づいて、制御する、
ように動作可能である、システム。 - 前記センシティブ度係数は、不良である前記1つ以上の前記メモリ・セルのアレイが前記電子装置のパフォーマンスに関して有する影響を示す、請求項6に記載のシステム。
- 前記センシティブ度係数は、少なくとも部分的には、前記1つ以上の前記メモリ・セルのアレイが不良でない、前記電子装置のパフォーマンス・メトリックと、前記1つ以上の前記メモリ・セルのアレイが不良である、前記電子装置の前記パフォーマンス・メトリックとの比較によって、決定される、請求項6に記載のシステム。
- 前記1つ以上回路は、少なくとも、部分的には、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容されることができることを示すとき、前記供給電圧を減らすために動作することによって、前記供給電圧を制御するように動作可能である、請求項6に記載のシステム。
- 前記1つ以上回路は、少なくとも、部分的には、前記スキャンの前記結果が、メモリ・セルの前記アレイにおいて不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加するために動作することによって、前記供給電圧を制御するように動作可能である、請求項6に記載のシステム。
- メモリ・セルのアレイにおいて、存在する可能性がある、不良のメモリ・セルを検出するために、前記メモリ・セルのアレイをスキャンするステップと、
前記スキャンの結果に基づいて、フォールト・レジスタのコンテンツを構成するステップと、テスト・データを前記メモリ・セルの前記アレイへ書き込むステップであって、前記テスト・データのビットが前記メモリ・セルのアレイに書き込まれる順序が、前記フォールト・レジスタの前記コンテンツによって決定される、ステップと、
前記メモリ・セルのアレイから前記テスト・データを読み出すステップであって、前記テスト・データのビットが前記メモリ・セルのアレイから読み出される順序が、前記フォールト・レジスタの前記コンテンツによって決定される、ステップと、
前記メモリ・セルのアレイに適用される供給電圧を、前記メモリ・セルのアレイから読み出された前記テスト・データの測定されたパフォーマンス・メトリックに基づいて、制御するステップと、を含む方法。 - 前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、より多くの不良のメモリ・セルが、前記メモリ・セルのアレイにおいて許容可能であることを示すとき、前記供給電圧を減少させること、を含む、請求項11に記載の方法。
- 前記供給電圧を制御する前記ステップが、前記スキャンの前記結果が、メモリ・セルの前記アレイにおいて不良のメモリ・セルの数が、許容可能より、多いことを示すとき、前記供給電圧を増加させることを含む、請求項11に記載の方法。
- 前記パフォーマンス・メトリックは、ビット誤り率および/またはパケット・エラー率の一方または両方である、請求項11に記載の方法。
- 前記スキャンは、スタート・アップ、および/または、前記メモリ・セルのアレイのリセットの一方または両方の際に実行される、請求項11に記載の方法。
- メモリ・セルのアレイを備える1つ以上の回路を具備するシステムであって、
前記メモリ・セルの1つ以上の物理的大きさが、前記メモリ・セルのアレイにおいて許容可能な不良のメモリ・セルの数に基づいている、前記メモリ・セルのアレイの1つ以上のセンシティブ度係数と相関している、システム。 - 前記1つ以上の回路は、フォールト・レジスタを備え、前記フォールト・レジスタのサイズは、前記メモリ・セルの前記1つ以上の物理的大きさと相関している、請求項16に記載のシステム。
- 前記1つ以上の回路は、フォールト・レジスタを備え、前記メモリ・セルの前記1つ以上の物理的大きさは、前記フォールト・レジスタのサイズに基づく、請求項16に記載のシステム。
- 前記1つ以上の回路は、マルチプレクサと、複数のデータ・ラインを備えるデータ・バスとを備え、
前記メモリ・セルのアレイは、特定のメモリ・アドレスに対応し、複数のビット・ラインに結合しており、
前記複数のデータ・ラインおよび前記複数のビット・ラインは、前記メモリ・セルのアレイに書き込み、および/または、前記メモリ・セルのアレイから読み取るのに用いられ、
前記マルチプレクサは、前記複数のデータ・ラインと前記複数のビット・ラインとの間の異なるマッピングの中から選択する、請求項16に記載のシステム。 - 前記マルチプレクサの構成は、少なくとも部分において、前記メモリ・セルのいずれかが不良であるかどうかに基づいて制御される、請求項19に記載のシステム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161487250P | 2011-05-17 | 2011-05-17 | |
US61/487,250 | 2011-05-17 | ||
US13/285,945 | 2011-10-31 | ||
US13/285,945 US8797813B2 (en) | 2011-05-17 | 2011-10-31 | Method and apparatus for memory power and/or area reduction |
PCT/US2012/023977 WO2012158223A1 (en) | 2011-05-17 | 2012-02-06 | Method and apparatus for memory power and/or area reduction |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014517439A true JP2014517439A (ja) | 2014-07-17 |
Family
ID=47174829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014511341A Pending JP2014517439A (ja) | 2011-05-17 | 2012-02-06 | メモリ電力および/または領域縮小のための方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (5) | US8797813B2 (ja) |
EP (1) | EP2712445A4 (ja) |
JP (1) | JP2014517439A (ja) |
KR (1) | KR20140096995A (ja) |
CN (1) | CN103733179A (ja) |
SG (1) | SG195026A1 (ja) |
TW (1) | TW201312574A (ja) |
WO (1) | WO2012158223A1 (ja) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8797813B2 (en) * | 2011-05-17 | 2014-08-05 | Maxlinear, Inc. | Method and apparatus for memory power and/or area reduction |
TWI550633B (zh) * | 2013-01-03 | 2016-09-21 | 國立清華大學 | 用於通訊或儲存系統之非均等位元可靠度軟式資訊儲存方法 |
US9224449B2 (en) * | 2013-03-11 | 2015-12-29 | Nvidia Corporation | Variable dynamic memory refresh |
US9786388B1 (en) * | 2013-10-09 | 2017-10-10 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9348694B1 (en) * | 2013-10-09 | 2016-05-24 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Detecting and managing bad columns |
US9343116B2 (en) | 2014-05-28 | 2016-05-17 | Micron Technology, Inc. | Providing power availability information to memory |
US9576644B2 (en) | 2015-04-27 | 2017-02-21 | Taiwan Semiconductor Manufacturing Company, Ltd. | Integrated circuit chip having two types of memory cells |
US10503241B2 (en) | 2017-05-16 | 2019-12-10 | Micron Technology, Inc. | Providing energy information to memory |
US11301143B2 (en) * | 2019-06-05 | 2022-04-12 | Micron Technology, Inc. | Selective accelerated sampling of failure-sensitive memory pages |
US11508735B2 (en) | 2019-08-28 | 2022-11-22 | Taiwan Semiconductor Manufacturing Company, Ltd. | Cell manufacturing |
US11296080B2 (en) | 2020-06-15 | 2022-04-05 | Taiwan Semiconductor Manufacturing Co., Ltd. | Source/drain regions of semiconductor devices and methods of forming the same |
US11990511B2 (en) | 2021-08-27 | 2024-05-21 | Taiwan Semiconductor Manufacturing Co., Ltd. | Source/drain device and method of forming thereof |
US11817784B2 (en) | 2022-01-11 | 2023-11-14 | Semiconductor Components Industries, Llc | Switching slew rate control for gate drivers |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4506364A (en) | 1982-09-30 | 1985-03-19 | International Business Machines Corporation | Memory address permutation apparatus |
JPS6337899A (ja) | 1986-07-30 | 1988-02-18 | Mitsubishi Electric Corp | 半導体記憶装置 |
US5233614A (en) | 1991-01-07 | 1993-08-03 | International Business Machines Corporation | Fault mapping apparatus for memory |
SG43256A1 (en) | 1995-03-29 | 1997-10-17 | Toshiba Kk | Apparatus and method for reading and writing data |
US5892775A (en) | 1995-12-27 | 1999-04-06 | Lucent Technologies Inc. | Method and apparatus for providing error-tolerant storage of information |
JPH10209998A (ja) | 1997-01-20 | 1998-08-07 | Sony Corp | 復調装置 |
US5909404A (en) | 1998-03-27 | 1999-06-01 | Lsi Logic Corporation | Refresh sampling built-in self test and repair circuit |
US6748480B2 (en) | 1999-12-27 | 2004-06-08 | Gregory V. Chudnovsky | Multi-bank, fault-tolerant, high-performance memory addressing system and method |
US6590818B1 (en) * | 2002-06-17 | 2003-07-08 | Motorola, Inc. | Method and apparatus for soft defect detection in a memory |
EP1408516B1 (en) * | 2002-10-07 | 2006-06-21 | Infineon Technologies AG | A fuse blowing interface for a memory chip |
CA2447204C (en) | 2002-11-29 | 2010-03-23 | Memory Management Services Ltd. | Error correction scheme for memory |
US7023719B1 (en) | 2003-10-23 | 2006-04-04 | Lsi Logic Corporation | Memory module having mirrored placement of DRAM integrated circuits upon a four-layer printed circuit board |
DE102004009693A1 (de) * | 2004-02-27 | 2005-10-13 | Advanced Micro Devices, Inc., Sunnyvale | Technik zum Kombinieren eines Abtasttests und eines eingebauten Speicherselbsttests |
JP2005301476A (ja) * | 2004-04-08 | 2005-10-27 | Hitachi Ltd | 給電制御システム、及び記憶装置 |
US20060280019A1 (en) * | 2005-06-13 | 2006-12-14 | Burton Edward A | Error based supply regulation |
JP4108695B2 (ja) * | 2005-07-15 | 2008-06-25 | 三菱電機株式会社 | 車載電子制御装置 |
JP4771828B2 (ja) * | 2006-02-24 | 2011-09-14 | 富士通セミコンダクター株式会社 | 電源装置の制御回路、電源装置及びその制御方法 |
US7634713B1 (en) | 2006-05-16 | 2009-12-15 | Altera Corporation | Error detection and location circuitry for configuration random-access memory |
US7793172B2 (en) * | 2006-09-28 | 2010-09-07 | Freescale Semiconductor, Inc. | Controlled reliability in an integrated circuit |
US8006164B2 (en) * | 2006-09-29 | 2011-08-23 | Intel Corporation | Memory cell supply voltage control based on error detection |
US8151163B2 (en) | 2006-12-03 | 2012-04-03 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
KR100823170B1 (ko) | 2007-01-31 | 2008-04-21 | 삼성전자주식회사 | 배드 블록을 싱글 레벨 셀 모드로 사용하는 메모리 시스템및 메모리 카드 |
US7616509B2 (en) * | 2007-07-13 | 2009-11-10 | Freescale Semiconductor, Inc. | Dynamic voltage adjustment for memory |
US7903483B2 (en) * | 2008-11-21 | 2011-03-08 | Freescale Semiconductor, Inc. | Integrated circuit having memory with configurable read/write operations and method therefor |
US8526261B2 (en) * | 2009-03-02 | 2013-09-03 | The Regents Of The University Of Michigan | Integrated circuit memory power supply |
US8379466B2 (en) | 2009-03-31 | 2013-02-19 | Freescale Semiconductor, Inc. | Integrated circuit having an embedded memory and method for testing the memory |
US8315117B2 (en) * | 2009-03-31 | 2012-11-20 | Freescale Semiconductor, Inc. | Integrated circuit memory having assisted access and method therefor |
EP2256634A1 (en) * | 2009-05-27 | 2010-12-01 | Robert Bosch Gmbh | A data processing device and a method for error detection and error correction |
US8797813B2 (en) * | 2011-05-17 | 2014-08-05 | Maxlinear, Inc. | Method and apparatus for memory power and/or area reduction |
-
2011
- 2011-10-31 US US13/285,945 patent/US8797813B2/en active Active
-
2012
- 2012-02-06 WO PCT/US2012/023977 patent/WO2012158223A1/en active Application Filing
- 2012-02-06 JP JP2014511341A patent/JP2014517439A/ja active Pending
- 2012-02-06 CN CN201280031645.0A patent/CN103733179A/zh active Pending
- 2012-02-06 KR KR1020137033586A patent/KR20140096995A/ko not_active Application Discontinuation
- 2012-02-06 EP EP12785993.2A patent/EP2712445A4/en not_active Withdrawn
- 2012-02-06 SG SG2013085220A patent/SG195026A1/en unknown
- 2012-02-23 TW TW101106080A patent/TW201312574A/zh unknown
-
2014
- 2014-08-04 US US14/450,324 patent/US9576614B2/en active Active
-
2017
- 2017-02-16 US US15/434,715 patent/US9881653B2/en active Active
-
2018
- 2018-01-26 US US15/880,913 patent/US10176850B2/en active Active
- 2018-12-31 US US16/237,396 patent/US20190139584A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
EP2712445A1 (en) | 2014-04-02 |
CN103733179A (zh) | 2014-04-16 |
TW201312574A (zh) | 2013-03-16 |
US20120294100A1 (en) | 2012-11-22 |
US9576614B2 (en) | 2017-02-21 |
US20170162233A1 (en) | 2017-06-08 |
US8797813B2 (en) | 2014-08-05 |
SG195026A1 (en) | 2013-12-30 |
US9881653B2 (en) | 2018-01-30 |
US20150023122A1 (en) | 2015-01-22 |
US10176850B2 (en) | 2019-01-08 |
US20190139584A1 (en) | 2019-05-09 |
WO2012158223A1 (en) | 2012-11-22 |
EP2712445A4 (en) | 2015-04-22 |
KR20140096995A (ko) | 2014-08-06 |
US20180151202A1 (en) | 2018-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10176850B2 (en) | Method and apparatus for memory power and/or area reduction | |
US11734106B2 (en) | Memory repair method and apparatus based on error code tracking | |
US8705298B2 (en) | Method and apparatus for memory fault tolerance | |
JP2008108390A (ja) | 半導体記憶装置及びそのテスト方法 | |
JP4578226B2 (ja) | 半導体メモリ | |
US10263644B1 (en) | Hybrid architecture for LDPC channel coding in data center | |
US9916196B2 (en) | Memory module with dedicated repair devices | |
US9239755B2 (en) | Semiconductor device and semiconductor system including the same | |
US20240347085A1 (en) | Receivers and semiconductor memory devices including the same | |
KR20240151341A (ko) | 수신기 및 이를 포함하는 반도체 메모리 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20140501 |