(57)【要約】【課題】  初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行することが可能な半導体集積回路装置を提供すること。【解決手段】  第１ワード線(WL0)とパリティビット用ビット線対の一方(BLt)とに結合されたメモリセル(1)と、第２ワード線(WL1)とパリティビット用ビット線の他方(BLc)とに結合されたメモリセル(1)と、ビット線(BLt)に接続されるデータ線(PDQt)と、データ線(PDQt)に接続された論理補正回路９とを具備する。論理補正回路９は、アドレス(RA0,RA1)の論理に基づいて、データ線(PDQt)から読み出されたデータの論理を反転させるとともに、データ線(PDQt)に書き込むデータの論理を反転させる。【選択図】      図４
2005209316.tif 000002
【特許請求の範囲】
【請求項１】
アドレスに基づいて選択される第１、第２ワード線と、
情報ビット用相補ビット線対と、
パリティビット用相補ビット線対と、
前記第１ワード線と、前記情報ビット用相補ビット線対の一方とに、結合された第１メモリセルと、
前記第１ワード線と、前記パリティビット用相補ビット線対の一方とに、結合された第２メモリセルと、
前記第２ワード線と、前記情報ビット用相補ビット線対の他方とに、結合された第３メモリセルと、
前記第２ワード線と、前記パリティビット用相補ビット線対の他方とに、結合された第４メモリセルと、
前記情報ビット用相補ビット線対を情報ビット用データ線対に接続し、前記パリティビット用相補ビット線対をパリティビット用データ線対に接続するカラムスイッチ群と、
前記パリティビット用データ線対の一方に接続された論理補正回路とを具備し、
前記論理補正回路は、前記アドレスに基づいて、データのリード動作時に前記パリティビット用データ線から読み出されたデータの論理を反転させ、データのライト動作時に前記パリティビット用データ線に書き込むデータの論理を反転させるパリティビット書き換え動作を実行することを特徴とする半導体集積回路装置。
【請求項２】
前記情報ビット用相補ビット線対、及びパリティビット用相補ビット線対はそれぞれ、捩れビット線であり、
前記論理補正回路は、選択したワード線が逆相カラムに交差するか否か、及び選択したカラムが逆相カラムであるか否かを判断し、
前記選択したワード線が逆相カラムに交差するとともに、前記選択したカラムが逆相カラムである場合には、前記パリティビット書き換え動作を実行しないことを特徴とする請求項１に記載の半導体集積回路装置。
【請求項３】
リダンダントワード線と、
置換前ワード線を前記リダンダントワード線に置換するリダンダンシ回路とを、さらに、具備し、
前記論理補正回路は、前記アドレスに基づいてリダンダントワード線が選択されたか否か、及び前記リダンダントワード線のメモリセルの配置が、前記置換前ワード線のメモリセルの配置と同じであるか否かを判断し、
前記リダンダントワード線が選択されるとともに、前記リダンダントワード線のメモリセルの配置が、前記置換前ワード線のメモリセルの配置と異なる場合には、前記パリティビット書き換え動作を、前記置換前ワード線選択時と逆の動作に従って実行することを特徴とする請求項１に記載の半導体集積回路装置。
【請求項４】
前記ライト動作は、
前記第１メモリセル及び前記第３メモリセルのいずれか一つを含む第１メモリセル群に蓄えられている未訂正データを読み出す第１の手順と、
前記未訂正データにライトデータを上書きした状態と実質的に同一になるように、前記第１メモリセル群に書き込む第２の手順と、
前記未定正データに対して誤り検知及び誤り訂正を施した訂正済データの一部に、前記ライトデータを上書きした状態でパリティビットを発生させる第３の手順と、
前記パリティビットを、前記第２メモリセル及び前記第４メモリセルのいずれか一つを含む第２メモリセル群に書き込む第４の手順と
を含むことを特徴とする請求項１に記載の半導体集積回路装置。
【請求項５】
第１のアドレスに対する前記ライト動作における第１から第４の手順のうち、少なくとも第４の手順は、第２のアドレスに対する前記ライト動作、もしくは第２のアドレスに対するリード動作を実行している期間内に実行することを特徴とする請求項４に記載の半導体集積回路装置。
【請求項６】
前記論理補正回路は、電源投入時のメモリセルの状態、もしくはデータ初期化時のメモリセルの状態に応じ、誤り訂正符号における正しい符号語の読み出しを保障することを特徴とする請求項１に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路装置に関し、特に、誤り検出・訂正回路（Error Correcting Circuit: ECC）付の半導体集積回路装置に関する。
【背景技術】
【０００２】
近時、半導体メモリ、例えば、ダイナミック型ランダムアクセスメモリ（ＤＲＡＭ）において、誤り訂正符号、例えば、ハミング符号を利用した誤り検出・訂正回路（Error Correcting Circuit: ECC）付半導体メモリが普及しつつある。
【０００３】
ＥＣＣ機能付半導体メモリは、例えば、ライト動作の際、ライトデータからパリティビットを生成し、ライトデータは、情報ビットとしてメモリセルに書き込むとともに、パリティビットについてもメモリセルに書き込む。
【０００４】
リード動作の際には、メモリセルから情報ビットとともに、パリティビットを読み出し、読み出した情報ビット及びパリティビットからシンドローム信号を発生させる。シンドローム信号は誤り検出回路に入力され、誤り検出回路は、シンドローム信号に基づいて情報ビットに誤りが有るか否かを検出する。誤りが検出された場合には、誤り訂正回路において、情報ビットの誤りを、誤り検出回路の出力に基づいて訂正する。訂正後、情報ビットをリードデータとして出力する。
【０００５】
しかし、初期状態のメモリセルから読み出したデータ、例えば、電源投入時（もしくは電源投入直後）にメモリセルから読み出したデータは、情報ビット及びパリティビットの双方ともが正しい符合語になっている、とは限らない。例えば、ダイナミック型ＲＡＭでは、電源切断後、メモリセルに蓄えられた電荷は放電されてしまうので、電源切断後には、全てのメモリセルのデータが“電荷無し”のデータ、例えば、データ“０”に対応したものになる可能性が高い。電源投入時にメモリセルから読み出したデータが、全てデータ“０”（もしくは全てデータ“１”）である場合、情報ビット及びパリティビットの双方ともが正しい符号語になっている、とは限らない。この結果、正しい情報ビットが誤ったパリティビットに基づいて訂正されてしまう、といった不具合を生ずる可能性がある。
【０００６】
なお、ＥＣＣ付半導体メモリの公知例としては、例えば、特許文献１〜８がある。
【特許文献１】特許番号  登録第２６４２０９４号公報
【特許文献２】特公平６−８５２８０号公報
【特許文献３】特開平５−２１７３９８号公報
【特許文献４】特開平１−１８３０００号公報
【特許文献５】特開２００３−８５９９６号公報
【特許文献６】特開平８−１９５０９９号公報
【特許文献７】特開平７−２２０４９５号公報
【特許文献８】米国特許第６，４９０，７０３号明細書
【発明の開示】
【発明が解決しようとする課題】
【０００７】
この発明は上記事情に鑑み為されたもので、その目的は、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行することが可能な半導体集積回路装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、この発明の一態様に係る半導体集積回路装置は、アドレスに基づいて選択される第１、第２ワード線と、情報ビット用相補ビット線対と、パリティビット用相補ビット線対と、前記第１ワード線と、前記情報ビット用相補ビット線対の一方とに、結合された第１メモリセルと、前記第１ワード線と、前記パリティビット用相補ビット線対の一方とに、結合された第２メモリセルと、前記第２ワード線と、前記情報ビット用相補ビット線対の他方とに、結合された第３メモリセルと、前記第２ワード線と、前記パリティビット用相補ビット線対の他方とに、結合された第４メモリセルと、前記情報ビット用相補ビット線対を情報ビット用データ線対に接続し、前記パリティビット用相補ビット線対をパリティビット用データ線対に接続するカラムスイッチ群と、前記パリティビット用データ線対の一方に接続された論理補正回路とを具備し、前記論理補正回路は、前記アドレスに基づいて、データのリード動作時に前記パリティビット用データ線から読み出されたデータの論理を反転させ、データのライト動作時に前記パリティビット用データ線に書き込むデータの論理を反転させるパリティビット書き換え動作を実行することを特徴とする。
【発明の効果】
【０００９】
この発明によれば、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行することが可能な半導体集積回路装置を提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、この発明の実施形態のいくつかを、図面を参照して説明する。この説明に際し、全図にわたり、共通する部分には共通する参照符号を付す。
【００１１】
（第１実施形態）
図１は、この発明の第１実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図である。
【００１２】
図１に示すように、メモリセル１は、ワード線ＷＬとビット線ＢＬとの交点に配置される。より詳しくは、ワード線ＷＬ０、ＷＬ３には、ビット線ＢＬｔに接続されるメモリセル１が接続され、ワード線ＷＬ１、ＷＬ２には、ビット線ＢＬｃに接続されるメモリセル１が接続される。本例では、ワード線ＷＬは４本しか示していないが何本でも良い。４本のワード線ＷＬは、メモリセルアレイに対して与えられるアドレス信号のうち、ロウを指定するアドレス、例えば、ロウアドレスＲＡ０、ＲＡ１で指定される。
【００１３】
カラムは、相補ビット線対ＢＬｔ、ＢＬｃと、ビット線ＢＬｔとＢＬｃとの間に接続されたセンスアンプＳＡとを含む。カラムは、カラムスイッチ３を介して、相補リード／ライトデータ線対ＤＱｔ、ＤＱｃに接続される。本明細書では、リード／ライトデータ線をＤＱ線と略す。カラム選択線ＣＳＬは、カラムスイッチ３のゲートに接続される。本例では、カラム選択線ＣＳＬは４本しか示していないが何本でも良い。カラム選択線ＣＳＬは、メモリセルアレイに対して与えられるアドレス信号のうち、カラムを指定するアドレス、例えば、カラムアドレス（図示せず）で指定される。
【００１４】
（リード動作）
リードの際、選択されたワード線ＷＬの電位が、例えば、“Ｌ”レベルから“Ｈ”レベルとなり、メモリセル１にストアされていたデータがビット線対ＢＬｔ、ＢＬｃに読み出される。読み出しデータは、センスアンプＳＡによって増幅される。次いで、選択されたカラム選択線ＣＳＬの電位が、例えば、“Ｌ”レベルから“Ｈ”レベルとなり、カラムスイッチ３が導通し、読み出しデータはＤＱ線対ＤＱｔ、ＤＱｃに伝えられる。この後、特に、図示しないが、読み出しデータは、例えば、ＤＱ線センスアンプ（リードデータ線バッファ）、データバス線、及び入力／出力回路を介して、入力／出力端子に伝えられる。読み出しデータは入力／出力端子から出力される。
【００１５】
（ライト動作）
ライトの際、入力／出力端子に入力された書き込みデータが、特に、図示しないが、入力／出力回路、データバス線を介して、ライトデータ線バッファに伝えられる。ライトデータ線バッファは、ＤＱ線対ＤＱｔ、ＤＱｃをドライブし、ＤＱ線対ＤＱｔ、ＤＱｃの電位を、書き込みデータの論理に応じて、“０、１”、もしくは“１、０”とする。次いで、選択されたカラム選択線ＣＳＬの電位が、例えば、“Ｌ”レベルから“Ｈ”レベルとなり、カラムスイッチ３が導通し、書き込みデータがビット線対ＢＬｔ、ＢＬｃに伝えられる。次いで、選択されたワード線ＷＬの電位が、例えば、“Ｌ”レベルから“Ｈ”レベルとなって、書き込みデータはメモリセル１にストアされる。
【００１６】
次に、初期状態のメモリセルからデータを読み出したとき、誤り訂正が正しく実行されなくなる例を説明する。本例において、誤り訂正符合は、（１５、１１、３）-ハミング符号を縮小した（８、４、３）-ハミング符号を使用し、簡略化して説明する。ちなみに、（ｎ、ｋ、ｄ）-符号は、符号長ｎ、情報長ｋ、最小距離ｄの符号を意味する。実際の誤り訂正符号を用いた説明では、煩雑になるためである。実際には、どのような誤り訂正符号が用いられても良い。本例で使用する誤り訂正符号の生成符号Ｇ１を、数１に示す。
【数１】
2005209316.tif 000003
【００１７】
図２は、ワード線ＷＬ０が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図である。
【００１８】
例えば、ダイナミック型ランダムアクセスメモリ（ＤＲＡＭ）においては、電源投入時メモリセル１に蓄えられた電荷は、全て放電されてしまっており、ほとんどのケースについて、例えば、データ“０”（これはデータ“１”と読み替えても良い）が書き込まれた状態、と考えて良い。
【００１９】
本明細書では、電源投入時のように、メモリセル１の全てに対して、例えば、“電荷無し”に対応するデータが書き込まれた状態を、初期状態と呼ぶ。ただし、初期状態は、電源投入時のみに限るものでは無く、例えば、データをオールクリアした際のように、メモリセル１の全てに対して、データ“０”、もしくはデータ“１”のいずれかが書き込まれた状態も含む、と定義する。
【００２０】
初期状態において、ワード線ＷＬ０を選択し、データを読み出すと、情報ビットに対応するＤＱ線ＤＱｔ＜０：３＞、及びパリティビットに対応するＤＱ線ＰＤＱｔ＜０：３＞の全てに対して、メモリセル１の状態と同じ、データ“０”が現れる（図２）。特に、パリティビットは、“００００”であり、これは、正しい符号語である。
【００２１】
なお、本例では、ＤＱ線対ＤＱｔ、ＤＱｃのうち、“真（true（t））”のみ示している。ワード線ＷＬ０を選択した場合、“相補（complementary（c））”には、反対のデータ“１”が現れる。
【００２２】
図３は、図２に示すメモリセル配置で、ワード線ＷＬ１が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図である。
【００２３】
図３に示すように、全てのメモリセル１に対して、“電荷無し”に対応したデータ、例えば、データ“０”が書き込まれている、と仮定すると、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線ＷＬ１が選択された場合には、情報ビットに対応するＤＱ線ＤＱｔ＜０：３＞の全て、及びパリティビットに対応するＤＱ線ＰＤＱｔ＜０：３＞の全てに対して、メモリセル１の状態とは反対のデータ“１”が現れる。この際、パリティビットは、“１１１１”となるが、これは、誤った符号語である。数１に示した生成行列Ｇ１を使用する場合、情報ビットが“１１１１”のときの正しい符号語は“１１１０”である。
【００２４】
この例からも分かるように、パリティビットが誤っている場合には、情報ビット“１１１１”は、正しいにも関わらず、誤り訂正機能が働いて書き換えられてしまう。正しい情報ビットが書き換えられてしまう結果、読み出されたデータは誤ったデータになってしまう。
【００２５】
図４は、この発明の第１実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。
【００２６】
図４に示すように、メモリセル１の配置は、図１に示す通りである。生成行列Ｇ１は、参考例と同じく生成行列Ｇ１を使用する。第１実施形態が図１に示す参考例に対して、特に、異なるところは、論理補正回路９が、リードデータ線バッファ（Ｒ）５とパリティビットに対応するリードデータ線ＰＲＤ３との間、並びにパリティビットに対応するライトデータ線ＰＷＤ３とライトデータ線バッファ（Ｗ）７との間に設けられていることにある。
【００２７】
リードデータ線バッファ５は、センスアンプ３にて増幅されたメモリセル１からの読み出しデータを増幅して、後段の配線、例えば、リードデータ線ＲＤ、ＰＲＤをドライブする。
【００２８】
ライトデータ線バッファ７は、ライトデータ線ＷＤ、ＰＷＤに入力されたライトデータを増幅して、ＤＱ線ＤＱ、ＰＤＱをドライブする。
【００２９】
論理補正回路９は、ロウアドレスＲＡ０、ＲＡ１の論理に基づいて、パリティビットに対応するリードデータ線ＰＲＤへの出力論理を調整、例えば、出力論理を反転させるとともに、パリティビットに対応するライトデータ線ＰＷＤからの入力論理を調整、例えば、論理を反転させる。
【００３０】
数１に示した生成行列Ｇ１を用いたとき、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線が選択された場合には、パリティビットが誤った符合語になる。例えば、図４に示すように、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線は、“ＷＬ１”、“ＷＬ２”である。ワード線ＷＬ１、ＷＬ２を選択する際のロウアドレスＲＡ０、ＲＡ１に注目すると、ワード線ＷＬ０、ＷＬ３を選択する際のロウアドレスＲＡ０、ＲＡ１は“一致”であるのに対し、ワード線ＷＬ１、ＷＬ２を選択する際のロウアドレスＲＡ０、ＲＡ１は“不一致”である。論理補正回路９は、ワード線ＷＬ１、ＷＬ２を選択する際のロウアドレスＲＡ＜０：１＞の論理関係に基づき、ロウアドレスＲＡ０、ＲＡ１が“不一致”のとき、パリティビットに対応するリードデータ線ＰＲＤ３への出力論理を反転させる。さらに、パリティビットに対応するライトデータ線ＰＷＤ３からの入力論理を反転させ、ライトデータ線バッファ７に入力する。
【００３１】
即ち、論理補正回路９は、初期状態のメモリセル１のうち、ビット線ＢＬｃに接続されるメモリセル１からパリティビットを読み出したとき、その符合語“１１１１”を、正しい符合語“１１１０”に書き換える。これにより、正しい情報ビット“１１１１”が、誤った符合語に基づいて誤り訂正機能が働き、書き換えられてしまう、という事情を解消できる。
【００３２】
また、論理補正回路９は、例えば、“ライトデータの入力／リードデータの出力”を繰り返す通常の動作におけるリード動作の際、パリティビットに対応するライトデータ線ＰＷＤ３から与えられた正しい符号語を書き換えてしまう。論理補正回路９が、パリティビットに対応するリードデータ線ＰＲＤ３への出力論理を反転させるためである。
【００３３】
そこで、本例の論理補正回路９は、パリティビットに対応するライトデータ線ＰＷＤ３から与えられる正しい符合語、即ち受信語については、入力論理を予め反転させてメモリセル１に書き込む。これにより、パリティビットに対応するライトデータ線ＰＷＤ３から与えられ、メモリセル１に書き込まれる受信語と、このメモリセル１から読み出され、パリティビットに対応するリードデータ線ＰＲＤ３に出力される符合語とは一致する。
【００３４】
このように、論理補正回路９は、例えば、外部から与えられたライトデータから生成した正しい符合語を書き換えてしまう、という事情も解消できる。
【００３５】
以上、第１の実施形態に係る半導体集積回路装置によれば、論理補正回路９において、例えば、外部から与えられたライトデータに依存せず、メモリセル１の状態にのみ依存するデータの読み出し、即ち、初期状態のメモリセル１からのデータ読み出しに際し、誤りとなってしまう符合語を、正しい符号語に書き換える。従って、初期状態のメモリセル１からのデータ読み出しにおいて、誤り訂正を正しく実行できる。
【００３６】
さらに、論理補正回路９は、ライトデータ線ＰＷＤから与えられた受信語を反転させてメモリセル１に書き込む。従って、初期状態のメモリセル１からデータ読み出した際のみならず、例えば、ライトデータの入力／リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行できる。
【００３７】
図５は、この発明の第１実施形態の参考例に係る半導体集積回路装置を示す回路図である。図５に示す参考例は、生成行列Ｇを適切に選べば、誤り訂正が起こらない、という例である。参考例における生成行列Ｇ２を、数２に示す。
【数２】
2005209316.tif 000004
【００３８】
図５に示す装置においても、初期状態のメモリセルからデータを読み出すと、例えば、情報ビットは“１１１１”となり、パリティビットも“１１１１”となることがある。しかし、数２に示す生成行列Ｇ２では、情報ビット“１１１１”のとき、パリティビットの正しい符合語は“１１１１”であるので、誤り訂正は起こらない。
【００３９】
しかしながら、半導体集積回路装置では、例えば、回路設計の制約があり、数２に示す適切な生成行列を選ぶことができない場合もある。本第１実施形態は、例えば、数２に示す適切な生成行列を選ぶことができなかった場合に、特に、有効である。
【００４０】
（第２実施形態）
図６は、この発明の第２実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図である。
【００４１】
図６に示すように、第２実施形態に係る装置のメモリセルの配置は、第１実施形態に係る装置と同様である。第２実施形態が、第１実施形態に対して、特に、異なるところは、拡大ハミング符号を使用することである。拡大ハミング符号を使用することで、パリティビットは、１ビット追加される。本例では、第１実施形態に対して、パリティビットに対応するＤＱ線ＰＤＱｔ４が追加されている。
【００４２】
本例で使用する拡大ハミング符号は、（９、４、４）-拡大ハミング符号である。（９、４、４）-拡大ハミング符号は、（１６、１１、４）-拡大ハミング符号を縮小したものであり、その生成行列Ｇ３を、数３に示す。
【数３】
2005209316.tif 000005
【００４３】
図６に示す装置においては、情報ビットが“１１１１”のときに、パリティビットが“１１１１１”になると、符合語が誤りとなる。このため、誤り訂正機能による書き換えが発生する。数３に示す生成行列Ｇ３を使用する場合、情報ビットが“１１１１”のときの正しい符合語は“１１１１０”である。
【００４４】
図７は、拡大ハミング符号を使用した場合の不都合を説明するための図である。
【００４５】
図７に示すように、拡大ハミング符号は、ハミング符号に１ビットのパリティを追加して作られる。本例では、生成行列として、数３に示した生成行列Ｇ３を使用しているが、行成分のパリティは、破線枠Ａに示すように、偶数（ｅｖｅｎ）になる。このような制約のもとでは、情報ビットが“全て１”のときに、破線枠Ｂに示すように、パリティビットの列成分のパリティが“全て１（奇数：ｏｄｄ）”となるような符号を作ることは不可能である。本例では、第５列目のパリティが偶数（ｅｖｅｎ）である。図８に、拡大ハミング符号を使用する別の例を示す。図８に示す例も、（９、４、４）-拡大ハミング符号を使用する例である。その生成行列Ｇ４を、数４に示す。
【数４】
2005209316.tif 000006
【００４６】
図８に示すように、生成行列Ｇ４を使用する場合についても、行成分のパリティは、破線枠Ａに示すように、偶数（ｅｖｅｎ）であり、本例では、第３列目、第４列目、及び第５列目のパリティが、それぞれ偶数（ｅｖｅｎ）である。
【００４７】
図７及び図８に示すように、拡張ハミング符号を使用する場合には、情報ビットが“全て１”のとき、正しいパリティビットの符合語も“全て１”という、生成行列を作成することはできない。一般に、誤り訂正符号は、例えば、回路の動作スピード、回路の面積、及び訂正能力等の様々な条件の兼ね合いに基づき選ばれるので、複雑な制約が存在する。図７及び図８に示す拡大ハミング符号を選ばなければならない状況も、もちろんある。
【００４８】
図９は、この発明の第２実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の第１例を示す回路図である。
【００４９】
図９に示す例は、数３に示す生成行列Ｇ３を使用する。本例における論理補正回路９は、リードデータ線バッファ（Ｒ）５とパリティビットに対応するリードデータ線ＰＲＤ４との間、並びにパリティビットに対応するライトデータ線ＰＷＤ４とライトデータ線バッファ（Ｗ）７との間に設けられている。
【００５０】
論理補正回路９は、ロウアドレスＲＡ０、ＲＡ１が“不一致”のとき、パリティビットに対応するリードデータ線ＰＲＤ４への出力論理を反転させる。また、パリティビットに対応するライトデータ線ＰＷＤ４の入力論理を反転させ、ライトデータ線バッファ７に入力する。
【００５１】
このように、第２実施形態においても、第１実施形態と同様に、初期状態のメモリセルのうち、ビット線ＢＬｃに接続されるメモリセル１からパリティビットを読み出したとき、その符合語“１１１１１”は、論理補正回路９によって正しい符合語“１１１１０”に書き換えることができ、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行できる。また、例えば、ライトデータの入力／リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行できる。
【００５２】
図１０は、生成行列Ｇ４を用い、ワード線ＷＬ１が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図である。
【００５３】
図１０に示す例において使用する拡大ハミング符号は、（９、４、４）-拡大ハミング符号であり、その生成行列は、数４に示す生成行列Ｇ４である。
【００５４】
本例においても、図６に示す例と同様に、情報ビットが“１１１１”のときにパリティビットが“１１１１１”になると、符合語が誤りとなる。数４に示す生成行列Ｇ４を使用する場合、情報ビットが“１１１１”のときの正しい符合語は“１１０００”である。
【００５５】
図１１は、この発明の第２実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の第２例を示す回路図である。
【００５６】
図１１に示す例は、数４に示す生成行列Ｇ４を使用する。図１１に示す例が、図９に示す例と異なるところは、論理補正回路９が、ロウアドレスＲＡ０、ＲＡ１が“不一致”のとき、パリティビットに対応するリードデータ線ＰＲＤ２、ＰＲＤ３、及びＰＲＤ４への出力論理をそれぞれ反転させることである。また、パリティビットに対応するライトデータ線ＰＷＤ２、ＰＷＤ３、及びＰＷＤ４からの出力論理を反転させ、ライトデータ線バッファ７に入力することである。
【００５７】
本例においても、初期状態のメモリセルのうち、ビット線ＢＬｃに接続されるメモリセル１からパリティビットを読み出したとき、その符合語“１１１１１”は、論理補正回路９によって正しい符合語“１１０００”に書き換えることができる。また、例えば、ライトデータの入力／リードデータの出力を繰り返す通常の動作の間においても、誤り訂正を正しく実行することができる。
【００５８】
（第３実施形態）
図１２は、この発明の第３実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図である。図１３は、この発明の第３実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。なお、第３実施形態は、数３に示す生成行列Ｇ３を使用する。
【００５９】
図１２及び図１３に示すように、第３実施形態が、第２実施形態に対して、特に、異なるところは、ビット線ＢＬの配置である。第３実施形態に係る半導体集積回路装置のビット線ＢＬは、捩れビット線（twisted bit-line）である。
【００６０】
第３実施形態における論理補正回路９は、捩れビット線にも対応できるように、ロウアドレスＲＡ＜０：２＞の論理関係、及びカラムアドレスＣＡ＜０：１＞の論理関係に基づき、パリティビットに対応するリードデータ線ＰＲＤ４への出力論理を反転させる。さらに、パリティビットに対応するライトデータ線ＰＷＤ４からの入力論理を反転させ、ライトデータ線バッファ７に入力する。
【００６１】
第３実施形態においても、数３に示した生成行列Ｇ３を用いるので、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線が選択された場合には、パリティビットが誤った符合語になる。
【００６２】
第３実施形態において、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線は、ロウアドレスＲＡ２が“Ｈ”のとき、“ＷＬ５”、“ＷＬ６”である。しかし、ロウアドレスＲＡ２が“Ｌ”のときには、ビット線ＢＬが捩れビット線であるために、“ＷＬ０”及び“ＷＬ３”か、“ＷＬ１”及び“ＷＬ２”かのどちらかに分かれる。どちらに分かれるかは、例えば、ビット線ＢＬが、カラム選択線ＣＳＬ＜０：３＞のうち、どのカラム選択線によって選択されるのかに基づいて決定される。
【００６３】
例えば、図１２に示す一例においては、ビット線ＢＬがカラム選択線ＣＳＬ１、及びＣＳＬ３によって選択された場合に、“ＷＬ０”及び“ＷＬ１”がビット線ＢＬｃに接続されるメモリセル１を選択するワード線となる。また、カラム選択線ＣＳＬ０、及びＣＳＬ２によって選択された場合には、“ＷＬ１”及び“ＷＬ２”がビット線ＢＬｃに接続されるメモリセル１を選択するワード線となる。
【００６４】
論理補正回路９を、捩れビット線に対応させるには、例えば、ビット線ＢＬｃに接続されるメモリセル１を選択するワード線が切り替わったことを検知すれば良い。パリティビットに対応するリードデータ線ＰＲＤ４への出力論理を反転させる動作、及びパリティビットに対応するライトデータ線ＰＷＤ４からの入力論理を反転させ、ライトデータ線バッファ７に入力する動作は、“ワード線の切り替わり”に応じて、リバースすれば良い（以下、この動作を書き換え動作のリバースという）。
【００６５】
“ワード線の切り替わり”を検知するには、例えば、ロウアドレスＲＡ＜０：２＞の論理関係、及びカラムアドレスＣＡ＜０：１＞の論理関係を参照すれば良い。例えば、図１２に示す一例においては、“ワード線の切り替わり”が発生する状態は、ロウアドレスの論理が、ビット線対ＢＬｔ、ＢＬｃへのメモリセルの接続状態が逆相になるカラム（以下、逆相カラムという）に交差するロウ（ワード線）を選択するとき、かつ、カラムアドレスの論理が、逆相カラムを選択するとき、である。本例では、ロウアドレスＲＡ２が“Ｌ”である条件を満足し（第１条件）、かつカラムアドレスＣＡ０が“Ｈ”である条件を満足する場合である（第２条件）。図１４に、第３実施形態に係る半導体集積回路装置のデータスクランブルの一例を示し、図１５に、書き換え動作のリバース要否判断フローの一例を示す。
【００６６】
図１４及び図１５に示すように、“ワード線の切り替わり”は、第１条件（ＲＡ２＝“Ｌ”）、及び第２条件（ＣＡ０＝“Ｈ”）の双方を同時に満足した場合に発生する。具体的な一回路例としては、第３実施形態における論理補正回路９は、ロウアドレスＲＡ０、ＲＡ１が“不一致”であるのか“一致”であるのかを検知する機能に加え、ロウアドレスＲＡ２、及びカラムアドレスＣＡ０の論理が“Ｈ”であるのか“Ｌ”であるのかを検知する機能を有していれば良い。
【００６７】
例えば、図１３に示すように、第３実施形態における論理補正回路９においては、例えば、ロウアドレスＲＡ０、ＲＡ１の“不一致”であるのか“一致”であるのかを検知する機能は、例えば、排他的論理和回路（ＸＯＲ）１１によって実現され、ロウアドレスＲＡ２、及びカラムアドレスＣＡ０の論理が“Ｈ”であるのか“Ｌ”であるのかを検知する機能は、例えば、論理積回路（ＡＮＤ）１３によって実現される。以下、具体的な一動作例を説明する。
【００６８】
（１．  ロウアドレスＲＡ０、ＲＡ１の検知）
論理補正回路９は、例えば、ロウアドレスＲＡ０、ＲＡ１が“不一致”であるのか“一致”であるのかを検知する。
【００６９】
“不一致”であるとき、ＸＯＲ１１の出力は“Ｈ”レベルとなり、“一致”であるとき、ＸＯＲ１１の出力は“Ｌ”レベルとなる。ＸＯＲ１１の出力は、ＸＯＲ１５の第１入力に入力される。ＸＯＲ１５は、書き換え動作を実行するか否かを決定する回路である。
【００７０】
（２．  ロウアドレスＲＡ２の検知）
さらに、論理補正回路９は、例えば、ロウアドレスＲＡ２の論理が“Ｈ”であるのか“Ｌ”であるのかを検知する。
【００７１】
（ＲＡ２＝Ｈ）
ロウアドレスＲＡ２が“Ｈ”であるとき、“ワード線の切り替わり”は発生しない。
【００７２】
ロウアドレスＲＡ２が“Ｈ”であるとき、その論理はインバータ１７によって反転され、ＡＮＤ１３の第１入力に“Ｌ”として入力される。ＡＮＤ１３の第１入力が“Ｌ”となる結果、ＡＮＤ１３の出力は、その第２入力の論理（カラムアドレスＣＡ０）に関わらず、“Ｌ”に固定される。ＡＮＤ１３の“Ｌ”の出力は、ＸＯＲ１５の第２入力に入力される。
【００７３】
即ち、ロウアドレスＲＡ２が“Ｈ”であるとき、“ワード線の切り替わり”は発生しないので、ＸＯＲ１５は、ＸＯＲ１１の出力、即ち、ロウアドレスＲＡ０、ＲＡ１が“不一致”であるのか“一致”であるのかの検知結果に基づいてのみ、書き換え動作を実行するか否かを決定する。
【００７４】
“不一致”であるとき、ＸＯＲ１５の第１入力“Ｈ”、第２入力“Ｌ”であるので、ＡＸ＝Ｈとなり、書き換え動作が実行される。選択されているワード線は、“ＷＬ５”、もしくは“ＷＬ６”である。
【００７５】
反対に、“一致”であるとき、ＸＯＲ１５の第１入力“Ｌ”、第２入力“Ｌ”であるので、ＡＸ＝Ｌとなり、書き換え動作は実行されない。選択されているワード線は、“ＷＬ４”、もしくは“ＷＬ７”である。
【００７６】
（ＲＡ２＝Ｌ）
ロウアドレスＲＡ２が“Ｌ”であるとき、カラムアドレスＣＡ０に応じて、“ワード線の切り替わり”が発生する。
【００７７】
ロウアドレスＲＡ２が“Ｌ”であるとき、その論理はインバータ１７によって反転され、ＡＮＤ１３の第１入力に“Ｈ”として入力される。ＡＮＤ１３の第１入力が“Ｈ”となる結果、ＡＮＤ１３の出力は、第２入力の論理（カラムアドレスＣＡ０）となる。
【００７８】
（３．カラムアドレスＣＡ０検知動作）
ロウアドレスＲＡ２が“Ｌ”であるとき、“ワード線の切り替わり”が発生する可能性があるので、論理補正回路９は、例えば、カラムアドレスＣＡ０の論理が“Ｈ”であるのか“Ｌ”であるのかを検知する。
【００７９】
ＸＯＲ１５は、ＸＯＲ１１の出力、即ち、ロウアドレスＲＡ０、ＲＡ１が“不一致”であるのか“一致”であるのかの検知結果と、カラムアドレスＣＡ０の論理の検知結果とに基づいて、書き換え動作を実行するか否かを決定する。
【００８０】
（ＣＡ０＝Ｌ）
カラムアドレスＣＡ０が“Ｌ”であるとき、“ワード線の切り替わり”は発生しない。
【００８１】
ロウアドレスＲＡ０、ＲＡ１が“不一致”であれば、ＸＯＲ１５の第１入力“Ｈ”、第２入力“Ｌ”となり、書き換え動作が実行される。選択されているワード線は、“ＷＬ１”、もしくは“ＷＬ２”であり、選択されているカラム選択線は、“ＣＳＬ０”、もしくは“ＣＳＬ２”である。
【００８２】
反対に、“一致”であるとき、ＸＯＲ１５の第１入力“Ｌ”、第２入力“Ｌ”となり、書き換え動作は実行されない。選択されているワード線は、“ＷＬ０”、“ＷＬ３”であり、選択されているカラム選択線は、“ＣＳＬ０”、もしくは“ＣＳＬ２”である。
【００８３】
（ＣＡ０＝Ｈ）
カラムアドレスＣＡ０が“Ｈ”であるとき、“ワード線の切り替わり”が発生する。
【００８４】
ロウアドレスＲＡ０、ＲＡ１が“不一致”であれば、ＸＯＲ１５の第１入力“Ｈ”、第２入力“Ｈ”となり、書き換え動作がリバースされ、書き換え動作は実行されない。選択されているワード線は、“ＷＬ１”、もしくは“ＷＬ２”であり、選択されているカラム選択線は、“ＣＳＬ１”、もしくは“ＣＳＬ３”である。
【００８５】
反対に、“一致”であるとき、ＸＯＲ１５の第１入力“Ｌ”、第２入力“Ｈ”となり、書き換え動作がリバースされ、書き換え動作が実行される。選択されているワード線は、“ＷＬ０”、もしくは“ＷＬ３”であり、選択されているカラム選択線は、“ＣＳＬ１”、もしくは“ＣＳＬ３”である。
【００８６】
第３実施形態においても、初期状態のメモリセルのうち、ビット線ＢＬｃに接続されるメモリセル１からパリティビットを読み出したとき、その符合語“１１１１１”は、論理補正回路９によって正しい符合語“１１１１０”に書き換えることができる。
【００８７】
さらに、第３実施形態では、“選択したロウが、逆相カラムに交差にするか”、及び“選択したカラムが、逆相カラムであるか”を判断し、双方とも満足した場合には、書き換え動作をリバースするので、ビット線ＢＬが捩れビット線であった場合にも、対応できる。
【００８８】
（第４実施形態）
図１６は、この発明の第４実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図である。図１７は、この発明の第３実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。第４実施形態は、数３に示す生成行列Ｇ３を使用する。
【００８９】
図１６及び図１７に示すように、第４実施形態に係る半導体集積回路装置が、第３実施形態と異なるところは、パリティビットに対応するリード／ライトデータ線ＤＱが、デュアルポートになっていることである。デュアルポートのリード／ライトデータ線ＤＱは、リード用ＤＱ線対ＰＲＤＱｔ、ＰＲＤＱｃ、ライト用ＤＱ線対ＰＷＤＱｔ、ＰＷＤＱｃを含む。ＤＱ線対ＰＲＤＱｔ、ＰＲＤＱｃは、リード用カラムスイッチ３Ｒによって選択され、選択されたＤＱ線対ＰＲＤＱｔ、ＰＲＤＱｃは、リードデータ線バッファ５に接続される。ＤＱ線対ＰＷＤＱｔ、ＰＷＤＱｃは、ライト用カラムスイッチ３Ｗによって選択され、選択されたＤＱ線対ＰＷＤＱｔ、ＰＷＤＱｃは、ライトデータ線バッファ７に接続される。カラムスイッチ３Ｒは、リード用カラム選択線ＲＣＳＬの電位に応じて開閉され、カラムスイッチ３Ｗは、ライト用カラム選択線ＲＣＳＬの電位に応じて開閉される。
【００９０】
それ以外の構成は、例えば、第３実施形態に係る半導体集積回路装置と同じであるので、重複する説明は省略する。
【００９１】
このように、この発明の実施形態に係る半導体集積回路装置は、デュアルポート型の半導体集積回路装置にも適用することができる。
【００９２】
（第５実施形態）
図１８は、この発明の第５実施形態に係る半導体集積回路装置の、ロウ制御回路（ロウデコーダ）の一例を示す回路図である。第５実施形態に係る半導体集積回路装置は、リダンダンシ回路付きの半導体集積回路装置である。
【００９３】
リダンダントワード線ＲＷＬ（ＲＷＬ０〜ＲＷＬ３）を使用せず、ノーマルワード線ＷＬ（ＷＬ０、ＷＬ１、…）を使用する場合、ロウアドレスＲＡ（ＲＡ０〜ＲＡｎ）は、ヒューズ２１（２１-０〜２１-３）にプログラムされたヒューズ情報（置換情報）のどれにも一致しない。この場合、信号（Normal Decoder Disable信号）の電位は、例えば、“Ｌ”レベルとなる。Normal Decoder Disable信号は、ノーマルロウデコーダ２３（２３-０、２３-１、…）をディセーブルするか否かを指示する信号である。本例では、Normal Decoder Disable信号の電位が“Ｌ”レベルのとき、ノーマルロウデコーダ２３はイネーブルされ、ロウアドレスＲＡをデコードし、ノーマルワード線ＷＬ０、ＷＬ１、…のいずれかを選択する。
【００９４】
一方、リダンダントワード線ＲＷＬを使用する場合には、ロウアドレスＲＡは、ヒューズ２３にプログラムされたヒューズ情報のいずれかにヒット（一致）する。ヒットした場合、Normal Decoder Disable信号の電位が“Ｈ”レベルとなり、ノーマルロウデコーダ２３はディセーブルされる。代わりに、リダンダントロウデコーダ２５（２５-０〜２５-３）のいずれかがイネーブルされる。イネーブルされたリダンダントロウデコーダ２５は、ロウアドレスＲＡをデコードし、リダンダントワード線ＷＬを選択する。以下、具体的な動作の一例を説明する。
【００９５】
例えば、ロウアドレスＲＡが“ＲＡ０＝Ｈ、ＲＡ１＝Ｌ”であるとき、ノーマルワード線ＷＬ１が選択される、と仮定する。ノーマルワード線ＷＬ１に、もし、不良なメモリセルが接続されていた場合には、ノーマルワード線ＷＬ１は、リダンダントワード線ＲＷＬ０〜ＲＷＬ３のいずれかに置換される。例えば、ノーマルワード線ＷＬ１を、リダンダントワード線ＲＷＬ２に置換する、とする。この場合、ヒューズ２１のうち、ＲＷＬ２用ヒューズ２１-２を、例えば、切断し、ＲＷＬ２用ヒューズに対してヒューズ情報をプログラムする。プログラムされたヒューズ情報は、一致判定回路２７（２７-０〜２７-３）に与えられる。一致判定回路２７は、ロウアドレスＲＡとヒューズ情報とを、例えば、比較し、ロウアドレスＲＡがヒューズ情報にヒットしたか否かを判定する。
【００９６】
本例では、ロウアドレスＲＡが“ＲＡ０＝Ｈ、ＲＡ１＝Ｌ”であるときに、一致判定回路２７-２が“Ｈ”レベルであるヒット信号ｈｉｔ２を出力し、それ以外の一致判定回路２７-０、２７-１、及び２７-３がそれぞれ、“Ｌ”レベルであるヒット信号ｈｉｔ０、ｈｉｔ１、及びｈｉｔ３を出力する。ヒット信号ｈｉｔ２が“Ｈ”となることで、リダンダントロウデコーダ２５-２がイネーブルされ、リダンダントワード線ＲＷＬ２が選択される。これとともに、Normal Decoder Disable信号が“Ｈ”レベルとなって、例えば、全てのノーマルロウデコーダ２３はディセーブルされる。
【００９７】
さらに、本第５実施形態に係る半導体集積回路装置は、ロウアドレスＲＡとヒューズ情報との一致判定の際に、置換前のノーマルワード線ＷＬｉに接続されるメモリセルの配置が、置換後のリダンダントワード線ＲＷＬｊに接続されるメモリセルの配置と等しいか否かを判断する。ここで、メモリセルの配置とは、メモリセルが、ビット線対の“true”、及び“complement”のうちのどちらに接続されているかを意味する。本例の一致判定回路２７は、置換前のメモリセルの配置と置換後のメモリセルの配置とが等しいか否かに応じ、セル配置反転信号ＲＩＮＶ０〜ＲＩＮＶ３を出力する。本例において、信号ＲＩＮＶ０〜ＲＩＮＶ３のとる値は、例えば、下記の通りである。下記一覧のうち、リダンダントワード線ＷＬ０〜ＷＬ３のうち、置換選択されたリダンダントワード線を、“ＲＷＬｊ”と記載し、リダンダントワード線ＲＷＬｊに対応するセル配置反転信号を、“ＲＩＮＶｊ”と記載する。
【００９８】
１．ロウアドレスＲＡが、リダンダントワード線ＲＷＬのいずれにもヒットしない時、ＲＩＮＶｊ＝Ｌ
２．ロウアドレスＲＡが、置換選択されたリダンダントワード線ＲＷＬｊ以外のＲＷＬにヒットした時、ＲＩＮＶｊ＝Ｌ
３．ロウアドレスＲＡが、置換選択されたリダンダントワード線ＲＷＬｊにヒットし、かつＲＷＬｊのセル配置が、置換前のノーマルワード線ＷＬと同じである時、ＲＩＮＶｊ＝Ｌ
４．ロウアドレスＲＡが、置換選択されたリダンダントワード線ＲＷＬｊにヒットし、かつＲＷＬｊのセル配置が、置換前のノーマルワード線ＷＬと逆である時、ＲＩＮＶｊ＝Ｈ
このような、信号ＲＩＮＶ０〜ＲＩＮＶ３の論理和（ＯＲ）をとり、信号ＤＱＩＮＶを生成する。信号ＤＱＩＮＶは、パリティビットに対応するリードデータ線ＰＲＤへの出力論理の反転、及びライトデータ線ＰＷＤからの出力論理の反転を実行するか否かを指示する信号である。信号ＤＱＩＮＶは、論理補正回路９に入力される。
【００９９】
図１９及び図２０はそれぞれ、図１９は、この発明の第５実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図である。図１９及び図２０にはそれぞれ、置換前のノーマルワード線と置換後のリダンダントワード線との関係、並びに信号ＤＱＩＮＶの信号論理との関係を示す。図１９及び図２０に示す装置のビット線は、捩れビット線ではなく、通常のビット線であり、使用する生成行例は、数３に示す生成行列Ｇ３である。
【０１００】
図１９は、ワード線ＷＬ１を、リダンダントワード線ＲＷＬ１に置換する場合を示す。
【０１０１】
ワード線ＷＬ１に接続されるメモリセル１、及びリダンダントワード線ＲＷＬ１に接続されるメモリセル１はともに、ビット線ＢＬｃに接続される。つまり、リダンダントワード線ＲＷＬ１のセル配置は、ノーマルワード線ＷＬ１と同じである。本例において、ロウアドレスＲＡが、リダンダントワード線ＲＷＬ１にヒットしたとき、信号ＤＱＩＮＶの電位は“Ｌ”レベルとなる。信号ＤＱＩＮＶは、論理補正回路９のＸＯＲ１１に入力される。
【０１０２】
“Ｌ”レベルである信号ＤＱＩＮＶを受けたＸＯＲ１１は、ロウアドレスＲＡ０、ＲＡ１の論理に従って、その出力ＡＸの論理を決定する。例えば、ＸＯＲ１１は、ロウアドレスＲＡ０とＲＡ１とが不一致のとき、その出力ＡＸの電位を“Ｈ”レベルとし、リードデータ線ＰＲＤ４への出力論理の反転、及びライトデータ線ＰＷＤ４からの出力論理の反転を実行する。即ち、パリティビットの書き換え動作は、ノーマルワード線を選択した時と同じ動作に従って実行される。
【０１０３】
図２０は、ワード線ＷＬ１を、リダンダントワード線ＲＷＬ３に置換する場合を示す。
【０１０４】
リダンダントワード線ＲＷＬ３に接続されるメモリセルは、ビット線ＢＬｔに接続される。つまり、リダンダントワード線ＲＷＬ３のセル配置は、ノーマルワード線ＷＬ１と逆である。この場合、信号ＤＱＩＮＶの電位は“Ｈ”レベルとなる。
【０１０５】
“Ｈ”レベルである信号ＤＱＩＮＶを受けたＸＯＲ１１は、ロウアドレスＲＡ０、ＲＡ１の論理に従って、その出力ＡＸの論理を決定するが、ただし、その論理は反転させる。例えば、ＸＯＲ１１は、ロウアドレスＲＡ０とＲＡ１とが不一致のとき、その出力ＡＸの電位を“Ｌ”レベルとし、リードデータ線ＰＲＤ４への出力論理の反転、及びライトデータ線ＰＷＤ４からの出力論理の反転は実行しない。即ち、パリティビットの書き換え動作は実行しない。即ち、パリティビットの書き換え動作は、ノーマルワード線を選択した時と逆の動作に従って実行される。図２１に、第５実施形態に従った書き換え動作の実行判断フローの一例を示しておく。
【０１０６】
第５実施形態によれば、図２１に示すように、リダンダントワード線を使用する場合に、セル配置が、置換前のノーマルワード線と同じであるか否かを判断し、違った場合に、書き換え動作を、ノーマルワード線選択時と逆の動作に従って実行する。よって、リダンダントワード線のセル配置が、置換前のノーマルワード線と違った場合においても、上記実施形態と同様に、誤り訂正を正しく実行することができる。
【０１０７】
第５実施形態は、ビット線が、捩れビット線である装置においても適用することが可能である。この場合には、例えば、置換前のノーマルワード線のセル配置と、置換後のリダンダントワード線のセル配置が同じであるか否かの判断に加え、例えば、選択したロウ（ワード線）が逆相カラムに交差するか否か、及び選択したカラム（ビット線）が逆相カラムであるか否かを判断し、書き換え動作をリバースする動作を実行すれば良い。
【０１０８】
（第６実施形態）
次に、上記実施形態を適用できるＥＣＣ機能付半導体メモリの例を、この発明の第６実施形態として説明する。
【０１０９】
図２２は、この発明の第６実施形態に係る半導体メモリの一構成例を示すブロック図である。
【０１１０】
以下、第６実施形態に係る半導体メモリを、そのいくつかの動作例とともに説明する。
【０１１１】
（第１のライト動作）
図２３は、図２２に示す半導体メモリの第１のライト動作例を示す流れ図である。
【０１１２】
図２３に示すように、例えば、Ｉ／Ｏ幅が１２８ビットであったとき、外部Ｉ／Ｏ線（もしくは内部Ｉ／Ｏ線、半導体メモリがシステムＬＳＩに混載されていた場合）から、１２８ビットのライトデータが、Ｉ／Ｏバッファ１００を介して入力される（data from I/O(128bit)）。拡張ハミング符号を使用した場合、パリティ発生器(parity generator)１０２において、１２８ビットのライトデータから９ビットのパリティビット(parity bit)を発生させる。９ビットのパリティビットは、論理補正回路９において、上記実施形態に従い、アドレス(addresses)に基づいて、論理補正が為された後、アドレスで指定されたメモリセル(cell (parity))に書き込まれる。１２８ビットのライトデータは、１２８ビットの情報ビット(information bit(data))として、同じくアドレスで指定されたメモリセル(cell (data))に書き込まれる。ちなみに、本例の拡張ハミング符号の最小距離は“４”であるので、“１”誤り訂正、“２”誤り検出が可能である。
【０１１３】
（リード動作）
図２４は図２２に示す半導体メモリのリード動作例を示す流れ図である。
【０１１４】
図２４に示すように、メモリセル(cell (data))から１２８ビットの情報ビット(information bit(data))を読み出すとともに、メモリセル(cell (parity))から９ビットのパリティビット(parity bit)を読み出す。９ビットのパリティビットは、論理補正回路９において、上記実施形態に従い、アドレス(addresses)に基づいて、論理補正が為された後、シンドローム発生器(syndrome generator)１０４に入力される。シンドローム発生器１０４は、１２８ビットの情報ビットと、９ビットのパリティビットとから、９ビットのシンドローム信号(Syndrome)を発生させる。次いで、誤り検出＆誤り訂正回路（Error Logic & Error Correction）１０６において、９ビットのシンドローム信号から、情報ビットに誤りが有ったか否かを検出し、誤りがあった場合、情報ビットの誤りを訂正する。訂正した情報ビットを、外部Ｉ／Ｏ（もしくは内部Ｉ／Ｏ）へ、Ｉ／Ｏバッファ１００を介して１２８ビットのリードデータとして出力する。
【０１１５】
（第２のライト動作例）
図２５は、図２２に示す半導体メモリの第２のライト動作例を示す流れ図である。
【０１１６】
第２のライト動作例は、ライトマスク有り、（またはＩ／Ｏ＜１２８ビット）の場合を想定している。
【０１１７】
図２５に示すように、図２４に示した第１のリード動作例に従って、メモリセル(cell (data))及びメモリセル(cell(parity))から、１２８ビット＋９ビットのデータを読み出し、誤り検出及び訂正を行い、１２８ビットの訂正済みデータ(corrected data(128bit))を作成する。次いで、ライトマスクされ、１２８ビットよりも少ないライトデータを、１２８ビットの訂正済みデータとを合わせて、新しい１２８ビットの情報ビットを作成する。次いで、図２３に示した第１のライト動作に従って、新しい１２８ビットの情報ビットから９ビットのパリティデータを発生させ、情報ビットをメモリセル(cell (data))に書き込むとともに、パリティビットをメモリセル(cell (parity))に書き込む。
【０１１８】
（第３のライト動作例）
図２６は、図２２に示す半導体メモリの第３のライト動作例を示す流れ図である。
【０１１９】
第３のライト動作例は、第２のライト動作例と同様に、ライトマスク有り、（またはＩ／Ｏ幅＜内部情報ビット幅：ここでは１２８ビット）の場合を想定している。
【０１２０】
図２６に示すように、まず、メモリセル(cell (data))及びメモリセル(cell(parity))から、１２８ビット＋９ビットのデータを読み出す。これは、第２のライト動作例と同じである。第３のライト動作例では、その後、ただちに、ライトデータ(write data)をメモリセル(cell (data))に書き込んでしまう。書き込まれた情報ビット１２８ビットのうち、ライトされなかったデータ(masked data)は、訂正されていないデータ(uncorrected data)である。次いで、最初に読み出した１２８ビット＋９ビットのデータに対して、誤り検出及び訂正を行い、訂正済みデータ(corrected data(128bit))を作成する。次いで、訂正済みデータに、ライトデータを合わせ、１２８ビットの情報ビットを作成し、作成した１２８ビットの情報ビットから９ビットのパリティビットを生成し、パリティビットのみ、メモリセル(cell(parity))に書き込む。このような動作をさせる理由は、情報ビットをメモリセルに素早く書き込みたいことにある。
【０１２１】
図２７は、図２５に示す第２のライト動作例に従った書き込みタイミングの一例を示す図である。
【０１２２】
図２７に示すように、最初の１クロックでリード動作を、次の１クロックで図２５に示す第２のライト動作例を行う。この一例のライト動作は、リード、誤り訂正、情報ビット作成、パリティビット作成、情報ビット及びパリティビットのメモリセルへの書き込みを行うので、１クロックで完了させるには限界がある。
【０１２３】
図２８は、図２６に示す第３のライト動作例に従った書き込みタイミングの一例を示す図である。
【０１２４】
図２８に示すように、１クロックでリード動作を、次の１クロックで図２６に示す第３のライト動作例を行う。１クロックにおける動作は、図２７に示す書き込みタイミングとタイミング的にはあまり変わらない。しかし、次に、説明するようなレートライト（late write）動作を行えば、パリティ部で必要な訂正、再符号化にかかる時間を見かけ上なくすことができる。
【０１２５】
図２９は、図２６に示す第３のライト動作例を用い、レートライト動作に従った際の書き込みタイミングの一例を示す図である。
【０１２６】
図２９に示すように、図２８に示す第３のライト動作例のうち、パリティ部の符号化動作が１クロックサイクル後ろにずらしてある。例えば、サイクル３のリード（もしくはライト）は、別のアドレスのパリティ部からのリードと重なるが、これは、ＤＱ線や、センスアンプをデュアルポート化すれば、同じサイクル中で実行可能である。もちろん、パリティ部だけでなく、情報ビット部もデュアルポート化することも可能である。
【０１２７】
さて、初期状態にあるメモリセルからデータを読み出した際に発生する、誤った誤り訂正動作は、特に、図２６に示す第３のライト動作例を使用した場合に発生し易い。
【０１２８】
図３０は、第３のライト動作例に従った際の不具合を説明するための図である。
【０１２９】
図３０に示すように、第３のライト動作例の場合、情報ビットをメモリセルに素早く書き込むために、メモリセルから読み出した未訂正データ（Uncorrected data）の一部に、ライトデータを上書きした状態で、メモリセル(cell (data))に書き込んでしまう(ＳＴ．１)。この後、未訂正データにＥＣＣを実行し（ＳＴ．２）、ＥＣＣ済みのデータ（Corrected data）の一部に、上記ライトデータを上書きする（ＳＴ．３）。この後、ＥＣＣ済みのデータの一部にライトデータを上書きしたデータからパリティビットを発生させ（ＳＴ．４）、発生させたパリティビットをメモリセル(cell (parity))に書き込む（ＳＴ．５）。
【０１３０】
このように、第３のライト動作例では、メモリセル（cell (data)）に実際に書き込まれたデータに対して実行される処理と、パリティビットを発生させるデータに対して施される処理とが異なる。
【０１３１】
もし、メモリセルが初期状態にある場合には、上記実施形態で説明した通り、メモリセルのデータ、例えば、パリティビットに対応するデータが正しい、とは限らない。このため、初期状態のメモリセルからデータを読み出すと、誤った誤り訂正が発生することがある。誤った誤り訂正が発生すると、パリティビットを発生させたデータと、メモリセルに実際に書き込まれたデータ（正しいセルデータ）とが不一致になる。この結果、次のリードの際には、正しいセルデータに対して誤り訂正が実行され、正しいセルデータが書き換えられ、ライトデートとリードデータとが不一致になってしまう。
【０１３２】
図３１は、この発明の実施形態を、第３のライト動作例に適用した場合の利点を説明するための図である。
【０１３３】
図３１に示すように、この発明の実施形態を、第３のライト動作例に適用した場合には、初期状態のメモリセルからデータを読み出した場合でも、誤った誤り訂正は発生しない。誤った誤り訂正が発生しないので、パリティビットを発生させたデータと、メモリセルに実際に書き込まれたデータ（正しいセルデータ）とは一致する。従って、次のリードの際には、正しいセルデータが書き換えられることは無く、ライトデートとリードデータとは一致する。即ち、初期状態のメモリセルからデータを読み出しても、誤り訂正を正しく実行できる。
【０１３４】
このように、この発明の実施形態は、例えば、未訂正データの一部に、ライトデータを上書きした状態でメモリセルに書き込んだ後、上記未訂正データに対してＥＣＣを施し、ＥＣＣ済みの訂正済データの一部に、上記ライトデータを上書きしたデータからパリティビットを発生させる、というライト動作を行う場合に、特に、有利に適用できる。
【０１３５】
なお、本例は、例えば、図２９に示すように、ライト命令の次にリード命令が続く場合を想定し、説明した。この場合、最初のライト命令に従った一連のライト動作の実行中に、次のリード命令に従ったライト動作が実行される。例えば、図２９に示す例では、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のリード命令に従った別のアドレスに対するリードが実行される。例えば、図２９中の第３サイクル（cycle3）である。
【０１３６】
しかし、ライトが２回以上連続する場合もある。この場合、最初のライト命令に従った一連のライト動作の実行中に、次以降のライト命令に従った一連のライト動作が実行されれば良い。例えば、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のライト命令に従った別のアドレスに対するリード、上書き（オーバーライト）及びパリティビットの発生が実行されれば良い。
【０１３７】
また、半導体集積回路装置内のパイプラインステージの数によっては、例えば、以下のような動作もある。
【０１３８】
（１）  最初のライト命令に従ったあるアドレスに対するパリティビットの発生中に、次のライト命令に従った別のアドレスに対するリード及び上書き（オーバーライト）を実行する。
【０１３９】
（２）  （１）に続き、最初のライト命令に従ったあるアドレスに対するパリティビットのライト中に、次のライト命令に従った別のアドレスに対するパリティビットの発生、並びに次の次のライト命令に従ったさらに別のアドレスに対するリード及びオーバーライトを実行する。
【０１４０】
要するに、あるライト命令に従ったあるアドレスに対する一連のライト動作中、例えば、パリティビットのライト中に、あるライト命令に続くライト命令に従った別のアドレスに対する一連のライト動作、もしくはあるライト命令に続くリード命令に従った別のアドレスに対するリード動作が実行されれば良い。
【０１４１】
以上、この発明を実施形態に従って説明したが、この発明は、実施形態に限定されるものではなく、その実施にあたっては、発明の要旨を逸脱しない範囲で種々に変形することが可能である。
【０１４２】
例えば、上記実施形態では、メモリセルの一例として、例えば、ＤＲＡＭにおいて使用されるダイナミック型の揮発性メモリセルを例示したが、メモリセルは、ダイナミック型のメモリセルに限られるものでは無い。例えば、電荷蓄積層を有し、しきい電圧に応じてデータを記憶する不揮発性のメモリセル、強誘電体のヒステリシス特性を利用してデータを記憶する不揮発性のメモリセル、磁気抵抗効果を利用してデータを記憶する不揮発性のメモリセルを持つ不揮発性半導体メモリにも適用することができる。不揮発性半導体メモリは、電源切断後においてもデータを保持し続ける。このため、上記実施形態を適用する必要性は無いように思われる。しかし、不揮発性半導体メモリにおいても、例えば、データの初期化（データのオールクリア）が行われることがある。初期化後のリードにおいては、上記実施形態で説明した通り、メモリセルのデータ、例えば、パリティビットに対応するデータが正しい、とは限らない。従って、上記実施形態は、不揮発性半導体メモリにも適用することが可能である。
【０１４３】
また、誤り訂正符号として、ハミング符号、及び拡張ハミング符号を用いたが、誤り訂正符合は、ハミング符号、及び拡張ハミング符号に限られるものでは無い。例えば、誤り訂正符号は、ＢＣＨ符号でも良いし、それ以外の符号でも良い。
【０１４４】
また、上記実施形態はそれぞれ単独で実施することが可能であるが、適宜組み合わせて実施することも、もちろん可能である。
【０１４５】
また、上記実施形態には、種々の段階の発明が含まれており、実施形態において開示した複数の構成要件の適宜な組み合わせにより、種々の段階の発明を抽出することも可能である。
【図面の簡単な説明】
【０１４６】
【図１】図１は、この発明の第１実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図
【図２】図２は、ワード線ＷＬ０が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図
【図３】図３は、ワード線ＷＬ１が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図
【図４】図４は、この発明の第１実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図
【図５】図５は、この発明の第１実施形態の参考例に係る半導体集積回路装置を示す回路図
【図６】図６は、この発明の第２実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図
【図７】図７は、拡大ハミング符号を使用した場合の不都合を説明するための図
【図８】図８は、拡大ハミング符号を使用した場合の不都合を説明するための図
【図９】図９は、この発明の第２実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の第１例を示す回路図
【図１０】図１０は、生成行列Ｇ４を用い、ワード線ＷＬ１が選択された時の、ＤＱ線ＤＱｔに伝わる読み出しデータを示す図
【図１１】図１１は、この発明の第２実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の第２例を示す回路図
【図１２】図１２は、この発明の第３実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図
【図１３】図１３は、この発明の第３実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図
【図１４】図１４は、この発明の第３実施形態に係る半導体集積回路装置のデータスクランブルの一例を示す図
【図１５】図１５は、この発明の第３実施形態に係る半導体集積回路装置の、書き換え動作のリバース要否判断フローの一例を示す流れ図
【図１６】図１６は、この発明の第４実施形態に係る半導体集積回路装置の、メモリセルとＤＱ線との接続関係の一例を示す回路図
【図１７】図１７は、この発明の第４実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図
【図１８】図１８は、この発明の第５実施形態に係る半導体集積回路装置の、ロウ制御回路（ロウデコーダ）の一例を示す回路図
【図１９】図１９は、この発明の第５実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図（ＲＷＬ１に置換する場合）
【図２０】図２０は、この発明の第５実施形態に係る半導体集積回路装置の、ＤＱ線、リードデータ線及びライトデータ線の接続関係の一例を示す回路図（ＲＷＬ３に置換する場合）
【図２１】図２１は、この発明の第５実施形態に係る半導体集積回路装置の、書き換え動作の実行判断フローの一例を示す流れ図
【図２２】図２２は、この発明の第６実施形態に係る半導体メモリの一構成例を示すブロック図
【図２３】図２３は、図２２に示す半導体メモリの第１のライト動作例を示す流れ図
【図２４】図２４は、図２２に示す半導体メモリのリード動作例を示す流れ図
【図２５】図２５は、図２２に示す半導体メモリの第２のライト動作例を示す流れ図
【図２６】図２６は、図２２に示す半導体メモリの第３のライト動作例を示す流れ図
【図２７】図２７は、図２５に示す第２のライト動作例に従った書き込みタイミングの例を示す図
【図２８】図２８は、図２６に示す第３のライト動作例に従った書き込みタイミングの一例を示す図
【図２９】図２９は、図２６に示す第３のライト動作例を用い、レートライト動作に従った際の書き込みタイミングの一例を示す図
【図３０】図３０は、第３のライト動作例に従った際の不具合を説明するための図
【図３１】図３１は、この発明の実施形態を、第３のライト動作例に適用した場合の利点を説明するための図
【符号の説明】
【０１４７】
１…メモリセル、３…カラムスイッチ、５…リードデータ線バッファ、７…ライトデータ線バッファ、９…論理補正回路、１１、１５…排他的論理和回路、１３…論理積回路、２１（２１-０〜２１-３）…ヒューズ、２３（２３-０、２３-１）…ノーマルロウデコーダ、２５（２５-０〜２５-３）…リダンダントロウデコーダ、２７（２７-０〜２７-３）…一致判定回路、１００…Ｉ／Ｏバッファ、１０２…パリティ発生器、１０４…シンドローム発生器、１０６…誤り検出＆誤り訂正回路
【図１】
2005209316.tif 000007
【図２】
2005209316.tif 000008
【図３】
2005209316.tif 000009
【図４】
2005209316.tif 000010
【図５】
2005209316.tif 000011
【図６】
2005209316.tif 000012
【図７】
2005209316.tif 000013
【図８】
2005209316.tif 000014
【図９】
2005209316.tif 000015
【図１０】
2005209316.tif 000016
【図１１】
2005209316.tif 000017
【図１２】
2005209316.tif 000018
【図１３】
2005209316.tif 000019
【図１４】
2005209316.tif 000020
【図１５】
2005209316.tif 000021
【図１６】
2005209316.tif 000022
【図１７】
2005209316.tif 000023
【図１８】
2005209316.tif 000024
【図１９】
2005209316.tif 000025
【図２０】
2005209316.tif 000026
【図２１】
2005209316.tif 000027
【図２２】
2005209316.tif 000028
【図２３】
2005209316.tif 000029
【図２４】
2005209316.tif 000030
【図２５】
2005209316.tif 000031
【図２６】
2005209316.tif 000032
【図２７】
2005209316.tif 000033
【図２８】
2005209316.tif 000034
【図２９】
2005209316.tif 000035
【図３０】
2005209316.tif 000036
【図３１】
2005209316.tif 000037