(57)【要約】【課題】メモリセルアレイを有する不揮発性メモリ装置と、バッファメモリを有し、前記不揮発性メモリ装置を制御するメモリ制御器とを含むデータ格納装置の動作方法を提供する。【解決手段】データ格納装置の動作方法は、外部の要請によって入力されたデータを前記バッファメモリに格納し、前記バッファメモリに格納されたデータが前記メモリセルアレイに対するバッファプログラム動作を伴うデータであるか否かを判別し、前記バッファメモリに格納されたデータがバッファプログラム動作を伴うデータである時、前記メモリセルアレイに対するメインプログラム動作が要求されるか否かを判別し、前記メモリセルアレイに対するメインプログラム動作が要求される時、前記メモリセルアレイに対するメインプログラム動作のパターンを決め、前記決められたパターンに基づいて前記メモリセルアレイに対するメインプログラム動作のための一連の命令を前記マルチビットメモリ装置に出力することを含む。【選択図】図２３
2011187154.tif 000002
【特許請求の範囲】
【請求項１】
メモリセルアレイを有する不揮発性メモリ装置と、そしてバッファメモリを有し、前記不揮発性メモリ装置を制御するメモリ制御器を含むデータ格納装置の動作方法において、
外部要請によって入力されたデータを前記バッファメモリに格納し、
前記バッファメモリに格納されたデータが前記メモリセルアレイに対するバッファプログラム動作を伴うデータであるか否かを判別し、
前記バッファメモリに格納されたデータがバッファプログラム動作を伴うデータである時、前記メモリセルアレイに対するメインプログラム動作が要求されるか否かを判別し、
前記メモリセルアレイに対するメインプログラム動作が要求される時、前記メモリセルアレイに対するメインプログラム動作のパターンを決め、
前記決められたパターンに基づいて前記メモリセルアレイに対するメインプログラム動作のための一連の命令を前記マルチビットメモリ装置に出力することを含むことを特徴とするデータ格納装置の動作方法。
【請求項２】
前記メモリセルアレイは第１及び第２領域として定義され、前記第１領域は前記バッファプログラム動作を通じてプログラムされ、前記第２領域は前記メインプログラム動作を通じてプログラムされることを特徴とする請求項１に記載のデータ格納装置の動作方法。
【請求項３】
前記メインプログラム動作のためのパターンは前記バッファプログラム動作を伴うデータのアドレス情報に基づいて決められることを特徴とする請求項２に記載のデータ格納装置の動作方法。
【請求項４】
前記メインプログラム動作は１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作のうちの少なくとも１つを含むことを特徴とする請求項３に記載のデータ格納装置の動作方法。
【請求項５】
前記メインプログラム動作が要求される時、前記マルチビットメモリ装置に出力される前記一連の命令は前記第１領域に対する単一ビット読み出し命令、ダンプ命令、及び前記第２領域に対するマルチビットプログラム命令を含むことを特徴とする請求項４に記載のデータ格納装置の動作方法。
【請求項６】
前記不揮発性メモリ装置はページバッファを含み、前記ページバッファの各々は複数のラッチを有し、前記ラッチのうちの１つは前記第１領域に格納される、または前記第１領域から読み出されたデータの格納に用いられ、前記１つのラッチに格納されたデータは前記第２領域に対するプログラム動作の間前記ダンプ命令によって前記ラッチのうちの残りのラッチのうちで選択されたラッチにダンプされることを特徴とする請求項５に記載のデータ格納装置の動作方法。
【請求項７】
前記第２領域に対するプログラム動作のための前記一連の命令を前記マルチビットメモリ装置に出力する前に、そして前記第２領域に対するマルチビットプログラム命令前に、モード転換命令を前記マルチビットメモリ装置に出力することをさらに含むことを特徴とする請求項６に記載のデータ格納装置の動作方法。
【請求項８】
前記バッファプログラム動作のためのデータは前記メインプログラム動作が要求されるか否かを判別する前に前記第１領域に伝送されることを特徴とする請求項２に記載のデータ格納装置の動作方法。
【請求項９】
前記バッファプログラム動作のためのデータは前記メインプログラム動作のための一連の命令が前記決められたパターンに基づいて前記マルチビットメモリ装置に出力される間前記第１領域に伝送されることを特徴とする請求項２に記載のデータ格納装置の動作方法。
【請求項１０】
前記第１領域は単一ビットプログラム動作を通じてプログラムされ、前記第２領域はマルチビットプログラム動作を通じてプログラムされることを特徴とする請求項２に記載のデータ格納装置の動作方法。
【請求項１１】
第１領域と第２領域とを有するメモリセルアレイを含む不揮発性メモリ装置と、
バッファメモリを有し、前記不揮発性メモリ装置を制御するように構成されたメモリ制御器とを含み、
前記第１領域に対する最小プログラム単位のデータが前記バッファメモリに格納されれば、前記メモリ制御器は前記バッファメモリに格納されたデータが前記第１領域に格納されるように前記不揮発性メモリ装置を制御することを特徴とするデータ格納システム。
【請求項１２】
前記メモリ制御器は前記第２領域に対する最小プログラム単位のデータが前記第１領域に集められるか否かを判別するように構成されることを特徴とする請求項１１に記載のデータ格納システム。
【請求項１３】
前記第２領域に対する最小プログラム単位のデータが前記第１領域に集められたと判別されれば、前記第２領域に対する最小プログラム単位のデータは前記メモリ制御器の制御によって前記第２領域に格納されることを特徴とする請求項１２に記載のデータ格納システム。
【請求項１４】
前記第１領域は単一ビットデータが格納されるメモリセルで構成され、前記第２領域はマルチビットデータが格納されるメモリセルで構成されることを特徴とする請求項１３に記載のデータ格納システム。
【請求項１５】
前記第１領域に対する最小プログラム単位は一ページで構成され、前記第２領域に対する最小プログラム単位はセル当たりビット数によって１つまたはそれより多いページで構成されることを特徴とする請求項１２に記載のデータ格納システム。
【請求項１６】
前記第２領域は１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作を含む再プログラム方式によってプログラムされることを特徴とする請求項１２に記載のデータ格納システム。
【請求項１７】
読み出し要請の時、前記メモリ制御器は読み出し要請されたデータが前記精巧なプログラム動作が完了したワードラインと係わっているか否かを判別するように構成されることを特徴とする請求項１６に記載のデータ格納システム。
【請求項１８】
前記読み出し要請されたデータが前記精巧なプログラム動作が完了したワードラインと係わると判別されれば、前記メモリ制御器は前記読み出し要請されたデータが前記第２領域から読み出されるように前記不揮発性メモリ装置を制御することを特徴とする請求項１７に記載のデータ格納システム。
【請求項１９】
前記読み出し要請されたデータが前記精巧なプログラム動作が完了しないワードラインと係わると判別されれば、前記メモリ制御器は前記読み出し要請されたデータが前記第１領域から読み出されるように前記不揮発性メモリ装置を制御することを特徴とする請求項１７に記載のデータ格納システム。
【請求項２０】
前記第２領域の選択されたワードラインに対する前記１ステッププログラム動作は単一ビット読み出し動作を通じて前記第１領域から前記選択されたワードラインと係わる第１ページ及び第２ページを連続して読み出し、前記第１ページと前記第２ページに基づいて前記第２領域の選択されたワードラインに属したメモリセルに対するマルチビットプログラム動作を実行することによって行われることを特徴とする請求項１６に記載のデータ格納システム。
【請求項２１】
前記第２領域の選択されたワードラインに対する前記あらい及び精巧なプログラム動作の各々は単一ビット読み出し動作を通じて前記第１領域から前記選択されたワードラインと係わる前記第１ページ、前記第２ページ、第３ページ、及び第４ページを連続して読み出し、前記第１ページ、前記第２ページ、前記第３ページ、及び前記第４ページに基づいて前記第２領域の選択されたワードラインに属したメモリセルに対するマルチビットプログラム動作を実行することによって行われることを特徴とする請求項２０に記載のデータ格納システム。
【請求項２２】
前記第２領域の選択されたワードラインに対する前記あらい及び精巧なプログラム動作の各々は単一ビット読み出し動作を通じて前記第１領域から前記選択されたワードラインと係わる前記第１ページ、前記第２ページ、及び前記第３ページを連続して読み出し、前記第１ページ、前記第２ページ、及び前記第３ページに基づいて前記第２領域の選択されたワードラインに属したメモリセルに対するマルチビットプログラム動作を実行することによって行われることを特徴とする請求項１６に記載のデータ格納システム。
【請求項２３】
前記第１領域の単一ビットプログラム動作と前記第２領域の前記１ステッププログラム動作、前記あらいプログラム動作、及び前記精巧なプログラム動作は複数のプログラムパターンを構成し、前記メモリ制御器は前記各プログラムパターンに属した一連の動作のための命令セットを前記不揮発性メモリ装置に提供し、前記不揮発性メモリ装置は前記メモリ制御器の介入なく前記命令セットに基づいて前記各プログラムパターンに属した一連の動作を実行することを特徴とする請求項２２に記載のデータ格納システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はストレージに関し、さらに具体的にはデータ格納システムに関する。
【背景技術】
【０００２】
半導体メモリは、一般的に、衛星から消費者用電子技術までの範囲に属するマイクロプロセッサに基づいた応用及びコンピュータのようなデジタルロジック設計の最も必須なマイクロ電子素子である。したがって、高い集積度及び速い速度のための縮小(ｓｃａｌｉｎｇ)を通じて得られるプロセス向上及び技術開発を含んだ半導体メモリの製造技術の進歩は他のデジタルロジック系列の性能基準の確立に役立つ。
【０００３】
半導体メモリ装置は大きく揮発性半導体メモリ装置と不揮発性半導体メモリ装置に分けられる。揮発性半導体メモリ装置において、ロジック情報はスタティックランダムアクセスメモリの場合、双安定フリップフロップのロジック状態を設定することによって、またはダイナミックランダムアクセスメモリの場合、キャパシタの充電を通じて格納される。揮発性半導体メモリ装置の場合、電源が印加される間にデータが格納されて読み出され、電源が遮断されれば、データは消失する。
【０００４】
ＭＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＰＲＡＭなどのような不揮発性半導体メモリ装置は電源が遮断されてもデータを格納することができる。不揮発性メモリデータ格納状態は用いられる製造技術によって永久的または再プログラム可能である。不揮発性半導体メモリ装置はコンピュータ、航空電子工学、通信、及び消費者用電子技術産業のような広い範囲の応用でプログラム及びマイクロコードの格納のために用いられる。単一チップで揮発性及び不揮発性メモリ格納モードの組合せが速く、再プログラム可能な不揮発性メモリを要求するシステムの不揮発性ＲＡＭ(ｎｖＲＡＭ)のような装置でも使用可能である。さらに、応用志向業務のための性能を最適化させるためにいくつかの追加的なロジック回路を含む特定メモリ構造が開発されている。
【０００５】
不揮発性半導体メモリ装置において、ＭＲＯＭ、ＰＲＯＭ及びＥＰＲＯＭはシステム自体的に消去及び書き込みが自由ではなくて、一般使用者が記憶内容を新しくすることが容易ではない。これに反して、ＥＥＰＲＯＭ、ＰＲＡＭなどのような不揮発性半導体メモリ装置は電気的に消去及び書き込みが可能であるので、継続的な更新が必要なシステムプログラミング(ｓｙｓｔｅｍ  ｐｒｏｇｒａｍｍｉｎｇ)や補助記憶装置への応用が拡がっている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国公開特許第２００８−００２３７４７号
【特許文献２】米国公開特許第２００８−００８４７２９号
【特許文献３】米国特許第７５２９１２４号
【特許文献４】米国特許第６８５８９０６号
【特許文献５】米国公開特許第２００４−０１６９２３８号
【特許文献６】米国公開特許第２００６−０１８０８５１号
【特許文献７】韓国特許第６７３０２０号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、メモリ制御器のバッファの大きさを最小化することができるデータ格納システム及びそれの動作方法を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一特徴はメモリセルアレイを有する不揮発性メモリ装置と、バッファメモリを有し、前記不揮発性メモリ装置を制御するメモリ制御器を含むデータ格納装置の動作方法を提供することにあり、データ格納装置の動作方法は、外部の要請によって入力されたデータを前記バッファメモリに格納し、前記バッファメモリに格納されたデータが前記メモリセルアレイに対するバッファプログラム動作を伴うデータであるか否かを判別し、前記バッファメモリに格納されたデータがバッファプログラム動作を伴うデータである時、前記メモリセルアレイに対するメインプログラム動作が要求されるか否かを判別し、前記メモリセルアレイに対するメインプログラム動作が要求される時、前記メモリセルアレイに対するメインプログラム動作のパターンを決め、前記決められたパターンに基づいて前記メモリセルアレイに対するメインプログラム動作のための一連の命令を前記マルチビットメモリ装置に出力することを含む。
【０００９】
本発明の他の特徴は、第１領域と第２領域とを有するメモリセルアレイを含む不揮発性メモリ装置と、バッファメモリを有し、前記不揮発性メモリ装置を制御するように構成されたメモリ制御器とを含み、前記第１領域に対する最小プログラム単位のデータが前記バッファメモリに格納されれば、前記メモリ制御器は前記バッファメモリに格納されたデータが前記第１領域に格納されるように前記不揮発性メモリ装置を制御するデータ格納システムを提供することにある。
【発明の効果】
【００１０】
本発明の例示的な実施形態によれば、メモリ制御器のバッファの大きさを最小化することが可能である。
【図面の簡単な説明】
【００１１】
【図１Ａ】本発明の例示的な実施形態に係るマルチレベルメモリ装置に適用されるアドレススクランブル方式の一例を示す図である。
【図１Ｂ】各メモリセルが４ビットデータを格納し、３ステッププログラム方式によってプログラム動作が実行される時に変わる閾値電圧分布を示す図である。
【図１Ｃ】各メモリセルが３ビットデータを格納し、３ステッププログラム方式によってプログラム動作が実行される時に変わる閾値電圧分布を示す図である。
【図２】本発明の例示的な実施形態に係るデータ格納システムを概略的に示すブロック図である。
【図３】セル当たり４ビットデータが格納され、３ステップ再プログラム方法が適用されるマルチビットメモリ装置の例示的なアドレススクランブル方式を示す図である。
【図４】図２に示したデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。
【図５】図４で説明した一連の単一ビットプログラム動作と１ステッププログラム動作によるデータ流れを概略的に示す図である。
【図６】図４で説明した一連の単一ビットプログラム動作とあらい／精巧なプログラム動作によるデータ流れを概略的に示す図である。
【図７】図４で説明した一連の単一ビットプログラム動作、あらいプログラム動作、及び精巧なプログラム動作によるデータ流れを概略的に示す図である。
【図８】図２に示したメモリシステムの読み出し動作を説明するためのフローチャートである。
【図９】セル当たり３ビットデータが格納され、３ステップ再プログラム方法が適用されるマルチビットメモリ装置の例示的なアドレススクランブル方式を示す図である。
【図１０】図２に示したデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。
【図１１】本発明の例示的な実施形態に係るページインターリーブ方式を概略的に説明するための図である。
【図１２】図１１で説明したページインターリーブ方式が適用されたデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。
【図１３】セル当たり３ビットデータが格納され、再プログラム方法が適用されるマルチビットメモリ装置の他の例示的なアドレススクランブル方式を示す図である。
【図１４】図１３に示したアドレススクランブル方式によって行われるプログラム動作の間のデータの流れを概略的に示す図である。
【図１５】本発明の例示的な実施形態に係るマルチビットメモリ装置のページバッファ構造を概略的に示す図である。
【図１６】図１３及び図１４で説明した１ステッププログラム動作のための命令シーケンスを示す図である。
【図１７】図１６に示した１ステッププログラム命令シーケンスによるデータ流れを示す図である。
【図１８】図１３及び図１４で説明したあらいプログラム動作のための命令シーケンスを示す図である。
【図１９】図１８に示したあらいプログラム命令シーケンスによるデータ流れを示す図である。
【図２０】図１１で説明したページインターリーブ方式と図１３で説明したアドレススクランブル方式が適用されたデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。
【図２１】セル当たり４ビットデータが格納され、再プログラム方法が適用されるマルチビットメモリ装置の他の例示的なアドレススクランブル方式を示す図である。
【図２２Ａ】本発明の例示的な実施形態に係るマルチビットメモリ装置の第１及び第２領域に対する多様な組合せを説明するための図である。
【図２２Ｂ】本発明の例示的な実施形態に係るマルチビットメモリ装置の第１及び第２領域に対する多様な組合せを説明するための図である。
【図２２Ｃ】本発明の例示的な実施形態に係るマルチビットメモリ装置の第１及び第２領域に対する多様な組合せを説明するための図である。
【図２２Ｄ】本発明の例示的な実施形態に係るマルチビットメモリ装置の第１及び第２領域に対する多様な組合せを説明するための図である。
【図２３】本発明の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。
【図２４】本発明の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。
【図２５】本発明の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。
【図２６】全体ビットラインメモリ構造または奇遇メモリ構造のためにメモリセルアレイをメモリブロックで構成する例を示す図である。
【図２７】本発明の例示的な実施形態に係るコンピューティングシステムを概略的に示すブロック図である。
【図２８】本発明の例示的な実施形態に係るメモリ制御器を概略的に示すブロック図である。
【図２９】本発明の例示的な実施形態に係る半導体ドライブを概略的に示すブロック図である。
【図３０】図２９に示した半導体ドライブを利用したストレージを概略的に示すブロック図である。
【図３１】図２９に示した半導体ドライブを利用したストレージサーバを概略的に示すブロック図である。
【図３２】本発明の例示的な実施形態に係るデータ格納装置が適用されるシステムを概略的に示す図である。
【図３３】本発明の例示的な実施形態に係るデータ格納装置が適用されるシステムを概略的に示す図である。
【図３４】本発明の例示的な実施形態に係るデータ格納装置が適用されるシステムを概略的に示す図である。
【図３５】本発明の実施形態に係るメモリカードを概略的に示すブロック図である。
【図３６】本発明の実施形態に係るデジタルスチールカメラを概略的に示すブロック図である。
【図３７】図３５のメモリカードが用いられる多様なシステムを説明する例示図である。
【発明を実施するための形態】
【００１２】
以上の本発明の目的、他の目的、特徴及び利点は添付の図面と係わる以下の望ましい実施形態を通じて容易に理解することができる。しかし、本発明はここで説明する実施形態に限定されず、他の形態への具体化も可能である。さらに、ここで紹介する実施形態は開示された内容が徹底且つ完全になれるように、そして当業者に本発明の思想を十分に伝達するように提供されるものである。
【００１３】
図面において、本発明の実施形態は示した特定形態に制限されず、明確性のために誇張されたものである。また明細書の全体にかけて同一の参照番号は同一の構成要素を示す。
【００１４】
本明細書で使われた用語「及び／または」は、これと関連して記載された項目のうち、１つまたはそれ以上の任意の組合わせまたはあらゆる組合わせを含み、“／”として縮約して記載されることもある。また、「連結」または「結合」されていると記載された場合、前記ある要素は、前記他の要素に直接連結または結合されるか、それらの間に第３の要素が介在されうる。本明細書で、単数として使われた用語は、それについての単数であることを示す明白な背景に関する言及がない限り、複数も含むものである。 本明細書で使われる「包含する」という用語は、言及された構成要素、段階、動作及び素子が１つまたはそれ以上の他の構成要素、段階、動作及び素子の存在または付加を除外するものではない。
【００１５】
各メモリセルに格納されるデータビットの数が増加することによって、マルチビット(または、マルチレベル)データを格納するメモリ装置(以下、マルチレベルメモリ装置という)の信頼性の確保が難しくなっている。信頼性を低下させる代表的な要因の１つは隣接するメモリセルの間のカップリングによる閾値電圧の変化である。例えば、以前にプログラムされたメモリセルの閾値電圧はプログラムされたメモリセルに隣接したメモリセルがプログラムされる時に発生するカップリングによって変わることができる。そのようなカップリングを効率的に管理するためにマルチレベルメモリ装置に適用されるアドレススクランブル方式の一例が図１Ａに示されている。
【００１６】
１つのメモリセルに４ビットデータが格納されるという仮定下でアドレススクランブル方式を説明する。図示の便宜上、図１Ａにはただ４個のワードラインＷＬ０〜ＷＬ３が示されている。ワードラインＷＬ０〜ＷＬ３の各々には複数のメモリセルＭＣが接続されている。先ず、下位２ビットデータが１番目のワードラインＷＬ０に接続されたメモリセルの各々に格納される１ステッププログラム動作が実行される。すなわち、１ステッププログラム動作の間、１番目のワードラインＷＬ０に接続されたメモリセルには２つのページデータが格納される。これは図１Ａで〔1〕として表記している。次に、２番目のワードラインＷＬ１に接続されたメモリセルについて１ステッププログラム動作が実行される。これは図１Ａで〔2〕として表記している。２番目のワードラインＷＬ１に対する１ステッププログラム動作が実行された後、２番目のワードラインＷＬ１の下に位置し、下位２ビットデータがプログラムされた１番目のワードラインＷＬ０に接続されたメモリセルに上位２ビットデータが格納されるあらいプログラム動作(ｃｏａｒｓｅ  ｐｒｏｇｒａｍ  ｏｐｅｒａｔｉｏｎ)(または、２番目のステッププログラム（２−ｓｔｅｐ  ｐｒｏｇｒａｍｍｉｎｇ)と呼ばれる)が実行される。これは図１Ａで〔3〕として表記している。１番目のワードラインＷＬ０に接続されたメモリセルに対してあらいプログラム動作が実行された後、３番目のワードラインＷＬ２に対する１ステッププログラム動作が実行され、これは図１Ａで〔4〕として表記している。３番目のワードラインＷＬ２に対する１ステッププログラム動作の以後、下位２ビットデータがプログラムされた２番目のワードラインＷＬ１に接続されたメモリセルに上位２ビットデータが格納されるあらいプログラム動作が実行される。これは図１Ａで〔5〕として表記している。その後、１番目のワードラインＷＬ０に対する精巧なプログラム動作(ｆｉｎｅ  ｐｒｏｇｒａｍ  ｏｐｅｒａｔｉｏｎ)が実行される。これは図１Ａで〔6〕として表記している。以後、１ステップ、あらい、及び精巧なプログラム動作が上述のプログラム手順(図１Ａ参照)によって順次に実行される。図１Ａで説明したプログラム手順によってワードラインが選択される方式をアドレススクランブル方式と称する。
【００１７】
１ステッププログラム動作とあらいプログラム動作が完了すれば、Ｍビットデータ(Ｍは２またはそれより大きい整数)に対応する閾値電圧分布(例えば、２Ｍ個の閾値電圧分布)が全部形成される。たとえあらいプログラム動作が完了することによって、すべての閾値電圧分布が形成されても、閾値電圧分布の間のマージンは閾値電圧分布を明確に区分するに十分ではない。閾値電圧分布を明確に区分するに十分なマージンを確保するために精巧なプログラム動作が実行される。精巧なプログラム動作は各閾値電圧分布の幅を狭めるために行われ、あらいプログラム動作で用いられる閾値電圧分布の検証電圧より所定電圧だけ各々高い検証電圧を用いて行われる。このようなプログラム方式を通じて隣接したメモリセルの間のカップリングを減らすのが可能になる。このようなプログラム方法／アルゴリズムを再プログラム方法／アルゴリズム(ｒｅｐｒｏｇｒａｍ  ｍｅｔｈｏｄ／ａｌｇｏｒｉｔｈｍ)と称する。
【００１８】
例示的な実施形態において、４ビットデータのための再プログラム方法すなわち、１ステッププログラミング、あらいプログラミング、及び精巧なプログラミングが２ビットデータ及び３ビットデータの再プログラム方法にも全部適用されることはよく理解することができるであろう。
【００１９】
このような再プログラム方法によれば、任意のワードラインに対する精巧なプログラム動作が終了するまで任意のワードラインのメモリセルに格納されたデータを保持する必要がある。例えば、１ステッププログラム動作はメモリ制御器からマルチビットメモリ装置に提供されるデータに基づいて行われ、あらいプログラム動作は１ステッププログラム動作を通じて格納されたデータとメモリ制御器から提供されるデータに基づいて行われる。精巧なプログラム動作は１ステッププログラム動作とあらいプログラム動作を通じて格納されたデータに基づいて行われる。しかし、上述のように、１ステッププログラム動作とあらいプログラム動作を通じて格納されたデータを正確に読み出すことは難しい。これは精巧なプログラム動作に必要なデータはメモリ制御器からマルチビットメモリ装置に提供されなければならないことを意味する。このような理由によって、任意のワードラインに対する精巧なプログラム動作が終了するまで任意のワードラインのメモリセルに格納されたデータがメモリ制御器によって保持される。これは精巧なプログラム動作に必要なデータを保持するための大容量のバッファメモリがメモリ制御器に提供されることを意味する。
【００２０】
図１Ｂは、各メモリセルが４ビットデータを格納し、３ステッププログラム方式によってプログラム動作が実行される時に変わる閾値電圧分布を示す図である。以下、３ステッププログラム方式によるプログラム方法を参照図面に基づいて説明する。
【００２１】
先ず、選択されたワードライン(例えば、ＷＬ０、図１Ａ参照)のメモリセルには２ページデータ(すなわち、第１及び第２ページデータ)が格納される。この時、図１Ｂのボックス２１に示したように、消去状態Ｅに対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｑ１、Ｑ２、Ｑ３に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。
【００２２】
上述のように、ワードライン(例えば、ＷＬ０)に属した１ステッププログラムされたメモリセルのあらいプログラム動作は隣接したワードライン(例えば、ＷＬ１)に属したメモリセルの１ステッププログラム動作の以後に行われる。この時、図１Ｂのボックス２２に示したように、ワードライン(例えば、ＷＬ０)に属した１ステッププログラムされたメモリセルの散布は隣接したワードライン(例えば、ＷＬ１)に属したメモリセルがプログラムされる時に発生するカップリングによって広くなる。
【００２３】
次に、選択されたワードラインＷＬ０のメモリセルには２ページデータすなわち、第３及び第４ページデータが格納される。この時、図１Ｂのボックス２３に示したように、各状態に対応する閾値電圧分布に属したメモリセルは対応する閾値電圧散布に属した閾値電圧を有するようにプログラムされる。例えば、消去状態Ｅに対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ１’〜Ｐ３’に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ１に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ４’〜Ｐ７’に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ２に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ８’〜Ｐ１１’に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ３に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ１２’〜Ｐ１５’に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。
【００２４】
上述のように、ワードライン(例えば、ＷＬ０)に属したあらくプログラムされたメモリセルの精巧なプログラム動作は隣接したワードライン(例えば、ＷＬ２、ＷＬ１)に対する１ステッププログラム動作及びあらいプログラム動作の以後に行われる。この時、図１Ｂのボックス２４に示したように、ワードライン(例えば、ＷＬ０)に属したあらくプログラムされたメモリセルの散布が隣接したワードライン(例えば、ＷＬ２、ＷＬ１)に属したメモリセルがプログラムされる時にカップリングによって広くなる。このような理由によって、あらくプログラムされたメモリセルからデータを正確に読み出すことが難しい。
【００２５】
ワードラインＷＬ０に属したメモリセルが図１Ｂのボックス２５に示したような最終閾値電圧分布Ｐ１〜Ｐ１５を有するようにプログラムされる。このような動作は精巧なプログラム動作と呼ばれる。上述のように、精巧なプログラム動作は以前にプログラムされたデータ(例えば、第１〜第４ページデータ)を必要とし、これはワードラインＷＬ０に属したメモリセルから以前にプログラムされたデータを正確に読み出すことが難しいことから、メモリ制御器から提供されるデータ(または、メモリ装置によって保持されるデータ)に基づいて行われる。図１Ｂのボックス２６に示したように、精巧にプログラムされたメモリセルの散布も隣接したワードラインに属したメモリセルがプログラムされる時に発生するカップリングによって広くなることができる。
【００２６】
以後、各ワードラインに対する１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作が図１Ａで説明したプログラム手順によって行われ、これは図１Ｂで説明したことと同一の方式によって行われる。
【００２７】
図１Ｃは、各メモリセルが３ビットデータを格納し、３ステッププログラム方式によってプログラム動作が実行される時に変化する閾値電圧分布を示す図である。以下、３ステッププログラム方式によるプログラム方法を参照図面に基づいて説明する。
【００２８】
先ず、選択されたワードライン(例えば、ＷＬ０、図１Ａ参照)のメモリセルには２ページデータ(すなわち、第１及び第２ページデータ)が格納される。この時、図１Ｃのボックス３１に示したように、消去状態Ｅに対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｑ１、Ｑ２、Ｑ３に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。
【００２９】
上述のように、ワードライン(例えば、ＷＬ０)に属した１ステッププログラムされたメモリセルのあらいプログラム動作は隣接したワードライン(例えば、ＷＬ１)に属したメモリセルの１ステッププログラム動作の以後に行われる。この時、図１Ｃのボックス３１の実線として示したように、ワードライン（(例えば、ＷＬ０)に属した１ステッププログラムされたメモリセルの散布が隣接したワードライン(例えば、ＷＬ１)に属したメモリセルがプログラムされる時に発生するカップリングによって広くなる。
【００３０】
次に、選択されたワードラインＷＬ０のメモリセルには１ページデータが格納される。この時、図１Ｃのボックス３２に示したように、各状態に対応する閾値電圧分布に属したメモリセルは対応する閾値電圧散布に属した閾値電圧を有するようにプログラムされる。例えば、消去状態Ｅに対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ１に対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ１に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ２、Ｐ３に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ２に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ４、Ｐ５に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。プログラム状態Ｑ３に対応する閾値電圧分布に属したメモリセルはプログラムされるデータによってプログラム状態Ｐ６、Ｐ７に各々対応する閾値電圧分布に属した閾値電圧を有するようにプログラムされる。
【００３１】
上述のように、ワードライン(例えば、ＷＬ０)に属したあらくプログラムされたメモリセルの精巧なプログラム動作は隣接したワードライン(例えば、ＷＬ２、ＷＬ１)に対する１ステッププログラム動作及びあらいプログラム動作の以後に行われる。この時、図１Ｃのボックス３２の実線に示したように、ワードライン(例えば、ＷＬ)に属したあらくプログラムされたメモリセルの散布が隣接したワードライン(例えば、ＷＬ２、ＷＬ１)に属したメモリセルがプログラムされる時に発生するカップリングによって広くなる。このような理由によって、あらくプログラムされたメモリセルからデータを正確に読み出すことが難しい。
【００３２】
ワードラインＷＬ０に属したメモリセルが図１Ｃのボックス３３に示したように最終閾値電圧分布Ｐ１〜Ｐ７を有するようにプログラムされる。このような動作は精巧なプログラム動作と呼ばれる。上述のように、精巧なプログラム動作は以前にプログラムされたデータ(例えば、第１〜第３ページデータ)を必要し、これはワードラインＷＬ０に属したメモリセルから以前にプログラムされたデータを正確に読み出すことが難しいことから、メモリ制御器から提供されるデータ(または、メモリ装置によって保持されるデータ)に基づいて行われる。図１Ｃのボックス３３の実線に示したように、精巧にプログラムされたメモリセルも隣接したワードラインに属したメモリセルの散布はプログラムされる時に発生するカップリングによって広くなることができる。
【００３３】
以後、各ワードラインに対する１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作が図１Ａで説明したプログラム手順によって行われ、これは図１Ｃの説明と同一の方式によって行われる。
【００３４】
図２は、本発明の例示的な実施形態に係るデータ格納システムを概略的に示すブロック図である。
【００３５】
図２を参照すれば、データ格納システム１０００は、不揮発性メモリ装置としてマルチビットメモリ装置１００、メモリ制御器２００、ホスト３００を含む。マルチビットメモリ装置１００は１つまたはそれより多いメモリチップで構成することができる。マルチビットメモリ装置１００とメモリ制御器２００は、データ格納装置として、メモリカード、半導体ディスク(Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ:ＳＳＤ)、メモリスティック、またはそのようなものを構成する。マルチビットメモリ装置１００は複数のメモリブロック(セクタ／バンク)を含み、各メモリブロックは行と列に配列されたメモリセルを含む。メモリセルの各々はマルチビット(または、マルチレベル)データを格納する。メモリセルは２次元アレイ構造を有するように、または３次元／垂直アレイ構造を有するように配列される。例示的な３次元アレイ構造が特許文献１及び特許文献２に記載されている。
【００３６】
本発明の例示的な実施形態に係るマルチビットメモリ装置１００のメモリブロックは少なくとも第１領域１０１と第２領域１０２に区分されている。ここで、第１及び第２領域１０１、１０２の区分は物理的ではなく、論理的に行われることをよく理解することができるであろう。第１及び第２領域１０１、１０２の区分は論理的に可変可能である。第１領域１０１に属したメモリブロックは第２領域１０２に属したメモリブロックと異なる方式によってプログラムされる。例えば、第１領域１０１に属したメモリブロックは単一ビットプログラム方式(以下、ＳＬＣプログラム方式という)によってプログラムされ、第２領域１０２に属したメモリブロックはマルチビットプログラム方式(以下、ＭＬＣプログラム方式という)(例えば、上述のＮステップ再プログラム方式)によってプログラムされる。言い替えれば、第１領域１０１に属したメモリセルの各々は１ビットデータを格納し、第２領域１０２に属したメモリセルの各々はＭビットデータ(Ｍは３またはそれより大きい整数)を格納する。また、第１領域１０１に属したメモリセルの各々は第２領域１０２に属したメモリセルの各々に格納されるＭビットデータ(Ｍは３またはそれより大きい整数)より小さい数のデータビットを格納する。
【００３７】
続いて、図２を参照すれば、メモリ制御器２００はホスト３００の要請に応答してマルチビットメモリ装置１００を制御するように構成されている。メモリ制御器２００はバッファメモリ２０１を含んでいる。バッファメモリ２０１はホスト３００から伝送されたデータを一時格納し、且つマルチビットメモリ装置１００から読み出されたデータを一時格納するのに用いられる。メモリ制御器２００は静的スケジューリング方式(ｓｔａｔｉｃ  ｓｃｈｅｄｕｌｉｎｇ  ｍａｎｎｅｒ)でメモリ装置１００のプログラム動作を制御する。例えば、第１領域１０１に対する最小プログラム単位のデータがバッファメモリ２０１に格納されれば、メモリ制御器２００は最小プログラム単位のデータが第１領域１０１に格納されるようにマルチビットメモリ装置１００を制御する。これをバッファプログラム動作という。第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められれば、メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第２領域１０２に格納されるようにマルチビットメモリ装置１００を制御する。これをメインプログラム動作という。バッファプログラム動作とメインプログラム動作は以後詳細に説明する。
【００３８】
例示的な実施形態において、第１領域１０１に対する最小プログラム単位と第２領域１０２に対する最小プログラム単位はプログラム方式、セル当たりビット数などによって多様に決められる。第１領域１０１に対する最小プログラム単位は第２領域１０２に対する最小プログラム単位と異なる。
【００３９】
例示的な実施形態において、バッファプログラム動作を通じて第１領域１０１にデータを格納し、メインプログラム動作を通じて第２領域１０２にデータを格納することによって、メモリ制御器２００のバッファメモリ２０１の大きさを最小化させることができる。言い替えれば、バッファメモリ２０１に精巧なプログラム動作のためのデータを保持する必要がない。これによって、メモリ制御器２００のバッファメモリ２０１の大きさを最小化させることができる。
【００４０】
図３は、セル当たり４ビットデータが格納され、再プログラム方法が適用されるマルチビットメモリ装置の例示的なアドレススクランブル方式を示す図であり、図４は、図２に示したデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。以下、本発明の例示的な実施形態に係るデータ格納システムの動作を参照図面に基づいて詳細に説明する。
【００４１】
説明の便宜上、図３に示したように、各メモリブロックが６４個のワードラインＷＬ０〜ＷＬ６３を含み、各メモリセルが４ビットデータを格納すると仮定する。このような仮定によれば、各メモリブロックには２５６個のページが格納される。ここで、“ページ” とはページデータを示すのに用いられる。
【００４２】
先ず、ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ０が伝達されれば、バッファメモリ２０１に格納されたデータＤ０はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。上述のように、第１領域１０１にはＳＬＣプログラム動作を通じてデータＤ０がプログラムされる。メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かを判別し、判別結果によってメインプログラム動作を制御する。第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かはページアドレスに基づいて判別される。第１領域１０１にはただ一ページＤ０が格納されているので、メインプログラム動作は行われない。ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ１が伝達されれば、バッファメモリ２０１に格納されたデータＤ１はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。第２領域１０２に対する最小プログラム単位のデータ(例えば、１ステッププログラム動作に必要な２ページ)が第１領域１０１に集められるので、メモリ制御器２００は第１領域１０１に格納されたデータＤ０、Ｄ１が第２領域１０２に格納されるようにマルチビットメモリ装置１００を制御する。すなわち、第１領域１０１に格納されたデータＤ０、Ｄ１に基づいてワードラインＷＬ０に対する１ステッププログラム動作が実行される。
【００４３】
上述のように、バッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータが格納されれば、バッファメモリ２０１に格納されたデータはメモリ制御器２００の制御下にマルチビットメモリ装置１００の第１領域１０１にプログラムされる。第１領域１０１にはＳＬＣプログラム動作を通じてデータが格納される。ホスト３００からメモリ制御器２００に第１領域１０１に対する最小プログラム単位のデータＤｉ(ｉ＝０〜２５５が伝達されれば、図４に示したように、バッファメモリ２０１に格納されたデータはメモリ制御器２００の制御下にＳＬＣプログラム動作を通じて第１領域１０１にプログラムされる。第１領域１０１に対する最小プログラム単位のデータがバッファメモリ２０１に格納されたか否かの判別と共に、メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かを判別する。メモリ制御器２００は判別結果によって第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作を制御する。さらに具体的に説明すれば、次の通りである。
【００４４】
第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作は図３に示したアドレススクランブル手順によって決められる。例えば、第１領域１０１にデータＤ０、Ｄ１が格納された場合、第１領域１０１に格納されたデータＤ０、Ｄ１に基づいてワードラインＷＬ０に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ２、Ｄ３が格納された場合、ワードラインＷＬ１に対する１ステッププログラム動作が行われる。すなわち、第１領域１０１に格納されたデータＤ２、Ｄ３に基づいてワードラインＷＬ１に対する１ステッププログラム動作が行われる。
【００４５】
続いて、第１領域１０１にデータＤ４、Ｄ５が格納された場合、第１領域１０１に格納されたデータＤ０、Ｄ１、Ｄ４、Ｄ５に基づいてワードラインＷＬ０に対するあらいプログラム動作が行われる。第１領域１０１にデータＤ６、Ｄ７が格納された場合、第１領域１０１に格納されたデータＤ６、Ｄ７に基づいてワードラインＷＬ２に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ８、Ｄ９が格納された場合、第１領域１０１に格納されたデータＤ２、Ｄ３、Ｄ８、Ｄ９に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ８、Ｄ９に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ０、Ｄ１、Ｄ４、Ｄ５に基づいてワードラインＷＬ０に対する精巧なプログラム動作が行われる。以後、第１領域１０１にデータＤ２５４が格納される以前まで、残りのデータＤ１０〜Ｄ２５３はデータＤ６、Ｄ７の１ステッププログラム動作、データＤ８、Ｄ９のあらいプログラム動作、及びデータＤ０、Ｄ１、Ｄ４、Ｄ５の精巧なプログラム動作と同一の手順で第２領域１０２に格納される。
【００４６】
第１領域１０１にデータＤ２５４、Ｄ２５５が格納された場合、第１領域１０１に格納されたデータＤ２５４、Ｄ２５５に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ２５４、Ｄ２５５に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ２４６、Ｄ２４７、Ｄ２５２、Ｄ２５３に基づいてワードラインＷＬ６２に対する精巧なプログラム動作が行われる。最後に、第１領域１０１に格納されたデータＤ２５０、Ｄ２５１、Ｄ２５４、Ｄ２５５に基づいてワードラインＷＬ６３に対する精巧なプログラム動作が行われる。
【００４７】
図４から分かるように、第１領域１０１に格納されるデータ(すなわち、そのようなデータのページアドレス)によってＳＬＣプログラム動作、一連のＳＬＣ及び１ステッププログラム動作、一連のＳＬＣ及びあらいプログラム動作、一連のＳＬＣ、あらい、そして精巧なプログラム動作、一連のＳＬＣ、あらい、精巧な、そして精巧なプログラム動作を判別することができる。ＳＬＣプログラム動作、１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作は、例えば、対応する命令がメモリ制御器２００からマルチビットメモリ装置１００に提供される時に行われる。または、上述の一連の動作(例えば、ＳＬＣプログラム動作、一連のＳＬＣ及び１ステッププログラム動作、一連のＳＬＣ及びあらいプログラム動作、一連のＳＬＣ、あらい、そして精巧なプログラム動作、一連のＳＬＣ、あらい、精巧な、そして精巧なプログラム動作)で構成されたプログラムパターンを知らせる命令セットが一度マルチビットメモリ装置１００に提供され、マルチビットメモリ装置１００はそのような命令セットによって自動的に一連の動作を実行することができる。プログラムパターンに属した一連のプログラム動作はアドレススクランブル方式、セル当たりビット数などによって変更される。下の表１には図３及び図４で説明したプログラム動作に適用されるプログラムパターンが示されている。プログラムパターンを知らせる命令セットはまた読み出し及びプログラム動作に必要なアドレスを含む。
【００４８】
【表１】
2011187154.tif 000003
【００４９】
図５は、図４で説明した一連の単一ビットプログラム動作と１ステッププログラム動作によるデータ流れを概略的に示す図である。
【００５０】
図５を参照すれば、データＤ０がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ０は第１領域１０１に格納される。次に、データＤ１がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ１は第１領域１０１に格納される。第１領域１０１にデータＤ０、Ｄ１が格納されれば、すなわち、第２領域１０２に対する最小プログラム単位のデータ(例えば、２ページ)が第１領域１０１に集められれば、第１領域１０１からデータＤ０、Ｄ１がページバッファ１０３によって順次に読み出される。以後、ページバッファに格納されたデータＤ０、Ｄ１は１ステッププログラム動作によって第２領域１０２に格納される。第１領域１０１からページバッファ１０３へのデータ伝送はＳＬＣ読み出し動作によって行われる。一連の単一ビット／ＳＬＣ読み出し動作と１ステッププログラム動作はメモリ制御器２００の介入なくマルチビットメモリ装置１００内で自動的に行われる。他の例として、単一ビット／ＳＬＣ読み出し動作、１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作はメモリ制御器２００の制御によって行われる。図４に示した１ステッププログラム動作の各々は図５に示したことと実質的に同一に実行されるので、それに対する説明は省略する。
【００５１】
図６は、図４で説明した一連の単一ビットプログラム動作とあらい／精巧なプログラム動作によるデータ流れを概略的に示す図である。
【００５２】
図６を参照すれば、データＤ４がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ４は第１領域１０１に格納される。次に、データＤ５がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ５は第１領域１０１に格納される。第１領域１０１にデータＤ４、Ｄ５が格納されれば、すなわち、第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められれば、図６に示したように、第１領域１０１からデータＤ０、Ｄ１、Ｄ４、Ｄ５はＳＬＣ読み出し動作によってページバッファ１０３によって順次に読み出される。以後、ページバッファ１０３に格納されたデータＤ０、Ｄ１、Ｄ４、Ｄ５はあらいプログラム動作によって第２領域１０２に格納される。一連の単一ビット／ＳＬＣ読み出し動作とあらいプログラム動作はメモリ制御器２００の介入なくマルチビットメモリ装置１００内で自動的に行われる。他の例として、単一ビット／ＳＬＣ読み出し動作、１ステッププログラム動作、あらいプログラム動作、そして精巧なプログラム動作はメモリ制御器２００の制御によって行われる。図４に示したあらいプログラム動作の各々は図６に示したことと実質的に同一に実行されるので、それに対する説明は省略する。
【００５３】
精巧なプログラム動作もあらいプログラム動作と同一の方式で行われる。例えば、ワードラインＷＬ０に対する精巧なプログラム動作はＳＬＣ読み出し動作によって第１領域１０１からページバッファ１０３にデータＤ０、Ｄ１、Ｄ４、Ｄ５を順次に伝達し、ページバッファ１０３に格納されたデータＤ０、Ｄ１、Ｄ４、Ｄ５を第２領域１０２に格納することによって行われる。
【００５４】
図７は、図４で説明した一連の単一ビットプログラム動作、あらいプログラム動作、そして精巧なプログラム動作によるデータ流れを概略的に示す図である。
【００５５】
図７を参照すれば、データＤ８がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ８は第１領域１０１に格納される。次に、データＤ９がマルチビットメモリ装置１００のページバッファ１０３にロードされ、ページバッファ１０３にロードされたデータＤ９は第１領域１０１に格納される。第１領域１０１にデータＤ８、Ｄ９が格納されれば、すなわち、第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められれば、ワードラインＷＬ１に対するあらいプログラム動作が行われる。すなわち、第１領域１０１からデータＤ２、Ｄ３、Ｄ８、Ｄ９はＳＬＣ読み出し動作によってページバッファ１０３によって順次に読み出される。ページバッファ１０３に格納されたデータＤ２、Ｄ３、Ｄ８、Ｄ９はあらいプログラム動作によって第２領域１０２に格納される。ワードラインＷＬ１に対するあらいプログラム動作が実行された後、メモリ制御器２００の介入なくワードラインＷＬ０に対する精巧なプログラム動作が行われる。すなわち、第１領域１０１からデータＤ０、Ｄ１、Ｄ４、Ｄ５はＳＬＣ読み出し動作によってページバッファ１０３によって順次に読み出される。ページバッファ１０３に格納されたデータＤ０、Ｄ１、Ｄ４、Ｄ５は精巧なプログラム動作によって第２領域１０２に格納される。
【００５６】
図８は、図２に示したメモリシステムの読み出し動作を説明するためのフローチャートである。以下、本発明の例示的な実施形態に係るメモリシステムの読み出し動作を参照図面に基づいて詳細に説明する。
【００５７】
Ｓ１００段階で、外部(例えば、ホスト)から読み出し動作が要請される。Ｓ１１０段階で、メモリ制御器２００は読み出し要請が精巧なプログラム動作が完了したワードラインと係わるか否かを判別する。各ワードラインに対する精巧なプログラム動作が完了したか否かはアドレスマッピング情報に基づいて判別される。もし読み出し要請が精巧なプログラム動作が完了したワードラインと係わると判別されれば、Ｓ１２０段階で、メモリ制御器２００は第２領域１０２から要請されたデータが読み出されるようにマルチビットメモリ装置１００を制御する。第２領域１０２に対する読み出し動作はＭＬＣ読み出し動作である。第２領域１０２から読み出されたデータはメモリ制御器２００のバッファメモリ２０１に一時格納される。以後、手続きはＳ１４０段階に進行する。これに反して、もし読み出し要請が精巧なプログラム動作が完了しないワードラインと係わると判別されれば、Ｓ１３０段階で、メモリ制御器２００は第１領域１０１から要請されたデータが読み出されるようにマルチビットメモリ装置１００を制御する。第１領域１０１に対する読み出し動作はＳＬＣ読み出し動作である。第１領域１０１から読み出されたデータはメモリ制御器２００のバッファメモリ２０１に一時格納される。以後、手続きはＳ１４０段階に進行する。Ｓ１４０段階ではバッファメモリ２０１に格納されたデータがホスト３００に伝送される。
【００５８】
図９は、セル当たり３ビットデータが格納され、３ステップ再プログラム方法が適用されるマルチビットメモリ装置の例示的なアドレススクランブル方式を示す図であり、図１０は、図２に示したデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。以下、本発明の他の例示的な実施形態に係るデータ格納システムのプログラム動作を参照図面に基づいて詳細に説明する。
【００５９】
説明の便宜上、図９に示したように、各メモリブロックが６４個のワードラインＷＬ０〜ＷＬ６３を含み、各メモリセルが３ビットデータを格納すると仮定すれば、各メモリブロックには１９２個のページが格納される。
【００６０】
図３及び図４で説明したように、第１領域１０１に対する最小プログラム単位のデータＤｉ(ｉ＝０〜１９１)がメモリ制御器２００のバッファメモリ２０１に格納されれば、バッファメモリ２０１に格納されたデータＤｉはＳＬＣプログラム動作を通じてマルチビットメモリ装置１００の第１領域１０１にプログラムされる。また、メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かを判別する。判別結果によって第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作が実行される。第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作は図９に示したアドレススクランブル手順によって決められる。例えば、第１領域１０１にデータＤ０、Ｄ１が格納された場合、第１領域１０１に格納されたデータＤ０、Ｄ１に基づいてワードラインＷＬ０に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ２、Ｄ３が格納された場合、ワードラインＷＬ１に対する１ステッププログラム動作が行われる。すなわち、第１領域１０１に格納されたデータＤ２、Ｄ３に基づいてワードラインＷＬ１に対する１ステッププログラム動作が行われる。
【００６１】
続いて、第１領域１０１にデータＤ４が格納された場合、第１領域１０１に格納されたデータＤ０、Ｄ１、Ｄ４に基づいてワードラインＷＬ０に対するあらいプログラム動作が行われる。第１領域１０１にデータＤ５、Ｄ６が格納された場合、第１領域１０１に格納されたデータＤ５、Ｄ６に基づいてワードラインＷＬ２に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ７が格納された場合、第１領域１０１に格納されたデータＤ２、Ｄ３、Ｄ７に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ２、Ｄ３、Ｄ７に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ０、Ｄ１、Ｄ４に基づいてワードラインＷＬ０に対する精巧なプログラム動作が行われる。以後、第１領域１０１にデータＤ１９１が格納される以前まで、残りのデータＤ８〜Ｄ１９０はデータＤ５、６の１ステッププログラム動作、データＤ７のあらいプログラム動作、そしてデータＤ０、Ｄ１、Ｄ４の精巧なプログラム動作と同一の手順で第２領域１０２に格納される。
【００６２】
第１領域１０１にデータＤ１９１が格納された場合、第１領域１０１に格納されたデータＤ１８８、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ１８８、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ１８５、Ｄ１８６、Ｄ１９０に基づいてワードラインＷＬ６２に対する精巧なプログラム動作が行われる。最後に、第１領域１０１に格納されたデータＤ１８８、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対する精巧なプログラム動作が行われる。
【００６３】
たとえ各メモリセルに３ビットデータが格納されても、マルチビットメモリ装置１００からデータを読み出す方法は図８で説明したことと実質的に同一に行われる。したがって、それに対する説明は省略する。
【００６４】
図４で説明したように、図１０で説明したプログラム動作もプログラムパターンを含む。そのようなプログラムパターンはＳＬＣプログラム動作、一連のＳＬＣ及び１ステッププログラム動作、一連のＳＬＣ及びあらいプログラム動作、一連のＳＬＣ、あらい、そして精巧なプログラム動作、一連のＳＬＣ、あらい、精巧な、そして精巧なプログラム動作を含む。各プログラム動作はメモリ制御器２００からマルチビットメモリ装置１００に命令が伝達される度に行われることもあり、上述の命令セットを利用して各プログラムパターンに属した一連のプログラム動作がマルチビットメモリ装置１００によって自動的に行われることもある。
【００６５】
図１１は、本発明の例示的な実施形態に係るページインターリーブ方式を概略的に説明するための図である。
【００６６】
説明の便宜上、１つのワードラインに属したメモリセルに４ページデータが格納されると仮定する。一般的なＥＣＣデータ生成はページ単位で行われる。これに反して、各ページのエラー率を一定に保持するためのページインターリーブ方式の場合、各ワードラインに属したメモリセルに格納されるページは複数のＥＣＣグループ(例えば、４個のＥＣＣグループ)に区分され、各ＥＣＣグループに属したデータに基づいてＥＣＣデータが生成される。ページインターリーブ方式がデータ格納システム１０００に適用される場合、第１領域１０１に対する最小プログラム単位は上述と異なる。これは以後詳細に説明する。
【００６７】
図１２は、図１１で説明したページインターリーブ方式が適用されたデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。以下、本発明の他の例示的な実施形態に係るデータ格納システムのプログラム動作を参照図面に基づいて詳細に説明する。
【００６８】
説明の便宜上、各メモリブロックが６４個のワードラインＷＬ０〜ＷＬ６３を含み、各メモリセルが４ビットデータを格納すると仮定すれば、各メモリブロックには２５６個のページが格納される。図３で説明したアドレススクランブル方式が用いられるという条件下にページインターリーブ方式が適用されたデータ格納システムのプログラム動作を説明する。
【００６９】
図１２を参照すれば、ホスト３００からメモリ制御器２００にデータが伝送される。ページインターリーブ方式が用いられるので、メモリ制御器２００はワードラインＷＬ０に格納されるデータすなわち、４ページデータＤ０、Ｄ１、Ｄ４、Ｄ５が格納されるまで待機する。先ず、ワードラインＷＬ０に格納されるデータすなわち、４ページデータＤ０、Ｄ１、Ｄ４、Ｄ５がバッファメモリ２０１に格納されれば、ワードラインＷＬ０に格納されるデータすなわち、４ページデータＤ０、Ｄ１、Ｄ４、Ｄ５はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。上述のように、第１領域１０１には単一ビット／ＳＬＣプログラム動作を通じてデータがプログラムされる。次に、第１領域１０１に格納されたデータＤ０、Ｄ１に基づいてワードラインＷＬ０に対する１ステッププログラム動作が行われる。再びページデータＤ６〜Ｄ９がホスト３００からメモリ制御器２００に入力されれば、ワードラインＷＬ１に格納されるデータすなわち、４ページデータＤ２、Ｄ３、Ｄ８、Ｄ９はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ１に対する１ステッププログラム動作とワードラインＷＬ０に対するあらいプログラム動作は第１領域１０１に格納されたデータＤ２、Ｄ３及びＤ４、Ｄ５に基づいて順次に行われる。
【００７０】
再びページデータＤ１０〜Ｄ１３がバッファメモリ２０１に格納されれば、ワードラインＷＬ１に格納されるデータすなわち、４ページデータＤ６、Ｄ７、Ｄ１２、Ｄ１３はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ３に対する１ステッププログラム動作、ワードラインＷＬ１に対するあらいプログラム動作、そしてワードラインＷＬ０に対する精巧なプログラム動作は第１領域１０１に格納されたデータに基づいて順次に行われる。データＤ１０〜Ｄ１３が入力される時に行われる動作パターンはデータＤ２５４がバッファメモリ２０１に格納される以前まで繰り返して行われる。
【００７１】
データＤ２５４、Ｄ２５５がメモリ制御器２００のバッファメモリ２０１に格納されれば、ワードラインＷＬ６３に格納されるデータすなわち、４ページデータＤ２５０、Ｄ２５１、Ｄ２５４、Ｄ２５５はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ６３に対する１ステッププログラム動作、ワードラインＷＬ６２に対するあらいプログラム動作、ワードラインＷＬ６１に対する精巧なプログラム動作、ワードラインＷＬ６３に対するあらいプログラム動作、ワードラインＷＬ６２に対する精巧なプログラム動作、そしてワードラインＷＬ６３に対する精巧なプログラム動作は第１領域１０１に格納されたデータに基づいて順次に行われる。
【００７２】
例示的な実施形態において、マルチビットメモリ装置１００の第１領域１０１の大きさはオープンブロックの数と第１領域１０１によって保持されなければならない最小ページ数によって決めることができる。第１メモリブロックがデータで満たされる以前に第１メモリブロックと異なる第２メモリブロックに対するランダム書き込みが要請されることがある。このような場合、第１メモリブロックをオープンブロックと称する。オープンブロックの数はマルチビットメモリ装置１００を管理する政策によって異なるように決めることができる。第１領域１０１によって保持されなければならない最小ページ数は任意のワードライン(例えば、ＷＬ０)に対する精巧なプログラム動作が完了する以前に第２領域１０２に格納されたデータＤ０〜Ｄ９の量である。第１領域１０１によって保持されなければならない最小ページ数は、例えば、図３のアドレススクランブル方式の場合１０ページである。
【００７３】
図１３は、セル当たり３ビットデータが格納され、再プログラム方法が適用されるマルチビットメモリ装置の他の例示的なアドレススクランブル方式を示す図であり、図１４は、図１３に示したアドレススクランブル方式によって行われるプログラム動作の間のデータの流れを概略的に示す図である。以下、本発明の例示的な実施形態に係るデータ格納システムの動作を参照図面に基づいて詳細に説明する。
【００７４】
説明の便宜上、図１３に示したように、各メモリブロックは６４個のワードラインＷＬ０〜ＷＬ６３を含み、各メモリセルが３ビットデータを格納すると仮定すれば、各メモリブロックには１９２個のページが格納される。
【００７５】
先ず、ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ０が伝達されれば、バッファメモリ２０１に格納されたデータＤ０はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。上述のように、第１領域１０１にはＳＬＣプログラム動作を通じてデータＤ０がプログラムされる。メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かを判別し、判別結果によってメインプログラム動作を制御する。第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かはページアドレスに基づいて判別される。第１領域１０１にただ一ページＤ０が格納されているので、メインプログラム動作は行われない。ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ１が伝達されれば、バッファメモリ２０１に格納されたデータＤ１はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。
【００７６】
ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ２が伝達されれば、バッファメモリ２０１に格納されたデータＤ２はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。第２領域１０２に対する最小プログラム単位のデータ(例えば、１ステッププログラム動作に必要な２ページ)が第１領域１０１に集められるので、メモリ制御器２００は第１領域１０１に格納されたデータＤ０、Ｄ２が第２領域１０２に格納されるようにマルチビットメモリ装置１００を制御する。すなわち、第１領域１０１に格納されたデータＤ０、Ｄ２に基づいてワードラインＷＬ０に対する１ステッププログラム動作が実行される。
【００７７】
ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ１が伝達されれば、バッファメモリ２０１に格納されたデータＤ１はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。ホスト３００からメモリ制御器２００のバッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータＤ４が伝達されれば、バッファメモリ２０１に格納されたデータＤ４はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１にプログラムされる。第２領域１０２に対する最小プログラム単位のデータ(例えば、１ステッププログラム動作に必要な２ページ)が第１領域１０１に集められるので、メモリ制御器２００は第１領域１０１に格納されたデータＤ１、Ｄ４が第２領域１０２に格納されるようにマルチビットメモリ装置１００を制御する。すなわち、第１領域１０１に格納されたデータＤ１、Ｄ４に基づいてワードラインＷＬ１に対する１ステッププログラム動作が実行される。
【００７８】
上述のように、バッファメモリ２０１に第１領域１０１に対する最小プログラム単位のデータが格納されれば、バッファメモリ２０１に格納されたデータはメモリ制御器２００の制御下にマルチビットメモリ装置１００の第１領域１０１にプログラムされる。第１領域１０１にはＳＬＣプログラム動作を通じてデータが格納される。ホスト３００からメモリ制御器２００に第１領域１０１に対する最小プログラム単位のデータＤｉ(ｉ＝０〜１９１)が伝達されれば、図１４に示したように、バッファメモリ２０１に格納されたデータはメモリ制御器２００の制御下にＳＬＣプログラム動作を通じて第１領域１０１にプログラムされる。第１領域１０１に対する最小プログラム単位のデータがバッファメモリ２０１に格納されたか否かの判別と共に、メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に集められるか否かを判別する。メモリ制御器２００は判別結果によって第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作を制御する。さらに具体的に説明すれば、次の通りである。
【００７９】
第２領域１０２に対する１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作は図１３に示したアドレススクランブル手順によって決められる。例えば、第１領域１０１にデータＤ０、Ｄ２が格納された場合、第１領域１０１に格納されたデータＤ０、Ｄ２に基づいてワードラインＷＬ０に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ１、Ｄ４が格納された場合、ワードラインＷＬ１に対する１ステッププログラム動作が行われる。すなわち、第１領域１０１に格納されたデータＤ１、Ｄ４に基づいてワードラインＷＬ１に対する１ステッププログラム動作が行われる。
【００８０】
続いて、第１領域１０１にデータＤ５が格納された場合、第１領域１０１に格納されたデータＤＯ、Ｄ２、Ｄ５に基づいてワードラインＷＬ０に対するあらいプログラム動作が行われる。第１領域１０１にデータＤ３、Ｄ７が格納された場合、第１領域１０１に格納されたデータＤ３、Ｄ７に基づいてワードラインＷＬ２に対する１ステッププログラム動作が行われる。第１領域１０１にデータＤ８が格納された場合、第１領域１０１に格納されたデータＤ１、Ｄ４、Ｄ８に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ１、Ｄ４、Ｄ８に基づいてワードラインＷＬ１に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ０、Ｄ２、Ｄ５に基づいてワードラインＷＬ０に対する精巧なプログラム動作が行われる。以後、第１領域１０１にデータＤ１９１が格納される前まで、残りのデータＤ１０〜Ｄ１９０はデータＤ３、Ｄ７の１ステッププログラム動作、データＤ１、Ｄ４、Ｄ８のあらいプログラム動作、そしてデータＤ０、Ｄ２、Ｄ５の精巧なプログラム動作と同一の手順で第２領域１０２に格納される。
【００８１】
第１領域１０１にデータＤ１９１が格納された場合、第１領域１０１に格納されたデータＤ１８６、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われる。第１領域１０１に格納されたデータＤ１８６、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対するあらいプログラム動作が行われた後、第１領域１０１に格納されたデータＤ１８３、Ｄ１８７、Ｄ１９０に基づいてワードラインＷＬ６２に対する精巧なプログラム動作が行われる。最後に、第１領域１０１に格納されたデータＤ１８６、Ｄ１８９、Ｄ１９１に基づいてワードラインＷＬ６３に対する精巧なプログラム動作が行われる。
【００８２】
図１４から分かるように、第１領域１０１に格納されるデータと係わる情報(例えば、ページアドレス情報)によってＳＬＣプログラム動作(第１プログラムパターン)、一連のＳＬＣ及び１ステッププログラム動作(第２プログラムパターン)、一連のＳＬＣ及びあらいプログラム動作(第３プログラムパターン)、一連のＳＬＣ、あらいそして精巧なプログラム動作(第４プログラムパターン)、一連のＳＬＣ、あらい、精巧な、及び精巧なプログラム動作(第５プログラムパターン)を判別することができる。表１を参照して説明したように、ＳＬＣプログラム動作、１ステッププログラム動作、あらいプログラム動作、または精巧なプログラム動作は、例えば、対応する命令がメモリ制御器２００からマルチビットメモリ装置１００に各々提供される時に行われる。または、上述の一連の動作(例えば、ＳＬＣプログラム動作、一連のＳＬＣ及び１ステッププログラム動作、一連のＳＬＣ及びあらいプログラム動作、一連のＳＬＣ、あらいそして精巧なプログラム動作、一連のＳＬＣ、あらい、精巧な、そして精巧なプログラム動作)で構成されたプログラムパターンを知らせる命令セットが一度マルチビットメモリ装置１００に提供され、マルチビットメモリ装置１００はそのような命令セットによって自動的に一連の動作を実行することができる。プログラムパターンに属した一連のプログラム動作はアドレススクランブル方式、セル当たりビット数などによって変更される。
【００８３】
図１５は、本発明の例示的な実施形態に係るマルチビットメモリ装置のページバッファ構造を概略的に示す図である。
【００８４】
図１５を参照すれば、ビットラインＢＬは複数のストリング(または、ＮＡＮＤストリング)と接続され、ストリングのうちのいずれか１つがビットラインＢＬを通じてページバッファＰＢに接続されている。ページバッファＰＢは複数のラッチを含んでいる。ページバッファＰＢに含まれたラッチの数はメモリセルに格納されるデータビットの数によって決めることができる。ストリングの各々は複数のメモリセルを含み、メモリセルの各々はマルチビットデータを格納する。例えば、各メモリセルは３ビットデータを格納する。このような場合、ページバッファＰＢは少なくとも４個のラッチＬ１、Ｌ２、Ｌ３、Ｌ４を含む。バッファプログラム動作の時、第１領域１０１に格納されるデータは第１ラッチＬ１にロードされる。メインプログラム動作の時、第１領域１０１に格納されたデータはラッチＬ１を通じて読み出される。ラッチＬ１に格納されたデータはメモリ制御器２００の制御下に第２〜４ラッチＬ２、Ｌ３、Ｌ４のうちのいずれか１つにダンプされる。例示的な実施形態において、第１ラッチＬ１のデータを第２〜４ラッチＬ２、Ｌ３、Ｌ４のうちのいずれか１つに伝達するためにメモリ制御器２００からマルチビットメモリ装置１００に特定命令(例えば、ダンプ動作を知らせる命令)が提供される。この時、第１ラッチＬ１のデータがダンプされるラッチを指定する情報もメモリ制御器２００からマルチビットメモリ装置１００に提供される。
【００８５】
図１５にはただ４個のラッチＬ１、Ｌ２、Ｌ３、Ｌ４を含むページバッファが示されているが、ページバッファはセル当たりビット数によってより多い、または少ないラッチを含むように構成することができる。また、ページバッファＰＢにはキャッシュ用レジスタをさらに提供することができる。
【００８６】
図１６は、図１３及び図１４で説明した１ステッププログラム動作のための命令シーケンスを示す図であり、図１７は、図１６に示した１ステッププログラム命令シーケンスによるデータ流れを示す図である。以下、本発明の例示的な実施形態に係るデータ格納システムの動作を参照図面に基づいて詳細に説明する。
【００８７】
説明する前に、図１３及び図１４で説明した１ステッププログラム動作は第２領域１０２に対する最小プログラム単位である２ページが第１領域１０１に格納された場合に行われる。メインプログラム動作として、第２領域１０２に対する１ステッププログラム動作は第１領域１０１に対する二回のＳＬＣ読み出し動作と第２領域１０２に対する一回のＭＬＣプログラム動作を伴う。
【００８８】
本発明の例示的な実施形態に係るデータ格納システム１０００の場合、１ステッププログラム動作を実行する前に、ＳＬＣ動作モードへの転換のための命令ＤＡｈがメモリ制御器２００からマルチビットメモリ装置１００に伝送される。モード転換のための命令ＤＡｈが入力される時、マルチビットメモリ装置１００はメモリ制御器２００から提供される命令をＳＬＣ動作と係わる命令として認識する。ＳＬＣ動作は上述のＳＬＣ読み出し動作、データダンプ動作などを含む。
【００８９】
モード転換のための命令ＤＡｈに続いて、図１６に示したように、メモリ制御器２００は一連の命令００ｈ、アドレスＡｄｄｒ５、及び命令３９ｈをマルチビットメモリ装置１００に伝送する。この時、アドレスＡｄｄｒ５は１ステッププログラム動作に必要な２ページデータのうちの１つのページ(例えば、第１ページＰ１)を指定するためのアドレスである。命令３９ｈが入力された後、マルチビットメモリ装置１００のページバッファ１０３は、図１７に示したように、第１領域１０１から第１ページデータＰ１を読み出す。読み出されたデータＰ１は第１ラッチＬ１に格納される。読み出し動作の間、図１６に示したように、マルチビットメモリ装置１００はビジー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。読み出し動作が完了した後、マルチビットメモリ装置１００はレディー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。
【００９０】
次に、図１６に示したように、メモリ制御器２００はレディー／ビジー信号Ｒ／Ｂの状態に応答してマルチビットメモリ装置１００にダンプ命令Ｃ０ｈと共にデータがダンプされるラッチ(例えば、Ｌ３)を指定するための情報Ｌ１→Ｌ３を伝送する。ダンプ命令Ｃ０ｈが入力されることによって、マルチビットメモリ装置１００はラッチＬ１のデータＰ１がラッチＬ３にダンプされるようにページバッファ１０３を制御する。ダンプ動作の間、図１６に示したように、マルチビットメモリ装置１００はビジー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。ダンプ動作が完了した後、マルチビットメモリ装置１００はレディー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。
【００９１】
次に、図１６に示したように、メモリ制御器２００はレディー／ビジー信号Ｒ／Ｂの状態に応答してマルチビットメモリ装置１００に一連の命令００ｈ、アドレスＡｄｄｒ５、及び命令３９ｈをマルチビットメモリ装置１００に送る。この時、アドレスＡｄｄｒ５は１ステッププログラム動作に必要な２ページデータのうちの残りのページ(例えば、第２ページＰ２)を指定するためのアドレスである。命令３９ｈが入力された後、マルチビットメモリ装置１００のページバッファ１０３は、図１７に示したように、第１領域１０１から第１ページデータＰ２を読み出す。読み出されたデータＰ２は第１ラッチＬ１に格納される。読み出し動作の間、図１６に示したように、マルチビットメモリ装置１００はビジー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。読み出し動作が完了した後、マルチビットメモリ装置１００はレディー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。
【００９２】
次に、図１６に示したように、メモリ制御器２００はレディー／ビジー信号Ｒ／Ｂの状態に応答してマルチビットメモリ装置１００にダンプ命令Ｃ０ｈと共にデータがダンプされるラッチ(例えば、Ｌ４)を指定するための情報Ｌ１→Ｌ４を伝送する。ダンプ命令Ｃ０ｈが入力されることによって、マルチビットメモリ装置１００はラッチＬ１のデータＰ２がラッチＬ４にダンプされるようにページバッファ１０３を制御する。ダンプ動作の間、図１６に示したように、マルチビットメモリ装置１００はビジー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。ダンプ動作が完了した後、マルチビットメモリ装置１００はレディー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。
【００９３】
先ず、１ステッププログラム動作に必要なデータが準備されれば、第２領域１０２に対する１ステッププログラム動作が行われる。１ステッププログラム動作を実行する前に、メモリ制御器２００はモード転換のための命令ＤＦｈをマルチビットメモリ装置１００に送る。そのような命令ＤＦｈはＳＬＣ動作のためのモードから抜けるためのである。命令ＤＦｈが入力されることによって、マルチビットメモリ装置１００はメモリ制御器２００から提供される命令をメインプログラム動作、例えば、ＭＬＣ動作と係わる命令として認識する。
【００９４】
以後、メモリ制御器２００は、図１６に示したように、一連の命令８Ｂｈ、アドレスＡｄｄｒ５、及び命令１０ｈをマルチビットメモリ装置１００に伝送する。この時、アドレスＡｄｄｒ５は１ステッププログラムされるページのうちの１つ(例えば、第１ページ)を指定するためのアドレスである。１ステッププログラム動作に必要なデータがページバッファ１０３に準備されているので、メモリ制御器２００からマルチビットメモリ装置１００にデータが伝送されない。命令１０ｈが入力された後、図１７に示したように、ページバッファ１０３に格納されたデータＰ１、Ｐ２は第２領域１０２にプログラムされる。プログラム動作の間、図１６に示したように、マルチビットメモリ装置１００はビジー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。プログラム動作が完了した後、マルチビットメモリ装置１００はレディー状態を示すようにレディー／ビジー信号Ｒ／Ｂを設定する。
【００９５】
前記説明によれば、１ステッププログラム動作はデータセットアップ区間とプログラム区間(または、プログラム確認区間)で構成することができる。１ステッププログラム動作の時、図１６に示したように、データセットアップ区間は第１ページデータセットアップ区間と第２ページデータセットアップ区間とを含む。第１及び第２ページデータセットアップ区間の各々はＳＬＣ読み出し動作とダンプ動作とを含む。第１ページデータセットアップに先立ってモード転換が行われ、メインプログラミングに先立ってモード転換が行われる。
【００９６】
図１８は、図１３及び図１４で説明したあらいプログラム動作のための命令シーケンスを示す図であり、図１９は、図１８に示したあらいプログラム命令シーケンスによるデータ流れを示す図である。以下、本発明の例示的な実施形態に係るデータ格納システムの動作を参照図面に基づいて詳細に説明する。
【００９７】
説明する前に、図１３及び図１４で説明したあらいプログラム動作は第２領域１０２に対する最小プログラム単位である３ページが第１領域１０１に格納された場合に行われる。第２領域１０２に対するあらいプログラム動作は第１領域１０１に対する３回のＳＬＣ読み出し動作と第２領域１０２に対する一回のＭＬＣプログラム動作を伴う。
【００９８】
ＳＬＣ読み出し動作の各々は、図１８に示したように、図１６及び図１７での説明と実質的に同一であるので、それに対する説明は省略する。第１ページデータに対するＳＬＣ読み出し動作を実行する前に、図１８に示したように、モード転換のための命令ＤＡｈがメモリ制御器２００からマルチビットメモリ装置１００に伝送される。第２領域１０２に対するＭＬＣプログラム動作は３ビットデータが第２領域１０２に格納されるという点を除けば、図１６及び図１７で説明したことと実質的に同一であるので、それに対する説明は省略する。あらいプログラム動作を実行する前に、図１８に示したように、モード転換のための命令ＤＦｈがメモリ制御器２００からマルチビットメモリ装置１００に伝送される。
【００９９】
図示しないが、メインプログラム動作として精巧なプログラム動作は図１８に示した命令シーケンスに従って同一に行われる。精巧なプログラム動作のための命令シーケンスがあらいプログラム動作のための命令シーケンスと同一であるので、あらいプログラム動作と精巧なプログラム動作はプログラム確認区間に提供されるアドレスＡｄｄｒ５に基づいて区別される。例えば、あらいプログラム動作と係わるプログラム確認区間に提供されるアドレスＡｄｄｒ５は２番目のページを指定するためのアドレスであり、精巧なプログラム動作と係わるプログラム確認区間に提供されるアドレスＡｄｄｒ５は３番目のページを指定するためのアドレスである。
【０１００】
図２０は、図１１で説明したページインターリーブ方式と図１３で説明したアドレススクランブル方式が適用されたデータ格納システムのプログラム動作の間のデータの流れを概略的に示す図である。以下、本発明の他の例示的な実施形態に係るデータ格納システムのプログラム動作を参照図面に基づいて詳細に説明する。
【０１０１】
説明の便宜上、各メモリブロックが６４個のワードラインＷＬ０〜ＷＬ６３を含み、各メモリセルが３ビットデータを格納すると仮定すれば、各メモリブロックには１９２個のページが格納される。図１３で説明したアドレススクランブル方式が用いられるという条件下にページインターリーブ方式が適用されたデータ格納システムのプログラム動作を説明する。
【０１０２】
図２０を参照すれば、ホスト３００からメモリ制御器２００にデータが伝送される。ページインターリーブ方式が用いられるので、メモリ制御器２００はワードラインＷＬ０に格納されるデータすなわち、３ページデータＤ０、Ｄ２、Ｄ５が格納されるまで待機する。先ず、ワードラインＷＬ０に格納されるデータすなわち、３ページデータＤ０、Ｄ２、Ｄ５がバッファメモリ２０１に格納されれば、ワードラインＷＬ０に格納されるデータすなわち、３ページデータＤ０、Ｄ２、Ｄ５はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。上述のように、第１領域１０１にはＳＬＣプログラム動作を通じてデータがプログラムされる。次に、第１領域１０１に格納されたデータＤ０、Ｄ２に基づいてワードラインＷＬ０に対する１ステッププログラム動作が行われる。再びページデータＤ６〜Ｄ８がホスト３００からメモリ制御器２００に入力されれば、ワードラインＷＬ１に格納されるデータすなわち、３ページデータＤ１、Ｄ４、Ｄ８はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ１に対する１ステッププログラム動作とワードラインＷＬ０に対するあらいプログラム動作は第１領域１０１に格納されたデータＤ１、Ｄ４及びＤ０、Ｄ２、Ｄ５に基づいて順次に行われる。
【０１０３】
再びページデータＤ９〜Ｄ１１がバッファメモリ２０１に格納されれば、ワードラインＷＬ２に格納されるデータすなわち、３ページデータＤ３、Ｄ７、Ｄ１１はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ２に対する１ステッププログラム動作、ワードラインＷＬ１に対するあらいプログラム動作、及びワードラインＷＬ０に対する精巧なプログラム動作は第１領域１０１に格納されたデータに基づいて順次に行われる。データＤ９〜Ｄ１１が入力される時に行われる動作パターンはデータＤ１８９がバッファメモリ２０１に格納される前まで繰り返して行われる。
【０１０４】
データＤ１８９、Ｄ１９０がメモリ制御器２００のバッファメモリ２０１に格納されれば、ワードラインＷＬ６２に格納されるデータすなわち、３ページデータＤ１８３、Ｄ１８７、Ｄ１９０はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。次に、ワードラインＷＬ６２に対する１ステッププログラム動作、ワードラインＷＬ６１に対するあらいプログラム動作、ワードラインＷＬ６０に対する精巧なプログラム動作は第１領域１０１に格納されたデータに基づいて順次に行われる。
【０１０５】
データＤ１９１がメモリ制御器２００のバッファメモリ２０１に格納されれば、ワードラインＷＬ６２に格納されるデータすなわち、３ページデータＤ１８６、Ｄ１８９、Ｄ１９１はメモリ制御器２００の制御によってマルチビットメモリ装置１００の第１領域１０１に順次に格納される。その次に、ワードラインＷＬ６３に対する１ステッププログラム動作、ワードラインＷＬ６２に対するあらいプログラム動作、ワードラインＷＬ６１に対する精巧なプログラム動作、ワードラインＷＬ６３に対するあらいプログラム動作、ワードラインＷＬ６２に対する精巧なプログラム動作、ワードラインＷＬ６３に対する精巧なプログラム動作は第１領域１０１に格納されたデータに基づいて順次に行われる。
【０１０６】
図２１は、セル当たり４ビットデータが格納され、再プログラム方法が適用されるマルチビットメモリ装置の他の例示的なアドレススクランブル方式を示す図である。
【０１０７】
図２１に示したアドレススクランブル方式はセル当たり４ビットデータを格納するマルチビットメモリ装置に適用される。図２１に示したアドレススクランブル方式が適用されたデータ格納システムは上述のことと実質的に同一に動作する。例えば、第１領域１０１に対する最小プログラム単位のデータがバッファメモリ２０１に格納される時、メモリ制御器２００はバッファメモリ２０１に格納されたデータが第１領域１０１にプログラムされるようにマルチビットメモリ装置１００を制御する。同様に、メモリ制御器２００は第２領域１０２に対する最小プログラム単位のデータが第１領域１０１に準備されたか否かを判別し、判別結果によって１ステッププログラム動作、あらいプログラム動作、及び精巧なプログラム動作が実行されるようにマルチビットメモリ装置１００を制御する。そのような動作はページアドレス情報に基づいて表１に示したパターンによって行われる。
図２２Ａ〜図２２Ｄは、本発明の例示的な実施形態に係るマルチビットメモリ装置の第１及び第２領域に対する多様な組合せを説明するための図である。図において、“ＢＰ”は第１領域１０１に対するバッファプログラミングを示し、“ＭＰ”は第２領域１０２に対するメインプログラミングを示す。
【０１０８】
上述のように、マルチビットメモリ装置１００は第１領域１０１と第２領域１０２とを含む。ここで、第１領域１０１と第２領域１０２はマルチビットメモリ装置１００のメモリセルアレイを構成する。図示しないが、メモリセルアレイはさらに多い領域(例えば、メタ領域、予備領域など)を含む。メモリセルアレイの領域が物理的に区分されず、論理的に区分されることを理解することができるであろう。これはメモリ制御器２００のアドレスマッピングによって領域が定義されることを意味する。
【０１０９】
図２２Ａを参照すれば、セル当たり３ビットデータを格納するマルチビットメモリ装置の場合、第１領域１０１は１ビットデータを各々格納するメモリセルで構成し、第２領域１０２は３ビットデータを各々格納するメモリセルで構成することができる。この場合、バッファプログラミングはＳＬＣプログラム方式によって行われる。メインプログラミングは上述のＭＬＣプログラム方式によって行われる。
【０１１０】
図２２Ｂを参照すれば、セル当たり４ビットデータを格納するマルチビットメモリ装置の場合、第１領域１０１は１ビットデータを各々格納するメモリセルで構成し、第２領域１０２は４ビットデータを各々格納するメモリセルで構成することができる。この場合、バッファプログラミングはＳＬＣプログラム方式によって行われる。メインプログラミングは上述のＭＬＣプログラム方式によって行われる。
【０１１１】
図２２Ｃを参照すれば、セル当たり３ビットデータを格納するマルチビットメモリ装置の場合、第１領域１０１は２ビットデータを各々格納するメモリセルで構成し、第２領域１０２は３ビットデータを各々格納するメモリセルで構成することができる。この場合、バッファプログラミングは一般的な、または上述のＭＬＣプログラム方式によって行われる。メインプログラミングは上述のＭＬＣプログラム方式(例えば、再プログラム方式)によって行われる。
【０１１２】
図２２Ｄを参照すれば、セル当たり４ビットデータを格納するマルチビットメモリ装置の場合、第１領域１０１は２ビットデータを各々格納するメモリセルで構成し、第２領域１０２は４ビットデータを各々格納するメモリセルで構成することができる。この場合、バッファプログラミングは一般的な、または上述のＭＬＣプログラム方式によって行われる。メインプログラミングは上述のＭＬＣプログラム方式(例えば、再プログラム方式)によって行われる。
【０１１３】
例示的な実施形態において、図２２Ａ〜図２２Ｄに示した第１及び第２領域１０１、１０２の定義はここに開示したことに限らないことはよく理解することができるであろう。例えば、データ格納装置に含まれる格納媒体を複数のマルチビットメモリ装置で構成する場合、各マルチビットメモリ装置に第１及び第２領域１０１、１０２を定義することができる。他の例として、任意のマルチビットメモリ装置のみに第１領域１０１を定義することができる。または、任意のマルチビットメモリ装置を第１領域１０１に定義することができる。
【０１１４】
図２３は、本発明の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。以下、本発明の例示的な実施形態に係るメモリ制御器の動作を参照図面に基づいて詳細に説明する。
【０１１５】
Ｓ２００段階で、メモリ制御器２００はデータが入力されたか否かを判別する。もしデータが入力されないと判別されれば、Ｓ２００段階は繰り返される。もしデータが入力されたと判別されれば、Ｓ２１０段階に進行し、Ｓ２１０段階では入力されたデータがバッファメモリ２０１に格納される。Ｓ２２０段階で、メモリ制御器２００はバッファプログラム動作が要求されるか否かを判別する。もしバッファプログラム動作が要求されなければ、手続きは終了する。
【０１１６】
もしバッファプログラム動作が要求されると判別されれば、Ｓ２３０段階に進行する。Ｓ２３０段階ではバッファメモリ２０１に格納されたデータすなわち、第１領域１０１に対する最小プログラム単位のデータがマルチビットメモリ装置１００に伝送される。これは第１領域１０１に対する最小プログラム単位のデータがマルチビットメモリ装置１００の第１領域１０１に格納されることを意味する。Ｓ２４０段階で、メモリ制御器２００はメインプログラム動作が要求されるか否か(または、バッファプログラム動作がメインプログラム動作を伴うか否か)を判別する。これは、上述のように、ページアドレス情報に基づいて行われる。
【０１１７】
もしメインプログラム動作が要求されないと判別されれば、手続きは終了する。これに反して、もしメインプログラム動作が要求されると判別されれば、手続きはＳ２５０段階に進行する。Ｓ２５０段階ではメインプログラム動作に係わるプログラムパターンが決められる。バッファプログラム動作に続いて行われるメインプログラム動作のプログラムパターンは１ステッププログラム動作、あらいプログラム動作、一連のあらい及び精巧なプログラム動作、一連のあらい、精巧な、そして精巧なプログラム動作で構成することができる。Ｓ２６０段階で、メモリ制御器２００は決められたプログラムパターンに基づいてメインプログラミングのための一連の命令を発生する。そのような命令は、図１６及び図１８で説明したように、モード転換命令、ＳＬＣ読み出し命令、ダンプ命令、プログラム確認命令などを含む。以後、手続きは終了する。
【０１１８】
図２４は、本発明の他の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。以下、本発明の例示的な実施形態に係るメモリ制御器の動作を参照図面に基づいて詳細に説明する。
【０１１９】
Ｓ３００段階で、メモリ制御器２００はデータが入力されたか否かを判別する。もしデータが入力されないと判別されれば、Ｓ３００段階は繰り返される。もしデータが入力されたと判別されれば、Ｓ３１０段階に進行し、Ｓ３１０段階では入力されたデータがバッファメモリ２０１に格納される。Ｓ３２０段階で、メモリ制御器２００はバッファプログラム動作が要求されるか否かを判別する。もしバッファプログラム動作が要求されなければ、手続きは終了する。
【０１２０】
もしバッファプログラム動作が要求されると判別されれば、Ｓ３３０段階で、メモリ制御器２００はメインプログラム動作が要求されるか否か(または、バッファプログラム動作がメインプログラム動作を伴うか否か)を判別する。これは、上述のように、ページアドレス情報に基づいて行われる。もしメインプログラム動作が要求されないと判別されれば、Ｓ３４０段階に進行する。Ｓ３４０段階ではバッファメモリ２０１に格納されたデータすなわち、第１領域１０１に対する最小プログラム単位のデータがマルチビットメモリ装置１００に伝送される。これは第１領域１０１に対する最小プログラム単位のデータがマルチビットメモリ装置１００の第１領域１０１に格納されることを意味する。
【０１２１】
これに反して、もしメインプログラム動作が要求されると判別されれば、Ｓ３５０段階に進行する。Ｓ３５０段階ではプログラムパターンが決められる。プログラムパターンは表１で説明したプログラムパターンのうちのいずれか１つである。しかし、プログラムパターンがインターリーブ方式を用いる時に変更可能であることはよく理解することができるであろう。Ｓ３６０段階で、メモリ制御器２００は決められたプログラムパターンに基づいてバッファ及びメインプログラミングのための一連の命令を発生する。バッファプログラミングのための命令はＳＬＣプログラム命令を含み、メインプログラムのための命令は、図１６及び図１８で説明したように、モード転換命令、ＳＬＣ読み出し命令、ダンプ命令、プログラム確認命令などを含む。以後、手続きは終了する。
【０１２２】
例示的な実施形態において、バッファプログラミングのためのデータはＳＬＣプログラム命令に続いて、そしてメインプログラムのための命令の以前にマルチビットメモリ装置１００に伝送される。
【０１２３】
図２５は、本発明のまた他の例示的な実施形態に係るメモリ制御器の動作を説明するためのフローチャートである。以下、本発明の例示的な実施形態に係るメモリ制御器の動作を参照図面に基づいて詳細に説明する。
【０１２４】
Ｓ４００段階で、メモリ制御器２００はデータが入力されたか否かを判別する。もしデータが入力されないと判別されれば、Ｓ４００段階は繰り返される。もしデータが入力されたと判別されれば、Ｓ４１０段階に進行し、Ｓ４１０段階では入力されたデータがバッファメモリ２０１に格納される。Ｓ４２０段階で、メモリ制御器２００はプログラムパターンを決める。プログラムパターンは表１で説明したプログラムパターンのうちのいずれか１つである。しかし、プログラムパターンがインターリーブ方式を用いる時に変更可能であることはよく理解することができるであろう。Ｓ４３０段階で、メモリ制御器２００は決められたプログラムパターンに基づいてバッファプログラミングのための命令またはバッファ及びメインプログラミングのための一連の命令を発生する。バッファプログラミングのための命令はＳＬＣプログラム命令を含み、メインプログラムのための命令は、図１６及び図１８で説明したように、モード転換命令、ＳＬＣ読み出し命令、ダンプ命令、プログラム確認命令などを含む。以後、手続きは終了する。
【０１２５】
例示的な実施形態において、バッファプログラミングのためのデータはＳＬＣプログラム命令に続いて、そしてメインプログラムのための命令の以前にマルチビットメモリ装置１００に伝送される。プログラムパターンはバッファプログラミングのための命令を含むように、または排除するように決めることができる。
【０１２６】
例示的な実施形態において、バッファプログラム動作を実行する前に、ＳＬＣモードを知らせる命令(例えば、図１６のＤＡｈ)がマルチビットメモリ装置１００に提供される。同様に、バッファプログラム動作が実行された後、ＳＬＣモードの終了を知らせる命令(例えば、図１６のＤＦｈ)がマルチビットメモリ装置１００に提供される。
【０１２７】
例示的な実施形態において、図２３〜図２５で説明した動作に先立って第１及び第２領域１０１、１０２がメモリ制御器２００によって定義される。第１及び第２領域１０１、１０２の定義が行われた後、ホスト３００から提供されるデータに対するバッファプログラム動作とメインプログラム動作が上述の方式によって行われる。
【０１２８】
例示的な実施形態において、プログラムパターンは多様に定義することができる。例えば、プログラムパターンはバッファプログラム動作とメインプログラム動作に対して個別的に定義することができる。または、プログラムパターンはバッファ及びメインプログラム動作に対して定義することができる。メインプログラム動作は１ステッププログラム動作、あらいプログラム動作、あらい及び精巧なプログラム動作、あらい、精巧な、そして精巧なプログラム動作などのような一連のプログラム動作を含む。
【０１２９】
図２６は、全体ビットラインメモリ構造または奇遇メモリ構造のためにメモリセルアレイをメモリブロックで構成する例を示す図である。図２に示したマルチビットメモリ装置１００に含まれるメモリセルアレイ１１０の例示的な構造を説明する。一例として、メモリセルアレイ１１０が１０２４個のメモリブロックに分けられたＮＡＮＤフラッシュメモリ装置を説明する。各メモリブロックに格納されたデータは同時に消去可能である。一実施形態において、メモリブロックは同時に消去される格納素子の最小単位である。各メモリブロックには、例えば、ビットライン(例えば、１ＫＢのビットライン)に各々対応する複数の列がある。全体ビットライン(ａｌｌ  ｂｉｔ  ｌｉｎｅ:ＡＢＬ)構造と呼ばれる一実施形態において、メモリブロックのすべてのビットラインは読み出し及びプログラム動作の間同時に選択されることが可能である。共通ワードラインに属し、すべてのビットラインと接続された格納素子は同時にプログラムされることが可能である。
【０１３０】
例示的な実施形態において、同一の列に属した複数の格納素子はＮＡＮＤストリング１１１を構成するように直列接続されている。ＮＡＮＤストリングの一端子はストリング選択ラインＳＳＬによって制御される選択トランジスタを通じて対応するビットラインに接続され、他の端子は接地選択ラインＧＳＬによって制御される選択トランジスタを通じて共通ソースラインＣＳＬに接続されている。
【０１３１】
奇遇構造(ｏｄｄ−ｅｖｅｎ  ａｒｃｈｉｔｅｃｔｕｒｅ)と呼ばれる他の例示的な実施形態において、ビットラインは遇数ビットラインＢＬｅと奇数ビットラインＢＬｏに区分される。奇／遇数ビットライン構造において、共通ワードラインに属すれば、奇数ビットラインと接続された格納素子が第１時間にプログラムされる一方、共通ワードラインに属すれば、遇数ビットラインと接続された格納素子は第２時間にプログラムされる。データは他のブロックにプログラムされることが可能であり、他のメモリブロックから読み出されることが可能である。このような動作は同時に実行することができる。
【０１３２】
マルチビットメモリ装置を構成するフラッシュメモリ装置は電力が遮断されても格納されたデータを保持することができる不揮発性メモリ装置である。携帯電話、ＰＤＡデジタルカメラ、ポータブルゲームコンソール、及びＭＰ３Ｐのようなモバイル装置の使用増加によって、フラッシュメモリ装置はデータストレージだけではなく、コードストレージとしてより広く使われている。フラッシュメモリ装置は、またＨＤＴＶ、ＤＶＤ、ラウタ、及びＧＰＳのようなホームアプリケーションに用いることができる。
【０１３３】
図２７は、本発明の例示的な実施形態に係るコンピューティングシステムを概略的に示すブロック図である。
【０１３４】
コンピューティングシステムは、マイクロプロセッサ２１００、ユーザインターフェース２２００、ベースバンドチップセット(ｂａｓｅｂａｎｄ  ｃｈｉｐｓｅｔ)のようなモデム２３００、メモリ制御器２４００、格納媒体としてマルチビットメモリ装置２５００を含む。メモリ制御器２４００とマルチビットメモリ装置２５００は図２に示したことと実質的に同一に構成される。これはメモリ制御器２４００に含まれるバッファメモリの大きさを最小化することが可能であることを意味する。マルチビットメモリ装置２５００にはマイクロプロセッサ２１００によって処理された／処理されるＮビットデータ(Ｎは１またはそれより大きい整数)がメモリ制御器２４００を通じて格納される。コンピューティングシステムがモバイル装置の場合、コンピューティングシステムの動作電圧を供給するためのバッテリー２６００が追加的に提供される。図示しないが、本発明に係るコンピューティングシステムには応用チップセット(ａｐｐｌｉｃａｔｉｏｎ  ｃｈｉｐｓｅｔ)、カメライメージプロセッサ(Ｃａｍｅｒａ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｏｒ:ＣＩＳ)、モバイルＤＲＡＭなどをさらに提供することができることはよく理解することができるであろう。
【０１３５】
図２８は、本発明の例示的な実施形態に係るメモリ制御器を概略的に示すブロック図である。図２８を参照すれば、本発明の例示的な実施形態に係るメモリ制御器は第１インターフェース３２１０、第２インターフェース３２２０、処理ユニット３２３０、バッファ３２４０、ＥＣＣユニット３２５０、ＲＯＭ(Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ)３２６０を含む。図２８に示したメモリ制御器は図２または図２７に示したシステムに適用される。
【０１３６】
第１インターフェース３２１０は外部(または、ホスト)とインターフェースするように構成される。第２インターフェース３２２０は図２または図２７に示した格納媒体３１００とインターフェースするように構成される。処理ユニット３２３０は制御器３２００の全般的な動作を制御するように構成される。例えば、ＣＰＵ３２３０はＲＯＭ(Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ)３２６０に格納されたフラッシュ変換階層(Ｆｌａｓｈ  Ｔｒａｎｓｌａｔｉｏｎ  Ｌａｙｅｒ:ＦＴＬ)のようなファームウエアを運用するように構成される。バッファ３２４０は第１インターフェース３２１０を通じて外部に伝達されるデータを一時格納するのに用いられる。バッファ３２４０は第２インターフェース３２２０を通じて格納媒体３１００から伝達されるデータを一時格納するのに用いられる。ＥＣＣユニット３２５０は格納媒体３１００に格納されるデータを符号化するように、そして格納媒体３１００から読み出されたデータを復号化するように構成される。
【０１３７】
例示的な実施形態において、メモリ制御器は図１６及び図１８で説明した命令シーケンスによって命令を順次に発生するように構成される。または、メモリ制御器は上述のプログラムパターンを知らせる命令セットを発生するように構成される。
【０１３８】
図２９は、本発明の例示的な実施形態に係る半導体ドライブを概略的に示すブロック図である。
【０１３９】
図２９を参照すれば、半導体ドライブ４０００（ＳＳＤ）は格納媒体４１００と制御器４２００とを含む。格納媒体４１００は複数のチャンネルを通じて制御器４２００と接続されている。各チャンネルには複数の不揮発性メモリが共通接続されている。各不揮発性メモリは図２で説明したメモリで構成される。制御器４２００は図３〜図２１を参照して説明したプログラム方式のうちのいずれか１つによって格納媒体４１００を制御するように構成される。これは制御器４２００に含まれるバッファメモリの大きさを最小化することが可能であることを意味する。
【０１４０】
図３０は、図２９に示した半導体ドライブを利用したストレージを概略的に示すブロック図であり、図３１は、図２９に示した半導体ドライブを利用したストリレージサーバを概略的に示すブロック図である。
【０１４１】
本発明の例示的な実施形態に係る半導体ドライブ４０００はストレージを構成するのに用いることができる。図３０に示したように、ストレージは図２９で説明したことと実質的に同一に構成される複数の半導体ドライブを含む。本発明の例示的な実施形態に係る半導体ドライブ４０００はストレージサーバを構成するのに用いることができる。図３１に示したように、ストレージサーバは図２９で説明したことと実質的に同一に構成される複数の半導体ドライブ４０００と、サーバ４０００Ａとを含む。また、この分野において周知のＲＡＩＤ制御器４０００Ｂをストレージサーバに提供することができることはよく理解することができるであろう。
【０１４２】
図３２〜図３４は、本発明の例示的な実施形態に係るデータ格納装置が適用されるシステムを概略的に示す図である。
【０１４３】
本発明の例示的な実施形態に係るメモリ制御器及びマルチビットメモリ装置で構成されるデータ格納装置を含んだ半導体ドライブがストレージに適用される場合、図３２に示したように、システム６０００は有線そして／または無線でホストと通信するストレージ６１００を含む。本発明の例示的な実施形態に係るデータ格納装置を含んだ半導体ドライブがストレージサーバに適用される場合、図３３に示したように、システム７０００は有線そして／または無線でホストと通信するストレージサーバ７１００、７２００を含む。また、図３４に示したように、本発明の例示的な実施形態に係るデータ格納装置を含んだ半導体ドライブはメールサーバ８１００にも適用することができる。
【０１４４】
図３５は、本発明の実施形態に係るメモリカード(ｍｅｍｏｒｙ  ｃａｒｄ)を概略的に示すブロック図である。
【０１４５】
メモリカードは例えば、ＭＭＣカード、ＳＤカード、マルチユース(ｍｕｌｔｉｕｓｅ)カード、マイクロＳＤカード、メモリスティック、コンパクトＳＤカード、ＩＤカード、ＰＣＭＣＩＡカード、ＳＳＤカード、チップカード(ｃｈｉｐ  ｃａｒｄ)、スマートカード(ｓｍａｒｔｃａｒｄ)、ＵＳＢカードなどであり得る。
【０１４６】
図３５を参照すれば、メモリカードは外部とのインターフェースを実行するインターフェース部９２２１、バッファメモリを有し、メモリカードの動作を制御する制御器９２２２、少なくとも１つの不揮発性メモリ装置９２０７を含む。制御器９２２２はプロセッサとして、不揮発性メモリ装置９２０７の読み出し動作及び書き込み動作を制御することができる。具体的に、制御器９２２２はデータバスＤＡＴＡとアドレスバスＡＤＤＲＥＳＳを通じて不揮発性メモリ装置９２０７及びインターフェース部９２２１とカップリングされている。図３５に示した制御器９２２２と不揮発性メモリ９２０７は図２で説明したメモリ制御器２００とマルチビットメモリ装置１００に対応する。制御器９２２２は図３〜図２１を参照して説明したプログラム方式のうちのいずれか１つによって不揮発性メモリ９２０７を制御するように構成される。これは制御器９２２２に含まれるバッファメモリの大きさを最小化することが可能であることを意味する。
【０１４７】
図３６は、本発明の実施形態に係るデジタルスチールカメラ(ｄｉｇｉｔａｌ  ｓｔｉｌｌｃａｍｅｒａ)を概略的に示すブロック図である。
【０１４８】
図３６を参照すれば、デジタルスチールカメラはボディー９３０１、スロット９３０２、レンズ９３０３、ディスプレイ部９３０８、シャッターボタン９３１２、ストロボ(ｓｔｒｏｂｅ)９３１８などを含む。特に、スロット９３０８にはメモリカード９３３１を挿入することができ、メモリカード９３３１は図２で説明したメモリ制御器２００及びマルチビットメモリ装置１００を含む。メモリカード９３３１内に含まれたメモリ制御器は図３〜図２１を参照して説明したプログラム方式のうちのいずれか１つによってマルチビットメモリ装置を制御するように構成される。これはメモリ制御器に含まれるバッファメモリの大きさを最小化することが可能であることを意味する。
【０１４９】
メモリカード９３３１が接触型(ｃｏｎｔａｃｔ  ｔｙｐｅ)の場合、メモリカード９３３１がスロット９３０８に挿入される時、メモリカード９３３１と回路基板上の特定電気回路が電気的に接触するようになる。メモリカード９３３１が非接触型(ｎｏｎ−ｃｏｎｔａｃｔ  ｔｙｐｅ)の場合、無線信号を通じてメモリカード９３３１がアクセスされる。
【０１５０】
図３７は、図３５のメモリカードが用いられる多様なシステムを説明する例示的図である。
【０１５１】
図３７を参照すれば、メモリカード９３３１はビデオカメラ、テレビ、オーディオ装置、ゲーム装置、電子音楽装置、携帯電話、コンピュータ、ＰＤＡ(Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ)、ボイスレコーダ(ｖｏｉｃｅ  ｒｅｃｏｒｄｅｒ)、ＰＣカードなどに用いることができる。
【０１５２】
本発明の例示的な実施形態において、メモリセルは可変抵抗メモリセルで構成することができ、例示的な可変抵抗メモリセル及びそれを含んだメモリ装置が特許文献３に記載されている。
【０１５３】
本発明の他の例示的な実施形態において、メモリセルは電荷格納層を有する多様なセル構造のうちの１つを利用して実現することができる。電荷格納層を有するセル構造は電荷トラップ層を利用する電荷トラップフラッシュ構造、アレイが多層で積層されるスタックフラッシュ構造、ソースドレインのないフラッシュ構造、ピンタイプフラッシュ構造などを含む。
【０１５４】
電荷格納層として電荷トラップフラッシュ構造を有するメモリ装置が特許文献４、５、及び６に記載されており、ソース／ドレインのないフラッシュ構造は特許文献７に記載されている。
【０１５５】
本発明に係るフラッシュメモリ装置そして／またはメモリ制御器は多様な形態のパッケージを利用して実装することができる。例えば、本発明に係るラッシュメモリ装置そして／またはメモリコントローラはＰｏＰ（Ｐａｃｋａｇｅ  ｏｎ  Ｐａｃｋａｇｅ）、Ｂａｌｌ  ｇｒｉｄ  ａｒｒａｙｓ（ＢＧＡｓ）、Ｃｈｉｐ  ｓｃａｌｅ  ｐａｃｋａｇｅｓ（ＣＳＰｓ）、Ｐｌａｓｔｉｃ  Ｌｅａｄｅｄ  Ｃｈｉｐ  Ｃａｒｒｉｅｒ（ＰＬＣＣ）、Ｐｌａｓｔｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＰＤＩＰ）、Ｄｉｅ  ｉｎ  Ｗａｆｆｌｅ  Ｐａｃｋ、Ｄｉｅ  ｉｎ  Ｗａｆｅｒ  Ｆｏｒｍ、Ｃｈｉｐ  Ｏｎ  Ｂｏａｒｄ（ＣＯＢ）、Ｃｅｒａｍｉｃ  Ｄｕａｌ  Ｉｎ−Ｌｉｎｅ  Ｐａｃｋａｇｅ（ＣＥＲＤＩＰ）、Ｐｌａｓｔｉｃ  Ｍｅｔｒｉｃ  Ｑｕａｄ  Ｆｌａｔ  Ｐａｃｋ（ＭＱＦＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＳＯＩＣ）、Ｓｈｒｉｎｋ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ  Ｐａｃｋａｇｅ（ＳＳＯＰ）、Ｔｈｉｎ  Ｓｍａｌｌ  Ｏｕｔｌｉｎｅ（ＴＳＯＰ）、Ｔｈｉｎ  Ｑｕａｄ  Ｆｌａｔｐａｃｋ（ＴＱＦＰ）、Ｓｙｓｔｅｍ  Ｉｎ  Ｐａｃｋａｇｅ（ＳＩＰ）、Ｍｕｌｔｉ  Ｃｈｉｐ  Ｐａｃｋａｇｅ（ＭＣＰ）、Ｗａｆｅｒ−ｌｅｖｅｌ  Ｆａｂｒｉｃａｔｅｄ  Ｐａｃｋａｇｅ（ＷＦＰ）、Ｗａｆｅｒ−Ｌｅｖｅｌ  Ｐｒｏｃｅｓｓｅｄ  Ｓｔａｃｋ  Ｐａｃｋａｇｅ（ＷＳＰ）などのようなパッケージを利用して実装することができる。
【０１５６】
本発明の範囲または技術的思想を逸脱せず、本発明の構造を多様に修正、または変更することができることはこの分野の熟練された者に自明である。上述の内容を考慮する時、もし本発明の修正及び変更が下の請求項及び同等物の範疇内に属したら、本発明はこの発明の変更及び修正を含むと見なされる。
【符号の説明】
【０１５７】
１００  マルチビットメモリ装置
２００  メモリ制御器
３００  ホスト
【図１Ａ】
2011187154.tif 000004
【図２】
2011187154.tif 000005
【図３】
2011187154.tif 000006
【図４】
2011187154.tif 000007
【図５】
2011187154.tif 000008
【図６】
2011187154.tif 000009
【図７】
2011187154.tif 000010
【図８】
2011187154.tif 000011
【図９】
2011187154.tif 000012
【図１０】
2011187154.tif 000013
【図１１】
2011187154.tif 000014
【図１２】
2011187154.tif 000015
【図１３】
2011187154.tif 000016
【図１４】
2011187154.tif 000017
【図１５】
2011187154.tif 000018
【図１６】
2011187154.tif 000019
【図１７】
2011187154.tif 000020
【図１８】
2011187154.tif 000021
【図１９】
2011187154.tif 000022
【図２０】
2011187154.tif 000023
【図２１】
2011187154.tif 000024
【図２２Ａ】
2011187154.tif 000025
【図２２Ｂ】
2011187154.tif 000026
【図２２Ｃ】
2011187154.tif 000027
【図２２Ｄ】
2011187154.tif 000028
【図２３】
2011187154.tif 000029
【図２４】
2011187154.tif 000030
【図２５】
2011187154.tif 000031
【図２６】
2011187154.tif 000032
【図２７】
2011187154.tif 000033
【図２８】
2011187154.tif 000034
【図２９】
2011187154.tif 000035
【図３０】
2011187154.tif 000036
【図３１】
2011187154.tif 000037
【図３２】
2011187154.tif 000038
【図３３】
2011187154.tif 000039
【図３４】
2011187154.tif 000040
【図３５】
2011187154.tif 000041
【図３６】
2011187154.tif 000042
【図３７】
2011187154.tif 000043
【図１Ｂ】
2011187154.tif 000044
【図１Ｃ】
2011187154.tif 000045