JP6284351B2 - メモリ制御器及びそれを含むメモリシステム - Google Patents

メモリ制御器及びそれを含むメモリシステム Download PDF

Info

Publication number
JP6284351B2
JP6284351B2 JP2013256030A JP2013256030A JP6284351B2 JP 6284351 B2 JP6284351 B2 JP 6284351B2 JP 2013256030 A JP2013256030 A JP 2013256030A JP 2013256030 A JP2013256030 A JP 2013256030A JP 6284351 B2 JP6284351 B2 JP 6284351B2
Authority
JP
Japan
Prior art keywords
signal processing
engine
data
memory controller
activated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013256030A
Other languages
English (en)
Other versions
JP2014116015A (ja
Inventor
成 勳 禹
成 勳 禹
学 善 金
学 善 金
義 赫 権
義 赫 権
朴 在 根
在 根 朴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2014116015A publication Critical patent/JP2014116015A/ja
Application granted granted Critical
Publication of JP6284351B2 publication Critical patent/JP6284351B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)

Description

本発明は情報格納装置に係り、より具体的には、格納媒体を制御するメモリ制御器及びそれを含むメモリシステムに関する。
半導体メモリは、一般的に、衛星から消費者電子技術までの範囲に属するマイクロプロセッサに基づいた応用及びコンピュータのようなデジタルロジック設計に最も必要なマイクロ電子素子である。したがって、高集積度及び高速度のための縮小(Scaling)を通じて得られるプロセスの向上及び技術開発を含む半導体メモリの製造技術の進歩は、他のデジタルロジック系列の性能基準を確立するのに役立つ。
半導体メモリ装置は大きく揮発性半導体メモリ装置と不揮発性半導体メモリ装置とに分けられる。揮発性半導体メモリ装置において、ロジック情報はスタティックランダムアクセスメモリの場合、双安定フリップ−フロップのロジック状態を設定することによって又はダイナミックランダムアクセスメモリの場合、キャパシタの充電を通じて格納される。揮発性半導体メモリ装置の場合、電源が印加される間はデータが格納され、読み出され、電源が遮断されると、データは消失する。
MROM、PROM、EPROM、EEPROM、PRAM(登録商標)等のような不揮発性半導体メモリ装置は電源が遮断されてもデータを格納できる。不揮発性メモリデータ格納状態は使用される製造技術によって永久的であるか、或いは再プログラム可能である。不揮発性半導体メモリ装置はコンピュータ、航行電子工学、通信、そして消費者電子技術産業のような広い範囲の応用で、プログラム及びマイクロコードを格納するために使用される。単一チップで揮発性及び不揮発性メモリ格納モードの組合わせが、速くて再プログラム可能である不揮発性メモリを要求するシステムで、また不揮発性RAM(nvRAM)のような装置で、使用できる。さらに、応用指向業務のための性能を最適化させるために幾つかの追加的なロジック回路を含む特定メモリ構造が開発されてきた。
不揮発性半導体メモリ装置において、MROM、PROM、及びEPROMはシステム自体的に消去及び書込みが自由ではないので、一般使用者が記憶内容を新しくするのが容易でない。これに反して、EEPROM、PRAM等のような不揮発性半導体メモリ装置は電気的に消去及び書込みができるので、継続的な更新が必要であるシステムプログラミング(system programming)や補助記憶装置としての応用が拡大されている。
米国特許公開第2010/0088574号公報 米国特許第7529124号公報 米国特許第6858906号公報 米国特許公開第2004−0169238号公報 米国特許公開第2006−0180851号公報 韓国特許第10−0673020号公報 米国特許第8250403号公報
本発明の目的は、エラー訂正コードブロックの消費電力及び性能を制御できるメモリシステムを提供することである。
本発明の一特徴は、複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、複数の信号処理エンジンを含む信号処理ブロックと、前記複数の信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、を含む。
例示的な実施形態において、メモリ制御器は、前記メモリ制御器の動作条件を判別する中央処理装置と、前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、をさらに含む。
例示的な実施形態において、前記複数の信号処理エンジンの全て又は一部は前記レジスタに格納された活性化情報によって活性化される。
例示的な実施形態において、メモリ制御器は、前記複数のチャンネルへ伝送されるデータを臨時格納する複数のFIFOと、前記複数のFIFOのデータが前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む。
例示的な実施形態において、前記符号化スケジューラは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のFIFOの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第1パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のFIFOの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第1バスマトリックスと、を含む。
例示的な実施形態において、前記復号化スケジューラは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第2パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第2バスマトリックスと、を含む。
例示的な実施形態において、高性能が要求される場合、前記中央処理装置は前記複数の信号処理エンジンが全て活性化されるように前記レジスタの値を決定する。
例示的な実施形態において、前記符号化スケジューラは符号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する。
例示的な実施形態において、前記復号化スケジューラは復号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する。
例示的な実施形態において、前記復号化スケジューラは前記複数のチャンネルの中でいずれか1つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記符号化スケジューラは前記複数のFIFOの中でいずれか1つのFIFOから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである。
例示的な実施形態において、前記複数の信号処理エンジンの数は前記複数のチャンネルの数と同一であるか、或いはそれより少ない。
例示的な実施形態において、前記複数の信号処理エンジンは同一のエラー訂正コードアルゴリズムにしたがって動作する。
本発明の他の特徴は、格納媒体と、複数のチャンネルを通じて前記格納媒体に連結されるメモリ制御器と、を含み、前記メモリ制御器は複数の信号処理エンジンを含み、前記複数のチャンネルが使用される条件下で前記複数の信号処理エンジンの各々を前記複数のチャンネルに各々連結する符号化/復号化ブロックを含む。
例示的な実施形態において、前記メモリ制御器は、前記メモリ制御器の動作条件を判別する中央処理装置と、前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、前記複数のチャンネルへ伝送されるデータを臨時格納する複数のFIFOと、前記複数の信号処理エンジンの中で前記レジスタの活性化情報にしたがって活性化された少なくとも1つの信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、前記複数のFIFOのデータが前記少なくとも1つの信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む。
例示的な実施形態において、前記符号化スケジューラは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のFIFOの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第1パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のFIFOの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第1バスマトリックスと、を含む。
例示的な実施形態において、前記復号化スケジューラは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第2パケット発生器と、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第2バスマトリックスと、を含む。
例示的な実施形態において、前記復号化スケジューラは前記複数のチャンネルの中でいずれか1つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記符号化スケジューラは前記複数のFIFOの中でいずれか1つのFIFOから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する。
例示的な実施形態において、前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである。
例示的な実施形態において、前記符号化/復号化ブロックは複数の他の信号処理エンジンをさらに含み、前記複数の他の信号処理エンジンは前記複数の信号処理エンジンの使用が中止される時、符号化及び復号化動作を遂行するように活性化され、前記複数の他の信号処理エンジンの活性化はエラー率を基準に決定される。
本発明のその他の特徴は、複数のチャンネルを通じて格納媒体に連結されるメモリ制御器のバンド幅制御方法を提供し、バンド幅制御方法は、処理される信号を受信し、前記入力された信号を処理することを含む。前記入力された信号の信号処理水準は前記メモリ制御器の動作条件にしたがって決定される。
例示的な実施形態において、前記入力された信号の処理は信号処理エンジンとしてエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンによって行われる。
例示的な実施形態において、方法は、前記信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御することをさらに含む。
例示的な実施形態において、方法は、前記処理された信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することをさらに含む。
例示的な実施形態において、前記処理された信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記処理される信号に制御情報を追加することによってパケットデータを発生し、前記パケットデータに含まれた制御情報に基づいて前記処理された信号を前記少なくとも1つの活性化された信号処理エンジンへ伝送することを含む。
例示的な実施形態において、前記処理された信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルから出力された信号に制御情報を追加することによってパケットデータを発生し、前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルに対応する信号を前記少なくとも1つの活性化された信号処理エンジンへ伝送することを含む。
複数のチャンネルを通じて格納媒体に連結されるメモリ制御器は、信号処理動作を遂行するように構成された複数のコーディングエンジンを含む信号処理ブロックと、前記複数のコーディングエンジンの中で選択された数のコーディングエンジンへ伝送される複数の第1データユニットを引き起こすスケジューラと、を含み、前記メモリ制御器は前記メモリ制御器の動作モードに基づいて前記選択された数のコーディングエンジンを決定し、前記信号処理動作は復号化動作と符号化動作との中で1つと、を含む。
例示的な実施形態において、前記スケジューラは前記メモリ制御器の第1動作モードの間に前記スケジューラが前記選択された数として第1個数を決定し、前記メモリ制御器の第2動作モードの間に前記スケジューラが前記選択された数として第2個数を決定するように構成され、前記第1個数と前記第2個数とは異なる。
例示的な実施形態において、前記スケジューラは前記第1動作モードが高性能動作モードであり、前記第2動作モードがピーク電力管理動作であり、前記第1個数が前記第2個数より多いように構成される。
本発明によれば、低電力動作が要求される時に最小の信号処理エンジンを動作させ、高性能が要求される時にすべての信号処理エンジンを動作させることによって電力消費及び性能を調整することができる。また、1つの信号処理エンジンが信号処理のためにビジー状態である場合、他の信号処理エンジンが並列に異なるデータに対して信号処理を行うことによってランダム読出し、性能が向上され得る。また、信号処理ブロックの処理量を制御することによってピーク電力を管理することができる。
本発明の実施形態によるメモリシステムを概略的に示すブロック図。 図1に図示された符号化/復号化ブロックを概略的に示すブロック図。 図2に図示された符号化スケジューラと復号化スケジューラとを概略的に示すブロック図。 本発明の一実施形態によるメモリ制御器を概略的に示すブロック図。 本発明の一実施形態によるメモリシステムが低電力モードに動作する時、復号化動作を示す図。 本発明の一実施形態によるメモリシステムが高性能モードに動作する時、復号化動作を示す図。 本発明の一実施形態によるメモリシステムがピーク電力管理モードに動作する時、符号化動作を示す図。 本発明の他の実施形態による符号化/復号化ブロックを概略的に示すブロック図。 本発明の他の実施形態による符号化/復号化ブロックを示すブロック図。 本発明の他の実施形態による符号化/復号化ブロックを示すブロック図。 本発明の他の実施形態による符号化/復号化ブロックを示すブロック図。 本発明の実施形態によるコンピューティングシステムを概略的に示すブロック図。 本発明の実施形態による半導体ドライブを概略的に示すブロック図。 図11に図示された半導体ドライブを利用するストレージを概略的に示すブロック図。 図11に図示された半導体ドライブを利用するストレージサーバを概略的に示すブロック図。 本発明の実施形態による半導体ドライブが適用されるシステムを概略的に示す図。 本発明の実施形態によるメモリカード(memory card)を概略的に示すブロック図。 本発明の実施形態によるデジタルスチールカメラ(digital still camera)を概略的に示すブロック図。 図15のメモリカードが使用される多様な応用分野を示す図。
本発明の長所及び特徴、そしてそれを達成する方法は添付される図面と共に詳細に後述する実施形態を通じて説明する。しかし、本発明はここで説明する実施形態に限定されず、他の形態に具体化されることもあり得る。本実施形態は本発明が属する技術分野で通常の知識を有する者に本発明の技術的思想を容易に実施できるよう、詳細に説明するために提供される。
図面において、本発明の実施形態は図示された特定形態に制限されるものではなく説明を明確にするために誇張されたものもある。また、明細書全体を通して同一の参照番号で表示された部分は同一の構成要素を示す。
本明細書で‘及び/又は’という表現は前後に羅列された構成要素の中で少なくとも1つを含む意味として使用される。また、‘連結される/結合される’という表現は他の構成要素と直接的に連結させるか、或いは他の構成要素を通じて間接的に連結されることを含む意味として使用される。本明細書で単数形は文言で特別に言及しない限り、複数形も含む。また、明細書で使用される‘含む’又は‘包含する’と言及された構成要素、段階、動作、及び素子は1つ以上の他の構成要素、段階、動作、素子、及び装置の存在又は追加を意味する。
図1は本発明の実施形態によるメモリシステムを概略的に示すブロック図である。
図1を参照すれば、本発明によるメモリシステム1000は格納媒体1100とメモリ制御器1200とを含む。格納媒体1100は複数のチャンネルCH0〜CHiを通じてメモリ制御器1200に電気的に連結される。格納媒体1100はメモリ制御器1200の制御に応答して動作する。格納媒体1100はメモリ制御器1200によって読出し要請されたデータを出力するか、或いはそれによって書込み要請されたデータを格納する。格納媒体1100は複数の不揮発性メモリ装置で構成される。
例示的な実施形態において、各不揮発性メモリ装置はNANDフラッシュメモリ装置として構成される。NANDフラッシュメモリ装置は2次元アレイ構造を有するNANDフラッシュメモリ装置であるか、或いは3次元アレイ構造を有するNANDフラッシュメモリ装置である。3次元アレイ構造を有する不揮発性メモリ装置は垂直NANDフラッシュメモリ装置と称される。
他の例示的な実施形態において、格納媒体1100はNORフラッシュメモリ装置、抵抗性RAM(Resistive Random Access Memory:RRAM(登録商標))装置、相変化メモリ(Phase−Change Memory:PRAM)装置、磁気抵抗メモリ(Magnetoresistive Random Access Memory:MRAM)装置、強誘電体メモリ(Ferroelectric Random Access Memory:FRAM(登録商標))装置、スピン注入磁化反転メモリ(Spin Transfer Torque Random Access Memory:STT−RAM)、又はそのような不揮発性メモリ装置で構成することができる。本発明は電荷格納層が伝導性浮遊ゲートで構成されたフラッシュメモリ装置のみならず、電荷格納層が絶縁膜で構成されたチャージトラップ形フラッシュ(Charge Trap Flash、“CTF”と称される)メモリ装置にも適用できる。
メモリ制御器1200はホストの要請に応答して格納媒体1100を制御する。また、ガーベッジコレクション、マージ動作等のような背景動作が要求される時、メモリ制御器1200はホストの介入無しで要求される背景動作によって格納媒体1100を制御する。メモリ制御器1200は複数のチャンネルCH0〜CHiを通じて格納媒体1100へデータを伝送する。メモリ制御器1200には格納媒体1100から出力されるデータが複数のチャンネルCH0〜CHiを通じて入力される。メモリ制御器1200はホストによって書込み要請されたデータを符号化するように、そして符号化されたデータを格納媒体1100へ伝送するように構成される。メモリ制御器1200はホストによって読出し要請されたデータが格納媒体1100から入力されるように、そして入力されたデータが復号化されるように構成される。
メモリ制御器1200はデータ符号化及び復号化のための符号化/復号化ブロック1210を含む。符号化/復号化ブロック1210は格納媒体1100に格納されるプログラムデータに基づいてエラー訂正符号(ECC)を生成し、エラー訂正符号をプログラムデータに追加して符号化データを生成する。符号化データはチャンネルCH0〜CHiを通じて格納媒体1100へ伝送される。符号化/復号化ブロック1210は格納媒体1100から出力された読出しデータのエラーを検出し検出結果にしたがって読出しデータのエラーを訂正するように構成される。読出しデータのエラーは読出しデータに含まれたエラー訂正符号に基づいて検出される。
符号化/復号化ブロック1210は複数のECCエンジンを含み、ECCエンジンは動作条件(例えば、低電力、高性能、ピーク電力等)を考慮して選択的に活性化される。また、復号化される/符号化されるデータは活性化されたECCエンジンの状態(待機状態及びビジー状態を包含)を参照して(又は、活性化されたECCエンジンの状態に適用的に)活性化されたECCエンジンにランダムに配分される。言い換えれば、ECCエンジンがチャンネルCH0〜CHiに各々固定された条件下でデータが符号化/復号化されるのではなく、データはECCエンジンの状態にしたがって、選択されたECCエンジンによって符号化/復号化される。本発明の符号化/復号化方式はメモリシステム1000の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式はエラー訂正効率が向上されるようにする。
本発明が符号化/復号化ブロック1210がECCエンジンを含むものに制限されないことは容易に理解できる。例えば、符号化/復号化ブロック1210が暗号化、圧縮、又はハッシュキーの生成のためのエンジンで構成され得ることは容易に理解できる。このような場合、暗号化、圧縮、又はハッシュキーの生成のためのエンジンは動作条件(例えば、低電力、高性能、ピーク電力、等)を考慮して選択的に活性化される。また、復号化される/符号化されるデータは活性化されたエンジンの状態(待機状態及びビジー状態を包含)を参照して(又は、活性化されたエンジンの状態に適用的に)活性化されたエンジンにランダムに配分される。言い換えれば、暗号化、圧縮、又はハッシュキーの生成のためのエンジンがチャンネルCH0〜CHiに各々固定された条件下でデータが符号化/復号化されるのではなく、データは暗号化、圧縮、又はハッシュキーの生成のためのエンジンの状態にしたがって、選択されたエンジンによって符号化/復号化される。本発明の符号化/復号化方式はメモリシステム1000の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式は符号化/復号化効率が向上されるようにする。
図2は図1に図示された符号化/復号化ブロックを概略的に示すブロック図である。
図2を参照すれば、本発明の符号化/復号化ブロック1210は信号処理ブロックとしてECCブロック1211、符号化スケジューラ1212、復号化スケジューラ1213、そしてレジスタ1214を含む。ECCブロック1211は信号処理エンジンとして複数のECCエンジンEN0〜ENjを含む。ECCエンジンEN0〜ENjの数はチャンネルCH0〜CHiの数より多いか、少ないか、又はそれと同一であり得る。ECCエンジンEN0〜ENjは同一のエラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行する。他の例として、ECCエンジンEN0〜ENjの一部(又は、半分)は第1エラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行し、残りは第1エラー訂正コードアルゴリズムと他の第2エラー訂正コードアルゴリズムとにしたがってエラー検出及び訂正動作を遂行する。便宜上、ECCエンジンEN0〜ENjは同一のエラー訂正コードアルゴリズムにしたがってエラー検出及び訂正動作を遂行すると仮定する。しかし、本発明がこれに制限されないことは容易に理解できる。
ECCエンジンEN0〜ENjの活性化及び非活性化はレジスタ1214に格納される値にしたがって決定される。以下に説明されるように、レジスタ1214の値はメモリ制御器1100の動作条件を考慮して決定される。ECCエンジンEN0〜ENjの全て又は一部がレジスタ1214に格納された値にしたがって活性化される。例えば、高性能が要求される時、レジスタ1214の値はECCエンジンEN0〜ENjの全てが活性化されるように決定される。低電力が要求される時又はピーク電力の管理が要求される時、レジスタ1214の値はECCエンジンEN0〜ENjの一部が活性化されるように決定される。
符号化スケジューラ1212は符号化されるデータを受信し、ECCブロック1210の活性化されたECCエンジンの状態を考慮して待機状態を有するECCエンジンの中で1つ又はそれより多いECCエンジンを選択し、選択されたECCエンジンへ符号化されるデータを提供する。復号化スケジューラ1213は復号化されるデータを受信し、ECCブロック1210の活性化されたECCエンジンの状態を考慮して待機状態を有するECCエンジンの中で1つ又はそれより多いECCエンジンを選択し、選択されたECCエンジンへ復号化されるデータを提供する。ECCエンジンEN0〜ENjの各々は復号化スケジューラ1213を通じてチャンネルCH0〜CHiに各々連結され得る。1つのECCエンジンはチャンネルCH0〜CHiの全て又は一部から伝送されるデータを復号化するか、或いはチャンネルCH0〜CHiの全て又は一部へ伝送されるデータを符号化することができる。言い換えれば、1つのチャンネルを通じて伝送されたデータは活性化されたECCエンジンの中で1つ又はそれより多いECCエンジンを通じて復号化されることができる。同様に、格納媒体1100へ伝送されるデータは活性化されたECCエンジンの中で1つ又はそれより多いECCエンジンを通じて符号化されることができる。
本発明の符号化/復号化ブロック1210によれば、復号化及び符号化に参与するECCエンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化/復号化は動作条件にしたがって活性化されたECCエンジンの状態を考慮して、選択された複数のECCエンジン(待機状態を有する)によって行われる。
復号化及び符号化に参与するECCエンジンの数が動作条件にしたがって調節されることは符号化/復号化ブロック1210のバンド幅(又は、データ伝送率、ビット率、又は処理量)が可変されることを意味する。メモリシステム1000の温度又は電力消費を一定に維持する必要がある。温度又は電力消費はバンド幅を調整することによって一定に維持され得る。例えば、温度又は電力消費が低い場合、バンド幅を延ばすことができる。又は、温度又は電力消費が増加する場合、バンド幅を減らすことによって温度又は電力消費の増加を抑制できる。したがって、符号化/復号化ブロック1210のバンド幅を制御することによってメモリシステム1000の温度又は電力消費を一定に維持することができる。
図3は図2に図示された符号化スケジューラと復号化スケジューラとを概略的に示すブロック図である。
図3を参照すれば、符号化スケジューラ1212は第1パケット発生器1212aと第1バスマトリックス1212bとを含む。第1パケット発生器1212aは入力データに制御情報を追加してパケットデータを生成する。例えば、第1パケット発生器1212aはECCエンジン(又は、信号処理エンジン)EN0〜ENjの状態信号RB0〜RBjを参照して入力データに制御情報を追加するように構成される。ここで、制御情報は待機状態を有するECCエンジンを指定するデータ(以下、エンジン選択情報と称する)を含む。制御情報は、また、入力データの目的地(destination)を示すデータ(以下、目的地情報と称する)を含む。入力データの目的地を示すデータは入力データと共に提供され得る。連結マトリックスとして、第1バスマトリックス1212bは第1パケット発生器1212aから出力されたパケットデータをECCエンジンの中の1つへ伝送する。即ち、第1バスマトリックス1212bはパケットデータに含まれた制御情報(即ち、制御情報に含まれたエンジン選択情報)に対応するECCエンジンへパケットデータを伝送する。
例示的な実施形態において、第1パケット発生器1212aと第1バスマトリックス1212bとを連結するバスラインB1の数と第1バスマトリックス1212bとECCブロック1211とを連結するバスラインB2の数とは同一であるか、或いは異なり得る。第1パケット発生器1212aに連結された1つのバスラインB1は制御情報にしたがってバスラインB2の中で1つに連結される。これはバスラインB1とバスラインB2との連結ノードにスイッチ手段(例えば、デコーダ及びスイッチで構成される)を配置することによって行われ得る。
続いて、図3を参照すれば、復号化スケジューラ1213は第2パケット発生器1213aと第1バスマトリックス1213bとを含む。第2パケット発生器1213aは入力データに制御情報を追加してパケットデータを生成する。例えば、第2パケット発生器1213aはECCエンジンEN0〜ENjの状態信号RB0〜RBjを参照して入力データに制御情報を追加するように構成される。ここで、制御情報は待機状態を有するECCエンジンを指定するエンジン選択情報を含む。制御情報は、また、入力データの目的地(destination)を示す目的地情報を含む。入力データの目的地を示すデータは入力データと共に提供され得る。連結マトリックスとして、第2バスマトリックス1213bは第2パケット発生器1213aから出力されたパケットデータをECCエンジンの中の1つへ伝送する。即ち、第2バスマトリックス1213bはパケットデータに含まれた制御情報(即ち、制御情報に含まれたエンジン選択情報)に対応するECCエンジンへパケットデータを伝送する。
例示的な実施形態において、第2パケット発生器1213aと第2バスマトリックス1213bとを連結するバスラインB1の数は第2バスマトリックス1213bとECCブロック1211とを連結するバスラインB2の数とは同一であるか、或いは異なり得る。第2パケット発生器1213aに連結された1つのバスラインB1は制御情報にしたがってバスラインB2の中の1つに連結される。これはバスラインB1とバスラインB2との連結ノードにスイッチ手段(例えば、デコーダ及びスイッチで構成される)を配置することによって行われ得る。
図3に示したように、待機状態又はビジー状態を示すECCエンジンの状態信号を利用してパケットデータを配分することによってエラー訂正効率を向上させることができる。即ち、1つのECCエンジンが復号化のためにビジー状態にある場合、他のECCエンジンがビジー状態にあるECCエンジンと並列に次のデータを復号化し、その結果ランダム読出し動作の性能が向上され得る。
図4は本発明の一実施形態によるメモリ制御器を概略的に示すブロック図である。
図4を参照すれば、メモリ制御器1200は符号化/復号化ブロック1210、第1インターフェイスとしてホストインターフェイス1220、第2インターフェイスとしてメモリインターフェイス1230、中央処理装置(CPU)1240、バッファ制御及びアービタブロック1250、FIFOブロック1260、そしてバッファメモリ1270を含む。
符号化/復号化ブロック1210は格納媒体1100に格納されるデータを符号化するように、そして格納媒体1100から出力されるデータを復号化するように構成される。符号化/復号化ブロック1210は、図2及び図3で説明されたように、複数のECCエンジンEN0〜ENjを含む。ECCエンジンEN0〜ENjは動作条件(例えば、低電力、高性能、ピーク電力等)にしたがって選択的に活性化される。例えば、ECCエンジンEN0〜ENjの全て又は一部が動作条件にしたがって活性化される。先に説明されたように、活性化されたECCエンジンの各々はチャンネルCH0〜CHiの全て又は一部から提供される又はチャンネルCH0〜CHiの全て又は一部に提供されるデータを処理できる。
ホストインターフェイス1220は外部(又は、ホスト)とインターフェイスするように構成される。メモリインターフェイス1230はチャンネルCH0〜CHiを通じて図1に図示された格納媒体1100とインターフェイスするように構成される。メモリインターフェイス1230はチャンネルCH0〜CHiに各々対応するNANDインターフェイスユニットNIF0〜NIFiを含む。NANDインターフェイスユニットNIF0〜NIFiは中央処理装置1240の制御の下に対応するチャンネルに連結された不揮発性メモリ装置とインターフェイスするように構成される。CPU1240はメモリ制御器1200の全般的な動作を制御するように構成される。例えば、CPU1240はフラッシュ変換階層(Flash Translation Layer:FTL)のようなファームウェアを運用するように構成される。CPU1240は、先に説明されたように、動作条件を考慮して符号化/復号化ブロック1210に含まれたレジスタ1214を設定する。
FIFOブロック1260はチャンネルCH0〜CHiに各々対応する複数のFIFO(FIFO0〜FIFOi)を含む。FIFOブロック1260はバッファ制御及びアービタブロック1250を通じてバッファメモリ1270から出力されるデータを符号化/復号化ブロック1210へ伝達する。FIFOブロック1260は符号化/復号化ブロック1210から出力されるデータをバッファ制御及びアービタブロック1250を通じてバッファメモリ1270へ伝達する。バッファメモリ1270はバッファ制御及びアービタブロック1250の制御の下にホストインターフェイス1220を通じて外部へ伝達されるデータを臨時格納するのに使用される。バッファメモリ1270はバッファ制御及びアービタブロック1250の制御の下にメモリインターフェイス1230を通じて格納媒体1100から伝達されるデータを臨時格納するのに使用される。バッファメモリ1270は、また、格納媒体1100を制御するのに必要である情報(例えば、マッピング情報)を格納するのに使用される。
例示的な実施形態において、メモリ制御器1200は、図面には図示しないが、格納媒体1100に格納されるデータをランダム化するように、そして格納媒体1100から読み出されたデータをランダム化するように構成されたランダム化器をさらに包含する。ランダム化器の一例が特許文献1に“DATA STORAGE SYSTEM AND DEVICE WITH RANDOMIZER/DE−RANDOMIZER”という名称で開示され、この出願のレファレンスとして包含される。
例示的な実施形態において、ホストインターフェイス1220はコンピュータバス標準、ストレージバス標準、iFCPPeripheralバス標準、等の中で1つ又はそれより多い組合わせで構成することができる。コンピュータバス標準(computer bus standards)はS−100 bus、Mbus、Smbus、Q−Bus、ISA、Zorro II、Zorro III、CAMAC、FASTBUS、LPC、EISA、VME、VXI、NuBus、TURBOchannel、MCA、Sbus、VLB、PCI、PXI、HP GSC bus、CoreConnect、InfiniBand、UPA、PCI−X、AGP、PCIe、Intel QuickPath Interconnect、Hyper Transport、等を含む。ストレージバス標準(Storage bus standards)は ST−506、ESDI、SMD、Parallel ATA、DMA、SSA、HIPPI、USB MSC、FireWire(1394)、Serial ATA、eSATA、SCSI、Parallel SCSI、Serial Attached SCSI、Fibre Channel、iSCSI、SAS、RapidIO、FCIP、等を含む。iFCPPeripheralバス標準(iFCPPeripheral bus standards)は Apple Desktop Bus、HIL、MIDI、Multibus、RS−232、DMX512−A、EIA/RS−422、IEEE−1284、UNI/O、1−Wire、I2C、SPI、EIA/RS−485、USB、Camera Link、External PCIe、Light Peak、Multidrop Bus、等を含む。
図5は本発明の一実施形態によるメモリシステムが低電力モードで動作する時、復号化動作を示す図である。
説明の便宜上、メモリ制御器1200は4つのチャンネルCH0〜CH3を通じて格納媒体1100に連結されたと仮定する。また、ECCブロック1211が4つのECCエンジンEN0〜EN3で構成されたと仮定する。しかし、ECCブロック1211に含まれたECCエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ECCブロック1211に含まれたECCエンジンの数はチャンネルの数より少ないこともあり得る。又は、ECCブロック1211に含まれたECCエンジンの数はチャンネルの数より多いこともあり得る。
応用プログラム/応用分野にしたがって低電力動作が要求されるか、或いは高性能が要求され得る。応用プログラム/応用分野が低電力動作を要求する場合、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の中で一部が活性化されるように符号化/復号化ブロック1210を制御する。例えば、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の中で1つEN0が活性化されるように符号化/復号化ブロック1210のレジスタ1214を設定する。レジスタ1214が設定されることによって、ECCエンジンEN0は活性化される反面に残るECCエンジンEN1〜EN3は非活性化される。
上述した条件下で、チャンネルCH0〜CH3を通じて各々伝達されたデータRD0〜RD3はNANDインターフェイスユニットNIF0〜NIF3を通じてパケット発生器1213aへ伝達される。ここで、データRD0〜RD3はホストによって読出し要請されたデータとして格納媒体1100から提供される。パケット発生器1213aは活性化されたECCエンジンEN0の状態を参照してチャンネルCH0〜CH3を通じて入力されたデータRD0〜RD3に各々制御情報を追加することによってパケットデータPD0〜PD3を生成する。ここで、制御情報はデータが伝送されるFIFOを示す目的地情報とパケットデータが伝送されるECCエンジンを示すエンジン選択情報とを含む。1つのECCエンジンEN0が活性化されたので、エンジン選択情報はECCエンジンEN0を示す値に設定される。
バスマトリックス1213bはパケットデータPD0〜PD3に各々含まれた制御情報に基づいて、パケット発生器1213aから順次的に提供されるパケットデータPD0〜PD3を活性化されたECCエンジンEN0へ伝送する。バスマトリックス1212bは復号化されたパケットデータDPD0〜DPD3に各々含まれた制御情報(即ち、目的地情報)に基づいて、ECCエンジンEN0によって各々復号化されたパケットデータDPD0〜DPD3をパケット発生器1212aへ伝送する。パケット発生器1212aはバスマトリックス1212bを通じて伝送された復号化されたパケットデータDPD0〜DPD3に含まれた制御情報を除去し、残る復号化されたデータDD0〜DD3をFIFO(FIFO0〜FIFO3)へ各々伝送する。FIFO(FIFO0〜FIFO3)へ伝送された復号化されたデータDD0〜DD3はバッファ制御器及びアービタブロック1250を通じてバッファメモリ1270に格納される。
先の説明から理解されるように、低電力動作が要求される場合、すべてのチャンネルCH0〜CH3が使用される条件下でECCエンジンの中で一部(例えば、1つ又はそれより多いECCエンジン)を活性化させることによってECCブロック1211によって消費される電力を減らすことができる。
例示的な実施形態において、低電力動作のためのレジスタ1214の設定はCPU1240の制御の下に実時間に又は予め行われる。図6は本発明の一実施形態によるメモリシステムが高性能モードで動作する時、復号化動作を示す図である。
説明の便宜上、メモリ制御器1200は4つのチャンネルCH0〜CH3を通じて格納媒体1100に連結されていると仮定する。また、ECCブロック1211が4つのECCエンジンEN0〜EN3で構成されていると仮定する。しかし、ECCブロック1211に含まれたECCエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ECCブロック1211に含まれるECCエンジンの数はチャンネルの数より少ないことがあり得る。又は、ECCブロック1211に含まれるECCエンジンの数はチャンネルの数より多いことがあり得る。
応用プログラム/応用分野にしたがって低電力動作が要求されるか、或いは高性能が要求され得る。応用プログラム/応用分野が高性能動作を要求する場合、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の全て活性化されるように符号化/復号化ブロック1210を制御する。例えば、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の全てが活性化されるように符号化/復号化ブロック1210のレジスタ1214を設定する。レジスタ1214が設定されることによって、ECCエンジンEN0〜EN3の全てが活性化される。
上述した条件下で、チャンネルCH0〜CH3を通じて各々伝達されたデータRD0〜RD3はNANDインターフェイスユニットNIF0〜NIF3を通じてパケット発生器1213aへ伝達される。パケット発生器1213aは活性化されたECCエンジンEN0〜EN3の状態を参照してチャンネルCH0〜CH3を通じて入力されたデータに各々制御情報を追加することによってパケットデータPD0〜PD3を生成する。先に説明したように、制御情報はデータが伝送されるFIFOを示す目的地情報とパケットデータが伝送されるECCエンジンを示すエンジン選択情報とを含む。
図6に示したように、バスマトリックス1213bはパケットデータPD0〜PD3に各々含まれた制御情報に基づいて、パケット発生器1213aから提供されるパケットデータPD0〜PD3を対応するECCエンジンEN0〜EN3へ各々伝送する。バスマトリックス1212bは復号化されたパケットデータDPD0〜DPD3に各々含まれた制御情報(即ち、目的地情報)に基づいて、ECCエンジンEN0〜EN3によって各々復号化されたパケットデータDPD0〜DPD3をパケット発生器1212aへ各々伝送する。パケット発生器1212aはバスマトリックス1212bを通じて伝送された復号化されたパケットデータDPD0〜DPD3に含まれた制御情報を除去し、残る復号化されたデータDD0〜DD3をFIFO(FIFO0〜FIFO3)へ各々伝送する。FIFO(FIFO0〜FIFO3)へ伝送された復号化されたデータDD0〜DD3はバッファ制御器及びアービタブロック1250を通じてバッファメモリ1270に格納される。
先の説明から理解されるように、高性能動作が要求される場合、すべてのチャンネルCH0〜CH3が使用される条件下でECCエンジンEN0〜EN3を全て活性化させることによってホストによって読出し要請されたデータを高速で処理することができる。
図6に示したように、データRD0〜RD3に続いてチャンネルCH0〜CH2を通じてデータRD4〜RD6が連続的に伝送されると仮定する。ECCエンジンEN1〜EN3によって行われるパケットデータPD1〜PD3の復号化動作が完了されECCエンジンEN0によって行われるパケットデータPD0の復号化動作が完了しなかった場合が発生することがある。このような場合、チャンネルCH0〜CH2を通じて伝送されたデータRD4〜RD6はパケット発生器1213bを通じて待機状態にある活性化されたECCエンジンEN1〜EN3に配分される。言い換えれば、チャンネルCH0〜CHiの中で特定チャンネルを通じてデータが続いて伝送される場合、特定チャンネルを通じて伝送されるデータは1つのECCエンジンを通じて復号化されるのではなく、待機状態にある複数のECCエンジンに配分される。このような方式は、例えば、4KB単位に行われるランダム読出し動作に適用され得る。4KB−データは復号化スケジューラ1213を通じて1KB単位にECCエンジンEN0〜EN3に各々配分される。特定チャンネルに集中されるデータの復号化動作を分散することによってランダム読出し動作の性能が向上され得る。
図7は本発明の一実施形態によるメモリシステムがピーク電力管理モードで動作する時、符号化動作を示す図である。
説明の便宜上、メモリ制御器1200は4つのチャンネルCH0〜CH3を通じて格納媒体1100に連結されていると仮定する。また、ECCブロック1211が4つのECCエンジンEN0〜EN3で構成されていると仮定する。しかし、ECCブロック1211に含まれるECCエンジンの数がここに開示されたものに制限されないことは容易に理解できる。例えば、ECCブロック1211に含まれるECCエンジンの数はチャンネルの数より少ないことがあり得る。
ピーク電力の管理が要求される場合、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の中の一部が活性化されるように符号化/復号化ブロック1210を制御する。例えば、メモリ制御器1200のCPU1240はECCブロック1211のECCエンジンEN0〜EN3の中の1つEN1が活性化されるように符号化/復号化ブロック1210のレジスタ1214を設定する。レジスタ1214がこのように設定されることによって、ECCエンジンEN1は活性化される反面、残るECCエンジンEN0、EN2、EN3は非活性化される。
上述した条件下で、バッファ制御及びアービタブロック1250を通じてバッファメモリ1270から提供される書込みデータWD0〜WD3はFIFO(FIFO0〜FIFO3)を通じてパケット発生器1212aへ伝達される。パケット発生器1212aは活性化されたECCエンジンEN1の状態を参照してFIFO(FIFO0〜FIFO3)を通じて入力されたデータに各々制御情報を追加することによってパケットデータPWD0〜PWD3を生成する。ここで、制御情報はデータが伝送されるチャンネルを示す目的地情報とパケットデータが伝送されるECCエンジンを示すエンジン選択情報とを含む。1つのECCエンジンEN1が活性化されたので、エンジン選択情報はECCエンジンEN1を示す値に設定される。
バスマトリックス1212bはパケットデータPWD0〜PWD3に各々含まれた制御情報に基づいて、パケット発生器1212aから提供されるパケットデータPWD0〜PWD3を活性化されたECCエンジンEN1へ順次的に伝送する。バスマトリックス1213bは符号化されたパケットデータEPWD0〜EPWD3に各々含まれた制御情報(即ち、目的地情報)に基づいて、ECCエンジンEN1によって各々符号化されたパケットデータEPWD0〜EPWD3をパケット発生器1213aへ伝送する。パケット発生器1213aはバスマトリックス1213bを通じて伝送された符号化されたパケットデータEPWD0〜EPWD3に含まれた制御情報を除去し、残る符号化されたデータEWD0〜EWD3をNANDインターフェイスユニットNIF0〜NIF3を通じて対応するチャンネルCH0〜CH3へ各々伝送する。チャンネルCH0〜CH3へ伝送された符号化されたデータEWD0〜EWD3は格納媒体1100に格納される。
1つのECCエンジンが秒当たり400メガバイトのデータを処理したと仮定する。このような仮定によれば、4つのECCエンジンの全て活性化されれば、ECCブロック1211は秒当たり1.6ギガバイトのデータを処理する。ピーク電力の管理が要求される場合、ECCブロック1211の処理量が1/4に減少されるようにECCエンジンEN0〜EN3の中で1つのみが活性化される。このような場合、ピーク電力は1/4に減少する。先の説明から理解されるように、すべてのチャンネルCH0〜CH3が使用される条件下でECCエンジンの中で一部(例えば、1つ)を活性化させることによってメモリシステム1000のピーク電力を減らすことができる。
符号化/復号化ブロック1210の信号処理水準がレジスタ1214に設定された値にしたがって決定される例が図2乃至図8を参照して説明された。しかし、本発明がそのような例に制限されないことは容易に理解できる。例えば、符号化/復号化ブロック1210のレジスタ1210は除去することができる。このような場合、入力されるデータの状態情報(例えば、エラー水準、PEサイクル水準等を示す情報)を利用して信号処理水準が調整され得る。他の例として、符号化/復号化ブロック1210のレジスタ1210と共にデータの状態情報を利用して信号処理水準を調整することができる。このような場合、符号化/復号化ブロック1210のデフォルト信号処理水準はレジスタ1210の値によって決定され、入力データの状態情報にしたがってデフォルト信号処理水準が調整され得る。
図8は本発明の他の実施形態による符号化/復号化ブロックを概略的に示すブロック図である。
図8を参照すれば、符号化/復号化ブロック1210aは第1信号処理ブロックとして第1ECCブロック1211a、第2信号処理ブロックとして第2ECCブロック1211b、符号化スケジューラ1212a、復号化スケジューラ1213a、そしてレジスタ1214aを含む。第1ECCブロック1211aのエラー訂正コードアルゴリズムは第2ECCブロック1211bのエラー訂正コードアルゴリズムと異なる。例えば、第1ECCブロック1211aはBCH方式で動作するECCエンジン(又は、信号処理エンジン)ECC1で構成され、第2ECCブロック1211bはLDPC方式で動作するECCエンジン(又は、信号処理エンジン)ECC2で構成される。しかし、本発明がここに開示されたものに制限されないことは容易に理解できる。
第1ECCブロック1211aと第2ECCブロック1211bとの中でいずれか1つはCPU1240によって設定されたレジスタ1214aの値にしたがって選択される。例えば、CPU1240はエラー率を基準にレジスタ1214aの値を決定する。エラー率が基準値以下である時、CPU1240は第1ECCブロック1211aが選択されるようにレジスタ1214aの値を決定する。エラー率が基準値以上である時、CPU1240は第2ECCブロック1211bが選択されるようにレジスタ1214aの値を決定する。選択されたECCブロックのECCエンジンを通じてデータ符号化及び復号化動作が遂行される。
選択されたECCブロックを通じて行われる符号化及び復号化動作は符号化スケジューラ1212a及び復号化スケジューラ1213aによって制御される。これは図5乃至図7で説明されたものと実質的に同様に行われ、符号化/復号化ブロック1210aの符号化及び復号化動作に対する説明はしたがって省略される。
図9Aは本発明の他の実施形態による符号化/復号化ブロックを示すブロック図である。
図9Aを参照すれば、本発明の符号化/復号化ブロック1210aは信号処理ブロックとして圧縮ブロック1211a、符号化スケジューラ1212a、復号化スケジューラ1213a、そしてレジスタ1214aを含む。圧縮ブロック1211aは信号処理エンジンとして複数の圧縮エンジンEN0a〜ENjaを含む。圧縮エンジンEN0a〜ENjaの数はチャンネルCH0〜CHiの数より多いか、少ないか、又はそれと同一であり得る。
圧縮エンジンEN0a〜ENjaの活性化及び非活性化はレジスタ1214aに格納される値にしたがって決定される。レジスタ1214aの値はメモリ制御器1100aの動作条件を考慮して決定される。圧縮エンジンEN0a〜ENjaの全て又は一部がレジスタ1214aに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ1214a無しで(又は、レジスタ1214aの値に関わらずに)入力されるデータの状態情報にしたがって圧縮エンジンEN0a〜ENjaの活性化及び非活性化が決定され得る。
符号化スケジューラ1212aは符号化されるデータを受信し、圧縮ブロック1210aの活性化された圧縮エンジンの状態を考慮して待機状態を有する圧縮エンジンの中で1つ又はそれより多い圧縮エンジンを選択し、選択された圧縮エンジンへ符号化されるデータを提供する。復号化スケジューラ1213aは復号化されるデータを受信し、圧縮ブロック1210aの活性化された圧縮エンジンの状態を考慮して待機状態を有する圧縮エンジンの中で1つ又はそれより多い圧縮エンジンを選択し、選択された圧縮エンジンへ復号化されるデータを提供する。
圧縮エンジンEN0a〜ENjaの各々は復号化スケジューラ1213aを通じてチャンネルCH0〜CHiに各々連結され得る。1つの圧縮エンジンはチャンネルCH0〜CHiの全て又は一部から伝送されるデータを復号化するか、或いは、チャンネルCH0〜CHiの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、1つのチャンネルを通じて伝送されたデータは活性化された圧縮エンジンの中で1つ又はそれより多い圧縮エンジンを通じて復号化することができる。同様に、格納媒体1100へ伝送されるデータは活性化された圧縮エンジンの中で1つ又はそれより多い圧縮エンジンを通じて符号化することができる。
本発明の符号化/復号化ブロック1210aによれば、復号化及び符号化に参与する圧縮エンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化/復号化は動作条件にしたがって活性化された圧縮エンジンの状態を考慮して、選択された圧縮エンジン(待機状態を有する)によって行われる。
図9Bは本発明のその他の実施形態による符号化/復号化ブロックを示すブロック図である。
図9Bを参照すれば、本発明の符号化/復号化ブロック1210bは信号処理ブロックとして暗号化ブロック1211b、符号化スケジューラ1212b、復号化スケジューラ1213b、そしてレジスタ1214bを含む。暗号化ブロック1211bは信号処理エンジンとして複数の暗号化エンジンEN0b〜ENjbを含む。暗号化エンジンEN0b〜ENjbの数はチャンネルCH0〜CHiの数より多いか、少ないか、又はそれと同一であり得る。
暗号化エンジンEN0b〜ENjbの活性化及び非活性化はレジスタ1214bに格納される値にしたがって決定される。レジスタ1214bの値はメモリ制御器1100の動作条件を考慮して決定される。暗号化エンジンEN0b〜ENjbの全て又は一部がレジスタ1214bに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ1214b無しで(又は、レジスタ1214bの値と共に)入力されるデータの状態情報にしたがって暗号化エンジンEN0b〜ENjbの活性化及び非活性化が決定され得る。
符号化スケジューラ1212bは符号化されるデータを受信し、暗号化ブロック1210bの活性化された暗号化エンジンの状態を考慮して待機状態を有する暗号化エンジンの中で1つ又はそれより多い暗号化エンジンを選択し、選択された暗号化エンジンへ符号化されるデータを提供する。復号化スケジューラ1213bは復号化されるデータを受信し、暗号化ブロック1210bの活性化された圧縮エンジンの状態を考慮して待機状態を有する暗号化エンジンの中で1つ又はそれより多い暗号化エンジンを選択し、選択された暗号化エンジンへ復号化されるデータを提供する。
暗号化エンジンEN0b〜ENjbの各々は復号化スケジューラ1213bを通じてチャンネルCH0〜CHiに各々連結され得る。1つの暗号化エンジンはチャンネルCH0〜CHiの全て又は一部から伝送されるデータを復号化するか、或いはチャンネルCH0〜CHiの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、1つのチャンネルを通じて伝送されたデータは活性化された暗号化エンジンの中で1つ又はそれより多い暗号化エンジンを通じて復号化することができる。同様に、格納媒体1100へ伝送されるデータは活性化された暗号化エンジンの中で1つ又はそれより多い暗号化エンジンを通じて符号化することができる。
本発明の符号化/復号化ブロック1210bによれば、復号化及び符号化に参与する暗号化エンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化/復号化は動作条件にしたがって活性化された暗号化エンジンの状態を考慮して、選択された暗号化エンジン(待機状態を有する)によって行われる。
図9Cは本発明のその他の実施形態による符号化/復号化ブロックを示すブロック図である。
図9Cを参照すれば、本発明の符号化/復号化ブロック1210cは信号処理ブロックとしてハッシュキー生成ブロック1211c、符号化スケジューラ1212c、復号化スケジューラ1213c、そしてレジスタ1214cを含む。ハッシュキー生成ブロック1211cは信号処理エンジンとして複数のハッシュキーエンジンEN0c〜ENjcを含む。ハッシュキーエンジンEN0c〜ENjcの数はチャンネルCH0〜CHiの数より多いか、少ないか、又はそれと同一であり得る。
ハッシュキーエンジンEN0c〜ENjcの活性化及び非活性化はレジスタ1214cに格納される値にしたがって決定される。レジスタ1214cの値はメモリ制御器1100の動作条件を考慮して決定される。ハッシュキーエンジンEN0c〜ENjcの全て又は一部がレジスタ1214cに格納された値にしたがって活性化される。他の例として、先に説明したように、レジスタ1214c無しで(又は、レジスタ1214cの値と共に)入力されるデータの状態情報にしたがってハッシュキーエンジンEN0c〜ENjcの活性化及び非活性化が決定され得る。
符号化スケジューラ1212cは符号化されるデータを受信し、ハッシュキー生成ブロック1211cの活性化されたハッシュキーエンジンの状態を考慮して待機状態を有するハッシュキーエンジンの中で1つ又はそれより多いハッシュキーエンジンを選択し、選択されたハッシュキーエンジンへ符号化されるデータを提供する。復号化スケジューラ1213cは復号化されるデータを受信し、ハッシュキー生成ブロック1210cの活性化されたハッシュキーエンジンの状態を考慮して待機状態を有するハッシュキーエンジンの中で1つ又はそれより多いハッシュキーエンジンを選択し、選択されたハッシュキーエンジンへ復号化されるデータを提供する。
ハッシュキーエンジンEN0c〜ENjcの各々は復号化スケジューラ1213cを通じてチャンネルCH0〜CHiに各々連結され得る。1つのハッシュキーエンジンはチャンネルCH0〜CHiの全て又は一部から伝送されるデータを復号化するか、或いは、チャンネルCH0〜CHiの全て又は一部に伝送されるデータを符号化することができる。言い換えれば、1つのチャンネルを通じて伝送されたデータは活性化されたハッシュキーエンジンの中で1つ又はそれより多いハッシュキーエンジンを通じて復号化することができる。
本発明の符号化/復号化ブロック1210cによれば、復号化及び符号化に参与するハッシュキーエンジンの数は動作条件にしたがって実時間に又は予め調節される。また、データの符号化/復号化は動作条件にしたがって活性化されたハッシュキーエンジンの状態を考慮して、選択されたハッシュキーエンジン(待機状態を有する)によって行われる。
図2乃至図9Cにおいて、信号処理エンジンとしてECCエンジン、圧縮エンジン、暗号化エンジン、ハッシュキーエンジンを利用して実施形態を説明した。しかし、本発明が他の機能エンジンにも適用され得ることは容易に理解できる。
図10は本発明の実施形態によるコンピューティングシステムを概略的に示すブロック図である。コンピューティングシステムは処理ユニット2101、使用者インターフェイス2202、ベースバンドチップセット(baseband chipset)のようなモデム2303、メモリ制御器2404、そして格納媒体2505を含む。
メモリ制御器2404は図1に図示されたものと実質的に同様に構成される。即ち、メモリ制御器2404はECCエンジンの状態を考慮して、選択されたECCエンジンによってデータが符号化/復号化されるように構成される。本発明の符号化/復号化方式はメモリ制御器2404の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式はエラー訂正効率が向上されるようにする。
格納媒体2505には処理ユニット2101によって処理された/処理されるN−ビットデータ(Nは1又はそれより大きい整数)がメモリ制御器2404を通じて格納される。コンピューティングシステムがモバイル装置である場合、コンピューティングシステムの動作電圧を供給するためのバッテリ2606が追加的に提供される。図には図示しないが、本発明によるコンピューティングシステムには応用チップセット(application chipset)、カメライメージプロセッサ(Camera Image Processor:CIS)、モバイルDRAM等がさらに提供され得ることは容易に理解できる。
図11は本発明の実施形態による半導体ドライブを概略的に示すブロック図である。
図11を参照すれば、半導体ドライブ4000(SSD)は格納媒体4100と制御器4200とを包含する。格納媒体4100は複数のチャンネルCH0〜CHn−1を通じて制御器4200に連結される。各チャンネルには複数の不揮発性メモリが共通に連結される。制御器4200は図1に図示されたものと実質的に同様に構成される。即ち、制御器4200はECCエンジンの状態を考慮して、選択されたECCエンジンによってデータが符号化/復号化されるように構成される。本発明の符号化/復号化方式は制御器4200の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式はエラー訂正効率が向上されるようにする。
図12は図11に図示された半導体ドライブを利用するストレージを概略的に示すブロック図であり、図13は図11に図示された半導体ドライブを利用するストレージサーバを概略的に示すブロック図である。
本発明の実施形態による半導体ドライブ4000はストレージを構成するのに使用され得る。図12に示したように、ストレージは図11で説明されたものと実質的に同様に構成される複数の半導体ドライブを包含する。本発明の実施形態による半導体ドライブ4000はストレージサーバを構成するのに使用され得る。図13に示したように、ストレージサーバは図11で説明されたものと実質的に同様に構成される複数の半導体ドライブ4000、そしてサーバ4000Aを包含する。また、この分野に周知のRAID制御器4000Bがストレージサーバへ提供され得ることは容易に理解できる。
図14は本発明の実施形態による半導体ドライブが適用されるシステムを概略的に示す図である。
図14に示したように、本発明の実施形態による半導体ドライブはメールサーバ8100にも適用され得る。
図15は本発明の実施形態によるメモリカード(memory card)を概略的に示すブロック図である。
メモリカードは、例えばMMCカード、SDカード、マルチユーズ(multiuse)カード、マイクロSDカード、メモリスティック、コンパクトSDカード、IDカード、PCMCIAカード、SSDカード、チップカード(chipcard)、スマトカード(smartcard)、USBカード等であり得る。
図15を参照すれば、メモリカードは外部とのインターフェイスを遂行するインターフェイス部9221、バッファメモリを有し、メモリカードの動作を制御する制御器9222、1つ又はそれより多い不揮発性メモリ装置9207を包含する。制御器9222はプロセッサとして、不揮発性メモリ装置9207の書込み動作及びリード動作を制御することができる。具体的に、制御器9222はデータバス(DATA)とアドレスバス(ADDRESS)を通じて不揮発性メモリ装置9207及びインターフェイス部9221とカップリングされている。
制御器9222は図1に図示されたものと実質的に同様に構成される。即ち、制御器9222はECCエンジンの状態を考慮して、選択されたECCエンジンによってデータが符号化/復号化されるように構成される。本発明の符号化/復号化方式は制御器9222の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式はエラー訂正効率が向上されるようにする。
図16は本発明の実施形態によるデジタルスチールカメラ(digital still camera)を概略的に示すブロック図である。
図16を参照すれば、デジタルスチールカメラはボディ9301、スロット9302、レンズ9303、ディスプレイ部9308、シャッタボタン9312、ストロボ(strobe)9318等を含む。特に、スロット9308にはメモリカード9331が挿入され得、メモリカード9331は図1で説明されたメモリ制御器及び格納媒体を包含する。制御器はECCエンジンの状態を考慮して、選択されたECCエンジンによってデータが符号化/復号化されるように構成される。本発明の符号化/復号化方式は制御器の電力及び性能の調整(tuning)が可能であるようにする。また、本発明の符号化/復号化方式はエラー訂正効率が向上されるようにする。
メモリカード9331が接触形(contact type)である場合、メモリカード9331がスロット9302に挿入される時、メモリカード9331と回路基板の上の特定電気回路とが電気的に接触される。メモリカード9331が非接触形(non−contact type)である場合、無線信号を通じてメモリカード9331がアクセスされる。
図17は図15のメモリカードが使用される多様な応用分野を示す図である。
図17を参照すれば、メモリカード9331はビデオカメラ(VC)、テレビジョン(TV)、オーディオ装置(AD)、ゲーム装置(GM)、電子音楽装置(EMD)、携帯電話(HP)、コンピュータ(CP)、PDA(Personal Digital Assistant)、ボイスレコーダ(voice recorder)(VR)、PCカード(PCC)、等に使用され得る。
本発明の実施形態において、メモリセルは可変抵抗メモリセルで構成され得、例示的な可変抵抗メモリセル及びそれを含むメモリ装置が特許文献2に開示され、この出願のレファレンスとして包含される。
本発明の他の実施形態において、メモリセルは電荷格納層を有する多様なセル構造の中で1つを利用して具現され得る。電荷格納層を有するセル構造は電荷トラップ層を利用する電荷トラップフラッシュ構造、アレイが多層に積層されるスタックフラッシュ構造、ソース−ドレーンが無いフラッシュ構造、ピン−タイプフラッシュ構造、等を包含する。
電荷格納層として電荷トラップフラッシュ構造を有するメモリ装置が特許文献3、特許文献4、及び特許文献5に各々開示され、この出願のレファレンスとして包含される。ソース/ドレーンが無いフラッシュ構造は特許文献6に開示され、この出願のレファレンスとして包含される。
本発明によるフラッシュメモリ装置及び/又はメモリ制御器は多様な形態のパッケージを利用して実装され得る。例えば、本発明によるフラッシュメモリ装置そして/又はメモリコントローラは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)、System In Package(SIP)、Multi Chip Package(MCP)、Wafer−level Fabricated Package(WFP)、Wafer−Level Processed Stack Package(WSP)、等のようなパッケージを利用して実装され得る。
本発明の範囲又は技術的思想を逸脱しなく本発明の構造が多様に修正や変更され得ることは当該分野に熟練された者に明確である。上述した内容を考慮して見るとき、もし本発明の修正及び変更が下記請求項及び同等物の範疇内に属すれば、本発明がこの発明の変更及び修正を含むものと解釈できる。
1000・・・メモリシステム
1100・・・格納媒体
1200・・・メモリ制御器
1211・・・ECCブロック
1212・・・符号化スケジューラ
1213・・・復号化スケジューラ
1214・・・レジスタ
1212a、1213a・・・パケット発生器
1212b、1213b・・・バスマトリックス
1220・・・ホストインターフェイス
1230・・・メモリインターフェイス
1240・・・中央処理装置
1250・・・バス制御及びアービタブロック
1260・・・FIFOブロック
1270・・・バッファメモリ

Claims (28)

  1. 複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、
    複数の信号処理エンジンを含む信号処理ブロックと、
    前記複数の信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、を含み、
    前記メモリ制御器の動作条件を判別する中央処理装置と、
    前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、をさらに含む、メモリ制御器。
  2. 複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、
    複数の信号処理エンジンを含む信号処理ブロックと、
    前記複数の信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、を含み、
    前記複数のチャンネルへ伝送されるデータを臨時格納する複数のFIFOと、
    前記複数のFIFOのデータが前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む、メモリ制御器。
  3. 前記メモリ制御器の動作条件を判別する中央処理装置と、
    前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、をさらに含む請求項に記載のメモリ制御器。
  4. 前記複数の信号処理エンジンの全て又は一部は前記レジスタに格納された活性化情報によって活性化される請求項1又は3に記載のメモリ制御器。
  5. 前記符号化スケジューラは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のFIFOの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第1パケット発生器と、
    前記パケットデータに含まれた制御情報に基づいて前記複数のFIFOの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第1バスマトリックスと、を含む請求項に記載のメモリ制御器。
  6. 前記復号化スケジューラは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第2パケット発生器と、
    前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第2バスマトリックスと、を含む請求項5に記載のメモリ制御器。
  7. 高性能が要求される場合、前記中央処理装置は前記複数の信号処理エンジンが全て活性化されるように前記レジスタの値を決定する請求項6に記載のメモリ制御器。
  8. 前記符号化スケジューラは符号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する請求項7に記載のメモリ制御器。
  9. 前記復号化スケジューラは復号化動作を遂行する信号処理エンジンを除外した前記活性化された信号処理エンジンの中で残る信号処理エンジンにデータが配分されるようにパケットデータを発生する請求項7に記載のメモリ制御器。
  10. 前記復号化スケジューラは前記複数のチャンネルの中でいずれか1つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項7に記載のメモリ制御器。
  11. 前記符号化スケジューラは前記複数のFIFOの中でいずれか1つのFIFOから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項7に記載のメモリ制御器。
  12. 前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである請求項7に記載のメモリ制御器。
  13. 前記複数の信号処理エンジンの数は前記複数のチャンネルの数と同一であるか、或いはそれより少ない請求項1又は2に記載のメモリ制御器。
  14. 前記複数の信号処理エンジンは同一のエラー訂正コードアルゴリズムにしたがって動作する請求項1又は2に記載のメモリ制御器。
  15. 格納媒体と、
    複数のチャンネルを通じて前記格納媒体に連結されるメモリ制御器と、を含み、
    前記メモリ制御器は
    複数の信号処理エンジンを含んで前記複数のチャンネルが使用される条件下で前記複数の信号処理エンジンの各々を前記複数のチャンネルに各々連結する符号化/復号化ブロックと、
    前記メモリ制御器の動作条件を判別する中央処理装置と、
    前記中央処理装置の判別結果にしたがって決定された前記複数の信号処理エンジンの活性化情報を格納するように構成されたレジスタと、を含み、
    前記符号化/復号化ブロックは、
    前記複数の信号処理エンジンの中で前記レジスタの活性化情報にしたがって活性化された少なくとも1つの信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御する復号化スケジューラと、
    を含む、メモリシステム。
  16. 前記メモリ制御器は、
    前記複数のチャンネルへ伝送されるデータを臨時格納する複数のFIFOをさらに含み
    前記符号化/復号化ブロックは、
    前記複数のFIFOのデータが前記少なくとも1つの信号処理エンジンへ伝送されるようにデータ経路を制御する符号化スケジューラと、をさらに含む請求項15に記載のメモリシステム
  17. 前記符号化スケジューラは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のFIFOの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第1パケット発生器と、
    前記パケットデータに含まれた制御情報に基づいて前記複数のFIFOの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第1バスマトリックスと、を含む請求項16に記載のメモリシステム。
  18. 前記復号化スケジューラは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルの各々から出力されたデータに制御情報を追加することによってパケットデータを発生する第2パケット発生器と、
    前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルの各々に対応するパケットデータを前記少なくとも1つの活性化された信号処理エンジンへ順次的に伝送する第2バスマトリックスと、を含む請求項17に記載のメモリシステム。
  19. 前記復号化スケジューラは前記複数のチャンネルの中でいずれか1つのチャンネルを通じて伝送されたデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項18に記載のメモリシステム。
  20. 前記符号化スケジューラは前記複数のFIFOの中でいずれか1つのFIFOから出力されるデータが前記活性化された信号処理エンジンに配分されるようにパケットデータを発生する請求項18に記載のメモリシステム。
  21. 前記信号処理エンジンはエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンである請求項18に記載のメモリシステム。
  22. 前記符号化/復号化ブロックは複数の他の信号処理エンジンをさらに含み、前記複数の他の信号処理エンジンは前記複数の信号処理エンジンの使用が中止される時、符号化及び復号化動作を遂行するように活性化され、前記複数の他の信号処理エンジンの活性化はエラー率を基準に決定される請求項15に記載のメモリシステム。
  23. 複数のチャンネルを通じて格納媒体に連結されるメモリ制御器のバンド幅制御方法において、
    処理される信号を受信し、
    前記入力された信号を処理することを含み、前記入力された信号の信号処理水準は前記メモリ制御器の動作条件にしたがって決定され、
    前記入力された信号の処理は、信号処理エンジンとしてエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンによって行われ、
    前記信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御し、
    前記処理される信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することをさらに含み、
    前記処理される信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記処理される信号に制御情報を追加することによってパケットデータを発生し、
    前記パケットデータに含まれた制御情報に基づいて前記処理された信号を前記少なくとも1つの活性化された信号処理エンジンへ伝送することを含む、ことを特徴とするバンド幅制御方法。
  24. 複数のチャンネルを通じて格納媒体に連結されるメモリ制御器のバンド幅制御方法において、
    処理される信号を受信し、
    前記入力された信号を処理することを含み、前記入力された信号の信号処理水準は前記メモリ制御器の動作条件にしたがって決定され、
    前記入力された信号の処理は、信号処理エンジンとしてエラー訂正コードエンジン、圧縮エンジン、暗号化エンジン、又はハッシュキーエンジンによって行われ、
    前記信号処理エンジンの中で少なくとも1つの活性化された信号処理エンジンが前記複数のチャンネルに各々連結されるようにデータ経路を制御し、
    前記処理される信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することをさらに含み、
    前記処理される信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記複数のチャンネルから出力された信号に制御情報を追加することによってパケットデータを発生し、
    前記パケットデータに含まれた制御情報に基づいて前記複数のチャンネルに対応する信号を前記少なくとも1つの活性化された信号処理エンジンへ伝送することを含むことを特徴とするバンド幅制御方法。
  25. 前記処理される信号が前記少なくとも1つの活性化された信号処理エンジンへ伝送されるようにデータ経路を制御することは、
    前記少なくとも1つの活性化された信号処理エンジンの状態を参照して前記処理される信号に制御情報を追加することによってパケットデータを発生し、
    前記パケットデータに含まれた制御情報に基づいて前記処理された信号を前記少なくとも1つの活性化された信号処理エンジンへ伝送することを含むことを特徴とする請求項24に記載のバンド幅制御方法。
  26. 複数のチャンネルを通じて格納媒体に連結されるメモリ制御器において、
    前記メモリ制御器の動作条件を判別する中央処理装置と、
    信号処理動作を遂行するように構成された複数のコーディングエンジンを含む信号処理ブロックと、
    前記中央処理装置の判別結果にしたがって決定された前記複数のコーディングエンジンの活性化情報を格納するように構成されたレジスタと、
    前記複数のコーディングエンジンの中で選択された数のコーディングエンジンへ伝送される複数の第1データユニットを引き起こすスケジューラと、を含み、前記メモリ制御器は前記メモリ制御器の動作モードに基づいて前記選択された数のコーディングエンジンを決定し、前記信号処理動作は復号化動作と符号化動作との中で1つであること、を含むメモリ制御器。
  27. 前記スケジューラは前記メモリ制御器の第1動作モードの間に前記スケジューラが前記選択された数として第1個数を決定し、前記メモリ制御器の第2動作モードの間に前記スケジューラが前記選択された数として第2個数を決定するように構成され、前記第1個数と前記第2個数とは異なる請求項26に記載のメモリ制御器。
  28. 前記スケジューラは前記第1動作モードが高性能動作モードであり、前記第2動作モードがピーク電力管理動作であり、前記第1個数が前記第2個数より多いように構成される請求項27に記載のメモリ制御器。
JP2013256030A 2012-12-11 2013-12-11 メモリ制御器及びそれを含むメモリシステム Active JP6284351B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0143726 2012-12-11
KR1020120143726A KR101997794B1 (ko) 2012-12-11 2012-12-11 메모리 제어기 및 그것을 포함한 메모리 시스템

Publications (2)

Publication Number Publication Date
JP2014116015A JP2014116015A (ja) 2014-06-26
JP6284351B2 true JP6284351B2 (ja) 2018-02-28

Family

ID=50882290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013256030A Active JP6284351B2 (ja) 2012-12-11 2013-12-11 メモリ制御器及びそれを含むメモリシステム

Country Status (4)

Country Link
US (1) US9767053B2 (ja)
JP (1) JP6284351B2 (ja)
KR (1) KR101997794B1 (ja)
CN (1) CN103870411B (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102268965B1 (ko) * 2014-12-04 2021-06-24 엘지디스플레이 주식회사 게이트 쉬프트 레지스터 및 이를 이용한 표시 장치
KR102296787B1 (ko) * 2014-12-05 2021-09-01 엘지디스플레이 주식회사 표시장치 구동방법
KR102251813B1 (ko) 2015-04-07 2021-05-13 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
JP6657634B2 (ja) * 2015-07-24 2020-03-04 ソニー株式会社 符号化装置、メモリシステム、通信システムおよび符号化方法
TWI575384B (zh) * 2015-09-04 2017-03-21 慧榮科技股份有限公司 通道控制裝置
US11216323B2 (en) * 2015-09-16 2022-01-04 Samsung Electronics Co., Ltd. Solid state memory system with low power error correction mechanism and method of operation thereof
US10204532B2 (en) 2015-09-25 2019-02-12 Intel Corporation Multiple input cryptographic engine
US10083722B2 (en) * 2016-06-08 2018-09-25 Samsung Electronics Co., Ltd. Memory device for performing internal process and operating method thereof
CN106547488B (zh) * 2016-10-21 2019-04-19 国家计算机网络与信息安全管理中心 一种混合缓存管理方法
US10719394B2 (en) * 2017-10-25 2020-07-21 Innogrit Technologies Co., Ltd. Systems and methods for fast access of non-volatile storage devices
CN110390516B (zh) * 2018-04-20 2023-06-06 伊姆西Ip控股有限责任公司 用于数据处理的方法、装置和计算机存储介质
CN109036431A (zh) * 2018-07-11 2018-12-18 北京智能管家科技有限公司 一种语音识别系统和方法
KR102513919B1 (ko) * 2018-11-05 2023-03-27 에스케이하이닉스 주식회사 메모리 시스템
KR102645140B1 (ko) * 2018-12-06 2024-03-07 삼성전자주식회사 Fpga를 포함하는 메모리 시스템 및 이의 동작 방법
US11487544B2 (en) * 2020-01-15 2022-11-01 Western Digital Technologies, Inc. Method and device for simultaneously decoding data in parallel to improve quality of service
CN111755057B (zh) * 2020-07-29 2022-06-17 北京浪潮数据技术有限公司 一种信道的引擎调度方法、系统及相关装置
CN113608436A (zh) * 2021-07-01 2021-11-05 杭州希亚智新科技有限公司 一种多维度鲁棒预测控制方法和装置
US11755489B2 (en) * 2021-08-31 2023-09-12 Apple Inc. Configurable interface circuit
CN114115745B (zh) * 2021-11-30 2023-07-04 深圳忆联信息系统有限公司 多Pass编程NAND的RAID优化方法、装置及计算机设备

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002051079A (ja) * 2000-06-08 2002-02-15 Alcatel 光cdmaスイッチアーキテクチャおよび方法
US7055081B2 (en) 2001-03-02 2006-05-30 Storage Technology Corporation System and method for multi-channel decoding error correction
TWI220959B (en) * 2003-06-05 2004-09-11 Carry Computer Eng Co Ltd Storage device with optimized compression management mechanism
EP1538525A1 (en) 2003-12-04 2005-06-08 Texas Instruments Incorporated ECC computation simultaneously performed while reading or programming a flash memory
JP2006004133A (ja) * 2004-06-17 2006-01-05 Fujitsu Ltd 情報処理装置におけるエラー訂正、検出装置
DE602004011757T2 (de) * 2004-07-01 2009-02-05 Sap Ag Datenverarbeitungssystem zur Zuweisung von Objekten an Verarbeitungseinheiten
US7721118B1 (en) * 2004-09-27 2010-05-18 Nvidia Corporation Optimizing power and performance for multi-processor graphics processing
KR100852193B1 (ko) * 2007-05-02 2008-08-13 삼성전자주식회사 오류 제어 코드 장치 및 그 방법
US8001444B2 (en) 2007-08-08 2011-08-16 Intel Corporation ECC functional block placement in a multi-channel mass storage device
KR101425957B1 (ko) 2007-08-21 2014-08-06 삼성전자주식회사 이씨씨 제어 회로 및 그것을 포함하는 멀티채널 메모리시스템
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
US20090160867A1 (en) 2007-12-19 2009-06-25 Advance Micro Devices, Inc. Autonomous Context Scheduler For Graphics Processing Units
US9152496B2 (en) * 2007-12-21 2015-10-06 Cypress Semiconductor Corporation High performance flash channel interface
JP5150245B2 (ja) 2007-12-27 2013-02-20 株式会社東芝 半導体記憶装置
JP2010026950A (ja) * 2008-07-23 2010-02-04 Hitachi Ulsi Systems Co Ltd 記憶装置
US8127058B1 (en) * 2008-07-29 2012-02-28 Marvell International Ltd. System and method of video decoding using hybrid buffer
KR101554159B1 (ko) 2008-10-08 2015-09-21 삼성전자주식회사 데이터 저장 장치 및 이를 포함하는 데이터 저장 시스템
KR20100100394A (ko) 2009-03-06 2010-09-15 삼성전자주식회사 반도체 디스크 장치 그리고 그것의 데이터 기록 및 읽기 방법
JP5303325B2 (ja) * 2009-03-18 2013-10-02 ルネサスエレクトロニクス株式会社 データ処理装置
US8418021B2 (en) * 2009-03-27 2013-04-09 Mediatek Inc. Storage controller with encoding/decoding circuit programmable to support different ECC requirements and related method thereof
US20100332922A1 (en) 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8510631B2 (en) 2009-11-24 2013-08-13 Mediatek Inc. Multi-channel memory apparatus and method thereof
US8675674B2 (en) * 2009-12-23 2014-03-18 Citrix Systems, Inc. Systems and methods for queue level SSL card mapping to multi-core packet engine
RU2010135495A (ru) * 2010-08-24 2012-02-27 ЭлЭсАй Корпорейшн (US) Видеотранскодер с гибким управлением качеством и сложностью

Also Published As

Publication number Publication date
US9767053B2 (en) 2017-09-19
CN103870411A (zh) 2014-06-18
KR20140075952A (ko) 2014-06-20
KR101997794B1 (ko) 2019-07-09
CN103870411B (zh) 2018-05-01
JP2014116015A (ja) 2014-06-26
US20140164673A1 (en) 2014-06-12

Similar Documents

Publication Publication Date Title
JP6284351B2 (ja) メモリ制御器及びそれを含むメモリシステム
CN108073470B (zh) 执行地址映射表的纠错的存储器系统及其控制方法
KR102089613B1 (ko) 불 휘발성 메모리 장치 및 그것을 포함한 메모리 시스템
KR101818176B1 (ko) 메모리 시스템 및 그것의 동작 방법
KR101824227B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
KR101923157B1 (ko) 메모리 시스템 및 그것의 프로그램 방법
KR20140100330A (ko) 메모리 시스템 및 그것의 동작 방법
KR20140044640A (ko) 메모리 시스템 및 그것의 읽기 교정 방법
KR20130079850A (ko) 멀티-레벨 메모리 장치를 제어하는 메모리 제어기 및 그것의 에러 정정 방법
US20150026509A1 (en) Storage device having a data stream converter
US11036640B2 (en) Controller, operating method thereof, and memory system including the same
US11669395B2 (en) Memory system including field programmable gate array (FPGA) and method of operating same
US11782638B2 (en) Storage device with improved read latency and operating method thereof
KR102488816B1 (ko) 구성 가능 매체 구조
KR20220120859A (ko) 메모리 시스템 내 에러 정정 코드를 사용하는 장치 및 방법
US11429612B2 (en) Address search circuit and method of semiconductor memory apparatus and controller therefor
US20210026764A1 (en) Controller and memory system including the same
US10515693B1 (en) Data storage apparatus and operating method thereof
EP4386556A1 (en) Operation method of memory controller configured to control memory device
KR20210049619A (ko) 분산 저장 시스템의 스토리지 노드 및 그 동작 방법
US20240193041A1 (en) Operation method of memory controller configured to control memory device
KR20140094186A (ko) 호스트의 리퀘스트 처리 방법
US20240111427A1 (en) Data Storage Device That Detects And Releases Input Queue Bottlenecks
US11966582B2 (en) Data storage device that detects and releases bottlenecks
US20240111426A1 (en) Data Storage Device That Detects and Releases Bottlenecks In Hardware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161117

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20161222

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20161228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171010

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180123

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180130

R150 Certificate of patent or registration of utility model

Ref document number: 6284351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250