JP2006185569A - 半導体記憶装置 - Google Patents
半導体記憶装置 Download PDFInfo
- Publication number
- JP2006185569A JP2006185569A JP2005028811A JP2005028811A JP2006185569A JP 2006185569 A JP2006185569 A JP 2006185569A JP 2005028811 A JP2005028811 A JP 2005028811A JP 2005028811 A JP2005028811 A JP 2005028811A JP 2006185569 A JP2006185569 A JP 2006185569A
- Authority
- JP
- Japan
- Prior art keywords
- fuse
- data
- redundancy information
- bit
- memory
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/802—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout by encoding redundancy signals
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/78—Masking faults in memories by using spares or by reconfiguring using programmable devices
- G11C29/80—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
- G11C29/812—Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a reduced amount of fuses
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Dram (AREA)
Abstract
【課題】ヒューズデータの圧縮を行った場合でも、複数テスト工程でヒューズブローが行えるようにすることを特徴とする。
【解決手段】ヒューズ・ヒューズラッチ回路部21は、リダンダンシ情報記憶回路である第1、第2のヒューズ・ヒューズラッチ回路23a、23bを有する。第1、第2のヒューズ・ヒューズラッチ回路23a、23b内には、それぞれヒューズ素子とヒューズラッチ回路とが設けられている。第1、第2のヒューズ・ヒューズラッチ回路23a、23bは、ラッチされているデータをシリアルデータDATA1またはDATA2としてヒューズデータ転送制御回路部22に出力する。リダンダンシ情報生成回路であるヒューズデータ転送制御回路部22は、カウンタ24及びデータ転送制御回路25等から構成されている。データ転送制御回路25は、第1、第2のヒューズ・ヒューズラッチ回路23a、23bから出力されるデータを合成して新たなデータを生成する。
【選択図】図2
【解決手段】ヒューズ・ヒューズラッチ回路部21は、リダンダンシ情報記憶回路である第1、第2のヒューズ・ヒューズラッチ回路23a、23bを有する。第1、第2のヒューズ・ヒューズラッチ回路23a、23b内には、それぞれヒューズ素子とヒューズラッチ回路とが設けられている。第1、第2のヒューズ・ヒューズラッチ回路23a、23bは、ラッチされているデータをシリアルデータDATA1またはDATA2としてヒューズデータ転送制御回路部22に出力する。リダンダンシ情報生成回路であるヒューズデータ転送制御回路部22は、カウンタ24及びデータ転送制御回路25等から構成されている。データ転送制御回路25は、第1、第2のヒューズ・ヒューズラッチ回路23a、23bから出力されるデータを合成して新たなデータを生成する。
【選択図】図2
Description
本発明は、リダンダンシ機能を有する半導体記憶装置に係り、特に不良セルに対応したアドレスをヒューズ素子にプログラムし、プログラムされたヒューズ素子からリダンダンシ用アドレスを生成するための回路に関する。
ダイナミックランダムアクセスメモリ(DRAM)等の半導体記憶装置(以下、メモリと称する)では、記憶容量が益々増大している。大容量のメモリでは、製造歩留まりの向上を図るために、メモリセルアレイ中に発生した不良セルを冗長セルに置き換えるための冗長機能を備えることが必須となっている。不良セルに対応したアドレスは、例えばレーザ光の照射によってブローされるリダンダンシ(Redundancy)ヒューズにプログラムされる。ヒューズにプログラムされたアドレスは、メモリチップの動作開始時に読み出され、ヒューズラッチ回路に格納される。ヒューズラッチ回路に格納されたアドレスは、外部から入力されるメモリセルアクセス用のアドレスと比較され、両アドレスが一致した際に、不良セルに代わって冗長セルがアクセスされることで不良セルの救済が行われる。
通常、不良セルは、不良セルを含むメモリセルアレイ内の1行分のメモリセルの単位、あるいは1列分のメモリセルの単位で冗長セルと置き換えられる。行単位で置き換えが行われる場合、つまりローリダンダンシ(Row Redundancy)の場合には、ローアドレスがヒューズにプログラムされる。列単位で置き換えが行われる場合、つまりカラムリダンダンシ(Column Redundancy)の場合には、カラムアドレスがヒューズにプログラムされる。
図37は、ローリダンダンシを有するDRAM内に設けられたリダンダンシヒューズの一例を示している。この場合、メモリセルアレイはSegment0からSegment3の4個のセグメントで構成され、各セグメント内には不良セルを救済するためのリダンダンシワード線がそれぞれ8本ずつ配置されている。各セグメントには8本のリダンダンシワード線(RWL0〜RWL7)に対応してヒューズセットが8組設けられている。各ヒューズセットは、そのヒューズセットを使用するか否かをプログラムするための1個のイネーブル(Enable)ヒューズと、リダンダンシを使用するアドレスを指定するための9個のアドレスヒューズとから構成される。なお、この場合、セグメント当たりのノーマルワード線は512本であると仮定している。
ところで、メモリをテストする工程には種々のものがあり、各工程によって不良を起こすアドレスが異なる。このため、例えばウェハ状態でテストを行い、この結果に基づいてヒューズブローをした後で、チップをパッケージに収納し、もう一度テストした後にさらにヒューズブローを行いたい場合などがある。このときの様子を図38に示す。
図38は、一回目のテスト後にSegment0内のリダンダンシワード線RWL0を使用するようにヒューズブローを行った後、二回目のテスト後に未使用部のSegment0内のリダンダンシワード線RWL1をヒューズブローした例である。このようにヒューズとリダンダンシワード線とが一意に対応していれば、テスト工程が複数回あっても、空いているヒューズを使用することができる。
一方、ヒューズ素子はチップ上の占有面積が大きいため、なるべく数を減らしたいという要求がある。ヒューズの数を減らすために用いる一つの手段は、ヒューズデータを圧縮することである。データ圧縮方式の一例を図39に示す。図39中、上側に示したデータが圧縮前のものであり、下側が圧縮後のものである。この例では、イネーブルヒューズ(E)がブローされていないヒューズセット2,4のデータ(0のデータが10個)が1つの0であらわされる。これによって、圧縮前には60個必要であったヒューズの個数が42個に減る。一般に製品後のメモリのチップ当たりのリダンダンシ使用率は半分以下程度なので、この方式ではヒューズの個数を7割程度に減らすことができる。
ところが、このようなデータ圧縮方式を用いると、複数回のリダンダンシ工程でヒューズブローを行う際に問題が発生する。例えば一回目のリダンダンシ工程で図39に示すようなヒューズブローを行うと、二回目のリダンダンシ工程でヒューズセット2、4を使用する必要が生じても、ヒューズブローは不可逆なプロセスなので、二度目のヒューズブローは行えない。すなわち、ヒューズデータの圧縮と、複数回のヒューズブローとは両立し難いという問題がある。
なお、特許文献1には、欠陥素子を冗長素子に置き換えるために使用されるアドレスヒューズの数を節約するために、冗長素子間でヒューズを共有するためのアルゴリズムが記載されている。
また、特許文献2には、ウェハ段階において、レーザリペアを行った後、パッケージにした半導体装置のバーンインテストの際に発生するエラーもリペアできるようにしたものが記載されている。
さらに、特許文献3には、欠陥セルを含むローラインまたはカラムラインを冗長ラインの1つに置き換えるようにプログラムし、所定数の冗長ラインがプログラムされた後に、さらなる欠陥セルが発見された場合に、少なくとも1つ冗長ラインのプログラムをキャンセルし、この冗長ラインを他のメモリセルの欠陥のリペアのためにプログラムするようにしたものが記載されている。
特開平11−86588号公報
特開2000−207896号公報
米国特許第6418069号明細書
本発明は上記のような事情を考慮してなされたものであり、その目的は、ヒューズデータを圧縮した場合でもヒューズデータのプログラムを複数回行うことができる半導体記憶装置を提供することである。
本発明の半導体記憶装置は、メモリセルアレイ内に存在する不良セルを冗長セルアレイ内の冗長セルと置き換えるために使用されるリダンダンシ情報をそれぞれ記憶する不揮発性記憶素子からなる複数のリダンダンシ情報記憶回路と、前記複数のリダンダンシ情報記憶回路に記憶されている複数のリダンダンシ情報を合成して新たなリダンダンシ情報を生成するリダンダンシ情報生成回路とを具備している。
本発明の半導体記憶装置は、複数のメモリセルを有するメモリセルアレイと、前記メモリセルアレイ内の不良セルを救済するために使用される複数の冗長セルを有する冗長セルアレイと、前記メモリセルアレイ内に存在する不良セルを前記冗長セルアレイ内の冗長セルと置き換えるために使用されるリダンダンシ情報をそれぞれ記憶する不揮発性記憶素子からなる複数のリダンダンシ情報記憶回路と、前記複数のリダンダンシ情報記憶回路に記憶されている複数のリダンダンシ情報を合成して新たなリダンダンシ情報を生成するリダンダンシ情報生成回路と、前記リダンダンシ情報生成回路で生成されたリダンダンシ情報及び前記メモリセルアレイ内のメモリセルの選択情報に応じて、前記メモリセルアレイ内のメモリセルもしくは前記冗長セルアレイ内の冗長セルを選択する選択回路とを具備している。
本発明の半導体記憶装置によれば、ヒューズデータを圧縮した場合でもヒューズデータのプログラムを複数回行うことができる。
以下、図面を参照して本発明を実施の形態により説明する。
(第1の実施の形態)
図1は、第1の実施の形態のメモリの全体の構成を示すブロック図である。このメモリは、大きく分けてメモリマクロ(Memory macro)10と、ヒューズボックス(Fuse box)20とから構成されている。
図1は、第1の実施の形態のメモリの全体の構成を示すブロック図である。このメモリは、大きく分けてメモリマクロ(Memory macro)10と、ヒューズボックス(Fuse box)20とから構成されている。
メモリマクロ10は、メモリセルアレイ(Memory cell array)11、冗長セルアレイ(Spare memory cell array)12、ロー制御回路(Row control)13、カラム制御回路(Column control)14、ロー用のヒューズラッチ回路(Fuse latch for row redundancy)15、カラム用のヒューズラッチ回路(Fuse latch for column redundancy)16等からなる。
メモリセルアレイ11内には、マトリックス状に配置された複数のメモリセルが設けられている。同一行(Row)に配置された複数のメモリセルは複数のワード線のうち対応するものに共通に接続され、同一列(Column)に配置された複数のメモリセルは複数のビット線のうち対応するものに共通に接続されている。
冗長セルアレイ12内には複数のリダンダンシワード線及びリダンダンシビット線が設けられている。リダンダンシワード線及びリダンダンシビット線にはそれぞれ、メモリセルアレイ11内に不良セルが存在する場合に、この不良セルと置き換えて使用される複数の冗長セルが接続されている。
ロー制御回路13は、メモリセルアレイ11内のメモリセルをアクセスする際に、供給されるローアドレス(選択情報)とロー用のヒューズラッチ回路15に記憶されているリダンダンシ用のローアドレスを含むリダンダンシ情報とに応じて、メモリセルアレイ11内のワード線もしくは冗長セルアレイ12内のリダンダンシワード線を選択する。
カラム制御回路14は、メモリセルアレイ11内のメモリセルをアクセスする際に、供給されるカラムアドレス(選択情報)とカラム用のヒューズラッチ回路16に記憶されているリダンダンシ用のカラムアドレスを含むリダンダンシ情報とに応じて、メモリセルアレイ11内のビット線もしくは冗長セルアレイ12内のリダンダンシビット線を選択する。
ロー用のヒューズラッチ回路15は、メモリセルアレイ11内のメモリセルに不良セルが存在する場合に、この不良セルを含むメモリセルアレイ11内の1行分のメモリセルを冗長セルアレイ12内の1行分の冗長セルと置き換えを行うために使用されるリダンダンシ用のローアドレスを含むリダンダンシ情報を記憶する。
カラム用のヒューズラッチ回路16は、メモリセルアレイ11内のメモリセルに不良セルが存在する場合に、この不良セルを含むメモリセルアレイ11内の1列分のメモリセルを冗長セルアレイ12内の1列分の冗長セルと置き換えを行うために使用されるリダンダンシ用のカラムアドレスを含むリダンダンシ情報を記憶する。
ロー制御回路13によって選択されたワード線もしくはリダンダンシワード線と、カラム制御回路14によって選択されたビット線もしくはリダンダンシビット線との交点に位置するメモリセルもしくは冗長セルがアクセスされる。そして、データ書き込み時には、データI/O及びセンスアンプを介して入力される書き込みデータが選択メモリセルに供給されてデータ書き込みが行われる。データ読み出し時には、選択メモリセルに記憶されたデータがセンスアンプによって読み出され、データI/Oを介してメモリ外部に出力される。
ヒューズボックス20は、ロー用のヒューズラッチ回路15及びカラム用のヒューズラッチ回路16に記憶されるリダンダンシ情報を生成する。ヒューズボックス20は、リダンダンシ用のアドレス等からなるリダンダンシ情報がプログラムされる複数のヒューズ素子を含むヒューズ・ヒューズラッチ回路部(Fuse & fuse latch)21と、このヒューズ・ヒューズラッチ回路部21にプログラムされたリダンダンシ情報が供給され、このリダンダンシ情報を合成して新たなリダンダンシ情報を生成し、メモリマクロ10内のロー用のヒューズラッチ回路15及びカラム用のヒューズラッチ回路16に転送するヒューズデータ転送制御回路部(Fuse data transfer control)22とから構成されている。
図2は、図1中のヒューズボックス20の具体的な構成を示すブロック図である。ヒューズ・ヒューズラッチ回路部21内には、リダンダンシ情報記憶回路である複数のヒューズ・ヒューズラッチ回路が設けられている。本例では複数のヒューズ・ヒューズラッチ回路の一例として、第1のヒューズ・ヒューズラッチ回路(Fuse & fuse latch 1)23aと第2のヒューズ・ヒューズラッチ回路(Fuse & fuse latch 2)23bとからなる2個のヒューズ・ヒューズラッチ回路が設けられている場合を示している。
第1、第2のヒューズ・ヒューズラッチ回路23a、23b内にはそれぞれ、不揮発性記憶素子として複数個のヒューズ素子と、各ヒューズ素子に対応して設けられ、各ヒューズ素子に書き込まれたデータをラッチする複数のヒューズラッチ回路とが設けられている。第1、第2のヒューズ・ヒューズラッチ回路23a、23bは、供給される転送用のクロック信号FCLK1またはFCLK2に同期して、複数のヒューズラッチ回路にラッチされているデータをシリアルデータDATA1またはDATA2としてヒューズデータ転送制御回路部22に供給する。
リダンダンシ情報生成回路であるヒューズデータ転送制御回路部22は、カウンタ24及びデータ転送制御回路25等から構成されている。カウンタ24は、供給されるクロック信号CLKをカウントする。カウンタ24のカウント出力はデータ転送制御回路25に供給される。データ転送制御回路25は、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに対して転送用のクロック信号FCLK1、FCLK2を供給すると共に、カウンタ24のカウント出力及び第1、第2のヒューズ・ヒューズラッチ回路23a、23bから供給されるデータDATA1、DATA2を受け、両データを合成して新たなデータを生成してメモリマクロ10に転送する。
図3は、図2中の第1、第2のヒューズ・ヒューズラッチ回路(リダンダンシ情報記憶回路)23a、23bの詳細な構成を示す回路図である。複数のヒューズ素子31はそれぞれ、プログラム可能な不揮発性記憶素子であり、リダンダンシ用のアドレス等からなるリダンダンシ情報がこれら複数のヒューズ素子31にプログラムされる。各ヒューズ素子31にはフリップフロップ(F/F)を含むヒューズラッチ回路32が接続されている。これら複数のヒューズラッチ回路32は直列に接続されている。
本実施の形態では、第1のヒューズ・ヒューズラッチ回路23a内に設けられる複数のヒューズ素子31は、ウェハ状態で行われるテストの直後にプログラムされることを想定している。このため、これらのヒューズ素子として、レーザ光が照射されることによってブローされる構造のものが採用される。これに対し、第2のヒューズ・ヒューズラッチ回路23b内に設けられる複数のヒューズ素子31は、チップがパッケージに収納された後に行われるテスト後にプログラムされることを想定している。このため、これらのヒューズ素子として、電気的な手段、例えば電流を流すことによってブローされる構造のものが採用される。
各ヒューズ素子31に書き込まれたリダンダンシ情報は対応するヒューズラッチ回路32でラッチされる。複数のヒューズラッチ回路32でラッチされたリダンダンシ情報は、クロック信号FCLK1またはFCLK2に同期して順次転送され、データDATA1またはDATA2としてデータ転送制御回路25に供給される。
図4は、図1中のロー用のヒューズラッチ回路15及びカラム用のヒューズラッチ回路16の詳細な構成を示す回路図である。ヒューズラッチ回路15、16には、それぞれフリップフロップ(F/F)を含み、直列接続された複数のヒューズラッチ回路33が設けられている。ヒューズデータ転送制御回路部22で生成された新たなデータが複数のヒューズラッチ回路33の端部にシリアルに供給され、その後、複数のヒューズラッチ回路33で順次転送されることで、リダンダンシ用のアドレス等からなるリダンダンシ情報がヒューズラッチ回路15、16にセットされる。
図5は、図3中に示す1つのヒューズ素子31が接続されたヒューズラッチ回路32の詳細な構成を示す回路図である。ヒューズラッチ回路32は、前段のヒューズラッチ回路32から転送されたデータDATAが供給されるクロックドインバータ回路41と、インバータ回路42とクロックドインバータ回路43とからなりクロックドインバータ回路41の出力をラッチするラッチ回路44と、ラッチ回路44の出力を転送制御するCMOS型のトランスファゲート45と、インバータ回路46とクロックドインバータ回路47とを含み、ヒューズ素子31にプログラムされたデータがセットされると共にトランスファゲート45から出力される前段からのデータが供給されるラッチ回路48と、ラッチ回路48の出力が供給されるインバータ回路49とから構成されている。
ラッチ回路48内にはさらに、ラッチ回路48の入力ノードSQをクリアするためのPMOS型のトランジスタ50と、ヒューズ素子31に書き込まれたデータを入力ノードSQにセットするためのNMOS型のトランジスタ51とが設けられている。
なお、クロックドインバータ回路41、47はそれぞれ、クロック信号FCLK(FCLK1及びFCLK2のいずれか一方)と反転クロック信号FCLKBで制御され、トランスファゲート45は反転クロック信号FCLKBとクロック信号FCLKとで制御される。
ヒューズ素子31に書き込まれたデータをヒューズラッチ回路32に転送する際に、図6に示すタイミングチャートのように、クリア信号FCLRとセット信号FSETが入力される。クリア信号FCLRが“L”レベルになると、トランジスタ50がオンし、ラッチ回路48の入力ノードSQが強制的に“H”レベルにクリアされる。その後、セット信号FSETが“H”レベルになると、トランジスタ51がオンする。このとき、ヒューズ素子31がブローされていれば、入力ノードSQは“H”レベルのままとなる。ヒューズ素子31がブローされていなければ、入力ノードSQは“L”レベルに落ちる。その後、クロック信号FCLKと反転クロック信号FCLKBとが転送クロック信号として供給されることにより、複数のヒューズラッチ回路32を介してデータが後段に向かって順次転送される。
図7は、図4中に示す1つのヒューズラッチ回路33の詳細な構成を示す回路図である。このヒューズラッチ回路33は、図5に示すヒューズラッチ回路32と比べて、ラッチ回路48内の2個のトランジスタ50、51が省略されている点のみが異なり、他の構成はヒューズラッチ回路32と同じなので、その構成の説明は省略する。
図7に示すヒューズラッチ回路33では、クロック信号FCLKと反転クロック信号FCLKBとが転送クロック信号として供給されることにより、直列に接続された複数のヒューズラッチ回路33でデータが順次転送される。
図8は、図7に示すように構成されたヒューズラッチ回路33が複数設けられている図1中のヒューズラッチ回路15、16におけるデータ転送時のタイミングチャートを示している。図8中、DINは転送されるデータを表す。クロック信号FCLKと反転クロック信号FCLKBは、ヒューズラッチ回路15、16内に設けられているヒューズラッチ回路33の個数回だけ立ち上げられる。クロック信号FCLKと反転クロック信号FCLKBは、図示しないカウンタによってクロック信号CLKをカウントすることによって生成される。これによって、データ転送制御回路25で合成され、転送されてきたリダンダンシ情報を、ヒューズラッチ回路15、16内に設けられている複数のヒューズラッチ回路33の所定の場所に転送し、セットすることができる。
次に、上記のような構成のメモリの動作を説明する。なお、理解を容易にするために、メモリセルアレイ11内に不良セルが発生した際に、その不良セルを行単位で冗長セルアレイ12内の冗長セルと置き換えを行う場合を例にして説明する。
まず、一回目のテストが行われる。このテストは、例えばウェハ状態で行われるテストである。このとき、メモリセルアレイ11内に不良セルが発生していれば、その不良セルが存在するワード線のアドレスを含むリダンダンシ情報が、図2に示される一回目用の第1のヒューズ・ヒューズラッチ回路23aにプログラムされる。このプログラムは、レーザ照射装置からレーザ光を照射してヒューズ素子を切断(ブロー)することにより行われる。このとき、図2に示される二回目用の第2のヒューズ・ヒューズラッチ回路23bはプログラムされない。
第1のヒューズ・ヒューズラッチ回路23aに対してプログラムされるリダンダンシ情報は、図39を用いて説明したような従来と同様の圧縮方式を用いて圧縮される。例えば6本のリダンダンシワード線のうち0、1、3、5番目のリダンダンシワード線を使用する場合には、図9(a)に示すように、0、1、3、5番目のヒューズセットの各10個のヒューズのうちイネーブル(E)ヒューズにそれぞれ1のデータが書き込まれ、残り9個のアドレスヒューズにローリダンダンシを使用するアドレスを指定するためのアドレスがそれぞれ書き込まれる。使用されない2、4番目のヒューズセットについては、図39を用いて説明した場合と同様に、10個の0のデータが1個の0のデータに圧縮され、それぞれ1個のイネーブルヒューズに0が書き込まれる。
次に、二回目のテストが行われる。このテストは、例えばチップがパッケージに収納された後に行われるテストである。このとき、メモリセルアレイ11内に不良セルが発生していれば、その不良セルが存在するワード線のアドレスを含むリダンダンシ情報が、図2に示される二回目用の第2のヒューズ・ヒューズラッチ回路23bにプログラムされる。このプログラムは、図示しない制御回路からヒューズ素子に大電流を流して切断(ブロー)することにより行われる。このとき、図2に示される一回目用の第1のヒューズ・ヒューズラッチ回路23aはプログラムされない。
第2のヒューズ・ヒューズラッチ回路23bに対してプログラムされるリダンダンシ情報も、図39を用いて説明したような従来と同様の圧縮方式を用いて圧縮される。6本のリダンダンシワード線のうち0、1、3、5番目のリダンダンシワード線は使用されており、冗長セルアレイ12内の冗長セルに置き換えが行われているので、図9(b)に示すように、10個の0のデータが1個の0のデータに圧縮され、それぞれ1個のイネーブルヒューズに0のデータが書き込まれる。
新たに不良セルが発見され、2番目のリダンダンシワード線を使用する場合には、図9(b)に示すように、1つのヒューズセット内の10個のヒューズのうちイネーブル(E)ヒューズに1のデータが書き込まれ、残り9個のアドレスヒューズにローリダンダンシを使用するアドレスを指定するためのアドレスが書き込まれる。また、二回目のテストでも使用されない4番目のヒューズセットについては、10個の0のデータが1個の0のデータに圧縮され、1個のイネーブルヒューズに0が書き込まれる。
メモリチップに電源が投入された後、メモリアクセスが開始される前に、図2に示すヒューズ・ヒューズラッチ回路部21内の第1、第2のヒューズ・ヒューズラッチ回路23a、23bに書き込まれている図9(b)に示すようなリダンダンシ情報がシリアルに読み出され、データ転送制御回路25に供給される。この後、データ転送制御回路25において、第1、第2のヒューズ・ヒューズラッチ回路23a、23bから供給される2つのリダンダンシ情報が合成されて新たなリダンダンシ情報が生成される。生成された新たなリダンダンシ情報は、メモリマクロ10内のロー用のヒューズラッチ回路15及びカラム用のヒューズラッチ回路16に対してシリアルに順次転送され、ヒューズラッチ回路15、16にセットされる。
図10は、データ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始と同時に、一回目用、二回目用それぞれの複数のヒューズ素子に対して圧縮された状態で書き込まれているデータが展開されながら転送処理が行われ、転送の途中で両データの論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS2)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS3)。その後、10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。このようにして、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている圧縮されたデータが展開される。
一方、第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS5)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS6)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS7)。その後、10ビットのデータがデータ転送制御回路25に転送される(ステップS8)。このようにして、第2のヒューズ・ヒューズラッチ回路23bに書き込まれている圧縮されたデータが展開される。
次に、ステップS9において、ステップS4で展開されて転送される10ビットのデータと、ステップS8で展開されて転送される10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS9)、メモリマクロ10に転送される(ステップS10)。次に転送ビット数がカウントされ(ステップS11)、全ての転送が終了したか否かが判定され(ステップS12)、全ての転送が終了していなければステップS1及びS5に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
図9(c)は、全てのデータの展開が終了した後の2つのリダンダンシ情報の一例を示しており、図9(d)は、図9(c)に示す2つのリダンダンシ情報の論理和を取ることによって新たなリダンダンシ情報が合成される様子を示している。
なお、上記実施の形態のメモリでは、メモリセルアレイ11内の不良セルを行単位で冗長セルアレイ12内の冗長セルと置き換えを行う場合について説明したが、これは不良セルを列単位で冗長セルアレイ12内の冗長セルと置き換えることもできる。あるいは両者を併用することもできる。
さらに、上記実施の形態のメモリでは、複数のヒューズ・ヒューズラッチ回路の一例として第1、第2のヒューズ・ヒューズラッチ回路23a、23bを設け、二回のテスト結果に応じてリダンダンシ情報を二回プログラムする場合について説明した。しかし、これはヒューズ・ヒューズラッチ回路を3個以上設けることによって、三回以上のテスト結果に応じてリダンダンシ情報を三回以上プログラムしてもよい。
このように上記実施の形態のメモリでは、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
(第2の実施の形態)
ところで、第1の実施の形態のメモリでは、イネーブルビットが0の場合、1つのヒューズセットにプログラムされるデータが全て0を表すとして、10ビットのデータが1ビットの0のデータに圧縮されている。ここで、例えば、図1中のメモリセルアレイ11には8個のセグメントが設けられており、各セグメント当たりリダンダンシワード線が8本ある場合を考える。
ところで、第1の実施の形態のメモリでは、イネーブルビットが0の場合、1つのヒューズセットにプログラムされるデータが全て0を表すとして、10ビットのデータが1ビットの0のデータに圧縮されている。ここで、例えば、図1中のメモリセルアレイ11には8個のセグメントが設けられており、各セグメント当たりリダンダンシワード線が8本ある場合を考える。
第1の実施の形態のメモリにおいて、メモリセルアレイ11がSegment0からSegment31の32個のセグメントで構成され、各セグメントに配置された8本のリダンダンシワード線(RWL)に対応してヒューズセットが8組設けられていることを想定する。この場合、二回目のプログラムで使用される第2のヒューズ・ヒューズラッチ回路23b内のヒューズ素子の個数は、最低でも32×8=256個が必要である。二回目のプログラムで少なくとも3箇所の不良セルが救済できるようなヒューズ素子の個数は、32×8+9×3=283個となる。この283個のヒューズ素子のうち253個のヒューズ素子には、圧縮された後の0のデータがそれぞれ書き込まれており、ヒューズ素子の使用効率が悪い。
そこで、第2の実施の形態のメモリでは、二回目のプログラムで使用される第2のヒューズ・ヒューズラッチ回路23b内のヒューズ素子の個数を削減して、ヒューズ素子の使用効率を高めるようにしている。そのために、一回目用のヒューズデータの圧縮方式と、二回目のヒューズデータの圧縮方式とを異なるものにしている。
図11は、第2の実施の形態に係るメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。ヒューズ・ヒューズラッチ回路部21内には、図2に示す場合と同様に、複数のヒューズ・ヒューズラッチ回路の一例として、第1のヒューズ・ヒューズラッチ回路23aと第2のヒューズ・ヒューズラッチ回路23bとが設けられている。
ヒューズデータ転送制御回路部22には、カウンタ24及びデータ転送制御回路25の他に、新たに指示ビット監視回路26が追加されている。
図12は、第2の実施の形態のメモリにおいて、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに書き込まれるリダンダンシ情報の一例を示している。第1のヒューズ・ヒューズラッチ回路23aに書き込まれるデータは、第1の実施の形態の場合と同様の圧縮方式を用いて圧縮されている。すなわち、1つのローリダンダンシ用アドレスがプログラムされるヒューズセットは10個のヒューズ素子からなり、10ビットの0のデータは1個の0のデータに圧縮される。
二回目用の第2のヒューズ・ヒューズラッチ回路23bは、1つのヒューズセットが13個のヒューズ素子から構成されている。この13個のヒューズ素子のうち先頭のイネーブルヒューズ(E)に続く3個のヒューズ素子(A)に対して3ビットの指示ビットが書き込まれる。この指示ビットは、そのヒューズセットに対して書き込まれるデータを、一回目用のヒューズセットの何番目のものと置き換えるかを指示するデータとして使用される。図12に示されている例では、二回目用の最初のヒューズセットの13個のヒューズ素子に書き込まれたデータのうち、3ビットの指示ビットが010なので、このデータは一回目用のヒューズセットの2番目のデータと置き換えるデータであることを示している。
図13は、図11中のデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用、二回目用の複数のヒューズ素子に書き込まれている圧縮されたデータが展開されながら転送処理が行われ、転送の途中で両データの論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS2)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS3)。このようにして、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている圧縮されたデータが展開され、この展開された10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。
一方、転送開始後に転送クロックがカウントされる(ステップS5)。次に、転送クロックのカウント結果と第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)の指示ビットの値とが一致するか否かが判定される(ステップS6)。一致していなければ、ステップS4に戻り、再び転送クロックがカウントされる。一致していれば、指示ビット以外の10ビットのデータがデータ転送制御回路25に転送され(ステップS7)。次のカウント値と指示ビットの比較時には次のデータ(Fuse 2)の指示ビットが参照される(ステップS8)。つまり二回目用の第2のヒューズ・ヒューズラッチ回路23bの指示ビットは先頭から順番に参照される。
次に、ステップS4で転送された10ビットのデータと、ステップS7で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS9)、メモリマクロ10に転送される(ステップS10)。次に転送ビット数がカウントされ(ステップS11)、全ての転送が終了したか否かが判定され(ステップS12)、全ての転送が終了していなければステップS1及びS5に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
図11中の指示ビット監視回路26は、第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)中のイネーブルビットが1にプログラムされているときに、3ビットの指示ビット以外の10ビットのデータを抽出し、これら10ビットのデータを、3ビットの指示ビットで示される一回目用のヒューズセットのデータと置き換えるためのデータとして、データ転送制御回路25に転送する機能を有する。
この実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
ここで、例えば図1中のメモリセルアレイ11に8個のセグメントが設けられており、各セグメント当たりリダンダンシワード線が8本ある場合に、二回目のプログラムで少なくとも3箇所の不良セルが救済できるようなヒューズ素子の個数は、13×3=39個となる。すなわち、第1の実施の形態の場合の283個と比べて大幅にヒューズ素子の個数を減らすことができる。
(第2の実施の形態の変形例)
図14は、第2の実施の形態の変形例のメモリにおいて、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに書き込まれるリダンダンシ情報の一例を示している。第1のヒューズ・ヒューズラッチ回路23aに対してプログラムされるデータは、第2の実施の形態の場合と同様の圧縮方式を用いて圧縮されている。
図14は、第2の実施の形態の変形例のメモリにおいて、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに書き込まれるリダンダンシ情報の一例を示している。第1のヒューズ・ヒューズラッチ回路23aに対してプログラムされるデータは、第2の実施の形態の場合と同様の圧縮方式を用いて圧縮されている。
二回目用の第2のヒューズ・ヒューズラッチ回路23bは、1つのヒューズセットが15個のヒューズ素子から構成されている。15個のヒューズ素子のうち先頭の5個のヒューズ素子に対して5ビットの指示ビットが書き込まれ、それに続く10個のヒューズ素子に対してイネーブルビットとアドレスとが書き込まれる。
この場合、指示ビットは、第2の実施の形態の場合とは異なり、ヒューズセットの番号ではなく、一回目用のヒューズ素子の先頭からの本数を表している。図14に示されている例では、先頭の5ビットの指示ビットが10100なので、この指示ビットを含むヒューズセットに書き込まれているアドレスデータは、一回目用のヒューズセットの20個目以降のデータと置き換えられるデータであることを示している。
この変形例におけるヒューズボックス20の詳細な構成は図11に示すものと同様であるが、データ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムが異なる。
図15は、この変形例のメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用、二回目用の複数のヒューズ素子に書き込まれている圧縮されたデータが、展開されながら転送処理が行われ、転送の途中で両データの論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS2)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS3)。このようにして、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている圧縮されたデータが展開され、この展開された10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。
一方、転送開始後に転送クロックがカウントされる(ステップS5)。次に、転送クロックのカウント結果と第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)の指示ビットの値が一致するか否かが判定される(ステップS6)。一致していなければ、ステップS5に戻り、再び転送クロックがカウントされる。一致していれば、指示ビット以外の10ビットのデータがデータ転送制御回路25に転送される(ステップS7)。次のカウント値と指示ビットの比較時には次のデータ(Fuse 2)の指示ビットが参照される(ステップS8)。つまり二回目用の第2のヒューズ・ヒューズラッチ回路23bの指示ビットは先頭から順番に参照される。
次に、ステップS4で転送された10ビットのデータと、ステップS7で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS9)、メモリマクロ10に転送される(ステップS10)。次に転送ビット数がカウントされ(ステップS11)、全ての転送が終了したか否かが判定され(ステップS12)、全ての転送が終了していなければステップS1及びS5に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
本例における指示ビット監視回路26は、第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)中のイネーブルビットが1にプログラムされているときに、イネーブルビット以外のデータを抽出し、これらのデータを、5ビットの指示ビットで示される一回目用のヒューズセットのデータと置き換えるためのデータとして、データ転送制御回路25に転送する機能を有する。
この変形例のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
ここで、例えば図1中のメモリセルアレイ11には8個のセグメントが設けられており、各セグメント当たりリダンダンシワード線が8本ある場合に、二回目のプログラムで少なくとも3箇所の不良セルが救済できるようなヒューズ素子の個数は、15×3=45個となる。すなわち、第2の実施の形態の場合の39個と比べて、ヒューズ素子の個数はわずかに増加する。しかし、第1の実施の形態の場合の283個と比べると、大幅にヒューズ素子の個数を減らすことができる。
(第3の実施の形態)
第1、第2の実施の形態及びその変形例のメモリでは、一回目用のプログラムで使用される第1のヒューズ・ヒューズラッチ回路23aに対し、圧縮されたデータを書き込む場合について説明した。しかし、第1のヒューズ・ヒューズラッチ回路23aに対して、圧縮されていないデータを書き込むようにしてもよい。
第1、第2の実施の形態及びその変形例のメモリでは、一回目用のプログラムで使用される第1のヒューズ・ヒューズラッチ回路23aに対し、圧縮されたデータを書き込む場合について説明した。しかし、第1のヒューズ・ヒューズラッチ回路23aに対して、圧縮されていないデータを書き込むようにしてもよい。
図16は、第3の実施の形態のメモリにおいて、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに書き込まれるリダンダンシ情報の一例を示している。第1のヒューズ・ヒューズラッチ回路23aに書き込まれるデータは圧縮されていない。すなわち、1つのヒューズセットはそれぞれ10個のヒューズ素子からなり、ローリダンダンシ用アドレスがプログラムされない10個のヒューズ素子には10ビットの0のデータがそのまま書き込まれる。
二回目用の第2のヒューズ・ヒューズラッチ回路23bについては、本例では第2の実施の形態のメモリの場合と同様の圧縮方式で圧縮されたデータが書き込まれる。つまり、第2のヒューズ・ヒューズラッチ回路23bでは、1つのヒューズセットが13個のヒューズ素子から構成されている。この13個のヒューズ素子のうち先頭のイネーブルヒューズ(E)に続く3個のヒューズ素子に対して3ビットの指示ビットが書き込まれる。この指示ビットは、そのヒューズセットに対して書き込まれるデータを、一回目用のヒューズセットの何番目のものと置き換えるかを指示するデータとして使用される。
図16に示されている例では、二回目用の最初のヒューズセットの13個のヒューズ素子に書き込まれたデータのうち、3ビットの指示ビットが010なので、このデータは一回目用のヒューズセットの2番目のデータと置き換えられるデータであることを示している。
この実施の形態のメモリにおけるヒューズボックス20の構成は図11に示すものと同様である。しかし、データ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムが異なる。
図17は、第3の実施の形態のメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用の複数のヒューズ素子に書き込まれているデータがそのまま順次読み出されて転送され、二回目用の複数のヒューズ素子に書き込まれている圧縮されたデータは展開されながら転送処理が行われ、転送の途中で両データの論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、転送開始後に転送クロックがカウントされる(ステップS1)。第1のヒューズ・ヒューズラッチ回路23aからデータ(Fuse 1)がデータ転送制御回路25に順次転送される(ステップS2)。次に、転送クロックのカウント結果と第2のヒューズ・ヒューズラッチ回路23bから転送されるデータ(Fuse 2)の指示ビットの値が一致するか否かが判定される(ステップS3)。一致していなければ、ステップS1及びS3が繰り返し実行される。一致していれば、指示ビット以外の10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。このようにして、第2のヒューズ・ヒューズラッチ回路23bに書き込まれている圧縮されたデータが展開される。次のカウント値と指示ビットの比較時には次のデータ(Fuse 2)の指示ビットが参照される(ステップS5)。つまり二回目用の第2のヒューズ・ヒューズラッチ回路23bの指示ビットは先頭から順番に参照される。
次に、ステップS2で転送された10ビットのデータと、ステップS4で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS6)、メモリマクロ10に転送される(ステップS7)。次に転送ビット数がカウントされ(ステップS8)、全ての転送が終了したか否かが判定され(ステップS9)、全ての転送が終了していなければステップS1に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
この実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
また、第2の実施の形態のメモリと同様に、二回目のプログラムで少なくとも3箇所の不良セルが救済できるようなヒューズ素子の個数は39個となり、第1の実施の形態の場合と比べて大幅にヒューズ素子の個数を減らすことができる。
なお、この実施の形態のメモリでは、二回目用の第2のヒューズ・ヒューズラッチ回路23bに対し、第2の実施の形態のメモリの場合と同様の方式で圧縮されたデータが書き込まれる場合を説明した。しかし、二回目用の第2のヒューズ・ヒューズラッチ回路23bに対し、第1の実施の形態のメモリの場合と同様の圧縮方式で圧縮されたデータ、もしくは第2の実施の形態の変形例のメモリの場合と同様の圧縮方式で圧縮されたデータを書き込むように変形してもよい。
(第4の実施の形態)
ところで、複数のリダンダンシ情報記憶回路の1つがヒューズ素子の数が異なる複数のヒューズセットを持つ場合に、例えば第1の実施の形態のメモリなどのように、一定ビット数の連続した0のデータを1ビットの0のデータに圧縮する方式を採用すると、明らかに圧縮効率が低下する。これは、ローリダンダンシとカラムリダンダンシとでヒューズ素子の数が異なる数のヒューズセットを用いる場合などに相当する。例えば、1つのヒューズセットが10個のヒューズ素子で構成される場合と、8個のヒューズ素子で構成される場合とが混在している場合を考える。10ビットが全て0のデータを1ビットの0のデータに圧縮する方式を採用すると、8ビットが全て0のデータは圧縮されない。
ところで、複数のリダンダンシ情報記憶回路の1つがヒューズ素子の数が異なる複数のヒューズセットを持つ場合に、例えば第1の実施の形態のメモリなどのように、一定ビット数の連続した0のデータを1ビットの0のデータに圧縮する方式を採用すると、明らかに圧縮効率が低下する。これは、ローリダンダンシとカラムリダンダンシとでヒューズ素子の数が異なる数のヒューズセットを用いる場合などに相当する。例えば、1つのヒューズセットが10個のヒューズ素子で構成される場合と、8個のヒューズ素子で構成される場合とが混在している場合を考える。10ビットが全て0のデータを1ビットの0のデータに圧縮する方式を採用すると、8ビットが全て0のデータは圧縮されない。
そこで、第4の実施の形態のメモリでは、例えば、10ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式と、8ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式とを併用する。そして、データの展開時に展開方式を切り替えることで、複数のリダンダンシ情報記憶回路の1つがヒューズ素子の数が異なる複数のヒューズセットを持つ場合に対応させている。
図18は、第4の実施の形態に係るメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。ヒューズ・ヒューズラッチ回路部21内には、図11に示す場合と同様に、複数のヒューズ・ヒューズラッチ回路の一例として、第1のヒューズ・ヒューズラッチ回路23aと第2のヒューズ・ヒューズラッチ回路23bとが設けられている。
ヒューズデータ転送制御回路部22には、カウンタ24及びデータ転送制御回路25の他にデータセット監視回路27が設けられている。データセット監視回路27は、カウンタ24のカウント出力を監視し、圧縮前のデータが10ビットのデータか8ビットのデータかを検知する。この検知結果はデータ転送制御回路25に供給される。
図19は、第4の実施の形態のメモリにおいて、第1のヒューズ・ヒューズラッチ回路23aに書き込まれる前、つまり圧縮前のリダンダンシ情報と、書き込まれた後、つまり圧縮後のリダンダンシ情報の一例を示している。この場合、例えば、ローリダンダンシ用のリダンダンシ情報は10ビットであり、カラムリダンダンシ用のリダンダンシ情報は8ビットであるとする。圧縮前のローリダンダンシ用の10ビットのデータは、1ビットのイネーブルビット(E)と9ビットのローアドレスとからなる。圧縮前のカラムリダンダンシ用の8ビットのデータは、1ビットのイネーブルビット(E)と7ビットのカラムアドレスとからなる。
10ビットのデータが全て0のデータと、8ビットのデータが全て0のデータは、それぞれ異なる圧縮方式によって1ビットの0のデータに圧縮され、第1のヒューズ・ヒューズラッチ回路23aに書き込まれる。
第2のヒューズ・ヒューズラッチ回路23bに書き込まれるリダンダンシ情報の圧縮方法は特に限定されない。すなわち、第1乃至第3の実施の形態のいずれかで採用されている圧縮方法と同様の圧縮方法を採用することができる。図18中に示した指示ビット監視回路26は、第2のヒューズ・ヒューズラッチ回路23bに書き込まれるリダンダンシ情報の圧縮方法として、第2の実施の形態と同様の圧縮方法が採用されている場合に必要となる。従って、第2の実施の形態と同様の圧縮方法以外の圧縮方法が採用される場合には、指示ビット監視回路26は省略することができる。
図20は、図18中のデータ転送制御回路25において、圧縮されたリダンダンシ情報が展開され、かつメモリマクロ10に転送される際のアルゴリズムを示すフローチャートである。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、次にカウンタ24のカウント内容が参照され、カウンタの指示が8ビットか10ビットかが判定される(ステップS2)。カウンタの指示が8ビットの場合には、その後、0が連続する8ビットのデータが生成され(ステップS3)、カウンタの指示が10ビットの場合には、その後、0が連続する10ビットのデータが生成される(ステップS4)。
一方、ステップS1でイネーブルビットが1と判定されると、次に、カウンタ24のカウント内容が参照され、カウンタの指示が8ビットか10ビットかが判定される(ステップS5)。カウンタの指示が10ビットの場合には、その後、先頭のイネーブルビットとそれに続く9ビットのデータが取り出され(ステップS6)、カウンタの指示が8ビットの場合には、その後、先頭のイネーブルビットとそれに続く7ビットのデータが取り出される(ステップS7)。このようにして生成された8ビットあるいは10ビットのデータがデータ転送制御回路25に転送される(ステップS8,S9)。
一方、第2のヒューズ・ヒューズラッチ回路23bには二回目用のリダンダンシ情報がプログラムされている。この第2のヒューズ・ヒューズラッチ回路23bにプログラムされたデータ(Fuse 2)は、その圧縮方式に応じた展開方式に基づいて8ビットあるいは10ビットのデータに展開され、データ転送制御回路25に転送される(ステップS10)。この転送されたデータのうち、8ビットのデータはステップS8で転送された8ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成される(ステップS11)。他方、10ビットのデータはステップS9で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成される(ステップS11)。合成された8ビットもしくは10ビットのデータはメモリマクロ10に転送される(ステップS12)。次に転送ビット数がカウントされ(ステップS13)、全ての転送が終了したか否かが判定され(ステップS14)、全ての転送が終了していなければステップS1及びS10に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
この実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
さらに、この実施の形態のメモリでは、ローリダンダンシとカラムリダンダンシとでヒューズ素子の数が異なるヒューズセットを用いていても、それぞれデータ圧縮を行うことができる。
(第5の実施の形態)
この第5の実施の形態のメモリでは、第4の実施の形態のメモリの場合と同様に、例えば、10ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式と、8ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式とが併用される。そして、データの展開時に展開方式を切り替えることで、複数のリダンダンシ情報記憶回路の1つが複数種類のヒューズセットを持つ場合でも対応できるようにしたものである。
この第5の実施の形態のメモリでは、第4の実施の形態のメモリの場合と同様に、例えば、10ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式と、8ビットが全て0のデータを1ビットの0のデータに圧縮する圧縮方式とが併用される。そして、データの展開時に展開方式を切り替えることで、複数のリダンダンシ情報記憶回路の1つが複数種類のヒューズセットを持つ場合でも対応できるようにしたものである。
図21は、第5の実施の形態に係るメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。ヒューズ・ヒューズラッチ回路部21内には、図11に示す場合と同様に、複数のヒューズ・ヒューズラッチ回路の一例として、第1のヒューズ・ヒューズラッチ回路23aと第2のヒューズ・ヒューズラッチ回路23bとが設けられている。
ヒューズデータ転送制御回路部22には、カウンタ24、データ転送制御回路25及び指示ビット監視回路26が設けられている。指示ビット監視回路26は、指示ビットの値を監視し、圧縮前のデータが10ビットのデータか8ビットのデータかを検知し、その検知結果をデータ転送制御回路25に出力する機能を有する。
図22は、第5の実施の形態のメモリにおいて、第1のヒューズ・ヒューズラッチ回路23aに書き込み前、つまり圧縮前のリダンダンシ情報と、書き込み後、つまり圧縮後のリダンダンシ情報の一例を示している。この場合、例えば、ローリダンダンシ用のリダンダンシ情報は10ビットであり、カラムリダンダンシ用のリダンダンシ情報は8ビットであるとする。圧縮前のローリダンダンシ用の10ビットのデータは、1ビットのイネーブルビット(E)と9ビットのローアドレスとからなる。圧縮前のカラムリダンダンシ用の8ビットのデータは、1ビットのイネーブルビット(E)と7ビットのカラムアドレスとからなる。
10ビットのデータが全て0のデータと8ビットのデータが全て0のデータは、それぞれ異なる圧縮方式によって1ビットの0のデータに圧縮される。データ圧縮後は、先頭のイネーブルビット(E)の次に1ビットの指示ビット(S)が付加される。本例では、この指示ビット(S)が1の場合は圧縮前のデータが10ビットであることを示し、0の場合は圧縮前のデータが8ビットであることを示している。
この場合にも、第2のヒューズ・ヒューズラッチ回路23bに書き込まれるリダンダンシ情報の圧縮方法は特に限定されない。すなわち、第1乃至第3の実施の形態のいずれかで採用されている圧縮方法と同様の圧縮方法を採用することができる。図21中に示した指示ビット監視回路26は、第2のヒューズ・ヒューズラッチ回路23bに書き込まれるリダンダンシ情報の圧縮方法として、第2の実施の形態と同様の圧縮方法が採用されている場合には、第2のヒューズ・ヒューズラッチ回路23bに書き込まれているリダンダンシ情報を展開する際にも使用される。
図23は、図21中のデータ転送制御回路25において、圧縮されたリダンダンシ情報が展開され、かつメモリマクロ10に転送される際のアルゴリズムを示すフローチャートである。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、次に指示ビットの値が判定される(ステップS2)。指示ビットが8ビットを示す0の場合には、その後、0が連続する8ビットのデータが生成され(ステップS3)、指示ビットが10ビットを示す1の場合には、その後、0が連続する10ビットのデータが生成される(ステップS4)。
一方、ステップS1でイネーブルビットが1と判定されると、次に、指示ビットが0か否かが判定される(ステップS5)。指示ビットが10ビットを示す1の場合には、その指示ビットに続く9ビットのデータが取り出され(ステップS6)、指示ビットが8ビットを示す0の場合には、その指示ビットに続く7ビットのデータが取り出される(ステップS7)。このようにして生成された8ビット及び10ビットのデータがデータ転送制御回路25に転送される(ステップS8,S9)。
一方、第2のヒューズ・ヒューズラッチ回路23bには二回目用のリダンダンシ情報がプログラムされている。この第2のヒューズ・ヒューズラッチ回路23bにプログラムされたデータ(Fuse 2)は、その圧縮方式に応じた展開方式に基づいて8ビットあるいは10ビットのデータに展開され、データ転送制御回路25に転送される(ステップS10)。この転送されたデータのうち、8ビットのデータはステップS8で転送された8ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成される(ステップS11)。他方、10ビットのデータはステップS9で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成される(ステップS11)。合成された8ビットもしくは10ビットのデータはメモリマクロ10に転送される(ステップS12)。次に転送ビット数がカウントされ(ステップS13)、全ての転送が終了したか否かが判定され(ステップS14)、全ての転送が終了していなければステップS1及びS10に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
この実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
さらに、この実施の形態のメモリでは、ローリダンダンシとカラムリダンダンシとでヒューズ素子の数が異なるヒューズセットを用いていても、それぞれデータ圧縮を行うことができる。
また、この実施の形態のメモリでは、ヒューズセット中に1ビットの指示ビットを含んでいるので、第4の実施の形態のメモリと比べてヒューズ素子の個数が増加する。しかし、指示ビットの値からそのヒューズセットの圧縮方式が分かるので、第1のヒューズ・ヒューズラッチ回路23a内でヒューズセットの圧縮方式がばらばらに並んでいるような場合に特に有効である。これに対し、第4の実施の形態のメモリでは、ヒューズ素子の数が異なるヒューズセットが、図19に示すようにそれぞれまとめて配置されている方が展開の効率上、有効である。
(第6の実施の形態)
ところで、先に説明した第2の実施の形態及びその変形例などのメモリでは、二回目用の第2のヒューズ・ヒューズラッチ回路23b内に、ヒューズデータ転送回路部22からヒューズラッチ回路15、16に転送される順番に従って複数のヒューズセットがシリアルに並んでいる。このため、ヒューズ素子が一度ブローされると、ヒューズセットの順番以前に現れるデータ(アドレス)は書き込むことができない。
ところで、先に説明した第2の実施の形態及びその変形例などのメモリでは、二回目用の第2のヒューズ・ヒューズラッチ回路23b内に、ヒューズデータ転送回路部22からヒューズラッチ回路15、16に転送される順番に従って複数のヒューズセットがシリアルに並んでいる。このため、ヒューズ素子が一度ブローされると、ヒューズセットの順番以前に現れるデータ(アドレス)は書き込むことができない。
この第6の実施の形態のメモリは、二回目のアドレスのプログラムを任意の順番で行うことができるようにしたものである。
図24は、第6の実施の形態のメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。ヒューズ・ヒューズラッチ回路部21内には、複数のヒューズ・ヒューズラッチ回路の一例として、一回目のプログラム用の第1のヒューズ・ヒューズラッチ回路23aと、それぞれ1つのリダンダンシ用アドレスがプログラムされる二回目のプログラム用の複数の第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3、…とが設けられている。
ヒューズデータ転送制御回路部22には、カウンタ24、データ転送制御回路25の他に、第2のヒューズ・ヒューズラッチ回路23bi(23b1、23b2、23b3、…)に対応して設けられた複数の指示ビット監視回路28と、データ挿入制御回路29とが設けられている。
複数の指示ビット監視回路28はそれぞれ、対応する第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3、…に書き込まれているデータのうち指示ビットの値を検出する。また、複数の指示ビット監視回路28は、イネーブルビットが1のときに、カウンタ24の値と指示ビットとの値を比較し、一致すれば、データ挿入制御回路29に割り込み信号INTRPTi(INTRPT1,INTRPT2,INTRPT3,…)を供給する。この一致信号を受けると、データ挿入制御回路29は、カウンタ24の値と指示ビットとの値とが一致した第2のヒューズ・ヒューズラッチ回路に対してクロック信号FCLKxi(FCLKx1,FCLKx2,FCLKx3,…)を供給し、その第2のヒューズ・ヒューズラッチ回路から10ビットのデータDATAxi(DATAx1,DATAx2,DATAx3,…)を取り出し、データ転送制御回路25に供給する。
図25は、二回目用の第2のヒューズ・ヒューズラッチ回路23bとして3個のヒューズ・ヒューズラッチ回路23b1、23b2、23b3が設けられている場合に、第1のヒューズ・ヒューズラッチ回路23a及び3個の第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3に書き込まれるリダンダンシ情報の一例を示している。
第1のヒューズ・ヒューズラッチ回路23aに対してプログラムされるデータは、第2の実施の形態の場合と同様の圧縮方式を用いて圧縮されている。すなわち、10ビットの0のデータが1ビットの0のデータに圧縮される。第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3はそれぞれ、13個のヒューズ素子からなる1つのヒューズセットで構成されている。各ヒューズセットの先頭の1個のヒューズ素子にイネーブルビット(E)が書き込まれ、これに続く3個のヒューズ素子に3ビットの指示ビット(A)が書き込まれ、残りの9個のヒューズ素子にアドレスが書き込まれる。3ビットの指示ビットは、そのヒューズセットに書き込まれているデータ(アドレス)を、合成後のデータの何番目の位置に挿入するかを指示するためのデータとして使用される。
図25に示されている例では、二回目用のヒューズ・ヒューズラッチ回路23b1のヒューズセットの指示ビットが100なので、9ビットのデータ(アドレス)は4番目のデータの位置に挿入されるデータであることを示している。
同様に、二回目用のヒューズ・ヒューズラッチ回路23b2のヒューズセットの指示ビットが010なので、9ビットのデータ(アドレス)は2番目のデータの位置に挿入されるデータであることを示している。
二回目用のヒューズ・ヒューズラッチ回路23b3のヒューズセットはプログラムされておらず、使用されていない。
図26は、この第6の実施の形態のメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用の複数のヒューズ素子に書き込まれている圧縮されたデータが、展開されながら転送処理が行われ、転送の途中で、二回目用の複数のヒューズ素子に書き込まれているデータとの論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS2)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS3)。このようにして、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている圧縮されたデータが展開されて10ビットのデータが生成され、この生成された10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。
一方、転送開始後に転送クロックがカウントされる(ステップS5)。次に、転送クロックのカウント値と、全ての第2のヒューズ・ヒューズラッチ回路23biに書き込まれている指示ビットの値が比較される(ステップS6)。次に、転送クロックのカウント値と、全ての第2のヒューズ・ヒューズラッチ回路23biに書き込まれている指示ビットの値とが一致するものがあるか否かが判定される(ステップS7)。このとき、一致するものがあれば、その指示ビット以外の10ビットのデータがデータ転送制御回路25に転送される(ステップS8)。一方、一致するものがなければ、ステップS5に戻り、再び転送クロックがカウントされる。
次に、ステップS4で転送された10ビットのデータと、ステップS8で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS9)、メモリマクロ10に転送される(ステップS10)。次に転送ビット数がカウントされ(ステップS11)、全ての転送が終了したか否かが判定され(ステップS12)、全ての転送が終了していなければステップS1及びS5に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
この第6の実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
しかも、本実施の形態のメモリでは、二回目用のヒューズ・ヒューズラッチ回路としてそれぞれ独立した複数のヒューズセットを設け、各ヒューズセットにデータ挿入用の指示ビットを書き込み、データを転送する毎にこの指示ビットをカウンタ値と比較し、一致した際にそのヒューズセットにプログラムされるデータ(アドレス)を挿入するようにしている。このため、用意されているヒューズセットの数の範囲ならば何度でも、データの挿入位置を選ばずにヒューズブローすることができる。
(第6の実施の形態の変形例)
図27は、第6の実施の形態の変形例に係るメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。
図27は、第6の実施の形態の変形例に係るメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。
先の図24に示す第6の実施の形態に係るメモリにおいて、データ挿入制御回路29は、カウンタ24の値と指示ビットとの値とが一致した第2のヒューズ・ヒューズラッチ回路23biに対してクロック信号FCLKxiを供給し、その第2のヒューズ・ヒューズラッチ回路から10ビットのデータDATAxiを取り出してデータ転送制御回路25に供給し、また、データ転送制御回路25は、データ挿入制御回路29に対して転送用のクロック信号FCLK2を供給する場合について説明した。
これに対し、この変形例に係るメモリでは、データ挿入制御回路29は、指示ビット監視回路28から割り込み信号INTRPTiを受けると、データ転送制御回路25に対して割り込み信号INTRPTを出力する。また、データ転送制御回路25は、この割り込み信号INTRPTを受けると、転送用クロック信号FCLK2をデータ挿入制御回路29に供給する。
転送用クロック信号FCLK2を受けると、データ挿入制御回路29は、割り込み信号INTRPTiを出力した指示ビット監視回路28に対応した第2のヒューズ・ヒューズラッチ回路23biにクロック信号FCLKxiを供給し、そのとき、第2のヒューズ・ヒューズラッチ回路23biから出力されるDATAxiを受け、このデータをデータ転送制御回路25にデータDATA2として供給する。
割り込み信号INTRPTが供給された場合、データ転送制御回路25からメモリマクロ10に転送されるデータは第2のヒューズ・ヒューズラッチ回路23biに記憶されているデータとなる。このとき、第1のヒューズ・ヒューズラッチ回路23aに記憶されているデータDATA1も、停止することなくデータ転送制御回路25に供給され続ける。すなわち、クロック信号FCLK1は常に第1のヒューズ・ヒューズラッチ回路23aに供給され、第1のヒューズ・ヒューズラッチ回路23aからはデータDATA1が出力され続ける。実際には、データ転送制御回路25は、第1、第2のヒューズ・ヒューズラッチ回路23a、23biから供給されるデータDATA1、DATA2の論理和を取ってメモリマクロ10に出力するか、もしくは割り込み信号INTRPTに基づいて2本のデータ線、つまりデータDATA1、DATA2転送用の配線を切り替えてデータDATA1もしくはDATA2を出力する。
前者の場合、つまり両データの論理和が取られる場合には、同一のリダンダンシワード線(RWL)に対して一回目と二回目とのヒューズブローを行うことは許されない。また、後者の場合、つまり両データを切り替える場合には、二回目のヒューズブローが常に優先される。これらの制御を行うための制御回路は、データ転送制御回路29に含まれている。
図28は、この第6の実施の形態の変形例に係るメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用の複数のヒューズ素子に書き込まれている圧縮されたデータが展開され、データ転送制御回路に転送される。また、これと並行して、二回目用の複数のヒューズ素子に書き込まれているデータの指示ビットとカウント値との一致が検出され、一致が検出されると割り込み信号INTRPTが生成される。メモリマクロに転送されるデータは割り込み信号INTRPTに応じて選択される。
まず、転送開始後、第1のヒューズ・ヒューズラッチ回路23aから転送されるデータ(Fuse 1)の先頭、つまりイネーブルビットが0か否かが判定される(ステップS1)。イネーブルビットが0ならば、その後、10ビットの0のデータが生成される(ステップS2)。イネーブルビットが1ならば、先頭ビットとこれに続く9ビットのデータが取り出される(ステップS3)。このようにして、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている圧縮されたデータが展開されて10ビットのデータが生成され、この生成された10ビットのデータがデータ転送制御回路25に転送される(ステップS4)。
一方、転送開始後に転送クロックがカウントされる(ステップS5)。次に、転送クロックのカウント値と、全ての第2のヒューズ・ヒューズラッチ回路23biに書き込まれている指示ビットの値が比較される(ステップS6)。次に、転送クロックのカウント値と、全ての第2のヒューズ・ヒューズラッチ回路23biに書き込まれている指示ビットの値とが一致するものがあるか否かが判定される(ステップS7)。このとき、一致するものがあれば、割り込み信号INTRPTが出力され、指示ビットが一致したデータの指示ビット以外の10ビットのデータがデータ転送制御回路25に転送される(ステップS8)。一方、一致するものがなければ、ステップS5に戻り、再び転送クロックがカウントされる。
次に、割り込み信号INTRPTが出力されているか否かが判定され(ステップS9)、割り込み信号INTRPTが出力されていなければ、Fuse列1からのデータが有効データとして選択され(ステップS10)、他方、割り込み信号INTRPTが出力されていれば、Fuse列2からのデータが有効データとして選択され(ステップS11)、その後、メモリマクロ10に転送される(ステップS12)。次に転送ビット数がカウントされ(ステップS13)、全ての転送が終了したか否かが判定され(ステップS14)、全ての転送が終了していなければステップS1及びS5に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
この第6の実施の形態の変形例のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
しかも、本変形例のメモリでは、二回目用のヒューズ・ヒューズラッチ回路としてそれぞれ独立した複数のヒューズセットを設け、各ヒューズセットにデータ挿入用の指示ビットを書き込み、データを転送する毎にこの指示ビットをカウンタ値と比較し、一致した際にそのヒューズセットにプログラムされるデータ(アドレス)を挿入するようにしている。このため、用意されているヒューズセットの数の範囲ならば何度でも、データの挿入位置を選ばずにヒューズブローすることができる。
上記各実施形態及びその変形例に係るメモリでは、一例として、512本のワード線に対して8本のリダンダンシワード線が用意される場合を説明した。しかし、リダンダンシワード線の本数を増やす場合、もしくは減らす場合、さらには512本のワード線と8本のリダンダンシワード線の組み合わせを1バンク(Bank)と呼ぶとすると、多バンク構成の場合には、指示ビットの定義を変更することで対応することができる。
(第7の実施の形態)
次に、第7の実施の形態のメモリを説明する。先の第2の実施の形態のメモリでは、一回目用及び二回目の第1、第2のヒューズ・ヒューズラッチ回路23a、23bに対し、それぞれ異なる圧縮方式で圧縮されたデータがプログラムされる場合を説明した。これに対して、この第7の実施の形態のメモリでは、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに対し、同様の圧縮方式で圧縮されたデータをプログラムすることで、ヒューズ素子の使用効率を向上させるようにしたものである。
次に、第7の実施の形態のメモリを説明する。先の第2の実施の形態のメモリでは、一回目用及び二回目の第1、第2のヒューズ・ヒューズラッチ回路23a、23bに対し、それぞれ異なる圧縮方式で圧縮されたデータがプログラムされる場合を説明した。これに対して、この第7の実施の形態のメモリでは、第1、第2のヒューズ・ヒューズラッチ回路23a、23bに対し、同様の圧縮方式で圧縮されたデータをプログラムすることで、ヒューズ素子の使用効率を向上させるようにしたものである。
図29は、第7の実施の形態のメモリにおいて、第1、第2のヒューズ・ヒューズラッチ回路に書き込まれるリダンダンシ情報の一例を示している。すなわち、一回目及び二回目共、1ビット目のイネーブルビット(E)に1のデータが書き込まれ、これに続く3個の指示ビット(A)に指示ビットが書き込まれ、残り9個のデータビット(アドレスビット)にローリダンダンシを使用するアドレスを指定するためのアドレスが書き込まれる。図29に示されている例では、プログラムをするために使用される二回目用のヒューズ・ヒューズラッチ回路23b内の1つのヒューズセットの3ビットの指示ビットが011なので、この指示ビットに続く9ビットのデータ(アドレス)は合成後の3番目の位置に挿入されるデータであることを示している。
この実施の形態のメモリにおけるヒューズボックス20は、図11に示す場合と同様の構成を有する。
図30は、この第7の実施の形態のメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。このアルゴリズムでは、データの転送開始後に、一回目用の複数のヒューズ素子に書き込まれている圧縮されたデータが、展開されながら転送処理が行われ、転送の途中で、二回目用の複数のヒューズ素子に書き込まれているデータとの間で論理和が取られて新たなデータが合成され、メモリマクロ10に供給される。
まず、第1のヒューズ・ヒューズラッチ回路23aからのデータ転送開始後に、転送クロックがカウントされる(ステップS1)。次に、転送クロックのカウント値と、第1のヒューズ・ヒューズラッチ回路23aに書き込まれている指示ビットの値とが一致するか否かが判定される(ステップS2)。このとき、一致しなければ、その後、10ビットの0のデータが生成される(ステップS3)。一方、一致すれば、その指示ビット以外の10ビットのデータが取り出される(ステップS4)。次に、上記のようにして生成された10ビットのデータがデータ転送制御回路25に転送される(ステップS5)。次のカウント値と指示ビットの比較時には次のデータ(Fuse 1)の指示ビットが参照される(ステップS6)。つまり一回目用の第1のヒューズ・ヒューズラッチ回路23aの指示ビットは先頭から順番に参照される。
また、第2のヒューズ・ヒューズラッチ回路23bからのデータ転送開始後に、転送クロックがカウントされる(ステップS7)。次に、転送クロックのカウント値と、第2のヒューズ・ヒューズラッチ回路23bに書き込まれている指示ビットの値とが一致するか否かが判定される(ステップS8)。このとき、一致すれば、その指示ビット以外の10ビットのデータがデータ転送制御回路25に転送される(ステップS9)。次のカウント値と指示ビットの比較時には次のデータ(Fuse 2)の指示ビットが参照される(ステップS10)。つまり二回目用の第2のヒューズ・ヒューズラッチ回路23bについても、指示ビットは先頭から順番に参照される。
一方、ステップS5で転送された10ビットのデータと、ステップS9で転送された10ビットのデータとの論理和がビット毎に取られて新たなリダンダンシ情報が合成され(ステップS11)、メモリマクロ10に転送される(ステップS12)。次に転送ビット数がカウントされ(ステップS13)、全ての転送が終了したか否かが判定され(ステップS14)、全ての転送が終了していなければステップS1及びS7に戻り、全ての転送が終了していれば、メモリマクロ10への転送が終了する。
本実施の形態のメモリでも、ヒューズデータを圧縮しているにもかかわらずヒューズデータのプログラムを複数回行うことができる。
また、本実施の形態のメモリでは、第6の実施の形態のメモリの場合と同様に、二回目用のヒューズ・ヒューズラッチ回路としてそれぞれ独立した複数のヒューズセットを設けることで、データの挿入位置を選ばずにヒューズブローすることができる。
(第8の実施の形態)
ところで、第6の実施の形態及びその変形例のメモリなどでは、場合によっては以下のような不都合が生じることがある。
ところで、第6の実施の形態及びその変形例のメモリなどでは、場合によっては以下のような不都合が生じることがある。
図31は、第6の実施の形態及びその変形例のメモリにおいて、512本のワード線WLに対して設けられた8本のリダンダンシワード線RWL1〜RWL7と、一回目用と二回目用のヒューズセットにプログラムされるアドレス値(1st, 2nd Fuse Blow address)、及び実際にメモリマクロ10に転送されるアドレス値(transfer Fuse Data)を示している。
ヒューズセットにアドレス値がプログラムされることで、通常動作時にそのアドレスにアクセスがあった場合は、アドレス値がプログラムされたリダンダンシワード線RWLがアクセスされる。
図31中の左側は、一回目用のテスト、例えばウェハレベルでのテストで、ワード線WLの10番と20番と30番にそれぞれ不良があり、一回目用のヒューズセットを用いてリダンダンシワード線RWLで置き換えてテストをパスしたことを示している。そのヒューズのプログラム状態を示すのが、図31中の「1st Fuse Blow address」の値である。
このチップを、例えばアセンブリした後にテストしたところ、ワード線WLの20番(WL20)が不良であるという結果が得られたとする。この場合、アセンブリ後のチップ内部では、実際には、リダンダンシワード線RWL1に不良が発生しているはずであるが、チップ外部から見ればそれは20番のワード線WL20に不良が発生していると見える。仮に、外部からRWL1が不良であることを検知する手段があったとしても、この場合に救済すべきワード線は20番のワード線WL20である。従って、二回目用のヒューズセットを用いて、空いているリダンダンシワード線RWL4で20番のワード線WL20を救済したとする。この場合、通常のメモリ動作時に、512本のワード線WLのうち20番のワード線WL20がアクセスされると、2本のリダンダンシワード線RWL1とRWL4が同時にアクセスされる。すなわち、この場合に正常な回路動作は保証できず、誤動作が生じることになる。
二回目用のヒューズセットのプログラム後の状態を示すのが図31中の右側の「2nd Fuse Blow address」の値である。また、実際にメモリマクロ10に転送されるデータは「transfer Fuse Data」の値である。図中、破線で囲んでいるように、アドレス値の「20」が2回転送される。
第8の実施の形態に係るメモリでは、上述したように一回目用と二回目用のヒューズセットに同じアドレス値がプログラムされた場合における誤動作の発生を防止するようにしたものである。
次に、第8の実施の形態に係るメモリの原理を、図31を用いて説明する。図32は、図31の場合と同様に、512本のワード線WLに対して設けられた8本のリダンダンシワード線RWLと、これらのリダンダンシワード線RWLを使用する際にヒューズセットにプログラムされるアドレス値、及び実際にメモリマクロ10に転送されるアドレス値を示している。図中の左側には一回目のヒューズセットを用いて救済を行い、その後のテストをパスした状態を示しており、右側には二回目のヒューズセットを用いて救済を行った状態、及び実際にメモリマクロ10に転送されるアドレス値を示している。
最初のテストの際に、ワード線の10番、20番、30番、及び40番に不良が検出されたとすると、一回目のヒューズブロー時に、これらのワード線がリダンダンシワード線RWL0、RWL1、RWL2、及びRWL3を用いて救済される。
そして、アセンブリ後のテストで、ワード線WLの20番及び50番が不良であることが検出されたとする。この後、二回目用のヒューズセットがプログラムされ、未使用のリダンダンシワード線を用いて救済が行われる。
ここで、第6の実施の形態及びその変形例によるメモリのように、二回目用のヒューズセットにプログラムされたアドレス値がそのままデータ転送制御回路25を経由してメモリマクロ10に転送されると、20番のワード線については同じアドレス値が2回転送されてしまう。これを避けるため、本実施の形態のメモリでは、一回目用のヒューズセットに関しては、これから転送されようとする10ビットのデータがモニタされる。また、二回目用のヒューズセットの10ビットのデータの中に同じアドレス値があるか否かが比較検知される。この結果、同じアドレス値がなければ、二回目用のヒューズセットの指示ビットによる割り込み判定が行われ、一回目用もしくは二回目用のヒューズセットの10ビットのデータがメモリマクロ10に転送される。同じアドレス値があった場合には、二回目用のヒューズセットの中に同じアドレス値が検知された一回目用のヒューズセットの10ビットのデータが全て0にされ、メモリマクロ10に転送される。なお、一回目用のヒューズセットの10ビットのデータが全て0にされる代わりに、イネーブルビットのみが0にされてもよい。二回目用のヒューズセットに対してプログラムされたデータについては、図30の場合と同様に指示ビットによる割り込み判定が行われ、その結果に基づいてデータ転送制御が行われる。従って、メモリマクロ10に転送されるアドレス値は、図32中の「transfer Fuse Data」に示すように、10番、30番、40番、20番、及び50番となる。すなわち、二回目用のヒューズセットに対してプログラムされたアドレス値で同じものが存在していれば、その同じアドレス値の生成が取り消される。
図33は、この第8の実施の形態のメモリにおけるヒューズボックス20の詳細な構成を示すブロック図である。この実施形態におけるヒューズボックス20の基本的な構成は図27に示すものと同様であるが、以下の点が図27に示すものとは異なる。
すなわち、図27中の複数の指示ビット監視回路28に替えて複数の指示ビット及びアドレス監視回路28bが設けられる。これらの各指示ビット及びアドレス監視回路28bには、対応する第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3、…にプログラムされるデータ、カウンタ24の値、及び第1のヒューズ・ヒューズラッチ回路23aからデータ転送制御回路25に転送される10ビットのデータFMON[0:9]がそれぞれ供給される。各指示ビット及びアドレス監視回路28bは、第1のヒューズ・ヒューズラッチ回路23aからデータ転送制御回路25に対してシリアルデータDATA1が転送される前に、上記データFMON[0:9]と、対応する第2のヒューズ・ヒューズラッチ回路23b1、23b2、23b3、…に予めプログラムされているアドレス値とを比較し、一致するアドレス値があれば一致信号OEMTCHi(i=1,2,3,…)を出力する。アドレス値を比較するタイミングは、カウンタ24の出力信号を用いて制御できる。
また、図27中のデータ挿入制御回路29に替えてデータ挿入及び削除制御回路29bが設けられる。このデータ挿入及び削除制御回路29bは、上記一致信号OEMTCHiを受けると、データ転送制御回路25に対して一致信号OEMTCHを出力する。データ転送制御回路25は、この一致信号OEMTCHを受けると、第1のヒューズ・ヒューズラッチ回路23aからのアドレス値のメモリマクロ10へのデータ転送を取り消す。すなわち、メモリマクロ10に転送されるデータの生成が実質的に取り消される。
図34は、図33中のヒューズボックス20内に設けられる第1、第2のヒューズ・ヒューズラッチ回路に書き込まれるリダンダンシ情報、及びメモリマクロ10に転送されるデータの一例を示している。
この場合、一回目用のヒューズセットに対してプログラムを行う場合には、1ビット目のイネーブルビット(E)に1のデータが書き込まれ、これに続く9個のデータビット(アドレスビット)にローリダンダンシを使用するアドレスを指定するためのアドレスが書き込まれる。二回目用のヒューズセットに対してプログラムを行う場合には、1ビット目のイネーブルビット(E)に1のデータが書き込まれ、これに続く3個の指示ビット(A)に指示ビットが書き込まれ、残り9個のデータビット(アドレスビット)にローリダンダンシを使用するアドレスを指定するためのアドレスが書き込まれる。
図34に示されている例では、一回目用のヒューズセットに対し、4本のリダンダンシワード線RWL0、RWL1、RWL2、RWL3と置き換えるための10番、20番、30番、及び40番のアドレス値がプログラムされている。また、二回目用のヒューズセットに対し、2本のリダンダンシワード線RWL4、RWL5と置き換えるための20番及び50番のアドレス値がプログラムされている。
また、一回目用のヒューズセットのうちローリダンダンシワード線RWL1に対応するアドレス値「20」と同じアドレス値が、二回目用のヒューズセットに予めプログラムされているアドレス値中に存在している。従って、このローリダンダンシワード線RWL1に対応したアドレス値「20」は転送されず、取り消される。
図35は、この第8の実施の形態のメモリにおけるデータ転送制御回路25で新たなリダンダンシ情報が生成される際のアルゴリズムを示すフローチャートである。
ところで、図35に示したアルゴリズムに従ってデータ転送を行うと、一回目と二回目で同一のローリダンダンシワード線に同一のアドレス値がプログラムされている場合は、そのアドレス値はメモリマクロ10に転送されないことになる。つまり、上記のように二回目用のヒューズセットをプログラムすると、一回目用のヒューズセットにプログラムされたデータをキャンセルするのみの動作が行われる。これは、例えば一回目用のヒューズセットに対するブロー時にミスがあり、正しいアドレスがプログラムできなかった場合などに用いることができる。
この場合の例を図36に示す。一回目のヒューズブローで10番、20番、30番のアドレスをプログラムするつもりが、プログラムミスにより、20番が21番となってしまった状態を示している。そこで、二回目のヒューズブローでローリダンダンシワード線RWL1を指示して20番のアドレスをプログラムし、かつ新たなローリダンダンシワード線RWL3を指示して20番のアドレスをプログラムすることで、始めに意図していたアドレス値「20」が生成でき、かつメモリマクロ10に転送することができる。
図33に示すような構成のヒューズボックス20では、指示ビット及びアドレス監視回路28bは、一致信号OEMTCHiを出力する際に同時に割り込み信号INTRPTiも出力する。図36に示すような制御を行う場合には、ヒューズデータをキャンセルしたいので、データ挿入及び削除制御回路29bは、一致信号OEMTCHiを優先し、一致信号OEMTCHのみを出力し、割り込み信号INTRPTは出力しない。この場合、一致信号OEMTCHiと割り込み信号INTRPTiの両方が入力された場合、一致信号OEMTCHのみを出力するように各指示ビット及びアドレス監視回路28bを構成すればよい。
10…メモリマクロ、11…メモリセルアレイ、12…冗長セルアレイ、13…ロー制御回路、14…カラム制御回路、15…ロー用のヒューズラッチ回路、16…カラム用のヒューズラッチ回路、20…ヒューズボックス、21…ヒューズ・ヒューズラッチ回路部、22…ヒューズデータ転送制御回路部、23a…第1のヒューズ・ヒューズラッチ回路、23b…第2のヒューズ・ヒューズラッチ回路、24…カウンタ、25…データ転送制御回路、26…指示ビット監視回路、27…データセット監視回路、28…指示ビット監視回路、28b…指示ビット及びアドレス監視回路、29…データ挿入制御回路、29b…データ挿入及び削除制御回路、31…ヒューズ素子、32…ヒューズラッチ回路、33…ヒューズラッチ回路。
Claims (9)
- メモリセルアレイ内に存在する不良セルを冗長セルアレイ内の冗長セルと置き換えるために使用されるリダンダンシ情報をそれぞれ記憶する不揮発性記憶素子からなる複数のリダンダンシ情報記憶回路と、
前記複数のリダンダンシ情報記憶回路に記憶されている複数のリダンダンシ情報を合成して新たなリダンダンシ情報を生成するリダンダンシ情報生成回路
とを具備したことを特徴とする半導体記憶装置。 - 複数のメモリセルを有するメモリセルアレイと、
前記メモリセルアレイ内の不良セルを救済するために使用される複数の冗長セルを有する冗長セルアレイと、
前記メモリセルアレイ内に存在する不良セルを前記冗長セルアレイ内の冗長セルと置き換えるために使用されるリダンダンシ情報をそれぞれ記憶する不揮発性記憶素子からなる複数のリダンダンシ情報記憶回路と、
前記複数のリダンダンシ情報記憶回路に記憶されている複数のリダンダンシ情報を合成して新たなリダンダンシ情報を生成するリダンダンシ情報生成回路と、
前記リダンダンシ情報生成回路で生成されたリダンダンシ情報及び前記メモリセルアレイ内のメモリセルの選択情報に応じて、前記メモリセルアレイ内のメモリセルもしくは前記冗長セルアレイ内の冗長セルを選択する選択回路
とを具備したことを特徴とする半導体記憶装置。 - 前記複数のリダンダンシ情報記憶回路に記憶される前記複数のリダンダンシ情報のうち少なくとも1つのリダンダンシ情報記憶回路に記憶されるリダンダンシ情報はデータ圧縮されていることを特徴とする請求項1または2記載の半導体記憶装置。
- 前記複数のリダンダンシ情報記憶回路に記憶される前記複数のリダンダンシ情報の全てがデータ圧縮されていることを特徴とする請求項1または2記載の半導体記憶装置。
- 前記複数のリダンダンシ情報記憶回路は、記憶できる情報の容量が異なるリダンダンシ情報記憶回路を含むことを特徴とする請求項1または2記載の半導体記憶装置。
- 前記リダンダンシ情報生成回路は、前記複数のリダンダンシ情報記憶回路に記憶されているリダンダンシ情報に基づいて、前記新たなリダンダンシ情報の生成を取り消すことを特徴とする請求項1または2記載の半導体記憶装置。
- 前記不揮発性記憶素子は、プログラム方式が異なる複数種類の不揮発性記憶素子を含む請求項1または2記載の半導体記憶装置。
- 前記複数種類の不揮発性記憶素子のうちの少なくとも1つの種類の不揮発性記憶素子は、レーザ光を照射する方法によってプログラムされる不揮発性記憶素子である請求項7記載の半導体記憶装置。
- 前記複数種類の不揮発性記憶素子のうちの少なくとも1つの種類の不揮発性記憶素子は、電気的な方法によってプログラムされる不揮発性記憶素子である請求項7記載の半導体記憶装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005028811A JP2006185569A (ja) | 2004-12-01 | 2005-02-04 | 半導体記憶装置 |
PCT/JP2005/022513 WO2006059797A1 (en) | 2004-12-01 | 2005-12-01 | Semiconductor memory device with redundancy function |
US11/503,295 US20060274586A1 (en) | 2004-12-01 | 2006-08-14 | Semiconductor memory device with redundancy function |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004348906 | 2004-12-01 | ||
JP2005028811A JP2006185569A (ja) | 2004-12-01 | 2005-02-04 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006185569A true JP2006185569A (ja) | 2006-07-13 |
Family
ID=36013657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005028811A Abandoned JP2006185569A (ja) | 2004-12-01 | 2005-02-04 | 半導体記憶装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20060274586A1 (ja) |
JP (1) | JP2006185569A (ja) |
WO (1) | WO2006059797A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006228330A (ja) * | 2005-02-17 | 2006-08-31 | Toshiba Corp | 半導体記憶装置 |
JP2007234155A (ja) * | 2006-03-02 | 2007-09-13 | Sony Corp | 半導体記憶装置 |
US7911258B2 (en) | 2007-09-14 | 2011-03-22 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device, redundancy system, and redundancy method for latching and transmitting fuse data |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7310278B2 (en) * | 2006-05-04 | 2007-12-18 | International Business Machines Corporation | Method and apparatus for in-system redundant array repair on integrated circuits |
US8686778B2 (en) * | 2009-08-24 | 2014-04-01 | Oracle America, Inc. | Integrated pulse-control and enable latch circuit |
KR20170036884A (ko) * | 2015-09-18 | 2017-04-03 | 에스케이하이닉스 주식회사 | 리페어 회로, 이를 이용한 반도체 장치 및 반도체 시스템 |
US10789398B2 (en) * | 2016-08-31 | 2020-09-29 | Synopsys, Inc. | Method and apparatus for SOC with optimal RSMA |
US10600498B1 (en) * | 2019-02-27 | 2020-03-24 | Micron Technology, Inc. | Reduced footprint fuse circuit |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19838861A1 (de) * | 1998-08-26 | 2000-03-02 | Siemens Ag | Verfahren zur Reparatur von defekten Speicherzellen eines integrierten Speichers |
US7174486B2 (en) * | 2002-11-22 | 2007-02-06 | International Business Machines Corporation | Automation of fuse compression for an ASIC design system |
US6856569B2 (en) * | 2003-01-10 | 2005-02-15 | International Business Machines Corporation | Method and system for merging multiple fuse decompression serial bitstreams to support auxiliary fuseblow capability |
US7162669B2 (en) * | 2003-06-10 | 2007-01-09 | Hewlett-Packard Development Company, L.P. | Apparatus and method for compressing redundancy information for embedded memories, including cache memories, of integrated circuits |
US7415640B1 (en) * | 2003-10-13 | 2008-08-19 | Virage Logic Corporation | Methods and apparatuses that reduce the size of a repair data container for repairable memories |
US6922649B2 (en) * | 2003-11-25 | 2005-07-26 | International Business Machines Corporation | Multiple on-chip test runs and repairs for memories |
US7308598B2 (en) * | 2004-11-04 | 2007-12-11 | International Business Machines Corporation | Algorithm to encode and compress array redundancy data |
-
2005
- 2005-02-04 JP JP2005028811A patent/JP2006185569A/ja not_active Abandoned
- 2005-12-01 WO PCT/JP2005/022513 patent/WO2006059797A1/en active Application Filing
-
2006
- 2006-08-14 US US11/503,295 patent/US20060274586A1/en not_active Abandoned
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006228330A (ja) * | 2005-02-17 | 2006-08-31 | Toshiba Corp | 半導体記憶装置 |
JP2007234155A (ja) * | 2006-03-02 | 2007-09-13 | Sony Corp | 半導体記憶装置 |
US7911258B2 (en) | 2007-09-14 | 2011-03-22 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device, redundancy system, and redundancy method for latching and transmitting fuse data |
Also Published As
Publication number | Publication date |
---|---|
WO2006059797A1 (en) | 2006-06-08 |
US20060274586A1 (en) | 2006-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7330383B2 (en) | Semiconductor device with a plurality of fuse elements and method for programming the device | |
TWI661430B (zh) | 自我修復裝置及其方法 | |
KR102117633B1 (ko) | 셀프 리페어 장치 | |
US7373573B2 (en) | Apparatus and method for using a single bank of eFuses to successively store testing data from multiple stages of testing | |
US7251756B2 (en) | Method and apparatus for increasing fuse programming yield through preferred use of duplicate data | |
JP3708726B2 (ja) | 欠陥救済回路 | |
US6163489A (en) | Semiconductor memory having multiple redundant columns with offset segmentation boundaries | |
JP2006185569A (ja) | 半導体記憶装置 | |
JP2005174462A (ja) | 半導体記憶装置 | |
JP2004503897A (ja) | 行修理をセグメント化した半導体メモリ | |
KR20190107861A (ko) | 리던던시 영역을 리페어 하는 반도체 장치 | |
JP2007066380A (ja) | 冗長回路及びその冗長回路を備えた半導体装置 | |
JP2004005912A (ja) | 半導体メモリ装置、及びその不良セルアドレスプログラム回路及び方法 | |
US7308598B2 (en) | Algorithm to encode and compress array redundancy data | |
US11954338B2 (en) | Shared components in fuse match logic | |
KR100633595B1 (ko) | 반도체 메모리 장치 및 그 구동 방법 | |
JP4891748B2 (ja) | 半導体集積回路およびそのテスト方法 | |
KR100963552B1 (ko) | 반도체 메모리 | |
JP4257342B2 (ja) | 半導体記憶装置、メモリモジュール及びメモリモジュールの検査方法 | |
JP4351649B2 (ja) | 半導体記憶装置 | |
KR20210113841A (ko) | 리페어 회로 및 이를 포함하는 메모리 장치 | |
JPH10172297A (ja) | 半導体記憶装置及び半導体記憶装置の試験方法 | |
JP4403023B2 (ja) | 半導体記憶装置及びメモリアクセス方法 | |
JP2003157695A (ja) | 半導体記憶装置およびその検査方法 | |
JP2005149667A (ja) | 半導体記憶装置および不良セルの救済方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20081212 |