複数の不揮発性メモリデバイスと、前記複数の不揮発性メモリデバイスに接続された、メモリコントローラに接続するためのインターフェースデバイスとを備え、前記インターフェースデバイスが誤り訂正符号化エンジンを有する、複合半導体メモリデバイス。前記誤り訂正符号化エンジンが、前記メモリコントローラから受け取ったデータを前記不揮発性メモリデバイスのいずれかに書き込む前に、前記受け取ったデータの誤り訂正符号化を行い、前記ECCエンジンが、前記不揮発性メモリデバイスのいずれかから読み出されたデータを前記メモリコントローラに送る前に、前記読み出されたデータの誤り訂正復号化をさらに行う、請求項1に記載の複合半導体メモリデバイス。前記インターフェースデバイスが、前記ECCエンジンに接続されたバッファメモリと、前記ECCエンジンと前記不揮発性メモリデバイス間に接続された第1のインターフェースと、前記バッファメモリに接続された、前記メモリコントローラに接続するための第2のインターフェースと、前記ECCエンジン、前記バッファメモリ、前記第1のインターフェース、および前記第2のインターフェースを制御するための制御信号生成器とを備える、請求項2に記載の複合半導体メモリデバイス。前記第1のインターフェースを前記不揮発性メモリデバイスのそれぞれと接続するための並列バスをさらに備える、請求項3に記載の複合半導体メモリデバイス。前記第1のインターフェースが、第1の内部インターフェース回路および第2の内部インターフェース回路を備え、前記複合半導体メモリデバイスが、前記第1の内部インターフェース回路を前記不揮発性メモリデバイスの第1のサブセット内の各デバイスに接続するための第1の並列バスをさらに備え、前記複合半導体メモリデバイスが、前記第2の内部インターフェース回路を前記不揮発性メモリデバイスの第2のサブセット内の各デバイスに接続するための第2の並列バスをさらに備える、請求項3に記載の複合半導体メモリデバイス。前記複合半導体メモリデバイスが、前記第1のインターフェースと前記不揮発性メモリデバイスのそれぞれとの間に専用の接続部をさらに備える、請求項3に記載の複合半導体メモリデバイス。前記ECCエンジンが、第1のECCエンジンおよび第2のECCエンジンを備え、前記第1のECCエンジンおよび前記第2のECCが、並列に動作して、前記誤り訂正符号化および前記誤り訂正復号化を行う、請求項2に記載の複合半導体メモリデバイス。前記インターフェースデバイスが、前記ECCエンジンに接続されたバッファメモリと、前記ECCエンジンと前記不揮発性メモリデバイスとの間に接続された第1のインターフェースと、前記バッファメモリに接続された、前記メモリコントローラに接続するための第2のインターフェースと、前記第1のECCエンジン、前記第2のECCエンジン、前記バッファメモリ、前記第1のインターフェース、および前記第2のインターフェースを制御するための制御信号生成器とを備える、請求項7に記載の複合半導体メモリデバイス。前記第1のインターフェースを前記不揮発性メモリデバイスのそれぞれと接続するための並列バスをさらに備える、請求項8に記載の複合半導体メモリデバイス。前記第1のインターフェースが、第1の内部インターフェース回路および第2の内部インターフェース回路を備え、前記複合半導体メモリデバイスが、前記第1の内部インターフェース回路を前記不揮発性メモリデバイスの第1のサブセット内の各デバイスに接続するための第1の並列バスをさらに備え、前記複合半導体メモリデバイスが、前記第2の内部インターフェース回路を前記不揮発性メモリデバイスの第2のサブセット内の各デバイスに接続するための第2の並列バスをさらに備える、請求項8に記載の複合半導体メモリデバイス。前記複合半導体メモリデバイスが、前記第1のインターフェースと前記不揮発性メモリデバイスのそれぞれとの間に専用の接続部をさらに備える、請求項8に記載の複合半導体メモリデバイス。前記ECCエンジンが、第1のECCエンジンおよび第2のECCエンジンを備え、前記第1のECCエンジンが、前記メモリコントローラから受け取った書き込みデータを前記不揮発性メモリデバイスの第1のサブセット内のいずれかのデバイスに書き込む前に、この受け取った書き込みデータの誤り訂正符号化を行うとともに、前記不揮発性メモリデバイスの第1のサブセット内のいずれかのデバイスから受け取った読み出しデータを前記メモリコントローラに送る前に、この受け取った読み出しデータの誤り訂正復号化をさらに行い、前記第2のECCエンジンが、前記メモリコントローラから受け取った書き込みデータを前記不揮発性メモリデバイスの第2のサブセット内のいずれかのデバイスに書き込む前に、この受け取った書き込みデータの誤り訂正符号化を行うとともに、前記不揮発性メモリデバイスの第2のサブセット内のいずれかのデバイスから受け取った読み出しデータを前記メモリコントローラに送る前に、この受け取った読み出しデータの誤り訂正復号化をさらに行う、請求項2に記載の複合半導体メモリデバイス。前記インターフェースデバイスが、前記ECCエンジンに接続されたバッファメモリと、前記ECCエンジンと前記不揮発性メモリデバイスとの間に接続された第1のインターフェースと、前記バッファメモリに接続された、前記メモリコントローラに接続するための第2のインターフェースと、前記第1のECCエンジン、前記第2のECCエンジン、前記バッファメモリ、前記第1のインターフェース、および前記第2のインターフェースを制御するための制御信号生成器とを備える、請求項12に記載の複合半導体メモリデバイス。前記第1のインターフェースを前記不揮発性メモリデバイスのそれぞれと接続するための並列バスをさらに備える、請求項13に記載の複合半導体メモリデバイス。前記第1のインターフェースが、第1の内部インターフェース回路および第2の内部インターフェース回路を備え、前記複合半導体メモリデバイスが、前記第1の内部インターフェース回路を前記不揮発性メモリデバイスの前記第1のサブセット内の各デバイスに接続するための第1の並列バスをさらに備え、前記複合半導体メモリデバイスが、前記第2の内部インターフェース回路を前記不揮発性メモリデバイスの前記第2のサブセット内の各デバイスに接続するための第2の並列バスをさらに備える、請求項13に記載の複合半導体メモリデバイス。前記複合半導体メモリデバイスが、前記第1のインターフェースと前記不揮発性メモリデバイスのそれぞれとの間に専用の接続部をさらに備える、請求項13に記載の複合半導体メモリデバイス。前記バッファメモリが、前記第1のECCエンジンと前記第2のインターフェースとの間に接続された第1のメモリ格納部、および前記第2のECCエンジンと前記第2のインターフェースとの間に接続された第2のメモリ格納部を備える、請求項13に記載の複合半導体メモリデバイス。前記メモリコントローラから受け取り、前記不揮発性メモリデバイスのうちの特定の1つに向けられたあるデータの誤り訂正符号化が、制御データを生成し、さらに前記インターフェースデバイスによって、前記あるデータおよび前記制御データが前記特定のメモリデバイスに書き込まれるようにする、請求項2に記載の複合半導体メモリデバイス。前記制御データが、パリティビットを備える、請求項18に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスのそれぞれが、各ページがデータフィールドをおよび予備のフィールドを有する複数のページを備え、前記インターフェースデバイスによって、前記あるデータが前記特定のメモリデバイスの特定のページの前記データフィールドに書き込まれるようにし、また前記制御データが前記特定のメモリデバイスの前記特定のページの前記予備のフィールドに書き込まれるようにする、請求項18に記載の複合半導体メモリデバイス。前記メモリコントローラから受け取った前記あるデータが、メタデータを伴う、請求項20に記載の複合半導体メモリデバイス。前記メタデータが、消去サイクル数、アドレス情報、および不良ブロック情報のうちの少なくとも1つを含む、請求項21に記載の複合半導体メモリデバイス。前記インターフェースデバイスによって、前記メタデータが前記特定のメモリデバイスの前記特定のページの前記データフィールドに書き込まれるようにする、請求項21に記載の複合半導体メモリデバイス。前記インターフェースデバイスによって、前記メタデータが前記特定のメモリデバイスの前記特定のページの前記予備のフィールドに書き込まれるようにする、請求項21に記載の複合半導体メモリデバイス。前記メモリコントローラから受け取った前記あるデータが、前記あるデータのいずれかの部分に対して誤り訂正符号化を予め行ったことに起因する制御データを含まない、請求項18に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスの特定の1つから読み出されたあるデータの誤り訂正復号化のステップが、前記あるデータから制御データを生成するステップと、前記あるデータに関連づけられた予め生成された制御データを読み出すステップと、前記生成された制御データと前記予め生成された制御データとの間に不整合がある場合、前記あるデータを前記メモリコントローラに送信する前に前記あるデータを修正するステップとを含む、請求項2に記載の複合半導体メモリデバイス。前記特定のメモリデバイスが、各ページがデータフィールドおよび予備のフィールドを有する複数のページを備え、前記あるデータが、前記ページの特定の1つの前記データフィールド内にあり、前記あるデータに関連づけられた予め生成された制御データを読み出すステップが、前記特定のページの前記予備のフィールドから前記予め生成された制御データを読み出すステップを含む、請求項26に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスの特定の1つからメタデータを読み出すステップおよび前記メタデータを前記メモリコントローラに送信するステップをさらに含む、請求項27に記載の複合半導体メモリデバイス。前記メタデータが、消去サイクル数、アドレス情報、および不良ブロック情報のうちの少なくとも1つを含む、請求項28に記載の複合半導体メモリデバイス。前記メタデータが、前記特定のページの前記データフィールド内にある、請求項28に記載の複合半導体メモリデバイス。前記メタデータが、前記特定のページの前記予備のフィールド内にある、請求項28に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスが、互いに積み重ねられている、請求項2に記載の複合半導体メモリデバイス。前記インターフェースデバイスおよび前記不揮発性メモリデバイスが、基板上に互いに積み重ねられている、請求項2に記載の複合半導体メモリデバイス。前記インターフェースデバイスと前記不揮発性メモリデバイスのそれぞれとの間に電気的な接続部をさらに備える、請求項33に記載の複合半導体メモリデバイス。前記接続部が、前記基板を貫通して作製されている、請求項34に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスの少なくとも1つが、複数の積み重ねられた不揮発性メモリデバイスを含むマルチチップパッケージを備える、請求項2に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスが、フラッシュメモリデバイスである、請求項1に記載の複合半導体メモリデバイス。前記不揮発性メモリデバイスが、相変化メモリデバイスである、請求項1に記載の複合半導体メモリデバイス。前記ECCエンジンによって、前記複合半導体メモリデバイスが、前記メモリコントローラの視点から判断して、エラーなしの書き込みおよび読み出しを実行するようにする、請求項1に記載の複合半導体メモリデバイス。メモリコントローラと、前記メモリコントローラによって、書き込まれ、また読み出されるように構成された、内蔵の誤り訂正符号化エンジンを含む、少なくとも1つの複合半導体メモリデバイスとを備えるメモリシステム。前記メモリコントローラが、制御信号を印加することによって無効にされるように構成された誤り制御符号化回路を備える、請求項40に記載のメモリシステム。前記メモリコントローラに、誤り制御符号化回路がない、請求項40に記載のメモリシステム。前記少なくとも1つの複合半導体メモリデバイスのうちの少なくとも1つが、複数の不揮発性メモリデバイスと、前記メモリコントローラと前記不揮発性メモリデバイスとの間でインターフェースするためのインターフェースデバイスとを備え、前記インターフェースデバイスが前記内蔵のECCエンジンを備える、請求項40に記載のメモリシステム。前記内蔵のECCエンジンが、前記メモリコントローラから受け取ったデータを前記不揮発性メモリデバイスのいずれかに書き込む前に、この受け取ったデータの誤り訂正符号化を行い、前記内蔵のECCエンジンが、前記不揮発性メモリデバイスのいずれかから読み出されたデータを前記メモリコントローラに送る前に、この読み出されたデータの誤り訂正復号化をさらに行う、請求項43に記載のメモリシステム。前記複数の不揮発性メモリデバイスおよび前記インターフェースデバイスが、基板上で互いに積み重ねられている、請求項43に記載のメモリシステム。前記複数の不揮発性メモリデバイスが、フラッシュメモリデバイスである、請求項45に記載のメモリシステム。前記メモリコントローラが、フラッシュコントローラである、請求項46に記載のメモリシステム。前記少なくとも1つの複合半導体メモリデバイスが、複数の複合半導体メモリデバイスを備え、前記複数の複合半導体メモリデバイスのそれぞれが、前記メモリコントローラによって書き込まれ、および読み出されるように構成され、さらにそれぞれの内蔵ECCエンジンを有する、請求項40に記載のメモリシステム。複数の不揮発性メモリデバイスを備える複合半導体メモリデバイスと、前記複合半導体メモリデバイスに接続され、前記複合半導体メモリデバイスに読み出しおよび書き込みコマンドを発行して、データが、前記不揮発性メモリデバイスのそれぞれに書き込まれる、または前記不揮発性メモリデバイスのそれぞれから読み出されるようにするメモリコントローラとを備え、前記複合半導体メモリデバイスが、前記メモリコントローラの視点から、前記データのエラーなしの書き込みおよび読み出しを行う、メモリシステム。前記メモリコントローラが、少なくとも2つのコマンドを発行して、前記それぞれのコマンドに関連するデータが、前記メモリコントローラを通って同時に流れるように構成された、請求項49に記載のメモリシステム。前記複合半導体メモリデバイスが、複数の不揮発性メモリデバイスと、前記メモリコントローラと前記不揮発性メモリデバイスとの間でインターフェースするためのインターフェースデバイスとを備え、前記インターフェースデバイスがECCエンジンを備える、請求項50に記載のメモリシステム。前記ECCエンジンが、前記メモリコントローラから受け取ったデータを前記不揮発性メモリデバイスのいずれかに書き込む前に、この受け取ったデータの誤り訂正符号化を行い、前記ECCエンジンが、前記不揮発性メモリデバイスのいずれかから読み出されたデータを前記メモリコントローラに送る前に、この読み出されたデータの誤り訂正復号化をさらに行う、請求項51に記載のメモリシステム。前記少なくとも2つのコマンドが、前記不揮発性メモリデバイスのうちの所与の第1の不揮発性メモリデバイスからデータ読み出し、または前記不揮発性メモリデバイスのうちの所与の第1の不揮発性メモリデバイスにデータを書き込む第1のコマンド、および前記不揮発性メモリデバイスのうちの前記所与の第1の不揮発性メモリデバイスとは異なる、前記不揮発性メモリデバイスのうちの所与の第2の不揮発性メモリデバイスからデータを読み出し、または前記不揮発性メモリデバイスのうちの所与の第2の不揮発性メモリデバイスにデータを書き込む第2のコマンドを含む、請求項51に記載のメモリシステム。前記複数の不揮発性メモリデバイスおよび前記インターフェースデバイスが、基板上で互いに積み重ねられている、請求項51に記載のメモリシステム。前記複数の不揮発性メモリデバイスが、フラッシュメモリデバイスである、請求項51に記載のメモリシステム。前記メモリコントローラが、フラッシュコントローラである、請求項55に記載のメモリシステム。前記メモリコントローラが、制御信号を印加することによって無効にされるように構成された誤り制御符号化回路を備える、請求項49に記載のメモリシステム。前記メモリコントローラに、誤り訂正制御符号化回路がない、請求項49に記載のメモリシステム。本発明の一態様によれば、複数の不揮発性メモリデバイスと、この複数の不揮発性メモリデバイスに接続された、メモリコントローラに接続するためのインターフェースデバイスとを備える複合半導体メモリデバイスであって、インターフェースデバイスが誤り訂正符号化エンジンを有する、複合半導体メモリデバイスが提供される。本発明の別の態様によれば、メモリコントローラと、メモリコントローラによって、書き込まれ、また読み出されるように構成された、内蔵の誤り訂正符号化エンジンを含む、少なくとも1つの複合半導体メモリデバイスとを備える、メモリシステムが提供される。本発明の別の態様によれば、複数の不揮発性メモリデバイスを有する複合半導体メモリデバイスと、複合半導体メモリデバイスに読み出しおよび書き込みコマンドを発行して、不揮発性メモリデバイスのそれぞれにデータが書き込まれるか、または不揮発性メモリデバイスのそれぞれからデータが読み出されるようにする、少なくとも1つの複合半導体メモリデバイスに接続されたメモリコントローラとを備えるメモリシステムであって、複合半導体メモリデバイスが、メモリコントローラの視点から、データのエラーなしの書き込みおよび読み出しを実現する、メモリシステムが提供される。本発明の他の態様および特徴は、添付の図面とともに本発明の具体的な実施形態の以下の説明を精査することによって当業者には明らかになるであろう。ここで、本発明の実施形態は、付属の図を参照して、例示としてのみ、説明される。図1は、非限定的な実施形態による、不揮発性メモリシステム100のブロック図を示す。不揮発性メモリシステム100は、通信リンク104を介してメインシステムまたはプロセッサ98と通信するためのメモリコントローラ102を備える。また、不揮発性メモリシステム100は、通信リンク108を介してメモリコントローラ102に接続される少なくとも1つの複合半導体メモリデバイス106を備える。メモリコントローラ102は、フラッシュメモリコントローラであってよい。非限定的な実施形態において、図2に示すように不揮発性メモリシステム100内に単一の複合半導体メモリデバイス106があってよい。他の非限定的な実施形態において、図3、4および5に示すように不揮発性メモリシステム100内に複数の半導体メモリデバイス106があってよい。4つの半導体メモリデバイス106が示されているが、不揮発性メモリシステム100に含むことができる複合半導体デバイス106の数には特に制限がないことを理解されるべきである。不揮発性メモリシステム100内に、複数の複合半導体デバイス106がある実施形態では、通信リンク108は様々な形式を呈することができる。具体的には、図3に示す非限定的な実施形態によると、通信リンク108は、共通のインターフェースチャンネル302を含むことができる。加えて、専用のチップイネーブル信号304を、様々な複合半導体メモリデバイス106に供給することができる。対応する専用のチップイネーブル信号304をアサートすることによって、個々の複合半導体メモリデバイス106を選択することができる。図4に示す非限定的な実施形態によると、通信リンク108は、メモリコントローラ102と複合半導体メモリデバイス106との間の複数の専用インターフェースチャンネル406を用いることができる。この場合、複合半導体メモリデバイス106のそれぞれは、それ自身の専用インターフェースチャンネル406を有する。図5に示す非限定的な実施形態によると、通信リンク108は、メモリコントローラ102と複合半導体メモリデバイス106との間の複数の専用インターフェースチャンネル506を用いることができる。この場合、共通インターフェースチャンネル506のそれぞれは、2つ以上の複合半導体メモリデバイス106のグループによって共有されている。非限定的な実施形態において、および図6を参照して、複合半導体メモリデバイス106は、複数の不揮発性メモリデバイス602A、602B、602C、602Dおよびインターフェースデバイス604を備える。4つの不揮発性メモリデバイス602A、602B、602C、602Dが示されているが、インターフェースデバイス604に接続することができる不揮発性メモリデバイス602A、602B、602C、602Dの数には特に制限がないことを理解されるべきである。インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dとの間の通信は、図16~19を参照して後述されるようにインターフェースチャンネルを使用して実現される。インターフェースデバイス604は誤り訂正符号化エンジン606を含むことができる。ECCエンジン606によって、複合メモリデバイス106は、不揮発性メモリデバイス602A、602B、602C、602Dへのエラーなしのデータ書き込み、および不揮発性メモリデバイス602A、602B、602C、602Dからのエラーなしのデータ読み出しが可能となる。図7A、7B、8Aおよび8Bを参照して、インターフェースデバイス604および不揮発性メモリデバイス602A、602B、602C、602Dは、マルチチップパッケージなどの、単一つの筐体704に封入することができる。具体的には、不揮発性メモリデバイス602A、602B、602C、602Dは、基板706上に互いに積み重ねられる。図7Aおよび8Aにおいて、インターフェースデバイス604は、不揮発性メモリデバイス602Dの上部に配置されているとして示されているが、図7Bおよび8Bにおいては、インターフェースデバイス604が、不揮発性メモリデバイスのスタックの底部にあるとして示されている。本発明の範囲から逸脱せずに、さらに他の構成が可能である。また、複合半導体メモリデバイス106とその外部の他の構成要素との間の電気的接続を可能にするため、基板706に付着されたボンディングパッド708が示されている。インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dのそれぞれとの間に接続部も設けられている。また、図7Aおよび7Bの実施形態において、インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dのそれぞれとの間にワイヤボンド702が、基板706を介して構築されている。対照的に、図8Aおよび8Bの実施形態においては、直接接続802が、インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dのそれぞれとの間で構築されている。インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dのそれぞれとの間を相互接続するさらに他の方法が可能である。また、積み重ねられたダイ構成が示されているが、これは限定的なものとして解釈されるべきではない。不揮発性メモリデバイス602A、602B、602C、602D不揮発性メモリデバイス602A、602B、602C、602Dは、ほんのいくつかの非限定的な可能性をあげれば、NANDフラッシュメモリデバイス、NORフラッシュメモリデバイス、または相変化メモリデバイスであってよい。不揮発性メモリデバイス602A、602B、602C、602Dは、ほんのいくつかの非限定的な可能性をあげれば、非同期で、または同期して動作することができる。また、不揮発性メモリデバイス602A、602B、602C、602Dは、ほんのいくつかの非限定的な可能性をあげれば、シングルデータレートデバイス、またはダブルデータレートデバイスとして動作することができる。具体的な非限定的な実施形態において、不揮発性メモリデバイス602A、602B、602C、602Dは、Samsungの製品K9GAG08U0D、K9LBG08U1D、K9HCG08U5D用の16Gb多値レベルセルNANDフラッシュ仕様書などの業界の仕様書に準拠することができ、この仕様書は、デバイスの動作およびタイミングの詳細を提供しており、参照により本明細書に組み込まれる。もちろん、不揮発性メモリデバイス602、602B、602C、602Dとして、入手可能な他のメーカーまたはモデルのフラッシュメモリを使用することができる。図9は、NANDフラッシュメモリデバイスとして実施された不揮発性メモリデバイスの様々な機能要素を概念的に示す。デバイス602Aは、以下のポートおよび信号を利用する。入力出力ポートIOポートは、デバイス602Aに、およびデバイス602Aから、アドレス、コマンド、および入力出力データを転送するために使用される。具体的には、デバイス602Aに書き込まれるデータは、IOポートIO0~IO7に到達し、メモリセルアレイ902に格納される前に1組のグローバルバッファ916に一時的に配置される。デバイス602Aから読み出されるデータは、メモリセルアレイ902から抽出され、IOポートIO0~IO7にリリースされる前にグローバルバッファ916の組に配置される。ライトイネーブルポートWEポートは、IOポートからのデータの取得を制御するために使用されるWE信号を受け取る。コマンドラッチイネーブルポートCLEポートは、コマンドレジスタ910内への動作モードコマンドの読み込みを制御するために使用されるCLE信号を受け取る。CLE信号がアサートしている間に、コマンドは、WE信号の立ち上がりエッジでIOポートからコマンドレジスタ910内へラッチされる。アドレスラッチイネーブルポートALEポートは、内部アドレスレジスタ912内へのアドレス情報の読み込みを制御するために使用されるALE信号を受け取る。ALE信号がアサートしている間に、アドレス情報は、WE信号の立ち上がりエッジでIOポートからアドレスレジスタ912内へラッチされる。レディビジーポートRBポートはオープンドレインピンであって、出力RB信号は、デバイス602Aによって使用され、デバイス602Aの動作状態を示す。具体的には、RB信号は、デバイスが実行可能か使用中かを示す。デバイス602Aが使用状態にあるとき、デバイス602A内のRB回路914は、RB信号をアサート停止にする。動作完了の後、RB回路914は、RB信号を再アサートして、デバイス602Aが実行可能状態にあることを示す。チップイネーブルポートCEポートはCE信号を受け取る。CE信号がアサート停止され、デバイス602Aが実行可能状態にある場合、デバイス602Aは低電力待機モードに入る。しかし、デバイス602Aが、読み出し、プログラム、消去動作などの使用状態にある場合、CE信号は無視される。換言すると、デバイス602Aが使用状態にある場合、デバイス602Aは、CE信号がアサート停止されているかどうかに関わらず待機モードには入らない。リードイネーブルポートREポートは、シリアルデータ出力を制御するために使用されるRE信号を受け取る。具体的には、デバイス602によって出力されるデータは、RE信号立ち下がりエッジ後に、IOポートIO0~IO7に配置される。内部列アドレスカウンタもRE信号の立ち下がりエッジでインクリメントされる。書き込み禁止ポートWPポートは、偶発的プログラミングまたは消去からデバイス602Aを保護するために使用されるWP信号を受け取る。WP信号がアサートされると、内部電圧レギュレータがリセットされる。WP信号は、入力信号が無効の場合に、電源オンオフシーケンス中にメモリセルアレイ902に保存されたデータを保護するために使用することができる。図10は、n個の消去可能なブロック10020~1002を含む、メモリセルアレイ902のセルアレイ構造を示す。各ブロックは、図11に示されるようなm個のプログラム可能なページ11020~1102へ再分割される。次に、各ページは、それぞれ、図2に示すような個の8ビットバイトへ再分割される。具体的には、それぞれのページの各バイトは、jバイトのデータ格納領域およびkバイトのデータ格納領域に分割される。それゆえ、メモリセルアレイ902のサイズの合計はnブロックであり、これはページに相当し、したがってバイトに等しい。予備のフィールド1204は、エラー管理機能用に使用することができる。また、各ページおよびまたはブロックのメタデータは、本実施例に従って、データフィールド1202または予備のフィールド1204に保存することができる。NANDフラッシュメモリ内の予備のフィールド1204の必要なサイズは、ページサイズ、プロセス技術、1個のセル当たりのビット数、およびビット誤り率の関数である。初期世代のNANDフラッシュメモリにおけるページサイズは、データフィールド1202に対しては512バイト、予備のフィールド1204に対しては16バイトであった。プロセス技術の発展とともに、ページサイズは大きくなり、これにより、より大きな記録密度の実現が可能となった。しかし、この増大によって、ビット誤り率がより高くなり、したがってより強力な誤り訂正符号化を使用する必要性が生じてきた。最近のページサイズの一例は、データフィールド1202用に8Kバイト、および予備のフィールド1204用に436バイトである。また、データフィールド1202および予備のフィールド1204のサイズは、フラッシュメモリのメーカー間で異なることがある。しかし、当業者は、本発明の実施形態が、データフィールド1202または予備のフィールド1204の絶対的または相対的なサイズに対していかなる特定の制約も課さないことを認識されるべきである。図9を再び参照して、デバイス602Aのメモリコアは、メモリセルアレイ902に加えて、行デコーダ920、センスアンプページバッファ904および列デコーダ922有している。行デコーダ920は、読み出し動作もしくはプログラム動作のいずれかに対してページを選ぶために、または消去動作に対してブロックを選ぶために使用される。より具体的には、読み出し動作中に、メモリセルアレイ902内の選択されたページのデータは、センスアンプページバッファ904でセンスされ、ラッチされる。次に、センスアンプページバッファ904に保存されたデータは、列デコーダ922およびグローバルバッファ916を介して連続して読み出される。プログラム動作中に、グローバルバッファ916からの入力データは、列デコーダ922を介してセンスアンプページバッファ904に連続して読み込まれる。次に、センスアンプページバッファ904にラッチされた入力データが、メモリセルアレイ902の選択されたページへプログラムされる。また、デバイス602Aは、ステータスレジスタ928を含み、このステータスレジスタ928は、読み出し、プログラムまたは消去動作の期間、デバイス602Aのステータスを追跡する。ステータスは、動作がパスしたかフェイルしたか、デバイス602Aが使用中か実行可能かを反映するためにコード化することができる。デバイス602Aは、さらに制御回路930を含み、この制御回路930は、様々な動作モード中にデバイス602Aを制御する状態マシンを有する中央ユニットである。例えば、前述のコマンドレジスタ910は、グローバルバッファ916からの入力コマンドをデコードし、デコードされたコマンドは、制御回路930へ入力される。加えて、デバイス602Aは、入力ポート、すなわちCE、CLE、ALE、WE、RE、WPポート上の信号の現在の組合せに基づいて、現在の動作モードを決定する制御バッファ932を含む。さらに、デバイス602Aは、前述のアドレスレジスタ912を含み、このアドレスレジスタ912は、多重化された列アドレスおよび行アドレスを格納する。このアドレスはアドレスレジスタによって逆多重化され、行プリデコーダ934および列プリデコーダ936へ転送される。動作に際して、読み出し、プログラムおよび消去動作は、コマンドによって推進される。読み出し動作およびプログラム動作は、ページ単位で実行され、消去動作は、ブロック単位で実行される。本例に対しては、j4096、k218、m128およびn4096を仮定する。したがって、ページ、ブロック、プレーンおよびデバイスの容量は、以下のように与えられる。1ページバイト。1ブロック128ページバイトx128バイト。1プレーン2048ブロックバイトx2048ビット。1デバイス2プレーンビット2ビット。ここで、ページ単位バイト4314バイトを有するで実行される読み出し動作を考える。この動作は、共通のIOピンを介して到達する読み出しコマンドをコマンドレジスタ910内にラッチし、これに続いて共通のIOピンを介して到達するアドレスをアドレスレジスタ912内にラッチした後に開始する。図13を参照して、特定されたページの4314バイトのデータは、tR未満でセンスされ、センスアンプページバッファ904に転送される。一旦4314バイトのデータが、センスされ、メモリセルアレイ902内の選択されたページからセンスアンプページバッファ904に転送されると、センスアンプページバッファ904内のデータは、連続してデバイス602Aから読み出すことができる。次に、やはりページ単位で実行されるプログラム動作を考える。この動作は、共通のIOピンを介して到達するプログラムコマンドをコマンドレジスタ910内にラッチし、これに続いて共通のIOピンを介して到達するアドレスをアドレスレジスタ912内にラッチし、これに続いて共通のIOピンを介して到達する4314バイトのデータをセンスアンプページバッファ904内にラッチした後に開始する。図14を参照して、これらの4314バイトのデータは、tPROG未満でメモリセルアレイ902内の選択されたページにプログラムされる。ここで、ブロック単位で実行される消去動作を考える。この動作は、共通のIOピンを介して到達する消去コマンドをコマンドレジスタ910内にラッチし、これに続いて共通のIOピンを介して到達するアドレスをアドレスレジスタ912内にラッチした後に開始する。図15を参照して、バイトのデータは、tBERS未満で消去される。デバイス602A、602B、602C、602Dとの通信ここで、図16および17を参照すると、複合半導体メモリデバイス106は、インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dとの間の通信をサポートする共通の内部インターフェースチャンネル1602を使用することができる。共通のインターフェースチャンネル1602は、すべての信号CLE、ALE、WE、RE、WP、RBおよび共通のIOピンIO0~IO7のためのマルチドロップ並列バスとして実装することができる。加えて、専用のチップイネーブル信号CE1604A、CE1604B、CE1604C、CE1604Dは、不揮発性メモリデバイス602A、602B、602C、602Dにそれぞれ供給され、読み出し、プログラムまたは消去動作を実行する個別の不揮発性メモリデバイスを選択することができる。例えば、CE1604Aをアサートすることによって、不揮発性半導体デバイス602Aを選択しアクセスすることができる。残りのデバイスは、CE1604B、CE1604CおよびCE1604Dをアサート停止することによって選択されず、その結果メモリコントローラ102からのいかなる入力も無視される。また、未選択のデバイスの出力信号は、ハイインピーダンス状態である。図18を参照して、複合半導体メモリデバイス106は、複数の専用のインターフェースチャンネル1802A、1802B、1802C、1802Dを使用することができ、これらは、それぞれ不揮発性メモリデバイス602A、602B、602C、602Dに接続されている。図19を参照して、複合半導体メモリデバイス106は、インターフェースデバイス604と不揮発性メモリデバイス602A、602B、602C、602Dとの間の通信をサポートするために複数の専用のインターフェースチャンネル1902、1904を使用することができる。この場合、第1のグループの2つの不揮発性メモリデバイスが、共通のインターフェースチャンネル1902を共有し、第2のグループの2つの不揮発性メモリデバイスが、共通のインターフェースチャンネル1904を共有する。しかし、グループの数、ならびに共通のインターフェースチャンネルあたりの不揮発性メモリデバイスの数は、特に制限されないことを理解されるべきである。図20は、非限定的な実施形態による、インターフェースデバイス604のある機能要素を示す。この非限定的な実施形態によると、インターフェースデバイス604は、外部インターフェースブロック2004を含むことができ、この外部インターフェースブロック2004は、前述した通信リンク108によってメモリコントローラ102と互いにインターフェースする。他の機能の中でも、外部インターフェースブロック2004は、メモリコントローラ102からのメモリコントローラ102に対する制御信号、ならびにメモリコントローラ102からのメモリコントローラ102への入力出力データをバッファし生成する。外部インターフェースブロック2004は、いくつかの非限定的な可能性をあげると、非同期式NANDフラッシュ、非同期式ダブルデータレート、または同期式DDRとして特徴付けられる振る舞いまたは機能性を有することができる。また、インターフェースデバイス604は、内部インターフェースブロック2002を含むことができ、この内部インターフェースブロック2002は、前述したように、1つまたは複数のインターフェースチャンネルによって、不揮発性メモリデバイス602A、602B、602C、602Dと互いにインターフェースする。他の機能の中でも、内部インターフェースブロック2002は、不揮発性メモリデバイス602A、602B、602C、602Dからの不揮発性メモリデバイス602A、602B、602C、602Dに対する制御信号、およびメモリコントローラ102からのメモリコントローラ102への入力出力データをバッファし生成する。内部インターフェースブロック2002は、いくつかの非限定的な可能性をあげると、非同期式NANDフラッシュ、非同期式ダブルデータレート、または同期式DDRとして特徴付けられる振る舞いまたは機能性を有することができる。加えて、インターフェースデバイス604は、前述のECCエンジン606を含んでいる。ECCエンジン606は、メモリコントローラ102から受け取ったデータが不揮発性メモリデバイス602A、602B、602C、602Dのうちのいずれかに書き込まれる前に、この受け取ったデータの誤り訂正符号化を行うとともに、不揮発性メモリデバイス602A、602B、602C、602Dのうちのいずれかから読み出されたデータがメモリコントローラ102へ送られる前に、この読み出されたデータの誤り訂正復号化を行う。加えて、インターフェースデバイス604は、バッファメモリ2006を有することができ、このバッファメモリ2006は、ECC符号化前のメモリコントローラ102からの入力データ、およびECC復号化後のメモリコントローラ102への出力データを一時的に格納する。また、インターフェースデバイス604は、制御ブロックおよびタイミング制御信号発生器2008を備え、このタイミング制御信号発生器2008は、外部インターフェースブロック2004、内部インターフェースブロック2002、バッファメモリ2006、およびECCエンジン606を制御するために必要なタイミング制御信号を含む様々な制御信号を生成する。図20の実施形態の変形形態を図21に示す。ここで、ECCエンジンは、誤り制御符号化および復号化を行う作業負荷を分担するために、並列して動作するように構成された第1のECCエンジン2102および第2のECCエンジン2104として実装されている。ECCエンジン606の全体の作業負荷を共同して実行するために実装することができるECCエンジン2102、2104の数は、特に制限されないことを認識されるべきである。この非限定的な実施形態において、ECCエンジン2102、2104のそれぞれを、不揮発性メモリデバイス602A、602B、602C、602Dの対応する所定のサブセットに割り当てることは可能であるが、これは必要ではない。具体的には、必要が生じたときに、ECCエンジン2102、2104のそれぞれを、不揮発性メモリデバイス602A、602B、602C、602Dの異なるサブセットに動的に割り当てることが、共通インターフェースチャンネル1602を介してすべての不揮発性メモリデバイス602A、602B、602C、602Dへのアクセスを提供する内部インターフェースブロック2002のおかげで柔軟に行える。図21の実施形態において、バッファメモリが、第1のECCエンジン2102に関連づけられた第1のメモリ格納部2106、および第2のECCエンジン2104に関連づけられた第2のメモリ格納部2108として実装されていることにも留意されたい。しかし、ECCエンジン2102、2104との間で共有される、単一のより大きなメモリ格納部を使用することも可能である。図20の実施形態の第2の変形形態を図22に示す。ここで、ECCエンジンは、誤り制御符号化および復号化を行う作業負荷を分担するために、並列して動作するように構成された第1のECCエンジン2102および第2のECCエンジン2104としてやはり実装されている。また、図21の実施形態のように、バッファメモリは、第1のECCエンジン2102に関連づけられた第1のメモリ格納部2106、および第2のECCエンジン2104に関連づけられた第2のメモリ格納部2108として実装されていることに留意されたい。この場合もやはり、ECCエンジン606の全体の作業負荷を共同して実行するために実装することができるECCエンジン2102、2104の数は、特に制限されておらず、ECCエンジン2102、2104との間で共有される単一のより大きなメモリ格納部を使用することが可能であることを思い起こすこともできる。この実施形態において、ECCエンジン2102、2104のそれぞれは、不揮発性メモリデバイス602A、602B、602C、602Dのそれぞれの所定のサブセットに割り当てられる。この割り当ては、内部インターフェースブロックの構成によって決定され、この内部インターフェースブロックは、第1の内部インターフェースブロック2202および第2の内部インターフェースブロック2204として実装されている。ECCエンジン606プログラム動作中に、ECCエンジン606は、メモリコントローラ102からの入力データに対応するパリティデータなどのECC制御データを生成し、この入力データをECCパリティデータと組み合わせ、次に、両方を不揮発性メモリデバイス602A、602B、602C、602Dの選択された1つにプログラムする。より具体的には、図23を参照して、および単なる非限定的な例として、BCHECCコードおよび4KBページサイズに値する入力データを使用するECC符号化処理を示す。ECCエンジン606は、パリティ発生器2304を備えている。パリティ発生器2304は、例えば、不揮発性メモリデバイス602A内のターゲットページ向けの4KBの入力データ2302を使用して、パリティデータ2306を生成する。パリティデータ2306は、入力データ2302のセグメントによって生成されてもよく、または入力データ2302すべてを使用して生成されてもよい。入力データ2302は、ターゲットページのデータフィールド1202へプログラムされ、パリティデータ2306は、ターゲットページの予備のフィールド1204へプログラムされる。読み出し動作中に、ECCエンジン606は、ECCパリティデータを備えた出力データを不揮発性メモリデバイス602A、602B、602C、602Dのうちの選択された1つから読み出し、その次にECC動作を実行して、出力データに相当するECCパリティデータを生成する。その後、ECCエンジン606は、抽出され生成されたECCパリティデータを比較し、必要な場合、出力データをメモリコントローラ102に供給する前に出力データを訂正する。より具体的には、図24を参照して、および単なる非限定的な例として、BCHECCコードおよび4KBのページサイズに値する出力データを使用するECC復号化処理を示す。ECCエンジン606は、シンドローム発生器2406、Berlekampブロック2408、Chienブロック2410およびデータ訂正器2412を備えている。シンドローム発生器2406は、なんらかのエラーがあるかどうかを判定するために、例えば、不揮発性メモリデバイス602Aから読み出される4Kbの出力データ2402およびパリティデータ2404を使用してシンドロームを計算し生成する。シンドロームは、エラーロケータ多項式およびエラー数を決定するBerlekampブロック2408へ入力される。Chienブロック2410は、Berlekampブロック2408によってエラーロケータ多項式出力における多項式の根を見つける。最後に、出力データ2402は、Chienブロック2410の出力に基づいて実際になんらかのエラーがあると分かった場合、データ訂正器ブロック2412によって訂正される。したがって、データ訂正器ブロック2412の出力は、次にメモリコントローラ102に提供される訂正されたデータ2414である。簡単にするため、上記の実施形態は、誤り訂正符号化処理および復号化処理された入力データおよび出力データが、全データフィールド1202を占有していると仮定した。メタデータを含むことが望まれる場合、このメタデータは、予備のフィールド1204に格納することができる。代替の実施形態において、メタデータは、データフィールド1202の一部を占有することができ、誤り訂正符号化復号化処理された入力データ出力データは、メタデータを含んでいないデータフィールド1202の部分を占有することができる。上記したECC動作は、単純化されており、全く限定的でないことを認識されるべきである。当業者は、不揮発性メモリデバイスへデータを読み書きする状況において、誤り訂正符号化および復号化を実施することができ、また本発明の文脈の範囲内で使用することができる数多くの可能な方法があることを理解されるだろう。誤り訂正符号化アルゴリズムの訂正強度は、エラーを訂正するために使用されるECCアルゴリズムに依存する。単純なハミングコードは、シングルビットエラーを訂正することができる。リードソロモンコードは、より多くのエラーを訂正することができ、幅広く使用されている。また、BCHコードは、マルチビットエラーを訂正することができ、リードソロモンコードに対して効率が改善されるため普及している。さらに他の非限定的な例には、低密度パリティコード、ターボコード、ゴーレイコード、ならびに様々な連接、畳込み、およびブロックコードなどが存在する。メモリコントローラ102の視点から、および図25における非限定的な実施形態を参照して、最終的なページフォーマットは、予備のフィールド1204内のデータに関わらず、データフィールド1202内のデータのみを含んでいる可能性がある。すなわち、メモリコントローラ102は、予備のフィールド1204に対してデータの読み書きを行わない。むしろ、ECCエンジン606によって生成されたパリティビットで予備のフィールド1204を埋めるのは、インターフェースデバイス604である。そうした実施形態において、予備のフィールド1204は、ユーザに隠され、メモリコントローラ102は、誤り制御符号化または復号化に関わる必要はない。これによって、メモリコントローラ102は、ECCの機能性が無効にされた状態で、またはECCの機能性が全くない状態で機能することが可能となる。上記した図25の実施形態において、メタデータは、メモリコントローラ102によって複合半導体デバイス106に提供されないか、またはそうしたメタデータがデータフィールド1202内にすでに埋め込まれていることが認識されるであろう。メタデータが、データフィールド1202以外で、別個に提供される実施形態も存在する。具体的には、図26に示す非限定的な実施形態において、最終的なページフォーマットは、データフィールド1202内のデータだけでなく、予備のフィールド1204のサイズより小さな、小さい追加の予備のフィールド2602も含んでよい。追加の予備のフィールド2602は、ページ用のメタデータを格納するために使用することができる。本実施形態において、インターフェースデバイス604は、ECCエンジン606によって生成されたパリティビットおよび予備のフィールド2602からのメタデータで予備のフィールド1204を埋める。そうした実施形態においては、追加の予備のフィールド2602のみがユーザに見え、予備のフィールド1204は、ユーザならびにメモリコントローラ102には隠されたままである。ここで、やはり、メモリコントローラ102は、誤り制御符号化または復号化に関わる必要はなく、したがってメモリコントローラ102は、ECCの機能性が無効にされた状態で、またはECCの機能性が全くない状態で機能することが可能となる。メモリコントローラ102ここで、図27を参照すると、非限定的な実施形態による、メモリコントローラ102の機能ブロック図が示されている。メモリコントローラ102は、クロック発振器および制御ブロック2704に供給されるベースクロック信号を提供する水晶2702を備える。クロック発振器および制御ブロック2704は、中央処理装置2706、デバイス管理ブロック2710、および物理層トランシーバ2740に様々なクロック信号を供給する。CPU2706は、共通バス2742によって他のサブシステムと通信する。加えて、ランダムアクセスメモリおよび読み出し専用メモリを収容するメモリ格納部2708を備えることができる。RAMは、バッファメモリとして使用され、ROMは、CPU2706によって実行可能なコンピュータ可読コードを格納する。デバイス管理ブロック2710は、物理的なインターフェース2714、およびファイルメモリ管理ブロック2712を含む。少なくとも1つの複合半導体メモリデバイス106は、物理的なインターフェース2714を介してアクセスされる。ファイルメモリ管理ブロック2712は、論理アドレスと物理アドレスの変換を行い、ウェアレベリングアルゴリズムを適用する。非限定的な一実施形態において、デバイス管理ブロック2710は、CPU2706からディスエーブル信号2718を受け取ると、制御可能に無効にすることができるECCエンジン2716を有する。別の非限定的な実施形態において、ECCエンジン2716は、ハードウェアにおいて無効にされる。さらに別の非限定的な実施形態において、デバイスメモリコントローラ102は、ECCエンジンまたは誤り訂正回路を含まない。ECCエンジン2716は、提供される場合、少なくとも1つの複合半導体メモリデバイス106からアクセスされるデータをチェックし訂正することができる。複合半導体メモリデバイス106がメモリコントローラ102へなお一層多く接続されても、メモリコントローラ102のECC処理負荷は変わらないことを認識されるべきである。これは、ECCの要求事項が複合半導体メモリデバイス106間で分散されるためである。実際、不揮発性メモリデバイス602A、602B、602C、602Dのエラーなしの性能がインターフェースデバイス604内のECCエンジン606によって保証されるので、メモリコントローラ102は、誤り訂正符号化または復号化のいずれをも実行することを要求されない。さらに、インターフェースデバイス604は、並行して多重読み出しおよびまたは書き込みをするために、ECCを並行して実行するように設計することができ、このことは、メモリアクセス時間が改善される可能性につながる。加えて、各複合半導体メモリデバイス106は、それ自身のECCエンジン606を有しているので、メモリコントローラ102は、同時に1回の読み出しまたは書き込みに制約されない。むしろ、メモリコントローラ102は、これらのコマンドと関連するデータが、メモリコントローラ102を通って同時に流れるようにする2つのコマンドを発行することができる。さらに、ECCエンジン606がインターフェースデバイス604内に位置するので、進化するECC要求事項は、インターフェースデバイス604の設計における進歩によって追尾されるが、その間、同じメモリコントローラ102を使用し続けることができることを認識されるべきである。メモリコントローラの同一在庫を、フラッシュメモリデバイスの複数の異なる世代にわたって再使用し続けていくことができる可能性があり、また数多くの製造業者およびプロセス技術にまたがって再使用することもできるのが有利である。さらに、予備のフィールド1204のサイズの変化は、メモリコントローラ102の設計に影響を及ぼさない。加えて、ユーザの視点から予備のフィールド1204を隠すことによって、メモリコントローラ102を設計および使用する場合、開発者の労力が簡素化される。さらに、予備のフィールド2602がユーザによって使用される場合、予備のフィールド2602は、ページ管理のために必要なメタデータを格納する程度に小さく、首尾一貫したサイズにしておくことができる。上記した実施形態において、便宜上、図に示すようにデバイス要素および回路は、互いに接続されている。本発明の実際の応用において、要素、回路などは、互いに直接接続されてもよい。同様に、要素、回路などは、適切な動作に必要な、他の要素、回路などを介して互いに間接的に接続されてもよい。したがって、実際の構成では、回路要素と回路は、互いに直接または間接的に結合されもしくは接続される。本発明の上記の実施形態は、単に例示であることが意図されている。変更形態、修正形態および変形形態は、もっぱら添付の特許請求の範囲によって定義される本発明の範囲から逸脱せずに、当業者によって特定の実施形態として達成されてもよい。