(57)【要約】【課題】本発明は、磁気抵抗素子等を備えたメモリセルに記憶されたデータの読出し及びメモリセルの不良を検出するデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法に関し、短時間でメモリセルの不良を検査できるデータ読出し用増幅回路及びそれを備えた半導体記憶装置と、読出しデータの誤りを検出して訂正できる半導体記憶装置及び読出しデータのデータ判定方法とを提供することを目的とする。【解決手段】データ読出し用増幅回路１３０１は、データメモリセルに記憶されたデータの読出し用のデータ読出し用クランプ部１２１２と、データメモリセルのショート不良の検出用のデータセルショート不良検出用クランプ部１２１１と、データメモリセルのオープン不良検出用のデータセルオープン不良検出用クランプ部１２１３とを有している。【選択図】図４
2007188591.tif 000002
【特許請求の範囲】
【請求項１】
データメモリセルに記憶されたデータの読出しに用いられ、データ読出し制御電圧に基づいて前記データに対応したデータ電圧を増幅するデータ読出し用増幅部と、
前記データ読出し用増幅部に並列に接続され、前記データ読出し制御電圧とは異なるデータセル不良検出制御電圧に基づいて、前記データメモリセルのショート不良又はオープン不良の少なくとも一方の不良検出に用いられる検出電圧を増幅するデータセル不良検出用増幅部と
を有することを特徴とするデータ読出し用増幅回路。
【請求項２】
抵抗メモリ素子を備えたデータメモリセルと、
請求項１記載のデータ読出し用増幅回路と、前記データ読出し用増幅回路からの出力電圧が入力されるインバータ回路を備えて前記出力電圧をさらに増幅する次段増幅回路とを備えたデータ読出し回路と、
前記データ読出し用増幅回路に所定の制御電圧を印加する制御電圧回路と
を有することを特徴とする半導体記憶装置。
【請求項３】
請求項２記載の半導体記憶装置において、
前記データメモリセルと同じ構成の冗長メモリセルと、
前記データ読出し回路と同じ構成の冗長データ読出し回路と、
前記データメモリセルが不良と判断されたら、前記冗長メモリセルから読出された読出しデータを用いて前記データメモリセルから読出された読出しデータの真値を判定するデータ判定回路と
をさらに有することを特徴とする半導体記憶装置。
【請求項４】
複数のデータメモリセルと、前記データメモリセルと同じ構成の冗長メモリセルとに記憶される「１」の合計数が常に奇数又は偶数になるように、前記冗長メモリセルに「１」又は「０」の値を記憶し、
前記複数のデータメモリセル及び前記冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記冗長メモリセルが前記不良状態か否かを検査し、
前記複数のデータメモリセル及び前記冗長メモリセルのいずれかが前記不良状態と判断されたら、前記不良状態の前記データメモリセル及び前記不良状態の前記冗長メモリセル以外から読出された「１」の合計数が奇数か偶数かによって、前記不良状態の前記データメモリセルから読み出された読出しデータの真値を判定すること
を特徴とする読出しデータのデータ判定方法。
【請求項５】
複数のデータメモリセルと、前記データメモリセルと同じ構成の複数の冗長メモリセルとに１誤り訂正２誤り検出ハミング符号化されたデータを記憶し、
前記複数のデータメモリセル及び前記複数の冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記複数の冗長メモリセルが前記不良状態か否かを検査し、
前記不良状態と判断された前記データメモリセル及び前記不良状態と判断された前記冗長メモリセルから読出された読出しデータを「０」又は「１」と仮定して、前記「０」又は前記「１」と、前記不良状態と判断されなかった前記データメモリセル及び前記冗長メモリセルから読み出された読出しデータとで構成されるデータ列を１誤り訂正２誤り検出ハミング符号によって復号化し、
誤りなし又は１誤り訂正による訂正可能と判断された前記データ列に含まれる前記「０」又は前記「１」を前記不良状態と判断された前記データメモリセルから読出された読出しデータの真値と判定すること
を特徴とする読出しデータのデータ判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、磁気抵抗素子、抵抗変化メモリ素子及び相変化メモリ素子等を備えたメモリセルに記憶されたデータの読出し及びメモリセルの不良を検出するデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法に関する。
【背景技術】
【０００２】
現在主流の半導体記憶装置には、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及びフラッシュメモリ等がある。ＳＲＡＭやＤＲＡＭは、半導体記憶装置への電源供給を停止すると記憶されているデータが消えてしまう揮発性メモリに分類され、フラッシュメモリは半導体記憶装置への電源供給が停止しても記憶されているデータが消えない不揮発性メモリに分類される。
【０００３】
新しい動作原理に基づく半導体記憶装置として、強誘電体メモリ（ＦｅＲＡＭ：Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気抵抗素子メモリ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、抵抗変化メモリ（Ｒｅｓｉｓｔａｎｃｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）及び相変化メモリ等が活発に研究されている。これらの半導体記憶装置はいずれも不揮発性メモリである。
【０００４】
強誘電体メモリは、強誘電体キャパシタを構成する強誘電体材料の分極の状態が２通りあり、それぞれの分極の状態で強誘電体キャパシタが異なる容量を持つことを利用して「０」又は「１」のデータを記憶することができる。強誘電体メモリでは、強誘電体キャパシタに印加する電圧の極性によって「０」又は「１」のデータが書込まれる。
【０００５】
磁気抵抗素子メモリは、磁性体／絶縁体／磁性体をこの順に積層した積層膜である磁気抵抗素子を用い、磁性体のうちの一方である自由層の磁化の方向によって異なる抵抗を示すことを利用して「０」又は「１」のデータを記憶することができる。磁気抵抗素子メモリは、電流を流して発生する磁場の向きにより「０」又は「１」のデータが書込まれる。磁気抵抗素子は、磁気トンネル接合素子（ＭＴＪ：Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ）と呼ばれることもある。相変化メモリは、結晶状態とアモルファス状態とで異なる抵抗を有することを利用して「０」又は「１」のデータを記憶することができる。相変化メモリは、加熱により結晶状態とアモルファス状態とを切り替えて「０」又は「１」のデータが書込まれる。抵抗変化メモリは、状態によって異なる抵抗を有することが知られているが、原理については諸説あり、詳細な原理が解明されるには至っていない。
【０００６】
上記の４種類のメモリのうち、強誘電体メモリを除く３種類のメモリ（以下、「抵抗メモリ」と総称する）においては、状態によって抵抗が変化し、その抵抗値を判定することによって記憶されたデータが読出される。また、抵抗メモリは、大きな電圧をかけることができない。
【０００７】
半導体記憶装置に対しては、常に市場から価格に対する要求がある。このため、半導体記憶装置の製造メーカ各社には、半導体記憶装置を低価格に製造する技術が求められている。半導体記憶装置の価格を決める要素の１つに製造歩留まりが挙げられる。抵抗の値を読出す種類の半導体記憶装置は、抵抗メモリ素子がＬ（低抵抗）状態及びＨ（高抵抗）状態のいずれと比べても異常に抵抗値の高くなるオープン状態と、Ｌ状態及びＨ状態のいずれと比べても異常に抵抗値の低くなるショート状態との２つの不良状態とを有することがある。オープン状態は開放状態と呼ばれることもあり、ショート状態は短絡状態と呼ばれることもある。半導体記憶装置のメモリセル群の中にオープン状態／ショート状態のメモリセルが存在すると、半導体記憶装置は正常に動作しない。オープン状態の場合、どのような状態のデータが書込まれていたとしても、データを読出したときにＨ状態となってしまう。ショート状態の場合、どのような状態のデータが書込まれていたとしても、データを読出したときにＬ状態となってしまう。
【０００８】
オープン状態／ショート状態のメモリセルを有する半導体記憶装置を出荷しないために、出荷前にオープン状態又はショート状態のメモリセルが存在しないかを検査する必要がある。その検査方法として、所定のメモリセルに、「「０」のデータ書込み→データ読出し→「１」のデータ書込み→データ読出し」を行い、２回のデータ読出しで異なった状態が読出せたか否かによって、メモリセルのオープン状態／ショート状態を判断する方法が用いられている。
【特許文献１】特願２００２−３５３７３５号公報
【特許文献２】特開２００２−２０３３９２号公報
【非特許文献１】Ｈｕｎｇ，Ｃ．Ｃ．ｅｔ  ａｌ．，  ”Ｈｉｇｈ  ｄｅｎｓｉｔｙ  ａｎｄ  ｌｏｗ  ｐｏｗｅｒ  ｄｅｓｉｇｎ  ｏｆ  ＭＲＡＭ”，  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅｓ  Ｍｅｅｔｉｎｇ，  ２００４．  ＩＥＤＭ  Ｔｅｃｈｎｉｃａｌ  Ｄｉｇｅｓｔ．  ＩＥＥＥ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  １３−１５  Ｄｅｃ．  ２００４  Ｐａｇｅ（ｓ）：５７５−  ５７８
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記の検査方法では、データの書込みに失敗したのか、あるいはデータを書込んだメモリセルが元々オープン状態／ショート状態であったのかが判定できない。加えて、当該検査方法は、「「０」のデータ書込み→データ読出し→「１」のデータ書込み→データ読出し」という４段階の手順が必要であり、全メモリセルの検査に多大な時間が必要になる。
【００１０】
また、例えメモリセルのオープン状態／ショート状態が検出できたとしても、当該メモリセルに記憶されていたデータの正しい結果まで検出することはできない。メモリセルにオープン状態／ショート状態を有する半導体記憶装置は出荷できず廃棄するしかない。このため、半導体記憶装置の製造歩留まりが低くなってしまう。
【００１１】
本発明の目的は、短時間でメモリセルの不良を検査できるデータ読出し用増幅回路及びそれを備えた半導体記憶装置を提供することにある。
また、発明の目的は、読出しデータの誤りを検出して訂正できる半導体記憶装置及び読出しデータのデータ判定方法を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的は、データメモリセルに記憶されたデータの読出しに用いられ、データ読出し制御電圧に基づいて前記データに対応したデータ電圧を増幅するデータ読出し用増幅部と、前記データ読出し用増幅部に並列に接続され、前記データ読出し制御電圧とは異なるデータセル不良検出制御電圧に基づいて、前記データメモリセルのショート不良又はオープン不良の少なくとも一方の不良検出に用いられる検出電圧を増幅するデータセル不良検出用増幅部とを有することを特徴とするデータ読出し用増幅回路によって達成される。
【００１３】
また、上記目的は、抵抗メモリ素子を備えたデータメモリセルと、上記本発明のデータ読出し用増幅回路と、前記データ読出し用増幅回路からの出力電圧が入力されるインバータ回路を備えて前記出力電圧をさらに増幅する次段増幅回路とを備えたデータ読出し回路と、前記データ読出し用増幅回路に所定の制御電圧を印加する制御電圧回路とを有することを特徴とする半導体記憶装置によって達成される。
【００１４】
上記本発明の半導体記憶装置において、前記データメモリセルと同じ構成の冗長メモリセルと、前記データ読出し回路と同じ構成の冗長データ読出し回路と、前記データメモリセルが不良と判断されたら、前記冗長メモリセルから読出された読出しデータを用いて前記データメモリセルから読出された読出しデータの真値を判定するデータ判定回路とをさらに有することを特徴とする。
【００１５】
また、上記目的は、複数のデータメモリセルと、前記データメモリセルと同じ構成の冗長メモリセルとに記憶される「１」の合計数が常に奇数又は偶数になるように、前記冗長メモリセルに「１」又は「０」の値を記憶し、前記複数のデータメモリセル及び前記冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記冗長メモリセルが前記不良状態か否かを検査し、前記複数のデータメモリセル及び前記冗長メモリセルのいずれかが前記不良状態と判断されたら、前記不良状態の前記データメモリセル及び前記不良状態の前記冗長メモリセル以外から読出された「１」の合計数が奇数か偶数かによって、前記不良状態の前記データメモリセルから読み出された読出しデータの真値を判定することを特徴とする読出しデータのデータ判定方法によって達成される。
【００１６】
また、上記目的は、複数のデータメモリセルと、前記データメモリセルと同じ構成の複数の冗長メモリセルとに１誤り訂正２誤り検出ハミング符号化されたデータを記憶し、前記複数のデータメモリセル及び前記複数の冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記複数の冗長メモリセルが前記不良状態か否かを検査し、前記不良状態と判断された前記データメモリセル及び前記不良状態と判断された前記冗長メモリセルから読出された読出しデータを「０」又は「１」と仮定して、前記「０」又は前記「１」と、前記不良状態と判断されなかった前記データメモリセル及び前記冗長メモリセルから読み出された読出しデータとで構成されるデータ列を１誤り訂正２誤り検出ハミング符号によって復号化し、誤りなし又は１誤り訂正による訂正可能と判断された前記データ列に含まれる前記「０」又は前記「１」を前記不良状態と判断された前記データメモリセルから読出された読出しデータの真値と判定することを特徴とする読出しデータのデータ判定方法によって達成される。
【発明の効果】
【００１７】
本発明によれば、短時間でメモリセルの不良を検査できるデータ読出し用増幅回路及びそれを備えた半導体記憶装置が実現できる。
また、本発明によれば、読出しデータの誤りを検出して訂正できる半導体記憶装置が実現できる。
【発明を実施するための最良の形態】
【００１８】
〔第１の実施の形態〕
本発明の第１の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図１乃至図９を用いて説明する。まず、本実施の形態のデータ読出し用増幅回路に用いられるクランプ部１１の基本構成及び基本動作原理について図１乃至図３を用いて説明する。抵抗メモリ素子は、磁化の方向等の状態によって抵抗値が変化するので、その抵抗値を判定することによって記憶されているデータを読出すことができる。また、抵抗メモリ素子には、相対的に高い電圧を印加することができない。このため、抵抗メモリ素子の読出し回路の増幅部には、図１乃至図３に示すクランプ部１１を備えたデータ読出し用増幅回路が適する。
【００１９】
図１は、データ読出し用増幅回路に備えられたクランプ部１１の概略構成を示している。図１に示すように、クランプ部１１は、電源電圧ＶＤＤが印加される電源端子と、不図示の抵抗メモリ素子に接続された出力ノード１６との間に配置されている。クランプ部１１は、直列接続された電流源１３及びクランプトランジスタ１２と、クランプトランジスタ１２と電流源１３との接続ノード（接続点）１５とを有している。クランプトランジスタ１２は、ｎＭＯＳＦＥＴである。クランプトランジスタ１２は、出力ノード１６に接続されたソース端子と、電流源１３の出力端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するクランプ電圧Ｖｃが入力されるゲート端子とを有している。電流源１３は出力電流量を調整してクランプトランジスタ１２に電流を供給するようになっている。出力ノード１６からクランプ部１１に印加されてクランプトランジスタ１２で増幅された電圧は接続ノード１５から出力されるようになっている。
【００２０】
図２は、電流源１３が１つのｐＭＯＳＦＥＴで構成されたクランプ部１１の回路構成を示している。図２に示すように、１つのｐＭＯＳＦＥＴで構成された電流調整用トランジスタ１４は、クランプトランジスタのドレイン端子に接続されたドレイン端子と、電源電圧ＶＤＤが印加されるソース端子とを有している。電流調整用トランジスタ１４のゲート端子には、クランプトランジスタ１２に供給する電流量を調整する電流調整用電圧Ｖｉが印加されるようになっている。
【００２１】
電流調整用電圧Ｖｉは、クランプトランジスタ１２のゲート端子に印加されるクランプ電圧Ｖｃとは独立に印加できるようになっている。電流調整用電圧Ｖｉ及びクランプ電圧Ｖｃはそれぞれほぼ一定電位である。電源電圧ＶＤＤ及び電流調整用電圧Ｖｉはほぼ一定電圧なので、電流調整用トランジスタ１４は定電流源として機能する。電流調整用電圧Ｖｉ及びクランプ電圧Ｖｃの電圧値は、読出し対象のメモリセル内の抵抗メモリ素子の抵抗値によって設定値が変えられる。例えば、Ｈ（高抵抗）状態の抵抗値が１６ｋΩであり、Ｌ（低抵抗）状態の抵抗値が１０ｋΩである磁気抵抗素子では、電流調整用電圧Ｖｉを１２００ｍＶとし、クランプ電圧Ｖｃを７１５ｍＶとするのが好適である。
【００２２】
図３は、カレントミラー回路で構成された電流源１３の回路構成を示している。図３に示すように、電流源１３は、ゲート端子が共通接続された一対のｐＭＯＳＦＥＴ３ａ、３ｂを有している。ｐＭＯＳＦＥＴ３ａ、３ｂのゲート端子はｐＭＯＳＦＥＴ３ａのドレイン端子に接続されている。ｐＭＯＳＦＥＴ３ａ、３ｂのソース端子には電源電圧ＶＤＤがそれぞれ印加されている。ｐＭＯＳＦＥＴ３ｂのドレイン端子はクランプトランジスタ１２（図３では不図示）のドレイン端子に接続されている。ｐＭＯＳＦＥＴ３ａのドレイン端子はリファレンス抵抗５の一端子に接続されている。リファレンス抵抗５の他端子はＧＮＤ（基準電位）に接続されている。電流源１３がクランプトランジスタ１２に供給する電流量はリファレンス抵抗５の抵抗値によって決められる。
【００２３】
次に、再び図２を用いてクランプ部１１の基本動作原理について説明する。電源電圧ＶＤＤが印加される電源端子と出力ノード１６との間には電流調整用トランジスタ１４とクランプトランジスタ１２とが直列に接続されている。不図示の抵抗メモリ素子の一端子は出力ノード１６に接続され、他端子はＧＮＤに接続されている。従って、電源端子とＧＮＤとの間には、電流調整用トランジスタ１４と、クランプトランジスタ１２と、抵抗メモリ素子とが直列に接続されている。
【００２４】
上述したように、電流調整用トランジスタ１４は定電流源として機能するので、クランプトランジスタ１２及び抵抗メモリ素子に一定の電流を流そうとする。クランプトランジスタ１２及び抵抗メモリ素子に流れる電流は実際には一定ではない可能性がある。しかし、以下本願では、クランプトランジスタ１２及び抵抗メモリ素子に流れる電流は理想的な一定電流であると仮定して説明する。これにより、クランプトランジスタ１２及び抵抗メモリ素子には、それぞれの抵抗値に比例した電圧が発生する。
【００２５】
抵抗メモリ素子は、書込まれたデータに応じて抵抗値が変化する可変抵抗として機能する。抵抗メモリ素子の抵抗値が高いほど出力ノード１６の電位は高くなる。このため、クランプトランジスタ１２のソース・ゲート間電圧は低くなり、ソース・ドレイン間の抵抗値が高くなる。クランプ電圧Ｖｃは、抵抗メモリ素子の抵抗値がＬ状態の場合とＨ状態の場合とで、クランプトランジスタ１２のソース・ドレイン間の電圧がクランプトランジスタ１２の閾値電圧又は閾値電圧付近を跨ぐように設定されている。このため、抵抗メモリ素子の抵抗値がＬ状態かＨ状態かによって、クランプトランジスタ１２のソース・ドレイン間の抵抗値は大きく変化する。クランプトランジスタ１２にも、理想的には一定電流が流れるため、僅かな抵抗メモリ素子の抵抗値の変化が接続ノード１５に大きな電位の変化となって出力される。すなわち、クランプ部１１は、閾値電圧附近でクランプトランジスタ１２のソース・ドレイン間の抵抗が大きく変化することを利用し、出力ノード１６に印加された電圧をクランプトランジスタ１２の抵抗変化で増幅して出力することができる。
【００２６】
抵抗メモリ素子の抵抗値がＬ状態の場合とＨ状態の場合とで、クランプトランジスタ１２の閾値電圧付近を跨ぐようにクランプ電圧Ｖｃを設定しないと、クランプトランジスタ１２のソース・ドレイン間で大きな出力電位差が得られない。従って、電流調整用電圧Ｖｉ及びクランプ電圧Ｖｃは、抵抗メモリ素子の抵抗値に基づいて慎重に選ばれる必要がある。
【００２７】
次に、図２に示す構成のクランプ部を備えてメモリセルに記憶されたデータを読出すデータ読出し用増幅回路１３０１及びそれを備えた半導体記憶装置１について図４乃至図８を用いて説明する。本実施の形態の半導体記憶装置１は２値のデータを記憶する磁気抵抗素子メモリに関する。半導体記憶装置１は、３つのクランプ部が並列接続されたデータ用クランプ部と、３つのクランプ部が並列接続されたリファレンス用クランプ部とを備えたデータ読出し用増幅回路を有し、各クランプトランジスタに印加するクランプ電圧を調整することにより、大きな電位の変化となって出力される入力電位の基準をクランプ部毎に変えている点に特徴を有している。また、データ読出し用増幅回路は、メモリセルに記憶されたデータに対応したデータ電圧と、メモリセルがオープン状態又はショート状態であるかを検出する検出電圧とを出力する点に特徴を有している。
【００２８】
図４は、本実施の形態によるデータ読出し用増幅回路（以下、必要に応じて「初段増幅回路」という）１３０１の概略構成を示している。図４に示すように、データ読出し用増幅回路１３０１は、データメモリセル（不図示）に記憶された記憶データに対応したデータ電圧を増幅するデータ読出し用クランプ部（データ読出し用増幅部）１２１２と、リファレンスメモリセル（不図示）に記憶されたリファレンスデータに対応したリファレンス電圧を増幅するリファレンス読出し用クランプ部（リファレンス読出し用増幅部）１２６２とを有している。データ読出し用クランプ部１２１２に印加されるデータ読出しクランプ電圧（データ読出し制御電圧）ＤＲｃと、リファレンス読出し用クランプ部１２６２に印加されるリファレンス読出しクランプ電圧（リファレンス読出し制御電圧）ＲＲｃとは、異なる電圧値に設定されている。データメモリセル内の磁気抵抗素子の抵抗値がＬ状態の場合には、データ読出し用クランプ部１２１２から出力される電圧はリファレンス読出し用クランプ部１２６２から出力される電圧より低くなり、データメモリセル内の磁気抵抗素子の抵抗値がＨ状態の場合には、データ読出し用クランプ部１２１２から出力される電圧はリファレンス読出し用クランプ部１２６２から出力される電圧より高くなるように、データ読出しクランプ電圧ＤＲｃ及びリファレンス読出しクランプ電圧ＲＲｃの電圧値はそれぞれ設定されている。このため、両クランプ部１２１２、１２６２からの出力電圧同士を比較することにより、データメモリセルに記憶されたデータの値を読出すことができる。
【００２９】
データ読出し用増幅回路１３０１は、データメモリセルがショート不良状態か否かを検出するデータセルショート不良検出用クランプ部（データセル不良検出用増幅部）１２１１と、データメモリセルがオープン不良状態か否かを検出するデータセルオープン不良検出用クランプ部（データセル不良検出用増幅部）１２１３とを有している。また、データ読出し用増幅回路１３０１は、リファレンスメモリセルがショート不良状態か否かを検出するリファレンスセルショート不良検出用クランプ部（リファレンスセル不良検出用増幅部）１２６１と、リファレンスメモリセルがオープン不良状態か否かを検出するリファレンスセルオープン不良検出用クランプ部（リファレンスセル不良検出用増幅部）１２６３とを有している。
【００３０】
データセルショート不良検出用クランプ部（以下、「ＤＣＳ検出用クランプ部」という）１２１１に印加されるデータセルショート検出クランプ電圧（セル不良検出制御電圧）ＤＳｃは、データ読出しクランプ電圧ＤＲｃより低い電位に設定されている。データセルオープン不良検出用クランプ部（以下、「ＤＣＯ検出用クランプ部」という）１２１３に印加されるデータセルオープン検出クランプ電圧（セル不良検出制御電圧）ＤＯｃは、データ読出しクランプ電圧ＤＲｃより高い電位に設定されている。
【００３１】
リファレンスセルショート不良検出用クランプ部（以下、「ＲＣＳ不良検出用クランプ部」という）１２６１に印加されるリファレンスセルショート検出クランプ電圧（リファレンス不良検出制御電圧）ＲＳｃは、リファレンス読出しクランプ電圧ＲＲｃより低い電位に設定されている。リファレンスセルオープン不良検出用クランプ部（以下、「ＲＣＯ検出用クランプ部」という）１２６３に印加されるリファレンスセルオープン検出クランプ電圧（リファレンス不良検出制御電圧）ＲＯｃは、リファレンス読出しクランプ電圧ＲＲｃより高い電位に設定されている。
【００３２】
データ読出し用クランプ部１２１２と、ＤＣＳ検出用クランプ１２１１と、ＤＣＯ検出用クランプ部１２１３とは、電源電圧ＶＤＤが印加される電源端子と、データメモリセル内の磁気抵抗素子に接続された出力ノード１１０１との間で並列に接続されている。リファレンス読出し用クランプ部１２６２と、ＲＣＳ検出用クランプ部１２６１と、ＲＣＯ検出用クランプ部１２６３とは、電源端子と、リファレンスメモリセル内の磁気抵抗素子に接続された出力ノード１１５１との間で並列に接続されている。
【００３３】
データ読出し用クランプ部１２１２は、電源端子と、出力ノード１１０１との間に直列接続されたデータ読出し電流調整用トランジスタ（以下、「ＤＲＩトランジスタ」という）１２２１とデータ読出し用クランプトランジスタ（以下、「ＤＲＣトランジスタ」という）１２１５とを有している。ＤＲＣトランジスタ１２１５はｎＭＯＳＦＥＴであり、ＤＲＩトランジスタ１２２１はｐＭＯＳＦＥＴである。
【００３４】
ＤＲＣトランジスタ１２１５は、出力ノード１１０１に接続されたソース端子と、ＤＲＩトランジスタ１２２１のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するデータ読出しクランプ電圧ＤＲｃが印加されるゲート端子とを有している。ＤＲＩトランジスタ１２２１は、電源端子に接続されたソース端子と、ＤＲＣトランジスタ１２１５に供給する電流量を調整するデータ電流調整用電圧ＤＶｉが印加されるゲート端子とを有している。
【００３５】
データ読出し用クランプ部１２１２は、ＤＲＣトランジスタ１２１５と、ＤＲＩトランジスタ１２２１との接続点（接続ノード）１１０３を有している。出力ノード１１０１からデータ読出し用クランプ部１２１２に印加されてＤＲＣトランジスタ１２１５で増幅されたデータ増幅電圧は、接続ノード１１０３から出力される。
【００３６】
ＤＣＳ検出用クランプ部１２１１及びＤＣＯ検出用クランプ部１２１３は、データ読出し用クランプ部１２１２と同様の構成を有している。ＤＣＳ検出用クランプ部１２１１及びＤＣＯ検出用クランプ部１２１３は、電源端子と、出力ノード１１０１との間に直列接続されたデータセル不良検出電流調整用トランジスタ（以下、「ＤＣＩトランジスタ」という）１２２０、１２２２と、データセル不良検出用クランプトランジスタ（以下、「ＤＣＣトランジスタ」という）１２１４、１２１６とをそれぞれ有している。ＤＣＣトランジスタ１２１４、１２１６はｎＭＯＳＦＥＴであり、ＤＣＩトランジスタ１２２０、１２２２はｐＭＯＳＦＥＴである。
【００３７】
ＤＣＣトランジスタ１２１４は、出力ノード１１０１に接続されたソース端子と、ＤＣＩトランジスタ１２２０のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するデータセルショート検出クランプ電圧（以下、「Ｄショート検出クランプ電圧」という）ＤＳｃが印加されるゲート端子とを有している。ＤＣＣトランジスタ１２１６は、出力ノード１１０１に接続されたソース端子と、ＤＣＩトランジスタ１２２２のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するデータセルオープン検出クランプ電圧（以下、「Ｄオープン検出クランプ電圧」という）ＤＯｃが印加されるゲート端子とを有している。ＤＣＩトランジスタ１２２０、１２２２は、電源端子に接続されたソース端子と、ＤＣＣトランジスタ１２１４、１２１６に供給する電流量を調整するデータ電流調整用電圧ＤＶｉが印加されるゲート端子とをそれぞれ有している。
【００３８】
ＤＣＳ検出用クランプ部１２１１及びＤＣＯ検出用クランプ部１２１３は、ＤＣＣトランジスタ１２１４、１２１６と、ＤＣＩトランジスタ１２２０、１２２２との接続点（接続ノード）１１０２、１１０４をそれぞれ有している。出力ノード１１０１からＤＣＳ検出用クランプ部１２１１及びＤＣＯ検出用クランプ部１２１３に印加されてＤＣＣトランジスタ１２１４、１２１６で増幅された不良検出増幅電圧は、接続ノード１１０２、１１０４からそれぞれ出力される。
【００３９】
リファレンス読出し用クランプ部１２６２は、データ読出し用クランプ部１２１２と同様の構成を有している。リファレンス読出し用クランプ部１２６２は、電源端子と、出力ノード１１５１との間に直列接続されたリファレンス読出し電流調整用トランジスタ（以下、「ＲＲＩトランジスタ」という）１２７１とリファレンス読出し用クランプトランジスタ（以下、「ＲＲＣトランジスタ」という）１２６５とを有している。ＲＲＣトランジスタ１２６５はｎＭＯＳＦＥＴであり、ＲＲＩトランジスタ１２７１はｐＭＯＳＦＥＴである。
【００４０】
ＲＲＣトランジスタ１２６５は、出力ノード１１５１に接続されたソース端子と、ＲＲＩトランジスタ１２７１のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するリファレンス読出しクランプ電圧ＲＲｃが印加されるゲート端子とを有している。ＲＲＩトランジスタ１２７１は、電源端子に接続されたソース端子と、ＲＲＣトランジスタ１２６５に供給する電流量を調整するリファレンス電流調整用電圧ＲＶｉが印加されるゲート端子とを有している。
【００４１】
リファレンス読出し用クランプ部１２６２は、ＲＲＣトランジスタ１２６５と、ＲＲＩトランジスタ１２７１との接続点（接続ノード）１１５３を有している。出力ノード１１５１からリファレンス読出し用クランプ部１２６２に印加されてＲＲＣトランジスタ１２６５で増幅されたリファレンス増幅電圧は、接続ノード１１５３から出力される。
【００４２】
ＲＣＳ検出用クランプ部１２６１及びＲＣＯ検出用クランプ部１２６３は、ＤＣＳ検出用クランプ部１２１１及びＤＣＯ検出用クランプ部１２１３と同様の構成を有している。ＲＣＳ検出用クランプ部１２６１及びＲＣＯ検出用クランプ部１２６３は、電源端子と、出力ノード１１５１との間に直列接続されたリファレンスセル不良検出電流調整用トランジスタ（以下、「ＲＣＩトランジスタ」という）１２７０、１２７２と、リファレンスセル不良検出用クランプトランジスタ（以下、「ＲＣＣトランジスタ」という）１２６４、１２６６とをそれぞれ有している。ＲＣＣトランジスタ１２６４、１２６６はｎＭＯＳＦＥＴであり、ＲＣＩトランジスタ１２７０、１２７２はｐＭＯＳＦＥＴである。
【００４３】
ＲＣＣトランジスタ１２６４は、出力ノード１１５１に接続されたソース端子と、ＲＣＩトランジスタ１２７０のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するリファレンスセルショート検出クランプ電圧（以下、「Ｒショート検出クランプ電圧」という）ＲＳｃが印加されるゲート端子とを有している。ＲＣＣトランジスタ１２６６は、出力ノード１１５１に接続されたソース端子と、ＲＣＩトランジスタ１２７２のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するリファレンスセルオープン検出クランプ電圧（以下、「Ｒオープン検出クランプ電圧」という）ＲＯｃが印加されるゲート端子とを有している。ＲＣＩトランジスタ１２７０、１２７２は、電源端子に接続されたソース端子と、ＲＣＣトランジスタ１２６４、１２６６に供給する電流量を調整するリファレンス電流調整用電圧ＲＶｉが印加されるゲート端子とをそれぞれ有している。
【００４４】
ＲＣＳ検出用クランプ部１２６１及びＲＣＯ検出用クランプ部１２６３は、ＲＣＣトランジスタ１２６４、１２６６と、ＲＣＩトランジスタ１２７０、１２７２との接続点（接続ノード）１１５２、１１５４をそれぞれ有している。出力ノード１１５１からＲＣＳ検出用クランプ部１２６１及びＲＣＯ検出用クランプ部１２６３に印加されてＲＣＣトランジスタ１２６４、１２６６で増幅されたリファレンス不良検出増幅電圧は、接続ノード１１５２、１１５４からそれぞれ出力される。
【００４５】
本実施の形態では、データメモリセル内の磁気抵抗素子の抵抗値はＬ状態で１０ｋΩ、Ｈ状態で１６ｋΩである。リファレンスメモリセル内の磁気抵抗素子の抵抗値は１０ｋΩに固定されている。電源電圧ＶＤＤは１８００ｍＶである。データ電流調整用電圧ＤＶｉ及びリファレンス電流調整用電圧ＲＶｉは、共に１２００ｍＶである。データ読出しクランプ電圧ＤＲｃは９００ｍＶであり、Ｄショート検出クランプ電圧ＤＳｃは８４０ｍＶであり、Ｄオープン検出クランプ電圧ＤＯｃは９６０ｍＶである。リファレンス読出しクランプ電圧ＲＲｃは８４０ｍＶであり、Ｒショート検出クランプ電圧ＲＳｃは７８０ｍＶであり、Ｒオープン検出クランプ電圧ＲＯｃ２は９００ｍＶである。各トランジスタ１２１４〜１２２２、１２６４〜１２７２のゲート幅は１．０μｍである。
【００４６】
次に、メモリセルに記憶されたデータを読出す読出し回路１３０３及びそれを備えた半導体記憶装置１について図５乃至図９を用いて説明する。図５は、セル不良検出機能を備えた読出し回路１３０３及びその周辺の回路ブロック図である。図６は、初段増幅回路１３０１及びメモリセル部の回路構成を示している。図５に示すように、読出し回路１３０３は、初段増幅回路１３０１と、次段増幅回路１３０２とを有している。初段増幅回路１３０１には、データ用の各クランプ電圧ＤＲｃ、ＤＳｃ、ＤＯｃと、データ電流調整用電圧ＤＶｉと、リファレンス用の各クランプ電圧ＲＲｃ、ＲＳｃ、ＲＯｃと、リファレンス電流調整用電圧ＲＶｉとを出力する制御電圧回路２０が接続されている。制御電圧回路２０は、例えばＤＣ−ＤＣコンバータ回路である。制御電圧回路２０は、例えば外部システムから印加される半導体記憶装置１の駆動電圧からデータ読出しクランプ電圧ＤＲｃ等を生成する。制御電圧回路２０は、半導体記憶装置１内に独立して形成された回路であったり、初段増幅回路１３０１の電源電圧ＶＤＤを生成する定電圧回路に含まれて形成されていたりしてよい。
【００４７】
読出し回路１３０３には、メモリセル部１３０４が接続されている。図６に示すように、メモリセル部１３０４は、カラムスイッチ１２１０と、複数のデータメモリセル群１２０１と、トランジスタ１２５６と、リファレンスメモリセル群１２５１とを有している。データメモリセル用の各クランプ部１２１１、１２１２、１２１３側の出力ノード１１０１には、カラムスイッチ１２１０を介してデータビットライン１２０８が例えば８〜１６本接続されている。各データビットライン１２０８には、データメモリセル群１２０１が接続されている。一方、リファレンス用の各クランプ部１２６１、１２６２、１２６３側の出力ノード１１５１には、トランジスタ１２５６を介してリファレンスビットライン１２５８が例えば１本のみ接続されている。リファレンスビットライン１２５８にはリファレンスメモリセル群１２５１が接続されている。
【００４８】
データメモリセル群１２０１中には、データビットライン１２０８に接続された複数（例えば１０２４個）のデータメモリセル１２０２が存在する。図６には、１つのデータメモリセル１２０２の回路のみが例示されている。データメモリセル１２０２は、磁気抵抗素子１２０４と選択トランジスタ１２０３とを有する１Ｔ１ＭＴＪ型である。１つのデータメモリセル群１２０１は１本のデータビットライン１２０８を介して１つのカラム選択トランジスタ１２０６に接続されている。磁気抵抗素子１２０４の一端子はデータビットライン１２０８を介してカラム選択トランジスタ１２０６のソース端子に接続され、他端子は選択トランジスタ１２０３のドレイン端子に接続されている。選択トランジスタ１２０３のソース端子はＧＮＤに接続され、ゲート端子はワードライン（不図示）に接続されている。カラム選択トランジスタ１２０６のドレイン端子は出力ノード１１０１に接続され、ゲート端子はカラム選択ライン（不図示）に接続されている。カラム選択トランジスタ１２０６のゲート幅は３．０μｍであり、選択トランジスタ１２０３のゲート幅は０．３６μｍである。
【００４９】
データメモリセル群１２０１、データビットライン１２０８及びカラム選択トランジスタ１２０６の組は、読出し回路１３０３内の初段増幅回路１３０１に対して８〜１６個存在し、いずれも出力ノード１１０１に接続されている。カラム選択ラインから印加されたカラム選択信号ＣＳｓにより、いずれか１つのデータメモリセル群１２０１が選択され、ワードラインから印加されたワードライン選択信号ＷＬｓにより、データメモリセル群１２０１内のいずれか１つのデータメモリセル１２０２が選択される。
【００５０】
リファレンスメモリセル群１２５１中には、リファレンスビットライン１２５８に接続された複数のリファレンスメモリセル１２５２が、例えばデータメモリセル１２０２と同数（例えば１０２４個）存在している。図６には、１つのリファレンスメモリセル１２５２の回路構成のみが例示されている。リファレンスメモリセル１２５２は、磁気抵抗素子１２５４と選択トランジスタ１２５３とを有する１Ｔ１ＭＴＪ型である。リファレンスメモリセル群１２５１には、データ読出し時に常時ＯＮ状態のトランジスタ１２５６が接続されている。半導体記憶装置１は、リファレンスメモリセル群１２５１、リファレンスビットライン１２５８及びトランジスタ１２５６の組を１つ有している。磁気抵抗素子１２５４の一端子はリファレンスビットライン１２５８を介してトランジスタ１２５６のソース端子に接続され、他端子は選択トランジスタ１２５３のドレイン端子に接続されている。選択トランジスタ１２５３のソース端子はＧＮＤに接続されている。選択トランジスタ１２５３のゲート端子には、電源電圧ＶＤＤが印加されている。トランジスタ１２５６のドレイン端子は出力ノード１１５１に接続されている。トランジスタ１２５６のゲート端子には、電源電圧ＶＤＤが印加されている。トランジスタ１２５６のゲート幅は３．０μｍであり、選択トランジスタ１２５３のゲート幅は０．３６μｍである。
【００５１】
データ側の接続ノード１１０３からの出力電圧と、リファレンス側の接続ノード１１５３からの出力電圧とを比較することによって、データメモリセル１２０２の記憶データを読出すことができる。また、接続ノード１１０２からの出力電圧はデータメモリセル１２０２がショート不良か否かの検出に用いられる。データメモリセル１２０２にショート不良が生じていると、接続ノード１１０２に基準電位（例えば電源電圧ＶＤＤの１／２の電位）より低い電位が出力される。接続ノード１１０４の出力電圧はデータメモリセル１２０２がオープン不良か否かの検出に用いられる。データメモリセル１２０２にオープン不良が生じていると、接続ノード１１０４に基準電位（例えば電源電圧ＶＤＤの１／２の電位）より高い電位が出力される。同様に、接続ノード１１５２の出力電圧はリファレンス側のリファレンスメモリセル１２５２がショート不良か否かの検出に用いられる。リファレンスメモリセル１２５２にショート不良が生じていると、接続ノード１１５２に基準電位（例えば電源電圧ＶＤＤの１／２の電位）より低い電位が出力される。接続ノード１１５４の出力電圧はリファレンスメモリセル１２５２がオープン不良か否かの検出に用いられる。リファレンスメモリセル１２５２にオープン不良が生じていると、接続ノード１１５４に基準電位（例えば電源電圧ＶＤＤの１／２の電位）より高い電位が出力される。
【００５２】
各クランプ部１２１１〜１２１３、１２６１〜１２６３の働きにより、接続ノード１１０２〜１１０４、１１５２〜１１５４の電位は以下のようになる。まず、両メモリセル１２０２、１２５２にオープン不良及びショート不良のいずれでも生じていない場合のデータ読出し用増幅回路１３０１の動作について説明する。データ側の磁気抵抗素子１２０４の抵抗値が１０ｋΩ（低抵抗）の場合にはリファレンス側の磁気抵抗素子１２５４の抵抗値と同じである。また、データ電流調整用電圧ＤＶｉ及びリファレンス電流調整用電圧ＲＶｉはいずれも１２００ｍＶに設定されている。このため、データ側の出力ノード１１０１の電位はリファレンス側の出力ノード１１５１の電位とほぼ等しくなる。データ読出しクランプ電圧ＤＲｃはリファレンス読出しクランプ電圧ＲＲｃより電位が高く設定されている。このため、ＤＲＣトランジスタ１２１５のソース・ドレイン間抵抗はＲＲＣトランジスタ１２６５のソース・ドレイン間抵抗より小さい。従って、データ読出し用クランプ部１２１２の接続ノード１１０３の電位は、リファレンス側の接続ノード１１５３の電位より低くなる。磁気抵抗素子１２０４の抵抗値が１６ｋΩ（高抵抗）の場合には、出力ノード１１０１の電位は出力ノード１１５１の電位より高くなる。ＤＲＣトランジスタ１２１５のゲート・ソース間電圧はＲＲＣトランジスタ１２６５のゲート・ソース間電圧より低くなる。このため、ＤＲＣトランジスタ１２１５のソース・ドレイン間抵抗はＲＲＣトランジスタ１２６５のソース・ドレイン間抵抗より大きくなる。これにより、接続ノード１１０３の電位は接続ノード１１５３の電位より高くなる。
【００５３】
Ｄショート検出クランプ電圧ＤＳｃはデータ読出しクランプ電圧ＤＲｃより電位が低く設定され、Ｄオープン検出クランプ電圧ＤＯｃはデータ読出しクランプ電圧ＤＲｃより電位が高く設定されている。このため、磁気抵抗素子１２０４の抵抗値が１０ｋΩ、１６ｋΩのいずれであっても、ＤＣＳ検出用クランプ部１２１１の接続ノード１１０２の電位は９００ｍＶより高く、ＤＣＯ検出用クランプ部１２１３の接続ノード１１０４の電位は９００ｍＶより低くなる。Ｒショート検出クランプ電圧ＲＳｃはリファレンス読出しクランプ電圧ＲＲｃより電位が低く設定され、Ｒオープン検出クランプ電圧ＲＯｃはリファレンス読出しクランプ電圧ＲＲｃより電位が高く設定されている。このため、ＲＣＳ検出用クランプ部１２６１の接続ノード１１５２の電位は９００ｍＶより高くなり、第２リファレンス不良検出用クランプ部１２６３の接続ノード１１５４の電位は９００ｍＶより低くなる。
【００５４】
次に、両メモリセル１２０２、１２５２に、オープン不良又はショート不良のいずれかが生じている場合のデータ読出し用増幅回路１３０１の動作について説明する。データメモリセル１２０２がショート不良の場合には、接続ノード１１０２の電位が９００ｍＶより低くなる。データメモリセル１２０２がオープン不良の場合には、接続ノード１１０４の電位が９００ｍＶより高くなる。リファレンスメモリセル１２５２がショート不良の場合には、接続ノード１１５２の電位が９００ｍＶより低くなる。リファレンスメモリセル１２５２がオープン不良の場合には、接続ノード１１５４の電位が９００ｍＶより高くなる。
【００５５】
図７は、次段増幅回路１３０２の回路構成を示している。図７に示すように、次段増幅回路１３０２は、交差結合型増幅回路１３０５とインバータ群１３０６とを有している。交差結合型増幅回路１３０５はデータメモリセルに記憶されたデータの値の読出しに用いられる。インバータ群１３０６はデータメモリセル１２０２及びリファレンスメモリセル１２５２が不良状態であるか否かの検出に用いられる。
【００５６】
交差結合型増幅回路１３０５は電源電圧ＶＤＤにソース端子が接続されたｐＭＯＳＦＥＴ２２と、基準電圧ＶＳＳ（例えばＧＮＤ）にソース端子が接続されたｎＭＯＳＦＥＴ２４とを有している。ｐＭＯＳＦＥＴ２２のドレイン端子と、ｎＭＯＳＦＥＴ２４のドレイン端子との間には、ＣＭＯＳインバータ２１、２３が並列接続されている。
【００５７】
ＣＭＯＳインバータ２１は、ｐＭＯＳＦＥＴ２６とｎＭＯＳＦＥＴ２８とがｐＭＯＳＦＥＴ２２のドレイン端子とｎＭＯＳＦＥＴ２４のドレイン端子との間に直列に接続されて構成されている。ｐＭＯＳＦＥＴ２６及びｎＭＯＳＦＥＴ２８のゲート端子はＣＭＯＳインバータ２１の入力端子であり、ｐＭＯＳＦＥＴ２６のドレイン端子とｎＭＯＳＦＥＴ２８のドレイン端子との接続点はＣＭＯＳインバータ２１の出力端子である。ｐＭＯＳＦＥＴ２６のソース端子はｐＭＯＳＦＥＴ２２のドレイン端子に接続され、ｎＭＯＳＦＥＴ２８のソース端子はｎＭＯＳＦＥＴ２４のドレイン端子に接続されている。
【００５８】
ＣＭＯＳインバータ２３は、ｐＭＯＳＦＥＴ３０とｎＭＯＳＦＥＴ３２とがｐＭＯＳＦＥＴ２２のドレイン端子とｎＭＯＳＦＥＴ２４のドレイン端子との間に直列に接続されて構成されている。ｐＭＯＳＦＥＴ３０及びｎＭＯＳＦＥＴ３２のゲート端子はＣＭＯＳインバータ２３の入力端子であり、ｐＭＯＳＦＥＴ３０のドレイン端子とｎＭＯＳＦＥＴ３２のドレイン端子との接続点は、ＣＭＯＳインバータ２３の出力端子である。ｐＭＯＳＦＥＴ３０のソース端子はｐＭＯＳＦＥＴ２２のドレイン端子に接続され、ｎＭＯＳＦＥＴ３２のソース端子はｎＭＯＳＦＥＴ２４のドレイン端子に接続されている。
【００５９】
データ読出し用クランプ部１２１２の接続ノード１１０３はＣＭＯＳインバータ２１の出力端子に接続されると共にＣＭＯＳインバータ２３の入力端子に接続されている。リファレンス読出し用クランプ部１２６２の接続ノード１１５３は、ＣＭＯＳインバータ２３の出力端子に接続されると共にＣＭＯＳインバータ２１の入力端子に接続されている。
【００６０】
交差結合型増幅回路１３０５は、初段増幅回路１３０１が動作して一定時間経過後に、ゲート電圧ｓｅｎｅをＨ（高電位）にし、ゲート電圧ｘｓｅｎｅをＬ（低電位）にすることにより活性化される。交差結合型増幅回路１３０５は活性化状態になると、接続ノード１１０３、１１５３に対してフリップフロップとして動作する。接続ノード１１０３の電位が接続ノード１１５３の電位より低い場合は、トランジスタ２８、３０がオン状態になり、トランジスタ２６、３２はオフ状態になる。従って、接続ノード１１０３は基準電圧ＶＳＳ（例えばＧＮＤ）と同電位となる。一方、接続ノード１１０３の電位接続ノード１１５３の電位より高い場合は、トランジスタ２６、３２はオン状態になり、トランジスタ２８、３０がオフ状態になる。従って、接続ノード１１０３は電源電圧ＶＤＤと同電位となる。交差結合型増幅回路１３０５がこのように動作して、次段増幅回路１３０２は、基準電圧ＶＳＳレベル又は電源電圧ＶＤＤレベルのデータ判定信号ＤＯを出力する。
【００６１】
インバータ群１３０６は、接続ノード１１０２、１１０４、１１５２、１１５４に生じた増幅電圧がそれぞれ印加される２段インバータ回路６１、６２、６３、６４を有している。２段インバータ回路６１、６２、６３、６４は接続ノード１１０２、１１０４、１１５２、１１５４と出力ノード１１１２、１１１４、１１６２、１１６４との間で直列接続された２つのインバータ回路ａ、ｂをそれぞれ有している。２段インバータ回路６１、６２、６３、６４は接続ノード１１０２、１１０４、１１５２、１１５４の電位を電源電圧ＶＤＤあるいは基準電圧ＶＳＳまで増幅する。例えば、２段インバータ回路６１は、接続ノード１１０２の電位が９００ｍＶより低い場合には基準電圧ＶＳＳレベルの電圧を出力ノード１１１２に出力し、接続ノード１１０２の電位が９００ｍＶより大きい場合には、電源電圧ＶＤＤレベルの電圧を出力ノード１１１２に出力する。２段インバータ回路６１がこのように動作して、次段増幅回路１３０２は、基準電圧ＶＳＳレベル又は電源電圧ＶＤＤレベルのデータセルショート判定信号ＤＳＯを出力ノード１１１２から出力する。
【００６２】
２段インバータ回路６２、６３、６４も２段インバータ回路６１と同様に動作するので、次段増幅回路１３０２は、データセルオープン判定信号ＤＯＯを出力ノード１１１４から出力し、リファレンスセルショート判定信号ＲＳＯを出力ノード１１６２から出力し、リファレンスセルオープン判定信号ＲＯＯを出力ノード１１６４から出力する。
【００６３】
データメモリセル１２０２に記憶されたデータの読出しに対して交差結合型増幅回路１３０５を用いることにより、抵抗変化率（例えば６０％）が磁気抵抗素子１２０４の面内ばらつきに対して十分大きくない場合でも、次段増幅回路１３０２は接続ノード１１０３の電位を正しく増幅できる。また、各メモリセル１２０２、１２５２が不良状態であるか否かの検出は、データ読出しのようにデータ側とリファレンス側とを比較する交差結合型増幅回路ではなくインバータ群１３０６が用いられている。このため、次段増幅回路１３０２はデータメモリセル１２０２及びリファレンスメモリセル１２５２のオープン不良あるいはショート不良を独立して検出できる。ショート不良時の磁気抵抗素子１２０４、１２５４の抵抗値は通常の抵抗値（本実施の形態では１０ｋΩ／１６ｋΩ）に対して十分小さく、オープン不良時の磁気抵抗素子１２０４、１２５４の抵抗値は通常の抵抗に対して十分に大きい。従って、ショート不良時の初段増幅回路１３０２の出力結果の電圧値は、不良か否かの検出の基準電圧である９００ｍＶに対して十分に低くなる。また、オープン不良時の初段増幅回路１３０２の出力結果の電圧値は、不良か否かの検出の基準電圧である９００ｍＶに対して十分に高くなる。このため、次段増幅回路１３０２は、各メモリセル１２０２、１２５２の不良検出に交差結合型増幅回路を用いなくても、インバータ回路ａ、ｂのみで構成されたインバータ群１３０６で接続ノード１１０２、１１０４、１１５２、１１５４の電位を十分に増幅できる。
【００６４】
以上説明したように、半導体記憶装置１は、初段増幅回路１３０１で磁気抵抗素子１２０４、１２５４の抵抗値を電位に変換してある程度増幅し、次段増幅回路１３０２で初段増幅回路１３０１によってある程度増幅された電位を論理回路で扱える電源電圧ＶＤＤレベル又は基準電圧ＶＳＳレベルの電圧値まで増幅することができる。
【００６５】
次に、半導体記憶装置１の動作について図６乃至図９を用いて説明する。まず、半導体記憶装置１のデータ書込み方法について説明する。磁気抵抗素子メモリにおいては、磁化の容易軸、磁化の困難軸方向に同時に磁界を加えることによって、磁気抵抗素子の自由層にデータ書込みが行われる。磁化の容易軸又は磁化の困難軸の片方のみに磁界がかかった状態では情報は書込まれない。「０」を書込む場合と「１」を書込む場合とでは、磁化の容易軸方向にかける磁界の向きを反対にする。このような磁界を発生させるために、互いに直交する２本の書込み配線に電流が流される。２つの書込み配線は、通常、ビットライン及びライトワードラインと呼ばれ、ビットラインに電流を流すことにより容易軸方向に磁界をかけて、ライトワードラインに電流を流すことにより磁化の困難軸方向に磁界をかける。ビットラインとライトワードラインは互いに直交し、ビットラインとライトワードラインの両方に磁界がかかったメモリセルのみにデータの書込みが行われる。通常、ビットラインはデータの読出しにも使われる。ビットラインには、どちらの方向にも電流が流せるようになっている。ライトワードラインには、一方向のみに電流が流せれば十分である。
【００６６】
次に、本実施の形態の半導体記憶装置１のメモリセルからのデータ読出し方法について回路シミュレータ（ＨＳＰＩＣＥ；米国シノプシス社の登録商標）によるシミュレーション結果を用いて説明する。図８は、磁気抵抗素子１２０４、１２５４の抵抗値の組み合わせ（条件１乃至６）に対する接続ノード１１０２〜１１０４、１１５２〜１１５４（初段出力電位）の電位を示す表である。図９は、条件１乃至６に対する次段増幅回路１３０２の各出力信号の出力電圧レベルを示す表である。シミュレーションに当たって、磁気抵抗素子１２０４、１２５４の抵抗値は、ショート状態で２ｋΩ、オープン状態で８０ｋΩに設定されている。シミュレーションの条件１は、データ側の磁気抵抗素子１２０４のみにショート不良が生じている状態である。条件２は、磁気抵抗素子１２０４、１２５４共に正常であり、磁気抵抗素子１２０４に「０」の値が記憶（抵抗値は１０ｋΩ）されている状態である。条件３は、磁気抵抗素子１２０４、１２５４共に正常であり、磁気抵抗素子１２０４に「１」の値が記憶（抵抗値は１６ｋΩ）されている状態である。条件４は、データ側の磁気抵抗素子１２０４のみにオープン不良が生じている状態である。条件５は、リファレンス側の磁気抵抗素子１２５４のみにショート不良が生じている状態である。条件６は、リファレンス側の磁気抵抗素子１２５４のみにオープン不良が生じている状態である。
【００６７】
まず、条件２を例にとって半導体記憶装置１のデータ判定方法を説明する。図６に示すように、カラムスイッチ１２１０に備えられた複数のカラム選択トランジスタ１２０６のいずれかに所定の電圧レベルのカラム選択信号ＣＳｓが入力されると、当該カラム選択トランジスタ１２０６はオン状態になる。これにより、複数のメモリセル群１２０１のうちの１つのメモリセル群１２０１が選択される。
【００６８】
カラム選択信号ＣＳｓの入力と例えば同時に、複数の選択トランジスタ１２０３のいずれかに所定の電圧レベルのワードライン選択信号ＷＬｓが入力されると、当該選択トランジスタ１２０３はオン状態になる。これにより、選択されたメモリセル群１２０１内の１つのデータメモリセル１２０２が選択される。カラム選択トランジスタ１２０６と選択トランジスタ１２０３とがオン状態になって選択されたデータメモリセル１２０２内の磁気抵抗素子１２０４は、データ側の各クランプ部１２１１、１２１２、１２１３に接続される。
【００６９】
一方、データ読出し時には、トランジスタ１２５６及び選択トランジスタ１２５３には、電源電圧ＶＤＤが印加されている。これにより、リファレンスメモリセル１２５２内の磁気抵抗素子１２５４は、リファレンス側の各クランプ部１２６１、１２６２、１２６３に接続される。
【００７０】
各クランプ部１２１１〜１２１３、１２６１〜１２６３は、上記の通り動作して、図８に示すように、接続ノード１１０２には１６５８ｍＶの電位が生じ、接続ノード１１０３には５４５ｍＶの電位が生じ、接続ノード１１０４には３２２ｍＶの電位が生じ、接続ノード１１５２には１７３１ｍＶの電位が生じ、接続ノード１１５３には１０２０ｍＶの電位が生じ、接続ノード１１５４には３１２ｍＶの電位が生じる。
【００７１】
接続ノード１１０２〜１１０４、１１５２〜１１５４に生じた電位は次段増幅回路１３０２に印加される。図８に示すように、接続ノード１１０３の電位は接続ノード１１５３の電位より低い。このため、図９に示すように、交差結合型増幅回路１３０５は基準電圧ＶＳＳレベル（Ｌレベル）のデータ判定信号ＤＯを出力する。図８に示すように、接続ノード１１０２、１１５２の電位は９００ｍＶより高く、接続ノード１１０４、１１５４の電位は９００ｍＶより低い。このため、図９に示すように、インバータ群１３０６は、電源電圧ＶＤＤレベル（Ｈレベル）のデータセルショート判定信号ＤＳＯ及びリファレンスセルショート判定信号ＲＳＯを出力し、Ｌレベルのデータセルオープン判定信号ＤＯＯ及びリファレンスセルオープン判定信号ＲＯＯを出力する。従って、次段増幅回路１３０２の出力信号、すなわち読出し回路１３０３の出力信号は（Ｌ，Ｈ，Ｌ，Ｈ，Ｌ）となる。
【００７２】
次に、データメモリセル１２０２にオープン不良が生じている条件４を例にとって半導体記憶装置１のセル不良状態の検出方法を説明する。上記のデータ読出し動作と同様に、カラム選択トランジスタ１２０６と選択トランジスタ１２０３とがオン状態になって選択されたデータメモリセル１２０２内の磁気抵抗素子１２０４は、データ側の各クランプ部１２１１、１２１２、１２１３に接続される。
【００７３】
データメモリセル１２０２はオープン不良の状態であるため、図８に示すように、接続ノード１１０２には１７９６ｍＶの電位が生じ、接続ノード１１０３には１７８４ｍＶの電位が生じ、接続ノード１１０４には１７４０ｍＶの電位が生じ、接続ノード１１５２には１７３１ｍＶの電位が生じ、接続ノード１１５３には１０２０ｍＶの電位が生じ、接続ノード１１５４には３１２ｍＶの電位が生じる。
【００７４】
図８に示すように、接続ノード１１０３の電位は接続ノード１１５３の電位より高い。このため、図９に示すように、交差結合型増幅回路１３０５はＨレベルのデータ判定信号ＤＯを出力する。図８に示すように、接続ノード１１０２、１１０４、１１５２の電位は９００ｍＶより高く、接続ノード１１５４の電位は９００ｍＶより低い。このため、図９に示すように、インバータ群１３０６は、Ｈレベルのデータセルショート判定信号ＤＳＯ、データセルオープン判定信号ＤＯＯ及びＲＣショート判定信号ＲＳＯを出力し、Ｌレベルリファレンスセルオープン判定信号ＲＯＯを出力する。従って、読出し回路１３０３の出力信号は（Ｈ，Ｈ，Ｈ，Ｈ，Ｌ）となる。
【００７５】
このように、データメモリセル１２０２及びリファレンスメモリセル１２５２が不良状態であるか否かによって、読出し回路１３０３の出力信号が異なる。図９に示すように、両メモリセル１２０２、１２５２が正常状態であると、データセルショート判定信号ＤＳＯ及びリファレンスセルショート判定信号ＲＳＯはＨレベルになり、データセルオープン判定信号ＤＯＯ及びリファレンスセルオープン判定信号ＲＯＯはＬレベルになる。従って、各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯの出力信号が（Ｈ，Ｌ，Ｈ，Ｌ）である場合には、データ判定信号ＤＯの電圧レベルがデータメモリセル１２０２に記憶されているデータを表す。
【００７６】
また、データセルショート判定信号ＤＳＯはデータメモリセル１２０２にショート不良が生じたときのみＬレベルになる。データセルオープン判定信号ＤＯＯはデータメモリセル１２０２にオープン不良が生じたときのみＨレベルになる。リファレンスセルショート判定信号ＲＳＯはリファレンスメモリセル１２５２にショート不良が生じたときのみＬレベルになる。リファレンスセルオープン判定信号ＲＯＯはリファレンスメモリセル１２５２にオープン不良が生じたときのみＨレベルになる。従って、各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯの電圧レベルを検出することによって、各メモリセル１２０２、１２５２が不良状態であるか否かを判定することができる。
【００７７】
以上説明したように、本実施の形態によれば、各メモリセルのそれぞれに例えば「０」の値を書込んで、各メモリセルのそれぞれからデータを読出すことによって、各メモリセル１２０２、１２５２のオープン不良及びショート不良を迅速に判定することができる。このように、半導体記憶装置１は１回のデータ読出しによってメモリセルにオープン不良又はショート不良が生じているかを検出できる。これにより、半導体記憶装置１の出荷前の出荷検査を高速且つ正確に行うことができる。さらに、半導体記憶装置１は、オープン不良又はショート不良若しくはそれら以外の不良であるかの不良原因の究明を高速に且つ正確に行うことができる。
【００７８】
〔第２の実施の形態〕
本発明の第２の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図１０を用いて説明する。本実施の形態による半導体記憶装置は、上記第１の実施の形態の半導体記憶装置１と同様に、磁気抵抗素子メモリに関する。本実施の形態による半導体記憶装置は、データ側の各クランプ部１２１１、１２１２、１２１３に印加されるデータ電流調整用電圧と、リファレンス側の各クランプ部１２６１、１２６２、１２６３に印加されるリファレンス電流調整用電圧を調整することにより、大きな電位の変化となって出力される入力電位の基準をクランプ部毎に変えている点に特徴を有している。また、データ読出し用増幅回路１３０１は、メモリセルに記憶されたデータに対応したデータ電圧と、メモリセル内に備えられた磁気抵抗素子がオープン状態又はショート状態であるか否かを検出する検出電圧とを出力する点に特徴を有している。
【００７９】
図１０は、本実施の形態のデータ読出し用増幅回路１３０１の回路構成を示している。本実施の形態のメモリセルの構成は、上記第１の実施の形態と同様に１Ｔ１ＭＴＪ型である。本実施の形態の半導体記憶装置は、上記第１の実施の形態と同様にデータメモリセル内の磁気抵抗素子の抵抗値を変換した電位と、リファレンスメモリセル内の磁気抵抗素子の抵抗値を変換した電位とを比較して、データメモリセル内に記憶されたデータを読出す。半導体記憶装置はデータメモリセル内の磁気抵抗素子とリファレンスメモリセル内の磁気抵抗素子の少なくとも一方にオープン不良又はショート不良が生じていると、正確なデータを読出すことができない。このため、図１０に示すように、データ読出し用増幅回路１３０１はデータメモリセルのショート不良の判定に用いる電圧を出力するＤＣＳ検出用クランプ部１２１１と、オープン不良の検出に用いる電圧を出力するＤＣＯ検出用クランプ部１２１３とを有している。さらに、データ読出し用増幅回路１３０１はリファレンスメモリセルのショート不良の検出に用いる電圧を出力するＲＣＳ検出用クランプ部１２６１と、オープン不良の検出に用いる電圧を出力するＲＣＯ検出用クランプ部１２６３とを有している。
【００８０】
データ側の磁気抵抗素子の抵抗値は、Ｌ状態で１０ｋΩであり、Ｈ状態で１６ｋΩである。リファレンス側の磁気抵抗素子の抵抗値は常に１０ｋΩである。図１０に示すように、データ読出し用増幅回路１３０１に印加される電源電圧ＶＤＤは１８００ｍＶである。データ読出し用クランプ部１２１２のＤＲＩトランジスタ１２２１のゲート端子に印加されるデータ読出し電流調整用電圧（データ読出し制御電圧）ＤＲｉの電位は１２０５ｍＶである。ＤＣＳ検出用クランプ部１２１１のＤＣＩトランジスタ１２２０に印加されるデータセルショート不良検出電流調整用電圧（データ読出し制御電圧）ＤＳｉの電位は１１０５ｍＶである。ＤＣＯ検出用クランプ部１２１３のＤＣＩトランジスタ１２２２に印加されるデータセルオープン不良検出電流調整用電圧（データ読出し制御電圧）ＤＯｉの電位は１３０５ｍＶである。ＤＲＣトランジスタ１２１５及びＤＣＣトランジスタ１２１４、１２１６の各ゲート端子に印加されるデータクランプ電圧ＤＶｃの電位は一律９００ｍＶである。
【００８１】
一方、リファレンス読出し用クランプ部１２６２のＲＣＩトランジスタ１２７１のゲート端子に印加されるリファレンス読出し電流調整用電圧（リファレンス読出し制御電圧）ＲＲｉの電位は１１９０ｍＶである。ＲＣＳ検出用クランプ部１２６１のＲＣＩトランジスタ１２７０に印加されるリファレンスセルショート不良検出電流調整用電圧（リファレンス読出し制御電圧）ＲＳｉの電位は１０９０ｍＶである。ＲＣＯ検出用クランプ部１２６３のＲＣＩトランジスタ１２７２に印加されるリファレンスセルオープン不良検出電流調整用電圧（リファレンス読出し制御電圧）ＲＯｉの電位は１２９０ｍＶである。ＲＲＣトランジスタ１２６５及びＲＣＣトランジスタ１２６４、１２６６の各ゲート端子に印加されるリファレンスクランプ電圧ＲＶｃの電位は一律９００ｍＶである。
【００８２】
本実施の形態によるデータ読出し用増幅回路１３０１の回路構成は各トランジスタ１２１４〜１２７２のゲート端子に印加される電圧値が異なる点を除いて上記第１の実施の形態のデータ読出し用増幅回路１３０１と同様であるため説明は省略する。また、本実施の形態の半導体記憶装置１は、データ読出し用増幅回路１３０１の構成を除いて上記第１の実施の形態と同様であるため説明は省略する。
【００８３】
次に、本実施の形態の半導体記憶装置のメモリセルからのデータ読出しについて図６及び図１０を用いて説明する。本実施の形態では、図６に示すデータ読出し用増幅回路１３０１に代えて、図１０に示すデータ読出し用増幅回路１３０１が出力ノード１１０１、１１５１に接続されている。磁気抵抗素子は、「０」の１ビットデータが記憶されていると低抵抗「Ｌ」状態になり、「１」の１ビットデータが記憶されていると高抵抗「Ｈ」状態になるとする。まず、半導体記憶装置のメモリセルから「０」の１ビットデータを読出す方法を説明する。上記第１の実施の形態の半導体記憶装置１のデータ読出し時と同様に、カラム選択トランジスタ１２０６と選択トランジスタ１２０３とがオン状態になって選択されたデータメモリセル１２０２内の磁気抵抗素子１２０４は、データ側の各クランプ部１２１１、１２１２、１２１３に接続される。
【００８４】
データ読出し時には、リファレンス側のトランジスタ１２５６及び選択トランジスタ１２５３には、電源電圧ＶＤＤが印加されている。これにより、リファレンスメモリセル１２５２内の磁気抵抗素子１２５４は、リファレンス側の各クランプ部１２６１、１２６２、１２６３に接続される。
【００８５】
データ側の磁気抵抗素子１２０４の抵抗値は、「０」の１ビットデータが書込まれていると１０ｋΩであり、リファレンス側の磁気抵抗素子１２５４の抵抗値と同一である。データ読出し電流調整用電圧ＤＲｉは、リファレンス読出し電流調整用電圧ＲＲｉより電位が高いので、ＤＲＩトランジスタ１２２１が出力する電流は、ＲＲＩトランジスタ１２７１が出力する電流より小さくなる。従って、出力ノード１１０１の電位は出力ノード１１５１の電位より低くなる。データクランプ電圧ＤＶｃ及びリファレンスクランプ電圧ＲＶｃは共に９００ｍＶに設定されている。このため、ＤＲＣトランジスタ１２１５のゲート・ソース間電圧は、ＲＲＣトランジスタ１２６５のゲート・ソース間電圧より高くなる。ＤＲＣトランジスタ１２１５のゲート・ソース間電圧は、ＤＲＣトランジスタ１２１５の閾値電圧より高く、ドレイン・ソース間抵抗が低いので、ＤＲＣトランジスタ１２１５は出力ノード１１０１の電位を殆ど増幅しない。これにより、データ読出し用クランプ部１２１２の接続ノード１１０３の電位は、リファレンス読出し用クランプ部１２６２の接続ノード１１５３の電位より低くなる。次段増幅回路１３０２（図６では不図示）が上記第１の実施の形態で説明したのと同様に動作して、読出し回路１３０３（図６では不図示）は、基準電圧ＶＳＳレベルの電圧を出力する。
【００８６】
次に、半導体記憶装置のメモリセルから「１」の１ビットデータを読出す方法を説明する。「０」の１ビットデータの読出し時と同様に、カラム選択トランジスタ１２０６と選択トランジスタ１２０３とがオン状態になって選択されたデータメモリセル１２０２内の磁気抵抗素子１２０４は、データ側の各クランプ部１２１１、１２１２、１２１３に接続される。
【００８７】
磁気抵抗素子１２０４の抵抗値は、「１」の１ビットデータが書込まれていると１６ｋΩであり、磁気抵抗素子１２５４の抵抗値１０ｋΩより大きくなる。ＤＲＩトランジスタ１２２１が出力する電流はＲＲＩトランジスタ１２７１が出力する電流より小さいが、磁気抵抗素子１２０４の抵抗値が磁気抵抗素子１２５４の抵抗値より大きくなるため、出力ノード１１０１の電位は出力１１５１の電位より高くなる。これにより、ＤＲＣトランジスタ１２１５のゲート・ソース間電圧は、ＲＲＣトランジスタ１２６５のゲート・ソース間電圧より低くなる。さらに、ＤＲＣトランジスタ１２１５のゲート・ソース間電圧は、ＤＲＣトランジスタ１２１５の閾値電圧より低くなる。これにより、ＤＲＣトランジスタ１２１５のドレイン・ソース間抵抗は高くなり、出力ノード１１０１の電位を増幅する。従って、データ読出し用クランプ部１２１２の接続ノード１１０３の電位は、リファレンス読出し用クランプ部１２６２の接続ノード１１５３の電位より高くなる。次段増幅回路１３０２が上記第１の実施の形態で説明したのと同様に動作して、読出し回路１３０３は、電源電圧ＶＤＤレベルの電圧を出力する。
【００８８】
このように、本実施の形態のデータ読出し用増幅回路１３０１及び半導体記憶装置１は、データ読出し電流調整用電圧ＤＲｉの電位と、リファレンス読出し電流調整用電圧ＲＲｉの電位とを異ならせることにより、データメモリセル内に記憶されたデータを読出すことができる。
【００８９】
次に、データメモリセル１２０２及びリファレンスメモリセル１２５２の不良検出動作について説明する。上述したように、ＤＣＣトランジスタ１２１４、１２１６及びＤＲＣトランジスタ１２１５のクランプ電圧ＤＶｃは同電位である。このため、ＤＣＣトランジスタ１２１４、１２１６及びＤＲＣトランジスタ１２１５のドレイン・ソース間抵抗はほぼ同じ抵抗値である。しかし、データセルショート不良電流調整用電圧ＤＳｉはデータ読出し電流調整用電圧ＤＲｉより電位が低く、データセルオープン不良電流調整用電圧ＤＯｉはデータ読出し電流調整用電圧ＤＲｉより電位が高い。このため、ＤＣＩトランジスタ１２２０の出力電流はＤＲＩトランジスタ１２２１の出力電流より電流値が大きくなり、ＤＣＩトランジスタ１２２２の出力電流はＤＲＩトランジスタ１２２１の出力電流より電流値が小さくなる。従って、ＤＣＣトランジスタ１２１４はＤＲＣトランジスタ１２１５よりドレイン・ソース間電圧が高くなり、ＤＣＣトランジスタ１２１６はＤＲＣトランジスタ１２１５よりドレイン・ソース間電圧が低くなる。
【００９０】
ＤＣＣトランジスタ１２１４、１２１６及びＤＲＣトランジスタ１２１５のソース端子は出力ノード１１０１に接続されている。従って、各トランジスタ１２１４、１２１５、１２１６のドレイン端子である接続ノード１１０２、１１０３、１１０４の電位の高低関係は以下のようになる。接続ノード１１０２の電位は接続ノード１１０３の電位より常に高く、接続ノード１１０４の電位は接続ノード１１０３の電位より常に低くなる。リファレンスセルショート不良電流調整用電圧ＤＳｉの電圧値は、磁気抵抗素子１２０４がショート状態（例えば２ｋΩ）の場合には接続ノード１１０２の電位が９００ｍＶより低くなり、磁気抵抗素子１２０４の抵抗値がショート状態の抵抗値から低抵抗状態（例えば１０ｋΩ）の抵抗値の範囲内の場合には接続ノード１１０２の電位が９００ｍＶより高くなるように設定されている。データセルオープン不良電流調整用電圧ＤＯｉの電圧値は、磁気抵抗素子１２０４が高抵抗状態（例えば１６ｋΩ）の場合には接続ノード１１０４の電位が９００ｍＶより低くなり、磁気抵抗素子１２０４の抵抗値が高抵抗状態の抵抗値からオープン状態（例えば８０ｋΩ）の抵抗値の範囲内の場合には接続ノード１１０４の電位が９００ｍＶより高くなるように設定されている。
【００９１】
このように各電流調整用電圧ＤＲｉ、ＤＳｉ、ＤＯｉを設定することにより、データメモリセル１２０２が不良状態か否かによって、接続ノード１１０２、１１０３、１１０４の電位が決まる。従って、図８及び図９に示すように、半導体記憶装置は接続ノード１１０２、１１０３、１１０４の電位に基づいて、データメモリセル１２０２の状態を判定できる。
【００９２】
一方、リファレンスセルショート不良電流調整用電圧ＲＳｉはリファレンス読出し電流調整用電圧ＲＲｉより電位が低く、リファレンスセルオープン不良電流調整用電圧ＲＯｉはリファレンス読出し電流調整用電圧ＲＲｉより電位が高く設定されている。リファレンスセルショート不良電流調整用電圧ＲＳｉの電圧値は、磁気抵抗素子１２５４の抵抗値がショート状態（例えば２ｋΩ）の場合には接続ノード１１５２の電位が９００ｍＶより低くなり、磁気抵抗素子１２５４の抵抗値が正常な低抵抗状態（例えば１０ｋΩ）の抵抗値の場合には接続ノード１１５２の電位が９００ｍＶより高くなるように設定されている。リファレンスセルオープン不良電流調整用電圧ＲＯｉの電圧値は、磁気抵抗素子１２５４が正常な高抵抗状態（例えば１６ｋΩ）の場合には接続ノード１１５４の電位が９００ｍＶより低く、磁気抵抗素子１２５４の抵抗値がオープン状態（例えば８０ｋΩ）の抵抗値の場合には接続ノード１１５４の電位が９００ｍＶより高くなるように設定されている。
【００９３】
このように各電流調整用電圧ＲＲｉ、ＲＳｉ、ＲＯｉを設定することにより、リファレンスメモリセル１２５４が不良状態か否かによって、接続ノード１１５２、１１５３、１１５４の電位が決まる。従って、図８及び図９に示すように、半導体記憶装置は接続ノード１１５２、１１５３、１１５４の電位に基づいて、リファレンスメモリセル１２５４の状態を判定できる。
【００９４】
以上説明したように、本実施の形態によれば、半導体記憶装置はメモリセル内に記憶されたデータを読み出すとともに、当該メモリセルの不良状態を検出することができるので、上記第１の実施の形態と同様の効果が得られる。
【００９５】
〔第３の実施の形態〕
本発明の第３の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図１１乃至図１４を用いて説明する。本実施の形態による半導体記憶装置は抵抗変化メモリに関する。本実施の形態による半導体記憶装置はリファレンスメモリセル群を備えていない点に特徴を有している。本実施の形態による半導体記憶装置は、並列接続された２つのクランプ部を有している。各クランプ部のクランプトランジスタは、ゲート端子に印加されるクランプ電位が調整されている。これにより、２つのクランプ部は大きな電位の変化となって出力される入力電位の基準が互いに異なる。半導体記憶装置は当該２つのクランプ部を備えた初段増幅回路を有し、一方のクランプ部の出力電圧に基づいてメモリセルに記憶されたデータを読出し、他方のクランプ部の出力電圧に基づいてメモリセルがオープン状態であるか否かを判定する点に特徴を有している。
【００９６】
図１１は、本実施の形態によるデータ読出し用増幅回路（以下、必要に応じて「初段増幅回路」という）２３０１の概略構成を示している。図１１に示すように、データ読出し用増幅回路２３０１は、データメモリセル（不図示）に記憶された記憶データに対応したデータ電圧を増幅するデータ読出し用クランプ部（データ読出し用増幅部）２２１２と、データメモリセルがオープン不良状態であるか否かを検出するデータセル不良検出用クランプ部（データセル不良検出用増幅部）２２１３とを有している。データ読出し用クランプ部２２１２に印加するデータ読出しクランプ電圧（データ読出し制御電圧）ＤＲｃと、データセル不良検出用クランプ部２２１３に印加されるデータセル不良検出クランプ電圧（データ不良検出制御電圧）ＤＣｃとは、異なる電圧値に設定されている。
【００９７】
データ読出し用クランプ部２２１２及びデータセル不良検出用クランプ部２２１３は、電源電圧ＶＤＤが印加される電源端子と、データメモリセル内の抵抗変化メモリ素子に接続された出力ノード２１０１との間で並列に接続されている。データ読出し用クランプ部２２１２は、電源端子と、出力ノード２１０１との間に直列接続されたデータ読出し電流調整用トランジスタ（以下、「ＤＲＩトランジスタ」という）２２２１とデータ読出し用クランプトランジスタ（以下、「ＤＲＣトランジスタ」という）２２１５とを有している。ＤＲＣトランジスタ２２１５はｎＭＯＳＦＥＴであり、ＤＲＩトランジスタ２２２１はｐＭＯＳＦＥＴである。
【００９８】
ＤＲＣトランジスタ２２１５は、出力ノード２１０１に接続されたソース端子と、ＤＲＩトランジスタ２２２１のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するデータ読出しクランプ電圧ＤＲｃが印加されるゲート端子とを有している。ＤＲＩトランジスタ２２２１は、電源端子に接続されたソース端子と、ＤＲＣトランジスタ２２１５に供給する電流量を調整するデータ電流調整用電圧ＤＶｉが印加されるゲート端子とを有している。ＤＲＣトランジスタ２２１５及びＤＲＩトランジスタ２２２１のゲート幅は１．０μｍである。
【００９９】
データ読出し用クランプ部２２１２は、ＤＲＣトランジスタ２２１５と、ＤＲＩトランジスタ２２２１との接続点（接続ノード）２１０３を有している。出力ノード２１０１からデータ読出し用クランプ部２２１２に印加されてＤＲＣトランジスタ２２１５で増幅されたデータ増幅電圧は、接続ノード２１０３から出力される。
【０１００】
データセル不良検出用クランプ部２２１３は、データ読出し用クランプ部２２１２と同様の構成を有している。データセル不良検出用クランプ部２２１３は、電源端子と、出力ノード２１０１との間に直列接続されたデータセル不良検出電流調整用トランジスタ（以下、「ＤＣＩトランジスタ」という）２２２２と、データセル不良検出用クランプトランジスタ（以下、「ＤＣＣトランジスタ」という）２２１６とを有している。ＤＣＣトランジスタ２２１６はｎＭＯＳＦＥＴであり、ＤＣＩトランジスタ２２２２はｐＭＯＳＦＥＴである。
【０１０１】
ＤＣＣトランジスタ２２１６は、出力ノード２１０１に接続されたソース端子と、ＤＣＩトランジスタ２２２２のドレイン端子に接続されたドレイン端子と、ドレイン・ソース間抵抗を所定の値に設定するデータセル不良検出クランプ電圧ＤＣｃが印加されるゲート端子とを有している。ＤＣＩトランジスタ２２２２は、電源端子に接続されたソース端子と、ＤＣＣトランジスタ２２１６に供給する電流量を調整するデータ電流調整用電圧ＤＶｉが印加されるゲート端子とを有している。ＤＣＣトランジスタ２２１６及びＤＣＩトランジスタ２２２２のゲート幅は１．０μｍである。
【０１０２】
データセル不良検出用クランプ部２２１３は、ＤＣＣトランジスタ２２１６と、ＤＣＩトランジスタ２２２２との接続点（接続ノード）２１０４を有している。出力ノード２１０１からデータセル不良検出用クランプ部２２１３に印加されてＤＣＣトランジスタ２２１６で増幅された不良検出増幅電圧は、接続ノード２１０４から出力される。
【０１０３】
本実施の形態では、データメモリセル内の抵抗変化メモリ素子の抵抗値はＬ状態で２０Ω、Ｈ状態で２０ｋΩである。電源電圧ＶＤＤは１８００ｍＶである。ＤＲＩトランジスタ２２２１及びＤＣＩトランジスタ２２２２のゲート端子にそれぞれ印加されるデータ電流調整用電圧ＤＶｉの電位は共に１２００ｍＶである。ＤＲＣトランジスタ２２１５のゲート端子に印加されるデータ読出しクランプ電圧ＤＲｃの電位は８００ｍＶであり、ＤＣＣトランジスタのゲート端子に印加されるデータセル不良検出クランプ電圧ＤＣｃの電位は９４０ｍＶである。
【０１０４】
次に、メモリセルに記憶されたデータを読出す読出し回路２３０３及びそれを備えた半導体記憶装置１について図１２乃至図１４を用いて説明する。図１２は、セル不良検出機能を備えた読出し回路２３０３及びその周辺の回路ブロック図である。図１３は、初段増幅回路２３０１及びメモリセル部２３０４の回路構成を示している。図１２に示すように、読出し回路２３０３は、初段増幅回路２３０１と、次段増幅回路２３０２とを有している。初段増幅回路２３０１には、データ読出しクランプ電圧ＤＲｃと、データセル不良検出クランプ電圧ＤＣｃと、データ電流調整用電圧ＤＶｉとを出力する制御電圧回路２０が接続されている。制御電圧回路２０は、例えばＤＣ−ＤＣコンバータ回路である。制御電圧回路２０は、例えば外部システムから印加される半導体記憶装置１の駆動電圧からデータ読出しクランプ電圧ＤＲｃ等を生成する。制御電圧回路２０は、半導体記憶装置１内に独立して形成された回路であったり、初段増幅回路２３０１の電源電圧ＶＤＤを生成する定電圧回路に含まれて形成されていたりしてよい。
【０１０５】
読出し回路２３０３には、メモリセル部２３０４が接続されている。図１３に示すように、メモリセル部２３０４は、カラムスイッチ２２１０と、複数のデータメモリセル群２２０１とを有している。出力ノード２１０１には、カラムスイッチ２２１０を介してデータビットライン２２０８が例えば８〜１６本接続されている。各データビットライン２２０８には、データメモリセル群２２０１が接続されている。
【０１０６】
データメモリセル群２２０１は、データビットライン２２０８に接続された複数（例えば１０２４個）のデータメモリセル２２０２を有している。図１３には、１つのデータメモリセル２２０２の回路のみが例示されている。データメモリセル２２０２は、抵抗変化メモリ素子２２０４と選択トランジスタ２２０３とを有する１Ｔ１Ｒ型である。１つのデータメモリセル群２２０１には、１本のデータビットライン２２０８を介して１つのカラム選択トランジスタ２２０６が接続されている。抵抗変化メモリ素子２２０４の一端子はデータビットライン２２０８を介してカラム選択トランジスタ２２０６のソース端子に接続され、他端子は選択トランジスタ２２０３のドレイン端子に接続されている。選択トランジスタ２２０３のソース端子はＧＮＤに接続され、ゲート端子はワードライン（不図示）に接続されている。カラム選択トランジスタ２２０６のドレイン端子は出力ノード２１０１に接続され、ゲート端子はカラム選択ライン（不図示）に接続されている。カラム選択トランジスタ２２０６のゲート幅は３．０μｍであり、選択トランジスタ２２０３のゲート幅は０．３６μｍである。
【０１０７】
データメモリセル群２２０１、データビットライン２２０８及びカラム選択トランジスタ２２０６の組は、読出し回路２３０３内の初段増幅回路２３０１に対して８〜１６個存在し、いずれも出力ノード２１０１に接続されている。カラム選択ラインから印加されたカラム選択信号ＣＳｓにより、いずれか１つのデータメモリセル群２２０１が選択され、ワードラインから印加されたワードライン選択信号ＷＬｓにより、データメモリセル群２２０１内のいずれか１つのデータメモリセル２２０２が選択される。
【０１０８】
データ読出しクランプ電圧ＤＲｃはデータセル不良検出クランプ電圧ＤＣｃより電位が低い。このため、ＤＲＣトランジスタ２２１５のゲート・ソース間電圧は、抵抗変化メモリ素子２２０４の状態によらず常にＤＣＣトランジスタ２２１６のゲート・ソース間電圧より低くなる。従って、データ読出し用クランプ部２２１２及びデータセル不良検出用クランプ部２２１３の働きにより、接続ノード２１０３、２１０４の電位は以下のようになる。まず、データメモリセル２２０２がオープン不良でない場合について説明する。抵抗変化メモリ素子２２０４の抵抗値が２０Ω（低抵抗）の場合には、出力ノード２１０１の電位は相対的に低くなるので、ＤＲＣトランジスタ２２１５及びＤＣＣトランジスタ２２１６のゲート・ソース間電圧は相対的に高くなる。このため、接続ノード２１０３、２１０４の電位は９００ｍＶより低くなる。抵抗変化メモリ素子２２０４の抵抗値が２０ｋΩ（高抵抗）の場合には、出力ノード２１０１の電位は相対的に高くなる。ＤＲＣトランジスタ２２１５のゲート・ソース間電圧は、ＤＲＣトランジスタ２２１５の閾値電圧より低くなるため、接続ノード２１０３の電位は９００ｍＶより高くなる。一方、ＤＣＣトランジスタ２２１６のゲート・ソース間電圧は、出力ノード２１０１の電位が相対的に高くなってもＤＣＣトランジスタ２２１６の閾値電圧より低くならない。このため、接続ノード２１０４の電位は９００ｍＶより低いままである。
【０１０９】
データメモリセル２２０２がオープン不良の場合には、出力ノード２１０１の電位は抵抗変化メモリ素子２２０４が高抵抗状態の場合よりも高くなる。このため、ＤＣＣトランジスタ２２１６のゲート・ソース間電圧は、ＤＣＣトランジスタ２２１６の閾値電圧よりも低くなる。このため、接続ノード２１０３、２１０４の電位はともに９００ｍＶより高くなる。
【０１１０】
このように、データメモリセル２２０２にオープン不良が発生しているか否かによって、接続ノード２１０４の電位が異なる。このため、読出し回路２３０３は接続ノード２１０４の電位に基づいてデータメモリセル２２０２のオープン不良を検出できる。しかし、本実施の形態では、データメモリセル２２０２がショート不良であった場合、接続ノード２１０３、２１０４の電位はともに９００ｍＶより低くなる。この結果、読出し回路２３０３は抵抗変化メモリ素子２２０４が正常な低抵抗状態であると検出してしまう。このように、本実施の形態では、データメモリセル２２０２のオープン不良は検出できるが、ショート不良は検出できない。
【０１１１】
図１４は、次段増幅回路２３０２の回路構成を示している。図１４に示すように、次段増幅回路２３０２はインバータ群を有している。インバータ群は、接続ノード２１０３、２１０４に生じた増幅電圧がそれぞれ印加される２段インバータ回路７１、７２を有している。２段インバータ回路７１、７２は接続ノード２１０３、２１０４と出力ノード２１１３、２１１４との間で直列接続された２つのインバータ回路ａ、ｂをそれぞれ有している。２段インバータ回路７１、７２は接続ノード２１０３、２１０４の電位を電源電圧ＶＤＤあるいは基準電圧ＶＳＳまで増幅する。
【０１１２】
例えば、２段インバータ回路７１は、接続ノード２１０３の電位が９００ｍＶより低い場合には基準電圧ＶＳＳレベルの電圧を出力ノード２１１３に出力し、接続ノード２１０３の電位が９００ｍＶより大きい場合には、電源電圧ＶＤＤレベルの電圧を出力ノード２１１３に出力する。２段インバータ回路７１がこのように動作して、次段増幅回路２３０２は、基準電圧ＶＳＳレベル又は電源電圧ＶＤＤレベルのデータ判定信号ＤＯを出力ノード２１１３から出力する。２段インバータ回路７２も２段インバータ回路７１と同様に動作するので、次段増幅回路２３０２は、データセルオープン判定信号ＤＯＯを出力ノード２１１４から出力することができる。
【０１１３】
抵抗変化メモリの場合は、抵抗変化メモリ素子２２０４の抵抗変化率が十分に大きく、本実施の形態では１０００倍である。このように抵抗変化率が大きい場合には、次段増幅回路２３０２のデータ読出しに２段インバータ回路７１を用いるだけでも十分に電圧を増幅することができる。オープン不良状態の抵抗変化メモリ素子２２０４の抵抗値は、不良でない状態の抵抗値（本実施の形態では２０Ω／２０ｋΩ）より十分に大きい。このため、データメモリセル２２０２がオープン不良の場合には、初段増幅回路２３０１は９００ｍＶより十分に高い出力電圧を出力するので、次段増幅回路２３０２はインバータ群２３０２のみで当該出力電圧を十分に増幅できる。
【０１１４】
抵抗変化メモリは出荷前にメモリセルに大電圧を印加し、絶縁破壊のような現象を起こさせることによって利用可能となる。しかし、抵抗変化メモリは大電圧の印加に失敗するとオープン不良となる。本実施の形態の半導体記憶装置１は抵抗変化メモリに多く見られるオープン不良を迅速に検出することができる。これにより、抵抗変化メモリの出荷前の検査時間の短縮化を図ることができる。さらに、本実施の形態によれば、抵抗変化メモリの不良の原因がオープン不良であるかそれ以外の不良であるかを判定することができる。
【０１１５】
次に、抵抗変化メモリのデータ書込み方法について説明する。抵抗変化メモリにおいては、同一符号の電圧を印加してＨ（高抵抗）とＬ（低抵抗）とをメモリセルに書込む方式と、逆符号の電圧を印加してＨ（高抵抗）とＬ（低抵抗）とをメモリセルに書込む方式とがある。同一符号の電圧を印加してＨ（高抵抗）とＬ（低抵抗）とをメモリセルに書込む方式においては、第１の一定電圧Ｖｒｅｓｅｔより高く、第２の一定電圧Ｖｓｅｔより低い電圧を抵抗変化メモリに印加することにより、メモリセルにＨ（高抵抗）を書込み、第２の一定電圧Ｖｓｅｔより高い電圧を抵抗変化メモリに印加することにより、メモリセルにＬ（低抵抗）を書込む。
【０１１６】
データ読出し時に抵抗変化メモリ素子に印加される電圧Ｖｒｅａｄは、第１の一定電圧Ｖｒｅｓｅｔよりも低い。読出し時に、印加される電圧を十分低く抑えるためには、クランプトランジスタを使う方法が適する。データ書込み及びデータ読出し時に抵抗変化メモリに印加される電圧の大小関係は、Ｖｒｅａｄ＜Ｖｒｅｓｅｔ＜Ｖｓｅｔであり、例えば、Ｖｒｅａｄ＝１００ｍＶ、Ｖｒｅｓｅｔ＝６００ｍＶ、Ｖｓｅｔ＝２．５Ｖ等である。
【０１１７】
逆符号の電圧を抵抗変化メモリに印加してＨ（高抵抗）とＬ（低抵抗）とを書込む方式においては、第１の一定電圧Ｖｒｅｓｅｔ以上でＨ（高抵抗）をメモリセルに書込み、第２の一定電圧Ｖｓｅｔ（＜０）以下でＬ（低抵抗）をメモリセルに書込む。データ読出し時に抵抗変化メモリ素子に印加される電圧Ｖｒｅａｄは、第１の一定電圧Ｖｒｅｓｅｔよりも低い。データ読出し時に、抵抗変化メモリ素子に印加される電圧を十分低く抑えるには、クランプトランジスタを使う方法が適する。例えば、Ｖｒｅａｄ＝１００ｍＶ、Ｖｒｅｓｅｔ＝３．２Ｖ、Ｖｓｅｔ＝−３．２Ｖ、又はＶｒｅａｄ＝１００ｍＶ、Ｖｒｅｓｅｔ＝５００ｍＶ、Ｖｓｅｔ＝−５００ｍＶ等である。
【０１１８】
抵抗変化メモリでは、Ｈ（高抵抗）を書込むことをＲＥＳＥＴ、Ｌ（低抵抗）を書込むことをＳＥＴと呼ぶ。抵抗変化メモリの動作原理の詳細は現在明らかにされていない。多値の抵抗変化メモリとして有望な方式は、逆符号の電圧を印加してＨ（高抵抗）とＬ（低抵抗）とをメモリセルに書込む方式である。
【０１１９】
次に、本実施の形態の半導体記憶装置１のデータ読出し動作について説明する。抵抗変化メモリ素子２２０４は、「０」の１ビットデータが記憶されていると低抵抗状態（２０Ω）になり、「１」の１ビットデータが記憶されていると高抵抗状態（２０ｋΩ）になるとする。図１３に示すように、カラムスイッチ２２１０に備えられた複数のカラム選択トランジスタ２２０６のいずれかに所定の電圧レベルのカラム選択信号ＣＳｓが入力されると、当該カラム選択トランジスタ２２０６はオン状態になる。これにより、複数のメモリセル群２２０１のうちの１つのメモリセル群２２０１が選択される。
【０１２０】
カラム選択信号ＣＳｓの入力と例えば同時に、複数の選択トランジスタ２２０３のいずれかに所定の電圧レベルのワードライン選択信号ＷＬｓが入力されると、当該選択トランジスタ２２０３はオン状態になる。これにより、選択されたメモリセル群２２０１内の１つのデータメモリセル２２０２が選択される。カラム選択トランジスタ２２０６と選択トランジスタ２２０３とがオン状態になって選択されたデータメモリセル２２０２内の抵抗変化メモリ素子２２０４は、データ読出し用クランプ部２２１２及びデータセル不良検出用クランプ部２２１３に接続される。
【０１２１】
データ読出し用クランプ部２２１２及びデータセル不良検出用クランプ部２２１３は、上記の通り動作して、データメモリセル２２０２に「０」が記憶されている場合には、接続ノード２１０３、２１０４に９００ｍＶより低い電位が発生し、「１」が記憶されている場合には、接続ノード２１０３に９００ｍＶより高い電位が発生し、接続ノード２１０４に９００ｍＶより低い電位が発生する。また、データメモリセル２２０２がオープン不良の場合には、接続ノード２１０３、２１０４に９００ｍＶより高い電位が発生する。
【０１２２】
次段増幅回路２３０２は、接続ノード２１０３、２１０４に生じた電位に基づいて、基準電圧ＶＳＳレベル又は電源電圧ＶＤＤレベルのデータ判定信号ＤＯ及びデータセルオープン判定信号ＤＯＯを出力する。
【０１２３】
以上説明したように、本実施の形態によれば、半導体記憶装置１はリファレンスメモリセル群を有していなくても、データメモリセル２２０２に記憶されたデータを読出すと共にオープン不良を検出することができる。これにより、半導体記憶装置１の出荷前の出荷検査を高速に行うことができる。さらに、半導体記憶装置１の小型化・高集積化を図ることができる。
【０１２４】
〔第４の実施の形態〕
本発明の第４の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図１５を用いて説明する。本実施の形態による半導体記憶装置は、上記第３の実施の形態の半導体記憶装置と同様に、抵抗変化メモリに関する。本実施の形態による半導体記憶装置は、リファレンス用クランプ部を有さずにデータ用クランプ部のみを有するデータ読出し用増幅回路を備えた点に特徴を有している。また、本実施の形態による半導体記憶装置は、並列接続された２つのクランプ部を備えたデータ読出し用増幅回路を有し、データ電流調整用電圧を調整してデータ読出しと、データメモリセルのオープン不良の検出が可能な抵抗変化メモリを実現する点に特徴を有している。２つのクランプ部は大きな電位の変化となって出力される入力電位の基準が互いに異なっている。半導体記憶装置は当該２つのクランプ部を備えた初段増幅回路を有し、一方のクランプ部の出力電圧に基づいてメモリセルに記憶されたデータを読出し、他方のクランプ部の出力電圧に基づいてメモリセルの抵抗変化メモリ素子がオープン状態であるか否かを検出する点に特徴を有している。
【０１２５】
図１５は、本実施の形態のデータ読出し用増幅回路２３０１の回路構成を示している。図１５に示すように、電源電圧ＶＤＤは１８００ｍＶである。データ読出し用クランプ部２２１２のＤＲＩトランジスタ２２２１のゲート端子に印加されるデータ読出し電流調整用電圧（データ読出し制御電圧）ＤＲｉの電位は１０４０ｍＶである。データセル不良検出用クランプ部２２１３のＤＣＩトランジスタ２２２２に印加されるデータセル不良検出電流調整用電圧（データ不良検出制御電圧）ＤＣｉの電位は１２８０ｍＶである。ＤＲＣトランジスタ２２１５及びＤＣＣトランジスタ２２１６の各ゲート端子に印加されるデータクランプ電圧ＤＶｃの電位は一律９００ｍＶである。
【０１２６】
出力ノード２１０１には、１Ｔ１Ｒ型のデータメモリセルを複数備えたデータメモリセル群（不図示）が接続されている。抵抗変化メモリ素子の抵抗値は、Ｌ状態で２０Ωであり、Ｈ状態で２０ｋΩである。
【０１２７】
本実施の形態によるデータ読出し用増幅回路２３０１の回路構成は各トランジスタ２２１５、２２１６、２２２１、２２２２のゲート端子に印加される電圧値が異なる点を除いて上記第３の実施の形態のデータ読出し用増幅回路２３０１の回路構成と同様であるため説明は省略する。また、本実施の形態の半導体記憶装置１は、データ読出し用増幅回路２３０１の構成を除いて上記第３の実施の形態と同様であるため説明は省略する。
【０１２８】
データ読出し電流調整用電圧ＤＲｉは、２０Ωより大きく２０ｋΩより小さい抵抗値に応じた電圧が出力ノード２１０１に印加された場合に、出力ノード２１０１の電圧が大きく増幅されるように設定されている。データセル不良検出電流調整用電圧ＤＣｉは、２０ｋΩより大きい抵抗値に応じた電圧が出力ノード２１０１に印加された場合に、出力ノード２１０４の電圧が大きく増幅されるように設定されている。従って、本実施の形態のデータ読出し用増幅回路２３０１は、上記第３の実施の形態のデータ読出し用増幅回路２３０１と同様に動作する。これにより、本実施の形態のデータ読出し用増幅回路２３０１及び半導体記憶装置は、上記第３の実施の形態と同様の効果が得られる。
【０１２９】
〔第５の実施の形態〕
本発明の第５の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図１６乃至図２２を用いて説明する。本実施の形態による半導体記憶装置は、上記第１及び第２の実施の形態の半導体記憶装置と同様に、磁気抵抗素子メモリに関する。本実施の形態の半導体記憶装置は、上記第１又は第２の実施の形態によるセル不良検出機能付き読出し回路１３０３によって検出されたオープン不良又はショート不良に関する情報を用いて、オープン不良又はショート不良を原因とするデータ読出しの誤りを１つ訂正することができる点に特徴を有している。本実施の形態では、半導体記憶装置として、磁気抵抗素子メモリを例にとって説明するが、本実施の形態はこれに限れない。例えば、抵抗変化メモリ等の抵抗メモリにも適用できる。
【０１３０】
図１６は、本実施の形態の半導体記憶装置としての磁気抵抗素子メモリ１００のブロック図である。磁気抵抗素子メモリ１００は、８つの情報メモリブロック１４０１及び１つの冗長メモリブロック１４０２の合計９つのメモリブロックと、９つのメモリブロック１４０１、１４０２に接続されたデータ判定回路１４０３とを有している。９つのメモリブロック１４０１、１４０２は常に同時にデータの読出し及び書込みが行われる。データ読出し及びデータ書込みは９つのメモリブロック１４０１、１４０２の同一アドレスへ行われる。各メモリブロック１４０１は、上記第１又は第２の実施の形態のセル不良検出機能付き読出し回路１３０３と、データメモリセル部、リファレンスメモリセル部及びカラムスイッチ等を備えたメモリセル部１３０４とをそれぞれ有している。また、冗長メモリブロックは、読出し回路１３０３と同じ構成のセル不良検出機能付き読出し回路（不図示）と、メモリセル部１３０４と同じ構成のメモリセル部（不図示）とを有している。当該メモリセル部は、磁気抵抗素子を備えた冗長メモリセルと、磁気抵抗素子を備えた冗長リファレンスメモリセルと、カラムスイッチ等とを有している。図１６では、読出し回路１３０３及びメモリセル部１３０４は１つの情報メモリブロックに例示されている。しかし実際には、磁気抵抗素子メモリ１００は各メモリブロック１４０１、１４０２内に複数の読出し回路１３０３及びメモリセル部１３０４を有していてもよい。また、磁気抵抗素子メモリ１００は各メモリブロック１４０１、１４０２内にデータ書込み用回路を有しているが、図１６では省略されている。
【０１３１】
９つのメモリブロック１４０１、１４０２は、セル不良検出機能付き読出し回路１３０３からの出力である５つの出力信号をそれぞれ出力する。当該５つの出力信号は、データ判定信号ＤＯと、データセルショート判定信号ＤＳＯと、データセルオープン判定信号ＤＯＯと、リファレンスセルショート判定信号ＲＳＯと、リファレンスセルオープン判定信号ＲＯＯである。各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯはデータ判定回路１４０３に入力される。データ判定回路１４０３はオープン／ショート不良によるデータ書込み又はデータ読出しの誤りを訂正する回路及びオープン／ショート不良に関する情報を整理する回路を有している。データ判定回路１４０３は、データメモリセル又は冗長メモリセルが不良状態か否かを判断するセル不良判定信号として各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いるようになっている。
【０１３２】
図１７は、メモリセルの不良状態の有無に対する各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯの出力電圧レベルを示す表である。図１７の表中の最左欄には、読出し回路１３０３の出力ノードを示し、その隣接欄には各出力ノードから出力される判定信号の簡易表記を示している。図１７の表中の左から３番目の欄には、データメモリセル等の不良状態等に対して出力される出力信号レベルの説明を示し、その右隣接欄には、データメモリセル及びリファレンスメモリセルの正常状態における各判定信号の電圧レベルを示している。図中の「Ｌ」は低電圧レベル（Ｌｏｗレベル）を表し、「Ｈ」は高電圧レベル（Ｈｉｇｈレベル）を表している。
【０１３３】
図１７に示すように、出力ノード１１０３から出力されるデータ判定信号ＤＯは、データメモリセル内の磁気抵抗素子が低抵抗の場合にはＬレベルになり、高抵抗の場合にはＨレベルになる。また、データ判定信号ＤＯはデータメモリセルが正常状態では、読出しデータに対応してＬレベル又はＨレベルに変化する。
【０１３４】
出力ノード１１１２から出力されるデータセルショート判定信号ＤＳＯは、データメモリセルがショート不良の場合にＬレベルになり、ショート不良が生じていない正常状態ではＨレベルになる。出力ノード１１１４から出力されるデータセルオープン判定信号ＤＯＯは、データメモリセルがオープン不良の場合にＨレベルになり、オープン不良が生じていない正常状態ではＬレベルになる。出力ノード１１６２から出力されるリファレンスセルショート判定信号ＲＳＯは、リファレンスメモリセルがショート不良の場合にＬレベルになり、ショート不良が生じていない正常状態ではＨレベルになる。出力ノード１１６４から出力されるリファレンスセルオープン判定信号ＲＯＯは、リファレンスメモリセルがオープン不良の場合にＨレベルになり、オープン不良が生じていない正常状態ではＬレベルになる。このように、各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯはデータメモリセルや冗長メモリセルがショート不良又はオープン不良の不良か否かによって電圧レベルが異なるようになっている。
【０１３５】
冗長メモリブロック１４０２の所定のアドレスＡのメモリセルには、情報メモリブロック１４０１及び冗長メモリブロック１４０２の同一アドレスに記憶されたデータのうちの「１」の合計数が例えば偶数になるように「０」又は「１」のデータが書込まれる。すなわち、情報メモリブロック１４０１内のデータメモリセルの所定アドレスにデータを書込む場合、情報メモリブロック１４０１に書込まれる８つのデータと冗長メモリブロック１４０２に書込まれる１つの冗長データとの「１」の合計数が偶数になるように冗長データが決められる。従って、情報メモリブロック１４０１に書込まれる８つの情報データの中に「１」が偶数個あった場合には冗長データは「０」となり、情報メモリブロック１４０１に書込まれる８つの情報データの中に「１」が奇数個あった場合には冗長データは「１」となる。以上の工程を符号化と呼ぶ。
【０１３６】
以下では、各メモリブロック１４０１、１４０２から読出されたデータをビットと呼び、情報メモリブロック１４０１から読出されたデータを情報ビット、冗長メモリブロック１４０２から読出されたデータを冗長ビットと呼ぶことにする。データ判定回路１４０３は、最大１つまでのオープン／ショート不良によるデータ誤りを訂正することができる。図１８は、データ判定回路１４０３での１つのオープン／ショート不良によるデータ誤りを訂正する方法を説明するための具体的な例を示している。図１８の図中左側には、読出し回路１３０３の出力ノード１１０３等と、後程説明するセル不良検査回路８０の出力ノード１１７１とを示し、その隣に各出力ノードから出力される信号の簡易表記を示している。さらにその隣には、８つの情報メモリブロック１４０１の情報ビットｘ０〜ｘ７と、冗長メモリブロック１４０２の冗長ビットｘ８とを例示している。図１８に示すように、データ判定回路１４０３は８つの情報メモリブロック１４０１から出力された各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いて、メモリセルにオープン／ショート不良が存在するか否かを検査する。
【０１３７】
図１９は、データ判定回路１４０３に備えられ、磁気抵抗素子にオープン／ショート不良が存在するか否かを検査するセル不良検査回路８０を示している。図１９に示すように、セル不良検査回路８０は出力ノード１１１２からのデータセルショート判定信号ＤＳＯが入力されるインバータ回路８１と、出力ノード１１６２からのリファレンスセルショート判定信号ＲＳＯが入力されるインバータ回路８５とを有している。また、セル不良検査回路８０は、インバータ回路８１の出力信号と、出力ノード１１１４からのデータセルオープン判定信号ＤＯＯとが入力されるＮＯＲ回路８３と、インバータ回路８５の出力信号と、出力ノード１１６４からのリファレンスセルオープン判定信号ＲＯＯとが入力されるＮＯＲ回路８７とを有している。さらに、セル不良検査回路８０はＮＯＲ回路８３、８７の出力信号が入力されるＮＡＮＤ回路８９を有している。ＮＡＮＤ回路８９の出力端子がセル不良検査回路８０の出力ノード１１７１になる。出力ノード１１７１からセル不良検査出力信号ＣＣＯが出力される。
【０１３８】
図２０は、セル不良検査回路８０の機能を説明するための表である。図２０に示すように、セル不良検査回路８０は出力ノード１１１２、１１６２の電圧がＨレベルであり、出力ノード１１１４、１１６４の電圧がＬレベルであるとメモリセルにオープン／ショート不良のないことを表す「０」のセル不良検査出力信号ＣＣＯを出力ノード１１７１から出力する。セル不良検査回路８０は、出力ノード１１１２、１１１４、１１６２、１１６４の電圧レベルが上記以外であるとメモリセルにオープン／ショート不良のあることを表す「１」のセル不良検査出力信号ＣＣＯを出力ノード１１７１から出力する。
【０１３９】
セル不良検査回路８０は８つの情報メモリブロック１４０１及び１つの冗長メモリブロック１４０２のそれぞれに対応させてデータ判定回路１４０３に９個備えられている。セル不良検査回路８０は情報メモリブロック１４０１及び冗長メモリブロック１４０２の出力ノード１１１２、１１１４、１１６２、１１６４から出力された各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯに基づいて、オープン／ショート不良の有無を各ビットｘ０〜ｘ８のそれぞれについて検査し、「０」又は「１」のセル不良検査出力信号ＣＣＯを出力する。
【０１４０】
セル不良検査回路８０でオープン／ショート不良が検出されると、データ判定回路１４０３はオープン／ショート不良が存在するビットｘ０〜ｘ８の値を「０」又は「１」であると仮定して、情報ビットｘ０〜ｘ７と冗長ビットｘ８との「１」の合計数が偶数か奇数かを判定する。データ判定回路１４０３は、ビットｘ０〜ｘ８のうちの不良の存在するビットを「０」又は「１」に置き換えて「１」の合計数が偶数となった値を訂正後の結果、すなわち不良と判断されたデータメモリセルから読出された読出しデータの真値として外部回路１５０１に出力する。データ判定回路１４０３の訂正結果を出力する上記の動作は、オープン／ショート不良が存在しないビットについては出力ノード１１０３のデータ判定信号ＤＯを外部回路１５０１にそのまま出力し、オープン／ショート不良が存在するビットについてはオープン／ショート不良が存在するビット以外のビットの「１」の合計数が奇数ならば外部回路１５０１へ「１」を出力し、オープン／ショート不良が存在するビット以外のビットの「１」の合計数が偶数ならば外部回路１５０１へ「０」を出力することと同じである。以上の工程を復号化と呼ぶ。
【０１４１】
データメモリセルにショート不良が生じている場合、出力ノード１１０３のデータ判定信号ＤＯは必ず「０」となる。データメモリセルにオープン不良が生じている場合、出力ノード１１０３のデータ判定信号ＤＯは必ず「１」となる。リファレンスメモリセルにショート不良が生じている場合、出力ノード１１０３のデータ判定信号ＤＯ（生データ）は必ず「１」となる。リファレンスメモリセルにオープン不良が生じている場合、出力ノード１１０３のデータ判定信号ＤＯは必ず「０」となる。従って、データメモリセル及びリファレンスメモリセルにオープン／ショート不良が発生した場合、出力ノード１１０３のデータ判定信号ＤＯは不確定となる。このような場合に、オープン／ショート不良が発生していない全てのメモリブロックからのデータ判定信号ＤＯ（生データ）を用いて、不良の生じたデータ判定信号ＤＯの真の値を推定するということが、本実施の形態の復号化の本質である。
【０１４２】
ここで、図１８を再び用いて、データ判定回路１４０３によって当該誤りデータが訂正される具体例について説明する。本例では、ｘ０＝０、ｘ１＝１、ｘ２＝０、ｘ３＝１、ｘ４＝０、ｘ５＝１、ｘ６＝０、ｘ７＝１、ｘ８＝１として説明をする。
【０１４３】
図１８の図中に破線の楕円ａ１で囲んで示すように、情報ビットｘ３の各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯは（１，１，１，０）である。このため、破線の円ａ２で囲んで示すように、セル不良検査回路８０の出力ノード１１７１のセル不良検査出力信号ＣＣＯは「１」になる。これにより、オープン／ショート不良による誤りは、情報ビットｘ３に相当する部分に検出される。このように、セル不良検査回路８０のセル不良検査出力信号ＣＣＯはオープン／ショート不良の有無の情報を有している。データ判定回路１４０３は情報ビットｘ３の値を不確定と判断する。情報ビットｘ３以外の情報ビットｘ０〜１２、ｘ４〜ｘ７及び冗長ビットｘ８のデータ判定信号ＤＯを見ると、情報ビットｘ１、ｘ５、ｘ７及び冗長ビットｘ８のデータ判定信号ＤＯの４つが「１」であり、「１」の数は偶数である。破線の円ｂ０で囲んで示すように、オープン／ショート不良による誤りの可能性のある情報ビットｘ３を「０」と仮定すると、長方形の枠α０で囲んで示すように、情報ビットｘ０〜ｘ７及び冗長ビットｘ８で構成されるデータ列の「１」の合計数は偶数（４個）となる。一方、破線の円ｂ１で囲んで示すように、オープン／ショート不良による誤りの可能性のある情報ビットｘ３を「１」と仮定すると、長方形の枠α１で囲んで示すように、情報ビットｘ０〜ｘ７及び冗長ビットｘ８で構成されるデータ列の「１」の合計数は奇数（５個）となる。従って、データ判定回路１４０３は、「１」の合計数が偶数となるデータ列に含まれる「０」が情報ビットｘ３に対応するデータメモリセルからの読出しデータの真値であったと推定できる。その結果、データ判定回路１４０３は外部回路１５０１にｘ０＝０、ｘ１＝１、ｘ２＝０、ｘ３＝０、ｘ４＝０、ｘ５＝１、ｘ６＝０、ｘ７＝１、ｘ８＝１のデータ列を出力する。
【０１４４】
オープン／ショート不良は、各ビットｘ０〜ｘ８の少なくともいずれか１つに必ず存在するとは限らない。実際には、各ビットｘ０〜ｘ８のいずれにもオープン／ショート不良は殆ど存在しない。オープン／ショート不良が１つも存在しない場合、データ判定回路１４０３はデータ判定信号ＤＯをそのまま外部回路１５０１に出力する。また、データ判定信号ＤＯの各ビットｘ０〜ｘ８にオープン／ショート不良が２つ以上含まれる場合がある。この場合、データ判定回路１４０３は誤りデータを訂正できない。オープン／ショート不良が何個発生していたのか、オープン／ショート不良が発生していた場合にどのビットがオープン／ショート不良なのかという情報が得られると、半導体記憶装置の開発にフィードバックがかけられる。データ判定回路１４０３はこのような情報を外部回路１５０２へ出力する。外部回路１５０２は多数の出力ノードを有し、１回のデータ読出しに対して例えば多数の情報を１度で送信できる。あるいは、外部回路１５０２は１つの出力ノードを有し、１回のデータ読出しに対して例えば数ナノ秒毎に多数の情報を連続して送信してもよい。
【０１４５】
次に、本実施の形態の磁気抵抗素子メモリ１００の読出しデータのデータ判定方法について図２１及び図２２を用いて説明する。図２１及び図２２は磁気抵抗素子メモリ１００の読出しデータのデータ判定方法のフローチャートである。図２１に示すように、まず各メモリブロックに対して、ビットラインとワードラインとが選択され、初段増幅回路１３０１が動作し、所定時間の経過後に、次段増幅回路１３０２が動作し、読出し回路１３０３から各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯが出力される（ステップＳ１）。ステップＳ１の工程は、読出し回路１３０３における動作である。以降の動作は、データ判定回路１４０３内で行われる。データ判定回路１４０３において、まず各メモリブロックに対して、オープン／ショート不良の有無が判定される（ステップＳ２）。ステップＳ２の工程は、図１９に示すセル不良検査回路８０で行われる。図２０に示すように、セル不良検査回路８０は各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いてオープン／ショート不良の有無をビット毎に検出する。
【０１４６】
次に、全てのメモリブロックにオープン／ショート不良の存在が検出されたか否かを判断する（ステップＳ３）。オープン／ショート不良の数が０個、１個又は２個以上の場合で異なる処理が行われる。ステップＳ３の工程において、オープン／ショート不良が存在しない場合は、オープン／ショート不良が存在しないことを示す情報を外部回路１５０２へ出力する（ステップＳ４）。次いで、読出し回路１３０３の全てのデータ判定信号ＤＯをそのまま外部回路１５０１へ出力する（ステップＳ５）。こうして、磁気抵抗素子メモリ１００の読出しデータのデータ判定は終了する。
【０１４７】
一方、ステップＳ３において、オープン不良又はショート不良が存在すると検出されたら、複数のオープン不良又はショート不良が存在するか否かを判断する（ステップＳ６）。ステップＳ６においてオープン不良あるいはショート不良が複数個存在した場合には、オープン／ショート不良が複数個存在しデータの訂正が不能であることを示す情報を外部回路１５０２へ出力する（ステップＳ７）。こうして、磁気抵抗素子メモリ１００の読出しデータのデータ判定は終了する。
【０１４８】
一方、ステップＳ６において、オープン／ショート不良が複数存在しない、すなわちオープン／ショート不良が１つ存在すると判定されたら処理Ａを開始する（ステップＳ８）。図２２は、処理Ａのフローチャートである。図２２に示すように、オープン／ショート不良が１つ存在し、誤りデータが訂正されることを示す情報を外部回路１５０２へ出力する（ステップＳ１０）。次に、オープン／ショート不良の存在しないメモリブロックに関し、読出し回路１３０３のデータ判定出力信号ＤＯを外部回路１５０１へ出力する（ステップＳ１１）。
【０１４９】
次に、オープン／ショート不良の存在しないメモリブロック（情報メモリブロック１４０１及び冗長メモリブロック１４０２）のデータ判定出力信号ＤＯが「１」の合計数が奇数か否かを判定する（ステップＳ１２）。ステップＳ１２において、オープン／ショート不良が存在しないメモリブロックのデータ判定出力信号ＤＯの「１」の合計数が偶数個であった場合（ステップＳ１３）、オープン／ショート不良がなかったメモリブロックから、オープン／ショート不良が生じたメモリブロックからの読出しデータの真値は「０」と判断し、当該メモリブロックの読出しデータとして外部回路１５０１へ「０」を出力する（ステップＳ１４）。ステップＳ１２において、オープン／ショート不良のないメモリブロックのデータ判定出力信号ＤＯの「１」の合計数が奇数個であった場合（ステップＳ１３）、オープン／ショート不良のないメモリブロックから、オープン／ショート不良のあるメモリブロックからの読出しデータの真値は「１」と判断し、当該メモリブロックの読出しデータとして外部回路１５０１へ「１」を出力する（ステップＳ１５）。こうして、処理Ａが終了すると共に、図２１に示すように、磁気抵抗素子メモリ１００の読出しデータのデータ判定は終了する。磁気抵抗素子メモリ１００の読出しデータのデータ判定方法の各ステップの順序は、以上説明した工程や図２１及び図２２のフローチャートに限られない。例えば、ステップＳ１１においてデータ判定出力信号ＤＯを外部回路１５０１へ出力せずに、ステップＳ１４又はステップＳ１５において、訂正したデータと共に当該データ判定出力信号ＤＯを外部回路１５０１に出力してもよい。
【０１５０】
以上説明したように、本実施の形態では、磁気抵抗素子メモリ１００は冗長メモリブロック１４２０を１つ用いることにより、メモリセルのオープン不良やショート不良の検出だけではなく、オープン不良やショート不良が同じアドレスに１つ存在している場合に他のメモリブロックからの読出しデータ推定してオープン／ショート不良による読出しデータの誤りを訂正することができる。これにより、磁気抵抗素子メモリ１００はオープン不良又はショート不良が多数発生し易い製造プロセスで製造されても歩留まりが向上する。また、本実施の形態では、冗長メモリブロック数が以下の第６の実施の形態で説明するハミング符号より少なくて済むので、半導体記憶装置の小型化、高集積化を図ることができる。
【０１５１】
〔第６の実施の形態〕
本発明の第６の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法について図２３乃至図３４を用いて説明する。本実施の形態による半導体記憶装置は、上記第１、第２及び第５の実施の形態の半導体記憶装置と同様に、磁気抵抗素子メモリに関する。本実施の形態の半導体記憶装置は、上記第１又は第２の実施の形態によるセル不良検出機能付き読出し回路１３０３によって検出されたオープン不良又はショート不良に関する情報を用い、さらにハミング符号と組み合わせることにより、オープン不良又はショート不良を原因とするデータ誤り１つと、オープン／ショート不良以外の不良を原因とするデータ誤り１つとを訂正することができる点に特徴を有している。本実施の形態では、半導体記憶装置として磁気抵抗素子メモリを例にとって説明するが、本実施の形態はこれに限れない。本実施の形態の半導体記憶装置は、例えば抵抗変化メモリ等の抵抗メモリにも適用できる。
【０１５２】
本実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法を説明する前にハミング符号について簡単に説明する。図２３は、１誤り訂正ハミング符号のビット構成を示している。１誤り訂正ハミング符号は８ビットの情報ビットｘ０〜ｘ７と４ビットの冗長ビットｘ８〜ｘ１１とから構成される。図２４は、１誤り訂正ハミング符号化時の冗長ビットｘ８〜ｘ１１の計算方法を示している。図２４において、「＋」は排他的論理和を表している。図２４に示すように、冗長ビットｘ８〜ｘ１１は情報ビットｘ０〜ｘ７を用いて計算される。１誤り訂正ハミング符号化されたデータｘ０〜ｘ１１の符号系列は４０９６通りである。この４０９６通りのうち、誤りのない場合は２５６通りある。この２５６通りの符号系列のうち、どの２つをとっても互いに３つ以上の値が異なる。１誤り訂正ハミング符号化されたデータがこのような関係にあることを最小ハミング距離が３であるという。そのため、誤りが１つ発生したとしても、あり得るデータｘ０〜ｘ１１の組み合わせのうち、もっとも近いデータに訂正して復号化することにより正しいデータが生成できる。これが１誤り訂正ハミング符号の本質である。
【０１５３】
図２５は、１誤り訂正ハミング符号の復号化時に用いられるシンドロームの計算方法を示している。シンドロームとは、誤りがあるか否か、及び誤りがあるとしたらどのビットに誤りがあるのかを指し示す情報をいう。シンドロームは、Ｈ行列と受信データによる１列の行列との積により求められる。図２５に示すように、本例では、シンドロームは４行×１２列のＨ行列と１２行×１列の行列との積を求めることにより得られる。本例では、シンドロームｓ０〜ｓ３は４ビットである。シンドロームｓ０〜ｓ３の全ての値が「０」のときは、データに誤りがないことを表している。シンドロームｓ０〜ｓ３のうちに「１」の値が少なくとも１つ含まれる場合には、シンドロームｓ０〜ｓ３を２進数と見て、シンドロームｓ０〜ｓ３の指し示す値から１を減算したビットのデータに誤りがあることを表す。従って、データに誤りがあると判定されたビットのデータの「０」／「１」を反転させてから復号化することにより正しいデータが生成できる。例えば、ｓ０＝１、ｓ１＝１、ｓ２＝０、ｓ３＝０の場合、８ｓ０＋４ｓ１＋２ｓ２＋ｓ３＝１２であるため、冗長ビットｘ１１に誤りがあることがわかる。図２３に示すハミング符号では、仮に２つのビットに誤りが発生してしまった場合、符号化されたデータはさらにもう１つの誤りが追加されて復号化されてしまう。
【０１５４】
図２６は、１誤り訂正２誤り検出ハミング符号のビット構成を示している。図２６に示すように、１誤り訂正２誤り検出ハミング符号のビット構成は、８ビットの情報ビット及び５ビットの冗長ビットとから構成されている。１誤り訂正２誤り検出ハミング符号は、情報ビットｘ０〜ｘ６、冗長ビットｘ７、情報ビットｘ８、冗長ビットｘ９〜ｘ１２のように構成されている。図２７は、１誤り訂正２誤り検出ハミング符号化時の冗長ビットｘ７、ｘ９〜ｘ１２の計算方法を示している。図２７において、「＋」は排他的論理和を表している。冗長ビットｘ１２は、ｘ０〜ｘ１２の１の数が偶数になるように符号化される。１誤り訂正２誤り検出ハミング符号化されたデータｘ０〜ｘ１２の符号系列は８１９２通りである。この８１９２通りのうち、誤りのない場合は２５６通りある。この２５６通りの符号系列のうち、どの２つをとっても互いに４つ以上の値が異なる。１誤り訂正２誤り検出ハミング符号化されたデータｘ０〜ｘ１２がこのような関係にあることを最小ハミング距離が４であるという。そのため、誤りが１つ発生したとしても、あり得るデータｘ０〜ｘ１１の組み合わせのうち、もっとも近いデータに訂正して復号化することにより正しいデータが生成できる。また、誤りが２つ発生した場合、あり得るデータｘ０〜ｘ１１の組み合わせと２箇所異なることになる。この場合、２箇所異なるデータｘ０〜ｘ１１の組み合わせは複数あるのでデータの訂正ができない。つまり、データの誤りが２つ発生した場合には、符号化されたデータは復号化できない。しかし、復号化データに誤りがあるということがわかる。つまり、符号化されたデータの２誤りを検出することができる。これが１誤り訂正２誤り検出ハミング符号の本質である。
【０１５５】
図２８は、１誤り訂正２誤り検出ハミング符号の復号化時に用いられるシンドロームｓ０〜ｓ４の計算方法を示している。シンドロームｓ０〜ｓ３は、誤りがあるか否か、及び誤りが１つあるとしたらどこに誤りがあるのかを指し示す情報を有している。シンドロームは、Ｈ行列と受信データによる１列の行列との積により求められる。図２８に示すように、本例では、シンドロームは５行×１３列のＨ行列と１３行×１列の行列との積を求めることにより得られる。シンドロームｓ４は誤りが偶数個あるのか奇数個あるのかに関する情報を有している。誤りがない場合、シンドロームｓ０〜ｓ３は「０」、シンドロームｓ４も「０」となる。誤りが１つ発生した場合、シンドロームｓ０〜ｓ３の少なくとも１つが「１」となり、シンドロームｓ４が「１」となる。この場合、シンドロームｓ０〜ｓ３を２進数と見て、シンドロームｓ０〜ｓ３の指し示す値から「１」を減算して得られる値と等しいビットのデータに誤りがあることを表す。従って、データに誤りがあると判定されたビットのデータの「０」／「１」を反転させてから復号化することにより正しいデータが生成できる。例えば、ｓ０＝１、ｓ１＝０、ｓ２＝０、ｓ３＝０、ｓ４＝１の場合、８ｓ０＋４ｓ１＋２ｓ２＋ｓ３＝８であるため、冗長ビットｘ７に誤りがあることがわかる。データに誤りが２つ発生した場合、シンドロームｓ０〜ｓ３の少なくとも１つが「１」になり、シンドロームｓ４が「０」になる。この場合、データを復号化することはできず、２つのビットに誤りがあることを外部に知らせることしかできない。
【０１５６】
図２９は、パリティ及びハミング符号における情報ビットと冗長ビットとの構成及び機能についてまとめた表である。図２９では、最左欄に情報ビット及び冗長ビットの構成を示し、中央欄に各ビット構成における機能を示し、最右欄に各ビット構成がパリティ又はハミング符号のいずれに分類されるかを示している。図２９に示すように、例えば、項目が書かれた最上欄の直下の欄には、情報ビットが８ビットであり冗長ビットが１ビットのビット構成では、１ビット誤り検出を行うことができ、パリティに分類されることが示されている。
【０１５７】
本実施の形態では、１誤り訂正２誤り検出ハミング符号と同じ符号化を行い、復号化の際にオープン不良又はショート不良と判定された場合には、データが「０」又は「１」と仮定した２つのデータの組のうちの少なくとも一方は、あり得るデータの組み合わせと多くとも１箇所しか違っていない。本実施の形態の半導体記憶装置は、１誤り訂正２誤り検出ハミング符号がオープン／ショート不良による誤りが１つ存在しても、オープン／ショート不良以外による１箇所の誤りを訂正することができることを利用する。
【０１５８】
図３０は、本実施の形態による半導体記憶装置としての磁気抵抗素子メモリ２００のブロック図である。図３０に示すように、本実施の形態の磁気抵抗素子メモリ２００は、８個の情報メモリブロック１４０１と５個の冗長メモリブロック１４０２の合計１３個のメモリブロックと、当該メモリブロック１４０１、１４０２に接続されたデータ判定回路１４０４とを有している。１３個のメモリブロック１４０１、１４０２は常に同時にデータ読出し及びデータ書込みが行われる。データ読出し及びデータ書込みは１３個のメモリブロック１４０１、１４０２の同一アドレスへ行われる。各メモリブロック１４０１は、セル不良検出機能付き読出し回路１３０３と、データメモリセル部、リファレンスメモリセル部及びカラムスイッチ等とを備えたメモリセル部１３０４とをそれぞれ有している。また、冗長メモリブロックは、読出し回路１３０３と同じ構成のセル不良検出機能付き読出し回路（不図示）と、メモリセル部１３０４と同じ構成を有するメモリセル部（不図示）とを有している。当該メモリセル部は、磁気抵抗素子を備えた冗長メモリセルと、磁気抵抗素子を備えた冗長リファレンスメモリセルと、カラムスイッチ等とを有している。図３０では、１つの情報メモリブロック１４０１内に１つの読出し回路１３０３及び１つのメモリセル部１３０４が例示されている。しかし実際には、各メモリブロック１４０１、１４０２は、複数のデータ読出し回路１３０３及び複数のメモリセル部１３０４を有していてもよい。また、メモリブロック１４０１、１４０２はデータ書込み用回路を有しているが図示は省略する。
【０１５９】
１３個のメモリブロック１４０１、１４０２は、セル不良検出機能付き読出し回路１３０３からの出力である５つの出力信号をそれぞれ出力する。当該５つの出力信号は上記第５の実施の形態と同様に、データ判定信号ＤＯと、データセルショート判定信号ＤＳＯと、データセルオープン判定信号ＤＯＯと、リファレンスセルショート判定信号ＲＳＯと、リファレンスセルオープン判定信号ＲＯＯである。各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯの出力電圧レベルは上記第５の実施の形態と同様である（図１７参照）。各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯは、データメモリセルや冗長メモリセルがショート不良又はオープン不良の不良状態か否かによって電圧レベルが異なり、データメモリセル又は冗長メモリセルが不良状態か否かを判断するセル不良判定信号として用いられる。各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯはデータ判定回路１４０４に入力される。データ判定回路１４０４はオープン／ショート不良によるデータ書込み又はデータ読出しの誤りを訂正する回路及びオープン／ショート不良に関する情報を整理する回路を有している。書込みデータは、書込み時に１誤り訂正２誤り検出の符号化と同じように符号化される。すなわち、図２７に示す計算式に基づいて算出された冗長ビットに対応するデータが５個の冗長メモリブロック１４０２に書込まれる。
【０１６０】
以下では、各メモリブロック１４０１、１４０２から読出されたデータをビットと呼び、データメモリブロック１４０１からの読出しデータを情報ビットと呼び、冗長メモリブロック１４０２からの読出しデータを冗長ビットと呼ぶことにする。データ判定回路１４０４は、オープン／ショート不良による誤りとオープン／ショート不良以外による誤りとをそれぞれ１つずつ訂正することができる。
【０１６１】
図３１は、データ判定回路１４０４におけるオープン／ショート不良による１つの誤りと、オープン／ショート不良以外による１つの誤りとを訂正する方法の具体的例を示している。図３１の図中左側には、読出し回路１３０３の出力ノード１１０３等と、セル不良検査回路８０の出力ノード１１７１とを示し、その隣には各出力ノードから出力される信号の簡易表記を示している。さらにその隣には、９つの情報メモリブロック１４０１の情報ビットｘ０〜ｘ６、ｘ８と、５つの冗長メモリブロック１４０２の冗長ビットｘ７、ｘ９〜ｘ１２とを例示している。またさらにその隣には、シンドロームＳ０〜Ｓ４を例示している。図３１に示すように、データ判定回路１４０４は８つの情報メモリブロック１４０１（情報ビットｘ０〜ｘ６、ｘ８）の各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いて、メモリセルにオープン／ショート不良が存在するか否かを検査する。当該検査には、図１９に示すセル不良検査回路８０が用いられる。セル不良検査回路８０は各メモリブロック１４０１、１４０２毎に設けられている。セル不良検査回路８０は各判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いて「０」又は「１」のセル不良検査出力信号ＣＣＯを出力する。
【０１６２】
次に、データ判定回路１４０４はオープン／ショート不良が存在するビットのデータを「０」及び「１」と仮定してそれぞれについて、データ判定回路１４０４に備えられたハミング復号器（不図示）に符号化されたデータｘ０〜ｘ１２（データ列）をかける。データ判定回路１４０４は情報ビットｘ０〜ｘ６、ｘ８と冗長ビットｘ７、ｘ９〜ｘ１２とからシンドロームｓ０〜ｓ４を計算する。オープン不良又はショート不良による１つのデータ誤りとオープン／ショート不良以外による１つのデータ誤りとが存在する場合、通常「０」又は「１」のいずれか一方で１誤り、他方で２誤りという結果が得られる。データ判定回路１４０４は訂正後のデータとして「０」又は「１」のうちの１誤りとなった値を採用して外部回路１５０１へ出力する。例えば、データ判定回路１４０４は、「０」と仮定して１誤りありと判断した場合には、「１」と仮定すると２誤りありと判断する。この場合、データ判定回路１４０４は、訂正後のデータとして「０」を採用して外部回路１５０１へ出力する。
【０１６３】
図３１は、データメモリセルのショート不良に起因するデータ誤りが情報ビットｘ４に生じている状態を例示している。図３１に示すように、各メモリブロック１４０１、１４０２の各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯはデータ判定回路１４０４に入力される。例えばデータ判定信号ＤＯの値は、ｘ０＝０、ｘ１＝０、ｘ２＝１、ｘ３＝０、ｘ４＝０、ｘ５＝０、ｘ６＝１、ｘ７＝０、ｘ８＝１、ｘ９＝０、ｘ１０＝１、ｘ１１＝０、ｘ１２＝０である。メモリブロック１４０１、１４０２毎に設けられたセル不良検査回路８０は、４つの判定信号ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯを用いてオープン／ショート不良の有無を検査する。情報ビットｘ４に対応する情報メモリブロック１４０１のデータメモリセルにショート不良が生じているため、図中に破線の楕円ａ１で囲んで示すように、情報ビットｘ４のデータセルショート判定信号ＤＳＯの値は「０」となる。このため、破線の円ａ２で囲んで示すように、セル不良検査回路８０は「１」のセル不良検査出力信号ＣＣＯを出力する。
【０１６４】
データ判定回路１４０４はオープン／ショート不良による読出しデータの誤りの可能性があるビットを情報ビットｘ４と判断する。データ判定回路１４０４は、図中に破線の円ｂ０で囲んで示すように、情報ビットｘ４を「０」と仮定する。データ判定回路１４０４は当該「０」と、各ビットｘ０〜ｘ３、ｘ４〜ｘ１２からの読出しデータ（データ判定信号ＤＯ）とで構成されるデータ列α０を生成し、例えば図２８に示すＨ行列を用いてシンドロームｓ０〜ｓ４を計算する。これにより、破線の楕円ｃ０及び破線の円ｄ０でそれぞれ囲んで示すように、シンドロームｓ０〜ｓ４の各値はｓ０＝０、ｓ１＝１、ｓ２＝１、ｓ３＝０、ｓ４＝０となる。シンドロームｓ０〜ｓ３は全て「０」ではないので、データ読出し誤りの存在するビットを表している。データ読出し誤りが１つと仮定すれば、情報ビットｘ５に誤りが存在する。また、シンドロームｓ４は「０」なので、読出しデータ誤りは偶数個であるという結果となる。この場合、データ読出し誤りは２つあることが予想される。
【０１６５】
さらに、データ判定回路１４０４は、図中に破線の円ｂ１で囲んで示すように、情報ビットｘ４を「１」と仮定する。データ判定回路１４０４は当該「１」と、各ビットｘ０〜ｘ３、ｘ４〜ｘ１２からの読出しデータ（データ判定信号ＤＯ）とで構成されるデータ列α１を生成してシンドロームｓ０〜ｓ４を計算する。これにより、破線の楕円ｃ１及び破線の円ｄ１でそれぞれ囲んで示すように、シンドロームｓ０〜ｓ４の各値はｓ０＝０、ｓ１＝０、ｓ２＝１、ｓ３＝１、ｓ４＝１となる。シンドロームｓ０〜ｓ３は全て「０」ではないので、データ読出し誤りの存在するビットを表している。データ読出し誤りが１つと仮定すれば、図中に破線の円ｅで囲んで示すように、情報ビットｘ２に誤りが存在する。また、シンドロームｓ４は「１」なので、読出しデータ誤りは奇数個であるという結果となる。この場合、誤りが１つあることが予想される。
【０１６６】
従って、データ判定回路１４０４は、データ列α１に含まれる「１」を情報ビットｘ４に対応する情報メモリブロック１４０１内のデータメモリセルからの読出しデータの真値であったと推測できる。さらに、データ判定回路１４０４はオープン／ショート不良以外によるデータ誤りが１つあり、そのビットは情報ビットｘ２であると判断できる。データ判定回路１４０４は、こうして正しく訂正した結果、すなわち情報ビットｘ４を「１」に訂正し、情報ビットｘ２を読み出しデータの真値である「０」に訂正した結果を外部回路１５０１へ出力する。従って、図中の最下欄に示しように、データ判定回路１４０３が外部回路１５０１に出力する結果は、ｘ０＝０、ｘ１＝０、ｘ２＝０、ｘ３＝０、ｘ４＝１、ｘ５＝０、ｘ６＝１、ｘ７＝０、ｘ８＝１、ｘ９＝０、ｘ１０＝１、ｘ１１＝０、ｘ１２＝０になる。
【０１６７】
１つのオープン／ショート不良が存在し、オープン／ショート不良以外によるデータ読出し誤りが存在しない場合には、データ判定回路１４０４はオープン／ショート不良によるデータ読出し誤りの可能性があるビットを「０」又は「１」と仮定して、それぞれについてハミング復号器にかける。この場合、データ判定回路１４０４は「０」又は「１」のいずれにおいても同じ訂正結果を出力する。データ判定回路１４０４は当該同じ訂正結果を外部回路１５０１へ出力する。
【０１６８】
オープン／ショート不良が存在せず、オープン／ショート不良以外によるデータ読出し誤りが１つ存在する場合には、データ判定回路１４０４はデータ判定信号ＤＯの値をそのままハミング復号器にかける。データ判定回路１４０４はこれにより得られた訂正結果を外部回路１５０１へ出力する。
【０１６９】
オープン／ショート不良が２つ以上存在する場合には、データ判定回路１４０４は読出しデータを訂正できない。また、オープン／ショート不良以外による誤りが２つ以上存在する場合には、データ判定回路１４０４はさらにもう１つの誤りを加えて復号化してしまう。オープン／ショート不良が何個存在したのか、及び不良が存在した場合にどのビットがオープン／ショート不良であったのかという情報が得られると、磁気抵抗素子メモリ２００の開発に当該情報をフィードバックできる。このような情報はデータ判定回路１４０４から外部回路１５０２へ出力される。外部回路１５０２は多数の出力ノードを有し、１回のデータ読出しに対して例えば多数の情報を１度で送信できる。あるいは、外部回路１５０２は１つの出力ノードを有し、１回のデータ読出しに対して例えば数ナノ秒毎に多数の情報を連続して送信してもよい。
【０１７０】
次に、本実施の形態の磁気抵抗素子メモリ２００の読出しデータのデータ判定方法について図３２乃至図３４を用いて説明する。図３２乃至図３４は、磁気抵抗素子メモリ２００の読出しデータのデータ判定方法のフローチャートである。図３２に示すように、まず各メモリブロックに対して、ビットラインとワードラインとが選択され、初段増幅回路１３０１が動作し、所定時間の経過後に、次段増幅回路１３０２が動作し、読出し回路１３０３から各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯが出力される（ステップＳ２０）。ステップＳ２０の工程は、読出し回路１３０３における動作である。以降の動作は、データ判定回路１４０４内で行われる。データ判定回路１４０４において、まず各メモリブロックに対して、オープン／ショート不良の有無が判定される（ステップＳ２１）。ステップＳ２１の工程は、図１９に示すセル不良検査回路８０で行われる。セル不良検査回路８０は図２０に示すように動作してオープン／ショート不良の有無を検出する。
【０１７１】
次に、全てのメモリブロックにオープン／ショート不良の存在が検出されたか否かを判断する（ステップＳ２２）。オープン／ショート不良の数が０個、１個又は２個以上の場合で異なる処理が行われる。ステップＳ２２の工程において、オープン／ショート不良が存在しない場合は、オープン／ショート不良が存在しないことを示す情報を外部回路１５０２へ出力する（ステップＳ２３）。次に、各メモリブロック（情報メモリブロック１４０１および冗長メモリブロック１４０２）の出力ノード１１０３から出力されたデータ判定信号ＤＯを１誤り訂正２誤り検出ハミング符号の復号器にかける（ステップＳ２４）。次いで、ステップＳ２４において得られた復号結果を外部回路１５０１へ出力する（ステップＳ２５）。次に、ステップＳ２５において得られたオープン／ショート不良以外の原因によるデータ読出し誤り等の情報を外部回路１５０２に出力する（ステップＳ２６）。ステップＳ２４において、オープン／ショート不良以外によるデータ読出し誤りが２つ存在してデータ訂正ができなかった場合には、データ訂正不能の情報を外部回路１５０２に出力する。但し、オープン／ショート不良以外の原因によるデータ読出し誤りが２つ存在してデータ訂正ができないことは稀である。こうして、磁気抵抗素子メモリ２００の読出しデータのデータ判定は終了する。
【０１７２】
一方、ステップＳ２２の工程において、オープン不良又はショート不良が存在すると判断されると、次に、複数のオープン不良又はショート不良が存在するか否かが判断される（ステップＳ２７）、ステップＳ２７において、複数のオープン不良又はショート不良が存在すると判断された場合には、複数のオープン／ショート不良が存在するためデータ訂正が不可能であることを示す情報を外部回路１５０２へ出力する（ステップＳ２８）。こうして、磁気抵抗素子メモリ２００の読出しデータのデータ判定は終了する。
【０１７３】
一方、ステップＳ２７において、複数の不良は存在しないが１つのオープン／ショート不良が存在すると判断された場合には、処理Ａ（ステップＳ２９）及び処理Ｂ（ステップＳ３０）が処理されて、磁気抵抗素子メモリ２００の読出しデータのデータ判定は終了する。図３３は、処理Ａのフローチャートである。図３３に示すように、処理Ａでは、まずオープン／ショート不良が１つ存在し、訂正されることを示す情報を外部回路１５０２へ出力する（ステップＳ４０）。次に、オープン不良又はショート不良と判断されたメモリブロック（情報メモリブロック１４０１及び冗長メモリブロック１４０２）からのデータ判定信号ＤＯに相当する値を「０」と仮定して、データ判定回路１４０４内に備えられたバッファ１（不図示）に出力し、それ以外のデータ判定信号ＤＯの値は加工せずにメモリブロックから出力された値をそのままバッファ１に出力する（ステップＳ４１）。次に、オープン不良又はショート不良と判断されたメモリブロック（情報メモリブロック１４０１及び冗長メモリブロック１４０２）からのデータ判定信号ＤＯに相当する値を「１」と仮定して、データ判定回路１４０４内に備えられたバッファ２（不図示）に出力し、それ以外のデータ判定信号ＤＯの値は加工せずにメモリブロックから出力された値をそのままバッファ２に出力する（ステップＳ４２）。
【０１７４】
次に、バッファ１のデータを１誤り訂正２誤り検出ハミング復号器にかけて復号化を試みる。読出しデータに誤りなしあるいは１誤りと判断されて訂正が可能であった場合は、「０」を読出しデータの真値と判定して、訂正した復号化結果をデータ判定回路１４０４内に備えられたバッファ３（不図示）に出力する（ステップＳ４３）。バッファ２のデータを１誤り訂正２誤り検出ハミング復号器にかけて復号化を試みる。読出しデータに誤りなしあるいは１誤りと判断されて訂正が可能であった場合は、「１」を読出しデータの真値と判定して、訂正した復号化結果をデータ判定回路１４０４内に備えられたバッファ４（不図示）に出力する（ステップＳ４４）。バッファ１乃至４はクロックに同期して動作するフリップフロップのような回路である必要はなく、単なるノードの集まりであってもよい。これにより、処理Ａは終了する。次いで、処理Ｂを開始する。
【０１７５】
図３４は、処理Ｂのフローチャートである。図３４に示すように、処理Ｂでは、まずステップＳ４３の工程において１誤り以下で訂正可能であり復号化できたか否かを判断する（ステップＳ５０）。ステップＳ５０において、複合化できたと判断されたら、バッファ３のデータを外部回路１５０１へ出力する（ステップＳ５１）。次いで、ステップＳ４３におけるオープン／ショート不良以外の原因によるデータ読出し誤り等の情報を外部回路１５０２へ出力する（ステップＳ５２）。これにより、処理Ｂは終了する。
【０１７６】
一方、ステップＳ４３の工程において復号化できない場合には、ステップＳ４４の工程において１誤り以下で訂正可能であり復号化できたか否かを判断する（ステップＳ５３）。ステップＳ５３において、復号化できた場合には、バッファ４のデータを外部回路１５０１へ出力する（ステップＳ５５）。次いで、ステップＳ４４におけるオープン／ショート不良以外の原因によるデータ読出し誤り等の情報を外部回路１５０２へ出力する（ステップＳ５６）。これにより、処理Ｂは終了する。一方、ステップＳ４３、Ｓ４４のいずれにおいても復号化できなかった場合には、オープン／ショート不良以外の原因による誤りが２つ存在してデータ訂正できないこと示す情報を外部回路１５０２へ出力する（ステップＳ５４）。但し、オープン／ショート不良以外の原因による誤りが２つ存在してデータ訂正できないことは稀である。これにより、処理Ｂは終了する。こうして、処理Ｂが終了すると共に、図３２に示すように、磁気抵抗素子メモリ２００の読出しデータのデータ判定は終了する。
【０１７７】
図３１を用いて説明した磁気抵抗素子メモリ２００の読出しデータのデータ判定方法及び図３２乃至図３４のフローチャートにおける各工程は、上記の順序に限られない。例えば、図３３において、ステップＳ４１とステップＳ４２の順序が逆であっても構わない。
【０１７８】
以上説明したように、本実施の形態によれば、磁気抵抗素子メモリ２００は、オープン／ショート不良の情報とハミング符号の技術とを組み合わせて用いることにより、１つのオープン／ショート不良と、１つのオープン／ショート不良以外の原因によるデータ読出し誤りとが同時に発生しても、データを正しく訂正することができる。磁気抵抗素子メモリ２００はこのように高性能な誤り訂正機能を有しているので、磁気抵抗素子メモリ２００の製造歩留まりは飛躍的に向上する。
【０１７９】
本発明は上記実施の形態に限らず種々の変形が可能である。
上記第１及び第３の実施の形態では、データ読出し用増幅回路１３０１、２３０１の各クランプトランジスタ１２１４〜１２６６、２２１５、２２１６のそれぞれのゲート端子に異なる電圧が印加され、各電流調整用トランジスタ１２２０〜１２７２、２２２１、２２２２のそれぞれのゲート端子に同一の電圧が印加さている。また、上記第２及び第４の実施の形態では、データ読出し用増幅回路１３０１、２３０１の各電流調整用トランジスタ１２２０〜１２７２、２２２１、２２２２のそれぞれのゲート端子に異なる電圧が印加され、各クランプトランジスタ１２１４〜１２６６、２２１５、２２１６のそれぞれのゲート端子に同一の電圧が印加されているが、本発明はこれに限られない。例えば、データ読出し用増幅回路１３０１、２３０１の各クランプトランジスタ１２１４〜１２６６、２２１５、２２１６のそれぞれのゲート端子に異なる電圧が印加され、各電流調整用トランジスタ１２２０〜１２７２、２２２１、２２２２のそれぞれのゲート端子に異なる電圧が印加されていても、上記第１乃至第４の実施の形態と同様の効果が得られる。
【０１８０】
上記第１及び第２の実施の形態では、メモリセル１２０２、１２５２は１Ｔ１ＭＴＪ型であるが、本発明はこれに限られない。例えば、データ読出し用増幅回路１３０１は、２Ｔ２ＭＴＪ型のメモリセルを備えた磁気抵抗素子メモリにも適用できる。
【０１８１】
上記第５の実施の形態では、磁気抵抗素子メモリ１００は、８個の情報メモリブロック１４０１と、１個の冗長メモリブロック１４０２とを有しているが、本発明はこれに限られない。例えば、磁気抵抗素子メモリ１００は、情報メモリブロック１４０１の数が８個より多くても又は少なくても上記実施の形態と同様の効果が得られる。
【０１８２】
上記第６の実施の形態では、磁気抵抗素子メモリ２００は、８個の情報メモリブロック１４０１と、５個の冗長メモリブロック１４０２とを有しているが、本発明はこれに限られない。例えば、磁気抵抗素子メモリ２００は、情報メモリブロック１４０１の個数をｋとし、冗長メモリブロック１４０２の個数をｍとすると、少なくとも２ｍ−ｍ≧ｋ＋１の関係が成り立つように情報メモリブロック１４０１及び冗長メモリブロック１４０２を備えていれば、上記実施の形態と同様の効果が得られる。
【０１８３】
また、上記第５の実施の形態では、９つのメモリブロック１４０１、１４０２に書込まれる「１」の合計数が偶数になるように、冗長メモリブロック１４０２に「０」又は「１」の値が書込まれているが、本発明はこれに限られない。例えば、９つのメモリブロック１４０１、１４０２に書込まれる「１」の合計数が奇数になるように、冗長メモリブロック１４０２に「０」又は「１」の値が書込まれたり、９つのメモリブロック１４０１、１４０２に書込まれる「０」の合計数が偶数又は奇数になるように、冗長メモリブロック１４０２に「０」又は「１」の値が書込まれたりしても、上記第５の実施の形態と同様の効果が得られる。
【０１８４】
以上説明した第１乃至第６の実施の形態によるデータ読出し用増幅回路及びそれを備えた半導体記憶装置並びに読出しデータのデータ判定方法は、以下のようにまとめられる。
【０１８５】
（付記１）
データメモリセルに記憶されたデータの読出しに用いられ、データ読出し制御電圧に基づいて前記データに対応したデータ電圧を増幅するデータ読出し用増幅部と、
前記データ読出し用増幅部に並列に接続され、前記データ読出し制御電圧とは異なるデータセル不良検出制御電圧に基づいて、前記データメモリセルのショート不良又はオープン不良の少なくとも一方の不良検出に用いられる検出電圧を増幅するデータセル不良検出用増幅部と
を有することを特徴とするデータ読出し用増幅回路。
（付記２）
付記１記載のデータ読出し用増幅回路において、
前記データ読出し用増幅部は、直列接続されたデータ読出し用電流源及びデータ読出し用クランプトランジスタと、前記データ電圧を出力する、前記データ読出し用電流源と前記データ読出し用クランプトランジスタとの接続点とを有し、
前記データセル不良検出用増幅部は、直列接続されたデータセル不良検出用電流源及びデータセル不良検出用クランプトランジスタと、前記検出電圧を出力する、前記データセル不良検出用電流源と前記データセル不良検出用クランプトランジスタとの接続点とを有すること
を特徴とするデータ読出し用増幅回路。
（付記３）
付記１又は２に記載のデータ読出し用増幅回路において、
並列に接続されて異なる前記データセル不良検出制御電圧がそれぞれ印加される２つの前記データセル不良検出用増幅部を有し、
一方の前記データセル不良検出用増幅部は、前記ショート不良検出用の前記検出電圧を増幅し、他方の前記データセル不良検出用増幅部は、前記オープン不良検出用の前記検出電圧を増幅すること
を特徴とするデータ読出し用増幅回路。
（付記４）
付記１乃至３のいずれか１項に記載のデータ読出し用増幅回路において、
リファレンスメモリセルに記憶されたリファレンスデータの判定に用いられ、前記データ読出し制御電圧と異なるリファレンス読出し制御電圧に基づいて前記リファレンスデータに対応したリファレンス電圧を増幅して出力するリファレンス読出し用増幅部と、
前記リファレンス読出し用増幅部に並列に接続され、前記データセル不良検出制御電圧と異なるリファレンス不良検出制御電圧に基づいて、前記リファレンスメモリセルのショート不良又はオープン不良の少なくとも一方の不良検出に用いられるリファレンス検出電圧を増幅するリファレンスセル不良検出用増幅部と
をさらに有することを特徴とするデータ読出し用増幅回路。
（付記５）
抵抗メモリ素子を備えたデータメモリセルと、
付記１乃至４のいずれか１項に記載のデータ読出し用増幅回路と、前記データ読出し用増幅回路からの出力電圧が入力されるインバータ回路を備えて前記出力電圧をさらに増幅する次段増幅回路とを備えたデータ読出し回路と、
前記データ読出し用増幅回路に所定の制御電圧を印加する制御電圧回路と
を有することを特徴とする半導体記憶装置。
（付記６）
付記５記載の半導体記憶装置において、
前記データメモリセルと同じ構成の冗長メモリセルと、
前記データ読出し回路と同じ構成の冗長データ読出し回路と、
前記データメモリセルが不良と判断されたら、前記冗長メモリセルから読出された読出しデータを用いて前記データメモリセルから読出された読出しデータの真値を判定するデータ判定回路と
をさらに有することを特徴とする半導体記憶装置。
（付記７）
付記６記載の半導体記憶装置において、
前記データメモリセルと、前記冗長メモリセルとに記憶される「１」の合計数が常に奇数又は偶数になるように、前記冗長メモリセルには「０」又は「１」の値が記憶されており、
前記データ判定回路は、不良と判断された前記データメモリセル又は前記冗長メモリセル以外に記憶された「１」の合計数が奇数か偶数かによって不良と判断された前記データメモリセルからの前記読出しデータの真値を判定すること
を特徴とする半導体記憶装置。
（付記８）
付記６又は７に記載の半導体記憶装置において、
前記データ判定回路は、前記読出しデータを前記真値でないと判定したら前記読出しデータを訂正すること
を特徴とする半導体記憶装置。
（付記９）
付記６記載の半導体記憶装置において、
複数の前記情報メモリセルと、複数の前記冗長メモリセルとを有し、
前記複数の情報メモリセル及び前記複数の冗長メモリセルは、１誤り訂正２誤り検出ハミング符号化されたデータを記憶しており、
前記データ判定回路は、前記情報メモリセル及び前記冗長メモリセルからの前記読出しデータを復号化すること
を特徴とする半導体記憶装置。
（付記１０）
複数のデータメモリセルと、前記データメモリセルと同じ構成の冗長メモリセルとに記憶される「１」の合計数が常に奇数又は偶数になるように、前記冗長メモリセルに「１」又は「０」の値を記憶し、
前記複数のデータメモリセル及び前記冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記冗長メモリセルが前記不良状態か否かを検査し、
前記複数のデータメモリセル及び前記冗長メモリセルのいずれかが前記不良状態と判断されたら、前記不良状態の前記データメモリセル及び前記不良状態の前記冗長メモリセル以外から読出された「１」の合計数が奇数か偶数かによって、前記不良状態の前記データメモリセルから読み出された読出しデータの真値を判定すること
を特徴とする読出しデータのデータ判定方法。
（付記１１）
複数のデータメモリセルと、前記データメモリセルと同じ構成の複数の冗長メモリセルとに１誤り訂正２誤り検出ハミング符号化されたデータを記憶し、
前記複数のデータメモリセル及び前記複数の冗長メモリセルがショート不良又はオープン不良のいずれかの不良状態か否かによって電圧レベルが異なるセル不良判定信号に基づいて、前記複数のデータメモリセル及び前記複数の冗長メモリセルが前記不良状態か否かを検査し、
前記不良状態と判断された前記データメモリセル及び前記不良状態と判断された前記冗長メモリセルから読出された読出しデータを「０」又は「１」と仮定して、前記「０」又は前記「１」と、前記不良状態と判断されなかった前記データメモリセル及び前記冗長メモリセルから読み出された読出しデータとで構成されるデータ列を１誤り訂正２誤り検出ハミング符号によって復号化し、
誤りなし又は１誤り訂正による訂正可能と判断された前記データ列に含まれる前記「０」又は前記「１」を前記不良状態と判断された前記データメモリセルから読出された読出しデータの真値と判定すること
を特徴とする読出しデータのデータ判定方法。
（付記１２）
付記１０又は１１に記載の読出しデータのデータ判定方法において、
前記読出しデータを前記真値でないと判定したら、前記読出しデータを訂正すること
を特徴とする読出しデータのデータ判定方法。
【図面の簡単な説明】
【０１８６】
【図１】本発明の第１の実施の形態によるデータ読出し用増幅回路のクランプ部１１の回路構成を示す図である。
【図２】本発明の第１の実施の形態によるデータ読出し用増幅回路のクランプ部１１の回路構成を示す図である。
【図３】本発明の第１の実施の形態によるデータ読出し用増幅回路のクランプ部１１の電流源の回路構成の一例を示す図である。
【図４】本発明の第１の実施の形態によるデータ読出し用増幅回路１３０１の回路構成を示す図である。
【図５】本発明の第１の実施の形態による半導体記憶装置１のセル不良検出機能付き読出し回路１３０３及びその周辺の回路ブロック図である。
【図６】本発明の第１の実施の形態による初段増幅回路１３０１及びメモリセル部１３０４の回路構成を示す図である。
【図７】本発明の第１の実施の形態による半導体記憶装置１の読出し回路１３０３に備えられた次段増幅回路１３０２の回路構成を示す図である。
【図８】本発明の第１の実施の形態によるデータ読出し用増幅回路１３０１の接続ノード１１０２〜１１０４、１１５２〜１１５４の電位のシミュレーション結果を示す表である。
【図９】本発明の第１の実施の形態による半導体記憶装置１の次段増幅回路１３０２の各出力信号の出力電圧レベルを示す表である。
【図１０】本発明の第２の実施の形態によるデータ読出し用増幅回路１３０１の回路構成を示す図である。
【図１１】本発明の第３の実施の形態によるデータ読出し用増幅回路２３０１の回路構成を示す図である。
【図１２】本発明の第３の実施の形態による半導体記憶装置１のセル不良検出機能付き読出し回路２３０３及びその周辺の回路ブロック図である。
【図１３】本発明の第３の実施の形態による初段増幅回路２３０１及びメモリセル部２３０４の回路構成を示す図である。
【図１４】本発明の第３の実施の形態による半導体記憶装置１の読出し回路２３０３に備えられた次段増幅回路２３０２の回路構成を示す図である。
【図１５】本発明の第４の実施の形態によるデータ読出し用増幅回路２３０１の回路構成を示す図である。
【図１６】本発明の第５の実施の形態による半導体記憶装置としての磁気抵抗素子メモリ１００の情報メモリブロック１４０１及び冗長メモリブロック１４０２の構成並びにその周辺の回路構成を示すブロック図である。
【図１７】本発明の第５の実施の形態による磁気抵抗素子メモリ１００のメモリセルの不良状態の有無に対する各判定信号ＤＯ、ＤＳＯ、ＤＯＯ、ＲＳＯ、ＲＯＯの出力電圧レベルを示す表である。
【図１８】本発明の第５の実施の形態による磁気抵抗素子メモリ１００に備えられたデータ判定回路１４０３での１つのオープン／ショート不良によるデータ誤りを訂正する方法を説明する図である。
【図１９】本発明の第５の実施の形態による磁気抵抗素子メモリ１００のデータ判定回路１４０３に備えられたセル不良検査回路８０の回路構成例を示す図である。
【図２０】本発明の第５の実施の形態による磁気抵抗素子メモリ１００のセル不良検査回路８０の機能を説明するための表である。
【図２１】本発明の第５の実施の形態による磁気抵抗素子メモリ１００の読出しデータのデータ判定方法のフローチャートである。
【図２２】本発明の第５の実施の形態による磁気抵抗素子メモリ１００の読出しデータのデータ判定方法のフローチャートである。
【図２３】１誤り訂正ハミング符号のビット構成を示す図である。
【図２４】１誤り訂正ハミング符号化時の冗長ビットｘ８〜ｘ１１の計算方法を示す図である。
【図２５】１誤り訂正ハミング符号の復号化時に用いられるシンドロームの計算方法を示す図である。
【図２６】１誤り訂正２誤り検出ハミング符号のビット構成を示す図である。
【図２７】１誤り訂正２誤り検出ハミング符号化時の冗長ビットｘ８〜ｘ１１の計算方法を示す図である。
【図２８】１誤り訂正２誤り検出ハミング符号の復号化時に用いられるシンドロームの計算方法を示す図である。
【図２９】パリティ及びハミング符号における情報ビットと冗長ビットとの構成及び機能についてまとめた表である。
【図３０】本発明の第６の実施の形態による半導体記憶装置としての磁気抵抗素子メモリ２００の情報メモリブロック１４０１及び冗長メモリブロック１４０２の構成並びにその周辺の回路構成を示すブロック図である。
【図３１】本発明の第５の実施の形態による磁気抵抗素子メモリ２００に備えられたデータ判定回路１４０４におけるオープン／ショート不良による１つの誤りと、オープン／ショート不良以外による１つの誤りとを訂正する方法を説明する図である。
【図３２】本発明の第６の実施の形態による磁気抵抗素子メモリ２００の読出しデータのデータ判定方法のフローチャートである。
【図３３】本発明の第６の実施の形態による磁気抵抗素子メモリ２００の読出しデータのデータ判定方法のフローチャートである。
【図３４】本発明の第６の実施の形態による磁気抵抗素子メモリ２００の読出しデータのデータ判定方法のフローチャートである。
【符号の説明】
【０１８７】
１  半導体記憶装置
３ａ、３ｂ、２２、２６、３０  ｐＭＯＳＦＥＴ
５  リファレンス抵抗
１１  クランプ部
１２  クランプトランジスタ
１３  電流源
１４  電流調整用トランジスタ
１５、１１０２、１１０３、１１０４、１１５２、１１５３、１１５４、２１０３、２１０４  接続ノード
１６、１１０１、１１１２、１１１４、１１５１、１１６２、１１６４、１１７１、２１０１、２１１３、２１１４  出力ノード
２０  制御電圧回路
２１、２３  ＣＭＯＳインバータ
２４、２８、３２  ｎＭＯＳＦＥＴ
６１、６２、６３、６４、７１、７２  ２段インバータ回路
８０  セル不良検査回路
８１、８５  インバータ回路
８３、８７  ＮＯＲ回路
８９  ＮＡＮＤ回路
１００、２００  磁気抵抗素子メモリ
１２１１  データセルショート不良検出用クランプ部
１２１２、２２１２  データ読出し用クランプ部
１２１３  データセルオープン不良検出用クランプ部
１２１４、１２１６  データセル不良検出用クランプトランジスタ
１２１５、２２１５  データ読出し用クランプトランジスタ
１２２０、１２２２  データセル不良検出電流調整用トランジスタ
１２２１、２２２１  データ読出し電流調整用トランジスタ
１２６１  リファレンスセルショート不良検出用クランプ部
１２６２  リファレンス読出し用クランプ部
１２６３  リファレンスセルオープン不良検出用クランプ部
１２６４、１２６６  リファレンスセル不良検出用クランプトランジスタ
１２６５  リファレンス読出し電流調整用トランジスタ
１２７０、１２７２  リファレンスセル不良検出電流調整用トランジスタ
１２７１  リファレンス読出し電流調整用トランジスタ
１３０１、２３０１  データ読出し用増幅回路（初段増幅回路）
１３０２、２３０２  次段増幅回路
１３０３、２３０３  セル不良検出機能付き読出し回路
１３０４、２３０４  メモリセル部
１３０５  交差結合型増幅回路
１２０１、２２０１  データメモリセル群
１２０２、２２０２  データメモリセル
１２０３、１２５３、２２０３  選択トランジスタ
１２０４、１２５４  磁気抵抗素子
１２０６、１２５６、２２０６  カラム選択トランジスタ
１２０８、１２５８、２２０８  データビットライン
１２１０、２２１０  カラムスイッチ
１２５１  リファレンスメモリセル群
１２５２  リファレンスメモリセル
１４０１  情報メモリブロック
１４０２  冗長メモリブロック
１４０３、１４０４  データ判定回路
１５０１、１５０２  外部回路
２２０４  抵抗変化メモリ素子
２２１３  データセル不良検出用クランプ部
２２１６  データセル不良検出用クランプトランジスタ
２２２２  データセル不良検出電流調整用トランジスタ
【図１】
2007188591.tif 000003
【図２】
2007188591.tif 000004
【図３】
2007188591.tif 000005
【図４】
2007188591.tif 000006
【図５】
2007188591.tif 000007
【図６】
2007188591.tif 000008
【図７】
2007188591.tif 000009
【図８】
2007188591.tif 000010
【図９】
2007188591.tif 000011
【図１０】
2007188591.tif 000012
【図１１】
2007188591.tif 000013
【図１２】
2007188591.tif 000014
【図１３】
2007188591.tif 000015
【図１４】
2007188591.tif 000016
【図１５】
2007188591.tif 000017
【図１６】
2007188591.tif 000018
【図１７】
2007188591.tif 000019
【図１８】
2007188591.tif 000020
【図１９】
2007188591.tif 000021
【図２０】
2007188591.tif 000022
【図２１】
2007188591.tif 000023
【図２２】
2007188591.tif 000024
【図２３】
2007188591.tif 000025
【図２４】
2007188591.tif 000026
【図２５】
2007188591.tif 000027
【図２６】
2007188591.tif 000028
【図２７】
2007188591.tif 000029
【図２８】
2007188591.tif 000030
【図２９】
2007188591.tif 000031
【図３０】
2007188591.tif 000032
【図３１】
2007188591.tif 000033
【図３２】
2007188591.tif 000034
【図３３】
2007188591.tif 000035
【図３４】
2007188591.tif 000036