(57)【要約】【課題】エラー訂正コードブロックの消費電力及び性能を制御できるメモリシステムを提供する。【解決手段】複数のチャンネルを通じて格納媒体に連結されるメモリ制御器は、複数の信号処理エンジンを含む信号処理ブロックと、そして前記複数の信号処理エンジンの中で少なくとも１つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラを含む。【選択図】      図２
2014116015.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、
複数の信号処理エンジンを含む信号処理ブロックと、
前記複数の信号処理エンジンの中で少なくとも１つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、を含むメモリ制御器。
【請求項２】
前記メモリ制御器の動作条件を判別する中央処理装置と、
前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、をさらに含む請求項１に記載のメモリ制御器。
【請求項３】
前記複数の信号処理エンジンの全て又は一部は前記レジスタに格納された活性化情報によって活性化される請求項２に記載のメモリ制御器。
【請求項４】
前記複数のチャンネルへ伝送されるデータを臨時格納する複数のＦＩＦＯと、
前記複数のＦＩＦＯのデータが前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む請求項１に記載のメモリ制御器。
【請求項５】
前記符号化スケジューラは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のＦＩＦＯの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第１パケット発生器と、
前記パケットデータに含まれた制御情報に基づいて前記複数のＦＩＦＯの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第１バスマトリックスと、を含む請求項４に記載のメモリ制御器。
【請求項６】
前記復号化スケジューラは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第２パケット発生器と、
前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第２バスマトリックスと、を含む請求項５に記載のメモリ制御器。
【請求項７】
高性能が要求される場合、前記中央処理装置は前記複数の信号処理エンジンが全て活性化されるように前記レジスタの値を決定する請求項６に記載のメモリ制御器。
【請求項８】
前記符号化スケジューラは符号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する請求項７に記載のメモリ制御器。
【請求項９】
前記復号化スケジューラは復号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する請求項７に記載のメモリ制御器。
【請求項１０】
前記復号化スケジューラは前記複数のチャンネルの中でいずれか１つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項７に記載のメモリ制御器。
【請求項１１】
前記符号化スケジューラは前記複数のＦＩＦＯの中でいずれか１つのＦＩＦＯから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項７に記載のメモリ制御器。
【請求項１２】
前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである請求項７に記載のメモリ制御器。
【請求項１３】
前記複数の信号処理エンジンの数は前記複数のチャンネルの数と同一であるか、或いはそれより少ない請求項１に記載のメモリ制御器。
【請求項１４】
前記複数の信号処理エンジンは同一のエラー訂正コードアルゴリズムにしたがって動作する請求項１に記載のメモリ制御器。
【請求項１５】
格納媒体と、
複数のチャンネルを通じて前記格納媒体に連結されるメモリ制御器と、を含み、
前記メモリ制御器は複数の信号処理エンジンを含み、前記複数のチャンネルが使用される条件下で前記複数の信号処理エンジンの各々を前記複数のチャンネルに各々連結する符号化／復号化ブロックを含むメモリシステム。
【請求項１６】
前記メモリ制御器は、
前記メモリ制御器の動作条件を判別する中央処理装置と、
前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、
前記複数のチャンネルへ伝送されるデータを臨時格納する複数のＦＩＦＯと、
前記複数の信号処理エンジンの中で前記レジスタの活性化情報にしたがって活性化された少なくとも１つの信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、
前記複数のＦＩＦＯのデータが前記少なくとも１つの信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む請求項１５に記載のメモリ制御器。
【請求項１７】
前記符号化スケジューラは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のＦＩＦＯの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第１パケット発生器と、
前記パケットデータに含まれた制御情報に基づいて前記複数のＦＩＦＯの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第１バスマトリックスと、を含む請求項１６に記載のメモリシステム。
【請求項１８】
前記復号化スケジューラは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第２パケット発生器と、
前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第２バスマトリックスと、を含む請求項１７に記載のメモリシステム。
【請求項１９】
前記復号化スケジューラは前記複数のチャンネルの中でいずれか１つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項１８に記載のメモリシステム。
【請求項２０】
前記符号化スケジューラは前記複数のＦＩＦＯの中でいずれか１つのＦＩＦＯから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項１８に記載のメモリシステム。
【請求項２１】
前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである請求項１８に記載のメモリシステム。
【請求項２２】
前記符号化／復号化ブロックは複数の他の信号処理エンジンをさらに含み、前記複数の他の信号処理エンジンは前記複数の信号処理エンジンの使用が中止される時、符号化及び復号化動作を遂行するように活性化され、前記複数の他の信号処理エンジンの活性化はエラー率を基準に決定される請求項１５に記載のメモリシステム。
【請求項２３】
複数のチャンネルを通じて格納媒体に連結されるメモリ制御器のバンド幅制御方法において、
処理される信号を受信し、
前記入力された信号を処理することを含み、前記入力された信号の信号処理水準は前記メモリ制御器の動作条件にしたがって決定されることを特徴とするバンド幅制御方法。
【請求項２４】
前記入力された信号の処理は信号処理エンジンとしてエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンによって行われることを特徴とする請求項２３に記載のバンド幅制御方法。
【請求項２５】
前記信号処理エンジンの中で少なくとも１つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御することをさらに含むことを特徴とする請求項２４に記載のバンド幅制御方法。
【請求項２６】
前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することをさらに含むことを特徴とする請求項２５に記載のバンド幅制御方法。
【請求項２７】
前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記処理される信号に制御情報を追加することによってパケットデータを発生し、
前記パケットデータに含まれた制御情報に基づいて前記処理された信号を前記少なくとも１つの活性化された信号処理エンジンへ伝送することを含むことを特徴とする請求項２６に記載のバンド幅制御方法。
【請求項２８】
前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、
前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルから出力された信号に制御情報を追加することによってパケットデータを発生し、
前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルに対応する信号を前記少なくとも１つの活性化された信号処理エンジンへ伝送することを含むことを特徴とする請求項２６に記載のバンド幅制御方法。
【請求項２９】
複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、
信号処理動作を遂行するように構成された複数のコーディングエンジンを含む信号処理ブロックと、
前記複数のコーディングエンジンの中で選択された数のコーディングエンジンへ伝送される複数の第１データユニットを引き起こすスケジューラと、を含み、前記メモリ制御器は前記メモリ制御器の動作モードに基づいて前記選択された数のコーディングエンジンを決定し、前記信号処理動作は復号化動作と符号化動作との中で１つと、を含むメモリ制御器。
【請求項３０】
前記スケジューラは前記メモリ制御器の第１動作モードの間に前記スケジューラが前記選択された数として第１個数を決定し、前記メモリ制御器の第２動作モードの間に前記スケジューラが前記選択された数として第２個数を決定するように構成され、前記第１個数と前記第２個数とは異なる請求項２９に記載のメモリ制御器。
【請求項３１】
前記スケジューラは前記第１動作モードが高性能動作モードであり、前記第２動作モードがピーク電力管理動作であり、前記第１個数が前記第２個数より多いように構成される請求項２９に記載のメモリ制御器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報格納装置に係り、より具体的には、格納媒体を制御するメモリ制御器及びそれを含むメモリシステムに関する。
【背景技術】
【０００２】
半導体メモリは、一般的に、衛星から消費者電子技術までの範囲に属するマイクロプロセッサに基づいた応用及びコンピュータのようなデジタルロジック設計に最も必要なマイクロ電子素子である。したがって、高集積度及び高速度のための縮小（Ｓｃａｌｉｎｇ）を通じて得られるプロセスの向上及び技術開発を含む半導体メモリの製造技術の進歩は、他のデジタルロジック系列の性能基準を確立するのに役立つ。
【０００３】
半導体メモリ装置は大きく揮発性半導体メモリ装置と不揮発性半導体メモリ装置とに分けられる。揮発性半導体メモリ装置において、ロジック情報はスタティックランダムアクセスメモリの場合、双安定フリップ−フロップのロジック状態を設定することによって又はダイナミックランダムアクセスメモリの場合、キャパシタの充電を通じて格納される。揮発性半導体メモリ装置の場合、電源が印加される間はデータが格納され、読み出され、電源が遮断されると、データは消失する。
【０００４】
ＭＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＰＲＡＭ（登録商標）等のような不揮発性半導体メモリ装置は電源が遮断されてもデータを格納できる。不揮発性メモリデータ格納状態は使用される製造技術によって永久的であるか、或いは再プログラム可能である。不揮発性半導体メモリ装置はコンピュータ、航行電子工学、通信、そして消費者電子技術産業のような広い範囲の応用で、プログラム及びマイクロコードを格納するために使用される。単一チップで揮発性及び不揮発性メモリ格納モードの組合わせが、速くて再プログラム可能である不揮発性メモリを要求するシステムで、また不揮発性ＲＡＭ（ｎｖＲＡＭ）のような装置で、使用できる。さらに、応用指向業務のための性能を最適化させるために幾つかの追加的なロジック回路を含む特定メモリ構造が開発されてきた。
【０００５】
不揮発性半導体メモリ装置において、ＭＲＯＭ、ＰＲＯＭ、及びＥＰＲＯＭはシステム自体的に消去及び書込みが自由ではないので、一般使用者が記憶内容を新しくするのが容易でない。これに反して、ＥＥＰＲＯＭ、ＰＲＡＭ等のような不揮発性半導体メモリ装置は電気的に消去及び書込みができるので、継続的な更新が必要であるシステムプログラミング（ｓｙｓｔｅｍ  ｐｒｏｇｒａｍｍｉｎｇ）や補助記憶装置としての応用が拡大されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許公開第２０１０／００８８５７４号公報
【特許文献２】米国特許第７５２９１２４号公報
【特許文献３】米国特許第６８５８９０６号公報
【特許文献４】米国特許公開第２００４−０１６９２３８号公報
【特許文献５】米国特許公開第２００６−０１８０８５１号公報
【特許文献６】韓国特許第１０−０６７３０２０号公報
【特許文献７】米国特許第８２５０４０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、エラー訂正コードブロックの消費電力及び性能を制御できるメモリシステムを提供することである。
【課題を解決するための手段】
【０００８】
本発明の一特徴は、複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、複数の信号処理エンジンを含む信号処理ブロックと、前記複数の信号処理エンジンの中で少なくとも１つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、を含む。
例示的な実施形態において、メモリ制御器は、前記メモリ制御器の動作条件を判別する中央処理装置と、前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、をさらに含む。
【０００９】
例示的な実施形態において、前記複数の信号処理エンジンの全て又は一部は前記レジスタに格納された活性化情報によって活性化される。
例示的な実施形態において、メモリ制御器は、前記複数のチャンネルへ伝送されるデータを臨時格納する複数のＦＩＦＯと、前記複数のＦＩＦＯのデータが前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む。
【００１０】
例示的な実施形態において、前記符号化スケジューラは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のＦＩＦＯの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第１パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のＦＩＦＯの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第１バスマトリックスと、を含む。
【００１１】
例示的な実施形態において、前記復号化スケジューラは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第２パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第２バスマトリックスと、を含む。
【００１２】
例示的な実施形態において、高性能が要求される場合、前記中央処理装置は前記複数の信号処理エンジンが全て活性化されるように前記レジスタの値を決定する。
例示的な実施形態において、前記符号化スケジューラは符号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する。
例示的な実施形態において、前記復号化スケジューラは復号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する。
【００１３】
例示的な実施形態において、前記復号化スケジューラは前記複数のチャンネルの中でいずれか１つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記符号化スケジューラは前記複数のＦＩＦＯの中でいずれか１つのＦＩＦＯから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
【００１４】
例示的な実施形態において、前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである。
例示的な実施形態において、前記複数の信号処理エンジンの数は前記複数のチャンネルの数と同一であるか、或いはそれより少ない。
例示的な実施形態において、前記複数の信号処理エンジンは同一のエラー訂正コードアルゴリズムにしたがって動作する。
【００１５】
本発明の他の特徴は、格納媒体と、複数のチャンネルを通じて前記格納媒体に連結されるメモリ制御器と、を含み、前記メモリ制御器は複数の信号処理エンジンを含み、前記複数のチャンネルが使用される条件下で前記複数の信号処理エンジンの各々を前記複数のチャンネルに各々連結する符号化／復号化ブロックを含む。
【００１６】
例示的な実施形態において、前記メモリ制御器は、前記メモリ制御器の動作条件を判別する中央処理装置と、前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、前記複数のチャンネルへ伝送されるデータを臨時格納する複数のＦＩＦＯと、前記複数の信号処理エンジンの中で前記レジスタの活性化情報にしたがって活性化された少なくとも１つの信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、前記複数のＦＩＦＯのデータが前記少なくとも１つの信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む。
【００１７】
例示的な実施形態において、前記符号化スケジューラは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のＦＩＦＯの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第１パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のＦＩＦＯの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第１バスマトリックスと、を含む。
【００１８】
例示的な実施形態において、前記復号化スケジューラは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第２パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも１つの活性化された信号処理エンジンへ順次的に伝送する第２バスマトリックスと、を含む。
【００１９】
例示的な実施形態において、前記復号化スケジューラは前記複数のチャンネルの中でいずれか１つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記符号化スケジューラは前記複数のＦＩＦＯの中でいずれか１つのＦＩＦＯから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
【００２０】
例示的な実施形態において、前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである。
例示的な実施形態において、前記符号化／復号化ブロックは複数の他の信号処理エンジンをさらに含み、前記複数の他の信号処理エンジンは前記複数の信号処理エンジンの使用が中止される時、符号化及び復号化動作を遂行するように活性化され、前記複数の他の信号処理エンジンの活性化はエラー率を基準に決定される。
【００２１】
本発明のその他の特徴は、複数のチャンネルを通じて格納媒体に連結されるメモリ制御器のバンド幅制御方法を提供し、バンド幅制御方法は、処理される信号を受信し、前記入力された信号を処理することを含む。前記入力された信号の信号処理水準は前記メモリ制御器の動作条件にしたがって決定される。
【００２２】
例示的な実施形態において、前記入力された信号の処理は信号処理エンジンとしてエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンによって行われる。
例示的な実施形態において、方法は、前記信号処理エンジンの中で少なくとも１つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御することをさらに含む。
【００２３】
例示的な実施形態において、方法は、前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することをさらに含む。
例示的な実施形態において、前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記処理される信号に制御情報を追加することによってパケットデータを発生し、前記パケットデータに含まれた制御情報に基づいて前記処理された信号を前記少なくとも１つの活性化された信号処理エンジンへ伝送することを含む。
【００２４】
例示的な実施形態において、前記処理された信号が前記少なくとも１つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、前記少なくとも１つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルから出力された信号に制御情報を追加することによってパケットデータを発生し、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルに対応する信号を前記少なくとも１つの活性化された信号処理エンジンへ伝送することを含む。
【００２５】
複数のチャンネルを通じて格納媒体に連結されるメモリ制御器は、信号処理動作を遂行するように構成された複数のコーディングエンジンを含む信号処理ブロックと、前記複数のコーディングエンジンの中で選択された数のコーディングエンジンへ伝送される複数の第１データユニットを引き起こすスケジューラと、を含み、前記メモリ制御器は前記メモリ制御器の動作モードに基づいて前記選択された数のコーディングエンジンを決定し、前記信号処理動作は復号化動作と符号化動作との中で１つと、を含む。
【００２６】
例示的な実施形態において、前記スケジューラは前記メモリ制御器の第１動作モードの間に前記スケジューラが前記選択された数として第１個数を決定し、前記メモリ制御器の第２動作モードの間に前記スケジューラが前記選択された数として第２個数を決定するように構成され、前記第１個数と前記第２個数とは異なる。
例示的な実施形態において、前記スケジューラは前記第１動作モードが高性能動作モードであり、前記第２動作モードがピーク電力管理動作であり、前記第１個数が前記第２個数より多いように構成される。
【発明の効果】
【００２７】
本発明によれば、低電力動作が要求される時に最小の信号処理エンジンを動作させ、高性能が要求される時にすべての信号処理エンジンを動作させることによって電力消費及び性能を調整することができる。また、１つの信号処理エンジンが信号処理のためにビジー状態である場合、他の信号処理エンジンが並列に異なるデータに対して信号処理を行うことによってランダム読出し、性能が向上され得る。また、信号処理ブロックの処理量を制御することによってピーク電力を管理することができる。
【図面の簡単な説明】
【００２８】
【図１】本発明の実施形態によるメモリシステムを概略的に示すブロック図。
【図２】図１に図示された符号化／復号化ブロックを概略的に示すブロック図。
【図３】図２に図示された符号化スケジューラと復号化スケジューラとを概略的に示すブロック図。
【図４】本発明の一実施形態によるメモリ制御器を概略的に示すブロック図。
【図５】本発明の一実施形態によるメモリシステムが低電力モードに動作する時、復号化動作を示す図。
【図６】本発明の一実施形態によるメモリシステムが高性能モードに動作する時、復号化動作を示す図。
【図７】本発明の一実施形態によるメモリシステムがピーク電力管理モードに動作する時、符号化動作を示す図。
【図８】本発明の他の実施形態による符号化／復号化ブロックを概略的に示すブロック図。
【図９Ａ】本発明の他の実施形態による符号化／復号化ブロックを示すブロック図。
【図９Ｂ】本発明の他の実施形態による符号化／復号化ブロックを示すブロック図。
【図９Ｃ】本発明の他の実施形態による符号化／復号化ブロックを示すブロック図。
【図１０】本発明の実施形態によるコンピューティングシステムを概略的に示すブロック図。
【図１１】本発明の実施形態による半導体ドライブを概略的に示すブロック図。
【図１２】図１１に図示された半導体ドライブを利用するストレージを概略的に示すブロック図。
【図１３】図１１に図示された半導体ドライブを利用するストレージサーバを概略的に示すブロック図。
【図１４】本発明の実施形態による半導体ドライブが適用されるシステムを概略的に示す図。
【図１５】本発明の実施形態によるメモリカード（ｍｅｍｏｒｙ  ｃａｒｄ）を概略的に示すブロック図。
【図１６】本発明の実施形態によるデジタルスチールカメラ（ｄｉｇｉｔａｌ  ｓｔｉｌｌ  ｃａｍｅｒａ）を概略的に示すブロック図。
【図１７】図１５のメモリカードが使用される多様な応用分野を示す図。
【発明を実施するための形態】
【００２９】
本発明の長所及び特徴、そしてそれを達成する方法は添付される図面と共に詳細に後述する実施形態を通じて説明する。しかし、本発明はここで説明する実施形態に限定されず、他の形態に具体化されることもあり得る。本実施形態は本発明が属する技術分野で通常の知識を有する者に本発明の技術的思想を容易に実施できるよう、詳細に説明するために提供される。
図面において、本発明の実施形態は図示された特定形態に制限されるものではなく説明を明確にするために誇張されたものもある。また、明細書全体を通して同一の参照番号で表示された部分は同一の構成要素を示す。
【００３０】
本明細書で‘及び／又は’という表現は前後に羅列された構成要素の中で少なくとも１つを含む意味として使用される。また、‘連結される／結合される’という表現は他の構成要素と直接的に連結させるか、或いは他の構成要素を通じて間接的に連結されることを含む意味として使用される。本明細書で単数形は文言で特別に言及しない限り、複数形も含む。また、明細書で使用される‘含む’又は‘包含する’と言及された構成要素、段階、動作、及び素子は１つ以上の他の構成要素、段階、動作、素子、及び装置の存在又は追加を意味する。
【００３１】
図１は本発明の実施形態によるメモリシステムを概略的に示すブロック図である。
図１を参照すれば、本発明によるメモリシステム１０００は格納媒体１１００とメモリ制御器１２００とを含む。格納媒体１１００は複数のチャンネルＣＨ０〜ＣＨｉを通じてメモリ制御器１２００に電気的に連結される。格納媒体１１００はメモリ制御器１２００の制御に応答して動作する。格納媒体１１００はメモリ制御器１２００によって読出し要請されたデータを出力するか、或いはそれによって書込み要請されたデータを格納する。格納媒体１１００は複数の不揮発性メモリ装置で構成される。
【００３２】
例示的な実施形態において、各不揮発性メモリ装置はＮＡＮＤフラッシュメモリ装置として構成される。ＮＡＮＤフラッシュメモリ装置は２次元アレイ構造を有するＮＡＮＤフラッシュメモリ装置であるか、或いは３次元アレイ構造を有するＮＡＮＤフラッシュメモリ装置である。３次元アレイ構造を有する不揮発性メモリ装置は垂直ＮＡＮＤフラッシュメモリ装置と称される。
【００３３】
他の例示的な実施形態において、格納媒体１１００はＮＯＲフラッシュメモリ装置、抵抗性ＲＡＭ（Ｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＲＲＡＭ（登録商標））装置、相変化メモリ（Ｐｈａｓｅ−Ｃｈａｎｇｅ  Ｍｅｍｏｒｙ：ＰＲＡＭ）装置、磁気抵抗メモリ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＭＲＡＭ）装置、強誘電体メモリ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＦＲＡＭ（登録商標））装置、スピン注入磁化反転メモリ（Ｓｐｉｎ  Ｔｒａｎｓｆｅｒ  Ｔｏｒｑｕｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＳＴＴ−ＲＡＭ）、又はそのような不揮発性メモリ装置で構成することができる。本発明は電荷格納層が伝導性浮遊ゲートで構成されたフラッシュメモリ装置のみならず、電荷格納層が絶縁膜で構成されたチャージトラップ形フラッシュ（Ｃｈａｒｇｅ  Ｔｒａｐ  Ｆｌａｓｈ、“ＣＴＦ”と称される）メモリ装置にも適用できる。
【００３４】
メモリ制御器１２００はホストの要請に応答して格納媒体１１００を制御する。また、ガーベッジコレクション、マージ動作等のような背景動作が要求される時、メモリ制御器１２００はホストの介入無しで要求される背景動作によって格納媒体１１００を制御する。メモリ制御器１２００は複数のチャンネルＣＨ０〜ＣＨｉを通じて格納媒体１１００へデータを伝送する。メモリ制御器１２００には格納媒体１１００から出力されるデータが複数のチャンネルＣＨ０〜ＣＨｉを通じて入力される。メモリ制御器１２００はホストによって書込み要請されたデータを符号化するように、そして符号化されたデータを格納媒体１１００へ伝送するように構成される。メモリ制御器１２００はホストによって読出し要請されたデータが格納媒体１１００から入力されるように、そして入力されたデータが復号化されるように構成される。
【００３５】
メモリ制御器１２００はデータ符号化及び復号化のための符号化／復号化ブロック１２１０を含む。符号化／復号化ブロック１２１０は格納媒体１１００に格納されるプログラムデータに基づいてエラー訂正符号（ＥＣＣ）を生成し、エラー訂正符号をプログラムデータに追加して符号化データを生成する。符号化データはチャンネルＣＨ０〜ＣＨｉを通じて格納媒体１１００へ伝送される。符号化／復号化ブロック１２１０は格納媒体１１００から出力された読出しデータのエラーを検出し検出結果にしたがって読出しデータのエラーを訂正するように構成される。読出しデータのエラーは読出しデータに含まれたエラー訂正符号に基づいて検出される。
【００３６】
符号化／復号化ブロック１２１０は複数のＥＣＣエンジンを含み、ＥＣＣエンジンは動作条件（例えば、低電力、高性能、ピーク電力等）を考慮して選択的に活性化される。また、復号化される／符号化されるデータは活性化されたＥＣＣエンジンの状態（待機状態及びビジー状態を包含）を参照して（又は、活性化されたＥＣＣエンジンの状態に適用的に）活性化されたＥＣＣエンジンにランダムに配分される。言い換えれば、ＥＣＣエンジンがチャンネルＣＨ０〜ＣＨｉに各々固定された条件下でデータが符号化／復号化されるのではなく、データはＥＣＣエンジンの状態にしたがって、選択されたＥＣＣエンジンによって符号化／復号化される。本発明の符号化／復号化方式はメモリシステム１０００の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式はエラー訂正効率が向上されるようにする。
【００３７】
本発明が符号化／復号化ブロック１２１０がＥＣＣエンジンを含むものに制限されないことは容易に理解できる。例えば、符号化／復号化ブロック１２１０が暗号化、圧縮、又はハッシュキーの生成のためのエンジンで構成され得ることは容易に理解できる。このような場合、暗号化、圧縮、又はハッシュキーの生成のためのエンジンは動作条件（例えば、低電力、高性能、ピーク電力、等）を考慮して選択的に活性化される。また、復号化される／符号化されるデータは活性化されたエンジンの状態（待機状態及びビジー状態を包含）を参照して（又は、活性化されたエンジンの状態に適用的に）活性化されたエンジンにランダムに配分される。言い換えれば、暗号化、圧縮、又はハッシュキーの生成のためのエンジンがチャンネルＣＨ０〜ＣＨｉに各々固定された条件下でデータが符号化／復号化されるのではなく、データは暗号化、圧縮、又はハッシュキーの生成のためのエンジンの状態にしたがって、選択されたエンジンによって符号化／復号化される。本発明の符号化／復号化方式はメモリシステム１０００の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式は符号化／復号化効率が向上されるようにする。
【００３８】
図２は図１に図示された符号化／復号化ブロックを概略的に示すブロック図である。
図２を参照すれば、本発明の符号化／復号化ブロック１２１０は信号処理ブロックとしてＥＣＣブロック１２１１、符号化スケジューラ１２１２、復号化スケジューラ１２１３、そしてレジスタ１２１４を含む。ＥＣＣブロック１２１１は信号処理エンジンとして複数のＥＣＣエンジンＥＮ０〜ＥＮｊを含む。ＥＣＣエンジンＥＮ０〜ＥＮｊの数はチャンネルＣＨ０〜ＣＨｉの数より多いか、少ないか、又はそれと同一であり得る。ＥＣＣエンジンＥＮ０〜ＥＮｊは同一のエラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行する。他の例として、ＥＣＣエンジンＥＮ０〜ＥＮｊの一部（又は、半分）は第１エラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行し、残りは第１エラー訂正コードアルゴリズムと他の第２エラー訂正コードアルゴリズムとにしたがってエラー検出及び訂正動作を遂行する。便宜上、ＥＣＣエンジンＥＮ０〜ＥＮｊは同一のエラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行すると仮定する。しかし、本発明がこれに制限されないことは容易に理解できる。
【００３９】
ＥＣＣエンジンＥＮ０〜ＥＮｊの活性化及び非活性化はレジスタ１２１４に格納される値にしたがって決定される。以下に説明されるように、レジスタ１２１４の値はメモリ制御器１１００の動作条件を考慮して決定される。ＥＣＣエンジンＥＮ０〜ＥＮｊの全て又は一部がレジスタ１２１４に格納された値にしたがって活性化される。例えば、高性能が要求される時、レジスタ１２１４の値はＥＣＣエンジンＥＮ０〜ＥＮｊの全てが活性化されるように決定される。低電力が要求される時又はピーク電力の管理が要求される時、レジスタ１２１４の値はＥＣＣエンジンＥＮ０〜ＥＮｊの一部が活性化されるように決定される。
【００４０】
符号化スケジューラ１２１２は符号化されるデータを受信し、ＥＣＣブロック１２１０の活性化されたＥＣＣエンジンの状態を考慮して待機状態を有するＥＣＣエンジンの中で１つ又はそれより多いＥＣＣエンジンを選択し、選択されたＥＣＣエンジンへ符号化されるデータを提供する。復号化スケジューラ１２１３は復号化されるデータを受信し、ＥＣＣブロック１２１０の活性化されたＥＣＣエンジンの状態を考慮して待機状態を有するＥＣＣエンジンの中で１つ又はそれより多いＥＣＣエンジンを選択し、選択されたＥＣＣエンジンへ復号化されるデータを提供する。ＥＣＣエンジンＥＮ０〜ＥＮｊの各々は復号化スケジューラ１２１３を通じてチャンネルＣＨ０〜ＣＨｉに各々連結され得る。１つのＥＣＣエンジンはチャンネルＣＨ０〜ＣＨｉの全て又は一部から伝送されるデータを復号化するか、或いはチャンネルＣＨ０〜ＣＨｉの全て又は一部へ伝送されるデータを符号化することができる。言い換えれば、１つのチャンネルを通じて伝送されたデータは活性化されたＥＣＣエンジンの中で１つ又はそれより多いＥＣＣエンジンを通じて復号化されることができる。同様に、格納媒体１１００へ伝送されるデータは活性化されたＥＣＣエンジンの中で１つ又はそれより多いＥＣＣエンジンを通じて符号化されることができる。
【００４１】
本発明の符号化／復号化ブロック１２１０によれば、復号化及び符号化に参与するＥＣＣエンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化／復号化は動作条件にしたがって活性化されたＥＣＣエンジンの状態を考慮して、選択された複数のＥＣＣエンジン（待機状態を有する）によって行われる。
復号化及び符号化に参与するＥＣＣエンジンの数が動作条件にしたがって調節されることは符号化／復号化ブロック１２１０のバンド幅（又は、データ伝送率、ビット率、又は処理量）が可変されることを意味する。メモリシステム１０００の温度又は電力消費を一定に維持する必要がある。温度又は電力消費はバンド幅を調整することによって一定に維持され得る。例えば、温度又は電力消費が低い場合、バンド幅を延ばすことができる。又は、温度又は電力消費が増加する場合、バンド幅を減らすことによって温度又は電力消費の増加を抑制できる。したがって、符号化／復号化ブロック１２１０のバンド幅を制御することによってメモリシステム１０００の温度又は電力消費を一定に維持することができる。
【００４２】
図３は図２に図示された符号化スケジューラと復号化スケジューラとを概略的に示すブロック図である。
図３を参照すれば、符号化スケジューラ１２１２は第１パケット発生器１２１２ａと第１バスマトリックス１２１２ｂとを含む。第１パケット発生器１２１２ａは入力データに制御情報を追加してパケットデータを生成する。例えば、第１パケット発生器１２１２ａはＥＣＣエンジン（又は、信号処理エンジン）ＥＮ０〜ＥＮｊの状態信号ＲＢ０〜ＲＢｊを参照して入力データに制御情報を追加するように構成される。ここで、制御情報は待機状態を有するＥＣＣエンジンを指定するデータ（以下、エンジン選択情報と称する）を含む。制御情報は、また、入力データの目的地（ｄｅｓｔｉｎａｔｉｏｎ）を示すデータ（以下、目的地情報と称する）を含む。入力データの目的地を示すデータは入力データと共に提供され得る。連結マトリックスとして、第１バスマトリックス１２１２ｂは第１パケット発生器１２１２ａから出力されたパケットデータをＥＣＣエンジンの中の１つへ伝送する。即ち、第１バスマトリックス１２１２ｂはパケットデータに含まれた制御情報（即ち、制御情報に含まれたエンジン選択情報）に対応するＥＣＣエンジンへパケットデータを伝送する。
【００４３】
例示的な実施形態において、第１パケット発生器１２１２ａと第１バスマトリックス１２１２ｂとを連結するバスラインＢ１の数と第１バスマトリックス１２１２ｂとＥＣＣブロック１２１１とを連結するバスラインＢ２の数とは同一であるか、或いは異なり得る。第１パケット発生器１２１２ａに連結された１つのバスラインＢ１は制御情報にしたがってバスラインＢ２の中で１つに連結される。これはバスラインＢ１とバスラインＢ２との連結ノードにスイッチ手段（例えば、デコーダ及びスイッチで構成される）を配置することによって行われ得る。
【００４４】
続いて、図３を参照すれば、復号化スケジューラ１２１３は第２パケット発生器１２１３ａと第１バスマトリックス１２１３ｂとを含む。第２パケット発生器１２１３ａは入力データに制御情報を追加してパケットデータを生成する。例えば、第２パケット発生器１２１３ａはＥＣＣエンジンＥＮ０〜ＥＮｊの状態信号ＲＢ０〜ＲＢｊを参照して入力データに制御情報を追加するように構成される。ここで、制御情報は待機状態を有するＥＣＣエンジンを指定するエンジン選択情報を含む。制御情報は、また、入力データの目的地（ｄｅｓｔｉｎａｔｉｏｎ）を示す目的地情報を含む。入力データの目的地を示すデータは入力データと共に提供され得る。連結マトリックスとして、第２バスマトリックス１２１３ｂは第２パケット発生器１２１３ａから出力されたパケットデータをＥＣＣエンジンの中の１つへ伝送する。即ち、第２バスマトリックス１２１３ｂはパケットデータに含まれた制御情報（即ち、制御情報に含まれたエンジン選択情報）に対応するＥＣＣエンジンへパケットデータを伝送する。
【００４５】
例示的な実施形態において、第２パケット発生器１２１３ａと第２バスマトリックス１２１３ｂとを連結するバスラインＢ１の数は第２バスマトリックス１２１３ｂとＥＣＣブロック１２１１とを連結するバスラインＢ２の数とは同一であるか、或いは異なり得る。第２パケット発生器１２１３ａに連結された１つのバスラインＢ１は制御情報にしたがってバスラインＢ２の中の１つに連結される。これはバスラインＢ１とバスラインＢ２との連結ノードにスイッチ手段（例えば、デコーダ及びスイッチで構成される）を配置することによって行われ得る。
【００４６】
図３に示したように、待機状態又はビジー状態を示すＥＣＣエンジンの状態信号を利用してパケットデータを配分することによってエラー訂正効率を向上させることができる。即ち、１つのＥＣＣエンジンが復号化のためにビジー状態にある場合、他のＥＣＣエンジンがビジー状態にあるＥＣＣエンジンと並列に次のデータを復号化し、その結果ランダム読出し動作の性能が向上され得る。
【００４７】
図４は本発明の一実施形態によるメモリ制御器を概略的に示すブロック図である。
図４を参照すれば、メモリ制御器１２００は符号化／復号化ブロック１２１０、第１インターフェイスとしてホストインターフェイス１２２０、第２インターフェイスとしてメモリインターフェイス１２３０、中央処理装置（ＣＰＵ）１２４０、バッファ制御及びアービタブロック１２５０、ＦＩＦＯブロック１２６０、そしてバッファメモリ１２７０を含む。
【００４８】
符号化／復号化ブロック１２１０は格納媒体１１００に格納されるデータを符号化するように、そして格納媒体１１００から出力されるデータを復号化するように構成される。符号化／復号化ブロック１２１０は、図２及び図３で説明されたように、複数のＥＣＣエンジンＥＮ０〜ＥＮｊを含む。ＥＣＣエンジンＥＮ０〜ＥＮｊは動作条件（例えば、低電力、高性能、ピーク電力等）にしたがって選択的に活性化される。例えば、ＥＣＣエンジンＥＮ０〜ＥＮｊの全て又は一部が動作条件にしたがって活性化される。先に説明されたように、活性化されたＥＣＣエンジンの各々はチャンネルＣＨ０〜ＣＨｉの全て又は一部から提供される又はチャンネルＣＨ０〜ＣＨｉの全て又は一部に提供されるデータを処理できる。
【００４９】
ホストインターフェイス１２２０は外部（又は、ホスト）とインターフェイスするように構成される。メモリインターフェイス１２３０はチャンネルＣＨ０〜ＣＨｉを通じて図１に図示された格納媒体１１００とインターフェイスするように構成される。メモリインターフェイス１２３０はチャンネルＣＨ０〜ＣＨｉに各々対応するＮＡＮＤインターフェイスユニットＮＩＦ０〜ＮＩＦｉを含む。ＮＡＮＤインターフェイスユニットＮＩＦ０〜ＮＩＦｉは中央処理装置１２４０の制御の下に対応するチャンネルに連結された不揮発性メモリ装置とインターフェイスするように構成される。ＣＰＵ１２４０はメモリ制御器１２００の全般的な動作を制御するように構成される。例えば、ＣＰＵ１２４０はフラッシュ変換階層（Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ：ＦＴＬ）のようなファームウェアを運用するように構成される。ＣＰＵ１２４０は、先に説明されたように、動作条件を考慮して符号化／復号化ブロック１２１０に含まれたレジスタ１２１４を設定する。
【００５０】
ＦＩＦＯブロック１２６０はチャンネルＣＨ０〜ＣＨｉに各々対応する複数のＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯｉ）を含む。ＦＩＦＯブロック１２６０はバッファ制御及びアービタブロック１２５０を通じてバッファメモリ１２７０から出力されるデータを符号化／復号化ブロック１２１０へ伝達する。ＦＩＦＯブロック１２６０は符号化／復号化ブロック１２１０から出力されるデータをバッファ制御及びアービタブロック１２５０を通じてバッファメモリ１２７０へ伝達する。バッファメモリ１２７０はバッファ制御及びアービタブロック１２５０の制御の下にホストインターフェイス１２２０を通じて外部へ伝達されるデータを臨時格納するのに使用される。バッファメモリ１２７０はバッファ制御及びアービタブロック１２５０の制御の下にメモリインターフェイス１２３０を通じて格納媒体１１００から伝達されるデータを臨時格納するのに使用される。バッファメモリ１２７０は、また、格納媒体１１００を制御するのに必要である情報（例えば、マッピング情報）を格納するのに使用される。
【００５１】
例示的な実施形態において、メモリ制御器１２００は、図面には図示しないが、格納媒体１１００に格納されるデータをランダム化するように、そして格納媒体１１００から読み出されたデータをランダム化するように構成されたランダム化器をさらに包含する。ランダム化器の一例が特許文献１に“ＤＡＴＡ  ＳＴＯＲＡＧＥ  ＳＹＳＴＥＭ  ＡＮＤ  ＤＥＶＩＣＥ  ＷＩＴＨ  ＲＡＮＤＯＭＩＺＥＲ／ＤＥ−ＲＡＮＤＯＭＩＺＥＲ”という名称で開示され、この出願のレファレンスとして包含される。
【００５２】
例示的な実施形態において、ホストインターフェイス１２２０はコンピュータバス標準、ストレージバス標準、ｉＦＣＰＰｅｒｉｐｈｅｒａｌバス標準、等の中で１つ又はそれより多い組合わせで構成することができる。コンピュータバス標準（ｃｏｍｐｕｔｅｒ  ｂｕｓ  ｓｔａｎｄａｒｄｓ）はＳ−１００  ｂｕｓ、Ｍｂｕｓ、Ｓｍｂｕｓ、Ｑ−Ｂｕｓ、ＩＳＡ、Ｚｏｒｒｏ  ＩＩ、Ｚｏｒｒｏ  ＩＩＩ、ＣＡＭＡＣ、ＦＡＳＴＢＵＳ、ＬＰＣ、ＥＩＳＡ、ＶＭＥ、ＶＸＩ、ＮｕＢｕｓ、ＴＵＲＢＯｃｈａｎｎｅｌ、ＭＣＡ、Ｓｂｕｓ、ＶＬＢ、ＰＣＩ、ＰＸＩ、ＨＰ  ＧＳＣ  ｂｕｓ、ＣｏｒｅＣｏｎｎｅｃｔ、ＩｎｆｉｎｉＢａｎｄ、ＵＰＡ、ＰＣＩ−Ｘ、ＡＧＰ、ＰＣＩｅ、Ｉｎｔｅｌ  ＱｕｉｃｋＰａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ、Ｈｙｐｅｒ  Ｔｒａｎｓｐｏｒｔ、等を含む。ストレージバス標準（Ｓｔｏｒａｇｅ  ｂｕｓ  ｓｔａｎｄａｒｄｓ）は  ＳＴ−５０６、ＥＳＤＩ、ＳＭＤ、Ｐａｒａｌｌｅｌ  ＡＴＡ、ＤＭＡ、ＳＳＡ、ＨＩＰＰＩ、ＵＳＢ  ＭＳＣ、ＦｉｒｅＷｉｒｅ（１３９４）、Ｓｅｒｉａｌ  ＡＴＡ、ｅＳＡＴＡ、ＳＣＳＩ、Ｐａｒａｌｌｅｌ  ＳＣＳＩ、Ｓｅｒｉａｌ  Ａｔｔａｃｈｅｄ  ＳＣＳＩ、Ｆｉｂｒｅ  Ｃｈａｎｎｅｌ、ｉＳＣＳＩ、ＳＡＳ、ＲａｐｉｄＩＯ、ＦＣＩＰ、等を含む。ｉＦＣＰＰｅｒｉｐｈｅｒａｌバス標準（ｉＦＣＰＰｅｒｉｐｈｅｒａｌ  ｂｕｓ  ｓｔａｎｄａｒｄｓ）は  Ａｐｐｌｅ  Ｄｅｓｋｔｏｐ  Ｂｕｓ、ＨＩＬ、ＭＩＤＩ、Ｍｕｌｔｉｂｕｓ、ＲＳ−２３２、ＤＭＸ５１２−Ａ、ＥＩＡ／ＲＳ−４２２、ＩＥＥＥ−１２８４、ＵＮＩ／Ｏ、１−Ｗｉｒｅ、Ｉ２Ｃ、ＳＰＩ、ＥＩＡ／ＲＳ−４８５、ＵＳＢ、Ｃａｍｅｒａ  Ｌｉｎｋ、Ｅｘｔｅｒｎａｌ  ＰＣＩｅ、Ｌｉｇｈｔ  Ｐｅａｋ、Ｍｕｌｔｉｄｒｏｐ  Ｂｕｓ、等を含む。
【００５３】
図５は本発明の一実施形態によるメモリシステムが低電力モードで動作する時、復号化動作を示す図である。
説明の便宜上、メモリ制御器１２００は４つのチャンネルＣＨ０〜ＣＨ３を通じて格納媒体１１００に連結されたと仮定する。また、ＥＣＣブロック１２１１が４つのＥＣＣエンジンＥＮ０〜ＥＮ３で構成されたと仮定する。しかし、ＥＣＣブロック１２１１に含まれたＥＣＣエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ＥＣＣブロック１２１１に含まれたＥＣＣエンジンの数はチャンネルの数より少ないこともあり得る。又は、ＥＣＣブロック１２１１に含まれたＥＣＣエンジンの数はチャンネルの数より多いこともあり得る。
【００５４】
応用プログラム／応用分野にしたがって低電力動作が要求されるか、或いは高性能が要求され得る。応用プログラム／応用分野が低電力動作を要求する場合、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の中で一部が活性化されるように符号化／復号化ブロック１２１０を制御する。例えば、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の中で１つＥＮ０が活性化されるように符号化／復号化ブロック１２１０のレジスタ１２１４を設定する。レジスタ１２１４が設定されることによって、ＥＣＣエンジンＥＮ０は活性化される反面に残るＥＣＣエンジンＥＮ１〜ＥＮ３は非活性化される。
【００５５】
上述した条件下で、チャンネルＣＨ０〜ＣＨ３を通じて各々伝達されたデータＲＤ０〜ＲＤ３はＮＡＮＤインターフェイスユニットＮＩＦ０〜ＮＩＦ３を通じてパケット発生器１２１３ａへ伝達される。ここで、データＲＤ０〜ＲＤ３はホストによって読出し要請されたデータとして格納媒体１１００から提供される。パケット発生器１２１３ａは活性化されたＥＣＣエンジンＥＮ０の状態を参照してチャンネルＣＨ０〜ＣＨ３を通じて入力されたデータＲＤ０〜ＲＤ３に各々制御情報を追加することによってパケットデータＰＤ０〜ＰＤ３を生成する。ここで、制御情報はデータが伝送されるＦＩＦＯを示す目的地情報とパケットデータが伝送されるＥＣＣエンジンを示すエンジン選択情報とを含む。１つのＥＣＣエンジンＥＮ０が活性化されたので、エンジン選択情報はＥＣＣエンジンＥＮ０を示す値に設定される。
【００５６】
バスマトリックス１２１３ｂはパケットデータＰＤ０〜ＰＤ３に各々含まれた制御情報に基づいて、パケット発生器１２１３ａから順次的に提供されるパケットデータＰＤ０〜ＰＤ３を活性化されたＥＣＣエンジンＥＮ０へ伝送する。バスマトリックス１２１２ｂは復号化されたパケットデータＤＰＤ０〜ＤＰＤ３に各々含まれた制御情報（即ち、目的地情報）に基づいて、ＥＣＣエンジンＥＮ０によって各々復号化されたパケットデータＤＰＤ０〜ＤＰＤ３をパケット発生器１２１２ａへ伝送する。パケット発生器１２１２ａはバスマトリックス１２１２ｂを通じて伝送された復号化されたパケットデータＤＰＤ０〜ＤＰＤ３に含まれた制御情報を除去し、残る復号化されたデータＤＤ０〜ＤＤ３をＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）へ各々伝送する。ＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）へ伝送された復号化されたデータＤＤ０〜ＤＤ３はバッファ制御器及びアービタブロック１２５０を通じてバッファメモリ１２７０に格納される。
【００５７】
先の説明から理解されるように、低電力動作が要求される場合、すべてのチャンネルＣＨ０〜ＣＨ３が使用される条件下でＥＣＣエンジンの中で一部（例えば、１つ又はそれより多いＥＣＣエンジン）を活性化させることによってＥＣＣブロック１２１１によって消費される電力を減らすことができる。
例示的な実施形態において、低電力動作のためのレジスタ１２１４の設定はＣＰＵ１２４０の制御の下に実時間に又は予め行われる。図６は本発明の一実施形態によるメモリシステムが高性能モードで動作する時、復号化動作を示す図である。
【００５８】
説明の便宜上、メモリ制御器１２００は４つのチャンネルＣＨ０〜ＣＨ３を通じて格納媒体１１００に連結されていると仮定する。また、ＥＣＣブロック１２１１が４つのＥＣＣエンジンＥＮ０〜ＥＮ３で構成されていると仮定する。しかし、ＥＣＣブロック１２１１に含まれたＥＣＣエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ＥＣＣブロック１２１１に含まれるＥＣＣエンジンの数はチャンネルの数より少ないことがあり得る。又は、ＥＣＣブロック１２１１に含まれるＥＣＣエンジンの数はチャンネルの数より多いことがあり得る。
【００５９】
応用プログラム／応用分野にしたがって低電力動作が要求されるか、或いは高性能が要求され得る。応用プログラム／応用分野が高性能動作を要求する場合、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の全て活性化されるように符号化／復号化ブロック１２１０を制御する。例えば、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の全てが活性化されるように符号化／復号化ブロック１２１０のレジスタ１２１４を設定する。レジスタ１２１４が設定されることによって、ＥＣＣエンジンＥＮ０〜ＥＮ３の全てが活性化される。
【００６０】
上述した条件下で、チャンネルＣＨ０〜ＣＨ３を通じて各々伝達されたデータＲＤ０〜ＲＤ３はＮＡＮＤインターフェイスユニットＮＩＦ０〜ＮＩＦ３を通じてパケット発生器１２１３ａへ伝達される。パケット発生器１２１３ａは活性化されたＥＣＣエンジンＥＮ０〜ＥＮ３の状態を参照してチャンネルＣＨ０〜ＣＨ３を通じて入力されたデータに各々制御情報を追加することによってパケットデータＰＤ０〜ＰＤ３を生成する。先に説明したように、制御情報はデータが伝送されるＦＩＦＯを示す目的地情報とパケットデータが伝送されるＥＣＣエンジンを示すエンジン選択情報とを含む。
【００６１】
図６に示したように、バスマトリックス１２１３ｂはパケットデータＰＤ０〜ＰＤ３に各々含まれた制御情報に基づいて、パケット発生器１２１３ａから提供されるパケットデータＰＤ０〜ＰＤ３を対応するＥＣＣエンジンＥＮ０〜ＥＮ３へ各々伝送する。バスマトリックス１２１２ｂは復号化されたパケットデータＤＰＤ０〜ＤＰＤ３に各々含まれた制御情報（即ち、目的地情報）に基づいて、ＥＣＣエンジンＥＮ０〜ＥＮ３によって各々復号化されたパケットデータＤＰＤ０〜ＤＰＤ３をパケット発生器１２１２ａへ各々伝送する。パケット発生器１２１２ａはバスマトリックス１２１２ｂを通じて伝送された復号化されたパケットデータＤＰＤ０〜ＤＰＤ３に含まれた制御情報を除去し、残る復号化されたデータＤＤ０〜ＤＤ３をＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）へ各々伝送する。ＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）へ伝送された復号化されたデータＤＤ０〜ＤＤ３はバッファ制御器及びアービタブロック１２５０を通じてバッファメモリ１２７０に格納される。
【００６２】
先の説明から理解されるように、高性能動作が要求される場合、すべてのチャンネルＣＨ０〜ＣＨ３が使用される条件下でＥＣＣエンジンＥＮ０〜ＥＮ３を全て活性化させることによってホストによって読出し要請されたデータを高速で処理することができる。
【００６３】
図６に示したように、データＲＤ０〜ＲＤ３に続いてチャンネルＣＨ０〜ＣＨ２を通じてデータＲＤ４〜ＲＤ６が連続的に伝送されると仮定する。ＥＣＣエンジンＥＮ１〜ＥＮ３によって行われるパケットデータＰＤ１〜ＰＤ３の復号化動作が完了されＥＣＣエンジンＥＮ０によって行われるパケットデータＰＤ０の復号化動作が完了しなかった場合が発生することがある。このような場合、チャンネルＣＨ０〜ＣＨ２を通じて伝送されたデータＲＤ４〜ＲＤ６はパケット発生器１２１３ｂを通じて待機状態にある活性化されたＥＣＣエンジンＥＮ１〜ＥＮ３に配分される。言い換えれば、チャンネルＣＨ０〜ＣＨｉの中で特定チャンネルを通じてデータが続いて伝送される場合、特定チャンネルを通じて伝送されるデータは１つのＥＣＣエンジンを通じて復号化されるのではなく、待機状態にある複数のＥＣＣエンジンに配分される。このような方式は、例えば、４ＫＢ単位に行われるランダム読出し動作に適用され得る。４ＫＢ−データは復号化スケジューラ１２１３を通じて１ＫＢ単位にＥＣＣエンジンＥＮ０〜ＥＮ３に各々配分される。特定チャンネルに集中されるデータの復号化動作を分散することによってランダム読出し動作の性能が向上され得る。
【００６４】
図７は本発明の一実施形態によるメモリシステムがピーク電力管理モードで動作する時、符号化動作を示す図である。
説明の便宜上、メモリ制御器１２００は４つのチャンネルＣＨ０〜ＣＨ３を通じて格納媒体１１００に連結されていると仮定する。また、ＥＣＣブロック１２１１が４つのＥＣＣエンジンＥＮ０〜ＥＮ３で構成されていると仮定する。しかし、ＥＣＣブロック１２１１に含まれるＥＣＣエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ＥＣＣブロック１２１１に含まれるＥＣＣエンジンの数はチャンネルの数より少ないことがあり得る。
【００６５】
ピーク電力の管理が要求される場合、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の中の一部が活性化されるように符号化／復号化ブロック１２１０を制御する。例えば、メモリ制御器１２００のＣＰＵ１２４０はＥＣＣブロック１２１１のＥＣＣエンジンＥＮ０〜ＥＮ３の中の１つＥＮ１が活性化されるように符号化／復号化ブロック１２１０のレジスタ１２１４を設定する。レジスタ１２１４がこのように設定されることによって、ＥＣＣエンジンＥＮ１は活性化される反面、残るＥＣＣエンジンＥＮ０、ＥＮ２、ＥＮ３は非活性化される。
【００６６】
上述した条件下で、バッファ制御及びアービタブロック１２５０を通じてバッファメモリ１２７０から提供される書込みデータＷＤ０〜ＷＤ３はＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）を通じてパケット発生器１２１２ａへ伝達される。パケット発生器１２１２ａは活性化されたＥＣＣエンジンＥＮ１の状態を参照してＦＩＦＯ（ＦＩＦＯ０〜ＦＩＦＯ３）を通じて入力されたデータに各々制御情報を追加することによってパケットデータＰＷＤ０〜ＰＷＤ３を生成する。ここで、制御情報はデータが伝送されるチャンネルを示す目的地情報とパケットデータが伝送されるＥＣＣエンジンを示すエンジン選択情報とを含む。１つのＥＣＣエンジンＥＮ１が活性化されたので、エンジン選択情報はＥＣＣエンジンＥＮ１を示す値に設定される。
【００６７】
バスマトリックス１２１２ｂはパケットデータＰＷＤ０〜ＰＷＤ３に各々含まれた制御情報に基づいて、パケット発生器１２１２ａから提供されるパケットデータＰＷＤ０〜ＰＷＤ３を活性化されたＥＣＣエンジンＥＮ１へ順次的に伝送する。バスマトリックス１２１３ｂは符号化されたパケットデータＥＰＷＤ０〜ＥＰＷＤ３に各々含まれた制御情報（即ち、目的地情報）に基づいて、ＥＣＣエンジンＥＮ１によって各々符号化されたパケットデータＥＰＷＤ０〜ＥＰＷＤ３をパケット発生器１２１３ａへ伝送する。パケット発生器１２１３ａはバスマトリックス１２１３ｂを通じて伝送された符号化されたパケットデータＥＰＷＤ０〜ＥＰＷＤ３に含まれた制御情報を除去し、残る符号化されたデータＥＷＤ０〜ＥＷＤ３をＮＡＮＤインターフェイスユニットＮＩＦ０〜ＮＩＦ３を通じて対応するチャンネルＣＨ０〜ＣＨ３へ各々伝送する。チャンネルＣＨ０〜ＣＨ３へ伝送された符号化されたデータＥＷＤ０〜ＥＷＤ３は格納媒体１１００に格納される。
【００６８】
１つのＥＣＣエンジンが秒当たり４００メガバイトのデータを処理したと仮定する。このような仮定によれば、４つのＥＣＣエンジンの全て活性化されれば、ＥＣＣブロック１２１１は秒当たり１．６ギガバイトのデータを処理する。ピーク電力の管理が要求される場合、ＥＣＣブロック１２１１の処理量が１／４に減少されるようにＥＣＣエンジンＥＮ０〜ＥＮ３の中で１つのみが活性化される。このような場合、ピーク電力は１／４に減少する。先の説明から理解されるように、すべてのチャンネルＣＨ０〜ＣＨ３が使用される条件下でＥＣＣエンジンの中で一部（例えば、１つ）を活性化させることによってメモリシステム１０００のピーク電力を減らすことができる。
【００６９】
符号化／復号化ブロック１２１０の信号処理水準がレジスタ１２１４に設定された値にしたがって決定される例が図２乃至図８を参照して説明された。しかし、本発明がそのような例に制限されないことは容易に理解できる。例えば、符号化／復号化ブロック１２１０のレジスタ１２１０は除去することができる。このような場合、入力されるデータの状態情報（例えば、エラー水準、ＰＥサイクル水準等を示す情報）を利用して信号処理水準が調整され得る。他の例として、符号化／復号化ブロック１２１０のレジスタ１２１０と共にデータの状態情報を利用して信号処理水準を調整することができる。このような場合、符号化／復号化ブロック１２１０のデフォルト信号処理水準はレジスタ１２１０の値によって決定され、入力データの状態情報にしたがってデフォルト信号処理水準が調整され得る。
【００７０】
図８は本発明の他の実施形態による符号化／復号化ブロックを概略的に示すブロック図である。
図８を参照すれば、符号化／復号化ブロック１２１０ａは第１信号処理ブロックとして第１ＥＣＣブロック１２１１ａ、第２信号処理ブロックとして第２ＥＣＣブロック１２１１ｂ、符号化スケジューラ１２１２ａ、復号化スケジューラ１２１３ａ、そしてレジスタ１２１４ａを含む。第１ＥＣＣブロック１２１１ａのエラー訂正コードアルゴリズムは第２ＥＣＣブロック１２１１ｂのエラー訂正コードアルゴリズムと異なる。例えば、第１ＥＣＣブロック１２１１ａはＢＣＨ方式で動作するＥＣＣエンジン（又は、信号処理エンジン）ＥＣＣ１で構成され、第２ＥＣＣブロック１２１１ｂはＬＤＰＣ方式で動作するＥＣＣエンジン（又は、信号処理エンジン）ＥＣＣ２で構成される。しかし、本発明がここに開示されたものに制限されないことは容易に理解できる。
【００７１】
第１ＥＣＣブロック１２１１ａと第２ＥＣＣブロック１２１１ｂとの中でいずれか１つはＣＰＵ１２４０によって設定されたレジスタ１２１４ａの値にしたがって選択される。例えば、ＣＰＵ１２４０はエラー率を基準にレジスタ１２１４ａの値を決定する。エラー率が基準値以下である時、ＣＰＵ１２４０は第１ＥＣＣブロック１２１１ａが選択されるようにレジスタ１２１４ａの値を決定する。エラー率が基準値以上である時、ＣＰＵ１２４０は第２ＥＣＣブロック１２１１ｂが選択されるようにレジスタ１２１４ａの値を決定する。選択されたＥＣＣブロックのＥＣＣエンジンを通じてデータ符号化及び復号化動作が遂行される。
【００７２】
選択されたＥＣＣブロックを通じて行われる符号化及び復号化動作は符号化スケジューラ１２１２ａ及び復号化スケジューラ１２１３ａによって制御される。これは図５乃至図７で説明されたものと実質的に同様に行われ、符号化／復号化ブロック１２１０ａの符号化及び復号化動作に対する説明はしたがって省略される。
【００７３】
図９Ａは本発明の他の実施形態による符号化／復号化ブロックを示すブロック図である。
図９Ａを参照すれば、本発明の符号化／復号化ブロック１２１０ａは信号処理ブロックとして圧縮ブロック１２１１ａ、符号化スケジューラ１２１２ａ、復号化スケジューラ１２１３ａ、そしてレジスタ１２１４ａを含む。圧縮ブロック１２１１ａは信号処理エンジンとして複数の圧縮エンジンＥＮ０ａ〜ＥＮｊａを含む。圧縮エンジンＥＮ０ａ〜ＥＮｊａの数はチャンネルＣＨ０〜ＣＨｉの数より多いか、少ないか、又はそれと同一であり得る。
【００７４】
圧縮エンジンＥＮ０ａ〜ＥＮｊａの活性化及び非活性化はレジスタ１２１４ａに格納される値にしたがって決定される。レジスタ１２１４ａの値はメモリ制御器１１００ａの動作条件を考慮して決定される。圧縮エンジンＥＮ０ａ〜ＥＮｊａの全て又は一部がレジスタ１２１４ａに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ１２１４ａ無しで（又は、レジスタ１２１４ａの値に関わらずに）入力されるデータの状態情報にしたがって圧縮エンジンＥＮ０ａ〜ＥＮｊａの活性化及び非活性化が決定され得る。
【００７５】
符号化スケジューラ１２１２ａは符号化されるデータを受信し、圧縮ブロック１２１０ａの活性化された圧縮エンジンの状態を考慮して待機状態を有する圧縮エンジンの中で１つ又はそれより多い圧縮エンジンを選択し、選択された圧縮エンジンへ符号化されるデータを提供する。復号化スケジューラ１２１３ａは復号化されるデータを受信し、圧縮ブロック１２１０ａの活性化された圧縮エンジンの状態を考慮して待機状態を有する圧縮エンジンの中で１つ又はそれより多い圧縮エンジンを選択し、選択された圧縮エンジンへ復号化されるデータを提供する。
【００７６】
圧縮エンジンＥＮ０ａ〜ＥＮｊａの各々は復号化スケジューラ１２１３ａを通じてチャンネルＣＨ０〜ＣＨｉに各々連結され得る。１つの圧縮エンジンはチャンネルＣＨ０〜ＣＨｉの全て又は一部から伝送されるデータを復号化するか、或いは、チャンネルＣＨ０〜ＣＨｉの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、１つのチャンネルを通じて伝送されたデータは活性化された圧縮エンジンの中で１つ又はそれより多い圧縮エンジンを通じて復号化することができる。同様に、格納媒体１１００へ伝送されるデータは活性化された圧縮エンジンの中で１つ又はそれより多い圧縮エンジンを通じて符号化することができる。
【００７７】
本発明の符号化／復号化ブロック１２１０ａによれば、復号化及び符号化に参与する圧縮エンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化／復号化は動作条件にしたがって活性化された圧縮エンジンの状態を考慮して、選択された圧縮エンジン（待機状態を有する）によって行われる。
【００７８】
図９Ｂは本発明のその他の実施形態による符号化／復号化ブロックを示すブロック図である。
図９Ｂを参照すれば、本発明の符号化／復号化ブロック１２１０ｂは信号処理ブロックとして暗号化ブロック１２１１ｂ、符号化スケジューラ１２１２ｂ、復号化スケジューラ１２１３ｂ、そしてレジスタ１２１４ｂを含む。暗号化ブロック１２１１ｂは信号処理エンジンとして複数の暗号化エンジンＥＮ０ｂ〜ＥＮｊｂを含む。暗号化エンジンＥＮ０ｂ〜ＥＮｊｂの数はチャンネルＣＨ０〜ＣＨｉの数より多いか、少ないか、又はそれと同一であり得る。
【００７９】
暗号化エンジンＥＮ０ｂ〜ＥＮｊｂの活性化及び非活性化はレジスタ１２１４ｂに格納される値にしたがって決定される。レジスタ１２１４ｂの値はメモリ制御器１１００の動作条件を考慮して決定される。暗号化エンジンＥＮ０ｂ〜ＥＮｊｂの全て又は一部がレジスタ１２１４ｂに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ１２１４ｂ無しで（又は、レジスタ１２１４ｂの値と共に）入力されるデータの状態情報にしたがって暗号化エンジンＥＮ０ｂ〜ＥＮｊｂの活性化及び非活性化が決定され得る。
【００８０】
符号化スケジューラ１２１２ｂは符号化されるデータを受信し、暗号化ブロック１２１０ｂの活性化された暗号化エンジンの状態を考慮して待機状態を有する暗号化エンジンの中で１つ又はそれより多い暗号化エンジンを選択し、選択された暗号化エンジンへ符号化されるデータを提供する。復号化スケジューラ１２１３ｂは復号化されるデータを受信し、暗号化ブロック１２１０ｂの活性化された圧縮エンジンの状態を考慮して待機状態を有する暗号化エンジンの中で１つ又はそれより多い暗号化エンジンを選択し、選択された暗号化エンジンへ復号化されるデータを提供する。
【００８１】
暗号化エンジンＥＮ０ｂ〜ＥＮｊｂの各々は復号化スケジューラ１２１３ｂを通じてチャンネルＣＨ０〜ＣＨｉに各々連結され得る。１つの暗号化エンジンはチャンネルＣＨ０〜ＣＨｉの全て又は一部から伝送されるデータを復号化するか、或いはチャンネルＣＨ０〜ＣＨｉの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、１つのチャンネルを通じて伝送されたデータは活性化された暗号化エンジンの中で１つ又はそれより多い暗号化エンジンを通じて復号化することができる。同様に、格納媒体１１００へ伝送されるデータは活性化された暗号化エンジンの中で１つ又はそれより多い暗号化エンジンを通じて符号化することができる。
【００８２】
本発明の符号化／復号化ブロック１２１０ｂによれば、復号化及び符号化に参与する暗号化エンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化／復号化は動作条件にしたがって活性化された暗号化エンジンの状態を考慮して、選択された暗号化エンジン（待機状態を有する）によって行われる。
【００８３】
図９Ｃは本発明のその他の実施形態による符号化／復号化ブロックを示すブロック図である。
図９Ｃを参照すれば、本発明の符号化／復号化ブロック１２１０ｃは信号処理ブロックとしてハッシュキー生成ブロック１２１１ｃ、符号化スケジューラ１２１２ｃ、復号化スケジューラ１２１３ｃ、そしてレジスタ１２１４ｃを含む。ハッシュキー生成ブロック１２１１ｃは信号処理エンジンとして複数のハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃを含む。ハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃの数はチャンネルＣＨ０〜ＣＨｉの数より多いか、少ないか、又はそれと同一であり得る。
【００８４】
ハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃの活性化及び非活性化はレジスタ１２１４ｃに格納される値にしたがって決定される。レジスタ１２１４ｃの値はメモリ制御器１１００の動作条件を考慮して決定される。ハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃの全て又は一部がレジスタ１２１４ｃに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ１２１４ｃ無しで（又は、レジスタ１２１４ｃの値と共に）入力されるデータの状態情報にしたがってハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃの活性化及び非活性化が決定され得る。
【００８５】
符号化スケジューラ１２１２ｃは符号化されるデータを受信し、ハッシュキー生成ブロック１２１１ｃの活性化されたハッシュキーエンジンの状態を考慮して待機状態を有するハッシュキーエンジンの中で１つ又はそれより多いハッシュキーエンジンを選択し、選択されたハッシュキーエンジンへ符号化されるデータを提供する。復号化スケジューラ１２１３ｃは復号化されるデータを受信し、ハッシュキー生成ブロック１２１０ｃの活性化されたハッシュキーエンジンの状態を考慮して待機状態を有するハッシュキーエンジンの中で１つ又はそれより多いハッシュキーエンジンを選択し、選択されたハッシュキーエンジンへ復号化されるデータを提供する。
【００８６】
ハッシュキーエンジンＥＮ０ｃ〜ＥＮｊｃの各々は復号化スケジューラ１２１３ｃを通じてチャンネルＣＨ０〜ＣＨｉに各々連結され得る。１つのハッシュキーエンジンはチャンネルＣＨ０〜ＣＨｉの全て又は一部から伝送されるデータを復号化するか、或いは、チャンネルＣＨ０〜ＣＨｉの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、１つのチャンネルを通じて伝送されたデータは活性化されたハッシュキーエンジンの中で１つ又はそれより多いハッシュキーエンジンを通じて復号化することができる。
【００８７】
本発明の符号化／復号化ブロック１２１０ｃによれば、復号化及び符号化に参与するハッシュキーエンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化／復号化は動作条件にしたがって活性化されたハッシュキーエンジンの状態を考慮して、選択されたハッシュキーエンジン（待機状態を有する）によって行われる。
図２乃至図９Ｃにおいて、信号処理エンジンとしてＥＣＣエンジン、圧縮エンジン、暗号化エンジン、ハッシュキーエンジンを利用して実施形態を説明した。しかし、本発明が他の機能エンジンにも適用され得ることは容易に理解できる。
【００８８】
図１０は本発明の実施形態によるコンピューティングシステムを概略的に示すブロック図である。コンピューティングシステムは処理ユニット２１０１、使用者インターフェイス２２０２、ベースバンドチップセット（ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ）のようなモデム２３０３、メモリ制御器２４０４、そして格納媒体２５０５を含む。
メモリ制御器２４０４は図１に図示されたものと実質的に同様に構成される。即ち、メモリ制御器２４０４はＥＣＣエンジンの状態を考慮して、選択されたＥＣＣエンジンによってデータが符号化／復号化されるように構成される。本発明の符号化／復号化方式はメモリ制御器２４０４の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式はエラー訂正効率が向上されるようにする。
【００８９】
格納媒体２５０５には処理ユニット２１０１によって処理された／処理されるＮ−ビットデータ（Ｎは１又はそれより大きい整数）がメモリ制御器２４０４を通じて格納される。コンピューティングシステムがモバイル装置である場合、コンピューティングシステムの動作電圧を供給するためのバッテリ２６０６が追加的に提供される。図には図示しないが、本発明によるコンピューティングシステムには応用チップセット（ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ）、カメライメージプロセッサ（Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ：ＣＩＳ）、モバイルＤＲＡＭ等がさらに提供され得ることは容易に理解できる。
【００９０】
図１１は本発明の実施形態による半導体ドライブを概略的に示すブロック図である。
図１１を参照すれば、半導体ドライブ４０００（ＳＳＤ）は格納媒体４１００と制御器４２００とを包含する。格納媒体４１００は複数のチャンネルＣＨ０〜ＣＨｎ−１を通じて制御器４２００に連結される。各チャンネルには複数の不揮発性メモリが共通に連結される。制御器４２００は図１に図示されたものと実質的に同様に構成される。即ち、制御器４２００はＥＣＣエンジンの状態を考慮して、選択されたＥＣＣエンジンによってデータが符号化／復号化されるように構成される。本発明の符号化／復号化方式は制御器４２００の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式はエラー訂正効率が向上されるようにする。
【００９１】
図１２は図１１に図示された半導体ドライブを利用するストレージを概略的に示すブロック図であり、図１３は図１１に図示された半導体ドライブを利用するストレージサーバを概略的に示すブロック図である。
本発明の実施形態による半導体ドライブ４０００はストレージを構成するのに使用され得る。図１２に示したように、ストレージは図１１で説明されたものと実質的に同様に構成される複数の半導体ドライブを包含する。本発明の実施形態による半導体ドライブ４０００はストレージサーバを構成するのに使用され得る。図１３に示したように、ストレージサーバは図１１で説明されたものと実質的に同様に構成される複数の半導体ドライブ４０００、そしてサーバ４０００Ａを包含する。また、この分野に周知のＲＡＩＤ制御器４０００Ｂがストレージサーバへ提供され得ることは容易に理解できる。
【００９２】
図１４は本発明の実施形態による半導体ドライブが適用されるシステムを概略的に示す図である。
図１４に示したように、本発明の実施形態による半導体ドライブはメールサーバ８１００にも適用され得る。
【００９３】
図１５は本発明の実施形態によるメモリカード（ｍｅｍｏｒｙ  ｃａｒｄ）を概略的に示すブロック図である。
メモリカードは、例えばＭＭＣカード、ＳＤカード、マルチユーズ（ｍｕｌｔｉｕｓｅ）カード、マイクロＳＤカード、メモリスティック、コンパクトＳＤカード、ＩＤカード、ＰＣＭＣＩＡカード、ＳＳＤカード、チップカード（ｃｈｉｐｃａｒｄ）、スマトカード（ｓｍａｒｔｃａｒｄ）、ＵＳＢカード等であり得る。
【００９４】
図１５を参照すれば、メモリカードは外部とのインターフェイスを遂行するインターフェイス部９２２１、バッファメモリを有し、メモリカードの動作を制御する制御器９２２２、１つ又はそれより多い不揮発性メモリ装置９２０７を包含する。制御器９２２２はプロセッサとして、不揮発性メモリ装置９２０７の書込み動作及びリード動作を制御することができる。具体的に、制御器９２２２はデータバス（ＤＡＴＡ）とアドレスバス（ＡＤＤＲＥＳＳ）を通じて不揮発性メモリ装置９２０７及びインターフェイス部９２２１とカップリングされている。
【００９５】
制御器９２２２は図１に図示されたものと実質的に同様に構成される。即ち、制御器９２２２はＥＣＣエンジンの状態を考慮して、選択されたＥＣＣエンジンによってデータが符号化／復号化されるように構成される。本発明の符号化／復号化方式は制御器９２２２の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式はエラー訂正効率が向上されるようにする。
【００９６】
図１６は本発明の実施形態によるデジタルスチールカメラ（ｄｉｇｉｔａｌ  ｓｔｉｌｌ  ｃａｍｅｒａ）を概略的に示すブロック図である。
図１６を参照すれば、デジタルスチールカメラはボディ９３０１、スロット９３０２、レンズ９３０３、ディスプレイ部９３０８、シャッタボタン９３１２、ストロボ（ｓｔｒｏｂｅ）９３１８等を含む。特に、スロット９３０８にはメモリカード９３３１が挿入され得、メモリカード９３３１は図１で説明されたメモリ制御器及び格納媒体を包含する。制御器はＥＣＣエンジンの状態を考慮して、選択されたＥＣＣエンジンによってデータが符号化／復号化されるように構成される。本発明の符号化／復号化方式は制御器の電力及び性能の調整（ｔｕｎｉｎｇ）が可能であるようにする。また、本発明の符号化／復号化方式はエラー訂正効率が向上されるようにする。
【００９７】
メモリカード９３３１が接触形（ｃｏｎｔａｃｔ  ｔｙｐｅ）である場合、メモリカード９３３１がスロット９３０２に挿入される時、メモリカード９３３１と回路基板の上の特定電気回路とが電気的に接触される。メモリカード９３３１が非接触形（ｎｏｎ−ｃｏｎｔａｃｔ  ｔｙｐｅ）である場合、無線信号を通じてメモリカード９３３１がアクセスされる。
【００９８】
図１７は図１５のメモリカードが使用される多様な応用分野を示す図である。
図１７を参照すれば、メモリカード９３３１はビデオカメラ（ＶＣ）、テレビジョン（ＴＶ）、オーディオ装置（ＡＤ）、ゲーム装置（ＧＭ）、電子音楽装置（ＥＭＤ）、携帯電話（ＨＰ）、コンピュータ（ＣＰ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ボイスレコーダ（ｖｏｉｃｅ  ｒｅｃｏｒｄｅｒ）（ＶＲ）、ＰＣカード（ＰＣＣ）、等に使用され得る。
【００９９】
本発明の実施形態において、メモリセルは可変抵抗メモリセルで構成され得、例示的な可変抵抗メモリセル及びそれを含むメモリ装置が特許文献２に開示され、この出願のレファレンスとして包含される。
本発明の他の実施形態において、メモリセルは電荷格納層を有する多様なセル構造の中で１つを利用して具現され得る。電荷格納層を有するセル構造は電荷トラップ層を利用する電荷トラップフラッシュ構造、アレイが多層に積層されるスタックフラッシュ構造、ソース−ドレーンが無いフラッシュ構造、ピン−タイプフラッシュ構造、等を包含する。
電荷格納層として電荷トラップフラッシュ構造を有するメモリ装置が特許文献３、特許文献４、及び特許文献５に各々開示され、この出願のレファレンスとして包含される。ソース／ドレーンが無いフラッシュ構造は特許文献６に開示され、この出願のレファレンスとして包含される。
【０１００】
本発明によるフラッシュメモリ装置及び／又はメモリ制御器は多様な形態のパッケージを利用して実装され得る。例えば、本発明によるフラッシュメモリ装置そして／又はメモリコントローラはＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）、等のようなパッケージを利用して実装され得る。
【０１０１】
本発明の範囲又は技術的思想を逸脱しなく本発明の構造が多様に修正や変更され得ることは当該分野に熟練された者に明確である。上述した内容を考慮して見るとき、もし本発明の修正及び変更が下記請求項及び同等物の範疇内に属すれば、本発明がこの発明の変更及び修正を含むものと解釈できる。
【符号の説明】
【０１０２】
１０００・・・メモリシステム
１１００・・・格納媒体
１２００・・・メモリ制御器
１２１１・・・ＥＣＣブロック
１２１２・・・符号化スケジューラ
１２１３・・・復号化スケジューラ
１２１４・・・レジスタ
１２１２ａ、１２１３ａ・・・パケット発生器
１２１２ｂ、１２１３ｂ・・・バスマトリックス
１２２０・・・ホストインターフェイス
１２３０・・・メモリインターフェイス
１２４０・・・中央処理装置
１２５０・・・バス制御及びアービタブロック
１２６０・・・ＦＩＦＯブロック
１２７０・・・バッファメモリ
【図１】
2014116015.tif 000003
【図２】
2014116015.tif 000004
【図３】
2014116015.tif 000005
【図４】
2014116015.tif 000006
【図５】
2014116015.tif 000007
【図６】
2014116015.tif 000008
【図７】
2014116015.tif 000009
【図８】
2014116015.tif 000010
【図９Ａ】
2014116015.tif 000011
【図９Ｂ】
2014116015.tif 000012
【図９Ｃ】
2014116015.tif 000013
【図１０】
2014116015.tif 000014
【図１１】
2014116015.tif 000015
【図１２】
2014116015.tif 000016
【図１３】
2014116015.tif 000017
【図１４】
2014116015.tif 000018
【図１５】
2014116015.tif 000019
【図１６】
2014116015.tif 000020
【図１７】
2014116015.tif 000021