説明

メモリコントローラ及びメモリコントローラの動作方法

【課題】メモリ装置を制御するメモリシステムのコントローラが提供される。
【解決手段】本発明のコントローラはコントローラによって受信された読出しベクトルのエラー位置多項式を演算するキー公式解き方部、演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも1つにしたがって受信された読出しベクトルのエラー数を測定する制御部、及び演算されたエラー位置多項式にしたがって受信された読出しベクトルのエラー位置を検索するチェン検索部に構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明はメモリコントローラ及びメモリコントローラの動作方法に関する。
【背景技術】
【0002】
半導体メモリ装置(semiconductor memory device)はシリコン(Si、silicon)、ゲルマニウム(Ge、Germanium)、ガリウムヒ素(GaAs、gallium arsenide)、リン化インジウム(InP、indium phospide)等のような半導体を利用して具現される記憶装置である。半導体メモリ装置は大きく揮発性メモリ装置(Volatile memory device)と不揮発性メモリ装置(Nonvolatile memory device)とに区分される。
【0003】
揮発性メモリ装置は電源供給が遮断されれば、格納しているデータが消滅されるメモリ装置である。揮発性メモリ装置にはSRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)等がある。不揮発性メモリ装置は電源供給が遮断されても格納しているデータを維持するメモリ装置である。不揮発性メモリ装置にはROM(Read Only Memory)、PROM(Programmable ROM)、EPROM(Electrically Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ装置、PRAM(Phase−change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)等がある。フラッシュメモリ装置は大きくNORタイプとNANDタイプとに区分される。
【0004】
半導体メモリ装置の格納容量を増加させるための方法として、半導体メモリ装置の集積度を向上させる方法とマルチデータを1つのメモリセルにプログラムする方法とが研究されている。半導体メモリ装置の集積度は工程の微細化を通じて具現され得る。1つのメモリセルにマルチデータをプログラムする方法はメモリセルに格納された論理値の散布を減少させることによって具現され得る。マルチデータを格納するメモリセルはマルチレベルセル(MLC、Multi Level Cell)と称される。
【0005】
向上された集積度及びマルチレベルセルの導入はエラー率の増加を発生させ得る。向上された集積度はメモリセルに格納されたデータがノイズに脆弱になり得る。マルチレベルセルは読出しマージンの減少を生じさせる。エラー率が増加することによって、メモリコントローラに具備されたエラー訂正機能が拡大されている。エラー訂正機能の拡大は電力消耗の増加を生じさせる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】韓国特許公開第10−2009−0021743号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明の目的は減少された電力消耗を有するメモリコントローラ及びメモリコントローラの動作方法を提供することにある。
【課題を解決するための手段】
【0008】
メモリ装置を制御する本発明の実施形態によるメモリシステムのコントローラは、前記コントローラによって受信された読出しベクトルのエラー位置多項式を演算するキー公式解き方部と、前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも1つにしたがって、前記受信された読出しベクトルのエラー数を測定する制御部と、前記演算されたエラー位置多項式にしたがって、前記受信された読出しベクトルのエラー位置を検索するチェン検索部と、を含む。
【0009】
実施形態として、前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置で前記受信された読出しベクトルのエラーを訂正するエラー訂正部をさらに含む。
【0010】
実施形態として、前記制御部は前記チェン検索部のサイクル当たり電力消耗を調節する。
【0011】
実施形態として、前記制御部は前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって前記受信された読出しベクトルで一回に検索されるビット数を調節することによって前記チェン検索部の前記サイクル当たり電力消耗を調節する。
【0012】
実施形態として、前記エラー数が予め設定された第1エラー数と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数をフル検索モードに同時に検索するように前記チェン検索部を制御する。
【0013】
実施形態として、前記エラー数が前記予め設定された第1エラー数より大きくて、予め設定された第2エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する。
【0014】
実施形態として、前記ハーフ検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記フル検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない。
【0015】
実施形態として、前記エラー数が前記予め設定された第2エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する。
【0016】
実施形態として、前記クォーター検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない。
【0017】
実施形態として、前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記チェン検索部を制御する。
【0018】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分とパリティー部分でチェン検索を実行するように前記チェン検索部を制御する。
【0019】
実施形態として、前記制御部は前記受信された読出しベクトルの前記エラー数にしたがって前記チェン検索部の最大訂正時間を調節する。
【0020】
実施形態として、前記エラー数が予め設定された第1エラー数より小さい時、前記制御部は前記チェン検索部の前記最大訂正時間を予め設定された第1解き方時間に調節する。
【0021】
実施形態として、前記エラー数が前記予め設定された第1エラー数より小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに動作するように前記チェン検索部を制御する。
【0022】
実施形態として、前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する。
【0023】
実施形態として、前記エラー数が前記予め設定された第2エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する。
【0024】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記チェン検索部の前記最大訂正時間を調節する。
【0025】
メモリ装置を含む本発明の実施形態によるメモリシステムを制御する方法は、前記メモリシステムのキー公式解き方部を利用して受信された読出しベクトルでエラー位置多項式を演算する段階と、前記メモリシステムの制御部を利用して前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも1つにしたがって前記受信された読出しベクトルのエラー数を測定する段階と、前記メモリシステムのチェン検索部を利用して前記演算されたエラー位置多項式にしたがって前記受信された読出しベクトルのエラー位置を検索する段階と、を含む。
【0026】
実施形態として、前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置でエラー訂正部を利用して前記受信された読出しベクトルのエラーを訂正する段階をさらに含む。
【0027】
実施形態として、前記制御部を利用して前記チェン検索部のサイクル当たり電力消耗を調節する段階をさらに含む。
【0028】
実施形態として、前記チェン検索部の前記サイクル当たり電力消耗を調節する段階は、前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって、前記制御部を利用して前記受信された読出しベクトルで同時に検索されるビット数を調節する段階を含む。
【0029】
実施形態として、前記エラー数が予め設定された第1エラー数と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0030】
実施形態として、前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0031】
実施形態として、前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗は前記フル検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない。
【0032】
実施形態として、前記エラー数が前記予め設定された第2エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0033】
実施形態として、前記クォーター検索モードの前記チェン検索部のサイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない。
【0034】
実施形態として、前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む。
【0035】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む。
【0036】
実施形態として、前記受信された読出しベクトルの前記エラー数にしたがって、前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む。
【0037】
実施形態として、前記エラー数が予め設定された第1エラー数より小さい時、前記制御部を利用して前記チェン検索部の最大訂正時間を予め設定された第1解き方時間に調節する段階をさらに含む。
【0038】
実施形態として、前記エラー数が前記予め設定された第1エラー数より小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0039】
実施形態として、前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0040】
実施形態として、前記エラー数が前記予め設定された第2エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の1/4を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む。
【0041】
実施形態として、前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む。
【0042】
少なくとも1つのメモリ装置と少なくとも1つのチャンネルを通じて連結されたコントローラを有する本発明の実施形態によるメモリシステムを制御する方法は、前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する段階と、前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも1つを調節する段階と、を含む。
【0043】
少なくとも1つのメモリ装置と少なくとも1つのチャンネルを通じて連結されたコントローラを有する本発明の実施形態によるメモリシステムのコントローラは、前記コントローラを利用して、受信された読出しベクトルのエラー数及びエラー位置情報を判別する前記コントローラのエラー訂正コードデコーダーと、前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも1つを調節する前記エラー訂正コードデコーダーの制御部と、を含む。
【発明の効果】
【0044】
本発明によれば、読出しベクトルのエラー数が測定され、測定されたエラー数にしたがってエラー訂正デコーダーの電力消耗が調節される。したがって、減少された電力消耗を有するメモリコントローラ及びメモリコントローラの動作方法が提供される。
【図面の簡単な説明】
【0045】
【図1】本発明の実施形態によるメモリシステムを示すブロック図である。
【図2】図1のコントローラの動作方法の第1実施形態を示す順序図である。
【図3】図2の書込みデータベクトルをエンコーディングする段階を示す順序図である。
【図4】コードベクトルの実施形態を示す。
【図5】図2のサイクル当たり電力消耗を調節し、読出しベクトルをデコーディングする段階を示す順序図である。
【図6】図1のエラー訂正デコーダーを示すブロック図である。
【図7】本発明の実施形態によるシンドローム演算方法を示す順序図である。
【図8】本発明の実施形態によるエラー位置多項式の演算方法を示す順序図である。
【図9】本発明の実施形態によるチェン検索方法を示す順序図である。
【図10】図6のチェン検索部の実施形態を示す。
【図11】フル動作モード、ハーフ動作モード、及びクォーター動作モードの時に実行されるチェン検索の実施形態を示す。
【図12】本発明の実施形態によるチェン検索動作モードを決定する方法を示す順序図である。
【図13】本発明の実施形態によるチェン検索の時にパリティー検索の可否を決定する方法を示す順序図である。
【図14】読出しベクトルのパリティー部分に対するチェン検索が省略される時の実施形態を示す。
【図15A】エラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。
【図15B】エラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。
【図16】本発明の第1実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。
【図17】本発明の第2実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。
【図18】図1のコントローラの動作方法の第2実施形態を示す順序図である。
【図19】図18の最大訂正時間を調節し、読出しベクトルをデコーディングする段階を示す順序図である。
【図20】図1のメモリシステムの応用例を示すブロック図である。
【図21】図20を参照して説明されたメモリシステムを含むコンピューティングシステムを示すブロック図である。
【発明を実施するための形態】
【0046】
以下で、本発明が属する技術分野で通常の知識を有する者が本発明の技術的思想を容易に実施できる程度に詳細に説明するために、本発明の実施形態を添付されたの図面を参照して説明する。
【0047】
図1は本発明の実施形態によるメモリシステム1000を示すブロック図である。図1を参照すれば、メモリシステム1000はメモリ装置100及びコントローラ200を含む。
【0048】
メモリ装置100はコントローラ200の制御にしたがって動作するように構成される。メモリ装置100はコントローラ200から受信されたコードベクトルCVを格納できる。メモリ装置100は格納されたベクトルを読み出して読出しベクトルRVとしてコントローラ200へ出力することができる。メモリ装置100は格納されたベクトルを削除できる。メモリ装置100はSRAM(Static RAM)、DRAM(Dynamic RAM)、SDRAM(Synchronous DRAM)等のような揮発性メモリ、又はROM(Read Only Memory)、PROM(Programmable ROM)、EPROM(Electrically Programmable ROM)、EEPROM(Electrically Erasable and Programmable ROM)、フラッシュメモリ、PRAM(Phase−change RAM)、MRAM(Magnetic RAM)、RRAM(登録商標)(Resistive RAM)、FRAM(登録商標)(Ferroelectric RAM)のような不揮発性メモリを包含できる。
【0049】
コントローラ200はメモリ装置100に連結される。即ち、コントローラ200はメモリ装置100と無線又は有線リンクを通じて連結され得る。ホスト10からの要請に応答してコントローラ200はメモリ装置100をアクセスするように構成される。ホスト10はコントローラと通信でき、プロセッサー、コンピューターでプログラム可能である論理装置、FPGA(Field Programmable Gate Array)、集積回路、携帯用メディアプレーヤー、セットトップボックス、サーバー、携帯電話、個人用デジタル装置、又は以外の本発明の技術的思想を具現する何らかの形態のホストであり得る。コントローラ200はエラー訂正エンコーダー300及びエラー訂正デコーダー400を含む。
【0050】
エラー訂正エンコーダー300はホスト10から書込みデータベクトルWDVを受信し、受信された書込みデータベクトルをコードベクトルCVにエンコーディングするように構成される。コードベクトルCVはメモリ装置100へ伝送され得る。エラー訂正デコーダー400はメモリ装置100から読出しベクトルRVを受信するように構成される。エラー訂正デコーダー400は読出しベクトルRVのエラーを訂正できる。エラー訂正デコーダー400はエラー訂正された読出しベクトルからエラー訂正されたデータベクトルCDVを取出し、取出されたエラー訂正されたデータベクトルCDVをホスト10へ伝送することができる。
【0051】
コントローラ200は多様な通信規格によってホスト10と通信できる。例えば、コントローラ200はUSB(Universal Serial Bus)、MMC(multimedia card)、PCI(peripheral component interconnection)、PCI−E(PCI−express)、ATA(Advanced Technology Attachment)、Serial−ATA、Parallel−ATA、SCSI(small computer small interface)、ESDI(enhanced small disk interface)、そしてIDE(Integrated Drive Electronics)、ファイアーワイヤ(Firewire)等のような多様な通信規格の中で少なくとも1つに基づいてホスト10と通信できる。
【0052】
コントローラ200及びメモリ装置100は1つの半導体装置として集積され得る。例示的に、コントローラ200及びメモリ装置100は1つの半導体装置に集積されてソリッドステートドライブ(SSD、Solid State Drive)を構成することができる。コントローラ200及びメモリ装置100は1つの半導体装置に集積されてメモリカードを構成することができる。例えば、コントローラ200及びメモリ装置100は1つの半導体装置に集積されてPCカード(PCMCIA、personal computer memory card international association)、コンパクトフラッシュ(登録商標)カード(CF)、スマトメディアカード(SM、SMC)、メモリスティック、マルチメディアカード(MMC、RS−MMC、MMCmicro)、SDカード(SD、miniSD、microSD、SDHC)、ユニバーサルフラッシュ記憶装置(UFS)等のようなメモリカードを構成することができる。
【0053】
他の例として、メモリシステム1000はコンピューター、UMPC(Ultra Mobile PC)、ワークステーション、ネットブック(net−book)、PDA(Personal Digital Assistants)、ポータブル(portable)コンピューター、ウェブタブレット(web tablet)、タブレットコンピューター(tablet computer)、無線電話機(wireless phone)、モバイルフォン(mobile phone)、スマートフォン(smart phone)、e−ブック(e−book)、PMP(portable multimedia player)、携帯用ゲーム機、ナビゲーション(navigation)装置、ブラックボックス(black box)、デジタルカメラ(digital camera)、DMB(Digital Multimedia Broadcasting)再生器、3次元テレビジョン(3−dimensional television)、スマートテレビジョン(smart television)、デジタル音声録音機(digital audio recorder)、デジタル音声再生器(digital audio player)、デジタル映像録画器(digital picture recorder)、デジタル映像再生器(digital picture player)、デジタル動画録画器(digital video recorder)、デジタル動画再生器(digital video player)、データセンターを構成するストレージ、情報を無線環境で送受信できる装置、ホームネットワークを構成する多様な電子装置の中で1つ、コンピューターネットワークを構成する多様な電子装置の中で1つ、テレマティクスネットワークを構成する多様な電子装置の中で1つ、RFID装置、又はコンピューティングシステムを構成する多様な構成要素の中で1つ等を構成することができる。
【0054】
例示的に、メモリ装置100又はメモリシステム1000は多様な形態のパッケージに実装され得る。例えば、メモリ装置100又はメモリシステム1000はPoP(Package on Package)、Ball grid arrays(BGAs)、Chip scale packages(CSPs)、Plastic Leaded Chip Carrier(PLCC)、Plastic Dual In Line Package(PDIP)、Die in Waffle Pack、Die in Wafer Form、Chip On Board(COB)、Ceramic Dual In Line Package(CERDIP)、Plastic Metric Quad Flat Pack(MQFP)、Thin Quad Flatpack(TQFP)、Small Outline(SOIC)、Shrink Small Outline Package(SSOP)、Thin Small Outline(TSOP)、Thin Quad Flatpack(TQFP)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)等のような方式にパッケージ化されて実装され得る。
【0055】
図2は図1のコントローラ200の動作方法の第1実施形態を示す順序図である。図1及び図2を参照すれば、S110段階で、エラー訂正エンコーダー300は書込みデータベクトルWDVをコードベクトルCVにエンコーディングする。S120段階で、コードベクトルCVはメモリ装置100に書き込まれる。
【0056】
S130段階で、メモリ装置100から読出しベクトルRVが読み出される。S140段階で、エラー訂正デコーダー400は読出しベクトルRVのエラー数にしたがってサイクル当たり電力消耗を調節し、読出しベクトルRVのエラーを訂正する。以下で、書込みデータベクトルWDVをコードベクトルCVにエンコーディングする段階(S110)と読出しベクトルRVのエラーを訂正する段階(S140)とが順に説明される。
【0057】
図3は図2の書込みデータベクトルWDVをエンコーディングする段階(S110)を示す順序図である。図1及び図3を参照すれば、S210段階でエラー訂正エンコーダー300は書込みデータベクトルWDVを受信する。例えば、書込みデータベクトルWDVは外部ホスト(例えば、図1に図示されたホスト10)から受信され得る。コントローラ200によってメモリ装置100から読出しベクトルRVが読み出され、読み出された読出しベクトルRVのエラーが訂正され(例えば、エラー訂正コードデコーダー400によって)、エラー訂正された読出しベクトルからコントローラ200によってエラー訂正されたデータベクトルCDVが取出され、そして取出されたエラー訂正されたデータベクトルCDVが書込みデータベクトルWDVとして使用され得る。
【0058】
S220段階で、エラー訂正エンコーダー300は生成行列Gと書込みデータベクトルWDVとを掛ける。例えば、生成行列GはBCH(Bose−Chaudhuri−Hocquenghem)コードの生成行列Gであり得る。掛け算の結果はコードベクトルCVであり得る。
【0059】
図4はコードベクトルCV及び読出しベクトルRVの実施形態を示す。図4を参照すれば、コードベクトルCVは書込みデータベクトルWDV及びパリティーベクトルPVを包含できる。パリティーベクトルPVは循環冗長検査コードCRCC(Cyclic Redundancy Check Code)であり得る。読出しベクトルRVは読出しデータベクトルRDV及び読出しパリティーベクトルRPVを包含できる。読出しデータベクトルRDVは書込みデータベクトルWDVがメモリ装置100に書き込まれ、読み出された結果であり得る。読出しパリティーベクトルRPVはパリティーベクトルPVがメモリ装置100に書き込まれ、読み出された結果であり得る。
【0060】
図5は図2のサイクル当たり電力消耗を調節し、読出しベクトルRVをデコーディングする段階(S140)を示す順序図である。図1及び図5を参照すれば、S310段階で読出しベクトルRVが受信される。S320段階で、読出しベクトルRVに基づいてシンドロームS(x)が演算される。エラー訂正デコーダー400は受信された読出しベクトルRVに基づいてシンドロームS(x)を演算することができる。図7に図示され、以下で説明されるように、シンドロームS(x)は読出しベクトルRVとパリティーチェック行列とを掛けることによって、演算され得る。S330段階で、シンドロームS(x)が0であるか否かを判別される(例えば、エラー訂正コードデコーダー400又はコントローラ200によって)。シンドロームS(x)が0であれば、読出しベクトルRVにエラーが存在しないことがあり得る。したがって、エラー訂正デコーダー400はエラー訂正を終了できる。シンドロームS(x)が0でなければ、読出しベクトルRVにエラーが存在することができる。シンドロームS(x)が0でなければ、S340段階が遂行される。
【0061】
S340段階で、読出しベクトルRVのエラー位置多項式Λ(x)が演算される。図8に図示され、以下で説明されるように、エラー訂正デコーダー400は演算されたシンドロームS(x)に基づいてエラー位置多項式Λ(x)を演算することができる。
【0062】
S350段階で、エラー位置多項式Λ(x)からエラー数が測定される。例えば、エラー訂正デコーダー400はエラー位置多項式Λ(x)の最高次項の指数に基づいて、読出しベクトルRVのエラー数を測定することができる。例えば、エラー位置多項式Λ(x)が64次多項式である時、測定されたエラー数は64であり得る。
【0063】
S360段階で、測定されたエラー数にしたがってサイクル当たり電力消耗が調節される。例えば、エラー訂正デコーダー400は読出しベクトルRVのエラー数が増加するほど、サイクル当たり電力消耗を減少できる。例えば、エラー訂正デコーダー400は同時に検索されるエラービット数を調節してサイクル当たり電力消耗を減少できる。図11に図示されたように、そして以下で説明されるように、同時に検出されるエラービット数はフル動作モードではないハーフ動作モード、又はクォーター動作モードを選択することによって、調節され得る。フル動作モードと比較する時、ハーフ動作モードでサイクル当たり半分の数のビットが同時に検索され得る。同様に、フル動作モードと比較する時、クォーター動作モードでサイクル当たり1/4の数のビットが同時に検索され得る。以下で説明されるように、ハーフ動作モード又はクォーター動作モードは各々予め設定された少なくとも1つのエラー数より読出しベクトルのエラー数が増加する時、選択され得る。したがって、読出しベクトルのエラー数が予め設定された少なくとも1つの閾値より大きい時、ハーフ又はクォーター動作モードで同時に検索されるビット数はフル動作モードで同時に検索されるビット数より少ない。ハーフ又はクォーター検索モードの電力消耗はフル検索モードの電力消耗より少ない。
【0064】
S370段階で、調節されたサイクル当たり電力消耗に基づいて読出しベクトルRVのエラーが検索され、検索されたエラーが訂正される。エラーはチェン検索部(例えば、図6に図示され、以下で説明されるチェン検索部440によって検索され、検索されたエラーはエラー訂正部450によって訂正され得る。
【0065】
図6は図1のエラー訂正デコーダー400を示すブロック図である。図6を参照すれば、エラー訂正デコーダー400はバッファ410、シンドローム演算部420、キー公式(Key Equation)解き方部430、チェン検索部440、エラー訂正部450、マルチプレクサー460、及び制御部470を含む。
【0066】
バッファ410はメモリ装置100から読み出された読出しベクトルRVを格納するように構成される。バッファに格納された読出しベクトルRVはエラー訂正部450及びマルチプレクサー460へ出力される。
【0067】
シンドローム演算部420はメモリ装置100から読み出された読出しベクトルRVに基づいてシンドロームS(x)を演算するように構成される。例えば、以下で図7を参照して説明されるように、シンドローム演算部420は受信された読出しベクトルRVとパリティーチェック行列とを掛けることによって、シンドロームS(x)を演算することができる。演算されたシンドロームS(x)はキー公式解き方部430へ出力される。演算されたシンドロームS(x)が0である時、シンドローム演算部420は制御部470へ提供される制御信号NESを活性化することができる。
【0068】
キー公式解き方部430はシンドローム演算部420から受信される演算されたシンドロームS(x)に基づいてエラー位置多項式Λ(x)を演算するように構成される。キー公式解き方部430は以下で図8を参照して説明される方法によって、エラー位置多項式Λ(x)を演算することができる。演算されたエラー位置多項式Λ(x)はチェン検索部440へ出力される。キー公式解き方部430はエラー位置多項式Λ(x)又はエラー位置多項式Λ(x)の指数に対する情報を制御部470へ出力することができる。例えば、エラー位置多項式Λ(x)の最高次項の次数が制御部470へ出力され得る。
【0069】
チェン検索部440は演算されたエラー位置多項式Λ(x)及び制御部470から受信される情報に基づいて、読出しベクトルRVのエラー位置を検索するように構成される。例えば、チェン検索部440はキー公式解き方部430から提供される情報に基づいて演算されたエラー位置多項式Λ(x)を検索することができる。検索結果は読出しベクトルRVのエラー位置に対応することができる。即ち、読出しベクトルRVのエラー位置を検索する動作はエラー位置多項式Λ(x)を検索する動作及び検索結果から読出しベクトルRVのエラー位置を判別する動作を包含できる。即ち、読出しベクトルRVのエラーの位置が判別され得る。読出しベクトルRVのエラー位置に対する情報はエラー位置情報ELIとしてエラー訂正部450へ出力される。
【0070】
エラー訂正部450はエラー位置情報ELIを利用してバッファ410に格納された読出しベクトルRVのエラーを訂正するように構成される。例えば、エラー訂正部450は読出しベクトルRVのビットの中でエラー位置情報ELIに対応するビットを反転できる(例えば、‘0’ビットを‘1’ビットに反転するか、或いは‘1’ビットを‘0’ビットに反転する)。エラー訂正部450の出力はマルチプレクサー460へ伝達される。
【0071】
マルチプレクサー460は制御部470の制御にしたがって、バッファ410から出力されるベクトル又はエラー訂正部450から出力されるベクトルをエラー訂正されたデータベクトルCDVとして出力することができる。制御部470はマルチプレクサー460へ選択信号SELを提供してバッファ410から出力されるデータベクトル又はエラー訂正部450から出力されるデータベクトルの選択を制御することができる。
【0072】
図1及び図6に図示されたように、制御部470はエラー訂正デコーダー400の諸般動作を制御するように構成される。制御部470はシンドローム演算部420から制御信号NESを受信する。制御信号NESが活性化される時、即ち演算されたシンドロームS(x)が0である時、制御部470はマルチプレクサー460がバッファ410の出力を出力するように選択信号SELを制御することができる。演算されたシンドロームS(x)が0ではない時、制御部470はマルチプレクサー460がエラー訂正部450の出力を出力するように選択信号SELを制御することができる(例えば、バッファ410からの読出しベクトルを選択するか、或いはエラー訂正部450からのエラー訂正されたデータベクトルCDVを選択する)。
【0073】
制御部470はキー公式解き方部430から伝送されるエラー位置多項式Λ(x)又はキー公式解き方部430から受信されるエラー位置多項式Λ(x)に対する情報を利用して読出しベクトルRVのエラー数を測定することができる。例えば、制御部470はエラー位置多項式Λ(x)の最高次項の指数を読出しベクトルRVのエラー数に識別することができる(例えば、エラー位置多項式Λ(x)の最高次項の次数が64であれば、エラー数を64と識別する)。測定されたエラー数に基づいて、制御部470はチェン検索部440のサイクル当たり電力消耗を調節することができる。例えば、制御部470はエラー数が増加するほど、チェン検索部440のサイクル当たり電力消耗を減少できる。例示的に、制御部470はチェン検索部440によって読出しデータベクトルの同時に検索されるビット数を調節することによって、チェン検索部440のサイクル当たり電力消耗を調節することができる。
【0074】
図7は本発明の実施形態によるシンドローム演算方法を示す順序図である。図6に図示されたシンドローム演算部420は図7に図示されたシンドローム演算方法を実行するように動作できる。図6及び図7を参照すれば、S410段階で読出しベクトルRVが受信される(例えば、読出しベクトルRVは図1に図示されたコントローラ200によって受信される)。例えば、メモリ装置100からシンドローム演算部420に読出しベクトルRVが受信され得る。
【0075】
S420段階で、読出しベクトルRV及びパリティーチェック行列Hが掛けられる。シンドローム演算部420は読出しベクトルRVに掛けられるパリティーチェック行列Hを格納できる。シンドローム演算部420は予め格納されたパリティーチェック行列H及びメモリ装置100から受信された読出しベクトルRVを掛けることができる。パリティーチェック行列H及び受信された読出しベクトルRVの掛け算の結果はシンドロームS(x)であり得る。
【0076】
S430段階で、掛け算の結果が0であるか否か、即ちシンドロームS(x)が0であるか否かを判別される。掛け算の結果が0でなければ、即ちシンドロームS(x)が0でなければ、S440段階でシンドロームS(x)が出力される。掛け算の結果が0であれば、即ちシンドロームS(x)が0であれば、S450段階で制御信号NESが活性化される。
【0077】
シンドローム演算部420は演算されたシンドロームS(x)が0であるか否かを判別することができる。演算されたシンドロームS(x)が0でなければ、シンドローム演算部420は演算されたシンドロームS(x)をキー公式解き方部430へ出力することができる。演算されたシンドロームS(x)が0であれば、シンドローム演算部420は制御部470によって受信される制御信号NESを活性化することができる。
【0078】
以下で、シンドローム演算方法が数学式を参照して説明される。例示的に、コードベクトルCVは数学式1であり得る。WDVは書込みデータベクトルであり、Gは生成行列(例えば、上述されたようなBCHコードに生成行列)である。
<数学式1>
CV=WDV×G
【0079】
メモリ装置100から読み出される読出しベクトルRVはエラーを包含できる。エラーを含む読出しベクトルRVは数学式2であり得る。WDVは書込みデータベクトルであり、Gは生成行列であり、Eはエラーベクトルである。
<数学式2>
RV=WDV×G+E
【0080】
読出しベクトルRVはパリティーチェック行列Hと掛けられる。パリティーチェック行列Hが掛けられた結果は数学式3であり得る。WDVは書込みデータベクトルであり、Gは生成行列であり、Eはエラーベクトルである。
<数学式3>
RV×H=WDV×G×H+E×H
【0081】
生成行列G及びパリティーチェック行列Hは数学式4の関係を満足させるように設定され得る。
<数学式4>
G×H=0
したがって、パリティーチェック行列Hが掛けられた結果は数学式5に整理され得る。
<数学式5>
RV×H=E×H
【0082】
掛け算の結果はシンドロームS(x)であり得る。シンドロームS(x)が0であれば、エラーが存在しないことと判別し、シンドロームS(x)が0でなければ、エラーが存在することと判別され得る。
【0083】
図8は本発明の実施形態によるエラー位置多項式Λ(x)の演算方法を示す順序図である。図6に図示されたキー公式解き方部430は図8に図示された方法によってエラー位置多項式Λ(x)を演算するように動作できる。以下で説明されるように、エラー位置多項式の係数は反復的に計算され得る。図6に図示された制御部470はチェン検索部440の動作モード(例えば、フル検索モード、ハーフ検索モード、又はクォーター検索モード)を選択することができる。検索モードはフル、ハーフ、及びクォーター検索モードに限定されないし、望む電力消耗にしたがって部分検索モードが決定され得る。図6及び図8を参照すれば、S510段階で、ゼロカウントZC及び変数nがリセットされる。例えば、キー公式解き方部430はゼロカウントZC及び変数nをリセットできる。以下で説明されるように、ゼロカウントZCはエラー位置多項式Λ(x)の計算された係数Λが‘0’である時、増加される。
【0084】
S520段階で、シンドロームS(x)及び以前段階の係数Λn−1を利用してディスクレパンシー(discrepancy)が演算される。以前段階の係数Λn−1が存在しない場合、即ち第1番目の係数Λが計算される場合、ディスクレパンシーはシンドロームS(x)に基づいて演算され得る。ディスクレパンシーはキー公式解き方部430によって演算され得る。
【0085】
S530段階で、演算されたディスクレパンシーに基づいて係数Λが演算される。係数Λはキー公式解き方部430によって演算され得る。
【0086】
S540段階で、演算された係数Λが0であるか否かを判別される。演算された係数Λが0であれば、S550段階で、ゼロカウントZCが増加される。以後に、S560段階で、ゼロカウントZCが第1閾値TV1と同一であるか、或いはそれより大きいかを判別される。ゼロカウントZCが第1閾値TV1と同一であるか、或いはそれより大きければ、エラー位置多項式Λ(x)の演算が終了される。エラーカウントZCが第1閾値TV1より小さいか、或いは演算された係数Λが0でなければ、S570段階が遂行される。S570段階で、変数nが増加される。以後に、S520段階が再び遂行される。
【0087】
即ち、キー公式解き方部430は演算された係数Λが0である回数が第1閾値TV1以上になる時まで変数nを増加させ、係数Λの演算を反複することができる。演算された係数Λはエラー位置多項式Λ(x)のn次項の係数であり得る。例示的に、エラー位置多項式は数学式6であり得る。
<数学式6>
Λ(x)=Λ+Λx+Λ+…+Λ
【0088】
例示的に、第1閾値TV1は3であり得る。即ち、エラー位置多項式Λ(x)の係数が3回以上0に演算される時、キー公式解き方部430はエラー位置多項式Λ(x)の演算を終了できる。
【0089】
エラー位置多項式Λ(x)の各根(root)は読出しベクトルRVのエラー位置を示し得る。即ち、エラー位置多項式Λ(x)の根の数に対応するエラーが読出しベクトルRVに存在することができる。エラー位置多項式Λ(x)の最高次項の次数(より詳細には係数が0でない最高次項の次数)は読出しベクトルRVのエラー数を示し得る。
【0090】
例示的に、キー公式解き方はバーレカンプマッシアルゴリズム(BMA、Berlekamp−Massey Algorithm)又は修正ユークリッドアルゴリズム(MEA、Modified Euclidean Algorithm)に基づいて遂行できる。
【0091】
図9は本発明の実施形態によるチェン検索方法を示す順序図である。図6及び図9を参照すれば、S610段階で、エラー数にしたがって同時に検索されるビット数が選択される。制御部470はキー公式解き方部430から受信される情報にしたがって読出しベクトルRVのエラー数を測定することができる。測定結果にしたがって、制御部470は同時に検索されるビット数を選択することができる。
【0092】
S620段階で、選択結果にしたがって検索スキームが調節される。例えば、制御部470は選択されたビット数に対応する検索スキームにしたがって検索を実行するようにチェン検索部440を制御することができる。
【0093】
同時に検索されるビット数にしたがってチェン検索部440の電力消耗が調節され得る。即ち、S610段階及びS620段階は図5のS360段階のサイクル当たり電力消耗を調節する段階の全て又は一部を構成することができる。
【0094】
S630段階で、順方向チェン検索が遂行される。順方向チェン検索は読出しベクトルRVのデータ側終端の第1番目のビットから最後ベクトルの順に遂行できる。チェン検索の時に、読出しベクトルRVのエラー位置が検索され得る。検索はS610段階で選択されたビット数の単位に遂行できる。
【0095】
チェン検索部440はエラー位置多項式Λ(x)に対して検索を遂行できる。チェン検索部440はエラー位置多項式Λ(x)の根(roots)を検索することができる。チェン検索部440が遂行する検索動作は、読出しベクトルRVのデータ側終端の第1番目のビットから選択されたビット数の単位にエラー位置を検索する動作に対応することができる。
【0096】
S640段階で、検索結果にしたがってエラーの位置が判別される。チェン検索部440は検索されたエラー位置多項式Λ(x)の根に基づいて、読出しベクトルRVのエラー位置を判別することができる。判別されたエラー位置にしたがって、チェン検索部440はエラー位置情報ELIを出力することができる。
【0097】
チェン検索が遂行されれば、エラー位置多項式Λ(x)の根が求められる。例示的に、エラー位置多項式Λ(x)が数学式6を満足する時、原始元素(α、primitiveelement)の自乗数(α)はエラー位置多項式Λ(x)の根であり得る。
<数学式7>
Λ(αi)=Λ+Λα+Λα2i+…+Λαni=0、又は
Λα+Λα2i+…+Λαni=−Λ
【0098】
エラー位置多項式Λ(x)の根は原始元素(α)の指数形態に表示され得る。読出しベクトルRVのエラーの位置はエラー位置多項式Λ(x)の根の指数の反転値であり得る。例えば、エラー位置多項式Λ(x)の根がα−kである時、読出しベクトルのk+1番目のビットがエラービットであり得る。より詳細には、読出しベクトルRVのパリティー側の終端からk+1番目のビットがエラービットであり得る。読出しベクトルRVの長さがcビットである時、エラー位置多項式Λ(x)の根はα乃至α−(c−1)の中での値であり得る。
【0099】
チェン検索が遂行されれば、エラー位置多項式Λ(x)の根が検索される。即ち、チェン検索結果にしたがって読出しベクトルRVのエラー位置が判別され得る。チェン検索部440は検索結果にしたがってエラー位置情報ELIをエラー訂正部450へ出力することができる。エラー訂正部450は読出しベクトルRVのビットの中でエラー位置情報ELIが示す位置のビットを反転することによって、読出しベクトルRVのエラーを訂正できる。即ち、S630段階及びS640段階は図5のエラー訂正する段階(S370)の全て又は一部を構成することができる。
【0100】
図10は図6のチェン検索部440の実施形態を示す。図10を参照すれば、第1乃至第n係数レジスターCR1〜CRnにエラー位置多項式Λ(x)の係数Λ〜Λが格納される。例えば、エラー位置多項式Λ(x)の係数Λ〜Λはキー公式解き方部430から伝送され得る。
【0101】
第1乃至第nシードレジスターSR1〜SRnにシードが格納される。例示的に、第1乃至第nシードレジスターSR1〜SRnに格納されたシードは原始元素(α)の自乗数であり得る。第1乃至第nシードレジスターSR1〜SRnに格納されるシードはα−c乃至α−ncであり得る。cは読出しベクトルRVの長さ、即ち読出しベクトルRVのビット数であり得る。
【0102】
第1乃至第n係数レジスターCR1〜CRnの出力、及び第1乃至第nシードレジスターSR1〜SRnの出力は乗算器によって各々掛けることができる。掛けられた結果は第1乃至第n係数マルチプレクサーMC1〜MCnの第1入力へ各々伝達され得る。第1乃至第n係数マルチプレクサーMC1〜MCnの第2入力に、第1乃至第nディレイD1〜Dnの出力が連結される。
【0103】
第1乃至第n係数マルチプレクサーMC1〜MCnは複数の乗算器の出力及び第1乃至第nのディレイD1〜Dnの出力の中で1つの出力を出力する。第1乃至第n係数マルチプレクサーMC1〜MCnは制御部470の制御にしたがって動作できる。第1乃至第n係数マルチプレクサーMC1〜MCnの出力は第1乃至第m並列検索ロジック441〜44mへ伝達される。
【0104】
第1並列検索ロジック441で、第1並列検索レジスターR1〜Rnが提供される。第1並列検索レジスターR1〜Rnに、原始元素(α)の自乗数(α、α、α)が格納される。例示的に、エラー位置多項式Λ(x)で常数(Λ)を除去し、係数Λ〜Λを1に置換し、αを代入した結果の各項が第1並列検索レジスターR1〜Rnに格納され得る。
【0105】
第1並列検索乗算器は第1乃至第n係数マルチプレクサーMC1〜MCnの出力と第1並列検索レジスターR1〜Rnの出力とを各々掛けることができる。第1並列検索乗算器の出力は第1並列検索加算器によって加えられる。第1並列検索加算器の出力は第1並列検索ロジック441の出力Λであり得る。
【0106】
第j並列検索ロジック44jで、第j並列検索レジスターRj〜Rnjが提供される。第j並列検索レジスターRj〜Rnjに、原始元素(α)の自乗数(α、α2j、αnj)が格納される。例示的に、エラー位置多項式Λ(x)で常数Λを除去し、係数Λ〜Λを1に置換し、αを代入した結果の各項が第j並列検索レジスターRj〜Rnjに格納され得る。
【0107】
第1乃至第nクォーターマルチプレクサーMQ1〜MQnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力値及び0値の中で1つの値を出力する。第1乃至第nクォーターマルチプレクサーMQ1〜MQnは制御部470の制御にしたがって動作できる。第1乃至第nクォーターマルチプレクサーMQ1〜MQnの出力は第j並列検索乗算器へ伝達される。
【0108】
第j並列検索乗算器は第1乃至第nクォーターマルチプレクサーMQ1〜MQnの出力と第j並列検索レジスターRj〜Rnjの出力とを各々掛けることができる。第j並列検索乗算器の出力は第j並列検索加算器によって加えることができる。第j並列検索加算器の出力は第j並列検索ロジック44jの出力Λjであり得る。
【0109】
第k並列検索ロジック44kで、第k並列検索レジスターRk〜Rnkが提供される。第k並列検索レジスターRk〜Rnkに、原始元素(α)の自乗数(α、α2k、αnk)が格納される。例示的に、エラー位置多項式Λ(x)で常数Λを除去し、係数Λ〜Λを1に置換し、αkを代入した結果の各項が第k並列検索レジスターRj〜Rnjに格納され得る。
【0110】
第1乃至第nハーフマルチプレクサーMH1〜MHnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力値及び0値の中で1つの値を出力する。第1乃至第nハーフマルチプレクサーMH1〜MHnは制御部470の制御にしたがって動作できる。第1乃至第nハーフマルチプレクサーMH1〜MHnの出力は第k並列検索乗算器へ伝達される。
【0111】
第k並列検索乗算器は第1乃至第nハーフマルチプレクサーMH1〜MHnの出力と第k並列検索レジスターRk〜Rnkの出力とを各々掛けることができる。第k並列検索乗算器の出力は第k並列検索加算器によって加えられる。第k並列検索加算器の出力は第k並列検索ロジック44kの出力Λkであり得る。
【0112】
第m並列検索ロジック44mで、第m並列検索レジスターRm〜Rnmが提供される。第m並列検索レジスターRm〜Rnmに、原始元素(α)の自乗数(α、α2m、αnm)が格納される。例示的に、エラー位置多項式Λ(x)で常数Λを除去し、係数Λ〜Λを1に置換し、αmを代入した結果の各項が第m並列検索レジスターRm〜Rnmに格納され得る。
【0113】
第1乃至第nフルマルチプレクサーMF1〜MFnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力値及び0値の中で1つの値を出力する。第1乃至第nフルマルチプレクサーMF1〜MFnは制御部470の制御にしたがって動作できる。第1乃至第nフルマルチプレクサーMF1〜MFnの出力は第m並列検索乗算器へ伝達される。
【0114】
第m並列検索乗算器は第1乃至第nフルマルチプレクサーMF1〜MFnの出力と第m並列検索レジスターRm〜Rnmの出力とを各々掛けられる。第m並列検索乗算器の出力は第m並列検索加算器によって加えられる。第m並列検索加算器の出力は第m並列検索ロジック44kの出力Λmであり得る。
【0115】
第1乃至第m並列検索乗算器の出力は第1乃至第nマルチプレクサーM1〜Mnへ伝達される。例えば、第1並列検索レジスターR1と連結された第1並列検索乗算器、第j並列検索レジスターRjと連結された第j並列検索乗算器、第k並列検索レジスターRkと連結された第k並列検索乗算器、及び第m並列検索レジスターRmと連結された第m並列検索乗算器の出力は第1マルチプレクサーM1へ伝達され得る。第1並列検索レジスターRnと連結された第1並列検索乗算器、第j並列検索レジスターRnjと連結された第j並列検索乗算器、第k並列検索レジスターRnkと連結された第k並列検索乗算器、及び第m並列検索レジスターRnmと連結された第m並列検索乗算器の出力は第1マルチプレクサーMnへ伝達され得る。
【0116】
第1乃至第nマルチプレクサーM1〜Mnは制御部470の制御にしたがって入力信号の中で1つの入力信号を選択して出力することができる。例えば、第1乃至第nマルチプレクサーM1〜Mnは第1並列検索乗算器の出力、第j並列検索乗算器の出力、第k並列検索乗算器の出力、又は第m並列検索乗算器の出力を出力することができる。第1乃至第nマルチプレクサーM1〜Mnの出力は第1乃至第nディレイD1〜Dnへ各々伝達される。
【0117】
並列検索ロジック441〜44mは読出しベクトルRVの互に異なるエラー位置を検索することができる。並列検索ロジック441〜44mは複数のエラー位置を並列的に(又は同時に)検索することができる。チェン検索部440の並列検索ロジック441〜44mは制御部470の制御にしたがって活性化又は非活性化され得る。チェン検索部440は制御部470の制御にしたがって同時に検索するビット数を調節することができる。チェン検索部440は制御部470の制御にしたがってサイクル当たり電力消耗又は最大訂正時間を調節することができる。以下で、チェン検索部440の動作が表を参照して詳細に説明される。
【0118】
(フル検索モード)
フル検索モードで、第1乃至第nクォーターマルチプレクサーMQ1〜MQnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力するように制御される。第1乃至第nハーフマルチプレクサーMH1〜MHnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力するように制御される。そして、第1乃至第nフルマルチプレクサーMF1〜MFnは第1第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力するように制御される。第1乃至第nマルチプレクサーM1〜Mnは第m並列検索乗算器の出力を出力するように構成される。
【0119】
第1番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは乗算器の出力を出力するように制御される。第1乃至第n係数マルチプレクサーMC1〜MCnの出力は第1乃至第m並列検索ロジックへ伝達される。この時、第1乃至第n並列検索ロジック441〜44nの出力は表1であり得る。
【0120】
【表1】

【0121】
第1並列検索ロジック441の出力Λ1はエラー位置多項式Λ(x)にα−(c−1)を代入することによって得られる。即ち、第1並列検索ロジック441は読出しベクトルRVのc−1番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第1並列検索ロジック441は読出しベクトルRVのデータ側の終端から第1番目のビットによってエラーが存在するするか否かを検索する。第1並列検索ロジック441の出力Λが−Λであれば、エラーが存在することと判別され得る。
【0122】
第j並列検索ロジック44jの出力Λjはエラー位置多項式Λ(x)にα−(c−j)を代入することによって得られる。即ち、第j並列検索ロジック44jは読出しベクトルRVのc−j番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第j並列検索ロジック44jは読出しベクトルRVのデータ側の終端からj番目のビットによってエラーが存在するするか否かを検索する。第j並列検索ロジック441の出力Λjが−Λであれば、エラーが存在することと判別され得る。
【0123】
第k並列検索ロジック44kの出力Λkはエラー位置多項式Λ(x)にα−(c−k)を代入することによって得られる。即ち、第k並列検索ロジック44jは読出しベクトルRVのc−k番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第k並列検索ロジック44kは読出しベクトルRVのデータ側の終端からk番目のビットによってエラーが存在するするか否かを検索する。第k並列検索ロジック441の出力Λkが−Λであれば、エラーが存在することと判別され得る。
【0124】
第m並列検索ロジック44mの出力Λmはエラー位置多項式Λ(x)にα−(c−m)を代入することによって得られる。即ち、第m並列検索ロジック44mは読出しベクトルRVのc−m番目のビットによってエラーが存在するするか否かを検索する。より詳細には、第m並列検索ロジック44mは読出しベクトルRVのデータ側の終端からm番目のビットによってエラーが存在するするか否かを検索する。第m並列検索ロジック441の出力Λが−Λであれば、エラーが存在することと判別され得る。
【0125】
即ち、フルモードの第1番目のサイクルで、第1乃至第m並列検索ロジックは読出しベクトルのデータ側の終端から第1番目乃至m番目のビットの位置にエラーが存在するするか否かを同時に検索することができる。
【0126】
第2番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは第1乃至第nディレイD1〜Dnの出力を選択することができる。即ち、第1番目のサイクルの第m並列検索乗算器の出力に第m並列検索レジスターの出力が掛けられる。この時、チェン検索部440の出力は表2であり得る。
【0127】
【表2】

【0128】
第1並列検索ロジック441の出力Λはエラー位置多項式Λ(x)にα−(c−m−1)を代入することによって得られる。即ち、第1並列検索ロジック441は読出しベクトルRVのデータ側の終端からm+1番目のビットの位置にエラーが存在するするか否かを検索する。
【0129】
第j並列検索ロジック44jの出力Λjはエラー位置多項式Λ(x)にα−(c−m−j)を代入することによって得られる。即ち、第j並列検索ロジック44jは読出しベクトルRVのデータ側の終端からm+j番目のビットの位置にエラーが存在するするか否かを検索する。
【0130】
第k並列検索ロジック44kの出力Λkはエラー位置多項式Λ(x)にα−(c−m−k)を代入することによって得られる。即ち、第k並列検索ロジック44kは読出しベクトルRVのデータ側の終端からm+k番目のビットの位置にエラーが存在するするか否かを検索する。
【0131】
第m並列検索ロジック44mの出力Λmはエラー位置多項式Λ(x)にα−(c−2m)を代入することによって得られる。即ち、第m並列検索ロジック44mは読出しベクトルRVのデータ側の終端から2m番目のビットの位置にエラーが存在するするか否かを検索する。
【0132】
上述されたように、第1番目のサイクルで、読出しベクトルRVのデータ側の終端から第1番目乃至m番目のビットの位置にエラーが存在するするか否かを検索される。第2番目のサイクルで、読出しベクトルRVのデータ側の終端からm+1番目乃至2m番目のビットの位置にエラーが存在するするか否かを検索される。即ち、フル検索モードで、チェン検索部440は同時にm個のビットを検索することができる。
【0133】
(ハーフ(half)動作モード)
ハーフ動作モードで、第1乃至第nクォーターマルチプレクサーMQ1〜MQn及び第1乃至第nハーフマルチプレクサーMH1〜MHnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力することができる。第1乃至第nフルマルチプレクサーMF1〜MFnは0値を出力することができる。第1乃至第nフルマルチプレクサーMF1〜MFnが0値を出力すれば、第m並列検索乗算器は常に0値を出力する。即ち、第m並列検索ロジックは非活性化される。非活性化された第m並列検索ロジックの電力消耗は最小化になり得る。
【0134】
ハーフ動作モードで、第1乃至第nマルチプレクサーM1〜Mnは第k並列検索乗算器の出力を選択することができる。
【0135】
第1番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは乗算器の出力を選択する。第m並列検索ロジックが非活性化されることを除外すれば、ハーフ動作モードの第1番目のサイクルの出力はフル動作モードの第1番目のサイクルの出力と同一であり得る。ハーフ動作モードの第1番目のサイクルの出力は表3であり得る。
【0136】
【表3】

【0137】
即ち、ハーフ動作モードの第1番目のサイクルで、チェン検索部440は読出しベクトルRVのデータ側終端から第1番目乃至k番目のビットの位置にエラーが存在するするか否かを検索することができる。
【0138】
第2番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは第1乃至第nディレイD1〜Dnの出力を選択する。即ち、第1番目のサイクルの第k並列検索乗算器の出力に第k並列検索レジスターの出力が掛けられる。この時、チェン検索部440の出力は表4であり得る。
【0139】
【表4】

【0140】
第1並列検索ロジック441の出力Λ1はエラー位置多項式Λ(x)にα−(c−k−1)を代入することによって得られる。即ち、第1並列検索ロジック441は読出しベクトルRVのデータ側の終端からk+1番目のビットの位置にエラーが存在するするか否かを検索する。
【0141】
第j並列検索ロジック44jの出力Λjはエラー位置多項式Λ(x)にα−(c−k−j)を代入することによって得られる。即ち、第j並列検索ロジック44jは読出しベクトルRVのデータ側の終端からk+j番目のビットの位置にエラーが存在するするか否かを検索する。
【0142】
第k並列検索ロジック44kの出力Λkはエラー位置多項式Λ(x)にα−(c−2k)を代入することによって得られる。即ち、第k並列検索ロジック44kは読出しベクトルRVのデータ側の終端から2k番目のビットの位置にエラーが存在するするか否かを検索する。
【0143】
上述されたように、第1番目のサイクルで、読出しベクトルRVのデータ側の終端から第1番目の乃至k番目のビットの位置にエラーが存在するするか否かを検索される。第2番目のサイクルで、読出しベクトルRVのデータ側の終端からk+1番目乃至2k番目のビットの位置にエラーが存在するするか否かを検索される。即ち、ハーフ検索モードで、チェン検索部440は同時にk個のビットを検索することができる。
【0144】
kはmより小さいことがあり得る。第k並列検索ロジックと第m並列検索ロジックとの間に、少なくとも1つ又はその以上の並列検索ロジックが提供され得る。第m並列検索ロジックが非活性化される時、第k並列検索ロジックと第m並列検索ロジックとの間の少なくとも1つ又はその以上の並列検索ロジックが共に非活性化され得る。
【0145】
kはm/2であり得る。即ち、フル動作モードと比較する時、ハーフ動作モードは半分の検索容量を有することができる。
【0146】
ハーフ動作モードで、フル動作モードより少ない数の並列検索ロジックが活性化される。したがって、ハーフ動作モードのサイクル当たり電力消耗はフル動作モードのサイクル当たり電力消耗より少ない。
【0147】
(クォーター(Quarter)動作モード)
クォーター動作モードで、第1乃至第nクォーターマルチプレクサーMQ1〜MQnは第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力することができる。第1乃至第nハーフマルチプレクサーMH1〜MHn及び第1乃至第nフルマルチプレクサーMF1〜MFnは0値を出力することができる。第1乃至第nハーフマルチプレクサーMH1〜MHn及び第1乃至第nフルマルチプレクサーMF1〜MFnが0値を出力すれば、第k並列検索乗算器及び第m並列検索乗算器は常に0値を出力する。即ち、第k並列検索ロジック及び第m並列検索ロジックは非活性化される。非活性化された第k並列検索ロジック及び第m並列検索ロジックの電力消耗は最小化になり得る。
【0148】
クォーター動作モードで、第1乃至第nマルチプレクサーM1〜Mnは第j並列検索乗算器の出力を選択することができる。
【0149】
第1番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは乗算器の出力を選択する。第k及び第m並列検索ロジックが非活性化されることを除外すれば、クォーター動作モードの第1番目のサイクルの出力はフル動作モードの第1番目のサイクルの出力と同一であり得る。ハーフ動作モードの第1番目のサイクルの出力は表5であり得る。
【0150】
【表5】

【0151】
即ち、クォーター動作モードの第1番目のサイクルで、チェン検索部440は読出しベクトルRVのデータ側終端から第1番目乃至j番目のビットの位置にエラーが存在するするか否かを検索することができる。
【0152】
第2番目のサイクルで、第1乃至第n係数マルチプレクサーMC1〜MCnは第1乃至第nディレイD1〜Dnの出力を選択する。即ち、第1番目のサイクルの第j並列検索乗算器の出力に第j並列検索レジスターの出力が掛けられる。この時、チェン検索部440の出力は表6であり得る。
【0153】
【表6】

【0154】
第1並列検索ロジック441の出力Λ1はエラー位置多項式Λ(x)にα−(c−j−1)を代入することによって得られる。即ち、第1並列検索ロジック441は読出しベクトルRVのデータ側の終端からj+1番目のビットの位置にエラーが存在するするか否かを検索する。
【0155】
第j並列検索ロジック44jの出力Λjはエラー位置多項式Λ(x)にα−(c−2j)を代入することによって得られる。即ち、第j並列検索ロジック44jは読出しベクトルRVのデータ側の終端から2j番目のビットの位置にエラーが存在するするか否かを検索する。
【0156】
上述されたように、第1番目のサイクルで、読出しベクトルRVのデータ側の終端から第1番目乃至j番目のビットの位置にエラーが存在するするか否かを検索される。第2番目のサイクルで、読出しベクトルRVのデータ側の終端からj+1番目乃至2j番目のビットの位置にエラーが存在するするか否かを検索される。即ち、クォーター検索モードで、チェン検索部440は同時にj個のビットを検索することができる。
【0157】
jはkより小さいことがあり得る。第j並列検索ロジックと第k並列検索ロジックとの間に、少なくとも1つ又はその以上の並列検索ロジックが提供され得る。第k並列検索ロジックが非活性化される時、第j並列検索ロジックと第k並列検索ロジックとの間の少なくとも1つ又はその以上の並列検索ロジックが共に非活性化され得る。
【0158】
jはk/2であり得る。即ち、ハーフ動作モードと比較する時、クォーター動作モードは半分の検索容量を有することができる。
【0159】
クォーター動作モードで、ハーフ動作モードより少ない数の並列検索ロジックが活性化される。したがって、クォーター動作モードのサイクル当たり電力消耗はハーフ動作モードのサイクル当たり電力消耗より少ない。
【0160】
読出しベクトルRVのエラー数にしたがってチェン検索部440で同時に検索されるビット数が調節され得る。例えば、チェン検索部440をフル動作モード、ハーフ動作モード、又はクォーター動作モードに制御することによって、チェン検索部440で同時に検索されるビット数が調節され得る。チェン検索部440で同時に検索されるビット数が調節される時、チェン検索部440のサイクル当たり電力消耗が調節され得る。
【0161】
図11はフル動作モード、ハーフ動作モード、及びクォーター動作モードの時に実行されるチェン検索の実施形態を示す。図11を参照すれば、クォーター動作モードの時に、読出しベクトルRVのデータ側の終端からjビットの単位にチェン検索が遂行される。ハーフ動作モードの時に、読出しベクトルRVのデータ側の終端からkビットの単位にチェン検索が遂行される。モードの時に、読出しベクトルRVのデータ側の終端からmビットの単位にチェン検索が遂行される。
【0162】
本発明の実施形態によるチェン検索部440は読出しベクトルRVのデータ側の終端からエラーの可否を検索する。即ち、チェン検索部440は順方向(forward)チェン検索を遂行できる。順方向チェン検索が遂行されれば、読出しベクトルRVのデータ側の終端から順次的にエラー位置が判別及び訂正され得る。
【0163】
図12は本発明の実施形態によるチェン検索動作モードを決定する方法を示す順序図である。図6、図10、及び図12を参照すれば、S710段階で、測定されたエラー数が第1エラー数EN1以下であるか否かが判別される。測定されたエラー数が第1エラー数EN1以下であれば、S720段階でフル動作モードが活性化される。測定されたエラー数が第1エラー数EN1以下である時、制御部470は第1乃至第nクォーターマルチプレクサーMQ1〜MQn、第1乃至第nハーフマルチプレクサーMH1〜MHn、及び第1乃至第nフルマルチプレクサーMF1〜MFnが第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力するように制御することができる。制御部470は第1乃至第nマルチプレクサーM1〜Mnが第m並列検索乗算器の出力を選択するように制御することができる。
【0164】
測定されたエラー数が第1エラー数EN1より大きければ、S730段階が遂行される。S730段階で、測定されたエラー数が第2エラー数EN2以下であるか否かが判別される。測定されたエラー数が第2エラー数EN2以下であれば、S740段階でハーフ動作モードが活性化される。測定されたエラー数が第2エラー数EN2以下である時、制御部470は第1乃至第nクォーターマルチプレクサーMQ1〜MQn及び第1乃至第nハーフマルチプレクサーMH1〜MHnが第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力し、第1乃至第nフルマルチプレクサーMF1〜MFnが0値を出力するように制御することができる。制御部470は第1乃至第nマルチプレクサーM1〜Mnが第k並列検索乗算器の出力を選択するように制御することができる。
【0165】
測定されたエラー数が第2エラー数EN2より大きければ、S750段階が遂行される。S750段階で、クォーター動作モードが活性化される。制御部470は第1乃至第nクォーターマルチプレクサーMQ1〜MQnが第1乃至第n係数マルチプレクサーMC1〜MCnの出力を出力するように制御し、第1乃至第nハーフマルチプレクサーMH1〜MHn及び第1乃至第nフルマルチプレクサーMF1〜MFnが0値を出力するように制御することができる。制御部470は第1乃至第nマルチプレクサーM1〜Mnが第j並列検索乗算器の出力を選択するように制御することができる。
【0166】
例示的に、第2エラー数EN2は第1エラー数EN1より大きくなり得る。即ち、読出しベクトルRVのエラー数が増加することによって、制御部470は活性化される並列検索ロジックの数を減少できる。読出しベクトルRVのエラー数が増加することによって、チェン検索部440のサイクル当たり電力消耗が減少することができる。
【0167】
例示的に、第1エラー数EN1はエラー訂正デコーダー400(図1参照)のエラー訂正ビット数の1/4であり得る。第2エラー数EN2はエラー訂正デコーダー400のエラー訂正ビット数の1/2であり得る。
【0168】
S710段階乃至S750段階で、測定されたエラー数にしたがってフル動作モード、ハーフ動作モード、又はクォーター動作モードが選択される。フル動作モード、ハーフ動作モード、及びクォーター動作モードで、同時に検索されるビット数は互に異なり、サイクル当たり電力消耗が互に異なる。即ち、測定されたエラー数にしたがって、サイクル当たり電力消耗が調節され得る。S710段階乃至S750段階は図9を参照して説明されたS610段階及びS620段階の全て又は一部を構成することができる。
【0169】
図13は本発明の実施形態によるチェン検索の時にパリティー検索の可否を決定する方法を示す順序図である。図13は読出しベクトルRVの読出しパリティーベクトルRPVがチェン検索の時に検索されなければならないかを判別する方法を示す。この方法は読出しベクトルRVの読出しデータ部分が検索されるか、又は読出しデータ部分とパリティーデータ部分とが検索されるか否かを判別することができる。図6及び図13を参照すれば、S810段階で測定されたエラー数が第2閾値TV2以下であるか否かが判別される。測定されたエラー数が第2閾値TV2以下であれば、S820段階で読出しベクトルRVのデータ部分に対するチェン検索が遂行され、読出しベクトルRVのパリティー部分に対するチェン検索が省略される。測定されたエラー数が第2閾値TV2より大きければ、S830段階で読出しベクトルRVのデータ部分及びパリティー部分に対するチェン検索が遂行される。
【0170】
即ち、制御部470は測定されたエラー数が第2閾値TV2以下である時、読出しベクトルRVのデータ部分に対してのみにチェン検索を実行するようにチェン検索部440を制御することができる。制御部470は測定されたエラー数が第2閾値TV2より大きい時、読出しベクトルRVのデータ部分及びパリティー部分に対してチェン検索を実行するようにチェン検索部440を制御することができる。
【0171】
読出しベクトルRVのデータ部分及びパリティー部分に対してチェン検索が遂行される時、チェン検索は図11に図示されたように遂行できる。読出しベクトルRVのパリティー部分に対するチェン検索が省略される時の実施形態は図14に図示されている。
【0172】
図11に図示された実施形態と比較すれば、図14で読出しベクトルRVのパリティー部分に対するチェン検索は遂行されない。例えば、フル動作モード、ハーフ動作モード、及びクォーター動作モードで、読出しベクトルRVのパリティー部分に対するチェン検索は省略される。
【0173】
エラー位置多項式Λ(x)の最高次項の係数Λが0である時、読出しベクトルRVのエラー数はn−1個であるか、或いはそれより小さいことであり得る。即ち、エラー位置多項式Λ(x)の最高次項の係数Λが0である時、読出しベクトルRVのデータ部分に対してのみにチェン検索が遂行されても読出しベクトルRVからエラー訂正された読出しデータベクトルが獲得され得る。
【0174】
エラー位置多項式Λ(x)の最高次項の係数Λが0でない時、読出しベクトルRVのエラー数はn個であるか、或いはそれより大きくなり得る。この時、読出しベクトルRVに対してチェン検索が遂行され、以後に追加的なエラー検索及び訂正動作が要求され得る。
【0175】
エラー位置多項式Λ(x)の最高次項の係数Λが0である時、即ちチェン検索を通じて読出しベクトルRVのデータ部分のエラー検索を通じてエラー訂正が可能である時、読出しベクトルRVのパリティー部分に対するチェン検索が省略され得る。読出しベクトルRVのパリティー部分に対するチェン検索を省略することによって、チェン検索に消耗される電力及び時間が減少され得る。
【0176】
エラー訂正デコーダー400の信頼性を向上させるために、マージンが付与され得る。例えば、第2閾値TV2は3に設定され得る。即ち、エラー位置多項式Λ(x)の最上位3項の係数Λ、Λn−1、Λn−2が0である時、読出しベクトルRVのパリティー部分に対するチェン検索が省略され得る。第2閾値TV2は3に限定されなく、エラー訂正デコーダー400の構成、信頼性等の多様な条件にしたがって変更及び応用され得る。
【0177】
図15Aはエラー個数にしたがうエラー訂正デコーディングサイクルを示すグラフである。図15Aで、横軸は読出しベクトルRVのエラー数を示し、縦軸はエラー訂正デコーディングサイクルを示す。変数nはエラー訂正デコーダー400の最大訂正ビット数に対応する。
【0178】
第1線L1はエラー位置多項式Λ(x)の演算の時に要求されるサイクルを示す。図8を参照して説明されたように、エラー位置多項式Λ(x)の演算は反複的な方法に遂行され、特定条件が満足される時終了される。即ち、エラー位置多項式Λ(x)の演算の時に要求されるサイクルは読出しベクトルRVのエラー数が増加することによって増加することができる。
【0179】
第2線L2はチェン検索の時に要求されるサイクルを示す。例示的に、読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、フル動作モードのチェン検索が遂行できる。読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より大きくて第2エラー数EN2(例えばn/2)以下である時、ハーフ動作モードのチェン検索が遂行できる。読出しベクトルRVのエラー数が第2エラー数EN2(例えばn/2)より大きくてn以下である時、クォーター動作モードのチェン検索が遂行できる。即ち、読出しベクトルRVのエラー数が増加するほど、チェン検索の時に要求されるサイクルの数が増加することができる。
【0180】
第3線L3はコントローラ200のデータ入出力サイクルであり得る。読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー位置多項式Λ(x)の演算サイクル及びチェン検索サイクルはデータ入出力サイクルより少なく設定され得る。読出しベクトルRVの数が第1エラー数EN1(例えばn/4)より大きい時、エラー位置多項式Λ(x)の演算サイクル及びチェン検索サイクルはデータ入出力サイクルより大きく設定され得る。
【0181】
例えば、読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー位置多項式Λ(x)の演算に要求されるサイクルがデータ入出力サイクルと同一であるか、或いはそれより小さくなるように、キー検索解き方部430が構成され得る。この時、エラー位置多項式Λ(x)の演算速度はデータ入出力速度と同一であるか、或いはそれより高いことがあり得る。即ち、読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー訂正速度がエラー位置多項式Λ(x)の演算速度によって停滞されないオン・ザ・フライ(on−the−fly)が支援される。
【0182】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より大きい時、キー公式解き方部430でデータ入出力サイクルより多い動作サイクルが要求され得る。読出しベクトルRVの数が第1エラー数EN1(例えばn/4)以下である時、オン・ザ・フライを支援するようにキー公式解き方部430が構成されれば、キー公式解き方部430のゲートカウント(gate count)が減少することができる。
【0183】
例えば、読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、チェン検索部440はフル動作モードに動作するように構成され得る。フル動作モードで、チェン検索部440はチェン検索に要求されるサイクルがデータ入出力サイクルと同一であるか、或いはそれより小さくなるように構成され得る。この時、チェン検索速度はデータ入出力速度と同一であるか、或いはそれより少ないことがあり得る。即ち、読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー訂正速度がチェン検索速度によって停滞されないオン・ザ・フライが支援される。
【0184】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より多くて、第2エラー数EN2(例えばn/2)以下である時、チェン検索部440はハーフ動作モードにチェン検索を実行するように構成され得る。読出しベクトルRVのエラー数が第2エラー数EN2(例えばn/2)より多くてn以下である時、チェン検索部440はクォーター動作モードにチェン検索を実行するように構成され得る。即ち、読出しベクトルRVのエラー数が閾値を越えることによって、チェン検索部440のサイクル当たりの電力消耗は順次的に減少することができる。
【0185】
チェン検索の時に、読出しベクトルRVのエラー数にしたがって読出しベクトルRVのパリティー部分に対するチェン検索が省略され得る。読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、フル動作モードのチェン検索が遂行されるが、読出しベクトルRVのパリティー部分に対するチェン検索は省略され得る。即ち、チェン検索に要求されるサイクルはデータ入出力サイクルより少ないことがあり得る。
【0186】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より多くて第2エラー数EN2(例えばn/2)以下である時、ハーフ動作モードのチェン検索が遂行されるが、読出しベクトルRVのパリティー部分に対するチェン検索は省略され得る。読出しベクトルRVのエラー数が第2エラー数EN2(例えばn/2)より多くて第2閾値TV2以下である時、クォーター動作モードのチェン検索が遂行されるが、読出しベクトルRVのパリティー部分に対するパリティー検索が省略され得る。読出しベクトルRVのエラー数が第2閾値TV2より多い時、クォーター動作モードのチェン検索が遂行されるが、読出しベクトルRVのデータ部分及びパリティー部分に対するチェン検索が遂行できる。
【0187】
即ち、同様にクォーター動作モードのチェン検索が遂行されても、読出しベクトルRVのエラー数が第2閾値TV2以下であるか否かがにしたがってチェン検索に要求されるサイクルの差異が発生できる。例えば、読出しベクトルRVのパリティー部分に対するチェン検索でよって、サイクルの差異が発生できる。
【0188】
図15Bに示したように、読出しベクトルRVのエラー数が第1エラー数EN1以下である時(例えば、図15Bに示したように32以下である時)、チェン検索部440のチェン検索はフル動作モード(又はフル検索モード)に遂行され得る。例えば、図15Bの“Max(1)”に表示されたように、32ビットチェン検索が遂行され得る。読出しベクトルRVのエラー数が第1エラー数EN1より多くて(例えば、図15Bに示したように32より多くて)、第2エラー数EN2以下である時(例えば、図15Bに示したように48以下である時)、チェン検索部440のチェン検索は図15Bの“Max(2)”に表示されたようにハーフ動作モード(又はハーフ検索モード)に遂行され得る。ハーフ検索モードが選択されたことによって、16ビットチェン検索(即ち、“Max(1)”に表示された32ビットフル検索モードの半分である16ビット)が遂行され得る。読出しベクトルRVのエラー数が第2エラー数EN2より大きくて(例えば、図15Bに示したように48より大きくて)n以下である時(即ち、図15Bに示したように64であるエラー訂正コードデコーダー400の最大エラー訂正ビット数以下である時)、チェン検索部440のチェン検索はクォーター動作モード(又はクォーター検索モード)に遂行され得る。即ち、クォーター動作モードに動作するチェン検索部440によって8ビットチェン検索が遂行され得る(即ち、フル動作モードである32ビットの1/4である8ビット)。読出しベクトルRVのエラー数が増加することによって、チェン検索を遂行するサイクルの数また増加する。即ち、図15Bに示したように、エラー訂正デコーディングサイクルの数は“Max(1)”から“Max(3)”に増加する。
【0189】
図16は本発明の第1実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。例示的に、読出しベクトルRVのエラー数は第1エラー数EN1(例えばn/4)以下であり得る。即ち、キー公式解き方部430及びチェン検索部440はオン・ザ・フライを支援できる。図6及び図16を参照すれば、第1時間T1に第0チャンネルCH0から第1読出しベクトルRV1が受信され、第1チャンネルCH1から第2読出しベクトルRV2が受信される。
【0190】
例示的に、第0チャンネルCH0及び第1チャンネルCH1は互に独立的なチャンネルであり得る。第0チャンネルCH0及び第1チャンネルCH1は互に異なるメモリ装置に連結され得る。第0チャンネルCH0及び第1チャンネルCH1に互に独立的なエラー訂正デコーダー400が提供され得る。以下で、チャンネルCH0、CH1に関わらず、エラー訂正デコーダー400及びそれの構成要素は同一な参照番号を利用して引用され得る。
【0191】
シンドロームS(x)は読出しベクトルRV及びパリティーチェック行列Hの掛け算を通じて演算される。シンドロームS(x)は簡単なプロセスを通じて演算され得り、したがって読出しベクトルRVの受信と共に遂行できる。第0チャンネルCH0に対応するシンドローム演算部420は第1読出しベクトルRV1の第1シンドロームS1(x)を演算する。第1チャンネルCH1に対応するシンドローム演算部420は第2読出しベクトルRV2の第2シンドロームS2(x)を演算する。
【0192】
第2時間T2に第1及び第2読出しベクトルRV1、RV2の受信が終了される。第1及び第2読出しベクトルRV1、RV2の受信が終了されることと共に、第1及び第2シンドロームS1(x)、S2(x)の演算が終了される。演算された第1及び第2シンドロームS1(x)、S2(x)はキー公式解き方部430へ伝達される。キー公式解き方部430は第1及び第2シンドロームS1(x)、S2(x)に基づいて第1及び第2エラー位置多項式Λ1(x)、Λ2(x)を演算する。
【0193】
チャンネルCH0、CH1及びシンドローム演算部420はレディ(ready)状態に進入できる。第0チャンネルCH0を通じて第3読出しベクトルRV3が受信され、第1チャンネルCH1を通じて第4読出しベクトルRV4が受信される。シンドローム演算部420は第3及び第4読出しベクトルRV3、RV4から第3及び第4シンドロームS3(x)、S4(x)を演算することができる。
【0194】
第1及び第2読出しベクトルRV1、RV2のエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー位置多項式Λ(x)の演算サイクルはデータ入出力サイクルより少ないことがあり得る。即ち、第3及び第4読出しベクトルRV3、RV4の受信が完了される前である第3時間T3に、第1及び第2エラー位置多項式Λ1(x)、Λ2(x)の演算が終了され得る。演算された第1及び第2エラー位置多項式Λ1(x)、Λ2(x)はチェン検索部440へ伝達される。
【0195】
チェン検索部440は演算された第1及び第2エラー位置多項式Λ1(x)、Λ2(x)に基づいてチェン検索を開始する。順方向チェン検索は読出しベクトルRVのデータ側の終端から順次的に遂行される。チェン検索の結果にしたがって、読出しベクトルRVのデータ側の終端から順次的にエラーが検索及び訂正され得る。即ち、エラー訂正はチェン検索と共に第3時間T3に遂行できる。
【0196】
キー公式解き方部430はレディ状態に進入する。
第4時間T4に、第3及び第4読出しベクトルRV3、RV4の受信が終了され、第3及び第4シンドロームS3(x)、S4(x)の演算が終了される。キー公式解き方部430がレディ状態であるので、演算された第3及び第4シンドロームS3(x)、S4(x)はキー公式解き方部430へ伝達される。キー公式解き方部430は演算された第3及び第4シンドロームS3(x)、S4(x)に基づいて、第3及び第4エラー位置多項式Λ3(x)、Λ4(x)の演算を遂行する。
【0197】
チャンネルCH0、CH1及びシンドローム演算部420はレディ状態に進入する。第0チャンネルCH0を通じて第5読出しベクトルRV5が受信され、第1チャンネルCH1を通じて第6読出しベクトルRV6が受信される。シンドローム演算部420は第5及び第6読出しベクトルRV5、RV6に基づいて第5及び第6シンドロームS5(x)、S6(x)を演算する。
【0198】
第1読出しベクトルRV1のエラー訂正が完了されれば、第1エラー訂正されたデータベクトルCDV1が出力され得る。第5時間T5に、第1エラー訂正されたデータベクトルCDV1が出力され得る。第2エラー訂正されたデータベクトルCDV2は第1エラー訂正されたデータベクトルCDV1に続いて出力され得る。
【0199】
第1及び第2読出しベクトルRV1、RV2のエラー数が第1エラー数EN1(例えばn/4)以下である時、チェン検索サイクルはデータ入出力サイクルより少ないことがあり得る。第3時間T3からデータ入出力サイクルより短いサイクルが経過した第6時間T6に、第1及び第2エラー位置多項式Λ1(x)、Λ2(x)に対するチェン検索が終了され得る。チェン検索部440はレディ状態に進入できる。
【0200】
第7時間T7に、第3及び第4エラー位置多項式Λ3(x)、Λ4(x)の演算が終了される。チェン検索部440はチェン検索を開始し、キー公式解き方部430はレディ状態に進入する。
【0201】
第8時間T8に、第5及び第6読出しベクトルRV5、RV6の受信、そして第5及び第6シンドロームS5(x)、S6(x)の演算が終了される。第5及び第6エラー位置多項式Λ5(x)、Λ6(x)の演算が開始される。第7及び第8読出しベクトルRV7、RV8の受信及び第7及び第8シンドロームS7(x)、S8(x)の演算が開始される。
【0202】
図17は本発明の第2実施形態にしたがって実行されるエラー訂正デコーディングのタイミング図である。例示的に、読出しベクトルRVのエラー数は第1エラー数EN1(例えばn/4)より多くて第2エラー数EN2(例えばn/2)以下であり得る。図6及び図17を参照すれば、第1時間T1に第0チャンネルCH0から第1読出しベクトルRV1が受信され、第1チャンネルCH1から第2読出しベクトルRV2が受信される。第1及び第2読出しベクトルRV1、RV2に基づいて、シンドローム演算部420は第1及び第2シンドロームS1(x)、S2(x)の演算が遂行される。
【0203】
第2時間T2に、第1及び第2読出しベクトルRV1、RV2の受信、そして第1及び第2シンドロームS1(x)、S2(x)の演算が終了される。演算された第1及び第2シンドロームS1(x)、S2(x)はキー公式解き方部430へ伝達される。キー公式解き方部430は演算された第1及び第2シンドロームS1(x)、S2(x)に基づいて、第1及び第2エラー位置多項式Λ1(x)、Λ2(x)の演算を開始する。
【0204】
チャンネルCH0、CH1及びシンドローム演算部420はレディ状態に進入する。第0チャンネルCH0を通じて第3読出しベクトルRV3が受信され、第1チャンネルCH1を通じて第4読出しベクトルRV4が受信される。第3及び第4読出しベクトルRV3、RV4に基づいて、シンドローム演算部420は第3及び第4シンドロームS3(x)、S4(x)を演算する。
【0205】
第3時間T3に、第3及び第4読出しベクトルの受信RV3、RV4、そして第3及び第4シンドロームS3(x)、S4(x)の演算が終了される。しかし、キー公式解き方部430がビジー(busy)状態であるので、シンドローム演算部420は演算された第3及び第4シンドロームS3(x)、S4(x)を維持する。
【0206】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より多くて第2エラー数EN2(例えばn/2)以下である時、エラー位置多項式Λ(x)の演算サイクルはデータ入出力サイクルより多いことがあり得る。即ち、第2時間T2からデータ入出力サイクルより長いサイクルが経過した第4時間T4に、第1及び第2エラー位置多項式Λ1(x)、Λ2(x)の演算が終了される。演算された第1及び第2エラー位置多項式Λ1(x)、Λ2(x)はチェン検索部440へ伝達される。
【0207】
演算された第1及び第2エラー位置多項式Λ1(x)、Λ2(x)に基づいて、チェン検索部440はチェン検索を開始する。順方向チェン検索は読出しベクトルRVのデータ側の終端から順次的に遂行される。チェン検索の結果にしたがって、読出しベクトルRVのデータ側の終端から順次的にエラーが検索及び訂正され得る。即ち、エラー訂正はチェン検索と共に第3時間T3に遂行できる。
【0208】
キー公式解き方部430はレディ状態に進入する。
シンドローム生成部420は演算された第3及び第4シンドロームS3(x)、S4(x)をキー公式解き方部430へ伝達する。演算された第3及び第4シンドロームS3(x)、S4(x)に基づいて、キー公式解き方部430は第3及び第4エラー位置多項式Λ3(x)、Λ4(x)を演算する。
【0209】
チャンネルCH0、CH1及びシンドローム生成部420はレディ状態に進入する。第0チャンネルを通じて第5読出しベクトルRV5が受信され、第1チャンネルを通じて第6読出しベクトルRV6が受信される。受信される第5及び第6読出しベクトルRV5、RV6に基づいて、シンドローム生成部420は第5及び第6シンドロームS5(x)、S6(x)を演算する。
【0210】
第1読出しベクトルRV1のエラー訂正が完了されれば、第1エラー訂正されたデータベクトルCDV1が出力され得る。第5時間T5に、第1読出しデータベクトルRDV1が出力され得る。第2読出しデータベクトルRDV2は第1読出しデータベクトルRDV1に続いて出力され得る。
【0211】
第1及び第2読出しベクトルRV1、RV2のエラー数が第1エラー数EN1(例えばn/4)より多くて第2エラー数EN2(例えばn/2)以下である時、チェン検索サイクルはデータ入出力サイクルより大きくなり得る。第4時間T4からデータ入出力サイクルより長いサイクルが経過した第6時間T6に、第1及び第2エラー位置多項式Λ1(x)、Λ2(x)に対するチェン検索が終了され得る。チェン検索部440はレディ状態に進入できる。
【0212】
上述されたように、読出しベクトルRVのエラー数にしたがって、エラー位置多項式Λ(x)の演算サイクルが変化することができる。読出しベクトルRVのエラー数が増加するほど、エラー位置多項式Λ(x)の演算サイクルが増加することができる。エラー位置多項式Λ(x)の演算サイクルが増加又は減少する程度、チェン検索が開始されるタイミングは遅延されるか、或いは繰り上げられる。
【0213】
読出しベクトルRVのエラー数にしたがって、チェン検索サイクルが変化することができる。読出しベクトルRVのエラー数が閾値より多くなるほど、チェン検索サイクルが増加することができる。チェン検索サイクルが増加又は減少する程度、エラー訂正が開始されるタイミングは遅延されるか、或いは繰り上げられる。エラー位置多項式Λ(x)の演算及びチェン検索は独立的なデコーディングステージを構成することができる。
【0214】
図18は図1のコントローラ200の動作方法の第2実施形態を示す順序図である。図1及び図18を参照すれば、S910段階で書込みデータベクトルWDVがコードベクトルCVにエンコーディングされる。S920段階で、コードベクトルCVがメモリ装置100に書き込まれる。S930段階で、メモリ装置から読出しベクトルRVが読み出される。S910段階乃至S930段階は図2のS110段階乃至S130段階と同一な方法に遂行できる。
【0215】
S940段階で、読出しベクトルRVのエラー数にしたがって最大訂正時間を調節し、読出しベクトルRVのエラーが訂正される。
【0216】
図19は図18の最大エラー検索時間を調節し、読出しベクトルRVをデコーディングする段階を示す順序図である。図19を参照すれば、S1010段階で読出しベクトルRVが受信される。S1020段階で、読出しベクトルRVのシンドロームS(x)が演算される。S1030段階で、演算されたシンドロームS(x)が0であるか否かを判別される。演算されたシンドロームS(x)が0であれば、エラー訂正は終了される。演算されたシンドロームS(x)が0でなければ、S1040段階が遂行される。S1040段階で、演算されたシンドロームS(x)に基づいてエラー位置多項式Λ(x)が演算される。S1050段階で、演算されたエラー位置多項式Λ(x)に基づいて読出しベクトルRVのエラー数が測定される。S1010段階乃至S1050段階は図5を参照して説明されたS310段階乃至S350段階と同一な方法に遂行できる。
【0217】
S1060段階で、測定されたエラー数にしたがって最大エラー検索時間が調節される。そして、S1070段階で、調節された最大エラー検索時間に基づいてエラーが検索され、検索されたエラーが訂正される。
【0218】
シンドロームS(x)の演算、エラー位置多項式Λ(x)の演算、そしてチェン検索は図7乃至図14を参照して説明された方法と同様に遂行できる。
【0219】
図15乃至図17を参照して説明されたように、シンドローム演算時間はエラーデコーディング時間の変化に影響を及ばないことがあり得る。
【0220】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、エラー位置多項式Λ(x)の演算時間の最大値は第1解き方時間ST1であり得る。第1解き方時間ST1は読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)である時のエラー位置多項式Λ(x)の演算時間(又はサイクル)に対応することができる。読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より大きくて第2エラー数EN2(例えばn/2)以下である時、エラー位置多項式Λ(x)の演算時間の最大値は第2解き方時間ST2であり得る。第2解き方時間ST2は読出しベクトルRVのエラー数が第2エラー数EN2(例えばn/2)である時のエラー位置多項式Λ(x)の演算時間(又はサイクル)に対応することができる。読出しベクトルRVのエラー数がn以下である時、エラー位置多項式Λ(x)の演算時間の最大値は第3解き方時間ST3であり得る。第3解き方時間ST3は読出しベクトルRVのエラー数がnである時のエラー位置多項式Λ(x)の演算時間(又はサイクル)に対応することができる。
【0221】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)以下である時、フル動作モードのチェン検索が遂行される。チェン検索時間は第1全体時間TT1又は第1データ時間DT1であり得る。第1全体時間TT1は読出しベクトルRVのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第1データ時間DT1は読出しベクトルRVのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【0222】
読出しベクトルRVのエラー数が第1エラー数EN1(例えばn/4)より多くて第2エラー数EN2(例えばn/2)以下である時、ハーフ動作モードのチェン検索が遂行される。チェン検索時間は第2全体時間TT2又は第2データ時間DT2であり得る。第2全体時間TT2は読出しベクトルRVのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第2データ時間DT2は読出しベクトルRVのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【0223】
読出しベクトルRVのエラー数が第2エラー数EN2(例えばn/2)より多くて第2閾値TV2以下である時、クォーター動作モードのチェン検索が遂行される。チェン検索時間は第3全体時間TT3又は第3データ時間DT3であり得る。第3全体時間TT3は読出しベクトルRVのデータ部分及びパリティー部分に対してチェン検索が遂行される時のチェン検索時間であり得る。第3データ時間DT3は読出しベクトルRVのパリティー部分に対する検索が省略される時のチェン検索時間であり得る。
【0224】
読出しベクトルRVの数が第2閾値TV2より多くてn以下である時、クォーター動作モードのチェン検索が遂行される。チェン検索時間は第3全体時間TT3であり得る。
【0225】
エラー訂正はチェン検索と共に遂行される。したがって、エラー訂正はエラーデコーディング時間の変化に影響を及ばないこともあり得る。
【0226】
エラー訂正時間の変化に影響を及ぶ時間はエラー位置多項式Λ(x)の演算時間及びチェン検索時間であり得る。エラー位置多項式Λ(x)の演算及びチェン検索は読出しベクトルRVのエラー数にしたがって調節される最大時間を有する。読出しベクトルRVのエラー数にしたがうキー公式解き方及びチェン検索の最大時間は表7であり得る。
【0227】
【表7】

【0228】
即ち、読出しベクトルRVのエラー数にしたがって最大訂正時間が調節され得る。
図20は図1のメモリシステム1000の応用例を示すブロック図である。図20を参照すれば、メモリシステム2000はメモリ装置2100及びコントローラ2200を含む。メモリ装置2100は複数のメモリチップを含む。複数のメモリチップは複数のグループに分割される。複数のメモリチップの各グループは1つの共通チャンネルを通じてコントローラ2200と通信するように構成される。例示的に、複数のメモリチップは第1乃至第kチャンネルCH1〜CHkを通じてコントローラ2200と通信することに図示されている。例示的に、各チャンネルに複数のメモリチップの代わりに複数のメモリモジュールが連結され得る。
【0229】
コントローラ2200はエラー訂正エンコーダー300及びエラー訂正デコーダー400を含む。エラー訂正エンコーダー300及びエラー訂正デコーダー400は図2乃至図19を参照して説明されたように動作する。例えば、エラー訂正デコーダー400は読出しベクトルRVのエラー数にしたがってサイクル当たり消耗電力又は最大訂正時間を調節し、エラー訂正を遂行できる。
【0230】
図20で、1つのチャンネルに複数のメモリチップが連結されることに説明された。しかし、1つのチャンネルに1つのメモリチップが連結されるようにメモリシステム2000が変形されることは理解できる。
【0231】
図21は図20を参照して説明されたメモリシステム2000を含むコンピューティングシステム3000を示すブロック図である。図21を参照すれば、コンピューティングシステム3000は中央処理装置3100、RAM3200(Random Access Memory)、使用者インターフェイス3300、電源3400、及びメモリシステム2000を含む。
【0232】
メモリシステム2000はシステムバス3500を通じて、中央処理装置3100、RAM3200、使用者インターフェイス3300、及び電源3400に電気的に連結される。使用者インターフェイス3300を通じて提供されるか、或いは、中央処理装置3100によって処理されたデータはメモリシステム2000に格納される。
【0233】
図21で、メモリ装置2100はコントローラ2200を通じてシステムバス3500に連結されることに図示されている。しかし、メモリ装置2100はシステムバス3500に直接連結されるように構成され得る。
【0234】
図21で、図20を参照して説明されたメモリシステム2000が提供されることに図示されている。しかし、メモリシステム2000は図1を参照して説明されたメモリシステム1000で代替され得る。
【0235】
例示的に、コンピューティングシステム3000は図1及び図21を参照して説明されたメモリシステム1000、2000を全て包含するように構成され得る。
【0236】
本発明の詳細な説明では具体的な実施形態に関して説明したが、本発明の範囲と技術的な思想から逸脱しない限度内で様々な変形が可能である。したがって、本発明の範囲は上述した実施形態に限定されて決まってはならないし、後述する特許請求の範囲のみでなく、この発明の特許請求の範囲と均等物によって決まらなければならない。
【符号の説明】
【0237】
1000、2000・・・メモリシステム
100・・・メモリ装置
200・・・コントローラ
300・・・エラー訂正エンコーダー
400・・・エラー訂正デコーダー
410・・・バッファ
420・・・シンドローム演算部
430・・・キー公式解き方部
440・・・チェン検索部
450・・・エラー訂正部
460・・・マルチプレクサー
470・・・制御部

【特許請求の範囲】
【請求項1】
メモリ装置を制御するメモリシステムのコントローラにおいて、
前記コントローラによって受信された読出しベクトルのエラー位置多項式を演算するキー公式解き方部と、
前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも1つにしたがって、前記受信された読出しベクトルのエラー数を測定する制御部と、
前記演算されたエラー位置多項式にしたがって、前記受信された読出しベクトルのエラー位置を検索するチェン検索部と、を含むコントローラ。
【請求項2】
前記キー公式解き方部によって演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置で前記受信された読出しベクトルのエラーを訂正するエラー訂正部をさらに含む請求項1に記載のコントローラ。
【請求項3】
前記制御部は前記チェン検索部のサイクル当たり電力消耗を調節する請求項1に記載のコントローラ。
【請求項4】
前記制御部は前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって前記受信された読出しベクトルで一回に検索されるビット数を調節することによって、前記チェン検索部の前記サイクル当たり電力消耗を調節する請求項3に記載のコントローラ。
【請求項5】
前記エラー数が予め設定された第1エラー数と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分の前記ビット数をフル検索モードに同時に検索するように前記チェン検索部を制御する請求項4に記載のコントローラ。
【請求項6】
前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する請求項5に記載のコントローラ。
【請求項7】
前記ハーフ検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記フル検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない請求項6に記載のコントローラ。
【請求項8】
前記エラー数が前記予め設定された第2エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する請求項6に記載のコントローラ。
【請求項9】
前記クォーター検索モードで動作する前記チェン検索部の前記サイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部の前記サイクル当たり電力消耗より少ない請求項8に記載のコントローラ。
【請求項10】
前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記制御部は前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記チェン検索部を制御する請求項1に記載のコントローラ。
【請求項11】
前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分とパリティー部分とでチェン検索を実行するように前記チェン検索部を制御する請求項1に記載のコントローラ。
【請求項12】
前記制御部は前記受信された読出しベクトルの前記エラー数にしたがって前記チェン検索部の最大訂正時間を調節する請求項1に記載のコントローラ。
【請求項13】
前記エラー数が予め設定された第1エラー数より小さい時、前記制御部は前記チェン検索部の前記最大訂正時間を予め設定された第1解き方時間に調節する請求項12に記載のコントローラ。
【請求項14】
前記エラー数が前記予め設定された第1エラー数より小さい時、前記制御部は前記受信された読出しベクトルの少なくともデータ部分のビット数を同時に検索するフル検索モードに動作するように前記チェン検索部を制御する請求項13に記載のコントローラ。
【請求項15】
前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、前記制御部はフル検索モードで同時に検索される前記受信された読出しベクトルのビット数の半分を同時に検索するハーフ検索モードに動作するように前記チェン検索部を制御する請求項13に記載のコントローラ。
【請求項16】
前記エラー数が前記予め設定された第2エラー数より大きい時、前記制御部は前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに動作するように前記チェン検索部を制御する請求項15に記載のコントローラ。
【請求項17】
前記エラー数が予め設定された閾値より大きい時、前記制御部は前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記チェン検索部の前記最大訂正時間を調節する請求項12に記載のコントローラ。
【請求項18】
メモリ装置を含むメモリシステムを制御する方法において、
前記メモリシステムのキー公式解き方部を利用して受信された読出しベクトルでエラー位置多項式を演算する段階と、
前記メモリシステムの制御部を利用して前記演算されたエラー位置多項式及び前記エラー位置多項式の情報の中で少なくとも1つにしたがって前記受信された読出しベクトルのエラー数を測定する段階と、
前記メモリシステムのチェン検索部を利用して前記演算されたエラー位置多項式にしたがって前記受信された読出しベクトルのエラー位置を検索する段階と、を含む方法。
【請求項19】
前記キー公式解き方部によって、演算された前記エラー位置多項式を利用して前記チェン検索部によって決定された前記エラー位置でエラー訂正部を利用して前記受信された読出しベクトルのエラーを訂正する段階をさらに含む請求項18に記載の方法。
【請求項20】
前記制御部を利用して、前記チェン検索部のサイクル当たり電力消耗を調節する段階をさらに含む請求項18に記載の方法。
【請求項21】
前記チェン検索部の前記サイクル当たり電力消耗を調節する段階は、
前記キー公式解き方部によって演算された前記エラー位置多項式にしたがって、前記制御部を利用して前記受信された読出しベクトルで同時に検索されるビット数を調節する段階を含む請求項20に記載の方法。
【請求項22】
前記エラー数が予め設定された第1エラー数と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルの少なくともデータ部分の前記ビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む請求項21に記載の方法。
【請求項23】
前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む請求項22に記載の方法。
【請求項24】
前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗は前記フル検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない請求項23に記載の方法。
【請求項25】
前記エラー数が前記予め設定された第2エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの前記ビット数の1/4を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む請求項23に記載の方法。
【請求項26】
前記クォーター検索モードの前記チェン検索部のサイクル当たり電力消耗は前記ハーフ検索モードの前記チェン検索部のサイクル当たり電力消耗より少ない請求項25に記載の方法。
【請求項27】
前記エラー数が予め設定された閾値と同一であるか、或いはそれより小さい時、前記受信された読出しベクトルのデータ部分のみでチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む請求項18に記載の方法。
【請求項28】
前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部を制御する段階をさらに含む請求項18に記載の方法。
【請求項29】
前記受信された読出しベクトルの前記エラー数にしたがって、前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む請求項18に記載の方法。
【請求項30】
前記エラー数が予め設定された第1エラー数より小さい時、前記制御部を利用して前記チェン検索部の最大訂正時間を予め設定された第1解き方時間に調節する段階をさらに含む請求項29に記載の方法。
【請求項31】
前記エラー数が前記予め設定された第1エラー数より小さい時、前記受信された読出しベクトルの少なくともデータ部分のビット数を同時に検索するフル検索モードに前記チェン検索部を駆動する段階をさらに含む請求項30に記載の方法。
【請求項32】
前記エラー数が前記予め設定された第1エラー数より大きくて予め設定された第2エラー数より小さい時、フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分のビット数の半分を同時に検索するハーフ検索モードに前記チェン検索部を駆動する段階をさらに含む請求項30に記載の方法。
【請求項33】
前記エラー数が前記予め設定された第2エラー数より大きい時、前記フル検索モードで同時に検索される前記受信された読出しベクトルの少なくともデータ部分の前記ビット数の1/4を同時に検索するクォーター検索モードに前記チェン検索部を駆動する段階をさらに含む請求項32に記載の方法。
【請求項34】
前記エラー数が予め設定された閾値より大きい時、前記受信された読出しベクトルのデータ部分及びパリティー部分でチェン検索を実行するように前記制御部を利用して前記チェン検索部の最大訂正時間を調節する段階をさらに含む請求項29に記載の方法。
【請求項35】
少なくとも1つのメモリ装置と少なくとも1つのチャンネルを通じて連結されたコントローラを有するメモリシステムを制御する方法において、
前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する段階と、
前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも1つを調節する段階と、を含む方法。
【請求項36】
少なくとも1つのメモリ装置と少なくとも1つのチャンネルを通じて連結されたコントローラを有するメモリシステムのコントローラにおいて、
前記コントローラを利用して受信された読出しベクトルのエラー数及びエラー位置情報を判別する前記コントローラのエラー訂正コードデコーダーと、
前記エラー位置及びエラー位置情報にしたがって、前記読出しベクトルのエラー位置を検索する前記メモリシステムのチェン検索部のサイクル当たり電力消耗及び最大訂正時間の中で少なくとも1つを調節する前記エラー訂正コードデコーダーの制御部と、を含むコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15A】
image rotate

【図15B】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2012−238307(P2012−238307A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2012−107547(P2012−107547)
【出願日】平成24年5月9日(2012.5.9)
【出願人】(390019839)三星電子株式会社 (8,520)
【氏名又は名称原語表記】Samsung Electronics Co.,Ltd.
【住所又は居所原語表記】129,Samsung−ro,Yeongtong−gu,Suwon−si,Gyeonggi−do,Republic of Korea
【Fターム(参考)】