(57)【要約】【課題】プログラムされるデータのランダム性を増加させるメモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、３次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置を提供する。【解決手段】本発明のメモリコントローラの動作方法は、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを用いて擬似乱数を生成する段階と、擬似乱数を用いてページにプログラムされるデータをランダマイズし、ランダマイズされたデータを出力する段階と、を有する。【選択図】図１
2013020620.tif 000002
【特許請求の範囲】
【請求項１】
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシード（ｓｅｅｄ）を用いて擬似乱数を生成する段階と、
前記擬似乱数を用いて前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有することを特徴とするメモリコントローラの動作方法。
【請求項２】
前記擬似乱数を生成する段階は、
前記ページのページアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択する段階と、
前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択し、該選択されたシードを用いて前記擬似乱数を生成する段階と、を含むことを特徴とする請求項１に記載のメモリコントローラの動作方法。
【請求項３】
前記エントリーポインターによって指定されたエントリーが選択された後、前記エントリーポインターを変更する段階を更に有し、
前記メモリコントローラがリセットされると、変更されたエントリーポインターは、デフォルト値にリセットされることを特徴とする請求項２に記載のメモリコントローラの動作方法。
【請求項４】
前記擬似乱数を生成する段階は、
前記ページに相応するワードラインアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択する段階と、
前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択し、該選択されたシードを用いて前記擬似乱数を生成する段階と、を含むことを特徴とする請求項１に記載のメモリコントローラの動作方法。
【請求項５】
前記複数のシードグループのそれぞれが複数のページのそれぞれに対応する場合、
前記複数のページの数は、１本のワードラインに接続された複数のマルチレベルセルのそれぞれに保存されるビットの数と同一であることを特徴とする請求項１に記載のメモリコントローラの動作方法。
【請求項６】
それぞれが異なるシードテーブルに保存された複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを用いて擬似乱数を生成する段階と、
前記擬似乱数を用いて、前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有することを特徴とするメモリコントローラの動作方法。
【請求項７】
複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループに含まれるシードを用いて擬似乱数を生成する段階と、
前記擬似乱数を用いて前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有し、
前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、
前記複数のゾーンのうちから前記シードグループに相応するゾーンは、前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択され、
前記シードは、前記選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーであることを特徴とするメモリコントローラの動作方法。
【請求項８】
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を備え、
前記マイクロプロセッサは、
前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択した後、前記エントリーポインターを変更し、
前記メモリコントローラがリセットされると、変更されたエントリーポインターは、デフォルト値にリセットされることを特徴とするメモリコントローラ。
【請求項９】
前記複数のシードグループを保存するＲＯＭを更に備えることを特徴とする請求項８に記載のメモリコントローラ。
【請求項１０】
前記マイクロプロセッサは、前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択することを特徴とする請求項８に記載のメモリコントローラ。
【請求項１１】
前記複数のシードグループのそれぞれは、異なるシードテーブルに保存されることを特徴とする請求項８に記載のメモリコントローラ。
【請求項１２】
前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、
前記マイクロプロセッサは、
前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択することを特徴とする請求項８に記載のメモリコントローラ。
【請求項１３】
複数のページを有するメモリセルアレイを含む不揮発性メモリ装置と、
前記不揮発性メモリ装置の動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記不揮発性メモリ装置に出力するランダマイザーと、を含むことを特徴とするメモリシステム。
【請求項１４】
前記複数のシードグループのそれぞれが互いに異なるシードテーブルに保存される場合、
前記マイクロプロセッサは、
前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択することを特徴とする請求項１３に記載のメモリシステム。
【請求項１５】
前記マイクロプロセッサは、前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択することを特徴とする請求項１４に記載のメモリシステム。
【請求項１６】
前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、
前記マイクロプロセッサは、
前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択することを特徴とする請求項１３に記載のメモリシステム。
【請求項１７】
前記メモリシステムは、前記不揮発性メモリ装置と前記メモリコントローラとを含むマルチチップパッケージであることを特徴とする請求項１３に記載のメモリシステム。
【請求項１８】
複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、
ホストと通信するためのカードインターフェースと、
前記フラッシュメモリ装置と前記カードインターフェースとの間の通信を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含むことを特徴とするメモリカード。
【請求項１９】
前記メモリカードは、ＭＭＣ、ＳＤカード、又はＵＳＢフラッシュドライブであることを特徴とする請求項１８に記載のメモリカード。
【請求項２０】
複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、
前記フラッシュメモリ装置の動作を制御するメモリコントローラと、
前記メモリコントローラの制御によって前記フラッシュメモリ装置から出力されたデータをディスプレイするディスプレイと、を備え、
前記メモリコントローラは、
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含むことを特徴とする携帯用通信装置。
【請求項２１】
それぞれが複数のページを有する複数のレイヤを含む３次元不揮発性メモリ装置と、
前記３次元不揮発性メモリ装置の動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を含むことを特徴とする３次元メモリシステム。
【請求項２２】
それぞれが複数のページを含む複数のソリッドステートメモリ装置と、
前記複数のソリッドステートメモリ装置のそれぞれの動作を制御するメモリコントローラと、を備え、
前記メモリコントローラは、
複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、
前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを現在プログラムされる前記ページに出力するランダマイザーと、を含むことを特徴とするソリッドステートドライブ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリコントローラに係り、より詳しくは、隣接する複数のページ（ｐａｇｅｓ）間のシード関連性（ｓｅｅｄ  ｃｏｒｒｅｌａｔｉｏｎ）を減少させるメモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、３次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置に関する。
【背景技術】
【０００２】
擬似乱数（Ｐｓｅｕｄｏ−Ｒａｎｄｏｍ  Ｎｕｍｂｅｒｓ）は、通信システム又はデータ保存システムで広く使われる。擬似乱数は、擬似乱数シーケンス（ＰｓｅｕｄｏＲａｎｄｏｍ  Ｓｅｑｕｅｎｃｅ）を発生するために使われる。即ち、擬似乱数は、最初に与えられる初期値を用いて、既に決定されているメカニズム、例えば擬似乱数生成器によって生成される数を意味する。
【０００３】
乱数は、その生成方法が決定されていないので、次に生成される値、即ち数（ｎｕｍｂｅｒ）を全く予測することができない。しかし、擬似乱数生成器によって生成される数は、擬似乱数生成器の初期値が分かると計算され得るので、本当の乱数と区別するために、擬似乱数と言う。
【０００４】
線形フィードバックシフトレジスタ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ：ＬＦＳＲ）は、擬似乱数シーケンスを発生するために使われる。ＬＦＳＲは、シード（ｓｅｅｄ）と呼ばれる初期値を変更するか、又はフィードバックタップ（ｆｅｅｄｂａｃｋ  ｔａｐｓ）を変更することによって、擬似乱数シーケンスを変更することができる。上述したように、擬似乱数は初期値を用いて計算され得るので、擬似乱数は計算され得る。従って、擬似乱数を容易に計算することができない方法が要求される。
【０００５】
ランダマイザー（ｒａｎｄｏｍｉｚｅｒ）は、ＬＦＳＲによって生成された擬似乱数シーケンスを用いて、データをランダマイズされたデータに変換する。デランダマイザー（ｄｅｒａｎｄｏｍｉｚｅｒ）は、ＬＦＳＲによって生成された擬似乱数シーケンスを用いて、ランダマイズされたデータをデランダマイズされたデータに変換する。従って、擬似乱数シーケンスを容易に計算することができないランダマイザー又はデランダマイザーが要求される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は上記従来技術に鑑みてなされたものであって、本発明の目的は、プログラムされるデータのランダム性（ｒａｎｄｏｍｎｅｓｓ）を増加させるために、隣接する複数のページ間のシード関連性を減少又は除去するメモリコントローラ及びその動作方法、並びにメモリコントローラを含むメモリシステム、３次元メモリシステム、メモリカード、ソリッドステートドライブ、及び携帯用通信装置を提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するためになされた本発明の一特徴によるメモリコントローラの動作方法は、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを用いて擬似乱数を生成する段階と、前記擬似乱数を用いて前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有する。
【０００８】
一態様において、前記擬似乱数を生成する段階は、前記ページのページアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択する段階と、前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリー（ｅｎｔｒｙ）を前記シードとして選択し、該選択されたシードを用いて前記擬似乱数を生成する段階と、を含む。
前記メモリコントローラの動作方法は、前記エントリーポインターによって指定されたエントリーが選択された後、前記エントリーポインターを変更する段階を更に有し、前記メモリコントローラがリセットされると、変更されたエントリーポインターは、デフォルト（ｄｅｆａｕｌｔ）値にリセットされる。
他の態様において、前記擬似乱数を生成する段階は、前記ページに相応するワードラインアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択する段階と、前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択し、該選択されたシードを用いて前記擬似乱数を生成する段階と、を含む。
前記複数のシードグループのそれぞれが複数のページのそれぞれに対応する場合、前記複数のページの数は、１本のワードラインに接続された複数のマルチレベルセルのそれぞれに保存されるビットの数と同一である。
【０００９】
上記目的を達成するためになされた本発明の他の特徴によるメモリコントローラの動作方法は、それぞれが異なるシードテーブル（ｓｅｅｄ  ｔａｂｌｅ）に保存された複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを用いて擬似乱数を生成する段階と、前記擬似乱数を用いて、前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有する。
【００１０】
上記目的を達成するためになされた本発明の更に他の特徴によるメモリコントローラの動作方法は、複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループに含まれるシードを用いて擬似乱数を生成する段階と、前記擬似乱数を用いて前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力する段階と、を有し、前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、前記複数のゾーンのうちから前記シードグループに相応するゾーンは、前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択され、前記シードは、前記選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーである。
【００１１】
上記目的を達成するためになされた本発明の一特徴によるメモリコントローラは、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を備え、前記マイクロプロセッサは、前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択した後、前記エントリーポインターを変更し、前記メモリコントローラがリセットされると、変更されたエントリーポインターは、デフォルト値にリセットされる。
【００１２】
前記メモリコントローラは、前記複数のシードグループを保存するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）を更に備える。
一態様において、前記マイクロプロセッサは、前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットを用いて、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを選択する。
前記複数のシードグループのそれぞれは、異なるシードテーブルに保存される。
他の態様において、前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、前記マイクロプロセッサは、前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択する。
【００１３】
上記目的を達成するためになされた本発明の一特徴によるメモリシステムは、複数のページを有するメモリセルアレイを含む不揮発性メモリ装置と、前記不揮発性メモリ装置の動作を制御するメモリコントローラと、を備え、前記メモリコントローラは、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記不揮発性メモリ装置に出力するランダマイザーと、を含む。
【００１４】
一態様において、前記複数のシードグループのそれぞれが互いに異なるシードテーブルに保存される場合、前記マイクロプロセッサは、前記複数のシードグループのうちから現在プログラムされるページに対する前記シードグループを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択する。
前記マイクロプロセッサは、前記選択されたシードグループに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択する。
他の態様において、前記複数のシードグループが同じシードテーブルに保存され、前記複数のシードグループのそれぞれが複数のエントリーを含む複数のゾーンのそれぞれに対応する場合、前記マイクロプロセッサは、前記複数のゾーンのうちから前記シードグループに相応するゾーンを前記ページのページアドレスの少なくとも一部のビット又は前記ページに相応するワードラインアドレスの少なくとも一部のビットによって選択し、該選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーを前記シードとして選択する。
前記メモリシステムは、前記不揮発性メモリ装置と前記メモリコントローラとを含むマルチチップパッケージ（Ｍｕｌｔｉ−Ｃｈｉｐ  Ｐａｃｋａｇｅ）である。
【００１５】
上記目的を達成するためになされた本発明の一特徴によるメモリカードは、複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、ホストと通信するためのカードインターフェースと、前記フラッシュメモリ装置と前記カードインターフェースとの間の通信を制御するメモリコントローラと、を備え、前記メモリコントローラは、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含む。
【００１６】
前記メモリカードは、ＭＭＣ（ＭｕｌｔｉｍＭｅｄｉａ  Ｃａｒｄ）、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、又はＵＳＢフラッシュドライブである。
【００１７】
上記目的を達成するためになされた本発明の一特徴による携帯用通信装置は、複数のページを有するメモリセルアレイを含むフラッシュメモリ装置と、前記フラッシュメモリ装置の動作を制御するメモリコントローラと、前記メモリコントローラの制御によって前記フラッシュメモリ装置から出力されたデータをディスプレイするディスプレイと、を備え、前記メモリコントローラは、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを前記フラッシュメモリ装置に出力するランダマイザーと、を含む。
【００１８】
上記目的を達成するためになされた本発明の一特徴による３次元メモリシステムは、それぞれが複数のページを有する複数のレイヤを含む３次元不揮発性メモリ装置と、前記３次元不揮発性メモリ装置の動作を制御するメモリコントローラと、を備え、前記メモリコントローラは、複数のシードグループのうちから現在プログラムされるページに割り当てられたシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを出力するランダマイザーと、を含む。
【００１９】
上記目的を達成するためになされた本発明の一特徴によるソリッドステイブドライブは、それぞれが複数のページを含む複数のソリッドステートメモリ装置と、前記複数のソリッドステートメモリ装置のそれぞれの動作を制御するメモリコントローラと、を備え、前記メモリコントローラは、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するマイクロプロセッサと、前記選択されたシードを用いて擬似乱数を生成し、該生成された擬似乱数によって前記ページにプログラムされるデータをランダマイズし、該ランダマイズされたデータを現在プログラムされる前記ページに出力するランダマイザーと、を含む。
【発明の効果】
【００２０】
本発明によるメモリコントローラ及びその動作方法によれば、ページ毎に異なるシードテーブルに含まれるシード又はページ毎に異なるゾーンに含まれるシードを用いて生成された擬似乱数によってデータをランダマイズすることによって、複数のページ間のシード関連性を防止することができる。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態によるメモリコントローラを含むメモリシステムのブロック図を示す。
【図２】図１に示したメモリシステムを含むマルチチップパッケージの一例を示す。
【図３】図１に示したメモリシステムを含むマルチチップパッケージの他の例を示す。
【図４】図１に示したメモリインターフェースのブロック図の一例を示す。
【図５】図１に示したメモリインターフェースのブロック図の他の例を示す。
【図６】ページ別に割り当てられたシードテーブルの一例を示す。
【図７】ページ別に割り当てられたシードテーブルの他の例を示す。
【図８】ページ別に割り当てられたゾーン（ｚｏｎｅｓ）を含む１つのシードテーブルを示す。
【図９】図８に示した１つのゾーン（ｚｏｎｅ）に含まれるエントリーを示す。
【図１０】図１に示した不揮発性メモリ装置の２次元的な構造のメモリセルアレイを含むブロック図の一例を示す。
【図１１】図１に示した不揮発性メモリ装置の３次元的な構造のメモリセルアレイの一例を示す。
【図１２】ページ別に割り当てられたシードテーブルを用いる図１に示したメモリシステムの動作を説明するフローチャートである。
【図１３】１つのシードテーブルに含まれる複数のゾーンを用いる図１に示したメモリシステムの動作を説明するフローチャートである。
【図１４】図１に示したメモリシステムを含む電子装置の一実施例を示す。
【図１５】図１に示したメモリシステムを含む電子装置の他の実施例を示す。
【図１６】図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。
【図１７】図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。
【図１８】図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。
【図１９】図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。
【図２０】図１９に示した電子装置を含むデータ処理システムのブロック図を示す。
【発明を実施するための形態】
【００２２】
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳しく説明する。
【００２３】
図１は、本発明の一実施形態によるメモリコントローラ２０を含むメモリシステム１０のブロック図を示す。図１を参照すると、メモリシステム１０は、メモリコントローラ２０及び不揮発性メモリ装置４０を含む。メモリコントローラ２０は、ホストＨＯＳＴの制御によって、不揮発性メモリ装置４０のデータ処理動作、例えば、プログラム（ｐｒｏｇｒａｍ）動作、リード（ｒｅａｄ）動作、及びイレーズ（ｅｒａｓｅ）動作を制御する。
【００２４】
後述する図６及び図７に示す実施例において、メモリコントローラ２０は、複数のシードテーブルＳＴ１〜ＳＴ４及びＳＴ１１〜ＳＴ１３のうちから現在プログラムされるページに対する（又は、割り当てられた）シードテーブルを選択し、選択されたシードテーブルに含まれる１つ又はそれ以上のエントリー（ｅｎｔｒｉｅｓ）のうちからエントリーポインター（ｅｎｔｒｙ  ｐｏｉｎｔｅｒ）によって指定されたエントリーをページのシードとして選択し、選択されたシードを用いて擬似乱数を生成し、生成された擬似乱数によって、ページにプログラムされるデータをランダマイズ（ｒａｎｄｏｍｉｚｅ）し、ランダマイズされたデータを不揮発性メモリ装置４０に出力する。
【００２５】
ここで、複数のページのそれぞれは、プログラム動作によるワードライン（ｗｏｒｄ  ｌｉｎｅ）方向のフローティングゲートカップリング（ｆｌｏａｔｉｎｇ  ｇａｔｅ  ｃｏｕｐｌｉｎｇ）、リードディスターバンス（ｒｅａｄ  ｄｉｓｔｕｒｂａｎｃｅ）、又はバックパターンディペンデンシー（ｂａｃｋ−ｐａｔｔｅｒｎ  ｄｅｐｅｎｄａｎｃｙ）などによって、互いに影響を受けるものと仮定する。ここで、リードディスターバンスは、リード動作の間に選択されていない複数のワードラインのそれぞれに接続された複数のメモリセルがプログラムされる現象を意味する。
【００２６】
後述する図８及び図９に示す他の実施例において、メモリコントローラ２０は、１つのシードテーブルＳＴ２１に含まれ、それぞれが複数のエントリーを含み、それぞれが複数のページのそれぞれに割り当てられた複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のうちの何れか１つのゾーンを選択し、選択されたゾーンに含まれる１つ又はそれ以上のエントリーのうちからエントリーポインターＥＮＴＲＹ＿ＰＮＴＺ０によって指定されたエントリーＥＮＴＲＹ＿Ｚ１１を現在プログラムされるページのシードとして選択し、選択されたシードを用いて擬似乱数を生成し、擬似乱数を用いて、ページにプログラムされるデータをランダマイズし、ランダマイズされたデータを不揮発性メモリ装置４０に出力する。
【００２７】
メモリコントローラ２０は、マイクロプロセッサ２２、バッファ２４、ＲＯＭ２６、ホストインターフェース２９、及びメモリインターフェース３０を含む。これらの各構成要素（２２、２４、２６、２９、及び３０）は、バス２８を通じて互いに通信することができる。
【００２８】
回路（ｃｉｒｃｕｉｔ）、ロジック（ｌｏｇｉｃ）、コード（ｃｏｄｅ）、又はこれらの組合せで具現可能なマイクロプロセッサ２２は、各構成要素（２４、２６、２９、及び３０）の動作を制御する。
【００２９】
図６及び図７に示す実施例において、マイクロプロセッサ２２は、複数のシードテーブルＳＴ１〜ＳＴ４又はＳＴ１１〜ＳＴ１３、例えばページ別に割り当てられた複数のシードテーブルＳＴ１〜ＳＴ４又はＳＴ１１〜ＳＴ１３のうちから現在プログラムされるページに割り当てられたシードテーブルを選択する動作、及び／又は選択されたシードテーブルに含まれる１つ又はそれ以上のエントリーのうちの何れか１つのエントリーを選択するエントリーポインターを変更する動作を行う。
【００３０】
この際、マイクロプロセッサ２２は、現在プログラムされるページのページアドレスの少なくとも一部のビット、又はページに相応するワードラインアドレスの少なくとも一部のビットを用いて、複数のシードテーブルのうちの何れか１つを選択する。ここで、一部のビットは、１ビット又はそれ以上のビットを意味する。
【００３１】
図８及び図９に示す他の実施例において、マイクロプロセッサ２２は、１つのシードテーブルＳＴ２１に含まれる複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のうちの何れか１つのゾーンを選択する動作、及び／又は選択されたゾーンに含まれる１つ又はそれ以上のエントリーのうちの何れか１つのエントリーを選択するエントリーポインターを変更する動作を行う。一実施例において、１つのシードテーブルＳＴ２１は、独立した複数のゾーンにパーティション（ｐａｒｔｉｔｉｏｎ）される。この際、マイクロプロセッサ２２は、現在プログラムされるページのページアドレスの少なくとも一部のビット、又はページに相応するワードラインアドレスの少なくとも一部のビットを用いて、複数のゾーンのうちの何れか１つを選択する。
【００３２】
バッファ２４は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、又はデュアルポート（Ｄｕａｌ−Ｐｏｒｔ）ＳＲＡＭのような揮発性（ｖｏｌａｔｉｌｅ）メモリとして具現可能である。一実施例において、複数のシードテーブルは、不揮発性メモリ装置４０のメモリセルアレイ１４０に保存されるか、又はＲＯＭ２６に保存される。この場合、メモリセルアレイ１４０又はＲＯＭ２６に保存された複数のシードテーブルのそれぞれは、マイクロプロセッサ２２の制御によってバッファ２４にローディングされる。ここで、複数のページ４２−１〜４２−Ｎが複数のグループにグルーピングされる場合、複数のシードテーブルのそれぞれは、複数のグループのそれぞれに対応する。
【００３３】
他の実施例において、複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５を含む１つのシードテーブルＳＴ２１は、メモリセルアレイ１４０又はＲＯＭ２６に保存される。この場合、メモリセルアレイ１４０又はＲＯＭ２６に保存された１つのシードテーブルＳＴ２１は、マイクロプロセッサ２２の制御によってバッファ２４にローディングされる。例えば、ページ別のシードテーブル又は１つのシードテーブルは、メモリコントローラ２０のパワーアップ（ｐｏｗｅｒ−ｕｐ）動作の間にバッファ２４にローディングされるか、又はメモリコントローラ２０の動作の間にリアルタイムでバッファ２４にローディングされる。
【００３４】
ＲＯＭ２６は、メモリコントローラ２０の動作に必要なプログラムコードを保存する。上述したように、ＲＯＭ２６には、ページ別に割り当てられたシードテーブル又は１つのシードテーブルを保存することができる。
【００３５】
ホストＨＯＳＴとメモリコントローラ２０は、ホストインターフェース２９を通じて通信する。ホストＨＯＳＴは、プログラム要求（ｐｒｏｇｒａｍ  ｒｅｑｕｅｓｔ）と不揮発性メモリ装置４０にプログラムされるデータを、ホストインターフェース２９を通じてメモリコントローラ２０に伝送する。この際、メモリコントローラ２０は、プログラム要求によって、データが保存される不揮発性メモリ装置４０のページのページアドレス及び／又はページに相応するワードラインアドレスを生成する。
【００３６】
メモリコントローラ２０と不揮発性メモリ装置４０は、メモリインターフェース３０を通じて互いに通信する。
【００３７】
不揮発性メモリ装置４０のメモリセルアレイ１４０は、複数のメモリブロック（ｍｅｍｏｒｙ  ｂｌｏｃｋ）を含み、複数のメモリブロックのそれぞれは、複数のページ４２−１〜４２−Ｎを含み、複数のページ４２−１〜４２−Ｎのそれぞれは、複数の不揮発性メモリセル、例えばＮＡＮＤフラッシュメモリセルを含む。ＮＡＮＤフラッシュメモリセルのそれぞれは、１ビット又はそれ以上のビットを保存する。
【００３８】
不揮発性メモリ装置４０、例えばＮＡＮＤフラッシュメモリ装置で、プログラム動作又はリード動作はページ（ｐａｇｅ）単位で行われ、イレーズ動作はメモリブロック単位で行われる。ここで、ページは、１本のワードラインに接続された複数の不揮発性メモリセル、例えばＮＡＮＤフラッシュメモリセルに定義されるメモリ領域を意味する。例えば、ＮＡＮＤフラッシュメモリセルのそれぞれが、１ビットを保存するＳＬＣ（Ｓｉｎｇｌｅ  Ｌｅｖｅｌ  Ｃｅｌｌ）である場合、１本のワードラインは、１枚のページと定義される。
【００３９】
ＮＡＮＤフラッシュメモリセルのそれぞれが、２ビット以上を保存するＭＬＣ（Ｍｕｌｔｉ  Ｌｅｖｅｌ  Ｃｅｌｌ）である場合、１本のワードラインは、１本のワードラインに接続された複数のＭＬＣのそれぞれにプログラムされるビット数と同じページ数を有すると定義される。
【００４０】
例えば、複数のＭＬＣのそれぞれが２ビットＭＬＣである場合、１本のワードラインは、２枚のページ、例えば第１ページと第２ページとを含み、複数のＭＬＣのそれぞれが３ビットＭＬＣである場合、１本のワードラインは、３枚のページ、例えば第１ページ、第２ページ、及び第３ページを含む。
【００４１】
第１ページは、ＬＳＢ（Ｌｅａｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）ページを意味し、第２ページは、ＭＳＢ（Ｍｏｓｔ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）ページを意味し、第３ページは、ＣＳＢ（Ｃｅｎｔｅｒ  Ｓｉｇｎｉｆｉｃａｎｔ  Ｂｉｔ）ページを意味する。
【００４２】
図２は、図１に示したメモリシステムを含むマルチチップパッケージの一例を示す。図２を参照すると、マルチチップパッケージ１１は、回路基板１１−１、例えばＰＣＢ（Ｐｒｉｎｔｅｄ  Ｃｉｒｃｕｉｔ  Ｂｏａｒｄ）上にマウント（ｍｏｕｎｔｅｄ）又は積層された（ｓｔａｃｋｅｄ）メモリコントローラ２０と、メモリコントローラ２０上にマウント又は積層された不揮発性メモリ装置４０とを含む。メモリコントローラ２０は、ボンディングワイヤ（ｂｏｎｄｉｎｇ  ｗｉｒｅｓ）１１−２とソルダボール（ｓｏｌｄｅｒ  ｂａｌｌｓ）１１−３とを通じて外部装置と通信する。また、メモリコントローラ２０と不揮発性メモリ装置４０は、ボンディングワイヤ１１−４を通じて通信する。
【００４３】
図２では、説明の便宜上、不揮発性メモリ装置４０がメモリコントローラ２０上に形成された例を示したが、一実施例として、これらの２つの装置（２０、４０）の具現位置が互いに変わり得る。また、メモリコントローラ２０と不揮発性メモリ装置４０は、ボンディングワイヤ１１−４以外の接続手段を通じて互いに通信し、メモリコントローラ２０とソルダボール１１−３は、ボンディングワイヤ１１−２以外の接続手段を通じて互いに接続され得る。接続手段は、垂直電気素子（ｖｅｒｔｉｃａｌ  ｅｌｅｃｔｒｉｃａｌ  ｅｌｅｍｅｎｔ）、例えば、ＴＳＶ（Ｔｈｒｏｕｇｈ  Ｓｉｌｉｃｏｎ  Ｖｉａ）として具現されることもある
【００４４】
図３は、図１に示したメモリシステムを含むマルチチップパッケージの他の例を示す。図３を参照すると、マルチチップパッケージ１３は、回路基板１３−１、例えば、ＰＣＢ上に接続されたメモリコントローラ２０と不揮発性メモリ装置４０とを含む。メモリコントローラ２０と不揮発性メモリ装置４０は、ボンディングワイヤ１３−２を通じて互いに通信し、メモリコントローラ２０と不揮発性メモリ装置４０のそれぞれは、ボンディングワイヤ１３−３とソルダボール１３−４とを通じて外部装置と通信する。
【００４５】
一実施例として、メモリコントローラ２０と不揮発性メモリ装置４０は、ボンディングワイヤ１３−２以外の接続手段を通じて互いに通信することができる。接続手段は、垂直電気素子、例えばＴＳＶとして具現されることもある。例えば、メモリコントローラ２０と不揮発性メモリ装置４０のそれぞれが垂直電気素子を通じて回路基板１３−１に接続される場合、メモリコントローラ２０と不揮発性メモリ装置４０は、垂直電気素子と回路基板１３−１とを通じて互いに通信することができる。
【００４６】
それぞれのチップ（ｃｈｉｐ）として具現されたメモリコントローラ２０と不揮発性メモリ装置４０は、ＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、ＢＧＡｓ（ＢａｌｌＧｒｉｄ  Ａｒｒａｙｓ）、ＣＳＰｓ（Ｃｈｉｐ  Ｓｃａｌｅ  Ｐａｃｋａｇｅｓ）、ＰＬＣＣ（Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ）、ＰＤＩＰ（Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｎ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、ＣＯＢ（Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ）、ＣＥＲＤＩＰ（ＣＥＲａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ）、ＭＱＦＰ（Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ）、ＴＱＦＰ（ＴｈｉｎＱｕａｄ  ＦｌａｔＰａｃｋ）、ＳＯＩＣ（Ｓｍａｌｌ−Ｏｕｔｌｉｎｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）、ＳＳＯＰ（Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＴＳＯＰ（Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ）、ＳｉＰ（Ｓｙｓｔｅｍ  ｉｎ  Ｐａｃｋａｇｅ）、ＭＣＰ（Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ）、ＷＦＰ（Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ）、又はＷＳＰ（Ｗａｆｅｒ−ｌｅｖｅｌ  ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ）のようなパッケージとして具現可能である。
【００４７】
図４は、図１に示したメモリインターフェースのブロック図の一例を示す。図４を参照すると、図１に示したメモリインターフェース３０の一例として具現されたメモリインターフェース３０は、データ変換装置３０Ａとして使用される。
【００４８】
データ変換装置３０Ａは、データ経路（ｄａｔａ  ｐａｔｈ）によってランダマイザー又はデランダマイザーとして使用される。データ変換装置３０Ａは、擬似乱数生成器（ｐｓｅｕｄｏ  ｒａｎｄｏｍ  ｎｕｍｂｅｒ  ｇｅｎｅｒａｔｏｒ）３２とモジュロ演算器（ｍｏｄｕｌｏ  ｏｐｅｒａｔｏｒ）３４とを含む。
【００４９】
擬似乱数生成器３２は、ページ別に割り当てられた（ａｓｓｉｇｎｅｄ）シードテーブルに含まれるシードＳＥＥＤ、又はページ別に割り当てられたゾーンに含まれるシードＳＥＥＤを用いて、擬似乱数（又は、擬似乱数シーケンス）ＲＳを生成する。一実施例として、擬似乱数生成器３２は、ＬＦＳＲ（Ｌｉｎｅａｒ  Ｆｅｅｄｂａｃｋ  Ｓｈｉｆｔ  Ｒｅｇｉｓｔｅｒ）として具現され、ＬＦＳＲは、シードＳＥＥＤを用いてフィードバック多項式（ｆｅｅｄｂａｃｋ  ｐｏｌｙｎｏｍｉａｌ）を決定する。従って、擬似乱数ＲＳは、フィードバック多項式によって決定される。ＬＦＳＲは、フィボナッチ（Ｆｉｂｏｎａｃｃｉ）ＬＦＳＲ又はガロア（Ｇａｌｏｉｓ）ＬＦＳＲとして具現可能である。擬似乱数生成器３２に含まれる構成要素によって、擬似乱数生成器３２は、線形擬似乱数ＲＳ又は非線形擬似乱数ＲＳを発生する。
【００５０】
モジュロ演算器３４は、擬似乱数ＲＳと現在プログラムされるページにプログラムされるデータＤＡＴＡ１とをモジュロ演算（ｍｏｄｕｌｏ  ｏｐｅｒａｔｉｏｎ）して、ランダマイズされたデータＲＤＡＴＡを発生する。擬似乱数ＲＳを用いてデータＤＡＴＡ１をランダマイズする場合、モジュロ演算器３４は、擬似乱数ＲＳとデータＤＡＴＡ１とをモジュロ加算（ｍｏｄｕｌｏ  ａｄｄｉｔｉｏｎ）して、ランダマイズされたデータＲＤＡＴＡを生成する。
【００５１】
擬似乱数ＲＳを用いてランダマイズされたデータＲＲＤＡＴＡ２をデランダマイズする場合、モジュロ演算器３４は、ランダマイズされたデータＲＲＤＡＴＡ２から擬似乱数ＲＳをモジュロ減算（ｍｏｄｕｌｏ  ｓｕｂｔｒａｃｔｉｏｎ）して、データＤＡＴＡ２を生成する。
【００５２】
モジュロ２加算の結果とモジュロ２減算の結果は、互いに同一なので、擬似乱数ＲＳが２進シーケンス（ｂｉｎａｒｙ  ｓｅｑｕｅｎｃｅ）である場合、モジュロ演算器３４は、排他論理和ゲート（ｅｘｃｌｕｓｉｖｅ  ＯＲ  ｇａｔｅ）として具現可能である。
【００５３】
データ変換装置３０Ａは、エラー訂正コード（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ、ＥＣＣ）ブロック３６を更に含む。
【００５４】
プログラム動作の間に、ＥＣＣブロック３６は、ランダマイズされたデータＲＤＡＴＡにＥＣＣパリティビットを付け加え、ＥＣＣパリティビットを含むランダマイズされたデータＥＲＤＡＴＡを生成する。また、リード動作の間に、ＥＣＣブロック３６は、ランダマイズされたデータＲＲＤＡＴＡ１とＥＣＣパリティビットとを受信し、ＥＣＣパリティビットを用いてランダマイズされたデータＲＲＤＡＴＡ１に含まれる少なくとも１つのエラーを訂正し、エラー訂正されたランダマイズされたデータＲＲＤＡＴＡ２をモジュロ演算器３４に出力する。
【００５５】
モジュロ演算器３４は、エラー訂正されたランダマイズされたデータＲＲＤＡＴＡ２から擬似乱数ＲＳをモジュロ減算して、データＤＡＴＡ２を生成する。
【００５６】
図５は、図１に示したメモリインターフェースのブロック図の他の例を示す。図５を参照すると、図１に示したメモリインターフェース３０の他の例として具現されたメモリインターフェース３０は、データ変換装置３０Ｂとして使用される。
【００５７】
第１モジュロ演算器３４−１と第２モジュロ演算器３４−２は、１つの擬似乱数生成器３２を共有する。
【００５８】
プログラム動作の間に、第１レベル、例えばハイレベルを有するプログラムイネーブル信号ＷＥによってイネーブルされた第１モジュロ演算器３４−１は、擬似乱数ＲＳを用いてデータＤＡＴＡ１をランダマイズされたデータＲＤＡＴＡにランダマイズする。リード動作の間に、第１レベルを有するリードイネーブル信号ＲＥによってイネーブルされた第２モジュロ演算器３４−２は、ランダマイズされたデータＲＲＤＡＴＡ２を、擬似乱数ＲＳを用いてデータＤＡＴＡ２にデランダマイズする。
【００５９】
プログラムイネーブル信号ＷＥが、第２レベル、例えばローレベルから第１レベルに変更される時点と、リードイネーブル信号ＲＥが、第２レベルから第１レベルに変更される時点とを適切に調節することにより、プログラム動作とリード動作は、互いに異なる時点又は同時に行われる。
【００６０】
第１モジュロ演算器３４−１はモジュロ加算を行い、第２モジュロ演算器３４−２はモジュロ減算を行う。一実施例として、擬似乱数ＲＳが２進シーケンスである場合、これらの各モジュロ演算器（３４−１、３４−２）は、排他論理和ゲートとして具現可能である。データ変換装置３０Ｂは、ＥＣＣブロック３６を更に含む。
【００６１】
図６は、ページ別に割り当てられたシードテーブルの一例を示す。図６は、説明の便宜上、それぞれが４枚のページのそれぞれに割り当てられた４つのシードテーブルＳＴ１〜ＳＴ４を示しており、４つのシードテーブルＳＴ１〜ＳＴ４のそれぞれは、複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍ、ＥＮＴＲＹ２１〜ＥＮＴＲＹ２ｌ、ＥＮＴＲＹ３１〜ＥＮＴＲＹ３ｋ、及びＥＮＴＲＹ４１〜ＥＮＴＲＹ４ｐを含む。ここで、ｍ、ｌ、ｋ、及びｐは、自然数である。
【００６２】
複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍ、ＥＮＴＲＹ２１〜ＥＮＴＲＹ２ｌ、ＥＮＴＲＹ３１〜ＥＮＴＲＹ３ｋ、及びＥＮＴＲＹ４１〜ＥＮＴＲＹ４ｐのそれぞれは、図４又は図５に示した擬似乱数生成器３２で使われるシード値（これを、‘シード’と称する）を含む。
【００６３】
図６では、説明の便宜上、各エントリーポインターＥＮＴＲＹ＿ＰＮＴ１〜ＥＮＴＲＹ＿ＰＮＴ４が、各シードテーブルＳＴ１〜ＳＴ４の最初のエントリーＥＮＴＲＹ１１、ＥＮＴＲＹ２１、ＥＮＴＲＹ３１、及びＥＮＴＲＹ４１をデフォルトに指定することを示す。しかし、各エントリーポインターＥＮＴＲＹ＿ＰＮＴ１〜ＥＮＴＲＹ＿ＰＮＴ４は、図１のマイクロプロセッサ２２の制御によって、複数のエントリーのうちの何れか１つのエントリーを指定できるように設定し得る。
【００６４】
例えば、ホストＨＯＳＴから第１データをプログラムせよとの要請が入力されると、マイクロプロセッサ２２は、この要請に応答して、第１データを第１ページ４２−１にプログラムするために、第１アドレス、例えば、第１ページアドレス又は第１ページ４２−１に相応する第１ワードラインアドレスを生成し、生成された第１アドレスの少なくとも一部のビットを用いて、複数のシードテーブルＳＴ１〜ＳＴ４のうちから第１シードテーブルＳＴ１を選択する。
【００６５】
そして、マイクロプロセッサ２２は、第１シードテーブルＳＴ１に含まれる複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍのうちから現在エントリーポインターＥＮＴＲＹ＿ＰＮＴ１が指定するエントリーＥＮＴＲＹ１１を、第１データをプログラムするためのシードとして選択し、エントリーポインターＥＮＴＲＹ＿ＰＮＴ１を次のエントリーＥＮＴＲＹ１２を指定するためにインクリメントする。
【００６６】
ホストＨＯＳＴから第２データ、第３データ、又は第４データをプログラムせよとの要請が入力されると、マイクロプロセッサ２２は、上述したような方法でそれぞれのシードテーブルＳＴ２、ＳＴ３、又はＳＴ４でそれぞれの現在エントリーポインターＥＮＴＲＹ＿ＰＮＴ２、ＥＮＴＲＹ＿ＰＮＴ３、又はＥＮＴＲＹ＿ＰＮＴ４が指定するそれぞれのエントリーＥＮＴＲＹ２１、ＥＮＴＲＹ３１、又はＥＮＴＲＹ４１を第１データ、第２データ、又は第３データをプログラムするためのそれぞれのシードとして選択し、それぞれの現在エントリーポインターＥＮＴＲＹ＿ＰＮＴ２、ＥＮＴＲＹ＿ＰＮＴ３、又はＥＮＴＲＹ＿ＰＮＴ４をインクリメントする。
【００６７】
メモリコントローラ２０がリセットされると、プログラム動作によってインクリメントされたそれぞれのエントリーポインターは、それぞれのデフォルト値ＥＮＴＲＹ１１、ＥＮＴＲＹ２１、ＥＮＴＲＹ３１、及びＥＮＴＲＹ４１にリセットされる。
【００６８】
例えば、シードテーブルＳＴ１〜ＳＴ４が４つである場合、Ｔ（Ｔは、自然数）番目のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第１シードテーブルＳＴ１に含まれる複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍのうちの何れか１つが選択され、（Ｔ＋１）番目のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第２シードテーブルＳＴ２に含まれる複数のエントリーＥＮＴＲＹ２１〜ＥＮＴＲＹ２ｌのうちの何れか１つが選択され、（Ｔ＋２）番目のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第３シードテーブルＳＴ３に含まれる複数のエントリーＥＮＴＲＹ３１〜ＥＮＴＲＹ３ｋのうちの何れか１つが選択され、（Ｔ＋３）番目のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第４シードテーブルＳＴ４に含まれる複数のエントリーＥＮＴＲＹ４１〜ＥＮＴＲＹ４ｐのうちの何れか１つが選択される。
【００６９】
例えば、最初のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第１シードテーブルＳＴ１に含まれる複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍのうちから第１エントリーＥＮＴＲＹ１１が選択され、５番目のワードラインに接続された複数のメモリセルにページデータをプログラムするためのシードとして、第１シードテーブルＳＴ１に含まれる複数のエントリーＥＮＴＲＹ１１〜ＥＮＴＲＹ１ｍのうちから第２エントリーＥＮＴＲＹ１２が選択され得る。
【００７０】
図７は、ページ別に割り当てられたシードテーブルの他の例を示す。図７に示したように、１本のワードラインに接続された複数の３ビットＭＬＣのそれぞれが互いに影響を与える場合、ページ別にそれぞれ異なるシードテーブルＳＴ１１、ＳＴ１２、又はＳＴ１３が使われる。複数のシードテーブルＳＴ１１〜ＳＴ１３のそれぞれは、ページアドレスの少なくとも一部のビットを用いて選択される。
【００７１】
例えば、ＬＳＢページに、ＬＳＢデータをプログラムする際、マイクロプロセッサ２２は、ＬＳＢシードテーブルＳＴ１１に含まれる複数のエントリーＥＮＴＲＹＬ０１、ＥＮＴＲＹＬ０２、ＥＮＴＲＹＬ０３，…のうちから現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＬが指定するエントリーＥＮＴＲＹＬ０１を選択した後、現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＬをインクリメントする。
【００７２】
ＣＳＢページに、ＣＳＢデータをプログラムする際、マイクロプロセッサ２２は、ＣＳＢシードテーブルＳＴ１２に含まれる複数のエントリーＥＮＴＲＹＣ０１、ＥＮＴＲＹＣ０２、ＥＮＴＲＹＣ０３、…のうちから現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＣが指定するエントリーＥＮＴＲＹＣ０１を選択した後、現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＣをインクリメントする。
【００７３】
ＭＳＢページに、ＭＳＢデータをプログラムする際、マイクロプロセッサ２２は、ＭＳＢシードテーブルＳＴ１３に含まれる複数のエントリーＥＮＴＲＹＭ０１、ＥＮＴＲＹＭ０２、ＥＮＴＲＹＭ０３、…のうちから現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＭが指定するエントリーＥＮＴＲＹＭ０１を選択した後、現在エントリーポインターＥＮＴＲＹ＿ＰＮＴＭをインクリメントする。
【００７４】
各エントリーポインターＥＮＴＲＹ＿ＰＮＴＬ、ＥＮＴＲＹ＿ＰＮＴＣ、及びＥＮＴＲＹ＿ＰＮＴＭを如何に、及び／又はどれほどインクリメントするかは、マイクロプロセッサ２２によって決定される。
【００７５】
メモリコントローラ２０がリセットされると、プログラム動作によってインクリメントされたそれぞれのエントリーポインターＥＮＴＲＹ＿ＰＮＴＬ、ＥＮＴＲＹ＿ＰＮＴＣ、及びＥＮＴＲＹ＿ＰＮＴＭは、それぞれのデフォルト値ＥＮＴＲＹＬ０１、ＥＮＴＲＹＣ０１、及びＥＮＴＲＹＣ０１にリセットされる。
【００７６】
図８は、ページ別に割り当てられたゾーンを含む１つのシードテーブルを示し、図９は、図８に示した１つのゾーンに含まれるエントリーを示す。
【００７７】
図８及び図９を参照すると、１つのシードテーブルＳＴ２１は、複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５を含み、複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のそれぞれは、複数のエントリーを含む。図８及び図９は、説明の便宜上、１６個のゾーンＺＯＮＥ０〜ＺＯＮＥ１５を含む１つのシードテーブルＳＴ２１を示しているが、これは例示的なものに過ぎない。１６個のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のそれぞれは、ページアドレスＰＡＤＤの下位ビットＰＡＤＤ［３：０］によって選択され、１６個のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のそれぞれに含まれる複数のエントリーのうちの何れか１つのエントリーは、現在エントリーポインターによって指定される。
【００７８】
例えば、５つのエントリーＥＮＴＲＹ＿Ｚ１１〜ＥＮＴＲＹ＿Ｚ１５を含む第１ゾーンＺＯＮＥ０は、ページアドレスの下位ビットＰＡＤＤ［３：０］＝００００によって選択され、エントリーＥＮＴＲＹ＿Ｚ１１は、エントリーポインターＥＮＴＲＹ＿ＰＮＴＺ０によって選択される。エントリーＥＮＴＲＹ＿Ｚ１１が選択された後、エントリーポインターＥＮＴＲＹ＿ＰＮＴＺ０は、次のエントリーＥＮＴＲＹ＿Ｚ１２を指定するためにインクリメントされる。即ち、プログラム動作によってエントリーが選択された後、エントリーポインターＥＮＴＲＹ＿ＰＮＴＺ０は、次のエントリーを指定するためにインクリメントされる。メモリコントローラ２０がリセットされる度に、エントリーポインターＥＮＴＲＹ＿ＰＮＴＺ０は、デフォルト値、例えば、ＥＮＴＲＹ＿Ｚ１１に初期化される。
【００７９】
上述したように、１つのシードテーブルＳＴ２１は、不揮発性メモリ装置４０のメモリセルアレイ１４０に保存されるか、又はメモリコントローラ２０のＲＯＭ２６に保存されて、マイクロプロセッサ２２の制御によってバッファ２４にローディングされるか、又はマイクロプロセッサ２２によって参照（ｒｅｆｅｒｅｎｃｅ）される。
【００８０】
図１０は、図１に示した不揮発性メモリ装置の２次元的な構造のメモリセルアレイを含むブロック図の一例を示す。図１及び図１０を参照すると、不揮発性メモリ装置４０、例えば、ＮＡＮＤフラッシュメモリ装置は、データを保存するためのメモリセルアレイ１４０、コントロールロジック４３、電圧発生器４４、ローデコーダ４５、ページバッファブロック４６、カラムデコーダ４７、Ｙ−ゲーティング回路４８、及び入出力ブロック４９を含む。
【００８１】
メモリセルアレイ１４０は、複数のＮＡＮＤメモリセルストリング（ｓｔｒｉｎｇｓ）を含む。複数のＮＡＮＤメモリセルストリングのそれぞれは、直列に接続された複数のＮＡＮＤメモリセル４１を含む。例えば、第１ＮＡＮＤメモリセルストリングは、ビットラインＢＬ１に接続された第１選択トランジスタ（又は、ストリング選択トランジスタ（ｓｔｒｉｎｇ  ｓｅｌｅｃｔｉｏｎ  ｔｒａｎｓｉｓｔｏｒ））と共通ソースライン（Ｃｏｍｍｏｎ  Ｓｏｕｒｃｅ  Ｌｉｎｅ、ＣＳＬ）に接続された第２選択トランジスタ（又は、接地選択トランジスタ（ｇｒｏｕｎｄ  ｓｅｌｅｃｔｉｏｎ  ｔｒａｎｓｉｓｔｏｒ））との間に直列に接続された複数のＮＡＮＤメモリセル４１を含む。
【００８２】
第１選択トランジスタのゲートは、ストリング選択ライン（Ｓｔｒｉｎｇ  Ｓｅｌｅｃｔｉｏｎ  Ｌｉｎｅ、ＳＳＬ）に接続され、複数のＮＡＮＤメモリセル４１のそれぞれのゲートは、複数のワードラインＷＬ０〜ＷＬ６３のそれぞれに接続され、第２選択トランジスタのゲートは、接地選択ライン（Ｇｒｏｕｎｄ  Ｓｅｌｅｃｔｉｏｎ  Ｌｉｎｅ、ＧＳＬ）に接続される。上述したように、メモリセルのそれぞれがＳＬＣである場合、各ワードライン（例えば、ＷＬ０〜ＷＬ３）は、各ページＰＡＧＥ０〜ＰＡＧＥ３を定義する。
【００８３】
図１０は、６４本のワードラインＷＬ０〜ＷＬ６３を含むメモリセルアレイ１４０を示しているが、ワードラインの個数に限定されるものではない。
【００８４】
図１１は、図１に示した不揮発性メモリ装置の３次元的な構造のメモリセルアレイの一例を示す。図１及び図１１に示したように、各ＮＡＮＤメモリセルストリング４０′−１、４０′−２、…、４０′−ｔ（ｔは、自然数）は、３次元的にそれぞれ異なる平面に配置される。図１１に示したように、第１ＮＡＮＤメモリセルストリング４０′−１は、第１レイヤ４１−１に配され、第２ＮＡＮＤメモリセルストリング４０′−２は、第１レイヤ４１−１と互いに異なる第２レイヤ４１−２に配され、第ｔ  ＮＡＮＤメモリセルストリング４０′−ｔは、第２レイヤ４１−２とそれぞれ異なるレイヤ４１−ｋに３次元的に配置される。
【００８５】
複数のレイヤ４１−１〜４１−ｔは、ウェーハ積層（ｗａｆｅｒ  ｓｔａｃｋ）、チップ積層、又はセル（ｃｅｌｌ）積層を通じて形成される。複数のレイヤ４１−１〜４１−ｔは、ＴＳＶを含む電気垂直素子（ｅｌｅｃｔｒｉｃａｌ  ｖｅｒｔｉｃａｌ  ｅｌｅｍｅｎｔ）、ポンプ（ｂｕｍｐ）、又はワイヤボンディング（ｗｉｒｅ  ｂｏｎｄｉｎｇ）を通じて接続される。複数のレイヤ４１−１〜４１−ｔのそれぞれは、複数のセルストリングを含む。
【００８６】
図１１に示したように、各ＮＡＮＤメモリセルストリング４０′−１、４０′−２、…、４０′−ｔは、複数のワードラインＷＬ０〜ＷＬ６３、ＣＳＬ、及びビットラインＢＬ１を共有する。
【００８７】
本明細書で使用するメモリセルアレイ１４０、１４０′は、図１０に示した２次元メモリセルアレイ１４０と図１１に示した３次元メモリセルアレイ１４０′とを総括的に意味する。
【００８８】
図１０を再び参照すると、回路、ロジック、コード、又はこれらの組合せで具現可能なコントロールロジック４３は、ＮＡＮＤフラッシュメモリ装置１４０のデータ処理動作、例えば、プログラム動作、リード動作、及びイレーズ動作を制御する。例えば、コントロールロジック４３は、メモリコントローラ２０から出力された複数の制御信号によって、データ処理動作を行うために、各構成要素４４〜４９の動作を制御する。
【００８９】
電圧発生器４４は、プログラム動作を行うために必要なプログラム電圧を含む複数の電圧、リード動作を行うために必要なリード電圧を含む複数の電圧、又はイレーズ動作を行うために必要なイレーズ電圧を含む複数の電圧を発生する。電圧発生器４４は、それぞれの動作に必要な複数の電圧をローデコーダに出力する。
【００９０】
ローデコーダ４５は、コントロールロジック４３から出力されたローアドレスによって、電圧発生器４４から出力された複数の電圧を複数のワードラインＷＬ０〜ＷＬ６３に供給する。カラムデコーダ４７は、コントロールロジック４３の制御下でカラムアドレスをデコーディングして、複数の選択信号をＹ−ゲーティング回路４８に出力する。
【００９１】
ページバッファブロック４６は、複数のページバッファを含む。複数のページバッファのそれぞれは、複数のビットラインＢＬ１〜ＢＬｘ（ｘは、自然数）のそれぞれに接続される。複数のページバッファのそれぞれは、コントロールロジック４３の制御によるプログラム動作の間、メモリセルアレイ１４０にデータをプログラムするためのドライバーとして作動する。また、複数のページバッファのそれぞれは、コントロールロジック４３の制御によるリード動作の間、又は検証（ｖｅｒｉｆｙ）動作の間、複数のビットラインＢＬ１〜ＢＬｘのそれぞれの電圧レベルを感知増幅する感知増幅器として作動する。
【００９２】
Ｙ−ゲーティング回路４８は、カラムデコーダ４７から出力された複数の選択信号に応答して、ページバッファブロック４６と入出力ブロック４９との間でデータＤＡＴＡの伝送を制御する。入出力ブロック４９は、メモリコントローラ２０から入力されたデータＤＡＴＡをＹ−ゲーティング回路４８に伝送するか、又はＹ−ゲーティング回路４８から出力されたデータＤＡＴＡを複数の入出力ピン又はデータバスを通じてメモリコントローラ２０に伝送する。
【００９３】
図１２は、ページ別に割り当てられたシードテーブルを用いる図１に示したメモリシステムの動作を説明するフローチャートであり、図１３は、１つのシードテーブルに含まれる複数のゾーンを用いる図１に示したメモリシステムの動作を説明するフローチャートである。
【００９４】
図１〜図１３を参照して、複数のシードグループのうちから現在プログラムされるページに対するシードグループに含まれるシードを選択するメモリコントローラ２０の動作を説明すると、次の通りである。
【００９５】
図６及び図７に示したように、複数のシードグループのそれぞれは、それぞれ異なるシードテーブルＳＴ１〜ＳＴ４又はＳＴ１１〜ＳＴ１３に保存されるか、或いは図８に示したように、１つのシードテーブルＳＴ２１に保存される。
【００９６】
メモリコントローラ２０は、パワーアップされる（ステップＳ１１０）。この際、以前プログラム動作によってインクリメントされたエントリーポインターＥＮＴＲＹ＿ＰＮＴ１、ＥＮＴＲＹ＿ＰＮＴ２、ＥＮＴＲＹ＿ＰＮＴ３、ＥＮＴＲＹ＿ＰＮＴ４、ＥＮＴＲＹ＿ＰＮＴＬ、ＥＮＴＲＹ＿ＰＮＴＣ、ＥＮＴＲＹ＿ＰＮＴＭ、又はＥＮＴＲＹ＿ＰＮＴＺ０は、デフォルト値ＥＮＴＲＹ１１、ＥＮＴＲＹ２１、ＥＮＴＲＹ３１、ＥＮＴＲＹ４１、ＥＮＴＲＹＬ０１、ＥＮＴＲＹＣ０１、ＥＮＴＲＹＭ０１、又はＥＮＴＲＹ＿Ｚ１１に初期化される。
【００９７】
メモリコントローラ２０は、ホストＨＯＳＴから出力されたデータとプログラム要求とを受信する。一実施例において、複数のシードテーブルＳＴ１〜ＳＴ４、ＳＴ１１〜ＳＴ１３は、パワーアップ動作の間にバッファ２４にローディングされるか、又はプログラム動作の間にリアルタイムでバッファ２４にローディングされる（ステップＳ１２０）。他の実施例において、１つのシードテーブルＳＴ２１は、パワーアップ動作の間にバッファ２４にローディングされるか、又はプログラム動作の間にリアルタイムでバッファ２４にローディングされる（ステップＳ２２０）。
【００９８】
プログラム要求によって、データを不揮発性メモリ装置４０にプログラムするために、マイクロプロセッサ２２は、データが保存されるページに対するページアドレス又はワードラインアドレスを生成する。
【００９９】
一実施例において、マイクロプロセッサ２２は、ページアドレスの少なくとも一部のビット又はワードラインアドレスの少なくとも一部のビットを用いて、複数のシードテーブルＳＴ１〜ＳＴ４のうちの何れか１つを選択し、選択されたシードテーブルに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーをシードＳＥＥＤとして選択し、エントリーポインターをインクリメントする（ステップＳ１３０）。
【０１００】
他の実施例において、マイクロプロセッサ２２は、ページアドレスの少なくとも一部のビット又はワードラインアドレスの少なくとも一部のビットを用いて、１つのシードテーブルＳＴ２１に含まれる複数のゾーンＺＯＮＥ０〜ＺＯＮＥ１５のうちの何れか１つのゾーンを選択し、選択されたゾーンに含まれる複数のエントリーのうちからエントリーポインターによって指定されたエントリーをシードＳＥＥＤとして選択し、エントリーポインターをインクリメントする（ステップＳ２３０）。
【０１０１】
擬似乱数生成器３２は、マイクロプロセッサ２２によって選択されたシードＳＥＥＤを用いて擬似乱数ＲＳを生成する（ステップＳ１４０）。モジュロ演算器３４は、擬似乱数ＲＳと入力データＤＡＴＡ１とをモジュロ加算し、その結果として、ランダマイズされたデータＲＤＡＴＡを生成する。即ち、モジュロ演算器３４は、擬似乱数ＲＳを用いて入力データＤＡＴＡ１をランダマイズする（ステップＳ１５０）。
【０１０２】
ＥＣＣブロック３６は、ランダマイズされたデータＲＤＡＴＡを用いてパリティビットを生成し（ステップＳ１６０）、パリティビットを含むランダマイズされたデータＥＲＤＡＴＡを不揮発性メモリ装置４０に出力する（ステップＳ１７０）。例えば、マイクロプロセッサ２２は、ホストＨＯＳＴから出力されたデータ又は自ら生成したメタデータ（ｍｅｔａｄａｔａ）を不揮発性メモリ装置４０にプログラムするために必要なアドレスを生成する。
【０１０３】
図１４は、図１に示したメモリシステムを含む電子装置の一実施例を示す。図１、図２、図７、及び図１４を参照すると、電子装置（ｅｌｅｃｔｒｏｎｉｃ  ｄｅｖｉｃｅ）１００は、携帯電話（ｃｅｌｌｕｌａｒ／ｍｏｂｉｌｅ  ｐｈｏｎｅ）、スマートフォン（ｓｍａｒｔ  ｐｈｏｎｅ）、タブレットＰＣ（ｔａｂｌｅｔ  Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、ビデオゲームコンソール（ｖｉｄｅｏ  ｇａｍｅ  ｃｏｎｓｏｌｅ）、又は携帯用（ｈａｎｄｈｅｌｄ）通信装置として具現可能である。
【０１０４】
電子装置１００は、メモリコントローラ２０と不揮発性メモリ装置４０とを含む。メモリコントローラ２０は、プロセッサ１１０の制御によって不揮発性メモリ装置４０のデータ処理動作、例えばプログラム動作、イレーズ動作、又はリード動作を制御する。
【０１０５】
プログラム要求によって、メモリコントローラ２０は、ページ別に割り当てられたシードテーブルに含まれるシード、又はページ別に割り当てられたゾーンに含まれるシードを用いて擬似乱数ＲＳを生成し、擬似乱数ＲＳを用いてデータＤＡＴＡ１をランダマイズし、ランダマイズされたデータＲＤＡＴＡを出力する。従って、不揮発性メモリ装置４０は、ランダマイズされたデータを現在プログラムされるページにプログラムすることができる。
【０１０６】
不揮発性メモリ装置４０にプログラムされたデータは、プロセッサ１１０及び／又はメモリコントローラ２０の制御によってディスプレイ１２０を通じてディスプレイされる。ディスプレイ１２０は、ＴＦＴ−ＬＣＤ（Ｔｈｉｎ  Ｆｉｌｍ  Ｔｒａｎｓｉｓｔｏｒ−Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＬＥＤ（Ｌｉｇｈｔ−Ｅｍｉｔｔｉｎｇ  Ｄｉｏｄｅ）ディスプレイ、ＯＬＥＤ（Ｏｒｇａｎｉｃ  ＬＥＤ）ディスプレイ、又はＡＭＯＬＥＤ（Ａｃｔｉｖｅ  Ｍａｔｒｉｘ  ＯＬＥＤ）ディスプレイのような平板ディスプレイ（Ｆｌａｔ  Ｐａｎｅｌ  Ｄｉｓｐｌａｙ）として具現可能である。
【０１０７】
無線送受信器１３０は、アンテナＡＮＴを通じて無線信号を送受信する。例えば、無線送受信器１３０は、アンテナＡＮＴを通じて受信した無線信号をプロセッサ１１０で処理される信号に変更する。従って、プロセッサ１１０は、無線送受信器１３０から出力された信号を処理し、処理された信号をメモリコントローラ２０又はディスプレイ１２０に伝送する。本実施例によるメモリコントローラ２０は、プロセッサ１１０によって処理された信号を不揮発性メモリ装置４０にプログラムする。また、無線送受信器１３０は、プロセッサ１１０から出力された信号を無線信号に変更し、変更された無線信号を、アンテナＡＮＴを通じて外部装置に出力する。
【０１０８】
入力装置１３４は、プロセッサ１１０の動作を制御するための制御信号又はプロセッサ１１０によって処理されるデータを入力する装置であり、タッチパッド（ｔｏｕｃｈ  ｐａｄ）とコンピュータマウス（ｃｏｍｐｕｔｅｒ  ｍｏｕｓｅ）のようなポインティング装置（ｐｏｉｎｔｉｎｇ  ｄｅｖｉｃｅ）、キーパッド（ｋｅｙｐａｄ）、又はキーボードとして具現可能である。
【０１０９】
プロセッサ１１０は、メモリコントローラ２０から出力されたデータ、無線送受信器１３０から出力されたデータ、又は入力装置１４０から出力されたデータが、ディスプレイ１２０を通じてディスプレイされるように、ディスプレイ１２０の動作を制御する。一実施例として、不揮発性メモリ装置４０の動作を制御するメモリコントローラ２０は、プロセッサ１１０の一部として具現され、またプロセッサ１１０と別途のチップとして具現可能である。
【０１１０】
図１５は、図１に示したメモリシステムを含む電子装置の他の実施例を示す。図１５に示した電子装置２００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ラップトップ（ｌａｐｔｏｐ）コンピュータ、ネットブック（ｎｅｔ−ｂｏｏｋ）、イーリーダー（ｅ−ｒｅａｄｅｒ）、ＰＭＰ（Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ）、ＭＰ３プレーヤー、又はＭＰ４プレーヤーとして具現可能である。
【０１１１】
電子装置２００は、不揮発性メモリ装置４０と、不揮発性メモリ装置４０のデータ処理動作を制御するメモリコントローラ２０と、を含む。
【０１１２】
プロセッサ２１０は、入力装置２２０を通じて入力されたデータによって不揮発性メモリ装置４０に保存されたデータを、ディスプレイ２３０を通じてディスプレイする。例えば、入力装置２２０は、タッチパッド又はコンピュータマウスのようなポインティング装置、キーパッド、又はキーボードとして具現可能である。また、入力装置２２０は、他の装置とデータをインターフェーシングするインターフェースであり得る。プロセッサ２１０は、電子装置２００の全般的な動作を制御し、メモリコントローラ２０の動作を制御する。
【０１１３】
一実施例として、不揮発性メモリ装置４０の動作を制御することができるメモリコントローラ２０は、プロセッサ２１０の一部として具現され、またプロセッサ２１０と別途のチップとして具現可能である。
【０１１４】
図１６は、図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。図１６では、説明の便宜上、電子装置３００とホスト３３０とを共に示す。図１６に示した電子装置３００は、メモリカード（ｍｅｍｏｒｙ  ｃａｒｄ）又はスマートカード（ｓｍａｒｔ  ｃａｒｄ）として具現可能である。デジタル情報を保存するために使われる電子フラッシュメモリデータ保存装置であるメモリカードは、ＰＣカード、ＭＭＣ、ｅ−ＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭＭＣ）、ＳＤカード、又はＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュドライブ（ｆｌａｓｈ  ｄｒｉｖｅ）を含む。
【０１１５】
メモリカードのような電子装置３００は、メモリコントローラ２０、不揮発性メモリ装置４０、カードインターフェース３２０を含む。メモリコントローラ２０は、不揮発性メモリ装置４０とカードインターフェース３２０との間でデータの交換を制御する。
【０１１６】
一実施例として、カードインターフェース３２０は、ＳＤカードインターフェース又はＭＭＣインターフェースであり得るが、これに限定されるものではない。
【０１１７】
カードインターフェース３２０は、ホスト３３０のプロトコルによってホスト３３０とメモリコントローラ２０との間でデータ交換をインターフェーシングする。一実施例として、カードインターフェース３２０は、ＵＳＢプロトコル、ＩＣ（ＩｎｔｅｒＣｈｉｐ）−ＵＳＢプロトコルを支援することができる。ここで、カードインターフェースとは、ホスト３３０が使うプロトコルを支援するハードウェア、ハードウェアに搭載されたソフトウェア、又は信号伝送方式を意味する。
【０１１８】
電子装置３００が、ＰＣ、ラップトップコンピュータ、タブレット（ｔａｂｌｅｔ）ＰＣ、デジタルカメラ（ｄｉｇｉｔａｌ  ｃａｍｅｒａ）、デジタルオーディオプレーヤー（ｄｉｇｉｔａｌ  ａｕｄｉｏ  ｐｌａｙｅｒ）、携帯電話、ビデオゲームコンソール、ＭＰ３プレーヤー、ＰＭＰ、イーブック、又はデジタルセットトップボックス（ｄｉｇｉｔａｌｓｅｔ−ｔｏｐｎ  ｂｏｘ）のようなホスト３３０のホストインターフェース３５０に接続されると、ホストインターフェース３５０は、マイクロプロセッサ３４０の制御によってカードインターフェース３２０とメモリコントローラ２０とを通じて不揮発性メモリ装置４０とデータ通信を行う。
【０１１９】
図１７は、図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。図１７に示した電子装置４００は、イメージ処理装置、例えば、デジタルカメラ、デジタルカメラ付き携帯電話、デジタルカメラ付きスマートフォン、又はデジタルカメラ付きタブレットＰＣとして具現可能である。
【０１２０】
電子装置４００は、不揮発性メモリ装置４０と、不揮発性メモリ装置４０のデータ処理動作、例えばプログラム動作、イレーズ動作、又はリード動作を制御するメモリコントローラ２０とを含む。電子装置４００のイメージセンサー４２０は、光学イメージをデジタルイメージ信号に変換し、変換されたデジタルイメージ信号は、プロセッサ４１０及び／又はメモリコントローラ２０に伝送される。プロセッサ４１０の制御によって、変換されたデジタルイメージ信号は、ディスプレイ４３０を通じてディスプレイされるか、又はメモリコントローラ２０を通じて不揮発性メモリ装置４０に保存される。
【０１２１】
また、不揮発性メモリ装置４０に保存されたデータは、プロセッサ４１０及び／又はメモリコントローラ２０の制御によってディスプレイ４３０を通じてディスプレイされる。
【０１２２】
一実施例として、不揮発性メモリ装置４０の動作を制御するメモリコントローラ２０は、プロセッサ４１０の一部として具現され、またプロセッサ４１０と別個のチップとして具現可能である。
【０１２３】
図１８は、図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。図１８を参照すると、電子装置５００は、不揮発性メモリ装置４０と、不揮発性メモリ装置４０の動作を制御するメモリコントローラ２０とを含む。
【０１２４】
電子装置５００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５１０の動作メモリ（ｏｐｅｒａｔｉｏｎ  ｍｅｍｏｒｙ）として使われるメモリ装置５５０を含む。メモリ装置５５０は、ＲＯＭのような不揮発性メモリとして具現され、ＳＲＡＭのような不揮発性メモリとして具現可能である。
【０１２５】
電子装置５００に接続されたホストＨＯＳＴは、メモリコントローラ２０とホストインターフェース５４０とを通じて不揮発性メモリ装置４０とデータ通信を行う。
【０１２６】
ＣＰＵ５１０の制御によって、ＥＣＣブロック５３０は、メモリコントローラ２０を通じて不揮発性メモリ装置４０から出力されたデータに含まれるエラービットを検出し、エラービットを訂正し、エラー訂正されたデータを、ホストインターフェース５４０を通じてホストＨＯＳＴに伝送する。一実施例として、ＥＣＣブロック５３０は、電子装置５００に含まれないこともある。
【０１２７】
ＣＰＵ５１０は、バス５０１を通じて、メモリコントローラ２０、ＥＣＣブロック５３０、ホストインターフェース５４０、及びメモリ装置５５０の間でデータ通信を制御する。
【０１２８】
電子装置５００は、フラッシュメモリドライブ、ＵＳＢメモリドライブ、ＩＣ−ＵＳＢメモリドライブ、又はメモリスティック（ｍｅｍｏｒｙ  ｓｔｉｃｋ）として具現可能である。
【０１２９】
図１９は、図１に示したメモリシステムを含む電子装置の更に他の実施例を示す。図１９を参照すると、電子装置６００は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）のようなデータ処理装置として具現可能である。
【０１３０】
電子装置６００は、複数のソリッドステートメモリ装置４０、メモリコントローラ２０、揮発性メモリ装置６３０、及びバッファマネージャー６２０を含む。メモリコントローラ２０は、複数のソリッドステートメモリ装置４０のそれぞれのデータ処理動作を制御する。複数のソリッドステートメモリ装置４０のそれぞれは、図１及び図１０に示した不揮発性メモリ装置、例えば、ＮＡＮＤフラッシュメモリ装置であり、複数のページを含む。メモリコントローラ２０は、ランダマイズされたデータを複数のソリッドステートメモリ装置４０のうちの１つに含まれるページにプログラムする。
【０１３１】
揮発性メモリ装置６３０は、ＤＲＡＭとして具現され、メモリコントローラ２０とホスト６４０との間で送受信するデータを一時的に保存する。バッファマネージャー６２０は、揮発性メモリ装置６３０及び／又はメモリコントローラ２０のデータバッファリング動作を制御する。
【０１３２】
図２０は、図１９に示した電子装置を含むデータ処理システムのブロック図を示す。図１９及び図２０を参照すると、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）システムとして具現可能なデータ処理装置７００は、ＲＡＩＤコントローラ７１０と複数の電子装置６００−１〜６００−ｎ（ｎは、自然数）とを含む。
【０１３３】
電子装置６００−１〜６００−ｎのそれぞれは、図１９に示した電子装置６００である。複数の電子装置６００−１〜６００−ｎは、ＲＡＩＤアレイを構成する。データ処理装置７００は、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ＮＡＳ（Ｎｅｔｗｏｒｋ−Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、又はＳＳＤとして具現可能である。電子装置６００−１〜６００−ｎのそれぞれは、メモリモジュール（ｍｅｍｏｒｙ  ｍｏｄｕｌｅ）形態で具現されたメモリシステムであり得る。
【０１３４】
プログラム動作の間、ホストＨＯＳＴから出力されたプログラム要求によって、ＲＡＩＤコントローラ７１０は、ホストＨＯＳＴから出力されたデータをＲＡＩＤレベルに基づいて、複数の電子装置６００−１〜６００−ｎのうちの少なくとも何れか１つの電子装置に出力する。リード動作の間、ＲＡＩＤコントローラ７１０は、ホストＨＯＳＴから出力されたリード命令によって複数の電子装置６００−１〜６００−ｎのうちの少なくとも何れか１つの電子装置から読み取られたデータをホストＨＯＳＴに伝送する。
【０１３５】
以上、本発明の実施形態について図面を参照しながら詳細に説明したが、本発明は、上述の実施形態に限定されるものではなく、本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
【符号の説明】
【０１３６】
１０    メモリシステム
１１、１３    マルチチップパッケージ
１１−１、１３−１    回路基板
１１−２、１１−４、１３−２、１３−３    ボンディングワイヤ
１１−３、１３−４    ソルダボール
２０    メモリコントローラ
２２、３４０    マイクロプロセッサ
２４    バッファ
２６    ＲＯＭ
２８、５０１    バス
２９、３５０、５４０    ホストインターフェース
３０    メモリインターフェース
３０Ａ、３０Ｂ    データ変換装置
３２    擬似乱数生成器
３４    モジュロ演算器
３４−１    第１モジュロ演算器
３４−２    第２モジュロ演算器
３６、５３０    ＥＣＣ（エラー訂正コード）ブロック
４０    不揮発性メモリ装置
４２−１〜Ｎ    第１〜第Ｎページ
４３    コントロールロジック
４４    電圧発生器
４５    ローデコーダ
４６    ページバッファブロック
４７    カラムデコーダ
４８    Ｙ−ゲーティング回路
４９    入出力ブロック
１００、２００、４００、５００、６００、６００−１〜ｎ    電子装置
１１０、２１０、４１０    プロセッサ
１２０、２３０、４３０    ディスプレイ
１３０    無線送受信器
１３４、２２０    入出力装置
１４０    メモリセルアレイ
３００    メモリカード
３２０    カードインターフェース
３３０、６４０    ホスト
４２０    イメージセンサー
５１０    ＣＰＵ
５５０    メモリ装置
６２０    バッファマネージャー
６３０    揮発性メモリ装置（ＤＲＡＭ）
７００    データ処理装置
７１０    ＲＡＩＤコントローラ
【図１】
2013020620.tif 000003
【図２】
2013020620.tif 000004
【図３】
2013020620.tif 000005
【図４】
2013020620.tif 000006
【図５】
2013020620.tif 000007
【図６】
2013020620.tif 000008
【図７】
2013020620.tif 000009
【図８】
2013020620.tif 000010
【図９】
2013020620.tif 000011
【図１０】
2013020620.tif 000012
【図１１】
2013020620.tif 000013
【図１２】
2013020620.tif 000014
【図１３】
2013020620.tif 000015
【図１４】
2013020620.tif 000016
【図１５】
2013020620.tif 000017
【図１６】
2013020620.tif 000018
【図１７】
2013020620.tif 000019
【図１８】
2013020620.tif 000020
【図１９】
2013020620.tif 000021
【図２０】
2013020620.tif 000022