本出願人による前記先の出願は、一つのフラッシュメモリ中の閉じた範囲内において欠陥救済やトリミングに当該フラッシュメモリの記憶素子を用いようとするものである。本発明者は、システムオンチップなどに代表されるような集積度の大規模化に鑑み、大規模集積回路に搭載された一つの回路モジュールである不揮発性メモリを別の回路モジュールとの関係で効率的に利用することについて検討した。この検討過程において本発明者は、不揮発性メモリの記憶情報を当該不揮発性メモリとは別の揮発性メモリの欠陥救済等に利用することを考えた。本発明者は、揮発性メモリのそのような利用の検討において、次のような新たな課題を認識した。
すなわち不揮発性メモリに救済情報を持たせるのにその救済情報を揮発性メモリに反映させる処理が必要となる。そのような情報の反映は、揮発性メモリの構成に応ずる欠陥の増大や記憶容量の大容量化に従う欠陥の増大に対応するような救済情報量の増大があったとしても、高速に実現できるようにすることが望まれる。
この検討の後で行なわれた調査において、キャッシュメモリの欠陥救済にプログラマブルROMを用いる公知技術(特開平6−131897号公報)が見出された。しかし、同公知技術のプログラマブルROMはキャッシュメモリ内の冗長メモリ制御回路に付属する専用の回路要素であって、キャッシュメモリ内に閉じた範囲内での救済策に過ぎず、結果論的に対比したとしても本発明者による前記検討課題に対して何ら示唆を与えるものではなかった。
本発明の目的は、制御処理装置によってアクセス可能にされた不揮発性メモリと揮発性メモリとが搭載された大規模な論理構成を有する回路において、欠陥救済のような結合変更の変更効率を向上させることができる半導体集積回路を提供することにある。
更に、本発明は、大規模な論理を有する故にコスト低減の要請が厳しくなる半導体集積回路の歩留まり向上によってコスト低減を実現することを目的とする。
本発明の他の目的は、DRAMやSRAM等の揮発性メモリをメモリモジュールとして含む半導体集積回路において、前記メモリモジュールの欠陥救済に関する仕様を統一化することにより、メモリモジュールの使い勝手を向上させることにある。
本発明のさらに他の目的は、コンピュータを用いて半導体集積回路を設計する際に利用されるところの設計データが記憶されたデータ記憶媒体を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
本発明による第1の半導体集積回路(1A,1C)は、1個の半導体基板に、中央処理装置のような制御処理装置(10)によってアクセス可能にされる電気的に書き換え可能な不揮発性メモリ(11)と、前記制御処理装置によってアクセス可能な揮発性メモリ(12,13)とを有し、揮発性メモリの欠陥救済に対応するような接続変更をするために不揮発性メモリの記憶情報を利用する。すなわち、前記揮発性メモリは、正規の揮発性メモリセルのような第1の揮発性メモリセルと冗長用の揮発性メモリセルのような第2の揮発性メモリセルを複数個有し、前記第2の揮発性メモリセルによって前記第1の揮発性メモリセルを差しかえ可能とするための結合制御情報を保持する揮発性記憶回路(12AR,13AR)を有する。前記不揮発性メモリは、複数個の不揮発性メモリセルを有し、その一部は前記結合制御情報を記憶する不揮発性メモリセルとされ、前記半導体集積回路に対する初期化動作指示のような結合制御情報の読み出し設定動作によって前記結合制御情報を不揮発性メモリセルから読み出して出力する。前記揮発性記憶回路は、前記読み出し設定動作によって、不揮発性メモリからの結合制御情報を取り込み保存する。
本発明による第2の半導体集積回路(1B)は、前記に加えて不揮発性メモリの欠陥救済にも不揮発性メモリの記憶情報を利用する。すなわち、前記揮発性メモリは、複数の正規の揮発性メモリセルと冗長用の揮発性メモリセルと前記冗長用の揮発性メモリセルによって不良の正規揮発性メモリセルを救済するための救済情報を保持する揮発性記憶回路(12AR,13AR)とを有する。前記不揮発性メモリは、複数の正規の不揮発性メモリセルと冗長用の不揮発性メモリセルと前記冗長用の不揮発性メモリセルによって不良の正規不揮発性メモリセルを救済するための救済情報を保持する揮発性記憶回路(11AR)とを有する。前記不揮発性メモリセルの一部は前記揮発性メモリの救済情報及び不揮発性メモリの救済情報を記憶するメモリセルとされる。不揮発性メモリセルの一部に記憶されている救済情報は、前記半導体集積回路に対する初期化動作のような読み出し設定動作の実行によって不揮発性メモリセルから読み出され、前記揮発性メモリにおける前記揮発性記憶回路及び前記不揮発性メモリにおける前記揮発性記憶回路にそれぞれ供給され保持される。
前記第1及び第2の半導体集積回路によれば、欠陥救済のような結合制御のための情報は、ヒューズ素子のような素子にかえて不揮発性メモリに書き込まれることになり、ヒューズ素子の使用のときに必要となるようなヒューズプログラム回路を不用にすることができる。それに応じて、ヒューズ切断のためのレーザ切断装置のような比較的高価となりがちな製造装置の使用や工程を制限することができるようになり、製造コストの削減が可能となる。ヒューズ素子を設けるときには、半導体集積回路の配線として考慮されるアルミニウム配線層や、信号伝播遅延時間の更なる短縮が期待される銅配線のようなレーザ切断を困難とする層にかかわらずに、ヒューズ素子の切断を可能とするために、ヒューズ素子を半導体基板上の比較的上層部分に位置させた方が良いとする構造上の理由から、更に半導体基板表面を覆う絶縁膜、表面保護膜へのレーザ光による熱的ダメージ付与を回避するために、ヒューズ素子上の絶縁膜、表面保護膜にレーザ照射用開口を設けておかなければならず、製造プロセスが複雑になるという理由から、半導体集積回路それ自体も高価になる。加えて、ヒューズ素子を設けるときには、レーザ光照射の都合などから、素子それ自体のサイズの縮少化が制限され、半導体基板のサイズが比較的大きなものになってしまう。ヒューズプログラム回路を用いなければ、製造プロセスも簡素になる。結合制御情報を記憶するために不揮発性メモリを利用する場合には、情報の書換えが任意の時期にでき、かつ複数回にわたってできるという利点を享受することができる。これによって、例えばバーン・イン工程のような半導体集積回路の製造の比較的後の工程で発生した欠陥に対するような結合変更や、システム若しくは回路基板に実装してから経時的に発生する欠陥に対するような結合変更についても充分に応えることが可能である。これにより、不揮発性メモリと一緒に揮発性メモリが搭載された大規模な論理構成を有する回路を、製造後に変更できることにより充分に利用することができるようになる。したがって、大規模な論理を有する半導体集積回路の歩留まり向上によってコスト低減を実現することができる。
前記不揮発性メモリ、及び揮発性メモリの夫々のデータ入出力端子が共通接続されるデータバス(16)に前記夫々の揮発性記憶回路(11AR,12AR,13AR)のデータ入力端子を結合し、中央処理装置のような制御処理装置による初期化動作のような結合制御情報の読み出し設定動作によって、不揮発性メモリから出力される結合制御情報を前記データバスを介して対応する揮発性記憶回路に伝達させることができる。これにより、制御処理装置による前記不揮発性メモリのアクセスと言う点で当該不揮発性メモリの汎用利用性を保証することができる。
揮発性メモリにおける揮発性記憶回路を前記データバスに接続する構成を採用すれば、前記揮発性メモリの数が増えても、救済情報のような結合制御情報の伝達のための特別の配線の追加などを考慮しなくて良い。
結合救済情報全体のビット数がデータバスのビット数以下であればデータバスの信号線を個々の揮発性記憶回路のデータ入力端子に別々に接続することによって、全ての揮発性記憶回路に結合制御情報を並列的にロードすればよい。
半導体集積回路の規模が大きい場合には、それに応じて欠陥のような結合変更の頻度も高まり、結合制御情報が増大する可能性が大きくなる。増大した結合制御情報に対してデータバス幅すなわちデータバスのビット数が小さい場合には、各揮発性記憶回路への結合制御情報のロードを直列的に行わせることができる。すなわち、この場合には、半導体集積回路に対する初期化の指示のような設定動作の指示に応答して前記結合制御情報を不揮発性メモリセルから複数サイクルに分けて順番に読み出しデータバスに出力させるときに、前記データバスを介して読み出しサイクル毎に供給される結合制御情報を前記読み出しサイクル毎に、順番に前記揮発性記憶回路に取り込ませ、保持させればよい。
特に、システムオンチップなどに代表される集積度の大規模化に鑑みると、次のことが明らかであろう。すなわち、上述のように大規模集積回路に搭載された一つの回路モジュール又はメモリモジュールである不揮発性メモリを別の回路モジュール又はメモリモジュールとの関係で効率的に利用可能なように、不揮発性メモリの記憶情報を当該不揮発性メモリとは別の揮発性メモリの欠陥救済等の結合制御に利用するようにしている。この場合の前記データバスを介する結合制御情報の転送、そして、結合制御情報の複数サイクルに分けた直列的な内部転送による手段は、揮発性メモリの大容量に従って欠陥のような結合制御対象となる情報が増えるとき、その情報量の増大に対してその情報を個々の揮発性メモリに反映させる処理を高速に実現できるようにする、と言う点で優れている。
前記揮発性記憶回路への結合制御情報のロードを簡単な構成で行うには、前記揮発性記憶回路は半導体集積回路に初期化を指示するリセット信号(RESET)のリセット期間指示を意味する第1の状態に応答して前記不揮発性メモリから出力される前記結合制御情報を保持し、前記リセット信号の第1の状態からリセット解除ないしは終了を意味する第2の状態への変化に応答して制御処理装置がリセット例外処理を開始するようにすればよい。この場合、リセット信号は、結合制御情報のロードに必要な期間だけ第1の状態に維持される必要がある。換言すれば、リセット信号によるリセット解除タイミングが早過ぎてはならない。
リセット信号のリセット解除タイミングの実質的な制約なしに結合制御情報のロード動作が充分にできるように、半導体集積回路に初期化を指示するリセット信号(RESET)の第1の状態(リセット期間)に応答して初期化されるクロック制御回路(19,20)を設けることができる。このクロック制御回路は、前記リセット信号の第1の状態から第2の状態への変化に応答して前記揮発性記憶回路に前記不揮発性メモリからの前記結合制御情報を取り込ませ保持させ、その後、中央処理装置にリセット例外処理を開始させる。
不揮発性メモリが書き換え可能であることに応じて、そこに予め書き込まれていた結合制御情報が誤って書き換えられてしまうおそれがでてくる。そのような不都合を極力排除するには、前記不揮発性メモリには、救済情報格納用の不揮発性メモリセルに対する書換えを許容する動作モードと抑止する動作モードとをモードビット(MB2)によって設定可能にするとよい。
また、半導体集積回路の外部に接続される書き込み装置により前記不揮発性メモリセルに対する書換えを許容する動作モードと、中央処理装置による命令実行に従って前記不揮発性メモリセルに対する書換えを許容する動作モードとをモードビット(MB1)によって設定可能にすることもできる。このようにすれば、結合制御情報の書き込みを実装ボード上で(すなわちオンボードで)又は書き込み装置の何れにおいても実施することができる。半導体集積回路の実装後に生ずる欠陥に対応するような結合変更を容易に実現可能にするには、オンボード書き込みモードをサポートすることが望ましい。
オンボード書き込みによる欠陥救済要求のような結合制御情報の更新のために、前記不揮発性メモリは診断プログラムを格納してもよい。前記診断プログラムは、前記不揮発性メモリ及び揮発性メモリに対して不良検出を行い、新たな不良のメモリセルを救済するための救済情報を不揮発性メモリの救済情報格納用の不揮発性メモリセルに書き込む処理を前記中央処理装置に実行させる。
本発明による第3の半導体集積回路(30)は、不揮発性メモリ(11)に格納して用いる情報を欠陥に対する救済情報以外にも拡張したものである。すなわち、1個の半導体基板に、夫々データバス(16)を共有する中央処理装置(10)のような制御処理装置と、電気的に書き換え可能であって前記制御処理装置によってアクセス可能な不揮発性メモリ(11)と、前記制御処理装置によってアクセス可能な揮発性メモリ(12、13)とを有する。前記不揮発性メモリ及び揮発性メモリは、前記データバスにデータ入力端子が接続するレジスタ手段(11AR,12AR,13AR,AR,31DR,12DR,13DR)を夫々有し、夫々対応する前記レジスタ手段に設定された機能制御情報に従ってそれぞれの機能の一部が決定されるようにされる。前記不揮発性メモリは、複数個の不揮発性メモリセルを有し、その一部は前記機能制御情報を含む初期化データを記憶する不揮発性メモリセルとされる。前記不揮発性メモリはまた、初期化データ記憶用の不揮発性メモリセルに対する書換えを許容する動作モードと抑止する動作モードとを有し、前記半導体集積回路に対する初期化の指示に応答して不揮発性メモリセルから前記初期化データを読み出して出力するようにされる。前記レジスタ手段は、前記半導体集積回路に対する初期化の指示に応答して前記不揮発性メモリからの初期化データを取り込み、保持する。
この第3の半導体集積回路において、リセットの指示に応答してデータ量の多い初期化データを各レジスタ手段に確実にロードするには、半導体集積回路に初期化を指示するリセット信号の第1の状態に応答して初期化されるようなクロック制御回路を設けると良い。このクロック制御回路は、例えば前記リセット信号の第1の状態から第2の状態への変化のような状態変化に応答して相互に活性タイミングがずらされた複数相の第1のタイミング信号を出力し、その後に、前記制御処理装置にリセット例外処理を開始させるための第2のタイミング信号を出力するようにされる。前記不揮発性メモリは、前記複数相の第1のタイミング信号の活性タイミングに応答して前記初期化データを不揮発性メモリセルから複数サイクルに分けて順番に読み出してデータバスへ出力する。前記レジスタ手段は、不揮発性メモリからの前記初期化データの読み出しサイクル毎に、順番にデータバスのデータを取り込み保持する入力設定動作を行う。
前記不揮発性メモリは、これに対応される前記レジスタ手段が保持した情報を、冗長用の不揮発性メモリセルによって不良の正規不揮発性メモリセルを救済するための救済情報として利用することができる。
前記揮発性メモリは、これに対応される前記レジスタ手段が保持した情報を、冗長用の揮発性メモリセルによって不良の正規揮発性メモリセルを救済するための救済情報として利用することができる。
前記揮発性メモリは、揮発性メモリセルとしてダイナミック型メモリセルを有し、その揮発性メモリに対応される前記レジスタ手段が保持した情報を、前記ダイナミック型メモリセルのリフレッシュインターバルを規定するための制御情報として利用する構成にされても良い。
前記揮発性メモリは、また、これに対応される前記レジスタ手段が保持した情報を、内部制御信号のタイミングを規定するための制御情報として利用する構成にされても良い。
この第3の半導体集積回路においても前記と同様に、不揮発性メモリと一緒に揮発性メモリが搭載された大規模な論理構成を有する回路の結合変更を効率的に行なうことができる。したがって、大規模な論理を有する半導体集積回路の歩留まり向上によってコスト低減を実現することができる。
前記不揮発性メモリは例えばフラッシュメモリであり、一部の不揮発性メモリセルには前記制御処理装置が実行するプログラムを格納させることができる。前記揮発性メモリは例えばDRAMであり、前記中央処理装置のワークメモリとして利用することができる。前記揮発性メモリを例えばSRAMから成る高速アクセスメモリとすることができる。
DRAMやSRAM等の揮発性メモリ(12,13)をメモリモジュールとして含む半導体集積回路(1A、1B、1C)において、前記メモリモジュールは、そのメモリアレイに関する救済情報を揮発的に記憶するための揮発性記憶回路(12AR、13AR)を含む。前記揮発性記憶回路(12AR、13AR)は、前記半導体集積回路に形成されるべきデータバスに結合可能にされた複数の入力端子乃至入力ノードと、前記半導体集積回路の初期化動作のような救済情報の読み出し設定動作のための制御信号(reset)を受けるための制御信号入力端子とを有する。前記メモリモジュールは、正規の揮発性メモリセルのような第1揮発性メモリセルの複数と、冗長用の揮発性メモリセルのような第2揮発性メモリセルの複数とを有し、前記揮発性記憶回路(12AR、13AR)は前記第2揮発性メモリセルによって前記第1揮発性メモリセルを差し換え可能にするための救済情報を保持可能にする。
このように、前記揮発性記憶回路(12AR、13AR)に設定される前記救済情報を前記メモリモジュールの外部から前記メモリモジュール内部の前記揮発性記憶回路(12AR、13AR)へ供給するような構成とし、半導体集積回路に内蔵されるメモリモジュールの欠陥救済に関係する回路乃至機能仕様を標準化乃至統一化する。それによって、前記メモリモジュールをメモリモジュール部品、いわゆる、IP(知的財産)部品として販売する場合、前記メモリモジュールの使い勝手を向上させることができる。
前記メモリモジュール含む半導体集積回路はコンピュータ(電子計算機)から成る設計装置によって設計されるので、前記揮発性記憶回路(12AR、13AR)の構成を定めるためのレイアウトデータ、回路機能データ乃至結線データなどの設計データは、コンピュータが理解できる様な特定のコンピュータ言語によって記述されたデータとされる。そして、そのデータは、磁気テープ、MO(マグネトー・オプチカル・ディスク)、CD−ROM乃至フロッピーディスク(登録商標)などの記憶媒体として提供される。また、前記揮発性記憶回路(12AR、13AR)の設計データは、DRAMやSRAM等の揮発性メモリのメモリモジュールの回路機能の設計データと共に、データ記憶媒体に格納されて提供されても良い。さらにまた、前記揮発性記憶回路(12AR、13AR)の設計データは、DRAMやSRAM等の揮発性メモリのメモリモジュールの設計データの内部に組み込まれた状態で、データ記憶媒体に格納されても良い。
このように、メモリモジュールの設計乃至それを含む半導体集積回路の設計データをコンピュータが理解できる様な特定のコンピュータ言語によって記述された設計データとして記憶媒体に記憶させて提供することにより、メモリモジュールの設計乃至それを含む半導体集積回路の設計を効率的に行うことができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、欠陥救済のような結合変更のためのヒューズプログラム回路が不用になり、ヒューズ切断のための装置や工程が省け、テスティングコストを削減することができ、しかも、銅配線系プロセスのようなプロセスに対してもヒューズのレーザ熔断開口部を形成することを要しないため製造プロセスが簡素になる。不揮発性メモリに対する結合制御情報の書換えが可能であるから、バーン・イン工程のような製造工程の後の方で発生する欠陥やシステム若しくは回路基板に実装してから発生する欠陥に対するような結合変更要求に充分に応えることができる。
これにより、中央処理装置のような制御処理装置と共に、不揮発性メモリと一緒に揮発性メモリが搭載された大規模な論理構成を有する回路の結合変更を効率的に行なうことができる。したがって、大規模な論理を有する半導体集積回路の歩留まり向上によってコスト低減を実現することができる。
特に、システムオンチップなどの大規模化に鑑みると、大規模集積回路に搭載された不揮発性メモリを別の回路モジュールとの関係で効率的に利用するために、不揮発性メモリの記憶情報を当該不揮発性メモリとは別の揮発性メモリの結合変更等に利用するようにしたが、データバスを介する結合制御情報の転送、そして、結合制御情報の複数サイクルに分けた直列的な転送による手段は、揮発性メモリの大容量に従って結合変更の機会が増えるとき、その制御情報量の増大に対してその情報を個々の揮発性メモリに反映させる処理を高速に実現できるようにする、と言う点で優れている。
《第1のシングルチップマイクロコンピュータ》
図1には本発明の半導体集積回路の一例に係る第1のシングルチップマイクロコンピュータが示される。同図に示されるシングルチップマイクロコンピュータ1Aは、単結晶シリコンなどから成る1個の半導体基板に形成され、システムオンチップされたシステムLSIとして位置付けられる。
シングルチップマイクロコンピュータ1Aは、夫々代表的に示されたCPU(中央処理装置)10、不揮発性メモリの一例であるフラッシュメモリ11、揮発性メモリの一例であるDRAM12、揮発性メモリの別の例であるSRAM13、及び入出力回路14等を有する。各メモリ11、12及び13は、それぞれメモリモジュールと見なすことができる。前記CPU10、フラッシュメモリ11、DRAM12、SRAM13及び入出力回路14はアドレスバス15、Nビットのデータバス16及びコントロールバス17を共有している。
前記入出力回路14は、特に制限されないが、外部アドレスバス18A、外部データバス18D及び外部コントロールバス18C等に接続されており、その内部に前記バス18A、18D、18Cに接続されて図示しない入出力ポート、前記外部バス18A,18D,18Cに対するバスサイクルの起動などを制御するバスコントローラ、そして、シリアルインタフェース回路に代表される入出力周辺回路等を有している。
前記CPU10は、特に制限されないが、演算論理ユニット(ALU)、プログラムカウンタ(PC)、スタックポインタ(SP)、ステータスレジスタ(SR)のような専用レジスタ及びワークエリアとして利用される汎用レジスタ群とからなる実行ユニットと、前記フラッシュメモリ11に格納されたプログラムデータ乃至オペレション・システム・プログラムから供給されるプログラム命令が順次に入力される命令レジスタと、前記命令レジスタに格納された命令をデコードし、前記実行ユニットに対する制御信号を発生する命令デーコーダとを含む制御ユニットとによって構成される。前記実行ユニットは、前記アドレスバス15、データバス16及び制御バス17に結合され、前記アドレスバス15への選択的なアドレス信号の出力、前記制御バスへの選択的な制御信号の出力,及びデータバスを介するデータの入出力を制御する。したがって、前記CPU10は、前記フラッシュメモリ11に格納されたプログラムデータ乃至オペレション・システム・プログラムにしたがって、前記半導体集積回路の動作を全体として制御する。
前記DRAM12はCPU10のワークメモリ又はメインメモリとして利用されるところの比較的大容量のリードライトメモリである。前記DRAM12は、システムの大規模化に応じて例えば数ギガ・ビットのような大容量を有する。DRAM12のメモリセルアレイ12MAは、正規のワード線WLd_0〜WLd_Ndの他に冗長ワード線WLdRを有する。正規のワード線WLd_0〜WLd_Ndには正規のダイナミック型メモリセルの選択端子が結合され、冗長ワード線WLdRには冗長用のダイナミック型メモリセルの選択端子が結合されている。メモリセルの構成は正規用と冗長用で相異する点は設定されなくても良い。正規のワード線WLd_0〜WLd_Ndの内のどのワード線を冗長ワード線WLdRの選択に置き換えるかは、救済アドレスレジスタ12ARに設定される救済情報によって決定される。救済情報に含まれる救済ロウアドレス情報はアドレス比較回路12ACによってアドレスバッファ12ABからのロウアドレス信号と比較される。アドレス比較回路12ACは比較結果が一致するとき、論理値“1”の検出信号12φをXデコーダ12XDに与える。検出信号12φが論理値“1”のとき、Xデコーダ12XDは、アドレスバッファ12ABからのロウアドレスによるワード線選択動作を抑止し、これに代えて冗長ワード線WLdRを選択する。これにより、不良のワード線に係るメモリアクセスは冗長ワード線WLdRに係る冗長用のメモリセルの選択動作に代えられる。DRAM12のその他の構成は後で説明する。
前記SRAM13は、例えばレジスタファイルやデータバッファメモリなどの高速アクセスメモリとして利用される。SRAM13のメモリセルアレイ13MAは、正規のワード線WLs_0〜WLs_Nsの他に冗長ワード線WLsRを有する。正規のワード線WLs_0〜WLs_Ndには正規のスタティック型メモリセルの選択端子が結合され、冗長ワード線WLsRには冗長用のスタティック型メモリセルの選択端子が結合されている。正規のワード線WLs_0〜WLs_Nsの内のどのワード線を冗長ワード線WLsRの選択に置き換えるかは、救済アドレスレジスタ13ARに設定される救済情報によって決定される。救済情報に含まれる救済ロウアドレス情報はアドレス比較回路13ACによってアドレスバッファ13ABからのロウアドレス信号と比較される。アドレス比較回路13ACは比較結果が一致するとき、論理値“1”の検出信号13φをXデコーダ13XDに与える。検出信号13φが論理値“1”のとき、Xデコーダ13XDは、アドレスバッファ13ABからのロウアドレスによるワード線選択動作を抑止し、これに代えて冗長ワード線WLsRを選択する。これにより、不良のワード線に係るメモリアクセスは冗長ワード線WLsRに係る冗長用のメモリセルの選択動作に代えられる。SRAM13のその他の構成は後で説明する。
前記フラッシュメモリ11は、コントロールゲートとフローティングゲートを有する電気的に書換え可能な不揮発性メモリセルをマトリクス配置したメモリセルアレイ11MAを有する。メモリセルアレイ11MAは、前記CPU10の動作プログラムと、前記DRAM12及びSRAM13の前記救済情報とを格納する領域として用いられる。前記メモリセルアレイ11MAには不揮発性メモリセルのコントロールゲートに結合されたワード線WLf_0〜WLf_Nfと不揮発性メモリセルのドレインに結合されたビット線BLf_0〜BLf_Mfが設けられている。このワード線WLf_0〜WLf_Nfとビット線BLf_0〜BLf_Mfの構成は図1の紙面の表裏方向にN組設けられているものと理解されたい。この例では、ワード線WLf_0とビット線BLf_0が交差する位置に配置されたNビット分の不揮発性メモリセルが前記救済情報の格納領域になる。フラッシュメモリ11の消去、書き込み、ベリファイ及び読み出し動作等のタイミング制御等はシーケンスコントローラ11SQが行う。その動作の指示は、特に制限されないが、CPU10などからのコマンドによって与えられる。特に制限されないが、フラッシュメモリ11は、ワード線単位で消去可能にされている。
CPU10はフラッシュメモリ11等に格納されている命令をフェッチして解読し、その解読結果に従って、命令実行に必要なオペランドをDRAM12やSRAM13等から取得し、取得したオペランドに演算を施し、その演算結果を再びDRAM12やSRAM13に格納するといった演算処理を実行して、プログラムに記述された一連のデータ処理を行う。CPU10は、リセット信号RESETがハイレベルにされると、実行途中の処理があってもその処理を全て打ち切って、内部回路の所要ノードを所定の論理値状態にイニシャライズする。このリセット期間(リセット信号RESETのハイレベル期間)にはCPU10内部の初期化だけでなく、図示を省略する周辺回路の内部レジスタに対しても初期化が行なわれる。更に、以下に説明する前記救済アドレスレジスタ12AR,13ARの初期化も行なわれる。前記リセット信号RESETは、動作電源投入によるパワーオンリセット或いはシステムリセット等の何れの指示にも応答してハイレベルに変化される。リセット信号RESETがローレベルにネゲートされると、CPU10はリセット例外処理を開始する。リセット期間中におけるCPU10内部の初期化は、プログラムカウンタ、スタックポインタ、及びステータスレジスタなどの制御用レジスタ等に対して行なわれる。また、パワーオンリセットの場合には電源が投入されてからリセットが解除されるまでの間に、クロック発生回路の動作が安定化され、リセット解除後には安定したクロック信号がCPU10などに供給可能にされる。尚、図1においてクロックパルスジェネレータは図示を省略してあるが、実際には、振動子と分周回路などを有し、動作基準クロック信号をCPU10と始めとする種々の内部回路にクロック信号を供給するようになっている。
前記フラッシュメモリ11は、リセット信号RESETのリセット期間に応答して救済情報のリード動作を行う。即ち、シーケンスコントローラ11SQはリセット期間を検出すると、リード動作可能にセンスアンプ11SA及び出力バッファ11OBを活性化する。また、Xデコーダ11XD及びYデコーダ11YDは前記リセット信号RESETによって指示されるリセット期間に応答して、ワード線WLf_0及びビット線BLf_0を選択する。これにより、前記救済情報を格納したNビットのメモリセルの記憶情報はNビットのデータバス16に出力される。
前記救済アドレスレジスタ12AR,13ARは救済情報を格納するために例えばN/2ビット分のスタティックラッチを有する。特に制限されないが、救済アドレスレジスタ12ARを構成するスタティックラッチのデータ入力端子は、リセット信号RESETのハイレベル(論理値“1”)の期間にNビットのデータバス16の下位N/2ビットに導通され、その間に入力したデータを、リセット信号RESETのローレベルへの反転動作によってラッチすることができる。他方の救済アドレスレジスタ13ARを構成するスタティックラッチのデータ入力端子は、リセット信号RESETのハイレベル(論理値“1”)の期間にNビットのデータバス16の上位N/2ビットに導通され、その間に入力したデータを、リセット信号RESETのローレベルへの反転動作によってラッチすることができる。したがって、リセット期間が終了されると、フラッシュメモリ10からデータバス16に読み出された下位側の救済情報がDRAM12の救済アドレスレジスタ12ARに、上位側の救済情報がSRAM13の救済アドレスレジスタ13ARにラッチされる。それ以降、DRAM12、SRAM13では救済情報で特定されるロウアドレスのアクセスがあれば、冗長ワード線による救済が行われる。
図2には救済情報の詳細な一例が示される。この例では前述の通り救済情報は全部で最大Nビットである。SRAM13の救済情報においてAS3〜AS0は救済対象ロウアドレス情報であり、RE_Sはその救済対象ロウアドレス情報の有効性を示すSRAM救済イネーブルビットである。このビットRE_Sは論理値“1”によってロウアドレス情報AS3〜AS0の有効性を示す。救済アドレスレジスタ13ARにロードされたSRAM救済イネーブルビットRE_Sは、論理値“1”の場合にはアドレス比較回路13ACを活性化し、論理値“0”の場合にはアドレス比較回路13ACを非活性状態に保って検出信号13φを不一致レベル“0”に固定する。同様にDRAM12の救済情報においてAD3〜AD0は救済対象ロウアドレス情報であり、RE_Dはその救済対象ロウアドレス情報の有効性を示すDRAM救済イネーブルビットである。このビットRE_Dは論理値“1”によってロウアドレス情報AD3〜AD0の有効性を示す。救済アドレスレジスタ12ARにロードされたDRAM救済イネーブルビットRE_Dは、論理値“1”の場合にはアドレス比較回路12ACを活性化し、論理値“0”の場合にはアドレス比較回路12ACを非活性状態に保って検出信号12φを不一致レベル“0”に固定する。
図3にはリセット期間における救済情報のイニシャルロード処理のタイミングが示される。電源投入によるパワーオンリセット、或いはシステムリセットなどによって、リセット信号RESETがハイレベルにされている期間がリセット期間である。投入された電源が安定すると、ワード線WLf_0とYセレクタYSf_0が選択され、データバス16にはDRAM12とSRAM13の救済情報が並列的に読み出される。読み出されたDRAM12の救済情報は救済アドレスレジスタ12ARに、SRAM13の救済情報は救済アドレスレジスタ13ARにロードされ、ロードデータはリセット解除によってラッチされる。
図1において、フラッシュメモリ11の前記シーケンスコントローラ11SQは、モードレジスタ11MRを有し、モードレジスタ11MRの設定内容に従ってフラッシュメモリ11の動作を決定する。
モードレジスタ11MRは公知のフラッシュメモリと同様に、書き込み動作を指示する書き込みイネーブルビット、消去動作を指示する消去イネーブルビット等を有する。図示を省略する前記書き込みイネーブルビット、消去イネーブルビットによって書き込み動作、消去動作が指示されたとき、メモリセルアレイ11MAにおけるアクセス可能な範囲はモードビットMB2の設定状態によって決る。また、その時のアクセス主体は、モードビットMB1の値によって決る。すなわち、モードレジスタ11MRはデータバス16を介してアクセス可能であるが、その内の特定のモードビットMB1には、シングルチップマイクロコンピュータ(以下単にマイクロコンピュータとも称する)1Aの外部端子P1の値を直接反映させることも可能である。モードビットMB1は、マイクロコンピュータの外部に接続されるEPROMライタなどの書き込み装置によりフラッシュメモリ11に対する書換えを許容する動作モード(EPROMライタモード)を指定するビットとされる。モードビットMB1が論理値“1”にされると、マイクロコンピュータ1Aは見掛け上フラッシュメモリ単体の半導体集積回路(バススレーブ)と等価な外部インタフェース機能を持つように外部入出力回路14の機能が変更され、また、CPU10の動作も停止される。すなわち、前記モードビットMB1の論理値“1”に応答して、CPU10のアドレスバス15、データバス16及びコントロールバス17に結合されるバッファ回路はハイインピーダンス状態とされて、CPU10が各バス15,16,17から電気的に切り離される。このEPROMライタモードにおいて、外部入出力回路14は外部からアドレス信号を入力してアドレスバス15に供給し、外部からのリード信号によるリード動作の指示に応答してデータバス16のデータを外部に出力し、また、外部からのライト信号によるライト動作の指示に応答してデータを入力してデータバス16に供給する。一方、前記モードビットMB1が論理値“0”のときフラッシュメモリ11はCPU10の制御によってアクセス可能にされる。すなわち、CPU10の各バス15,16,17に結合されるバッファ回路は、モードビットMB1の論理値“0”に応答して、CPU10を各バス15,16,17と電気的に接続する。
前記モードレジスタ11MRのモードビットMB2は、前記ワード線WLf_0とYセレクタYSf_0とによって選択可能な救済情報格納用の不揮発性メモリセルに対する書換えを許容するか否かを決定する制御ビットであり、論理値“0”によって救済情報の書換えを可能にし、論理値“1”によって救済情報の書換えを阻止する。シーケンスコントローラ11SQは、モードビットMB2が論理値“1”のとき、消去動作及び書き込み動作において、ロウアドレス信号に拘わらずワード線WLf_0のレベルを消去及び書き込みの双方を共に阻止する電圧、例えば0Vにする。これにより、ワード線単位で行なわれる消去、Nビット単位で行なわれる書き込み動作は、ワード線WLf_0に接続するメモリセルに対して一切阻止される。モードビットMB2が論理値“0”のときはワード線WLf_0のメモリセルに対しても自由に消去及び書き込みが可能にされる。
前記動作モードの設定が可能にされるマイクロコンピュータ1Aにおいて、DRAM12及びSRAM13に対する欠陥救済は、図4の(A)に例示さるように、先ず、マイクロコンピュータ1Aのメーカによるウェーハプロセスで形成されたチップに対する最初のプローブ検査(S1)の結果に対して行うことができる(S2)。このときの救済では、モードビットMB1によってマイクロコンピュータ1AをEPROMライタモードとし、テスタ若しくはEPROMライタのような専用書き込み装置を用いてフラッシュメモリ11をアクセスできるようにし、モードビットMB2を論理値“0”にして、フラッシュメモリ11の所定領域に救済情報を書き込む。その後、再度プローブ検査を行って(S3)、パッケージング(S4)、電源電圧Vddを通常動作時より高くして信頼性をテストするバーン・イン・テスト(S5)を経て、選別(S6)が行なわれる。バーン・イン・テストなどの影響で新たな不良が発見された不良品には欠陥救済の機会を与えることができる(S7)。例えば、ステップS2で欠陥の無かったマイクロコンピュータ1Aにバーン・イン・テストなどにより欠陥が顕在化した場合、前述と同じようにして、欠陥を救済することができる(S7)。欠陥救済品に対して再度選別(S8)が行なわれた後、製品が出荷される(S9)。その製品を購入したユーザは当該マイクロコンピュータを所要の回路基板に実装し、実装された回路は適宜動作されることになる(S10)。この動作中には前記モードビットMB2を論理値“1”にして、救済情報が誤って書き換えられないようにしておく。このオンボード状態で動作されるマイクロコンピュータ1Aに、必要に応じて欠陥診断用のテストプログラム(診断プログラム)を実行させて、欠陥の有無を判定し、発見された欠陥に対しては、オンボード状態でマイクロコンピュータ1Aに内蔵のCPU10を介して欠陥救済を施すことができる(S11)。例えば、製造工程において全く欠陥の無かったマイクロコンピュータ1Aが経時的に回路素子若しくは回路要素の特性が劣化して欠陥を生じた場合や、動作温度、動作電圧などの動作環境の変化に応じて新たに欠陥が生じた場合にも、それに対処することができる。ヒューズを用いた欠陥救済技術である図4の(B)と比較した場合、救済可能な時期は3倍以上に増える。
前記オンボード書き込みによる欠陥救済のための診断プログラム及びオンボード書き込み時に実行される書き込みプログラムはフラッシュメモリ11のワード線WLf_0以外の領域に格納しておくことができる。診断プログラムの実行は割り込みなどによってCPU10に任意に指示し、或いはタイマなどを用いて自動的に実行できるようにしてもよい。診断プログラムの内容はここでは詳細に図示しないが、SRAM12及びDRAM13に所定のテストパターンを書き込んでから読み出し、読み出したデータと期待値データとを比較して欠陥の有無を判定し、欠陥が有れば、救済可能な冗長構成が余っているかを調べる処理を行なう。救済可能な冗長構成が余っている場合には、その欠陥を救済するための救済情報をフラッシュメモリ10の救済情報格納用の不揮発性メモリセルに書き込むため、前記CPU10に前記書き込みプログラムを実行させて、救済情報をフラッシュメモリ11の所定のメモリセルへ書き込ませる処理を行う。救済可能な冗長構成が余っていない場合には、CPU10はエラーステータスビットをセットし、それに応じた割り込み処理(例えばサービスマンコールの表示)を行うようにすることができる。
前記システムLSIとしてのシングルチップマイクロコンピュータ1Aは、欠陥救済のためのヒューズプログラム回路が不用になり、ヒューズ切断のための装置や工程が省け、テスティングコストを削減することができる。銅配線系プロセスのようなヒューズのレーザ熔断開口部の形成プロセスが複雑であると言う事情に対しても、ヒューズプログラム回路を用いないので、製造プロセスが簡素になる。例えば図5に例示されるように、その表面に図示しないMOSFETのような回路素子が形成される単結晶シリコンからなるシリコン基板(Si基板)100上の最下層のポリシリコン配線層102の上にそれぞれ窒化チタン(TiN)層105,111,117等を介して形成される銅配線層が第1層106から第5層(112,118,124,130)まであるとすると、レーザ溶断可能なポリシリコンヒューズをファイナルパッシベーション膜132を通して露出させるための開口133を形成するとき、配線層平坦化のための配線埋め込み溝を形成するときのエッチング用ストッパである何層もの窒化シリコン(SiN)層131、127,125、121,119,115,113,109,107,103を一度にエッチングで除去することが難しいため、層間絶縁膜(酸化シリコン)128,126,122等のエッチングのためのエッチングガスとSiN層のエッチングガスを交互に何回も切換えなければならず、製造工程数が著しく増えてしまう。欠陥救済にヒューズプログラム回路を用いなければ銅配線を用いるプロセスにおいて何ら問題を生じない。すなわち、本発明の半導体集積回路1Aないし後述される半導体集積回路1B及び1Cは、図5のデバイス断面図からヒューズ102Cを省いたデバイス構造とされる。それによって、配線抵抗が小さく、且つ、高周波動作が可能な半導体集積回路1A、1B、1Cを提供できる。
また、フラッシュメモリ11に対する救済情報の書換えが可能であるから、バーン・インの後に発生した欠陥も新たに救済でき、更に、システム若しくは回路基板に実装してから経時的に発生する欠陥に対しても救済を施すことが可能である。
これにより、CPU10と共に、フラッシュメモリ11と一緒にDRAM12やSRAM13などの揮発性メモリが搭載された大規模な論理構成を有するシングルチップマイクロコンピュータ1A等の回路の欠陥に対して救済効率を向上させることができる。したがて、大規模な論理を有する半導体集積回路1Aの歩留まり向上によってコスト低減を実現することができる。
ここで、前記DRAM12、SRAM13及びフラッシュメモリ11について以上で説明を省略した構成について補足説明を行う。
《DRAM》
前記DRAM12において、メモリセルアレイ12MAは、図6に例示されるようなアドレス選択用MOSFETQSと情報保持用キャパシタCSとからなり、選択用端子としてのMOSFETQSのゲートが対応するワード線WLに接続され、データ入出力端子としてのMOSFETQSのドレインもしくはソースが対応するビット線BLに接続された、公知のダイナミック型メモリセルDMCを多数備える。キャパシタCSの1つの電極は、共通電極PLとされ、電源電圧の半分に等しいような所定の電源が与えられる。メモリセルアレイ12MAは、図7に例示されるように、スタティックラッチ形態のセンスアンプSAdに対して公知の折り返しビット線構造を有し、ビット線BLd_0〜BLd_Mdを備えている。ビット線BLd_0〜BLd_Mdと交差する方向にはワード線WLd_0〜WLd_Ndが配置され、更に、欠陥救済のための冗長ワード線WLdRが設けられている。特に図示はしないが冗長ビット線を採用することも可能である。ビット線BLd_0〜BLd_MdはYセレクタYSd_0〜YSd_Mdを介してコモンデータ線12CDに共通接続される。図1に示されるように、前記ワード線WLd_0〜WLd_Ndと冗長ワード線WLdRはXデコーダ12XDによって一本が選択される。YセレクタYSd_0〜YSd_MdはYデコーダ12YDのデコード出力によって一つがオン状態にされる。図1において、メモリセルアレイ12MA及びYセレクタYSd_0〜YSd_Mdは紙面の表裏方向にN組設けられていると理解されたい。したがって、Xデコーダ12XD及びYデコーダ12YDによる選択動作が行われると、コモンデータ線12CDにはNビット単位でデータの入出力が行なわれることになる。書き込みデータはデータバス16から入力バッファ12IBに供給され、入力データに従って書き込みバッファ12WBがコモンデータ線12CDを介してビット線をドライブする。データ読み出し動作ではビット線からコモンデータ線12CDに伝達された読み出しデータをメインアンプ12MAで増幅し、これを出力バッファ12OBからデータバス16に出力する。
前記冗長ワード線WLdRによって救済すべき正規ワード線のロウアドレスを特定する救済情報は前記救済アドレスレジスタ12ARに設定されている。この救済アドレスレジスタ12ARは複数ビットのスタティックラッチから成り、そのデータ入力端子は、リセット信号RESETのハイレベルに応答してデータバス16に導通され、データバス16から救済情報がロードされる。ロードされた救済情報が有効であるとき、その救済情報はアドレス比較回路12ACによって前記アドレスバッファ12ABからのロウアドレス信号と比較される。比較結果が一致のとき、検出信号12φが論理値“1”にされ、それ以外は論理値“0”にされる。前記Xデコーダ12XD及びYデコーダ12YDは、アドレスバス15のアドレス信号がアドレスバッファ12ABを介して供給され、供給されたアドレス信号をデコードする。特にXデコーダ12XDは、アドレス比較回路12ACから供給される検出信号12φが不一致を意味する論理値“0”のときはアドレスバッファ12ABからのロウアドレス信号をデコードするが、検出信号12φが一致を意味する論理値“1”のときにはアドレスバッファ12ABからのロウアドレス信号のデコードが禁止され、代わりに冗長ワード線WLdRを選択する。これにより、不良のワード線に係るメモリアクセスは冗長ワード線WLdRに係る冗長用のメモリセルの選択動作に代えられる。
DRAM12の内部タイミング制御はタイミングコントローラ12TCが行う。タイミングコントローラ12TCにはコントロールバス17を介してCPU10からリード信号及びライト信号等のストローブ信号が供給されると共に、アドレスバス15からメモリ選択信号とみなされる複数ビットのアドレス信号が供給される。タイミングコントローラ12CTによってDRAM12の動作選択が検出されると、Xデコーダ12XD等の回路が活性化され、リード信号によって読み出し動作が指示されているときは、メモリセルアレイ12MAで選択されたメモリセルの記憶情報がメインアンプ12MAや出力バッファ12OBを介してデータバス16に出力され、ライト信号によって書き込み動作が指示されているときは、メモリセルアレイ12MAで選択されたメモリセルには、入力バッファ12IB及び書き込みバッファ12WBを介して入力されたデータが書き込まれる。
《SRAM》
前記SRAM13は、メモリセルアレイ13MAに、図8に例示されるような公知のCMOSスタティック型メモリセルSMCを多数備える。すなわち、CMOSスタティック型メモリセルSMCは、図8のようにPチャンネル型MOSFETQP1、QP2とNチャンネル型MOSFETQN1ないしQN4とからなる。QP1とQN1の相互、QP2とQN2の相互は、それぞれCMOSインバータを構成するとみなされ、その入力端子と出力端子が交差接続されることによって全体として1つのCMOSラッチ回路を構成する。QN3とQN4は、選択スイッチを構成する。QN3とQN4のゲートは、メモリセルの選択端子を構成し、対応するワード線WLに接続される。対応する対のビット線BL、BBLに接続されたQN3、QN4のドレインもしくはソースは、メモリセルのデータ入出力端子とされる。メモリセルは抵抗負荷型のスタティックラッチ形態に構成してもよい。メモリセルアレイ13MAは、図9に例示されるように、相補ビット線BLs_0,BLBs_0〜BLs_Ms,BLBs_Msを備えている。相補ビット線BLs_0,BLBs_0〜BLs_Ms,BLBs_Msと交差する方向にはワード線WLs_0〜WLs_Nsが配置され、更に、欠陥救済のための冗長ワード線WLsRが設けられている。特に図示はしないが冗長ビット線を採用することも可能である。相補ビット線BLs_0,BLBs_0〜BLs_Ms,BLBs_MsはYセレクタYSs_0,YSBs_0〜YSs_Ms,YSBs_Msを介してコモンデータ線13CDに共通接続される。図1に示されるように、前記ワード線WLs_0〜WLs_Nsと冗長ワード線WLsRはXデコーダ13XDによって一本が選択される。YセレクタYSs_0,YSBs_0〜YSs_Ms,YSBs_MsはYデコーダ13YDのデコード出力によって一対がオン状態にされる。図1において、メモリセルアレイ13MA及びYセレクタYSs_0,YSBs_0〜YSs_Ms,YSBs_Msは紙面の表裏方向にN組設けられていると理解されたい。したがって、Xデコーダ13XD及びYデコーダ13YDによる選択動作が行われると、コモンデータ線13CDにはNビット単位でデータの入出力が行なわれることになる。書き込みデータはデータバス16から入力バッファ13IBに供給され、入力データに従って書き込みバッファ13WBがコモンデータ線13CDを介してビット線をドライブする。データ読み出し動作ではビット線からコモンデータ線13CDに伝達された読み出しデータをセンスアンプ13SAで増幅し、これを出力バッファ13OBからデータバス16に出力する。
前記冗長ワード線WLsRによって救済すべき正規ワード線のロウアドレスを特定する救済情報は救済アドレスレジスタ13ARに設定されている。この救済アドレスレジスタ13ARは複数ビットのスタティックラッチから成り、そのデータ入力端子は、リセット信号RESETのハイレベルに応答してデータバス16に導通され、データバス16から救済情報がロードされる。ロードされた救済情報が有効であるとき、その救済情報はアドレス比較回路13ACによって前記アドレスバッファ13ABからのロウアドレス信号と比較される。比較結果が一致のとき、検出信号13φが論理値“1”にされ、それ以外は論理値“0”にされる。前記Xデコーダ13XD及びYデコーダ13YDは、アドレスバス15のアドレス信号がアドレスバッファ13ABを介して供給され、供給されたアドレス信号をデコードする。特にXデコーダ13XDは、アドレス比較回路13ACから供給される検出信号13φが不一致を意味する論理値“0”のときはアドレスバッファ13ABからのロウアドレス信号をデコードするが、検出信号13φが一致を意味する論理値“1”のときにはアドレスバッファ12ABからのロウアドレス信号のデコードが禁止され、代わりに冗長ワード線WLsRを選択する。これにより、不良のワード線に係るメモリアクセスは冗長ワード線WLsRに係る冗長用のメモリセルの選択動作に代えられる。
SRAM13の内部タイミング制御はタイミングコントローラ13TCが行う。タイミングコントローラ13TCにはコントロールバス17を介してCPU10からリード信号及びライト信号等のストローブ信号が供給されると共に、アドレスバス15からメモリ選択信号とみなされる複数ビットのアドレス信号が供給される。タイミングコントローラ13CTによってSRAM13の動作選択が検出されると、Xデコーダ13XD等の回路が活性化され、リード信号によって読み出し動作が指示されているときは、メモリセルアレイ13MAで選択されたメモリセルの記憶情報がセンスアンプ13SAや出力バッファ13OBを介してデータバス16に出力され、ライト信号によって書き込み動作が指示されているときは、メモリセルアレイ13MAで選択されたメモリセルには、入力バッファ13IB及び書き込みバッファ13WBを介して入力されたデータが書き込まれる。
《フラッシュメモリ》
前記フラッシュメモリ11は、メモリセルアレイ11MAに、図10に例示される不揮発性メモリセル(フラッシュメモリセル)FMCを多数備える。メモリセルFMCは、コントロールゲート(CG)、フローティングゲート(FG)、ソース(SC)及びドレイン(DR)を持つ1個のメモリセルトランジスタによって構成される。メモリセルアレイ11MAは、図11に例示されるように、フラッシュメモリセルFMCのドレインが結合されたビット線BLf_0〜BLf_Mf、フラッシュメモリセルFMCのコントロールゲートが結合されたワード線WLf_0〜WLf_Nf、及びフラッシュメモリセルFMCのソースが結合されたソース線SLfを有する。特に制限されないが、この例では、ソース線SLfは各メモリセルFMCに共通化されている。ビット線BLf_0〜BLf_MfはYセレクタYSf_0〜YSf_Mfを介してコモンデータ線11CDに共通接続される。図1に示されるように、前記ワード線WLf_0〜WLf_Nfに対する選択動作はXデコーダ11XDによって行う。選択ワード線と非選択ワード線に対する供給電圧は、消去、書き込み、読み出しの各動作に応じて前記シーケンスコントローラ11SQが制御する。YセレクタYSf_0〜YSf_MfはYデコーダ11YDのデコード出力によって一つがオン状態にされる。図1において、メモリセルアレイ11MA及びYセレクタYSf_0〜YSf_Mfは紙面の表裏方向にN組設けられていると理解されたい。したがって、Xデコーダ11XD及びYデコーダ11YDによる選択動作が行われると、メモリセルとコモンデータ線11CDとの間ではNビット単位でデータの入出力が可能になる。書き込みデータはデータバス16から入力バッファ11IBに供給され、入力データに従って書き込みバッファ11WBがコモンデータ線11CDを介してビット線をドライブする。データ読み出し動作ではビット線からコモンデータ線11CDに伝達された読み出しデータをセンスアンプ11SAで増幅し、これを出力バッファ11OBからデータバス16に出力する。この例では、消去動作はワード線単位で行なわれる。尚、図1に図示を省略したソース線には、消去、書き込み、読み出しの各動作モードに応じたソース線電圧が前記シーケンスコントローラ11SQから与えられる。
フラッシュメモリ11のシーケンス制御及び電圧制御は前記シーケンスコントローラ11SQが行う。ここでは、シーケンスコントローラ11SQによる電圧制御態様を説明する。先ず、メモリセルFMC(Nチャンネル型のMOS形式メモリセルトランジスタ)は、フローティングゲート内の電荷の多い・少ないに応じて情報を保持する事が可能である。例えばフローティングゲート内に電荷が注入されるとメモリセルのしきい値電圧は上昇する。コントロールゲートに印加する電圧値以上にしきい値電圧を上げる事によりメモリ電流は流れなくなる。またフローティングゲートから電荷を放出することによってそのしきい値電圧は低下される。コントロールゲートに印加される電圧値よりもしきい値電圧が低くされることにより、メモリ電流が流れるようになる。例えば、図12に例示されるように、低いしきい値電圧の状態を“0”情報保持状態(例えば書き込み状態)、高いしきい値電圧の状態を“1”情報保持状態(例えば消去状態)と割り当てる事が可能となる。これは定義上の事であるので、逆の定義を与えても何ら問題は無い。メモリ動作はリード(read)、書込み(program)及び消去(erase)に大別される。書込みベリファイ及び消去ベリファイはリードと実質的に同じである。
読み出し動作では、コントロールゲートCGに読み出し電位(例えばVcc=5V)が印加される。このときの選択メモリセルの記憶情報は、そのメモリセルに電流が流れるか流れないかによって、その“0”、“1”が判定される。消去においては、図13に例示されるように、コントロールゲートCGに正電圧(例えば10V)を印加しメモリセルのソースに負電圧(例えば−10V)を印加する。ドレインDRはフローティングであってもよいし、或いはウェルと同じ負電圧(例えば−10V)であってもよい。このことによりフローティングゲート内にトンネル効果によって電荷を注入する事が可能となる。その結果、メモリセルFMCのしきい値電圧が上昇する。消去ベリファイは、ベリファイのためのワード線電圧が異なるだけで前記読み出し動作と実質的に同じである。書き込みにおいては、図13に例示されるように、コントロールゲートCGに負電位(例えば−10V)を印加し、ドレインDRには正電圧(例えば7V)を与え、ソースSCをフローティングにする。このことによりドレインに正電圧が印加されたメモリセルのみ電荷の放出が行なわれる。その結果、メモリセルFMCのしきい値電圧は減少する。この後の書込みベリファイ動作も前記読み出しと同様に行われる。
《第2のシングルチップマイクロコンピュータ》
図14には本発明に係る半導体集積回路の別の例である第2のシングルチップマイクロコンピュータが示される。同図に示されるシングルチップマイクロコンピュータ1Bは、欠陥救済用の冗長構成を有する点が図1のものと相違される。すなわち、メモリセルアレイ11MAは、正規のワード線WLf_0〜WLf_Nfの他に冗長ワード線WLfRを有する。冗長ワード線WLfRにも前記メモリセルFMCのコントロールゲートが結合され、それらのドレインは対応するビット線に、ソースは前記ソース線に結合されている。正規のワード線WLf_0〜WLf_Nfの内のどのワード線を冗長ワード線WLfRの選択に置き換えるかは、救済アドレスレジスタ11ARに設定される救済情報によって決定される。救済情報に含まれる救済ロウアドレス情報はアドレス比較回路11ACによってアドレスバッファ11ABからのロウアドレス信号と比較される。アドレス比較回路11ACは比較結果が一致するとき、論理値“1”の検出信号11φをXデコーダ11XDに与える。検出信号11φが論理値“1”のとき、Xデコーダ11XDは、アドレスバッファ11ABからのロウアドレスによるワード線選択動作を抑止し、これに代えて冗長ワード線WLfRを選択する。これにより、不良のワード線に係るメモリアクセスは冗長ワード線WLfRに係る冗長用のメモリセルの選択動作に代えられる。
この構成において、リセット期間中における救済情報のデータバス16への読み出しは図1の場合と同様に1回で行われる構成に変わりはない。したがって、図14の場合には、全部で最大Nビットの救済情報を1回で3個の救済アドレスレジスタ11AR,12AR,13ARに振り分けなければならない。これを満足するように、3個の救済アドレスレジスタ11AR,12AR,13ARのデータ入力端子は、Nビットのデータバスの各ビットの信号線と重複することなく別々に結合さているものとする。
図15にはフラッシュメモリ11の救済情報格納領域に格納された救済情報の一例が示されている。図2に比べて、フラッシュメモリ11の救済ロウアドレスAF3〜AF0とフラッシュメモリの救済イネーブルビットRE_Fが増えている。データバス16に読み出される救済情報が全部でNビットであるなら、データバス16の信号線は、図15の配列を維持して対応する救済アドレスレジスタ11AR,12AR,13ARのデータ入力端子に結合されている。前記ビットRE_Fは論理値“1”によってロウアドレス情報AF3〜AF0の有効性を示す。救済アドレスレジスタ11ARにロードされた救済イネーブルビットRE_Fは、論理値“1”の場合にはアドレス比較回路11ACを活性化し、論理値“0”の場合にはアドレス比較回路11ACを非活性状態に保って検出信号11φを不一致レベル“0”に固定する。
図16にはリセット期間における救済情報のイニシャルロード処理のタイミングが示される。電源投入によるパワーオンリセット、或いはシステムリセットなどによって、リセット信号RESETがハイレベルにされている期間がリセット期間である。投入された電源が安定すると、ワード線WLf_0とYセレクタYSf_0が選択され、データバス16にはフラッシュメモリ11、DRAM12及びSRAM13の救済情報が並列的に読み出される。読み出されたフラッシュメモリ11の救済情報は救済アドレスレジスタ11ARに、DRAM12の救済情報は救済アドレスレジスタ12ARに、SRAM13の救済情報は救済アドレスレジスタ13ARにロードされ、ロードデータはリセット解除によってラッチされる。
このシングルチップマイクロコンピュータ1Bによればフラッシュメモリ11で発生する欠陥に対しても救済することができる。その他の点は図1のシングルチップマイクロコンピュータ1Aと同じであり、その詳細な説明は省略する。
《第3のシングルチップマイクロコンピュータ》
図17には本発明に係る半導体集積回路の更に別の例である第3のシングルチップマイクロコンピュータが示される。同図に示されるシングルチップマイクロコンピュータ1Cは、フラッシュメモリから救済情報を読み出す動作を複数サイクルとし、複数個の救済アドレスレジスタには救済情報の読み出しサイクル毎に順番にデータをラッチさせるようにした点が図1のものと相違される。すなわち、シングルチップマイクロコンピュータ1Cには、リセット信号RESETによるリセット指示(リセット期間)に応答して初期化されるクロック制御回路として、クロックパルスジェネレータ(CPG)19と制御回路20を設ける。
前記クロックパルスジェネレータ19は例えば発振子を用いた発振回路と分周回路或いはPLL回路等を有し、動作電源が投入され、リセット信号RESETがアサートされて内部動作が安定してクロック信号を発生可能になった後、リセット信号RESETがネゲートされるのに応答して、クロック信号CLKRを発生する。図18に例示されるように、クロック信号CLKRは、特に制限されないが、3回発生され、これが前記制御回路20に与えられる。CPU10はクロックパルスジェネレータ19から発生されるリセット信号RSTによって初期化される。CPU10のリセット期間は、図18に例示されるように、クロック信号CLKRの3発目が発生されるまでである。リセット信号RSTによるリセット期間が終了すると、CPU10は、クロックパルスジェネレータ19から発生されるクロック信号CLKに同期して、リセット例外処理を開始する。
CPU10に対するリセット信号RSTによるリセット期間において、制御回路20は救済情報のイニシャルロード制御を行う。即ち、図18に例示されるように、制御回路20は、クロック信号CLKRの第1サイクル及び第2サイクルの期間に制御信号φW0をアサートし、その第1サイクルに応答して制御信号φB0をアサートし、第2サイクルに応答して制御信号φB1をアサートする。前記シーケンスコントローラ11SQは制御信号φW0のアサート期間に応答してセンスアンプ11SA及び出力バッファ11OBを活性化し、読み出し動作可能にフラッシュメモリの電圧制御を行う。前記Xデコーダ11XDは制御信号φW0のアサート期間に応答してワード線WLf_0に読み出し選択レベルを与える。Yデコーダ11YDは制御信号φB0のアサート期間にYセレクタYSf_0によってビット線BLf_0を選択する。これにより、制御信号φB0のアサート期間(クロック信号CLKRの第1サイクル)にデータバス16には、ワード線WLf_0とビット線BLf_0との交差位置にあるNビットのメモリセルから救済情報が読み出される。このとき、前記制御信号φB0はDRAM12の救済アドレスレジスタ12ARに供給され、前記制御信号φB0のハイレベル期間でデータバス16のデータを入力し、ローレベルによってその入力データをラッチするから、その救済情報が救済アドレスレジスタ12ARにラッチされる。また、Yデコーダ11YDは次の制御信号φB1のアサート期間ではYセレクタYSf_1によってビット線BLf_1を選択する。これにより、制御信号φB1のアサート期間(クロック信号CLKRの第2サイクル)にデータバス16には、ワード線WLf_0とビット線BLf_1との交差位置にあるNビットのメモリセルから救済情報が読み出される。このとき、前記制御信号φB1はSRAM13の救済アドレスレジスタ13ARに供給され、当該レジスタ13ARは前記制御信号φB1のハイレベル期間でデータバス16のデータを入力し、ローレベルによってその入力データをラッチするから、その救済情報が救済アドレスレジスタ13ARにラッチされる。
したがって、ワード線WLf_0とビット線BLf_0との交差位置にあるメモリセルにDRAM12の救済情報を格納し、ワード線WLf_0とビット線BLf_1との交差位置にあるメモリセルにSRAM13の救済情報を格納しておけば、シングルチップマイクロコンピュータ1Cのリセット指示に応答して、救済情報をNビット単位で順番にDRAM12及びSRAM13に内部転送することができる。一つの回路に対する救済情報の内部転送回数は1回に限定されず、当該回路の論理規模に比例する冗長の論理規模に応じて適宜決定することができる。例えば、Yデコーダに供給する制御信号の数を増やし、制御信号毎に別々のYセレクタを選択させ、救済情報を入力する回路の救済アドレスレジスタの数も必要に応じて増やせばよい。図1で説明した構成の場合には、救済情報の初期ロード動作の期間はリセット信号RESETのリセット期間に依存する。初期ロードすべき救済情報の量が多い場合には、マイクロコンピュータの外部でリセット信号RESETによるリセット期間を制御しなければならない。図17の場合には、リセット信号RESETによってクロックパルスジェネレータ19の動作が安定化した後は、マイクロコンピュータ1C内部の制御回路20が救済情報のイニシャルロード処理を自律的に制御するから、初期ロードすべき救済情報の量が多い場合であっても、マイクロコンピュータ外部で特別な操作を要することなく、救済情報のイニシャルロードを確実に行うことができる。その他の点は図1のシングルチップマイクロコンピュータ1Aと同じであり、その詳細な説明は省略する。
また、システムオンチップ化などに代表される集積度の大規模化に鑑みると、大規模集積回路に搭載された一つの回路モジュールであるフラッシュメモリ11を別の回路モジュールとの関係で効率的に利用するために、フラッシュメモリ11の記憶情報を当該フラッシュメモリ11とは別のSRAM13やDRAM12の欠陥救済等に利用した。このとき、前記データバス16を介する救済情報の内部転送、そして、救済情報の複数サイクルに分けた直列的な内部転送による構成は、SRAM13やDRAM12等の大容量に従って欠陥が増えるのに比例して救済情報が増えるとき、救済情報量の増大に対してその情報を個々のSRAM13やDRAM12に反映させる処理を高速に実現できるようにする、という点で重要である。
《ブロック置換》
今まで説明した冗長への置き換えはアドレス比較によって行うものであったが、図19に例示されるように、メモリマットも若しくはメモリブロックの置換によって行うことも可能である。例えば、メモリマットMAT0〜MAT7は正規メモリセルがマトリクス配置されたメモリブロックである。この例では、各メモリブロック毎に1ビットのデータ入出力端子D0〜D7が割当てられ、その間にはYセレクタ回路YSW0〜YSW7、リード・ライト回路(センスアンプ及びライトアンプ)RW0〜RW7等が配置されている。欠陥救済用のメモリセルがマトリクス配置された冗長メモリマットMATRが設けられ、この冗長メモリマットMATRには冗長用のYセレクタ回路YSWR及びリード・ライト回路RWRが接続されている。メモリマットMAT0〜MAT7及び冗長メモリマットMATRは相互に同じ回路構成を有している。Yセレクタ回路YSW0〜YSW7、YSWRは、対応するメモリマットから1本のビット線若しくは1対の相補ビット線を選択する。
メモリマットMAT0〜MAT7の内の一つを冗長メモリマットMATRに置き換え可能にするために、セレクタSEL0〜SEL7が設けられている。セレクタSEL0〜SEL7は、リード・ライト回路RWRの入出力端子とリード・ライト回路RW0〜RW7の入出力端子との何れか一方を選択してデータ入出力端子D0〜D7に接続する。セレクタSEL0〜SEL7に対する選択制御信号はデコーダDLが生成し、デコーダDLには救済情報レジスタARから救済情報が与えられる。救済情報のイニシャルロードの手法は前記と同じである。
図19の例に従えば、救済情報は、救済イネーブルビットREと、3ビットの選択ビットA2〜A0から成る。デコーダDLは選択ビットA2〜A0の相補信号に対してデコード論理を構成するアンドゲートAND0〜AND7によって構成され、アンドゲートAND0〜AND7の出力が対応するセレクタSEL0〜SEL7の選択端子に供給される。各アンドゲートAND0〜AND7には救済イネーブルビットREが供給され、これが論理値“1”の救済イネーブル状態にされたとき、デコード動作を行うことができる。換言すれば、救済イネーブルビットREが論理値“0”の状態では、各アンドゲートAND0〜AND7の出力選択信号は全て非選択レベルに強制される。
メモリマットも若しくはメモリブロックの置換によって救済を行えば、アドレス比較動作が不要であり、アクセスタイムの高速化に資することができる。また、救済可能な規模に対して救済情報のビット数が少なくて済む。したがって大容量DRAMなどの場合には好適である。但し、冗長によって占有されるチップ面積はアドレス比較を行う構成に比べて大きくなる。図19の構成は、前記SRAD13、DRAM12、フラッシュメモリ11の何れにも適用することが可能である。
《トリミング回路への適用》
以上の説明では冗長のための救済情報をフラッシュメモリ11に格納して用いる例を説明したが、救済情報の代わりに、又は、救済情報と共に、トリミング情報を格納して用いるようにすることも可能である。以下、トリミング情報を用いて回路特性を決定することができる回路の例を幾つか説明する。
図20には降圧電源回路を有するシングルチップマイクロコンピュータの一例が示される。降圧電源回路31はシングルチップマイクロコンピュータ30の外部から与えられる5Vや3.3Vのような電源電圧VDDを降圧して内部電源電圧VDLを生成する。降圧された内部電源電圧VDLはCPU10、フラッシュメモリ11、DRAM12、SRAM13などの動作電源として用いられる。このような降圧電圧VDLを用いるのは、集積度及び動作速度を向上させるために回路素子が微細化されているとき、回路動作の信頼性を保証するため、更には低消費電力を実現するためである。外部とインタフェースされる入出力回路14は、外部電源電圧VDDを動作電源とする。VSSは回路の接地電圧である。この降圧電源回路31は、内部電源電圧VDLのレベルを規定するための参照電圧を決定する制御情報(電圧トリミング情報)をラッチする電圧トリミングレジスタ31DRを有する。このレジスタ31DRに対する電圧トリミング情報のイニシャルロードは、前述の救済情報のイニシャルロードと同様に、リセットの指示に応答して前記フラッシュメモリ11からデータバス16に電圧トリミング情報が読み出され、読み出された電圧トリミング情報がレジスタ31DRにラッチされる。
図21には前記降圧電源回路31の一例が示される。降圧電圧はnチャンネル型MOSトランジスタM5と抵抗素子R5から成るソースフォロア回路から出力される。トランジスタM5のコンダクタンスはオペアンプAMP2によって負帰還制御される。電圧VDLは論理的に制御電圧VDL1に等しくされる。制御電圧VDL1は、nチャンネル型MOSトランジスタM4と抵抗素子R0〜R4から成るソースフォロア回路から出力される。トランジスタM4のコンダクタンスはオペアンプAMP1によって負帰還制御される。その帰還系は、抵抗R0〜R4による抵抗分圧比を選択可能なスイッチMOSトランジスタM0〜M3が設けられて、トリミング回路を構成している。スイッチMOSトランジスタM0〜M3の選択は、2ビットの電圧トリミング情報TR1,TR0をデコードするデコーダDEC1が行う。そのようにして形成される帰還電圧は基準電圧発生回路VGE1で発生される基準電圧とオペアンプAMP1で比較される。このオペアンプAMP1は、制御電圧VDL1が参照電圧Vrefに等しくなるように負帰還制御を行う。
前記降圧電源回路31の素子特性が、製造プロセスの影響によって、比較的大きくばらついた場合、内部電源電圧VDL1が設計値的な所望範囲内に入るようにデコーダDEC1で選択する抵抗分圧比を変更する。そのための情報は、デバイステストによって把握される回路特性から予め得ることができ、前述のように、EPROMライタモードなどによってフラッシュメモリ11の所定領域(前記救済情報の格納領域に相当する所定アドレスエリア)に予め書き込んでおけばよい。マイクロコンピュータ30がリセットされるとき、その電圧トリミング情報TR0,TR1はフラッシュメモリ11から電圧トリミングレジスタ31DRにイニシャルロードされる。
図22にはDRAM12のデータ保持モードにおいて、メモリセルのリフレッシュ間隔を制御するリフレッシュタイマの一例が示される。CMはモニタ用ストレージキャパシタであり、ダイナミック型メモリセルのストレージキャパシタよりも僅かにデータ保持時間が短くなるように設計されている。nチャンネル型MOSトランジスタM15はモニタ用ストレージキャパシタCMに対する充電用トランジスタである。このトランジスタM15は、図23に例示されるように、リフレッシュ動作期間にオン動作され、データ保持期間にオフ状態にされる。データ保持期間においてノードVNの電圧はモニタ用ストレージキャパシタCMのリークによってレベル低下される。レベル低下の度合は、コンパレータAMP3によって検出する。コンパレータAMP3はノードVNのレベルが参照電圧VR1よりも低くなると、ハイレベルを出力する。この状態はセット・リセット型のフリップフロップFFをセット状態にする。これによってカウンタCNTが計数動作を開始し、リフレッシュクロックφREFを生成する。このリフレッシュクロックφREFに同期してリフレッシュ動作が行われる。例えば、図示を省略するリフレッシュアドレスカウンタを順次インクリメントしながらリフレッシュクロックφREFのクロックサイクルに同期してワード線単位のリフレッシュ動作を行う。カウンタCNTのオーバーフローによるキャリーによってフリップフロップFFがリセットされ、一連のフレッシュ動作を終了する。リフレッシュ動作中、トランジスタM15はオン状態にされ、モニタ用ストレージキャパシタCMは、次のリフレッシュタイミングを検出するために充電されている。リフレッシュ動作が終了すると、トランジスタM15はカット・オフ状態にされ、再びリークによるリフレッシュタイミングの検出動作が行われる。
前記モニタ用ストレージキャパシタCMの電荷保持特性は、プロセスの影響を受けて変動することが予想され、例えば、DRAMの正規のメモリセルのストレージキャパシタの平均的な電荷保持特性を有している場合には、それよりも電荷保持特性の多くのメモリセルでデータエラー若しくはデータ破壊生じてしまう。そこで、モニタ用ストレージキャパシタCMの電荷保持性能に応じて、参照電圧VR1を調整可能な参照電圧発生回路12RFを採用することができる。
この参照電圧発生回路12RFは、図22に例示されるように、nチャンネル型MOSトランジスタM14と抵抗素子R10〜R14から成るソースフォロア回路から出力される。トランジスタM14のコンダクタンスはオペアンプAMP4によって負帰還制御される。その帰還系は、抵抗R10〜R14による抵抗分圧比を選択可能なスイッチMOSトランジスタM10〜M13が設けられて、トリミング回路を構成している。スイッチMOSトランジスタM10〜M13の選択は、2ビットの電圧トリミング情報RF1,RF0をデコードするデコーダDEC2が行う。そのようにして形成される帰還電圧は基準電圧発生回路VGE2で発生される基準電圧VRとオペアンプAMP4で比較される。このオペアンプAMP4は、参照電圧VR1が基準電圧VRに等しくなるように負帰還制御を行う。
前記モニタ用ストレージキャパシタCMの電荷保持性能が製造プロセスの影響により許容範囲を越えて変動した場合、デコーダDEC2で選択する抵抗分圧比を適当に変更する。そのための情報は、デバイステストによって把握されるキャパシタCMの電荷保持性能から予め得ることができ、前述のように、EPROMライタモードなどによってフラッシュメモリ11の所定領域(前記救済情報の格納領域に相当する所定アドレスエリア)に予め書き込んでおけばよい。マイクロコンピュータ30がリセットされるとき、その電圧トリミング情報TR0,TR1はフラッシュメモリ11からリフレッシュ最適化レジスタ12DRにイニシャルロードされる。
図24にはSRAM13のタイミングコントローラ13TCにおけるタイミング調整用ディレイ回路の一例として、センスアンプ活性化信号φSAのディレイ回路が示される。タイミングコントローラ13TCは、直列4段の遅延回路DL0〜DL3と、各遅延回路DL0〜DL3の出力を選択するCMOSトランスファゲートTG0〜TG3を有する。CMOSトランスファゲートTG0〜TG3の出力はワイヤード・オアされ、その結合ノードの信号がセンスアンプ活性化信号φSAとしてセンスアンプ13SAに供給される。何れのCMOSトランスファゲートTG0〜TG3をオン動作させるかは、2ビットのタイミング調整情報TM0,TM1をデコードするデコーダDEC3が行う。
SRAM13のアクセス速度が製造プロセスの影響により変動した場合、高速アクセスや或いはデータ読み出し動作の安定化とうい観点より、それに応じてセンスアンプの活性化タイミングを調整することが望ましい場合がある。それに応じて、CMOSトランスファゲートTG0〜TG3の選択状態を決定すればよい。そのための情報は、デバイステストによって把握されるアクアエス速度性能などから予め得ることができ、前述のように、EPROMライタモードなどによってフラッシュメモリ11の所定領域(前記救済情報の格納領域に相当する所定アドレスエリア)に予め書き込んでおけばよい。マイクロコンピュータ30がリセットされるとき、そのタイミング調整情報TM0,TM1は、救済情報と同じ手順によってフラッシュメモリ11からデータバス16を介してタイミング調整レジスタ13DRにイニシャルロードされる。
図14の欠陥救済、図21の電圧トリミング、図22のリフレッシュインターバル最適化、図24のタイミングコントローラのタイミング調整、の夫々で説明した技術は、図20に例示される一つのシングルチップマイクロコンピュータ30のような半導体集積回路に纏めて適用することができる。そのとき、フラッシュメモリ11に格納される情報は、回路の一部の機能を決定する初期化データとして位置付けることができ、例えば、図25の様なフォーマットでフラッシュメモリ11のメモリセルアレイ11MAに格納される。
図26には、コンピュータを使用して、半導体集積回路を設計するためのシステムの一例が示されている。
同図において、100はパーソナルコンピュータの様なコンピュータ(電子計算機とも記す)を示しており、101はデータを前記電子計算機に入力するためのキーボードである。また、102は、例えばフロッピイデイスクの様な記録媒体である。
この記録媒体には、予め半導体集積回路の設計に必要なデータが記録されている。例えば、図1に示されている様な半導体集積回路を設計するために、記録媒体102には、フラッシュメモリ(11)の構成を定めるデータ103、DRAM(12)の構成を定めるデータ104、救済アドレスレジスタ(12AR)の構成を定めるデータ105、データバス(16)の構成を定めるデータ106等が記録されている。
設計しようとしている物に応じて必要なデータを、前記記録媒体から電子計算機に読み出すことにより、電子計算機上で半導体集積回路の設計を行うことが出来る。
前記各データは、電子計算機が理解できるような特定のコンピュータ言語で書かれたプログラム(例えばRTL(Register Transfer Level)モデルやHDL(Hardware Description Language)モデル)、或いは実際に半導体集積回路を製造する際に使われるマスクに関するデータ(座標データ、接続配線データ)でも良い。勿論この両者を組み合わせたものを前記データとしても良い。
前記説明では、救済アドレスレジスタの構成を定めるデータが、データ105であるとしたが、勿論電気的特性を変更するために使われるレジスタ(例えば、図20に示されている電圧トリミングレジスタ、図22に示されているリフレッシュ最適化レジスタ、図24に示されているタイミング調整レジスタ、或いは図25に示されるようなそれらの複合レジスタ)の構成がこのデータ105によって定められるようにしても良い。
また、図1では、DRAM(12)内に救済アドレスレジスタ(12AR)及びアドレス比較回路(12AC)が設けられている様に説明されているが、これらをDRAM(メモリアレイ12MA、デコーダ12XD,12YD、Yセレクタ、書き込みバッファ、入力バッファ、メインアンプ、出力バッファ)の構成を定めるデータ104とは別のデータ105としてもよい。勿論、図1に示されているDRAM(12)を一つのデータ群として扱っても良い。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、本発明に係る半導体集積回路はシングルチップマイクロコンピュータに限定されず、また、シングルチップマイクロコンピュータの内蔵回路モジュールの種類も前記の例に限定されず、適宜変更である。また、電気的に書換え可能な不揮発性メモリには、フラッシュメモリに限定されず、選択MOSトランジスタとMNOS(メタル・ナイトライド・オキサイド・セミコンダクタ)形式の記憶トランジスタとから成るメモリセルを採用してもよい。また、フラッシュメモリの書き込み、消去の電圧印加状態は前記に限定されず適宜変更可能である。また、不揮発性メモリは4値以上の多値の情報を記憶するものであってもよい。また、揮発性メモリはSRAM、DRAMに限定されず、強誘電体メモリ等であってもよい。
DRAM、SRAM、フラッシュメモリのようなメモリにおいて、冗長ワード線は、アドレス比較回路によるアドレス比較結果によって選択されることになるので、その選択タイミングが正規ワード線のそれに比べて遅れがちとなる。その種のタイミングの遅れは、特に半導体集積回路が著しく早い動作サイクルをもって動作すべきときは無視できなくなる。そのような場合のために、面積の若干の増加が許容されるなら、冗長用のダイナミック型メモリセルにおける情報記憶用容量を正規用メモリセルにおけるそれよりもそのサイズを増大させたり、冗長用のスタティック型メモリセルやフラッシュ型メモリセルにおけるトランジスタのコンダクタンスを増大させるようにそのサイズを増大させることもできる。すなわち、この場合には、選択の冗長メモリセルからビット線に与えられる読み出し信号量を増大させることができ、それに応じて読み出しセンス動作タイミングを早めても正常なデータ読み出しが可能となる。これによって、冗長ワード線の選択タイミングの遅れによる影響は、メモリセル選択後のセンス動作の高速化によって実質的に軽減できる。
図22に関して説明したようなDRAMのリフレッシュ期間の調整技術は、変更可能である。いくつかのダイナミック型メモリセルのデータ保持時間特性が図22の容量CMの充電電圧保持特性に対し、比較的大きくずれている場合には、それらダイナミック型メモリセルの正常な動作期間内にリフレッシュ動作が繰り返されるように、図22の基準電圧VR1を積極的に変更することができる。DRAMのリフレッシュ動作保証のためのトリミングは、図22に代えて、半導体集積回路のシステムクロック信号のようなクロック信号をカウントし、リフレッシュタイミング信号を形成するカウンタないしはタイマのカウント数を変更する構成を採用することもできる。また、本発明はシステムオンチップされたシステムLSIにおいてその効果は大きいが、システムLSI以外の論理LSIにも適用できることは言うまでもない。さらに図1、図14又は図15において、各メモリモジュール11,12,13は1本の冗長ワードラインを含むように説明されたが、その本数は複数本とされても良い。それによって、救済効率が向上するばかりでなく、図14(A)に従う欠陥救済ステップS2、S7及びS10の各ステップにおいて、そのステップで検出された欠陥を救済できる。