(57)【要約】【課題】誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置を提供する。【解決手段】本発明によるエラー訂正回路は、ＥＣＣエンコーダ及びＥＣＣデコーダを備える。ＥＣＣエンコーダは、情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる。ＥＣＣデコーダは、情報データとシンドロームデータを含む符号データとに基づいて、情報データから最大（ｈ−ｊ）ビットのエラー位置を算出する単一モードで動作できる。ＥＣＣデコーダは、情報データとシンドロームデータを含む符号データとに基づいて、情報データから最大ｈビットのエラー位置を算出する第１動作モードまたは情報データから最大（ｈ−ｊ）ビットのエラー位置を算出する第２動作モードで動作できる。【選択図】図７
2008165808.tif 000002
【特許請求の範囲】
【請求項１】
情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させ、前記情報データと前記シンドロームデータを含む符号データとを出力するＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）エンコーダと、
前記符号データを受信するように接続され、第１動作モードで前記符号データに基づいて前記情報データから最大（ｈ−ｊ）ビットのエラー位置を算出するＥＣＣデコーダと、を備え、
前記ｊは、１以上の整数であることを特徴とするメモリ装置。
【請求項２】
前記ｊは、１であることを特徴とする請求項１に記載のメモリ装置。
【請求項３】
前記ＥＣＣデコーダは、
前記符号データを用いて二つ以上の部分シンドローム（ｐａｒｔｉａｌ  ｓｙｎｄｒｏｍｓ）を算出する部分シンドローム生成器と、
前記二つ以上の部分シンドロームを用いてエラー位置方程式の係数を算出する係数算出器と、
前記係数に基づいて前記エラー位置を検出するエラー位置検出器と、を備えることを特徴とする請求項１に記載のメモリ装置。
【請求項４】
前記ＥＣＣデコーダは、
前記検出されたエラー位置に基づいて、前記符号データを訂正するエラー訂正器をさらに備えることを特徴とする請求項３に記載のメモリ装置。
【請求項５】
前記ＥＣＣエンコーダは、
前記符号データに対する第１パリティビットを生成させるパリティビット生成器をさらに備え、
前記ＥＣＣデコーダは、
前記符号データを用いて第２パリティビットを生成させ、前記第１パリティビットと比べるパリティチェッカをさらに備え、
前記第１及び第２パリティビットは、それぞれ偶数パリティビットまたは奇数パリティビットであることを特徴とする請求項３に記載のメモリ装置。
【請求項６】
前記メモリ装置は、
前記ＥＣＣエンコーダと前記ＥＣＣデコーダとに連結され、前記符号データを保存するメモリコアをさらに備えることを特徴とする請求項２に記載のメモリ装置。
【請求項７】
前記メモリコアは、
電気的に消去及びプログラムが可能なメモリセル（ＥＥＰＲＯＭ  ｃｅｌｌｓ）を含むことを特徴とする請求項６に記載のメモリ装置。
【請求項８】
前記メモリ装置は、
前記ＥＣＣデコーダに連結され、前記メモリコアから読出された前記符号データ及び前記エラー位置に対するデータをホストに伝送するホストインターフェース及びロジック部をさらに備え、
前記ホストは、前記算出されたエラー位置に基づいて前記符号データを訂正することを特徴とする請求項７に記載のメモリ装置。
【請求項９】
前記ＥＣＣデコーダは、
第２動作モードで前記符号データに基づいて、前記情報データから最大ｈビットのエラー位置を算出し、ホストからの動作モード信号に応答して前記第１動作モードまたは前記第２動作モードで動作することを特徴とする請求項１に記載のメモリ装置。
【請求項１０】
前記ＥＣＣデコーダは、
前記動作モード信号に応答して動作モードを設定して制御信号を発生させるモード設定部と、
前記符号データを用いて二つ以上の部分シンドロームを算出する部分シンドローム生成器と、
前記制御信号に基づいて、前記二つ以上の部分シンドロームを用いて第１エラー位置方程式の係数を算出するかまたは第２エラー位置方程式の係数を算出する係数算出器と、
前記係数算出器から出力される係数に基づいて前記エラー位置を検出するエラー位置検出器と、を備えることを特徴とする請求項９に記載のメモリ装置。
【請求項１１】
前記ＥＣＣデコーダは、
前記検出されたエラー位置に基づいて、前記符号データを訂正するエラー訂正器をさらに備えることを特徴とする請求項１０に記載のメモリ装置。
【請求項１２】
前記メモリ装置は、
前記ＥＣＣエンコーダと前記ＥＣＣデコーダとに連結され、前記符号データを保存するメモリコアをさらに備えることを特徴とする請求項９に記載のメモリ装置。
【請求項１３】
前記メモリコアは、
電気的に消去及びプログラムが可能なメモリセル（ＥＥＰＲＯＭ  ｃｅｌｌｓ）を含むことを特徴とする請求項１２に記載のメモリ装置。
【請求項１４】
情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる段階と、
前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、
前記符号データを前記メモリから読出す段階と、
前記符号データに基づいて、前記情報データから最大（ｈ−ｊ）ビットのエラー位置を検出する段階と、
前記検出されたエラー位置に基づいて前記符号データを訂正する段階と、を備え、
前記ｊは、１以上の整数であることを特徴とするエラー訂正方法。
【請求項１５】
前記エラー位置を算出する段階は、
前記符号データを用いて二つ以上の部分シンドロームを算出する段階と、
前記二つ以上の部分シンドロームを用いてエラー位置方程式の係数を算出する段階と、
前記係数に基づいて前記エラー位置を検出する段階と、を備えることを特徴とする請求項１４に記載のエラー訂正方法。
【請求項１６】
前記エラー訂正方法は、
前記符号データを前記メモリに保存する前に、少なくとも一つの前記情報データと前記符号データとに基づいて第１パリティビットを発生させる段階と、
前記符号データを前記メモリから読出した後に、前記少なくとも一つの情報データと符号データとに基づいて第２パリティビットを発生させる段階と、をさらに備え、
前記エラー位置を検出する段階は、
前記第１パリティビットと前記第２パリティビットとを比べる段階を備えることを特徴とする請求項１５に記載のエラー訂正方法。
【請求項１７】
情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる段階と、
前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、
前記符号データを前記メモリから読出す段階と、
第１動作モードまたは第２動作モードで進行するか否かを決定する段階と、
前記第１動作モードでは、前記符号データを用いて前記情報データから最大（ｈ−ｊ）ビットの第１エラー位置を算出する段階と、
前記第２動作モードでは、前記符号データを用いて前記情報データから最大ｈビットの第２エラー位置を算出するエラー位置算出段階と、
算出された前記第１エラー位置または前記第２エラー位置に基づいて前記符号データを訂正する段階と、を備え、
前記ｊは、１以上の整数であることを特徴とするエラー訂正方法。
【請求項１８】
前記第１エラー位置算出段階は、
前記符号データを用いて二つ以上の部分シンドロームを算出する段階と、
制御信号に基づいて、前記二つ以上の部分シンドロームを用いて第１エラー位置方程式の係数を算出する段階と、
前記第１エラー位置方程式の係数を用いて前記第１エラー位置を算出する段階と、を備えることを特徴とする請求項１７に記載のエラー訂正方法。
【請求項１９】
前記第１動作モードまたは前記第２動作モードで進行するか否かを決定する段階は、
ホストから受信される動作モード信号に基づいて決定されることを特徴とする請求項１７に記載のエラー訂正方法。
【請求項２０】
前記第１動作モードは、
正常動作状態に比べて前記情報データでマルチビットエラーが増加することができるモードであることを特徴とする請求項１７に記載のエラー訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ装置に係り、より詳細には、エラー訂正回路（ＥＣＣ：Ｅｒｒｏｒ  Ｃｈｅｃｋ／Ｃｏｒｒｅｃｔｉｏｎ  Ｃｉｒｃｕｉｔ）、エラー訂正方法及び前記エラー訂正回路を備える半導体メモリ装置に関する。
【背景技術】
【０００２】
半導体メモリ装置のメモリ容量の増加につれて、欠陥メモリセルのエラーを復旧できるエラー訂正回路を使うことが必要となる。通常のエラー訂正回路は、大きくリダンダンシメモリセル方式のエラー訂正回路とＥＣＣ方式のエラー訂正回路とに分けることができる。
リダンダンシメモリセル方式のエラー訂正回路を有する半導体メモリ装置は、ノーマル（正常）メモリセル及びリダンダンシ（予備）メモリセルを有する。この方式を使う半導体メモリ装置は、欠陷（エラー）が存在するメモリセルをリダンダンシメモリセルに取り替えてデータを書込み／読出す。この方式は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）によく使われる。
【０００３】
一方、ＥＣＣ方式のエラー訂正回路を有する半導体メモリ装置は、データビット以外にリダンダンシデータ（パリティデータあるいはシンドロームデータと称する）を生成して保存し、この次パリティビットを用いてエラー発生有無を判断してエラーを訂正する。
ＥＣＣ方式のエラー訂正回路は、読み取り専用メモリ（ＲＯＭ）方式の半導体メモリ装置によく使われる。特に、電気的に消去及びプログラムが可能なメモリセル（ＥＥＰＲＯＭ  ｃｅｌｌｓ）を有するフラッシュメモリ装置に多く使われる。
【０００４】
しかし、ＥＣＣ方式のエラー訂正回路は、その特性上、訂正可能な範囲を外れるエラーが発生した時、エラーを誤って訂正する場合（誤り訂正、ｍｉｓｃｏｒｒｅｃｔｉｏｎと称する）が発生することがある。５２８バイト情報データに対する５−ビットエラー検出及び４−ビットエラー訂正ＥＣＣ（以下、５−ｂｉｔ  ＥＤＣ／４−ｂｉｔ  ＥＣＣ）の場合を例を挙げれば、６−ビット以上のエラーが発生する確率をＰ６とした時、誤り訂正（ｍｉｓｃｏｒｒｅｃｔｉｏｎ）確率は、約Ｐ６×０．００１５程度になる。大部分の場合、この程度のエラー訂正能力であれば、システムの動作に問題がない。
【０００５】
しかし、半導体メモリ装置の急激な劣化による大量のエラー発生、電源不良（ｐｏｗｅｒ  ｆａｉｌｕｒｅ）による多重バーストエラー（ｍｕｌｔｉｐｌｅ  ｂｕｒｓｔ  ｅｒｒｏｒ）の発生などの特定の状況では、約Ｐ６×０．００１５程度の誤り訂正確率もシステムの安定性を劣化させる非常に重要な要因になりうる。したがって、誤り訂正可能性を減少させる方策が要求される。
【０００６】
従来の技術では、誤り訂正確率を減少させるために、一般的にＣＲＣデータをさらに添加してＥＣＣの誤り訂正をＣＲＣデータに検出する方法を採用する。
図１は、通常のエンコーダの機能ブロック図である。図１を参照すれば、従来技術によるエンコーダは、情報データのエンコーディングのためにＣＲＣエンコーダ１２及びＥＣＣエンコーダ１４を備える。
ＣＲＣエンコーダ１２は、本来のＥＣＣの対象となるデータ、すなわち、メモリ（図示せず）に保存するためにホストから受信されるデータ（ｈｏｓｔ  ｗｒｉｔｅ  ｄａｔａ）のＣＲＣデータ（ＣＲＣ  ｐａｒｉｔｙ）を求めて、これを情報データに追加する。ＣＲＣデータ（ＣＲＣ  ｐａｒｉｔｙ）は、図２に図示されたように、１６ビットデータであり得る。
【０００７】
ＥＣＣエンコーダ１４は、ＣＲＣデータが追加されたデータ、すなわち、‘ｈｏｓｔ  ｗｒｉｔｅ  ｄａｔａ＋ＣＲＣ  ｐａｒｉｔｙ’に対してＥＣＣのためのＥＣＣパリティデータ（ＥＣＣ  ｐａｒｉｔｙ、あるいはシンドロームデータと称する）を求める。ＥＣＣエンコーダ１４が４−ビットＥＣＣエンコーダである場合、ＥＣＣパリティデータ（ＥＣＣ  ｐａｒｉｔｙ）は５２ビットデータであり、もし、１ビットの偶数パリティビット（ｅｖｅｎ  ｐａｒｉｔｙ  ｂｉｔ）あるいは奇数パリティビット（ｏｄｄ  ｐａｒｉｔｙ  ｂｉｔ）が追加されれば、ＥＣＣパリティデータ（ＥＣＣ  ｐａｒｉｔｙ）は、図２に図示されたように、５３ビットデータであり得る。
【０００８】
図２は、通常の符号データ（ｅｎｃｏｄｅｄ  ｄａｔａ）の構造を表わす図である。これを参照すれば、ＣＲＣエンコーダ１２を経た後のデータは、‘ホストから受信されたデータ（ｈｏｓｔ  ｗｒｉｔｅ  ｄａｔａ）＋ＣＲＣデータ（ＣＲＣ  ｐａｒｉｔｙ）’である。ＥＣＣエンコーダ１４まで経た後のデータは、‘ホストから受信されたデータ（ｈｏｓｔ  ｗｒｉｔｅ  ｄａｔａ）＋ＣＲＣデータ（ＣＲＣ  ｐａｒｉｔｙ）＋ＥＣＣパリティデータ（ＥＣＣ  ｐａｒｉｔｙ）’であり、このデータがメモリ（図示せず）に保存される。
【０００９】
図３は、通常のデコーダの機能ブロック図である。
これを参照すれば、従来技術による半導体メモリ装置は、データのデコーディングのためにＥＣＣデコーダ２２、ＣＲＣデコーダ２４及び選択器２６を備える。
従来技術による半導体メモリ装置は、エンコーディング過程の逆順、すなわち、メモリから読出されたデータに対してＥＣＣデコーディングをした後、ＣＲＣデコーディングを実行する。
【００１０】
ＥＣＣデコーダ２２は、メモリから読出されたデータに対してＥＣＣデコーディングを実行してエラー位置を検出し、検出されたエラー位置によってエラーが発生したビットを訂正する。ＣＲＣデコーダ２４は、ＥＣＣデコーダ２２によってエラー訂正されたデータ（ｃｏｒｒｅｃｔｅｄ  ｄａｔａ）を受信してＣＲＣエンコーダ１２と同一な方法でＣＲＣデータを生成させ、生成されたＣＲＣデータとメモリから読出されたＣＲＣデータとが同一であるか否かを比べてエラー発生有無を判断する。ＣＲＣデコーダ２４は、前記判断結果によってパス／フェイル（ｐａｓｓ／ｆａｉｌ）信号を出力する。
【００１１】
選択器２６は、パス／フェイル信号に応答して、ＥＣＣデコーダ２２から出力されるエラー訂正されたデータ（ｃｏｒｒｅｃｔｅｄ  ｄａｔａ）と既定の訂正不可エラーデータ（ｕｎｃｏｒｒｅｃｔａｂｌｅ  ｅｒｒｏｒ  ｄａｔａ）のうち何れか一つを選択して、読出データ（ｈｏｓｔ  ｒｅａｄ  ｄａｔａ）としてホストに出力する。
【００１２】
前述した従来技術によるＣＲＣとＥＣＣとを結合したエラー訂正方式の場合、５−ｂｉｔ  ＥＤＣ／４−ｂｉｔ  ＥＣＣの誤り訂正確率は、ＣＲＣ回路を使わない場合に比べてＰ６×０．００１５×２−１６レベルに減少する。しかし、余分のＣＲＣ回路の追加によってＣＲＣコーデック（エンコーダ＋デコーダ）の追加だけではなく、これを制御するための制御ロジックの追加が必然的に伴う。また、エンコーディングとデコーディング過程でＣＲＣを実行しなければならないので、これによる余分の時間（すなわち、クロックサイクル）をさらに必要とする。
したがって、ハードウェアの追加及びエラー訂正時間の増加を最小化しながら、効果的にＥＣＣの誤り訂正確率を減少させうる方策が要求される。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
本発明の技術的課題は、前記ハードウェア追加及びエラー訂正時間の増加を減らし、エラーを誤って訂正する誤り訂正（ｍｉｓｃｏｒｒｅｃｔｉｏｎ）確率を減らすことによって、データの信頼性を向上させうるエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置を提供することである。
【課題を解決するための手段】
【００１４】
本発明の実施形態による半導体装置は、誤り訂正確率を減少させるために、デコーディング過程でエンコーディング過程よりさらに少ないＥＣＣビットを使うエラー訂正回路を提供する。本発明の実施形態は、また、マルチビットエラーの確率に基づいて二つの代替モードのうち、一つのモードで選択的に動作できるように構成された回路を提供する。本発明の実施形態は、ＣＲＣエンコーダ、ＣＲＣデコーダ、及び関連した制御ロジックを要しない長所がある。
したがって、本発明の実施形態によるエラー訂正回路は、従来のＣＲＣコーデックを利用したエラー訂正回路に比べてハードウェアを減少させることができ、エラー訂正時間を短縮させうる。
【００１５】
本発明の一実施形態によれば、情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させ、前記情報データと前記シンドロームデータを含む符号データとを出力するＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔｉｏｎ）エンコーダと、前記符号データを受信するように接続され、第１動作モードで前記符号データに基づいて前記情報データから最大（ｈ−ｊ）ビットのエラー位置を算出するＥＣＣデコーダと、を備え、前記ｊは、１以上の整数であるメモリ装置が提供される。
【００１６】
本発明の他の実施形態によれば、情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる段階と、前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、前記符号データを前記メモリから読出す段階と、前記符号データに基づいて、前記情報データから最大（ｈ−ｊ）ビットのエラー位置を検出する段階と、前記検出されたエラー位置に基づいて前記符号データを訂正する段階と、を備え、前記ｊは、１以上の整数であるエラー訂正方法が提供される。
【００１７】
本発明の他の実施形態によれば、情報データ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる段階と、前記情報データと前記シンドロームデータを含む符号データとをメモリに保存する段階と、前記符号データを前記メモリから読出す段階と、第１動作モードまたは第２動作モードで進行するか否かを決定する段階と、前記第１動作モードでは、前記符号データを用いて前記情報データから最大（ｈ−ｊ）ビットの第１エラー位置を算出する段階と、前記第２動作モードでは、前記符号データを用いて前記情報データから最大ｈビットの第２エラー位置を算出するエラー位置算出段階と、該算出された前記第１エラー位置または前記第２エラー位置に基づいて前記符号データを訂正する段階と、を備え、前記ｊは、１以上の整数であるエラー訂正方法が提供される。
【発明の効果】
【００１８】
本発明によれば、ハードウェア追加及びエラー訂正時間の増加を最小化しながら、エラーを誤って訂正する誤り訂正（ｍｉｓｃｏｒｒｅｃｔｉｏｎ）確率を減らしうる。したがって、データの信頼性が向上する。
【発明を実施するための最良の形態】
【００１９】
本発明と本発明の動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには、本発明の望ましい実施形態を例示する添付図面及び添付図面に記載された内容を参照しなければならない。
以下、添付した図面を参照して、本発明の望ましい実施形態を説明することによって、本発明を詳しく説明する。各図面に付された同一の参照符号は、同一の部材を表わす。
【００２０】
図４は、本発明の一実施形態による半導体メモリ装置の機能ブロック図である。
これを参照すれば、本発明の一実施形態による半導体メモリ装置３００は、ＥＣＣ回路４２０、４３０及びＥＣＣ回路４２０、４３０に接続されたメモリコア３１０を備える。ＥＣＣ回路４２０、４３０は、ＥＣＣエンコーダ４２０及びＥＣＣデコーダ４３０を含む。
【００２１】
ＥＣＣエンコーダ４２０は、ホスト（図示せず）から受信される情報データＷＲ＿ＤＡＴＡ及び生成多項式に基づいて、ｈ（２以上の整数）ビットエラー訂正が可能なシンドロームデータを発生させる。すなわち、ＥＣＣエンコーダ４２０は、ｈ−ビットＥＣＣ生成多項式を使って情報データＷＲ＿ＤＡＴＡをエンコーディングする。生成多項式については、後述する。
したがって、情報データ及びシンドロームデータを含むエンコーディングされたデータがメモリコア３１０に保存される。
【００２２】
図６は、本発明の実施形態によるエンコーディング前のデータとエンコーディングされたデータとの一例を表わす図である。これを参照すれば、エンコーディング前のデータ（ａ）は、情報データを意味し、エンコーディングされたデータ（すなわち、エンコーディング後のデータ、（ｂ））は、情報データにシンドロームデータが追加されたデータであって、これを符号データあるいはＥＣＣワードと称する。
【００２３】
メモリコア３１０は、データを保存するためのメモリセルアレイを備えるブロックである。メモリセルアレイは、フローティングゲート（ｆｌｏａｔｉｎｇ  ｇａｔｅ）を有する電気的に消去及びプログラムが可能なメモリセル（ＥＥＰＲＯＭ  ｃｅｌｌｓ）で構成することができるが、これに限定されるものではない。
【００２４】
ＥＣＣデコーダ４３０は、メモリコア３１０から読出された符号データを用いてエラー位置を算出する。エラー位置とは、エラーが発生したビットの位置を言う。ＥＣＣデコーダ４３０は、また算出されたエラー位置によって、エラーが発生したビットを訂正することもできる。このとき、ＥＣＣデコーダ４３０は、最大（ｈ−ｊ）ビットまでエラー訂正を実行する（ｈ−ｊ）ビットＥＣＣデコーダである。ＥＣＣデコーダ４３０は、（ｈ−ｊ＋１）ビットのエラーを検出（ｄｅｔｅｃｔｉｏｎ）できるデコーダとすることができる。すなわち、ＥＣＣデコーダ４３０は、（ｈ−ｊ）ビットＥＣＣ／（ｈ−ｊ＋１）ビットＥＤＣ（ｅｒｒｏｒ  ｄｅｔｅｃｔｉｏｎ  ｃｏｄｅ）デコーダとすることができる。ここで、ｊは、１以上の整数である。ＥＣＣデコーダ４３０によってエラー訂正されたデータＲＤ＿ＤＡＴＡがホスト（図示せず）に出力される。
【００２５】
前述したように、本発明の一実施形態によるエラー訂正回路４２０、４３０は、エンコーディング時はｈ−ビット（例えば、５−ビット）ＥＣＣ生成多項式を使ってエンコーディングを実行するので、コード間の距離、すなわち、ハミング距離（ｈａｍｍｉｎｇ  ｄｉｓｔａｎｃｅ）が大きくなった一方、デコーディングを通じるエラー訂正は、ｈビットより少ないビット（例えば、４−ビット）までのみ実行するので、エラー訂正半径は減る。したがって、誤り訂正が発生する確率も減るようになり、この確率を求めて見れば、５−ビットＥＣＣエンコーディングと４−ビットＥＣＣデコーディングとを使った場合、約Ｐ６×０．００１５×２−１３レベルになる。ここで、Ｐ６は、６−ビット以上のエラーが発生する確率である。
【００２６】
図５は、本発明の他の一実施形態による半導体メモリ装置の機能ブロック図である。
これを参照すれば、本発明の他の一実施形態による半導体メモリ装置５００は、ＥＣＣ回路４２０、５３０及びＥＣＣ回路４２０、５３０に接続されたメモリコア３１０を備える。ＥＣＣ回路４２０、５３０は、ＥＣＣエンコーダ４２０及びＥＣＣデコーダ５３０を含む。
メモリコア３１０及びＥＣＣエンコーダ４２０は、図４を参照して前述したところと同一なので、これについての詳細な説明は省略する。
【００２７】
ＥＣＣデコーダ５３０は、ホストから受信される動作モード信号ＭＯＤＥに応答して、第１動作モードまたは第２動作モードで動作する。第１動作モードでは、ＥＣＣデコーダ５３０は、メモリコア３１０から読出された符号データを用いて最大ｈビットまでのエラー位置を算出し、算出されたエラー位置によってエラーが発生したビットを訂正する。第２動作モードでは、ＥＣＣデコーダ５３０は、メモリコア３１０から読出された符号データを用いて最大（ｈ−ｊ）ビットまでのエラー位置を算出し、算出されたエラー位置によってエラーが発生したビットを訂正する。ここで、ｊは、１以上の整数である。すなわち、ＥＣＣデコーダ５３０は、動作モード信号ＭＯＤＥに基づいて、ｈ−ビットＥＣＣデコーダまたは（ｈ−ｊ）ビットＥＣＣデコーダとして動作する。ＥＣＣデコーダ５３０が（ｈ−ｊ）ビットＥＣＣデコーダとして動作する場合、ＥＣＣデコーダ５３０の機能は、前述したＥＣＣデコーダ４３０と同一である。ＥＣＣデコーダ５３０がｈ−ビットＥＣＣデコーダとして動作する場合、ＥＣＣデコーダ５３０は、（ｈ＋１）ビットのエラーを検出できるデコーダであり得る。すなわち、ｈ−ビットＥＣＣ／（ｈ＋１）−ビットＥＤＣデコーダであり得る。
【００２８】
表１は、動作モードによるＥＣＣビット数とＥＤＣビット数とを表わすものであって、ｈ−ビットＥＣＣエンコーダ４２０に対するＥＣＣデコーダ５３０の選択的構成を要約する。
【００２９】
【表１】
2008165808.tif 000003
【００３０】
ＥＣＣデコーダ５３０によってエラー訂正されたデータＲＤ＿ＤＡＴＡが、ホスト（図示せず）に出力される。下記に記述するように、第１動作モードは、マルチビットエラー確率が相対的に低い正常動作状態に最も適切であり、第２動作モードは、マルチビットエラー確率が相対的に高い非正常動作状態に最も適切である。
【００３１】
図７は、図５に図示された半導体メモリ装置の詳細ブロック図である。
半導体メモリ装置５００は、直列に接続されたメモリコア３１０、ＥＣＣ回路５２０、ホストインターフェース及びロジック部３３０とを備える。
ホストインターフェース及びロジック部３３０は、ホスト２００（例えば、モバイル機器のコントローラ、コンピュータ装置のコントローラなど）とメモリコア３１０との間のインターフェースのための制御及びバッファリング役割を実行する。
【００３２】
ホストインターフェース及びロジック部３３０は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ、図示せず）のようなメモリを備えることができる。ホスト２００が、半導体メモリ装置５００にデータを書込めば、そのデータはＥＣＣ回路５２０によって符号化されてメモリコア３１０（例えば、フラッシュメモリコア）に記録される。メモリコア３１０から読出されたデータは、ＥＣＣ回路５２０によってエラーが検出されて訂正されてＳＲＡＭ（図示せず）に保存され、ホスト２００はＳＲＡＭ（図示せず）に保存されたエラー訂正されたデータを読出す。
ホストインターフェース及びロジック部３３０は、ホスト２００とｄ（２以上の整数）ビットの並列データを送受信できる。
【００３３】
ＥＣＣ回路５２０は、ＥＣＣラッパ４１０、ＥＣＣエンコーダ４２０及びＥＣＣデコーダ５３０とを備える。
ＥＣＣラッパ（ＥＣＣ  ｗｒａｐｐｅｒ）４１０は、ホストインターフェース及びロジック部３３０を介して受信されるｋ（２以上の整数、例えば、４０９６）ビット情報データに各ビットが所定ロジック値（例えば、“０”を有するｎ−ｋ（１以上の整数、例えば、６６）ビットのダミーデータを追加して、合計ｎ（例えば、４０９６＋６６＝４１６２）ビットデータを直列または並列に出力する。
ｎビットデータは、ＥＣＣエンコーダ４２０に入力される。
【００３４】
ＥＣＣエンコーダ４２０の一具現例が図９に図示される。
図９を参照すれば、ＥＣＣエンコーダ４２０は、シンドローム生成器４２１及びＸＯＲ（ｅｘｃｌｕｓｉｖｅ−ＯＲ）演算器４２３を含む。シンドローム生成器４２１の入力端はＸＯＲ演算器４２３の第１入力端と連結され、シンドローム生成器４２１の出力端はＸＯＲ演算器４２３の第２入力端と連結される。
【００３５】
シンドローム生成器４２１は、ＥＣＣラッパ４１０からｎビットデータ（すなわち、ｋビット＋（ｎ−ｋ）ビットのダミー（ｄｕｍｍｙ）データ）を受信し、受信されたデータを特定データに分けてｎ−ｋビットの残りデータ（すなわち、ｎ−ｋビットで構成されるシンドロームデータ）を生成させる。特定データを生成多項式（ｇｅｎｅｒａｔｏｒ  ｐｏｌｙｎｏｍｉａｌ、Ｇ（ｘ））と称する。（ｎ−ｋ）は、訂正可能な最大エラービット数及び／または検出可能な最大エラービット数によって決定される。
【００３６】
ＸＯＲ（ｅｘｃｌｕｓｉｖｅ−ＯＲ）演算器４２３は、ＥＣＣラッパ４１０から受信されるｎビットデータとシンドロームデータとを排他的論理和（ＸＯＲ）する。すなわち、ＸＯＲ（ｅｘｃｌｕｓｉｖｅ−ＯＲ）演算器４２３によって（ｎ−ｋ）ビットのダミーデータが残りデータに取り替えられる。
【００３７】
結局、ＥＣＣエンコーダ４２０は、ｋビットの情報データと（ｎ−ｋ）ビットの残りデータ（シンドロームデータ）とを加えることで、ｎビットの符号データを生成させる。情報データ、シンドロームデータ及び符号データをそれぞれＩ（ｘ）、Ｓ（ｘ）、Ｃ（ｘ）とすれば、これらデータ間の関係は、次の数式１のようである。
【００３８】
［数式１］
Ｓ（ｘ）＝ｘｎ−ｋＩ（ｘ）％  Ｇ（ｘ）、
Ｃ（ｘ）＝ｘｎ−ｋＩ（ｘ）＋Ｓ（ｘ）＝Ｑ（ｘ）Ｇ（ｘ）
ここで、ｘｎ−ｋＩ（ｘ）は、ｋビットの情報データＩ（ｘ）を（ｎ−ｋ）ビットだけＭＳＢ（ｍｏｓｔ  ｓｉｇｎｉｆｉｃａｎｔ  ｂｉｔ）方向にシフトさせた値であり、％  Ｇ（ｘ）は、モジュロ（ｍｏｄｕｌｏ）−Ｇ（ｘ）演算を意味し、Ｑ（ｘ）は、Ｃ（ｘ）をＧ（ｘ）で割った商である。
【００３９】
本実施形態では、ＥＣＣエンコーダ４２０が５−ビットＥＣＣエンコーダであり、ＥＣＣデコーダ５３０は、５−ビットＥＣＣ／４−ビットＥＣＣデコーダであると仮定する。すなわち、ｈは５であり、ｊは１である場合を仮定する。この場合、（ｎ−ｋ）は６６であり、Ｇ（ｘ）は６６次多項式、Ｓ（ｘ）は６５次多項式である。
【００４０】
ｎビット符号データは、メモリコア３１０に入力される。メモリコア３１０のセルアレイ領域は、情報データを保存するための領域と、シンドロームデータを保存するための領域に区分されることもある。または、情報データ領域とシンドロームデータ領域とを区分せず、ｎビット符号データがメモリセルアレイに保存されることもある。
【００４１】
メモリコア３１０に保存された符号データが外部に出力される場合には、メモリコア３１０からｋビット情報データ及び（ｎ−ｋ）ビットパリティデータを含むｎビット符号データが読出されてＥＣＣラッパ４１０に入力される。このとき、ＥＣＣラッパ４１０は、ｎビット符号データをバッファリングする役割を果す。
【００４２】
ＥＣＣデコーダ５３０は、ＥＣＣラッパ４１０に連結される第１ないし第５部分シンドローム生成器（ｐａｒｔｉａｌ  ｓｙｎｄｒｏｍｅ  ｇｅｎｅｒａｔｏｒ）４３１、４３３、４３５、４３７、４３９、第１ないし第５部分シンドローム生成器４３１、４３３、４３５、４３７、４３９に連結される係数計算器５４１、係数計算器５４１に連結されるモード設定部５５１、係数計算器５４１に連結されるエラー位置検出器５５２、モード設定部５５１とエラー位置検出器５５２に連結されるエラー訂正器４４３とを備える。
【００４３】
ＥＣＣデコーダ５３０は、また図７に図示されたように、ＥＣＣラッパ４１０とエラー訂正器４４３に連結されるパリティチェッカ４４４とをさらに備えることができる。パリティチェッカ４４４は、偶数パリティチェッカ（ｅｖｅｎ  ｐａｒｉｔｙ  ｃｈｅｃｋｅｒ）であり、奇数パリティチェッカ（ｏｄｄ  ｐａｒｉｔｙ  ｃｈｅｃｋｅｒ）であり得る。ＥＣＣデコーダ５３０がパリティチェッカ４４４を備える場合には、ＥＣＣエンコーダ４２０は、符号データに対する偶数パリティビット（ｅｖｅｎ  ｐａｒｉｔｙ  ｂｉｔ）あるいは奇数パリティビット（ｏｄｄ  ｐａｒｉｔｙ  ｂｉｔ）（以下、第１パリティビットと称する）を生成させるパリティビット生成器（図示せず）をさらに備える。パリティチェッカ４４４は、メモリコア３１０から読出される符号データに対して偶数パリティビットあるいは奇数パリティビット（以下、第２パリティビットと称する）を生成させて第１パリティビットと比べることによって、符号データにエラーが発生したか否かを判断できる。
【００４４】
第１ないし第５部分シンドローム生成器４３１、４３３、４３５、４３７、４３９は、メモリコア３１０から出力されたｎビット符号データをそれぞれ自身の特定データに分けて部分シンドロームＳ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９を生成させる。
メモリコア３１０から出力されたｎビット符号データをＲ（ｘ）とし、各部分シンドローム生成器４３１、４３３、４３５、４３７、４３９の特定データ、すなわち、部分生成多項式をそれぞれｍ１（ｘ）、ｍ３（ｘ）、ｍ５（ｘ）、ｍ７（ｘ）、ｍ９（ｘ）とすれば、これらデータ間の関係は、次の数式２の通りである。
【００４５】
［数式２］
Ｓ１（ｘ）＝ Ｒ（ｘ）％ ｍ１（ｘ）、
Ｓ３（ｘ）＝ f{Ｒ（ｘ）％ ｍ３（ｘ）}、
Ｓ５（ｘ）＝ f{Ｒ（ｘ）％ ｍ５（ｘ）}、
Ｓ７（ｘ）＝ f{Ｒ（ｘ）％ ｍ７（ｘ）}、
Ｓ９（ｘ）＝ f{Ｒ（ｘ）％ ｍ９（ｘ）}、
【００４６】
ここで、Ｓ１（ｘ）、Ｓ３（ｘ）、Ｓ５（ｘ）、Ｓ７（ｘ）及びＳ９（ｘ）は、それぞれ第１ないし第５部分シンドローム生成器４３１、４３３、４３５、４３７、４３９から生成される部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９であり、％は、モジュロ演算を意味する。数式２から分かるように、Ｓ１（ｘ）は、Ｒ（ｘ）％  ｍ１（ｘ）から直接的に算出されうるが、 Ｓ３（ｘ）、Ｓ５（ｘ）, Ｓ７（ｘ）及び Ｓ９（ｘ）は、それぞれＲ（ｘ）％  ｍ３（ｘ）、Ｒ（ｘ）％  ｍ５（ｘ）, Ｒ（ｘ）％  ｍ７（ｘ）及びＲ（ｘ）％  ｍ9（ｘ）を用いて算出される。
【００４７】
生成多項式Ｇ（ｘ）と第１ないし第５部分シンドローム生成器４３１、４３３、４３５、４３７、４３９の部分生成多項式 ｍ１（ｘ）、ｍ３（ｘ）、ｍ５（ｘ）、ｍ７（ｘ）、ｍ９（ｘ）の関係は、次の数式３のように決定されうる。
【００４８】
［数式３］
Ｇ（ｘ）＝ｍ１（ｘ）* ｍ３（ｘ）* ｍ５（ｘ）* ｍ７（ｘ）* ｍ９（ｘ）
ここで、＊は、ガロア体乗算を意味する。
【００４９】
第１ないし第５部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９がすべて０であれば、符号データにエラーがないことである。そうではない場合、すなわち、第１ないし第５部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９のうち何れか一つでも０ではなければ、符号データのうち少なくとも一つのビットにエラーが発生したことを意味する。
【００５０】
エラーが発生した場合には、係数計算器（ｃｏｅｆｆｉｃｉｅｎｔ  ｃａｌｃｕｌａｔｏｒ）５４１は、モード設定部５５１の制御信号ＣＯＮに応答して第１ないし第５部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９の全部あるいは一部を用いてエラー位置方程式の係数を算出する。
【００５１】
モード設定部５５１は、ホストから受信される動作モード信号ＭＯＤＥに応答して動作モードを設定して制御信号ＣＯＮを発生させる。例えば、設定された動作モードが第１動作モードである場合、係数計算器５４１は、第１ないし第５部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９を用いて第１エラー位置方程式の係数を算出する。
設定された動作モードが第２動作モードである場合、係数計算器５４１は、第１ないし第４部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７を用いて第２エラー位置方程式の係数を算出する。
【００５２】
エラー位置方程式は、エラービットの逆数を根とする方程式である。
エラー位置方程式の係数σ１、σ２、σ３、σ４  、σ５と部分シンドローム Ｓ１、Ｓ３、Ｓ５、Ｓ７、Ｓ９との関係は、多様なアルゴリズムを通じて求めることができ、次の数式４ないし数式５は、その求められた関係式の一例を表わしたものである。
先ず、１ビットエラー訂正のためのエラー位置方程式の一例は、次の数式４の通りである。
【００５３】
［数式４］
σ１ｘ＋１＝０
ここで、σ１＝Ｓ１であり、数式４の１次方程式を満足する根の逆数が１ビットエラー位置を表わす。
２ビットエラー訂正のためのエラー位置方程式の一例は、次の数式５の通りである。
【００５４】
［数式５］
σ２ｘ２＋σ１ｘ＋１＝０
ここで、σ１＝Ｓ１、σ２＝（Ｓ１３＋Ｓ３）／Ｓ１であり、数式５の２次方程式を満足する根の逆数が２ビットエラー位置を表わす。
３ビット以上のエラー訂正の場合にも、前述したところと同様にエラー位置方程式の係数を算出することができる。
【００５５】
本実施形態では、係数計算器５４１は、第１動作モードでは、最大５ビットエラーを訂正できる第１エラー位置方程式による係数σ１、σ２、σ３、σ４、σ５を算出し、第２動作モードでは、最大４ビットエラーを訂正できる第２エラー位置方程式による係数σ１、σ２、σ３、σ４を算出する。
【００５６】
エラー位置検出器５５２は、係数計算器５４１から算出された係数σ１、σ２、σ３、σ４またはσ１、σ２、σ３、σ４、σ５を用いて、エラービットの位置を検出する。エラー位置はエラー位置方程式の根を求めれば分かるので、各エラーの個数によってｉ（例えば、ｉ＝１、２、３、４、または５）次エラー位置方程式を解かなければならない。４次あるいは５次エラー位置方程式の一般解を求めることは難しいので、チェンサーチ（Ｃｈｉｅｎ  Ｓｅａｒｃｈ）アルゴリズムが多項式の根（ｒｏｏｔ）を求めるために使われうる。チェンサーチアルゴリズムは、その根が原始元素の冪（ｐｏｗｅｒ  ｏｆ  ｐｒｉｍｉｔｉｖｅ  ｅｌｅｍｅｎｔ）であるという事実を利用する。テスト根は、ｊ＝０ないしｊ＝（ｎ−１）の範囲に対してα−ｊと表現される。すなわち、α−０，α−１，α−２，α−３，…，α−（ｎ−１）と表現される。α−ｊがエラー位置方程式を満足すれば、０であればｊ番目のビットにエラーがあると判断される。この過程は、ｎの大きさの各コードに対してなされうる。すなわち、各コードに対してｊを０からｎ−１までｎ回変更して反復的にエラー位置方程式に代入して方程式を満足するか否かを検査する。
【００５７】
エラー訂正器４４３は、エラー位置検出器５５２の検出結果（エラー位置）に基づいてエラービットを訂正する。エラー訂正器４４３は、エラー位置検出器５５２から出力されたエラー位置情報に基づいて符号データ（あるいは、情報データ）のうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。このとき、エラー訂正器４４３は、エラー有無及びエラー位置のより正確な判断のために、パリティチェッカ４４４の出力信号及びモード設定部５５１の出力信号を参照できる。
エラー訂正器４４３によってエラー訂正されたデータは、ホストインターフェース及びロジック部３３０を介してホスト２００に提供される。
【００５８】
半導体メモリ装置５００の一般的な動作環境では、９０％以上のエラーが１ビットエラーであり、残りが２ビット以上のエラーであることが実験的に分かっている。したがって、正常動作状態では、複数のビット（例えば、６−ビット）以上のエラーが発生する確率が極めて低いので、５−ビットエラー訂正回路による誤り訂正は、ほとんど発生しない。したがって、このような正常動作状態では、ホスト２００は、半導体メモリ装置５００を第１動作モードで動作させるための動作モード信号ＭＯＤＥを発生しうる、第１動作モードでは、図１ないし図３に図示された従来の‘５−ｂｉｔ  ＥＤＣ／４−ｂｉｔ  ＥＣＣ＋ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）−１６’のエラー訂正回路より少ないハードウェアの使用でも５−ビットエラー訂正が可能であるのでより効率的である。
【００５９】
一方、半導体メモリ装置５００の劣化や電源不良（ｐｏｗｅｒ  ｆａｉｌｕｒｅ）のような非正常的な終了による大量のエラーの発生する確率が意味あるレベルに大きくなる場合、５−ビットエラー訂正能力による誤り訂正確率も大きくなる。このように非正常的な動作環境では、ホスト２００は、半導体メモリ装置５００を第２動作モードで動作させるための動作モード信号ＭＯＤＥを発生しうる。第２動作モードでは、５−ビットエラー訂正はディセーブルされて４−ビットエラー訂正のみ実行される。
【００６０】
したがって、第２動作モードでは、前述した本発明の一実施形態と同様に、本発明の他の一実施形態によるエラー訂正回路４２０、５３０もエンコーディング時は、ｈ−ビット（例えば、５−ビット）ＥＣＣ生成多項式を使ってエンコーディングを実行するので、コード間の距離、すなわち、ハミング距離が大きくなった一方、デコーディングを通じるエラー訂正は、ｈビットより少ないビット（例えば、４−ビット）までのみ実行するので、エラー訂正半径は減る。したがって、誤り訂正が発生する確率も減る。
【００６１】
したがって、本発明を利用すれば、従来の‘５−ｂｉｔ  ＥＤＣ／４−ｂｉｔ  ＥＣＣ＋ＣＲＣ−１６’エラー訂正回路に比べて少ないハードウェアを使ってでも同じエラー訂正能力と同様のレベルの誤り訂正確率を有するので、より効率的なＥＣＣが可能である。その上に、図１ないし図３に図示された従来の‘５−ｂｉｔ  ＥＤＣ／４−ｂｉｔＥＣＣ＋ＣＲＣ−１６’のエラー訂正回路は、リダンダンシデータ（ＣＲＣ  ｐａｒｉｔｙ＋ＥＣＣ  ｐａｒｉｔｙ）が６９ビット（ＣＲＣパリティ１６ビット＋ＥＣＣパリティ５３ビット）であるのに比べて、本発明の実施形態によるエラー訂正回路は、類似している条件でリダンダンシデータが６６ビットであって、従来より少ない。
【００６２】
図８は、本発明の他の一実施形態による半導体メモリ装置の詳細ブロック図である。
半導体メモリ装置３００は、メモリコア３１０、メモリコア３１０に接続されたＥＣＣ回路３２０、ホストインターフェース及びロジック部３３０とを備える。
ＥＣＣ回路３２０は、ＥＣＣラッパ４１０、ＥＣＣエンコーダ４２０及びＥＣＣデコーダ４３０とを備える。メモリコア３１０、ホストインターフェース及びロジック部３３０、ＥＣＣラッパ４１０及びＥＣＣエンコーダ４２０は、図７を参照して前述したところと同一なので、これについての詳細な説明は省略する。
【００６３】
ＥＣＣデコーダ４３０は、第１ないし第４部分シンドローム生成器４３１、４３３、４３５、４３７、第１ないし第４部分シンドローム生成器４３１、４３３、４３５、４３７に連結される係数計算器４４１、係数計算器４４１に連結されるエラー位置検出器４５２及びエラー位置検出器４５２に連結されるエラー訂正器４４３を備える。図７に図示されたＥＣＣデコーダ５３０と比べると、ＥＣＣデコーダ４３０は、４ビットＥＣＣデコーダとして動作するので、第５部分シンドローム生成器４３９及びモード設定部５５１を備える必要がない。
第２動作モードでのＥＣＣデコーダ４３０の動作は、ＥＣＣデコーダ５３０の動作と類似しているので、これについての詳細な説明は省略する。
【００６４】
前述した実施形態では、エラー訂正器４４３がＥＣＣデコーダ４３０または５３０内に備えられると記述したが、ホストインターフェース及びロジック部３３０がＥＣＣデコーダ４３０または５３０から提供されたエラー位置情報に基づいて符号データのうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。または、ホストインターフェース及びロジック部３３０は、ＥＣＣデコーダ４３０または５３０から提供されたエラー位置情報をメモリコア３１０から読出されたｎビット符号データ（あるいは、ｋビット情報データのみ）とともにホスト２００に伝送できる。この場合、エラー訂正は、ホスト２００でなされうる。すなわち、ホスト２００が、ＥＣＣデコーダ４３０または５３０から提供されたエラー位置情報に基づいて符号データ（あるいは、情報データ）のうちエラーが発生したビットのロジック値を反転させてエラーを訂正できる。
【００６５】
本発明は、図面に図示された実施形態を参考にして説明されたが、これは例示的なものに過ぎず、当業者ならば、これより多様な変形及び均等な他実施形態が可能であるという点を理解できるであろう。したがって、本発明の真の保護範囲は、特許請求の範囲によって決まるべきである。
【産業上の利用可能性】
【００６６】
本発明は、誤り訂正確率を減らすエラー訂正回路、その方法及び前記回路を備える半導体メモリ装置関連の技術分野に適用可能である。
【図面の簡単な説明】
【００６７】
【図１】通常のエンコーダの機能ブロック図である。
【図２】通常の符号データの構造を表わす図である。
【図３】通常のデコーダの機能ブロック図である。
【図４】本発明の一実施形態による半導体メモリ装置の概略的な構成ブロック図である。
【図５】本発明の他の一実施形態による半導体メモリ装置の概略的な構成ブロック図である。
【図６】本発明の実施形態によるエンコーディング前のデータとエンコーディングされたデータとの一例を表わす図である。
【図７】図５に図示された半導体メモリ装置の詳細なブロック図である。
【図８】図４に図示された半導体メモリ装置の詳細なブロック図である。
【図９】本発明の実施形態によるＥＣＣエンコーダの一具現例を表わす機能ブロック図である。
【符号の説明】
【００６８】
２００：ホスト
３００、５００：半導体メモリ装置
３１０：メモリコア
３２０、４２０、４３０、５２０：ＥＣＣ回路
３３０：ホストインターフェース及びロジック部
４１０：ＥＣＣラッパ
４２０：ＥＣＣエンコーダ
４２１：シンドローム生成器
４２３：ＸＯＲ演算器
４３０、５３０：ＥＣＣデコーダ
４３１、４３３、４３５、４３７、４３９：第１ないし第５部分シンドローム生成器
４４１、５４１：係数計算器
４４３：エラー訂正器
４４４：パリティチェッカ
４５２、５５２：エラー位置検出器
４５２：マルチビットエラー位置検出器
５５１：モード設定部
【図１】
2008165808.tif 000004
【図２】
2008165808.tif 000005
【図３】
2008165808.tif 000006
【図４】
2008165808.tif 000007
【図５】
2008165808.tif 000008
【図６】
2008165808.tif 000009
【図７】
2008165808.tif 000010
【図８】
2008165808.tif 000011
【図９】
2008165808.tif 000012