(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
本発明は情報を格納するか、或いはスタティックランダムアクセスメモリ(static random access memory;SRAM)、ダイナミックランダムアクセスメモリ(dynamic random access memory;DRAM)、フラッシュメモリ(flash memory)、相変化ランダムアクセスメモリ(phase−change random access memory;PCRAM)、スピン変換トルクランダムアクセスメモリ(spin−transfer torque random access memory;STT−RAM)、磁気ランダムアクセスメモリ(magnetic random access memory;MRAM)、抵抗ランダムアクセスメモリ(resistive random access memory;RRAM(登録商標))、及び次世代メモリ装置(future memory device)を含むメモリ集積回路(memory integrated circuits)から情報を検索するためのメモリシステムと関連される。
【0003】
本明細書で説明される発明は蓋然論に基づいたタイプの特性(probabilistic−type characteristic)及び相対的に高いエラー率を有するSTT−RAM、MRAM及びRRAM(登録商標)のようなメモリに特に適合である。
【0004】
半導体メモリ装置はデータを格納するための電気的システムに広く使用されて来た。半導体メモリには一般的に2つのタイプ、不揮発性及び揮発性メモリがある。SRAM(Static Random Access Memory)又は DRAM(Dynamic Random Access Memory)のような揮発性メモリ装置は電源が切られれば、データを失う。しかし、フラッシュメモリ、イレーザブルプログラマブルリードオンリメモリ(erasable programmable read only memory;EPROM)又は磁気ランダムアクセスメモリ(magnetic random access memory;MRAM)のような不揮発性メモリ装置は電源が切られてもデータを維持する。したがって、電源故障又は停電が許容されないところで、データを格納するために不揮発性メモリ装置が使用される。
【0005】
図1A乃至
図1Dはスピン変換トルク(spin transfer torque;STT)MRAMセルに使用される磁気トンネル接合(magnetic tunnel junction;MTJ)10の断面図である。
図1A乃至
図1Dを参照して、MTJ10が基準層(reference layer)12、トンネルリング層(tunneling layer)14、及び自由層(free layer)16を包含するように図示される。基準層12及び自由層16は強磁性層であり得る。反面に、トンネルリング層14は非磁性層であり得る。基準層120の磁化の方向は製造過程で固定され、したがって、STT−RAMメモリ装置の動作の時に変わらない。しかし、自由層16の磁化の方向は動作の時にMTJ構造を通じて必要である強さの電流が流れるようにすることによって変えられる。
【0006】
図1Aで、基準層12及び自由層16は同一の磁化の方向、例えば平行な磁気状態方向を有するように図示される。
図1Bで、基準層12及び自由層16は反対の磁化方向、例えば、反平行(anti−parallel)状態を有するように図示される。
図1Cで、基準層12及び自由層16は自由層16とトンネルリング層14とが接する面と垂直である磁化方向である、同一な磁化方向(平行状態)を有するように図示される。
図1Dで、基準層12及び自由層14は、磁化方向が自由層16とトンネルリング層14が接する面と垂直である、反対の磁化方向(反平行状態)を有するように図示される。
【0007】
図1A及び
図1Cに図示されたような平行状態から
図1B及び
図1Dに図示されたような反並行状態に転換させるために、基準層12の電圧ポテンシャル(voltage potential)が自由層16の電圧ポテンシャルに比べて増加される。この電圧差はそれらの角度モメンタム(angular momentum)及び自由層16の磁化方向を反平行(anti−parallel)状態に変換させる、自由層16から基準層12にスピン偏極化された電子の流れ(spin polarized electrons flowing)を起こす。反平行状態から平行状態に変換させるために、基準層16の電圧ポテンシャルは基準層12の電圧ポテンシャルに比べて増加される。この電圧差はそれらの角度モメンタム及び自由層16の磁化方向を平行状態に変換させる、基準層12から自由層16にスピン偏極化された電子の流れを起こす。
【0008】
平行状態から非平行(non−parallel)状態に又はその反対に転換させるために、MTJ10へ印加される電圧及びMTJを通過する対応する電流の流れは各々閾値値の各々の対より大きくなければならない。スイッチングを発生させるために閾値電圧を超過しなければならない電圧をスイッチング電圧(switching voltage)Vcと称する。同様に、スイッチングを発生させるために閾値電流を超過しなければならない電流をスイッチング電流(switching current)Icと称する。
【0009】
広く公知されたように、自由層16及び基準層12は同一な磁化方向(例えば、平行方向)を有し、MTJ10は相対的に小さい抵抗を有する。反対に、自由層16及び基準層12が反対の磁化方向(例えば、反平行状態)を有する時、MTJ10は相対的に大きい抵抗を有する。抵抗値において、この差はMTJ10がメモリ格納装置として行動できる能力を提供する。MTJ10の物理的な属性によって、MTJが平行状態から反平行状態に変わるように要求する臨界電流はしばしばMTJが反平行状態から平行状態に変わるように要求する臨界電流よりさらに大きくなり得る。
【0010】
図2AはSTT−MRAMタイプのメモリセル及び関連された選択トランジスター20が会って形成するSTT−MRAMセル30で多様な抵抗を形成するMTJ10を示す。MTJ10は基準又は被固定層(reference or pinned layer)12、自由層(free layer)16及び基準層(reference layer)12と自由層(free layer)16との間に配置されたトンネルリング層(tunneling layer)14を含む。トランジスター20はPMOSトランジスターに比べて、それの本質的に高い電流駆動、低い閾値電圧、及び少ない面積のため、NMOSトランジスターであり得る。MRAM30に“1”を記録するのに使用される電流は“0”を記録するのに使用される電流と異なり得る。この2つの状態の間に電流の流れの方向の非対称性はトランジスター20のゲート−ソース電圧において、非対称性によって誘発される。
【0011】
以下、MRAMセルはそれの連関されたMTJの自由層及び基準層が平行(P)状態、例えば、MTJが低い抵抗状態にある時、論理“0”タッチ状態であることと定義される。反対に、MRAMセルはそれの連関されたMTJの自由層及び基準層が反平行(AP)状態、例えば、MTJが高い抵抗状態にある時、論理“1”タッチ状態であることと定義される。他の実施形態で、MRAMセルはAP状態にある時、論理“0”タッチ状態であることと定義され、P状態にある時、論理“1”タッチ状態であることと定義されることもあり得る。その上に、MTJ10の基準層は
図2Aに示したようにそれの関連された選択トランジスターと接していることと仮定する。
【0012】
したがって、前記説明されたように、矢印35方向(例えば、上方向)の電流流れは(i)P状態からAP状態に変化を誘発して“1”を記録するか、又は(ii)以前に形成された関連されたMTJのAP状態を安定化させることができる。類似に、矢印40方向(例えば、下方方向)の電流流れは(i)AP状態からP状態に変化を誘発して“0”を記録するか、また(ii)以前に形成された関連されたMTJのP状態を安定化させることができる。しかし、他の実施形態で、MTJの自由層がそれの関連されたトランジスターと接しているようにこの方向が反対になっていることは容易に理解できる。そのような実施形態で(図示せず)、矢印35方向(例えば、上方向)の電流流れは(i)AP状態からP状態に変化を誘発するか、又は(ii)以前に形成された関連されたMTJのP状態を安定化させることができる。類似に、矢印40方向(例えば、下方方向)の電流流れは(i)P状態からAP状態に変化を誘発するか、又は(ii)以前に形成された関連されたMTJのAP状態を安定化させることができる。
【0013】
図2Bは
図2AのMRAM30を示した回路図であり、それ内に格納されたデータに依存して抵抗が変わる格納素子がMRAM内に図示された。MTJ10はそれの状態を(i)電流が矢印35方向へ流れる時、PからAPに変化させるか、(ii)電流が矢印40方向に流れる時に、APからPに変化させ得る。
【0014】
反対に、MTJ10をAP状態からP状態に転換させるのに必要である電圧は臨界スイッチング電圧(critical switching voltage)V
c0を超過しなければならない。この電圧に対応する電流は臨界又はスイッチング電流(critical or switching current)I
cOと称する。特定な臨界値V
c0及び関連された臨界スイッチング電流I
c0が多様な方法で定義されることができる反面、そのような値は特定な時間内にメモリセルの50%スイッチング確率に基づいて選択され得る。言い換えれば、臨界スイッチング電流Ic0は選択されるか、或いはそうではなければ、MTJ10のデザインに基づいて、又は特定な閾値V
c0又はスイッチング電流I
c0でのスイッチングの可能性に測定値に基づいて判断され得る。閾値臨界スイッチング電流I
c0が満足される時、格納されたメモリビットが値(例えば、“1”から“0”に又は“1”から“0”に)を変化させる確率は50%であり得る。標準信頼性予想(standard reliability expectation)を充足させるのに適合するように許容できるエラー比率でスイッチングが発生することを保障するためにオーバードライブ電流(overdrive current)が印加され得る。このオーバードライブ電流又はスイッチング電流I
swはI
c0値の1.3倍、1.5倍、2倍、又は2倍以上であり得る。例えば、仮にMTJ装置のためのIc0が20ナノ秒記録パルス幅(write pulse width)で7μAであれば、MTJの状態を信頼できるように転換させるのに使用されるI
swは11μAであるか、或いはそれよりさらに大きくなり得る。
【0015】
所定の場合に、“安全な(safe)”書込み電流(例えば、記録エラー比率が10の−9自乗より小さい場合)は特定な時間(例えば、10ナノ秒)の間に、臨界スイッチング電流Ic0の1.5倍乃至2倍であり得る。メモリセルからビット値を読み出すために、相対的に“安全な”書込み電流が(例えば、読み出しエラー比率が10の−9自乗より小さい時)適用され得る。例えば、“安全な”読出し電流は臨界スイッチング電流Ic0の0.2倍(即ち、20%)であり得る。他の例で、もし臨界スイッチング電流I
c0が6μAであれば、ノーマル動作モード(normal operation mode)下での書込み電流は少なくとも12μAであるか、或いは略そのぐらいの値であり、ノーマル動作モード下での読出し電流は1.2μAであるか、或いは略そのぐらいの値であり得る。このような方法で、ノーマル読出し条件下で適切にスイッチングするメモリセルの確率は非常に高い(所定の場合では概ね100%)。類似に、ノーマル読出し条件下でメモリセルの値を偶然にスイッチングする確率は非常に低いことがあり得る(所定の場合では概ね0)。
【0016】
一度、AP状態になれば、印加された電圧を除去することはMTJ10に影響を及ばない。類似に、ノーマル動作モード下でAP状態からP状態に転換させるために、少なくとも負の電圧V
c0が、少なくともスイッチング電流I
c0の電圧レベルが反対方向にあるメモリセルを通じて流れることができるように印加される。一度、P状態になれば、印加された電圧を除去することはMTJ10の状態に影響を及ばない。
【0017】
言い換えれば、MTJ10は反平行状態(即ち、高い抵抗状態、又は論理“1”状態)から平行状態(即ち、低い抵抗状態、又は論理“0”状態)に転換できる。MTJ10が初期に論理“1”又はAP状態にあると仮定すれば、“0”を格納するために、ノーマル動作モード下で少なくとも臨界電流I
c0より大きい電流が矢印40方向にトランジスター20を通じて流れることができるように誘導される。これを実現するために、トランジスター20のソースノード(SL又はソースライン)が抵抗性通路(resistive path)(図示せず)を通じてグラウンドポテンシャル(ground potential)にカップル(couple)され、正の電圧がトランジスター20のゲートノード(WL又はワードライン)へ印加され、そして正の電圧がトランジスター20のドレーンノード(BL又はビットライン)へ印加され得る。
【0018】
先に説明されたように、MTJ10は“1”を格納するために平行状態から反平行状態に転換されることができる。MTJ10が初期に論理“0”又はP状態にあると仮定すれば、“1”を格納するために、ノーマル動作モード下で少なくとも臨界電流Ic0より大きい電流が矢印35方向にトランジスター20を通じて流れることができるように誘導される。これを実現するために、正の電圧が抵抗性通路(図示せず)を通じてノードSLへ印加され、正の電圧がノードWLへ印加され、そしてノードBLは抵抗性通路(図示せず)を通じてグラウンドポテンシャルに連結される。
【0019】
図3は多様な書込みサイクルの間にMTJ状態(又はそれの抵抗)での変化を示す。P状態(低い抵抗状態)からAP状態(高い抵抗状態)に転換させるために、少なくとも臨界スイッチング電圧V
c0より大きい正の電圧が印加され得る。一度、AP状態になれば、印加される電圧を除去することはMTJの状態に影響を及ばない。同様に、AP状態からP状態に転換させるために、少なくとも臨界スイッチング電圧V
c0より小さい負の電圧が印加される。一度、P状態になれば、印加される電圧を除去することはMTJの状態に影響を及ばない。AP状態である時、MTJの抵抗はR
highである。同様に、AP状態である時、MTJの抵抗はR
lowである。
【0020】
図4Aは“0”(即ち、低い抵抗状態、又は論理“0”状態)を格納するために、反平行状態(即ち、高い抵抗状態、又は論理“1”状態)から平行状態に転換させるためにプログラムされるMTJ10を示す。この図面で、MTJ10は初期に論理“1”状態又はAP状態であると仮定する。先に説明されたように、“0”を格納するために、少なくとも臨界電流I
c0より大きい電流が矢印40方向にトランジスター20を流れることができるように誘導される。これを実現するために、トランジスター20のソースノード(SL又はソースライン)が抵抗性通路(resistive path)(図示せず)を通じてグラウンドポテンシャル(ground potential)に連結(couple)され、正の電圧(V
PP)がトランジスター20のゲートノード(WL又はワードライン)へ印加され、そして正の電圧(V
CC)がトランジスター20のドレーンノード(BL又はビットライン)へ印加され得る。
【0021】
図5は
図4A及び
図4Bに図示されたMTJ10のような一般的なMTJにおいて、大略25ナノ秒と25ナノ秒との間に発生する“0”を書き込む間、そして大略45ナノ秒と45ナノ秒との間に、発生する“1”を書く込む間に、ノードWL、SL、BLでの電圧レベルを示すタイミング図である。供給電圧V
CCは約1.8ボルトであると仮定する。列選択信号CSのみでなく、ワードライン信号WLが3ボルトのプログラム電圧V
PPまでブースティングされたことと図示される。“0”を書き込む動作の間に、ノードBL、SL、及びSNでの電圧は大略各々1.43V、0.34V、及び0.88Vであることと図示される。“1”を書き込む動作の間に、ノードBL、SL、及びSNでの電圧は大略各々0.23V、1.43V、及び0.84Vであることと図示される。たとえ図示されずが、この例示的なコンピューターシミュレーションにおいて、“0”書込み及び“1”書込み動作の間にMTJを通過する電流流れは各々121μA及び99.2μAであり得る。
【0022】
図4Bは“1”を格納するために平行状態から反平行状態に転換させるためにプログラムされるMTJ10を示す。MTJ10は初期に論理“0”状態又はAP状態であると仮定する。“1”を格納するために、臨界電流I
c0より大きい電流I
SWが矢印35方向にトランジスター20を通じて流れることができるように誘導される。これを実現するために、電圧V
CCが抵抗性通路(resistive path)(図示せず)を通じてトランジスター20のノードSLへ印加され、電圧V
PPがノードWLへ印加され、そしてノードBLは抵抗性通路(図示せず)を通じてグラウンドポテンシャルに連結され得る。したがって、“1”を書き込む動作の間に、トランジスター20のゲート−ソース電圧は(V
WL−V
SN)にセッティングされ、トランジスター20のドレーン−ソース電圧は(V
SL−V
SN)にセッティングされ得る。このSTT−RAMタイプのメモリセルは優れた不揮発性メモリソリューションを提供することができる。
【0023】
残念ながら、STT−RAM又は他のいずれのタイプのメモリチップにおいて、製造又は他の欠陥はメモリチップ上のすべてのメモリセルが正しく作動しないようにすることがあり得る。メモリ修理の間に、メモリチップはテストされ得り、フェイル(fail)されたメモリ素子は他のメモリ素子に代替され得る。レーザー修理(laser repair)であると一般的に称されるこのメモリ修理は1番目のウエハー分類テスト以後に一般的に実行される。レーザーはメモリヒューズバンク(memory fuse bank)を無くさせて不完全なメモリ素子を動作しないようにし、それを冗長な素子に代替する。メモリ修理はメモリの最終消費者が利用できるようにさせない。
【0024】
メモリアクセス、安全データ格納、データ検証及びデータ復旧、データテスト、そしてメモリ修理を提供するための多様なタイプのメモリシステムが提案されてきた。例えば、これらのシステムには特許文献1(CONFIGURABLE ADDRESSING FOR MULTIPLE CHIPS IN A PACKAGE)、特許文献2(TESTING OF INTEGRATED CIRCUIT DEVICE)、特許文献3(INTEGRATED TESTING MODULE INCLUDING DATA GENERATOR)、特許文献4(SHARED MEMORY BUS ARCHITECTURE FOR SYSTEM WITH PROCESSOR AND MEMORY UNITS)、特許文献5(MEMORY ACCESSING CIRCUIT SYSTEM)、特許文献6(PROCESSOR−MEMORY UNIT FOR USE IN SYSTEM−IN−PACKAGE AND SYSTEM−IN−MODULE DEVICES)、特許文献7(PROGRAMMABLE MEMORY REPAIR SCHEME)、及び特許文献8(TESTING AND RECOVERY OF MULTILAYER DEVICE)等があり、それらの各々の内容は全体的に参照することによってここに包含される。
【0025】
たとえこれら及び他のシステムが提示された発明の原理によって類似な問題を解決したが、それらはPCRAM、MRAM及びPRAM装置のような高いエラー率を有するメモリ及び蓋然論に基づいた傾向(probabilistic tendencies)のために設計されるか、或いはそれらに明確に適用されなかった。特に、特許文献6はプロセシングモジュール、メモリモジュール、及びプログラム可能であるシステムモジュールを含むシステムインパッケージ(system−in−package;SiP)及びシステムインモジュール(system in module;SiM)で使用されるプロセッサーメモリユニットのための装置及び方法を説明している。プログラム可能であるシステムモジュールは他の通信規約(protocol)を有する機能的な要素を含むプロセッサー−メモリユニットの統合及びテストを可能にするメモリモジュール及び装置の間でのインターフェイスとして作用するように構成される。インターフェイス層(システムモジュール)120は収率改善、データ圧縮、テストアルゴリズム、電源管理等のためのプロセス特定な信号処理アルゴリズム(process specific signal processing algorithms)を包含することができる。このシステムはプラスロジックインターフェイス製品(plus logic interface product)のみでなく、マルチチップ(multi−chip)DRAMに特に有用である。しかし、発明の原理の追加的な特徴及び実施形態によって、このようなタイプのシステムの有用性はフラッシュメモリ、PCRAM、MRAM、RRAM(登録商標)及び他のメモリ装置に拡張され得る。
【発明を実施するための形態】
【0053】
図面と共に説明される本発明の思想にしたがう実施形態が参照符号を通じて詳細に説明される。後述する詳細な説明で、多様な実施形態が発明の理解を助けるために説明される。しかし、本技術が属する分野で通常の知識を有する者はこの詳細な説明無しでも発明を実施することができる。所定の事例では、広く公知された方法、過程、要素、回路、及びネットワークは発明の実施形態が不必要に模糊荷なら無いようにするために説明が省略されることもあり得る。
【0054】
たとえ“第1”、“第2”等の用語がここで多様な要素を説明するために使用されるが、これらの要素はこの用語によって限定されない。この用語は単なる他の物から1つの構成要素を区別するために使用されている。例えば、本発明の範囲を逸脱しない範囲内で第1回路は第2回路と称され、類似に、第2回路は第1回路と称されることがあり得る。
【0055】
本発明の詳細な説明で使用される用語は単なる特定な実施形態を詳細に説明しようとする目的のみであり、その実施形態に限定するためのことではない。詳細な説明で使用される単数形に表記された用語は明確に他のことを示さない限り、複数の形態を包含するように意図される。“及び/又は”のような用語は関連された列挙された目録の1つ又はそれ以上の組合を包含するために使用されたことであることは容易に理解できる。本発明の詳細な説明で使用される“含む”及び/又は“包含する”のような用語は説明された特徴、整数、段階、動作、成分、及び/又は構成要素の存在を明示するが、追加的な1つ又はそれ以上の特徴、整数、段階、動作、成分、構成要素及び/又はそれらのグループの存在を否定することではない。図面の構成要素及び特徴はスケールに合わせて画かれたものではない。
【0056】
書込み動作の間に、不揮発性メモリセルは同一であり安定的な状態下でも互に異なる時に他の書込み時間を無作為に示すことができる。そのような動作は製品出荷の時、テストの間に遮断されたウェア−アウトメカニズム(wear−our mechanism)の結果ではなく、代わりにメモリセルの書込み特徴の確率的な行動(probabilistic behavior)によることであり得る。確率に根拠しない理由によって不良であると判断されるメモリセルは製品出荷の時、テスト及び修理動作の間にセル集団(cell population)から除去されることがあり得る。例えば、所定の欠陥はリダンダンシ動作(redundancy operation)の間に欠陥があるセルをオンチップリダンダントセルに代替することによって修理されることができる。欠陥が修理されることができない時に、不良チップは廃棄されることができる。しかし、テスト及び修理動作が行われた後でも、残されたメモリセル集団はメモリチップの信頼性に影響を及ばすことができる確率的な行動を保有することができる。
【0057】
製品出荷の時のテスト及び修理が行われた後、チップは最終消費者による使用のために装置に結合され得る。チップが最終消費者によって一般的に使用される時、メモリシステムは遅い書込み動作のような欠陥があるセルを使用可能であるアドレス空間にマッピングすることによって、欠陥があるセルに対応するアドレス位置を表示し、修理することができる。しかし、マッピングされたセルは普通の状態に回復されずに、その結果、それらのアドレス位置は永久的にリルーティング(rerouted)されたので、それらの位置は遅い書込み動作のような欠陥があるセルをマッピングする過程は使用可能であるアドレス位置の減少をもたらすことができる。したがって、確率的(probabilistic)なセル行動による欠陥があるメモリ動作は制限されたリダンダント要素の枯渇による低い収率、又は最終消費者によって使用可能であるアドレス空間の枯渇をもたらすことができる。
【0058】
特に、書込み動作の間に、メモリセルは安定な環境条件下でも他の状況で不規則に互に異なる書込み時間を有することができる。したがって、様々な場合に、セル集団が欠陥から自由な場合にも、この行動はデータをメモリシステムに書き込む間にエラーを発生させ得る。新しいメモリ回路ソリューションはこの確率的なセル行動問題点(probabilistic cell behavior problem)を克服することを必要とする。
【0059】
本発明の一実施形態によれば、タグメモリ(tag memory)又は不揮発性メモリ(NVM)は確率的な行動による、書込みに失敗したデータのアドレス位置を格納することができる。格納されたタグアドレス位置は使用者が普通の書込み動作を初期化した後に、データを再書き込み(rewrite)、修正するのに使用され得る。代わりに、使用者から隠された書込みは、セルが確率的な行動に基づいて割当された時間に書込みが失敗した時に、使用者によって初期化された普通の書込み動作の間に実行され得る。
【0060】
図6Aは本発明の実施形態によるメモリシステム及び関連された回路100を示すブロック図である。
図6を参照して、メモリシステム100はメモリアレイ(memory array)102、ローデコーダー(row decoder)110、カラムデコーダー(column decoder)120、アドレッシング回路(addressing circuit)130、制御ロジック(control logic)140、感知及び書込みドライバー(sensing and write drivers)150、隠された読出し比較領域(hidden read compare section)160、書込みエラーアドレスタグメモリ(memory array)170(以下、タグメモリと称され得る)、及びデータ入出力領域(data input output section)180を包含することができる。
【0061】
アドレッシング回路130はアドレスバッファ及びラッチ132、及びプリデコーダー134をさらに包含することができる。データ入出力(I/O)領域180は入力バッファデータインラッチ(input buffer data−in latch)182及びデータアウト−ラッチ出力バッファ(data−out latch output buffer)184をさらに包含することができる。ここで、感知する(sensing)及び読み出す(reading)という用語は感知(sense)及び読出し(read)に代替され得る。
【0062】
メモリアレイ102は複数のカラム、ワードライン、及びカラムとワードラインが交差するところに配置されたメモリセルを包含することができる。各々のメモリセルはデータビット(data bit)を格納することができる。例えば、メモリセルはDRAM、SRAM、ROM、PROM、EEPROM、FLASH、FeRAM、PCRAM、MRAM、STT−MRAM、RRAM(登録商標)、又は技術に依存する他のタイプのメモリセルであり得る。しかし、前記実施形態に限定されなく、以下後述される実施形態はSTT−MRAMセルを利用して説明される。
【0063】
ローデコーダー110はプリデコーダー(pre−decoder)134によって駆動されるそれの入力バスによって決定されるワードワードラインの中の1つを選択し、駆動することができる。類似に、カラムデコーダー120はプリデコーダー134によって駆動されるそれの入力バスによって決定されるカラムの中で1つを選択し、駆動することができる。プリデコーダー134はアドレスバッファ及びラッチ132からのアドレスバス信号に応答する、そして制御ロジックからのアドレス(ADDR)イネーブル信号135に応答するロー及びカラムデコーダー入力バス信号を駆動することができる。アドレスバッファ及びラッチ132はアドレスバスA(n:0)からの信号に応答して動作することができ、望むデータビットの位置に対応するメモリシステム外部から受信されたn+1個のアドレス信号をラッチすることができる。また、アドレスバッファ及びラッチ132は制御ロジック140に応答して動作することができる。
【0064】
制御ロジック140はメモリシステム外部から信号をコマンドバスCMD(m:0)に受信し、隠された読出し比較領域(hidden read compare section)160からのエラーフラッグ(error flag)165に応答して動作することができる。制御ロジックはメモリシステムの動作を制御するのに使用される多様な信号を伝送する。例えば、信号は感知及び書込みドライバー150へ伝送される読出し書込み(R/W)制御信号142、データI/O180へ伝送されるデータラッチ制御(DQ制御)信号144、及び書込みエラーアドレスタグメモリ170へ伝送される制御信号146を包含することができる。
【0065】
書込みエラーアドレスタグメモリ170は双方向バス172を通じて制御信号140及びエラーフラッグ165に応答してアドレスバッファ及びラッチ132からアドレス信号を送受信することができる。これに対しては詳細に後述される。書込みエラーアドレスタグメモリ170は確率的な行動を保有するメモリセルのアドレスを格納でき、したがって、メモリシステムの書込みサイクルの間成功的に書込み動作を遂行できないことがあり得る。書込みエラーアドレスタグメモリ170に格納されたアドレスは最初にメモリシステムに入力されるデータを適正に示すために論理的に変換されることができるメモリに格納されたデータビットを示すことができる。
【0066】
例えば、本発明の実施形態による書込みエラーアドレスタグメモリは不揮発性メモリ、FIFO、SRAM、又はDフリップフロップレジスター(D flip−flop register)であり得る。書込みエラーアドレスタグメモリ(write error address tag memory)170にあるメモリセルはメモリアレイ102にあるメモリセルと同一なタイプの技術に基づくか、或いはそのようにデザインされるか、又は他のタイプの技術であるか、或いはそのようにデザインされることができる。書込みエラーアドレスタグメモリ170にあるメモリの幅(width)はアドレス信号(即ち、n+1)の個数に対応することができる。書込みエラーアドレスタグメモリ170にあるメモリの深さ(depth)は各々の再書込み(rewrite)動作のために必要であるか、或いは要求されるエラー訂正可能であるビットの個数に依存することができる。例えば、もし確率的な書込みエラー率が平均的なメモリセル集団に比べて高ければ、書込みエラー住所タグメモリ深さはエラー率が小さい時より大きく選択され得る。
【0067】
入力バッファデータインラッチ(data−in latch)182はメモリシステムの外部から両方向バスDQ(x:0)にデータを受信及びラッチすることができ、感知回路及び書込みドライバーの間に統合され得る隠された読出し比較領域(hidden read compare section)160へ別の両方向バスを通じてデータを伝送することができるが、これに対しては詳細に後述される。データアウトラッチ(data−out latch)出力バッファ184は感知及び書込みドライバー150から両方向バス186にデータを受信及びラッチすることができ、両方向バスDQ(x:0)を通じてメモリシステム外部へデータを伝送することができる。
【0068】
図6Bは
図6Aに図示されたことと類似なエラー検出及びアドレステーブル生成回路(error detection and address table generation circuit)を示すブロック図である。しかし、これは発明の実施形態にしたがって他の構成要素をさらに包含することができる。特に、
図6Aに図示されたことと異なりに、
図6Bのエラー検出及びアドレステーブル生成回路は外部のスマートメモリコントローラ190及び不揮発性メモリ(NVM)プログラムメモリ195をさらに包含することができる。スマートメモリコントローラ190は本明細書でスマートメモリプロセッサー(smart memory processor)、メモリプロセッサー(memory processor)、又はスマートコントローラ(smart controller)等に表現されることができる。この場合に、NVMプログラムメモリ195は先に実施形態の書込みエラータグメモリ170に加えてFIFOであり得る。NVMプログラムメモリ195は本明細書で不揮発性エラー保有メモリ(error retention)と称され得る。
【0069】
図6Bを参照して、スマートメモリコントローラ190はメモリコントローラ191、メモリコンフィギュレータ(memory configurator)192、及び電源管理者(power manager)193を包含することができる。スマートメモリコントローラ190はメモリバス194を通じてスマートメモリ100及びNVMメモリ195と通信できる。システムはメモリシステムフェイル(failures)を動的にモニターリングし、不揮発性メモリ196にそれらを格納することによってフェイル/エラー形態のみならず、フェイル位置も記録することができる。特に、FIFO170に一時的に格納された書込みエラーアドレスタグ情報はメモリコントローラ190の制御の下にメモリバス194を通じてNVMプログラムメモリ195へ伝送され得る。NVMプログラムメモリ195はスマートメモリコントローラ190からエラーポインター(error pointer)199を受信することができる。NVMプログラムメモリ195はエラータイプの作成(tabulation)197のみならず、フェイルされたメモリアドレスのデータベース196を蓄積することができる。システムはNVMテーブルからフェイルされた位置をリコールすることができ(即ち、RECALL198)、フェイルタイプに基づいて概略的な修理動作(fix operation)を実行することができる。メモリコンフィギュレータ193はアドレス位置を修理不可能なエラーにマッピング(mapping)するのに使用され得る。
【0070】
データエラーの形態197にしたがってフェイルメモリアドレスをタグメモリ170又はNVMプログラムメモリ195に格納できるようにすることによって、メモリコントローラ190はタグ又はNVMプログラムメモリにアクセスするように構成され得り、指示されたエラーのタイプに基づいたアドレス位置のための概略的な修理動作(fix operation)を実行するように構成されることができる。例えば、修理動作はメモリ再書込み(rewrite)、フェイルされたメモリ位置を孤立させるためのアドレス再構成(reconfiguration)、又は他の概略的な修理を包含することができる。メモリモニターリング(Memory monitoring)、修理(repair)、訂正(correction)、そして再配列(re−assignment)は本発明の実施形態にしたがってスマートメモリコントローラによって実行され得る。データ安定性を強化させ、エラー率を減らすためにECC、アンチヒューズ修理(anti−fuse repair)、エラーマスキング(error masking)、読出し−書込み比較(read−compare−write)、ウィークビットリフレッシュ(weak bit refresh)、及び他のエラー訂正技術がスマートメモリシステム内に具現され得る。
【0071】
図7は本発明の実施形態にしたがってメモリシステム100の一部分200及び関連された書込み及び読出し回路を示した回路図である。回路200はメモリアレイタイル(MAT)102、ローカルカラム選択回路(local column select circuit;LCS)104、感知及び書込みドライバー150、及び隠された読出し比較領域160を包含することができる。たとえ本実施形態はSTT−MRAMセルを含むことと説明されているが、これに限定されなく、先に説明された他のタイプのメモリを包含することができる。
【0072】
図7を参照すれば、MAT200はそれの選択トランジスターがワードライン(WL0−WLn)に連結され、ワードラインは先に
図6A及び
図6Bと関連して説明されたようにローデコーダー110によって駆動される複数のSTT−MRAMセルを包含することができる。STT−MRAMセルはメモリアレイ102のカラムの中で1つに対応するソースラインSL210及びビットライン対BL212に連結され得る。MAT102はLCS104によって選択可能である複数のSL及びBL対を包含することができる。LCS104はMAT102の選択されたSL及びBL対をカラム選択信号(CS)215の制御の下にLCS104のソースライン及びビットライン対(例えば、MSL220及びMBL230)に連結させるn−チャンネル選択トランジスターの対、プリチャージ信号(PRE)235、アイソレーション上部信号(isolation top signal;ISOT)、及びアイソレーション下部信号(isolation bottom signal;ISOB)を包含することができる。
【0073】
LCS104の上部、下部に各々配置された2つの別個のメモリアレイ102が本実施形態に図示された。LCS104は各々のISOT又はISOB信号の中で1つをイネーブル(enable)させることによって、隣接するMAT102の中でいずれか1つを選択するか否かを判断することができる。
図7Aに図示された実施形態で、上部MATはISOTをイネーブルさせ、ISOBをディスエーブル(disable)させることによって選択され得る。そして、SL及びBL対の中で1つは上部MATアレイの選択されたSL及びBL対を各々のMSL及びMBLラインに連結させるために(カラムデコーダーによって駆動されることによって)CS信号によって選択され得る。そうすると、SL/BL対及び対応するMSL/MBL対はプリチャージ信号PREがディスエーブルされる時、選択されたメモリセルのために書込み又は読出し動作を実行する準備になる。
【0074】
MSL220及びMBL230はLCS104から(本明細書で読出しブロックと称される)感知回路255及び(本明細書で書込みブロックと称される)書込みドライバー250まで連結され得る。他の実施形態(図示せず)で、SL及びMSL信号は作用をする相補的なカラムを必要としなく、そしてそれのソースが(技術分野で広く知られているROM、PROM、EPROM、EEPROM、及びフラッシュのような)MAT内の接地に連結されているメモリセルのためのシングルラインカラムを提供するカラム及び関連された回路から省略され得る。
【0075】
図7に示したように、書込みドライバー250は制御ロジックによって駆動されるイネーブル書込み信号ENW260、及び書込みドライバーのデータ(D)出力に連結される隠された読出し比較領域160の出力(Y)に連結され得る。書込みモード動作の間に、書込みドライバー250はENWの制御の下に相補的な方法にMSL及びMBLラインを駆動し、これに対しては詳細に後述される。ENWがディスエーブルされる時、書込みドライバー250はMSL及びMBLラインを駆動しない。
【0076】
感知回路(即ち、読出しブロック)255はイネーブル読出しENR240信号によってイネーブルされ得り、電源供給装置に連結されたトランジスターM5及び接地に連結されたトランジスターM3を包含することができる。M5及びM3はENR信号及びそれの相補的なこと(complement)に各々連結され得る。ENR及びENW信号は同時にイネーブルされないことがあり得る。ENRがイネーブルハイ(enabled high)される時、トランジスターM3はターンオフ(turn off)され、反面に、ENRによって制御されるトランジスターM4はターンオンされ(turn on)、MBL信号を電流ミラー(current mirror)M1及びM2へ通過させ、トランジスターM5はMSL220を電源供給装置に連結させる。電流ID1はMBLでトランジスターM4から電流ミラーのトランジスターM1を通じて流れ得る。
【0077】
センスアンプ(sense amplifier;SA)245は電流基準信号(current reference signal;IREF)、及び電流ミラーの第2トランジスターM2を通じて流れる第2電流ID2に連結され得る。SAは2つの電流ID2及びIREFを比較し、データアウト信号DRを読出しライン285にイッシュー(issue)することができる。データ読出しライン285は両方向バス(
図6A及び
図6Bを参照)を通じてデータアウトラッチ出力バッファ(data−out latch output buffer)184及び隠された読出し比較領域(hidden read compare)160に連結され得る。ENRがディスエーブルロー(disabled low)される時、M4はMBL230を電流ミラー及びM3から孤立させ、電流ミラー入力を接地電圧に連結させることができる。また、SA245はMAT102内に配置されるか、或いはグローバルセンスアンプ及びグローバル書込みドライバー(図示せず)と共に配置され得る。
【0078】
図8は本発明の実施形態によるメモリシステム及び関連された書込み回路100の書込みドライバー300の実施形態を示す図面である。例えば、
図7の書込みドライバー250は
図8の書込み回路300として具現され得る。
図7及び
図8を参照して、書込みドライバー250及び300はENW260の制御の下に各々SL及びBL信号を駆動する2つのインバータドライバー351及び352を包含することができる。シングルラインSLはMSLに連結される反面、反転されたビットライン信号BLはMBLに連結され得る。ENENWがイネーブルハイ(enabled high)になる時、隠された読出し比較領域160からの入力(D)の反転されたバーションはBL信号に連結される反面、入力(D)の反転されないバーションはSL信号に連結され得ることであるので、BL及びSL信号は論理的に相補的であり得る。ENENWがディスエーブルロー(disabled low)になる時、インバータドライバー351及び352のトランジスターは入力(D)の状態と関わらず、オフ(off)され、MSL及びMBLの制御は感知回路に戻ることができる。
【0079】
各々の書込みサイクルは同一のメモリ位置の隠された読出しサイクルにしたがう。そして、隠された読出し動作(データアウト)からのデータは記録されているデータビット値に比較され得る。もし、データが一致すれば、書込みサイクルは終了される。もし、データが一致しなければ、XNORの出力はアクティブロー(active low)になり、ERROWフラッグが生成され得る。この位置のためのメモリアドレスは“タグ(tag)”されるか、以後の再書込み(rewrite)動作のための書込みエラーアドレスタグメモリに格納され得る。
【0080】
本発明の実施形態にしたがって、前述したメモリアレイは次の動作を実行するための回路を包含することができる:データビットのアドレスをアドレッシング回路にラッチする段階と、データビットをデータ入出力回路にラッチする段階と、データをデータビットのアドレスでメモリアレイに書き込む段階と、データアウトビットを前記ビットのアドレスでメモリアレイから読み出す段階と、データビットがデータアウトビットと一致するか否かを判断するためにデータビットをデータアウトビットと比較する段階と、もし比較段階でデータビットがデータアウトビットと一致しないと判断されれば、データビットのアドレスを書込みエラーアドレスタグメモリ(write error address tag memory)に書き込む段階と、そして、比較段階でデータビットがデータアウトビットと一致すると判断されれば、データビットのアドレスを書込みエラーアドレスタグメモリに書き込まない段階。
【0081】
図9Aはメモリシステムの書込み方法の多様な段階を示すフローチャート400である。
図7乃至
図9Aを参照して、書込み動作410の開始の後、アドレス及びデータをラッチする動作420の間、データ(又は第1データと称される)は入力バッファデータインラッチ(input buffer data−in latch)182にラッチされ、隠された読出し比較領域160にあるマルチプレクサー270から書込みドライバー250の入力(D)を通じて伝送され得る。また、アドレス及びデータをラッチする段階420の間に、データビットのアドレスはアドレスバッファ及びラッチ132にラッチされ、メモリアレイでワードライン及びカラムを順に選択するロー及びカラムデコーダーのための入力バスを駆動するプリデコーダー134を通じて伝送され得る。データを書き込む段階430はENWをイネーブルさせることによってデータをメモリアレイの選択されたアドレスでメモリセルに書き込む。
【0082】
データを書き込む段階430以後、隠された読出しデータ段階440は同一のアドレス位置でデータアウトビットを隠された読出し比較領域160へ伝送することを実行することができる。読出しはCMDバスを通じてメモリシステムに指示しなければならないこと無しで書込み動作の一部として自動的に実行されるので、読出しは隠されたこととして考慮され得る。以後、比較段階450の間に、第1データビットが第2データビットと一致するか否かを判断するために、入力バッファデータインラッチ182からのデータビット(即ち、“真(true)”又は第1データビット)はSA245からのデータビット(即ち、成功的に記録されるか、或いは記録されなく、本明細書で第2データと称される、メモリに書き込まれたデータビット)と比較され得る。論理的比較は隠された読出し比較領域160で排他的論理合又はXNORゲート275によって実行され得る。もし、第1データビットが第2データビットと同一であれば、書込み動作は成功し、次の動作470が進行され得る。しかし、第1データビットが第2データビットと同一でなければ、排他的論理合又はXNORゲートはエラーフラッグ(ERR)165をセッティングすることができ、この時、エラーフラッグ165はコントローラ140が“タグされた(tagged)”アドレスを両方向バスを通じてアドレスバッファ及びラッチから書込みエラーアドレスタグメモリ(write error address tag memory)170へ信号を送るようにし、アドレスは再書込み動作が実行されるまで書き込まれ(段階460)、そこに格納され得る。これに対しては後に詳細に説明する。タグメモリ格納動作460は明瞭な動作であり、次のメモリサイクルが始まる始点で容易に実行されることができるので、それは次のメモリ動作470を遅延させない。
【0083】
本発明のその他の実施形態にしたがって、全体の書込みサイクルは追加的な隠された書込み動作を包含するように拡張され得る。この場合、書込み訂正動作(再書込み)は使用者に明瞭である。書込みタイミング説明はこの明瞭な再書込み時間(transparent re−write time)を包含するように作られる。したがって、書込みサイクル時間は再書込みが要求されるか否かに関係なく、同一であり得る。
【0084】
図9Bは本発明の実施形態によるメモリシステムの書込み方法の段階を示すフローチャート500である。
図9Bの段階510乃至550は
図9Aの段階410乃至450と同一であるので、詳細な説明は省略される。しかし、段階560で、メモリアレイの現在のアドレス位置でのデータアウトはSA出力DR285を通過する。そして、読み出されたデータを反転させる段階560はデータアウトビットを反転させるために隠された読出し比較領域160でインバータによって実行され得る。反転されたデータアウトビットは制御ロジックからのREW信号290に応答してマルチプレクサー270を通じて書込みドライバー250の入力Dへ転送される。反転されたデータを書き込む段階570でメモリアレイの現在のアドレスに訂正された反転されたデータアウトビットを書き込む動作が実行され得る。そして、次の段階580が実行され得る。
【0085】
再書込み動作は詳細に後述される。メモリシステムの仕様(specification)に依存して、欠陥がある書込み動作からタグされたアドレスはプロセッサーやシステム周辺部がメモリにアクセスしない任意の時間に、タグされたアドレスに位置するメモリセルを再書き込むのに使用され得る。再書込みサイクルの間に、タグされたアドレスにあるデータは簡単に反転され得る。データを反転させるためにメモリビットは隠された読出し特性を利用して先に読み出さなければならなく、反対側のデータ(opposite data)はセルに書き込まれ得る。その後、セルの以前の確率的に長い書込み動作(previous probabilistic lengthy write behavior)によって生じる元の書込みエラーは訂正され得る。
【0086】
後に再び書込み動作を実行するために待つよりも、むしろ再書込みサイクルが進行の中である時、メモリが“停止アクセス(halt access)”信号をプロセッサー又はマスターシステムに伝達するハンドシェーキングシステム(handshaking system)でデータは直ちに訂正され得る。再書込み動作が完了されると直ぐに、“再書込み完了”信号(re−write complete signal)はマスターシステムに伝送され得る。適切な書込み動作を確保するための追加的なハンドシェーキングシステムは詳細に後述される。
【0087】
本発明の他の実施形態にしたがって、前述したメモリアレイは次の動作を実行するための回路を包含することができる:データビットのアドレスを書込みエラーアドレスタグメモリからアドレッシング回路にローディングする段階と、データビットのアドレスでメモリアレイにあるデータアウトビットを読み出す段階と、隠された読出し比較回路でデータアウトビットを反転させる段階と、そして、反転されたデータアウトビットをデータビットのアドレスにあるメモリアレイに書き込む段階。
【0088】
図10は本発明の実施形態によるメモリシステムの再書込み方法の段階を示すフローチャート600である。
図10を参照して、再書込み動作610を開始した後に、書込みアドレスタグメモリからアドレッシング回路へエラーアドレスをローディングする段階620の間に、書込みエラーアドレスタグメモリ170から“タグされた”アドレスは両方向バスを通じてアドレスバッファ及びラッチ132へローディングされ得る。そして、以前に“タグされた”アドレスにあるデータは読出し段階630の間に読み出され得る。メモリアレイの“タグされた”アドレス位置にあるデータアウトはSA出力DR285をパスされる。その後、データを反転させる段階640はデータアウトビットを反転させるための隠された読出し比較領域160によって実行され得る。そして、反転されたデータアウトビットは制御ロジックからのREW信号に応答してマルチプレクサー270を通じて書込みドライバー250の入力Dへ転送される。その後、反転されたデータを書き込む段階650がメモリアレイで訂正された反転されたデータアウトビットを先に“タグされた”アドレスに書き込む動作が実行され得る。そして、次のメモリ動作が段階660で実行され得る。書込みエラーアドレスタグメモリに格納された先に“タグされた”アドレスによって満たされたメモリ空間は順次的な書込みサイクルで新しい“タグされた”アドレスに利用可能するようにすることができる。
【0089】
図11は一般的なメモリシステム700を示すブロック図である。
図11を参照すれば、一般的なメモリシステム700は仕様(specification)702、及びソフトウェア機能(functionality)706をプロセッサーコア730に分配し、ハードウェア機能708を合成化された(synthesized)ハードウェア領域712に分配するハードウェア/ソフトウェア区分領域(hardware/software partitioning section)704を使用して提供され得る。メモリシステム700は埋め込み指示メモリ(embedded instruction memory)705及びデータメモリ710のような少量の埋め込みメモリ、及び別のRAM740又はフラッシュメモリチップ745又はチップパッケージのような大量の独立されたメモリ装置715を包含することができる。埋め込みメモリはプロセッサーにのプログラム指示を提供する指示メモリ705、及び装置と独立されたメモリ715の間で伝送されるか、或いは又はプロセッサーコア730によって実行される他の過程の計算のために使用される少量のデータを格納する(データキャッシュ720及びスクラッチパッドメモリ(scratch pad memory)725を包含できる)データメモリを包含することができる。
【0090】
一般的なメモリシステムは最終消費者段階で実行される前にメモリエラーを感知し、修理するための工場(生産者)によって実行されるエラー訂正過程に依存して来た。したがって、そのようなシステムは高いエラー率及び遅い読出し/書込み時間を発生させる確率的な特性(probabilistic characteristics)を保有するメモリ(例えば、PCRAM、MRAM、及びRRAM(登録商標))と共に使用するのにはよく符合することはできなかった。
【0091】
本発明の実施形態によるスマートメモリシステムは論理プロセッサーと関連された高いエラー率及び遅い読出し/書込み時間を有するメモリが信頼性あるように、そして均一に作動できるようにする。
図12は本発明の実施形態によるスマートメモリシステム800を示すブロック図である。
図12を参照して、スマートメモリシステム800は成功的な読出し及び書込み動作を保障するためにメモリ815及びスマートメモリコントローラ820の間で越広帶域入出力(I/O)を有するハンドシェーキングインターフェイス850を提供するように構成されるスマートメモリ802を包含することができる。より詳細に説明すれば、共通の非同期式メモリバス(common asynchronous memory bus)810は書込み及び読出し動作の成功を保障するための応答信号(acknowledge signaling)と共に提供され得る。共通の非同期式メモリバスは望むデータがメーンシステムメモリ815から成功的に読み出されたか、又はメーンシステムメモリ815に成功的に書き込まれたかを保障するために読出し及び書込み動作の間にハンドシェーキング処理を具現することができる。その上に、ハンドシェーキングメモリインターフェイス850は出口が狭い現像を防止することができ、リルーティング(re−routing)能力を提供することができる。たとえ本明細書では次世代メモリ(emerging memory)(例えば、STT−MRAM、RRAM(登録商標))815として説明されたが、メーンシステムメモリ815はDRAM、SRAM、ROM、PROM、EEPROM、FLASH、FeRAM、PCRAM、RRAM(登録商標)、MRAM、STT−MRAM、RRAM(登録商標)又は他の多様な形態のメモリ包含することができる。
【0092】
スマートメモリシステム800は多様な追加的なエラー率減少スキーム、例えば、貧弱な保有特性を保有した不揮発性メモリビット又はセクターがそこに格納されたデータを維持するためにそれをタグ(tag)するか、或いはリフレッシュ動作を実行することによって使用されるように許容することをさらに提供することができる。エラー−訂正コード(ECC)、信号処理、及びプログラム可能である修理動作がシステムエラーを修理し、訂正するために提供され得る。スマートメモリコントローラ820は適切なメモリ保有及び読出し/書込み動作を保障するために再構成(re−configuration)及び最適化(optimization)過程を実行することができる。高速インターフェイス825は論理プロセスの速度を一致させるためにスマートコントローラ820及びシステムバス810の間に包含され得る。
【0093】
例えば、スマートメモリ802は1つ又はそれ以上の複数の論理プロセッサー又は他の装置を有する装置で具現されるか、或いはこれに連関され得る。本実施形態で、装置ロジック(device logic)830はアプリケーションロジック(application logic)835、プロセッサー(processors)840、内部メモリプラスコントローラ(internal memory plus controller)845、及びアナログ装置(analog device functions)850を包含することができる。スマートメモリ802はシステムバス810を通じて論理要素(logic components)の中で1つ又はそれ以上と通信するように構成されることができる。本実施形態は複数のシステムで互換できるように構成されることができる。例えば、設定可能であるアドレススキームはプログラム可能であり、そしてメモリ−タイプの独立されたI/Oインターフェイスにしたがって、複数のプロセッサー及び周辺部を支援するのに使用され得る。
【0094】
図13は本発明の実施形態による知能形メモリ(intelligent memory)及び論理インターフェイスを含むメモリシステム900を示すブロック図である。
図13を参照して、スマートメモリコントローラ190はスマートコントローラの他の動作を制御するのみでなく、使用者装置及びメモリの間の通信を監督(oversee)するメモリコントローラ191を包含することができる。メモリコンフィギュレータ(configurator)192は使用の中のエラーに基づいた使用可能であるアドレス空間を再構成し、他のメモリに構成過程(configuration processes)を提供するために提供され得る。電源管理者193がメモリ動作のための安定された電圧を供給するために温度変化及び他の電源変数を補償するためにさらに包含され得る。
【0095】
システム900はそれをメモリコントローラ不揮発性メモリ(NVM)195に格納することによってメモリシステムのフェイル(failure)を動的にモニターリングし、フェイル位置を記録するようにさらに構成されることができる。その後、システムはNVMテーブル196からフェイル位置をリコールすることができ、フェイルのタイプ197に基づいて適切な修理動作を実行することができる。例えば、修理動作はデータ再書込み(re−writing the data)、メモリ修理(repairing the memory)、フェイルされたメモリ位置隔離(isolating the failed memory location)、又は他の適切な修理を包含することができる。例えば、スマートメモリコントローラ190はメモリ問題の原因を診断し、感知されたエラーのタイプに依存する適切な修理方法を提供するために領域内のメモリモニターリング及び復旧システム能力(memory monitoring and recovery system capabilities in section)905を包含するか、或いはこれと連関され得る。NVMプログラムメモリ195は感知されたエラーの形態にしたがって、欠陥があるメモリセルのアドレス位置を格納するように構成されることができる。本実施形態で、NVMプログラムメモリ195はエラーの形態197にしたがって、フェイルされたアドレス位置196と関連された情報を格納するのに利用され得る。NVMプログラムメモリ195は新しいメモリ位置にフェイルされたメモリ位置の住所を再割当するのにさらに使用され得る。スマートメモリシステム900のスマートメモリコントローラ190はNVMプログラムメモリ195に格納されたエラー情報に基づいてメモリテスト、メモリアドレスの再割当、メモリリフレッシュの実行、又は他の適切な動作を実行するためにNVMプログラムメモリ195とインターフェイシング(interface)することができる。
【0096】
他の原理は装置プロセッサーが反複的な計算又はスマートメモリシステム900に他の作業を押しつけること(offload)を許容するようにする機能を有するスマートメモリコントローラ190を提供することができる。例えば、ARM、MIPs、又は他の望ましいプロセッサーの組合(例えば、32−ビットRICSプロセッサー)910が装置リソースを解消多様なプロセシング作業を実行するためにスマートメモリシステム900のスマートコントローラ190に包含されるか、或いは又はこれに連関され得る。
【0097】
さらに具体的に説明すれば、ARM、MIPs、又は他のRICSプロセッサー又はCPU910の他の形態はメモリインターフェイス194を通じてメーンシステムメモリにそれらを格納する前に、データに対する単純な又は複雑な計算を実行するためにメモリシステム900に包含され得り、その結果、スマートメモリコントローラ190に包含され得る。これは装置プロセッサーが多様な作業をメモリコントローラプロセッサー910に押しつけ、その結果、他の処理のためのシステムリソースを解消するように許容することによってスマートメモリシステムの向上された有用性(added value)を提供することができる。スマートメモリシステムバス935はスマートメモリコントローラ190、オフ−ロードプロセッサー(off−load processor)910、メモリモニター及び復旧領域905、NVMプログラムメモリ195、メモリインターフェイス194、及び/又はFIFO/SRAM領域915のような、スマートメモリシステムの多様な構成要素を共に連結することができる。
【0098】
スマートメモリコントローラ190は装置及び/又は論理構成要素920からスマートメモリコントローラ190へ伝達するバッファメモリへのFIFO及び/又はSRAMメモリ領域915を包含するか、或いは又はこれと関連され得る。ASIC(ロジック及び/又はアナログ)インターフェイス920はスマートメモリコントローラ190とASIC(ロジック及び/又はアナログ)構成要素925との間でインターフェイスを提供するように構成されることができる。メモリバス及び/又はインターフェイス194はスマートメモリコントローラ190とメモリアレイ及び/又はメモリ構成要素930との間を連結することができる。
【0099】
図14A及び
図14Bは本発明の実施形態によるスマートメモリシステムを含む装置を示すブロック図である。
図14Aを参照して、本発明の一実施形態にしたがって、スマートメモリシステム1000は多様なメモリ処理過程を使用して製作された1つ又はそれ以上のメモリチップ(例えば、1005、1015、及び/又は1010)を含むメモリ1002、多様な論理的な処理過程を使用して製作された1つ又はそれ以上のメモリプロセッサーチップ(図示せず)を含むスマートメモリコントローラ190を包含することができる。例えば、スマートメモリコントローラ190はメモリアレイ1002とスマートメモリコントローラ190との間で非同期式ハンドシェーキングインターフェイスを提供するように構成される共通アドレス、データ、及び/又はコントロールメモリバス1020を包含するか、或いはこれと関連され得る。スマートメモリコントローラ190は、前述したように、分析のためにメモリチップ1002から書込みエラータグメモリデータを押しつけるメカニズム、そしてリフレッシングのために貧弱な保有アドレステーブル(poor retention address table;PRAT)内の貧弱な保有ビットアドレス情報を格納するためのメカニズムを提供することができる。前述したように、プログラムロジックが電源管理ロジックのみでなく、メモリアドレス再構成のために包含され得る。
【0100】
メモリシステムはメモリアレイ1002及びスマートメモリコントローラ190の間で非同期式ハンドシェーキングインターフェイスを提供する共通のアドレス、データ、及び/又はコントロールメモリバス1020を包含することができる。書込みエラータグ及び書込み/検証回路1003は速い並列保有テスト(fast parallel retention test)を実行するためのテストのためのデザイン(Design for Test;DFT)回路1006にしたがってメモリに包含され得る。テストインターフェイス1008がSiPメモリテストのために包含され得る。コントロールレジスター及びマルチプレクシング回路もやはりアドレス再構成のために提供され得り、別の電源プレーン(power planes)及びゲーティング回路(gating circuitry)が電源管理のために包含され得る。本発明の実施形態によれば、SiPソリューションを使用してI/Oローディングを減少させることによって、クロックーレスメモリ動作(clock−less memory operation)を提供することによって、そして、使用されないメモリ領域を停止させることによって電力消耗を減少させ得る。電源制御、温度補償、及び非同期式タイミング回路は電力消耗を減少させ、さらに効率的な動作を提供することができるようにする。
【0101】
さらに詳細に説明すれば、
図14Aに示したように、スマートメモリプロセッサーは多様なタイプのメモリソリューション1004(例えば、DRAM1005、STT−RAM1015、及びMLCNANDメモリ1010)の間でインターフェイスとして提供されることができ、これらの各々は他の利益、能力、及び多様な装置ロジック(device logic)及びプロセシング要素(processing component)(例えば、ASICマルチ−コアプロセッサー1030、フィールドプログラマブルゲートアレイ(Field−Programmable Gate Array;FPGA)1035、アナログRF電源管理及びオーディオ/ビデオプロセッサー1040、そして多様な入力/出力(I/O)装置1045を有している。スマートメモリコントローラ190は読出し及び書込み成功を保障するためにハンドシェーキング回路1012を提供するメモリバス1020を通じて多様なメモリ装置と通信できる。メモリコントローラ190はシステムバス1025を通じて多様な装置ロジック及びプロセシング要素1004と通信できる。スマートメモリコントローラはさらに優れたエラー減少及び訂正能力とシステムに対する他の価値を提供する、先に
図12及び
図13で説明されたような構成要素を包含することができる。
【0102】
図14Bを参照して、コンピューターシステム1105はSATA、SCSI、USB、又は他のインターフェイス1112を通じて、ハードドライブ又は他の大容量格納媒体装置(SSD/HDD)のようなデータ格納システム1110と通信できる。本発明の実施形態によれば、コンピューターシステム1105は、例えば、高速メモリバス1125を通じて、SiP内へ提供されたワーキングメモリ1120(例えば、スマートメモリシステム)と通信するようにさらに構成されることができる。ワーキングメモリ1120内で、スマートメモリコントローラ190(本明細書で、STT−MRAMコントローラ)は非同期式ハンドシェーキングインターフェイス1130を通じてメモリ1115(不揮発性ワーキングメモリ、例えば、STT−MRAM、RRAM(登録商標))と通信するようにさらに構成されることができる。ハンドシェーキングインターフェイス1130は書込みエラータギング(write error tagging)及び再書込み能力のみならず、読出し/書込み確認応答(acknowledgement)を提供することができる。一定な電圧及び/又は電流制御システムが速いエラー率スクリーン能力と共に提供され得る。
【0103】
図15A及び
図15Bは各々本発明の実施形態によるピンアウトテーブル(pin out table)及びコマンドテーブルである。
図15Cは本発明の実施形態にしたがって、
図15A及び
図15Bのテーブルと関連された読出し/書込み動作ハンドシェーキング回路を示す図面である。
図16Aは本発明の実施形態によるテーブルである。
図16Bは本発明の実施形態にしたがって、
図16Aのテーブルと関連された確認応答(acknowledgement)と共に非同期式読出し動作を示すタイミング図である。
図17Aは本発明の実施形態によるテーブルである。
図17Bは本発明の実施形態にしたがって、
図17Aのテーブルと関連された確認応答(acknowledgement)と共に非同期式書込み動作を示すタイミング図である。
【0104】
図15A乃至
図15C及び
図17A乃至
図17Bを参照して、スマートメモリコントローラは適切な読出し及び/又は書込み動作を保障するために確認応答(acknowledgement)と共にハンドシェーキングインターフェイスを包含でき、このようにすることによってメモリエラーを減少させ得る。
図15A乃至
図15C、そして
図16A乃至
図16Bを参照して、ハンドシェーキングと共に非同期式読出し動作の間に、アドレス(例えば、A0乃至Aj)はアドレスライン1505に配置され得り、読出し信号(RD)1510は読出し動作をイネーブルさせるために制御ロジック140へ伝送され得る。有効アドレス(例えば、有効アドレス1605)がアドレスライン1505に現われること、確認応答信号(acknowledgement signal;ACK)1515はハイ(high)からロー(low)に遷移される。一端データが指示されたアドレス位置から成功的に読み出されれば、確認応答信号ACK1515はデータが有効であることを指示するためにローからハイに再び遷移される。その後、データはデータI/O1520を通じて出力され得る。
【0105】
図15A乃至
図15C及び
図17A乃至
図17Bを参照して、ハンドシェーキングと共に非同期式書込み動作の間に、メモリに書き込まれるデータはデータI/Oライン1520に配置され、アドレスはアドレスライン1505に配置され得る。書込み信号(WR)1525がアドレスライン1505に特定されたアドレス位置でメモリセルへの書込み動作を初期化させるために伝送され得る。一旦、確認応答信号ACK1515は書込み過程が開始されれば、ハイからロー状態に低下され得る。一旦、書込み動作が完了され、データが選択されたメモリセルに適切に書き込まれることによって検証されれば、書込み動作が成功的であることを示すために確認応答信号ACK1515がローからハイ状態に再び遷移される。
【0106】
I/O読出し/書込み評価領域1530は制御ロジック140からRD及び/又はWR信号を受信することができ、読出し及び書込み信号を処理できる。領域1530は処理過程に基づいて制御ロジック140へリターン信号1540を伝送することができる。DQ入力/出力領域1520は制御信号1540を通じて制御ロジック140によって制御され得る。確認応答(acknowledgement)と共に読出し及び書込み動作を提供することによって、確率的な傾向(exhibiting probabilistic tendencies)又は遅い読出し/書込み時間を保有するメモリは低いエラー率として具現され得る。
【0107】
図18Aは先に
図15A乃至
図18Bで説明されたような確認応答(acknowledgement)と共に読出し及び書込み動作を制御するために使用され得るメモリ制御回路を示すブロック図である。
図18Bは
図18Aの回路によって使用され、生成され得る信号を示すタイミング図である。
図18A乃至
図18Bを参照して、読出し(RD)信号1510及び/又は書込み(WR)信号1525が使用者指示に応答して装置によって生成され得る。RD又はWR信号が活性化された時、回路はそれをハイからロー状態に低下させることによって、確認応答ACK信号1515を順に初期化させる信号パルスPRWを生成することができる。
【0108】
さらに詳細に説明すれば、活性書込み信号(active write signal;WR)1525は書込みイネーブル信号(WEN)を提供するために入力バッファIBを通じて流れ得る。類似に、活性読出し信号(active read signal;RD)1510は読出しイネーブル信号RENを提供するために入力バッファIBを通じて流れ得る。イネーブル信号WEN又はRENがORゲート1805を通じて流れる時、ハイRW信号1810を生成し、NANDゲート1820で遅延された補完(delayed complement)1815と共に結合された時、そしてインバータ1825によって反転された時、パルスPRWを生成する。
【0109】
読出しサイクルで、RD信号1510は読出し経路及び読出しトラッキング回路(read tracking circuit)1830をターンオン(turn on)させることができる(以下、
図21で詳細に説明される)。メモリセルから読み出されたデータがデータ出力ラッチに成功的に検索され、ラッチされる時、読出しok(RD_OK)信号1835は(以下
図23Aで詳細に説明される)SAEタイミングトラッキング及び制御回路(SAE timing tracking and control circuitry)1840によって生成されることができるが、これはORゲート1850からOK信号1845を生成し、読出しサイクルが成功的に完了されたことを示すために確認応答(acknowledge;ACK)信号1515をハイ状態に再びもたらすことができる。
【0110】
類似に、書込みサイクルの間、書込み(WR)信号1525は(以下、
図20Bで詳細に説明される)書込み経路及び書込み確認回路(write path and the write confirmation circuit)1855をターンオン(turn on)させることができる。一端書込み検証回路1855を使用してデータが書き込まれ、検証されれば、書込みokWR_OK信号1860が生成され、これはORゲート1850からOK信号1845を生成し、書込みサイクルが成功的に完了されたことを示すために確認応答ACK信号1515をハイ(high)状態に再びもたらすことができる。
【0111】
さらに詳細に説明すれば、ORゲート1850を通過した時、書込み確認回路(write confirm circuit)1855からのWR_OK信号1860及び読出しトラッキング回路(read tracking circuit)1830からのRD_OK信号1835はOK信号1845を生成することができる。その後、OK信号1845は確認応答トリガーリング信号(acknowledge triggering signal;ACTB)1870を出力するラッチ1865へ伝送され得る。そして、ACTB信号1870はACK信号をハイ状態に再び戻されるためにプログラム可能な遅延(programmable delay)1875を通じて出力バッファ(OB)へ流れ得る。
【0112】
図19は
図16A乃至
図17Bの読出し及び書込み動作で使用され得る拡張性を有する階層的(scalable hierarchical)読出し/書込み構造を示す図面である。
図19を参照して、メモリ装置の読出し又は書込み動作はワードライン及びビットライン/選択ラインを使用してメモリアレイから選択されたメモリセルと関連して続いて進行することができる。選択されたメモリセルから検索されたデータはセルから出力されたデータを読み出すためにグローバルセンスアンプ(global sense amplifier;SA)(例えば、1905)へ伝送され得る。選択されたメモリセルに書き込まれるデータはグローバル書込み回路(例えば、1905)によってセルへ提供され得る。
【0113】
図20Aはメモリアレイ及び制御回路を示す図面である。
図20Bは書込み確認回路(write confirmation circuit)1855を示す図面である。
図20Bを参照して、書込み検証及び再書込み動作が詳細に説明される。書込み動作の間に、メモリアレイタイル(Memory Array Tile;MAT)領域内のメモリセルはそれの対応するワードライン(WL)及びビットラインBLを活性化することによって選択され得る。その後、データは選択されたメモリセルに書き込まれ得る。必要である書込みパルス幅(tWP)(例えば、5ns)の後に、書込み制御回路はローカル書込みイネーブル信号(local write enable signal;ENW)をディスエーブルさせることができる。その後、ローカル書込みイネーブル信号ENRは書込み動作の間に書かれた同一なアドレス位置からのデータを読み出すために生成され得る。データインDWラインは有効な状態を維持し、XNORゲート2005を通じてデータアウトDRラインと比較され得る。もし、2つのデータ信号DW及びDRが異なれば、書込みokWR_OK信号1860はロー(low)状態を維持し、書込み動作が成功的でないことを示すことができる。もし、2つのデータ信号DW及びDRが同一であれば(メモリセルに書き込まれるデータがセルから読み出されたデータと同一であることを示す)、WR_OK信号1860はハイ(high)状態になり、書込み動作が成功したことを示すことができる。先に説明されたように、その後、WR_OK信号1860はメモリコントローラへ書込み動作が成功てきであることを示す確認応答信号(acknowledgement signal)1515を生成するのに使用され得る。そうでなければ、書込み動作開始及びDRが有効になった後に、再びセッティング可能である(re−settable)レジスター又はイネーブル回路(図示せず)が、WR_OKがロー状態にリセットになり、維持されることを保障するために使用され得る。
【0114】
読出しトラッキングは書込み−検証読出し動作を完了し比較出力WR_OK信号1860をストロボ(strobe)するために使用され得る。WR_OK信号1860がハイ状態になる時、書込みサイクルが完成できる。もし、ロー信号がWR_OK信号1860へ転送されれば、書込み制御回路はデータを再書込みのために同一のアドレス位置で新しい書込みサイクルを生成し、検証過程が反複され得る。この過程は書込み動作が成功する時まで、又はセルが欠陥があることと判断されて、それの住所がNVMプログラムメモリ195へ伝送される時まで続ける。
【0115】
図21は読出しトラッキング回路(read tracking circuit)1830を示す図面である。
図22は電流−電圧コンバーター及び増幅回路を示す図面である。
図23A及び
図23BはSAEタイミングトラッキング及び制御回路を示すブロック図である。
図24はアナログ−デジタルコンバーター回路を示す図面である。
【0116】
図20A、
図20B、
図21、
図22、
図23A、
図23B及び
図24を参照して、読出しトラッキング回路1830で、ダミー読出し経路(dummy read path)は読出し回路RC遅延(delay)をトラッキングするのに使用され得る。読出しトラッキング回路1830は(
図7で図示されたことと類似な)電流メートルプリ−アンプ回路(current meter pre−amplifier circuits)と同様に、電流−電圧コンバーター及び増幅回路を包含することができる。ローカルカラム選択LCS回路2105はMAT領域2110と通信することができ、選択されたツルー及び相補のビットライン(true and complement bit lines)TBLH2120及びTBLL2125で感知されたデータにしたがって、ビットラインプリチャージ信号(BLPR)2115を読出しトラッキング回路1830へ通過させることができる。
【0117】
ダミー読出し経路(dummy read path)はビットライン(BLs)、カラム選択トランジスター、プリアンプ(pre−amps)及びグローバルセンスアンプ(global sense amps)を包含することができる。ツルー及び相補のダミーBLs(R
high、TBLH、R
low、and TBLL)は遅延感知(sensing delay)を発生させるのに使用され得る。第1段階(TDX/TDXB)から充分な分離が生成された時、ダミーセンスアンプの出力トラッキングセンスアンプ信号(例えば、
図24のTSAE2)は活性化され得る。活性のTSAE2信号は一般センスアンプSA2315に一般データをラッチさせ、各々のSA段階の電流経路を孤立させるために(
図23A及び
図23Bの)SAE2信号を作動させることができる。
【0118】
読出しイネーブル信号REN及びTSAE2は(
図23の)センスアンプタイミング制御回路2305へ入力され得る。センスアンプタイミング制御回路2305はビットラインプリチャージ(BLPR)信号2115及びセンスアンプイネーブル信号(例えば、SAE及びSAE2)を発生させ得る。ビットラインプリチャージ(BLPR)信号2115は読出し動作が実行される時間までハイ(high)状態に留まり得る。それが放出された後(例えば、シャットオフ(shut off))、読出しが実行され得る。さらに詳細に説明すれば、REN又はWENは読出し又は書込みのためのビットラインを放出させるBLPRを不活性化させることができる。センスアンプイネーブル信号SAEはRD_OK信号1835を生成するために(
図23Aの)プログラム可能である遅延(programmable delay)2310を通じて伝送され得る。(
図23Bの)センスアンプSA2315はセンスアンプイネーブル信号(SAE及びSAE2)と(
図19の)グローバルビットライン電圧GBL及びGRBLを受信し、読出しデータ信号DR2320を出力することができる。
【0119】
図25Aは本発明の実施形態による、温度補償電圧生成回路(temperature compensation voltage generation circuitry)2505を示す図面である。
図25Bは
図25Aの回路を含むシステムを示すブロック図である。以下、
図25A及び
図25Bを参照して説明される。
【0120】
例えば、低い読出し電圧及び電流は読出し動作の間にの読出しディスターブ(read disturbances)を防止するのに助けるので、電源管理システムはSTT−RAMメモリアプリケーションで重要であり得る。例えば、あまりにも高い読出し電流はデータを“1”から“0”に変化させることによってデータ変形(corruption)をもたらすことができる。
【0121】
スマートメモリコントローラ190は電源管理者193を包含することができる。電源管理者193はプロセス−電圧−温度(PVT)補償電圧発生器2505を包含することができる。PVT補償電圧発生器2505はM1トランジスターを通じて安定であり、一定な読出し電圧を提供するためにイネーブル読出しENR信号の電圧レベルを制御することができる。PVT補償電圧発生器2505はメモリ動作のための安定な供給電圧を提供するために電圧変動及び他の電圧変数を補償できる。PVT補償電圧発生器2505はMOSトランジスター(例えば、M1、M2、M3、及びM4)の複数のグループ(例えば、2510、2515、及び2520)に連結され得る。PVT補償電圧発生器2505は電圧レベルによって制御されるENR(voltage−level−controlled ENR)信号をMOSトランジスターのグループへ伝送することができる。ENR及びENRB信号はMOSトランジスターを通じて流れる安定であり、一定な読出し電流をもたらすことができる。例えば、電流IRL1及びIRL2はグループ2510と関連され、電流IRH1及びIRH2はグループ2520と関連され、電流IR1及びIR2はグループ2515と関連され得る。
【0122】
本発明の他の実施形態によるスマートメモリシステムはセンスアンプSA読出し電流、SAクランプ電圧(clamp voltages)、SA読出し遅延(read delay)、書込み電圧(write voltage)、準備状態間の周辺部電圧、及び/又はメモリ装置2515において、他の電源要求事項を制御できる電源管理技術を具現するように構成されることができる。電源管理システムは温度に基づいた補償(temperature−based compensation)を電圧レベルにさらに提供することができる。
【0123】
図26A及び
図26Bは本発明の実施形態によるシステムインパッケージ(System−in−Package;SiP)スマートメモリシステム2605を示すブロック図である。スマートメモリシステム2605はメモリスタック(memory stack)2610、スマートメモリコントローラ190、及び1つ又はそれ以上の汎用プロセッサー(general purpose processors)2620を包含することができる。例えば、本発明の実施形態による特定な特徴及び利得がシステムインパッケージ(System in Package;SiP)又はシステムオンチップ(System on Chip;SoC)デザインにおいて、スマートメモリシステムに結合されることによって実現されることができる。
【0124】
SiPにおいての本発明の実施形態による特徴は向上されたシステム動作を提供するためのメモリアレイ及びメモリプロセッサーの間の向上された結合から利益を得られることを認識しなければならない。例えば、これはツルーシリコンビア(True Silicon Via;TSV)又は他のシステムインパッケージ(System in−Package;SiP)技術のようなローレイテンシ及びハイスループットSiP相互接続(low latency and high throughput SiP interconnects)を利用することによって実現されることができる。例えば、TSV相互接続2625はメモリスタック2610及びスマートメモリコントローラ190を連結させることができる。類似に、TSV相互接続2630はスマートメモリコントローラ190と1つ又はそれ以上のARMプロセッサー2620を連結させることができる。そのようなシステムでの費用損失は相互接続技術費用が減少することによって最小化になり得る。
【0125】
図26Bを参照して、本発明の実施形態によるスマートメモリシステムがSiP装置として具現され得る。SiP装置はスマートメモリコントローラ190に配置された(例えば、STT−MRAMメモリスタック2610のような)メモリスタックを包含することができるが、メモリスタックは(例えば、汎用ARMプロセッサー2620のような)1つ又はそれ以上のRISCプロセッサーに順に配置され得る。メモリスタックは各々ツルーシリコンビア(True Silicon Vias;TSVs)2625及び2630を通じてスマートメモリコントローラ190、及びプロセッサー2620を備えたスマートメモリコントローラ190と通信できる。
【0127】
これらの図面と関連して説明される発明の思想はメモリ装置でビットエラー率(BER)自己内装テスト(built−in self test)を実行する能力を提供することができる。テストモードに進入した後、エラー率タイミングパターンが内部的に生成され得る。BER自己内装テストは内部的に生成されたエラー率タイミングパターンに基づいて実行され得る。BER自己内装テストに基づいてエラー率が測定され得る。測定されたエラー率に基づいて、1つ又はそれ以上のテストパラメーター(parameters)が自動的に調整され得り、ビットエラー率自己内装テストは調整されたパラメーターを使用して反複され得る。電圧レベル及び/又はパルス幅がアドレス位置、アドレスセグメント(segment)のために、又はメモリ装置と関連された全体のチップのために自動的に調整され得る。その次のテストは自己内装テストを改善し、向上させることができる調整された電圧レベル及び/又はパルス幅を包含することができる。これに対しては以下詳細に説明される。
【0128】
本発明の思想は高いエラー率を有するメモリビットを遮断するためのSTTMRAM、PCM及びReRAMメモリ製品のような抵抗性メモリに具現され得る。本発明の思想は簡単な機能テスト、安定性テスト、及び/又は保有特性テストに拡張され得る。1つ又は複数のテストモードはWER及びRERを自動的に評価するために使用され得り、結果はテストが完了されるか、或いは各々の電圧段階及びアドレス位置の後に読み出され得る。例えば、スマートメモリコントローラはBERがシステムエラー訂正コード(error correcting code;ECC)能力を超えて増加する時、フィールド内のメモリビットの状態をモニターリングし、メモリ空間を自動的に再配置することができる。スマートメモリコントローラは各々のアドレス位置、アドレスセグメントのために、又は全体のメモリチップのために、書込み又は読出し電圧及びパルス幅を調整するためのWER及び/又はRER結果を使用することができる。1つのスマートメモリコントローラ又はATEは複数のチップにおいて、テストを初期化させることができる。ウエハー及びパッケージレベルテストにおいて、ATEはテストモードを初期化させることができ、メモリチップは自己テストを完了することができ、そしてATEは最終結果を読み出すことができる。所定の実施形態で、特にメモリチップが既にフィールドで効率的に使用された時に、メモリチップに格納されたデータはテストの前に他のモジュへオフ−ロードされ(off−loaded)、テストの間に何らかのデータの変形も発生しないことを保障するためにテストの後に復旧されることができる。所定の実施形態で、テストの間に印加された電圧は制御されるか、或いは外部へ供給され得る。したがって、フェイルされたメモリ位置は確認され、修理されるか、或いは孤立されることができる。その上に、RER及びWER自己内装テスト(built−in self test)はメモリチップのための簡単なテスト発生及びデータ収集を許諾することができる。
【0129】
図27のメモリブロック
図2705を参照して、メモリ装置は1つ又はそれ以上のメモリコア(memory core)2710、1つ又はそれ以上のローカラムドライバー(row column driver)2715、及び1つ又はそれ以上のデータ読出し/書込みロジック領域(data read/write logic section)2720を包含することができる。そのようなメモリコア2710、ドライバー2715、及びロジック領域2720はブロック(即ち、BK[0:i])内に配置され得る。ビットエラー率(BER)制御ロジック2740はビットエラー率内装自己テストを制御することができる。スマートメモリコントローラ及び/又はATEはメモリ2705をBERテストモードにするためのコードを伝送することができる。BER制御ロジック2740は1つ又はそれ以上の入力アドレス(例えば、IA[0:k])信号を受信することができる。BER制御ロジック2740は示したように多様なメモリ構成要素2705に寄与される読出し/書込み電圧調整(即ち、Vrd及びVwr)のための電圧レギュレータ制御信号(voltage regulator control signal)を生成することができる。アドレス及びデータ発生器2780はBER制御ロジック2740に連結され得る。アドレス及びデータ発生器2780は1つ又はそれ以上の入力アドレス(例えば、IA[0:k])を受信することができ、BER内装自己テストでの使用のために内部で1つ又はそれ以上のアドレス及び/又はデータを発生させ得る。アドレス及びデータ発生器2780はビットエラー率内装自己テスト(bit error rate built−in self test)のための書込みエラーテストパターンを生成する書込みエラー率テストパターン発生器、及びビットエラー率内装自己テストのための読出しエラーテストパターンを生成する読出しエラー率テストパターン発生器を包含することができる。
【0130】
BER制御ロジック2740はコマンド制御及びテストモードロジック(command control and test mode logic)2745に連結され得る。コマンド制御及びテストモードロジック2745はテストモードレジスターをセッティングするために入力アドレスバッファ2750から1つ又はそれ以上の外部命令XCMD[0:n]信号、及び入力アドレスを受信することができる。入力アドレスバッファはBERテストモードでノーマル動作の時、外部アドレス信号XA[0:k]から、又は内部的に生成されたアドレスIA[0:k]から入力アドレスを受信することができる。コマンド制御及びテストモードロジック2745は書込みリセット(RSTW)、書込み(WR)、読出し(RD)、及び/又はテスト完了(EXTST)信号を包含でき、BER制御信号2740によって受信できる1つ又はそれ以上のテスト信号2742を発生させ得る。BER制御ロジック2740はテスト(TEST)、テストワイヤエラー率(test wire error rate;TWER)、テストパルス幅(TPWS)、及び/又はテスト電圧レギュレータ(TVRG)信号を包含でき、コマンド制御及びテストモードロジック2745によって受信できる1つ又はそれ以上の信号2743を発生させ得る。BER制御信号2740はデータI/Oバッファ及びレジスターテスト出力直列変換機(data I/O buffers and registers test output serializer)2735によって受信できる1つ又はそれ以上のテストデータアウト(例えば、TDO[0:x])信号も発生させ得る。
【0131】
メモリ2705はコマンド制御及びテストモードロジック2745及びBER制御ロジック2740に連結され得る読出し及び/又は書込みタイミング制御ロジック2775を包含することができる。読出し及び/又は書込みタイミング制御ロジック2775は対応するデータ読出し/書込みロジック2720に連結され得る。
【0132】
アドレス及びデータ発生器2780はマルチプレクサーのような選択器2790へ挿入できる(fed to)1つ又はそれ以上のテストデータイン(test data in)(例えば、TDIN[0:m])信号を発生させ得る。選択器2790は1つ又はそれ以上のデータイン(例えば、TDIN[0:m])信号を受信し、選択された信号をデータ経路ロジック(data path logic)2725へ伝送することができる。データ経路ロジック2725は1つ又はそれ以上のデータ読出し(例えば、DR[0:m])信号を生成し、これらをデータI/Oバッファ及びレジスターテスト出力直列変換機(data I/O buffers and registers test output serializer)2735へ伝送することができる。データI/Oバッファ及びレジスターテスト出力直列変換機2735は1つ又はそれ以上の外部データI/O(例えば、XDQ[0:m])信号、プロセッサー信号を受信でき、1つ又はそれ以上のデータイン(例えば、DIN[0:m])信号を発生させ得る。
【0133】
入力アドレスバッファ2750は1つ又はそれ以上の外部アドレス(例えば、XA[0:k])信号のみでなく、1つ又はそれ以上の内部的に生成されたアドレス(例えば、IA[0:k])信号も受信することができる。入力アドレスバッファ2750はコマンドコントロール及びテストモードロジック2745及びアドレスデコーダー2770に連結され得る。アドレスデコーダー2770はアドレスをデコーディングでき、ローカラムドライバー2715とインターフェイシングすることができる。
【0134】
入力クロックバッファ(input clock buffer)2755はテストクロック信号(例えば、TCK)、XCLKクロック信号、及び/又はTEST信号を受信することができる。入力クロックバッファ2775は入力アドレスバッファ2750、アドレスデコーダー2770、コマンドコントロール及びテストモードロジック2745、読出し/書込みタイミング制御ロジック2775、BER制御ロジック2740、及び/又はアドレス及びデータ生成器2780へ入力されることができる(fed to)クロック信号CLKを出力することができる。
【0135】
オンチップオシレータクロック発生器(on−chip oscillator clock generator)2760はTEST信号を受信でき、内部テストクロック(例えば、TCK)を発生させ得る。TCKクロック信号はアップ/ダウンカウンター2765へ入力され(fed to)、それの出力は電圧発生器2730及び読出し/書込みタイミング制御ロジック2775に連結され得る。電圧発生器2730はBER制御ロジック2740からVRG[0;j]信号のみならず、アップ/ダウンカウンター2765の出力を受信することができる。VRG[0;j]信号はj+1電圧レベルを選択することができる。 電圧発生器2730はデータ読出し/書込みロジック2720によって受信できる別の(j+1)読出し電圧(Vrd)レベル及び(j+1)書込み電圧(Vwr)レベルを出力することができる。Vrdパワーバス(power bus)はセンスアンプ(amplifier)、特に読出し電流バイアス回路を駆動することができる。Vwrパワーバスは書込みドライバーを駆動することができる。
【0137】
図28Aを参照して、シークェンスカウンター(sequence counter)2810はTEST信号及びクロック信号CLK)を受信でき、書込みエラー率(write error rate;WER)コマンドレジスター(command register)2815、読出しエラー率(read error rate;RER)コマンドレジスター2820、WERサイクルカウントレジスター(cycle count register)2825、及び/又はRERサイクルカウントレジスター2830へ伝送されることができるシークェンス信号2850を発生させ得る。WERコマンドレジスター2815及びWERサイクルカウントレジスター2825はTWER信号を受信することができる。RERコマンドレジスター2820及びRERサイクルカウントレジスター2830は各々TRER信号を受信することができる。選択器2845はWERコマンドレジスター2815及びRERコマンドレジスターの出力の間で選択することができる。選択器2845はRSTW信号、WR信号、及び/又はRD信号を出力することができる。選択器2855はWERサイクルカウントレジスター2825及びRERサイクルカウントレジスター2830の出力の間で選択することができる。選択器2855は次の電圧及び/又はパルス幅(next voltage and/or pulse width)への移動のためにNXT信号を出力することができる。
【0138】
1e
Nサイクル比較器(cycle comparator)2840はWERサイクルカウントレジスター2825又はRERサイクルカウントレジスター2830の出力を受信でき、次のアドレス(例えば、NXADR)パルス信号を次のメモリアドレス位置にの増分(increment)に生成することができる。WERテストで、書込み電圧はV
SW0から開始することができ、1e
NWERサイクル毎にdVずつ増加することができる。1つのWERサイクルはリセット−検証−書込み−検証シークェンス(reset−verify−write−verify sequence)を包含することができる。リセットは最大書込み電圧で実行され得る。検証は普通の(nominal)読出し電圧で実行され得る。その後、ビット(bit)のスイッチングがチェックされ得る。例えば、V
SW0は0.5V又はその付近の値であり得る開始書込み(即ち、セット)電圧であり得る。例えば、dVは0.1V又はその付近の値であり得る書込み電圧での増分変化量(incremental change)であり得る。書込み電圧(ending write voltage)はプログラム可能である。例えば、終了書込み電圧はV
SW0+(N×dV)で終了されるように構成されることができる。例えば、終了書込み電圧は0.5V+(10×0.1V)=1.5Vで終了されるように構成されることができる。
【0139】
RERテストで、読出し電圧はVrd0から開始することができ、1e
M読出しサイクル毎にdVずつ増加することができる。一実施形態で、各々のRERパターンは1e
K読出しサイクルDPによって後続するリセット−検証シークェンス(reset−verify sequence)を包含することができる。所定の実施形態で、M=Kパターン×反復回数Nであり得る。所定の実施形態で、RER=1e
−(K+N)であり得る。
【0140】
所定の実施形態で、データ出力は一般的に読み出されることができ、スマートメモリコントローラ又はATEによってキャプチャされることができる。他の実施形態で、WER及び/又はRER結果は各々の電圧段階(voltage step)の後に、フェイルされたアドレス位置と連関されることのみでなく、読み出され得る。そのような結果及びアドレス位置は予め−割当されたDQピン(pre−assigned DQ pins)を通じて読み出され得る。
【0141】
図28Bを参照して、最後アドレス比較器(last address comparator)2835はTEST信号、IA[0:k]信号、及びCLK信号を受信でき、EXTST信号を生成することができる。
【0142】
図29を参照して、カウンター2905はリセットエラー、書込みエラー、及び/又は読出しエラーをカウントすることができる。カウンター2905はXORゲート2925を包含することができる。XORゲート2925はDR[0:m]及びTDIN[0:m]信号を受信することができる。XORゲート2925の出力はリセットエラーカウンター(reset error counter)2910、書込みエラーカウンター(write error counter)2915、及び読出しエラーカウンター(read error counter)2920へ入力され得る。リセットエラーカウンター2910は自己内装テスト(built−in self test)のリセットエラーの回数をカウントすることができる。書込みエラーカウンター2915は自己内装テストの書込みエラーの回数をカウントすることができる。読出しエラーカウンター2920は自己内装テストの読出しエラーの回数をカウントすることができる。
【0143】
リセットエラーカウンター2910はRSTW信号を受信することができる。書込みエラーカウンター2915はWR信号をカウントすることができる。そして、読出しカウンター2920はRD信号を受信することができる。リセットエラーカウンター2910はリセットエラーカウント(例えば、RSERC[0:x])信号を生成することができる。書込みエラーカウンター2915は書込みエラーカウント(例えば、WRERC[0:x])信号を生成することができる。読出しエラーカウンター2920は読出しエラーカウント(例えば、RDERC[0:x])信号を生成することができる。例えば、40−ビットカウンターは1.1e−12までカウントすることができる。そのような場合に、x=39;例えば、RSERC[0:39]、WRERC[0:39]、及びRDERC[0:39]であり得る。面積を減らすために、単なる1つのカウンターがリセットエラー、書込みエラー、及び読出しエラーのために使用され得る。そのような実施形態で、
図3に図示された3つを1つに統合するマルチプレクサー(3−to−1 multiplexor)は必要しないので、除去されることができる。
【0144】
図30を参照して、選択器3010はRSERC[0:x]、WRERC[0:x]、及びRDERC[0:x]信号の間で選択することができる。選択された信号はテストデータ出力(例えば、TDO[0:x])信号として選択器3010によって出力され得る。例えば、選択器3010はマルチプレクサー(multiplexer)であり得る。
【0145】
図31Aを参照して、パルス幅レジスター(pulse−width register)3105はパルス幅を格納することができる。パルス幅レジスター3105はTPWS信号、CLK信号、IA[0:k]信号、及び/又はNXT信号を受信することができる。パルス幅レジスター3105は1つ又はそれ以上のパルス幅(例えば、PWS[0:j])信号を生成することができる。パルス幅レジスター3105はパルス幅発生回路で意図されたパルス幅遅延(intended pulse width delay)を選択するためのコードを提供することができる。例えば、4−ビットコード、PWS[0:3]は16つの他のパルス幅を選択することができる。書込みエラー率及び読出しエラー率はメモリセルを通じて流れる電流の量に依存することができる。本発明の実施形態はプログラム可能であるパルス幅及びプログラム可能であるVbias電圧を提供することができる。
【0146】
図31Bを参照して、電圧レギュレータレジスター(voltage regulator register)3110は電圧レベル選択器信号VRG[0:j]を生成することができる。電圧レギュレータレジスター3110はTVRG信号、CLK信号、IA[0:k]信号、及び/又はNXT信号を受信することができる。電圧レギュレータレジスター3110は電圧発生器で電圧バイアスレベルを選択するためのコードを生成することができる。例えば、4−ビットコード、VRG[0:3]は16つの他のレベルを選択することができる。格納された又は電圧レギュレータレジスター3110によって生成された値はリセットエラーカウント、書込みエラーカウント、及び/又は読出しエラーカウントに基礎することができる。
【0147】
図32は本発明の実施形態による書込みエラー率自己内装テスト(built−in self test)を実行する段階を示すフローチャートである。流れは経路3210及び3215の中で1つにしたがって開始段階3207で開始することができ、そこでモードレジスターセットコマンド(mode register set command)が“1”を記録するためのWERテストのためにローディングされるか、或いは(即ち、経路3210)、モードレジスターセットコマンドが“0”を記録するためのWERテストのためにローディングされ得る(即ち、経路3215)。3220段階で、内部クロックが開始され得る。流れは3225へ進行し、そこでエラーカウンターはリセットされる。すべてのエラーカウンター及びサイクルカウンターはテストの開始でリセットされなければならない。開始段階3207以後に、次のアドレス及びデータは3230段階で生成され、及び/又はアップデートされることができる。2335段階で、シークェンサー(sequencer)はWERタイミングパターンを生成することができる。その後、3240、3245、3250、及び3255段階で、各々メモリはリセットされ、リセットが検証され、データは記録され、そしてデータは検証され得る。例えば、“1”データを記録するために、メモリは最初に“0”にリセットされることができる(初期に格納されるか否かに関わらず“0”を記録)。その後、メモリは“0”が記録されたか否かを検証するために読み出され得る。そして、実際に“1”を記録ことが開始される。そして、データは“1”が記録されたか否かを検証するために再び読み出され得る。もし、第1番目のリセットがフェイル(fail)になれば、それは両側のビットは“1”にスタック(stuck)されていることを意味するか、又はバックホッピング現象(back−hopping phenomenon)として公知された、初期データは“0”であり、“1”にフリップ(flip)されることができる。バックホッピングが発生したか否かを判断するために、スタックビット(stuck bit)が先ず確認されなければならない。
3245段階でリセットが検証された後、3247段階でリセットがフェイルされたか否かがチェックされ得る。
【0148】
もし、“いいえ”であると判断されれば、流れは書込み/検証動作のために3250へ流れ得る。もし、リセットが失敗したことを意味する“はい”であると判断されれば、流れはリセットエラーカウントレジスター(reset error count register)がアップデートされるところである3260へ直ちに進行することができる。
【0149】
3265段階で、結果データが評価され、書込み動作が失敗したか否かが判断され得る。もし、書込み動作がフェイルになれば、流れはサイクルカウントレジスター(cycle count register)がアップデートされる3275段階へ進行する、書込みエラーカウントレジスター(write error count register)がアップデートされる3270段階へ流れ得る。そうではなければ、もし、書込み動作が成功すれば、流れはサイクルカウントレジスターがアップデートされる3275段階へ進行することができる。
【0150】
3280段階で、サイクルの回数が1e
Nに至ったか否かが判断される。例えば、Nの値は15であり得る。もし、“いいえ”であると判断されれば、流れはセル位置(即ち、メモリアドレス)及びエラーカウントが読み出される3290段階へ進行し、その後、追加的なリセット−検証−書込み−検証シークェンステスティング(reset−verify−write−verify sequence testing)のための3240段階へ進行することができる。大部分の場合、複数のセルは複数のDQ配置(DQ configuration)(例えば、X8、X16、又はX32等)と共に同時にテストされることができる。アドレス比較と共に、DQ毎の複数のビットは同時にテストされることができる。配置(configuration)に依存して、結果的なエラー率(resulting error rate)は正確でないことがあり、テスト時間は大体に減少することができる。例えば、結果は予め割当されたDQピン(pre−assigned DQ pin)を通じて順次的に、同時に、又はそれらの組合に読み出され得る。ブロック3290がテスト時間を節約するために省略されるように、又は各々の段階でテスト結果をデバッギングするか、或いは分析できるように追加的に構成されることができる。そうではなければ、もしサイクル回数は1e
Nより少ないことを意味する“はい”であると判断されれば、流れは最後アドレスに至ったか否かが判断される3285段階へ進行することができる。もし、“はい”であると判断されれば、テストが完了された以後に、流れは3295段階へ進行し、1e
−N(即ち、フェイルされたビットの数字を読み出す)以上のWERを有するビットの個数及びそれらの関連されたアドレスが読み出され得る。上述したように、例えば、結果が予め割当されたDQピン(pre−assigned DQ pin)を通じて順次的に、同時に、又はそれらの組合で読み出され得る。そうではなければ、もし、最後アドレスに到達しなかったことを意味する“いいえ”であると判断される場合、流れはエラーカウンターがリセットされ、テストが続けることである3225段階に戻られる。
【0151】
図33は本発明の実施形態による読出しエラー率自己内装テスト(built−in self test)を実行する段階を示すフローチャート3305である。流れは経路3310及び3315の中で1つにしたがって開始段階3307で開始することができ、そこでモードレジスターセットコマンド(mode register set command)が“1”を読み出すためのRERテストのためにローディングされるか、或いは(即ち、経路3310)、モードレジスターセットコマンドが“0”を記録するためのRERテストのためにローディングされ得る(即ち、経路3315)。3320段階で、内部クロックが開始され得る。流れはK値がプリセット(pre−set)される3340段階へ進行し、その後に、エラーカウンターがリセットされる3325段階へ進行することができる。すべてのエラーカウンター及びサイクルカウンターはテストの開始の時、リセットされることができる。
【0152】
開始段階3307の後、次のアドレス及びデータは3330段階で生成され、及び/又はアップデートされることができる。3335段階で、シークェンサー(sequencer)はRERタイミングパターンを生成することができる。その後、3345段階で、書込み−検証動作が実行され得る。
【0153】
3345段階での書込み−検証動作以後、3347段階で書込みが失敗したか否かが判断され得る。もし、“はい”であると判断される場合、流れは書込みエラーカウントレジスターがアップデートされるところである3365段階へ進行し、その後、流れは3367段階へ進行することができるが、それは次のアドレス処理のための3330段階へ進行するか、又は代わりに(例えば、J回再書込み動作の間に反復されることができ、Jは5−20の間又はその付近の間にある)他の書込み−検証動作のための3345段階へ進行することができる。そうではなければ、もし、書込みがフェイルにならなかったことを意味する“いいえ”であると判断されれば、流れは格納されたビットがK回読み出される3350段階へ進行することができる。
【0154】
3355段階で、結果データは評価され、読出し動作が失敗したか否かが判断され得る。もし、読出し動作が失敗であれば、流れは読出しエラーカウントレジスターがアップデートされる3360段階へ進行することができる。そうではなければ、もし読出し動作が成功すれば、流れはパターンカウントレジスターがアップデートされる3270段階へ流れ得る。
【0155】
3375段階で、パターンの数字が1e
Nに至ったか否かが判断され得る。例えば、Nの値は15であり得る。例えば、全体の読出しサイクルはN×Kであり得る。もし、“いいえ”であると判断されれば、流れはセル位置及び読出しエラーカウントレジスターが読み出される3385段階へ進行し、その後、流れは書込み−検証シークェンステスティング(write−verify sequence testing)をする3345段階へ戻られることができる。例えば、結果は予め割当されたDQピン(pre−assigned DQ pin)を通じて順次的に、同時に、又はそれらの組合で読み出され得る。そうではなければ、もし、パターンの数字が1e
Nより少ないことを意味する“はい”であると判断されれば、流れは最後アドレスに至ったか否かを判断する3380段階へ進行することができる。もし、“はい”であると判断されれば、流れは3390段階へ進行し、1e
−(N+K)以上のRERを有するビットの数字(即ち、フェイルされたビットの数字を読み出す)及びそれらの連関されたアドレスに至れば、その後、テストは終了され得る。先に説明されたように、例えば、結果は予め割当されたDQピン(pre−assigned DQ pin)を通じて順次的に、同時に、又はそれらの組合で読み出され得る。そうではなければ、もし、最後のアドレスに至らなかったことを意味する“いいえ”であると判断されれば、流れはエラーカウンターがリセットされる3225段階へ進行し、そして次のアドレス及びデータが生成され、及び/又はアップデートされる3330段階へ進行し、テストは続けることができる。
【0156】
図34は本発明の実施形態によるビットエラー率自己内装テスト(built−in self test)の段階を示すフローチャート3405である。流れはテストモードに進入する3410段階で開始し、データ“0”又は“1”のためのWERテストの中でいずれか1つが初期化されるか、又はデータ“0”又は“1”のためのRERテストの中でいずれか1つが初期化されることができる。流れは書込み及び読出しパルス幅がセッティングされる3415段階へ進行することができる。3420段階で、電圧範囲及び段階がセッティングされ得る。言い換えれば、読出し/書込み電圧範囲及び電圧段階のためのレジスターが設定(configure)されることができる。34235段階で、開始電圧及び方向がセッティングされ得る。例えば、開始電圧及び増加(increment)又は減少フラッグ(decrement flag)が設定され得る。3430段階で、テストが開始され得る。3435段階で、WER及び/又はRERテスト段階が
図32及び33で説明されたように実行され得る。例えば、3440段階で結果は予め割当されたDQピン(pre−assigned DQ pin)を通じて順次的に、同時に、又はそれらの組合で読み出され得る。3445段階で、完全な電圧範囲がテストされたか、又は完全なパルス幅の範囲がテストされたか否かに対して判断され得る。もし、“はい”であると判断されれば、テストは完成される。そうではなければ、もし電圧範囲内の追加的な電圧が未だテストされないことを意味するか、又は追加的なパルス幅が未だテストされないことを意味する“いいえ”であると判断されれば、流れはテスト電圧が次のプログラムされた電圧レベルにセッティングされるか、又はパルス幅が次のプログラムされたパルス幅にセッティングされる3450段階へ進行することができる。その後、流れは追加的なWER及び/又はRERテスティングを続けるか、又は反複するための3435段階へ戻られることができる。
【0157】
所定の実施形態で、WERデータはスイッチングされない確率(probability of not switching)(1/p)対書込み電圧(又は1/p対書込みパルス幅)としてフローティング(plot)されることができる(pはスイッチング確率、図示せず)。エラーカウントは以前のエラーカウントに関わらずに各々の電圧又はパルス幅で行われることができる。書込みエラー率は全体の有効書込み試図回数(total valid write attempts)に分けられた書込みエラーカウントと同一であり得る。この場合、有効でない書込み試図はリセットがフェイルされた場合であり得る。リセットフェイルは1ビットがスタック(stuck)されるか、又は2バックホッピング(back−hopping)が発生したことを意味することができる。例えば、WER“0”が実行される場合、“1”は初めて記録され(即ち、リセット動作)、その後、検証され(即ち、“1”を読み出すことが予想され)、その後、“0”が記録され、そして“0”が読み出されることが予想され得る。もし、リセットがフェイルになれば、“0”は“1”が予想されるところで読み出され得る。リセットがフェイルされたサイクルはWER計算から排除され得る。もし、ビットの初期状態が“0”であれば、それはスイッチしないことを(又は“0”にスタックされることを)意味することができる。もし、ビットの初期状態が“1”であれば、それはたとえ“1”が記録されても、“0”にスイッチングされることを意味することができる。これをほとんど高い書込み電圧で発生できるバックホッピング(back−hopping)であると称される。その上に、バックホッピングはリセット及び書込みサイクルが同時にフェイルされた時に発生したことを推論することができる。RERの場合は、たとえスイッチング確率対電圧又はパルス幅としてフローティングされるRERデータにおいて、ある程度差異があったとしても類似であり得る。本発明の実施形態はすべての未加工データ(raw data)がテスター又はマイクロコントローラで読み出されるように許容する。エンジニア又は技術者が分析するデータはいずれのデータが使用されるかを決定することができる。
【0158】
図35は本発明の実施形態にしたがって、データ“1”WER自己内装テスト(built−in self test)の波形を示すタイミング
図3505である。示したように、読出し命令は書込み命令に続け、その順序が反複され得る。示したように、IOxが低い状態である時、ビットライン(BLx)は3510で相対的に高い電圧レベルにあり、WR0(即ち、“0”)が記録されていることを分かる。BLxは3525で相対的に低い電圧レベルにあり、データは3515で読み出されることを分かる。3520で、ソースラインSLxは相対的に高い電圧レベルにあり、WR1(即ち、“1”)は記録されていることを分かる。その後、BLxは3535で相対的に低い電圧レベルにあり、データは3530で読み出されることを分かる。
【0159】
たとえ図示されなかったとしても、データ“1”RER自己内装テストは初期書込みの後の状態にある初期の差異(primary difference)と類似であり、読出し動作(例えば、3525、3535での)は複数回(例えば、1000回、10000回)反複され得る。他のパターンがテストされることができる。例えば、各々のパターンは10000回のサイクルの間にテストされることができる。最後のサイクルの後に、データがディスターブ(disturb)されたか否かを判断するためにメモリセルでのデータ値が評価され得る。例えば、そのようなテストは長い間に実行され、結果を検討し分析するためにチェックされ得る。
【0160】
図36は本発明の実施形態にしたがって、データ“0”WER自己内装テスト(built−in self test)の波形を示すタイミング
図3505である。示したように、読出し命令は書込み命令に続け、その順序が反複され得る。示したように、IOxが高い状態である時、ソースライン(SLx)は3610で相対的に高い電圧レベルにあり、WR1(即ち、“1”)が記録されていることを分かる。BLxは3625で相対的に低い電圧レベルにあり、データは3615で読み出されることを分かる。3620で、ビットラインBLxは相対的に高い電圧レベルにあり、WR0(即ち、“0”)が記録されていることを分かる。その後、BLxは3635で相対的に低い電圧レベルにあり、データは3630で読み出されることを分かる。
【0161】
たとえ図示されなかったとしても、データ“0”RER自己内装テストは初期書込みの後の状態にある初期の差異(primary difference)と類似であり、読出し動作(例えば、3625、3635での)は複数回(例えば、1000回、10000回)反複され得る。他のパターンがテストされることができる。例えば、各々のパターンは10000回のサイクルの間にテストされることができる。最後のサイクルの後に、データがディスターブ(disturb)されたか否かを判断するためにメモリセルでのデータ値が評価されることができる。例えば、そのようなテストは長い間に実行され、結果を検討し分析するためにチェックされ得る。
【0162】
図37は本発明の実施形態によるビットエラー率自己内装テストを実行する段階を示すフローチャート3705である。流れはWERテストが実行されるか否かが判断される3710段階で開始することができる。もし、“はい”であると判断されれば、流れはWERテスト結果が分析される3715段階へ進行することができる。その後、電圧レベル及び/又はパルス幅はアドレス位置のために3720段階で調整され得る。他の実施形態で、電圧レベル及び/又はパルス幅はアドレスセグメント(address segment)のために3725段階で調整され得る。その他の実施形態で、電圧レベル及び/又はパルス幅は全体のチップのために3730段階で調整され得る。
【0163】
そうではなければ、もし、WERテストが未だ実行されなかったことを意味する“いいえ”であると判断されれば、流れはRERテストが実行されたか否かが判断される3735段階へ進行することができる。もし、“いいえ”であると判断されれば、流れはさらに進んだ決定及び処理のために3710段階へ戻られる。そうではなければ、もし、“はい”であると判断されれば、流れはRERテスト結果が分析される3740段階へ進行することができる。その後、電圧レベル及び/又はパルス幅はアドレス位置のために3745段階で調整され得る。他の実施形態で、電圧レベル及び/又はパルス幅はアドレスセグメントのために3750段階で調整され得る。その他の実施形態で、電圧レベル及び/又はパルス幅は全体のチップのために3755段階で調整され得る。WER又はRERデータを分析することは適切な分析的なソフトウェアプログラム(appropriate analytical software program)を駆動する充分なプロセシングパワーを必要とすることがあり得る。分析オフチップ(analysis off chip)を実行することがさらに効率的であり得る。そのようなオフチップ分析(off chip analysis)は(SiPの場合に)メモリに連結されたこのような能力を備えたSoCで行われるか、又はテスターコンピューター(例えば、PC)で行われ得る。例えば、分析の結果は3720、3725、3730、3745、3750、及び3755段階を実行するのに使用され得る。その上に、メモリチップはそのような内装特性(features built−in)を有するように設計され得る。
【0164】
本明細書で図示されたか、又は説明された流れ図での構成要素及び判断は説明されたような特定な順に実行される必要はなく、むしろそのような構成要素及び判断は他の時間に又は他の順序に実行されることができることと理解されなければならない。
【0165】
図38は本発明の実施形態によるビットエラー率自己内装テスト発生器及び制御ロジック3830を含むシステム3800を示す図面である。BER制御ロジック3830はシステムバス3805に電気的に連結され得る。コンピューティングシステム3800はクロック(clock)3810、ランダムアクセスメモリ(random access memory;RAM)、フラッシュメモリ(flash memory)、又はMTTメモリ3815、スマートメモリコントローラ(smart memory controller)3845、ユーザーインターフェイス(user interface)3820、ベースバンドチップセット(baseband chipset)のようなモデム(modem)3825、及び/又は自動検査機器(automated test equipment;ATE)3835を包含でき、その中でいずれのことであるか、又はすべてのことはシステムバス3805で電気的に連結され得る。
【0166】
もし、コンピューティングシステム3800がモバイル装置であれば、それはコンピューティングシステム3800に電源を供給するバッテリー3840をさらに包含することができる。たとえ
図38に図示されなかったとしても、コンピューティングシステム3800はアプリケーションチップセット(application chipset)、カメライメージセンサー(camera image sensor;CIS)、モバイルDRAM(mobile DRAM)、及びそのようなものをさらに包含することができる。スマートメモリコントローラ3845及びメモリ3815はデータを格納するための不揮発性メモリを使用するソリッドステートディスク/ドライブ(solid state drive/disk;SSD)を包含することができる。
【0167】
例示的な実施形態で、コンピューティングシステム3800はコンピューター、ポータブルコンピューター(portable computer)、ウルトラモバイルPC(ultra mobile PC;UMPC)、ワークステーション(workstation)、ネットブック(net−book)、PDA、ウェブタブレット(web tablet)、無線フォン(wireless phone)、モバイルフォン(mobile phone)、スマートフォン(smart phone)、eブック(e−book)、PMP(portable multimedia player)、デジタルカメラ(digital camera)、デジタルオーディオレコーダー/プレーヤー(digital audio recorder/player)、デジタルピクチャ/ビデオレコーダー/プレーヤー(digital picture/video recorder/player)、ポータブルゲームマシン(portable game machine)、ナビゲーションシステム(navigation system)、ブラックボックス(black box)、3−Dテレビジョン(3−dimensional television)、無線環境で情報を送受信できる装置、溝ネットワークを含む多様な電子装置の中で1つ、コンピューターネットワークを含む多様な電子装置の中で1つ、テレマティクス(telematics)ネットワークを含む多様な電子装置の中で1つ、RFID、又はコンピューティングシステムを含む多様な電子装置の中で1つとして使用されることができる。
【0168】
以下の説明は本発明の内容が適用された適当なマシン(machine or machines)の簡単であり、一般的な説明を提供するためのことである。一般的に、マシンはプロセッサー(processors)、メモリ(memory)、例えば、ランダムアクセスメモリ(random access memory;RAM)、リードオンリメモリ(read−only memory;ROM)、又は他の状態保存媒体(state preserving medium)、格納装置(storage devices)、ビデオインターフェイス(video interface)、及び入/出力インターフェイスポート(input/output interface ports)に連結されたシステムバスを包含することができる。このマシンは少なくとも部分的に他の装置、仮想現実(virtual reality;VR)環境、バイオメトリックフィードバック(biometric feedback)、又は他の入力信号との相互作用から受信された指示によってのみならず、キーボード、マウス等のような入力一般的な入力装置からの入力によって制御され得る。ここで使用されたような“マシン(machine)”という用語は広くには単一のマシン(single machine)、仮想マシン(virtual machine)、又はマシン、仮想マシン又は共に動作する装置と通信することができるように連結されたシステムを含むことと意図され得る。例示的なマシンは個人用又は共用運送手段(例えば、自動車、汽車、タクシー等)と運送装置(transportation devices)のみならず、パーソナルコンピューター(personalcomputers)、ワークステーション(workstations)、サーバー(servers)、ポータブルコンピューター(portable computers)、ハンドヘルド装置(handheld devices)、電話機(telephones)、タブレット(tablets)のようなコンピューティング装置を包含することができる。
【0169】
マシンはプログラム可能である又はプログラムできないロジック装置又はアレイ(programmable or non−programmable logic devices or arrays)、応用注文形集積回路(Application Specific Integrated Circuits;ASICs)、埋め込み型コンピューター(embedded computers)、スマトカード(smart cards)、及びそれと類似なもののような埋め込みコントローラ(embedded controllers)を包含することができる。マシンはネットワークインターフェイス、モデム、又は他の通信可能である連結手段を通じて1つ又はそれ以上の遠隔マシンとして1つ又はそれ以上の連結を使用することができる。マシンはイントラネット(intranet)、インターネット(internet)、ローカル領域ネットワーク(local area networks)、広域ネットワーク(wide area networks)等のような物理的及び/又はロジカルネットワーク(logical network)の方法によって連結され得る。本技術分野での通常を知識を有する者はネットワーク通信がRF(radio frequency)、衛星(satellite)、マイクロウェーブ(microwave)、IEEE(Institute of Electrical and Electronics Engineers)545.11、ブルートゥース(Bluetooth(登録商標))、本発明の光(optical)赤外線(infrared)ケーブル(cable)レーザー(laser)等を包含する多様な有線及び/又は無線の近距離及び長距離キャリヤー(short range or long range carriers)プロトコル(protocols)を利用することができることを分かる。
【0170】
本発明の実施形態は作業を実行するか、或いは要約データタイプ又はローレベルハードウェアコンテキスト(low−level hardware contexts)を定義するマシンでの結果によってアクセスされる関数、手続、データ構造、アプリケーションプログラム、等を含む関連されたデータを参照して説明され得る。例えば、関連されたデータは揮発性及び/又は不揮発性メモリ(例えば、RAM、ROM、等)又は他の格納装置に格納されることができ、それらの関連された格納媒体はハード−ドライブ(hard−drives)、フロッピー(登録商標)ディスク(floppy−disks)、光学格納媒体(optical storage)、テープ(tapes)、フラッシュメモリ(flash memory)、メモリスティック(memory sticks)、デジタルビデオディスク(digital video disks)、バイオロジカル格納媒体(biological storage)等を包含することができる。関連されたデータはパケット(packets)、シリアルデータ(serial data)、パラレルデータparallel data)、伝播された信号(propagated signals)の形態に、物理的な及び/又は論理的ネットワークを含む伝送環境を通じて伝達され得り、圧縮された又は暗号化された形態に使用され得る。関連されたデータは劣悪な環境(distributed environment)で使用され得り、マシンアクセスのために局部的に及び/又は遠隔に格納され得る。
【0171】
説明された実施形態を参照して本発明の原理が説明されたが、説明された実施形態はそのような原理を逸脱しなく、変形され得り、何らかの望ましい方法で組合され得る。そして、たとえ先に説明されたことが特定な実施形態に焦点が当てられているが、他の構成が考慮されることができる。特に、“本発明の実施形態による”のような表現とこれと類似なことが本明細書で使用されたとしても、これらは一般的に実施形態の可能性を言及するために意図されたことであり、特定な実施形態の構成に本発明を限定するように意図されたことではない。ここで、使用されたように、これらの用語は他の実施形態に組合可能である同一又は他の実施形態を意味することができる。
【0172】
発明の実施形態は1つ又はそれ以上のプロセッサーによって実行可能である命令を含む一時的でないマシン可読な媒体(non−transitory machine−readable medium)を包含でき、命令は本明細書で説明されたような発明の構成要素を実行するための命令を包含することができる。
【0173】
本発明の思想は先に説明された要約で説明された特定な実施形態によって制限されなく、本発明の思想を利用する実施形態は本発明が属する技術分野で通常の知識を有する者に容易に理解され得る。これら、そして他の実施形態の詳細な事項は発明の詳細な説明及び図面に包含される。
【0174】
先に説明された実施形態はそれに本発明を限定することとして理解されてはならない。たとえ少ない実施形態が説明されたとしても、本発明の思想を利用する実施形態は本発明が属する技術分野で通常の知識を有する者は、多い変形が開示されたことの説示(novel teaching)及び利益を排除しなく、これらの実施形態で可能であることを分かる。したがって、すべてのそのような変形例は請求項で定義されることのような発明の思想の範囲内に含まれることと意図される。