JP2005032336A - 半導体装置 - Google Patents
半導体装置 Download PDFInfo
- Publication number
- JP2005032336A JP2005032336A JP2003195877A JP2003195877A JP2005032336A JP 2005032336 A JP2005032336 A JP 2005032336A JP 2003195877 A JP2003195877 A JP 2003195877A JP 2003195877 A JP2003195877 A JP 2003195877A JP 2005032336 A JP2005032336 A JP 2005032336A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- memory cell
- memory
- data
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】レイアウト面積の小さな半導体装置を提供する。
【解決手段】この半導体装置では、プログラムデータを記憶するためのプログラムメモリセルブロック30と、通常のデータを記憶するための正規メモリセルブロック21とを同じメモリアレイに配置する。これにより、プログラムメモリセルブロック30を制御するために必要な制御線や駆動回路を正規メモリセルブロック21と共有することができる。このため、プログラムメモリセルブロック30と正規メモリセルブロック21とが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積の小さな半導体装置が実現できる。
【選択図】 図6
【解決手段】この半導体装置では、プログラムデータを記憶するためのプログラムメモリセルブロック30と、通常のデータを記憶するための正規メモリセルブロック21とを同じメモリアレイに配置する。これにより、プログラムメモリセルブロック30を制御するために必要な制御線や駆動回路を正規メモリセルブロック21と共有することができる。このため、プログラムメモリセルブロック30と正規メモリセルブロック21とが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積の小さな半導体装置が実現できる。
【選択図】 図6
Description
【0001】
【発明の属する技術分野】
この発明は半導体装置に関し、特に、半導体装置の制御に関するプログラムデータを記憶するプログラムメモリアレイを備える半導体装置に関する。
【0002】
【従来の技術】
半導体装置において、製造プロセスによりメモリセルの素子の仕上がりにばらつきが生じた場合、システムが誤動作を起こす可能性がある。そこで、チップ内の不良メモリセルの使用を回避する方法として、不良メモリセルを置換するためのスペアメモリセルを設けておく場合が多い。
【0003】
データ記憶を実行するための半導体装置においては、データ記憶形式は種々の形態がとられる。不良メモリセルのアドレスを記憶するためにレーザーヒューズを用いると、レーザー溶断装置が必要となってしまう。そこで、レーザー溶断装置を必要とせず、不揮発的にデータを記憶することが可能なデバイスとして、フラッシュメモリ、MRAM(Magnetic Random Access Memory)デバイスやOUM(Ovonic Unified Memories)デバイスなどの不揮発性半導体記憶装置がある。
【0004】
従来の不揮発性半導体記憶装置では、効率のよい冗長構成によりフラッシュメモリセルの使用効率を向上させたものが提案されている。この場合、ヒューズやフラッシュメモリセルによって形成される冗長アドレス記憶部が、不良セルブロックのアドレスを記憶する(たとえば、特許文献1参照)。
【0005】
MRAMデバイスは、半導体集積回路上に形成された複数の薄膜磁性体を用いて不揮発的なデータ記憶を行ない、薄膜磁性体の各々に対してランダムアクセスすることが可能なメモリデバイスである。特に、近年では磁気トンネル接合(MTJ:Magnetic Tunnel Junction)を利用した薄膜磁性体をメモリセル(以下、MTJメモリセルとも称する)として用いることによって、MRAMデバイスの性能が飛躍的に進歩することが発表されている。MTJメモリセルは、データ書込電流によって生じた磁界によって、書込データに応じた方向に磁化されてデータ記憶を実行する(たとえば、非特許文献1参照)。
【0006】
【特許文献1】
特開2003−366922号公報
【0007】
【非特許文献1】
Roy Scheuerlein、他6名,“A 10ns Read and Write Non−Volatile Memory Array Using a Magnetic Tunnel Junction and FET Switch in each Cell”, ISSCC Digest of Technical Papers, Feb. 2000, TA7.2,p.94−95,128−129,409
【0008】
【発明が解決しようとする課題】
科学技術の進歩に伴い、より小面積の半導体装置が望まれている。しかし、上記特許文献1による不揮発性半導体記憶装置では、不良セルブロックを記憶する冗長アドレス記憶部が通常のデータを記憶するメモリセルアレイとは別のアレイに設けられていたため、チップ面積の使用効率が悪かった。
【0009】
それゆえに、この発明の主たる目的は、レイアウト面積の小さな半導体装置を提供することである。
【0010】
【課題を解決するための手段】
この発明に係る半導体装置は、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第1のブロックと、半導体装置の制御に関するプログラムデータが格納される第2のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込/読出を行なう書込/読出回路と、書込/読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とを備えたものである。
【0011】
【発明の実施の形態】
[実施の形態1]
図1は、この発明の実施の形態1による半導体集積回路装置の概略構成を示すブロック図である。図1において、この半導体集積回路装置は、コントロール回路1、正規メモリアレイ2、スぺアメモリアレイ3、プログラムメモリアレイ4、正規行デコーダ5、プログラム行デコーダ6、列デコーダ7、書込/読出制御回路8、選択増幅部9、多数決論理回路10、プログラムレジスタ11、一致検出回路12、スペア制御回路13、内部電圧制御回路14、タイミング制御回路15および出力回路16を備える。
【0012】
この半導体集積回路装置は、外部からの制御信号CMDおよびアドレス信号ADDに応答してランダムアクセスを行ない、書込データDINの入力および読出データDATの出力を行なう。
【0013】
コントロール回路1は、制御信号CMDに応じて半導体集積回路装置の全体動作を制御する。正規メモリアレイ2、スぺアメモリアレイ3およびプログラムメモリアレイ4は、行列上に配置されたMTJメモリセルMCを含み、MTJメモリセルMCの行の各々に対応してワード線WLおよびライトディジット線WDLが配置される。また、MTJメモリセルMCの列の各々に対応してビット線BLおよびソース線SLが配置される。図1においては、1つのMTJメモリセルMCと、これに対応するワード線WL、ライトディジット線WDL、ビット線BLおよびソース線SLの配置が代表的に示されている。スぺアメモリアレイ3には、正規メモリアレイ2の不良メモリセルを救済するためのMTJメモリセルMCが配置される。プログラムメモリアレイ4には、正規メモリアレイ2の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶するためのMTJメモリセルMCが配置される。
【0014】
なお、正規メモリアレイ2、スぺアメモリアレイ3およびプログラムメモリアレイ4の配置は任意である。たとえば、正規メモリアレイ2の左側にプログラムメモリアレイ4を配置してもよい。通常は、正規メモリセルの数が多いためこのように正規メモリアレイ2の端にスぺアメモリアレイ3およびプログラムメモリアレイ4を配置する。ただし、不良メモリセルがメモリアレイの端に発生する可能性が高いことが懸念される場合には、正規メモリアレイ2の内部にスぺアメモリアレイ3またはプログラムメモリアレイ4を配置してもよい。しかし、正規メモリアレイ2の内部にスぺアメモリアレイ3またはプログラムメモリアレイ4を配置すると回路の構成および制御が複雑になるため、通常は正規メモリアレイ2の端にスぺアメモリアレイ3およびプログラムメモリアレイ4を配置する。
【0015】
正規行デコーダ5は、アドレス信号ADDによって示されるロウアドレスRAをデコードして、正規メモリアレイ2およびスぺアメモリアレイ3における行選択を実行する。プログラム行デコーダ6は、プログラムアレイアクセス信号PAAが活性化レベルにされたことに応じて活性化され、アドレス信号ADDによって示されるロウアドレスRAをデコードして、プログラムメモリアレイ4における行選択を実行する。列デコーダ7は、アドレス信号ADDによって示されるコラムアドレスCAをデコードして、正規メモリアレイ2およびプログラムメモリアレイ4における列選択を実行する。
【0016】
書込/読出制御回路8は、外部から入力された書込データDINの書込時においてビット線BLにデータ書込電流を流すための回路、および各メモリアレイからのデータ読出時においてビット線BLにデータ読出電流を流すための回路を総称したものである。
【0017】
選択増幅部9は、制御信号RCONに応じて、書込/読出制御回路8から伝達された読出データを選択および増幅し、読出データDATを出力する。また、外部からのリセット信号RSに応答してリセット動作を行なう。
【0018】
多数決論理回路10は、プログラムメモリアレイ4から書込/読出制御回路8および選択増幅部9を介して伝達されたプログラムデータの多数決をとって正しいデータを判定して出力するとともに、シリアル/パラレル変換を行なう。プログラムメモリアレイ4には、複数の領域に同一のプログラムデータが格納される。これにより、たとえプログラムメモリアレイ4に不良メモリセルがあった場合でも、1ビット程度の不良であれば複数の領域から読出された同一のプログラムデータの多数決をとることによって正しいデータを判定することができる。
【0019】
プログラムレジスタ11は、多数決論理回路10からのプログラムデータを記憶する。プログラムデータは、プログラムレジスタ11の記憶容量に応じて複数回繰返して読出され、読出された順にプログラムレジスタ11に格納されていく。たとえば、1回の読出動作で3ビットのプログラムデータがプログラムレジスタ11に格納される場合、プログラムレジスタ11の記憶容量が90ビットであれば読出動作が30回繰返される。プログラムレジスタ11は、一致検出回路12、内部電圧制御回路14、タイミング制御回路15および出力回路16に、それぞれ対応するプログラムデータを与える。
【0020】
一致検出回路12は、プログラムデータに含まれる不良アドレス情報と外部からのアドレス信号ADDとの比較を行ない、比較結果に基づいて一致検出信号を出力する。スペア制御回路13は、一致検出回路12からの一致検出信号に応じて、正規メモリアレイ2の不良メモリセルをスペアメモリアレイ3のスペアメモリセルで置換する動作を制御するための制御信号RCONを出力する。
【0021】
内部電圧制御回路14は、プログラムデータに含まれる内部電圧制御情報に基づいて、内部回路の電源電圧を制御する。タイミング制御回路15は、プログラムデータに含まれるタイミング情報に基づいて、動作モードの変化に対応した内部タイミングの制御を行なう。
【0022】
出力回路16は、プログラムデータに含まれる制御情報に応じて、同一チップ内に混在されるCPU(Central Processing Unit)、SRAM(Static Random Access Memory)、A/D(Analog to Digital)変換器、D/A(Digital to Analog)変換器などの各モジュールの制御を行なうための信号を出力する。この場合、不揮発性メモリモジュールから外部のモジュールに信号を伝達するための経路を構成する。これにより、たとえばA/D変換器やD/A変換器を10ビットから12ビットに変更したり、CPUに接続されるSRAMのバスサイズを変更したりすることができる。内部電圧制御回路14、タイミング制御回路15および出力回路16は、外部からのリセット信号RSに応答してリセット動作を行なう。
【0023】
ここで、MTJメモリセルMCの構成およびデータ記憶原理について説明しておく。図2は、MTJメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【0024】
図2において、トンネル磁気抵抗素子TMRは、固定された一定の磁化方向を有する強磁性体層(以下、単に「固定磁化層」とも称する)FLと、外部からの印加磁界に応じた方向に磁化可能な強磁性体層(以下、単に「自由磁化層」とも称する)VLとを有する。固定磁化層FLおよび自由磁化層VLの間には、絶縁体膜で形成されるトンネルバリア(トンネル膜)TBが設けられる。自由磁化層VLは、書込まれる記憶データのレベルに応じて、固定磁化層FLと同一方向または固定磁化層FLと反対方向に磁化される。これらの固定磁化層FL、トンネルバリアTBおよび自由磁化層VLによって磁気トンネル接合が形成される。
【0025】
トンネル磁気抵抗素子TMRの電気抵抗は、固定磁化層FLおよび自由磁化層VLのそれぞれの磁化方向の相対関係に応じて変化する。具体的には、トンネル磁気抵抗素子TMRの電気抵抗は、固定磁化層FLの磁化方向と自由磁化層VLの磁化方向とが同じ(平行)である場合に最小値Rminとなり、両者の磁化方向が反対(反平行)である場合に最大値Rmaxとなる。
【0026】
データ書込時においては、ワード線WLが非活性化されて、アクセストランジスタATRはターンオフされる。この状態で、自由磁化層VLを磁化するためのデータ書込磁界H(BL)およびH(WDL)は、ビット線BLおよびライトディジット線WDLを流れるデータ書込電流によってそれぞれ発生される。特に、ビット線BL上のデータ書込電流は、書込データのレベルに応じて、+Iwおよび−Iwのいずれかの方向に流される。
【0027】
図3は、MTJメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。図3において、横軸H(EA)は、トンネル磁気抵抗素子TMR内の自由磁化層VLにおいて磁化容易軸(EA:Easy Axis)方向に印加される磁界を示す。一方、縦軸H(HA)は、自由磁化層VLにおいて磁化困難軸(HA:Hard Axis)方向に作用する磁界を示す。磁界H(EA)およびH(HA)は、図2に示したデータ書込磁界H(BL)およびH(WDL)にそれぞれ対応する。
【0028】
MTJメモリセルにおいては、固定磁化層FLの固定された磁化方向は、自由磁化層VLの磁化容易軸に沿っており、自由磁化層VLは、記憶データのレベルに応じて、磁化容易軸方向に沿って、固定磁化層FLと平行あるいは反平行(反対)方向に磁化される。MTJメモリセルは、自由磁化層VLの2通りの磁化方向と対応させて、1ビットのデータを記憶することができる。
【0029】
自由磁化層VLの磁化方向は、印加される磁界H(EA)およびH(HA)の和が、図3に示されるアステロイド特性線の外側の領域に達する場合においてのみ新たに書換えることができる。すなわち、印加されたデータ書込磁界がアステロイド特性線の内側の領域に相当する強度である場合には、自由磁化層VLの磁化方向は変化しない。
【0030】
アステロイド特性線に示されるように、自由磁化層VLに対して磁化困難軸方向の磁界を印加することによって、磁化容易軸に沿った磁化方向を変化させるのに必要な磁化しきい値を下げることができる。図3に示すように、データ書込時の動作点は、ライトディジット線WDLとビット線BLとの両方に所定のデータ書込電流を流したときに、MTJメモリセルの記憶データ、すなわちトンネル磁気抵抗素子TMRの磁化方向を書換えられるように設計される。
【0031】
図3に例示された動作点では、データ書込対象であるMTJメモリセルにおいて、磁化容易軸方向のデータ書込磁界は、その強度がHWRとなるように設計される。すなわち、このデータ書込磁界HWRが得られるように、ビット線BLまたはライトディジット線WDLを流されるデータ書込電流の値が設計される。一般的に、データ書込磁界HWRは、磁化方向の切換えに必要なスイッチング磁界HSWと、マージン分ΔHとの和で示される。すなわち、HWR=HSW+ΔHで示される。
【0032】
トンネル磁気抵抗素子TMRに一旦書込まれた磁化方向、すなわちMTJメモリセルの記憶データは、新たなデータ書込が実行されるまでの間不揮発的に保持される。
【0033】
図4は、図1に示した半導体集積回路装置の読出系を説明するためのブロック図である。図4において、正規メモリアレイ2は、正規メモリセルブロック21〜23と、リファレンスセルコラム24〜26とを含む。正規メモリセルブロック21〜23から読出されるデータは、リファレンスセルコラム24〜26に保持されているハイレベルとローレベルの中間に相当する参照値とそれぞれ比較され、比較結果に基づいてそれらの論理レベルが判断される。
【0034】
スぺアメモリアレイ3は、スペアメモリセルコラム27〜29を含む。スペアメモリセルコラムに含まれるメモリセルは、2メモリセルあたり1ビットを記憶する。1メモリセルで1ビットを記憶する正規メモリセルよりも、スペアメモリセル部分の信頼性の向上が図られている。
【0035】
プログラムメモリアレイ4は、プログラムメモリセルブロック(PB)30〜32を含む。プログラムメモリセルブロックに含まれるメモリセルも、高信頼性を確保するため2メモリセルで1ビットを記憶する。
【0036】
正規メモリセルブロック21〜23およびプログラムメモリセルブロック30〜32にそれぞれ対応してセレクタ33〜35が設けられる。リファレンスセルコラム24〜26に対応してセレクタ36〜38が設けられる。また、セレクタ33,36に対応してIO線対IOP1が設けられ、セレクタ34,37に対応してIO線対IOP2が設けられ、セレクタ35,38に対応してIO線対IOP3が設けられる。
【0037】
正規メモリセルブロックからデータを読出す場合は、セレクタ33の出力線は接続部40によってIO線対IOP1のいずれか一方のIO線に接続され、セレクタ36の出力線は接続部41によってIO線対IOP1のいずれか他方のIO線に接続される。セレクタ34の出力線は接続部42によってIO線対IOP2のいずれか一方のIO線に接続され、セレクタ37の出力線は接続部43によってIO線対IOP2のいずれか他方のIO線に接続される。セレクタ35の出力線は接続部44によってIO線対IOP3のいずれか一方のIO線に接続され、セレクタ38の出力線は接続部45によってIO線対IOP3のいずれか他方のIO線に接続される。
【0038】
一方、プログラムメモリセルブロックからデータを読出す場合は、2つのプログラムメモリセルで1ビットを記憶するため、セレクタ33の2本の出力線が接続部40によってIO線対IOP1に接続され、セレクタ36の出力線はIO線対IOP1接続されない。セレクタ34の2本の出力線は接続部42によってIO線対IOP2に接続され、セレクタ37の出力線はIO線対IOP2に接続されない。セレクタ35の2本の出力線は接続部44によってIO線対IOP3に接続され、セレクタ38の出力線はIO線対IOP3に接続されない。
【0039】
なお、図4では、3つの正規メモリセルブロックおよび3つのプログラムメモリセルブロック、それらに対応する3つのIO線対が設けられている場合が示されているが、正規メモリセルブロックおよびプログラムメモリセルブロックの数と対応するIO線対の数が同じであれば、これらの数は3つよりも多くても少なくてもよい。
【0040】
スペアメモリセルコラム27〜29の一部がセレクタ39によって選択される。セレクタ39は、図1のスペア制御回路13から出力される制御信号RCONに応じて、3つのスペアメモリセルコラムのうちの2つを選択する。選択された2つのスペアメモリセルは、スペアメモリセルのデータ伝達のために専用に設けられる2組のIO線対IOP4,IOP5に接続される。
【0041】
スペアメモリセルコラムは、1ビットを2つのメモリセルで記憶する。各スペアメモリセルコラムごとにスペアビット線SBLが2本設けられる。3つのスペアメモリセルコラムからまず2つのスペアメモリセルコラムがセレクタ39で選択されて、スペア専用のIO線対IOP4,IOP5に接続される。セレクタ39での選択は、スペア制御回路13から出力される制御信号RCONによって行なわれる。
【0042】
なお、スペアメモリセルコラムの数とスペア専用のIO線対の数とを等しくすれば、セレクタ39は設けなくてもよい。この場合、スぺアメモリアレイ3からのデータは、すべて選択部51までは出力されることになる。このようにすればビット線出力部のセレクタ部に冗長判定の結果を適用する必要がなく動作の高速化が望める場合もある。
【0043】
ただし、実施の形態1では、セレクタ39を設けてIO線対に接続する際に3つのスペアメモリセルコラムのうちから2つのメモリセルコラムを選択する。この理由は、IO線対の数が多くなると、IO線対を設けることによる面積増大が問題となるからである。
【0044】
図4におけるセレクタ33〜39および接続部40〜45は、図1の書込/読出制御回路8の一部に相当する。このようにして合計5対のIO線対に選択されたメモリセルが接続される。
【0045】
5対のIO線対IOP1〜IOP5は、選択増幅部9に接続されている。選択増幅部9は、制御信号RCONおよびリセット信号RSに応じて5つのIO線対IOP1〜IOP5から3つを選択する選択部51と、選択部51によって選択されたIO線対に接続されるメモリセルのデータを読出すためのセンスアンプ53〜55とを含む。センスアンプの数は、必要な読出データDATの数に等しい3個だけ設けられている。
【0046】
制御信号RCONに従って、正規メモリセルブロックの不良メモリセルが接続されるIO線対、および必要のないスペアビット線SBLに接続されるIO線対は、センスアンプ53〜55には接続されない。
【0047】
センスアンプ53〜55は、接続されるメモリセルが正規メモリセルである場合は、対応するリファレンスセルコラムに存在する参照用のメモリセルにも接続され、これらの2つのメモリセルに流れ込む電流値を比較する。
【0048】
センスアンプ53〜55は、接続されるメモリセルがプログラムメモリセルまたはスペアメモリセルである場合は、相補な2つのメモリセルに流れ込む電流値を比較する。
【0049】
以上のように、プログラムメモリセルブロックを制御するために必要な制御線や駆動回路を正規メモリセルブロックと共有することにより、チップの面積を効率的に使用することができる。
【0050】
図5は、図1に示した半導体集積回路装置の書込系を説明するためのブロック図である。図5において、MRAMの場合には、書込時と読出時とでスペアメモリセルコラムへのアクセス経路が異なる。
【0051】
書込データDIN(図5ではデータ数は3である)が通常の入力データである場合、書込データDINは正規メモリセルブロック21〜23に対応するライトドライバ61〜66に伝達され、所望のビット線BLに電流を流すように対応するライトドライバが制御される。
【0052】
アドレスで指定された正規メモリセルがスペアメモリセルコラムで救済すべき不良メモリセルである場合には、正規メモリセルに代えてスペアメモリセルにデータ書込が行なわれる。書込データDINは、冗長検出結果を示す制御信号RCONに基づいて分配回路70によってスぺアメモリアレイ3に分配される。このとき、正規メモリセル領域は、アドレスに対応する正規メモリセルが不良である場合には、この不良メモリセルに対応するライトドライバは非活性化される。スペア部分のライトドライバ67〜69のうち、書込まれるスペアメモリセルに対応するライトドライバが活性化される。活性化されたライトドライバはデータに従った書込動作を行なう。
【0053】
なお、通常領域のライトドライバ61〜66は、アドレスで指定されたメモリセルが不良メモリセルである場合にも、データ書込動作を行なってもかまわない。しかし、この実施の形態1では、書込電流が増加することを避けるため、不良メモリセルに対応するライトドライバを非活性化させている。
【0054】
入力された書込データDINは、制御信号RCONに応じて正規メモリアレイ2またはスぺアメモリアレイ3に分配される。指定されたアドレスが不良メモリセルに対応しなければ正規メモリアレイ2に対してデータが分配される。指定されたアドレスが不良メモリセルに対応する場合、分配回路70は不良メモリセルに対応する正規メモリセルブロックに分配を行なう代わりにスペアメモリセルコラム27〜29のいずれかにデータを分配する。そして、対応するライトドライバ67〜69のいずれかが活性化される。
【0055】
一方、書込データDINがプログラムデータである場合、書込データDINは分配回路70を介してプログラムメモリセルブロック30〜32に対応するライトドライバ61〜66に伝達され、所望のビット線BLに電流を流すように対応するライトドライバが制御される。このように、正規メモリセルブロック21〜23とプログラムセメモリセルブロック30〜32がライトドライバ61〜66を共有することにより、チップの面積を効率的に使用することができる。
【0056】
なお、図5におけるライトドライバ61〜69および分配回路70は、図1の書込/読出制御回路8の一部に相当する。
【0057】
図6は、図4および図5に示した構成をより具体的に示した回路図である。図6において、正規メモリセルブロック21、リファレンスセルコラム24、スペアメモリセルコラム27およびプログラムメモリセルブロック30とその関連回路が代表的に示されている。
【0058】
まず、正規メモリセルについての説明をする。正規メモリセルブロック21は、行列状に配置される複数の正規メモリセルMCを含む。正規メモリセルMCは1メモリセルで1ビットを記憶する。ビット線BLA,BLBには、書込用のライトドライバ61,64と、読出用のセレクタ33とが接続される。ライトドライバ61,64は、ビット線BLA,BLBの両端に配置される。
【0059】
正規メモリセルMCに“0”を書込む場合と“1”を書込む場合とではビット線に流す電流の向きは逆向きとなる。具体的には、正規メモリセルMCに“1”を書込むときにはライトドライバ61の中のNチャネルMOSトランジスタ71が導通状態とされ、ライトドライバ64の中のNチャネルMOSトランジスタ76が導通状態とされる。これによりビット線BLAでは、ライトドライバ61からライトドライバ64に向かう向きに電流が流れる。
【0060】
一方、正規メモリセルMCに“0”を書込む場合には、ライトドライバ64のNチャネルMOSトランジスタ75およびライトドライバ61のNチャネルMOSトランジスタ72が導通し、ライトドライバ64からライトドライバ61に向かってビット線BLAを電流が流れる。
【0061】
同様にビット線BLBについても、NチャネルMOSトランジスタ73,74,77,78の制御が書込データに基づいて行なわれる。なお、信号W1は“1”を書込む際に活性化される信号を示し、信号W0は“0”を書込む場合に活性化される信号を示す。このようにNチャネルMOSトランジスタの活性化制御は、ライトドライバ61と64とで逆になる。
【0062】
待機時には、ライトドライバ61,64の両方ともにおいて、ビット線を接地電位に固定するNチャネルMOSトランジスタを活性化するか、NチャネルMOSトランジスタ71〜78のすべてを非導通状態とさせビット線をフローティング状態にする。
【0063】
ライトドライバ61,64は、図1の一致検出回路12において入力アドレスが不良メモリセルのアドレスと一致した場合には、待機状態を維持する。たとえば、待機状態においてNチャネルMOSトランジスタ71〜78のすべてを非導通状態とする場合は、制御信号/HITが「L」レベルに非活性化されることによりNチャネルMOSトランジスタ71〜78はすべて非導通状態となる。この場合、ライトドライバが非活性化されることによって消費電力が低減される。
【0064】
書込時には、ライト信号WRITEが「H」レベルに活性化され、リード信号READが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ81〜84が導通状態となり、NチャネルMOSトランジスタ85〜88は非導通状態となる。そして書込アドレスに応じて正規行デコーダ5が複数のライトディジット線WDLAのうちのいずれか1つを活性化する。このとき接続ゲート91によってスペアビット線SBLAとスペアビット線SBLBとが接続される。
【0065】
読出時においては、リード信号READが「H」レベルに活性化され、ライト信号WRITEが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ85〜88が導通状態となり、NチャネルMOSトランジスタ81〜84は非導通状態となる。読出アドレスに応じて正規行デコーダ5が複数のワード線WLAのうちのいずれか1つを活性化する。
【0066】
セレクタ33は、ビット線BLAとIO線IO1Aとの間に設けられる接続ゲート101と、ビット線BLBとIO線IO1Bとの間に設けられる接続ゲート102とを含む。接続ゲート101のゲートは列選択信号CSLAを受け、接続ゲート102のゲートは列選択信号CSLBを受ける。列選択信号CSLA,CSLBは、コラムアドレスCAをデコードする列デコーダ7から論理回路105を介して与えられる。
【0067】
リファレンスセルコラム24は、正規メモリセルMCのデータを判定するための参照値を記憶する複数の参照メモリセルMCRを含む。この参照メモリセルMCRの書込/読出は、正規メモリセルMCと同様に行なわれる。ただし、データ読出時には、IO線への接続が工夫される。参照メモリセルMCRの列に対応するビット線BLRは、セレクタ36によってIO線IO1A,IO1Bのいずれに接続するかが選択可能となっている。
【0068】
セレクタ36は、ビット線BLRとIO線IO1Bとの間に接続される接続ゲート103と、ビット線BLRとIO線IO1Aとの間に接続される接続ゲート104とを含む。接続ゲート103のゲートは選択信号SREFAを受け、接続ゲート104のゲートは選択信号SREFBを受ける。
【0069】
選択信号SREFAは、列選択信号CSLAが活性化される場合に活性化される。すなわち、ビット線BLAがIO線IO1Aに接続される場合には参照用のビット線BLRはIO線IO1Bに接続される。これにより、増幅部52において正規メモリセルMCと参照メモリセルMCRとの間に流れる電流値の差が検出される。
【0070】
一方、選択信号SREFBは、列選択信号CSLBが活性化される場合に活性化される。これにより、ビット線BLBがIO線IO1Bに接続される場合には参照用のビット線BLRはIO線IO1Aに接続される。隣接するビット線BLA,BLBの接続をそれぞれ異なるIO線に接続するのは、接続ゲート101,102の接合容量をIO線それぞれに均等に配分するためである。これに従って、参照するビット線BLRの接続もいずれかのIO線に選択的に接続される。
【0071】
なお、正規メモリセルブロック21およびリファレンスブロック24以外にも、図示しない正規メモリセルブロック22,23およびリファレンスブロック25,26が配置されている。この3セットの正規メモリセルブロックおよびリファレンスブロックに対応してIO線対IOP1〜IOP3が設けられる。
【0072】
次に、スペアメモリセルについての説明をする。スペアメモリセルコラムは、2つのメモリセルで1ビットを記憶する。たとえば、ライトディジット線WDLAで選択された2つのメモリセルSMCA,SMCBに、同時に相補なデータの書込を行なう。このため、ビット線を駆動するライトドライバ67は、メモリアレイの片側にしか配置されない。そして、接続ゲート91によって書込時にスペアビット線SBLAとスペアビット線SBLBとが接続される。
【0073】
ライトドライバ67において、“0”を書込む場合には、NチャネルMOSトランジスタ111,114が導通状態とされ、スペアビット線SBLAからスペアビット線SBLBに向けて電流が流れる。逆に、“1”を書込む場合には、NチャネルMOSトランジスタ112,113が導通状態とされ、スペアビット線SBLBからスペアビット線SBLAに向けて電流が流れる。スペアビット線SBLAとスペアビット線SBLBとは接続ゲート91で片側が接続されるので、書込時においてスペアビット線SBLAに流れる電流の向きとスペアビット線SBLBに流れる電流の向きは常に逆向きとなる。これにより、ライトディジット線WDLAで選択された2つのスペアメモリセルSMCA,SMCBに対して相補なデータが書込まれる。
【0074】
なお、スペアメモリセルコラム27以外にも、図示しないスペアメモリセルコラム28,29が配置されている。この3セットのスペアメモリセルコラムに対して、セレクタ39でそのうちの2セットが選択される。選択された2セットのスペアメモリセルコラムは、スペアメモリセル専用のIO線対IOP4,IOP5に接続される。
【0075】
読出時には、スペアメモリセルコラムでは、接続ゲート91が非接続状態となり、スペアメモリセルSMCA,SMCBには別々の電流が流れる。
【0076】
図6に示したように、MRAMのメモリセルアレイにおいて、正規メモリセルMCは1セルあたり1ビットを記憶し、スペアメモリセルSMCA,SMCBは2セルで1ビットを記憶する。相補な値を2つのスペアメモリセルSMCA,SMCBに書込み、それらをセンスアンプに接続することによって記憶した1ビットを読出す。これにより、アレイ周辺部分に配置されることが多いスペアメモリセル部分が素子の仕上り寸法のばらつきに対して強くなり、不良メモリセルをスペアメモリセルに置換して救済する場合の成功率が向上する。
【0077】
次に、プログラムメモリセルについての説明をする。プログラムメモリセルブロック30は、行列状に配置される複数のプログラムメモリセルPMCA,PMCBを含む。プログラムメモリセルPMCA,PMCBは、2つのメモリセルで1ビットを記憶する。プログラムメモリセルブロック30は、ライトドライバ61,64、ビット線BLA,BLBおよびソース線SLを正規メモリセルアレイ21と共有する。
【0078】
このプログラムメモリセルPMCA,PMCBは、正規メモリセルブロック21の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶する。
【0079】
データ書込時には、ライト信号WRITEが「H」レベルに活性化され、リード信号READが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ81〜84が導通状態となり、NチャネルMOSトランジスタ85〜88は非導通状態となる。そして、書込アドレスに応じてプログラム行デコーダ6が複数のライトディジット線WDLBのうちのいずれか1つを選択的に活性化する。
【0080】
一方、読出時においては、リード信号READが「H」レベルに活性化され、ライト信号WRITEが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ85〜88が導通状態となり、NチャネルMOSトランジスタ81〜84は非導通状態となる。そして、読出アドレスに応じてプログラム行デコーダ6が複数のワード線WLBのうちのいずれか1つを選択的に活性化する。
【0081】
2つのプログラムメモリセルPMCA,PMCBで1ビットを記憶することによって、高信頼性が確保される。データ書込は、たとえばプログラムメモリセルPMCA,PMCBに相補なデータを書込むことによって実現される。このときライトドライバ61,64は、書込むデータに応じて電流の向きを変える。
【0082】
正規メモリセルMCは1つで1ビットを記憶するのに対して、プログラムメモリセルPMCA,PMCBは2つで1ビットを記憶するため、プログラムメモリセルPMCA,PMCBのデータを読出す際には工夫する必要がある。そこで、プログラムデータの読出時には、プログラムリード信号PREADが「H」レベルにされる。このとき、列デコーダ7によって列選択信号CSLA,CSLBのどちらか一方が「H」レベルにされている。このため、プログラムリード信号PREADが「H」レベルにされたことに応じて、論理回路105によって列選択信号CSLA,CSLBの両方が「H」レベルにされ、接続ゲート101,102が導通する。すなわち、ビット線BLA,BLBがそれぞれ接続ゲート101,102を介してIO線対IOP1に接続される。
【0083】
そして、プログラム行デコーダ6によって対応するワード線WLBが活性化されると、プログラムメモリセルPMCAを通過してソース線SLに流れ込む電流とプログラムメモリセルPMCBを通過してソース線SLに流れ込む電流との差が増幅部52によって検出される。なお、プログラムメモリセルブロック30以外にも、図示しないプログラムメモリセルブロック31,32が配置されている。この3セットのプログラムメモリセルブロックは、3セットの正規メモリセルブロック21〜23に隣接して設けられる。
【0084】
データ読出時には、リセット信号RSによって選択部51がデフォルト状態にされる。このとき、選択部51はIOP1〜IOP3を増幅部52に接続する。プログラムメモリセルブロック30から読出されたプログラムデータは、信号P1として図1の多数決論理回路10に転送される。同様に、プログラムメモリセルブロック31,32に記憶されているプログラムデータも、それぞれIO線対IOP2,3を介して増幅部52によって電流の差が検出され、信号P2,P3として多数決論理回路10に転送される。この転送は、たとえばチップに電源を投入した際に行なわれる。
【0085】
このように、プログラムメモリセルブロック30が、ライトドライバ61,64、ビット線BLA,BLBおよびソース線SLを正規メモリセルアレイ21と共有する。これにより、チップの面積を効率的に使用することができる。
【0086】
ここで、プログラムメモリセルブロック30に含まれるプログラムメモリセルPMCA,PMCBは、プログラムセットが使用済みか否かを示すフラグを記憶する領域とし、他の領域に不良メモリセルのアドレス情報を記憶させてもよい。この場合、フラグによりプログラムセットの使用状況が判断できるため、使用済みのプログラムセットを避けて不良アドレスをプログラムメモリセルに記憶させることが可能になる。
【0087】
また、正規行デコーダ5には正規メモリセル用のアドレスが与えられ、プログラム行デコーダ6にはプログラムメモリセル用のアドレスが与えられる。プログラムメモリセル用のアドレスは、プログラムメモリアレイ4の複数組のワード線WLBとライトディジット線WDLBに対して個別に認識するためのアドレスである。このプログラムメモリセル用のアドレスは、正規メモリセル用のアドレスとは別のプログラムメモリセル専用のアドレスを用いてもよいし、正規メモリセル用のアドレスの一部を用いてもよい。実施の形態1では、正規メモリセル用のアドレスの一部を用いる。この場合、そのアドレスにプログラム領域アクセス用の論理演算処理を行なうことで、プログラムメモリセル用のアドレスが生成される。これにより、正規メモリアレイ2とプログラムメモリアレイ4がアドレス配線を共有できるため、チップの面積を効率的に使用することができる。
【0088】
図7は、図6に示した選択増幅部9の構成を示す回路図である。図7において、選択増幅部9は、選択部51と、増幅部52とを含む。選択部51は、制御信号RCONおよびリセット信号RSに基づいて、5つのIO線対のうちから3つのIO線対を選択する。
【0089】
IO線対の選択には、いわゆるシフトリダンダンシの手法が適用される。選択部51は、IO線IO1A〜IO3Aのうちのいずれか1つを選択してIO線RIO1Aに接続する切換回路121と、IO線IO1B〜IO3Bのうちのいずれか1つをIO線RIO1Bに接続する切換回路122とを含む。
【0090】
選択部51は、さらに、IO線IO2A〜IO4Aのうちのいずれか1つを選択してIO線RIO2Aに接続する切換回路123と、IO線IO2B〜IO4Bのうちのいずれか1つをIO線RIO2Bに接続する切換回路124とを含む。
【0091】
選択部51は、さらに、IO線IO3A〜IO5Aのうちのいずれか1つを選択してIO線RIO3Aに接続する切換回路125と、IO線IO3B〜IO5Bのうちのいずれか1つをIO線RIO3Bに接続する切換回路126とを含む。
【0092】
増幅部52は、IO線RIO1A,RIO1Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)53と、IO線RIO2A,RIO2Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)54と、IO線RIO3A,RIO3Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)55とを含む。
【0093】
図8は、図7に示した切換回路121の構成をより詳細に示す回路図である。図8において、切換回路121は、制御信号RCONをデコードするデコーダ131と、デコーダ131の出力に応じてIO線IO1A〜IO3AをそれぞれIO線RIO1Aに接続する接続ゲート132〜134とを含む。デコーダ131は、論理回路141およびAND回路142,143を含む。
【0094】
リセット信号RSが「H」レベルの場合は、デコーダ131は、制御信号RCONに応じて、不良メモリセルに対応するIO線の特定ビットと置換するスペアメモリセルコラムを特定するビットとをデコードする。デコード結果に基づき、接続ゲート132〜134のいずれか1つを接続状態にする。
【0095】
リセット信号RSが「L」レベルの場合は、論理回路141は「H」レベルの信号を接続ゲート132に出力し、AND回路142,143はそれぞれ「L」レベルの信号を接続ゲート133,134に出力する。これにより、接続ゲート132が接続状態にされ、接続ゲート133,134は非接続状態にされる。
【0096】
図7に戻って、システム電源投入時やプログラムデータの更新を行なうときなど、必要に応じてプログラムメモリアレイ4からプログラムデータを読出すときに、リセット信号が「L」レベルにされる。これに応じて、切換回路121〜126はIO線対IOP1〜IOP3とセンスアンプ53〜55とを接続する。すなわち、リセット信号RSが「L」レベルにされることによって、選択部51はシフト制御が行なわれないデフォルト状態にされる。
【0097】
接続ゲートをセンスアンプの1つの入力ノードあたり3つ設けることにより2段シフト動作が可能となっている。シフトリダンダンシの手法を適用することによって、5対のIO線対から3対を選択して3つのセンスアンプに接続する。
【0098】
シフトリダンダンシでは、IO線IO1A〜IO5Aから3つのIO線が選択され、この選択されたIO線は順番が入替わらないようにIO線RIO1A〜1IO3Aに接続される。また、IO線IO1B〜IO5Bから3つのIO線が選択され、この選択されたIO線は順番が入替わらないようにIO線RIO1B〜1IO3Bに接続される。
【0099】
シフトリダンダンシ構成にすることにより、センスアンプの入力ノードとIO線IO1A〜IO5A,IO1B〜IO5Bとの接続経路の長さが著しく差が生じないようにすることができる。これにより、負荷の均等化が図られ動作マージンを揃えることができる。
【0100】
図9は、以上説明してきた半導体集積回路装置の正規メモリセルの書込/読出動作を説明するためのタイムチャートである。図9において、プログラムアレイアクセス信号PAAおよびプログラムリード信号PREADは非活性化レベルの「L」レベルに保持され、リセット信号RSは「H」レベルに保持される。
【0101】
半導体集積回路装置は、クロック信号CLKに同期して動作する。チップセレクト信号CSは、チップ活性化のトリガとして用いられ、「H」レベルの時にデータの読出動作および書込動作が行なわれる。
【0102】
時刻t0において、「H」レベルのチップセレクト信号CS、および「H」レベルのライト信号WRITEが取込まれると、選択行のライトディジット線WDLAおよび選択列のビット線BLAにデータ書込電流が流され、入力アドレスに対応した正規メモリセルMCに書込データDINが書込まれる。
【0103】
時刻t1において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLAおよび選択列のビット線BLAにデータ読出電流が流され、入力アドレスに対応した正規メモリセルMCから読出データDATが読出される。
【0104】
次いで、時刻t2において、「H」レベルのチップセレクト信号CS、および「H」レベルのライト信号WRITEが取込まれると、選択行のライトディジット線WDLAおよび選択列のビット線BLBにデータ書込電流が流され、入力アドレスに対応した正規メモリセルMCに書込データDINが書込まれる。
【0105】
時刻t3において、「H」レベルのチップセレクト信号CSおよび「H」レベルのリード信号READが取込まれると、選択行のワード線WLAおよび選択列のビット線BLBにデータ読出電流が流され、入力アドレスに対応した正規メモリセルMCから読出データDATが読出される。
【0106】
図10は、半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【0107】
時刻t10において、リセット信号RSが「L」レベルに立下げられるとともに、プログラムアレイアクセス信号PAAおよびプログラムリード信号PREADが活性化レベルの「H」レベルに立上げられる。すなわち、リセット動作によってシステムがデフォルト状態にされ、プログラムメモリセルからデータを読出す準備が行なわれる。
【0108】
時刻t11において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB1および選択列のビット線BLA,BLBにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。ここで、ビット線BLA,BLBの両方にデータ読出電流が流れるのは、プログラムメモリセルPMCA,PMCBが2セルで1ビットの相補なデータを記憶しているためである。
【0109】
次いで、時刻t12において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB1および選択列のビット線BLC,BLDにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。なお、図示しないがビット線BLC,BLDはビット線BLA,BLBの次の列に配置されているものとする。このように、選択されたあるワード線WLB1に対して異なるビット線の組が、列デコーダ7によって順に選択されてデータ読出電流が流される。読出データDATが4回繰返して読出された後、アクセスするプログラムメモリセルの行アドレスが切換えられる。
【0110】
時刻t13において、切換えられた行アドレスに対応する選択行のワード線WLB2および選択列のビット線BLA,BLBにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルから読出データDAT(プログラムデータ)が読出される。
【0111】
次いで、時刻t14において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB2および選択列のビット線BLC,BLDにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。
【0112】
なお、ここでは選択された1つのワード線WLBに対して異なる4組のビット線が順に選択され、データ読出が4回ずつ連続して行なわれる場合について説明したが、配列されるプログラムメモリセルの数に応じて、データ読出は任意の回数ずつ連続して行なわれる。
【0113】
また、図示しないが、プログラムメモリセルの書込動作は、プログラムアレイアクセス信号PAAが活性化レベルの「H」レベルに立上げられた状態で、「H」レベルのチップセレクト信号CSおよびライト信号WRITEが取込まれた場合に実行される。
【0114】
以上のように、この実施の形態1では、半導体装置の制御に関するプログラムデータを記憶するためのプログラムメモリアレイ4と、通常のデータを記憶する正規メモリアレイ2とを同じメモリアレイに配置したことによって、プログラムメモリアレイ4を制御するために必要な制御線や駆動回路を正規メモリアレイ2と共有することできる。したがって、プログラムメモリアレイ4と正規メモリアレイ2とが別々のメモリアレイに設けられていた従来と比べて、チップ面積を効率的に使用することができる。
【0115】
なお、ここでは不揮発性メモリがMRAMである場合について説明したが、OUMやフラッシュメモリを用いてもよい。
【0116】
[実施の形態2]
実施の形態2では、実施の形態1に示した内部電圧制御回路14を用いて、MRAMデバイスの内部電圧の設定を精密に調整する構成について説明する。
【0117】
図11は、この発明の実施の形態2による内部電圧制御回路14の構成を示すブロック図である。図11において、この内部電圧制御回路14は、内部電圧発生回路151、BIST(Built−In−Self−Test)回路152およびテストメモリ153を含む。
【0118】
BIST回路152は、予め設定された所定の動作テストの実行を制御する。内部電圧VBBを供給する内部電圧発生回路151は、動作テスト時において、BIST回路152からの調整信号P0〜P3に従って内部電圧VBBのレベルを制御する。このとき、外部からのテスト電圧VEXTに基づいた内部電圧制御情報がテストメモリ153に与えられる。テストメモリ153は、当該動作テストの結果を一時的に記憶し、内部電圧制御情報として外部へ出力する。外部へ出力された内部電圧制御情報は、プログラムメモリアレイ4にプログラムデータとして記憶される。通常動作時においては、動作テストによってプログラムメモリアレイ4に記憶されたプログラムデータに基づいて、内部電圧VBBのレベルが設定される。ただし、電源投入直後など、プログラムデータの読出が完了する前の状態においては、内部電圧VBBを適切なレベルに設定する必要がある。そこで、リセット信号RSを用いることによって、プログラムデータの読出期間中に内部電圧VBBをデフォルト値に設定する。
【0119】
なお、BIST回路152による動作テストは、通常はまず製造工程終了後の試験時に行なわれる。この動作テスト結果をプログラムデータとしてプログラムメモリアレイ4に書込んでおくことによって、製品が市場に出た後のシステム電源投入時に、そのプログラムデータに基づいて内部電圧VBBを調整することができる。また、製品が市場に出た後にプログラムデータの更新を行なう場合は、再度BIST回路152による動作テストを行ない、新しいプログラムデータをプログラムメモリアレイ4に書込む。このように外部テスタの代わりにBIST回路152を用いることによって、テストコストが削減される。
【0120】
従来は、内部電圧制御情報はレーザーヒューズなどで記憶されていたため、電源投入とともに内部電圧制御情報を読出すことができた。しかし、この実施の形態2では、テストコストを削減するため、レーザー溶断装置を必要としない不揮発性メモリをレーザーヒューズの代わりに用いる。不揮発性メモリを用いることによって、製品が市場に出た後もプログラムデータが保存される。この場合、電源投入後からプログラムデータの読出が完了するまでの間は内部電圧VBBを制御するためのデータがないため、適切な内部電圧レベルが保証されず、正常に動作しない可能性がある。このため、内部電圧VBBのレベルをデフォルト値に設定するリセット動作を行なう。
【0121】
なお、この内部電圧VBBのデフォルト値は、目標とする電圧値にある程度近い値であればよく、任意に設定される。内部電圧VBBを制御する際、製造プロセスにおいて生じたばらつきの影響を受けてデフォルト値が目標とする電圧値から多少ずれていても動作上の問題はない。
【0122】
たとえば、目標とする電圧値(外部から入力されるテスト電圧VEXT)が1.5Vである場合、製造プロセスにおいて生じたばらつきにより内部電圧VBBのデフォルト値が目標値よりも低い電圧値(たとえば、1.3V)になってもよい。この場合、電源投入直後のプログラムデータの読出期間中は内部電圧VBBがデフォルト値の1.3Vにされるが、プログラムデータの読出完了後は内部電圧制御情報に基づいて内部電圧VBBが1.5Vに調整される。
【0123】
また、製造プロセスにおいて生じるばらつきによって内部電圧VBBが低くなることが懸念される場合、予めデフォルト値を高い電圧値に設定しておいてもよい。たとえば、目標とする電圧値(外部から入力されるテスト電圧VEXT)の1.5Vに対して、デフォルト値を1.8Vにしておく。この場合、製造プロセスにおいて生じたばらつきによって、製造後の実際のデフォルト値が1.8Vから0.2V低下して1.6Vになったとしても、動作マージンは十分に確保される。電源投入直後のプログラムデータの読出期間中は、内部電圧VBBがデフォルト値の1.6Vにされるが、プログラムデータの読出完了後は、内部電圧制御情報に基づいて内部電圧VBBが1.5Vに調整される。
【0124】
図12は、図11に示した内部電圧制御回路14を用いてMRAMデバイスの内部電圧を制御する構成を示す回路図である。
【0125】
まず、内部電圧の制御構成について説明する。図12において、内部電圧発生回路151は、内部回路群161へ内部電圧VBBを供給する。内部電圧発生回路151は、内部電圧VBBを制御するための、分圧回路162、セレクタ回路163、リセット回路164、電圧比較器165およびPチャネルMOSトランジスタ166を含む。
【0126】
分圧回路162は、電源電位VCCのラインと接地電位GNDのラインとの間に直列接続された固定抵抗回路167および可変抵抗回路168を含む。なお、以下、本明細書の図面中では、単独の記号「R」は、「抵抗素子」であることを示すものとし、RBや2R等のように、「R」に添字や数字を付する場合には、抵抗値を示すものとする。
【0127】
分圧回路162は、電源電位VCCと接地電位GNDとの電圧差を、固定抵抗回路167および可変抵抗回路168の抵抗比に応じた分圧比K(K:0<K<1の実数)で分圧した基準電圧VREFを生成する。可変抵抗回路168の抵抗値は、セレクタ回路163からリセット回路164を介して伝達された調整信号P0〜P3に応じて変化する。すなわち、分圧比Kの設定も、調整信号P0〜P3に応じて調整可能である。
【0128】
セレクタ回路163は、BIST回路152からの切換信号CHPに応答して、テストモード時には、BIST回路152によって生成された調整信号P0〜P3をリセット回路164を介して分圧回路162へ供給する。一方、テストモード時以外の実動作時には、プログラムメモリアレイ4にプログラムされた調整信号P0〜P3をリセット回路164を介して分圧回路162へ供給する。リセット回路164は、リセット動作時に、調整信号P0〜P3をデフォルト値に設定して分圧回路162へ供給する。一方、リセット動作時以外には、セレクタ回路163からの調整信号P0〜P3をそのまま分圧回路162に伝達する。
【0129】
次に、分圧回路162の構成ならびに分圧比の設定および調整について説明する。図13は、図12に示した分圧回路162およびリセット回路164の構成を詳細に示す回路図である。図13において、図12に示した固定抵抗回路167は電流源として動作し、ノードNdには、可変抵抗回路168の抵抗値ΣRに応じた基準電圧VREFが生成される。上述の分圧比Kを用いて、基準電圧VREFは下式(1)で示される。
【0130】
VREF=K・VCC (ただし、0<K<1)…(1)
可変抵抗回路168は、ノードNdと接地電位GNDのラインとの間に直列接続された抵抗素子181〜185と、抵抗素子181〜184に対応して設けられるバイパススイッチ186〜189を含む。
【0131】
抵抗素子181の抵抗値をRuとすると、抵抗素子182、183および184の電気抵抗は、それぞれ2Ru(Ruの2倍)、4Ruおよび8Ruである。さらに抵抗素子185の抵抗値はRBである。
【0132】
AND回路190〜193は、それぞれ調整信号P0〜P3およびリセット信号RSを受ける。AND回路190〜192の出力信号は、対応するバイパススイッチ186〜188のPチャネルMOSトランジスタ側のゲートに与えられるとともに、対応するインバータ194〜196を介して対応するバイパススイッチ186〜188のNチャネルMOSトランジスタ側のゲートに与えられる。AND回路193の出力信号は、バイパススイッチ189のNチャネルMOSトランジスタ側のゲートに与えられるとともに、インバータ197を介してバイパススイッチ189のPチャネルMOSトランジスタ側のゲートに与えられる。
【0133】
バイパススイッチ186〜189は、抵抗素子181〜184にそれぞれ並列に接続される。バイパススイッチ186は、AND回路190の出力信号が「L」レベル(“0”)のときにオンして、抵抗素子181のバイパス経路を形成する。一方で、バイパススイッチ186は、AND回路190の出力信号が「H」レベル(“1”)のときはオフされる。
【0134】
バイパススイッチ187,188は、バイパススイッチ186と同様に、対応するAND回路191,192が「L」レベルのときにオンして、抵抗素子182,183のバイパス経路をそれぞれ形成する。これに対して、バイパススイッチ189は、対応するAND回路193の出力信号が「H」レベルのときにオンして、抵抗素子184のバイパス経路を形成する。
【0135】
バイパススイッチ186〜189の各々によって形成されるバイパス経路の抵抗値は、Ruと比較して無視できるものとする。この結果、可変抵抗回路168の抵抗値ΣRは、4ビットの調整信号P0〜P3およびリセット信号RSに応答して、16段階に段階的に変化する。
【0136】
図14は、調整信号P0〜P3の設定と動作テスト結果例を示す概念図である。図14において、この概念図はリセット信号RSが「H」レベルの場合に調整レベルが変動する動作を示す。リセット信号RSが「L」レベルにされると、調整信号(P0,P1,P2,P3)が(0,0,0,0)、すなわち調整レベル“0”のデフォルト値に設定されるものとする。
【0137】
調整レベル“−8”のときには、調整信号(P0,P1,P2,P3)=(0,0,0,1)に設定されるので、バイパススイッチ186〜189の各々がオンする。この結果、抵抗値ΣR=RBに設定される。
【0138】
調整レベル“−7”から“−1”までは、調整レベルが1増えるごとに、調整信号P0〜P2が、P0を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣRは“RB+Ru”から“RB+7Ru”まで、+Ruずつ変化する。
【0139】
調整レベル“0”では、調整信号(P0,P1,P2,P3)=(0,0,0,0)に設定されるので、バイパススイッチ186〜188がオンして、バイパススイッチ189がオフする。この結果、抵抗値ΣR=RB+8Ruに設定される。
【0140】
調整レベル“+1”から“+7”までは、調整レベルが1増えるごとに、調整信号P0〜P2が、P0を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣRは“RB+9Ru”から“RB+15Ru”まで、+Ruずつ変化する。
【0141】
このようにして、可変抵抗回路168の抵抗値は、4ビットの調整信号P0〜P3に応答して、“RB”から“RB+15Ru”までの間で24=16段階に設定可能である。これにより、分圧回路162の分圧比Kも、調整信号P0〜P3に応じて16段階に設定可能である。
【0142】
再び図12を参照して、電圧比較器165は、分圧回路162によって生成された基準電圧VREFと内部電圧VBBとを比較する。具体的には、電圧比較器165は、基準電圧VREFが内部電圧VBBよりも低いときには、内部電圧VBBが目標値より高いと判断して出力信号のレベルを高くする。これに応じて、PチャネルMOSトランジスタ166の電圧降下が大きくなり、内部電圧VBBは低下する。一方、基準電圧VREFが内部電圧VBBよりも高いときには、内部電圧VBBが目標値よりも低いと判断して、出力信号のレベルを低くする。これに応じて、PチャネルMOSトランジスタ166の電圧降下が小さくなり、内部電圧VBBは上昇する。このようにして、内部電圧VBBが基準電圧VREFに近づくように制御される。
【0143】
次に、内部電圧制御に関するテストモードでの動作テスト構成を説明する。
分圧回路169は、チップ外部のプローブカード上やウェハ上またはメモリボード上などに配置される。分圧回路169は、分圧回路162と同様の構成であり、電源電位VCCのラインと接地電位GNDのラインとの間に直列接続された固定抵抗回路170および可変抵抗回路171を含む。この分圧回路169は、BIST回路152に同期した外部のテスタからのテスト制御信号TSTによって分圧比が制御され、外部テスト電圧VEXTを出力する。外部テスト電圧VEXTは、内部電圧VBBの目標値(たとえば設計値)に対応して設定される。この分圧回路169から出力される比較用の外部テスト電圧VEXTを他のチップにも供給することによって、ウェハ上の複数のチップで同時に動作テストを行なうことができる。
【0144】
内部電圧発生回路151は、さらに、電圧比較器173とラッチ回路174とを含む。電圧比較器173は、テストモード時に、BIST回路152からのテスト制御信号TCMPに応答して、分圧回路169から入力端子172を介して入力された比較用の外部テスト電圧VEXTと内部電圧VBBとを比較する。ラッチ回路174は、電圧比較器173からの電圧比較信号VCMPを一時的に保持する。
【0145】
この状態の下で、BIST回路152は、図14に示した調整レベル“−8”〜“+7”のそれぞれを実現するように、調整信号P0〜P3を段階的に変化させる。それぞれの調整レベルにおいて、内部電圧VBBと外部テスト電圧VEXTとの比較結果を示す電圧比較信号VCMPが監視される。これにより、実動作時に内部電圧VBBを目標値に調整するための、所望の調整信号P0〜P3の設定値を求めることができる。
【0146】
次に、上述した所望の調整信号P0〜P3を効率的に外部に出力するためのテスト構成について説明する。
【0147】
再び図12を参照して、テストメモリ153は、スイッチ回路175と、書込制御部176と、メモリ部177と、読出制御部178とを含む。スイッチ回路175は、ラッチ回路174と書込制御部176との間に設けられ、BIST回路152からのテスト制御信号TRAに応答して、ラッチ回路174に保持された電圧比較信号VCMPを書込制御部176へ伝達する。
【0148】
図15は、図12に示した書込制御部176の構成を示すブロック図である。図15において、書込制御部176は、ラッチ回路174に保持された電圧比較信号VCMPを一時的に保持するためのラッチ回路201,202と、ラッチ回路201,202の保持データの一致比較を実行するEX−OR回路203と、BIST回路152によって設定された調整信号P0〜P3を保持するラッチ回路204と、EX−OR回路203の出力信号に応答してラッチ回路204に保持された調整信号P0〜P3をメモリ部177へ書込む書込回路205とを含む。
【0149】
ラッチ回路204に保持される調整信号P0〜P3は、図14に示したそれぞれの調整レベルに対応して順次更新される。それぞれの調整レベルにおいて、テスト結果として得られた電圧比較信号VCMPは、調整レベルが変更されるごとに、ラッチ回路201および202へ交互に出力される。たとえば、調整レベル“−8”での電圧比較信号VCMPがラッチ回路201へ出力されると、次の調整レベル“−7”での電圧比較信号VCMPは、ラッチ回路202へ出力される。さらに次の調整レベル“−6”では、電圧比較信号VCMPはラッチ回路201へ出力され、ラッチ回路201の保持内容が更新される。
【0150】
図14には、このような動作テスト結果の一例が併せて示されている。再び図14を参照して、調整信号(P0,P1,P2,P3)=(0,0,0,1)に設定される調整レベル“−8”では分圧比Kが最小となり、調整信号P0,P1,P2,P3=(1,1,1,0)に設定される調整レベル“+7”では分圧比Kが最大となる。それらの中間の調整レベル“−7”〜“+6”では、調整レベルが1段階ずつ上昇するたびに、分圧比Kも大きくなる。
【0151】
なお、実動作時には、分圧比が小さいほど、すなわち基準電圧VREFが相対的に低くなるほど、内部電圧VBBはより低く設定される。
【0152】
テストモード時には、調整レベル“−8”〜“+7”を順に実現するように、調整信号P0〜P3を順次更新していく。内部電圧VBBを外部テスト電圧VEXT(すなわち、実動作時の目標値)と同じ値に設定するのに必要な分圧比が実現された調整レベルにおいて、電圧比較信号VCMPが「H」レベルから「L」レベルへ変化する。そして、その調整レベルにおいて、図15に示したEX−OR回路203の出力信号が「H」レベルに設定される。
【0153】
図14に示した動作テスト結果例では、調整レベル“−8”〜“−3”では、電圧比較信号VCMPは「H」レベルに設定され、調整レベル“−2”〜“+7”では、電圧比較信号VCMPは「L」レベルに設定される。したがって、EX−OR回路203の出力信号は、調整レベル“−2”では「H」レベルに設定され、それ以外の調整レベルでは、「L」レベルに設定される。
【0154】
なお、ラッチ回路201,202には、初期状態として「H」レベル(“1”)の信号を保持させておき、終了時には「L」レベル(“0”)の信号を保持させるものとする。
【0155】
この結果、図15に示した書込制御部176によって、調整レベル“−2”に対応する調整信号(P0,P1,P2,P3)=(1,0,1,1)がメモリ部177へ書込まれて記憶される。読出制御部178は、BIST回路152からのテスト制御信号TRBに応答して、メモリ部177に記憶された調整信号P0〜P3を動作テスト結果に基づいた内部電圧制御情報として出力端子179に与える。
【0156】
なお、メモリ部177がEX−OR回路203の出力信号を直接受けて記憶し、そのままの形式で外部に出力する構成にしてもよい。その場合は、メモリ部177で記憶された内部電圧制御情報をプログラムメモリアレイ4に記憶できる形式に外部で信号処理する。
【0157】
プログラムメモリアレイ4には、出力端子179に与えられた内部電圧制御情報を、実動作時における内部電圧VBBの設定に用いる調整信号(P0,P1,P2,P3)=(1,0,1,1)としてプログラムすることができる。この結果、内部電圧発生回路151は、実動作時において、内部電圧VBBをテストモード時の外部テスト電圧VEXTのレベルに近づくように制御することができる。
【0158】
なお、プログラムメモリアレイ4からのプログラムデータの読出動作は、図10に示したタイムチャートと同じシーケンスで行なわれ、リセット信号RSはプログラムデータの読出期間中「L」レベルに保持される。このプログラムデータの読出動作は、電源投入直後に限らず、実動作途中にプログラムデータを更新する場合などにも行なわれる。
【0159】
したがって、この実施の形態2では、プログラムデータの読出期間中にリセット動作を行なって内部電圧VBBをデフォルト値に設定し、実動作時にはプログラムデータに含まれる内部電圧制御情報に基づいて内部電圧VBBを調整する。このため、動作の安定性が高い半導体集積回路装置が実現できる。
【0160】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0161】
【発明の効果】
以上のように、この発明に係る半導体装置では、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第1のブロックと、半導体装置の制御に関するプログラムデータが格納される第2のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込/読出を行なう書込/読出回路と、書込/読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とが設けられる。これにより、第2のブロックを制御するために必要な制御線や駆動回路を第1のブロックと共有することできる。したがって、第1のブロックと第2のブロックとが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積が小さな半導体装置が実現できる。
【図面の簡単な説明】
【図1】この発明の実施の形態1による半導体集積回路装置の概略構成を示すブロック図である。
【図2】MTJメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【図3】MTJメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。
【図4】図1に示した半導体集積回路装置の読出系を説明するためのブロック図である。
【図5】図1に示した半導体集積回路装置の書込系を説明するためのブロック図である。
【図6】図4および図5に示した構成をより具体的に示した回路図である。
【図7】図6に示した選択増幅部の構成を示す回路図である。
【図8】図7に示した切換回路の構成をより詳細に示す回路図である。
【図9】半導体集積回路装置の正規メモリセルの書込/読出動作を説明するためのタイムチャートである。
【図10】半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【図11】この発明の実施の形態2による内部電圧制御回路の構成を示すブロック図である。
【図12】図11に示した内部電圧制御回路を用いてMRAMデバイスの内部電圧を制御する構成を示す回路図である。
【図13】図12に示した分圧回路およびリセット回路の構成を詳細に示す回路図である。
【図14】調整信号P0〜P3の設定と動作テスト結果例を示す概念図である。
【図15】図12に示した書込制御部の構成を示すブロック図である。
【符号の説明】
1 コントロール回路、2 正規メモリアレイ、3 スぺアメモリアレイ、4プログラムメモリアレイ、5 正規行デコーダ、6 プログラム行デコーダ、7列デコーダ、8 書込/読出制御回路、9 選択増幅部、10 多数決論理回路、11 プログラムレジスタ、12 一致検出回路、13 スペア制御回路、14 内部電圧制御回路、15 タイミング制御回路、16 出力回路、21〜23 正規メモリセルブロック、24〜26 リファレンスセルコラム、27〜29 スペアメモリセルコラム、30〜32 プログラムメモリセルブロック、33〜39 セレクタ、40〜45 接続部、51 選択部、52 増幅部、53〜55 センスアンプ、61〜69 ライトドライバ、70 分配回路、71〜78,81〜88,111〜114 NチャネルMOSトランジスタ、91,101〜104,132〜134 接続ゲート、105,141 論理回路、121〜126 切換回路、131 デコーダ、142,143,190〜193AND回路、151 内部電圧発生回路、152 BIST回路、153 テストメモリ、161 内部回路群、162,169 分圧回路、163 セレクタ回路、164 リセット回路、165,173 電圧比較器、166 PチャネルMOSトランジスタ、167,170固定抵抗回路、168,171 可変抵抗回路、172 入力端子、174,201,202,204 ラッチ回路、175 スイッチ回路、176 書込制御部、177 メモリ部、178 読出制御部、179 出力端子、181〜185 抵抗素子、186〜189 バイパススイッチ、194〜197 インバータ、203 EX−OR回路、205書込回路。
【発明の属する技術分野】
この発明は半導体装置に関し、特に、半導体装置の制御に関するプログラムデータを記憶するプログラムメモリアレイを備える半導体装置に関する。
【0002】
【従来の技術】
半導体装置において、製造プロセスによりメモリセルの素子の仕上がりにばらつきが生じた場合、システムが誤動作を起こす可能性がある。そこで、チップ内の不良メモリセルの使用を回避する方法として、不良メモリセルを置換するためのスペアメモリセルを設けておく場合が多い。
【0003】
データ記憶を実行するための半導体装置においては、データ記憶形式は種々の形態がとられる。不良メモリセルのアドレスを記憶するためにレーザーヒューズを用いると、レーザー溶断装置が必要となってしまう。そこで、レーザー溶断装置を必要とせず、不揮発的にデータを記憶することが可能なデバイスとして、フラッシュメモリ、MRAM(Magnetic Random Access Memory)デバイスやOUM(Ovonic Unified Memories)デバイスなどの不揮発性半導体記憶装置がある。
【0004】
従来の不揮発性半導体記憶装置では、効率のよい冗長構成によりフラッシュメモリセルの使用効率を向上させたものが提案されている。この場合、ヒューズやフラッシュメモリセルによって形成される冗長アドレス記憶部が、不良セルブロックのアドレスを記憶する(たとえば、特許文献1参照)。
【0005】
MRAMデバイスは、半導体集積回路上に形成された複数の薄膜磁性体を用いて不揮発的なデータ記憶を行ない、薄膜磁性体の各々に対してランダムアクセスすることが可能なメモリデバイスである。特に、近年では磁気トンネル接合(MTJ:Magnetic Tunnel Junction)を利用した薄膜磁性体をメモリセル(以下、MTJメモリセルとも称する)として用いることによって、MRAMデバイスの性能が飛躍的に進歩することが発表されている。MTJメモリセルは、データ書込電流によって生じた磁界によって、書込データに応じた方向に磁化されてデータ記憶を実行する(たとえば、非特許文献1参照)。
【0006】
【特許文献1】
特開2003−366922号公報
【0007】
【非特許文献1】
Roy Scheuerlein、他6名,“A 10ns Read and Write Non−Volatile Memory Array Using a Magnetic Tunnel Junction and FET Switch in each Cell”, ISSCC Digest of Technical Papers, Feb. 2000, TA7.2,p.94−95,128−129,409
【0008】
【発明が解決しようとする課題】
科学技術の進歩に伴い、より小面積の半導体装置が望まれている。しかし、上記特許文献1による不揮発性半導体記憶装置では、不良セルブロックを記憶する冗長アドレス記憶部が通常のデータを記憶するメモリセルアレイとは別のアレイに設けられていたため、チップ面積の使用効率が悪かった。
【0009】
それゆえに、この発明の主たる目的は、レイアウト面積の小さな半導体装置を提供することである。
【0010】
【課題を解決するための手段】
この発明に係る半導体装置は、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第1のブロックと、半導体装置の制御に関するプログラムデータが格納される第2のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込/読出を行なう書込/読出回路と、書込/読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とを備えたものである。
【0011】
【発明の実施の形態】
[実施の形態1]
図1は、この発明の実施の形態1による半導体集積回路装置の概略構成を示すブロック図である。図1において、この半導体集積回路装置は、コントロール回路1、正規メモリアレイ2、スぺアメモリアレイ3、プログラムメモリアレイ4、正規行デコーダ5、プログラム行デコーダ6、列デコーダ7、書込/読出制御回路8、選択増幅部9、多数決論理回路10、プログラムレジスタ11、一致検出回路12、スペア制御回路13、内部電圧制御回路14、タイミング制御回路15および出力回路16を備える。
【0012】
この半導体集積回路装置は、外部からの制御信号CMDおよびアドレス信号ADDに応答してランダムアクセスを行ない、書込データDINの入力および読出データDATの出力を行なう。
【0013】
コントロール回路1は、制御信号CMDに応じて半導体集積回路装置の全体動作を制御する。正規メモリアレイ2、スぺアメモリアレイ3およびプログラムメモリアレイ4は、行列上に配置されたMTJメモリセルMCを含み、MTJメモリセルMCの行の各々に対応してワード線WLおよびライトディジット線WDLが配置される。また、MTJメモリセルMCの列の各々に対応してビット線BLおよびソース線SLが配置される。図1においては、1つのMTJメモリセルMCと、これに対応するワード線WL、ライトディジット線WDL、ビット線BLおよびソース線SLの配置が代表的に示されている。スぺアメモリアレイ3には、正規メモリアレイ2の不良メモリセルを救済するためのMTJメモリセルMCが配置される。プログラムメモリアレイ4には、正規メモリアレイ2の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶するためのMTJメモリセルMCが配置される。
【0014】
なお、正規メモリアレイ2、スぺアメモリアレイ3およびプログラムメモリアレイ4の配置は任意である。たとえば、正規メモリアレイ2の左側にプログラムメモリアレイ4を配置してもよい。通常は、正規メモリセルの数が多いためこのように正規メモリアレイ2の端にスぺアメモリアレイ3およびプログラムメモリアレイ4を配置する。ただし、不良メモリセルがメモリアレイの端に発生する可能性が高いことが懸念される場合には、正規メモリアレイ2の内部にスぺアメモリアレイ3またはプログラムメモリアレイ4を配置してもよい。しかし、正規メモリアレイ2の内部にスぺアメモリアレイ3またはプログラムメモリアレイ4を配置すると回路の構成および制御が複雑になるため、通常は正規メモリアレイ2の端にスぺアメモリアレイ3およびプログラムメモリアレイ4を配置する。
【0015】
正規行デコーダ5は、アドレス信号ADDによって示されるロウアドレスRAをデコードして、正規メモリアレイ2およびスぺアメモリアレイ3における行選択を実行する。プログラム行デコーダ6は、プログラムアレイアクセス信号PAAが活性化レベルにされたことに応じて活性化され、アドレス信号ADDによって示されるロウアドレスRAをデコードして、プログラムメモリアレイ4における行選択を実行する。列デコーダ7は、アドレス信号ADDによって示されるコラムアドレスCAをデコードして、正規メモリアレイ2およびプログラムメモリアレイ4における列選択を実行する。
【0016】
書込/読出制御回路8は、外部から入力された書込データDINの書込時においてビット線BLにデータ書込電流を流すための回路、および各メモリアレイからのデータ読出時においてビット線BLにデータ読出電流を流すための回路を総称したものである。
【0017】
選択増幅部9は、制御信号RCONに応じて、書込/読出制御回路8から伝達された読出データを選択および増幅し、読出データDATを出力する。また、外部からのリセット信号RSに応答してリセット動作を行なう。
【0018】
多数決論理回路10は、プログラムメモリアレイ4から書込/読出制御回路8および選択増幅部9を介して伝達されたプログラムデータの多数決をとって正しいデータを判定して出力するとともに、シリアル/パラレル変換を行なう。プログラムメモリアレイ4には、複数の領域に同一のプログラムデータが格納される。これにより、たとえプログラムメモリアレイ4に不良メモリセルがあった場合でも、1ビット程度の不良であれば複数の領域から読出された同一のプログラムデータの多数決をとることによって正しいデータを判定することができる。
【0019】
プログラムレジスタ11は、多数決論理回路10からのプログラムデータを記憶する。プログラムデータは、プログラムレジスタ11の記憶容量に応じて複数回繰返して読出され、読出された順にプログラムレジスタ11に格納されていく。たとえば、1回の読出動作で3ビットのプログラムデータがプログラムレジスタ11に格納される場合、プログラムレジスタ11の記憶容量が90ビットであれば読出動作が30回繰返される。プログラムレジスタ11は、一致検出回路12、内部電圧制御回路14、タイミング制御回路15および出力回路16に、それぞれ対応するプログラムデータを与える。
【0020】
一致検出回路12は、プログラムデータに含まれる不良アドレス情報と外部からのアドレス信号ADDとの比較を行ない、比較結果に基づいて一致検出信号を出力する。スペア制御回路13は、一致検出回路12からの一致検出信号に応じて、正規メモリアレイ2の不良メモリセルをスペアメモリアレイ3のスペアメモリセルで置換する動作を制御するための制御信号RCONを出力する。
【0021】
内部電圧制御回路14は、プログラムデータに含まれる内部電圧制御情報に基づいて、内部回路の電源電圧を制御する。タイミング制御回路15は、プログラムデータに含まれるタイミング情報に基づいて、動作モードの変化に対応した内部タイミングの制御を行なう。
【0022】
出力回路16は、プログラムデータに含まれる制御情報に応じて、同一チップ内に混在されるCPU(Central Processing Unit)、SRAM(Static Random Access Memory)、A/D(Analog to Digital)変換器、D/A(Digital to Analog)変換器などの各モジュールの制御を行なうための信号を出力する。この場合、不揮発性メモリモジュールから外部のモジュールに信号を伝達するための経路を構成する。これにより、たとえばA/D変換器やD/A変換器を10ビットから12ビットに変更したり、CPUに接続されるSRAMのバスサイズを変更したりすることができる。内部電圧制御回路14、タイミング制御回路15および出力回路16は、外部からのリセット信号RSに応答してリセット動作を行なう。
【0023】
ここで、MTJメモリセルMCの構成およびデータ記憶原理について説明しておく。図2は、MTJメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【0024】
図2において、トンネル磁気抵抗素子TMRは、固定された一定の磁化方向を有する強磁性体層(以下、単に「固定磁化層」とも称する)FLと、外部からの印加磁界に応じた方向に磁化可能な強磁性体層(以下、単に「自由磁化層」とも称する)VLとを有する。固定磁化層FLおよび自由磁化層VLの間には、絶縁体膜で形成されるトンネルバリア(トンネル膜)TBが設けられる。自由磁化層VLは、書込まれる記憶データのレベルに応じて、固定磁化層FLと同一方向または固定磁化層FLと反対方向に磁化される。これらの固定磁化層FL、トンネルバリアTBおよび自由磁化層VLによって磁気トンネル接合が形成される。
【0025】
トンネル磁気抵抗素子TMRの電気抵抗は、固定磁化層FLおよび自由磁化層VLのそれぞれの磁化方向の相対関係に応じて変化する。具体的には、トンネル磁気抵抗素子TMRの電気抵抗は、固定磁化層FLの磁化方向と自由磁化層VLの磁化方向とが同じ(平行)である場合に最小値Rminとなり、両者の磁化方向が反対(反平行)である場合に最大値Rmaxとなる。
【0026】
データ書込時においては、ワード線WLが非活性化されて、アクセストランジスタATRはターンオフされる。この状態で、自由磁化層VLを磁化するためのデータ書込磁界H(BL)およびH(WDL)は、ビット線BLおよびライトディジット線WDLを流れるデータ書込電流によってそれぞれ発生される。特に、ビット線BL上のデータ書込電流は、書込データのレベルに応じて、+Iwおよび−Iwのいずれかの方向に流される。
【0027】
図3は、MTJメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。図3において、横軸H(EA)は、トンネル磁気抵抗素子TMR内の自由磁化層VLにおいて磁化容易軸(EA:Easy Axis)方向に印加される磁界を示す。一方、縦軸H(HA)は、自由磁化層VLにおいて磁化困難軸(HA:Hard Axis)方向に作用する磁界を示す。磁界H(EA)およびH(HA)は、図2に示したデータ書込磁界H(BL)およびH(WDL)にそれぞれ対応する。
【0028】
MTJメモリセルにおいては、固定磁化層FLの固定された磁化方向は、自由磁化層VLの磁化容易軸に沿っており、自由磁化層VLは、記憶データのレベルに応じて、磁化容易軸方向に沿って、固定磁化層FLと平行あるいは反平行(反対)方向に磁化される。MTJメモリセルは、自由磁化層VLの2通りの磁化方向と対応させて、1ビットのデータを記憶することができる。
【0029】
自由磁化層VLの磁化方向は、印加される磁界H(EA)およびH(HA)の和が、図3に示されるアステロイド特性線の外側の領域に達する場合においてのみ新たに書換えることができる。すなわち、印加されたデータ書込磁界がアステロイド特性線の内側の領域に相当する強度である場合には、自由磁化層VLの磁化方向は変化しない。
【0030】
アステロイド特性線に示されるように、自由磁化層VLに対して磁化困難軸方向の磁界を印加することによって、磁化容易軸に沿った磁化方向を変化させるのに必要な磁化しきい値を下げることができる。図3に示すように、データ書込時の動作点は、ライトディジット線WDLとビット線BLとの両方に所定のデータ書込電流を流したときに、MTJメモリセルの記憶データ、すなわちトンネル磁気抵抗素子TMRの磁化方向を書換えられるように設計される。
【0031】
図3に例示された動作点では、データ書込対象であるMTJメモリセルにおいて、磁化容易軸方向のデータ書込磁界は、その強度がHWRとなるように設計される。すなわち、このデータ書込磁界HWRが得られるように、ビット線BLまたはライトディジット線WDLを流されるデータ書込電流の値が設計される。一般的に、データ書込磁界HWRは、磁化方向の切換えに必要なスイッチング磁界HSWと、マージン分ΔHとの和で示される。すなわち、HWR=HSW+ΔHで示される。
【0032】
トンネル磁気抵抗素子TMRに一旦書込まれた磁化方向、すなわちMTJメモリセルの記憶データは、新たなデータ書込が実行されるまでの間不揮発的に保持される。
【0033】
図4は、図1に示した半導体集積回路装置の読出系を説明するためのブロック図である。図4において、正規メモリアレイ2は、正規メモリセルブロック21〜23と、リファレンスセルコラム24〜26とを含む。正規メモリセルブロック21〜23から読出されるデータは、リファレンスセルコラム24〜26に保持されているハイレベルとローレベルの中間に相当する参照値とそれぞれ比較され、比較結果に基づいてそれらの論理レベルが判断される。
【0034】
スぺアメモリアレイ3は、スペアメモリセルコラム27〜29を含む。スペアメモリセルコラムに含まれるメモリセルは、2メモリセルあたり1ビットを記憶する。1メモリセルで1ビットを記憶する正規メモリセルよりも、スペアメモリセル部分の信頼性の向上が図られている。
【0035】
プログラムメモリアレイ4は、プログラムメモリセルブロック(PB)30〜32を含む。プログラムメモリセルブロックに含まれるメモリセルも、高信頼性を確保するため2メモリセルで1ビットを記憶する。
【0036】
正規メモリセルブロック21〜23およびプログラムメモリセルブロック30〜32にそれぞれ対応してセレクタ33〜35が設けられる。リファレンスセルコラム24〜26に対応してセレクタ36〜38が設けられる。また、セレクタ33,36に対応してIO線対IOP1が設けられ、セレクタ34,37に対応してIO線対IOP2が設けられ、セレクタ35,38に対応してIO線対IOP3が設けられる。
【0037】
正規メモリセルブロックからデータを読出す場合は、セレクタ33の出力線は接続部40によってIO線対IOP1のいずれか一方のIO線に接続され、セレクタ36の出力線は接続部41によってIO線対IOP1のいずれか他方のIO線に接続される。セレクタ34の出力線は接続部42によってIO線対IOP2のいずれか一方のIO線に接続され、セレクタ37の出力線は接続部43によってIO線対IOP2のいずれか他方のIO線に接続される。セレクタ35の出力線は接続部44によってIO線対IOP3のいずれか一方のIO線に接続され、セレクタ38の出力線は接続部45によってIO線対IOP3のいずれか他方のIO線に接続される。
【0038】
一方、プログラムメモリセルブロックからデータを読出す場合は、2つのプログラムメモリセルで1ビットを記憶するため、セレクタ33の2本の出力線が接続部40によってIO線対IOP1に接続され、セレクタ36の出力線はIO線対IOP1接続されない。セレクタ34の2本の出力線は接続部42によってIO線対IOP2に接続され、セレクタ37の出力線はIO線対IOP2に接続されない。セレクタ35の2本の出力線は接続部44によってIO線対IOP3に接続され、セレクタ38の出力線はIO線対IOP3に接続されない。
【0039】
なお、図4では、3つの正規メモリセルブロックおよび3つのプログラムメモリセルブロック、それらに対応する3つのIO線対が設けられている場合が示されているが、正規メモリセルブロックおよびプログラムメモリセルブロックの数と対応するIO線対の数が同じであれば、これらの数は3つよりも多くても少なくてもよい。
【0040】
スペアメモリセルコラム27〜29の一部がセレクタ39によって選択される。セレクタ39は、図1のスペア制御回路13から出力される制御信号RCONに応じて、3つのスペアメモリセルコラムのうちの2つを選択する。選択された2つのスペアメモリセルは、スペアメモリセルのデータ伝達のために専用に設けられる2組のIO線対IOP4,IOP5に接続される。
【0041】
スペアメモリセルコラムは、1ビットを2つのメモリセルで記憶する。各スペアメモリセルコラムごとにスペアビット線SBLが2本設けられる。3つのスペアメモリセルコラムからまず2つのスペアメモリセルコラムがセレクタ39で選択されて、スペア専用のIO線対IOP4,IOP5に接続される。セレクタ39での選択は、スペア制御回路13から出力される制御信号RCONによって行なわれる。
【0042】
なお、スペアメモリセルコラムの数とスペア専用のIO線対の数とを等しくすれば、セレクタ39は設けなくてもよい。この場合、スぺアメモリアレイ3からのデータは、すべて選択部51までは出力されることになる。このようにすればビット線出力部のセレクタ部に冗長判定の結果を適用する必要がなく動作の高速化が望める場合もある。
【0043】
ただし、実施の形態1では、セレクタ39を設けてIO線対に接続する際に3つのスペアメモリセルコラムのうちから2つのメモリセルコラムを選択する。この理由は、IO線対の数が多くなると、IO線対を設けることによる面積増大が問題となるからである。
【0044】
図4におけるセレクタ33〜39および接続部40〜45は、図1の書込/読出制御回路8の一部に相当する。このようにして合計5対のIO線対に選択されたメモリセルが接続される。
【0045】
5対のIO線対IOP1〜IOP5は、選択増幅部9に接続されている。選択増幅部9は、制御信号RCONおよびリセット信号RSに応じて5つのIO線対IOP1〜IOP5から3つを選択する選択部51と、選択部51によって選択されたIO線対に接続されるメモリセルのデータを読出すためのセンスアンプ53〜55とを含む。センスアンプの数は、必要な読出データDATの数に等しい3個だけ設けられている。
【0046】
制御信号RCONに従って、正規メモリセルブロックの不良メモリセルが接続されるIO線対、および必要のないスペアビット線SBLに接続されるIO線対は、センスアンプ53〜55には接続されない。
【0047】
センスアンプ53〜55は、接続されるメモリセルが正規メモリセルである場合は、対応するリファレンスセルコラムに存在する参照用のメモリセルにも接続され、これらの2つのメモリセルに流れ込む電流値を比較する。
【0048】
センスアンプ53〜55は、接続されるメモリセルがプログラムメモリセルまたはスペアメモリセルである場合は、相補な2つのメモリセルに流れ込む電流値を比較する。
【0049】
以上のように、プログラムメモリセルブロックを制御するために必要な制御線や駆動回路を正規メモリセルブロックと共有することにより、チップの面積を効率的に使用することができる。
【0050】
図5は、図1に示した半導体集積回路装置の書込系を説明するためのブロック図である。図5において、MRAMの場合には、書込時と読出時とでスペアメモリセルコラムへのアクセス経路が異なる。
【0051】
書込データDIN(図5ではデータ数は3である)が通常の入力データである場合、書込データDINは正規メモリセルブロック21〜23に対応するライトドライバ61〜66に伝達され、所望のビット線BLに電流を流すように対応するライトドライバが制御される。
【0052】
アドレスで指定された正規メモリセルがスペアメモリセルコラムで救済すべき不良メモリセルである場合には、正規メモリセルに代えてスペアメモリセルにデータ書込が行なわれる。書込データDINは、冗長検出結果を示す制御信号RCONに基づいて分配回路70によってスぺアメモリアレイ3に分配される。このとき、正規メモリセル領域は、アドレスに対応する正規メモリセルが不良である場合には、この不良メモリセルに対応するライトドライバは非活性化される。スペア部分のライトドライバ67〜69のうち、書込まれるスペアメモリセルに対応するライトドライバが活性化される。活性化されたライトドライバはデータに従った書込動作を行なう。
【0053】
なお、通常領域のライトドライバ61〜66は、アドレスで指定されたメモリセルが不良メモリセルである場合にも、データ書込動作を行なってもかまわない。しかし、この実施の形態1では、書込電流が増加することを避けるため、不良メモリセルに対応するライトドライバを非活性化させている。
【0054】
入力された書込データDINは、制御信号RCONに応じて正規メモリアレイ2またはスぺアメモリアレイ3に分配される。指定されたアドレスが不良メモリセルに対応しなければ正規メモリアレイ2に対してデータが分配される。指定されたアドレスが不良メモリセルに対応する場合、分配回路70は不良メモリセルに対応する正規メモリセルブロックに分配を行なう代わりにスペアメモリセルコラム27〜29のいずれかにデータを分配する。そして、対応するライトドライバ67〜69のいずれかが活性化される。
【0055】
一方、書込データDINがプログラムデータである場合、書込データDINは分配回路70を介してプログラムメモリセルブロック30〜32に対応するライトドライバ61〜66に伝達され、所望のビット線BLに電流を流すように対応するライトドライバが制御される。このように、正規メモリセルブロック21〜23とプログラムセメモリセルブロック30〜32がライトドライバ61〜66を共有することにより、チップの面積を効率的に使用することができる。
【0056】
なお、図5におけるライトドライバ61〜69および分配回路70は、図1の書込/読出制御回路8の一部に相当する。
【0057】
図6は、図4および図5に示した構成をより具体的に示した回路図である。図6において、正規メモリセルブロック21、リファレンスセルコラム24、スペアメモリセルコラム27およびプログラムメモリセルブロック30とその関連回路が代表的に示されている。
【0058】
まず、正規メモリセルについての説明をする。正規メモリセルブロック21は、行列状に配置される複数の正規メモリセルMCを含む。正規メモリセルMCは1メモリセルで1ビットを記憶する。ビット線BLA,BLBには、書込用のライトドライバ61,64と、読出用のセレクタ33とが接続される。ライトドライバ61,64は、ビット線BLA,BLBの両端に配置される。
【0059】
正規メモリセルMCに“0”を書込む場合と“1”を書込む場合とではビット線に流す電流の向きは逆向きとなる。具体的には、正規メモリセルMCに“1”を書込むときにはライトドライバ61の中のNチャネルMOSトランジスタ71が導通状態とされ、ライトドライバ64の中のNチャネルMOSトランジスタ76が導通状態とされる。これによりビット線BLAでは、ライトドライバ61からライトドライバ64に向かう向きに電流が流れる。
【0060】
一方、正規メモリセルMCに“0”を書込む場合には、ライトドライバ64のNチャネルMOSトランジスタ75およびライトドライバ61のNチャネルMOSトランジスタ72が導通し、ライトドライバ64からライトドライバ61に向かってビット線BLAを電流が流れる。
【0061】
同様にビット線BLBについても、NチャネルMOSトランジスタ73,74,77,78の制御が書込データに基づいて行なわれる。なお、信号W1は“1”を書込む際に活性化される信号を示し、信号W0は“0”を書込む場合に活性化される信号を示す。このようにNチャネルMOSトランジスタの活性化制御は、ライトドライバ61と64とで逆になる。
【0062】
待機時には、ライトドライバ61,64の両方ともにおいて、ビット線を接地電位に固定するNチャネルMOSトランジスタを活性化するか、NチャネルMOSトランジスタ71〜78のすべてを非導通状態とさせビット線をフローティング状態にする。
【0063】
ライトドライバ61,64は、図1の一致検出回路12において入力アドレスが不良メモリセルのアドレスと一致した場合には、待機状態を維持する。たとえば、待機状態においてNチャネルMOSトランジスタ71〜78のすべてを非導通状態とする場合は、制御信号/HITが「L」レベルに非活性化されることによりNチャネルMOSトランジスタ71〜78はすべて非導通状態となる。この場合、ライトドライバが非活性化されることによって消費電力が低減される。
【0064】
書込時には、ライト信号WRITEが「H」レベルに活性化され、リード信号READが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ81〜84が導通状態となり、NチャネルMOSトランジスタ85〜88は非導通状態となる。そして書込アドレスに応じて正規行デコーダ5が複数のライトディジット線WDLAのうちのいずれか1つを活性化する。このとき接続ゲート91によってスペアビット線SBLAとスペアビット線SBLBとが接続される。
【0065】
読出時においては、リード信号READが「H」レベルに活性化され、ライト信号WRITEが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ85〜88が導通状態となり、NチャネルMOSトランジスタ81〜84は非導通状態となる。読出アドレスに応じて正規行デコーダ5が複数のワード線WLAのうちのいずれか1つを活性化する。
【0066】
セレクタ33は、ビット線BLAとIO線IO1Aとの間に設けられる接続ゲート101と、ビット線BLBとIO線IO1Bとの間に設けられる接続ゲート102とを含む。接続ゲート101のゲートは列選択信号CSLAを受け、接続ゲート102のゲートは列選択信号CSLBを受ける。列選択信号CSLA,CSLBは、コラムアドレスCAをデコードする列デコーダ7から論理回路105を介して与えられる。
【0067】
リファレンスセルコラム24は、正規メモリセルMCのデータを判定するための参照値を記憶する複数の参照メモリセルMCRを含む。この参照メモリセルMCRの書込/読出は、正規メモリセルMCと同様に行なわれる。ただし、データ読出時には、IO線への接続が工夫される。参照メモリセルMCRの列に対応するビット線BLRは、セレクタ36によってIO線IO1A,IO1Bのいずれに接続するかが選択可能となっている。
【0068】
セレクタ36は、ビット線BLRとIO線IO1Bとの間に接続される接続ゲート103と、ビット線BLRとIO線IO1Aとの間に接続される接続ゲート104とを含む。接続ゲート103のゲートは選択信号SREFAを受け、接続ゲート104のゲートは選択信号SREFBを受ける。
【0069】
選択信号SREFAは、列選択信号CSLAが活性化される場合に活性化される。すなわち、ビット線BLAがIO線IO1Aに接続される場合には参照用のビット線BLRはIO線IO1Bに接続される。これにより、増幅部52において正規メモリセルMCと参照メモリセルMCRとの間に流れる電流値の差が検出される。
【0070】
一方、選択信号SREFBは、列選択信号CSLBが活性化される場合に活性化される。これにより、ビット線BLBがIO線IO1Bに接続される場合には参照用のビット線BLRはIO線IO1Aに接続される。隣接するビット線BLA,BLBの接続をそれぞれ異なるIO線に接続するのは、接続ゲート101,102の接合容量をIO線それぞれに均等に配分するためである。これに従って、参照するビット線BLRの接続もいずれかのIO線に選択的に接続される。
【0071】
なお、正規メモリセルブロック21およびリファレンスブロック24以外にも、図示しない正規メモリセルブロック22,23およびリファレンスブロック25,26が配置されている。この3セットの正規メモリセルブロックおよびリファレンスブロックに対応してIO線対IOP1〜IOP3が設けられる。
【0072】
次に、スペアメモリセルについての説明をする。スペアメモリセルコラムは、2つのメモリセルで1ビットを記憶する。たとえば、ライトディジット線WDLAで選択された2つのメモリセルSMCA,SMCBに、同時に相補なデータの書込を行なう。このため、ビット線を駆動するライトドライバ67は、メモリアレイの片側にしか配置されない。そして、接続ゲート91によって書込時にスペアビット線SBLAとスペアビット線SBLBとが接続される。
【0073】
ライトドライバ67において、“0”を書込む場合には、NチャネルMOSトランジスタ111,114が導通状態とされ、スペアビット線SBLAからスペアビット線SBLBに向けて電流が流れる。逆に、“1”を書込む場合には、NチャネルMOSトランジスタ112,113が導通状態とされ、スペアビット線SBLBからスペアビット線SBLAに向けて電流が流れる。スペアビット線SBLAとスペアビット線SBLBとは接続ゲート91で片側が接続されるので、書込時においてスペアビット線SBLAに流れる電流の向きとスペアビット線SBLBに流れる電流の向きは常に逆向きとなる。これにより、ライトディジット線WDLAで選択された2つのスペアメモリセルSMCA,SMCBに対して相補なデータが書込まれる。
【0074】
なお、スペアメモリセルコラム27以外にも、図示しないスペアメモリセルコラム28,29が配置されている。この3セットのスペアメモリセルコラムに対して、セレクタ39でそのうちの2セットが選択される。選択された2セットのスペアメモリセルコラムは、スペアメモリセル専用のIO線対IOP4,IOP5に接続される。
【0075】
読出時には、スペアメモリセルコラムでは、接続ゲート91が非接続状態となり、スペアメモリセルSMCA,SMCBには別々の電流が流れる。
【0076】
図6に示したように、MRAMのメモリセルアレイにおいて、正規メモリセルMCは1セルあたり1ビットを記憶し、スペアメモリセルSMCA,SMCBは2セルで1ビットを記憶する。相補な値を2つのスペアメモリセルSMCA,SMCBに書込み、それらをセンスアンプに接続することによって記憶した1ビットを読出す。これにより、アレイ周辺部分に配置されることが多いスペアメモリセル部分が素子の仕上り寸法のばらつきに対して強くなり、不良メモリセルをスペアメモリセルに置換して救済する場合の成功率が向上する。
【0077】
次に、プログラムメモリセルについての説明をする。プログラムメモリセルブロック30は、行列状に配置される複数のプログラムメモリセルPMCA,PMCBを含む。プログラムメモリセルPMCA,PMCBは、2つのメモリセルで1ビットを記憶する。プログラムメモリセルブロック30は、ライトドライバ61,64、ビット線BLA,BLBおよびソース線SLを正規メモリセルアレイ21と共有する。
【0078】
このプログラムメモリセルPMCA,PMCBは、正規メモリセルブロック21の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶する。
【0079】
データ書込時には、ライト信号WRITEが「H」レベルに活性化され、リード信号READが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ81〜84が導通状態となり、NチャネルMOSトランジスタ85〜88は非導通状態となる。そして、書込アドレスに応じてプログラム行デコーダ6が複数のライトディジット線WDLBのうちのいずれか1つを選択的に活性化する。
【0080】
一方、読出時においては、リード信号READが「H」レベルに活性化され、ライト信号WRITEが「L」レベルに非活性化されることによって、NチャネルMOSトランジスタ85〜88が導通状態となり、NチャネルMOSトランジスタ81〜84は非導通状態となる。そして、読出アドレスに応じてプログラム行デコーダ6が複数のワード線WLBのうちのいずれか1つを選択的に活性化する。
【0081】
2つのプログラムメモリセルPMCA,PMCBで1ビットを記憶することによって、高信頼性が確保される。データ書込は、たとえばプログラムメモリセルPMCA,PMCBに相補なデータを書込むことによって実現される。このときライトドライバ61,64は、書込むデータに応じて電流の向きを変える。
【0082】
正規メモリセルMCは1つで1ビットを記憶するのに対して、プログラムメモリセルPMCA,PMCBは2つで1ビットを記憶するため、プログラムメモリセルPMCA,PMCBのデータを読出す際には工夫する必要がある。そこで、プログラムデータの読出時には、プログラムリード信号PREADが「H」レベルにされる。このとき、列デコーダ7によって列選択信号CSLA,CSLBのどちらか一方が「H」レベルにされている。このため、プログラムリード信号PREADが「H」レベルにされたことに応じて、論理回路105によって列選択信号CSLA,CSLBの両方が「H」レベルにされ、接続ゲート101,102が導通する。すなわち、ビット線BLA,BLBがそれぞれ接続ゲート101,102を介してIO線対IOP1に接続される。
【0083】
そして、プログラム行デコーダ6によって対応するワード線WLBが活性化されると、プログラムメモリセルPMCAを通過してソース線SLに流れ込む電流とプログラムメモリセルPMCBを通過してソース線SLに流れ込む電流との差が増幅部52によって検出される。なお、プログラムメモリセルブロック30以外にも、図示しないプログラムメモリセルブロック31,32が配置されている。この3セットのプログラムメモリセルブロックは、3セットの正規メモリセルブロック21〜23に隣接して設けられる。
【0084】
データ読出時には、リセット信号RSによって選択部51がデフォルト状態にされる。このとき、選択部51はIOP1〜IOP3を増幅部52に接続する。プログラムメモリセルブロック30から読出されたプログラムデータは、信号P1として図1の多数決論理回路10に転送される。同様に、プログラムメモリセルブロック31,32に記憶されているプログラムデータも、それぞれIO線対IOP2,3を介して増幅部52によって電流の差が検出され、信号P2,P3として多数決論理回路10に転送される。この転送は、たとえばチップに電源を投入した際に行なわれる。
【0085】
このように、プログラムメモリセルブロック30が、ライトドライバ61,64、ビット線BLA,BLBおよびソース線SLを正規メモリセルアレイ21と共有する。これにより、チップの面積を効率的に使用することができる。
【0086】
ここで、プログラムメモリセルブロック30に含まれるプログラムメモリセルPMCA,PMCBは、プログラムセットが使用済みか否かを示すフラグを記憶する領域とし、他の領域に不良メモリセルのアドレス情報を記憶させてもよい。この場合、フラグによりプログラムセットの使用状況が判断できるため、使用済みのプログラムセットを避けて不良アドレスをプログラムメモリセルに記憶させることが可能になる。
【0087】
また、正規行デコーダ5には正規メモリセル用のアドレスが与えられ、プログラム行デコーダ6にはプログラムメモリセル用のアドレスが与えられる。プログラムメモリセル用のアドレスは、プログラムメモリアレイ4の複数組のワード線WLBとライトディジット線WDLBに対して個別に認識するためのアドレスである。このプログラムメモリセル用のアドレスは、正規メモリセル用のアドレスとは別のプログラムメモリセル専用のアドレスを用いてもよいし、正規メモリセル用のアドレスの一部を用いてもよい。実施の形態1では、正規メモリセル用のアドレスの一部を用いる。この場合、そのアドレスにプログラム領域アクセス用の論理演算処理を行なうことで、プログラムメモリセル用のアドレスが生成される。これにより、正規メモリアレイ2とプログラムメモリアレイ4がアドレス配線を共有できるため、チップの面積を効率的に使用することができる。
【0088】
図7は、図6に示した選択増幅部9の構成を示す回路図である。図7において、選択増幅部9は、選択部51と、増幅部52とを含む。選択部51は、制御信号RCONおよびリセット信号RSに基づいて、5つのIO線対のうちから3つのIO線対を選択する。
【0089】
IO線対の選択には、いわゆるシフトリダンダンシの手法が適用される。選択部51は、IO線IO1A〜IO3Aのうちのいずれか1つを選択してIO線RIO1Aに接続する切換回路121と、IO線IO1B〜IO3Bのうちのいずれか1つをIO線RIO1Bに接続する切換回路122とを含む。
【0090】
選択部51は、さらに、IO線IO2A〜IO4Aのうちのいずれか1つを選択してIO線RIO2Aに接続する切換回路123と、IO線IO2B〜IO4Bのうちのいずれか1つをIO線RIO2Bに接続する切換回路124とを含む。
【0091】
選択部51は、さらに、IO線IO3A〜IO5Aのうちのいずれか1つを選択してIO線RIO3Aに接続する切換回路125と、IO線IO3B〜IO5Bのうちのいずれか1つをIO線RIO3Bに接続する切換回路126とを含む。
【0092】
増幅部52は、IO線RIO1A,RIO1Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)53と、IO線RIO2A,RIO2Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)54と、IO線RIO3A,RIO3Bに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ(SA)55とを含む。
【0093】
図8は、図7に示した切換回路121の構成をより詳細に示す回路図である。図8において、切換回路121は、制御信号RCONをデコードするデコーダ131と、デコーダ131の出力に応じてIO線IO1A〜IO3AをそれぞれIO線RIO1Aに接続する接続ゲート132〜134とを含む。デコーダ131は、論理回路141およびAND回路142,143を含む。
【0094】
リセット信号RSが「H」レベルの場合は、デコーダ131は、制御信号RCONに応じて、不良メモリセルに対応するIO線の特定ビットと置換するスペアメモリセルコラムを特定するビットとをデコードする。デコード結果に基づき、接続ゲート132〜134のいずれか1つを接続状態にする。
【0095】
リセット信号RSが「L」レベルの場合は、論理回路141は「H」レベルの信号を接続ゲート132に出力し、AND回路142,143はそれぞれ「L」レベルの信号を接続ゲート133,134に出力する。これにより、接続ゲート132が接続状態にされ、接続ゲート133,134は非接続状態にされる。
【0096】
図7に戻って、システム電源投入時やプログラムデータの更新を行なうときなど、必要に応じてプログラムメモリアレイ4からプログラムデータを読出すときに、リセット信号が「L」レベルにされる。これに応じて、切換回路121〜126はIO線対IOP1〜IOP3とセンスアンプ53〜55とを接続する。すなわち、リセット信号RSが「L」レベルにされることによって、選択部51はシフト制御が行なわれないデフォルト状態にされる。
【0097】
接続ゲートをセンスアンプの1つの入力ノードあたり3つ設けることにより2段シフト動作が可能となっている。シフトリダンダンシの手法を適用することによって、5対のIO線対から3対を選択して3つのセンスアンプに接続する。
【0098】
シフトリダンダンシでは、IO線IO1A〜IO5Aから3つのIO線が選択され、この選択されたIO線は順番が入替わらないようにIO線RIO1A〜1IO3Aに接続される。また、IO線IO1B〜IO5Bから3つのIO線が選択され、この選択されたIO線は順番が入替わらないようにIO線RIO1B〜1IO3Bに接続される。
【0099】
シフトリダンダンシ構成にすることにより、センスアンプの入力ノードとIO線IO1A〜IO5A,IO1B〜IO5Bとの接続経路の長さが著しく差が生じないようにすることができる。これにより、負荷の均等化が図られ動作マージンを揃えることができる。
【0100】
図9は、以上説明してきた半導体集積回路装置の正規メモリセルの書込/読出動作を説明するためのタイムチャートである。図9において、プログラムアレイアクセス信号PAAおよびプログラムリード信号PREADは非活性化レベルの「L」レベルに保持され、リセット信号RSは「H」レベルに保持される。
【0101】
半導体集積回路装置は、クロック信号CLKに同期して動作する。チップセレクト信号CSは、チップ活性化のトリガとして用いられ、「H」レベルの時にデータの読出動作および書込動作が行なわれる。
【0102】
時刻t0において、「H」レベルのチップセレクト信号CS、および「H」レベルのライト信号WRITEが取込まれると、選択行のライトディジット線WDLAおよび選択列のビット線BLAにデータ書込電流が流され、入力アドレスに対応した正規メモリセルMCに書込データDINが書込まれる。
【0103】
時刻t1において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLAおよび選択列のビット線BLAにデータ読出電流が流され、入力アドレスに対応した正規メモリセルMCから読出データDATが読出される。
【0104】
次いで、時刻t2において、「H」レベルのチップセレクト信号CS、および「H」レベルのライト信号WRITEが取込まれると、選択行のライトディジット線WDLAおよび選択列のビット線BLBにデータ書込電流が流され、入力アドレスに対応した正規メモリセルMCに書込データDINが書込まれる。
【0105】
時刻t3において、「H」レベルのチップセレクト信号CSおよび「H」レベルのリード信号READが取込まれると、選択行のワード線WLAおよび選択列のビット線BLBにデータ読出電流が流され、入力アドレスに対応した正規メモリセルMCから読出データDATが読出される。
【0106】
図10は、半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【0107】
時刻t10において、リセット信号RSが「L」レベルに立下げられるとともに、プログラムアレイアクセス信号PAAおよびプログラムリード信号PREADが活性化レベルの「H」レベルに立上げられる。すなわち、リセット動作によってシステムがデフォルト状態にされ、プログラムメモリセルからデータを読出す準備が行なわれる。
【0108】
時刻t11において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB1および選択列のビット線BLA,BLBにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。ここで、ビット線BLA,BLBの両方にデータ読出電流が流れるのは、プログラムメモリセルPMCA,PMCBが2セルで1ビットの相補なデータを記憶しているためである。
【0109】
次いで、時刻t12において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB1および選択列のビット線BLC,BLDにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。なお、図示しないがビット線BLC,BLDはビット線BLA,BLBの次の列に配置されているものとする。このように、選択されたあるワード線WLB1に対して異なるビット線の組が、列デコーダ7によって順に選択されてデータ読出電流が流される。読出データDATが4回繰返して読出された後、アクセスするプログラムメモリセルの行アドレスが切換えられる。
【0110】
時刻t13において、切換えられた行アドレスに対応する選択行のワード線WLB2および選択列のビット線BLA,BLBにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルから読出データDAT(プログラムデータ)が読出される。
【0111】
次いで、時刻t14において、「H」レベルのチップセレクト信号CS、および「H」レベルのリード信号READが取込まれると、選択行のワード線WLB2および選択列のビット線BLC,BLDにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルPMCA,PMCBから読出データDAT(プログラムデータ)が読出される。
【0112】
なお、ここでは選択された1つのワード線WLBに対して異なる4組のビット線が順に選択され、データ読出が4回ずつ連続して行なわれる場合について説明したが、配列されるプログラムメモリセルの数に応じて、データ読出は任意の回数ずつ連続して行なわれる。
【0113】
また、図示しないが、プログラムメモリセルの書込動作は、プログラムアレイアクセス信号PAAが活性化レベルの「H」レベルに立上げられた状態で、「H」レベルのチップセレクト信号CSおよびライト信号WRITEが取込まれた場合に実行される。
【0114】
以上のように、この実施の形態1では、半導体装置の制御に関するプログラムデータを記憶するためのプログラムメモリアレイ4と、通常のデータを記憶する正規メモリアレイ2とを同じメモリアレイに配置したことによって、プログラムメモリアレイ4を制御するために必要な制御線や駆動回路を正規メモリアレイ2と共有することできる。したがって、プログラムメモリアレイ4と正規メモリアレイ2とが別々のメモリアレイに設けられていた従来と比べて、チップ面積を効率的に使用することができる。
【0115】
なお、ここでは不揮発性メモリがMRAMである場合について説明したが、OUMやフラッシュメモリを用いてもよい。
【0116】
[実施の形態2]
実施の形態2では、実施の形態1に示した内部電圧制御回路14を用いて、MRAMデバイスの内部電圧の設定を精密に調整する構成について説明する。
【0117】
図11は、この発明の実施の形態2による内部電圧制御回路14の構成を示すブロック図である。図11において、この内部電圧制御回路14は、内部電圧発生回路151、BIST(Built−In−Self−Test)回路152およびテストメモリ153を含む。
【0118】
BIST回路152は、予め設定された所定の動作テストの実行を制御する。内部電圧VBBを供給する内部電圧発生回路151は、動作テスト時において、BIST回路152からの調整信号P0〜P3に従って内部電圧VBBのレベルを制御する。このとき、外部からのテスト電圧VEXTに基づいた内部電圧制御情報がテストメモリ153に与えられる。テストメモリ153は、当該動作テストの結果を一時的に記憶し、内部電圧制御情報として外部へ出力する。外部へ出力された内部電圧制御情報は、プログラムメモリアレイ4にプログラムデータとして記憶される。通常動作時においては、動作テストによってプログラムメモリアレイ4に記憶されたプログラムデータに基づいて、内部電圧VBBのレベルが設定される。ただし、電源投入直後など、プログラムデータの読出が完了する前の状態においては、内部電圧VBBを適切なレベルに設定する必要がある。そこで、リセット信号RSを用いることによって、プログラムデータの読出期間中に内部電圧VBBをデフォルト値に設定する。
【0119】
なお、BIST回路152による動作テストは、通常はまず製造工程終了後の試験時に行なわれる。この動作テスト結果をプログラムデータとしてプログラムメモリアレイ4に書込んでおくことによって、製品が市場に出た後のシステム電源投入時に、そのプログラムデータに基づいて内部電圧VBBを調整することができる。また、製品が市場に出た後にプログラムデータの更新を行なう場合は、再度BIST回路152による動作テストを行ない、新しいプログラムデータをプログラムメモリアレイ4に書込む。このように外部テスタの代わりにBIST回路152を用いることによって、テストコストが削減される。
【0120】
従来は、内部電圧制御情報はレーザーヒューズなどで記憶されていたため、電源投入とともに内部電圧制御情報を読出すことができた。しかし、この実施の形態2では、テストコストを削減するため、レーザー溶断装置を必要としない不揮発性メモリをレーザーヒューズの代わりに用いる。不揮発性メモリを用いることによって、製品が市場に出た後もプログラムデータが保存される。この場合、電源投入後からプログラムデータの読出が完了するまでの間は内部電圧VBBを制御するためのデータがないため、適切な内部電圧レベルが保証されず、正常に動作しない可能性がある。このため、内部電圧VBBのレベルをデフォルト値に設定するリセット動作を行なう。
【0121】
なお、この内部電圧VBBのデフォルト値は、目標とする電圧値にある程度近い値であればよく、任意に設定される。内部電圧VBBを制御する際、製造プロセスにおいて生じたばらつきの影響を受けてデフォルト値が目標とする電圧値から多少ずれていても動作上の問題はない。
【0122】
たとえば、目標とする電圧値(外部から入力されるテスト電圧VEXT)が1.5Vである場合、製造プロセスにおいて生じたばらつきにより内部電圧VBBのデフォルト値が目標値よりも低い電圧値(たとえば、1.3V)になってもよい。この場合、電源投入直後のプログラムデータの読出期間中は内部電圧VBBがデフォルト値の1.3Vにされるが、プログラムデータの読出完了後は内部電圧制御情報に基づいて内部電圧VBBが1.5Vに調整される。
【0123】
また、製造プロセスにおいて生じるばらつきによって内部電圧VBBが低くなることが懸念される場合、予めデフォルト値を高い電圧値に設定しておいてもよい。たとえば、目標とする電圧値(外部から入力されるテスト電圧VEXT)の1.5Vに対して、デフォルト値を1.8Vにしておく。この場合、製造プロセスにおいて生じたばらつきによって、製造後の実際のデフォルト値が1.8Vから0.2V低下して1.6Vになったとしても、動作マージンは十分に確保される。電源投入直後のプログラムデータの読出期間中は、内部電圧VBBがデフォルト値の1.6Vにされるが、プログラムデータの読出完了後は、内部電圧制御情報に基づいて内部電圧VBBが1.5Vに調整される。
【0124】
図12は、図11に示した内部電圧制御回路14を用いてMRAMデバイスの内部電圧を制御する構成を示す回路図である。
【0125】
まず、内部電圧の制御構成について説明する。図12において、内部電圧発生回路151は、内部回路群161へ内部電圧VBBを供給する。内部電圧発生回路151は、内部電圧VBBを制御するための、分圧回路162、セレクタ回路163、リセット回路164、電圧比較器165およびPチャネルMOSトランジスタ166を含む。
【0126】
分圧回路162は、電源電位VCCのラインと接地電位GNDのラインとの間に直列接続された固定抵抗回路167および可変抵抗回路168を含む。なお、以下、本明細書の図面中では、単独の記号「R」は、「抵抗素子」であることを示すものとし、RBや2R等のように、「R」に添字や数字を付する場合には、抵抗値を示すものとする。
【0127】
分圧回路162は、電源電位VCCと接地電位GNDとの電圧差を、固定抵抗回路167および可変抵抗回路168の抵抗比に応じた分圧比K(K:0<K<1の実数)で分圧した基準電圧VREFを生成する。可変抵抗回路168の抵抗値は、セレクタ回路163からリセット回路164を介して伝達された調整信号P0〜P3に応じて変化する。すなわち、分圧比Kの設定も、調整信号P0〜P3に応じて調整可能である。
【0128】
セレクタ回路163は、BIST回路152からの切換信号CHPに応答して、テストモード時には、BIST回路152によって生成された調整信号P0〜P3をリセット回路164を介して分圧回路162へ供給する。一方、テストモード時以外の実動作時には、プログラムメモリアレイ4にプログラムされた調整信号P0〜P3をリセット回路164を介して分圧回路162へ供給する。リセット回路164は、リセット動作時に、調整信号P0〜P3をデフォルト値に設定して分圧回路162へ供給する。一方、リセット動作時以外には、セレクタ回路163からの調整信号P0〜P3をそのまま分圧回路162に伝達する。
【0129】
次に、分圧回路162の構成ならびに分圧比の設定および調整について説明する。図13は、図12に示した分圧回路162およびリセット回路164の構成を詳細に示す回路図である。図13において、図12に示した固定抵抗回路167は電流源として動作し、ノードNdには、可変抵抗回路168の抵抗値ΣRに応じた基準電圧VREFが生成される。上述の分圧比Kを用いて、基準電圧VREFは下式(1)で示される。
【0130】
VREF=K・VCC (ただし、0<K<1)…(1)
可変抵抗回路168は、ノードNdと接地電位GNDのラインとの間に直列接続された抵抗素子181〜185と、抵抗素子181〜184に対応して設けられるバイパススイッチ186〜189を含む。
【0131】
抵抗素子181の抵抗値をRuとすると、抵抗素子182、183および184の電気抵抗は、それぞれ2Ru(Ruの2倍)、4Ruおよび8Ruである。さらに抵抗素子185の抵抗値はRBである。
【0132】
AND回路190〜193は、それぞれ調整信号P0〜P3およびリセット信号RSを受ける。AND回路190〜192の出力信号は、対応するバイパススイッチ186〜188のPチャネルMOSトランジスタ側のゲートに与えられるとともに、対応するインバータ194〜196を介して対応するバイパススイッチ186〜188のNチャネルMOSトランジスタ側のゲートに与えられる。AND回路193の出力信号は、バイパススイッチ189のNチャネルMOSトランジスタ側のゲートに与えられるとともに、インバータ197を介してバイパススイッチ189のPチャネルMOSトランジスタ側のゲートに与えられる。
【0133】
バイパススイッチ186〜189は、抵抗素子181〜184にそれぞれ並列に接続される。バイパススイッチ186は、AND回路190の出力信号が「L」レベル(“0”)のときにオンして、抵抗素子181のバイパス経路を形成する。一方で、バイパススイッチ186は、AND回路190の出力信号が「H」レベル(“1”)のときはオフされる。
【0134】
バイパススイッチ187,188は、バイパススイッチ186と同様に、対応するAND回路191,192が「L」レベルのときにオンして、抵抗素子182,183のバイパス経路をそれぞれ形成する。これに対して、バイパススイッチ189は、対応するAND回路193の出力信号が「H」レベルのときにオンして、抵抗素子184のバイパス経路を形成する。
【0135】
バイパススイッチ186〜189の各々によって形成されるバイパス経路の抵抗値は、Ruと比較して無視できるものとする。この結果、可変抵抗回路168の抵抗値ΣRは、4ビットの調整信号P0〜P3およびリセット信号RSに応答して、16段階に段階的に変化する。
【0136】
図14は、調整信号P0〜P3の設定と動作テスト結果例を示す概念図である。図14において、この概念図はリセット信号RSが「H」レベルの場合に調整レベルが変動する動作を示す。リセット信号RSが「L」レベルにされると、調整信号(P0,P1,P2,P3)が(0,0,0,0)、すなわち調整レベル“0”のデフォルト値に設定されるものとする。
【0137】
調整レベル“−8”のときには、調整信号(P0,P1,P2,P3)=(0,0,0,1)に設定されるので、バイパススイッチ186〜189の各々がオンする。この結果、抵抗値ΣR=RBに設定される。
【0138】
調整レベル“−7”から“−1”までは、調整レベルが1増えるごとに、調整信号P0〜P2が、P0を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣRは“RB+Ru”から“RB+7Ru”まで、+Ruずつ変化する。
【0139】
調整レベル“0”では、調整信号(P0,P1,P2,P3)=(0,0,0,0)に設定されるので、バイパススイッチ186〜188がオンして、バイパススイッチ189がオフする。この結果、抵抗値ΣR=RB+8Ruに設定される。
【0140】
調整レベル“+1”から“+7”までは、調整レベルが1増えるごとに、調整信号P0〜P2が、P0を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣRは“RB+9Ru”から“RB+15Ru”まで、+Ruずつ変化する。
【0141】
このようにして、可変抵抗回路168の抵抗値は、4ビットの調整信号P0〜P3に応答して、“RB”から“RB+15Ru”までの間で24=16段階に設定可能である。これにより、分圧回路162の分圧比Kも、調整信号P0〜P3に応じて16段階に設定可能である。
【0142】
再び図12を参照して、電圧比較器165は、分圧回路162によって生成された基準電圧VREFと内部電圧VBBとを比較する。具体的には、電圧比較器165は、基準電圧VREFが内部電圧VBBよりも低いときには、内部電圧VBBが目標値より高いと判断して出力信号のレベルを高くする。これに応じて、PチャネルMOSトランジスタ166の電圧降下が大きくなり、内部電圧VBBは低下する。一方、基準電圧VREFが内部電圧VBBよりも高いときには、内部電圧VBBが目標値よりも低いと判断して、出力信号のレベルを低くする。これに応じて、PチャネルMOSトランジスタ166の電圧降下が小さくなり、内部電圧VBBは上昇する。このようにして、内部電圧VBBが基準電圧VREFに近づくように制御される。
【0143】
次に、内部電圧制御に関するテストモードでの動作テスト構成を説明する。
分圧回路169は、チップ外部のプローブカード上やウェハ上またはメモリボード上などに配置される。分圧回路169は、分圧回路162と同様の構成であり、電源電位VCCのラインと接地電位GNDのラインとの間に直列接続された固定抵抗回路170および可変抵抗回路171を含む。この分圧回路169は、BIST回路152に同期した外部のテスタからのテスト制御信号TSTによって分圧比が制御され、外部テスト電圧VEXTを出力する。外部テスト電圧VEXTは、内部電圧VBBの目標値(たとえば設計値)に対応して設定される。この分圧回路169から出力される比較用の外部テスト電圧VEXTを他のチップにも供給することによって、ウェハ上の複数のチップで同時に動作テストを行なうことができる。
【0144】
内部電圧発生回路151は、さらに、電圧比較器173とラッチ回路174とを含む。電圧比較器173は、テストモード時に、BIST回路152からのテスト制御信号TCMPに応答して、分圧回路169から入力端子172を介して入力された比較用の外部テスト電圧VEXTと内部電圧VBBとを比較する。ラッチ回路174は、電圧比較器173からの電圧比較信号VCMPを一時的に保持する。
【0145】
この状態の下で、BIST回路152は、図14に示した調整レベル“−8”〜“+7”のそれぞれを実現するように、調整信号P0〜P3を段階的に変化させる。それぞれの調整レベルにおいて、内部電圧VBBと外部テスト電圧VEXTとの比較結果を示す電圧比較信号VCMPが監視される。これにより、実動作時に内部電圧VBBを目標値に調整するための、所望の調整信号P0〜P3の設定値を求めることができる。
【0146】
次に、上述した所望の調整信号P0〜P3を効率的に外部に出力するためのテスト構成について説明する。
【0147】
再び図12を参照して、テストメモリ153は、スイッチ回路175と、書込制御部176と、メモリ部177と、読出制御部178とを含む。スイッチ回路175は、ラッチ回路174と書込制御部176との間に設けられ、BIST回路152からのテスト制御信号TRAに応答して、ラッチ回路174に保持された電圧比較信号VCMPを書込制御部176へ伝達する。
【0148】
図15は、図12に示した書込制御部176の構成を示すブロック図である。図15において、書込制御部176は、ラッチ回路174に保持された電圧比較信号VCMPを一時的に保持するためのラッチ回路201,202と、ラッチ回路201,202の保持データの一致比較を実行するEX−OR回路203と、BIST回路152によって設定された調整信号P0〜P3を保持するラッチ回路204と、EX−OR回路203の出力信号に応答してラッチ回路204に保持された調整信号P0〜P3をメモリ部177へ書込む書込回路205とを含む。
【0149】
ラッチ回路204に保持される調整信号P0〜P3は、図14に示したそれぞれの調整レベルに対応して順次更新される。それぞれの調整レベルにおいて、テスト結果として得られた電圧比較信号VCMPは、調整レベルが変更されるごとに、ラッチ回路201および202へ交互に出力される。たとえば、調整レベル“−8”での電圧比較信号VCMPがラッチ回路201へ出力されると、次の調整レベル“−7”での電圧比較信号VCMPは、ラッチ回路202へ出力される。さらに次の調整レベル“−6”では、電圧比較信号VCMPはラッチ回路201へ出力され、ラッチ回路201の保持内容が更新される。
【0150】
図14には、このような動作テスト結果の一例が併せて示されている。再び図14を参照して、調整信号(P0,P1,P2,P3)=(0,0,0,1)に設定される調整レベル“−8”では分圧比Kが最小となり、調整信号P0,P1,P2,P3=(1,1,1,0)に設定される調整レベル“+7”では分圧比Kが最大となる。それらの中間の調整レベル“−7”〜“+6”では、調整レベルが1段階ずつ上昇するたびに、分圧比Kも大きくなる。
【0151】
なお、実動作時には、分圧比が小さいほど、すなわち基準電圧VREFが相対的に低くなるほど、内部電圧VBBはより低く設定される。
【0152】
テストモード時には、調整レベル“−8”〜“+7”を順に実現するように、調整信号P0〜P3を順次更新していく。内部電圧VBBを外部テスト電圧VEXT(すなわち、実動作時の目標値)と同じ値に設定するのに必要な分圧比が実現された調整レベルにおいて、電圧比較信号VCMPが「H」レベルから「L」レベルへ変化する。そして、その調整レベルにおいて、図15に示したEX−OR回路203の出力信号が「H」レベルに設定される。
【0153】
図14に示した動作テスト結果例では、調整レベル“−8”〜“−3”では、電圧比較信号VCMPは「H」レベルに設定され、調整レベル“−2”〜“+7”では、電圧比較信号VCMPは「L」レベルに設定される。したがって、EX−OR回路203の出力信号は、調整レベル“−2”では「H」レベルに設定され、それ以外の調整レベルでは、「L」レベルに設定される。
【0154】
なお、ラッチ回路201,202には、初期状態として「H」レベル(“1”)の信号を保持させておき、終了時には「L」レベル(“0”)の信号を保持させるものとする。
【0155】
この結果、図15に示した書込制御部176によって、調整レベル“−2”に対応する調整信号(P0,P1,P2,P3)=(1,0,1,1)がメモリ部177へ書込まれて記憶される。読出制御部178は、BIST回路152からのテスト制御信号TRBに応答して、メモリ部177に記憶された調整信号P0〜P3を動作テスト結果に基づいた内部電圧制御情報として出力端子179に与える。
【0156】
なお、メモリ部177がEX−OR回路203の出力信号を直接受けて記憶し、そのままの形式で外部に出力する構成にしてもよい。その場合は、メモリ部177で記憶された内部電圧制御情報をプログラムメモリアレイ4に記憶できる形式に外部で信号処理する。
【0157】
プログラムメモリアレイ4には、出力端子179に与えられた内部電圧制御情報を、実動作時における内部電圧VBBの設定に用いる調整信号(P0,P1,P2,P3)=(1,0,1,1)としてプログラムすることができる。この結果、内部電圧発生回路151は、実動作時において、内部電圧VBBをテストモード時の外部テスト電圧VEXTのレベルに近づくように制御することができる。
【0158】
なお、プログラムメモリアレイ4からのプログラムデータの読出動作は、図10に示したタイムチャートと同じシーケンスで行なわれ、リセット信号RSはプログラムデータの読出期間中「L」レベルに保持される。このプログラムデータの読出動作は、電源投入直後に限らず、実動作途中にプログラムデータを更新する場合などにも行なわれる。
【0159】
したがって、この実施の形態2では、プログラムデータの読出期間中にリセット動作を行なって内部電圧VBBをデフォルト値に設定し、実動作時にはプログラムデータに含まれる内部電圧制御情報に基づいて内部電圧VBBを調整する。このため、動作の安定性が高い半導体集積回路装置が実現できる。
【0160】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0161】
【発明の効果】
以上のように、この発明に係る半導体装置では、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第1のブロックと、半導体装置の制御に関するプログラムデータが格納される第2のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込/読出を行なう書込/読出回路と、書込/読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とが設けられる。これにより、第2のブロックを制御するために必要な制御線や駆動回路を第1のブロックと共有することできる。したがって、第1のブロックと第2のブロックとが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積が小さな半導体装置が実現できる。
【図面の簡単な説明】
【図1】この発明の実施の形態1による半導体集積回路装置の概略構成を示すブロック図である。
【図2】MTJメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【図3】MTJメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。
【図4】図1に示した半導体集積回路装置の読出系を説明するためのブロック図である。
【図5】図1に示した半導体集積回路装置の書込系を説明するためのブロック図である。
【図6】図4および図5に示した構成をより具体的に示した回路図である。
【図7】図6に示した選択増幅部の構成を示す回路図である。
【図8】図7に示した切換回路の構成をより詳細に示す回路図である。
【図9】半導体集積回路装置の正規メモリセルの書込/読出動作を説明するためのタイムチャートである。
【図10】半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【図11】この発明の実施の形態2による内部電圧制御回路の構成を示すブロック図である。
【図12】図11に示した内部電圧制御回路を用いてMRAMデバイスの内部電圧を制御する構成を示す回路図である。
【図13】図12に示した分圧回路およびリセット回路の構成を詳細に示す回路図である。
【図14】調整信号P0〜P3の設定と動作テスト結果例を示す概念図である。
【図15】図12に示した書込制御部の構成を示すブロック図である。
【符号の説明】
1 コントロール回路、2 正規メモリアレイ、3 スぺアメモリアレイ、4プログラムメモリアレイ、5 正規行デコーダ、6 プログラム行デコーダ、7列デコーダ、8 書込/読出制御回路、9 選択増幅部、10 多数決論理回路、11 プログラムレジスタ、12 一致検出回路、13 スペア制御回路、14 内部電圧制御回路、15 タイミング制御回路、16 出力回路、21〜23 正規メモリセルブロック、24〜26 リファレンスセルコラム、27〜29 スペアメモリセルコラム、30〜32 プログラムメモリセルブロック、33〜39 セレクタ、40〜45 接続部、51 選択部、52 増幅部、53〜55 センスアンプ、61〜69 ライトドライバ、70 分配回路、71〜78,81〜88,111〜114 NチャネルMOSトランジスタ、91,101〜104,132〜134 接続ゲート、105,141 論理回路、121〜126 切換回路、131 デコーダ、142,143,190〜193AND回路、151 内部電圧発生回路、152 BIST回路、153 テストメモリ、161 内部回路群、162,169 分圧回路、163 セレクタ回路、164 リセット回路、165,173 電圧比較器、166 PチャネルMOSトランジスタ、167,170固定抵抗回路、168,171 可変抵抗回路、172 入力端子、174,201,202,204 ラッチ回路、175 スイッチ回路、176 書込制御部、177 メモリ部、178 読出制御部、179 出力端子、181〜185 抵抗素子、186〜189 バイパススイッチ、194〜197 インバータ、203 EX−OR回路、205書込回路。
Claims (8)
- 半導体装置であって、
複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第1のブロックと、前記半導体装置の制御に関するプログラムデータが格納される第2のブロックとに分割されたメモリアレイ、
アドレス信号に従って前記複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路、
前記選択回路によって選択されたメモリ回路のデータの書込/読出を行なう書込/読出回路、
前記書込/読出回路によって読出されたプログラムデータを記憶するレジスタ、および
前記レジスタに記憶されたプログラムデータに従って前記半導体装置を制御する制御回路を備える、半導体装置。 - さらに、前記第1のブロックに属する複数のメモリ回路のうちの不良なメモリ回路と置換するための複数のスペアメモリ回路を含むスペアメモリアレイを備え、
前記プログラムデータは、前記不良なメモリ回路のアドレス信号を含み、
前記制御回路は、外部から与えられたアドレス信号と前記レジスタに記憶されたプログラムデータに含まれるアドレス信号とが一致しているか否かを判定し、一致したことに応じて一致検出信号を出力する一致検出回路を含み、
前記選択回路は、前記一致検出回路から一致検出信号が出力されたことに応じて、前記外部から与えられたアドレス信号に対応するメモリ回路の代わりに前記スペアメモリ回路を選択し、
前記書込/読出回路は、前記選択回路によって選択されたスペアメモリ回路のデータの書込/読出を行なう、請求項1に記載の半導体装置。 - 前記書込/読出回路は、
前記第1および第2のブロックに属する前記複数のメモリ回路のうちの選択されたメモリ回路のデータの読出を行なう第1の読出回路、および
前記スペアメモリ回路のデータの読出を行なう第2の読出回路を含み、
前記第2の読出回路は、前記プログラムデータの読出期間には非活性化される、請求項2に記載の半導体装置。 - 前記メモリアレイは、
複数行複数列に配置され、各々がトンネル磁気抵抗素子を含む複数のメモリセル、
それぞれ前記複数行に対応して設けられた複数のワード線、
それぞれ前記複数行に対応して設けられた複数のディジット線、および
それぞれ前記複数列に対応して設けられた複数のビット線を含み、
各行のワード線およびディジット線は、前記第1および第2のブロックのいずれか1つのブロックに属し、
各列のビット線は、前記第1および第2のブロックに共用され、
前記第1のブロックの各メモリ回路は1つのメモリセルを含み、
前記第2のブロックの各メモリ回路は、同じ行の隣接する2つのメモリセルを含み、
前記スペアメモリアレイは、
前記複数のワード線および前記複数のディジット線と交差して設けられた2本のスペアビット線、および
前記第1のブロックに属する各ワード線およびディジット線と各スペアビット線との各交差部に設けられ、各々がトンネル磁気抵抗素子を含む複数のスペアメモリセルを含み、
同じ行の隣接する2つのスペアメモリセルは、前記スペアメモリ回路を構成する、請求項2または請求項3に記載の半導体装置。 - さらに、出力電圧の制御が可能な内部電圧発生回路を備え、前記制御回路は、前記レジスタに記憶されたプログラムデータに含まれる内部電圧設定信号に従って前記内部電圧発生回路の出力電圧を設定する、請求項1に記載の半導体装置。
- 前記制御回路は、少なくとも前記プログラムデータの読出期間は、前記内部電圧発生回路の出力電圧を予め定められた電圧に設定する、請求項5に記載の半導体装置。
- 前記メモリアレイは、
複数行複数列に配置され、各々がトンネル磁気抵抗素子を含む複数のメモリセル、
それぞれ前記複数行に対応して設けられた複数のワード線、
それぞれ前記複数行に対応して設けられた複数のディジット線、および
それぞれ前記複数列に対応して設けられた複数のビット線を含み、
各行のワード線およびディジット線は、前記第1および第2のブロックのいずれか1つのブロックに属し、
各列のビット線は、前記第1および第2のブロックに共用され、
前記第1のブロックの各メモリ回路は1つのメモリセルを含み、
前記第2のブロックの各メモリ回路は、同じ行の隣接する2つのメモリセルを含む、請求項5または請求項6に記載の半導体装置。 - 前記第2のブロックは、各々に同一のプログラムデータが格納される複数のサブブロックに分割され、
前記半導体装置は、前記プログラムデータの読出時に、前記複数のサブブロックから読出された複数のプログラムデータに基づいてどのプログラムデータが正しいかを判定し、正しいと判定したプログラムデータを出力する判定出力回路をさらに備える、請求項1に記載の半導体装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003195877A JP2005032336A (ja) | 2003-07-11 | 2003-07-11 | 半導体装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003195877A JP2005032336A (ja) | 2003-07-11 | 2003-07-11 | 半導体装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005032336A true JP2005032336A (ja) | 2005-02-03 |
Family
ID=34206577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003195877A Pending JP2005032336A (ja) | 2003-07-11 | 2003-07-11 | 半導体装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005032336A (ja) |
-
2003
- 2003-07-11 JP JP2003195877A patent/JP2005032336A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9536621B2 (en) | Nonvolatile memory | |
US7061800B2 (en) | Nonvolatile semiconductor memory device having improved redundancy relieving rate | |
JP4834040B2 (ja) | Mramアーキテクチャ及びシステム | |
US7362644B2 (en) | Configurable MRAM and method of configuration | |
US8625339B2 (en) | Multi-cell per memory-bit circuit and method | |
US7126845B2 (en) | Memory device capable of performing high speed reading while realizing redundancy replacement | |
US7110290B2 (en) | Thin film magnetic memory device storing program information efficiently and stably | |
US20040062074A1 (en) | Nonvolatile memory device with configuration switching the number of memory cells used for one-bit data storage | |
JP4637388B2 (ja) | 薄膜磁性体記憶装置 | |
US7167389B2 (en) | Magnetic random access memory with a reference cell array and dummy cell arrays | |
JP2010146665A (ja) | 抵抗変化型不揮発性半導体メモリ | |
US10410733B2 (en) | Memory device and controlling method thereof | |
JP2013089279A (ja) | 抵抗性メモリ装置、そのレイアウト構造及びセンシング回路 | |
KR20130021760A (ko) | 자기터널접합 브레이크 다운을 이용한 안티퓨즈 회로, 및 이를 포함하는 반도체 장치 | |
US6778434B2 (en) | Magnetic random access memory device with a reduced number of interconnections for selection of address | |
JP2004185752A (ja) | 薄膜磁性体記憶装置 | |
JP4131923B2 (ja) | 磁気ランダムアクセスメモリ | |
JP2005032336A (ja) | 半導体装置 | |
US20230025357A1 (en) | Semiconductor device and semiconductor system | |
JP2008293658A (ja) | 薄膜磁性体記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090409 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090421 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090825 |