(58)【調査した分野】(Int.Cl.,DB名)
読み取り、プログラミング/書き込み、及び消去のうちの少なくとも1つの動作を、前記メモリ・アレイ上で実行するように、前記メモリ・アレイ及び前記基準アレイに信号を提供すること、
を更に含む、請求項13に記載の方法。
【発明を実施するための形態】
【0012】
[0027] 本発明の特徴及び利点は、全体を通じて同じ参照文字が対応する要素を識別している図面に関連して、以下の詳細な説明からより明らかとなろう。図面では、同じ参照番号は一般に同一の、機能的に類似した、及び/又は、構造的に類似した、要素を示す。要素が最初に表される図面は、対応する参照番号の左端の数字によって示される。
【0013】
[0028] 図面内に見られるいずれの追加の開示も例示的なものであり、図面内に示され本明細書で以下に説明されるいずれの特徴にも限定されないものであることを理解されよう。
【0014】
[0029] 本明細書は、本発明の特徴を組み込む1つ又は複数の実施形態を開示している。開示された実施形態は、本発明を単に例示したものである。本発明の範囲は、開示された実施形態に限定されない。本発明は、本明細書に添付の特許請求の範囲によって定義される。
【0015】
[0030] 説明される実施形態、及び本明細書における「一実施形態」、「実施形態」、「例示の実施形態」などの言い回しは、説明される実施形態が特定の機能、構造、又は特徴を含むことを示すが、あらゆる実施形態が必ずしも特定の機能、構造、又は特徴を含むとは限らない。更に、こうした語句は必ずしも同じ実施形態を言い表すとは限らない。更に、特定の機能、構造、又は特徴が実施形態に関連して説明される場合、明示的に説明されるか否かにかかわらず、他の実施形態に関連してこうした機能、構造、又は特徴を実施することは、当業者の知識の範囲内にあることを理解されよう。
【0016】
[0031] 本明細書で説明する例示の実施形態は例示の目的で提供され、限定的ではない。他の例示の実施形態が可能であり、本発明の趣旨及び範囲内で例示の実施形態に対する修正が実行可能である。したがって発明を実施するための形態が本発明を限定することは意図されていない。むしろ本発明の範囲は、以下の特許請求の範囲及びそれらの等価物に従ってのみ定義される。
【0017】
[0032] 以下の例示の実施形態の詳細な説明は、他者が当業者の知識を適用することによって、過度の実験なしに、本発明の趣旨及び範囲を逸脱することなく、こうした例示の実施形態の様々な適用を容易に修正及び/又は適合することが可能である、本発明の一般的な性質を完全に明らかにするものである。したがってこうした適合及び修正は、本明細書で提示される教示及び助言に基づいて、例示の実施形態の意味及び複数の等価物の範囲内にあるものと意図される。本明細書における表現又は用語は限定ではなく説明のためのものであるため、本明細書の用語又は表現は本明細書における教示に鑑みて当業者によって解釈されるものであることを理解されよう。
【0018】
[0033]
図1は、フラッシュ・メモリなどの不揮発性メモリ・アレイ内で使用される例示的なnチャネルのフローティング・ゲート電界効果トランジスタ100の断面図を示す。基板102は、典型的にはシリコン・ウェハであるがこれに限定されず、ソース/ドレイン(S/D)領域104、106のペア内に形成される。ソース104とドレイン106との間に横方向に配設される基板102のその部分は、本明細書では、チャネル領域103と呼ばれる。
【0019】
[0034]
図1を見ればわかるように、ソース104及びドレイン106は、ゲート誘電体層108、フローティング・ゲート110、誘電体層112、及びコントロール・ゲート114を含むスタックと、位置合わせされる。フローティング・ゲート110は、ゲート誘電体層108によってチャネル領域103から電気的に絶縁され、誘電体層112によってコントロール・ゲート114から電気的に絶縁される。例示の目的で、フローティング・ゲート・トランジスタ100の動作を説明する際に、S/D端子104はソース端子104であるものと指定され、S/D端子106はドレイン端子106であるものと指定される。
【0020】
[0035] フローティング・ゲート・トランジスタ100のしきい値電圧は、フローティング・ゲート110上に蓄積される電荷の量を増減させることによって修正可能である。電子は典型的には、ホット・エレクトロン注入によってフローティング・ゲート上に配置され、トンネリングによって除去される。慣例により、電子の除去は消去と呼ばれ、電子の追加はプログラミングと呼ばれる。当業者であれば、
図1が単なる例示であること、及び、図示されたフローティング・ゲート・トランジスタの機能を実装する他のデバイス構造が可能であることを、理解されよう。限定ではなく例として、コントロール・ゲートは、フローティング・ゲートの垂直側面に巻き付けることが可能であり、双方のゲートは誘電材料によって分離される。更に限定ではなく例として、誘電体層112及びコントロール・ゲート114は、それぞれ高誘電率誘電材料及び金属、金属合金、或いは金属及び/又は金属合金のスタックを含むことができる。
【0021】
[0036] 更に
図1には、電圧VS、VCG、及びVDがそれぞれソース領域104、コントロール・ゲート114、及びドレイン領域106に印加可能な、導電性端子116、118、及び120も示されている。
【0022】
[0037]
図2は、電子がフローティング・ゲート上に注入されるプログラム動作中の
図1の構造を示す。フローティング・ゲート・トランジスタ100をプログラミングするために、ゲートからソースへの電圧及びドレインからソースへの電圧がいずれも所定の正の値であるように、電圧ソースV
Sがソース端子116に印加され、電圧ソースV
CGがコントロール・ゲート118に印加され、電圧ソースV
Dがドレイン120に印加される。この例では、V
S=0V、V
CG=12V、及びV
D=12Vの値が選択されている。しかしながら当業者であれば、プログラム動作を実行するために他の電圧も選択可能であることを理解されよう。一般に、コントロール・ゲート端子118及びドレイン端子120には高い電圧(典型的には5V以上)が印加される。
【0023】
[0038] この配置構成により、ドレイン−ソース間の電界の影響の下で、ソース104とドレイン106との間のチャネル領域103内で電子が加速されることになる。加速された電子は、チャネル領域103の結晶格子内で1つ又は複数の原子と衝突した後、それらの一部が十分なエネルギーを有するようにかなりのエネルギーが満たされ、フローティング・ゲート誘電体層108を通過して、フローティング・ゲート110内に捕捉される。フローティング・ゲート110上に負の電荷量が増加すると、フローティング・ゲート・トランジスタ100のしきい値電圧を増加させ、すなわち、以下で考察するように、オンにするためにはより高いコントロール・ゲート−ソース間電圧が必要となる。
【0024】
[0039]
図3は、電子がフローティング・ゲート110からドレイン106へトンネリングする消去動作中の、
図1の構造を示す。フローティング・ゲート・トランジスタ100を消去するために、ソース端子116がフロートされ(すなわち、開回路として動作するように任意の他の電圧ソースから分離され)、所定の大きさの電圧差が得られるように、電圧ソースVCGがコントロール・ゲート端子118に印加され、電圧ソースVDがドレイン端子116に印加される。コントロール・ゲートは電子を求引せず、ドレインが電子を求引するように、電圧が印加される。この例では、VS=開、VCG=0V、及びVD=12Vの値が選択されている。しかしながら当業者であれば、消去動作を実行するために他の電圧も選択可能であることを理解されよう。一般に、ドレイン端子116には高い電圧(典型的には5V以上)が印加される。
【0025】
[0040] この配置構成により、フローティング・ゲート110上に蓄積された電子をフローティング・ゲート誘電体108を介してトンネリングさせ、それによって、フローティング・ゲート110上の負の電荷量が減少し、これがフローティング・ゲート・トランジスタ100のしきい値電圧を低下させ、すなわち、以下で考察するように、より低いコントロール・ゲート−ソース間の電圧でオンにすることができる。
【0026】
[0041]
図4は、
図1〜3に示されるようなフローティング・ゲートFET100に関する例示の電流電圧特徴400を示す。縦軸は、コントロール・ゲート端子118に印加される所与の電圧V
CGに対して、ソース電圧V
Sとドレイン電圧V
Dとの間の差異の存在下で、ソース104とドレイン106との間を流れるソース−ドレイン間電流I
SDを表す。曲線402は、フローティング・ゲート上に蓄積された電荷を有するフローティング・ゲートFET100(すなわち、フローティング・ゲートFETはプログラミングされた)に関する電流電圧特徴を表し、曲線404は、電荷がフローティング・ゲートから除去されたフローティング・ゲートFET100(すなわち、フローティング・ゲートFETは消去された)に関する電流電圧特徴を表す。
【0027】
[0042] ソース−ドレイン間電流I
SDを測定することによって、フローティング・ゲート110の荷電状態を決定することができる。したがって、2つの荷電状態を使用して論理状態0及び1を表すことができる。2つの代表的な電流406及び408は、それぞれ論理0及び論理1の状態に対応する。物理的に、フローティング・ゲート110上に蓄積される電荷はコントロール・ゲートに印加される電圧V
CGをスクリーニングするため、結果としてソースとドレインの間には、フローティング・ゲート110が消去された時に流れる電流I
1よりも少ない電流I
0が流れる。同様に、フローティング・ゲート110の荷電状態は、開回路構成内のソース−ドレイン間の電圧差(V
S−V
D)を測定することによって決定可能である。
【0028】
[0043] これまでに考察した例では、それぞれ荷電されているか又は荷電されていないフローティング・ゲート110に対応する、論理0及び論理1を表す2つの荷電状態が存在している。これらの例は、図を簡略化するために選択されたものである。当業者に知られているように、複数の荷電状態を含み得るデバイスを使用する、より一般的な論理状態も可能である。
【0029】
[0044]
図5は、それぞれソース、ドレイン、及びコントロール・ゲート接点504、506、及び508を有する、フローティング・ゲートFETを備えるメモリ・セル502の荷電状態を決定するための、例示回路500を示す。回路は、メモリ・セル502、電圧/電流基準510、及びコンパレータ512を備える。基準ソース510は、既知の電流I
ref514又は既知の電圧V
ref516をコンパレータ512に提供する。コンパレータのアクションは、ソース−ドレイン間電流I
SD518又はソース−ドレイン間電圧V
SD520と、対応する基準の電圧514又は電流516とを比較することである。基準は、測定される2つの値の間にあるように選択される。例えば電流が測定される場合、基準電流I
refは、I
0<I
ref<I
1となるように選択され、ここで
図4のように、2つの電流I
0及びI
1はそれぞれ2つの論理状態0及び1を表し、フローティング・ゲートが荷電されている(プログラミングされている)か否(消去されている)かに対応する。コンパレータの結果522は、電流又は電圧が基準よりも大きいか小さいかを決定する。
【0030】
[0045] 前述のようなメモリ・セルの状態を決定する行為は、読み取り動作と呼ばれる。一般に、メモリ・セルの読み取りに関与する電圧及び電流の大きさは、読み取り動作中にフローティング・ゲート上の電荷の追加又は削除を回避するためにメモリ・セルのプログラミング及び消去に使用される大きさよりも、かなり小さい。読み取り動作中の電圧がプログラム動作中よりも大幅に低いとしても、いくつかの電子にとっては、フローティング・ゲート誘電体108を介してフローティング・ゲート110内に注入される(
図1を参照)のに十分なエネルギーを得ることは、依然として可能である。この意図的でない電荷注入がフローティング・ゲート・トランジスタ100のしきい値電圧を増加させ、このプロセスは、いくつかの読み取り動作を介してメモリ・セルの状態を変化させるのに十分な電荷を注入することができる。この効果は、時には読み取り妨害エラーと呼ばれる。
【0031】
[0046] フラッシュ・メモリ・デバイスは、典型的にはメモリ・セルのアレイを含む。メモリ・セルのアレイ600の例が、
図6に示されている。この例では、アレイ内のフローティング・ゲート・トランジスタは、それらのコントロール・ゲート(例えば601a、601b、601cなど)が共通ノードを形成するように、相互接続される。その共通ノードはワード・ラインと呼ばれる。ワード・ラインの例は、
図6では水平線602、604、及び606として示されている。
【0032】
[0047] 各ワード・ラインは、コントロール・ゲートに電圧を印加することができる、ワード・ライン・ドライバ回路によって駆動され、その電圧の大きさは、これらのメモリ・セルがアドレス指定されているかどうか、及び、消去、プログラム、又は読み取り動作が実行されるかどうかに依存する。フラッシュ・メモリ・アレイは、典型的には多くのワード・ラインを含む。
【0033】
[0048] 同様に、フラッシュ・メモリ・アレイでは、アレイ内のフローティング・ゲート・トランジスタの一部にとって、それらのドレイン(例えば607a、607b、607cなど)が共通ノードを形成するように相互接続されることが一般的である。この共通ノードはビット・ラインと呼ばれる。例示のビット・ラインは、
図6では垂直線608、610、及び612として示されている。
【0034】
[0049] ビット・ライン・ドライバ回路はビット・ラインに電圧を印加することができ、その電圧の大きさは、ビット・ラインに接続されたメモリ・セルがアドレス指定されているかどうか、及び、消去、プログラム、又は読み取り動作が実行されるかどうかに依存する。フラッシュ・メモリ・アレイは、典型的には多くのビット・ラインを含む。
【0035】
[0050] 前述の読み取り妨害エラーと同様に、アレイ内のメモリ・セルは、ワード・ライン及びビット・ラインの妨害エラーからも損害を被る。ワード・ライン及びビット・ラインの妨害エラーは、フラッシュ・メモリ・セルの端子を横切って、すなわちフローティング・ゲート・トランジスタの端子を横切って現れる電圧が、電子をフローティング・ゲートの外に、及び典型的にはドレイン内にトンネリングさせるものであるという点で、互いに同様である。このデータ劣化現象は、選択されていないが、消去動作用に選択された1つ又は複数のメモリ・セルとワード・ライン及び/又はビット・ラインを共有する、メモリ・セル内で発生する。典型的には、こうしたエラーは様々なリフレッシュ動作を用いて訂正されなければならない。
【0036】
[0051] メモリ・アレイ600内のセルの状態は、以下のように読み取ることができる。セル614の状態を読み取るためには、例えば、セル614のゲート601dに電圧を供給するために、大きな正電圧(例えば4.8V)がワード・ライン602に印加される。次いで、接地電圧(0V)をビット・ライン616に印加することが可能であり、ドレイン電圧(例えば1.2V)をビット・ライン618に印加することが可能である。次いで、ビット・ライン618内を流れる電流を基準と比較することによって、セル614の状態が決定される。ビット・ライン及びワード・ラインの妨害エラーは、ワード・ライン602並びにビット・ライン616及び618に接続された614以外のセルで発生する可能性がある。
【0037】
[0052] メモリ・セル(例えばアレイ600内の614)は、
図5を参照しながら考察したように、そのソース−ドレイン間電流又は電圧と基準のそれとを比較することによって読み取られる。基準の電圧又は電流は、技術的及び設計的な選好に応じて、メモリ・セル或いは固定された電圧又は電流ソースから構築可能な、より小さな基準アレイ構造から発生する。各読み取りタイプ動作は、メモリ・セルを横切る異なる電界を用いて定義可能であり、微調整のためにそれ自体の基準ソースを有することができる。
【0038】
[0053]
図7は、実施形態に従った、メモリ・アレイの要素の状態を決定するための例示のシステム構成700を表す。システム700は、メモリ・アレイ702、基準アレイ704、及びコンパレータ706を含む。メモリ・アレイからのビット・ラインのうちの1つ708が電流又は電圧をコンパレータ706に提供する。基準アレイの出力のうちの1つ710が、基準の電流又は電圧をコンパレータ706に提供する。
図5を参照しながら考察したように、選択されたメモリ・セル(例えば
図6のセル614)の状態は、コンパレータの結果712によって決定可能である。
【0039】
[0054]
図8は、基準アレイ802、コンパレータ804、並びにビット・ライン808及び810に接続されたメモリ・セル806を有する、従来のシステム800の例を示す。この例では、ビット・ライン808は、基準アレイ802によって供給される基準の電流又は電圧との比較において、メモリ・セル806の状態を決定するために、コンパレータ804に接続される。基準アレイ構造内の基準ソースは、異なるタイプの読み取り動作に使用され、従来、設計段階で固定位置に割り当てられる。基準アレイ802は、基準ユニットの行及び列で構成される構造を示し、読み取り動作中、ここから電圧基準又は電流基準としていくつかのセルを使用する。各読み取りタイプ動作に使用されるこれらの基準は設計段階で固定されるため、各々が事前に割り当てられたX[i]及びY[j]復号座標を有する。以下の例で説明するように、特定の動作が選択されるごとに同じ基準セルが選択される。
【0040】
[0055] 基準セルの選択がいくつかの動作モードについて示されている。この例では、第1の動作モード(Mode_1)について、制御信号X[0]、Y[0]、及びY[4]を適用することによって、基準セル812(cell_0)及び814(cell_4)が選択される。セル812及び814からの出力は、コンパレータ804に供給される出力信号816として電流又は電圧を提供するために組み合わされる。この例では、回路818は基準セル812及び814からの出力を組み合わせ、トランジスタ820に提供される制御信号によってオンに切り替えられる。
【0041】
[0056] 他の例では、第2の動作モード(Mode_2)が示されている。この例では、単一の基準セル822(cell_18)が基準ソースとして使用される。これは、基準セル822を実行可能にするために制御信号X[1]、Y[6]を適用することによって選択される。回路824は、出力信号816としてセル822からコンパレータへ出力を提供する。この例では、回路824は、制御信号によってオンに切り替えられるトランジスタ826を含む。
【0042】
[0057] 他の例では、第3の動作モード(Mode_3)が示されている。この例では、単一の基準セル828(cell_35)が基準ソースとして使用される。これは、基準セル828を実行可能にするために制御信号X[2]、Y[11]を適用することによって選択される。回路830は、出力信号816としてセル828からコンパレータへ出力を提供する。この例では、回路830は、制御信号によってオンに切り替えられるトランジスタ832を含む。
【0043】
[0058] システム800などの従来の設計には関連付けられた欠陥が存在する。前述のように、所与の動作(例えばMode_1、Mode_2など)に使用される基準は設計段階で固定されるため、事前に割り当てられたX[i]、Y[j]復号座標を有する。しかしながら一般に、歩留り損失及び性能低下につながる製造関連欠陥又は所与の事前に割り当てられたセルの非理想的挙動により、すべての基準セルが所望通りに実行する訳ではない。
【0044】
[0059]
図9は、実施形態に従った、望ましい「理想的な」応答を有する基準セルに対する電流電圧関係900を示す。縦軸902は、ソース−ドレイン間電流I
SDに対する、横軸904によって表されるコントロール・ゲートに印加される電圧V
CGをプロットする。典型的なターゲット電圧910から生じる典型的なターゲット電流906も示される。電圧に関する典型的な動作領域914から生じる、電流に関する典型的なターゲット動作領域912も示される。
【0045】
[0060]
図10は、理想的基準セルに関する電流電圧関係900(鎖曲線)と、非理想的基準セルに関する電流電圧関係1002(実曲線)との間の比較1000を表す。縦軸1004は、ソース−ドレイン間電流I
SDに対する、横軸1006によって表されるコントロール・ゲートに印加される電圧V
CGをプロットする。非理想的セルに関する典型的なターゲット電圧1010から生じる典型的なターゲット電流1008は、2つのセルについて同等であるが、印加される電圧の所与の領域1014についての非理想的基準セルに関する動作領域1012は、非理想的セルについて理想的セルに関するそれ912よりも大きい。
【0046】
[0061] 製造欠陥及び非理想的セル挙動に関連付けられた問題を克服するために、フレキシブル(プログラマブル)基準セル選択を提供する実施形態が開示される。フレキシブル基準セル選択の概念が、デバイス性能を向上させ、製造関連歩留り損失を低減させるために導入される。開示された実施形態は、シリコンが受け取られた後に基準構造内のアクセス可能位置のいずれかから選択(プログラマブル選択)するのに十分フレキシブルな、復号スキームを実装する。
【0047】
[0062]
図11は、フレキシブルな基準セル選択が実装されるシステム1100を示す。このシステムは、フレキシブル基準アレイ1102、コンパレータ1104、並びに、ビット・ライン1108及び1110に接続された少なくとも1つのメモリ・セル1106を含む。この例では、ビット・ライン1108がコンパレータ1104に接続され、基準アレイ1102によって供給される基準の電流又は電圧との比較において、メモリ・セル1106の状態を決定するために、コンパレータ1104への入力としてメモリ・セル1106から出力を提供する。基準信号は、トランジスタ1116によってオンに切り替え可能な回路1114を介して、基準アレイ1102から供給される。基準アレイ構造内の基準ソースは、異なるタイプの読み取り動作に対して使用される。基準アレイ1102は、基準ユニットの行及び列で構成される構造1103を示し、読み取り動作中、ここから電圧基準又は電流基準としていくつかのセルが使用される。
【0048】
[0063] システム1100は、様々な入力に基づいて様々な動作に必要なものとして1つ又は複数の基準セルを選択するために、制御信号X[i]及びY[j]を基準アレイ1103に提供する、フレキシブル・デコーダ1112を含む。実施形態において、フレキシブル・デコーダ1112は状態マシン及び/又はマイクロプロセッサと共に実装することができる。可能な入力は、例えばレジスタ設定1118、モード信号1120、温度情報1122、供給電圧情報1124、メモリ・サイクリング情報1126などを変更できる、任意の環境条件を含む。
【0049】
[0064] システム1100は、電圧又は電流を入力として提供する基準セルに関連して説明しているが、本発明はその例示の実施形態に限定されない。当業者であれば、本明細書で提供される教示に基づいて、システム1100が、センサ・データ、光、又は任意の他のタイプの出力信号を含むがこれらに限定されない出力を提供する、任意のタイプの選択可能セルのアレイを含み得ることを理解されよう。
【0050】
[0065]
図12は、様々な実施形態に従った、フレキシブルなセル選択が実装される一般的なシステム1200のブロック図を示す。
図11のシステム1100はより一般的なシステム1200の特定の例である。
【0051】
[0066] システム1200は、相互接続された基準ソースのアレイ1202、フレキシブル・デコーダ1214を含む。実施形態において、フレキシブル・デコーダ1214は、プログラム命令を記憶している持続性記憶媒体1204及びプロセッサ1206を含む。アレイ1202は、アレイ1202への選択信号1208を介して選択可能な複数のセルと共に構成される。選択信号1208の形式は、アレイ1202内のセルのタイプに依存する。例えばアレイ1202は、電流又は電圧の形で出力を提供するように構成された、基準ソースのアレイとすることができる。こうしたケースでは、選択信号1208は電流又は電圧であってよい。しかしながら実施形態によれば、アレイ1202は、センサ・データの形で出力を提供するセンサのアレイとすることができる。こうしたケースでは、選択信号1208は電気信号であってよい。実施形態において、アレイ1202は光の形で出力を提供する光ソースのアレイとすることができる。こうしたケースでは、選択信号1208は光信号であってよい。アレイ1202は、入力として選択信号1208を受信するように、及び対応する出力1210を提供するように、構成される。プロセッサ1206は、入力データ又は入力信号1212を受信し、入力データ又は入力信号1212に基づいて選択信号1208を生成し、選択信号1208を相互接続された基準ソースのアレイ1202に提供するために、記憶媒体1204上に記憶されたプログラム命令を実行するように構成される。次いで、選択信号1208は、アレイ1202にセルを選択させ、選択されたセルにそのそれぞれの出力を出力1210として提供させる。持続性記憶媒体1204は、プロセッサ1206及びアレイ1202の挙動がシステム1200の所望の挙動に従って変更可能であるように、再構成可能及びプログラム可能である。
【0052】
[0067] システム1100及び1200などの実施形態は、前述の問題に対する信頼できるソリューションを表す。追加のシステムの複雑さは最小限であり、既存の設計の再利用度は高い。シリコンが受け取られた後に、異なる検索アルゴリズムを実装することにより、技術的要件及び試験時間配分に基づいて、各読み取りタイプ動作に対する基準ユニットの選択を最適化することができる。
【0053】
[0068]
図11及び12のシステム1100及び1200は、それぞれ、基準セル選択に関してフレキシブル/プログラマブルであるように構成及び配置される。各読み取りタイプ動作について最良の基準ユニットを選択するために、基準構造をスキャンするためのいくつかの異なるアルゴリズムが実装可能である。設計で、任意のアクティブ動作に対して必要なすべての基準セルに関するデフォルト位置を割り当てることができる。しかしながら、いったん特徴付けられると、基準構造内での位置依存性により、選択される動作に関していくつかのセルは他のセルよりも良好に動作する可能性がある。本明細書で開示されるプログラマブルな、したがってフレキシブルな復号方法は、各読み取りタイプ動作にとって最良のセルを選択及び専用化することができる。この概念が、各メモリ・デバイスに対して非常に強力な基準微調整のツールを提供する。したがって、V
t分散の標準偏差は、大規模なサンプル・スペース間でより緊密になり、これがデバイス性能に直接影響を与える。
【0054】
[0069]
図13に示される例1300は、1100又は1200などのシステムを使用する基準セル選択に対する、フレキシブルなプログラミング手法の使用を示す。ある読み取り動作に対して事前に定義されたあるデフォルトの基準セルを伴う基準アレイ1302を、製造業者から受け取ると想定してみる。様々な実施形態は、所期の目的に好適であるかどうかを判別するために様々なセルをテストする機能を提供する。これらのセルが予測通りに実行しない場合、1100及び1200などの実施形態は、様々な動作に必要とされる最良のセルを選択するように、基準セル・アレイを再プログラミングする方法を提供する。
【0055】
[0070] 例えば、(
図13の基準アレイ1302内の)cell_0が、製造業者によって「Mode_1」読み取り動作に対する基準セルとして設定されたと想定してみる。したがってこのセルは、フレキシブル・デコーダ1112(
図11を参照のこと)内に記憶されたX[0]、Y[0]の復号座標を有することになる。しかしながらcell_0は、特徴付けられた後、予測通りに挙動しないことが判明する場合がある。例えば、
図10の曲線1002などの非理想的電流電圧関係を有するか、或いは、短絡として挙動する、又は何らかの他のタイプの欠陥を呈する可能性がある。この場合、この動作に対してデフォルトの基準セルを再定義することが望ましい。例えば特徴付けの後、cell_13が「Mode_1」読み取り動作に好適な望ましい特性を有するものと発見されると想定してみる。1100又は1200などのシステムを使用して、フレキシブル・デコーダ1112を適切にプログラミングすることにより、「Mode_1」基準セルを復号座標X[1]、Y[1]を有するcell_13として再割り当てすることが可能である。
【0056】
[0071] この同じ例について、「Mode_2」動作に対するデフォルトの基準セルが、(
図13の)復号座標X[0]、Y[11]を有するcell_11であると想定し、更に、特徴付けの後、このセルが予測通りに挙動しないことを想定してみる。次に、cell_35が所期の「Mode_2」動作に対して好適な特徴を有するものと発見されると想定してみる。1100又は1200などのシステムを使用して、(
図11の)フレキシブル・デコーダ1112を適切にプログラミングすることにより、「Mode_2」基準セルを復号座標X[2]、Y[11]を有するcell_35として再割り当てすることが可能である。上記の例は、1100又は1200などのシステムを使用する、フレキシブルな基準セル選択の一般的な原理を示している。当業者であれば、他の例が容易に明らかとなろう。
【0057】
[0072]
図14は、実施形態に従った、フレキシブル基準アレイのプログラミングの一般的な方法1400を示すフローチャートである。
図13に関して上記で与えられた例は、
図14に示される一般的な方法の特定の例である。
【0058】
[0073] 方法1400のブロック1410で、入力が受信される。例えば入力は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって受信され得る。入力は、方法1400の特定の実装に応じて、様々な形で受信され得、例えば入力は信号又はデータとして受信され得る。入力は、変更可能な任意の環境条件を含むことができる。例えば入力は、レジスタ設定、モード信号、温度情報、供給電圧情報、メモリ・サイクリング情報、又は、基準ソースの適切な選択に役立ち得る任意の他のタイプの情報を含むことができるが、これらに限定されない。
【0059】
[0074] ブロック1420で、入力及び相互接続された基準ソースの基準アレイの1つ又は複数の特徴に基づいて、選択信号が生成される。実施形態において、選択信号は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって生成され得る。選択信号を使用して、基準アレイの1つ又は複数のセルを選択することができる。次いで、基準アレイのセル(すなわち基準ソース)を使用して、特定の基準の電圧又は電流を出力することができる。実施形態において、選択信号は、
図12の記憶媒体1204などの記憶媒体上に記憶された命令に基づいて、
図12のプロセッサ1206などのプロセッサによって、更に生成され得る。特に、選択信号は、相互接続された基準ソースのアレイの決定された特徴に基づいて生成され得る。例えば、相互接続された基準ソースのアレイ内のいくつかのセルが、他のセルよりも良好に実行する場合がある。こうしたケースでは、選択信号は、性能の低い他のセルよりも性能の良好なセルを優先するように生成され得る。他のケースでは、アレイ内のいくつかのセルが(例えば欠陥によって)損傷する可能性があり、選択信号はこれらのセルを選択しないように生成され得る。
【0060】
[0075] ブロック1430で、選択信号は基準アレイに提供される。実施形態に従って、信号は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって、基準アレイに提供することができる。
図12の基準アレイ1202などの基準アレイに選択信号が提供されると、基準アレイ内の基準ソースを選択することができる。次いで、基準ソースは、基準アレイから特定の基準電圧又は基準電流を出力することができる。次いで、実施形態において、基準アレイからの基準出力を使用して、
図11のメモリ・セル1106などのメモリ・アレイ又はセル上で、様々な動作を実行することができる。特に、基準出力を使用して、読み取り、プログラミング/書き込み、及び消去を含むがこれらに限定されない、動作を実行することができる。
【0061】
[0076] ブロック1440で、入力とそれらのそれぞれの出力電流又は電圧との間の関係を決定するために、複数の入力について受信1410、生成1420、及び提供1430が反復される。例えば前述のように、基準アレイ内のいくつかのセルに欠陥があるか、又は何らかの環境(例えばロケーション依存性)の下で他のセルよりも良好に実行する場合がある。こうしたケースでは、入力に基づいて出力が望ましくない可能性があるため、選択された基準ソースを特定入力用に調整することが必要とされる場合がある。
【0062】
[0077] ブロック1450で、複数の入力とそれらのそれぞれの出力電流又は電圧との間の関係を変更するために、選択信号の生成を変更することができる。特定の入力に対する出力が望ましくないと決定された場合、フレキシブル・デコーダ1214などのフレキシブル・デコーダを、入力に基づいて異なる選択信号を生成するように構成することができる。実施形態において、フレキシブル・デコーダは、
図12のプロセッサ1206及び記憶媒体1204などのプロセッサ及び命令を記憶する記憶媒体を使用して実装することができる。こうしたケースでは、出力をそれらそれぞれの入力に基づいて調整する必要がある場合、異なる選択信号を生成させるように命令を修正することができる。
【0063】
[0078]
図15は、様々な実施形態に従った、基準の電流又は電圧を生成するために、フレキシブル基準アレイがプログラミングされた後にこれを使用する一般方法1500を示すフローチャートである。
【0064】
[0079] 方法1500のブロック1510で、入力が受信される。例えば入力は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって受信され得る。入力は、方法1500の特定の実装に応じて、様々な形で受信され得、例えば入力は信号又はデータとして受信され得る。入力は、変更可能な任意の環境条件を含む。例えば入力は、レジスタ設定、モード信号、温度情報、供給電圧情報、メモリ・サイクリング情報、又は、基準ソースの適切な選択に役立ち得る任意の他のタイプの情報を含むことができるが、これらに限定されない。
【0065】
[0080] ブロック1520で、入力及び相互接続された基準ソースの基準アレイの1つ又は複数の特徴に基づいて、選択信号が生成される。実施形態に従って、選択信号は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって生成され得る。選択信号を使用して、基準アレイの1つ又は複数のセルを選択することができる。次いで、基準アレイのセル(すなわち基準ソース)を使用して、特定の基準の電圧又は電流を出力することができる。実施形態において、選択信号は、
図12の記憶媒体1204などの記憶媒体上に記憶された命令に基づいて、
図12のプロセッサ1206などのプロセッサによって、更に生成され得る。特に、選択信号は、相互接続された基準ソースのアレイの決定された特徴に基づいて生成され得る。例えば、相互接続された基準ソースのアレイ内のいくつかのセルが、他のセルよりも良好に実行する場合がある。こうしたケースでは、選択信号は、性能の低い他のセルよりも性能の良好なセルを優先するように生成され得る。他のケースでは、アレイ内のいくつかのセルが(例えば欠陥によって)損傷する可能性があり、選択信号はこれらのセルを選択しないように生成され得る。
【0066】
[0081] ブロック1530で、選択信号は基準アレイに提供される。実施形態に従って、信号は、
図12のフレキシブル・デコーダ1214などのフレキシブル・デコーダによって、基準アレイに提供することができる。
図12の基準アレイ1202などの基準アレイに選択信号が提供されると、基準アレイ内の基準ソースを選択することができる。次いで、基準ソースは、基準アレイから特定の基準電圧又は基準電流を出力することができる。次いで、実施形態において、基準アレイからの基準出力を使用して、
図11のメモリ・セル1106などのメモリ・アレイ又はセル上で、様々な動作を実行することができる。特に、基準出力を使用して、読み取り、プログラミング/書き込み、及び消去を含むがこれらに限定されない、動作を実行することができる。
【0067】
[0082] 方法1500は、出力として電圧又は電流を提供する基準セルを参照しながら説明しているが、本発明はその例示の実施形態に限定されない。当業者であれば、本明細書に提供される教示に基づいて、方法1500が、センサ・データ、光、又は任意の他のタイプの出力信号を含むがこれらに限定されない出力を提供する、任意のタイプの選択可能セルのアレイを含み得ることを理解されよう。
【0068】
[0083] 本発明の様々な態様は、ソフトウェア、ファームウェア、ハードウェア、又はそれらの組み合わせによって実装可能である。
図16は、本発明の実施形態又はその一部がコンピュータ可読コードとして実装可能な、例示のコンピュータ・システム1600を示す。例えば、
図14の1400及び
図15の1500のフローチャートによって示される方法は、システム1600で実装可能である。本発明の様々な実施形態は、この例示のコンピュータ・システム1600に関して説明されている。当業者がこの説明を読めば、他のコンピュータ・システム及び/又はコンピュータ・アーキテクチャを使用してどのように本発明の実施形態を実施するかが明らかとなろう。
【0069】
[0084] コンピュータ・システム1600は、プロセッサ1604などの1つ又は複数プロセッサを含む。プロセッサ1604は、特定用途向け又は汎用のプロセッサとすることができる。プロセッサ1604は通信インフラストラクチャ1606(例えばバス又はネットワーク)に接続される。
【0070】
[0085] コンピュータ・システム1600はメイン・メモリ1608、好ましくはランダム・アクセス・メモリ(RAM)も含み、2次メモリ1610も含むことができる。2次メモリ1610は、例えばハード・ディスク・ドライブ1612、取り外し可能記憶ドライブ1614、及び/又はメモリ・スティックを含むことができる。取り外し可能記憶ドライブ1614は、フロッピィ・ディスク・ドライブ、磁気テープ・ドライブ、光ディスク・ドライブ、フラッシュ・メモリなどを含むことができる。取り外し可能記憶ドライブ1614は、既知の方法で、取り外し可能記憶ユニット1618からの読み取り及び/又は取り外し可能記憶ユニット1618への書き込みを行う。取り外し可能記憶ユニット1618は、取り外し可能記憶ドライブ1614によって読み取り及び書き込みが行われる、フロッピィ・ディスク、磁気テープ、光ディスクなどを含むことができる。当業者であれば理解されるように、取り外し可能記憶ユニット1618は、内部にコンピュータ・ソフトウェア及び/又はデータが記憶されたコンピュータ使用可能記憶媒体を含む。
【0071】
[0086] 代替の実装では、2次メモリ1610は、コンピュータ・プログラム又は他の命令をコンピュータ・システム1600内にロードすることが可能な他の同様の手段を含むことができる。こうした手段は、例えば取り外し可能記憶ユニット1622及びインターフェース1620を含むことができる。こうした手段の例は、(ビデオ・ゲーム・デバイスで見られる)プログラム・カートリッジ及びカートリッジ・インターフェース、取り外し可能メモリ・チップ(EPROM又はPROMなど)及び関連するソケット、並びに、取り外し可能記憶ユニット1622からコンピュータ・システム1600にソフトウェア及びデータを転送することが可能な他の取り外し可能記憶ユニット1622及びインターフェース1620を、含むことができる。
【0072】
[0087] コンピュータ・システム1600は、通信インターフェース1624を含むこともできる。通信インターフェース1624は、コンピュータ・システム1600と外部デバイスとの間でソフトウェア及びデータを転送することができる。通信インターフェース1624は、モデム、ネットワーク・インターフェース(イーサネット・カードなど)、通信ポート、PCMCIAスロット及びカードなどを含むことができる。通信インターフェース1624を介して転送されるソフトウェア及びデータは、通信インターフェース1624による受信が可能な、電子、電磁、光、又はその他の信号であり得る信号形態である。これらの信号は、通信経路1626を介して通信インターフェース1624に提供される。通信経路1626は信号を搬送し、ワイヤ又はケーブル、光ファイバ、電話線、携帯電話リンク、RFリンク、又は他の通信チャネルを使用して実装可能である。
【0073】
[0088] 本書において、「コンピュータ・プログラム媒体」及び「コンピュータ使用可能媒体」という用語は、一般に、取り外し可能記憶ユニット1618、取り外し可能記憶ユニット1622、及びハード・ディスク・ドライブ1612にインストールされたハード・ディスクなどの、媒体を言い表すために使用される。通信経路1626を介して搬送される信号は、本明細書で説明する論理も具備することができる。コンピュータ・プログラム媒体及びコンピュータ使用可能媒体は、メモリ半導体(例えばDRAMなど)とすることが可能な、メイン・メモリ1608及び2次メモリ1610などのメモリを指すこともできる。これらのコンピュータ・プログラム製品は、ソフトウェアをコンピュータ・システム1600に提供するための手段である。
【0074】
[0089] コンピュータ・プログラム(コンピュータ制御論理とも呼ばれる)は、メイン・メモリ1608及び/又は2次メモリ1610に記憶される。コンピュータ・プログラムは、通信インターフェース1624を介しても受信可能である。こうしたコンピュータ・プログラムは、実行された時に、本明細書で考察するようにコンピュータ・システム1600が本発明を実装できるようにするものである。特にコンピュータ・プログラムは、実行された時に、前述の
図2の200及び
図3の300のフローチャートによって示される方法のステップなどの本発明のプロセスを、プロセッサ1604が実装できるようにするものである。したがってこうしたコンピュータ・プログラムは、コンピュータ・システム1600のコントローラを表す。本発明がソフトウェアを使用して実装される場合、ソフトウェアはコンピュータ・プログラム製品内に記憶し、取り外し可能記憶ドライブ1614、インターフェース1620、ハード・ドライブ1612、又は通信インターフェース1624を使用して、コンピュータ・システム1600にロードすることができる。
【0075】
[0090] 本発明の実施形態は、任意のコンピュータ使用可能媒体上に記憶されたソフトウェアを含むコンピュータ・プログラム製品も対象とする。こうしたソフトウェアは、1つ又は複数のデータ処理デバイス内で実行された時に、本明細書で説明するようにデータ処理デバイスを動作させる。本発明の実施形態は、現在知られているか又は将来の任意のコンピュータ使用可能又は可読媒体を使用する。コンピュータ使用可能媒体の例は、1次記憶デバイス(例えば任意のタイプのランダム・アクセス・メモリ)、2次記憶デバイス(例えばハード・ドライブ、フロッピィ・ディスク、CD ROM、ZIPディスク、テープ、磁気記憶デバイス、光記憶デバイス、MEM、ナノテクノロジー記憶デバイスなど)、及び通信媒体(例えば、ワイヤード及びワイヤレスの通信ネットワーク、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、イントラネットなど)を含むが、これらに限定されない。
【0076】
[0091] 発明を実施するための形態のセクションは、特許請求の範囲を解釈するために使用されることを意図しているが、発明の概要及び要約書のセクションはこれを意図していない。発明の概要及び要約書のセクションは、発明者等によって企図される本発明の例示の実施形態のうちのすべてではなく1つ又は複数を示している可能性があるため、本発明及び添付の特許請求の範囲を限定することは決して意図していない。
【0077】
[0092] 以上、本発明の実施形態について、指定された機能の実装及びそれらの関係を示す機能構築ブロックを用いて説明してきた。これらの機能構築ブロックの境界は、説明の便宜上、自由裁量で画定されたものである。指定された機能及びそれらの関係が適切に実行される限り、代替の境界を画定することができる。
【0078】
[0093] 特定の実施形態の前述の説明は、他者が当技術分野内の知識を適用することによって、過度の実験なしに、本発明の一般的な概念を逸脱することなく、こうした特定の実施形態の様々な適用を容易に修正及び/又は適合することが可能な、本発明の一般的な性質を完全に明らかにするものである。したがってこうした適合及び修正は、本明細書で提示される教示及び助言に基づいて、開示された実施形態の意味及び等価物の範囲内にあるものと意図される。本明細書における表現又は用語は限定ではなく説明のためのものであるため、本明細書の用語又は表現は教示及び助言に鑑みて当業者によって解釈されるものであることを理解されよう。
【0079】
[0094] 本発明の幅及び範囲は、前述の例示の実施形態のいずれによっても限定されるべきではなく、以下の特許請求の範囲及びそれらの等価物に従ってのみ定義されるべきである。