(57)【特許請求の範囲】
【請求項１】
メモリ装置を制御するメモリシステムのコントローラにおいて、
前記コントローラによって受信された読出しベクトルのエラー位置多項式を演算するキー公式解き方部と、
前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも１つにしたがって、前記受信された読出しベクトルのエラー数を測定する制御部と、
前記演算されたエラー位置多項式にしたがって、前記受信された読出しベクトルのエラー位置を検索するチェン検索部と、を含み、
測定された前記エラー数が所定の条件を満たした場合に前記チェン検索部において同時に検索する読出しベクトルのビット数を読出しベクトルの全ビット数より少なくすることにより、前記制御部は前記チェン検索部のサイクル当たり電力消耗を調節するコントローラ。
【請求項２】
前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置で前記受信された読出しベクトルのエラーを訂正するエラー訂正部をさらに含む請求項１に記載のコントローラ。
【請求項３】
前記制御部は前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって前記受信された読出しベクトルで一回に検索されるビット数を調節することによって、前記チェン検索部の前記サイクル当たり電力消耗を調節する請求項１に記載のコントローラ。
【請求項４】
前記エラー数が予め設定された第１エラー数と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数をフル検索モードに同時に検索するように前記チェン検索部を制御する請求項３に記載のコントローラ。
【請求項５】
前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する請求項４に記載のコントローラ。
【請求項６】
前記ハーフ検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記フル検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない請求項５に記載のコントローラ。
【請求項７】
前記エラー数が前記予め設定された第２エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する請求項５に記載のコントローラ。
【請求項８】
前記クォーター検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない請求項７に記載のコントローラ。
【請求項９】
前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記チェン検索部を制御する請求項１に記載のコントローラ。
【請求項１０】
前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分とパリティー部分とでチェン検索を実行するように前記チェン検索部を制御する請求項１に記載のコントローラ。
【請求項１１】
前記制御部は前記受信された読出しベクトルの前記エラー数にしたがって前記チェン検索部の最大訂正時間を調節する請求項１に記載のコントローラ。
【請求項１２】
前記エラー数が予め設定された第１エラー数より小さい時、前記制御部は前記チェン検索部の前記最大訂正時間を予め設定された第１解き方時間に調節する請求項１１に記載のコントローラ。
【請求項１３】
前記エラー数が前記予め設定された第１エラー数より小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分のビット数を同時に検索するフル検索モードに動作するように前記チェン検索部を制御する請求項１２に記載のコントローラ。
【請求項１４】
前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、前記制御部はフル検索モードで同時に検索される前記受信された読出しベクトルのビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する請求項１２に記載のコントローラ。
【請求項１５】
前記エラー数が前記予め設定された第２エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する請求項１４に記載のコントローラ。
【請求項１６】
前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記チェン検索部の前記最大訂正時間を調節する請求項１１に記載のコントローラ。
【請求項１７】
メモリ装置を含むメモリシステムを制御する方法において、
前記メモリシステムのキー公式解き方部を利用して受信された読出しベクトルでエラー位置多項式を演算する段階と、
前記メモリシステムの制御部を利用して前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも１つにしたがって前記受信された読出しベクトルのエラー数を測定する段階と、
前記メモリシステムのチェン検索部を利用して前記演算されたエラー位置多項式にしたがって前記受信された読出しベクトルのエラー位置を検索する段階と、
前記制御部を利用して、測定された前記エラー数が所定の条件を満たした場合に前記チェン検索部において同時に検索する読出しベクトルのビット数を読出しベクトルの全ビット数より少なくすることにより、前記チェン検索部のサイクル当たり電力消耗を調節する段階と、を含む方法。
【請求項１８】
前記キー公式解き方部によって、演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置でエラー訂正部を利用して前記受信された読出しベクトルのエラーを訂正する段階をさらに含む請求項１７に記載の方法。
【請求項１９】
前記チェン検索部の前記サイクル当たり電力消耗を調節する段階は、
前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって、前記制御部を利用して前記受信された読出しベクトルで同時に検索されるビット数を調節する段階を含む請求項１７に記載の方法。
【請求項２０】
前記エラー数が予め設定された第１エラー数と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む請求項１９に記載の方法。
【請求項２１】
前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む請求項２０に記載の方法。
【請求項２２】
前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗は前記フル検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない請求項２１に記載の方法。
【請求項２３】
前記エラー数が前記予め設定された第２エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む請求項２１に記載の方法。
【請求項２４】
前記クォーター検索モードの前記チェン検索部のサイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない請求項２３に記載の方法。
【請求項２５】
前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む請求項１７に記載の方法。
【請求項２６】
前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む請求項１７に記載の方法。
【請求項２７】
前記受信された読出しベクトルの前記エラー数にしたがって、前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む請求項１７に記載の方法。
【請求項２８】
前記エラー数が予め設定された第１エラー数より小さい時、前記制御部を利用して前記チェン検索部の最大訂正時間を予め設定された第１解き方時間に調節する段階をさらに含む請求項２７に記載の方法。
【請求項２９】
前記エラー数が前記予め設定された第１エラー数より小さい時、前記受信された読出しベクトルの少なくともデータ部分のビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む請求項２８に記載の方法。
【請求項３０】
前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分のビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む請求項２８に記載の方法。
【請求項３１】
前記エラー数が前記予め設定された第２エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の１／４を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む請求項３０に記載の方法。
【請求項３２】
前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む請求項２７に記載の方法。
【請求項３３】
少なくとも１つのメモリ装置と少なくとも１つのチャンネルを通じて連結されたコントローラを有するメモリシステムを制御する方法において、
前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する段階と、
前記エラー数及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも１つを調節する段階と、を含み、
測定された前記エラー数が所定の条件を満たした場合に前記チェン検索部において同時に検索する読出しベクトルのビット数を読出しベクトルの全ビット数より少なくする、方法。
【請求項３４】
少なくとも１つのメモリ装置と少なくとも１つのチャンネルを通じて連結されたコントローラを有するメモリシステムのコントローラにおいて、
前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する前記コントローラのエラー訂正コードデコーダーと、
前記エラー数及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも１つを調節する前記エラー訂正コードデコーダーの制御部と、を含み、
測定された前記エラー数が所定の条件を満たした場合に前記チェン検索部において同時に検索する読出しベクトルのビット数を読出しベクトルの全ビット数より少なくする、コントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリコントローラ及びメモリコントローラの動作方法に関する。
【背景技術】
【０００２】
半導体メモリ装置（ｓｅｍｉｃｏｎｄｕｃｔｏｒ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）はシリコン（Ｓｉ、ｓｉｌｉｃｏｎ）、ゲルマニウム（Ｇｅ、Ｇｅｒｍａｎｉｕｍ）、ガリウムヒ素（ＧａＡｓ、ｇａｌｌｉｕｍ  ａｒｓｅｎｉｄｅ）、リン化インジウム（ＩｎＰ、ｉｎｄｉｕｍ  ｐｈｏｓｐｉｄｅ）等のような半導体を利用して具現される記憶装置である。半導体メモリ装置は大きく揮発性メモリ装置（Ｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）と不揮発性メモリ装置（Ｎｏｎｖｏｌａｔｉｌｅ  ｍｅｍｏｒｙ  ｄｅｖｉｃｅ）とに区分される。
【０００３】
揮発性メモリ装置は電源供給が遮断されれば、格納しているデータが消滅されるメモリ装置である。揮発性メモリ装置にはＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）等がある。不揮発性メモリ装置は電源供給が遮断されても格納しているデータを維持するメモリ装置である。不揮発性メモリ装置にはＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ装置、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦＲＡＭ（登録商標）（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）等がある。フラッシュメモリ装置は大きくＮＯＲタイプとＮＡＮＤタイプとに区分される。
【０００４】
半導体メモリ装置の格納容量を増加させるための方法として、半導体メモリ装置の集積度を向上させる方法とマルチデータを１つのメモリセルにプログラムする方法とが研究されている。半導体メモリ装置の集積度は工程の微細化を通じて具現され得る。１つのメモリセルにマルチデータをプログラムする方法はメモリセルに格納された論理値の散布を減少させることによって具現され得る。マルチデータを格納するメモリセルはマルチレベルセル（ＭＬＣ、Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）と称される。
【０００５】
向上された集積度及びマルチレベルセルの導入はエラー率の増加を発生させ得る。向上された集積度はメモリセルに格納されたデータがノイズに脆弱になり得る。マルチレベルセルは読出しマージンの減少を生じさせる。エラー率が増加することによって、メモリコントローラに具備されたエラー訂正機能が拡大されている。エラー訂正機能の拡大は電力消耗の増加を生じさせる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国特許公開第１０−２００９−００２１７４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は減少された電力消耗を有するメモリコントローラ及びメモリコントローラの動作方法を提供することにある。
【課題を解決するための手段】
【０００８】
メモリ装置を制御する本発明の実施形態によるメモリシステムのコントローラは、前記コントローラによって受信された読出しベクトルのエラー位置多項式を演算するキー公式解き方部と、前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも１つにしたがって、前記受信された読出しベクトルのエラー数を測定する制御部と、前記演算されたエラー位置多項式にしたがって、前記受信された読出しベクトルのエラー位置を検索するチェン検索部と、を含む。
【０００９】
実施形態として、前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置で前記受信された読出しベクトルのエラーを訂正するエラー訂正部をさらに含む。
【００１０】
実施形態として、前記制御部は前記チェン検索部のサイクル当たり電力消耗を調節する。
【００１１】
実施形態として、前記制御部は前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって前記受信された読出しベクトルで一回に検索されるビット数を調節することによって前記チェン検索部の前記サイクル当たり電力消耗を調節する。
【００１２】
実施形態として、前記エラー数が予め設定された第１エラー数と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数をフル検索モードに同時に検索するように前記チェン検索部を制御する。
【００１３】
実施形態として、前記エラー数が前記予め設定された第１エラー数より大きくて、予め設定された第２エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する。
【００１４】
実施形態として、前記ハーフ検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記フル検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない。
【００１５】
実施形態として、前記エラー数が前記予め設定された第２エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する。
【００１６】
実施形態として、前記クォーター検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない。
【００１７】
実施形態として、前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記チェン検索部を制御する。
【００１８】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分とパリティー部分でチェン検索を実行するように前記チェン検索部を制御する。
【００１９】
実施形態として、前記制御部は前記受信された読出しベクトルの前記エラー数にしたがって前記チェン検索部の最大訂正時間を調節する。
【００２０】
実施形態として、前記エラー数が予め設定された第１エラー数より小さい時、前記制御部は前記チェン検索部の前記最大訂正時間を予め設定された第１解き方時間に調節する。
【００２１】
実施形態として、前記エラー数が前記予め設定された第１エラー数より小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに動作するように前記チェン検索部を制御する。
【００２２】
実施形態として、前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する。
【００２３】
実施形態として、前記エラー数が前記予め設定された第２エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する。
【００２４】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記チェン検索部の前記最大訂正時間を調節する。
【００２５】
メモリ装置を含む本発明の実施形態によるメモリシステムを制御する方法は、前記メモリシステムのキー公式解き方部を利用して受信された読出しベクトルでエラー位置多項式を演算する段階と、前記メモリシステムの制御部を利用して前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも１つにしたがって前記受信された読出しベクトルのエラー数を測定する段階と、前記メモリシステムのチェン検索部を利用して前記演算されたエラー位置多項式にしたがって前記受信された読出しベクトルのエラー位置を検索する段階と、を含む。
【００２６】
実施形態として、前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置でエラー訂正部を利用して前記受信された読出しベクトルのエラーを訂正する段階をさらに含む。
【００２７】
実施形態として、前記制御部を利用して前記チェン検索部のサイクル当たり電力消耗を調節する段階をさらに含む。
【００２８】
実施形態として、前記チェン検索部の前記サイクル当たり電力消耗を調節する段階は、前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって、前記制御部を利用して前記受信された読出しベクトルで同時に検索されるビット数を調節する段階を含む。
【００２９】
実施形態として、前記エラー数が予め設定された第１エラー数と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００３０】
実施形態として、前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００３１】
実施形態として、前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗は前記フル検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない。
【００３２】
実施形態として、前記エラー数が前記予め設定された第２エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の１／４を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００３３】
実施形態として、前記クォーター検索モードの前記チェン検索部のサイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない。
【００３４】
実施形態として、前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む。
【００３５】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む。
【００３６】
実施形態として、前記受信された読出しベクトルの前記エラー数にしたがって、前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む。
【００３７】
実施形態として、前記エラー数が予め設定された第１エラー数より小さい時、前記制御部を利用して前記チェン検索部の最大訂正時間を予め設定された第１解き方時間に調節する段階をさらに含む。
【００３８】
実施形態として、前記エラー数が前記予め設定された第１エラー数より小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００３９】
実施形態として、前記エラー数が前記予め設定された第１エラー数より大きくて予め設定された第２エラー数より小さい時、フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００４０】
実施形態として、前記エラー数が前記予め設定された第２エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の１／４を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む。
【００４１】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む。
【００４２】
少なくとも１つのメモリ装置と少なくとも１つのチャンネルを通じて連結されたコントローラを有する本発明の実施形態によるメモリシステムを制御する方法は、前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する段階と、前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも１つを調節する段階と、を含む。
【００４３】
少なくとも１つのメモリ装置と少なくとも１つのチャンネルを通じて連結されたコントローラを有する本発明の実施形態によるメモリシステムのコントローラは、前記コントローラを利用して、受信された読出しベクトルのエラー数及びエラー位置情報を判別する前記コントローラのエラー訂正コードデコーダーと、前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも１つを調節する前記エラー訂正コードデコーダーの制御部と、を含む。
【発明の効果】
【００４４】
本発明によれば、読出しベクトルのエラー数が測定され、測定されたエラー数にしたがってエラー訂正デコーダーの電力消耗が調節される。したがって、減少された電力消耗を有するメモリコントローラ及びメモリコントローラの動作方法が提供される。
【図面の簡単な説明】
【００４５】
【図１】本発明の実施形態によるメモリシステムを示すブロック図である。
【図２】図１のコントローラの動作方法の第１実施形態を示す順序図である。
【図３】図２の書込みデータベクトルをエンコーディングする段階を示す順序図である。
【図４】コードベクトルの実施形態を示す。
【図５】図２のサイクル当たり電力消耗を調節し、読出しベクトルをデコーディングする段階を示す順序図である。
【図６】図１のエラー訂正デコーダーを示すブロック図である。
【図７】本発明の実施形態によるシンドローム演算方法を示す順序図である。
【図８】本発明の実施形態によるエラー位置多項式の演算方法を示す順序図である。
【図９】本発明の実施形態によるチェン検索方法を示す順序図である。
【図１０】図６のチェン検索部の実施形態を示す。
【図１１】フル動作モード、ハーフ動作モード、及びクォーター動作モードの時に実行されるチェン検索の実施形態を示す。
【図１２】本発明の実施形態によるチェン検索動作モードを決定する方法を示す順序図である。
【図１３】本発明の実施形態によるチェン検索の時にパリティー検索の可否を決定する方法を示す順序図である。
【図１４】読出しベクトルのパリティー部分に対するチェン検索が省略される時の実施形態を示す。
【図１５Ａ】エラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。
【図１５Ｂ】エラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。
【図１６】本発明の第１実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。
【図１７】本発明の第２実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。
【図１８】図１のコントローラの動作方法の第２実施形態を示す順序図である。
【図１９】図１８の最大訂正時間を調節し、読出しベクトルをデコーディングする段階を示す順序図である。
【図２０】図１のメモリシステムの応用例を示すブロック図である。
【図２１】図２０を参照して説明されたメモリシステムを含むコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【００４６】
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できる程度に詳細に説明するために、本発明の実施形態を添付されたの図面を参照して説明する。
【００４７】
図１は本発明の実施形態によるメモリシステム１０００を示すブロック図である。図１を参照すれば、メモリシステム１０００はメモリ装置１００及びコントローラ２００を含む。
【００４８】
メモリ装置１００はコントローラ２００の制御にしたがって動作するように構成される。メモリ装置１００はコントローラ２００から受信されたコードベクトルＣＶを格納できる。メモリ装置１００は格納されたベクトルを読み出して読出しベクトルＲＶとしてコントローラ２００へ出力することができる。メモリ装置１００は格納されたベクトルを削除できる。メモリ装置１００はＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）、ＳＤＲＡＭ（Ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）等のような揮発性メモリ、又はＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、ＰＲＡＭ（Ｐｈａｓｅ−ｃｈａｎｇｅ  ＲＡＭ）、ＭＲＡＭ（Ｍａｇｎｅｔｉｃ  ＲＡＭ）、ＲＲＡＭ（登録商標）（Ｒｅｓｉｓｔｉｖｅ  ＲＡＭ）、ＦＲＡＭ（登録商標）（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  ＲＡＭ）のような不揮発性メモリを包含できる。
【００４９】
コントローラ２００はメモリ装置１００に連結される。即ち、コントローラ２００はメモリ装置１００と無線又は有線リンクを通じて連結され得る。ホスト１０からの要請に応答してコントローラ２００はメモリ装置１００をアクセスするように構成される。ホスト１０はコントローラと通信でき、プロセッサー、コンピューターでプログラム可能である論理装置、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、集積回路、携帯用メディアプレーヤー、セットトップボックス、サーバー、携帯電話、個人用デジタル装置、又は以外の本発明の技術的思想を具現する何らかの形態のホストであり得る。コントローラ２００はエラー訂正エンコーダー３００及びエラー訂正デコーダー４００を含む。
【００５０】
エラー訂正エンコーダー３００はホスト１０から書込みデータベクトルＷＤＶを受信し、受信された書込みデータベクトルをコードベクトルＣＶにエンコーディングするように構成される。コードベクトルＣＶはメモリ装置１００へ伝送され得る。エラー訂正デコーダー４００はメモリ装置１００から読出しベクトルＲＶを受信するように構成される。エラー訂正デコーダー４００は読出しベクトルＲＶのエラーを訂正できる。エラー訂正デコーダー４００はエラー訂正された読出しベクトルからエラー訂正されたデータベクトルＣＤＶを取出し、取出されたエラー訂正されたデータベクトルＣＤＶをホスト１０へ伝送することができる。
【００５１】
コントローラ２００は多様な通信規格によってホスト１０と通信できる。例えば、コントローラ２００はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＭＭＣ（ｍｕｌｔｉｍｅｄｉａ  ｃａｒｄ）、ＰＣＩ（ｐｅｒｉｐｈｅｒａｌ  ｃｏｍｐｏｎｅｎｔ  ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）、ＰＣＩ−Ｅ（ＰＣＩ−ｅｘｐｒｅｓｓ）、ＡＴＡ（Ａｄｖａｎｃｅｄ  Ｔｅｃｈｎｏｌｏｇｙ  Ａｔｔａｃｈｍｅｎｔ）、Ｓｅｒｉａｌ−ＡＴＡ、Ｐａｒａｌｌｅｌ−ＡＴＡ、ＳＣＳＩ（ｓｍａｌｌ  ｃｏｍｐｕｔｅｒ  ｓｍａｌｌ  ｉｎｔｅｒｆａｃｅ）、ＥＳＤＩ（ｅｎｈａｎｃｅｄ  ｓｍａｌｌ  ｄｉｓｋ  ｉｎｔｅｒｆａｃｅ）、そしてＩＤＥ（Ｉｎｔｅｇｒａｔｅｄ  Ｄｒｉｖｅ  Ｅｌｅｃｔｒｏｎｉｃｓ）、ファイアーワイヤ（Ｆｉｒｅｗｉｒｅ）等のような多様な通信規格の中で少なくとも１つに基づいてホスト１０と通信できる。
【００５２】
コントローラ２００及びメモリ装置１００は１つの半導体装置として集積され得る。例示的に、コントローラ２００及びメモリ装置１００は１つの半導体装置に集積されてソリッドステートドライブ（ＳＳＤ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）を構成することができる。コントローラ２００及びメモリ装置１００は１つの半導体装置に集積されてメモリカードを構成することができる。例えば、コントローラ２００及びメモリ装置１００は１つの半導体装置に集積されてＰＣカード（ＰＣＭＣＩＡ、ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ  ｍｅｍｏｒｙ  ｃａｒｄ  ｉｎｔｅｒｎａｔｉｏｎａｌ  ａｓｓｏｃｉａｔｉｏｎ）、コンパクトフラッシュ（登録商標）カード（ＣＦ）、スマトメディアカード（ＳＭ、ＳＭＣ）、メモリスティック、マルチメディアカード（ＭＭＣ、ＲＳ−ＭＭＣ、ＭＭＣｍｉｃｒｏ）、ＳＤカード（ＳＤ、ｍｉｎｉＳＤ、ｍｉｃｒｏＳＤ、ＳＤＨＣ）、ユニバーサルフラッシュ記憶装置（ＵＦＳ）等のようなメモリカードを構成することができる。
【００５３】
他の例として、メモリシステム１０００はコンピューター、ＵＭＰＣ（Ｕｌｔｒａ  Ｍｏｂｉｌｅ  ＰＣ）、ワークステーション、ネットブック（ｎｅｔ−ｂｏｏｋ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、ポータブル（ｐｏｒｔａｂｌｅ）コンピューター、ウェブタブレット（ｗｅｂ  ｔａｂｌｅｔ）、タブレットコンピューター（ｔａｂｌｅｔ  ｃｏｍｐｕｔｅｒ）、無線電話機（ｗｉｒｅｌｅｓｓ  ｐｈｏｎｅ）、モバイルフォン（ｍｏｂｉｌｅ  ｐｈｏｎｅ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、ｅ−ブック（ｅ−ｂｏｏｋ）、ＰＭＰ（ｐｏｒｔａｂｌｅ  ｍｕｌｔｉｍｅｄｉａ  ｐｌａｙｅｒ）、携帯用ゲーム機、ナビゲーション（ｎａｖｉｇａｔｉｏｎ）装置、ブラックボックス（ｂｌａｃｋ  ｂｏｘ）、デジタルカメラ（ｄｉｇｉｔａｌ  ｃａｍｅｒａ）、ＤＭＢ（Ｄｉｇｉｔａｌ  Ｍｕｌｔｉｍｅｄｉａ  Ｂｒｏａｄｃａｓｔｉｎｇ）再生器、３次元テレビジョン（３−ｄｉｍｅｎｓｉｏｎａｌ  ｔｅｌｅｖｉｓｉｏｎ）、スマートテレビジョン（ｓｍａｒｔ  ｔｅｌｅｖｉｓｉｏｎ）、デジタル音声録音機（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｒｅｃｏｒｄｅｒ）、デジタル音声再生器（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｐｌａｙｅｒ）、デジタル映像録画器（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｒｅｃｏｒｄｅｒ）、デジタル映像再生器（ｄｉｇｉｔａｌ  ｐｉｃｔｕｒｅ  ｐｌａｙｅｒ）、デジタル動画録画器（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｒｅｃｏｒｄｅｒ）、デジタル動画再生器（ｄｉｇｉｔａｌ  ｖｉｄｅｏ  ｐｌａｙｅｒ）、データセンターを構成するストレージ、情報を無線環境で送受信できる装置、ホームネットワークを構成する多様な電子装置の中で１つ、コンピューターネットワークを構成する多様な電子装置の中で１つ、テレマティクスネットワークを構成する多様な電子装置の中で１つ、ＲＦＩＤ装置、又はコンピューティングシステムを構成する多様な構成要素の中で１つ等を構成することができる。
【００５４】
例示的に、メモリ装置１００又はメモリシステム１０００は多様な形態のパッケージに実装され得る。例えば、メモリ装置１００又はメモリシステム１０００はＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ  Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）等のような方式にパッケージ化されて実装され得る。
【００５５】
図２は図１のコントローラ２００の動作方法の第１実施形態を示す順序図である。図１及び図２を参照すれば、Ｓ１１０段階で、エラー訂正エンコーダー３００は書込みデータベクトルＷＤＶをコードベクトルＣＶにエンコーディングする。Ｓ１２０段階で、コードベクトルＣＶはメモリ装置１００に書き込まれる。
【００５６】
Ｓ１３０段階で、メモリ装置１００から読出しベクトルＲＶが読み出される。Ｓ１４０段階で、エラー訂正デコーダー４００は読出しベクトルＲＶのエラー数にしたがってサイクル当たり電力消耗を調節し、読出しベクトルＲＶのエラーを訂正する。以下で、書込みデータベクトルＷＤＶをコードベクトルＣＶにエンコーディングする段階（Ｓ１１０）と読出しベクトルＲＶのエラーを訂正する段階（Ｓ１４０）とが順に説明される。
【００５７】
図３は図２の書込みデータベクトルＷＤＶをエンコーディングする段階（Ｓ１１０）を示す順序図である。図１及び図３を参照すれば、Ｓ２１０段階でエラー訂正エンコーダー３００は書込みデータベクトルＷＤＶを受信する。例えば、書込みデータベクトルＷＤＶは外部ホスト（例えば、図１に図示されたホスト１０）から受信され得る。コントローラ２００によってメモリ装置１００から読出しベクトルＲＶが読み出され、読み出された読出しベクトルＲＶのエラーが訂正され（例えば、エラー訂正コードデコーダー４００によって）、エラー訂正された読出しベクトルからコントローラ２００によってエラー訂正されたデータベクトルＣＤＶが取出され、そして取出されたエラー訂正されたデータベクトルＣＤＶが書込みデータベクトルＷＤＶとして使用され得る。
【００５８】
Ｓ２２０段階で、エラー訂正エンコーダー３００は生成行列Ｇと書込みデータベクトルＷＤＶとを掛ける。例えば、生成行列ＧはＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）コードの生成行列Ｇであり得る。掛け算の結果はコードベクトルＣＶであり得る。
【００５９】
図４はコードベクトルＣＶ及び読出しベクトルＲＶの実施形態を示す。図４を参照すれば、コードベクトルＣＶは書込みデータベクトルＷＤＶ及びパリティーベクトルＰＶを包含できる。パリティーベクトルＰＶは循環冗長検査コードＣＲＣＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ  Ｃｏｄｅ）であり得る。読出しベクトルＲＶは読出しデータベクトルＲＤＶ及び読出しパリティーベクトルＲＰＶを包含できる。読出しデータベクトルＲＤＶは書込みデータベクトルＷＤＶがメモリ装置１００に書き込まれ、読み出された結果であり得る。読出しパリティーベクトルＲＰＶはパリティーベクトルＰＶがメモリ装置１００に書き込まれ、読み出された結果であり得る。
【００６０】
図５は図２のサイクル当たり電力消耗を調節し、読出しベクトルＲＶをデコーディングする段階（Ｓ１４０）を示す順序図である。図１及び図５を参照すれば、Ｓ３１０段階で読出しベクトルＲＶが受信される。Ｓ３２０段階で、読出しベクトルＲＶに基づいてシンドロームＳ（ｘ）が演算される。エラー訂正デコーダー４００は受信された読出しベクトルＲＶに基づいてシンドロームＳ（ｘ）を演算することができる。図７に図示され、以下で説明されるように、シンドロームＳ（ｘ）は読出しベクトルＲＶとパリティーチェック行列とを掛けることによって、演算され得る。Ｓ３３０段階で、シンドロームＳ（ｘ）が０であるか否かを判別される（例えば、エラー訂正コードデコーダー４００又はコントローラ２００によって）。シンドロームＳ（ｘ）が０であれば、読出しベクトルＲＶにエラーが存在しないことがあり得る。したがって、エラー訂正デコーダー４００はエラー訂正を終了できる。シンドロームＳ（ｘ）が０でなければ、読出しベクトルＲＶにエラーが存在することができる。シンドロームＳ（ｘ）が０でなければ、Ｓ３４０段階が遂行される。
【００６１】
Ｓ３４０段階で、読出しベクトルＲＶのエラー位置多項式Λ（ｘ）が演算される。図８に図示され、以下で説明されるように、エラー訂正デコーダー４００は演算されたシンドロームＳ（ｘ）に基づいてエラー位置多項式Λ（ｘ）を演算することができる。
【００６２】
Ｓ３５０段階で、エラー位置多項式Λ（ｘ）からエラー数が測定される。例えば、エラー訂正デコーダー４００はエラー位置多項式Λ（ｘ）の最高次項の指数に基づいて、読出しベクトルＲＶのエラー数を測定することができる。例えば、エラー位置多項式Λ（ｘ）が６４次多項式である時、測定されたエラー数は６４であり得る。
【００６３】
Ｓ３６０段階で、測定されたエラー数にしたがってサイクル当たり電力消耗が調節される。例えば、エラー訂正デコーダー４００は読出しベクトルＲＶのエラー数が増加するほど、サイクル当たり電力消耗を減少できる。例えば、エラー訂正デコーダー４００は同時に検索されるエラービット数を調節してサイクル当たり電力消耗を減少できる。図１１に図示されたように、そして以下で説明されるように、同時に検出されるエラービット数はフル動作モードではないハーフ動作モード、又はクォーター動作モードを選択することによって、調節され得る。フル動作モードと比較する時、ハーフ動作モードでサイクル当たり半分の数のビットが同時に検索され得る。同様に、フル動作モードと比較する時、クォーター動作モードでサイクル当たり１／４の数のビットが同時に検索され得る。以下で説明されるように、ハーフ動作モード又はクォーター動作モードは各々予め設定された少なくとも１つのエラー数より読出しベクトルのエラー数が増加する時、選択され得る。したがって、読出しベクトルのエラー数が予め設定された少なくとも１つの閾値より大きい時、ハーフ又はクォーター動作モードで同時に検索されるビット数はフル動作モードで同時に検索されるビット数より少ない。ハーフ又はクォーター検索モードの電力消耗はフル検索モードの電力消耗より少ない。
【００６４】
Ｓ３７０段階で、調節されたサイクル当たり電力消耗に基づいて読出しベクトルＲＶのエラーが検索され、検索されたエラーが訂正される。エラーはチェン検索部（例えば、図６に図示され、以下で説明されるチェン検索部４４０によって検索され、検索されたエラーはエラー訂正部４５０によって訂正され得る。
【００６５】
図６は図１のエラー訂正デコーダー４００を示すブロック図である。図６を参照すれば、エラー訂正デコーダー４００はバッファ４１０、シンドローム演算部４２０、キー公式（Ｋｅｙ  Ｅｑｕａｔｉｏｎ）解き方部４３０、チェン検索部４４０、エラー訂正部４５０、マルチプレクサー４６０、及び制御部４７０を含む。
【００６６】
バッファ４１０はメモリ装置１００から読み出された読出しベクトルＲＶを格納するように構成される。バッファに格納された読出しベクトルＲＶはエラー訂正部４５０及びマルチプレクサー４６０へ出力される。
【００６７】
シンドローム演算部４２０はメモリ装置１００から読み出された読出しベクトルＲＶに基づいてシンドロームＳ（ｘ）を演算するように構成される。例えば、以下で図７を参照して説明されるように、シンドローム演算部４２０は受信された読出しベクトルＲＶとパリティーチェック行列とを掛けることによって、シンドロームＳ（ｘ）を演算することができる。演算されたシンドロームＳ（ｘ）はキー公式解き方部４３０へ出力される。演算されたシンドロームＳ（ｘ）が０である時、シンドローム演算部４２０は制御部４７０へ提供される制御信号ＮＥＳを活性化することができる。
【００６８】
キー公式解き方部４３０はシンドローム演算部４２０から受信される演算されたシンドロームＳ（ｘ）に基づいてエラー位置多項式Λ（ｘ）を演算するように構成される。キー公式解き方部４３０は以下で図８を参照して説明される方法によって、エラー位置多項式Λ（ｘ）を演算することができる。演算されたエラー位置多項式Λ（ｘ）はチェン検索部４４０へ出力される。キー公式解き方部４３０はエラー位置多項式Λ（ｘ）又はエラー位置多項式Λ（ｘ）の指数に対する情報を制御部４７０へ出力することができる。例えば、エラー位置多項式Λ（ｘ）の最高次項の次数が制御部４７０へ出力され得る。
【００６９】
チェン検索部４４０は演算されたエラー位置多項式Λ（ｘ）及び制御部４７０から受信される情報に基づいて、読出しベクトルＲＶのエラー位置を検索するように構成される。例えば、チェン検索部４４０はキー公式解き方部４３０から提供される情報に基づいて演算されたエラー位置多項式Λ（ｘ）を検索することができる。検索結果は読出しベクトルＲＶのエラー位置に対応することができる。即ち、読出しベクトルＲＶのエラー位置を検索する動作はエラー位置多項式Λ（ｘ）を検索する動作及び検索結果から読出しベクトルＲＶのエラー位置を判別する動作を包含できる。即ち、読出しベクトルＲＶのエラーの位置が判別され得る。読出しベクトルＲＶのエラー位置に対する情報はエラー位置情報ＥＬＩとしてエラー訂正部４５０へ出力される。
【００７０】
エラー訂正部４５０はエラー位置情報ＥＬＩを利用してバッファ４１０に格納された読出しベクトルＲＶのエラーを訂正するように構成される。例えば、エラー訂正部４５０は読出しベクトルＲＶのビットの中でエラー位置情報ＥＬＩに対応するビットを反転できる（例えば、‘０’ビットを‘１’ビットに反転するか、或いは‘１’ビットを‘０’ビットに反転する）。エラー訂正部４５０の出力はマルチプレクサー４６０へ伝達される。
【００７１】
マルチプレクサー４６０は制御部４７０の制御にしたがって、バッファ４１０から出力されるベクトル又はエラー訂正部４５０から出力されるベクトルをエラー訂正されたデータベクトルＣＤＶとして出力することができる。制御部４７０はマルチプレクサー４６０へ選択信号ＳＥＬを提供してバッファ４１０から出力されるデータベクトル又はエラー訂正部４５０から出力されるデータベクトルの選択を制御することができる。
【００７２】
図１及び図６に図示されたように、制御部４７０はエラー訂正デコーダー４００の諸般動作を制御するように構成される。制御部４７０はシンドローム演算部４２０から制御信号ＮＥＳを受信する。制御信号ＮＥＳが活性化される時、即ち演算されたシンドロームＳ（ｘ）が０である時、制御部４７０はマルチプレクサー４６０がバッファ４１０の出力を出力するように選択信号ＳＥＬを制御することができる。演算されたシンドロームＳ（ｘ）が０ではない時、制御部４７０はマルチプレクサー４６０がエラー訂正部４５０の出力を出力するように選択信号ＳＥＬを制御することができる（例えば、バッファ４１０からの読出しベクトルを選択するか、或いはエラー訂正部４５０からのエラー訂正されたデータベクトルＣＤＶを選択する）。
【００７３】
制御部４７０はキー公式解き方部４３０から伝送されるエラー位置多項式Λ（ｘ）又はキー公式解き方部４３０から受信されるエラー位置多項式Λ（ｘ）に対する情報を利用して読出しベクトルＲＶのエラー数を測定することができる。例えば、制御部４７０はエラー位置多項式Λ（ｘ）の最高次項の指数を読出しベクトルＲＶのエラー数に識別することができる（例えば、エラー位置多項式Λ（ｘ）の最高次項の次数が６４であれば、エラー数を６４と識別する）。測定されたエラー数に基づいて、制御部４７０はチェン検索部４４０のサイクル当たり電力消耗を調節することができる。例えば、制御部４７０はエラー数が増加するほど、チェン検索部４４０のサイクル当たり電力消耗を減少できる。例示的に、制御部４７０はチェン検索部４４０によって読出しデータベクトルの同時に検索されるビット数を調節することによって、チェン検索部４４０のサイクル当たり電力消耗を調節することができる。
【００７４】
図７は本発明の実施形態によるシンドローム演算方法を示す順序図である。図６に図示されたシンドローム演算部４２０は図７に図示されたシンドローム演算方法を実行するように動作できる。図６及び図７を参照すれば、Ｓ４１０段階で読出しベクトルＲＶが受信される（例えば、読出しベクトルＲＶは図１に図示されたコントローラ２００によって受信される）。例えば、メモリ装置１００からシンドローム演算部４２０に読出しベクトルＲＶが受信され得る。
【００７５】
Ｓ４２０段階で、読出しベクトルＲＶ及びパリティーチェック行列ＨＴが掛けられる。シンドローム演算部４２０は読出しベクトルＲＶに掛けられるパリティーチェック行列ＨＴを格納できる。シンドローム演算部４２０は予め格納されたパリティーチェック行列ＨＴ及びメモリ装置１００から受信された読出しベクトルＲＶを掛けることができる。パリティーチェック行列ＨＴ及び受信された読出しベクトルＲＶの掛け算の結果はシンドロームＳ（ｘ）であり得る。
【００７６】
Ｓ４３０段階で、掛け算の結果が０であるか否か、即ちシンドロームＳ（ｘ）が０であるか否かを判別される。掛け算の結果が０でなければ、即ちシンドロームＳ（ｘ）が０でなければ、Ｓ４４０段階でシンドロームＳ（ｘ）が出力される。掛け算の結果が０であれば、即ちシンドロームＳ（ｘ）が０であれば、Ｓ４５０段階で制御信号ＮＥＳが活性化される。
【００７７】
シンドローム演算部４２０は演算されたシンドロームＳ（ｘ）が０であるか否かを判別することができる。演算されたシンドロームＳ（ｘ）が０でなければ、シンドローム演算部４２０は演算されたシンドロームＳ（ｘ）をキー公式解き方部４３０へ出力することができる。演算されたシンドロームＳ（ｘ）が０であれば、シンドローム演算部４２０は制御部４７０によって受信される制御信号ＮＥＳを活性化することができる。
【００７８】
以下で、シンドローム演算方法が数学式を参照して説明される。例示的に、コードベクトルＣＶは数学式１であり得る。ＷＤＶは書込みデータベクトルであり、Ｇは生成行列（例えば、上述されたようなＢＣＨコードに生成行列）である。
＜数学式１＞
ＣＶ＝ＷＤＶ×Ｇ
【００７９】
メモリ装置１００から読み出される読出しベクトルＲＶはエラーを包含できる。エラーを含む読出しベクトルＲＶは数学式２であり得る。ＷＤＶは書込みデータベクトルであり、Ｇは生成行列であり、Ｅはエラーベクトルである。
＜数学式２＞
ＲＶ＝ＷＤＶ×Ｇ＋Ｅ
【００８０】
読出しベクトルＲＶはパリティーチェック行列ＨＴと掛けられる。パリティーチェック行列ＨＴが掛けられた結果は数学式３であり得る。ＷＤＶは書込みデータベクトルであり、Ｇは生成行列であり、Ｅはエラーベクトルである。
＜数学式３＞
ＲＶ×ＨＴ＝ＷＤＶ×Ｇ×ＨＴ＋Ｅ×ＨＴ
【００８１】
生成行列Ｇ及びパリティーチェック行列ＨＴは数学式４の関係を満足させるように設定され得る。
＜数学式４＞
Ｇ×ＨＴ＝０
したがって、パリティーチェック行列ＨＴが掛けられた結果は数学式５に整理され得る。
＜数学式５＞
ＲＶ×ＨＴ＝Ｅ×ＨＴ
【００８２】
掛け算の結果はシンドロームＳ（ｘ）であり得る。シンドロームＳ（ｘ）が０であれば、エラーが存在しないことと判別し、シンドロームＳ（ｘ）が０でなければ、エラーが存在することと判別され得る。
【００８３】
図８は本発明の実施形態によるエラー位置多項式Λ（ｘ）の演算方法を示す順序図である。図６に図示されたキー公式解き方部４３０は図８に図示された方法によってエラー位置多項式Λ（ｘ）を演算するように動作できる。以下で説明されるように、エラー位置多項式の係数は反復的に計算され得る。図６に図示された制御部４７０はチェン検索部４４０の動作モード（例えば、フル検索モード、ハーフ検索モード、又はクォーター検索モード）を選択することができる。検索モードはフル、ハーフ、及びクォーター検索モードに限定されないし、望む電力消耗にしたがって部分検索モードが決定され得る。図６及び図８を参照すれば、Ｓ５１０段階で、ゼロカウントＺＣ及び変数ｎがリセットされる。例えば、キー公式解き方部４３０はゼロカウントＺＣ及び変数ｎをリセットできる。以下で説明されるように、ゼロカウントＺＣはエラー位置多項式Λ（ｘ）の計算された係数Λｎが‘０’である時、増加される。
【００８４】
Ｓ５２０段階で、シンドロームＳ（ｘ）及び以前段階の係数Λｎ−１を利用してディスクレパンシー（ｄｉｓｃｒｅｐａｎｃｙ）が演算される。以前段階の係数Λｎ−１が存在しない場合、即ち第１番目の係数Λ０が計算される場合、ディスクレパンシーはシンドロームＳ（ｘ）に基づいて演算され得る。ディスクレパンシーはキー公式解き方部４３０によって演算され得る。
【００８５】
Ｓ５３０段階で、演算されたディスクレパンシーに基づいて係数Λｎが演算される。係数Λｎはキー公式解き方部４３０によって演算され得る。
【００８６】
Ｓ５４０段階で、演算された係数Λｎが０であるか否かを判別される。演算された係数Λｎが０であれば、Ｓ５５０段階で、ゼロカウントＺＣが増加される。以後に、Ｓ５６０段階で、ゼロカウントＺＣが第１閾値ＴＶ１と同一であるか、或いはそれより大きいかを判別される。ゼロカウントＺＣが第１閾値ＴＶ１と同一であるか、或いはそれより大きければ、エラー位置多項式Λ（ｘ）の演算が終了される。エラーカウントＺＣが第１閾値ＴＶ１より小さいか、或いは演算された係数Λｎが０でなければ、Ｓ５７０段階が遂行される。Ｓ５７０段階で、変数ｎが増加される。以後に、Ｓ５２０段階が再び遂行される。
【００８７】
即ち、キー公式解き方部４３０は演算された係数Λｎが０である回数が第１閾値ＴＶ１以上になる時まで変数ｎを増加させ、係数Λｎの演算を反複することができる。演算された係数Λｎはエラー位置多項式Λ（ｘ）のｎ次項の係数であり得る。例示的に、エラー位置多項式は数学式６であり得る。
＜数学式６＞
Λ（ｘ）＝Λ０＋Λ１ｘ＋Λ２ｘ２＋…＋Λｎｘｎ
【００８８】
例示的に、第１閾値ＴＶ１は３であり得る。即ち、エラー位置多項式Λ（ｘ）の係数が３回以上０に演算される時、キー公式解き方部４３０はエラー位置多項式Λ（ｘ）の演算を終了できる。
【００８９】
エラー位置多項式Λ（ｘ）の各根（ｒｏｏｔ）は読出しベクトルＲＶのエラー位置を示し得る。即ち、エラー位置多項式Λ（ｘ）の根の数に対応するエラーが読出しベクトルＲＶに存在することができる。エラー位置多項式Λ（ｘ）の最高次項の次数（より詳細には係数が０でない最高次項の次数）は読出しベクトルＲＶのエラー数を示し得る。
【００９０】
例示的に、キー公式解き方はバーレカンプマッシアルゴリズム（ＢＭＡ、Ｂｅｒｌｅｋａｍｐ−Ｍａｓｓｅｙ  Ａｌｇｏｒｉｔｈｍ）又は修正ユークリッドアルゴリズム（ＭＥＡ、Ｍｏｄｉｆｉｅｄ  Ｅｕｃｌｉｄｅａｎ  Ａｌｇｏｒｉｔｈｍ）に基づいて遂行できる。
【００９１】
図９は本発明の実施形態によるチェン検索方法を示す順序図である。図６及び図９を参照すれば、Ｓ６１０段階で、エラー数にしたがって同時に検索されるビット数が選択される。制御部４７０はキー公式解き方部４３０から受信される情報にしたがって読出しベクトルＲＶのエラー数を測定することができる。測定結果にしたがって、制御部４７０は同時に検索されるビット数を選択することができる。
【００９２】
Ｓ６２０段階で、選択結果にしたがって検索スキームが調節される。例えば、制御部４７０は選択されたビット数に対応する検索スキームにしたがって検索を実行するようにチェン検索部４４０を制御することができる。
【００９３】
同時に検索されるビット数にしたがってチェン検索部４４０の電力消耗が調節され得る。即ち、Ｓ６１０段階及びＳ６２０段階は図５のＳ３６０段階のサイクル当たり電力消耗を調節する段階の全て又は一部を構成することができる。
【００９４】
Ｓ６３０段階で、順方向チェン検索が遂行される。順方向チェン検索は読出しベクトルＲＶのデータ側終端の第１番目のビットから最後ベクトルの順に遂行できる。チェン検索の時に、読出しベクトルＲＶのエラー位置が検索され得る。検索はＳ６１０段階で選択されたビット数の単位に遂行できる。
【００９５】
チェン検索部４４０はエラー位置多項式Λ（ｘ）に対して検索を遂行できる。チェン検索部４４０はエラー位置多項式Λ（ｘ）の根（ｒｏｏｔｓ）を検索することができる。チェン検索部４４０が遂行する検索動作は、読出しベクトルＲＶのデータ側終端の第１番目のビットから選択されたビット数の単位にエラー位置を検索する動作に対応することができる。
【００９６】
Ｓ６４０段階で、検索結果にしたがってエラーの位置が判別される。チェン検索部４４０は検索されたエラー位置多項式Λ（ｘ）の根に基づいて、読出しベクトルＲＶのエラー位置を判別することができる。判別されたエラー位置にしたがって、チェン検索部４４０はエラー位置情報ＥＬＩを出力することができる。
【００９７】
チェン検索が遂行されれば、エラー位置多項式Λ（ｘ）の根が求められる。例示的に、エラー位置多項式Λ（ｘ）が数学式６を満足する時、原始元素（α、ｐｒｉｍｉｔｉｖｅｅｌｅｍｅｎｔ）の自乗数（αｉ）はエラー位置多項式Λ（ｘ）の根であり得る。
＜数学式７＞
Λ（αｉ）＝Λ０＋Λ１αｉ＋Λ２α２ｉ＋…＋Λｎαｎｉ＝０、又は
Λ１αｉ＋Λ２α２ｉ＋…＋Λｎαｎｉ＝−Λ０
【００９８】
エラー位置多項式Λ（ｘ）の根は原始元素（α）の指数形態に表示され得る。読出しベクトルＲＶのエラーの位置はエラー位置多項式Λ（ｘ）の根の指数の反転値であり得る。例えば、エラー位置多項式Λ（ｘ）の根がα−ｋである時、読出しベクトルのｋ＋１番目のビットがエラービットであり得る。より詳細には、読出しベクトルＲＶのパリティー側の終端からｋ＋１番目のビットがエラービットであり得る。読出しベクトルＲＶの長さがｃビットである時、エラー位置多項式Λ（ｘ）の根はα０乃至α−（ｃ−１）の中での値であり得る。
【００９９】
チェン検索が遂行されれば、エラー位置多項式Λ（ｘ）の根が検索される。即ち、チェン検索結果にしたがって読出しベクトルＲＶのエラー位置が判別され得る。チェン検索部４４０は検索結果にしたがってエラー位置情報ＥＬＩをエラー訂正部４５０へ出力することができる。エラー訂正部４５０は読出しベクトルＲＶのビットの中でエラー位置情報ＥＬＩが示す位置のビットを反転することによって、読出しベクトルＲＶのエラーを訂正できる。即ち、Ｓ６３０段階及びＳ６４０段階は図５のエラー訂正する段階（Ｓ３７０）の全て又は一部を構成することができる。
【０１００】
図１０は図６のチェン検索部４４０の実施形態を示す。図１０を参照すれば、第１乃至第ｎ係数レジスターＣＲ１〜ＣＲｎにエラー位置多項式Λ（ｘ）の係数Λ０〜Λｎが格納される。例えば、エラー位置多項式Λ（ｘ）の係数Λ０〜Λｎはキー公式解き方部４３０から伝送され得る。
【０１０１】
第１乃至第ｎシードレジスターＳＲ１〜ＳＲｎにシードが格納される。例示的に、第１乃至第ｎシードレジスターＳＲ１〜ＳＲｎに格納されたシードは原始元素（α）の自乗数であり得る。第１乃至第ｎシードレジスターＳＲ１〜ＳＲｎに格納されるシードはα−ｃ乃至α−ｎｃであり得る。ｃは読出しベクトルＲＶの長さ、即ち読出しベクトルＲＶのビット数であり得る。
【０１０２】
第１乃至第ｎ係数レジスターＣＲ１〜ＣＲｎの出力、及び第１乃至第ｎシードレジスターＳＲ１〜ＳＲｎの出力は乗算器によって各々掛けることができる。掛けられた結果は第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの第１入力へ各々伝達され得る。第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの第２入力に、第１乃至第ｎディレイＤ１〜Ｄｎの出力が連結される。
【０１０３】
第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは複数の乗算器の出力及び第１乃至第ｎのディレイＤ１〜Ｄｎの出力の中で１つの出力を出力する。第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは制御部４７０の制御にしたがって動作できる。第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力は第１乃至第ｍ並列検索ロジック４４１〜４４ｍへ伝達される。
【０１０４】
第１並列検索ロジック４４１で、第１並列検索レジスターＲ１〜Ｒｎが提供される。第１並列検索レジスターＲ１〜Ｒｎに、原始元素（α）の自乗数（α、α２、αｎ）が格納される。例示的に、エラー位置多項式Λ（ｘ）で常数（Λ０）を除去し、係数Λ１〜Λｎを１に置換し、αを代入した結果の各項が第１並列検索レジスターＲ１〜Ｒｎに格納され得る。
【０１０５】
第１並列検索乗算器は第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力と第１並列検索レジスターＲ１〜Ｒｎの出力とを各々掛けることができる。第１並列検索乗算器の出力は第１並列検索加算器によって加えられる。第１並列検索加算器の出力は第１並列検索ロジック４４１の出力Λ１であり得る。
【０１０６】
第ｊ並列検索ロジック４４ｊで、第ｊ並列検索レジスターＲｊ〜Ｒｎｊが提供される。第ｊ並列検索レジスターＲｊ〜Ｒｎｊに、原始元素（α）の自乗数（αｊ、α２ｊ、αｎｊ）が格納される。例示的に、エラー位置多項式Λ（ｘ）で常数Λ０を除去し、係数Λ１〜Λｎを１に置換し、αｊを代入した結果の各項が第ｊ並列検索レジスターＲｊ〜Ｒｎｊに格納され得る。
【０１０７】
第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力値及び０値の中で１つの値を出力する。第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎは制御部４７０の制御にしたがって動作できる。第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎの出力は第ｊ並列検索乗算器へ伝達される。
【０１０８】
第ｊ並列検索乗算器は第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎの出力と第ｊ並列検索レジスターＲｊ〜Ｒｎｊの出力とを各々掛けることができる。第ｊ並列検索乗算器の出力は第ｊ並列検索加算器によって加えることができる。第ｊ並列検索加算器の出力は第ｊ並列検索ロジック４４ｊの出力Λｊであり得る。
【０１０９】
第ｋ並列検索ロジック４４ｋで、第ｋ並列検索レジスターＲｋ〜Ｒｎｋが提供される。第ｋ並列検索レジスターＲｋ〜Ｒｎｋに、原始元素（α）の自乗数（αｋ、α２ｋ、αｎｋ）が格納される。例示的に、エラー位置多項式Λ（ｘ）で常数Λ０を除去し、係数Λ１〜Λｎを１に置換し、αｋを代入した結果の各項が第ｋ並列検索レジスターＲｊ〜Ｒｎｊに格納され得る。
【０１１０】
第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力値及び０値の中で１つの値を出力する。第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎは制御部４７０の制御にしたがって動作できる。第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎの出力は第ｋ並列検索乗算器へ伝達される。
【０１１１】
第ｋ並列検索乗算器は第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎの出力と第ｋ並列検索レジスターＲｋ〜Ｒｎｋの出力とを各々掛けることができる。第ｋ並列検索乗算器の出力は第ｋ並列検索加算器によって加えられる。第ｋ並列検索加算器の出力は第ｋ並列検索ロジック４４ｋの出力Λｋであり得る。
【０１１２】
第ｍ並列検索ロジック４４ｍで、第ｍ並列検索レジスターＲｍ〜Ｒｎｍが提供される。第ｍ並列検索レジスターＲｍ〜Ｒｎｍに、原始元素（α）の自乗数（αｍ、α２ｍ、αｎｍ）が格納される。例示的に、エラー位置多項式Λ（ｘ）で常数Λ０を除去し、係数Λ１〜Λｎを１に置換し、αｍを代入した結果の各項が第ｍ並列検索レジスターＲｍ〜Ｒｎｍに格納され得る。
【０１１３】
第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力値及び０値の中で１つの値を出力する。第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎは制御部４７０の制御にしたがって動作できる。第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎの出力は第ｍ並列検索乗算器へ伝達される。
【０１１４】
第ｍ並列検索乗算器は第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎの出力と第ｍ並列検索レジスターＲｍ〜Ｒｎｍの出力とを各々掛けられる。第ｍ並列検索乗算器の出力は第ｍ並列検索加算器によって加えられる。第ｍ並列検索加算器の出力は第ｍ並列検索ロジック４４ｋの出力Λｍであり得る。
【０１１５】
第１乃至第ｍ並列検索乗算器の出力は第１乃至第ｎマルチプレクサーＭ１〜Ｍｎへ伝達される。例えば、第１並列検索レジスターＲ１と連結された第１並列検索乗算器、第ｊ並列検索レジスターＲｊと連結された第ｊ並列検索乗算器、第ｋ並列検索レジスターＲｋと連結された第ｋ並列検索乗算器、及び第ｍ並列検索レジスターＲｍと連結された第ｍ並列検索乗算器の出力は第１マルチプレクサーＭ１へ伝達され得る。第１並列検索レジスターＲｎと連結された第１並列検索乗算器、第ｊ並列検索レジスターＲｎｊと連結された第ｊ並列検索乗算器、第ｋ並列検索レジスターＲｎｋと連結された第ｋ並列検索乗算器、及び第ｍ並列検索レジスターＲｎｍと連結された第ｍ並列検索乗算器の出力は第１マルチプレクサーＭｎへ伝達され得る。
【０１１６】
第１乃至第ｎマルチプレクサーＭ１〜Ｍｎは制御部４７０の制御にしたがって入力信号の中で１つの入力信号を選択して出力することができる。例えば、第１乃至第ｎマルチプレクサーＭ１〜Ｍｎは第１並列検索乗算器の出力、第ｊ並列検索乗算器の出力、第ｋ並列検索乗算器の出力、又は第ｍ並列検索乗算器の出力を出力することができる。第１乃至第ｎマルチプレクサーＭ１〜Ｍｎの出力は第１乃至第ｎディレイＤ１〜Ｄｎへ各々伝達される。
【０１１７】
並列検索ロジック４４１〜４４ｍは読出しベクトルＲＶの互に異なるエラー位置を検索することができる。並列検索ロジック４４１〜４４ｍは複数のエラー位置を並列的に（又は同時に）検索することができる。チェン検索部４４０の並列検索ロジック４４１〜４４ｍは制御部４７０の制御にしたがって活性化又は非活性化され得る。チェン検索部４４０は制御部４７０の制御にしたがって同時に検索するビット数を調節することができる。チェン検索部４４０は制御部４７０の制御にしたがってサイクル当たり電力消耗又は最大訂正時間を調節することができる。以下で、チェン検索部４４０の動作が表を参照して詳細に説明される。
【０１１８】
（フル検索モード）
フル検索モードで、第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力するように制御される。第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力するように制御される。そして、第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎは第１第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力するように制御される。第１乃至第ｎマルチプレクサーＭ１〜Ｍｎは第ｍ並列検索乗算器の出力を出力するように構成される。
【０１１９】
第１番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは乗算器の出力を出力するように制御される。第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力は第１乃至第ｍ並列検索ロジックへ伝達される。この時、第１乃至第ｎ並列検索ロジック４４１〜４４ｎの出力は表１であり得る。
【０１２０】
【表１】
0005946691.tif 000002
【０１２１】
第１並列検索ロジック４４１の出力Λ１はエラー位置多項式Λ（ｘ）にα−（ｃ−１）を代入することによって得られる。即ち、第１並列検索ロジック４４１は読出しベクトルＲＶのｃ−１番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第１並列検索ロジック４４１は読出しベクトルＲＶのデータ側の終端から第１番目のビットによってエラーが存在するするか否かを検索する。第１並列検索ロジック４４１の出力Λ１が−Λ１であれば、エラーが存在することと判別され得る。
【０１２２】
第ｊ並列検索ロジック４４ｊの出力Λｊはエラー位置多項式Λ（ｘ）にα−（ｃ−ｊ）を代入することによって得られる。即ち、第ｊ並列検索ロジック４４ｊは読出しベクトルＲＶのｃ−ｊ番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第ｊ並列検索ロジック４４ｊは読出しベクトルＲＶのデータ側の終端からｊ番目のビットによってエラーが存在するするか否かを検索する。第ｊ並列検索ロジック４４１の出力Λｊが−Λ１であれば、エラーが存在することと判別され得る。
【０１２３】
第ｋ並列検索ロジック４４ｋの出力Λｋはエラー位置多項式Λ（ｘ）にα−（ｃ−ｋ）を代入することによって得られる。即ち、第ｋ並列検索ロジック４４ｊは読出しベクトルＲＶのｃ−ｋ番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第ｋ並列検索ロジック４４ｋは読出しベクトルＲＶのデータ側の終端からｋ番目のビットによってエラーが存在するするか否かを検索する。第ｋ並列検索ロジック４４１の出力Λｋが−Λ１であれば、エラーが存在することと判別され得る。
【０１２４】
第ｍ並列検索ロジック４４ｍの出力Λｍはエラー位置多項式Λ（ｘ）にα−（ｃ−ｍ）を代入することによって得られる。即ち、第ｍ並列検索ロジック４４ｍは読出しベクトルＲＶのｃ−ｍ番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第ｍ並列検索ロジック４４ｍは読出しベクトルＲＶのデータ側の終端からｍ番目のビットによってエラーが存在するするか否かを検索する。第ｍ並列検索ロジック４４１の出力Λｍが−Λ１であれば、エラーが存在することと判別され得る。
【０１２５】
即ち、フルモードの第１番目のサイクルで、第１乃至第ｍ並列検索ロジックは読出しベクトルのデータ側の終端から第１番目乃至ｍ番目のビットの位置にエラーが存在するするか否かを同時に検索することができる。
【０１２６】
第２番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは第１乃至第ｎディレイＤ１〜Ｄｎの出力を選択することができる。即ち、第１番目のサイクルの第ｍ並列検索乗算器の出力に第ｍ並列検索レジスターの出力が掛けられる。この時、チェン検索部４４０の出力は表２であり得る。
【０１２７】
【表２】
0005946691.tif 000003
【０１２８】
第１並列検索ロジック４４１の出力Λ１はエラー位置多項式Λ（ｘ）にα−（ｃ−ｍ−１）を代入することによって得られる。即ち、第１並列検索ロジック４４１は読出しベクトルＲＶのデータ側の終端からｍ＋１番目のビットの位置にエラーが存在するするか否かを検索する。
【０１２９】
第ｊ並列検索ロジック４４ｊの出力Λｊはエラー位置多項式Λ（ｘ）にα−（ｃ−ｍ−ｊ）を代入することによって得られる。即ち、第ｊ並列検索ロジック４４ｊは読出しベクトルＲＶのデータ側の終端からｍ＋ｊ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１３０】
第ｋ並列検索ロジック４４ｋの出力Λｋはエラー位置多項式Λ（ｘ）にα−（ｃ−ｍ−ｋ）を代入することによって得られる。即ち、第ｋ並列検索ロジック４４ｋは読出しベクトルＲＶのデータ側の終端からｍ＋ｋ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１３１】
第ｍ並列検索ロジック４４ｍの出力Λｍはエラー位置多項式Λ（ｘ）にα−（ｃ−２ｍ）を代入することによって得られる。即ち、第ｍ並列検索ロジック４４ｍは読出しベクトルＲＶのデータ側の終端から２ｍ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１３２】
上述されたように、第１番目のサイクルで、読出しベクトルＲＶのデータ側の終端から第１番目乃至ｍ番目のビットの位置にエラーが存在するするか否かを検索される。第２番目のサイクルで、読出しベクトルＲＶのデータ側の終端からｍ＋１番目乃至２ｍ番目のビットの位置にエラーが存在するするか否かを検索される。即ち、フル検索モードで、チェン検索部４４０は同時にｍ個のビットを検索することができる。
【０１３３】
（ハーフ（ｈａｌｆ）動作モード）
ハーフ動作モードで、第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎ及び第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力することができる。第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎは０値を出力することができる。第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎが０値を出力すれば、第ｍ並列検索乗算器は常に０値を出力する。即ち、第ｍ並列検索ロジックは非活性化される。非活性化された第ｍ並列検索ロジックの電力消耗は最小化になり得る。
【０１３４】
ハーフ動作モードで、第１乃至第ｎマルチプレクサーＭ１〜Ｍｎは第ｋ並列検索乗算器の出力を選択することができる。
【０１３５】
第１番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは乗算器の出力を選択する。第ｍ並列検索ロジックが非活性化されることを除外すれば、ハーフ動作モードの第１番目のサイクルの出力はフル動作モードの第１番目のサイクルの出力と同一であり得る。ハーフ動作モードの第１番目のサイクルの出力は表３であり得る。
【０１３６】
【表３】
0005946691.tif 000004
【０１３７】
即ち、ハーフ動作モードの第１番目のサイクルで、チェン検索部４４０は読出しベクトルＲＶのデータ側終端から第１番目乃至ｋ番目のビットの位置にエラーが存在するするか否かを検索することができる。
【０１３８】
第２番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは第１乃至第ｎディレイＤ１〜Ｄｎの出力を選択する。即ち、第１番目のサイクルの第ｋ並列検索乗算器の出力に第ｋ並列検索レジスターの出力が掛けられる。この時、チェン検索部４４０の出力は表４であり得る。
【０１３９】
【表４】
0005946691.tif 000005
【０１４０】
第１並列検索ロジック４４１の出力Λ１はエラー位置多項式Λ（ｘ）にα−（ｃ−ｋ−１）を代入することによって得られる。即ち、第１並列検索ロジック４４１は読出しベクトルＲＶのデータ側の終端からｋ＋１番目のビットの位置にエラーが存在するするか否かを検索する。
【０１４１】
第ｊ並列検索ロジック４４ｊの出力Λｊはエラー位置多項式Λ（ｘ）にα−（ｃ−ｋ−ｊ）を代入することによって得られる。即ち、第ｊ並列検索ロジック４４ｊは読出しベクトルＲＶのデータ側の終端からｋ＋ｊ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１４２】
第ｋ並列検索ロジック４４ｋの出力Λｋはエラー位置多項式Λ（ｘ）にα−（ｃ−２ｋ）を代入することによって得られる。即ち、第ｋ並列検索ロジック４４ｋは読出しベクトルＲＶのデータ側の終端から２ｋ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１４３】
上述されたように、第１番目のサイクルで、読出しベクトルＲＶのデータ側の終端から第１番目の乃至ｋ番目のビットの位置にエラーが存在するするか否かを検索される。第２番目のサイクルで、読出しベクトルＲＶのデータ側の終端からｋ＋１番目乃至２ｋ番目のビットの位置にエラーが存在するするか否かを検索される。即ち、ハーフ検索モードで、チェン検索部４４０は同時にｋ個のビットを検索することができる。
【０１４４】
ｋはｍより小さいことがあり得る。第ｋ並列検索ロジックと第ｍ並列検索ロジックとの間に、少なくとも１つ又はその以上の並列検索ロジックが提供され得る。第ｍ並列検索ロジックが非活性化される時、第ｋ並列検索ロジックと第ｍ並列検索ロジックとの間の少なくとも１つ又はその以上の並列検索ロジックが共に非活性化され得る。
【０１４５】
ｋはｍ／２であり得る。即ち、フル動作モードと比較する時、ハーフ動作モードは半分の検索容量を有することができる。
【０１４６】
ハーフ動作モードで、フル動作モードより少ない数の並列検索ロジックが活性化される。したがって、ハーフ動作モードのサイクル当たり電力消耗はフル動作モードのサイクル当たり電力消耗より少ない。
【０１４７】
（クォーター（Ｑｕａｒｔｅｒ）動作モード）
クォーター動作モードで、第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎは第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力することができる。第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎ及び第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎは０値を出力することができる。第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎ及び第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎが０値を出力すれば、第ｋ並列検索乗算器及び第ｍ並列検索乗算器は常に０値を出力する。即ち、第ｋ並列検索ロジック及び第ｍ並列検索ロジックは非活性化される。非活性化された第ｋ並列検索ロジック及び第ｍ並列検索ロジックの電力消耗は最小化になり得る。
【０１４８】
クォーター動作モードで、第１乃至第ｎマルチプレクサーＭ１〜Ｍｎは第ｊ並列検索乗算器の出力を選択することができる。
【０１４９】
第１番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは乗算器の出力を選択する。第ｋ及び第ｍ並列検索ロジックが非活性化されることを除外すれば、クォーター動作モードの第１番目のサイクルの出力はフル動作モードの第１番目のサイクルの出力と同一であり得る。ハーフ動作モードの第１番目のサイクルの出力は表５であり得る。
【０１５０】
【表５】
0005946691.tif 000006
【０１５１】
即ち、クォーター動作モードの第１番目のサイクルで、チェン検索部４４０は読出しベクトルＲＶのデータ側終端から第１番目乃至ｊ番目のビットの位置にエラーが存在するするか否かを検索することができる。
【０１５２】
第２番目のサイクルで、第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎは第１乃至第ｎディレイＤ１〜Ｄｎの出力を選択する。即ち、第１番目のサイクルの第ｊ並列検索乗算器の出力に第ｊ並列検索レジスターの出力が掛けられる。この時、チェン検索部４４０の出力は表６であり得る。
【０１５３】
【表６】
0005946691.tif 000007
【０１５４】
第１並列検索ロジック４４１の出力Λ１はエラー位置多項式Λ（ｘ）にα−（ｃ−ｊ−１）を代入することによって得られる。即ち、第１並列検索ロジック４４１は読出しベクトルＲＶのデータ側の終端からｊ＋１番目のビットの位置にエラーが存在するするか否かを検索する。
【０１５５】
第ｊ並列検索ロジック４４ｊの出力Λｊはエラー位置多項式Λ（ｘ）にα−（ｃ−２ｊ）を代入することによって得られる。即ち、第ｊ並列検索ロジック４４ｊは読出しベクトルＲＶのデータ側の終端から２ｊ番目のビットの位置にエラーが存在するするか否かを検索する。
【０１５６】
上述されたように、第１番目のサイクルで、読出しベクトルＲＶのデータ側の終端から第１番目乃至ｊ番目のビットの位置にエラーが存在するするか否かを検索される。第２番目のサイクルで、読出しベクトルＲＶのデータ側の終端からｊ＋１番目乃至２ｊ番目のビットの位置にエラーが存在するするか否かを検索される。即ち、クォーター検索モードで、チェン検索部４４０は同時にｊ個のビットを検索することができる。
【０１５７】
ｊはｋより小さいことがあり得る。第ｊ並列検索ロジックと第ｋ並列検索ロジックとの間に、少なくとも１つ又はその以上の並列検索ロジックが提供され得る。第ｋ並列検索ロジックが非活性化される時、第ｊ並列検索ロジックと第ｋ並列検索ロジックとの間の少なくとも１つ又はその以上の並列検索ロジックが共に非活性化され得る。
【０１５８】
ｊはｋ／２であり得る。即ち、ハーフ動作モードと比較する時、クォーター動作モードは半分の検索容量を有することができる。
【０１５９】
クォーター動作モードで、ハーフ動作モードより少ない数の並列検索ロジックが活性化される。したがって、クォーター動作モードのサイクル当たり電力消耗はハーフ動作モードのサイクル当たり電力消耗より少ない。
【０１６０】
読出しベクトルＲＶのエラー数にしたがってチェン検索部４４０で同時に検索されるビット数が調節され得る。例えば、チェン検索部４４０をフル動作モード、ハーフ動作モード、又はクォーター動作モードに制御することによって、チェン検索部４４０で同時に検索されるビット数が調節され得る。チェン検索部４４０で同時に検索されるビット数が調節される時、チェン検索部４４０のサイクル当たり電力消耗が調節され得る。
【０１６１】
図１１はフル動作モード、ハーフ動作モード、及びクォーター動作モードの時に実行されるチェン検索の実施形態を示す。図１１を参照すれば、クォーター動作モードの時に、読出しベクトルＲＶのデータ側の終端からｊビットの単位にチェン検索が遂行される。ハーフ動作モードの時に、読出しベクトルＲＶのデータ側の終端からｋビットの単位にチェン検索が遂行される。モードの時に、読出しベクトルＲＶのデータ側の終端からｍビットの単位にチェン検索が遂行される。
【０１６２】
本発明の実施形態によるチェン検索部４４０は読出しベクトルＲＶのデータ側の終端からエラーの可否を検索する。即ち、チェン検索部４４０は順方向（ｆｏｒｗａｒｄ）チェン検索を遂行できる。順方向チェン検索が遂行されれば、読出しベクトルＲＶのデータ側の終端から順次的にエラー位置が判別及び訂正され得る。
【０１６３】
図１２は本発明の実施形態によるチェン検索動作モードを決定する方法を示す順序図である。図６、図１０、及び図１２を参照すれば、Ｓ７１０段階で、測定されたエラー数が第１エラー数ＥＮ１以下であるか否かが判別される。測定されたエラー数が第１エラー数ＥＮ１以下であれば、Ｓ７２０段階でフル動作モードが活性化される。測定されたエラー数が第１エラー数ＥＮ１以下である時、制御部４７０は第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎ、第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎ、及び第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎが第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力するように制御することができる。制御部４７０は第１乃至第ｎマルチプレクサーＭ１〜Ｍｎが第ｍ並列検索乗算器の出力を選択するように制御することができる。
【０１６４】
測定されたエラー数が第１エラー数ＥＮ１より大きければ、Ｓ７３０段階が遂行される。Ｓ７３０段階で、測定されたエラー数が第２エラー数ＥＮ２以下であるか否かが判別される。測定されたエラー数が第２エラー数ＥＮ２以下であれば、Ｓ７４０段階でハーフ動作モードが活性化される。測定されたエラー数が第２エラー数ＥＮ２以下である時、制御部４７０は第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎ及び第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎが第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力し、第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎが０値を出力するように制御することができる。制御部４７０は第１乃至第ｎマルチプレクサーＭ１〜Ｍｎが第ｋ並列検索乗算器の出力を選択するように制御することができる。
【０１６５】
測定されたエラー数が第２エラー数ＥＮ２より大きければ、Ｓ７５０段階が遂行される。Ｓ７５０段階で、クォーター動作モードが活性化される。制御部４７０は第１乃至第ｎクォーターマルチプレクサーＭＱ１〜ＭＱｎが第１乃至第ｎ係数マルチプレクサーＭＣ１〜ＭＣｎの出力を出力するように制御し、第１乃至第ｎハーフマルチプレクサーＭＨ１〜ＭＨｎ及び第１乃至第ｎフルマルチプレクサーＭＦ１〜ＭＦｎが０値を出力するように制御することができる。制御部４７０は第１乃至第ｎマルチプレクサーＭ１〜Ｍｎが第ｊ並列検索乗算器の出力を選択するように制御することができる。
【０１６６】
例示的に、第２エラー数ＥＮ２は第１エラー数ＥＮ１より大きくなり得る。即ち、読出しベクトルＲＶのエラー数が増加することによって、制御部４７０は活性化される並列検索ロジックの数を減少できる。読出しベクトルＲＶのエラー数が増加することによって、チェン検索部４４０のサイクル当たり電力消耗が減少することができる。
【０１６７】
例示的に、第１エラー数ＥＮ１はエラー訂正デコーダー４００（図１参照）のエラー訂正ビット数の１／４であり得る。第２エラー数ＥＮ２はエラー訂正デコーダー４００のエラー訂正ビット数の１／２であり得る。
【０１６８】
Ｓ７１０段階乃至Ｓ７５０段階で、測定されたエラー数にしたがってフル動作モード、ハーフ動作モード、又はクォーター動作モードが選択される。フル動作モード、ハーフ動作モード、及びクォーター動作モードで、同時に検索されるビット数は互に異なり、サイクル当たり電力消耗が互に異なる。即ち、測定されたエラー数にしたがって、サイクル当たり電力消耗が調節され得る。Ｓ７１０段階乃至Ｓ７５０段階は図９を参照して説明されたＳ６１０段階及びＳ６２０段階の全て又は一部を構成することができる。
【０１６９】
図１３は本発明の実施形態によるチェン検索の時にパリティー検索の可否を決定する方法を示す順序図である。図１３は読出しベクトルＲＶの読出しパリティーベクトルＲＰＶがチェン検索の時に検索されなければならないかを判別する方法を示す。この方法は読出しベクトルＲＶの読出しデータ部分が検索されるか、又は読出しデータ部分とパリティーデータ部分とが検索されるか否かを判別することができる。図６及び図１３を参照すれば、Ｓ８１０段階で測定されたエラー数が第２閾値ＴＶ２以下であるか否かが判別される。測定されたエラー数が第２閾値ＴＶ２以下であれば、Ｓ８２０段階で読出しベクトルＲＶのデータ部分に対するチェン検索が遂行され、読出しベクトルＲＶのパリティー部分に対するチェン検索が省略される。測定されたエラー数が第２閾値ＴＶ２より大きければ、Ｓ８３０段階で読出しベクトルＲＶのデータ部分及びパリティー部分に対するチェン検索が遂行される。
【０１７０】
即ち、制御部４７０は測定されたエラー数が第２閾値ＴＶ２以下である時、読出しベクトルＲＶのデータ部分に対してのみにチェン検索を実行するようにチェン検索部４４０を制御することができる。制御部４７０は測定されたエラー数が第２閾値ＴＶ２より大きい時、読出しベクトルＲＶのデータ部分及びパリティー部分に対してチェン検索を実行するようにチェン検索部４４０を制御することができる。
【０１７１】
読出しベクトルＲＶのデータ部分及びパリティー部分に対してチェン検索が遂行される時、チェン検索は図１１に図示されたように遂行できる。読出しベクトルＲＶのパリティー部分に対するチェン検索が省略される時の実施形態は図１４に図示されている。
【０１７２】
図１１に図示された実施形態と比較すれば、図１４で読出しベクトルＲＶのパリティー部分に対するチェン検索は遂行されない。例えば、フル動作モード、ハーフ動作モード、及びクォーター動作モードで、読出しベクトルＲＶのパリティー部分に対するチェン検索は省略される。
【０１７３】
エラー位置多項式Λ（ｘ）の最高次項の係数Λｎが０である時、読出しベクトルＲＶのエラー数はｎ−１個であるか、或いはそれより小さいことであり得る。即ち、エラー位置多項式Λ（ｘ）の最高次項の係数Λｎが０である時、読出しベクトルＲＶのデータ部分に対してのみにチェン検索が遂行されても読出しベクトルＲＶからエラー訂正された読出しデータベクトルが獲得され得る。
【０１７４】
エラー位置多項式Λ（ｘ）の最高次項の係数Λｎが０でない時、読出しベクトルＲＶのエラー数はｎ個であるか、或いはそれより大きくなり得る。この時、読出しベクトルＲＶに対してチェン検索が遂行され、以後に追加的なエラー検索及び訂正動作が要求され得る。
【０１７５】
エラー位置多項式Λ（ｘ）の最高次項の係数Λｎが０である時、即ちチェン検索を通じて読出しベクトルＲＶのデータ部分のエラー検索を通じてエラー訂正が可能である時、読出しベクトルＲＶのパリティー部分に対するチェン検索が省略され得る。読出しベクトルＲＶのパリティー部分に対するチェン検索を省略することによって、チェン検索に消耗される電力及び時間が減少され得る。
【０１７６】
エラー訂正デコーダー４００の信頼性を向上させるために、マージンが付与され得る。例えば、第２閾値ＴＶ２は３に設定され得る。即ち、エラー位置多項式Λ（ｘ）の最上位３項の係数Λｎ、Λｎ−１、Λｎ−２が０である時、読出しベクトルＲＶのパリティー部分に対するチェン検索が省略され得る。第２閾値ＴＶ２は３に限定されなく、エラー訂正デコーダー４００の構成、信頼性等の多様な条件にしたがって変更及び応用され得る。
【０１７７】
図１５Ａはエラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。図１５Ａで、横軸は読出しベクトルＲＶのエラー数を示し、縦軸はエラー訂正デコーディングサイクルを示す。変数ｎはエラー訂正デコーダー４００の最大訂正ビット数に対応する。
【０１７８】
第１線Ｌ１はエラー位置多項式Λ（ｘ）の演算の時に要求されるサイクルを示す。図８を参照して説明されたように、エラー位置多項式Λ（ｘ）の演算は反複的な方法に遂行され、特定条件が満足される時終了される。即ち、エラー位置多項式Λ（ｘ）の演算の時に要求されるサイクルは読出しベクトルＲＶのエラー数が増加することによって増加することができる。
【０１７９】
第２線Ｌ２はチェン検索の時に要求されるサイクルを示す。例示的に、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、フル動作モードのチェン検索が遂行できる。読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より大きくて第２エラー数ＥＮ２（例えばｎ／２）以下である時、ハーフ動作モードのチェン検索が遂行できる。読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２（例えばｎ／２）より大きくてｎ以下である時、クォーター動作モードのチェン検索が遂行できる。即ち、読出しベクトルＲＶのエラー数が増加するほど、チェン検索の時に要求されるサイクルの数が増加することができる。
【０１８０】
第３線Ｌ３はコントローラ２００のデータ入出力サイクルであり得る。読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー位置多項式Λ（ｘ）の演算サイクル及びチェン検索サイクルはデータ入出力サイクルより少なく設定され得る。読出しベクトルＲＶの数が第１エラー数ＥＮ１（例えばｎ／４）より大きい時、エラー位置多項式Λ（ｘ）の演算サイクル及びチェン検索サイクルはデータ入出力サイクルより大きく設定され得る。
【０１８１】
例えば、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー位置多項式Λ（ｘ）の演算に要求されるサイクルがデータ入出力サイクルと同一であるか、或いはそれより小さくなるように、キー検索解き方部４３０が構成され得る。この時、エラー位置多項式Λ（ｘ）の演算速度はデータ入出力速度と同一であるか、或いはそれより高いことがあり得る。即ち、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー訂正速度がエラー位置多項式Λ（ｘ）の演算速度によって停滞されないオン・ザ・フライ（ｏｎ−ｔｈｅ−ｆｌｙ）が支援される。
【０１８２】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より大きい時、キー公式解き方部４３０でデータ入出力サイクルより多い動作サイクルが要求され得る。読出しベクトルＲＶの数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、オン・ザ・フライを支援するようにキー公式解き方部４３０が構成されれば、キー公式解き方部４３０のゲートカウント（ｇａｔｅ  ｃｏｕｎｔ）が減少することができる。
【０１８３】
例えば、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、チェン検索部４４０はフル動作モードに動作するように構成され得る。フル動作モードで、チェン検索部４４０はチェン検索に要求されるサイクルがデータ入出力サイクルと同一であるか、或いはそれより小さくなるように構成され得る。この時、チェン検索速度はデータ入出力速度と同一であるか、或いはそれより少ないことがあり得る。即ち、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー訂正速度がチェン検索速度によって停滞されないオン・ザ・フライが支援される。
【０１８４】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より多くて、第２エラー数ＥＮ２（例えばｎ／２）以下である時、チェン検索部４４０はハーフ動作モードにチェン検索を実行するように構成され得る。読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２（例えばｎ／２）より多くてｎ以下である時、チェン検索部４４０はクォーター動作モードにチェン検索を実行するように構成され得る。即ち、読出しベクトルＲＶのエラー数が閾値を越えることによって、チェン検索部４４０のサイクル当たりの電力消耗は順次的に減少することができる。
【０１８５】
チェン検索の時に、読出しベクトルＲＶのエラー数にしたがって読出しベクトルＲＶのパリティー部分に対するチェン検索が省略され得る。読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、フル動作モードのチェン検索が遂行されるが、読出しベクトルＲＶのパリティー部分に対するチェン検索は省略され得る。即ち、チェン検索に要求されるサイクルはデータ入出力サイクルより少ないことがあり得る。
【０１８６】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より多くて第２エラー数ＥＮ２（例えばｎ／２）以下である時、ハーフ動作モードのチェン検索が遂行されるが、読出しベクトルＲＶのパリティー部分に対するチェン検索は省略され得る。読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２（例えばｎ／２）より多くて第２閾値ＴＶ２以下である時、クォーター動作モードのチェン検索が遂行されるが、読出しベクトルＲＶのパリティー部分に対するパリティー検索が省略され得る。読出しベクトルＲＶのエラー数が第２閾値ＴＶ２より多い時、クォーター動作モードのチェン検索が遂行されるが、読出しベクトルＲＶのデータ部分及びパリティー部分に対するチェン検索が遂行できる。
【０１８７】
即ち、同様にクォーター動作モードのチェン検索が遂行されても、読出しベクトルＲＶのエラー数が第２閾値ＴＶ２以下であるか否かがにしたがってチェン検索に要求されるサイクルの差異が発生できる。例えば、読出しベクトルＲＶのパリティー部分に対するチェン検索でよって、サイクルの差異が発生できる。
【０１８８】
図１５Ｂに示したように、読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１以下である時（例えば、図１５Ｂに示したように３２以下である時）、チェン検索部４４０のチェン検索はフル動作モード（又はフル検索モード）に遂行され得る。例えば、図１５Ｂの“Ｍａｘ（１）”に表示されたように、３２ビットチェン検索が遂行され得る。読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１より多くて（例えば、図１５Ｂに示したように３２より多くて）、第２エラー数ＥＮ２以下である時（例えば、図１５Ｂに示したように４８以下である時）、チェン検索部４４０のチェン検索は図１５Ｂの“Ｍａｘ（２）”に表示されたようにハーフ動作モード（又はハーフ検索モード）に遂行され得る。ハーフ検索モードが選択されたことによって、１６ビットチェン検索（即ち、“Ｍａｘ（１）”に表示された３２ビットフル検索モードの半分である１６ビット）が遂行され得る。読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２より大きくて（例えば、図１５Ｂに示したように４８より大きくて）ｎ以下である時（即ち、図１５Ｂに示したように６４であるエラー訂正コードデコーダー４００の最大エラー訂正ビット数以下である時）、チェン検索部４４０のチェン検索はクォーター動作モード（又はクォーター検索モード）に遂行され得る。即ち、クォーター動作モードに動作するチェン検索部４４０によって８ビットチェン検索が遂行され得る（即ち、フル動作モードである３２ビットの１／４である８ビット）。読出しベクトルＲＶのエラー数が増加することによって、チェン検索を遂行するサイクルの数また増加する。即ち、図１５Ｂに示したように、エラー訂正デコーディングサイクルの数は“Ｍａｘ（１）”から“Ｍａｘ（３）”に増加する。
【０１８９】
図１６は本発明の第１実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。例示的に、読出しベクトルＲＶのエラー数は第１エラー数ＥＮ１（例えばｎ／４）以下であり得る。即ち、キー公式解き方部４３０及びチェン検索部４４０はオン・ザ・フライを支援できる。図６及び図１６を参照すれば、第１時間Ｔ１に第０チャンネルＣＨ０から第１読出しベクトルＲＶ１が受信され、第１チャンネルＣＨ１から第２読出しベクトルＲＶ２が受信される。
【０１９０】
例示的に、第０チャンネルＣＨ０及び第１チャンネルＣＨ１は互に独立的なチャンネルであり得る。第０チャンネルＣＨ０及び第１チャンネルＣＨ１は互に異なるメモリ装置に連結され得る。第０チャンネルＣＨ０及び第１チャンネルＣＨ１に互に独立的なエラー訂正デコーダー４００が提供され得る。以下で、チャンネルＣＨ０、ＣＨ１に関わらず、エラー訂正デコーダー４００及びそれの構成要素は同一な参照番号を利用して引用され得る。
【０１９１】
シンドロームＳ（ｘ）は読出しベクトルＲＶ及びパリティーチェック行列ＨＴの掛け算を通じて演算される。シンドロームＳ（ｘ）は簡単なプロセスを通じて演算され得り、したがって読出しベクトルＲＶの受信と共に遂行できる。第０チャンネルＣＨ０に対応するシンドローム演算部４２０は第１読出しベクトルＲＶ１の第１シンドロームＳ１（ｘ）を演算する。第１チャンネルＣＨ１に対応するシンドローム演算部４２０は第２読出しベクトルＲＶ２の第２シンドロームＳ２（ｘ）を演算する。
【０１９２】
第２時間Ｔ２に第１及び第２読出しベクトルＲＶ１、ＲＶ２の受信が終了される。第１及び第２読出しベクトルＲＶ１、ＲＶ２の受信が終了されることと共に、第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）の演算が終了される。演算された第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）はキー公式解き方部４３０へ伝達される。キー公式解き方部４３０は第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）に基づいて第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）を演算する。
【０１９３】
チャンネルＣＨ０、ＣＨ１及びシンドローム演算部４２０はレディ（ｒｅａｄｙ）状態に進入できる。第０チャンネルＣＨ０を通じて第３読出しベクトルＲＶ３が受信され、第１チャンネルＣＨ１を通じて第４読出しベクトルＲＶ４が受信される。シンドローム演算部４２０は第３及び第４読出しベクトルＲＶ３、ＲＶ４から第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）を演算することができる。
【０１９４】
第１及び第２読出しベクトルＲＶ１、ＲＶ２のエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー位置多項式Λ（ｘ）の演算サイクルはデータ入出力サイクルより少ないことがあり得る。即ち、第３及び第４読出しベクトルＲＶ３、ＲＶ４の受信が完了される前である第３時間Ｔ３に、第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）の演算が終了され得る。演算された第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）はチェン検索部４４０へ伝達される。
【０１９５】
チェン検索部４４０は演算された第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）に基づいてチェン検索を開始する。順方向チェン検索は読出しベクトルＲＶのデータ側の終端から順次的に遂行される。チェン検索の結果にしたがって、読出しベクトルＲＶのデータ側の終端から順次的にエラーが検索及び訂正され得る。即ち、エラー訂正はチェン検索と共に第３時間Ｔ３に遂行できる。
【０１９６】
キー公式解き方部４３０はレディ状態に進入する。
第４時間Ｔ４に、第３及び第４読出しベクトルＲＶ３、ＲＶ４の受信が終了され、第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）の演算が終了される。キー公式解き方部４３０がレディ状態であるので、演算された第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）はキー公式解き方部４３０へ伝達される。キー公式解き方部４３０は演算された第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）に基づいて、第３及び第４エラー位置多項式Λ３（ｘ）、Λ４（ｘ）の演算を遂行する。
【０１９７】
チャンネルＣＨ０、ＣＨ１及びシンドローム演算部４２０はレディ状態に進入する。第０チャンネルＣＨ０を通じて第５読出しベクトルＲＶ５が受信され、第１チャンネルＣＨ１を通じて第６読出しベクトルＲＶ６が受信される。シンドローム演算部４２０は第５及び第６読出しベクトルＲＶ５、ＲＶ６に基づいて第５及び第６シンドロームＳ５（ｘ）、Ｓ６（ｘ）を演算する。
【０１９８】
第１読出しベクトルＲＶ１のエラー訂正が完了されれば、第１エラー訂正されたデータベクトルＣＤＶ１が出力され得る。第５時間Ｔ５に、第１エラー訂正されたデータベクトルＣＤＶ１が出力され得る。第２エラー訂正されたデータベクトルＣＤＶ２は第１エラー訂正されたデータベクトルＣＤＶ１に続いて出力され得る。
【０１９９】
第１及び第２読出しベクトルＲＶ１、ＲＶ２のエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、チェン検索サイクルはデータ入出力サイクルより少ないことがあり得る。第３時間Ｔ３からデータ入出力サイクルより短いサイクルが経過した第６時間Ｔ６に、第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）に対するチェン検索が終了され得る。チェン検索部４４０はレディ状態に進入できる。
【０２００】
第７時間Ｔ７に、第３及び第４エラー位置多項式Λ３（ｘ）、Λ４（ｘ）の演算が終了される。チェン検索部４４０はチェン検索を開始し、キー公式解き方部４３０はレディ状態に進入する。
【０２０１】
第８時間Ｔ８に、第５及び第６読出しベクトルＲＶ５、ＲＶ６の受信、そして第５及び第６シンドロームＳ５（ｘ）、Ｓ６（ｘ）の演算が終了される。第５及び第６エラー位置多項式Λ５（ｘ）、Λ６（ｘ）の演算が開始される。第７及び第８読出しベクトルＲＶ７、ＲＶ８の受信及び第７及び第８シンドロームＳ７（ｘ）、Ｓ８（ｘ）の演算が開始される。
【０２０２】
図１７は本発明の第２実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。例示的に、読出しベクトルＲＶのエラー数は第１エラー数ＥＮ１（例えばｎ／４）より多くて第２エラー数ＥＮ２（例えばｎ／２）以下であり得る。図６及び図１７を参照すれば、第１時間Ｔ１に第０チャンネルＣＨ０から第１読出しベクトルＲＶ１が受信され、第１チャンネルＣＨ１から第２読出しベクトルＲＶ２が受信される。第１及び第２読出しベクトルＲＶ１、ＲＶ２に基づいて、シンドローム演算部４２０は第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）の演算が遂行される。
【０２０３】
第２時間Ｔ２に、第１及び第２読出しベクトルＲＶ１、ＲＶ２の受信、そして第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）の演算が終了される。演算された第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）はキー公式解き方部４３０へ伝達される。キー公式解き方部４３０は演算された第１及び第２シンドロームＳ１（ｘ）、Ｓ２（ｘ）に基づいて、第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）の演算を開始する。
【０２０４】
チャンネルＣＨ０、ＣＨ１及びシンドローム演算部４２０はレディ状態に進入する。第０チャンネルＣＨ０を通じて第３読出しベクトルＲＶ３が受信され、第１チャンネルＣＨ１を通じて第４読出しベクトルＲＶ４が受信される。第３及び第４読出しベクトルＲＶ３、ＲＶ４に基づいて、シンドローム演算部４２０は第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）を演算する。
【０２０５】
第３時間Ｔ３に、第３及び第４読出しベクトルの受信ＲＶ３、ＲＶ４、そして第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）の演算が終了される。しかし、キー公式解き方部４３０がビジー（ｂｕｓｙ）状態であるので、シンドローム演算部４２０は演算された第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）を維持する。
【０２０６】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より多くて第２エラー数ＥＮ２（例えばｎ／２）以下である時、エラー位置多項式Λ（ｘ）の演算サイクルはデータ入出力サイクルより多いことがあり得る。即ち、第２時間Ｔ２からデータ入出力サイクルより長いサイクルが経過した第４時間Ｔ４に、第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）の演算が終了される。演算された第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）はチェン検索部４４０へ伝達される。
【０２０７】
演算された第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）に基づいて、チェン検索部４４０はチェン検索を開始する。順方向チェン検索は読出しベクトルＲＶのデータ側の終端から順次的に遂行される。チェン検索の結果にしたがって、読出しベクトルＲＶのデータ側の終端から順次的にエラーが検索及び訂正され得る。即ち、エラー訂正はチェン検索と共に第３時間Ｔ３に遂行できる。
【０２０８】
キー公式解き方部４３０はレディ状態に進入する。
シンドローム生成部４２０は演算された第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）をキー公式解き方部４３０へ伝達する。演算された第３及び第４シンドロームＳ３（ｘ）、Ｓ４（ｘ）に基づいて、キー公式解き方部４３０は第３及び第４エラー位置多項式Λ３（ｘ）、Λ４（ｘ）を演算する。
【０２０９】
チャンネルＣＨ０、ＣＨ１及びシンドローム生成部４２０はレディ状態に進入する。第０チャンネルを通じて第５読出しベクトルＲＶ５が受信され、第１チャンネルを通じて第６読出しベクトルＲＶ６が受信される。受信される第５及び第６読出しベクトルＲＶ５、ＲＶ６に基づいて、シンドローム生成部４２０は第５及び第６シンドロームＳ５（ｘ）、Ｓ６（ｘ）を演算する。
【０２１０】
第１読出しベクトルＲＶ１のエラー訂正が完了されれば、第１エラー訂正されたデータベクトルＣＤＶ１が出力され得る。第５時間Ｔ５に、第１読出しデータベクトルＲＤＶ１が出力され得る。第２読出しデータベクトルＲＤＶ２は第１読出しデータベクトルＲＤＶ１に続いて出力され得る。
【０２１１】
第１及び第２読出しベクトルＲＶ１、ＲＶ２のエラー数が第１エラー数ＥＮ１（例えばｎ／４）より多くて第２エラー数ＥＮ２（例えばｎ／２）以下である時、チェン検索サイクルはデータ入出力サイクルより大きくなり得る。第４時間Ｔ４からデータ入出力サイクルより長いサイクルが経過した第６時間Ｔ６に、第１及び第２エラー位置多項式Λ１（ｘ）、Λ２（ｘ）に対するチェン検索が終了され得る。チェン検索部４４０はレディ状態に進入できる。
【０２１２】
上述されたように、読出しベクトルＲＶのエラー数にしたがって、エラー位置多項式Λ（ｘ）の演算サイクルが変化することができる。読出しベクトルＲＶのエラー数が増加するほど、エラー位置多項式Λ（ｘ）の演算サイクルが増加することができる。エラー位置多項式Λ（ｘ）の演算サイクルが増加又は減少する程度、チェン検索が開始されるタイミングは遅延されるか、或いは繰り上げられる。
【０２１３】
読出しベクトルＲＶのエラー数にしたがって、チェン検索サイクルが変化することができる。読出しベクトルＲＶのエラー数が閾値より多くなるほど、チェン検索サイクルが増加することができる。チェン検索サイクルが増加又は減少する程度、エラー訂正が開始されるタイミングは遅延されるか、或いは繰り上げられる。エラー位置多項式Λ（ｘ）の演算及びチェン検索は独立的なデコーディングステージを構成することができる。
【０２１４】
図１８は図１のコントローラ２００の動作方法の第２実施形態を示す順序図である。図１及び図１８を参照すれば、Ｓ９１０段階で書込みデータベクトルＷＤＶがコードベクトルＣＶにエンコーディングされる。Ｓ９２０段階で、コードベクトルＣＶがメモリ装置１００に書き込まれる。Ｓ９３０段階で、メモリ装置から読出しベクトルＲＶが読み出される。Ｓ９１０段階乃至Ｓ９３０段階は図２のＳ１１０段階乃至Ｓ１３０段階と同一な方法に遂行できる。
【０２１５】
Ｓ９４０段階で、読出しベクトルＲＶのエラー数にしたがって最大訂正時間を調節し、読出しベクトルＲＶのエラーが訂正される。
【０２１６】
図１９は図１８の最大エラー検索時間を調節し、読出しベクトルＲＶをデコーディングする段階を示す順序図である。図１９を参照すれば、Ｓ１０１０段階で読出しベクトルＲＶが受信される。Ｓ１０２０段階で、読出しベクトルＲＶのシンドロームＳ（ｘ）が演算される。Ｓ１０３０段階で、演算されたシンドロームＳ（ｘ）が０であるか否かを判別される。演算されたシンドロームＳ（ｘ）が０であれば、エラー訂正は終了される。演算されたシンドロームＳ（ｘ）が０でなければ、Ｓ１０４０段階が遂行される。Ｓ１０４０段階で、演算されたシンドロームＳ（ｘ）に基づいてエラー位置多項式Λ（ｘ）が演算される。Ｓ１０５０段階で、演算されたエラー位置多項式Λ（ｘ）に基づいて読出しベクトルＲＶのエラー数が測定される。Ｓ１０１０段階乃至Ｓ１０５０段階は図５を参照して説明されたＳ３１０段階乃至Ｓ３５０段階と同一な方法に遂行できる。
【０２１７】
Ｓ１０６０段階で、測定されたエラー数にしたがって最大エラー検索時間が調節される。そして、Ｓ１０７０段階で、調節された最大エラー検索時間に基づいてエラーが検索され、検索されたエラーが訂正される。
【０２１８】
シンドロームＳ（ｘ）の演算、エラー位置多項式Λ（ｘ）の演算、そしてチェン検索は図７乃至図１４を参照して説明された方法と同様に遂行できる。
【０２１９】
図１５乃至図１７を参照して説明されたように、シンドローム演算時間はエラーデコーディング時間の変化に影響を及ばないことがあり得る。
【０２２０】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、エラー位置多項式Λ（ｘ）の演算時間の最大値は第１解き方時間ＳＴ１であり得る。第１解き方時間ＳＴ１は読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）である時のエラー位置多項式Λ（ｘ）の演算時間（又はサイクル）に対応することができる。読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より大きくて第２エラー数ＥＮ２（例えばｎ／２）以下である時、エラー位置多項式Λ（ｘ）の演算時間の最大値は第２解き方時間ＳＴ２であり得る。第２解き方時間ＳＴ２は読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２（例えばｎ／２）である時のエラー位置多項式Λ（ｘ）の演算時間（又はサイクル）に対応することができる。読出しベクトルＲＶのエラー数がｎ以下である時、エラー位置多項式Λ（ｘ）の演算時間の最大値は第３解き方時間ＳＴ３であり得る。第３解き方時間ＳＴ３は読出しベクトルＲＶのエラー数がｎである時のエラー位置多項式Λ（ｘ）の演算時間（又はサイクル）に対応することができる。
【０２２１】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）以下である時、フル動作モードのチェン検索が遂行される。チェン検索時間は第１全体時間ＴＴ１又は第１データ時間ＤＴ１であり得る。第１全体時間ＴＴ１は読出しベクトルＲＶのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第１データ時間ＤＴ１は読出しベクトルＲＶのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【０２２２】
読出しベクトルＲＶのエラー数が第１エラー数ＥＮ１（例えばｎ／４）より多くて第２エラー数ＥＮ２（例えばｎ／２）以下である時、ハーフ動作モードのチェン検索が遂行される。チェン検索時間は第２全体時間ＴＴ２又は第２データ時間ＤＴ２であり得る。第２全体時間ＴＴ２は読出しベクトルＲＶのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第２データ時間ＤＴ２は読出しベクトルＲＶのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【０２２３】
読出しベクトルＲＶのエラー数が第２エラー数ＥＮ２（例えばｎ／２）より多くて第２閾値ＴＶ２以下である時、クォーター動作モードのチェン検索が遂行される。チェン検索時間は第３全体時間ＴＴ３又は第３データ時間ＤＴ３であり得る。第３全体時間ＴＴ３は読出しベクトルＲＶのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第３データ時間ＤＴ３は読出しベクトルＲＶのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【０２２４】
読出しベクトルＲＶの数が第２閾値ＴＶ２より多くてｎ以下である時、クォーター動作モードのチェン検索が遂行される。チェン検索時間は第３全体時間ＴＴ３であり得る。
【０２２５】
エラー訂正はチェン検索と共に遂行される。したがって、エラー訂正はエラーデコーディング時間の変化に影響を及ばないこともあり得る。
【０２２６】
エラー訂正時間の変化に影響を及ぶ時間はエラー位置多項式Λ（ｘ）の演算時間及びチェン検索時間であり得る。エラー位置多項式Λ（ｘ）の演算及びチェン検索は読出しベクトルＲＶのエラー数にしたがって調節される最大時間を有する。読出しベクトルＲＶのエラー数にしたがうキー公式解き方及びチェン検索の最大時間は表７であり得る。
【０２２７】
【表７】
0005946691.tif 000008
【０２２８】
即ち、読出しベクトルＲＶのエラー数にしたがって最大訂正時間が調節され得る。
図２０は図１のメモリシステム１０００の応用例を示すブロック図である。図２０を参照すれば、メモリシステム２０００はメモリ装置２１００及びコントローラ２２００を含む。メモリ装置２１００は複数のメモリチップを含む。複数のメモリチップは複数のグループに分割される。複数のメモリチップの各グループは１つの共通チャンネルを通じてコントローラ２２００と通信するように構成される。例示的に、複数のメモリチップは第１乃至第ｋチャンネルＣＨ１〜ＣＨｋを通じてコントローラ２２００と通信することに図示されている。例示的に、各チャンネルに複数のメモリチップの代わりに複数のメモリモジュールが連結され得る。
【０２２９】
コントローラ２２００はエラー訂正エンコーダー３００及びエラー訂正デコーダー４００を含む。エラー訂正エンコーダー３００及びエラー訂正デコーダー４００は図２乃至図１９を参照して説明されたように動作する。例えば、エラー訂正デコーダー４００は読出しベクトルＲＶのエラー数にしたがってサイクル当たり消耗電力又は最大訂正時間を調節し、エラー訂正を遂行できる。
【０２３０】
図２０で、１つのチャンネルに複数のメモリチップが連結されることに説明された。しかし、１つのチャンネルに１つのメモリチップが連結されるようにメモリシステム２０００が変形されることは理解できる。
【０２３１】
図２１は図２０を参照して説明されたメモリシステム２０００を含むコンピューティングシステム３０００を示すブロック図である。図２１を参照すれば、コンピューティングシステム３０００は中央処理装置３１００、ＲＡＭ３２００（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、使用者インターフェイス３３００、電源３４００、及びメモリシステム２０００を含む。
【０２３２】
メモリシステム２０００はシステムバス３５００を通じて、中央処理装置３１００、ＲＡＭ３２００、使用者インターフェイス３３００、及び電源３４００に電気的に連結される。使用者インターフェイス３３００を通じて提供されるか、或いは、中央処理装置３１００によって処理されたデータはメモリシステム２０００に格納される。
【０２３３】
図２１で、メモリ装置２１００はコントローラ２２００を通じてシステムバス３５００に連結されることに図示されている。しかし、メモリ装置２１００はシステムバス３５００に直接連結されるように構成され得る。
【０２３４】
図２１で、図２０を参照して説明されたメモリシステム２０００が提供されることに図示されている。しかし、メモリシステム２０００は図１を参照して説明されたメモリシステム１０００で代替され得る。
【０２３５】
例示的に、コンピューティングシステム３０００は図１及び図２１を参照して説明されたメモリシステム１０００、２０００を全て包含するように構成され得る。
【０２３６】
本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲と技術的な思想から逸脱しない限度内で様々な変形が可能である。したがって、本発明の範囲は上述した実施形態に限定されて決まってはならないし、後述する特許請求の範囲のみでなく、この発明の特許請求の範囲と均等物によって決まらなければならない。
【符号の説明】
【０２３７】
１０００、２０００・・・メモリシステム    
１００・・・メモリ装置
２００・・・コントローラ
３００・・・エラー訂正エンコーダー
４００・・・エラー訂正デコーダー
４１０・・・バッファ
４２０・・・シンドローム演算部
４３０・・・キー公式解き方部
４４０・・・チェン検索部
４５０・・・エラー訂正部
４６０・・・マルチプレクサー
４７０・・・制御部
【図１】
0005946691.tif 000009
【図２】
0005946691.tif 000010
【図３】
0005946691.tif 000011
【図４】
0005946691.tif 000012
【図５】
0005946691.tif 000013
【図６】
0005946691.tif 000014
【図７】
0005946691.tif 000015
【図８】
0005946691.tif 000016
【図９】
0005946691.tif 000017
【図１０】
0005946691.tif 000018
【図１１】
0005946691.tif 000019
【図１２】
0005946691.tif 000020
【図１３】
0005946691.tif 000021
【図１４】
0005946691.tif 000022
【図１５Ａ】
0005946691.tif 000023
【図１５Ｂ】
0005946691.tif 000024
【図１６】
0005946691.tif 000025
【図１７】
0005946691.tif 000026
【図１８】
0005946691.tif 000027
【図１９】
0005946691.tif 000028
【図２０】
0005946691.tif 000029
【図２１】
0005946691.tif 000030