(57)【要約】【課題】メモリセルアレイ中のパリティビットセルに不良セルがあってもパリティビットを含むデータを記憶することができるインターフェース回路、パリティビット割付方法及び半導体記憶装置を提供する。【解決手段】コアロジック２と半導体メモリ３との間に、割付回路１ｃを設けた。割付回路１ｃには、各ビット線について、ビット線上のメモリセルに不良メモリセルが形成されたビット線か否かを示すビット線選択情報ＳＬに基づいて、ライトデータＷＤ中のパリティビットＤ９〜Ｄ１２を、不良メモリセルが形成されていない正常なメモリセルが形成されているビット線に出力する書込回路部１０を設けた。【選択図】図１
2011134363.tif 000002
【特許請求の範囲】
【請求項１】
レギュラービットと前記レギュラービットに対するパリティビットとからなるライトデータの各ビットを、半導体記憶装置の対応するビット線にそれぞれ出力するインターフェース回路であって、
前記各ビット線について、該ビット線上のメモリセルに不良メモリセルが形成されたビット線か否かを示すビット線情報に基づいて、前記ライトデータ中のパリティビットを、ビット線に出力する書込回路部を備えたことを特徴とするインターフェース回路。
【請求項２】
請求項１に記載のインターフェース回路において、
前記書込回路部は、
入力した前記レギュラービットから、前記レギュラービットに対するパリティビットを生成する第１のパリティ生成回路と、
前記レギュラービットと前記パリティビットとからなる前記ライトデータのビットの配置を並び換える並び換え回路と
を備えたことを特徴とするインターフェース回路。
【請求項３】
請求項１又は２に記載のインターフェース回路において、
前記各ビット線から出力される各ビットを入力し、前記ビット線情報に基づいて前記各ビットを、前記書込回路部が各ビット線に出力する前の前記ライトデータのビットの配置に並び換えて、リードデータとして出力する読出回路部を備えたことを特徴としたインターフェース回路。
【請求項４】
請求項３に記載のインターフェース回路において、
前記読出回路部は、
前記リードデータから抽出したレギュラービットに基づいて、第２のパリティビットを生成する第２のパリティ生成回路部と、
前記リードデータから抽出したパリティビットと、前記パリティ生成回路部が生成した第２のパリティビットを比較して、一致すか否かを判定する比較判定回路部と、
前記比較判定回路部が一致しないと判定したとき、前記抽出したパリティビットに基づいて、前記抽出したレギュラービットをエラー訂正するデータ修正回路部と
を備えたことを特徴としたインターフェース回路。
【請求項５】
レギュラービットと前記レギュラービットに対するパリティビットとからなるライトデータを入力し、前記ライトデータの各ビットを、半導体記憶装置の対応するビット線にそれぞれ出力するパリティビット割付方法であって、
前記各ビット線について、該ビット線上のメモリセルに不良メモリセルが形成されたビット線か否かを示すビット線情報に基づいて、前記ライトデータ中のパリティビットを、不良メモリセルが形成されていない正常なメモリセルが形成されているビット線に出力するようにしたことを特徴とするパリティビット割付方法。
【請求項６】
請求項１〜４のいずれか１に記載のインターフェース回路を備えたことを特徴とする半導体記憶装置。
【発明の詳細な説明】
【技術分野】
【０００１】
インターフェース回路、パリティビット割付方法及び半導体記憶装置に関するものである。
【背景技術】
【０００２】
従来、半導体記憶装置において、メモリセルアレイに不良セルが発生した場合でも、これを救済するために冗長回路を搭載して、製造歩留まりの向上を図っている。
また、半導体記憶装置には、メモリセルアレイ中のレギュラービット領域に加えて、パリティビット用の専用領域を備えることによって、ＥＣＣ機能を持たせたメモリがある。この場合、ワード線上のレギュラー領域の１ビットエラーは、同ワード線上のパリティビット領域に記憶したパリティビットを使って救済されるようになっている。
【０００３】
そして、パリティビット専用領域のビットセルに不良セルが発生した場合に、パリティビットの無い、レギュラービットのデータのみに使用する半導体記憶装置として利用することが提案されている。（特許文献１）
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平１０−１０６２８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、パリティビット用の専用領域を備えた半導体記憶装置においては、パリティビット領域のビットセルに不良セルは発生した場合、製品として出荷できず不良品として破棄していた。
【０００６】
ところで、パリティビット専用領域を備えた半導体装置において、パリティビット専用領域のビットセルに不良セルが発生した場合に、レギュラービットのデータのみに使用する半導体記憶装置に置き換えて使用することは、製造歩留まりの向上を図る上で優れている。しかし、本来の、パリティビット専用領域を設けパリティビットを使いＥＣＣ機能を持たせることのできる半導体記憶装置として利用することはできなかった。そのため、パリティビット専用領域のビットセルに不良セルが発生した場合に、何らかの方法で、新たなティビット専用領域のビットセルを設けてＥＣＣ機能を持たせることのできる半導体メモリが望まれていた。
【０００７】
このパリティビット割付回路及びパリティビット割り付け方法は、半導体記憶装置のメモリセルアレイ中のパリティビットセルに不良セルが発生してもパリティビットを含むデータを記憶することができることを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一観点によれば、各ビット線について、該ビット線上のメモリセルに不良メモリセルが形成されたビット線か否かを示すビット線情報に基づいて、ライトデータ中のパリティビットを、ビット線に出力する書込回路部を備える。
【発明の効果】
【０００９】
本発明の一観点によれば、歩留まりの向上を図ることができる。
【図面の簡単な説明】
【００１０】
【図１】メモリインターフェースのブロック回路図。
【図２】半導体メモリのセルアレイの模式図。
【図３】書込データのレギュラービットとパリティビットを説明するための説明図。
【図４】書込データの並び換えを説明するための説明図。
【図５】読出データの並び換えを説明するための説明図。
【図６】ライト用データ領域判定回路を説明するためのブロック回路図。
【図７】リード用データ領域判定回路を説明するためのブロック回路図。
【発明を実施するための形態】
【００１１】
以下、第一実施形態を図１〜図７に従って説明する。
図１において、インターフェース回路としてのメモリインターフェース１は、コアロジック２（ＣＰＵ）と半導体メモリ３との間に設けられている。メモリインターフェース１は、コマンドバッファ１ａ、アドレスバッファ１ｂ、割付回路１ｃを有している。
【００１２】
コマンドバッファ１ａは、コアロジック２からライトコマンド、リードコマンド等の各種コマンドＣＮＴを入力し、同コマンドＣＮＴを半導体メモリ３に出力する。アドレスバッファ１ｂは、コアロジック２からアドレスデータＡｄを入力し、同アドレスデータＡｄを半導体メモリ３に出力する。
【００１３】
割付回路１ｃは、コアロジック２が生成したユーザデータＤｕを入力し、そのユーザデータＤｕに対する誤り訂正符号データＤｐを生成し、その誤り訂正符号データＤｐをユーザデータＤｕに付加してライトデータＷＤを生成する。そして、割付回路１ｃは、そのライトデータＷＤをライト用のコマンドＣＮＴ及びアドレスデータＡｄと同期して半導体メモリ３に出力し、同半導体メモリ３に記憶させる。
【００１４】
また、割付回路１ｃは、半導体メモリ３に記憶させたライトデータＷＤを、リード用のコマンドＣＮＴ及びアドレスデータＡｄに基づいて、リードデータＲＤとして読み出す。割付回路１ｃは、読み出したリードデータＲＤからユーザデータＤｕを抽出してコアロジック２に出力する。
【００１５】
コアロジック２は、半導体メモリ３に記憶させるためのユーザデータＤｕを割付回路１ｃに出力する。ユーザデータＤｕは、本実施形態では、８ビットのレギュラービットデータ（以下、単に、レギュラービットという）Ｄ１〜Ｄ８から構成されている。
【００１６】
割付回路１ｃは、８ビットのレギュラービットＤ１〜Ｄ８に対する誤り訂正符号データＤｐを生成する。誤り訂正符号データＤｐは、本実施形態では、４ビットのパリティビットデータ（以下、単に、パリティビットという）Ｄ９〜Ｄ１２から構成されている。
【００１７】
そして、割付回路１ｃは、レギュラービットＤ１〜Ｄ８に、その生成したパリティビットＤ９〜Ｄ１２を付加してライトデータＷＤを生成する。
従って、本実施形態では、ライトデータＷＤは、図３に示すように、８ビットのレギュラービットＤ１〜Ｄ８と、４ビットのパリティビットＤ９〜Ｄ１２とからなる１２ビットのビットデータで構成される。
【００１８】
尚、説明の便宜上、１２ビットからなるライトデータＷＤの各ビットを総称して書込ビットともいい、各書込ビットの符号を、対応する前記レギュラービットＤ１〜Ｄ８及びパリティビットＤ９〜Ｄ１２の符号を付すものとする。
【００１９】
半導体メモリ３は、複数のメモリセルがマトリクス状に配列されたメモリセルアレイ５を有し割付回路１ｃで生成したライトデータＷＤを記憶する。
図２は、半導体メモリ３のメモリセルアレイ５を説明するための模式図を示す。本実施形態では、メモリセルアレイ５は、１２ビットの書込ビットＤ１〜Ｄ１２からなるライトデータＷＤに対応して、１２本のビット線ＢＬ１〜ＢＬ１２と、ｎ本（本実施形態では８本）のワード線ＷＬ１〜ＷＬ８が格子状に配線され、その交差する部分にメモリセルＣがそれぞれ形成されている。
【００２０】
メモリセルアレイ５には、割付回路１ｃが誤り訂正符号データＤｐを生成する機能を有し、ユーザデータＤｕに誤り訂正符号データＤｐを付加させたライトデータＷＤを記憶させることから、レギュラービットＤ１〜Ｄ８を記憶させるためのレギュラービット専用領域Ｚ１とパリティビットＤ９〜Ｄ１２を記憶させるためのパリティビット専用領域Ｚ２に区画されている。
【００２１】
詳述すると、メモリセルアレイ５は、行方向に、１２個のメモリセルＣが配置され、列方向に、８個のメモリセルＣが配置されている。そして、行方向に配置された各行のメモリセルＣは、対応する第１〜第８ワード線ＷＬ１〜ＷＬ８にそれぞれ接続され、列方向に配置された各列のメモリセルＣは、対応する第１〜第１２ビット線ＢＬ１〜ＢＬ１２にそれぞれ接続されている。そして、第１〜第８ビット線ＢＬ１〜ＢＬ８に接続される各メモリセルＣをレギュラービット専用領域Ｚ１にあるメモリセルＣとし、第９〜第１２ビット線ＢＬ９〜ＢＬ１２に接続される各メモリセルＣをパリティビット専用領域Ｚ２にあるメモリセルＣとする。
【００２２】
つまり、ライトデータＷＤ中のレギュラービットＤ１〜Ｄ８は、第１〜第８ビット線ＢＬ１〜ＢＬ８を介して、ワード線で選択された行の対応するメモリセルＣにそれぞれ記憶される。また、ライトデータＷＤ中のパリティビットＤ９〜Ｄ１２は、第９〜第１３ビット線ＢＬ９〜ＢＬ１２を介して、ワード線で選択された行の対応するメモリセルＣにそれぞれ記憶される。
【００２３】
例えば、アドレスデータＡｄに基づいてワード線ＷＬ１が選択されたとき、ワード線ＷＬ１上、即ち、１行目の各メモリセルＣに、１２ビットの書込ビットＤ１〜Ｄ１２が対応するビット線ＢＬ１〜ＢＬ１２を介してそれぞれ記憶されることになる。
【００２４】
また、各行のメモリセルＣに記憶されたライトデータＷＤを読み出す場合には、一つのワード線が選択されて、その選択された行の各メモリセルＣに記憶された書込ビットＤ１〜Ｄ１２が対応するビット線ＢＬ１〜ＢＬ１２に出力される。そして、これら各書込ビットＤ１〜Ｄ１２は、対応するビット線ＢＬ１〜ＢＬ１２を介して割付回路１ｃにリードデータＲＤとして出力される。
【００２５】
例えば、アドレスデータＡｄに基づいてワード線ＷＬ１が選択されたとき、ワード線ＷＬ１上、即ち、１行目の各メモリセルＣに記憶された１２ビットの書込ビットＤ１〜Ｄ１２は、対応するビット線ＢＬ１〜ＢＬ１２を介してそれぞれ割付回路１ｃにリードデータＲＤとして出力される。
【００２６】
割付回路１ｃは、コアロジック２からのユーザデータＤｕをライトデータＷＤにして半導体メモリ３に記憶する書込回路部１０を有している。
書込回路部１０は、ライトデータバッファ１１、第１パリティビット生成回路１２、ライト用レギュラービットバッファ１３、ライト用パリティビットバッファ１４、ライト用データ領域判定回路１５を有している。
【００２７】
ライトデータバッファ１１は、コアロジック２からレギュラービットＤ１〜Ｄ８からなるユーザデータＤｕを入力する。ライトデータバッファ１１は、レギュラービットＤ１〜Ｄ８を第１パリティビット生成回路１２とライト用レギュラービットバッファ１３に出力する。
【００２８】
第１パリティビット生成回路１２は、レギュラービットＤ１〜Ｄ８を入力すると、レギュラービットＤ１〜Ｄ８のエラー訂正が行えるように４ビットのパリティビットＤ９〜Ｄ１２からなる誤り訂正符号データＤｐを生成し、該誤り訂正符号データＤｐをライト用パリティビットバッファ１４に出力する。
【００２９】
そして、ライト用レギュラービットバッファ１３は８ビットのレギュラービットＤ１〜Ｄ８を、ライト用パリティビットバッファ１４は、４ビットのパリティビットＤ９〜Ｄ１２を、それぞれライト用データ領域判定回路１５にそれぞれ出力する。
【００３０】
ライト用データ領域判定回路１５は、８ビットのレギュラービットＤ１〜Ｄ８と４ビットのパリティビットＤ９〜Ｄ１２を、１２ビットのライトデータＷＤとして入力する。
ライト用データ領域判定回路１５は、各ビット線ＢＬ１〜ＢＬ１２と接続されている。ライト用データ領域判定回路１５は、入力したライトデータＷＤを構成する１２ビットの各書込ビットＤ１〜Ｄ１２を、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、その配列順序を並び換えて、対応するビット線ＢＬ１〜ＢＬ１２にそれぞれ出力するようになっている。
【００３１】
詳述すると、１２ビットのライトデータＷＤ中の４ビットのパリティビットＤ９〜Ｄ１２は、不良のメモリセルＣでない正常なメモリセルＣに記憶させる必要がある。そこで、ライト用データ領域判定回路１５は、正常なメモリセルＣが形成されているビット線に出力されるように、ライトデータＷＤ中の各パリティビットＤ９〜Ｄ１２を振り分ける。
【００３２】
ビット線選択情報ＳＬは、各パリティビットＤ９〜Ｄ１２を正常なメモリセルＣが形成されているビット線に振り分けるための情報である。
例えば、図２に示すように、メモリセルアレイ５において、１行目のパリティビット専用領域Ｚ２の第１１ビット線ＢＬ１１上のメモリセルＣ１、３行目のレギュラービット専用領域Ｚ１の第４ビット線ＢＬ４上のメモリセルＣ２、６行目のパリティビット専用領域Ｚ２の第１０ビット線ＢＬ１０上のメモリセルＣ３、及び、７行目のパリティビット専用領域Ｚ２の第９ビット線ＢＬ９上のメモリセルＣ４が不良メモリセルであるとする。
【００３３】
このとき、３行目のレギュラービット専用領域Ｚ１の第４ビット線ＢＬ４上のメモリセルＣ２が不良メモリセルのときには、３行目のパリティビット専用領域Ｚ２にある各メモリセルＣは正常なメモリセルであるため、パリティビットＤ９〜Ｄ１２は正常に記憶される。
【００３４】
従って、３行目のレギュラービット専用領域Ｚ１及びパリティビット専用領域Ｚ２にそれぞれ記憶されているライトデータＷＤをリードデータＲＤとして読み出したとき、メモリセルＣ２が不良メモリセルであっても、パリティビットＤ９〜Ｄ１２は正常に記憶されるため、エラー訂正ができ、書き込む前のレギュラービットＤ１〜Ｄ８を復元することができる。
【００３５】
これに対し、パリティビット専用領域Ｚ２にあるメモリセルＣ１、Ｃ３，Ｃ４が不良メモリセルである場合には、パリティビットＤ９〜Ｄ１２は正常に記憶されないため、エラー訂正ができない。つまり、パリティビットＤ９〜Ｄ１２を使いＥＣＣ機能を持たせるメモリとして半導体メモリ３を使用できないことになる。
【００３６】
そこで、ライト用データ領域判定回路１５は、パリティビット専用領域Ｚ２にあるメモリセルＣ１、Ｃ３，Ｃ４を使わない、即ち、いかなる場合にも、第４ビット線ＢＬ４、第９ビット線ＢＬ９、第１０ビット線ＢＬ１０、第１１ビット線ＢＬ１１に、ライトデータＷＤ中の４ビットのパリティビットＤ９〜Ｄ１２を出力させないようにしている。
【００３７】
言い換えると、ライト用データ領域判定回路１５は、不良メモリセルが形成されていない正常なメモリセルが形成されているビット線に、ライトデータＷＤ中の４ビットのパリティビットＤ９〜Ｄ１２が出力されるようにしている。ここでは、第１〜第３、第５〜第８、第１２ビット線ＢＬ１〜ＢＬ３，ＢＬ５〜ＢＬ８，ＢＬ１２の中から４本を選択し、その選択されたビット線上の正常なメモリセルにパリティビットＤ９〜Ｄ１２に記憶させる。
【００３８】
これによって、各行に記憶されるパリティビットＤ９〜Ｄ１２は、正常のメモリセルに記憶されることになる。そして、正常なメモリセルに記憶されたパリティビットＤ９〜Ｄ１２を使って、８ビット中１つの不良メモリセルに記憶されたレギュラービットＤ１〜Ｄ８は、エラー訂正ができ、書き込む前のレギュラービットＤ１〜Ｄ８を復元することができる。
【００３９】
そこで、事前に、前記各ビット線について、該ビット線上のメモリセルに不良メモリセルが形成されていないビット線を検査によって求め、その求めたビット線の中から、パリティビットＤ９〜Ｄ１２を出力する４本のビット線を選択する。そして、その選択した４本のビット線に各ライトデータＷＤのパリティビットＤ９〜Ｄ１２を振り分けて出力して、正常なメモリセルＣにパリティビットＤ９〜Ｄ１２を記憶させるようにしている。
【００４０】
４本のビット線に、パリティビットＤ９〜Ｄ１２をそれぞれ振り分けて出力させるためのビット線選択情報ＳＬは、予めヒューズ回路７に記憶されている。そして、ライト用データ領域判定回路１５は、ヒューズ回路７からのビット線選択情報ＳＬを入力し、ビット線選択情報ＳＬに基づいて、各ライトデータＷＤのパリティビットＤ９〜Ｄ１２を正常なメモリセルに記憶させるようにしている。
【００４１】
因みに、本実施形態では、図２に示すメモリセルアレイ５において、不良のメモリセルＣ１〜Ｃ４がある時、ライト用データ領域判定回路１５は、ビット線選択情報ＳＬに基づいて、第３ビット線ＢＬ３、第５ビット線ＢＬ５、第８ビット線ＢＬ８、第１２ビット線ＢＬ１２の４本を選択する。そして、図４に示すように、ビット線選択情報ＳＬに基づいて、パリティビットＤ９が第３ビット線ＢＬ３に、パリティビットＤ１０が第５ビット線ＢＬ５に、パリティビットＤ１１が第８ビット線ＢＬ８に、パリティビットＤ１２が第１２ビット線ＢＬ１２にそれぞれ出力されるように、ライトデータＷＤの各ビットＤ１〜Ｄ１２の配置を、並び換えるようになっている。
【００４２】
割付回路１ｃは、半導体メモリ３に記憶したライトデータＷＤをリードデータＲＤとして入力し、該リードデータＲＤをユーザデータＤｕにしてコアロジック２に出力する読出回路部２０を有している。
【００４３】
読出回路部２０は、リード用データ領域判定回路２１、リード用レギュラービットバッファ２２、リード用パリティビットバッファ２３、第２パリティビット生成回路２４、パリティビット比較回路２５、データ修正回路２６、リードデータバッファ２７を有している。
【００４４】
リード用データ領域判定回路２１は、各ビット線ＢＬ１〜ＢＬ１２と接続されている。リード用データ領域判定回路２１は、選択された行の各メモリセルＣに記憶されたライトデータＷＤ（書込ビットＤ１〜Ｄ１２）がそれぞれ対応するビット線ＢＬ１〜ＢＬ１２を介してリードデータＲＤとして入力される。
【００４５】
リード用データ領域判定回路２１は、書込回路部１０のライト用データ領域判定回路１５によって、並び換えられたライトデータＷＤ（書込ビットＤ１〜Ｄ１２）が対応するビット線ＢＬ１〜ＢＬ１２から出力されているため、これを並び直す回路である。
【００４６】
そして、リード用データ領域判定回路２１は、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、ライトデータＷＤ（リードデータＲＤ）の各ビットＤ１〜Ｄ１２の配置を、図５に示すように、ライト用データ領域判定回路１５で並び換える前の配置に並び直す。
【００４７】
リード用データ領域判定回路２１は、配置を並び直したライトデータＷＤ（リードデータＲＤ）から８ビットのレギュラービットＤ１〜Ｄ８（ユーザデータＤｕ）を抽出してリード用レギュラービットバッファ２２に出力するとともに、４ビットのパリティビットＤ９〜Ｄ１２（誤り訂正符号データＤｐ）を抽出してリード用パリティビットバッファ２３に出力する。
【００４８】
リード用レギュラービットバッファ２２は、レギュラービットＤ１〜Ｄ８を第２パリティビット生成回路２４及びデータ修正回路２６に出力する。第２パリティビット生成回路２４は、抽出したレギュラービットＤ１〜Ｄ８についてエラー訂正のための４ビットのパリティビットＤ９〜Ｄ１２からなる誤り訂正符号データＤｐを生成し、該パリティビットＤ９〜Ｄ１２（誤り訂正符号データＤｐ）をパリティビット比較回路２５出力する。
【００４９】
パリティビット比較回路２５は、リード用パリティビットバッファ２３からリード用データ領域判定回路２１が抽出した４ビットのパリティビットＤ９〜Ｄ１２を入力する。そして、パリティビット比較回路２５は、第２パリティビット生成回路２４が生成した４ビットのパリティビット（生成パリティビット）Ｄ９〜Ｄ１２と、リード用データ領域判定回路２１が抽出した４ビットのパリティビット（読出パリティビット）Ｄ９〜Ｄ１２とを比較する。
【００５０】
パリティビット比較回路２５は、生成パリティビットＤ９〜Ｄ１２と読出パリティビットＤ９〜Ｄ１２とが一致している時、リード用データ領域判定回路２１が抽出した８ビットのレギュラービットＤ１〜Ｄ８は、正常のメモリセルから読み出された正常レギュラービットと判定する。そして、パリティビット比較回路２５は、抽出したレギュラービットＤ１〜Ｄ８は正常レギュラービットである旨の判定結果をデータ修正回路２６に出力する。
【００５１】
反対に、パリティビット比較回路２５は、生成パリティビットＤ９〜Ｄ１２と読出パリティビットＤ９〜Ｄ１２とが一致していない時、リード用データ領域判定回路２１が抽出した８ビットのレギュラービットＤ１〜Ｄ８のうち、いずれか１つのレギュラービットが不良のメモリセルから読み出されたエラーレギュラービットと判定する。そして、パリティビット比較回路２５は、抽出したレギュラービットＤ１〜Ｄ８はエラーレギュラービットである旨の判定結果とリード用データ領域判定回路２１が抽出した４ビットのパリティビットＤ９〜Ｄ１２とをデータ修正回路２６に出力する。
【００５２】
データ修正回路２６は、パリティビット比較回路２５が抽出したレギュラービットＤ１〜Ｄ８が正常と判定すると、リード用レギュラービットバッファ２２からの８ビットのレギュラービットＤ１〜Ｄ８をそのままユーザデータＤｕとしてリードデータバッファ２７に出力する。
【００５３】
一方、パリティビット比較回路２５が抽出したレギュラービットＤ１〜Ｄ８がエラーレギュラービットと判定すると、リード用レギュラービットバッファ２２からのレギュラービットＤ１〜Ｄ８を、パリティビット比較回路２５から入力されたリード用データ領域判定回路２１が抽出した読出パリティビットＤ９〜Ｄ１２（誤り訂正符号データＤｐ）を使って、エラー訂正を行う。そして、データ修正回路２６は、エラー訂正によって得た訂正後のレギュラービットＤ１〜Ｄ８を、ユーザデータＤｕとしてリードデータバッファ２７に出力する。
【００５４】
リードデータバッファ２７は、データ修正回路２６から入力された抽出したパリティビットＤ９〜Ｄ１２からなるからなるユーザデータＤｕ、又は、エラー訂正後のレギュラービットＤ１〜Ｄ８からなるユーザデータＤｕをコアロジック２に出力する。
【００５５】
従って、半導体メモリ３に一部不良メモリセルがあっても、パリティビットＤ９〜Ｄ１２は不良メモリセルに記憶されないため、コアロジック２は、半導体メモリ３に記憶したユーザデータＤｕを、再び、読み出し入力することができる。
【００５６】
次に、上記した書込回路部１０のライト用データ領域判定回路１５及び読出回路部２０のリード用データ領域判定回路２１の具体的な回路構成について説明する。
（ライト用データ領域判定回路１５）
図６に示すように、ライト用データ領域判定回路１５は、第１〜第４ライト用ビットシフト回路３１〜３４を有している。
（第１ライト用ビットシフト回路３１）
第１ライト用ビットシフト回路３１は、並列入力並列出力形の環状シフトレジスタであって、本実施形態では９個のフリップフロップ回路（ＦＦ回路）３１ａ〜３１ｉからなる９ビットシフトレジスタで構成されている。第１ライト用ビットシフト回路３１は、各ＦＦ回路３１ａ〜３１ｉに入力されたビットデータを、クロック信号ＣＬＫに応答して、後段のＦＦ回路（９番目のＦＦ回路３１ｉは先頭のＦＦ回路３１ａ）にシフトする。
【００５７】
第１ライト用ビットシフト回路３１は、図６に示すように、ライト用レギュラービットバッファ１３から８ビットのレギュラービットＤ１〜Ｄ８と、ライト用パリティビットバッファ１４から４ビットのパリティビットＤ９〜Ｄ１２中の１ビットのパリティビットＤ１２が入力される。
【００５８】
詳述すると、先頭のＦＦ回路３１ａにパリティビットＤ９〜Ｄ１２中の最後のパリティビットＤ１２が入力される。２番目のＦＦ回路３１ｂから最後の９番目のＦＦ回路３１ｉには、レギュラービットＤ１〜Ｄ８中の先頭のレギュラービットＤ１から最後のレギュラービットＤ８が順番にそれぞれ入力される。
【００５９】
第１ライト用ビットシフト回路３１は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを３個入力した後、そのシフト動作を終了する。この時、セット時に先頭のＦＦ回路３１ａに入力されたパリティビットＤ１２は、４番目のＦＦ回路３１ｄにシフトされている。そして、第１ライト用ビットシフト回路３１は、３個のクロック信号ＣＬＫによってシフトした各ＦＦ回路３１ａ〜３１ｉのビットデータを、第２ライト用ビットシフト回路３２に出力するようになっている。
（第２ライト用ビットシフト回路３２）
第２ライト用ビットシフト回路３２は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では１０個のＦＦ回路３２ａ〜３２ｊからなる１０ビットシフトレジスタで構成されている。第２ライト用ビットシフト回路３２は、各ＦＦ回路３２ａ〜３２ｊに入力されたビットデータを、クロック信号ＣＬＫに応答して、後段のＦＦ回路（１０番目のＦＦ回路３２ｊは先頭のＦＦ回路３２ａ）にシフトする。
【００６０】
第２ライト用ビットシフト回路３２は、図６に示すように、第１ライト用ビットシフト回路３１のＦＦ回路３１ａ〜３１ｉのビットデータと、ライト用パリティビットバッファ１４から４ビットのパリティビットＤ９〜Ｄ１２中の１ビットのパリティビットＤ１１が入力される。
【００６１】
詳述すると、先頭のＦＦ回路３２ａにパリティビットＤ１１が入力される。２番目のＦＦ回路３２ｂから最後の１０番目のＦＦ回路３２ｊには、第１ライト用ビットシフト回路３１の１番目のＦＦ回路３１ａのビットデータから最後の９番目のＦＦ回路３１ｉのビットデータが順番にそれぞれ入力される。
【００６２】
第２ライト用ビットシフト回路３２は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを２個入力した後、そのシフト動作を終了する。この時、セット時に先頭のＦＦ回路３２ａに入力されたパリティビットＤ１１は、３番目のＦＦ回路３２ｃにシフトされている。また、セット時に５番目のＦＦ回路３２ｅに入力されたパリティビットＤ１２は、７番目のＦＦ回路３２ｇにシフトされている。
【００６３】
そして、第２ライト用ビットシフト回路３２は、２個のクロック信号ＣＬＫによってシフトした各ＦＦ回路３２ａ〜３２ｊのビットデータを、第３ライト用ビットシフト回路３３に出力するようになっている。
（第３ライト用ビットシフト回路３３）
第３ライト用ビットシフト回路３３は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では１１個のフリップフロップ回路（ＦＦ回路３３ａ〜３３ｋ）からなる１１ビットシフトレジスタで構成されている。第３ライト用ビットシフト回路３３は、各ＦＦ回路３３ａ〜３３ｋに入力されたビットデータを、クロック信号ＣＬＫに応答して、後段のＦＦ回路（１１番目のＦＦ回路３３ｋは先頭のＦＦ回路３３ａ）にシフトする。
【００６４】
第３ライト用ビットシフト回路３３は、図６に示すように、第２ライト用ビットシフト回路３２のＦＦ回路３２ａ〜３２ｊのビットデータと、ライト用パリティビットバッファ１４から４ビットのパリティビットＤ９〜Ｄ１２中の１ビットのパリティビットＤ１０が入力される。
【００６５】
詳述すると、先頭のＦＦ回路３３ａにパリティビットＤ１０が入力される。２番目のＦＦ回路３３ｂから最後の１１番目のＦＦ回路３３ｋには、第２ライト用ビットシフト回路３２の１番目のＦＦ回路３２ａのビットデータから最後の１０番目のＦＦ回路３２ｊのビットデータが順番にそれぞれ入力される。
【００６６】
第３ライト用ビットシフト回路３３は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを１個入力した後、そのシフト動作を終了する。この時、セット時に先頭のＦＦ回路３３ａに入力されたパリティビットＤ１０は、２番目のＦＦ回路３３ｂにシフトされている。
【００６７】
また、セット時に８番目のＦＦ回路３３ｈに入力されたパリティビットＤ１２は、９番目のＦＦ回路３３ｉにシフトされている。さらに、セット時に４番目のＦＦ回路３３ｄに入力されたパリティビットＤ１１は、５番目のＦＦ回路３３ｅにシフトされている。
【００６８】
そして、第３ライト用ビットシフト回路３３は、１個のクロック信号ＣＬＫによってシフトした各ＦＦ回路３３ａ〜３３ｋのビットデータを、第４ライト用ビットシフト回路３４に出力するようになっている。
（第４ライト用ビットシフト回路３４）
第４ライト用ビットシフト回路３４は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では１２個のＦＦ回路３４ａ〜３４ｌからなる１２ビットシフトレジスタで構成されている。第４ライト用ビットシフト回路３４は、各ＦＦ回路３４ａ〜３４ｌに入力されたビットデータを、クロック信号ＣＬＫに応答して、後段のＦＦ回路（１２番目のＦＦ回路３４ｌは先頭のＦＦ回路３４ａ）にシフトする。また、ＦＦ回路３４ａ〜３４ｌの各出力端子は、それぞれ対応するビット線ＢＬ１〜ＢＬ１２に接続されている。
【００６９】
第４ライト用ビットシフト回路３４は、図６に示すように、第３ライト用ビットシフト回路３３のＦＦ回路３３ａ〜３３ｋのビットデータと、ライト用パリティビットバッファ１４から４ビットのパリティビットＤ９〜Ｄ１２中の１ビットのパリティビットＤ９が入力される。
【００７０】
詳述すると、先頭のＦＦ回路３４ａにパリティビットＤ９が入力される。２番目のＦＦ回路３４ｂから最後の１２番目のＦＦ回路３４ｌには、第３ライト用ビットシフト回路３３の１番目のＦＦ回路３３ａのビットデータから最後の１１番目のＦＦ回路３３ｋのビットデータが順番にそれぞれ入力される。
【００７１】
第４ライト用ビットシフト回路３４は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを２個入力した後、そのシフト動作を終了する。この時、セット時に先頭のＦＦ回路３４ａに入力されたパリティビットＤ９は、３番目のＦＦ回路３４ｃにシフトされている。
【００７２】
また、セット時に１０番目のＦＦ回路３４ｊに入力されたパリティビットＤ１２は、１２番目のＦＦ回路３４ｌにシフトされている。さらに、セット時に６番目のＦＦ回路３４ｆに入力されたパリティビットＤ１１は、８番目のＦＦ回路３４ｈにシフトされている。さらにまた、セット時に３番目のＦＦ回路３４ｃに入力されたパリティビットＤ１０は、５番目のＦＦ回路３４ｅにシフトされている。
【００７３】
そして、第４ライト用ビットシフト回路３４は、２個のクロック信号ＣＬＫによってシフトした各ＦＦ回路３４ａ〜３４ｌのビットデータを、それぞれ対応するビット線ＢＬ１〜ＢＬ１２に出力するようになっている。
【００７４】
各ＦＦ回路３４ａ〜３４ｌは、１番目のＦＦ回路３４ａから順番に最後の１２番目のＦＦ回路３４ｌまで、第１ビット線ＢＬ１から第１２ビット線ＢＬ１２が順番にそれぞれ接続され、各ＦＦ回路３４ａ〜３４ｌのビットデータは、それぞれ対応する第１〜第１２ビット線ＢＬ１〜ＢＬ１２に出力される。
【００７５】
従って、ＦＦ回路３４ｃにシフトされたパリティビットＤ９、ＦＦ回路３４ｅにシフトされたパリティビットＤ１０、ＦＦ回路３４ｈにシフトされたパリティビットＤ１１、及び、ＦＦ回路３４ｌにシフトされたパリティビットＤ１２は、正常なメモリセルＣが接続された第３、第５、第８、第１２ビット線ＢＬ３，ＢＬ５，ＢＬ８，ＢＬ１２にそれぞれ出力される。
【００７６】
つまり、ライト用レギュラービットバッファ１３からのレギュラービットＤ１〜Ｄ８とライト用パリティビットバッファ１４からのパリティビットＤ９〜Ｄ１２とを第１〜第４ライト用ビットシフト回路３１〜３４にて、その配置をビット線選択情報ＳＬに基づいて、図４に示すように、並び換えて、パリティビットＤ９〜Ｄ１２が正常なメモリセルＣが接続されたビット線ＢＬ３，ＢＬ５，ＢＬ８，ＢＬ１２に出力される。
【００７７】
次に、読出回路部２０のリード用データ領域判定回路２１の具体的な回路構成について説明する。
（リード用データ領域判定回路２１）
図７に示すように、リード用データ領域判定回路２１は、第１〜第４リード用ビットシフト回路４１〜４３を有している。
（第１リード用ビットシフト回路４１）
第１リード用ビットシフト回路４１は、並列入力並列出力形の環状シフトレジスタであって、本実施形態では１２個のフリップフロップ回路（ＦＦ回路）４１ａ〜４１ｌからなる１２ビットシフトレジスタで構成されている。第１リード用ビットシフト回路４１は、各ＦＦ回路４１ａ〜４１ｌに入力されたビットデータを、クロック信号ＣＬＫに応答して、前段のＦＦ回路（先頭のＦＦ回路４１ａは１２番目のＦＦ回路４１ｌ）にシフトする。
【００７８】
各ＦＦ回路４１ａ〜４１ｌは、１番目のＦＦ回路４１ａから順番に最後の１２番目のＦＦ回路４１ｌまで、第１ビット線ＢＬ１から第１２ビット線ＢＬ１２が順番にそれぞれ接続されている。そして、各ＦＦ回路４１ａ〜４１ｌには、対応する第１〜第１２ビット線ＢＬ１〜ＢＬ１２を介して、メモリセルＣに記憶したライトデータＷＤの各書込ビット（ライト用データ領域判定回路１５にて並べ換えられた各書込ビット）がそれぞれ入力される。
【００７９】
つまり、３番目のＦＦ回路４１ｃに第３ビット線ＢＬ３を介してパリティビットＤ９が入力され、５番目のＦＦ回路４１ｅに第５ビット線ＢＬ５を介してパリティビットＤ１０が入力される。また、８番目のＦＦ回路４１ｈに第８ビット線ＢＬ８を介してからパリティビットＤ１１が入力され、１２番目のＦＦ回路４１ｌに第１２ビット線ＢＬ１２を介してパリティビットＤ１２が入力される。
【００８０】
因みに、５個のＦＦ回路４１ｃ、４１ｅ、４１ｈ、４１ｌを除くＦＦ回路は、レギュラービットＤ１〜Ｄ８が、それぞれ１番目のＦＦ回路４１ａから順番に１１番目のＦＦ回路４１ｋまで入力される。
【００８１】
第１リード用ビットシフト回路４１は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを２個入力した後、そのシフト動作を終了する。この時、セット時に３番目のＦＦ回路４１ｃに入力されたパリティビットＤ９は、１番目のＦＦ回路４１ａにシフトされる。
【００８２】
また、５番目のＦＦ回路４１ｅに入力されたパリティビットＤ１０は３番目のＦＦ回路４１ｃに、８番目のＦＦ回路４１ｈに入力されたパリティビットＤ１１は６番目のＦＦ回路４１ｆに、１２番目のＦＦ回路４１ｌに入力されたパリティビットＤ１２は１０番目のＦＦ回路４１ｊに、それぞれシフトされている。
【００８３】
そして、第１リード用ビットシフト回路４１は、１番目のＦＦ回路４１ａにシフトされたビットデータ（パリティビットＤ９）をリード用パリティビットバッファ２３に出力する。また、第１リード用ビットシフト回路４１は、２番目のＦＦ回路４１ｂから１２番目のＦＦ回路４１ｌの各ビットデータを、第２リード用ビットシフト回路４２に出力するようになっている。
（第２リード用ビットシフト回路４２）
第２リード用ビットシフト回路４２は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では１１個のＦＦ回路４２ａ〜４２ｋからなる１１ビットシフトレジスタで構成されている。第２リード用ビットシフト回路４２は、各ＦＦ回路４２ａ〜４２ｋに入力されたビットデータを、クロック信号ＣＬＫに応答して、前段のＦＦ回路（１番目のＦＦ回路４２ａは１１番目のＦＦ回路４２ｋ）にシフトする。
【００８４】
各ＦＦ回路４２ａ〜４２ｋは、図７に示すように、第１リード用ビットシフト回路４１の２番目のＦＦ回路４１ｂから１２番目のＦＦ回路４１ｌが順番にそれぞれ接続されている。従って、２番目のＦＦ回路４２ｂにパリティビットＤ１０が、５番目のＦＦ回路４２ｅにパリティビットＤ１１が、９番目のＦＦ回路４２ｉにパリティビットＤ１２が、それぞれ入力される。
【００８５】
第２ライト用ビットシフト回路４２は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを１個入力した後、そのシフト動作を終了する。この時、セット時に２番目のＦＦ回路４２ｂに入力されたパリティビットＤ１０は、１番目のＦＦ回路４２ａにシフトされる。また、セット時に５番目のＦＦ回路４２ｅに入力されたパリティビットＤ１１は、４番目のＦＦ回路４２ｄにシフトされる。さらに、セット時に９番目のＦＦ回路４２ｉに入力されたパリティビットＤ１２は、８番目のＦＦ回路４２ｈにシフトされる。
【００８６】
そして、第２リード用ビットシフト回路４２は、１番目のＦＦ回路４２ａにシフトされたビットデータ（パリティビットＤ１０）をリード用パリティビットバッファ２３に出力する。また、第２リード用ビットシフト回路４２は、２番目のＦＦ回路４２ｂから１１番目のＦＦ回路４２ｋの各ビットデータを、第３リード用ビットシフト回路４３に出力するようになっている。
（第３リード用ビットシフト回路４３）
第３リード用ビットシフト回路４３は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では１０個のＦＦ回路４３ａ〜４３ｊからなる１０ビットシフトレジスタで構成されている。第３リード用ビットシフト回路４３は、各ＦＦ回路４３ａ〜４３ｊに入力されたビットデータを、クロック信号ＣＬＫに応答して、前段のＦＦ回路（１番目のＦＦ回路４３ａは１０番目のＦＦ回路４３ｊ）にシフトする。
【００８７】
各ＦＦ回路４３ａ〜４３ｊは、図７に示すように、第２リード用ビットシフト回路４２の２番目のＦＦ回路４２ｂから１１番目のＦＦ回路４２ｋが順番にそれぞれ接続されている。従って、３番目のＦＦ回路４３ｃにパリティビットＤ１１が、７番目のＦＦ回路４３ｇにパリティビットＤ１２が、それぞれ入力される。
【００８８】
第３リード用ビットシフト回路４３は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを２個入力した後、そのシフト動作を終了する。この時、セット時に３番目のＦＦ回路４３ｃに入力されたパリティビットＤ１１は、１番目のＦＦ回路４３ａにシフトされる。また、セット時に７番目のＦＦ回路４３ｇに入力されたパリティビットＤ１２は、５番目のＦＦ回路４３ｅにシフトされる。
【００８９】
そして、第３リード用ビットシフト回路４３は、２個のクロック信号ＣＬＫによってシフトした各ＦＦ回路４３ａ〜４３ｊのビットデータを、第４リード用ビットシフト回路４４に出力するようになっている。
【００９０】
そして、第３リード用ビットシフト回路４３は、１番目のＦＦ回路４３ａにシフトされたビットデータ（パリティビットＤ１１）をリード用パリティビットバッファ２３に出力する。また、第３リード用ビットシフト回路４３は、２番目のＦＦ回路４３ｂから１０番目のＦＦ回路４３ｊの各ビットデータを、第４リード用ビットシフト回路４４に出力するようになっている。
（第４リード用ビットシフト回路４４）
第４リード用ビットシフト回路４４は、同じく並列入力並列出力形の環状シフトレジスタであって、本実施形態では９個のＦＦ回路４４ａ〜４４ｉからなる９ビットシフトレジスタで構成されている。第４リード用ビットシフト回路４４は、各ＦＦ回路４４ａ〜４４ｉに入力されたビットデータを、クロック信号ＣＬＫに応答して、前段のＦＦ回路（１番目のＦＦ回路４４ａは９番目のＦＦ回路４４ｉ）にシフトする。
【００９１】
各ＦＦ回路４４ａ〜４４ｉは、図７に示すように、第３リード用ビットシフト回路４３の２番目のＦＦ回路４３ｂから１０番目のＦＦ回路４３ｊが順番にそれぞれ接続されている。従って、４番目のＦＦ回路４４ｄにパリティビットＤ１２が入力される。
【００９２】
第４リード用ビットシフト回路４４は、クロック信号ＣＬＫを入力し、ヒューズ回路７からのビット線選択情報ＳＬに基づいて、クロック信号ＣＬＫを３個入力した後、そのシフト動作を終了する。この時、セット時に４番目のＦＦ回路４４ｄに入力されたパリティビットＤ１２は、１番目のＦＦ回路４４ａにシフトされる。
【００９３】
また、２番目のＦＦ回路４４ｂから９番目のＦＦ回路４４ｉには、ライトデータＷＤ（書込ビットＤ１〜Ｄ１２）が半導体メモリ３に記憶する前の順番で入力される。
そして、第４リード用ビットシフト回路４４は、１番目のＦＦ回路４４ａにシフトされたビットデータ（パリティビットＤ１２）をリード用パリティビットバッファ２３に出力する。また、第４リード用ビットシフト回路４４は、２番目のＦＦ回路４４ｂから９番目のＦＦ回路４４ｉの各ビットデータを、リード用レギュラービットバッファ２２に出力するようになっている。
【００９４】
従って、第１〜第１２ビット線ＢＬ１〜ＢＬ１２から出力されるライトデータＷＤ（リードデータＲＤ）の各ビットＤ１〜Ｄ１２の配置は、第１〜第４リード用ビットシフト回路４１〜４４によって、図５に示すように、第１〜第４ライト用ビットシフト回路３１〜３４で並び換える前の配置に並び直される。
【００９５】
その結果、リード用レギュラービットバッファ２２には、書き込む前の配置のレギュラービットＤ１〜Ｄ８が入力され、リード用パリティビットバッファ２３には、書き込む前の配置のパリティビットＤ９〜Ｄ１２が入力される。
【００９６】
以上記述したように、本実施形態によれば、以下の効果を奏する。
（１）本実施形態によれば、書込回路部１０（ライト用データ領域判定回路１５）にて、不良メモリセルが形成されていない正常なメモリセルＣが形成されているビット線に、ライトデータＷＤ中の４ビットのパリティビットＤ９〜Ｄ１２を出力するようにした。
【００９７】
そして、本来、レギュラービットＤ１〜Ｄ８に対して生成したパリティビットＤ９〜Ｄ１２を記憶するパリティビット専用領域Ｚ２にあるメモリセルＣに不良メモリセルがあっても、レギュラービット専用領域Ｚ１にあるメモリセルＣに、該パリティビットＤ９〜Ｄ１２を記憶できるようにした。
【００９８】
従って、半導体メモリ３において、パリティビット専用領域Ｚ２にあるメモリセルＣに不良メモリセルがあっても、パリティビットＤ９〜Ｄ１３を使いＥＣＣ機能を持たせるメモリとして使用することができる。
（２）本実施形態によれば、読出回路部２０（リード用データ領域判定回路２１）にて、各ビット線から読み出されたリードデータＲＤのビットデータの配置を、半導体メモリ３に書き込む前のライトデータＷＤの各ビットデータの配置に並び直した。
【００９９】
従って、ライト用データ領域判定回路１５にて、正常なメモリセルＣが形成されているビット線に振り分けても、レギュラービットＤ１〜Ｄ８とパリティビットＤ９〜Ｄ１２を抽出することができる。
【０１００】
その結果、各行に記憶されるパリティビットＤ９〜Ｄ１２は、正常のメモリセルＣに記憶され、確実に抽出できることから、正常なメモリセルＣに記憶されたパリティビットＤ９〜Ｄ１２を使って、不良メモリセルＣ１〜Ｃ４に記憶されたレギュラービットＤ１〜Ｄ８を、エラー訂正ができ、書き込む前のレギュラービットＤ１〜Ｄ８に復元することができる。
（３）本実施形態によれば、読出回路部２０において、リード用データ領域判定回路２１が抽出したレギュラービットＤ１〜Ｄ８を使って第２パリティビット生成回路２４にて新たなパリティビット（生成パリティビット）Ｄ９〜Ｄ１２を生成した。そして、リード用データ領域判定回路２１が抽出したパリティビット（抽出パリティビット）Ｄ９〜Ｄ１２と、生成パリティビットＤ９〜Ｄ１２とを比較するようにした。
【０１０１】
そして、生成パリティビットＤ９〜Ｄ１２と読出パリティビットＤ９〜Ｄ１２とが一致している時、抽出した８ビットのレギュラービットＤ１〜Ｄ８は、正常のメモリセルＣから読み出された正常なユーザデータＤｕとして出力する。
【０１０２】
一方、生成パリティビットＤ９〜Ｄ１２と読出パリティビットＤ９〜Ｄ１２とが一致していない時、抽出した８ビットのレギュラービットＤ１〜Ｄ８のうち、いずれか１つのレギュラービットが不良のメモリセルＣ１〜Ｃ４から読み出されたエラーレギュラービットと判定する。このとき、読出パリティビットＤ９〜Ｄ１２を使って、抽出した８ビットのレギュラービットＤ１〜Ｄ８をエラー訂正するようにした。そして、エラー訂正したレギュラービットＤ１〜Ｄ８を正常なユーザデータＤｕとして出力する。
【０１０３】
つまり、レギュラービットＤ１〜Ｄ８が不良のメモリセルＣ１〜Ｃ４に記憶されても、パリティビットＤ９〜Ｄ１２が正常なメモリセルＣに記憶されているため、元のユーザデータＤｕに復元させてコアロジック２に出力することができる。
【０１０４】
尚、上記実施の形態は、以下の態様で実施してもよい。
・上記実施の形態では、ユーザデータＤｕを８ビットのレギュラービットＤ１〜Ｄ８にて構成するとともに、パリティデータＤｐを４ビットのパリティビットＤ９〜Ｄ１２で構成したが、ユーザデータＤｕ及びパリティデータＤｐのビット数は特に限定されるものではなく、適宜変更して実施してもよい。
【０１０５】
・上記実施の形態では、メモリインターフェース１の割付回路１ｃにおいて、第１パリティビット生成回路１２を設け、第１パリティビット生成回路１２にてコアロジック２からのユーザデータＤｕ（レギュラービットＤ１〜Ｄ８）に対するパリティビットデータＤｐ（パリティビットＤ９〜Ｄ１２）を生成した。
【０１０６】
これを、コアロジック２が、ユーザデータＤｕ（レギュラービットＤ１〜Ｄ８）とともに、ユーザデータＤｕ（レギュラービットＤ１〜Ｄ８）に対するパリティビットデータＤｐ（パリティビットＤ９〜Ｄ１２）を生成し出力する場合には、割付回路１ｃの第１パリティビット生成回路１２を省略して実施してもよい。この場合には、パリティビットデータＤｐ（パリティビットＤ９〜Ｄ１２）は、ライトデータバッファ１１からライト用パリティビットバッファ１４に直接入力されることになる。
【０１０７】
・上記実施の形態では、ビット線選択情報ＳＬに基づいてライトデータＷＤの並び換えを行うライト用データ領域判定回路１５は、第１〜第４ライト用ビットシフト回路３１〜３４で構成し、レギュラービットＤ１〜Ｄ８及びパリティビットＤ９〜Ｄ１２を、第１〜第４ライト用ビットシフト回路３１〜３４にてビットシフトさせて、その配置を並び換えるようにした。
【０１０８】
これを、ライト用レギュラービットバッファ１３及びライト用パリティビットバッファ１４と第１〜第１２ビット線ＢＬ１〜ＢＬ１２との間に、ゲート回路（例えば、トラスファーゲート回路）を設ける。そして、ライト用レギュラービットバッファ１３及びライト用パリティビットバッファ１４のレギュラービットＤ１〜Ｄ８及びパリティビットＤ９〜Ｄ１２がゲート回路を介して対応するビット線ＢＬ１〜ＢＬ１２に出力されるようにしてもよい。
【０１０９】
・上記実施の形態では、同様に、ビット線選択情報ＳＬに基づいてリードデータＲＤの並び直しを行うリード用データ領域判定回路２１は、第１〜第４リード用ビットシフト回路４１〜４４で構成し、リードデータＲＤを、第１〜第４リード用ビットシフト回路４１〜４４にてビットシフトさせて、その配置を並び換えるようにした。
【０１１０】
これを、第１〜第１２ビット線ＢＬ１〜ＢＬ１２とリード用レギュラービットバッファ２２及びリード用パリティビットバッファ２３との間に、ゲート回路（例えば、トラスファーゲート回路）を設ける。そして、ビット線ＢＬ１〜ＢＬ１２から出力されるリードデータＲＤがゲート回路を介して対応するリード用レギュラービットバッファ２２及びリード用パリティビットバッファ２３に出力されるようにして実施してもよい。
【０１１１】
・上記実施の形態では、インターフェース回路としてのメモリインターフェース１を、コアロジック２と半導体メモリ３との間に設けた。これを、半導体メモリ３に内蔵して実施してもよい。
【符号の説明】
【０１１２】
１  メモリインターフェース（インターフェース回路）
１ｃ  割付回路
２  コアロジック
３  半導体メモリ（半導体記憶装置）
５  メモリセルアレイ
７  ヒューズ回路
１０  書込回路部
１１  ライトデータバッファ
１２  第１パリティビット生成回路（第１のパリティ生成回路）
１３  ライト用レギュラービットバッファ
１４  ライト用パリティビットバッファ
１５  ライト用データ領域判定回路
２０  読出回路部
２１  リード用データ領域判定回路
２２  リード用レギュラービットバッファ
２３  リード用パリティビットバッファ
２４  第２パリティビット生成回路（第２のパリティ生成回路部）
２５  パリティビット比較回路（比較判定回路部）
２６データ修正回路（データ修正回路部）
２７  リードデータバッファ
３１〜３４  第１〜第４ライト用ビットシフト回路
４１〜４３  第１〜第４リード用ビットシフト回路
ＢＬ１〜ＢＬ１２  第１〜第１２ビット線
Ｃ  メモリセル
Ｃ１〜Ｃ４  不良メモリセル
Ｄ１〜Ｄ８  レギュラービットデータ
Ｄ９〜Ｄ１２  パリティビットデータ
Ｄｕ  ユーザデータ
Ｄｐ  パリティデータ
ＲＤ  リードデータ
ＳＬ  ビット線選択情報（ビット線情報）
ＷＤ  ライトデータ
【図１】
2011134363.tif 000003
【図２】
2011134363.tif 000004
【図３】
2011134363.tif 000005
【図４】
2011134363.tif 000006
【図５】
2011134363.tif 000007
【図６】
2011134363.tif 000008
【図７】
2011134363.tif 000009