(57)【特許請求の範囲】
【請求項１】
メモリセルに記憶されるように適応された第1のデータを前記メモリセルに予め記憶されている第2のデータと比較するように構成された比較ブロックを備えるメモリ回路であって、前記比較ブロックが、前記第2のデータが前記第1のデータに一致しない場合は前記第2のデータが記憶される前記メモリセルのアドレスを記憶するようにさらに構成され、前記第2のデータが前記第1のデータに一致しなかった後に、前記メモリセルが次に続く書込みサイクル中に書き込まれ、
前記メモリ回路への外部のデバイスによる通常の書込み動作のために前記メモリセルがアクセスされていないときに反転された前記第2のデータを前記メモリセルに記憶するように構成された制御ロジックをさらに備える、メモリ回路。
【請求項２】
前記アドレスがタグメモリに記憶される、請求項1に記載のメモリ回路。
【請求項３】
メモリアレイと、
前記メモリアレイと前記比較ブロックとの間に結合された書込みブロックと、
前記メモリアレイと前記比較ブロックとの間に結合され、前記第2のデータを検知するように適応された読出しブロックと
をさらに備える、請求項1に記載のメモリ回路。
【請求項４】
前記メモリセルがDRAM、SRAM、ROM、PROM、EEPROM、フラッシュ、FeRAM、PRAM、MRAMまたはSTT-MRAMのセルである、請求項1に記載のメモリ回路。
【請求項５】
前記メモリアレイが複数の前記メモリセルに結合された少なくとも1つの列を備え、前記列が第1の信号線および第2の信号線を備え、前記メモリセルが、前記第1の信号線に結合された第1の電流搬送端子と、前記第2の信号線に結合された第2の電流搬送端子と、ワード線に結合された制御端子とを備える、請求項3に記載のメモリ回路。
【請求項６】
前記メモリセルが、
前記メモリセルの前記第1の電流搬送端子に結合された第1の端子を有する磁気トンネル接合、および
前記メモリセルの前記第2の電流搬送端子に結合された第1の電流搬送端子と、前記メモリセルの前記制御端子に結合されたゲート端子と、前記磁気トンネル接合の第2の端子に結合された第2の電流搬送端子とを有する第1のトランジスタ
をさらに備える、請求項5に記載のメモリ回路。
【請求項７】
メモリ回路における書込み動作中に書込みエラーを訂正する方法であって、
書込み動作中に、メモリセルに記憶されるように適応された第1のデータを前記メモリセルに予め記憶されている第2のデータと比較するステップと、
前記第2のデータが前記第1のデータに一致しない場合は前記第2のデータが記憶される前記メモリセルのアドレスを記憶するステップと、
前記書込みエラーを訂正するために次に続く書込みサイクル中に前記メモリセルに書き込むステップと
を備え、
前記メモリ回路への外部のデバイスによる通常の書込み動作のために前記メモリセルがアクセスされていないときに反転された前記第2のデータを前記メモリセルに記憶するステップをさらに備える、方法。
【請求項８】
前記メモリセルの前記アドレスをラッチするステップと、
前記第1のデータをラッチするステップと、
前記メモリセルの前記アドレスにおいて前記第1のデータをメモリアレイに書き込むステップと、
前記書込み動作中に前記第2のデータを検知するステップと
をさらに備える、請求項7に記載の方法。
【請求項９】
メモリ回路における書込み動作後に書込みエラーを訂正する方法であって、
書込み動作後に、メモリセルに予め記憶されている第2のデータが前記メモリセルに記憶されるように適応された第1のデータに一致しない場合は第2のデータが記憶されるメモリセルのアドレスをロードするステップと、
前記第2のデータを検知するステップと、
前記第2のデータを反転するステップと、
前記書込みエラーを訂正するために、前記反転された第2のデータを前記第2のデータが記憶されている前記メモリセルのアドレスに書き込むステップと
を備える方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、参照によりその内容が全体として本明細書に組み込まれている、2010年11月18日に出願した「Memory Write Error Correction System」という名称の米国仮出願第61/415239号の35USC119(e)の下での優先権を主張するものである。
【０００２】
本出願は、2010年7月12日に出願した、「NON-VOLATILE STATIC RAM CELL CIRCUIT AND TIMING METHOD」という名称の、本発明の譲受人に譲渡された出願第61/363576号、2010年6月7日に出願した、「MULTI-SUPPLY SYMMETRIC DRIVER CIRCUIT AND TIMING METHOD」という名称の、本発明の譲受人に譲渡された出願第61/352306号、2009年9月11日に出願した、「DIFFERENTIAL READ AND WRITE ARCHITECTURE」という名称の、本発明の譲受人に譲渡された出願第12/558451号、2009年8月19日に出願した、「DYNAMIC MULTISTATE MEMORY WRITE DRIVER」という名称の、本発明の譲受人に譲渡された出願第12/544189号、および2010年10月12日に出願した、「PSEUDO PAGE MODE MEMORY ARCHITECTURE AND METHOD」という名称の、本発明の譲受人に譲渡された出願第12/903152号に関し、参照によりこれらすべての出願の内容が全体として本明細書に組み込まれている。
【０００３】
連邦政府支援の研究または開発の下で行われた発明に対する権利に関する陳述
本発明は、DARPAによって与えられた付与/契約番号HR0011-09-C-0023の下で米国政府の支援によって行われた。米国政府は、この発明における一定の権利を保有する。
【０００４】
本発明は、メモリ集積回路に関し、より具体的には不揮発性スタティックランダムアクセスメモリに関する。
【背景技術】
【０００５】
半導体メモリデバイスは、データを記憶するために電子システムにおいて広く使用されてきた。一般に、不揮発性メモリおよび揮発性メモリを含む2つのタイプの半導体メモリがある。スタティックランダムアクセスメモリ(SRAM)またはダイナミックランダムアクセスメモリ(DRAM)デバイスなどの揮発性メモリデバイスは、それに印加された電力が切られるとそのデータを失う。逆に、フラッシュ、消去可能プログラマブル読出し専用メモリ(EPROM)または磁気ランダムアクセスメモリ(MRAM)などの不揮発性半導体メモリデバイスは、それに印加された電力が切られた後にもその電荷を保持する。したがって、停電または電力の途絶によるデータの損失が容認できないところでは、データを記憶するために不揮発性メモリが使用される。
【０００６】
図1Aは、スピントランスファートルク(STT)MRAMセルを形成する際に使用される磁気トンネル接合(MTJ)構造10の簡略横断面図である。MTJ10は、部分的に、基準層12、トンネル層14、および自由層16を含むように示されている。基準層12および自由層16は、強磁性層である。トンネル層14は、非磁性層である。基準層12の磁化の方向は、固定であり、変わらない。しかし、自由層16の磁化の方向は、MTJ構造に十分に大きい電流を通すことにより変えることができる。図1Aでは、基準層12および自由層16は同じ磁化方向を有すると仮定する、すなわちそれらは平行状態にある。図1Bでは、基準層12および自由層16は反対の磁化方向を有すると仮定する、すなわちそれらは反平行状態にある。図1Cでは、基準層12および自由層16は、自由層16とトンネル層14の接触面によって定義される平面に対して垂直である同じ磁化方向を有すると仮定する。図1Dでは、基準層12および自由層16は、自由層16とトンネル層14の接触面によって定義される平面に対して垂直である反対の磁化方向を有すると仮定する。
【０００７】
図1Aに示すような平行状態から、図1Bに示すような反平行状態に切り替えるためには、基準層12の電圧電位を自由層16の電圧電位に比較して大きくする。この電圧差は、自由層16から基準層12へ流れるスピン偏極電子にそれらの角運動量を変えさせ、自由層16の磁化方向を図1Bに示すような反平行状態に変えさせる。反平行状態から平行状態に切り替えるためには、自由層16の電圧電位を基準層12の電圧電位に比較して大きくする。この電圧差は、基準層12から自由層16へ流れるスピン偏極電子にそれらの角運動量を変えさせ、自由層16の磁化方向を図1Aに示すような平行状態に変えさせる。
【０００８】
平行状態から反平行状態に、またはその逆に切り替えるためには、MTJ10に印加される電圧およびMTJを流れる対応する電流は、それぞれの対の閾値より大きくなければならない。切替えが生じるように閾値電圧を超えなければならない電圧はまた、切替電圧Vcと呼ばれる。同様に、切替えが生じるように閾値電流を超えなければならない電流は、切替電流Icと呼ばれる。よく知られているように、自由層16および基準層12が同じ磁化方向を有する(平行状態の)ときは、MTJ10は比較的低い抵抗を有する。逆に、自由層16および基準層12が反対の磁化方向を有する(反平行状態の)ときは、MTJ10は比較的高い抵抗を有する。MTJの物理的特性のために、MTJの状態を平行状態から反平行状態に変えるために必要とされる臨界電流は、しばしば、MTJの状態を反平行状態から平行状態に変えるために必要とされる臨界電流より大きい。
【０００９】
図2Aは、STT-MRAMセル30を一緒に形成するMTJ10および関連選択トランジスタ20を示す。トランジスタ20は、PMOSトランジスタに比較して、その本質的により高い電流駆動、より低い閾値電圧、およびより小さい面積のために、しばしばNMOSトランジスタである。以下でさらに詳しく説明するように、MRAM30に「1」を書き込むために使用される電流は、「0」を書き込むために使用される電流とは異なる。これら2つの書込み状態中に流れる電流の方向における非対称は、トランジスタ20のゲート-ソース間電圧における非対称によって生じる。したがって、「0」を書き込むために十分な電流を送るように適応された書込みドライバは、「1」を書き込むために十分な電流を提供することができない可能性がある。同様に、「1」を書き込むために十分な電流を送るように適応された書込みドライバは、「0」を書き込むために、そうでなければ許容可能な電流レベルであろう電流より大きい電流を送る可能性がある。
【００１０】
以下の説明では、MRAMセルは、その関連MTJの自由層および基準層が平行(P)状態にある、すなわちMTJが低い抵抗を示すときは、論理「0」状態にあると定義する。この低抵抗状態はまた、代替としてRlowまたはRP状態として示す。逆に、MRAMセルは、その関連MTJの自由層および基準層が反平行(AP)状態にある、すなわちMTJが高い抵抗を示すときは、論理「1」状態にあると定義する。この高抵抗状態はまた、代替としてRhighまたはRAP状態として示す。さらに、以下では、図2Aに示すように、MTJの基準層がその関連選択トランジスタに面していると仮定する。したがって、上記の議論によれば、矢印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)予め確立されたAP状態を安定させる。図2Bは、図2AのMRAM30の概略図であり、図2Aでは、MTJ10は、その抵抗が、そこに記憶されているデータに応じて変化する記憶要素として示されている。MTJは、その状態を、(i)電流が矢印35に沿って流れるときはPからAPに変え、(ii)電流が矢印40に沿って流れるときはAPからPに変える。
【００１１】
上記で説明したように、MTJをAP状態からP状態に、またはその逆に切り替えるために必要とされる電圧は、臨界値Vcを超えなければならない。この電圧に対応する電流は、臨界電流Icと呼ばれる。図3は、様々な書込みサイクル中のMTJ状態(またはその抵抗)の変化を表す。P状態(低抵抗状態)からAP状態(高抵抗状態)に移行するためには、Vcの正の電圧が印加される。AP状態になった後は、印加された電圧を除去することはMTJの状態に影響を与えない。同様に、AP状態からP状態に移行するためには、Vcの負の電圧が印加される。P状態になった後は、印加された電圧を除去することはMTJの状態に影響を与えない。MTJの抵抗は、MTJがAP状態にあって電圧を全然受けないかまたは非常に小さい電圧しか受けないときは、Rhighである。同様に、MTJの抵抗は、MTJがP状態にあって電圧を全然受けないかまたは非常に小さい電圧しか受けないときは、Rlowである。
【００１２】
図4Aは、反平行状態(すなわち高抵抗状態、または論理「1」状態)から、「0」(すなわち低抵抗状態、または論理「0」状態)を記憶するために平行状態に切り替わるようにプログラムされたMTJ10を示す。MTJ10は、最初は論理「1」状態またはAP状態にあると仮定する。上記で説明したように、「0」を記憶するためには、臨界電流より大きい電流Icがトランジスタ20を矢印40の方向に流れるようにする。これを実現するために、トランジスタ20のソースノード(SL)は、抵抗経路(図示せず)を介して大地電位に結合され、正の電圧Vppがトランジスタ20のゲートノード(WLまたはワード線)に印加され、正の電圧Vccがトランジスタ20のドレインノード(BLまたはビット線)に印加される。
【００１３】
図5は、図4Aおよび4Bに示すMTJ10などの従来のMTJのための、約25nsから35nsまでの間の時間に生じる「0」書込み動作中、および約45nsから55nsまでの間の時間に生じる「1」書込み動作中のノードWL、SL、SNおよびBLにおける電圧レベルの例示的タイミング図である。電源電圧Vccは、1.8ボルトであると仮定する。信号WL、ならびに列選択信号である信号CSは、3.0ボルトのより高いVppプログラミング電圧に上げられたように示されている。「0」書込み動作中は、ノードBL、SL、およびSNは、それぞれ1.43V、0.34V、および0.88Vにほぼ等しいように示されている。「1」書込み動作中は、ノードBL、SL、およびSNの電圧は、それぞれ0.21V、1.43V、および0.84Vにほぼ等しいように示されている。図示していないが、この例示的コンピュータシミュレーションでは、「0」書込み動作中および「1」書込み動作中にMTJを流れる電流は、それぞれ121μAおよび99.2μAである。
【００１４】
図4Bは、「1」を記憶するためにMTJが平行状態から反平行状態に切り替わるようにプログラムされていることを示す。MTJ10は最初は論理「0」または「P」状態にあると仮定する。「1」を記憶するためには、臨界電流より大きい電流Icがトランジスタ20を矢印35の方向に流れるようにする。これを実現するために、ノードSLは抵抗経路(図示せず)を介して電圧Vccを供給され、ノードWLは電圧Vppを供給され、ノードBLは抵抗経路(図示せず)を介して大地電位に結合される。したがって、「1」書込み動作中に、トランジスタ20のゲート-ソース間の電圧は(VWL-VSN)にセットされ、ドレイン-ソース間の電圧は(VSL-VSN)にセットされる。
【００１５】
冗長動作中に、メモリチップは、欠陥セルのアドレスロケーションを判定することにより、工場で(または販売業者が)テストし、修理することができる。その場合、正規のメモリアレイ内の行および/または列全体を、同じチップ上に提供される冗長行および/または列と取り替えることにより、欠陥アドレスロケーションを最終使用可能アドレス空間からマップアウトする。冗長マッピングは、コンテンツアドレス可能メモリ(CAM)ビットをアドレス/デコード回路の中の行および/または列レベルにおいてのみ粒状にすることにより実現される。冗長動作は、通常、メモリのメーカが製品の品質の制御を維持することができるようにメモリのエンドユーザには利用可能にされない特別のテスト動作モードによって行われる。実際の使用に供された後は、冗長によってマップアウトされたメモリアドレスロケーションはその部分の寿命の間マップアウトされたままである。逆に、エンドユーザによる通常の書込み動作中は、メモリアドレスロケーションは、個々のセルごとに粒状であり、再利用可能である(ROMまたはPROMなど、恒久的に変更されたメモリの場合を除く)。したがって、冗長動作は、エンドユーザによって行われる通常の書込み動作とは異なる。
【発明の概要】
【課題を解決するための手段】
【００１６】
本発明の一実施形態によれば、メモリ回路は、部分的に、メモリセルに記憶されるように適応された第1のデータをメモリセルに予め記憶されている第2のデータと比較するように構成された比較ブロックを含む。比較ブロックは、第2のデータが第1のデータに一致しない場合は第2のデータが記憶されるメモリセルのアドレスを記憶するようにさらに構成される。メモリセルは、次に続く書込みサイクル中に書き込まれる。
【００１７】
一実施形態では、アドレスはタグメモリに記憶される。
【００１８】
いくつかの実施形態では、メモリ回路は、部分的に、メモリアレイ、書込みブロックおよび読出しブロックをさらに含む。書込みブロックは、メモリアレイと比較ブロックとの間に結合される。読出しブロックは、読出しブロックが第2のデータを検知するように適応されるようにメモリアレイと比較ブロックとの間に結合される。
【００１９】
いくつかの実施形態では、メモリ回路は、外部のデバイスがメモリへの通常の書込み動作のためにメモリセルにアクセスしていないときにメモリセルに第2のデータの逆を記憶するように構成された制御ロジックをさらに含む。
【００２０】
一実施形態では、メモリセルは、DRAM、SRAM、ROM、PROM、EEPROM、フラッシュ、FeRAM、PRAM、MRAM、またはSTT-MRAMのセルである。
【００２１】
一実施形態では、メモリアレイは、部分的に、複数のメモリセルに結合された少なくとも1つの列を含む。列は、部分的に、第1の信号線および第2の信号線を含む。メモリセルは、部分的に、第1の信号線に結合された第1の電流搬送端子、第2の信号線に結合された第2の電流搬送端子、およびワード線に結合された制御端子を含む。
【００２２】
いくつかの実施形態では、メモリセルは、部分的に、磁気トンネル接合および第1のトランジスタをさらに含む。磁気トンネル接合は、メモリセルの第1の電流搬送端子に結合された第1の端子を有する。第1のトランジスタは、不揮発性メモリセルの第2の電流搬送端子に結合された第1の電流搬送端子、不揮発性メモリセルの制御端子に結合されたゲート端子、および磁気トンネル接合の第2の端子に結合された第2の電流搬送端子を有する。
【００２３】
本発明の一実施形態によれば、メモリ回路における書込み動作中に書込みエラーを訂正する方法は、部分的に、書込み動作中に、メモリセルに記憶されるように適応された第1のデータをメモリセルに予め記憶されている第2のデータと比較するステップと、第2のデータが第1のデータに一致しない場合は第2のデータが記憶されるメモリセルのアドレスを記憶するステップと、書込みエラーを訂正するために次に続く書込みサイクル中にメモリセルに書き込むステップとを含む。
【００２４】
いくつかの実施形態では、本方法は、部分的に、メモリセルのアドレスをラッチするステップと、第1のデータをラッチするステップと、第1のデータをメモリセルのアドレスにおいてメモリアレイに書き込むステップと、書込み動作中に第2のデータを検知するステップとをさらに含む。
【００２５】
本発明の一実施形態によれば、メモリ回路における書込み動作中に書込みエラーを訂正する方法は、部分的に、書込み動作中に、メモリセルに記憶されるように適応された第1のデータをメモリセルに予め記憶されている第2のデータと比較するステップと、第2のデータが第1のデータに一致しない場合は第2のデータを反転するステップと、書込みエラーを訂正するために、反転された第2のデータを第2のデータが第1のデータに一致しない場合は第2のデータが記憶されるメモリセルのアドレスに書き込むステップとを含む。
【００２６】
いくつかの実施形態では、本方法は、部分的に、メモリセルのアドレスをラッチするステップと、第1のデータをラッチするステップと、第1のデータをメモリセルのアドレスにおいてメモリアレイに書き込むステップと、書込み動作中に第2のデータを検知するステップとをさらに含む。
【００２７】
本発明の一実施形態によれば、メモリ回路における書込み動作の後に書込みエラーを訂正する方法は、部分的に、書込み動作の後に第2のデータが第1のデータに一致しない場合は第2のデータが記憶されるメモリセルのアドレスをロードするステップと、第2のデータを検知するステップと、第2のデータを反転するステップと、書込みエラーを訂正するために、反転された第2のデータを第2のデータが記憶されるメモリセルのアドレスに書き込むステップとを含む。
【図面の簡単な説明】
【００２８】
【図１Ａ】従来技術において知られているような、平行磁化状態に置かれたときの磁気ランダムアクセスメモリセルの磁気トンネル接合構造の簡略横断面図である。
【図１Ｂ】従来技術において知られている、反平行磁化状態に置かれたときの図1Aの磁気トンネル接合構造を示す図である。
【図１Ｃ】従来技術において知られているような、平行磁化状態に置かれたときの磁気ランダムアクセスメモリ(MRAM)セルの磁気トンネル接合構造の簡略横断面図である。
【図１Ｄ】従来技術において知られているような、反平行磁化状態に置かれたときの図1Cの磁気トンネル接合構造を示す図である。
【図２Ａ】従来技術において知られているような、関連選択トランジスタに結合された磁気トンネル接合構造のいくつかの層を示す図である。
【図２Ｂ】従来技術において知られているような、図2Aの磁気トンネル接合構造およびその関連選択トランジスタの概略図である。
【図３】従来技術において知られているような、印加電圧に応答する図2Aの磁気トンネル接合構造の抵抗の変化を示す図である。
【図４Ａ】従来技術において知られているような、反平行状態から平行状態に切り替わるようにプログラムされた磁気トンネル接合構造を示す図である。
【図４Ｂ】従来技術において知られているような、平行状態から反平行状態に切り替わるようにプログラムされた磁気トンネル接合構造を示す図である。
【図５】従来技術において知られているような、「0」書込み動作中および「1」書込み動作中の磁気ランダムアクセスメモリに関連するいくつかの信号の例示的タイミング図である。
【図６】本発明の一実施形態による、メモリシステムおよび関連回路の例示的ブロック図である。
【図７】本発明の一実施形態による、メモリシステムおよび関連書込みおよび読出し回路の一部の概略図である。
【図８】本発明の一実施形態による、メモリシステムおよび関連書込み回路の一部の概略図である。
【図９Ａ】本発明の一実施形態による、メモリシステムの書込み方法の一部を例示する例示的流れ図である。
【図９Ｂ】本発明の一実施形態による、メモリシステムの書込み方法の一部を例示する例示的流れ図である。
【図１０】本発明の一実施形態による、メモリシステムの再書込み方法の一部を例示する例示的流れ図である。
【発明を実施するための形態】
【００２９】
書込み動作中に、メモリセルは、たとえ同じ安定した状態の下ででも、それぞれ異なる場合にランダムにそれぞれ異なる書込み時間を示す可能性がある。そのような挙動は、工場試験中にふるい落とされる可能性がある摩耗機構から生じる可能性があるのではなく、メモリセルの書込み特性の確率的挙動から生じる。非確率的な理由から欠陥があると判定されたメモリセルは、冗長動作中に欠陥セルを冗長セルオンチップと取り替えることにより、不良チップを廃棄するかまたは欠陥を修理するために、工場で(販売業者が)試験することによってセルの母集団から除去することができる。しかし、残余の母集団は、依然として確率的挙動を示す可能性がある。代替として、工場から使用現場への出荷後、チップがエンドユーザによって正規に使用されるときに、メモリシステムは、低速書込みセルに対応するアドレスロケーションにフラグを立てることができ、それらのセルを使用可能なアドレス空間からマップアウトすることができる。マップアウトされたセルは常態に復することが期待されないので、低速書込みセルのエンドユーザマッピングによって、時間の経過につれて使用可能なアドレスロケーションの数が減少していくことになる。したがって、確率的セル挙動は、結果として、限られた冗長要素を激減させるために工場での生産を低下させるか、または使用現場において時間の経過につれて使用可能なアドレス空間を激減させることになる。
【００３０】
具体的には、書込み動作中に、メモリセルは、安定した環境状態の下でそれぞれ異なる場合にランダムにそれぞれ異なる時間を示す可能性がある。この挙動は、そうでなければ欠陥がないと判定されるべきセル母集団に関しても、任意の場合にデータをメモリシステムに書き込んでいる間にエラーを生じさせる可能性がある。この確率的セル挙動の問題を克服するために新しいメモリ回路の解決策が必要とされる。
【００３１】
本発明の諸実施形態によれば、タグメモリは、確率的挙動のために適切に書き込を失敗したデータのアドレスロケーションを記憶する。記憶されたタグアドレスロケーションは、ユーザが正規の書込み動作を開始した後にデータを再書き込みし訂正するために使用することができる。代替として、本発明は、セルが確率的挙動のために割当て時間内に書き込を失敗したときに、ユーザが開始した正規の書込み動作中にユーザに隠して書込みを実行することができる。図6は、本発明の一実施形態による、メモリシステムおよび関連回路100の例示的ブロック図である。メモリシステム100は、メモリアレイ102、行デコーダ110、列デコーダ120、アドレス指定回路130、制御ロジック140、検知および書込みドライバ150、隠し読出し比較160、書込みエラーアドレスタグメモリ170(代替として、本明細書ではタグメモリと呼ばれる)、およびデータ入力出力180を含む。アドレス指定回路130は、アドレスバッファおよびラッチ132、ならびにプリデコード134をさらに含む。データ入力出力180は、入力バッファデータインラッチ182、およびデータアウトラッチ出力バッファ184をさらに含む。本明細書では、検知および読出しという用語は、検知するおよび読み出すという用語と同様に、互換可能に使用することができることに留意されたい。
【００３２】
図6を参照すると、メモリアレイ102は、多くの列、ワード線、および列とワード線の交差点に配置されたメモリセルを含む。各メモリセルは、データビットを記憶することができる。メモリセルは、技術に応じて、DRAM、SRAM、ROM、PROM、EEPROM、フラッシュ、FeRAM、PRAM、MRAMまたはSTT-MRAMのセルでよい。例として、以下で説明する諸実施形態のうちのいくつかは、前述のSTT-MRAMセルを使用する。行デコーダ110は、プリデコード134によって駆動されるその入力バスによって判定されるワード線のうちの1つを選択し駆動する。列デコーダ120は、やはりプリデコード134によって駆動されるその入力バスによって判定される列のうちの1つを選択し駆動する。プリデコード134は、アドレスバッファおよびラッチ132からのアドレスバス信号、ならびに制御ロジックからのアドレス(ADDR)イネーブル信号に応答して行および列デコーダ入力バス信号を駆動する。アドレスバッファおよびラッチ132は、アドレスバスAからの信号[n:0]に応答し、データビットのロケーションに対応するメモリシステムの外から受信されたn+1のアドレス信号をラッチすることができる。アドレスバッファおよびラッチはまた、制御ロジックに応答する。
【００３３】
制御ロジック140は、図6において参照されるように、コマンドバスCMD[m:0]上でメモリシステムの外から信号を受信し、やはり隠し読出し比較160からのエラーフラグ165に応答する。制御ロジックは、検知および書込みドライバ150にR/W制御信号、データ入力出力180にDQ制御信号、および書込みエラーアドレスタグメモリ170に制御信号を送信する。
【００３４】
図6を参照すると、書込みエラーアドレスタグメモリ170は、以下でさらに詳細に説明するように、制御ロジック140およびエラーフラグ165に応答して双方向バスを介してアドレスバッファおよびラッチ132からアドレス信号を送受信する。書込みエラーアドレスタグメモリ170は、確率的挙動を示し、メモリシステムの書込みサイクルの下で首尾よく書き込まないメモリセルのアドレスを記憶することができる。書込みエラーアドレスタグメモリ170に記憶されているアドレスは、初めにメモリシステムに入力されたデータを適切に表すために論理的に反転される必要があるメモリに記憶されているデータビットを表す。書込みエラーアドレスタグメモリは、不揮発性メモリ、FIFO、SRAM、またはDフリップフロップレジスタでよい。書込みエラーアドレスタグメモリ170内のメモリセルは、メモリアレイ102内のメモリセルと同じ技術タイプおよび/または設計に基づいてよく、別の技術タイプおよび/または設計のものでもよい。書込みエラーアドレスタグメモリ170内のメモリの幅は、アドレス信号の数(すなわちn+1)に対応してよい。書込みエラーアドレスタグメモリ170内のメモリの深さは、再書込み動作ごとに所望されるまたは必要とされるエラー訂正可能ビットの数に依存してよい。例えば、確率的書込みエラーレートが平均メモリセル母集団に対して高い場合は、書込みエラーアドレスタグメモリの深さは、エラーレートが小さい場合より大きいように選ぶことができる。
【００３５】
入力バッファデータインラッチ182は、メモリシステムの外から双方向バスDQ[x:0]上でデータを受信しラッチし、そのデータを、双方向バスを介して、以下でさらに詳しく説明するように、検知および書込みドライバの間に組み込まれている隠し読出し比較160に送信する。データアウトラッチ出力バッファ184は、検知および書込みドライバ150から双方向バス上でデータを受信しラッチし、データを、双方向バスDQ[x:0]を介してメモリシステムの外に送信する。隠し読出し比較160は、以下でさらに詳しく説明するように、検知回路と書込みドライバとの間に組み込まれる。
【００３６】
図7は、本発明の一実施形態による、メモリシステム100および関連書込みおよび読出し回路の一部の概略図200である。概略図200は、メモリアレイタイルまたはMAT102、ローカル列選択回路(LCS)104、検知および書込みドライバ150、ならびに、隠し読出し比較160を含むように示されている。概略図200に示す実施形態は、STT-MRAMセルを含むが、その実施形態によって限定されず、上記で説明したように他のメモリタイプを含んでよい。
【００３７】
MAT102は、その選択トランジスタが、図6に関連して上記で説明した行デコーダ110によって駆動されるワード線WL0-WLnに結合されているいくつかのSTT-MRAMセル30を含む。STT-MRAMセルはまた、メモリアレイ102内の列の対に対応するソース線(SL)210とビット線(BL)212の対に結合される。MATは、やはりメモリアレイ102にあるLCS104によって選択可能な複数のSLとBLの対を含む。LCSは、列選択(CS)215、プリチャージ(PRE)235、分離トップ(ISOT)信号、および分離ボトム(ISOB)信号の制御の下で、MAT102内の選択されたSLとBLの対をMSL線220とMBL線230の対に結合するn-チャネル選択トランジスタの対を含む選択回路を含む。LCSは、それぞれのISOT信号またはISOB信号の1つをイネーブルにすることにより、LCSの上の隣接するMAT102を結合するかまたはLCSの下の隣接するMAT102を結合するかを判定する。図7に示す例では、上のMATは、ISOTをイネーブルにし、ISOBをディセーブルにすることにより選択される。複数のSLとBLの対の1つは、選択されたSLとBLの対をそれぞれMSL線およびMBL線に結合するために、列デコーダによって駆動されるCS信号によって選択される。PREがディセーブルにされたときには、SL/BLおよびそれぞれのMSL/MBL線は、書込み動作モードまたは読出し動作モードの準備ができている。MSL220およびMBL230は、LCS104から検知回路255(代替として、本明細書では読出しブロックと呼ばれる)および書込みドライバ250(代替として、本明細書では書込みブロックと呼ばれる)に結合される。代替実施形態(図示せず)では、当技術分野では一般に知られているように、SL信号およびMSL信号は、いくつかのROM、PROM、EPROM、EEPROM、およびフラッシュなど、機能するために相補列対を必要とせずそのソースがMATの中のアースに結合されたメモリセルに、単一の線列を提供するために、列および関連回路から省かれてよい。
【００３８】
図7に示すように、書込みドライバ250は、書込みドライバのデータ(D)入力に結合された隠し読出し比較160から制御ロジックによって駆動されるイネーブル書込み(ENW)信号260および出力(Y)に結合される。書込みモード動作中に、書込みドライバ250は、ENWの制御下で、後ほど詳しく説明するように、相補的なやり方でMSL線とMBL線(およびそれぞれのSL線とBL線の対)を駆動する。ENWがディセーブルにされたときは、書込みドライバ250は、MSL線およびMBL線を駆動しない。
【００３９】
図7では、検知回路255は、イネーブル読出し(ENR)信号240によってイネーブルにされ、電源に結合されたトランジスタM5およびアースに結合されたトランジスタM3を含む。M5およびM3は、それぞれENR信号およびそのコンプリメントに結合される。ENR信号およびENW信号は、同時にはイネーブルにされない。ENRがハイにイネーブルにされた(書込みドライバ250がディセーブルにされた)ときは、図7に示すように、トランジスタM3はオフであり、ENRによって制御されるトランジスタM4は、MBL信号を電流ミラーM1およびM2に渡し、トランジスタM5は、MSL220を電源に結合する。電流ID1は、MBLにおいてトランジスタM4を電流ミラーのトランジスタM1に流れる。図7はまた、信号IREF、および電流ミラーのM2を流れる電流ID2に結合された検知増幅器(SA)245を示す。SAは、ID2をIREFと比較し、双方向バスを介して結合されたデータ読出し線285上でデータアウト信号をデータアウトラッチ出力バッファ184および隠し読出し比較160に送出する。ENRがローにディセーブルにされたときは、M4はMBL230を電流ミラーから分離し、M3は電流ミラー入力をアース電圧に結合する。SA245はまた、MAT102の中にローカルに配置されてもよく、グローバル検知アンプおよびグローバル書込みドライバと共に配置されてもよい。
【００４０】
隠し読出し比較160(代替として、本明細書では比較ブロックと呼ばれる)は、図7に示すように、排他的論理和またはXOR275、インバータおよびマルチプレクサ270を含む。隠し読出し比較は、ENW260および再書込み(REW)信号290によって制御され、これらは両方とも制御ロジック140から送信される。XOR275の入力は、検知回路255からのDR285、およびENWに応答するラッチ182における入力バッファデータからのデータ書込みDW280である。マルチプレクサは、その2つの入力、反転されたDR285信号またはDW信号のどちらがその出力YからREWに応答する書込みドライバの入力Dへ通過するか選択する。隠し読出し比較160はまた、MAT102の中にローカルに配置されてもよく、グローバル検知アンプおよびグローバル書込みドライバと共に配置されてもよい。
【００４１】
図8は、図7において前に言及された書込みドライバ250に対応する本発明の一実施形態による、メモリシステムおよび関連書込み回路の一部の概略図300である。図8に示すように、書込みドライバ250は、ENW260の制御下でそれぞれSL信号およびBL信号を駆動する2つのインバータドライバ351および352を含む。SLはMSLに結合され、一方、反転されたBLはMBLに結合される。EN(ENW)がハイにイネーブルにされたときは、隠し読出し比較160からの入力Dの反転バージョンはBL信号に結合され、一方、入力Dの非反転バージョンはSL信号に結合され、BL信号およびSL信号は論理コンプリメントである。EN(ENW)がローにディセーブルにされたときは、両方のインバータドライバ351および352内のトランジスタは、入力Dの状態に関係なくオフであり、MSL線およびMBL線の制御は検知回路に戻る。
【００４２】
各書込みサイクルの後に、同じメモリロケーションの隠し読出しサイクルが続く。隠し読出し動作からのデータ(データアウト)は、書き込まれたばかりのデータビット値と比較される。データが一致する場合は、書込みサイクルは終了する。データが一致しない場合は、ERRORフラグが生成され、XORの出力はアクティブハイになる。このロケーションのためのメモリアドレスは、後での再書込み動作のために、「タグを付けられる」、または書込みエラーアドレスタグメモリに記憶される。
【００４３】
本発明の一実施形態によれば、前述のメモリアレイはまた、以下の動作を実行するための回路を含む。
前記データビットの前記アドレスを前記アドレス指定回路にラッチすること、
前記データビットを前記データ入力出力回路にラッチすること、
前記データビットを前記データビットの前記アドレスにおいて前記メモリアレイに書き込むこと、
前記データビットの前記アドレスにおいて前記メモリアレイからデータアウトビットを読み出すこと、
前記データビットがデータアウトビットに等しいかどうか判定するために前記データビットを前記データアウトビットと比較すること、
前記比較するステップが、前記データビットが前記データアウトビットに等しくないと判定した場合は、前記データビットの前記アドレスを前記書込みエラーアドレスタグメモリに書き込むこと、および前記比較するステップが、前記データビットが前記データアウトビットに等しいと判定した場合は、前記データビットの前記アドレスを前記書込みエラーアドレスタグメモリに書き込まないこと。
【００４４】
図9Aは、本発明の一実施形態による、メモリシステムの書込み方法の一部を例示する例示的流れ図400である。書込み動作410の開始後、アドレスおよびデータをラッチするステップ420中に、データ(代替として、本明細書では第1のデータと呼ばれる)は、ラッチ184において入力バッファデータにラッチされ、隠し読出し比較160内のマルチプレクサ270を介して書込みドライバ250の入力Dに渡される。さらに、アドレスおよびデータをラッチするステップ420中に、データビットのアドレスは、アドレスバッファおよびラッチ132にラッチされ、次にはメモリアレイにおいてワード線および列を選択する行デコーダおよび列デコーダのための入力バスを駆動するプリデコード134に渡される。次のステップは、ENWをイネーブルにすることによりメモリアレイ内の選択されたアドレスにおけるメモリセルにデータを書き込むステップ430である。
【００４５】
図9Aが続けて示すように、データ書込みステップに続いて、隠しデータ読出しステップ440が同じアドレスロケーション上で実行され、データアウトビットを隠し読出し比較160に渡す。読出しは、CMDバスを介してメモリシステムに命令する必要なしに書込み動作の一部として自動的に実行されるので隠される。次に、データインデータラッチ=データ読出しステップ450中に、ラッチ182内の入力バッファデータからのデータビット(すなわち、「真」または第1のデータビット)が、データビットがデータアウトビットに等しいかどうか判定するために、SA245からのデータアウトビット(すなわち、首尾よく書き込まれたかまたは書き込まれなかった可能性があるデータビット)(代替として、本明細書では第2のデータと呼ばれる)と比較される。論理比較が、隠し読出し比較160内の排他的論理和またはXOR275によって行われる。データビットがデータアウトビットに等しい場合は、書込み動作は首尾よく行われ、次の動作470が進行することができる。しかし、データビットがデータアウトビットに等しくない場合は、排他的論理和またはXORは、コントローラ140に、「タグを付けられた」アドレスをアドレスバッファおよびラッチから、双方向バスを介して、アドレスがそこに書き込まれ(動作460)、再書込み動作が以下で説明するように実行されることが可能になるまで記憶される書込みエラーアドレスタグメモリ170に渡すようにシグナリングするエラーフラグ(ERR)165をセットする。動作460は、透明な動作であり、次の記憶サイクルの初めに容易に行うことができる。これは、次の記憶動作470を遅らせない。
【００４６】
他の実施形態では、全書込みサイクルが追加の隠し書込み動作を含むように拡大されることが可能である。この場合、書込み訂正動作(再書込み)は、ユーザにとって透明でよい。書込みタイミング仕様は、この透明な再書込み時間を含むように作成することができる。したがって、書込みサイクル時間は、再書込みが必要とされてもされなくても同じでよい。
【００４７】
図9Bは、本発明の一実施形態による、メモリシステムの書込み方法の一部を例示する例示的流れ図500である。図9Bは、ステップ510から550までを示し、これらのステップは図9Aに示すステップ410から450までと同じであり、再度説明はしない。ステップ560では、メモリアレイ内の現在のアドレスロケーションにおけるデータアウトがSA出力DR285に渡される。次に、反転データ読出しステップ560が、データアウトビットを反転し、反転されたデータアウトビットを制御ロジックからのREW信号に応答するマルチプレクサ270を介して書込みドライバ250の入力Dに向ける、隠し読出し比較160におけるインバータによって行われる。次に、今訂正された反転データアウトビットをメモリアレイ内の現在のアドレスに書き込むために、反転されたデータを書き込むステップ570が実行される。次いで、次の動作580を行うことができる。
【００４８】
メモリシステムの仕様に応じて、タグを付けられたアドレスは、プロセッサまたはシステム周辺部がメモリにアクセスしていない都合のいいときに、タグを付けられたアドレスに配置されているメモリセルを再書込みするために使用することができる。再書込みサイクル中は、タグを付けられたアドレス内のデータが反転されるだけである。データを反転するためには、メモリビットは、隠し読出し特徴を使用して最初に読み出されなければならず、反対のデータがセルに書き込まれる。したがって、セルの前の確率的な長い書込み挙動によって生じた初めの書込みエラーが訂正される。代替として、データは、再書込みサイクルが進行中にメモリが「アクセス停止」信号をプロセッサまたはマスターシステムに送信するハンドシェーキングシステムにおいて直ちに訂正することができる。再書込み動作が完了した後は、「再書込み完了」信号をマスターシステムに送信することができる。
【００４９】
本発明の一実施形態によれば、前述のメモリアレイはまた、以下の動作を実行するための回路を含む。
前記データビットの前記アドレスを前記書込みエラーアドレスタグメモリから前記アドレス指定回路にロードすること、
前記データビットの前記アドレスにおいて前記メモリアレイ内のデータアウトビットを読み出すこと、
前記隠し読出し比較回路内の前記データアウトビットを反転すること、および
前記反転されたデータアウトビットを前記データビットの前記アドレスにおいて前記メモリアレイに書き込むこと。
【００５０】
図10は、本発明の一実施形態による、メモリシステムの再書込み方法の一部を例示する例示的流れ図600である。再書込み動作の開始610後、書込みアドレスタグメモリからアドレス指定回路にエラーアドレスをロードするステップ620中に、書込みエラーアドレスタグメモリ170からの「タグを付けられた」アドレスが、双方向バスを介してアドレスバッファおよびラッチ132にロードされる。次いで、前に「タグを付けられた」アドレスにおけるデータがデータ読出しステップ630中に読み出される。メモリアレイ内の「タグを付けられた」アドレスロケーションにおけるデータアウトがSA出力DR285に渡される。次に、制御ロジックからのREW信号に応答して、データアウトビットを反転し、反転されたデータアウトビットをマルチプレクサ270を介して書込みドライバ250の入力Dに向ける隠し読出し比較160内のインバータによってデータを反転するステップ640が実行される。次に、今訂正され反転されたデータアウトビットをメモリアレイ内の前に「タグを付けられた」アドレスに書き込むために、反転されたデータを書き込むステップ650が実行される。次いで、次の動作660を行うことができる。書込みエラーアドレスタグメモリに記憶されている前に「タグを付けられた」アドレスによって占められていたメモリ空間は、今や、次に続く書込みサイクル上の新しい「タグを付けられた」アドレスにとって利用可能にすることができる。
【００５１】
本発明の上記の諸実施形態は、例示的であって、限定的ではない。様々な代替形態および同等形態が可能である。本発明の諸実施形態は、メモリアレイにおいて使用される磁気ランダムアクセスメモリセルのタイプまたは数によって限定されない。本発明の諸実施形態は、磁気トンネル接合を形成するために使用される層の数によって限定されない。本発明の諸実施形態は、磁気メモリセルに印加される電圧レベルによって限定されない。本発明の諸実施形態はまた、書込みまたは再書込み動作中に同じ選択されたメモリセルの記憶要素上で見つけられたデータを書込みおよび再書込みするために使用されるメモリ回路によっても限定されない。本発明の諸実施形態は、磁気トンネル接合デバイスを選択するために使用されるトランジスタのタイプ、PMOS、NMOSなどによって限定されない。本発明の諸実施形態は、本発明を配置することができる集積回路のタイプによって限定されない。本発明の諸実施形態はまた、磁気ランダムアクセスメモリを製造するために使用することができるプロセス技術、例えば、CMOS、バイポーラ、またはBICMOSのいかなる特定のタイプにも限定されない。本明細書で説明した諸実施形態は、メモリ読出しおよび書込み回路を対象としてきたが、それらに限定されない。本明細書で説明した諸実施形態は、メモリセルにデータを記憶することが長い確率的書込み挙動の影響を受けるところならどこででも使用することができ、有用であることが分かるであろう。
【符号の説明】
【００５２】
10  磁気トンネル接合
12  基準層
14  トンネル層
16  自由層
20  トランジスタ
30  STT(スピントランスファートルク)-MRAMセル
100  メモリシステム
102  メモリアレイ、メモリアレイタイル(MAT)
104  ローカル列選択回路(LCS)
110  行デコーダ
120  列デコーダ
132  アドレスバッファおよびラッチ
134  プリデコード
140  制御ロジック
150  検知および書込みドライバ
160  隠し書込み比較
165  エラーフラグ
170  書込みエラーアドレスタグメモリ
180  データ入力出力
182  入力バッファデータインラッチ
184  データアウトラッチ出力バッファ
210  ソース線
212  ビット線
215  列選択
220  MSL線
230  MBL線
235  プリチャージ
240  イネーブル読出し信号
245  検知増幅器
250  書込みドライバ
255  検知回路
260  イネーブル書込み(ENW)信号
270  マルチプレクサ
275  排他的論理和またはXOR
280  データ書込み
285  データ読出し線
290  再書込み(REW)信号
351  インバータドライバ
352  インバータドライバ
【図１Ａ】
0005990859.tif 000002
【図１Ｂ】
0005990859.tif 000003
【図１Ｃ】
0005990859.tif 000004
【図１Ｄ】
0005990859.tif 000005
【図２Ａ】
0005990859.tif 000006
【図２Ｂ】
0005990859.tif 000007
【図３】
0005990859.tif 000008
【図４Ａ】
0005990859.tif 000009
【図４Ｂ】
0005990859.tif 000010
【図５】
0005990859.tif 000011
【図６】
0005990859.tif 000012
【図７】
0005990859.tif 000013
【図８】
0005990859.tif 000014
【図９Ａ】
0005990859.tif 000015
【図９Ｂ】
0005990859.tif 000016
【図１０】
0005990859.tif 000017