(57)【要約】【課題】レイアウト面積の小さな半導体装置を提供する。【解決手段】この半導体装置では、プログラムデータを記憶するためのプログラムメモリセルブロック３０と、通常のデータを記憶するための正規メモリセルブロック２１とを同じメモリアレイに配置する。これにより、プログラムメモリセルブロック３０を制御するために必要な制御線や駆動回路を正規メモリセルブロック２１と共有することができる。このため、プログラムメモリセルブロック３０と正規メモリセルブロック２１とが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積の小さな半導体装置が実現できる。【選択図】        図６
2005032336.tif 000002
【特許請求の範囲】
【請求項１】
半導体装置であって、
複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第１のブロックと、前記半導体装置の制御に関するプログラムデータが格納される第２のブロックとに分割されたメモリアレイ、
アドレス信号に従って前記複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路、
前記選択回路によって選択されたメモリ回路のデータの書込／読出を行なう書込／読出回路、
前記書込／読出回路によって読出されたプログラムデータを記憶するレジスタ、および
前記レジスタに記憶されたプログラムデータに従って前記半導体装置を制御する制御回路を備える、半導体装置。
【請求項２】
さらに、前記第１のブロックに属する複数のメモリ回路のうちの不良なメモリ回路と置換するための複数のスペアメモリ回路を含むスペアメモリアレイを備え、
前記プログラムデータは、前記不良なメモリ回路のアドレス信号を含み、
前記制御回路は、外部から与えられたアドレス信号と前記レジスタに記憶されたプログラムデータに含まれるアドレス信号とが一致しているか否かを判定し、一致したことに応じて一致検出信号を出力する一致検出回路を含み、
前記選択回路は、前記一致検出回路から一致検出信号が出力されたことに応じて、前記外部から与えられたアドレス信号に対応するメモリ回路の代わりに前記スペアメモリ回路を選択し、
前記書込／読出回路は、前記選択回路によって選択されたスペアメモリ回路のデータの書込／読出を行なう、請求項１に記載の半導体装置。
【請求項３】
前記書込／読出回路は、
前記第１および第２のブロックに属する前記複数のメモリ回路のうちの選択されたメモリ回路のデータの読出を行なう第１の読出回路、および
前記スペアメモリ回路のデータの読出を行なう第２の読出回路を含み、
前記第２の読出回路は、前記プログラムデータの読出期間には非活性化される、請求項２に記載の半導体装置。
【請求項４】
前記メモリアレイは、
複数行複数列に配置され、各々がトンネル磁気抵抗素子を含む複数のメモリセル、
それぞれ前記複数行に対応して設けられた複数のワード線、
それぞれ前記複数行に対応して設けられた複数のディジット線、および
それぞれ前記複数列に対応して設けられた複数のビット線を含み、
各行のワード線およびディジット線は、前記第１および第２のブロックのいずれか１つのブロックに属し、
各列のビット線は、前記第１および第２のブロックに共用され、
前記第１のブロックの各メモリ回路は１つのメモリセルを含み、
前記第２のブロックの各メモリ回路は、同じ行の隣接する２つのメモリセルを含み、
前記スペアメモリアレイは、
前記複数のワード線および前記複数のディジット線と交差して設けられた２本のスペアビット線、および
前記第１のブロックに属する各ワード線およびディジット線と各スペアビット線との各交差部に設けられ、各々がトンネル磁気抵抗素子を含む複数のスペアメモリセルを含み、
同じ行の隣接する２つのスペアメモリセルは、前記スペアメモリ回路を構成する、請求項２または請求項３に記載の半導体装置。
【請求項５】
さらに、出力電圧の制御が可能な内部電圧発生回路を備え、前記制御回路は、前記レジスタに記憶されたプログラムデータに含まれる内部電圧設定信号に従って前記内部電圧発生回路の出力電圧を設定する、請求項１に記載の半導体装置。
【請求項６】
前記制御回路は、少なくとも前記プログラムデータの読出期間は、前記内部電圧発生回路の出力電圧を予め定められた電圧に設定する、請求項５に記載の半導体装置。
【請求項７】
前記メモリアレイは、
複数行複数列に配置され、各々がトンネル磁気抵抗素子を含む複数のメモリセル、
それぞれ前記複数行に対応して設けられた複数のワード線、
それぞれ前記複数行に対応して設けられた複数のディジット線、および
それぞれ前記複数列に対応して設けられた複数のビット線を含み、
各行のワード線およびディジット線は、前記第１および第２のブロックのいずれか１つのブロックに属し、
各列のビット線は、前記第１および第２のブロックに共用され、
前記第１のブロックの各メモリ回路は１つのメモリセルを含み、
前記第２のブロックの各メモリ回路は、同じ行の隣接する２つのメモリセルを含む、請求項５または請求項６に記載の半導体装置。
【請求項８】
前記第２のブロックは、各々に同一のプログラムデータが格納される複数のサブブロックに分割され、
前記半導体装置は、前記プログラムデータの読出時に、前記複数のサブブロックから読出された複数のプログラムデータに基づいてどのプログラムデータが正しいかを判定し、正しいと判定したプログラムデータを出力する判定出力回路をさらに備える、請求項１に記載の半導体装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は半導体装置に関し、特に、半導体装置の制御に関するプログラムデータを記憶するプログラムメモリアレイを備える半導体装置に関する。
【０００２】
【従来の技術】
半導体装置において、製造プロセスによりメモリセルの素子の仕上がりにばらつきが生じた場合、システムが誤動作を起こす可能性がある。そこで、チップ内の不良メモリセルの使用を回避する方法として、不良メモリセルを置換するためのスペアメモリセルを設けておく場合が多い。
【０００３】
データ記憶を実行するための半導体装置においては、データ記憶形式は種々の形態がとられる。不良メモリセルのアドレスを記憶するためにレーザーヒューズを用いると、レーザー溶断装置が必要となってしまう。そこで、レーザー溶断装置を必要とせず、不揮発的にデータを記憶することが可能なデバイスとして、フラッシュメモリ、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）デバイスやＯＵＭ（Ｏｖｏｎｉｃ  Ｕｎｉｆｉｅｄ  Ｍｅｍｏｒｉｅｓ）デバイスなどの不揮発性半導体記憶装置がある。
【０００４】
従来の不揮発性半導体記憶装置では、効率のよい冗長構成によりフラッシュメモリセルの使用効率を向上させたものが提案されている。この場合、ヒューズやフラッシュメモリセルによって形成される冗長アドレス記憶部が、不良セルブロックのアドレスを記憶する（たとえば、特許文献１参照）。
【０００５】
ＭＲＡＭデバイスは、半導体集積回路上に形成された複数の薄膜磁性体を用いて不揮発的なデータ記憶を行ない、薄膜磁性体の各々に対してランダムアクセスすることが可能なメモリデバイスである。特に、近年では磁気トンネル接合（ＭＴＪ：Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ）を利用した薄膜磁性体をメモリセル（以下、ＭＴＪメモリセルとも称する）として用いることによって、ＭＲＡＭデバイスの性能が飛躍的に進歩することが発表されている。ＭＴＪメモリセルは、データ書込電流によって生じた磁界によって、書込データに応じた方向に磁化されてデータ記憶を実行する（たとえば、非特許文献１参照）。
【０００６】
【特許文献１】
特開２００３−３６６９２２号公報
【０００７】
【非特許文献１】
Ｒｏｙ  Ｓｃｈｅｕｅｒｌｅｉｎ、他６名，“Ａ  １０ｎｓ  Ｒｅａｄ  ａｎｄ  Ｗｒｉｔｅ  Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｍｅｍｏｒｙ  Ａｒｒａｙ  Ｕｓｉｎｇ  ａ  Ｍａｇｎｅｔｉｃ  Ｔｕｎｎｅｌ  Ｊｕｎｃｔｉｏｎ  ａｎｄ  ＦＥＴ  Ｓｗｉｔｃｈ  ｉｎ  ｅａｃｈ  Ｃｅｌｌ”，  ＩＳＳＣＣ  Ｄｉｇｅｓｔ  ｏｆ  Ｔｅｃｈｎｉｃａｌ  Ｐａｐｅｒｓ，  Ｆｅｂ．  ２０００，  ＴＡ７．２，ｐ．９４−９５，１２８−１２９，４０９
【０００８】
【発明が解決しようとする課題】
科学技術の進歩に伴い、より小面積の半導体装置が望まれている。しかし、上記特許文献１による不揮発性半導体記憶装置では、不良セルブロックを記憶する冗長アドレス記憶部が通常のデータを記憶するメモリセルアレイとは別のアレイに設けられていたため、チップ面積の使用効率が悪かった。
【０００９】
それゆえに、この発明の主たる目的は、レイアウト面積の小さな半導体装置を提供することである。
【００１０】
【課題を解決するための手段】
この発明に係る半導体装置は、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第１のブロックと、半導体装置の制御に関するプログラムデータが格納される第２のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込／読出を行なう書込／読出回路と、書込／読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とを備えたものである。
【００１１】
【発明の実施の形態】
［実施の形態１］
図１は、この発明の実施の形態１による半導体集積回路装置の概略構成を示すブロック図である。図１において、この半導体集積回路装置は、コントロール回路１、正規メモリアレイ２、スぺアメモリアレイ３、プログラムメモリアレイ４、正規行デコーダ５、プログラム行デコーダ６、列デコーダ７、書込／読出制御回路８、選択増幅部９、多数決論理回路１０、プログラムレジスタ１１、一致検出回路１２、スペア制御回路１３、内部電圧制御回路１４、タイミング制御回路１５および出力回路１６を備える。
【００１２】
この半導体集積回路装置は、外部からの制御信号ＣＭＤおよびアドレス信号ＡＤＤに応答してランダムアクセスを行ない、書込データＤＩＮの入力および読出データＤＡＴの出力を行なう。
【００１３】
コントロール回路１は、制御信号ＣＭＤに応じて半導体集積回路装置の全体動作を制御する。正規メモリアレイ２、スぺアメモリアレイ３およびプログラムメモリアレイ４は、行列上に配置されたＭＴＪメモリセルＭＣを含み、ＭＴＪメモリセルＭＣの行の各々に対応してワード線ＷＬおよびライトディジット線ＷＤＬが配置される。また、ＭＴＪメモリセルＭＣの列の各々に対応してビット線ＢＬおよびソース線ＳＬが配置される。図１においては、１つのＭＴＪメモリセルＭＣと、これに対応するワード線ＷＬ、ライトディジット線ＷＤＬ、ビット線ＢＬおよびソース線ＳＬの配置が代表的に示されている。スぺアメモリアレイ３には、正規メモリアレイ２の不良メモリセルを救済するためのＭＴＪメモリセルＭＣが配置される。プログラムメモリアレイ４には、正規メモリアレイ２の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶するためのＭＴＪメモリセルＭＣが配置される。
【００１４】
なお、正規メモリアレイ２、スぺアメモリアレイ３およびプログラムメモリアレイ４の配置は任意である。たとえば、正規メモリアレイ２の左側にプログラムメモリアレイ４を配置してもよい。通常は、正規メモリセルの数が多いためこのように正規メモリアレイ２の端にスぺアメモリアレイ３およびプログラムメモリアレイ４を配置する。ただし、不良メモリセルがメモリアレイの端に発生する可能性が高いことが懸念される場合には、正規メモリアレイ２の内部にスぺアメモリアレイ３またはプログラムメモリアレイ４を配置してもよい。しかし、正規メモリアレイ２の内部にスぺアメモリアレイ３またはプログラムメモリアレイ４を配置すると回路の構成および制御が複雑になるため、通常は正規メモリアレイ２の端にスぺアメモリアレイ３およびプログラムメモリアレイ４を配置する。
【００１５】
正規行デコーダ５は、アドレス信号ＡＤＤによって示されるロウアドレスＲＡをデコードして、正規メモリアレイ２およびスぺアメモリアレイ３における行選択を実行する。プログラム行デコーダ６は、プログラムアレイアクセス信号ＰＡＡが活性化レベルにされたことに応じて活性化され、アドレス信号ＡＤＤによって示されるロウアドレスＲＡをデコードして、プログラムメモリアレイ４における行選択を実行する。列デコーダ７は、アドレス信号ＡＤＤによって示されるコラムアドレスＣＡをデコードして、正規メモリアレイ２およびプログラムメモリアレイ４における列選択を実行する。
【００１６】
書込／読出制御回路８は、外部から入力された書込データＤＩＮの書込時においてビット線ＢＬにデータ書込電流を流すための回路、および各メモリアレイからのデータ読出時においてビット線ＢＬにデータ読出電流を流すための回路を総称したものである。
【００１７】
選択増幅部９は、制御信号ＲＣＯＮに応じて、書込／読出制御回路８から伝達された読出データを選択および増幅し、読出データＤＡＴを出力する。また、外部からのリセット信号ＲＳに応答してリセット動作を行なう。
【００１８】
多数決論理回路１０は、プログラムメモリアレイ４から書込／読出制御回路８および選択増幅部９を介して伝達されたプログラムデータの多数決をとって正しいデータを判定して出力するとともに、シリアル／パラレル変換を行なう。プログラムメモリアレイ４には、複数の領域に同一のプログラムデータが格納される。これにより、たとえプログラムメモリアレイ４に不良メモリセルがあった場合でも、１ビット程度の不良であれば複数の領域から読出された同一のプログラムデータの多数決をとることによって正しいデータを判定することができる。
【００１９】
プログラムレジスタ１１は、多数決論理回路１０からのプログラムデータを記憶する。プログラムデータは、プログラムレジスタ１１の記憶容量に応じて複数回繰返して読出され、読出された順にプログラムレジスタ１１に格納されていく。たとえば、１回の読出動作で３ビットのプログラムデータがプログラムレジスタ１１に格納される場合、プログラムレジスタ１１の記憶容量が９０ビットであれば読出動作が３０回繰返される。プログラムレジスタ１１は、一致検出回路１２、内部電圧制御回路１４、タイミング制御回路１５および出力回路１６に、それぞれ対応するプログラムデータを与える。
【００２０】
一致検出回路１２は、プログラムデータに含まれる不良アドレス情報と外部からのアドレス信号ＡＤＤとの比較を行ない、比較結果に基づいて一致検出信号を出力する。スペア制御回路１３は、一致検出回路１２からの一致検出信号に応じて、正規メモリアレイ２の不良メモリセルをスペアメモリアレイ３のスペアメモリセルで置換する動作を制御するための制御信号ＲＣＯＮを出力する。
【００２１】
内部電圧制御回路１４は、プログラムデータに含まれる内部電圧制御情報に基づいて、内部回路の電源電圧を制御する。タイミング制御回路１５は、プログラムデータに含まれるタイミング情報に基づいて、動作モードの変化に対応した内部タイミングの制御を行なう。
【００２２】
出力回路１６は、プログラムデータに含まれる制御情報に応じて、同一チップ内に混在されるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、Ａ／Ｄ（Ａｎａｌｏｇ  ｔｏ  Ｄｉｇｉｔａｌ）変換器、Ｄ／Ａ（Ｄｉｇｉｔａｌ  ｔｏ  Ａｎａｌｏｇ）変換器などの各モジュールの制御を行なうための信号を出力する。この場合、不揮発性メモリモジュールから外部のモジュールに信号を伝達するための経路を構成する。これにより、たとえばＡ／Ｄ変換器やＤ／Ａ変換器を１０ビットから１２ビットに変更したり、ＣＰＵに接続されるＳＲＡＭのバスサイズを変更したりすることができる。内部電圧制御回路１４、タイミング制御回路１５および出力回路１６は、外部からのリセット信号ＲＳに応答してリセット動作を行なう。
【００２３】
ここで、ＭＴＪメモリセルＭＣの構成およびデータ記憶原理について説明しておく。図２は、ＭＴＪメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【００２４】
図２において、トンネル磁気抵抗素子ＴＭＲは、固定された一定の磁化方向を有する強磁性体層（以下、単に「固定磁化層」とも称する）ＦＬと、外部からの印加磁界に応じた方向に磁化可能な強磁性体層（以下、単に「自由磁化層」とも称する）ＶＬとを有する。固定磁化層ＦＬおよび自由磁化層ＶＬの間には、絶縁体膜で形成されるトンネルバリア（トンネル膜）ＴＢが設けられる。自由磁化層ＶＬは、書込まれる記憶データのレベルに応じて、固定磁化層ＦＬと同一方向または固定磁化層ＦＬと反対方向に磁化される。これらの固定磁化層ＦＬ、トンネルバリアＴＢおよび自由磁化層ＶＬによって磁気トンネル接合が形成される。
【００２５】
トンネル磁気抵抗素子ＴＭＲの電気抵抗は、固定磁化層ＦＬおよび自由磁化層ＶＬのそれぞれの磁化方向の相対関係に応じて変化する。具体的には、トンネル磁気抵抗素子ＴＭＲの電気抵抗は、固定磁化層ＦＬの磁化方向と自由磁化層ＶＬの磁化方向とが同じ（平行）である場合に最小値Ｒｍｉｎとなり、両者の磁化方向が反対（反平行）である場合に最大値Ｒｍａｘとなる。
【００２６】
データ書込時においては、ワード線ＷＬが非活性化されて、アクセストランジスタＡＴＲはターンオフされる。この状態で、自由磁化層ＶＬを磁化するためのデータ書込磁界Ｈ（ＢＬ）およびＨ（ＷＤＬ）は、ビット線ＢＬおよびライトディジット線ＷＤＬを流れるデータ書込電流によってそれぞれ発生される。特に、ビット線ＢＬ上のデータ書込電流は、書込データのレベルに応じて、＋Ｉｗおよび−Ｉｗのいずれかの方向に流される。
【００２７】
図３は、ＭＴＪメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。図３において、横軸Ｈ（ＥＡ）は、トンネル磁気抵抗素子ＴＭＲ内の自由磁化層ＶＬにおいて磁化容易軸（ＥＡ：Ｅａｓｙ  Ａｘｉｓ）方向に印加される磁界を示す。一方、縦軸Ｈ（ＨＡ）は、自由磁化層ＶＬにおいて磁化困難軸（ＨＡ：Ｈａｒｄ  Ａｘｉｓ）方向に作用する磁界を示す。磁界Ｈ（ＥＡ）およびＨ（ＨＡ）は、図２に示したデータ書込磁界Ｈ（ＢＬ）およびＨ（ＷＤＬ）にそれぞれ対応する。
【００２８】
ＭＴＪメモリセルにおいては、固定磁化層ＦＬの固定された磁化方向は、自由磁化層ＶＬの磁化容易軸に沿っており、自由磁化層ＶＬは、記憶データのレベルに応じて、磁化容易軸方向に沿って、固定磁化層ＦＬと平行あるいは反平行（反対）方向に磁化される。ＭＴＪメモリセルは、自由磁化層ＶＬの２通りの磁化方向と対応させて、１ビットのデータを記憶することができる。
【００２９】
自由磁化層ＶＬの磁化方向は、印加される磁界Ｈ（ＥＡ）およびＨ（ＨＡ）の和が、図３に示されるアステロイド特性線の外側の領域に達する場合においてのみ新たに書換えることができる。すなわち、印加されたデータ書込磁界がアステロイド特性線の内側の領域に相当する強度である場合には、自由磁化層ＶＬの磁化方向は変化しない。
【００３０】
アステロイド特性線に示されるように、自由磁化層ＶＬに対して磁化困難軸方向の磁界を印加することによって、磁化容易軸に沿った磁化方向を変化させるのに必要な磁化しきい値を下げることができる。図３に示すように、データ書込時の動作点は、ライトディジット線ＷＤＬとビット線ＢＬとの両方に所定のデータ書込電流を流したときに、ＭＴＪメモリセルの記憶データ、すなわちトンネル磁気抵抗素子ＴＭＲの磁化方向を書換えられるように設計される。
【００３１】
図３に例示された動作点では、データ書込対象であるＭＴＪメモリセルにおいて、磁化容易軸方向のデータ書込磁界は、その強度がＨＷＲとなるように設計される。すなわち、このデータ書込磁界ＨＷＲが得られるように、ビット線ＢＬまたはライトディジット線ＷＤＬを流されるデータ書込電流の値が設計される。一般的に、データ書込磁界ＨＷＲは、磁化方向の切換えに必要なスイッチング磁界ＨＳＷと、マージン分ΔＨとの和で示される。すなわち、ＨＷＲ＝ＨＳＷ＋ΔＨで示される。
【００３２】
トンネル磁気抵抗素子ＴＭＲに一旦書込まれた磁化方向、すなわちＭＴＪメモリセルの記憶データは、新たなデータ書込が実行されるまでの間不揮発的に保持される。
【００３３】
図４は、図１に示した半導体集積回路装置の読出系を説明するためのブロック図である。図４において、正規メモリアレイ２は、正規メモリセルブロック２１〜２３と、リファレンスセルコラム２４〜２６とを含む。正規メモリセルブロック２１〜２３から読出されるデータは、リファレンスセルコラム２４〜２６に保持されているハイレベルとローレベルの中間に相当する参照値とそれぞれ比較され、比較結果に基づいてそれらの論理レベルが判断される。
【００３４】
スぺアメモリアレイ３は、スペアメモリセルコラム２７〜２９を含む。スペアメモリセルコラムに含まれるメモリセルは、２メモリセルあたり１ビットを記憶する。１メモリセルで１ビットを記憶する正規メモリセルよりも、スペアメモリセル部分の信頼性の向上が図られている。
【００３５】
プログラムメモリアレイ４は、プログラムメモリセルブロック（ＰＢ）３０〜３２を含む。プログラムメモリセルブロックに含まれるメモリセルも、高信頼性を確保するため２メモリセルで１ビットを記憶する。
【００３６】
正規メモリセルブロック２１〜２３およびプログラムメモリセルブロック３０〜３２にそれぞれ対応してセレクタ３３〜３５が設けられる。リファレンスセルコラム２４〜２６に対応してセレクタ３６〜３８が設けられる。また、セレクタ３３，３６に対応してＩＯ線対ＩＯＰ１が設けられ、セレクタ３４，３７に対応してＩＯ線対ＩＯＰ２が設けられ、セレクタ３５，３８に対応してＩＯ線対ＩＯＰ３が設けられる。
【００３７】
正規メモリセルブロックからデータを読出す場合は、セレクタ３３の出力線は接続部４０によってＩＯ線対ＩＯＰ１のいずれか一方のＩＯ線に接続され、セレクタ３６の出力線は接続部４１によってＩＯ線対ＩＯＰ１のいずれか他方のＩＯ線に接続される。セレクタ３４の出力線は接続部４２によってＩＯ線対ＩＯＰ２のいずれか一方のＩＯ線に接続され、セレクタ３７の出力線は接続部４３によってＩＯ線対ＩＯＰ２のいずれか他方のＩＯ線に接続される。セレクタ３５の出力線は接続部４４によってＩＯ線対ＩＯＰ３のいずれか一方のＩＯ線に接続され、セレクタ３８の出力線は接続部４５によってＩＯ線対ＩＯＰ３のいずれか他方のＩＯ線に接続される。
【００３８】
一方、プログラムメモリセルブロックからデータを読出す場合は、２つのプログラムメモリセルで１ビットを記憶するため、セレクタ３３の２本の出力線が接続部４０によってＩＯ線対ＩＯＰ１に接続され、セレクタ３６の出力線はＩＯ線対ＩＯＰ１接続されない。セレクタ３４の２本の出力線は接続部４２によってＩＯ線対ＩＯＰ２に接続され、セレクタ３７の出力線はＩＯ線対ＩＯＰ２に接続されない。セレクタ３５の２本の出力線は接続部４４によってＩＯ線対ＩＯＰ３に接続され、セレクタ３８の出力線はＩＯ線対ＩＯＰ３に接続されない。
【００３９】
なお、図４では、３つの正規メモリセルブロックおよび３つのプログラムメモリセルブロック、それらに対応する３つのＩＯ線対が設けられている場合が示されているが、正規メモリセルブロックおよびプログラムメモリセルブロックの数と対応するＩＯ線対の数が同じであれば、これらの数は３つよりも多くても少なくてもよい。
【００４０】
スペアメモリセルコラム２７〜２９の一部がセレクタ３９によって選択される。セレクタ３９は、図１のスペア制御回路１３から出力される制御信号ＲＣＯＮに応じて、３つのスペアメモリセルコラムのうちの２つを選択する。選択された２つのスペアメモリセルは、スペアメモリセルのデータ伝達のために専用に設けられる２組のＩＯ線対ＩＯＰ４，ＩＯＰ５に接続される。
【００４１】
スペアメモリセルコラムは、１ビットを２つのメモリセルで記憶する。各スペアメモリセルコラムごとにスペアビット線ＳＢＬが２本設けられる。３つのスペアメモリセルコラムからまず２つのスペアメモリセルコラムがセレクタ３９で選択されて、スペア専用のＩＯ線対ＩＯＰ４，ＩＯＰ５に接続される。セレクタ３９での選択は、スペア制御回路１３から出力される制御信号ＲＣＯＮによって行なわれる。
【００４２】
なお、スペアメモリセルコラムの数とスペア専用のＩＯ線対の数とを等しくすれば、セレクタ３９は設けなくてもよい。この場合、スぺアメモリアレイ３からのデータは、すべて選択部５１までは出力されることになる。このようにすればビット線出力部のセレクタ部に冗長判定の結果を適用する必要がなく動作の高速化が望める場合もある。
【００４３】
ただし、実施の形態１では、セレクタ３９を設けてＩＯ線対に接続する際に３つのスペアメモリセルコラムのうちから２つのメモリセルコラムを選択する。この理由は、ＩＯ線対の数が多くなると、ＩＯ線対を設けることによる面積増大が問題となるからである。
【００４４】
図４におけるセレクタ３３〜３９および接続部４０〜４５は、図１の書込／読出制御回路８の一部に相当する。このようにして合計５対のＩＯ線対に選択されたメモリセルが接続される。
【００４５】
５対のＩＯ線対ＩＯＰ１〜ＩＯＰ５は、選択増幅部９に接続されている。選択増幅部９は、制御信号ＲＣＯＮおよびリセット信号ＲＳに応じて５つのＩＯ線対ＩＯＰ１〜ＩＯＰ５から３つを選択する選択部５１と、選択部５１によって選択されたＩＯ線対に接続されるメモリセルのデータを読出すためのセンスアンプ５３〜５５とを含む。センスアンプの数は、必要な読出データＤＡＴの数に等しい３個だけ設けられている。
【００４６】
制御信号ＲＣＯＮに従って、正規メモリセルブロックの不良メモリセルが接続されるＩＯ線対、および必要のないスペアビット線ＳＢＬに接続されるＩＯ線対は、センスアンプ５３〜５５には接続されない。
【００４７】
センスアンプ５３〜５５は、接続されるメモリセルが正規メモリセルである場合は、対応するリファレンスセルコラムに存在する参照用のメモリセルにも接続され、これらの２つのメモリセルに流れ込む電流値を比較する。
【００４８】
センスアンプ５３〜５５は、接続されるメモリセルがプログラムメモリセルまたはスペアメモリセルである場合は、相補な２つのメモリセルに流れ込む電流値を比較する。
【００４９】
以上のように、プログラムメモリセルブロックを制御するために必要な制御線や駆動回路を正規メモリセルブロックと共有することにより、チップの面積を効率的に使用することができる。
【００５０】
図５は、図１に示した半導体集積回路装置の書込系を説明するためのブロック図である。図５において、ＭＲＡＭの場合には、書込時と読出時とでスペアメモリセルコラムへのアクセス経路が異なる。
【００５１】
書込データＤＩＮ（図５ではデータ数は３である）が通常の入力データである場合、書込データＤＩＮは正規メモリセルブロック２１〜２３に対応するライトドライバ６１〜６６に伝達され、所望のビット線ＢＬに電流を流すように対応するライトドライバが制御される。
【００５２】
アドレスで指定された正規メモリセルがスペアメモリセルコラムで救済すべき不良メモリセルである場合には、正規メモリセルに代えてスペアメモリセルにデータ書込が行なわれる。書込データＤＩＮは、冗長検出結果を示す制御信号ＲＣＯＮに基づいて分配回路７０によってスぺアメモリアレイ３に分配される。このとき、正規メモリセル領域は、アドレスに対応する正規メモリセルが不良である場合には、この不良メモリセルに対応するライトドライバは非活性化される。スペア部分のライトドライバ６７〜６９のうち、書込まれるスペアメモリセルに対応するライトドライバが活性化される。活性化されたライトドライバはデータに従った書込動作を行なう。
【００５３】
なお、通常領域のライトドライバ６１〜６６は、アドレスで指定されたメモリセルが不良メモリセルである場合にも、データ書込動作を行なってもかまわない。しかし、この実施の形態１では、書込電流が増加することを避けるため、不良メモリセルに対応するライトドライバを非活性化させている。
【００５４】
入力された書込データＤＩＮは、制御信号ＲＣＯＮに応じて正規メモリアレイ２またはスぺアメモリアレイ３に分配される。指定されたアドレスが不良メモリセルに対応しなければ正規メモリアレイ２に対してデータが分配される。指定されたアドレスが不良メモリセルに対応する場合、分配回路７０は不良メモリセルに対応する正規メモリセルブロックに分配を行なう代わりにスペアメモリセルコラム２７〜２９のいずれかにデータを分配する。そして、対応するライトドライバ６７〜６９のいずれかが活性化される。
【００５５】
一方、書込データＤＩＮがプログラムデータである場合、書込データＤＩＮは分配回路７０を介してプログラムメモリセルブロック３０〜３２に対応するライトドライバ６１〜６６に伝達され、所望のビット線ＢＬに電流を流すように対応するライトドライバが制御される。このように、正規メモリセルブロック２１〜２３とプログラムセメモリセルブロック３０〜３２がライトドライバ６１〜６６を共有することにより、チップの面積を効率的に使用することができる。
【００５６】
なお、図５におけるライトドライバ６１〜６９および分配回路７０は、図１の書込／読出制御回路８の一部に相当する。
【００５７】
図６は、図４および図５に示した構成をより具体的に示した回路図である。図６において、正規メモリセルブロック２１、リファレンスセルコラム２４、スペアメモリセルコラム２７およびプログラムメモリセルブロック３０とその関連回路が代表的に示されている。
【００５８】
まず、正規メモリセルについての説明をする。正規メモリセルブロック２１は、行列状に配置される複数の正規メモリセルＭＣを含む。正規メモリセルＭＣは１メモリセルで１ビットを記憶する。ビット線ＢＬＡ，ＢＬＢには、書込用のライトドライバ６１，６４と、読出用のセレクタ３３とが接続される。ライトドライバ６１，６４は、ビット線ＢＬＡ，ＢＬＢの両端に配置される。
【００５９】
正規メモリセルＭＣに“０”を書込む場合と“１”を書込む場合とではビット線に流す電流の向きは逆向きとなる。具体的には、正規メモリセルＭＣに“１”を書込むときにはライトドライバ６１の中のＮチャネルＭＯＳトランジスタ７１が導通状態とされ、ライトドライバ６４の中のＮチャネルＭＯＳトランジスタ７６が導通状態とされる。これによりビット線ＢＬＡでは、ライトドライバ６１からライトドライバ６４に向かう向きに電流が流れる。
【００６０】
一方、正規メモリセルＭＣに“０”を書込む場合には、ライトドライバ６４のＮチャネルＭＯＳトランジスタ７５およびライトドライバ６１のＮチャネルＭＯＳトランジスタ７２が導通し、ライトドライバ６４からライトドライバ６１に向かってビット線ＢＬＡを電流が流れる。
【００６１】
同様にビット線ＢＬＢについても、ＮチャネルＭＯＳトランジスタ７３，７４，７７，７８の制御が書込データに基づいて行なわれる。なお、信号Ｗ１は“１”を書込む際に活性化される信号を示し、信号Ｗ０は“０”を書込む場合に活性化される信号を示す。このようにＮチャネルＭＯＳトランジスタの活性化制御は、ライトドライバ６１と６４とで逆になる。
【００６２】
待機時には、ライトドライバ６１，６４の両方ともにおいて、ビット線を接地電位に固定するＮチャネルＭＯＳトランジスタを活性化するか、ＮチャネルＭＯＳトランジスタ７１〜７８のすべてを非導通状態とさせビット線をフローティング状態にする。
【００６３】
ライトドライバ６１，６４は、図１の一致検出回路１２において入力アドレスが不良メモリセルのアドレスと一致した場合には、待機状態を維持する。たとえば、待機状態においてＮチャネルＭＯＳトランジスタ７１〜７８のすべてを非導通状態とする場合は、制御信号／ＨＩＴが「Ｌ」レベルに非活性化されることによりＮチャネルＭＯＳトランジスタ７１〜７８はすべて非導通状態となる。この場合、ライトドライバが非活性化されることによって消費電力が低減される。
【００６４】
書込時には、ライト信号ＷＲＩＴＥが「Ｈ」レベルに活性化され、リード信号ＲＥＡＤが「Ｌ」レベルに非活性化されることによって、ＮチャネルＭＯＳトランジスタ８１〜８４が導通状態となり、ＮチャネルＭＯＳトランジスタ８５〜８８は非導通状態となる。そして書込アドレスに応じて正規行デコーダ５が複数のライトディジット線ＷＤＬＡのうちのいずれか１つを活性化する。このとき接続ゲート９１によってスペアビット線ＳＢＬＡとスペアビット線ＳＢＬＢとが接続される。
【００６５】
読出時においては、リード信号ＲＥＡＤが「Ｈ」レベルに活性化され、ライト信号ＷＲＩＴＥが「Ｌ」レベルに非活性化されることによって、ＮチャネルＭＯＳトランジスタ８５〜８８が導通状態となり、ＮチャネルＭＯＳトランジスタ８１〜８４は非導通状態となる。読出アドレスに応じて正規行デコーダ５が複数のワード線ＷＬＡのうちのいずれか１つを活性化する。
【００６６】
セレクタ３３は、ビット線ＢＬＡとＩＯ線ＩＯ１Ａとの間に設けられる接続ゲート１０１と、ビット線ＢＬＢとＩＯ線ＩＯ１Ｂとの間に設けられる接続ゲート１０２とを含む。接続ゲート１０１のゲートは列選択信号ＣＳＬＡを受け、接続ゲート１０２のゲートは列選択信号ＣＳＬＢを受ける。列選択信号ＣＳＬＡ，ＣＳＬＢは、コラムアドレスＣＡをデコードする列デコーダ７から論理回路１０５を介して与えられる。
【００６７】
リファレンスセルコラム２４は、正規メモリセルＭＣのデータを判定するための参照値を記憶する複数の参照メモリセルＭＣＲを含む。この参照メモリセルＭＣＲの書込／読出は、正規メモリセルＭＣと同様に行なわれる。ただし、データ読出時には、ＩＯ線への接続が工夫される。参照メモリセルＭＣＲの列に対応するビット線ＢＬＲは、セレクタ３６によってＩＯ線ＩＯ１Ａ，ＩＯ１Ｂのいずれに接続するかが選択可能となっている。
【００６８】
セレクタ３６は、ビット線ＢＬＲとＩＯ線ＩＯ１Ｂとの間に接続される接続ゲート１０３と、ビット線ＢＬＲとＩＯ線ＩＯ１Ａとの間に接続される接続ゲート１０４とを含む。接続ゲート１０３のゲートは選択信号ＳＲＥＦＡを受け、接続ゲート１０４のゲートは選択信号ＳＲＥＦＢを受ける。
【００６９】
選択信号ＳＲＥＦＡは、列選択信号ＣＳＬＡが活性化される場合に活性化される。すなわち、ビット線ＢＬＡがＩＯ線ＩＯ１Ａに接続される場合には参照用のビット線ＢＬＲはＩＯ線ＩＯ１Ｂに接続される。これにより、増幅部５２において正規メモリセルＭＣと参照メモリセルＭＣＲとの間に流れる電流値の差が検出される。
【００７０】
一方、選択信号ＳＲＥＦＢは、列選択信号ＣＳＬＢが活性化される場合に活性化される。これにより、ビット線ＢＬＢがＩＯ線ＩＯ１Ｂに接続される場合には参照用のビット線ＢＬＲはＩＯ線ＩＯ１Ａに接続される。隣接するビット線ＢＬＡ，ＢＬＢの接続をそれぞれ異なるＩＯ線に接続するのは、接続ゲート１０１，１０２の接合容量をＩＯ線それぞれに均等に配分するためである。これに従って、参照するビット線ＢＬＲの接続もいずれかのＩＯ線に選択的に接続される。
【００７１】
なお、正規メモリセルブロック２１およびリファレンスブロック２４以外にも、図示しない正規メモリセルブロック２２，２３およびリファレンスブロック２５，２６が配置されている。この３セットの正規メモリセルブロックおよびリファレンスブロックに対応してＩＯ線対ＩＯＰ１〜ＩＯＰ３が設けられる。
【００７２】
次に、スペアメモリセルについての説明をする。スペアメモリセルコラムは、２つのメモリセルで１ビットを記憶する。たとえば、ライトディジット線ＷＤＬＡで選択された２つのメモリセルＳＭＣＡ，ＳＭＣＢに、同時に相補なデータの書込を行なう。このため、ビット線を駆動するライトドライバ６７は、メモリアレイの片側にしか配置されない。そして、接続ゲート９１によって書込時にスペアビット線ＳＢＬＡとスペアビット線ＳＢＬＢとが接続される。
【００７３】
ライトドライバ６７において、“０”を書込む場合には、ＮチャネルＭＯＳトランジスタ１１１，１１４が導通状態とされ、スペアビット線ＳＢＬＡからスペアビット線ＳＢＬＢに向けて電流が流れる。逆に、“１”を書込む場合には、ＮチャネルＭＯＳトランジスタ１１２，１１３が導通状態とされ、スペアビット線ＳＢＬＢからスペアビット線ＳＢＬＡに向けて電流が流れる。スペアビット線ＳＢＬＡとスペアビット線ＳＢＬＢとは接続ゲート９１で片側が接続されるので、書込時においてスペアビット線ＳＢＬＡに流れる電流の向きとスペアビット線ＳＢＬＢに流れる電流の向きは常に逆向きとなる。これにより、ライトディジット線ＷＤＬＡで選択された２つのスペアメモリセルＳＭＣＡ，ＳＭＣＢに対して相補なデータが書込まれる。
【００７４】
なお、スペアメモリセルコラム２７以外にも、図示しないスペアメモリセルコラム２８，２９が配置されている。この３セットのスペアメモリセルコラムに対して、セレクタ３９でそのうちの２セットが選択される。選択された２セットのスペアメモリセルコラムは、スペアメモリセル専用のＩＯ線対ＩＯＰ４，ＩＯＰ５に接続される。
【００７５】
読出時には、スペアメモリセルコラムでは、接続ゲート９１が非接続状態となり、スペアメモリセルＳＭＣＡ，ＳＭＣＢには別々の電流が流れる。
【００７６】
図６に示したように、ＭＲＡＭのメモリセルアレイにおいて、正規メモリセルＭＣは１セルあたり１ビットを記憶し、スペアメモリセルＳＭＣＡ，ＳＭＣＢは２セルで１ビットを記憶する。相補な値を２つのスペアメモリセルＳＭＣＡ，ＳＭＣＢに書込み、それらをセンスアンプに接続することによって記憶した１ビットを読出す。これにより、アレイ周辺部分に配置されることが多いスペアメモリセル部分が素子の仕上り寸法のばらつきに対して強くなり、不良メモリセルをスペアメモリセルに置換して救済する場合の成功率が向上する。
【００７７】
次に、プログラムメモリセルについての説明をする。プログラムメモリセルブロック３０は、行列状に配置される複数のプログラムメモリセルＰＭＣＡ，ＰＭＣＢを含む。プログラムメモリセルＰＭＣＡ，ＰＭＣＢは、２つのメモリセルで１ビットを記憶する。プログラムメモリセルブロック３０は、ライトドライバ６１，６４、ビット線ＢＬＡ，ＢＬＢおよびソース線ＳＬを正規メモリセルアレイ２１と共有する。
【００７８】
このプログラムメモリセルＰＭＣＡ，ＰＭＣＢは、正規メモリセルブロック２１の不良メモリセルのアドレス情報や内部電圧制御情報などのプログラムデータを記憶する。
【００７９】
データ書込時には、ライト信号ＷＲＩＴＥが「Ｈ」レベルに活性化され、リード信号ＲＥＡＤが「Ｌ」レベルに非活性化されることによって、ＮチャネルＭＯＳトランジスタ８１〜８４が導通状態となり、ＮチャネルＭＯＳトランジスタ８５〜８８は非導通状態となる。そして、書込アドレスに応じてプログラム行デコーダ６が複数のライトディジット線ＷＤＬＢのうちのいずれか１つを選択的に活性化する。
【００８０】
一方、読出時においては、リード信号ＲＥＡＤが「Ｈ」レベルに活性化され、ライト信号ＷＲＩＴＥが「Ｌ」レベルに非活性化されることによって、ＮチャネルＭＯＳトランジスタ８５〜８８が導通状態となり、ＮチャネルＭＯＳトランジスタ８１〜８４は非導通状態となる。そして、読出アドレスに応じてプログラム行デコーダ６が複数のワード線ＷＬＢのうちのいずれか１つを選択的に活性化する。
【００８１】
２つのプログラムメモリセルＰＭＣＡ，ＰＭＣＢで１ビットを記憶することによって、高信頼性が確保される。データ書込は、たとえばプログラムメモリセルＰＭＣＡ，ＰＭＣＢに相補なデータを書込むことによって実現される。このときライトドライバ６１，６４は、書込むデータに応じて電流の向きを変える。
【００８２】
正規メモリセルＭＣは１つで１ビットを記憶するのに対して、プログラムメモリセルＰＭＣＡ，ＰＭＣＢは２つで１ビットを記憶するため、プログラムメモリセルＰＭＣＡ，ＰＭＣＢのデータを読出す際には工夫する必要がある。そこで、プログラムデータの読出時には、プログラムリード信号ＰＲＥＡＤが「Ｈ」レベルにされる。このとき、列デコーダ７によって列選択信号ＣＳＬＡ，ＣＳＬＢのどちらか一方が「Ｈ」レベルにされている。このため、プログラムリード信号ＰＲＥＡＤが「Ｈ」レベルにされたことに応じて、論理回路１０５によって列選択信号ＣＳＬＡ，ＣＳＬＢの両方が「Ｈ」レベルにされ、接続ゲート１０１，１０２が導通する。すなわち、ビット線ＢＬＡ，ＢＬＢがそれぞれ接続ゲート１０１，１０２を介してＩＯ線対ＩＯＰ１に接続される。
【００８３】
そして、プログラム行デコーダ６によって対応するワード線ＷＬＢが活性化されると、プログラムメモリセルＰＭＣＡを通過してソース線ＳＬに流れ込む電流とプログラムメモリセルＰＭＣＢを通過してソース線ＳＬに流れ込む電流との差が増幅部５２によって検出される。なお、プログラムメモリセルブロック３０以外にも、図示しないプログラムメモリセルブロック３１，３２が配置されている。この３セットのプログラムメモリセルブロックは、３セットの正規メモリセルブロック２１〜２３に隣接して設けられる。
【００８４】
データ読出時には、リセット信号ＲＳによって選択部５１がデフォルト状態にされる。このとき、選択部５１はＩＯＰ１〜ＩＯＰ３を増幅部５２に接続する。プログラムメモリセルブロック３０から読出されたプログラムデータは、信号Ｐ１として図１の多数決論理回路１０に転送される。同様に、プログラムメモリセルブロック３１，３２に記憶されているプログラムデータも、それぞれＩＯ線対ＩＯＰ２，３を介して増幅部５２によって電流の差が検出され、信号Ｐ２，Ｐ３として多数決論理回路１０に転送される。この転送は、たとえばチップに電源を投入した際に行なわれる。
【００８５】
このように、プログラムメモリセルブロック３０が、ライトドライバ６１，６４、ビット線ＢＬＡ，ＢＬＢおよびソース線ＳＬを正規メモリセルアレイ２１と共有する。これにより、チップの面積を効率的に使用することができる。
【００８６】
ここで、プログラムメモリセルブロック３０に含まれるプログラムメモリセルＰＭＣＡ，ＰＭＣＢは、プログラムセットが使用済みか否かを示すフラグを記憶する領域とし、他の領域に不良メモリセルのアドレス情報を記憶させてもよい。この場合、フラグによりプログラムセットの使用状況が判断できるため、使用済みのプログラムセットを避けて不良アドレスをプログラムメモリセルに記憶させることが可能になる。
【００８７】
また、正規行デコーダ５には正規メモリセル用のアドレスが与えられ、プログラム行デコーダ６にはプログラムメモリセル用のアドレスが与えられる。プログラムメモリセル用のアドレスは、プログラムメモリアレイ４の複数組のワード線ＷＬＢとライトディジット線ＷＤＬＢに対して個別に認識するためのアドレスである。このプログラムメモリセル用のアドレスは、正規メモリセル用のアドレスとは別のプログラムメモリセル専用のアドレスを用いてもよいし、正規メモリセル用のアドレスの一部を用いてもよい。実施の形態１では、正規メモリセル用のアドレスの一部を用いる。この場合、そのアドレスにプログラム領域アクセス用の論理演算処理を行なうことで、プログラムメモリセル用のアドレスが生成される。これにより、正規メモリアレイ２とプログラムメモリアレイ４がアドレス配線を共有できるため、チップの面積を効率的に使用することができる。
【００８８】
図７は、図６に示した選択増幅部９の構成を示す回路図である。図７において、選択増幅部９は、選択部５１と、増幅部５２とを含む。選択部５１は、制御信号ＲＣＯＮおよびリセット信号ＲＳに基づいて、５つのＩＯ線対のうちから３つのＩＯ線対を選択する。
【００８９】
ＩＯ線対の選択には、いわゆるシフトリダンダンシの手法が適用される。選択部５１は、ＩＯ線ＩＯ１Ａ〜ＩＯ３Ａのうちのいずれか１つを選択してＩＯ線ＲＩＯ１Ａに接続する切換回路１２１と、ＩＯ線ＩＯ１Ｂ〜ＩＯ３Ｂのうちのいずれか１つをＩＯ線ＲＩＯ１Ｂに接続する切換回路１２２とを含む。
【００９０】
選択部５１は、さらに、ＩＯ線ＩＯ２Ａ〜ＩＯ４Ａのうちのいずれか１つを選択してＩＯ線ＲＩＯ２Ａに接続する切換回路１２３と、ＩＯ線ＩＯ２Ｂ〜ＩＯ４Ｂのうちのいずれか１つをＩＯ線ＲＩＯ２Ｂに接続する切換回路１２４とを含む。
【００９１】
選択部５１は、さらに、ＩＯ線ＩＯ３Ａ〜ＩＯ５Ａのうちのいずれか１つを選択してＩＯ線ＲＩＯ３Ａに接続する切換回路１２５と、ＩＯ線ＩＯ３Ｂ〜ＩＯ５Ｂのうちのいずれか１つをＩＯ線ＲＩＯ３Ｂに接続する切換回路１２６とを含む。
【００９２】
増幅部５２は、ＩＯ線ＲＩＯ１Ａ，ＲＩＯ１Ｂに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ（ＳＡ）５３と、ＩＯ線ＲＩＯ２Ａ，ＲＩＯ２Ｂに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ（ＳＡ）５４と、ＩＯ線ＲＩＯ３Ａ，ＲＩＯ３Ｂに接続されるメモリセルに流れる電流の差を検出することにより記憶データを読出すセンスアンプ（ＳＡ）５５とを含む。
【００９３】
図８は、図７に示した切換回路１２１の構成をより詳細に示す回路図である。図８において、切換回路１２１は、制御信号ＲＣＯＮをデコードするデコーダ１３１と、デコーダ１３１の出力に応じてＩＯ線ＩＯ１Ａ〜ＩＯ３ＡをそれぞれＩＯ線ＲＩＯ１Ａに接続する接続ゲート１３２〜１３４とを含む。デコーダ１３１は、論理回路１４１およびＡＮＤ回路１４２，１４３を含む。
【００９４】
リセット信号ＲＳが「Ｈ」レベルの場合は、デコーダ１３１は、制御信号ＲＣＯＮに応じて、不良メモリセルに対応するＩＯ線の特定ビットと置換するスペアメモリセルコラムを特定するビットとをデコードする。デコード結果に基づき、接続ゲート１３２〜１３４のいずれか１つを接続状態にする。
【００９５】
リセット信号ＲＳが「Ｌ」レベルの場合は、論理回路１４１は「Ｈ」レベルの信号を接続ゲート１３２に出力し、ＡＮＤ回路１４２，１４３はそれぞれ「Ｌ」レベルの信号を接続ゲート１３３，１３４に出力する。これにより、接続ゲート１３２が接続状態にされ、接続ゲート１３３，１３４は非接続状態にされる。
【００９６】
図７に戻って、システム電源投入時やプログラムデータの更新を行なうときなど、必要に応じてプログラムメモリアレイ４からプログラムデータを読出すときに、リセット信号が「Ｌ」レベルにされる。これに応じて、切換回路１２１〜１２６はＩＯ線対ＩＯＰ１〜ＩＯＰ３とセンスアンプ５３〜５５とを接続する。すなわち、リセット信号ＲＳが「Ｌ」レベルにされることによって、選択部５１はシフト制御が行なわれないデフォルト状態にされる。
【００９７】
接続ゲートをセンスアンプの１つの入力ノードあたり３つ設けることにより２段シフト動作が可能となっている。シフトリダンダンシの手法を適用することによって、５対のＩＯ線対から３対を選択して３つのセンスアンプに接続する。
【００９８】
シフトリダンダンシでは、ＩＯ線ＩＯ１Ａ〜ＩＯ５Ａから３つのＩＯ線が選択され、この選択されたＩＯ線は順番が入替わらないようにＩＯ線ＲＩＯ１Ａ〜１ＩＯ３Ａに接続される。また、ＩＯ線ＩＯ１Ｂ〜ＩＯ５Ｂから３つのＩＯ線が選択され、この選択されたＩＯ線は順番が入替わらないようにＩＯ線ＲＩＯ１Ｂ〜１ＩＯ３Ｂに接続される。
【００９９】
シフトリダンダンシ構成にすることにより、センスアンプの入力ノードとＩＯ線ＩＯ１Ａ〜ＩＯ５Ａ，ＩＯ１Ｂ〜ＩＯ５Ｂとの接続経路の長さが著しく差が生じないようにすることができる。これにより、負荷の均等化が図られ動作マージンを揃えることができる。
【０１００】
図９は、以上説明してきた半導体集積回路装置の正規メモリセルの書込／読出動作を説明するためのタイムチャートである。図９において、プログラムアレイアクセス信号ＰＡＡおよびプログラムリード信号ＰＲＥＡＤは非活性化レベルの「Ｌ」レベルに保持され、リセット信号ＲＳは「Ｈ」レベルに保持される。
【０１０１】
半導体集積回路装置は、クロック信号ＣＬＫに同期して動作する。チップセレクト信号ＣＳは、チップ活性化のトリガとして用いられ、「Ｈ」レベルの時にデータの読出動作および書込動作が行なわれる。
【０１０２】
時刻ｔ０において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのライト信号ＷＲＩＴＥが取込まれると、選択行のライトディジット線ＷＤＬＡおよび選択列のビット線ＢＬＡにデータ書込電流が流され、入力アドレスに対応した正規メモリセルＭＣに書込データＤＩＮが書込まれる。
【０１０３】
時刻ｔ１において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのリード信号ＲＥＡＤが取込まれると、選択行のワード線ＷＬＡおよび選択列のビット線ＢＬＡにデータ読出電流が流され、入力アドレスに対応した正規メモリセルＭＣから読出データＤＡＴが読出される。
【０１０４】
次いで、時刻ｔ２において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのライト信号ＷＲＩＴＥが取込まれると、選択行のライトディジット線ＷＤＬＡおよび選択列のビット線ＢＬＢにデータ書込電流が流され、入力アドレスに対応した正規メモリセルＭＣに書込データＤＩＮが書込まれる。
【０１０５】
時刻ｔ３において、「Ｈ」レベルのチップセレクト信号ＣＳおよび「Ｈ」レベルのリード信号ＲＥＡＤが取込まれると、選択行のワード線ＷＬＡおよび選択列のビット線ＢＬＢにデータ読出電流が流され、入力アドレスに対応した正規メモリセルＭＣから読出データＤＡＴが読出される。
【０１０６】
図１０は、半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【０１０７】
時刻ｔ１０において、リセット信号ＲＳが「Ｌ」レベルに立下げられるとともに、プログラムアレイアクセス信号ＰＡＡおよびプログラムリード信号ＰＲＥＡＤが活性化レベルの「Ｈ」レベルに立上げられる。すなわち、リセット動作によってシステムがデフォルト状態にされ、プログラムメモリセルからデータを読出す準備が行なわれる。
【０１０８】
時刻ｔ１１において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのリード信号ＲＥＡＤが取込まれると、選択行のワード線ＷＬＢ１および選択列のビット線ＢＬＡ，ＢＬＢにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルＰＭＣＡ，ＰＭＣＢから読出データＤＡＴ（プログラムデータ）が読出される。ここで、ビット線ＢＬＡ，ＢＬＢの両方にデータ読出電流が流れるのは、プログラムメモリセルＰＭＣＡ，ＰＭＣＢが２セルで１ビットの相補なデータを記憶しているためである。
【０１０９】
次いで、時刻ｔ１２において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのリード信号ＲＥＡＤが取込まれると、選択行のワード線ＷＬＢ１および選択列のビット線ＢＬＣ，ＢＬＤにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルＰＭＣＡ，ＰＭＣＢから読出データＤＡＴ（プログラムデータ）が読出される。なお、図示しないがビット線ＢＬＣ，ＢＬＤはビット線ＢＬＡ，ＢＬＢの次の列に配置されているものとする。このように、選択されたあるワード線ＷＬＢ１に対して異なるビット線の組が、列デコーダ７によって順に選択されてデータ読出電流が流される。読出データＤＡＴが４回繰返して読出された後、アクセスするプログラムメモリセルの行アドレスが切換えられる。
【０１１０】
時刻ｔ１３において、切換えられた行アドレスに対応する選択行のワード線ＷＬＢ２および選択列のビット線ＢＬＡ，ＢＬＢにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルから読出データＤＡＴ（プログラムデータ）が読出される。
【０１１１】
次いで、時刻ｔ１４において、「Ｈ」レベルのチップセレクト信号ＣＳ、および「Ｈ」レベルのリード信号ＲＥＡＤが取込まれると、選択行のワード線ＷＬＢ２および選択列のビット線ＢＬＣ，ＢＬＤにデータ読出電流が流され、入力アドレスに対応したプログラムメモリセルＰＭＣＡ，ＰＭＣＢから読出データＤＡＴ（プログラムデータ）が読出される。
【０１１２】
なお、ここでは選択された１つのワード線ＷＬＢに対して異なる４組のビット線が順に選択され、データ読出が４回ずつ連続して行なわれる場合について説明したが、配列されるプログラムメモリセルの数に応じて、データ読出は任意の回数ずつ連続して行なわれる。
【０１１３】
また、図示しないが、プログラムメモリセルの書込動作は、プログラムアレイアクセス信号ＰＡＡが活性化レベルの「Ｈ」レベルに立上げられた状態で、「Ｈ」レベルのチップセレクト信号ＣＳおよびライト信号ＷＲＩＴＥが取込まれた場合に実行される。
【０１１４】
以上のように、この実施の形態１では、半導体装置の制御に関するプログラムデータを記憶するためのプログラムメモリアレイ４と、通常のデータを記憶する正規メモリアレイ２とを同じメモリアレイに配置したことによって、プログラムメモリアレイ４を制御するために必要な制御線や駆動回路を正規メモリアレイ２と共有することできる。したがって、プログラムメモリアレイ４と正規メモリアレイ２とが別々のメモリアレイに設けられていた従来と比べて、チップ面積を効率的に使用することができる。
【０１１５】
なお、ここでは不揮発性メモリがＭＲＡＭである場合について説明したが、ＯＵＭやフラッシュメモリを用いてもよい。
【０１１６】
［実施の形態２］
実施の形態２では、実施の形態１に示した内部電圧制御回路１４を用いて、ＭＲＡＭデバイスの内部電圧の設定を精密に調整する構成について説明する。
【０１１７】
図１１は、この発明の実施の形態２による内部電圧制御回路１４の構成を示すブロック図である。図１１において、この内部電圧制御回路１４は、内部電圧発生回路１５１、ＢＩＳＴ（Ｂｕｉｌｔ−Ｉｎ−Ｓｅｌｆ−Ｔｅｓｔ）回路１５２およびテストメモリ１５３を含む。
【０１１８】
ＢＩＳＴ回路１５２は、予め設定された所定の動作テストの実行を制御する。内部電圧ＶＢＢを供給する内部電圧発生回路１５１は、動作テスト時において、ＢＩＳＴ回路１５２からの調整信号Ｐ０〜Ｐ３に従って内部電圧ＶＢＢのレベルを制御する。このとき、外部からのテスト電圧ＶＥＸＴに基づいた内部電圧制御情報がテストメモリ１５３に与えられる。テストメモリ１５３は、当該動作テストの結果を一時的に記憶し、内部電圧制御情報として外部へ出力する。外部へ出力された内部電圧制御情報は、プログラムメモリアレイ４にプログラムデータとして記憶される。通常動作時においては、動作テストによってプログラムメモリアレイ４に記憶されたプログラムデータに基づいて、内部電圧ＶＢＢのレベルが設定される。ただし、電源投入直後など、プログラムデータの読出が完了する前の状態においては、内部電圧ＶＢＢを適切なレベルに設定する必要がある。そこで、リセット信号ＲＳを用いることによって、プログラムデータの読出期間中に内部電圧ＶＢＢをデフォルト値に設定する。
【０１１９】
なお、ＢＩＳＴ回路１５２による動作テストは、通常はまず製造工程終了後の試験時に行なわれる。この動作テスト結果をプログラムデータとしてプログラムメモリアレイ４に書込んでおくことによって、製品が市場に出た後のシステム電源投入時に、そのプログラムデータに基づいて内部電圧ＶＢＢを調整することができる。また、製品が市場に出た後にプログラムデータの更新を行なう場合は、再度ＢＩＳＴ回路１５２による動作テストを行ない、新しいプログラムデータをプログラムメモリアレイ４に書込む。このように外部テスタの代わりにＢＩＳＴ回路１５２を用いることによって、テストコストが削減される。
【０１２０】
従来は、内部電圧制御情報はレーザーヒューズなどで記憶されていたため、電源投入とともに内部電圧制御情報を読出すことができた。しかし、この実施の形態２では、テストコストを削減するため、レーザー溶断装置を必要としない不揮発性メモリをレーザーヒューズの代わりに用いる。不揮発性メモリを用いることによって、製品が市場に出た後もプログラムデータが保存される。この場合、電源投入後からプログラムデータの読出が完了するまでの間は内部電圧ＶＢＢを制御するためのデータがないため、適切な内部電圧レベルが保証されず、正常に動作しない可能性がある。このため、内部電圧ＶＢＢのレベルをデフォルト値に設定するリセット動作を行なう。
【０１２１】
なお、この内部電圧ＶＢＢのデフォルト値は、目標とする電圧値にある程度近い値であればよく、任意に設定される。内部電圧ＶＢＢを制御する際、製造プロセスにおいて生じたばらつきの影響を受けてデフォルト値が目標とする電圧値から多少ずれていても動作上の問題はない。
【０１２２】
たとえば、目標とする電圧値（外部から入力されるテスト電圧ＶＥＸＴ）が１．５Ｖである場合、製造プロセスにおいて生じたばらつきにより内部電圧ＶＢＢのデフォルト値が目標値よりも低い電圧値（たとえば、１．３Ｖ）になってもよい。この場合、電源投入直後のプログラムデータの読出期間中は内部電圧ＶＢＢがデフォルト値の１．３Ｖにされるが、プログラムデータの読出完了後は内部電圧制御情報に基づいて内部電圧ＶＢＢが１．５Ｖに調整される。
【０１２３】
また、製造プロセスにおいて生じるばらつきによって内部電圧ＶＢＢが低くなることが懸念される場合、予めデフォルト値を高い電圧値に設定しておいてもよい。たとえば、目標とする電圧値（外部から入力されるテスト電圧ＶＥＸＴ）の１．５Ｖに対して、デフォルト値を１．８Ｖにしておく。この場合、製造プロセスにおいて生じたばらつきによって、製造後の実際のデフォルト値が１．８Ｖから０．２Ｖ低下して１．６Ｖになったとしても、動作マージンは十分に確保される。電源投入直後のプログラムデータの読出期間中は、内部電圧ＶＢＢがデフォルト値の１．６Ｖにされるが、プログラムデータの読出完了後は、内部電圧制御情報に基づいて内部電圧ＶＢＢが１．５Ｖに調整される。
【０１２４】
図１２は、図１１に示した内部電圧制御回路１４を用いてＭＲＡＭデバイスの内部電圧を制御する構成を示す回路図である。
【０１２５】
まず、内部電圧の制御構成について説明する。図１２において、内部電圧発生回路１５１は、内部回路群１６１へ内部電圧ＶＢＢを供給する。内部電圧発生回路１５１は、内部電圧ＶＢＢを制御するための、分圧回路１６２、セレクタ回路１６３、リセット回路１６４、電圧比較器１６５およびＰチャネルＭＯＳトランジスタ１６６を含む。
【０１２６】
分圧回路１６２は、電源電位ＶＣＣのラインと接地電位ＧＮＤのラインとの間に直列接続された固定抵抗回路１６７および可変抵抗回路１６８を含む。なお、以下、本明細書の図面中では、単独の記号「Ｒ」は、「抵抗素子」であることを示すものとし、ＲＢや２Ｒ等のように、「Ｒ」に添字や数字を付する場合には、抵抗値を示すものとする。
【０１２７】
分圧回路１６２は、電源電位ＶＣＣと接地電位ＧＮＤとの電圧差を、固定抵抗回路１６７および可変抵抗回路１６８の抵抗比に応じた分圧比Ｋ（Ｋ：０＜Ｋ＜１の実数）で分圧した基準電圧ＶＲＥＦを生成する。可変抵抗回路１６８の抵抗値は、セレクタ回路１６３からリセット回路１６４を介して伝達された調整信号Ｐ０〜Ｐ３に応じて変化する。すなわち、分圧比Ｋの設定も、調整信号Ｐ０〜Ｐ３に応じて調整可能である。
【０１２８】
セレクタ回路１６３は、ＢＩＳＴ回路１５２からの切換信号ＣＨＰに応答して、テストモード時には、ＢＩＳＴ回路１５２によって生成された調整信号Ｐ０〜Ｐ３をリセット回路１６４を介して分圧回路１６２へ供給する。一方、テストモード時以外の実動作時には、プログラムメモリアレイ４にプログラムされた調整信号Ｐ０〜Ｐ３をリセット回路１６４を介して分圧回路１６２へ供給する。リセット回路１６４は、リセット動作時に、調整信号Ｐ０〜Ｐ３をデフォルト値に設定して分圧回路１６２へ供給する。一方、リセット動作時以外には、セレクタ回路１６３からの調整信号Ｐ０〜Ｐ３をそのまま分圧回路１６２に伝達する。
【０１２９】
次に、分圧回路１６２の構成ならびに分圧比の設定および調整について説明する。図１３は、図１２に示した分圧回路１６２およびリセット回路１６４の構成を詳細に示す回路図である。図１３において、図１２に示した固定抵抗回路１６７は電流源として動作し、ノードＮｄには、可変抵抗回路１６８の抵抗値ΣＲに応じた基準電圧ＶＲＥＦが生成される。上述の分圧比Ｋを用いて、基準電圧ＶＲＥＦは下式（１）で示される。
【０１３０】
ＶＲＥＦ＝Ｋ・ＶＣＣ  （ただし、０＜Ｋ＜１）…（１）
可変抵抗回路１６８は、ノードＮｄと接地電位ＧＮＤのラインとの間に直列接続された抵抗素子１８１〜１８５と、抵抗素子１８１〜１８４に対応して設けられるバイパススイッチ１８６〜１８９を含む。
【０１３１】
抵抗素子１８１の抵抗値をＲｕとすると、抵抗素子１８２、１８３および１８４の電気抵抗は、それぞれ２Ｒｕ（Ｒｕの２倍）、４Ｒｕおよび８Ｒｕである。さらに抵抗素子１８５の抵抗値はＲＢである。
【０１３２】
ＡＮＤ回路１９０〜１９３は、それぞれ調整信号Ｐ０〜Ｐ３およびリセット信号ＲＳを受ける。ＡＮＤ回路１９０〜１９２の出力信号は、対応するバイパススイッチ１８６〜１８８のＰチャネルＭＯＳトランジスタ側のゲートに与えられるとともに、対応するインバータ１９４〜１９６を介して対応するバイパススイッチ１８６〜１８８のＮチャネルＭＯＳトランジスタ側のゲートに与えられる。ＡＮＤ回路１９３の出力信号は、バイパススイッチ１８９のＮチャネルＭＯＳトランジスタ側のゲートに与えられるとともに、インバータ１９７を介してバイパススイッチ１８９のＰチャネルＭＯＳトランジスタ側のゲートに与えられる。
【０１３３】
バイパススイッチ１８６〜１８９は、抵抗素子１８１〜１８４にそれぞれ並列に接続される。バイパススイッチ１８６は、ＡＮＤ回路１９０の出力信号が「Ｌ」レベル（“０”）のときにオンして、抵抗素子１８１のバイパス経路を形成する。一方で、バイパススイッチ１８６は、ＡＮＤ回路１９０の出力信号が「Ｈ」レベル（“１”）のときはオフされる。
【０１３４】
バイパススイッチ１８７，１８８は、バイパススイッチ１８６と同様に、対応するＡＮＤ回路１９１，１９２が「Ｌ」レベルのときにオンして、抵抗素子１８２，１８３のバイパス経路をそれぞれ形成する。これに対して、バイパススイッチ１８９は、対応するＡＮＤ回路１９３の出力信号が「Ｈ」レベルのときにオンして、抵抗素子１８４のバイパス経路を形成する。
【０１３５】
バイパススイッチ１８６〜１８９の各々によって形成されるバイパス経路の抵抗値は、Ｒｕと比較して無視できるものとする。この結果、可変抵抗回路１６８の抵抗値ΣＲは、４ビットの調整信号Ｐ０〜Ｐ３およびリセット信号ＲＳに応答して、１６段階に段階的に変化する。
【０１３６】
図１４は、調整信号Ｐ０〜Ｐ３の設定と動作テスト結果例を示す概念図である。図１４において、この概念図はリセット信号ＲＳが「Ｈ」レベルの場合に調整レベルが変動する動作を示す。リセット信号ＲＳが「Ｌ」レベルにされると、調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）が（０，０，０，０）、すなわち調整レベル“０”のデフォルト値に設定されるものとする。
【０１３７】
調整レベル“−８”のときには、調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）＝（０，０，０，１）に設定されるので、バイパススイッチ１８６〜１８９の各々がオンする。この結果、抵抗値ΣＲ＝ＲＢに設定される。
【０１３８】
調整レベル“−７”から“−１”までは、調整レベルが１増えるごとに、調整信号Ｐ０〜Ｐ２が、Ｐ０を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣＲは“ＲＢ＋Ｒｕ”から“ＲＢ＋７Ｒｕ”まで、＋Ｒｕずつ変化する。
【０１３９】
調整レベル“０”では、調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）＝（０，０，０，０）に設定されるので、バイパススイッチ１８６〜１８８がオンして、バイパススイッチ１８９がオフする。この結果、抵抗値ΣＲ＝ＲＢ＋８Ｒｕに設定される。
【０１４０】
調整レベル“＋１”から“＋７”までは、調整レベルが１増えるごとに、調整信号Ｐ０〜Ｐ２が、Ｐ０を最下位ビットとしてインクリメントされる。これに応じて、抵抗値ΣＲは“ＲＢ＋９Ｒｕ”から“ＲＢ＋１５Ｒｕ”まで、＋Ｒｕずつ変化する。
【０１４１】
このようにして、可変抵抗回路１６８の抵抗値は、４ビットの調整信号Ｐ０〜Ｐ３に応答して、“ＲＢ”から“ＲＢ＋１５Ｒｕ”までの間で２４＝１６段階に設定可能である。これにより、分圧回路１６２の分圧比Ｋも、調整信号Ｐ０〜Ｐ３に応じて１６段階に設定可能である。
【０１４２】
再び図１２を参照して、電圧比較器１６５は、分圧回路１６２によって生成された基準電圧ＶＲＥＦと内部電圧ＶＢＢとを比較する。具体的には、電圧比較器１６５は、基準電圧ＶＲＥＦが内部電圧ＶＢＢよりも低いときには、内部電圧ＶＢＢが目標値より高いと判断して出力信号のレベルを高くする。これに応じて、ＰチャネルＭＯＳトランジスタ１６６の電圧降下が大きくなり、内部電圧ＶＢＢは低下する。一方、基準電圧ＶＲＥＦが内部電圧ＶＢＢよりも高いときには、内部電圧ＶＢＢが目標値よりも低いと判断して、出力信号のレベルを低くする。これに応じて、ＰチャネルＭＯＳトランジスタ１６６の電圧降下が小さくなり、内部電圧ＶＢＢは上昇する。このようにして、内部電圧ＶＢＢが基準電圧ＶＲＥＦに近づくように制御される。
【０１４３】
次に、内部電圧制御に関するテストモードでの動作テスト構成を説明する。
分圧回路１６９は、チップ外部のプローブカード上やウェハ上またはメモリボード上などに配置される。分圧回路１６９は、分圧回路１６２と同様の構成であり、電源電位ＶＣＣのラインと接地電位ＧＮＤのラインとの間に直列接続された固定抵抗回路１７０および可変抵抗回路１７１を含む。この分圧回路１６９は、ＢＩＳＴ回路１５２に同期した外部のテスタからのテスト制御信号ＴＳＴによって分圧比が制御され、外部テスト電圧ＶＥＸＴを出力する。外部テスト電圧ＶＥＸＴは、内部電圧ＶＢＢの目標値（たとえば設計値）に対応して設定される。この分圧回路１６９から出力される比較用の外部テスト電圧ＶＥＸＴを他のチップにも供給することによって、ウェハ上の複数のチップで同時に動作テストを行なうことができる。
【０１４４】
内部電圧発生回路１５１は、さらに、電圧比較器１７３とラッチ回路１７４とを含む。電圧比較器１７３は、テストモード時に、ＢＩＳＴ回路１５２からのテスト制御信号ＴＣＭＰに応答して、分圧回路１６９から入力端子１７２を介して入力された比較用の外部テスト電圧ＶＥＸＴと内部電圧ＶＢＢとを比較する。ラッチ回路１７４は、電圧比較器１７３からの電圧比較信号ＶＣＭＰを一時的に保持する。
【０１４５】
この状態の下で、ＢＩＳＴ回路１５２は、図１４に示した調整レベル“−８”〜“＋７”のそれぞれを実現するように、調整信号Ｐ０〜Ｐ３を段階的に変化させる。それぞれの調整レベルにおいて、内部電圧ＶＢＢと外部テスト電圧ＶＥＸＴとの比較結果を示す電圧比較信号ＶＣＭＰが監視される。これにより、実動作時に内部電圧ＶＢＢを目標値に調整するための、所望の調整信号Ｐ０〜Ｐ３の設定値を求めることができる。
【０１４６】
次に、上述した所望の調整信号Ｐ０〜Ｐ３を効率的に外部に出力するためのテスト構成について説明する。
【０１４７】
再び図１２を参照して、テストメモリ１５３は、スイッチ回路１７５と、書込制御部１７６と、メモリ部１７７と、読出制御部１７８とを含む。スイッチ回路１７５は、ラッチ回路１７４と書込制御部１７６との間に設けられ、ＢＩＳＴ回路１５２からのテスト制御信号ＴＲＡに応答して、ラッチ回路１７４に保持された電圧比較信号ＶＣＭＰを書込制御部１７６へ伝達する。
【０１４８】
図１５は、図１２に示した書込制御部１７６の構成を示すブロック図である。図１５において、書込制御部１７６は、ラッチ回路１７４に保持された電圧比較信号ＶＣＭＰを一時的に保持するためのラッチ回路２０１，２０２と、ラッチ回路２０１，２０２の保持データの一致比較を実行するＥＸ−ＯＲ回路２０３と、ＢＩＳＴ回路１５２によって設定された調整信号Ｐ０〜Ｐ３を保持するラッチ回路２０４と、ＥＸ−ＯＲ回路２０３の出力信号に応答してラッチ回路２０４に保持された調整信号Ｐ０〜Ｐ３をメモリ部１７７へ書込む書込回路２０５とを含む。
【０１４９】
ラッチ回路２０４に保持される調整信号Ｐ０〜Ｐ３は、図１４に示したそれぞれの調整レベルに対応して順次更新される。それぞれの調整レベルにおいて、テスト結果として得られた電圧比較信号ＶＣＭＰは、調整レベルが変更されるごとに、ラッチ回路２０１および２０２へ交互に出力される。たとえば、調整レベル“−８”での電圧比較信号ＶＣＭＰがラッチ回路２０１へ出力されると、次の調整レベル“−７”での電圧比較信号ＶＣＭＰは、ラッチ回路２０２へ出力される。さらに次の調整レベル“−６”では、電圧比較信号ＶＣＭＰはラッチ回路２０１へ出力され、ラッチ回路２０１の保持内容が更新される。
【０１５０】
図１４には、このような動作テスト結果の一例が併せて示されている。再び図１４を参照して、調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）＝（０，０，０，１）に設定される調整レベル“−８”では分圧比Ｋが最小となり、調整信号Ｐ０，Ｐ１，Ｐ２，Ｐ３＝（１，１，１，０）に設定される調整レベル“＋７”では分圧比Ｋが最大となる。それらの中間の調整レベル“−７”〜“＋６”では、調整レベルが１段階ずつ上昇するたびに、分圧比Ｋも大きくなる。
【０１５１】
なお、実動作時には、分圧比が小さいほど、すなわち基準電圧ＶＲＥＦが相対的に低くなるほど、内部電圧ＶＢＢはより低く設定される。
【０１５２】
テストモード時には、調整レベル“−８”〜“＋７”を順に実現するように、調整信号Ｐ０〜Ｐ３を順次更新していく。内部電圧ＶＢＢを外部テスト電圧ＶＥＸＴ（すなわち、実動作時の目標値）と同じ値に設定するのに必要な分圧比が実現された調整レベルにおいて、電圧比較信号ＶＣＭＰが「Ｈ」レベルから「Ｌ」レベルへ変化する。そして、その調整レベルにおいて、図１５に示したＥＸ−ＯＲ回路２０３の出力信号が「Ｈ」レベルに設定される。
【０１５３】
図１４に示した動作テスト結果例では、調整レベル“−８”〜“−３”では、電圧比較信号ＶＣＭＰは「Ｈ」レベルに設定され、調整レベル“−２”〜“＋７”では、電圧比較信号ＶＣＭＰは「Ｌ」レベルに設定される。したがって、ＥＸ−ＯＲ回路２０３の出力信号は、調整レベル“−２”では「Ｈ」レベルに設定され、それ以外の調整レベルでは、「Ｌ」レベルに設定される。
【０１５４】
なお、ラッチ回路２０１，２０２には、初期状態として「Ｈ」レベル（“１”）の信号を保持させておき、終了時には「Ｌ」レベル（“０”）の信号を保持させるものとする。
【０１５５】
この結果、図１５に示した書込制御部１７６によって、調整レベル“−２”に対応する調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）＝（１，０，１，１）がメモリ部１７７へ書込まれて記憶される。読出制御部１７８は、ＢＩＳＴ回路１５２からのテスト制御信号ＴＲＢに応答して、メモリ部１７７に記憶された調整信号Ｐ０〜Ｐ３を動作テスト結果に基づいた内部電圧制御情報として出力端子１７９に与える。
【０１５６】
なお、メモリ部１７７がＥＸ−ＯＲ回路２０３の出力信号を直接受けて記憶し、そのままの形式で外部に出力する構成にしてもよい。その場合は、メモリ部１７７で記憶された内部電圧制御情報をプログラムメモリアレイ４に記憶できる形式に外部で信号処理する。
【０１５７】
プログラムメモリアレイ４には、出力端子１７９に与えられた内部電圧制御情報を、実動作時における内部電圧ＶＢＢの設定に用いる調整信号（Ｐ０，Ｐ１，Ｐ２，Ｐ３）＝（１，０，１，１）としてプログラムすることができる。この結果、内部電圧発生回路１５１は、実動作時において、内部電圧ＶＢＢをテストモード時の外部テスト電圧ＶＥＸＴのレベルに近づくように制御することができる。
【０１５８】
なお、プログラムメモリアレイ４からのプログラムデータの読出動作は、図１０に示したタイムチャートと同じシーケンスで行なわれ、リセット信号ＲＳはプログラムデータの読出期間中「Ｌ」レベルに保持される。このプログラムデータの読出動作は、電源投入直後に限らず、実動作途中にプログラムデータを更新する場合などにも行なわれる。
【０１５９】
したがって、この実施の形態２では、プログラムデータの読出期間中にリセット動作を行なって内部電圧ＶＢＢをデフォルト値に設定し、実動作時にはプログラムデータに含まれる内部電圧制御情報に基づいて内部電圧ＶＢＢを調整する。このため、動作の安定性が高い半導体集積回路装置が実現できる。
【０１６０】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１６１】
【発明の効果】
以上のように、この発明に係る半導体装置では、複数行複数列に配置され、各々がデータを不揮発的に記憶する複数のメモリ回路を含み、通常のデータが格納される第１のブロックと、半導体装置の制御に関するプログラムデータが格納される第２のブロックとに分割されたメモリアレイと、アドレス信号に従って複数のメモリ回路のうちのいずれかのメモリ回路を選択する選択回路と、選択回路によって選択されたメモリ回路のデータの書込／読出を行なう書込／読出回路と、書込／読出回路によって読出されたプログラムデータを記憶するレジスタと、レジスタに記憶されたプログラムデータに従って半導体装置を制御する制御回路とが設けられる。これにより、第２のブロックを制御するために必要な制御線や駆動回路を第１のブロックと共有することできる。したがって、第１のブロックと第２のブロックとが別々のメモリアレイに設けられていた従来に比べて、レイアウト面積が小さな半導体装置が実現できる。
【図面の簡単な説明】
【図１】この発明の実施の形態１による半導体集積回路装置の概略構成を示すブロック図である。
【図２】ＭＴＪメモリセルの構成およびデータ記憶原理を説明するための概念図である。
【図３】ＭＴＪメモリセルのデータ書込の電流と、トンネル磁気抵抗素子の磁化方向との関係を示す概念図である。
【図４】図１に示した半導体集積回路装置の読出系を説明するためのブロック図である。
【図５】図１に示した半導体集積回路装置の書込系を説明するためのブロック図である。
【図６】図４および図５に示した構成をより具体的に示した回路図である。
【図７】図６に示した選択増幅部の構成を示す回路図である。
【図８】図７に示した切換回路の構成をより詳細に示す回路図である。
【図９】半導体集積回路装置の正規メモリセルの書込／読出動作を説明するためのタイムチャートである。
【図１０】半導体集積回路装置のプログラムメモリセルの読出動作を説明するためのタイムチャートである。
【図１１】この発明の実施の形態２による内部電圧制御回路の構成を示すブロック図である。
【図１２】図１１に示した内部電圧制御回路を用いてＭＲＡＭデバイスの内部電圧を制御する構成を示す回路図である。
【図１３】図１２に示した分圧回路およびリセット回路の構成を詳細に示す回路図である。
【図１４】調整信号Ｐ０〜Ｐ３の設定と動作テスト結果例を示す概念図である。
【図１５】図１２に示した書込制御部の構成を示すブロック図である。
【符号の説明】
１  コントロール回路、２  正規メモリアレイ、３  スぺアメモリアレイ、４プログラムメモリアレイ、５  正規行デコーダ、６  プログラム行デコーダ、７列デコーダ、８  書込／読出制御回路、９  選択増幅部、１０  多数決論理回路、１１  プログラムレジスタ、１２  一致検出回路、１３  スペア制御回路、１４  内部電圧制御回路、１５  タイミング制御回路、１６  出力回路、２１〜２３  正規メモリセルブロック、２４〜２６  リファレンスセルコラム、２７〜２９  スペアメモリセルコラム、３０〜３２  プログラムメモリセルブロック、３３〜３９  セレクタ、４０〜４５  接続部、５１  選択部、５２  増幅部、５３〜５５  センスアンプ、６１〜６９  ライトドライバ、７０  分配回路、７１〜７８，８１〜８８，１１１〜１１４  ＮチャネルＭＯＳトランジスタ、９１，１０１〜１０４，１３２〜１３４  接続ゲート、１０５，１４１  論理回路、１２１〜１２６  切換回路、１３１  デコーダ、１４２，１４３，１９０〜１９３ＡＮＤ回路、１５１  内部電圧発生回路、１５２  ＢＩＳＴ回路、１５３  テストメモリ、１６１  内部回路群、１６２，１６９  分圧回路、１６３  セレクタ回路、１６４  リセット回路、１６５，１７３  電圧比較器、１６６  ＰチャネルＭＯＳトランジスタ、１６７，１７０固定抵抗回路、１６８，１７１  可変抵抗回路、１７２  入力端子、１７４，２０１，２０２，２０４  ラッチ回路、１７５  スイッチ回路、１７６  書込制御部、１７７  メモリ部、１７８  読出制御部、１７９  出力端子、１８１〜１８５  抵抗素子、１８６〜１８９  バイパススイッチ、１９４〜１９７  インバータ、２０３  ＥＸ−ＯＲ回路、２０５書込回路。
【図１】
2005032336.tif 000003
【図２】
2005032336.tif 000004
【図３】
2005032336.tif 000005
【図４】
2005032336.tif 000006
【図５】
2005032336.tif 000007
【図６】
2005032336.tif 000008
【図７】
2005032336.tif 000009
【図８】
2005032336.tif 000010
【図９】
2005032336.tif 000011
【図１０】
2005032336.tif 000012
【図１１】
2005032336.tif 000013
【図１２】
2005032336.tif 000014
【図１３】
2005032336.tif 000015
【図１４】
2005032336.tif 000016
【図１５】
2005032336.tif 000017