(57)【要約】【課題】従来の半導体記憶装置では、遅延故障等に起因するビット誤りを訂正することが困難である問題があった。【解決手段】本発明の半導体記憶装置は、格子状に配列されたデータセルを有するデータ格納領域２２ａと、データ格納領域２２ｂに格納されたデータのうち同一の行に格納されるデータ群に対応して設けられる１ビットのパリティデータを格納する冗長データ格納領域２２ｂと、データ群に含まれるデータのうち不良位置情報Ｓにより指定される不良データをパリティデータに置き換えたパリティ演算用データ群を出力する第１のスイッチ部２３と、パリティ演算用データ群に基づき不良データを訂正した訂正データを生成する複合器２５と、不良位置情報に基づきデータ群に含まれる不良データを訂正データに置き換えた読み出しデータ群を出力する第２のスイッチ部２４と、を有する。【選択図】図１
2009245528.tif 000002
【特許請求の範囲】
【請求項１】
１ビットのデータを保持するデータセルが格子状に配列されたデータ格納領域と、
前記データ格納領域に格納されたデータのうち同一の行に格納されるデータ群のそれぞれに対応して設けられる１ビットのパリティデータを格納する冗長データ格納領域と、
前記データ群及び前記パリティデータを受け、前記データ群に含まれるデータのうち不良位置情報により指定される不良データを前記パリティデータに置き換えたパリティ演算用データ群を出力する第１のスイッチ部と、
前記パリティ演算用データ群に基づき前記不良データを訂正した訂正データを生成する複合器と、
前記データ群及び前記訂正データを受け、前記不良位置情報に基づき前記データ群に含まれる不良データを前記訂正データに置き換えた読み出しデータ群を出力する第２のスイッチ部と、
を有する半導体記憶装置。
【請求項２】
前記データ格納領域及び冗長データ格納領域は、読み出し専用の記憶領域である請求項１に記載の半導体記憶装置。
【請求項３】
前記不良位置情報は、前記データ格納領域において前記不良データを含む列番号を指定する請求項１又は２に記載の半導体記憶装置。
【請求項４】
前記複合器は、前記データ群に含まれるデータから前記パリティデータを算出するパリティ演算方法に準じた演算を前記パリティ演算用データ群に対して行い、前記演算の結果を前記訂正データとして出力する請求項１乃至３のいずれか１項に記載の半導体記憶装置。
【請求項５】
前記第１のスイッチ部及び第２のスイッチ部は、前記データ群のビット数に対応した個数のスイッチ回路を有し、前記第１のスイッチ部に含まれるスイッチ回路はそれぞれ前記不良位置情報に基づき前記データ群に含まれるデータと前記パリティデータのいずれかを選択して出力し、前記第２のスイッチ部に含まれるスイッチ回路はそれぞれ前記不良位置情報に基づき前記データ群に含まれるデータと前記訂正データのいずれかを選択して出力する請求項１乃至４のいずれか１項に記載の半導体記憶装置。
【請求項６】
前記不良位置情報は、異なる不良データの位置を示す複数の不良位置情報を含み、前記半導体記憶装置は、複数の不良位置情報のそれぞれに対応して前記データ格納領域、前記冗長データ格納領域、前記第１、第２のスイッチ部、及び、前記複合器の組を有する請求項１乃至５のいずれか１項に記載の半導体記憶装置。
【請求項７】
前記不良位置情報は、前記データ格納領域の１つの行を示すアドレス情報のうち上位アドレス情報に対応した第１の不良位置情報と、前記アドレス情報のうち下位アドレス情報に対応した第２の不良位置情報とを含み、
前記半導体記憶装置は、前記アドレス情報に基づき、前記第１の不良位置情報と前記第２の不良位置情報のいずれか一方を選択して前記第１、第２のスイッチ部に対する前記不良位置情報を出力する選択回路を有する請求項１乃至６のいずれか１項に記載の半導体記憶装置。
【請求項８】
前記不良位置情報を不揮発性の情報として記憶する不良位置情報格納部を有する請求項１乃至７のいずれか１項に記載の半導体記憶装置。
【請求項９】
前記複数のデータセル及び前記冗長セルに保持されるデータは、製造段階において決定される請求項１乃至８のいずれか１項に記載の半導体記憶装置。
【請求項１０】
１ビットのデータを保持するデータセルが格子状に配列されたデータ格納領域と、
前記データ格納領域に格納されたデータのうち同一の行に格納されるデータ群のそれぞれに対応して設けられる１ビットのパリティデータを格納する冗長データ格納領域と、
前記データ群及び前記パリティデータを受け、前記データ群に含まれるデータのうち不良位置情報により指定される位置のデータを前記パリティデータに置き換えたパリティ演算用データ群を出力する第１のスイッチ部と、
前記パリティ演算用データ群に含まれるデータに基づき算出される差し替えデータを生成する複合器と、
前記データ群及び前記差し替えデータを受け、前記データ群に含まれるデータのうち前記不良位置情報により指定される位置のデータを前記差し替えデータに置き換えた読み出しデータ群を出力する第２のスイッチ部と、
を有する半導体記憶装置。
【請求項１１】
前記データ格納領域及び冗長データ格納領域は、読み出し専用の記憶領域である請求項９に記載の半導体記憶装置。
【請求項１２】
前記不良位置情報は、前記データ格納領域において前記不良データを含む列番号を指定する請求項９又は１０に記載の半導体記憶装置。
【請求項１３】
前記複合器は、前記データ群に含まれるデータから前記パリティデータを算出するパリティ演算方法に準じた演算を前記パリティ演算用データ群に対して行い、前記演算の結果を前記差し替えデータとして出力する請求項９乃至１２のいずれか１項に記載の半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は半導体記憶装置に関し、特にＲＯＭ（Read Only Memory）に保持されたデータの不良を冗長データにより訂正する半導体記憶装置に関する。
【背景技術】
【０００２】
半導体装置では、製造工程において素子の不良が発生することがあり、この素子の不良により歩留まりが低下する問題がある。特に、半導体記憶装置では、近年、大容量化が進んでおり、膨大な数の記憶素子のいずれか１つに不良が発生すると、そのチップを不良品としなければならない。そのため、半導体記憶装置では、パリティチェックやＥＣＣ（Error Correcting Code）等のエラー訂正技術を用いて所定の数の不良を救済することで、歩留まりの低下を防止している。
【０００３】
パリティチェックによるエラー訂正は、データに含まれるビット誤りの位置が予め特定できている場合に有効である。パリティチェックによるエラー訂正では、データに含まれる１あるいは０の個数が奇数であるか偶数であるかを計算し、１ビットのパリティデータを生成する。そして、読み出したデータに含まれている１あるいは０の個数を計算し、計算によって得られた結果がパリティデータと不一致であった場合は、予め特定されているビット誤りを反転させて出力する。
【０００４】
一方、ＥＣＣによるエラー訂正は、不良位置が特定されていない場合に有効である。ＥＣＣによるエラー訂正では、複数のビット数を有するパリティデータと処理すべきデータとを用いて演算を行い、不特定の位置に存在するビット誤りを訂正することができる。
【０００５】
ここでパリティチェックによるエラー訂正を行う技術が特許文献１（以下、従来例１と称す。）に開示されている。また、ＥＣＣを用いてエラー訂正を行う技術が特許文献２（以下、従来例２と称す）に開示されている。
【０００６】
従来例１にかかる半導体記憶装置のブロック図を図４に示す。図４に示すように、従来例１の半導体記憶装置は、メモリセルアレイ１００、端子１１０、１２０、１８０、２０１〜２０１６、ローデコーダ１３０、カラムデコーダ及びセンスアンプ１４０、データ修正部１５０、パリティチェック回路１６０、不良出力記憶部１７０、アウトバッファ１９１〜１９１６を有する。メモリセルアレイ１００は、データ部１００ａ及びパリティ部１００ｂを有する。このデータ部１００ａには、半導体記憶装置において記憶すべきデータが格納される。また、パリティ部１００ｂには、データ部１００ａの各行に格納されたデータから生成されるパリティコードを行毎に記憶する。
【０００７】
そして、従来例１の半導体記憶装置は、データ部１００ａから読み出されるデータとパリティ部１００ｂから読み出されるパリティコードとに基づきパリティチェック回路１６０にてパティチェックを行う。また、不良出力記憶部１７０には、読み出したデータにおいてビット誤りが発生した列方向の位置を予め記憶している。データ修正部１５０は、データ部１００ａから読み出されるデータのそれぞれに対応してデータ修正回路１５１〜１５１６を有する。そして、データ修正部１５０は、不良出力記憶部１７０において記憶されているビット誤りが発生した列方向の位置に対応するデータ修正回路がパリティチェック回路１６０において生成されたパリティチェック結果を用いてデータを修正する。従来例１にかかる半導体記憶装置では、このようにしてビット誤りを訂正して、訂正したデータをアウトバッファ１９１〜１９１６を介して出力する。
【０００８】
次に、従来例２にかかる半導体記憶装置のブロック図を図５に示す。図５に示すように、従来例２にかかる半導体記憶装置は、ＲＯＭ回路３０１、不良アドレス格納回路３０２、ヒューズデータ保持回路３０３、救済判定回路３０４、ＥＣＣ回路３０５、データ保持回路３０６、アドレス一致回路１０７、切替保持回路３０８、切替回路３０９を有する。
【０００９】
ＲＯＭ回路３０１は、必要なメモリデータを保持するメモリデータ領域３０１ｂと、このメモリデータをエラー訂正するためのパリティデータが格納されるパリティデータ領域３０１ｂとを有する。不良アドレス格納回路３０２は、メモリデータ領域３０１ｂに格納されるメモリデータのうちエラーと判定されたメモリデータのアドレスである不良アドレスを格納する。ヒューズデータ保持回路３０３は、不良アドレス格納回路３０２が出力するヒューズデータを保持する。救済判定回路３０４は、このヒューズデータ保持回路３０３が出力するヒューズデータに基づいて、エラーと判定されたメモリデータがあるか否か、すなわち救済が必要であるか否かを判定する。ＥＣＣ回路３０５は、エラーと判定されたメモリデータをパリティデータに基づいてエラー訂正し不良アドレスに該当する救済データを生成する。データ保持回路３０６は、ＥＣＣ回路３０５が生成した救済データを格納する。アドレス一致回路３０７は、メモリデータ読み出しのため入力された入力アドレスと不良アドレスとを比較する。切替保持回路３０８は、アドレス一致回路３０７の比較結果を保持する。切替回路３０９は、アドレス一致回路３０７の比較により、入力アドレスと不良アドレスとが一致した場合には不良アドレスに該当する救済データを出力させ、入力アドレスと不良アドレスとが一致しない場合には入力アドレスに該当するメモリデータを出力させる。
【００１０】
このように、従来例２にかかる半導体記憶装置では、入力アドレスが不良アドレスに該当する場合には、ＥＣＣ回路３０５により生成された救済データを出力し、入力アドレスが不良アドレスに該当しない場合には入力アドレスに該当するメモリデータを出力する。このとき、従来例２では、半導体記憶装置の起動時に救済データを生成することで、その後の動作においてＥＣＣ回路３０５を動作させることを防止して、その後の動作の高速化を実現する。
【特許文献１】特開平２−２０３５００号公報
【特許文献２】特開２００７−１４１３６４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、近年、半導体装置における素子の微細化が進んでいる。そして、素子の微細化に伴い、データの出力が遅延する遅延故障が顕著になっている。遅延故障では、故障の度合いにより、データが出力されるタイミングが不確定になる。そのため、従来例１、２のように誤ったデータを含めてパリティチェックあるいはＥＣＣ演算を行った場合、遅延時間の大きさにより演算結果に誤りが生じる場合がある。例えば、パリティチェックあるいはＥＣＣ演算を行っている最中に、演算部に入力されるデータが反転した場合、その後のデータ修正において誤動作を生じる。つまり、従来例１、２では、遅延故障に対して正しくデータを訂正できない問題がある。
【課題を解決するための手段】
【００１２】
本発明にかかる半導体記憶装置の一態様は、１ビットのデータを保持するデータセルが格子状に配列されたデータ格納領域と、前記データ格納領域に格納されたデータのうち同一の行に格納されるデータ群のそれぞれに対応して設けられる１ビットのパリティデータを格納する冗長データ格納領域と、前記データ群及び前記パリティデータを受け、前記データ群に含まれるデータのうち不良位置情報により指定される不良データを前記パリティデータに置き換えたパリティ演算用データ群を出力する第１のスイッチ部と、前記パリティ演算用データ群に基づき前記不良データを訂正した訂正データを生成する複合器と、前記データ群及び前記訂正データを受け、前記不良位置情報に基づき前記データ群に含まれる不良データを前記訂正データに置き換えた読み出しデータ群を出力する第２のスイッチ部と、を有する。
【００１３】
また、本発明にかかる半導体記憶装置の別の態様は、前記データ格納領域に格納されたデータのうち同一の行に格納されるデータ群のそれぞれに対応して設けられる１ビットのパリティデータを格納する冗長データ格納領域と、前記データ群及び前記パリティデータを受け、前記データ群に含まれるデータのうち不良位置情報により指定される位置のデータを前記パリティデータに置き換えたパリティ演算用データ群を出力する第１のスイッチ部と、前記パリティ演算用データ群に含まれるデータに基づき算出される差し替えデータを生成する複合器と、前記データ群及び前記差し替えデータを受け、前記データ群に含まれるデータのうち前記不良位置情報により指定される位置のデータを前記差し替えデータに置き換えた読み出しデータ群を出力する第２のスイッチ部と、を有する。
【００１４】
本発明にかかる半導体記憶装置によれば、データ群に含まれるデータのうち不良位置情報により指定される不良データをパリティデータに置き換えたパリティ演算用データ群を生成する。そして、不良位置情報により指定される不良データの置き換えデータとなる訂正データをパリティ演算用データ群に基づき生成する。つまり、訂正データの演算において遅延故障により不良となるデータを用いることがない。従って、本発明にかかる半導体記憶装置によれば、遅延故障により不良となるデータに対しても正しくデータの訂正を行うことが可能である。
【発明の効果】
【００１５】
本発明にかかる半導体記憶装置によれば、不良データの故障モードによらず正しくデータの訂正を行うことが可能である。
【発明を実施するための最良の形態】
【００１６】
実施の形態１
以下、本発明の実施の形態について図面を参照して説明する。図１に実施の形態１にかかる半導体記憶装置１のブロック図を示す。図１に示すように、本実施の形態にかかる半導体記憶装置１は、不良位置情報記憶部１０、ＲＯＭ（Read Only Memory）マクロ２０、３０を有する。以下では、半導体記憶装置１は、ＲＯＭマクロ単位で記憶領域が配置され、ＲＯＭマクロ単位で不良位置情報が与えられる例について説明する。なお、本発明は、記憶領域がＲＯＭマクロ単位で配置されるものに限られるものではない。
【００１７】
不良位置情報格納部１０は、外部から与えられる記憶制御信号に基づきビット誤りのあるＲＯＭマクロ内のメモリアレイ領域の列の位置情報（以下、不良位置情報Ｓと称す）を記憶する。不良位置情報記憶部１０は、例えば、メモリセル領域の列の数に相当する数の記憶素子を有し、記憶素子の状態に応じて不良位置情報Ｓを出力する。記憶素子は、例えば、ヒューズ等の不揮発性の記憶素子である。そして、この記憶素子に記憶する不良位置情報は、ＲＯＭマクロに対して事前に試験を実施して得られた不良データの情報に基づき特定されたメモリアレイ領域の列の位置情報である。
【００１８】
ＲＯＭマクロ２０、３０は、実質的に同じものであるため、ここでは、ＲＯＭマクロ２０を例に説明する。ＲＯＭマクロ２０は、ワード線制御部２１、メモリアレイ領域２２、第１のスイッチ部２３、第２のスイッチ部２４、複合器２５を有する。
【００１９】
メモリアレイ領域２２は、データ格納領域２２ａと冗長データ格納領域２２ｂを有する。メモリアレイ領域２２は、データが格納されるメモリセルが格子状に配置される。そして、ワード線制御部２１は、外部から入力されるアドレス情報ＡＤＤに従ってメモリアレイ領域２２のメモリセルを行毎に選択する。また、ビット線Ｂｉｔ０〜Ｂｉｔ３、Ｂｉｔ＿ＲＤＮは、メモリアレイ領域２２の列を指定する。データ格納領域２２ａは、半導体記憶装置１に格納すべきデータが格納される。データ格納領域２２ａに格納されたデータは、行毎に読み出される。読み出された一群のデータを以下ではデータ群と称す。冗長データ格納領域２２ｂには、パリティデータが格納される。パリティデータは、データ群のそれぞれに対応して設けられるものであって、例えば、対応するデータ群の偶数パリティあるいは奇数パリティの値が格納される。つまり、あるデータ群が"１１０１"であった場合、偶数パリティの値は"１"であり、また、奇数パリティの値は"０"である。そして、メモリアレイ領域２２は、同一の行に格納されるデータ群とパリティデータとが同時に読み出される構成となっている。
【００２０】
第１のスイッチ部２３は、データ格納領域２２ａから読み出されたデータ群と冗長データ格納領域２２ｂから読み出されパリティデータとを受け、データ群に含まれるデータのうち不良位置情報により指定される位置のデータをパリティデータに置き換えたパリティ演算用データ群を出力する。第１のスイッチ部２３は、スイッチ回路ＳＷ１〜ＳＷ４を有する。スイッチ回路ＳＷ１〜ＳＷ４は、それぞれ端子Ａ〜Ｃを有する。そして、スイッチ回路ＳＷ１〜ＳＷ４は、不良位置情報Ｓに応じて端子Ａと端子Ｃとが接続された状態、又は、端子Ｂと端子Ｃとが接続された状態のいずれかの状態となる。端子Ａは、データ格納領域２２ａの対応するビット線に接続され、端子Ｂは冗長データ格納領域２２ｂのビット線Ｂｉｔ＿ＲＤＮに接続される。また、スイッチ回路ＳＷ１〜ＳＷ４の端子Ｃは、それぞれが第１のスイッチ部２３の出力端子であって、端子Ｃから出力される一群のデータがパリティ演算用データ群となる。パリティ演算用データ群は、複合器２５に入力される。
【００２１】
第２のスイッチ部２４は、データ格納領域２２ａから読み出されたデータ群と複合器２５から出力される差し替えデータとを受け、データ群に含まれるデータのうち不良位置情報により指定される位置のデータを差し替えデータに置き換えた読み出しデータ群を出力する。第２のスイッチ部２４は、スイッチ回路ＳＷ５〜ＳＷ８を有する。スイッチ回路ＳＷ５〜ＳＷ８は、それぞれ端子Ａ〜Ｃを有する。そして、スイッチ回路ＳＷ５〜ＳＷ８は、不良位置情報Ｓに応じて端子Ａと端子Ｃとが接続された状態、又は、端子Ｂと端子Ｃとが接続された状態のいずれかの状態となる。端子Ａは、データ格納領域２２ａの対応するビット線に接続され、端子Ｂは複合器２５の出力に接続される。また、スイッチ回路ＳＷ５〜ＳＷ８の端子Ｃは、それぞれが第２のスイッチ部２４の出力端子であって、出力端子Ｄ０〜Ｄ３に接続される。この出力端子Ｄ０〜Ｄ３から出力される一群のデータが読み出しデータ群となる。
【００２２】
複合器２５は、パリティ演算用データ群に含まれるデータに基づき差し替えデータを算出する。本実施の形態における複合器２５は、冗長データ格納領域２２ｂに格納されるパリティデータの値を決定するパリティ演算の演算方法に準じた演算をパリティ演算用データ群に対して行う。例えば、パリティデータが偶数パリティにより値が決められている場合、パリティ演算用データ群に対して偶数パリティを算出する。そして、偶数パリティの値を差し替えデータとする。
【００２３】
なお、上記説明において、データ格納領域２２ａから読み出したデータ群がビット誤りのデータ（以下、不良データと称す）を含んでいる場合、不良位置情報は、データ群におけるその不良データの列の位置を示すものであり、第１のスイッチ部２３は、不良位置情報により示される不良データをパリティデータに置き換えたパリティ演算用データ群を出力する。また、複合器２５において算出される差し替えデータは、不良データの訂正後の値を示す訂正データとなる。
【００２４】
次に、本実施の形態にかかる半導体記憶装置１の動作について説明する。まず、メモリアレイ領域２２に不良データが含まれていない場合の動作について説明する。この場合、不良データがないため、不良位置情報Ｓは、すべての列に不良データがないことを示す。この不良位置情報Ｓに基づき第１のスイッチ部２３のスイッチ回路ＳＷ１〜ＳＷ４と第２のスイッチ部２４のスイッチ回路ＳＷ５〜ＳＷ８は、すべて端子Ａと端子Ｃとが接続された状態となる。これにより、データ格納領域２２ａから読み出されたデータ群は、何らの変更も行われず、第１のスイッチ部２３及び第２のスイッチ部２４を介して出力端子Ｄ０〜Ｄ３から読み出しデータ群として出力される。なお、ことのき複合器２５から出力される差し替えデータは、外部に出力されない。
【００２５】
次に、メモリアレイ領域２２に格納されるデータに不良データが含まれる場合について説明する。図１に示す例では、ビット線Ｂｉｔ１の列に不良データが存在する。このような場合、不良位置情報Ｓは、ビット線Ｂｉｔ１に不良データがあることを示す。この不良位置情報Ｓに基づき第１のスイッチ部２３においてビット線Ｂｉｔ１に対応するスイッチ回路ＳＷ２は、端子Ｂと端子Ｃとが接続される状態となる。また、第２のスイッチ部２４においても、不良位置情報Ｓに基づきこの第２のスイッチ部２４においてビット線Ｂｉｔ１に対応するスイッチ回路ＳＷ６の端子Ｂと端子Ｃとが接続される状態となる。このとき、その他のスイッチ回路は端子Ａと端子Ｃとが接続された状態である。
【００２６】
スイッチ回路の接続状態が切り替わることで、第１のスイッチ部２３が出力するパリティ用演算データ群は、ビット線Ｂｉｔ０、Ｂｉｔ２、Ｂｉｔ３に対応したデータとパリティデータとを含む。つまり、パリティ用演算データ群は、ビット線Ｂｉｔ０〜Ｂｉｔ３を介して読み出されたデータ群においてビット線Ｂｉｔ１に対応するデータをパリティデータで置き換えたデータとなる。
【００２７】
そして、複合器２５は、パリティ用演算データ群に対してパリティ計算を行い、訂正データを出力する。この訂正データは、第２のスイッチ部２４に与えられる。第２のスイッチ部２４では、スイッチ回路の接続に基づき、ビット線Ｂｉｔ０〜Ｂｉｔ３を介して読み出されたデータ群においてビット線Ｂｉｔ１に対応するデータを訂正データで置き換えたデータを読み出しデータ群として出力する。
【００２８】
なお、データ格納領域２２ａに格納されているデータが不良データを含むものであった場合、本実施の形態では、不良データを含まないデータ群に対しても訂正データによる置き換え動作を行う。不良データを含まないデータ群に対してパリティデータを含むパリティ用演算データ群を生成し、このパリティ用演算データ群に対して複合器２５による演算を行った場合、置き換え対象となったデータと演算により出力される訂正データ（あるいは差し替えデータ）とは、同じ値になる。そのため、本実施の形態にかかる半導体記憶装置１においては、１つの不良位置情報が与えられるＲＯＭマクロは、いずれの行から読み出されるデータ群に対しても複合器２５から出力される訂正データ（あるいは差し替えデータ）を用いたデータの置き換えを行う。
【００２９】
ここで、複合器２５におけるパリティ計算の具体例を示し、本実施の形態における演算方法について説明する。以下の説明では一例として、データ格納領域２２ａの第１行に格納されるデータ群がＢｉｔ０、Ｂｉｔ１、Ｂｉｔ２、Ｂｉｔ３＝１、１、０、１であって、第２行に格納されるデータ群がＢｉｔ０、Ｂｉｔ１、Ｂｉｔ２、Ｂｉｔ３＝１、０、０、１であった場合について説明する。
【００３０】
この場合、第１行のデータ群に対応する偶数パリティのパリティデータは"１"となる。一方、第２行のデータ群に対応する偶数パリティのパリティデータは"０"となる。そして、第１行のビット線Ｂｉｔ１に対応するデータが破壊されると、第１行から読み出されるデータ群がＢｉｔ０、Ｂｉｔ１、Ｂｉｔ２、Ｂｉｔ３＝１、０、０、１となる。
【００３１】
このようなデータに対して半導体記憶装置１は、第１行に対応するパリティ用演算データ群として、第１行から読み出されたデータ群においてビット線Ｂｉｔ１対応するデータをパリティデータと置き換えたデータ群１、１、０、１を出力する。そして、複合器２５は、第１行に対応したパリティ用演算データ群に対して偶数パリティを計算し、訂正データとして１を出力する。そして、第２のスイッチ部２４は、第１行に対応するデータ群においてビット線Ｂｉｔ１に対応するデータを訂正データで置き換えて、読み出しデータ群１、１、０、１を出力する。
【００３２】
一方、不良データを含まない第２行に対応するデータ群に対しても、パリティデータを含むパリティ用演算データ群が生成される。第２行に対応したパリティ用演算データ群は、第２行から読み出されたデータ群においてビット線Ｂｉｔ１対応するデータをパリティデータと置き換えたデータ群１、０、０、１となる。そして、複合器２５は、第２行に対応したパリティ用演算データ群に対して偶数パリティを計算し、差し替えデータとして０を出力する。つまり、差し替えデータと第２行のビット線Ｂｉｔ１に対応したデータは同じ値となる。そして、第２のスイッチ部２４は、第２行に対応するデータ群においてビット線Ｂｉｔ１に対応するデータを差し替えデータで置き換えて、読み出しデータ群１、０、０、１を出力する。
【００３３】
上記説明より、本実施の形態にかかる半導体記憶装置１は、不良データがあった場合、不良データを含む列を指定し、指定した行に対応するデータをパリティデータに置き換えてパリティ用演算データ群を生成する。そして、パリティ用演算データ群に対してパリティ演算を行い、不良データに対する訂正データを生成し、不良データを訂正データに置き換えてエラー訂正を行う。つまり、本実施の形態にかかる半導体記憶装置１は、不良データの除くデータを用いてエラー訂正を行う。これにより、本実施の形態にかかる半導体記憶装置１は、記憶素子の遅延故障が原因でデータが不良となった場合であっても、不良故障の影響を受けることなくエラー訂正を行うことができる。
【００３４】
また、従来例２ではＥＣＣを用いてエラー訂正を行っていたため、パリティデータとして多ビットのデータを必要とした。そのため、従来例２では、エラー訂正用のデータの容量が大きく、記憶容量の増大に対応できない問題があった。これに対して、本実施の形態にかかる半導体記憶装置１では、エラー訂正を１ビットのパリティデータを用いたパリティ演算にて行う。そのため、記憶容量に対するパリティデータの割合が小さく、大容量化に対応することができる。
【００３５】
また、従来例２では、不良データを訂正後のデータに切替えて出力するために、入力アドレスと不良データを含むアドレスとを比較しなければならなかった。そのため、従来例２では、データ読み出しの都度、アドレスの比較動作を行わなければならず、動作速度が低下する問題があった。これに対して、本実施の形態にかかる半導体記憶装置１では、アドレスの比較動作を行うことなくデータの読み出しを行うことが可能である。これにより、半導体記憶装置１は、高速動作に適している。なお、本実施の形態にかかる複合器２５で行われるパリティ演算は、データ群に含まれる１の個数又は０の個数のみにより演算できるため、演算にかかる時間は、比較動作に比べてきわめて短く、動作速度の低下はほとんどない。
【００３６】
さらに、エラー率が低い半導体記憶装置に対してＥＣＣ等の大規模なエラー訂正対応回路を設けた場合、チップ面積が増大する問題がある。しかしながら、本実施の形態にかかる半導体記憶装置１では、第１のスイッチ部２３、複合器２５、第２のスイッチ部２４の各ブロックにおける動作がきわめて単純であるため、回路規模を小さくすることができる。また、本実施の形態にかかる半導体記憶装置１では、予め不良データを含む列が１つであれば、高速にエラー訂正を行うことができる。つまり、本実施の形態にかかる半導体記憶装置１は、製造工程におけるエラー率が低い場合においては、小さな回路規模と高速な動作を実現できるため、特に有効である。また、ＲＯＭとして用いられる半導体記憶装置では、製造工程が完了するとデータの書き換えができない。そのため、出荷前に不良であった箇所が出荷後に不良になる可能性は小さい。このようなことから、ＲＯＭでは、予め不良位置を特定することが容易であり、本実施の形態にかかる半導体記憶装置１は、ＲＯＭとして用いられる半導体記憶装置を効率よく生産するために特に有効である。
【００３７】
実施の形態２
実施の形態２にかかる半導体記憶装置２のブロック図を図２に示す。図２に示すように、半導体記憶装置２は、半導体記憶装置１を２組有する場合を示すものである。半導体記憶装置２では、第１の不良位置情報記憶部１１と第２の不良位置情報記憶部１２とを含む不良位置情報記憶部１０ａを有する。そして、半導体記憶装置２では、第１の不良位置情報記憶部１１に対応してＲＯＭマクロ２０、３０が設けられ、第２の不良位置情報記憶部１２に対応してＲＯＭマクロ４０、５０が設けられる。ＲＯＭマクロ２０〜５０は、それぞれ、実施の形態１において説明したＲＯＭマクロ２０と実質的に同じものである。
【００３８】
そして、第１の不良位置情報記憶部１１は、第１の不良位置情報Ｓａを出力し、第２の不良位置情報記憶部１２は、第２の不良位置情報Ｓｂを出力する。第１の不良位置情報Ｓａと第２の不良位置情報Ｓｂは、独立した不良位置の情報を示すものである。つまり、第１の不良位置情報Ｓａと第２の不良位置情報Ｓｂとによって、同じ不良位置を示しても良く、異なる不良位置を示しても良い。
【００３９】
このように、ＲＯＭマクロの個数に応じて、不良位置情報を複数有することで、より多くの不良データの救済を行うことが可能である。このとき、不良位置情報の個数をＲＯＭマクロにより実現される記憶容量と製造工程におけるエラー率とに応じて決定することで、回路規模対エラー救済率の効果を高めることができる。
【００４０】
実施の形態３
実施の形態３にかかる半導体記憶装置３のブロック図を図３に示す。実施の形態３では、ＲＯＭマクロ２０内のメモリアレイ領域２２を上位アドレス側行アドレスにより指定される第１のメモリアレイ領域と下位アドレス側行アドレスにより指定される第２のメモリアレイ領域とに分ける。そして、第１のメモリアレイ領域と第２のメモリアレイ領域とのそれぞれに対して独立した不良位置特定情報を与える。
【００４１】
そのため、半導体記憶装置３では、ＲＯＭマクロ内にセレクタ２６が設けられる。また、不良位置情報格納部１０ｂは、上位アドレス用不良位置情報Ｓｕｐと下位アドレス用不良位置情報Ｓｌｏｗとを出力する。そして、セレクタ２６は、アドレス情報ＡＤＤを受けてアドレス情報ＡＤＤが上位側のアドレスを示す場合は、上位アドレス用不良位置情報Ｓｕｐを第１のスイッチ部２３及び第２のスイッチ部２４に対する不良位置情報として出力する。また、アドレス情報ＡＤＤが下位側のアドレスを示す場合は、下位アドレス用不良位置情報Ｓｌｏｗを第１のスイッチ部２３及び第２のスイッチ部２４に対する不良位置情報として出力する。
【００４２】
このように、１つのＲＯＭマクロ内に含まれるメモリアレイ領域を行アドレスにより領域を分割して扱うことで、１つのＲＯＭマクロにおけるエラー救済箇所を増やすことができる。つまり、半導体記憶装置３は、半導体記憶装置１よりもより多くの不良データを救済することができる。
【００４３】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、複合器２５における計算方法は、上記実施の形態に限られたものではなく、エラー訂正方法により適宜変更することが可能である。また、上記実施の形態では、データ格納領域のビット線を４本としたが、ビット線の数は、ＲＯＭマクロの設計に応じて適宜変更することができる。
【図面の簡単な説明】
【００４４】
【図１】実施の形態１にかかる半導体記憶装置のブロック図である。
【図２】実施の形態２にかかる半導体記憶装置のブロック図である。
【図３】実施の形態３にかかる半導体記憶装置のブロック図である。
【図４】従来例１にかかる半導体記憶装置のブロック図である。
【図５】従来例２にかかる半導体記憶装置のブロック図である。
【符号の説明】
【００４５】
１〜３    半導体記憶装置
１０、１０ａ、１０ｂ、１１、１２    不良位置情報記憶部
２０〜５０    ＲＯＭマクロ
２１    ワード線制御部
２２    メモリアレイ領域
２２ａ    データ格納領域
２２ｂ    冗長データ格納領域
２３、２４    スイッチ部
２５    複合器
２６    セレクタ
ＡＤＤ    アドレス情報
Ａ〜Ｃ    端子
Ｂｉｔ０〜Ｂｉｔ３、Ｂｉｔ＿ＲＤＮ    ビット線
Ｄ０〜Ｄ３    出力端子
Ｓ、Ｓａ、Ｓｂ、Ｓｕｐ、Ｓｌｏｗ    不良位置情報
ＳＷ１〜ＳＷ８    スイッチ回路
【図１】
2009245528.tif 000003
【図２】
2009245528.tif 000004
【図３】
2009245528.tif 000005
【図４】
2009245528.tif 000006
【図５】
2009245528.tif 000007