(57)【要約】【課題】回路規模縮小が実現でき、且つプログラム時間を短縮可能な半導体集積回路装置及びメモリシステムを提供すること。【解決手段】第１ヒューズ３１−２、第１スイッチ３２−２、第１保持部３４−２、及び前記第１保持部３４−２に前記第１書込命令ＳＩが保持され且つ第２書込命令ＰＥｐが与えられた際に前記第１スイッチ３２−２をオンする第１命令部３３−２を備えた第１ブロック３０−２と、第２ヒューズ３１−１、第２スイッチ３２−１、第２保持部３４−１、及び前記第２保持部３４−１に前記第１書込ＳＩが保持され且つ第２書込命令ＰＥｐが与えられた際に前記第２スイッチ３２−１をオンする第２命令部３３−１を備えた第２ブロック３０−１と、前記第１、第２保持部３４−２、３４−１に前記第１書込命令ＳＩが保持されるタイミングで前記第２書込命令ＰＥｐを発行する制御部１０とを具備する。【選択図】図１
2010146636.tif 000002
【特許請求の範囲】
【請求項１】
第１ヒューズ素子と、オンすることにより前記第１ヒューズ素子にデータを書き込む第１スイッチ回路と、クロックに同期して転送される第１書き込み命令を保持可能な第１保持部と、前記第１保持部に前記第１書き込み命令が保持され、且つ第２書き込み命令が与えられた際に前記第１スイッチ回路をオンする第１命令部とを備えた第１機能ブロックと、
第２ヒューズ素子と、オンすることにより前記第２ヒューズ素子にデータを書き込む第２スイッチ回路と、クロックに同期して前記第１保持部から転送される第１書き込み命令を保持可能な第２保持部と、前記第２保持部に前記第１書き込み命令が保持され、且つ第２書き込み命令が与えられた際に前記第２スイッチ回路をオンする第２命令部とを備えた第２機能ブロックと、
前記第１、第２ヒューズ素子に対してデータを書き込む際に、それぞれ前記第１、第２保持部に前記第１書き込み命令が保持されるタイミングで前記第２書き込み命令を発行する制御部と
を具備することを特徴とする半導体集積回路装置。
【請求項２】
第１ヒューズ素子と、オンすることにより前記第１ヒューズ素子にデータを書き込む第１スイッチ回路と、クロックに同期して転送される第１書き込み命令を保持可能な第１保持部と、第２書き込み命令が与えられ、且つ前記第１保持部に前記第１書き込み命令が保持された際に前記第１スイッチ回路をオンする第１命令部とを備えた第１機能ブロックと、
第２ヒューズ素子と、オンすることにより前記第２ヒューズ素子にデータを書き込む第２スイッチ回路と、クロックに同期して第１書き込み命令が転送される第２保持部と、第２書き込み命令が与えられ、且つ前記第２保持部に前記第１書き込み命令が保持された際に前記第２スイッチ回路をオンする第２命令部とを備えた第２機能ブロックと、
前記第１、第２ヒューズ素子のうちの、書き込み対象となる少なくともいずれかに対応する前記第１、第２保持部に対してのみ前記第１書き込み命令を、それぞれ時間をずらして発行するデコーダと、
前記第１、第２ヒューズ素子に対してデータを書き込む際に、前記第２書き込み命令を発行する制御部と
を具備することを特徴とする半導体集積回路装置。
【請求項３】
前記第１、第２スイッチ回路はそれぞれ、電流経路の一端が前記第１、第２ヒューズ素子に接続され、他端が接地されたＭＯＳトランジスタを含み、
前記第１、第２命令部は、前記第１書き込み命令及び前記第２書き込み命令の演算を行い、該演算結果に基づいて、前記ＭＯＳトランジスタのゲートに該ＭＯＳトランジスタの閾値よりも大きい電圧を印加する演算回路を含み、
前記第１、第２保持部は、前記第１書き込み命令を保持するフリップフロップを含む
ことを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項４】
前記制御部は、前記第２書き込み命令の発行タイミングを規定するプログラムと、
前記プログラムを実行することにより、前記第１、第２機能ブロックのうち、書き込み対象となるものに対応する前記第１、第２保持部に前記第１書き込み命令が保持されている期間に、前記第２書き込み命令を発行するプロセッサと
を具備することを特徴とする請求項１または２記載の半導体集積回路装置。
【請求項５】
データ保持可能なメインメモリと、
前記メインメモリの前記データを一時的に保持可能なキャッシュメモリと、
前記キャッシュメモリに保持される前記データを用いて処理を行うＣＰＵと、
前記キャッシュメモリ内のメモリセルを救済する請求項１または２記載の半導体集積回路装置と
を具備し、前記第１、第２ヒューズ素子は、前記メモリセルの不良情報を保持する
ことを特徴とするメモリシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電流を流して溶接するＯＴＰ（One Time Programmable)メモリ素子にデータを書き込む半導体集積回路装置及びメモリシステムに関する。
【背景技術】
【０００２】
メモリ素子を搭載したシステムＬＳＩに用いる電気ヒューズ素子の数は、数百から１０００個とされている。１回の書き込み処理によって複数のヒューズにデータをプログラムすると、必要となる電流値が増大する。このため、プログラムするための電流を供給する回路が必要となるだけでなく、同時に複数の電気ヒューズ素子にプログラムを実行しても、電気ヒューズ素子間でプログラムに掛かる時間の差が生じてしまう。
【０００３】
つまり、各電気ヒューズ素子に流れる電流値を制御する必要が生じ、またその制御が困難となっていた。そこで、ＬＳＩに搭載される電気ヒューズ素子を１つずつ、順にプログラムを行う方法がとられてきた。しかし、この方法は電気ヒューズ素子へのプログラムに時間が掛かるため、この時間を短縮しようとすると、回路が複雑になるだけでなく、その規模が増大するといった問題があった（特許文献１参照）。
【特許文献１】２００７−４８３９４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、回路規模縮小が実現でき、且つプログラム時間を短縮可能な半導体集積回路装置及びメモリシステムを提供する。
【課題を解決するための手段】
【０００５】
本発明の第１の態様に係る半導体集積回路装置は、第１ヒューズ素子と、オンすることにより前記第１ヒューズ素子にデータを書き込む第１スイッチ回路と、クロックに同期して転送される第１書き込み命令を保持可能な第１保持部と、前記第１保持部に前記第１書き込み命令が保持され、且つ第２書き込み命令が与えられた際に前記第１スイッチ回路をオンする第１命令部とを備えた第１機能ブロックと、第２ヒューズ素子と、オンすることにより前記第２ヒューズ素子にデータを書き込む第２スイッチ回路と、クロックに同期して前記第１保持部から転送される第１書き込み命令を保持可能な第２保持部と、前記第２保持部に前記第１書き込み命令が保持され、且つ第２書き込み命令が与えられた際に前記第２スイッチ回路をオンする第２命令部とを備えた第２機能ブロックと、前記第１、第２ヒューズ素子に対してデータを書き込む際に、それぞれ前記第１、第２保持部に前記第１書き込み命令が保持されるタイミングで前記第２書き込み命令を発行する制御部とを具備する。
【０００６】
本発明の第２の態様に係るメモリシステムは、データ保持可能なメインメモリと、前記メインメモリの前記データを一時的に保持可能なキャッシュメモリと、前記キャッシュメモリに保持される前記データを用いて処理を行うＣＰＵと、前記キャッシュメモリ内のメモリセルを救済する上記半導体集積回路装置とを具備し、前記第１、第２ヒューズ素子は、前記メモリセルの不良情報を保持する。
【発明の効果】
【０００７】
本発明によれば、回路規模縮小が実現でき、且つプログラム時間を短縮可能な半導体集積回路装置及びメモリシステムを提供できる。
【発明を実施するための最良の形態】
【０００８】
以下、この発明の実施形態につき図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【０００９】
[第１の実施形態]  
この発明に係る第１の実施形態に係る半導体集積回路装置及びそれを備えたメモリシステムについて説明する。本実施形態では、ＯＴＰ素子として機能する電気ヒューズ素子のプログラムを制御する構成（以下、これをプログラム制御回路と呼ぶ）について説明する。
【００１０】
＜プログラム制御回路の構成について＞  
本実施形態に係るプログラム制御回路について、図１を用いて説明する。図１は、例えばメモリに欠陥が生じた際、その３ｂｉｔ分のメモリセルを救済する電気ヒューズ素子を備える回路である。図示するように、プログラム制御回路１は、制御部１０、フリップフロップ２０、及び３つの機能ブロック３０−０〜３０−２を備える。
【００１１】
制御部１０は、それぞれの機能ブロック３０−０〜３０−２がそれぞれ備える電気ヒューズ素子にプログラムを実行すべく、クロック信号ＣＬＫに基づいて、フリップフロップ２０に書き込み信号ＰＥを出力し、また機能ブロック３０−２に信号ＳＩをそれぞれ出力する。
【００１２】
フリップフロップ２０は、クロック信号ＣＬＫに同期して書き込み信号ＰＥを取り込み、これを書き込み信号ＰＥｐとして機能ブロック３０−０〜３０−２にそれぞれ出力する。
【００１３】
機能ブロック３０−２は、電気ヒューズ素子３１−２、ＭＯＳトランジスタ３２−２、ＡＮＤゲート３３−２、及びフロップフロップ３４−２を備える。電気ヒューズ素子３１−２は、データを保持可能とされ、データがプログラムされることで導通状態となる。ＭＯＳトランジスタ３２−２は、電流経路に一端（ソース）が接地され、他端（ドレイン）が電気ヒューズ素子３１−２の一端に接続される。ＭＯＳトランジスタ３２−２がオン状態となることで、電気ヒューズ素子３１−２がプログラムされる。フリップフロップ３４−２は、制御部１０から与えられる信号ＳＩを、クロック信号ＣＬＫに同期して取り込み、これを信号ＳＩ＜２＞として、ＡＮＤゲート３３−２及び機能ブロック３０−１へ転送する。ＡＮＤゲート３３−２は、書き込み信号ＰＥｐと信号ＳＩ＜２＞とクロック信号ＣＬＫとのＡＮＤ演算を行う。そしてＡＮＤ演算結果を、信号ＰＲＧ＜２＞としてＭＯＳトランジスタ３２−２のゲートに出力する。従って、信号ＰＲＧ＜２＞が‘Ｈ’レベルとなることで、ＭＯＳトランジスタ３２−２がオン状態とされ、電気ヒューズ素子３１−２がプログラムされる。
【００１４】
機能ブロック３０−１は、電気ヒューズ素子３１−１、ＭＯＳトランジスタ３２−１、ＡＮＤゲート３３−１、及びフロップフロップ３４−１を備える。電気ヒューズ素子３１−１は、データを保持可能とされ、データがプログラムされることで導通状態となる。ＭＯＳトランジスタ３２−１は、電流経路に一端（ソース）が接地され、他端（ドレイン）が電気ヒューズ素子３１−１の一端に接続される。ＭＯＳトランジスタ３２−１がオン状態となることで、電気ヒューズ素子３１−１がプログラムされる。フリップフロップ３４−１は、フリップフロップ３４−２から与えられる信号ＳＩ＜２＞を、クロック信号ＣＬＫに同期して取り込み、これを信号ＳＩ＜１＞として、ＡＮＤゲート３３−１及び機能ブロック３０−０へと転送する。ＡＮＤゲート３３−１は、書き込み信号ＰＥｐと信号ＳＩ＜１＞とクロック信号ＣＬＫとのＡＮＤ演算を行う。そしてＡＮＤ演算結果を、信号ＰＲＧ＜１＞としてＭＯＳトランジスタ３２−１のゲートに出力する。従って、信号ＰＲＧ＜１＞が‘Ｈ’レベルとなることで、ＭＯＳトランジスタ３２−１がオン状態とされ、電気ヒューズ素子３１−１がプログラムされる。
【００１５】
機能ブロック３０−０は、電気ヒューズ素子３１−０、ＭＯＳトランジスタ３２−０、ＡＮＤゲート３３−０、及びフロップフロップ３４−０を備える。電気ヒューズ素子３１−０は、データを保持可能とされ、データがプログラムされることで導通状態となる。ＭＯＳトランジスタ３２−０は、電流経路に一端（ソース）が接地され、他端が電気ヒューズ素子３１−０の一端に接続される。ＭＯＳトランジスタ３２−０がオン状態となることで、電気ヒューズ素子３１−０がプログラムされる。フリップフロップ３４−０は、フリップフロップ３４−１から与えられる信号ＳＩ＜１＞を、クロック信号ＣＬＫに同期して取り込み、これを信号ＳＩ＜０＞として、ＡＮＤゲート３３−０へ転送する。ＡＮＤゲート３３−０は、書き込み信号ＰＥｐと信号ＳＩ＜０＞とクロック信号ＣＬＫとのＡＮＤ演算を行う。そしてＡＮＤ演算結果を、信号ＰＲＧ＜０＞としてＭＯＳトランジスタ３２−０のゲートに出力する。従って、信号ＰＲＧ＜０＞が‘Ｈ’レベルとなることで、ＭＯＳトランジスタ３２−０がオン状態とされ、電気ヒューズ素子３１−０がプログラムされる。
【００１６】
上記構成において、機能ブロック３０−０〜３０−２を区別しない場合には、一括して機能ブロック３０と呼ぶ。同様に、電気ヒューズ素子３１−０〜３１−２、ＭＯＳトランジスタ３２−０〜３２−２、ＡＮＤゲート３３−０〜３３−２、及びフロップフロップ３４−０〜３４−２を区別しない場合には、単にそれぞれ、電気ヒューズ素子３１、ＭＯＳトランジスタ３２、ＡＮＤゲート３３、及びフロップフロップ３４と呼ぶ。
【００１７】
＜プログラム制御回路の動作について＞  
次に上記説明した本実施形態に係るプログラム制御回路のデータの書き込み動作について、図２を用いて説明する。図２は本実施形態に係るプログラム制御回路の動作を示すフローチャートである。
【００１８】
まず制御部１０は、書き込み対象となる電気ヒューズ素子３１−ｉ（ｉは０〜２のうちいずれか）を決定し（ステップＳ０）、制御部１０はフリップフロップ３４−２に対し信号ＳＩを発行する（Ｓ１）。信号ＳＩが発行されることで、信号ＳＩ＜ｊ＞はクロック信号ＣＬＫに同期して‘Ｈ’レベルとなる（Ｓ３）。但し、信号ＳＩ発行直後のｊの初期値は‘２’である。
【００１９】
この際、ｊ＝ｉであれば、すなわちプログラム対象の機能ブロックに入力される信号ＳＩ＜ｊ＞が‘Ｈ’レベルであれば（Ｓ４、ＹＥＳ）、制御部１０は、フリップフロップ３４−ｉが信号ＳＩ＜ｊ＞を保持している期間において、書き込み信号ＰＥｐが‘Ｈ’レベルとなるようなタイミングで、フリップフロップ２０に書き込み信号ＰＥを発行する(Ｓ４)。
【００２０】
これにより、ＡＮＤゲート３３−ｉは信号ＰＲＧ＜ｊ＞を‘Ｈ’レベルとする（Ｓ５）。よって、ＭＯＳトランジスタ３２−ｊはオン状態とされ（Ｓ６）、電気ヒューズ素子３１−ｉには電流が流れ、プログラムが実行される（Ｓ７）。
【００２１】
そして、制御部１０は、ｊの値を確認し、ｊ＝０であれば（Ｓ８、ＹＥＳ）電気ヒューズ素子への書き込みを終了する。
【００２２】
ｊの値が‘０’でなければ（Ｓ８、ＮＯ）、そのｊから１を減算し（Ｓ９）、ｊ＝０となるまで上述したステップＳ２以降の処理を繰り返す。
【００２３】
また、ステップＳ３において、ｊ≠ｉである場合、すなわち非プログラム対象の機能ブロックに入力される信号ＳＩ＜ｊ＞が‘Ｈ’レベルであれば（Ｓ３、ＮＯ）、制御部１０は書き込み信号ＰＥを発行しない（Ｓ１０）。すなわちＰＥ＝‘Ｌ’レベルである。このため、ＡＮＤゲート３３−ｊは信号ＰＲＧ＜ｊ＞を‘Ｌ’レベルとする（Ｓ１２）。よってＭＯＳトランジスタ３２−ｊはオフ状態とされ（Ｓ１３）、電気ヒューズ素子３１−ｊはプログラムされない。その後、ステップＳ８の処理が制御部１０により実行される（Ｓ８）。
【００２４】
以上の具体例について、図３を用いて説明する。図３は、クロックＣＬＫ、信号ＳＩ、信号ＳＩ＜０＞〜信号ＳＩ＜２＞、信号ＰＥ、信号ＰＥｐ、信号ＰＲＧ＜０＞〜信号ＰＲＧ＜２＞のタイムチャートである。
【００２５】
以下の例では、電気ヒューズ素子３１−０、３１−２に対しプログラムを実行するものとする。まず電気ヒューズ素子３１−０に対するプログラム処理が行われ、次に電気ヒューズ素子３１−１に対する非プログラム処理が行われ、最後に電気ヒューズ素子３１−２に対するプログラム処理が行われる。
【００２６】
＜電気ヒューズ素子３１−２に対する処理＞  
まず、電気ヒューズ素子３１−２のプログラム処理が行われる（Ｓ０）。まず制御部１０は、クロック信号ＣＬＫが‘Ｌ’レベルである時刻ｔ０において、信号ＳＩ及び書き込み信号ＰＥをそれぞれ‘Ｈ’レベルとする（Ｓ１、Ｓ４）。そして、時刻ｔ１においてクロック信号ＣＬＫが‘Ｈ’レベルとなることで、‘Ｈ’レベルとされた信号ＳＩ、ＰＥが、それぞれフリップフロップ３４−２、２０に取り込まれる。
【００２７】
これにより、時刻ｔ２において信号ＰＥｐが‘Ｈ’レベルとなり、時刻ｔ３において信号ＳＩ＜２＞が‘Ｈ’レベルとなる（Ｓ２）。クロック信号ＣＬＫが‘Ｌ’レベルである期間に制御部１０が信号ＳＩ、ＰＥを発行する理由は、フリップフロップ３４−２、２０のセットアップ期間を確保するためである。その結果、時刻ｔ４において、信号ＰＲＧ＜２＞が‘Ｈ’レベルとなる（Ｓ５）。
【００２８】
これにより、ＭＯＳトランジスタ３２−２がオン状態となり（Ｓ６）、電気ヒューズ素子３１−２に電流が流れる。すなわち、電気ヒューズ素子３１−２へのプログラムが実行される（Ｓ７）。
【００２９】
その後、制御部１０は時刻ｔ５において、信号ＳＩ、ＰＥを‘Ｌ’レベルとする。その後、時刻ｔ６においてクロック信号ＣＬＫが‘Ｌ’レベルとなり、時刻ｔ７において‘Ｈ’レベルになると、信号ＰＲＧ＜２＞が‘Ｌ’レベルとなり（時刻ｔ８）、信号ＰＥｐが‘Ｌ’レベルとなる（時刻ｔ９）。
【００３０】
＜電気ヒューズ素子３１−１に対する処理＞  
次に、電気ヒューズ素子３１−１の非プログラム処理が行われる。時刻ｔ７において、クロック信号ＣＬＫが‘Ｈ’レベルになると、‘Ｈ’レベルの信号ＳＩ＜２＞がフリップフロップ３４−１に取り込まれ、その結果、時刻ｔ１０において信号ＳＩ＜１＞が‘Ｈ’レベルとなる。
【００３１】
電気ヒューズ素子３１−１に対してはプログラムを行わないので、制御部１０は信号ＰＥを‘Ｌ’レベルのままとする（Ｓ１０）。その結果、信号ＳＩ＜１＞が‘Ｈ’レベルである期間、信号ＰＲＧ＜１＞は‘Ｌ’レベルとなる（Ｓ１１）。そのため、ＭＯＳトランジスタ３２−１はオフ状態を維持する（Ｓ１２）。よって電気ヒューズ素子３１−１には電流が流れず、プログラムは実行されない。
【００３２】
＜電気ヒューズ素子３１−０に対する処理＞  
次に、電気ヒューズ素子３１−０のプログラム処理が行われる。引き続き制御部１０は、クロック信号ＣＬＫが‘Ｌ’レベルである時刻ｔ１３において、書き込み信号ＰＥを‘Ｈ’レベルとする（Ｓ４）。そして、時刻ｔ１４においてクロック信号ＣＬＫが‘Ｈ’レベルになると、‘Ｈ’レベルの信号ＳＩ＜１＞がフリップフロップ３４−０に取り込まれ、その結果、時刻ｔ１６において信号ＳＩ＜０＞が‘Ｈ’レベルとなる（Ｓ２）。また、時刻ｔ１４においてクロック信号ＣＬＫが‘Ｈ’レベルとなることで、‘Ｈ’レベルとされた信号ＰＥが、フリップフロップ２０に取り込まれる。
【００３３】
これにより、時刻ｔ１５において信号ＰＥｐが‘Ｈ’レベルとなる。その結果、時刻ｔ１７において、信号ＰＲＧ＜０＞が‘Ｈ’レベルとなる（Ｓ５）。
【００３４】
これにより、ＭＯＳトランジスタ３２−０がオン状態となり（Ｓ６）、電気ヒューズ素子３１−０に電流が流れる。すなわち、電気ヒューズ素子３１−０へのプログラムが完了する（Ｓ７）。
【００３５】
＜本実施形態に係る効果＞  
本実施形態に係るプログラム制御回路であると、回路規模を縮小できる。以下、本実施形態に係る効果について説明する。
【００３６】
プログラム制御回路１においては、制御部１０から与えられた信号ＳＩを、機能ブロック３０−０、３０−１、３０−２へと順次転送するよう、各フリップフロップ３４がシリアルチェーン接続されている。そして、プログラムしたい電気ヒューズ素子３１に対応するフリップフロップ３４が出力する信号ＳＩ＜０＞乃至＜２＞のいずれかが‘Ｈ’レベルのタイミングで、書き込み信号ＰＥｐを‘Ｈ’レベルとしている。換言すれば、このタイミングで書き込み信号ＰＥｐが‘Ｈ’レベルとなるよう制御部１０が書き込み信号ＰＥを発行する。
【００３７】
このため、機能ブロック３０−０、３０−１、３０−２はそれぞれ、自身が書き込み対象であるか否かの情報を持つ必要がない。更には、自身の電気ヒューズ素子３１がプログラムされるタイミングに関する情報も、保持する必要が無い。従って、回路規模を小さくできる。
【００３８】
[第２の実施形態]  
次に、本発明の第２の実施形態に係る半導体集積回路装置について説明する。本実施形態は、上記第１の実施形態において、プログラム対象でない電気ヒューズ素子に対する非プログラム処理を省略するものである。
【００３９】
＜プログラム制御回路の構成について＞  
図４に本実施形態に係るプログラム制御回路のブロック図を示す。図示するように、本実施形態に係るプログラム制御回路１は、第１の実施形態で説明した図１の構成において、更にデータデコーダ４０を備える。
【００４０】
データデコーダ４０は、例えば図示せぬ制御装置から救済したいメモリセルのアドレス信号ＤＩを受け取る。そして、データデコーダ４０は、その信号をＤＩデコードし、このデコード結果を信号Ｄｐ＜ｉ＞として、機能ブロック３０−０〜３０−２へと供給する。より具体的には、プログラム対象の電気ヒューズ素子３１−ｉに対応するフリップフロップ３４−ｉに対して、信号Ｄｐ＜ｉ＞を供給する（アサートする）。この際、複数の電気ヒューズ素子３１−ｉがプログラム対象であった場合には、タイミングをずらして各々のフリップフロップ３４−ｉに信号Ｄｐ＜ｉ＞を供給する。つまり、クロック信号ＣＬＫの各周期においては、信号Ｄｐ＜０＞〜Ｄｐ＜２＞のうちいずれかのみが‘Ｈ’レベルとなる。
【００４１】
また、制御部１０は信号ＳＩを発行しない。そしてフリップフロップ３４−０〜３４−２はそれぞれ、信号Ｄｐ＜２＞〜Ｄｐ＜０＞を受け取って、これをＡＮＤゲート３３−０〜３３−２へ出力する。
【００４２】
ＡＮＤゲート３３−０〜３３−２はそれぞれ、信号ＰＥｐと、信号Ｄｐ＜２＞〜Ｄｐ＜０＞とクロック信号ＣＬＫとのＡＮＤ演算を行う。そしてこの演算結果を、信号ＰＲＧ＜２＞〜ＰＲＧ＜０＞として出力する。その他の構成は、第１の実施形態と同様である。
【００４３】
＜プログラム制御回路の動作について＞  
次に上記説明した本実施形態に係るプログラム制御回路のデータの書き込み動作について、図５を用いて説明する。図５は本実施形態に係るプログラム制御回路の動作を示すフローチャートである。
【００４４】
まず、制御部１０は書き込み対象となる電気ヒューズ素子３１−ｉ（ｉは０〜２のうちいずれか）を決定し（ステップＳ０）、制御部１０はフリップフロップ２０に対し書き込み信号ＰＥを発行する（Ｓ２１）。次に、データデコーダ２２は外部から受け取ったアドレス信号ＤＩをデコードする（Ｓ２２）。そして、データデコーダ４０は、電気ヒューズ素子３１−２から電気ヒューズ素子３１−０に向かって順に書き込み処理を実行するため、制御部１０はｊ＝２とする（Ｓ２３）。つまり、信号Ｄｐ＜ｉ＞を発行する対象が複数あれば、電気ヒューズ素子３１−２側から順に信号Ｄｐ＜ｉ＞を発行する。そこで、データデコーダ４０は最も制御部１０に近い機能ブロック３０から順に着目する。データデコーダ４０に着目する機能ブロック３０を３０−ｊと呼ぶことにする。従って、ｊの初期値は‘２’となる。
【００４５】
この際、ｊ＝ｉであれば、すなわち着目した機能ブロック３０−ｊがプログラム対象となる機能ブロックであれば（Ｓ２４、ＹＥＳ）、データデコーダ４０は、信号Ｄｐ＜ｊ＞を発行する。すなわち、信号Ｄｐ＜ｊ＞は‘Ｈ’レベルとされる。
【００４６】
これにより、ＡＮＤゲート３３−ｉは信号ＰＲＧ＜ｊ＞を‘Ｈ’レベルとする（Ｓ５）。よって、ＭＯＳトランジスタ３２−ｊはオン状態とされ（Ｓ６）、電気ヒューズ素子３１−ｊには電流が流れ、プログラムされる（Ｓ７）。
【００４７】
そして、制御部１０は、ｊの値を確認し、ｊ＝０であれば（Ｓ８、ＹＥＳ）電気ヒューズ素子への書き込みを終了する。
【００４８】
ｊの値が‘０’でなければ（Ｓ８、ＮＯ）、そのｊから１を減算し（Ｓ９）、ｊ＝０となるまで上述したステップＳ２４以降の処理を繰り返す。
【００４９】
また、ステップＳ２４において、ｊ≠ｉである場合（Ｓ２４、ＮＯ）、すなわち非プログラム対象の機能ブロックであれば、データデコーダ４０は信号Ｄｐ＜ｊ＞を発行しない。つまり信号Ｄｐ＜ｊ＞は‘Ｌ’レベルとされる（Ｓ２６）。このため、ＡＮＤゲート３３−ｊは信号ＰＲＧ＜ｊ＞を‘Ｌ’レベルとする（Ｓ１１）。よってＭＯＳトランジスタ３２−ｊはオフ状態とされ（Ｓ１２）、電気ヒューズ素子３１−ｊはプログラムされない。その後、ステップＳ８の処理が制御部１０により実行される（Ｓ８）。
【００５０】
以上の具体例について、図６を用いて説明する。図６は、クロックＣＬＫ、信号Ｄｐ＜０＞〜信号Ｄｐ＜２＞、信号ＰＥ、信号ＰＥｐ、信号ＰＲＧ＜０＞〜信号ＰＲＧ＜２＞のタイムチャートである。なお、図中の信号Ｄｐ＜０＞〜信号Ｄｐ＜２＞は、フリップフロップ３４−０〜３４−２からＡＮＤゲート３３−０〜３３−２へと出力される信号とする。
【００５１】
以下の例では、電気ヒューズ素子３１−０、３１−２に対しプログラムを実行するものとする。まず電気ヒューズ素子３１−０に対するプログラム処理が行われ、次に電気ヒューズ素子３１−２に対するプログラム処理が行われる。
【００５２】
＜電気ヒューズ素子３１−２に対する処理＞  
まず、電気ヒューズ素子３１−２のプログラム処理が行われる（Ｓ０）。まず制御部１０は、クロック信号ＣＬＫが‘Ｌ’レベルである時刻ｔ０において、書き込み信号ＰＥを‘Ｈ’レベルとする（Ｓ２１）。そして、時刻ｔ１においてクロック信号ＣＬＫが‘Ｈ’レベルとなることで、書き込み信号ＰＥがフリップフロップ２０に取り込まれ、時刻ｔ２において信号ＰＥｐが‘Ｈ’レベルとなる。
【００５３】
その後、クロック信号ＣＬＫが‘Ｈ’レベルである期間である時刻ｔ３において、データデコーダ４０から発行された信号Ｄｐ＜２＞を‘Ｈ’レベルとしてフリップフロップ３４−２はＡＮＤゲート３３−２に発行する(Ｓ２５)。
【００５４】
その結果、時刻ｔ４において、信号ＰＲＧ＜２＞が‘Ｈ’レベルとなる（Ｓ２５）。よって、ＭＯＳトランジスタ３２−２はオン状態とされ（Ｓ６）、電気ヒューズ素子３１−２には電流が流れる。すなわち、電気ヒューズ素子３１−２へのプログラムが実行される（Ｓ７）。
【００５５】
また、制御部１０は時刻ｔ５において、書き込み信号ＰＥを‘Ｌ’レベルとする。その後、時刻ｔ６においてクロック信号ＣＬＫが‘Ｌ’レベルとなると、時刻ｔ７において信号ＰＲＧ＜２＞が‘Ｌ’レベルとなる。そして、データデコーダ４０は時刻ｔ８において、信号Ｄｐ＜２＞を‘Ｌ’レベルとする。そして、クロック信号ＣＬＫが‘Ｌ’レベルである期間における時刻ｔ９で、再度制御部１０は書き込み信号ＰＥを‘Ｈ’レベルとする（Ｓ２１）。そして、時刻ｔ１０でクロック信号ＣＬＫが‘Ｈ’レベルとなることで、書き込み信号ＰＥが、フリップフロップ２０に取り込まれる。これにより、書き込み信号ＰＥｐは時刻ｔ０以降常に‘Ｈ’レベルを維持する。
【００５６】
＜電気ヒューズ素子３１−０に対する処理＞  
次に、電気ヒューズ素子３１−０のプログラム処理が行われる。クロック信号ＣＬＫが‘Ｈ’レベルの期間である時刻ｔ１１において、フリップフロップ３４−０は、ＡＮＤゲート３３−０へ発行する信号Ｄｐ＜０＞を‘Ｈ’レベルとする(Ｓ２５)。
【００５７】
その結果、時刻ｔ１２において、信号ＰＲＧ＜０＞が‘Ｈ’レベルとなる（Ｓ５）。これにより、ＡＮＤゲート３３−０は信号ＰＲＧ＜０＞を‘Ｈ’レベルとし、該信号ＰＲＧ＜０＞をＭＯＳトランジスタ３２−０のゲートへと出力する。よって、ＭＯＳトランジスタ３２−２はオン状態とされ（Ｓ６）、電気ヒューズ素子３１−２には電流が流れる。すなわち、電気ヒューズ素子３１−２へのプログラムが実行される（Ｓ７）。
【００５８】
以上の時刻ｔ０〜時刻ｔ１６までの期間、信号Ｄｐ＜１＞＝‘Ｌ’であることから、信号ＰＲＧ＜１＞は常時‘Ｌ’レベルとなる。すなわち、電気ヒューズ素子３１−１にはプログラムは実行されない。
【００５９】
＜本実施形態に係る効果＞  
本実施形態に係るプログラム制御回路であると、上記第１の実施形態に係る効果に加え、プログラム時間を短縮することが可能となる。以下、この効果につき説明する。
【００６０】
本実施形態では、データデコーダ４０がプログラム対象の電気ヒューズ素子に対応したフリップフロップにのみ、信号Ｄｐを発行する。すなわち、非プログラム対象の電気ヒューズ素子に対応したフリップフロップには信号Ｄｐは発行されない。つまり常に‘Ｌ’レベルとされる。
【００６１】
従って、プログラム／非プログラムにあたって、クロック信号ＣＬＫに同期した処理が必要な機能ブロック３０は、プログラム対象となる電気ヒューズ素子３１を含むものだけでよく、これを含まないものは特に処理は不要である。なぜなら、信号Ｄｐが‘Ｌ’とされることで、常時プログラムが禁止されているからである。そのため、非プログラム対象となる電気ヒューズ素子の数に比例してプログラム時間を短縮することが可能となる。
【００６２】
なお、上記第１、第２の実施形態に係るプログラム制御回路は、メモリシステムにおけるキャッシュの救済に使用することが出来る。このようなメモリシステムにつき、図７を用いて説明する。図７はメモリシステムのブロック図である。
【００６３】
図示するようにメモリシステム５０は、ＣＰＵ５１、メインメモリ５２、キャッシュ５４、Ｉ／Ｏ端子５３、プログラム制御回路５５、及びデータバス５６を備えた、例えば計算機５０である。
【００６４】
メインメモリ５２は、ＳＲＡＭまたはＤＲＡＭなどの半導体メモリであり、ＣＰＵで使用されるプログラムやデータを保持する。
【００６５】
キャッシュメモリ５４も例えばＤＲＡＭやＳＲＡＭ等の半導体メモリであり、メインメモリ５２に保持されるプログラムやデータを一時的に保持する。
【００６６】
ＣＰＵ５１は、メインメモリ５２またはキャッシュメモリ５４に保持されるプログラムやデータを用いて演算を行う。
【００６７】
入出力部５３は、外部からデータの入力を受け付け、またデータやＣＰＵ５１の演算結果を外部へ出力する。
【００６８】
データバス５６は、ＣＰＵ５１、メインメモリ５２、入出力部５３、及びキャッシュメモリ５４が、互いにデータ授受可能に接続する。
【００６９】
プログラム制御回路５５は、第１、第２の実施形態で説明したプログラム制御回路１である。そして、プログラム制御回路５５は、電気ヒューズ素子３０に、キャッシュメモリ５４に含まれる不良セルのアドレスを格納する。
【００７０】
また、図７の構成において、プログラム制御回路１における制御部１０（及びデータデコーダ４０）の機能を、ＣＰＵ及びキャッシュメモリに持たせても良い。この様子を、図８を用いて説明する。図８は第１、第２の実施例で説明した制御部１０のブロック図である。
【００７１】
図示するように、制御部１０はキャッシュメモリ６１と、ＣＰＵ６０、データバス６３とを備える。またキャッシュメモリ６１は、上記第１、第２の実施形態で説明した各信号の発行タイミングを規定したプログラム６２を備える。
【００７２】
例えば、第１の実施形態の場合、キャッシュメモリ６１が、クロック信号ＣＬＫ、信号ＳＩ、書き込み信号ＰＥの発行タイミングを規定するプログラム６２を一時的に保持する。このプログラムには、いずれのメモリセルが不良であるか、すなわち、どの電気ヒューズ３１をプログラムすべきかの情報が含まれる。そしてＣＰＵ６０は、キャッシュメモリ６１からこのプログラムを読み出した後、演算を実行することで、図３に示すタイミングでクロック信号ＣＬＫ、信号ＳＩ、書き込み信号ＰＥを発行する。
【００７３】
また第２の実施形態の場合、キャッシュメモリ６１が、クロック信号ＣＬＫ、信号Ｄｐ、書き込み信号ＰＥの発行タイミングを規定するプログラムを保持する。このプログラムにも、いずれのメモリセルが不良であるかの情報が含まれる。そしてＣＰＵ６０は、キャッシュメモリ６１からこのプログラムを読み出した後、演算を実行することで、図６に示すタイミングでクロック信号ＣＬＫ、信号Ｄｐ、ＰＥを発行する。
【００７４】
また、特に上記第１の本実施形態に係るプログラム制御回路では、構成される機能ブロック３０−２〜３０−０すべてに対し、クロック信号ＣＬＫに同期して順次プログラムを実行することを鑑みると、救済するメモリのサイズが、例えば１２８bit（16 Byte）のように小さいときに有効である。
【００７５】
またなお、上記第１、第２の実施形態に係るプログラム制御回路では、３ｂｉｔ分の不良メモリを救済するための構成を説明したが、４ｂｉｔ以上の構成であっても構わない。つまり、救済する必要のあるビット数に応じて、機能ブロックの数を増やしてもよい。
【００７６】
なお、本願発明は上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【図面の簡単な説明】
【００７７】
【図１】この発明の第１の実施形態に係るプログラム制御回路のブロック図。
【図２】この発明の第１の実施形態に係るプログラム制御回路の動作を示すフローチャート。
【図３】この発明の第１の実施形態に係るプログラム制御回路における各種信号のタイムチャート。
【図４】この発明の第２の実施形態に係るプログラム制御回路のブロック図。
【図５】この発明の第２の実施形態に係るプログラム制御回路の動作を示すフローチャート図。
【図６】この発明の第２の実施形態に係るプログラム制御回路における各種信号のタイムチャート。
【図７】この発明の第１、第２の実施形態に係るプログラム制御回路を備えたメモリシステムのブロック図。
【図８】この発明の第１、第２の実施形態に係るプログラム制御回路のブロック図。
【符号の説明】
【００７８】
１、５５…プログラム制御回路、３１−０〜３１−２…電気ヒューズ素子、３２−０〜３２−２…ＭＯＳトランジスタ、３３−０〜３３−２…ＡＮＤゲート、２０、３４−０〜３４−２…フリップフロップ、１０…制御部、４０…データデコーダ、５０…メモリシステム、５１、６０…ＣＰＵ、５２…メインメモリ、５３…入出力部、５４、６１…キャッシュメモリ、６２…プログラム、５６、６３…データバス
【図１】
2010146636.tif 000003
【図２】
2010146636.tif 000004
【図３】
2010146636.tif 000005
【図４】
2010146636.tif 000006
【図５】
2010146636.tif 000007
【図６】
2010146636.tif 000008
【図７】
2010146636.tif 000009
【図８】
2010146636.tif 000010